diff --git a/.gitignore b/.gitignore index 4749dea19dc782532161ee51266e5a02e9b19602..7c0df64b864ec12923f4446f1045e992caf1b953 100644 --- a/.gitignore +++ b/.gitignore @@ -4,6 +4,7 @@ owncloud config/config.php config/mount.php apps/inc.php +3rdparty # just sane ignores .*.sw[po] diff --git a/.htaccess b/.htaccess index 11ee1d59f83a69f61788b8da5b3504e006543972..048a56d6389dd0b05cc0b4bd36490f125631bdaa 100755 --- a/.htaccess +++ b/.htaccess @@ -1,3 +1,11 @@ + + + +SetEnvIfNoCase ^Authorization$ "(.+)" XAUTHORIZATION=$1 +RequestHeader set XAuthorization %{XAUTHORIZATION}e env=XAUTHORIZATION + + + ErrorDocument 403 /core/templates/403.php ErrorDocument 404 /core/templates/404.php @@ -12,6 +20,7 @@ php_value memory_limit 512M RewriteEngine on RewriteRule .* - [env=HTTP_AUTHORIZATION:%{HTTP:Authorization}] RewriteRule ^.well-known/host-meta /public.php?service=host-meta [QSA,L] +RewriteRule ^.well-known/host-meta.json /public.php?service=host-meta-json [QSA,L] RewriteRule ^.well-known/carddav /remote.php/carddav/ [R] RewriteRule ^.well-known/caldav /remote.php/caldav/ [R] RewriteRule ^apps/calendar/caldav.php remote.php/caldav/ [QSA,L] @@ -19,4 +28,8 @@ RewriteRule ^apps/contacts/carddav.php remote.php/carddav/ [QSA,L] RewriteRule ^apps/([^/]*)/(.*\.(css|php))$ index.php?app=$1&getfile=$2 [QSA,L] RewriteRule ^remote/(.*) remote.php [QSA,L] + +AddType image/svg+xml svg svgz +AddEncoding gzip svgz + Options -Indexes diff --git a/3rdparty/Archive/Tar.php b/3rdparty/Archive/Tar.php deleted file mode 100644 index fd2d5d7d9b816ecc4a5f3caa4d358635a43e7566..0000000000000000000000000000000000000000 --- a/3rdparty/Archive/Tar.php +++ /dev/null @@ -1,1973 +0,0 @@ - - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * * Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * @category File_Formats - * @package Archive_Tar - * @author Vincent Blavet - * @copyright 1997-2010 The Authors - * @license http://www.opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: Tar.php 324840 2012-04-05 08:44:41Z mrook $ - * @link http://pear.php.net/package/Archive_Tar - */ - -require_once 'PEAR.php'; - -define('ARCHIVE_TAR_ATT_SEPARATOR', 90001); -define('ARCHIVE_TAR_END_BLOCK', pack("a512", '')); - -/** -* Creates a (compressed) Tar archive -* -* @package Archive_Tar -* @author Vincent Blavet -* @license http://www.opensource.org/licenses/bsd-license.php New BSD License -* @version $Revision: 324840 $ -*/ -class Archive_Tar extends PEAR -{ - /** - * @var string Name of the Tar - */ - var $_tarname=''; - - /** - * @var boolean if true, the Tar file will be gzipped - */ - var $_compress=false; - - /** - * @var string Type of compression : 'none', 'gz' or 'bz2' - */ - var $_compress_type='none'; - - /** - * @var string Explode separator - */ - var $_separator=' '; - - /** - * @var file descriptor - */ - var $_file=0; - - /** - * @var string Local Tar name of a remote Tar (http:// or ftp://) - */ - var $_temp_tarname=''; - - /** - * @var string regular expression for ignoring files or directories - */ - var $_ignore_regexp=''; - - /** - * @var object PEAR_Error object - */ - var $error_object=null; - - // {{{ constructor - /** - * Archive_Tar Class constructor. This flavour of the constructor only - * declare a new Archive_Tar object, identifying it by the name of the - * tar file. - * If the compress argument is set the tar will be read or created as a - * gzip or bz2 compressed TAR file. - * - * @param string $p_tarname The name of the tar archive to create - * @param string $p_compress can be null, 'gz' or 'bz2'. This - * parameter indicates if gzip or bz2 compression - * is required. For compatibility reason the - * boolean value 'true' means 'gz'. - * - * @access public - */ - function Archive_Tar($p_tarname, $p_compress = null) - { - $this->PEAR(); - $this->_compress = false; - $this->_compress_type = 'none'; - if (($p_compress === null) || ($p_compress == '')) { - if (@file_exists($p_tarname)) { - if ($fp = @fopen($p_tarname, "rb")) { - // look for gzip magic cookie - $data = fread($fp, 2); - fclose($fp); - if ($data == "\37\213") { - $this->_compress = true; - $this->_compress_type = 'gz'; - // No sure it's enought for a magic code .... - } elseif ($data == "BZ") { - $this->_compress = true; - $this->_compress_type = 'bz2'; - } - } - } else { - // probably a remote file or some file accessible - // through a stream interface - if (substr($p_tarname, -2) == 'gz') { - $this->_compress = true; - $this->_compress_type = 'gz'; - } elseif ((substr($p_tarname, -3) == 'bz2') || - (substr($p_tarname, -2) == 'bz')) { - $this->_compress = true; - $this->_compress_type = 'bz2'; - } - } - } else { - if (($p_compress === true) || ($p_compress == 'gz')) { - $this->_compress = true; - $this->_compress_type = 'gz'; - } else if ($p_compress == 'bz2') { - $this->_compress = true; - $this->_compress_type = 'bz2'; - } else { - $this->_error("Unsupported compression type '$p_compress'\n". - "Supported types are 'gz' and 'bz2'.\n"); - return false; - } - } - $this->_tarname = $p_tarname; - if ($this->_compress) { // assert zlib or bz2 extension support - if ($this->_compress_type == 'gz') - $extname = 'zlib'; - else if ($this->_compress_type == 'bz2') - $extname = 'bz2'; - - if (!extension_loaded($extname)) { - PEAR::loadExtension($extname); - } - if (!extension_loaded($extname)) { - $this->_error("The extension '$extname' couldn't be found.\n". - "Please make sure your version of PHP was built ". - "with '$extname' support.\n"); - return false; - } - } - } - // }}} - - // {{{ destructor - function _Archive_Tar() - { - $this->_close(); - // ----- Look for a local copy to delete - if ($this->_temp_tarname != '') - @unlink($this->_temp_tarname); - $this->_PEAR(); - } - // }}} - - // {{{ create() - /** - * This method creates the archive file and add the files / directories - * that are listed in $p_filelist. - * If a file with the same name exist and is writable, it is replaced - * by the new tar. - * The method return false and a PEAR error text. - * The $p_filelist parameter can be an array of string, each string - * representing a filename or a directory name with their path if - * needed. It can also be a single string with names separated by a - * single blank. - * For each directory added in the archive, the files and - * sub-directories are also added. - * See also createModify() method for more details. - * - * @param array $p_filelist An array of filenames and directory names, or a - * single string with names separated by a single - * blank space. - * - * @return true on success, false on error. - * @see createModify() - * @access public - */ - function create($p_filelist) - { - return $this->createModify($p_filelist, '', ''); - } - // }}} - - // {{{ add() - /** - * This method add the files / directories that are listed in $p_filelist in - * the archive. If the archive does not exist it is created. - * The method return false and a PEAR error text. - * The files and directories listed are only added at the end of the archive, - * even if a file with the same name is already archived. - * See also createModify() method for more details. - * - * @param array $p_filelist An array of filenames and directory names, or a - * single string with names separated by a single - * blank space. - * - * @return true on success, false on error. - * @see createModify() - * @access public - */ - function add($p_filelist) - { - return $this->addModify($p_filelist, '', ''); - } - // }}} - - // {{{ extract() - function extract($p_path='', $p_preserve=false) - { - return $this->extractModify($p_path, '', $p_preserve); - } - // }}} - - // {{{ listContent() - function listContent() - { - $v_list_detail = array(); - - if ($this->_openRead()) { - if (!$this->_extractList('', $v_list_detail, "list", '', '')) { - unset($v_list_detail); - $v_list_detail = 0; - } - $this->_close(); - } - - return $v_list_detail; - } - // }}} - - // {{{ createModify() - /** - * This method creates the archive file and add the files / directories - * that are listed in $p_filelist. - * If the file already exists and is writable, it is replaced by the - * new tar. It is a create and not an add. If the file exists and is - * read-only or is a directory it is not replaced. The method return - * false and a PEAR error text. - * The $p_filelist parameter can be an array of string, each string - * representing a filename or a directory name with their path if - * needed. It can also be a single string with names separated by a - * single blank. - * The path indicated in $p_remove_dir will be removed from the - * memorized path of each file / directory listed when this path - * exists. By default nothing is removed (empty path '') - * The path indicated in $p_add_dir will be added at the beginning of - * the memorized path of each file / directory listed. However it can - * be set to empty ''. The adding of a path is done after the removing - * of path. - * The path add/remove ability enables the user to prepare an archive - * for extraction in a different path than the origin files are. - * See also addModify() method for file adding properties. - * - * @param array $p_filelist An array of filenames and directory names, - * or a single string with names separated by - * a single blank space. - * @param string $p_add_dir A string which contains a path to be added - * to the memorized path of each element in - * the list. - * @param string $p_remove_dir A string which contains a path to be - * removed from the memorized path of each - * element in the list, when relevant. - * - * @return boolean true on success, false on error. - * @access public - * @see addModify() - */ - function createModify($p_filelist, $p_add_dir, $p_remove_dir='') - { - $v_result = true; - - if (!$this->_openWrite()) - return false; - - if ($p_filelist != '') { - if (is_array($p_filelist)) - $v_list = $p_filelist; - elseif (is_string($p_filelist)) - $v_list = explode($this->_separator, $p_filelist); - else { - $this->_cleanFile(); - $this->_error('Invalid file list'); - return false; - } - - $v_result = $this->_addList($v_list, $p_add_dir, $p_remove_dir); - } - - if ($v_result) { - $this->_writeFooter(); - $this->_close(); - } else - $this->_cleanFile(); - - return $v_result; - } - // }}} - - // {{{ addModify() - /** - * This method add the files / directories listed in $p_filelist at the - * end of the existing archive. If the archive does not yet exists it - * is created. - * The $p_filelist parameter can be an array of string, each string - * representing a filename or a directory name with their path if - * needed. It can also be a single string with names separated by a - * single blank. - * The path indicated in $p_remove_dir will be removed from the - * memorized path of each file / directory listed when this path - * exists. By default nothing is removed (empty path '') - * The path indicated in $p_add_dir will be added at the beginning of - * the memorized path of each file / directory listed. However it can - * be set to empty ''. The adding of a path is done after the removing - * of path. - * The path add/remove ability enables the user to prepare an archive - * for extraction in a different path than the origin files are. - * If a file/dir is already in the archive it will only be added at the - * end of the archive. There is no update of the existing archived - * file/dir. However while extracting the archive, the last file will - * replace the first one. This results in a none optimization of the - * archive size. - * If a file/dir does not exist the file/dir is ignored. However an - * error text is send to PEAR error. - * If a file/dir is not readable the file/dir is ignored. However an - * error text is send to PEAR error. - * - * @param array $p_filelist An array of filenames and directory - * names, or a single string with names - * separated by a single blank space. - * @param string $p_add_dir A string which contains a path to be - * added to the memorized path of each - * element in the list. - * @param string $p_remove_dir A string which contains a path to be - * removed from the memorized path of - * each element in the list, when - * relevant. - * - * @return true on success, false on error. - * @access public - */ - function addModify($p_filelist, $p_add_dir, $p_remove_dir='') - { - $v_result = true; - - if (!$this->_isArchive()) - $v_result = $this->createModify($p_filelist, $p_add_dir, - $p_remove_dir); - else { - if (is_array($p_filelist)) - $v_list = $p_filelist; - elseif (is_string($p_filelist)) - $v_list = explode($this->_separator, $p_filelist); - else { - $this->_error('Invalid file list'); - return false; - } - - $v_result = $this->_append($v_list, $p_add_dir, $p_remove_dir); - } - - return $v_result; - } - // }}} - - // {{{ addString() - /** - * This method add a single string as a file at the - * end of the existing archive. If the archive does not yet exists it - * is created. - * - * @param string $p_filename A string which contains the full - * filename path that will be associated - * with the string. - * @param string $p_string The content of the file added in - * the archive. - * - * @return true on success, false on error. - * @access public - */ - function addString($p_filename, $p_string) - { - $v_result = true; - - if (!$this->_isArchive()) { - if (!$this->_openWrite()) { - return false; - } - $this->_close(); - } - - if (!$this->_openAppend()) - return false; - - // Need to check the get back to the temporary file ? .... - $v_result = $this->_addString($p_filename, $p_string); - - $this->_writeFooter(); - - $this->_close(); - - return $v_result; - } - // }}} - - // {{{ extractModify() - /** - * This method extract all the content of the archive in the directory - * indicated by $p_path. When relevant the memorized path of the - * files/dir can be modified by removing the $p_remove_path path at the - * beginning of the file/dir path. - * While extracting a file, if the directory path does not exists it is - * created. - * While extracting a file, if the file already exists it is replaced - * without looking for last modification date. - * While extracting a file, if the file already exists and is write - * protected, the extraction is aborted. - * While extracting a file, if a directory with the same name already - * exists, the extraction is aborted. - * While extracting a directory, if a file with the same name already - * exists, the extraction is aborted. - * While extracting a file/directory if the destination directory exist - * and is write protected, or does not exist but can not be created, - * the extraction is aborted. - * If after extraction an extracted file does not show the correct - * stored file size, the extraction is aborted. - * When the extraction is aborted, a PEAR error text is set and false - * is returned. However the result can be a partial extraction that may - * need to be manually cleaned. - * - * @param string $p_path The path of the directory where the - * files/dir need to by extracted. - * @param string $p_remove_path Part of the memorized path that can be - * removed if present at the beginning of - * the file/dir path. - * @param boolean $p_preserve Preserve user/group ownership of files - * - * @return boolean true on success, false on error. - * @access public - * @see extractList() - */ - function extractModify($p_path, $p_remove_path, $p_preserve=false) - { - $v_result = true; - $v_list_detail = array(); - - if ($v_result = $this->_openRead()) { - $v_result = $this->_extractList($p_path, $v_list_detail, - "complete", 0, $p_remove_path, $p_preserve); - $this->_close(); - } - - return $v_result; - } - // }}} - - // {{{ extractInString() - /** - * This method extract from the archive one file identified by $p_filename. - * The return value is a string with the file content, or NULL on error. - * - * @param string $p_filename The path of the file to extract in a string. - * - * @return a string with the file content or NULL. - * @access public - */ - function extractInString($p_filename) - { - if ($this->_openRead()) { - $v_result = $this->_extractInString($p_filename); - $this->_close(); - } else { - $v_result = null; - } - - return $v_result; - } - // }}} - - // {{{ extractList() - /** - * This method extract from the archive only the files indicated in the - * $p_filelist. These files are extracted in the current directory or - * in the directory indicated by the optional $p_path parameter. - * If indicated the $p_remove_path can be used in the same way as it is - * used in extractModify() method. - * - * @param array $p_filelist An array of filenames and directory names, - * or a single string with names separated - * by a single blank space. - * @param string $p_path The path of the directory where the - * files/dir need to by extracted. - * @param string $p_remove_path Part of the memorized path that can be - * removed if present at the beginning of - * the file/dir path. - * @param boolean $p_preserve Preserve user/group ownership of files - * - * @return true on success, false on error. - * @access public - * @see extractModify() - */ - function extractList($p_filelist, $p_path='', $p_remove_path='', $p_preserve=false) - { - $v_result = true; - $v_list_detail = array(); - - if (is_array($p_filelist)) - $v_list = $p_filelist; - elseif (is_string($p_filelist)) - $v_list = explode($this->_separator, $p_filelist); - else { - $this->_error('Invalid string list'); - return false; - } - - if ($v_result = $this->_openRead()) { - $v_result = $this->_extractList($p_path, $v_list_detail, "partial", - $v_list, $p_remove_path, $p_preserve); - $this->_close(); - } - - return $v_result; - } - // }}} - - // {{{ setAttribute() - /** - * This method set specific attributes of the archive. It uses a variable - * list of parameters, in the format attribute code + attribute values : - * $arch->setAttribute(ARCHIVE_TAR_ATT_SEPARATOR, ','); - * - * @param mixed $argv variable list of attributes and values - * - * @return true on success, false on error. - * @access public - */ - function setAttribute() - { - $v_result = true; - - // ----- Get the number of variable list of arguments - if (($v_size = func_num_args()) == 0) { - return true; - } - - // ----- Get the arguments - $v_att_list = &func_get_args(); - - // ----- Read the attributes - $i=0; - while ($i<$v_size) { - - // ----- Look for next option - switch ($v_att_list[$i]) { - // ----- Look for options that request a string value - case ARCHIVE_TAR_ATT_SEPARATOR : - // ----- Check the number of parameters - if (($i+1) >= $v_size) { - $this->_error('Invalid number of parameters for ' - .'attribute ARCHIVE_TAR_ATT_SEPARATOR'); - return false; - } - - // ----- Get the value - $this->_separator = $v_att_list[$i+1]; - $i++; - break; - - default : - $this->_error('Unknow attribute code '.$v_att_list[$i].''); - return false; - } - - // ----- Next attribute - $i++; - } - - return $v_result; - } - // }}} - - // {{{ setIgnoreRegexp() - /** - * This method sets the regular expression for ignoring files and directories - * at import, for example: - * $arch->setIgnoreRegexp("#CVS|\.svn#"); - * - * @param string $regexp regular expression defining which files or directories to ignore - * - * @access public - */ - function setIgnoreRegexp($regexp) - { - $this->_ignore_regexp = $regexp; - } - // }}} - - // {{{ setIgnoreList() - /** - * This method sets the regular expression for ignoring all files and directories - * matching the filenames in the array list at import, for example: - * $arch->setIgnoreList(array('CVS', '.svn', 'bin/tool')); - * - * @param array $list a list of file or directory names to ignore - * - * @access public - */ - function setIgnoreList($list) - { - $regexp = str_replace(array('#', '.', '^', '$'), array('\#', '\.', '\^', '\$'), $list); - $regexp = '#/'.join('$|/', $list).'#'; - $this->setIgnoreRegexp($regexp); - } - // }}} - - // {{{ _error() - function _error($p_message) - { - $this->error_object = &$this->raiseError($p_message); - } - // }}} - - // {{{ _warning() - function _warning($p_message) - { - $this->error_object = &$this->raiseError($p_message); - } - // }}} - - // {{{ _isArchive() - function _isArchive($p_filename=null) - { - if ($p_filename == null) { - $p_filename = $this->_tarname; - } - clearstatcache(); - return @is_file($p_filename) && !@is_link($p_filename); - } - // }}} - - // {{{ _openWrite() - function _openWrite() - { - if ($this->_compress_type == 'gz' && function_exists('gzopen')) - $this->_file = @gzopen($this->_tarname, "wb9"); - else if ($this->_compress_type == 'bz2' && function_exists('bzopen')) - $this->_file = @bzopen($this->_tarname, "w"); - else if ($this->_compress_type == 'none') - $this->_file = @fopen($this->_tarname, "wb"); - else - $this->_error('Unknown or missing compression type (' - .$this->_compress_type.')'); - - if ($this->_file == 0) { - $this->_error('Unable to open in write mode \'' - .$this->_tarname.'\''); - return false; - } - - return true; - } - // }}} - - // {{{ _openRead() - function _openRead() - { - if (strtolower(substr($this->_tarname, 0, 7)) == 'http://') { - - // ----- Look if a local copy need to be done - if ($this->_temp_tarname == '') { - $this->_temp_tarname = uniqid('tar').'.tmp'; - if (!$v_file_from = @fopen($this->_tarname, 'rb')) { - $this->_error('Unable to open in read mode \'' - .$this->_tarname.'\''); - $this->_temp_tarname = ''; - return false; - } - if (!$v_file_to = @fopen($this->_temp_tarname, 'wb')) { - $this->_error('Unable to open in write mode \'' - .$this->_temp_tarname.'\''); - $this->_temp_tarname = ''; - return false; - } - while ($v_data = @fread($v_file_from, 1024)) - @fwrite($v_file_to, $v_data); - @fclose($v_file_from); - @fclose($v_file_to); - } - - // ----- File to open if the local copy - $v_filename = $this->_temp_tarname; - - } else - // ----- File to open if the normal Tar file - $v_filename = $this->_tarname; - - if ($this->_compress_type == 'gz') - $this->_file = @gzopen($v_filename, "rb"); - else if ($this->_compress_type == 'bz2') - $this->_file = @bzopen($v_filename, "r"); - else if ($this->_compress_type == 'none') - $this->_file = @fopen($v_filename, "rb"); - else - $this->_error('Unknown or missing compression type (' - .$this->_compress_type.')'); - - if ($this->_file == 0) { - $this->_error('Unable to open in read mode \''.$v_filename.'\''); - return false; - } - - return true; - } - // }}} - - // {{{ _openReadWrite() - function _openReadWrite() - { - if ($this->_compress_type == 'gz') - $this->_file = @gzopen($this->_tarname, "r+b"); - else if ($this->_compress_type == 'bz2') { - $this->_error('Unable to open bz2 in read/write mode \'' - .$this->_tarname.'\' (limitation of bz2 extension)'); - return false; - } else if ($this->_compress_type == 'none') - $this->_file = @fopen($this->_tarname, "r+b"); - else - $this->_error('Unknown or missing compression type (' - .$this->_compress_type.')'); - - if ($this->_file == 0) { - $this->_error('Unable to open in read/write mode \'' - .$this->_tarname.'\''); - return false; - } - - return true; - } - // }}} - - // {{{ _close() - function _close() - { - //if (isset($this->_file)) { - if (is_resource($this->_file)) { - if ($this->_compress_type == 'gz') - @gzclose($this->_file); - else if ($this->_compress_type == 'bz2') - @bzclose($this->_file); - else if ($this->_compress_type == 'none') - @fclose($this->_file); - else - $this->_error('Unknown or missing compression type (' - .$this->_compress_type.')'); - - $this->_file = 0; - } - - // ----- Look if a local copy need to be erase - // Note that it might be interesting to keep the url for a time : ToDo - if ($this->_temp_tarname != '') { - @unlink($this->_temp_tarname); - $this->_temp_tarname = ''; - } - - return true; - } - // }}} - - // {{{ _cleanFile() - function _cleanFile() - { - $this->_close(); - - // ----- Look for a local copy - if ($this->_temp_tarname != '') { - // ----- Remove the local copy but not the remote tarname - @unlink($this->_temp_tarname); - $this->_temp_tarname = ''; - } else { - // ----- Remove the local tarname file - @unlink($this->_tarname); - } - $this->_tarname = ''; - - return true; - } - // }}} - - // {{{ _writeBlock() - function _writeBlock($p_binary_data, $p_len=null) - { - if (is_resource($this->_file)) { - if ($p_len === null) { - if ($this->_compress_type == 'gz') - @gzputs($this->_file, $p_binary_data); - else if ($this->_compress_type == 'bz2') - @bzwrite($this->_file, $p_binary_data); - else if ($this->_compress_type == 'none') - @fputs($this->_file, $p_binary_data); - else - $this->_error('Unknown or missing compression type (' - .$this->_compress_type.')'); - } else { - if ($this->_compress_type == 'gz') - @gzputs($this->_file, $p_binary_data, $p_len); - else if ($this->_compress_type == 'bz2') - @bzwrite($this->_file, $p_binary_data, $p_len); - else if ($this->_compress_type == 'none') - @fputs($this->_file, $p_binary_data, $p_len); - else - $this->_error('Unknown or missing compression type (' - .$this->_compress_type.')'); - - } - } - return true; - } - // }}} - - // {{{ _readBlock() - function _readBlock() - { - $v_block = null; - if (is_resource($this->_file)) { - if ($this->_compress_type == 'gz') - $v_block = @gzread($this->_file, 512); - else if ($this->_compress_type == 'bz2') - $v_block = @bzread($this->_file, 512); - else if ($this->_compress_type == 'none') - $v_block = @fread($this->_file, 512); - else - $this->_error('Unknown or missing compression type (' - .$this->_compress_type.')'); - } - return $v_block; - } - // }}} - - // {{{ _jumpBlock() - function _jumpBlock($p_len=null) - { - if (is_resource($this->_file)) { - if ($p_len === null) - $p_len = 1; - - if ($this->_compress_type == 'gz') { - @gzseek($this->_file, gztell($this->_file)+($p_len*512)); - } - else if ($this->_compress_type == 'bz2') { - // ----- Replace missing bztell() and bzseek() - for ($i=0; $i<$p_len; $i++) - $this->_readBlock(); - } else if ($this->_compress_type == 'none') - @fseek($this->_file, $p_len*512, SEEK_CUR); - else - $this->_error('Unknown or missing compression type (' - .$this->_compress_type.')'); - - } - return true; - } - // }}} - - // {{{ _writeFooter() - function _writeFooter() - { - if (is_resource($this->_file)) { - // ----- Write the last 0 filled block for end of archive - $v_binary_data = pack('a1024', ''); - $this->_writeBlock($v_binary_data); - } - return true; - } - // }}} - - // {{{ _addList() - function _addList($p_list, $p_add_dir, $p_remove_dir) - { - $v_result=true; - $v_header = array(); - - // ----- Remove potential windows directory separator - $p_add_dir = $this->_translateWinPath($p_add_dir); - $p_remove_dir = $this->_translateWinPath($p_remove_dir, false); - - if (!$this->_file) { - $this->_error('Invalid file descriptor'); - return false; - } - - if (sizeof($p_list) == 0) - return true; - - foreach ($p_list as $v_filename) { - if (!$v_result) { - break; - } - - // ----- Skip the current tar name - if ($v_filename == $this->_tarname) - continue; - - if ($v_filename == '') - continue; - - // ----- ignore files and directories matching the ignore regular expression - if ($this->_ignore_regexp && preg_match($this->_ignore_regexp, '/'.$v_filename)) { - $this->_warning("File '$v_filename' ignored"); - continue; - } - - if (!file_exists($v_filename) && !is_link($v_filename)) { - $this->_warning("File '$v_filename' does not exist"); - continue; - } - - // ----- Add the file or directory header - if (!$this->_addFile($v_filename, $v_header, $p_add_dir, $p_remove_dir)) - return false; - - if (@is_dir($v_filename) && !@is_link($v_filename)) { - if (!($p_hdir = opendir($v_filename))) { - $this->_warning("Directory '$v_filename' can not be read"); - continue; - } - while (false !== ($p_hitem = readdir($p_hdir))) { - if (($p_hitem != '.') && ($p_hitem != '..')) { - if ($v_filename != ".") - $p_temp_list[0] = $v_filename.'/'.$p_hitem; - else - $p_temp_list[0] = $p_hitem; - - $v_result = $this->_addList($p_temp_list, - $p_add_dir, - $p_remove_dir); - } - } - - unset($p_temp_list); - unset($p_hdir); - unset($p_hitem); - } - } - - return $v_result; - } - // }}} - - // {{{ _addFile() - function _addFile($p_filename, &$p_header, $p_add_dir, $p_remove_dir, $v_stored_filename=null) - { - if (!$this->_file) { - $this->_error('Invalid file descriptor'); - return false; - } - - if ($p_filename == '') { - $this->_error('Invalid file name'); - return false; - } - - // ownCloud change to make it possible to specify the filename to use - if(is_null($v_stored_filename)) { - // ----- Calculate the stored filename - $p_filename = $this->_translateWinPath($p_filename, false); - $v_stored_filename = $p_filename; - if (strcmp($p_filename, $p_remove_dir) == 0) { - return true; - } - if ($p_remove_dir != '') { - if (substr($p_remove_dir, -1) != '/') - $p_remove_dir .= '/'; - - if (substr($p_filename, 0, strlen($p_remove_dir)) == $p_remove_dir) - $v_stored_filename = substr($p_filename, strlen($p_remove_dir)); - } - $v_stored_filename = $this->_translateWinPath($v_stored_filename); - if ($p_add_dir != '') { - if (substr($p_add_dir, -1) == '/') - $v_stored_filename = $p_add_dir.$v_stored_filename; - else - $v_stored_filename = $p_add_dir.'/'.$v_stored_filename; - } - - $v_stored_filename = $this->_pathReduction($v_stored_filename); - } - - if ($this->_isArchive($p_filename)) { - if (($v_file = @fopen($p_filename, "rb")) == 0) { - $this->_warning("Unable to open file '".$p_filename - ."' in binary read mode"); - return true; - } - - if (!$this->_writeHeader($p_filename, $v_stored_filename)) - return false; - - while (($v_buffer = fread($v_file, 512)) != '') { - $v_binary_data = pack("a512", "$v_buffer"); - $this->_writeBlock($v_binary_data); - } - - fclose($v_file); - - } else { - // ----- Only header for dir - if (!$this->_writeHeader($p_filename, $v_stored_filename)) - return false; - } - - return true; - } - // }}} - - // {{{ _addString() - function _addString($p_filename, $p_string) - { - if (!$this->_file) { - $this->_error('Invalid file descriptor'); - return false; - } - - if ($p_filename == '') { - $this->_error('Invalid file name'); - return false; - } - - // ----- Calculate the stored filename - $p_filename = $this->_translateWinPath($p_filename, false);; - - if (!$this->_writeHeaderBlock($p_filename, strlen($p_string), - time(), 384, "", 0, 0)) - return false; - - $i=0; - while (($v_buffer = substr($p_string, (($i++)*512), 512)) != '') { - $v_binary_data = pack("a512", $v_buffer); - $this->_writeBlock($v_binary_data); - } - - return true; - } - // }}} - - // {{{ _writeHeader() - function _writeHeader($p_filename, $p_stored_filename) - { - if ($p_stored_filename == '') - $p_stored_filename = $p_filename; - $v_reduce_filename = $this->_pathReduction($p_stored_filename); - - if (strlen($v_reduce_filename) > 99) { - if (!$this->_writeLongHeader($v_reduce_filename)) - return false; - } - - $v_info = lstat($p_filename); - $v_uid = sprintf("%07s", DecOct($v_info[4])); - $v_gid = sprintf("%07s", DecOct($v_info[5])); - $v_perms = sprintf("%07s", DecOct($v_info['mode'] & 000777)); - - $v_mtime = sprintf("%011s", DecOct($v_info['mtime'])); - - $v_linkname = ''; - - if (@is_link($p_filename)) { - $v_typeflag = '2'; - $v_linkname = readlink($p_filename); - $v_size = sprintf("%011s", DecOct(0)); - } elseif (@is_dir($p_filename)) { - $v_typeflag = "5"; - $v_size = sprintf("%011s", DecOct(0)); - } else { - $v_typeflag = '0'; - clearstatcache(); - $v_size = sprintf("%011s", DecOct($v_info['size'])); - } - - $v_magic = 'ustar '; - - $v_version = ' '; - - if (function_exists('posix_getpwuid')) - { - $userinfo = posix_getpwuid($v_info[4]); - $groupinfo = posix_getgrgid($v_info[5]); - - $v_uname = $userinfo['name']; - $v_gname = $groupinfo['name']; - } - else - { - $v_uname = ''; - $v_gname = ''; - } - - $v_devmajor = ''; - - $v_devminor = ''; - - $v_prefix = ''; - - $v_binary_data_first = pack("a100a8a8a8a12a12", - $v_reduce_filename, $v_perms, $v_uid, - $v_gid, $v_size, $v_mtime); - $v_binary_data_last = pack("a1a100a6a2a32a32a8a8a155a12", - $v_typeflag, $v_linkname, $v_magic, - $v_version, $v_uname, $v_gname, - $v_devmajor, $v_devminor, $v_prefix, ''); - - // ----- Calculate the checksum - $v_checksum = 0; - // ..... First part of the header - for ($i=0; $i<148; $i++) - $v_checksum += ord(substr($v_binary_data_first,$i,1)); - // ..... Ignore the checksum value and replace it by ' ' (space) - for ($i=148; $i<156; $i++) - $v_checksum += ord(' '); - // ..... Last part of the header - for ($i=156, $j=0; $i<512; $i++, $j++) - $v_checksum += ord(substr($v_binary_data_last,$j,1)); - - // ----- Write the first 148 bytes of the header in the archive - $this->_writeBlock($v_binary_data_first, 148); - - // ----- Write the calculated checksum - $v_checksum = sprintf("%06s ", DecOct($v_checksum)); - $v_binary_data = pack("a8", $v_checksum); - $this->_writeBlock($v_binary_data, 8); - - // ----- Write the last 356 bytes of the header in the archive - $this->_writeBlock($v_binary_data_last, 356); - - return true; - } - // }}} - - // {{{ _writeHeaderBlock() - function _writeHeaderBlock($p_filename, $p_size, $p_mtime=0, $p_perms=0, - $p_type='', $p_uid=0, $p_gid=0) - { - $p_filename = $this->_pathReduction($p_filename); - - if (strlen($p_filename) > 99) { - if (!$this->_writeLongHeader($p_filename)) - return false; - } - - if ($p_type == "5") { - $v_size = sprintf("%011s", DecOct(0)); - } else { - $v_size = sprintf("%011s", DecOct($p_size)); - } - - $v_uid = sprintf("%07s", DecOct($p_uid)); - $v_gid = sprintf("%07s", DecOct($p_gid)); - $v_perms = sprintf("%07s", DecOct($p_perms & 000777)); - - $v_mtime = sprintf("%11s", DecOct($p_mtime)); - - $v_linkname = ''; - - $v_magic = 'ustar '; - - $v_version = ' '; - - if (function_exists('posix_getpwuid')) - { - $userinfo = posix_getpwuid($p_uid); - $groupinfo = posix_getgrgid($p_gid); - - $v_uname = $userinfo['name']; - $v_gname = $groupinfo['name']; - } - else - { - $v_uname = ''; - $v_gname = ''; - } - - $v_devmajor = ''; - - $v_devminor = ''; - - $v_prefix = ''; - - $v_binary_data_first = pack("a100a8a8a8a12A12", - $p_filename, $v_perms, $v_uid, $v_gid, - $v_size, $v_mtime); - $v_binary_data_last = pack("a1a100a6a2a32a32a8a8a155a12", - $p_type, $v_linkname, $v_magic, - $v_version, $v_uname, $v_gname, - $v_devmajor, $v_devminor, $v_prefix, ''); - - // ----- Calculate the checksum - $v_checksum = 0; - // ..... First part of the header - for ($i=0; $i<148; $i++) - $v_checksum += ord(substr($v_binary_data_first,$i,1)); - // ..... Ignore the checksum value and replace it by ' ' (space) - for ($i=148; $i<156; $i++) - $v_checksum += ord(' '); - // ..... Last part of the header - for ($i=156, $j=0; $i<512; $i++, $j++) - $v_checksum += ord(substr($v_binary_data_last,$j,1)); - - // ----- Write the first 148 bytes of the header in the archive - $this->_writeBlock($v_binary_data_first, 148); - - // ----- Write the calculated checksum - $v_checksum = sprintf("%06s ", DecOct($v_checksum)); - $v_binary_data = pack("a8", $v_checksum); - $this->_writeBlock($v_binary_data, 8); - - // ----- Write the last 356 bytes of the header in the archive - $this->_writeBlock($v_binary_data_last, 356); - - return true; - } - // }}} - - // {{{ _writeLongHeader() - function _writeLongHeader($p_filename) - { - $v_size = sprintf("%11s ", DecOct(strlen($p_filename))); - - $v_typeflag = 'L'; - - $v_linkname = ''; - - $v_magic = ''; - - $v_version = ''; - - $v_uname = ''; - - $v_gname = ''; - - $v_devmajor = ''; - - $v_devminor = ''; - - $v_prefix = ''; - - $v_binary_data_first = pack("a100a8a8a8a12a12", - '././@LongLink', 0, 0, 0, $v_size, 0); - $v_binary_data_last = pack("a1a100a6a2a32a32a8a8a155a12", - $v_typeflag, $v_linkname, $v_magic, - $v_version, $v_uname, $v_gname, - $v_devmajor, $v_devminor, $v_prefix, ''); - - // ----- Calculate the checksum - $v_checksum = 0; - // ..... First part of the header - for ($i=0; $i<148; $i++) - $v_checksum += ord(substr($v_binary_data_first,$i,1)); - // ..... Ignore the checksum value and replace it by ' ' (space) - for ($i=148; $i<156; $i++) - $v_checksum += ord(' '); - // ..... Last part of the header - for ($i=156, $j=0; $i<512; $i++, $j++) - $v_checksum += ord(substr($v_binary_data_last,$j,1)); - - // ----- Write the first 148 bytes of the header in the archive - $this->_writeBlock($v_binary_data_first, 148); - - // ----- Write the calculated checksum - $v_checksum = sprintf("%06s ", DecOct($v_checksum)); - $v_binary_data = pack("a8", $v_checksum); - $this->_writeBlock($v_binary_data, 8); - - // ----- Write the last 356 bytes of the header in the archive - $this->_writeBlock($v_binary_data_last, 356); - - // ----- Write the filename as content of the block - $i=0; - while (($v_buffer = substr($p_filename, (($i++)*512), 512)) != '') { - $v_binary_data = pack("a512", "$v_buffer"); - $this->_writeBlock($v_binary_data); - } - - return true; - } - // }}} - - // {{{ _readHeader() - function _readHeader($v_binary_data, &$v_header) - { - if (strlen($v_binary_data)==0) { - $v_header['filename'] = ''; - return true; - } - - if (strlen($v_binary_data) != 512) { - $v_header['filename'] = ''; - $this->_error('Invalid block size : '.strlen($v_binary_data)); - return false; - } - - if (!is_array($v_header)) { - $v_header = array(); - } - // ----- Calculate the checksum - $v_checksum = 0; - // ..... First part of the header - for ($i=0; $i<148; $i++) - $v_checksum+=ord(substr($v_binary_data,$i,1)); - // ..... Ignore the checksum value and replace it by ' ' (space) - for ($i=148; $i<156; $i++) - $v_checksum += ord(' '); - // ..... Last part of the header - for ($i=156; $i<512; $i++) - $v_checksum+=ord(substr($v_binary_data,$i,1)); - - $v_data = unpack("a100filename/a8mode/a8uid/a8gid/a12size/a12mtime/" . - "a8checksum/a1typeflag/a100link/a6magic/a2version/" . - "a32uname/a32gname/a8devmajor/a8devminor/a131prefix", - $v_binary_data); - - if (strlen($v_data["prefix"]) > 0) { - $v_data["filename"] = "$v_data[prefix]/$v_data[filename]"; - } - - // ----- Extract the checksum - $v_header['checksum'] = OctDec(trim($v_data['checksum'])); - if ($v_header['checksum'] != $v_checksum) { - $v_header['filename'] = ''; - - // ----- Look for last block (empty block) - if (($v_checksum == 256) && ($v_header['checksum'] == 0)) - return true; - - $this->_error('Invalid checksum for file "'.$v_data['filename'] - .'" : '.$v_checksum.' calculated, ' - .$v_header['checksum'].' expected'); - return false; - } - - // ----- Extract the properties - $v_header['filename'] = $v_data['filename']; - if ($this->_maliciousFilename($v_header['filename'])) { - $this->_error('Malicious .tar detected, file "' . $v_header['filename'] . - '" will not install in desired directory tree'); - return false; - } - $v_header['mode'] = OctDec(trim($v_data['mode'])); - $v_header['uid'] = OctDec(trim($v_data['uid'])); - $v_header['gid'] = OctDec(trim($v_data['gid'])); - $v_header['size'] = OctDec(trim($v_data['size'])); - $v_header['mtime'] = OctDec(trim($v_data['mtime'])); - if (($v_header['typeflag'] = $v_data['typeflag']) == "5") { - $v_header['size'] = 0; - } - $v_header['link'] = trim($v_data['link']); - /* ----- All these fields are removed form the header because - they do not carry interesting info - $v_header[magic] = trim($v_data[magic]); - $v_header[version] = trim($v_data[version]); - $v_header[uname] = trim($v_data[uname]); - $v_header[gname] = trim($v_data[gname]); - $v_header[devmajor] = trim($v_data[devmajor]); - $v_header[devminor] = trim($v_data[devminor]); - */ - - return true; - } - // }}} - - // {{{ _maliciousFilename() - /** - * Detect and report a malicious file name - * - * @param string $file - * - * @return bool - * @access private - */ - function _maliciousFilename($file) - { - if (strpos($file, '/../') !== false) { - return true; - } - if (strpos($file, '../') === 0) { - return true; - } - return false; - } - // }}} - - // {{{ _readLongHeader() - function _readLongHeader(&$v_header) - { - $v_filename = ''; - $n = floor($v_header['size']/512); - for ($i=0; $i<$n; $i++) { - $v_content = $this->_readBlock(); - $v_filename .= $v_content; - } - if (($v_header['size'] % 512) != 0) { - $v_content = $this->_readBlock(); - $v_filename .= trim($v_content); - } - - // ----- Read the next header - $v_binary_data = $this->_readBlock(); - - if (!$this->_readHeader($v_binary_data, $v_header)) - return false; - - $v_filename = trim($v_filename); - $v_header['filename'] = $v_filename; - if ($this->_maliciousFilename($v_filename)) { - $this->_error('Malicious .tar detected, file "' . $v_filename . - '" will not install in desired directory tree'); - return false; - } - - return true; - } - // }}} - - // {{{ _extractInString() - /** - * This method extract from the archive one file identified by $p_filename. - * The return value is a string with the file content, or null on error. - * - * @param string $p_filename The path of the file to extract in a string. - * - * @return a string with the file content or null. - * @access private - */ - function _extractInString($p_filename) - { - $v_result_str = ""; - - While (strlen($v_binary_data = $this->_readBlock()) != 0) - { - if (!$this->_readHeader($v_binary_data, $v_header)) - return null; - - if ($v_header['filename'] == '') - continue; - - // ----- Look for long filename - if ($v_header['typeflag'] == 'L') { - if (!$this->_readLongHeader($v_header)) - return null; - } - - if ($v_header['filename'] == $p_filename) { - if ($v_header['typeflag'] == "5") { - $this->_error('Unable to extract in string a directory ' - .'entry {'.$v_header['filename'].'}'); - return null; - } else { - $n = floor($v_header['size']/512); - for ($i=0; $i<$n; $i++) { - $v_result_str .= $this->_readBlock(); - } - if (($v_header['size'] % 512) != 0) { - $v_content = $this->_readBlock(); - $v_result_str .= substr($v_content, 0, - ($v_header['size'] % 512)); - } - return $v_result_str; - } - } else { - $this->_jumpBlock(ceil(($v_header['size']/512))); - } - } - - return null; - } - // }}} - - // {{{ _extractList() - function _extractList($p_path, &$p_list_detail, $p_mode, - $p_file_list, $p_remove_path, $p_preserve=false) - { - $v_result=true; - $v_nb = 0; - $v_extract_all = true; - $v_listing = false; - - $p_path = $this->_translateWinPath($p_path, false); - if ($p_path == '' || (substr($p_path, 0, 1) != '/' - && substr($p_path, 0, 3) != "../" && !strpos($p_path, ':'))) { - $p_path = "./".$p_path; - } - $p_remove_path = $this->_translateWinPath($p_remove_path); - - // ----- Look for path to remove format (should end by /) - if (($p_remove_path != '') && (substr($p_remove_path, -1) != '/')) - $p_remove_path .= '/'; - $p_remove_path_size = strlen($p_remove_path); - - switch ($p_mode) { - case "complete" : - $v_extract_all = true; - $v_listing = false; - break; - case "partial" : - $v_extract_all = false; - $v_listing = false; - break; - case "list" : - $v_extract_all = false; - $v_listing = true; - break; - default : - $this->_error('Invalid extract mode ('.$p_mode.')'); - return false; - } - - clearstatcache(); - - while (strlen($v_binary_data = $this->_readBlock()) != 0) - { - $v_extract_file = FALSE; - $v_extraction_stopped = 0; - - if (!$this->_readHeader($v_binary_data, $v_header)) - return false; - - if ($v_header['filename'] == '') { - continue; - } - - // ----- Look for long filename - if ($v_header['typeflag'] == 'L') { - if (!$this->_readLongHeader($v_header)) - return false; - } - - if ((!$v_extract_all) && (is_array($p_file_list))) { - // ----- By default no unzip if the file is not found - $v_extract_file = false; - - for ($i=0; $i strlen($p_file_list[$i])) - && (substr($v_header['filename'], 0, strlen($p_file_list[$i])) - == $p_file_list[$i])) { - $v_extract_file = true; - break; - } - } - - // ----- It is a file, so compare the file names - elseif ($p_file_list[$i] == $v_header['filename']) { - $v_extract_file = true; - break; - } - } - } else { - $v_extract_file = true; - } - - // ----- Look if this file need to be extracted - if (($v_extract_file) && (!$v_listing)) - { - if (($p_remove_path != '') - && (substr($v_header['filename'], 0, $p_remove_path_size) - == $p_remove_path)) - $v_header['filename'] = substr($v_header['filename'], - $p_remove_path_size); - if (($p_path != './') && ($p_path != '/')) { - while (substr($p_path, -1) == '/') - $p_path = substr($p_path, 0, strlen($p_path)-1); - - if (substr($v_header['filename'], 0, 1) == '/') - $v_header['filename'] = $p_path.$v_header['filename']; - else - $v_header['filename'] = $p_path.'/'.$v_header['filename']; - } - if (file_exists($v_header['filename'])) { - if ( (@is_dir($v_header['filename'])) - && ($v_header['typeflag'] == '')) { - $this->_error('File '.$v_header['filename'] - .' already exists as a directory'); - return false; - } - if ( ($this->_isArchive($v_header['filename'])) - && ($v_header['typeflag'] == "5")) { - $this->_error('Directory '.$v_header['filename'] - .' already exists as a file'); - return false; - } - if (!is_writeable($v_header['filename'])) { - $this->_error('File '.$v_header['filename'] - .' already exists and is write protected'); - return false; - } - if (filemtime($v_header['filename']) > $v_header['mtime']) { - // To be completed : An error or silent no replace ? - } - } - - // ----- Check the directory availability and create it if necessary - elseif (($v_result - = $this->_dirCheck(($v_header['typeflag'] == "5" - ?$v_header['filename'] - :dirname($v_header['filename'])))) != 1) { - $this->_error('Unable to create path for '.$v_header['filename']); - return false; - } - - if ($v_extract_file) { - if ($v_header['typeflag'] == "5") { - if (!@file_exists($v_header['filename'])) { - if (!@mkdir($v_header['filename'], 0777)) { - $this->_error('Unable to create directory {' - .$v_header['filename'].'}'); - return false; - } - } - } elseif ($v_header['typeflag'] == "2") { - if (@file_exists($v_header['filename'])) { - @unlink($v_header['filename']); - } - if (!@symlink($v_header['link'], $v_header['filename'])) { - $this->_error('Unable to extract symbolic link {' - .$v_header['filename'].'}'); - return false; - } - } else { - if (($v_dest_file = @fopen($v_header['filename'], "wb")) == 0) { - $this->_error('Error while opening {'.$v_header['filename'] - .'} in write binary mode'); - return false; - } else { - $n = floor($v_header['size']/512); - for ($i=0; $i<$n; $i++) { - $v_content = $this->_readBlock(); - fwrite($v_dest_file, $v_content, 512); - } - if (($v_header['size'] % 512) != 0) { - $v_content = $this->_readBlock(); - fwrite($v_dest_file, $v_content, ($v_header['size'] % 512)); - } - - @fclose($v_dest_file); - - if ($p_preserve) { - @chown($v_header['filename'], $v_header['uid']); - @chgrp($v_header['filename'], $v_header['gid']); - } - - // ----- Change the file mode, mtime - @touch($v_header['filename'], $v_header['mtime']); - if ($v_header['mode'] & 0111) { - // make file executable, obey umask - $mode = fileperms($v_header['filename']) | (~umask() & 0111); - @chmod($v_header['filename'], $mode); - } - } - - // ----- Check the file size - clearstatcache(); - if (!is_file($v_header['filename'])) { - $this->_error('Extracted file '.$v_header['filename'] - .'does not exist. Archive may be corrupted.'); - return false; - } - - $filesize = filesize($v_header['filename']); - if ($filesize != $v_header['size']) { - $this->_error('Extracted file '.$v_header['filename'] - .' does not have the correct file size \'' - .$filesize - .'\' ('.$v_header['size'] - .' expected). Archive may be corrupted.'); - return false; - } - } - } else { - $this->_jumpBlock(ceil(($v_header['size']/512))); - } - } else { - $this->_jumpBlock(ceil(($v_header['size']/512))); - } - - /* TBC : Seems to be unused ... - if ($this->_compress) - $v_end_of_file = @gzeof($this->_file); - else - $v_end_of_file = @feof($this->_file); - */ - - if ($v_listing || $v_extract_file || $v_extraction_stopped) { - // ----- Log extracted files - if (($v_file_dir = dirname($v_header['filename'])) - == $v_header['filename']) - $v_file_dir = ''; - if ((substr($v_header['filename'], 0, 1) == '/') && ($v_file_dir == '')) - $v_file_dir = '/'; - - $p_list_detail[$v_nb++] = $v_header; - if (is_array($p_file_list) && (count($p_list_detail) == count($p_file_list))) { - return true; - } - } - } - - return true; - } - // }}} - - // {{{ _openAppend() - function _openAppend() - { - if (filesize($this->_tarname) == 0) - return $this->_openWrite(); - - if ($this->_compress) { - $this->_close(); - - if (!@rename($this->_tarname, $this->_tarname.".tmp")) { - $this->_error('Error while renaming \''.$this->_tarname - .'\' to temporary file \''.$this->_tarname - .'.tmp\''); - return false; - } - - if ($this->_compress_type == 'gz') - $v_temp_tar = @gzopen($this->_tarname.".tmp", "rb"); - elseif ($this->_compress_type == 'bz2') - $v_temp_tar = @bzopen($this->_tarname.".tmp", "r"); - - if ($v_temp_tar == 0) { - $this->_error('Unable to open file \''.$this->_tarname - .'.tmp\' in binary read mode'); - @rename($this->_tarname.".tmp", $this->_tarname); - return false; - } - - if (!$this->_openWrite()) { - @rename($this->_tarname.".tmp", $this->_tarname); - return false; - } - - if ($this->_compress_type == 'gz') { - $end_blocks = 0; - - while (!@gzeof($v_temp_tar)) { - $v_buffer = @gzread($v_temp_tar, 512); - if ($v_buffer == ARCHIVE_TAR_END_BLOCK || strlen($v_buffer) == 0) { - $end_blocks++; - // do not copy end blocks, we will re-make them - // after appending - continue; - } elseif ($end_blocks > 0) { - for ($i = 0; $i < $end_blocks; $i++) { - $this->_writeBlock(ARCHIVE_TAR_END_BLOCK); - } - $end_blocks = 0; - } - $v_binary_data = pack("a512", $v_buffer); - $this->_writeBlock($v_binary_data); - } - - @gzclose($v_temp_tar); - } - elseif ($this->_compress_type == 'bz2') { - $end_blocks = 0; - - while (strlen($v_buffer = @bzread($v_temp_tar, 512)) > 0) { - if ($v_buffer == ARCHIVE_TAR_END_BLOCK || strlen($v_buffer) == 0) { - $end_blocks++; - // do not copy end blocks, we will re-make them - // after appending - continue; - } elseif ($end_blocks > 0) { - for ($i = 0; $i < $end_blocks; $i++) { - $this->_writeBlock(ARCHIVE_TAR_END_BLOCK); - } - $end_blocks = 0; - } - $v_binary_data = pack("a512", $v_buffer); - $this->_writeBlock($v_binary_data); - } - - @bzclose($v_temp_tar); - } - - if (!@unlink($this->_tarname.".tmp")) { - $this->_error('Error while deleting temporary file \'' - .$this->_tarname.'.tmp\''); - } - - } else { - // ----- For not compressed tar, just add files before the last - // one or two 512 bytes block - if (!$this->_openReadWrite()) - return false; - - clearstatcache(); - $v_size = filesize($this->_tarname); - - // We might have zero, one or two end blocks. - // The standard is two, but we should try to handle - // other cases. - fseek($this->_file, $v_size - 1024); - if (fread($this->_file, 512) == ARCHIVE_TAR_END_BLOCK) { - fseek($this->_file, $v_size - 1024); - } - elseif (fread($this->_file, 512) == ARCHIVE_TAR_END_BLOCK) { - fseek($this->_file, $v_size - 512); - } - } - - return true; - } - // }}} - - // {{{ _append() - function _append($p_filelist, $p_add_dir='', $p_remove_dir='') - { - if (!$this->_openAppend()) - return false; - - if ($this->_addList($p_filelist, $p_add_dir, $p_remove_dir)) - $this->_writeFooter(); - - $this->_close(); - - return true; - } - // }}} - - // {{{ _dirCheck() - - /** - * Check if a directory exists and create it (including parent - * dirs) if not. - * - * @param string $p_dir directory to check - * - * @return bool true if the directory exists or was created - */ - function _dirCheck($p_dir) - { - clearstatcache(); - if ((@is_dir($p_dir)) || ($p_dir == '')) - return true; - - $p_parent_dir = dirname($p_dir); - - if (($p_parent_dir != $p_dir) && - ($p_parent_dir != '') && - (!$this->_dirCheck($p_parent_dir))) - return false; - - if (!@mkdir($p_dir, 0777)) { - $this->_error("Unable to create directory '$p_dir'"); - return false; - } - - return true; - } - - // }}} - - // {{{ _pathReduction() - - /** - * Compress path by changing for example "/dir/foo/../bar" to "/dir/bar", - * rand emove double slashes. - * - * @param string $p_dir path to reduce - * - * @return string reduced path - * - * @access private - * - */ - function _pathReduction($p_dir) - { - $v_result = ''; - - // ----- Look for not empty path - if ($p_dir != '') { - // ----- Explode path by directory names - $v_list = explode('/', $p_dir); - - // ----- Study directories from last to first - for ($i=sizeof($v_list)-1; $i>=0; $i--) { - // ----- Look for current path - if ($v_list[$i] == ".") { - // ----- Ignore this directory - // Should be the first $i=0, but no check is done - } - else if ($v_list[$i] == "..") { - // ----- Ignore it and ignore the $i-1 - $i--; - } - else if ( ($v_list[$i] == '') - && ($i!=(sizeof($v_list)-1)) - && ($i!=0)) { - // ----- Ignore only the double '//' in path, - // but not the first and last / - } else { - $v_result = $v_list[$i].($i!=(sizeof($v_list)-1)?'/' - .$v_result:''); - } - } - } - - if (defined('OS_WINDOWS') && OS_WINDOWS) { - $v_result = strtr($v_result, '\\', '/'); - } - - return $v_result; - } - - // }}} - - // {{{ _translateWinPath() - function _translateWinPath($p_path, $p_remove_disk_letter=true) - { - if (defined('OS_WINDOWS') && OS_WINDOWS) { - // ----- Look for potential disk letter - if ( ($p_remove_disk_letter) - && (($v_position = strpos($p_path, ':')) != false)) { - $p_path = substr($p_path, $v_position+1); - } - // ----- Change potential windows directory separator - if ((strpos($p_path, '\\') > 0) || (substr($p_path, 0,1) == '\\')) { - $p_path = strtr($p_path, '\\', '/'); - } - } - return $p_path; - } - // }}} - -} -?> diff --git a/3rdparty/Console/Getopt.php b/3rdparty/Console/Getopt.php deleted file mode 100644 index aec980b34d571e1ff1a28a6ce7b0aabefb42e1a1..0000000000000000000000000000000000000000 --- a/3rdparty/Console/Getopt.php +++ /dev/null @@ -1,251 +0,0 @@ - | -// +----------------------------------------------------------------------+ -// -// $Id: Getopt.php,v 1.21.4.7 2003/12/05 21:57:01 andrei Exp $ - -require_once( 'PEAR.php'); - -/** - * Command-line options parsing class. - * - * @author Andrei Zmievski - * - */ -class Console_Getopt { - /** - * Parses the command-line options. - * - * The first parameter to this function should be the list of command-line - * arguments without the leading reference to the running program. - * - * The second parameter is a string of allowed short options. Each of the - * option letters can be followed by a colon ':' to specify that the option - * requires an argument, or a double colon '::' to specify that the option - * takes an optional argument. - * - * The third argument is an optional array of allowed long options. The - * leading '--' should not be included in the option name. Options that - * require an argument should be followed by '=', and options that take an - * option argument should be followed by '=='. - * - * The return value is an array of two elements: the list of parsed - * options and the list of non-option command-line arguments. Each entry in - * the list of parsed options is a pair of elements - the first one - * specifies the option, and the second one specifies the option argument, - * if there was one. - * - * Long and short options can be mixed. - * - * 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 - * - * @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) - { - return Console_Getopt::doGetopt(2, $args, $short_options, $long_options); - } - - /** - * This function expects $args to start with the script name (POSIX-style). - * Preserved for backwards compatibility. - * @see getopt2() - */ - function getopt($args, $short_options, $long_options = null) - { - return Console_Getopt::doGetopt(1, $args, $short_options, $long_options); - } - - /** - * The actual implementation of the argument parsing code. - */ - function doGetopt($version, $args, $short_options, $long_options = null) - { - // 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(); - - settype($args, 'array'); - - if ($long_options) { - sort($long_options); - } - - /* - * Preserve backwards compatibility with callers that relied on - * erroneous POSIX fix. - */ - if ($version < 2) { - if (isset($args[0]{0}) && $args[0]{0} != '-') { - array_shift($args); - } - } - - 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. */ - if ($arg == '--') { - $non_opts = array_merge($non_opts, array_slice($args, $i + 1)); - break; - } - - if ($arg{0} != '-' || (strlen($arg) > 1 && $arg{1} == '-' && !$long_options)) { - $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)) - return $error; - } else { - $error = Console_Getopt::_parseShortOption(substr($arg, 1), $short_options, $opts, $args); - if (PEAR::isError($error)) - return $error; - } - } - - return array($opts, $non_opts); - } - - /** - * @access private - * - */ - function _parseShortOption($arg, $short_options, &$opts, &$args) - { - for ($i = 0; $i < strlen($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 (strlen($spec) > 1 && $spec{1} == ':') { - if (strlen($spec) > 2 && $spec{2} == ':') { - if ($i + 1 < strlen($arg)) { - /* Option takes an optional argument. Use the remainder of - the arg string if there is anything left. */ - $opts[] = array($opt, substr($arg, $i + 1)); - break; - } - } else { - /* Option requires an argument. Use the remainder of the arg - string if there is anything left. */ - if ($i + 1 < strlen($arg)) { - $opts[] = array($opt, substr($arg, $i + 1)); - break; - } else if (list(, $opt_arg) = each($args)) - /* Else use the next argument. */; - else - return PEAR::raiseError("Console_Getopt: option requires an argument -- $opt"); - } - } - - $opts[] = array($opt, $opt_arg); - } - } - - /** - * @access private - * - */ - function _parseLongOption($arg, $long_options, &$opts, &$args) - { - @list($opt, $opt_arg) = explode('=', $arg); - $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); - - /* Option doesn't match. Go on to the next one. */ - if ($opt_start != $opt) - continue; - - $opt_rest = substr($long_opt, $opt_len); - - /* Check that the options uniquely matches one of the allowed - options. */ - if ($opt_rest != '' && $opt{0} != '=' && - $i + 1 < count($long_options) && - $opt == substr($long_options[$i+1], 0, $opt_len)) { - return PEAR::raiseError("Console_Getopt: option --$opt is ambiguous"); - } - - if (substr($long_opt, -1) == '=') { - if (substr($long_opt, -2) != '==') { - /* 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"); - } - } - } else if ($opt_arg) { - return PEAR::raiseError("Console_Getopt: option --$opt doesn't allow an argument"); - } - - $opts[] = array('--' . $opt, $opt_arg); - 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 - */ - 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?)"); - } - return $GLOBALS['HTTP_SERVER_VARS']['argv']; - } - return $_SERVER['argv']; - } - return $argv; - } - -} - -?> diff --git a/3rdparty/Crypt_Blowfish/Blowfish.php b/3rdparty/Crypt_Blowfish/Blowfish.php deleted file mode 100644 index 4ccacb963e3c535182eba8f5f74470c86abdfc6d..0000000000000000000000000000000000000000 --- a/3rdparty/Crypt_Blowfish/Blowfish.php +++ /dev/null @@ -1,317 +0,0 @@ - - * @copyright 2005 Matthew Fonda - * @license http://www.php.net/license/3_0.txt PHP License 3.0 - * @version CVS: $Id: Blowfish.php,v 1.81 2005/05/30 18:40:36 mfonda Exp $ - * @link http://pear.php.net/package/Crypt_Blowfish - */ - - -require_once 'PEAR.php'; - - -/** - * - * Example usage: - * $bf = new Crypt_Blowfish('some secret key!'); - * $encrypted = $bf->encrypt('this is some example plain text'); - * $plaintext = $bf->decrypt($encrypted); - * echo "plain text: $plaintext"; - * - * - * @category Encryption - * @package Crypt_Blowfish - * @author Matthew Fonda - * @copyright 2005 Matthew Fonda - * @license http://www.php.net/license/3_0.txt PHP License 3.0 - * @link http://pear.php.net/package/Crypt_Blowfish - * @version @package_version@ - * @access public - */ -class Crypt_Blowfish -{ - /** - * P-Array contains 18 32-bit subkeys - * - * @var array - * @access private - */ - var $_P = array(); - - - /** - * Array of four S-Blocks each containing 256 32-bit entries - * - * @var array - * @access private - */ - var $_S = array(); - - /** - * Mcrypt td resource - * - * @var resource - * @access private - */ - var $_td = null; - - /** - * Initialization vector - * - * @var string - * @access private - */ - var $_iv = null; - - - /** - * Crypt_Blowfish Constructor - * Initializes the Crypt_Blowfish object, and gives a sets - * the secret key - * - * @param string $key - * @access public - */ - function Crypt_Blowfish($key) - { - if (extension_loaded('mcrypt')) { - $this->_td = mcrypt_module_open(MCRYPT_BLOWFISH, '', 'ecb', ''); - $this->_iv = mcrypt_create_iv(8, MCRYPT_RAND); - } - $this->setKey($key); - } - - /** - * Deprecated isReady method - * - * @return bool - * @access public - * @deprecated - */ - function isReady() - { - return true; - } - - /** - * Deprecated init method - init is now a private - * method and has been replaced with _init - * - * @return bool - * @access public - * @deprecated - * @see Crypt_Blowfish::_init() - */ - function init() - { - $this->_init(); - } - - /** - * Initializes the Crypt_Blowfish object - * - * @access private - */ - function _init() - { - $defaults = new Crypt_Blowfish_DefaultKey(); - $this->_P = $defaults->P; - $this->_S = $defaults->S; - } - - /** - * Enciphers a single 64 bit block - * - * @param int &$Xl - * @param int &$Xr - * @access private - */ - function _encipher(&$Xl, &$Xr) - { - for ($i = 0; $i < 16; $i++) { - $temp = $Xl ^ $this->_P[$i]; - $Xl = ((($this->_S[0][($temp>>24) & 255] + - $this->_S[1][($temp>>16) & 255]) ^ - $this->_S[2][($temp>>8) & 255]) + - $this->_S[3][$temp & 255]) ^ $Xr; - $Xr = $temp; - } - $Xr = $Xl ^ $this->_P[16]; - $Xl = $temp ^ $this->_P[17]; - } - - - /** - * Deciphers a single 64 bit block - * - * @param int &$Xl - * @param int &$Xr - * @access private - */ - function _decipher(&$Xl, &$Xr) - { - for ($i = 17; $i > 1; $i--) { - $temp = $Xl ^ $this->_P[$i]; - $Xl = ((($this->_S[0][($temp>>24) & 255] + - $this->_S[1][($temp>>16) & 255]) ^ - $this->_S[2][($temp>>8) & 255]) + - $this->_S[3][$temp & 255]) ^ $Xr; - $Xr = $temp; - } - $Xr = $Xl ^ $this->_P[1]; - $Xl = $temp ^ $this->_P[0]; - } - - - /** - * Encrypts a string - * - * @param string $plainText - * @return string Returns cipher text on success, PEAR_Error on failure - * @access public - */ - function encrypt($plainText) - { - if (!is_string($plainText)) { - PEAR::raiseError('Plain text must be a string', 0, PEAR_ERROR_DIE); - } - - if (extension_loaded('mcrypt')) { - return mcrypt_generic($this->_td, $plainText); - } - - $cipherText = ''; - $len = strlen($plainText); - $plainText .= str_repeat(chr(0),(8 - ($len%8))%8); - for ($i = 0; $i < $len; $i += 8) { - list(,$Xl,$Xr) = unpack("N2",substr($plainText,$i,8)); - $this->_encipher($Xl, $Xr); - $cipherText .= pack("N2", $Xl, $Xr); - } - return $cipherText; - } - - - /** - * Decrypts an encrypted string - * - * @param string $cipherText - * @return string Returns plain text on success, PEAR_Error on failure - * @access public - */ - function decrypt($cipherText) - { - if (!is_string($cipherText)) { - PEAR::raiseError('Cipher text must be a string', 1, PEAR_ERROR_DIE); - } - - if (extension_loaded('mcrypt')) { - return mdecrypt_generic($this->_td, $cipherText); - } - - $plainText = ''; - $len = strlen($cipherText); - $cipherText .= str_repeat(chr(0),(8 - ($len%8))%8); - for ($i = 0; $i < $len; $i += 8) { - list(,$Xl,$Xr) = unpack("N2",substr($cipherText,$i,8)); - $this->_decipher($Xl, $Xr); - $plainText .= pack("N2", $Xl, $Xr); - } - return $plainText; - } - - - /** - * Sets the secret key - * The key must be non-zero, and less than or equal to - * 56 characters in length. - * - * @param string $key - * @return bool Returns true on success, PEAR_Error on failure - * @access public - */ - function setKey($key) - { - if (!is_string($key)) { - PEAR::raiseError('Key must be a string', 2, PEAR_ERROR_DIE); - } - - $len = strlen($key); - - if ($len > 56 || $len == 0) { - PEAR::raiseError('Key must be less than 56 characters and non-zero. Supplied key length: ' . $len, 3, PEAR_ERROR_DIE); - } - - if (extension_loaded('mcrypt')) { - mcrypt_generic_init($this->_td, $key, $this->_iv); - return true; - } - - require_once 'Blowfish/DefaultKey.php'; - $this->_init(); - - $k = 0; - $data = 0; - $datal = 0; - $datar = 0; - - for ($i = 0; $i < 18; $i++) { - $data = 0; - for ($j = 4; $j > 0; $j--) { - $data = $data << 8 | ord($key{$k}); - $k = ($k+1) % $len; - } - $this->_P[$i] ^= $data; - } - - for ($i = 0; $i <= 16; $i += 2) { - $this->_encipher($datal, $datar); - $this->_P[$i] = $datal; - $this->_P[$i+1] = $datar; - } - for ($i = 0; $i < 256; $i += 2) { - $this->_encipher($datal, $datar); - $this->_S[0][$i] = $datal; - $this->_S[0][$i+1] = $datar; - } - for ($i = 0; $i < 256; $i += 2) { - $this->_encipher($datal, $datar); - $this->_S[1][$i] = $datal; - $this->_S[1][$i+1] = $datar; - } - for ($i = 0; $i < 256; $i += 2) { - $this->_encipher($datal, $datar); - $this->_S[2][$i] = $datal; - $this->_S[2][$i+1] = $datar; - } - for ($i = 0; $i < 256; $i += 2) { - $this->_encipher($datal, $datar); - $this->_S[3][$i] = $datal; - $this->_S[3][$i+1] = $datar; - } - - return true; - } - -} - -?> diff --git a/3rdparty/Crypt_Blowfish/Blowfish/DefaultKey.php b/3rdparty/Crypt_Blowfish/Blowfish/DefaultKey.php deleted file mode 100644 index 2ff8ac788a6b62a4abde68d476c673612b8bfe01..0000000000000000000000000000000000000000 --- a/3rdparty/Crypt_Blowfish/Blowfish/DefaultKey.php +++ /dev/null @@ -1,327 +0,0 @@ - - * @copyright 2005 Matthew Fonda - * @license http://www.php.net/license/3_0.txt PHP License 3.0 - * @version CVS: $Id: DefaultKey.php,v 1.81 2005/05/30 18:40:37 mfonda Exp $ - * @link http://pear.php.net/package/Crypt_Blowfish - */ - - -/** - * Class containing default key - * - * @category Encryption - * @package Crypt_Blowfish - * @author Matthew Fonda - * @copyright 2005 Matthew Fonda - * @license http://www.php.net/license/3_0.txt PHP License 3.0 - * @link http://pear.php.net/package/Crypt_Blowfish - * @version @package_version@ - * @access public - */ -class Crypt_Blowfish_DefaultKey -{ - var $P = array(); - - var $S = array(); - - function Crypt_Blowfish_DefaultKey() - { - $this->P = array( - 0x243F6A88, 0x85A308D3, 0x13198A2E, 0x03707344, - 0xA4093822, 0x299F31D0, 0x082EFA98, 0xEC4E6C89, - 0x452821E6, 0x38D01377, 0xBE5466CF, 0x34E90C6C, - 0xC0AC29B7, 0xC97C50DD, 0x3F84D5B5, 0xB5470917, - 0x9216D5D9, 0x8979FB1B - ); - - $this->S = array( - array( - 0xD1310BA6, 0x98DFB5AC, 0x2FFD72DB, 0xD01ADFB7, - 0xB8E1AFED, 0x6A267E96, 0xBA7C9045, 0xF12C7F99, - 0x24A19947, 0xB3916CF7, 0x0801F2E2, 0x858EFC16, - 0x636920D8, 0x71574E69, 0xA458FEA3, 0xF4933D7E, - 0x0D95748F, 0x728EB658, 0x718BCD58, 0x82154AEE, - 0x7B54A41D, 0xC25A59B5, 0x9C30D539, 0x2AF26013, - 0xC5D1B023, 0x286085F0, 0xCA417918, 0xB8DB38EF, - 0x8E79DCB0, 0x603A180E, 0x6C9E0E8B, 0xB01E8A3E, - 0xD71577C1, 0xBD314B27, 0x78AF2FDA, 0x55605C60, - 0xE65525F3, 0xAA55AB94, 0x57489862, 0x63E81440, - 0x55CA396A, 0x2AAB10B6, 0xB4CC5C34, 0x1141E8CE, - 0xA15486AF, 0x7C72E993, 0xB3EE1411, 0x636FBC2A, - 0x2BA9C55D, 0x741831F6, 0xCE5C3E16, 0x9B87931E, - 0xAFD6BA33, 0x6C24CF5C, 0x7A325381, 0x28958677, - 0x3B8F4898, 0x6B4BB9AF, 0xC4BFE81B, 0x66282193, - 0x61D809CC, 0xFB21A991, 0x487CAC60, 0x5DEC8032, - 0xEF845D5D, 0xE98575B1, 0xDC262302, 0xEB651B88, - 0x23893E81, 0xD396ACC5, 0x0F6D6FF3, 0x83F44239, - 0x2E0B4482, 0xA4842004, 0x69C8F04A, 0x9E1F9B5E, - 0x21C66842, 0xF6E96C9A, 0x670C9C61, 0xABD388F0, - 0x6A51A0D2, 0xD8542F68, 0x960FA728, 0xAB5133A3, - 0x6EEF0B6C, 0x137A3BE4, 0xBA3BF050, 0x7EFB2A98, - 0xA1F1651D, 0x39AF0176, 0x66CA593E, 0x82430E88, - 0x8CEE8619, 0x456F9FB4, 0x7D84A5C3, 0x3B8B5EBE, - 0xE06F75D8, 0x85C12073, 0x401A449F, 0x56C16AA6, - 0x4ED3AA62, 0x363F7706, 0x1BFEDF72, 0x429B023D, - 0x37D0D724, 0xD00A1248, 0xDB0FEAD3, 0x49F1C09B, - 0x075372C9, 0x80991B7B, 0x25D479D8, 0xF6E8DEF7, - 0xE3FE501A, 0xB6794C3B, 0x976CE0BD, 0x04C006BA, - 0xC1A94FB6, 0x409F60C4, 0x5E5C9EC2, 0x196A2463, - 0x68FB6FAF, 0x3E6C53B5, 0x1339B2EB, 0x3B52EC6F, - 0x6DFC511F, 0x9B30952C, 0xCC814544, 0xAF5EBD09, - 0xBEE3D004, 0xDE334AFD, 0x660F2807, 0x192E4BB3, - 0xC0CBA857, 0x45C8740F, 0xD20B5F39, 0xB9D3FBDB, - 0x5579C0BD, 0x1A60320A, 0xD6A100C6, 0x402C7279, - 0x679F25FE, 0xFB1FA3CC, 0x8EA5E9F8, 0xDB3222F8, - 0x3C7516DF, 0xFD616B15, 0x2F501EC8, 0xAD0552AB, - 0x323DB5FA, 0xFD238760, 0x53317B48, 0x3E00DF82, - 0x9E5C57BB, 0xCA6F8CA0, 0x1A87562E, 0xDF1769DB, - 0xD542A8F6, 0x287EFFC3, 0xAC6732C6, 0x8C4F5573, - 0x695B27B0, 0xBBCA58C8, 0xE1FFA35D, 0xB8F011A0, - 0x10FA3D98, 0xFD2183B8, 0x4AFCB56C, 0x2DD1D35B, - 0x9A53E479, 0xB6F84565, 0xD28E49BC, 0x4BFB9790, - 0xE1DDF2DA, 0xA4CB7E33, 0x62FB1341, 0xCEE4C6E8, - 0xEF20CADA, 0x36774C01, 0xD07E9EFE, 0x2BF11FB4, - 0x95DBDA4D, 0xAE909198, 0xEAAD8E71, 0x6B93D5A0, - 0xD08ED1D0, 0xAFC725E0, 0x8E3C5B2F, 0x8E7594B7, - 0x8FF6E2FB, 0xF2122B64, 0x8888B812, 0x900DF01C, - 0x4FAD5EA0, 0x688FC31C, 0xD1CFF191, 0xB3A8C1AD, - 0x2F2F2218, 0xBE0E1777, 0xEA752DFE, 0x8B021FA1, - 0xE5A0CC0F, 0xB56F74E8, 0x18ACF3D6, 0xCE89E299, - 0xB4A84FE0, 0xFD13E0B7, 0x7CC43B81, 0xD2ADA8D9, - 0x165FA266, 0x80957705, 0x93CC7314, 0x211A1477, - 0xE6AD2065, 0x77B5FA86, 0xC75442F5, 0xFB9D35CF, - 0xEBCDAF0C, 0x7B3E89A0, 0xD6411BD3, 0xAE1E7E49, - 0x00250E2D, 0x2071B35E, 0x226800BB, 0x57B8E0AF, - 0x2464369B, 0xF009B91E, 0x5563911D, 0x59DFA6AA, - 0x78C14389, 0xD95A537F, 0x207D5BA2, 0x02E5B9C5, - 0x83260376, 0x6295CFA9, 0x11C81968, 0x4E734A41, - 0xB3472DCA, 0x7B14A94A, 0x1B510052, 0x9A532915, - 0xD60F573F, 0xBC9BC6E4, 0x2B60A476, 0x81E67400, - 0x08BA6FB5, 0x571BE91F, 0xF296EC6B, 0x2A0DD915, - 0xB6636521, 0xE7B9F9B6, 0xFF34052E, 0xC5855664, - 0x53B02D5D, 0xA99F8FA1, 0x08BA4799, 0x6E85076A - ), - array( - 0x4B7A70E9, 0xB5B32944, 0xDB75092E, 0xC4192623, - 0xAD6EA6B0, 0x49A7DF7D, 0x9CEE60B8, 0x8FEDB266, - 0xECAA8C71, 0x699A17FF, 0x5664526C, 0xC2B19EE1, - 0x193602A5, 0x75094C29, 0xA0591340, 0xE4183A3E, - 0x3F54989A, 0x5B429D65, 0x6B8FE4D6, 0x99F73FD6, - 0xA1D29C07, 0xEFE830F5, 0x4D2D38E6, 0xF0255DC1, - 0x4CDD2086, 0x8470EB26, 0x6382E9C6, 0x021ECC5E, - 0x09686B3F, 0x3EBAEFC9, 0x3C971814, 0x6B6A70A1, - 0x687F3584, 0x52A0E286, 0xB79C5305, 0xAA500737, - 0x3E07841C, 0x7FDEAE5C, 0x8E7D44EC, 0x5716F2B8, - 0xB03ADA37, 0xF0500C0D, 0xF01C1F04, 0x0200B3FF, - 0xAE0CF51A, 0x3CB574B2, 0x25837A58, 0xDC0921BD, - 0xD19113F9, 0x7CA92FF6, 0x94324773, 0x22F54701, - 0x3AE5E581, 0x37C2DADC, 0xC8B57634, 0x9AF3DDA7, - 0xA9446146, 0x0FD0030E, 0xECC8C73E, 0xA4751E41, - 0xE238CD99, 0x3BEA0E2F, 0x3280BBA1, 0x183EB331, - 0x4E548B38, 0x4F6DB908, 0x6F420D03, 0xF60A04BF, - 0x2CB81290, 0x24977C79, 0x5679B072, 0xBCAF89AF, - 0xDE9A771F, 0xD9930810, 0xB38BAE12, 0xDCCF3F2E, - 0x5512721F, 0x2E6B7124, 0x501ADDE6, 0x9F84CD87, - 0x7A584718, 0x7408DA17, 0xBC9F9ABC, 0xE94B7D8C, - 0xEC7AEC3A, 0xDB851DFA, 0x63094366, 0xC464C3D2, - 0xEF1C1847, 0x3215D908, 0xDD433B37, 0x24C2BA16, - 0x12A14D43, 0x2A65C451, 0x50940002, 0x133AE4DD, - 0x71DFF89E, 0x10314E55, 0x81AC77D6, 0x5F11199B, - 0x043556F1, 0xD7A3C76B, 0x3C11183B, 0x5924A509, - 0xF28FE6ED, 0x97F1FBFA, 0x9EBABF2C, 0x1E153C6E, - 0x86E34570, 0xEAE96FB1, 0x860E5E0A, 0x5A3E2AB3, - 0x771FE71C, 0x4E3D06FA, 0x2965DCB9, 0x99E71D0F, - 0x803E89D6, 0x5266C825, 0x2E4CC978, 0x9C10B36A, - 0xC6150EBA, 0x94E2EA78, 0xA5FC3C53, 0x1E0A2DF4, - 0xF2F74EA7, 0x361D2B3D, 0x1939260F, 0x19C27960, - 0x5223A708, 0xF71312B6, 0xEBADFE6E, 0xEAC31F66, - 0xE3BC4595, 0xA67BC883, 0xB17F37D1, 0x018CFF28, - 0xC332DDEF, 0xBE6C5AA5, 0x65582185, 0x68AB9802, - 0xEECEA50F, 0xDB2F953B, 0x2AEF7DAD, 0x5B6E2F84, - 0x1521B628, 0x29076170, 0xECDD4775, 0x619F1510, - 0x13CCA830, 0xEB61BD96, 0x0334FE1E, 0xAA0363CF, - 0xB5735C90, 0x4C70A239, 0xD59E9E0B, 0xCBAADE14, - 0xEECC86BC, 0x60622CA7, 0x9CAB5CAB, 0xB2F3846E, - 0x648B1EAF, 0x19BDF0CA, 0xA02369B9, 0x655ABB50, - 0x40685A32, 0x3C2AB4B3, 0x319EE9D5, 0xC021B8F7, - 0x9B540B19, 0x875FA099, 0x95F7997E, 0x623D7DA8, - 0xF837889A, 0x97E32D77, 0x11ED935F, 0x16681281, - 0x0E358829, 0xC7E61FD6, 0x96DEDFA1, 0x7858BA99, - 0x57F584A5, 0x1B227263, 0x9B83C3FF, 0x1AC24696, - 0xCDB30AEB, 0x532E3054, 0x8FD948E4, 0x6DBC3128, - 0x58EBF2EF, 0x34C6FFEA, 0xFE28ED61, 0xEE7C3C73, - 0x5D4A14D9, 0xE864B7E3, 0x42105D14, 0x203E13E0, - 0x45EEE2B6, 0xA3AAABEA, 0xDB6C4F15, 0xFACB4FD0, - 0xC742F442, 0xEF6ABBB5, 0x654F3B1D, 0x41CD2105, - 0xD81E799E, 0x86854DC7, 0xE44B476A, 0x3D816250, - 0xCF62A1F2, 0x5B8D2646, 0xFC8883A0, 0xC1C7B6A3, - 0x7F1524C3, 0x69CB7492, 0x47848A0B, 0x5692B285, - 0x095BBF00, 0xAD19489D, 0x1462B174, 0x23820E00, - 0x58428D2A, 0x0C55F5EA, 0x1DADF43E, 0x233F7061, - 0x3372F092, 0x8D937E41, 0xD65FECF1, 0x6C223BDB, - 0x7CDE3759, 0xCBEE7460, 0x4085F2A7, 0xCE77326E, - 0xA6078084, 0x19F8509E, 0xE8EFD855, 0x61D99735, - 0xA969A7AA, 0xC50C06C2, 0x5A04ABFC, 0x800BCADC, - 0x9E447A2E, 0xC3453484, 0xFDD56705, 0x0E1E9EC9, - 0xDB73DBD3, 0x105588CD, 0x675FDA79, 0xE3674340, - 0xC5C43465, 0x713E38D8, 0x3D28F89E, 0xF16DFF20, - 0x153E21E7, 0x8FB03D4A, 0xE6E39F2B, 0xDB83ADF7 - ), - array( - 0xE93D5A68, 0x948140F7, 0xF64C261C, 0x94692934, - 0x411520F7, 0x7602D4F7, 0xBCF46B2E, 0xD4A20068, - 0xD4082471, 0x3320F46A, 0x43B7D4B7, 0x500061AF, - 0x1E39F62E, 0x97244546, 0x14214F74, 0xBF8B8840, - 0x4D95FC1D, 0x96B591AF, 0x70F4DDD3, 0x66A02F45, - 0xBFBC09EC, 0x03BD9785, 0x7FAC6DD0, 0x31CB8504, - 0x96EB27B3, 0x55FD3941, 0xDA2547E6, 0xABCA0A9A, - 0x28507825, 0x530429F4, 0x0A2C86DA, 0xE9B66DFB, - 0x68DC1462, 0xD7486900, 0x680EC0A4, 0x27A18DEE, - 0x4F3FFEA2, 0xE887AD8C, 0xB58CE006, 0x7AF4D6B6, - 0xAACE1E7C, 0xD3375FEC, 0xCE78A399, 0x406B2A42, - 0x20FE9E35, 0xD9F385B9, 0xEE39D7AB, 0x3B124E8B, - 0x1DC9FAF7, 0x4B6D1856, 0x26A36631, 0xEAE397B2, - 0x3A6EFA74, 0xDD5B4332, 0x6841E7F7, 0xCA7820FB, - 0xFB0AF54E, 0xD8FEB397, 0x454056AC, 0xBA489527, - 0x55533A3A, 0x20838D87, 0xFE6BA9B7, 0xD096954B, - 0x55A867BC, 0xA1159A58, 0xCCA92963, 0x99E1DB33, - 0xA62A4A56, 0x3F3125F9, 0x5EF47E1C, 0x9029317C, - 0xFDF8E802, 0x04272F70, 0x80BB155C, 0x05282CE3, - 0x95C11548, 0xE4C66D22, 0x48C1133F, 0xC70F86DC, - 0x07F9C9EE, 0x41041F0F, 0x404779A4, 0x5D886E17, - 0x325F51EB, 0xD59BC0D1, 0xF2BCC18F, 0x41113564, - 0x257B7834, 0x602A9C60, 0xDFF8E8A3, 0x1F636C1B, - 0x0E12B4C2, 0x02E1329E, 0xAF664FD1, 0xCAD18115, - 0x6B2395E0, 0x333E92E1, 0x3B240B62, 0xEEBEB922, - 0x85B2A20E, 0xE6BA0D99, 0xDE720C8C, 0x2DA2F728, - 0xD0127845, 0x95B794FD, 0x647D0862, 0xE7CCF5F0, - 0x5449A36F, 0x877D48FA, 0xC39DFD27, 0xF33E8D1E, - 0x0A476341, 0x992EFF74, 0x3A6F6EAB, 0xF4F8FD37, - 0xA812DC60, 0xA1EBDDF8, 0x991BE14C, 0xDB6E6B0D, - 0xC67B5510, 0x6D672C37, 0x2765D43B, 0xDCD0E804, - 0xF1290DC7, 0xCC00FFA3, 0xB5390F92, 0x690FED0B, - 0x667B9FFB, 0xCEDB7D9C, 0xA091CF0B, 0xD9155EA3, - 0xBB132F88, 0x515BAD24, 0x7B9479BF, 0x763BD6EB, - 0x37392EB3, 0xCC115979, 0x8026E297, 0xF42E312D, - 0x6842ADA7, 0xC66A2B3B, 0x12754CCC, 0x782EF11C, - 0x6A124237, 0xB79251E7, 0x06A1BBE6, 0x4BFB6350, - 0x1A6B1018, 0x11CAEDFA, 0x3D25BDD8, 0xE2E1C3C9, - 0x44421659, 0x0A121386, 0xD90CEC6E, 0xD5ABEA2A, - 0x64AF674E, 0xDA86A85F, 0xBEBFE988, 0x64E4C3FE, - 0x9DBC8057, 0xF0F7C086, 0x60787BF8, 0x6003604D, - 0xD1FD8346, 0xF6381FB0, 0x7745AE04, 0xD736FCCC, - 0x83426B33, 0xF01EAB71, 0xB0804187, 0x3C005E5F, - 0x77A057BE, 0xBDE8AE24, 0x55464299, 0xBF582E61, - 0x4E58F48F, 0xF2DDFDA2, 0xF474EF38, 0x8789BDC2, - 0x5366F9C3, 0xC8B38E74, 0xB475F255, 0x46FCD9B9, - 0x7AEB2661, 0x8B1DDF84, 0x846A0E79, 0x915F95E2, - 0x466E598E, 0x20B45770, 0x8CD55591, 0xC902DE4C, - 0xB90BACE1, 0xBB8205D0, 0x11A86248, 0x7574A99E, - 0xB77F19B6, 0xE0A9DC09, 0x662D09A1, 0xC4324633, - 0xE85A1F02, 0x09F0BE8C, 0x4A99A025, 0x1D6EFE10, - 0x1AB93D1D, 0x0BA5A4DF, 0xA186F20F, 0x2868F169, - 0xDCB7DA83, 0x573906FE, 0xA1E2CE9B, 0x4FCD7F52, - 0x50115E01, 0xA70683FA, 0xA002B5C4, 0x0DE6D027, - 0x9AF88C27, 0x773F8641, 0xC3604C06, 0x61A806B5, - 0xF0177A28, 0xC0F586E0, 0x006058AA, 0x30DC7D62, - 0x11E69ED7, 0x2338EA63, 0x53C2DD94, 0xC2C21634, - 0xBBCBEE56, 0x90BCB6DE, 0xEBFC7DA1, 0xCE591D76, - 0x6F05E409, 0x4B7C0188, 0x39720A3D, 0x7C927C24, - 0x86E3725F, 0x724D9DB9, 0x1AC15BB4, 0xD39EB8FC, - 0xED545578, 0x08FCA5B5, 0xD83D7CD3, 0x4DAD0FC4, - 0x1E50EF5E, 0xB161E6F8, 0xA28514D9, 0x6C51133C, - 0x6FD5C7E7, 0x56E14EC4, 0x362ABFCE, 0xDDC6C837, - 0xD79A3234, 0x92638212, 0x670EFA8E, 0x406000E0 - ), - array( - 0x3A39CE37, 0xD3FAF5CF, 0xABC27737, 0x5AC52D1B, - 0x5CB0679E, 0x4FA33742, 0xD3822740, 0x99BC9BBE, - 0xD5118E9D, 0xBF0F7315, 0xD62D1C7E, 0xC700C47B, - 0xB78C1B6B, 0x21A19045, 0xB26EB1BE, 0x6A366EB4, - 0x5748AB2F, 0xBC946E79, 0xC6A376D2, 0x6549C2C8, - 0x530FF8EE, 0x468DDE7D, 0xD5730A1D, 0x4CD04DC6, - 0x2939BBDB, 0xA9BA4650, 0xAC9526E8, 0xBE5EE304, - 0xA1FAD5F0, 0x6A2D519A, 0x63EF8CE2, 0x9A86EE22, - 0xC089C2B8, 0x43242EF6, 0xA51E03AA, 0x9CF2D0A4, - 0x83C061BA, 0x9BE96A4D, 0x8FE51550, 0xBA645BD6, - 0x2826A2F9, 0xA73A3AE1, 0x4BA99586, 0xEF5562E9, - 0xC72FEFD3, 0xF752F7DA, 0x3F046F69, 0x77FA0A59, - 0x80E4A915, 0x87B08601, 0x9B09E6AD, 0x3B3EE593, - 0xE990FD5A, 0x9E34D797, 0x2CF0B7D9, 0x022B8B51, - 0x96D5AC3A, 0x017DA67D, 0xD1CF3ED6, 0x7C7D2D28, - 0x1F9F25CF, 0xADF2B89B, 0x5AD6B472, 0x5A88F54C, - 0xE029AC71, 0xE019A5E6, 0x47B0ACFD, 0xED93FA9B, - 0xE8D3C48D, 0x283B57CC, 0xF8D56629, 0x79132E28, - 0x785F0191, 0xED756055, 0xF7960E44, 0xE3D35E8C, - 0x15056DD4, 0x88F46DBA, 0x03A16125, 0x0564F0BD, - 0xC3EB9E15, 0x3C9057A2, 0x97271AEC, 0xA93A072A, - 0x1B3F6D9B, 0x1E6321F5, 0xF59C66FB, 0x26DCF319, - 0x7533D928, 0xB155FDF5, 0x03563482, 0x8ABA3CBB, - 0x28517711, 0xC20AD9F8, 0xABCC5167, 0xCCAD925F, - 0x4DE81751, 0x3830DC8E, 0x379D5862, 0x9320F991, - 0xEA7A90C2, 0xFB3E7BCE, 0x5121CE64, 0x774FBE32, - 0xA8B6E37E, 0xC3293D46, 0x48DE5369, 0x6413E680, - 0xA2AE0810, 0xDD6DB224, 0x69852DFD, 0x09072166, - 0xB39A460A, 0x6445C0DD, 0x586CDECF, 0x1C20C8AE, - 0x5BBEF7DD, 0x1B588D40, 0xCCD2017F, 0x6BB4E3BB, - 0xDDA26A7E, 0x3A59FF45, 0x3E350A44, 0xBCB4CDD5, - 0x72EACEA8, 0xFA6484BB, 0x8D6612AE, 0xBF3C6F47, - 0xD29BE463, 0x542F5D9E, 0xAEC2771B, 0xF64E6370, - 0x740E0D8D, 0xE75B1357, 0xF8721671, 0xAF537D5D, - 0x4040CB08, 0x4EB4E2CC, 0x34D2466A, 0x0115AF84, - 0xE1B00428, 0x95983A1D, 0x06B89FB4, 0xCE6EA048, - 0x6F3F3B82, 0x3520AB82, 0x011A1D4B, 0x277227F8, - 0x611560B1, 0xE7933FDC, 0xBB3A792B, 0x344525BD, - 0xA08839E1, 0x51CE794B, 0x2F32C9B7, 0xA01FBAC9, - 0xE01CC87E, 0xBCC7D1F6, 0xCF0111C3, 0xA1E8AAC7, - 0x1A908749, 0xD44FBD9A, 0xD0DADECB, 0xD50ADA38, - 0x0339C32A, 0xC6913667, 0x8DF9317C, 0xE0B12B4F, - 0xF79E59B7, 0x43F5BB3A, 0xF2D519FF, 0x27D9459C, - 0xBF97222C, 0x15E6FC2A, 0x0F91FC71, 0x9B941525, - 0xFAE59361, 0xCEB69CEB, 0xC2A86459, 0x12BAA8D1, - 0xB6C1075E, 0xE3056A0C, 0x10D25065, 0xCB03A442, - 0xE0EC6E0E, 0x1698DB3B, 0x4C98A0BE, 0x3278E964, - 0x9F1F9532, 0xE0D392DF, 0xD3A0342B, 0x8971F21E, - 0x1B0A7441, 0x4BA3348C, 0xC5BE7120, 0xC37632D8, - 0xDF359F8D, 0x9B992F2E, 0xE60B6F47, 0x0FE3F11D, - 0xE54CDA54, 0x1EDAD891, 0xCE6279CF, 0xCD3E7E6F, - 0x1618B166, 0xFD2C1D05, 0x848FD2C5, 0xF6FB2299, - 0xF523F357, 0xA6327623, 0x93A83531, 0x56CCCD02, - 0xACF08162, 0x5A75EBB5, 0x6E163697, 0x88D273CC, - 0xDE966292, 0x81B949D0, 0x4C50901B, 0x71C65614, - 0xE6C6C7BD, 0x327A140A, 0x45E1D006, 0xC3F27B9A, - 0xC9AA53FD, 0x62A80F00, 0xBB25BFE2, 0x35BDD2F6, - 0x71126905, 0xB2040222, 0xB6CBCF7C, 0xCD769C2B, - 0x53113EC0, 0x1640E3D3, 0x38ABBD60, 0x2547ADF0, - 0xBA38209C, 0xF746CE76, 0x77AFA1C5, 0x20756060, - 0x85CBFE4E, 0x8AE88DD8, 0x7AAAF9B0, 0x4CF9AA7E, - 0x1948C25C, 0x02FB8A8C, 0x01C36AE4, 0xD6EBE1F9, - 0x90D4F869, 0xA65CDEA0, 0x3F09252D, 0xC208E69F, - 0xB74E6132, 0xCE77E25B, 0x578FDFE3, 0x3AC372E6 - ) - ); - } - -} - -?> diff --git a/3rdparty/Dropbox/API.php b/3rdparty/Dropbox/API.php deleted file mode 100644 index 8cdce678e1c8101d756cd72d36f4d9fbb49c18df..0000000000000000000000000000000000000000 --- a/3rdparty/Dropbox/API.php +++ /dev/null @@ -1,380 +0,0 @@ -oauth = $oauth; - $this->root = $root; - $this->useSSL = $useSSL; - if (!$this->useSSL) - { - throw new Dropbox_Exception('Dropbox REST API now requires that all requests use SSL'); - } - - } - - /** - * Returns information about the current dropbox account - * - * @return stdclass - */ - public function getAccountInfo() { - - $data = $this->oauth->fetch($this->api_url . 'account/info'); - return json_decode($data['body'],true); - - } - - /** - * Returns a file's contents - * - * @param string $path path - * @param string $root Use this to override the default root path (sandbox/dropbox) - * @return string - */ - public function getFile($path = '', $root = null) { - - if (is_null($root)) $root = $this->root; - $path = str_replace(array('%2F','~'), array('/','%7E'), rawurlencode($path)); - $result = $this->oauth->fetch($this->api_content_url . 'files/' . $root . '/' . ltrim($path,'/')); - return $result['body']; - - } - - /** - * Uploads a new file - * - * @param string $path Target path (including filename) - * @param string $file Either a path to a file or a stream resource - * @param string $root Use this to override the default root path (sandbox/dropbox) - * @return bool - */ - public function putFile($path, $file, $root = null) { - - $directory = dirname($path); - $filename = basename($path); - - if($directory==='.') $directory = ''; - $directory = str_replace(array('%2F','~'), array('/','%7E'), rawurlencode($directory)); -// $filename = str_replace('~', '%7E', rawurlencode($filename)); - if (is_null($root)) $root = $this->root; - - if (is_string($file)) { - - $file = fopen($file,'rb'); - - } elseif (!is_resource($file)) { - throw new Dropbox_Exception('File must be a file-resource or a string'); - } - $result=$this->multipartFetch($this->api_content_url . 'files/' . - $root . '/' . trim($directory,'/'), $file, $filename); - - if(!isset($result["httpStatus"]) || $result["httpStatus"] != 200) - throw new Dropbox_Exception("Uploading file to Dropbox failed"); - - return true; - } - - - /** - * Copies a file or directory from one location to another - * - * This method returns the file information of the newly created file. - * - * @param string $from source path - * @param string $to destination path - * @param string $root Use this to override the default root path (sandbox/dropbox) - * @return stdclass - */ - public function copy($from, $to, $root = null) { - - if (is_null($root)) $root = $this->root; - $response = $this->oauth->fetch($this->api_url . 'fileops/copy', array('from_path' => $from, 'to_path' => $to, 'root' => $root), 'POST'); - - return json_decode($response['body'],true); - - } - - /** - * Creates a new folder - * - * This method returns the information from the newly created directory - * - * @param string $path - * @param string $root Use this to override the default root path (sandbox/dropbox) - * @return stdclass - */ - public function createFolder($path, $root = null) { - - if (is_null($root)) $root = $this->root; - - // Making sure the path starts with a / -// $path = '/' . ltrim($path,'/'); - - $response = $this->oauth->fetch($this->api_url . 'fileops/create_folder', array('path' => $path, 'root' => $root),'POST'); - return json_decode($response['body'],true); - - } - - /** - * Deletes a file or folder. - * - * This method will return the metadata information from the deleted file or folder, if successful. - * - * @param string $path Path to new folder - * @param string $root Use this to override the default root path (sandbox/dropbox) - * @return array - */ - public function delete($path, $root = null) { - - if (is_null($root)) $root = $this->root; - $response = $this->oauth->fetch($this->api_url . 'fileops/delete', array('path' => $path, 'root' => $root), 'POST'); - return json_decode($response['body']); - - } - - /** - * Moves a file or directory to a new location - * - * This method returns the information from the newly created directory - * - * @param mixed $from Source path - * @param mixed $to destination path - * @param string $root Use this to override the default root path (sandbox/dropbox) - * @return stdclass - */ - public function move($from, $to, $root = null) { - - if (is_null($root)) $root = $this->root; - $response = $this->oauth->fetch($this->api_url . 'fileops/move', array('from_path' => rawurldecode($from), 'to_path' => rawurldecode($to), 'root' => $root), 'POST'); - - return json_decode($response['body'],true); - - } - - /** - * Returns file and directory information - * - * @param string $path Path to receive information from - * @param bool $list When set to true, this method returns information from all files in a directory. When set to false it will only return infromation from the specified directory. - * @param string $hash If a hash is supplied, this method simply returns true if nothing has changed since the last request. Good for caching. - * @param int $fileLimit Maximum number of file-information to receive - * @param string $root Use this to override the default root path (sandbox/dropbox) - * @return array|true - */ - public function getMetaData($path, $list = true, $hash = null, $fileLimit = null, $root = null) { - - if (is_null($root)) $root = $this->root; - - $args = array( - 'list' => $list, - ); - - if (!is_null($hash)) $args['hash'] = $hash; - if (!is_null($fileLimit)) $args['file_limit'] = $fileLimit; - - $path = str_replace(array('%2F','~'), array('/','%7E'), rawurlencode($path)); - $response = $this->oauth->fetch($this->api_url . 'metadata/' . $root . '/' . ltrim($path,'/'), $args); - - /* 304 is not modified */ - if ($response['httpStatus']==304) { - return true; - } else { - return json_decode($response['body'],true); - } - - } - - /** - * A way of letting you keep up with changes to files and folders in a user's Dropbox. You can periodically call /delta to get a list of "delta entries", which are instructions on how to update your local state to match the server's state. - * - * This method returns the information from the newly created directory - * - * @param string $cursor A string that is used to keep track of your current state. On the next call pass in this value to return delta entries that have been recorded since the cursor was returned. - * @return stdclass - */ - public function delta($cursor) { - - $arg['cursor'] = $cursor; - - $response = $this->oauth->fetch($this->api_url . 'delta', $arg, 'POST'); - return json_decode($response['body'],true); - - } - - /** - * Returns a thumbnail (as a string) for a file path. - * - * @param string $path Path to file - * @param string $size small, medium or large - * @param string $root Use this to override the default root path (sandbox/dropbox) - * @return string - */ - public function getThumbnail($path, $size = 'small', $root = null) { - - if (is_null($root)) $root = $this->root; - $path = str_replace(array('%2F','~'), array('/','%7E'), rawurlencode($path)); - $response = $this->oauth->fetch($this->api_content_url . 'thumbnails/' . $root . '/' . ltrim($path,'/'),array('size' => $size)); - - return $response['body']; - - } - - /** - * This method is used to generate multipart POST requests for file upload - * - * @param string $uri - * @param array $arguments - * @return bool - */ - protected function multipartFetch($uri, $file, $filename) { - - /* random string */ - $boundary = 'R50hrfBj5JYyfR3vF3wR96GPCC9Fd2q2pVMERvEaOE3D8LZTgLLbRpNwXek3'; - - $headers = array( - 'Content-Type' => 'multipart/form-data; boundary=' . $boundary, - ); - - $body="--" . $boundary . "\r\n"; - $body.="Content-Disposition: form-data; name=file; filename=".rawurldecode($filename)."\r\n"; - $body.="Content-type: application/octet-stream\r\n"; - $body.="\r\n"; - $body.=stream_get_contents($file); - $body.="\r\n"; - $body.="--" . $boundary . "--"; - - // Dropbox requires the filename to also be part of the regular arguments, so it becomes - // part of the signature. - $uri.='?file=' . $filename; - - return $this->oauth->fetch($uri, $body, 'POST', $headers); - - } - - - /** - * Search - * - * Returns metadata for all files and folders that match the search query. - * - * @added by: diszo.sasil - * - * @param string $query - * @param string $root Use this to override the default root path (sandbox/dropbox) - * @param string $path - * @return array - */ - public function search($query = '', $root = null, $path = ''){ - if (is_null($root)) $root = $this->root; - if(!empty($path)){ - $path = str_replace(array('%2F','~'), array('/','%7E'), rawurlencode($path)); - } - $response = $this->oauth->fetch($this->api_url . 'search/' . $root . '/' . ltrim($path,'/'),array('query' => $query)); - return json_decode($response['body'],true); - } - - /** - * Creates and returns a shareable link to files or folders. - * - * Note: Links created by the /shares API call expire after thirty days. - * - * @param type $path - * @param type $root - * @return type - */ - public function share($path, $root = null) { - if (is_null($root)) $root = $this->root; - $path = str_replace(array('%2F','~'), array('/','%7E'), rawurlencode($path)); - $response = $this->oauth->fetch($this->api_url. 'shares/'. $root . '/' . ltrim($path, '/'), array(), 'POST'); - return json_decode($response['body'],true); - - } - - /** - * Returns a link directly to a file. - * Similar to /shares. The difference is that this bypasses the Dropbox webserver, used to provide a preview of the file, so that you can effectively stream the contents of your media. - * - * Note: The /media link expires after four hours, allotting enough time to stream files, but not enough to leave a connection open indefinitely. - * - * @param type $path - * @param type $root - * @return type - */ - public function media($path, $root = null) { - - if (is_null($root)) $root = $this->root; - $path = str_replace(array('%2F','~'), array('/','%7E'), rawurlencode($path)); - $response = $this->oauth->fetch($this->api_url. 'media/'. $root . '/' . ltrim($path, '/'), array(), 'POST'); - return json_decode($response['body'],true); - - } - - /** - * Creates and returns a copy_ref to a file. This reference string can be used to copy that file to another user's Dropbox by passing it in as the from_copy_ref parameter on /fileops/copy. - * - * @param type $path - * @param type $root - * @return type - */ - public function copy_ref($path, $root = null) { - - if (is_null($root)) $root = $this->root; - $path = str_replace(array('%2F','~'), array('/','%7E'), rawurlencode($path)); - $response = $this->oauth->fetch($this->api_url. 'copy_ref/'. $root . '/' . ltrim($path, '/')); - return json_decode($response['body'],true); - - } - - -} diff --git a/3rdparty/Dropbox/Exception.php b/3rdparty/Dropbox/Exception.php deleted file mode 100644 index 50cbc4c79150e821841cae2cb7383a63d88b2e3b..0000000000000000000000000000000000000000 --- a/3rdparty/Dropbox/Exception.php +++ /dev/null @@ -1,15 +0,0 @@ -oauth_token = $token['token']; - $this->oauth_token_secret = $token['token_secret']; - } else { - $this->oauth_token = $token; - $this->oauth_token_secret = $token_secret; - } - - } - - /** - * Returns the oauth request tokens as an associative array. - * - * The array will contain the elements 'token' and 'token_secret'. - * - * @return array - */ - public function getToken() { - - return array( - 'token' => $this->oauth_token, - 'token_secret' => $this->oauth_token_secret, - ); - - } - - /** - * Returns the authorization url - * - * @param string $callBack Specify a callback url to automatically redirect the user back - * @return string - */ - public function getAuthorizeUrl($callBack = null) { - - // Building the redirect uri - $token = $this->getToken(); - $uri = self::URI_AUTHORIZE . '?oauth_token=' . $token['token']; - if ($callBack) $uri.='&oauth_callback=' . $callBack; - return $uri; - } - - /** - * Fetches a secured oauth url and returns the response body. - * - * @param string $uri - * @param mixed $arguments - * @param string $method - * @param array $httpHeaders - * @return string - */ - public abstract function fetch($uri, $arguments = array(), $method = 'GET', $httpHeaders = array()); - - /** - * Requests the OAuth request token. - * - * @return array - */ - abstract public function getRequestToken(); - - /** - * Requests the OAuth access tokens. - * - * @return array - */ - abstract public function getAccessToken(); - -} diff --git a/3rdparty/Dropbox/OAuth/Consumer/Dropbox.php b/3rdparty/Dropbox/OAuth/Consumer/Dropbox.php deleted file mode 100644 index 204a659de00653ec702cb27fedd7ade19653ddcd..0000000000000000000000000000000000000000 --- a/3rdparty/Dropbox/OAuth/Consumer/Dropbox.php +++ /dev/null @@ -1,37 +0,0 @@ -consumerRequest instanceof HTTP_OAuth_Consumer_Request) { - $this->consumerRequest = new HTTP_OAuth_Consumer_Request; - } - - // TODO: Change this and add in code to validate the SSL cert. - // see https://github.com/bagder/curl/blob/master/lib/mk-ca-bundle.pl - $this->consumerRequest->setConfig(array( - 'ssl_verify_peer' => false, - 'ssl_verify_host' => false - )); - - return $this->consumerRequest; - } -} diff --git a/3rdparty/Dropbox/OAuth/Curl.php b/3rdparty/Dropbox/OAuth/Curl.php deleted file mode 100644 index b75b27bb3637363910676c04fc1fcd8886b3d7cf..0000000000000000000000000000000000000000 --- a/3rdparty/Dropbox/OAuth/Curl.php +++ /dev/null @@ -1,282 +0,0 @@ -consumerKey = $consumerKey; - $this->consumerSecret = $consumerSecret; - } - - /** - * Fetches a secured oauth url and returns the response body. - * - * @param string $uri - * @param mixed $arguments - * @param string $method - * @param array $httpHeaders - * @return string - */ - public function fetch($uri, $arguments = array(), $method = 'GET', $httpHeaders = array()) { - - $uri=str_replace('http://', 'https://', $uri); // all https, upload makes problems if not - if (is_string($arguments) and strtoupper($method) == 'POST') { - preg_match("/\?file=(.*)$/i", $uri, $matches); - if (isset($matches[1])) { - $uri = str_replace($matches[0], "", $uri); - $filename = $matches[1]; - $httpHeaders=array_merge($httpHeaders,$this->getOAuthHeader($uri, array("file" => $filename), $method)); - } - } else { - $httpHeaders=array_merge($httpHeaders,$this->getOAuthHeader($uri, $arguments, $method)); - } - $ch = curl_init(); - if (strtoupper($method) == 'POST') { - curl_setopt($ch, CURLOPT_URL, $uri); - curl_setopt($ch, CURLOPT_POST, true); -// if (is_array($arguments)) -// $arguments=http_build_query($arguments); - curl_setopt($ch, CURLOPT_POSTFIELDS, $arguments); -// $httpHeaders['Content-Length']=strlen($arguments); - } else { - curl_setopt($ch, CURLOPT_URL, $uri.'?'.http_build_query($arguments)); - curl_setopt($ch, CURLOPT_POST, false); - } - curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); - curl_setopt($ch, CURLOPT_TIMEOUT, 300); - curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true); - curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2); -// curl_setopt($ch, CURLOPT_CAINFO, "rootca"); - curl_setopt($ch, CURLOPT_FRESH_CONNECT, true); - //Build header - $headers = array(); - foreach ($httpHeaders as $name => $value) { - $headers[] = "{$name}: $value"; - } - curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); - if (!ini_get('safe_mode') && !ini_get('open_basedir')) - curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true ); - if (function_exists($this->ProgressFunction) and defined('CURLOPT_PROGRESSFUNCTION')) { - curl_setopt($ch, CURLOPT_NOPROGRESS, false); - curl_setopt($ch, CURLOPT_PROGRESSFUNCTION, $this->ProgressFunction); - curl_setopt($ch, CURLOPT_BUFFERSIZE, 512); - } - $response=curl_exec($ch); - $errorno=curl_errno($ch); - $error=curl_error($ch); - $status=curl_getinfo($ch,CURLINFO_HTTP_CODE); - curl_close($ch); - - - if (!empty($errorno)) - throw new Dropbox_Exception_NotFound('Curl error: ('.$errorno.') '.$error."\n"); - - if ($status>=300) { - $body = json_decode($response,true); - switch ($status) { - // Not modified - case 304 : - return array( - 'httpStatus' => 304, - 'body' => null, - ); - break; - case 403 : - throw new Dropbox_Exception_Forbidden('Forbidden. - This could mean a bad OAuth request, or a file or folder already existing at the target location. - ' . $body["error"] . "\n"); - case 404 : - throw new Dropbox_Exception_NotFound('Resource at uri: ' . $uri . ' could not be found. ' . - $body["error"] . "\n"); - case 507 : - throw new Dropbox_Exception_OverQuota('This dropbox is full. ' . - $body["error"] . "\n"); - } - if (!empty($body["error"])) - throw new Dropbox_Exception_RequestToken('Error: ('.$status.') '.$body["error"]."\n"); - } - - return array( - 'body' => $response, - 'httpStatus' => $status - ); - } - - /** - * Returns named array with oauth parameters for further use - * @return array Array with oauth_ parameters - */ - private function getOAuthBaseParams() { - $params['oauth_version'] = '1.0'; - $params['oauth_signature_method'] = 'HMAC-SHA1'; - - $params['oauth_consumer_key'] = $this->consumerKey; - $tokens = $this->getToken(); - if (isset($tokens['token']) && $tokens['token']) { - $params['oauth_token'] = $tokens['token']; - } - $params['oauth_timestamp'] = time(); - $params['oauth_nonce'] = md5(microtime() . mt_rand()); - return $params; - } - - /** - * Creates valid Authorization header for OAuth, based on URI and Params - * - * @param string $uri - * @param array $params - * @param string $method GET or POST, standard is GET - * @param array $oAuthParams optional, pass your own oauth_params here - * @return array Array for request's headers section like - * array('Authorization' => 'OAuth ...'); - */ - private function getOAuthHeader($uri, $params, $method = 'GET', $oAuthParams = null) { - $oAuthParams = $oAuthParams ? $oAuthParams : $this->getOAuthBaseParams(); - - // create baseString to encode for the sent parameters - $baseString = $method . '&'; - $baseString .= $this->oauth_urlencode($uri) . "&"; - - // OAuth header does not include GET-Parameters - $signatureParams = array_merge($params, $oAuthParams); - - // sorting the parameters - ksort($signatureParams); - - $encodedParams = array(); - foreach ($signatureParams as $key => $value) { - $encodedParams[] = $this->oauth_urlencode($key) . '=' . $this->oauth_urlencode($value); - } - - $baseString .= $this->oauth_urlencode(implode('&', $encodedParams)); - - // encode the signature - $tokens = $this->getToken(); - $hash = $this->hash_hmac_sha1($this->consumerSecret.'&'.$tokens['token_secret'], $baseString); - $signature = base64_encode($hash); - - // add signature to oAuthParams - $oAuthParams['oauth_signature'] = $signature; - - $oAuthEncoded = array(); - foreach ($oAuthParams as $key => $value) { - $oAuthEncoded[] = $key . '="' . $this->oauth_urlencode($value) . '"'; - } - - return array('Authorization' => 'OAuth ' . implode(', ', $oAuthEncoded)); - } - - /** - * Requests the OAuth request token. - * - * @return void - */ - public function getRequestToken() { - $result = $this->fetch(self::URI_REQUEST_TOKEN, array(), 'POST'); - if ($result['httpStatus'] == "200") { - $tokens = array(); - parse_str($result['body'], $tokens); - $this->setToken($tokens['oauth_token'], $tokens['oauth_token_secret']); - return $this->getToken(); - } else { - throw new Dropbox_Exception_RequestToken('We were unable to fetch request tokens. This likely means that your consumer key and/or secret are incorrect.'); - } - } - - /** - * Requests the OAuth access tokens. - * - * This method requires the 'unauthorized' request tokens - * and, if successful will set the authorized request tokens. - * - * @return void - */ - public function getAccessToken() { - $result = $this->fetch(self::URI_ACCESS_TOKEN, array(), 'POST'); - if ($result['httpStatus'] == "200") { - $tokens = array(); - parse_str($result['body'], $tokens); - $this->setToken($tokens['oauth_token'], $tokens['oauth_token_secret']); - return $this->getToken(); - } else { - throw new Dropbox_Exception_RequestToken('We were unable to fetch request tokens. This likely means that your consumer key and/or secret are incorrect.'); - } - } - - /** - * Helper function to properly urlencode parameters. - * See http://php.net/manual/en/function.oauth-urlencode.php - * - * @param string $string - * @return string - */ - private function oauth_urlencode($string) { - return str_replace('%E7', '~', rawurlencode($string)); - } - - /** - * Hash function for hmac_sha1; uses native function if available. - * - * @param string $key - * @param string $data - * @return string - */ - private function hash_hmac_sha1($key, $data) { - if (function_exists('hash_hmac') && in_array('sha1', hash_algos())) { - return hash_hmac('sha1', $data, $key, true); - } else { - $blocksize = 64; - $hashfunc = 'sha1'; - if (strlen($key) > $blocksize) { - $key = pack('H*', $hashfunc($key)); - } - - $key = str_pad($key, $blocksize, chr(0x00)); - $ipad = str_repeat(chr(0x36), $blocksize); - $opad = str_repeat(chr(0x5c), $blocksize); - $hash = pack('H*', $hashfunc(( $key ^ $opad ) . pack('H*', $hashfunc(($key ^ $ipad) . $data)))); - - return $hash; - } - } - - -} \ No newline at end of file diff --git a/3rdparty/Dropbox/README.md b/3rdparty/Dropbox/README.md deleted file mode 100644 index 54e05db762b723c0722edaa57c13080250cb290c..0000000000000000000000000000000000000000 --- a/3rdparty/Dropbox/README.md +++ /dev/null @@ -1,31 +0,0 @@ -Dropbox-php -=========== - -This PHP library allows you to easily integrate dropbox with PHP. - -The following PHP extension is required: - -* json - -The library makes use of OAuth. At the moment you can use either of these libraries: - -[PHP OAuth extension](http://pecl.php.net/package/oauth) -[PEAR's HTTP_OAUTH package](http://pear.php.net/package/http_oauth) - -The extension is recommended, but if you can't install php extensions you should go for the pear package. -Installing ----------- - - pear channel-discover pear.dropbox-php.com - pear install dropbox-php/Dropbox-alpha - -Documentation -------------- -Check out the [documentation](http://www.dropbox-php.com/docs). - -Questions? ----------- - -[Dropbox-php Mailing list](http://groups.google.com/group/dropbox-php) -[Official Dropbox developer forum](http://forums.dropbox.com/forum.php?id=5) - diff --git a/3rdparty/Dropbox/autoload.php b/3rdparty/Dropbox/autoload.php deleted file mode 100644 index 5388ea6334a23a3e318a0e967404cafdd8827f47..0000000000000000000000000000000000000000 --- a/3rdparty/Dropbox/autoload.php +++ /dev/null @@ -1,29 +0,0 @@ -key = $key; - $this->secret = $secret; - $this->callback_url = $callback_url; - }/*}}}*/ -}/*}}}*/ - -class OAuthToken {/*{{{*/ - // access tokens and request tokens - public $key; - public $secret; - - /** - * key = the token - * secret = the token secret - */ - function __construct($key, $secret) {/*{{{*/ - $this->key = $key; - $this->secret = $secret; - }/*}}}*/ - - /** - * generates the basic string serialization of a token that a server - * would respond to request_token and access_token calls with - */ - function to_string() {/*{{{*/ - return "oauth_token=" . OAuthUtil::urlencodeRFC3986($this->key) . - "&oauth_token_secret=" . OAuthUtil::urlencodeRFC3986($this->secret); - }/*}}}*/ - - function __toString() {/*{{{*/ - return $this->to_string(); - }/*}}}*/ -}/*}}}*/ - -class OAuthSignatureMethod {/*{{{*/ - public function check_signature(&$request, $consumer, $token, $signature) { - $built = $this->build_signature($request, $consumer, $token); - return $built == $signature; - } -}/*}}}*/ - -class OAuthSignatureMethod_HMAC_SHA1 extends OAuthSignatureMethod {/*{{{*/ - function get_name() {/*{{{*/ - return "HMAC-SHA1"; - }/*}}}*/ - - public function build_signature($request, $consumer, $token, $privKey=NULL) {/*{{{*/ - $base_string = $request->get_signature_base_string(); - $request->base_string = $base_string; - - $key_parts = array( - $consumer->secret, - ($token) ? $token->secret : "" - ); - - $key_parts = array_map(array('OAuthUtil','urlencodeRFC3986'), $key_parts); - $key = implode('&', $key_parts); - - return base64_encode( hash_hmac('sha1', $base_string, $key, true)); - }/*}}}*/ -}/*}}}*/ - -class OAuthSignatureMethod_RSA_SHA1 extends OAuthSignatureMethod {/*{{{*/ - public function get_name() {/*{{{*/ - return "RSA-SHA1"; - }/*}}}*/ - - protected function fetch_public_cert(&$request) {/*{{{*/ - // not implemented yet, ideas are: - // (1) do a lookup in a table of trusted certs keyed off of consumer - // (2) fetch via http using a url provided by the requester - // (3) some sort of specific discovery code based on request - // - // either way should return a string representation of the certificate - throw Exception("fetch_public_cert not implemented"); - }/*}}}*/ - - protected function fetch_private_cert($privKey) {//&$request) {/*{{{*/ - // not implemented yet, ideas are: - // (1) do a lookup in a table of trusted certs keyed off of consumer - // - // either way should return a string representation of the certificate - throw Exception("fetch_private_cert not implemented"); - }/*}}}*/ - - public function build_signature(&$request, $consumer, $token, $privKey) {/*{{{*/ - $base_string = $request->get_signature_base_string(); - - // Fetch the private key cert based on the request - //$cert = $this->fetch_private_cert($consumer->privKey); - - //Pull the private key ID from the certificate - //$privatekeyid = openssl_get_privatekey($cert); - - // hacked in - if ($privKey == '') { - $fp = fopen($GLOBALS['PRIV_KEY_FILE'], "r"); - $privKey = fread($fp, 8192); - fclose($fp); - } - $privatekeyid = openssl_get_privatekey($privKey); - - //Check the computer signature against the one passed in the query - $ok = openssl_sign($base_string, $signature, $privatekeyid); - - //Release the key resource - openssl_free_key($privatekeyid); - - return base64_encode($signature); - } /*}}}*/ - - public function check_signature(&$request, $consumer, $token, $signature) {/*{{{*/ - $decoded_sig = base64_decode($signature); - - $base_string = $request->get_signature_base_string(); - - // Fetch the public key cert based on the request - $cert = $this->fetch_public_cert($request); - - //Pull the public key ID from the certificate - $publickeyid = openssl_get_publickey($cert); - - //Check the computer signature against the one passed in the query - $ok = openssl_verify($base_string, $decoded_sig, $publickeyid); - - //Release the key resource - openssl_free_key($publickeyid); - - return $ok == 1; - } /*}}}*/ -}/*}}}*/ - -class OAuthRequest {/*{{{*/ - private $parameters; - private $http_method; - private $http_url; - // for debug purposes - public $base_string; - public static $version = '1.0'; - - function __construct($http_method, $http_url, $parameters=NULL) {/*{{{*/ - @$parameters or $parameters = array(); - $this->parameters = $parameters; - $this->http_method = $http_method; - $this->http_url = $http_url; - }/*}}}*/ - - - /** - * attempt to build up a request from what was passed to the server - */ - public static function from_request($http_method=NULL, $http_url=NULL, $parameters=NULL) {/*{{{*/ - $scheme = (!isset($_SERVER['HTTPS']) || $_SERVER['HTTPS'] != "on") ? 'http' : 'https'; - @$http_url or $http_url = $scheme . '://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']; - @$http_method or $http_method = $_SERVER['REQUEST_METHOD']; - - $request_headers = OAuthRequest::get_headers(); - - // let the library user override things however they'd like, if they know - // which parameters to use then go for it, for example XMLRPC might want to - // do this - if ($parameters) { - $req = new OAuthRequest($http_method, $http_url, $parameters); - } - // next check for the auth header, we need to do some extra stuff - // if that is the case, namely suck in the parameters from GET or POST - // so that we can include them in the signature - else if (@substr($request_headers['Authorization'], 0, 5) == "OAuth") { - $header_parameters = OAuthRequest::split_header($request_headers['Authorization']); - if ($http_method == "GET") { - $req_parameters = $_GET; - } - else if ($http_method = "POST") { - $req_parameters = $_POST; - } - $parameters = array_merge($header_parameters, $req_parameters); - $req = new OAuthRequest($http_method, $http_url, $parameters); - } - else if ($http_method == "GET") { - $req = new OAuthRequest($http_method, $http_url, $_GET); - } - else if ($http_method == "POST") { - $req = new OAuthRequest($http_method, $http_url, $_POST); - } - return $req; - }/*}}}*/ - - /** - * pretty much a helper function to set up the request - */ - public static function from_consumer_and_token($consumer, $token, $http_method, $http_url, $parameters=NULL) {/*{{{*/ - @$parameters or $parameters = array(); - $defaults = array("oauth_version" => OAuthRequest::$version, - "oauth_nonce" => OAuthRequest::generate_nonce(), - "oauth_timestamp" => OAuthRequest::generate_timestamp(), - "oauth_consumer_key" => $consumer->key); - $parameters = array_merge($defaults, $parameters); - - if ($token) { - $parameters['oauth_token'] = $token->key; - } - - // oauth v1.0a - /*if (isset($_REQUEST['oauth_verifier'])) { - $parameters['oauth_verifier'] = $_REQUEST['oauth_verifier']; - }*/ - - - return new OAuthRequest($http_method, $http_url, $parameters); - }/*}}}*/ - - public function set_parameter($name, $value) {/*{{{*/ - $this->parameters[$name] = $value; - }/*}}}*/ - - public function get_parameter($name) {/*{{{*/ - return $this->parameters[$name]; - }/*}}}*/ - - public function get_parameters() {/*{{{*/ - return $this->parameters; - }/*}}}*/ - - /** - * Returns the normalized parameters of the request - * - * This will be all (except oauth_signature) parameters, - * sorted first by key, and if duplicate keys, then by - * value. - * - * The returned string will be all the key=value pairs - * concated by &. - * - * @return string - */ - public function get_signable_parameters() {/*{{{*/ - // Grab all parameters - $params = $this->parameters; - - // Remove oauth_signature if present - if (isset($params['oauth_signature'])) { - unset($params['oauth_signature']); - } - - // Urlencode both keys and values - $keys = array_map(array('OAuthUtil', 'urlencodeRFC3986'), array_keys($params)); - $values = array_map(array('OAuthUtil', 'urlencodeRFC3986'), array_values($params)); - $params = array_combine($keys, $values); - - // Sort by keys (natsort) - uksort($params, 'strnatcmp'); - -if(isset($params['title']) && isset($params['title-exact'])) { - $temp = $params['title-exact']; - $title = $params['title']; - - unset($params['title']); - unset($params['title-exact']); - - $params['title-exact'] = $temp; - $params['title'] = $title; -} - - // Generate key=value pairs - $pairs = array(); - foreach ($params as $key=>$value ) { - if (is_array($value)) { - // If the value is an array, it's because there are multiple - // with the same key, sort them, then add all the pairs - natsort($value); - foreach ($value as $v2) { - $pairs[] = $key . '=' . $v2; - } - } else { - $pairs[] = $key . '=' . $value; - } - } - - // Return the pairs, concated with & - return implode('&', $pairs); - }/*}}}*/ - - /** - * Returns the base string of this request - * - * The base string defined as the method, the url - * and the parameters (normalized), each urlencoded - * and the concated with &. - */ - public function get_signature_base_string() {/*{{{*/ - $parts = array( - $this->get_normalized_http_method(), - $this->get_normalized_http_url(), - $this->get_signable_parameters() - ); - - $parts = array_map(array('OAuthUtil', 'urlencodeRFC3986'), $parts); - - return implode('&', $parts); - }/*}}}*/ - - /** - * just uppercases the http method - */ - public function get_normalized_http_method() {/*{{{*/ - return strtoupper($this->http_method); - }/*}}}*/ - -/** - * parses the url and rebuilds it to be - * scheme://host/path - */ - public function get_normalized_http_url() { - $parts = parse_url($this->http_url); - - $scheme = (isset($parts['scheme'])) ? $parts['scheme'] : 'http'; - $port = (isset($parts['port'])) ? $parts['port'] : (($scheme == 'https') ? '443' : '80'); - $host = (isset($parts['host'])) ? strtolower($parts['host']) : ''; - $path = (isset($parts['path'])) ? $parts['path'] : ''; - - if (($scheme == 'https' && $port != '443') - || ($scheme == 'http' && $port != '80')) { - $host = "$host:$port"; - } - return "$scheme://$host$path"; - } - - /** - * builds a url usable for a GET request - */ - public function to_url() {/*{{{*/ - $out = $this->get_normalized_http_url() . "?"; - $out .= $this->to_postdata(); - return $out; - }/*}}}*/ - - /** - * builds the data one would send in a POST request - */ - public function to_postdata() {/*{{{*/ - $total = array(); - foreach ($this->parameters as $k => $v) { - $total[] = OAuthUtil::urlencodeRFC3986($k) . "=" . OAuthUtil::urlencodeRFC3986($v); - } - $out = implode("&", $total); - return $out; - }/*}}}*/ - - /** - * builds the Authorization: header - */ - public function to_header() {/*{{{*/ - $out ='Authorization: OAuth '; - $total = array(); - - /* - $sig = $this->parameters['oauth_signature']; - unset($this->parameters['oauth_signature']); - uksort($this->parameters, 'strnatcmp'); - $this->parameters['oauth_signature'] = $sig; - */ - - foreach ($this->parameters as $k => $v) { - if (substr($k, 0, 5) != "oauth") continue; - $out .= OAuthUtil::urlencodeRFC3986($k) . '="' . OAuthUtil::urlencodeRFC3986($v) . '", '; - } - $out = substr_replace($out, '', strlen($out) - 2); - - return $out; - }/*}}}*/ - - public function __toString() {/*{{{*/ - return $this->to_url(); - }/*}}}*/ - - - public function sign_request($signature_method, $consumer, $token, $privKey=NULL) {/*{{{*/ - $this->set_parameter("oauth_signature_method", $signature_method->get_name()); - $signature = $this->build_signature($signature_method, $consumer, $token, $privKey); - $this->set_parameter("oauth_signature", $signature); - }/*}}}*/ - - public function build_signature($signature_method, $consumer, $token, $privKey=NULL) {/*{{{*/ - $signature = $signature_method->build_signature($this, $consumer, $token, $privKey); - return $signature; - }/*}}}*/ - - /** - * util function: current timestamp - */ - private static function generate_timestamp() {/*{{{*/ - return time(); - }/*}}}*/ - - /** - * util function: current nonce - */ - private static function generate_nonce() {/*{{{*/ - $mt = microtime(); - $rand = mt_rand(); - - return md5($mt . $rand); // md5s look nicer than numbers - }/*}}}*/ - - /** - * util function for turning the Authorization: header into - * parameters, has to do some unescaping - */ - private static function split_header($header) {/*{{{*/ - // this should be a regex - // error cases: commas in parameter values - $parts = explode(",", $header); - $out = array(); - foreach ($parts as $param) { - $param = ltrim($param); - // skip the "realm" param, nobody ever uses it anyway - if (substr($param, 0, 5) != "oauth") continue; - - $param_parts = explode("=", $param); - - // rawurldecode() used because urldecode() will turn a "+" in the - // value into a space - $out[$param_parts[0]] = rawurldecode(substr($param_parts[1], 1, -1)); - } - return $out; - }/*}}}*/ - - /** - * helper to try to sort out headers for people who aren't running apache - */ - private static function get_headers() {/*{{{*/ - if (function_exists('apache_request_headers')) { - // we need this to get the actual Authorization: header - // because apache tends to tell us it doesn't exist - return apache_request_headers(); - } - // otherwise we don't have apache and are just going to have to hope - // that $_SERVER actually contains what we need - $out = array(); - foreach ($_SERVER as $key => $value) { - if (substr($key, 0, 5) == "HTTP_") { - // this is chaos, basically it is just there to capitalize the first - // letter of every word that is not an initial HTTP and strip HTTP - // code from przemek - $key = str_replace(" ", "-", ucwords(strtolower(str_replace("_", " ", substr($key, 5))))); - $out[$key] = $value; - } - } - return $out; - }/*}}}*/ -}/*}}}*/ - -class OAuthServer {/*{{{*/ - protected $timestamp_threshold = 300; // in seconds, five minutes - protected $version = 1.0; // hi blaine - protected $signature_methods = array(); - - protected $data_store; - - function __construct($data_store) {/*{{{*/ - $this->data_store = $data_store; - }/*}}}*/ - - public function add_signature_method($signature_method) {/*{{{*/ - $this->signature_methods[$signature_method->get_name()] = - $signature_method; - }/*}}}*/ - - // high level functions - - /** - * process a request_token request - * returns the request token on success - */ - public function fetch_request_token(&$request) {/*{{{*/ - $this->get_version($request); - - $consumer = $this->get_consumer($request); - - // no token required for the initial token request - $token = NULL; - - $this->check_signature($request, $consumer, $token); - - $new_token = $this->data_store->new_request_token($consumer); - - return $new_token; - }/*}}}*/ - - /** - * process an access_token request - * returns the access token on success - */ - public function fetch_access_token(&$request) {/*{{{*/ - $this->get_version($request); - - $consumer = $this->get_consumer($request); - - // requires authorized request token - $token = $this->get_token($request, $consumer, "request"); - - $this->check_signature($request, $consumer, $token); - - $new_token = $this->data_store->new_access_token($token, $consumer); - - return $new_token; - }/*}}}*/ - - /** - * verify an api call, checks all the parameters - */ - public function verify_request(&$request) {/*{{{*/ - $this->get_version($request); - $consumer = $this->get_consumer($request); - $token = $this->get_token($request, $consumer, "access"); - $this->check_signature($request, $consumer, $token); - return array($consumer, $token); - }/*}}}*/ - - // Internals from here - /** - * version 1 - */ - private function get_version(&$request) {/*{{{*/ - $version = $request->get_parameter("oauth_version"); - if (!$version) { - $version = 1.0; - } - if ($version && $version != $this->version) { - throw new OAuthException("OAuth version '$version' not supported"); - } - return $version; - }/*}}}*/ - - /** - * figure out the signature with some defaults - */ - private function get_signature_method(&$request) {/*{{{*/ - $signature_method = - @$request->get_parameter("oauth_signature_method"); - if (!$signature_method) { - $signature_method = "PLAINTEXT"; - } - if (!in_array($signature_method, - array_keys($this->signature_methods))) { - throw new OAuthException( - "Signature method '$signature_method' not supported try one of the following: " . implode(", ", array_keys($this->signature_methods)) - ); - } - return $this->signature_methods[$signature_method]; - }/*}}}*/ - - /** - * try to find the consumer for the provided request's consumer key - */ - private function get_consumer(&$request) {/*{{{*/ - $consumer_key = @$request->get_parameter("oauth_consumer_key"); - if (!$consumer_key) { - throw new OAuthException("Invalid consumer key"); - } - - $consumer = $this->data_store->lookup_consumer($consumer_key); - if (!$consumer) { - throw new OAuthException("Invalid consumer"); - } - - return $consumer; - }/*}}}*/ - - /** - * try to find the token for the provided request's token key - */ - private function get_token(&$request, $consumer, $token_type="access") {/*{{{*/ - $token_field = @$request->get_parameter('oauth_token'); - $token = $this->data_store->lookup_token( - $consumer, $token_type, $token_field - ); - if (!$token) { - throw new OAuthException("Invalid $token_type token: $token_field"); - } - return $token; - }/*}}}*/ - - /** - * all-in-one function to check the signature on a request - * should guess the signature method appropriately - */ - private function check_signature(&$request, $consumer, $token) {/*{{{*/ - // this should probably be in a different method - $timestamp = @$request->get_parameter('oauth_timestamp'); - $nonce = @$request->get_parameter('oauth_nonce'); - - $this->check_timestamp($timestamp); - $this->check_nonce($consumer, $token, $nonce, $timestamp); - - $signature_method = $this->get_signature_method($request); - - $signature = $request->get_parameter('oauth_signature'); - $valid_sig = $signature_method->check_signature( - $request, - $consumer, - $token, - $signature - ); - - if (!$valid_sig) { - throw new OAuthException("Invalid signature"); - } - }/*}}}*/ - - /** - * check that the timestamp is new enough - */ - private function check_timestamp($timestamp) {/*{{{*/ - // verify that timestamp is recentish - $now = time(); - if ($now - $timestamp > $this->timestamp_threshold) { - throw new OAuthException("Expired timestamp, yours $timestamp, ours $now"); - } - }/*}}}*/ - - /** - * check that the nonce is not repeated - */ - private function check_nonce($consumer, $token, $nonce, $timestamp) {/*{{{*/ - // verify that the nonce is uniqueish - $found = $this->data_store->lookup_nonce($consumer, $token, $nonce, $timestamp); - if ($found) { - throw new OAuthException("Nonce already used: $nonce"); - } - }/*}}}*/ - - - -}/*}}}*/ - -class OAuthDataStore {/*{{{*/ - function lookup_consumer($consumer_key) {/*{{{*/ - // implement me - }/*}}}*/ - - function lookup_token($consumer, $token_type, $token) {/*{{{*/ - // implement me - }/*}}}*/ - - function lookup_nonce($consumer, $token, $nonce, $timestamp) {/*{{{*/ - // implement me - }/*}}}*/ - - function fetch_request_token($consumer) {/*{{{*/ - // return a new token attached to this consumer - }/*}}}*/ - - function fetch_access_token($token, $consumer) {/*{{{*/ - // return a new access token attached to this consumer - // for the user associated with this token if the request token - // is authorized - // should also invalidate the request token - }/*}}}*/ - -}/*}}}*/ - - -/* A very naive dbm-based oauth storage - */ -class SimpleOAuthDataStore extends OAuthDataStore {/*{{{*/ - private $dbh; - - function __construct($path = "oauth.gdbm") {/*{{{*/ - $this->dbh = dba_popen($path, 'c', 'gdbm'); - }/*}}}*/ - - function __destruct() {/*{{{*/ - dba_close($this->dbh); - }/*}}}*/ - - function lookup_consumer($consumer_key) {/*{{{*/ - $rv = dba_fetch("consumer_$consumer_key", $this->dbh); - if ($rv === FALSE) { - return NULL; - } - $obj = unserialize($rv); - if (!($obj instanceof OAuthConsumer)) { - return NULL; - } - return $obj; - }/*}}}*/ - - function lookup_token($consumer, $token_type, $token) {/*{{{*/ - $rv = dba_fetch("${token_type}_${token}", $this->dbh); - if ($rv === FALSE) { - return NULL; - } - $obj = unserialize($rv); - if (!($obj instanceof OAuthToken)) { - return NULL; - } - return $obj; - }/*}}}*/ - - function lookup_nonce($consumer, $token, $nonce, $timestamp) {/*{{{*/ - return dba_exists("nonce_$nonce", $this->dbh); - }/*}}}*/ - - function new_token($consumer, $type="request") {/*{{{*/ - $key = md5(time()); - $secret = time() + time(); - $token = new OAuthToken($key, md5(md5($secret))); - if (!dba_insert("${type}_$key", serialize($token), $this->dbh)) { - throw new OAuthException("doooom!"); - } - return $token; - }/*}}}*/ - - function new_request_token($consumer) {/*{{{*/ - return $this->new_token($consumer, "request"); - }/*}}}*/ - - function new_access_token($token, $consumer) {/*{{{*/ - - $token = $this->new_token($consumer, 'access'); - dba_delete("request_" . $token->key, $this->dbh); - return $token; - }/*}}}*/ -}/*}}}*/ - -class OAuthUtil {/*{{{*/ - public static function urlencodeRFC3986($string) {/*{{{*/ - return str_replace('%7E', '~', rawurlencode($string)); - }/*}}}*/ - - public static function urldecodeRFC3986($string) {/*{{{*/ - return rawurldecode($string); - }/*}}}*/ -}/*}}}*/ - -?> \ No newline at end of file diff --git a/3rdparty/Google/common.inc.php b/3rdparty/Google/common.inc.php deleted file mode 100755 index 57185cdc4d840ec6e33eac99c49e9ae8846f54f3..0000000000000000000000000000000000000000 --- a/3rdparty/Google/common.inc.php +++ /dev/null @@ -1,185 +0,0 @@ - - */ - -$PRIV_KEY_FILE = '/path/to/your/rsa_private_key.pem'; - -// OAuth library - http://oauth.googlecode.com/svn/code/php/ -require_once('OAuth.php'); - -// Google's accepted signature methods -$hmac_method = new OAuthSignatureMethod_HMAC_SHA1(); -$rsa_method = new OAuthSignatureMethod_RSA_SHA1(); -$SIG_METHODS = array($rsa_method->get_name() => $rsa_method, - $hmac_method->get_name() => $hmac_method); - -/** - * Makes an HTTP request to the specified URL - * - * @param string $http_method The HTTP method (GET, POST, PUT, DELETE) - * @param string $url Full URL of the resource to access - * @param array $extraHeaders (optional) Additional headers to include in each - * request. Elements are header/value pair strings ('Host: example.com') - * @param string $postData (optional) POST/PUT request body - * @param bool $returnResponseHeaders True if resp. headers should be returned. - * @return string Response body from the server - */ -function send_signed_request($http_method, $url, $extraHeaders=null, - $postData=null, $returnResponseHeaders=true) { - $curl = curl_init($url); - curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); - curl_setopt($curl, CURLOPT_FAILONERROR, false); - curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); - - // Return request headers in the reponse -// curl_setopt($curl, CURLINFO_HEADER_OUT, true); - - // Return response headers ni the response? - if ($returnResponseHeaders) { - curl_setopt($curl, CURLOPT_HEADER, true); - } - - $headers = array(); - //$headers[] = 'GData-Version: 2.0'; // use GData v2 by default - if (is_array($extraHeaders)) { - $headers = array_merge($headers, $extraHeaders); - } - - // Setup default curl options for each type of HTTP request. - // This is also a great place to add additional headers for each request. - switch($http_method) { - case 'GET': - curl_setopt($curl, CURLOPT_HTTPHEADER, $headers); - break; - case 'POST': - curl_setopt($curl, CURLOPT_HTTPHEADER, $headers); - curl_setopt($curl, CURLOPT_POST, 1); - curl_setopt($curl, CURLOPT_POSTFIELDS, $postData); - break; - case 'PUT': - $headers[] = 'If-Match: *'; - curl_setopt($curl, CURLOPT_HTTPHEADER, $headers); - curl_setopt($curl, CURLOPT_CUSTOMREQUEST, $http_method); - curl_setopt($curl, CURLOPT_POSTFIELDS, $postData); - break; - case 'DELETE': - $headers[] = 'If-Match: *'; - curl_setopt($curl, CURLOPT_HTTPHEADER, $headers); - curl_setopt($curl, CURLOPT_CUSTOMREQUEST, $http_method); - break; - default: - curl_setopt($curl, CURLOPT_HTTPHEADER, $headers); - } - - // Execute the request. If an error occures, fill the response body with it. - $response = curl_exec($curl); - if (!$response) { - $response = curl_error($curl); - } - - // Add server's response headers to our response body - $response = curl_getinfo($curl, CURLINFO_HEADER_OUT) . $response; - - curl_close($curl); - - return $response; -} - -/** -* Takes XML as a string and returns it nicely indented -* -* @param string $xml The xml to beautify -* @param boolean $html_output True if returned XML should be escaped for HTML. -* @return string The beautified xml -*/ -function xml_pretty_printer($xml, $html_output=false) { - $xml_obj = new SimpleXMLElement($xml); - $level = 2; - - // Get an array containing each XML element - $xml = explode("\n", preg_replace('/>\s*\n<", $xml_obj->asXML())); - - // Hold current indentation level - $indent = 0; - - $pretty = array(); - - // Shift off opening XML tag if present - if (count($xml) && preg_match('/^<\?\s*xml/', $xml[0])) { - $pretty[] = array_shift($xml); - } - - foreach ($xml as $el) { - if (preg_match('/^<([\w])+[^>\/]*>$/U', $el)) { - // opening tag, increase indent - $pretty[] = str_repeat(' ', $indent) . $el; - $indent += $level; - } else { - if (preg_match('/^<\/.+>$/', $el)) { - $indent -= $level; // closing tag, decrease indent - } - if ($indent < 0) { - $indent += $level; - } - $pretty[] = str_repeat(' ', $indent) . $el; - } - } - - $xml = implode("\n", $pretty); - return $html_output ? htmlentities($xml) : $xml; -} - -/** - * Joins key/value pairs by $inner_glue and each pair together by $outer_glue. - * - * Example: implode_assoc('=', '&', array('a' => 1, 'b' => 2)) === 'a=1&b=2' - * - * @param string $inner_glue What to implode each key/value pair with - * @param string $outer_glue What to impode each key/value string subset with - * @param array $array Associative array of query parameters - * @return string Urlencoded string of query parameters - */ -function implode_assoc($inner_glue, $outer_glue, $array) { - $output = array(); - foreach($array as $key => $item) { - $output[] = $key . $inner_glue . urlencode($item); - } - return implode($outer_glue, $output); -} - -/** - * Explodes a string of key/value url parameters into an associative array. - * This method performs the compliment operations of implode_assoc(). - * - * Example: explode_assoc('=', '&', 'a=1&b=2') === array('a' => 1, 'b' => 2) - * - * @param string $inner_glue What each key/value pair is joined with - * @param string $outer_glue What each set of key/value pairs is joined with. - * @param array $array Associative array of query parameters - * @return array Urlencoded string of query parameters - */ -function explode_assoc($inner_glue, $outer_glue, $params) { - $tempArr = explode($outer_glue, $params); - foreach($tempArr as $val) { - $pos = strpos($val, $inner_glue); - $key = substr($val, 0, $pos); - $array2[$key] = substr($val, $pos + 1, strlen($val)); - } - return $array2; -} - -?> \ No newline at end of file diff --git a/3rdparty/MDB2.php b/3rdparty/MDB2.php deleted file mode 100644 index a0ead9b9bcf27784b020c2b4fef3b08b17c4ee21..0000000000000000000000000000000000000000 --- a/3rdparty/MDB2.php +++ /dev/null @@ -1,4587 +0,0 @@ - | -// +----------------------------------------------------------------------+ -// -// $Id$ -// - -/** - * @package MDB2 - * @category Database - * @author Lukas Smith - */ - -require_once 'PEAR.php'; - -// {{{ Error constants - -/** - * The method mapErrorCode in each MDB2_dbtype implementation maps - * native error codes to one of these. - * - * If you add an error code here, make sure you also add a textual - * version of it in MDB2::errorMessage(). - */ - -define('MDB2_OK', true); -define('MDB2_ERROR', -1); -define('MDB2_ERROR_SYNTAX', -2); -define('MDB2_ERROR_CONSTRAINT', -3); -define('MDB2_ERROR_NOT_FOUND', -4); -define('MDB2_ERROR_ALREADY_EXISTS', -5); -define('MDB2_ERROR_UNSUPPORTED', -6); -define('MDB2_ERROR_MISMATCH', -7); -define('MDB2_ERROR_INVALID', -8); -define('MDB2_ERROR_NOT_CAPABLE', -9); -define('MDB2_ERROR_TRUNCATED', -10); -define('MDB2_ERROR_INVALID_NUMBER', -11); -define('MDB2_ERROR_INVALID_DATE', -12); -define('MDB2_ERROR_DIVZERO', -13); -define('MDB2_ERROR_NODBSELECTED', -14); -define('MDB2_ERROR_CANNOT_CREATE', -15); -define('MDB2_ERROR_CANNOT_DELETE', -16); -define('MDB2_ERROR_CANNOT_DROP', -17); -define('MDB2_ERROR_NOSUCHTABLE', -18); -define('MDB2_ERROR_NOSUCHFIELD', -19); -define('MDB2_ERROR_NEED_MORE_DATA', -20); -define('MDB2_ERROR_NOT_LOCKED', -21); -define('MDB2_ERROR_VALUE_COUNT_ON_ROW', -22); -define('MDB2_ERROR_INVALID_DSN', -23); -define('MDB2_ERROR_CONNECT_FAILED', -24); -define('MDB2_ERROR_EXTENSION_NOT_FOUND',-25); -define('MDB2_ERROR_NOSUCHDB', -26); -define('MDB2_ERROR_ACCESS_VIOLATION', -27); -define('MDB2_ERROR_CANNOT_REPLACE', -28); -define('MDB2_ERROR_CONSTRAINT_NOT_NULL',-29); -define('MDB2_ERROR_DEADLOCK', -30); -define('MDB2_ERROR_CANNOT_ALTER', -31); -define('MDB2_ERROR_MANAGER', -32); -define('MDB2_ERROR_MANAGER_PARSE', -33); -define('MDB2_ERROR_LOADMODULE', -34); -define('MDB2_ERROR_INSUFFICIENT_DATA', -35); -define('MDB2_ERROR_NO_PERMISSION', -36); -define('MDB2_ERROR_DISCONNECT_FAILED', -37); - -// }}} -// {{{ Verbose constants -/** - * These are just helper constants to more verbosely express parameters to prepare() - */ - -define('MDB2_PREPARE_MANIP', false); -define('MDB2_PREPARE_RESULT', null); - -// }}} -// {{{ Fetchmode constants - -/** - * This is a special constant that tells MDB2 the user hasn't specified - * any particular get mode, so the default should be used. - */ -define('MDB2_FETCHMODE_DEFAULT', 0); - -/** - * Column data indexed by numbers, ordered from 0 and up - */ -define('MDB2_FETCHMODE_ORDERED', 1); - -/** - * Column data indexed by column names - */ -define('MDB2_FETCHMODE_ASSOC', 2); - -/** - * Column data as object properties - */ -define('MDB2_FETCHMODE_OBJECT', 3); - -/** - * For multi-dimensional results: normally the first level of arrays - * is the row number, and the second level indexed by column number or name. - * MDB2_FETCHMODE_FLIPPED switches this order, so the first level of arrays - * is the column name, and the second level the row number. - */ -define('MDB2_FETCHMODE_FLIPPED', 4); - -// }}} -// {{{ Portability mode constants - -/** - * Portability: turn off all portability features. - * @see MDB2_Driver_Common::setOption() - */ -define('MDB2_PORTABILITY_NONE', 0); - -/** - * Portability: convert names of tables and fields to case defined in the - * "field_case" option when using the query*(), fetch*() and tableInfo() methods. - * @see MDB2_Driver_Common::setOption() - */ -define('MDB2_PORTABILITY_FIX_CASE', 1); - -/** - * Portability: right trim the data output by query*() and fetch*(). - * @see MDB2_Driver_Common::setOption() - */ -define('MDB2_PORTABILITY_RTRIM', 2); - -/** - * Portability: force reporting the number of rows deleted. - * @see MDB2_Driver_Common::setOption() - */ -define('MDB2_PORTABILITY_DELETE_COUNT', 4); - -/** - * Portability: not needed in MDB2 (just left here for compatibility to DB) - * @see MDB2_Driver_Common::setOption() - */ -define('MDB2_PORTABILITY_NUMROWS', 8); - -/** - * Portability: makes certain error messages in certain drivers compatible - * with those from other DBMS's. - * - * + mysql, mysqli: change unique/primary key constraints - * MDB2_ERROR_ALREADY_EXISTS -> MDB2_ERROR_CONSTRAINT - * - * + odbc(access): MS's ODBC driver reports 'no such field' as code - * 07001, which means 'too few parameters.' When this option is on - * that code gets mapped to MDB2_ERROR_NOSUCHFIELD. - * - * @see MDB2_Driver_Common::setOption() - */ -define('MDB2_PORTABILITY_ERRORS', 16); - -/** - * Portability: convert empty values to null strings in data output by - * query*() and fetch*(). - * @see MDB2_Driver_Common::setOption() - */ -define('MDB2_PORTABILITY_EMPTY_TO_NULL', 32); - -/** - * Portability: removes database/table qualifiers from associative indexes - * @see MDB2_Driver_Common::setOption() - */ -define('MDB2_PORTABILITY_FIX_ASSOC_FIELD_NAMES', 64); - -/** - * Portability: turn on all portability features. - * @see MDB2_Driver_Common::setOption() - */ -define('MDB2_PORTABILITY_ALL', 127); - -// }}} -// {{{ Globals for class instance tracking - -/** - * These are global variables that are used to track the various class instances - */ - -$GLOBALS['_MDB2_databases'] = array(); -$GLOBALS['_MDB2_dsninfo_default'] = array( - 'phptype' => false, - 'dbsyntax' => false, - 'username' => false, - 'password' => false, - 'protocol' => false, - 'hostspec' => false, - 'port' => false, - 'socket' => false, - 'database' => false, - 'mode' => false, -); - -// }}} -// {{{ class MDB2 - -/** - * The main 'MDB2' class is simply a container class with some static - * methods for creating DB objects as well as some utility functions - * common to all parts of DB. - * - * The object model of MDB2 is as follows (indentation means inheritance): - * - * MDB2 The main MDB2 class. This is simply a utility class - * with some 'static' methods for creating MDB2 objects as - * well as common utility functions for other MDB2 classes. - * - * MDB2_Driver_Common The base for each MDB2 implementation. Provides default - * | implementations (in OO lingo virtual methods) for - * | the actual DB implementations as well as a bunch of - * | query utility functions. - * | - * +-MDB2_Driver_mysql The MDB2 implementation for MySQL. Inherits MDB2_Driver_Common. - * When calling MDB2::factory or MDB2::connect for MySQL - * connections, the object returned is an instance of this - * class. - * +-MDB2_Driver_pgsql The MDB2 implementation for PostGreSQL. Inherits MDB2_Driver_Common. - * When calling MDB2::factory or MDB2::connect for PostGreSQL - * connections, the object returned is an instance of this - * class. - * - * @package MDB2 - * @category Database - * @author Lukas Smith - */ -class MDB2 -{ - // {{{ function setOptions($db, $options) - - /** - * set option array in an exiting database object - * - * @param MDB2_Driver_Common MDB2 object - * @param array An associative array of option names and their values. - * - * @return mixed MDB2_OK or a PEAR Error object - * - * @access public - */ - static function setOptions($db, $options) - { - if (is_array($options)) { - foreach ($options as $option => $value) { - $test = $db->setOption($option, $value); - if (MDB2::isError($test)) { - return $test; - } - } - } - return MDB2_OK; - } - - // }}} - // {{{ function classExists($classname) - - /** - * Checks if a class exists without triggering __autoload - * - * @param string classname - * - * @return bool true success and false on error - * @static - * @access public - */ - static function classExists($classname) - { - return class_exists($classname, false); - } - - // }}} - // {{{ function loadClass($class_name, $debug) - - /** - * Loads a PEAR class. - * - * @param string classname to load - * @param bool if errors should be suppressed - * - * @return mixed true success or PEAR_Error on failure - * - * @access public - */ - static function loadClass($class_name, $debug) - { - if (!MDB2::classExists($class_name)) { - $file_name = str_replace('_', DIRECTORY_SEPARATOR, $class_name).'.php'; - if ($debug) { - $include = include_once($file_name); - } else { - $include = @include_once($file_name); - } - if (!$include) { - if (!MDB2::fileExists($file_name)) { - $msg = "unable to find package '$class_name' file '$file_name'"; - } else { - $msg = "unable to load class '$class_name' from file '$file_name'"; - } - $err = MDB2::raiseError(MDB2_ERROR_NOT_FOUND, null, null, $msg); - return $err; - } - if (!MDB2::classExists($class_name)) { - $msg = "unable to load class '$class_name' from file '$file_name'"; - $err = MDB2::raiseError(MDB2_ERROR_NOT_FOUND, null, null, $msg); - return $err; - } - } - return MDB2_OK; - } - - // }}} - // {{{ function factory($dsn, $options = false) - - /** - * Create a new MDB2 object for the specified database type - * - * @param mixed 'data source name', see the MDB2::parseDSN - * method for a description of the dsn format. - * Can also be specified as an array of the - * format returned by MDB2::parseDSN. - * @param array An associative array of option names and - * their values. - * - * @return mixed a newly created MDB2 object, or false on error - * - * @access public - */ - static function factory($dsn, $options = false) - { - $dsninfo = MDB2::parseDSN($dsn); - if (empty($dsninfo['phptype'])) { - $err = MDB2::raiseError(MDB2_ERROR_NOT_FOUND, - null, null, 'no RDBMS driver specified'); - return $err; - } - $class_name = 'MDB2_Driver_'.$dsninfo['phptype']; - - $debug = (!empty($options['debug'])); - $err = MDB2::loadClass($class_name, $debug); - if (MDB2::isError($err)) { - return $err; - } - - $db = new $class_name(); - $db->setDSN($dsninfo); - $err = MDB2::setOptions($db, $options); - if (MDB2::isError($err)) { - return $err; - } - - return $db; - } - - // }}} - // {{{ function connect($dsn, $options = false) - - /** - * Create a new MDB2_Driver_* connection object and connect to the specified - * database - * - * @param mixed $dsn 'data source name', see the MDB2::parseDSN - * method for a description of the dsn format. - * Can also be specified as an array of the - * format returned by MDB2::parseDSN. - * @param array $options An associative array of option names and - * their values. - * - * @return mixed a newly created MDB2 connection object, or a MDB2 - * error object on error - * - * @access public - * @see MDB2::parseDSN - */ - static function connect($dsn, $options = false) - { - $db = MDB2::factory($dsn, $options); - if (MDB2::isError($db)) { - return $db; - } - - $err = $db->connect(); - if (MDB2::isError($err)) { - $dsn = $db->getDSN('string', 'xxx'); - $db->disconnect(); - $err->addUserInfo($dsn); - return $err; - } - - return $db; - } - - // }}} - // {{{ function singleton($dsn = null, $options = false) - - /** - * Returns a MDB2 connection with the requested DSN. - * A new MDB2 connection object is only created if no object with the - * requested DSN exists yet. - * - * @param mixed 'data source name', see the MDB2::parseDSN - * method for a description of the dsn format. - * Can also be specified as an array of the - * format returned by MDB2::parseDSN. - * @param array An associative array of option names and - * their values. - * - * @return mixed a newly created MDB2 connection object, or a MDB2 - * error object on error - * - * @access public - * @see MDB2::parseDSN - */ - static function singleton($dsn = null, $options = false) - { - if ($dsn) { - $dsninfo = MDB2::parseDSN($dsn); - $dsninfo = array_merge($GLOBALS['_MDB2_dsninfo_default'], $dsninfo); - $keys = array_keys($GLOBALS['_MDB2_databases']); - for ($i=0, $j=count($keys); $i<$j; ++$i) { - if (isset($GLOBALS['_MDB2_databases'][$keys[$i]])) { - $tmp_dsn = $GLOBALS['_MDB2_databases'][$keys[$i]]->getDSN('array'); - if (count(array_diff_assoc($tmp_dsn, $dsninfo)) == 0) { - MDB2::setOptions($GLOBALS['_MDB2_databases'][$keys[$i]], $options); - return $GLOBALS['_MDB2_databases'][$keys[$i]]; - } - } - } - } elseif (is_array($GLOBALS['_MDB2_databases']) && reset($GLOBALS['_MDB2_databases'])) { - return $GLOBALS['_MDB2_databases'][key($GLOBALS['_MDB2_databases'])]; - } - $db = MDB2::factory($dsn, $options); - return $db; - } - - // }}} - // {{{ function areEquals() - - /** - * It looks like there's a memory leak in array_diff() in PHP 5.1.x, - * so use this method instead. - * @see http://pear.php.net/bugs/bug.php?id=11790 - * - * @param array $arr1 - * @param array $arr2 - * @return boolean - */ - static function areEquals($arr1, $arr2) - { - if (count($arr1) != count($arr2)) { - return false; - } - foreach (array_keys($arr1) as $k) { - if (!array_key_exists($k, $arr2) || $arr1[$k] != $arr2[$k]) { - return false; - } - } - return true; - } - - // }}} - // {{{ function loadFile($file) - - /** - * load a file (like 'Date') - * - * @param string $file name of the file in the MDB2 directory (without '.php') - * - * @return string name of the file that was included - * - * @access public - */ - static function loadFile($file) - { - $file_name = 'MDB2'.DIRECTORY_SEPARATOR.$file.'.php'; - if (!MDB2::fileExists($file_name)) { - return MDB2::raiseError(MDB2_ERROR_NOT_FOUND, null, null, - 'unable to find: '.$file_name); - } - if (!include_once($file_name)) { - return MDB2::raiseError(MDB2_ERROR_NOT_FOUND, null, null, - 'unable to load driver class: '.$file_name); - } - return $file_name; - } - - // }}} - // {{{ function apiVersion() - - /** - * Return the MDB2 API version - * - * @return string the MDB2 API version number - * - * @access public - */ - function apiVersion() - { - return '@package_version@'; - } - - // }}} - // {{{ function &raiseError($code = null, $mode = null, $options = null, $userinfo = null) - - /** - * This method is used to communicate an error and invoke error - * callbacks etc. Basically a wrapper for PEAR::raiseError - * without the message string. - * - * @param mixed int error code - * - * @param int error mode, see PEAR_Error docs - * - * @param mixed If error mode is PEAR_ERROR_TRIGGER, this is the - * error level (E_USER_NOTICE etc). If error mode is - * PEAR_ERROR_CALLBACK, this is the callback function, - * either as a function name, or as an array of an - * object and method name. For other error modes this - * parameter is ignored. - * - * @param string Extra debug information. Defaults to the last - * query and native error code. - * - * @return PEAR_Error instance of a PEAR Error object - * - * @access private - * @see PEAR_Error - */ - public static function &raiseError($code = null, - $mode = null, - $options = null, - $userinfo = null, - $dummy1 = null, - $dummy2 = null, - $dummy3 = false) - { - $pear = new PEAR; - $err = $pear->raiseError(null, $code, $mode, $options, $userinfo, 'MDB2_Error', true); - return $err; - } - - // }}} - // {{{ function isError($data, $code = null) - - /** - * Tell whether a value is a MDB2 error. - * - * @param mixed the value to test - * @param int if is an error object, return true - * only if $code is a string and - * $db->getMessage() == $code or - * $code is an integer and $db->getCode() == $code - * - * @return bool true if parameter is an error - * - * @access public - */ - static function isError($data, $code = null) - { - if ($data instanceof MDB2_Error) { - if (null === $code) { - return true; - } - if (is_string($code)) { - return $data->getMessage() === $code; - } - return in_array($data->getCode(), (array)$code); - } - return false; - } - - // }}} - // {{{ function isConnection($value) - - /** - * Tell whether a value is a MDB2 connection - * - * @param mixed value to test - * - * @return bool whether $value is a MDB2 connection - * @access public - */ - static function isConnection($value) - { - return ($value instanceof MDB2_Driver_Common); - } - - // }}} - // {{{ function isResult($value) - - /** - * Tell whether a value is a MDB2 result - * - * @param mixed $value value to test - * - * @return bool whether $value is a MDB2 result - * - * @access public - */ - function isResult($value) - { - return ($value instanceof MDB2_Result); - } - - // }}} - // {{{ function isResultCommon($value) - - /** - * Tell whether a value is a MDB2 result implementing the common interface - * - * @param mixed $value value to test - * - * @return bool whether $value is a MDB2 result implementing the common interface - * - * @access public - */ - static function isResultCommon($value) - { - return ($value instanceof MDB2_Result_Common); - } - - // }}} - // {{{ function isStatement($value) - - /** - * Tell whether a value is a MDB2 statement interface - * - * @param mixed value to test - * - * @return bool whether $value is a MDB2 statement interface - * - * @access public - */ - function isStatement($value) - { - return ($value instanceof MDB2_Statement_Common); - } - - // }}} - // {{{ function errorMessage($value = null) - - /** - * Return a textual error message for a MDB2 error code - * - * @param int|array integer error code, - null to get the current error code-message map, - or an array with a new error code-message map - * - * @return string error message, or false if the error code was - * not recognized - * - * @access public - */ - static function errorMessage($value = null) - { - static $errorMessages; - - if (is_array($value)) { - $errorMessages = $value; - return MDB2_OK; - } - - if (!isset($errorMessages)) { - $errorMessages = array( - MDB2_OK => 'no error', - MDB2_ERROR => 'unknown error', - MDB2_ERROR_ALREADY_EXISTS => 'already exists', - MDB2_ERROR_CANNOT_CREATE => 'can not create', - MDB2_ERROR_CANNOT_ALTER => 'can not alter', - MDB2_ERROR_CANNOT_REPLACE => 'can not replace', - MDB2_ERROR_CANNOT_DELETE => 'can not delete', - MDB2_ERROR_CANNOT_DROP => 'can not drop', - MDB2_ERROR_CONSTRAINT => 'constraint violation', - MDB2_ERROR_CONSTRAINT_NOT_NULL=> 'null value violates not-null constraint', - MDB2_ERROR_DIVZERO => 'division by zero', - MDB2_ERROR_INVALID => 'invalid', - MDB2_ERROR_INVALID_DATE => 'invalid date or time', - MDB2_ERROR_INVALID_NUMBER => 'invalid number', - MDB2_ERROR_MISMATCH => 'mismatch', - MDB2_ERROR_NODBSELECTED => 'no database selected', - MDB2_ERROR_NOSUCHFIELD => 'no such field', - MDB2_ERROR_NOSUCHTABLE => 'no such table', - MDB2_ERROR_NOT_CAPABLE => 'MDB2 backend not capable', - MDB2_ERROR_NOT_FOUND => 'not found', - MDB2_ERROR_NOT_LOCKED => 'not locked', - MDB2_ERROR_SYNTAX => 'syntax error', - MDB2_ERROR_UNSUPPORTED => 'not supported', - MDB2_ERROR_VALUE_COUNT_ON_ROW => 'value count on row', - MDB2_ERROR_INVALID_DSN => 'invalid DSN', - MDB2_ERROR_CONNECT_FAILED => 'connect failed', - MDB2_ERROR_NEED_MORE_DATA => 'insufficient data supplied', - MDB2_ERROR_EXTENSION_NOT_FOUND=> 'extension not found', - MDB2_ERROR_NOSUCHDB => 'no such database', - MDB2_ERROR_ACCESS_VIOLATION => 'insufficient permissions', - MDB2_ERROR_LOADMODULE => 'error while including on demand module', - MDB2_ERROR_TRUNCATED => 'truncated', - MDB2_ERROR_DEADLOCK => 'deadlock detected', - MDB2_ERROR_NO_PERMISSION => 'no permission', - MDB2_ERROR_DISCONNECT_FAILED => 'disconnect failed', - ); - } - - if (null === $value) { - return $errorMessages; - } - - if (MDB2::isError($value)) { - $value = $value->getCode(); - } - - return isset($errorMessages[$value]) ? - $errorMessages[$value] : $errorMessages[MDB2_ERROR]; - } - - // }}} - // {{{ function parseDSN($dsn) - - /** - * Parse a data source name. - * - * Additional keys can be added by appending a URI query string to the - * end of the DSN. - * - * The format of the supplied DSN is in its fullest form: - * - * phptype(dbsyntax)://username:password@protocol+hostspec/database?option=8&another=true - * - * - * Most variations are allowed: - * - * phptype://username:password@protocol+hostspec:110//usr/db_file.db?mode=0644 - * phptype://username:password@hostspec/database_name - * phptype://username:password@hostspec - * phptype://username@hostspec - * phptype://hostspec/database - * phptype://hostspec - * phptype(dbsyntax) - * phptype - * - * - * @param string Data Source Name to be parsed - * - * @return array an associative array with the following keys: - * + phptype: Database backend used in PHP (mysql, odbc etc.) - * + dbsyntax: Database used with regards to SQL syntax etc. - * + protocol: Communication protocol to use (tcp, unix etc.) - * + hostspec: Host specification (hostname[:port]) - * + database: Database to use on the DBMS server - * + username: User name for login - * + password: Password for login - * - * @access public - * @author Tomas V.V.Cox - */ - static function parseDSN($dsn) - { - $parsed = $GLOBALS['_MDB2_dsninfo_default']; - - if (is_array($dsn)) { - $dsn = array_merge($parsed, $dsn); - if (!$dsn['dbsyntax']) { - $dsn['dbsyntax'] = $dsn['phptype']; - } - return $dsn; - } - - // Find phptype and dbsyntax - if (($pos = strpos($dsn, '://')) !== false) { - $str = substr($dsn, 0, $pos); - $dsn = substr($dsn, $pos + 3); - } else { - $str = $dsn; - $dsn = null; - } - - // Get phptype and dbsyntax - // $str => phptype(dbsyntax) - if (preg_match('|^(.+?)\((.*?)\)$|', $str, $arr)) { - $parsed['phptype'] = $arr[1]; - $parsed['dbsyntax'] = !$arr[2] ? $arr[1] : $arr[2]; - } else { - $parsed['phptype'] = $str; - $parsed['dbsyntax'] = $str; - } - - if (!count($dsn)) { - return $parsed; - } - - // Get (if found): username and password - // $dsn => username:password@protocol+hostspec/database - if (($at = strrpos($dsn,'@')) !== false) { - $str = substr($dsn, 0, $at); - $dsn = substr($dsn, $at + 1); - if (($pos = strpos($str, ':')) !== false) { - $parsed['username'] = rawurldecode(substr($str, 0, $pos)); - $parsed['password'] = rawurldecode(substr($str, $pos + 1)); - } else { - $parsed['username'] = rawurldecode($str); - } - } - - // Find protocol and hostspec - - // $dsn => proto(proto_opts)/database - if (preg_match('|^([^(]+)\((.*?)\)/?(.*?)$|', $dsn, $match)) { - $proto = $match[1]; - $proto_opts = $match[2] ? $match[2] : false; - $dsn = $match[3]; - - // $dsn => protocol+hostspec/database (old format) - } else { - if (strpos($dsn, '+') !== false) { - list($proto, $dsn) = explode('+', $dsn, 2); - } - if ( strpos($dsn, '//') === 0 - && strpos($dsn, '/', 2) !== false - && $parsed['phptype'] == 'oci8' - ) { - //oracle's "Easy Connect" syntax: - //"username/password@[//]host[:port][/service_name]" - //e.g. "scott/tiger@//mymachine:1521/oracle" - $proto_opts = $dsn; - $pos = strrpos($proto_opts, '/'); - $dsn = substr($proto_opts, $pos + 1); - $proto_opts = substr($proto_opts, 0, $pos); - } elseif (strpos($dsn, '/') !== false) { - list($proto_opts, $dsn) = explode('/', $dsn, 2); - } else { - $proto_opts = $dsn; - $dsn = null; - } - } - - // process the different protocol options - $parsed['protocol'] = (!empty($proto)) ? $proto : 'tcp'; - $proto_opts = rawurldecode($proto_opts); - if (strpos($proto_opts, ':') !== false) { - list($proto_opts, $parsed['port']) = explode(':', $proto_opts); - } - if ($parsed['protocol'] == 'tcp') { - $parsed['hostspec'] = $proto_opts; - } elseif ($parsed['protocol'] == 'unix') { - $parsed['socket'] = $proto_opts; - } - - // Get dabase if any - // $dsn => database - if ($dsn) { - // /database - if (($pos = strpos($dsn, '?')) === false) { - $parsed['database'] = rawurldecode($dsn); - // /database?param1=value1¶m2=value2 - } else { - $parsed['database'] = rawurldecode(substr($dsn, 0, $pos)); - $dsn = substr($dsn, $pos + 1); - if (strpos($dsn, '&') !== false) { - $opts = explode('&', $dsn); - } else { // database?param1=value1 - $opts = array($dsn); - } - foreach ($opts as $opt) { - list($key, $value) = explode('=', $opt); - if (!array_key_exists($key, $parsed) || false === $parsed[$key]) { - // don't allow params overwrite - $parsed[$key] = rawurldecode($value); - } - } - } - } - - return $parsed; - } - - // }}} - // {{{ function fileExists($file) - - /** - * Checks if a file exists in the include path - * - * @param string filename - * - * @return bool true success and false on error - * - * @access public - */ - static function fileExists($file) - { - // safe_mode does notwork with is_readable() - if (!@ini_get('safe_mode')) { - $dirs = explode(PATH_SEPARATOR, ini_get('include_path')); - foreach ($dirs as $dir) { - if (is_readable($dir . DIRECTORY_SEPARATOR . $file)) { - return true; - } - } - } else { - $fp = @fopen($file, 'r', true); - if (is_resource($fp)) { - @fclose($fp); - return true; - } - } - return false; - } - // }}} -} - -// }}} -// {{{ class MDB2_Error extends PEAR_Error - -/** - * MDB2_Error implements a class for reporting portable database error - * messages. - * - * @package MDB2 - * @category Database - * @author Stig Bakken - */ -class MDB2_Error extends PEAR_Error -{ - // {{{ constructor: function MDB2_Error($code = MDB2_ERROR, $mode = PEAR_ERROR_RETURN, $level = E_USER_NOTICE, $debuginfo = null) - - /** - * MDB2_Error constructor. - * - * @param mixed MDB2 error code, or string with error message. - * @param int what 'error mode' to operate in - * @param int what error level to use for $mode & PEAR_ERROR_TRIGGER - * @param mixed additional debug info, such as the last query - */ - function __construct($code = MDB2_ERROR, $mode = PEAR_ERROR_RETURN, - $level = E_USER_NOTICE, $debuginfo = null, $dummy = null) - { - if (null === $code) { - $code = MDB2_ERROR; - } - $this->PEAR_Error('MDB2 Error: '.MDB2::errorMessage($code), $code, - $mode, $level, $debuginfo); - } - - // }}} -} - -// }}} -// {{{ class MDB2_Driver_Common extends PEAR - -/** - * MDB2_Driver_Common: Base class that is extended by each MDB2 driver - * - * @package MDB2 - * @category Database - * @author Lukas Smith - */ -class MDB2_Driver_Common -{ - // {{{ Variables (Properties) - - /** - * @var MDB2_Driver_Datatype_Common - */ - public $datatype; - - /** - * @var MDB2_Extended - */ - public $extended; - - /** - * @var MDB2_Driver_Function_Common - */ - public $function; - - /** - * @var MDB2_Driver_Manager_Common - */ - public $manager; - - /** - * @var MDB2_Driver_Native_Commonn - */ - public $native; - - /** - * @var MDB2_Driver_Reverse_Common - */ - public $reverse; - - /** - * index of the MDB2 object within the $GLOBALS['_MDB2_databases'] array - * @var int - * @access public - */ - public $db_index = 0; - - /** - * DSN used for the next query - * @var array - * @access protected - */ - public $dsn = array(); - - /** - * DSN that was used to create the current connection - * @var array - * @access protected - */ - public $connected_dsn = array(); - - /** - * connection resource - * @var mixed - * @access protected - */ - public $connection = 0; - - /** - * if the current opened connection is a persistent connection - * @var bool - * @access protected - */ - public $opened_persistent; - - /** - * the name of the database for the next query - * @var string - * @access public - */ - public $database_name = ''; - - /** - * the name of the database currently selected - * @var string - * @access protected - */ - public $connected_database_name = ''; - - /** - * server version information - * @var string - * @access protected - */ - public $connected_server_info = ''; - - /** - * list of all supported features of the given driver - * @var array - * @access public - */ - public $supported = array( - 'sequences' => false, - 'indexes' => false, - 'affected_rows' => false, - 'summary_functions' => false, - 'order_by_text' => false, - 'transactions' => false, - 'savepoints' => false, - 'current_id' => false, - 'limit_queries' => false, - 'LOBs' => false, - 'replace' => false, - 'sub_selects' => false, - 'triggers' => false, - 'auto_increment' => false, - 'primary_key' => false, - 'result_introspection' => false, - 'prepared_statements' => false, - 'identifier_quoting' => false, - 'pattern_escaping' => false, - 'new_link' => false, - ); - - /** - * Array of supported options that can be passed to the MDB2 instance. - * - * The options can be set during object creation, using - * MDB2::connect(), MDB2::factory() or MDB2::singleton(). The options can - * also be set after the object is created, using MDB2::setOptions() or - * MDB2_Driver_Common::setOption(). - * The list of available option includes: - *
    - *
  • $options['ssl'] -> boolean: determines if ssl should be used for connections
  • - *
  • $options['field_case'] -> CASE_LOWER|CASE_UPPER: determines what case to force on field/table names
  • - *
  • $options['disable_query'] -> boolean: determines if queries should be executed
  • - *
  • $options['result_class'] -> string: class used for result sets
  • - *
  • $options['buffered_result_class'] -> string: class used for buffered result sets
  • - *
  • $options['result_wrap_class'] -> string: class used to wrap result sets into
  • - *
  • $options['result_buffering'] -> boolean should results be buffered or not?
  • - *
  • $options['fetch_class'] -> string: class to use when fetch mode object is used
  • - *
  • $options['persistent'] -> boolean: persistent connection?
  • - *
  • $options['debug'] -> integer: numeric debug level
  • - *
  • $options['debug_handler'] -> string: function/method that captures debug messages
  • - *
  • $options['debug_expanded_output'] -> bool: BC option to determine if more context information should be send to the debug handler
  • - *
  • $options['default_text_field_length'] -> integer: default text field length to use
  • - *
  • $options['lob_buffer_length'] -> integer: LOB buffer length
  • - *
  • $options['log_line_break'] -> string: line-break format
  • - *
  • $options['idxname_format'] -> string: pattern for index name
  • - *
  • $options['seqname_format'] -> string: pattern for sequence name
  • - *
  • $options['savepoint_format'] -> string: pattern for auto generated savepoint names
  • - *
  • $options['statement_format'] -> string: pattern for prepared statement names
  • - *
  • $options['seqcol_name'] -> string: sequence column name
  • - *
  • $options['quote_identifier'] -> boolean: if identifier quoting should be done when check_option is used
  • - *
  • $options['use_transactions'] -> boolean: if transaction use should be enabled
  • - *
  • $options['decimal_places'] -> integer: number of decimal places to handle
  • - *
  • $options['portability'] -> integer: portability constant
  • - *
  • $options['modules'] -> array: short to long module name mapping for __call()
  • - *
  • $options['emulate_prepared'] -> boolean: force prepared statements to be emulated
  • - *
  • $options['datatype_map'] -> array: map user defined datatypes to other primitive datatypes
  • - *
  • $options['datatype_map_callback'] -> array: callback function/method that should be called
  • - *
  • $options['bindname_format'] -> string: regular expression pattern for named parameters
  • - *
  • $options['multi_query'] -> boolean: determines if queries returning multiple result sets should be executed
  • - *
  • $options['max_identifiers_length'] -> integer: max identifier length
  • - *
  • $options['default_fk_action_onupdate'] -> string: default FOREIGN KEY ON UPDATE action ['RESTRICT'|'NO ACTION'|'SET DEFAULT'|'SET NULL'|'CASCADE']
  • - *
  • $options['default_fk_action_ondelete'] -> string: default FOREIGN KEY ON DELETE action ['RESTRICT'|'NO ACTION'|'SET DEFAULT'|'SET NULL'|'CASCADE']
  • - *
- * - * @var array - * @access public - * @see MDB2::connect() - * @see MDB2::factory() - * @see MDB2::singleton() - * @see MDB2_Driver_Common::setOption() - */ - public $options = array( - 'ssl' => false, - 'field_case' => CASE_LOWER, - 'disable_query' => false, - 'result_class' => 'MDB2_Result_%s', - 'buffered_result_class' => 'MDB2_BufferedResult_%s', - 'result_wrap_class' => false, - 'result_buffering' => true, - 'fetch_class' => 'stdClass', - 'persistent' => false, - 'debug' => 0, - 'debug_handler' => 'MDB2_defaultDebugOutput', - 'debug_expanded_output' => false, - 'default_text_field_length' => 4096, - 'lob_buffer_length' => 8192, - 'log_line_break' => "\n", - 'idxname_format' => '%s_idx', - 'seqname_format' => '%s_seq', - 'savepoint_format' => 'MDB2_SAVEPOINT_%s', - 'statement_format' => 'MDB2_STATEMENT_%1$s_%2$s', - 'seqcol_name' => 'sequence', - 'quote_identifier' => false, - 'use_transactions' => true, - 'decimal_places' => 2, - 'portability' => MDB2_PORTABILITY_ALL, - 'modules' => array( - 'ex' => 'Extended', - 'dt' => 'Datatype', - 'mg' => 'Manager', - 'rv' => 'Reverse', - 'na' => 'Native', - 'fc' => 'Function', - ), - 'emulate_prepared' => false, - 'datatype_map' => array(), - 'datatype_map_callback' => array(), - 'nativetype_map_callback' => array(), - 'lob_allow_url_include' => false, - 'bindname_format' => '(?:\d+)|(?:[a-zA-Z][a-zA-Z0-9_]*)', - 'max_identifiers_length' => 30, - 'default_fk_action_onupdate' => 'RESTRICT', - 'default_fk_action_ondelete' => 'RESTRICT', - ); - - /** - * string array - * @var string - * @access public - */ - public $string_quoting = array( - 'start' => "'", - 'end' => "'", - 'escape' => false, - 'escape_pattern' => false, - ); - - /** - * identifier quoting - * @var array - * @access public - */ - public $identifier_quoting = array( - 'start' => '"', - 'end' => '"', - 'escape' => '"', - ); - - /** - * sql comments - * @var array - * @access protected - */ - public $sql_comments = array( - array('start' => '--', 'end' => "\n", 'escape' => false), - array('start' => '/*', 'end' => '*/', 'escape' => false), - ); - - /** - * comparision wildcards - * @var array - * @access protected - */ - protected $wildcards = array('%', '_'); - - /** - * column alias keyword - * @var string - * @access protected - */ - public $as_keyword = ' AS '; - - /** - * warnings - * @var array - * @access protected - */ - public $warnings = array(); - - /** - * string with the debugging information - * @var string - * @access public - */ - public $debug_output = ''; - - /** - * determine if there is an open transaction - * @var bool - * @access protected - */ - public $in_transaction = false; - - /** - * the smart transaction nesting depth - * @var int - * @access protected - */ - public $nested_transaction_counter = null; - - /** - * the first error that occured inside a nested transaction - * @var MDB2_Error|bool - * @access protected - */ - protected $has_transaction_error = false; - - /** - * result offset used in the next query - * @var int - * @access public - */ - public $offset = 0; - - /** - * result limit used in the next query - * @var int - * @access public - */ - public $limit = 0; - - /** - * Database backend used in PHP (mysql, odbc etc.) - * @var string - * @access public - */ - public $phptype; - - /** - * Database used with regards to SQL syntax etc. - * @var string - * @access public - */ - public $dbsyntax; - - /** - * the last query sent to the driver - * @var string - * @access public - */ - public $last_query; - - /** - * the default fetchmode used - * @var int - * @access public - */ - public $fetchmode = MDB2_FETCHMODE_ORDERED; - - /** - * array of module instances - * @var array - * @access protected - */ - protected $modules = array(); - - /** - * determines of the PHP4 destructor emulation has been enabled yet - * @var array - * @access protected - */ - protected $destructor_registered = true; - - /** - * @var PEAR - */ - protected $pear; - - // }}} - // {{{ constructor: function __construct() - - /** - * Constructor - */ - function __construct() - { - end($GLOBALS['_MDB2_databases']); - $db_index = key($GLOBALS['_MDB2_databases']) + 1; - $GLOBALS['_MDB2_databases'][$db_index] = &$this; - $this->db_index = $db_index; - $this->pear = new PEAR; - } - - // }}} - // {{{ destructor: function __destruct() - - /** - * Destructor - */ - function __destruct() - { - $this->disconnect(false); - } - - // }}} - // {{{ function free() - - /** - * Free the internal references so that the instance can be destroyed - * - * @return bool true on success, false if result is invalid - * - * @access public - */ - function free() - { - unset($GLOBALS['_MDB2_databases'][$this->db_index]); - unset($this->db_index); - return MDB2_OK; - } - - // }}} - // {{{ function __toString() - - /** - * String conversation - * - * @return string representation of the object - * - * @access public - */ - function __toString() - { - $info = get_class($this); - $info.= ': (phptype = '.$this->phptype.', dbsyntax = '.$this->dbsyntax.')'; - if ($this->connection) { - $info.= ' [connected]'; - } - return $info; - } - - // }}} - // {{{ function errorInfo($error = null) - - /** - * This method is used to collect information about an error - * - * @param mixed error code or resource - * - * @return array with MDB2 errorcode, native error code, native message - * - * @access public - */ - function errorInfo($error = null) - { - return array($error, null, null); - } - - // }}} - // {{{ function &raiseError($code = null, $mode = null, $options = null, $userinfo = null) - - /** - * This method is used to communicate an error and invoke error - * callbacks etc. Basically a wrapper for PEAR::raiseError - * without the message string. - * - * @param mixed $code integer error code, or a PEAR error object (all - * other parameters are ignored if this parameter is - * an object - * @param int $mode error mode, see PEAR_Error docs - * @param mixed $options If error mode is PEAR_ERROR_TRIGGER, this is the - * error level (E_USER_NOTICE etc). If error mode is - * PEAR_ERROR_CALLBACK, this is the callback function, - * either as a function name, or as an array of an - * object and method name. For other error modes this - * parameter is ignored. - * @param string $userinfo Extra debug information. Defaults to the last - * query and native error code. - * @param string $method name of the method that triggered the error - * @param string $dummy1 not used - * @param bool $dummy2 not used - * - * @return PEAR_Error instance of a PEAR Error object - * @access public - * @see PEAR_Error - */ - function &raiseError($code = null, - $mode = null, - $options = null, - $userinfo = null, - $method = null, - $dummy1 = null, - $dummy2 = false - ) { - $userinfo = "[Error message: $userinfo]\n"; - // The error is yet a MDB2 error object - if (MDB2::isError($code)) { - // because we use the static PEAR::raiseError, our global - // handler should be used if it is set - if ((null === $mode) && !empty($this->_default_error_mode)) { - $mode = $this->_default_error_mode; - $options = $this->_default_error_options; - } - if (null === $userinfo) { - $userinfo = $code->getUserinfo(); - } - $code = $code->getCode(); - } elseif ($code == MDB2_ERROR_NOT_FOUND) { - // extension not loaded: don't call $this->errorInfo() or the script - // will die - } elseif (isset($this->connection)) { - if (!empty($this->last_query)) { - $userinfo.= "[Last executed query: {$this->last_query}]\n"; - } - $native_errno = $native_msg = null; - list($code, $native_errno, $native_msg) = $this->errorInfo($code); - if ((null !== $native_errno) && $native_errno !== '') { - $userinfo.= "[Native code: $native_errno]\n"; - } - if ((null !== $native_msg) && $native_msg !== '') { - $userinfo.= "[Native message: ". strip_tags($native_msg) ."]\n"; - } - if (null !== $method) { - $userinfo = $method.': '.$userinfo; - } - } - - $err = $this->pear->raiseError(null, $code, $mode, $options, $userinfo, 'MDB2_Error', true); - if ($err->getMode() !== PEAR_ERROR_RETURN - && isset($this->nested_transaction_counter) && !$this->has_transaction_error) { - $this->has_transaction_error = $err; - } - return $err; - } - - // }}} - // {{{ function resetWarnings() - - /** - * reset the warning array - * - * @return void - * - * @access public - */ - function resetWarnings() - { - $this->warnings = array(); - } - - // }}} - // {{{ function getWarnings() - - /** - * Get all warnings in reverse order. - * This means that the last warning is the first element in the array - * - * @return array with warnings - * - * @access public - * @see resetWarnings() - */ - function getWarnings() - { - return array_reverse($this->warnings); - } - - // }}} - // {{{ function setFetchMode($fetchmode, $object_class = 'stdClass') - - /** - * Sets which fetch mode should be used by default on queries - * on this connection - * - * @param int MDB2_FETCHMODE_ORDERED, MDB2_FETCHMODE_ASSOC - * or MDB2_FETCHMODE_OBJECT - * @param string the class name of the object to be returned - * by the fetch methods when the - * MDB2_FETCHMODE_OBJECT mode is selected. - * If no class is specified by default a cast - * to object from the assoc array row will be - * done. There is also the possibility to use - * and extend the 'MDB2_row' class. - * - * @return mixed MDB2_OK or MDB2 Error Object - * - * @access public - * @see MDB2_FETCHMODE_ORDERED, MDB2_FETCHMODE_ASSOC, MDB2_FETCHMODE_OBJECT - */ - function setFetchMode($fetchmode, $object_class = 'stdClass') - { - switch ($fetchmode) { - case MDB2_FETCHMODE_OBJECT: - $this->options['fetch_class'] = $object_class; - case MDB2_FETCHMODE_ORDERED: - case MDB2_FETCHMODE_ASSOC: - $this->fetchmode = $fetchmode; - break; - default: - return $this->raiseError(MDB2_ERROR_UNSUPPORTED, null, null, - 'invalid fetchmode mode', __FUNCTION__); - } - - return MDB2_OK; - } - - // }}} - // {{{ function setOption($option, $value) - - /** - * set the option for the db class - * - * @param string option name - * @param mixed value for the option - * - * @return mixed MDB2_OK or MDB2 Error Object - * - * @access public - */ - function setOption($option, $value) - { - if (array_key_exists($option, $this->options)) { - $this->options[$option] = $value; - return MDB2_OK; - } - return $this->raiseError(MDB2_ERROR_UNSUPPORTED, null, null, - "unknown option $option", __FUNCTION__); - } - - // }}} - // {{{ function getOption($option) - - /** - * Returns the value of an option - * - * @param string option name - * - * @return mixed the option value or error object - * - * @access public - */ - function getOption($option) - { - if (array_key_exists($option, $this->options)) { - return $this->options[$option]; - } - return $this->raiseError(MDB2_ERROR_UNSUPPORTED, null, null, - "unknown option $option", __FUNCTION__); - } - - // }}} - // {{{ function debug($message, $scope = '', $is_manip = null) - - /** - * set a debug message - * - * @param string message that should be appended to the debug variable - * @param string usually the method name that triggered the debug call: - * for example 'query', 'prepare', 'execute', 'parameters', - * 'beginTransaction', 'commit', 'rollback' - * @param array contains context information about the debug() call - * common keys are: is_manip, time, result etc. - * - * @return void - * - * @access public - */ - function debug($message, $scope = '', $context = array()) - { - if ($this->options['debug'] && $this->options['debug_handler']) { - if (!$this->options['debug_expanded_output']) { - if (!empty($context['when']) && $context['when'] !== 'pre') { - return null; - } - $context = empty($context['is_manip']) ? false : $context['is_manip']; - } - return call_user_func_array($this->options['debug_handler'], array(&$this, $scope, $message, $context)); - } - return null; - } - - // }}} - // {{{ function getDebugOutput() - - /** - * output debug info - * - * @return string content of the debug_output class variable - * - * @access public - */ - function getDebugOutput() - { - return $this->debug_output; - } - - // }}} - // {{{ function escape($text) - - /** - * Quotes a string so it can be safely used in a query. It will quote - * the text so it can safely be used within a query. - * - * @param string the input string to quote - * @param bool escape wildcards - * - * @return string quoted string - * - * @access public - */ - function escape($text, $escape_wildcards = false) - { - if ($escape_wildcards) { - $text = $this->escapePattern($text); - } - - $text = str_replace($this->string_quoting['end'], $this->string_quoting['escape'] . $this->string_quoting['end'], $text); - return $text; - } - - // }}} - // {{{ function escapePattern($text) - - /** - * Quotes pattern (% and _) characters in a string) - * - * @param string the input string to quote - * - * @return string quoted string - * - * @access public - */ - function escapePattern($text) - { - if ($this->string_quoting['escape_pattern']) { - $text = str_replace($this->string_quoting['escape_pattern'], $this->string_quoting['escape_pattern'] . $this->string_quoting['escape_pattern'], $text); - foreach ($this->wildcards as $wildcard) { - $text = str_replace($wildcard, $this->string_quoting['escape_pattern'] . $wildcard, $text); - } - } - return $text; - } - - // }}} - // {{{ function quoteIdentifier($str, $check_option = false) - - /** - * Quote a string so it can be safely used as a table or column name - * - * Delimiting style depends on which database driver is being used. - * - * NOTE: just because you CAN use delimited identifiers doesn't mean - * you SHOULD use them. In general, they end up causing way more - * problems than they solve. - * - * NOTE: if you have table names containing periods, don't use this method - * (@see bug #11906) - * - * Portability is broken by using the following characters inside - * delimited identifiers: - * + backtick (`) -- due to MySQL - * + double quote (") -- due to Oracle - * + brackets ([ or ]) -- due to Access - * - * Delimited identifiers are known to generally work correctly under - * the following drivers: - * + mssql - * + mysql - * + mysqli - * + oci8 - * + pgsql - * + sqlite - * - * InterBase doesn't seem to be able to use delimited identifiers - * via PHP 4. They work fine under PHP 5. - * - * @param string identifier name to be quoted - * @param bool check the 'quote_identifier' option - * - * @return string quoted identifier string - * - * @access public - */ - function quoteIdentifier($str, $check_option = false) - { - if ($check_option && !$this->options['quote_identifier']) { - return $str; - } - $str = str_replace($this->identifier_quoting['end'], $this->identifier_quoting['escape'] . $this->identifier_quoting['end'], $str); - $parts = explode('.', $str); - foreach (array_keys($parts) as $k) { - $parts[$k] = $this->identifier_quoting['start'] . $parts[$k] . $this->identifier_quoting['end']; - } - return implode('.', $parts); - } - - // }}} - // {{{ function getAsKeyword() - - /** - * Gets the string to alias column - * - * @return string to use when aliasing a column - */ - function getAsKeyword() - { - return $this->as_keyword; - } - - // }}} - // {{{ function getConnection() - - /** - * Returns a native connection - * - * @return mixed a valid MDB2 connection object, - * or a MDB2 error object on error - * - * @access public - */ - function getConnection() - { - $result = $this->connect(); - if (MDB2::isError($result)) { - return $result; - } - return $this->connection; - } - - // }}} - // {{{ function _fixResultArrayValues(&$row, $mode) - - /** - * Do all necessary conversions on result arrays to fix DBMS quirks - * - * @param array the array to be fixed (passed by reference) - * @param array bit-wise addition of the required portability modes - * - * @return void - * - * @access protected - */ - function _fixResultArrayValues(&$row, $mode) - { - switch ($mode) { - case MDB2_PORTABILITY_EMPTY_TO_NULL: - foreach ($row as $key => $value) { - if ($value === '') { - $row[$key] = null; - } - } - break; - case MDB2_PORTABILITY_RTRIM: - foreach ($row as $key => $value) { - if (is_string($value)) { - $row[$key] = rtrim($value); - } - } - break; - case MDB2_PORTABILITY_FIX_ASSOC_FIELD_NAMES: - $tmp_row = array(); - foreach ($row as $key => $value) { - $tmp_row[preg_replace('/^(?:.*\.)?([^.]+)$/', '\\1', $key)] = $value; - } - $row = $tmp_row; - break; - case (MDB2_PORTABILITY_RTRIM + MDB2_PORTABILITY_EMPTY_TO_NULL): - foreach ($row as $key => $value) { - if ($value === '') { - $row[$key] = null; - } elseif (is_string($value)) { - $row[$key] = rtrim($value); - } - } - break; - case (MDB2_PORTABILITY_RTRIM + MDB2_PORTABILITY_FIX_ASSOC_FIELD_NAMES): - $tmp_row = array(); - foreach ($row as $key => $value) { - if (is_string($value)) { - $value = rtrim($value); - } - $tmp_row[preg_replace('/^(?:.*\.)?([^.]+)$/', '\\1', $key)] = $value; - } - $row = $tmp_row; - break; - case (MDB2_PORTABILITY_EMPTY_TO_NULL + MDB2_PORTABILITY_FIX_ASSOC_FIELD_NAMES): - $tmp_row = array(); - foreach ($row as $key => $value) { - if ($value === '') { - $value = null; - } - $tmp_row[preg_replace('/^(?:.*\.)?([^.]+)$/', '\\1', $key)] = $value; - } - $row = $tmp_row; - break; - case (MDB2_PORTABILITY_RTRIM + MDB2_PORTABILITY_EMPTY_TO_NULL + MDB2_PORTABILITY_FIX_ASSOC_FIELD_NAMES): - $tmp_row = array(); - foreach ($row as $key => $value) { - if ($value === '') { - $value = null; - } elseif (is_string($value)) { - $value = rtrim($value); - } - $tmp_row[preg_replace('/^(?:.*\.)?([^.]+)$/', '\\1', $key)] = $value; - } - $row = $tmp_row; - break; - } - } - - // }}} - // {{{ function loadModule($module, $property = null, $phptype_specific = null) - - /** - * loads a module - * - * @param string name of the module that should be loaded - * (only used for error messages) - * @param string name of the property into which the class will be loaded - * @param bool if the class to load for the module is specific to the - * phptype - * - * @return object on success a reference to the given module is returned - * and on failure a PEAR error - * - * @access public - */ - function loadModule($module, $property = null, $phptype_specific = null) - { - if (!$property) { - $property = strtolower($module); - } - - if (!isset($this->{$property})) { - $version = $phptype_specific; - if ($phptype_specific !== false) { - $version = true; - $class_name = 'MDB2_Driver_'.$module.'_'.$this->phptype; - $file_name = str_replace('_', DIRECTORY_SEPARATOR, $class_name).'.php'; - } - if ($phptype_specific === false - || (!MDB2::classExists($class_name) && !MDB2::fileExists($file_name)) - ) { - $version = false; - $class_name = 'MDB2_'.$module; - $file_name = str_replace('_', DIRECTORY_SEPARATOR, $class_name).'.php'; - } - - $err = MDB2::loadClass($class_name, $this->getOption('debug')); - if (MDB2::isError($err)) { - return $err; - } - - // load module in a specific version - if ($version) { - if (method_exists($class_name, 'getClassName')) { - $class_name_new = call_user_func(array($class_name, 'getClassName'), $this->db_index); - if ($class_name != $class_name_new) { - $class_name = $class_name_new; - $err = MDB2::loadClass($class_name, $this->getOption('debug')); - if (MDB2::isError($err)) { - return $err; - } - } - } - } - - if (!MDB2::classExists($class_name)) { - $err = $this->raiseError(MDB2_ERROR_LOADMODULE, null, null, - "unable to load module '$module' into property '$property'", __FUNCTION__); - return $err; - } - $this->{$property} = new $class_name($this->db_index); - $this->modules[$module] = $this->{$property}; - if ($version) { - // this will be used in the connect method to determine if the module - // needs to be loaded with a different version if the server - // version changed in between connects - $this->loaded_version_modules[] = $property; - } - } - - return $this->{$property}; - } - - // }}} - // {{{ function __call($method, $params) - - /** - * Calls a module method using the __call magic method - * - * @param string Method name. - * @param array Arguments. - * - * @return mixed Returned value. - */ - function __call($method, $params) - { - $module = null; - if (preg_match('/^([a-z]+)([A-Z])(.*)$/', $method, $match) - && isset($this->options['modules'][$match[1]]) - ) { - $module = $this->options['modules'][$match[1]]; - $method = strtolower($match[2]).$match[3]; - if (!isset($this->modules[$module]) || !is_object($this->modules[$module])) { - $result = $this->loadModule($module); - if (MDB2::isError($result)) { - return $result; - } - } - } else { - foreach ($this->modules as $key => $foo) { - if (is_object($this->modules[$key]) - && method_exists($this->modules[$key], $method) - ) { - $module = $key; - break; - } - } - } - if (null !== $module) { - return call_user_func_array(array(&$this->modules[$module], $method), $params); - } - trigger_error(sprintf('Call to undefined function: %s::%s().', get_class($this), $method), E_USER_ERROR); - } - - // }}} - // {{{ function beginTransaction($savepoint = null) - - /** - * Start a transaction or set a savepoint. - * - * @param string name of a savepoint to set - * @return mixed MDB2_OK on success, a MDB2 error on failure - * - * @access public - */ - function beginTransaction($savepoint = null) - { - $this->debug('Starting transaction', __FUNCTION__, array('is_manip' => true, 'savepoint' => $savepoint)); - return $this->raiseError(MDB2_ERROR_UNSUPPORTED, null, null, - 'transactions are not supported', __FUNCTION__); - } - - // }}} - // {{{ function commit($savepoint = null) - - /** - * Commit the database changes done during a transaction that is in - * progress or release a savepoint. This function may only be called when - * auto-committing is disabled, otherwise it will fail. Therefore, a new - * transaction is implicitly started after committing the pending changes. - * - * @param string name of a savepoint to release - * @return mixed MDB2_OK on success, a MDB2 error on failure - * - * @access public - */ - function commit($savepoint = null) - { - $this->debug('Committing transaction/savepoint', __FUNCTION__, array('is_manip' => true, 'savepoint' => $savepoint)); - return $this->raiseError(MDB2_ERROR_UNSUPPORTED, null, null, - 'commiting transactions is not supported', __FUNCTION__); - } - - // }}} - // {{{ function rollback($savepoint = null) - - /** - * Cancel any database changes done during a transaction or since a specific - * savepoint that is in progress. This function may only be called when - * auto-committing is disabled, otherwise it will fail. Therefore, a new - * transaction is implicitly started after canceling the pending changes. - * - * @param string name of a savepoint to rollback to - * @return mixed MDB2_OK on success, a MDB2 error on failure - * - * @access public - */ - function rollback($savepoint = null) - { - $this->debug('Rolling back transaction/savepoint', __FUNCTION__, array('is_manip' => true, 'savepoint' => $savepoint)); - return $this->raiseError(MDB2_ERROR_UNSUPPORTED, null, null, - 'rolling back transactions is not supported', __FUNCTION__); - } - - // }}} - // {{{ function inTransaction($ignore_nested = false) - - /** - * If a transaction is currently open. - * - * @param bool if the nested transaction count should be ignored - * @return int|bool - an integer with the nesting depth is returned if a - * nested transaction is open - * - true is returned for a normal open transaction - * - false is returned if no transaction is open - * - * @access public - */ - function inTransaction($ignore_nested = false) - { - if (!$ignore_nested && isset($this->nested_transaction_counter)) { - return $this->nested_transaction_counter; - } - return $this->in_transaction; - } - - // }}} - // {{{ function setTransactionIsolation($isolation) - - /** - * Set the transacton isolation level. - * - * @param string standard isolation level - * READ UNCOMMITTED (allows dirty reads) - * READ COMMITTED (prevents dirty reads) - * REPEATABLE READ (prevents nonrepeatable reads) - * SERIALIZABLE (prevents phantom reads) - * @param array some transaction options: - * 'wait' => 'WAIT' | 'NO WAIT' - * 'rw' => 'READ WRITE' | 'READ ONLY' - * @return mixed MDB2_OK on success, a MDB2 error on failure - * - * @access public - * @since 2.1.1 - */ - function setTransactionIsolation($isolation, $options = array()) - { - $this->debug('Setting transaction isolation level', __FUNCTION__, array('is_manip' => true)); - return $this->raiseError(MDB2_ERROR_UNSUPPORTED, null, null, - 'isolation level setting is not supported', __FUNCTION__); - } - - // }}} - // {{{ function beginNestedTransaction($savepoint = false) - - /** - * Start a nested transaction. - * - * @return mixed MDB2_OK on success/savepoint name, a MDB2 error on failure - * - * @access public - * @since 2.1.1 - */ - function beginNestedTransaction() - { - if ($this->in_transaction) { - ++$this->nested_transaction_counter; - $savepoint = sprintf($this->options['savepoint_format'], $this->nested_transaction_counter); - if ($this->supports('savepoints') && $savepoint) { - return $this->beginTransaction($savepoint); - } - return MDB2_OK; - } - $this->has_transaction_error = false; - $result = $this->beginTransaction(); - $this->nested_transaction_counter = 1; - return $result; - } - - // }}} - // {{{ function completeNestedTransaction($force_rollback = false, $release = false) - - /** - * Finish a nested transaction by rolling back if an error occured or - * committing otherwise. - * - * @param bool if the transaction should be rolled back regardless - * even if no error was set within the nested transaction - * @return mixed MDB_OK on commit/counter decrementing, false on rollback - * and a MDB2 error on failure - * - * @access public - * @since 2.1.1 - */ - function completeNestedTransaction($force_rollback = false) - { - if ($this->nested_transaction_counter > 1) { - $savepoint = sprintf($this->options['savepoint_format'], $this->nested_transaction_counter); - if ($this->supports('savepoints') && $savepoint) { - if ($force_rollback || $this->has_transaction_error) { - $result = $this->rollback($savepoint); - if (!MDB2::isError($result)) { - $result = false; - $this->has_transaction_error = false; - } - } else { - $result = $this->commit($savepoint); - } - } else { - $result = MDB2_OK; - } - --$this->nested_transaction_counter; - return $result; - } - - $this->nested_transaction_counter = null; - $result = MDB2_OK; - - // transaction has not yet been rolled back - if ($this->in_transaction) { - if ($force_rollback || $this->has_transaction_error) { - $result = $this->rollback(); - if (!MDB2::isError($result)) { - $result = false; - } - } else { - $result = $this->commit(); - } - } - $this->has_transaction_error = false; - return $result; - } - - // }}} - // {{{ function failNestedTransaction($error = null, $immediately = false) - - /** - * Force setting nested transaction to failed. - * - * @param mixed value to return in getNestededTransactionError() - * @param bool if the transaction should be rolled back immediately - * @return bool MDB2_OK - * - * @access public - * @since 2.1.1 - */ - function failNestedTransaction($error = null, $immediately = false) - { - if (null !== $error) { - $error = $this->has_transaction_error ? $this->has_transaction_error : true; - } elseif (!$error) { - $error = true; - } - $this->has_transaction_error = $error; - if (!$immediately) { - return MDB2_OK; - } - return $this->rollback(); - } - - // }}} - // {{{ function getNestedTransactionError() - - /** - * The first error that occured since the transaction start. - * - * @return MDB2_Error|bool MDB2 error object if an error occured or false. - * - * @access public - * @since 2.1.1 - */ - function getNestedTransactionError() - { - return $this->has_transaction_error; - } - - // }}} - // {{{ connect() - - /** - * Connect to the database - * - * @return true on success, MDB2 Error Object on failure - */ - function connect() - { - return $this->raiseError(MDB2_ERROR_UNSUPPORTED, null, null, - 'method not implemented', __FUNCTION__); - } - - // }}} - // {{{ databaseExists() - - /** - * check if given database name is exists? - * - * @param string $name name of the database that should be checked - * - * @return mixed true/false on success, a MDB2 error on failure - * @access public - */ - function databaseExists($name) - { - return $this->raiseError(MDB2_ERROR_UNSUPPORTED, null, null, - 'method not implemented', __FUNCTION__); - } - - // }}} - // {{{ setCharset($charset, $connection = null) - - /** - * Set the charset on the current connection - * - * @param string charset - * @param resource connection handle - * - * @return true on success, MDB2 Error Object on failure - */ - function setCharset($charset, $connection = null) - { - return $this->raiseError(MDB2_ERROR_UNSUPPORTED, null, null, - 'method not implemented', __FUNCTION__); - } - - // }}} - // {{{ function disconnect($force = true) - - /** - * Log out and disconnect from the database. - * - * @param boolean $force whether the disconnect should be forced even if the - * connection is opened persistently - * - * @return mixed true on success, false if not connected and error object on error - * - * @access public - */ - function disconnect($force = true) - { - $this->connection = 0; - $this->connected_dsn = array(); - $this->connected_database_name = ''; - $this->opened_persistent = null; - $this->connected_server_info = ''; - $this->in_transaction = null; - $this->nested_transaction_counter = null; - return MDB2_OK; - } - - // }}} - // {{{ function setDatabase($name) - - /** - * Select a different database - * - * @param string name of the database that should be selected - * - * @return string name of the database previously connected to - * - * @access public - */ - function setDatabase($name) - { - $previous_database_name = (isset($this->database_name)) ? $this->database_name : ''; - $this->database_name = $name; - if (!empty($this->connected_database_name) && ($this->connected_database_name != $this->database_name)) { - $this->disconnect(false); - } - return $previous_database_name; - } - - // }}} - // {{{ function getDatabase() - - /** - * Get the current database - * - * @return string name of the database - * - * @access public - */ - function getDatabase() - { - return $this->database_name; - } - - // }}} - // {{{ function setDSN($dsn) - - /** - * set the DSN - * - * @param mixed DSN string or array - * - * @return MDB2_OK - * - * @access public - */ - function setDSN($dsn) - { - $dsn_default = $GLOBALS['_MDB2_dsninfo_default']; - $dsn = MDB2::parseDSN($dsn); - if (array_key_exists('database', $dsn)) { - $this->database_name = $dsn['database']; - unset($dsn['database']); - } - $this->dsn = array_merge($dsn_default, $dsn); - return $this->disconnect(false); - } - - // }}} - // {{{ function getDSN($type = 'string', $hidepw = false) - - /** - * return the DSN as a string - * - * @param string format to return ("array", "string") - * @param string string to hide the password with - * - * @return mixed DSN in the chosen type - * - * @access public - */ - function getDSN($type = 'string', $hidepw = false) - { - $dsn = array_merge($GLOBALS['_MDB2_dsninfo_default'], $this->dsn); - $dsn['phptype'] = $this->phptype; - $dsn['database'] = $this->database_name; - if ($hidepw) { - $dsn['password'] = $hidepw; - } - switch ($type) { - // expand to include all possible options - case 'string': - $dsn = $dsn['phptype']. - ($dsn['dbsyntax'] ? ('('.$dsn['dbsyntax'].')') : ''). - '://'.$dsn['username'].':'. - $dsn['password'].'@'.$dsn['hostspec']. - ($dsn['port'] ? (':'.$dsn['port']) : ''). - '/'.$dsn['database']; - break; - case 'array': - default: - break; - } - return $dsn; - } - - // }}} - // {{{ _isNewLinkSet() - - /** - * Check if the 'new_link' option is set - * - * @return boolean - * - * @access protected - */ - function _isNewLinkSet() - { - return (isset($this->dsn['new_link']) - && ($this->dsn['new_link'] === true - || (is_string($this->dsn['new_link']) && preg_match('/^true$/i', $this->dsn['new_link'])) - || (is_numeric($this->dsn['new_link']) && 0 != (int)$this->dsn['new_link']) - ) - ); - } - - // }}} - // {{{ function &standaloneQuery($query, $types = null, $is_manip = false) - - /** - * execute a query as database administrator - * - * @param string the SQL query - * @param mixed array that contains the types of the columns in - * the result set - * @param bool if the query is a manipulation query - * - * @return mixed MDB2_OK on success, a MDB2 error on failure - * - * @access public - */ - function standaloneQuery($query, $types = null, $is_manip = false) - { - $offset = $this->offset; - $limit = $this->limit; - $this->offset = $this->limit = 0; - $query = $this->_modifyQuery($query, $is_manip, $limit, $offset); - - $connection = $this->getConnection(); - if (MDB2::isError($connection)) { - return $connection; - } - - $result = $this->_doQuery($query, $is_manip, $connection, false); - if (MDB2::isError($result)) { - return $result; - } - - if ($is_manip) { - $affected_rows = $this->_affectedRows($connection, $result); - return $affected_rows; - } - $result = $this->_wrapResult($result, $types, true, true, $limit, $offset); - return $result; - } - - // }}} - // {{{ function _modifyQuery($query, $is_manip, $limit, $offset) - - /** - * Changes a query string for various DBMS specific reasons - * - * @param string query to modify - * @param bool if it is a DML query - * @param int limit the number of rows - * @param int start reading from given offset - * - * @return string modified query - * - * @access protected - */ - function _modifyQuery($query, $is_manip, $limit, $offset) - { - return $query; - } - - // }}} - // {{{ function &_doQuery($query, $is_manip = false, $connection = null, $database_name = null) - - /** - * Execute a query - * @param string query - * @param bool if the query is a manipulation query - * @param resource connection handle - * @param string database name - * - * @return result or error object - * - * @access protected - */ - function _doQuery($query, $is_manip = false, $connection = null, $database_name = null) - { - $this->last_query = $query; - $result = $this->debug($query, 'query', array('is_manip' => $is_manip, 'when' => 'pre')); - if ($result) { - if (MDB2::isError($result)) { - return $result; - } - $query = $result; - } - $err = MDB2_Driver_Common::raiseError(MDB2_ERROR_UNSUPPORTED, null, null, - 'method not implemented', __FUNCTION__); - return $err; - } - - // }}} - // {{{ function _affectedRows($connection, $result = null) - - /** - * Returns the number of rows affected - * - * @param resource result handle - * @param resource connection handle - * - * @return mixed MDB2 Error Object or the number of rows affected - * - * @access private - */ - function _affectedRows($connection, $result = null) - { - return MDB2_Driver_Common::raiseError(MDB2_ERROR_UNSUPPORTED, null, null, - 'method not implemented', __FUNCTION__); - } - - // }}} - // {{{ function &exec($query) - - /** - * Execute a manipulation query to the database and return the number of affected rows - * - * @param string the SQL query - * - * @return mixed number of affected rows on success, a MDB2 error on failure - * - * @access public - */ - function exec($query) - { - $offset = $this->offset; - $limit = $this->limit; - $this->offset = $this->limit = 0; - $query = $this->_modifyQuery($query, true, $limit, $offset); - - $connection = $this->getConnection(); - if (MDB2::isError($connection)) { - return $connection; - } - - $result = $this->_doQuery($query, true, $connection, $this->database_name); - if (MDB2::isError($result)) { - return $result; - } - - $affectedRows = $this->_affectedRows($connection, $result); - return $affectedRows; - } - - // }}} - // {{{ function &query($query, $types = null, $result_class = true, $result_wrap_class = false) - - /** - * Send a query to the database and return any results - * - * @param string the SQL query - * @param mixed array that contains the types of the columns in - * the result set - * @param mixed string which specifies which result class to use - * @param mixed string which specifies which class to wrap results in - * - * @return mixed an MDB2_Result handle on success, a MDB2 error on failure - * - * @access public - */ - function query($query, $types = null, $result_class = true, $result_wrap_class = true) - { - $offset = $this->offset; - $limit = $this->limit; - $this->offset = $this->limit = 0; - $query = $this->_modifyQuery($query, false, $limit, $offset); - - $connection = $this->getConnection(); - if (MDB2::isError($connection)) { - return $connection; - } - - $result = $this->_doQuery($query, false, $connection, $this->database_name); - if (MDB2::isError($result)) { - return $result; - } - - $result = $this->_wrapResult($result, $types, $result_class, $result_wrap_class, $limit, $offset); - return $result; - } - - // }}} - // {{{ function _wrapResult($result_resource, $types = array(), $result_class = true, $result_wrap_class = false, $limit = null, $offset = null) - - /** - * wrap a result set into the correct class - * - * @param resource result handle - * @param mixed array that contains the types of the columns in - * the result set - * @param mixed string which specifies which result class to use - * @param mixed string which specifies which class to wrap results in - * @param string number of rows to select - * @param string first row to select - * - * @return mixed an MDB2_Result, a MDB2 error on failure - * - * @access protected - */ - function _wrapResult($result_resource, $types = array(), $result_class = true, - $result_wrap_class = true, $limit = null, $offset = null) - { - if ($types === true) { - if ($this->supports('result_introspection')) { - $this->loadModule('Reverse', null, true); - $tableInfo = $this->reverse->tableInfo($result_resource); - if (MDB2::isError($tableInfo)) { - return $tableInfo; - } - $types = array(); - $types_assoc = array(); - foreach ($tableInfo as $field) { - $types[] = $field['mdb2type']; - $types_assoc[$field['name']] = $field['mdb2type']; - } - } else { - $types = null; - } - } - - if ($result_class === true) { - $result_class = $this->options['result_buffering'] - ? $this->options['buffered_result_class'] : $this->options['result_class']; - } - - if ($result_class) { - $class_name = sprintf($result_class, $this->phptype); - if (!MDB2::classExists($class_name)) { - $err = MDB2_Driver_Common::raiseError(MDB2_ERROR_NOT_FOUND, null, null, - 'result class does not exist '.$class_name, __FUNCTION__); - return $err; - } - $result = new $class_name($this, $result_resource, $limit, $offset); - if (!MDB2::isResultCommon($result)) { - $err = MDB2_Driver_Common::raiseError(MDB2_ERROR_NOT_FOUND, null, null, - 'result class is not extended from MDB2_Result_Common', __FUNCTION__); - return $err; - } - - if (!empty($types)) { - $err = $result->setResultTypes($types); - if (MDB2::isError($err)) { - $result->free(); - return $err; - } - } - if (!empty($types_assoc)) { - $err = $result->setResultTypes($types_assoc); - if (MDB2::isError($err)) { - $result->free(); - return $err; - } - } - - if ($result_wrap_class === true) { - $result_wrap_class = $this->options['result_wrap_class']; - } - if ($result_wrap_class) { - if (!MDB2::classExists($result_wrap_class)) { - $err = MDB2_Driver_Common::raiseError(MDB2_ERROR_NOT_FOUND, null, null, - 'result wrap class does not exist '.$result_wrap_class, __FUNCTION__); - return $err; - } - $result = new $result_wrap_class($result, $this->fetchmode); - } - - return $result; - } - - return $result_resource; - } - - // }}} - // {{{ function getServerVersion($native = false) - - /** - * return version information about the server - * - * @param bool determines if the raw version string should be returned - * - * @return mixed array with version information or row string - * - * @access public - */ - function getServerVersion($native = false) - { - return MDB2_Driver_Common::raiseError(MDB2_ERROR_UNSUPPORTED, null, null, - 'method not implemented', __FUNCTION__); - } - - // }}} - // {{{ function setLimit($limit, $offset = null) - - /** - * set the range of the next query - * - * @param string number of rows to select - * @param string first row to select - * - * @return mixed MDB2_OK on success, a MDB2 error on failure - * - * @access public - */ - function setLimit($limit, $offset = null) - { - if (!$this->supports('limit_queries')) { - return MDB2_Driver_Common::raiseError(MDB2_ERROR_UNSUPPORTED, null, null, - 'limit is not supported by this driver', __FUNCTION__); - } - $limit = (int)$limit; - if ($limit < 0) { - return MDB2_Driver_Common::raiseError(MDB2_ERROR_SYNTAX, null, null, - 'it was not specified a valid selected range row limit', __FUNCTION__); - } - $this->limit = $limit; - if (null !== $offset) { - $offset = (int)$offset; - if ($offset < 0) { - return MDB2_Driver_Common::raiseError(MDB2_ERROR_SYNTAX, null, null, - 'it was not specified a valid first selected range row', __FUNCTION__); - } - $this->offset = $offset; - } - return MDB2_OK; - } - - // }}} - // {{{ function subSelect($query, $type = false) - - /** - * simple subselect emulation: leaves the query untouched for all RDBMS - * that support subselects - * - * @param string the SQL query for the subselect that may only - * return a column - * @param string determines type of the field - * - * @return string the query - * - * @access public - */ - function subSelect($query, $type = false) - { - if ($this->supports('sub_selects') === true) { - return $query; - } - - if (!$this->supports('sub_selects')) { - return MDB2_Driver_Common::raiseError(MDB2_ERROR_UNSUPPORTED, null, null, - 'method not implemented', __FUNCTION__); - } - - $col = $this->queryCol($query, $type); - if (MDB2::isError($col)) { - return $col; - } - if (!is_array($col) || count($col) == 0) { - return 'NULL'; - } - if ($type) { - $this->loadModule('Datatype', null, true); - return $this->datatype->implodeArray($col, $type); - } - return implode(', ', $col); - } - - // }}} - // {{{ function replace($table, $fields) - - /** - * Execute a SQL REPLACE query. A REPLACE query is identical to a INSERT - * query, except that if there is already a row in the table with the same - * key field values, the old row is deleted before the new row is inserted. - * - * The REPLACE type of query does not make part of the SQL standards. Since - * practically only MySQL and SQLite implement it natively, this type of - * query isemulated through this method for other DBMS using standard types - * of queries inside a transaction to assure the atomicity of the operation. - * - * @param string name of the table on which the REPLACE query will - * be executed. - * @param array associative array that describes the fields and the - * values that will be inserted or updated in the specified table. The - * indexes of the array are the names of all the fields of the table. - * The values of the array are also associative arrays that describe - * the values and other properties of the table fields. - * - * Here follows a list of field properties that need to be specified: - * - * value - * Value to be assigned to the specified field. This value may be - * of specified in database independent type format as this - * function can perform the necessary datatype conversions. - * - * Default: this property is required unless the Null property is - * set to 1. - * - * type - * Name of the type of the field. Currently, all types MDB2 - * are supported except for clob and blob. - * - * Default: no type conversion - * - * null - * bool property that indicates that the value for this field - * should be set to null. - * - * The default value for fields missing in INSERT queries may be - * specified the definition of a table. Often, the default value - * is already null, but since the REPLACE may be emulated using - * an UPDATE query, make sure that all fields of the table are - * listed in this function argument array. - * - * Default: 0 - * - * key - * bool property that indicates that this field should be - * handled as a primary key or at least as part of the compound - * unique index of the table that will determine the row that will - * updated if it exists or inserted a new row otherwise. - * - * This function will fail if no key field is specified or if the - * value of a key field is set to null because fields that are - * part of unique index they may not be null. - * - * Default: 0 - * - * @return mixed MDB2_OK on success, a MDB2 error on failure - * - * @access public - */ - function replace($table, $fields) - { - if (!$this->supports('replace')) { - return MDB2_Driver_Common::raiseError(MDB2_ERROR_UNSUPPORTED, null, null, - 'replace query is not supported', __FUNCTION__); - } - $count = count($fields); - $condition = $values = array(); - for ($colnum = 0, reset($fields); $colnum < $count; next($fields), $colnum++) { - $name = key($fields); - if (isset($fields[$name]['null']) && $fields[$name]['null']) { - $value = 'NULL'; - } else { - $type = isset($fields[$name]['type']) ? $fields[$name]['type'] : null; - $value = $this->quote($fields[$name]['value'], $type); - } - $values[$name] = $value; - if (isset($fields[$name]['key']) && $fields[$name]['key']) { - if ($value === 'NULL') { - return MDB2_Driver_Common::raiseError(MDB2_ERROR_CANNOT_REPLACE, null, null, - 'key value '.$name.' may not be NULL', __FUNCTION__); - } - $condition[] = $this->quoteIdentifier($name, true) . '=' . $value; - } - } - if (empty($condition)) { - return MDB2_Driver_Common::raiseError(MDB2_ERROR_CANNOT_REPLACE, null, null, - 'not specified which fields are keys', __FUNCTION__); - } - - $result = null; - $in_transaction = $this->in_transaction; - if (!$in_transaction && MDB2::isError($result = $this->beginTransaction())) { - return $result; - } - - $connection = $this->getConnection(); - if (MDB2::isError($connection)) { - return $connection; - } - - $condition = ' WHERE '.implode(' AND ', $condition); - $query = 'DELETE FROM ' . $this->quoteIdentifier($table, true) . $condition; - $result = $this->_doQuery($query, true, $connection); - if (!MDB2::isError($result)) { - $affected_rows = $this->_affectedRows($connection, $result); - $insert = ''; - foreach ($values as $key => $value) { - $insert .= ($insert?', ':'') . $this->quoteIdentifier($key, true); - } - $values = implode(', ', $values); - $query = 'INSERT INTO '. $this->quoteIdentifier($table, true) . "($insert) VALUES ($values)"; - $result = $this->_doQuery($query, true, $connection); - if (!MDB2::isError($result)) { - $affected_rows += $this->_affectedRows($connection, $result);; - } - } - - if (!$in_transaction) { - if (MDB2::isError($result)) { - $this->rollback(); - } else { - $result = $this->commit(); - } - } - - if (MDB2::isError($result)) { - return $result; - } - - return $affected_rows; - } - - // }}} - // {{{ function &prepare($query, $types = null, $result_types = null, $lobs = array()) - - /** - * Prepares a query for multiple execution with execute(). - * With some database backends, this is emulated. - * prepare() requires a generic query as string like - * 'INSERT INTO numbers VALUES(?,?)' or - * 'INSERT INTO numbers VALUES(:foo,:bar)'. - * The ? and :name and are placeholders which can be set using - * bindParam() and the query can be sent off using the execute() method. - * The allowed format for :name can be set with the 'bindname_format' option. - * - * @param string the query to prepare - * @param mixed array that contains the types of the placeholders - * @param mixed array that contains the types of the columns in - * the result set or MDB2_PREPARE_RESULT, if set to - * MDB2_PREPARE_MANIP the query is handled as a manipulation query - * @param mixed key (field) value (parameter) pair for all lob placeholders - * - * @return mixed resource handle for the prepared query on success, - * a MDB2 error on failure - * - * @access public - * @see bindParam, execute - */ - function prepare($query, $types = null, $result_types = null, $lobs = array()) - { - $is_manip = ($result_types === MDB2_PREPARE_MANIP); - $offset = $this->offset; - $limit = $this->limit; - $this->offset = $this->limit = 0; - $result = $this->debug($query, __FUNCTION__, array('is_manip' => $is_manip, 'when' => 'pre')); - if ($result) { - if (MDB2::isError($result)) { - return $result; - } - $query = $result; - } - $placeholder_type_guess = $placeholder_type = null; - $question = '?'; - $colon = ':'; - $positions = array(); - $position = 0; - while ($position < strlen($query)) { - $q_position = strpos($query, $question, $position); - $c_position = strpos($query, $colon, $position); - if ($q_position && $c_position) { - $p_position = min($q_position, $c_position); - } elseif ($q_position) { - $p_position = $q_position; - } elseif ($c_position) { - $p_position = $c_position; - } else { - break; - } - if (null === $placeholder_type) { - $placeholder_type_guess = $query[$p_position]; - } - - $new_pos = $this->_skipDelimitedStrings($query, $position, $p_position); - if (MDB2::isError($new_pos)) { - return $new_pos; - } - if ($new_pos != $position) { - $position = $new_pos; - continue; //evaluate again starting from the new position - } - - if ($query[$position] == $placeholder_type_guess) { - if (null === $placeholder_type) { - $placeholder_type = $query[$p_position]; - $question = $colon = $placeholder_type; - if (!empty($types) && is_array($types)) { - if ($placeholder_type == ':') { - if (is_int(key($types))) { - $types_tmp = $types; - $types = array(); - $count = -1; - } - } else { - $types = array_values($types); - } - } - } - if ($placeholder_type == ':') { - $regexp = '/^.{'.($position+1).'}('.$this->options['bindname_format'].').*$/s'; - $parameter = preg_replace($regexp, '\\1', $query); - if ($parameter === '') { - $err = MDB2_Driver_Common::raiseError(MDB2_ERROR_SYNTAX, null, null, - 'named parameter name must match "bindname_format" option', __FUNCTION__); - return $err; - } - $positions[$p_position] = $parameter; - $query = substr_replace($query, '?', $position, strlen($parameter)+1); - // use parameter name in type array - if (isset($count) && isset($types_tmp[++$count])) { - $types[$parameter] = $types_tmp[$count]; - } - } else { - $positions[$p_position] = count($positions); - } - $position = $p_position + 1; - } else { - $position = $p_position; - } - } - $class_name = 'MDB2_Statement_'.$this->phptype; - $statement = null; - $obj = new $class_name($this, $statement, $positions, $query, $types, $result_types, $is_manip, $limit, $offset); - $this->debug($query, __FUNCTION__, array('is_manip' => $is_manip, 'when' => 'post', 'result' => $obj)); - return $obj; - } - - // }}} - // {{{ function _skipDelimitedStrings($query, $position, $p_position) - - /** - * Utility method, used by prepare() to avoid replacing placeholders within delimited strings. - * Check if the placeholder is contained within a delimited string. - * If so, skip it and advance the position, otherwise return the current position, - * which is valid - * - * @param string $query - * @param integer $position current string cursor position - * @param integer $p_position placeholder position - * - * @return mixed integer $new_position on success - * MDB2_Error on failure - * - * @access protected - */ - function _skipDelimitedStrings($query, $position, $p_position) - { - $ignores = array(); - $ignores[] = $this->string_quoting; - $ignores[] = $this->identifier_quoting; - $ignores = array_merge($ignores, $this->sql_comments); - - foreach ($ignores as $ignore) { - if (!empty($ignore['start'])) { - if (is_int($start_quote = strpos($query, $ignore['start'], $position)) && $start_quote < $p_position) { - $end_quote = $start_quote; - do { - if (!is_int($end_quote = strpos($query, $ignore['end'], $end_quote + 1))) { - if ($ignore['end'] === "\n") { - $end_quote = strlen($query) - 1; - } else { - $err = MDB2_Driver_Common::raiseError(MDB2_ERROR_SYNTAX, null, null, - 'query with an unterminated text string specified', __FUNCTION__); - return $err; - } - } - } while ($ignore['escape'] - && $end_quote-1 != $start_quote - && $query[($end_quote - 1)] == $ignore['escape'] - && ( $ignore['escape_pattern'] !== $ignore['escape'] - || $query[($end_quote - 2)] != $ignore['escape']) - ); - - $position = $end_quote + 1; - return $position; - } - } - } - return $position; - } - - // }}} - // {{{ function quote($value, $type = null, $quote = true) - - /** - * Convert a text value into a DBMS specific format that is suitable to - * compose query statements. - * - * @param string text string value that is intended to be converted. - * @param string type to which the value should be converted to - * @param bool quote - * @param bool escape wildcards - * - * @return string text string that represents the given argument value in - * a DBMS specific format. - * - * @access public - */ - function quote($value, $type = null, $quote = true, $escape_wildcards = false) - { - $result = $this->loadModule('Datatype', null, true); - if (MDB2::isError($result)) { - return $result; - } - - return $this->datatype->quote($value, $type, $quote, $escape_wildcards); - } - - // }}} - // {{{ function getDeclaration($type, $name, $field) - - /** - * Obtain DBMS specific SQL code portion needed to declare - * of the given type - * - * @param string type to which the value should be converted to - * @param string name the field to be declared. - * @param string definition of the field - * - * @return string DBMS specific SQL code portion that should be used to - * declare the specified field. - * - * @access public - */ - function getDeclaration($type, $name, $field) - { - $result = $this->loadModule('Datatype', null, true); - if (MDB2::isError($result)) { - return $result; - } - return $this->datatype->getDeclaration($type, $name, $field); - } - - // }}} - // {{{ function compareDefinition($current, $previous) - - /** - * Obtain an array of changes that may need to applied - * - * @param array new definition - * @param array old definition - * - * @return array containing all changes that will need to be applied - * - * @access public - */ - function compareDefinition($current, $previous) - { - $result = $this->loadModule('Datatype', null, true); - if (MDB2::isError($result)) { - return $result; - } - return $this->datatype->compareDefinition($current, $previous); - } - - // }}} - // {{{ function supports($feature) - - /** - * Tell whether a DB implementation or its backend extension - * supports a given feature. - * - * @param string name of the feature (see the MDB2 class doc) - * - * @return bool|string if this DB implementation supports a given feature - * false means no, true means native, - * 'emulated' means emulated - * - * @access public - */ - function supports($feature) - { - if (array_key_exists($feature, $this->supported)) { - return $this->supported[$feature]; - } - return MDB2_Driver_Common::raiseError(MDB2_ERROR_UNSUPPORTED, null, null, - "unknown support feature $feature", __FUNCTION__); - } - - // }}} - // {{{ function getSequenceName($sqn) - - /** - * adds sequence name formatting to a sequence name - * - * @param string name of the sequence - * - * @return string formatted sequence name - * - * @access public - */ - function getSequenceName($sqn) - { - return sprintf($this->options['seqname_format'], - preg_replace('/[^a-z0-9_\-\$.]/i', '_', $sqn)); - } - - // }}} - // {{{ function getIndexName($idx) - - /** - * adds index name formatting to a index name - * - * @param string name of the index - * - * @return string formatted index name - * - * @access public - */ - function getIndexName($idx) - { - return sprintf($this->options['idxname_format'], - preg_replace('/[^a-z0-9_\-\$.]/i', '_', $idx)); - } - - // }}} - // {{{ function nextID($seq_name, $ondemand = true) - - /** - * Returns the next free id of a sequence - * - * @param string name of the sequence - * @param bool when true missing sequences are automatic created - * - * @return mixed MDB2 Error Object or id - * - * @access public - */ - function nextID($seq_name, $ondemand = true) - { - return MDB2_Driver_Common::raiseError(MDB2_ERROR_UNSUPPORTED, null, null, - 'method not implemented', __FUNCTION__); - } - - // }}} - // {{{ function lastInsertID($table = null, $field = null) - - /** - * Returns the autoincrement ID if supported or $id or fetches the current - * ID in a sequence called: $table.(empty($field) ? '' : '_'.$field) - * - * @param string name of the table into which a new row was inserted - * @param string name of the field into which a new row was inserted - * - * @return mixed MDB2 Error Object or id - * - * @access public - */ - function lastInsertID($table = null, $field = null) - { - return MDB2_Driver_Common::raiseError(MDB2_ERROR_UNSUPPORTED, null, null, - 'method not implemented', __FUNCTION__); - } - - // }}} - // {{{ function currID($seq_name) - - /** - * Returns the current id of a sequence - * - * @param string name of the sequence - * - * @return mixed MDB2 Error Object or id - * - * @access public - */ - function currID($seq_name) - { - $this->warnings[] = 'database does not support getting current - sequence value, the sequence value was incremented'; - return $this->nextID($seq_name); - } - - // }}} - // {{{ function queryOne($query, $type = null, $colnum = 0) - - /** - * Execute the specified query, fetch the value from the first column of - * the first row of the result set and then frees - * the result set. - * - * @param string $query the SELECT query statement to be executed. - * @param string $type optional argument that specifies the expected - * datatype of the result set field, so that an eventual - * conversion may be performed. The default datatype is - * text, meaning that no conversion is performed - * @param mixed $colnum the column number (or name) to fetch - * - * @return mixed MDB2_OK or field value on success, a MDB2 error on failure - * - * @access public - */ - function queryOne($query, $type = null, $colnum = 0) - { - $result = $this->query($query, $type); - if (!MDB2::isResultCommon($result)) { - return $result; - } - - $one = $result->fetchOne($colnum); - $result->free(); - return $one; - } - - // }}} - // {{{ function queryRow($query, $types = null, $fetchmode = MDB2_FETCHMODE_DEFAULT) - - /** - * Execute the specified query, fetch the values from the first - * row of the result set into an array and then frees - * the result set. - * - * @param string the SELECT query statement to be executed. - * @param array optional array argument that specifies a list of - * expected datatypes of the result set columns, so that the eventual - * conversions may be performed. The default list of datatypes is - * empty, meaning that no conversion is performed. - * @param int how the array data should be indexed - * - * @return mixed MDB2_OK or data array on success, a MDB2 error on failure - * - * @access public - */ - function queryRow($query, $types = null, $fetchmode = MDB2_FETCHMODE_DEFAULT) - { - $result = $this->query($query, $types); - if (!MDB2::isResultCommon($result)) { - return $result; - } - - $row = $result->fetchRow($fetchmode); - $result->free(); - return $row; - } - - // }}} - // {{{ function queryCol($query, $type = null, $colnum = 0) - - /** - * Execute the specified query, fetch the value from the first column of - * each row of the result set into an array and then frees the result set. - * - * @param string $query the SELECT query statement to be executed. - * @param string $type optional argument that specifies the expected - * datatype of the result set field, so that an eventual - * conversion may be performed. The default datatype is text, - * meaning that no conversion is performed - * @param mixed $colnum the column number (or name) to fetch - * - * @return mixed MDB2_OK or data array on success, a MDB2 error on failure - * @access public - */ - function queryCol($query, $type = null, $colnum = 0) - { - $result = $this->query($query, $type); - if (!MDB2::isResultCommon($result)) { - return $result; - } - - $col = $result->fetchCol($colnum); - $result->free(); - return $col; - } - - // }}} - // {{{ function queryAll($query, $types = null, $fetchmode = MDB2_FETCHMODE_DEFAULT, $rekey = false, $force_array = false, $group = false) - - /** - * Execute the specified query, fetch all the rows of the result set into - * a two dimensional array and then frees the result set. - * - * @param string the SELECT query statement to be executed. - * @param array optional array argument that specifies a list of - * expected datatypes of the result set columns, so that the eventual - * conversions may be performed. The default list of datatypes is - * empty, meaning that no conversion is performed. - * @param int how the array data should be indexed - * @param bool if set to true, the $all will have the first - * column as its first dimension - * @param bool used only when the query returns exactly - * two columns. If true, the values of the returned array will be - * one-element arrays instead of scalars. - * @param bool if true, the values of the returned array is - * wrapped in another array. If the same key value (in the first - * column) repeats itself, the values will be appended to this array - * instead of overwriting the existing values. - * - * @return mixed MDB2_OK or data array on success, a MDB2 error on failure - * - * @access public - */ - function queryAll($query, $types = null, $fetchmode = MDB2_FETCHMODE_DEFAULT, - $rekey = false, $force_array = false, $group = false) - { - $result = $this->query($query, $types); - if (!MDB2::isResultCommon($result)) { - return $result; - } - - $all = $result->fetchAll($fetchmode, $rekey, $force_array, $group); - $result->free(); - return $all; - } - - // }}} - // {{{ function delExpect($error_code) - - /** - * This method deletes all occurences of the specified element from - * the expected error codes stack. - * - * @param mixed $error_code error code that should be deleted - * @return mixed list of error codes that were deleted or error - * - * @uses PEAR::delExpect() - */ - public function delExpect($error_code) - { - return $this->pear->delExpect($error_code); - } - - // }}} - // {{{ function expectError($code) - - /** - * This method is used to tell which errors you expect to get. - * Expected errors are always returned with error mode - * PEAR_ERROR_RETURN. Expected error codes are stored in a stack, - * and this method pushes a new element onto it. The list of - * expected errors are in effect until they are popped off the - * stack with the popExpect() method. - * - * Note that this method can not be called statically - * - * @param mixed $code a single error code or an array of error codes to expect - * - * @return int the new depth of the "expected errors" stack - * - * @uses PEAR::expectError() - */ - public function expectError($code = '*') - { - return $this->pear->expectError($code); - } - - // }}} - // {{{ function getStaticProperty($class, $var) - - /** - * 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 = &PEAR::getStaticProperty('myclass', 'myVar'); - * You MUST use a reference, or they will not persist! - * - * @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. - * - * @uses PEAR::getStaticProperty() - */ - public function &getStaticProperty($class, $var) - { - $tmp = $this->pear->getStaticProperty($class, $var); - return $tmp; - } - - // }}} - // {{{ function loadExtension($ext) - - /** - * OS independant PHP extension load. Remember to take care - * on the correct extension name for case sensitive OSes. - * - * @param string $ext The extension name - * @return bool Success or not on the dl() call - * - * @uses PEAR::loadExtension() - */ - public function loadExtension($ext) - { - return $this->pear->loadExtension($ext); - } - - // }}} - // {{{ function popErrorHandling() - - /** - * Pop the last error handler used - * - * @return bool Always true - * - * @see PEAR::pushErrorHandling - * @uses PEAR::popErrorHandling() - */ - public function popErrorHandling() - { - return $this->pear->popErrorHandling(); - } - - // }}} - // {{{ function popExpect() - - /** - * This method pops one element off the expected error codes - * stack. - * - * @return array the list of error codes that were popped - * - * @uses PEAR::popExpect() - */ - public function popExpect() - { - return $this->pear->popExpect(); - } - - // }}} - // {{{ function pushErrorHandling($mode, $options = null) - - /** - * 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 - * it later with popErrorHandling. - * - * @param mixed $mode (same as setErrorHandling) - * @param mixed $options (same as setErrorHandling) - * - * @return bool Always true - * - * @see PEAR::setErrorHandling - * @uses PEAR::pushErrorHandling() - */ - public function pushErrorHandling($mode, $options = null) - { - return $this->pear->pushErrorHandling($mode, $options); - } - - // }}} - // {{{ function registerShutdownFunc($func, $args = array()) - - /** - * Use this function to register a shutdown method for static - * classes. - * - * @param mixed $func The function name (or array of class/method) to call - * @param mixed $args The arguments to pass to the function - * @return void - * - * @uses PEAR::registerShutdownFunc() - */ - public function registerShutdownFunc($func, $args = array()) - { - return $this->pear->registerShutdownFunc($func, $args); - } - - // }}} - // {{{ function setErrorHandling($mode = null, $options = null) - - /** - * Sets how errors generated by this object should be handled. - * Can be invoked both in objects and statically. If called - * statically, setErrorHandling sets the default behaviour for all - * PEAR objects. If called in an object, setErrorHandling sets - * the default behaviour for that object. - * - * @param int $mode - * One of PEAR_ERROR_RETURN, PEAR_ERROR_PRINT, - * PEAR_ERROR_TRIGGER, PEAR_ERROR_DIE, - * PEAR_ERROR_CALLBACK or PEAR_ERROR_EXCEPTION. - * - * @param mixed $options - * When $mode is PEAR_ERROR_TRIGGER, this is the error level (one - * of E_USER_NOTICE, E_USER_WARNING or E_USER_ERROR). - * - * When $mode is PEAR_ERROR_CALLBACK, this parameter is expected - * to be the callback function or method. A callback - * function is a string with the name of the function, a - * callback method is an array of two elements: the element - * at index 0 is the object, and the element at index 1 is - * the name of the method to call in the object. - * - * When $mode is PEAR_ERROR_PRINT or PEAR_ERROR_DIE, this is - * a printf format string used when printing the error - * message. - * - * @access public - * @return void - * @see PEAR_ERROR_RETURN - * @see PEAR_ERROR_PRINT - * @see PEAR_ERROR_TRIGGER - * @see PEAR_ERROR_DIE - * @see PEAR_ERROR_CALLBACK - * @see PEAR_ERROR_EXCEPTION - * - * @since PHP 4.0.5 - * @uses PEAR::setErrorHandling($mode, $options) - */ - public function setErrorHandling($mode = null, $options = null) - { - return $this->pear->setErrorHandling($mode, $options); - } - - /** - * @uses PEAR::staticPopErrorHandling() - */ - public function staticPopErrorHandling() - { - return $this->pear->staticPopErrorHandling(); - } - - // }}} - // {{{ function staticPushErrorHandling($mode, $options = null) - - /** - * @uses PEAR::staticPushErrorHandling($mode, $options) - */ - public function staticPushErrorHandling($mode, $options = null) - { - return $this->pear->staticPushErrorHandling($mode, $options); - } - - // }}} - // {{{ function &throwError($message = null, $code = null, $userinfo = null) - - /** - * Simpler form of raiseError with fewer options. In most cases - * message, code and userinfo are enough. - * - * @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. - * - * @return object a PEAR error object - * @see PEAR::raiseError - * @uses PEAR::&throwError() - */ - public function &throwError($message = null, $code = null, $userinfo = null) - { - $tmp = $this->pear->throwError($message, $code, $userinfo); - return $tmp; - } - - // }}} -} - -// }}} -// {{{ class MDB2_Result - -/** - * The dummy class that all user space result classes should extend from - * - * @package MDB2 - * @category Database - * @author Lukas Smith - */ -class MDB2_Result -{ -} - -// }}} -// {{{ class MDB2_Result_Common extends MDB2_Result - -/** - * The common result class for MDB2 result objects - * - * @package MDB2 - * @category Database - * @author Lukas Smith - */ -class MDB2_Result_Common extends MDB2_Result -{ - // {{{ Variables (Properties) - - public $db; - public $result; - public $rownum = -1; - public $types = array(); - public $types_assoc = array(); - public $values = array(); - public $offset; - public $offset_count = 0; - public $limit; - public $column_names; - - // }}} - // {{{ constructor: function __construct($db, &$result, $limit = 0, $offset = 0) - - /** - * Constructor - */ - function __construct($db, &$result, $limit = 0, $offset = 0) - { - $this->db = $db; - $this->result = $result; - $this->offset = $offset; - $this->limit = max(0, $limit - 1); - } - - // }}} - // {{{ function setResultTypes($types) - - /** - * Define the list of types to be associated with the columns of a given - * result set. - * - * This function may be called before invoking fetchRow(), fetchOne(), - * fetchCol() and fetchAll() so that the necessary data type - * conversions are performed on the data to be retrieved by them. If this - * function is not called, the type of all result set columns is assumed - * to be text, thus leading to not perform any conversions. - * - * @param array variable that lists the - * data types to be expected in the result set columns. If this array - * contains less types than the number of columns that are returned - * in the result set, the remaining columns are assumed to be of the - * type text. Currently, the types clob and blob are not fully - * supported. - * - * @return mixed MDB2_OK on success, a MDB2 error on failure - * - * @access public - */ - function setResultTypes($types) - { - $load = $this->db->loadModule('Datatype', null, true); - if (MDB2::isError($load)) { - return $load; - } - $types = $this->db->datatype->checkResultTypes($types); - if (MDB2::isError($types)) { - return $types; - } - foreach ($types as $key => $value) { - if (is_numeric($key)) { - $this->types[$key] = $value; - } else { - $this->types_assoc[$key] = $value; - } - } - return MDB2_OK; - } - - // }}} - // {{{ function seek($rownum = 0) - - /** - * Seek to a specific row in a result set - * - * @param int number of the row where the data can be found - * - * @return mixed MDB2_OK on success, a MDB2 error on failure - * - * @access public - */ - function seek($rownum = 0) - { - $target_rownum = $rownum - 1; - if ($this->rownum > $target_rownum) { - return MDB2::raiseError(MDB2_ERROR_UNSUPPORTED, null, null, - 'seeking to previous rows not implemented', __FUNCTION__); - } - while ($this->rownum < $target_rownum) { - $this->fetchRow(); - } - return MDB2_OK; - } - - // }}} - // {{{ function &fetchRow($fetchmode = MDB2_FETCHMODE_DEFAULT, $rownum = null) - - /** - * Fetch and return a row of data - * - * @param int how the array data should be indexed - * @param int number of the row where the data can be found - * - * @return int data array on success, a MDB2 error on failure - * - * @access public - */ - function fetchRow($fetchmode = MDB2_FETCHMODE_DEFAULT, $rownum = null) - { - $err = MDB2::raiseError(MDB2_ERROR_UNSUPPORTED, null, null, - 'method not implemented', __FUNCTION__); - return $err; - } - - // }}} - // {{{ function fetchOne($colnum = 0) - - /** - * fetch single column from the next row from a result set - * - * @param int|string the column number (or name) to fetch - * @param int number of the row where the data can be found - * - * @return string data on success, a MDB2 error on failure - * @access public - */ - function fetchOne($colnum = 0, $rownum = null) - { - $fetchmode = is_numeric($colnum) ? MDB2_FETCHMODE_ORDERED : MDB2_FETCHMODE_ASSOC; - $row = $this->fetchRow($fetchmode, $rownum); - if (!is_array($row) || MDB2::isError($row)) { - return $row; - } - if (!array_key_exists($colnum, $row)) { - return MDB2::raiseError(MDB2_ERROR_TRUNCATED, null, null, - 'column is not defined in the result set: '.$colnum, __FUNCTION__); - } - return $row[$colnum]; - } - - // }}} - // {{{ function fetchCol($colnum = 0) - - /** - * Fetch and return a column from the current row pointer position - * - * @param int|string the column number (or name) to fetch - * - * @return mixed data array on success, a MDB2 error on failure - * @access public - */ - function fetchCol($colnum = 0) - { - $column = array(); - $fetchmode = is_numeric($colnum) ? MDB2_FETCHMODE_ORDERED : MDB2_FETCHMODE_ASSOC; - $row = $this->fetchRow($fetchmode); - if (is_array($row)) { - if (!array_key_exists($colnum, $row)) { - return MDB2::raiseError(MDB2_ERROR_TRUNCATED, null, null, - 'column is not defined in the result set: '.$colnum, __FUNCTION__); - } - do { - $column[] = $row[$colnum]; - } while (is_array($row = $this->fetchRow($fetchmode))); - } - if (MDB2::isError($row)) { - return $row; - } - return $column; - } - - // }}} - // {{{ function fetchAll($fetchmode = MDB2_FETCHMODE_DEFAULT, $rekey = false, $force_array = false, $group = false) - - /** - * Fetch and return all rows from the current row pointer position - * - * @param int $fetchmode the fetch mode to use: - * + MDB2_FETCHMODE_ORDERED - * + MDB2_FETCHMODE_ASSOC - * + MDB2_FETCHMODE_ORDERED | MDB2_FETCHMODE_FLIPPED - * + MDB2_FETCHMODE_ASSOC | MDB2_FETCHMODE_FLIPPED - * @param bool if set to true, the $all will have the first - * column as its first dimension - * @param bool used only when the query returns exactly - * two columns. If true, the values of the returned array will be - * one-element arrays instead of scalars. - * @param bool if true, the values of the returned array is - * wrapped in another array. If the same key value (in the first - * column) repeats itself, the values will be appended to this array - * instead of overwriting the existing values. - * - * @return mixed data array on success, a MDB2 error on failure - * - * @access public - * @see getAssoc() - */ - function fetchAll($fetchmode = MDB2_FETCHMODE_DEFAULT, $rekey = false, - $force_array = false, $group = false) - { - $all = array(); - $row = $this->fetchRow($fetchmode); - if (MDB2::isError($row)) { - return $row; - } elseif (!$row) { - return $all; - } - - $shift_array = $rekey ? false : null; - if (null !== $shift_array) { - if (is_object($row)) { - $colnum = count(get_object_vars($row)); - } else { - $colnum = count($row); - } - if ($colnum < 2) { - return MDB2::raiseError(MDB2_ERROR_TRUNCATED, null, null, - 'rekey feature requires atleast 2 column', __FUNCTION__); - } - $shift_array = (!$force_array && $colnum == 2); - } - - if ($rekey) { - do { - if (is_object($row)) { - $arr = get_object_vars($row); - $key = reset($arr); - unset($row->{$key}); - } else { - if ( $fetchmode == MDB2_FETCHMODE_ASSOC - || $fetchmode == MDB2_FETCHMODE_OBJECT - ) { - $key = reset($row); - unset($row[key($row)]); - } else { - $key = array_shift($row); - } - if ($shift_array) { - $row = array_shift($row); - } - } - if ($group) { - $all[$key][] = $row; - } else { - $all[$key] = $row; - } - } while (($row = $this->fetchRow($fetchmode))); - } elseif ($fetchmode == MDB2_FETCHMODE_FLIPPED) { - do { - foreach ($row as $key => $val) { - $all[$key][] = $val; - } - } while (($row = $this->fetchRow($fetchmode))); - } else { - do { - $all[] = $row; - } while (($row = $this->fetchRow($fetchmode))); - } - - return $all; - } - - // }}} - // {{{ function rowCount() - /** - * Returns the actual row number that was last fetched (count from 0) - * @return int - * - * @access public - */ - function rowCount() - { - return $this->rownum + 1; - } - - // }}} - // {{{ function numRows() - - /** - * Returns the number of rows in a result object - * - * @return mixed MDB2 Error Object or the number of rows - * - * @access public - */ - function numRows() - { - return MDB2::raiseError(MDB2_ERROR_UNSUPPORTED, null, null, - 'method not implemented', __FUNCTION__); - } - - // }}} - // {{{ function nextResult() - - /** - * Move the internal result pointer to the next available result - * - * @return true on success, false if there is no more result set or an error object on failure - * - * @access public - */ - function nextResult() - { - return MDB2::raiseError(MDB2_ERROR_UNSUPPORTED, null, null, - 'method not implemented', __FUNCTION__); - } - - // }}} - // {{{ function getColumnNames() - - /** - * Retrieve the names of columns returned by the DBMS in a query result or - * from the cache. - * - * @param bool If set to true the values are the column names, - * otherwise the names of the columns are the keys. - * @return mixed Array variable that holds the names of columns or an - * MDB2 error on failure. - * Some DBMS may not return any columns when the result set - * does not contain any rows. - * - * @access public - */ - function getColumnNames($flip = false) - { - if (!isset($this->column_names)) { - $result = $this->_getColumnNames(); - if (MDB2::isError($result)) { - return $result; - } - $this->column_names = $result; - } - if ($flip) { - return array_flip($this->column_names); - } - return $this->column_names; - } - - // }}} - // {{{ function _getColumnNames() - - /** - * Retrieve the names of columns returned by the DBMS in a query result. - * - * @return mixed Array variable that holds the names of columns as keys - * or an MDB2 error on failure. - * Some DBMS may not return any columns when the result set - * does not contain any rows. - * - * @access private - */ - function _getColumnNames() - { - return MDB2::raiseError(MDB2_ERROR_UNSUPPORTED, null, null, - 'method not implemented', __FUNCTION__); - } - - // }}} - // {{{ function numCols() - - /** - * Count the number of columns returned by the DBMS in a query result. - * - * @return mixed integer value with the number of columns, a MDB2 error - * on failure - * - * @access public - */ - function numCols() - { - return MDB2::raiseError(MDB2_ERROR_UNSUPPORTED, null, null, - 'method not implemented', __FUNCTION__); - } - - // }}} - // {{{ function getResource() - - /** - * return the resource associated with the result object - * - * @return resource - * - * @access public - */ - function getResource() - { - return $this->result; - } - - // }}} - // {{{ function bindColumn($column, &$value, $type = null) - - /** - * Set bind variable to a column. - * - * @param int column number or name - * @param mixed variable reference - * @param string specifies the type of the field - * - * @return mixed MDB2_OK on success, a MDB2 error on failure - * - * @access public - */ - function bindColumn($column, &$value, $type = null) - { - if (!is_numeric($column)) { - $column_names = $this->getColumnNames(); - if ($this->db->options['portability'] & MDB2_PORTABILITY_FIX_CASE) { - if ($this->db->options['field_case'] == CASE_LOWER) { - $column = strtolower($column); - } else { - $column = strtoupper($column); - } - } - $column = $column_names[$column]; - } - $this->values[$column] =& $value; - if (null !== $type) { - $this->types[$column] = $type; - } - return MDB2_OK; - } - - // }}} - // {{{ function _assignBindColumns($row) - - /** - * Bind a variable to a value in the result row. - * - * @param array row data - * - * @return mixed MDB2_OK on success, a MDB2 error on failure - * - * @access private - */ - function _assignBindColumns($row) - { - $row = array_values($row); - foreach ($row as $column => $value) { - if (array_key_exists($column, $this->values)) { - $this->values[$column] = $value; - } - } - return MDB2_OK; - } - - // }}} - // {{{ function free() - - /** - * Free the internal resources associated with result. - * - * @return bool true on success, false if result is invalid - * - * @access public - */ - function free() - { - $this->result = false; - return MDB2_OK; - } - - // }}} -} - -// }}} -// {{{ class MDB2_Row - -/** - * The simple class that accepts row data as an array - * - * @package MDB2 - * @category Database - * @author Lukas Smith - */ -class MDB2_Row -{ - // {{{ constructor: function __construct(&$row) - - /** - * constructor - * - * @param resource row data as array - */ - function __construct(&$row) - { - foreach ($row as $key => $value) { - $this->$key = &$row[$key]; - } - } - - // }}} -} - -// }}} -// {{{ class MDB2_Statement_Common - -/** - * The common statement class for MDB2 statement objects - * - * @package MDB2 - * @category Database - * @author Lukas Smith - */ -class MDB2_Statement_Common -{ - // {{{ Variables (Properties) - - var $db; - var $statement; - var $query; - var $result_types; - var $types; - var $values = array(); - var $limit; - var $offset; - var $is_manip; - - // }}} - // {{{ constructor: function __construct($db, $statement, $positions, $query, $types, $result_types, $is_manip = false, $limit = null, $offset = null) - - /** - * Constructor - */ - function __construct($db, $statement, $positions, $query, $types, $result_types, $is_manip = false, $limit = null, $offset = null) - { - $this->db = $db; - $this->statement = $statement; - $this->positions = $positions; - $this->query = $query; - $this->types = (array)$types; - $this->result_types = (array)$result_types; - $this->limit = $limit; - $this->is_manip = $is_manip; - $this->offset = $offset; - } - - // }}} - // {{{ function bindValue($parameter, &$value, $type = null) - - /** - * Set the value of a parameter of a prepared query. - * - * @param int the order number of the parameter in the query - * statement. The order number of the first parameter is 1. - * @param mixed value that is meant to be assigned to specified - * parameter. The type of the value depends on the $type argument. - * @param string specifies the type of the field - * - * @return mixed MDB2_OK on success, a MDB2 error on failure - * - * @access public - */ - function bindValue($parameter, $value, $type = null) - { - if (!is_numeric($parameter)) { - if (strpos($parameter, ':') === 0) { - $parameter = substr($parameter, 1); - } - } - if (!in_array($parameter, $this->positions)) { - return MDB2::raiseError(MDB2_ERROR_NOT_FOUND, null, null, - 'Unable to bind to missing placeholder: '.$parameter, __FUNCTION__); - } - $this->values[$parameter] = $value; - if (null !== $type) { - $this->types[$parameter] = $type; - } - return MDB2_OK; - } - - // }}} - // {{{ function bindValueArray($values, $types = null) - - /** - * Set the values of multiple a parameter of a prepared query in bulk. - * - * @param array specifies all necessary information - * for bindValue() the array elements must use keys corresponding to - * the number of the position of the parameter. - * @param array specifies the types of the fields - * - * @return mixed MDB2_OK on success, a MDB2 error on failure - * - * @access public - * @see bindParam() - */ - function bindValueArray($values, $types = null) - { - $types = is_array($types) ? array_values($types) : array_fill(0, count($values), null); - $parameters = array_keys($values); - $this->db->pushErrorHandling(PEAR_ERROR_RETURN); - $this->db->expectError(MDB2_ERROR_NOT_FOUND); - foreach ($parameters as $key => $parameter) { - $err = $this->bindValue($parameter, $values[$parameter], $types[$key]); - if (MDB2::isError($err)) { - if ($err->getCode() == MDB2_ERROR_NOT_FOUND) { - //ignore (extra value for missing placeholder) - continue; - } - $this->db->popExpect(); - $this->db->popErrorHandling(); - return $err; - } - } - $this->db->popExpect(); - $this->db->popErrorHandling(); - return MDB2_OK; - } - - // }}} - // {{{ function bindParam($parameter, &$value, $type = null) - - /** - * Bind a variable to a parameter of a prepared query. - * - * @param int the order number of the parameter in the query - * statement. The order number of the first parameter is 1. - * @param mixed variable that is meant to be bound to specified - * parameter. The type of the value depends on the $type argument. - * @param string specifies the type of the field - * - * @return mixed MDB2_OK on success, a MDB2 error on failure - * - * @access public - */ - function bindParam($parameter, &$value, $type = null) - { - if (!is_numeric($parameter)) { - if (strpos($parameter, ':') === 0) { - $parameter = substr($parameter, 1); - } - } - if (!in_array($parameter, $this->positions)) { - return MDB2::raiseError(MDB2_ERROR_NOT_FOUND, null, null, - 'Unable to bind to missing placeholder: '.$parameter, __FUNCTION__); - } - $this->values[$parameter] =& $value; - if (null !== $type) { - $this->types[$parameter] = $type; - } - return MDB2_OK; - } - - // }}} - // {{{ function bindParamArray(&$values, $types = null) - - /** - * Bind the variables of multiple a parameter of a prepared query in bulk. - * - * @param array specifies all necessary information - * for bindParam() the array elements must use keys corresponding to - * the number of the position of the parameter. - * @param array specifies the types of the fields - * - * @return mixed MDB2_OK on success, a MDB2 error on failure - * - * @access public - * @see bindParam() - */ - function bindParamArray(&$values, $types = null) - { - $types = is_array($types) ? array_values($types) : array_fill(0, count($values), null); - $parameters = array_keys($values); - foreach ($parameters as $key => $parameter) { - $err = $this->bindParam($parameter, $values[$parameter], $types[$key]); - if (MDB2::isError($err)) { - return $err; - } - } - return MDB2_OK; - } - - // }}} - // {{{ function &execute($values = null, $result_class = true, $result_wrap_class = false) - - /** - * Execute a prepared query statement. - * - * @param array specifies all necessary information - * for bindParam() the array elements must use keys corresponding - * to the number of the position of the parameter. - * @param mixed specifies which result class to use - * @param mixed specifies which class to wrap results in - * - * @return mixed MDB2_Result or integer (affected rows) on success, - * a MDB2 error on failure - * @access public - */ - function execute($values = null, $result_class = true, $result_wrap_class = false) - { - if (null === $this->positions) { - return MDB2::raiseError(MDB2_ERROR, null, null, - 'Prepared statement has already been freed', __FUNCTION__); - } - - $values = (array)$values; - if (!empty($values)) { - $err = $this->bindValueArray($values); - if (MDB2::isError($err)) { - return MDB2::raiseError(MDB2_ERROR, null, null, - 'Binding Values failed with message: ' . $err->getMessage(), __FUNCTION__); - } - } - $result = $this->_execute($result_class, $result_wrap_class); - return $result; - } - - // }}} - // {{{ function _execute($result_class = true, $result_wrap_class = false) - - /** - * Execute a prepared query statement helper method. - * - * @param mixed specifies which result class to use - * @param mixed specifies which class to wrap results in - * - * @return mixed MDB2_Result or integer (affected rows) on success, - * a MDB2 error on failure - * @access private - */ - function _execute($result_class = true, $result_wrap_class = false) - { - $this->last_query = $this->query; - $query = ''; - $last_position = 0; - foreach ($this->positions as $current_position => $parameter) { - if (!array_key_exists($parameter, $this->values)) { - return MDB2::raiseError(MDB2_ERROR_NOT_FOUND, null, null, - 'Unable to bind to missing placeholder: '.$parameter, __FUNCTION__); - } - $value = $this->values[$parameter]; - $query.= substr($this->query, $last_position, $current_position - $last_position); - if (!isset($value)) { - $value_quoted = 'NULL'; - } else { - $type = !empty($this->types[$parameter]) ? $this->types[$parameter] : null; - $value_quoted = $this->db->quote($value, $type); - if (MDB2::isError($value_quoted)) { - return $value_quoted; - } - } - $query.= $value_quoted; - $last_position = $current_position + 1; - } - $query.= substr($this->query, $last_position); - - $this->db->offset = $this->offset; - $this->db->limit = $this->limit; - if ($this->is_manip) { - $result = $this->db->exec($query); - } else { - $result = $this->db->query($query, $this->result_types, $result_class, $result_wrap_class); - } - return $result; - } - - // }}} - // {{{ function free() - - /** - * Release resources allocated for the specified prepared query. - * - * @return mixed MDB2_OK on success, a MDB2 error on failure - * - * @access public - */ - function free() - { - if (null === $this->positions) { - return MDB2::raiseError(MDB2_ERROR, null, null, - 'Prepared statement has already been freed', __FUNCTION__); - } - - $this->statement = null; - $this->positions = null; - $this->query = null; - $this->types = null; - $this->result_types = null; - $this->limit = null; - $this->is_manip = null; - $this->offset = null; - $this->values = null; - - return MDB2_OK; - } - - // }}} -} - -// }}} -// {{{ class MDB2_Module_Common - -/** - * The common modules class for MDB2 module objects - * - * @package MDB2 - * @category Database - * @author Lukas Smith - */ -class MDB2_Module_Common -{ - // {{{ Variables (Properties) - - /** - * contains the key to the global MDB2 instance array of the associated - * MDB2 instance - * - * @var int - * @access protected - */ - protected $db_index; - - // }}} - // {{{ constructor: function __construct($db_index) - - /** - * Constructor - */ - function __construct($db_index) - { - $this->db_index = $db_index; - } - - // }}} - // {{{ function getDBInstance() - - /** - * Get the instance of MDB2 associated with the module instance - * - * @return object MDB2 instance or a MDB2 error on failure - * - * @access public - */ - function getDBInstance() - { - if (isset($GLOBALS['_MDB2_databases'][$this->db_index])) { - $result = $GLOBALS['_MDB2_databases'][$this->db_index]; - } else { - $result = MDB2::raiseError(MDB2_ERROR_NOT_FOUND, null, null, - 'could not find MDB2 instance'); - } - return $result; - } - - // }}} -} - -// }}} -// {{{ function MDB2_closeOpenTransactions() - -/** - * Close any open transactions form persistent connections - * - * @return void - * - * @access public - */ - -function MDB2_closeOpenTransactions() -{ - reset($GLOBALS['_MDB2_databases']); - while (next($GLOBALS['_MDB2_databases'])) { - $key = key($GLOBALS['_MDB2_databases']); - if ($GLOBALS['_MDB2_databases'][$key]->opened_persistent - && $GLOBALS['_MDB2_databases'][$key]->in_transaction - ) { - $GLOBALS['_MDB2_databases'][$key]->rollback(); - } - } -} - -// }}} -// {{{ function MDB2_defaultDebugOutput(&$db, $scope, $message, $is_manip = null) - -/** - * default debug output handler - * - * @param object reference to an MDB2 database object - * @param string usually the method name that triggered the debug call: - * for example 'query', 'prepare', 'execute', 'parameters', - * 'beginTransaction', 'commit', 'rollback' - * @param string message that should be appended to the debug variable - * @param array contains context information about the debug() call - * common keys are: is_manip, time, result etc. - * - * @return void|string optionally return a modified message, this allows - * rewriting a query before being issued or prepared - * - * @access public - */ -function MDB2_defaultDebugOutput(&$db, $scope, $message, $context = array()) -{ - $db->debug_output.= $scope.'('.$db->db_index.'): '; - $db->debug_output.= $message.$db->getOption('log_line_break'); - return $message; -} - -// }}} -?> diff --git a/3rdparty/MDB2/Date.php b/3rdparty/MDB2/Date.php deleted file mode 100644 index ca88eaa347e6cc06a55f9d0fe56a76cc66d6373c..0000000000000000000000000000000000000000 --- a/3rdparty/MDB2/Date.php +++ /dev/null @@ -1,183 +0,0 @@ - | -// +----------------------------------------------------------------------+ -// -// $Id$ -// - -/** - * @package MDB2 - * @category Database - * @author Lukas Smith - */ - -/** - * Several methods to convert the MDB2 native timestamp format (ISO based) - * to and from data structures that are convenient to worth with in side of php. - * For more complex date arithmetic please take a look at the Date package in PEAR - * - * @package MDB2 - * @category Database - * @author Lukas Smith - */ -class MDB2_Date -{ - // {{{ mdbNow() - - /** - * return the current datetime - * - * @return string current datetime in the MDB2 format - * @access public - */ - function mdbNow() - { - return date('Y-m-d H:i:s'); - } - // }}} - - // {{{ mdbToday() - - /** - * return the current date - * - * @return string current date in the MDB2 format - * @access public - */ - function mdbToday() - { - return date('Y-m-d'); - } - // }}} - - // {{{ mdbTime() - - /** - * return the current time - * - * @return string current time in the MDB2 format - * @access public - */ - function mdbTime() - { - return date('H:i:s'); - } - // }}} - - // {{{ date2Mdbstamp() - - /** - * convert a date into a MDB2 timestamp - * - * @param int hour of the date - * @param int minute of the date - * @param int second of the date - * @param int month of the date - * @param int day of the date - * @param int year of the date - * - * @return string a valid MDB2 timestamp - * @access public - */ - function date2Mdbstamp($hour = null, $minute = null, $second = null, - $month = null, $day = null, $year = null) - { - return MDB2_Date::unix2Mdbstamp(mktime($hour, $minute, $second, $month, $day, $year, -1)); - } - // }}} - - // {{{ unix2Mdbstamp() - - /** - * convert a unix timestamp into a MDB2 timestamp - * - * @param int a valid unix timestamp - * - * @return string a valid MDB2 timestamp - * @access public - */ - function unix2Mdbstamp($unix_timestamp) - { - return date('Y-m-d H:i:s', $unix_timestamp); - } - // }}} - - // {{{ mdbstamp2Unix() - - /** - * convert a MDB2 timestamp into a unix timestamp - * - * @param int a valid MDB2 timestamp - * @return string unix timestamp with the time stored in the MDB2 format - * - * @access public - */ - function mdbstamp2Unix($mdb_timestamp) - { - $arr = MDB2_Date::mdbstamp2Date($mdb_timestamp); - - return mktime($arr['hour'], $arr['minute'], $arr['second'], $arr['month'], $arr['day'], $arr['year'], -1); - } - // }}} - - // {{{ mdbstamp2Date() - - /** - * convert a MDB2 timestamp into an array containing all - * values necessary to pass to php's date() function - * - * @param int a valid MDB2 timestamp - * - * @return array with the time split - * @access public - */ - function mdbstamp2Date($mdb_timestamp) - { - list($arr['year'], $arr['month'], $arr['day'], $arr['hour'], $arr['minute'], $arr['second']) = - sscanf($mdb_timestamp, "%04u-%02u-%02u %02u:%02u:%02u"); - return $arr; - } - // }}} -} - -?> diff --git a/3rdparty/MDB2/Driver/Datatype/Common.php b/3rdparty/MDB2/Driver/Datatype/Common.php deleted file mode 100644 index dd7f1c7e0a9502987d8a37d7ac9ea8ad516a1c1e..0000000000000000000000000000000000000000 --- a/3rdparty/MDB2/Driver/Datatype/Common.php +++ /dev/null @@ -1,1842 +0,0 @@ - | -// +----------------------------------------------------------------------+ -// -// $Id$ - -require_once 'MDB2/LOB.php'; - -/** - * @package MDB2 - * @category Database - * @author Lukas Smith - */ - -/** - * MDB2_Driver_Common: Base class that is extended by each MDB2 driver - * - * To load this module in the MDB2 object: - * $mdb->loadModule('Datatype'); - * - * @package MDB2 - * @category Database - * @author Lukas Smith - */ -class MDB2_Driver_Datatype_Common extends MDB2_Module_Common -{ - var $valid_default_values = array( - 'text' => '', - 'boolean' => true, - 'integer' => 0, - 'decimal' => 0.0, - 'float' => 0.0, - 'timestamp' => '1970-01-01 00:00:00', - 'time' => '00:00:00', - 'date' => '1970-01-01', - 'clob' => '', - 'blob' => '', - ); - - /** - * contains all LOB objects created with this MDB2 instance - * @var array - * @access protected - */ - var $lobs = array(); - - // }}} - // {{{ getValidTypes() - - /** - * Get the list of valid types - * - * This function returns an array of valid types as keys with the values - * being possible default values for all native datatypes and mapped types - * for custom datatypes. - * - * @return mixed array on success, a MDB2 error on failure - * @access public - */ - function getValidTypes() - { - $types = $this->valid_default_values; - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - if (!empty($db->options['datatype_map'])) { - foreach ($db->options['datatype_map'] as $type => $mapped_type) { - if (array_key_exists($mapped_type, $types)) { - $types[$type] = $types[$mapped_type]; - } elseif (!empty($db->options['datatype_map_callback'][$type])) { - $parameter = array('type' => $type, 'mapped_type' => $mapped_type); - $default = call_user_func_array($db->options['datatype_map_callback'][$type], array(&$db, __FUNCTION__, $parameter)); - $types[$type] = $default; - } - } - } - return $types; - } - - // }}} - // {{{ checkResultTypes() - - /** - * Define the list of types to be associated with the columns of a given - * result set. - * - * This function may be called before invoking fetchRow(), fetchOne() - * fetchCole() and fetchAll() so that the necessary data type - * conversions are performed on the data to be retrieved by them. If this - * function is not called, the type of all result set columns is assumed - * to be text, thus leading to not perform any conversions. - * - * @param array $types array variable that lists the - * data types to be expected in the result set columns. If this array - * contains less types than the number of columns that are returned - * in the result set, the remaining columns are assumed to be of the - * type text. Currently, the types clob and blob are not fully - * supported. - * @return mixed MDB2_OK on success, a MDB2 error on failure - * @access public - */ - function checkResultTypes($types) - { - $types = is_array($types) ? $types : array($types); - foreach ($types as $key => $type) { - if (!isset($this->valid_default_values[$type])) { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - if (empty($db->options['datatype_map'][$type])) { - return $db->raiseError(MDB2_ERROR_UNSUPPORTED, null, null, - $type.' for '.$key.' is not a supported column type', __FUNCTION__); - } - } - } - return $types; - } - - // }}} - // {{{ _baseConvertResult() - - /** - * General type conversion method - * - * @param mixed $value reference to a value to be converted - * @param string $type specifies which type to convert to - * @param boolean $rtrim [optional] when TRUE [default], apply rtrim() to text - * @return object an MDB2 error on failure - * @access protected - */ - function _baseConvertResult($value, $type, $rtrim = true) - { - switch ($type) { - case 'text': - if ($rtrim) { - $value = rtrim($value); - } - return $value; - case 'integer': - return intval($value); - case 'boolean': - return !empty($value); - case 'decimal': - return $value; - case 'float': - return doubleval($value); - case 'date': - return $value; - case 'time': - return $value; - case 'timestamp': - return $value; - case 'clob': - case 'blob': - $this->lobs[] = array( - 'buffer' => null, - 'position' => 0, - 'lob_index' => null, - 'endOfLOB' => false, - 'resource' => $value, - 'value' => null, - 'loaded' => false, - ); - end($this->lobs); - $lob_index = key($this->lobs); - $this->lobs[$lob_index]['lob_index'] = $lob_index; - return fopen('MDB2LOB://'.$lob_index.'@'.$this->db_index, 'r+'); - } - - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - return $db->raiseError(MDB2_ERROR_INVALID, null, null, - 'attempt to convert result value to an unknown type :' . $type, __FUNCTION__); - } - - // }}} - // {{{ convertResult() - - /** - * Convert a value to a RDBMS indipendent MDB2 type - * - * @param mixed $value value to be converted - * @param string $type specifies which type to convert to - * @param boolean $rtrim [optional] when TRUE [default], apply rtrim() to text - * @return mixed converted value - * @access public - */ - function convertResult($value, $type, $rtrim = true) - { - if (null === $value) { - return null; - } - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - if (!empty($db->options['datatype_map'][$type])) { - $type = $db->options['datatype_map'][$type]; - if (!empty($db->options['datatype_map_callback'][$type])) { - $parameter = array('type' => $type, 'value' => $value, 'rtrim' => $rtrim); - return call_user_func_array($db->options['datatype_map_callback'][$type], array(&$db, __FUNCTION__, $parameter)); - } - } - return $this->_baseConvertResult($value, $type, $rtrim); - } - - // }}} - // {{{ convertResultRow() - - /** - * Convert a result row - * - * @param array $types - * @param array $row specifies the types to convert to - * @param boolean $rtrim [optional] when TRUE [default], apply rtrim() to text - * @return mixed MDB2_OK on success, an MDB2 error on failure - * @access public - */ - function convertResultRow($types, $row, $rtrim = true) - { - //$types = $this->_sortResultFieldTypes(array_keys($row), $types); - $keys = array_keys($row); - if (is_int($keys[0])) { - $types = $this->_sortResultFieldTypes($keys, $types); - } - foreach ($row as $key => $value) { - if (empty($types[$key])) { - continue; - } - $value = $this->convertResult($row[$key], $types[$key], $rtrim); - if (PEAR::isError($value)) { - return $value; - } - $row[$key] = $value; - } - return $row; - } - - // }}} - // {{{ _sortResultFieldTypes() - - /** - * convert a result row - * - * @param array $types - * @param array $row specifies the types to convert to - * @param bool $rtrim if to rtrim text values or not - * @return mixed MDB2_OK on success, a MDB2 error on failure - * @access public - */ - function _sortResultFieldTypes($columns, $types) - { - $n_cols = count($columns); - $n_types = count($types); - if ($n_cols > $n_types) { - for ($i= $n_cols - $n_types; $i >= 0; $i--) { - $types[] = null; - } - } - $sorted_types = array(); - foreach ($columns as $col) { - $sorted_types[$col] = null; - } - foreach ($types as $name => $type) { - if (array_key_exists($name, $sorted_types)) { - $sorted_types[$name] = $type; - unset($types[$name]); - } - } - // if there are left types in the array, fill the null values of the - // sorted array with them, in order. - if (count($types)) { - reset($types); - foreach (array_keys($sorted_types) as $k) { - if (null === $sorted_types[$k]) { - $sorted_types[$k] = current($types); - next($types); - } - } - } - return $sorted_types; - } - - // }}} - // {{{ getDeclaration() - - /** - * Obtain DBMS specific SQL code portion needed to declare - * of the given type - * - * @param string $type type to which the value should be converted to - * @param string $name name the field to be declared. - * @param string $field definition of the field - * @return string DBMS specific SQL code portion that should be used to - * declare the specified field. - * @access public - */ - function getDeclaration($type, $name, $field) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - if (!empty($db->options['datatype_map'][$type])) { - $type = $db->options['datatype_map'][$type]; - if (!empty($db->options['datatype_map_callback'][$type])) { - $parameter = array('type' => $type, 'name' => $name, 'field' => $field); - return call_user_func_array($db->options['datatype_map_callback'][$type], array(&$db, __FUNCTION__, $parameter)); - } - $field['type'] = $type; - } - - if (!method_exists($this, "_get{$type}Declaration")) { - return $db->raiseError(MDB2_ERROR_NOT_FOUND, null, null, - 'type not defined: '.$type, __FUNCTION__); - } - return $this->{"_get{$type}Declaration"}($name, $field); - } - - // }}} - // {{{ getTypeDeclaration() - - /** - * Obtain DBMS specific SQL code portion needed to declare an text type - * field to be used in statements like CREATE TABLE. - * - * @param array $field associative array with the name of the properties - * of the field being declared as array indexes. Currently, the types - * of supported field properties are as follows: - * - * length - * Integer value that determines the maximum length of the text - * field. If this argument is missing the field should be - * declared to have the longest length allowed by the DBMS. - * - * default - * Text value to be used as default for this field. - * - * notnull - * Boolean flag that indicates whether this field is constrained - * to not be set to null. - * @return string DBMS specific SQL code portion that should be used to - * declare the specified field. - * @access public - */ - function getTypeDeclaration($field) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - switch ($field['type']) { - case 'text': - $length = !empty($field['length']) ? $field['length'] : $db->options['default_text_field_length']; - $fixed = !empty($field['fixed']) ? $field['fixed'] : false; - return $fixed ? ($length ? 'CHAR('.$length.')' : 'CHAR('.$db->options['default_text_field_length'].')') - : ($length ? 'VARCHAR('.$length.')' : 'TEXT'); - case 'clob': - return 'TEXT'; - case 'blob': - return 'TEXT'; - case 'integer': - return 'INT'; - case 'boolean': - return 'INT'; - case 'date': - return 'CHAR ('.strlen('YYYY-MM-DD').')'; - case 'time': - return 'CHAR ('.strlen('HH:MM:SS').')'; - case 'timestamp': - return 'CHAR ('.strlen('YYYY-MM-DD HH:MM:SS').')'; - case 'float': - return 'TEXT'; - case 'decimal': - return 'TEXT'; - } - return ''; - } - - // }}} - // {{{ _getDeclaration() - - /** - * Obtain DBMS specific SQL code portion needed to declare a generic type - * field to be used in statements like CREATE TABLE. - * - * @param string $name name the field to be declared. - * @param array $field associative array with the name of the properties - * of the field being declared as array indexes. Currently, the types - * of supported field properties are as follows: - * - * length - * Integer value that determines the maximum length of the text - * field. If this argument is missing the field should be - * declared to have the longest length allowed by the DBMS. - * - * default - * Text value to be used as default for this field. - * - * notnull - * Boolean flag that indicates whether this field is constrained - * to not be set to null. - * charset - * Text value with the default CHARACTER SET for this field. - * collation - * Text value with the default COLLATION for this field. - * @return string DBMS specific SQL code portion that should be used to - * declare the specified field, or a MDB2_Error on failure - * @access protected - */ - function _getDeclaration($name, $field) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - $name = $db->quoteIdentifier($name, true); - $declaration_options = $db->datatype->_getDeclarationOptions($field); - if (PEAR::isError($declaration_options)) { - return $declaration_options; - } - return $name.' '.$this->getTypeDeclaration($field).$declaration_options; - } - - // }}} - // {{{ _getDeclarationOptions() - - /** - * Obtain DBMS specific SQL code portion needed to declare a generic type - * field to be used in statement like CREATE TABLE, without the field name - * and type values (ie. just the character set, default value, if the - * field is permitted to be NULL or not, and the collation options). - * - * @param array $field associative array with the name of the properties - * of the field being declared as array indexes. Currently, the types - * of supported field properties are as follows: - * - * default - * Text value to be used as default for this field. - * notnull - * Boolean flag that indicates whether this field is constrained - * to not be set to null. - * charset - * Text value with the default CHARACTER SET for this field. - * collation - * Text value with the default COLLATION for this field. - * @return string DBMS specific SQL code portion that should be used to - * declare the specified field's options. - * @access protected - */ - function _getDeclarationOptions($field) - { - $charset = empty($field['charset']) ? '' : - ' '.$this->_getCharsetFieldDeclaration($field['charset']); - - $notnull = empty($field['notnull']) ? '' : ' NOT NULL'; - $default = ''; - if (array_key_exists('default', $field)) { - if ($field['default'] === '') { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - $valid_default_values = $this->getValidTypes(); - $field['default'] = $valid_default_values[$field['type']]; - if ($field['default'] === '' && ($db->options['portability'] & MDB2_PORTABILITY_EMPTY_TO_NULL)) { - $field['default'] = ' '; - } - } - if (null !== $field['default']) { - $default = ' DEFAULT ' . $this->quote($field['default'], $field['type']); - } - } - - $collation = empty($field['collation']) ? '' : - ' '.$this->_getCollationFieldDeclaration($field['collation']); - - return $charset.$default.$notnull.$collation; - } - - // }}} - // {{{ _getCharsetFieldDeclaration() - - /** - * Obtain DBMS specific SQL code portion needed to set the CHARACTER SET - * of a field declaration to be used in statements like CREATE TABLE. - * - * @param string $charset name of the charset - * @return string DBMS specific SQL code portion needed to set the CHARACTER SET - * of a field declaration. - */ - function _getCharsetFieldDeclaration($charset) - { - return ''; - } - - // }}} - // {{{ _getCollationFieldDeclaration() - - /** - * Obtain DBMS specific SQL code portion needed to set the COLLATION - * of a field declaration to be used in statements like CREATE TABLE. - * - * @param string $collation name of the collation - * @return string DBMS specific SQL code portion needed to set the COLLATION - * of a field declaration. - */ - function _getCollationFieldDeclaration($collation) - { - return ''; - } - - // }}} - // {{{ _getIntegerDeclaration() - - /** - * Obtain DBMS specific SQL code portion needed to declare an integer type - * field to be used in statements like CREATE TABLE. - * - * @param string $name name the field to be declared. - * @param array $field associative array with the name of the properties - * of the field being declared as array indexes. Currently, the types - * of supported field properties are as follows: - * - * unsigned - * Boolean flag that indicates whether the field should be - * declared as unsigned integer if possible. - * - * default - * Integer value to be used as default for this field. - * - * notnull - * Boolean flag that indicates whether this field is constrained - * to not be set to null. - * @return string DBMS specific SQL code portion that should be used to - * declare the specified field. - * @access protected - */ - function _getIntegerDeclaration($name, $field) - { - if (!empty($field['unsigned'])) { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - $db->warnings[] = "unsigned integer field \"$name\" is being declared as signed integer"; - } - return $this->_getDeclaration($name, $field); - } - - // }}} - // {{{ _getTextDeclaration() - - /** - * Obtain DBMS specific SQL code portion needed to declare an text type - * field to be used in statements like CREATE TABLE. - * - * @param string $name name the field to be declared. - * @param array $field associative array with the name of the properties - * of the field being declared as array indexes. Currently, the types - * of supported field properties are as follows: - * - * length - * Integer value that determines the maximum length of the text - * field. If this argument is missing the field should be - * declared to have the longest length allowed by the DBMS. - * - * default - * Text value to be used as default for this field. - * - * notnull - * Boolean flag that indicates whether this field is constrained - * to not be set to null. - * @return string DBMS specific SQL code portion that should be used to - * declare the specified field. - * @access protected - */ - function _getTextDeclaration($name, $field) - { - return $this->_getDeclaration($name, $field); - } - - // }}} - // {{{ _getCLOBDeclaration() - - /** - * Obtain DBMS specific SQL code portion needed to declare an character - * large object type field to be used in statements like CREATE TABLE. - * - * @param string $name name the field to be declared. - * @param array $field associative array with the name of the properties - * of the field being declared as array indexes. Currently, the types - * of supported field properties are as follows: - * - * length - * Integer value that determines the maximum length of the large - * object field. If this argument is missing the field should be - * declared to have the longest length allowed by the DBMS. - * - * notnull - * Boolean flag that indicates whether this field is constrained - * to not be set to null. - * @return string DBMS specific SQL code portion that should be used to - * declare the specified field. - * @access public - */ - function _getCLOBDeclaration($name, $field) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - $notnull = empty($field['notnull']) ? '' : ' NOT NULL'; - $name = $db->quoteIdentifier($name, true); - return $name.' '.$this->getTypeDeclaration($field).$notnull; - } - - // }}} - // {{{ _getBLOBDeclaration() - - /** - * Obtain DBMS specific SQL code portion needed to declare an binary large - * object type field to be used in statements like CREATE TABLE. - * - * @param string $name name the field to be declared. - * @param array $field associative array with the name of the properties - * of the field being declared as array indexes. Currently, the types - * of supported field properties are as follows: - * - * length - * Integer value that determines the maximum length of the large - * object field. If this argument is missing the field should be - * declared to have the longest length allowed by the DBMS. - * - * notnull - * Boolean flag that indicates whether this field is constrained - * to not be set to null. - * @return string DBMS specific SQL code portion that should be used to - * declare the specified field. - * @access protected - */ - function _getBLOBDeclaration($name, $field) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - $notnull = empty($field['notnull']) ? '' : ' NOT NULL'; - $name = $db->quoteIdentifier($name, true); - return $name.' '.$this->getTypeDeclaration($field).$notnull; - } - - // }}} - // {{{ _getBooleanDeclaration() - - /** - * Obtain DBMS specific SQL code portion needed to declare a boolean type - * field to be used in statements like CREATE TABLE. - * - * @param string $name name the field to be declared. - * @param array $field associative array with the name of the properties - * of the field being declared as array indexes. Currently, the types - * of supported field properties are as follows: - * - * default - * Boolean value to be used as default for this field. - * - * notnullL - * Boolean flag that indicates whether this field is constrained - * to not be set to null. - * @return string DBMS specific SQL code portion that should be used to - * declare the specified field. - * @access protected - */ - function _getBooleanDeclaration($name, $field) - { - return $this->_getDeclaration($name, $field); - } - - // }}} - // {{{ _getDateDeclaration() - - /** - * Obtain DBMS specific SQL code portion needed to declare a date type - * field to be used in statements like CREATE TABLE. - * - * @param string $name name the field to be declared. - * @param array $field associative array with the name of the properties - * of the field being declared as array indexes. Currently, the types - * of supported field properties are as follows: - * - * default - * Date value to be used as default for this field. - * - * notnull - * Boolean flag that indicates whether this field is constrained - * to not be set to null. - * @return string DBMS specific SQL code portion that should be used to - * declare the specified field. - * @access protected - */ - function _getDateDeclaration($name, $field) - { - return $this->_getDeclaration($name, $field); - } - - // }}} - // {{{ _getTimestampDeclaration() - - /** - * Obtain DBMS specific SQL code portion needed to declare a timestamp - * field to be used in statements like CREATE TABLE. - * - * @param string $name name the field to be declared. - * @param array $field associative array with the name of the properties - * of the field being declared as array indexes. Currently, the types - * of supported field properties are as follows: - * - * default - * Timestamp value to be used as default for this field. - * - * notnull - * Boolean flag that indicates whether this field is constrained - * to not be set to null. - * @return string DBMS specific SQL code portion that should be used to - * declare the specified field. - * @access protected - */ - function _getTimestampDeclaration($name, $field) - { - return $this->_getDeclaration($name, $field); - } - - // }}} - // {{{ _getTimeDeclaration() - - /** - * Obtain DBMS specific SQL code portion needed to declare a time - * field to be used in statements like CREATE TABLE. - * - * @param string $name name the field to be declared. - * @param array $field associative array with the name of the properties - * of the field being declared as array indexes. Currently, the types - * of supported field properties are as follows: - * - * default - * Time value to be used as default for this field. - * - * notnull - * Boolean flag that indicates whether this field is constrained - * to not be set to null. - * @return string DBMS specific SQL code portion that should be used to - * declare the specified field. - * @access protected - */ - function _getTimeDeclaration($name, $field) - { - return $this->_getDeclaration($name, $field); - } - - // }}} - // {{{ _getFloatDeclaration() - - /** - * Obtain DBMS specific SQL code portion needed to declare a float type - * field to be used in statements like CREATE TABLE. - * - * @param string $name name the field to be declared. - * @param array $field associative array with the name of the properties - * of the field being declared as array indexes. Currently, the types - * of supported field properties are as follows: - * - * default - * Float value to be used as default for this field. - * - * notnull - * Boolean flag that indicates whether this field is constrained - * to not be set to null. - * @return string DBMS specific SQL code portion that should be used to - * declare the specified field. - * @access protected - */ - function _getFloatDeclaration($name, $field) - { - return $this->_getDeclaration($name, $field); - } - - // }}} - // {{{ _getDecimalDeclaration() - - /** - * Obtain DBMS specific SQL code portion needed to declare a decimal type - * field to be used in statements like CREATE TABLE. - * - * @param string $name name the field to be declared. - * @param array $field associative array with the name of the properties - * of the field being declared as array indexes. Currently, the types - * of supported field properties are as follows: - * - * default - * Decimal value to be used as default for this field. - * - * notnull - * Boolean flag that indicates whether this field is constrained - * to not be set to null. - * @return string DBMS specific SQL code portion that should be used to - * declare the specified field. - * @access protected - */ - function _getDecimalDeclaration($name, $field) - { - return $this->_getDeclaration($name, $field); - } - - // }}} - // {{{ compareDefinition() - - /** - * Obtain an array of changes that may need to applied - * - * @param array $current new definition - * @param array $previous old definition - * @return array containing all changes that will need to be applied - * @access public - */ - function compareDefinition($current, $previous) - { - $type = !empty($current['type']) ? $current['type'] : null; - - if (!method_exists($this, "_compare{$type}Definition")) { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - if (!empty($db->options['datatype_map_callback'][$type])) { - $parameter = array('current' => $current, 'previous' => $previous); - $change = call_user_func_array($db->options['datatype_map_callback'][$type], array(&$db, __FUNCTION__, $parameter)); - return $change; - } - return $db->raiseError(MDB2_ERROR_UNSUPPORTED, null, null, - 'type "'.$current['type'].'" is not yet supported', __FUNCTION__); - } - - if (empty($previous['type']) || $previous['type'] != $type) { - return $current; - } - - $change = $this->{"_compare{$type}Definition"}($current, $previous); - - if ($previous['type'] != $type) { - $change['type'] = true; - } - - $previous_notnull = !empty($previous['notnull']) ? $previous['notnull'] : false; - $notnull = !empty($current['notnull']) ? $current['notnull'] : false; - if ($previous_notnull != $notnull) { - $change['notnull'] = true; - } - - $previous_default = array_key_exists('default', $previous) ? $previous['default'] : - ($previous_notnull ? '' : null); - $default = array_key_exists('default', $current) ? $current['default'] : - ($notnull ? '' : null); - if ($previous_default !== $default) { - $change['default'] = true; - } - - return $change; - } - - // }}} - // {{{ _compareIntegerDefinition() - - /** - * Obtain an array of changes that may need to applied to an integer field - * - * @param array $current new definition - * @param array $previous old definition - * @return array containing all changes that will need to be applied - * @access protected - */ - function _compareIntegerDefinition($current, $previous) - { - $change = array(); - $previous_unsigned = !empty($previous['unsigned']) ? $previous['unsigned'] : false; - $unsigned = !empty($current['unsigned']) ? $current['unsigned'] : false; - if ($previous_unsigned != $unsigned) { - $change['unsigned'] = true; - } - $previous_autoincrement = !empty($previous['autoincrement']) ? $previous['autoincrement'] : false; - $autoincrement = !empty($current['autoincrement']) ? $current['autoincrement'] : false; - if ($previous_autoincrement != $autoincrement) { - $change['autoincrement'] = true; - } - return $change; - } - - // }}} - // {{{ _compareTextDefinition() - - /** - * Obtain an array of changes that may need to applied to an text field - * - * @param array $current new definition - * @param array $previous old definition - * @return array containing all changes that will need to be applied - * @access protected - */ - function _compareTextDefinition($current, $previous) - { - $change = array(); - $previous_length = !empty($previous['length']) ? $previous['length'] : 0; - $length = !empty($current['length']) ? $current['length'] : 0; - if ($previous_length != $length) { - $change['length'] = true; - } - $previous_fixed = !empty($previous['fixed']) ? $previous['fixed'] : 0; - $fixed = !empty($current['fixed']) ? $current['fixed'] : 0; - if ($previous_fixed != $fixed) { - $change['fixed'] = true; - } - return $change; - } - - // }}} - // {{{ _compareCLOBDefinition() - - /** - * Obtain an array of changes that may need to applied to an CLOB field - * - * @param array $current new definition - * @param array $previous old definition - * @return array containing all changes that will need to be applied - * @access protected - */ - function _compareCLOBDefinition($current, $previous) - { - return $this->_compareTextDefinition($current, $previous); - } - - // }}} - // {{{ _compareBLOBDefinition() - - /** - * Obtain an array of changes that may need to applied to an BLOB field - * - * @param array $current new definition - * @param array $previous old definition - * @return array containing all changes that will need to be applied - * @access protected - */ - function _compareBLOBDefinition($current, $previous) - { - return $this->_compareTextDefinition($current, $previous); - } - - // }}} - // {{{ _compareDateDefinition() - - /** - * Obtain an array of changes that may need to applied to an date field - * - * @param array $current new definition - * @param array $previous old definition - * @return array containing all changes that will need to be applied - * @access protected - */ - function _compareDateDefinition($current, $previous) - { - return array(); - } - - // }}} - // {{{ _compareTimeDefinition() - - /** - * Obtain an array of changes that may need to applied to an time field - * - * @param array $current new definition - * @param array $previous old definition - * @return array containing all changes that will need to be applied - * @access protected - */ - function _compareTimeDefinition($current, $previous) - { - return array(); - } - - // }}} - // {{{ _compareTimestampDefinition() - - /** - * Obtain an array of changes that may need to applied to an timestamp field - * - * @param array $current new definition - * @param array $previous old definition - * @return array containing all changes that will need to be applied - * @access protected - */ - function _compareTimestampDefinition($current, $previous) - { - return array(); - } - - // }}} - // {{{ _compareBooleanDefinition() - - /** - * Obtain an array of changes that may need to applied to an boolean field - * - * @param array $current new definition - * @param array $previous old definition - * @return array containing all changes that will need to be applied - * @access protected - */ - function _compareBooleanDefinition($current, $previous) - { - return array(); - } - - // }}} - // {{{ _compareFloatDefinition() - - /** - * Obtain an array of changes that may need to applied to an float field - * - * @param array $current new definition - * @param array $previous old definition - * @return array containing all changes that will need to be applied - * @access protected - */ - function _compareFloatDefinition($current, $previous) - { - return array(); - } - - // }}} - // {{{ _compareDecimalDefinition() - - /** - * Obtain an array of changes that may need to applied to an decimal field - * - * @param array $current new definition - * @param array $previous old definition - * @return array containing all changes that will need to be applied - * @access protected - */ - function _compareDecimalDefinition($current, $previous) - { - return array(); - } - - // }}} - // {{{ quote() - - /** - * Convert a text value into a DBMS specific format that is suitable to - * compose query statements. - * - * @param string $value text string value that is intended to be converted. - * @param string $type type to which the value should be converted to - * @param bool $quote determines if the value should be quoted and escaped - * @param bool $escape_wildcards if to escape escape wildcards - * @return string text string that represents the given argument value in - * a DBMS specific format. - * @access public - */ - function quote($value, $type = null, $quote = true, $escape_wildcards = false) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - if ((null === $value) - || ($value === '' && $db->options['portability'] & MDB2_PORTABILITY_EMPTY_TO_NULL) - ) { - if (!$quote) { - return null; - } - return 'NULL'; - } - - if (null === $type) { - switch (gettype($value)) { - case 'integer': - $type = 'integer'; - break; - case 'double': - // todo: default to decimal as float is quite unusual - // $type = 'float'; - $type = 'decimal'; - break; - case 'boolean': - $type = 'boolean'; - break; - case 'array': - $value = serialize($value); - case 'object': - $type = 'text'; - break; - default: - if (preg_match('/^\d{4}-\d{2}-\d{2} \d{2}:\d{2}$/', $value)) { - $type = 'timestamp'; - } elseif (preg_match('/^\d{2}:\d{2}$/', $value)) { - $type = 'time'; - } elseif (preg_match('/^\d{4}-\d{2}-\d{2}$/', $value)) { - $type = 'date'; - } else { - $type = 'text'; - } - break; - } - } elseif (!empty($db->options['datatype_map'][$type])) { - $type = $db->options['datatype_map'][$type]; - if (!empty($db->options['datatype_map_callback'][$type])) { - $parameter = array('type' => $type, 'value' => $value, 'quote' => $quote, 'escape_wildcards' => $escape_wildcards); - return call_user_func_array($db->options['datatype_map_callback'][$type], array(&$db, __FUNCTION__, $parameter)); - } - } - - if (!method_exists($this, "_quote{$type}")) { - return $db->raiseError(MDB2_ERROR_UNSUPPORTED, null, null, - 'type not defined: '.$type, __FUNCTION__); - } - $value = $this->{"_quote{$type}"}($value, $quote, $escape_wildcards); - if ($quote && $escape_wildcards && $db->string_quoting['escape_pattern'] - && $db->string_quoting['escape'] !== $db->string_quoting['escape_pattern'] - ) { - $value.= $this->patternEscapeString(); - } - return $value; - } - - // }}} - // {{{ _quoteInteger() - - /** - * Convert a text value into a DBMS specific format that is suitable to - * compose query statements. - * - * @param string $value text string value that is intended to be converted. - * @param bool $quote determines if the value should be quoted and escaped - * @param bool $escape_wildcards if to escape escape wildcards - * @return string text string that represents the given argument value in - * a DBMS specific format. - * @access protected - */ - function _quoteInteger($value, $quote, $escape_wildcards) - { - return (int)$value; - } - - // }}} - // {{{ _quoteText() - - /** - * Convert a text value into a DBMS specific format that is suitable to - * compose query statements. - * - * @param string $value text string value that is intended to be converted. - * @param bool $quote determines if the value should be quoted and escaped - * @param bool $escape_wildcards if to escape escape wildcards - * @return string text string that already contains any DBMS specific - * escaped character sequences. - * @access protected - */ - function _quoteText($value, $quote, $escape_wildcards) - { - if (!$quote) { - return $value; - } - - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - $value = $db->escape($value, $escape_wildcards); - if (PEAR::isError($value)) { - return $value; - } - return "'".$value."'"; - } - - // }}} - // {{{ _readFile() - - /** - * Convert a text value into a DBMS specific format that is suitable to - * compose query statements. - * - * @param string $value text string value that is intended to be converted. - * @return string text string that represents the given argument value in - * a DBMS specific format. - * @access protected - */ - function _readFile($value) - { - $close = false; - if (preg_match('/^(\w+:\/\/)(.*)$/', $value, $match)) { - $close = true; - if (strtolower($match[1]) == 'file://') { - $value = $match[2]; - } - $value = @fopen($value, 'r'); - } - - if (is_resource($value)) { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - $fp = $value; - $value = ''; - while (!@feof($fp)) { - $value.= @fread($fp, $db->options['lob_buffer_length']); - } - if ($close) { - @fclose($fp); - } - } - - return $value; - } - - // }}} - // {{{ _quoteLOB() - - /** - * Convert a text value into a DBMS specific format that is suitable to - * compose query statements. - * - * @param string $value text string value that is intended to be converted. - * @param bool $quote determines if the value should be quoted and escaped - * @param bool $escape_wildcards if to escape escape wildcards - * @return string text string that represents the given argument value in - * a DBMS specific format. - * @access protected - */ - function _quoteLOB($value, $quote, $escape_wildcards) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - if ($db->options['lob_allow_url_include']) { - $value = $this->_readFile($value); - if (PEAR::isError($value)) { - return $value; - } - } - return $this->_quoteText($value, $quote, $escape_wildcards); - } - - // }}} - // {{{ _quoteCLOB() - - /** - * Convert a text value into a DBMS specific format that is suitable to - * compose query statements. - * - * @param string $value text string value that is intended to be converted. - * @param bool $quote determines if the value should be quoted and escaped - * @param bool $escape_wildcards if to escape escape wildcards - * @return string text string that represents the given argument value in - * a DBMS specific format. - * @access protected - */ - function _quoteCLOB($value, $quote, $escape_wildcards) - { - return $this->_quoteLOB($value, $quote, $escape_wildcards); - } - - // }}} - // {{{ _quoteBLOB() - - /** - * Convert a text value into a DBMS specific format that is suitable to - * compose query statements. - * - * @param string $value text string value that is intended to be converted. - * @param bool $quote determines if the value should be quoted and escaped - * @param bool $escape_wildcards if to escape escape wildcards - * @return string text string that represents the given argument value in - * a DBMS specific format. - * @access protected - */ - function _quoteBLOB($value, $quote, $escape_wildcards) - { - return $this->_quoteLOB($value, $quote, $escape_wildcards); - } - - // }}} - // {{{ _quoteBoolean() - - /** - * Convert a text value into a DBMS specific format that is suitable to - * compose query statements. - * - * @param string $value text string value that is intended to be converted. - * @param bool $quote determines if the value should be quoted and escaped - * @param bool $escape_wildcards if to escape escape wildcards - * @return string text string that represents the given argument value in - * a DBMS specific format. - * @access protected - */ - function _quoteBoolean($value, $quote, $escape_wildcards) - { - return ($value ? 1 : 0); - } - - // }}} - // {{{ _quoteDate() - - /** - * Convert a text value into a DBMS specific format that is suitable to - * compose query statements. - * - * @param string $value text string value that is intended to be converted. - * @param bool $quote determines if the value should be quoted and escaped - * @param bool $escape_wildcards if to escape escape wildcards - * @return string text string that represents the given argument value in - * a DBMS specific format. - * @access protected - */ - function _quoteDate($value, $quote, $escape_wildcards) - { - if ($value === 'CURRENT_DATE') { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - if (isset($db->function) && is_object($this->function) && is_a($db->function, 'MDB2_Driver_Function_Common')) { - return $db->function->now('date'); - } - return 'CURRENT_DATE'; - } - return $this->_quoteText($value, $quote, $escape_wildcards); - } - - // }}} - // {{{ _quoteTimestamp() - - /** - * Convert a text value into a DBMS specific format that is suitable to - * compose query statements. - * - * @param string $value text string value that is intended to be converted. - * @param bool $quote determines if the value should be quoted and escaped - * @param bool $escape_wildcards if to escape escape wildcards - * @return string text string that represents the given argument value in - * a DBMS specific format. - * @access protected - */ - function _quoteTimestamp($value, $quote, $escape_wildcards) - { - if ($value === 'CURRENT_TIMESTAMP') { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - if (isset($db->function) && is_object($db->function) && is_a($db->function, 'MDB2_Driver_Function_Common')) { - return $db->function->now('timestamp'); - } - return 'CURRENT_TIMESTAMP'; - } - return $this->_quoteText($value, $quote, $escape_wildcards); - } - - // }}} - // {{{ _quoteTime() - - /** - * Convert a text value into a DBMS specific format that is suitable to - * compose query statements. - * - * @param string $value text string value that is intended to be converted. - * @param bool $quote determines if the value should be quoted and escaped - * @param bool $escape_wildcards if to escape escape wildcards - * @return string text string that represents the given argument value in - * a DBMS specific format. - * @access protected - */ - function _quoteTime($value, $quote, $escape_wildcards) - { - if ($value === 'CURRENT_TIME') { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - if (isset($db->function) && is_object($this->function) && is_a($db->function, 'MDB2_Driver_Function_Common')) { - return $db->function->now('time'); - } - return 'CURRENT_TIME'; - } - return $this->_quoteText($value, $quote, $escape_wildcards); - } - - // }}} - // {{{ _quoteFloat() - - /** - * Convert a text value into a DBMS specific format that is suitable to - * compose query statements. - * - * @param string $value text string value that is intended to be converted. - * @param bool $quote determines if the value should be quoted and escaped - * @param bool $escape_wildcards if to escape escape wildcards - * @return string text string that represents the given argument value in - * a DBMS specific format. - * @access protected - */ - function _quoteFloat($value, $quote, $escape_wildcards) - { - if (preg_match('/^(.*)e([-+])(\d+)$/i', $value, $matches)) { - $decimal = $this->_quoteDecimal($matches[1], $quote, $escape_wildcards); - $sign = $matches[2]; - $exponent = str_pad($matches[3], 2, '0', STR_PAD_LEFT); - $value = $decimal.'E'.$sign.$exponent; - } else { - $value = $this->_quoteDecimal($value, $quote, $escape_wildcards); - } - return $value; - } - - // }}} - // {{{ _quoteDecimal() - - /** - * Convert a text value into a DBMS specific format that is suitable to - * compose query statements. - * - * @param string $value text string value that is intended to be converted. - * @param bool $quote determines if the value should be quoted and escaped - * @param bool $escape_wildcards if to escape escape wildcards - * @return string text string that represents the given argument value in - * a DBMS specific format. - * @access protected - */ - function _quoteDecimal($value, $quote, $escape_wildcards) - { - $value = (string)$value; - $value = preg_replace('/[^\d\.,\-+eE]/', '', $value); - if (preg_match('/[^\.\d]/', $value)) { - if (strpos($value, ',')) { - // 1000,00 - if (!strpos($value, '.')) { - // convert the last "," to a "." - $value = strrev(str_replace(',', '.', strrev($value))); - // 1.000,00 - } elseif (strpos($value, '.') && strpos($value, '.') < strpos($value, ',')) { - $value = str_replace('.', '', $value); - // convert the last "," to a "." - $value = strrev(str_replace(',', '.', strrev($value))); - // 1,000.00 - } else { - $value = str_replace(',', '', $value); - } - } - } - return $value; - } - - // }}} - // {{{ writeLOBToFile() - - /** - * retrieve LOB from the database - * - * @param resource $lob stream handle - * @param string $file name of the file into which the LOb should be fetched - * @return mixed MDB2_OK on success, a MDB2 error on failure - * @access protected - */ - function writeLOBToFile($lob, $file) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - if (preg_match('/^(\w+:\/\/)(.*)$/', $file, $match)) { - if ($match[1] == 'file://') { - $file = $match[2]; - } - } - - $fp = @fopen($file, 'wb'); - while (!@feof($lob)) { - $result = @fread($lob, $db->options['lob_buffer_length']); - $read = strlen($result); - if (@fwrite($fp, $result, $read) != $read) { - @fclose($fp); - return $db->raiseError(MDB2_ERROR, null, null, - 'could not write to the output file', __FUNCTION__); - } - } - @fclose($fp); - return MDB2_OK; - } - - // }}} - // {{{ _retrieveLOB() - - /** - * retrieve LOB from the database - * - * @param array $lob array - * @return mixed MDB2_OK on success, a MDB2 error on failure - * @access protected - */ - function _retrieveLOB(&$lob) - { - if (null === $lob['value']) { - $lob['value'] = $lob['resource']; - } - $lob['loaded'] = true; - return MDB2_OK; - } - - // }}} - // {{{ readLOB() - - /** - * Read data from large object input stream. - * - * @param resource $lob stream handle - * @param string $data reference to a variable that will hold data - * to be read from the large object input stream - * @param integer $length value that indicates the largest ammount ofdata - * to be read from the large object input stream. - * @return mixed the effective number of bytes read from the large object - * input stream on sucess or an MDB2 error object. - * @access public - * @see endOfLOB() - */ - function _readLOB($lob, $length) - { - return substr($lob['value'], $lob['position'], $length); - } - - // }}} - // {{{ _endOfLOB() - - /** - * Determine whether it was reached the end of the large object and - * therefore there is no more data to be read for the its input stream. - * - * @param array $lob array - * @return mixed true or false on success, a MDB2 error on failure - * @access protected - */ - function _endOfLOB($lob) - { - return $lob['endOfLOB']; - } - - // }}} - // {{{ destroyLOB() - - /** - * Free any resources allocated during the lifetime of the large object - * handler object. - * - * @param resource $lob stream handle - * @access public - */ - function destroyLOB($lob) - { - $lob_data = stream_get_meta_data($lob); - $lob_index = $lob_data['wrapper_data']->lob_index; - fclose($lob); - if (isset($this->lobs[$lob_index])) { - $this->_destroyLOB($this->lobs[$lob_index]); - unset($this->lobs[$lob_index]); - } - return MDB2_OK; - } - - // }}} - // {{{ _destroyLOB() - - /** - * Free any resources allocated during the lifetime of the large object - * handler object. - * - * @param array $lob array - * @access private - */ - function _destroyLOB(&$lob) - { - return MDB2_OK; - } - - // }}} - // {{{ implodeArray() - - /** - * apply a type to all values of an array and return as a comma seperated string - * useful for generating IN statements - * - * @access public - * - * @param array $array data array - * @param string $type determines type of the field - * - * @return string comma seperated values - */ - function implodeArray($array, $type = false) - { - if (!is_array($array) || empty($array)) { - return 'NULL'; - } - if ($type) { - foreach ($array as $value) { - $return[] = $this->quote($value, $type); - } - } else { - $return = $array; - } - return implode(', ', $return); - } - - // }}} - // {{{ matchPattern() - - /** - * build a pattern matching string - * - * @access public - * - * @param array $pattern even keys are strings, odd are patterns (% and _) - * @param string $operator optional pattern operator (LIKE, ILIKE and maybe others in the future) - * @param string $field optional field name that is being matched against - * (might be required when emulating ILIKE) - * - * @return string SQL pattern - */ - function matchPattern($pattern, $operator = null, $field = null) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - $match = ''; - if (null !== $operator) { - $operator = strtoupper($operator); - switch ($operator) { - // case insensitive - case 'ILIKE': - if (null === $field) { - return $db->raiseError(MDB2_ERROR_UNSUPPORTED, null, null, - 'case insensitive LIKE matching requires passing the field name', __FUNCTION__); - } - $db->loadModule('Function', null, true); - $match = $db->function->lower($field).' LIKE '; - break; - case 'NOT ILIKE': - if (null === $field) { - return $db->raiseError(MDB2_ERROR_UNSUPPORTED, null, null, - 'case insensitive NOT ILIKE matching requires passing the field name', __FUNCTION__); - } - $db->loadModule('Function', null, true); - $match = $db->function->lower($field).' NOT LIKE '; - break; - // case sensitive - case 'LIKE': - $match = (null === $field) ? 'LIKE ' : ($field.' LIKE '); - break; - case 'NOT LIKE': - $match = (null === $field) ? 'NOT LIKE ' : ($field.' NOT LIKE '); - break; - default: - return $db->raiseError(MDB2_ERROR_UNSUPPORTED, null, null, - 'not a supported operator type:'. $operator, __FUNCTION__); - } - } - $match.= "'"; - foreach ($pattern as $key => $value) { - if ($key % 2) { - $match.= $value; - } else { - $escaped = $db->escape($value); - if (PEAR::isError($escaped)) { - return $escaped; - } - $match.= $db->escapePattern($escaped); - } - } - $match.= "'"; - $match.= $this->patternEscapeString(); - return $match; - } - - // }}} - // {{{ patternEscapeString() - - /** - * build string to define pattern escape character - * - * @access public - * - * @return string define pattern escape character - */ - function patternEscapeString() - { - return ''; - } - - // }}} - // {{{ mapNativeDatatype() - - /** - * Maps a native array description of a field to a MDB2 datatype and length - * - * @param array $field native field description - * @return array containing the various possible types, length, sign, fixed - * @access public - */ - function mapNativeDatatype($field) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - // If the user has specified an option to map the native field - // type to a custom MDB2 datatype... - $db_type = strtok($field['type'], '(), '); - if (!empty($db->options['nativetype_map_callback'][$db_type])) { - return call_user_func_array($db->options['nativetype_map_callback'][$db_type], array($db, $field)); - } - - // Otherwise perform the built-in (i.e. normal) MDB2 native type to - // MDB2 datatype conversion - return $this->_mapNativeDatatype($field); - } - - // }}} - // {{{ _mapNativeDatatype() - - /** - * Maps a native array description of a field to a MDB2 datatype and length - * - * @param array $field native field description - * @return array containing the various possible types, length, sign, fixed - * @access public - */ - function _mapNativeDatatype($field) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - return $db->raiseError(MDB2_ERROR_UNSUPPORTED, null, null, - 'method not implemented', __FUNCTION__); - } - - // }}} - // {{{ mapPrepareDatatype() - - /** - * Maps an mdb2 datatype to mysqli prepare type - * - * @param string $type - * @return string - * @access public - */ - function mapPrepareDatatype($type) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - if (!empty($db->options['datatype_map'][$type])) { - $type = $db->options['datatype_map'][$type]; - if (!empty($db->options['datatype_map_callback'][$type])) { - $parameter = array('type' => $type); - return call_user_func_array($db->options['datatype_map_callback'][$type], array(&$db, __FUNCTION__, $parameter)); - } - } - - return $type; - } -} -?> diff --git a/3rdparty/MDB2/Driver/Datatype/mysql.php b/3rdparty/MDB2/Driver/Datatype/mysql.php deleted file mode 100644 index d23eed23ff7c5f4aada016fbdd72b814c6df2d49..0000000000000000000000000000000000000000 --- a/3rdparty/MDB2/Driver/Datatype/mysql.php +++ /dev/null @@ -1,602 +0,0 @@ - | -// +----------------------------------------------------------------------+ -// -// $Id$ -// - -require_once 'MDB2/Driver/Datatype/Common.php'; - -/** - * MDB2 MySQL driver - * - * @package MDB2 - * @category Database - * @author Lukas Smith - */ -class MDB2_Driver_Datatype_mysql extends MDB2_Driver_Datatype_Common -{ - // {{{ _getCharsetFieldDeclaration() - - /** - * Obtain DBMS specific SQL code portion needed to set the CHARACTER SET - * of a field declaration to be used in statements like CREATE TABLE. - * - * @param string $charset name of the charset - * @return string DBMS specific SQL code portion needed to set the CHARACTER SET - * of a field declaration. - */ - function _getCharsetFieldDeclaration($charset) - { - return 'CHARACTER SET '.$charset; - } - - // }}} - // {{{ _getCollationFieldDeclaration() - - /** - * Obtain DBMS specific SQL code portion needed to set the COLLATION - * of a field declaration to be used in statements like CREATE TABLE. - * - * @param string $collation name of the collation - * @return string DBMS specific SQL code portion needed to set the COLLATION - * of a field declaration. - */ - function _getCollationFieldDeclaration($collation) - { - return 'COLLATE '.$collation; - } - - // }}} - // {{{ getDeclaration() - - /** - * Obtain DBMS specific SQL code portion needed to declare - * of the given type - * - * @param string $type type to which the value should be converted to - * @param string $name name the field to be declared. - * @param string $field definition of the field - * - * @return string DBMS-specific SQL code portion that should be used to - * declare the specified field. - * @access public - */ - function getDeclaration($type, $name, $field) - { - // MySQL DDL syntax forbids combining NOT NULL with DEFAULT NULL. - // To get a default of NULL for NOT NULL columns, omit it. - if ( isset($field['notnull']) - && !empty($field['notnull']) - && array_key_exists('default', $field) // do not use isset() here! - && null === $field['default'] - ) { - unset($field['default']); - } - return parent::getDeclaration($type, $name, $field); - } - - // }}} - // {{{ getTypeDeclaration() - - /** - * Obtain DBMS specific SQL code portion needed to declare an text type - * field to be used in statements like CREATE TABLE. - * - * @param array $field associative array with the name of the properties - * of the field being declared as array indexes. Currently, the types - * of supported field properties are as follows: - * - * length - * Integer value that determines the maximum length of the text - * field. If this argument is missing the field should be - * declared to have the longest length allowed by the DBMS. - * - * default - * Text value to be used as default for this field. - * - * notnull - * Boolean flag that indicates whether this field is constrained - * to not be set to null. - * @return string DBMS specific SQL code portion that should be used to - * declare the specified field. - * @access public - */ - function getTypeDeclaration($field) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - switch ($field['type']) { - case 'text': - if (empty($field['length']) && array_key_exists('default', $field)) { - $field['length'] = $db->varchar_max_length; - } - $length = !empty($field['length']) ? $field['length'] : false; - $fixed = !empty($field['fixed']) ? $field['fixed'] : false; - return $fixed ? ($length ? 'CHAR('.$length.')' : 'CHAR(255)') - : ($length ? 'VARCHAR('.$length.')' : 'TEXT'); - case 'clob': - if (!empty($field['length'])) { - $length = $field['length']; - if ($length <= 255) { - return 'TINYTEXT'; - } elseif ($length <= 65532) { - return 'TEXT'; - } elseif ($length <= 16777215) { - return 'MEDIUMTEXT'; - } - } - return 'LONGTEXT'; - case 'blob': - if (!empty($field['length'])) { - $length = $field['length']; - if ($length <= 255) { - return 'TINYBLOB'; - } elseif ($length <= 65532) { - return 'BLOB'; - } elseif ($length <= 16777215) { - return 'MEDIUMBLOB'; - } - } - return 'LONGBLOB'; - case 'integer': - if (!empty($field['length'])) { - $length = $field['length']; - if ($length <= 1) { - return 'TINYINT'; - } elseif ($length == 2) { - return 'SMALLINT'; - } elseif ($length == 3) { - return 'MEDIUMINT'; - } elseif ($length == 4) { - return 'INT'; - } elseif ($length > 4) { - return 'BIGINT'; - } - } - return 'INT'; - case 'boolean': - return 'TINYINT(1)'; - case 'date': - return 'DATE'; - case 'time': - return 'TIME'; - case 'timestamp': - return 'DATETIME'; - case 'float': - $l = ''; - if (!empty($field['length'])) { - $l = '(' . $field['length']; - if (!empty($field['scale'])) { - $l .= ',' . $field['scale']; - } - $l .= ')'; - } - return 'DOUBLE' . $l; - case 'decimal': - $length = !empty($field['length']) ? $field['length'] : 18; - $scale = !empty($field['scale']) ? $field['scale'] : $db->options['decimal_places']; - return 'DECIMAL('.$length.','.$scale.')'; - } - return ''; - } - - // }}} - // {{{ _getIntegerDeclaration() - - /** - * Obtain DBMS specific SQL code portion needed to declare an integer type - * field to be used in statements like CREATE TABLE. - * - * @param string $name name the field to be declared. - * @param string $field associative array with the name of the properties - * of the field being declared as array indexes. - * Currently, the types of supported field - * properties are as follows: - * - * unsigned - * Boolean flag that indicates whether the field - * should be declared as unsigned integer if - * possible. - * - * default - * Integer value to be used as default for this - * field. - * - * notnull - * Boolean flag that indicates whether this field is - * constrained to not be set to null. - * @return string DBMS specific SQL code portion that should be used to - * declare the specified field. - * @access protected - */ - function _getIntegerDeclaration($name, $field) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - $default = $autoinc = ''; - if (!empty($field['autoincrement'])) { - $autoinc = ' AUTO_INCREMENT PRIMARY KEY'; - } elseif (array_key_exists('default', $field)) { - if ($field['default'] === '') { - $field['default'] = empty($field['notnull']) ? null : 0; - } - $default = ' DEFAULT '.$this->quote($field['default'], 'integer'); - } - - $notnull = empty($field['notnull']) ? '' : ' NOT NULL'; - $unsigned = empty($field['unsigned']) ? '' : ' UNSIGNED'; - if (empty($default) && empty($notnull)) { - $default = ' DEFAULT NULL'; - } - $name = $db->quoteIdentifier($name, true); - return $name.' '.$this->getTypeDeclaration($field).$unsigned.$default.$notnull.$autoinc; - } - - // }}} - // {{{ _getFloatDeclaration() - - /** - * Obtain DBMS specific SQL code portion needed to declare an float type - * field to be used in statements like CREATE TABLE. - * - * @param string $name name the field to be declared. - * @param string $field associative array with the name of the properties - * of the field being declared as array indexes. - * Currently, the types of supported field - * properties are as follows: - * - * unsigned - * Boolean flag that indicates whether the field - * should be declared as unsigned float if - * possible. - * - * default - * float value to be used as default for this - * field. - * - * notnull - * Boolean flag that indicates whether this field is - * constrained to not be set to null. - * @return string DBMS specific SQL code portion that should be used to - * declare the specified field. - * @access protected - */ - function _getFloatDeclaration($name, $field) - { - // Since AUTO_INCREMENT can be used for integer or floating-point types, - // reuse the INTEGER declaration - // @see http://bugs.mysql.com/bug.php?id=31032 - return $this->_getIntegerDeclaration($name, $field); - } - - // }}} - // {{{ _getDecimalDeclaration() - - /** - * Obtain DBMS specific SQL code portion needed to declare an decimal type - * field to be used in statements like CREATE TABLE. - * - * @param string $name name the field to be declared. - * @param string $field associative array with the name of the properties - * of the field being declared as array indexes. - * Currently, the types of supported field - * properties are as follows: - * - * unsigned - * Boolean flag that indicates whether the field - * should be declared as unsigned integer if - * possible. - * - * default - * Decimal value to be used as default for this - * field. - * - * notnull - * Boolean flag that indicates whether this field is - * constrained to not be set to null. - * @return string DBMS specific SQL code portion that should be used to - * declare the specified field. - * @access protected - */ - function _getDecimalDeclaration($name, $field) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - $default = ''; - if (array_key_exists('default', $field)) { - if ($field['default'] === '') { - $field['default'] = empty($field['notnull']) ? null : 0; - } - $default = ' DEFAULT '.$this->quote($field['default'], 'integer'); - } elseif (empty($field['notnull'])) { - $default = ' DEFAULT NULL'; - } - - $notnull = empty($field['notnull']) ? '' : ' NOT NULL'; - $unsigned = empty($field['unsigned']) ? '' : ' UNSIGNED'; - $name = $db->quoteIdentifier($name, true); - return $name.' '.$this->getTypeDeclaration($field).$unsigned.$default.$notnull; - } - - // }}} - // {{{ matchPattern() - - /** - * build a pattern matching string - * - * @access public - * - * @param array $pattern even keys are strings, odd are patterns (% and _) - * @param string $operator optional pattern operator (LIKE, ILIKE and maybe others in the future) - * @param string $field optional field name that is being matched against - * (might be required when emulating ILIKE) - * - * @return string SQL pattern - */ - function matchPattern($pattern, $operator = null, $field = null) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - $match = ''; - if (null !== $operator) { - $field = (null === $field) ? '' : $field.' '; - $operator = strtoupper($operator); - switch ($operator) { - // case insensitive - case 'ILIKE': - $match = $field.'LIKE '; - break; - case 'NOT ILIKE': - $match = $field.'NOT LIKE '; - break; - // case sensitive - case 'LIKE': - $match = $field.'LIKE BINARY '; - break; - case 'NOT LIKE': - $match = $field.'NOT LIKE BINARY '; - break; - default: - return $db->raiseError(MDB2_ERROR_UNSUPPORTED, null, null, - 'not a supported operator type:'. $operator, __FUNCTION__); - } - } - $match.= "'"; - foreach ($pattern as $key => $value) { - if ($key % 2) { - $match.= $value; - } else { - $match.= $db->escapePattern($db->escape($value)); - } - } - $match.= "'"; - $match.= $this->patternEscapeString(); - return $match; - } - - // }}} - // {{{ _mapNativeDatatype() - - /** - * Maps a native array description of a field to a MDB2 datatype and length - * - * @param array $field native field description - * @return array containing the various possible types, length, sign, fixed - * @access public - */ - function _mapNativeDatatype($field) - { - $db_type = strtolower($field['type']); - $db_type = strtok($db_type, '(), '); - if ($db_type == 'national') { - $db_type = strtok('(), '); - } - if (!empty($field['length'])) { - $length = strtok($field['length'], ', '); - $decimal = strtok(', '); - } else { - $length = strtok('(), '); - $decimal = strtok('(), '); - } - $type = array(); - $unsigned = $fixed = null; - switch ($db_type) { - case 'tinyint': - $type[] = 'integer'; - $type[] = 'boolean'; - if (preg_match('/^(is|has)/', $field['name'])) { - $type = array_reverse($type); - } - $unsigned = preg_match('/ unsigned/i', $field['type']); - $length = 1; - break; - case 'smallint': - $type[] = 'integer'; - $unsigned = preg_match('/ unsigned/i', $field['type']); - $length = 2; - break; - case 'mediumint': - $type[] = 'integer'; - $unsigned = preg_match('/ unsigned/i', $field['type']); - $length = 3; - break; - case 'int': - case 'integer': - $type[] = 'integer'; - $unsigned = preg_match('/ unsigned/i', $field['type']); - $length = 4; - break; - case 'bigint': - $type[] = 'integer'; - $unsigned = preg_match('/ unsigned/i', $field['type']); - $length = 8; - break; - case 'tinytext': - case 'mediumtext': - case 'longtext': - case 'text': - case 'varchar': - $fixed = false; - case 'string': - case 'char': - $type[] = 'text'; - if ($length == '1') { - $type[] = 'boolean'; - if (preg_match('/^(is|has)/', $field['name'])) { - $type = array_reverse($type); - } - } elseif (strstr($db_type, 'text')) { - $type[] = 'clob'; - if ($decimal == 'binary') { - $type[] = 'blob'; - } - $type = array_reverse($type); - } - if ($fixed !== false) { - $fixed = true; - } - break; - case 'enum': - $type[] = 'text'; - preg_match_all('/\'.+\'/U', $field['type'], $matches); - $length = 0; - $fixed = false; - if (is_array($matches)) { - foreach ($matches[0] as $value) { - $length = max($length, strlen($value)-2); - } - if ($length == '1' && count($matches[0]) == 2) { - $type[] = 'boolean'; - if (preg_match('/^(is|has)/', $field['name'])) { - $type = array_reverse($type); - } - } - } - $type[] = 'integer'; - case 'set': - $fixed = false; - $type[] = 'text'; - $type[] = 'integer'; - break; - case 'date': - $type[] = 'date'; - $length = null; - break; - case 'datetime': - case 'timestamp': - $type[] = 'timestamp'; - $length = null; - break; - case 'time': - $type[] = 'time'; - $length = null; - break; - case 'float': - case 'double': - case 'real': - $type[] = 'float'; - $unsigned = preg_match('/ unsigned/i', $field['type']); - if ($decimal !== false) { - $length = $length.','.$decimal; - } - break; - case 'unknown': - case 'decimal': - case 'numeric': - $type[] = 'decimal'; - $unsigned = preg_match('/ unsigned/i', $field['type']); - if ($decimal !== false) { - $length = $length.','.$decimal; - } - break; - case 'tinyblob': - case 'mediumblob': - case 'longblob': - case 'blob': - $type[] = 'blob'; - $length = null; - break; - case 'binary': - case 'varbinary': - $type[] = 'blob'; - break; - case 'year': - $type[] = 'integer'; - $type[] = 'date'; - $length = null; - break; - default: - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - return $db->raiseError(MDB2_ERROR_UNSUPPORTED, null, null, - 'unknown database attribute type: '.$db_type, __FUNCTION__); - } - - if ((int)$length <= 0) { - $length = null; - } - - return array($type, $length, $unsigned, $fixed); - } - - // }}} -} - -?> \ No newline at end of file diff --git a/3rdparty/MDB2/Driver/Datatype/oci8.php b/3rdparty/MDB2/Driver/Datatype/oci8.php deleted file mode 100644 index 4d2e792a80e903ace73704786532811b8cfaa932..0000000000000000000000000000000000000000 --- a/3rdparty/MDB2/Driver/Datatype/oci8.php +++ /dev/null @@ -1,499 +0,0 @@ - | -// +----------------------------------------------------------------------+ - -// $Id: oci8.php 295587 2010-02-28 17:16:38Z quipo $ - -require_once 'MDB2/Driver/Datatype/Common.php'; - -/** - * MDB2 OCI8 driver - * - * @package MDB2 - * @category Database - * @author Lukas Smith - */ -class MDB2_Driver_Datatype_oci8 extends MDB2_Driver_Datatype_Common -{ - // {{{ _baseConvertResult() - - /** - * general type conversion method - * - * @param mixed $value refernce to a value to be converted - * @param string $type specifies which type to convert to - * @param boolean $rtrim [optional] when TRUE [default], apply rtrim() to text - * @return object a MDB2 error on failure - * @access protected - */ - function _baseConvertResult($value, $type, $rtrim = true) - { - if (null === $value) { - return null; - } - switch ($type) { - case 'text': - if (is_object($value) && is_a($value, 'OCI-Lob')) { - //LOB => fetch into variable - $clob = $this->_baseConvertResult($value, 'clob', $rtrim); - if (!PEAR::isError($clob) && is_resource($clob)) { - $clob_value = ''; - while (!feof($clob)) { - $clob_value .= fread($clob, 8192); - } - $this->destroyLOB($clob); - } - $value = $clob_value; - } - if ($rtrim) { - $value = rtrim($value); - } - return $value; - case 'date': - return substr($value, 0, strlen('YYYY-MM-DD')); - case 'time': - return substr($value, strlen('YYYY-MM-DD '), strlen('HH:MI:SS')); - } - return parent::_baseConvertResult($value, $type, $rtrim); - } - - // }}} - // {{{ getTypeDeclaration() - - /** - * Obtain DBMS specific SQL code portion needed to declare an text type - * field to be used in statements like CREATE TABLE. - * - * @param array $field associative array with the name of the properties - * of the field being declared as array indexes. Currently, the types - * of supported field properties are as follows: - * - * length - * Integer value that determines the maximum length of the text - * field. If this argument is missing the field should be - * declared to have the longest length allowed by the DBMS. - * - * default - * Text value to be used as default for this field. - * - * notnull - * Boolean flag that indicates whether this field is constrained - * to not be set to null. - * @return string DBMS specific SQL code portion that should be used to - * declare the specified field. - * @access public - */ - function getTypeDeclaration($field) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - switch ($field['type']) { - case 'text': - $length = !empty($field['length']) - ? $field['length'] : $db->options['default_text_field_length']; - $fixed = !empty($field['fixed']) ? $field['fixed'] : false; - return $fixed ? 'CHAR('.$length.')' : 'VARCHAR2('.$length.')'; - case 'clob': - return 'CLOB'; - case 'blob': - return 'BLOB'; - case 'integer': - if (!empty($field['length'])) { - switch((int)$field['length']) { - case 1: $digit = 3; break; - case 2: $digit = 5; break; - case 3: $digit = 8; break; - case 4: $digit = 10; break; - case 5: $digit = 13; break; - case 6: $digit = 15; break; - case 7: $digit = 17; break; - case 8: $digit = 20; break; - default: $digit = 10; - } - return 'NUMBER('.$digit.')'; - } - return 'INT'; - case 'boolean': - return 'NUMBER(1)'; - case 'date': - case 'time': - case 'timestamp': - return 'DATE'; - case 'float': - return 'NUMBER'; - case 'decimal': - $scale = !empty($field['scale']) ? $field['scale'] : $db->options['decimal_places']; - return 'NUMBER(*,'.$scale.')'; - } - } - - // }}} - // {{{ _quoteCLOB() - - /** - * Convert a text value into a DBMS specific format that is suitable to - * compose query statements. - * - * @param string $value text string value that is intended to be converted. - * @param bool $quote determines if the value should be quoted and escaped - * @param bool $escape_wildcards if to escape escape wildcards - * @return string text string that represents the given argument value in - * a DBMS specific format. - * @access protected - */ - function _quoteCLOB($value, $quote, $escape_wildcards) - { - return 'EMPTY_CLOB()'; - } - - // }}} - // {{{ _quoteBLOB() - - /** - * Convert a text value into a DBMS specific format that is suitable to - * compose query statements. - * - * @param string $value text string value that is intended to be converted. - * @param bool $quote determines if the value should be quoted and escaped - * @param bool $escape_wildcards if to escape escape wildcards - * @return string text string that represents the given argument value in - * a DBMS specific format. - * @access protected - */ - function _quoteBLOB($value, $quote, $escape_wildcards) - { - return 'EMPTY_BLOB()'; - } - - // }}} - // {{{ _quoteDate() - - /** - * Convert a text value into a DBMS specific format that is suitable to - * compose query statements. - * - * @param string $value text string value that is intended to be converted. - * @param bool $quote determines if the value should be quoted and escaped - * @param bool $escape_wildcards if to escape escape wildcards - * @return string text string that represents the given argument value in - * a DBMS specific format. - * @access protected - */ - function _quoteDate($value, $quote, $escape_wildcards) - { - return $this->_quoteText("$value 00:00:00", $quote, $escape_wildcards); - } - - // }}} - // {{{ _quoteTimestamp() - - /** - * Convert a text value into a DBMS specific format that is suitable to - * compose query statements. - * - * @param string $value text string value that is intended to be converted. - * @param bool $quote determines if the value should be quoted and escaped - * @param bool $escape_wildcards if to escape escape wildcards - * @return string text string that represents the given argument value in - * a DBMS specific format. - * @access protected - */ - //function _quoteTimestamp($value, $quote, $escape_wildcards) - //{ - // return $this->_quoteText($value, $quote, $escape_wildcards); - //} - - // }}} - // {{{ _quoteTime() - - /** - * Convert a text value into a DBMS specific format that is suitable to - * compose query statements. - * - * @param string $value text string value that is intended to be converted. - * @param bool $quote determines if the value should be quoted and escaped - * @param bool $escape_wildcards if to escape escape wildcards - * @return string text string that represents the given argument value in - * a DBMS specific format. - * @access protected - */ - function _quoteTime($value, $quote, $escape_wildcards) - { - return $this->_quoteText("0001-01-01 $value", $quote, $escape_wildcards); - } - - // }}} - // {{{ writeLOBToFile() - - /** - * retrieve LOB from the database - * - * @param array $lob array - * @param string $file name of the file into which the LOb should be fetched - * @return mixed MDB2_OK on success, a MDB2 error on failure - * @access protected - */ - function writeLOBToFile($lob, $file) - { - if (preg_match('/^(\w+:\/\/)(.*)$/', $file, $match)) { - if ($match[1] == 'file://') { - $file = $match[2]; - } - } - $lob_data = stream_get_meta_data($lob); - $lob_index = $lob_data['wrapper_data']->lob_index; - $result = $this->lobs[$lob_index]['resource']->writetofile($file); - $this->lobs[$lob_index]['resource']->seek(0); - if (!$result) { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - return $db->raiseError(null, null, null, - 'Unable to write LOB to file', __FUNCTION__); - } - return MDB2_OK; - } - - // }}} - // {{{ _retrieveLOB() - - /** - * retrieve LOB from the database - * - * @param array $lob array - * @return mixed MDB2_OK on success, a MDB2 error on failure - * @access protected - */ - function _retrieveLOB(&$lob) - { - if (!is_object($lob['resource'])) { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - return $db->raiseError(MDB2_ERROR_NOT_FOUND, null, null, - 'attemped to retrieve LOB from non existing or NULL column', __FUNCTION__); - } - - if (!$lob['loaded'] -# && !method_exists($lob['resource'], 'read') - ) { - $lob['value'] = $lob['resource']->load(); - $lob['resource']->seek(0); - } - $lob['loaded'] = true; - return MDB2_OK; - } - - // }}} - // {{{ _readLOB() - - /** - * Read data from large object input stream. - * - * @param array $lob array - * @param blob $data reference to a variable that will hold data to be - * read from the large object input stream - * @param int $length integer value that indicates the largest ammount of - * data to be read from the large object input stream. - * @return mixed length on success, a MDB2 error on failure - * @access protected - */ - function _readLOB($lob, $length) - { - if ($lob['loaded']) { - return parent::_readLOB($lob, $length); - } - - if (!is_object($lob['resource'])) { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - return $db->raiseError(MDB2_ERROR_NOT_FOUND, null, null, - 'attemped to retrieve LOB from non existing or NULL column', __FUNCTION__); - } - - $data = $lob['resource']->read($length); - if (!is_string($data)) { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - return $db->raiseError(null, null, null, - 'Unable to read LOB', __FUNCTION__); - } - return $data; - } - - // }}} - // {{{ patternEscapeString() - - /** - * build string to define escape pattern string - * - * @access public - * - * - * @return string define escape pattern - */ - function patternEscapeString() - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - return " ESCAPE '". $db->string_quoting['escape_pattern'] ."'"; - } - - // }}} - // {{{ _mapNativeDatatype() - - /** - * Maps a native array description of a field to a MDB2 datatype and length - * - * @param array $field native field description - * @return array containing the various possible types, length, sign, fixed - * @access public - */ - function _mapNativeDatatype($field) - { - $db_type = strtolower($field['type']); - $type = array(); - $length = $unsigned = $fixed = null; - if (!empty($field['length'])) { - $length = $field['length']; - } - switch ($db_type) { - case 'integer': - case 'pls_integer': - case 'binary_integer': - $type[] = 'integer'; - if ($length == '1') { - $type[] = 'boolean'; - if (preg_match('/^(is|has)/', $field['name'])) { - $type = array_reverse($type); - } - } - break; - case 'varchar': - case 'varchar2': - case 'nvarchar2': - $fixed = false; - case 'char': - case 'nchar': - $type[] = 'text'; - if ($length == '1') { - $type[] = 'boolean'; - if (preg_match('/^(is|has)/', $field['name'])) { - $type = array_reverse($type); - } - } - if ($fixed !== false) { - $fixed = true; - } - break; - case 'date': - case 'timestamp': - $type[] = 'timestamp'; - $length = null; - break; - case 'float': - $type[] = 'float'; - break; - case 'number': - if (!empty($field['scale'])) { - $type[] = 'decimal'; - $length = $length.','.$field['scale']; - } else { - $type[] = 'integer'; - if ($length == '1') { - $type[] = 'boolean'; - if (preg_match('/^(is|has)/', $field['name'])) { - $type = array_reverse($type); - } - } - } - break; - case 'long': - $type[] = 'text'; - case 'clob': - case 'nclob': - $type[] = 'clob'; - break; - case 'blob': - case 'raw': - case 'long raw': - case 'bfile': - $type[] = 'blob'; - $length = null; - break; - case 'rowid': - case 'urowid': - default: - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - return $db->raiseError(MDB2_ERROR_UNSUPPORTED, null, null, - 'unknown database attribute type: '.$db_type, __FUNCTION__); - } - - if ((int)$length <= 0) { - $length = null; - } - - return array($type, $length, $unsigned, $fixed); - } -} - -?> \ No newline at end of file diff --git a/3rdparty/MDB2/Driver/Datatype/pgsql.php b/3rdparty/MDB2/Driver/Datatype/pgsql.php deleted file mode 100644 index db2fa279024bcae8be1700edb36cb7fea624164a..0000000000000000000000000000000000000000 --- a/3rdparty/MDB2/Driver/Datatype/pgsql.php +++ /dev/null @@ -1,579 +0,0 @@ - | -// +----------------------------------------------------------------------+ -// -// $Id$ - -require_once 'MDB2/Driver/Datatype/Common.php'; - -/** - * MDB2 PostGreSQL driver - * - * @package MDB2 - * @category Database - * @author Paul Cooper - */ -class MDB2_Driver_Datatype_pgsql extends MDB2_Driver_Datatype_Common -{ - // {{{ _baseConvertResult() - - /** - * General type conversion method - * - * @param mixed $value refernce to a value to be converted - * @param string $type specifies which type to convert to - * @param boolean $rtrim [optional] when TRUE [default], apply rtrim() to text - * @return object a MDB2 error on failure - * @access protected - */ - function _baseConvertResult($value, $type, $rtrim = true) - { - if (null === $value) { - return null; - } - switch ($type) { - case 'boolean': - return $value == 't'; - case 'float': - return doubleval($value); - case 'date': - return $value; - case 'time': - return substr($value, 0, strlen('HH:MM:SS')); - case 'timestamp': - return substr($value, 0, strlen('YYYY-MM-DD HH:MM:SS')); - case 'blob': - $value = pg_unescape_bytea($value); - return parent::_baseConvertResult($value, $type, $rtrim); - } - return parent::_baseConvertResult($value, $type, $rtrim); - } - - // }}} - // {{{ getTypeDeclaration() - - /** - * Obtain DBMS specific SQL code portion needed to declare an text type - * field to be used in statements like CREATE TABLE. - * - * @param array $field associative array with the name of the properties - * of the field being declared as array indexes. Currently, the types - * of supported field properties are as follows: - * - * length - * Integer value that determines the maximum length of the text - * field. If this argument is missing the field should be - * declared to have the longest length allowed by the DBMS. - * - * default - * Text value to be used as default for this field. - * - * notnull - * Boolean flag that indicates whether this field is constrained - * to not be set to null. - * @return string DBMS specific SQL code portion that should be used to - * declare the specified field. - * @access public - */ - function getTypeDeclaration($field) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - switch ($field['type']) { - case 'text': - $length = !empty($field['length']) ? $field['length'] : false; - $fixed = !empty($field['fixed']) ? $field['fixed'] : false; - return $fixed ? ($length ? 'CHAR('.$length.')' : 'CHAR('.$db->options['default_text_field_length'].')') - : ($length ? 'VARCHAR('.$length.')' : 'TEXT'); - case 'clob': - return 'TEXT'; - case 'blob': - return 'BYTEA'; - case 'integer': - if (!empty($field['autoincrement'])) { - if (!empty($field['length'])) { - $length = $field['length']; - if ($length > 4) { - return 'BIGSERIAL PRIMARY KEY'; - } - } - return 'SERIAL PRIMARY KEY'; - } - if (!empty($field['length'])) { - $length = $field['length']; - if ($length <= 2) { - return 'SMALLINT'; - } elseif ($length == 3 || $length == 4) { - return 'INT'; - } elseif ($length > 4) { - return 'BIGINT'; - } - } - return 'INT'; - case 'boolean': - return 'BOOLEAN'; - case 'date': - return 'DATE'; - case 'time': - return 'TIME without time zone'; - case 'timestamp': - return 'TIMESTAMP without time zone'; - case 'float': - return 'FLOAT8'; - case 'decimal': - $length = !empty($field['length']) ? $field['length'] : 18; - $scale = !empty($field['scale']) ? $field['scale'] : $db->options['decimal_places']; - return 'NUMERIC('.$length.','.$scale.')'; - } - } - - // }}} - // {{{ _getIntegerDeclaration() - - /** - * Obtain DBMS specific SQL code portion needed to declare an integer type - * field to be used in statements like CREATE TABLE. - * - * @param string $name name the field to be declared. - * @param array $field associative array with the name of the properties - * of the field being declared as array indexes. Currently, the types - * of supported field properties are as follows: - * - * unsigned - * Boolean flag that indicates whether the field should be - * declared as unsigned integer if possible. - * - * default - * Integer value to be used as default for this field. - * - * notnull - * Boolean flag that indicates whether this field is constrained - * to not be set to null. - * @return string DBMS specific SQL code portion that should be used to - * declare the specified field. - * @access protected - */ - function _getIntegerDeclaration($name, $field) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - if (!empty($field['unsigned'])) { - $db->warnings[] = "unsigned integer field \"$name\" is being declared as signed integer"; - } - if (!empty($field['autoincrement'])) { - $name = $db->quoteIdentifier($name, true); - return $name.' '.$this->getTypeDeclaration($field); - } - $default = ''; - if (array_key_exists('default', $field)) { - if ($field['default'] === '') { - $field['default'] = empty($field['notnull']) ? null : 0; - } - $default = ' DEFAULT '.$this->quote($field['default'], 'integer'); - } - - $notnull = empty($field['notnull']) ? '' : ' NOT NULL'; - if (empty($default) && empty($notnull)) { - $default = ' DEFAULT NULL'; - } - $name = $db->quoteIdentifier($name, true); - return $name.' '.$this->getTypeDeclaration($field).$default.$notnull; - } - - // }}} - // {{{ _quoteCLOB() - - /** - * Convert a text value into a DBMS specific format that is suitable to - * compose query statements. - * - * @param string $value text string value that is intended to be converted. - * @param bool $quote determines if the value should be quoted and escaped - * @param bool $escape_wildcards if to escape escape wildcards - * @return string text string that represents the given argument value in - * a DBMS specific format. - * @access protected - */ - function _quoteCLOB($value, $quote, $escape_wildcards) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - if ($db->options['lob_allow_url_include']) { - $value = $this->_readFile($value); - if (PEAR::isError($value)) { - return $value; - } - } - return $this->_quoteText($value, $quote, $escape_wildcards); - } - - // }}} - // {{{ _quoteBLOB() - - /** - * Convert a text value into a DBMS specific format that is suitable to - * compose query statements. - * - * @param string $value text string value that is intended to be converted. - * @param bool $quote determines if the value should be quoted and escaped - * @param bool $escape_wildcards if to escape escape wildcards - * @return string text string that represents the given argument value in - * a DBMS specific format. - * @access protected - */ - function _quoteBLOB($value, $quote, $escape_wildcards) - { - if (!$quote) { - return $value; - } - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - if ($db->options['lob_allow_url_include']) { - $value = $this->_readFile($value); - if (PEAR::isError($value)) { - return $value; - } - } - if (version_compare(PHP_VERSION, '5.2.0RC6', '>=')) { - $connection = $db->getConnection(); - if (PEAR::isError($connection)) { - return $connection; - } - $value = @pg_escape_bytea($connection, $value); - } else { - $value = @pg_escape_bytea($value); - } - return "'".$value."'"; - } - - // }}} - // {{{ _quoteBoolean() - - /** - * Convert a text value into a DBMS specific format that is suitable to - * compose query statements. - * - * @param string $value text string value that is intended to be converted. - * @param bool $quote determines if the value should be quoted and escaped - * @param bool $escape_wildcards if to escape escape wildcards - * @return string text string that represents the given argument value in - * a DBMS specific format. - * @access protected - */ - function _quoteBoolean($value, $quote, $escape_wildcards) - { - $value = $value ? 't' : 'f'; - if (!$quote) { - return $value; - } - return "'".$value."'"; - } - - // }}} - // {{{ matchPattern() - - /** - * build a pattern matching string - * - * @access public - * - * @param array $pattern even keys are strings, odd are patterns (% and _) - * @param string $operator optional pattern operator (LIKE, ILIKE and maybe others in the future) - * @param string $field optional field name that is being matched against - * (might be required when emulating ILIKE) - * - * @return string SQL pattern - */ - function matchPattern($pattern, $operator = null, $field = null) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - $match = ''; - if (null !== $operator) { - $field = (null === $field) ? '' : $field.' '; - $operator = strtoupper($operator); - switch ($operator) { - // case insensitive - case 'ILIKE': - $match = $field.'ILIKE '; - break; - case 'NOT ILIKE': - $match = $field.'NOT ILIKE '; - break; - // case sensitive - case 'LIKE': - $match = $field.'LIKE '; - break; - case 'NOT LIKE': - $match = $field.'NOT LIKE '; - break; - default: - return $db->raiseError(MDB2_ERROR_UNSUPPORTED, null, null, - 'not a supported operator type:'. $operator, __FUNCTION__); - } - } - $match.= "'"; - foreach ($pattern as $key => $value) { - if ($key % 2) { - $match.= $value; - } else { - $match.= $db->escapePattern($db->escape($value)); - } - } - $match.= "'"; - $match.= $this->patternEscapeString(); - return $match; - } - - // }}} - // {{{ patternEscapeString() - - /** - * build string to define escape pattern string - * - * @access public - * - * - * @return string define escape pattern - */ - function patternEscapeString() - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - return ' ESCAPE '.$this->quote($db->string_quoting['escape_pattern']); - } - - // }}} - // {{{ _mapNativeDatatype() - - /** - * Maps a native array description of a field to a MDB2 datatype and length - * - * @param array $field native field description - * @return array containing the various possible types, length, sign, fixed - * @access public - */ - function _mapNativeDatatype($field) - { - $db_type = strtolower($field['type']); - $length = $field['length']; - $type = array(); - $unsigned = $fixed = null; - switch ($db_type) { - case 'smallint': - case 'int2': - $type[] = 'integer'; - $unsigned = false; - $length = 2; - if ($length == '2') { - $type[] = 'boolean'; - if (preg_match('/^(is|has)/', $field['name'])) { - $type = array_reverse($type); - } - } - break; - case 'int': - case 'int4': - case 'integer': - case 'serial': - case 'serial4': - $type[] = 'integer'; - $unsigned = false; - $length = 4; - break; - case 'bigint': - case 'int8': - case 'bigserial': - case 'serial8': - $type[] = 'integer'; - $unsigned = false; - $length = 8; - break; - case 'bool': - case 'boolean': - $type[] = 'boolean'; - $length = null; - break; - case 'text': - case 'varchar': - $fixed = false; - case 'unknown': - case 'char': - case 'bpchar': - $type[] = 'text'; - if ($length == '1') { - $type[] = 'boolean'; - if (preg_match('/^(is|has)/', $field['name'])) { - $type = array_reverse($type); - } - } elseif (strstr($db_type, 'text')) { - $type[] = 'clob'; - $type = array_reverse($type); - } - if ($fixed !== false) { - $fixed = true; - } - break; - case 'date': - $type[] = 'date'; - $length = null; - break; - case 'datetime': - case 'timestamp': - case 'timestamptz': - $type[] = 'timestamp'; - $length = null; - break; - case 'time': - $type[] = 'time'; - $length = null; - break; - case 'float': - case 'float4': - case 'float8': - case 'double': - case 'real': - $type[] = 'float'; - break; - case 'decimal': - case 'money': - case 'numeric': - $type[] = 'decimal'; - if (isset($field['scale'])) { - $length = $length.','.$field['scale']; - } - break; - case 'tinyblob': - case 'mediumblob': - case 'longblob': - case 'blob': - case 'bytea': - $type[] = 'blob'; - $length = null; - break; - case 'oid': - $type[] = 'blob'; - $type[] = 'clob'; - $length = null; - break; - case 'year': - $type[] = 'integer'; - $type[] = 'date'; - $length = null; - break; - default: - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - return $db->raiseError(MDB2_ERROR_UNSUPPORTED, null, null, - 'unknown database attribute type: '.$db_type, __FUNCTION__); - } - - if ((int)$length <= 0) { - $length = null; - } - - return array($type, $length, $unsigned, $fixed); - } - - // }}} - // {{{ mapPrepareDatatype() - - /** - * Maps an mdb2 datatype to native prepare type - * - * @param string $type - * @return string - * @access public - */ - function mapPrepareDatatype($type) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - if (!empty($db->options['datatype_map'][$type])) { - $type = $db->options['datatype_map'][$type]; - if (!empty($db->options['datatype_map_callback'][$type])) { - $parameter = array('type' => $type); - return call_user_func_array($db->options['datatype_map_callback'][$type], array(&$db, __FUNCTION__, $parameter)); - } - } - - switch ($type) { - case 'integer': - return 'int'; - case 'boolean': - return 'bool'; - case 'decimal': - case 'float': - return 'numeric'; - case 'clob': - return 'text'; - case 'blob': - return 'bytea'; - default: - break; - } - return $type; - } - // }}} -} -?> \ No newline at end of file diff --git a/3rdparty/MDB2/Driver/Datatype/sqlite.php b/3rdparty/MDB2/Driver/Datatype/sqlite.php deleted file mode 100644 index 50475a36282e97db22b3cb21f39ad18bde901fde..0000000000000000000000000000000000000000 --- a/3rdparty/MDB2/Driver/Datatype/sqlite.php +++ /dev/null @@ -1,418 +0,0 @@ - | -// +----------------------------------------------------------------------+ -// -// $Id$ -// - -require_once 'MDB2/Driver/Datatype/Common.php'; - -/** - * MDB2 SQLite driver - * - * @package MDB2 - * @category Database - * @author Lukas Smith - */ -class MDB2_Driver_Datatype_sqlite extends MDB2_Driver_Datatype_Common -{ - // {{{ _getCollationFieldDeclaration() - - /** - * Obtain DBMS specific SQL code portion needed to set the COLLATION - * of a field declaration to be used in statements like CREATE TABLE. - * - * @param string $collation name of the collation - * - * @return string DBMS specific SQL code portion needed to set the COLLATION - * of a field declaration. - */ - function _getCollationFieldDeclaration($collation) - { - return 'COLLATE '.$collation; - } - - // }}} - // {{{ getTypeDeclaration() - - /** - * Obtain DBMS specific SQL code portion needed to declare an text type - * field to be used in statements like CREATE TABLE. - * - * @param array $field associative array with the name of the properties - * of the field being declared as array indexes. Currently, the types - * of supported field properties are as follows: - * - * length - * Integer value that determines the maximum length of the text - * field. If this argument is missing the field should be - * declared to have the longest length allowed by the DBMS. - * - * default - * Text value to be used as default for this field. - * - * notnull - * Boolean flag that indicates whether this field is constrained - * to not be set to null. - * @return string DBMS specific SQL code portion that should be used to - * declare the specified field. - * @access public - */ - function getTypeDeclaration($field) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - switch ($field['type']) { - case 'text': - $length = !empty($field['length']) - ? $field['length'] : false; - $fixed = !empty($field['fixed']) ? $field['fixed'] : false; - return $fixed ? ($length ? 'CHAR('.$length.')' : 'CHAR('.$db->options['default_text_field_length'].')') - : ($length ? 'VARCHAR('.$length.')' : 'TEXT'); - case 'clob': - if (!empty($field['length'])) { - $length = $field['length']; - if ($length <= 255) { - return 'TINYTEXT'; - } elseif ($length <= 65532) { - return 'TEXT'; - } elseif ($length <= 16777215) { - return 'MEDIUMTEXT'; - } - } - return 'LONGTEXT'; - case 'blob': - if (!empty($field['length'])) { - $length = $field['length']; - if ($length <= 255) { - return 'TINYBLOB'; - } elseif ($length <= 65532) { - return 'BLOB'; - } elseif ($length <= 16777215) { - return 'MEDIUMBLOB'; - } - } - return 'LONGBLOB'; - case 'integer': - if (!empty($field['length'])) { - $length = $field['length']; - if ($length <= 2) { - return 'SMALLINT'; - } elseif ($length == 3 || $length == 4) { - return 'INTEGER'; - } elseif ($length > 4) { - return 'BIGINT'; - } - } - return 'INTEGER'; - case 'boolean': - return 'BOOLEAN'; - case 'date': - return 'DATE'; - case 'time': - return 'TIME'; - case 'timestamp': - return 'DATETIME'; - case 'float': - return 'DOUBLE'.($db->options['fixed_float'] ? '('. - ($db->options['fixed_float']+2).','.$db->options['fixed_float'].')' : ''); - case 'decimal': - $length = !empty($field['length']) ? $field['length'] : 18; - $scale = !empty($field['scale']) ? $field['scale'] : $db->options['decimal_places']; - return 'DECIMAL('.$length.','.$scale.')'; - } - return ''; - } - - // }}} - // {{{ _getIntegerDeclaration() - - /** - * Obtain DBMS specific SQL code portion needed to declare an integer type - * field to be used in statements like CREATE TABLE. - * - * @param string $name name the field to be declared. - * @param string $field associative array with the name of the properties - * of the field being declared as array indexes. - * Currently, the types of supported field - * properties are as follows: - * - * unsigned - * Boolean flag that indicates whether the field - * should be declared as unsigned integer if - * possible. - * - * default - * Integer value to be used as default for this - * field. - * - * notnull - * Boolean flag that indicates whether this field is - * constrained to not be set to null. - * @return string DBMS specific SQL code portion that should be used to - * declare the specified field. - * @access protected - */ - function _getIntegerDeclaration($name, $field) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - $default = $autoinc = ''; - if (!empty($field['autoincrement'])) { - $autoinc = ' PRIMARY KEY'; - } elseif (array_key_exists('default', $field)) { - if ($field['default'] === '') { - $field['default'] = empty($field['notnull']) ? null : 0; - } - $default = ' DEFAULT '.$this->quote($field['default'], 'integer'); - } - - $notnull = empty($field['notnull']) ? '' : ' NOT NULL'; - $unsigned = empty($field['unsigned']) ? '' : ' UNSIGNED'; - if (empty($default) && empty($notnull)) { - $default = ' DEFAULT NULL'; - } - $name = $db->quoteIdentifier($name, true); - return $name.' '.$this->getTypeDeclaration($field).$unsigned.$default.$notnull.$autoinc; - } - - // }}} - // {{{ matchPattern() - - /** - * build a pattern matching string - * - * @access public - * - * @param array $pattern even keys are strings, odd are patterns (% and _) - * @param string $operator optional pattern operator (LIKE, ILIKE and maybe others in the future) - * @param string $field optional field name that is being matched against - * (might be required when emulating ILIKE) - * - * @return string SQL pattern - */ - function matchPattern($pattern, $operator = null, $field = null) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - $match = ''; - if (null !== $operator) { - $field = (null === $field) ? '' : $field.' '; - $operator = strtoupper($operator); - switch ($operator) { - // case insensitive - case 'ILIKE': - $match = $field.'LIKE '; - break; - case 'NOT ILIKE': - $match = $field.'NOT LIKE '; - break; - // case sensitive - case 'LIKE': - $match = $field.'LIKE '; - break; - case 'NOT LIKE': - $match = $field.'NOT LIKE '; - break; - default: - return $db->raiseError(MDB2_ERROR_UNSUPPORTED, null, null, - 'not a supported operator type:'. $operator, __FUNCTION__); - } - } - $match.= "'"; - foreach ($pattern as $key => $value) { - if ($key % 2) { - $match.= $value; - } else { - $match.= $db->escapePattern($db->escape($value)); - } - } - $match.= "'"; - $match.= $this->patternEscapeString(); - return $match; - } - - // }}} - // {{{ _mapNativeDatatype() - - /** - * Maps a native array description of a field to a MDB2 datatype and length - * - * @param array $field native field description - * @return array containing the various possible types, length, sign, fixed - * @access public - */ - function _mapNativeDatatype($field) - { - $db_type = strtolower($field['type']); - $length = !empty($field['length']) ? $field['length'] : null; - $unsigned = !empty($field['unsigned']) ? $field['unsigned'] : null; - $fixed = null; - $type = array(); - switch ($db_type) { - case 'boolean': - $type[] = 'boolean'; - break; - case 'tinyint': - $type[] = 'integer'; - $type[] = 'boolean'; - if (preg_match('/^(is|has)/', $field['name'])) { - $type = array_reverse($type); - } - $unsigned = preg_match('/ unsigned/i', $field['type']); - $length = 1; - break; - case 'smallint': - $type[] = 'integer'; - $unsigned = preg_match('/ unsigned/i', $field['type']); - $length = 2; - break; - case 'mediumint': - $type[] = 'integer'; - $unsigned = preg_match('/ unsigned/i', $field['type']); - $length = 3; - break; - case 'int': - case 'integer': - case 'serial': - $type[] = 'integer'; - $unsigned = preg_match('/ unsigned/i', $field['type']); - $length = 4; - break; - case 'bigint': - case 'bigserial': - $type[] = 'integer'; - $unsigned = preg_match('/ unsigned/i', $field['type']); - $length = 8; - break; - case 'clob': - $type[] = 'clob'; - $fixed = false; - break; - case 'tinytext': - case 'mediumtext': - case 'longtext': - case 'text': - case 'varchar': - case 'varchar2': - $fixed = false; - case 'char': - $type[] = 'text'; - if ($length == '1') { - $type[] = 'boolean'; - if (preg_match('/^(is|has)/', $field['name'])) { - $type = array_reverse($type); - } - } elseif (strstr($db_type, 'text')) { - $type[] = 'clob'; - $type = array_reverse($type); - } - if ($fixed !== false) { - $fixed = true; - } - break; - case 'date': - $type[] = 'date'; - $length = null; - break; - case 'datetime': - case 'timestamp': - $type[] = 'timestamp'; - $length = null; - break; - case 'time': - $type[] = 'time'; - $length = null; - break; - case 'float': - case 'double': - case 'real': - $type[] = 'float'; - break; - case 'decimal': - case 'numeric': - $type[] = 'decimal'; - $length = $length.','.$field['decimal']; - break; - case 'tinyblob': - case 'mediumblob': - case 'longblob': - case 'blob': - $type[] = 'blob'; - $length = null; - break; - case 'year': - $type[] = 'integer'; - $type[] = 'date'; - $length = null; - break; - default: - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - return $db->raiseError(MDB2_ERROR_UNSUPPORTED, null, null, - 'unknown database attribute type: '.$db_type, __FUNCTION__); - } - - if ((int)$length <= 0) { - $length = null; - } - - return array($type, $length, $unsigned, $fixed); - } - - // }}} -} - -?> \ No newline at end of file diff --git a/3rdparty/MDB2/Driver/Function/Common.php b/3rdparty/MDB2/Driver/Function/Common.php deleted file mode 100644 index 5a780fd48e851d5027b55217a696661e0e33dce6..0000000000000000000000000000000000000000 --- a/3rdparty/MDB2/Driver/Function/Common.php +++ /dev/null @@ -1,293 +0,0 @@ - | -// +----------------------------------------------------------------------+ -// -// $Id$ -// - -/** - * @package MDB2 - * @category Database - * @author Lukas Smith - */ - -/** - * Base class for the function modules that is extended by each MDB2 driver - * - * To load this module in the MDB2 object: - * $mdb->loadModule('Function'); - * - * @package MDB2 - * @category Database - * @author Lukas Smith - */ -class MDB2_Driver_Function_Common extends MDB2_Module_Common -{ - // {{{ executeStoredProc() - - /** - * Execute a stored procedure and return any results - * - * @param string $name string that identifies the function to execute - * @param mixed $params array that contains the paramaters to pass the stored proc - * @param mixed $types array that contains the types of the columns in - * the result set - * @param mixed $result_class string which specifies which result class to use - * @param mixed $result_wrap_class string which specifies which class to wrap results in - * - * @return mixed a result handle or MDB2_OK on success, a MDB2 error on failure - * @access public - */ - function executeStoredProc($name, $params = null, $types = null, $result_class = true, $result_wrap_class = false) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - $error = $db->raiseError(MDB2_ERROR_UNSUPPORTED, null, null, - 'method not implemented', __FUNCTION__); - return $error; - } - - // }}} - // {{{ functionTable() - - /** - * return string for internal table used when calling only a function - * - * @return string for internal table used when calling only a function - * @access public - */ - function functionTable() - { - return ''; - } - - // }}} - // {{{ now() - - /** - * Return string to call a variable with the current timestamp inside an SQL statement - * There are three special variables for current date and time: - * - CURRENT_TIMESTAMP (date and time, TIMESTAMP type) - * - CURRENT_DATE (date, DATE type) - * - CURRENT_TIME (time, TIME type) - * - * @param string $type 'timestamp' | 'time' | 'date' - * - * @return string to call a variable with the current timestamp - * @access public - */ - function now($type = 'timestamp') - { - switch ($type) { - case 'time': - return 'CURRENT_TIME'; - case 'date': - return 'CURRENT_DATE'; - case 'timestamp': - default: - return 'CURRENT_TIMESTAMP'; - } - } - - // }}} - // {{{ unixtimestamp() - - /** - * return string to call a function to get the unix timestamp from a iso timestamp - * - * @param string $expression - * - * @return string to call a variable with the timestamp - * @access public - */ - function unixtimestamp($expression) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - $error = $db->raiseError(MDB2_ERROR_UNSUPPORTED, null, null, - 'method not implemented', __FUNCTION__); - return $error; - } - - // }}} - // {{{ substring() - - /** - * return string to call a function to get a substring inside an SQL statement - * - * @return string to call a function to get a substring - * @access public - */ - function substring($value, $position = 1, $length = null) - { - if (null !== $length) { - return "SUBSTRING($value FROM $position FOR $length)"; - } - return "SUBSTRING($value FROM $position)"; - } - - // }}} - // {{{ replace() - - /** - * return string to call a function to get replace inside an SQL statement. - * - * @return string to call a function to get a replace - * @access public - */ - function replace($str, $from_str, $to_str) - { - return "REPLACE($str, $from_str , $to_str)"; - } - - // }}} - // {{{ concat() - - /** - * Returns string to concatenate two or more string parameters - * - * @param string $value1 - * @param string $value2 - * @param string $values... - * - * @return string to concatenate two strings - * @access public - */ - function concat($value1, $value2) - { - $args = func_get_args(); - return "(".implode(' || ', $args).")"; - } - - // }}} - // {{{ random() - - /** - * return string to call a function to get random value inside an SQL statement - * - * @return return string to generate float between 0 and 1 - * @access public - */ - function random() - { - return 'RAND()'; - } - - // }}} - // {{{ lower() - - /** - * return string to call a function to lower the case of an expression - * - * @param string $expression - * - * @return return string to lower case of an expression - * @access public - */ - function lower($expression) - { - return "LOWER($expression)"; - } - - // }}} - // {{{ upper() - - /** - * return string to call a function to upper the case of an expression - * - * @param string $expression - * - * @return return string to upper case of an expression - * @access public - */ - function upper($expression) - { - return "UPPER($expression)"; - } - - // }}} - // {{{ length() - - /** - * return string to call a function to get the length of a string expression - * - * @param string $expression - * - * @return return string to get the string expression length - * @access public - */ - function length($expression) - { - return "LENGTH($expression)"; - } - - // }}} - // {{{ guid() - - /** - * Returns global unique identifier - * - * @return string to get global unique identifier - * @access public - */ - function guid() - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - $error = $db->raiseError(MDB2_ERROR_UNSUPPORTED, null, null, - 'method not implemented', __FUNCTION__); - return $error; - } - - // }}} -} -?> \ No newline at end of file diff --git a/3rdparty/MDB2/Driver/Function/mysql.php b/3rdparty/MDB2/Driver/Function/mysql.php deleted file mode 100644 index 90fdafc973c1e869137d6c5f9a7d7e3175e4b501..0000000000000000000000000000000000000000 --- a/3rdparty/MDB2/Driver/Function/mysql.php +++ /dev/null @@ -1,136 +0,0 @@ - | -// +----------------------------------------------------------------------+ -// -// $Id$ -// - -require_once 'MDB2/Driver/Function/Common.php'; - -/** - * MDB2 MySQL driver for the function modules - * - * @package MDB2 - * @category Database - * @author Lukas Smith - */ -class MDB2_Driver_Function_mysql extends MDB2_Driver_Function_Common -{ - // }}} - // {{{ executeStoredProc() - - /** - * Execute a stored procedure and return any results - * - * @param string $name string that identifies the function to execute - * @param mixed $params array that contains the paramaters to pass the stored proc - * @param mixed $types array that contains the types of the columns in - * the result set - * @param mixed $result_class string which specifies which result class to use - * @param mixed $result_wrap_class string which specifies which class to wrap results in - * @return mixed a result handle or MDB2_OK on success, a MDB2 error on failure - * @access public - */ - function executeStoredProc($name, $params = null, $types = null, $result_class = true, $result_wrap_class = false) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - $query = 'CALL '.$name; - $query .= $params ? '('.implode(', ', $params).')' : '()'; - return $db->query($query, $types, $result_class, $result_wrap_class); - } - - // }}} - // {{{ unixtimestamp() - - /** - * return string to call a function to get the unix timestamp from a iso timestamp - * - * @param string $expression - * - * @return string to call a variable with the timestamp - * @access public - */ - function unixtimestamp($expression) - { - return 'UNIX_TIMESTAMP('. $expression.')'; - } - - // }}} - // {{{ concat() - - /** - * Returns string to concatenate two or more string parameters - * - * @param string $value1 - * @param string $value2 - * @param string $values... - * @return string to concatenate two strings - * @access public - **/ - function concat($value1, $value2) - { - $args = func_get_args(); - return "CONCAT(".implode(', ', $args).")"; - } - - // }}} - // {{{ guid() - - /** - * Returns global unique identifier - * - * @return string to get global unique identifier - * @access public - */ - function guid() - { - return 'UUID()'; - } - - // }}} -} -?> \ No newline at end of file diff --git a/3rdparty/MDB2/Driver/Function/oci8.php b/3rdparty/MDB2/Driver/Function/oci8.php deleted file mode 100644 index 757d17fcb8b8f8f7ef9458fc340c14f3d1953734..0000000000000000000000000000000000000000 --- a/3rdparty/MDB2/Driver/Function/oci8.php +++ /dev/null @@ -1,187 +0,0 @@ - | -// +----------------------------------------------------------------------+ - -// $Id: oci8.php 295587 2010-02-28 17:16:38Z quipo $ - -require_once 'MDB2/Driver/Function/Common.php'; - -/** - * MDB2 oci8 driver for the function modules - * - * @package MDB2 - * @category Database - * @author Lukas Smith - */ -class MDB2_Driver_Function_oci8 extends MDB2_Driver_Function_Common -{ - // {{{ executeStoredProc() - - /** - * Execute a stored procedure and return any results - * - * @param string $name string that identifies the function to execute - * @param mixed $params array that contains the paramaters to pass the stored proc - * @param mixed $types array that contains the types of the columns in - * the result set - * @param mixed $result_class string which specifies which result class to use - * @param mixed $result_wrap_class string which specifies which class to wrap results in - * @return mixed a result handle or MDB2_OK on success, a MDB2 error on failure - * @access public - */ - function executeStoredProc($name, $params = null, $types = null, $result_class = true, $result_wrap_class = false) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - $query = 'EXEC '.$name; - $query .= $params ? '('.implode(', ', $params).')' : '()'; - return $db->query($query, $types, $result_class, $result_wrap_class); - } - - // }}} - // {{{ functionTable() - - /** - * return string for internal table used when calling only a function - * - * @return string for internal table used when calling only a function - * @access public - */ - function functionTable() - { - return ' FROM dual'; - } - - // }}} - // {{{ now() - - /** - * Return string to call a variable with the current timestamp inside an SQL statement - * There are three special variables for current date and time: - * - CURRENT_TIMESTAMP (date and time, TIMESTAMP type) - * - CURRENT_DATE (date, DATE type) - * - CURRENT_TIME (time, TIME type) - * - * @return string to call a variable with the current timestamp - * @access public - */ - function now($type = 'timestamp') - { - switch ($type) { - case 'date': - case 'time': - case 'timestamp': - default: - return 'TO_CHAR(CURRENT_TIMESTAMP, \'YYYY-MM-DD HH24:MI:SS\')'; - } - } - - // }}} - // {{{ unixtimestamp() - - /** - * return string to call a function to get the unix timestamp from a iso timestamp - * - * @param string $expression - * - * @return string to call a variable with the timestamp - * @access public - */ - function unixtimestamp($expression) - { - $utc_offset = 'CAST(SYS_EXTRACT_UTC(SYSTIMESTAMP) AS DATE) - CAST(SYSTIMESTAMP AS DATE)'; - $epoch_date = 'to_date(\'19700101\', \'YYYYMMDD\')'; - return '(CAST('.$expression.' AS DATE) - '.$epoch_date.' + '.$utc_offset.') * 86400 seconds'; - } - - // }}} - // {{{ substring() - - /** - * return string to call a function to get a substring inside an SQL statement - * - * @return string to call a function to get a substring - * @access public - */ - function substring($value, $position = 1, $length = null) - { - if (null !== $length) { - return "SUBSTR($value, $position, $length)"; - } - return "SUBSTR($value, $position)"; - } - - // }}} - // {{{ random() - - /** - * return string to call a function to get random value inside an SQL statement - * - * @return return string to generate float between 0 and 1 - * @access public - */ - function random() - { - return 'dbms_random.value'; - } - - // }}}} - // {{{ guid() - - /** - * Returns global unique identifier - * - * @return string to get global unique identifier - * @access public - */ - function guid() - { - return 'SYS_GUID()'; - } - - // }}}} -} -?> \ No newline at end of file diff --git a/3rdparty/MDB2/Driver/Function/pgsql.php b/3rdparty/MDB2/Driver/Function/pgsql.php deleted file mode 100644 index 7cc34a2d7042d52c51bed166e799d53d647fdffe..0000000000000000000000000000000000000000 --- a/3rdparty/MDB2/Driver/Function/pgsql.php +++ /dev/null @@ -1,132 +0,0 @@ - | -// +----------------------------------------------------------------------+ -// -// $Id$ - -require_once 'MDB2/Driver/Function/Common.php'; - -/** - * MDB2 MySQL driver for the function modules - * - * @package MDB2 - * @category Database - * @author Lukas Smith - */ -class MDB2_Driver_Function_pgsql extends MDB2_Driver_Function_Common -{ - // {{{ executeStoredProc() - - /** - * Execute a stored procedure and return any results - * - * @param string $name string that identifies the function to execute - * @param mixed $params array that contains the paramaters to pass the stored proc - * @param mixed $types array that contains the types of the columns in - * the result set - * @param mixed $result_class string which specifies which result class to use - * @param mixed $result_wrap_class string which specifies which class to wrap results in - * @return mixed a result handle or MDB2_OK on success, a MDB2 error on failure - * @access public - */ - function executeStoredProc($name, $params = null, $types = null, $result_class = true, $result_wrap_class = false) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - $query = 'SELECT * FROM '.$name; - $query .= $params ? '('.implode(', ', $params).')' : '()'; - return $db->query($query, $types, $result_class, $result_wrap_class); - } - // }}} - // {{{ unixtimestamp() - - /** - * return string to call a function to get the unix timestamp from a iso timestamp - * - * @param string $expression - * - * @return string to call a variable with the timestamp - * @access public - */ - function unixtimestamp($expression) - { - return 'EXTRACT(EPOCH FROM DATE_TRUNC(\'seconds\', CAST ((' . $expression . ') AS TIMESTAMP)))'; - } - - // }}} - // {{{ substring() - - /** - * return string to call a function to get a substring inside an SQL statement - * - * @return string to call a function to get a substring - * @access public - */ - function substring($value, $position = 1, $length = null) - { - if (null !== $length) { - return "SUBSTRING(CAST($value AS VARCHAR) FROM $position FOR $length)"; - } - return "SUBSTRING(CAST($value AS VARCHAR) FROM $position)"; - } - - // }}} - // {{{ random() - - /** - * return string to call a function to get random value inside an SQL statement - * - * @return return string to generate float between 0 and 1 - * @access public - */ - function random() - { - return 'RANDOM()'; - } - - // }}} -} -?> \ No newline at end of file diff --git a/3rdparty/MDB2/Driver/Function/sqlite.php b/3rdparty/MDB2/Driver/Function/sqlite.php deleted file mode 100644 index 65ade4fec07f999bcd69661719845a89041e0797..0000000000000000000000000000000000000000 --- a/3rdparty/MDB2/Driver/Function/sqlite.php +++ /dev/null @@ -1,162 +0,0 @@ - | -// +----------------------------------------------------------------------+ -// -// $Id$ -// - -require_once 'MDB2/Driver/Function/Common.php'; - -/** - * MDB2 SQLite driver for the function modules - * - * @package MDB2 - * @category Database - * @author Lukas Smith - */ -class MDB2_Driver_Function_sqlite extends MDB2_Driver_Function_Common -{ - // {{{ constructor - - /** - * Constructor - */ - function __construct($db_index) - { - parent::__construct($db_index); - // create all sorts of UDFs - } - - // {{{ now() - - /** - * Return string to call a variable with the current timestamp inside an SQL statement - * There are three special variables for current date and time. - * - * @return string to call a variable with the current timestamp - * @access public - */ - function now($type = 'timestamp') - { - switch ($type) { - case 'time': - return 'time(\'now\')'; - case 'date': - return 'date(\'now\')'; - case 'timestamp': - default: - return 'datetime(\'now\')'; - } - } - - // }}} - // {{{ unixtimestamp() - - /** - * return string to call a function to get the unix timestamp from a iso timestamp - * - * @param string $expression - * - * @return string to call a variable with the timestamp - * @access public - */ - function unixtimestamp($expression) - { - return 'strftime("%s",'. $expression.', "utc")'; - } - - // }}} - // {{{ substring() - - /** - * return string to call a function to get a substring inside an SQL statement - * - * @return string to call a function to get a substring - * @access public - */ - function substring($value, $position = 1, $length = null) - { - if (null !== $length) { - return "substr($value, $position, $length)"; - } - return "substr($value, $position, length($value))"; - } - - // }}} - // {{{ random() - - /** - * return string to call a function to get random value inside an SQL statement - * - * @return return string to generate float between 0 and 1 - * @access public - */ - function random() - { - return '((RANDOM()+2147483648)/4294967296)'; - } - - // }}} - // {{{ replace() - - /** - * return string to call a function to get a replacement inside an SQL statement. - * - * @return string to call a function to get a replace - * @access public - */ - function replace($str, $from_str, $to_str) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - $error = $db->raiseError(MDB2_ERROR_UNSUPPORTED, null, null, - 'method not implemented', __FUNCTION__); - return $error; - } - - // }}} -} -?> diff --git a/3rdparty/MDB2/Driver/Manager/Common.php b/3rdparty/MDB2/Driver/Manager/Common.php deleted file mode 100644 index 2e99c332a231432930f98b00bceea71c84ac6661..0000000000000000000000000000000000000000 --- a/3rdparty/MDB2/Driver/Manager/Common.php +++ /dev/null @@ -1,1038 +0,0 @@ - | -// | Lorenzo Alberton | -// +----------------------------------------------------------------------+ -// -// $Id$ -// - -/** - * @package MDB2 - * @category Database - * @author Lukas Smith - * @author Lorenzo Alberton - */ - -/** - * Base class for the management modules that is extended by each MDB2 driver - * - * To load this module in the MDB2 object: - * $mdb->loadModule('Manager'); - * - * @package MDB2 - * @category Database - * @author Lukas Smith - */ -class MDB2_Driver_Manager_Common extends MDB2_Module_Common -{ - // {{{ splitTableSchema() - - /** - * Split the "[owner|schema].table" notation into an array - * - * @param string $table [schema and] table name - * - * @return array array(schema, table) - * @access private - */ - function splitTableSchema($table) - { - $ret = array(); - if (strpos($table, '.') !== false) { - return explode('.', $table); - } - return array(null, $table); - } - - // }}} - // {{{ getFieldDeclarationList() - - /** - * Get declaration of a number of field in bulk - * - * @param array $fields a multidimensional associative array. - * The first dimension determines the field name, while the second - * dimension is keyed with the name of the properties - * of the field being declared as array indexes. Currently, the types - * of supported field properties are as follows: - * - * default - * Boolean value to be used as default for this field. - * - * notnull - * Boolean flag that indicates whether this field is constrained - * to not be set to null. - * - * @return mixed string on success, a MDB2 error on failure - * @access public - */ - function getFieldDeclarationList($fields) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - if (!is_array($fields) || empty($fields)) { - return $db->raiseError(MDB2_ERROR_NEED_MORE_DATA, null, null, - 'missing any fields', __FUNCTION__); - } - foreach ($fields as $field_name => $field) { - $query = $db->getDeclaration($field['type'], $field_name, $field); - if (PEAR::isError($query)) { - return $query; - } - $query_fields[] = $query; - } - return implode(', ', $query_fields); - } - - // }}} - // {{{ _fixSequenceName() - - /** - * Removes any formatting in an sequence name using the 'seqname_format' option - * - * @param string $sqn string that containts name of a potential sequence - * @param bool $check if only formatted sequences should be returned - * @return string name of the sequence with possible formatting removed - * @access protected - */ - function _fixSequenceName($sqn, $check = false) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - $seq_pattern = '/^'.preg_replace('/%s/', '([a-z0-9_]+)', $db->options['seqname_format']).'$/i'; - $seq_name = preg_replace($seq_pattern, '\\1', $sqn); - if ($seq_name && !strcasecmp($sqn, $db->getSequenceName($seq_name))) { - return $seq_name; - } - if ($check) { - return false; - } - return $sqn; - } - - // }}} - // {{{ _fixIndexName() - - /** - * Removes any formatting in an index name using the 'idxname_format' option - * - * @param string $idx string that containts name of anl index - * @return string name of the index with eventual formatting removed - * @access protected - */ - function _fixIndexName($idx) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - $idx_pattern = '/^'.preg_replace('/%s/', '([a-z0-9_]+)', $db->options['idxname_format']).'$/i'; - $idx_name = preg_replace($idx_pattern, '\\1', $idx); - if ($idx_name && !strcasecmp($idx, $db->getIndexName($idx_name))) { - return $idx_name; - } - return $idx; - } - - // }}} - // {{{ createDatabase() - - /** - * create a new database - * - * @param string $name name of the database that should be created - * @param array $options array with charset, collation info - * - * @return mixed MDB2_OK on success, a MDB2 error on failure - * @access public - */ - function createDatabase($database, $options = array()) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - return $db->raiseError(MDB2_ERROR_UNSUPPORTED, null, null, - 'method not implemented', __FUNCTION__); - } - - // }}} - // {{{ alterDatabase() - - /** - * alter an existing database - * - * @param string $name name of the database that should be created - * @param array $options array with charset, collation info - * - * @return mixed MDB2_OK on success, a MDB2 error on failure - * @access public - */ - function alterDatabase($database, $options = array()) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - return $db->raiseError(MDB2_ERROR_UNSUPPORTED, null, null, - 'method not implemented', __FUNCTION__); - } - - // }}} - // {{{ dropDatabase() - - /** - * drop an existing database - * - * @param string $name name of the database that should be dropped - * @return mixed MDB2_OK on success, a MDB2 error on failure - * @access public - */ - function dropDatabase($database) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - return $db->raiseError(MDB2_ERROR_UNSUPPORTED, null, null, - 'method not implemented', __FUNCTION__); - } - - // }}} - // {{{ _getCreateTableQuery() - - /** - * Create a basic SQL query for a new table creation - * - * @param string $name Name of the database that should be created - * @param array $fields Associative array that contains the definition of each field of the new table - * @param array $options An associative array of table options - * - * @return mixed string (the SQL query) on success, a MDB2 error on failure - * @see createTable() - */ - function _getCreateTableQuery($name, $fields, $options = array()) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - if (!$name) { - return $db->raiseError(MDB2_ERROR_CANNOT_CREATE, null, null, - 'no valid table name specified', __FUNCTION__); - } - if (empty($fields)) { - return $db->raiseError(MDB2_ERROR_CANNOT_CREATE, null, null, - 'no fields specified for table "'.$name.'"', __FUNCTION__); - } - $query_fields = $this->getFieldDeclarationList($fields); - if (PEAR::isError($query_fields)) { - return $query_fields; - } - if (!empty($options['primary'])) { - $query_fields.= ', PRIMARY KEY ('.implode(', ', array_keys($options['primary'])).')'; - } - - $name = $db->quoteIdentifier($name, true); - $result = 'CREATE '; - if (!empty($options['temporary'])) { - $result .= $this->_getTemporaryTableQuery(); - } - $result .= " TABLE $name ($query_fields)"; - return $result; - } - - // }}} - // {{{ _getTemporaryTableQuery() - - /** - * A method to return the required SQL string that fits between CREATE ... TABLE - * to create the table as a temporary table. - * - * Should be overridden in driver classes to return the correct string for the - * specific database type. - * - * The default is to return the string "TEMPORARY" - this will result in a - * SQL error for any database that does not support temporary tables, or that - * requires a different SQL command from "CREATE TEMPORARY TABLE". - * - * @return string The string required to be placed between "CREATE" and "TABLE" - * to generate a temporary table, if possible. - */ - function _getTemporaryTableQuery() - { - return 'TEMPORARY'; - } - - // }}} - // {{{ createTable() - - /** - * create a new table - * - * @param string $name Name of the database that should be created - * @param array $fields Associative array that contains the definition of each field of the new table - * The indexes of the array entries are the names of the fields of the table an - * the array entry values are associative arrays like those that are meant to be - * passed with the field definitions to get[Type]Declaration() functions. - * array( - * 'id' => array( - * 'type' => 'integer', - * 'unsigned' => 1 - * 'notnull' => 1 - * 'default' => 0 - * ), - * 'name' => array( - * 'type' => 'text', - * 'length' => 12 - * ), - * 'password' => array( - * 'type' => 'text', - * 'length' => 12 - * ) - * ); - * @param array $options An associative array of table options: - * array( - * 'comment' => 'Foo', - * 'temporary' => true|false, - * ); - * @return mixed MDB2_OK on success, a MDB2 error on failure - * @access public - */ - function createTable($name, $fields, $options = array()) - { - $query = $this->_getCreateTableQuery($name, $fields, $options); - if (PEAR::isError($query)) { - return $query; - } - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - $result = $db->exec($query); - if (PEAR::isError($result)) { - return $result; - } - return MDB2_OK; - } - - // }}} - // {{{ dropTable() - - /** - * drop an existing table - * - * @param string $name name of the table that should be dropped - * @return mixed MDB2_OK on success, a MDB2 error on failure - * @access public - */ - function dropTable($name) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - $name = $db->quoteIdentifier($name, true); - $result = $db->exec("DROP TABLE $name"); - if (MDB2::isError($result)) { - return $result; - } - return MDB2_OK; - } - - // }}} - // {{{ truncateTable() - - /** - * Truncate an existing table (if the TRUNCATE TABLE syntax is not supported, - * it falls back to a DELETE FROM TABLE query) - * - * @param string $name name of the table that should be truncated - * @return mixed MDB2_OK on success, a MDB2 error on failure - * @access public - */ - function truncateTable($name) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - $name = $db->quoteIdentifier($name, true); - $result = $db->exec("DELETE FROM $name"); - if (MDB2::isError($result)) { - return $result; - } - return MDB2_OK; - } - - // }}} - // {{{ vacuum() - - /** - * Optimize (vacuum) all the tables in the db (or only the specified table) - * and optionally run ANALYZE. - * - * @param string $table table name (all the tables if empty) - * @param array $options an array with driver-specific options: - * - timeout [int] (in seconds) [mssql-only] - * - analyze [boolean] [pgsql and mysql] - * - full [boolean] [pgsql-only] - * - freeze [boolean] [pgsql-only] - * - * @return mixed MDB2_OK success, a MDB2 error on failure - * @access public - */ - function vacuum($table = null, $options = array()) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - return $db->raiseError(MDB2_ERROR_UNSUPPORTED, null, null, - 'method not implemented', __FUNCTION__); - } - - // }}} - // {{{ alterTable() - - /** - * alter an existing table - * - * @param string $name name of the table that is intended to be changed. - * @param array $changes associative array that contains the details of each type - * of change that is intended to be performed. The types of - * changes that are currently supported are defined as follows: - * - * name - * - * New name for the table. - * - * add - * - * Associative array with the names of fields to be added as - * indexes of the array. The value of each entry of the array - * should be set to another associative array with the properties - * of the fields to be added. The properties of the fields should - * be the same as defined by the MDB2 parser. - * - * - * remove - * - * Associative array with the names of fields to be removed as indexes - * of the array. Currently the values assigned to each entry are ignored. - * An empty array should be used for future compatibility. - * - * rename - * - * Associative array with the names of fields to be renamed as indexes - * of the array. The value of each entry of the array should be set to - * another associative array with the entry named name with the new - * field name and the entry named Declaration that is expected to contain - * the portion of the field declaration already in DBMS specific SQL code - * as it is used in the CREATE TABLE statement. - * - * change - * - * Associative array with the names of the fields to be changed as indexes - * of the array. Keep in mind that if it is intended to change either the - * name of a field and any other properties, the change array entries - * should have the new names of the fields as array indexes. - * - * The value of each entry of the array should be set to another associative - * array with the properties of the fields to that are meant to be changed as - * array entries. These entries should be assigned to the new values of the - * respective properties. The properties of the fields should be the same - * as defined by the MDB2 parser. - * - * Example - * array( - * 'name' => 'userlist', - * 'add' => array( - * 'quota' => array( - * 'type' => 'integer', - * 'unsigned' => 1 - * ) - * ), - * 'remove' => array( - * 'file_limit' => array(), - * 'time_limit' => array() - * ), - * 'change' => array( - * 'name' => array( - * 'length' => '20', - * 'definition' => array( - * 'type' => 'text', - * 'length' => 20, - * ), - * ) - * ), - * 'rename' => array( - * 'sex' => array( - * 'name' => 'gender', - * 'definition' => array( - * 'type' => 'text', - * 'length' => 1, - * 'default' => 'M', - * ), - * ) - * ) - * ) - * - * @param boolean $check indicates whether the function should just check if the DBMS driver - * can perform the requested table alterations if the value is true or - * actually perform them otherwise. - * @access public - * - * @return mixed MDB2_OK on success, a MDB2 error on failure - */ - function alterTable($name, $changes, $check) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - return $db->raiseError(MDB2_ERROR_UNSUPPORTED, null, null, - 'method not implemented', __FUNCTION__); - } - - // }}} - // {{{ listDatabases() - - /** - * list all databases - * - * @return mixed array of database names on success, a MDB2 error on failure - * @access public - */ - function listDatabases() - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - return $db->raiseError(MDB2_ERROR_UNSUPPORTED, null, null, - 'method not implementedd', __FUNCTION__); - } - - // }}} - // {{{ listUsers() - - /** - * list all users - * - * @return mixed array of user names on success, a MDB2 error on failure - * @access public - */ - function listUsers() - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - return $db->raiseError(MDB2_ERROR_UNSUPPORTED, null, null, - 'method not implemented', __FUNCTION__); - } - - // }}} - // {{{ listViews() - - /** - * list all views in the current database - * - * @param string database, the current is default - * NB: not all the drivers can get the view names from - * a database other than the current one - * @return mixed array of view names on success, a MDB2 error on failure - * @access public - */ - function listViews($database = null) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - return $db->raiseError(MDB2_ERROR_UNSUPPORTED, null, null, - 'method not implemented', __FUNCTION__); - } - - // }}} - // {{{ listTableViews() - - /** - * list the views in the database that reference a given table - * - * @param string table for which all referenced views should be found - * @return mixed array of view names on success, a MDB2 error on failure - * @access public - */ - function listTableViews($table) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - return $db->raiseError(MDB2_ERROR_UNSUPPORTED, null, null, - 'method not implemented', __FUNCTION__); - } - - // }}} - // {{{ listTableTriggers() - - /** - * list all triggers in the database that reference a given table - * - * @param string table for which all referenced triggers should be found - * @return mixed array of trigger names on success, a MDB2 error on failure - * @access public - */ - function listTableTriggers($table = null) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - return $db->raiseError(MDB2_ERROR_UNSUPPORTED, null, null, - 'method not implemented', __FUNCTION__); - } - - // }}} - // {{{ listFunctions() - - /** - * list all functions in the current database - * - * @return mixed array of function names on success, a MDB2 error on failure - * @access public - */ - function listFunctions() - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - return $db->raiseError(MDB2_ERROR_UNSUPPORTED, null, null, - 'method not implemented', __FUNCTION__); - } - - // }}} - // {{{ listTables() - - /** - * list all tables in the current database - * - * @param string database, the current is default. - * NB: not all the drivers can get the table names from - * a database other than the current one - * @return mixed array of table names on success, a MDB2 error on failure - * @access public - */ - function listTables($database = null) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - return $db->raiseError(MDB2_ERROR_UNSUPPORTED, null, null, - 'method not implemented', __FUNCTION__); - } - - // }}} - // {{{ listTableFields() - - /** - * list all fields in a table in the current database - * - * @param string $table name of table that should be used in method - * @return mixed array of field names on success, a MDB2 error on failure - * @access public - */ - function listTableFields($table) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - return $db->raiseError(MDB2_ERROR_UNSUPPORTED, null, null, - 'method not implemented', __FUNCTION__); - } - - // }}} - // {{{ createIndex() - - /** - * Get the stucture of a field into an array - * - * @param string $table name of the table on which the index is to be created - * @param string $name name of the index to be created - * @param array $definition associative array that defines properties of the index to be created. - * Currently, only one property named FIELDS is supported. This property - * is also an associative with the names of the index fields as array - * indexes. Each entry of this array is set to another type of associative - * array that specifies properties of the index that are specific to - * each field. - * - * Currently, only the sorting property is supported. It should be used - * to define the sorting direction of the index. It may be set to either - * ascending or descending. - * - * Not all DBMS support index sorting direction configuration. The DBMS - * drivers of those that do not support it ignore this property. Use the - * function supports() to determine whether the DBMS driver can manage indexes. - * - * Example - * array( - * 'fields' => array( - * 'user_name' => array( - * 'sorting' => 'ascending' - * ), - * 'last_login' => array() - * ) - * ) - * @return mixed MDB2_OK on success, a MDB2 error on failure - * @access public - */ - function createIndex($table, $name, $definition) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - $table = $db->quoteIdentifier($table, true); - $name = $db->quoteIdentifier($db->getIndexName($name), true); - $query = "CREATE INDEX $name ON $table"; - $fields = array(); - foreach (array_keys($definition['fields']) as $field) { - $fields[] = $db->quoteIdentifier($field, true); - } - $query .= ' ('. implode(', ', $fields) . ')'; - $result = $db->exec($query); - if (MDB2::isError($result)) { - return $result; - } - return MDB2_OK; - } - - // }}} - // {{{ dropIndex() - - /** - * drop existing index - * - * @param string $table name of table that should be used in method - * @param string $name name of the index to be dropped - * @return mixed MDB2_OK on success, a MDB2 error on failure - * @access public - */ - function dropIndex($table, $name) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - $name = $db->quoteIdentifier($db->getIndexName($name), true); - $result = $db->exec("DROP INDEX $name"); - if (MDB2::isError($result)) { - return $result; - } - return MDB2_OK; - } - - // }}} - // {{{ listTableIndexes() - - /** - * list all indexes in a table - * - * @param string $table name of table that should be used in method - * @return mixed array of index names on success, a MDB2 error on failure - * @access public - */ - function listTableIndexes($table) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - return $db->raiseError(MDB2_ERROR_UNSUPPORTED, null, null, - 'method not implemented', __FUNCTION__); - } - - // }}} - // {{{ _getAdvancedFKOptions() - - /** - * Return the FOREIGN KEY query section dealing with non-standard options - * as MATCH, INITIALLY DEFERRED, ON UPDATE, ... - * - * @param array $definition - * @return string - * @access protected - */ - function _getAdvancedFKOptions($definition) - { - return ''; - } - - // }}} - // {{{ createConstraint() - - /** - * create a constraint on a table - * - * @param string $table name of the table on which the constraint is to be created - * @param string $name name of the constraint to be created - * @param array $definition associative array that defines properties of the constraint to be created. - * The full structure of the array looks like this: - *
-     *          array (
-     *              [primary] => 0
-     *              [unique]  => 0
-     *              [foreign] => 1
-     *              [check]   => 0
-     *              [fields] => array (
-     *                  [field1name] => array() // one entry per each field covered
-     *                  [field2name] => array() // by the index
-     *                  [field3name] => array(
-     *                      [sorting]  => ascending
-     *                      [position] => 3
-     *                  )
-     *              )
-     *              [references] => array(
-     *                  [table] => name
-     *                  [fields] => array(
-     *                      [field1name] => array(  //one entry per each referenced field
-     *                           [position] => 1
-     *                      )
-     *                  )
-     *              )
-     *              [deferrable] => 0
-     *              [initiallydeferred] => 0
-     *              [onupdate] => CASCADE|RESTRICT|SET NULL|SET DEFAULT|NO ACTION
-     *              [ondelete] => CASCADE|RESTRICT|SET NULL|SET DEFAULT|NO ACTION
-     *              [match] => SIMPLE|PARTIAL|FULL
-     *          );
-     *          
- * @return mixed MDB2_OK on success, a MDB2 error on failure - * @access public - */ - function createConstraint($table, $name, $definition) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - $table = $db->quoteIdentifier($table, true); - $name = $db->quoteIdentifier($db->getIndexName($name), true); - $query = "ALTER TABLE $table ADD CONSTRAINT $name"; - if (!empty($definition['primary'])) { - $query.= ' PRIMARY KEY'; - } elseif (!empty($definition['unique'])) { - $query.= ' UNIQUE'; - } elseif (!empty($definition['foreign'])) { - $query.= ' FOREIGN KEY'; - } - $fields = array(); - foreach (array_keys($definition['fields']) as $field) { - $fields[] = $db->quoteIdentifier($field, true); - } - $query .= ' ('. implode(', ', $fields) . ')'; - if (!empty($definition['foreign'])) { - $query.= ' REFERENCES ' . $db->quoteIdentifier($definition['references']['table'], true); - $referenced_fields = array(); - foreach (array_keys($definition['references']['fields']) as $field) { - $referenced_fields[] = $db->quoteIdentifier($field, true); - } - $query .= ' ('. implode(', ', $referenced_fields) . ')'; - $query .= $this->_getAdvancedFKOptions($definition); - } - $result = $db->exec($query); - if (MDB2::isError($result)) { - return $result; - } - return MDB2_OK; - } - - // }}} - // {{{ dropConstraint() - - /** - * drop existing constraint - * - * @param string $table name of table that should be used in method - * @param string $name name of the constraint to be dropped - * @param string $primary hint if the constraint is primary - * @return mixed MDB2_OK on success, a MDB2 error on failure - * @access public - */ - function dropConstraint($table, $name, $primary = false) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - $table = $db->quoteIdentifier($table, true); - $name = $db->quoteIdentifier($db->getIndexName($name), true); - $result = $db->exec("ALTER TABLE $table DROP CONSTRAINT $name"); - if (MDB2::isError($result)) { - return $result; - } - return MDB2_OK; - } - - // }}} - // {{{ listTableConstraints() - - /** - * list all constraints in a table - * - * @param string $table name of table that should be used in method - * @return mixed array of constraint names on success, a MDB2 error on failure - * @access public - */ - function listTableConstraints($table) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - return $db->raiseError(MDB2_ERROR_UNSUPPORTED, null, null, - 'method not implemented', __FUNCTION__); - } - - // }}} - // {{{ createSequence() - - /** - * create sequence - * - * @param string $seq_name name of the sequence to be created - * @param string $start start value of the sequence; default is 1 - * @return mixed MDB2_OK on success, a MDB2 error on failure - * @access public - */ - function createSequence($seq_name, $start = 1) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - return $db->raiseError(MDB2_ERROR_UNSUPPORTED, null, null, - 'method not implemented', __FUNCTION__); - } - - // }}} - // {{{ dropSequence() - - /** - * drop existing sequence - * - * @param string $seq_name name of the sequence to be dropped - * @return mixed MDB2_OK on success, a MDB2 error on failure - * @access public - */ - function dropSequence($name) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - return $db->raiseError(MDB2_ERROR_UNSUPPORTED, null, null, - 'method not implemented', __FUNCTION__); - } - - // }}} - // {{{ listSequences() - - /** - * list all sequences in the current database - * - * @param string database, the current is default - * NB: not all the drivers can get the sequence names from - * a database other than the current one - * @return mixed array of sequence names on success, a MDB2 error on failure - * @access public - */ - function listSequences($database = null) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - return $db->raiseError(MDB2_ERROR_UNSUPPORTED, null, null, - 'method not implemented', __FUNCTION__); - } - - // }}} -} -?> diff --git a/3rdparty/MDB2/Driver/Manager/mysql.php b/3rdparty/MDB2/Driver/Manager/mysql.php deleted file mode 100644 index c663c0c5d2bf19601f06e752a5734d893a613106..0000000000000000000000000000000000000000 --- a/3rdparty/MDB2/Driver/Manager/mysql.php +++ /dev/null @@ -1,1471 +0,0 @@ - | -// +----------------------------------------------------------------------+ -// -// $Id$ -// - -require_once 'MDB2/Driver/Manager/Common.php'; - -/** - * MDB2 MySQL driver for the management modules - * - * @package MDB2 - * @category Database - * @author Lukas Smith - */ -class MDB2_Driver_Manager_mysql extends MDB2_Driver_Manager_Common -{ - - // }}} - // {{{ createDatabase() - - /** - * create a new database - * - * @param string $name name of the database that should be created - * @param array $options array with charset, collation info - * - * @return mixed MDB2_OK on success, a MDB2 error on failure - * @access public - */ - function createDatabase($name, $options = array()) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - $name = $db->quoteIdentifier($name, true); - $query = 'CREATE DATABASE ' . $name; - if (!empty($options['charset'])) { - $query .= ' DEFAULT CHARACTER SET ' . $db->quote($options['charset'], 'text'); - } - if (!empty($options['collation'])) { - $query .= ' COLLATE ' . $db->quote($options['collation'], 'text'); - } - return $db->standaloneQuery($query, null, true); - } - - // }}} - // {{{ alterDatabase() - - /** - * alter an existing database - * - * @param string $name name of the database that is intended to be changed - * @param array $options array with charset, collation info - * - * @return mixed MDB2_OK on success, a MDB2 error on failure - * @access public - */ - function alterDatabase($name, $options = array()) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - $query = 'ALTER DATABASE '. $db->quoteIdentifier($name, true); - if (!empty($options['charset'])) { - $query .= ' DEFAULT CHARACTER SET ' . $db->quote($options['charset'], 'text'); - } - if (!empty($options['collation'])) { - $query .= ' COLLATE ' . $db->quote($options['collation'], 'text'); - } - return $db->standaloneQuery($query, null, true); - } - - // }}} - // {{{ dropDatabase() - - /** - * drop an existing database - * - * @param string $name name of the database that should be dropped - * @return mixed MDB2_OK on success, a MDB2 error on failure - * @access public - */ - function dropDatabase($name) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - $name = $db->quoteIdentifier($name, true); - $query = "DROP DATABASE $name"; - return $db->standaloneQuery($query, null, true); - } - - // }}} - // {{{ _getAdvancedFKOptions() - - /** - * Return the FOREIGN KEY query section dealing with non-standard options - * as MATCH, INITIALLY DEFERRED, ON UPDATE, ... - * - * @param array $definition - * @return string - * @access protected - */ - function _getAdvancedFKOptions($definition) - { - $query = ''; - if (!empty($definition['match'])) { - $query .= ' MATCH '.$definition['match']; - } - if (!empty($definition['onupdate'])) { - $query .= ' ON UPDATE '.$definition['onupdate']; - } - if (!empty($definition['ondelete'])) { - $query .= ' ON DELETE '.$definition['ondelete']; - } - return $query; - } - - // }}} - // {{{ createTable() - - /** - * create a new table - * - * @param string $name Name of the database that should be created - * @param array $fields Associative array that contains the definition of each field of the new table - * The indexes of the array entries are the names of the fields of the table an - * the array entry values are associative arrays like those that are meant to be - * passed with the field definitions to get[Type]Declaration() functions. - * array( - * 'id' => array( - * 'type' => 'integer', - * 'unsigned' => 1 - * 'notnull' => 1 - * 'default' => 0 - * ), - * 'name' => array( - * 'type' => 'text', - * 'length' => 12 - * ), - * 'password' => array( - * 'type' => 'text', - * 'length' => 12 - * ) - * ); - * @param array $options An associative array of table options: - * array( - * 'comment' => 'Foo', - * 'charset' => 'utf8', - * 'collate' => 'utf8_unicode_ci', - * 'type' => 'innodb', - * ); - * - * @return mixed MDB2_OK on success, a MDB2 error on failure - * @access public - */ - function createTable($name, $fields, $options = array()) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - // if we have an AUTO_INCREMENT column and a PK on more than one field, - // we have to handle it differently... - $autoincrement = null; - if (empty($options['primary'])) { - $pk_fields = array(); - foreach ($fields as $fieldname => $def) { - if (!empty($def['primary'])) { - $pk_fields[$fieldname] = true; - } - if (!empty($def['autoincrement'])) { - $autoincrement = $fieldname; - } - } - if ((null !== $autoincrement) && count($pk_fields) > 1) { - $options['primary'] = $pk_fields; - } else { - // the PK constraint is on max one field => OK - $autoincrement = null; - } - } - - $query = $this->_getCreateTableQuery($name, $fields, $options); - if (PEAR::isError($query)) { - return $query; - } - - if (null !== $autoincrement) { - // we have to remove the PK clause added by _getIntegerDeclaration() - $query = str_replace('AUTO_INCREMENT PRIMARY KEY', 'AUTO_INCREMENT', $query); - } - - $options_strings = array(); - - if (!empty($options['comment'])) { - $options_strings['comment'] = 'COMMENT = '.$db->quote($options['comment'], 'text'); - } - - if (!empty($options['charset'])) { - $options_strings['charset'] = 'DEFAULT CHARACTER SET '.$options['charset']; - if (!empty($options['collate'])) { - $options_strings['charset'].= ' COLLATE '.$options['collate']; - } - } - - $type = false; - if (!empty($options['type'])) { - $type = $options['type']; - } elseif ($db->options['default_table_type']) { - $type = $db->options['default_table_type']; - } - if ($type) { - $options_strings[] = "ENGINE = $type"; - } - - if (!empty($options_strings)) { - $query .= ' '.implode(' ', $options_strings); - } - $result = $db->exec($query); - if (PEAR::isError($result)) { - return $result; - } - return MDB2_OK; - } - - // }}} - // {{{ dropTable() - - /** - * drop an existing table - * - * @param string $name name of the table that should be dropped - * @return mixed MDB2_OK on success, a MDB2 error on failure - * @access public - */ - function dropTable($name) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - //delete the triggers associated to existing FK constraints - $constraints = $this->listTableConstraints($name); - if (!PEAR::isError($constraints) && !empty($constraints)) { - $db->loadModule('Reverse', null, true); - foreach ($constraints as $constraint) { - $definition = $db->reverse->getTableConstraintDefinition($name, $constraint); - if (!PEAR::isError($definition) && !empty($definition['foreign'])) { - $result = $this->_dropFKTriggers($name, $constraint, $definition['references']['table']); - if (PEAR::isError($result)) { - return $result; - } - } - } - } - - return parent::dropTable($name); - } - - // }}} - // {{{ truncateTable() - - /** - * Truncate an existing table (if the TRUNCATE TABLE syntax is not supported, - * it falls back to a DELETE FROM TABLE query) - * - * @param string $name name of the table that should be truncated - * @return mixed MDB2_OK on success, a MDB2 error on failure - * @access public - */ - function truncateTable($name) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - $name = $db->quoteIdentifier($name, true); - $result = $db->exec("TRUNCATE TABLE $name"); - if (MDB2::isError($result)) { - return $result; - } - return MDB2_OK; - } - - // }}} - // {{{ vacuum() - - /** - * Optimize (vacuum) all the tables in the db (or only the specified table) - * and optionally run ANALYZE. - * - * @param string $table table name (all the tables if empty) - * @param array $options an array with driver-specific options: - * - timeout [int] (in seconds) [mssql-only] - * - analyze [boolean] [pgsql and mysql] - * - full [boolean] [pgsql-only] - * - freeze [boolean] [pgsql-only] - * - * @return mixed MDB2_OK success, a MDB2 error on failure - * @access public - */ - function vacuum($table = null, $options = array()) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - if (empty($table)) { - $table = $this->listTables(); - if (PEAR::isError($table)) { - return $table; - } - } - if (is_array($table)) { - foreach (array_keys($table) as $k) { - $table[$k] = $db->quoteIdentifier($table[$k], true); - } - $table = implode(', ', $table); - } else { - $table = $db->quoteIdentifier($table, true); - } - - $result = $db->exec('OPTIMIZE TABLE '.$table); - if (PEAR::isError($result)) { - return $result; - } - if (!empty($options['analyze'])) { - $result = $db->exec('ANALYZE TABLE '.$table); - if (MDB2::isError($result)) { - return $result; - } - } - return MDB2_OK; - } - - // }}} - // {{{ alterTable() - - /** - * alter an existing table - * - * @param string $name name of the table that is intended to be changed. - * @param array $changes associative array that contains the details of each type - * of change that is intended to be performed. The types of - * changes that are currently supported are defined as follows: - * - * name - * - * New name for the table. - * - * add - * - * Associative array with the names of fields to be added as - * indexes of the array. The value of each entry of the array - * should be set to another associative array with the properties - * of the fields to be added. The properties of the fields should - * be the same as defined by the MDB2 parser. - * - * - * remove - * - * Associative array with the names of fields to be removed as indexes - * of the array. Currently the values assigned to each entry are ignored. - * An empty array should be used for future compatibility. - * - * rename - * - * Associative array with the names of fields to be renamed as indexes - * of the array. The value of each entry of the array should be set to - * another associative array with the entry named name with the new - * field name and the entry named Declaration that is expected to contain - * the portion of the field declaration already in DBMS specific SQL code - * as it is used in the CREATE TABLE statement. - * - * change - * - * Associative array with the names of the fields to be changed as indexes - * of the array. Keep in mind that if it is intended to change either the - * name of a field and any other properties, the change array entries - * should have the new names of the fields as array indexes. - * - * The value of each entry of the array should be set to another associative - * array with the properties of the fields to that are meant to be changed as - * array entries. These entries should be assigned to the new values of the - * respective properties. The properties of the fields should be the same - * as defined by the MDB2 parser. - * - * Example - * array( - * 'name' => 'userlist', - * 'add' => array( - * 'quota' => array( - * 'type' => 'integer', - * 'unsigned' => 1 - * ) - * ), - * 'remove' => array( - * 'file_limit' => array(), - * 'time_limit' => array() - * ), - * 'change' => array( - * 'name' => array( - * 'length' => '20', - * 'definition' => array( - * 'type' => 'text', - * 'length' => 20, - * ), - * ) - * ), - * 'rename' => array( - * 'sex' => array( - * 'name' => 'gender', - * 'definition' => array( - * 'type' => 'text', - * 'length' => 1, - * 'default' => 'M', - * ), - * ) - * ) - * ) - * - * @param boolean $check indicates whether the function should just check if the DBMS driver - * can perform the requested table alterations if the value is true or - * actually perform them otherwise. - * @access public - * - * @return mixed MDB2_OK on success, a MDB2 error on failure - */ - function alterTable($name, $changes, $check) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - foreach ($changes as $change_name => $change) { - switch ($change_name) { - case 'add': - case 'remove': - case 'change': - case 'rename': - case 'name': - break; - default: - return $db->raiseError(MDB2_ERROR_CANNOT_ALTER, null, null, - 'change type "'.$change_name.'" not yet supported', __FUNCTION__); - } - } - - if ($check) { - return MDB2_OK; - } - - $query = ''; - if (!empty($changes['name'])) { - $change_name = $db->quoteIdentifier($changes['name'], true); - $query .= 'RENAME TO ' . $change_name; - } - - if (!empty($changes['add']) && is_array($changes['add'])) { - foreach ($changes['add'] as $field_name => $field) { - if ($query) { - $query.= ', '; - } - $query.= 'ADD ' . $db->getDeclaration($field['type'], $field_name, $field); - } - } - - if (!empty($changes['remove']) && is_array($changes['remove'])) { - foreach ($changes['remove'] as $field_name => $field) { - if ($query) { - $query.= ', '; - } - $field_name = $db->quoteIdentifier($field_name, true); - $query.= 'DROP ' . $field_name; - } - } - - $rename = array(); - if (!empty($changes['rename']) && is_array($changes['rename'])) { - foreach ($changes['rename'] as $field_name => $field) { - $rename[$field['name']] = $field_name; - } - } - - if (!empty($changes['change']) && is_array($changes['change'])) { - foreach ($changes['change'] as $field_name => $field) { - if ($query) { - $query.= ', '; - } - if (isset($rename[$field_name])) { - $old_field_name = $rename[$field_name]; - unset($rename[$field_name]); - } else { - $old_field_name = $field_name; - } - $old_field_name = $db->quoteIdentifier($old_field_name, true); - $query.= "CHANGE $old_field_name " . $db->getDeclaration($field['definition']['type'], $field_name, $field['definition']); - } - } - - if (!empty($rename) && is_array($rename)) { - foreach ($rename as $rename_name => $renamed_field) { - if ($query) { - $query.= ', '; - } - $field = $changes['rename'][$renamed_field]; - $renamed_field = $db->quoteIdentifier($renamed_field, true); - $query.= 'CHANGE ' . $renamed_field . ' ' . $db->getDeclaration($field['definition']['type'], $field['name'], $field['definition']); - } - } - - if (!$query) { - return MDB2_OK; - } - - $name = $db->quoteIdentifier($name, true); - $result = $db->exec("ALTER TABLE $name $query"); - if (MDB2::isError($result)) { - return $result; - } - return MDB2_OK; - } - - // }}} - // {{{ listDatabases() - - /** - * list all databases - * - * @return mixed array of database names on success, a MDB2 error on failure - * @access public - */ - function listDatabases() - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - $result = $db->queryCol('SHOW DATABASES'); - if (PEAR::isError($result)) { - return $result; - } - if ($db->options['portability'] & MDB2_PORTABILITY_FIX_CASE) { - $result = array_map(($db->options['field_case'] == CASE_LOWER ? 'strtolower' : 'strtoupper'), $result); - } - return $result; - } - - // }}} - // {{{ listUsers() - - /** - * list all users - * - * @return mixed array of user names on success, a MDB2 error on failure - * @access public - */ - function listUsers() - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - return $db->queryCol('SELECT DISTINCT USER FROM mysql.USER'); - } - - // }}} - // {{{ listFunctions() - - /** - * list all functions in the current database - * - * @return mixed array of function names on success, a MDB2 error on failure - * @access public - */ - function listFunctions() - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - $query = "SELECT name FROM mysql.proc"; - /* - SELECT ROUTINE_NAME - FROM INFORMATION_SCHEMA.ROUTINES - WHERE ROUTINE_TYPE = 'FUNCTION' - */ - $result = $db->queryCol($query); - if (PEAR::isError($result)) { - return $result; - } - if ($db->options['portability'] & MDB2_PORTABILITY_FIX_CASE) { - $result = array_map(($db->options['field_case'] == CASE_LOWER ? 'strtolower' : 'strtoupper'), $result); - } - return $result; - } - - // }}} - // {{{ listTableTriggers() - - /** - * list all triggers in the database that reference a given table - * - * @param string table for which all referenced triggers should be found - * @return mixed array of trigger names on success, a MDB2 error on failure - * @access public - */ - function listTableTriggers($table = null) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - $query = 'SHOW TRIGGERS'; - if (null !== $table) { - $table = $db->quote($table, 'text'); - $query .= " LIKE $table"; - } - $result = $db->queryCol($query); - if (PEAR::isError($result)) { - return $result; - } - if ($db->options['portability'] & MDB2_PORTABILITY_FIX_CASE) { - $result = array_map(($db->options['field_case'] == CASE_LOWER ? 'strtolower' : 'strtoupper'), $result); - } - return $result; - } - - // }}} - // {{{ listTables() - - /** - * list all tables in the current database - * - * @param string database, the current is default - * @return mixed array of table names on success, a MDB2 error on failure - * @access public - */ - function listTables($database = null) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - $query = "SHOW /*!50002 FULL*/ TABLES"; - if (null !== $database) { - $query .= " FROM $database"; - } - $query.= "/*!50002 WHERE Table_type = 'BASE TABLE'*/"; - - $table_names = $db->queryAll($query, null, MDB2_FETCHMODE_ORDERED); - if (PEAR::isError($table_names)) { - return $table_names; - } - - $result = array(); - foreach ($table_names as $table) { - if (!$this->_fixSequenceName($table[0], true)) { - $result[] = $table[0]; - } - } - if ($db->options['portability'] & MDB2_PORTABILITY_FIX_CASE) { - $result = array_map(($db->options['field_case'] == CASE_LOWER ? 'strtolower' : 'strtoupper'), $result); - } - return $result; - } - - // }}} - // {{{ listViews() - - /** - * list all views in the current database - * - * @param string database, the current is default - * @return mixed array of view names on success, a MDB2 error on failure - * @access public - */ - function listViews($database = null) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - $query = 'SHOW FULL TABLES'; - if (null !== $database) { - $query.= " FROM $database"; - } - $query.= " WHERE Table_type = 'VIEW'"; - - $result = $db->queryCol($query); - if (PEAR::isError($result)) { - return $result; - } - - if ($db->options['portability'] & MDB2_PORTABILITY_FIX_CASE) { - $result = array_map(($db->options['field_case'] == CASE_LOWER ? 'strtolower' : 'strtoupper'), $result); - } - return $result; - } - - // }}} - // {{{ listTableFields() - - /** - * list all fields in a table in the current database - * - * @param string $table name of table that should be used in method - * @return mixed array of field names on success, a MDB2 error on failure - * @access public - */ - function listTableFields($table) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - $table = $db->quoteIdentifier($table, true); - $result = $db->queryCol("SHOW COLUMNS FROM $table"); - if (PEAR::isError($result)) { - return $result; - } - if ($db->options['portability'] & MDB2_PORTABILITY_FIX_CASE) { - $result = array_map(($db->options['field_case'] == CASE_LOWER ? 'strtolower' : 'strtoupper'), $result); - } - return $result; - } - - // }}} - // {{{ createIndex() - - /** - * Get the stucture of a field into an array - * - * @author Leoncx - * @param string $table name of the table on which the index is to be created - * @param string $name name of the index to be created - * @param array $definition associative array that defines properties of the index to be created. - * Currently, only one property named FIELDS is supported. This property - * is also an associative with the names of the index fields as array - * indexes. Each entry of this array is set to another type of associative - * array that specifies properties of the index that are specific to - * each field. - * - * Currently, only the sorting property is supported. It should be used - * to define the sorting direction of the index. It may be set to either - * ascending or descending. - * - * Not all DBMS support index sorting direction configuration. The DBMS - * drivers of those that do not support it ignore this property. Use the - * function supports() to determine whether the DBMS driver can manage indexes. - * - * Example - * array( - * 'fields' => array( - * 'user_name' => array( - * 'sorting' => 'ascending' - * 'length' => 10 - * ), - * 'last_login' => array() - * ) - * ) - * - * @return mixed MDB2_OK on success, a MDB2 error on failure - * @access public - */ - function createIndex($table, $name, $definition) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - $table = $db->quoteIdentifier($table, true); - $name = $db->quoteIdentifier($db->getIndexName($name), true); - $query = "CREATE INDEX $name ON $table"; - $fields = array(); - foreach ($definition['fields'] as $field => $fieldinfo) { - if (!empty($fieldinfo['length'])) { - $fields[] = $db->quoteIdentifier($field, true) . '(' . $fieldinfo['length'] . ')'; - } else { - $fields[] = $db->quoteIdentifier($field, true); - } - } - $query .= ' ('. implode(', ', $fields) . ')'; - $result = $db->exec($query); - if (MDB2::isError($result)) { - return $result; - } - return MDB2_OK; - } - - // }}} - // {{{ dropIndex() - - /** - * drop existing index - * - * @param string $table name of table that should be used in method - * @param string $name name of the index to be dropped - * @return mixed MDB2_OK on success, a MDB2 error on failure - * @access public - */ - function dropIndex($table, $name) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - $table = $db->quoteIdentifier($table, true); - $name = $db->quoteIdentifier($db->getIndexName($name), true); - $result = $db->exec("DROP INDEX $name ON $table"); - if (MDB2::isError($result)) { - return $result; - } - return MDB2_OK; - } - - // }}} - // {{{ listTableIndexes() - - /** - * list all indexes in a table - * - * @param string $table name of table that should be used in method - * @return mixed array of index names on success, a MDB2 error on failure - * @access public - */ - function listTableIndexes($table) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - $key_name = 'Key_name'; - $non_unique = 'Non_unique'; - if ($db->options['portability'] & MDB2_PORTABILITY_FIX_CASE) { - if ($db->options['field_case'] == CASE_LOWER) { - $key_name = strtolower($key_name); - $non_unique = strtolower($non_unique); - } else { - $key_name = strtoupper($key_name); - $non_unique = strtoupper($non_unique); - } - } - - $table = $db->quoteIdentifier($table, true); - $query = "SHOW INDEX FROM $table"; - $indexes = $db->queryAll($query, null, MDB2_FETCHMODE_ASSOC); - if (PEAR::isError($indexes)) { - return $indexes; - } - - $result = array(); - foreach ($indexes as $index_data) { - if ($index_data[$non_unique] && ($index = $this->_fixIndexName($index_data[$key_name]))) { - $result[$index] = true; - } - } - - if ($db->options['portability'] & MDB2_PORTABILITY_FIX_CASE) { - $result = array_change_key_case($result, $db->options['field_case']); - } - return array_keys($result); - } - - // }}} - // {{{ createConstraint() - - /** - * create a constraint on a table - * - * @param string $table name of the table on which the constraint is to be created - * @param string $name name of the constraint to be created - * @param array $definition associative array that defines properties of the constraint to be created. - * Currently, only one property named FIELDS is supported. This property - * is also an associative with the names of the constraint fields as array - * constraints. Each entry of this array is set to another type of associative - * array that specifies properties of the constraint that are specific to - * each field. - * - * Example - * array( - * 'fields' => array( - * 'user_name' => array(), - * 'last_login' => array() - * ) - * ) - * @return mixed MDB2_OK on success, a MDB2 error on failure - * @access public - */ - function createConstraint($table, $name, $definition) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - $type = ''; - $idx_name = $db->quoteIdentifier($db->getIndexName($name), true); - if (!empty($definition['primary'])) { - $type = 'PRIMARY'; - $idx_name = 'KEY'; - } elseif (!empty($definition['unique'])) { - $type = 'UNIQUE'; - } elseif (!empty($definition['foreign'])) { - $type = 'CONSTRAINT'; - } - if (empty($type)) { - return $db->raiseError(MDB2_ERROR_NEED_MORE_DATA, null, null, - 'invalid definition, could not create constraint', __FUNCTION__); - } - - $table_quoted = $db->quoteIdentifier($table, true); - $query = "ALTER TABLE $table_quoted ADD $type $idx_name"; - if (!empty($definition['foreign'])) { - $query .= ' FOREIGN KEY'; - } - $fields = array(); - foreach ($definition['fields'] as $field => $fieldinfo) { - $quoted = $db->quoteIdentifier($field, true); - if (!empty($fieldinfo['length'])) { - $quoted .= '(' . $fieldinfo['length'] . ')'; - } - $fields[] = $quoted; - } - $query .= ' ('. implode(', ', $fields) . ')'; - if (!empty($definition['foreign'])) { - $query.= ' REFERENCES ' . $db->quoteIdentifier($definition['references']['table'], true); - $referenced_fields = array(); - foreach (array_keys($definition['references']['fields']) as $field) { - $referenced_fields[] = $db->quoteIdentifier($field, true); - } - $query .= ' ('. implode(', ', $referenced_fields) . ')'; - $query .= $this->_getAdvancedFKOptions($definition); - - // add index on FK column(s) or we can't add a FK constraint - // @see http://forums.mysql.com/read.php?22,19755,226009 - $result = $this->createIndex($table, $name.'_fkidx', $definition); - if (PEAR::isError($result)) { - return $result; - } - } - $res = $db->exec($query); - if (PEAR::isError($res)) { - return $res; - } - if (!empty($definition['foreign'])) { - return $this->_createFKTriggers($table, array($name => $definition)); - } - return MDB2_OK; - } - - // }}} - // {{{ dropConstraint() - - /** - * drop existing constraint - * - * @param string $table name of table that should be used in method - * @param string $name name of the constraint to be dropped - * @param string $primary hint if the constraint is primary - * @return mixed MDB2_OK on success, a MDB2 error on failure - * @access public - */ - function dropConstraint($table, $name, $primary = false) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - if ($primary || strtolower($name) == 'primary') { - $query = 'ALTER TABLE '. $db->quoteIdentifier($table, true) .' DROP PRIMARY KEY'; - $result = $db->exec($query); - if (MDB2::isError($result)) { - return $result; - } - return MDB2_OK; - } - - //is it a FK constraint? If so, also delete the associated triggers - $db->loadModule('Reverse', null, true); - $definition = $db->reverse->getTableConstraintDefinition($table, $name); - if (!PEAR::isError($definition) && !empty($definition['foreign'])) { - //first drop the FK enforcing triggers - $result = $this->_dropFKTriggers($table, $name, $definition['references']['table']); - if (PEAR::isError($result)) { - return $result; - } - //then drop the constraint itself - $table = $db->quoteIdentifier($table, true); - $name = $db->quoteIdentifier($db->getIndexName($name), true); - $query = "ALTER TABLE $table DROP FOREIGN KEY $name"; - $result = $db->exec($query); - if (MDB2::isError($result)) { - return $result; - } - return MDB2_OK; - } - - $table = $db->quoteIdentifier($table, true); - $name = $db->quoteIdentifier($db->getIndexName($name), true); - $query = "ALTER TABLE $table DROP INDEX $name"; - $result = $db->exec($query); - if (MDB2::isError($result)) { - return $result; - } - return MDB2_OK; - } - - // }}} - // {{{ _createFKTriggers() - - /** - * Create triggers to enforce the FOREIGN KEY constraint on the table - * - * NB: since there's no RAISE_APPLICATION_ERROR facility in mysql, - * we call a non-existent procedure to raise the FK violation message. - * @see http://forums.mysql.com/read.php?99,55108,71877#msg-71877 - * - * @param string $table table name - * @param array $foreign_keys FOREIGN KEY definitions - * - * @return mixed MDB2_OK on success, a MDB2 error on failure - * @access private - */ - function _createFKTriggers($table, $foreign_keys) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - // create triggers to enforce FOREIGN KEY constraints - if ($db->supports('triggers') && !empty($foreign_keys)) { - $table_quoted = $db->quoteIdentifier($table, true); - foreach ($foreign_keys as $fkname => $fkdef) { - if (empty($fkdef)) { - continue; - } - //set actions to default if not set - $fkdef['onupdate'] = empty($fkdef['onupdate']) ? $db->options['default_fk_action_onupdate'] : strtoupper($fkdef['onupdate']); - $fkdef['ondelete'] = empty($fkdef['ondelete']) ? $db->options['default_fk_action_ondelete'] : strtoupper($fkdef['ondelete']); - - $trigger_names = array( - 'insert' => $fkname.'_insert_trg', - 'update' => $fkname.'_update_trg', - 'pk_update' => $fkname.'_pk_update_trg', - 'pk_delete' => $fkname.'_pk_delete_trg', - ); - $table_fields = array_keys($fkdef['fields']); - $referenced_fields = array_keys($fkdef['references']['fields']); - - //create the ON [UPDATE|DELETE] triggers on the primary table - $restrict_action = ' IF (SELECT '; - $aliased_fields = array(); - foreach ($table_fields as $field) { - $aliased_fields[] = $table_quoted .'.'.$field .' AS '.$field; - } - $restrict_action .= implode(',', $aliased_fields) - .' FROM '.$table_quoted - .' WHERE '; - $conditions = array(); - $new_values = array(); - $null_values = array(); - for ($i=0; $i OLD.'.$referenced_fields[$i]; - } - - $restrict_action .= implode(' AND ', $conditions).') IS NOT NULL'; - $restrict_action2 = empty($conditions2) ? '' : ' AND (' .implode(' OR ', $conditions2) .')'; - $restrict_action3 = ' THEN CALL %s_ON_TABLE_'.$table.'_VIOLATES_FOREIGN_KEY_CONSTRAINT();' - .' END IF;'; - - $restrict_action_update = $restrict_action . $restrict_action2 . $restrict_action3; - $restrict_action_delete = $restrict_action . $restrict_action3; // There is no NEW row in on DELETE trigger - - $cascade_action_update = 'UPDATE '.$table_quoted.' SET '.implode(', ', $new_values) .' WHERE '.implode(' AND ', $conditions). ';'; - $cascade_action_delete = 'DELETE FROM '.$table_quoted.' WHERE '.implode(' AND ', $conditions). ';'; - $setnull_action = 'UPDATE '.$table_quoted.' SET '.implode(', ', $null_values).' WHERE '.implode(' AND ', $conditions). ';'; - - if ('SET DEFAULT' == $fkdef['onupdate'] || 'SET DEFAULT' == $fkdef['ondelete']) { - $db->loadModule('Reverse', null, true); - $default_values = array(); - foreach ($table_fields as $table_field) { - $field_definition = $db->reverse->getTableFieldDefinition($table, $field); - if (PEAR::isError($field_definition)) { - return $field_definition; - } - $default_values[] = $table_field .' = '. $field_definition[0]['default']; - } - $setdefault_action = 'UPDATE '.$table_quoted.' SET '.implode(', ', $default_values).' WHERE '.implode(' AND ', $conditions). ';'; - } - - $query = 'CREATE TRIGGER %s' - .' %s ON '.$fkdef['references']['table'] - .' FOR EACH ROW BEGIN ' - .' SET FOREIGN_KEY_CHECKS = 0; '; //only really needed for ON UPDATE CASCADE - - if ('CASCADE' == $fkdef['onupdate']) { - $sql_update = sprintf($query, $trigger_names['pk_update'], 'BEFORE UPDATE', 'update') . $cascade_action_update; - } elseif ('SET NULL' == $fkdef['onupdate']) { - $sql_update = sprintf($query, $trigger_names['pk_update'], 'BEFORE UPDATE', 'update') . $setnull_action; - } elseif ('SET DEFAULT' == $fkdef['onupdate']) { - $sql_update = sprintf($query, $trigger_names['pk_update'], 'BEFORE UPDATE', 'update') . $setdefault_action; - } elseif ('NO ACTION' == $fkdef['onupdate']) { - $sql_update = sprintf($query.$restrict_action_update, $trigger_names['pk_update'], 'AFTER UPDATE', 'update'); - } elseif ('RESTRICT' == $fkdef['onupdate']) { - $sql_update = sprintf($query.$restrict_action_update, $trigger_names['pk_update'], 'BEFORE UPDATE', 'update'); - } - if ('CASCADE' == $fkdef['ondelete']) { - $sql_delete = sprintf($query, $trigger_names['pk_delete'], 'BEFORE DELETE', 'delete') . $cascade_action_delete; - } elseif ('SET NULL' == $fkdef['ondelete']) { - $sql_delete = sprintf($query, $trigger_names['pk_delete'], 'BEFORE DELETE', 'delete') . $setnull_action; - } elseif ('SET DEFAULT' == $fkdef['ondelete']) { - $sql_delete = sprintf($query, $trigger_names['pk_delete'], 'BEFORE DELETE', 'delete') . $setdefault_action; - } elseif ('NO ACTION' == $fkdef['ondelete']) { - $sql_delete = sprintf($query.$restrict_action_delete, $trigger_names['pk_delete'], 'AFTER DELETE', 'delete'); - } elseif ('RESTRICT' == $fkdef['ondelete']) { - $sql_delete = sprintf($query.$restrict_action_delete, $trigger_names['pk_delete'], 'BEFORE DELETE', 'delete'); - } - $sql_update .= ' SET FOREIGN_KEY_CHECKS = 1; END;'; - $sql_delete .= ' SET FOREIGN_KEY_CHECKS = 1; END;'; - - $db->pushErrorHandling(PEAR_ERROR_RETURN); - $db->expectError(MDB2_ERROR_CANNOT_CREATE); - $result = $db->exec($sql_delete); - $expected_errmsg = 'This MySQL version doesn\'t support multiple triggers with the same action time and event for one table'; - $db->popExpect(); - $db->popErrorHandling(); - if (PEAR::isError($result)) { - if ($result->getCode() != MDB2_ERROR_CANNOT_CREATE) { - return $result; - } - $db->warnings[] = $expected_errmsg; - } - $db->pushErrorHandling(PEAR_ERROR_RETURN); - $db->expectError(MDB2_ERROR_CANNOT_CREATE); - $result = $db->exec($sql_update); - $db->popExpect(); - $db->popErrorHandling(); - if (PEAR::isError($result) && $result->getCode() != MDB2_ERROR_CANNOT_CREATE) { - if ($result->getCode() != MDB2_ERROR_CANNOT_CREATE) { - return $result; - } - $db->warnings[] = $expected_errmsg; - } - } - } - return MDB2_OK; - } - - // }}} - // {{{ _dropFKTriggers() - - /** - * Drop the triggers created to enforce the FOREIGN KEY constraint on the table - * - * @param string $table table name - * @param string $fkname FOREIGN KEY constraint name - * @param string $referenced_table referenced table name - * - * @return mixed MDB2_OK on success, a MDB2 error on failure - * @access private - */ - function _dropFKTriggers($table, $fkname, $referenced_table) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - $triggers = $this->listTableTriggers($table); - $triggers2 = $this->listTableTriggers($referenced_table); - if (!PEAR::isError($triggers2) && !PEAR::isError($triggers)) { - $triggers = array_merge($triggers, $triggers2); - $pattern = '/^'.$fkname.'(_pk)?_(insert|update|delete)_trg$/i'; - foreach ($triggers as $trigger) { - if (preg_match($pattern, $trigger)) { - $result = $db->exec('DROP TRIGGER '.$trigger); - if (PEAR::isError($result)) { - return $result; - } - } - } - } - return MDB2_OK; - } - - // }}} - // {{{ listTableConstraints() - - /** - * list all constraints in a table - * - * @param string $table name of table that should be used in method - * @return mixed array of constraint names on success, a MDB2 error on failure - * @access public - */ - function listTableConstraints($table) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - $key_name = 'Key_name'; - $non_unique = 'Non_unique'; - if ($db->options['portability'] & MDB2_PORTABILITY_FIX_CASE) { - if ($db->options['field_case'] == CASE_LOWER) { - $key_name = strtolower($key_name); - $non_unique = strtolower($non_unique); - } else { - $key_name = strtoupper($key_name); - $non_unique = strtoupper($non_unique); - } - } - - $query = 'SHOW INDEX FROM ' . $db->quoteIdentifier($table, true); - $indexes = $db->queryAll($query, null, MDB2_FETCHMODE_ASSOC); - if (PEAR::isError($indexes)) { - return $indexes; - } - - $result = array(); - foreach ($indexes as $index_data) { - if (!$index_data[$non_unique]) { - if ($index_data[$key_name] !== 'PRIMARY') { - $index = $this->_fixIndexName($index_data[$key_name]); - } else { - $index = 'PRIMARY'; - } - if (!empty($index)) { - $result[$index] = true; - } - } - } - - //list FOREIGN KEY constraints... - $query = 'SHOW CREATE TABLE '. $db->escape($table); - $definition = $db->queryOne($query, 'text', 1); - if (!PEAR::isError($definition) && !empty($definition)) { - $pattern = '/\bCONSTRAINT\b\s+([^\s]+)\s+\bFOREIGN KEY\b/Uims'; - if (preg_match_all($pattern, str_replace('`', '', $definition), $matches) > 0) { - foreach ($matches[1] as $constraint) { - $result[$constraint] = true; - } - } - } - - if ($db->options['portability'] & MDB2_PORTABILITY_FIX_CASE) { - $result = array_change_key_case($result, $db->options['field_case']); - } - return array_keys($result); - } - - // }}} - // {{{ createSequence() - - /** - * create sequence - * - * @param string $seq_name name of the sequence to be created - * @param string $start start value of the sequence; default is 1 - * @param array $options An associative array of table options: - * array( - * 'comment' => 'Foo', - * 'charset' => 'utf8', - * 'collate' => 'utf8_unicode_ci', - * 'type' => 'innodb', - * ); - * @return mixed MDB2_OK on success, a MDB2 error on failure - * @access public - */ - function createSequence($seq_name, $start = 1, $options = array()) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - $sequence_name = $db->quoteIdentifier($db->getSequenceName($seq_name), true); - $seqcol_name = $db->quoteIdentifier($db->options['seqcol_name'], true); - - $options_strings = array(); - - if (!empty($options['comment'])) { - $options_strings['comment'] = 'COMMENT = '.$db->quote($options['comment'], 'text'); - } - - if (!empty($options['charset'])) { - $options_strings['charset'] = 'DEFAULT CHARACTER SET '.$options['charset']; - if (!empty($options['collate'])) { - $options_strings['charset'].= ' COLLATE '.$options['collate']; - } - } - - $type = false; - if (!empty($options['type'])) { - $type = $options['type']; - } elseif ($db->options['default_table_type']) { - $type = $db->options['default_table_type']; - } - if ($type) { - $options_strings[] = "ENGINE = $type"; - } - - $query = "CREATE TABLE $sequence_name ($seqcol_name INT NOT NULL AUTO_INCREMENT, PRIMARY KEY ($seqcol_name))"; - if (!empty($options_strings)) { - $query .= ' '.implode(' ', $options_strings); - } - $res = $db->exec($query); - if (PEAR::isError($res)) { - return $res; - } - - if ($start == 1) { - return MDB2_OK; - } - - $query = "INSERT INTO $sequence_name ($seqcol_name) VALUES (".($start-1).')'; - $res = $db->exec($query); - if (!PEAR::isError($res)) { - return MDB2_OK; - } - - // Handle error - $result = $db->exec("DROP TABLE $sequence_name"); - if (PEAR::isError($result)) { - return $db->raiseError($result, null, null, - 'could not drop inconsistent sequence table', __FUNCTION__); - } - - return $db->raiseError($res, null, null, - 'could not create sequence table', __FUNCTION__); - } - - // }}} - // {{{ dropSequence() - - /** - * drop existing sequence - * - * @param string $seq_name name of the sequence to be dropped - * @return mixed MDB2_OK on success, a MDB2 error on failure - * @access public - */ - function dropSequence($seq_name) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - $sequence_name = $db->quoteIdentifier($db->getSequenceName($seq_name), true); - $result = $db->exec("DROP TABLE $sequence_name"); - if (MDB2::isError($result)) { - return $result; - } - return MDB2_OK; - } - - // }}} - // {{{ listSequences() - - /** - * list all sequences in the current database - * - * @param string database, the current is default - * @return mixed array of sequence names on success, a MDB2 error on failure - * @access public - */ - function listSequences($database = null) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - $query = "SHOW TABLES"; - if (null !== $database) { - $query .= " FROM $database"; - } - $table_names = $db->queryCol($query); - if (PEAR::isError($table_names)) { - return $table_names; - } - - $result = array(); - foreach ($table_names as $table_name) { - if ($sqn = $this->_fixSequenceName($table_name, true)) { - $result[] = $sqn; - } - } - if ($db->options['portability'] & MDB2_PORTABILITY_FIX_CASE) { - $result = array_map(($db->options['field_case'] == CASE_LOWER ? 'strtolower' : 'strtoupper'), $result); - } - return $result; - } - - // }}} -} -?> diff --git a/3rdparty/MDB2/Driver/Manager/oci8.php b/3rdparty/MDB2/Driver/Manager/oci8.php deleted file mode 100644 index 90ae8eb23027f9f08fe55a853af22657b1483125..0000000000000000000000000000000000000000 --- a/3rdparty/MDB2/Driver/Manager/oci8.php +++ /dev/null @@ -1,1340 +0,0 @@ - | -// +----------------------------------------------------------------------+ - -// $Id: oci8.php 295587 2010-02-28 17:16:38Z quipo $ - -require_once 'MDB2/Driver/Manager/Common.php'; - -/** - * MDB2 oci8 driver for the management modules - * - * @package MDB2 - * @category Database - * @author Lukas Smith - */ -class MDB2_Driver_Manager_oci8 extends MDB2_Driver_Manager_Common -{ - // {{{ createDatabase() - - /** - * create a new database - * - * @param string $name name of the database that should be created - * @param array $options array with charset, collation info - * - * @return mixed MDB2_OK on success, a MDB2 error on failure - * @access public - */ - function createDatabase($name, $options = array()) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - $username = $db->options['database_name_prefix'].$name; - $password = $db->dsn['password'] ? $db->dsn['password'] : $name; - $tablespace = $db->options['default_tablespace'] - ? ' DEFAULT TABLESPACE '.$db->options['default_tablespace'] : ''; - - $query = 'CREATE USER '.$username.' IDENTIFIED BY '.$password.$tablespace; - $result = $db->standaloneQuery($query, null, true); - if (PEAR::isError($result)) { - return $result; - } - $query = 'GRANT CREATE SESSION, CREATE TABLE, UNLIMITED TABLESPACE, CREATE SEQUENCE, CREATE TRIGGER TO '.$username; - $result = $db->standaloneQuery($query, null, true); - if (PEAR::isError($result)) { - $query = 'DROP USER '.$username.' CASCADE'; - $result2 = $db->standaloneQuery($query, null, true); - if (PEAR::isError($result2)) { - return $db->raiseError($result2, null, null, - 'could not setup the database user', __FUNCTION__); - } - return $result; - } - return MDB2_OK; - } - - // }}} - // {{{ alterDatabase() - - /** - * alter an existing database - * - * IMPORTANT: the safe way to change the db charset is to do a full import/export! - * If - and only if - the new character set is a strict superset of the current - * character set, it is possible to use the ALTER DATABASE CHARACTER SET to - * expedite the change in the database character set. - * - * @param string $name name of the database that is intended to be changed - * @param array $options array with name, charset info - * - * @return mixed MDB2_OK on success, a MDB2 error on failure - * @access public - */ - function alterDatabase($name, $options = array()) - { - //disabled - //return parent::alterDatabase($name, $options); - - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - if (!empty($options['name'])) { - $query = 'ALTER DATABASE ' . $db->quoteIdentifier($name, true) - .' RENAME GLOBAL_NAME TO ' . $db->quoteIdentifier($options['name'], true); - $result = $db->standaloneQuery($query); - if (PEAR::isError($result)) { - return $result; - } - } - - if (!empty($options['charset'])) { - $queries = array(); - $queries[] = 'SHUTDOWN IMMEDIATE'; //or NORMAL - $queries[] = 'STARTUP MOUNT'; - $queries[] = 'ALTER SYSTEM ENABLE RESTRICTED SESSION'; - $queries[] = 'ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0'; - $queries[] = 'ALTER DATABASE OPEN'; - $queries[] = 'ALTER DATABASE CHARACTER SET ' . $options['charset']; - $queries[] = 'ALTER DATABASE NATIONAL CHARACTER SET ' . $options['charset']; - $queries[] = 'SHUTDOWN IMMEDIATE'; //or NORMAL - $queries[] = 'STARTUP'; - - foreach ($queries as $query) { - $result = $db->standaloneQuery($query); - if (PEAR::isError($result)) { - return $result; - } - } - } - - return MDB2_OK; - } - - // }}} - // {{{ dropDatabase() - - /** - * drop an existing database - * - * @param object $db database object that is extended by this class - * @param string $name name of the database that should be dropped - * @return mixed MDB2_OK on success, a MDB2 error on failure - * @access public - */ - function dropDatabase($name) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - $username = $db->options['database_name_prefix'].$name; - return $db->standaloneQuery('DROP USER '.$username.' CASCADE', null, true); - } - - - // }}} - // {{{ _makeAutoincrement() - - /** - * add an autoincrement sequence + trigger - * - * @param string $name name of the PK field - * @param string $table name of the table - * @param string $start start value for the sequence - * @return mixed MDB2_OK on success, a MDB2 error on failure - * @access private - */ - function _makeAutoincrement($name, $table, $start = 1) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - $table_uppercase = strtoupper($table); - $index_name = $table_uppercase . '_AI_PK'; - $definition = array( - 'primary' => true, - 'fields' => array($name => true), - ); - $idxname_format = $db->getOption('idxname_format'); - $db->setOption('idxname_format', '%s'); - $result = $this->createConstraint($table, $index_name, $definition); - $db->setOption('idxname_format', $idxname_format); - if (PEAR::isError($result)) { - return $db->raiseError($result, null, null, - 'primary key for autoincrement PK could not be created', __FUNCTION__); - } - - if (null === $start) { - $db->beginTransaction(); - $query = 'SELECT MAX(' . $db->quoteIdentifier($name, true) . ') FROM ' . $db->quoteIdentifier($table, true); - $start = $this->db->queryOne($query, 'integer'); - if (PEAR::isError($start)) { - return $start; - } - ++$start; - $result = $this->createSequence($table, $start); - $db->commit(); - } else { - $result = $this->createSequence($table, $start); - } - if (PEAR::isError($result)) { - return $db->raiseError($result, null, null, - 'sequence for autoincrement PK could not be created', __FUNCTION__); - } - $seq_name = $db->getSequenceName($table); - $trigger_name = $db->quoteIdentifier($table_uppercase . '_AI_PK', true); - $seq_name_quoted = $db->quoteIdentifier($seq_name, true); - $table = $db->quoteIdentifier($table, true); - $name = $db->quoteIdentifier($name, true); - $trigger_sql = ' -CREATE TRIGGER '.$trigger_name.' - BEFORE INSERT - ON '.$table.' - FOR EACH ROW -DECLARE - last_Sequence NUMBER; - last_InsertID NUMBER; -BEGIN - SELECT '.$seq_name_quoted.'.NEXTVAL INTO :NEW.'.$name.' FROM DUAL; - IF (:NEW.'.$name.' IS NULL OR :NEW.'.$name.' = 0) THEN - SELECT '.$seq_name_quoted.'.NEXTVAL INTO :NEW.'.$name.' FROM DUAL; - ELSE - SELECT NVL(Last_Number, 0) INTO last_Sequence - FROM User_Sequences - WHERE UPPER(Sequence_Name) = UPPER(\''.$seq_name.'\'); - SELECT :NEW.'.$name.' INTO last_InsertID FROM DUAL; - WHILE (last_InsertID > last_Sequence) LOOP - SELECT '.$seq_name_quoted.'.NEXTVAL INTO last_Sequence FROM DUAL; - END LOOP; - END IF; -END; -'; - $result = $db->exec($trigger_sql); - if (PEAR::isError($result)) { - return $result; - } - return MDB2_OK; - } - - // }}} - // {{{ _dropAutoincrement() - - /** - * drop an existing autoincrement sequence + trigger - * - * @param string $table name of the table - * @return mixed MDB2_OK on success, a MDB2 error on failure - * @access private - */ - function _dropAutoincrement($table) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - $table = strtoupper($table); - $trigger_name = $table . '_AI_PK'; - $trigger_name_quoted = $db->quote($trigger_name, 'text'); - $query = 'SELECT trigger_name FROM user_triggers'; - $query.= ' WHERE trigger_name='.$trigger_name_quoted.' OR trigger_name='.strtoupper($trigger_name_quoted); - $trigger = $db->queryOne($query); - if (PEAR::isError($trigger)) { - return $trigger; - } - - if ($trigger) { - $trigger_name = $db->quoteIdentifier($table . '_AI_PK', true); - $trigger_sql = 'DROP TRIGGER ' . $trigger_name; - $result = $db->exec($trigger_sql); - if (PEAR::isError($result)) { - return $db->raiseError($result, null, null, - 'trigger for autoincrement PK could not be dropped', __FUNCTION__); - } - - $result = $this->dropSequence($table); - if (PEAR::isError($result)) { - return $db->raiseError($result, null, null, - 'sequence for autoincrement PK could not be dropped', __FUNCTION__); - } - - $index_name = $table . '_AI_PK'; - $idxname_format = $db->getOption('idxname_format'); - $db->setOption('idxname_format', '%s'); - $result1 = $this->dropConstraint($table, $index_name); - $db->setOption('idxname_format', $idxname_format); - $result2 = $this->dropConstraint($table, $index_name); - if (PEAR::isError($result1) && PEAR::isError($result2)) { - return $db->raiseError($result1, null, null, - 'primary key for autoincrement PK could not be dropped', __FUNCTION__); - } - } - - return MDB2_OK; - } - - // }}} - // {{{ _getTemporaryTableQuery() - - /** - * A method to return the required SQL string that fits between CREATE ... TABLE - * to create the table as a temporary table. - * - * @return string The string required to be placed between "CREATE" and "TABLE" - * to generate a temporary table, if possible. - */ - function _getTemporaryTableQuery() - { - return 'GLOBAL TEMPORARY'; - } - - // }}} - // {{{ _getAdvancedFKOptions() - - /** - * Return the FOREIGN KEY query section dealing with non-standard options - * as MATCH, INITIALLY DEFERRED, ON UPDATE, ... - * - * @param array $definition - * @return string - * @access protected - */ - function _getAdvancedFKOptions($definition) - { - $query = ''; - if (!empty($definition['ondelete']) && (strtoupper($definition['ondelete']) != 'NO ACTION')) { - $query .= ' ON DELETE '.$definition['ondelete']; - } - if (!empty($definition['deferrable'])) { - $query .= ' DEFERRABLE'; - } else { - $query .= ' NOT DEFERRABLE'; - } - if (!empty($definition['initiallydeferred'])) { - $query .= ' INITIALLY DEFERRED'; - } else { - $query .= ' INITIALLY IMMEDIATE'; - } - return $query; - } - - // }}} - // {{{ createTable() - - /** - * create a new table - * - * @param string $name Name of the database that should be created - * @param array $fields Associative array that contains the definition of each field of the new table - * The indexes of the array entries are the names of the fields of the table an - * the array entry values are associative arrays like those that are meant to be - * passed with the field definitions to get[Type]Declaration() functions. - * - * Example - * array( - * - * 'id' => array( - * 'type' => 'integer', - * 'unsigned' => 1 - * 'notnull' => 1 - * 'default' => 0 - * ), - * 'name' => array( - * 'type' => 'text', - * 'length' => 12 - * ), - * 'password' => array( - * 'type' => 'text', - * 'length' => 12 - * ) - * ); - * @param array $options An associative array of table options: - * array( - * 'comment' => 'Foo', - * 'temporary' => true|false, - * ); - * @return mixed MDB2_OK on success, a MDB2 error on failure - * @access public - */ - function createTable($name, $fields, $options = array()) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - $db->beginNestedTransaction(); - $result = parent::createTable($name, $fields, $options); - if (!PEAR::isError($result)) { - foreach ($fields as $field_name => $field) { - if (!empty($field['autoincrement'])) { - $result = $this->_makeAutoincrement($field_name, $name); - } - } - } - $db->completeNestedTransaction(); - return $result; - } - - // }}} - // {{{ dropTable() - - /** - * drop an existing table - * - * @param string $name name of the table that should be dropped - * @return mixed MDB2_OK on success, a MDB2 error on failure - * @access public - */ - function dropTable($name) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - $db->beginNestedTransaction(); - $result = $this->_dropAutoincrement($name); - if (!PEAR::isError($result)) { - $result = parent::dropTable($name); - } - $db->completeNestedTransaction(); - return $result; - } - - // }}} - // {{{ truncateTable() - - /** - * Truncate an existing table (if the TRUNCATE TABLE syntax is not supported, - * it falls back to a DELETE FROM TABLE query) - * - * @param string $name name of the table that should be truncated - * @return mixed MDB2_OK on success, a MDB2 error on failure - * @access public - */ - function truncateTable($name) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - $name = $db->quoteIdentifier($name, true); - return $db->exec("TRUNCATE TABLE $name"); - } - - // }}} - // {{{ vacuum() - - /** - * Optimize (vacuum) all the tables in the db (or only the specified table) - * and optionally run ANALYZE. - * - * @param string $table table name (all the tables if empty) - * @param array $options an array with driver-specific options: - * - timeout [int] (in seconds) [mssql-only] - * - analyze [boolean] [pgsql and mysql] - * - full [boolean] [pgsql-only] - * - freeze [boolean] [pgsql-only] - * - * @return mixed MDB2_OK success, a MDB2 error on failure - * @access public - */ - function vacuum($table = null, $options = array()) - { - // not needed in Oracle - return MDB2_OK; - } - - // }}} - // {{{ alterTable() - - /** - * alter an existing table - * - * @param string $name name of the table that is intended to be changed. - * @param array $changes associative array that contains the details of each type - * of change that is intended to be performed. The types of - * changes that are currently supported are defined as follows: - * - * name - * - * New name for the table. - * - * add - * - * Associative array with the names of fields to be added as - * indexes of the array. The value of each entry of the array - * should be set to another associative array with the properties - * of the fields to be added. The properties of the fields should - * be the same as defined by the MDB2 parser. - * - * - * remove - * - * Associative array with the names of fields to be removed as indexes - * of the array. Currently the values assigned to each entry are ignored. - * An empty array should be used for future compatibility. - * - * rename - * - * Associative array with the names of fields to be renamed as indexes - * of the array. The value of each entry of the array should be set to - * another associative array with the entry named name with the new - * field name and the entry named Declaration that is expected to contain - * the portion of the field declaration already in DBMS specific SQL code - * as it is used in the CREATE TABLE statement. - * - * change - * - * Associative array with the names of the fields to be changed as indexes - * of the array. Keep in mind that if it is intended to change either the - * name of a field and any other properties, the change array entries - * should have the new names of the fields as array indexes. - * - * The value of each entry of the array should be set to another associative - * array with the properties of the fields to that are meant to be changed as - * array entries. These entries should be assigned to the new values of the - * respective properties. The properties of the fields should be the same - * as defined by the MDB2 parser. - * - * Example - * array( - * 'name' => 'userlist', - * 'add' => array( - * 'quota' => array( - * 'type' => 'integer', - * 'unsigned' => 1 - * ) - * ), - * 'remove' => array( - * 'file_limit' => array(), - * 'time_limit' => array() - * ), - * 'change' => array( - * 'name' => array( - * 'length' => '20', - * 'definition' => array( - * 'type' => 'text', - * 'length' => 20, - * ), - * ) - * ), - * 'rename' => array( - * 'sex' => array( - * 'name' => 'gender', - * 'definition' => array( - * 'type' => 'text', - * 'length' => 1, - * 'default' => 'M', - * ), - * ) - * ) - * ) - * - * @param boolean $check indicates whether the function should just check if the DBMS driver - * can perform the requested table alterations if the value is true or - * actually perform them otherwise. - * @access public - * - * @return mixed MDB2_OK on success, a MDB2 error on failure - */ - function alterTable($name, $changes, $check) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - foreach ($changes as $change_name => $change) { - switch ($change_name) { - case 'add': - case 'remove': - case 'change': - case 'name': - case 'rename': - break; - default: - return $db->raiseError(MDB2_ERROR_CANNOT_ALTER, null, null, - 'change type "'.$change_name.'" not yet supported', __FUNCTION__); - } - } - - if ($check) { - return MDB2_OK; - } - - $name = $db->quoteIdentifier($name, true); - - if (!empty($changes['add']) && is_array($changes['add'])) { - $fields = array(); - foreach ($changes['add'] as $field_name => $field) { - $fields[] = $db->getDeclaration($field['type'], $field_name, $field); - } - $result = $db->exec("ALTER TABLE $name ADD (". implode(', ', $fields).')'); - if (PEAR::isError($result)) { - return $result; - } - } - - if (!empty($changes['change']) && is_array($changes['change'])) { - $fields = array(); - foreach ($changes['change'] as $field_name => $field) { - //fix error "column to be modified to NOT NULL is already NOT NULL" - if (!array_key_exists('notnull', $field)) { - unset($field['definition']['notnull']); - } - $fields[] = $db->getDeclaration($field['definition']['type'], $field_name, $field['definition']); - } - $result = $db->exec("ALTER TABLE $name MODIFY (". implode(', ', $fields).')'); - if (PEAR::isError($result)) { - return $result; - } - } - - if (!empty($changes['rename']) && is_array($changes['rename'])) { - foreach ($changes['rename'] as $field_name => $field) { - $field_name = $db->quoteIdentifier($field_name, true); - $query = "ALTER TABLE $name RENAME COLUMN $field_name TO ".$db->quoteIdentifier($field['name']); - $result = $db->exec($query); - if (PEAR::isError($result)) { - return $result; - } - } - } - - if (!empty($changes['remove']) && is_array($changes['remove'])) { - $fields = array(); - foreach ($changes['remove'] as $field_name => $field) { - $fields[] = $db->quoteIdentifier($field_name, true); - } - $result = $db->exec("ALTER TABLE $name DROP COLUMN ". implode(', ', $fields)); - if (PEAR::isError($result)) { - return $result; - } - } - - if (!empty($changes['name'])) { - $change_name = $db->quoteIdentifier($changes['name'], true); - $result = $db->exec("ALTER TABLE $name RENAME TO ".$change_name); - if (PEAR::isError($result)) { - return $result; - } - } - - return MDB2_OK; - } - - // }}} - // {{{ _fetchCol() - - /** - * Utility method to fetch and format a column from a resultset - * - * @param resource $result - * @param boolean $fixname (used when listing indices or constraints) - * @return mixed array of names on success, a MDB2 error on failure - * @access private - */ - function _fetchCol($result, $fixname = false) - { - if (PEAR::isError($result)) { - return $result; - } - $col = $result->fetchCol(); - if (PEAR::isError($col)) { - return $col; - } - $result->free(); - - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - if ($fixname) { - foreach ($col as $k => $v) { - $col[$k] = $this->_fixIndexName($v); - } - } - - if ($db->options['portability'] & MDB2_PORTABILITY_FIX_CASE - && $db->options['field_case'] == CASE_LOWER - ) { - $col = array_map(($db->options['field_case'] == CASE_LOWER ? 'strtolower' : 'strtoupper'), $col); - } - return $col; - } - - // }}} - // {{{ listDatabases() - - /** - * list all databases - * - * @return mixed array of database names on success, a MDB2 error on failure - * @access public - */ - function listDatabases() - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - if (!$db->options['emulate_database']) { - return $db->raiseError(MDB2_ERROR_UNSUPPORTED, null, null, - 'database listing is only supported if the "emulate_database" option is enabled', __FUNCTION__); - } - - if ($db->options['database_name_prefix']) { - $query = 'SELECT SUBSTR(username, '; - $query.= (strlen($db->options['database_name_prefix'])+1); - $query.= ") FROM sys.dba_users WHERE username LIKE '"; - $query.= $db->options['database_name_prefix']."%'"; - } else { - $query = 'SELECT username FROM sys.dba_users'; - } - $result = $db->standaloneQuery($query, array('text'), false); - return $this->_fetchCol($result); - } - - // }}} - // {{{ listUsers() - - /** - * list all users - * - * @return mixed array of user names on success, a MDB2 error on failure - * @access public - */ - function listUsers() - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - if ($db->options['emulate_database'] && $db->options['database_name_prefix']) { - $query = 'SELECT SUBSTR(username, '; - $query.= (strlen($db->options['database_name_prefix'])+1); - $query.= ") FROM sys.dba_users WHERE username NOT LIKE '"; - $query.= $db->options['database_name_prefix']."%'"; - } else { - $query = 'SELECT username FROM sys.dba_users'; - } - return $db->queryCol($query); - } - - // }}} - // {{{ listViews() - - /** - * list all views in the current database - * - * @param string owner, the current is default - * @return mixed array of view names on success, a MDB2 error on failure - * @access public - */ - function listViews($owner = null) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - if (empty($owner)) { - $owner = $db->dsn['username']; - } - - $query = 'SELECT view_name - FROM sys.all_views - WHERE owner=? OR owner=?'; - $stmt = $db->prepare($query); - if (PEAR::isError($stmt)) { - return $stmt; - } - $result = $stmt->execute(array($owner, strtoupper($owner))); - return $this->_fetchCol($result); - } - - // }}} - // {{{ listFunctions() - - /** - * list all functions in the current database - * - * @param string owner, the current is default - * @return mixed array of function names on success, a MDB2 error on failure - * @access public - */ - function listFunctions($owner = null) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - if (empty($owner)) { - $owner = $db->dsn['username']; - } - - $query = "SELECT name - FROM sys.all_source - WHERE line = 1 - AND type = 'FUNCTION' - AND (owner=? OR owner=?)"; - $stmt = $db->prepare($query); - if (PEAR::isError($stmt)) { - return $stmt; - } - $result = $stmt->execute(array($owner, strtoupper($owner))); - return $this->_fetchCol($result); - } - - // }}} - // {{{ listTableTriggers() - - /** - * list all triggers in the database that reference a given table - * - * @param string table for which all referenced triggers should be found - * @return mixed array of trigger names on success, a MDB2 error on failure - * @access public - */ - function listTableTriggers($table = null) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - if (empty($owner)) { - $owner = $db->dsn['username']; - } - - $query = "SELECT trigger_name - FROM sys.all_triggers - WHERE (table_name=? OR table_name=?) - AND (owner=? OR owner=?)"; - $stmt = $db->prepare($query); - if (PEAR::isError($stmt)) { - return $stmt; - } - $args = array( - $table, - strtoupper($table), - $owner, - strtoupper($owner), - ); - $result = $stmt->execute($args); - return $this->_fetchCol($result); - } - - // }}} - // {{{ listTables() - - /** - * list all tables in the database - * - * @param string owner, the current is default - * @return mixed array of table names on success, a MDB2 error on failure - * @access public - */ - function listTables($owner = null) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - if (empty($owner)) { - $owner = $db->dsn['username']; - } - - $query = 'SELECT table_name - FROM sys.all_tables - WHERE owner=? OR owner=?'; - $stmt = $db->prepare($query); - if (PEAR::isError($stmt)) { - return $stmt; - } - $result = $stmt->execute(array($owner, strtoupper($owner))); - return $this->_fetchCol($result); - } - - // }}} - // {{{ listTableFields() - - /** - * list all fields in a table in the current database - * - * @param string $table name of table that should be used in method - * @return mixed array of field names on success, a MDB2 error on failure - * @access public - */ - function listTableFields($table) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - list($owner, $table) = $this->splitTableSchema($table); - if (empty($owner)) { - $owner = $db->dsn['username']; - } - - $query = 'SELECT column_name - FROM all_tab_columns - WHERE (table_name=? OR table_name=?) - AND (owner=? OR owner=?) - ORDER BY column_id'; - $stmt = $db->prepare($query); - if (PEAR::isError($stmt)) { - return $stmt; - } - $args = array( - $table, - strtoupper($table), - $owner, - strtoupper($owner), - ); - $result = $stmt->execute($args); - return $this->_fetchCol($result); - } - - // }}} - // {{{ listTableIndexes() - - /** - * list all indexes in a table - * - * @param string $table name of table that should be used in method - * @return mixed array of index names on success, a MDB2 error on failure - * @access public - */ - function listTableIndexes($table) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - list($owner, $table) = $this->splitTableSchema($table); - if (empty($owner)) { - $owner = $db->dsn['username']; - } - - $query = 'SELECT i.index_name name - FROM all_indexes i - LEFT JOIN all_constraints c - ON c.index_name = i.index_name - AND c.owner = i.owner - AND c.table_name = i.table_name - WHERE (i.table_name=? OR i.table_name=?) - AND (i.owner=? OR i.owner=?) - AND c.index_name IS NULL - AND i.generated=' .$db->quote('N', 'text'); - $stmt = $db->prepare($query); - if (PEAR::isError($stmt)) { - return $stmt; - } - $args = array( - $table, - strtoupper($table), - $owner, - strtoupper($owner), - ); - $result = $stmt->execute($args); - return $this->_fetchCol($result, true); - } - - // }}} - // {{{ createConstraint() - - /** - * create a constraint on a table - * - * @param string $table name of the table on which the constraint is to be created - * @param string $name name of the constraint to be created - * @param array $definition associative array that defines properties of the constraint to be created. - * Currently, only one property named FIELDS is supported. This property - * is also an associative with the names of the constraint fields as array - * constraints. Each entry of this array is set to another type of associative - * array that specifies properties of the constraint that are specific to - * each field. - * - * Example - * array( - * 'fields' => array( - * 'user_name' => array(), - * 'last_login' => array() - * ) - * ) - * @return mixed MDB2_OK on success, a MDB2 error on failure - * @access public - */ - function createConstraint($table, $name, $definition) - { - $result = parent::createConstraint($table, $name, $definition); - if (PEAR::isError($result)) { - return $result; - } - if (!empty($definition['foreign'])) { - return $this->_createFKTriggers($table, array($name => $definition)); - } - return MDB2_OK; - } - - // }}} - // {{{ dropConstraint() - - /** - * drop existing constraint - * - * @param string $table name of table that should be used in method - * @param string $name name of the constraint to be dropped - * @param string $primary hint if the constraint is primary - * @return mixed MDB2_OK on success, a MDB2 error on failure - * @access public - */ - function dropConstraint($table, $name, $primary = false) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - //is it a FK constraint? If so, also delete the associated triggers - $db->loadModule('Reverse', null, true); - $definition = $db->reverse->getTableConstraintDefinition($table, $name); - if (!PEAR::isError($definition) && !empty($definition['foreign'])) { - //first drop the FK enforcing triggers - $result = $this->_dropFKTriggers($table, $name, $definition['references']['table']); - if (PEAR::isError($result)) { - return $result; - } - } - - return parent::dropConstraint($table, $name, $primary); - } - - // }}} - // {{{ _createFKTriggers() - - /** - * Create triggers to enforce the FOREIGN KEY constraint on the table - * - * @param string $table table name - * @param array $foreign_keys FOREIGN KEY definitions - * - * @return mixed MDB2_OK on success, a MDB2 error on failure - * @access private - */ - function _createFKTriggers($table, $foreign_keys) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - // create triggers to enforce FOREIGN KEY constraints - if ($db->supports('triggers') && !empty($foreign_keys)) { - $table = $db->quoteIdentifier($table, true); - foreach ($foreign_keys as $fkname => $fkdef) { - if (empty($fkdef)) { - continue; - } - $fkdef['onupdate'] = empty($fkdef['onupdate']) ? $db->options['default_fk_action_onupdate'] : strtoupper($fkdef['onupdate']); - if ('RESTRICT' == $fkdef['onupdate'] || 'NO ACTION' == $fkdef['onupdate']) { - // already handled by default - continue; - } - - $trigger_name = substr(strtolower($fkname.'_pk_upd_trg'), 0, $db->options['max_identifiers_length']); - $table_fields = array_keys($fkdef['fields']); - $referenced_fields = array_keys($fkdef['references']['fields']); - - //create the ON UPDATE trigger on the primary table - $restrict_action = ' IF (SELECT '; - $aliased_fields = array(); - foreach ($table_fields as $field) { - $aliased_fields[] = $table .'.'.$field .' AS '.$field; - } - $restrict_action .= implode(',', $aliased_fields) - .' FROM '.$table - .' WHERE '; - $conditions = array(); - $new_values = array(); - $null_values = array(); - for ($i=0; $iloadModule('Reverse', null, true); - $default_values = array(); - foreach ($table_fields as $table_field) { - $field_definition = $db->reverse->getTableFieldDefinition($table, $field); - if (PEAR::isError($field_definition)) { - return $field_definition; - } - $default_values[] = $table_field .' = '. $field_definition[0]['default']; - } - $setdefault_action = 'UPDATE '.$table.' SET '.implode(', ', $default_values).' WHERE '.implode(' AND ', $conditions). ';'; - } - - $query = 'CREATE TRIGGER %s' - .' %s ON '.$fkdef['references']['table'] - .' FOR EACH ROW ' - .' BEGIN '; - - if ('CASCADE' == $fkdef['onupdate']) { - $sql_update = sprintf($query, $trigger_name, 'BEFORE UPDATE', 'update') . $cascade_action; - } elseif ('SET NULL' == $fkdef['onupdate']) { - $sql_update = sprintf($query, $trigger_name, 'BEFORE UPDATE', 'update') . $setnull_action; - } elseif ('SET DEFAULT' == $fkdef['onupdate']) { - $sql_update = sprintf($query, $trigger_name, 'BEFORE UPDATE', 'update') . $setdefault_action; - } - $sql_update .= ' END;'; - $result = $db->exec($sql_update); - if (PEAR::isError($result)) { - if ($result->getCode() === MDB2_ERROR_ALREADY_EXISTS) { - return MDB2_OK; - } - return $result; - } - } - } - return MDB2_OK; - } - - // }}} - // {{{ _dropFKTriggers() - - /** - * Drop the triggers created to enforce the FOREIGN KEY constraint on the table - * - * @param string $table table name - * @param string $fkname FOREIGN KEY constraint name - * @param string $referenced_table referenced table name - * - * @return mixed MDB2_OK on success, a MDB2 error on failure - * @access private - */ - function _dropFKTriggers($table, $fkname, $referenced_table) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - $triggers = $this->listTableTriggers($table); - $triggers2 = $this->listTableTriggers($referenced_table); - if (!PEAR::isError($triggers2) && !PEAR::isError($triggers)) { - $triggers = array_merge($triggers, $triggers2); - $trigger_name = substr(strtolower($fkname.'_pk_upd_trg'), 0, $db->options['max_identifiers_length']); - $pattern = '/^'.$trigger_name.'$/i'; - foreach ($triggers as $trigger) { - if (preg_match($pattern, $trigger)) { - $result = $db->exec('DROP TRIGGER '.$trigger); - if (PEAR::isError($result)) { - return $result; - } - } - } - } - return MDB2_OK; - } - - // }}} - // {{{ listTableConstraints() - - /** - * list all constraints in a table - * - * @param string $table name of table that should be used in method - * @return mixed array of constraint names on success, a MDB2 error on failure - * @access public - */ - function listTableConstraints($table) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - list($owner, $table) = $this->splitTableSchema($table); - if (empty($owner)) { - $owner = $db->dsn['username']; - } - - $query = 'SELECT constraint_name - FROM all_constraints - WHERE (table_name=? OR table_name=?) - AND (owner=? OR owner=?)'; - $stmt = $db->prepare($query); - if (PEAR::isError($stmt)) { - return $stmt; - } - $args = array( - $table, - strtoupper($table), - $owner, - strtoupper($owner), - ); - $result = $stmt->execute($args); - return $this->_fetchCol($result, true); - } - - // }}} - // {{{ createSequence() - - /** - * create sequence - * - * @param object $db database object that is extended by this class - * @param string $seq_name name of the sequence to be created - * @param string $start start value of the sequence; default is 1 - * @return mixed MDB2_OK on success, a MDB2 error on failure - * @access public - */ - function createSequence($seq_name, $start = 1) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - $sequence_name = $db->quoteIdentifier($db->getSequenceName($seq_name), true); - $query = "CREATE SEQUENCE $sequence_name START WITH $start INCREMENT BY 1 NOCACHE"; - $query.= ($start < 1 ? " MINVALUE $start" : ''); - return $db->exec($query); - } - - // }}} - // {{{ dropSequence() - - /** - * drop existing sequence - * - * @param object $db database object that is extended by this class - * @param string $seq_name name of the sequence to be dropped - * @return mixed MDB2_OK on success, a MDB2 error on failure - * @access public - */ - function dropSequence($seq_name) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - $sequence_name = $db->quoteIdentifier($db->getSequenceName($seq_name), true); - return $db->exec("DROP SEQUENCE $sequence_name"); - } - - // }}} - // {{{ listSequences() - - /** - * list all sequences in the current database - * - * @param string owner, the current is default - * @return mixed array of sequence names on success, a MDB2 error on failure - * @access public - */ - function listSequences($owner = null) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - if (empty($owner)) { - $owner = $db->dsn['username']; - } - - $query = 'SELECT sequence_name - FROM sys.all_sequences - WHERE (sequence_owner=? OR sequence_owner=?)'; - $stmt = $db->prepare($query); - if (PEAR::isError($stmt)) { - return $stmt; - } - $result = $stmt->execute(array($owner, strtoupper($owner))); - if (PEAR::isError($result)) { - return $result; - } - $col = $result->fetchCol(); - if (PEAR::isError($col)) { - return $col; - } - $result->free(); - - foreach ($col as $k => $v) { - $col[$k] = $this->_fixSequenceName($v); - } - - if ($db->options['portability'] & MDB2_PORTABILITY_FIX_CASE - && $db->options['field_case'] == CASE_LOWER - ) { - $col = array_map(($db->options['field_case'] == CASE_LOWER ? 'strtolower' : 'strtoupper'), $col); - } - return $col; - } -} -?> \ No newline at end of file diff --git a/3rdparty/MDB2/Driver/Manager/pgsql.php b/3rdparty/MDB2/Driver/Manager/pgsql.php deleted file mode 100644 index f2c2137dc8b3b1c6c536392b5dd26eb229a55060..0000000000000000000000000000000000000000 --- a/3rdparty/MDB2/Driver/Manager/pgsql.php +++ /dev/null @@ -1,981 +0,0 @@ - | -// +----------------------------------------------------------------------+ -// -// $Id$ - -require_once 'MDB2/Driver/Manager/Common.php'; - -/** - * MDB2 MySQL driver for the management modules - * - * @package MDB2 - * @category Database - * @author Paul Cooper - */ -class MDB2_Driver_Manager_pgsql extends MDB2_Driver_Manager_Common -{ - // {{{ createDatabase() - - /** - * create a new database - * - * @param string $name name of the database that should be created - * @param array $options array with charset info - * - * @return mixed MDB2_OK on success, a MDB2 error on failure - * @access public - */ - function createDatabase($name, $options = array()) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - $name = $db->quoteIdentifier($name, true); - $query = 'CREATE DATABASE ' . $name; - if (!empty($options['charset'])) { - $query .= ' WITH ENCODING ' . $db->quote($options['charset'], 'text'); - } - return $db->standaloneQuery($query, null, true); - } - - // }}} - // {{{ alterDatabase() - - /** - * alter an existing database - * - * @param string $name name of the database that is intended to be changed - * @param array $options array with name, owner info - * - * @return mixed MDB2_OK on success, a MDB2 error on failure - * @access public - */ - function alterDatabase($name, $options = array()) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - $query = ''; - if (!empty($options['name'])) { - $query .= ' RENAME TO ' . $options['name']; - } - if (!empty($options['owner'])) { - $query .= ' OWNER TO ' . $options['owner']; - } - - if (empty($query)) { - return MDB2_OK; - } - - $query = 'ALTER DATABASE '. $db->quoteIdentifier($name, true) . $query; - return $db->standaloneQuery($query, null, true); - } - - // }}} - // {{{ dropDatabase() - - /** - * drop an existing database - * - * @param string $name name of the database that should be dropped - * @return mixed MDB2_OK on success, a MDB2 error on failure - * @access public - */ - function dropDatabase($name) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - $name = $db->quoteIdentifier($name, true); - $query = "DROP DATABASE $name"; - return $db->standaloneQuery($query, null, true); - } - - // }}} - // {{{ _getAdvancedFKOptions() - - /** - * Return the FOREIGN KEY query section dealing with non-standard options - * as MATCH, INITIALLY DEFERRED, ON UPDATE, ... - * - * @param array $definition - * @return string - * @access protected - */ - function _getAdvancedFKOptions($definition) - { - $query = ''; - if (!empty($definition['match'])) { - $query .= ' MATCH '.$definition['match']; - } - if (!empty($definition['onupdate'])) { - $query .= ' ON UPDATE '.$definition['onupdate']; - } - if (!empty($definition['ondelete'])) { - $query .= ' ON DELETE '.$definition['ondelete']; - } - if (!empty($definition['deferrable'])) { - $query .= ' DEFERRABLE'; - } else { - $query .= ' NOT DEFERRABLE'; - } - if (!empty($definition['initiallydeferred'])) { - $query .= ' INITIALLY DEFERRED'; - } else { - $query .= ' INITIALLY IMMEDIATE'; - } - return $query; - } - - // }}} - // {{{ truncateTable() - - /** - * Truncate an existing table (if the TRUNCATE TABLE syntax is not supported, - * it falls back to a DELETE FROM TABLE query) - * - * @param string $name name of the table that should be truncated - * @return mixed MDB2_OK on success, a MDB2 error on failure - * @access public - */ - function truncateTable($name) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - $name = $db->quoteIdentifier($name, true); - $result = $db->exec("TRUNCATE TABLE $name"); - if (MDB2::isError($result)) { - return $result; - } - return MDB2_OK; - } - - // }}} - // {{{ vacuum() - - /** - * Optimize (vacuum) all the tables in the db (or only the specified table) - * and optionally run ANALYZE. - * - * @param string $table table name (all the tables if empty) - * @param array $options an array with driver-specific options: - * - timeout [int] (in seconds) [mssql-only] - * - analyze [boolean] [pgsql and mysql] - * - full [boolean] [pgsql-only] - * - freeze [boolean] [pgsql-only] - * - * @return mixed MDB2_OK success, a MDB2 error on failure - * @access public - */ - function vacuum($table = null, $options = array()) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - $query = 'VACUUM'; - - if (!empty($options['full'])) { - $query .= ' FULL'; - } - if (!empty($options['freeze'])) { - $query .= ' FREEZE'; - } - if (!empty($options['analyze'])) { - $query .= ' ANALYZE'; - } - - if (!empty($table)) { - $query .= ' '.$db->quoteIdentifier($table, true); - } - $result = $db->exec($query); - if (MDB2::isError($result)) { - return $result; - } - return MDB2_OK; - } - - // }}} - // {{{ alterTable() - - /** - * alter an existing table - * - * @param string $name name of the table that is intended to be changed. - * @param array $changes associative array that contains the details of each type - * of change that is intended to be performed. The types of - * changes that are currently supported are defined as follows: - * - * name - * - * New name for the table. - * - * add - * - * Associative array with the names of fields to be added as - * indexes of the array. The value of each entry of the array - * should be set to another associative array with the properties - * of the fields to be added. The properties of the fields should - * be the same as defined by the MDB2 parser. - * - * - * remove - * - * Associative array with the names of fields to be removed as indexes - * of the array. Currently the values assigned to each entry are ignored. - * An empty array should be used for future compatibility. - * - * rename - * - * Associative array with the names of fields to be renamed as indexes - * of the array. The value of each entry of the array should be set to - * another associative array with the entry named name with the new - * field name and the entry named Declaration that is expected to contain - * the portion of the field declaration already in DBMS specific SQL code - * as it is used in the CREATE TABLE statement. - * - * change - * - * Associative array with the names of the fields to be changed as indexes - * of the array. Keep in mind that if it is intended to change either the - * name of a field and any other properties, the change array entries - * should have the new names of the fields as array indexes. - * - * The value of each entry of the array should be set to another associative - * array with the properties of the fields to that are meant to be changed as - * array entries. These entries should be assigned to the new values of the - * respective properties. The properties of the fields should be the same - * as defined by the MDB2 parser. - * - * Example - * array( - * 'name' => 'userlist', - * 'add' => array( - * 'quota' => array( - * 'type' => 'integer', - * 'unsigned' => 1 - * ) - * ), - * 'remove' => array( - * 'file_limit' => array(), - * 'time_limit' => array() - * ), - * 'change' => array( - * 'name' => array( - * 'length' => '20', - * 'definition' => array( - * 'type' => 'text', - * 'length' => 20, - * ), - * ) - * ), - * 'rename' => array( - * 'sex' => array( - * 'name' => 'gender', - * 'definition' => array( - * 'type' => 'text', - * 'length' => 1, - * 'default' => 'M', - * ), - * ) - * ) - * ) - * - * @param boolean $check indicates whether the function should just check if the DBMS driver - * can perform the requested table alterations if the value is true or - * actually perform them otherwise. - * @access public - * - * @return mixed MDB2_OK on success, a MDB2 error on failure - */ - function alterTable($name, $changes, $check) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - foreach ($changes as $change_name => $change) { - switch ($change_name) { - case 'add': - case 'remove': - case 'change': - case 'name': - case 'rename': - break; - default: - return $db->raiseError(MDB2_ERROR_CANNOT_ALTER, null, null, - 'change type "'.$change_name.'\" not yet supported', __FUNCTION__); - } - } - - if ($check) { - return MDB2_OK; - } - - $name = $db->quoteIdentifier($name, true); - - if (!empty($changes['remove']) && is_array($changes['remove'])) { - foreach ($changes['remove'] as $field_name => $field) { - $field_name = $db->quoteIdentifier($field_name, true); - $query = 'DROP ' . $field_name; - $result = $db->exec("ALTER TABLE $name $query"); - if (PEAR::isError($result)) { - return $result; - } - } - } - - if (!empty($changes['rename']) && is_array($changes['rename'])) { - foreach ($changes['rename'] as $field_name => $field) { - $field_name = $db->quoteIdentifier($field_name, true); - $result = $db->exec("ALTER TABLE $name RENAME COLUMN $field_name TO ".$db->quoteIdentifier($field['name'], true)); - if (PEAR::isError($result)) { - return $result; - } - } - } - - if (!empty($changes['add']) && is_array($changes['add'])) { - foreach ($changes['add'] as $field_name => $field) { - $query = 'ADD ' . $db->getDeclaration($field['type'], $field_name, $field); - $result = $db->exec("ALTER TABLE $name $query"); - if (PEAR::isError($result)) { - return $result; - } - } - } - - if (!empty($changes['change']) && is_array($changes['change'])) { - foreach ($changes['change'] as $field_name => $field) { - $field_name = $db->quoteIdentifier($field_name, true); - if (!empty($field['definition']['type'])) { - $server_info = $db->getServerVersion(); - if (PEAR::isError($server_info)) { - return $server_info; - } - if (is_array($server_info) && $server_info['major'] < 8) { - return $db->raiseError(MDB2_ERROR_CANNOT_ALTER, null, null, - 'changing column type for "'.$change_name.'\" requires PostgreSQL 8.0 or above', __FUNCTION__); - } - $db->loadModule('Datatype', null, true); - $type = $db->datatype->getTypeDeclaration($field['definition']); - if($type=='SERIAL PRIMARY KEY'){//not correct when altering a table, since serials arent a real type - $type='INTEGER';//use integer instead - } - $query = "ALTER $field_name TYPE $type USING CAST($field_name AS $type)"; - $result = $db->exec("ALTER TABLE $name $query"); - if (PEAR::isError($result)) { - return $result; - } - } - if (array_key_exists('default', $field['definition'])) { - $query = "ALTER $field_name SET DEFAULT ".$db->quote($field['definition']['default'], $field['definition']['type']); - $result = $db->exec("ALTER TABLE $name $query"); - if (PEAR::isError($result)) { - return $result; - } - } - if (array_key_exists('notnull', $field['definition'])) { - $query = "ALTER $field_name ".($field['definition']['notnull'] ? 'SET' : 'DROP').' NOT NULL'; - $result = $db->exec("ALTER TABLE $name $query"); - if (PEAR::isError($result)) { - return $result; - } - } - } - } - - if (!empty($changes['name'])) { - $change_name = $db->quoteIdentifier($changes['name'], true); - $result = $db->exec("ALTER TABLE $name RENAME TO ".$change_name); - if (PEAR::isError($result)) { - return $result; - } - } - - return MDB2_OK; - } - - // }}} - // {{{ listDatabases() - - /** - * list all databases - * - * @return mixed array of database names on success, a MDB2 error on failure - * @access public - */ - function listDatabases() - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - $query = 'SELECT datname FROM pg_database'; - $result2 = $db->standaloneQuery($query, array('text'), false); - if (!MDB2::isResultCommon($result2)) { - return $result2; - } - - $result = $result2->fetchCol(); - $result2->free(); - if (PEAR::isError($result)) { - return $result; - } - if ($db->options['portability'] & MDB2_PORTABILITY_FIX_CASE) { - $result = array_map(($db->options['field_case'] == CASE_LOWER ? 'strtolower' : 'strtoupper'), $result); - } - return $result; - } - - // }}} - // {{{ listUsers() - - /** - * list all users - * - * @return mixed array of user names on success, a MDB2 error on failure - * @access public - */ - function listUsers() - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - $query = 'SELECT usename FROM pg_user'; - $result2 = $db->standaloneQuery($query, array('text'), false); - if (!MDB2::isResultCommon($result2)) { - return $result2; - } - - $result = $result2->fetchCol(); - $result2->free(); - return $result; - } - - // }}} - // {{{ listViews() - - /** - * list all views in the current database - * - * @return mixed array of view names on success, a MDB2 error on failure - * @access public - */ - function listViews($database = null) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - $query = "SELECT viewname - FROM pg_views - WHERE schemaname NOT IN ('pg_catalog', 'information_schema') - AND viewname !~ '^pg_'"; - $result = $db->queryCol($query); - if (PEAR::isError($result)) { - return $result; - } - if ($db->options['portability'] & MDB2_PORTABILITY_FIX_CASE) { - $result = array_map(($db->options['field_case'] == CASE_LOWER ? 'strtolower' : 'strtoupper'), $result); - } - return $result; - } - - // }}} - // {{{ listTableViews() - - /** - * list the views in the database that reference a given table - * - * @param string table for which all referenced views should be found - * @return mixed array of view names on success, a MDB2 error on failure - * @access public - */ - function listTableViews($table) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - $query = 'SELECT viewname FROM pg_views NATURAL JOIN pg_tables'; - $query.= ' WHERE tablename ='.$db->quote($table, 'text'); - $result = $db->queryCol($query); - if (PEAR::isError($result)) { - return $result; - } - if ($db->options['portability'] & MDB2_PORTABILITY_FIX_CASE) { - $result = array_map(($db->options['field_case'] == CASE_LOWER ? 'strtolower' : 'strtoupper'), $result); - } - return $result; - } - - // }}} - // {{{ listFunctions() - - /** - * list all functions in the current database - * - * @return mixed array of function names on success, a MDB2 error on failure - * @access public - */ - function listFunctions() - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - $query = " - SELECT - proname - FROM - pg_proc pr, - pg_type tp - WHERE - tp.oid = pr.prorettype - AND pr.proisagg = FALSE - AND tp.typname <> 'trigger' - AND pr.pronamespace IN - (SELECT oid FROM pg_namespace WHERE nspname NOT LIKE 'pg_%' AND nspname != 'information_schema')"; - $result = $db->queryCol($query); - if (PEAR::isError($result)) { - return $result; - } - if ($db->options['portability'] & MDB2_PORTABILITY_FIX_CASE) { - $result = array_map(($db->options['field_case'] == CASE_LOWER ? 'strtolower' : 'strtoupper'), $result); - } - return $result; - } - - // }}} - // {{{ listTableTriggers() - - /** - * list all triggers in the database that reference a given table - * - * @param string table for which all referenced triggers should be found - * @return mixed array of trigger names on success, a MDB2 error on failure - * @access public - */ - function listTableTriggers($table = null) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - $query = 'SELECT trg.tgname AS trigger_name - FROM pg_trigger trg, - pg_class tbl - WHERE trg.tgrelid = tbl.oid'; - if (null !== $table) { - $table = $db->quote(strtoupper($table), 'text'); - $query .= " AND UPPER(tbl.relname) = $table"; - } - $result = $db->queryCol($query); - if (PEAR::isError($result)) { - return $result; - } - if ($db->options['portability'] & MDB2_PORTABILITY_FIX_CASE) { - $result = array_map(($db->options['field_case'] == CASE_LOWER ? 'strtolower' : 'strtoupper'), $result); - } - return $result; - } - - // }}} - // {{{ listTables() - - /** - * list all tables in the current database - * - * @return mixed array of table names on success, a MDB2 error on failure - * @access public - */ - function listTables($database = null) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - // gratuitously stolen from PEAR DB _getSpecialQuery in pgsql.php - $query = 'SELECT c.relname AS "Name"' - . ' FROM pg_class c, pg_user u' - . ' WHERE c.relowner = u.usesysid' - . " AND c.relkind = 'r'" - . ' AND NOT EXISTS' - . ' (SELECT 1 FROM pg_views' - . ' WHERE viewname = c.relname)' - . " AND c.relname !~ '^(pg_|sql_)'" - . ' UNION' - . ' SELECT c.relname AS "Name"' - . ' FROM pg_class c' - . " WHERE c.relkind = 'r'" - . ' AND NOT EXISTS' - . ' (SELECT 1 FROM pg_views' - . ' WHERE viewname = c.relname)' - . ' AND NOT EXISTS' - . ' (SELECT 1 FROM pg_user' - . ' WHERE usesysid = c.relowner)' - . " AND c.relname !~ '^pg_'"; - $result = $db->queryCol($query); - if (PEAR::isError($result)) { - return $result; - } - if ($db->options['portability'] & MDB2_PORTABILITY_FIX_CASE) { - $result = array_map(($db->options['field_case'] == CASE_LOWER ? 'strtolower' : 'strtoupper'), $result); - } - return $result; - } - - // }}} - // {{{ listTableFields() - - /** - * list all fields in a table in the current database - * - * @param string $table name of table that should be used in method - * @return mixed array of field names on success, a MDB2 error on failure - * @access public - */ - function listTableFields($table) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - list($schema, $table) = $this->splitTableSchema($table); - - $table = $db->quoteIdentifier($table, true); - if (!empty($schema)) { - $table = $db->quoteIdentifier($schema, true) . '.' .$table; - } - $db->setLimit(1); - $result2 = $db->query("SELECT * FROM $table"); - if (PEAR::isError($result2)) { - return $result2; - } - $result = $result2->getColumnNames(); - $result2->free(); - if (PEAR::isError($result)) { - return $result; - } - return array_flip($result); - } - - // }}} - // {{{ listTableIndexes() - - /** - * list all indexes in a table - * - * @param string $table name of table that should be used in method - * @return mixed array of index names on success, a MDB2 error on failure - * @access public - */ - function listTableIndexes($table) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - list($schema, $table) = $this->splitTableSchema($table); - - $table = $db->quote($table, 'text'); - $subquery = "SELECT indexrelid - FROM pg_index - LEFT JOIN pg_class ON pg_class.oid = pg_index.indrelid - LEFT JOIN pg_namespace ON pg_class.relnamespace = pg_namespace.oid - WHERE pg_class.relname = $table - AND indisunique != 't' - AND indisprimary != 't'"; - if (!empty($schema)) { - $subquery .= ' AND pg_namespace.nspname = '.$db->quote($schema, 'text'); - } - $query = "SELECT relname FROM pg_class WHERE oid IN ($subquery)"; - $indexes = $db->queryCol($query, 'text'); - if (PEAR::isError($indexes)) { - return $indexes; - } - - $result = array(); - foreach ($indexes as $index) { - $index = $this->_fixIndexName($index); - if (!empty($index)) { - $result[$index] = true; - } - } - - if ($db->options['portability'] & MDB2_PORTABILITY_FIX_CASE) { - $result = array_change_key_case($result, $db->options['field_case']); - } - return array_keys($result); - } - - // }}} - // {{{ dropConstraint() - - /** - * drop existing constraint - * - * @param string $table name of table that should be used in method - * @param string $name name of the constraint to be dropped - * @param string $primary hint if the constraint is primary - * - * @return mixed MDB2_OK on success, a MDB2 error on failure - * @access public - */ - function dropConstraint($table, $name, $primary = false) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - // is it an UNIQUE index? - $query = 'SELECT relname - FROM pg_class - WHERE oid IN ( - SELECT indexrelid - FROM pg_index, pg_class - WHERE pg_class.relname = '.$db->quote($table, 'text').' - AND pg_class.oid = pg_index.indrelid - AND indisunique = \'t\') - EXCEPT - SELECT conname - FROM pg_constraint, pg_class - WHERE pg_constraint.conrelid = pg_class.oid - AND relname = '. $db->quote($table, 'text'); - $unique = $db->queryCol($query, 'text'); - if (PEAR::isError($unique) || empty($unique)) { - // not an UNIQUE index, maybe a CONSTRAINT - return parent::dropConstraint($table, $name, $primary); - } - - if (in_array($name, $unique)) { - $result = $db->exec('DROP INDEX '.$db->quoteIdentifier($name, true)); - if (MDB2::isError($result)) { - return $result; - } - return MDB2_OK; - } - $idxname = $db->getIndexName($name); - if (in_array($idxname, $unique)) { - $result = $db->exec('DROP INDEX '.$db->quoteIdentifier($idxname, true)); - if (MDB2::isError($result)) { - return $result; - } - return MDB2_OK; - } - return $db->raiseError(MDB2_ERROR_NOT_FOUND, null, null, - $name . ' is not an existing constraint for table ' . $table, __FUNCTION__); - } - - // }}} - // {{{ listTableConstraints() - - /** - * list all constraints in a table - * - * @param string $table name of table that should be used in method - * @return mixed array of constraint names on success, a MDB2 error on failure - * @access public - */ - function listTableConstraints($table) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - list($schema, $table) = $this->splitTableSchema($table); - - $table = $db->quote($table, 'text'); - $query = 'SELECT conname - FROM pg_constraint - LEFT JOIN pg_class ON pg_constraint.conrelid = pg_class.oid - LEFT JOIN pg_namespace ON pg_class.relnamespace = pg_namespace.oid - WHERE relname = ' .$table; - if (!empty($schema)) { - $query .= ' AND pg_namespace.nspname = ' . $db->quote($schema, 'text'); - } - $query .= ' - UNION DISTINCT - SELECT relname - FROM pg_class - WHERE oid IN ( - SELECT indexrelid - FROM pg_index - LEFT JOIN pg_class ON pg_class.oid = pg_index.indrelid - LEFT JOIN pg_namespace ON pg_class.relnamespace = pg_namespace.oid - WHERE pg_class.relname = '.$table.' - AND indisunique = \'t\''; - if (!empty($schema)) { - $query .= ' AND pg_namespace.nspname = ' . $db->quote($schema, 'text'); - } - $query .= ')'; - $constraints = $db->queryCol($query); - if (PEAR::isError($constraints)) { - return $constraints; - } - - $result = array(); - foreach ($constraints as $constraint) { - $constraint = $this->_fixIndexName($constraint); - if (!empty($constraint)) { - $result[$constraint] = true; - } - } - - if ($db->options['portability'] & MDB2_PORTABILITY_FIX_CASE - && $db->options['field_case'] == CASE_LOWER - ) { - $result = array_change_key_case($result, $db->options['field_case']); - } - return array_keys($result); - } - - // }}} - // {{{ createSequence() - - /** - * create sequence - * - * @param string $seq_name name of the sequence to be created - * @param string $start start value of the sequence; default is 1 - * @return mixed MDB2_OK on success, a MDB2 error on failure - * @access public - */ - function createSequence($seq_name, $start = 1) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - $sequence_name = $db->quoteIdentifier($db->getSequenceName($seq_name), true); - $result = $db->exec("CREATE SEQUENCE $sequence_name INCREMENT 1". - ($start < 1 ? " MINVALUE $start" : '')." START $start"); - if (MDB2::isError($result)) { - return $result; - } - return MDB2_OK; - } - - // }}} - // {{{ dropSequence() - - /** - * drop existing sequence - * - * @param string $seq_name name of the sequence to be dropped - * @return mixed MDB2_OK on success, a MDB2 error on failure - * @access public - */ - function dropSequence($seq_name) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - $sequence_name = $db->quoteIdentifier($db->getSequenceName($seq_name), true); - $result = $db->exec("DROP SEQUENCE $sequence_name"); - if (MDB2::isError($result)) { - return $result; - } - return MDB2_OK; - } - - // }}} - // {{{ listSequences() - - /** - * list all sequences in the current database - * - * @return mixed array of sequence names on success, a MDB2 error on failure - * @access public - */ - function listSequences($database = null) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - $query = "SELECT relname FROM pg_class WHERE relkind = 'S' AND relnamespace IN"; - $query.= "(SELECT oid FROM pg_namespace WHERE nspname NOT LIKE 'pg_%' AND nspname != 'information_schema')"; - $table_names = $db->queryCol($query); - if (PEAR::isError($table_names)) { - return $table_names; - } - $result = array(); - foreach ($table_names as $table_name) { - $result[] = $this->_fixSequenceName($table_name); - } - if ($db->options['portability'] & MDB2_PORTABILITY_FIX_CASE) { - $result = array_map(($db->options['field_case'] == CASE_LOWER ? 'strtolower' : 'strtoupper'), $result); - } - return $result; - } -} -?> diff --git a/3rdparty/MDB2/Driver/Manager/sqlite.php b/3rdparty/MDB2/Driver/Manager/sqlite.php deleted file mode 100644 index 1e7efe3e743dc7cbced870312b04ebf35d9a91df..0000000000000000000000000000000000000000 --- a/3rdparty/MDB2/Driver/Manager/sqlite.php +++ /dev/null @@ -1,1390 +0,0 @@ - | -// | Lorenzo Alberton | -// +----------------------------------------------------------------------+ -// -// $Id$ -// - -require_once 'MDB2/Driver/Manager/Common.php'; - -/** - * MDB2 SQLite driver for the management modules - * - * @package MDB2 - * @category Database - * @author Lukas Smith - * @author Lorenzo Alberton - */ -class MDB2_Driver_Manager_sqlite extends MDB2_Driver_Manager_Common -{ - // {{{ createDatabase() - - /** - * create a new database - * - * @param string $name name of the database that should be created - * @param array $options array with charset info - * - * @return mixed MDB2_OK on success, a MDB2 error on failure - * @access public - */ - function createDatabase($name, $options = array()) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - $database_file = $db->_getDatabaseFile($name); - if (file_exists($database_file)) { - return $db->raiseError(MDB2_ERROR_ALREADY_EXISTS, null, null, - 'database already exists', __FUNCTION__); - } - $php_errormsg = ''; - $handle = @sqlite_open($database_file, $db->dsn['mode'], $php_errormsg); - if (!$handle) { - return $db->raiseError(MDB2_ERROR_CANNOT_CREATE, null, null, - (isset($php_errormsg) ? $php_errormsg : 'could not create the database file'), __FUNCTION__); - } - if (!empty($options['charset'])) { - $query = 'PRAGMA encoding = ' . $db->quote($options['charset'], 'text'); - @sqlite_query($query, $handle); - } - @sqlite_close($handle); - return MDB2_OK; - } - - // }}} - // {{{ dropDatabase() - - /** - * drop an existing database - * - * @param string $name name of the database that should be dropped - * @return mixed MDB2_OK on success, a MDB2 error on failure - * @access public - */ - function dropDatabase($name) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - $database_file = $db->_getDatabaseFile($name); - if (!@file_exists($database_file)) { - return $db->raiseError(MDB2_ERROR_CANNOT_DROP, null, null, - 'database does not exist', __FUNCTION__); - } - $result = @unlink($database_file); - if (!$result) { - return $db->raiseError(MDB2_ERROR_CANNOT_DROP, null, null, - (isset($php_errormsg) ? $php_errormsg : 'could not remove the database file'), __FUNCTION__); - } - return MDB2_OK; - } - - // }}} - // {{{ _getAdvancedFKOptions() - - /** - * Return the FOREIGN KEY query section dealing with non-standard options - * as MATCH, INITIALLY DEFERRED, ON UPDATE, ... - * - * @param array $definition - * @return string - * @access protected - */ - function _getAdvancedFKOptions($definition) - { - $query = ''; - if (!empty($definition['match'])) { - $query .= ' MATCH '.$definition['match']; - } - if (!empty($definition['onupdate']) && (strtoupper($definition['onupdate']) != 'NO ACTION')) { - $query .= ' ON UPDATE '.$definition['onupdate']; - } - if (!empty($definition['ondelete']) && (strtoupper($definition['ondelete']) != 'NO ACTION')) { - $query .= ' ON DELETE '.$definition['ondelete']; - } - if (!empty($definition['deferrable'])) { - $query .= ' DEFERRABLE'; - } else { - $query .= ' NOT DEFERRABLE'; - } - if (!empty($definition['initiallydeferred'])) { - $query .= ' INITIALLY DEFERRED'; - } else { - $query .= ' INITIALLY IMMEDIATE'; - } - return $query; - } - - // }}} - // {{{ _getCreateTableQuery() - - /** - * Create a basic SQL query for a new table creation - * @param string $name Name of the database that should be created - * @param array $fields Associative array that contains the definition of each field of the new table - * @param array $options An associative array of table options - * @return mixed string (the SQL query) on success, a MDB2 error on failure - * @see createTable() - */ - function _getCreateTableQuery($name, $fields, $options = array()) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - if (!$name) { - return $db->raiseError(MDB2_ERROR_CANNOT_CREATE, null, null, - 'no valid table name specified', __FUNCTION__); - } - if (empty($fields)) { - return $db->raiseError(MDB2_ERROR_CANNOT_CREATE, null, null, - 'no fields specified for table "'.$name.'"', __FUNCTION__); - } - $query_fields = $this->getFieldDeclarationList($fields); - if (PEAR::isError($query_fields)) { - return $query_fields; - } - if (!empty($options['primary'])) { - $query_fields.= ', PRIMARY KEY ('.implode(', ', array_keys($options['primary'])).')'; - } - if (!empty($options['foreign_keys'])) { - foreach ($options['foreign_keys'] as $fkname => $fkdef) { - if (empty($fkdef)) { - continue; - } - $query_fields.= ', CONSTRAINT '.$fkname.' FOREIGN KEY ('.implode(', ', array_keys($fkdef['fields'])).')'; - $query_fields.= ' REFERENCES '.$fkdef['references']['table'].' ('.implode(', ', array_keys($fkdef['references']['fields'])).')'; - $query_fields.= $this->_getAdvancedFKOptions($fkdef); - } - } - - $name = $db->quoteIdentifier($name, true); - $result = 'CREATE '; - if (!empty($options['temporary'])) { - $result .= $this->_getTemporaryTableQuery(); - } - $result .= " TABLE $name ($query_fields)"; - return $result; - } - - // }}} - // {{{ createTable() - - /** - * create a new table - * - * @param string $name Name of the database that should be created - * @param array $fields Associative array that contains the definition - * of each field of the new table - * @param array $options An associative array of table options - * - * @return mixed MDB2_OK on success, a MDB2 error on failure - * @access public - */ - function createTable($name, $fields, $options = array()) - { - $result = parent::createTable($name, $fields, $options); - if (PEAR::isError($result)) { - return $result; - } - // create triggers to enforce FOREIGN KEY constraints - if (!empty($options['foreign_keys'])) { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - foreach ($options['foreign_keys'] as $fkname => $fkdef) { - if (empty($fkdef)) { - continue; - } - //set actions to default if not set - $fkdef['onupdate'] = empty($fkdef['onupdate']) ? $db->options['default_fk_action_onupdate'] : strtoupper($fkdef['onupdate']); - $fkdef['ondelete'] = empty($fkdef['ondelete']) ? $db->options['default_fk_action_ondelete'] : strtoupper($fkdef['ondelete']); - - $trigger_names = array( - 'insert' => $fkname.'_insert_trg', - 'update' => $fkname.'_update_trg', - 'pk_update' => $fkname.'_pk_update_trg', - 'pk_delete' => $fkname.'_pk_delete_trg', - ); - - //create the [insert|update] triggers on the FK table - $table_fields = array_keys($fkdef['fields']); - $referenced_fields = array_keys($fkdef['references']['fields']); - $query = 'CREATE TRIGGER %s BEFORE %s ON '.$name - .' FOR EACH ROW BEGIN' - .' SELECT RAISE(ROLLBACK, \'%s on table "'.$name.'" violates FOREIGN KEY constraint "'.$fkname.'"\')' - .' WHERE (SELECT '; - $aliased_fields = array(); - foreach ($referenced_fields as $field) { - $aliased_fields[] = $fkdef['references']['table'] .'.'.$field .' AS '.$field; - } - $query .= implode(',', $aliased_fields) - .' FROM '.$fkdef['references']['table'] - .' WHERE '; - $conditions = array(); - for ($i=0; $iexec(sprintf($query, $trigger_names['insert'], 'INSERT', 'insert')); - if (PEAR::isError($result)) { - return $result; - } - - $result = $db->exec(sprintf($query, $trigger_names['update'], 'UPDATE', 'update')); - if (PEAR::isError($result)) { - return $result; - } - - //create the ON [UPDATE|DELETE] triggers on the primary table - $restrict_action = 'SELECT RAISE(ROLLBACK, \'%s on table "'.$name.'" violates FOREIGN KEY constraint "'.$fkname.'"\')' - .' WHERE (SELECT '; - $aliased_fields = array(); - foreach ($table_fields as $field) { - $aliased_fields[] = $name .'.'.$field .' AS '.$field; - } - $restrict_action .= implode(',', $aliased_fields) - .' FROM '.$name - .' WHERE '; - $conditions = array(); - $new_values = array(); - $null_values = array(); - for ($i=0; $i OLD.'.$referenced_fields[$i]; - } - $restrict_action .= implode(' AND ', $conditions).') IS NOT NULL' - .' AND (' .implode(' OR ', $conditions2) .')'; - - $cascade_action_update = 'UPDATE '.$name.' SET '.implode(', ', $new_values) .' WHERE '.implode(' AND ', $conditions); - $cascade_action_delete = 'DELETE FROM '.$name.' WHERE '.implode(' AND ', $conditions); - $setnull_action = 'UPDATE '.$name.' SET '.implode(', ', $null_values).' WHERE '.implode(' AND ', $conditions); - - if ('SET DEFAULT' == $fkdef['onupdate'] || 'SET DEFAULT' == $fkdef['ondelete']) { - $db->loadModule('Reverse', null, true); - $default_values = array(); - foreach ($table_fields as $table_field) { - $field_definition = $db->reverse->getTableFieldDefinition($name, $field); - if (PEAR::isError($field_definition)) { - return $field_definition; - } - $default_values[] = $table_field .' = '. $field_definition[0]['default']; - } - $setdefault_action = 'UPDATE '.$name.' SET '.implode(', ', $default_values).' WHERE '.implode(' AND ', $conditions); - } - - $query = 'CREATE TRIGGER %s' - .' %s ON '.$fkdef['references']['table'] - .' FOR EACH ROW BEGIN '; - - if ('CASCADE' == $fkdef['onupdate']) { - $sql_update = sprintf($query, $trigger_names['pk_update'], 'AFTER UPDATE', 'update') . $cascade_action_update. '; END;'; - } elseif ('SET NULL' == $fkdef['onupdate']) { - $sql_update = sprintf($query, $trigger_names['pk_update'], 'BEFORE UPDATE', 'update') . $setnull_action. '; END;'; - } elseif ('SET DEFAULT' == $fkdef['onupdate']) { - $sql_update = sprintf($query, $trigger_names['pk_update'], 'BEFORE UPDATE', 'update') . $setdefault_action. '; END;'; - } elseif ('NO ACTION' == $fkdef['onupdate']) { - $sql_update = sprintf($query.$restrict_action, $trigger_names['pk_update'], 'AFTER UPDATE', 'update') . '; END;'; - } elseif ('RESTRICT' == $fkdef['onupdate']) { - $sql_update = sprintf($query.$restrict_action, $trigger_names['pk_update'], 'BEFORE UPDATE', 'update') . '; END;'; - } - if ('CASCADE' == $fkdef['ondelete']) { - $sql_delete = sprintf($query, $trigger_names['pk_delete'], 'AFTER DELETE', 'delete') . $cascade_action_delete. '; END;'; - } elseif ('SET NULL' == $fkdef['ondelete']) { - $sql_delete = sprintf($query, $trigger_names['pk_delete'], 'BEFORE DELETE', 'delete') . $setnull_action. '; END;'; - } elseif ('SET DEFAULT' == $fkdef['ondelete']) { - $sql_delete = sprintf($query, $trigger_names['pk_delete'], 'BEFORE DELETE', 'delete') . $setdefault_action. '; END;'; - } elseif ('NO ACTION' == $fkdef['ondelete']) { - $sql_delete = sprintf($query.$restrict_action, $trigger_names['pk_delete'], 'AFTER DELETE', 'delete') . '; END;'; - } elseif ('RESTRICT' == $fkdef['ondelete']) { - $sql_delete = sprintf($query.$restrict_action, $trigger_names['pk_delete'], 'BEFORE DELETE', 'delete') . '; END;'; - } - - if (PEAR::isError($result)) { - return $result; - } - $result = $db->exec($sql_delete); - if (PEAR::isError($result)) { - return $result; - } - $result = $db->exec($sql_update); - if (PEAR::isError($result)) { - return $result; - } - } - } - if (PEAR::isError($result)) { - return $result; - } - return MDB2_OK; - } - - // }}} - // {{{ dropTable() - - /** - * drop an existing table - * - * @param string $name name of the table that should be dropped - * @return mixed MDB2_OK on success, a MDB2 error on failure - * @access public - */ - function dropTable($name) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - //delete the triggers associated to existing FK constraints - $constraints = $this->listTableConstraints($name); - if (!PEAR::isError($constraints) && !empty($constraints)) { - $db->loadModule('Reverse', null, true); - foreach ($constraints as $constraint) { - $definition = $db->reverse->getTableConstraintDefinition($name, $constraint); - if (!PEAR::isError($definition) && !empty($definition['foreign'])) { - $result = $this->_dropFKTriggers($name, $constraint, $definition['references']['table']); - if (PEAR::isError($result)) { - return $result; - } - } - } - } - - $name = $db->quoteIdentifier($name, true); - $result = $db->exec("DROP TABLE $name"); - if (MDB2::isError($result)) { - return $result; - } - return MDB2_OK; - } - - // }}} - // {{{ vacuum() - - /** - * Optimize (vacuum) all the tables in the db (or only the specified table) - * and optionally run ANALYZE. - * - * @param string $table table name (all the tables if empty) - * @param array $options an array with driver-specific options: - * - timeout [int] (in seconds) [mssql-only] - * - analyze [boolean] [pgsql and mysql] - * - full [boolean] [pgsql-only] - * - freeze [boolean] [pgsql-only] - * - * @return mixed MDB2_OK success, a MDB2 error on failure - * @access public - */ - function vacuum($table = null, $options = array()) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - $query = 'VACUUM'; - if (!empty($table)) { - $query .= ' '.$db->quoteIdentifier($table, true); - } - $result = $db->exec($query); - if (MDB2::isError($result)) { - return $result; - } - return MDB2_OK; - } - - // }}} - // {{{ alterTable() - - /** - * alter an existing table - * - * @param string $name name of the table that is intended to be changed. - * @param array $changes associative array that contains the details of each type - * of change that is intended to be performed. The types of - * changes that are currently supported are defined as follows: - * - * name - * - * New name for the table. - * - * add - * - * Associative array with the names of fields to be added as - * indexes of the array. The value of each entry of the array - * should be set to another associative array with the properties - * of the fields to be added. The properties of the fields should - * be the same as defined by the MDB2 parser. - * - * - * remove - * - * Associative array with the names of fields to be removed as indexes - * of the array. Currently the values assigned to each entry are ignored. - * An empty array should be used for future compatibility. - * - * rename - * - * Associative array with the names of fields to be renamed as indexes - * of the array. The value of each entry of the array should be set to - * another associative array with the entry named name with the new - * field name and the entry named Declaration that is expected to contain - * the portion of the field declaration already in DBMS specific SQL code - * as it is used in the CREATE TABLE statement. - * - * change - * - * Associative array with the names of the fields to be changed as indexes - * of the array. Keep in mind that if it is intended to change either the - * name of a field and any other properties, the change array entries - * should have the new names of the fields as array indexes. - * - * The value of each entry of the array should be set to another associative - * array with the properties of the fields to that are meant to be changed as - * array entries. These entries should be assigned to the new values of the - * respective properties. The properties of the fields should be the same - * as defined by the MDB2 parser. - * - * Example - * array( - * 'name' => 'userlist', - * 'add' => array( - * 'quota' => array( - * 'type' => 'integer', - * 'unsigned' => 1 - * ) - * ), - * 'remove' => array( - * 'file_limit' => array(), - * 'time_limit' => array() - * ), - * 'change' => array( - * 'name' => array( - * 'length' => '20', - * 'definition' => array( - * 'type' => 'text', - * 'length' => 20, - * ), - * ) - * ), - * 'rename' => array( - * 'sex' => array( - * 'name' => 'gender', - * 'definition' => array( - * 'type' => 'text', - * 'length' => 1, - * 'default' => 'M', - * ), - * ) - * ) - * ) - * - * @param boolean $check indicates whether the function should just check if the DBMS driver - * can perform the requested table alterations if the value is true or - * actually perform them otherwise. - * @access public - * - * @return mixed MDB2_OK on success, a MDB2 error on failure - */ - function alterTable($name, $changes, $check, $options = array()) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - foreach ($changes as $change_name => $change) { - switch ($change_name) { - case 'add': - case 'remove': - case 'change': - case 'name': - case 'rename': - break; - default: - return $db->raiseError(MDB2_ERROR_CANNOT_ALTER, null, null, - 'change type "'.$change_name.'" not yet supported', __FUNCTION__); - } - } - - if ($check) { - return MDB2_OK; - } - - $db->loadModule('Reverse', null, true); - - // actually sqlite 2.x supports no ALTER TABLE at all .. so we emulate it - $fields = $db->manager->listTableFields($name); - if (PEAR::isError($fields)) { - return $fields; - } - - $fields = array_flip($fields); - foreach ($fields as $field => $value) { - $definition = $db->reverse->getTableFieldDefinition($name, $field); - if (PEAR::isError($definition)) { - return $definition; - } - $fields[$field] = $definition[0]; - } - - $indexes = $db->manager->listTableIndexes($name); - if (PEAR::isError($indexes)) { - return $indexes; - } - - $indexes = array_flip($indexes); - foreach ($indexes as $index => $value) { - $definition = $db->reverse->getTableIndexDefinition($name, $index); - if (PEAR::isError($definition)) { - return $definition; - } - $indexes[$index] = $definition; - } - - $constraints = $db->manager->listTableConstraints($name); - if (PEAR::isError($constraints)) { - return $constraints; - } - - if (!array_key_exists('foreign_keys', $options)) { - $options['foreign_keys'] = array(); - } - $constraints = array_flip($constraints); - foreach ($constraints as $constraint => $value) { - if (!empty($definition['primary'])) { - if (!array_key_exists('primary', $options)) { - $options['primary'] = $definition['fields']; - //remove from the $constraint array, it's already handled by createTable() - unset($constraints[$constraint]); - } - } else { - $c_definition = $db->reverse->getTableConstraintDefinition($name, $constraint); - if (PEAR::isError($c_definition)) { - return $c_definition; - } - if (!empty($c_definition['foreign'])) { - if (!array_key_exists($constraint, $options['foreign_keys'])) { - $options['foreign_keys'][$constraint] = $c_definition; - } - //remove from the $constraint array, it's already handled by createTable() - unset($constraints[$constraint]); - } else { - $constraints[$constraint] = $c_definition; - } - } - } - - $name_new = $name; - $create_order = $select_fields = array_keys($fields); - foreach ($changes as $change_name => $change) { - switch ($change_name) { - case 'add': - foreach ($change as $field_name => $field) { - $fields[$field_name] = $field; - $create_order[] = $field_name; - } - break; - case 'remove': - foreach ($change as $field_name => $field) { - unset($fields[$field_name]); - $select_fields = array_diff($select_fields, array($field_name)); - $create_order = array_diff($create_order, array($field_name)); - } - break; - case 'change': - foreach ($change as $field_name => $field) { - $fields[$field_name] = $field['definition']; - } - break; - case 'name': - $name_new = $change; - break; - case 'rename': - foreach ($change as $field_name => $field) { - unset($fields[$field_name]); - $fields[$field['name']] = $field['definition']; - $create_order[array_search($field_name, $create_order)] = $field['name']; - } - break; - default: - return $db->raiseError(MDB2_ERROR_CANNOT_ALTER, null, null, - 'change type "'.$change_name.'" not yet supported', __FUNCTION__); - } - } - - $data = null; - if (!empty($select_fields)) { - $query = 'SELECT '.implode(', ', $select_fields).' FROM '.$db->quoteIdentifier($name, true); - $data = $db->queryAll($query, null, MDB2_FETCHMODE_ORDERED); - } - - $result = $this->dropTable($name); - if (PEAR::isError($result)) { - return $result; - } - - $result = $this->createTable($name_new, $fields, $options); - if (PEAR::isError($result)) { - return $result; - } - - foreach ($indexes as $index => $definition) { - $this->createIndex($name_new, $index, $definition); - } - - foreach ($constraints as $constraint => $definition) { - $this->createConstraint($name_new, $constraint, $definition); - } - - if (!empty($select_fields) && !empty($data)) { - $query = 'INSERT INTO '.$db->quoteIdentifier($name_new, true); - $query.= '('.implode(', ', array_slice(array_keys($fields), 0, count($select_fields))).')'; - $query.=' VALUES (?'.str_repeat(', ?', (count($select_fields) - 1)).')'; - $stmt = $db->prepare($query, null, MDB2_PREPARE_MANIP); - if (PEAR::isError($stmt)) { - return $stmt; - } - foreach ($data as $row) { - $result = $stmt->execute($row); - if (PEAR::isError($result)) { - return $result; - } - } - } - return MDB2_OK; - } - - // }}} - // {{{ listDatabases() - - /** - * list all databases - * - * @return mixed array of database names on success, a MDB2 error on failure - * @access public - */ - function listDatabases() - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - return $db->raiseError(MDB2_ERROR_UNSUPPORTED, null, null, - 'list databases is not supported', __FUNCTION__); - } - - // }}} - // {{{ listUsers() - - /** - * list all users - * - * @return mixed array of user names on success, a MDB2 error on failure - * @access public - */ - function listUsers() - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - return $db->raiseError(MDB2_ERROR_UNSUPPORTED, null, null, - 'list databases is not supported', __FUNCTION__); - } - - // }}} - // {{{ listViews() - - /** - * list all views in the current database - * - * @return mixed array of view names on success, a MDB2 error on failure - * @access public - */ - function listViews() - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - $query = "SELECT name FROM sqlite_master WHERE type='view' AND sql NOT NULL"; - $result = $db->queryCol($query); - if (PEAR::isError($result)) { - return $result; - } - if ($db->options['portability'] & MDB2_PORTABILITY_FIX_CASE) { - $result = array_map(($db->options['field_case'] == CASE_LOWER ? 'strtolower' : 'strtoupper'), $result); - } - return $result; - } - - // }}} - // {{{ listTableViews() - - /** - * list the views in the database that reference a given table - * - * @param string table for which all referenced views should be found - * @return mixed array of view names on success, a MDB2 error on failure - * @access public - */ - function listTableViews($table) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - $query = "SELECT name, sql FROM sqlite_master WHERE type='view' AND sql NOT NULL"; - $views = $db->queryAll($query, array('text', 'text'), MDB2_FETCHMODE_ASSOC); - if (PEAR::isError($views)) { - return $views; - } - $result = array(); - foreach ($views as $row) { - if (preg_match("/^create view .* \bfrom\b\s+\b{$table}\b /i", $row['sql'])) { - if (!empty($row['name'])) { - $result[$row['name']] = true; - } - } - } - - if ($db->options['portability'] & MDB2_PORTABILITY_FIX_CASE) { - $result = array_change_key_case($result, $db->options['field_case']); - } - return array_keys($result); - } - - // }}} - // {{{ listTables() - - /** - * list all tables in the current database - * - * @return mixed array of table names on success, a MDB2 error on failure - * @access public - */ - function listTables() - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - $query = "SELECT name FROM sqlite_master WHERE type='table' AND sql NOT NULL ORDER BY name"; - $table_names = $db->queryCol($query); - if (PEAR::isError($table_names)) { - return $table_names; - } - $result = array(); - foreach ($table_names as $table_name) { - if (!$this->_fixSequenceName($table_name, true)) { - $result[] = $table_name; - } - } - if ($db->options['portability'] & MDB2_PORTABILITY_FIX_CASE) { - $result = array_map(($db->options['field_case'] == CASE_LOWER ? 'strtolower' : 'strtoupper'), $result); - } - return $result; - } - - // }}} - // {{{ listTableFields() - - /** - * list all fields in a table in the current database - * - * @param string $table name of table that should be used in method - * @return mixed array of field names on success, a MDB2 error on failure - * @access public - */ - function listTableFields($table) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - $result = $db->loadModule('Reverse', null, true); - if (PEAR::isError($result)) { - return $result; - } - $query = "SELECT sql FROM sqlite_master WHERE type='table' AND "; - if ($db->options['portability'] & MDB2_PORTABILITY_FIX_CASE) { - $query.= 'LOWER(name)='.$db->quote(strtolower($table), 'text'); - } else { - $query.= 'name='.$db->quote($table, 'text'); - } - $sql = $db->queryOne($query); - if (PEAR::isError($sql)) { - return $sql; - } - $columns = $db->reverse->_getTableColumns($sql); - $fields = array(); - foreach ($columns as $column) { - if ($db->options['portability'] & MDB2_PORTABILITY_FIX_CASE) { - if ($db->options['field_case'] == CASE_LOWER) { - $column['name'] = strtolower($column['name']); - } else { - $column['name'] = strtoupper($column['name']); - } - } else { - $column = array_change_key_case($column, $db->options['field_case']); - } - $fields[] = $column['name']; - } - return $fields; - } - - // }}} - // {{{ listTableTriggers() - - /** - * list all triggers in the database that reference a given table - * - * @param string table for which all referenced triggers should be found - * @return mixed array of trigger names on success, a MDB2 error on failure - * @access public - */ - function listTableTriggers($table = null) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - $query = "SELECT name FROM sqlite_master WHERE type='trigger' AND sql NOT NULL"; - if (null !== $table) { - if ($db->options['portability'] & MDB2_PORTABILITY_FIX_CASE) { - $query.= ' AND LOWER(tbl_name)='.$db->quote(strtolower($table), 'text'); - } else { - $query.= ' AND tbl_name='.$db->quote($table, 'text'); - } - } - $result = $db->queryCol($query); - if (PEAR::isError($result)) { - return $result; - } - if ($db->options['portability'] & MDB2_PORTABILITY_FIX_CASE) { - $result = array_map(($db->options['field_case'] == CASE_LOWER ? 'strtolower' : 'strtoupper'), $result); - } - return $result; - } - - // }}} - // {{{ createIndex() - - /** - * Get the stucture of a field into an array - * - * @param string $table name of the table on which the index is to be created - * @param string $name name of the index to be created - * @param array $definition associative array that defines properties of the index to be created. - * Currently, only one property named FIELDS is supported. This property - * is also an associative with the names of the index fields as array - * indexes. Each entry of this array is set to another type of associative - * array that specifies properties of the index that are specific to - * each field. - * - * Currently, only the sorting property is supported. It should be used - * to define the sorting direction of the index. It may be set to either - * ascending or descending. - * - * Not all DBMS support index sorting direction configuration. The DBMS - * drivers of those that do not support it ignore this property. Use the - * function support() to determine whether the DBMS driver can manage indexes. - - * Example - * array( - * 'fields' => array( - * 'user_name' => array( - * 'sorting' => 'ascending' - * ), - * 'last_login' => array() - * ) - * ) - * @return mixed MDB2_OK on success, a MDB2 error on failure - * @access public - */ - function createIndex($table, $name, $definition) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - $table = $db->quoteIdentifier($table, true); - $name = $db->quoteIdentifier($db->getIndexName($name), true); - $query = "CREATE INDEX $name ON $table"; - $fields = array(); - foreach ($definition['fields'] as $field_name => $field) { - $field_string = $db->quoteIdentifier($field_name, true); - if (!empty($field['sorting'])) { - switch ($field['sorting']) { - case 'ascending': - $field_string.= ' ASC'; - break; - case 'descending': - $field_string.= ' DESC'; - break; - } - } - $fields[] = $field_string; - } - $query .= ' ('.implode(', ', $fields) . ')'; - $result = $db->exec($query); - if (MDB2::isError($result)) { - return $result; - } - return MDB2_OK; - } - - // }}} - // {{{ dropIndex() - - /** - * drop existing index - * - * @param string $table name of table that should be used in method - * @param string $name name of the index to be dropped - * @return mixed MDB2_OK on success, a MDB2 error on failure - * @access public - */ - function dropIndex($table, $name) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - $name = $db->getIndexName($name); - $result = $db->exec("DROP INDEX $name"); - if (MDB2::isError($result)) { - return $result; - } - return MDB2_OK; - } - - // }}} - // {{{ listTableIndexes() - - /** - * list all indexes in a table - * - * @param string $table name of table that should be used in method - * @return mixed array of index names on success, a MDB2 error on failure - * @access public - */ - function listTableIndexes($table) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - $table = $db->quote($table, 'text'); - $query = "SELECT sql FROM sqlite_master WHERE type='index' AND "; - if ($db->options['portability'] & MDB2_PORTABILITY_FIX_CASE) { - $query.= 'LOWER(tbl_name)='.strtolower($table); - } else { - $query.= "tbl_name=$table"; - } - $query.= " AND sql NOT NULL ORDER BY name"; - $indexes = $db->queryCol($query, 'text'); - if (PEAR::isError($indexes)) { - return $indexes; - } - - $result = array(); - foreach ($indexes as $sql) { - if (preg_match("/^create index ([^ ]+) on /i", $sql, $tmp)) { - $index = $this->_fixIndexName($tmp[1]); - if (!empty($index)) { - $result[$index] = true; - } - } - } - - if ($db->options['portability'] & MDB2_PORTABILITY_FIX_CASE) { - $result = array_change_key_case($result, $db->options['field_case']); - } - return array_keys($result); - } - - // }}} - // {{{ createConstraint() - - /** - * create a constraint on a table - * - * @param string $table name of the table on which the constraint is to be created - * @param string $name name of the constraint to be created - * @param array $definition associative array that defines properties of the constraint to be created. - * Currently, only one property named FIELDS is supported. This property - * is also an associative with the names of the constraint fields as array - * constraints. Each entry of this array is set to another type of associative - * array that specifies properties of the constraint that are specific to - * each field. - * - * Example - * array( - * 'fields' => array( - * 'user_name' => array(), - * 'last_login' => array() - * ) - * ) - * @return mixed MDB2_OK on success, a MDB2 error on failure - * @access public - */ - function createConstraint($table, $name, $definition) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - if (!empty($definition['primary'])) { - return $db->manager->alterTable($table, array(), false, array('primary' => $definition['fields'])); - } - - if (!empty($definition['foreign'])) { - return $db->manager->alterTable($table, array(), false, array('foreign_keys' => array($name => $definition))); - } - - $table = $db->quoteIdentifier($table, true); - $name = $db->getIndexName($name); - $query = "CREATE UNIQUE INDEX $name ON $table"; - $fields = array(); - foreach ($definition['fields'] as $field_name => $field) { - $field_string = $field_name; - if (!empty($field['sorting'])) { - switch ($field['sorting']) { - case 'ascending': - $field_string.= ' ASC'; - break; - case 'descending': - $field_string.= ' DESC'; - break; - } - } - $fields[] = $field_string; - } - $query .= ' ('.implode(', ', $fields) . ')'; - $result = $db->exec($query); - if (MDB2::isError($result)) { - return $result; - } - return MDB2_OK; - } - - // }}} - // {{{ dropConstraint() - - /** - * drop existing constraint - * - * @param string $table name of table that should be used in method - * @param string $name name of the constraint to be dropped - * @param string $primary hint if the constraint is primary - * @return mixed MDB2_OK on success, a MDB2 error on failure - * @access public - */ - function dropConstraint($table, $name, $primary = false) - { - if ($primary || $name == 'PRIMARY') { - return $this->alterTable($table, array(), false, array('primary' => null)); - } - - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - //is it a FK constraint? If so, also delete the associated triggers - $db->loadModule('Reverse', null, true); - $definition = $db->reverse->getTableConstraintDefinition($table, $name); - if (!PEAR::isError($definition) && !empty($definition['foreign'])) { - //first drop the FK enforcing triggers - $result = $this->_dropFKTriggers($table, $name, $definition['references']['table']); - if (PEAR::isError($result)) { - return $result; - } - //then drop the constraint itself - return $this->alterTable($table, array(), false, array('foreign_keys' => array($name => null))); - } - - $name = $db->getIndexName($name); - $result = $db->exec("DROP INDEX $name"); - if (MDB2::isError($result)) { - return $result; - } - return MDB2_OK; - } - - // }}} - // {{{ _dropFKTriggers() - - /** - * Drop the triggers created to enforce the FOREIGN KEY constraint on the table - * - * @param string $table table name - * @param string $fkname FOREIGN KEY constraint name - * @param string $referenced_table referenced table name - * - * @return mixed MDB2_OK on success, a MDB2 error on failure - * @access private - */ - function _dropFKTriggers($table, $fkname, $referenced_table) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - $triggers = $this->listTableTriggers($table); - $triggers2 = $this->listTableTriggers($referenced_table); - if (!PEAR::isError($triggers2) && !PEAR::isError($triggers)) { - $triggers = array_merge($triggers, $triggers2); - $pattern = '/^'.$fkname.'(_pk)?_(insert|update|delete)_trg$/i'; - foreach ($triggers as $trigger) { - if (preg_match($pattern, $trigger)) { - $result = $db->exec('DROP TRIGGER '.$trigger); - if (PEAR::isError($result)) { - return $result; - } - } - } - } - return MDB2_OK; - } - - // }}} - // {{{ listTableConstraints() - - /** - * list all constraints in a table - * - * @param string $table name of table that should be used in method - * @return mixed array of constraint names on success, a MDB2 error on failure - * @access public - */ - function listTableConstraints($table) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - $table = $db->quote($table, 'text'); - $query = "SELECT sql FROM sqlite_master WHERE type='index' AND "; - if ($db->options['portability'] & MDB2_PORTABILITY_FIX_CASE) { - $query.= 'LOWER(tbl_name)='.strtolower($table); - } else { - $query.= "tbl_name=$table"; - } - $query.= " AND sql NOT NULL ORDER BY name"; - $indexes = $db->queryCol($query, 'text'); - if (PEAR::isError($indexes)) { - return $indexes; - } - - $result = array(); - foreach ($indexes as $sql) { - if (preg_match("/^create unique index ([^ ]+) on /i", $sql, $tmp)) { - $index = $this->_fixIndexName($tmp[1]); - if (!empty($index)) { - $result[$index] = true; - } - } - } - - // also search in table definition for PRIMARY KEYs... - $query = "SELECT sql FROM sqlite_master WHERE type='table' AND "; - if ($db->options['portability'] & MDB2_PORTABILITY_FIX_CASE) { - $query.= 'LOWER(name)='.strtolower($table); - } else { - $query.= "name=$table"; - } - $query.= " AND sql NOT NULL ORDER BY name"; - $table_def = $db->queryOne($query, 'text'); - if (PEAR::isError($table_def)) { - return $table_def; - } - if (preg_match("/\bPRIMARY\s+KEY\b/i", $table_def, $tmp)) { - $result['primary'] = true; - } - - // ...and for FOREIGN KEYs - if (preg_match_all("/\bCONSTRAINT\b\s+([^\s]+)\s+\bFOREIGN\s+KEY/imsx", $table_def, $tmp)) { - foreach ($tmp[1] as $fk) { - $result[$fk] = true; - } - } - - if ($db->options['portability'] & MDB2_PORTABILITY_FIX_CASE) { - $result = array_change_key_case($result, $db->options['field_case']); - } - return array_keys($result); - } - - // }}} - // {{{ createSequence() - - /** - * create sequence - * - * @param string $seq_name name of the sequence to be created - * @param string $start start value of the sequence; default is 1 - * @return mixed MDB2_OK on success, a MDB2 error on failure - * @access public - */ - function createSequence($seq_name, $start = 1) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - $sequence_name = $db->quoteIdentifier($db->getSequenceName($seq_name), true); - $seqcol_name = $db->quoteIdentifier($db->options['seqcol_name'], true); - $query = "CREATE TABLE $sequence_name ($seqcol_name INTEGER PRIMARY KEY DEFAULT 0 NOT NULL)"; - $res = $db->exec($query); - if (PEAR::isError($res)) { - return $res; - } - if ($start == 1) { - return MDB2_OK; - } - $res = $db->exec("INSERT INTO $sequence_name ($seqcol_name) VALUES (".($start-1).')'); - if (!PEAR::isError($res)) { - return MDB2_OK; - } - // Handle error - $result = $db->exec("DROP TABLE $sequence_name"); - if (PEAR::isError($result)) { - return $db->raiseError($result, null, null, - 'could not drop inconsistent sequence table', __FUNCTION__); - } - return $db->raiseError($res, null, null, - 'could not create sequence table', __FUNCTION__); - } - - // }}} - // {{{ dropSequence() - - /** - * drop existing sequence - * - * @param string $seq_name name of the sequence to be dropped - * @return mixed MDB2_OK on success, a MDB2 error on failure - * @access public - */ - function dropSequence($seq_name) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - $sequence_name = $db->quoteIdentifier($db->getSequenceName($seq_name), true); - $result = $db->exec("DROP TABLE $sequence_name"); - if (MDB2::isError($result)) { - return $result; - } - return MDB2_OK; - } - - // }}} - // {{{ listSequences() - - /** - * list all sequences in the current database - * - * @return mixed array of sequence names on success, a MDB2 error on failure - * @access public - */ - function listSequences() - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - $query = "SELECT name FROM sqlite_master WHERE type='table' AND sql NOT NULL ORDER BY name"; - $table_names = $db->queryCol($query); - if (PEAR::isError($table_names)) { - return $table_names; - } - $result = array(); - foreach ($table_names as $table_name) { - if ($sqn = $this->_fixSequenceName($table_name, true)) { - $result[] = $sqn; - } - } - if ($db->options['portability'] & MDB2_PORTABILITY_FIX_CASE) { - $result = array_map(($db->options['field_case'] == CASE_LOWER ? 'strtolower' : 'strtoupper'), $result); - } - return $result; - } - - // }}} -} -?> diff --git a/3rdparty/MDB2/Driver/Native/Common.php b/3rdparty/MDB2/Driver/Native/Common.php deleted file mode 100644 index 67dc1bddd031224821ce724a831211550a8ea349..0000000000000000000000000000000000000000 --- a/3rdparty/MDB2/Driver/Native/Common.php +++ /dev/null @@ -1,61 +0,0 @@ - | -// +----------------------------------------------------------------------+ -// -// $Id$ -// - -/** - * Base class for the natuve modules that is extended by each MDB2 driver - * - * To load this module in the MDB2 object: - * $mdb->loadModule('Native'); - * - * @package MDB2 - * @category Database - * @author Lukas Smith - */ -class MDB2_Driver_Native_Common extends MDB2_Module_Common -{ -} -?> \ No newline at end of file diff --git a/3rdparty/MDB2/Driver/Native/mysql.php b/3rdparty/MDB2/Driver/Native/mysql.php deleted file mode 100644 index 48e65a05fd25f76539499d08807b0e246015edb5..0000000000000000000000000000000000000000 --- a/3rdparty/MDB2/Driver/Native/mysql.php +++ /dev/null @@ -1,60 +0,0 @@ - | -// +----------------------------------------------------------------------+ -// -// $Id$ -// - -require_once 'MDB2/Driver/Native/Common.php'; - -/** - * MDB2 MySQL driver for the native module - * - * @package MDB2 - * @category Database - * @author Lukas Smith - */ -class MDB2_Driver_Native_mysql extends MDB2_Driver_Native_Common -{ -} -?> \ No newline at end of file diff --git a/3rdparty/MDB2/Driver/Native/oci8.php b/3rdparty/MDB2/Driver/Native/oci8.php deleted file mode 100644 index d198f9687a9341a8c29fb1e0e079bebc5920d151..0000000000000000000000000000000000000000 --- a/3rdparty/MDB2/Driver/Native/oci8.php +++ /dev/null @@ -1,60 +0,0 @@ - | -// +----------------------------------------------------------------------+ -// -// $Id: oci8.php 215004 2006-06-18 21:59:05Z lsmith $ -// - -require_once 'MDB2/Driver/Native/Common.php'; - -/** - * MDB2 Oracle driver for the native module - * - * @package MDB2 - * @category Database - * @author Lukas Smith - */ -class MDB2_Driver_Native_oci8 extends MDB2_Driver_Native_Common -{ -} -?> \ No newline at end of file diff --git a/3rdparty/MDB2/Driver/Native/pgsql.php b/3rdparty/MDB2/Driver/Native/pgsql.php deleted file mode 100644 index f4db5eae5298b540abbcdd6c8b6d688f9c26c15d..0000000000000000000000000000000000000000 --- a/3rdparty/MDB2/Driver/Native/pgsql.php +++ /dev/null @@ -1,88 +0,0 @@ - | -// +----------------------------------------------------------------------+ -// -// $Id$ - -require_once 'MDB2/Driver/Native/Common.php'; - -/** - * MDB2 PostGreSQL driver for the native module - * - * @package MDB2 - * @category Database - * @author Paul Cooper - */ -class MDB2_Driver_Native_pgsql extends MDB2_Driver_Native_Common -{ - // }}} - // {{{ deleteOID() - - /** - * delete an OID - * - * @param integer $OID - * @return mixed MDB2_OK on success or MDB2 Error Object on failure - * @access public - */ - function deleteOID($OID) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - $connection = $db->getConnection(); - if (PEAR::isError($connection)) { - return $connection; - } - - if (!@pg_lo_unlink($connection, $OID)) { - return $db->raiseError(null, null, null, - 'Unable to unlink OID: '.$OID, __FUNCTION__); - } - return MDB2_OK; - } - -} -?> \ No newline at end of file diff --git a/3rdparty/MDB2/Driver/Native/sqlite.php b/3rdparty/MDB2/Driver/Native/sqlite.php deleted file mode 100644 index 4eb796dce7aebdbffdaebeca36ab1873273dc586..0000000000000000000000000000000000000000 --- a/3rdparty/MDB2/Driver/Native/sqlite.php +++ /dev/null @@ -1,60 +0,0 @@ - | -// +----------------------------------------------------------------------+ -// -// $Id$ -// - -require_once 'MDB2/Driver/Native/Common.php'; - -/** - * MDB2 SQLite driver for the native module - * - * @package MDB2 - * @category Database - * @author Lukas Smith - */ -class MDB2_Driver_Native_sqlite extends MDB2_Driver_Native_Common -{ -} -?> \ No newline at end of file diff --git a/3rdparty/MDB2/Driver/Reverse/Common.php b/3rdparty/MDB2/Driver/Reverse/Common.php deleted file mode 100644 index 2260520835ed9c0e3e447bfce512e6de7ad59b20..0000000000000000000000000000000000000000 --- a/3rdparty/MDB2/Driver/Reverse/Common.php +++ /dev/null @@ -1,517 +0,0 @@ - | -// +----------------------------------------------------------------------+ -// -// $Id$ -// - -/** - * @package MDB2 - * @category Database - */ - -/** - * These are constants for the tableInfo-function - * they are bitwised or'ed. so if there are more constants to be defined - * in the future, adjust MDB2_TABLEINFO_FULL accordingly - */ - -define('MDB2_TABLEINFO_ORDER', 1); -define('MDB2_TABLEINFO_ORDERTABLE', 2); -define('MDB2_TABLEINFO_FULL', 3); - -/** - * Base class for the schema reverse engineering module that is extended by each MDB2 driver - * - * To load this module in the MDB2 object: - * $mdb->loadModule('Reverse'); - * - * @package MDB2 - * @category Database - * @author Lukas Smith - */ -class MDB2_Driver_Reverse_Common extends MDB2_Module_Common -{ - // {{{ splitTableSchema() - - /** - * Split the "[owner|schema].table" notation into an array - * - * @param string $table [schema and] table name - * - * @return array array(schema, table) - * @access private - */ - function splitTableSchema($table) - { - $ret = array(); - if (strpos($table, '.') !== false) { - return explode('.', $table); - } - return array(null, $table); - } - - // }}} - // {{{ getTableFieldDefinition() - - /** - * Get the structure of a field into an array - * - * @param string $table name of table that should be used in method - * @param string $field name of field that should be used in method - * @return mixed data array on success, a MDB2 error on failure. - * The returned array contains an array for each field definition, - * with all or some of these indices, depending on the field data type: - * [notnull] [nativetype] [length] [fixed] [default] [type] [mdb2type] - * @access public - */ - function getTableFieldDefinition($table, $field) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - return $db->raiseError(MDB2_ERROR_UNSUPPORTED, null, null, - 'method not implemented', __FUNCTION__); - } - - // }}} - // {{{ getTableIndexDefinition() - - /** - * Get the structure of an index into an array - * - * @param string $table name of table that should be used in method - * @param string $index name of index that should be used in method - * @return mixed data array on success, a MDB2 error on failure - * The returned array has this structure: - * - * array ( - * [fields] => array ( - * [field1name] => array() // one entry per each field covered - * [field2name] => array() // by the index - * [field3name] => array( - * [sorting] => ascending - * ) - * ) - * ); - * - * @access public - */ - function getTableIndexDefinition($table, $index) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - return $db->raiseError(MDB2_ERROR_UNSUPPORTED, null, null, - 'method not implemented', __FUNCTION__); - } - - // }}} - // {{{ getTableConstraintDefinition() - - /** - * Get the structure of an constraints into an array - * - * @param string $table name of table that should be used in method - * @param string $index name of index that should be used in method - * @return mixed data array on success, a MDB2 error on failure - * The returned array has this structure: - *
-     *          array (
-     *              [primary] => 0
-     *              [unique]  => 0
-     *              [foreign] => 1
-     *              [check]   => 0
-     *              [fields] => array (
-     *                  [field1name] => array() // one entry per each field covered
-     *                  [field2name] => array() // by the index
-     *                  [field3name] => array(
-     *                      [sorting]  => ascending
-     *                      [position] => 3
-     *                  )
-     *              )
-     *              [references] => array(
-     *                  [table] => name
-     *                  [fields] => array(
-     *                      [field1name] => array(  //one entry per each referenced field
-     *                           [position] => 1
-     *                      )
-     *                  )
-     *              )
-     *              [deferrable] => 0
-     *              [initiallydeferred] => 0
-     *              [onupdate] => CASCADE|RESTRICT|SET NULL|SET DEFAULT|NO ACTION
-     *              [ondelete] => CASCADE|RESTRICT|SET NULL|SET DEFAULT|NO ACTION
-     *              [match] => SIMPLE|PARTIAL|FULL
-     *          );
-     *          
- * @access public - */ - function getTableConstraintDefinition($table, $index) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - return $db->raiseError(MDB2_ERROR_UNSUPPORTED, null, null, - 'method not implemented', __FUNCTION__); - } - - // }}} - // {{{ getSequenceDefinition() - - /** - * Get the structure of a sequence into an array - * - * @param string $sequence name of sequence that should be used in method - * @return mixed data array on success, a MDB2 error on failure - * The returned array has this structure: - *
-     *          array (
-     *              [start] => n
-     *          );
-     *          
- * @access public - */ - function getSequenceDefinition($sequence) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - $start = $db->currId($sequence); - if (PEAR::isError($start)) { - return $start; - } - if ($db->supports('current_id')) { - $start++; - } else { - $db->warnings[] = 'database does not support getting current - sequence value, the sequence value was incremented'; - } - $definition = array(); - if ($start != 1) { - $definition = array('start' => $start); - } - return $definition; - } - - // }}} - // {{{ getTriggerDefinition() - - /** - * Get the structure of a trigger into an array - * - * EXPERIMENTAL - * - * WARNING: this function is experimental and may change the returned value - * at any time until labelled as non-experimental - * - * @param string $trigger name of trigger that should be used in method - * @return mixed data array on success, a MDB2 error on failure - * The returned array has this structure: - *
-     *          array (
-     *              [trigger_name]    => 'trigger name',
-     *              [table_name]      => 'table name',
-     *              [trigger_body]    => 'trigger body definition',
-     *              [trigger_type]    => 'BEFORE' | 'AFTER',
-     *              [trigger_event]   => 'INSERT' | 'UPDATE' | 'DELETE'
-     *                  //or comma separated list of multiple events, when supported
-     *              [trigger_enabled] => true|false
-     *              [trigger_comment] => 'trigger comment',
-     *          );
-     *          
- * The oci8 driver also returns a [when_clause] index. - * @access public - */ - function getTriggerDefinition($trigger) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - return $db->raiseError(MDB2_ERROR_UNSUPPORTED, null, null, - 'method not implemented', __FUNCTION__); - } - - // }}} - // {{{ tableInfo() - - /** - * Returns information about a table or a result set - * - * The format of the resulting array depends on which $mode - * you select. The sample output below is based on this query: - *
-     *    SELECT tblFoo.fldID, tblFoo.fldPhone, tblBar.fldId
-     *    FROM tblFoo
-     *    JOIN tblBar ON tblFoo.fldId = tblBar.fldId
-     * 
- * - *
    - *
  • - * - * null (default) - *
    -     *   [0] => Array (
    -     *       [table] => tblFoo
    -     *       [name] => fldId
    -     *       [type] => int
    -     *       [len] => 11
    -     *       [flags] => primary_key not_null
    -     *   )
    -     *   [1] => Array (
    -     *       [table] => tblFoo
    -     *       [name] => fldPhone
    -     *       [type] => string
    -     *       [len] => 20
    -     *       [flags] =>
    -     *   )
    -     *   [2] => Array (
    -     *       [table] => tblBar
    -     *       [name] => fldId
    -     *       [type] => int
    -     *       [len] => 11
    -     *       [flags] => primary_key not_null
    -     *   )
    -     *   
    - * - *
  • - * - * MDB2_TABLEINFO_ORDER - * - *

    In addition to the information found in the default output, - * a notation of the number of columns is provided by the - * num_fields element while the order - * element provides an array with the column names as the keys and - * their location index number (corresponding to the keys in the - * the default output) as the values.

    - * - *

    If a result set has identical field names, the last one is - * used.

    - * - *
    -     *   [num_fields] => 3
    -     *   [order] => Array (
    -     *       [fldId] => 2
    -     *       [fldTrans] => 1
    -     *   )
    -     *   
    - * - *
  • - * - * MDB2_TABLEINFO_ORDERTABLE - * - *

    Similar to MDB2_TABLEINFO_ORDER but adds more - * dimensions to the array in which the table names are keys and - * the field names are sub-keys. This is helpful for queries that - * join tables which have identical field names.

    - * - *
    -     *   [num_fields] => 3
    -     *   [ordertable] => Array (
    -     *       [tblFoo] => Array (
    -     *           [fldId] => 0
    -     *           [fldPhone] => 1
    -     *       )
    -     *       [tblBar] => Array (
    -     *           [fldId] => 2
    -     *       )
    -     *   )
    -     *   
    - * - *
  • - *
- * - * The flags element contains a space separated list - * of extra information about the field. This data is inconsistent - * between DBMS's due to the way each DBMS works. - * + primary_key - * + unique_key - * + multiple_key - * + not_null - * - * Most DBMS's only provide the table and flags - * elements if $result is a table name. The following DBMS's - * provide full information from queries: - * + fbsql - * + mysql - * - * If the 'portability' option has MDB2_PORTABILITY_FIX_CASE - * turned on, the names of tables and fields will be lower or upper cased. - * - * @param object|string $result MDB2_result object from a query or a - * string containing the name of a table. - * While this also accepts a query result - * resource identifier, this behavior is - * deprecated. - * @param int $mode either unused or one of the tableInfo modes: - * MDB2_TABLEINFO_ORDERTABLE, - * MDB2_TABLEINFO_ORDER or - * MDB2_TABLEINFO_FULL (which does both). - * These are bitwise, so the first two can be - * combined using |. - * - * @return array an associative array with the information requested. - * A MDB2_Error object on failure. - * - * @see MDB2_Driver_Common::setOption() - */ - function tableInfo($result, $mode = null) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - if (!is_string($result)) { - return $db->raiseError(MDB2_ERROR_UNSUPPORTED, null, null, - 'method not implemented', __FUNCTION__); - } - - $db->loadModule('Manager', null, true); - $fields = $db->manager->listTableFields($result); - if (PEAR::isError($fields)) { - return $fields; - } - - $flags = array(); - - $idxname_format = $db->getOption('idxname_format'); - $db->setOption('idxname_format', '%s'); - - $indexes = $db->manager->listTableIndexes($result); - if (PEAR::isError($indexes)) { - $db->setOption('idxname_format', $idxname_format); - return $indexes; - } - - foreach ($indexes as $index) { - $definition = $this->getTableIndexDefinition($result, $index); - if (PEAR::isError($definition)) { - $db->setOption('idxname_format', $idxname_format); - return $definition; - } - if (count($definition['fields']) > 1) { - foreach ($definition['fields'] as $field => $sort) { - $flags[$field] = 'multiple_key'; - } - } - } - - $constraints = $db->manager->listTableConstraints($result); - if (PEAR::isError($constraints)) { - return $constraints; - } - - foreach ($constraints as $constraint) { - $definition = $this->getTableConstraintDefinition($result, $constraint); - if (PEAR::isError($definition)) { - $db->setOption('idxname_format', $idxname_format); - return $definition; - } - $flag = !empty($definition['primary']) - ? 'primary_key' : (!empty($definition['unique']) - ? 'unique_key' : false); - if ($flag) { - foreach ($definition['fields'] as $field => $sort) { - if (empty($flags[$field]) || $flags[$field] != 'primary_key') { - $flags[$field] = $flag; - } - } - } - } - - $res = array(); - - if ($mode) { - $res['num_fields'] = count($fields); - } - - foreach ($fields as $i => $field) { - $definition = $this->getTableFieldDefinition($result, $field); - if (PEAR::isError($definition)) { - $db->setOption('idxname_format', $idxname_format); - return $definition; - } - $res[$i] = $definition[0]; - $res[$i]['name'] = $field; - $res[$i]['table'] = $result; - $res[$i]['type'] = preg_replace('/^([a-z]+).*$/i', '\\1', trim($definition[0]['nativetype'])); - // 'primary_key', 'unique_key', 'multiple_key' - $res[$i]['flags'] = empty($flags[$field]) ? '' : $flags[$field]; - // not_null', 'unsigned', 'auto_increment', 'default_[rawencodedvalue]' - if (!empty($res[$i]['notnull'])) { - $res[$i]['flags'].= ' not_null'; - } - if (!empty($res[$i]['unsigned'])) { - $res[$i]['flags'].= ' unsigned'; - } - if (!empty($res[$i]['auto_increment'])) { - $res[$i]['flags'].= ' autoincrement'; - } - if (!empty($res[$i]['default'])) { - $res[$i]['flags'].= ' default_'.rawurlencode($res[$i]['default']); - } - - if ($mode & MDB2_TABLEINFO_ORDER) { - $res['order'][$res[$i]['name']] = $i; - } - if ($mode & MDB2_TABLEINFO_ORDERTABLE) { - $res['ordertable'][$res[$i]['table']][$res[$i]['name']] = $i; - } - } - - $db->setOption('idxname_format', $idxname_format); - return $res; - } -} -?> \ No newline at end of file diff --git a/3rdparty/MDB2/Driver/Reverse/mysql.php b/3rdparty/MDB2/Driver/Reverse/mysql.php deleted file mode 100644 index 8ebdc9979bcf9efa824e451967741ff986cd8dc4..0000000000000000000000000000000000000000 --- a/3rdparty/MDB2/Driver/Reverse/mysql.php +++ /dev/null @@ -1,546 +0,0 @@ - | -// +----------------------------------------------------------------------+ -// -// $Id$ -// - -require_once 'MDB2/Driver/Reverse/Common.php'; - -/** - * MDB2 MySQL driver for the schema reverse engineering module - * - * @package MDB2 - * @category Database - * @author Lukas Smith - * @author Lorenzo Alberton - */ -class MDB2_Driver_Reverse_mysql extends MDB2_Driver_Reverse_Common -{ - // {{{ getTableFieldDefinition() - - /** - * Get the structure of a field into an array - * - * @param string $table_name name of table that should be used in method - * @param string $field_name name of field that should be used in method - * @return mixed data array on success, a MDB2 error on failure - * @access public - */ - function getTableFieldDefinition($table_name, $field_name) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - $result = $db->loadModule('Datatype', null, true); - if (PEAR::isError($result)) { - return $result; - } - - list($schema, $table) = $this->splitTableSchema($table_name); - - $table = $db->quoteIdentifier($table, true); - $query = "SHOW FULL COLUMNS FROM $table LIKE ".$db->quote($field_name); - $columns = $db->queryAll($query, null, MDB2_FETCHMODE_ASSOC); - if (PEAR::isError($columns)) { - return $columns; - } - foreach ($columns as $column) { - $column = array_change_key_case($column, CASE_LOWER); - $column['name'] = $column['field']; - unset($column['field']); - if ($db->options['portability'] & MDB2_PORTABILITY_FIX_CASE) { - if ($db->options['field_case'] == CASE_LOWER) { - $column['name'] = strtolower($column['name']); - } else { - $column['name'] = strtoupper($column['name']); - } - } else { - $column = array_change_key_case($column, $db->options['field_case']); - } - if ($field_name == $column['name']) { - $mapped_datatype = $db->datatype->mapNativeDatatype($column); - if (PEAR::isError($mapped_datatype)) { - return $mapped_datatype; - } - list($types, $length, $unsigned, $fixed) = $mapped_datatype; - $notnull = false; - if (empty($column['null']) || $column['null'] !== 'YES') { - $notnull = true; - } - $default = false; - if (array_key_exists('default', $column)) { - $default = $column['default']; - if ((null === $default) && $notnull) { - $default = ''; - } - } - $definition[0] = array( - 'notnull' => $notnull, - 'nativetype' => preg_replace('/^([a-z]+)[^a-z].*/i', '\\1', $column['type']) - ); - $autoincrement = false; - if (!empty($column['extra'])) { - if ($column['extra'] == 'auto_increment') { - $autoincrement = true; - } else { - $definition[0]['extra'] = $column['extra']; - } - } - $collate = null; - if (!empty($column['collation'])) { - $collate = $column['collation']; - $charset = preg_replace('/(.+?)(_.+)?/', '$1', $collate); - } - - if (null !== $length) { - $definition[0]['length'] = $length; - } - if (null !== $unsigned) { - $definition[0]['unsigned'] = $unsigned; - } - if (null !== $fixed) { - $definition[0]['fixed'] = $fixed; - } - if ($default !== false) { - $definition[0]['default'] = $default; - } - if ($autoincrement !== false) { - $definition[0]['autoincrement'] = $autoincrement; - } - if (null !== $collate) { - $definition[0]['collate'] = $collate; - $definition[0]['charset'] = $charset; - } - foreach ($types as $key => $type) { - $definition[$key] = $definition[0]; - if ($type == 'clob' || $type == 'blob') { - unset($definition[$key]['default']); - } elseif ($type == 'timestamp' && $notnull && empty($definition[$key]['default'])) { - $definition[$key]['default'] = '0000-00-00 00:00:00'; - } - $definition[$key]['type'] = $type; - $definition[$key]['mdb2type'] = $type; - } - return $definition; - } - } - - return $db->raiseError(MDB2_ERROR_NOT_FOUND, null, null, - 'it was not specified an existing table column', __FUNCTION__); - } - - // }}} - // {{{ getTableIndexDefinition() - - /** - * Get the structure of an index into an array - * - * @param string $table_name name of table that should be used in method - * @param string $index_name name of index that should be used in method - * @return mixed data array on success, a MDB2 error on failure - * @access public - */ - function getTableIndexDefinition($table_name, $index_name) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - list($schema, $table) = $this->splitTableSchema($table_name); - - $table = $db->quoteIdentifier($table, true); - $query = "SHOW INDEX FROM $table /*!50002 WHERE Key_name = %s */"; - $index_name_mdb2 = $db->getIndexName($index_name); - $result = $db->queryRow(sprintf($query, $db->quote($index_name_mdb2))); - if (!PEAR::isError($result) && (null !== $result)) { - // apply 'idxname_format' only if the query succeeded, otherwise - // fallback to the given $index_name, without transformation - $index_name = $index_name_mdb2; - } - $result = $db->query(sprintf($query, $db->quote($index_name))); - if (PEAR::isError($result)) { - return $result; - } - $colpos = 1; - $definition = array(); - while (is_array($row = $result->fetchRow(MDB2_FETCHMODE_ASSOC))) { - $row = array_change_key_case($row, CASE_LOWER); - $key_name = $row['key_name']; - if ($db->options['portability'] & MDB2_PORTABILITY_FIX_CASE) { - if ($db->options['field_case'] == CASE_LOWER) { - $key_name = strtolower($key_name); - } else { - $key_name = strtoupper($key_name); - } - } - if ($index_name == $key_name) { - if (!$row['non_unique']) { - return $db->raiseError(MDB2_ERROR_NOT_FOUND, null, null, - $index_name . ' is not an existing table index', __FUNCTION__); - } - $column_name = $row['column_name']; - if ($db->options['portability'] & MDB2_PORTABILITY_FIX_CASE) { - if ($db->options['field_case'] == CASE_LOWER) { - $column_name = strtolower($column_name); - } else { - $column_name = strtoupper($column_name); - } - } - $definition['fields'][$column_name] = array( - 'position' => $colpos++ - ); - if (!empty($row['collation'])) { - $definition['fields'][$column_name]['sorting'] = ($row['collation'] == 'A' - ? 'ascending' : 'descending'); - } - } - } - $result->free(); - if (empty($definition['fields'])) { - return $db->raiseError(MDB2_ERROR_NOT_FOUND, null, null, - $index_name . ' is not an existing table index', __FUNCTION__); - } - return $definition; - } - - // }}} - // {{{ getTableConstraintDefinition() - - /** - * Get the structure of a constraint into an array - * - * @param string $table_name name of table that should be used in method - * @param string $constraint_name name of constraint that should be used in method - * @return mixed data array on success, a MDB2 error on failure - * @access public - */ - function getTableConstraintDefinition($table_name, $constraint_name) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - list($schema, $table) = $this->splitTableSchema($table_name); - $constraint_name_original = $constraint_name; - - $table = $db->quoteIdentifier($table, true); - $query = "SHOW INDEX FROM $table /*!50002 WHERE Key_name = %s */"; - if (strtolower($constraint_name) != 'primary') { - $constraint_name_mdb2 = $db->getIndexName($constraint_name); - $result = $db->queryRow(sprintf($query, $db->quote($constraint_name_mdb2))); - if (!PEAR::isError($result) && (null !== $result)) { - // apply 'idxname_format' only if the query succeeded, otherwise - // fallback to the given $index_name, without transformation - $constraint_name = $constraint_name_mdb2; - } - } - $result = $db->query(sprintf($query, $db->quote($constraint_name))); - if (PEAR::isError($result)) { - return $result; - } - $colpos = 1; - //default values, eventually overridden - $definition = array( - 'primary' => false, - 'unique' => false, - 'foreign' => false, - 'check' => false, - 'fields' => array(), - 'references' => array( - 'table' => '', - 'fields' => array(), - ), - 'onupdate' => '', - 'ondelete' => '', - 'match' => '', - 'deferrable' => false, - 'initiallydeferred' => false, - ); - while (is_array($row = $result->fetchRow(MDB2_FETCHMODE_ASSOC))) { - $row = array_change_key_case($row, CASE_LOWER); - $key_name = $row['key_name']; - if ($db->options['portability'] & MDB2_PORTABILITY_FIX_CASE) { - if ($db->options['field_case'] == CASE_LOWER) { - $key_name = strtolower($key_name); - } else { - $key_name = strtoupper($key_name); - } - } - if ($constraint_name == $key_name) { - if ($row['non_unique']) { - //FOREIGN KEY? - return $this->_getTableFKConstraintDefinition($table, $constraint_name_original, $definition); - } - if ($row['key_name'] == 'PRIMARY') { - $definition['primary'] = true; - } elseif (!$row['non_unique']) { - $definition['unique'] = true; - } - $column_name = $row['column_name']; - if ($db->options['portability'] & MDB2_PORTABILITY_FIX_CASE) { - if ($db->options['field_case'] == CASE_LOWER) { - $column_name = strtolower($column_name); - } else { - $column_name = strtoupper($column_name); - } - } - $definition['fields'][$column_name] = array( - 'position' => $colpos++ - ); - if (!empty($row['collation'])) { - $definition['fields'][$column_name]['sorting'] = ($row['collation'] == 'A' - ? 'ascending' : 'descending'); - } - } - } - $result->free(); - if (empty($definition['fields'])) { - return $this->_getTableFKConstraintDefinition($table, $constraint_name_original, $definition); - } - return $definition; - } - - // }}} - // {{{ _getTableFKConstraintDefinition() - - /** - * Get the FK definition from the CREATE TABLE statement - * - * @param string $table table name - * @param string $constraint_name constraint name - * @param array $definition default values for constraint definition - * - * @return array|PEAR_Error - * @access private - */ - function _getTableFKConstraintDefinition($table, $constraint_name, $definition) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - //Use INFORMATION_SCHEMA instead? - //SELECT * - // FROM INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS - // WHERE CONSTRAINT_SCHEMA = '$dbname' - // AND TABLE_NAME = '$table' - // AND CONSTRAINT_NAME = '$constraint_name'; - $query = 'SHOW CREATE TABLE '. $db->escape($table); - $constraint = $db->queryOne($query, 'text', 1); - if (!PEAR::isError($constraint) && !empty($constraint)) { - if ($db->options['portability'] & MDB2_PORTABILITY_FIX_CASE) { - if ($db->options['field_case'] == CASE_LOWER) { - $constraint = strtolower($constraint); - } else { - $constraint = strtoupper($constraint); - } - } - $constraint_name_original = $constraint_name; - $constraint_name = $db->getIndexName($constraint_name); - $pattern = '/\bCONSTRAINT\s+'.$constraint_name.'\s+FOREIGN KEY\s+\(([^\)]+)\) \bREFERENCES\b ([^\s]+) \(([^\)]+)\)(?: ON DELETE ([^\s]+))?(?: ON UPDATE ([^\s]+))?/i'; - if (!preg_match($pattern, str_replace('`', '', $constraint), $matches)) { - //fallback to original constraint name - $pattern = '/\bCONSTRAINT\s+'.$constraint_name_original.'\s+FOREIGN KEY\s+\(([^\)]+)\) \bREFERENCES\b ([^\s]+) \(([^\)]+)\)(?: ON DELETE ([^\s]+))?(?: ON UPDATE ([^\s]+))?/i'; - } - if (preg_match($pattern, str_replace('`', '', $constraint), $matches)) { - $definition['foreign'] = true; - $column_names = explode(',', $matches[1]); - $referenced_cols = explode(',', $matches[3]); - $definition['references'] = array( - 'table' => $matches[2], - 'fields' => array(), - ); - $colpos = 1; - foreach ($column_names as $column_name) { - $definition['fields'][trim($column_name)] = array( - 'position' => $colpos++ - ); - } - $colpos = 1; - foreach ($referenced_cols as $column_name) { - $definition['references']['fields'][trim($column_name)] = array( - 'position' => $colpos++ - ); - } - $definition['ondelete'] = empty($matches[4]) ? 'RESTRICT' : strtoupper($matches[4]); - $definition['onupdate'] = empty($matches[5]) ? 'RESTRICT' : strtoupper($matches[5]); - $definition['match'] = 'SIMPLE'; - return $definition; - } - } - return $db->raiseError(MDB2_ERROR_NOT_FOUND, null, null, - $constraint_name . ' is not an existing table constraint', __FUNCTION__); - } - - // }}} - // {{{ getTriggerDefinition() - - /** - * Get the structure of a trigger into an array - * - * EXPERIMENTAL - * - * WARNING: this function is experimental and may change the returned value - * at any time until labelled as non-experimental - * - * @param string $trigger name of trigger that should be used in method - * @return mixed data array on success, a MDB2 error on failure - * @access public - */ - function getTriggerDefinition($trigger) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - $query = 'SELECT trigger_name, - event_object_table AS table_name, - action_statement AS trigger_body, - action_timing AS trigger_type, - event_manipulation AS trigger_event - FROM information_schema.triggers - WHERE trigger_name = '. $db->quote($trigger, 'text'); - $types = array( - 'trigger_name' => 'text', - 'table_name' => 'text', - 'trigger_body' => 'text', - 'trigger_type' => 'text', - 'trigger_event' => 'text', - ); - $def = $db->queryRow($query, $types, MDB2_FETCHMODE_ASSOC); - if (PEAR::isError($def)) { - return $def; - } - $def['trigger_comment'] = ''; - $def['trigger_enabled'] = true; - return $def; - } - - // }}} - // {{{ tableInfo() - - /** - * Returns information about a table or a result set - * - * @param object|string $result MDB2_result object from a query or a - * string containing the name of a table. - * While this also accepts a query result - * resource identifier, this behavior is - * deprecated. - * @param int $mode a valid tableInfo mode - * - * @return array an associative array with the information requested. - * A MDB2_Error object on failure. - * - * @see MDB2_Driver_Common::setOption() - */ - function tableInfo($result, $mode = null) - { - if (is_string($result)) { - return parent::tableInfo($result, $mode); - } - - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - $resource = MDB2::isResultCommon($result) ? $result->getResource() : $result; - if (!is_resource($resource)) { - return $db->raiseError(MDB2_ERROR_NEED_MORE_DATA, null, null, - 'Could not generate result resource', __FUNCTION__); - } - - if ($db->options['portability'] & MDB2_PORTABILITY_FIX_CASE) { - if ($db->options['field_case'] == CASE_LOWER) { - $case_func = 'strtolower'; - } else { - $case_func = 'strtoupper'; - } - } else { - $case_func = 'strval'; - } - - $count = @mysql_num_fields($resource); - $res = array(); - if ($mode) { - $res['num_fields'] = $count; - } - - $db->loadModule('Datatype', null, true); - for ($i = 0; $i < $count; $i++) { - $res[$i] = array( - 'table' => $case_func(@mysql_field_table($resource, $i)), - 'name' => $case_func(@mysql_field_name($resource, $i)), - 'type' => @mysql_field_type($resource, $i), - 'length' => @mysql_field_len($resource, $i), - 'flags' => @mysql_field_flags($resource, $i), - ); - if ($res[$i]['type'] == 'string') { - $res[$i]['type'] = 'char'; - } elseif ($res[$i]['type'] == 'unknown') { - $res[$i]['type'] = 'decimal'; - } - $mdb2type_info = $db->datatype->mapNativeDatatype($res[$i]); - if (PEAR::isError($mdb2type_info)) { - return $mdb2type_info; - } - $res[$i]['mdb2type'] = $mdb2type_info[0][0]; - if ($mode & MDB2_TABLEINFO_ORDER) { - $res['order'][$res[$i]['name']] = $i; - } - if ($mode & MDB2_TABLEINFO_ORDERTABLE) { - $res['ordertable'][$res[$i]['table']][$res[$i]['name']] = $i; - } - } - - return $res; - } -} -?> \ No newline at end of file diff --git a/3rdparty/MDB2/Driver/Reverse/oci8.php b/3rdparty/MDB2/Driver/Reverse/oci8.php deleted file mode 100644 index d89ad771374b3d631a1e7c1877ed2e83c3e4c14b..0000000000000000000000000000000000000000 --- a/3rdparty/MDB2/Driver/Reverse/oci8.php +++ /dev/null @@ -1,625 +0,0 @@ - | -// | Lorenzo Alberton | -// +----------------------------------------------------------------------+ -// -// $Id: oci8.php 295587 2010-02-28 17:16:38Z quipo $ -// - -require_once 'MDB2/Driver/Reverse/Common.php'; - -/** - * MDB2 Oracle driver for the schema reverse engineering module - * - * @package MDB2 - * @category Database - * @author Lukas Smith - */ -class MDB2_Driver_Reverse_oci8 extends MDB2_Driver_Reverse_Common -{ - // {{{ getTableFieldDefinition() - - /** - * Get the structure of a field into an array - * - * @param string $table_name name of table that should be used in method - * @param string $field_name name of field that should be used in method - * @return mixed data array on success, a MDB2 error on failure - * @access public - */ - function getTableFieldDefinition($table_name, $field_name) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - $result = $db->loadModule('Datatype', null, true); - if (PEAR::isError($result)) { - return $result; - } - - list($owner, $table) = $this->splitTableSchema($table_name); - if (empty($owner)) { - $owner = $db->dsn['username']; - } - - $query = 'SELECT column_name AS "name", - data_type AS "type", - nullable AS "nullable", - data_default AS "default", - COALESCE(data_precision, data_length) AS "length", - data_scale AS "scale" - FROM all_tab_columns - WHERE (table_name=? OR table_name=?) - AND (owner=? OR owner=?) - AND (column_name=? OR column_name=?) - ORDER BY column_id'; - $stmt = $db->prepare($query); - if (PEAR::isError($stmt)) { - return $stmt; - } - $args = array( - $table, - strtoupper($table), - $owner, - strtoupper($owner), - $field_name, - strtoupper($field_name) - ); - $result = $stmt->execute($args); - if (PEAR::isError($result)) { - return $result; - } - $column = $result->fetchRow(MDB2_FETCHMODE_ASSOC); - if (PEAR::isError($column)) { - return $column; - } - $stmt->free(); - $result->free(); - - if (empty($column)) { - return $db->raiseError(MDB2_ERROR_NOT_FOUND, null, null, - $field_name . ' is not a column in table ' . $table_name, __FUNCTION__); - } - - $column = array_change_key_case($column, CASE_LOWER); - if ($db->options['portability'] & MDB2_PORTABILITY_FIX_CASE) { - if ($db->options['field_case'] == CASE_LOWER) { - $column['name'] = strtolower($column['name']); - } else { - $column['name'] = strtoupper($column['name']); - } - } - $mapped_datatype = $db->datatype->mapNativeDatatype($column); - if (PEAR::isError($mapped_datatype)) { - return $mapped_datatype; - } - list($types, $length, $unsigned, $fixed) = $mapped_datatype; - $notnull = false; - if (!empty($column['nullable']) && $column['nullable'] == 'N') { - $notnull = true; - } - $default = false; - if (array_key_exists('default', $column)) { - $default = $column['default']; - if ($default === 'NULL') { - $default = null; - } - //ugly hack, but works for the reverse direction - if ($default == "''") { - $default = ''; - } - if ((null === $default) && $notnull) { - $default = ''; - } - } - - $definition[0] = array('notnull' => $notnull, 'nativetype' => $column['type']); - if (null !== $length) { - $definition[0]['length'] = $length; - } - if (null !== $unsigned) { - $definition[0]['unsigned'] = $unsigned; - } - if (null !== $fixed) { - $definition[0]['fixed'] = $fixed; - } - if ($default !== false) { - $definition[0]['default'] = $default; - } - foreach ($types as $key => $type) { - $definition[$key] = $definition[0]; - if ($type == 'clob' || $type == 'blob') { - unset($definition[$key]['default']); - } - $definition[$key]['type'] = $type; - $definition[$key]['mdb2type'] = $type; - } - if ($type == 'integer') { - $query= "SELECT trigger_body - FROM all_triggers - WHERE table_name=? - AND triggering_event='INSERT' - AND trigger_type='BEFORE EACH ROW'"; - // ^^ pretty reasonable mimic for "auto_increment" in oracle? - $stmt = $db->prepare($query); - if (PEAR::isError($stmt)) { - return $stmt; - } - $result = $stmt->execute(strtoupper($table)); - if (PEAR::isError($result)) { - return $result; - } - while ($triggerstr = $result->fetchOne()) { - if (preg_match('/.*SELECT\W+(.+)\.nextval +into +\:NEW\.'.$field_name.' +FROM +dual/im', $triggerstr, $matches)) { - $definition[0]['autoincrement'] = $matches[1]; - } - } - $stmt->free(); - $result->free(); - } - return $definition; - } - - // }}} - // {{{ getTableIndexDefinition() - - /** - * Get the structure of an index into an array - * - * @param string $table_name name of table that should be used in method - * @param string $index_name name of index that should be used in method - * @return mixed data array on success, a MDB2 error on failure - * @access public - */ - function getTableIndexDefinition($table_name, $index_name) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - list($owner, $table) = $this->splitTableSchema($table_name); - if (empty($owner)) { - $owner = $db->dsn['username']; - } - - $query = 'SELECT aic.column_name AS "column_name", - aic.column_position AS "column_position", - aic.descend AS "descend", - aic.table_owner AS "table_owner", - alc.constraint_type AS "constraint_type" - FROM all_ind_columns aic - LEFT JOIN all_constraints alc - ON aic.index_name = alc.constraint_name - AND aic.table_name = alc.table_name - AND aic.table_owner = alc.owner - WHERE (aic.table_name=? OR aic.table_name=?) - AND (aic.index_name=? OR aic.index_name=?) - AND (aic.table_owner=? OR aic.table_owner=?) - ORDER BY column_position'; - $stmt = $db->prepare($query); - if (PEAR::isError($stmt)) { - return $stmt; - } - $indexnames = array_unique(array($db->getIndexName($index_name), $index_name)); - $i = 0; - $row = null; - while ((null === $row) && array_key_exists($i, $indexnames)) { - $args = array( - $table, - strtoupper($table), - $indexnames[$i], - strtoupper($indexnames[$i]), - $owner, - strtoupper($owner) - ); - $result = $stmt->execute($args); - if (PEAR::isError($result)) { - return $result; - } - $row = $result->fetchRow(MDB2_FETCHMODE_ASSOC); - if (PEAR::isError($row)) { - return $row; - } - $i++; - } - if (null === $row) { - return $db->raiseError(MDB2_ERROR_NOT_FOUND, null, null, - $index_name. ' is not an index on table '. $table_name, __FUNCTION__); - } - if ($row['constraint_type'] == 'U' || $row['constraint_type'] == 'P') { - return $db->raiseError(MDB2_ERROR_NOT_FOUND, null, null, - $index_name. ' is a constraint, not an index on table '. $table_name, __FUNCTION__); - } - - $definition = array(); - while (null !== $row) { - $row = array_change_key_case($row, CASE_LOWER); - $column_name = $row['column_name']; - if ($db->options['portability'] & MDB2_PORTABILITY_FIX_CASE) { - if ($db->options['field_case'] == CASE_LOWER) { - $column_name = strtolower($column_name); - } else { - $column_name = strtoupper($column_name); - } - } - $definition['fields'][$column_name] = array( - 'position' => (int)$row['column_position'], - ); - if (!empty($row['descend'])) { - $definition['fields'][$column_name]['sorting'] = - ($row['descend'] == 'ASC' ? 'ascending' : 'descending'); - } - $row = $result->fetchRow(MDB2_FETCHMODE_ASSOC); - } - $result->free(); - if (empty($definition['fields'])) { - return $db->raiseError(MDB2_ERROR_NOT_FOUND, null, null, - $index_name. ' is not an index on table '. $table_name, __FUNCTION__); - } - return $definition; - } - - // }}} - // {{{ getTableConstraintDefinition() - - /** - * Get the structure of a constraint into an array - * - * @param string $table_name name of table that should be used in method - * @param string $constraint_name name of constraint that should be used in method - * @return mixed data array on success, a MDB2 error on failure - * @access public - */ - function getTableConstraintDefinition($table_name, $constraint_name) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - list($owner, $table) = $this->splitTableSchema($table_name); - if (empty($owner)) { - $owner = $db->dsn['username']; - } - - $query = 'SELECT alc.constraint_name, - CASE alc.constraint_type WHEN \'P\' THEN 1 ELSE 0 END "primary", - CASE alc.constraint_type WHEN \'R\' THEN 1 ELSE 0 END "foreign", - CASE alc.constraint_type WHEN \'U\' THEN 1 ELSE 0 END "unique", - CASE alc.constraint_type WHEN \'C\' THEN 1 ELSE 0 END "check", - alc.DELETE_RULE "ondelete", - \'NO ACTION\' "onupdate", - \'SIMPLE\' "match", - CASE alc.deferrable WHEN \'NOT DEFERRABLE\' THEN 0 ELSE 1 END "deferrable", - CASE alc.deferred WHEN \'IMMEDIATE\' THEN 0 ELSE 1 END "initiallydeferred", - alc.search_condition AS "search_condition", - alc.table_name, - cols.column_name AS "column_name", - cols.position, - r_alc.table_name "references_table", - r_cols.column_name "references_field", - r_cols.position "references_field_position" - FROM all_cons_columns cols - LEFT JOIN all_constraints alc - ON alc.constraint_name = cols.constraint_name - AND alc.owner = cols.owner - LEFT JOIN all_constraints r_alc - ON alc.r_constraint_name = r_alc.constraint_name - AND alc.r_owner = r_alc.owner - LEFT JOIN all_cons_columns r_cols - ON r_alc.constraint_name = r_cols.constraint_name - AND r_alc.owner = r_cols.owner - AND cols.position = r_cols.position - WHERE (alc.constraint_name=? OR alc.constraint_name=?) - AND alc.constraint_name = cols.constraint_name - AND (alc.owner=? OR alc.owner=?)'; - $tablenames = array(); - if (!empty($table)) { - $query.= ' AND (alc.table_name=? OR alc.table_name=?)'; - $tablenames = array($table, strtoupper($table)); - } - $stmt = $db->prepare($query); - if (PEAR::isError($stmt)) { - return $stmt; - } - - $constraintnames = array_unique(array($db->getIndexName($constraint_name), $constraint_name)); - $c = 0; - $row = null; - while ((null === $row) && array_key_exists($c, $constraintnames)) { - $args = array( - $constraintnames[$c], - strtoupper($constraintnames[$c]), - $owner, - strtoupper($owner) - ); - if (!empty($table)) { - $args = array_merge($args, $tablenames); - } - $result = $stmt->execute($args); - if (PEAR::isError($result)) { - return $result; - } - $row = $result->fetchRow(MDB2_FETCHMODE_ASSOC); - if (PEAR::isError($row)) { - return $row; - } - $c++; - } - - $definition = array( - 'primary' => (boolean)$row['primary'], - 'unique' => (boolean)$row['unique'], - 'foreign' => (boolean)$row['foreign'], - 'check' => (boolean)$row['check'], - 'deferrable' => (boolean)$row['deferrable'], - 'initiallydeferred' => (boolean)$row['initiallydeferred'], - 'ondelete' => $row['ondelete'], - 'onupdate' => $row['onupdate'], - 'match' => $row['match'], - ); - - if ($definition['check']) { - // pattern match constraint for check constraint values into enum-style output: - $enumregex = '/'.$row['column_name'].' in \((.+?)\)/i'; - if (preg_match($enumregex, $row['search_condition'], $rangestr)) { - $definition['fields'][$column_name] = array(); - $allowed = explode(',', $rangestr[1]); - foreach ($allowed as $val) { - $val = trim($val); - $val = preg_replace('/^\'/', '', $val); - $val = preg_replace('/\'$/', '', $val); - array_push($definition['fields'][$column_name], $val); - } - } - } - - while (null !== $row) { - $row = array_change_key_case($row, CASE_LOWER); - $column_name = $row['column_name']; - if ($db->options['portability'] & MDB2_PORTABILITY_FIX_CASE) { - if ($db->options['field_case'] == CASE_LOWER) { - $column_name = strtolower($column_name); - } else { - $column_name = strtoupper($column_name); - } - } - $definition['fields'][$column_name] = array( - 'position' => (int)$row['position'] - ); - if ($row['foreign']) { - $ref_column_name = $row['references_field']; - $ref_table_name = $row['references_table']; - if ($db->options['portability'] & MDB2_PORTABILITY_FIX_CASE) { - if ($db->options['field_case'] == CASE_LOWER) { - $ref_column_name = strtolower($ref_column_name); - $ref_table_name = strtolower($ref_table_name); - } else { - $ref_column_name = strtoupper($ref_column_name); - $ref_table_name = strtoupper($ref_table_name); - } - } - $definition['references']['table'] = $ref_table_name; - $definition['references']['fields'][$ref_column_name] = array( - 'position' => (int)$row['references_field_position'] - ); - } - $lastrow = $row; - $row = $result->fetchRow(MDB2_FETCHMODE_ASSOC); - } - $result->free(); - if (empty($definition['fields'])) { - return $db->raiseError(MDB2_ERROR_NOT_FOUND, null, null, - $constraint_name . ' is not a constraint on table '. $table_name, __FUNCTION__); - } - - return $definition; - } - - // }}} - // {{{ getSequenceDefinition() - - /** - * Get the structure of a sequence into an array - * - * @param string $sequence name of sequence that should be used in method - * @return mixed data array on success, a MDB2 error on failure - * @access public - */ - function getSequenceDefinition($sequence) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - $sequence_name = $db->getSequenceName($sequence); - $query = 'SELECT last_number FROM user_sequences'; - $query.= ' WHERE sequence_name='.$db->quote($sequence_name, 'text'); - $query.= ' OR sequence_name='.$db->quote(strtoupper($sequence_name), 'text'); - $start = $db->queryOne($query, 'integer'); - if (PEAR::isError($start)) { - return $start; - } - $definition = array(); - if ($start != 1) { - $definition = array('start' => $start); - } - return $definition; - } - - // }}} - // {{{ getTriggerDefinition() - - /** - * Get the structure of a trigger into an array - * - * EXPERIMENTAL - * - * WARNING: this function is experimental and may change the returned value - * at any time until labelled as non-experimental - * - * @param string $trigger name of trigger that should be used in method - * @return mixed data array on success, a MDB2 error on failure - * @access public - */ - function getTriggerDefinition($trigger) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - $query = 'SELECT trigger_name AS "trigger_name", - table_name AS "table_name", - trigger_body AS "trigger_body", - trigger_type AS "trigger_type", - triggering_event AS "trigger_event", - description AS "trigger_comment", - 1 AS "trigger_enabled", - when_clause AS "when_clause" - FROM user_triggers - WHERE trigger_name = \''. strtoupper($trigger).'\''; - $types = array( - 'trigger_name' => 'text', - 'table_name' => 'text', - 'trigger_body' => 'text', - 'trigger_type' => 'text', - 'trigger_event' => 'text', - 'trigger_comment' => 'text', - 'trigger_enabled' => 'boolean', - 'when_clause' => 'text', - ); - $result = $db->queryRow($query, $types, MDB2_FETCHMODE_ASSOC); - if (PEAR::isError($result)) { - return $result; - } - if (!empty($result['trigger_type'])) { - //$result['trigger_type'] = array_shift(explode(' ', $result['trigger_type'])); - $result['trigger_type'] = preg_replace('/(\S+).*/', '\\1', $result['trigger_type']); - } - return $result; - } - - // }}} - // {{{ tableInfo() - - /** - * Returns information about a table or a result set - * - * NOTE: only supports 'table' and 'flags' if $result - * is a table name. - * - * NOTE: flags won't contain index information. - * - * @param object|string $result MDB2_result object from a query or a - * string containing the name of a table. - * While this also accepts a query result - * resource identifier, this behavior is - * deprecated. - * @param int $mode a valid tableInfo mode - * - * @return array an associative array with the information requested. - * A MDB2_Error object on failure. - * - * @see MDB2_Driver_Common::tableInfo() - */ - function tableInfo($result, $mode = null) - { - if (is_string($result)) { - return parent::tableInfo($result, $mode); - } - - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - $resource = MDB2::isResultCommon($result) ? $result->getResource() : $result; - if (!is_resource($resource)) { - return $db->raiseError(MDB2_ERROR_NEED_MORE_DATA, null, null, - 'Could not generate result resource', __FUNCTION__); - } - - if ($db->options['portability'] & MDB2_PORTABILITY_FIX_CASE) { - if ($db->options['field_case'] == CASE_LOWER) { - $case_func = 'strtolower'; - } else { - $case_func = 'strtoupper'; - } - } else { - $case_func = 'strval'; - } - - $count = @OCINumCols($resource); - $res = array(); - - if ($mode) { - $res['num_fields'] = $count; - } - - $db->loadModule('Datatype', null, true); - for ($i = 0; $i < $count; $i++) { - $column = array( - 'table' => '', - 'name' => $case_func(@OCIColumnName($resource, $i+1)), - 'type' => @OCIColumnType($resource, $i+1), - 'length' => @OCIColumnSize($resource, $i+1), - 'flags' => '', - ); - $res[$i] = $column; - $res[$i]['mdb2type'] = $db->datatype->mapNativeDatatype($res[$i]); - if ($mode & MDB2_TABLEINFO_ORDER) { - $res['order'][$res[$i]['name']] = $i; - } - if ($mode & MDB2_TABLEINFO_ORDERTABLE) { - $res['ordertable'][$res[$i]['table']][$res[$i]['name']] = $i; - } - } - return $res; - } -} -?> \ No newline at end of file diff --git a/3rdparty/MDB2/Driver/Reverse/pgsql.php b/3rdparty/MDB2/Driver/Reverse/pgsql.php deleted file mode 100644 index eab02f9b9988dc8b9885d6d1fb5aab0ec94586f1..0000000000000000000000000000000000000000 --- a/3rdparty/MDB2/Driver/Reverse/pgsql.php +++ /dev/null @@ -1,574 +0,0 @@ - | -// | Lorenzo Alberton | -// +----------------------------------------------------------------------+ -// -// $Id$ - -require_once 'MDB2/Driver/Reverse/Common.php'; - -/** - * MDB2 PostGreSQL driver for the schema reverse engineering module - * - * @package MDB2 - * @category Database - * @author Paul Cooper - * @author Lorenzo Alberton - */ -class MDB2_Driver_Reverse_pgsql extends MDB2_Driver_Reverse_Common -{ - // {{{ getTableFieldDefinition() - - /** - * Get the structure of a field into an array - * - * @param string $table_name name of table that should be used in method - * @param string $field_name name of field that should be used in method - * @return mixed data array on success, a MDB2 error on failure - * @access public - */ - function getTableFieldDefinition($table_name, $field_name) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - $result = $db->loadModule('Datatype', null, true); - if (PEAR::isError($result)) { - return $result; - } - - list($schema, $table) = $this->splitTableSchema($table_name); - - $query = "SELECT a.attname AS name, - t.typname AS type, - CASE a.attlen - WHEN -1 THEN - CASE t.typname - WHEN 'numeric' THEN (a.atttypmod / 65536) - WHEN 'decimal' THEN (a.atttypmod / 65536) - WHEN 'money' THEN (a.atttypmod / 65536) - ELSE CASE a.atttypmod - WHEN -1 THEN NULL - ELSE a.atttypmod - 4 - END - END - ELSE a.attlen - END AS length, - CASE t.typname - WHEN 'numeric' THEN (a.atttypmod % 65536) - 4 - WHEN 'decimal' THEN (a.atttypmod % 65536) - 4 - WHEN 'money' THEN (a.atttypmod % 65536) - 4 - ELSE 0 - END AS scale, - a.attnotnull, - a.atttypmod, - a.atthasdef, - (SELECT substring(pg_get_expr(d.adbin, d.adrelid) for 128) - FROM pg_attrdef d - WHERE d.adrelid = a.attrelid - AND d.adnum = a.attnum - AND a.atthasdef - ) as default - FROM pg_attribute a, - pg_class c, - pg_type t - WHERE c.relname = ".$db->quote($table, 'text')." - AND a.atttypid = t.oid - AND c.oid = a.attrelid - AND NOT a.attisdropped - AND a.attnum > 0 - AND a.attname = ".$db->quote($field_name, 'text')." - ORDER BY a.attnum"; - $column = $db->queryRow($query, null, MDB2_FETCHMODE_ASSOC); - if (PEAR::isError($column)) { - return $column; - } - - if (empty($column)) { - return $db->raiseError(MDB2_ERROR_NOT_FOUND, null, null, - 'it was not specified an existing table column', __FUNCTION__); - } - - $column = array_change_key_case($column, CASE_LOWER); - $mapped_datatype = $db->datatype->mapNativeDatatype($column); - if (PEAR::isError($mapped_datatype)) { - return $mapped_datatype; - } - list($types, $length, $unsigned, $fixed) = $mapped_datatype; - $notnull = false; - if (!empty($column['attnotnull']) && $column['attnotnull'] == 't') { - $notnull = true; - } - $default = null; - if ($column['atthasdef'] === 't' - && strpos($column['default'], 'NULL') !== 0 - && !preg_match("/nextval\('([^']+)'/", $column['default']) - ) { - $pattern = '/^\'(.*)\'::[\w ]+$/i'; - $default = $column['default'];#substr($column['adsrc'], 1, -1); - if ((null === $default) && $notnull) { - $default = ''; - } elseif (!empty($default) && preg_match($pattern, $default)) { - //remove data type cast - $default = preg_replace ($pattern, '\\1', $default); - } - } - $autoincrement = false; - if (preg_match("/nextval\('([^']+)'/", $column['default'], $nextvals)) { - $autoincrement = true; - } - $definition[0] = array('notnull' => $notnull, 'nativetype' => $column['type']); - if (null !== $length) { - $definition[0]['length'] = $length; - } - if (null !== $unsigned) { - $definition[0]['unsigned'] = $unsigned; - } - if (null !== $fixed) { - $definition[0]['fixed'] = $fixed; - } - if ($default !== false) { - $definition[0]['default'] = $default; - } - if ($autoincrement !== false) { - $definition[0]['autoincrement'] = $autoincrement; - } - foreach ($types as $key => $type) { - $definition[$key] = $definition[0]; - if ($type == 'clob' || $type == 'blob') { - unset($definition[$key]['default']); - } - $definition[$key]['type'] = $type; - $definition[$key]['mdb2type'] = $type; - } - return $definition; - } - - // }}} - // {{{ getTableIndexDefinition() - - /** - * Get the structure of an index into an array - * - * @param string $table_name name of table that should be used in method - * @param string $index_name name of index that should be used in method - * @return mixed data array on success, a MDB2 error on failure - * @access public - */ - function getTableIndexDefinition($table_name, $index_name) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - list($schema, $table) = $this->splitTableSchema($table_name); - - $query = 'SELECT relname, indkey FROM pg_index, pg_class'; - $query.= ' WHERE pg_class.oid = pg_index.indexrelid'; - $query.= " AND indisunique != 't' AND indisprimary != 't'"; - $query.= ' AND pg_class.relname = %s'; - $index_name_mdb2 = $db->getIndexName($index_name); - $row = $db->queryRow(sprintf($query, $db->quote($index_name_mdb2, 'text')), null, MDB2_FETCHMODE_ASSOC); - if (PEAR::isError($row) || empty($row)) { - // fallback to the given $index_name, without transformation - $row = $db->queryRow(sprintf($query, $db->quote($index_name, 'text')), null, MDB2_FETCHMODE_ASSOC); - } - if (PEAR::isError($row)) { - return $row; - } - - if (empty($row)) { - return $db->raiseError(MDB2_ERROR_NOT_FOUND, null, null, - 'it was not specified an existing table index', __FUNCTION__); - } - - $row = array_change_key_case($row, CASE_LOWER); - - $db->loadModule('Manager', null, true); - $columns = $db->manager->listTableFields($table_name); - - $definition = array(); - - $index_column_numbers = explode(' ', $row['indkey']); - - $colpos = 1; - foreach ($index_column_numbers as $number) { - $definition['fields'][$columns[($number - 1)]] = array( - 'position' => $colpos++, - 'sorting' => 'ascending', - ); - } - return $definition; - } - - // }}} - // {{{ getTableConstraintDefinition() - - /** - * Get the structure of a constraint into an array - * - * @param string $table_name name of table that should be used in method - * @param string $constraint_name name of constraint that should be used in method - * @return mixed data array on success, a MDB2 error on failure - * @access public - */ - function getTableConstraintDefinition($table_name, $constraint_name) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - list($schema, $table) = $this->splitTableSchema($table_name); - - $query = "SELECT c.oid, - c.conname AS constraint_name, - CASE WHEN c.contype = 'c' THEN 1 ELSE 0 END AS \"check\", - CASE WHEN c.contype = 'f' THEN 1 ELSE 0 END AS \"foreign\", - CASE WHEN c.contype = 'p' THEN 1 ELSE 0 END AS \"primary\", - CASE WHEN c.contype = 'u' THEN 1 ELSE 0 END AS \"unique\", - CASE WHEN c.condeferrable = 'f' THEN 0 ELSE 1 END AS deferrable, - CASE WHEN c.condeferred = 'f' THEN 0 ELSE 1 END AS initiallydeferred, - --array_to_string(c.conkey, ' ') AS constraint_key, - t.relname AS table_name, - t2.relname AS references_table, - CASE confupdtype - WHEN 'a' THEN 'NO ACTION' - WHEN 'r' THEN 'RESTRICT' - WHEN 'c' THEN 'CASCADE' - WHEN 'n' THEN 'SET NULL' - WHEN 'd' THEN 'SET DEFAULT' - END AS onupdate, - CASE confdeltype - WHEN 'a' THEN 'NO ACTION' - WHEN 'r' THEN 'RESTRICT' - WHEN 'c' THEN 'CASCADE' - WHEN 'n' THEN 'SET NULL' - WHEN 'd' THEN 'SET DEFAULT' - END AS ondelete, - CASE confmatchtype - WHEN 'u' THEN 'UNSPECIFIED' - WHEN 'f' THEN 'FULL' - WHEN 'p' THEN 'PARTIAL' - END AS match, - --array_to_string(c.confkey, ' ') AS fk_constraint_key, - consrc - FROM pg_constraint c - LEFT JOIN pg_class t ON c.conrelid = t.oid - LEFT JOIN pg_class t2 ON c.confrelid = t2.oid - WHERE c.conname = %s - AND t.relname = " . $db->quote($table, 'text'); - $constraint_name_mdb2 = $db->getIndexName($constraint_name); - $row = $db->queryRow(sprintf($query, $db->quote($constraint_name_mdb2, 'text')), null, MDB2_FETCHMODE_ASSOC); - if (PEAR::isError($row) || empty($row)) { - // fallback to the given $index_name, without transformation - $constraint_name_mdb2 = $constraint_name; - $row = $db->queryRow(sprintf($query, $db->quote($constraint_name_mdb2, 'text')), null, MDB2_FETCHMODE_ASSOC); - } - if (PEAR::isError($row)) { - return $row; - } - $uniqueIndex = false; - if (empty($row)) { - // We might be looking for a UNIQUE index that was not created - // as a constraint but should be treated as such. - $query = 'SELECT relname AS constraint_name, - indkey, - 0 AS "check", - 0 AS "foreign", - 0 AS "primary", - 1 AS "unique", - 0 AS deferrable, - 0 AS initiallydeferred, - NULL AS references_table, - NULL AS onupdate, - NULL AS ondelete, - NULL AS match - FROM pg_index, pg_class - WHERE pg_class.oid = pg_index.indexrelid - AND indisunique = \'t\' - AND pg_class.relname = %s'; - $constraint_name_mdb2 = $db->getIndexName($constraint_name); - $row = $db->queryRow(sprintf($query, $db->quote($constraint_name_mdb2, 'text')), null, MDB2_FETCHMODE_ASSOC); - if (PEAR::isError($row) || empty($row)) { - // fallback to the given $index_name, without transformation - $constraint_name_mdb2 = $constraint_name; - $row = $db->queryRow(sprintf($query, $db->quote($constraint_name_mdb2, 'text')), null, MDB2_FETCHMODE_ASSOC); - } - if (PEAR::isError($row)) { - return $row; - } - if (empty($row)) { - return $db->raiseError(MDB2_ERROR_NOT_FOUND, null, null, - $constraint_name . ' is not an existing table constraint', __FUNCTION__); - } - $uniqueIndex = true; - } - - $row = array_change_key_case($row, CASE_LOWER); - - $definition = array( - 'primary' => (boolean)$row['primary'], - 'unique' => (boolean)$row['unique'], - 'foreign' => (boolean)$row['foreign'], - 'check' => (boolean)$row['check'], - 'fields' => array(), - 'references' => array( - 'table' => $row['references_table'], - 'fields' => array(), - ), - 'deferrable' => (boolean)$row['deferrable'], - 'initiallydeferred' => (boolean)$row['initiallydeferred'], - 'onupdate' => $row['onupdate'], - 'ondelete' => $row['ondelete'], - 'match' => $row['match'], - ); - - if ($uniqueIndex) { - $db->loadModule('Manager', null, true); - $columns = $db->manager->listTableFields($table_name); - $index_column_numbers = explode(' ', $row['indkey']); - $colpos = 1; - foreach ($index_column_numbers as $number) { - $definition['fields'][$columns[($number - 1)]] = array( - 'position' => $colpos++, - 'sorting' => 'ascending', - ); - } - return $definition; - } - - $query = 'SELECT a.attname - FROM pg_constraint c - LEFT JOIN pg_class t ON c.conrelid = t.oid - LEFT JOIN pg_attribute a ON a.attrelid = t.oid AND a.attnum = ANY(c.conkey) - WHERE c.conname = %s - AND t.relname = ' . $db->quote($table, 'text'); - $fields = $db->queryCol(sprintf($query, $db->quote($constraint_name_mdb2, 'text')), null); - if (PEAR::isError($fields)) { - return $fields; - } - $colpos = 1; - foreach ($fields as $field) { - $definition['fields'][$field] = array( - 'position' => $colpos++, - 'sorting' => 'ascending', - ); - } - - if ($definition['foreign']) { - $query = 'SELECT a.attname - FROM pg_constraint c - LEFT JOIN pg_class t ON c.confrelid = t.oid - LEFT JOIN pg_attribute a ON a.attrelid = t.oid AND a.attnum = ANY(c.confkey) - WHERE c.conname = %s - AND t.relname = ' . $db->quote($definition['references']['table'], 'text'); - $foreign_fields = $db->queryCol(sprintf($query, $db->quote($constraint_name_mdb2, 'text')), null); - if (PEAR::isError($foreign_fields)) { - return $foreign_fields; - } - $colpos = 1; - foreach ($foreign_fields as $foreign_field) { - $definition['references']['fields'][$foreign_field] = array( - 'position' => $colpos++, - ); - } - } - - if ($definition['check']) { - $check_def = $db->queryOne("SELECT pg_get_constraintdef(" . $row['oid'] . ", 't')"); - // ... - } - return $definition; - } - - // }}} - // {{{ getTriggerDefinition() - - /** - * Get the structure of a trigger into an array - * - * EXPERIMENTAL - * - * WARNING: this function is experimental and may change the returned value - * at any time until labelled as non-experimental - * - * @param string $trigger name of trigger that should be used in method - * @return mixed data array on success, a MDB2 error on failure - * @access public - * - * @TODO: add support for plsql functions and functions with args - */ - function getTriggerDefinition($trigger) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - $query = "SELECT trg.tgname AS trigger_name, - tbl.relname AS table_name, - CASE - WHEN p.proname IS NOT NULL THEN 'EXECUTE PROCEDURE ' || p.proname || '();' - ELSE '' - END AS trigger_body, - CASE trg.tgtype & cast(2 as int2) - WHEN 0 THEN 'AFTER' - ELSE 'BEFORE' - END AS trigger_type, - CASE trg.tgtype & cast(28 as int2) - WHEN 16 THEN 'UPDATE' - WHEN 8 THEN 'DELETE' - WHEN 4 THEN 'INSERT' - WHEN 20 THEN 'INSERT, UPDATE' - WHEN 28 THEN 'INSERT, UPDATE, DELETE' - WHEN 24 THEN 'UPDATE, DELETE' - WHEN 12 THEN 'INSERT, DELETE' - END AS trigger_event, - CASE trg.tgenabled - WHEN 'O' THEN 't' - ELSE trg.tgenabled - END AS trigger_enabled, - obj_description(trg.oid, 'pg_trigger') AS trigger_comment - FROM pg_trigger trg, - pg_class tbl, - pg_proc p - WHERE trg.tgrelid = tbl.oid - AND trg.tgfoid = p.oid - AND trg.tgname = ". $db->quote($trigger, 'text'); - $types = array( - 'trigger_name' => 'text', - 'table_name' => 'text', - 'trigger_body' => 'text', - 'trigger_type' => 'text', - 'trigger_event' => 'text', - 'trigger_comment' => 'text', - 'trigger_enabled' => 'boolean', - ); - return $db->queryRow($query, $types, MDB2_FETCHMODE_ASSOC); - } - - // }}} - // {{{ tableInfo() - - /** - * Returns information about a table or a result set - * - * NOTE: only supports 'table' and 'flags' if $result - * is a table name. - * - * @param object|string $result MDB2_result object from a query or a - * string containing the name of a table. - * While this also accepts a query result - * resource identifier, this behavior is - * deprecated. - * @param int $mode a valid tableInfo mode - * - * @return array an associative array with the information requested. - * A MDB2_Error object on failure. - * - * @see MDB2_Driver_Common::tableInfo() - */ - function tableInfo($result, $mode = null) - { - if (is_string($result)) { - return parent::tableInfo($result, $mode); - } - - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - $resource = MDB2::isResultCommon($result) ? $result->getResource() : $result; - if (!is_resource($resource)) { - return $db->raiseError(MDB2_ERROR_NEED_MORE_DATA, null, null, - 'Could not generate result resource', __FUNCTION__); - } - - if ($db->options['portability'] & MDB2_PORTABILITY_FIX_CASE) { - if ($db->options['field_case'] == CASE_LOWER) { - $case_func = 'strtolower'; - } else { - $case_func = 'strtoupper'; - } - } else { - $case_func = 'strval'; - } - - $count = @pg_num_fields($resource); - $res = array(); - - if ($mode) { - $res['num_fields'] = $count; - } - - $db->loadModule('Datatype', null, true); - for ($i = 0; $i < $count; $i++) { - $res[$i] = array( - 'table' => function_exists('pg_field_table') ? @pg_field_table($resource, $i) : '', - 'name' => $case_func(@pg_field_name($resource, $i)), - 'type' => @pg_field_type($resource, $i), - 'length' => @pg_field_size($resource, $i), - 'flags' => '', - ); - $mdb2type_info = $db->datatype->mapNativeDatatype($res[$i]); - if (PEAR::isError($mdb2type_info)) { - return $mdb2type_info; - } - $res[$i]['mdb2type'] = $mdb2type_info[0][0]; - if ($mode & MDB2_TABLEINFO_ORDER) { - $res['order'][$res[$i]['name']] = $i; - } - if ($mode & MDB2_TABLEINFO_ORDERTABLE) { - $res['ordertable'][$res[$i]['table']][$res[$i]['name']] = $i; - } - } - - return $res; - } -} -?> \ No newline at end of file diff --git a/3rdparty/MDB2/Driver/Reverse/sqlite.php b/3rdparty/MDB2/Driver/Reverse/sqlite.php deleted file mode 100644 index 811400480fef23e3bd6dbee94b0599d478e2854c..0000000000000000000000000000000000000000 --- a/3rdparty/MDB2/Driver/Reverse/sqlite.php +++ /dev/null @@ -1,611 +0,0 @@ - | -// | Lorenzo Alberton | -// +----------------------------------------------------------------------+ -// -// $Id$ -// - -require_once 'MDB2/Driver/Reverse/Common.php'; - -/** - * MDB2 SQlite driver for the schema reverse engineering module - * - * @package MDB2 - * @category Database - * @author Lukas Smith - */ -class MDB2_Driver_Reverse_sqlite extends MDB2_Driver_Reverse_Common -{ - /** - * Remove SQL comments from the field definition - * - * @access private - */ - function _removeComments($sql) { - $lines = explode("\n", $sql); - foreach ($lines as $k => $line) { - $pieces = explode('--', $line); - if (count($pieces) > 1 && (substr_count($pieces[0], '\'') % 2) == 0) { - $lines[$k] = substr($line, 0, strpos($line, '--')); - } - } - return implode("\n", $lines); - } - - /** - * - */ - function _getTableColumns($sql) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - $start_pos = strpos($sql, '('); - $end_pos = strrpos($sql, ')'); - $column_def = substr($sql, $start_pos+1, $end_pos-$start_pos-1); - // replace the decimal length-places-separator with a colon - $column_def = preg_replace('/(\d),(\d)/', '\1:\2', $column_def); - $column_def = $this->_removeComments($column_def); - $column_sql = explode(',', $column_def); - $columns = array(); - $count = count($column_sql); - if ($count == 0) { - return $db->raiseError(MDB2_ERROR_UNSUPPORTED, null, null, - 'unexpected empty table column definition list', __FUNCTION__); - } - $regexp = '/^\s*([^\s]+) +(CHAR|VARCHAR|VARCHAR2|TEXT|BOOLEAN|SMALLINT|INT|INTEGER|DECIMAL|TINYINT|BIGINT|DOUBLE|FLOAT|DATETIME|DATE|TIME|LONGTEXT|LONGBLOB)( ?\(([1-9][0-9]*)(:([1-9][0-9]*))?\))?( NULL| NOT NULL)?( UNSIGNED)?( NULL| NOT NULL)?( PRIMARY KEY)?( DEFAULT (\'[^\']*\'|[^ ]+))?( NULL| NOT NULL)?( PRIMARY KEY)?(\s*\-\-.*)?$/i'; - $regexp2 = '/^\s*([^ ]+) +(PRIMARY|UNIQUE|CHECK)$/i'; - for ($i=0, $j=0; $i<$count; ++$i) { - if (!preg_match($regexp, trim($column_sql[$i]), $matches)) { - if (!preg_match($regexp2, trim($column_sql[$i]))) { - continue; - } - return $db->raiseError(MDB2_ERROR_UNSUPPORTED, null, null, - 'unexpected table column SQL definition: "'.$column_sql[$i].'"', __FUNCTION__); - } - $columns[$j]['name'] = trim($matches[1], implode('', $db->identifier_quoting)); - $columns[$j]['type'] = strtolower($matches[2]); - if (isset($matches[4]) && strlen($matches[4])) { - $columns[$j]['length'] = $matches[4]; - } - if (isset($matches[6]) && strlen($matches[6])) { - $columns[$j]['decimal'] = $matches[6]; - } - if (isset($matches[8]) && strlen($matches[8])) { - $columns[$j]['unsigned'] = true; - } - if (isset($matches[9]) && strlen($matches[9])) { - $columns[$j]['autoincrement'] = true; - } - if (isset($matches[12]) && strlen($matches[12])) { - $default = $matches[12]; - if (strlen($default) && $default[0]=="'") { - $default = str_replace("''", "'", substr($default, 1, strlen($default)-2)); - } - if ($default === 'NULL') { - $default = null; - } - $columns[$j]['default'] = $default; - } else { - $columns[$j]['default'] = null; - } - if (isset($matches[7]) && strlen($matches[7])) { - $columns[$j]['notnull'] = ($matches[7] === ' NOT NULL'); - } else if (isset($matches[9]) && strlen($matches[9])) { - $columns[$j]['notnull'] = ($matches[9] === ' NOT NULL'); - } else if (isset($matches[13]) && strlen($matches[13])) { - $columns[$j]['notnull'] = ($matches[13] === ' NOT NULL'); - } - ++$j; - } - return $columns; - } - - // {{{ getTableFieldDefinition() - - /** - * Get the stucture of a field into an array - * - * @param string $table_name name of table that should be used in method - * @param string $field_name name of field that should be used in method - * @return mixed data array on success, a MDB2 error on failure. - * The returned array contains an array for each field definition, - * with (some of) these indices: - * [notnull] [nativetype] [length] [fixed] [default] [type] [mdb2type] - * @access public - */ - function getTableFieldDefinition($table_name, $field_name) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - list($schema, $table) = $this->splitTableSchema($table_name); - - $result = $db->loadModule('Datatype', null, true); - if (PEAR::isError($result)) { - return $result; - } - $query = "SELECT sql FROM sqlite_master WHERE type='table' AND "; - if ($db->options['portability'] & MDB2_PORTABILITY_FIX_CASE) { - $query.= 'LOWER(name)='.$db->quote(strtolower($table), 'text'); - } else { - $query.= 'name='.$db->quote($table, 'text'); - } - $sql = $db->queryOne($query); - if (PEAR::isError($sql)) { - return $sql; - } - $columns = $this->_getTableColumns($sql); - foreach ($columns as $column) { - if ($db->options['portability'] & MDB2_PORTABILITY_FIX_CASE) { - if ($db->options['field_case'] == CASE_LOWER) { - $column['name'] = strtolower($column['name']); - } else { - $column['name'] = strtoupper($column['name']); - } - } else { - $column = array_change_key_case($column, $db->options['field_case']); - } - if ($field_name == $column['name']) { - $mapped_datatype = $db->datatype->mapNativeDatatype($column); - if (PEAR::isError($mapped_datatype)) { - return $mapped_datatype; - } - list($types, $length, $unsigned, $fixed) = $mapped_datatype; - $notnull = false; - if (!empty($column['notnull'])) { - $notnull = $column['notnull']; - } - $default = false; - if (array_key_exists('default', $column)) { - $default = $column['default']; - if ((null === $default) && $notnull) { - $default = ''; - } - } - $autoincrement = false; - if (!empty($column['autoincrement'])) { - $autoincrement = true; - } - - $definition[0] = array( - 'notnull' => $notnull, - 'nativetype' => preg_replace('/^([a-z]+)[^a-z].*/i', '\\1', $column['type']) - ); - if (null !== $length) { - $definition[0]['length'] = $length; - } - if (null !== $unsigned) { - $definition[0]['unsigned'] = $unsigned; - } - if (null !== $fixed) { - $definition[0]['fixed'] = $fixed; - } - if ($default !== false) { - $definition[0]['default'] = $default; - } - if ($autoincrement !== false) { - $definition[0]['autoincrement'] = $autoincrement; - } - foreach ($types as $key => $type) { - $definition[$key] = $definition[0]; - if ($type == 'clob' || $type == 'blob') { - unset($definition[$key]['default']); - } - $definition[$key]['type'] = $type; - $definition[$key]['mdb2type'] = $type; - } - return $definition; - } - } - - return $db->raiseError(MDB2_ERROR_NOT_FOUND, null, null, - 'it was not specified an existing table column', __FUNCTION__); - } - - // }}} - // {{{ getTableIndexDefinition() - - /** - * Get the stucture of an index into an array - * - * @param string $table_name name of table that should be used in method - * @param string $index_name name of index that should be used in method - * @return mixed data array on success, a MDB2 error on failure - * @access public - */ - function getTableIndexDefinition($table_name, $index_name) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - list($schema, $table) = $this->splitTableSchema($table_name); - - $query = "SELECT sql FROM sqlite_master WHERE type='index' AND "; - if ($db->options['portability'] & MDB2_PORTABILITY_FIX_CASE) { - $query.= 'LOWER(name)=%s AND LOWER(tbl_name)=' . $db->quote(strtolower($table), 'text'); - } else { - $query.= 'name=%s AND tbl_name=' . $db->quote($table, 'text'); - } - $query.= ' AND sql NOT NULL ORDER BY name'; - $index_name_mdb2 = $db->getIndexName($index_name); - if ($db->options['portability'] & MDB2_PORTABILITY_FIX_CASE) { - $qry = sprintf($query, $db->quote(strtolower($index_name_mdb2), 'text')); - } else { - $qry = sprintf($query, $db->quote($index_name_mdb2, 'text')); - } - $sql = $db->queryOne($qry, 'text'); - if (PEAR::isError($sql) || empty($sql)) { - // fallback to the given $index_name, without transformation - if ($db->options['portability'] & MDB2_PORTABILITY_FIX_CASE) { - $qry = sprintf($query, $db->quote(strtolower($index_name), 'text')); - } else { - $qry = sprintf($query, $db->quote($index_name, 'text')); - } - $sql = $db->queryOne($qry, 'text'); - } - if (PEAR::isError($sql)) { - return $sql; - } - if (!$sql) { - return $db->raiseError(MDB2_ERROR_NOT_FOUND, null, null, - 'it was not specified an existing table index', __FUNCTION__); - } - - $sql = strtolower($sql); - $start_pos = strpos($sql, '('); - $end_pos = strrpos($sql, ')'); - $column_names = substr($sql, $start_pos+1, $end_pos-$start_pos-1); - $column_names = explode(',', $column_names); - - if (preg_match("/^create unique/", $sql)) { - return $db->raiseError(MDB2_ERROR_NOT_FOUND, null, null, - 'it was not specified an existing table index', __FUNCTION__); - } - - $definition = array(); - $count = count($column_names); - for ($i=0; $i<$count; ++$i) { - $column_name = strtok($column_names[$i], ' '); - $collation = strtok(' '); - $definition['fields'][$column_name] = array( - 'position' => $i+1 - ); - if (!empty($collation)) { - $definition['fields'][$column_name]['sorting'] = - ($collation=='ASC' ? 'ascending' : 'descending'); - } - } - - if (empty($definition['fields'])) { - return $db->raiseError(MDB2_ERROR_NOT_FOUND, null, null, - 'it was not specified an existing table index', __FUNCTION__); - } - return $definition; - } - - // }}} - // {{{ getTableConstraintDefinition() - - /** - * Get the stucture of a constraint into an array - * - * @param string $table_name name of table that should be used in method - * @param string $constraint_name name of constraint that should be used in method - * @return mixed data array on success, a MDB2 error on failure - * @access public - */ - function getTableConstraintDefinition($table_name, $constraint_name) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - list($schema, $table) = $this->splitTableSchema($table_name); - - $query = "SELECT sql FROM sqlite_master WHERE type='index' AND "; - if ($db->options['portability'] & MDB2_PORTABILITY_FIX_CASE) { - $query.= 'LOWER(name)=%s AND LOWER(tbl_name)=' . $db->quote(strtolower($table), 'text'); - } else { - $query.= 'name=%s AND tbl_name=' . $db->quote($table, 'text'); - } - $query.= ' AND sql NOT NULL ORDER BY name'; - $constraint_name_mdb2 = $db->getIndexName($constraint_name); - if ($db->options['portability'] & MDB2_PORTABILITY_FIX_CASE) { - $qry = sprintf($query, $db->quote(strtolower($constraint_name_mdb2), 'text')); - } else { - $qry = sprintf($query, $db->quote($constraint_name_mdb2, 'text')); - } - $sql = $db->queryOne($qry, 'text'); - if (PEAR::isError($sql) || empty($sql)) { - // fallback to the given $index_name, without transformation - if ($db->options['portability'] & MDB2_PORTABILITY_FIX_CASE) { - $qry = sprintf($query, $db->quote(strtolower($constraint_name), 'text')); - } else { - $qry = sprintf($query, $db->quote($constraint_name, 'text')); - } - $sql = $db->queryOne($qry, 'text'); - } - if (PEAR::isError($sql)) { - return $sql; - } - //default values, eventually overridden - $definition = array( - 'primary' => false, - 'unique' => false, - 'foreign' => false, - 'check' => false, - 'fields' => array(), - 'references' => array( - 'table' => '', - 'fields' => array(), - ), - 'onupdate' => '', - 'ondelete' => '', - 'match' => '', - 'deferrable' => false, - 'initiallydeferred' => false, - ); - if (!$sql) { - $query = "SELECT sql FROM sqlite_master WHERE type='table' AND "; - if ($db->options['portability'] & MDB2_PORTABILITY_FIX_CASE) { - $query.= 'LOWER(name)='.$db->quote(strtolower($table), 'text'); - } else { - $query.= 'name='.$db->quote($table, 'text'); - } - $query.= " AND sql NOT NULL ORDER BY name"; - $sql = $db->queryOne($query, 'text'); - if (PEAR::isError($sql)) { - return $sql; - } - if ($constraint_name == 'primary') { - // search in table definition for PRIMARY KEYs - if (preg_match("/\bPRIMARY\s+KEY\b\s*\(([^)]+)/i", $sql, $tmp)) { - $definition['primary'] = true; - $definition['fields'] = array(); - $column_names = explode(',', $tmp[1]); - $colpos = 1; - foreach ($column_names as $column_name) { - $definition['fields'][trim($column_name)] = array( - 'position' => $colpos++ - ); - } - return $definition; - } - if (preg_match("/\"([^\"]+)\"[^\,\"]+\bPRIMARY\s+KEY\b[^\,\)]*/i", $sql, $tmp)) { - $definition['primary'] = true; - $definition['fields'] = array(); - $column_names = explode(',', $tmp[1]); - $colpos = 1; - foreach ($column_names as $column_name) { - $definition['fields'][trim($column_name)] = array( - 'position' => $colpos++ - ); - } - return $definition; - } - } else { - // search in table definition for FOREIGN KEYs - $pattern = "/\bCONSTRAINT\b\s+%s\s+ - \bFOREIGN\s+KEY\b\s*\(([^\)]+)\)\s* - \bREFERENCES\b\s+([^\s]+)\s*\(([^\)]+)\)\s* - (?:\bMATCH\s*([^\s]+))?\s* - (?:\bON\s+UPDATE\s+([^\s,\)]+))?\s* - (?:\bON\s+DELETE\s+([^\s,\)]+))?\s* - /imsx"; - $found_fk = false; - if (preg_match(sprintf($pattern, $constraint_name_mdb2), $sql, $tmp)) { - $found_fk = true; - } elseif (preg_match(sprintf($pattern, $constraint_name), $sql, $tmp)) { - $found_fk = true; - } - if ($found_fk) { - $definition['foreign'] = true; - $definition['match'] = 'SIMPLE'; - $definition['onupdate'] = 'NO ACTION'; - $definition['ondelete'] = 'NO ACTION'; - $definition['references']['table'] = $tmp[2]; - $column_names = explode(',', $tmp[1]); - $colpos = 1; - foreach ($column_names as $column_name) { - $definition['fields'][trim($column_name)] = array( - 'position' => $colpos++ - ); - } - $referenced_cols = explode(',', $tmp[3]); - $colpos = 1; - foreach ($referenced_cols as $column_name) { - $definition['references']['fields'][trim($column_name)] = array( - 'position' => $colpos++ - ); - } - if (isset($tmp[4])) { - $definition['match'] = $tmp[4]; - } - if (isset($tmp[5])) { - $definition['onupdate'] = $tmp[5]; - } - if (isset($tmp[6])) { - $definition['ondelete'] = $tmp[6]; - } - return $definition; - } - } - $sql = false; - } - if (!$sql) { - return $db->raiseError(MDB2_ERROR_NOT_FOUND, null, null, - $constraint_name . ' is not an existing table constraint', __FUNCTION__); - } - - $sql = strtolower($sql); - $start_pos = strpos($sql, '('); - $end_pos = strrpos($sql, ')'); - $column_names = substr($sql, $start_pos+1, $end_pos-$start_pos-1); - $column_names = explode(',', $column_names); - - if (!preg_match("/^create unique/", $sql)) { - return $db->raiseError(MDB2_ERROR_NOT_FOUND, null, null, - $constraint_name . ' is not an existing table constraint', __FUNCTION__); - } - - $definition['unique'] = true; - $count = count($column_names); - for ($i=0; $i<$count; ++$i) { - $column_name = strtok($column_names[$i]," "); - $collation = strtok(" "); - $definition['fields'][$column_name] = array( - 'position' => $i+1 - ); - if (!empty($collation)) { - $definition['fields'][$column_name]['sorting'] = - ($collation=='ASC' ? 'ascending' : 'descending'); - } - } - - if (empty($definition['fields'])) { - return $db->raiseError(MDB2_ERROR_NOT_FOUND, null, null, - $constraint_name . ' is not an existing table constraint', __FUNCTION__); - } - return $definition; - } - - // }}} - // {{{ getTriggerDefinition() - - /** - * Get the structure of a trigger into an array - * - * EXPERIMENTAL - * - * WARNING: this function is experimental and may change the returned value - * at any time until labelled as non-experimental - * - * @param string $trigger name of trigger that should be used in method - * @return mixed data array on success, a MDB2 error on failure - * @access public - */ - function getTriggerDefinition($trigger) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - $query = "SELECT name as trigger_name, - tbl_name AS table_name, - sql AS trigger_body, - NULL AS trigger_type, - NULL AS trigger_event, - NULL AS trigger_comment, - 1 AS trigger_enabled - FROM sqlite_master - WHERE type='trigger'"; - if ($db->options['portability'] & MDB2_PORTABILITY_FIX_CASE) { - $query.= ' AND LOWER(name)='.$db->quote(strtolower($trigger), 'text'); - } else { - $query.= ' AND name='.$db->quote($trigger, 'text'); - } - $types = array( - 'trigger_name' => 'text', - 'table_name' => 'text', - 'trigger_body' => 'text', - 'trigger_type' => 'text', - 'trigger_event' => 'text', - 'trigger_comment' => 'text', - 'trigger_enabled' => 'boolean', - ); - $def = $db->queryRow($query, $types, MDB2_FETCHMODE_ASSOC); - if (PEAR::isError($def)) { - return $def; - } - if (empty($def)) { - return $db->raiseError(MDB2_ERROR_NOT_FOUND, null, null, - 'it was not specified an existing trigger', __FUNCTION__); - } - if (preg_match("/^create\s+(?:temp|temporary)?trigger\s+(?:if\s+not\s+exists\s+)?.*(before|after)?\s+(insert|update|delete)/Uims", $def['trigger_body'], $tmp)) { - $def['trigger_type'] = strtoupper($tmp[1]); - $def['trigger_event'] = strtoupper($tmp[2]); - } - return $def; - } - - // }}} - // {{{ tableInfo() - - /** - * Returns information about a table - * - * @param string $result a string containing the name of a table - * @param int $mode a valid tableInfo mode - * - * @return array an associative array with the information requested. - * A MDB2_Error object on failure. - * - * @see MDB2_Driver_Common::tableInfo() - * @since Method available since Release 1.7.0 - */ - function tableInfo($result, $mode = null) - { - if (is_string($result)) { - return parent::tableInfo($result, $mode); - } - - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - return $db->raiseError(MDB2_ERROR_NOT_CAPABLE, null, null, - 'This DBMS can not obtain tableInfo from result sets', __FUNCTION__); - } -} - -?> \ No newline at end of file diff --git a/3rdparty/MDB2/Driver/mysql.php b/3rdparty/MDB2/Driver/mysql.php deleted file mode 100644 index 1d22e61f4603602dba11572ee950c53eb1567ea9..0000000000000000000000000000000000000000 --- a/3rdparty/MDB2/Driver/mysql.php +++ /dev/null @@ -1,1729 +0,0 @@ - | -// +----------------------------------------------------------------------+ -// -// $Id$ -// - -/** - * MDB2 MySQL driver - * - * @package MDB2 - * @category Database - * @author Lukas Smith - */ -class MDB2_Driver_mysql extends MDB2_Driver_Common -{ - // {{{ properties - - public $string_quoting = array( - 'start' => "'", - 'end' => "'", - 'escape' => '\\', - 'escape_pattern' => '\\', - ); - - public $identifier_quoting = array( - 'start' => '`', - 'end' => '`', - 'escape' => '`', - ); - - public $sql_comments = array( - array('start' => '-- ', 'end' => "\n", 'escape' => false), - array('start' => '#', 'end' => "\n", 'escape' => false), - array('start' => '/*', 'end' => '*/', 'escape' => false), - ); - - protected $server_capabilities_checked = false; - - protected $start_transaction = false; - - public $varchar_max_length = 255; - - // }}} - // {{{ constructor - - /** - * Constructor - */ - function __construct() - { - parent::__construct(); - - $this->phptype = 'mysql'; - $this->dbsyntax = 'mysql'; - - $this->supported['sequences'] = 'emulated'; - $this->supported['indexes'] = true; - $this->supported['affected_rows'] = true; - $this->supported['transactions'] = false; - $this->supported['savepoints'] = false; - $this->supported['summary_functions'] = true; - $this->supported['order_by_text'] = true; - $this->supported['current_id'] = 'emulated'; - $this->supported['limit_queries'] = true; - $this->supported['LOBs'] = true; - $this->supported['replace'] = true; - $this->supported['sub_selects'] = 'emulated'; - $this->supported['triggers'] = false; - $this->supported['auto_increment'] = true; - $this->supported['primary_key'] = true; - $this->supported['result_introspection'] = true; - $this->supported['prepared_statements'] = 'emulated'; - $this->supported['identifier_quoting'] = true; - $this->supported['pattern_escaping'] = true; - $this->supported['new_link'] = true; - - $this->options['DBA_username'] = false; - $this->options['DBA_password'] = false; - $this->options['default_table_type'] = ''; - $this->options['max_identifiers_length'] = 64; - - $this->_reCheckSupportedOptions(); - } - - // }}} - // {{{ _reCheckSupportedOptions() - - /** - * If the user changes certain options, other capabilities may depend - * on the new settings, so we need to check them (again). - * - * @access private - */ - function _reCheckSupportedOptions() - { - $this->supported['transactions'] = $this->options['use_transactions']; - $this->supported['savepoints'] = $this->options['use_transactions']; - if ($this->options['default_table_type']) { - switch (strtoupper($this->options['default_table_type'])) { - case 'BLACKHOLE': - case 'MEMORY': - case 'ARCHIVE': - case 'CSV': - case 'HEAP': - case 'ISAM': - case 'MERGE': - case 'MRG_ISAM': - case 'ISAM': - case 'MRG_MYISAM': - case 'MYISAM': - $this->supported['savepoints'] = false; - $this->supported['transactions'] = false; - $this->warnings[] = $this->options['default_table_type'] . - ' is not a supported default table type'; - break; - } - } - } - - // }}} - // {{{ function setOption($option, $value) - - /** - * set the option for the db class - * - * @param string option name - * @param mixed value for the option - * - * @return mixed MDB2_OK or MDB2 Error Object - * - * @access public - */ - function setOption($option, $value) - { - $res = parent::setOption($option, $value); - $this->_reCheckSupportedOptions(); - } - - // }}} - // {{{ errorInfo() - - /** - * This method is used to collect information about an error - * - * @param integer $error - * @return array - * @access public - */ - function errorInfo($error = null) - { - if ($this->connection) { - $native_code = @mysql_errno($this->connection); - $native_msg = @mysql_error($this->connection); - } else { - $native_code = @mysql_errno(); - $native_msg = @mysql_error(); - } - if (is_null($error)) { - static $ecode_map; - if (empty($ecode_map)) { - $ecode_map = array( - 1000 => MDB2_ERROR_INVALID, //hashchk - 1001 => MDB2_ERROR_INVALID, //isamchk - 1004 => MDB2_ERROR_CANNOT_CREATE, - 1005 => MDB2_ERROR_CANNOT_CREATE, - 1006 => MDB2_ERROR_CANNOT_CREATE, - 1007 => MDB2_ERROR_ALREADY_EXISTS, - 1008 => MDB2_ERROR_CANNOT_DROP, - 1009 => MDB2_ERROR_CANNOT_DROP, - 1010 => MDB2_ERROR_CANNOT_DROP, - 1011 => MDB2_ERROR_CANNOT_DELETE, - 1022 => MDB2_ERROR_ALREADY_EXISTS, - 1029 => MDB2_ERROR_NOT_FOUND, - 1032 => MDB2_ERROR_NOT_FOUND, - 1044 => MDB2_ERROR_ACCESS_VIOLATION, - 1045 => MDB2_ERROR_ACCESS_VIOLATION, - 1046 => MDB2_ERROR_NODBSELECTED, - 1048 => MDB2_ERROR_CONSTRAINT, - 1049 => MDB2_ERROR_NOSUCHDB, - 1050 => MDB2_ERROR_ALREADY_EXISTS, - 1051 => MDB2_ERROR_NOSUCHTABLE, - 1054 => MDB2_ERROR_NOSUCHFIELD, - 1060 => MDB2_ERROR_ALREADY_EXISTS, - 1061 => MDB2_ERROR_ALREADY_EXISTS, - 1062 => MDB2_ERROR_ALREADY_EXISTS, - 1064 => MDB2_ERROR_SYNTAX, - 1067 => MDB2_ERROR_INVALID, - 1072 => MDB2_ERROR_NOT_FOUND, - 1086 => MDB2_ERROR_ALREADY_EXISTS, - 1091 => MDB2_ERROR_NOT_FOUND, - 1100 => MDB2_ERROR_NOT_LOCKED, - 1109 => MDB2_ERROR_NOT_FOUND, - 1125 => MDB2_ERROR_ALREADY_EXISTS, - 1136 => MDB2_ERROR_VALUE_COUNT_ON_ROW, - 1138 => MDB2_ERROR_INVALID, - 1142 => MDB2_ERROR_ACCESS_VIOLATION, - 1143 => MDB2_ERROR_ACCESS_VIOLATION, - 1146 => MDB2_ERROR_NOSUCHTABLE, - 1149 => MDB2_ERROR_SYNTAX, - 1169 => MDB2_ERROR_CONSTRAINT, - 1176 => MDB2_ERROR_NOT_FOUND, - 1177 => MDB2_ERROR_NOSUCHTABLE, - 1213 => MDB2_ERROR_DEADLOCK, - 1216 => MDB2_ERROR_CONSTRAINT, - 1217 => MDB2_ERROR_CONSTRAINT, - 1227 => MDB2_ERROR_ACCESS_VIOLATION, - 1235 => MDB2_ERROR_CANNOT_CREATE, - 1299 => MDB2_ERROR_INVALID_DATE, - 1300 => MDB2_ERROR_INVALID, - 1304 => MDB2_ERROR_ALREADY_EXISTS, - 1305 => MDB2_ERROR_NOT_FOUND, - 1306 => MDB2_ERROR_CANNOT_DROP, - 1307 => MDB2_ERROR_CANNOT_CREATE, - 1334 => MDB2_ERROR_CANNOT_ALTER, - 1339 => MDB2_ERROR_NOT_FOUND, - 1356 => MDB2_ERROR_INVALID, - 1359 => MDB2_ERROR_ALREADY_EXISTS, - 1360 => MDB2_ERROR_NOT_FOUND, - 1363 => MDB2_ERROR_NOT_FOUND, - 1365 => MDB2_ERROR_DIVZERO, - 1451 => MDB2_ERROR_CONSTRAINT, - 1452 => MDB2_ERROR_CONSTRAINT, - 1542 => MDB2_ERROR_CANNOT_DROP, - 1546 => MDB2_ERROR_CONSTRAINT, - 1582 => MDB2_ERROR_CONSTRAINT, - 2003 => MDB2_ERROR_CONNECT_FAILED, - 2019 => MDB2_ERROR_INVALID, - ); - } - if ($this->options['portability'] & MDB2_PORTABILITY_ERRORS) { - $ecode_map[1022] = MDB2_ERROR_CONSTRAINT; - $ecode_map[1048] = MDB2_ERROR_CONSTRAINT_NOT_NULL; - $ecode_map[1062] = MDB2_ERROR_CONSTRAINT; - } else { - // Doing this in case mode changes during runtime. - $ecode_map[1022] = MDB2_ERROR_ALREADY_EXISTS; - $ecode_map[1048] = MDB2_ERROR_CONSTRAINT; - $ecode_map[1062] = MDB2_ERROR_ALREADY_EXISTS; - } - if (isset($ecode_map[$native_code])) { - $error = $ecode_map[$native_code]; - } - } - return array($error, $native_code, $native_msg); - } - - // }}} - // {{{ escape() - - /** - * Quotes a string so it can be safely used in a query. It will quote - * the text so it can safely be used within a query. - * - * @param string the input string to quote - * @param bool escape wildcards - * - * @return string quoted string - * - * @access public - */ - function escape($text, $escape_wildcards = false) - { - if ($escape_wildcards) { - $text = $this->escapePattern($text); - } - $connection = $this->getConnection(); - if (PEAR::isError($connection)) { - return $connection; - } - $text = @mysql_real_escape_string($text, $connection); - return $text; - } - - // }}} - // {{{ beginTransaction() - - /** - * Start a transaction or set a savepoint. - * - * @param string name of a savepoint to set - * @return mixed MDB2_OK on success, a MDB2 error on failure - * - * @access public - */ - function beginTransaction($savepoint = null) - { - $this->debug('Starting transaction/savepoint', __FUNCTION__, array('is_manip' => true, 'savepoint' => $savepoint)); - $this->_getServerCapabilities(); - if (!is_null($savepoint)) { - if (!$this->supports('savepoints')) { - return $this->raiseError(MDB2_ERROR_UNSUPPORTED, null, null, - 'savepoints are not supported', __FUNCTION__); - } - if (!$this->in_transaction) { - return $this->raiseError(MDB2_ERROR_INVALID, null, null, - 'savepoint cannot be released when changes are auto committed', __FUNCTION__); - } - $query = 'SAVEPOINT '.$savepoint; - return $this->_doQuery($query, true); - } elseif ($this->in_transaction) { - return MDB2_OK; //nothing to do - } - if (!$this->destructor_registered && $this->opened_persistent) { - $this->destructor_registered = true; - register_shutdown_function('MDB2_closeOpenTransactions'); - } - $query = $this->start_transaction ? 'START TRANSACTION' : 'SET AUTOCOMMIT = 0'; - $result = $this->_doQuery($query, true); - if (PEAR::isError($result)) { - return $result; - } - $this->in_transaction = true; - return MDB2_OK; - } - - // }}} - // {{{ commit() - - /** - * Commit the database changes done during a transaction that is in - * progress or release a savepoint. This function may only be called when - * auto-committing is disabled, otherwise it will fail. Therefore, a new - * transaction is implicitly started after committing the pending changes. - * - * @param string name of a savepoint to release - * @return mixed MDB2_OK on success, a MDB2 error on failure - * - * @access public - */ - function commit($savepoint = null) - { - $this->debug('Committing transaction/savepoint', __FUNCTION__, array('is_manip' => true, 'savepoint' => $savepoint)); - if (!$this->in_transaction) { - return $this->raiseError(MDB2_ERROR_INVALID, null, null, - 'commit/release savepoint cannot be done changes are auto committed', __FUNCTION__); - } - if (!is_null($savepoint)) { - if (!$this->supports('savepoints')) { - return $this->raiseError(MDB2_ERROR_UNSUPPORTED, null, null, - 'savepoints are not supported', __FUNCTION__); - } - $server_info = $this->getServerVersion(); - if (version_compare($server_info['major'].'.'.$server_info['minor'].'.'.$server_info['patch'], '5.0.3', '<')) { - return MDB2_OK; - } - $query = 'RELEASE SAVEPOINT '.$savepoint; - return $this->_doQuery($query, true); - } - - if (!$this->supports('transactions')) { - return $this->raiseError(MDB2_ERROR_UNSUPPORTED, null, null, - 'transactions are not supported', __FUNCTION__); - } - - $result = $this->_doQuery('COMMIT', true); - if (PEAR::isError($result)) { - return $result; - } - if (!$this->start_transaction) { - $query = 'SET AUTOCOMMIT = 1'; - $result = $this->_doQuery($query, true); - if (PEAR::isError($result)) { - return $result; - } - } - $this->in_transaction = false; - return MDB2_OK; - } - - // }}} - // {{{ rollback() - - /** - * Cancel any database changes done during a transaction or since a specific - * savepoint that is in progress. This function may only be called when - * auto-committing is disabled, otherwise it will fail. Therefore, a new - * transaction is implicitly started after canceling the pending changes. - * - * @param string name of a savepoint to rollback to - * @return mixed MDB2_OK on success, a MDB2 error on failure - * - * @access public - */ - function rollback($savepoint = null) - { - $this->debug('Rolling back transaction/savepoint', __FUNCTION__, array('is_manip' => true, 'savepoint' => $savepoint)); - if (!$this->in_transaction) { - return $this->raiseError(MDB2_ERROR_INVALID, null, null, - 'rollback cannot be done changes are auto committed', __FUNCTION__); - } - if (!is_null($savepoint)) { - if (!$this->supports('savepoints')) { - return $this->raiseError(MDB2_ERROR_UNSUPPORTED, null, null, - 'savepoints are not supported', __FUNCTION__); - } - $query = 'ROLLBACK TO SAVEPOINT '.$savepoint; - return $this->_doQuery($query, true); - } - - $query = 'ROLLBACK'; - $result = $this->_doQuery($query, true); - if (PEAR::isError($result)) { - return $result; - } - if (!$this->start_transaction) { - $query = 'SET AUTOCOMMIT = 1'; - $result = $this->_doQuery($query, true); - if (PEAR::isError($result)) { - return $result; - } - } - $this->in_transaction = false; - return MDB2_OK; - } - - // }}} - // {{{ function setTransactionIsolation() - - /** - * Set the transacton isolation level. - * - * @param string standard isolation level - * READ UNCOMMITTED (allows dirty reads) - * READ COMMITTED (prevents dirty reads) - * REPEATABLE READ (prevents nonrepeatable reads) - * SERIALIZABLE (prevents phantom reads) - * @param array some transaction options: - * 'wait' => 'WAIT' | 'NO WAIT' - * 'rw' => 'READ WRITE' | 'READ ONLY' - * - * @return mixed MDB2_OK on success, a MDB2 error on failure - * - * @access public - * @since 2.1.1 - */ - function setTransactionIsolation($isolation, $options = array()) - { - $this->debug('Setting transaction isolation level', __FUNCTION__, array('is_manip' => true)); - if (!$this->supports('transactions')) { - return $this->raiseError(MDB2_ERROR_UNSUPPORTED, null, null, - 'transactions are not supported', __FUNCTION__); - } - switch ($isolation) { - case 'READ UNCOMMITTED': - case 'READ COMMITTED': - case 'REPEATABLE READ': - case 'SERIALIZABLE': - break; - default: - return $this->raiseError(MDB2_ERROR_UNSUPPORTED, null, null, - 'isolation level is not supported: '.$isolation, __FUNCTION__); - } - - $query = "SET SESSION TRANSACTION ISOLATION LEVEL $isolation"; - return $this->_doQuery($query, true); - } - - // }}} - // {{{ _doConnect() - - /** - * do the grunt work of the connect - * - * @return connection on success or MDB2 Error Object on failure - * @access protected - */ - function _doConnect($username, $password, $persistent = false) - { - if (!PEAR::loadExtension($this->phptype)) { - return $this->raiseError(MDB2_ERROR_NOT_FOUND, null, null, - 'extension '.$this->phptype.' is not compiled into PHP', __FUNCTION__); - } - - $params = array(); - $unix = ($this->dsn['protocol'] && $this->dsn['protocol'] == 'unix'); - if (empty($this->dsn['hostspec'])) { - $this->dsn['hostspec'] = $unix ? '' : 'localhost'; - } - if ($this->dsn['hostspec']) { - $params[0] = $this->dsn['hostspec'] . ($this->dsn['port'] ? ':' . $this->dsn['port'] : ''); - } else { - $params[0] = ':' . $this->dsn['socket']; - } - $params[] = $username ? $username : null; - $params[] = $password ? $password : null; - if (!$persistent) { - if ($this->_isNewLinkSet()) { - $params[] = true; - } else { - $params[] = false; - } - } - if (version_compare(phpversion(), '4.3.0', '>=')) { - $params[] = isset($this->dsn['client_flags']) - ? $this->dsn['client_flags'] : null; - } - $connect_function = $persistent ? 'mysql_pconnect' : 'mysql_connect'; - - $connection = @call_user_func_array($connect_function, $params); - if (!$connection) { - if (($err = @mysql_error()) != '') { - return $this->raiseError(MDB2_ERROR_CONNECT_FAILED, null, null, - $err, __FUNCTION__); - } else { - return $this->raiseError(MDB2_ERROR_CONNECT_FAILED, null, null, - 'unable to establish a connection', __FUNCTION__); - } - } - - if (!empty($this->dsn['charset'])) { - $result = $this->setCharset($this->dsn['charset'], $connection); - if (PEAR::isError($result)) { - $this->disconnect(false); - return $result; - } - } - - return $connection; - } - - // }}} - // {{{ connect() - - /** - * Connect to the database - * - * @return MDB2_OK on success, MDB2 Error Object on failure - * @access public - */ - function connect() - { - if (is_resource($this->connection)) { - //if (count(array_diff($this->connected_dsn, $this->dsn)) == 0 - if (MDB2::areEquals($this->connected_dsn, $this->dsn) - && $this->opened_persistent == $this->options['persistent'] - ) { - return MDB2_OK; - } - $this->disconnect(false); - } - - $connection = $this->_doConnect( - $this->dsn['username'], - $this->dsn['password'], - $this->options['persistent'] - ); - if (PEAR::isError($connection)) { - return $connection; - } - - $this->connection = $connection; - $this->connected_dsn = $this->dsn; - $this->connected_database_name = ''; - $this->opened_persistent = $this->options['persistent']; - $this->dbsyntax = $this->dsn['dbsyntax'] ? $this->dsn['dbsyntax'] : $this->phptype; - - if ($this->database_name) { - if ($this->database_name != $this->connected_database_name) { - if (!@mysql_select_db($this->database_name, $connection)) { - $err = $this->raiseError(null, null, null, - 'Could not select the database: '.$this->database_name, __FUNCTION__); - return $err; - } - $this->connected_database_name = $this->database_name; - } - } - - $this->_getServerCapabilities(); - - return MDB2_OK; - } - - // }}} - // {{{ setCharset() - - /** - * Set the charset on the current connection - * - * @param string charset (or array(charset, collation)) - * @param resource connection handle - * - * @return true on success, MDB2 Error Object on failure - */ - function setCharset($charset, $connection = null) - { - if (is_null($connection)) { - $connection = $this->getConnection(); - if (PEAR::isError($connection)) { - return $connection; - } - } - $collation = null; - if (is_array($charset) && 2 == count($charset)) { - $collation = array_pop($charset); - $charset = array_pop($charset); - } - $client_info = mysql_get_client_info(); - if (function_exists('mysql_set_charset') && version_compare($client_info, '5.0.6')) { - if (!$result = mysql_set_charset($charset, $connection)) { - $err = $this->raiseError(null, null, null, - 'Could not set client character set', __FUNCTION__); - return $err; - } - return $result; - } - $query = "SET NAMES '".mysql_real_escape_string($charset, $connection)."'"; - if (!is_null($collation)) { - $query .= " COLLATE '".mysql_real_escape_string($collation, $connection)."'"; - } - return $this->_doQuery($query, true, $connection); - } - - // }}} - // {{{ databaseExists() - - /** - * check if given database name is exists? - * - * @param string $name name of the database that should be checked - * - * @return mixed true/false on success, a MDB2 error on failure - * @access public - */ - function databaseExists($name) - { - $connection = $this->_doConnect($this->dsn['username'], - $this->dsn['password'], - $this->options['persistent']); - if (PEAR::isError($connection)) { - return $connection; - } - - $result = @mysql_select_db($name, $connection); - @mysql_close($connection); - - return $result; - } - - // }}} - // {{{ disconnect() - - /** - * Log out and disconnect from the database. - * - * @param boolean $force if the disconnect should be forced even if the - * connection is opened persistently - * @return mixed true on success, false if not connected and error - * object on error - * @access public - */ - function disconnect($force = true) - { - if (is_resource($this->connection)) { - if ($this->in_transaction) { - $dsn = $this->dsn; - $database_name = $this->database_name; - $persistent = $this->options['persistent']; - $this->dsn = $this->connected_dsn; - $this->database_name = $this->connected_database_name; - $this->options['persistent'] = $this->opened_persistent; - $this->rollback(); - $this->dsn = $dsn; - $this->database_name = $database_name; - $this->options['persistent'] = $persistent; - } - - if (!$this->opened_persistent || $force) { - $ok = @mysql_close($this->connection); - if (!$ok) { - return $this->raiseError(MDB2_ERROR_DISCONNECT_FAILED, - null, null, null, __FUNCTION__); - } - } - } else { - return false; - } - return parent::disconnect($force); - } - - // }}} - // {{{ standaloneQuery() - - /** - * execute a query as DBA - * - * @param string $query the SQL query - * @param mixed $types array that contains the types of the columns in - * the result set - * @param boolean $is_manip if the query is a manipulation query - * @return mixed MDB2_OK on success, a MDB2 error on failure - * @access public - */ - function standaloneQuery($query, $types = null, $is_manip = false) - { - $user = $this->options['DBA_username']? $this->options['DBA_username'] : $this->dsn['username']; - $pass = $this->options['DBA_password']? $this->options['DBA_password'] : $this->dsn['password']; - $connection = $this->_doConnect($user, $pass, $this->options['persistent']); - if (PEAR::isError($connection)) { - return $connection; - } - - $offset = $this->offset; - $limit = $this->limit; - $this->offset = $this->limit = 0; - $query = $this->_modifyQuery($query, $is_manip, $limit, $offset); - - $result = $this->_doQuery($query, $is_manip, $connection, $this->database_name); - if (!PEAR::isError($result)) { - $result = $this->_affectedRows($connection, $result); - } - - @mysql_close($connection); - return $result; - } - - // }}} - // {{{ _doQuery() - - /** - * Execute a query - * @param string $query query - * @param boolean $is_manip if the query is a manipulation query - * @param resource $connection - * @param string $database_name - * @return result or error object - * @access protected - */ - function _doQuery($query, $is_manip = false, $connection = null, $database_name = null) - { - $this->last_query = $query; - $result = $this->debug($query, 'query', array('is_manip' => $is_manip, 'when' => 'pre')); - if ($result) { - if (PEAR::isError($result)) { - return $result; - } - $query = $result; - } - if ($this->options['disable_query']) { - $result = $is_manip ? 0 : null; - return $result; - } - - if (is_null($connection)) { - $connection = $this->getConnection(); - if (PEAR::isError($connection)) { - return $connection; - } - } - if (is_null($database_name)) { - $database_name = $this->database_name; - } - - if ($database_name) { - if ($database_name != $this->connected_database_name) { - if (!@mysql_select_db($database_name, $connection)) { - $err = $this->raiseError(null, null, null, - 'Could not select the database: '.$database_name, __FUNCTION__); - return $err; - } - $this->connected_database_name = $database_name; - } - } - - $function = $this->options['result_buffering'] - ? 'mysql_query' : 'mysql_unbuffered_query'; - $result = @$function($query, $connection); - if (!$result && 0 !== mysql_errno($connection)) { - $err = $this->raiseError(null, null, null, - 'Could not execute statement', __FUNCTION__); - return $err; - } - - $this->debug($query, 'query', array('is_manip' => $is_manip, 'when' => 'post', 'result' => $result)); - return $result; - } - - // }}} - // {{{ _affectedRows() - - /** - * Returns the number of rows affected - * - * @param resource $result - * @param resource $connection - * @return mixed MDB2 Error Object or the number of rows affected - * @access private - */ - function _affectedRows($connection, $result = null) - { - if (is_null($connection)) { - $connection = $this->getConnection(); - if (PEAR::isError($connection)) { - return $connection; - } - } - return @mysql_affected_rows($connection); - } - - // }}} - // {{{ _modifyQuery() - - /** - * Changes a query string for various DBMS specific reasons - * - * @param string $query query to modify - * @param boolean $is_manip if it is a DML query - * @param integer $limit limit the number of rows - * @param integer $offset start reading from given offset - * @return string modified query - * @access protected - */ - function _modifyQuery($query, $is_manip, $limit, $offset) - { - if ($this->options['portability'] & MDB2_PORTABILITY_DELETE_COUNT) { - // "DELETE FROM table" gives 0 affected rows in MySQL. - // This little hack lets you know how many rows were deleted. - if (preg_match('/^\s*DELETE\s+FROM\s+(\S+)\s*$/i', $query)) { - $query = preg_replace('/^\s*DELETE\s+FROM\s+(\S+)\s*$/', - 'DELETE FROM \1 WHERE 1=1', $query); - } - } - if ($limit > 0 - && !preg_match('/LIMIT\s*\d(?:\s*(?:,|OFFSET)\s*\d+)?(?:[^\)]*)?$/i', $query) - ) { - $query = rtrim($query); - if (substr($query, -1) == ';') { - $query = substr($query, 0, -1); - } - - // LIMIT doesn't always come last in the query - // @see http://dev.mysql.com/doc/refman/5.0/en/select.html - $after = ''; - if (preg_match('/(\s+INTO\s+(?:OUT|DUMP)FILE\s.*)$/ims', $query, $matches)) { - $after = $matches[0]; - $query = preg_replace('/(\s+INTO\s+(?:OUT|DUMP)FILE\s.*)$/ims', '', $query); - } elseif (preg_match('/(\s+FOR\s+UPDATE\s*)$/i', $query, $matches)) { - $after = $matches[0]; - $query = preg_replace('/(\s+FOR\s+UPDATE\s*)$/im', '', $query); - } elseif (preg_match('/(\s+LOCK\s+IN\s+SHARE\s+MODE\s*)$/im', $query, $matches)) { - $after = $matches[0]; - $query = preg_replace('/(\s+LOCK\s+IN\s+SHARE\s+MODE\s*)$/im', '', $query); - } - - if ($is_manip) { - return $query . " LIMIT $limit" . $after; - } else { - return $query . " LIMIT $offset, $limit" . $after; - } - } - return $query; - } - - // }}} - // {{{ getServerVersion() - - /** - * return version information about the server - * - * @param bool $native determines if the raw version string should be returned - * @return mixed array/string with version information or MDB2 error object - * @access public - */ - function getServerVersion($native = false) - { - $connection = $this->getConnection(); - if (PEAR::isError($connection)) { - return $connection; - } - if ($this->connected_server_info) { - $server_info = $this->connected_server_info; - } else { - $server_info = @mysql_get_server_info($connection); - } - if (!$server_info) { - return $this->raiseError(null, null, null, - 'Could not get server information', __FUNCTION__); - } - // cache server_info - $this->connected_server_info = $server_info; - if (!$native) { - $tmp = explode('.', $server_info, 3); - if (isset($tmp[2]) && strpos($tmp[2], '-')) { - $tmp2 = explode('-', @$tmp[2], 2); - } else { - $tmp2[0] = isset($tmp[2]) ? $tmp[2] : null; - $tmp2[1] = null; - } - $server_info = array( - 'major' => isset($tmp[0]) ? $tmp[0] : null, - 'minor' => isset($tmp[1]) ? $tmp[1] : null, - 'patch' => $tmp2[0], - 'extra' => $tmp2[1], - 'native' => $server_info, - ); - } - return $server_info; - } - - // }}} - // {{{ _getServerCapabilities() - - /** - * Fetch some information about the server capabilities - * (transactions, subselects, prepared statements, etc). - * - * @access private - */ - function _getServerCapabilities() - { - if (!$this->server_capabilities_checked) { - $this->server_capabilities_checked = true; - - //set defaults - $this->supported['sub_selects'] = 'emulated'; - $this->supported['prepared_statements'] = 'emulated'; - $this->supported['triggers'] = false; - $this->start_transaction = false; - $this->varchar_max_length = 255; - - $server_info = $this->getServerVersion(); - if (is_array($server_info)) { - $server_version = $server_info['major'].'.'.$server_info['minor'].'.'.$server_info['patch']; - - if (!version_compare($server_version, '4.1.0', '<')) { - $this->supported['sub_selects'] = true; - $this->supported['prepared_statements'] = true; - } - - // SAVEPOINTs were introduced in MySQL 4.0.14 and 4.1.1 (InnoDB) - if (version_compare($server_version, '4.1.0', '>=')) { - if (version_compare($server_version, '4.1.1', '<')) { - $this->supported['savepoints'] = false; - } - } elseif (version_compare($server_version, '4.0.14', '<')) { - $this->supported['savepoints'] = false; - } - - if (!version_compare($server_version, '4.0.11', '<')) { - $this->start_transaction = true; - } - - if (!version_compare($server_version, '5.0.3', '<')) { - $this->varchar_max_length = 65532; - } - - if (!version_compare($server_version, '5.0.2', '<')) { - $this->supported['triggers'] = true; - } - } - } - } - - // }}} - // {{{ function _skipUserDefinedVariable($query, $position) - - /** - * Utility method, used by prepare() to avoid misinterpreting MySQL user - * defined variables (SELECT @x:=5) for placeholders. - * Check if the placeholder is a false positive, i.e. if it is an user defined - * variable instead. If so, skip it and advance the position, otherwise - * return the current position, which is valid - * - * @param string $query - * @param integer $position current string cursor position - * @return integer $new_position - * @access protected - */ - function _skipUserDefinedVariable($query, $position) - { - $found = strpos(strrev(substr($query, 0, $position)), '@'); - if ($found === false) { - return $position; - } - $pos = strlen($query) - strlen(substr($query, $position)) - $found - 1; - $substring = substr($query, $pos, $position - $pos + 2); - if (preg_match('/^@\w+\s*:=$/', $substring)) { - return $position + 1; //found an user defined variable: skip it - } - return $position; - } - - // }}} - // {{{ prepare() - - /** - * Prepares a query for multiple execution with execute(). - * With some database backends, this is emulated. - * prepare() requires a generic query as string like - * 'INSERT INTO numbers VALUES(?,?)' or - * 'INSERT INTO numbers VALUES(:foo,:bar)'. - * The ? and :name and are placeholders which can be set using - * bindParam() and the query can be sent off using the execute() method. - * The allowed format for :name can be set with the 'bindname_format' option. - * - * @param string $query the query to prepare - * @param mixed $types array that contains the types of the placeholders - * @param mixed $result_types array that contains the types of the columns in - * the result set or MDB2_PREPARE_RESULT, if set to - * MDB2_PREPARE_MANIP the query is handled as a manipulation query - * @param mixed $lobs key (field) value (parameter) pair for all lob placeholders - * @return mixed resource handle for the prepared query on success, a MDB2 - * error on failure - * @access public - * @see bindParam, execute - */ - function prepare($query, $types = null, $result_types = null, $lobs = array()) - { - // connect to get server capabilities (http://pear.php.net/bugs/16147) - $connection = $this->getConnection(); - if (PEAR::isError($connection)) { - return $connection; - } - - if ($this->options['emulate_prepared'] - || $this->supported['prepared_statements'] !== true - ) { - return parent::prepare($query, $types, $result_types, $lobs); - } - $is_manip = ($result_types === MDB2_PREPARE_MANIP); - $offset = $this->offset; - $limit = $this->limit; - $this->offset = $this->limit = 0; - $query = $this->_modifyQuery($query, $is_manip, $limit, $offset); - $result = $this->debug($query, __FUNCTION__, array('is_manip' => $is_manip, 'when' => 'pre')); - if ($result) { - if (PEAR::isError($result)) { - return $result; - } - $query = $result; - } - $placeholder_type_guess = $placeholder_type = null; - $question = '?'; - $colon = ':'; - $positions = array(); - $position = 0; - while ($position < strlen($query)) { - $q_position = strpos($query, $question, $position); - $c_position = strpos($query, $colon, $position); - if ($q_position && $c_position) { - $p_position = min($q_position, $c_position); - } elseif ($q_position) { - $p_position = $q_position; - } elseif ($c_position) { - $p_position = $c_position; - } else { - break; - } - if (is_null($placeholder_type)) { - $placeholder_type_guess = $query[$p_position]; - } - - $new_pos = $this->_skipDelimitedStrings($query, $position, $p_position); - if (PEAR::isError($new_pos)) { - return $new_pos; - } - if ($new_pos != $position) { - $position = $new_pos; - continue; //evaluate again starting from the new position - } - - //make sure this is not part of an user defined variable - $new_pos = $this->_skipUserDefinedVariable($query, $position); - if ($new_pos != $position) { - $position = $new_pos; - continue; //evaluate again starting from the new position - } - - if ($query[$position] == $placeholder_type_guess) { - if (is_null($placeholder_type)) { - $placeholder_type = $query[$p_position]; - $question = $colon = $placeholder_type; - } - if ($placeholder_type == ':') { - $regexp = '/^.{'.($position+1).'}('.$this->options['bindname_format'].').*$/s'; - $parameter = preg_replace($regexp, '\\1', $query); - if ($parameter === '') { - $err = $this->raiseError(MDB2_ERROR_SYNTAX, null, null, - 'named parameter name must match "bindname_format" option', __FUNCTION__); - return $err; - } - $positions[$p_position] = $parameter; - $query = substr_replace($query, '?', $position, strlen($parameter)+1); - } else { - $positions[$p_position] = count($positions); - } - $position = $p_position + 1; - } else { - $position = $p_position; - } - } - - static $prep_statement_counter = 1; - $statement_name = sprintf($this->options['statement_format'], $this->phptype, $prep_statement_counter++ . sha1(microtime() + mt_rand())); - $statement_name = substr(strtolower($statement_name), 0, $this->options['max_identifiers_length']); - $query = "PREPARE $statement_name FROM ".$this->quote($query, 'text'); - $statement = $this->_doQuery($query, true, $connection); - if (PEAR::isError($statement)) { - return $statement; - } - - $class_name = 'MDB2_Statement_'.$this->phptype; - $obj = new $class_name($this, $statement_name, $positions, $query, $types, $result_types, $is_manip, $limit, $offset); - $this->debug($query, __FUNCTION__, array('is_manip' => $is_manip, 'when' => 'post', 'result' => $obj)); - return $obj; - } - - // }}} - // {{{ replace() - - /** - * Execute a SQL REPLACE query. A REPLACE query is identical to a INSERT - * query, except that if there is already a row in the table with the same - * key field values, the old row is deleted before the new row is inserted. - * - * The REPLACE type of query does not make part of the SQL standards. Since - * practically only MySQL implements it natively, this type of query is - * emulated through this method for other DBMS using standard types of - * queries inside a transaction to assure the atomicity of the operation. - * - * @access public - * - * @param string $table name of the table on which the REPLACE query will - * be executed. - * @param array $fields associative array that describes the fields and the - * values that will be inserted or updated in the specified table. The - * indexes of the array are the names of all the fields of the table. The - * values of the array are also associative arrays that describe the - * values and other properties of the table fields. - * - * Here follows a list of field properties that need to be specified: - * - * value: - * Value to be assigned to the specified field. This value may be - * of specified in database independent type format as this - * function can perform the necessary datatype conversions. - * - * Default: - * this property is required unless the Null property - * is set to 1. - * - * type - * Name of the type of the field. Currently, all types Metabase - * are supported except for clob and blob. - * - * Default: no type conversion - * - * null - * Boolean property that indicates that the value for this field - * should be set to null. - * - * The default value for fields missing in INSERT queries may be - * specified the definition of a table. Often, the default value - * is already null, but since the REPLACE may be emulated using - * an UPDATE query, make sure that all fields of the table are - * listed in this function argument array. - * - * Default: 0 - * - * key - * Boolean property that indicates that this field should be - * handled as a primary key or at least as part of the compound - * unique index of the table that will determine the row that will - * updated if it exists or inserted a new row otherwise. - * - * This function will fail if no key field is specified or if the - * value of a key field is set to null because fields that are - * part of unique index they may not be null. - * - * Default: 0 - * - * @see http://dev.mysql.com/doc/refman/5.0/en/replace.html - * @return mixed MDB2_OK on success, a MDB2 error on failure - */ - function replace($table, $fields) - { - $count = count($fields); - $query = $values = ''; - $keys = $colnum = 0; - for (reset($fields); $colnum < $count; next($fields), $colnum++) { - $name = key($fields); - if ($colnum > 0) { - $query .= ','; - $values.= ','; - } - $query.= $this->quoteIdentifier($name, true); - if (isset($fields[$name]['null']) && $fields[$name]['null']) { - $value = 'NULL'; - } else { - $type = isset($fields[$name]['type']) ? $fields[$name]['type'] : null; - $value = $this->quote($fields[$name]['value'], $type); - if (PEAR::isError($value)) { - return $value; - } - } - $values.= $value; - if (isset($fields[$name]['key']) && $fields[$name]['key']) { - if ($value === 'NULL') { - return $this->raiseError(MDB2_ERROR_CANNOT_REPLACE, null, null, - 'key value '.$name.' may not be NULL', __FUNCTION__); - } - $keys++; - } - } - if ($keys == 0) { - return $this->raiseError(MDB2_ERROR_CANNOT_REPLACE, null, null, - 'not specified which fields are keys', __FUNCTION__); - } - - $connection = $this->getConnection(); - if (PEAR::isError($connection)) { - return $connection; - } - - $table = $this->quoteIdentifier($table, true); - $query = "REPLACE INTO $table ($query) VALUES ($values)"; - $result = $this->_doQuery($query, true, $connection); - if (PEAR::isError($result)) { - return $result; - } - return $this->_affectedRows($connection, $result); - } - - // }}} - // {{{ nextID() - - /** - * Returns the next free id of a sequence - * - * @param string $seq_name name of the sequence - * @param boolean $ondemand when true the sequence is - * automatic created, if it - * not exists - * - * @return mixed MDB2 Error Object or id - * @access public - */ - function nextID($seq_name, $ondemand = true) - { - $sequence_name = $this->quoteIdentifier($this->getSequenceName($seq_name), true); - $seqcol_name = $this->quoteIdentifier($this->options['seqcol_name'], true); - $query = "INSERT INTO $sequence_name ($seqcol_name) VALUES (NULL)"; - $this->pushErrorHandling(PEAR_ERROR_RETURN); - $this->expectError(MDB2_ERROR_NOSUCHTABLE); - $result = $this->_doQuery($query, true); - $this->popExpect(); - $this->popErrorHandling(); - if (PEAR::isError($result)) { - if ($ondemand && $result->getCode() == MDB2_ERROR_NOSUCHTABLE) { - $this->loadModule('Manager', null, true); - $result = $this->manager->createSequence($seq_name); - if (PEAR::isError($result)) { - return $this->raiseError($result, null, null, - 'on demand sequence '.$seq_name.' could not be created', __FUNCTION__); - } else { - return $this->nextID($seq_name, false); - } - } - return $result; - } - $value = $this->lastInsertID(); - if (is_numeric($value)) { - $query = "DELETE FROM $sequence_name WHERE $seqcol_name < $value"; - $result = $this->_doQuery($query, true); - if (PEAR::isError($result)) { - $this->warnings[] = 'nextID: could not delete previous sequence table values from '.$seq_name; - } - } - return $value; - } - - // }}} - // {{{ lastInsertID() - - /** - * Returns the autoincrement ID if supported or $id or fetches the current - * ID in a sequence called: $table.(empty($field) ? '' : '_'.$field) - * - * @param string $table name of the table into which a new row was inserted - * @param string $field name of the field into which a new row was inserted - * @return mixed MDB2 Error Object or id - * @access public - */ - function lastInsertID($table = null, $field = null) - { - // not using mysql_insert_id() due to http://pear.php.net/bugs/bug.php?id=8051 - // not casting to integer to handle BIGINT http://pear.php.net/bugs/bug.php?id=17650 - return $this->queryOne('SELECT LAST_INSERT_ID()'); - } - - // }}} - // {{{ currID() - - /** - * Returns the current id of a sequence - * - * @param string $seq_name name of the sequence - * @return mixed MDB2 Error Object or id - * @access public - */ - function currID($seq_name) - { - $sequence_name = $this->quoteIdentifier($this->getSequenceName($seq_name), true); - $seqcol_name = $this->quoteIdentifier($this->options['seqcol_name'], true); - $query = "SELECT MAX($seqcol_name) FROM $sequence_name"; - return $this->queryOne($query, 'integer'); - } -} - -/** - * MDB2 MySQL result driver - * - * @package MDB2 - * @category Database - * @author Lukas Smith - */ -class MDB2_Result_mysql extends MDB2_Result_Common -{ - // }}} - // {{{ fetchRow() - - /** - * Fetch a row and insert the data into an existing array. - * - * @param int $fetchmode how the array data should be indexed - * @param int $rownum number of the row where the data can be found - * @return int data array on success, a MDB2 error on failure - * @access public - */ - function fetchRow($fetchmode = MDB2_FETCHMODE_DEFAULT, $rownum = null) - { - if (!is_null($rownum)) { - $seek = $this->seek($rownum); - if (PEAR::isError($seek)) { - return $seek; - } - } - if ($fetchmode == MDB2_FETCHMODE_DEFAULT) { - $fetchmode = $this->db->fetchmode; - } - if ( $fetchmode == MDB2_FETCHMODE_ASSOC - || $fetchmode == MDB2_FETCHMODE_OBJECT - ) { - $row = @mysql_fetch_assoc($this->result); - if (is_array($row) - && $this->db->options['portability'] & MDB2_PORTABILITY_FIX_CASE - ) { - $row = array_change_key_case($row, $this->db->options['field_case']); - } - } else { - $row = @mysql_fetch_row($this->result); - } - - if (!$row) { - if ($this->result === false) { - $err = $this->db->raiseError(MDB2_ERROR_NEED_MORE_DATA, null, null, - 'resultset has already been freed', __FUNCTION__); - return $err; - } - return null; - } - $mode = $this->db->options['portability'] & MDB2_PORTABILITY_EMPTY_TO_NULL; - $rtrim = false; - if ($this->db->options['portability'] & MDB2_PORTABILITY_RTRIM) { - if (empty($this->types)) { - $mode += MDB2_PORTABILITY_RTRIM; - } else { - $rtrim = true; - } - } - if ($mode) { - $this->db->_fixResultArrayValues($row, $mode); - } - if ( ( $fetchmode != MDB2_FETCHMODE_ASSOC - && $fetchmode != MDB2_FETCHMODE_OBJECT) - && !empty($this->types) - ) { - $row = $this->db->datatype->convertResultRow($this->types, $row, $rtrim); - } elseif (($fetchmode == MDB2_FETCHMODE_ASSOC - || $fetchmode == MDB2_FETCHMODE_OBJECT) - && !empty($this->types_assoc) - ) { - $row = $this->db->datatype->convertResultRow($this->types_assoc, $row, $rtrim); - } - if (!empty($this->values)) { - $this->_assignBindColumns($row); - } - if ($fetchmode === MDB2_FETCHMODE_OBJECT) { - $object_class = $this->db->options['fetch_class']; - if ($object_class == 'stdClass') { - $row = (object) $row; - } else { - $rowObj = new $object_class($row); - $row = $rowObj; - } - } - ++$this->rownum; - return $row; - } - - // }}} - // {{{ _getColumnNames() - - /** - * Retrieve the names of columns returned by the DBMS in a query result. - * - * @return mixed Array variable that holds the names of columns as keys - * or an MDB2 error on failure. - * Some DBMS may not return any columns when the result set - * does not contain any rows. - * @access private - */ - function _getColumnNames() - { - $columns = array(); - $numcols = $this->numCols(); - if (PEAR::isError($numcols)) { - return $numcols; - } - for ($column = 0; $column < $numcols; $column++) { - $column_name = @mysql_field_name($this->result, $column); - $columns[$column_name] = $column; - } - if ($this->db->options['portability'] & MDB2_PORTABILITY_FIX_CASE) { - $columns = array_change_key_case($columns, $this->db->options['field_case']); - } - return $columns; - } - - // }}} - // {{{ numCols() - - /** - * Count the number of columns returned by the DBMS in a query result. - * - * @return mixed integer value with the number of columns, a MDB2 error - * on failure - * @access public - */ - function numCols() - { - $cols = @mysql_num_fields($this->result); - if (is_null($cols)) { - if ($this->result === false) { - return $this->db->raiseError(MDB2_ERROR_NEED_MORE_DATA, null, null, - 'resultset has already been freed', __FUNCTION__); - } elseif (is_null($this->result)) { - return count($this->types); - } - return $this->db->raiseError(null, null, null, - 'Could not get column count', __FUNCTION__); - } - return $cols; - } - - // }}} - // {{{ free() - - /** - * Free the internal resources associated with result. - * - * @return boolean true on success, false if result is invalid - * @access public - */ - function free() - { - if (is_resource($this->result) && $this->db->connection) { - $free = @mysql_free_result($this->result); - if ($free === false) { - return $this->db->raiseError(null, null, null, - 'Could not free result', __FUNCTION__); - } - } - $this->result = false; - return MDB2_OK; - } -} - -/** - * MDB2 MySQL buffered result driver - * - * @package MDB2 - * @category Database - * @author Lukas Smith - */ -class MDB2_BufferedResult_mysql extends MDB2_Result_mysql -{ - // }}} - // {{{ seek() - - /** - * Seek to a specific row in a result set - * - * @param int $rownum number of the row where the data can be found - * @return mixed MDB2_OK on success, a MDB2 error on failure - * @access public - */ - function seek($rownum = 0) - { - if ($this->rownum != ($rownum - 1) && !@mysql_data_seek($this->result, $rownum)) { - if ($this->result === false) { - return $this->db->raiseError(MDB2_ERROR_NEED_MORE_DATA, null, null, - 'resultset has already been freed', __FUNCTION__); - } elseif (is_null($this->result)) { - return MDB2_OK; - } - return $this->db->raiseError(MDB2_ERROR_INVALID, null, null, - 'tried to seek to an invalid row number ('.$rownum.')', __FUNCTION__); - } - $this->rownum = $rownum - 1; - return MDB2_OK; - } - - // }}} - // {{{ valid() - - /** - * Check if the end of the result set has been reached - * - * @return mixed true or false on sucess, a MDB2 error on failure - * @access public - */ - function valid() - { - $numrows = $this->numRows(); - if (PEAR::isError($numrows)) { - return $numrows; - } - return $this->rownum < ($numrows - 1); - } - - // }}} - // {{{ numRows() - - /** - * Returns the number of rows in a result object - * - * @return mixed MDB2 Error Object or the number of rows - * @access public - */ - function numRows() - { - $rows = @mysql_num_rows($this->result); - if (false === $rows) { - if (false === $this->result) { - return $this->db->raiseError(MDB2_ERROR_NEED_MORE_DATA, null, null, - 'resultset has already been freed', __FUNCTION__); - } elseif (is_null($this->result)) { - return 0; - } - return $this->db->raiseError(null, null, null, - 'Could not get row count', __FUNCTION__); - } - return $rows; - } - - // }}} -} - -/** - * MDB2 MySQL statement driver - * - * @package MDB2 - * @category Database - * @author Lukas Smith - */ -class MDB2_Statement_mysql extends MDB2_Statement_Common -{ - // {{{ _execute() - - /** - * Execute a prepared query statement helper method. - * - * @param mixed $result_class string which specifies which result class to use - * @param mixed $result_wrap_class string which specifies which class to wrap results in - * - * @return mixed MDB2_Result or integer (affected rows) on success, - * a MDB2 error on failure - * @access private - */ - function _execute($result_class = true, $result_wrap_class = true) - { - if (is_null($this->statement)) { - $result = parent::_execute($result_class, $result_wrap_class); - return $result; - } - $this->db->last_query = $this->query; - $this->db->debug($this->query, 'execute', array('is_manip' => $this->is_manip, 'when' => 'pre', 'parameters' => $this->values)); - if ($this->db->getOption('disable_query')) { - $result = $this->is_manip ? 0 : null; - return $result; - } - - $connection = $this->db->getConnection(); - if (PEAR::isError($connection)) { - return $connection; - } - - $query = 'EXECUTE '.$this->statement; - if (!empty($this->positions)) { - $parameters = array(); - foreach ($this->positions as $parameter) { - if (!array_key_exists($parameter, $this->values)) { - return $this->db->raiseError(MDB2_ERROR_NOT_FOUND, null, null, - 'Unable to bind to missing placeholder: '.$parameter, __FUNCTION__); - } - $close = false; - $value = $this->values[$parameter]; - $type = array_key_exists($parameter, $this->types) ? $this->types[$parameter] : null; - if (is_resource($value) || $type == 'clob' || $type == 'blob' && $this->db->options['lob_allow_url_include']) { - if (!is_resource($value) && preg_match('/^(\w+:\/\/)(.*)$/', $value, $match)) { - if ($match[1] == 'file://') { - $value = $match[2]; - } - $value = @fopen($value, 'r'); - $close = true; - } - if (is_resource($value)) { - $data = ''; - while (!@feof($value)) { - $data.= @fread($value, $this->db->options['lob_buffer_length']); - } - if ($close) { - @fclose($value); - } - $value = $data; - } - } - $quoted = $this->db->quote($value, $type); - if (PEAR::isError($quoted)) { - return $quoted; - } - $param_query = 'SET @'.$parameter.' = '.$quoted; - $result = $this->db->_doQuery($param_query, true, $connection); - if (PEAR::isError($result)) { - return $result; - } - } - $query.= ' USING @'.implode(', @', array_values($this->positions)); - } - - $result = $this->db->_doQuery($query, $this->is_manip, $connection); - if (PEAR::isError($result)) { - return $result; - } - - if ($this->is_manip) { - $affected_rows = $this->db->_affectedRows($connection, $result); - return $affected_rows; - } - - $result = $this->db->_wrapResult($result, $this->result_types, - $result_class, $result_wrap_class, $this->limit, $this->offset); - $this->db->debug($this->query, 'execute', array('is_manip' => $this->is_manip, 'when' => 'post', 'result' => $result)); - return $result; - } - - // }}} - // {{{ free() - - /** - * Release resources allocated for the specified prepared query. - * - * @return mixed MDB2_OK on success, a MDB2 error on failure - * @access public - */ - function free() - { - if (is_null($this->positions)) { - return $this->db->raiseError(MDB2_ERROR, null, null, - 'Prepared statement has already been freed', __FUNCTION__); - } - $result = MDB2_OK; - - if (!is_null($this->statement)) { - $connection = $this->db->getConnection(); - if (PEAR::isError($connection)) { - return $connection; - } - $query = 'DEALLOCATE PREPARE '.$this->statement; - $result = $this->db->_doQuery($query, true, $connection); - } - - parent::free(); - return $result; - } -} -?> diff --git a/3rdparty/MDB2/Driver/oci8.php b/3rdparty/MDB2/Driver/oci8.php deleted file mode 100644 index a1eefc94d15f9d1ddd9aa8dcd5c0aecad49d57f2..0000000000000000000000000000000000000000 --- a/3rdparty/MDB2/Driver/oci8.php +++ /dev/null @@ -1,1700 +0,0 @@ - | -// +----------------------------------------------------------------------+ - -// $Id: oci8.php 295587 2010-02-28 17:16:38Z quipo $ - -/** - * MDB2 OCI8 driver - * - * @package MDB2 - * @category Database - * @author Lukas Smith - */ -class MDB2_Driver_oci8 extends MDB2_Driver_Common -{ - // {{{ properties - var $string_quoting = array('start' => "'", 'end' => "'", 'escape' => "'", 'escape_pattern' => '@'); - - var $identifier_quoting = array('start' => '"', 'end' => '"', 'escape' => '"'); - - var $uncommitedqueries = 0; - // }}} - // {{{ constructor - - /** - * Constructor - */ - function __construct() - { - parent::__construct(); - - $this->phptype = 'oci8'; - $this->dbsyntax = 'oci8'; - - $this->supported['sequences'] = true; - $this->supported['indexes'] = true; - $this->supported['summary_functions'] = true; - $this->supported['order_by_text'] = true; - $this->supported['current_id'] = true; - $this->supported['affected_rows'] = true; - $this->supported['transactions'] = true; - $this->supported['savepoints'] = true; - $this->supported['limit_queries'] = true; - $this->supported['LOBs'] = true; - $this->supported['replace'] = 'emulated'; - $this->supported['sub_selects'] = true; - $this->supported['triggers'] = true; - $this->supported['auto_increment'] = false; // implementation is broken - $this->supported['primary_key'] = true; - $this->supported['result_introspection'] = true; - $this->supported['prepared_statements'] = true; - $this->supported['identifier_quoting'] = true; - $this->supported['pattern_escaping'] = true; - $this->supported['new_link'] = true; - - $this->options['DBA_username'] = false; - $this->options['DBA_password'] = false; - $this->options['database_name_prefix'] = false; - $this->options['emulate_database'] = true; - $this->options['default_tablespace'] = false; - $this->options['default_text_field_length'] = 2000; - $this->options['lob_allow_url_include'] = false; - $this->options['result_prefetching'] = false; - $this->options['max_identifiers_length'] = 30; - } - - // }}} - // {{{ errorInfo() - - /** - * This method is used to collect information about an error - * - * @param integer $error - * @return array - * @access public - */ - function errorInfo($error = null) - { - if (is_resource($error)) { - $error_data = @OCIError($error); - $error = null; - } elseif ($this->connection) { - $error_data = @OCIError($this->connection); - } else { - $error_data = @OCIError(); - } - $native_code = $error_data['code']; - $native_msg = $error_data['message']; - if (null === $error) { - static $ecode_map; - if (empty($ecode_map)) { - $ecode_map = array( - 1 => MDB2_ERROR_CONSTRAINT, - 900 => MDB2_ERROR_SYNTAX, - 904 => MDB2_ERROR_NOSUCHFIELD, - 911 => MDB2_ERROR_SYNTAX, //invalid character - 913 => MDB2_ERROR_VALUE_COUNT_ON_ROW, - 921 => MDB2_ERROR_SYNTAX, - 923 => MDB2_ERROR_SYNTAX, - 942 => MDB2_ERROR_NOSUCHTABLE, - 955 => MDB2_ERROR_ALREADY_EXISTS, - 1400 => MDB2_ERROR_CONSTRAINT_NOT_NULL, - 1401 => MDB2_ERROR_INVALID, - 1407 => MDB2_ERROR_CONSTRAINT_NOT_NULL, - 1418 => MDB2_ERROR_NOT_FOUND, - 1435 => MDB2_ERROR_NOT_FOUND, - 1476 => MDB2_ERROR_DIVZERO, - 1722 => MDB2_ERROR_INVALID_NUMBER, - 2289 => MDB2_ERROR_NOSUCHTABLE, - 2291 => MDB2_ERROR_CONSTRAINT, - 2292 => MDB2_ERROR_CONSTRAINT, - 2449 => MDB2_ERROR_CONSTRAINT, - 4081 => MDB2_ERROR_ALREADY_EXISTS, //trigger already exists - 24344 => MDB2_ERROR_SYNTAX, //success with compilation error - ); - } - if (isset($ecode_map[$native_code])) { - $error = $ecode_map[$native_code]; - } - } - return array($error, $native_code, $native_msg); - } - - // }}} - // {{{ beginTransaction() - - /** - * Start a transaction or set a savepoint. - * - * @param string name of a savepoint to set - * @return mixed MDB2_OK on success, a MDB2 error on failure - * - * @access public - */ - function beginTransaction($savepoint = null) - { - $this->debug('Starting transaction/savepoint', __FUNCTION__, array('is_manip' => true, 'savepoint' => $savepoint)); - if (null !== $savepoint) { - if (!$this->in_transaction) { - return $this->raiseError(MDB2_ERROR_INVALID, null, null, - 'savepoint cannot be released when changes are auto committed', __FUNCTION__); - } - $query = 'SAVEPOINT '.$savepoint; - return $this->_doQuery($query, true); - } - if ($this->in_transaction) { - return MDB2_OK; //nothing to do - } - if (!$this->destructor_registered && $this->opened_persistent) { - $this->destructor_registered = true; - register_shutdown_function('MDB2_closeOpenTransactions'); - } - $this->in_transaction = true; - ++$this->uncommitedqueries; - return MDB2_OK; - } - - // }}} - // {{{ commit() - - /** - * Commit the database changes done during a transaction that is in - * progress or release a savepoint. This function may only be called when - * auto-committing is disabled, otherwise it will fail. Therefore, a new - * transaction is implicitly started after committing the pending changes. - * - * @param string name of a savepoint to release - * @return mixed MDB2_OK on success, a MDB2 error on failure - * - * @access public - */ - function commit($savepoint = null) - { - $this->debug('Committing transaction/savepoint', __FUNCTION__, array('is_manip' => true, 'savepoint' => $savepoint)); - if (!$this->in_transaction) { - return $this->raiseError(MDB2_ERROR_INVALID, null, null, - 'commit/release savepoint cannot be done changes are auto committed', __FUNCTION__); - } - if (null !== $savepoint) { - return MDB2_OK; - } - - if ($this->uncommitedqueries) { - $connection = $this->getConnection(); - if (PEAR::isError($connection)) { - return $connection; - } - if (!@OCICommit($connection)) { - return $this->raiseError(null, null, null, - 'Unable to commit transaction', __FUNCTION__); - } - $this->uncommitedqueries = 0; - } - $this->in_transaction = false; - return MDB2_OK; - } - - // }}} - // {{{ rollback() - - /** - * Cancel any database changes done during a transaction or since a specific - * savepoint that is in progress. This function may only be called when - * auto-committing is disabled, otherwise it will fail. Therefore, a new - * transaction is implicitly started after canceling the pending changes. - * - * @param string name of a savepoint to rollback to - * @return mixed MDB2_OK on success, a MDB2 error on failure - * - * @access public - */ - function rollback($savepoint = null) - { - $this->debug('Rolling back transaction/savepoint', __FUNCTION__, array('is_manip' => true, 'savepoint' => $savepoint)); - if (!$this->in_transaction) { - return $this->raiseError(MDB2_ERROR_INVALID, null, null, - 'rollback cannot be done changes are auto committed', __FUNCTION__); - } - if (null !== $savepoint) { - $query = 'ROLLBACK TO SAVEPOINT '.$savepoint; - return $this->_doQuery($query, true); - } - - if ($this->uncommitedqueries) { - $connection = $this->getConnection(); - if (PEAR::isError($connection)) { - return $connection; - } - if (!@OCIRollback($connection)) { - return $this->raiseError(null, null, null, - 'Unable to rollback transaction', __FUNCTION__); - } - $this->uncommitedqueries = 0; - } - $this->in_transaction = false; - return MDB2_OK; - } - - // }}} - // {{{ function setTransactionIsolation() - - /** - * Set the transacton isolation level. - * - * @param string standard isolation level - * READ UNCOMMITTED (allows dirty reads) - * READ COMMITTED (prevents dirty reads) - * REPEATABLE READ (prevents nonrepeatable reads) - * SERIALIZABLE (prevents phantom reads) - * @param array some transaction options: - * 'wait' => 'WAIT' | 'NO WAIT' - * 'rw' => 'READ WRITE' | 'READ ONLY' - * - * @return mixed MDB2_OK on success, a MDB2 error on failure - * - * @access public - * @since 2.1.1 - */ - function setTransactionIsolation($isolation, $options = array()) - { - $this->debug('Setting transaction isolation level', __FUNCTION__, array('is_manip' => true)); - switch ($isolation) { - case 'READ UNCOMMITTED': - $isolation = 'READ COMMITTED'; - case 'READ COMMITTED': - case 'REPEATABLE READ': - $isolation = 'SERIALIZABLE'; - case 'SERIALIZABLE': - break; - default: - return $this->raiseError(MDB2_ERROR_UNSUPPORTED, null, null, - 'isolation level is not supported: '.$isolation, __FUNCTION__); - } - - $query = "ALTER SESSION ISOLATION LEVEL $isolation"; - return $this->_doQuery($query, true); - } - - // }}} - // {{{ _doConnect() - - /** - * do the grunt work of the connect - * - * @return connection on success or MDB2 Error Object on failure - * @access protected - */ - function _doConnect($username, $password, $persistent = false) - { - if (!PEAR::loadExtension($this->phptype)) { - return $this->raiseError(MDB2_ERROR_NOT_FOUND, null, null, - 'extension '.$this->phptype.' is not compiled into PHP', __FUNCTION__); - } - - $sid = ''; - - if (!empty($this->dsn['service']) && $this->dsn['hostspec']) { - //oci8://username:password@foo.example.com[:port]/?service=service - // service name is given, it is assumed that hostspec is really a - // hostname, we try to construct an oracle connection string from this - $port = $this->dsn['port'] ? $this->dsn['port'] : 1521; - $sid = sprintf("(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP) - (HOST=%s) (PORT=%s))) - (CONNECT_DATA=(SERVICE_NAME=%s)))", - $this->dsn['hostspec'], - $port, - $this->dsn['service'] - ); - } elseif ($this->dsn['hostspec']) { - // we are given something like 'oci8://username:password@foo/' - // we have hostspec but not a service name, now we assume that - // hostspec is a tnsname defined in tnsnames.ora - $sid = $this->dsn['hostspec']; - if (isset($this->dsn['port']) && $this->dsn['port']) { - $sid = $sid.':'.$this->dsn['port']; - } - } else { - // oci://username:password@ - // if everything fails, we have to rely on environment variables - // not before a check to 'emulate_database' - if (!$this->options['emulate_database'] && $this->database_name) { - $sid = $this->database_name; - } elseif (getenv('ORACLE_SID')) { - $sid = getenv('ORACLE_SID'); - } elseif ($sid = getenv('TWO_TASK')) { - $sid = getenv('TWO_TASK'); - } else { - return $this->raiseError(MDB2_ERROR_NOT_FOUND, null, null, - 'not a valid connection string or environment variable [ORACLE_SID|TWO_TASK] not set', - __FUNCTION__); - } - } - - if (function_exists('oci_connect')) { - if ($this->_isNewLinkSet()) { - $connect_function = 'oci_new_connect'; - } else { - $connect_function = $persistent ? 'oci_pconnect' : 'oci_connect'; - } - - $charset = empty($this->dsn['charset']) ? null : $this->dsn['charset']; - $session_mode = empty($this->dsn['session_mode']) ? null : $this->dsn['session_mode']; - $connection = @$connect_function($username, $password, $sid, $charset, $session_mode); - $error = @OCIError(); - if (isset($error['code']) && $error['code'] == 12541) { - // Couldn't find TNS listener. Try direct connection. - $connection = @$connect_function($username, $password, null, $charset); - } - } else { - $connect_function = $persistent ? 'OCIPLogon' : 'OCILogon'; - $connection = @$connect_function($username, $password, $sid); - - if (!empty($this->dsn['charset'])) { - $result = $this->setCharset($this->dsn['charset'], $connection); - if (PEAR::isError($result)) { - return $result; - } - } - } - - if (!$connection) { - return $this->raiseError(MDB2_ERROR_CONNECT_FAILED, null, null, - 'unable to establish a connection', __FUNCTION__); - } - - if (empty($this->dsn['disable_iso_date'])) { - $query = "ALTER SESSION SET NLS_DATE_FORMAT='YYYY-MM-DD HH24:MI:SS'"; - $err = $this->_doQuery($query, true, $connection); - if (PEAR::isError($err)) { - $this->disconnect(false); - return $err; - } - } - - $query = "ALTER SESSION SET NLS_NUMERIC_CHARACTERS='. '"; - $err = $this->_doQuery($query, true, $connection); - if (PEAR::isError($err)) { - $this->disconnect(false); - return $err; - } - - return $connection; - } - - // }}} - // {{{ connect() - - /** - * Connect to the database - * - * @return MDB2_OK on success, MDB2 Error Object on failure - * @access public - */ - function connect() - { - if (is_resource($this->connection)) { - //if (count(array_diff($this->connected_dsn, $this->dsn)) == 0 - if (MDB2::areEquals($this->connected_dsn, $this->dsn) - && $this->opened_persistent == $this->options['persistent'] - ) { - return MDB2_OK; - } - $this->disconnect(false); - } - - if ($this->database_name && $this->options['emulate_database']) { - $this->dsn['username'] = $this->options['database_name_prefix'].$this->database_name; - } - - $connection = $this->_doConnect($this->dsn['username'], - $this->dsn['password'], - $this->options['persistent']); - if (PEAR::isError($connection)) { - return $connection; - } - $this->connection = $connection; - $this->connected_dsn = $this->dsn; - $this->connected_database_name = ''; - $this->opened_persistent = $this->options['persistent']; - $this->dbsyntax = $this->dsn['dbsyntax'] ? $this->dsn['dbsyntax'] : $this->phptype; - - if ($this->database_name) { - if ($this->database_name != $this->connected_database_name) { - $query = 'ALTER SESSION SET CURRENT_SCHEMA = "' .strtoupper($this->database_name) .'"'; - $result = $this->_doQuery($query); - if (PEAR::isError($result)) { - $err = $this->raiseError($result, null, null, - 'Could not select the database: '.$this->database_name, __FUNCTION__); - return $err; - } - $this->connected_database_name = $this->database_name; - } - } - - $this->as_keyword = ' '; - $server_info = $this->getServerVersion(); - if (is_array($server_info)) { - if ($server_info['major'] >= '10') { - $this->as_keyword = ' AS '; - } - } - return MDB2_OK; - } - - // }}} - // {{{ databaseExists() - - /** - * check if given database name is exists? - * - * @param string $name name of the database that should be checked - * - * @return mixed true/false on success, a MDB2 error on failure - * @access public - */ - function databaseExists($name) - { - $connection = $this->_doConnect($this->dsn['username'], - $this->dsn['password'], - $this->options['persistent']); - if (PEAR::isError($connection)) { - return $connection; - } - - $query = 'ALTER SESSION SET CURRENT_SCHEMA = "' .strtoupper($name) .'"'; - $result = $this->_doQuery($query, true, $connection, false); - if (PEAR::isError($result)) { - if (!MDB2::isError($result, MDB2_ERROR_NOT_FOUND)) { - return $result; - } - return false; - } - return true; - } - - // }}} - // {{{ disconnect() - - /** - * Log out and disconnect from the database. - * - * @param boolean $force if the disconnect should be forced even if the - * connection is opened persistently - * @return mixed true on success, false if not connected and error - * object on error - * @access public - */ - function disconnect($force = true) - { - if (is_resource($this->connection)) { - if ($this->in_transaction) { - $dsn = $this->dsn; - $database_name = $this->database_name; - $persistent = $this->options['persistent']; - $this->dsn = $this->connected_dsn; - $this->database_name = $this->connected_database_name; - $this->options['persistent'] = $this->opened_persistent; - $this->rollback(); - $this->dsn = $dsn; - $this->database_name = $database_name; - $this->options['persistent'] = $persistent; - } - - if (!$this->opened_persistent || $force) { - $ok = false; - if (function_exists('oci_close')) { - $ok = @oci_close($this->connection); - } else { - $ok = @OCILogOff($this->connection); - } - if (!$ok) { - return $this->raiseError(MDB2_ERROR_DISCONNECT_FAILED, - null, null, null, __FUNCTION__); - } - } - $this->uncommitedqueries = 0; - } else { - return false; - } - return parent::disconnect($force); - } - - // }}} - // {{{ standaloneQuery() - - /** - * execute a query as DBA - * - * @param string $query the SQL query - * @param mixed $types array containing the types of the columns in - * the result set - * @param boolean $is_manip if the query is a manipulation query - * @return mixed MDB2_OK on success, a MDB2 error on failure - * @access public - */ - function standaloneQuery($query, $types = null, $is_manip = false) - { - $user = $this->options['DBA_username']? $this->options['DBA_username'] : $this->dsn['username']; - $pass = $this->options['DBA_password']? $this->options['DBA_password'] : $this->dsn['password']; - $connection = $this->_doConnect($user, $pass, $this->options['persistent']); - if (PEAR::isError($connection)) { - return $connection; - } - - $offset = $this->offset; - $limit = $this->limit; - $this->offset = $this->limit = 0; - $query = $this->_modifyQuery($query, $is_manip, $limit, $offset); - - $result = $this->_doQuery($query, $is_manip, $connection, false); - if (!PEAR::isError($result)) { - if ($is_manip) { - $result = $this->_affectedRows($connection, $result); - } else { - $result = $this->_wrapResult($result, $types, true, false, $limit, $offset); - } - } - - @OCILogOff($connection); - return $result; - } - - // }}} - // {{{ _modifyQuery() - - /** - * Changes a query string for various DBMS specific reasons - * - * @param string $query query to modify - * @param boolean $is_manip if it is a DML query - * @param integer $limit limit the number of rows - * @param integer $offset start reading from given offset - * @return string modified query - * @access protected - */ - function _modifyQuery($query, $is_manip, $limit, $offset) - { - if (preg_match('/^\s*SELECT/i', $query)) { - if (!preg_match('/\sFROM\s/i', $query)) { - $query.= " FROM dual"; - } - if ($limit > 0) { - // taken from http://svn.ez.no/svn/ezcomponents/packages/Database - $max = $offset + $limit; - if ($offset > 0) { - $min = $offset + 1; - $query = "SELECT * FROM (SELECT a.*, ROWNUM mdb2rn FROM ($query) a WHERE ROWNUM <= $max) WHERE mdb2rn >= $min"; - } else { - $query = "SELECT a.* FROM ($query) a WHERE ROWNUM <= $max"; - } - } - } - return $query; - } - - /** - * Obtain DBMS specific SQL code portion needed to declare a generic type - * field to be used in statement like CREATE TABLE, without the field name - * and type values (ie. just the character set, default value, if the - * field is permitted to be NULL or not, and the collation options). - * - * @param array $field associative array with the name of the properties - * of the field being declared as array indexes. Currently, the types - * of supported field properties are as follows: - * - * default - * Text value to be used as default for this field. - * notnull - * Boolean flag that indicates whether this field is constrained - * to not be set to null. - * charset - * Text value with the default CHARACTER SET for this field. - * collation - * Text value with the default COLLATION for this field. - * @return string DBMS specific SQL code portion that should be used to - * declare the specified field's options. - * @access protected - */ - function _getDeclarationOptions($field) - { - $charset = empty($field['charset']) ? '' : - ' '.$this->_getCharsetFieldDeclaration($field['charset']); - - $notnull = empty($field['notnull']) ? ' NULL' : ' NOT NULL'; - $default = ''; - if (array_key_exists('default', $field)) { - if ($field['default'] === '') { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - $valid_default_values = $this->getValidTypes(); - $field['default'] = $valid_default_values[$field['type']]; - if ($field['default'] === '' && ($db->options['portability'] & MDB2_PORTABILITY_EMPTY_TO_NULL)) { - $field['default'] = ' '; - } - } - if (null !== $field['default']) { - $default = ' DEFAULT ' . $this->quote($field['default'], $field['type']); - } - } - - $collation = empty($field['collation']) ? '' : - ' '.$this->_getCollationFieldDeclaration($field['collation']); - - return $charset.$default.$notnull.$collation; - } - - // }}} - // {{{ _doQuery() - - /** - * Execute a query - * @param string $query query - * @param boolean $is_manip if the query is a manipulation query - * @param resource $connection - * @param string $database_name - * @return result or error object - * @access protected - */ - function _doQuery($query, $is_manip = false, $connection = null, $database_name = null) - { - $this->last_query = $query; - $result = $this->debug($query, 'query', array('is_manip' => $is_manip, 'when' => 'pre')); - if ($result) { - if (PEAR::isError($result)) { - return $result; - } - $query = $result; - } - if ($this->getOption('disable_query')) { - if ($is_manip) { - return 0; - } - return null; - } - - if (null === $connection) { - $connection = $this->getConnection(); - if (PEAR::isError($connection)) { - return $connection; - } - } - - $query = str_replace("\r\n", "\n", $query); //for fixing end-of-line character in the PL/SQL in windows - $result = @OCIParse($connection, $query); - if (!$result) { - $err = $this->raiseError(null, null, null, - 'Could not create statement', __FUNCTION__); - return $err; - } - - $mode = $this->in_transaction ? OCI_DEFAULT : OCI_COMMIT_ON_SUCCESS; - if (!@OCIExecute($result, $mode)) { - $err = $this->raiseError($result, null, null, - 'Could not execute statement', __FUNCTION__); - return $err; - } - - if (is_numeric($this->options['result_prefetching'])) { - @ocisetprefetch($result, $this->options['result_prefetching']); - } - - $this->debug($query, 'query', array('is_manip' => $is_manip, 'when' => 'post', 'result' => $result)); - return $result; - } - - // }}} - // {{{ _affectedRows() - - /** - * Returns the number of rows affected - * - * @param resource $result - * @param resource $connection - * @return mixed MDB2 Error Object or the number of rows affected - * @access private - */ - function _affectedRows($connection, $result = null) - { - if (null === $connection) { - $connection = $this->getConnection(); - if (PEAR::isError($connection)) { - return $connection; - } - } - return @OCIRowCount($result); - } - - // }}} - // {{{ getServerVersion() - - /** - * return version information about the server - * - * @param bool $native determines if the raw version string should be returned - * @return mixed array/string with version information or MDB2 error object - * @access public - */ - function getServerVersion($native = false) - { - $connection = $this->getConnection(); - if (PEAR::isError($connection)) { - return $connection; - } - if ($this->connected_server_info) { - $server_info = $this->connected_server_info; - } else { - $server_info = @ociserverversion($connection); - } - if (!$server_info) { - return $this->raiseError(null, null, null, - 'Could not get server information', __FUNCTION__); - } - // cache server_info - $this->connected_server_info = $server_info; - if (!$native) { - if (!preg_match('/ (\d+)\.(\d+)\.(\d+)\.([\d\.]+) /', $server_info, $tmp)) { - return $this->raiseError(MDB2_ERROR_INVALID, null, null, - 'Could not parse version information:'.$server_info, __FUNCTION__); - } - $server_info = array( - 'major' => $tmp[1], - 'minor' => $tmp[2], - 'patch' => $tmp[3], - 'extra' => $tmp[4], - 'native' => $server_info, - ); - } - return $server_info; - } - - // }}} - // {{{ prepare() - - /** - * Prepares a query for multiple execution with execute(). - * With some database backends, this is emulated. - * prepare() requires a generic query as string like - * 'INSERT INTO numbers VALUES(?,?)' or - * 'INSERT INTO numbers VALUES(:foo,:bar)'. - * The ? and :name and are placeholders which can be set using - * bindParam() and the query can be sent off using the execute() method. - * The allowed format for :name can be set with the 'bindname_format' option. - * - * @param string $query the query to prepare - * @param mixed $types array that contains the types of the placeholders - * @param mixed $result_types array that contains the types of the columns in - * the result set or MDB2_PREPARE_RESULT, if set to - * MDB2_PREPARE_MANIP the query is handled as a manipulation query - * @param mixed $lobs key (field) value (parameter) pair for all lob placeholders - * @return mixed resource handle for the prepared query on success, a MDB2 - * error on failure - * @access public - * @see bindParam, execute - */ - function prepare($query, $types = null, $result_types = null, $lobs = array()) - { - if ($this->options['emulate_prepared']) { - return parent::prepare($query, $types, $result_types, $lobs); - } - $is_manip = ($result_types === MDB2_PREPARE_MANIP); - $offset = $this->offset; - $limit = $this->limit; - $this->offset = $this->limit = 0; - $result = $this->debug($query, __FUNCTION__, array('is_manip' => $is_manip, 'when' => 'pre')); - if ($result) { - if (PEAR::isError($result)) { - return $result; - } - $query = $result; - } - $query = $this->_modifyQuery($query, $is_manip, $limit, $offset); - $placeholder_type_guess = $placeholder_type = null; - $question = '?'; - $colon = ':'; - $positions = array(); - $position = 0; - $parameter = -1; - while ($position < strlen($query)) { - $q_position = strpos($query, $question, $position); - $c_position = strpos($query, $colon, $position); - if ($q_position && $c_position) { - $p_position = min($q_position, $c_position); - } elseif ($q_position) { - $p_position = $q_position; - } elseif ($c_position) { - $p_position = $c_position; - } else { - break; - } - if (null === $placeholder_type) { - $placeholder_type_guess = $query[$p_position]; - } - - $new_pos = $this->_skipDelimitedStrings($query, $position, $p_position); - if (PEAR::isError($new_pos)) { - return $new_pos; - } - if ($new_pos != $position) { - $position = $new_pos; - continue; //evaluate again starting from the new position - } - - if ($query[$position] == $placeholder_type_guess) { - if (null === $placeholder_type) { - $placeholder_type = $query[$p_position]; - $question = $colon = $placeholder_type; - if (!empty($types) && is_array($types)) { - if ($placeholder_type == ':') { - if (is_int(key($types))) { - $types_tmp = $types; - $types = array(); - $count = -1; - } - } else { - $types = array_values($types); - } - } - } - if ($placeholder_type == ':') { - $regexp = '/^.{'.($position+1).'}('.$this->options['bindname_format'].').*$/s'; - $parameter = preg_replace($regexp, '\\1', $query); - if ($parameter === '') { - $err = $this->raiseError(MDB2_ERROR_SYNTAX, null, null, - 'named parameter name must match "bindname_format" option', __FUNCTION__); - return $err; - } - // use parameter name in type array - if (isset($count) && isset($types_tmp[++$count])) { - $types[$parameter] = $types_tmp[$count]; - } - $length = strlen($parameter) + 1; - } else { - ++$parameter; - //$length = strlen($parameter); - $length = 1; // strlen('?') - } - if (!in_array($parameter, $positions)) { - $positions[] = $parameter; - } - if (isset($types[$parameter]) - && ($types[$parameter] == 'clob' || $types[$parameter] == 'blob') - ) { - if (!isset($lobs[$parameter])) { - $lobs[$parameter] = $parameter; - } - $value = $this->quote(true, $types[$parameter]); - if (PEAR::isError($value)) { - return $value; - } - $query = substr_replace($query, $value, $p_position, $length); - $position = $p_position + strlen($value) - 1; - } elseif ($placeholder_type == '?') { - $query = substr_replace($query, ':'.$parameter, $p_position, 1); - $position = $p_position + $length; - } else { - $position = $p_position + 1; - } - } else { - $position = $p_position; - } - } - if (is_array($lobs)) { - $columns = $variables = ''; - foreach ($lobs as $parameter => $field) { - $columns.= ($columns ? ', ' : ' RETURNING ').$field; - $variables.= ($variables ? ', ' : ' INTO ').':'.$parameter; - } - $query.= $columns.$variables; - } - $connection = $this->getConnection(); - if (PEAR::isError($connection)) { - return $connection; - } - $statement = @OCIParse($connection, $query); - if (!$statement) { - $err = $this->raiseError(null, null, null, - 'Could not create statement', __FUNCTION__); - return $err; - } - - $class_name = 'MDB2_Statement_'.$this->phptype; - $obj = new $class_name($this, $statement, $positions, $query, $types, $result_types, $is_manip, $limit, $offset); - $this->debug($query, __FUNCTION__, array('is_manip' => $is_manip, 'when' => 'post', 'result' => $obj)); - return $obj; - } - - // }}} - // {{{ nextID() - - /** - * Returns the next free id of a sequence - * - * @param string $seq_name name of the sequence - * @param boolean $ondemand when true the sequence is - * automatic created, if it - * not exists - * @return mixed MDB2 Error Object or id - * @access public - */ - function nextID($seq_name, $ondemand = true) - { - $sequence_name = $this->quoteIdentifier($this->getSequenceName($seq_name), true); - $query = "SELECT $sequence_name.nextval FROM DUAL"; - $this->pushErrorHandling(PEAR_ERROR_RETURN); - $this->expectError(MDB2_ERROR_NOSUCHTABLE); - $result = $this->queryOne($query, 'integer'); - $this->popExpect(); - $this->popErrorHandling(); - if (PEAR::isError($result)) { - if ($ondemand && $result->getCode() == MDB2_ERROR_NOSUCHTABLE) { - $this->loadModule('Manager', null, true); - $result = $this->manager->createSequence($seq_name); - if (PEAR::isError($result)) { - return $result; - } - return $this->nextId($seq_name, false); - } - } - return $result; - } - - // }}} - // {{{ lastInsertID() - - /** - * Returns the autoincrement ID if supported or $id or fetches the current - * ID in a sequence called: $table.(empty($field) ? '' : '_'.$field) - * - * @param string $table name of the table into which a new row was inserted - * @param string $field name of the field into which a new row was inserted - * @return mixed MDB2 Error Object or id - * @access public - */ - function lastInsertID($table = null, $field = null) - { - $old_seq = $table.(empty($field) ? '' : '_'.$field); - $sequence_name = $this->quoteIdentifier($this->getSequenceName($table), true); - $result = $this->queryOne("SELECT $sequence_name.currval", 'integer'); - if (PEAR::isError($result)) { - $sequence_name = $this->quoteIdentifier($this->getSequenceName($old_seq), true); - $result = $this->queryOne("SELECT $sequence_name.currval", 'integer'); - } - - return $result; - } - - // }}} - // {{{ currId() - - /** - * Returns the current id of a sequence - * - * @param string $seq_name name of the sequence - * @return mixed MDB2_Error or id - * @access public - */ - function currId($seq_name) - { - $sequence_name = $this->getSequenceName($seq_name); - $query = 'SELECT (last_number-1) FROM all_sequences'; - $query.= ' WHERE sequence_name='.$this->quote($sequence_name, 'text'); - $query.= ' OR sequence_name='.$this->quote(strtoupper($sequence_name), 'text'); - return $this->queryOne($query, 'integer'); - } -} - -/** - * MDB2 OCI8 result driver - * - * @package MDB2 - * @category Database - * @author Lukas Smith - */ -class MDB2_Result_oci8 extends MDB2_Result_Common -{ - // }}} - // {{{ fetchRow() - - /** - * Fetch a row and insert the data into an existing array. - * - * @param int $fetchmode how the array data should be indexed - * @param int $rownum number of the row where the data can be found - * @return int data array on success, a MDB2 error on failure - * @access public - */ - function fetchRow($fetchmode = MDB2_FETCHMODE_DEFAULT, $rownum = null) - { - if (null !== $rownum) { - $seek = $this->seek($rownum); - if (PEAR::isError($seek)) { - return $seek; - } - } - if ($fetchmode == MDB2_FETCHMODE_DEFAULT) { - $fetchmode = $this->db->fetchmode; - } - if ($fetchmode & MDB2_FETCHMODE_ASSOC) { - @OCIFetchInto($this->result, $row, OCI_ASSOC+OCI_RETURN_NULLS); - if (is_array($row) - && $this->db->options['portability'] & MDB2_PORTABILITY_FIX_CASE - ) { - $row = array_change_key_case($row, $this->db->options['field_case']); - } - } else { - @OCIFetchInto($this->result, $row, OCI_RETURN_NULLS); - } - if (!$row) { - if (false === $this->result) { - $err = $this->db->raiseError(MDB2_ERROR_NEED_MORE_DATA, null, null, - 'resultset has already been freed', __FUNCTION__); - return $err; - } - return null; - } - // remove additional column at the end - if ($this->offset > 0) { - array_pop($row); - } - $mode = 0; - $rtrim = false; - if ($this->db->options['portability'] & MDB2_PORTABILITY_RTRIM) { - if (empty($this->types)) { - $mode += MDB2_PORTABILITY_RTRIM; - } else { - $rtrim = true; - } - } - if ($mode) { - $this->db->_fixResultArrayValues($row, $mode); - } - if (!empty($this->types)) { - $row = $this->db->datatype->convertResultRow($this->types, $row, $rtrim); - } - if (!empty($this->values)) { - $this->_assignBindColumns($row); - } - if ($fetchmode === MDB2_FETCHMODE_OBJECT) { - $object_class = $this->db->options['fetch_class']; - if ($object_class == 'stdClass') { - $row = (object) $row; - } else { - $rowObj = new $object_class($row); - $row = $rowObj; - } - } - ++$this->rownum; - return $row; - } - - // }}} - // {{{ _getColumnNames() - - /** - * Retrieve the names of columns returned by the DBMS in a query result. - * - * @return mixed Array variable that holds the names of columns as keys - * or an MDB2 error on failure. - * Some DBMS may not return any columns when the result set - * does not contain any rows. - * @access private - */ - function _getColumnNames() - { - $columns = array(); - $numcols = $this->numCols(); - if (PEAR::isError($numcols)) { - return $numcols; - } - for ($column = 0; $column < $numcols; $column++) { - $column_name = @OCIColumnName($this->result, $column + 1); - $columns[$column_name] = $column; - } - if ($this->db->options['portability'] & MDB2_PORTABILITY_FIX_CASE) { - $columns = array_change_key_case($columns, $this->db->options['field_case']); - } - return $columns; - } - - // }}} - // {{{ numCols() - - /** - * Count the number of columns returned by the DBMS in a query result. - * - * @return mixed integer value with the number of columns, a MDB2 error - * on failure - * @access public - */ - function numCols() - { - $cols = @OCINumCols($this->result); - if (null === $cols) { - if (false === $this->result) { - return $this->db->raiseError(MDB2_ERROR_NEED_MORE_DATA, null, null, - 'resultset has already been freed', __FUNCTION__); - } - if (null === $this->result) { - return count($this->types); - } - return $this->db->raiseError(null, null, null, - 'Could not get column count', __FUNCTION__); - } - if ($this->offset > 0) { - --$cols; - } - return $cols; - } - - // }}} - // {{{ free() - - /** - * Free the internal resources associated with $result. - * - * @return boolean true on success, false if $result is invalid - * @access public - */ - function free() - { - if (is_resource($this->result) && $this->db->connection) { - $free = @OCIFreeCursor($this->result); - if (false === $free) { - return $this->db->raiseError(null, null, null, - 'Could not free result', __FUNCTION__); - } - } - $this->result = false; - return MDB2_OK; - - } -} - -/** - * MDB2 OCI8 buffered result driver - * - * @package MDB2 - * @category Database - * @author Lukas Smith - */ -class MDB2_BufferedResult_oci8 extends MDB2_Result_oci8 -{ - var $buffer; - var $buffer_rownum = - 1; - - // {{{ _fillBuffer() - - /** - * Fill the row buffer - * - * @param int $rownum row number upto which the buffer should be filled - if the row number is null all rows are ready into the buffer - * @return boolean true on success, false on failure - * @access protected - */ - function _fillBuffer($rownum = null) - { - if (isset($this->buffer) && is_array($this->buffer)) { - if (null === $rownum) { - if (!end($this->buffer)) { - return false; - } - } elseif (isset($this->buffer[$rownum])) { - return (bool)$this->buffer[$rownum]; - } - } - - $row = true; - while (((null === $rownum) || $this->buffer_rownum < $rownum) - && ($row = @OCIFetchInto($this->result, $buffer, OCI_RETURN_NULLS)) - ) { - ++$this->buffer_rownum; - // remove additional column at the end - if ($this->offset > 0) { - array_pop($buffer); - } - if (empty($this->types)) { - foreach (array_keys($buffer) as $key) { - if (is_a($buffer[$key], 'oci-lob')) { - $buffer[$key] = $buffer[$key]->load(); - } - } - } - $this->buffer[$this->buffer_rownum] = $buffer; - } - - if (!$row) { - ++$this->buffer_rownum; - $this->buffer[$this->buffer_rownum] = false; - return false; - } - return true; - } - - // }}} - // {{{ fetchRow() - - /** - * Fetch a row and insert the data into an existing array. - * - * @param int $fetchmode how the array data should be indexed - * @param int $rownum number of the row where the data can be found - * @return int data array on success, a MDB2 error on failure - * @access public - */ - function fetchRow($fetchmode = MDB2_FETCHMODE_DEFAULT, $rownum = null) - { - if (false === $this->result) { - $err = $this->db->raiseError(MDB2_ERROR_NEED_MORE_DATA, null, null, - 'resultset has already been freed', __FUNCTION__); - return $err; - } - if (null === $this->result) { - return null; - } - if (null !== $rownum) { - $seek = $this->seek($rownum); - if (PEAR::isError($seek)) { - return $seek; - } - } - $target_rownum = $this->rownum + 1; - if ($fetchmode == MDB2_FETCHMODE_DEFAULT) { - $fetchmode = $this->db->fetchmode; - } - if (!$this->_fillBuffer($target_rownum)) { - return null; - } - $row = $this->buffer[$target_rownum]; - if ($fetchmode & MDB2_FETCHMODE_ASSOC) { - $column_names = $this->getColumnNames(); - foreach ($column_names as $name => $i) { - $column_names[$name] = $row[$i]; - } - $row = $column_names; - } - $mode = 0; - $rtrim = false; - if ($this->db->options['portability'] & MDB2_PORTABILITY_RTRIM) { - if (empty($this->types)) { - $mode += MDB2_PORTABILITY_RTRIM; - } else { - $rtrim = true; - } - } - if ($mode) { - $this->db->_fixResultArrayValues($row, $mode); - } - if (!empty($this->types)) { - $row = $this->db->datatype->convertResultRow($this->types, $row, $rtrim); - } - if (!empty($this->values)) { - $this->_assignBindColumns($row); - } - if ($fetchmode === MDB2_FETCHMODE_OBJECT) { - $object_class = $this->db->options['fetch_class']; - if ($object_class == 'stdClass') { - $row = (object) $row; - } else { - $rowObj = new $object_class($row); - $row = $rowObj; - } - } - ++$this->rownum; - return $row; - } - - // }}} - // {{{ seek() - - /** - * Seek to a specific row in a result set - * - * @param int $rownum number of the row where the data can be found - * @return mixed MDB2_OK on success, a MDB2 error on failure - * @access public - */ - function seek($rownum = 0) - { - if (false === $this->result) { - return $this->db->raiseError(MDB2_ERROR_NEED_MORE_DATA, null, null, - 'resultset has already been freed', __FUNCTION__); - } - $this->rownum = $rownum - 1; - return MDB2_OK; - } - - // }}} - // {{{ valid() - - /** - * Check if the end of the result set has been reached - * - * @return mixed true or false on sucess, a MDB2 error on failure - * @access public - */ - function valid() - { - if (false === $this->result) { - return $this->db->raiseError(MDB2_ERROR_NEED_MORE_DATA, null, null, - 'resultset has already been freed', __FUNCTION__); - } - if (null === $this->result) { - return true; - } - if ($this->_fillBuffer($this->rownum + 1)) { - return true; - } - return false; - } - - // }}} - // {{{ numRows() - - /** - * Returns the number of rows in a result object - * - * @return mixed MDB2 Error Object or the number of rows - * @access public - */ - function numRows() - { - if (false === $this->result) { - return $this->db->raiseError(MDB2_ERROR_NEED_MORE_DATA, null, null, - 'resultset has already been freed', __FUNCTION__); - } - if (null === $this->result) { - return 0; - } - $this->_fillBuffer(); - return $this->buffer_rownum; - } - - // }}} - // {{{ free() - - /** - * Free the internal resources associated with $result. - * - * @return boolean true on success, false if $result is invalid - * @access public - */ - function free() - { - $this->buffer = null; - $this->buffer_rownum = null; - return parent::free(); - } -} - -/** - * MDB2 OCI8 statement driver - * - * @package MDB2 - * @category Database - * @author Lukas Smith - */ -class MDB2_Statement_oci8 extends MDB2_Statement_Common -{ - // {{{ Variables (Properties) - - var $type_maxlengths = array(); - - // }}} - // {{{ bindParam() - - /** - * Bind a variable to a parameter of a prepared query. - * - * @param int $parameter the order number of the parameter in the query - * statement. The order number of the first parameter is 1. - * @param mixed &$value variable that is meant to be bound to specified - * parameter. The type of the value depends on the $type argument. - * @param string $type specifies the type of the field - * @param int $maxlength specifies the maximum length of the field; if set to -1, the - * current length of $value is used - * - * @return mixed MDB2_OK on success, a MDB2 error on failure - * - * @access public - */ - function bindParam($parameter, &$value, $type = null, $maxlength = -1) - { - if (!is_numeric($parameter)) { - $parameter = preg_replace('/^:(.*)$/', '\\1', $parameter); - } - if (MDB2_OK === ($ret = parent::bindParam($parameter, $value, $type))) { - $this->type_maxlengths[$parameter] = $maxlength; - } - - return $ret; - } - - // }}} - // {{{ _execute() - - /** - * Execute a prepared query statement helper method. - * - * @param mixed $result_class string which specifies which result class to use - * @param mixed $result_wrap_class string which specifies which class to wrap results in - * - * @return mixed MDB2_Result or integer (affected rows) on success, - * a MDB2 error on failure - * @access private - */ - function _execute($result_class = true, $result_wrap_class = false) - { - if (null === $this->statement) { - return parent::_execute($result_class, $result_wrap_class); - } - $this->db->last_query = $this->query; - $this->db->debug($this->query, 'execute', array('is_manip' => $this->is_manip, 'when' => 'pre', 'parameters' => $this->values)); - if ($this->db->getOption('disable_query')) { - $result = $this->is_manip ? 0 : null; - return $result; - } - - $connection = $this->db->getConnection(); - if (PEAR::isError($connection)) { - return $connection; - } - - $result = MDB2_OK; - $lobs = $quoted_values = array(); - $i = 0; - foreach ($this->positions as $parameter) { - if (!array_key_exists($parameter, $this->values)) { - return $this->db->raiseError(MDB2_ERROR_NOT_FOUND, null, null, - 'Unable to bind to missing placeholder: '.$parameter, __FUNCTION__); - } - $type = array_key_exists($parameter, $this->types) ? $this->types[$parameter] : null; - if ($type == 'clob' || $type == 'blob') { - $lobs[$i]['file'] = false; - if (is_resource($this->values[$parameter])) { - $fp = $this->values[$parameter]; - $this->values[$parameter] = ''; - while (!feof($fp)) { - $this->values[$parameter] .= fread($fp, 8192); - } - } elseif (is_a($this->values[$parameter], 'OCI-Lob')) { - //do nothing - } elseif ($this->db->getOption('lob_allow_url_include') - && preg_match('/^(\w+:\/\/)(.*)$/', $this->values[$parameter], $match) - ) { - $lobs[$i]['file'] = true; - if ($match[1] == 'file://') { - $this->values[$parameter] = $match[2]; - } - } - $lobs[$i]['value'] = $this->values[$parameter]; - $lobs[$i]['descriptor'] =& $this->values[$parameter]; - // Test to see if descriptor has already been created for this - // variable (i.e. if it has been bound more than once): - if (!is_a($this->values[$parameter], 'OCI-Lob')) { - $this->values[$parameter] = @OCINewDescriptor($connection, OCI_D_LOB); - if (false === $this->values[$parameter]) { - $result = $this->db->raiseError(null, null, null, - 'Unable to create descriptor for LOB in parameter: '.$parameter, __FUNCTION__); - break; - } - } - $lob_type = ($type == 'blob' ? OCI_B_BLOB : OCI_B_CLOB); - if (!@OCIBindByName($this->statement, ':'.$parameter, $lobs[$i]['descriptor'], -1, $lob_type)) { - $result = $this->db->raiseError($this->statement, null, null, - 'could not bind LOB parameter', __FUNCTION__); - break; - } - } else if ($type == OCI_B_BFILE) { - // Test to see if descriptor has already been created for this - // variable (i.e. if it has been bound more than once): - if (!is_a($this->values[$parameter], "OCI-Lob")) { - $this->values[$parameter] = @OCINewDescriptor($connection, OCI_D_FILE); - if (false === $this->values[$parameter]) { - $result = $this->db->raiseError(null, null, null, - 'Unable to create descriptor for BFILE in parameter: '.$parameter, __FUNCTION__); - break; - } - } - if (!@OCIBindByName($this->statement, ':'.$parameter, $this->values[$parameter], -1, $type)) { - $result = $this->db->raiseError($this->statement, null, null, - 'Could not bind BFILE parameter', __FUNCTION__); - break; - } - } else if ($type == OCI_B_ROWID) { - // Test to see if descriptor has already been created for this - // variable (i.e. if it has been bound more than once): - if (!is_a($this->values[$parameter], "OCI-Lob")) { - $this->values[$parameter] = @OCINewDescriptor($connection, OCI_D_ROWID); - if (false === $this->values[$parameter]) { - $result = $this->db->raiseError(null, null, null, - 'Unable to create descriptor for ROWID in parameter: '.$parameter, __FUNCTION__); - break; - } - } - if (!@OCIBindByName($this->statement, ':'.$parameter, $this->values[$parameter], -1, $type)) { - $result = $this->db->raiseError($this->statement, null, null, - 'Could not bind ROWID parameter', __FUNCTION__); - break; - } - } else if ($type == OCI_B_CURSOR) { - // Test to see if cursor has already been allocated for this - // variable (i.e. if it has been bound more than once): - if (!is_resource($this->values[$parameter]) || !get_resource_type($this->values[$parameter]) == "oci8 statement") { - $this->values[$parameter] = @OCINewCursor($connection); - if (false === $this->values[$parameter]) { - $result = $this->db->raiseError(null, null, null, - 'Unable to allocate cursor for parameter: '.$parameter, __FUNCTION__); - break; - } - } - if (!@OCIBindByName($this->statement, ':'.$parameter, $this->values[$parameter], -1, $type)) { - $result = $this->db->raiseError($this->statement, null, null, - 'Could not bind CURSOR parameter', __FUNCTION__); - break; - } - } else { - $maxlength = array_key_exists($parameter, $this->type_maxlengths) ? $this->type_maxlengths[$parameter] : -1; - $this->values[$parameter] = $this->db->quote($this->values[$parameter], $type, false); - $quoted_values[$i] =& $this->values[$parameter]; - if (PEAR::isError($quoted_values[$i])) { - return $quoted_values[$i]; - } - if (!@OCIBindByName($this->statement, ':'.$parameter, $quoted_values[$i], $maxlength)) { - $result = $this->db->raiseError($this->statement, null, null, - 'could not bind non-abstract parameter', __FUNCTION__); - break; - } - } - ++$i; - } - - $lob_keys = array_keys($lobs); - if (!PEAR::isError($result)) { - $mode = (!empty($lobs) || $this->db->in_transaction) ? OCI_DEFAULT : OCI_COMMIT_ON_SUCCESS; - if (!@OCIExecute($this->statement, $mode)) { - $err = $this->db->raiseError($this->statement, null, null, - 'could not execute statement', __FUNCTION__); - return $err; - } - - if (!empty($lobs)) { - foreach ($lob_keys as $i) { - if ((null !== $lobs[$i]['value']) && $lobs[$i]['value'] !== '') { - if (is_object($lobs[$i]['value'])) { - // Probably a NULL LOB - // @see http://bugs.php.net/bug.php?id=27485 - continue; - } - if ($lobs[$i]['file']) { - $result = $lobs[$i]['descriptor']->savefile($lobs[$i]['value']); - } else { - $result = $lobs[$i]['descriptor']->save($lobs[$i]['value']); - } - if (!$result) { - $result = $this->db->raiseError(null, null, null, - 'Unable to save descriptor contents', __FUNCTION__); - break; - } - } - } - - if (!PEAR::isError($result)) { - if (!$this->db->in_transaction) { - if (!@OCICommit($connection)) { - $result = $this->db->raiseError(null, null, null, - 'Unable to commit transaction', __FUNCTION__); - } - } else { - ++$this->db->uncommitedqueries; - } - } - } - } - - if (PEAR::isError($result)) { - return $result; - } - - if ($this->is_manip) { - $affected_rows = $this->db->_affectedRows($connection, $this->statement); - return $affected_rows; - } - - $result = $this->db->_wrapResult($this->statement, $this->result_types, - $result_class, $result_wrap_class, $this->limit, $this->offset); - $this->db->debug($this->query, 'execute', array('is_manip' => $this->is_manip, 'when' => 'post', 'result' => $result)); - return $result; - } - - // }}} - // {{{ free() - - /** - * Release resources allocated for the specified prepared query. - * - * @return mixed MDB2_OK on success, a MDB2 error on failure - * @access public - */ - function free() - { - if (null === $this->positions) { - return $this->db->raiseError(MDB2_ERROR, null, null, - 'Prepared statement has already been freed', __FUNCTION__); - } - $result = MDB2_OK; - - if ((null !== $this->statement) && !@OCIFreeStatement($this->statement)) { - $result = $this->db->raiseError(null, null, null, - 'Could not free statement', __FUNCTION__); - } - - parent::free(); - return $result; - } -} -?> \ No newline at end of file diff --git a/3rdparty/MDB2/Driver/pgsql.php b/3rdparty/MDB2/Driver/pgsql.php deleted file mode 100644 index 8a8b3f7c91dea57eef3067cb424f8bed673e7c8c..0000000000000000000000000000000000000000 --- a/3rdparty/MDB2/Driver/pgsql.php +++ /dev/null @@ -1,1583 +0,0 @@ - | -// +----------------------------------------------------------------------+ -// -// $Id$ - -/** - * MDB2 PostGreSQL driver - * - * @package MDB2 - * @category Database - * @author Paul Cooper - */ -class MDB2_Driver_pgsql extends MDB2_Driver_Common -{ - // {{{ properties - var $string_quoting = array('start' => "'", 'end' => "'", 'escape' => "'", 'escape_pattern' => '\\'); - - var $identifier_quoting = array('start' => '"', 'end' => '"', 'escape' => '"'); - // }}} - // {{{ constructor - - /** - * Constructor - */ - function __construct() - { - parent::__construct(); - - $this->phptype = 'pgsql'; - $this->dbsyntax = 'pgsql'; - - $this->supported['sequences'] = true; - $this->supported['indexes'] = true; - $this->supported['affected_rows'] = true; - $this->supported['summary_functions'] = true; - $this->supported['order_by_text'] = true; - $this->supported['transactions'] = true; - $this->supported['savepoints'] = true; - $this->supported['current_id'] = true; - $this->supported['limit_queries'] = true; - $this->supported['LOBs'] = true; - $this->supported['replace'] = 'emulated'; - $this->supported['sub_selects'] = true; - $this->supported['triggers'] = true; - $this->supported['auto_increment'] = 'emulated'; - $this->supported['primary_key'] = true; - $this->supported['result_introspection'] = true; - $this->supported['prepared_statements'] = true; - $this->supported['identifier_quoting'] = true; - $this->supported['pattern_escaping'] = true; - $this->supported['new_link'] = true; - - $this->options['DBA_username'] = false; - $this->options['DBA_password'] = false; - $this->options['multi_query'] = false; - $this->options['disable_smart_seqname'] = true; - $this->options['max_identifiers_length'] = 63; - } - - // }}} - // {{{ errorInfo() - - /** - * This method is used to collect information about an error - * - * @param integer $error - * @return array - * @access public - */ - function errorInfo($error = null) - { - // Fall back to MDB2_ERROR if there was no mapping. - $error_code = MDB2_ERROR; - - $native_msg = ''; - if (is_resource($error)) { - $native_msg = @pg_result_error($error); - } elseif ($this->connection) { - $native_msg = @pg_last_error($this->connection); - if (!$native_msg && @pg_connection_status($this->connection) === PGSQL_CONNECTION_BAD) { - $native_msg = 'Database connection has been lost.'; - $error_code = MDB2_ERROR_CONNECT_FAILED; - } - } else { - $native_msg = @pg_last_error(); - } - - static $error_regexps; - if (empty($error_regexps)) { - $error_regexps = array( - '/column .* (of relation .*)?does not exist/i' - => MDB2_ERROR_NOSUCHFIELD, - '/(relation|sequence|table).*does not exist|class .* not found/i' - => MDB2_ERROR_NOSUCHTABLE, - '/database .* does not exist/' - => MDB2_ERROR_NOT_FOUND, - '/constraint .* does not exist/' - => MDB2_ERROR_NOT_FOUND, - '/index .* does not exist/' - => MDB2_ERROR_NOT_FOUND, - '/database .* already exists/i' - => MDB2_ERROR_ALREADY_EXISTS, - '/relation .* already exists/i' - => MDB2_ERROR_ALREADY_EXISTS, - '/(divide|division) by zero$/i' - => MDB2_ERROR_DIVZERO, - '/pg_atoi: error in .*: can\'t parse /i' - => MDB2_ERROR_INVALID_NUMBER, - '/invalid input syntax for( type)? (integer|numeric)/i' - => MDB2_ERROR_INVALID_NUMBER, - '/value .* is out of range for type \w*int/i' - => MDB2_ERROR_INVALID_NUMBER, - '/integer out of range/i' - => MDB2_ERROR_INVALID_NUMBER, - '/value too long for type character/i' - => MDB2_ERROR_INVALID, - '/attribute .* not found|relation .* does not have attribute/i' - => MDB2_ERROR_NOSUCHFIELD, - '/column .* specified in USING clause does not exist in (left|right) table/i' - => MDB2_ERROR_NOSUCHFIELD, - '/parser: parse error at or near/i' - => MDB2_ERROR_SYNTAX, - '/syntax error at/' - => MDB2_ERROR_SYNTAX, - '/column reference .* is ambiguous/i' - => MDB2_ERROR_SYNTAX, - '/permission denied/' - => MDB2_ERROR_ACCESS_VIOLATION, - '/violates not-null constraint/' - => MDB2_ERROR_CONSTRAINT_NOT_NULL, - '/violates [\w ]+ constraint/' - => MDB2_ERROR_CONSTRAINT, - '/referential integrity violation/' - => MDB2_ERROR_CONSTRAINT, - '/more expressions than target columns/i' - => MDB2_ERROR_VALUE_COUNT_ON_ROW, - ); - } - if (is_numeric($error) && $error < 0) { - $error_code = $error; - } else { - foreach ($error_regexps as $regexp => $code) { - if (preg_match($regexp, $native_msg)) { - $error_code = $code; - break; - } - } - } - return array($error_code, null, $native_msg); - } - - // }}} - // {{{ escape() - - /** - * Quotes a string so it can be safely used in a query. It will quote - * the text so it can safely be used within a query. - * - * @param string the input string to quote - * @param bool escape wildcards - * - * @return string quoted string - * - * @access public - */ - function escape($text, $escape_wildcards = false) - { - if ($escape_wildcards) { - $text = $this->escapePattern($text); - } - $connection = $this->getConnection(); - if (PEAR::isError($connection)) { - return $connection; - } - if (is_resource($connection) && version_compare(PHP_VERSION, '5.2.0RC5', '>=')) { - $text = @pg_escape_string($connection, $text); - } else { - $text = @pg_escape_string($text); - } - return $text; - } - - // }}} - // {{{ beginTransaction() - - /** - * Start a transaction or set a savepoint. - * - * @param string name of a savepoint to set - * @return mixed MDB2_OK on success, a MDB2 error on failure - * - * @access public - */ - function beginTransaction($savepoint = null) - { - $this->debug('Starting transaction/savepoint', __FUNCTION__, array('is_manip' => true, 'savepoint' => $savepoint)); - if (null !== $savepoint) { - if (!$this->in_transaction) { - return $this->raiseError(MDB2_ERROR_INVALID, null, null, - 'savepoint cannot be released when changes are auto committed', __FUNCTION__); - } - $query = 'SAVEPOINT '.$savepoint; - return $this->_doQuery($query, true); - } - if ($this->in_transaction) { - return MDB2_OK; //nothing to do - } - if (!$this->destructor_registered && $this->opened_persistent) { - $this->destructor_registered = true; - register_shutdown_function('MDB2_closeOpenTransactions'); - } - $result = $this->_doQuery('BEGIN', true); - if (PEAR::isError($result)) { - return $result; - } - $this->in_transaction = true; - return MDB2_OK; - } - - // }}} - // {{{ commit() - - /** - * Commit the database changes done during a transaction that is in - * progress or release a savepoint. This function may only be called when - * auto-committing is disabled, otherwise it will fail. Therefore, a new - * transaction is implicitly started after committing the pending changes. - * - * @param string name of a savepoint to release - * @return mixed MDB2_OK on success, a MDB2 error on failure - * - * @access public - */ - function commit($savepoint = null) - { - $this->debug('Committing transaction/savepoint', __FUNCTION__, array('is_manip' => true, 'savepoint' => $savepoint)); - if (!$this->in_transaction) { - return $this->raiseError(MDB2_ERROR_INVALID, null, null, - 'commit/release savepoint cannot be done changes are auto committed', __FUNCTION__); - } - if (null !== $savepoint) { - $query = 'RELEASE SAVEPOINT '.$savepoint; - return $this->_doQuery($query, true); - } - - $result = $this->_doQuery('COMMIT', true); - if (PEAR::isError($result)) { - return $result; - } - $this->in_transaction = false; - return MDB2_OK; - } - - // }}} - // {{{ rollback() - - /** - * Cancel any database changes done during a transaction or since a specific - * savepoint that is in progress. This function may only be called when - * auto-committing is disabled, otherwise it will fail. Therefore, a new - * transaction is implicitly started after canceling the pending changes. - * - * @param string name of a savepoint to rollback to - * @return mixed MDB2_OK on success, a MDB2 error on failure - * - * @access public - */ - function rollback($savepoint = null) - { - $this->debug('Rolling back transaction/savepoint', __FUNCTION__, array('is_manip' => true, 'savepoint' => $savepoint)); - if (!$this->in_transaction) { - return $this->raiseError(MDB2_ERROR_INVALID, null, null, - 'rollback cannot be done changes are auto committed', __FUNCTION__); - } - if (null !== $savepoint) { - $query = 'ROLLBACK TO SAVEPOINT '.$savepoint; - return $this->_doQuery($query, true); - } - - $query = 'ROLLBACK'; - $result = $this->_doQuery($query, true); - if (PEAR::isError($result)) { - return $result; - } - $this->in_transaction = false; - return MDB2_OK; - } - - // }}} - // {{{ function setTransactionIsolation() - - /** - * Set the transacton isolation level. - * - * @param string standard isolation level - * READ UNCOMMITTED (allows dirty reads) - * READ COMMITTED (prevents dirty reads) - * REPEATABLE READ (prevents nonrepeatable reads) - * SERIALIZABLE (prevents phantom reads) - * @param array some transaction options: - * 'wait' => 'WAIT' | 'NO WAIT' - * 'rw' => 'READ WRITE' | 'READ ONLY' - * - * @return mixed MDB2_OK on success, a MDB2 error on failure - * - * @access public - * @since 2.1.1 - */ - function setTransactionIsolation($isolation, $options = array()) - { - $this->debug('Setting transaction isolation level', __FUNCTION__, array('is_manip' => true)); - switch ($isolation) { - case 'READ UNCOMMITTED': - case 'READ COMMITTED': - case 'REPEATABLE READ': - case 'SERIALIZABLE': - break; - default: - return $this->raiseError(MDB2_ERROR_UNSUPPORTED, null, null, - 'isolation level is not supported: '.$isolation, __FUNCTION__); - } - - $query = "SET SESSION CHARACTERISTICS AS TRANSACTION ISOLATION LEVEL $isolation"; - return $this->_doQuery($query, true); - } - - // }}} - // {{{ _doConnect() - - /** - * Do the grunt work of connecting to the database - * - * @return mixed connection resource on success, MDB2 Error Object on failure - * @access protected - */ - function _doConnect($username, $password, $database_name, $persistent = false) - { - if (!PEAR::loadExtension($this->phptype)) { - return $this->raiseError(MDB2_ERROR_NOT_FOUND, null, null, - 'extension '.$this->phptype.' is not compiled into PHP', __FUNCTION__); - } - - if ($database_name == '') { - $database_name = 'template1'; - } - - $protocol = $this->dsn['protocol'] ? $this->dsn['protocol'] : 'tcp'; - - $params = array(''); - if ($protocol == 'tcp') { - if ($this->dsn['hostspec']) { - $params[0].= 'host=' . $this->dsn['hostspec']; - } - if ($this->dsn['port']) { - $params[0].= ' port=' . $this->dsn['port']; - } - } elseif ($protocol == 'unix') { - // Allow for pg socket in non-standard locations. - if ($this->dsn['socket']) { - $params[0].= 'host=' . $this->dsn['socket']; - } - if ($this->dsn['port']) { - $params[0].= ' port=' . $this->dsn['port']; - } - } - if ($database_name) { - $params[0].= ' dbname=\'' . addslashes($database_name) . '\''; - } - if ($username) { - $params[0].= ' user=\'' . addslashes($username) . '\''; - } - if ($password) { - $params[0].= ' password=\'' . addslashes($password) . '\''; - } - if (!empty($this->dsn['options'])) { - $params[0].= ' options=' . $this->dsn['options']; - } - if (!empty($this->dsn['tty'])) { - $params[0].= ' tty=' . $this->dsn['tty']; - } - if (!empty($this->dsn['connect_timeout'])) { - $params[0].= ' connect_timeout=' . $this->dsn['connect_timeout']; - } - if (!empty($this->dsn['sslmode'])) { - $params[0].= ' sslmode=' . $this->dsn['sslmode']; - } - if (!empty($this->dsn['service'])) { - $params[0].= ' service=' . $this->dsn['service']; - } - - if ($this->_isNewLinkSet()) { - if (version_compare(phpversion(), '4.3.0', '>=')) { - $params[] = PGSQL_CONNECT_FORCE_NEW; - } - } - - $connect_function = $persistent ? 'pg_pconnect' : 'pg_connect'; - $connection = @call_user_func_array($connect_function, $params); - if (!$connection) { - return $this->raiseError(MDB2_ERROR_CONNECT_FAILED, null, null, - 'unable to establish a connection', __FUNCTION__); - } - - if (empty($this->dsn['disable_iso_date'])) { - if (!@pg_query($connection, "SET SESSION DATESTYLE = 'ISO'")) { - return $this->raiseError(null, null, null, - 'Unable to set date style to iso', __FUNCTION__); - } - } - - if (!empty($this->dsn['charset'])) { - $result = $this->setCharset($this->dsn['charset'], $connection); - if (PEAR::isError($result)) { - return $result; - } - } - - // Enable extra compatibility settings on 8.2 and later - if (function_exists('pg_parameter_status')) { - $version = pg_parameter_status($connection, 'server_version'); - if ($version == false) { - return $this->raiseError(null, null, null, - 'Unable to retrieve server version', __FUNCTION__); - } - $version = explode ('.', $version); - if ( $version['0'] > 8 - || ($version['0'] == 8 && $version['1'] >= 2) - ) { - if (!@pg_query($connection, "SET SESSION STANDARD_CONFORMING_STRINGS = OFF")) { - return $this->raiseError(null, null, null, - 'Unable to set standard_conforming_strings to off', __FUNCTION__); - } - - if (!@pg_query($connection, "SET SESSION ESCAPE_STRING_WARNING = OFF")) { - return $this->raiseError(null, null, null, - 'Unable to set escape_string_warning to off', __FUNCTION__); - } - } - } - - return $connection; - } - - // }}} - // {{{ connect() - - /** - * Connect to the database - * - * @return true on success, MDB2 Error Object on failure - * @access public - */ - function connect() - { - if (is_resource($this->connection)) { - //if (count(array_diff($this->connected_dsn, $this->dsn)) == 0 - if (MDB2::areEquals($this->connected_dsn, $this->dsn) - && $this->connected_database_name == $this->database_name - && ($this->opened_persistent == $this->options['persistent']) - ) { - return MDB2_OK; - } - $this->disconnect(false); - } - - if ($this->database_name) { - $connection = $this->_doConnect($this->dsn['username'], - $this->dsn['password'], - $this->database_name, - $this->options['persistent']); - if (PEAR::isError($connection)) { - return $connection; - } - - $this->connection = $connection; - $this->connected_dsn = $this->dsn; - $this->connected_database_name = $this->database_name; - $this->opened_persistent = $this->options['persistent']; - $this->dbsyntax = $this->dsn['dbsyntax'] ? $this->dsn['dbsyntax'] : $this->phptype; - } - - return MDB2_OK; - } - - // }}} - // {{{ setCharset() - - /** - * Set the charset on the current connection - * - * @param string charset - * @param resource connection handle - * - * @return true on success, MDB2 Error Object on failure - */ - function setCharset($charset, $connection = null) - { - if (null === $connection) { - $connection = $this->getConnection(); - if (PEAR::isError($connection)) { - return $connection; - } - } - if (is_array($charset)) { - $charset = array_shift($charset); - $this->warnings[] = 'postgresql does not support setting client collation'; - } - $result = @pg_set_client_encoding($connection, $charset); - if ($result == -1) { - return $this->raiseError(null, null, null, - 'Unable to set client charset: '.$charset, __FUNCTION__); - } - return MDB2_OK; - } - - // }}} - // {{{ databaseExists() - - /** - * check if given database name is exists? - * - * @param string $name name of the database that should be checked - * - * @return mixed true/false on success, a MDB2 error on failure - * @access public - */ - function databaseExists($name) - { - $res = $this->_doConnect($this->dsn['username'], - $this->dsn['password'], - $this->escape($name), - $this->options['persistent']); - if (!PEAR::isError($res)) { - return true; - } - - return false; - } - - // }}} - // {{{ disconnect() - - /** - * Log out and disconnect from the database. - * - * @param boolean $force if the disconnect should be forced even if the - * connection is opened persistently - * @return mixed true on success, false if not connected and error - * object on error - * @access public - */ - function disconnect($force = true) - { - if (is_resource($this->connection)) { - if ($this->in_transaction) { - $dsn = $this->dsn; - $database_name = $this->database_name; - $persistent = $this->options['persistent']; - $this->dsn = $this->connected_dsn; - $this->database_name = $this->connected_database_name; - $this->options['persistent'] = $this->opened_persistent; - $this->rollback(); - $this->dsn = $dsn; - $this->database_name = $database_name; - $this->options['persistent'] = $persistent; - } - - if (!$this->opened_persistent || $force) { - $ok = @pg_close($this->connection); - if (!$ok) { - return $this->raiseError(MDB2_ERROR_DISCONNECT_FAILED, - null, null, null, __FUNCTION__); - } - } - } else { - return false; - } - return parent::disconnect($force); - } - - // }}} - // {{{ standaloneQuery() - - /** - * execute a query as DBA - * - * @param string $query the SQL query - * @param mixed $types array that contains the types of the columns in - * the result set - * @param boolean $is_manip if the query is a manipulation query - * @return mixed MDB2_OK on success, a MDB2 error on failure - * @access public - */ - function standaloneQuery($query, $types = null, $is_manip = false) - { - $user = $this->options['DBA_username']? $this->options['DBA_username'] : $this->dsn['username']; - $pass = $this->options['DBA_password']? $this->options['DBA_password'] : $this->dsn['password']; - $connection = $this->_doConnect($user, $pass, $this->database_name, $this->options['persistent']); - if (PEAR::isError($connection)) { - return $connection; - } - - $offset = $this->offset; - $limit = $this->limit; - $this->offset = $this->limit = 0; - $query = $this->_modifyQuery($query, $is_manip, $limit, $offset); - - $result = $this->_doQuery($query, $is_manip, $connection, $this->database_name); - if (!PEAR::isError($result)) { - if ($is_manip) { - $result = $this->_affectedRows($connection, $result); - } else { - $result = $this->_wrapResult($result, $types, true, true, $limit, $offset); - } - } - - @pg_close($connection); - return $result; - } - - // }}} - // {{{ _doQuery() - - /** - * Execute a query - * @param string $query query - * @param boolean $is_manip if the query is a manipulation query - * @param resource $connection - * @param string $database_name - * @return result or error object - * @access protected - */ - function _doQuery($query, $is_manip = false, $connection = null, $database_name = null) - { - $this->last_query = $query; - $result = $this->debug($query, 'query', array('is_manip' => $is_manip, 'when' => 'pre')); - if ($result) { - if (PEAR::isError($result)) { - return $result; - } - $query = $result; - } - if ($this->options['disable_query']) { - $result = $is_manip ? 0 : null; - return $result; - } - - if (null === $connection) { - $connection = $this->getConnection(); - if (PEAR::isError($connection)) { - return $connection; - } - } - - $function = $this->options['multi_query'] ? 'pg_send_query' : 'pg_query'; - $result = @$function($connection, $query); - if (!$result) { - $err = $this->raiseError(null, null, null, - 'Could not execute statement', __FUNCTION__); - return $err; - } elseif ($this->options['multi_query']) { - if (!($result = @pg_get_result($connection))) { - $err = $this->raiseError(null, null, null, - 'Could not get the first result from a multi query', __FUNCTION__); - return $err; - } - } - - $this->debug($query, 'query', array('is_manip' => $is_manip, 'when' => 'post', 'result' => $result)); - return $result; - } - - // }}} - // {{{ _affectedRows() - - /** - * Returns the number of rows affected - * - * @param resource $result - * @param resource $connection - * @return mixed MDB2 Error Object or the number of rows affected - * @access private - */ - function _affectedRows($connection, $result = null) - { - if (null === $connection) { - $connection = $this->getConnection(); - if (PEAR::isError($connection)) { - return $connection; - } - } - return @pg_affected_rows($result); - } - - // }}} - // {{{ _modifyQuery() - - /** - * Changes a query string for various DBMS specific reasons - * - * @param string $query query to modify - * @param boolean $is_manip if it is a DML query - * @param integer $limit limit the number of rows - * @param integer $offset start reading from given offset - * @return string modified query - * @access protected - */ - function _modifyQuery($query, $is_manip, $limit, $offset) - { - if ($limit > 0 - && !preg_match('/LIMIT\s*\d(?:\s*(?:,|OFFSET)\s*\d+)?(?:[^\)]*)?$/i', $query) - ) { - $query = rtrim($query); - if (substr($query, -1) == ';') { - $query = substr($query, 0, -1); - } - if ($is_manip) { - $query = $this->_modifyManipQuery($query, $limit); - } else { - $query.= " LIMIT $limit OFFSET $offset"; - } - } - return $query; - } - - // }}} - // {{{ _modifyManipQuery() - - /** - * Changes a manip query string for various DBMS specific reasons - * - * @param string $query query to modify - * @param integer $limit limit the number of rows - * @return string modified query - * @access protected - */ - function _modifyManipQuery($query, $limit) - { - $pos = strpos(strtolower($query), 'where'); - $where = $pos ? substr($query, $pos) : ''; - - $manip_clause = '(\bDELETE\b\s+(?:\*\s+)?\bFROM\b|\bUPDATE\b)'; - $from_clause = '([\w\.]+)'; - $where_clause = '(?:(.*)\bWHERE\b\s+(.*))|(.*)'; - $pattern = '/^'. $manip_clause . '\s+' . $from_clause .'(?:\s)*(?:'. $where_clause .')?$/i'; - $matches = preg_match($pattern, $query, $match); - if ($matches) { - $manip = $match[1]; - $from = $match[2]; - $what = (count($matches) == 6) ? $match[5] : $match[3]; - return $manip.' '.$from.' '.$what.' WHERE ctid=(SELECT ctid FROM '.$from.' '.$where.' LIMIT '.$limit.')'; - } - //return error? - return $query; - } - - // }}} - // {{{ getServerVersion() - - /** - * return version information about the server - * - * @param bool $native determines if the raw version string should be returned - * @return mixed array/string with version information or MDB2 error object - * @access public - */ - function getServerVersion($native = false) - { - $query = 'SHOW SERVER_VERSION'; - if ($this->connected_server_info) { - $server_info = $this->connected_server_info; - } else { - $server_info = $this->queryOne($query, 'text'); - if (PEAR::isError($server_info)) { - return $server_info; - } - } - // cache server_info - $this->connected_server_info = $server_info; - if (!$native && !PEAR::isError($server_info)) { - $tmp = explode('.', $server_info, 3); - if (empty($tmp[2]) - && isset($tmp[1]) - && preg_match('/(\d+)(.*)/', $tmp[1], $tmp2) - ) { - $server_info = array( - 'major' => $tmp[0], - 'minor' => $tmp2[1], - 'patch' => null, - 'extra' => $tmp2[2], - 'native' => $server_info, - ); - } else { - $server_info = array( - 'major' => isset($tmp[0]) ? $tmp[0] : null, - 'minor' => isset($tmp[1]) ? $tmp[1] : null, - 'patch' => isset($tmp[2]) ? $tmp[2] : null, - 'extra' => null, - 'native' => $server_info, - ); - } - } - return $server_info; - } - - // }}} - // {{{ prepare() - - /** - * Prepares a query for multiple execution with execute(). - * With some database backends, this is emulated. - * prepare() requires a generic query as string like - * 'INSERT INTO numbers VALUES(?,?)' or - * 'INSERT INTO numbers VALUES(:foo,:bar)'. - * The ? and :name and are placeholders which can be set using - * bindParam() and the query can be sent off using the execute() method. - * The allowed format for :name can be set with the 'bindname_format' option. - * - * @param string $query the query to prepare - * @param mixed $types array that contains the types of the placeholders - * @param mixed $result_types array that contains the types of the columns in - * the result set or MDB2_PREPARE_RESULT, if set to - * MDB2_PREPARE_MANIP the query is handled as a manipulation query - * @param mixed $lobs key (field) value (parameter) pair for all lob placeholders - * @return mixed resource handle for the prepared query on success, a MDB2 - * error on failure - * @access public - * @see bindParam, execute - */ - function prepare($query, $types = null, $result_types = null, $lobs = array()) - { - if ($this->options['emulate_prepared']) { - return parent::prepare($query, $types, $result_types, $lobs); - } - $is_manip = ($result_types === MDB2_PREPARE_MANIP); - $offset = $this->offset; - $limit = $this->limit; - $this->offset = $this->limit = 0; - $result = $this->debug($query, __FUNCTION__, array('is_manip' => $is_manip, 'when' => 'pre')); - if ($result) { - if (PEAR::isError($result)) { - return $result; - } - $query = $result; - } - $pgtypes = function_exists('pg_prepare') ? false : array(); - if ($pgtypes !== false && !empty($types)) { - $this->loadModule('Datatype', null, true); - } - $query = $this->_modifyQuery($query, $is_manip, $limit, $offset); - $placeholder_type_guess = $placeholder_type = null; - $question = '?'; - $colon = ':'; - $positions = array(); - $position = $parameter = 0; - while ($position < strlen($query)) { - $q_position = strpos($query, $question, $position); - $c_position = strpos($query, $colon, $position); - //skip "::type" cast ("select id::varchar(20) from sometable where name=?") - $doublecolon_position = strpos($query, '::', $position); - if ($doublecolon_position !== false && $doublecolon_position == $c_position) { - $c_position = strpos($query, $colon, $position+2); - } - if ($q_position && $c_position) { - $p_position = min($q_position, $c_position); - } elseif ($q_position) { - $p_position = $q_position; - } elseif ($c_position) { - $p_position = $c_position; - } else { - break; - } - if (null === $placeholder_type) { - $placeholder_type_guess = $query[$p_position]; - } - - $new_pos = $this->_skipDelimitedStrings($query, $position, $p_position); - if (PEAR::isError($new_pos)) { - return $new_pos; - } - if ($new_pos != $position) { - $position = $new_pos; - continue; //evaluate again starting from the new position - } - - if ($query[$position] == $placeholder_type_guess) { - if (null === $placeholder_type) { - $placeholder_type = $query[$p_position]; - $question = $colon = $placeholder_type; - if (!empty($types) && is_array($types)) { - if ($placeholder_type == ':') { - } else { - $types = array_values($types); - } - } - } - if ($placeholder_type_guess == '?') { - $length = 1; - $name = $parameter; - } else { - $regexp = '/^.{'.($position+1).'}('.$this->options['bindname_format'].').*$/s'; - $param = preg_replace($regexp, '\\1', $query); - if ($param === '') { - $err = $this->raiseError(MDB2_ERROR_SYNTAX, null, null, - 'named parameter name must match "bindname_format" option', __FUNCTION__); - return $err; - } - $length = strlen($param) + 1; - $name = $param; - } - if ($pgtypes !== false) { - if (is_array($types) && array_key_exists($name, $types)) { - $pgtypes[] = $this->datatype->mapPrepareDatatype($types[$name]); - } elseif (is_array($types) && array_key_exists($parameter, $types)) { - $pgtypes[] = $this->datatype->mapPrepareDatatype($types[$parameter]); - } else { - $pgtypes[] = 'text'; - } - } - if (($key_parameter = array_search($name, $positions)) !== false) { - //$next_parameter = 1; - $parameter = $key_parameter + 1; - //foreach ($positions as $key => $value) { - // if ($key_parameter == $key) { - // break; - // } - // ++$next_parameter; - //} - } else { - ++$parameter; - //$next_parameter = $parameter; - $positions[] = $name; - } - $query = substr_replace($query, '$'.$parameter, $position, $length); - $position = $p_position + strlen($parameter); - } else { - $position = $p_position; - } - } - $connection = $this->getConnection(); - if (PEAR::isError($connection)) { - return $connection; - } - static $prep_statement_counter = 1; - $statement_name = sprintf($this->options['statement_format'], $this->phptype, $prep_statement_counter++ . sha1(microtime() + mt_rand())); - $statement_name = substr(strtolower($statement_name), 0, $this->options['max_identifiers_length']); - if (false === $pgtypes) { - $result = @pg_prepare($connection, $statement_name, $query); - if (!$result) { - $err = $this->raiseError(null, null, null, - 'Unable to create prepared statement handle', __FUNCTION__); - return $err; - } - } else { - $types_string = ''; - if ($pgtypes) { - $types_string = ' ('.implode(', ', $pgtypes).') '; - } - $query = 'PREPARE '.$statement_name.$types_string.' AS '.$query; - $statement = $this->_doQuery($query, true, $connection); - if (PEAR::isError($statement)) { - return $statement; - } - } - - $class_name = 'MDB2_Statement_'.$this->phptype; - $obj = new $class_name($this, $statement_name, $positions, $query, $types, $result_types, $is_manip, $limit, $offset); - $this->debug($query, __FUNCTION__, array('is_manip' => $is_manip, 'when' => 'post', 'result' => $obj)); - return $obj; - } - - // }}} - // {{{ function getSequenceName($sqn) - - /** - * adds sequence name formatting to a sequence name - * - * @param string name of the sequence - * - * @return string formatted sequence name - * - * @access public - */ - function getSequenceName($sqn) - { - if (false === $this->options['disable_smart_seqname']) { - if (strpos($sqn, '_') !== false) { - list($table, $field) = explode('_', $sqn, 2); - } - $schema_list = $this->queryOne("SELECT array_to_string(current_schemas(false), ',')"); - if (PEAR::isError($schema_list) || empty($schema_list) || count($schema_list) < 2) { - $order_by = ' a.attnum'; - $schema_clause = ' AND n.nspname=current_schema()'; - } else { - $schemas = explode(',', $schema_list); - $schema_clause = ' AND n.nspname IN ('.$schema_list.')'; - $counter = 1; - $order_by = ' CASE '; - foreach ($schemas as $schema) { - $order_by .= ' WHEN n.nspname='.$schema.' THEN '.$counter++; - } - $order_by .= ' ELSE '.$counter.' END, a.attnum'; - } - - $query = "SELECT substring((SELECT substring(pg_get_expr(d.adbin, d.adrelid) for 128) - FROM pg_attrdef d - WHERE d.adrelid = a.attrelid - AND d.adnum = a.attnum - AND a.atthasdef - ) FROM 'nextval[^'']*''([^'']*)') - FROM pg_attribute a - LEFT JOIN pg_class c ON c.oid = a.attrelid - LEFT JOIN pg_attrdef d ON d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef - LEFT JOIN pg_namespace n ON c.relnamespace = n.oid - WHERE (c.relname = ".$this->quote($sqn, 'text'); - if (!empty($field)) { - $query .= " OR (c.relname = ".$this->quote($table, 'text')." AND a.attname = ".$this->quote($field, 'text').")"; - } - $query .= " )" - .$schema_clause." - AND NOT a.attisdropped - AND a.attnum > 0 - AND pg_get_expr(d.adbin, d.adrelid) LIKE 'nextval%' - ORDER BY ".$order_by; - $seqname = $this->queryOne($query); - if (!PEAR::isError($seqname) && !empty($seqname) && is_string($seqname)) { - return $seqname; - } - } - - return parent::getSequenceName($sqn); - } - - // }}} - // {{{ nextID() - - /** - * Returns the next free id of a sequence - * - * @param string $seq_name name of the sequence - * @param boolean $ondemand when true the sequence is - * automatic created, if it - * not exists - * @return mixed MDB2 Error Object or id - * @access public - */ - function nextID($seq_name, $ondemand = true) - { - $sequence_name = $this->quoteIdentifier($this->getSequenceName($seq_name), true); - $query = "SELECT NEXTVAL('$sequence_name')"; - $this->pushErrorHandling(PEAR_ERROR_RETURN); - $this->expectError(MDB2_ERROR_NOSUCHTABLE); - $result = $this->queryOne($query, 'integer'); - $this->popExpect(); - $this->popErrorHandling(); - if (PEAR::isError($result)) { - if ($ondemand && $result->getCode() == MDB2_ERROR_NOSUCHTABLE) { - $this->loadModule('Manager', null, true); - $result = $this->manager->createSequence($seq_name); - if (PEAR::isError($result)) { - return $this->raiseError($result, null, null, - 'on demand sequence could not be created', __FUNCTION__); - } - return $this->nextId($seq_name, false); - } - } - return $result; - } - - // }}} - // {{{ lastInsertID() - - /** - * Returns the autoincrement ID if supported or $id or fetches the current - * ID in a sequence called: $table.(empty($field) ? '' : '_'.$field) - * - * @param string $table name of the table into which a new row was inserted - * @param string $field name of the field into which a new row was inserted - * @return mixed MDB2 Error Object or id - * @access public - */ - function lastInsertID($table = null, $field = null) - { - if (empty($table) && empty($field)) { - return $this->queryOne('SELECT lastval()', 'integer'); - } - $seq = $table.(empty($field) ? '' : '_'.$field); - $sequence_name = $this->quoteIdentifier($this->getSequenceName($seq), true); - return $this->queryOne("SELECT currval('$sequence_name')", 'integer'); - } - - // }}} - // {{{ currID() - - /** - * Returns the current id of a sequence - * - * @param string $seq_name name of the sequence - * @return mixed MDB2 Error Object or id - * @access public - */ - function currID($seq_name) - { - $sequence_name = $this->quoteIdentifier($this->getSequenceName($seq_name), true); - return $this->queryOne("SELECT last_value FROM $sequence_name", 'integer'); - } -} - -/** - * MDB2 PostGreSQL result driver - * - * @package MDB2 - * @category Database - * @author Paul Cooper - */ -class MDB2_Result_pgsql extends MDB2_Result_Common -{ - // }}} - // {{{ fetchRow() - - /** - * Fetch a row and insert the data into an existing array. - * - * @param int $fetchmode how the array data should be indexed - * @param int $rownum number of the row where the data can be found - * @return int data array on success, a MDB2 error on failure - * @access public - */ - function fetchRow($fetchmode = MDB2_FETCHMODE_DEFAULT, $rownum = null) - { - if (null !== $rownum) { - $seek = $this->seek($rownum); - if (PEAR::isError($seek)) { - return $seek; - } - } - if ($fetchmode == MDB2_FETCHMODE_DEFAULT) { - $fetchmode = $this->db->fetchmode; - } - if ( $fetchmode == MDB2_FETCHMODE_ASSOC - || $fetchmode == MDB2_FETCHMODE_OBJECT - ) { - $row = @pg_fetch_array($this->result, null, PGSQL_ASSOC); - if (is_array($row) - && $this->db->options['portability'] & MDB2_PORTABILITY_FIX_CASE - ) { - $row = array_change_key_case($row, $this->db->options['field_case']); - } - } else { - $row = @pg_fetch_row($this->result); - } - if (!$row) { - if (false === $this->result) { - $err = $this->db->raiseError(MDB2_ERROR_NEED_MORE_DATA, null, null, - 'resultset has already been freed', __FUNCTION__); - return $err; - } - return null; - } - $mode = $this->db->options['portability'] & MDB2_PORTABILITY_EMPTY_TO_NULL; - $rtrim = false; - if ($this->db->options['portability'] & MDB2_PORTABILITY_RTRIM) { - if (empty($this->types)) { - $mode += MDB2_PORTABILITY_RTRIM; - } else { - $rtrim = true; - } - } - if ($mode) { - $this->db->_fixResultArrayValues($row, $mode); - } - if ( ( $fetchmode != MDB2_FETCHMODE_ASSOC - && $fetchmode != MDB2_FETCHMODE_OBJECT) - && !empty($this->types) - ) { - $row = $this->db->datatype->convertResultRow($this->types, $row, $rtrim); - } elseif (($fetchmode == MDB2_FETCHMODE_ASSOC - || $fetchmode == MDB2_FETCHMODE_OBJECT) - && !empty($this->types_assoc) - ) { - $row = $this->db->datatype->convertResultRow($this->types_assoc, $row, $rtrim); - } - if (!empty($this->values)) { - $this->_assignBindColumns($row); - } - if ($fetchmode === MDB2_FETCHMODE_OBJECT) { - $object_class = $this->db->options['fetch_class']; - if ($object_class == 'stdClass') { - $row = (object) $row; - } else { - $rowObj = new $object_class($row); - $row = $rowObj; - } - } - ++$this->rownum; - return $row; - } - - // }}} - // {{{ _getColumnNames() - - /** - * Retrieve the names of columns returned by the DBMS in a query result. - * - * @return mixed Array variable that holds the names of columns as keys - * or an MDB2 error on failure. - * Some DBMS may not return any columns when the result set - * does not contain any rows. - * @access private - */ - function _getColumnNames() - { - $columns = array(); - $numcols = $this->numCols(); - if (PEAR::isError($numcols)) { - return $numcols; - } - for ($column = 0; $column < $numcols; $column++) { - $column_name = @pg_field_name($this->result, $column); - $columns[$column_name] = $column; - } - if ($this->db->options['portability'] & MDB2_PORTABILITY_FIX_CASE) { - $columns = array_change_key_case($columns, $this->db->options['field_case']); - } - return $columns; - } - - // }}} - // {{{ numCols() - - /** - * Count the number of columns returned by the DBMS in a query result. - * - * @access public - * @return mixed integer value with the number of columns, a MDB2 error - * on failure - */ - function numCols() - { - $cols = @pg_num_fields($this->result); - if (null === $cols) { - if (false === $this->result) { - return $this->db->raiseError(MDB2_ERROR_NEED_MORE_DATA, null, null, - 'resultset has already been freed', __FUNCTION__); - } - if (null === $this->result) { - return count($this->types); - } - return $this->db->raiseError(null, null, null, - 'Could not get column count', __FUNCTION__); - } - return $cols; - } - - // }}} - // {{{ nextResult() - - /** - * Move the internal result pointer to the next available result - * - * @return true on success, false if there is no more result set or an error object on failure - * @access public - */ - function nextResult() - { - $connection = $this->db->getConnection(); - if (PEAR::isError($connection)) { - return $connection; - } - - if (!($this->result = @pg_get_result($connection))) { - return false; - } - return MDB2_OK; - } - - // }}} - // {{{ free() - - /** - * Free the internal resources associated with result. - * - * @return boolean true on success, false if result is invalid - * @access public - */ - function free() - { - if (is_resource($this->result) && $this->db->connection) { - $free = @pg_free_result($this->result); - if (false === $free) { - return $this->db->raiseError(null, null, null, - 'Could not free result', __FUNCTION__); - } - } - $this->result = false; - return MDB2_OK; - } -} - -/** - * MDB2 PostGreSQL buffered result driver - * - * @package MDB2 - * @category Database - * @author Paul Cooper - */ -class MDB2_BufferedResult_pgsql extends MDB2_Result_pgsql -{ - // {{{ seek() - - /** - * Seek to a specific row in a result set - * - * @param int $rownum number of the row where the data can be found - * @return mixed MDB2_OK on success, a MDB2 error on failure - * @access public - */ - function seek($rownum = 0) - { - if ($this->rownum != ($rownum - 1) && !@pg_result_seek($this->result, $rownum)) { - if (false === $this->result) { - return $this->db->raiseError(MDB2_ERROR_NEED_MORE_DATA, null, null, - 'resultset has already been freed', __FUNCTION__); - } - if (null === $this->result) { - return MDB2_OK; - } - return $this->db->raiseError(MDB2_ERROR_INVALID, null, null, - 'tried to seek to an invalid row number ('.$rownum.')', __FUNCTION__); - } - $this->rownum = $rownum - 1; - return MDB2_OK; - } - - // }}} - // {{{ valid() - - /** - * Check if the end of the result set has been reached - * - * @return mixed true or false on sucess, a MDB2 error on failure - * @access public - */ - function valid() - { - $numrows = $this->numRows(); - if (PEAR::isError($numrows)) { - return $numrows; - } - return $this->rownum < ($numrows - 1); - } - - // }}} - // {{{ numRows() - - /** - * Returns the number of rows in a result object - * - * @return mixed MDB2 Error Object or the number of rows - * @access public - */ - function numRows() - { - $rows = @pg_num_rows($this->result); - if (null === $rows) { - if (false === $this->result) { - return $this->db->raiseError(MDB2_ERROR_NEED_MORE_DATA, null, null, - 'resultset has already been freed', __FUNCTION__); - } - if (null === $this->result) { - return 0; - } - return $this->db->raiseError(null, null, null, - 'Could not get row count', __FUNCTION__); - } - return $rows; - } -} - -/** - * MDB2 PostGreSQL statement driver - * - * @package MDB2 - * @category Database - * @author Paul Cooper - */ -class MDB2_Statement_pgsql extends MDB2_Statement_Common -{ - // {{{ _execute() - - /** - * Execute a prepared query statement helper method. - * - * @param mixed $result_class string which specifies which result class to use - * @param mixed $result_wrap_class string which specifies which class to wrap results in - * - * @return mixed MDB2_Result or integer (affected rows) on success, - * a MDB2 error on failure - * @access private - */ - function _execute($result_class = true, $result_wrap_class = true) - { - if (null === $this->statement) { - return parent::_execute($result_class, $result_wrap_class); - } - $this->db->last_query = $this->query; - $this->db->debug($this->query, 'execute', array('is_manip' => $this->is_manip, 'when' => 'pre', 'parameters' => $this->values)); - if ($this->db->getOption('disable_query')) { - $result = $this->is_manip ? 0 : null; - return $result; - } - - $connection = $this->db->getConnection(); - if (PEAR::isError($connection)) { - return $connection; - } - - $query = false; - $parameters = array(); - // todo: disabled until pg_execute() bytea issues are cleared up - if (true || !function_exists('pg_execute')) { - $query = 'EXECUTE '.$this->statement; - } - if (!empty($this->positions)) { - foreach ($this->positions as $parameter) { - if (!array_key_exists($parameter, $this->values)) { - return $this->db->raiseError(MDB2_ERROR_NOT_FOUND, null, null, - 'Unable to bind to missing placeholder: '.$parameter, __FUNCTION__); - } - $value = $this->values[$parameter]; - $type = array_key_exists($parameter, $this->types) ? $this->types[$parameter] : null; - if (is_resource($value) || $type == 'clob' || $type == 'blob' || $this->db->options['lob_allow_url_include']) { - if (!is_resource($value) && preg_match('/^(\w+:\/\/)(.*)$/', $value, $match)) { - if ($match[1] == 'file://') { - $value = $match[2]; - } - $value = @fopen($value, 'r'); - $close = true; - } - if (is_resource($value)) { - $data = ''; - while (!@feof($value)) { - $data.= @fread($value, $this->db->options['lob_buffer_length']); - } - if ($close) { - @fclose($value); - } - $value = $data; - } - } - $quoted = $this->db->quote($value, $type, $query); - if (PEAR::isError($quoted)) { - return $quoted; - } - $parameters[] = $quoted; - } - if ($query) { - $query.= ' ('.implode(', ', $parameters).')'; - } - } - - if (!$query) { - $result = @pg_execute($connection, $this->statement, $parameters); - if (!$result) { - $err = $this->db->raiseError(null, null, null, - 'Unable to execute statement', __FUNCTION__); - return $err; - } - } else { - $result = $this->db->_doQuery($query, $this->is_manip, $connection); - if (PEAR::isError($result)) { - return $result; - } - } - - if ($this->is_manip) { - $affected_rows = $this->db->_affectedRows($connection, $result); - return $affected_rows; - } - - $result = $this->db->_wrapResult($result, $this->result_types, - $result_class, $result_wrap_class, $this->limit, $this->offset); - $this->db->debug($this->query, 'execute', array('is_manip' => $this->is_manip, 'when' => 'post', 'result' => $result)); - return $result; - } - - // }}} - // {{{ free() - - /** - * Release resources allocated for the specified prepared query. - * - * @return mixed MDB2_OK on success, a MDB2 error on failure - * @access public - */ - function free() - { - if (null === $this->positions) { - return $this->db->raiseError(MDB2_ERROR, null, null, - 'Prepared statement has already been freed', __FUNCTION__); - } - $result = MDB2_OK; - - if (null !== $this->statement) { - $connection = $this->db->getConnection(); - if (PEAR::isError($connection)) { - return $connection; - } - $query = 'DEALLOCATE PREPARE '.$this->statement; - $result = $this->db->_doQuery($query, true, $connection); - } - - parent::free(); - return $result; - } - - /** - * drop an existing table - * - * @param string $name name of the table that should be dropped - * @return mixed MDB2_OK on success, a MDB2 error on failure - * @access public - */ - function dropTable($name) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - $name = $db->quoteIdentifier($name, true); - $result = $db->exec("DROP TABLE $name"); - - if (PEAR::isError($result)) { - $result = $db->exec("DROP TABLE $name CASCADE"); - } - - return $result; - } -} -?> diff --git a/3rdparty/MDB2/Driver/sqlite.php b/3rdparty/MDB2/Driver/sqlite.php deleted file mode 100644 index 42363bb8c58cbe0eed5813aea5bc047182c67db2..0000000000000000000000000000000000000000 --- a/3rdparty/MDB2/Driver/sqlite.php +++ /dev/null @@ -1,1104 +0,0 @@ - | -// +----------------------------------------------------------------------+ -// -// $Id$ -// - -/** - * MDB2 SQLite driver - * - * @package MDB2 - * @category Database - * @author Lukas Smith - */ -class MDB2_Driver_sqlite extends MDB2_Driver_Common -{ - // {{{ properties - var $string_quoting = array('start' => "'", 'end' => "'", 'escape' => "'", 'escape_pattern' => false); - - var $identifier_quoting = array('start' => '"', 'end' => '"', 'escape' => '"'); - - var $_lasterror = ''; - - var $fix_assoc_fields_names = false; - - // }}} - // {{{ constructor - - /** - * Constructor - */ - function __construct() - { - parent::__construct(); - - $this->phptype = 'sqlite'; - $this->dbsyntax = 'sqlite'; - - $this->supported['sequences'] = 'emulated'; - $this->supported['indexes'] = true; - $this->supported['affected_rows'] = true; - $this->supported['summary_functions'] = true; - $this->supported['order_by_text'] = true; - $this->supported['current_id'] = 'emulated'; - $this->supported['limit_queries'] = true; - $this->supported['LOBs'] = true; - $this->supported['replace'] = true; - $this->supported['transactions'] = true; - $this->supported['savepoints'] = false; - $this->supported['sub_selects'] = true; - $this->supported['triggers'] = true; - $this->supported['auto_increment'] = true; - $this->supported['primary_key'] = false; // requires alter table implementation - $this->supported['result_introspection'] = false; // not implemented - $this->supported['prepared_statements'] = 'emulated'; - $this->supported['identifier_quoting'] = true; - $this->supported['pattern_escaping'] = false; - $this->supported['new_link'] = false; - - $this->options['DBA_username'] = false; - $this->options['DBA_password'] = false; - $this->options['base_transaction_name'] = '___php_MDB2_sqlite_auto_commit_off'; - $this->options['fixed_float'] = 0; - $this->options['database_path'] = ''; - $this->options['database_extension'] = ''; - $this->options['server_version'] = ''; - $this->options['max_identifiers_length'] = 128; //no real limit - } - - // }}} - // {{{ errorInfo() - - /** - * This method is used to collect information about an error - * - * @param integer $error - * @return array - * @access public - */ - function errorInfo($error = null) - { - $native_code = null; - if ($this->connection) { - $native_code = @sqlite_last_error($this->connection); - } - $native_msg = $this->_lasterror - ? html_entity_decode($this->_lasterror) : @sqlite_error_string($native_code); - - // PHP 5.2+ prepends the function name to $php_errormsg, so we need - // this hack to work around it, per bug #9599. - $native_msg = preg_replace('/^sqlite[a-z_]+\(\)[^:]*: /', '', $native_msg); - - if (null === $error) { - static $error_regexps; - if (empty($error_regexps)) { - $error_regexps = array( - '/^no such table:/' => MDB2_ERROR_NOSUCHTABLE, - '/^no such index:/' => MDB2_ERROR_NOT_FOUND, - '/^(table|index) .* already exists$/' => MDB2_ERROR_ALREADY_EXISTS, - '/PRIMARY KEY must be unique/i' => MDB2_ERROR_CONSTRAINT, - '/is not unique/' => MDB2_ERROR_CONSTRAINT, - '/columns .* are not unique/i' => MDB2_ERROR_CONSTRAINT, - '/uniqueness constraint failed/' => MDB2_ERROR_CONSTRAINT, - '/violates .*constraint/' => MDB2_ERROR_CONSTRAINT, - '/may not be NULL/' => MDB2_ERROR_CONSTRAINT_NOT_NULL, - '/^no such column:/' => MDB2_ERROR_NOSUCHFIELD, - '/no column named/' => MDB2_ERROR_NOSUCHFIELD, - '/column not present in both tables/i' => MDB2_ERROR_NOSUCHFIELD, - '/^near ".*": syntax error$/' => MDB2_ERROR_SYNTAX, - '/[0-9]+ values for [0-9]+ columns/i' => MDB2_ERROR_VALUE_COUNT_ON_ROW, - ); - } - foreach ($error_regexps as $regexp => $code) { - if (preg_match($regexp, $native_msg)) { - $error = $code; - break; - } - } - } - return array($error, $native_code, $native_msg); - } - - // }}} - // {{{ escape() - - /** - * Quotes a string so it can be safely used in a query. It will quote - * the text so it can safely be used within a query. - * - * @param string the input string to quote - * @param bool escape wildcards - * - * @return string quoted string - * - * @access public - */ - function escape($text, $escape_wildcards = false) - { - $text = @sqlite_escape_string($text); - return $text; - } - - // }}} - // {{{ beginTransaction() - - /** - * Start a transaction or set a savepoint. - * - * @param string name of a savepoint to set - * @return mixed MDB2_OK on success, a MDB2 error on failure - * - * @access public - */ - function beginTransaction($savepoint = null) - { - $this->debug('Starting transaction/savepoint', __FUNCTION__, array('is_manip' => true, 'savepoint' => $savepoint)); - if (null !== $savepoint) { - return $this->raiseError(MDB2_ERROR_UNSUPPORTED, null, null, - 'savepoints are not supported', __FUNCTION__); - } - if ($this->in_transaction) { - return MDB2_OK; //nothing to do - } - if (!$this->destructor_registered && $this->opened_persistent) { - $this->destructor_registered = true; - register_shutdown_function('MDB2_closeOpenTransactions'); - } - $query = 'BEGIN TRANSACTION '.$this->options['base_transaction_name']; - $result = $this->_doQuery($query, true); - if (PEAR::isError($result)) { - return $result; - } - $this->in_transaction = true; - return MDB2_OK; - } - - // }}} - // {{{ commit() - - /** - * Commit the database changes done during a transaction that is in - * progress or release a savepoint. This function may only be called when - * auto-committing is disabled, otherwise it will fail. Therefore, a new - * transaction is implicitly started after committing the pending changes. - * - * @param string name of a savepoint to release - * @return mixed MDB2_OK on success, a MDB2 error on failure - * - * @access public - */ - function commit($savepoint = null) - { - $this->debug('Committing transaction/savepoint', __FUNCTION__, array('is_manip' => true, 'savepoint' => $savepoint)); - if (!$this->in_transaction) { - return $this->raiseError(MDB2_ERROR_INVALID, null, null, - 'commit/release savepoint cannot be done changes are auto committed', __FUNCTION__); - } - if (null !== $savepoint) { - return $this->raiseError(MDB2_ERROR_UNSUPPORTED, null, null, - 'savepoints are not supported', __FUNCTION__); - } - - $query = 'COMMIT TRANSACTION '.$this->options['base_transaction_name']; - $result = $this->_doQuery($query, true); - if (PEAR::isError($result)) { - return $result; - } - $this->in_transaction = false; - return MDB2_OK; - } - - // }}} - // {{{ - - /** - * Cancel any database changes done during a transaction or since a specific - * savepoint that is in progress. This function may only be called when - * auto-committing is disabled, otherwise it will fail. Therefore, a new - * transaction is implicitly started after canceling the pending changes. - * - * @param string name of a savepoint to rollback to - * @return mixed MDB2_OK on success, a MDB2 error on failure - * - * @access public - */ - function rollback($savepoint = null) - { - $this->debug('Rolling back transaction/savepoint', __FUNCTION__, array('is_manip' => true, 'savepoint' => $savepoint)); - if (!$this->in_transaction) { - return $this->raiseError(MDB2_ERROR_INVALID, null, null, - 'rollback cannot be done changes are auto committed', __FUNCTION__); - } - if (null !== $savepoint) { - return $this->raiseError(MDB2_ERROR_UNSUPPORTED, null, null, - 'savepoints are not supported', __FUNCTION__); - } - - $query = 'ROLLBACK TRANSACTION '.$this->options['base_transaction_name']; - $result = $this->_doQuery($query, true); - if (PEAR::isError($result)) { - return $result; - } - $this->in_transaction = false; - return MDB2_OK; - } - - // }}} - // {{{ function setTransactionIsolation() - - /** - * Set the transacton isolation level. - * - * @param string standard isolation level - * READ UNCOMMITTED (allows dirty reads) - * READ COMMITTED (prevents dirty reads) - * REPEATABLE READ (prevents nonrepeatable reads) - * SERIALIZABLE (prevents phantom reads) - * @param array some transaction options: - * 'wait' => 'WAIT' | 'NO WAIT' - * 'rw' => 'READ WRITE' | 'READ ONLY' - * - * @return mixed MDB2_OK on success, a MDB2 error on failure - * - * @access public - * @since 2.1.1 - */ - function setTransactionIsolation($isolation, $options = array()) - { - $this->debug('Setting transaction isolation level', __FUNCTION__, array('is_manip' => true)); - switch ($isolation) { - case 'READ UNCOMMITTED': - $isolation = 0; - break; - case 'READ COMMITTED': - case 'REPEATABLE READ': - case 'SERIALIZABLE': - $isolation = 1; - break; - default: - return $this->raiseError(MDB2_ERROR_UNSUPPORTED, null, null, - 'isolation level is not supported: '.$isolation, __FUNCTION__); - } - - $query = "PRAGMA read_uncommitted=$isolation"; - return $this->_doQuery($query, true); - } - - // }}} - // {{{ getDatabaseFile() - - /** - * Builds the string with path+dbname+extension - * - * @return string full database path+file - * @access protected - */ - function _getDatabaseFile($database_name) - { - if ($database_name === '' || $database_name === ':memory:') { - return $database_name; - } - return $this->options['database_path'].$database_name.$this->options['database_extension']; - } - - // }}} - // {{{ connect() - - /** - * Connect to the database - * - * @return true on success, MDB2 Error Object on failure - **/ - function connect() - { - $database_file = $this->_getDatabaseFile($this->database_name); - if (is_resource($this->connection)) { - //if (count(array_diff($this->connected_dsn, $this->dsn)) == 0 - if (MDB2::areEquals($this->connected_dsn, $this->dsn) - && $this->connected_database_name == $database_file - && $this->opened_persistent == $this->options['persistent'] - ) { - return MDB2_OK; - } - $this->disconnect(false); - } - - if (!PEAR::loadExtension($this->phptype)) { - return $this->raiseError(MDB2_ERROR_NOT_FOUND, null, null, - 'extension '.$this->phptype.' is not compiled into PHP', __FUNCTION__); - } - - if (empty($this->database_name)) { - return $this->raiseError(MDB2_ERROR_CONNECT_FAILED, null, null, - 'unable to establish a connection', __FUNCTION__); - } - - if ($database_file !== ':memory:') { - if (!file_exists($database_file)) { - if (!touch($database_file)) { - return $this->raiseError(MDB2_ERROR_NOT_FOUND, null, null, - 'Could not create database file', __FUNCTION__); - } - if (!isset($this->dsn['mode']) - || !is_numeric($this->dsn['mode']) - ) { - $mode = 0644; - } else { - $mode = octdec($this->dsn['mode']); - } - if (!chmod($database_file, $mode)) { - return $this->raiseError(MDB2_ERROR_NOT_FOUND, null, null, - 'Could not be chmodded database file', __FUNCTION__); - } - if (!file_exists($database_file)) { - return $this->raiseError(MDB2_ERROR_NOT_FOUND, null, null, - 'Could not be found database file', __FUNCTION__); - } - } - if (!is_file($database_file)) { - return $this->raiseError(MDB2_ERROR_INVALID, null, null, - 'Database is a directory name', __FUNCTION__); - } - if (!is_readable($database_file)) { - return $this->raiseError(MDB2_ERROR_ACCESS_VIOLATION, null, null, - 'Could not read database file', __FUNCTION__); - } - } - - $connect_function = ($this->options['persistent'] ? 'sqlite_popen' : 'sqlite_open'); - $php_errormsg = ''; - if (version_compare('5.1.0', PHP_VERSION, '>')) { - @ini_set('track_errors', true); - $connection = @$connect_function($database_file); - @ini_restore('track_errors'); - } else { - $connection = @$connect_function($database_file, 0666, $php_errormsg); - } - $this->_lasterror = $php_errormsg; - if (!$connection) { - return $this->raiseError(MDB2_ERROR_CONNECT_FAILED, null, null, - 'unable to establish a connection', __FUNCTION__); - } - - if ($this->fix_assoc_fields_names || - $this->options['portability'] & MDB2_PORTABILITY_FIX_ASSOC_FIELD_NAMES) - { - @sqlite_query("PRAGMA short_column_names = 1", $connection); - $this->fix_assoc_fields_names = true; - } - - $this->connection = $connection; - $this->connected_dsn = $this->dsn; - $this->connected_database_name = $database_file; - $this->opened_persistent = $this->getoption('persistent'); - $this->dbsyntax = $this->dsn['dbsyntax'] ? $this->dsn['dbsyntax'] : $this->phptype; - - return MDB2_OK; - } - - // }}} - // {{{ databaseExists() - - /** - * check if given database name is exists? - * - * @param string $name name of the database that should be checked - * - * @return mixed true/false on success, a MDB2 error on failure - * @access public - */ - function databaseExists($name) - { - $database_file = $this->_getDatabaseFile($name); - $result = file_exists($database_file); - return $result; - } - - // }}} - // {{{ disconnect() - - /** - * Log out and disconnect from the database. - * - * @param boolean $force if the disconnect should be forced even if the - * connection is opened persistently - * @return mixed true on success, false if not connected and error - * object on error - * @access public - */ - function disconnect($force = true) - { - if (is_resource($this->connection)) { - if ($this->in_transaction) { - $dsn = $this->dsn; - $database_name = $this->database_name; - $persistent = $this->options['persistent']; - $this->dsn = $this->connected_dsn; - $this->database_name = $this->connected_database_name; - $this->options['persistent'] = $this->opened_persistent; - $this->rollback(); - $this->dsn = $dsn; - $this->database_name = $database_name; - $this->options['persistent'] = $persistent; - } - - if (!$this->opened_persistent || $force) { - @sqlite_close($this->connection); - } - } else { - return false; - } - return parent::disconnect($force); - } - - // }}} - // {{{ _doQuery() - - /** - * Execute a query - * @param string $query query - * @param boolean $is_manip if the query is a manipulation query - * @param resource $connection - * @param string $database_name - * @return result or error object - * @access protected - */ - function _doQuery($query, $is_manip = false, $connection = null, $database_name = null) - { - $this->last_query = $query; - $result = $this->debug($query, 'query', array('is_manip' => $is_manip, 'when' => 'pre')); - if ($result) { - if (PEAR::isError($result)) { - return $result; - } - $query = $result; - } - if ($this->options['disable_query']) { - $result = $is_manip ? 0 : null; - return $result; - } - - if (null === $connection) { - $connection = $this->getConnection(); - if (PEAR::isError($connection)) { - return $connection; - } - } - - $function = $this->options['result_buffering'] - ? 'sqlite_query' : 'sqlite_unbuffered_query'; - $php_errormsg = ''; - if (version_compare('5.1.0', PHP_VERSION, '>')) { - @ini_set('track_errors', true); - do { - $result = @$function($query.';', $connection); - } while (sqlite_last_error($connection) == SQLITE_SCHEMA); - @ini_restore('track_errors'); - } else { - do { - $result = @$function($query.';', $connection, SQLITE_BOTH, $php_errormsg); - } while (sqlite_last_error($connection) == SQLITE_SCHEMA); - } - $this->_lasterror = $php_errormsg; - - if (!$result) { - $code = null; - if (0 === strpos($this->_lasterror, 'no such table')) { - $code = MDB2_ERROR_NOSUCHTABLE; - } - $err = $this->raiseError($code, null, null, - 'Could not execute statement', __FUNCTION__); - return $err; - } - - $this->debug($query, 'query', array('is_manip' => $is_manip, 'when' => 'post', 'result' => $result)); - return $result; - } - - // }}} - // {{{ _affectedRows() - - /** - * Returns the number of rows affected - * - * @param resource $result - * @param resource $connection - * @return mixed MDB2 Error Object or the number of rows affected - * @access private - */ - function _affectedRows($connection, $result = null) - { - if (null === $connection) { - $connection = $this->getConnection(); - if (PEAR::isError($connection)) { - return $connection; - } - } - return @sqlite_changes($connection); - } - - // }}} - // {{{ _modifyQuery() - - /** - * Changes a query string for various DBMS specific reasons - * - * @param string $query query to modify - * @param boolean $is_manip if it is a DML query - * @param integer $limit limit the number of rows - * @param integer $offset start reading from given offset - * @return string modified query - * @access protected - */ - function _modifyQuery($query, $is_manip, $limit, $offset) - { - if ($this->options['portability'] & MDB2_PORTABILITY_DELETE_COUNT) { - if (preg_match('/^\s*DELETE\s+FROM\s+(\S+)\s*$/i', $query)) { - $query = preg_replace('/^\s*DELETE\s+FROM\s+(\S+)\s*$/', - 'DELETE FROM \1 WHERE 1=1', $query); - } - } - if ($limit > 0 - && !preg_match('/LIMIT\s*\d(?:\s*(?:,|OFFSET)\s*\d+)?(?:[^\)]*)?$/i', $query) - ) { - $query = rtrim($query); - if (substr($query, -1) == ';') { - $query = substr($query, 0, -1); - } - if ($is_manip) { - $query.= " LIMIT $limit"; - } else { - $query.= " LIMIT $offset,$limit"; - } - } - return $query; - } - - // }}} - // {{{ getServerVersion() - - /** - * return version information about the server - * - * @param bool $native determines if the raw version string should be returned - * @return mixed array/string with version information or MDB2 error object - * @access public - */ - function getServerVersion($native = false) - { - $server_info = false; - if ($this->connected_server_info) { - $server_info = $this->connected_server_info; - } elseif ($this->options['server_version']) { - $server_info = $this->options['server_version']; - } elseif (function_exists('sqlite_libversion')) { - $server_info = @sqlite_libversion(); - } - if (!$server_info) { - return $this->raiseError(MDB2_ERROR_UNSUPPORTED, null, null, - 'Requires either the "server_version" option or the sqlite_libversion() function', __FUNCTION__); - } - // cache server_info - $this->connected_server_info = $server_info; - if (!$native) { - $tmp = explode('.', $server_info, 3); - $server_info = array( - 'major' => isset($tmp[0]) ? $tmp[0] : null, - 'minor' => isset($tmp[1]) ? $tmp[1] : null, - 'patch' => isset($tmp[2]) ? $tmp[2] : null, - 'extra' => null, - 'native' => $server_info, - ); - } - return $server_info; - } - - // }}} - // {{{ replace() - - /** - * Execute a SQL REPLACE query. A REPLACE query is identical to a INSERT - * query, except that if there is already a row in the table with the same - * key field values, the old row is deleted before the new row is inserted. - * - * The REPLACE type of query does not make part of the SQL standards. Since - * practically only SQLite implements it natively, this type of query is - * emulated through this method for other DBMS using standard types of - * queries inside a transaction to assure the atomicity of the operation. - * - * @access public - * - * @param string $table name of the table on which the REPLACE query will - * be executed. - * @param array $fields associative array that describes the fields and the - * values that will be inserted or updated in the specified table. The - * indexes of the array are the names of all the fields of the table. The - * values of the array are also associative arrays that describe the - * values and other properties of the table fields. - * - * Here follows a list of field properties that need to be specified: - * - * value: - * Value to be assigned to the specified field. This value may be - * of specified in database independent type format as this - * function can perform the necessary datatype conversions. - * - * Default: - * this property is required unless the Null property - * is set to 1. - * - * type - * Name of the type of the field. Currently, all types Metabase - * are supported except for clob and blob. - * - * Default: no type conversion - * - * null - * Boolean property that indicates that the value for this field - * should be set to null. - * - * The default value for fields missing in INSERT queries may be - * specified the definition of a table. Often, the default value - * is already null, but since the REPLACE may be emulated using - * an UPDATE query, make sure that all fields of the table are - * listed in this function argument array. - * - * Default: 0 - * - * key - * Boolean property that indicates that this field should be - * handled as a primary key or at least as part of the compound - * unique index of the table that will determine the row that will - * updated if it exists or inserted a new row otherwise. - * - * This function will fail if no key field is specified or if the - * value of a key field is set to null because fields that are - * part of unique index they may not be null. - * - * Default: 0 - * - * @return mixed MDB2_OK on success, a MDB2 error on failure - */ - function replace($table, $fields) - { - $count = count($fields); - $query = $values = ''; - $keys = $colnum = 0; - for (reset($fields); $colnum < $count; next($fields), $colnum++) { - $name = key($fields); - if ($colnum > 0) { - $query .= ','; - $values.= ','; - } - $query.= $this->quoteIdentifier($name, true); - if (isset($fields[$name]['null']) && $fields[$name]['null']) { - $value = 'NULL'; - } else { - $type = isset($fields[$name]['type']) ? $fields[$name]['type'] : null; - $value = $this->quote($fields[$name]['value'], $type); - if (PEAR::isError($value)) { - return $value; - } - } - $values.= $value; - if (isset($fields[$name]['key']) && $fields[$name]['key']) { - if ($value === 'NULL') { - return $this->raiseError(MDB2_ERROR_CANNOT_REPLACE, null, null, - 'key value '.$name.' may not be NULL', __FUNCTION__); - } - $keys++; - } - } - if ($keys == 0) { - return $this->raiseError(MDB2_ERROR_CANNOT_REPLACE, null, null, - 'not specified which fields are keys', __FUNCTION__); - } - - $connection = $this->getConnection(); - if (PEAR::isError($connection)) { - return $connection; - } - - $table = $this->quoteIdentifier($table, true); - $query = "REPLACE INTO $table ($query) VALUES ($values)"; - $result = $this->_doQuery($query, true, $connection); - if (PEAR::isError($result)) { - return $result; - } - return $this->_affectedRows($connection, $result); - } - - // }}} - // {{{ nextID() - - /** - * Returns the next free id of a sequence - * - * @param string $seq_name name of the sequence - * @param boolean $ondemand when true the sequence is - * automatic created, if it - * not exists - * - * @return mixed MDB2 Error Object or id - * @access public - */ - function nextID($seq_name, $ondemand = true) - { - $sequence_name = $this->quoteIdentifier($this->getSequenceName($seq_name), true); - $seqcol_name = $this->options['seqcol_name']; - $query = "INSERT INTO $sequence_name ($seqcol_name) VALUES (NULL)"; - $this->pushErrorHandling(PEAR_ERROR_RETURN); - $this->expectError(MDB2_ERROR_NOSUCHTABLE); - $result = $this->_doQuery($query, true); - $this->popExpect(); - $this->popErrorHandling(); - if (PEAR::isError($result)) { - if ($ondemand && $result->getCode() == MDB2_ERROR_NOSUCHTABLE) { - $this->loadModule('Manager', null, true); - $result = $this->manager->createSequence($seq_name); - if (PEAR::isError($result)) { - return $this->raiseError($result, null, null, - 'on demand sequence '.$seq_name.' could not be created', __FUNCTION__); - } else { - return $this->nextID($seq_name, false); - } - } - return $result; - } - $value = $this->lastInsertID(); - if (is_numeric($value)) { - $query = "DELETE FROM $sequence_name WHERE $seqcol_name < $value"; - $result = $this->_doQuery($query, true); - if (PEAR::isError($result)) { - $this->warnings[] = 'nextID: could not delete previous sequence table values from '.$seq_name; - } - } - return $value; - } - - // }}} - // {{{ lastInsertID() - - /** - * Returns the autoincrement ID if supported or $id or fetches the current - * ID in a sequence called: $table.(empty($field) ? '' : '_'.$field) - * - * @param string $table name of the table into which a new row was inserted - * @param string $field name of the field into which a new row was inserted - * @return mixed MDB2 Error Object or id - * @access public - */ - function lastInsertID($table = null, $field = null) - { - $connection = $this->getConnection(); - if (PEAR::isError($connection)) { - return $connection; - } - $value = @sqlite_last_insert_rowid($connection); - if (!$value) { - return $this->raiseError(null, null, null, - 'Could not get last insert ID', __FUNCTION__); - } - return $value; - } - - // }}} - // {{{ currID() - - /** - * Returns the current id of a sequence - * - * @param string $seq_name name of the sequence - * @return mixed MDB2 Error Object or id - * @access public - */ - function currID($seq_name) - { - $sequence_name = $this->quoteIdentifier($this->getSequenceName($seq_name), true); - $seqcol_name = $this->quoteIdentifier($this->options['seqcol_name'], true); - $query = "SELECT MAX($seqcol_name) FROM $sequence_name"; - return $this->queryOne($query, 'integer'); - } -} - -/** - * MDB2 SQLite result driver - * - * @package MDB2 - * @category Database - * @author Lukas Smith - */ -class MDB2_Result_sqlite extends MDB2_Result_Common -{ - // }}} - // {{{ fetchRow() - - /** - * Fetch a row and insert the data into an existing array. - * - * @param int $fetchmode how the array data should be indexed - * @param int $rownum number of the row where the data can be found - * @return int data array on success, a MDB2 error on failure - * @access public - */ - function fetchRow($fetchmode = MDB2_FETCHMODE_DEFAULT, $rownum = null) - { - if (null !== $rownum) { - $seek = $this->seek($rownum); - if (PEAR::isError($seek)) { - return $seek; - } - } - if ($fetchmode == MDB2_FETCHMODE_DEFAULT) { - $fetchmode = $this->db->fetchmode; - } - if ( $fetchmode == MDB2_FETCHMODE_ASSOC - || $fetchmode == MDB2_FETCHMODE_OBJECT - ) { - $row = @sqlite_fetch_array($this->result, SQLITE_ASSOC); - if (is_array($row) - && $this->db->options['portability'] & MDB2_PORTABILITY_FIX_CASE - ) { - $row = array_change_key_case($row, $this->db->options['field_case']); - } - } else { - $row = @sqlite_fetch_array($this->result, SQLITE_NUM); - } - if (!$row) { - if (false === $this->result) { - $err = $this->db->raiseError(MDB2_ERROR_NEED_MORE_DATA, null, null, - 'resultset has already been freed', __FUNCTION__); - return $err; - } - return null; - } - $mode = $this->db->options['portability'] & MDB2_PORTABILITY_EMPTY_TO_NULL; - $rtrim = false; - if ($this->db->options['portability'] & MDB2_PORTABILITY_RTRIM) { - if (empty($this->types)) { - $mode += MDB2_PORTABILITY_RTRIM; - } else { - $rtrim = true; - } - } - if ($mode) { - $this->db->_fixResultArrayValues($row, $mode); - } - if ( ( $fetchmode != MDB2_FETCHMODE_ASSOC - && $fetchmode != MDB2_FETCHMODE_OBJECT) - && !empty($this->types) - ) { - $row = $this->db->datatype->convertResultRow($this->types, $row, $rtrim); - } elseif (($fetchmode == MDB2_FETCHMODE_ASSOC - || $fetchmode == MDB2_FETCHMODE_OBJECT) - && !empty($this->types_assoc) - ) { - $row = $this->db->datatype->convertResultRow($this->types_assoc, $row, $rtrim); - } - if (!empty($this->values)) { - $this->_assignBindColumns($row); - } - if ($fetchmode === MDB2_FETCHMODE_OBJECT) { - $object_class = $this->db->options['fetch_class']; - if ($object_class == 'stdClass') { - $row = (object) $row; - } else { - $rowObj = new $object_class($row); - $row = $rowObj; - } - } - ++$this->rownum; - return $row; - } - - // }}} - // {{{ _getColumnNames() - - /** - * Retrieve the names of columns returned by the DBMS in a query result. - * - * @return mixed Array variable that holds the names of columns as keys - * or an MDB2 error on failure. - * Some DBMS may not return any columns when the result set - * does not contain any rows. - * @access private - */ - function _getColumnNames() - { - $columns = array(); - $numcols = $this->numCols(); - if (PEAR::isError($numcols)) { - return $numcols; - } - for ($column = 0; $column < $numcols; $column++) { - $column_name = @sqlite_field_name($this->result, $column); - $columns[$column_name] = $column; - } - if ($this->db->options['portability'] & MDB2_PORTABILITY_FIX_CASE) { - $columns = array_change_key_case($columns, $this->db->options['field_case']); - } - return $columns; - } - - // }}} - // {{{ numCols() - - /** - * Count the number of columns returned by the DBMS in a query result. - * - * @access public - * @return mixed integer value with the number of columns, a MDB2 error - * on failure - */ - function numCols() - { - $cols = @sqlite_num_fields($this->result); - if (null === $cols) { - if (false === $this->result) { - return $this->db->raiseError(MDB2_ERROR_NEED_MORE_DATA, null, null, - 'resultset has already been freed', __FUNCTION__); - } - if (null === $this->result) { - return count($this->types); - } - return $this->db->raiseError(null, null, null, - 'Could not get column count', __FUNCTION__); - } - return $cols; - } -} - -/** - * MDB2 SQLite buffered result driver - * - * @package MDB2 - * @category Database - * @author Lukas Smith - */ -class MDB2_BufferedResult_sqlite extends MDB2_Result_sqlite -{ - // {{{ seek() - - /** - * Seek to a specific row in a result set - * - * @param int $rownum number of the row where the data can be found - * @return mixed MDB2_OK on success, a MDB2 error on failure - * @access public - */ - function seek($rownum = 0) - { - if (!@sqlite_seek($this->result, $rownum)) { - if (false === $this->result) { - return $this->db->raiseError(MDB2_ERROR_NEED_MORE_DATA, null, null, - 'resultset has already been freed', __FUNCTION__); - } - if (null === $this->result) { - return MDB2_OK; - } - return $this->db->raiseError(MDB2_ERROR_INVALID, null, null, - 'tried to seek to an invalid row number ('.$rownum.')', __FUNCTION__); - } - $this->rownum = $rownum - 1; - return MDB2_OK; - } - - // }}} - // {{{ valid() - - /** - * Check if the end of the result set has been reached - * - * @return mixed true or false on sucess, a MDB2 error on failure - * @access public - */ - function valid() - { - $numrows = $this->numRows(); - if (PEAR::isError($numrows)) { - return $numrows; - } - return $this->rownum < ($numrows - 1); - } - - // }}} - // {{{ numRows() - - /** - * Returns the number of rows in a result object - * - * @return mixed MDB2 Error Object or the number of rows - * @access public - */ - function numRows() - { - $rows = @sqlite_num_rows($this->result); - if (null === $rows) { - if (false === $this->result) { - return $this->db->raiseError(MDB2_ERROR_NEED_MORE_DATA, null, null, - 'resultset has already been freed', __FUNCTION__); - } - if (null === $this->result) { - return 0; - } - return $this->db->raiseError(null, null, null, - 'Could not get row count', __FUNCTION__); - } - return $rows; - } -} - -/** - * MDB2 SQLite statement driver - * - * @package MDB2 - * @category Database - * @author Lukas Smith - */ -class MDB2_Statement_sqlite extends MDB2_Statement_Common -{ - -} -?> diff --git a/3rdparty/MDB2/Extended.php b/3rdparty/MDB2/Extended.php deleted file mode 100644 index 5b0a5be34a02e36c5131849701b0ce12e65becd2..0000000000000000000000000000000000000000 --- a/3rdparty/MDB2/Extended.php +++ /dev/null @@ -1,723 +0,0 @@ - | -// +----------------------------------------------------------------------+ -// -// $Id$ - -/** - * @package MDB2 - * @category Database - * @author Lukas Smith - */ - -/** - * Used by autoPrepare() - */ -define('MDB2_AUTOQUERY_INSERT', 1); -define('MDB2_AUTOQUERY_UPDATE', 2); -define('MDB2_AUTOQUERY_DELETE', 3); -define('MDB2_AUTOQUERY_SELECT', 4); - -/** - * MDB2_Extended: class which adds several high level methods to MDB2 - * - * @package MDB2 - * @category Database - * @author Lukas Smith - */ -class MDB2_Extended extends MDB2_Module_Common -{ - // {{{ autoPrepare() - - /** - * Generate an insert, update or delete query and call prepare() on it - * - * @param string table - * @param array the fields names - * @param int type of query to build - * MDB2_AUTOQUERY_INSERT - * MDB2_AUTOQUERY_UPDATE - * MDB2_AUTOQUERY_DELETE - * MDB2_AUTOQUERY_SELECT - * @param string (in case of update and delete queries, this string will be put after the sql WHERE statement) - * @param array that contains the types of the placeholders - * @param mixed array that contains the types of the columns in - * the result set or MDB2_PREPARE_RESULT, if set to - * MDB2_PREPARE_MANIP the query is handled as a manipulation query - * - * @return resource handle for the query - * @see buildManipSQL - * @access public - */ - function autoPrepare($table, $table_fields, $mode = MDB2_AUTOQUERY_INSERT, - $where = false, $types = null, $result_types = MDB2_PREPARE_MANIP) - { - $query = $this->buildManipSQL($table, $table_fields, $mode, $where); - if (PEAR::isError($query)) { - return $query; - } - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - $lobs = array(); - foreach ((array)$types as $param => $type) { - if (($type == 'clob') || ($type == 'blob')) { - $lobs[$param] = $table_fields[$param]; - } - } - return $db->prepare($query, $types, $result_types, $lobs); - } - - // }}} - // {{{ autoExecute() - - /** - * Generate an insert, update or delete query and call prepare() and execute() on it - * - * @param string name of the table - * @param array assoc ($key=>$value) where $key is a field name and $value its value - * @param int type of query to build - * MDB2_AUTOQUERY_INSERT - * MDB2_AUTOQUERY_UPDATE - * MDB2_AUTOQUERY_DELETE - * MDB2_AUTOQUERY_SELECT - * @param string (in case of update and delete queries, this string will be put after the sql WHERE statement) - * @param array that contains the types of the placeholders - * @param string which specifies which result class to use - * @param mixed array that contains the types of the columns in - * the result set or MDB2_PREPARE_RESULT, if set to - * MDB2_PREPARE_MANIP the query is handled as a manipulation query - * - * @return bool|MDB2_Error true on success, a MDB2 error on failure - * @see buildManipSQL - * @see autoPrepare - * @access public - */ - function autoExecute($table, $fields_values, $mode = MDB2_AUTOQUERY_INSERT, - $where = false, $types = null, $result_class = true, $result_types = MDB2_PREPARE_MANIP) - { - $fields_values = (array)$fields_values; - if ($mode == MDB2_AUTOQUERY_SELECT) { - if (is_array($result_types)) { - $keys = array_keys($result_types); - } elseif (!empty($fields_values)) { - $keys = $fields_values; - } else { - $keys = array(); - } - } else { - $keys = array_keys($fields_values); - } - $params = array_values($fields_values); - if (empty($params)) { - $query = $this->buildManipSQL($table, $keys, $mode, $where); - - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - if ($mode == MDB2_AUTOQUERY_SELECT) { - $result = $db->query($query, $result_types, $result_class); - } else { - $result = $db->exec($query); - } - } else { - $stmt = $this->autoPrepare($table, $keys, $mode, $where, $types, $result_types); - if (PEAR::isError($stmt)) { - return $stmt; - } - $result = $stmt->execute($params, $result_class); - $stmt->free(); - } - return $result; - } - - // }}} - // {{{ buildManipSQL() - - /** - * Make automaticaly an sql query for prepare() - * - * Example : buildManipSQL('table_sql', array('field1', 'field2', 'field3'), MDB2_AUTOQUERY_INSERT) - * will return the string : INSERT INTO table_sql (field1,field2,field3) VALUES (?,?,?) - * NB : - This belongs more to a SQL Builder class, but this is a simple facility - * - Be carefull ! If you don't give a $where param with an UPDATE/DELETE query, all - * the records of the table will be updated/deleted ! - * - * @param string name of the table - * @param ordered array containing the fields names - * @param int type of query to build - * MDB2_AUTOQUERY_INSERT - * MDB2_AUTOQUERY_UPDATE - * MDB2_AUTOQUERY_DELETE - * MDB2_AUTOQUERY_SELECT - * @param string (in case of update and delete queries, this string will be put after the sql WHERE statement) - * - * @return string sql query for prepare() - * @access public - */ - function buildManipSQL($table, $table_fields, $mode, $where = false) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - if ($db->options['quote_identifier']) { - $table = $db->quoteIdentifier($table); - } - - if (!empty($table_fields) && $db->options['quote_identifier']) { - foreach ($table_fields as $key => $field) { - $table_fields[$key] = $db->quoteIdentifier($field); - } - } - - if ((false !== $where) && (null !== $where)) { - if (is_array($where)) { - $where = implode(' AND ', $where); - } - $where = ' WHERE '.$where; - } - - switch ($mode) { - case MDB2_AUTOQUERY_INSERT: - if (empty($table_fields)) { - return $db->raiseError(MDB2_ERROR_NEED_MORE_DATA, null, null, - 'Insert requires table fields', __FUNCTION__); - } - $cols = implode(', ', $table_fields); - $values = '?'.str_repeat(', ?', (count($table_fields) - 1)); - return 'INSERT INTO '.$table.' ('.$cols.') VALUES ('.$values.')'; - break; - case MDB2_AUTOQUERY_UPDATE: - if (empty($table_fields)) { - return $db->raiseError(MDB2_ERROR_NEED_MORE_DATA, null, null, - 'Update requires table fields', __FUNCTION__); - } - $set = implode(' = ?, ', $table_fields).' = ?'; - $sql = 'UPDATE '.$table.' SET '.$set.$where; - return $sql; - break; - case MDB2_AUTOQUERY_DELETE: - $sql = 'DELETE FROM '.$table.$where; - return $sql; - break; - case MDB2_AUTOQUERY_SELECT: - $cols = !empty($table_fields) ? implode(', ', $table_fields) : '*'; - $sql = 'SELECT '.$cols.' FROM '.$table.$where; - return $sql; - break; - } - return $db->raiseError(MDB2_ERROR_SYNTAX, null, null, - 'Non existant mode', __FUNCTION__); - } - - // }}} - // {{{ limitQuery() - - /** - * Generates a limited query - * - * @param string query - * @param array that contains the types of the columns in the result set - * @param integer the numbers of rows to fetch - * @param integer the row to start to fetching - * @param string which specifies which result class to use - * @param mixed string which specifies which class to wrap results in - * - * @return MDB2_Result|MDB2_Error result set on success, a MDB2 error on failure - * @access public - */ - function limitQuery($query, $types, $limit, $offset = 0, $result_class = true, - $result_wrap_class = false) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - $result = $db->setLimit($limit, $offset); - if (PEAR::isError($result)) { - return $result; - } - return $db->query($query, $types, $result_class, $result_wrap_class); - } - - // }}} - // {{{ execParam() - - /** - * Execute a parameterized DML statement. - * - * @param string the SQL query - * @param array if supplied, prepare/execute will be used - * with this array as execute parameters - * @param array that contains the types of the values defined in $params - * - * @return int|MDB2_Error affected rows on success, a MDB2 error on failure - * @access public - */ - function execParam($query, $params = array(), $param_types = null) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - settype($params, 'array'); - if (empty($params)) { - return $db->exec($query); - } - - $stmt = $db->prepare($query, $param_types, MDB2_PREPARE_MANIP); - if (PEAR::isError($stmt)) { - return $stmt; - } - - $result = $stmt->execute($params); - if (PEAR::isError($result)) { - return $result; - } - - $stmt->free(); - return $result; - } - - // }}} - // {{{ getOne() - - /** - * Fetch the first column of the first row of data returned from a query. - * Takes care of doing the query and freeing the results when finished. - * - * @param string the SQL query - * @param string that contains the type of the column in the result set - * @param array if supplied, prepare/execute will be used - * with this array as execute parameters - * @param array that contains the types of the values defined in $params - * @param int|string which column to return - * - * @return scalar|MDB2_Error data on success, a MDB2 error on failure - * @access public - */ - function getOne($query, $type = null, $params = array(), - $param_types = null, $colnum = 0) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - settype($params, 'array'); - settype($type, 'array'); - if (empty($params)) { - return $db->queryOne($query, $type, $colnum); - } - - $stmt = $db->prepare($query, $param_types, $type); - if (PEAR::isError($stmt)) { - return $stmt; - } - - $result = $stmt->execute($params); - if (!MDB2::isResultCommon($result)) { - return $result; - } - - $one = $result->fetchOne($colnum); - $stmt->free(); - $result->free(); - return $one; - } - - // }}} - // {{{ getRow() - - /** - * Fetch the first row of data returned from a query. Takes care - * of doing the query and freeing the results when finished. - * - * @param string the SQL query - * @param array that contains the types of the columns in the result set - * @param array if supplied, prepare/execute will be used - * with this array as execute parameters - * @param array that contains the types of the values defined in $params - * @param int the fetch mode to use - * - * @return array|MDB2_Error data on success, a MDB2 error on failure - * @access public - */ - function getRow($query, $types = null, $params = array(), - $param_types = null, $fetchmode = MDB2_FETCHMODE_DEFAULT) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - settype($params, 'array'); - if (empty($params)) { - return $db->queryRow($query, $types, $fetchmode); - } - - $stmt = $db->prepare($query, $param_types, $types); - if (PEAR::isError($stmt)) { - return $stmt; - } - - $result = $stmt->execute($params); - if (!MDB2::isResultCommon($result)) { - return $result; - } - - $row = $result->fetchRow($fetchmode); - $stmt->free(); - $result->free(); - return $row; - } - - // }}} - // {{{ getCol() - - /** - * Fetch a single column from a result set and return it as an - * indexed array. - * - * @param string the SQL query - * @param string that contains the type of the column in the result set - * @param array if supplied, prepare/execute will be used - * with this array as execute parameters - * @param array that contains the types of the values defined in $params - * @param int|string which column to return - * - * @return array|MDB2_Error data on success, a MDB2 error on failure - * @access public - */ - function getCol($query, $type = null, $params = array(), - $param_types = null, $colnum = 0) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - settype($params, 'array'); - settype($type, 'array'); - if (empty($params)) { - return $db->queryCol($query, $type, $colnum); - } - - $stmt = $db->prepare($query, $param_types, $type); - if (PEAR::isError($stmt)) { - return $stmt; - } - - $result = $stmt->execute($params); - if (!MDB2::isResultCommon($result)) { - return $result; - } - - $col = $result->fetchCol($colnum); - $stmt->free(); - $result->free(); - return $col; - } - - // }}} - // {{{ getAll() - - /** - * Fetch all the rows returned from a query. - * - * @param string the SQL query - * @param array that contains the types of the columns in the result set - * @param array if supplied, prepare/execute will be used - * with this array as execute parameters - * @param array that contains the types of the values defined in $params - * @param int the fetch mode to use - * @param bool if set to true, the $all will have the first - * column as its first dimension - * @param bool $force_array used only when the query returns exactly - * two columns. If true, the values of the returned array will be - * one-element arrays instead of scalars. - * @param bool $group if true, the values of the returned array is - * wrapped in another array. If the same key value (in the first - * column) repeats itself, the values will be appended to this array - * instead of overwriting the existing values. - * - * @return array|MDB2_Error data on success, a MDB2 error on failure - * @access public - */ - function getAll($query, $types = null, $params = array(), - $param_types = null, $fetchmode = MDB2_FETCHMODE_DEFAULT, - $rekey = false, $force_array = false, $group = false) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - settype($params, 'array'); - if (empty($params)) { - return $db->queryAll($query, $types, $fetchmode, $rekey, $force_array, $group); - } - - $stmt = $db->prepare($query, $param_types, $types); - if (PEAR::isError($stmt)) { - return $stmt; - } - - $result = $stmt->execute($params); - if (!MDB2::isResultCommon($result)) { - return $result; - } - - $all = $result->fetchAll($fetchmode, $rekey, $force_array, $group); - $stmt->free(); - $result->free(); - return $all; - } - - // }}} - // {{{ getAssoc() - - /** - * Fetch the entire result set of a query and return it as an - * associative array using the first column as the key. - * - * If the result set contains more than two columns, the value - * will be an array of the values from column 2-n. If the result - * set contains only two columns, the returned value will be a - * scalar with the value of the second column (unless forced to an - * array with the $force_array parameter). A MDB2 error code is - * returned on errors. If the result set contains fewer than two - * columns, a MDB2_ERROR_TRUNCATED error is returned. - * - * For example, if the table 'mytable' contains: - *
-     *   ID      TEXT       DATE
-     * --------------------------------
-     *   1       'one'      944679408
-     *   2       'two'      944679408
-     *   3       'three'    944679408
-     * 
- * Then the call getAssoc('SELECT id,text FROM mytable') returns: - *
-     *    array(
-     *      '1' => 'one',
-     *      '2' => 'two',
-     *      '3' => 'three',
-     *    )
-     * 
- * ...while the call getAssoc('SELECT id,text,date FROM mytable') returns: - *
-     *    array(
-     *      '1' => array('one', '944679408'),
-     *      '2' => array('two', '944679408'),
-     *      '3' => array('three', '944679408')
-     *    )
-     * 
- * - * If the more than one row occurs with the same value in the - * first column, the last row overwrites all previous ones by - * default. Use the $group parameter if you don't want to - * overwrite like this. Example: - *
-     * getAssoc('SELECT category,id,name FROM mytable', null, null
-     *           MDB2_FETCHMODE_ASSOC, false, true) returns:
-     *    array(
-     *      '1' => array(array('id' => '4', 'name' => 'number four'),
-     *                   array('id' => '6', 'name' => 'number six')
-     *             ),
-     *      '9' => array(array('id' => '4', 'name' => 'number four'),
-     *                   array('id' => '6', 'name' => 'number six')
-     *             )
-     *    )
-     * 
- * - * Keep in mind that database functions in PHP usually return string - * values for results regardless of the database's internal type. - * - * @param string the SQL query - * @param array that contains the types of the columns in the result set - * @param array if supplied, prepare/execute will be used - * with this array as execute parameters - * @param array that contains the types of the values defined in $params - * @param bool $force_array used only when the query returns - * exactly two columns. If TRUE, the values of the returned array - * will be one-element arrays instead of scalars. - * @param bool $group if TRUE, the values of the returned array - * is wrapped in another array. If the same key value (in the first - * column) repeats itself, the values will be appended to this array - * instead of overwriting the existing values. - * - * @return array|MDB2_Error data on success, a MDB2 error on failure - * @access public - */ - function getAssoc($query, $types = null, $params = array(), $param_types = null, - $fetchmode = MDB2_FETCHMODE_DEFAULT, $force_array = false, $group = false) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - settype($params, 'array'); - if (empty($params)) { - return $db->queryAll($query, $types, $fetchmode, true, $force_array, $group); - } - - $stmt = $db->prepare($query, $param_types, $types); - if (PEAR::isError($stmt)) { - return $stmt; - } - - $result = $stmt->execute($params); - if (!MDB2::isResultCommon($result)) { - return $result; - } - - $all = $result->fetchAll($fetchmode, true, $force_array, $group); - $stmt->free(); - $result->free(); - return $all; - } - - // }}} - // {{{ executeMultiple() - - /** - * This function does several execute() calls on the same statement handle. - * $params must be an array indexed numerically from 0, one execute call is - * done for every 'row' in the array. - * - * If an error occurs during execute(), executeMultiple() does not execute - * the unfinished rows, but rather returns that error. - * - * @param resource query handle from prepare() - * @param array numeric array containing the data to insert into the query - * - * @return bool|MDB2_Error true on success, a MDB2 error on failure - * @access public - * @see prepare(), execute() - */ - function executeMultiple($stmt, $params = null) - { - if (MDB2::isError($stmt)) { - return $stmt; - } - for ($i = 0, $j = count($params); $i < $j; $i++) { - $result = $stmt->execute($params[$i]); - if (PEAR::isError($result)) { - return $result; - } - } - return MDB2_OK; - } - - // }}} - // {{{ getBeforeID() - - /** - * Returns the next free id of a sequence if the RDBMS - * does not support auto increment - * - * @param string name of the table into which a new row was inserted - * @param string name of the field into which a new row was inserted - * @param bool when true the sequence is automatic created, if it not exists - * @param bool if the returned value should be quoted - * - * @return int|MDB2_Error id on success, a MDB2 error on failure - * @access public - */ - function getBeforeID($table, $field = null, $ondemand = true, $quote = true) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - if ($db->supports('auto_increment') !== true) { - $seq = $table.(empty($field) ? '' : '_'.$field); - $id = $db->nextID($seq, $ondemand); - if (!$quote || PEAR::isError($id)) { - return $id; - } - return $db->quote($id, 'integer'); - } elseif (!$quote) { - return null; - } - return 'NULL'; - } - - // }}} - // {{{ getAfterID() - - /** - * Returns the autoincrement ID if supported or $id - * - * @param mixed value as returned by getBeforeId() - * @param string name of the table into which a new row was inserted - * @param string name of the field into which a new row was inserted - * - * @return int|MDB2_Error id on success, a MDB2 error on failure - * @access public - */ - function getAfterID($id, $table, $field = null) - { - $db = $this->getDBInstance(); - if (PEAR::isError($db)) { - return $db; - } - - if ($db->supports('auto_increment') !== true) { - return $id; - } - return $db->lastInsertID($table, $field); - } - - // }}} -} -?> \ No newline at end of file diff --git a/3rdparty/MDB2/Iterator.php b/3rdparty/MDB2/Iterator.php deleted file mode 100644 index 46feade32183bc459abdb4691d7cbb602e887745..0000000000000000000000000000000000000000 --- a/3rdparty/MDB2/Iterator.php +++ /dev/null @@ -1,262 +0,0 @@ - | -// +----------------------------------------------------------------------+ -// -// $Id$ - -/** - * PHP5 Iterator - * - * @package MDB2 - * @category Database - * @author Lukas Smith - */ -class MDB2_Iterator implements Iterator -{ - protected $fetchmode; - /** - * @var MDB2_Result_Common - */ - protected $result; - protected $row; - - // {{{ constructor - - /** - * Constructor - */ - public function __construct(MDB2_Result_Common $result, $fetchmode = MDB2_FETCHMODE_DEFAULT) - { - $this->result = $result; - $this->fetchmode = $fetchmode; - } - // }}} - - // {{{ seek() - - /** - * Seek forward to a specific row in a result set - * - * @param int number of the row where the data can be found - * - * @return void - * @access public - */ - public function seek($rownum) - { - $this->row = null; - if ($this->result) { - $this->result->seek($rownum); - } - } - // }}} - - // {{{ next() - - /** - * Fetch next row of data - * - * @return void - * @access public - */ - public function next() - { - $this->row = null; - } - // }}} - - // {{{ current() - - /** - * return a row of data - * - * @return void - * @access public - */ - public function current() - { - if (null === $this->row) { - $row = $this->result->fetchRow($this->fetchmode); - if (PEAR::isError($row)) { - $row = false; - } - $this->row = $row; - } - return $this->row; - } - // }}} - - // {{{ valid() - - /** - * Check if the end of the result set has been reached - * - * @return bool true/false, false is also returned on failure - * @access public - */ - public function valid() - { - return (bool)$this->current(); - } - // }}} - - // {{{ free() - - /** - * Free the internal resources associated with result. - * - * @return bool|MDB2_Error true on success, false|MDB2_Error if result is invalid - * @access public - */ - public function free() - { - if ($this->result) { - return $this->result->free(); - } - $this->result = false; - $this->row = null; - return false; - } - // }}} - - // {{{ key() - - /** - * Returns the row number - * - * @return int|bool|MDB2_Error true on success, false|MDB2_Error if result is invalid - * @access public - */ - public function key() - { - if ($this->result) { - return $this->result->rowCount(); - } - return false; - } - // }}} - - // {{{ rewind() - - /** - * Seek to the first row in a result set - * - * @return void - * @access public - */ - public function rewind() - { - } - // }}} - - // {{{ destructor - - /** - * Destructor - */ - public function __destruct() - { - $this->free(); - } - // }}} -} - -/** - * PHP5 buffered Iterator - * - * @package MDB2 - * @category Database - * @author Lukas Smith - */ -class MDB2_BufferedIterator extends MDB2_Iterator implements SeekableIterator -{ - // {{{ valid() - - /** - * Check if the end of the result set has been reached - * - * @return bool|MDB2_Error true on success, false|MDB2_Error if result is invalid - * @access public - */ - public function valid() - { - if ($this->result) { - return $this->result->valid(); - } - return false; - } - // }}} - - // {{{count() - - /** - * Returns the number of rows in a result object - * - * @return int|MDB2_Error number of rows, false|MDB2_Error if result is invalid - * @access public - */ - public function count() - { - if ($this->result) { - return $this->result->numRows(); - } - return false; - } - // }}} - - // {{{ rewind() - - /** - * Seek to the first row in a result set - * - * @return void - * @access public - */ - public function rewind() - { - $this->seek(0); - } - // }}} -} - -?> \ No newline at end of file diff --git a/3rdparty/MDB2/LOB.php b/3rdparty/MDB2/LOB.php deleted file mode 100644 index 537a77e546bcddbf49b8aa1488f74ee62dcdcdeb..0000000000000000000000000000000000000000 --- a/3rdparty/MDB2/LOB.php +++ /dev/null @@ -1,264 +0,0 @@ - | -// +----------------------------------------------------------------------+ -// -// $Id$ - -/** - * @package MDB2 - * @category Database - * @author Lukas Smith - */ - -require_once 'MDB2.php'; - -/** - * MDB2_LOB: user land stream wrapper implementation for LOB support - * - * @package MDB2 - * @category Database - * @author Lukas Smith - */ -class MDB2_LOB -{ - /** - * contains the key to the global MDB2 instance array of the associated - * MDB2 instance - * - * @var integer - * @access protected - */ - var $db_index; - - /** - * contains the key to the global MDB2_LOB instance array of the associated - * MDB2_LOB instance - * - * @var integer - * @access protected - */ - var $lob_index; - - // {{{ stream_open() - - /** - * open stream - * - * @param string specifies the URL that was passed to fopen() - * @param string the mode used to open the file - * @param int holds additional flags set by the streams API - * @param string not used - * - * @return bool - * @access public - */ - function stream_open($path, $mode, $options, &$opened_path) - { - if (!preg_match('/^rb?\+?$/', $mode)) { - return false; - } - $url = parse_url($path); - if (empty($url['host'])) { - return false; - } - $this->db_index = (int)$url['host']; - if (!isset($GLOBALS['_MDB2_databases'][$this->db_index])) { - return false; - } - $db =& $GLOBALS['_MDB2_databases'][$this->db_index]; - $this->lob_index = (int)$url['user']; - if (!isset($db->datatype->lobs[$this->lob_index])) { - return false; - } - return true; - } - // }}} - - // {{{ stream_read() - - /** - * read stream - * - * @param int number of bytes to read - * - * @return string - * @access public - */ - function stream_read($count) - { - if (isset($GLOBALS['_MDB2_databases'][$this->db_index])) { - $db =& $GLOBALS['_MDB2_databases'][$this->db_index]; - $db->datatype->_retrieveLOB($db->datatype->lobs[$this->lob_index]); - - $data = $db->datatype->_readLOB($db->datatype->lobs[$this->lob_index], $count); - $length = strlen($data); - if ($length == 0) { - $db->datatype->lobs[$this->lob_index]['endOfLOB'] = true; - } - $db->datatype->lobs[$this->lob_index]['position'] += $length; - return $data; - } - } - // }}} - - // {{{ stream_write() - - /** - * write stream, note implemented - * - * @param string data - * - * @return int - * @access public - */ - function stream_write($data) - { - return 0; - } - // }}} - - // {{{ stream_tell() - - /** - * return the current position - * - * @return int current position - * @access public - */ - function stream_tell() - { - if (isset($GLOBALS['_MDB2_databases'][$this->db_index])) { - $db =& $GLOBALS['_MDB2_databases'][$this->db_index]; - return $db->datatype->lobs[$this->lob_index]['position']; - } - } - // }}} - - // {{{ stream_eof() - - /** - * Check if stream reaches EOF - * - * @return bool - * @access public - */ - function stream_eof() - { - if (!isset($GLOBALS['_MDB2_databases'][$this->db_index])) { - return true; - } - - $db =& $GLOBALS['_MDB2_databases'][$this->db_index]; - $result = $db->datatype->_endOfLOB($db->datatype->lobs[$this->lob_index]); - if (version_compare(phpversion(), "5.0", ">=") - && version_compare(phpversion(), "5.1", "<") - ) { - return !$result; - } - return $result; - } - // }}} - - // {{{ stream_seek() - - /** - * Seek stream, not implemented - * - * @param int offset - * @param int whence - * - * @return bool - * @access public - */ - function stream_seek($offset, $whence) - { - return false; - } - // }}} - - // {{{ stream_stat() - - /** - * return information about stream - * - * @access public - */ - function stream_stat() - { - if (isset($GLOBALS['_MDB2_databases'][$this->db_index])) { - $db =& $GLOBALS['_MDB2_databases'][$this->db_index]; - return array( - 'db_index' => $this->db_index, - 'lob_index' => $this->lob_index, - ); - } - } - // }}} - - // {{{ stream_close() - - /** - * close stream - * - * @access public - */ - function stream_close() - { - if (isset($GLOBALS['_MDB2_databases'][$this->db_index])) { - $db =& $GLOBALS['_MDB2_databases'][$this->db_index]; - if (isset($db->datatype->lobs[$this->lob_index])) { - $db->datatype->_destroyLOB($db->datatype->lobs[$this->lob_index]); - unset($db->datatype->lobs[$this->lob_index]); - } - } - } - // }}} -} - -// register streams wrapper -if (!stream_wrapper_register("MDB2LOB", "MDB2_LOB")) { - MDB2::raiseError(); - return false; -} - -?> diff --git a/3rdparty/MDB2/Schema.php b/3rdparty/MDB2/Schema.php deleted file mode 100644 index 5eeb97b055bf1c74a101ad0601f0b58e94d60e30..0000000000000000000000000000000000000000 --- a/3rdparty/MDB2/Schema.php +++ /dev/null @@ -1,2797 +0,0 @@ - - * @author Igor Feghali - * @license BSD http://www.opensource.org/licenses/bsd-license.php - * @version SVN: $Id$ - * @link http://pear.php.net/packages/MDB2_Schema - */ - -require_once 'MDB2.php'; - -define('MDB2_SCHEMA_DUMP_ALL', 0); -define('MDB2_SCHEMA_DUMP_STRUCTURE', 1); -define('MDB2_SCHEMA_DUMP_CONTENT', 2); - -/** - * If you add an error code here, make sure you also add a textual - * version of it in MDB2_Schema::errorMessage(). - */ - -define('MDB2_SCHEMA_ERROR', -1); -define('MDB2_SCHEMA_ERROR_PARSE', -2); -define('MDB2_SCHEMA_ERROR_VALIDATE', -3); -define('MDB2_SCHEMA_ERROR_UNSUPPORTED', -4); // Driver does not support this function -define('MDB2_SCHEMA_ERROR_INVALID', -5); // Invalid attribute value -define('MDB2_SCHEMA_ERROR_WRITER', -6); - -/** - * The database manager is a class that provides a set of database - * management services like installing, altering and dumping the data - * structures of databases. - * - * @category Database - * @package MDB2_Schema - * @author Lukas Smith - * @license BSD http://www.opensource.org/licenses/bsd-license.php - * @link http://pear.php.net/packages/MDB2_Schema - */ -class MDB2_Schema extends PEAR -{ - // {{{ properties - - var $db; - - var $warnings = array(); - - var $options = array( - 'fail_on_invalid_names' => true, - 'dtd_file' => false, - 'valid_types' => array(), - 'force_defaults' => true, - 'parser' => 'MDB2_Schema_Parser', - 'writer' => 'MDB2_Schema_Writer', - 'validate' => 'MDB2_Schema_Validate', - 'drop_obsolete_objects' => false - ); - - // }}} - // {{{ apiVersion() - - /** - * Return the MDB2 API version - * - * @return string the MDB2 API version number - * @access public - */ - function apiVersion() - { - return '0.4.3'; - } - - // }}} - // {{{ arrayMergeClobber() - - /** - * Clobbers two arrays together - * - * @param array $a1 array that should be clobbered - * @param array $a2 array that should be clobbered - * - * @return array|false array on success and false on error - * - * @access public - * @author kc@hireability.com - */ - function arrayMergeClobber($a1, $a2) - { - if (!is_array($a1) || !is_array($a2)) { - return false; - } - foreach ($a2 as $key => $val) { - if (is_array($val) && array_key_exists($key, $a1) && is_array($a1[$key])) { - $a1[$key] = MDB2_Schema::arrayMergeClobber($a1[$key], $val); - } else { - $a1[$key] = $val; - } - } - return $a1; - } - - // }}} - // {{{ resetWarnings() - - /** - * reset the warning array - * - * @access public - * @return void - */ - function resetWarnings() - { - $this->warnings = array(); - } - - // }}} - // {{{ getWarnings() - - /** - * Get all warnings in reverse order - * - * This means that the last warning is the first element in the array - * - * @return array with warnings - * @access public - * @see resetWarnings() - */ - function getWarnings() - { - return array_reverse($this->warnings); - } - - // }}} - // {{{ setOption() - - /** - * Sets the option for the db class - * - * @param string $option option name - * @param mixed $value value for the option - * - * @return bool|MDB2_Error MDB2_OK or error object - * @access public - */ - function setOption($option, $value) - { - if (isset($this->options[$option])) { - if (is_null($value)) { - return $this->raiseError(MDB2_SCHEMA_ERROR, null, null, - 'may not set an option to value null'); - } - $this->options[$option] = $value; - return MDB2_OK; - } - return $this->raiseError(MDB2_SCHEMA_ERROR_UNSUPPORTED, null, null, - "unknown option $option"); - } - - // }}} - // {{{ getOption() - - /** - * returns the value of an option - * - * @param string $option option name - * - * @return mixed the option value or error object - * @access public - */ - function getOption($option) - { - if (isset($this->options[$option])) { - return $this->options[$option]; - } - return $this->raiseError(MDB2_SCHEMA_ERROR_UNSUPPORTED, - null, null, "unknown option $option"); - } - - // }}} - // {{{ factory() - - /** - * Create a new MDB2 object for the specified database type - * type - * - * @param string|array|MDB2_Driver_Common &$db 'data source name', see the - * MDB2::parseDSN method for a description of the dsn format. - * Can also be specified as an array of the - * format returned by @see MDB2::parseDSN. - * Finally you can also pass an existing db object to be used. - * @param array $options An associative array of option names and their values. - * - * @return bool|MDB2_Error MDB2_OK or error object - * @access public - * @see MDB2::parseDSN - */ - static function &factory(&$db, $options = array()) - { - $obj = new MDB2_Schema(); - - $result = $obj->connect($db, $options); - if (PEAR::isError($result)) { - return $result; - } - return $obj; - } - - // }}} - // {{{ connect() - - /** - * Create a new MDB2 connection object and connect to the specified - * database - * - * @param string|array|MDB2_Driver_Common &$db 'data source name', see the - * MDB2::parseDSN method for a description of the dsn format. - * Can also be specified as an array of the - * format returned by MDB2::parseDSN. - * Finally you can also pass an existing db object to be used. - * @param array $options An associative array of option names and their values. - * - * @return bool|MDB2_Error MDB2_OK or error object - * @access public - * @see MDB2::parseDSN - */ - function connect(&$db, $options = array()) - { - $db_options = array(); - if (is_array($options)) { - foreach ($options as $option => $value) { - if (array_key_exists($option, $this->options)) { - $result = $this->setOption($option, $value); - if (PEAR::isError($result)) { - return $result; - } - } else { - $db_options[$option] = $value; - } - } - } - - $this->disconnect(); - if (!MDB2::isConnection($db)) { - $db = MDB2::factory($db, $db_options); - } - - if (PEAR::isError($db)) { - return $db; - } - - $this->db = $db; - $this->db->loadModule('Datatype'); - $this->db->loadModule('Manager'); - $this->db->loadModule('Reverse'); - $this->db->loadModule('Function'); - if (empty($this->options['valid_types'])) { - $this->options['valid_types'] = $this->db->datatype->getValidTypes(); - } - - return MDB2_OK; - } - - // }}} - // {{{ disconnect() - - /** - * Log out and disconnect from the database. - * - * @access public - * @return void - */ - function disconnect() - { - if (MDB2::isConnection($this->db)) { - $this->db->disconnect(); - unset($this->db); - } - } - - // }}} - // {{{ parseDatabaseDefinition() - - /** - * Parse a database definition from a file or an array - * - * @param string|array $schema the database schema array or file name - * @param bool $skip_unreadable if non readable files should be skipped - * @param array $variables associative array that the defines the text string values - * that are meant to be used to replace the variables that are - * used in the schema description. - * @param bool $fail_on_invalid_names make function fail on invalid names - * @param array $structure database structure definition - * - * @access public - * @return array - */ - function parseDatabaseDefinition($schema, $skip_unreadable = false, $variables = array(), - $fail_on_invalid_names = true, $structure = false) - { - $database_definition = false; - if (is_string($schema)) { - // if $schema is not readable then we just skip it - // and simply copy the $current_schema file to that file name - if (is_readable($schema)) { - $database_definition = $this->parseDatabaseDefinitionFile($schema, $variables, $fail_on_invalid_names, $structure); - } - } elseif (is_array($schema)) { - $database_definition = $schema; - } - if (!$database_definition && !$skip_unreadable) { - $database_definition = $this->raiseError(MDB2_SCHEMA_ERROR, null, null, - 'invalid data type of schema or unreadable data source'); - } - return $database_definition; - } - - // }}} - // {{{ parseDatabaseDefinitionFile() - - /** - * Parse a database definition file by creating a schema format - * parser object and passing the file contents as parser input data stream. - * - * @param string $input_file the database schema file. - * @param array $variables associative array that the defines the text string values - * that are meant to be used to replace the variables that are - * used in the schema description. - * @param bool $fail_on_invalid_names make function fail on invalid names - * @param array $structure database structure definition - * - * @access public - * @return array - */ - function parseDatabaseDefinitionFile($input_file, $variables = array(), - $fail_on_invalid_names = true, $structure = false) - { - $dtd_file = $this->options['dtd_file']; - if ($dtd_file) { - include_once 'XML/DTD/XmlValidator.php'; - $dtd = new XML_DTD_XmlValidator; - if (!$dtd->isValid($dtd_file, $input_file)) { - return $this->raiseError(MDB2_SCHEMA_ERROR_PARSE, null, null, $dtd->getMessage()); - } - } - - $class_name = $this->options['parser']; - - $result = MDB2::loadClass($class_name, $this->db->getOption('debug')); - if (PEAR::isError($result)) { - return $result; - } - - $max_identifiers_length = null; - if (isset($this->db->options['max_identifiers_length'])) { - $max_identifiers_length = $this->db->options['max_identifiers_length']; - } - - $parser = new $class_name($variables, $fail_on_invalid_names, $structure, - $this->options['valid_types'], $this->options['force_defaults'], - $max_identifiers_length - ); - - $result = $parser->setInputFile($input_file); - if (PEAR::isError($result)) { - return $result; - } - - $result = $parser->parse(); - if (PEAR::isError($result)) { - return $result; - } - if (PEAR::isError($parser->error)) { - return $parser->error; - } - - return $parser->database_definition; - } - - // }}} - // {{{ getDefinitionFromDatabase() - - /** - * Attempt to reverse engineer a schema structure from an existing MDB2 - * This method can be used if no xml schema file exists yet. - * The resulting xml schema file may need some manual adjustments. - * - * @return array|MDB2_Error array with definition or error object - * @access public - */ - function getDefinitionFromDatabase() - { - $database = $this->db->database_name; - if (empty($database)) { - return $this->raiseError(MDB2_SCHEMA_ERROR_INVALID, null, null, - 'it was not specified a valid database name'); - } - - $class_name = $this->options['validate']; - - $result = MDB2::loadClass($class_name, $this->db->getOption('debug')); - if (PEAR::isError($result)) { - return $result; - } - - $max_identifiers_length = null; - if (isset($this->db->options['max_identifiers_length'])) { - $max_identifiers_length = $this->db->options['max_identifiers_length']; - } - - $val = new $class_name( - $this->options['fail_on_invalid_names'], - $this->options['valid_types'], - $this->options['force_defaults'], - $max_identifiers_length - ); - - $database_definition = array( - 'name' => $database, - 'create' => true, - 'overwrite' => false, - 'charset' => 'utf8', - 'description' => '', - 'comments' => '', - 'tables' => array(), - 'sequences' => array(), - ); - - $tables = $this->db->manager->listTables(); - if (PEAR::isError($tables)) { - return $tables; - } - - foreach ($tables as $table_name) { - $fields = $this->db->manager->listTableFields($table_name); - if (PEAR::isError($fields)) { - return $fields; - } - - $database_definition['tables'][$table_name] = array( - 'was' => '', - 'description' => '', - 'comments' => '', - 'fields' => array(), - 'indexes' => array(), - 'constraints' => array(), - 'initialization' => array() - ); - - $table_definition = $database_definition['tables'][$table_name]; - foreach ($fields as $field_name) { - $definition = $this->db->reverse->getTableFieldDefinition($table_name, $field_name); - if (PEAR::isError($definition)) { - return $definition; - } - - if (!empty($definition[0]['autoincrement'])) { - $definition[0]['default'] = '0'; - } - - $table_definition['fields'][$field_name] = $definition[0]; - - $field_choices = count($definition); - if ($field_choices > 1) { - $warning = "There are $field_choices type choices in the table $table_name field $field_name (#1 is the default): "; - - $field_choice_cnt = 1; - - $table_definition['fields'][$field_name]['choices'] = array(); - foreach ($definition as $field_choice) { - $table_definition['fields'][$field_name]['choices'][] = $field_choice; - - $warning .= 'choice #'.($field_choice_cnt).': '.serialize($field_choice); - $field_choice_cnt++; - } - $this->warnings[] = $warning; - } - - /** - * The first parameter is used to verify if there are duplicated - * fields which we can guarantee that won't happen when reverse engineering - */ - $result = $val->validateField(array(), $table_definition['fields'][$field_name], $field_name); - if (PEAR::isError($result)) { - return $result; - } - } - - $keys = array(); - - $indexes = $this->db->manager->listTableIndexes($table_name); - if (PEAR::isError($indexes)) { - return $indexes; - } - - if (is_array($indexes)) { - foreach ($indexes as $index_name) { - $this->db->expectError(MDB2_ERROR_NOT_FOUND); - $definition = $this->db->reverse->getTableIndexDefinition($table_name, $index_name); - $this->db->popExpect(); - if (PEAR::isError($definition)) { - if (PEAR::isError($definition, MDB2_ERROR_NOT_FOUND)) { - continue; - } - return $definition; - } - - $keys[$index_name] = $definition; - } - } - - $constraints = $this->db->manager->listTableConstraints($table_name); - if (PEAR::isError($constraints)) { - return $constraints; - } - - if (is_array($constraints)) { - foreach ($constraints as $constraint_name) { - $this->db->expectError(MDB2_ERROR_NOT_FOUND); - $definition = $this->db->reverse->getTableConstraintDefinition($table_name, $constraint_name); - $this->db->popExpect(); - if (PEAR::isError($definition)) { - if (PEAR::isError($definition, MDB2_ERROR_NOT_FOUND)) { - continue; - } - return $definition; - } - - $keys[$constraint_name] = $definition; - } - } - - foreach ($keys as $key_name => $definition) { - if (array_key_exists('foreign', $definition) - && $definition['foreign'] - ) { - /** - * The first parameter is used to verify if there are duplicated - * foreign keys which we can guarantee that won't happen when reverse engineering - */ - $result = $val->validateConstraint(array(), $definition, $key_name); - if (PEAR::isError($result)) { - return $result; - } - - foreach ($definition['fields'] as $field_name => $field) { - /** - * The first parameter is used to verify if there are duplicated - * referencing fields which we can guarantee that won't happen when reverse engineering - */ - $result = $val->validateConstraintField(array(), $field_name); - if (PEAR::isError($result)) { - return $result; - } - - $definition['fields'][$field_name] = ''; - } - - foreach ($definition['references']['fields'] as $field_name => $field) { - /** - * The first parameter is used to verify if there are duplicated - * referenced fields which we can guarantee that won't happen when reverse engineering - */ - $result = $val->validateConstraintReferencedField(array(), $field_name); - if (PEAR::isError($result)) { - return $result; - } - - $definition['references']['fields'][$field_name] = ''; - } - - $table_definition['constraints'][$key_name] = $definition; - } else { - /** - * The first parameter is used to verify if there are duplicated - * indices which we can guarantee that won't happen when reverse engineering - */ - $result = $val->validateIndex(array(), $definition, $key_name); - if (PEAR::isError($result)) { - return $result; - } - - foreach ($definition['fields'] as $field_name => $field) { - /** - * The first parameter is used to verify if there are duplicated - * index fields which we can guarantee that won't happen when reverse engineering - */ - $result = $val->validateIndexField(array(), $field, $field_name); - if (PEAR::isError($result)) { - return $result; - } - - $definition['fields'][$field_name] = $field; - } - - $table_definition['indexes'][$key_name] = $definition; - } - } - - /** - * The first parameter is used to verify if there are duplicated - * tables which we can guarantee that won't happen when reverse engineering - */ - $result = $val->validateTable(array(), $table_definition, $table_name); - if (PEAR::isError($result)) { - return $result; - } - $database_definition['tables'][$table_name]=$table_definition; - - } - - $sequences = $this->db->manager->listSequences(); - if (PEAR::isError($sequences)) { - return $sequences; - } - - if (is_array($sequences)) { - foreach ($sequences as $sequence_name) { - $definition = $this->db->reverse->getSequenceDefinition($sequence_name); - if (PEAR::isError($definition)) { - return $definition; - } - if (isset($database_definition['tables'][$sequence_name]) - && isset($database_definition['tables'][$sequence_name]['indexes']) - ) { - foreach ($database_definition['tables'][$sequence_name]['indexes'] as $index) { - if (isset($index['primary']) && $index['primary'] - && count($index['fields'] == 1) - ) { - $definition['on'] = array( - 'table' => $sequence_name, - 'field' => key($index['fields']), - ); - break; - } - } - } - - /** - * The first parameter is used to verify if there are duplicated - * sequences which we can guarantee that won't happen when reverse engineering - */ - $result = $val->validateSequence(array(), $definition, $sequence_name); - if (PEAR::isError($result)) { - return $result; - } - - $database_definition['sequences'][$sequence_name] = $definition; - } - } - - $result = $val->validateDatabase($database_definition); - if (PEAR::isError($result)) { - return $result; - } - - return $database_definition; - } - - // }}} - // {{{ createTableIndexes() - - /** - * A method to create indexes for an existing table - * - * @param string $table_name Name of the table - * @param array $indexes An array of indexes to be created - * @param boolean $overwrite If the table/index should be overwritten if it already exists - * - * @return mixed MDB2_Error if there is an error creating an index, MDB2_OK otherwise - * @access public - */ - function createTableIndexes($table_name, $indexes, $overwrite = false) - { - if (!$this->db->supports('indexes')) { - $this->db->debug('Indexes are not supported', __FUNCTION__); - return MDB2_OK; - } - - $errorcodes = array(MDB2_ERROR_UNSUPPORTED, MDB2_ERROR_NOT_CAPABLE); - foreach ($indexes as $index_name => $index) { - - // Does the index already exist, and if so, should it be overwritten? - $create_index = true; - $this->db->expectError($errorcodes); - if (!empty($index['primary']) || !empty($index['unique'])) { - $current_indexes = $this->db->manager->listTableConstraints($table_name); - } else { - $current_indexes = $this->db->manager->listTableIndexes($table_name); - } - - $this->db->popExpect(); - if (PEAR::isError($current_indexes)) { - if (!MDB2::isError($current_indexes, $errorcodes)) { - return $current_indexes; - } - } elseif (is_array($current_indexes) && in_array($index_name, $current_indexes)) { - if (!$overwrite) { - $this->db->debug('Index already exists: '.$index_name, __FUNCTION__); - $create_index = false; - } else { - $this->db->debug('Preparing to overwrite index: '.$index_name, __FUNCTION__); - - $this->db->expectError(MDB2_ERROR_NOT_FOUND); - if (!empty($index['primary']) || !empty($index['unique'])) { - $result = $this->db->manager->dropConstraint($table_name, $index_name); - } else { - $result = $this->db->manager->dropIndex($table_name, $index_name); - } - $this->db->popExpect(); - if (PEAR::isError($result) && !MDB2::isError($result, MDB2_ERROR_NOT_FOUND)) { - return $result; - } - } - } - - // Check if primary is being used and if it's supported - if (!empty($index['primary']) && !$this->db->supports('primary_key')) { - - // Primary not supported so we fallback to UNIQUE and making the field NOT NULL - $index['unique'] = true; - - $changes = array(); - - foreach ($index['fields'] as $field => $empty) { - $field_info = $this->db->reverse->getTableFieldDefinition($table_name, $field); - if (PEAR::isError($field_info)) { - return $field_info; - } - if (!$field_info[0]['notnull']) { - $changes['change'][$field] = $field_info[0]; - - $changes['change'][$field]['notnull'] = true; - } - } - if (!empty($changes)) { - $this->db->manager->alterTable($table_name, $changes, false); - } - } - - // Should the index be created? - if ($create_index) { - if (!empty($index['primary']) || !empty($index['unique'])) { - $result = $this->db->manager->createConstraint($table_name, $index_name, $index); - } else { - $result = $this->db->manager->createIndex($table_name, $index_name, $index); - } - if (PEAR::isError($result)) { - return $result; - } - } - } - return MDB2_OK; - } - - // }}} - // {{{ createTableConstraints() - - /** - * A method to create foreign keys for an existing table - * - * @param string $table_name Name of the table - * @param array $constraints An array of foreign keys to be created - * @param boolean $overwrite If the foreign key should be overwritten if it already exists - * - * @return mixed MDB2_Error if there is an error creating a foreign key, MDB2_OK otherwise - * @access public - */ - function createTableConstraints($table_name, $constraints, $overwrite = false) - { - if (!$this->db->supports('indexes')) { - $this->db->debug('Indexes are not supported', __FUNCTION__); - return MDB2_OK; - } - - $errorcodes = array(MDB2_ERROR_UNSUPPORTED, MDB2_ERROR_NOT_CAPABLE); - foreach ($constraints as $constraint_name => $constraint) { - - // Does the foreign key already exist, and if so, should it be overwritten? - $create_constraint = true; - $this->db->expectError($errorcodes); - $current_constraints = $this->db->manager->listTableConstraints($table_name); - $this->db->popExpect(); - if (PEAR::isError($current_constraints)) { - if (!MDB2::isError($current_constraints, $errorcodes)) { - return $current_constraints; - } - } elseif (is_array($current_constraints) && in_array($constraint_name, $current_constraints)) { - if (!$overwrite) { - $this->db->debug('Foreign key already exists: '.$constraint_name, __FUNCTION__); - $create_constraint = false; - } else { - $this->db->debug('Preparing to overwrite foreign key: '.$constraint_name, __FUNCTION__); - $result = $this->db->manager->dropConstraint($table_name, $constraint_name); - if (PEAR::isError($result)) { - return $result; - } - } - } - - // Should the foreign key be created? - if ($create_constraint) { - $result = $this->db->manager->createConstraint($table_name, $constraint_name, $constraint); - if (PEAR::isError($result)) { - return $result; - } - } - } - return MDB2_OK; - } - - // }}} - // {{{ createTable() - - /** - * Create a table and inititialize the table if data is available - * - * @param string $table_name name of the table to be created - * @param array $table multi dimensional array that contains the - * structure and optional data of the table - * @param bool $overwrite if the table/index should be overwritten if it already exists - * @param array $options an array of options to be passed to the database specific driver - * version of MDB2_Driver_Manager_Common::createTable(). - * - * @return bool|MDB2_Error MDB2_OK or error object - * @access public - */ - function createTable($table_name, $table, $overwrite = false, $options = array()) - { - $create = true; - - $errorcodes = array(MDB2_ERROR_UNSUPPORTED, MDB2_ERROR_NOT_CAPABLE); - - $this->db->expectError($errorcodes); - - $tables = $this->db->manager->listTables(); - - $this->db->popExpect(); - if (PEAR::isError($tables)) { - if (!MDB2::isError($tables, $errorcodes)) { - return $tables; - } - } elseif (is_array($tables) && in_array($table_name, $tables)) { - if (!$overwrite) { - $create = false; - $this->db->debug('Table already exists: '.$table_name, __FUNCTION__); - } else { - $result = $this->db->manager->dropTable($table_name); - if (PEAR::isError($result)) { - return $result; - } - $this->db->debug('Overwritting table: '.$table_name, __FUNCTION__); - } - } - - if ($create) { - $result = $this->db->manager->createTable($table_name, $table['fields'], $options); - if (PEAR::isError($result)) { - return $result; - } - } - - if (!empty($table['initialization']) && is_array($table['initialization'])) { - $result = $this->initializeTable($table_name, $table); - if (PEAR::isError($result)) { - return $result; - } - } - - if (!empty($table['indexes']) && is_array($table['indexes'])) { - $result = $this->createTableIndexes($table_name, $table['indexes'], $overwrite); - if (PEAR::isError($result)) { - return $result; - } - } - - if (!empty($table['constraints']) && is_array($table['constraints'])) { - $result = $this->createTableConstraints($table_name, $table['constraints'], $overwrite); - if (PEAR::isError($result)) { - return $result; - } - } - - return MDB2_OK; - } - - // }}} - // {{{ initializeTable() - - /** - * Inititialize the table with data - * - * @param string $table_name name of the table - * @param array $table multi dimensional array that contains the - * structure and optional data of the table - * - * @return bool|MDB2_Error MDB2_OK or error object - * @access public - */ - function initializeTable($table_name, $table) - { - $query_insertselect = 'INSERT INTO %s (%s) (SELECT %s FROM %s %s)'; - - $query_insert = 'INSERT INTO %s (%s) VALUES (%s)'; - $query_update = 'UPDATE %s SET %s %s'; - $query_delete = 'DELETE FROM %s %s'; - - $table_name = $this->db->quoteIdentifier($table_name, true); - - $result = MDB2_OK; - - $support_transactions = $this->db->supports('transactions'); - - foreach ($table['initialization'] as $instruction) { - $query = ''; - switch ($instruction['type']) { - case 'insert': - if (!isset($instruction['data']['select'])) { - $data = $this->getInstructionFields($instruction['data'], $table['fields']); - if (!empty($data)) { - $fields = implode(', ', array_keys($data)); - $values = implode(', ', array_values($data)); - - $query = sprintf($query_insert, $table_name, $fields, $values); - } - } else { - $data = $this->getInstructionFields($instruction['data']['select'], $table['fields']); - $where = $this->getInstructionWhere($instruction['data']['select'], $table['fields']); - - $select_table_name = $this->db->quoteIdentifier($instruction['data']['select']['table'], true); - if (!empty($data)) { - $fields = implode(', ', array_keys($data)); - $values = implode(', ', array_values($data)); - - $query = sprintf($query_insertselect, $table_name, $fields, $values, $select_table_name, $where); - } - } - break; - case 'update': - $data = $this->getInstructionFields($instruction['data'], $table['fields']); - $where = $this->getInstructionWhere($instruction['data'], $table['fields']); - if (!empty($data)) { - array_walk($data, array($this, 'buildFieldValue')); - $fields_values = implode(', ', $data); - - $query = sprintf($query_update, $table_name, $fields_values, $where); - } - break; - case 'delete': - $where = $this->getInstructionWhere($instruction['data'], $table['fields']); - $query = sprintf($query_delete, $table_name, $where); - break; - } - if ($query) { - if ($support_transactions && PEAR::isError($res = $this->db->beginNestedTransaction())) { - return $res; - } - - $result = $this->db->exec($query); - if (PEAR::isError($result)) { - return $result; - } - - if ($support_transactions && PEAR::isError($res = $this->db->completeNestedTransaction())) { - return $res; - } - } - } - return $result; - } - - // }}} - // {{{ buildFieldValue() - - /** - * Appends the contents of second argument + '=' to the beginning of first - * argument. - * - * Used with array_walk() in initializeTable() for UPDATEs. - * - * @param string &$element value of array's element - * @param string $key key of array's element - * - * @return void - * - * @access public - * @see MDB2_Schema::initializeTable() - */ - function buildFieldValue(&$element, $key) - { - $element = $key."=$element"; - } - - // }}} - // {{{ getExpression() - - /** - * Generates a string that represents a value that would be associated - * with a column in a DML instruction. - * - * @param array $element multi dimensional array that contains the - * structure of the current DML instruction. - * @param array $fields_definition multi dimensional array that contains the - * definition for current table's fields - * @param string $type type of given field - * - * @return string - * - * @access public - * @see MDB2_Schema::getInstructionFields(), MDB2_Schema::getInstructionWhere() - */ - function getExpression($element, $fields_definition = array(), $type = null) - { - $str = ''; - switch ($element['type']) { - case 'null': - $str .= 'NULL'; - break; - case 'value': - $str .= $this->db->quote($element['data'], $type); - break; - case 'column': - $str .= $this->db->quoteIdentifier($element['data'], true); - break; - case 'function': - $arguments = array(); - if (!empty($element['data']['arguments']) - && is_array($element['data']['arguments']) - ) { - foreach ($element['data']['arguments'] as $v) { - $arguments[] = $this->getExpression($v, $fields_definition); - } - } - if (method_exists($this->db->function, $element['data']['name'])) { - $user_func = array(&$this->db->function, $element['data']['name']); - - $str .= call_user_func_array($user_func, $arguments); - } else { - $str .= $element['data']['name'].'('; - $str .= implode(', ', $arguments); - $str .= ')'; - } - break; - case 'expression': - $type0 = $type1 = null; - if ($element['data']['operants'][0]['type'] == 'column' - && array_key_exists($element['data']['operants'][0]['data'], $fields_definition) - ) { - $type0 = $fields_definition[$element['data']['operants'][0]['data']]['type']; - } - - if ($element['data']['operants'][1]['type'] == 'column' - && array_key_exists($element['data']['operants'][1]['data'], $fields_definition) - ) { - $type1 = $fields_definition[$element['data']['operants'][1]['data']]['type']; - } - - $str .= '('; - $str .= $this->getExpression($element['data']['operants'][0], $fields_definition, $type1); - $str .= $this->getOperator($element['data']['operator']); - $str .= $this->getExpression($element['data']['operants'][1], $fields_definition, $type0); - $str .= ')'; - break; - } - - return $str; - } - - // }}} - // {{{ getOperator() - - /** - * Returns the matching SQL operator - * - * @param string $op parsed descriptive operator - * - * @return string matching SQL operator - * - * @access public - * @static - * @see MDB2_Schema::getExpression() - */ - function getOperator($op) - { - switch ($op) { - case 'PLUS': - return ' + '; - case 'MINUS': - return ' - '; - case 'TIMES': - return ' * '; - case 'DIVIDED': - return ' / '; - case 'EQUAL': - return ' = '; - case 'NOT EQUAL': - return ' != '; - case 'LESS THAN': - return ' < '; - case 'GREATER THAN': - return ' > '; - case 'LESS THAN OR EQUAL': - return ' <= '; - case 'GREATER THAN OR EQUAL': - return ' >= '; - default: - return ' '.$op.' '; - } - } - - // }}} - // {{{ getInstructionFields() - - /** - * Walks the parsed DML instruction array, field by field, - * storing them and their processed values inside a new array. - * - * @param array $instruction multi dimensional array that contains the - * structure of the current DML instruction. - * @param array $fields_definition multi dimensional array that contains the - * definition for current table's fields - * - * @return array array of strings in the form 'field_name' => 'value' - * - * @access public - * @static - * @see MDB2_Schema::initializeTable() - */ - function getInstructionFields($instruction, $fields_definition = array()) - { - $fields = array(); - if (!empty($instruction['field']) && is_array($instruction['field'])) { - foreach ($instruction['field'] as $field) { - $field_name = $this->db->quoteIdentifier($field['name'], true); - - $fields[$field_name] = $this->getExpression($field['group'], $fields_definition); - } - } - return $fields; - } - - // }}} - // {{{ getInstructionWhere() - - /** - * Translates the parsed WHERE expression of a DML instruction - * (array structure) to a SQL WHERE clause (string). - * - * @param array $instruction multi dimensional array that contains the - * structure of the current DML instruction. - * @param array $fields_definition multi dimensional array that contains the - * definition for current table's fields. - * - * @return string SQL WHERE clause - * - * @access public - * @static - * @see MDB2_Schema::initializeTable() - */ - function getInstructionWhere($instruction, $fields_definition = array()) - { - $where = ''; - if (!empty($instruction['where'])) { - $where = 'WHERE '.$this->getExpression($instruction['where'], $fields_definition); - } - return $where; - } - - // }}} - // {{{ createSequence() - - /** - * Create a sequence - * - * @param string $sequence_name name of the sequence to be created - * @param array $sequence multi dimensional array that contains the - * structure and optional data of the table - * @param bool $overwrite if the sequence should be overwritten if it already exists - * - * @return bool|MDB2_Error MDB2_OK or error object - * @access public - */ - function createSequence($sequence_name, $sequence, $overwrite = false) - { - if (!$this->db->supports('sequences')) { - $this->db->debug('Sequences are not supported', __FUNCTION__); - return MDB2_OK; - } - - $errorcodes = array(MDB2_ERROR_UNSUPPORTED, MDB2_ERROR_NOT_CAPABLE); - $this->db->expectError($errorcodes); - $sequences = $this->db->manager->listSequences(); - $this->db->popExpect(); - if (PEAR::isError($sequences)) { - if (!MDB2::isError($sequences, $errorcodes)) { - return $sequences; - } - } elseif (is_array($sequence) && in_array($sequence_name, $sequences)) { - if (!$overwrite) { - $this->db->debug('Sequence already exists: '.$sequence_name, __FUNCTION__); - return MDB2_OK; - } - - $result = $this->db->manager->dropSequence($sequence_name); - if (PEAR::isError($result)) { - return $result; - } - $this->db->debug('Overwritting sequence: '.$sequence_name, __FUNCTION__); - } - - $start = 1; - $field = ''; - if (!empty($sequence['on'])) { - $table = $sequence['on']['table']; - $field = $sequence['on']['field']; - - $errorcodes = array(MDB2_ERROR_UNSUPPORTED, MDB2_ERROR_NOT_CAPABLE); - $this->db->expectError($errorcodes); - $tables = $this->db->manager->listTables(); - $this->db->popExpect(); - if (PEAR::isError($tables) && !MDB2::isError($tables, $errorcodes)) { - return $tables; - } - - if (!PEAR::isError($tables) && is_array($tables) && in_array($table, $tables)) { - if ($this->db->supports('summary_functions')) { - $query = "SELECT MAX($field) FROM ".$this->db->quoteIdentifier($table, true); - } else { - $query = "SELECT $field FROM ".$this->db->quoteIdentifier($table, true)." ORDER BY $field DESC"; - } - $start = $this->db->queryOne($query, 'integer'); - if (PEAR::isError($start)) { - return $start; - } - ++$start; - } else { - $this->warnings[] = 'Could not sync sequence: '.$sequence_name; - } - } elseif (!empty($sequence['start']) && is_numeric($sequence['start'])) { - $start = $sequence['start']; - $table = ''; - } - - $result = $this->db->manager->createSequence($sequence_name, $start); - if (PEAR::isError($result)) { - return $result; - } - - return MDB2_OK; - } - - // }}} - // {{{ createDatabase() - - /** - * Create a database space within which may be created database objects - * like tables, indexes and sequences. The implementation of this function - * is highly DBMS specific and may require special permissions to run - * successfully. Consult the documentation or the DBMS drivers that you - * use to be aware of eventual configuration requirements. - * - * @param array $database_definition multi dimensional array that contains the current definition - * @param array $options an array of options to be passed to the - * database specific driver version of - * MDB2_Driver_Manager_Common::createTable(). - * - * @return bool|MDB2_Error MDB2_OK or error object - * @access public - */ - function createDatabase($database_definition, $options = array()) - { - if (!isset($database_definition['name']) || !$database_definition['name']) { - return $this->raiseError(MDB2_SCHEMA_ERROR_INVALID, null, null, - 'no valid database name specified'); - } - - $create = (isset($database_definition['create']) && $database_definition['create']); - $overwrite = (isset($database_definition['overwrite']) && $database_definition['overwrite']); - - /** - * - * We need to clean up database name before any query to prevent - * database driver from using a inexistent database - * - */ - $previous_database_name = $this->db->setDatabase(''); - - // Lower / Upper case the db name if the portability deems so. - if ($this->db->options['portability'] & MDB2_PORTABILITY_FIX_CASE) { - $func = $this->db->options['field_case'] == CASE_LOWER ? 'strtolower' : 'strtoupper'; - - $db_name = $func($database_definition['name']); - } else { - $db_name = $database_definition['name']; - } - - if ($create) { - - $dbExists = $this->db->databaseExists($db_name); - if (PEAR::isError($dbExists)) { - return $dbExists; - } - - if ($dbExists && $overwrite) { - $this->db->expectError(MDB2_ERROR_CANNOT_DROP); - $result = $this->db->manager->dropDatabase($db_name); - $this->db->popExpect(); - if (PEAR::isError($result) && !MDB2::isError($result, MDB2_ERROR_CANNOT_DROP)) { - return $result; - } - $dbExists = false; - $this->db->debug('Overwritting database: ' . $db_name, __FUNCTION__); - } - - $dbOptions = array(); - if (array_key_exists('charset', $database_definition) - && !empty($database_definition['charset'])) { - $dbOptions['charset'] = $database_definition['charset']; - } - - if ($dbExists) { - $this->db->debug('Database already exists: ' . $db_name, __FUNCTION__); - if (!empty($dbOptions)) { - $errorcodes = array(MDB2_ERROR_UNSUPPORTED, MDB2_ERROR_NO_PERMISSION); - $this->db->expectError($errorcodes); - $result = $this->db->manager->alterDatabase($db_name, $dbOptions); - $this->db->popExpect(); - if (PEAR::isError($result) && !MDB2::isError($result, $errorcodes)) { - return $result; - } - } - $create = false; - } else { - $this->db->expectError(MDB2_ERROR_UNSUPPORTED); - $result = $this->db->manager->createDatabase($db_name, $dbOptions); - $this->db->popExpect(); - if (PEAR::isError($result) && !MDB2::isError($result, MDB2_ERROR_UNSUPPORTED)) { - return $result; - } - $this->db->debug('Creating database: ' . $db_name, __FUNCTION__); - } - } - - $this->db->setDatabase($db_name); - if (($support_transactions = $this->db->supports('transactions')) - && PEAR::isError($result = $this->db->beginNestedTransaction()) - ) { - return $result; - } - - $created_objects = 0; - if (isset($database_definition['tables']) - && is_array($database_definition['tables']) - ) { - foreach ($database_definition['tables'] as $table_name => $table) { - $result = $this->createTable($table_name, $table, $overwrite, $options); - if (PEAR::isError($result)) { - break; - } - $created_objects++; - } - } - if (!PEAR::isError($result) - && isset($database_definition['sequences']) - && is_array($database_definition['sequences']) - ) { - foreach ($database_definition['sequences'] as $sequence_name => $sequence) { - $result = $this->createSequence($sequence_name, $sequence, false, $overwrite); - - if (PEAR::isError($result)) { - break; - } - $created_objects++; - } - } - - if ($support_transactions) { - $res = $this->db->completeNestedTransaction(); - if (PEAR::isError($res)) { - $result = $this->raiseError(MDB2_SCHEMA_ERROR, null, null, - 'Could not end transaction ('. - $res->getMessage().' ('.$res->getUserinfo().'))'); - } - } elseif (PEAR::isError($result) && $created_objects) { - $result = $this->raiseError(MDB2_SCHEMA_ERROR, null, null, - 'the database was only partially created ('. - $result->getMessage().' ('.$result->getUserinfo().'))'); - } - - $this->db->setDatabase($previous_database_name); - - if (PEAR::isError($result) && $create - && PEAR::isError($result2 = $this->db->manager->dropDatabase($db_name)) - ) { - if (!MDB2::isError($result2, MDB2_ERROR_UNSUPPORTED)) { - return $this->raiseError(MDB2_SCHEMA_ERROR, null, null, - 'Could not drop the created database after unsuccessful creation attempt ('. - $result2->getMessage().' ('.$result2->getUserinfo().'))'); - } - } - - return $result; - } - - // }}} - // {{{ compareDefinitions() - - /** - * Compare a previous definition with the currently parsed definition - * - * @param array $current_definition multi dimensional array that contains the current definition - * @param array $previous_definition multi dimensional array that contains the previous definition - * - * @return array|MDB2_Error array of changes on success, or a error object - * @access public - */ - function compareDefinitions($current_definition, $previous_definition) - { - $changes = array(); - - if (!empty($current_definition['tables']) && is_array($current_definition['tables'])) { - $changes['tables'] = $defined_tables = array(); - foreach ($current_definition['tables'] as $table_name => $table) { - $previous_tables = array(); - if (!empty($previous_definition) && is_array($previous_definition)) { - $previous_tables = $previous_definition['tables']; - } - $change = $this->compareTableDefinitions($table_name, $table, $previous_tables, $defined_tables); - if (PEAR::isError($change)) { - return $change; - } - if (!empty($change)) { - $changes['tables'] = MDB2_Schema::arrayMergeClobber($changes['tables'], $change); - } - } - } - if (!empty($previous_definition['tables']) - && is_array($previous_definition['tables']) - ) { - foreach ($previous_definition['tables'] as $table_name => $table) { - if (empty($defined_tables[$table_name])) { - $changes['tables']['remove'][$table_name] = true; - } - } - } - - if (!empty($current_definition['sequences']) && is_array($current_definition['sequences'])) { - $changes['sequences'] = $defined_sequences = array(); - foreach ($current_definition['sequences'] as $sequence_name => $sequence) { - $previous_sequences = array(); - if (!empty($previous_definition) && is_array($previous_definition)) { - $previous_sequences = $previous_definition['sequences']; - } - - $change = $this->compareSequenceDefinitions($sequence_name, - $sequence, - $previous_sequences, - $defined_sequences); - if (PEAR::isError($change)) { - return $change; - } - if (!empty($change)) { - $changes['sequences'] = MDB2_Schema::arrayMergeClobber($changes['sequences'], $change); - } - } - } - if (!empty($previous_definition['sequences']) - && is_array($previous_definition['sequences']) - ) { - foreach ($previous_definition['sequences'] as $sequence_name => $sequence) { - if (empty($defined_sequences[$sequence_name])) { - $changes['sequences']['remove'][$sequence_name] = true; - } - } - } - - return $changes; - } - - // }}} - // {{{ compareTableFieldsDefinitions() - - /** - * Compare a previous definition with the currently parsed definition - * - * @param string $table_name name of the table - * @param array $current_definition multi dimensional array that contains the current definition - * @param array $previous_definition multi dimensional array that contains the previous definition - * - * @return array|MDB2_Error array of changes on success, or a error object - * @access public - */ - function compareTableFieldsDefinitions($table_name, $current_definition, - $previous_definition) - { - $changes = $defined_fields = array(); - - if (is_array($current_definition)) { - foreach ($current_definition as $field_name => $field) { - $was_field_name = $field['was']; - if (!empty($previous_definition[$field_name]) - && ( - (isset($previous_definition[$field_name]['was']) - && $previous_definition[$field_name]['was'] == $was_field_name) - || !isset($previous_definition[$was_field_name]) - )) { - $was_field_name = $field_name; - } - - if (!empty($previous_definition[$was_field_name])) { - if ($was_field_name != $field_name) { - $changes['rename'][$was_field_name] = array('name' => $field_name, 'definition' => $field); - } - - if (!empty($defined_fields[$was_field_name])) { - return $this->raiseError(MDB2_SCHEMA_ERROR_INVALID, null, null, - 'the field "'.$was_field_name. - '" was specified for more than one field of table'); - } - - $defined_fields[$was_field_name] = true; - - $change = $this->db->compareDefinition($field, $previous_definition[$was_field_name]); - if (PEAR::isError($change)) { - return $change; - } - - if (!empty($change)) { - if (array_key_exists('default', $change) - && $change['default'] - && !array_key_exists('default', $field)) { - $field['default'] = null; - } - - $change['definition'] = $field; - - $changes['change'][$field_name] = $change; - } - } else { - if ($field_name != $was_field_name) { - return $this->raiseError(MDB2_SCHEMA_ERROR_INVALID, null, null, - 'it was specified a previous field name ("'. - $was_field_name.'") for field "'.$field_name.'" of table "'. - $table_name.'" that does not exist'); - } - - $changes['add'][$field_name] = $field; - } - } - } - - if (isset($previous_definition) && is_array($previous_definition)) { - foreach ($previous_definition as $field_previous_name => $field_previous) { - if (empty($defined_fields[$field_previous_name])) { - $changes['remove'][$field_previous_name] = true; - } - } - } - - return $changes; - } - - // }}} - // {{{ compareTableIndexesDefinitions() - - /** - * Compare a previous definition with the currently parsed definition - * - * @param string $table_name name of the table - * @param array $current_definition multi dimensional array that contains the current definition - * @param array $previous_definition multi dimensional array that contains the previous definition - * - * @return array|MDB2_Error array of changes on success, or a error object - * @access public - */ - function compareTableIndexesDefinitions($table_name, $current_definition, - $previous_definition) - { - $changes = $defined_indexes = array(); - - if (is_array($current_definition)) { - foreach ($current_definition as $index_name => $index) { - $was_index_name = $index['was']; - if (!empty($previous_definition[$index_name]) - && isset($previous_definition[$index_name]['was']) - && $previous_definition[$index_name]['was'] == $was_index_name - ) { - $was_index_name = $index_name; - } - if (!empty($previous_definition[$was_index_name])) { - $change = array(); - if ($was_index_name != $index_name) { - $change['name'] = $was_index_name; - } - - if (!empty($defined_indexes[$was_index_name])) { - return $this->raiseError(MDB2_SCHEMA_ERROR_INVALID, null, null, - 'the index "'.$was_index_name.'" was specified for'. - ' more than one index of table "'.$table_name.'"'); - } - $defined_indexes[$was_index_name] = true; - - $previous_unique = array_key_exists('unique', $previous_definition[$was_index_name]) - ? $previous_definition[$was_index_name]['unique'] : false; - - $unique = array_key_exists('unique', $index) ? $index['unique'] : false; - if ($previous_unique != $unique) { - $change['unique'] = $unique; - } - - $previous_primary = array_key_exists('primary', $previous_definition[$was_index_name]) - ? $previous_definition[$was_index_name]['primary'] : false; - - $primary = array_key_exists('primary', $index) ? $index['primary'] : false; - if ($previous_primary != $primary) { - $change['primary'] = $primary; - } - - $defined_fields = array(); - $previous_fields = $previous_definition[$was_index_name]['fields']; - if (!empty($index['fields']) && is_array($index['fields'])) { - foreach ($index['fields'] as $field_name => $field) { - if (!empty($previous_fields[$field_name])) { - $defined_fields[$field_name] = true; - - $previous_sorting = array_key_exists('sorting', $previous_fields[$field_name]) - ? $previous_fields[$field_name]['sorting'] : ''; - - $sorting = array_key_exists('sorting', $field) ? $field['sorting'] : ''; - if ($previous_sorting != $sorting) { - $change['change'] = true; - } - } else { - $change['change'] = true; - } - } - } - if (isset($previous_fields) && is_array($previous_fields)) { - foreach ($previous_fields as $field_name => $field) { - if (empty($defined_fields[$field_name])) { - $change['change'] = true; - } - } - } - if (!empty($change)) { - $changes['change'][$index_name] = $current_definition[$index_name]; - } - } else { - if ($index_name != $was_index_name) { - return $this->raiseError(MDB2_SCHEMA_ERROR_INVALID, null, null, - 'it was specified a previous index name ("'.$was_index_name. - ') for index "'.$index_name.'" of table "'.$table_name.'" that does not exist'); - } - $changes['add'][$index_name] = $current_definition[$index_name]; - } - } - } - foreach ($previous_definition as $index_previous_name => $index_previous) { - if (empty($defined_indexes[$index_previous_name])) { - $changes['remove'][$index_previous_name] = $index_previous; - } - } - return $changes; - } - - // }}} - // {{{ compareTableDefinitions() - - /** - * Compare a previous definition with the currently parsed definition - * - * @param string $table_name name of the table - * @param array $current_definition multi dimensional array that contains the current definition - * @param array $previous_definition multi dimensional array that contains the previous definition - * @param array &$defined_tables table names in the schema - * - * @return array|MDB2_Error array of changes on success, or a error object - * @access public - */ - function compareTableDefinitions($table_name, $current_definition, - $previous_definition, &$defined_tables) - { - $changes = array(); - - if (is_array($current_definition)) { - $was_table_name = $table_name; - if (!empty($current_definition['was'])) { - $was_table_name = $current_definition['was']; - } - if (!empty($previous_definition[$was_table_name])) { - $changes['change'][$was_table_name] = array(); - if ($was_table_name != $table_name) { - $changes['change'][$was_table_name] = array('name' => $table_name); - } - if (!empty($defined_tables[$was_table_name])) { - return $this->raiseError(MDB2_SCHEMA_ERROR_INVALID, null, null, - 'the table "'.$was_table_name. - '" was specified for more than one table of the database'); - } - $defined_tables[$was_table_name] = true; - if (!empty($current_definition['fields']) && is_array($current_definition['fields'])) { - $previous_fields = array(); - if (isset($previous_definition[$was_table_name]['fields']) - && is_array($previous_definition[$was_table_name]['fields'])) { - $previous_fields = $previous_definition[$was_table_name]['fields']; - } - - $change = $this->compareTableFieldsDefinitions($table_name, - $current_definition['fields'], - $previous_fields); - - if (PEAR::isError($change)) { - return $change; - } - if (!empty($change)) { - $changes['change'][$was_table_name] = - MDB2_Schema::arrayMergeClobber($changes['change'][$was_table_name], $change); - } - } - if (!empty($current_definition['indexes']) && is_array($current_definition['indexes'])) { - $previous_indexes = array(); - if (isset($previous_definition[$was_table_name]['indexes']) - && is_array($previous_definition[$was_table_name]['indexes'])) { - $previous_indexes = $previous_definition[$was_table_name]['indexes']; - } - $change = $this->compareTableIndexesDefinitions($table_name, - $current_definition['indexes'], - $previous_indexes); - - if (PEAR::isError($change)) { - return $change; - } - if (!empty($change)) { - $changes['change'][$was_table_name]['indexes'] = $change; - } - } - if (empty($changes['change'][$was_table_name])) { - unset($changes['change'][$was_table_name]); - } - if (empty($changes['change'])) { - unset($changes['change']); - } - } else { - if ($table_name != $was_table_name) { - return $this->raiseError(MDB2_SCHEMA_ERROR_INVALID, null, null, - 'it was specified a previous table name ("'.$was_table_name. - '") for table "'.$table_name.'" that does not exist'); - } - $changes['add'][$table_name] = true; - } - } - - return $changes; - } - - // }}} - // {{{ compareSequenceDefinitions() - - /** - * Compare a previous definition with the currently parsed definition - * - * @param string $sequence_name name of the sequence - * @param array $current_definition multi dimensional array that contains the current definition - * @param array $previous_definition multi dimensional array that contains the previous definition - * @param array &$defined_sequences names in the schema - * - * @return array|MDB2_Error array of changes on success, or a error object - * @access public - */ - function compareSequenceDefinitions($sequence_name, $current_definition, - $previous_definition, &$defined_sequences) - { - $changes = array(); - - if (is_array($current_definition)) { - $was_sequence_name = $sequence_name; - if (!empty($previous_definition[$sequence_name]) - && isset($previous_definition[$sequence_name]['was']) - && $previous_definition[$sequence_name]['was'] == $was_sequence_name - ) { - $was_sequence_name = $sequence_name; - } elseif (!empty($current_definition['was'])) { - $was_sequence_name = $current_definition['was']; - } - if (!empty($previous_definition[$was_sequence_name])) { - if ($was_sequence_name != $sequence_name) { - $changes['change'][$was_sequence_name]['name'] = $sequence_name; - } - - if (!empty($defined_sequences[$was_sequence_name])) { - return $this->raiseError(MDB2_SCHEMA_ERROR_INVALID, null, null, - 'the sequence "'.$was_sequence_name.'" was specified as base'. - ' of more than of sequence of the database'); - } - - $defined_sequences[$was_sequence_name] = true; - - $change = array(); - if (!empty($current_definition['start']) - && isset($previous_definition[$was_sequence_name]['start']) - && $current_definition['start'] != $previous_definition[$was_sequence_name]['start'] - ) { - $change['start'] = $previous_definition[$sequence_name]['start']; - } - if (isset($current_definition['on']['table']) - && isset($previous_definition[$was_sequence_name]['on']['table']) - && $current_definition['on']['table'] != $previous_definition[$was_sequence_name]['on']['table'] - && isset($current_definition['on']['field']) - && isset($previous_definition[$was_sequence_name]['on']['field']) - && $current_definition['on']['field'] != $previous_definition[$was_sequence_name]['on']['field'] - ) { - $change['on'] = $current_definition['on']; - } - if (!empty($change)) { - $changes['change'][$was_sequence_name][$sequence_name] = $change; - } - } else { - if ($sequence_name != $was_sequence_name) { - return $this->raiseError(MDB2_SCHEMA_ERROR_INVALID, null, null, - 'it was specified a previous sequence name ("'.$was_sequence_name. - '") for sequence "'.$sequence_name.'" that does not exist'); - } - $changes['add'][$sequence_name] = true; - } - } - return $changes; - } - // }}} - // {{{ verifyAlterDatabase() - - /** - * Verify that the changes requested are supported - * - * @param array $changes associative array that contains the definition of the changes - * that are meant to be applied to the database structure. - * - * @return bool|MDB2_Error MDB2_OK or error object - * @access public - */ - function verifyAlterDatabase($changes) - { - if (!empty($changes['tables']['change']) && is_array($changes['tables']['change'])) { - foreach ($changes['tables']['change'] as $table_name => $table) { - if (!empty($table['indexes']) && is_array($table['indexes'])) { - if (!$this->db->supports('indexes')) { - return $this->raiseError(MDB2_SCHEMA_ERROR_UNSUPPORTED, null, null, - 'indexes are not supported'); - } - $table_changes = count($table['indexes']); - if (!empty($table['indexes']['add'])) { - $table_changes--; - } - if (!empty($table['indexes']['remove'])) { - $table_changes--; - } - if (!empty($table['indexes']['change'])) { - $table_changes--; - } - if ($table_changes) { - return $this->raiseError(MDB2_SCHEMA_ERROR_UNSUPPORTED, null, null, - 'index alteration not yet supported: '.implode(', ', array_keys($table['indexes']))); - } - } - unset($table['indexes']); - $result = $this->db->manager->alterTable($table_name, $table, true); - if (PEAR::isError($result)) { - return $result; - } - } - } - if (!empty($changes['sequences']) && is_array($changes['sequences'])) { - if (!$this->db->supports('sequences')) { - return $this->raiseError(MDB2_SCHEMA_ERROR_UNSUPPORTED, null, null, - 'sequences are not supported'); - } - $sequence_changes = count($changes['sequences']); - if (!empty($changes['sequences']['add'])) { - $sequence_changes--; - } - if (!empty($changes['sequences']['remove'])) { - $sequence_changes--; - } - if (!empty($changes['sequences']['change'])) { - $sequence_changes--; - } - if ($sequence_changes) { - return $this->raiseError(MDB2_SCHEMA_ERROR_UNSUPPORTED, null, null, - 'sequence alteration not yet supported: '.implode(', ', array_keys($changes['sequences']))); - } - } - return MDB2_OK; - } - - // }}} - // {{{ alterDatabaseIndexes() - - /** - * Execute the necessary actions to implement the requested changes - * in the indexes inside a database structure. - * - * @param string $table_name name of the table - * @param array $changes associative array that contains the definition of the changes - * that are meant to be applied to the database structure. - * - * @return bool|MDB2_Error MDB2_OK or error object - * @access public - */ - function alterDatabaseIndexes($table_name, $changes) - { - $alterations = 0; - if (empty($changes)) { - return $alterations; - } - - if (!empty($changes['remove']) && is_array($changes['remove'])) { - foreach ($changes['remove'] as $index_name => $index) { - $this->db->expectError(MDB2_ERROR_NOT_FOUND); - if (!empty($index['primary']) || !empty($index['unique'])) { - $result = $this->db->manager->dropConstraint($table_name, $index_name, !empty($index['primary'])); - } else { - $result = $this->db->manager->dropIndex($table_name, $index_name); - } - $this->db->popExpect(); - if (PEAR::isError($result) && !MDB2::isError($result, MDB2_ERROR_NOT_FOUND)) { - return $result; - } - $alterations++; - } - } - if (!empty($changes['change']) && is_array($changes['change'])) { - foreach ($changes['change'] as $index_name => $index) { - /** - * Drop existing index/constraint first. - * Since $changes doesn't tell us whether it's an index or a constraint before the change, - * we have to find out and call the appropriate method. - */ - if (in_array($index_name, $this->db->manager->listTableIndexes($table_name))) { - $result = $this->db->manager->dropIndex($table_name, $index_name); - } elseif (in_array($index_name, $this->db->manager->listTableConstraints($table_name))) { - $result = $this->db->manager->dropConstraint($table_name, $index_name); - } - if (!empty($result) && PEAR::isError($result)) { - return $result; - } - - if (!empty($index['primary']) || !empty($index['unique'])) { - $result = $this->db->manager->createConstraint($table_name, $index_name, $index); - } else { - $result = $this->db->manager->createIndex($table_name, $index_name, $index); - } - if (PEAR::isError($result)) { - return $result; - } - $alterations++; - } - } - if (!empty($changes['add']) && is_array($changes['add'])) { - foreach ($changes['add'] as $index_name => $index) { - if (!empty($index['primary']) || !empty($index['unique'])) { - $result = $this->db->manager->createConstraint($table_name, $index_name, $index); - } else { - $result = $this->db->manager->createIndex($table_name, $index_name, $index); - } - if (PEAR::isError($result)) { - return $result; - } - $alterations++; - } - } - - return $alterations; - } - - // }}} - // {{{ alterDatabaseTables() - - /** - * Execute the necessary actions to implement the requested changes - * in the tables inside a database structure. - * - * @param array $current_definition multi dimensional array that contains the current definition - * @param array $previous_definition multi dimensional array that contains the previous definition - * @param array $changes associative array that contains the definition of the changes - * that are meant to be applied to the database structure. - * - * @return bool|MDB2_Error MDB2_OK or error object - * @access public - */ - function alterDatabaseTables($current_definition, $previous_definition, $changes) - { - /* FIXME: tables marked to be added are initialized by createTable(), others don't */ - $alterations = 0; - if (empty($changes)) { - return $alterations; - } - - if (!empty($changes['add']) && is_array($changes['add'])) { - foreach ($changes['add'] as $table_name => $table) { - $result = $this->createTable($table_name, $current_definition[$table_name]); - if (PEAR::isError($result)) { - return $result; - } - $alterations++; - } - } - - if ($this->options['drop_obsolete_objects'] - && !empty($changes['remove']) - && is_array($changes['remove']) - ) { - foreach ($changes['remove'] as $table_name => $table) { - $result = $this->db->manager->dropTable($table_name); - if (PEAR::isError($result)) { - return $result; - } - $alterations++; - } - } - - if (!empty($changes['change']) && is_array($changes['change'])) { - foreach ($changes['change'] as $table_name => $table) { - $indexes = array(); - if (!empty($table['indexes'])) { - $indexes = $table['indexes']; - unset($table['indexes']); - } - if (!empty($indexes['remove'])) { - $result = $this->alterDatabaseIndexes($table_name, array('remove' => $indexes['remove'])); - if (PEAR::isError($result)) { - return $result; - } - unset($indexes['remove']); - $alterations += $result; - } - $result = $this->db->manager->alterTable($table_name, $table, false); - if (PEAR::isError($result)) { - return $result; - } - $alterations++; - - // table may be renamed at this point - if (!empty($table['name'])) { - $table_name = $table['name']; - } - - if (!empty($indexes)) { - $result = $this->alterDatabaseIndexes($table_name, $indexes); - if (PEAR::isError($result)) { - return $result; - } - $alterations += $result; - } - } - } - - return $alterations; - } - - // }}} - // {{{ alterDatabaseSequences() - - /** - * Execute the necessary actions to implement the requested changes - * in the sequences inside a database structure. - * - * @param array $current_definition multi dimensional array that contains the current definition - * @param array $previous_definition multi dimensional array that contains the previous definition - * @param array $changes associative array that contains the definition of the changes - * that are meant to be applied to the database structure. - * - * @return bool|MDB2_Error MDB2_OK or error object - * @access public - */ - function alterDatabaseSequences($current_definition, $previous_definition, $changes) - { - $alterations = 0; - if (empty($changes)) { - return $alterations; - } - - if (!empty($changes['add']) && is_array($changes['add'])) { - foreach ($changes['add'] as $sequence_name => $sequence) { - $result = $this->createSequence($sequence_name, $current_definition[$sequence_name]); - if (PEAR::isError($result)) { - return $result; - } - $alterations++; - } - } - - if ($this->options['drop_obsolete_objects'] - && !empty($changes['remove']) - && is_array($changes['remove']) - ) { - foreach ($changes['remove'] as $sequence_name => $sequence) { - $result = $this->db->manager->dropSequence($sequence_name); - if (PEAR::isError($result)) { - return $result; - } - $alterations++; - } - } - - if (!empty($changes['change']) && is_array($changes['change'])) { - foreach ($changes['change'] as $sequence_name => $sequence) { - $result = $this->db->manager->dropSequence($previous_definition[$sequence_name]['was']); - if (PEAR::isError($result)) { - return $result; - } - $result = $this->createSequence($sequence_name, $sequence); - if (PEAR::isError($result)) { - return $result; - } - $alterations++; - } - } - - return $alterations; - } - - // }}} - // {{{ alterDatabase() - - /** - * Execute the necessary actions to implement the requested changes - * in a database structure. - * - * @param array $current_definition multi dimensional array that contains the current definition - * @param array $previous_definition multi dimensional array that contains the previous definition - * @param array $changes associative array that contains the definition of the changes - * that are meant to be applied to the database structure. - * - * @return bool|MDB2_Error MDB2_OK or error object - * @access public - */ - function alterDatabase($current_definition, $previous_definition, $changes) - { - $alterations = 0; - if (empty($changes)) { - return $alterations; - } - - $result = $this->verifyAlterDatabase($changes); - if (PEAR::isError($result)) { - return $result; - } - - if (!empty($current_definition['name'])) { - $previous_database_name = $this->db->setDatabase($current_definition['name']); - } - - if (($support_transactions = $this->db->supports('transactions')) - && PEAR::isError($result = $this->db->beginNestedTransaction()) - ) { - return $result; - } - - if (!empty($changes['tables']) && !empty($current_definition['tables'])) { - $current_tables = isset($current_definition['tables']) ? $current_definition['tables'] : array(); - $previous_tables = isset($previous_definition['tables']) ? $previous_definition['tables'] : array(); - - $result = $this->alterDatabaseTables($current_tables, $previous_tables, $changes['tables']); - if (is_numeric($result)) { - $alterations += $result; - } - } - - if (!PEAR::isError($result) && !empty($changes['sequences'])) { - $current_sequences = isset($current_definition['sequences']) ? $current_definition['sequences'] : array(); - $previous_sequences = isset($previous_definition['sequences']) ? $previous_definition['sequences'] : array(); - - $result = $this->alterDatabaseSequences($current_sequences, $previous_sequences, $changes['sequences']); - if (is_numeric($result)) { - $alterations += $result; - } - } - - if ($support_transactions) { - $res = $this->db->completeNestedTransaction(); - if (PEAR::isError($res)) { - $result = $this->raiseError(MDB2_SCHEMA_ERROR, null, null, - 'Could not end transaction ('. - $res->getMessage().' ('.$res->getUserinfo().'))'); - } - } elseif (PEAR::isError($result) && $alterations) { - $result = $this->raiseError(MDB2_SCHEMA_ERROR, null, null, - 'the requested database alterations were only partially implemented ('. - $result->getMessage().' ('.$result->getUserinfo().'))'); - } - - if (isset($previous_database_name)) { - $this->db->setDatabase($previous_database_name); - } - return $result; - } - - // }}} - // {{{ dumpDatabaseChanges() - - /** - * Dump the changes between two database definitions. - * - * @param array $changes associative array that specifies the list of database - * definitions changes as returned by the _compareDefinitions - * manager class function. - * - * @return bool|MDB2_Error MDB2_OK or error object - * @access public - */ - function dumpDatabaseChanges($changes) - { - if (!empty($changes['tables'])) { - if (!empty($changes['tables']['add']) && is_array($changes['tables']['add'])) { - foreach ($changes['tables']['add'] as $table_name => $table) { - $this->db->debug("$table_name:", __FUNCTION__); - $this->db->debug("\tAdded table '$table_name'", __FUNCTION__); - } - } - - if (!empty($changes['tables']['remove']) && is_array($changes['tables']['remove'])) { - if ($this->options['drop_obsolete_objects']) { - foreach ($changes['tables']['remove'] as $table_name => $table) { - $this->db->debug("$table_name:", __FUNCTION__); - $this->db->debug("\tRemoved table '$table_name'", __FUNCTION__); - } - } else { - foreach ($changes['tables']['remove'] as $table_name => $table) { - $this->db->debug("\tObsolete table '$table_name' left as is", __FUNCTION__); - } - } - } - - if (!empty($changes['tables']['change']) && is_array($changes['tables']['change'])) { - foreach ($changes['tables']['change'] as $table_name => $table) { - if (array_key_exists('name', $table)) { - $this->db->debug("\tRenamed table '$table_name' to '".$table['name']."'", __FUNCTION__); - } - if (!empty($table['add']) && is_array($table['add'])) { - foreach ($table['add'] as $field_name => $field) { - $this->db->debug("\tAdded field '".$field_name."'", __FUNCTION__); - } - } - if (!empty($table['remove']) && is_array($table['remove'])) { - foreach ($table['remove'] as $field_name => $field) { - $this->db->debug("\tRemoved field '".$field_name."'", __FUNCTION__); - } - } - if (!empty($table['rename']) && is_array($table['rename'])) { - foreach ($table['rename'] as $field_name => $field) { - $this->db->debug("\tRenamed field '".$field_name."' to '".$field['name']."'", __FUNCTION__); - } - } - if (!empty($table['change']) && is_array($table['change'])) { - foreach ($table['change'] as $field_name => $field) { - $field = $field['definition']; - if (array_key_exists('type', $field)) { - $this->db->debug("\tChanged field '$field_name' type to '".$field['type']."'", __FUNCTION__); - } - - if (array_key_exists('unsigned', $field)) { - $this->db->debug("\tChanged field '$field_name' type to '". - (!empty($field['unsigned']) && $field['unsigned'] ? '' : 'not ')."unsigned'", - __FUNCTION__); - } - - if (array_key_exists('length', $field)) { - $this->db->debug("\tChanged field '$field_name' length to '". - (!empty($field['length']) ? $field['length']: 'no length')."'", __FUNCTION__); - } - if (array_key_exists('default', $field)) { - $this->db->debug("\tChanged field '$field_name' default to ". - (isset($field['default']) ? "'".$field['default']."'" : 'NULL'), __FUNCTION__); - } - - if (array_key_exists('notnull', $field)) { - $this->db->debug("\tChanged field '$field_name' notnull to ". - (!empty($field['notnull']) && $field['notnull'] ? 'true' : 'false'), - __FUNCTION__); - } - } - } - if (!empty($table['indexes']) && is_array($table['indexes'])) { - if (!empty($table['indexes']['add']) && is_array($table['indexes']['add'])) { - foreach ($table['indexes']['add'] as $index_name => $index) { - $this->db->debug("\tAdded index '".$index_name. - "' of table '$table_name'", __FUNCTION__); - } - } - if (!empty($table['indexes']['remove']) && is_array($table['indexes']['remove'])) { - foreach ($table['indexes']['remove'] as $index_name => $index) { - $this->db->debug("\tRemoved index '".$index_name. - "' of table '$table_name'", __FUNCTION__); - } - } - if (!empty($table['indexes']['change']) && is_array($table['indexes']['change'])) { - foreach ($table['indexes']['change'] as $index_name => $index) { - if (array_key_exists('name', $index)) { - $this->db->debug("\tRenamed index '".$index_name."' to '".$index['name']. - "' on table '$table_name'", __FUNCTION__); - } - if (array_key_exists('unique', $index)) { - $this->db->debug("\tChanged index '".$index_name."' unique to '". - !empty($index['unique'])."' on table '$table_name'", __FUNCTION__); - } - if (array_key_exists('primary', $index)) { - $this->db->debug("\tChanged index '".$index_name."' primary to '". - !empty($index['primary'])."' on table '$table_name'", __FUNCTION__); - } - if (array_key_exists('change', $index)) { - $this->db->debug("\tChanged index '".$index_name. - "' on table '$table_name'", __FUNCTION__); - } - } - } - } - } - } - } - if (!empty($changes['sequences'])) { - if (!empty($changes['sequences']['add']) && is_array($changes['sequences']['add'])) { - foreach ($changes['sequences']['add'] as $sequence_name => $sequence) { - $this->db->debug("$sequence_name:", __FUNCTION__); - $this->db->debug("\tAdded sequence '$sequence_name'", __FUNCTION__); - } - } - if (!empty($changes['sequences']['remove']) && is_array($changes['sequences']['remove'])) { - if ($this->options['drop_obsolete_objects']) { - foreach ($changes['sequences']['remove'] as $sequence_name => $sequence) { - $this->db->debug("$sequence_name:", __FUNCTION__); - $this->db->debug("\tRemoved sequence '$sequence_name'", __FUNCTION__); - } - } else { - foreach ($changes['sequences']['remove'] as $sequence_name => $sequence) { - $this->db->debug("\tObsolete sequence '$sequence_name' left as is", __FUNCTION__); - } - } - } - if (!empty($changes['sequences']['change']) && is_array($changes['sequences']['change'])) { - foreach ($changes['sequences']['change'] as $sequence_name => $sequence) { - if (array_key_exists('name', $sequence)) { - $this->db->debug("\tRenamed sequence '$sequence_name' to '". - $sequence['name']."'", __FUNCTION__); - } - if (!empty($sequence['change']) && is_array($sequence['change'])) { - foreach ($sequence['change'] as $sequence_name => $sequence) { - if (array_key_exists('start', $sequence)) { - $this->db->debug("\tChanged sequence '$sequence_name' start to '". - $sequence['start']."'", __FUNCTION__); - } - } - } - } - } - } - return MDB2_OK; - } - - // }}} - // {{{ dumpDatabase() - - /** - * Dump a previously parsed database structure in the Metabase schema - * XML based format suitable for the Metabase parser. This function - * may optionally dump the database definition with initialization - * commands that specify the data that is currently present in the tables. - * - * @param array $database_definition multi dimensional array that contains the current definition - * @param array $arguments associative array that takes pairs of tag - * names and values that define dump options. - *
array (
-     *                     'output_mode'    =>    String
-     *                         'file' :   dump into a file
-     *                         default:   dump using a function
-     *                     'output'        =>    String
-     *                         depending on the 'Output_Mode'
-     *                                  name of the file
-     *                                  name of the function
-     *                     'end_of_line'        =>    String
-     *                         end of line delimiter that should be used
-     *                         default: "\n"
-     *                 );
- * @param int $dump Int that determines what data to dump - * + MDB2_SCHEMA_DUMP_ALL : the entire db - * + MDB2_SCHEMA_DUMP_STRUCTURE : only the structure of the db - * + MDB2_SCHEMA_DUMP_CONTENT : only the content of the db - * - * @return bool|MDB2_Error MDB2_OK or error object - * @access public - */ - function dumpDatabase($database_definition, $arguments, $dump = MDB2_SCHEMA_DUMP_ALL) - { - $class_name = $this->options['writer']; - - $result = MDB2::loadClass($class_name, $this->db->getOption('debug')); - if (PEAR::isError($result)) { - return $result; - } - - // get initialization data - if (isset($database_definition['tables']) && is_array($database_definition['tables']) - && $dump == MDB2_SCHEMA_DUMP_ALL || $dump == MDB2_SCHEMA_DUMP_CONTENT - ) { - foreach ($database_definition['tables'] as $table_name => $table) { - $fields = array(); - $fieldsq = array(); - foreach ($table['fields'] as $field_name => $field) { - $fields[$field_name] = $field['type']; - - $fieldsq[] = $this->db->quoteIdentifier($field_name, true); - } - - $query = 'SELECT '.implode(', ', $fieldsq).' FROM '; - $query .= $this->db->quoteIdentifier($table_name, true); - - $data = $this->db->queryAll($query, $fields, MDB2_FETCHMODE_ASSOC); - - if (PEAR::isError($data)) { - return $data; - } - - if (!empty($data)) { - $initialization = array(); - $lob_buffer_length = $this->db->getOption('lob_buffer_length'); - foreach ($data as $row) { - $rows = array(); - foreach ($row as $key => $lob) { - if (is_resource($lob)) { - $value = ''; - while (!feof($lob)) { - $value .= fread($lob, $lob_buffer_length); - } - $row[$key] = $value; - } - $rows[] = array('name' => $key, 'group' => array('type' => 'value', 'data' => $row[$key])); - } - $initialization[] = array('type' => 'insert', 'data' => array('field' => $rows)); - } - $database_definition['tables'][$table_name]['initialization'] = $initialization; - } - } - } - - $writer = new $class_name($this->options['valid_types']); - return $writer->dumpDatabase($database_definition, $arguments, $dump); - } - - // }}} - // {{{ writeInitialization() - - /** - * Write initialization and sequences - * - * @param string|array $data data file or data array - * @param string|array $structure structure file or array - * @param array $variables associative array that is passed to the argument - * of the same name to the parseDatabaseDefinitionFile function. (there third - * param) - * - * @return bool|MDB2_Error MDB2_OK or error object - * @access public - */ - function writeInitialization($data, $structure = false, $variables = array()) - { - if ($structure) { - $structure = $this->parseDatabaseDefinition($structure, false, $variables); - if (PEAR::isError($structure)) { - return $structure; - } - } - - $data = $this->parseDatabaseDefinition($data, false, $variables, false, $structure); - if (PEAR::isError($data)) { - return $data; - } - - $previous_database_name = null; - if (!empty($data['name'])) { - $previous_database_name = $this->db->setDatabase($data['name']); - } elseif (!empty($structure['name'])) { - $previous_database_name = $this->db->setDatabase($structure['name']); - } - - if (!empty($data['tables']) && is_array($data['tables'])) { - foreach ($data['tables'] as $table_name => $table) { - if (empty($table['initialization'])) { - continue; - } - $result = $this->initializeTable($table_name, $table); - if (PEAR::isError($result)) { - return $result; - } - } - } - - if (!empty($structure['sequences']) && is_array($structure['sequences'])) { - foreach ($structure['sequences'] as $sequence_name => $sequence) { - if (isset($data['sequences'][$sequence_name]) - || !isset($sequence['on']['table']) - || !isset($data['tables'][$sequence['on']['table']]) - ) { - continue; - } - $result = $this->createSequence($sequence_name, $sequence, true); - if (PEAR::isError($result)) { - return $result; - } - } - } - if (!empty($data['sequences']) && is_array($data['sequences'])) { - foreach ($data['sequences'] as $sequence_name => $sequence) { - $result = $this->createSequence($sequence_name, $sequence, true); - if (PEAR::isError($result)) { - return $result; - } - } - } - - if (isset($previous_database_name)) { - $this->db->setDatabase($previous_database_name); - } - - return MDB2_OK; - } - - // }}} - // {{{ updateDatabase() - - /** - * Compare the correspondent files of two versions of a database schema - * definition: the previously installed and the one that defines the schema - * that is meant to update the database. - * If the specified previous definition file does not exist, this function - * will create the database from the definition specified in the current - * schema file. - * If both files exist, the function assumes that the database was previously - * installed based on the previous schema file and will update it by just - * applying the changes. - * If this function succeeds, the contents of the current schema file are - * copied to replace the previous schema file contents. Any subsequent schema - * changes should only be done on the file specified by the $current_schema_file - * to let this function make a consistent evaluation of the exact changes that - * need to be applied. - * - * @param string|array $current_schema filename or array of the updated database schema definition. - * @param string|array $previous_schema filename or array of the previously installed database schema definition. - * @param array $variables associative array that is passed to the argument of the same - * name to the parseDatabaseDefinitionFile function. (there third param) - * @param bool $disable_query determines if the disable_query option should be set to true - * for the alterDatabase() or createDatabase() call - * @param bool $overwrite_old_schema_file Overwrite? - * - * @return bool|MDB2_Error MDB2_OK or error object - * @access public - */ - function updateDatabase($current_schema, $previous_schema = false, - $variables = array(), $disable_query = false, - $overwrite_old_schema_file = false) - { - $current_definition = $this->parseDatabaseDefinition($current_schema, false, $variables, - $this->options['fail_on_invalid_names']); - - if (PEAR::isError($current_definition)) { - return $current_definition; - } - - $previous_definition = false; - if ($previous_schema) { - $previous_definition = $this->parseDatabaseDefinition($previous_schema, true, $variables, - $this->options['fail_on_invalid_names']); - if (PEAR::isError($previous_definition)) { - return $previous_definition; - } - } - - if ($previous_definition) { - $dbExists = $this->db->databaseExists($current_definition['name']); - if (PEAR::isError($dbExists)) { - return $dbExists; - } - - if (!$dbExists) { - return $this->raiseError(MDB2_SCHEMA_ERROR, null, null, - 'database to update does not exist: '.$current_definition['name']); - } - - $changes = $this->compareDefinitions($current_definition, $previous_definition); - if (PEAR::isError($changes)) { - return $changes; - } - - if (is_array($changes)) { - $this->db->setOption('disable_query', $disable_query); - $result = $this->alterDatabase($current_definition, $previous_definition, $changes); - $this->db->setOption('disable_query', false); - if (PEAR::isError($result)) { - return $result; - } - $copy = true; - if ($this->db->options['debug']) { - $result = $this->dumpDatabaseChanges($changes); - if (PEAR::isError($result)) { - return $result; - } - } - } - } else { - $this->db->setOption('disable_query', $disable_query); - $result = $this->createDatabase($current_definition); - $this->db->setOption('disable_query', false); - if (PEAR::isError($result)) { - return $result; - } - } - - if ($overwrite_old_schema_file - && !$disable_query - && is_string($previous_schema) && is_string($current_schema) - && !copy($current_schema, $previous_schema)) { - - return $this->raiseError(MDB2_SCHEMA_ERROR, null, null, - 'Could not copy the new database definition file to the current file'); - } - - return MDB2_OK; - } - // }}} - // {{{ errorMessage() - - /** - * Return a textual error message for a MDB2 error code - * - * @param int|array $value integer error code, null to get the - * current error code-message map, - * or an array with a new error code-message map - * - * @return string error message, or false if the error code was not recognized - * @access public - */ - function errorMessage($value = null) - { - static $errorMessages; - if (is_array($value)) { - $errorMessages = $value; - return MDB2_OK; - } elseif (!isset($errorMessages)) { - $errorMessages = array( - MDB2_SCHEMA_ERROR => 'unknown error', - MDB2_SCHEMA_ERROR_PARSE => 'schema parse error', - MDB2_SCHEMA_ERROR_VALIDATE => 'schema validation error', - MDB2_SCHEMA_ERROR_INVALID => 'invalid', - MDB2_SCHEMA_ERROR_UNSUPPORTED => 'not supported', - MDB2_SCHEMA_ERROR_WRITER => 'schema writer error', - ); - } - - if (is_null($value)) { - return $errorMessages; - } - - if (PEAR::isError($value)) { - $value = $value->getCode(); - } - - return !empty($errorMessages[$value]) ? - $errorMessages[$value] : $errorMessages[MDB2_SCHEMA_ERROR]; - } - - // }}} - // {{{ raiseError() - - /** - * This method is used to communicate an error and invoke error - * callbacks etc. Basically a wrapper for PEAR::raiseError - * without the message string. - * - * @param int|PEAR_Error $code integer error code or and PEAR_Error instance - * @param int $mode error mode, see PEAR_Error docs - * error level (E_USER_NOTICE etc). If error mode is - * PEAR_ERROR_CALLBACK, this is the callback function, - * either as a function name, or as an array of an - * object and method name. For other error modes this - * parameter is ignored. - * @param array $options Options, depending on the mode, @see PEAR::setErrorHandling - * @param string $userinfo Extra debug information. Defaults to the last - * query and native error code. - * - * @return object a PEAR error object - * @access public - * @see PEAR_Error - */ - static function &raiseError($code = null, $mode = null, $options = null, $userinfo = null, $dummy1 = null, $dummy2 = null, $dummy3 = false) - { - $err = PEAR::raiseError(null, $code, $mode, $options, - $userinfo, 'MDB2_Schema_Error', true); - return $err; - } - - // }}} - // {{{ isError() - - /** - * Tell whether a value is an MDB2_Schema error. - * - * @param mixed $data the value to test - * @param int $code if $data is an error object, return true only if $code is - * a string and $db->getMessage() == $code or - * $code is an integer and $db->getCode() == $code - * - * @return bool true if parameter is an error - * @access public - */ - static function isError($data, $code = null) - { - if (is_a($data, 'MDB2_Schema_Error')) { - if (is_null($code)) { - return true; - } elseif (is_string($code)) { - return $data->getMessage() === $code; - } else { - $code = (array)$code; - return in_array($data->getCode(), $code); - } - } - return false; - } - - // }}} -} - -/** - * MDB2_Schema_Error implements a class for reporting portable database error - * messages. - * - * @category Database - * @package MDB2_Schema - * @author Stig Bakken - * @license BSD http://www.opensource.org/licenses/bsd-license.php - * @link http://pear.php.net/packages/MDB2_Schema - */ -class MDB2_Schema_Error extends PEAR_Error -{ - /** - * MDB2_Schema_Error constructor. - * - * @param mixed $code error code, or string with error message. - * @param int $mode what 'error mode' to operate in - * @param int $level what error level to use for $mode & PEAR_ERROR_TRIGGER - * @param mixed $debuginfo additional debug info, such as the last query - * - * @access public - */ - function MDB2_Schema_Error($code = MDB2_SCHEMA_ERROR, $mode = PEAR_ERROR_RETURN, - $level = E_USER_NOTICE, $debuginfo = null) - { - $this->PEAR_Error('MDB2_Schema Error: ' . MDB2_Schema::errorMessage($code), $code, - $mode, $level, $debuginfo); - } -} diff --git a/3rdparty/MDB2/Schema/Parser.php b/3rdparty/MDB2/Schema/Parser.php deleted file mode 100644 index 3c4345661b135dc91b1c6bfe039b02bd9ed18077..0000000000000000000000000000000000000000 --- a/3rdparty/MDB2/Schema/Parser.php +++ /dev/null @@ -1,876 +0,0 @@ - - * @author Igor Feghali - * @license BSD http://www.opensource.org/licenses/bsd-license.php - * @version SVN: $Id$ - * @link http://pear.php.net/packages/MDB2_Schema - */ - -require_once 'XML/Parser.php'; -require_once 'MDB2/Schema/Validate.php'; - -/** - * Parses an XML schema file - * - * @category Database - * @package MDB2_Schema - * @author Christian Dickmann - * @license BSD http://www.opensource.org/licenses/bsd-license.php - * @link http://pear.php.net/packages/MDB2_Schema - */ -class MDB2_Schema_Parser extends XML_Parser -{ - var $database_definition = array(); - - var $elements = array(); - - var $element = ''; - - var $count = 0; - - var $table = array(); - - var $table_name = ''; - - var $field = array(); - - var $field_name = ''; - - var $init = array(); - - var $init_function = array(); - - var $init_expression = array(); - - var $init_field = array(); - - var $index = array(); - - var $index_name = ''; - - var $constraint = array(); - - var $constraint_name = ''; - - var $var_mode = false; - - var $variables = array(); - - var $sequence = array(); - - var $sequence_name = ''; - - var $error; - - var $structure = false; - - var $val; - - /** - * PHP 5 constructor - * - * @param array $variables mixed array with user defined schema - * variables - * @param bool $fail_on_invalid_names array with reserved words per RDBMS - * @param array $structure multi dimensional array with - * database schema and data - * @param array $valid_types information of all valid fields - * types - * @param bool $force_defaults if true sets a default value to - * field when not explicit - * @param int $max_identifiers_length maximum allowed size for entities - * name - * - * @return void - * - * @access public - * @static - */ - function __construct($variables, $fail_on_invalid_names = true, - $structure = false, $valid_types = array(), $force_defaults = true, - $max_identifiers_length = null - ) { - // force ISO-8859-1 due to different defaults for PHP4 and PHP5 - // todo: this probably needs to be investigated some more andcleaned up - parent::__construct('ISO-8859-1'); - - $this->variables = $variables; - $this->structure = $structure; - $this->val = new MDB2_Schema_Validate( - $fail_on_invalid_names, - $valid_types, - $force_defaults, - $max_identifiers_length - ); - } - - /** - * Triggered when reading a XML open tag - * - * @param resource $xp xml parser resource - * @param string $element element name - * @param array $attribs attributes - * - * @return void - * @access private - * @static - */ - function startHandler($xp, $element, &$attribs) - { - if (strtolower($element) == 'variable') { - $this->var_mode = true; - return; - } - - $this->elements[$this->count++] = strtolower($element); - - $this->element = implode('-', $this->elements); - - switch ($this->element) { - /* Initialization */ - case 'database-table-initialization': - $this->table['initialization'] = array(); - break; - - /* Insert */ - /* insert: field+ */ - case 'database-table-initialization-insert': - $this->init = array('type' => 'insert', 'data' => array('field' => array())); - break; - /* insert-select: field+, table, where? */ - case 'database-table-initialization-insert-select': - $this->init['data']['table'] = ''; - break; - - /* Update */ - /* update: field+, where? */ - case 'database-table-initialization-update': - $this->init = array('type' => 'update', 'data' => array('field' => array())); - break; - - /* Delete */ - /* delete: where */ - case 'database-table-initialization-delete': - $this->init = array('type' => 'delete', 'data' => array('where' => array())); - break; - - /* Insert and Update */ - case 'database-table-initialization-insert-field': - case 'database-table-initialization-insert-select-field': - case 'database-table-initialization-update-field': - $this->init_field = array('name' => '', 'group' => array()); - break; - case 'database-table-initialization-insert-field-value': - case 'database-table-initialization-insert-select-field-value': - case 'database-table-initialization-update-field-value': - /* if value tag is empty cdataHandler is not called so we must force value element creation here */ - $this->init_field['group'] = array('type' => 'value', 'data' => ''); - break; - case 'database-table-initialization-insert-field-null': - case 'database-table-initialization-insert-select-field-null': - case 'database-table-initialization-update-field-null': - $this->init_field['group'] = array('type' => 'null'); - break; - case 'database-table-initialization-insert-field-function': - case 'database-table-initialization-insert-select-field-function': - case 'database-table-initialization-update-field-function': - $this->init_function = array('name' => ''); - break; - case 'database-table-initialization-insert-field-expression': - case 'database-table-initialization-insert-select-field-expression': - case 'database-table-initialization-update-field-expression': - $this->init_expression = array(); - break; - - /* All */ - case 'database-table-initialization-insert-select-where': - case 'database-table-initialization-update-where': - case 'database-table-initialization-delete-where': - $this->init['data']['where'] = array('type' => '', 'data' => array()); - break; - case 'database-table-initialization-insert-select-where-expression': - case 'database-table-initialization-update-where-expression': - case 'database-table-initialization-delete-where-expression': - $this->init_expression = array(); - break; - - /* One level simulation of expression-function recursion */ - case 'database-table-initialization-insert-field-expression-function': - case 'database-table-initialization-insert-select-field-expression-function': - case 'database-table-initialization-insert-select-where-expression-function': - case 'database-table-initialization-update-field-expression-function': - case 'database-table-initialization-update-where-expression-function': - case 'database-table-initialization-delete-where-expression-function': - $this->init_function = array('name' => ''); - break; - - /* One level simulation of function-expression recursion */ - case 'database-table-initialization-insert-field-function-expression': - case 'database-table-initialization-insert-select-field-function-expression': - case 'database-table-initialization-insert-select-where-function-expression': - case 'database-table-initialization-update-field-function-expression': - case 'database-table-initialization-update-where-function-expression': - case 'database-table-initialization-delete-where-function-expression': - $this->init_expression = array(); - break; - - /* Definition */ - case 'database': - $this->database_definition = array( - 'name' => '', - 'create' => '', - 'overwrite' => '', - 'charset' => '', - 'description' => '', - 'comments' => '', - 'tables' => array(), - 'sequences' => array() - ); - break; - case 'database-table': - $this->table_name = ''; - - $this->table = array( - 'was' => '', - 'description' => '', - 'comments' => '', - 'fields' => array(), - 'indexes' => array(), - 'constraints' => array(), - 'initialization' => array() - ); - break; - case 'database-table-declaration-field': - case 'database-table-declaration-foreign-field': - case 'database-table-declaration-foreign-references-field': - $this->field_name = ''; - - $this->field = array(); - break; - case 'database-table-declaration-index-field': - $this->field_name = ''; - - $this->field = array('sorting' => '', 'length' => ''); - break; - /* force field attributes to be initialized when the tag is empty in the XML */ - case 'database-table-declaration-field-was': - $this->field['was'] = ''; - break; - case 'database-table-declaration-field-type': - $this->field['type'] = ''; - break; - case 'database-table-declaration-field-fixed': - $this->field['fixed'] = ''; - break; - case 'database-table-declaration-field-default': - $this->field['default'] = ''; - break; - case 'database-table-declaration-field-notnull': - $this->field['notnull'] = ''; - break; - case 'database-table-declaration-field-autoincrement': - $this->field['autoincrement'] = ''; - break; - case 'database-table-declaration-field-unsigned': - $this->field['unsigned'] = ''; - break; - case 'database-table-declaration-field-length': - $this->field['length'] = ''; - break; - case 'database-table-declaration-field-description': - $this->field['description'] = ''; - break; - case 'database-table-declaration-field-comments': - $this->field['comments'] = ''; - break; - case 'database-table-declaration-index': - $this->index_name = ''; - - $this->index = array( - 'was' => '', - 'unique' =>'', - 'primary' => '', - 'fields' => array() - ); - break; - case 'database-table-declaration-foreign': - $this->constraint_name = ''; - - $this->constraint = array( - 'was' => '', - 'match' => '', - 'ondelete' => '', - 'onupdate' => '', - 'deferrable' => '', - 'initiallydeferred' => '', - 'foreign' => true, - 'fields' => array(), - 'references' => array('table' => '', 'fields' => array()) - ); - break; - case 'database-sequence': - $this->sequence_name = ''; - - $this->sequence = array( - 'was' => '', - 'start' => '', - 'description' => '', - 'comments' => '', - ); - break; - } - } - - /** - * Triggered when reading a XML close tag - * - * @param resource $xp xml parser resource - * @param string $element element name - * - * @return void - * @access private - * @static - */ - function endHandler($xp, $element) - { - if (strtolower($element) == 'variable') { - $this->var_mode = false; - return; - } - - switch ($this->element) { - /* Initialization */ - - /* Insert */ - case 'database-table-initialization-insert-select': - $this->init['data'] = array('select' => $this->init['data']); - break; - - /* Insert and Delete */ - case 'database-table-initialization-insert-field': - case 'database-table-initialization-insert-select-field': - case 'database-table-initialization-update-field': - $result = $this->val->validateDataField($this->table['fields'], $this->init['data']['field'], $this->init_field); - if (PEAR::isError($result)) { - $this->raiseError($result->getUserinfo(), 0, $xp, $result->getCode()); - } else { - $this->init['data']['field'][] = $this->init_field; - } - break; - case 'database-table-initialization-insert-field-function': - case 'database-table-initialization-insert-select-field-function': - case 'database-table-initialization-update-field-function': - $this->init_field['group'] = array('type' => 'function', 'data' => $this->init_function); - break; - case 'database-table-initialization-insert-field-expression': - case 'database-table-initialization-insert-select-field-expression': - case 'database-table-initialization-update-field-expression': - $this->init_field['group'] = array('type' => 'expression', 'data' => $this->init_expression); - break; - - /* All */ - case 'database-table-initialization-insert-select-where-expression': - case 'database-table-initialization-update-where-expression': - case 'database-table-initialization-delete-where-expression': - $this->init['data']['where']['type'] = 'expression'; - $this->init['data']['where']['data'] = $this->init_expression; - break; - case 'database-table-initialization-insert': - case 'database-table-initialization-delete': - case 'database-table-initialization-update': - $this->table['initialization'][] = $this->init; - break; - - /* One level simulation of expression-function recursion */ - case 'database-table-initialization-insert-field-expression-function': - case 'database-table-initialization-insert-select-field-expression-function': - case 'database-table-initialization-insert-select-where-expression-function': - case 'database-table-initialization-update-field-expression-function': - case 'database-table-initialization-update-where-expression-function': - case 'database-table-initialization-delete-where-expression-function': - $this->init_expression['operants'][] = array('type' => 'function', 'data' => $this->init_function); - break; - - /* One level simulation of function-expression recursion */ - case 'database-table-initialization-insert-field-function-expression': - case 'database-table-initialization-insert-select-field-function-expression': - case 'database-table-initialization-insert-select-where-function-expression': - case 'database-table-initialization-update-field-function-expression': - case 'database-table-initialization-update-where-function-expression': - case 'database-table-initialization-delete-where-function-expression': - $this->init_function['arguments'][] = array('type' => 'expression', 'data' => $this->init_expression); - break; - - /* Table definition */ - case 'database-table': - $result = $this->val->validateTable($this->database_definition['tables'], $this->table, $this->table_name); - if (PEAR::isError($result)) { - $this->raiseError($result->getUserinfo(), 0, $xp, $result->getCode()); - } else { - $this->database_definition['tables'][$this->table_name] = $this->table; - } - break; - case 'database-table-name': - if (isset($this->structure['tables'][$this->table_name])) { - $this->table = $this->structure['tables'][$this->table_name]; - } - break; - - /* Field declaration */ - case 'database-table-declaration-field': - $result = $this->val->validateField($this->table['fields'], $this->field, $this->field_name); - if (PEAR::isError($result)) { - $this->raiseError($result->getUserinfo(), 0, $xp, $result->getCode()); - } else { - $this->table['fields'][$this->field_name] = $this->field; - } - break; - - /* Index declaration */ - case 'database-table-declaration-index': - $result = $this->val->validateIndex($this->table['indexes'], $this->index, $this->index_name); - if (PEAR::isError($result)) { - $this->raiseError($result->getUserinfo(), 0, $xp, $result->getCode()); - } else { - $this->table['indexes'][$this->index_name] = $this->index; - } - break; - case 'database-table-declaration-index-field': - $result = $this->val->validateIndexField($this->index['fields'], $this->field, $this->field_name); - if (PEAR::isError($result)) { - $this->raiseError($result->getUserinfo(), 0, $xp, $result->getCode()); - } else { - $this->index['fields'][$this->field_name] = $this->field; - } - break; - - /* Foreign Key declaration */ - case 'database-table-declaration-foreign': - $result = $this->val->validateConstraint($this->table['constraints'], $this->constraint, $this->constraint_name); - if (PEAR::isError($result)) { - $this->raiseError($result->getUserinfo(), 0, $xp, $result->getCode()); - } else { - $this->table['constraints'][$this->constraint_name] = $this->constraint; - } - break; - case 'database-table-declaration-foreign-field': - $result = $this->val->validateConstraintField($this->constraint['fields'], $this->field_name); - if (PEAR::isError($result)) { - $this->raiseError($result->getUserinfo(), 0, $xp, $result->getCode()); - } else { - $this->constraint['fields'][$this->field_name] = ''; - } - break; - case 'database-table-declaration-foreign-references-field': - $result = $this->val->validateConstraintReferencedField($this->constraint['references']['fields'], $this->field_name); - if (PEAR::isError($result)) { - $this->raiseError($result->getUserinfo(), 0, $xp, $result->getCode()); - } else { - $this->constraint['references']['fields'][$this->field_name] = ''; - } - break; - - /* Sequence declaration */ - case 'database-sequence': - $result = $this->val->validateSequence($this->database_definition['sequences'], $this->sequence, $this->sequence_name); - if (PEAR::isError($result)) { - $this->raiseError($result->getUserinfo(), 0, $xp, $result->getCode()); - } else { - $this->database_definition['sequences'][$this->sequence_name] = $this->sequence; - } - break; - - /* End of File */ - case 'database': - $result = $this->val->validateDatabase($this->database_definition); - if (PEAR::isError($result)) { - $this->raiseError($result->getUserinfo(), 0, $xp, $result->getCode()); - } - break; - } - - unset($this->elements[--$this->count]); - $this->element = implode('-', $this->elements); - } - - /** - * Pushes a MDB2_Schema_Error into stack and returns it - * - * @param string $msg textual message - * @param int $xmlecode PHP's XML parser error code - * @param resource $xp xml parser resource - * @param int $ecode MDB2_Schema's error code - * - * @return object - * @access private - * @static - */ - static function &raiseError($msg = null, $xmlecode = 0, $xp = null, $ecode = MDB2_SCHEMA_ERROR_PARSE, $userinfo = null, - $error_class = null, - $skipmsg = false) - { - if (is_null($this->error)) { - $error = ''; - if (is_resource($msg)) { - $error .= 'Parser error: '.xml_error_string(xml_get_error_code($msg)); - $xp = $msg; - } else { - $error .= 'Parser error: '.$msg; - if (!is_resource($xp)) { - $xp = $this->parser; - } - } - - if ($error_string = xml_error_string($xmlecode)) { - $error .= ' - '.$error_string; - } - - if (is_resource($xp)) { - $byte = @xml_get_current_byte_index($xp); - $line = @xml_get_current_line_number($xp); - $column = @xml_get_current_column_number($xp); - $error .= " - Byte: $byte; Line: $line; Col: $column"; - } - - $error .= "\n"; - - $this->error = MDB2_Schema::raiseError($ecode, null, null, $error); - } - return $this->error; - } - - /** - * Triggered when reading data in a XML element (text between tags) - * - * @param resource $xp xml parser resource - * @param string $data text - * - * @return void - * @access private - * @static - */ - function cdataHandler($xp, $data) - { - if ($this->var_mode == true) { - if (!isset($this->variables[$data])) { - $this->raiseError('variable "'.$data.'" not found', null, $xp); - return; - } - $data = $this->variables[$data]; - } - - switch ($this->element) { - /* Initialization */ - - /* Insert */ - case 'database-table-initialization-insert-select-table': - $this->init['data']['table'] = $data; - break; - - /* Insert and Update */ - case 'database-table-initialization-insert-field-name': - case 'database-table-initialization-insert-select-field-name': - case 'database-table-initialization-update-field-name': - $this->init_field['name'] .= $data; - break; - case 'database-table-initialization-insert-field-value': - case 'database-table-initialization-insert-select-field-value': - case 'database-table-initialization-update-field-value': - $this->init_field['group']['data'] .= $data; - break; - case 'database-table-initialization-insert-field-function-name': - case 'database-table-initialization-insert-select-field-function-name': - case 'database-table-initialization-update-field-function-name': - $this->init_function['name'] .= $data; - break; - case 'database-table-initialization-insert-field-function-value': - case 'database-table-initialization-insert-select-field-function-value': - case 'database-table-initialization-update-field-function-value': - $this->init_function['arguments'][] = array('type' => 'value', 'data' => $data); - break; - case 'database-table-initialization-insert-field-function-column': - case 'database-table-initialization-insert-select-field-function-column': - case 'database-table-initialization-update-field-function-column': - $this->init_function['arguments'][] = array('type' => 'column', 'data' => $data); - break; - case 'database-table-initialization-insert-field-column': - case 'database-table-initialization-insert-select-field-column': - case 'database-table-initialization-update-field-column': - $this->init_field['group'] = array('type' => 'column', 'data' => $data); - break; - - /* All */ - case 'database-table-initialization-insert-field-expression-operator': - case 'database-table-initialization-insert-select-field-expression-operator': - case 'database-table-initialization-insert-select-where-expression-operator': - case 'database-table-initialization-update-field-expression-operator': - case 'database-table-initialization-update-where-expression-operator': - case 'database-table-initialization-delete-where-expression-operator': - $this->init_expression['operator'] = $data; - break; - case 'database-table-initialization-insert-field-expression-value': - case 'database-table-initialization-insert-select-field-expression-value': - case 'database-table-initialization-insert-select-where-expression-value': - case 'database-table-initialization-update-field-expression-value': - case 'database-table-initialization-update-where-expression-value': - case 'database-table-initialization-delete-where-expression-value': - $this->init_expression['operants'][] = array('type' => 'value', 'data' => $data); - break; - case 'database-table-initialization-insert-field-expression-column': - case 'database-table-initialization-insert-select-field-expression-column': - case 'database-table-initialization-insert-select-where-expression-column': - case 'database-table-initialization-update-field-expression-column': - case 'database-table-initialization-update-where-expression-column': - case 'database-table-initialization-delete-where-expression-column': - $this->init_expression['operants'][] = array('type' => 'column', 'data' => $data); - break; - - case 'database-table-initialization-insert-field-function-function': - case 'database-table-initialization-insert-field-function-expression': - case 'database-table-initialization-insert-field-expression-expression': - case 'database-table-initialization-update-field-function-function': - case 'database-table-initialization-update-field-function-expression': - case 'database-table-initialization-update-field-expression-expression': - case 'database-table-initialization-update-where-expression-expression': - case 'database-table-initialization-delete-where-expression-expression': - /* Recursion to be implemented yet */ - break; - - /* One level simulation of expression-function recursion */ - case 'database-table-initialization-insert-field-expression-function-name': - case 'database-table-initialization-insert-select-field-expression-function-name': - case 'database-table-initialization-insert-select-where-expression-function-name': - case 'database-table-initialization-update-field-expression-function-name': - case 'database-table-initialization-update-where-expression-function-name': - case 'database-table-initialization-delete-where-expression-function-name': - $this->init_function['name'] .= $data; - break; - case 'database-table-initialization-insert-field-expression-function-value': - case 'database-table-initialization-insert-select-field-expression-function-value': - case 'database-table-initialization-insert-select-where-expression-function-value': - case 'database-table-initialization-update-field-expression-function-value': - case 'database-table-initialization-update-where-expression-function-value': - case 'database-table-initialization-delete-where-expression-function-value': - $this->init_function['arguments'][] = array('type' => 'value', 'data' => $data); - break; - case 'database-table-initialization-insert-field-expression-function-column': - case 'database-table-initialization-insert-select-field-expression-function-column': - case 'database-table-initialization-insert-select-where-expression-function-column': - case 'database-table-initialization-update-field-expression-function-column': - case 'database-table-initialization-update-where-expression-function-column': - case 'database-table-initialization-delete-where-expression-function-column': - $this->init_function['arguments'][] = array('type' => 'column', 'data' => $data); - break; - - /* One level simulation of function-expression recursion */ - case 'database-table-initialization-insert-field-function-expression-operator': - case 'database-table-initialization-insert-select-field-function-expression-operator': - case 'database-table-initialization-update-field-function-expression-operator': - $this->init_expression['operator'] = $data; - break; - case 'database-table-initialization-insert-field-function-expression-value': - case 'database-table-initialization-insert-select-field-function-expression-value': - case 'database-table-initialization-update-field-function-expression-value': - $this->init_expression['operants'][] = array('type' => 'value', 'data' => $data); - break; - case 'database-table-initialization-insert-field-function-expression-column': - case 'database-table-initialization-insert-select-field-function-expression-column': - case 'database-table-initialization-update-field-function-expression-column': - $this->init_expression['operants'][] = array('type' => 'column', 'data' => $data); - break; - - /* Database */ - case 'database-name': - $this->database_definition['name'] .= $data; - break; - case 'database-create': - $this->database_definition['create'] .= $data; - break; - case 'database-overwrite': - $this->database_definition['overwrite'] .= $data; - break; - case 'database-charset': - $this->database_definition['charset'] .= $data; - break; - case 'database-description': - $this->database_definition['description'] .= $data; - break; - case 'database-comments': - $this->database_definition['comments'] .= $data; - break; - - /* Table declaration */ - case 'database-table-name': - $this->table_name .= $data; - break; - case 'database-table-was': - $this->table['was'] .= $data; - break; - case 'database-table-description': - $this->table['description'] .= $data; - break; - case 'database-table-comments': - $this->table['comments'] .= $data; - break; - - /* Field declaration */ - case 'database-table-declaration-field-name': - $this->field_name .= $data; - break; - case 'database-table-declaration-field-was': - $this->field['was'] .= $data; - break; - case 'database-table-declaration-field-type': - $this->field['type'] .= $data; - break; - case 'database-table-declaration-field-fixed': - $this->field['fixed'] .= $data; - break; - case 'database-table-declaration-field-default': - $this->field['default'] .= $data; - break; - case 'database-table-declaration-field-notnull': - $this->field['notnull'] .= $data; - break; - case 'database-table-declaration-field-autoincrement': - $this->field['autoincrement'] .= $data; - break; - case 'database-table-declaration-field-unsigned': - $this->field['unsigned'] .= $data; - break; - case 'database-table-declaration-field-length': - $this->field['length'] .= $data; - break; - case 'database-table-declaration-field-description': - $this->field['description'] .= $data; - break; - case 'database-table-declaration-field-comments': - $this->field['comments'] .= $data; - break; - - /* Index declaration */ - case 'database-table-declaration-index-name': - $this->index_name .= $data; - break; - case 'database-table-declaration-index-was': - $this->index['was'] .= $data; - break; - case 'database-table-declaration-index-unique': - $this->index['unique'] .= $data; - break; - case 'database-table-declaration-index-primary': - $this->index['primary'] .= $data; - break; - case 'database-table-declaration-index-field-name': - $this->field_name .= $data; - break; - case 'database-table-declaration-index-field-sorting': - $this->field['sorting'] .= $data; - break; - /* Add by Leoncx */ - case 'database-table-declaration-index-field-length': - $this->field['length'] .= $data; - break; - - /* Foreign Key declaration */ - case 'database-table-declaration-foreign-name': - $this->constraint_name .= $data; - break; - case 'database-table-declaration-foreign-was': - $this->constraint['was'] .= $data; - break; - case 'database-table-declaration-foreign-match': - $this->constraint['match'] .= $data; - break; - case 'database-table-declaration-foreign-ondelete': - $this->constraint['ondelete'] .= $data; - break; - case 'database-table-declaration-foreign-onupdate': - $this->constraint['onupdate'] .= $data; - break; - case 'database-table-declaration-foreign-deferrable': - $this->constraint['deferrable'] .= $data; - break; - case 'database-table-declaration-foreign-initiallydeferred': - $this->constraint['initiallydeferred'] .= $data; - break; - case 'database-table-declaration-foreign-field': - $this->field_name .= $data; - break; - case 'database-table-declaration-foreign-references-table': - $this->constraint['references']['table'] .= $data; - break; - case 'database-table-declaration-foreign-references-field': - $this->field_name .= $data; - break; - - /* Sequence declaration */ - case 'database-sequence-name': - $this->sequence_name .= $data; - break; - case 'database-sequence-was': - $this->sequence['was'] .= $data; - break; - case 'database-sequence-start': - $this->sequence['start'] .= $data; - break; - case 'database-sequence-description': - $this->sequence['description'] .= $data; - break; - case 'database-sequence-comments': - $this->sequence['comments'] .= $data; - break; - case 'database-sequence-on': - $this->sequence['on'] = array('table' => '', 'field' => ''); - break; - case 'database-sequence-on-table': - $this->sequence['on']['table'] .= $data; - break; - case 'database-sequence-on-field': - $this->sequence['on']['field'] .= $data; - break; - } - } -} diff --git a/3rdparty/MDB2/Schema/Parser2.php b/3rdparty/MDB2/Schema/Parser2.php deleted file mode 100644 index f27dffbabf95f8019ca85a0617b240701ca9bf4e..0000000000000000000000000000000000000000 --- a/3rdparty/MDB2/Schema/Parser2.php +++ /dev/null @@ -1,802 +0,0 @@ - - * @license BSD http://www.opensource.org/licenses/bsd-license.php - * @version SVN: $Id$ - * @link http://pear.php.net/packages/MDB2_Schema - */ - -require_once 'XML/Unserializer.php'; -require_once 'MDB2/Schema/Validate.php'; - -/** - * Parses an XML schema file - * - * @category Database - * @package MDB2_Schema - * @author Lukas Smith - * @author Igor Feghali - * @license BSD http://www.opensource.org/licenses/bsd-license.php - * @link http://pear.php.net/packages/MDB2_Schema - */ -class MDB2_Schema_Parser2 extends XML_Unserializer -{ - var $database_definition = array(); - - var $database_loaded = array(); - - var $variables = array(); - - var $error; - - var $structure = false; - - var $val; - - var $options = array(); - - var $table = array(); - - var $table_name = ''; - - var $field = array(); - - var $field_name = ''; - - var $index = array(); - - var $index_name = ''; - - var $constraint = array(); - - var $constraint_name = ''; - - var $sequence = array(); - - var $sequence_name = ''; - - var $init = array(); - - /** - * PHP 5 constructor - * - * @param array $variables mixed array with user defined schema - * variables - * @param bool $fail_on_invalid_names array with reserved words per RDBMS - * @param array $structure multi dimensional array with - * database schema and data - * @param array $valid_types information of all valid fields - * types - * @param bool $force_defaults if true sets a default value to - * field when not explicit - * @param int $max_identifiers_length maximum allowed size for entities - * name - * - * @return void - * - * @access public - * @static - */ - function __construct($variables, $fail_on_invalid_names = true, - $structure = false, $valid_types = array(), $force_defaults = true, - $max_identifiers_length = null - ) { - // force ISO-8859-1 due to different defaults for PHP4 and PHP5 - // todo: this probably needs to be investigated some more and cleaned up - $this->options['encoding'] = 'ISO-8859-1'; - - $this->options['XML_UNSERIALIZER_OPTION_ATTRIBUTES_PARSE'] = true; - $this->options['XML_UNSERIALIZER_OPTION_ATTRIBUTES_ARRAYKEY'] = false; - - $this->options['forceEnum'] = array('table', 'field', 'index', 'foreign', 'insert', 'update', 'delete', 'sequence'); - - /* - * todo: find a way to force the following items not to be parsed as arrays - * as it cause problems in functions with multiple arguments - */ - //$this->options['forceNEnum'] = array('value', 'column'); - $this->variables = $variables; - $this->structure = $structure; - - $this->val = new MDB2_Schema_Validate($fail_on_invalid_names, $valid_types, $force_defaults); - parent::XML_Unserializer($this->options); - } - - /** - * Main method. Parses XML Schema File. - * - * @return bool|error object - * - * @access public - */ - function parse() - { - $result = $this->unserialize($this->filename, true); - - if (PEAR::isError($result)) { - return $result; - } else { - $this->database_loaded = $this->getUnserializedData(); - return $this->fixDatabaseKeys($this->database_loaded); - } - } - - /** - * Do the necessary stuff to set the input XML schema file - * - * @param string $filename full path to schema file - * - * @return boolean MDB2_OK on success - * - * @access public - */ - function setInputFile($filename) - { - $this->filename = $filename; - return MDB2_OK; - } - - /** - * Enforce the default values for mandatory keys and ensure everything goes - * always in the same order (simulates the behaviour of the original - * parser). Works at database level. - * - * @param array $database multi dimensional array with database definition - * and data. - * - * @return bool|error MDB2_OK on success or error object - * - * @access private - */ - function fixDatabaseKeys($database) - { - $this->database_definition = array( - 'name' => '', - 'create' => '', - 'overwrite' => '', - 'charset' => '', - 'description' => '', - 'comments' => '', - 'tables' => array(), - 'sequences' => array() - ); - - if (!empty($database['name'])) { - $this->database_definition['name'] = $database['name']; - } - if (!empty($database['create'])) { - $this->database_definition['create'] = $database['create']; - } - if (!empty($database['overwrite'])) { - $this->database_definition['overwrite'] = $database['overwrite']; - } - if (!empty($database['charset'])) { - $this->database_definition['charset'] = $database['charset']; - } - if (!empty($database['description'])) { - $this->database_definition['description'] = $database['description']; - } - if (!empty($database['comments'])) { - $this->database_definition['comments'] = $database['comments']; - } - - if (!empty($database['table']) && is_array($database['table'])) { - foreach ($database['table'] as $table) { - $this->fixTableKeys($table); - } - } - - if (!empty($database['sequence']) && is_array($database['sequence'])) { - foreach ($database['sequence'] as $sequence) { - $this->fixSequenceKeys($sequence); - } - } - - $result = $this->val->validateDatabase($this->database_definition); - if (PEAR::isError($result)) { - return $this->raiseError($result->getUserinfo()); - } - - return MDB2_OK; - } - - /** - * Enforce the default values for mandatory keys and ensure everything goes - * always in the same order (simulates the behaviour of the original - * parser). Works at table level. - * - * @param array $table multi dimensional array with table definition - * and data. - * - * @return bool|error MDB2_OK on success or error object - * - * @access private - */ - function fixTableKeys($table) - { - $this->table = array( - 'was' => '', - 'description' => '', - 'comments' => '', - 'fields' => array(), - 'indexes' => array(), - 'constraints' => array(), - 'initialization' => array() - ); - - if (!empty($table['name'])) { - $this->table_name = $table['name']; - } else { - $this->table_name = ''; - } - if (!empty($table['was'])) { - $this->table['was'] = $table['was']; - } - if (!empty($table['description'])) { - $this->table['description'] = $table['description']; - } - if (!empty($table['comments'])) { - $this->table['comments'] = $table['comments']; - } - - if (!empty($table['declaration']) && is_array($table['declaration'])) { - if (!empty($table['declaration']['field']) && is_array($table['declaration']['field'])) { - foreach ($table['declaration']['field'] as $field) { - $this->fixTableFieldKeys($field); - } - } - - if (!empty($table['declaration']['index']) && is_array($table['declaration']['index'])) { - foreach ($table['declaration']['index'] as $index) { - $this->fixTableIndexKeys($index); - } - } - - if (!empty($table['declaration']['foreign']) && is_array($table['declaration']['foreign'])) { - foreach ($table['declaration']['foreign'] as $constraint) { - $this->fixTableConstraintKeys($constraint); - } - } - } - - if (!empty($table['initialization']) && is_array($table['initialization'])) { - if (!empty($table['initialization']['insert']) && is_array($table['initialization']['insert'])) { - foreach ($table['initialization']['insert'] as $init) { - $this->fixTableInitializationKeys($init, 'insert'); - } - } - if (!empty($table['initialization']['update']) && is_array($table['initialization']['update'])) { - foreach ($table['initialization']['update'] as $init) { - $this->fixTableInitializationKeys($init, 'update'); - } - } - if (!empty($table['initialization']['delete']) && is_array($table['initialization']['delete'])) { - foreach ($table['initialization']['delete'] as $init) { - $this->fixTableInitializationKeys($init, 'delete'); - } - } - } - - $result = $this->val->validateTable($this->database_definition['tables'], $this->table, $this->table_name); - if (PEAR::isError($result)) { - return $this->raiseError($result->getUserinfo()); - } else { - $this->database_definition['tables'][$this->table_name] = $this->table; - } - - return MDB2_OK; - } - - /** - * Enforce the default values for mandatory keys and ensure everything goes - * always in the same order (simulates the behaviour of the original - * parser). Works at table field level. - * - * @param array $field array with table field definition - * - * @return bool|error MDB2_OK on success or error object - * - * @access private - */ - function fixTableFieldKeys($field) - { - $this->field = array(); - if (!empty($field['name'])) { - $this->field_name = $field['name']; - } else { - $this->field_name = ''; - } - if (!empty($field['was'])) { - $this->field['was'] = $field['was']; - } - if (!empty($field['type'])) { - $this->field['type'] = $field['type']; - } - if (!empty($field['fixed'])) { - $this->field['fixed'] = $field['fixed']; - } - if (isset($field['default'])) { - $this->field['default'] = $field['default']; - } - if (!empty($field['notnull'])) { - $this->field['notnull'] = $field['notnull']; - } - if (!empty($field['autoincrement'])) { - $this->field['autoincrement'] = $field['autoincrement']; - } - if (!empty($field['unsigned'])) { - $this->field['unsigned'] = $field['unsigned']; - } - if (!empty($field['length'])) { - $this->field['length'] = $field['length']; - } - if (!empty($field['description'])) { - $this->field['description'] = $field['description']; - } - if (!empty($field['comments'])) { - $this->field['comments'] = $field['comments']; - } - - $result = $this->val->validateField($this->table['fields'], $this->field, $this->field_name); - if (PEAR::isError($result)) { - return $this->raiseError($result->getUserinfo()); - } else { - $this->table['fields'][$this->field_name] = $this->field; - } - - return MDB2_OK; - } - - /** - * Enforce the default values for mandatory keys and ensure everything goes - * always in the same order (simulates the behaviour of the original - * parser). Works at table index level. - * - * @param array $index array with table index definition - * - * @return bool|error MDB2_OK on success or error object - * - * @access private - */ - function fixTableIndexKeys($index) - { - $this->index = array( - 'was' => '', - 'unique' =>'', - 'primary' => '', - 'fields' => array() - ); - - if (!empty($index['name'])) { - $this->index_name = $index['name']; - } else { - $this->index_name = ''; - } - if (!empty($index['was'])) { - $this->index['was'] = $index['was']; - } - if (!empty($index['unique'])) { - $this->index['unique'] = $index['unique']; - } - if (!empty($index['primary'])) { - $this->index['primary'] = $index['primary']; - } - if (!empty($index['field'])) { - foreach ($index['field'] as $field) { - if (!empty($field['name'])) { - $this->field_name = $field['name']; - } else { - $this->field_name = ''; - } - $this->field = array( - 'sorting' => '', - 'length' => '' - ); - - if (!empty($field['sorting'])) { - $this->field['sorting'] = $field['sorting']; - } - if (!empty($field['length'])) { - $this->field['length'] = $field['length']; - } - - $result = $this->val->validateIndexField($this->index['fields'], $this->field, $this->field_name); - if (PEAR::isError($result)) { - return $this->raiseError($result->getUserinfo()); - } - - $this->index['fields'][$this->field_name] = $this->field; - } - } - - $result = $this->val->validateIndex($this->table['indexes'], $this->index, $this->index_name); - if (PEAR::isError($result)) { - return $this->raiseError($result->getUserinfo()); - } else { - $this->table['indexes'][$this->index_name] = $this->index; - } - - return MDB2_OK; - } - - /** - * Enforce the default values for mandatory keys and ensure everything goes - * always in the same order (simulates the behaviour of the original - * parser). Works at table constraint level. - * - * @param array $constraint array with table index definition - * - * @return bool|error MDB2_OK on success or error object - * - * @access private - */ - function fixTableConstraintKeys($constraint) - { - $this->constraint = array( - 'was' => '', - 'match' => '', - 'ondelete' => '', - 'onupdate' => '', - 'deferrable' => '', - 'initiallydeferred' => '', - 'foreign' => true, - 'fields' => array(), - 'references' => array('table' => '', 'fields' => array()) - ); - - if (!empty($constraint['name'])) { - $this->constraint_name = $constraint['name']; - } else { - $this->constraint_name = ''; - } - if (!empty($constraint['was'])) { - $this->constraint['was'] = $constraint['was']; - } - if (!empty($constraint['match'])) { - $this->constraint['match'] = $constraint['match']; - } - if (!empty($constraint['ondelete'])) { - $this->constraint['ondelete'] = $constraint['ondelete']; - } - if (!empty($constraint['onupdate'])) { - $this->constraint['onupdate'] = $constraint['onupdate']; - } - if (!empty($constraint['deferrable'])) { - $this->constraint['deferrable'] = $constraint['deferrable']; - } - if (!empty($constraint['initiallydeferred'])) { - $this->constraint['initiallydeferred'] = $constraint['initiallydeferred']; - } - if (!empty($constraint['field']) && is_array($constraint['field'])) { - foreach ($constraint['field'] as $field) { - $result = $this->val->validateConstraintField($this->constraint['fields'], $field); - if (PEAR::isError($result)) { - return $this->raiseError($result->getUserinfo()); - } - - $this->constraint['fields'][$field] = ''; - } - } - - if (!empty($constraint['references']) && is_array($constraint['references'])) { - /** - * As we forced 'table' to be enumerated - * we have to fix it on the foreign-references-table context - */ - if (!empty($constraint['references']['table']) && is_array($constraint['references']['table'])) { - $this->constraint['references']['table'] = $constraint['references']['table'][0]; - } - - if (!empty($constraint['references']['field']) && is_array($constraint['references']['field'])) { - foreach ($constraint['references']['field'] as $field) { - $result = $this->val->validateConstraintReferencedField($this->constraint['references']['fields'], $field); - if (PEAR::isError($result)) { - return $this->raiseError($result->getUserinfo()); - } - - $this->constraint['references']['fields'][$field] = ''; - } - } - } - - $result = $this->val->validateConstraint($this->table['constraints'], $this->constraint, $this->constraint_name); - if (PEAR::isError($result)) { - return $this->raiseError($result->getUserinfo()); - } else { - $this->table['constraints'][$this->constraint_name] = $this->constraint; - } - - return MDB2_OK; - } - - /** - * Enforce the default values for mandatory keys and ensure everything goes - * always in the same order (simulates the behaviour of the original - * parser). Works at table data level. - * - * @param array $element multi dimensional array with query definition - * @param string $type whether its a insert|update|delete query - * - * @return bool|error MDB2_OK on success or error object - * - * @access private - */ - function fixTableInitializationKeys($element, $type = '') - { - if (!empty($element['select']) && is_array($element['select'])) { - $this->fixTableInitializationDataKeys($element['select']); - $this->init = array( 'select' => $this->init ); - } else { - $this->fixTableInitializationDataKeys($element); - } - - $this->table['initialization'][] = array( 'type' => $type, 'data' => $this->init ); - } - - /** - * Enforce the default values for mandatory keys and ensure everything goes - * always in the same order (simulates the behaviour of the original - * parser). Works deeper at the table initialization level (data). At this - * point we are look at one of the below: - * - * - * {field}+ - * - * - * - * - * - * {field}+ - * - * {expression} - * ? - * - * - * - * - * {expression} - * - * - * - * @param array $element multi dimensional array with query definition - * - * @return bool|error MDB2_OK on success or error object - * - * @access private - */ - function fixTableInitializationDataKeys($element) - { - $this->init = array(); - if (!empty($element['field']) && is_array($element['field'])) { - foreach ($element['field'] as $field) { - $name = $field['name']; - unset($field['name']); - - $this->setExpression($field); - $this->init['field'][] = array( 'name' => $name, 'group' => $field ); - } - } - /** - * As we forced 'table' to be enumerated - * we have to fix it on the insert-select context - */ - if (!empty($element['table']) && is_array($element['table'])) { - $this->init['table'] = $element['table'][0]; - } - if (!empty($element['where']) && is_array($element['where'])) { - $this->init['where'] = $element['where']; - $this->setExpression($this->init['where']); - } - } - - /** - * Recursively diggs into an "expression" element. According to our - * documentation an "expression" element is of the kind: - * - * - * or or or {function} or {expression} - * - * or or or {function} or {expression} - * - * - * @param array &$arr reference to current element definition - * - * @return void - * - * @access private - */ - function setExpression(&$arr) - { - $element = each($arr); - - $arr = array( 'type' => $element['key'] ); - - $element = $element['value']; - - switch ($arr['type']) { - case 'null': - break; - case 'value': - case 'column': - $arr['data'] = $element; - break; - case 'function': - if (!empty($element) - && is_array($element) - ) { - $arr['data'] = array( 'name' => $element['name'] ); - unset($element['name']); - - foreach ($element as $type => $value) { - if (!empty($value)) { - if (is_array($value)) { - foreach ($value as $argument) { - $argument = array( $type => $argument ); - $this->setExpression($argument); - $arr['data']['arguments'][] = $argument; - } - } else { - $arr['data']['arguments'][] = array( 'type' => $type, 'data' => $value ); - } - } - } - } - break; - case 'expression': - $arr['data'] = array( 'operants' => array(), 'operator' => $element['operator'] ); - unset($element['operator']); - - foreach ($element as $k => $v) { - $argument = array( $k => $v ); - $this->setExpression($argument); - $arr['data']['operants'][] = $argument; - } - break; - } - } - - /** - * Enforce the default values for mandatory keys and ensure everything goes - * always in the same order (simulates the behaviour of the original - * parser). Works at database sequences level. A "sequence" element looks - * like: - * - * - * - * ? - * ? - * ? - * ? - * - * - * - * ? - * - * - * @param array $sequence multi dimensional array with sequence definition - * - * @return bool|error MDB2_OK on success or error object - * - * @access private - */ - function fixSequenceKeys($sequence) - { - $this->sequence = array( - 'was' => '', - 'start' => '', - 'description' => '', - 'comments' => '', - ); - - if (!empty($sequence['name'])) { - $this->sequence_name = $sequence['name']; - } else { - $this->sequence_name = ''; - } - if (!empty($sequence['was'])) { - $this->sequence['was'] = $sequence['was']; - } - if (!empty($sequence['start'])) { - $this->sequence['start'] = $sequence['start']; - } - if (!empty($sequence['description'])) { - $this->sequence['description'] = $sequence['description']; - } - if (!empty($sequence['comments'])) { - $this->sequence['comments'] = $sequence['comments']; - } - if (!empty($sequence['on']) && is_array($sequence['on'])) { - /** - * As we forced 'table' to be enumerated - * we have to fix it on the sequence-on-table context - */ - if (!empty($sequence['on']['table']) && is_array($sequence['on']['table'])) { - $this->sequence['on']['table'] = $sequence['on']['table'][0]; - } - - /** - * As we forced 'field' to be enumerated - * we have to fix it on the sequence-on-field context - */ - if (!empty($sequence['on']['field']) && is_array($sequence['on']['field'])) { - $this->sequence['on']['field'] = $sequence['on']['field'][0]; - } - } - - $result = $this->val->validateSequence($this->database_definition['sequences'], $this->sequence, $this->sequence_name); - if (PEAR::isError($result)) { - return $this->raiseError($result->getUserinfo()); - } else { - $this->database_definition['sequences'][$this->sequence_name] = $this->sequence; - } - - return MDB2_OK; - } - - /** - * Pushes a MDB2_Schema_Error into stack and returns it - * - * @param string $msg textual message - * @param int $ecode MDB2_Schema's error code - * - * @return object - * @access private - * @static - */ - function &raiseError($msg = null, $ecode = MDB2_SCHEMA_ERROR_PARSE) - { - if (is_null($this->error)) { - $error = 'Parser error: '.$msg."\n"; - - $this->error = MDB2_Schema::raiseError($ecode, null, null, $error); - } - return $this->error; - } -} diff --git a/3rdparty/MDB2/Schema/Reserved/ibase.php b/3rdparty/MDB2/Schema/Reserved/ibase.php deleted file mode 100644 index d797822a4b96b3ea350701924e4539c7d4b67ce7..0000000000000000000000000000000000000000 --- a/3rdparty/MDB2/Schema/Reserved/ibase.php +++ /dev/null @@ -1,437 +0,0 @@ - - * @license BSD http://www.opensource.org/licenses/bsd-license.php - * @version SVN: $Id$ - * @link http://pear.php.net/packages/MDB2_Schema - */ -// {{{ $GLOBALS['_MDB2_Schema_Reserved']['ibase'] -/** - * Has a list of reserved words of Interbase/Firebird - * - * @package MDB2_Schema - * @category Database - * @access protected - * @author Lorenzo Alberton - */ -$GLOBALS['_MDB2_Schema_Reserved']['ibase'] = array( - 'ABS', - 'ABSOLUTE', - 'ACTION', - 'ACTIVE', - 'ADD', - 'ADMIN', - 'AFTER', - 'ALL', - 'ALLOCATE', - 'ALTER', - 'AND', - 'ANY', - 'ARE', - 'AS', - 'ASC', - 'ASCENDING', - 'ASSERTION', - 'AT', - 'AUTHORIZATION', - 'AUTO', - 'AUTODDL', - 'AVG', - 'BACKUP', - 'BASE_NAME', - 'BASED', - 'BASENAME', - 'BEFORE', - 'BEGIN', - 'BETWEEN', - 'BIGINT', - 'BIT', - 'BIT_LENGTH', - 'BLOB', - 'BLOCK', - 'BLOBEDIT', - 'BOOLEAN', - 'BOTH', - 'BOTH', - 'BREAK', - 'BUFFER', - 'BY', - 'CACHE', - 'CASCADE', - 'CASCADED', - 'CASE', - 'CASE', - 'CAST', - 'CATALOG', - 'CHAR', - 'CHAR_LENGTH', - 'CHARACTER', - 'CHARACTER_LENGTH', - 'CHECK', - 'CHECK_POINT_LEN', - 'CHECK_POINT_LENGTH', - 'CLOSE', - 'COALESCE', - 'COLLATE', - 'COLLATION', - 'COLUMN', - 'COMMENT', - 'COMMIT', - 'COMMITTED', - 'COMPILETIME', - 'COMPUTED', - 'CONDITIONAL', - 'CONNECT', - 'CONNECTION', - 'CONSTRAINT', - 'CONSTRAINTS', - 'CONTAINING', - 'CONTINUE', - 'CONVERT', - 'CORRESPONDING', - 'COUNT', - 'CREATE', - 'CROSS', - 'CSTRING', - 'CURRENT', - 'CURRENT_CONNECTION', - 'CURRENT_DATE', - 'CURRENT_ROLE', - 'CURRENT_TIME', - 'CURRENT_TIMESTAMP', - 'CURRENT_TRANSACTION', - 'CURRENT_USER', - 'DATABASE', - 'DATE', - 'DAY', - 'DB_KEY', - 'DEALLOCATE', - 'DEBUG', - 'DEC', - 'DECIMAL', - 'DECLARE', - 'DEFAULT', - 'DEFERRABLE', - 'DEFERRED', - 'DELETE', - 'DELETING', - 'DESC', - 'DESCENDING', - 'DESCRIBE', - 'DESCRIPTOR', - 'DIAGNOSTICS', - 'DIFFERENCE', - 'DISCONNECT', - 'DISPLAY', - 'DISTINCT', - 'DO', - 'DOMAIN', - 'DOUBLE', - 'DROP', - 'ECHO', - 'EDIT', - 'ELSE', - 'END', - 'END-EXEC', - 'ENTRY_POINT', - 'ESCAPE', - 'EVENT', - 'EXCEPT', - 'EXCEPTION', - 'EXEC', - 'EXECUTE', - 'EXISTS', - 'EXIT', - 'EXTERN', - 'EXTERNAL', - 'EXTRACT', - 'FALSE', - 'FETCH', - 'FILE', - 'FILTER', - 'FIRST', - 'FLOAT', - 'FOR', - 'FOREIGN', - 'FOUND', - 'FREE_IT', - 'FROM', - 'FULL', - 'FUNCTION', - 'GDSCODE', - 'GEN_ID', - 'GENERATOR', - 'GET', - 'GLOBAL', - 'GO', - 'GOTO', - 'GRANT', - 'GROUP', - 'GROUP_COMMIT_WAIT', - 'GROUP_COMMIT_WAIT_TIME', - 'HAVING', - 'HELP', - 'HOUR', - 'IDENTITY', - 'IF', - 'IIF', - 'IMMEDIATE', - 'IN', - 'INACTIVE', - 'INDEX', - 'INDICATOR', - 'INIT', - 'INITIALLY', - 'INNER', - 'INPUT', - 'INPUT_TYPE', - 'INSENSITIVE', - 'INSERT', - 'INSERTING', - 'INT', - 'INTEGER', - 'INTERSECT', - 'INTERVAL', - 'INTO', - 'IS', - 'ISOLATION', - 'ISQL', - 'JOIN', - 'KEY', - 'LANGUAGE', - 'LAST', - 'LC_MESSAGES', - 'LC_TYPE', - 'LEADING', - 'LEADING', - 'LEADING', - 'LEAVE', - 'LEFT', - 'LENGTH', - 'LEV', - 'LEVEL', - 'LIKE', - 'LOCAL', - 'LOCK', - 'LOG_BUF_SIZE', - 'LOG_BUFFER_SIZE', - 'LOGFILE', - 'LONG', - 'LOWER', - 'MANUAL', - 'MATCH', - 'MAX', - 'MAX_SEGMENT', - 'MAXIMUM', - 'MAXIMUM_SEGMENT', - 'MERGE', - 'MESSAGE', - 'MIN', - 'MINIMUM', - 'MINUTE', - 'MODULE', - 'MODULE_NAME', - 'MONTH', - 'NAMES', - 'NATIONAL', - 'NATURAL', - 'NCHAR', - 'NEXT', - 'NO', - 'NOAUTO', - 'NOT', - 'NULL', - 'NULLIF', - 'NULLS', - 'NUM_LOG_BUFFERS', - 'NUM_LOG_BUFS', - 'NUMERIC', - 'OCTET_LENGTH', - 'OF', - 'ON', - 'ONLY', - 'OPEN', - 'OPTION', - 'OR', - 'ORDER', - 'OUTER', - 'OUTPUT', - 'OUTPUT_TYPE', - 'OVERFLOW', - 'OVERLAPS', - 'PAD', - 'PAGE', - 'PAGE_SIZE', - 'PAGELENGTH', - 'PAGES', - 'PARAMETER', - 'PARTIAL', - 'PASSWORD', - 'PERCENT', - 'PLAN', - 'POSITION', - 'POST_EVENT', - 'PRECISION', - 'PREPARE', - 'PRESERVE', - 'PRIMARY', - 'PRIOR', - 'PRIVILEGES', - 'PROCEDURE', - 'PUBLIC', - 'QUIT', - 'RAW_PARTITIONS', - 'RDB$DB_KEY', - 'READ', - 'REAL', - 'RECORD_VERSION', - 'RECREATE', - 'RECREATE ROW_COUNT', - 'REFERENCES', - 'RELATIVE', - 'RELEASE', - 'RESERV', - 'RESERVING', - 'RESTART', - 'RESTRICT', - 'RETAIN', - 'RETURN', - 'RETURNING', - 'RETURNING_VALUES', - 'RETURNS', - 'REVOKE', - 'RIGHT', - 'ROLE', - 'ROLLBACK', - 'ROW_COUNT', - 'ROWS', - 'RUNTIME', - 'SAVEPOINT', - 'SCALAR_ARRAY', - 'SCHEMA', - 'SCROLL', - 'SECOND', - 'SECTION', - 'SELECT', - 'SEQUENCE', - 'SESSION', - 'SESSION_USER', - 'SET', - 'SHADOW', - 'SHARED', - 'SHELL', - 'SHOW', - 'SINGULAR', - 'SIZE', - 'SKIP', - 'SMALLINT', - 'SNAPSHOT', - 'SOME', - 'SORT', - 'SPACE', - 'SQL', - 'SQLCODE', - 'SQLERROR', - 'SQLSTATE', - 'SQLWARNING', - 'STABILITY', - 'STARTING', - 'STARTS', - 'STATEMENT', - 'STATIC', - 'STATISTICS', - 'SUB_TYPE', - 'SUBSTRING', - 'SUM', - 'SUSPEND', - 'SYSTEM_USER', - 'TABLE', - 'TEMPORARY', - 'TERMINATOR', - 'THEN', - 'TIES', - 'TIME', - 'TIMESTAMP', - 'TIMEZONE_HOUR', - 'TIMEZONE_MINUTE', - 'TO', - 'TRAILING', - 'TRANSACTION', - 'TRANSLATE', - 'TRANSLATION', - 'TRIGGER', - 'TRIM', - 'TRUE', - 'TYPE', - 'UNCOMMITTED', - 'UNION', - 'UNIQUE', - 'UNKNOWN', - 'UPDATE', - 'UPDATING', - 'UPPER', - 'USAGE', - 'USER', - 'USING', - 'VALUE', - 'VALUES', - 'VARCHAR', - 'VARIABLE', - 'VARYING', - 'VERSION', - 'VIEW', - 'WAIT', - 'WEEKDAY', - 'WHEN', - 'WHENEVER', - 'WHERE', - 'WHILE', - 'WITH', - 'WORK', - 'WRITE', - 'YEAR', - 'YEARDAY', - 'ZONE', -); -// }}} diff --git a/3rdparty/MDB2/Schema/Reserved/mssql.php b/3rdparty/MDB2/Schema/Reserved/mssql.php deleted file mode 100644 index 7aa65f426f9a2f78526e07b7548d154ca2ceac2d..0000000000000000000000000000000000000000 --- a/3rdparty/MDB2/Schema/Reserved/mssql.php +++ /dev/null @@ -1,260 +0,0 @@ - - * @license BSD http://www.opensource.org/licenses/bsd-license.php - * @version SVN: $Id$ - * @link http://pear.php.net/packages/MDB2_Schema - */ - -// {{{ $GLOBALS['_MDB2_Schema_Reserved']['mssql'] -/** - * Has a list of all the reserved words for mssql. - * - * @package MDB2_Schema - * @category Database - * @access protected - * @author David Coallier - */ -$GLOBALS['_MDB2_Schema_Reserved']['mssql'] = array( - 'ADD', - 'CURRENT_TIMESTAMP', - 'GROUP', - 'OPENQUERY', - 'SERIALIZABLE', - 'ALL', - 'CURRENT_USER', - 'HAVING', - 'OPENROWSET', - 'SESSION_USER', - 'ALTER', - 'CURSOR', - 'HOLDLOCK', - 'OPTION', - 'SET', - 'AND', - 'DATABASE', - 'IDENTITY', - 'OR', - 'SETUSER', - 'ANY', - 'DBCC', - 'IDENTITYCOL', - 'ORDER', - 'SHUTDOWN', - 'AS', - 'DEALLOCATE', - 'IDENTITY_INSERT', - 'OUTER', - 'SOME', - 'ASC', - 'DECLARE', - 'IF', - 'OVER', - 'STATISTICS', - 'AUTHORIZATION', - 'DEFAULT', - 'IN', - 'PERCENT', - 'SUM', - 'AVG', - 'DELETE', - 'INDEX', - 'PERM', - 'SYSTEM_USER', - 'BACKUP', - 'DENY', - 'INNER', - 'PERMANENT', - 'TABLE', - 'BEGIN', - 'DESC', - 'INSERT', - 'PIPE', - 'TAPE', - 'BETWEEN', - 'DISK', - 'INTERSECT', - 'PLAN', - 'TEMP', - 'BREAK', - 'DISTINCT', - 'INTO', - 'PRECISION', - 'TEMPORARY', - 'BROWSE', - 'DISTRIBUTED', - 'IS', - 'PREPARE', - 'TEXTSIZE', - 'BULK', - 'DOUBLE', - 'ISOLATION', - 'PRIMARY', - 'THEN', - 'BY', - 'DROP', - 'JOIN', - 'PRINT', - 'TO', - 'CASCADE', - 'DUMMY', - 'KEY', - 'PRIVILEGES', - 'TOP', - 'CASE', - 'DUMP', - 'KILL', - 'PROC', - 'TRAN', - 'CHECK', - 'ELSE', - 'LEFT', - 'PROCEDURE', - 'TRANSACTION', - 'CHECKPOINT', - 'END', - 'LEVEL', - 'PROCESSEXIT', - 'TRIGGER', - 'CLOSE', - 'ERRLVL', - 'LIKE', - 'PUBLIC', - 'TRUNCATE', - 'CLUSTERED', - 'ERROREXIT', - 'LINENO', - 'RAISERROR', - 'TSEQUAL', - 'COALESCE', - 'ESCAPE', - 'LOAD', - 'READ', - 'UNCOMMITTED', - 'COLUMN', - 'EXCEPT', - 'MAX', - 'READTEXT', - 'UNION', - 'COMMIT', - 'EXEC', - 'MIN', - 'RECONFIGURE', - 'UNIQUE', - 'COMMITTED', - 'EXECUTE', - 'MIRROREXIT', - 'REFERENCES', - 'UPDATE', - 'COMPUTE', - 'EXISTS', - 'NATIONAL', - 'REPEATABLE', - 'UPDATETEXT', - 'CONFIRM', - 'EXIT', - 'NOCHECK', - 'REPLICATION', - 'USE', - 'CONSTRAINT', - 'FETCH', - 'NONCLUSTERED', - 'RESTORE', - 'USER', - 'CONTAINS', - 'FILE', - 'NOT', - 'RESTRICT', - 'VALUES', - 'CONTAINSTABLE', - 'FILLFACTOR', - 'NULL', - 'RETURN', - 'VARYING', - 'CONTINUE', - 'FLOPPY', - 'NULLIF', - 'REVOKE', - 'VIEW', - 'CONTROLROW', - 'FOR', - 'OF', - 'RIGHT', - 'WAITFOR', - 'CONVERT', - 'FOREIGN', - 'OFF', - 'ROLLBACK', - 'WHEN', - 'COUNT', - 'FREETEXT', - 'OFFSETS', - 'ROWCOUNT', - 'WHERE', - 'CREATE', - 'FREETEXTTABLE', - 'ON', - 'ROWGUIDCOL', - 'WHILE', - 'CROSS', - 'FROM', - 'ONCE', - 'RULE', - 'WITH', - 'CURRENT', - 'FULL', - 'ONLY', - 'SAVE', - 'WORK', - 'CURRENT_DATE', - 'GOTO', - 'OPEN', - 'SCHEMA', - 'WRITETEXT', - 'CURRENT_TIME', - 'GRANT', - 'OPENDATASOURCE', - 'SELECT', -); -//}}} diff --git a/3rdparty/MDB2/Schema/Reserved/mysql.php b/3rdparty/MDB2/Schema/Reserved/mysql.php deleted file mode 100644 index 6a4338b261d58e6a5f6337c6f070ed32a0167cfe..0000000000000000000000000000000000000000 --- a/3rdparty/MDB2/Schema/Reserved/mysql.php +++ /dev/null @@ -1,285 +0,0 @@ - - * @license BSD http://www.opensource.org/licenses/bsd-license.php - * @version SVN: $Id$ - * @link http://pear.php.net/packages/MDB2_Schema - */ - -// {{{ $GLOBALS['_MDB2_Schema_Reserved']['mysql'] -/** - * Has a list of reserved words of mysql - * - * @package MDB2_Schema - * @category Database - * @access protected - * @author David Coalier - */ -$GLOBALS['_MDB2_Schema_Reserved']['mysql'] = array( - 'ADD', - 'ALL', - 'ALTER', - 'ANALYZE', - 'AND', - 'AS', - 'ASC', - 'ASENSITIVE', - 'BEFORE', - 'BETWEEN', - 'BIGINT', - 'BINARY', - 'BLOB', - 'BOTH', - 'BY', - 'CALL', - 'CASCADE', - 'CASE', - 'CHANGE', - 'CHAR', - 'CHARACTER', - 'CHECK', - 'COLLATE', - 'COLUMN', - 'CONDITION', - 'CONNECTION', - 'CONSTRAINT', - 'CONTINUE', - 'CONVERT', - 'CREATE', - 'CROSS', - 'CURRENT_DATE', - 'CURRENT_TIME', - 'CURRENT_TIMESTAMP', - 'CURRENT_USER', - 'CURSOR', - 'DATABASE', - 'DATABASES', - 'DAY_HOUR', - 'DAY_MICROSECOND', - 'DAY_MINUTE', - 'DAY_SECOND', - 'DEC', - 'DECIMAL', - 'DECLARE', - 'DEFAULT', - 'DELAYED', - 'DELETE', - 'DESC', - 'DESCRIBE', - 'DETERMINISTIC', - 'DISTINCT', - 'DISTINCTROW', - 'DIV', - 'DOUBLE', - 'DROP', - 'DUAL', - 'EACH', - 'ELSE', - 'ELSEIF', - 'ENCLOSED', - 'ESCAPED', - 'EXISTS', - 'EXIT', - 'EXPLAIN', - 'FALSE', - 'FETCH', - 'FLOAT', - 'FLOAT4', - 'FLOAT8', - 'FOR', - 'FORCE', - 'FOREIGN', - 'FROM', - 'FULLTEXT', - 'GOTO', - 'GRANT', - 'GROUP', - 'HAVING', - 'HIGH_PRIORITY', - 'HOUR_MICROSECOND', - 'HOUR_MINUTE', - 'HOUR_SECOND', - 'IF', - 'IGNORE', - 'IN', - 'INDEX', - 'INFILE', - 'INNER', - 'INOUT', - 'INSENSITIVE', - 'INSERT', - 'INT', - 'INT1', - 'INT2', - 'INT3', - 'INT4', - 'INT8', - 'INTEGER', - 'INTERVAL', - 'INTO', - 'IS', - 'ITERATE', - 'JOIN', - 'KEY', - 'KEYS', - 'KILL', - 'LABEL', - 'LEADING', - 'LEAVE', - 'LEFT', - 'LIKE', - 'LIMIT', - 'LINES', - 'LOAD', - 'LOCALTIME', - 'LOCALTIMESTAMP', - 'LOCK', - 'LONG', - 'LONGBLOB', - 'LONGTEXT', - 'LOOP', - 'LOW_PRIORITY', - 'MATCH', - 'MEDIUMBLOB', - 'MEDIUMINT', - 'MEDIUMTEXT', - 'MIDDLEINT', - 'MINUTE_MICROSECOND', - 'MINUTE_SECOND', - 'MOD', - 'MODIFIES', - 'NATURAL', - 'NOT', - 'NO_WRITE_TO_BINLOG', - 'NULL', - 'NUMERIC', - 'ON', - 'OPTIMIZE', - 'OPTION', - 'OPTIONALLY', - 'OR', - 'ORDER', - 'OUT', - 'OUTER', - 'OUTFILE', - 'PRECISION', - 'PRIMARY', - 'PROCEDURE', - 'PURGE', - 'RAID0', - 'READ', - 'READS', - 'REAL', - 'REFERENCES', - 'REGEXP', - 'RELEASE', - 'RENAME', - 'REPEAT', - 'REPLACE', - 'REQUIRE', - 'RESTRICT', - 'RETURN', - 'REVOKE', - 'RIGHT', - 'RLIKE', - 'SCHEMA', - 'SCHEMAS', - 'SECOND_MICROSECOND', - 'SELECT', - 'SENSITIVE', - 'SEPARATOR', - 'SET', - 'SHOW', - 'SMALLINT', - 'SONAME', - 'SPATIAL', - 'SPECIFIC', - 'SQL', - 'SQLEXCEPTION', - 'SQLSTATE', - 'SQLWARNING', - 'SQL_BIG_RESULT', - 'SQL_CALC_FOUND_ROWS', - 'SQL_SMALL_RESULT', - 'SSL', - 'STARTING', - 'STRAIGHT_JOIN', - 'TABLE', - 'TERMINATED', - 'THEN', - 'TINYBLOB', - 'TINYINT', - 'TINYTEXT', - 'TO', - 'TRAILING', - 'TRIGGER', - 'TRUE', - 'UNDO', - 'UNION', - 'UNIQUE', - 'UNLOCK', - 'UNSIGNED', - 'UPDATE', - 'USAGE', - 'USE', - 'USING', - 'UTC_DATE', - 'UTC_TIME', - 'UTC_TIMESTAMP', - 'VALUES', - 'VARBINARY', - 'VARCHAR', - 'VARCHARACTER', - 'VARYING', - 'WHEN', - 'WHERE', - 'WHILE', - 'WITH', - 'WRITE', - 'X509', - 'XOR', - 'YEAR_MONTH', - 'ZEROFILL', - ); - // }}} diff --git a/3rdparty/MDB2/Schema/Reserved/oci8.php b/3rdparty/MDB2/Schema/Reserved/oci8.php deleted file mode 100644 index 3cc898e1d68715a049900c50280d9efc39433f0c..0000000000000000000000000000000000000000 --- a/3rdparty/MDB2/Schema/Reserved/oci8.php +++ /dev/null @@ -1,173 +0,0 @@ - - * @license BSD http://www.opensource.org/licenses/bsd-license.php - * @version SVN: $Id$ - * @link http://pear.php.net/packages/MDB2_Schema - */ - -// {{{ $GLOBALS['_MDB2_Schema_Reserved']['oci8'] -/** - * Has a list of all the reserved words for oracle. - * - * @package MDB2_Schema - * @category Database - * @access protected - * @author David Coallier - */ -$GLOBALS['_MDB2_Schema_Reserved']['oci8'] = array( - 'ACCESS', - 'ELSE', - 'MODIFY', - 'START', - 'ADD', - 'EXCLUSIVE', - 'NOAUDIT', - 'SELECT', - 'ALL', - 'EXISTS', - 'NOCOMPRESS', - 'SESSION', - 'ALTER', - 'FILE', - 'NOT', - 'SET', - 'AND', - 'FLOAT', - 'NOTFOUND ', - 'SHARE', - 'ANY', - 'FOR', - 'NOWAIT', - 'SIZE', - 'ARRAYLEN', - 'FROM', - 'NULL', - 'SMALLINT', - 'AS', - 'GRANT', - 'NUMBER', - 'SQLBUF', - 'ASC', - 'GROUP', - 'OF', - 'SUCCESSFUL', - 'AUDIT', - 'HAVING', - 'OFFLINE ', - 'SYNONYM', - 'BETWEEN', - 'IDENTIFIED', - 'ON', - 'SYSDATE', - 'BY', - 'IMMEDIATE', - 'ONLINE', - 'TABLE', - 'CHAR', - 'IN', - 'OPTION', - 'THEN', - 'CHECK', - 'INCREMENT', - 'OR', - 'TO', - 'CLUSTER', - 'INDEX', - 'ORDER', - 'TRIGGER', - 'COLUMN', - 'INITIAL', - 'PCTFREE', - 'UID', - 'COMMENT', - 'INSERT', - 'PRIOR', - 'UNION', - 'COMPRESS', - 'INTEGER', - 'PRIVILEGES', - 'UNIQUE', - 'CONNECT', - 'INTERSECT', - 'PUBLIC', - 'UPDATE', - 'CREATE', - 'INTO', - 'RAW', - 'USER', - 'CURRENT', - 'IS', - 'RENAME', - 'VALIDATE', - 'DATE', - 'LEVEL', - 'RESOURCE', - 'VALUES', - 'DECIMAL', - 'LIKE', - 'REVOKE', - 'VARCHAR', - 'DEFAULT', - 'LOCK', - 'ROW', - 'VARCHAR2', - 'DELETE', - 'LONG', - 'ROWID', - 'VIEW', - 'DESC', - 'MAXEXTENTS', - 'ROWLABEL', - 'WHENEVER', - 'DISTINCT', - 'MINUS', - 'ROWNUM', - 'WHERE', - 'DROP', - 'MODE', - 'ROWS', - 'WITH', -); -// }}} diff --git a/3rdparty/MDB2/Schema/Reserved/pgsql.php b/3rdparty/MDB2/Schema/Reserved/pgsql.php deleted file mode 100644 index 84537685e0fb9113f347822fc433c9bfdad56381..0000000000000000000000000000000000000000 --- a/3rdparty/MDB2/Schema/Reserved/pgsql.php +++ /dev/null @@ -1,148 +0,0 @@ - - * @license BSD http://www.opensource.org/licenses/bsd-license.php - * @version SVN: $Id$ - * @link http://pear.php.net/packages/MDB2_Schema - */ - -// {{{ $GLOBALS['_MDB2_Schema_Reserved']['pgsql'] -/** - * Has a list of reserved words of pgsql - * - * @package MDB2_Schema - * @category Database - * @access protected - * @author Marcelo Santos Araujo - */ -$GLOBALS['_MDB2_Schema_Reserved']['pgsql'] = array( - 'ALL', - 'ANALYSE', - 'ANALYZE', - 'AND', - 'ANY', - 'AS', - 'ASC', - 'AUTHORIZATION', - 'BETWEEN', - 'BINARY', - 'BOTH', - 'CASE', - 'CAST', - 'CHECK', - 'COLLATE', - 'COLUMN', - 'CONSTRAINT', - 'CREATE', - 'CURRENT_DATE', - 'CURRENT_TIME', - 'CURRENT_TIMESTAMP', - 'CURRENT_USER', - 'DEFAULT', - 'DEFERRABLE', - 'DESC', - 'DISTINCT', - 'DO', - 'ELSE', - 'END', - 'EXCEPT', - 'FALSE', - 'FOR', - 'FOREIGN', - 'FREEZE', - 'FROM', - 'FULL', - 'GRANT', - 'GROUP', - 'HAVING', - 'ILIKE', - 'IN', - 'INITIALLY', - 'INNER', - 'INTERSECT', - 'INTO', - 'IS', - 'ISNULL', - 'JOIN', - 'LEADING', - 'LEFT', - 'LIKE', - 'LIMIT', - 'LOCALTIME', - 'LOCALTIMESTAMP', - 'NATURAL', - 'NEW', - 'NOT', - 'NOTNULL', - 'NULL', - 'OFF', - 'OFFSET', - 'OLD', - 'ON', - 'ONLY', - 'OR', - 'ORDER', - 'OUTER', - 'OVERLAPS', - 'PLACING', - 'PRIMARY', - 'REFERENCES', - 'SELECT', - 'SESSION_USER', - 'SIMILAR', - 'SOME', - 'TABLE', - 'THEN', - 'TO', - 'TRAILING', - 'TRUE', - 'UNION', - 'UNIQUE', - 'USER', - 'USING', - 'VERBOSE', - 'WHEN', - 'WHERE' -); -// }}} diff --git a/3rdparty/MDB2/Schema/Tool.php b/3rdparty/MDB2/Schema/Tool.php deleted file mode 100644 index 3210c9173ebd49acccf26597bd9fc8c80886432e..0000000000000000000000000000000000000000 --- a/3rdparty/MDB2/Schema/Tool.php +++ /dev/null @@ -1,583 +0,0 @@ - - * @license BSD http://www.opensource.org/licenses/bsd-license.php - * @version SVN: $Id$ - * @link http://pear.php.net/packages/MDB2_Schema - */ - -require_once 'MDB2/Schema.php'; -require_once 'MDB2/Schema/Tool/ParameterException.php'; - -/** -* Command line tool to work with database schemas -* -* Functionality: -* - dump a database schema to stdout -* - import schema into database -* - create a diff between two schemas -* - apply diff to database -* - * @category Database - * @package MDB2_Schema - * @author Christian Weiske - * @license BSD http://www.opensource.org/licenses/bsd-license.php - * @link http://pear.php.net/packages/MDB2_Schema - */ -class MDB2_Schema_Tool -{ - /** - * Run the schema tool - * - * @param array $args Array of command line arguments - */ - public function __construct($args) - { - $strAction = $this->getAction($args); - try { - $this->{'do' . ucfirst($strAction)}($args); - } catch (MDB2_Schema_Tool_ParameterException $e) { - $this->{'doHelp' . ucfirst($strAction)}($e->getMessage()); - } - }//public function __construct($args) - - - - /** - * Runs the tool with command line arguments - * - * @return void - */ - public static function run() - { - $args = $GLOBALS['argv']; - array_shift($args); - - try { - $tool = new MDB2_Schema_Tool($args); - } catch (Exception $e) { - self::toStdErr($e->getMessage() . "\n"); - } - }//public static function run() - - - - /** - * Reads the first parameter from the argument array and - * returns the action. - * - * @param array &$args Command line parameters - * - * @return string Action to execute - */ - protected function getAction(&$args) - { - if (count($args) == 0) { - return 'help'; - } - $arg = array_shift($args); - switch ($arg) { - case 'h': - case 'help': - case '-h': - case '--help': - return 'help'; - case 'd': - case 'dump': - case '-d': - case '--dump': - return 'dump'; - case 'l': - case 'load': - case '-l': - case '--load': - return 'load'; - case 'i': - case 'diff': - case '-i': - case '--diff': - return 'diff'; - case 'a': - case 'apply': - case '-a': - case '--apply': - return 'apply'; - case 'n': - case 'init': - case '-i': - case '--init': - return 'init'; - default: - throw new MDB2_Schema_Tool_ParameterException( - "Unknown mode \"$arg\"" - ); - } - }//protected function getAction(&$args) - - - - /** - * Writes the message to stderr - * - * @param string $msg Message to print - * - * @return void - */ - protected static function toStdErr($msg) - { - file_put_contents('php://stderr', $msg); - }//protected static function toStdErr($msg) - - - - /** - * Displays generic help to stdout - * - * @return void - */ - protected function doHelp() - { - self::toStdErr( -<< '
', - 'idxname_format' => '%s', - 'debug' => true, - 'quote_identifier' => true, - 'force_defaults' => false, - 'portability' => true, - 'use_transactions' => false, - ); - return $options; - }//protected function getSchemaOptions() - - - - /** - * Checks if the passed parameter is a PEAR_Error object - * and throws an exception in that case. - * - * @param mixed $object Some variable to check - * @param string $location Where the error occured - * - * @return void - */ - protected function throwExceptionOnError($object, $location = '') - { - if (PEAR::isError($object)) { - //FIXME: exception class - //debug_print_backtrace(); - throw new Exception('Error ' . $location - . "\n" . $object->getMessage() - . "\n" . $object->getUserInfo() - ); - } - }//protected function throwExceptionOnError($object, $location = '') - - - - /** - * Loads a file or a dsn from the arguments - * - * @param array &$args Array of arguments to the program - * - * @return array Array of ('file'|'dsn', $value) - */ - protected function getFileOrDsn(&$args) - { - if (count($args) == 0) { - throw new MDB2_Schema_Tool_ParameterException( - 'File or DSN expected' - ); - } - - $arg = array_shift($args); - if ($arg == '-p') { - $bAskPassword = true; - $arg = array_shift($args); - } else { - $bAskPassword = false; - } - - if (strpos($arg, '://') === false) { - if (file_exists($arg)) { - //File - return array('file', $arg); - } else { - throw new Exception('Schema file does not exist'); - } - } - - //read password if necessary - if ($bAskPassword) { - $password = $this->readPasswordFromStdin($arg); - $arg = self::setPasswordIntoDsn($arg, $password); - self::toStdErr($arg); - } - return array('dsn', $arg); - }//protected function getFileOrDsn(&$args) - - - - /** - * Takes a DSN data source name and integrates the given - * password into it. - * - * @param string $dsn Data source name - * @param string $password Password - * - * @return string DSN with password - */ - protected function setPasswordIntoDsn($dsn, $password) - { - //simple try to integrate password - if (strpos($dsn, '@') === false) { - //no @ -> no user and no password - return str_replace('://', '://:' . $password . '@', $dsn); - } else if (preg_match('|://[^:]+@|', $dsn)) { - //user only, no password - return str_replace('@', ':' . $password . '@', $dsn); - } else if (strpos($dsn, ':@') !== false) { - //abstract version - return str_replace(':@', ':' . $password . '@', $dsn); - } - - return $dsn; - }//protected function setPasswordIntoDsn($dsn, $password) - - - - /** - * Reads a password from stdin - * - * @param string $dsn DSN name to put into the message - * - * @return string Password - */ - protected function readPasswordFromStdin($dsn) - { - $stdin = fopen('php://stdin', 'r'); - self::toStdErr('Please insert password for ' . $dsn . "\n"); - $password = ''; - $breakme = false; - while (false !== ($char = fgetc($stdin))) { - if (ord($char) == 10 || $char == "\n" || $char == "\r") { - break; - } - $password .= $char; - } - fclose($stdin); - - return trim($password); - }//protected function readPasswordFromStdin() - - - - /** - * Creates a database schema dump and sends it to stdout - * - * @param array $args Command line arguments - * - * @return void - */ - protected function doDump($args) - { - $dump_what = MDB2_SCHEMA_DUMP_STRUCTURE; - $arg = ''; - if (count($args)) { - $arg = $args[0]; - } - - switch (strtolower($arg)) { - case 'all': - $dump_what = MDB2_SCHEMA_DUMP_ALL; - array_shift($args); - break; - case 'data': - $dump_what = MDB2_SCHEMA_DUMP_CONTENT; - array_shift($args); - break; - case 'schema': - array_shift($args); - } - - list($type, $dsn) = $this->getFileOrDsn($args); - if ($type == 'file') { - throw new MDB2_Schema_Tool_ParameterException( - 'Dumping a schema file as a schema file does not make much ' . - 'sense' - ); - } - - $schema = MDB2_Schema::factory($dsn, $this->getSchemaOptions()); - $this->throwExceptionOnError($schema); - - $definition = $schema->getDefinitionFromDatabase(); - $this->throwExceptionOnError($definition); - - - $dump_options = array( - 'output_mode' => 'file', - 'output' => 'php://stdout', - 'end_of_line' => "\r\n" - ); - $op = $schema->dumpDatabase( - $definition, $dump_options, $dump_what - ); - $this->throwExceptionOnError($op); - - $schema->disconnect(); - }//protected function doDump($args) - - - - /** - * Loads a database schema - * - * @param array $args Command line arguments - * - * @return void - */ - protected function doLoad($args) - { - list($typeSource, $dsnSource) = $this->getFileOrDsn($args); - list($typeDest, $dsnDest) = $this->getFileOrDsn($args); - - if ($typeDest == 'file') { - throw new MDB2_Schema_Tool_ParameterException( - 'A schema can only be loaded into a database, not a file' - ); - } - - - $schemaDest = MDB2_Schema::factory($dsnDest, $this->getSchemaOptions()); - $this->throwExceptionOnError($schemaDest); - - //load definition - if ($typeSource == 'file') { - $definition = $schemaDest->parseDatabaseDefinitionFile($dsnSource); - $where = 'loading schema file'; - } else { - $schemaSource = MDB2_Schema::factory( - $dsnSource, - $this->getSchemaOptions() - ); - $this->throwExceptionOnError( - $schemaSource, - 'connecting to source database' - ); - - $definition = $schemaSource->getDefinitionFromDatabase(); - $where = 'loading definition from database'; - } - $this->throwExceptionOnError($definition, $where); - - - //create destination database from definition - $simulate = false; - $op = $schemaDest->createDatabase( - $definition, - array(), - $simulate - ); - $this->throwExceptionOnError($op, 'creating the database'); - }//protected function doLoad($args) - - - - /** - * Initializes a database with data - * - * @param array $args Command line arguments - * - * @return void - */ - protected function doInit($args) - { - list($typeSource, $dsnSource) = $this->getFileOrDsn($args); - list($typeDest, $dsnDest) = $this->getFileOrDsn($args); - - if ($typeSource != 'file') { - throw new MDB2_Schema_Tool_ParameterException( - 'Data must come from a source file' - ); - } - - if ($typeDest != 'dsn') { - throw new MDB2_Schema_Tool_ParameterException( - 'A schema can only be loaded into a database, not a file' - ); - } - - $schemaDest = MDB2_Schema::factory($dsnDest, $this->getSchemaOptions()); - $this->throwExceptionOnError( - $schemaDest, - 'connecting to destination database' - ); - - $definition = $schemaDest->getDefinitionFromDatabase(); - $this->throwExceptionOnError( - $definition, - 'loading definition from database' - ); - - $op = $schemaDest->writeInitialization($dsnSource, $definition); - $this->throwExceptionOnError($op, 'initializing database'); - }//protected function doInit($args) - - -}//class MDB2_Schema_Tool diff --git a/3rdparty/MDB2/Schema/Tool/ParameterException.php b/3rdparty/MDB2/Schema/Tool/ParameterException.php deleted file mode 100644 index 92bea69391722dda6fa09b1bbac162577b2a4744..0000000000000000000000000000000000000000 --- a/3rdparty/MDB2/Schema/Tool/ParameterException.php +++ /dev/null @@ -1,61 +0,0 @@ - - * @license BSD http://www.opensource.org/licenses/bsd-license.php - * @version SVN: $Id$ - * @link http://pear.php.net/packages/MDB2_Schema - */ - -/** - * To be implemented yet - * - * @category Database - * @package MDB2_Schema - * @author Christian Weiske - * @license BSD http://www.opensource.org/licenses/bsd-license.php - * @link http://pear.php.net/packages/MDB2_Schema - */ -class MDB2_Schema_Tool_ParameterException extends Exception -{ -} diff --git a/3rdparty/MDB2/Schema/Validate.php b/3rdparty/MDB2/Schema/Validate.php deleted file mode 100644 index 4a8e0d27bacdbfc25f7b1ccf54bd87d1a3491b69..0000000000000000000000000000000000000000 --- a/3rdparty/MDB2/Schema/Validate.php +++ /dev/null @@ -1,1004 +0,0 @@ - - * @author Igor Feghali - * @license BSD http://www.opensource.org/licenses/bsd-license.php - * @version SVN: $Id$ - * @link http://pear.php.net/packages/MDB2_Schema - */ - -/** - * Validates an XML schema file - * - * @category Database - * @package MDB2_Schema - * @author Igor Feghali - * @license BSD http://www.opensource.org/licenses/bsd-license.php - * @link http://pear.php.net/packages/MDB2_Schema - */ -class MDB2_Schema_Validate -{ - // {{{ properties - - var $fail_on_invalid_names = true; - - var $valid_types = array(); - - var $force_defaults = true; - - var $max_identifiers_length = null; - - // }}} - // {{{ constructor - - /** - * PHP 5 constructor - * - * @param bool $fail_on_invalid_names array with reserved words per RDBMS - * @param array $valid_types information of all valid fields - * types - * @param bool $force_defaults if true sets a default value to - * field when not explicit - * @param int $max_identifiers_length maximum allowed size for entities - * name - * - * @return void - * - * @access public - * @static - */ - function __construct($fail_on_invalid_names = true, $valid_types = array(), - $force_defaults = true, $max_identifiers_length = null - ) { - if (empty($GLOBALS['_MDB2_Schema_Reserved'])) { - $GLOBALS['_MDB2_Schema_Reserved'] = array(); - } - - if (is_array($fail_on_invalid_names)) { - $this->fail_on_invalid_names = array_intersect($fail_on_invalid_names, - array_keys($GLOBALS['_MDB2_Schema_Reserved'])); - } elseif ($fail_on_invalid_names === true) { - $this->fail_on_invalid_names = array_keys($GLOBALS['_MDB2_Schema_Reserved']); - } else { - $this->fail_on_invalid_names = array(); - } - $this->valid_types = $valid_types; - $this->force_defaults = $force_defaults; - $this->max_identifiers_length = $max_identifiers_length; - } - - // }}} - // {{{ raiseError() - - /** - * Pushes a MDB2_Schema_Error into stack and returns it - * - * @param int $ecode MDB2_Schema's error code - * @param string $msg textual message - * - * @return object - * @access private - * @static - */ - function &raiseError($ecode, $msg = null) - { - $error = MDB2_Schema::raiseError($ecode, null, null, $msg); - return $error; - } - - // }}} - // {{{ isBoolean() - - /** - * Verifies if a given value can be considered boolean. If yes, set value - * to true or false according to its actual contents and return true. If - * not, keep its contents untouched and return false. - * - * @param mixed &$value value to be checked - * - * @return bool - * - * @access public - * @static - */ - function isBoolean(&$value) - { - if (is_bool($value)) { - return true; - } - - if ($value === 0 || $value === 1 || $value === '') { - $value = (bool)$value; - return true; - } - - if (!is_string($value)) { - return false; - } - - switch ($value) { - case '0': - case 'N': - case 'n': - case 'no': - case 'false': - $value = false; - break; - case '1': - case 'Y': - case 'y': - case 'yes': - case 'true': - $value = true; - break; - default: - return false; - } - return true; - } - - // }}} - // {{{ validateTable() - - /* Definition */ - /** - * Checks whether the definition of a parsed table is valid. Modify table - * definition when necessary. - * - * @param array $tables multi dimensional array that contains the - * tables of current database. - * @param array &$table multi dimensional array that contains the - * structure and optional data of the table. - * @param string $table_name name of the parsed table - * - * @return bool|error object - * - * @access public - */ - function validateTable($tables, &$table, $table_name) - { - /* Table name duplicated? */ - if (is_array($tables) && isset($tables[$table_name])) { - return $this->raiseError(MDB2_SCHEMA_ERROR_VALIDATE, - 'table "'.$table_name.'" already exists'); - } - - /** - * Valid name ? - */ - $result = $this->validateIdentifier($table_name, 'table'); - if (PEAR::isError($result)) { - return $result; - } - - /* Was */ - if (empty($table['was'])) { - $table['was'] = $table_name; - } - - /* Have we got fields? */ - if (empty($table['fields']) || !is_array($table['fields'])) { - return $this->raiseError(MDB2_SCHEMA_ERROR_VALIDATE, - 'tables need one or more fields'); - } - - /* Autoincrement */ - $autoinc = $primary = false; - foreach ($table['fields'] as $field_name => $field) { - if (!empty($field['autoincrement'])) { - if ($autoinc) { - return $this->raiseError(MDB2_SCHEMA_ERROR_VALIDATE, - 'there was already an autoincrement field in "'.$table_name.'" before "'.$field_name.'"'); - } - $autoinc = $field_name; - } - } - - /* - * Checking Indexes - * this have to be done here otherwise we can't - * guarantee that all table fields were already - * defined in the moment we are parsing indexes - */ - if (!empty($table['indexes']) && is_array($table['indexes'])) { - foreach ($table['indexes'] as $name => $index) { - $skip_index = false; - if (!empty($index['primary'])) { - /* - * Lets see if we should skip this index since there is - * already an auto increment on this field this implying - * a primary key index. - */ - if (count($index['fields']) == '1' - && $autoinc - && array_key_exists($autoinc, $index['fields'])) { - $skip_index = true; - } elseif ($autoinc || $primary) { - return $this->raiseError(MDB2_SCHEMA_ERROR_VALIDATE, - 'there was already an primary index or autoincrement field in "'.$table_name.'" before "'.$name.'"'); - } else { - $primary = true; - } - } - - if (!$skip_index && is_array($index['fields'])) { - foreach ($index['fields'] as $field_name => $field) { - if (!isset($table['fields'][$field_name])) { - return $this->raiseError(MDB2_SCHEMA_ERROR_VALIDATE, - 'index field "'.$field_name.'" does not exist'); - } - if (!empty($index['primary']) - && !$table['fields'][$field_name]['notnull'] - ) { - return $this->raiseError(MDB2_SCHEMA_ERROR_VALIDATE, - 'all primary key fields must be defined notnull in "'.$table_name.'"'); - } - } - } else { - unset($table['indexes'][$name]); - } - } - } - return MDB2_OK; - } - - // }}} - // {{{ validateField() - - /** - * Checks whether the definition of a parsed field is valid. Modify field - * definition when necessary. - * - * @param array $fields multi dimensional array that contains the - * fields of current table. - * @param array &$field multi dimensional array that contains the - * structure of the parsed field. - * @param string $field_name name of the parsed field - * - * @return bool|error object - * - * @access public - */ - function validateField($fields, &$field, $field_name) - { - /** - * Valid name ? - */ - $result = $this->validateIdentifier($field_name, 'field'); - if (PEAR::isError($result)) { - return $result; - } - - /* Field name duplicated? */ - if (is_array($fields) && isset($fields[$field_name])) { - return $this->raiseError(MDB2_SCHEMA_ERROR_VALIDATE, - 'field "'.$field_name.'" already exists'); - } - - /* Type check */ - if (empty($field['type'])) { - return $this->raiseError(MDB2_SCHEMA_ERROR_VALIDATE, - 'no field type specified'); - } - if (!empty($this->valid_types) && !array_key_exists($field['type'], $this->valid_types)) { - return $this->raiseError(MDB2_SCHEMA_ERROR_VALIDATE, - 'no valid field type ("'.$field['type'].'") specified'); - } - - /* Unsigned */ - if (array_key_exists('unsigned', $field) && !$this->isBoolean($field['unsigned'])) { - return $this->raiseError(MDB2_SCHEMA_ERROR_VALIDATE, - 'unsigned has to be a boolean value'); - } - - /* Fixed */ - if (array_key_exists('fixed', $field) && !$this->isBoolean($field['fixed'])) { - return $this->raiseError(MDB2_SCHEMA_ERROR_VALIDATE, - 'fixed has to be a boolean value'); - } - - /* Length */ - if (array_key_exists('length', $field) && $field['length'] <= 0) { - return $this->raiseError(MDB2_SCHEMA_ERROR_VALIDATE, - 'length has to be an integer greater 0'); - } - - // if it's a DECIMAL datatype, check if a 'scale' value is provided: - // 8,4 should be translated to DECIMAL(8,4) - if (is_float($this->valid_types[$field['type']]) - && !empty($field['length']) - && strpos($field['length'], ',') !== false - ) { - list($field['length'], $field['scale']) = explode(',', $field['length']); - } - - /* Was */ - if (empty($field['was'])) { - $field['was'] = $field_name; - } - - /* Notnull */ - if (empty($field['notnull'])) { - $field['notnull'] = false; - } - if (!$this->isBoolean($field['notnull'])) { - return $this->raiseError(MDB2_SCHEMA_ERROR_VALIDATE, - 'field "notnull" has to be a boolean value'); - } - - /* Default */ - if ($this->force_defaults - && !array_key_exists('default', $field) - && $field['type'] != 'clob' && $field['type'] != 'blob' - ) { - $field['default'] = $this->valid_types[$field['type']]; - } - if (array_key_exists('default', $field)) { - if ($field['type'] == 'clob' || $field['type'] == 'blob') { - return $this->raiseError(MDB2_SCHEMA_ERROR_VALIDATE, - '"'.$field['type'].'"-fields are not allowed to have a default value'); - } - if ($field['default'] === '' && !$field['notnull']) { - $field['default'] = null; - } - } - if (isset($field['default']) - && PEAR::isError($result = $this->validateDataFieldValue($field, $field['default'], $field_name)) - ) { - return $this->raiseError(MDB2_SCHEMA_ERROR_VALIDATE, - 'default value of "'.$field_name.'" is incorrect: '.$result->getUserinfo()); - } - - /* Autoincrement */ - if (!empty($field['autoincrement'])) { - if (!$field['notnull']) { - return $this->raiseError(MDB2_SCHEMA_ERROR_VALIDATE, - 'all autoincrement fields must be defined notnull'); - } - - if (empty($field['default'])) { - $field['default'] = '0'; - } elseif ($field['default'] !== '0' && $field['default'] !== 0) { - return $this->raiseError(MDB2_SCHEMA_ERROR_VALIDATE, - 'all autoincrement fields must be defined default "0"'); - } - } - return MDB2_OK; - } - - // }}} - // {{{ validateIndex() - - /** - * Checks whether a parsed index is valid. Modify index definition when - * necessary. - * - * @param array $table_indexes multi dimensional array that contains the - * indexes of current table. - * @param array &$index multi dimensional array that contains the - * structure of the parsed index. - * @param string $index_name name of the parsed index - * - * @return bool|error object - * - * @access public - */ - function validateIndex($table_indexes, &$index, $index_name) - { - /** - * Valid name ? - */ - $result = $this->validateIdentifier($index_name, 'index'); - if (PEAR::isError($result)) { - return $result; - } - - if (is_array($table_indexes) && isset($table_indexes[$index_name])) { - return $this->raiseError(MDB2_SCHEMA_ERROR_VALIDATE, - 'index "'.$index_name.'" already exists'); - } - if (array_key_exists('unique', $index) && !$this->isBoolean($index['unique'])) { - return $this->raiseError(MDB2_SCHEMA_ERROR_VALIDATE, - 'field "unique" has to be a boolean value'); - } - if (array_key_exists('primary', $index) && !$this->isBoolean($index['primary'])) { - return $this->raiseError(MDB2_SCHEMA_ERROR_VALIDATE, - 'field "primary" has to be a boolean value'); - } - - /* Have we got fields? */ - if (empty($index['fields']) || !is_array($index['fields'])) { - return $this->raiseError(MDB2_SCHEMA_ERROR_VALIDATE, - 'indexes need one or more fields'); - } - - if (empty($index['was'])) { - $index['was'] = $index_name; - } - return MDB2_OK; - } - - // }}} - // {{{ validateIndexField() - - /** - * Checks whether a parsed index-field is valid. Modify its definition when - * necessary. - * - * @param array $index_fields multi dimensional array that contains the - * fields of current index. - * @param array &$field multi dimensional array that contains the - * structure of the parsed index-field. - * @param string $field_name name of the parsed index-field - * - * @return bool|error object - * - * @access public - */ - function validateIndexField($index_fields, &$field, $field_name) - { - /** - * Valid name ? - */ - $result = $this->validateIdentifier($field_name, 'index field'); - if (PEAR::isError($result)) { - return $result; - } - - if (is_array($index_fields) && isset($index_fields[$field_name])) { - return $this->raiseError(MDB2_SCHEMA_ERROR_VALIDATE, - 'index field "'.$field_name.'" already exists'); - } - if (empty($field['sorting'])) { - $field['sorting'] = 'ascending'; - } elseif ($field['sorting'] !== 'ascending' && $field['sorting'] !== 'descending') { - return $this->raiseError(MDB2_SCHEMA_ERROR_VALIDATE, - 'sorting type unknown'); - } - return MDB2_OK; - } - - // }}} - // {{{ validateConstraint() - - /** - * Checks whether a parsed foreign key is valid. Modify its definition when - * necessary. - * - * @param array $table_constraints multi dimensional array that contains the - * constraints of current table. - * @param array &$constraint multi dimensional array that contains the - * structure of the parsed foreign key. - * @param string $constraint_name name of the parsed foreign key - * - * @return bool|error object - * - * @access public - */ - function validateConstraint($table_constraints, &$constraint, $constraint_name) - { - /** - * Valid name ? - */ - $result = $this->validateIdentifier($constraint_name, 'foreign key'); - if (PEAR::isError($result)) { - return $result; - } - - if (is_array($table_constraints) && isset($table_constraints[$constraint_name])) { - return $this->raiseError(MDB2_SCHEMA_ERROR_VALIDATE, - 'foreign key "'.$constraint_name.'" already exists'); - } - - /* Have we got fields? */ - if (empty($constraint['fields']) || !is_array($constraint['fields'])) { - return $this->raiseError(MDB2_SCHEMA_ERROR_VALIDATE, - 'foreign key "'.$constraint_name.'" need one or more fields'); - } - - /* Have we got referenced fields? */ - if (empty($constraint['references']) || !is_array($constraint['references'])) { - return $this->raiseError(MDB2_SCHEMA_ERROR_VALIDATE, - 'foreign key "'.$constraint_name.'" need to reference one or more fields'); - } - - /* Have we got referenced table? */ - if (empty($constraint['references']['table'])) { - return $this->raiseError(MDB2_SCHEMA_ERROR_VALIDATE, - 'foreign key "'.$constraint_name.'" need to reference a table'); - } - - if (empty($constraint['was'])) { - $constraint['was'] = $constraint_name; - } - return MDB2_OK; - } - - // }}} - // {{{ validateConstraintField() - - /** - * Checks whether a foreign-field is valid. - * - * @param array $constraint_fields multi dimensional array that contains the - * fields of current foreign key. - * @param string $field_name name of the parsed foreign-field - * - * @return bool|error object - * - * @access public - */ - function validateConstraintField($constraint_fields, $field_name) - { - /** - * Valid name ? - */ - $result = $this->validateIdentifier($field_name, 'foreign key field'); - if (PEAR::isError($result)) { - return $result; - } - - if (is_array($constraint_fields) && isset($constraint_fields[$field_name])) { - return $this->raiseError(MDB2_SCHEMA_ERROR_VALIDATE, - 'foreign field "'.$field_name.'" already exists'); - } - return MDB2_OK; - } - - // }}} - // {{{ validateConstraintReferencedField() - - /** - * Checks whether a foreign-referenced field is valid. - * - * @param array $referenced_fields multi dimensional array that contains the - * fields of current foreign key. - * @param string $field_name name of the parsed foreign-field - * - * @return bool|error object - * - * @access public - */ - function validateConstraintReferencedField($referenced_fields, $field_name) - { - /** - * Valid name ? - */ - $result = $this->validateIdentifier($field_name, 'referenced foreign field'); - if (PEAR::isError($result)) { - return $result; - } - - if (is_array($referenced_fields) && isset($referenced_fields[$field_name])) { - return $this->raiseError(MDB2_SCHEMA_ERROR_VALIDATE, - 'foreign field "'.$field_name.'" already referenced'); - } - return MDB2_OK; - } - - // }}} - // {{{ validateSequence() - - /** - * Checks whether the definition of a parsed sequence is valid. Modify - * sequence definition when necessary. - * - * @param array $sequences multi dimensional array that contains the - * sequences of current database. - * @param array &$sequence multi dimensional array that contains the - * structure of the parsed sequence. - * @param string $sequence_name name of the parsed sequence - * - * @return bool|error object - * - * @access public - */ - function validateSequence($sequences, &$sequence, $sequence_name) - { - /** - * Valid name ? - */ - $result = $this->validateIdentifier($sequence_name, 'sequence'); - if (PEAR::isError($result)) { - return $result; - } - - if (is_array($sequences) && isset($sequences[$sequence_name])) { - return $this->raiseError(MDB2_SCHEMA_ERROR_VALIDATE, - 'sequence "'.$sequence_name.'" already exists'); - } - - if (is_array($this->fail_on_invalid_names)) { - $name = strtoupper($sequence_name); - foreach ($this->fail_on_invalid_names as $rdbms) { - if (in_array($name, $GLOBALS['_MDB2_Schema_Reserved'][$rdbms])) { - return $this->raiseError(MDB2_SCHEMA_ERROR_VALIDATE, - 'sequence name "'.$sequence_name.'" is a reserved word in: '.$rdbms); - } - } - } - - if (empty($sequence['was'])) { - $sequence['was'] = $sequence_name; - } - - if (!empty($sequence['on']) - && (empty($sequence['on']['table']) || empty($sequence['on']['field'])) - ) { - return $this->raiseError(MDB2_SCHEMA_ERROR_VALIDATE, - 'sequence "'.$sequence_name.'" on a table was not properly defined'); - } - return MDB2_OK; - } - - // }}} - // {{{ validateDatabase() - - /** - * Checks whether a parsed database is valid. Modify its structure and - * data when necessary. - * - * @param array &$database multi dimensional array that contains the - * structure and optional data of the database. - * - * @return bool|error object - * - * @access public - */ - function validateDatabase(&$database) - { - if (!is_array($database)) { - return $this->raiseError(MDB2_SCHEMA_ERROR_VALIDATE, - 'something wrong went with database definition'); - } - - /** - * Valid name ? - */ - $result = $this->validateIdentifier($database['name'], 'database'); - if (PEAR::isError($result)) { - return $result; - } - - /* Create */ - if (isset($database['create']) - && !$this->isBoolean($database['create']) - ) { - return $this->raiseError(MDB2_SCHEMA_ERROR_VALIDATE, - 'field "create" has to be a boolean value'); - } - - /* Overwrite */ - if (isset($database['overwrite']) - && $database['overwrite'] !== '' - && !$this->isBoolean($database['overwrite']) - ) { - return $this->raiseError(MDB2_SCHEMA_ERROR_VALIDATE, - 'field "overwrite" has to be a boolean value'); - } - - /* - * This have to be done here otherwise we can't guarantee that all - * tables were already defined in the moment we are parsing constraints - */ - if (isset($database['tables'])) { - foreach ($database['tables'] as $table_name => $table) { - if (!empty($table['constraints'])) { - foreach ($table['constraints'] as $constraint_name => $constraint) { - $referenced_table_name = $constraint['references']['table']; - - if (!isset($database['tables'][$referenced_table_name])) { - return $this->raiseError(MDB2_SCHEMA_ERROR_VALIDATE, - 'referenced table "'.$referenced_table_name.'" of foreign key "'.$constraint_name.'" of table "'.$table_name.'" does not exist'); - } - - if (empty($constraint['references']['fields'])) { - $referenced_table = $database['tables'][$referenced_table_name]; - - $primary = false; - - if (!empty($referenced_table['indexes'])) { - foreach ($referenced_table['indexes'] as $index_name => $index) { - if (array_key_exists('primary', $index) - && $index['primary'] - ) { - $primary = array(); - foreach ($index['fields'] as $field_name => $field) { - $primary[$field_name] = ''; - } - break; - } - } - } - - if (!$primary) { - foreach ($referenced_table['fields'] as $field_name => $field) { - if (array_key_exists('autoincrement', $field) - && $field['autoincrement'] - ) { - $primary = array( $field_name => '' ); - break; - } - } - } - - if (!$primary) { - return $this->raiseError(MDB2_SCHEMA_ERROR_VALIDATE, - 'referenced table "'.$referenced_table_name.'" has no primary key and no referenced field was specified for foreign key "'.$constraint_name.'" of table "'.$table_name.'"'); - } - - $constraint['references']['fields'] = $primary; - } - - /* the same number of referencing and referenced fields ? */ - if (count($constraint['fields']) != count($constraint['references']['fields'])) { - return $this->raiseError(MDB2_SCHEMA_ERROR_VALIDATE, - 'The number of fields in the referenced key must match those of the foreign key "'.$constraint_name.'"'); - } - - $database['tables'][$table_name]['constraints'][$constraint_name]['references']['fields'] = $constraint['references']['fields']; - } - } - } - } - - /* - * This have to be done here otherwise we can't guarantee that all - * tables were already defined in the moment we are parsing sequences - */ - if (isset($database['sequences'])) { - foreach ($database['sequences'] as $seq_name => $seq) { - if (!empty($seq['on']) - && empty($database['tables'][$seq['on']['table']]['fields'][$seq['on']['field']]) - ) { - return $this->raiseError(MDB2_SCHEMA_ERROR_VALIDATE, - 'sequence "'.$seq_name.'" was assigned on unexisting field/table'); - } - } - } - return MDB2_OK; - } - - // }}} - // {{{ validateDataField() - - /* Data Manipulation */ - /** - * Checks whether a parsed DML-field is valid. Modify its structure when - * necessary. This is called when validating INSERT and - * UPDATE. - * - * @param array $table_fields multi dimensional array that contains the - * definition for current table's fields. - * @param array $instruction_fields multi dimensional array that contains the - * parsed fields of the current DML instruction. - * @param string &$field array that contains the parsed instruction field - * - * @return bool|error object - * - * @access public - */ - function validateDataField($table_fields, $instruction_fields, &$field) - { - /** - * Valid name ? - */ - $result = $this->validateIdentifier($field['name'], 'field'); - if (PEAR::isError($result)) { - return $result; - } - - if (is_array($instruction_fields) && isset($instruction_fields[$field['name']])) { - return $this->raiseError(MDB2_SCHEMA_ERROR_VALIDATE, - 'field "'.$field['name'].'" already initialized'); - } - - if (is_array($table_fields) && !isset($table_fields[$field['name']])) { - return $this->raiseError(MDB2_SCHEMA_ERROR_VALIDATE, - '"'.$field['name'].'" is not defined'); - } - - if (!isset($field['group']['type'])) { - return $this->raiseError(MDB2_SCHEMA_ERROR_VALIDATE, - '"'.$field['name'].'" has no initial value'); - } - - if (isset($field['group']['data']) - && $field['group']['type'] == 'value' - && $field['group']['data'] !== '' - && PEAR::isError($result = $this->validateDataFieldValue($table_fields[$field['name']], $field['group']['data'], $field['name'])) - ) { - return $this->raiseError(MDB2_SCHEMA_ERROR_VALIDATE, - 'value of "'.$field['name'].'" is incorrect: '.$result->getUserinfo()); - } - - return MDB2_OK; - } - - // }}} - // {{{ validateDataFieldValue() - - /** - * Checks whether a given value is compatible with a table field. This is - * done when parsing a field for a INSERT or UPDATE instruction. - * - * @param array $field_def multi dimensional array that contains the - * definition for current table's fields. - * @param string &$field_value value to fill the parsed field - * @param string $field_name name of the parsed field - * - * @return bool|error object - * - * @access public - * @see MDB2_Schema_Validate::validateInsertField() - */ - function validateDataFieldValue($field_def, &$field_value, $field_name) - { - switch ($field_def['type']) { - case 'text': - case 'clob': - if (!empty($field_def['length']) && strlen($field_value) > $field_def['length']) { - return $this->raiseError(MDB2_SCHEMA_ERROR_VALIDATE, - '"'.$field_value.'" is larger than "'.$field_def['length'].'"'); - } - break; - case 'blob': - $field_value = pack('H*', $field_value); - if (!empty($field_def['length']) && strlen($field_value) > $field_def['length']) { - return $this->raiseError(MDB2_SCHEMA_ERROR_VALIDATE, - '"'.$field_value.'" is larger than "'.$field_def['type'].'"'); - } - break; - case 'integer': - if ($field_value != ((int)$field_value)) { - return $this->raiseError(MDB2_SCHEMA_ERROR_VALIDATE, - '"'.$field_value.'" is not of type "'.$field_def['type'].'"'); - } - //$field_value = (int)$field_value; - if (!empty($field_def['unsigned']) && $field_def['unsigned'] && $field_value < 0) { - return $this->raiseError(MDB2_SCHEMA_ERROR_VALIDATE, - '"'.$field_value.'" signed instead of unsigned'); - } - break; - case 'boolean': - if (!$this->isBoolean($field_value)) { - return $this->raiseError(MDB2_SCHEMA_ERROR_VALIDATE, - '"'.$field_value.'" is not of type "'.$field_def['type'].'"'); - } - break; - case 'date': - if (!preg_match('/([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})/', $field_value) - && $field_value !== 'CURRENT_DATE' - ) { - return $this->raiseError(MDB2_SCHEMA_ERROR_VALIDATE, - '"'.$field_value.'" is not of type "'.$field_def['type'].'"'); - } - break; - case 'timestamp': - if (!preg_match('/([0-9]{4})-([0-9]{1,2})-([0-9]{1,2}) ([0-9]{2}):([0-9]{2}):([0-9]{2})/', $field_value) - && strcasecmp($field_value, 'now()') != 0 - && $field_value !== 'CURRENT_TIMESTAMP' - ) { - return $this->raiseError(MDB2_SCHEMA_ERROR_VALIDATE, - '"'.$field_value.'" is not of type "'.$field_def['type'].'"'); - } - break; - case 'time': - if (!preg_match("/([0-9]{2}):([0-9]{2}):([0-9]{2})/", $field_value) - && $field_value !== 'CURRENT_TIME' - ) { - return $this->raiseError(MDB2_SCHEMA_ERROR_VALIDATE, - '"'.$field_value.'" is not of type "'.$field_def['type'].'"'); - } - break; - case 'float': - case 'double': - if ($field_value != (double)$field_value) { - return $this->raiseError(MDB2_SCHEMA_ERROR_VALIDATE, - '"'.$field_value.'" is not of type "'.$field_def['type'].'"'); - } - //$field_value = (double)$field_value; - break; - } - return MDB2_OK; - } - - // }}} - // {{{ validateIdentifier() - - /** - * Checks whether a given identifier is valid for current driver. - * - * @param string $id identifier to check - * @param string $type whether identifier represents a table name, index, etc. - * - * @return bool|error object - * - * @access public - */ - function validateIdentifier($id, $type) - { - $max_length = $this->max_identifiers_length; - $cur_length = strlen($id); - - /** - * Have we got a name? - */ - if (!$id) { - return $this->raiseError(MDB2_SCHEMA_ERROR_VALIDATE, - "a $type has to have a name"); - } - - /** - * Supported length ? - */ - if ($max_length !== null - && $cur_length > $max_length - ) { - return $this->raiseError(MDB2_SCHEMA_ERROR_VALIDATE, - "$type name '$id' is too long for current driver"); - } elseif ($cur_length > 30) { - // FIXME: find a way to issue a warning in MDB2_Schema object - /* $this->warnings[] = "$type name '$id' might not be - portable to other drivers"; */ - } - - /** - * Reserved ? - */ - if (is_array($this->fail_on_invalid_names)) { - $name = strtoupper($id); - foreach ($this->fail_on_invalid_names as $rdbms) { - if (in_array($name, $GLOBALS['_MDB2_Schema_Reserved'][$rdbms])) { - return $this->raiseError(MDB2_SCHEMA_ERROR_VALIDATE, - "$type name '$id' is a reserved word in: $rdbms"); - } - } - } - - return MDB2_OK; - } - - // }}} -} diff --git a/3rdparty/MDB2/Schema/Writer.php b/3rdparty/MDB2/Schema/Writer.php deleted file mode 100644 index 3eaa39a207196c80b3a60dc2f11707df0ea9c66d..0000000000000000000000000000000000000000 --- a/3rdparty/MDB2/Schema/Writer.php +++ /dev/null @@ -1,586 +0,0 @@ - - * @author Igor Feghali - * @license BSD http://www.opensource.org/licenses/bsd-license.php - * @version SVN: $Id$ - * @link http://pear.php.net/packages/MDB2_Schema - */ - -/** - * Writes an XML schema file - * - * @category Database - * @package MDB2_Schema - * @author Lukas Smith - * @license BSD http://www.opensource.org/licenses/bsd-license.php - * @link http://pear.php.net/packages/MDB2_Schema - */ -class MDB2_Schema_Writer -{ - // {{{ properties - - var $valid_types = array(); - - // }}} - // {{{ constructor - - /** - * PHP 5 constructor - * - * @param array $valid_types information of all valid fields - * types - * - * @return void - * - * @access public - * @static - */ - function __construct($valid_types = array()) - { - $this->valid_types = $valid_types; - } - - // }}} - // {{{ raiseError() - - /** - * This method is used to communicate an error and invoke error - * callbacks etc. Basically a wrapper for PEAR::raiseError - * without the message string. - * - * @param int|PEAR_Error $code integer error code or and PEAR_Error - * instance - * @param int $mode error mode, see PEAR_Error docs error - * level (E_USER_NOTICE etc). If error mode - * is PEAR_ERROR_CALLBACK, this is the - * callback function, either as a function - * name, or as an array of an object and - * method name. For other error modes this - * parameter is ignored. - * @param string $options Extra debug information. Defaults to the - * last query and native error code. - * @param string $userinfo User-friendly error message - * - * @return object a PEAR error object - * @access public - * @see PEAR_Error - */ - function &raiseError($code = null, $mode = null, $options = null, $userinfo = null) - { - $error = MDB2_Schema::raiseError($code, $mode, $options, $userinfo); - return $error; - } - - // }}} - // {{{ _escapeSpecialChars() - - /** - * add escapecharacters to all special characters in a string - * - * @param string $string string that should be escaped - * - * @return string escaped string - * @access protected - */ - function _escapeSpecialChars($string) - { - if (!is_string($string)) { - $string = strval($string); - } - - $escaped = ''; - for ($char = 0, $count = strlen($string); $char < $count; $char++) { - switch ($string[$char]) { - case '&': - $escaped .= '&'; - break; - case '>': - $escaped .= '>'; - break; - case '<': - $escaped .= '<'; - break; - case '"': - $escaped .= '"'; - break; - case '\'': - $escaped .= '''; - break; - default: - $code = ord($string[$char]); - if ($code < 32 || $code > 127) { - $escaped .= "&#$code;"; - } else { - $escaped .= $string[$char]; - } - break; - } - } - return $escaped; - } - - // }}} - // {{{ _dumpBoolean() - - /** - * dump the structure of a sequence - * - * @param string $boolean boolean value or variable definition - * - * @return string with xml boolea definition - * @access private - */ - function _dumpBoolean($boolean) - { - if (is_string($boolean)) { - if ($boolean !== 'true' || $boolean !== 'false' - || preg_match('/.*/', $boolean) - ) { - return $boolean; - } - } - return $boolean ? 'true' : 'false'; - } - - // }}} - // {{{ dumpSequence() - - /** - * dump the structure of a sequence - * - * @param string $sequence_definition sequence definition - * @param string $sequence_name sequence name - * @param string $eol end of line characters - * @param integer $dump determines what data to dump - * MDB2_SCHEMA_DUMP_ALL : the entire db - * MDB2_SCHEMA_DUMP_STRUCTURE : only the structure of the db - * MDB2_SCHEMA_DUMP_CONTENT : only the content of the db - * - * @return mixed string xml sequence definition on success, or a error object - * @access public - */ - function dumpSequence($sequence_definition, $sequence_name, $eol, $dump = MDB2_SCHEMA_DUMP_ALL) - { - $buffer = "$eol $eol $sequence_name$eol"; - if ($dump == MDB2_SCHEMA_DUMP_ALL || $dump == MDB2_SCHEMA_DUMP_CONTENT) { - if (!empty($sequence_definition['start'])) { - $start = $sequence_definition['start']; - $buffer .= " $start$eol"; - } - } - - if (!empty($sequence_definition['on'])) { - $buffer .= " $eol"; - $buffer .= "
".$sequence_definition['on']['table']; - $buffer .= "
$eol ".$sequence_definition['on']['field']; - $buffer .= "$eol
$eol"; - } - $buffer .= "
$eol"; - - return $buffer; - } - - // }}} - // {{{ dumpDatabase() - - /** - * Dump a previously parsed database structure in the Metabase schema - * XML based format suitable for the Metabase parser. This function - * may optionally dump the database definition with initialization - * commands that specify the data that is currently present in the tables. - * - * @param array $database_definition unknown - * @param array $arguments associative array that takes pairs of tag - * names and values that define dump options. - * array ( - * 'output_mode' => String - * 'file' : dump into a file - * default: dump using a function - * 'output' => String - * depending on the 'Output_Mode' - * name of the file - * name of the function - * 'end_of_line' => String - * end of line delimiter that should be used - * default: "\n" - * ); - * @param integer $dump determines what data to dump - * MDB2_SCHEMA_DUMP_ALL : the entire db - * MDB2_SCHEMA_DUMP_STRUCTURE : only the structure of the db - * MDB2_SCHEMA_DUMP_CONTENT : only the content of the db - * - * @return mixed MDB2_OK on success, or a error object - * @access public - */ - function dumpDatabase($database_definition, $arguments, $dump = MDB2_SCHEMA_DUMP_ALL) - { - if (!empty($arguments['output'])) { - if (!empty($arguments['output_mode']) && $arguments['output_mode'] == 'file') { - $fp = fopen($arguments['output'], 'w'); - if ($fp === false) { - return $this->raiseError(MDB2_SCHEMA_ERROR_WRITER, null, null, - 'it was not possible to open output file'); - } - - $output = false; - } elseif (is_callable($arguments['output'])) { - $output = $arguments['output']; - } else { - return $this->raiseError(MDB2_SCHEMA_ERROR_WRITER, null, null, - 'no valid output function specified'); - } - } else { - return $this->raiseError(MDB2_SCHEMA_ERROR_WRITER, null, null, - 'no output method specified'); - } - - $eol = isset($arguments['end_of_line']) ? $arguments['end_of_line'] : "\n"; - - $sequences = array(); - if (!empty($database_definition['sequences']) - && is_array($database_definition['sequences']) - ) { - foreach ($database_definition['sequences'] as $sequence_name => $sequence) { - $table = !empty($sequence['on']) ? $sequence['on']['table'] :''; - - $sequences[$table][] = $sequence_name; - } - } - - $buffer = ''.$eol; - $buffer .= "$eol$eol ".$database_definition['name'].""; - $buffer .= "$eol ".$this->_dumpBoolean($database_definition['create']).""; - $buffer .= "$eol ".$this->_dumpBoolean($database_definition['overwrite'])."$eol"; - $buffer .= "$eol ".$database_definition['charset']."$eol"; - - if ($output) { - call_user_func($output, $buffer); - } else { - fwrite($fp, $buffer); - } - - if (!empty($database_definition['tables']) && is_array($database_definition['tables'])) { - foreach ($database_definition['tables'] as $table_name => $table) { - $buffer = "$eol $eol$eol $table_name$eol"; - if ($dump == MDB2_SCHEMA_DUMP_ALL || $dump == MDB2_SCHEMA_DUMP_STRUCTURE) { - $buffer .= "$eol $eol"; - if (!empty($table['fields']) && is_array($table['fields'])) { - foreach ($table['fields'] as $field_name => $field) { - if (empty($field['type'])) { - return $this->raiseError(MDB2_SCHEMA_ERROR_VALIDATE, null, null, - 'it was not specified the type of the field "'. - $field_name.'" of the table "'.$table_name.'"'); - } - if (!empty($this->valid_types) && !array_key_exists($field['type'], $this->valid_types)) { - return $this->raiseError(MDB2_SCHEMA_ERROR_UNSUPPORTED, null, null, - 'type "'.$field['type'].'" is not yet supported'); - } - $buffer .= "$eol $eol $field_name$eol "; - $buffer .= $field['type']."$eol"; - if (!empty($field['fixed']) && $field['type'] === 'text') { - $buffer .= " ".$this->_dumpBoolean($field['fixed'])."$eol"; - } - if (array_key_exists('default', $field) - && $field['type'] !== 'clob' && $field['type'] !== 'blob' - ) { - $buffer .= ' '.$this->_escapeSpecialChars($field['default'])."$eol"; - } - if (!empty($field['notnull'])) { - $buffer .= " ".$this->_dumpBoolean($field['notnull'])."$eol"; - } else { - $buffer .= " false$eol"; - } - if (!empty($field['autoincrement'])) { - $buffer .= " " . $field['autoincrement'] ."$eol"; - } - if (!empty($field['unsigned'])) { - $buffer .= " ".$this->_dumpBoolean($field['unsigned'])."$eol"; - } - if (!empty($field['length'])) { - $buffer .= ' '.$field['length']."$eol"; - } - $buffer .= " $eol"; - } - } - - if (!empty($table['indexes']) && is_array($table['indexes'])) { - foreach ($table['indexes'] as $index_name => $index) { - if (strtolower($index_name) === 'primary') { - $index_name = $table_name . '_pKey'; - } - $buffer .= "$eol $eol $index_name$eol"; - if (!empty($index['unique'])) { - $buffer .= " ".$this->_dumpBoolean($index['unique'])."$eol"; - } - - if (!empty($index['primary'])) { - $buffer .= " ".$this->_dumpBoolean($index['primary'])."$eol"; - } - - foreach ($index['fields'] as $field_name => $field) { - $buffer .= " $eol $field_name$eol"; - if (!empty($field) && is_array($field)) { - $buffer .= ' '.$field['sorting']."$eol"; - } - $buffer .= " $eol"; - } - $buffer .= " $eol"; - } - } - - if (!empty($table['constraints']) && is_array($table['constraints'])) { - foreach ($table['constraints'] as $constraint_name => $constraint) { - $buffer .= "$eol $eol $constraint_name$eol"; - if (empty($constraint['fields']) || !is_array($constraint['fields'])) { - return $this->raiseError(MDB2_SCHEMA_ERROR_VALIDATE, null, null, - 'it was not specified a field for the foreign key "'. - $constraint_name.'" of the table "'.$table_name.'"'); - } - if (!is_array($constraint['references']) || empty($constraint['references']['table'])) { - return $this->raiseError(MDB2_SCHEMA_ERROR_VALIDATE, null, null, - 'it was not specified the referenced table of the foreign key "'. - $constraint_name.'" of the table "'.$table_name.'"'); - } - if (!empty($constraint['match'])) { - $buffer .= " ".$constraint['match']."$eol"; - } - if (!empty($constraint['ondelete'])) { - $buffer .= " ".$constraint['ondelete']."$eol"; - } - if (!empty($constraint['onupdate'])) { - $buffer .= " ".$constraint['onupdate']."$eol"; - } - if (!empty($constraint['deferrable'])) { - $buffer .= " ".$constraint['deferrable']."$eol"; - } - if (!empty($constraint['initiallydeferred'])) { - $buffer .= " ".$constraint['initiallydeferred']."$eol"; - } - foreach ($constraint['fields'] as $field_name => $field) { - $buffer .= " $field_name$eol"; - } - $buffer .= " $eol
".$constraint['references']['table']."
$eol"; - foreach ($constraint['references']['fields'] as $field_name => $field) { - $buffer .= " $field_name$eol"; - } - $buffer .= " $eol"; - - $buffer .= " $eol"; - } - } - - $buffer .= "$eol $eol"; - } - - if ($output) { - call_user_func($output, $buffer); - } else { - fwrite($fp, $buffer); - } - - $buffer = ''; - if ($dump == MDB2_SCHEMA_DUMP_ALL || $dump == MDB2_SCHEMA_DUMP_CONTENT) { - if (!empty($table['initialization']) && is_array($table['initialization'])) { - $buffer = "$eol $eol"; - foreach ($table['initialization'] as $instruction) { - switch ($instruction['type']) { - case 'insert': - $buffer .= "$eol $eol"; - foreach ($instruction['data']['field'] as $field) { - $field_name = $field['name']; - - $buffer .= "$eol $eol $field_name$eol"; - $buffer .= $this->writeExpression($field['group'], 5, $arguments); - $buffer .= " $eol"; - } - $buffer .= "$eol $eol"; - break; - case 'update': - $buffer .= "$eol $eol"; - foreach ($instruction['data']['field'] as $field) { - $field_name = $field['name']; - - $buffer .= "$eol $eol $field_name$eol"; - $buffer .= $this->writeExpression($field['group'], 5, $arguments); - $buffer .= " $eol"; - } - - if (!empty($instruction['data']['where']) - && is_array($instruction['data']['where']) - ) { - $buffer .= " $eol"; - $buffer .= $this->writeExpression($instruction['data']['where'], 5, $arguments); - $buffer .= " $eol"; - } - - $buffer .= "$eol $eol"; - break; - case 'delete': - $buffer .= "$eol $eol$eol"; - if (!empty($instruction['data']['where']) - && is_array($instruction['data']['where']) - ) { - $buffer .= " $eol"; - $buffer .= $this->writeExpression($instruction['data']['where'], 5, $arguments); - $buffer .= " $eol"; - } - $buffer .= "$eol $eol"; - break; - } - } - $buffer .= "$eol $eol"; - } - } - $buffer .= "$eol $eol"; - if ($output) { - call_user_func($output, $buffer); - } else { - fwrite($fp, $buffer); - } - - if (isset($sequences[$table_name])) { - foreach ($sequences[$table_name] as $sequence) { - $result = $this->dumpSequence($database_definition['sequences'][$sequence], - $sequence, $eol, $dump); - if (PEAR::isError($result)) { - return $result; - } - - if ($output) { - call_user_func($output, $result); - } else { - fwrite($fp, $result); - } - } - } - } - } - - if (isset($sequences[''])) { - foreach ($sequences[''] as $sequence) { - $result = $this->dumpSequence($database_definition['sequences'][$sequence], - $sequence, $eol, $dump); - if (PEAR::isError($result)) { - return $result; - } - - if ($output) { - call_user_func($output, $result); - } else { - fwrite($fp, $result); - } - } - } - - $buffer = "$eol
$eol"; - if ($output) { - call_user_func($output, $buffer); - } else { - fwrite($fp, $buffer); - fclose($fp); - } - - return MDB2_OK; - } - - // }}} - // {{{ writeExpression() - - /** - * Dumps the structure of an element. Elements can be value, column, - * function or expression. - * - * @param array $element multi dimensional array that represents the parsed element - * of a DML instruction. - * @param integer $offset base indentation width - * @param array $arguments associative array that takes pairs of tag - * names and values that define dump options. - * - * @return string - * - * @access public - * @see MDB2_Schema_Writer::dumpDatabase() - */ - function writeExpression($element, $offset = 0, $arguments = null) - { - $eol = isset($arguments['end_of_line']) ? $arguments['end_of_line'] : "\n"; - $str = ''; - - $indent = str_repeat(' ', $offset); - $noffset = $offset + 1; - - switch ($element['type']) { - case 'value': - $str .= "$indent".$this->_escapeSpecialChars($element['data'])."$eol"; - break; - case 'column': - $str .= "$indent".$this->_escapeSpecialChars($element['data'])."$eol"; - break; - case 'function': - $str .= "$indent$eol$indent ".$this->_escapeSpecialChars($element['data']['name'])."$eol"; - - if (!empty($element['data']['arguments']) - && is_array($element['data']['arguments']) - ) { - foreach ($element['data']['arguments'] as $v) { - $str .= $this->writeExpression($v, $noffset, $arguments); - } - } - - $str .= "$indent$eol"; - break; - case 'expression': - $str .= "$indent$eol"; - $str .= $this->writeExpression($element['data']['operants'][0], $noffset, $arguments); - $str .= "$indent ".$element['data']['operator']."$eol"; - $str .= $this->writeExpression($element['data']['operants'][1], $noffset, $arguments); - $str .= "$indent$eol"; - break; - } - return $str; - } - - // }}} -} diff --git a/3rdparty/OS/Guess.php b/3rdparty/OS/Guess.php deleted file mode 100644 index d3f2cc764ebfde597f3b6442cdcc54dc6cb513f6..0000000000000000000000000000000000000000 --- a/3rdparty/OS/Guess.php +++ /dev/null @@ -1,338 +0,0 @@ - - * @author Gregory Beaver - * @copyright 1997-2009 The Authors - * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: Guess.php 313023 2011-07-06 19:17:11Z dufuz $ - * @link http://pear.php.net/package/PEAR - * @since File available since PEAR 0.1 - */ - -// {{{ uname examples - -// php_uname() without args returns the same as 'uname -a', or a PHP-custom -// string for Windows. -// PHP versions prior to 4.3 return the uname of the host where PHP was built, -// as of 4.3 it returns the uname of the host running the PHP code. -// -// PC RedHat Linux 7.1: -// Linux host.example.com 2.4.2-2 #1 Sun Apr 8 20:41:30 EDT 2001 i686 unknown -// -// PC Debian Potato: -// Linux host 2.4.17 #2 SMP Tue Feb 12 15:10:04 CET 2002 i686 unknown -// -// PC FreeBSD 3.3: -// FreeBSD host.example.com 3.3-STABLE FreeBSD 3.3-STABLE #0: Mon Feb 21 00:42:31 CET 2000 root@example.com:/usr/src/sys/compile/CONFIG i386 -// -// PC FreeBSD 4.3: -// FreeBSD host.example.com 4.3-RELEASE FreeBSD 4.3-RELEASE #1: Mon Jun 25 11:19:43 EDT 2001 root@example.com:/usr/src/sys/compile/CONFIG i386 -// -// PC FreeBSD 4.5: -// FreeBSD host.example.com 4.5-STABLE FreeBSD 4.5-STABLE #0: Wed Feb 6 23:59:23 CET 2002 root@example.com:/usr/src/sys/compile/CONFIG i386 -// -// PC FreeBSD 4.5 w/uname from GNU shellutils: -// FreeBSD host.example.com 4.5-STABLE FreeBSD 4.5-STABLE #0: Wed Feb i386 unknown -// -// HP 9000/712 HP-UX 10: -// HP-UX iq B.10.10 A 9000/712 2008429113 two-user license -// -// HP 9000/712 HP-UX 10 w/uname from GNU shellutils: -// HP-UX host B.10.10 A 9000/712 unknown -// -// IBM RS6000/550 AIX 4.3: -// AIX host 3 4 000003531C00 -// -// AIX 4.3 w/uname from GNU shellutils: -// AIX host 3 4 000003531C00 unknown -// -// SGI Onyx IRIX 6.5 w/uname from GNU shellutils: -// IRIX64 host 6.5 01091820 IP19 mips -// -// SGI Onyx IRIX 6.5: -// IRIX64 host 6.5 01091820 IP19 -// -// SparcStation 20 Solaris 8 w/uname from GNU shellutils: -// SunOS host.example.com 5.8 Generic_108528-12 sun4m sparc -// -// SparcStation 20 Solaris 8: -// SunOS host.example.com 5.8 Generic_108528-12 sun4m sparc SUNW,SPARCstation-20 -// -// Mac OS X (Darwin) -// Darwin home-eden.local 7.5.0 Darwin Kernel Version 7.5.0: Thu Aug 5 19:26:16 PDT 2004; root:xnu/xnu-517.7.21.obj~3/RELEASE_PPC Power Macintosh -// -// Mac OS X early versions -// - -// }}} - -/* TODO: - * - define endianness, to allow matchSignature("bigend") etc. - */ - -/** - * Retrieves information about the current operating system - * - * This class uses php_uname() to grok information about the current OS - * - * @category pear - * @package PEAR - * @author Stig Bakken - * @author Gregory Beaver - * @copyright 1997-2009 The Authors - * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.4 - * @link http://pear.php.net/package/PEAR - * @since Class available since Release 0.1 - */ -class OS_Guess -{ - var $sysname; - var $nodename; - var $cpu; - var $release; - var $extra; - - function OS_Guess($uname = null) - { - list($this->sysname, - $this->release, - $this->cpu, - $this->extra, - $this->nodename) = $this->parseSignature($uname); - } - - function parseSignature($uname = null) - { - static $sysmap = array( - 'HP-UX' => 'hpux', - 'IRIX64' => 'irix', - ); - static $cpumap = array( - 'i586' => 'i386', - 'i686' => 'i386', - 'ppc' => 'powerpc', - ); - if ($uname === null) { - $uname = php_uname(); - } - $parts = preg_split('/\s+/', trim($uname)); - $n = count($parts); - - $release = $machine = $cpu = ''; - $sysname = $parts[0]; - $nodename = $parts[1]; - $cpu = $parts[$n-1]; - $extra = ''; - if ($cpu == 'unknown') { - $cpu = $parts[$n - 2]; - } - - switch ($sysname) { - case 'AIX' : - $release = "$parts[3].$parts[2]"; - break; - case 'Windows' : - switch ($parts[1]) { - case '95/98': - $release = '9x'; - break; - default: - $release = $parts[1]; - break; - } - $cpu = 'i386'; - break; - case 'Linux' : - $extra = $this->_detectGlibcVersion(); - // use only the first two digits from the kernel version - $release = preg_replace('/^([0-9]+\.[0-9]+).*/', '\1', $parts[2]); - break; - case 'Mac' : - $sysname = 'darwin'; - $nodename = $parts[2]; - $release = $parts[3]; - if ($cpu == 'Macintosh') { - if ($parts[$n - 2] == 'Power') { - $cpu = 'powerpc'; - } - } - break; - case 'Darwin' : - if ($cpu == 'Macintosh') { - if ($parts[$n - 2] == 'Power') { - $cpu = 'powerpc'; - } - } - $release = preg_replace('/^([0-9]+\.[0-9]+).*/', '\1', $parts[2]); - break; - default: - $release = preg_replace('/-.*/', '', $parts[2]); - break; - } - - if (isset($sysmap[$sysname])) { - $sysname = $sysmap[$sysname]; - } else { - $sysname = strtolower($sysname); - } - if (isset($cpumap[$cpu])) { - $cpu = $cpumap[$cpu]; - } - return array($sysname, $release, $cpu, $extra, $nodename); - } - - function _detectGlibcVersion() - { - static $glibc = false; - if ($glibc !== false) { - return $glibc; // no need to run this multiple times - } - $major = $minor = 0; - include_once "System.php"; - // Use glibc's header file to - // get major and minor version number: - if (@file_exists('/usr/include/features.h') && - @is_readable('/usr/include/features.h')) { - if (!@file_exists('/usr/bin/cpp') || !@is_executable('/usr/bin/cpp')) { - $features_file = fopen('/usr/include/features.h', 'rb'); - while (!feof($features_file)) { - $line = fgets($features_file, 8192); - if (!$line || (strpos($line, '#define') === false)) { - continue; - } - if (strpos($line, '__GLIBC__')) { - // major version number #define __GLIBC__ version - $line = preg_split('/\s+/', $line); - $glibc_major = trim($line[2]); - if (isset($glibc_minor)) { - break; - } - continue; - } - - if (strpos($line, '__GLIBC_MINOR__')) { - // got the minor version number - // #define __GLIBC_MINOR__ version - $line = preg_split('/\s+/', $line); - $glibc_minor = trim($line[2]); - if (isset($glibc_major)) { - break; - } - continue; - } - } - fclose($features_file); - if (!isset($glibc_major) || !isset($glibc_minor)) { - return $glibc = ''; - } - return $glibc = 'glibc' . trim($glibc_major) . "." . trim($glibc_minor) ; - } // no cpp - - $tmpfile = System::mktemp("glibctest"); - $fp = fopen($tmpfile, "w"); - fwrite($fp, "#include \n__GLIBC__ __GLIBC_MINOR__\n"); - fclose($fp); - $cpp = popen("/usr/bin/cpp $tmpfile", "r"); - while ($line = fgets($cpp, 1024)) { - if ($line{0} == '#' || trim($line) == '') { - continue; - } - - if (list($major, $minor) = explode(' ', trim($line))) { - break; - } - } - pclose($cpp); - unlink($tmpfile); - } // features.h - - if (!($major && $minor) && @is_link('/lib/libc.so.6')) { - // Let's try reading the libc.so.6 symlink - if (preg_match('/^libc-(.*)\.so$/', basename(readlink('/lib/libc.so.6')), $matches)) { - list($major, $minor) = explode('.', $matches[1]); - } - } - - if (!($major && $minor)) { - return $glibc = ''; - } - - return $glibc = "glibc{$major}.{$minor}"; - } - - function getSignature() - { - if (empty($this->extra)) { - return "{$this->sysname}-{$this->release}-{$this->cpu}"; - } - return "{$this->sysname}-{$this->release}-{$this->cpu}-{$this->extra}"; - } - - function getSysname() - { - return $this->sysname; - } - - function getNodename() - { - return $this->nodename; - } - - function getCpu() - { - return $this->cpu; - } - - function getRelease() - { - return $this->release; - } - - function getExtra() - { - return $this->extra; - } - - function matchSignature($match) - { - $fragments = is_array($match) ? $match : explode('-', $match); - $n = count($fragments); - $matches = 0; - if ($n > 0) { - $matches += $this->_matchFragment($fragments[0], $this->sysname); - } - if ($n > 1) { - $matches += $this->_matchFragment($fragments[1], $this->release); - } - if ($n > 2) { - $matches += $this->_matchFragment($fragments[2], $this->cpu); - } - if ($n > 3) { - $matches += $this->_matchFragment($fragments[3], $this->extra); - } - return ($matches == $n); - } - - function _matchFragment($fragment, $value) - { - if (strcspn($fragment, '*?') < strlen($fragment)) { - $reg = '/^' . str_replace(array('*', '?', '/'), array('.*', '.', '\\/'), $fragment) . '\\z/'; - return preg_match($reg, $value); - } - return ($fragment == '*' || !strcasecmp($fragment, $value)); - } - -} -/* - * Local Variables: - * indent-tabs-mode: nil - * c-basic-offset: 4 - * End: - */ \ No newline at end of file diff --git a/3rdparty/PEAR-LICENSE b/3rdparty/PEAR-LICENSE deleted file mode 100644 index a00a2421fd8cdcb99af083977c4188d70b3c838d..0000000000000000000000000000000000000000 --- a/3rdparty/PEAR-LICENSE +++ /dev/null @@ -1,27 +0,0 @@ -Copyright (c) 1997-2009, - Stig Bakken , - Gregory Beaver , - Helgi Þormar Þorbjörnsson , - Tomas V.V.Cox , - Martin Jansen . -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/3rdparty/PEAR.php b/3rdparty/PEAR.php deleted file mode 100644 index 501f6a653d8a9e8741beca76ca4f2227790057f8..0000000000000000000000000000000000000000 --- a/3rdparty/PEAR.php +++ /dev/null @@ -1,1063 +0,0 @@ - - * @author Stig Bakken - * @author Tomas V.V.Cox - * @author Greg Beaver - * @copyright 1997-2010 The Authors - * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: PEAR.php 313023 2011-07-06 19:17:11Z dufuz $ - * @link http://pear.php.net/package/PEAR - * @since File available since Release 0.1 - */ - -/**#@+ - * ERROR constants - */ -define('PEAR_ERROR_RETURN', 1); -define('PEAR_ERROR_PRINT', 2); -define('PEAR_ERROR_TRIGGER', 4); -define('PEAR_ERROR_DIE', 8); -define('PEAR_ERROR_CALLBACK', 16); -/** - * WARNING: obsolete - * @deprecated - */ -define('PEAR_ERROR_EXCEPTION', 32); -/**#@-*/ -define('PEAR_ZE2', (function_exists('version_compare') && - version_compare(zend_version(), "2-dev", "ge"))); - -if (substr(PHP_OS, 0, 3) == 'WIN') { - define('OS_WINDOWS', true); - define('OS_UNIX', false); - define('PEAR_OS', 'Windows'); -} else { - define('OS_WINDOWS', false); - define('OS_UNIX', true); - define('PEAR_OS', 'Unix'); // blatant assumption -} - -$GLOBALS['_PEAR_default_error_mode'] = PEAR_ERROR_RETURN; -$GLOBALS['_PEAR_default_error_options'] = E_USER_NOTICE; -$GLOBALS['_PEAR_destructor_object_list'] = array(); -$GLOBALS['_PEAR_shutdown_funcs'] = array(); -$GLOBALS['_PEAR_error_handler_stack'] = array(); - -@ini_set('track_errors', true); - -/** - * Base class for other PEAR classes. Provides rudimentary - * emulation of destructors. - * - * If you want a destructor in your class, inherit PEAR and make a - * destructor method called _yourclassname (same name as the - * constructor, but with a "_" prefix). Also, in your constructor you - * have to call the PEAR constructor: $this->PEAR();. - * The destructor method will be called without parameters. Note that - * at in some SAPI implementations (such as Apache), any output during - * the request shutdown (in which destructors are called) seems to be - * discarded. If you need to get any debug information from your - * destructor, use error_log(), syslog() or something similar. - * - * IMPORTANT! To use the emulated destructors you need to create the - * objects by reference: $obj =& new PEAR_child; - * - * @category pear - * @package PEAR - * @author Stig Bakken - * @author Tomas V.V. Cox - * @author Greg Beaver - * @copyright 1997-2006 The PHP Group - * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.4 - * @link http://pear.php.net/package/PEAR - * @see PEAR_Error - * @since Class available since PHP 4.0.2 - * @link http://pear.php.net/manual/en/core.pear.php#core.pear.pear - */ -class PEAR -{ - /** - * Whether to enable internal debug messages. - * - * @var bool - * @access private - */ - var $_debug = false; - - /** - * Default error mode for this object. - * - * @var int - * @access private - */ - var $_default_error_mode = null; - - /** - * Default error options used for this object when error mode - * is PEAR_ERROR_TRIGGER. - * - * @var int - * @access private - */ - var $_default_error_options = null; - - /** - * Default error handler (callback) for this object, if error mode is - * PEAR_ERROR_CALLBACK. - * - * @var string - * @access private - */ - var $_default_error_handler = ''; - - /** - * Which class to use for error objects. - * - * @var string - * @access private - */ - var $_error_class = 'PEAR_Error'; - - /** - * An array of expected errors. - * - * @var array - * @access private - */ - var $_expected_errors = array(); - - /** - * Constructor. Registers this object in - * $_PEAR_destructor_object_list for destructor emulation if a - * destructor object exists. - * - * @param string $error_class (optional) which class to use for - * error objects, defaults to PEAR_Error. - * @access public - * @return void - */ - function PEAR($error_class = null) - { - $classname = strtolower(get_class($this)); - 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)) { - global $_PEAR_destructor_object_list; - $_PEAR_destructor_object_list[] = &$this; - if (!isset($GLOBALS['_PEAR_SHUTDOWN_REGISTERED'])) { - register_shutdown_function("_PEAR_call_destructors"); - $GLOBALS['_PEAR_SHUTDOWN_REGISTERED'] = true; - } - break; - } else { - $classname = get_parent_class($classname); - } - } - } - - /** - * Destructor (the emulated type of...). Does nothing right now, - * but is included for forward compatibility, so subclass - * destructors should always call it. - * - * See the note in the class desciption about output from - * destructors. - * - * @access public - * @return void - */ - function _PEAR() { - if ($this->_debug) { - printf("PEAR destructor called, class=%s\n", strtolower(get_class($this))); - } - } - - /** - * 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 = &PEAR::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. - */ - 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]; - } - - /** - * Use this function to register a shutdown method for static - * classes. - * - * @access public - * @param mixed $func The function name (or array of class/method) to call - * @param mixed $args The arguments to pass to the function - * @return void - */ - function registerShutdownFunc($func, $args = array()) - { - // if we are called statically, there is a potential - // that no shutdown func is registered. Bug #6445 - if (!isset($GLOBALS['_PEAR_SHUTDOWN_REGISTERED'])) { - register_shutdown_function("_PEAR_call_destructors"); - $GLOBALS['_PEAR_SHUTDOWN_REGISTERED'] = true; - } - $GLOBALS['_PEAR_shutdown_funcs'][] = array($func, $args); - } - - /** - * Tell whether a value is a PEAR error. - * - * @param mixed $data the value to test - * @param int $code if $data is an error object, return true - * only if $code is a string and - * $obj->getMessage() == $code or - * $code is an integer and $obj->getCode() == $code - * @access public - * @return bool true if parameter is an error - */ - static function isError($data, $code = null) - { - if (!is_a($data, 'PEAR_Error')) { - return false; - } - - 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. - * Can be invoked both in objects and statically. If called - * statically, setErrorHandling sets the default behaviour for all - * PEAR objects. If called in an object, setErrorHandling sets - * the default behaviour for that object. - * - * @param int $mode - * One of PEAR_ERROR_RETURN, PEAR_ERROR_PRINT, - * PEAR_ERROR_TRIGGER, PEAR_ERROR_DIE, - * PEAR_ERROR_CALLBACK or PEAR_ERROR_EXCEPTION. - * - * @param mixed $options - * When $mode is PEAR_ERROR_TRIGGER, this is the error level (one - * of E_USER_NOTICE, E_USER_WARNING or E_USER_ERROR). - * - * When $mode is PEAR_ERROR_CALLBACK, this parameter is expected - * to be the callback function or method. A callback - * function is a string with the name of the function, a - * callback method is an array of two elements: the element - * at index 0 is the object, and the element at index 1 is - * the name of the method to call in the object. - * - * When $mode is PEAR_ERROR_PRINT or PEAR_ERROR_DIE, this is - * a printf format string used when printing the error - * message. - * - * @access public - * @return void - * @see PEAR_ERROR_RETURN - * @see PEAR_ERROR_PRINT - * @see PEAR_ERROR_TRIGGER - * @see PEAR_ERROR_DIE - * @see PEAR_ERROR_CALLBACK - * @see PEAR_ERROR_EXCEPTION - * - * @since PHP 4.0.5 - */ - function setErrorHandling($mode = null, $options = null) - { - if (isset($this) && is_a($this, 'PEAR')) { - $setmode = &$this->_default_error_mode; - $setoptions = &$this->_default_error_options; - } else { - $setmode = &$GLOBALS['_PEAR_default_error_mode']; - $setoptions = &$GLOBALS['_PEAR_default_error_options']; - } - - switch ($mode) { - case PEAR_ERROR_EXCEPTION: - case PEAR_ERROR_RETURN: - case PEAR_ERROR_PRINT: - case PEAR_ERROR_TRIGGER: - case PEAR_ERROR_DIE: - case null: - $setmode = $mode; - $setoptions = $options; - break; - - case PEAR_ERROR_CALLBACK: - $setmode = $mode; - // class/object method callback - if (is_callable($options)) { - $setoptions = $options; - } else { - trigger_error("invalid error callback", E_USER_WARNING); - } - break; - - default: - trigger_error("invalid error mode", E_USER_WARNING); - break; - } - } - - /** - * This method is used to tell which errors you expect to get. - * Expected errors are always returned with error mode - * PEAR_ERROR_RETURN. Expected error codes are stored in a stack, - * and this method pushes a new element onto it. The list of - * expected errors are in effect until they are popped off the - * stack with the popExpect() method. - * - * Note that this method can not be called statically - * - * @param mixed $code a single error code or an array of error codes to expect - * - * @return int the new depth of the "expected errors" stack - * @access public - */ - function expectError($code = '*') - { - if (is_array($code)) { - array_push($this->_expected_errors, $code); - } else { - array_push($this->_expected_errors, array($code)); - } - return count($this->_expected_errors); - } - - /** - * This method pops one element off the expected error codes - * stack. - * - * @return array the list of error codes that were popped - */ - function popExpect() - { - return array_pop($this->_expected_errors); - } - - /** - * This method checks unsets an error code if available - * - * @param mixed error code - * @return bool true if the error code was unset, false otherwise - * @access private - * @since PHP 4.3.0 - */ - function _checkDelExpect($error_code) - { - $deleted = false; - 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; - } - - // clean up empty arrays - if (0 == count($this->_expected_errors[$key])) { - unset($this->_expected_errors[$key]); - } - } - - return $deleted; - } - - /** - * This method deletes all occurences of the specified element from - * the expected error codes stack. - * - * @param mixed $error_code error code that should be deleted - * @return mixed list of error codes that were deleted or error - * @access public - * @since PHP 4.3.0 - */ - 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) { - $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; - } - - return PEAR::raiseError("The expected error you submitted does not exist"); // IMPROVE ME - } - - // $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 - * configured error class with this object's default error - * handling applied. If the $mode and $options parameters are not - * specified, the object's defaults are used. - * - * @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 int $mode One of PEAR_ERROR_RETURN, PEAR_ERROR_PRINT, - * PEAR_ERROR_TRIGGER, PEAR_ERROR_DIE, - * PEAR_ERROR_CALLBACK, PEAR_ERROR_EXCEPTION. - * - * @param mixed $options If $mode is PEAR_ERROR_TRIGGER, this parameter - * specifies the PHP-internal error level (one of - * E_USER_NOTICE, E_USER_WARNING or E_USER_ERROR). - * If $mode is PEAR_ERROR_CALLBACK, this - * parameter specifies the callback function or - * method. In other error modes this parameter - * is ignored. - * - * @param string $userinfo If you need to pass along for example debug - * information, this parameter is meant for that. - * - * @param string $error_class The returned error object will be - * instantiated from this class, if specified. - * - * @param bool $skipmsg If true, raiseError will only pass error codes, - * the error message parameter will be dropped. - * - * @access public - * @return object a PEAR error object - * @see PEAR::setErrorHandling - * @since PHP 4.0.5 - */ - static function &raiseError($message = null, - $code = null, - $mode = null, - $options = null, - $userinfo = null, - $error_class = null, - $skipmsg = false) - { - // The error is yet a PEAR error object - if (is_object($message)) { - $code = $message->getCode(); - $userinfo = $message->getUserInfo(); - $error_class = $message->getType(); - $message->error_message_prefix = ''; - $message = $message->getMessage(); - } - - 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)) - ) { - $mode = PEAR_ERROR_RETURN; - } - } - - // No mode given, try global ones - if ($mode === null) { - // Class error handler - if (isset($this) && isset($this->_default_error_mode)) { - $mode = $this->_default_error_mode; - $options = $this->_default_error_options; - // Global error handler - } elseif (isset($GLOBALS['_PEAR_default_error_mode'])) { - $mode = $GLOBALS['_PEAR_default_error_mode']; - $options = $GLOBALS['_PEAR_default_error_options']; - } - } - - if ($error_class !== null) { - $ec = $error_class; - } elseif (isset($this) && isset($this->_error_class)) { - $ec = $this->_error_class; - } 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; - } - - /** - * Simpler form of raiseError with fewer options. In most cases - * message, code and userinfo are enough. - * - * @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) - { - if (isset($this) && is_a($this, 'PEAR')) { - $a = $this->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']; - $def_mode = &$GLOBALS['_PEAR_default_error_mode']; - $def_options = &$GLOBALS['_PEAR_default_error_options']; - $stack[] = array($def_mode, $def_options); - switch ($mode) { - case PEAR_ERROR_EXCEPTION: - case PEAR_ERROR_RETURN: - case PEAR_ERROR_PRINT: - case PEAR_ERROR_TRIGGER: - case PEAR_ERROR_DIE: - case null: - $def_mode = $mode; - $def_options = $options; - break; - - case PEAR_ERROR_CALLBACK: - $def_mode = $mode; - // class/object method callback - if (is_callable($options)) { - $def_options = $options; - } else { - trigger_error("invalid error callback", E_USER_WARNING); - } - break; - - default: - trigger_error("invalid error mode", E_USER_WARNING); - break; - } - $stack[] = array($mode, $options); - return true; - } - - function staticPopErrorHandling() - { - $stack = &$GLOBALS['_PEAR_error_handler_stack']; - $setmode = &$GLOBALS['_PEAR_default_error_mode']; - $setoptions = &$GLOBALS['_PEAR_default_error_options']; - array_pop($stack); - list($mode, $options) = $stack[sizeof($stack) - 1]; - array_pop($stack); - switch ($mode) { - case PEAR_ERROR_EXCEPTION: - case PEAR_ERROR_RETURN: - case PEAR_ERROR_PRINT: - case PEAR_ERROR_TRIGGER: - case PEAR_ERROR_DIE: - case null: - $setmode = $mode; - $setoptions = $options; - break; - - case PEAR_ERROR_CALLBACK: - $setmode = $mode; - // class/object method callback - if (is_callable($options)) { - $setoptions = $options; - } else { - trigger_error("invalid error callback", E_USER_WARNING); - } - break; - - default: - trigger_error("invalid error mode", E_USER_WARNING); - break; - } - return true; - } - - /** - * 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 - * it later with popErrorHandling. - * - * @param mixed $mode (same as setErrorHandling) - * @param mixed $options (same as setErrorHandling) - * - * @return bool Always true - * - * @see PEAR::setErrorHandling - */ - function pushErrorHandling($mode, $options = null) - { - $stack = &$GLOBALS['_PEAR_error_handler_stack']; - if (isset($this) && is_a($this, 'PEAR')) { - $def_mode = &$this->_default_error_mode; - $def_options = &$this->_default_error_options; - } else { - $def_mode = &$GLOBALS['_PEAR_default_error_mode']; - $def_options = &$GLOBALS['_PEAR_default_error_options']; - } - $stack[] = array($def_mode, $def_options); - - if (isset($this) && is_a($this, 'PEAR')) { - $this->setErrorHandling($mode, $options); - } else { - PEAR::setErrorHandling($mode, $options); - } - $stack[] = array($mode, $options); - return true; - } - - /** - * Pop the last error handler used - * - * @return bool Always true - * - * @see PEAR::pushErrorHandling - */ - function popErrorHandling() - { - $stack = &$GLOBALS['_PEAR_error_handler_stack']; - array_pop($stack); - list($mode, $options) = $stack[sizeof($stack) - 1]; - array_pop($stack); - if (isset($this) && is_a($this, 'PEAR')) { - $this->setErrorHandling($mode, $options); - } else { - PEAR::setErrorHandling($mode, $options); - } - return true; - } - - /** - * OS independant PHP extension load. Remember to take care - * on the correct extension name for case sensitive OSes. - * - * @param string $ext The extension name - * @return bool Success or not on the dl() call - */ - static function loadExtension($ext) - { - 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; - } - - 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 (PEAR_ZE2) { - include_once 'PEAR5.php'; -} - -function _PEAR_call_destructors() -{ - global $_PEAR_destructor_object_list; - if (is_array($_PEAR_destructor_object_list) && - sizeof($_PEAR_destructor_object_list)) - { - reset($_PEAR_destructor_object_list); - 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) { - $destructor = "_$classname"; - if (method_exists($objref, $destructor)) { - $objref->$destructor(); - break; - } else { - $classname = get_parent_class($classname); - } - } - } - // Empty the object list to ensure that destructors are - // not called more than once. - $_PEAR_destructor_object_list = array(); - } - - // Now call the shutdown functions - 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 - * - * This class is supserseded by {@link PEAR_Exception} in PHP 5 - * - * @category pear - * @package PEAR - * @author Stig Bakken - * @author Tomas V.V. Cox - * @author Gregory Beaver - * @copyright 1997-2006 The PHP Group - * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.4 - * @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 -{ - var $error_message_prefix = ''; - var $mode = PEAR_ERROR_RETURN; - var $level = E_USER_NOTICE; - var $code = -1; - var $message = ''; - var $userinfo = ''; - var $backtrace = null; - - /** - * PEAR_Error constructor - * - * @param string $message message - * - * @param int $code (optional) error code - * - * @param int $mode (optional) error mode, one of: PEAR_ERROR_RETURN, - * PEAR_ERROR_PRINT, PEAR_ERROR_DIE, PEAR_ERROR_TRIGGER, - * PEAR_ERROR_CALLBACK or PEAR_ERROR_EXCEPTION - * - * @param mixed $options (optional) error level, _OR_ in the case of - * PEAR_ERROR_CALLBACK, the callback function or object/method - * tuple. - * - * @param string $userinfo (optional) additional user/debug info - * - * @access public - * - */ - function PEAR_Error($message = 'unknown error', $code = null, - $mode = null, $options = null, $userinfo = null) - { - if ($mode === null) { - $mode = PEAR_ERROR_RETURN; - } - $this->message = $message; - $this->code = $code; - $this->mode = $mode; - $this->userinfo = $userinfo; - - 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; - } else { - 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)) { - $format = "%s"; - if (substr($msg, -1) != "\n") { - $msg .= "\n"; - } - } else { - $format = $options; - } - die(sprintf($format, $msg)); - } - - 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);'); - } - } - - /** - * Get the error mode from an error object. - * - * @return int error mode - * @access public - */ - function getMode() - { - return $this->mode; - } - - /** - * Get the callback function/method from an error object. - * - * @return mixed callback function or object/method array - * @access public - */ - function getCallback() - { - return $this->callback; - } - - /** - * Get the error message from an error object. - * - * @return string full error message - * @access public - */ - function getMessage() - { - return ($this->error_message_prefix . $this->message); - } - - /** - * Get error code from an error object - * - * @return int error code - * @access public - */ - function getCode() - { - return $this->code; - } - - /** - * Get the name of this error/exception. - * - * @return string error/exception name (type) - * @access public - */ - function getType() - { - return get_class($this); - } - - /** - * Get additional user-supplied information. - * - * @return string user-supplied information - * @access public - */ - function getUserInfo() - { - return $this->userinfo; - } - - /** - * Get additional debug information supplied by the application. - * - * @return string debug information - * @access public - */ - function getDebugInfo() - { - return $this->getUserInfo(); - } - - /** - * Get the call backtrace from where the error was generated. - * Supported with PHP 4.3.0 or newer. - * - * @param int $frame (optional) what frame to fetch - * @return array Backtrace, or NULL if not available. - * @access public - */ - function getBacktrace($frame = null) - { - if (defined('PEAR_IGNORE_BACKTRACE')) { - return null; - } - if ($frame === null) { - return $this->backtrace; - } - return $this->backtrace[$frame]; - } - - function addUserInfo($info) - { - if (empty($this->userinfo)) { - $this->userinfo = $info; - } else { - $this->userinfo .= " ** $info"; - } - } - - function __toString() - { - return $this->getMessage(); - } - - /** - * Make a string representation of this object. - * - * @return string a string with an object summary - * @access public - */ - function toString() - { - $modes = array(); - $levels = array(E_USER_NOTICE => 'notice', - E_USER_WARNING => 'warning', - E_USER_ERROR => 'error'); - if ($this->mode & PEAR_ERROR_CALLBACK) { - if (is_array($this->callback)) { - $callback = (is_object($this->callback[0]) ? - strtolower(get_class($this->callback[0])) : - $this->callback[0]) . '::' . - $this->callback[1]; - } else { - $callback = $this->callback; - } - return sprintf('[%s: message="%s" code=%d mode=callback '. - 'callback=%s prefix="%s" info="%s"]', - strtolower(get_class($this)), $this->message, $this->code, - $callback, $this->error_message_prefix, - $this->userinfo); - } - if ($this->mode & PEAR_ERROR_PRINT) { - $modes[] = 'print'; - } - if ($this->mode & PEAR_ERROR_TRIGGER) { - $modes[] = 'trigger'; - } - if ($this->mode & PEAR_ERROR_DIE) { - $modes[] = 'die'; - } - if ($this->mode & PEAR_ERROR_RETURN) { - $modes[] = 'return'; - } - return sprintf('[%s: message="%s" code=%d mode=%s level=%s '. - 'prefix="%s" info="%s"]', - strtolower(get_class($this)), $this->message, $this->code, - implode("|", $modes), $levels[$this->level], - $this->error_message_prefix, - $this->userinfo); - } -} - -/* - * Local Variables: - * mode: php - * tab-width: 4 - * c-basic-offset: 4 - * End: - */ diff --git a/3rdparty/PEAR/Autoloader.php b/3rdparty/PEAR/Autoloader.php deleted file mode 100644 index 51620c7085f7d6a54864b31bde09d042fdea741a..0000000000000000000000000000000000000000 --- a/3rdparty/PEAR/Autoloader.php +++ /dev/null @@ -1,218 +0,0 @@ - - * @copyright 1997-2009 The Authors - * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: Autoloader.php 313023 2011-07-06 19:17:11Z dufuz $ - * @link http://pear.php.net/manual/en/core.ppm.php#core.ppm.pear-autoloader - * @since File available since Release 0.1 - * @deprecated File deprecated in Release 1.4.0a1 - */ - -// /* vim: set expandtab tabstop=4 shiftwidth=4: */ - -if (!extension_loaded("overload")) { - // die hard without ext/overload - die("Rebuild PHP with the `overload' extension to use PEAR_Autoloader"); -} - -/** - * Include for PEAR_Error and PEAR classes - */ -require_once "PEAR.php"; - -/** - * This class is for objects where you want to separate the code for - * some methods into separate classes. This is useful if you have a - * class with not-frequently-used methods that contain lots of code - * that you would like to avoid always parsing. - * - * The PEAR_Autoloader class provides autoloading and aggregation. - * The autoloading lets you set up in which classes the separated - * methods are found. Aggregation is the technique used to import new - * methods, an instance of each class providing separated methods is - * stored and called every time the aggregated method is called. - * - * @category pear - * @package PEAR - * @author Stig Bakken - * @copyright 1997-2009 The Authors - * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.4 - * @link http://pear.php.net/manual/en/core.ppm.php#core.ppm.pear-autoloader - * @since File available since Release 0.1 - * @deprecated File deprecated in Release 1.4.0a1 - */ -class PEAR_Autoloader extends PEAR -{ - // {{{ properties - - /** - * Map of methods and classes where they are defined - * - * @var array - * - * @access private - */ - var $_autoload_map = array(); - - /** - * Map of methods and aggregate objects - * - * @var array - * - * @access private - */ - var $_method_map = array(); - - // }}} - // {{{ addAutoload() - - /** - * Add one or more autoload entries. - * - * @param string $method which method to autoload - * - * @param string $classname (optional) which class to find the method in. - * If the $method parameter is an array, this - * parameter may be omitted (and will be ignored - * if not), and the $method parameter will be - * treated as an associative array with method - * names as keys and class names as values. - * - * @return void - * - * @access public - */ - function addAutoload($method, $classname = null) - { - if (is_array($method)) { - array_walk($method, create_function('$a,&$b', '$b = strtolower($b);')); - $this->_autoload_map = array_merge($this->_autoload_map, $method); - } else { - $this->_autoload_map[strtolower($method)] = $classname; - } - } - - // }}} - // {{{ removeAutoload() - - /** - * Remove an autoload entry. - * - * @param string $method which method to remove the autoload entry for - * - * @return bool TRUE if an entry was removed, FALSE if not - * - * @access public - */ - function removeAutoload($method) - { - $method = strtolower($method); - $ok = isset($this->_autoload_map[$method]); - unset($this->_autoload_map[$method]); - return $ok; - } - - // }}} - // {{{ addAggregateObject() - - /** - * Add an aggregate object to this object. If the specified class - * is not defined, loading it will be attempted following PEAR's - * file naming scheme. All the methods in the class will be - * aggregated, except private ones (name starting with an - * underscore) and constructors. - * - * @param string $classname what class to instantiate for the object. - * - * @return void - * - * @access public - */ - function addAggregateObject($classname) - { - $classname = strtolower($classname); - if (!class_exists($classname)) { - $include_file = preg_replace('/[^a-z0-9]/i', '_', $classname); - include_once $include_file; - } - $obj = new $classname; - $methods = get_class_methods($classname); - foreach ($methods as $method) { - // don't import priviate methods and constructors - if ($method{0} != '_' && $method != $classname) { - $this->_method_map[$method] = $obj; - } - } - } - - // }}} - // {{{ removeAggregateObject() - - /** - * Remove an aggregate object. - * - * @param string $classname the class of the object to remove - * - * @return bool TRUE if an object was removed, FALSE if not - * - * @access public - */ - function removeAggregateObject($classname) - { - $ok = false; - $classname = strtolower($classname); - reset($this->_method_map); - while (list($method, $obj) = each($this->_method_map)) { - if (is_a($obj, $classname)) { - unset($this->_method_map[$method]); - $ok = true; - } - } - return $ok; - } - - // }}} - // {{{ __call() - - /** - * Overloaded object call handler, called each time an - * undefined/aggregated method is invoked. This method repeats - * the call in the right aggregate object and passes on the return - * value. - * - * @param string $method which method that was called - * - * @param string $args An array of the parameters passed in the - * original call - * - * @return mixed The return value from the aggregated method, or a PEAR - * error if the called method was unknown. - */ - function __call($method, $args, &$retval) - { - $method = strtolower($method); - if (empty($this->_method_map[$method]) && isset($this->_autoload_map[$method])) { - $this->addAggregateObject($this->_autoload_map[$method]); - } - if (isset($this->_method_map[$method])) { - $retval = call_user_func_array(array($this->_method_map[$method], $method), $args); - return true; - } - return false; - } - - // }}} -} - -overload("PEAR_Autoloader"); - -?> diff --git a/3rdparty/PEAR/Builder.php b/3rdparty/PEAR/Builder.php deleted file mode 100644 index 90f3a1455524a48454e2d3dd17ea5897b6789660..0000000000000000000000000000000000000000 --- a/3rdparty/PEAR/Builder.php +++ /dev/null @@ -1,489 +0,0 @@ - - * @author Greg Beaver - * @copyright 1997-2009 The Authors - * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: Builder.php 313024 2011-07-06 19:51:24Z dufuz $ - * @link http://pear.php.net/package/PEAR - * @since File available since Release 0.1 - * - * TODO: log output parameters in PECL command line - * TODO: msdev path in configuration - */ - -/** - * Needed for extending PEAR_Builder - */ -require_once 'PEAR/Common.php'; -require_once 'PEAR/PackageFile.php'; - -/** - * Class to handle building (compiling) extensions. - * - * @category pear - * @package PEAR - * @author Stig Bakken - * @author Greg Beaver - * @copyright 1997-2009 The Authors - * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.4 - * @link http://pear.php.net/package/PEAR - * @since Class available since PHP 4.0.2 - * @see http://pear.php.net/manual/en/core.ppm.pear-builder.php - */ -class PEAR_Builder extends PEAR_Common -{ - var $php_api_version = 0; - var $zend_module_api_no = 0; - var $zend_extension_api_no = 0; - - var $extensions_built = array(); - - /** - * @var string Used for reporting when it is not possible to pass function - * via extra parameter, e.g. log, msdevCallback - */ - var $current_callback = null; - - // used for msdev builds - var $_lastline = null; - var $_firstline = null; - - /** - * PEAR_Builder constructor. - * - * @param object $ui user interface object (instance of PEAR_Frontend_*) - * - * @access public - */ - function PEAR_Builder(&$ui) - { - parent::PEAR_Common(); - $this->setFrontendObject($ui); - } - - /** - * Build an extension from source on windows. - * requires msdev - */ - function _build_win32($descfile, $callback = null) - { - if (is_object($descfile)) { - $pkg = $descfile; - $descfile = $pkg->getPackageFile(); - } else { - $pf = &new PEAR_PackageFile($this->config, $this->debug); - $pkg = &$pf->fromPackageFile($descfile, PEAR_VALIDATE_NORMAL); - if (PEAR::isError($pkg)) { - return $pkg; - } - } - $dir = dirname($descfile); - $old_cwd = getcwd(); - - if (!file_exists($dir) || !is_dir($dir) || !chdir($dir)) { - return $this->raiseError("could not chdir to $dir"); - } - - // packages that were in a .tar have the packagefile in this directory - $vdir = $pkg->getPackage() . '-' . $pkg->getVersion(); - if (file_exists($dir) && is_dir($vdir)) { - if (!chdir($vdir)) { - return $this->raiseError("could not chdir to " . realpath($vdir)); - } - - $dir = getcwd(); - } - - $this->log(2, "building in $dir"); - - $dsp = $pkg->getPackage().'.dsp'; - if (!file_exists("$dir/$dsp")) { - return $this->raiseError("The DSP $dsp does not exist."); - } - // XXX TODO: make release build type configurable - $command = 'msdev '.$dsp.' /MAKE "'.$pkg->getPackage(). ' - Release"'; - - $err = $this->_runCommand($command, array(&$this, 'msdevCallback')); - if (PEAR::isError($err)) { - return $err; - } - - // figure out the build platform and type - $platform = 'Win32'; - $buildtype = 'Release'; - if (preg_match('/.*?'.$pkg->getPackage().'\s-\s(\w+)\s(.*?)-+/i',$this->_firstline,$matches)) { - $platform = $matches[1]; - $buildtype = $matches[2]; - } - - if (preg_match('/(.*)?\s-\s(\d+).*?(\d+)/', $this->_lastline, $matches)) { - if ($matches[2]) { - // there were errors in the build - return $this->raiseError("There were errors during compilation."); - } - $out = $matches[1]; - } else { - return $this->raiseError("Did not understand the completion status returned from msdev.exe."); - } - - // msdev doesn't tell us the output directory :/ - // open the dsp, find /out and use that directory - $dsptext = join(file($dsp),''); - - // this regex depends on the build platform and type having been - // correctly identified above. - $regex ='/.*?!IF\s+"\$\(CFG\)"\s+==\s+("'. - $pkg->getPackage().'\s-\s'. - $platform.'\s'. - $buildtype.'").*?'. - '\/out:"(.*?)"/is'; - - if ($dsptext && preg_match($regex, $dsptext, $matches)) { - // what we get back is a relative path to the output file itself. - $outfile = realpath($matches[2]); - } else { - return $this->raiseError("Could not retrieve output information from $dsp."); - } - // realpath returns false if the file doesn't exist - if ($outfile && copy($outfile, "$dir/$out")) { - $outfile = "$dir/$out"; - } - - $built_files[] = array( - 'file' => "$outfile", - 'php_api' => $this->php_api_version, - 'zend_mod_api' => $this->zend_module_api_no, - 'zend_ext_api' => $this->zend_extension_api_no, - ); - - return $built_files; - } - // }}} - - // {{{ msdevCallback() - function msdevCallback($what, $data) - { - if (!$this->_firstline) - $this->_firstline = $data; - $this->_lastline = $data; - call_user_func($this->current_callback, $what, $data); - } - - /** - * @param string - * @param string - * @param array - * @access private - */ - function _harvestInstDir($dest_prefix, $dirname, &$built_files) - { - $d = opendir($dirname); - if (!$d) - return false; - - $ret = true; - while (($ent = readdir($d)) !== false) { - if ($ent{0} == '.') - continue; - - $full = $dirname . DIRECTORY_SEPARATOR . $ent; - if (is_dir($full)) { - if (!$this->_harvestInstDir( - $dest_prefix . DIRECTORY_SEPARATOR . $ent, - $full, $built_files)) { - $ret = false; - break; - } - } else { - $dest = $dest_prefix . DIRECTORY_SEPARATOR . $ent; - $built_files[] = array( - 'file' => $full, - 'dest' => $dest, - 'php_api' => $this->php_api_version, - 'zend_mod_api' => $this->zend_module_api_no, - 'zend_ext_api' => $this->zend_extension_api_no, - ); - } - } - closedir($d); - return $ret; - } - - /** - * Build an extension from source. Runs "phpize" in the source - * directory, but compiles in a temporary directory - * (TMPDIR/pear-build-USER/PACKAGE-VERSION). - * - * @param string|PEAR_PackageFile_v* $descfile path to XML package description file, or - * a PEAR_PackageFile object - * - * @param mixed $callback callback function used to report output, - * see PEAR_Builder::_runCommand for details - * - * @return array an array of associative arrays with built files, - * format: - * array( array( 'file' => '/path/to/ext.so', - * 'php_api' => YYYYMMDD, - * 'zend_mod_api' => YYYYMMDD, - * 'zend_ext_api' => YYYYMMDD ), - * ... ) - * - * @access public - * - * @see PEAR_Builder::_runCommand - */ - function build($descfile, $callback = null) - { - if (preg_match('/(\\/|\\\\|^)([^\\/\\\\]+)?php(.+)?$/', - $this->config->get('php_bin'), $matches)) { - if (isset($matches[2]) && strlen($matches[2]) && - trim($matches[2]) != trim($this->config->get('php_prefix'))) { - $this->log(0, 'WARNING: php_bin ' . $this->config->get('php_bin') . - ' appears to have a prefix ' . $matches[2] . ', but' . - ' config variable php_prefix does not match'); - } - - if (isset($matches[3]) && strlen($matches[3]) && - trim($matches[3]) != trim($this->config->get('php_suffix'))) { - $this->log(0, 'WARNING: php_bin ' . $this->config->get('php_bin') . - ' appears to have a suffix ' . $matches[3] . ', but' . - ' config variable php_suffix does not match'); - } - } - - $this->current_callback = $callback; - if (PEAR_OS == "Windows") { - return $this->_build_win32($descfile, $callback); - } - - if (PEAR_OS != 'Unix') { - return $this->raiseError("building extensions not supported on this platform"); - } - - if (is_object($descfile)) { - $pkg = $descfile; - $descfile = $pkg->getPackageFile(); - if (is_a($pkg, 'PEAR_PackageFile_v1')) { - $dir = dirname($descfile); - } else { - $dir = $pkg->_config->get('temp_dir') . '/' . $pkg->getName(); - // automatically delete at session end - $this->addTempFile($dir); - } - } else { - $pf = &new PEAR_PackageFile($this->config); - $pkg = &$pf->fromPackageFile($descfile, PEAR_VALIDATE_NORMAL); - if (PEAR::isError($pkg)) { - return $pkg; - } - $dir = dirname($descfile); - } - - // Find config. outside of normal path - e.g. config.m4 - foreach (array_keys($pkg->getInstallationFileList()) as $item) { - if (stristr(basename($item), 'config.m4') && dirname($item) != '.') { - $dir .= DIRECTORY_SEPARATOR . dirname($item); - break; - } - } - - $old_cwd = getcwd(); - if (!file_exists($dir) || !is_dir($dir) || !chdir($dir)) { - return $this->raiseError("could not chdir to $dir"); - } - - $vdir = $pkg->getPackage() . '-' . $pkg->getVersion(); - if (is_dir($vdir)) { - chdir($vdir); - } - - $dir = getcwd(); - $this->log(2, "building in $dir"); - putenv('PATH=' . $this->config->get('bin_dir') . ':' . getenv('PATH')); - $err = $this->_runCommand($this->config->get('php_prefix') - . "phpize" . - $this->config->get('php_suffix'), - array(&$this, 'phpizeCallback')); - if (PEAR::isError($err)) { - return $err; - } - - if (!$err) { - return $this->raiseError("`phpize' failed"); - } - - // {{{ start of interactive part - $configure_command = "$dir/configure"; - $configure_options = $pkg->getConfigureOptions(); - if ($configure_options) { - foreach ($configure_options as $o) { - $default = array_key_exists('default', $o) ? $o['default'] : null; - list($r) = $this->ui->userDialog('build', - array($o['prompt']), - array('text'), - array($default)); - if (substr($o['name'], 0, 5) == 'with-' && - ($r == 'yes' || $r == 'autodetect')) { - $configure_command .= " --$o[name]"; - } else { - $configure_command .= " --$o[name]=".trim($r); - } - } - } - // }}} end of interactive part - - // FIXME make configurable - if (!$user=getenv('USER')) { - $user='defaultuser'; - } - - $tmpdir = $this->config->get('temp_dir'); - $build_basedir = System::mktemp(' -t "' . $tmpdir . '" -d "pear-build-' . $user . '"'); - $build_dir = "$build_basedir/$vdir"; - $inst_dir = "$build_basedir/install-$vdir"; - $this->log(1, "building in $build_dir"); - if (is_dir($build_dir)) { - System::rm(array('-rf', $build_dir)); - } - - if (!System::mkDir(array('-p', $build_dir))) { - return $this->raiseError("could not create build dir: $build_dir"); - } - - $this->addTempFile($build_dir); - if (!System::mkDir(array('-p', $inst_dir))) { - return $this->raiseError("could not create temporary install dir: $inst_dir"); - } - $this->addTempFile($inst_dir); - - $make_command = getenv('MAKE') ? getenv('MAKE') : 'make'; - - $to_run = array( - $configure_command, - $make_command, - "$make_command INSTALL_ROOT=\"$inst_dir\" install", - "find \"$inst_dir\" | xargs ls -dils" - ); - if (!file_exists($build_dir) || !is_dir($build_dir) || !chdir($build_dir)) { - return $this->raiseError("could not chdir to $build_dir"); - } - putenv('PHP_PEAR_VERSION=1.9.4'); - foreach ($to_run as $cmd) { - $err = $this->_runCommand($cmd, $callback); - if (PEAR::isError($err)) { - chdir($old_cwd); - return $err; - } - if (!$err) { - chdir($old_cwd); - return $this->raiseError("`$cmd' failed"); - } - } - if (!($dp = opendir("modules"))) { - chdir($old_cwd); - return $this->raiseError("no `modules' directory found"); - } - $built_files = array(); - $prefix = exec($this->config->get('php_prefix') - . "php-config" . - $this->config->get('php_suffix') . " --prefix"); - $this->_harvestInstDir($prefix, $inst_dir . DIRECTORY_SEPARATOR . $prefix, $built_files); - chdir($old_cwd); - return $built_files; - } - - /** - * Message callback function used when running the "phpize" - * program. Extracts the API numbers used. Ignores other message - * types than "cmdoutput". - * - * @param string $what the type of message - * @param mixed $data the message - * - * @return void - * - * @access public - */ - function phpizeCallback($what, $data) - { - if ($what != 'cmdoutput') { - return; - } - $this->log(1, rtrim($data)); - if (preg_match('/You should update your .aclocal.m4/', $data)) { - return; - } - $matches = array(); - if (preg_match('/^\s+(\S[^:]+):\s+(\d{8})/', $data, $matches)) { - $member = preg_replace('/[^a-z]/', '_', strtolower($matches[1])); - $apino = (int)$matches[2]; - if (isset($this->$member)) { - $this->$member = $apino; - //$msg = sprintf("%-22s : %d", $matches[1], $apino); - //$this->log(1, $msg); - } - } - } - - /** - * Run an external command, using a message callback to report - * output. The command will be run through popen and output is - * reported for every line with a "cmdoutput" message with the - * line string, including newlines, as payload. - * - * @param string $command the command to run - * - * @param mixed $callback (optional) function to use as message - * callback - * - * @return bool whether the command was successful (exit code 0 - * means success, any other means failure) - * - * @access private - */ - function _runCommand($command, $callback = null) - { - $this->log(1, "running: $command"); - $pp = popen("$command 2>&1", "r"); - if (!$pp) { - return $this->raiseError("failed to run `$command'"); - } - if ($callback && $callback[0]->debug == 1) { - $olddbg = $callback[0]->debug; - $callback[0]->debug = 2; - } - - while ($line = fgets($pp, 1024)) { - if ($callback) { - call_user_func($callback, 'cmdoutput', $line); - } else { - $this->log(2, rtrim($line)); - } - } - if ($callback && isset($olddbg)) { - $callback[0]->debug = $olddbg; - } - - $exitcode = is_resource($pp) ? pclose($pp) : -1; - return ($exitcode == 0); - } - - function log($level, $msg) - { - if ($this->current_callback) { - if ($this->debug >= $level) { - call_user_func($this->current_callback, 'output', $msg); - } - return; - } - return PEAR_Common::log($level, $msg); - } -} \ No newline at end of file diff --git a/3rdparty/PEAR/ChannelFile.php b/3rdparty/PEAR/ChannelFile.php deleted file mode 100644 index f2c02ab42b78848676665937a6eaa954ba6af23a..0000000000000000000000000000000000000000 --- a/3rdparty/PEAR/ChannelFile.php +++ /dev/null @@ -1,1559 +0,0 @@ - - * @copyright 1997-2009 The Authors - * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: ChannelFile.php 313023 2011-07-06 19:17:11Z dufuz $ - * @link http://pear.php.net/package/PEAR - * @since File available since Release 1.4.0a1 - */ - -/** - * Needed for error handling - */ -require_once 'PEAR/ErrorStack.php'; -require_once 'PEAR/XMLParser.php'; -require_once 'PEAR/Common.php'; - -/** - * Error code if the channel.xml tag does not contain a valid version - */ -define('PEAR_CHANNELFILE_ERROR_NO_VERSION', 1); -/** - * Error code if the channel.xml tag version is not supported (version 1.0 is the only supported version, - * currently - */ -define('PEAR_CHANNELFILE_ERROR_INVALID_VERSION', 2); - -/** - * Error code if parsing is attempted with no xml extension - */ -define('PEAR_CHANNELFILE_ERROR_NO_XML_EXT', 3); - -/** - * Error code if creating the xml parser resource fails - */ -define('PEAR_CHANNELFILE_ERROR_CANT_MAKE_PARSER', 4); - -/** - * Error code used for all sax xml parsing errors - */ -define('PEAR_CHANNELFILE_ERROR_PARSER_ERROR', 5); - -/**#@+ - * Validation errors - */ -/** - * Error code when channel name is missing - */ -define('PEAR_CHANNELFILE_ERROR_NO_NAME', 6); -/** - * Error code when channel name is invalid - */ -define('PEAR_CHANNELFILE_ERROR_INVALID_NAME', 7); -/** - * Error code when channel summary is missing - */ -define('PEAR_CHANNELFILE_ERROR_NO_SUMMARY', 8); -/** - * Error code when channel summary is multi-line - */ -define('PEAR_CHANNELFILE_ERROR_MULTILINE_SUMMARY', 9); -/** - * Error code when channel server is missing for protocol - */ -define('PEAR_CHANNELFILE_ERROR_NO_HOST', 10); -/** - * Error code when channel server is invalid for protocol - */ -define('PEAR_CHANNELFILE_ERROR_INVALID_HOST', 11); -/** - * Error code when a mirror name is invalid - */ -define('PEAR_CHANNELFILE_ERROR_INVALID_MIRROR', 21); -/** - * Error code when a mirror type is invalid - */ -define('PEAR_CHANNELFILE_ERROR_INVALID_MIRRORTYPE', 22); -/** - * Error code when an attempt is made to generate xml, but the parsed content is invalid - */ -define('PEAR_CHANNELFILE_ERROR_INVALID', 23); -/** - * Error code when an empty package name validate regex is passed in - */ -define('PEAR_CHANNELFILE_ERROR_EMPTY_REGEX', 24); -/** - * Error code when a tag has no version - */ -define('PEAR_CHANNELFILE_ERROR_NO_FUNCTIONVERSION', 25); -/** - * Error code when a tag has no name - */ -define('PEAR_CHANNELFILE_ERROR_NO_FUNCTIONNAME', 26); -/** - * Error code when a tag has no name - */ -define('PEAR_CHANNELFILE_ERROR_NOVALIDATE_NAME', 27); -/** - * Error code when a tag has no version attribute - */ -define('PEAR_CHANNELFILE_ERROR_NOVALIDATE_VERSION', 28); -/** - * Error code when a mirror does not exist but is called for in one of the set* - * methods. - */ -define('PEAR_CHANNELFILE_ERROR_MIRROR_NOT_FOUND', 32); -/** - * Error code when a server port is not numeric - */ -define('PEAR_CHANNELFILE_ERROR_INVALID_PORT', 33); -/** - * Error code when contains no version attribute - */ -define('PEAR_CHANNELFILE_ERROR_NO_STATICVERSION', 34); -/** - * Error code when contains no type attribute in a protocol definition - */ -define('PEAR_CHANNELFILE_ERROR_NOBASEURLTYPE', 35); -/** - * Error code when a mirror is defined and the channel.xml represents the __uri pseudo-channel - */ -define('PEAR_CHANNELFILE_URI_CANT_MIRROR', 36); -/** - * Error code when ssl attribute is present and is not "yes" - */ -define('PEAR_CHANNELFILE_ERROR_INVALID_SSL', 37); -/**#@-*/ - -/** - * Mirror types allowed. Currently only internet servers are recognized. - */ -$GLOBALS['_PEAR_CHANNELS_MIRROR_TYPES'] = array('server'); - - -/** - * The Channel handling class - * - * @category pear - * @package PEAR - * @author Greg Beaver - * @copyright 1997-2009 The Authors - * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.4 - * @link http://pear.php.net/package/PEAR - * @since Class available since Release 1.4.0a1 - */ -class PEAR_ChannelFile -{ - /** - * @access private - * @var PEAR_ErrorStack - * @access private - */ - var $_stack; - - /** - * Supported channel.xml versions, for parsing - * @var array - * @access private - */ - var $_supportedVersions = array('1.0'); - - /** - * Parsed channel information - * @var array - * @access private - */ - var $_channelInfo; - - /** - * index into the subchannels array, used for parsing xml - * @var int - * @access private - */ - var $_subchannelIndex; - - /** - * index into the mirrors array, used for parsing xml - * @var int - * @access private - */ - var $_mirrorIndex; - - /** - * Flag used to determine the validity of parsed content - * @var boolean - * @access private - */ - var $_isValid = false; - - function PEAR_ChannelFile() - { - $this->_stack = &new PEAR_ErrorStack('PEAR_ChannelFile'); - $this->_stack->setErrorMessageTemplate($this->_getErrorMessage()); - $this->_isValid = false; - } - - /** - * @return array - * @access protected - */ - function _getErrorMessage() - { - return - array( - PEAR_CHANNELFILE_ERROR_INVALID_VERSION => - 'While parsing channel.xml, an invalid version number "%version% was passed in, expecting one of %versions%', - PEAR_CHANNELFILE_ERROR_NO_VERSION => - 'No version number found in tag', - PEAR_CHANNELFILE_ERROR_NO_XML_EXT => - '%error%', - PEAR_CHANNELFILE_ERROR_CANT_MAKE_PARSER => - 'Unable to create XML parser', - PEAR_CHANNELFILE_ERROR_PARSER_ERROR => - '%error%', - PEAR_CHANNELFILE_ERROR_NO_NAME => - 'Missing channel name', - PEAR_CHANNELFILE_ERROR_INVALID_NAME => - 'Invalid channel %tag% "%name%"', - PEAR_CHANNELFILE_ERROR_NO_SUMMARY => - 'Missing channel summary', - PEAR_CHANNELFILE_ERROR_MULTILINE_SUMMARY => - 'Channel summary should be on one line, but is multi-line', - PEAR_CHANNELFILE_ERROR_NO_HOST => - 'Missing channel server for %type% server', - PEAR_CHANNELFILE_ERROR_INVALID_HOST => - 'Server name "%server%" is invalid for %type% server', - PEAR_CHANNELFILE_ERROR_INVALID_MIRROR => - 'Invalid mirror name "%name%", mirror type %type%', - PEAR_CHANNELFILE_ERROR_INVALID_MIRRORTYPE => - 'Invalid mirror type "%type%"', - PEAR_CHANNELFILE_ERROR_INVALID => - 'Cannot generate xml, contents are invalid', - PEAR_CHANNELFILE_ERROR_EMPTY_REGEX => - 'packagenameregex cannot be empty', - PEAR_CHANNELFILE_ERROR_NO_FUNCTIONVERSION => - '%parent% %protocol% function has no version', - PEAR_CHANNELFILE_ERROR_NO_FUNCTIONNAME => - '%parent% %protocol% function has no name', - PEAR_CHANNELFILE_ERROR_NOBASEURLTYPE => - '%parent% rest baseurl has no type', - PEAR_CHANNELFILE_ERROR_NOVALIDATE_NAME => - 'Validation package has no name in tag', - PEAR_CHANNELFILE_ERROR_NOVALIDATE_VERSION => - 'Validation package "%package%" has no version', - PEAR_CHANNELFILE_ERROR_MIRROR_NOT_FOUND => - 'Mirror "%mirror%" does not exist', - PEAR_CHANNELFILE_ERROR_INVALID_PORT => - 'Port "%port%" must be numeric', - PEAR_CHANNELFILE_ERROR_NO_STATICVERSION => - ' tag must contain version attribute', - PEAR_CHANNELFILE_URI_CANT_MIRROR => - 'The __uri pseudo-channel cannot have mirrors', - PEAR_CHANNELFILE_ERROR_INVALID_SSL => - '%server% has invalid ssl attribute "%ssl%" can only be yes or not present', - ); - } - - /** - * @param string contents of package.xml file - * @return bool success of parsing - */ - function fromXmlString($data) - { - if (preg_match('/_supportedVersions)) { - $this->_stack->push(PEAR_CHANNELFILE_ERROR_INVALID_VERSION, 'error', - array('version' => $channelversion[1])); - return false; - } - $parser = new PEAR_XMLParser; - $result = $parser->parse($data); - if ($result !== true) { - if ($result->getCode() == 1) { - $this->_stack->push(PEAR_CHANNELFILE_ERROR_NO_XML_EXT, 'error', - array('error' => $result->getMessage())); - } else { - $this->_stack->push(PEAR_CHANNELFILE_ERROR_CANT_MAKE_PARSER, 'error'); - } - return false; - } - $this->_channelInfo = $parser->getData(); - return true; - } else { - $this->_stack->push(PEAR_CHANNELFILE_ERROR_NO_VERSION, 'error', array('xml' => $data)); - return false; - } - } - - /** - * @return array - */ - function toArray() - { - if (!$this->_isValid && !$this->validate()) { - return false; - } - return $this->_channelInfo; - } - - /** - * @param array - * @static - * @return PEAR_ChannelFile|false false if invalid - */ - function &fromArray($data, $compatibility = false, $stackClass = 'PEAR_ErrorStack') - { - $a = new PEAR_ChannelFile($compatibility, $stackClass); - $a->_fromArray($data); - if (!$a->validate()) { - $a = false; - return $a; - } - return $a; - } - - /** - * Unlike {@link fromArray()} this does not do any validation - * @param array - * @static - * @return PEAR_ChannelFile - */ - function &fromArrayWithErrors($data, $compatibility = false, - $stackClass = 'PEAR_ErrorStack') - { - $a = new PEAR_ChannelFile($compatibility, $stackClass); - $a->_fromArray($data); - return $a; - } - - /** - * @param array - * @access private - */ - function _fromArray($data) - { - $this->_channelInfo = $data; - } - - /** - * Wrapper to {@link PEAR_ErrorStack::getErrors()} - * @param boolean determines whether to purge the error stack after retrieving - * @return array - */ - function getErrors($purge = false) - { - return $this->_stack->getErrors($purge); - } - - /** - * Unindent given string (?) - * - * @param string $str The string that has to be unindented. - * @return string - * @access private - */ - function _unIndent($str) - { - // remove leading newlines - $str = preg_replace('/^[\r\n]+/', '', $str); - // find whitespace at the beginning of the first line - $indent_len = strspn($str, " \t"); - $indent = substr($str, 0, $indent_len); - $data = ''; - // remove the same amount of whitespace from following lines - foreach (explode("\n", $str) as $line) { - if (substr($line, 0, $indent_len) == $indent) { - $data .= substr($line, $indent_len) . "\n"; - } - } - return $data; - } - - /** - * Parse a channel.xml file. Expects the name of - * a channel xml file as input. - * - * @param string $descfile name of channel xml file - * @return bool success of parsing - */ - function fromXmlFile($descfile) - { - if (!file_exists($descfile) || !is_file($descfile) || !is_readable($descfile) || - (!$fp = fopen($descfile, 'r'))) { - require_once 'PEAR.php'; - return PEAR::raiseError("Unable to open $descfile"); - } - - // read the whole thing so we only get one cdata callback - // for each block of cdata - fclose($fp); - $data = file_get_contents($descfile); - return $this->fromXmlString($data); - } - - /** - * Parse channel information from different sources - * - * This method is able to extract information about a channel - * from an .xml file or a string - * - * @access public - * @param string Filename of the source or the source itself - * @return bool - */ - function fromAny($info) - { - if (is_string($info) && file_exists($info) && strlen($info) < 255) { - $tmp = substr($info, -4); - if ($tmp == '.xml') { - $info = $this->fromXmlFile($info); - } else { - $fp = fopen($info, "r"); - $test = fread($fp, 5); - fclose($fp); - if ($test == "fromXmlFile($info); - } - } - if (PEAR::isError($info)) { - require_once 'PEAR.php'; - return PEAR::raiseError($info); - } - } - if (is_string($info)) { - $info = $this->fromXmlString($info); - } - return $info; - } - - /** - * Return an XML document based on previous parsing and modifications - * - * @return string XML data - * - * @access public - */ - function toXml() - { - if (!$this->_isValid && !$this->validate()) { - $this->_validateError(PEAR_CHANNELFILE_ERROR_INVALID); - return false; - } - if (!isset($this->_channelInfo['attribs']['version'])) { - $this->_channelInfo['attribs']['version'] = '1.0'; - } - $channelInfo = $this->_channelInfo; - $ret = "\n"; - $ret .= " - $channelInfo[name] - " . htmlspecialchars($channelInfo['summary'])." -"; - if (isset($channelInfo['suggestedalias'])) { - $ret .= ' ' . $channelInfo['suggestedalias'] . "\n"; - } - if (isset($channelInfo['validatepackage'])) { - $ret .= ' ' . - htmlspecialchars($channelInfo['validatepackage']['_content']) . - "\n"; - } - $ret .= " \n"; - $ret .= ' _makeRestXml($channelInfo['servers']['primary']['rest'], ' '); - } - $ret .= " \n"; - if (isset($channelInfo['servers']['mirror'])) { - $ret .= $this->_makeMirrorsXml($channelInfo); - } - $ret .= " \n"; - $ret .= ""; - return str_replace("\r", "\n", str_replace("\r\n", "\n", $ret)); - } - - /** - * Generate the tag - * @access private - */ - function _makeRestXml($info, $indent) - { - $ret = $indent . "\n"; - if (isset($info['baseurl']) && !isset($info['baseurl'][0])) { - $info['baseurl'] = array($info['baseurl']); - } - - if (isset($info['baseurl'])) { - foreach ($info['baseurl'] as $url) { - $ret .= "$indent \n"; - } - } - $ret .= $indent . "\n"; - return $ret; - } - - /** - * Generate the tag - * @access private - */ - function _makeMirrorsXml($channelInfo) - { - $ret = ""; - if (!isset($channelInfo['servers']['mirror'][0])) { - $channelInfo['servers']['mirror'] = array($channelInfo['servers']['mirror']); - } - foreach ($channelInfo['servers']['mirror'] as $mirror) { - $ret .= ' _makeRestXml($mirror['rest'], ' '); - } - $ret .= " \n"; - } else { - $ret .= "/>\n"; - } - } - return $ret; - } - - /** - * Generate the tag - * @access private - */ - function _makeFunctionsXml($functions, $indent, $rest = false) - { - $ret = ''; - if (!isset($functions[0])) { - $functions = array($functions); - } - foreach ($functions as $function) { - $ret .= "$indent\n"; - } - return $ret; - } - - /** - * Validation error. Also marks the object contents as invalid - * @param error code - * @param array error information - * @access private - */ - function _validateError($code, $params = array()) - { - $this->_stack->push($code, 'error', $params); - $this->_isValid = false; - } - - /** - * Validation warning. Does not mark the object contents invalid. - * @param error code - * @param array error information - * @access private - */ - function _validateWarning($code, $params = array()) - { - $this->_stack->push($code, 'warning', $params); - } - - /** - * Validate parsed file. - * - * @access public - * @return boolean - */ - function validate() - { - $this->_isValid = true; - $info = $this->_channelInfo; - if (empty($info['name'])) { - $this->_validateError(PEAR_CHANNELFILE_ERROR_NO_NAME); - } elseif (!$this->validChannelServer($info['name'])) { - if ($info['name'] != '__uri') { - $this->_validateError(PEAR_CHANNELFILE_ERROR_INVALID_NAME, array('tag' => 'name', - 'name' => $info['name'])); - } - } - if (empty($info['summary'])) { - $this->_validateError(PEAR_CHANNELFILE_ERROR_NO_SUMMARY); - } elseif (strpos(trim($info['summary']), "\n") !== false) { - $this->_validateWarning(PEAR_CHANNELFILE_ERROR_MULTILINE_SUMMARY, - array('summary' => $info['summary'])); - } - if (isset($info['suggestedalias'])) { - if (!$this->validChannelServer($info['suggestedalias'])) { - $this->_validateError(PEAR_CHANNELFILE_ERROR_INVALID_NAME, - array('tag' => 'suggestedalias', 'name' =>$info['suggestedalias'])); - } - } - if (isset($info['localalias'])) { - if (!$this->validChannelServer($info['localalias'])) { - $this->_validateError(PEAR_CHANNELFILE_ERROR_INVALID_NAME, - array('tag' => 'localalias', 'name' =>$info['localalias'])); - } - } - if (isset($info['validatepackage'])) { - if (!isset($info['validatepackage']['_content'])) { - $this->_validateError(PEAR_CHANNELFILE_ERROR_NOVALIDATE_NAME); - } - if (!isset($info['validatepackage']['attribs']['version'])) { - $content = isset($info['validatepackage']['_content']) ? - $info['validatepackage']['_content'] : - null; - $this->_validateError(PEAR_CHANNELFILE_ERROR_NOVALIDATE_VERSION, - array('package' => $content)); - } - } - - if (isset($info['servers']['primary']['attribs'], $info['servers']['primary']['attribs']['port']) && - !is_numeric($info['servers']['primary']['attribs']['port'])) { - $this->_validateError(PEAR_CHANNELFILE_ERROR_INVALID_PORT, - array('port' => $info['servers']['primary']['attribs']['port'])); - } - - if (isset($info['servers']['primary']['attribs'], $info['servers']['primary']['attribs']['ssl']) && - $info['servers']['primary']['attribs']['ssl'] != 'yes') { - $this->_validateError(PEAR_CHANNELFILE_ERROR_INVALID_SSL, - array('ssl' => $info['servers']['primary']['attribs']['ssl'], - 'server' => $info['name'])); - } - - if (isset($info['servers']['primary']['rest']) && - isset($info['servers']['primary']['rest']['baseurl'])) { - $this->_validateFunctions('rest', $info['servers']['primary']['rest']['baseurl']); - } - if (isset($info['servers']['mirror'])) { - if ($this->_channelInfo['name'] == '__uri') { - $this->_validateError(PEAR_CHANNELFILE_URI_CANT_MIRROR); - } - if (!isset($info['servers']['mirror'][0])) { - $info['servers']['mirror'] = array($info['servers']['mirror']); - } - foreach ($info['servers']['mirror'] as $mirror) { - if (!isset($mirror['attribs']['host'])) { - $this->_validateError(PEAR_CHANNELFILE_ERROR_NO_HOST, - array('type' => 'mirror')); - } elseif (!$this->validChannelServer($mirror['attribs']['host'])) { - $this->_validateError(PEAR_CHANNELFILE_ERROR_INVALID_HOST, - array('server' => $mirror['attribs']['host'], 'type' => 'mirror')); - } - if (isset($mirror['attribs']['ssl']) && $mirror['attribs']['ssl'] != 'yes') { - $this->_validateError(PEAR_CHANNELFILE_ERROR_INVALID_SSL, - array('ssl' => $info['ssl'], 'server' => $mirror['attribs']['host'])); - } - if (isset($mirror['rest'])) { - $this->_validateFunctions('rest', $mirror['rest']['baseurl'], - $mirror['attribs']['host']); - } - } - } - return $this->_isValid; - } - - /** - * @param string rest - protocol name this function applies to - * @param array the functions - * @param string the name of the parent element (mirror name, for instance) - */ - function _validateFunctions($protocol, $functions, $parent = '') - { - if (!isset($functions[0])) { - $functions = array($functions); - } - - foreach ($functions as $function) { - if (!isset($function['_content']) || empty($function['_content'])) { - $this->_validateError(PEAR_CHANNELFILE_ERROR_NO_FUNCTIONNAME, - array('parent' => $parent, 'protocol' => $protocol)); - } - - if ($protocol == 'rest') { - if (!isset($function['attribs']['type']) || - empty($function['attribs']['type'])) { - $this->_validateError(PEAR_CHANNELFILE_ERROR_NOBASEURLTYPE, - array('parent' => $parent, 'protocol' => $protocol)); - } - } else { - if (!isset($function['attribs']['version']) || - empty($function['attribs']['version'])) { - $this->_validateError(PEAR_CHANNELFILE_ERROR_NO_FUNCTIONVERSION, - array('parent' => $parent, 'protocol' => $protocol)); - } - } - } - } - - /** - * Test whether a string contains a valid channel server. - * @param string $ver the package version to test - * @return bool - */ - function validChannelServer($server) - { - if ($server == '__uri') { - return true; - } - return (bool) preg_match(PEAR_CHANNELS_SERVER_PREG, $server); - } - - /** - * @return string|false - */ - function getName() - { - if (isset($this->_channelInfo['name'])) { - return $this->_channelInfo['name']; - } - - return false; - } - - /** - * @return string|false - */ - function getServer() - { - if (isset($this->_channelInfo['name'])) { - return $this->_channelInfo['name']; - } - - return false; - } - - /** - * @return int|80 port number to connect to - */ - function getPort($mirror = false) - { - if ($mirror) { - if ($mir = $this->getMirror($mirror)) { - if (isset($mir['attribs']['port'])) { - return $mir['attribs']['port']; - } - - if ($this->getSSL($mirror)) { - return 443; - } - - return 80; - } - - return false; - } - - if (isset($this->_channelInfo['servers']['primary']['attribs']['port'])) { - return $this->_channelInfo['servers']['primary']['attribs']['port']; - } - - if ($this->getSSL()) { - return 443; - } - - return 80; - } - - /** - * @return bool Determines whether secure sockets layer (SSL) is used to connect to this channel - */ - function getSSL($mirror = false) - { - if ($mirror) { - if ($mir = $this->getMirror($mirror)) { - if (isset($mir['attribs']['ssl'])) { - return true; - } - - return false; - } - - return false; - } - - if (isset($this->_channelInfo['servers']['primary']['attribs']['ssl'])) { - return true; - } - - return false; - } - - /** - * @return string|false - */ - function getSummary() - { - if (isset($this->_channelInfo['summary'])) { - return $this->_channelInfo['summary']; - } - - return false; - } - - /** - * @param string protocol type - * @param string Mirror name - * @return array|false - */ - function getFunctions($protocol, $mirror = false) - { - if ($this->getName() == '__uri') { - return false; - } - - $function = $protocol == 'rest' ? 'baseurl' : 'function'; - if ($mirror) { - if ($mir = $this->getMirror($mirror)) { - if (isset($mir[$protocol][$function])) { - return $mir[$protocol][$function]; - } - } - - return false; - } - - if (isset($this->_channelInfo['servers']['primary'][$protocol][$function])) { - return $this->_channelInfo['servers']['primary'][$protocol][$function]; - } - - return false; - } - - /** - * @param string Protocol type - * @param string Function name (null to return the - * first protocol of the type requested) - * @param string Mirror name, if any - * @return array - */ - function getFunction($type, $name = null, $mirror = false) - { - $protocols = $this->getFunctions($type, $mirror); - if (!$protocols) { - return false; - } - - foreach ($protocols as $protocol) { - if ($name === null) { - return $protocol; - } - - if ($protocol['_content'] != $name) { - continue; - } - - return $protocol; - } - - return false; - } - - /** - * @param string protocol type - * @param string protocol name - * @param string version - * @param string mirror name - * @return boolean - */ - function supports($type, $name = null, $mirror = false, $version = '1.0') - { - $protocols = $this->getFunctions($type, $mirror); - if (!$protocols) { - return false; - } - - foreach ($protocols as $protocol) { - if ($protocol['attribs']['version'] != $version) { - continue; - } - - if ($name === null) { - return true; - } - - if ($protocol['_content'] != $name) { - continue; - } - - return true; - } - - return false; - } - - /** - * Determines whether a channel supports Representational State Transfer (REST) protocols - * for retrieving channel information - * @param string - * @return bool - */ - function supportsREST($mirror = false) - { - if ($mirror == $this->_channelInfo['name']) { - $mirror = false; - } - - if ($mirror) { - if ($mir = $this->getMirror($mirror)) { - return isset($mir['rest']); - } - - return false; - } - - return isset($this->_channelInfo['servers']['primary']['rest']); - } - - /** - * Get the URL to access a base resource. - * - * Hyperlinks in the returned xml will be used to retrieve the proper information - * needed. This allows extreme extensibility and flexibility in implementation - * @param string Resource Type to retrieve - */ - function getBaseURL($resourceType, $mirror = false) - { - if ($mirror == $this->_channelInfo['name']) { - $mirror = false; - } - - if ($mirror) { - $mir = $this->getMirror($mirror); - if (!$mir) { - return false; - } - - $rest = $mir['rest']; - } else { - $rest = $this->_channelInfo['servers']['primary']['rest']; - } - - if (!isset($rest['baseurl'][0])) { - $rest['baseurl'] = array($rest['baseurl']); - } - - foreach ($rest['baseurl'] as $baseurl) { - if (strtolower($baseurl['attribs']['type']) == strtolower($resourceType)) { - return $baseurl['_content']; - } - } - - return false; - } - - /** - * Since REST does not implement RPC, provide this as a logical wrapper around - * resetFunctions for REST - * @param string|false mirror name, if any - */ - function resetREST($mirror = false) - { - return $this->resetFunctions('rest', $mirror); - } - - /** - * Empty all protocol definitions - * @param string protocol type - * @param string|false mirror name, if any - */ - function resetFunctions($type, $mirror = false) - { - if ($mirror) { - if (isset($this->_channelInfo['servers']['mirror'])) { - $mirrors = $this->_channelInfo['servers']['mirror']; - if (!isset($mirrors[0])) { - $mirrors = array($mirrors); - } - - foreach ($mirrors as $i => $mir) { - if ($mir['attribs']['host'] == $mirror) { - if (isset($this->_channelInfo['servers']['mirror'][$i][$type])) { - unset($this->_channelInfo['servers']['mirror'][$i][$type]); - } - - return true; - } - } - - return false; - } - - return false; - } - - if (isset($this->_channelInfo['servers']['primary'][$type])) { - unset($this->_channelInfo['servers']['primary'][$type]); - } - - return true; - } - - /** - * Set a channel's protocols to the protocols supported by pearweb - */ - function setDefaultPEARProtocols($version = '1.0', $mirror = false) - { - switch ($version) { - case '1.0' : - $this->resetREST($mirror); - - if (!isset($this->_channelInfo['servers'])) { - $this->_channelInfo['servers'] = array('primary' => - array('rest' => array())); - } elseif (!isset($this->_channelInfo['servers']['primary'])) { - $this->_channelInfo['servers']['primary'] = array('rest' => array()); - } - - return true; - break; - default : - return false; - break; - } - } - - /** - * @return array - */ - function getMirrors() - { - if (isset($this->_channelInfo['servers']['mirror'])) { - $mirrors = $this->_channelInfo['servers']['mirror']; - if (!isset($mirrors[0])) { - $mirrors = array($mirrors); - } - - return $mirrors; - } - - return array(); - } - - /** - * Get the unserialized XML representing a mirror - * @return array|false - */ - function getMirror($server) - { - foreach ($this->getMirrors() as $mirror) { - if ($mirror['attribs']['host'] == $server) { - return $mirror; - } - } - - return false; - } - - /** - * @param string - * @return string|false - * @error PEAR_CHANNELFILE_ERROR_NO_NAME - * @error PEAR_CHANNELFILE_ERROR_INVALID_NAME - */ - function setName($name) - { - return $this->setServer($name); - } - - /** - * Set the socket number (port) that is used to connect to this channel - * @param integer - * @param string|false name of the mirror server, or false for the primary - */ - function setPort($port, $mirror = false) - { - if ($mirror) { - if (!isset($this->_channelInfo['servers']['mirror'])) { - $this->_validateError(PEAR_CHANNELFILE_ERROR_MIRROR_NOT_FOUND, - array('mirror' => $mirror)); - return false; - } - - if (isset($this->_channelInfo['servers']['mirror'][0])) { - foreach ($this->_channelInfo['servers']['mirror'] as $i => $mir) { - if ($mirror == $mir['attribs']['host']) { - $this->_channelInfo['servers']['mirror'][$i]['attribs']['port'] = $port; - return true; - } - } - - return false; - } elseif ($this->_channelInfo['servers']['mirror']['attribs']['host'] == $mirror) { - $this->_channelInfo['servers']['mirror']['attribs']['port'] = $port; - $this->_isValid = false; - return true; - } - } - - $this->_channelInfo['servers']['primary']['attribs']['port'] = $port; - $this->_isValid = false; - return true; - } - - /** - * Set the socket number (port) that is used to connect to this channel - * @param bool Determines whether to turn on SSL support or turn it off - * @param string|false name of the mirror server, or false for the primary - */ - function setSSL($ssl = true, $mirror = false) - { - if ($mirror) { - if (!isset($this->_channelInfo['servers']['mirror'])) { - $this->_validateError(PEAR_CHANNELFILE_ERROR_MIRROR_NOT_FOUND, - array('mirror' => $mirror)); - return false; - } - - if (isset($this->_channelInfo['servers']['mirror'][0])) { - foreach ($this->_channelInfo['servers']['mirror'] as $i => $mir) { - if ($mirror == $mir['attribs']['host']) { - if (!$ssl) { - if (isset($this->_channelInfo['servers']['mirror'][$i] - ['attribs']['ssl'])) { - unset($this->_channelInfo['servers']['mirror'][$i]['attribs']['ssl']); - } - } else { - $this->_channelInfo['servers']['mirror'][$i]['attribs']['ssl'] = 'yes'; - } - - return true; - } - } - - return false; - } elseif ($this->_channelInfo['servers']['mirror']['attribs']['host'] == $mirror) { - if (!$ssl) { - if (isset($this->_channelInfo['servers']['mirror']['attribs']['ssl'])) { - unset($this->_channelInfo['servers']['mirror']['attribs']['ssl']); - } - } else { - $this->_channelInfo['servers']['mirror']['attribs']['ssl'] = 'yes'; - } - - $this->_isValid = false; - return true; - } - } - - if ($ssl) { - $this->_channelInfo['servers']['primary']['attribs']['ssl'] = 'yes'; - } else { - if (isset($this->_channelInfo['servers']['primary']['attribs']['ssl'])) { - unset($this->_channelInfo['servers']['primary']['attribs']['ssl']); - } - } - - $this->_isValid = false; - return true; - } - - /** - * @param string - * @return string|false - * @error PEAR_CHANNELFILE_ERROR_NO_SERVER - * @error PEAR_CHANNELFILE_ERROR_INVALID_SERVER - */ - function setServer($server, $mirror = false) - { - if (empty($server)) { - $this->_validateError(PEAR_CHANNELFILE_ERROR_NO_SERVER); - return false; - } elseif (!$this->validChannelServer($server)) { - $this->_validateError(PEAR_CHANNELFILE_ERROR_INVALID_NAME, - array('tag' => 'name', 'name' => $server)); - return false; - } - - if ($mirror) { - $found = false; - foreach ($this->_channelInfo['servers']['mirror'] as $i => $mir) { - if ($mirror == $mir['attribs']['host']) { - $found = true; - break; - } - } - - if (!$found) { - $this->_validateError(PEAR_CHANNELFILE_ERROR_MIRROR_NOT_FOUND, - array('mirror' => $mirror)); - return false; - } - - $this->_channelInfo['mirror'][$i]['attribs']['host'] = $server; - return true; - } - - $this->_channelInfo['name'] = $server; - return true; - } - - /** - * @param string - * @return boolean success - * @error PEAR_CHANNELFILE_ERROR_NO_SUMMARY - * @warning PEAR_CHANNELFILE_ERROR_MULTILINE_SUMMARY - */ - function setSummary($summary) - { - if (empty($summary)) { - $this->_validateError(PEAR_CHANNELFILE_ERROR_NO_SUMMARY); - return false; - } elseif (strpos(trim($summary), "\n") !== false) { - $this->_validateWarning(PEAR_CHANNELFILE_ERROR_MULTILINE_SUMMARY, - array('summary' => $summary)); - } - - $this->_channelInfo['summary'] = $summary; - return true; - } - - /** - * @param string - * @param boolean determines whether the alias is in channel.xml or local - * @return boolean success - */ - function setAlias($alias, $local = false) - { - if (!$this->validChannelServer($alias)) { - $this->_validateError(PEAR_CHANNELFILE_ERROR_INVALID_NAME, - array('tag' => 'suggestedalias', 'name' => $alias)); - return false; - } - - if ($local) { - $this->_channelInfo['localalias'] = $alias; - } else { - $this->_channelInfo['suggestedalias'] = $alias; - } - - return true; - } - - /** - * @return string - */ - function getAlias() - { - if (isset($this->_channelInfo['localalias'])) { - return $this->_channelInfo['localalias']; - } - if (isset($this->_channelInfo['suggestedalias'])) { - return $this->_channelInfo['suggestedalias']; - } - if (isset($this->_channelInfo['name'])) { - return $this->_channelInfo['name']; - } - return ''; - } - - /** - * Set the package validation object if it differs from PEAR's default - * The class must be includeable via changing _ in the classname to path separator, - * but no checking of this is made. - * @param string|false pass in false to reset to the default packagename regex - * @return boolean success - */ - function setValidationPackage($validateclass, $version) - { - if (empty($validateclass)) { - unset($this->_channelInfo['validatepackage']); - } - $this->_channelInfo['validatepackage'] = array('_content' => $validateclass); - $this->_channelInfo['validatepackage']['attribs'] = array('version' => $version); - } - - /** - * Add a protocol to the provides section - * @param string protocol type - * @param string protocol version - * @param string protocol name, if any - * @param string mirror name, if this is a mirror's protocol - * @return bool - */ - function addFunction($type, $version, $name = '', $mirror = false) - { - if ($mirror) { - return $this->addMirrorFunction($mirror, $type, $version, $name); - } - - $set = array('attribs' => array('version' => $version), '_content' => $name); - if (!isset($this->_channelInfo['servers']['primary'][$type]['function'])) { - if (!isset($this->_channelInfo['servers'])) { - $this->_channelInfo['servers'] = array('primary' => - array($type => array())); - } elseif (!isset($this->_channelInfo['servers']['primary'])) { - $this->_channelInfo['servers']['primary'] = array($type => array()); - } - - $this->_channelInfo['servers']['primary'][$type]['function'] = $set; - $this->_isValid = false; - return true; - } elseif (!isset($this->_channelInfo['servers']['primary'][$type]['function'][0])) { - $this->_channelInfo['servers']['primary'][$type]['function'] = array( - $this->_channelInfo['servers']['primary'][$type]['function']); - } - - $this->_channelInfo['servers']['primary'][$type]['function'][] = $set; - return true; - } - /** - * Add a protocol to a mirror's provides section - * @param string mirror name (server) - * @param string protocol type - * @param string protocol version - * @param string protocol name, if any - */ - function addMirrorFunction($mirror, $type, $version, $name = '') - { - if (!isset($this->_channelInfo['servers']['mirror'])) { - $this->_validateError(PEAR_CHANNELFILE_ERROR_MIRROR_NOT_FOUND, - array('mirror' => $mirror)); - return false; - } - - $setmirror = false; - if (isset($this->_channelInfo['servers']['mirror'][0])) { - foreach ($this->_channelInfo['servers']['mirror'] as $i => $mir) { - if ($mirror == $mir['attribs']['host']) { - $setmirror = &$this->_channelInfo['servers']['mirror'][$i]; - break; - } - } - } else { - if ($this->_channelInfo['servers']['mirror']['attribs']['host'] == $mirror) { - $setmirror = &$this->_channelInfo['servers']['mirror']; - } - } - - if (!$setmirror) { - $this->_validateError(PEAR_CHANNELFILE_ERROR_MIRROR_NOT_FOUND, - array('mirror' => $mirror)); - return false; - } - - $set = array('attribs' => array('version' => $version), '_content' => $name); - if (!isset($setmirror[$type]['function'])) { - $setmirror[$type]['function'] = $set; - $this->_isValid = false; - return true; - } elseif (!isset($setmirror[$type]['function'][0])) { - $setmirror[$type]['function'] = array($setmirror[$type]['function']); - } - - $setmirror[$type]['function'][] = $set; - $this->_isValid = false; - return true; - } - - /** - * @param string Resource Type this url links to - * @param string URL - * @param string|false mirror name, if this is not a primary server REST base URL - */ - function setBaseURL($resourceType, $url, $mirror = false) - { - if ($mirror) { - if (!isset($this->_channelInfo['servers']['mirror'])) { - $this->_validateError(PEAR_CHANNELFILE_ERROR_MIRROR_NOT_FOUND, - array('mirror' => $mirror)); - return false; - } - - $setmirror = false; - if (isset($this->_channelInfo['servers']['mirror'][0])) { - foreach ($this->_channelInfo['servers']['mirror'] as $i => $mir) { - if ($mirror == $mir['attribs']['host']) { - $setmirror = &$this->_channelInfo['servers']['mirror'][$i]; - break; - } - } - } else { - if ($this->_channelInfo['servers']['mirror']['attribs']['host'] == $mirror) { - $setmirror = &$this->_channelInfo['servers']['mirror']; - } - } - } else { - $setmirror = &$this->_channelInfo['servers']['primary']; - } - - $set = array('attribs' => array('type' => $resourceType), '_content' => $url); - if (!isset($setmirror['rest'])) { - $setmirror['rest'] = array(); - } - - if (!isset($setmirror['rest']['baseurl'])) { - $setmirror['rest']['baseurl'] = $set; - $this->_isValid = false; - return true; - } elseif (!isset($setmirror['rest']['baseurl'][0])) { - $setmirror['rest']['baseurl'] = array($setmirror['rest']['baseurl']); - } - - foreach ($setmirror['rest']['baseurl'] as $i => $url) { - if ($url['attribs']['type'] == $resourceType) { - $this->_isValid = false; - $setmirror['rest']['baseurl'][$i] = $set; - return true; - } - } - - $setmirror['rest']['baseurl'][] = $set; - $this->_isValid = false; - return true; - } - - /** - * @param string mirror server - * @param int mirror http port - * @return boolean - */ - function addMirror($server, $port = null) - { - if ($this->_channelInfo['name'] == '__uri') { - return false; // the __uri channel cannot have mirrors by definition - } - - $set = array('attribs' => array('host' => $server)); - if (is_numeric($port)) { - $set['attribs']['port'] = $port; - } - - if (!isset($this->_channelInfo['servers']['mirror'])) { - $this->_channelInfo['servers']['mirror'] = $set; - return true; - } - - if (!isset($this->_channelInfo['servers']['mirror'][0])) { - $this->_channelInfo['servers']['mirror'] = - array($this->_channelInfo['servers']['mirror']); - } - - $this->_channelInfo['servers']['mirror'][] = $set; - return true; - } - - /** - * Retrieve the name of the validation package for this channel - * @return string|false - */ - function getValidationPackage() - { - if (!$this->_isValid && !$this->validate()) { - return false; - } - - if (!isset($this->_channelInfo['validatepackage'])) { - return array('attribs' => array('version' => 'default'), - '_content' => 'PEAR_Validate'); - } - - return $this->_channelInfo['validatepackage']; - } - - /** - * Retrieve the object that can be used for custom validation - * @param string|false the name of the package to validate. If the package is - * the channel validation package, PEAR_Validate is returned - * @return PEAR_Validate|false false is returned if the validation package - * cannot be located - */ - function &getValidationObject($package = false) - { - if (!class_exists('PEAR_Validate')) { - require_once 'PEAR/Validate.php'; - } - - if (!$this->_isValid) { - if (!$this->validate()) { - $a = false; - return $a; - } - } - - if (isset($this->_channelInfo['validatepackage'])) { - if ($package == $this->_channelInfo['validatepackage']) { - // channel validation packages are always validated by PEAR_Validate - $val = &new PEAR_Validate; - return $val; - } - - if (!class_exists(str_replace('.', '_', - $this->_channelInfo['validatepackage']['_content']))) { - if ($this->isIncludeable(str_replace('_', '/', - $this->_channelInfo['validatepackage']['_content']) . '.php')) { - include_once str_replace('_', '/', - $this->_channelInfo['validatepackage']['_content']) . '.php'; - $vclass = str_replace('.', '_', - $this->_channelInfo['validatepackage']['_content']); - $val = &new $vclass; - } else { - $a = false; - return $a; - } - } else { - $vclass = str_replace('.', '_', - $this->_channelInfo['validatepackage']['_content']); - $val = &new $vclass; - } - } else { - $val = &new PEAR_Validate; - } - - return $val; - } - - function isIncludeable($path) - { - $possibilities = explode(PATH_SEPARATOR, ini_get('include_path')); - foreach ($possibilities as $dir) { - if (file_exists($dir . DIRECTORY_SEPARATOR . $path) - && is_readable($dir . DIRECTORY_SEPARATOR . $path)) { - return true; - } - } - - return false; - } - - /** - * This function is used by the channel updater and retrieves a value set by - * the registry, or the current time if it has not been set - * @return string - */ - function lastModified() - { - if (isset($this->_channelInfo['_lastmodified'])) { - return $this->_channelInfo['_lastmodified']; - } - - return time(); - } -} \ No newline at end of file diff --git a/3rdparty/PEAR/ChannelFile/Parser.php b/3rdparty/PEAR/ChannelFile/Parser.php deleted file mode 100644 index e630ace2245d983f005d27bd35dde4bec13d7a5a..0000000000000000000000000000000000000000 --- a/3rdparty/PEAR/ChannelFile/Parser.php +++ /dev/null @@ -1,68 +0,0 @@ - - * @copyright 1997-2009 The Authors - * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: Parser.php 313023 2011-07-06 19:17:11Z dufuz $ - * @link http://pear.php.net/package/PEAR - * @since File available since Release 1.4.0a1 - */ - -/** - * base xml parser class - */ -require_once 'PEAR/XMLParser.php'; -require_once 'PEAR/ChannelFile.php'; -/** - * Parser for channel.xml - * @category pear - * @package PEAR - * @author Greg Beaver - * @copyright 1997-2009 The Authors - * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.4 - * @link http://pear.php.net/package/PEAR - * @since Class available since Release 1.4.0a1 - */ -class PEAR_ChannelFile_Parser extends PEAR_XMLParser -{ - var $_config; - var $_logger; - var $_registry; - - function setConfig(&$c) - { - $this->_config = &$c; - $this->_registry = &$c->getRegistry(); - } - - function setLogger(&$l) - { - $this->_logger = &$l; - } - - function parse($data, $file) - { - if (PEAR::isError($err = parent::parse($data, $file))) { - return $err; - } - - $ret = new PEAR_ChannelFile; - $ret->setConfig($this->_config); - if (isset($this->_logger)) { - $ret->setLogger($this->_logger); - } - - $ret->fromArray($this->_unserializedData); - // make sure the filelist is in the easy to read format needed - $ret->flattenFilelist(); - $ret->setPackagefile($file, $archive); - return $ret; - } -} \ No newline at end of file diff --git a/3rdparty/PEAR/Command.php b/3rdparty/PEAR/Command.php deleted file mode 100644 index 13518d4e4b253574978b389b2bae4f64a0a3143f..0000000000000000000000000000000000000000 --- a/3rdparty/PEAR/Command.php +++ /dev/null @@ -1,414 +0,0 @@ - - * @author Greg Beaver - * @copyright 1997-2009 The Authors - * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: Command.php 313023 2011-07-06 19:17:11Z dufuz $ - * @link http://pear.php.net/package/PEAR - * @since File available since Release 0.1 - */ - -/** - * Needed for error handling - */ -require_once 'PEAR.php'; -require_once 'PEAR/Frontend.php'; -require_once 'PEAR/XMLParser.php'; - -/** - * List of commands and what classes they are implemented in. - * @var array command => implementing class - */ -$GLOBALS['_PEAR_Command_commandlist'] = array(); - -/** - * List of commands and their descriptions - * @var array command => description - */ -$GLOBALS['_PEAR_Command_commanddesc'] = array(); - -/** - * List of shortcuts to common commands. - * @var array shortcut => command - */ -$GLOBALS['_PEAR_Command_shortcuts'] = array(); - -/** - * Array of command objects - * @var array class => object - */ -$GLOBALS['_PEAR_Command_objects'] = array(); - -/** - * PEAR command class, a simple factory class for administrative - * commands. - * - * How to implement command classes: - * - * - The class must be called PEAR_Command_Nnn, installed in the - * "PEAR/Common" subdir, with a method called getCommands() that - * returns an array of the commands implemented by the class (see - * PEAR/Command/Install.php for an example). - * - * - The class must implement a run() function that is called with three - * params: - * - * (string) command name - * (array) assoc array with options, freely defined by each - * command, for example: - * array('force' => true) - * (array) list of the other parameters - * - * The run() function returns a PEAR_CommandResponse object. Use - * these methods to get information: - * - * int getStatus() Returns PEAR_COMMAND_(SUCCESS|FAILURE|PARTIAL) - * *_PARTIAL means that you need to issue at least - * one more command to complete the operation - * (used for example for validation steps). - * - * string getMessage() Returns a message for the user. Remember, - * no HTML or other interface-specific markup. - * - * If something unexpected happens, run() returns a PEAR error. - * - * - DON'T OUTPUT ANYTHING! Return text for output instead. - * - * - DON'T USE HTML! The text you return will be used from both Gtk, - * web and command-line interfaces, so for now, keep everything to - * plain text. - * - * - DON'T USE EXIT OR DIE! Always use pear errors. From static - * classes do PEAR::raiseError(), from other classes do - * $this->raiseError(). - * @category pear - * @package PEAR - * @author Stig Bakken - * @author Greg Beaver - * @copyright 1997-2009 The Authors - * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.4 - * @link http://pear.php.net/package/PEAR - * @since Class available since Release 0.1 - */ -class PEAR_Command -{ - // {{{ factory() - - /** - * Get the right object for executing a command. - * - * @param string $command The name of the command - * @param object $config Instance of PEAR_Config object - * - * @return object the command object or a PEAR error - * - * @access public - * @static - */ - function &factory($command, &$config) - { - if (empty($GLOBALS['_PEAR_Command_commandlist'])) { - PEAR_Command::registerCommands(); - } - if (isset($GLOBALS['_PEAR_Command_shortcuts'][$command])) { - $command = $GLOBALS['_PEAR_Command_shortcuts'][$command]; - } - if (!isset($GLOBALS['_PEAR_Command_commandlist'][$command])) { - $a = PEAR::raiseError("unknown command `$command'"); - return $a; - } - $class = $GLOBALS['_PEAR_Command_commandlist'][$command]; - if (!class_exists($class)) { - require_once $GLOBALS['_PEAR_Command_objects'][$class]; - } - if (!class_exists($class)) { - $a = PEAR::raiseError("unknown command `$command'"); - return $a; - } - $ui = PEAR_Command::getFrontendObject(); - $obj = new $class($ui, $config); - return $obj; - } - - // }}} - // {{{ & getObject() - function &getObject($command) - { - $class = $GLOBALS['_PEAR_Command_commandlist'][$command]; - if (!class_exists($class)) { - require_once $GLOBALS['_PEAR_Command_objects'][$class]; - } - if (!class_exists($class)) { - return PEAR::raiseError("unknown command `$command'"); - } - $ui = PEAR_Command::getFrontendObject(); - $config = &PEAR_Config::singleton(); - $obj = &new $class($ui, $config); - return $obj; - } - - // }}} - // {{{ & getFrontendObject() - - /** - * Get instance of frontend object. - * - * @return object|PEAR_Error - * @static - */ - function &getFrontendObject() - { - $a = &PEAR_Frontend::singleton(); - return $a; - } - - // }}} - // {{{ & setFrontendClass() - - /** - * Load current frontend class. - * - * @param string $uiclass Name of class implementing the frontend - * - * @return object the frontend object, or a PEAR error - * @static - */ - function &setFrontendClass($uiclass) - { - $a = &PEAR_Frontend::setFrontendClass($uiclass); - return $a; - } - - // }}} - // {{{ setFrontendType() - - /** - * Set current frontend. - * - * @param string $uitype Name of the frontend type (for example "CLI") - * - * @return object the frontend object, or a PEAR error - * @static - */ - function setFrontendType($uitype) - { - $uiclass = 'PEAR_Frontend_' . $uitype; - return PEAR_Command::setFrontendClass($uiclass); - } - - // }}} - // {{{ registerCommands() - - /** - * Scan through the Command directory looking for classes - * and see what commands they implement. - * - * @param bool (optional) if FALSE (default), the new list of - * commands should replace the current one. If TRUE, - * new entries will be merged with old. - * - * @param string (optional) where (what directory) to look for - * classes, defaults to the Command subdirectory of - * the directory from where this file (__FILE__) is - * included. - * - * @return bool TRUE on success, a PEAR error on failure - * - * @access public - * @static - */ - function registerCommands($merge = false, $dir = null) - { - $parser = new PEAR_XMLParser; - if ($dir === null) { - $dir = dirname(__FILE__) . '/Command'; - } - if (!is_dir($dir)) { - return PEAR::raiseError("registerCommands: opendir($dir) '$dir' does not exist or is not a directory"); - } - $dp = @opendir($dir); - if (empty($dp)) { - return PEAR::raiseError("registerCommands: opendir($dir) failed"); - } - if (!$merge) { - $GLOBALS['_PEAR_Command_commandlist'] = array(); - } - - while ($file = readdir($dp)) { - if ($file{0} == '.' || substr($file, -4) != '.xml') { - continue; - } - - $f = substr($file, 0, -4); - $class = "PEAR_Command_" . $f; - // List of commands - if (empty($GLOBALS['_PEAR_Command_objects'][$class])) { - $GLOBALS['_PEAR_Command_objects'][$class] = "$dir/" . $f . '.php'; - } - - $parser->parse(file_get_contents("$dir/$file")); - $implements = $parser->getData(); - foreach ($implements as $command => $desc) { - if ($command == 'attribs') { - continue; - } - - if (isset($GLOBALS['_PEAR_Command_commandlist'][$command])) { - return PEAR::raiseError('Command "' . $command . '" already registered in ' . - 'class "' . $GLOBALS['_PEAR_Command_commandlist'][$command] . '"'); - } - - $GLOBALS['_PEAR_Command_commandlist'][$command] = $class; - $GLOBALS['_PEAR_Command_commanddesc'][$command] = $desc['summary']; - if (isset($desc['shortcut'])) { - $shortcut = $desc['shortcut']; - if (isset($GLOBALS['_PEAR_Command_shortcuts'][$shortcut])) { - return PEAR::raiseError('Command shortcut "' . $shortcut . '" already ' . - 'registered to command "' . $command . '" in class "' . - $GLOBALS['_PEAR_Command_commandlist'][$command] . '"'); - } - $GLOBALS['_PEAR_Command_shortcuts'][$shortcut] = $command; - } - - if (isset($desc['options']) && $desc['options']) { - foreach ($desc['options'] as $oname => $option) { - if (isset($option['shortopt']) && strlen($option['shortopt']) > 1) { - return PEAR::raiseError('Option "' . $oname . '" short option "' . - $option['shortopt'] . '" must be ' . - 'only 1 character in Command "' . $command . '" in class "' . - $class . '"'); - } - } - } - } - } - - ksort($GLOBALS['_PEAR_Command_shortcuts']); - ksort($GLOBALS['_PEAR_Command_commandlist']); - @closedir($dp); - return true; - } - - // }}} - // {{{ getCommands() - - /** - * Get the list of currently supported commands, and what - * classes implement them. - * - * @return array command => implementing class - * - * @access public - * @static - */ - function getCommands() - { - if (empty($GLOBALS['_PEAR_Command_commandlist'])) { - PEAR_Command::registerCommands(); - } - return $GLOBALS['_PEAR_Command_commandlist']; - } - - // }}} - // {{{ getShortcuts() - - /** - * Get the list of command shortcuts. - * - * @return array shortcut => command - * - * @access public - * @static - */ - function getShortcuts() - { - if (empty($GLOBALS['_PEAR_Command_shortcuts'])) { - PEAR_Command::registerCommands(); - } - return $GLOBALS['_PEAR_Command_shortcuts']; - } - - // }}} - // {{{ getGetoptArgs() - - /** - * Compiles arguments for getopt. - * - * @param string $command command to get optstring for - * @param string $short_args (reference) short getopt format - * @param array $long_args (reference) long getopt format - * - * @return void - * - * @access public - * @static - */ - function getGetoptArgs($command, &$short_args, &$long_args) - { - if (empty($GLOBALS['_PEAR_Command_commandlist'])) { - PEAR_Command::registerCommands(); - } - if (isset($GLOBALS['_PEAR_Command_shortcuts'][$command])) { - $command = $GLOBALS['_PEAR_Command_shortcuts'][$command]; - } - if (!isset($GLOBALS['_PEAR_Command_commandlist'][$command])) { - return null; - } - $obj = &PEAR_Command::getObject($command); - return $obj->getGetoptArgs($command, $short_args, $long_args); - } - - // }}} - // {{{ getDescription() - - /** - * Get description for a command. - * - * @param string $command Name of the command - * - * @return string command description - * - * @access public - * @static - */ - function getDescription($command) - { - if (!isset($GLOBALS['_PEAR_Command_commanddesc'][$command])) { - return null; - } - return $GLOBALS['_PEAR_Command_commanddesc'][$command]; - } - - // }}} - // {{{ getHelp() - - /** - * Get help for command. - * - * @param string $command Name of the command to return help for - * - * @access public - * @static - */ - function getHelp($command) - { - $cmds = PEAR_Command::getCommands(); - if (isset($GLOBALS['_PEAR_Command_shortcuts'][$command])) { - $command = $GLOBALS['_PEAR_Command_shortcuts'][$command]; - } - if (isset($cmds[$command])) { - $obj = &PEAR_Command::getObject($command); - return $obj->getHelp($command); - } - return false; - } - // }}} -} \ No newline at end of file diff --git a/3rdparty/PEAR/Command/Auth.php b/3rdparty/PEAR/Command/Auth.php deleted file mode 100644 index 63cd152b900735ee8c07a5b342460f9cb8963254..0000000000000000000000000000000000000000 --- a/3rdparty/PEAR/Command/Auth.php +++ /dev/null @@ -1,81 +0,0 @@ - - * @author Greg Beaver - * @copyright 1997-2009 The Authors - * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: Auth.php 313023 2011-07-06 19:17:11Z dufuz $ - * @link http://pear.php.net/package/PEAR - * @since File available since Release 0.1 - * @deprecated since 1.8.0alpha1 - */ - -/** - * base class - */ -require_once 'PEAR/Command/Channels.php'; - -/** - * PEAR commands for login/logout - * - * @category pear - * @package PEAR - * @author Stig Bakken - * @author Greg Beaver - * @copyright 1997-2009 The Authors - * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.4 - * @link http://pear.php.net/package/PEAR - * @since Class available since Release 0.1 - * @deprecated since 1.8.0alpha1 - */ -class PEAR_Command_Auth extends PEAR_Command_Channels -{ - var $commands = array( - 'login' => array( - 'summary' => 'Connects and authenticates to remote server [Deprecated in favor of channel-login]', - 'shortcut' => 'li', - 'function' => 'doLogin', - 'options' => array(), - 'doc' => ' -WARNING: This function is deprecated in favor of using channel-login - -Log in to a remote channel server. If is not supplied, -the default channel is used. To use remote functions in the installer -that require any kind of privileges, you need to log in first. The -username and password you enter here will be stored in your per-user -PEAR configuration (~/.pearrc on Unix-like systems). After logging -in, your username and password will be sent along in subsequent -operations on the remote server.', - ), - 'logout' => array( - 'summary' => 'Logs out from the remote server [Deprecated in favor of channel-logout]', - 'shortcut' => 'lo', - 'function' => 'doLogout', - 'options' => array(), - 'doc' => ' -WARNING: This function is deprecated in favor of using channel-logout - -Logs out from the remote server. This command does not actually -connect to the remote server, it only deletes the stored username and -password from your user configuration.', - ) - - ); - - /** - * PEAR_Command_Auth constructor. - * - * @access public - */ - function PEAR_Command_Auth(&$ui, &$config) - { - parent::PEAR_Command_Channels($ui, $config); - } -} \ No newline at end of file diff --git a/3rdparty/PEAR/Command/Auth.xml b/3rdparty/PEAR/Command/Auth.xml deleted file mode 100644 index 590193d142a989432488be51eb5f32f01285b5a8..0000000000000000000000000000000000000000 --- a/3rdparty/PEAR/Command/Auth.xml +++ /dev/null @@ -1,30 +0,0 @@ - - - Connects and authenticates to remote server [Deprecated in favor of channel-login] - doLogin - li - - <channel name> -WARNING: This function is deprecated in favor of using channel-login - -Log in to a remote channel server. If <channel name> is not supplied, -the default channel is used. To use remote functions in the installer -that require any kind of privileges, you need to log in first. The -username and password you enter here will be stored in your per-user -PEAR configuration (~/.pearrc on Unix-like systems). After logging -in, your username and password will be sent along in subsequent -operations on the remote server. - - - Logs out from the remote server [Deprecated in favor of channel-logout] - doLogout - lo - - -WARNING: This function is deprecated in favor of using channel-logout - -Logs out from the remote server. This command does not actually -connect to the remote server, it only deletes the stored username and -password from your user configuration. - - \ No newline at end of file diff --git a/3rdparty/PEAR/Command/Build.php b/3rdparty/PEAR/Command/Build.php deleted file mode 100644 index 1de7320246a1c292c49f4f5800c1438b10e7cb3b..0000000000000000000000000000000000000000 --- a/3rdparty/PEAR/Command/Build.php +++ /dev/null @@ -1,85 +0,0 @@ - - * @author Tomas V.V.Cox - * @author Greg Beaver - * @copyright 1997-2009 The Authors - * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: Build.php 313023 2011-07-06 19:17:11Z dufuz $ - * @link http://pear.php.net/package/PEAR - * @since File available since Release 0.1 - */ - -/** - * base class - */ -require_once 'PEAR/Command/Common.php'; - -/** - * PEAR commands for building extensions. - * - * @category pear - * @package PEAR - * @author Stig Bakken - * @author Tomas V.V.Cox - * @author Greg Beaver - * @copyright 1997-2009 The Authors - * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.4 - * @link http://pear.php.net/package/PEAR - * @since Class available since Release 0.1 - */ -class PEAR_Command_Build extends PEAR_Command_Common -{ - var $commands = array( - 'build' => array( - 'summary' => 'Build an Extension From C Source', - 'function' => 'doBuild', - 'shortcut' => 'b', - 'options' => array(), - 'doc' => '[package.xml] -Builds one or more extensions contained in a package.' - ), - ); - - /** - * PEAR_Command_Build constructor. - * - * @access public - */ - function PEAR_Command_Build(&$ui, &$config) - { - parent::PEAR_Command_Common($ui, $config); - } - - function doBuild($command, $options, $params) - { - require_once 'PEAR/Builder.php'; - if (sizeof($params) < 1) { - $params[0] = 'package.xml'; - } - - $builder = &new PEAR_Builder($this->ui); - $this->debug = $this->config->get('verbose'); - $err = $builder->build($params[0], array(&$this, 'buildCallback')); - if (PEAR::isError($err)) { - return $err; - } - - return true; - } - - function buildCallback($what, $data) - { - if (($what == 'cmdoutput' && $this->debug > 1) || - ($what == 'output' && $this->debug > 0)) { - $this->ui->outputData(rtrim($data), 'build'); - } - } -} \ No newline at end of file diff --git a/3rdparty/PEAR/Command/Build.xml b/3rdparty/PEAR/Command/Build.xml deleted file mode 100644 index ec4e6f554ca148bf583c77642aa087620a4a46cd..0000000000000000000000000000000000000000 --- a/3rdparty/PEAR/Command/Build.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - Build an Extension From C Source - doBuild - b - - [package.xml] -Builds one or more extensions contained in a package. - - \ No newline at end of file diff --git a/3rdparty/PEAR/Command/Channels.php b/3rdparty/PEAR/Command/Channels.php deleted file mode 100644 index fcf01b50391c7e58338898e292f0cfd2643a3a8c..0000000000000000000000000000000000000000 --- a/3rdparty/PEAR/Command/Channels.php +++ /dev/null @@ -1,883 +0,0 @@ - - * @author Greg Beaver - * @copyright 1997-2009 The Authors - * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: Channels.php 313023 2011-07-06 19:17:11Z dufuz $ - * @link http://pear.php.net/package/PEAR - * @since File available since Release 1.4.0a1 - */ - -/** - * base class - */ -require_once 'PEAR/Command/Common.php'; - -define('PEAR_COMMAND_CHANNELS_CHANNEL_EXISTS', -500); - -/** - * PEAR commands for managing channels. - * - * @category pear - * @package PEAR - * @author Greg Beaver - * @copyright 1997-2009 The Authors - * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.4 - * @link http://pear.php.net/package/PEAR - * @since Class available since Release 1.4.0a1 - */ -class PEAR_Command_Channels extends PEAR_Command_Common -{ - var $commands = array( - 'list-channels' => array( - 'summary' => 'List Available Channels', - 'function' => 'doList', - 'shortcut' => 'lc', - 'options' => array(), - 'doc' => ' -List all available channels for installation. -', - ), - 'update-channels' => array( - 'summary' => 'Update the Channel List', - 'function' => 'doUpdateAll', - 'shortcut' => 'uc', - 'options' => array(), - 'doc' => ' -List all installed packages in all channels. -' - ), - 'channel-delete' => array( - 'summary' => 'Remove a Channel From the List', - 'function' => 'doDelete', - 'shortcut' => 'cde', - 'options' => array(), - 'doc' => ' -Delete a channel from the registry. You may not -remove any channel that has installed packages. -' - ), - 'channel-add' => array( - 'summary' => 'Add a Channel', - 'function' => 'doAdd', - 'shortcut' => 'ca', - 'options' => array(), - 'doc' => ' -Add a private channel to the channel list. Note that all -public channels should be synced using "update-channels". -Parameter may be either a local file or remote URL to a -channel.xml. -' - ), - 'channel-update' => array( - 'summary' => 'Update an Existing Channel', - 'function' => 'doUpdate', - 'shortcut' => 'cu', - 'options' => array( - 'force' => array( - 'shortopt' => 'f', - 'doc' => 'will force download of new channel.xml if an existing channel name is used', - ), - 'channel' => array( - 'shortopt' => 'c', - 'arg' => 'CHANNEL', - 'doc' => 'will force download of new channel.xml if an existing channel name is used', - ), -), - 'doc' => '[|] -Update a channel in the channel list directly. Note that all -public channels can be synced using "update-channels". -Parameter may be a local or remote channel.xml, or the name of -an existing channel. -' - ), - 'channel-info' => array( - 'summary' => 'Retrieve Information on a Channel', - 'function' => 'doInfo', - 'shortcut' => 'ci', - 'options' => array(), - 'doc' => ' -List the files in an installed package. -' - ), - 'channel-alias' => array( - 'summary' => 'Specify an alias to a channel name', - 'function' => 'doAlias', - 'shortcut' => 'cha', - 'options' => array(), - 'doc' => ' -Specify a specific alias to use for a channel name. -The alias may not be an existing channel name or -alias. -' - ), - 'channel-discover' => array( - 'summary' => 'Initialize a Channel from its server', - 'function' => 'doDiscover', - 'shortcut' => 'di', - 'options' => array(), - 'doc' => '[|] -Initialize a channel from its server and create a local channel.xml. -If is in the format ":@" then - and will be set as the login username/password for -. Use caution when passing the username/password in this way, as -it may allow other users on your computer to briefly view your username/ -password via the system\'s process list. -' - ), - 'channel-login' => array( - 'summary' => 'Connects and authenticates to remote channel server', - 'shortcut' => 'cli', - 'function' => 'doLogin', - 'options' => array(), - 'doc' => ' -Log in to a remote channel server. If is not supplied, -the default channel is used. To use remote functions in the installer -that require any kind of privileges, you need to log in first. The -username and password you enter here will be stored in your per-user -PEAR configuration (~/.pearrc on Unix-like systems). After logging -in, your username and password will be sent along in subsequent -operations on the remote server.', - ), - 'channel-logout' => array( - 'summary' => 'Logs out from the remote channel server', - 'shortcut' => 'clo', - 'function' => 'doLogout', - 'options' => array(), - 'doc' => ' -Logs out from a remote channel server. If is not supplied, -the default channel is used. This command does not actually connect to the -remote server, it only deletes the stored username and password from your user -configuration.', - ), - ); - - /** - * PEAR_Command_Registry constructor. - * - * @access public - */ - function PEAR_Command_Channels(&$ui, &$config) - { - parent::PEAR_Command_Common($ui, $config); - } - - function _sortChannels($a, $b) - { - return strnatcasecmp($a->getName(), $b->getName()); - } - - function doList($command, $options, $params) - { - $reg = &$this->config->getRegistry(); - $registered = $reg->getChannels(); - usort($registered, array(&$this, '_sortchannels')); - $i = $j = 0; - $data = array( - 'caption' => 'Registered Channels:', - 'border' => true, - 'headline' => array('Channel', 'Alias', 'Summary') - ); - foreach ($registered as $channel) { - $data['data'][] = array($channel->getName(), - $channel->getAlias(), - $channel->getSummary()); - } - - if (count($registered) === 0) { - $data = '(no registered channels)'; - } - $this->ui->outputData($data, $command); - return true; - } - - function doUpdateAll($command, $options, $params) - { - $reg = &$this->config->getRegistry(); - $channels = $reg->getChannels(); - - $success = true; - foreach ($channels as $channel) { - if ($channel->getName() != '__uri') { - PEAR::staticPushErrorHandling(PEAR_ERROR_RETURN); - $err = $this->doUpdate('channel-update', - $options, - array($channel->getName())); - if (PEAR::isError($err)) { - $this->ui->outputData($err->getMessage(), $command); - $success = false; - } else { - $success &= $err; - } - } - } - return $success; - } - - function doInfo($command, $options, $params) - { - if (count($params) !== 1) { - return $this->raiseError("No channel specified"); - } - - $reg = &$this->config->getRegistry(); - $channel = strtolower($params[0]); - if ($reg->channelExists($channel)) { - $chan = $reg->getChannel($channel); - if (PEAR::isError($chan)) { - return $this->raiseError($chan); - } - } else { - if (strpos($channel, '://')) { - $downloader = &$this->getDownloader(); - $tmpdir = $this->config->get('temp_dir'); - PEAR::staticPushErrorHandling(PEAR_ERROR_RETURN); - $loc = $downloader->downloadHttp($channel, $this->ui, $tmpdir); - PEAR::staticPopErrorHandling(); - if (PEAR::isError($loc)) { - return $this->raiseError('Cannot open "' . $channel . - '" (' . $loc->getMessage() . ')'); - } else { - $contents = implode('', file($loc)); - } - } else { - if (!file_exists($params[0])) { - return $this->raiseError('Unknown channel "' . $channel . '"'); - } - - $fp = fopen($params[0], 'r'); - if (!$fp) { - return $this->raiseError('Cannot open "' . $params[0] . '"'); - } - - $contents = ''; - while (!feof($fp)) { - $contents .= fread($fp, 1024); - } - fclose($fp); - } - - if (!class_exists('PEAR_ChannelFile')) { - require_once 'PEAR/ChannelFile.php'; - } - - $chan = new PEAR_ChannelFile; - $chan->fromXmlString($contents); - $chan->validate(); - if ($errs = $chan->getErrors(true)) { - foreach ($errs as $err) { - $this->ui->outputData($err['level'] . ': ' . $err['message']); - } - return $this->raiseError('Channel file "' . $params[0] . '" is not valid'); - } - } - - if (!$chan) { - return $this->raiseError('Serious error: Channel "' . $params[0] . - '" has a corrupted registry entry'); - } - - $channel = $chan->getName(); - $caption = 'Channel ' . $channel . ' Information:'; - $data1 = array( - 'caption' => $caption, - 'border' => true); - $data1['data']['server'] = array('Name and Server', $chan->getName()); - if ($chan->getAlias() != $chan->getName()) { - $data1['data']['alias'] = array('Alias', $chan->getAlias()); - } - - $data1['data']['summary'] = array('Summary', $chan->getSummary()); - $validate = $chan->getValidationPackage(); - $data1['data']['vpackage'] = array('Validation Package Name', $validate['_content']); - $data1['data']['vpackageversion'] = - array('Validation Package Version', $validate['attribs']['version']); - $d = array(); - $d['main'] = $data1; - - $data['data'] = array(); - $data['caption'] = 'Server Capabilities'; - $data['headline'] = array('Type', 'Version/REST type', 'Function Name/REST base'); - if ($chan->supportsREST()) { - if ($chan->supportsREST()) { - $funcs = $chan->getFunctions('rest'); - if (!isset($funcs[0])) { - $funcs = array($funcs); - } - foreach ($funcs as $protocol) { - $data['data'][] = array('rest', $protocol['attribs']['type'], - $protocol['_content']); - } - } - } else { - $data['data'][] = array('No supported protocols'); - } - - $d['protocols'] = $data; - $data['data'] = array(); - $mirrors = $chan->getMirrors(); - if ($mirrors) { - $data['caption'] = 'Channel ' . $channel . ' Mirrors:'; - unset($data['headline']); - foreach ($mirrors as $mirror) { - $data['data'][] = array($mirror['attribs']['host']); - $d['mirrors'] = $data; - } - - foreach ($mirrors as $i => $mirror) { - $data['data'] = array(); - $data['caption'] = 'Mirror ' . $mirror['attribs']['host'] . ' Capabilities'; - $data['headline'] = array('Type', 'Version/REST type', 'Function Name/REST base'); - if ($chan->supportsREST($mirror['attribs']['host'])) { - if ($chan->supportsREST($mirror['attribs']['host'])) { - $funcs = $chan->getFunctions('rest', $mirror['attribs']['host']); - if (!isset($funcs[0])) { - $funcs = array($funcs); - } - - foreach ($funcs as $protocol) { - $data['data'][] = array('rest', $protocol['attribs']['type'], - $protocol['_content']); - } - } - } else { - $data['data'][] = array('No supported protocols'); - } - $d['mirrorprotocols' . $i] = $data; - } - } - $this->ui->outputData($d, 'channel-info'); - } - - // }}} - - function doDelete($command, $options, $params) - { - if (count($params) !== 1) { - return $this->raiseError('channel-delete: no channel specified'); - } - - $reg = &$this->config->getRegistry(); - if (!$reg->channelExists($params[0])) { - return $this->raiseError('channel-delete: channel "' . $params[0] . '" does not exist'); - } - - $channel = $reg->channelName($params[0]); - if ($channel == 'pear.php.net') { - return $this->raiseError('Cannot delete the pear.php.net channel'); - } - - if ($channel == 'pecl.php.net') { - return $this->raiseError('Cannot delete the pecl.php.net channel'); - } - - if ($channel == 'doc.php.net') { - return $this->raiseError('Cannot delete the doc.php.net channel'); - } - - if ($channel == '__uri') { - return $this->raiseError('Cannot delete the __uri pseudo-channel'); - } - - if (PEAR::isError($err = $reg->listPackages($channel))) { - return $err; - } - - if (count($err)) { - return $this->raiseError('Channel "' . $channel . - '" has installed packages, cannot delete'); - } - - if (!$reg->deleteChannel($channel)) { - return $this->raiseError('Channel "' . $channel . '" deletion failed'); - } else { - $this->config->deleteChannel($channel); - $this->ui->outputData('Channel "' . $channel . '" deleted', $command); - } - } - - function doAdd($command, $options, $params) - { - if (count($params) !== 1) { - return $this->raiseError('channel-add: no channel file specified'); - } - - if (strpos($params[0], '://')) { - $downloader = &$this->getDownloader(); - $tmpdir = $this->config->get('temp_dir'); - if (!file_exists($tmpdir)) { - require_once 'System.php'; - PEAR::staticPushErrorHandling(PEAR_ERROR_RETURN); - $err = System::mkdir(array('-p', $tmpdir)); - PEAR::staticPopErrorHandling(); - if (PEAR::isError($err)) { - return $this->raiseError('channel-add: temp_dir does not exist: "' . - $tmpdir . - '" - You can change this location with "pear config-set temp_dir"'); - } - } - - if (!is_writable($tmpdir)) { - return $this->raiseError('channel-add: temp_dir is not writable: "' . - $tmpdir . - '" - You can change this location with "pear config-set temp_dir"'); - } - - PEAR::staticPushErrorHandling(PEAR_ERROR_RETURN); - $loc = $downloader->downloadHttp($params[0], $this->ui, $tmpdir, null, false); - PEAR::staticPopErrorHandling(); - if (PEAR::isError($loc)) { - return $this->raiseError('channel-add: Cannot open "' . $params[0] . - '" (' . $loc->getMessage() . ')'); - } - - list($loc, $lastmodified) = $loc; - $contents = implode('', file($loc)); - } else { - $lastmodified = $fp = false; - if (file_exists($params[0])) { - $fp = fopen($params[0], 'r'); - } - - if (!$fp) { - return $this->raiseError('channel-add: cannot open "' . $params[0] . '"'); - } - - $contents = ''; - while (!feof($fp)) { - $contents .= fread($fp, 1024); - } - fclose($fp); - } - - if (!class_exists('PEAR_ChannelFile')) { - require_once 'PEAR/ChannelFile.php'; - } - - $channel = new PEAR_ChannelFile; - PEAR::staticPushErrorHandling(PEAR_ERROR_RETURN); - $result = $channel->fromXmlString($contents); - PEAR::staticPopErrorHandling(); - if (!$result) { - $exit = false; - if (count($errors = $channel->getErrors(true))) { - foreach ($errors as $error) { - $this->ui->outputData(ucfirst($error['level'] . ': ' . $error['message'])); - if (!$exit) { - $exit = $error['level'] == 'error' ? true : false; - } - } - if ($exit) { - return $this->raiseError('channel-add: invalid channel.xml file'); - } - } - } - - $reg = &$this->config->getRegistry(); - if ($reg->channelExists($channel->getName())) { - return $this->raiseError('channel-add: Channel "' . $channel->getName() . - '" exists, use channel-update to update entry', PEAR_COMMAND_CHANNELS_CHANNEL_EXISTS); - } - - $ret = $reg->addChannel($channel, $lastmodified); - if (PEAR::isError($ret)) { - return $ret; - } - - if (!$ret) { - return $this->raiseError('channel-add: adding Channel "' . $channel->getName() . - '" to registry failed'); - } - - $this->config->setChannels($reg->listChannels()); - $this->config->writeConfigFile(); - $this->ui->outputData('Adding Channel "' . $channel->getName() . '" succeeded', $command); - } - - function doUpdate($command, $options, $params) - { - if (count($params) !== 1) { - return $this->raiseError("No channel file specified"); - } - - $tmpdir = $this->config->get('temp_dir'); - if (!file_exists($tmpdir)) { - require_once 'System.php'; - PEAR::staticPushErrorHandling(PEAR_ERROR_RETURN); - $err = System::mkdir(array('-p', $tmpdir)); - PEAR::staticPopErrorHandling(); - if (PEAR::isError($err)) { - return $this->raiseError('channel-add: temp_dir does not exist: "' . - $tmpdir . - '" - You can change this location with "pear config-set temp_dir"'); - } - } - - if (!is_writable($tmpdir)) { - return $this->raiseError('channel-add: temp_dir is not writable: "' . - $tmpdir . - '" - You can change this location with "pear config-set temp_dir"'); - } - - $reg = &$this->config->getRegistry(); - $lastmodified = false; - if ((!file_exists($params[0]) || is_dir($params[0])) - && $reg->channelExists(strtolower($params[0]))) { - $c = $reg->getChannel(strtolower($params[0])); - if (PEAR::isError($c)) { - return $this->raiseError($c); - } - - $this->ui->outputData("Updating channel \"$params[0]\"", $command); - $dl = &$this->getDownloader(array()); - // if force is specified, use a timestamp of "1" to force retrieval - $lastmodified = isset($options['force']) ? false : $c->lastModified(); - PEAR::staticPushErrorHandling(PEAR_ERROR_RETURN); - $contents = $dl->downloadHttp('http://' . $c->getName() . '/channel.xml', - $this->ui, $tmpdir, null, $lastmodified); - PEAR::staticPopErrorHandling(); - if (PEAR::isError($contents)) { - // Attempt to fall back to https - $this->ui->outputData("Channel \"$params[0]\" is not responding over http://, failed with message: " . $contents->getMessage()); - $this->ui->outputData("Trying channel \"$params[0]\" over https:// instead"); - PEAR::staticPushErrorHandling(PEAR_ERROR_RETURN); - $contents = $dl->downloadHttp('https://' . $c->getName() . '/channel.xml', - $this->ui, $tmpdir, null, $lastmodified); - PEAR::staticPopErrorHandling(); - if (PEAR::isError($contents)) { - return $this->raiseError('Cannot retrieve channel.xml for channel "' . - $c->getName() . '" (' . $contents->getMessage() . ')'); - } - } - - list($contents, $lastmodified) = $contents; - if (!$contents) { - $this->ui->outputData("Channel \"$params[0]\" is up to date"); - return; - } - - $contents = implode('', file($contents)); - if (!class_exists('PEAR_ChannelFile')) { - require_once 'PEAR/ChannelFile.php'; - } - - $channel = new PEAR_ChannelFile; - $channel->fromXmlString($contents); - if (!$channel->getErrors()) { - // security check: is the downloaded file for the channel we got it from? - if (strtolower($channel->getName()) != strtolower($c->getName())) { - if (!isset($options['force'])) { - return $this->raiseError('ERROR: downloaded channel definition file' . - ' for channel "' . $channel->getName() . '" from channel "' . - strtolower($c->getName()) . '"'); - } - - $this->ui->log(0, 'WARNING: downloaded channel definition file' . - ' for channel "' . $channel->getName() . '" from channel "' . - strtolower($c->getName()) . '"'); - } - } - } else { - if (strpos($params[0], '://')) { - $dl = &$this->getDownloader(); - PEAR::staticPushErrorHandling(PEAR_ERROR_RETURN); - $loc = $dl->downloadHttp($params[0], - $this->ui, $tmpdir, null, $lastmodified); - PEAR::staticPopErrorHandling(); - if (PEAR::isError($loc)) { - return $this->raiseError("Cannot open " . $params[0] . - ' (' . $loc->getMessage() . ')'); - } - - list($loc, $lastmodified) = $loc; - $contents = implode('', file($loc)); - } else { - $fp = false; - if (file_exists($params[0])) { - $fp = fopen($params[0], 'r'); - } - - if (!$fp) { - return $this->raiseError("Cannot open " . $params[0]); - } - - $contents = ''; - while (!feof($fp)) { - $contents .= fread($fp, 1024); - } - fclose($fp); - } - - if (!class_exists('PEAR_ChannelFile')) { - require_once 'PEAR/ChannelFile.php'; - } - - $channel = new PEAR_ChannelFile; - $channel->fromXmlString($contents); - } - - $exit = false; - if (count($errors = $channel->getErrors(true))) { - foreach ($errors as $error) { - $this->ui->outputData(ucfirst($error['level'] . ': ' . $error['message'])); - if (!$exit) { - $exit = $error['level'] == 'error' ? true : false; - } - } - if ($exit) { - return $this->raiseError('Invalid channel.xml file'); - } - } - - if (!$reg->channelExists($channel->getName())) { - return $this->raiseError('Error: Channel "' . $channel->getName() . - '" does not exist, use channel-add to add an entry'); - } - - $ret = $reg->updateChannel($channel, $lastmodified); - if (PEAR::isError($ret)) { - return $ret; - } - - if (!$ret) { - return $this->raiseError('Updating Channel "' . $channel->getName() . - '" in registry failed'); - } - - $this->config->setChannels($reg->listChannels()); - $this->config->writeConfigFile(); - $this->ui->outputData('Update of Channel "' . $channel->getName() . '" succeeded'); - } - - function &getDownloader() - { - if (!class_exists('PEAR_Downloader')) { - require_once 'PEAR/Downloader.php'; - } - $a = new PEAR_Downloader($this->ui, array(), $this->config); - return $a; - } - - function doAlias($command, $options, $params) - { - if (count($params) === 1) { - return $this->raiseError('No channel alias specified'); - } - - if (count($params) !== 2 || (!empty($params[1]) && $params[1]{0} == '-')) { - return $this->raiseError( - 'Invalid format, correct is: channel-alias channel alias'); - } - - $reg = &$this->config->getRegistry(); - if (!$reg->channelExists($params[0], true)) { - $extra = ''; - if ($reg->isAlias($params[0])) { - $extra = ' (use "channel-alias ' . $reg->channelName($params[0]) . ' ' . - strtolower($params[1]) . '")'; - } - - return $this->raiseError('"' . $params[0] . '" is not a valid channel' . $extra); - } - - if ($reg->isAlias($params[1])) { - return $this->raiseError('Channel "' . $reg->channelName($params[1]) . '" is ' . - 'already aliased to "' . strtolower($params[1]) . '", cannot re-alias'); - } - - $chan = &$reg->getChannel($params[0]); - if (PEAR::isError($chan)) { - return $this->raiseError('Corrupt registry? Error retrieving channel "' . $params[0] . - '" information (' . $chan->getMessage() . ')'); - } - - // make it a local alias - if (!$chan->setAlias(strtolower($params[1]), true)) { - return $this->raiseError('Alias "' . strtolower($params[1]) . - '" is not a valid channel alias'); - } - - $reg->updateChannel($chan); - $this->ui->outputData('Channel "' . $chan->getName() . '" aliased successfully to "' . - strtolower($params[1]) . '"'); - } - - /** - * The channel-discover command - * - * @param string $command command name - * @param array $options option_name => value - * @param array $params list of additional parameters. - * $params[0] should contain a string with either: - * - or - * - :@ - * @return null|PEAR_Error - */ - function doDiscover($command, $options, $params) - { - if (count($params) !== 1) { - return $this->raiseError("No channel server specified"); - } - - // Look for the possible input format ":@" - if (preg_match('/^(.+):(.+)@(.+)\\z/', $params[0], $matches)) { - $username = $matches[1]; - $password = $matches[2]; - $channel = $matches[3]; - } else { - $channel = $params[0]; - } - - $reg = &$this->config->getRegistry(); - if ($reg->channelExists($channel)) { - if (!$reg->isAlias($channel)) { - return $this->raiseError("Channel \"$channel\" is already initialized", PEAR_COMMAND_CHANNELS_CHANNEL_EXISTS); - } - - return $this->raiseError("A channel alias named \"$channel\" " . - 'already exists, aliasing channel "' . $reg->channelName($channel) - . '"'); - } - - $this->pushErrorHandling(PEAR_ERROR_RETURN); - $err = $this->doAdd($command, $options, array('http://' . $channel . '/channel.xml')); - $this->popErrorHandling(); - if (PEAR::isError($err)) { - if ($err->getCode() === PEAR_COMMAND_CHANNELS_CHANNEL_EXISTS) { - return $this->raiseError("Discovery of channel \"$channel\" failed (" . - $err->getMessage() . ')'); - } - // Attempt fetch via https - $this->ui->outputData("Discovering channel $channel over http:// failed with message: " . $err->getMessage()); - $this->ui->outputData("Trying to discover channel $channel over https:// instead"); - $this->pushErrorHandling(PEAR_ERROR_RETURN); - $err = $this->doAdd($command, $options, array('https://' . $channel . '/channel.xml')); - $this->popErrorHandling(); - if (PEAR::isError($err)) { - return $this->raiseError("Discovery of channel \"$channel\" failed (" . - $err->getMessage() . ')'); - } - } - - // Store username/password if they were given - // Arguably we should do a logintest on the channel here, but since - // that's awkward on a REST-based channel (even "pear login" doesn't - // do it for those), and XML-RPC is deprecated, it's fairly pointless. - if (isset($username)) { - $this->config->set('username', $username, 'user', $channel); - $this->config->set('password', $password, 'user', $channel); - $this->config->store(); - $this->ui->outputData("Stored login for channel \"$channel\" using username \"$username\"", $command); - } - - $this->ui->outputData("Discovery of channel \"$channel\" succeeded", $command); - } - - /** - * Execute the 'login' command. - * - * @param string $command command name - * @param array $options option_name => value - * @param array $params list of additional parameters - * - * @return bool TRUE on success or - * a PEAR error on failure - * - * @access public - */ - function doLogin($command, $options, $params) - { - $reg = &$this->config->getRegistry(); - - // If a parameter is supplied, use that as the channel to log in to - $channel = isset($params[0]) ? $params[0] : $this->config->get('default_channel'); - - $chan = $reg->getChannel($channel); - if (PEAR::isError($chan)) { - return $this->raiseError($chan); - } - - $server = $this->config->get('preferred_mirror', null, $channel); - $username = $this->config->get('username', null, $channel); - if (empty($username)) { - $username = isset($_ENV['USER']) ? $_ENV['USER'] : null; - } - $this->ui->outputData("Logging in to $server.", $command); - - list($username, $password) = $this->ui->userDialog( - $command, - array('Username', 'Password'), - array('text', 'password'), - array($username, '') - ); - $username = trim($username); - $password = trim($password); - - $ourfile = $this->config->getConfFile('user'); - if (!$ourfile) { - $ourfile = $this->config->getConfFile('system'); - } - - $this->config->set('username', $username, 'user', $channel); - $this->config->set('password', $password, 'user', $channel); - - if ($chan->supportsREST()) { - $ok = true; - } - - if ($ok !== true) { - return $this->raiseError('Login failed!'); - } - - $this->ui->outputData("Logged in.", $command); - // avoid changing any temporary settings changed with -d - $ourconfig = new PEAR_Config($ourfile, $ourfile); - $ourconfig->set('username', $username, 'user', $channel); - $ourconfig->set('password', $password, 'user', $channel); - $ourconfig->store(); - - return true; - } - - /** - * Execute the 'logout' command. - * - * @param string $command command name - * @param array $options option_name => value - * @param array $params list of additional parameters - * - * @return bool TRUE on success or - * a PEAR error on failure - * - * @access public - */ - function doLogout($command, $options, $params) - { - $reg = &$this->config->getRegistry(); - - // If a parameter is supplied, use that as the channel to log in to - $channel = isset($params[0]) ? $params[0] : $this->config->get('default_channel'); - - $chan = $reg->getChannel($channel); - if (PEAR::isError($chan)) { - return $this->raiseError($chan); - } - - $server = $this->config->get('preferred_mirror', null, $channel); - $this->ui->outputData("Logging out from $server.", $command); - $this->config->remove('username', 'user', $channel); - $this->config->remove('password', 'user', $channel); - $this->config->store(); - return true; - } -} \ No newline at end of file diff --git a/3rdparty/PEAR/Command/Channels.xml b/3rdparty/PEAR/Command/Channels.xml deleted file mode 100644 index 47b72066abf928c1d1550772f721dd3bb95cfd40..0000000000000000000000000000000000000000 --- a/3rdparty/PEAR/Command/Channels.xml +++ /dev/null @@ -1,123 +0,0 @@ - - - List Available Channels - doList - lc - - -List all available channels for installation. - - - - Update the Channel List - doUpdateAll - uc - - -List all installed packages in all channels. - - - - Remove a Channel From the List - doDelete - cde - - <channel name> -Delete a channel from the registry. You may not -remove any channel that has installed packages. - - - - Add a Channel - doAdd - ca - - <channel.xml> -Add a private channel to the channel list. Note that all -public channels should be synced using "update-channels". -Parameter may be either a local file or remote URL to a -channel.xml. - - - - Update an Existing Channel - doUpdate - cu - - - f - will force download of new channel.xml if an existing channel name is used - - - c - will force download of new channel.xml if an existing channel name is used - CHANNEL - - - [<channel.xml>|<channel name>] -Update a channel in the channel list directly. Note that all -public channels can be synced using "update-channels". -Parameter may be a local or remote channel.xml, or the name of -an existing channel. - - - - Retrieve Information on a Channel - doInfo - ci - - <package> -List the files in an installed package. - - - - Specify an alias to a channel name - doAlias - cha - - <channel> <alias> -Specify a specific alias to use for a channel name. -The alias may not be an existing channel name or -alias. - - - - Initialize a Channel from its server - doDiscover - di - - [<channel.xml>|<channel name>] -Initialize a channel from its server and create a local channel.xml. -If <channel name> is in the format "<username>:<password>@<channel>" then -<username> and <password> will be set as the login username/password for -<channel>. Use caution when passing the username/password in this way, as -it may allow other users on your computer to briefly view your username/ -password via the system's process list. - - - - Connects and authenticates to remote channel server - doLogin - cli - - <channel name> -Log in to a remote channel server. If <channel name> is not supplied, -the default channel is used. To use remote functions in the installer -that require any kind of privileges, you need to log in first. The -username and password you enter here will be stored in your per-user -PEAR configuration (~/.pearrc on Unix-like systems). After logging -in, your username and password will be sent along in subsequent -operations on the remote server. - - - Logs out from the remote channel server - doLogout - clo - - <channel name> -Logs out from a remote channel server. If <channel name> is not supplied, -the default channel is used. This command does not actually connect to the -remote server, it only deletes the stored username and password from your user -configuration. - - \ No newline at end of file diff --git a/3rdparty/PEAR/Command/Common.php b/3rdparty/PEAR/Command/Common.php deleted file mode 100644 index 279a716623df94e22e12b5b86362fe9df612065b..0000000000000000000000000000000000000000 --- a/3rdparty/PEAR/Command/Common.php +++ /dev/null @@ -1,273 +0,0 @@ - - * @author Greg Beaver - * @copyright 1997-2009 The Authors - * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: Common.php 313023 2011-07-06 19:17:11Z dufuz $ - * @link http://pear.php.net/package/PEAR - * @since File available since Release 0.1 - */ - -/** - * base class - */ -require_once 'PEAR.php'; - -/** - * PEAR commands base class - * - * @category pear - * @package PEAR - * @author Stig Bakken - * @author Greg Beaver - * @copyright 1997-2009 The Authors - * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.4 - * @link http://pear.php.net/package/PEAR - * @since Class available since Release 0.1 - */ -class PEAR_Command_Common extends PEAR -{ - /** - * PEAR_Config object used to pass user system and configuration - * on when executing commands - * - * @var PEAR_Config - */ - var $config; - /** - * @var PEAR_Registry - * @access protected - */ - var $_registry; - - /** - * User Interface object, for all interaction with the user. - * @var object - */ - var $ui; - - var $_deps_rel_trans = array( - 'lt' => '<', - 'le' => '<=', - 'eq' => '=', - 'ne' => '!=', - 'gt' => '>', - 'ge' => '>=', - 'has' => '==' - ); - - var $_deps_type_trans = array( - 'pkg' => 'package', - 'ext' => 'extension', - 'php' => 'PHP', - 'prog' => 'external program', - 'ldlib' => 'external library for linking', - 'rtlib' => 'external runtime library', - 'os' => 'operating system', - 'websrv' => 'web server', - 'sapi' => 'SAPI backend' - ); - - /** - * PEAR_Command_Common constructor. - * - * @access public - */ - function PEAR_Command_Common(&$ui, &$config) - { - parent::PEAR(); - $this->config = &$config; - $this->ui = &$ui; - } - - /** - * Return a list of all the commands defined by this class. - * @return array list of commands - * @access public - */ - function getCommands() - { - $ret = array(); - foreach (array_keys($this->commands) as $command) { - $ret[$command] = $this->commands[$command]['summary']; - } - - return $ret; - } - - /** - * Return a list of all the command shortcuts defined by this class. - * @return array shortcut => command - * @access public - */ - function getShortcuts() - { - $ret = array(); - foreach (array_keys($this->commands) as $command) { - if (isset($this->commands[$command]['shortcut'])) { - $ret[$this->commands[$command]['shortcut']] = $command; - } - } - - return $ret; - } - - function getOptions($command) - { - $shortcuts = $this->getShortcuts(); - if (isset($shortcuts[$command])) { - $command = $shortcuts[$command]; - } - - if (isset($this->commands[$command]) && - isset($this->commands[$command]['options'])) { - return $this->commands[$command]['options']; - } - - return null; - } - - function getGetoptArgs($command, &$short_args, &$long_args) - { - $short_args = ''; - $long_args = array(); - if (empty($this->commands[$command]) || empty($this->commands[$command]['options'])) { - return; - } - - reset($this->commands[$command]['options']); - while (list($option, $info) = each($this->commands[$command]['options'])) { - $larg = $sarg = ''; - if (isset($info['arg'])) { - if ($info['arg']{0} == '(') { - $larg = '=='; - $sarg = '::'; - $arg = substr($info['arg'], 1, -1); - } else { - $larg = '='; - $sarg = ':'; - $arg = $info['arg']; - } - } - - if (isset($info['shortopt'])) { - $short_args .= $info['shortopt'] . $sarg; - } - - $long_args[] = $option . $larg; - } - } - - /** - * Returns the help message for the given command - * - * @param string $command The command - * @return mixed A fail string if the command does not have help or - * a two elements array containing [0]=>help string, - * [1]=> help string for the accepted cmd args - */ - function getHelp($command) - { - $config = &PEAR_Config::singleton(); - if (!isset($this->commands[$command])) { - return "No such command \"$command\""; - } - - $help = null; - if (isset($this->commands[$command]['doc'])) { - $help = $this->commands[$command]['doc']; - } - - if (empty($help)) { - // XXX (cox) Fallback to summary if there is no doc (show both?) - if (!isset($this->commands[$command]['summary'])) { - return "No help for command \"$command\""; - } - $help = $this->commands[$command]['summary']; - } - - if (preg_match_all('/{config\s+([^\}]+)}/e', $help, $matches)) { - foreach($matches[0] as $k => $v) { - $help = preg_replace("/$v/", $config->get($matches[1][$k]), $help); - } - } - - return array($help, $this->getHelpArgs($command)); - } - - /** - * Returns the help for the accepted arguments of a command - * - * @param string $command - * @return string The help string - */ - function getHelpArgs($command) - { - if (isset($this->commands[$command]['options']) && - count($this->commands[$command]['options'])) - { - $help = "Options:\n"; - foreach ($this->commands[$command]['options'] as $k => $v) { - if (isset($v['arg'])) { - if ($v['arg'][0] == '(') { - $arg = substr($v['arg'], 1, -1); - $sapp = " [$arg]"; - $lapp = "[=$arg]"; - } else { - $sapp = " $v[arg]"; - $lapp = "=$v[arg]"; - } - } else { - $sapp = $lapp = ""; - } - - if (isset($v['shortopt'])) { - $s = $v['shortopt']; - $help .= " -$s$sapp, --$k$lapp\n"; - } else { - $help .= " --$k$lapp\n"; - } - - $p = " "; - $doc = rtrim(str_replace("\n", "\n$p", $v['doc'])); - $help .= " $doc\n"; - } - - return $help; - } - - return null; - } - - function run($command, $options, $params) - { - if (empty($this->commands[$command]['function'])) { - // look for shortcuts - foreach (array_keys($this->commands) as $cmd) { - if (isset($this->commands[$cmd]['shortcut']) && $this->commands[$cmd]['shortcut'] == $command) { - if (empty($this->commands[$cmd]['function'])) { - return $this->raiseError("unknown command `$command'"); - } else { - $func = $this->commands[$cmd]['function']; - } - $command = $cmd; - - //$command = $this->commands[$cmd]['function']; - break; - } - } - } else { - $func = $this->commands[$command]['function']; - } - - return $this->$func($command, $options, $params); - } -} \ No newline at end of file diff --git a/3rdparty/PEAR/Command/Config.php b/3rdparty/PEAR/Command/Config.php deleted file mode 100644 index a761b277f5f8460651bcdff5a9d3776cc3d3ecbc..0000000000000000000000000000000000000000 --- a/3rdparty/PEAR/Command/Config.php +++ /dev/null @@ -1,414 +0,0 @@ - - * @author Greg Beaver - * @copyright 1997-2009 The Authors - * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: Config.php 313024 2011-07-06 19:51:24Z dufuz $ - * @link http://pear.php.net/package/PEAR - * @since File available since Release 0.1 - */ - -/** - * base class - */ -require_once 'PEAR/Command/Common.php'; - -/** - * PEAR commands for managing configuration data. - * - * @category pear - * @package PEAR - * @author Stig Bakken - * @author Greg Beaver - * @copyright 1997-2009 The Authors - * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.4 - * @link http://pear.php.net/package/PEAR - * @since Class available since Release 0.1 - */ -class PEAR_Command_Config extends PEAR_Command_Common -{ - var $commands = array( - 'config-show' => array( - 'summary' => 'Show All Settings', - 'function' => 'doConfigShow', - 'shortcut' => 'csh', - 'options' => array( - 'channel' => array( - 'shortopt' => 'c', - 'doc' => 'show configuration variables for another channel', - 'arg' => 'CHAN', - ), -), - 'doc' => '[layer] -Displays all configuration values. An optional argument -may be used to tell which configuration layer to display. Valid -configuration layers are "user", "system" and "default". To display -configurations for different channels, set the default_channel -configuration variable and run config-show again. -', - ), - 'config-get' => array( - 'summary' => 'Show One Setting', - 'function' => 'doConfigGet', - 'shortcut' => 'cg', - 'options' => array( - 'channel' => array( - 'shortopt' => 'c', - 'doc' => 'show configuration variables for another channel', - 'arg' => 'CHAN', - ), -), - 'doc' => ' [layer] -Displays the value of one configuration parameter. The -first argument is the name of the parameter, an optional second argument -may be used to tell which configuration layer to look in. Valid configuration -layers are "user", "system" and "default". If no layer is specified, a value -will be picked from the first layer that defines the parameter, in the order -just specified. The configuration value will be retrieved for the channel -specified by the default_channel configuration variable. -', - ), - 'config-set' => array( - 'summary' => 'Change Setting', - 'function' => 'doConfigSet', - 'shortcut' => 'cs', - 'options' => array( - 'channel' => array( - 'shortopt' => 'c', - 'doc' => 'show configuration variables for another channel', - 'arg' => 'CHAN', - ), -), - 'doc' => ' [layer] -Sets the value of one configuration parameter. The first argument is -the name of the parameter, the second argument is the new value. Some -parameters are subject to validation, and the command will fail with -an error message if the new value does not make sense. An optional -third argument may be used to specify in which layer to set the -configuration parameter. The default layer is "user". The -configuration value will be set for the current channel, which -is controlled by the default_channel configuration variable. -', - ), - 'config-help' => array( - 'summary' => 'Show Information About Setting', - 'function' => 'doConfigHelp', - 'shortcut' => 'ch', - 'options' => array(), - 'doc' => '[parameter] -Displays help for a configuration parameter. Without arguments it -displays help for all configuration parameters. -', - ), - 'config-create' => array( - 'summary' => 'Create a Default configuration file', - 'function' => 'doConfigCreate', - 'shortcut' => 'coc', - 'options' => array( - 'windows' => array( - 'shortopt' => 'w', - 'doc' => 'create a config file for a windows install', - ), - ), - 'doc' => ' -Create a default configuration file with all directory configuration -variables set to subdirectories of , and save it as . -This is useful especially for creating a configuration file for a remote -PEAR installation (using the --remoteconfig option of install, upgrade, -and uninstall). -', - ), - ); - - /** - * PEAR_Command_Config constructor. - * - * @access public - */ - function PEAR_Command_Config(&$ui, &$config) - { - parent::PEAR_Command_Common($ui, $config); - } - - function doConfigShow($command, $options, $params) - { - $layer = null; - if (is_array($params)) { - $layer = isset($params[0]) ? $params[0] : null; - } - - // $params[0] -> the layer - if ($error = $this->_checkLayer($layer)) { - return $this->raiseError("config-show:$error"); - } - - $keys = $this->config->getKeys(); - sort($keys); - $channel = isset($options['channel']) ? $options['channel'] : - $this->config->get('default_channel'); - $reg = &$this->config->getRegistry(); - if (!$reg->channelExists($channel)) { - return $this->raiseError('Channel "' . $channel . '" does not exist'); - } - - $channel = $reg->channelName($channel); - $data = array('caption' => 'Configuration (channel ' . $channel . '):'); - foreach ($keys as $key) { - $type = $this->config->getType($key); - $value = $this->config->get($key, $layer, $channel); - if ($type == 'password' && $value) { - $value = '********'; - } - - if ($value === false) { - $value = 'false'; - } elseif ($value === true) { - $value = 'true'; - } - - $data['data'][$this->config->getGroup($key)][] = array($this->config->getPrompt($key) , $key, $value); - } - - foreach ($this->config->getLayers() as $layer) { - $data['data']['Config Files'][] = array(ucfirst($layer) . ' Configuration File', 'Filename' , $this->config->getConfFile($layer)); - } - - $this->ui->outputData($data, $command); - return true; - } - - function doConfigGet($command, $options, $params) - { - $args_cnt = is_array($params) ? count($params) : 0; - switch ($args_cnt) { - case 1: - $config_key = $params[0]; - $layer = null; - break; - case 2: - $config_key = $params[0]; - $layer = $params[1]; - if ($error = $this->_checkLayer($layer)) { - return $this->raiseError("config-get:$error"); - } - break; - case 0: - default: - return $this->raiseError("config-get expects 1 or 2 parameters"); - } - - $reg = &$this->config->getRegistry(); - $channel = isset($options['channel']) ? $options['channel'] : $this->config->get('default_channel'); - if (!$reg->channelExists($channel)) { - return $this->raiseError('Channel "' . $channel . '" does not exist'); - } - - $channel = $reg->channelName($channel); - $this->ui->outputData($this->config->get($config_key, $layer, $channel), $command); - return true; - } - - function doConfigSet($command, $options, $params) - { - // $param[0] -> a parameter to set - // $param[1] -> the value for the parameter - // $param[2] -> the layer - $failmsg = ''; - if (count($params) < 2 || count($params) > 3) { - $failmsg .= "config-set expects 2 or 3 parameters"; - return PEAR::raiseError($failmsg); - } - - if (isset($params[2]) && ($error = $this->_checkLayer($params[2]))) { - $failmsg .= $error; - return PEAR::raiseError("config-set:$failmsg"); - } - - $channel = isset($options['channel']) ? $options['channel'] : $this->config->get('default_channel'); - $reg = &$this->config->getRegistry(); - if (!$reg->channelExists($channel)) { - return $this->raiseError('Channel "' . $channel . '" does not exist'); - } - - $channel = $reg->channelName($channel); - if ($params[0] == 'default_channel' && !$reg->channelExists($params[1])) { - return $this->raiseError('Channel "' . $params[1] . '" does not exist'); - } - - if ($params[0] == 'preferred_mirror' - && ( - !$reg->mirrorExists($channel, $params[1]) && - (!$reg->channelExists($params[1]) || $channel != $params[1]) - ) - ) { - $msg = 'Channel Mirror "' . $params[1] . '" does not exist'; - $msg .= ' in your registry for channel "' . $channel . '".'; - $msg .= "\n" . 'Attempt to run "pear channel-update ' . $channel .'"'; - $msg .= ' if you believe this mirror should exist as you may'; - $msg .= ' have outdated channel information.'; - return $this->raiseError($msg); - } - - if (count($params) == 2) { - array_push($params, 'user'); - $layer = 'user'; - } else { - $layer = $params[2]; - } - - array_push($params, $channel); - if (!call_user_func_array(array(&$this->config, 'set'), $params)) { - array_pop($params); - $failmsg = "config-set (" . implode(", ", $params) . ") failed, channel $channel"; - } else { - $this->config->store($layer); - } - - if ($failmsg) { - return $this->raiseError($failmsg); - } - - $this->ui->outputData('config-set succeeded', $command); - return true; - } - - function doConfigHelp($command, $options, $params) - { - if (empty($params)) { - $params = $this->config->getKeys(); - } - - $data['caption'] = "Config help" . ((count($params) == 1) ? " for $params[0]" : ''); - $data['headline'] = array('Name', 'Type', 'Description'); - $data['border'] = true; - foreach ($params as $name) { - $type = $this->config->getType($name); - $docs = $this->config->getDocs($name); - if ($type == 'set') { - $docs = rtrim($docs) . "\nValid set: " . - implode(' ', $this->config->getSetValues($name)); - } - - $data['data'][] = array($name, $type, $docs); - } - - $this->ui->outputData($data, $command); - } - - function doConfigCreate($command, $options, $params) - { - if (count($params) != 2) { - return PEAR::raiseError('config-create: must have 2 parameters, root path and ' . - 'filename to save as'); - } - - $root = $params[0]; - // Clean up the DIRECTORY_SEPARATOR mess - $ds2 = DIRECTORY_SEPARATOR . DIRECTORY_SEPARATOR; - $root = preg_replace(array('!\\\\+!', '!/+!', "!$ds2+!"), - array('/', '/', '/'), - $root); - if ($root{0} != '/') { - if (!isset($options['windows'])) { - return PEAR::raiseError('Root directory must be an absolute path beginning ' . - 'with "/", was: "' . $root . '"'); - } - - if (!preg_match('/^[A-Za-z]:/', $root)) { - return PEAR::raiseError('Root directory must be an absolute path beginning ' . - 'with "\\" or "C:\\", was: "' . $root . '"'); - } - } - - $windows = isset($options['windows']); - if ($windows) { - $root = str_replace('/', '\\', $root); - } - - if (!file_exists($params[1]) && !@touch($params[1])) { - return PEAR::raiseError('Could not create "' . $params[1] . '"'); - } - - $params[1] = realpath($params[1]); - $config = &new PEAR_Config($params[1], '#no#system#config#', false, false); - if ($root{strlen($root) - 1} == '/') { - $root = substr($root, 0, strlen($root) - 1); - } - - $config->noRegistry(); - $config->set('php_dir', $windows ? "$root\\pear\\php" : "$root/pear/php", 'user'); - $config->set('data_dir', $windows ? "$root\\pear\\data" : "$root/pear/data"); - $config->set('www_dir', $windows ? "$root\\pear\\www" : "$root/pear/www"); - $config->set('cfg_dir', $windows ? "$root\\pear\\cfg" : "$root/pear/cfg"); - $config->set('ext_dir', $windows ? "$root\\pear\\ext" : "$root/pear/ext"); - $config->set('doc_dir', $windows ? "$root\\pear\\docs" : "$root/pear/docs"); - $config->set('test_dir', $windows ? "$root\\pear\\tests" : "$root/pear/tests"); - $config->set('cache_dir', $windows ? "$root\\pear\\cache" : "$root/pear/cache"); - $config->set('download_dir', $windows ? "$root\\pear\\download" : "$root/pear/download"); - $config->set('temp_dir', $windows ? "$root\\pear\\temp" : "$root/pear/temp"); - $config->set('bin_dir', $windows ? "$root\\pear" : "$root/pear"); - $config->writeConfigFile(); - $this->_showConfig($config); - $this->ui->outputData('Successfully created default configuration file "' . $params[1] . '"', - $command); - } - - function _showConfig(&$config) - { - $params = array('user'); - $keys = $config->getKeys(); - sort($keys); - $channel = 'pear.php.net'; - $data = array('caption' => 'Configuration (channel ' . $channel . '):'); - foreach ($keys as $key) { - $type = $config->getType($key); - $value = $config->get($key, 'user', $channel); - if ($type == 'password' && $value) { - $value = '********'; - } - - if ($value === false) { - $value = 'false'; - } elseif ($value === true) { - $value = 'true'; - } - $data['data'][$config->getGroup($key)][] = - array($config->getPrompt($key) , $key, $value); - } - - foreach ($config->getLayers() as $layer) { - $data['data']['Config Files'][] = - array(ucfirst($layer) . ' Configuration File', 'Filename' , - $config->getConfFile($layer)); - } - - $this->ui->outputData($data, 'config-show'); - return true; - } - - /** - * Checks if a layer is defined or not - * - * @param string $layer The layer to search for - * @return mixed False on no error or the error message - */ - function _checkLayer($layer = null) - { - if (!empty($layer) && $layer != 'default') { - $layers = $this->config->getLayers(); - if (!in_array($layer, $layers)) { - return " only the layers: \"" . implode('" or "', $layers) . "\" are supported"; - } - } - - return false; - } -} \ No newline at end of file diff --git a/3rdparty/PEAR/Command/Config.xml b/3rdparty/PEAR/Command/Config.xml deleted file mode 100644 index f64a925f52c38a43c428f471b7b8ac8e6249ea82..0000000000000000000000000000000000000000 --- a/3rdparty/PEAR/Command/Config.xml +++ /dev/null @@ -1,92 +0,0 @@ - - - Show All Settings - doConfigShow - csh - - - c - show configuration variables for another channel - CHAN - - - [layer] -Displays all configuration values. An optional argument -may be used to tell which configuration layer to display. Valid -configuration layers are "user", "system" and "default". To display -configurations for different channels, set the default_channel -configuration variable and run config-show again. - - - - Show One Setting - doConfigGet - cg - - - c - show configuration variables for another channel - CHAN - - - <parameter> [layer] -Displays the value of one configuration parameter. The -first argument is the name of the parameter, an optional second argument -may be used to tell which configuration layer to look in. Valid configuration -layers are "user", "system" and "default". If no layer is specified, a value -will be picked from the first layer that defines the parameter, in the order -just specified. The configuration value will be retrieved for the channel -specified by the default_channel configuration variable. - - - - Change Setting - doConfigSet - cs - - - c - show configuration variables for another channel - CHAN - - - <parameter> <value> [layer] -Sets the value of one configuration parameter. The first argument is -the name of the parameter, the second argument is the new value. Some -parameters are subject to validation, and the command will fail with -an error message if the new value does not make sense. An optional -third argument may be used to specify in which layer to set the -configuration parameter. The default layer is "user". The -configuration value will be set for the current channel, which -is controlled by the default_channel configuration variable. - - - - Show Information About Setting - doConfigHelp - ch - - [parameter] -Displays help for a configuration parameter. Without arguments it -displays help for all configuration parameters. - - - - Create a Default configuration file - doConfigCreate - coc - - - w - create a config file for a windows install - - - <root path> <filename> -Create a default configuration file with all directory configuration -variables set to subdirectories of <root path>, and save it as <filename>. -This is useful especially for creating a configuration file for a remote -PEAR installation (using the --remoteconfig option of install, upgrade, -and uninstall). - - - \ No newline at end of file diff --git a/3rdparty/PEAR/Command/Install.php b/3rdparty/PEAR/Command/Install.php deleted file mode 100644 index c035f6d20de1eadcd7e6807718b645de4b336fa8..0000000000000000000000000000000000000000 --- a/3rdparty/PEAR/Command/Install.php +++ /dev/null @@ -1,1268 +0,0 @@ - - * @author Greg Beaver - * @copyright 1997-2009 The Authors - * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: Install.php 313023 2011-07-06 19:17:11Z dufuz $ - * @link http://pear.php.net/package/PEAR - * @since File available since Release 0.1 - */ - -/** - * base class - */ -require_once 'PEAR/Command/Common.php'; - -/** - * PEAR commands for installation or deinstallation/upgrading of - * packages. - * - * @category pear - * @package PEAR - * @author Stig Bakken - * @author Greg Beaver - * @copyright 1997-2009 The Authors - * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.4 - * @link http://pear.php.net/package/PEAR - * @since Class available since Release 0.1 - */ -class PEAR_Command_Install extends PEAR_Command_Common -{ - // {{{ properties - - var $commands = array( - 'install' => array( - 'summary' => 'Install Package', - 'function' => 'doInstall', - 'shortcut' => 'i', - 'options' => array( - 'force' => array( - 'shortopt' => 'f', - 'doc' => 'will overwrite newer installed packages', - ), - 'loose' => array( - 'shortopt' => 'l', - 'doc' => 'do not check for recommended dependency version', - ), - 'nodeps' => array( - 'shortopt' => 'n', - 'doc' => 'ignore dependencies, install anyway', - ), - 'register-only' => array( - 'shortopt' => 'r', - 'doc' => 'do not install files, only register the package as installed', - ), - 'soft' => array( - 'shortopt' => 's', - 'doc' => 'soft install, fail silently, or upgrade if already installed', - ), - 'nobuild' => array( - 'shortopt' => 'B', - 'doc' => 'don\'t build C extensions', - ), - 'nocompress' => array( - 'shortopt' => 'Z', - 'doc' => 'request uncompressed files when downloading', - ), - 'installroot' => array( - 'shortopt' => 'R', - 'arg' => 'DIR', - 'doc' => 'root directory used when installing files (ala PHP\'s INSTALL_ROOT), use packagingroot for RPM', - ), - 'packagingroot' => array( - 'shortopt' => 'P', - 'arg' => 'DIR', - 'doc' => 'root directory used when packaging files, like RPM packaging', - ), - 'ignore-errors' => array( - 'doc' => 'force install even if there were errors', - ), - 'alldeps' => array( - 'shortopt' => 'a', - 'doc' => 'install all required and optional dependencies', - ), - 'onlyreqdeps' => array( - 'shortopt' => 'o', - 'doc' => 'install all required dependencies', - ), - 'offline' => array( - 'shortopt' => 'O', - 'doc' => 'do not attempt to download any urls or contact channels', - ), - 'pretend' => array( - 'shortopt' => 'p', - 'doc' => 'Only list the packages that would be downloaded', - ), - ), - 'doc' => '[channel/] ... -Installs one or more PEAR packages. You can specify a package to -install in four ways: - -"Package-1.0.tgz" : installs from a local file - -"http://example.com/Package-1.0.tgz" : installs from -anywhere on the net. - -"package.xml" : installs the package described in -package.xml. Useful for testing, or for wrapping a PEAR package in -another package manager such as RPM. - -"Package[-version/state][.tar]" : queries your default channel\'s server -({config master_server}) and downloads the newest package with -the preferred quality/state ({config preferred_state}). - -To retrieve Package version 1.1, use "Package-1.1," to retrieve -Package state beta, use "Package-beta." To retrieve an uncompressed -file, append .tar (make sure there is no file by the same name first) - -To download a package from another channel, prefix with the channel name like -"channel/Package" - -More than one package may be specified at once. It is ok to mix these -four ways of specifying packages. -'), - 'upgrade' => array( - 'summary' => 'Upgrade Package', - 'function' => 'doInstall', - 'shortcut' => 'up', - 'options' => array( - 'channel' => array( - 'shortopt' => 'c', - 'doc' => 'upgrade packages from a specific channel', - 'arg' => 'CHAN', - ), - 'force' => array( - 'shortopt' => 'f', - 'doc' => 'overwrite newer installed packages', - ), - 'loose' => array( - 'shortopt' => 'l', - 'doc' => 'do not check for recommended dependency version', - ), - 'nodeps' => array( - 'shortopt' => 'n', - 'doc' => 'ignore dependencies, upgrade anyway', - ), - 'register-only' => array( - 'shortopt' => 'r', - 'doc' => 'do not install files, only register the package as upgraded', - ), - 'nobuild' => array( - 'shortopt' => 'B', - 'doc' => 'don\'t build C extensions', - ), - 'nocompress' => array( - 'shortopt' => 'Z', - 'doc' => 'request uncompressed files when downloading', - ), - 'installroot' => array( - 'shortopt' => 'R', - 'arg' => 'DIR', - 'doc' => 'root directory used when installing files (ala PHP\'s INSTALL_ROOT)', - ), - 'ignore-errors' => array( - 'doc' => 'force install even if there were errors', - ), - 'alldeps' => array( - 'shortopt' => 'a', - 'doc' => 'install all required and optional dependencies', - ), - 'onlyreqdeps' => array( - 'shortopt' => 'o', - 'doc' => 'install all required dependencies', - ), - 'offline' => array( - 'shortopt' => 'O', - 'doc' => 'do not attempt to download any urls or contact channels', - ), - 'pretend' => array( - 'shortopt' => 'p', - 'doc' => 'Only list the packages that would be downloaded', - ), - ), - 'doc' => ' ... -Upgrades one or more PEAR packages. See documentation for the -"install" command for ways to specify a package. - -When upgrading, your package will be updated if the provided new -package has a higher version number (use the -f option if you need to -upgrade anyway). - -More than one package may be specified at once. -'), - 'upgrade-all' => array( - 'summary' => 'Upgrade All Packages [Deprecated in favor of calling upgrade with no parameters]', - 'function' => 'doUpgradeAll', - 'shortcut' => 'ua', - 'options' => array( - 'channel' => array( - 'shortopt' => 'c', - 'doc' => 'upgrade packages from a specific channel', - 'arg' => 'CHAN', - ), - 'nodeps' => array( - 'shortopt' => 'n', - 'doc' => 'ignore dependencies, upgrade anyway', - ), - 'register-only' => array( - 'shortopt' => 'r', - 'doc' => 'do not install files, only register the package as upgraded', - ), - 'nobuild' => array( - 'shortopt' => 'B', - 'doc' => 'don\'t build C extensions', - ), - 'nocompress' => array( - 'shortopt' => 'Z', - 'doc' => 'request uncompressed files when downloading', - ), - 'installroot' => array( - 'shortopt' => 'R', - 'arg' => 'DIR', - 'doc' => 'root directory used when installing files (ala PHP\'s INSTALL_ROOT), use packagingroot for RPM', - ), - 'ignore-errors' => array( - 'doc' => 'force install even if there were errors', - ), - 'loose' => array( - 'doc' => 'do not check for recommended dependency version', - ), - ), - 'doc' => ' -WARNING: This function is deprecated in favor of using the upgrade command with no params - -Upgrades all packages that have a newer release available. Upgrades are -done only if there is a release available of the state specified in -"preferred_state" (currently {config preferred_state}), or a state considered -more stable. -'), - 'uninstall' => array( - 'summary' => 'Un-install Package', - 'function' => 'doUninstall', - 'shortcut' => 'un', - 'options' => array( - 'nodeps' => array( - 'shortopt' => 'n', - 'doc' => 'ignore dependencies, uninstall anyway', - ), - 'register-only' => array( - 'shortopt' => 'r', - 'doc' => 'do not remove files, only register the packages as not installed', - ), - 'installroot' => array( - 'shortopt' => 'R', - 'arg' => 'DIR', - 'doc' => 'root directory used when installing files (ala PHP\'s INSTALL_ROOT)', - ), - 'ignore-errors' => array( - 'doc' => 'force install even if there were errors', - ), - 'offline' => array( - 'shortopt' => 'O', - 'doc' => 'do not attempt to uninstall remotely', - ), - ), - 'doc' => '[channel/] ... -Uninstalls one or more PEAR packages. More than one package may be -specified at once. Prefix with channel name to uninstall from a -channel not in your default channel ({config default_channel}) -'), - 'bundle' => array( - 'summary' => 'Unpacks a Pecl Package', - 'function' => 'doBundle', - 'shortcut' => 'bun', - 'options' => array( - 'destination' => array( - 'shortopt' => 'd', - 'arg' => 'DIR', - 'doc' => 'Optional destination directory for unpacking (defaults to current path or "ext" if exists)', - ), - 'force' => array( - 'shortopt' => 'f', - 'doc' => 'Force the unpacking even if there were errors in the package', - ), - ), - 'doc' => ' -Unpacks a Pecl Package into the selected location. It will download the -package if needed. -'), - 'run-scripts' => array( - 'summary' => 'Run Post-Install Scripts bundled with a package', - 'function' => 'doRunScripts', - 'shortcut' => 'rs', - 'options' => array( - ), - 'doc' => ' -Run post-installation scripts in package , if any exist. -'), - ); - - // }}} - // {{{ constructor - - /** - * PEAR_Command_Install constructor. - * - * @access public - */ - function PEAR_Command_Install(&$ui, &$config) - { - parent::PEAR_Command_Common($ui, $config); - } - - // }}} - - /** - * For unit testing purposes - */ - function &getDownloader(&$ui, $options, &$config) - { - if (!class_exists('PEAR_Downloader')) { - require_once 'PEAR/Downloader.php'; - } - $a = &new PEAR_Downloader($ui, $options, $config); - return $a; - } - - /** - * For unit testing purposes - */ - function &getInstaller(&$ui) - { - if (!class_exists('PEAR_Installer')) { - require_once 'PEAR/Installer.php'; - } - $a = &new PEAR_Installer($ui); - return $a; - } - - function enableExtension($binaries, $type) - { - if (!($phpini = $this->config->get('php_ini', null, 'pear.php.net'))) { - return PEAR::raiseError('configuration option "php_ini" is not set to php.ini location'); - } - $ini = $this->_parseIni($phpini); - if (PEAR::isError($ini)) { - return $ini; - } - $line = 0; - if ($type == 'extsrc' || $type == 'extbin') { - $search = 'extensions'; - $enable = 'extension'; - } else { - $search = 'zend_extensions'; - ob_start(); - phpinfo(INFO_GENERAL); - $info = ob_get_contents(); - ob_end_clean(); - $debug = function_exists('leak') ? '_debug' : ''; - $ts = preg_match('/Thread Safety.+enabled/', $info) ? '_ts' : ''; - $enable = 'zend_extension' . $debug . $ts; - } - foreach ($ini[$search] as $line => $extension) { - if (in_array($extension, $binaries, true) || in_array( - $ini['extension_dir'] . DIRECTORY_SEPARATOR . $extension, $binaries, true)) { - // already enabled - assume if one is, all are - return true; - } - } - if ($line) { - $newini = array_slice($ini['all'], 0, $line); - } else { - $newini = array(); - } - foreach ($binaries as $binary) { - if ($ini['extension_dir']) { - $binary = basename($binary); - } - $newini[] = $enable . '="' . $binary . '"' . (OS_UNIX ? "\n" : "\r\n"); - } - $newini = array_merge($newini, array_slice($ini['all'], $line)); - $fp = @fopen($phpini, 'wb'); - if (!$fp) { - return PEAR::raiseError('cannot open php.ini "' . $phpini . '" for writing'); - } - foreach ($newini as $line) { - fwrite($fp, $line); - } - fclose($fp); - return true; - } - - function disableExtension($binaries, $type) - { - if (!($phpini = $this->config->get('php_ini', null, 'pear.php.net'))) { - return PEAR::raiseError('configuration option "php_ini" is not set to php.ini location'); - } - $ini = $this->_parseIni($phpini); - if (PEAR::isError($ini)) { - return $ini; - } - $line = 0; - if ($type == 'extsrc' || $type == 'extbin') { - $search = 'extensions'; - $enable = 'extension'; - } else { - $search = 'zend_extensions'; - ob_start(); - phpinfo(INFO_GENERAL); - $info = ob_get_contents(); - ob_end_clean(); - $debug = function_exists('leak') ? '_debug' : ''; - $ts = preg_match('/Thread Safety.+enabled/', $info) ? '_ts' : ''; - $enable = 'zend_extension' . $debug . $ts; - } - $found = false; - foreach ($ini[$search] as $line => $extension) { - if (in_array($extension, $binaries, true) || in_array( - $ini['extension_dir'] . DIRECTORY_SEPARATOR . $extension, $binaries, true)) { - $found = true; - break; - } - } - if (!$found) { - // not enabled - return true; - } - $fp = @fopen($phpini, 'wb'); - if (!$fp) { - return PEAR::raiseError('cannot open php.ini "' . $phpini . '" for writing'); - } - if ($line) { - $newini = array_slice($ini['all'], 0, $line); - // delete the enable line - $newini = array_merge($newini, array_slice($ini['all'], $line + 1)); - } else { - $newini = array_slice($ini['all'], 1); - } - foreach ($newini as $line) { - fwrite($fp, $line); - } - fclose($fp); - return true; - } - - function _parseIni($filename) - { - if (!file_exists($filename)) { - return PEAR::raiseError('php.ini "' . $filename . '" does not exist'); - } - - if (filesize($filename) > 300000) { - return PEAR::raiseError('php.ini "' . $filename . '" is too large, aborting'); - } - - ob_start(); - phpinfo(INFO_GENERAL); - $info = ob_get_contents(); - ob_end_clean(); - $debug = function_exists('leak') ? '_debug' : ''; - $ts = preg_match('/Thread Safety.+enabled/', $info) ? '_ts' : ''; - $zend_extension_line = 'zend_extension' . $debug . $ts; - $all = @file($filename); - if (!$all) { - return PEAR::raiseError('php.ini "' . $filename .'" could not be read'); - } - $zend_extensions = $extensions = array(); - // assume this is right, but pull from the php.ini if it is found - $extension_dir = ini_get('extension_dir'); - foreach ($all as $linenum => $line) { - $line = trim($line); - if (!$line) { - continue; - } - if ($line[0] == ';') { - continue; - } - if (strtolower(substr($line, 0, 13)) == 'extension_dir') { - $line = trim(substr($line, 13)); - if ($line[0] == '=') { - $x = trim(substr($line, 1)); - $x = explode(';', $x); - $extension_dir = str_replace('"', '', array_shift($x)); - continue; - } - } - if (strtolower(substr($line, 0, 9)) == 'extension') { - $line = trim(substr($line, 9)); - if ($line[0] == '=') { - $x = trim(substr($line, 1)); - $x = explode(';', $x); - $extensions[$linenum] = str_replace('"', '', array_shift($x)); - continue; - } - } - if (strtolower(substr($line, 0, strlen($zend_extension_line))) == - $zend_extension_line) { - $line = trim(substr($line, strlen($zend_extension_line))); - if ($line[0] == '=') { - $x = trim(substr($line, 1)); - $x = explode(';', $x); - $zend_extensions[$linenum] = str_replace('"', '', array_shift($x)); - continue; - } - } - } - return array( - 'extensions' => $extensions, - 'zend_extensions' => $zend_extensions, - 'extension_dir' => $extension_dir, - 'all' => $all, - ); - } - - // {{{ doInstall() - - function doInstall($command, $options, $params) - { - if (!class_exists('PEAR_PackageFile')) { - require_once 'PEAR/PackageFile.php'; - } - - if (isset($options['installroot']) && isset($options['packagingroot'])) { - return $this->raiseError('ERROR: cannot use both --installroot and --packagingroot'); - } - - $reg = &$this->config->getRegistry(); - $channel = isset($options['channel']) ? $options['channel'] : $this->config->get('default_channel'); - if (!$reg->channelExists($channel)) { - return $this->raiseError('Channel "' . $channel . '" does not exist'); - } - - if (empty($this->installer)) { - $this->installer = &$this->getInstaller($this->ui); - } - - if ($command == 'upgrade' || $command == 'upgrade-all') { - // If people run the upgrade command but pass nothing, emulate a upgrade-all - if ($command == 'upgrade' && empty($params)) { - return $this->doUpgradeAll($command, $options, $params); - } - $options['upgrade'] = true; - } else { - $packages = $params; - } - - $instreg = &$reg; // instreg used to check if package is installed - if (isset($options['packagingroot']) && !isset($options['upgrade'])) { - $packrootphp_dir = $this->installer->_prependPath( - $this->config->get('php_dir', null, 'pear.php.net'), - $options['packagingroot']); - $instreg = new PEAR_Registry($packrootphp_dir); // other instreg! - - if ($this->config->get('verbose') > 2) { - $this->ui->outputData('using package root: ' . $options['packagingroot']); - } - } - - $abstractpackages = $otherpackages = array(); - // parse params - PEAR::staticPushErrorHandling(PEAR_ERROR_RETURN); - - foreach ($params as $param) { - if (strpos($param, 'http://') === 0) { - $otherpackages[] = $param; - continue; - } - - if (strpos($param, 'channel://') === false && @file_exists($param)) { - if (isset($options['force'])) { - $otherpackages[] = $param; - continue; - } - - $pkg = new PEAR_PackageFile($this->config); - $pf = $pkg->fromAnyFile($param, PEAR_VALIDATE_DOWNLOADING); - if (PEAR::isError($pf)) { - $otherpackages[] = $param; - continue; - } - - $exists = $reg->packageExists($pf->getPackage(), $pf->getChannel()); - $pversion = $reg->packageInfo($pf->getPackage(), 'version', $pf->getChannel()); - $version_compare = version_compare($pf->getVersion(), $pversion, '<='); - if ($exists && $version_compare) { - if ($this->config->get('verbose')) { - $this->ui->outputData('Ignoring installed package ' . - $reg->parsedPackageNameToString( - array('package' => $pf->getPackage(), - 'channel' => $pf->getChannel()), true)); - } - continue; - } - $otherpackages[] = $param; - continue; - } - - $e = $reg->parsePackageName($param, $channel); - if (PEAR::isError($e)) { - $otherpackages[] = $param; - } else { - $abstractpackages[] = $e; - } - } - PEAR::staticPopErrorHandling(); - - // if there are any local package .tgz or remote static url, we can't - // filter. The filter only works for abstract packages - if (count($abstractpackages) && !isset($options['force'])) { - // when not being forced, only do necessary upgrades/installs - if (isset($options['upgrade'])) { - $abstractpackages = $this->_filterUptodatePackages($abstractpackages, $command); - } else { - $count = count($abstractpackages); - foreach ($abstractpackages as $i => $package) { - if (isset($package['group'])) { - // do not filter out install groups - continue; - } - - if ($instreg->packageExists($package['package'], $package['channel'])) { - if ($count > 1) { - if ($this->config->get('verbose')) { - $this->ui->outputData('Ignoring installed package ' . - $reg->parsedPackageNameToString($package, true)); - } - unset($abstractpackages[$i]); - } elseif ($count === 1) { - // Lets try to upgrade it since it's already installed - $options['upgrade'] = true; - } - } - } - } - $abstractpackages = - array_map(array($reg, 'parsedPackageNameToString'), $abstractpackages); - } elseif (count($abstractpackages)) { - $abstractpackages = - array_map(array($reg, 'parsedPackageNameToString'), $abstractpackages); - } - - $packages = array_merge($abstractpackages, $otherpackages); - if (!count($packages)) { - $c = ''; - if (isset($options['channel'])){ - $c .= ' in channel "' . $options['channel'] . '"'; - } - $this->ui->outputData('Nothing to ' . $command . $c); - return true; - } - - $this->downloader = &$this->getDownloader($this->ui, $options, $this->config); - $errors = $downloaded = $binaries = array(); - $downloaded = &$this->downloader->download($packages); - if (PEAR::isError($downloaded)) { - return $this->raiseError($downloaded); - } - - $errors = $this->downloader->getErrorMsgs(); - if (count($errors)) { - $err = array(); - $err['data'] = array(); - foreach ($errors as $error) { - if ($error !== null) { - $err['data'][] = array($error); - } - } - - if (!empty($err['data'])) { - $err['headline'] = 'Install Errors'; - $this->ui->outputData($err); - } - - if (!count($downloaded)) { - return $this->raiseError("$command failed"); - } - } - - $data = array( - 'headline' => 'Packages that would be Installed' - ); - - if (isset($options['pretend'])) { - foreach ($downloaded as $package) { - $data['data'][] = array($reg->parsedPackageNameToString($package->getParsedPackage())); - } - $this->ui->outputData($data, 'pretend'); - return true; - } - - $this->installer->setOptions($options); - $this->installer->sortPackagesForInstall($downloaded); - if (PEAR::isError($err = $this->installer->setDownloadedPackages($downloaded))) { - $this->raiseError($err->getMessage()); - return true; - } - - $binaries = $extrainfo = array(); - foreach ($downloaded as $param) { - PEAR::staticPushErrorHandling(PEAR_ERROR_RETURN); - $info = $this->installer->install($param, $options); - PEAR::staticPopErrorHandling(); - if (PEAR::isError($info)) { - $oldinfo = $info; - $pkg = &$param->getPackageFile(); - if ($info->getCode() != PEAR_INSTALLER_NOBINARY) { - if (!($info = $pkg->installBinary($this->installer))) { - $this->ui->outputData('ERROR: ' .$oldinfo->getMessage()); - continue; - } - - // we just installed a different package than requested, - // let's change the param and info so that the rest of this works - $param = $info[0]; - $info = $info[1]; - } - } - - if (!is_array($info)) { - return $this->raiseError("$command failed"); - } - - if ($param->getPackageType() == 'extsrc' || - $param->getPackageType() == 'extbin' || - $param->getPackageType() == 'zendextsrc' || - $param->getPackageType() == 'zendextbin' - ) { - $pkg = &$param->getPackageFile(); - if ($instbin = $pkg->getInstalledBinary()) { - $instpkg = &$instreg->getPackage($instbin, $pkg->getChannel()); - } else { - $instpkg = &$instreg->getPackage($pkg->getPackage(), $pkg->getChannel()); - } - - foreach ($instpkg->getFilelist() as $name => $atts) { - $pinfo = pathinfo($atts['installed_as']); - if (!isset($pinfo['extension']) || - in_array($pinfo['extension'], array('c', 'h')) - ) { - continue; // make sure we don't match php_blah.h - } - - if ((strpos($pinfo['basename'], 'php_') === 0 && - $pinfo['extension'] == 'dll') || - // most unices - $pinfo['extension'] == 'so' || - // hp-ux - $pinfo['extension'] == 'sl') { - $binaries[] = array($atts['installed_as'], $pinfo); - break; - } - } - - if (count($binaries)) { - foreach ($binaries as $pinfo) { - PEAR::staticPushErrorHandling(PEAR_ERROR_RETURN); - $ret = $this->enableExtension(array($pinfo[0]), $param->getPackageType()); - PEAR::staticPopErrorHandling(); - if (PEAR::isError($ret)) { - $extrainfo[] = $ret->getMessage(); - if ($param->getPackageType() == 'extsrc' || - $param->getPackageType() == 'extbin') { - $exttype = 'extension'; - } else { - ob_start(); - phpinfo(INFO_GENERAL); - $info = ob_get_contents(); - ob_end_clean(); - $debug = function_exists('leak') ? '_debug' : ''; - $ts = preg_match('/Thread Safety.+enabled/', $info) ? '_ts' : ''; - $exttype = 'zend_extension' . $debug . $ts; - } - $extrainfo[] = 'You should add "' . $exttype . '=' . - $pinfo[1]['basename'] . '" to php.ini'; - } else { - $extrainfo[] = 'Extension ' . $instpkg->getProvidesExtension() . - ' enabled in php.ini'; - } - } - } - } - - if ($this->config->get('verbose') > 0) { - $chan = $param->getChannel(); - $label = $reg->parsedPackageNameToString( - array( - 'channel' => $chan, - 'package' => $param->getPackage(), - 'version' => $param->getVersion(), - )); - $out = array('data' => "$command ok: $label"); - if (isset($info['release_warnings'])) { - $out['release_warnings'] = $info['release_warnings']; - } - $this->ui->outputData($out, $command); - - if (!isset($options['register-only']) && !isset($options['offline'])) { - if ($this->config->isDefinedLayer('ftp')) { - PEAR::staticPushErrorHandling(PEAR_ERROR_RETURN); - $info = $this->installer->ftpInstall($param); - PEAR::staticPopErrorHandling(); - if (PEAR::isError($info)) { - $this->ui->outputData($info->getMessage()); - $this->ui->outputData("remote install failed: $label"); - } else { - $this->ui->outputData("remote install ok: $label"); - } - } - } - } - - $deps = $param->getDeps(); - if ($deps) { - if (isset($deps['group'])) { - $groups = $deps['group']; - if (!isset($groups[0])) { - $groups = array($groups); - } - - foreach ($groups as $group) { - if ($group['attribs']['name'] == 'default') { - // default group is always installed, unless the user - // explicitly chooses to install another group - continue; - } - $extrainfo[] = $param->getPackage() . ': Optional feature ' . - $group['attribs']['name'] . ' available (' . - $group['attribs']['hint'] . ')'; - } - - $extrainfo[] = $param->getPackage() . - ': To install optional features use "pear install ' . - $reg->parsedPackageNameToString( - array('package' => $param->getPackage(), - 'channel' => $param->getChannel()), true) . - '#featurename"'; - } - } - - $pkg = &$instreg->getPackage($param->getPackage(), $param->getChannel()); - // $pkg may be NULL if install is a 'fake' install via --packagingroot - if (is_object($pkg)) { - $pkg->setConfig($this->config); - if ($list = $pkg->listPostinstallScripts()) { - $pn = $reg->parsedPackageNameToString(array('channel' => - $param->getChannel(), 'package' => $param->getPackage()), true); - $extrainfo[] = $pn . ' has post-install scripts:'; - foreach ($list as $file) { - $extrainfo[] = $file; - } - $extrainfo[] = $param->getPackage() . - ': Use "pear run-scripts ' . $pn . '" to finish setup.'; - $extrainfo[] = 'DO NOT RUN SCRIPTS FROM UNTRUSTED SOURCES'; - } - } - } - - if (count($extrainfo)) { - foreach ($extrainfo as $info) { - $this->ui->outputData($info); - } - } - - return true; - } - - // }}} - // {{{ doUpgradeAll() - - function doUpgradeAll($command, $options, $params) - { - $reg = &$this->config->getRegistry(); - $upgrade = array(); - - if (isset($options['channel'])) { - $channels = array($options['channel']); - } else { - $channels = $reg->listChannels(); - } - - foreach ($channels as $channel) { - if ($channel == '__uri') { - continue; - } - - // parse name with channel - foreach ($reg->listPackages($channel) as $name) { - $upgrade[] = $reg->parsedPackageNameToString(array( - 'channel' => $channel, - 'package' => $name - )); - } - } - - $err = $this->doInstall($command, $options, $upgrade); - if (PEAR::isError($err)) { - $this->ui->outputData($err->getMessage(), $command); - } - } - - // }}} - // {{{ doUninstall() - - function doUninstall($command, $options, $params) - { - if (count($params) < 1) { - return $this->raiseError("Please supply the package(s) you want to uninstall"); - } - - if (empty($this->installer)) { - $this->installer = &$this->getInstaller($this->ui); - } - - if (isset($options['remoteconfig'])) { - $e = $this->config->readFTPConfigFile($options['remoteconfig']); - if (!PEAR::isError($e)) { - $this->installer->setConfig($this->config); - } - } - - $reg = &$this->config->getRegistry(); - $newparams = array(); - $binaries = array(); - $badparams = array(); - foreach ($params as $pkg) { - $channel = $this->config->get('default_channel'); - PEAR::staticPushErrorHandling(PEAR_ERROR_RETURN); - $parsed = $reg->parsePackageName($pkg, $channel); - PEAR::staticPopErrorHandling(); - if (!$parsed || PEAR::isError($parsed)) { - $badparams[] = $pkg; - continue; - } - $package = $parsed['package']; - $channel = $parsed['channel']; - $info = &$reg->getPackage($package, $channel); - if ($info === null && - ($channel == 'pear.php.net' || $channel == 'pecl.php.net')) { - // make sure this isn't a package that has flipped from pear to pecl but - // used a package.xml 1.0 - $testc = ($channel == 'pear.php.net') ? 'pecl.php.net' : 'pear.php.net'; - $info = &$reg->getPackage($package, $testc); - if ($info !== null) { - $channel = $testc; - } - } - if ($info === null) { - $badparams[] = $pkg; - } else { - $newparams[] = &$info; - // check for binary packages (this is an alias for those packages if so) - if ($installedbinary = $info->getInstalledBinary()) { - $this->ui->log('adding binary package ' . - $reg->parsedPackageNameToString(array('channel' => $channel, - 'package' => $installedbinary), true)); - $newparams[] = &$reg->getPackage($installedbinary, $channel); - } - // add the contents of a dependency group to the list of installed packages - if (isset($parsed['group'])) { - $group = $info->getDependencyGroup($parsed['group']); - if ($group) { - $installed = $reg->getInstalledGroup($group); - if ($installed) { - foreach ($installed as $i => $p) { - $newparams[] = &$installed[$i]; - } - } - } - } - } - } - $err = $this->installer->sortPackagesForUninstall($newparams); - if (PEAR::isError($err)) { - $this->ui->outputData($err->getMessage(), $command); - return true; - } - $params = $newparams; - // twist this to use it to check on whether dependent packages are also being uninstalled - // for circular dependencies like subpackages - $this->installer->setUninstallPackages($newparams); - $params = array_merge($params, $badparams); - $binaries = array(); - foreach ($params as $pkg) { - $this->installer->pushErrorHandling(PEAR_ERROR_RETURN); - if ($err = $this->installer->uninstall($pkg, $options)) { - $this->installer->popErrorHandling(); - if (PEAR::isError($err)) { - $this->ui->outputData($err->getMessage(), $command); - continue; - } - if ($pkg->getPackageType() == 'extsrc' || - $pkg->getPackageType() == 'extbin' || - $pkg->getPackageType() == 'zendextsrc' || - $pkg->getPackageType() == 'zendextbin') { - if ($instbin = $pkg->getInstalledBinary()) { - continue; // this will be uninstalled later - } - - foreach ($pkg->getFilelist() as $name => $atts) { - $pinfo = pathinfo($atts['installed_as']); - if (!isset($pinfo['extension']) || - in_array($pinfo['extension'], array('c', 'h'))) { - continue; // make sure we don't match php_blah.h - } - if ((strpos($pinfo['basename'], 'php_') === 0 && - $pinfo['extension'] == 'dll') || - // most unices - $pinfo['extension'] == 'so' || - // hp-ux - $pinfo['extension'] == 'sl') { - $binaries[] = array($atts['installed_as'], $pinfo); - break; - } - } - if (count($binaries)) { - foreach ($binaries as $pinfo) { - PEAR::staticPushErrorHandling(PEAR_ERROR_RETURN); - $ret = $this->disableExtension(array($pinfo[0]), $pkg->getPackageType()); - PEAR::staticPopErrorHandling(); - if (PEAR::isError($ret)) { - $extrainfo[] = $ret->getMessage(); - if ($pkg->getPackageType() == 'extsrc' || - $pkg->getPackageType() == 'extbin') { - $exttype = 'extension'; - } else { - ob_start(); - phpinfo(INFO_GENERAL); - $info = ob_get_contents(); - ob_end_clean(); - $debug = function_exists('leak') ? '_debug' : ''; - $ts = preg_match('/Thread Safety.+enabled/', $info) ? '_ts' : ''; - $exttype = 'zend_extension' . $debug . $ts; - } - $this->ui->outputData('Unable to remove "' . $exttype . '=' . - $pinfo[1]['basename'] . '" from php.ini', $command); - } else { - $this->ui->outputData('Extension ' . $pkg->getProvidesExtension() . - ' disabled in php.ini', $command); - } - } - } - } - $savepkg = $pkg; - if ($this->config->get('verbose') > 0) { - if (is_object($pkg)) { - $pkg = $reg->parsedPackageNameToString($pkg); - } - $this->ui->outputData("uninstall ok: $pkg", $command); - } - if (!isset($options['offline']) && is_object($savepkg) && - defined('PEAR_REMOTEINSTALL_OK')) { - if ($this->config->isDefinedLayer('ftp')) { - $this->installer->pushErrorHandling(PEAR_ERROR_RETURN); - $info = $this->installer->ftpUninstall($savepkg); - $this->installer->popErrorHandling(); - if (PEAR::isError($info)) { - $this->ui->outputData($info->getMessage()); - $this->ui->outputData("remote uninstall failed: $pkg"); - } else { - $this->ui->outputData("remote uninstall ok: $pkg"); - } - } - } - } else { - $this->installer->popErrorHandling(); - if (!is_object($pkg)) { - return $this->raiseError("uninstall failed: $pkg"); - } - $pkg = $reg->parsedPackageNameToString($pkg); - } - } - - return true; - } - - // }}} - - - // }}} - // {{{ doBundle() - /* - (cox) It just downloads and untars the package, does not do - any check that the PEAR_Installer::_installFile() does. - */ - - function doBundle($command, $options, $params) - { - $opts = array( - 'force' => true, - 'nodeps' => true, - 'soft' => true, - 'downloadonly' => true - ); - $downloader = &$this->getDownloader($this->ui, $opts, $this->config); - $reg = &$this->config->getRegistry(); - if (count($params) < 1) { - return $this->raiseError("Please supply the package you want to bundle"); - } - - if (isset($options['destination'])) { - if (!is_dir($options['destination'])) { - System::mkdir('-p ' . $options['destination']); - } - $dest = realpath($options['destination']); - } else { - $pwd = getcwd(); - $dir = $pwd . DIRECTORY_SEPARATOR . 'ext'; - $dest = is_dir($dir) ? $dir : $pwd; - } - PEAR::staticPushErrorHandling(PEAR_ERROR_RETURN); - $err = $downloader->setDownloadDir($dest); - PEAR::staticPopErrorHandling(); - if (PEAR::isError($err)) { - return PEAR::raiseError('download directory "' . $dest . - '" is not writeable.'); - } - $result = &$downloader->download(array($params[0])); - if (PEAR::isError($result)) { - return $result; - } - if (!isset($result[0])) { - return $this->raiseError('unable to unpack ' . $params[0]); - } - $pkgfile = &$result[0]->getPackageFile(); - $pkgname = $pkgfile->getName(); - $pkgversion = $pkgfile->getVersion(); - - // Unpacking ------------------------------------------------- - $dest .= DIRECTORY_SEPARATOR . $pkgname; - $orig = $pkgname . '-' . $pkgversion; - - $tar = &new Archive_Tar($pkgfile->getArchiveFile()); - if (!$tar->extractModify($dest, $orig)) { - return $this->raiseError('unable to unpack ' . $pkgfile->getArchiveFile()); - } - $this->ui->outputData("Package ready at '$dest'"); - // }}} - } - - // }}} - - function doRunScripts($command, $options, $params) - { - if (!isset($params[0])) { - return $this->raiseError('run-scripts expects 1 parameter: a package name'); - } - - $reg = &$this->config->getRegistry(); - PEAR::staticPushErrorHandling(PEAR_ERROR_RETURN); - $parsed = $reg->parsePackageName($params[0], $this->config->get('default_channel')); - PEAR::staticPopErrorHandling(); - if (PEAR::isError($parsed)) { - return $this->raiseError($parsed); - } - - $package = &$reg->getPackage($parsed['package'], $parsed['channel']); - if (!is_object($package)) { - return $this->raiseError('Could not retrieve package "' . $params[0] . '" from registry'); - } - - $package->setConfig($this->config); - $package->runPostinstallScripts(); - $this->ui->outputData('Install scripts complete', $command); - return true; - } - - /** - * Given a list of packages, filter out those ones that are already up to date - * - * @param $packages: packages, in parsed array format ! - * @return list of packages that can be upgraded - */ - function _filterUptodatePackages($packages, $command) - { - $reg = &$this->config->getRegistry(); - $latestReleases = array(); - - $ret = array(); - foreach ($packages as $package) { - if (isset($package['group'])) { - $ret[] = $package; - continue; - } - - $channel = $package['channel']; - $name = $package['package']; - if (!$reg->packageExists($name, $channel)) { - $ret[] = $package; - continue; - } - - if (!isset($latestReleases[$channel])) { - // fill in cache for this channel - $chan = &$reg->getChannel($channel); - if (PEAR::isError($chan)) { - return $this->raiseError($chan); - } - - $base2 = false; - $preferred_mirror = $this->config->get('preferred_mirror', null, $channel); - if ($chan->supportsREST($preferred_mirror) && - ( - //($base2 = $chan->getBaseURL('REST1.4', $preferred_mirror)) || - ($base = $chan->getBaseURL('REST1.0', $preferred_mirror)) - ) - ) { - $dorest = true; - } - - PEAR::staticPushErrorHandling(PEAR_ERROR_RETURN); - if (!isset($package['state'])) { - $state = $this->config->get('preferred_state', null, $channel); - } else { - $state = $package['state']; - } - - if ($dorest) { - if ($base2) { - $rest = &$this->config->getREST('1.4', array()); - $base = $base2; - } else { - $rest = &$this->config->getREST('1.0', array()); - } - - $installed = array_flip($reg->listPackages($channel)); - $latest = $rest->listLatestUpgrades($base, $state, $installed, $channel, $reg); - } - - PEAR::staticPopErrorHandling(); - if (PEAR::isError($latest)) { - $this->ui->outputData('Error getting channel info from ' . $channel . - ': ' . $latest->getMessage()); - continue; - } - - $latestReleases[$channel] = array_change_key_case($latest); - } - - // check package for latest release - $name_lower = strtolower($name); - if (isset($latestReleases[$channel][$name_lower])) { - // if not set, up to date - $inst_version = $reg->packageInfo($name, 'version', $channel); - $channel_version = $latestReleases[$channel][$name_lower]['version']; - if (version_compare($channel_version, $inst_version, 'le')) { - // installed version is up-to-date - continue; - } - - // maintain BC - if ($command == 'upgrade-all') { - $this->ui->outputData(array('data' => 'Will upgrade ' . - $reg->parsedPackageNameToString($package)), $command); - } - $ret[] = $package; - } - } - - return $ret; - } -} \ No newline at end of file diff --git a/3rdparty/PEAR/Command/Install.xml b/3rdparty/PEAR/Command/Install.xml deleted file mode 100644 index 1b1e933c22da92225b6ed73a0e8f76f6df47bcdf..0000000000000000000000000000000000000000 --- a/3rdparty/PEAR/Command/Install.xml +++ /dev/null @@ -1,276 +0,0 @@ - - - Install Package - doInstall - i - - - f - will overwrite newer installed packages - - - l - do not check for recommended dependency version - - - n - ignore dependencies, install anyway - - - r - do not install files, only register the package as installed - - - s - soft install, fail silently, or upgrade if already installed - - - B - don't build C extensions - - - Z - request uncompressed files when downloading - - - R - root directory used when installing files (ala PHP's INSTALL_ROOT), use packagingroot for RPM - DIR - - - P - root directory used when packaging files, like RPM packaging - DIR - - - - force install even if there were errors - - - a - install all required and optional dependencies - - - o - install all required dependencies - - - O - do not attempt to download any urls or contact channels - - - p - Only list the packages that would be downloaded - - - [channel/]<package> ... -Installs one or more PEAR packages. You can specify a package to -install in four ways: - -"Package-1.0.tgz" : installs from a local file - -"http://example.com/Package-1.0.tgz" : installs from -anywhere on the net. - -"package.xml" : installs the package described in -package.xml. Useful for testing, or for wrapping a PEAR package in -another package manager such as RPM. - -"Package[-version/state][.tar]" : queries your default channel's server -({config master_server}) and downloads the newest package with -the preferred quality/state ({config preferred_state}). - -To retrieve Package version 1.1, use "Package-1.1," to retrieve -Package state beta, use "Package-beta." To retrieve an uncompressed -file, append .tar (make sure there is no file by the same name first) - -To download a package from another channel, prefix with the channel name like -"channel/Package" - -More than one package may be specified at once. It is ok to mix these -four ways of specifying packages. - - - - Upgrade Package - doInstall - up - - - c - upgrade packages from a specific channel - CHAN - - - f - overwrite newer installed packages - - - l - do not check for recommended dependency version - - - n - ignore dependencies, upgrade anyway - - - r - do not install files, only register the package as upgraded - - - B - don't build C extensions - - - Z - request uncompressed files when downloading - - - R - root directory used when installing files (ala PHP's INSTALL_ROOT) - DIR - - - - force install even if there were errors - - - a - install all required and optional dependencies - - - o - install all required dependencies - - - O - do not attempt to download any urls or contact channels - - - p - Only list the packages that would be downloaded - - - <package> ... -Upgrades one or more PEAR packages. See documentation for the -"install" command for ways to specify a package. - -When upgrading, your package will be updated if the provided new -package has a higher version number (use the -f option if you need to -upgrade anyway). - -More than one package may be specified at once. - - - - Upgrade All Packages [Deprecated in favor of calling upgrade with no parameters] - doUpgradeAll - ua - - - c - upgrade packages from a specific channel - CHAN - - - n - ignore dependencies, upgrade anyway - - - r - do not install files, only register the package as upgraded - - - B - don't build C extensions - - - Z - request uncompressed files when downloading - - - R - root directory used when installing files (ala PHP's INSTALL_ROOT), use packagingroot for RPM - DIR - - - - force install even if there were errors - - - - do not check for recommended dependency version - - - -WARNING: This function is deprecated in favor of using the upgrade command with no params - -Upgrades all packages that have a newer release available. Upgrades are -done only if there is a release available of the state specified in -"preferred_state" (currently {config preferred_state}), or a state considered -more stable. - - - - Un-install Package - doUninstall - un - - - n - ignore dependencies, uninstall anyway - - - r - do not remove files, only register the packages as not installed - - - R - root directory used when installing files (ala PHP's INSTALL_ROOT) - DIR - - - - force install even if there were errors - - - O - do not attempt to uninstall remotely - - - [channel/]<package> ... -Uninstalls one or more PEAR packages. More than one package may be -specified at once. Prefix with channel name to uninstall from a -channel not in your default channel ({config default_channel}) - - - - Unpacks a Pecl Package - doBundle - bun - - - d - Optional destination directory for unpacking (defaults to current path or "ext" if exists) - DIR - - - f - Force the unpacking even if there were errors in the package - - - <package> -Unpacks a Pecl Package into the selected location. It will download the -package if needed. - - - - Run Post-Install Scripts bundled with a package - doRunScripts - rs - - <package> -Run post-installation scripts in package <package>, if any exist. - - - \ No newline at end of file diff --git a/3rdparty/PEAR/Command/Mirror.php b/3rdparty/PEAR/Command/Mirror.php deleted file mode 100644 index 4d157c6b8886000edfc0d6dbec85e303087bc368..0000000000000000000000000000000000000000 --- a/3rdparty/PEAR/Command/Mirror.php +++ /dev/null @@ -1,139 +0,0 @@ - - * @copyright 1997-2009 The Authors - * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: Mirror.php 313023 2011-07-06 19:17:11Z dufuz $ - * @link http://pear.php.net/package/PEAR - * @since File available since Release 1.2.0 - */ - -/** - * base class - */ -require_once 'PEAR/Command/Common.php'; - -/** - * PEAR commands for providing file mirrors - * - * @category pear - * @package PEAR - * @author Alexander Merz - * @copyright 1997-2009 The Authors - * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.4 - * @link http://pear.php.net/package/PEAR - * @since Class available since Release 1.2.0 - */ -class PEAR_Command_Mirror extends PEAR_Command_Common -{ - var $commands = array( - 'download-all' => array( - 'summary' => 'Downloads each available package from the default channel', - 'function' => 'doDownloadAll', - 'shortcut' => 'da', - 'options' => array( - 'channel' => - array( - 'shortopt' => 'c', - 'doc' => 'specify a channel other than the default channel', - 'arg' => 'CHAN', - ), - ), - 'doc' => ' -Requests a list of available packages from the default channel ({config default_channel}) -and downloads them to current working directory. Note: only -packages within preferred_state ({config preferred_state}) will be downloaded' - ), - ); - - /** - * PEAR_Command_Mirror constructor. - * - * @access public - * @param object PEAR_Frontend a reference to an frontend - * @param object PEAR_Config a reference to the configuration data - */ - function PEAR_Command_Mirror(&$ui, &$config) - { - parent::PEAR_Command_Common($ui, $config); - } - - /** - * For unit-testing - */ - function &factory($a) - { - $a = &PEAR_Command::factory($a, $this->config); - return $a; - } - - /** - * retrieves a list of avaible Packages from master server - * and downloads them - * - * @access public - * @param string $command the command - * @param array $options the command options before the command - * @param array $params the stuff after the command name - * @return bool true if succesful - * @throw PEAR_Error - */ - function doDownloadAll($command, $options, $params) - { - $savechannel = $this->config->get('default_channel'); - $reg = &$this->config->getRegistry(); - $channel = isset($options['channel']) ? $options['channel'] : - $this->config->get('default_channel'); - if (!$reg->channelExists($channel)) { - $this->config->set('default_channel', $savechannel); - return $this->raiseError('Channel "' . $channel . '" does not exist'); - } - $this->config->set('default_channel', $channel); - - $this->ui->outputData('Using Channel ' . $this->config->get('default_channel')); - $chan = $reg->getChannel($channel); - if (PEAR::isError($chan)) { - return $this->raiseError($chan); - } - - if ($chan->supportsREST($this->config->get('preferred_mirror')) && - $base = $chan->getBaseURL('REST1.0', $this->config->get('preferred_mirror'))) { - $rest = &$this->config->getREST('1.0', array()); - $remoteInfo = array_flip($rest->listPackages($base, $channel)); - } - - if (PEAR::isError($remoteInfo)) { - return $remoteInfo; - } - - $cmd = &$this->factory("download"); - if (PEAR::isError($cmd)) { - return $cmd; - } - - $this->ui->outputData('Using Preferred State of ' . - $this->config->get('preferred_state')); - $this->ui->outputData('Gathering release information, please wait...'); - - /** - * Error handling not necessary, because already done by - * the download command - */ - PEAR::staticPushErrorHandling(PEAR_ERROR_RETURN); - $err = $cmd->run('download', array('downloadonly' => true), array_keys($remoteInfo)); - PEAR::staticPopErrorHandling(); - $this->config->set('default_channel', $savechannel); - if (PEAR::isError($err)) { - $this->ui->outputData($err->getMessage()); - } - - return true; - } -} \ No newline at end of file diff --git a/3rdparty/PEAR/Command/Mirror.xml b/3rdparty/PEAR/Command/Mirror.xml deleted file mode 100644 index fe8be9d03bf94a11aae5fb1fbbe338932bd2c9c8..0000000000000000000000000000000000000000 --- a/3rdparty/PEAR/Command/Mirror.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - Downloads each available package from the default channel - doDownloadAll - da - - - c - specify a channel other than the default channel - CHAN - - - -Requests a list of available packages from the default channel ({config default_channel}) -and downloads them to current working directory. Note: only -packages within preferred_state ({config preferred_state}) will be downloaded - - \ No newline at end of file diff --git a/3rdparty/PEAR/Command/Package.php b/3rdparty/PEAR/Command/Package.php deleted file mode 100644 index 81df7bf6945d974923427de420f199cbe6f48ab3..0000000000000000000000000000000000000000 --- a/3rdparty/PEAR/Command/Package.php +++ /dev/null @@ -1,1124 +0,0 @@ - - * @author Martin Jansen - * @author Greg Beaver - * @copyright 1997-2009 The Authors - * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: Package.php 313024 2011-07-06 19:51:24Z dufuz $ - * @link http://pear.php.net/package/PEAR - * @since File available since Release 0.1 - */ - -/** - * base class - */ -require_once 'PEAR/Command/Common.php'; - -/** - * PEAR commands for login/logout - * - * @category pear - * @package PEAR - * @author Stig Bakken - * @author Martin Jansen - * @author Greg Beaver - * @copyright 1997-2009 The Authors - * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: @package_version@ - * @link http://pear.php.net/package/PEAR - * @since Class available since Release 0.1 - */ - -class PEAR_Command_Package extends PEAR_Command_Common -{ - var $commands = array( - 'package' => array( - 'summary' => 'Build Package', - 'function' => 'doPackage', - 'shortcut' => 'p', - 'options' => array( - 'nocompress' => array( - 'shortopt' => 'Z', - 'doc' => 'Do not gzip the package file' - ), - 'showname' => array( - 'shortopt' => 'n', - 'doc' => 'Print the name of the packaged file.', - ), - ), - 'doc' => '[descfile] [descfile2] -Creates a PEAR package from its description file (usually called -package.xml). If a second packagefile is passed in, then -the packager will check to make sure that one is a package.xml -version 1.0, and the other is a package.xml version 2.0. The -package.xml version 1.0 will be saved as "package.xml" in the archive, -and the other as "package2.xml" in the archive" -' - ), - 'package-validate' => array( - 'summary' => 'Validate Package Consistency', - 'function' => 'doPackageValidate', - 'shortcut' => 'pv', - 'options' => array(), - 'doc' => ' -', - ), - 'cvsdiff' => array( - 'summary' => 'Run a "cvs diff" for all files in a package', - 'function' => 'doCvsDiff', - 'shortcut' => 'cd', - 'options' => array( - 'quiet' => array( - 'shortopt' => 'q', - 'doc' => 'Be quiet', - ), - 'reallyquiet' => array( - 'shortopt' => 'Q', - 'doc' => 'Be really quiet', - ), - 'date' => array( - 'shortopt' => 'D', - 'doc' => 'Diff against revision of DATE', - 'arg' => 'DATE', - ), - 'release' => array( - 'shortopt' => 'R', - 'doc' => 'Diff against tag for package release REL', - 'arg' => 'REL', - ), - 'revision' => array( - 'shortopt' => 'r', - 'doc' => 'Diff against revision REV', - 'arg' => 'REV', - ), - 'context' => array( - 'shortopt' => 'c', - 'doc' => 'Generate context diff', - ), - 'unified' => array( - 'shortopt' => 'u', - 'doc' => 'Generate unified diff', - ), - 'ignore-case' => array( - 'shortopt' => 'i', - 'doc' => 'Ignore case, consider upper- and lower-case letters equivalent', - ), - 'ignore-whitespace' => array( - 'shortopt' => 'b', - 'doc' => 'Ignore changes in amount of white space', - ), - 'ignore-blank-lines' => array( - 'shortopt' => 'B', - 'doc' => 'Ignore changes that insert or delete blank lines', - ), - 'brief' => array( - 'doc' => 'Report only whether the files differ, no details', - ), - 'dry-run' => array( - 'shortopt' => 'n', - 'doc' => 'Don\'t do anything, just pretend', - ), - ), - 'doc' => ' -Compares all the files in a package. Without any options, this -command will compare the current code with the last checked-in code. -Using the -r or -R option you may compare the current code with that -of a specific release. -', - ), - 'svntag' => array( - 'summary' => 'Set SVN Release Tag', - 'function' => 'doSvnTag', - 'shortcut' => 'sv', - 'options' => array( - 'quiet' => array( - 'shortopt' => 'q', - 'doc' => 'Be quiet', - ), - 'slide' => array( - 'shortopt' => 'F', - 'doc' => 'Move (slide) tag if it exists', - ), - 'delete' => array( - 'shortopt' => 'd', - 'doc' => 'Remove tag', - ), - 'dry-run' => array( - 'shortopt' => 'n', - 'doc' => 'Don\'t do anything, just pretend', - ), - ), - 'doc' => ' [files...] - Sets a SVN tag on all files in a package. Use this command after you have - packaged a distribution tarball with the "package" command to tag what - revisions of what files were in that release. If need to fix something - after running svntag once, but before the tarball is released to the public, - use the "slide" option to move the release tag. - - to include files (such as a second package.xml, or tests not included in the - release), pass them as additional parameters. - ', - ), - 'cvstag' => array( - 'summary' => 'Set CVS Release Tag', - 'function' => 'doCvsTag', - 'shortcut' => 'ct', - 'options' => array( - 'quiet' => array( - 'shortopt' => 'q', - 'doc' => 'Be quiet', - ), - 'reallyquiet' => array( - 'shortopt' => 'Q', - 'doc' => 'Be really quiet', - ), - 'slide' => array( - 'shortopt' => 'F', - 'doc' => 'Move (slide) tag if it exists', - ), - 'delete' => array( - 'shortopt' => 'd', - 'doc' => 'Remove tag', - ), - 'dry-run' => array( - 'shortopt' => 'n', - 'doc' => 'Don\'t do anything, just pretend', - ), - ), - 'doc' => ' [files...] -Sets a CVS tag on all files in a package. Use this command after you have -packaged a distribution tarball with the "package" command to tag what -revisions of what files were in that release. If need to fix something -after running cvstag once, but before the tarball is released to the public, -use the "slide" option to move the release tag. - -to include files (such as a second package.xml, or tests not included in the -release), pass them as additional parameters. -', - ), - 'package-dependencies' => array( - 'summary' => 'Show package dependencies', - 'function' => 'doPackageDependencies', - 'shortcut' => 'pd', - 'options' => array(), - 'doc' => ' or or -List all dependencies the package has. -Can take a tgz / tar file, package.xml or a package name of an installed package.' - ), - 'sign' => array( - 'summary' => 'Sign a package distribution file', - 'function' => 'doSign', - 'shortcut' => 'si', - 'options' => array( - 'verbose' => array( - 'shortopt' => 'v', - 'doc' => 'Display GnuPG output', - ), - ), - 'doc' => ' -Signs a package distribution (.tar or .tgz) file with GnuPG.', - ), - 'makerpm' => array( - 'summary' => 'Builds an RPM spec file from a PEAR package', - 'function' => 'doMakeRPM', - 'shortcut' => 'rpm', - 'options' => array( - 'spec-template' => array( - 'shortopt' => 't', - 'arg' => 'FILE', - 'doc' => 'Use FILE as RPM spec file template' - ), - 'rpm-pkgname' => array( - 'shortopt' => 'p', - 'arg' => 'FORMAT', - 'doc' => 'Use FORMAT as format string for RPM package name, %s is replaced -by the PEAR package name, defaults to "PEAR::%s".', - ), - ), - 'doc' => ' - -Creates an RPM .spec file for wrapping a PEAR package inside an RPM -package. Intended to be used from the SPECS directory, with the PEAR -package tarball in the SOURCES directory: - -$ pear makerpm ../SOURCES/Net_Socket-1.0.tgz -Wrote RPM spec file PEAR::Net_Geo-1.0.spec -$ rpm -bb PEAR::Net_Socket-1.0.spec -... -Wrote: /usr/src/redhat/RPMS/i386/PEAR::Net_Socket-1.0-1.i386.rpm -', - ), - 'convert' => array( - 'summary' => 'Convert a package.xml 1.0 to package.xml 2.0 format', - 'function' => 'doConvert', - 'shortcut' => 'c2', - 'options' => array( - 'flat' => array( - 'shortopt' => 'f', - 'doc' => 'do not beautify the filelist.', - ), - ), - 'doc' => '[descfile] [descfile2] -Converts a package.xml in 1.0 format into a package.xml -in 2.0 format. The new file will be named package2.xml by default, -and package.xml will be used as the old file by default. -This is not the most intelligent conversion, and should only be -used for automated conversion or learning the format. -' - ), - ); - - var $output; - - /** - * PEAR_Command_Package constructor. - * - * @access public - */ - function PEAR_Command_Package(&$ui, &$config) - { - parent::PEAR_Command_Common($ui, $config); - } - - function _displayValidationResults($err, $warn, $strict = false) - { - foreach ($err as $e) { - $this->output .= "Error: $e\n"; - } - foreach ($warn as $w) { - $this->output .= "Warning: $w\n"; - } - $this->output .= sprintf('Validation: %d error(s), %d warning(s)'."\n", - sizeof($err), sizeof($warn)); - if ($strict && count($err) > 0) { - $this->output .= "Fix these errors and try again."; - return false; - } - return true; - } - - function &getPackager() - { - if (!class_exists('PEAR_Packager')) { - require_once 'PEAR/Packager.php'; - } - $a = &new PEAR_Packager; - return $a; - } - - function &getPackageFile($config, $debug = false) - { - if (!class_exists('PEAR_Common')) { - require_once 'PEAR/Common.php'; - } - if (!class_exists('PEAR_PackageFile')) { - require_once 'PEAR/PackageFile.php'; - } - $a = &new PEAR_PackageFile($config, $debug); - $common = new PEAR_Common; - $common->ui = $this->ui; - $a->setLogger($common); - return $a; - } - - function doPackage($command, $options, $params) - { - $this->output = ''; - $pkginfofile = isset($params[0]) ? $params[0] : 'package.xml'; - $pkg2 = isset($params[1]) ? $params[1] : null; - if (!$pkg2 && !isset($params[0]) && file_exists('package2.xml')) { - $pkg2 = 'package2.xml'; - } - - $packager = &$this->getPackager(); - $compress = empty($options['nocompress']) ? true : false; - $result = $packager->package($pkginfofile, $compress, $pkg2); - if (PEAR::isError($result)) { - return $this->raiseError($result); - } - - // Don't want output, only the package file name just created - if (isset($options['showname'])) { - $this->output = $result; - } - - if ($this->output) { - $this->ui->outputData($this->output, $command); - } - - return true; - } - - function doPackageValidate($command, $options, $params) - { - $this->output = ''; - if (count($params) < 1) { - $params[0] = 'package.xml'; - } - - $obj = &$this->getPackageFile($this->config, $this->_debug); - $obj->rawReturn(); - PEAR::staticPushErrorHandling(PEAR_ERROR_RETURN); - $info = $obj->fromTgzFile($params[0], PEAR_VALIDATE_NORMAL); - if (PEAR::isError($info)) { - $info = $obj->fromPackageFile($params[0], PEAR_VALIDATE_NORMAL); - } else { - $archive = $info->getArchiveFile(); - $tar = &new Archive_Tar($archive); - $tar->extract(dirname($info->getPackageFile())); - $info->setPackageFile(dirname($info->getPackageFile()) . DIRECTORY_SEPARATOR . - $info->getPackage() . '-' . $info->getVersion() . DIRECTORY_SEPARATOR . - basename($info->getPackageFile())); - } - - PEAR::staticPopErrorHandling(); - if (PEAR::isError($info)) { - return $this->raiseError($info); - } - - $valid = false; - if ($info->getPackagexmlVersion() == '2.0') { - if ($valid = $info->validate(PEAR_VALIDATE_NORMAL)) { - $info->flattenFileList(); - $valid = $info->validate(PEAR_VALIDATE_PACKAGING); - } - } else { - $valid = $info->validate(PEAR_VALIDATE_PACKAGING); - } - - $err = $warn = array(); - if ($errors = $info->getValidationWarnings()) { - foreach ($errors as $error) { - if ($error['level'] == 'warning') { - $warn[] = $error['message']; - } else { - $err[] = $error['message']; - } - } - } - - $this->_displayValidationResults($err, $warn); - $this->ui->outputData($this->output, $command); - return true; - } - - function doSvnTag($command, $options, $params) - { - $this->output = ''; - $_cmd = $command; - if (count($params) < 1) { - $help = $this->getHelp($command); - return $this->raiseError("$command: missing parameter: $help[0]"); - } - - $packageFile = realpath($params[0]); - $dir = dirname($packageFile); - $dir = substr($dir, strrpos($dir, DIRECTORY_SEPARATOR) + 1); - $obj = &$this->getPackageFile($this->config, $this->_debug); - $info = $obj->fromAnyFile($packageFile, PEAR_VALIDATE_NORMAL); - if (PEAR::isError($info)) { - return $this->raiseError($info); - } - - $err = $warn = array(); - if (!$info->validate()) { - foreach ($info->getValidationWarnings() as $error) { - if ($error['level'] == 'warning') { - $warn[] = $error['message']; - } else { - $err[] = $error['message']; - } - } - } - - if (!$this->_displayValidationResults($err, $warn, true)) { - $this->ui->outputData($this->output, $command); - return $this->raiseError('SVN tag failed'); - } - - $version = $info->getVersion(); - $package = $info->getName(); - $svntag = "$package-$version"; - - if (isset($options['delete'])) { - return $this->_svnRemoveTag($version, $package, $svntag, $packageFile, $options); - } - - $path = $this->_svnFindPath($packageFile); - - // Check if there are any modified files - $fp = popen('svn st --xml ' . dirname($packageFile), "r"); - $out = ''; - while ($line = fgets($fp, 1024)) { - $out .= rtrim($line)."\n"; - } - pclose($fp); - - if (!isset($options['quiet']) && strpos($out, 'item="modified"')) { - $params = array(array( - 'name' => 'modified', - 'type' => 'yesno', - 'default' => 'no', - 'prompt' => 'You have files in your SVN checkout (' . $path['from'] . ') that have been modified but not commited, do you still want to tag ' . $version . '?', - )); - $answers = $this->ui->confirmDialog($params); - - if (!in_array($answers['modified'], array('y', 'yes', 'on', '1'))) { - return true; - } - } - - if (isset($options['slide'])) { - $this->_svnRemoveTag($version, $package, $svntag, $packageFile, $options); - } - - // Check if tag already exists - $releaseTag = $path['local']['base'] . 'tags' . DIRECTORY_SEPARATOR . $svntag; - $existsCommand = 'svn ls ' . $path['base'] . 'tags/'; - - $fp = popen($existsCommand, "r"); - $out = ''; - while ($line = fgets($fp, 1024)) { - $out .= rtrim($line)."\n"; - } - pclose($fp); - - if (in_array($svntag . DIRECTORY_SEPARATOR, explode("\n", $out))) { - $this->ui->outputData($this->output, $command); - return $this->raiseError('SVN tag ' . $svntag . ' for ' . $package . ' already exists.'); - } elseif (file_exists($path['local']['base'] . 'tags') === false) { - return $this->raiseError('Can not locate the tags directory at ' . $path['local']['base'] . 'tags'); - } elseif (is_writeable($path['local']['base'] . 'tags') === false) { - return $this->raiseError('Can not write to the tag directory at ' . $path['local']['base'] . 'tags'); - } else { - $makeCommand = 'svn mkdir ' . $releaseTag; - $this->output .= "+ $makeCommand\n"; - if (empty($options['dry-run'])) { - // We need to create the tag dir. - $fp = popen($makeCommand, "r"); - $out = ''; - while ($line = fgets($fp, 1024)) { - $out .= rtrim($line)."\n"; - } - pclose($fp); - $this->output .= "$out\n"; - } - } - - $command = 'svn'; - if (isset($options['quiet'])) { - $command .= ' -q'; - } - - $command .= ' copy --parents '; - - $dir = dirname($packageFile); - $dir = substr($dir, strrpos($dir, DIRECTORY_SEPARATOR) + 1); - $files = array_keys($info->getFilelist()); - if (!in_array(basename($packageFile), $files)) { - $files[] = basename($packageFile); - } - - array_shift($params); - if (count($params)) { - // add in additional files to be tagged (package files and such) - $files = array_merge($files, $params); - } - - $commands = array(); - foreach ($files as $file) { - if (!file_exists($file)) { - $file = $dir . DIRECTORY_SEPARATOR . $file; - } - $commands[] = $command . ' ' . escapeshellarg($file) . ' ' . - escapeshellarg($releaseTag . DIRECTORY_SEPARATOR . $file); - } - - $this->output .= implode("\n", $commands) . "\n"; - if (empty($options['dry-run'])) { - foreach ($commands as $command) { - $fp = popen($command, "r"); - while ($line = fgets($fp, 1024)) { - $this->output .= rtrim($line)."\n"; - } - pclose($fp); - } - } - - $command = 'svn ci -m "Tagging the ' . $version . ' release" ' . $releaseTag . "\n"; - $this->output .= "+ $command\n"; - if (empty($options['dry-run'])) { - $fp = popen($command, "r"); - while ($line = fgets($fp, 1024)) { - $this->output .= rtrim($line)."\n"; - } - pclose($fp); - } - - $this->ui->outputData($this->output, $_cmd); - return true; - } - - function _svnFindPath($file) - { - $xml = ''; - $command = "svn info --xml $file"; - $fp = popen($command, "r"); - while ($line = fgets($fp, 1024)) { - $xml .= rtrim($line)."\n"; - } - pclose($fp); - $url_tag = strpos($xml, ''); - $url = substr($xml, $url_tag + 5, strpos($xml, '', $url_tag + 5) - ($url_tag + 5)); - - $path = array(); - $path['from'] = substr($url, 0, strrpos($url, '/')); - $path['base'] = substr($path['from'], 0, strrpos($path['from'], '/') + 1); - - // Figure out the local paths - see http://pear.php.net/bugs/17463 - $pos = strpos($file, DIRECTORY_SEPARATOR . 'trunk' . DIRECTORY_SEPARATOR); - if ($pos === false) { - $pos = strpos($file, DIRECTORY_SEPARATOR . 'branches' . DIRECTORY_SEPARATOR); - } - $path['local']['base'] = substr($file, 0, $pos + 1); - - return $path; - } - - function _svnRemoveTag($version, $package, $tag, $packageFile, $options) - { - $command = 'svn'; - - if (isset($options['quiet'])) { - $command .= ' -q'; - } - - $command .= ' remove'; - $command .= ' -m "Removing tag for the ' . $version . ' release."'; - - $path = $this->_svnFindPath($packageFile); - $command .= ' ' . $path['base'] . 'tags/' . $tag; - - - if ($this->config->get('verbose') > 1) { - $this->output .= "+ $command\n"; - } - - $this->output .= "+ $command\n"; - if (empty($options['dry-run'])) { - $fp = popen($command, "r"); - while ($line = fgets($fp, 1024)) { - $this->output .= rtrim($line)."\n"; - } - pclose($fp); - } - - $this->ui->outputData($this->output, $command); - return true; - } - - function doCvsTag($command, $options, $params) - { - $this->output = ''; - $_cmd = $command; - if (count($params) < 1) { - $help = $this->getHelp($command); - return $this->raiseError("$command: missing parameter: $help[0]"); - } - - $packageFile = realpath($params[0]); - $obj = &$this->getPackageFile($this->config, $this->_debug); - $info = $obj->fromAnyFile($packageFile, PEAR_VALIDATE_NORMAL); - if (PEAR::isError($info)) { - return $this->raiseError($info); - } - - $err = $warn = array(); - if (!$info->validate()) { - foreach ($info->getValidationWarnings() as $error) { - if ($error['level'] == 'warning') { - $warn[] = $error['message']; - } else { - $err[] = $error['message']; - } - } - } - - if (!$this->_displayValidationResults($err, $warn, true)) { - $this->ui->outputData($this->output, $command); - return $this->raiseError('CVS tag failed'); - } - - $version = $info->getVersion(); - $cvsversion = preg_replace('/[^a-z0-9]/i', '_', $version); - $cvstag = "RELEASE_$cvsversion"; - $files = array_keys($info->getFilelist()); - $command = 'cvs'; - if (isset($options['quiet'])) { - $command .= ' -q'; - } - - if (isset($options['reallyquiet'])) { - $command .= ' -Q'; - } - - $command .= ' tag'; - if (isset($options['slide'])) { - $command .= ' -F'; - } - - if (isset($options['delete'])) { - $command .= ' -d'; - } - - $command .= ' ' . $cvstag . ' ' . escapeshellarg($params[0]); - array_shift($params); - if (count($params)) { - // add in additional files to be tagged - $files = array_merge($files, $params); - } - - $dir = dirname($packageFile); - $dir = substr($dir, strrpos($dir, '/') + 1); - foreach ($files as $file) { - if (!file_exists($file)) { - $file = $dir . DIRECTORY_SEPARATOR . $file; - } - $command .= ' ' . escapeshellarg($file); - } - - if ($this->config->get('verbose') > 1) { - $this->output .= "+ $command\n"; - } - - $this->output .= "+ $command\n"; - if (empty($options['dry-run'])) { - $fp = popen($command, "r"); - while ($line = fgets($fp, 1024)) { - $this->output .= rtrim($line)."\n"; - } - pclose($fp); - } - - $this->ui->outputData($this->output, $_cmd); - return true; - } - - function doCvsDiff($command, $options, $params) - { - $this->output = ''; - if (sizeof($params) < 1) { - $help = $this->getHelp($command); - return $this->raiseError("$command: missing parameter: $help[0]"); - } - - $file = realpath($params[0]); - $obj = &$this->getPackageFile($this->config, $this->_debug); - $info = $obj->fromAnyFile($file, PEAR_VALIDATE_NORMAL); - if (PEAR::isError($info)) { - return $this->raiseError($info); - } - - $err = $warn = array(); - if (!$info->validate()) { - foreach ($info->getValidationWarnings() as $error) { - if ($error['level'] == 'warning') { - $warn[] = $error['message']; - } else { - $err[] = $error['message']; - } - } - } - - if (!$this->_displayValidationResults($err, $warn, true)) { - $this->ui->outputData($this->output, $command); - return $this->raiseError('CVS diff failed'); - } - - $info1 = $info->getFilelist(); - $files = $info1; - $cmd = "cvs"; - if (isset($options['quiet'])) { - $cmd .= ' -q'; - unset($options['quiet']); - } - - if (isset($options['reallyquiet'])) { - $cmd .= ' -Q'; - unset($options['reallyquiet']); - } - - if (isset($options['release'])) { - $cvsversion = preg_replace('/[^a-z0-9]/i', '_', $options['release']); - $cvstag = "RELEASE_$cvsversion"; - $options['revision'] = $cvstag; - unset($options['release']); - } - - $execute = true; - if (isset($options['dry-run'])) { - $execute = false; - unset($options['dry-run']); - } - - $cmd .= ' diff'; - // the rest of the options are passed right on to "cvs diff" - foreach ($options as $option => $optarg) { - $arg = $short = false; - if (isset($this->commands[$command]['options'][$option])) { - $arg = $this->commands[$command]['options'][$option]['arg']; - $short = $this->commands[$command]['options'][$option]['shortopt']; - } - $cmd .= $short ? " -$short" : " --$option"; - if ($arg && $optarg) { - $cmd .= ($short ? '' : '=') . escapeshellarg($optarg); - } - } - - foreach ($files as $file) { - $cmd .= ' ' . escapeshellarg($file['name']); - } - - if ($this->config->get('verbose') > 1) { - $this->output .= "+ $cmd\n"; - } - - if ($execute) { - $fp = popen($cmd, "r"); - while ($line = fgets($fp, 1024)) { - $this->output .= rtrim($line)."\n"; - } - pclose($fp); - } - - $this->ui->outputData($this->output, $command); - return true; - } - - function doPackageDependencies($command, $options, $params) - { - // $params[0] -> the PEAR package to list its information - if (count($params) !== 1) { - return $this->raiseError("bad parameter(s), try \"help $command\""); - } - - $obj = &$this->getPackageFile($this->config, $this->_debug); - if (is_file($params[0]) || strpos($params[0], '.xml') > 0) { - $info = $obj->fromAnyFile($params[0], PEAR_VALIDATE_NORMAL); - } else { - $reg = $this->config->getRegistry(); - $info = $obj->fromArray($reg->packageInfo($params[0])); - } - - if (PEAR::isError($info)) { - return $this->raiseError($info); - } - - $deps = $info->getDeps(); - if (is_array($deps)) { - if ($info->getPackagexmlVersion() == '1.0') { - $data = array( - 'caption' => 'Dependencies for pear/' . $info->getPackage(), - 'border' => true, - 'headline' => array("Required?", "Type", "Name", "Relation", "Version"), - ); - - foreach ($deps as $d) { - if (isset($d['optional'])) { - if ($d['optional'] == 'yes') { - $req = 'No'; - } else { - $req = 'Yes'; - } - } else { - $req = 'Yes'; - } - - if (isset($this->_deps_rel_trans[$d['rel']])) { - $rel = $this->_deps_rel_trans[$d['rel']]; - } else { - $rel = $d['rel']; - } - - if (isset($this->_deps_type_trans[$d['type']])) { - $type = ucfirst($this->_deps_type_trans[$d['type']]); - } else { - $type = $d['type']; - } - - if (isset($d['name'])) { - $name = $d['name']; - } else { - $name = ''; - } - - if (isset($d['version'])) { - $version = $d['version']; - } else { - $version = ''; - } - - $data['data'][] = array($req, $type, $name, $rel, $version); - } - } else { // package.xml 2.0 dependencies display - require_once 'PEAR/Dependency2.php'; - $deps = $info->getDependencies(); - $reg = &$this->config->getRegistry(); - if (is_array($deps)) { - $d = new PEAR_Dependency2($this->config, array(), ''); - $data = array( - 'caption' => 'Dependencies for ' . $info->getPackage(), - 'border' => true, - 'headline' => array("Required?", "Type", "Name", 'Versioning', 'Group'), - ); - foreach ($deps as $type => $subd) { - $req = ($type == 'required') ? 'Yes' : 'No'; - if ($type == 'group') { - $group = $subd['attribs']['name']; - } else { - $group = ''; - } - - if (!isset($subd[0])) { - $subd = array($subd); - } - - foreach ($subd as $groupa) { - foreach ($groupa as $deptype => $depinfo) { - if ($deptype == 'attribs') { - continue; - } - - if ($deptype == 'pearinstaller') { - $deptype = 'pear Installer'; - } - - if (!isset($depinfo[0])) { - $depinfo = array($depinfo); - } - - foreach ($depinfo as $inf) { - $name = ''; - if (isset($inf['channel'])) { - $alias = $reg->channelAlias($inf['channel']); - if (!$alias) { - $alias = '(channel?) ' .$inf['channel']; - } - $name = $alias . '/'; - - } - if (isset($inf['name'])) { - $name .= $inf['name']; - } elseif (isset($inf['pattern'])) { - $name .= $inf['pattern']; - } else { - $name .= ''; - } - - if (isset($inf['uri'])) { - $name .= ' [' . $inf['uri'] . ']'; - } - - if (isset($inf['conflicts'])) { - $ver = 'conflicts'; - } else { - $ver = $d->_getExtraString($inf); - } - - $data['data'][] = array($req, ucfirst($deptype), $name, - $ver, $group); - } - } - } - } - } - } - - $this->ui->outputData($data, $command); - return true; - } - - // Fallback - $this->ui->outputData("This package does not have any dependencies.", $command); - } - - function doSign($command, $options, $params) - { - // should move most of this code into PEAR_Packager - // so it'll be easy to implement "pear package --sign" - if (count($params) !== 1) { - return $this->raiseError("bad parameter(s), try \"help $command\""); - } - - require_once 'System.php'; - require_once 'Archive/Tar.php'; - - if (!file_exists($params[0])) { - return $this->raiseError("file does not exist: $params[0]"); - } - - $obj = $this->getPackageFile($this->config, $this->_debug); - $info = $obj->fromTgzFile($params[0], PEAR_VALIDATE_NORMAL); - if (PEAR::isError($info)) { - return $this->raiseError($info); - } - - $tar = new Archive_Tar($params[0]); - - $tmpdir = $this->config->get('temp_dir'); - $tmpdir = System::mktemp(' -t "' . $tmpdir . '" -d pearsign'); - if (!$tar->extractList('package2.xml package.xml package.sig', $tmpdir)) { - return $this->raiseError("failed to extract tar file"); - } - - if (file_exists("$tmpdir/package.sig")) { - return $this->raiseError("package already signed"); - } - - $packagexml = 'package.xml'; - if (file_exists("$tmpdir/package2.xml")) { - $packagexml = 'package2.xml'; - } - - if (file_exists("$tmpdir/package.sig")) { - unlink("$tmpdir/package.sig"); - } - - if (!file_exists("$tmpdir/$packagexml")) { - return $this->raiseError("Extracted file $tmpdir/$packagexml not found."); - } - - $input = $this->ui->userDialog($command, - array('GnuPG Passphrase'), - array('password')); - if (!isset($input[0])) { - //use empty passphrase - $input[0] = ''; - } - - $devnull = (isset($options['verbose'])) ? '' : ' 2>/dev/null'; - $gpg = popen("gpg --batch --passphrase-fd 0 --armor --detach-sign --output $tmpdir/package.sig $tmpdir/$packagexml" . $devnull, "w"); - if (!$gpg) { - return $this->raiseError("gpg command failed"); - } - - fwrite($gpg, "$input[0]\n"); - if (pclose($gpg) || !file_exists("$tmpdir/package.sig")) { - return $this->raiseError("gpg sign failed"); - } - - if (!$tar->addModify("$tmpdir/package.sig", '', $tmpdir)) { - return $this->raiseError('failed adding signature to file'); - } - - $this->ui->outputData("Package signed.", $command); - return true; - } - - /** - * For unit testing purposes - */ - function &getInstaller(&$ui) - { - if (!class_exists('PEAR_Installer')) { - require_once 'PEAR/Installer.php'; - } - $a = &new PEAR_Installer($ui); - return $a; - } - - /** - * For unit testing purposes - */ - function &getCommandPackaging(&$ui, &$config) - { - if (!class_exists('PEAR_Command_Packaging')) { - if ($fp = @fopen('PEAR/Command/Packaging.php', 'r', true)) { - fclose($fp); - include_once 'PEAR/Command/Packaging.php'; - } - } - - if (class_exists('PEAR_Command_Packaging')) { - $a = &new PEAR_Command_Packaging($ui, $config); - } else { - $a = null; - } - - return $a; - } - - function doMakeRPM($command, $options, $params) - { - - // Check to see if PEAR_Command_Packaging is installed, and - // transparently switch to use the "make-rpm-spec" command from it - // instead, if it does. Otherwise, continue to use the old version - // of "makerpm" supplied with this package (PEAR). - $packaging_cmd = $this->getCommandPackaging($this->ui, $this->config); - if ($packaging_cmd !== null) { - $this->ui->outputData('PEAR_Command_Packaging is installed; using '. - 'newer "make-rpm-spec" command instead'); - return $packaging_cmd->run('make-rpm-spec', $options, $params); - } - - $this->ui->outputData('WARNING: "pear makerpm" is no longer available; an '. - 'improved version is available via "pear make-rpm-spec", which '. - 'is available by installing PEAR_Command_Packaging'); - return true; - } - - function doConvert($command, $options, $params) - { - $packagexml = isset($params[0]) ? $params[0] : 'package.xml'; - $newpackagexml = isset($params[1]) ? $params[1] : dirname($packagexml) . - DIRECTORY_SEPARATOR . 'package2.xml'; - $pkg = &$this->getPackageFile($this->config, $this->_debug); - PEAR::staticPushErrorHandling(PEAR_ERROR_RETURN); - $pf = $pkg->fromPackageFile($packagexml, PEAR_VALIDATE_NORMAL); - PEAR::staticPopErrorHandling(); - if (PEAR::isError($pf)) { - if (is_array($pf->getUserInfo())) { - foreach ($pf->getUserInfo() as $warning) { - $this->ui->outputData($warning['message']); - } - } - return $this->raiseError($pf); - } - - if (is_a($pf, 'PEAR_PackageFile_v2')) { - $this->ui->outputData($packagexml . ' is already a package.xml version 2.0'); - return true; - } - - $gen = &$pf->getDefaultGenerator(); - $newpf = &$gen->toV2(); - $newpf->setPackagefile($newpackagexml); - $gen = &$newpf->getDefaultGenerator(); - PEAR::staticPushErrorHandling(PEAR_ERROR_RETURN); - $state = (isset($options['flat']) ? PEAR_VALIDATE_PACKAGING : PEAR_VALIDATE_NORMAL); - $saved = $gen->toPackageFile(dirname($newpackagexml), $state, basename($newpackagexml)); - PEAR::staticPopErrorHandling(); - if (PEAR::isError($saved)) { - if (is_array($saved->getUserInfo())) { - foreach ($saved->getUserInfo() as $warning) { - $this->ui->outputData($warning['message']); - } - } - - $this->ui->outputData($saved->getMessage()); - return true; - } - - $this->ui->outputData('Wrote new version 2.0 package.xml to "' . $saved . '"'); - return true; - } -} \ No newline at end of file diff --git a/3rdparty/PEAR/Command/Package.xml b/3rdparty/PEAR/Command/Package.xml deleted file mode 100644 index d1aff9d48dea7d9cd725afebf93698fa310f3f98..0000000000000000000000000000000000000000 --- a/3rdparty/PEAR/Command/Package.xml +++ /dev/null @@ -1,237 +0,0 @@ - - - Build Package - doPackage - p - - - Z - Do not gzip the package file - - - n - Print the name of the packaged file. - - - [descfile] [descfile2] -Creates a PEAR package from its description file (usually called -package.xml). If a second packagefile is passed in, then -the packager will check to make sure that one is a package.xml -version 1.0, and the other is a package.xml version 2.0. The -package.xml version 1.0 will be saved as "package.xml" in the archive, -and the other as "package2.xml" in the archive" - - - - Validate Package Consistency - doPackageValidate - pv - - - - - - Run a "cvs diff" for all files in a package - doCvsDiff - cd - - - q - Be quiet - - - Q - Be really quiet - - - D - Diff against revision of DATE - DATE - - - R - Diff against tag for package release REL - REL - - - r - Diff against revision REV - REV - - - c - Generate context diff - - - u - Generate unified diff - - - i - Ignore case, consider upper- and lower-case letters equivalent - - - b - Ignore changes in amount of white space - - - B - Ignore changes that insert or delete blank lines - - - - Report only whether the files differ, no details - - - n - Don't do anything, just pretend - - - <package.xml> -Compares all the files in a package. Without any options, this -command will compare the current code with the last checked-in code. -Using the -r or -R option you may compare the current code with that -of a specific release. - - - - Set SVN Release Tag - doSvnTag - sv - - - q - Be quiet - - - F - Move (slide) tag if it exists - - - d - Remove tag - - - n - Don't do anything, just pretend - - - <package.xml> [files...] - Sets a SVN tag on all files in a package. Use this command after you have - packaged a distribution tarball with the "package" command to tag what - revisions of what files were in that release. If need to fix something - after running svntag once, but before the tarball is released to the public, - use the "slide" option to move the release tag. - - to include files (such as a second package.xml, or tests not included in the - release), pass them as additional parameters. - - - - Set CVS Release Tag - doCvsTag - ct - - - q - Be quiet - - - Q - Be really quiet - - - F - Move (slide) tag if it exists - - - d - Remove tag - - - n - Don't do anything, just pretend - - - <package.xml> [files...] -Sets a CVS tag on all files in a package. Use this command after you have -packaged a distribution tarball with the "package" command to tag what -revisions of what files were in that release. If need to fix something -after running cvstag once, but before the tarball is released to the public, -use the "slide" option to move the release tag. - -to include files (such as a second package.xml, or tests not included in the -release), pass them as additional parameters. - - - - Show package dependencies - doPackageDependencies - pd - - <package-file> or <package.xml> or <install-package-name> -List all dependencies the package has. -Can take a tgz / tar file, package.xml or a package name of an installed package. - - - Sign a package distribution file - doSign - si - - - v - Display GnuPG output - - - <package-file> -Signs a package distribution (.tar or .tgz) file with GnuPG. - - - Builds an RPM spec file from a PEAR package - doMakeRPM - rpm - - - t - Use FILE as RPM spec file template - FILE - - - p - Use FORMAT as format string for RPM package name, %s is replaced -by the PEAR package name, defaults to "PEAR::%s". - FORMAT - - - <package-file> - -Creates an RPM .spec file for wrapping a PEAR package inside an RPM -package. Intended to be used from the SPECS directory, with the PEAR -package tarball in the SOURCES directory: - -$ pear makerpm ../SOURCES/Net_Socket-1.0.tgz -Wrote RPM spec file PEAR::Net_Geo-1.0.spec -$ rpm -bb PEAR::Net_Socket-1.0.spec -... -Wrote: /usr/src/redhat/RPMS/i386/PEAR::Net_Socket-1.0-1.i386.rpm - - - - Convert a package.xml 1.0 to package.xml 2.0 format - doConvert - c2 - - - f - do not beautify the filelist. - - - [descfile] [descfile2] -Converts a package.xml in 1.0 format into a package.xml -in 2.0 format. The new file will be named package2.xml by default, -and package.xml will be used as the old file by default. -This is not the most intelligent conversion, and should only be -used for automated conversion or learning the format. - - - \ No newline at end of file diff --git a/3rdparty/PEAR/Command/Pickle.php b/3rdparty/PEAR/Command/Pickle.php deleted file mode 100644 index 87aa25ea30c5f2f4d08c6204974a65882787b7b3..0000000000000000000000000000000000000000 --- a/3rdparty/PEAR/Command/Pickle.php +++ /dev/null @@ -1,421 +0,0 @@ - - * @copyright 2005-2009 The Authors - * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: Pickle.php 313023 2011-07-06 19:17:11Z dufuz $ - * @link http://pear.php.net/package/PEAR - * @since File available since Release 1.4.1 - */ - -/** - * base class - */ -require_once 'PEAR/Command/Common.php'; - -/** - * PEAR commands for login/logout - * - * @category pear - * @package PEAR - * @author Greg Beaver - * @copyright 2005-2009 The Authors - * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.4 - * @link http://pear.php.net/package/PEAR - * @since Class available since Release 1.4.1 - */ - -class PEAR_Command_Pickle extends PEAR_Command_Common -{ - var $commands = array( - 'pickle' => array( - 'summary' => 'Build PECL Package', - 'function' => 'doPackage', - 'shortcut' => 'pi', - 'options' => array( - 'nocompress' => array( - 'shortopt' => 'Z', - 'doc' => 'Do not gzip the package file' - ), - 'showname' => array( - 'shortopt' => 'n', - 'doc' => 'Print the name of the packaged file.', - ), - ), - 'doc' => '[descfile] -Creates a PECL package from its package2.xml file. - -An automatic conversion will be made to a package.xml 1.0 and written out to -disk in the current directory as "package.xml". Note that -only simple package.xml 2.0 will be converted. package.xml 2.0 with: - - - dependency types other than required/optional PECL package/ext/php/pearinstaller - - more than one extsrcrelease or zendextsrcrelease - - zendextbinrelease, extbinrelease, phprelease, or bundle release type - - dependency groups - - ignore tags in release filelist - - tasks other than replace - - custom roles - -will cause pickle to fail, and output an error message. If your package2.xml -uses any of these features, you are best off using PEAR_PackageFileManager to -generate both package.xml. -' - ), - ); - - /** - * PEAR_Command_Package constructor. - * - * @access public - */ - function PEAR_Command_Pickle(&$ui, &$config) - { - parent::PEAR_Command_Common($ui, $config); - } - - /** - * For unit-testing ease - * - * @return PEAR_Packager - */ - function &getPackager() - { - if (!class_exists('PEAR_Packager')) { - require_once 'PEAR/Packager.php'; - } - - $a = &new PEAR_Packager; - return $a; - } - - /** - * For unit-testing ease - * - * @param PEAR_Config $config - * @param bool $debug - * @param string|null $tmpdir - * @return PEAR_PackageFile - */ - function &getPackageFile($config, $debug = false) - { - if (!class_exists('PEAR_Common')) { - require_once 'PEAR/Common.php'; - } - - if (!class_exists('PEAR_PackageFile')) { - require_once 'PEAR/PackageFile.php'; - } - - $a = &new PEAR_PackageFile($config, $debug); - $common = new PEAR_Common; - $common->ui = $this->ui; - $a->setLogger($common); - return $a; - } - - function doPackage($command, $options, $params) - { - $this->output = ''; - $pkginfofile = isset($params[0]) ? $params[0] : 'package2.xml'; - $packager = &$this->getPackager(); - if (PEAR::isError($err = $this->_convertPackage($pkginfofile))) { - return $err; - } - - $compress = empty($options['nocompress']) ? true : false; - $result = $packager->package($pkginfofile, $compress, 'package.xml'); - if (PEAR::isError($result)) { - return $this->raiseError($result); - } - - // Don't want output, only the package file name just created - if (isset($options['showname'])) { - $this->ui->outputData($result, $command); - } - - return true; - } - - function _convertPackage($packagexml) - { - $pkg = &$this->getPackageFile($this->config); - $pf2 = &$pkg->fromPackageFile($packagexml, PEAR_VALIDATE_NORMAL); - if (!is_a($pf2, 'PEAR_PackageFile_v2')) { - return $this->raiseError('Cannot process "' . - $packagexml . '", is not a package.xml 2.0'); - } - - require_once 'PEAR/PackageFile/v1.php'; - $pf = new PEAR_PackageFile_v1; - $pf->setConfig($this->config); - if ($pf2->getPackageType() != 'extsrc' && $pf2->getPackageType() != 'zendextsrc') { - return $this->raiseError('Cannot safely convert "' . $packagexml . - '", is not an extension source package. Using a PEAR_PackageFileManager-based ' . - 'script is an option'); - } - - if (is_array($pf2->getUsesRole())) { - return $this->raiseError('Cannot safely convert "' . $packagexml . - '", contains custom roles. Using a PEAR_PackageFileManager-based script or ' . - 'the convert command is an option'); - } - - if (is_array($pf2->getUsesTask())) { - return $this->raiseError('Cannot safely convert "' . $packagexml . - '", contains custom tasks. Using a PEAR_PackageFileManager-based script or ' . - 'the convert command is an option'); - } - - $deps = $pf2->getDependencies(); - if (isset($deps['group'])) { - return $this->raiseError('Cannot safely convert "' . $packagexml . - '", contains dependency groups. Using a PEAR_PackageFileManager-based script ' . - 'or the convert command is an option'); - } - - if (isset($deps['required']['subpackage']) || - isset($deps['optional']['subpackage'])) { - return $this->raiseError('Cannot safely convert "' . $packagexml . - '", contains subpackage dependencies. Using a PEAR_PackageFileManager-based '. - 'script is an option'); - } - - if (isset($deps['required']['os'])) { - return $this->raiseError('Cannot safely convert "' . $packagexml . - '", contains os dependencies. Using a PEAR_PackageFileManager-based '. - 'script is an option'); - } - - if (isset($deps['required']['arch'])) { - return $this->raiseError('Cannot safely convert "' . $packagexml . - '", contains arch dependencies. Using a PEAR_PackageFileManager-based '. - 'script is an option'); - } - - $pf->setPackage($pf2->getPackage()); - $pf->setSummary($pf2->getSummary()); - $pf->setDescription($pf2->getDescription()); - foreach ($pf2->getMaintainers() as $maintainer) { - $pf->addMaintainer($maintainer['role'], $maintainer['handle'], - $maintainer['name'], $maintainer['email']); - } - - $pf->setVersion($pf2->getVersion()); - $pf->setDate($pf2->getDate()); - $pf->setLicense($pf2->getLicense()); - $pf->setState($pf2->getState()); - $pf->setNotes($pf2->getNotes()); - $pf->addPhpDep($deps['required']['php']['min'], 'ge'); - if (isset($deps['required']['php']['max'])) { - $pf->addPhpDep($deps['required']['php']['max'], 'le'); - } - - if (isset($deps['required']['package'])) { - if (!isset($deps['required']['package'][0])) { - $deps['required']['package'] = array($deps['required']['package']); - } - - foreach ($deps['required']['package'] as $dep) { - if (!isset($dep['channel'])) { - return $this->raiseError('Cannot safely convert "' . $packagexml . '"' . - ' contains uri-based dependency on a package. Using a ' . - 'PEAR_PackageFileManager-based script is an option'); - } - - if ($dep['channel'] != 'pear.php.net' - && $dep['channel'] != 'pecl.php.net' - && $dep['channel'] != 'doc.php.net') { - return $this->raiseError('Cannot safely convert "' . $packagexml . '"' . - ' contains dependency on a non-standard channel package. Using a ' . - 'PEAR_PackageFileManager-based script is an option'); - } - - if (isset($dep['conflicts'])) { - return $this->raiseError('Cannot safely convert "' . $packagexml . '"' . - ' contains conflicts dependency. Using a ' . - 'PEAR_PackageFileManager-based script is an option'); - } - - if (isset($dep['exclude'])) { - $this->ui->outputData('WARNING: exclude tags are ignored in conversion'); - } - - if (isset($dep['min'])) { - $pf->addPackageDep($dep['name'], $dep['min'], 'ge'); - } - - if (isset($dep['max'])) { - $pf->addPackageDep($dep['name'], $dep['max'], 'le'); - } - } - } - - if (isset($deps['required']['extension'])) { - if (!isset($deps['required']['extension'][0])) { - $deps['required']['extension'] = array($deps['required']['extension']); - } - - foreach ($deps['required']['extension'] as $dep) { - if (isset($dep['conflicts'])) { - return $this->raiseError('Cannot safely convert "' . $packagexml . '"' . - ' contains conflicts dependency. Using a ' . - 'PEAR_PackageFileManager-based script is an option'); - } - - if (isset($dep['exclude'])) { - $this->ui->outputData('WARNING: exclude tags are ignored in conversion'); - } - - if (isset($dep['min'])) { - $pf->addExtensionDep($dep['name'], $dep['min'], 'ge'); - } - - if (isset($dep['max'])) { - $pf->addExtensionDep($dep['name'], $dep['max'], 'le'); - } - } - } - - if (isset($deps['optional']['package'])) { - if (!isset($deps['optional']['package'][0])) { - $deps['optional']['package'] = array($deps['optional']['package']); - } - - foreach ($deps['optional']['package'] as $dep) { - if (!isset($dep['channel'])) { - return $this->raiseError('Cannot safely convert "' . $packagexml . '"' . - ' contains uri-based dependency on a package. Using a ' . - 'PEAR_PackageFileManager-based script is an option'); - } - - if ($dep['channel'] != 'pear.php.net' - && $dep['channel'] != 'pecl.php.net' - && $dep['channel'] != 'doc.php.net') { - return $this->raiseError('Cannot safely convert "' . $packagexml . '"' . - ' contains dependency on a non-standard channel package. Using a ' . - 'PEAR_PackageFileManager-based script is an option'); - } - - if (isset($dep['exclude'])) { - $this->ui->outputData('WARNING: exclude tags are ignored in conversion'); - } - - if (isset($dep['min'])) { - $pf->addPackageDep($dep['name'], $dep['min'], 'ge', 'yes'); - } - - if (isset($dep['max'])) { - $pf->addPackageDep($dep['name'], $dep['max'], 'le', 'yes'); - } - } - } - - if (isset($deps['optional']['extension'])) { - if (!isset($deps['optional']['extension'][0])) { - $deps['optional']['extension'] = array($deps['optional']['extension']); - } - - foreach ($deps['optional']['extension'] as $dep) { - if (isset($dep['exclude'])) { - $this->ui->outputData('WARNING: exclude tags are ignored in conversion'); - } - - if (isset($dep['min'])) { - $pf->addExtensionDep($dep['name'], $dep['min'], 'ge', 'yes'); - } - - if (isset($dep['max'])) { - $pf->addExtensionDep($dep['name'], $dep['max'], 'le', 'yes'); - } - } - } - - $contents = $pf2->getContents(); - $release = $pf2->getReleases(); - if (isset($releases[0])) { - return $this->raiseError('Cannot safely process "' . $packagexml . '" contains ' - . 'multiple extsrcrelease/zendextsrcrelease tags. Using a PEAR_PackageFileManager-based script ' . - 'or the convert command is an option'); - } - - if ($configoptions = $pf2->getConfigureOptions()) { - foreach ($configoptions as $option) { - $default = isset($option['default']) ? $option['default'] : false; - $pf->addConfigureOption($option['name'], $option['prompt'], $default); - } - } - - if (isset($release['filelist']['ignore'])) { - return $this->raiseError('Cannot safely process "' . $packagexml . '" contains ' - . 'ignore tags. Using a PEAR_PackageFileManager-based script or the convert' . - ' command is an option'); - } - - if (isset($release['filelist']['install']) && - !isset($release['filelist']['install'][0])) { - $release['filelist']['install'] = array($release['filelist']['install']); - } - - if (isset($contents['dir']['attribs']['baseinstalldir'])) { - $baseinstalldir = $contents['dir']['attribs']['baseinstalldir']; - } else { - $baseinstalldir = false; - } - - if (!isset($contents['dir']['file'][0])) { - $contents['dir']['file'] = array($contents['dir']['file']); - } - - foreach ($contents['dir']['file'] as $file) { - if ($baseinstalldir && !isset($file['attribs']['baseinstalldir'])) { - $file['attribs']['baseinstalldir'] = $baseinstalldir; - } - - $processFile = $file; - unset($processFile['attribs']); - if (count($processFile)) { - foreach ($processFile as $name => $task) { - if ($name != $pf2->getTasksNs() . ':replace') { - return $this->raiseError('Cannot safely process "' . $packagexml . - '" contains tasks other than replace. Using a ' . - 'PEAR_PackageFileManager-based script is an option.'); - } - $file['attribs']['replace'][] = $task; - } - } - - if (!in_array($file['attribs']['role'], PEAR_Common::getFileRoles())) { - return $this->raiseError('Cannot safely convert "' . $packagexml . - '", contains custom roles. Using a PEAR_PackageFileManager-based script ' . - 'or the convert command is an option'); - } - - if (isset($release['filelist']['install'])) { - foreach ($release['filelist']['install'] as $installas) { - if ($installas['attribs']['name'] == $file['attribs']['name']) { - $file['attribs']['install-as'] = $installas['attribs']['as']; - } - } - } - - $pf->addFile('/', $file['attribs']['name'], $file['attribs']); - } - - if ($pf2->getChangeLog()) { - $this->ui->outputData('WARNING: changelog is not translated to package.xml ' . - '1.0, use PEAR_PackageFileManager-based script if you need changelog-' . - 'translation for package.xml 1.0'); - } - - $gen = &$pf->getDefaultGenerator(); - $gen->toPackageFile('.'); - } -} \ No newline at end of file diff --git a/3rdparty/PEAR/Command/Pickle.xml b/3rdparty/PEAR/Command/Pickle.xml deleted file mode 100644 index 721ecea995eba916c775717cfd2c9b9b2fe24b84..0000000000000000000000000000000000000000 --- a/3rdparty/PEAR/Command/Pickle.xml +++ /dev/null @@ -1,36 +0,0 @@ - - - Build PECL Package - doPackage - pi - - - Z - Do not gzip the package file - - - n - Print the name of the packaged file. - - - [descfile] -Creates a PECL package from its package2.xml file. - -An automatic conversion will be made to a package.xml 1.0 and written out to -disk in the current directory as "package.xml". Note that -only simple package.xml 2.0 will be converted. package.xml 2.0 with: - - - dependency types other than required/optional PECL package/ext/php/pearinstaller - - more than one extsrcrelease or zendextsrcrelease - - zendextbinrelease, extbinrelease, phprelease, or bundle release type - - dependency groups - - ignore tags in release filelist - - tasks other than replace - - custom roles - -will cause pickle to fail, and output an error message. If your package2.xml -uses any of these features, you are best off using PEAR_PackageFileManager to -generate both package.xml. - - - \ No newline at end of file diff --git a/3rdparty/PEAR/Command/Registry.php b/3rdparty/PEAR/Command/Registry.php deleted file mode 100644 index 4304db5ddf578f7c420ccb188fa1bbf2e377ef2c..0000000000000000000000000000000000000000 --- a/3rdparty/PEAR/Command/Registry.php +++ /dev/null @@ -1,1145 +0,0 @@ - - * @author Greg Beaver - * @copyright 1997-2009 The Authors - * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: Registry.php 313023 2011-07-06 19:17:11Z dufuz $ - * @link http://pear.php.net/package/PEAR - * @since File available since Release 0.1 - */ - -/** - * base class - */ -require_once 'PEAR/Command/Common.php'; - -/** - * PEAR commands for registry manipulation - * - * @category pear - * @package PEAR - * @author Stig Bakken - * @author Greg Beaver - * @copyright 1997-2009 The Authors - * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.4 - * @link http://pear.php.net/package/PEAR - * @since Class available since Release 0.1 - */ -class PEAR_Command_Registry extends PEAR_Command_Common -{ - var $commands = array( - 'list' => array( - 'summary' => 'List Installed Packages In The Default Channel', - 'function' => 'doList', - 'shortcut' => 'l', - 'options' => array( - 'channel' => array( - 'shortopt' => 'c', - 'doc' => 'list installed packages from this channel', - 'arg' => 'CHAN', - ), - 'allchannels' => array( - 'shortopt' => 'a', - 'doc' => 'list installed packages from all channels', - ), - 'channelinfo' => array( - 'shortopt' => 'i', - 'doc' => 'output fully channel-aware data, even on failure', - ), - ), - 'doc' => ' -If invoked without parameters, this command lists the PEAR packages -installed in your php_dir ({config php_dir}). With a parameter, it -lists the files in a package. -', - ), - 'list-files' => array( - 'summary' => 'List Files In Installed Package', - 'function' => 'doFileList', - 'shortcut' => 'fl', - 'options' => array(), - 'doc' => ' -List the files in an installed package. -' - ), - 'shell-test' => array( - 'summary' => 'Shell Script Test', - 'function' => 'doShellTest', - 'shortcut' => 'st', - 'options' => array(), - 'doc' => ' [[relation] version] -Tests if a package is installed in the system. Will exit(1) if it is not. - The version comparison operator. One of: - <, lt, <=, le, >, gt, >=, ge, ==, =, eq, !=, <>, ne - The version to compare with -'), - 'info' => array( - 'summary' => 'Display information about a package', - 'function' => 'doInfo', - 'shortcut' => 'in', - 'options' => array(), - 'doc' => ' -Displays information about a package. The package argument may be a -local package file, an URL to a package file, or the name of an -installed package.' - ) - ); - - /** - * PEAR_Command_Registry constructor. - * - * @access public - */ - function PEAR_Command_Registry(&$ui, &$config) - { - parent::PEAR_Command_Common($ui, $config); - } - - function _sortinfo($a, $b) - { - $apackage = isset($a['package']) ? $a['package'] : $a['name']; - $bpackage = isset($b['package']) ? $b['package'] : $b['name']; - return strcmp($apackage, $bpackage); - } - - function doList($command, $options, $params) - { - $reg = &$this->config->getRegistry(); - $channelinfo = isset($options['channelinfo']); - if (isset($options['allchannels']) && !$channelinfo) { - return $this->doListAll($command, array(), $params); - } - - if (isset($options['allchannels']) && $channelinfo) { - // allchannels with $channelinfo - unset($options['allchannels']); - $channels = $reg->getChannels(); - $errors = array(); - PEAR::staticPushErrorHandling(PEAR_ERROR_RETURN); - foreach ($channels as $channel) { - $options['channel'] = $channel->getName(); - $ret = $this->doList($command, $options, $params); - - if (PEAR::isError($ret)) { - $errors[] = $ret; - } - } - - PEAR::staticPopErrorHandling(); - if (count($errors)) { - // for now, only give first error - return PEAR::raiseError($errors[0]); - } - - return true; - } - - if (count($params) === 1) { - return $this->doFileList($command, $options, $params); - } - - if (isset($options['channel'])) { - if (!$reg->channelExists($options['channel'])) { - return $this->raiseError('Channel "' . $options['channel'] .'" does not exist'); - } - - $channel = $reg->channelName($options['channel']); - } else { - $channel = $this->config->get('default_channel'); - } - - $installed = $reg->packageInfo(null, null, $channel); - usort($installed, array(&$this, '_sortinfo')); - - $data = array( - 'caption' => 'Installed packages, channel ' . - $channel . ':', - 'border' => true, - 'headline' => array('Package', 'Version', 'State'), - 'channel' => $channel, - ); - if ($channelinfo) { - $data['headline'] = array('Channel', 'Package', 'Version', 'State'); - } - - if (count($installed) && !isset($data['data'])) { - $data['data'] = array(); - } - - foreach ($installed as $package) { - $pobj = $reg->getPackage(isset($package['package']) ? - $package['package'] : $package['name'], $channel); - if ($channelinfo) { - $packageinfo = array($pobj->getChannel(), $pobj->getPackage(), $pobj->getVersion(), - $pobj->getState() ? $pobj->getState() : null); - } else { - $packageinfo = array($pobj->getPackage(), $pobj->getVersion(), - $pobj->getState() ? $pobj->getState() : null); - } - $data['data'][] = $packageinfo; - } - - if (count($installed) === 0) { - if (!$channelinfo) { - $data = '(no packages installed from channel ' . $channel . ')'; - } else { - $data = array( - 'caption' => 'Installed packages, channel ' . - $channel . ':', - 'border' => true, - 'channel' => $channel, - 'data' => array(array('(no packages installed)')), - ); - } - } - - $this->ui->outputData($data, $command); - return true; - } - - function doListAll($command, $options, $params) - { - // This duplicate code is deprecated over - // list --channelinfo, which gives identical - // output for list and list --allchannels. - $reg = &$this->config->getRegistry(); - $installed = $reg->packageInfo(null, null, null); - foreach ($installed as $channel => $packages) { - usort($packages, array($this, '_sortinfo')); - $data = array( - 'caption' => 'Installed packages, channel ' . $channel . ':', - 'border' => true, - 'headline' => array('Package', 'Version', 'State'), - 'channel' => $channel - ); - - foreach ($packages as $package) { - $p = isset($package['package']) ? $package['package'] : $package['name']; - $pobj = $reg->getPackage($p, $channel); - $data['data'][] = array($pobj->getPackage(), $pobj->getVersion(), - $pobj->getState() ? $pobj->getState() : null); - } - - // Adds a blank line after each section - $data['data'][] = array(); - - if (count($packages) === 0) { - $data = array( - 'caption' => 'Installed packages, channel ' . $channel . ':', - 'border' => true, - 'data' => array(array('(no packages installed)'), array()), - 'channel' => $channel - ); - } - $this->ui->outputData($data, $command); - } - return true; - } - - function doFileList($command, $options, $params) - { - if (count($params) !== 1) { - return $this->raiseError('list-files expects 1 parameter'); - } - - $reg = &$this->config->getRegistry(); - $fp = false; - if (!is_dir($params[0]) && (file_exists($params[0]) || $fp = @fopen($params[0], 'r'))) { - if ($fp) { - fclose($fp); - } - - if (!class_exists('PEAR_PackageFile')) { - require_once 'PEAR/PackageFile.php'; - } - - $pkg = &new PEAR_PackageFile($this->config, $this->_debug); - PEAR::staticPushErrorHandling(PEAR_ERROR_RETURN); - $info = &$pkg->fromAnyFile($params[0], PEAR_VALIDATE_NORMAL); - PEAR::staticPopErrorHandling(); - $headings = array('Package File', 'Install Path'); - $installed = false; - } else { - PEAR::staticPushErrorHandling(PEAR_ERROR_RETURN); - $parsed = $reg->parsePackageName($params[0], $this->config->get('default_channel')); - PEAR::staticPopErrorHandling(); - if (PEAR::isError($parsed)) { - return $this->raiseError($parsed); - } - - $info = &$reg->getPackage($parsed['package'], $parsed['channel']); - $headings = array('Type', 'Install Path'); - $installed = true; - } - - if (PEAR::isError($info)) { - return $this->raiseError($info); - } - - if ($info === null) { - return $this->raiseError("`$params[0]' not installed"); - } - - $list = ($info->getPackagexmlVersion() == '1.0' || $installed) ? - $info->getFilelist() : $info->getContents(); - if ($installed) { - $caption = 'Installed Files For ' . $params[0]; - } else { - $caption = 'Contents of ' . basename($params[0]); - } - - $data = array( - 'caption' => $caption, - 'border' => true, - 'headline' => $headings); - if ($info->getPackagexmlVersion() == '1.0' || $installed) { - foreach ($list as $file => $att) { - if ($installed) { - if (empty($att['installed_as'])) { - continue; - } - $data['data'][] = array($att['role'], $att['installed_as']); - } else { - if (isset($att['baseinstalldir']) && !in_array($att['role'], - array('test', 'data', 'doc'))) { - $dest = $att['baseinstalldir'] . DIRECTORY_SEPARATOR . - $file; - } else { - $dest = $file; - } - switch ($att['role']) { - case 'test': - case 'data': - case 'doc': - $role = $att['role']; - if ($role == 'test') { - $role .= 's'; - } - $dest = $this->config->get($role . '_dir') . DIRECTORY_SEPARATOR . - $info->getPackage() . DIRECTORY_SEPARATOR . $dest; - break; - case 'php': - default: - $dest = $this->config->get('php_dir') . DIRECTORY_SEPARATOR . - $dest; - } - $ds2 = DIRECTORY_SEPARATOR . DIRECTORY_SEPARATOR; - $dest = preg_replace(array('!\\\\+!', '!/!', "!$ds2+!"), - array(DIRECTORY_SEPARATOR, - DIRECTORY_SEPARATOR, - DIRECTORY_SEPARATOR), - $dest); - $file = preg_replace('!/+!', '/', $file); - $data['data'][] = array($file, $dest); - } - } - } else { // package.xml 2.0, not installed - if (!isset($list['dir']['file'][0])) { - $list['dir']['file'] = array($list['dir']['file']); - } - - foreach ($list['dir']['file'] as $att) { - $att = $att['attribs']; - $file = $att['name']; - $role = &PEAR_Installer_Role::factory($info, $att['role'], $this->config); - $role->setup($this, $info, $att, $file); - if (!$role->isInstallable()) { - $dest = '(not installable)'; - } else { - $dest = $role->processInstallation($info, $att, $file, ''); - if (PEAR::isError($dest)) { - $dest = '(Unknown role "' . $att['role'] . ')'; - } else { - list(,, $dest) = $dest; - } - } - $data['data'][] = array($file, $dest); - } - } - - $this->ui->outputData($data, $command); - return true; - } - - function doShellTest($command, $options, $params) - { - if (count($params) < 1) { - return PEAR::raiseError('ERROR, usage: pear shell-test packagename [[relation] version]'); - } - - PEAR::staticPushErrorHandling(PEAR_ERROR_RETURN); - $reg = &$this->config->getRegistry(); - $info = $reg->parsePackageName($params[0], $this->config->get('default_channel')); - if (PEAR::isError($info)) { - exit(1); // invalid package name - } - - $package = $info['package']; - $channel = $info['channel']; - // "pear shell-test Foo" - if (!$reg->packageExists($package, $channel)) { - if ($channel == 'pecl.php.net') { - if ($reg->packageExists($package, 'pear.php.net')) { - $channel = 'pear.php.net'; // magically change channels for extensions - } - } - } - - if (count($params) === 1) { - if (!$reg->packageExists($package, $channel)) { - exit(1); - } - // "pear shell-test Foo 1.0" - } elseif (count($params) === 2) { - $v = $reg->packageInfo($package, 'version', $channel); - if (!$v || !version_compare("$v", "{$params[1]}", "ge")) { - exit(1); - } - // "pear shell-test Foo ge 1.0" - } elseif (count($params) === 3) { - $v = $reg->packageInfo($package, 'version', $channel); - if (!$v || !version_compare("$v", "{$params[2]}", $params[1])) { - exit(1); - } - } else { - PEAR::staticPopErrorHandling(); - $this->raiseError("$command: expects 1 to 3 parameters"); - exit(1); - } - } - - function doInfo($command, $options, $params) - { - if (count($params) !== 1) { - return $this->raiseError('pear info expects 1 parameter'); - } - - $info = $fp = false; - $reg = &$this->config->getRegistry(); - if (is_file($params[0]) && !is_dir($params[0]) && - (file_exists($params[0]) || $fp = @fopen($params[0], 'r')) - ) { - if ($fp) { - fclose($fp); - } - - if (!class_exists('PEAR_PackageFile')) { - require_once 'PEAR/PackageFile.php'; - } - - $pkg = &new PEAR_PackageFile($this->config, $this->_debug); - PEAR::staticPushErrorHandling(PEAR_ERROR_RETURN); - $obj = &$pkg->fromAnyFile($params[0], PEAR_VALIDATE_NORMAL); - PEAR::staticPopErrorHandling(); - if (PEAR::isError($obj)) { - $uinfo = $obj->getUserInfo(); - if (is_array($uinfo)) { - foreach ($uinfo as $message) { - if (is_array($message)) { - $message = $message['message']; - } - $this->ui->outputData($message); - } - } - - return $this->raiseError($obj); - } - - if ($obj->getPackagexmlVersion() != '1.0') { - return $this->_doInfo2($command, $options, $params, $obj, false); - } - - $info = $obj->toArray(); - } else { - $parsed = $reg->parsePackageName($params[0], $this->config->get('default_channel')); - if (PEAR::isError($parsed)) { - return $this->raiseError($parsed); - } - - $package = $parsed['package']; - $channel = $parsed['channel']; - $info = $reg->packageInfo($package, null, $channel); - if (isset($info['old'])) { - $obj = $reg->getPackage($package, $channel); - return $this->_doInfo2($command, $options, $params, $obj, true); - } - } - - if (PEAR::isError($info)) { - return $info; - } - - if (empty($info)) { - $this->raiseError("No information found for `$params[0]'"); - return; - } - - unset($info['filelist']); - unset($info['dirtree']); - unset($info['changelog']); - if (isset($info['xsdversion'])) { - $info['package.xml version'] = $info['xsdversion']; - unset($info['xsdversion']); - } - - if (isset($info['packagerversion'])) { - $info['packaged with PEAR version'] = $info['packagerversion']; - unset($info['packagerversion']); - } - - $keys = array_keys($info); - $longtext = array('description', 'summary'); - foreach ($keys as $key) { - if (is_array($info[$key])) { - switch ($key) { - case 'maintainers': { - $i = 0; - $mstr = ''; - foreach ($info[$key] as $m) { - if ($i++ > 0) { - $mstr .= "\n"; - } - $mstr .= $m['name'] . " <"; - if (isset($m['email'])) { - $mstr .= $m['email']; - } else { - $mstr .= $m['handle'] . '@php.net'; - } - $mstr .= "> ($m[role])"; - } - $info[$key] = $mstr; - break; - } - case 'release_deps': { - $i = 0; - $dstr = ''; - foreach ($info[$key] as $d) { - if (isset($this->_deps_rel_trans[$d['rel']])) { - $rel = $this->_deps_rel_trans[$d['rel']]; - } else { - $rel = $d['rel']; - } - if (isset($this->_deps_type_trans[$d['type']])) { - $type = ucfirst($this->_deps_type_trans[$d['type']]); - } else { - $type = $d['type']; - } - if (isset($d['name'])) { - $name = $d['name'] . ' '; - } else { - $name = ''; - } - if (isset($d['version'])) { - $version = $d['version'] . ' '; - } else { - $version = ''; - } - if (isset($d['optional']) && $d['optional'] == 'yes') { - $optional = ' (optional)'; - } else { - $optional = ''; - } - $dstr .= "$type $name$rel $version$optional\n"; - } - $info[$key] = $dstr; - break; - } - case 'provides' : { - $debug = $this->config->get('verbose'); - if ($debug < 2) { - $pstr = 'Classes: '; - } else { - $pstr = ''; - } - $i = 0; - foreach ($info[$key] as $p) { - if ($debug < 2 && $p['type'] != "class") { - continue; - } - // Only print classes when verbosity mode is < 2 - if ($debug < 2) { - if ($i++ > 0) { - $pstr .= ", "; - } - $pstr .= $p['name']; - } else { - if ($i++ > 0) { - $pstr .= "\n"; - } - $pstr .= ucfirst($p['type']) . " " . $p['name']; - if (isset($p['explicit']) && $p['explicit'] == 1) { - $pstr .= " (explicit)"; - } - } - } - $info[$key] = $pstr; - break; - } - case 'configure_options' : { - foreach ($info[$key] as $i => $p) { - $info[$key][$i] = array_map(null, array_keys($p), array_values($p)); - $info[$key][$i] = array_map(create_function('$a', - 'return join(" = ",$a);'), $info[$key][$i]); - $info[$key][$i] = implode(', ', $info[$key][$i]); - } - $info[$key] = implode("\n", $info[$key]); - break; - } - default: { - $info[$key] = implode(", ", $info[$key]); - break; - } - } - } - - if ($key == '_lastmodified') { - $hdate = date('Y-m-d', $info[$key]); - unset($info[$key]); - $info['Last Modified'] = $hdate; - } elseif ($key == '_lastversion') { - $info['Previous Installed Version'] = $info[$key] ? $info[$key] : '- None -'; - unset($info[$key]); - } else { - $info[$key] = trim($info[$key]); - if (in_array($key, $longtext)) { - $info[$key] = preg_replace('/ +/', ' ', $info[$key]); - } - } - } - - $caption = 'About ' . $info['package'] . '-' . $info['version']; - $data = array( - 'caption' => $caption, - 'border' => true); - foreach ($info as $key => $value) { - $key = ucwords(trim(str_replace('_', ' ', $key))); - $data['data'][] = array($key, $value); - } - $data['raw'] = $info; - - $this->ui->outputData($data, 'package-info'); - } - - /** - * @access private - */ - function _doInfo2($command, $options, $params, &$obj, $installed) - { - $reg = &$this->config->getRegistry(); - $caption = 'About ' . $obj->getChannel() . '/' .$obj->getPackage() . '-' . - $obj->getVersion(); - $data = array( - 'caption' => $caption, - 'border' => true); - switch ($obj->getPackageType()) { - case 'php' : - $release = 'PEAR-style PHP-based Package'; - break; - case 'extsrc' : - $release = 'PECL-style PHP extension (source code)'; - break; - case 'zendextsrc' : - $release = 'PECL-style Zend extension (source code)'; - break; - case 'extbin' : - $release = 'PECL-style PHP extension (binary)'; - break; - case 'zendextbin' : - $release = 'PECL-style Zend extension (binary)'; - break; - case 'bundle' : - $release = 'Package bundle (collection of packages)'; - break; - } - $extends = $obj->getExtends(); - $extends = $extends ? - $obj->getPackage() . ' (extends ' . $extends . ')' : $obj->getPackage(); - if ($src = $obj->getSourcePackage()) { - $extends .= ' (source package ' . $src['channel'] . '/' . $src['package'] . ')'; - } - - $info = array( - 'Release Type' => $release, - 'Name' => $extends, - 'Channel' => $obj->getChannel(), - 'Summary' => preg_replace('/ +/', ' ', $obj->getSummary()), - 'Description' => preg_replace('/ +/', ' ', $obj->getDescription()), - ); - $info['Maintainers'] = ''; - foreach (array('lead', 'developer', 'contributor', 'helper') as $role) { - $leads = $obj->{"get{$role}s"}(); - if (!$leads) { - continue; - } - - if (isset($leads['active'])) { - $leads = array($leads); - } - - foreach ($leads as $lead) { - if (!empty($info['Maintainers'])) { - $info['Maintainers'] .= "\n"; - } - - $active = $lead['active'] == 'no' ? ', inactive' : ''; - $info['Maintainers'] .= $lead['name'] . ' <'; - $info['Maintainers'] .= $lead['email'] . "> ($role$active)"; - } - } - - $info['Release Date'] = $obj->getDate(); - if ($time = $obj->getTime()) { - $info['Release Date'] .= ' ' . $time; - } - - $info['Release Version'] = $obj->getVersion() . ' (' . $obj->getState() . ')'; - $info['API Version'] = $obj->getVersion('api') . ' (' . $obj->getState('api') . ')'; - $info['License'] = $obj->getLicense(); - $uri = $obj->getLicenseLocation(); - if ($uri) { - if (isset($uri['uri'])) { - $info['License'] .= ' (' . $uri['uri'] . ')'; - } else { - $extra = $obj->getInstalledLocation($info['filesource']); - if ($extra) { - $info['License'] .= ' (' . $uri['filesource'] . ')'; - } - } - } - - $info['Release Notes'] = $obj->getNotes(); - if ($compat = $obj->getCompatible()) { - if (!isset($compat[0])) { - $compat = array($compat); - } - - $info['Compatible with'] = ''; - foreach ($compat as $package) { - $info['Compatible with'] .= $package['channel'] . '/' . $package['name'] . - "\nVersions >= " . $package['min'] . ', <= ' . $package['max']; - if (isset($package['exclude'])) { - if (is_array($package['exclude'])) { - $package['exclude'] = implode(', ', $package['exclude']); - } - - if (!isset($info['Not Compatible with'])) { - $info['Not Compatible with'] = ''; - } else { - $info['Not Compatible with'] .= "\n"; - } - $info['Not Compatible with'] .= $package['channel'] . '/' . - $package['name'] . "\nVersions " . $package['exclude']; - } - } - } - - $usesrole = $obj->getUsesrole(); - if ($usesrole) { - if (!isset($usesrole[0])) { - $usesrole = array($usesrole); - } - - foreach ($usesrole as $roledata) { - if (isset($info['Uses Custom Roles'])) { - $info['Uses Custom Roles'] .= "\n"; - } else { - $info['Uses Custom Roles'] = ''; - } - - if (isset($roledata['package'])) { - $rolepackage = $reg->parsedPackageNameToString($roledata, true); - } else { - $rolepackage = $roledata['uri']; - } - $info['Uses Custom Roles'] .= $roledata['role'] . ' (' . $rolepackage . ')'; - } - } - - $usestask = $obj->getUsestask(); - if ($usestask) { - if (!isset($usestask[0])) { - $usestask = array($usestask); - } - - foreach ($usestask as $taskdata) { - if (isset($info['Uses Custom Tasks'])) { - $info['Uses Custom Tasks'] .= "\n"; - } else { - $info['Uses Custom Tasks'] = ''; - } - - if (isset($taskdata['package'])) { - $taskpackage = $reg->parsedPackageNameToString($taskdata, true); - } else { - $taskpackage = $taskdata['uri']; - } - $info['Uses Custom Tasks'] .= $taskdata['task'] . ' (' . $taskpackage . ')'; - } - } - - $deps = $obj->getDependencies(); - $info['Required Dependencies'] = 'PHP version ' . $deps['required']['php']['min']; - if (isset($deps['required']['php']['max'])) { - $info['Required Dependencies'] .= '-' . $deps['required']['php']['max'] . "\n"; - } else { - $info['Required Dependencies'] .= "\n"; - } - - if (isset($deps['required']['php']['exclude'])) { - if (!isset($info['Not Compatible with'])) { - $info['Not Compatible with'] = ''; - } else { - $info['Not Compatible with'] .= "\n"; - } - - if (is_array($deps['required']['php']['exclude'])) { - $deps['required']['php']['exclude'] = - implode(', ', $deps['required']['php']['exclude']); - } - $info['Not Compatible with'] .= "PHP versions\n " . - $deps['required']['php']['exclude']; - } - - $info['Required Dependencies'] .= 'PEAR installer version'; - if (isset($deps['required']['pearinstaller']['max'])) { - $info['Required Dependencies'] .= 's ' . - $deps['required']['pearinstaller']['min'] . '-' . - $deps['required']['pearinstaller']['max']; - } else { - $info['Required Dependencies'] .= ' ' . - $deps['required']['pearinstaller']['min'] . ' or newer'; - } - - if (isset($deps['required']['pearinstaller']['exclude'])) { - if (!isset($info['Not Compatible with'])) { - $info['Not Compatible with'] = ''; - } else { - $info['Not Compatible with'] .= "\n"; - } - - if (is_array($deps['required']['pearinstaller']['exclude'])) { - $deps['required']['pearinstaller']['exclude'] = - implode(', ', $deps['required']['pearinstaller']['exclude']); - } - $info['Not Compatible with'] .= "PEAR installer\n Versions " . - $deps['required']['pearinstaller']['exclude']; - } - - foreach (array('Package', 'Extension') as $type) { - $index = strtolower($type); - if (isset($deps['required'][$index])) { - if (isset($deps['required'][$index]['name'])) { - $deps['required'][$index] = array($deps['required'][$index]); - } - - foreach ($deps['required'][$index] as $package) { - if (isset($package['conflicts'])) { - $infoindex = 'Not Compatible with'; - if (!isset($info['Not Compatible with'])) { - $info['Not Compatible with'] = ''; - } else { - $info['Not Compatible with'] .= "\n"; - } - } else { - $infoindex = 'Required Dependencies'; - $info[$infoindex] .= "\n"; - } - - if ($index == 'extension') { - $name = $package['name']; - } else { - if (isset($package['channel'])) { - $name = $package['channel'] . '/' . $package['name']; - } else { - $name = '__uri/' . $package['name'] . ' (static URI)'; - } - } - - $info[$infoindex] .= "$type $name"; - if (isset($package['uri'])) { - $info[$infoindex] .= "\n Download URI: $package[uri]"; - continue; - } - - if (isset($package['max']) && isset($package['min'])) { - $info[$infoindex] .= " \n Versions " . - $package['min'] . '-' . $package['max']; - } elseif (isset($package['min'])) { - $info[$infoindex] .= " \n Version " . - $package['min'] . ' or newer'; - } elseif (isset($package['max'])) { - $info[$infoindex] .= " \n Version " . - $package['max'] . ' or older'; - } - - if (isset($package['recommended'])) { - $info[$infoindex] .= "\n Recommended version: $package[recommended]"; - } - - if (isset($package['exclude'])) { - if (!isset($info['Not Compatible with'])) { - $info['Not Compatible with'] = ''; - } else { - $info['Not Compatible with'] .= "\n"; - } - - if (is_array($package['exclude'])) { - $package['exclude'] = implode(', ', $package['exclude']); - } - - $package['package'] = $package['name']; // for parsedPackageNameToString - if (isset($package['conflicts'])) { - $info['Not Compatible with'] .= '=> except '; - } - $info['Not Compatible with'] .= 'Package ' . - $reg->parsedPackageNameToString($package, true); - $info['Not Compatible with'] .= "\n Versions " . $package['exclude']; - } - } - } - } - - if (isset($deps['required']['os'])) { - if (isset($deps['required']['os']['name'])) { - $dep['required']['os']['name'] = array($dep['required']['os']['name']); - } - - foreach ($dep['required']['os'] as $os) { - if (isset($os['conflicts']) && $os['conflicts'] == 'yes') { - if (!isset($info['Not Compatible with'])) { - $info['Not Compatible with'] = ''; - } else { - $info['Not Compatible with'] .= "\n"; - } - $info['Not Compatible with'] .= "$os[name] Operating System"; - } else { - $info['Required Dependencies'] .= "\n"; - $info['Required Dependencies'] .= "$os[name] Operating System"; - } - } - } - - if (isset($deps['required']['arch'])) { - if (isset($deps['required']['arch']['pattern'])) { - $dep['required']['arch']['pattern'] = array($dep['required']['os']['pattern']); - } - - foreach ($dep['required']['arch'] as $os) { - if (isset($os['conflicts']) && $os['conflicts'] == 'yes') { - if (!isset($info['Not Compatible with'])) { - $info['Not Compatible with'] = ''; - } else { - $info['Not Compatible with'] .= "\n"; - } - $info['Not Compatible with'] .= "OS/Arch matching pattern '/$os[pattern]/'"; - } else { - $info['Required Dependencies'] .= "\n"; - $info['Required Dependencies'] .= "OS/Arch matching pattern '/$os[pattern]/'"; - } - } - } - - if (isset($deps['optional'])) { - foreach (array('Package', 'Extension') as $type) { - $index = strtolower($type); - if (isset($deps['optional'][$index])) { - if (isset($deps['optional'][$index]['name'])) { - $deps['optional'][$index] = array($deps['optional'][$index]); - } - - foreach ($deps['optional'][$index] as $package) { - if (isset($package['conflicts']) && $package['conflicts'] == 'yes') { - $infoindex = 'Not Compatible with'; - if (!isset($info['Not Compatible with'])) { - $info['Not Compatible with'] = ''; - } else { - $info['Not Compatible with'] .= "\n"; - } - } else { - $infoindex = 'Optional Dependencies'; - if (!isset($info['Optional Dependencies'])) { - $info['Optional Dependencies'] = ''; - } else { - $info['Optional Dependencies'] .= "\n"; - } - } - - if ($index == 'extension') { - $name = $package['name']; - } else { - if (isset($package['channel'])) { - $name = $package['channel'] . '/' . $package['name']; - } else { - $name = '__uri/' . $package['name'] . ' (static URI)'; - } - } - - $info[$infoindex] .= "$type $name"; - if (isset($package['uri'])) { - $info[$infoindex] .= "\n Download URI: $package[uri]"; - continue; - } - - if ($infoindex == 'Not Compatible with') { - // conflicts is only used to say that all versions conflict - continue; - } - - if (isset($package['max']) && isset($package['min'])) { - $info[$infoindex] .= " \n Versions " . - $package['min'] . '-' . $package['max']; - } elseif (isset($package['min'])) { - $info[$infoindex] .= " \n Version " . - $package['min'] . ' or newer'; - } elseif (isset($package['max'])) { - $info[$infoindex] .= " \n Version " . - $package['min'] . ' or older'; - } - - if (isset($package['recommended'])) { - $info[$infoindex] .= "\n Recommended version: $package[recommended]"; - } - - if (isset($package['exclude'])) { - if (!isset($info['Not Compatible with'])) { - $info['Not Compatible with'] = ''; - } else { - $info['Not Compatible with'] .= "\n"; - } - - if (is_array($package['exclude'])) { - $package['exclude'] = implode(', ', $package['exclude']); - } - - $info['Not Compatible with'] .= "Package $package\n Versions " . - $package['exclude']; - } - } - } - } - } - - if (isset($deps['group'])) { - if (!isset($deps['group'][0])) { - $deps['group'] = array($deps['group']); - } - - foreach ($deps['group'] as $group) { - $info['Dependency Group ' . $group['attribs']['name']] = $group['attribs']['hint']; - $groupindex = $group['attribs']['name'] . ' Contents'; - $info[$groupindex] = ''; - foreach (array('Package', 'Extension') as $type) { - $index = strtolower($type); - if (isset($group[$index])) { - if (isset($group[$index]['name'])) { - $group[$index] = array($group[$index]); - } - - foreach ($group[$index] as $package) { - if (!empty($info[$groupindex])) { - $info[$groupindex] .= "\n"; - } - - if ($index == 'extension') { - $name = $package['name']; - } else { - if (isset($package['channel'])) { - $name = $package['channel'] . '/' . $package['name']; - } else { - $name = '__uri/' . $package['name'] . ' (static URI)'; - } - } - - if (isset($package['uri'])) { - if (isset($package['conflicts']) && $package['conflicts'] == 'yes') { - $info[$groupindex] .= "Not Compatible with $type $name"; - } else { - $info[$groupindex] .= "$type $name"; - } - - $info[$groupindex] .= "\n Download URI: $package[uri]"; - continue; - } - - if (isset($package['conflicts']) && $package['conflicts'] == 'yes') { - $info[$groupindex] .= "Not Compatible with $type $name"; - continue; - } - - $info[$groupindex] .= "$type $name"; - if (isset($package['max']) && isset($package['min'])) { - $info[$groupindex] .= " \n Versions " . - $package['min'] . '-' . $package['max']; - } elseif (isset($package['min'])) { - $info[$groupindex] .= " \n Version " . - $package['min'] . ' or newer'; - } elseif (isset($package['max'])) { - $info[$groupindex] .= " \n Version " . - $package['min'] . ' or older'; - } - - if (isset($package['recommended'])) { - $info[$groupindex] .= "\n Recommended version: $package[recommended]"; - } - - if (isset($package['exclude'])) { - if (!isset($info['Not Compatible with'])) { - $info['Not Compatible with'] = ''; - } else { - $info[$groupindex] .= "Not Compatible with\n"; - } - - if (is_array($package['exclude'])) { - $package['exclude'] = implode(', ', $package['exclude']); - } - $info[$groupindex] .= " Package $package\n Versions " . - $package['exclude']; - } - } - } - } - } - } - - if ($obj->getPackageType() == 'bundle') { - $info['Bundled Packages'] = ''; - foreach ($obj->getBundledPackages() as $package) { - if (!empty($info['Bundled Packages'])) { - $info['Bundled Packages'] .= "\n"; - } - - if (isset($package['uri'])) { - $info['Bundled Packages'] .= '__uri/' . $package['name']; - $info['Bundled Packages'] .= "\n (URI: $package[uri]"; - } else { - $info['Bundled Packages'] .= $package['channel'] . '/' . $package['name']; - } - } - } - - $info['package.xml version'] = '2.0'; - if ($installed) { - if ($obj->getLastModified()) { - $info['Last Modified'] = date('Y-m-d H:i', $obj->getLastModified()); - } - - $v = $obj->getLastInstalledVersion(); - $info['Previous Installed Version'] = $v ? $v : '- None -'; - } - - foreach ($info as $key => $value) { - $data['data'][] = array($key, $value); - } - - $data['raw'] = $obj->getArray(); // no validation needed - $this->ui->outputData($data, 'package-info'); - } -} \ No newline at end of file diff --git a/3rdparty/PEAR/Command/Registry.xml b/3rdparty/PEAR/Command/Registry.xml deleted file mode 100644 index 9f4e2149672f9ed2b0b39947292108ac81444d1b..0000000000000000000000000000000000000000 --- a/3rdparty/PEAR/Command/Registry.xml +++ /dev/null @@ -1,58 +0,0 @@ - - - List Installed Packages In The Default Channel - doList - l - - - c - list installed packages from this channel - CHAN - - - a - list installed packages from all channels - - - i - output fully channel-aware data, even on failure - - - <package> -If invoked without parameters, this command lists the PEAR packages -installed in your php_dir ({config php_dir}). With a parameter, it -lists the files in a package. - - - - List Files In Installed Package - doFileList - fl - - <package> -List the files in an installed package. - - - - Shell Script Test - doShellTest - st - - <package> [[relation] version] -Tests if a package is installed in the system. Will exit(1) if it is not. - <relation> The version comparison operator. One of: - <, lt, <=, le, >, gt, >=, ge, ==, =, eq, !=, <>, ne - <version> The version to compare with - - - - Display information about a package - doInfo - in - - <package> -Displays information about a package. The package argument may be a -local package file, an URL to a package file, or the name of an -installed package. - - \ No newline at end of file diff --git a/3rdparty/PEAR/Command/Remote.php b/3rdparty/PEAR/Command/Remote.php deleted file mode 100644 index 74478d83c7a7394a977a0159d61c653bd343b754..0000000000000000000000000000000000000000 --- a/3rdparty/PEAR/Command/Remote.php +++ /dev/null @@ -1,810 +0,0 @@ - - * @author Greg Beaver - * @copyright 1997-2009 The Authors - * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: Remote.php 313023 2011-07-06 19:17:11Z dufuz $ - * @link http://pear.php.net/package/PEAR - * @since File available since Release 0.1 - */ - -/** - * base class - */ -require_once 'PEAR/Command/Common.php'; -require_once 'PEAR/REST.php'; - -/** - * PEAR commands for remote server querying - * - * @category pear - * @package PEAR - * @author Stig Bakken - * @author Greg Beaver - * @copyright 1997-2009 The Authors - * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.4 - * @link http://pear.php.net/package/PEAR - * @since Class available since Release 0.1 - */ -class PEAR_Command_Remote extends PEAR_Command_Common -{ - var $commands = array( - 'remote-info' => array( - 'summary' => 'Information About Remote Packages', - 'function' => 'doRemoteInfo', - 'shortcut' => 'ri', - 'options' => array(), - 'doc' => ' -Get details on a package from the server.', - ), - 'list-upgrades' => array( - 'summary' => 'List Available Upgrades', - 'function' => 'doListUpgrades', - 'shortcut' => 'lu', - 'options' => array( - 'channelinfo' => array( - 'shortopt' => 'i', - 'doc' => 'output fully channel-aware data, even on failure', - ), - ), - 'doc' => '[preferred_state] -List releases on the server of packages you have installed where -a newer version is available with the same release state (stable etc.) -or the state passed as the second parameter.' - ), - 'remote-list' => array( - 'summary' => 'List Remote Packages', - 'function' => 'doRemoteList', - 'shortcut' => 'rl', - 'options' => array( - 'channel' => - array( - 'shortopt' => 'c', - 'doc' => 'specify a channel other than the default channel', - 'arg' => 'CHAN', - ) - ), - 'doc' => ' -Lists the packages available on the configured server along with the -latest stable release of each package.', - ), - 'search' => array( - 'summary' => 'Search remote package database', - 'function' => 'doSearch', - 'shortcut' => 'sp', - 'options' => array( - 'channel' => - array( - 'shortopt' => 'c', - 'doc' => 'specify a channel other than the default channel', - 'arg' => 'CHAN', - ), - 'allchannels' => array( - 'shortopt' => 'a', - 'doc' => 'search packages from all known channels', - ), - 'channelinfo' => array( - 'shortopt' => 'i', - 'doc' => 'output fully channel-aware data, even on failure', - ), - ), - 'doc' => '[packagename] [packageinfo] -Lists all packages which match the search parameters. The first -parameter is a fragment of a packagename. The default channel -will be used unless explicitly overridden. The second parameter -will be used to match any portion of the summary/description', - ), - 'list-all' => array( - 'summary' => 'List All Packages', - 'function' => 'doListAll', - 'shortcut' => 'la', - 'options' => array( - 'channel' => - array( - 'shortopt' => 'c', - 'doc' => 'specify a channel other than the default channel', - 'arg' => 'CHAN', - ), - 'channelinfo' => array( - 'shortopt' => 'i', - 'doc' => 'output fully channel-aware data, even on failure', - ), - ), - 'doc' => ' -Lists the packages available on the configured server along with the -latest stable release of each package.', - ), - 'download' => array( - 'summary' => 'Download Package', - 'function' => 'doDownload', - 'shortcut' => 'd', - 'options' => array( - 'nocompress' => array( - 'shortopt' => 'Z', - 'doc' => 'download an uncompressed (.tar) file', - ), - ), - 'doc' => '... -Download package tarballs. The files will be named as suggested by the -server, for example if you download the DB package and the latest stable -version of DB is 1.6.5, the downloaded file will be DB-1.6.5.tgz.', - ), - 'clear-cache' => array( - 'summary' => 'Clear Web Services Cache', - 'function' => 'doClearCache', - 'shortcut' => 'cc', - 'options' => array(), - 'doc' => ' -Clear the REST cache. See also the cache_ttl configuration -parameter. -', - ), - ); - - /** - * PEAR_Command_Remote constructor. - * - * @access public - */ - function PEAR_Command_Remote(&$ui, &$config) - { - parent::PEAR_Command_Common($ui, $config); - } - - function _checkChannelForStatus($channel, $chan) - { - if (PEAR::isError($chan)) { - $this->raiseError($chan); - } - if (!is_a($chan, 'PEAR_ChannelFile')) { - return $this->raiseError('Internal corruption error: invalid channel "' . - $channel . '"'); - } - $rest = new PEAR_REST($this->config); - PEAR::staticPushErrorHandling(PEAR_ERROR_RETURN); - $mirror = $this->config->get('preferred_mirror', null, - $channel); - $a = $rest->downloadHttp('http://' . $channel . - '/channel.xml', $chan->lastModified()); - PEAR::staticPopErrorHandling(); - if (!PEAR::isError($a) && $a) { - $this->ui->outputData('WARNING: channel "' . $channel . '" has ' . - 'updated its protocols, use "' . PEAR_RUNTYPE . ' channel-update ' . $channel . - '" to update'); - } - } - - function doRemoteInfo($command, $options, $params) - { - if (sizeof($params) != 1) { - return $this->raiseError("$command expects one param: the remote package name"); - } - $savechannel = $channel = $this->config->get('default_channel'); - $reg = &$this->config->getRegistry(); - $package = $params[0]; - $parsed = $reg->parsePackageName($package, $channel); - if (PEAR::isError($parsed)) { - return $this->raiseError('Invalid package name "' . $package . '"'); - } - - $channel = $parsed['channel']; - $this->config->set('default_channel', $channel); - $chan = $reg->getChannel($channel); - if (PEAR::isError($e = $this->_checkChannelForStatus($channel, $chan))) { - return $e; - } - - $mirror = $this->config->get('preferred_mirror'); - if ($chan->supportsREST($mirror) && $base = $chan->getBaseURL('REST1.0', $mirror)) { - $rest = &$this->config->getREST('1.0', array()); - $info = $rest->packageInfo($base, $parsed['package'], $channel); - } - - if (!isset($info)) { - return $this->raiseError('No supported protocol was found'); - } - - if (PEAR::isError($info)) { - $this->config->set('default_channel', $savechannel); - return $this->raiseError($info); - } - - if (!isset($info['name'])) { - return $this->raiseError('No remote package "' . $package . '" was found'); - } - - $installed = $reg->packageInfo($info['name'], null, $channel); - $info['installed'] = $installed['version'] ? $installed['version'] : '- no -'; - if (is_array($info['installed'])) { - $info['installed'] = $info['installed']['release']; - } - - $this->ui->outputData($info, $command); - $this->config->set('default_channel', $savechannel); - - return true; - } - - function doRemoteList($command, $options, $params) - { - $savechannel = $channel = $this->config->get('default_channel'); - $reg = &$this->config->getRegistry(); - if (isset($options['channel'])) { - $channel = $options['channel']; - if (!$reg->channelExists($channel)) { - return $this->raiseError('Channel "' . $channel . '" does not exist'); - } - - $this->config->set('default_channel', $channel); - } - - $chan = $reg->getChannel($channel); - if (PEAR::isError($e = $this->_checkChannelForStatus($channel, $chan))) { - return $e; - } - - $list_options = false; - if ($this->config->get('preferred_state') == 'stable') { - $list_options = true; - } - - $available = array(); - if ($chan->supportsREST($this->config->get('preferred_mirror')) && - $base = $chan->getBaseURL('REST1.1', $this->config->get('preferred_mirror')) - ) { - // use faster list-all if available - $rest = &$this->config->getREST('1.1', array()); - $available = $rest->listAll($base, $list_options, true, false, false, $chan->getName()); - } elseif ($chan->supportsREST($this->config->get('preferred_mirror')) && - $base = $chan->getBaseURL('REST1.0', $this->config->get('preferred_mirror'))) { - $rest = &$this->config->getREST('1.0', array()); - $available = $rest->listAll($base, $list_options, true, false, false, $chan->getName()); - } - - if (PEAR::isError($available)) { - $this->config->set('default_channel', $savechannel); - return $this->raiseError($available); - } - - $i = $j = 0; - $data = array( - 'caption' => 'Channel ' . $channel . ' Available packages:', - 'border' => true, - 'headline' => array('Package', 'Version'), - 'channel' => $channel - ); - - if (count($available) == 0) { - $data = '(no packages available yet)'; - } else { - foreach ($available as $name => $info) { - $version = (isset($info['stable']) && $info['stable']) ? $info['stable'] : '-n/a-'; - $data['data'][] = array($name, $version); - } - } - $this->ui->outputData($data, $command); - $this->config->set('default_channel', $savechannel); - return true; - } - - function doListAll($command, $options, $params) - { - $savechannel = $channel = $this->config->get('default_channel'); - $reg = &$this->config->getRegistry(); - if (isset($options['channel'])) { - $channel = $options['channel']; - if (!$reg->channelExists($channel)) { - return $this->raiseError("Channel \"$channel\" does not exist"); - } - - $this->config->set('default_channel', $channel); - } - - $list_options = false; - if ($this->config->get('preferred_state') == 'stable') { - $list_options = true; - } - - $chan = $reg->getChannel($channel); - if (PEAR::isError($e = $this->_checkChannelForStatus($channel, $chan))) { - return $e; - } - - if ($chan->supportsREST($this->config->get('preferred_mirror')) && - $base = $chan->getBaseURL('REST1.1', $this->config->get('preferred_mirror'))) { - // use faster list-all if available - $rest = &$this->config->getREST('1.1', array()); - $available = $rest->listAll($base, $list_options, false, false, false, $chan->getName()); - } elseif ($chan->supportsREST($this->config->get('preferred_mirror')) && - $base = $chan->getBaseURL('REST1.0', $this->config->get('preferred_mirror'))) { - $rest = &$this->config->getREST('1.0', array()); - $available = $rest->listAll($base, $list_options, false, false, false, $chan->getName()); - } - - if (PEAR::isError($available)) { - $this->config->set('default_channel', $savechannel); - return $this->raiseError('The package list could not be fetched from the remote server. Please try again. (Debug info: "' . $available->getMessage() . '")'); - } - - $data = array( - 'caption' => 'All packages [Channel ' . $channel . ']:', - 'border' => true, - 'headline' => array('Package', 'Latest', 'Local'), - 'channel' => $channel, - ); - - if (isset($options['channelinfo'])) { - // add full channelinfo - $data['caption'] = 'Channel ' . $channel . ' All packages:'; - $data['headline'] = array('Channel', 'Package', 'Latest', 'Local', - 'Description', 'Dependencies'); - } - $local_pkgs = $reg->listPackages($channel); - - foreach ($available as $name => $info) { - $installed = $reg->packageInfo($name, null, $channel); - if (is_array($installed['version'])) { - $installed['version'] = $installed['version']['release']; - } - $desc = $info['summary']; - if (isset($params[$name])) { - $desc .= "\n\n".$info['description']; - } - if (isset($options['mode'])) - { - if ($options['mode'] == 'installed' && !isset($installed['version'])) { - continue; - } - if ($options['mode'] == 'notinstalled' && isset($installed['version'])) { - continue; - } - if ($options['mode'] == 'upgrades' - && (!isset($installed['version']) || version_compare($installed['version'], - $info['stable'], '>='))) { - continue; - } - } - $pos = array_search(strtolower($name), $local_pkgs); - if ($pos !== false) { - unset($local_pkgs[$pos]); - } - - if (isset($info['stable']) && !$info['stable']) { - $info['stable'] = null; - } - - if (isset($options['channelinfo'])) { - // add full channelinfo - if ($info['stable'] === $info['unstable']) { - $state = $info['state']; - } else { - $state = 'stable'; - } - $latest = $info['stable'].' ('.$state.')'; - $local = ''; - if (isset($installed['version'])) { - $inst_state = $reg->packageInfo($name, 'release_state', $channel); - $local = $installed['version'].' ('.$inst_state.')'; - } - - $packageinfo = array( - $channel, - $name, - $latest, - $local, - isset($desc) ? $desc : null, - isset($info['deps']) ? $info['deps'] : null, - ); - } else { - $packageinfo = array( - $reg->channelAlias($channel) . '/' . $name, - isset($info['stable']) ? $info['stable'] : null, - isset($installed['version']) ? $installed['version'] : null, - isset($desc) ? $desc : null, - isset($info['deps']) ? $info['deps'] : null, - ); - } - $data['data'][$info['category']][] = $packageinfo; - } - - if (isset($options['mode']) && in_array($options['mode'], array('notinstalled', 'upgrades'))) { - $this->config->set('default_channel', $savechannel); - $this->ui->outputData($data, $command); - return true; - } - - foreach ($local_pkgs as $name) { - $info = &$reg->getPackage($name, $channel); - $data['data']['Local'][] = array( - $reg->channelAlias($channel) . '/' . $info->getPackage(), - '', - $info->getVersion(), - $info->getSummary(), - $info->getDeps() - ); - } - - $this->config->set('default_channel', $savechannel); - $this->ui->outputData($data, $command); - return true; - } - - function doSearch($command, $options, $params) - { - if ((!isset($params[0]) || empty($params[0])) - && (!isset($params[1]) || empty($params[1]))) - { - return $this->raiseError('no valid search string supplied'); - } - - $channelinfo = isset($options['channelinfo']); - $reg = &$this->config->getRegistry(); - if (isset($options['allchannels'])) { - // search all channels - unset($options['allchannels']); - $channels = $reg->getChannels(); - $errors = array(); - PEAR::staticPushErrorHandling(PEAR_ERROR_RETURN); - foreach ($channels as $channel) { - if ($channel->getName() != '__uri') { - $options['channel'] = $channel->getName(); - $ret = $this->doSearch($command, $options, $params); - if (PEAR::isError($ret)) { - $errors[] = $ret; - } - } - } - - PEAR::staticPopErrorHandling(); - if (count($errors) !== 0) { - // for now, only give first error - return PEAR::raiseError($errors[0]); - } - - return true; - } - - $savechannel = $channel = $this->config->get('default_channel'); - $package = strtolower($params[0]); - $summary = isset($params[1]) ? $params[1] : false; - if (isset($options['channel'])) { - $reg = &$this->config->getRegistry(); - $channel = $options['channel']; - if (!$reg->channelExists($channel)) { - return $this->raiseError('Channel "' . $channel . '" does not exist'); - } - - $this->config->set('default_channel', $channel); - } - - $chan = $reg->getChannel($channel); - if (PEAR::isError($e = $this->_checkChannelForStatus($channel, $chan))) { - return $e; - } - - if ($chan->supportsREST($this->config->get('preferred_mirror')) && - $base = $chan->getBaseURL('REST1.0', $this->config->get('preferred_mirror'))) { - $rest = &$this->config->getREST('1.0', array()); - $available = $rest->listAll($base, false, false, $package, $summary, $chan->getName()); - } - - if (PEAR::isError($available)) { - $this->config->set('default_channel', $savechannel); - return $this->raiseError($available); - } - - if (!$available && !$channelinfo) { - // clean exit when not found, no error ! - $data = 'no packages found that match pattern "' . $package . '", for channel '.$channel.'.'; - $this->ui->outputData($data); - $this->config->set('default_channel', $channel); - return true; - } - - if ($channelinfo) { - $data = array( - 'caption' => 'Matched packages, channel ' . $channel . ':', - 'border' => true, - 'headline' => array('Channel', 'Package', 'Stable/(Latest)', 'Local'), - 'channel' => $channel - ); - } else { - $data = array( - 'caption' => 'Matched packages, channel ' . $channel . ':', - 'border' => true, - 'headline' => array('Package', 'Stable/(Latest)', 'Local'), - 'channel' => $channel - ); - } - - if (!$available && $channelinfo) { - unset($data['headline']); - $data['data'] = 'No packages found that match pattern "' . $package . '".'; - $available = array(); - } - - foreach ($available as $name => $info) { - $installed = $reg->packageInfo($name, null, $channel); - $desc = $info['summary']; - if (isset($params[$name])) - $desc .= "\n\n".$info['description']; - - if (!isset($info['stable']) || !$info['stable']) { - $version_remote = 'none'; - } else { - if ($info['unstable']) { - $version_remote = $info['unstable']; - } else { - $version_remote = $info['stable']; - } - $version_remote .= ' ('.$info['state'].')'; - } - $version = is_array($installed['version']) ? $installed['version']['release'] : - $installed['version']; - if ($channelinfo) { - $packageinfo = array( - $channel, - $name, - $version_remote, - $version, - $desc, - ); - } else { - $packageinfo = array( - $name, - $version_remote, - $version, - $desc, - ); - } - $data['data'][$info['category']][] = $packageinfo; - } - - $this->ui->outputData($data, $command); - $this->config->set('default_channel', $channel); - return true; - } - - function &getDownloader($options) - { - if (!class_exists('PEAR_Downloader')) { - require_once 'PEAR/Downloader.php'; - } - $a = &new PEAR_Downloader($this->ui, $options, $this->config); - return $a; - } - - function doDownload($command, $options, $params) - { - // make certain that dependencies are ignored - $options['downloadonly'] = 1; - - // eliminate error messages for preferred_state-related errors - /* TODO: Should be an option, but until now download does respect - prefered state */ - /* $options['ignorepreferred_state'] = 1; */ - // eliminate error messages for preferred_state-related errors - - $downloader = &$this->getDownloader($options); - PEAR::staticPushErrorHandling(PEAR_ERROR_RETURN); - $e = $downloader->setDownloadDir(getcwd()); - PEAR::staticPopErrorHandling(); - if (PEAR::isError($e)) { - return $this->raiseError('Current directory is not writeable, cannot download'); - } - - $errors = array(); - $downloaded = array(); - $err = $downloader->download($params); - if (PEAR::isError($err)) { - return $err; - } - - $errors = $downloader->getErrorMsgs(); - if (count($errors)) { - foreach ($errors as $error) { - if ($error !== null) { - $this->ui->outputData($error); - } - } - - return $this->raiseError("$command failed"); - } - - $downloaded = $downloader->getDownloadedPackages(); - foreach ($downloaded as $pkg) { - $this->ui->outputData("File $pkg[file] downloaded", $command); - } - - return true; - } - - function downloadCallback($msg, $params = null) - { - if ($msg == 'done') { - $this->bytes_downloaded = $params; - } - } - - function doListUpgrades($command, $options, $params) - { - require_once 'PEAR/Common.php'; - if (isset($params[0]) && !is_array(PEAR_Common::betterStates($params[0]))) { - return $this->raiseError($params[0] . ' is not a valid state (stable/beta/alpha/devel/etc.) try "pear help list-upgrades"'); - } - - $savechannel = $channel = $this->config->get('default_channel'); - $reg = &$this->config->getRegistry(); - foreach ($reg->listChannels() as $channel) { - $inst = array_flip($reg->listPackages($channel)); - if (!count($inst)) { - continue; - } - - if ($channel == '__uri') { - continue; - } - - $this->config->set('default_channel', $channel); - $state = empty($params[0]) ? $this->config->get('preferred_state') : $params[0]; - - $caption = $channel . ' Available Upgrades'; - $chan = $reg->getChannel($channel); - if (PEAR::isError($e = $this->_checkChannelForStatus($channel, $chan))) { - return $e; - } - - $latest = array(); - $base2 = false; - $preferred_mirror = $this->config->get('preferred_mirror'); - if ($chan->supportsREST($preferred_mirror) && - ( - //($base2 = $chan->getBaseURL('REST1.4', $preferred_mirror)) || - ($base = $chan->getBaseURL('REST1.0', $preferred_mirror)) - ) - - ) { - if ($base2) { - $rest = &$this->config->getREST('1.4', array()); - $base = $base2; - } else { - $rest = &$this->config->getREST('1.0', array()); - } - - if (empty($state) || $state == 'any') { - $state = false; - } else { - $caption .= ' (' . implode(', ', PEAR_Common::betterStates($state, true)) . ')'; - } - - PEAR::staticPushErrorHandling(PEAR_ERROR_RETURN); - $latest = $rest->listLatestUpgrades($base, $state, $inst, $channel, $reg); - PEAR::staticPopErrorHandling(); - } - - if (PEAR::isError($latest)) { - $this->ui->outputData($latest->getMessage()); - continue; - } - - $caption .= ':'; - if (PEAR::isError($latest)) { - $this->config->set('default_channel', $savechannel); - return $latest; - } - - $data = array( - 'caption' => $caption, - 'border' => 1, - 'headline' => array('Channel', 'Package', 'Local', 'Remote', 'Size'), - 'channel' => $channel - ); - - foreach ((array)$latest as $pkg => $info) { - $package = strtolower($pkg); - if (!isset($inst[$package])) { - // skip packages we don't have installed - continue; - } - - extract($info); - $inst_version = $reg->packageInfo($package, 'version', $channel); - $inst_state = $reg->packageInfo($package, 'release_state', $channel); - if (version_compare("$version", "$inst_version", "le")) { - // installed version is up-to-date - continue; - } - - if ($filesize >= 20480) { - $filesize += 1024 - ($filesize % 1024); - $fs = sprintf("%dkB", $filesize / 1024); - } elseif ($filesize > 0) { - $filesize += 103 - ($filesize % 103); - $fs = sprintf("%.1fkB", $filesize / 1024.0); - } else { - $fs = " -"; // XXX center instead - } - - $data['data'][] = array($channel, $pkg, "$inst_version ($inst_state)", "$version ($state)", $fs); - } - - if (isset($options['channelinfo'])) { - if (empty($data['data'])) { - unset($data['headline']); - if (count($inst) == 0) { - $data['data'] = '(no packages installed)'; - } else { - $data['data'] = '(no upgrades available)'; - } - } - $this->ui->outputData($data, $command); - } else { - if (empty($data['data'])) { - $this->ui->outputData('Channel ' . $channel . ': No upgrades available'); - } else { - $this->ui->outputData($data, $command); - } - } - } - - $this->config->set('default_channel', $savechannel); - return true; - } - - function doClearCache($command, $options, $params) - { - $cache_dir = $this->config->get('cache_dir'); - $verbose = $this->config->get('verbose'); - $output = ''; - if (!file_exists($cache_dir) || !is_dir($cache_dir)) { - return $this->raiseError("$cache_dir does not exist or is not a directory"); - } - - if (!($dp = @opendir($cache_dir))) { - return $this->raiseError("opendir($cache_dir) failed: $php_errormsg"); - } - - if ($verbose >= 1) { - $output .= "reading directory $cache_dir\n"; - } - - $num = 0; - while ($ent = readdir($dp)) { - if (preg_match('/rest.cache(file|id)\\z/', $ent)) { - $path = $cache_dir . DIRECTORY_SEPARATOR . $ent; - if (file_exists($path)) { - $ok = @unlink($path); - } else { - $ok = false; - $php_errormsg = ''; - } - - if ($ok) { - if ($verbose >= 2) { - $output .= "deleted $path\n"; - } - $num++; - } elseif ($verbose >= 1) { - $output .= "failed to delete $path $php_errormsg\n"; - } - } - } - - closedir($dp); - if ($verbose >= 1) { - $output .= "$num cache entries cleared\n"; - } - - $this->ui->outputData(rtrim($output), $command); - return $num; - } -} \ No newline at end of file diff --git a/3rdparty/PEAR/Command/Remote.xml b/3rdparty/PEAR/Command/Remote.xml deleted file mode 100644 index b4f6100c793109d1f8bd66ecbe70055ae348559d..0000000000000000000000000000000000000000 --- a/3rdparty/PEAR/Command/Remote.xml +++ /dev/null @@ -1,109 +0,0 @@ - - - Information About Remote Packages - doRemoteInfo - ri - - <package> -Get details on a package from the server. - - - List Available Upgrades - doListUpgrades - lu - - - i - output fully channel-aware data, even on failure - - - [preferred_state] -List releases on the server of packages you have installed where -a newer version is available with the same release state (stable etc.) -or the state passed as the second parameter. - - - List Remote Packages - doRemoteList - rl - - - c - specify a channel other than the default channel - CHAN - - - -Lists the packages available on the configured server along with the -latest stable release of each package. - - - Search remote package database - doSearch - sp - - - c - specify a channel other than the default channel - CHAN - - - a - search packages from all known channels - - - i - output fully channel-aware data, even on failure - - - [packagename] [packageinfo] -Lists all packages which match the search parameters. The first -parameter is a fragment of a packagename. The default channel -will be used unless explicitly overridden. The second parameter -will be used to match any portion of the summary/description - - - List All Packages - doListAll - la - - - c - specify a channel other than the default channel - CHAN - - - i - output fully channel-aware data, even on failure - - - -Lists the packages available on the configured server along with the -latest stable release of each package. - - - Download Package - doDownload - d - - - Z - download an uncompressed (.tar) file - - - <package>... -Download package tarballs. The files will be named as suggested by the -server, for example if you download the DB package and the latest stable -version of DB is 1.6.5, the downloaded file will be DB-1.6.5.tgz. - - - Clear Web Services Cache - doClearCache - cc - - -Clear the XML-RPC/REST cache. See also the cache_ttl configuration -parameter. - - - \ No newline at end of file diff --git a/3rdparty/PEAR/Command/Test.php b/3rdparty/PEAR/Command/Test.php deleted file mode 100644 index a757d9e579091f6d20ce5d6f93eb9cec8b883566..0000000000000000000000000000000000000000 --- a/3rdparty/PEAR/Command/Test.php +++ /dev/null @@ -1,337 +0,0 @@ - - * @author Martin Jansen - * @author Greg Beaver - * @copyright 1997-2009 The Authors - * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: Test.php 313023 2011-07-06 19:17:11Z dufuz $ - * @link http://pear.php.net/package/PEAR - * @since File available since Release 0.1 - */ - -/** - * base class - */ -require_once 'PEAR/Command/Common.php'; - -/** - * PEAR commands for login/logout - * - * @category pear - * @package PEAR - * @author Stig Bakken - * @author Martin Jansen - * @author Greg Beaver - * @copyright 1997-2009 The Authors - * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.4 - * @link http://pear.php.net/package/PEAR - * @since Class available since Release 0.1 - */ - -class PEAR_Command_Test extends PEAR_Command_Common -{ - var $commands = array( - 'run-tests' => array( - 'summary' => 'Run Regression Tests', - 'function' => 'doRunTests', - 'shortcut' => 'rt', - 'options' => array( - 'recur' => array( - 'shortopt' => 'r', - 'doc' => 'Run tests in child directories, recursively. 4 dirs deep maximum', - ), - 'ini' => array( - 'shortopt' => 'i', - 'doc' => 'actual string of settings to pass to php in format " -d setting=blah"', - 'arg' => 'SETTINGS' - ), - 'realtimelog' => array( - 'shortopt' => 'l', - 'doc' => 'Log test runs/results as they are run', - ), - 'quiet' => array( - 'shortopt' => 'q', - 'doc' => 'Only display detail for failed tests', - ), - 'simple' => array( - 'shortopt' => 's', - 'doc' => 'Display simple output for all tests', - ), - 'package' => array( - 'shortopt' => 'p', - 'doc' => 'Treat parameters as installed packages from which to run tests', - ), - 'phpunit' => array( - 'shortopt' => 'u', - 'doc' => 'Search parameters for AllTests.php, and use that to run phpunit-based tests -If none is found, all .phpt tests will be tried instead.', - ), - 'tapoutput' => array( - 'shortopt' => 't', - 'doc' => 'Output run-tests.log in TAP-compliant format', - ), - 'cgi' => array( - 'shortopt' => 'c', - 'doc' => 'CGI php executable (needed for tests with POST/GET section)', - 'arg' => 'PHPCGI', - ), - 'coverage' => array( - 'shortopt' => 'x', - 'doc' => 'Generate a code coverage report (requires Xdebug 2.0.0+)', - ), - ), - 'doc' => '[testfile|dir ...] -Run regression tests with PHP\'s regression testing script (run-tests.php).', - ), - ); - - var $output; - - /** - * PEAR_Command_Test constructor. - * - * @access public - */ - function PEAR_Command_Test(&$ui, &$config) - { - parent::PEAR_Command_Common($ui, $config); - } - - function doRunTests($command, $options, $params) - { - if (isset($options['phpunit']) && isset($options['tapoutput'])) { - return $this->raiseError('ERROR: cannot use both --phpunit and --tapoutput at the same time'); - } - - require_once 'PEAR/Common.php'; - require_once 'System.php'; - $log = new PEAR_Common; - $log->ui = &$this->ui; // slightly hacky, but it will work - $tests = array(); - $depth = isset($options['recur']) ? 14 : 1; - - if (!count($params)) { - $params[] = '.'; - } - - if (isset($options['package'])) { - $oldparams = $params; - $params = array(); - $reg = &$this->config->getRegistry(); - foreach ($oldparams as $param) { - $pname = $reg->parsePackageName($param, $this->config->get('default_channel')); - if (PEAR::isError($pname)) { - return $this->raiseError($pname); - } - - $package = &$reg->getPackage($pname['package'], $pname['channel']); - if (!$package) { - return PEAR::raiseError('Unknown package "' . - $reg->parsedPackageNameToString($pname) . '"'); - } - - $filelist = $package->getFilelist(); - foreach ($filelist as $name => $atts) { - if (isset($atts['role']) && $atts['role'] != 'test') { - continue; - } - - if (isset($options['phpunit']) && preg_match('/AllTests\.php\\z/i', $name)) { - $params[] = $atts['installed_as']; - continue; - } elseif (!preg_match('/\.phpt\\z/', $name)) { - continue; - } - $params[] = $atts['installed_as']; - } - } - } - - foreach ($params as $p) { - if (is_dir($p)) { - if (isset($options['phpunit'])) { - $dir = System::find(array($p, '-type', 'f', - '-maxdepth', $depth, - '-name', 'AllTests.php')); - if (count($dir)) { - foreach ($dir as $p) { - $p = realpath($p); - if (!count($tests) || - (count($tests) && strlen($p) < strlen($tests[0]))) { - // this is in a higher-level directory, use this one instead. - $tests = array($p); - } - } - } - continue; - } - - $args = array($p, '-type', 'f', '-name', '*.phpt'); - } else { - if (isset($options['phpunit'])) { - if (preg_match('/AllTests\.php\\z/i', $p)) { - $p = realpath($p); - if (!count($tests) || - (count($tests) && strlen($p) < strlen($tests[0]))) { - // this is in a higher-level directory, use this one instead. - $tests = array($p); - } - } - continue; - } - - if (file_exists($p) && preg_match('/\.phpt$/', $p)) { - $tests[] = $p; - continue; - } - - if (!preg_match('/\.phpt\\z/', $p)) { - $p .= '.phpt'; - } - - $args = array(dirname($p), '-type', 'f', '-name', $p); - } - - if (!isset($options['recur'])) { - $args[] = '-maxdepth'; - $args[] = 1; - } - - $dir = System::find($args); - $tests = array_merge($tests, $dir); - } - - $ini_settings = ''; - if (isset($options['ini'])) { - $ini_settings .= $options['ini']; - } - - if (isset($_ENV['TEST_PHP_INCLUDE_PATH'])) { - $ini_settings .= " -d include_path={$_ENV['TEST_PHP_INCLUDE_PATH']}"; - } - - if ($ini_settings) { - $this->ui->outputData('Using INI settings: "' . $ini_settings . '"'); - } - - $skipped = $passed = $failed = array(); - $tests_count = count($tests); - $this->ui->outputData('Running ' . $tests_count . ' tests', $command); - $start = time(); - if (isset($options['realtimelog']) && file_exists('run-tests.log')) { - unlink('run-tests.log'); - } - - if (isset($options['tapoutput'])) { - $tap = '1..' . $tests_count . "\n"; - } - - require_once 'PEAR/RunTest.php'; - $run = new PEAR_RunTest($log, $options); - $run->tests_count = $tests_count; - - if (isset($options['coverage']) && extension_loaded('xdebug')){ - $run->xdebug_loaded = true; - } else { - $run->xdebug_loaded = false; - } - - $j = $i = 1; - foreach ($tests as $t) { - if (isset($options['realtimelog'])) { - $fp = @fopen('run-tests.log', 'a'); - if ($fp) { - fwrite($fp, "Running test [$i / $tests_count] $t..."); - fclose($fp); - } - } - PEAR::staticPushErrorHandling(PEAR_ERROR_RETURN); - if (isset($options['phpunit'])) { - $result = $run->runPHPUnit($t, $ini_settings); - } else { - $result = $run->run($t, $ini_settings, $j); - } - PEAR::staticPopErrorHandling(); - if (PEAR::isError($result)) { - $this->ui->log($result->getMessage()); - continue; - } - - if (isset($options['tapoutput'])) { - $tap .= $result[0] . ' ' . $i . $result[1] . "\n"; - continue; - } - - if (isset($options['realtimelog'])) { - $fp = @fopen('run-tests.log', 'a'); - if ($fp) { - fwrite($fp, "$result\n"); - fclose($fp); - } - } - - if ($result == 'FAILED') { - $failed[] = $t; - } - if ($result == 'PASSED') { - $passed[] = $t; - } - if ($result == 'SKIPPED') { - $skipped[] = $t; - } - - $j++; - } - - $total = date('i:s', time() - $start); - if (isset($options['tapoutput'])) { - $fp = @fopen('run-tests.log', 'w'); - if ($fp) { - fwrite($fp, $tap, strlen($tap)); - fclose($fp); - $this->ui->outputData('wrote TAP-format log to "' .realpath('run-tests.log') . - '"', $command); - } - } else { - if (count($failed)) { - $output = "TOTAL TIME: $total\n"; - $output .= count($passed) . " PASSED TESTS\n"; - $output .= count($skipped) . " SKIPPED TESTS\n"; - $output .= count($failed) . " FAILED TESTS:\n"; - foreach ($failed as $failure) { - $output .= $failure . "\n"; - } - - $mode = isset($options['realtimelog']) ? 'a' : 'w'; - $fp = @fopen('run-tests.log', $mode); - - if ($fp) { - fwrite($fp, $output, strlen($output)); - fclose($fp); - $this->ui->outputData('wrote log to "' . realpath('run-tests.log') . '"', $command); - } - } elseif (file_exists('run-tests.log') && !is_dir('run-tests.log')) { - @unlink('run-tests.log'); - } - } - $this->ui->outputData('TOTAL TIME: ' . $total); - $this->ui->outputData(count($passed) . ' PASSED TESTS', $command); - $this->ui->outputData(count($skipped) . ' SKIPPED TESTS', $command); - if (count($failed)) { - $this->ui->outputData(count($failed) . ' FAILED TESTS:', $command); - foreach ($failed as $failure) { - $this->ui->outputData($failure, $command); - } - } - - return true; - } -} \ No newline at end of file diff --git a/3rdparty/PEAR/Command/Test.xml b/3rdparty/PEAR/Command/Test.xml deleted file mode 100644 index bbe9fcccc51fad7569d664bc894a7b04076de5ca..0000000000000000000000000000000000000000 --- a/3rdparty/PEAR/Command/Test.xml +++ /dev/null @@ -1,54 +0,0 @@ - - - Run Regression Tests - doRunTests - rt - - - r - Run tests in child directories, recursively. 4 dirs deep maximum - - - i - actual string of settings to pass to php in format " -d setting=blah" - SETTINGS - - - l - Log test runs/results as they are run - - - q - Only display detail for failed tests - - - s - Display simple output for all tests - - - p - Treat parameters as installed packages from which to run tests - - - u - Search parameters for AllTests.php, and use that to run phpunit-based tests -If none is found, all .phpt tests will be tried instead. - - - t - Output run-tests.log in TAP-compliant format - - - c - CGI php executable (needed for tests with POST/GET section) - PHPCGI - - - x - Generate a code coverage report (requires Xdebug 2.0.0+) - - - [testfile|dir ...] -Run regression tests with PHP's regression testing script (run-tests.php). - - \ No newline at end of file diff --git a/3rdparty/PEAR/Common.php b/3rdparty/PEAR/Common.php deleted file mode 100644 index 83f2de742ac0e68db714cb5cd056e2c76495c4a3..0000000000000000000000000000000000000000 --- a/3rdparty/PEAR/Common.php +++ /dev/null @@ -1,837 +0,0 @@ - - * @author Tomas V. V. Cox - * @author Greg Beaver - * @copyright 1997-2009 The Authors - * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: Common.php 313023 2011-07-06 19:17:11Z dufuz $ - * @link http://pear.php.net/package/PEAR - * @since File available since Release 0.1.0 - * @deprecated File deprecated since Release 1.4.0a1 - */ - -/** - * Include error handling - */ -require_once 'PEAR.php'; - -/** - * PEAR_Common error when an invalid PHP file is passed to PEAR_Common::analyzeSourceCode() - */ -define('PEAR_COMMON_ERROR_INVALIDPHP', 1); -define('_PEAR_COMMON_PACKAGE_NAME_PREG', '[A-Za-z][a-zA-Z0-9_]+'); -define('PEAR_COMMON_PACKAGE_NAME_PREG', '/^' . _PEAR_COMMON_PACKAGE_NAME_PREG . '\\z/'); - -// this should allow: 1, 1.0, 1.0RC1, 1.0dev, 1.0dev123234234234, 1.0a1, 1.0b1, 1.0pl1 -define('_PEAR_COMMON_PACKAGE_VERSION_PREG', '\d+(?:\.\d+)*(?:[a-zA-Z]+\d*)?'); -define('PEAR_COMMON_PACKAGE_VERSION_PREG', '/^' . _PEAR_COMMON_PACKAGE_VERSION_PREG . '\\z/i'); - -// XXX far from perfect :-) -define('_PEAR_COMMON_PACKAGE_DOWNLOAD_PREG', '(' . _PEAR_COMMON_PACKAGE_NAME_PREG . - ')(-([.0-9a-zA-Z]+))?'); -define('PEAR_COMMON_PACKAGE_DOWNLOAD_PREG', '/^' . _PEAR_COMMON_PACKAGE_DOWNLOAD_PREG . - '\\z/'); - -define('_PEAR_CHANNELS_NAME_PREG', '[A-Za-z][a-zA-Z0-9\.]+'); -define('PEAR_CHANNELS_NAME_PREG', '/^' . _PEAR_CHANNELS_NAME_PREG . '\\z/'); - -// this should allow any dns or IP address, plus a path - NO UNDERSCORES ALLOWED -define('_PEAR_CHANNELS_SERVER_PREG', '[a-zA-Z0-9\-]+(?:\.[a-zA-Z0-9\-]+)*(\/[a-zA-Z0-9\-]+)*'); -define('PEAR_CHANNELS_SERVER_PREG', '/^' . _PEAR_CHANNELS_SERVER_PREG . '\\z/i'); - -define('_PEAR_CHANNELS_PACKAGE_PREG', '(' ._PEAR_CHANNELS_SERVER_PREG . ')\/(' - . _PEAR_COMMON_PACKAGE_NAME_PREG . ')'); -define('PEAR_CHANNELS_PACKAGE_PREG', '/^' . _PEAR_CHANNELS_PACKAGE_PREG . '\\z/i'); - -define('_PEAR_COMMON_CHANNEL_DOWNLOAD_PREG', '(' . _PEAR_CHANNELS_NAME_PREG . ')::(' - . _PEAR_COMMON_PACKAGE_NAME_PREG . ')(-([.0-9a-zA-Z]+))?'); -define('PEAR_COMMON_CHANNEL_DOWNLOAD_PREG', '/^' . _PEAR_COMMON_CHANNEL_DOWNLOAD_PREG . '\\z/'); - -/** - * List of temporary files and directories registered by - * PEAR_Common::addTempFile(). - * @var array - */ -$GLOBALS['_PEAR_Common_tempfiles'] = array(); - -/** - * Valid maintainer roles - * @var array - */ -$GLOBALS['_PEAR_Common_maintainer_roles'] = array('lead','developer','contributor','helper'); - -/** - * Valid release states - * @var array - */ -$GLOBALS['_PEAR_Common_release_states'] = array('alpha','beta','stable','snapshot','devel'); - -/** - * Valid dependency types - * @var array - */ -$GLOBALS['_PEAR_Common_dependency_types'] = array('pkg','ext','php','prog','ldlib','rtlib','os','websrv','sapi'); - -/** - * Valid dependency relations - * @var array - */ -$GLOBALS['_PEAR_Common_dependency_relations'] = array('has','eq','lt','le','gt','ge','not', 'ne'); - -/** - * Valid file roles - * @var array - */ -$GLOBALS['_PEAR_Common_file_roles'] = array('php','ext','test','doc','data','src','script'); - -/** - * Valid replacement types - * @var array - */ -$GLOBALS['_PEAR_Common_replacement_types'] = array('php-const', 'pear-config', 'package-info'); - -/** - * Valid "provide" types - * @var array - */ -$GLOBALS['_PEAR_Common_provide_types'] = array('ext', 'prog', 'class', 'function', 'feature', 'api'); - -/** - * Valid "provide" types - * @var array - */ -$GLOBALS['_PEAR_Common_script_phases'] = array('pre-install', 'post-install', 'pre-uninstall', 'post-uninstall', 'pre-build', 'post-build', 'pre-configure', 'post-configure', 'pre-setup', 'post-setup'); - -/** - * Class providing common functionality for PEAR administration classes. - * @category pear - * @package PEAR - * @author Stig Bakken - * @author Tomas V. V. Cox - * @author Greg Beaver - * @copyright 1997-2009 The Authors - * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.4 - * @link http://pear.php.net/package/PEAR - * @since Class available since Release 1.4.0a1 - * @deprecated This class will disappear, and its components will be spread - * into smaller classes, like the AT&T breakup, as of Release 1.4.0a1 - */ -class PEAR_Common extends PEAR -{ - /** - * User Interface object (PEAR_Frontend_* class). If null, - * the log() method uses print. - * @var object - */ - var $ui = null; - - /** - * Configuration object (PEAR_Config). - * @var PEAR_Config - */ - var $config = null; - - /** stack of elements, gives some sort of XML context */ - var $element_stack = array(); - - /** name of currently parsed XML element */ - var $current_element; - - /** array of attributes of the currently parsed XML element */ - var $current_attributes = array(); - - /** assoc with information about a package */ - var $pkginfo = array(); - - var $current_path = null; - - /** - * Flag variable used to mark a valid package file - * @var boolean - * @access private - */ - var $_validPackageFile; - - /** - * PEAR_Common constructor - * - * @access public - */ - function PEAR_Common() - { - parent::PEAR(); - $this->config = PEAR_Config::singleton(); - $this->debug = $this->config->get('verbose'); - } - - /** - * PEAR_Common destructor - * - * @access private - */ - function _PEAR_Common() - { - // doesn't work due to bug #14744 - //$tempfiles = $this->_tempfiles; - $tempfiles =& $GLOBALS['_PEAR_Common_tempfiles']; - while ($file = array_shift($tempfiles)) { - if (@is_dir($file)) { - if (!class_exists('System')) { - require_once 'System.php'; - } - - System::rm(array('-rf', $file)); - } elseif (file_exists($file)) { - unlink($file); - } - } - } - - /** - * Register a temporary file or directory. When the destructor is - * executed, all registered temporary files and directories are - * removed. - * - * @param string $file name of file or directory - * - * @return void - * - * @access public - */ - function addTempFile($file) - { - if (!class_exists('PEAR_Frontend')) { - require_once 'PEAR/Frontend.php'; - } - PEAR_Frontend::addTempFile($file); - } - - /** - * Wrapper to System::mkDir(), creates a directory as well as - * any necessary parent directories. - * - * @param string $dir directory name - * - * @return bool TRUE on success, or a PEAR error - * - * @access public - */ - function mkDirHier($dir) - { - // Only used in Installer - move it there ? - $this->log(2, "+ create dir $dir"); - if (!class_exists('System')) { - require_once 'System.php'; - } - return System::mkDir(array('-p', $dir)); - } - - /** - * Logging method. - * - * @param int $level log level (0 is quiet, higher is noisier) - * @param string $msg message to write to the log - * - * @return void - * - * @access public - * @static - */ - function log($level, $msg, $append_crlf = true) - { - if ($this->debug >= $level) { - if (!class_exists('PEAR_Frontend')) { - require_once 'PEAR/Frontend.php'; - } - - $ui = &PEAR_Frontend::singleton(); - if (is_a($ui, 'PEAR_Frontend')) { - $ui->log($msg, $append_crlf); - } else { - print "$msg\n"; - } - } - } - - /** - * Create and register a temporary directory. - * - * @param string $tmpdir (optional) Directory to use as tmpdir. - * Will use system defaults (for example - * /tmp or c:\windows\temp) if not specified - * - * @return string name of created directory - * - * @access public - */ - function mkTempDir($tmpdir = '') - { - $topt = $tmpdir ? array('-t', $tmpdir) : array(); - $topt = array_merge($topt, array('-d', 'pear')); - if (!class_exists('System')) { - require_once 'System.php'; - } - - if (!$tmpdir = System::mktemp($topt)) { - return false; - } - - $this->addTempFile($tmpdir); - return $tmpdir; - } - - /** - * Set object that represents the frontend to be used. - * - * @param object Reference of the frontend object - * @return void - * @access public - */ - function setFrontendObject(&$ui) - { - $this->ui = &$ui; - } - - /** - * Return an array containing all of the states that are more stable than - * or equal to the passed in state - * - * @param string Release state - * @param boolean Determines whether to include $state in the list - * @return false|array False if $state is not a valid release state - */ - function betterStates($state, $include = false) - { - static $states = array('snapshot', 'devel', 'alpha', 'beta', 'stable'); - $i = array_search($state, $states); - if ($i === false) { - return false; - } - if ($include) { - $i--; - } - return array_slice($states, $i + 1); - } - - /** - * Get the valid roles for a PEAR package maintainer - * - * @return array - * @static - */ - function getUserRoles() - { - return $GLOBALS['_PEAR_Common_maintainer_roles']; - } - - /** - * Get the valid package release states of packages - * - * @return array - * @static - */ - function getReleaseStates() - { - return $GLOBALS['_PEAR_Common_release_states']; - } - - /** - * Get the implemented dependency types (php, ext, pkg etc.) - * - * @return array - * @static - */ - function getDependencyTypes() - { - return $GLOBALS['_PEAR_Common_dependency_types']; - } - - /** - * Get the implemented dependency relations (has, lt, ge etc.) - * - * @return array - * @static - */ - function getDependencyRelations() - { - return $GLOBALS['_PEAR_Common_dependency_relations']; - } - - /** - * Get the implemented file roles - * - * @return array - * @static - */ - function getFileRoles() - { - return $GLOBALS['_PEAR_Common_file_roles']; - } - - /** - * Get the implemented file replacement types in - * - * @return array - * @static - */ - function getReplacementTypes() - { - return $GLOBALS['_PEAR_Common_replacement_types']; - } - - /** - * Get the implemented file replacement types in - * - * @return array - * @static - */ - function getProvideTypes() - { - return $GLOBALS['_PEAR_Common_provide_types']; - } - - /** - * Get the implemented file replacement types in - * - * @return array - * @static - */ - function getScriptPhases() - { - return $GLOBALS['_PEAR_Common_script_phases']; - } - - /** - * Test whether a string contains a valid package name. - * - * @param string $name the package name to test - * - * @return bool - * - * @access public - */ - function validPackageName($name) - { - return (bool)preg_match(PEAR_COMMON_PACKAGE_NAME_PREG, $name); - } - - /** - * Test whether a string contains a valid package version. - * - * @param string $ver the package version to test - * - * @return bool - * - * @access public - */ - function validPackageVersion($ver) - { - return (bool)preg_match(PEAR_COMMON_PACKAGE_VERSION_PREG, $ver); - } - - /** - * @param string $path relative or absolute include path - * @return boolean - * @static - */ - function isIncludeable($path) - { - if (file_exists($path) && is_readable($path)) { - return true; - } - - $ipath = explode(PATH_SEPARATOR, ini_get('include_path')); - foreach ($ipath as $include) { - $test = realpath($include . DIRECTORY_SEPARATOR . $path); - if (file_exists($test) && is_readable($test)) { - return true; - } - } - - return false; - } - - function _postProcessChecks($pf) - { - if (!PEAR::isError($pf)) { - return $this->_postProcessValidPackagexml($pf); - } - - $errs = $pf->getUserinfo(); - if (is_array($errs)) { - foreach ($errs as $error) { - $e = $this->raiseError($error['message'], $error['code'], null, null, $error); - } - } - - return $pf; - } - - /** - * Returns information about a package file. Expects the name of - * a gzipped tar file as input. - * - * @param string $file name of .tgz file - * - * @return array array with package information - * - * @access public - * @deprecated use PEAR_PackageFile->fromTgzFile() instead - * - */ - function infoFromTgzFile($file) - { - $packagefile = &new PEAR_PackageFile($this->config); - $pf = &$packagefile->fromTgzFile($file, PEAR_VALIDATE_NORMAL); - return $this->_postProcessChecks($pf); - } - - /** - * Returns information about a package file. Expects the name of - * a package xml file as input. - * - * @param string $descfile name of package xml file - * - * @return array array with package information - * - * @access public - * @deprecated use PEAR_PackageFile->fromPackageFile() instead - * - */ - function infoFromDescriptionFile($descfile) - { - $packagefile = &new PEAR_PackageFile($this->config); - $pf = &$packagefile->fromPackageFile($descfile, PEAR_VALIDATE_NORMAL); - return $this->_postProcessChecks($pf); - } - - /** - * Returns information about a package file. Expects the contents - * of a package xml file as input. - * - * @param string $data contents of package.xml file - * - * @return array array with package information - * - * @access public - * @deprecated use PEAR_PackageFile->fromXmlstring() instead - * - */ - function infoFromString($data) - { - $packagefile = &new PEAR_PackageFile($this->config); - $pf = &$packagefile->fromXmlString($data, PEAR_VALIDATE_NORMAL, false); - return $this->_postProcessChecks($pf); - } - - /** - * @param PEAR_PackageFile_v1|PEAR_PackageFile_v2 - * @return array - */ - function _postProcessValidPackagexml(&$pf) - { - if (!is_a($pf, 'PEAR_PackageFile_v2')) { - $this->pkginfo = $pf->toArray(); - return $this->pkginfo; - } - - // sort of make this into a package.xml 1.0-style array - // changelog is not converted to old format. - $arr = $pf->toArray(true); - $arr = array_merge($arr, $arr['old']); - unset($arr['old'], $arr['xsdversion'], $arr['contents'], $arr['compatible'], - $arr['channel'], $arr['uri'], $arr['dependencies'], $arr['phprelease'], - $arr['extsrcrelease'], $arr['zendextsrcrelease'], $arr['extbinrelease'], - $arr['zendextbinrelease'], $arr['bundle'], $arr['lead'], $arr['developer'], - $arr['helper'], $arr['contributor']); - $arr['filelist'] = $pf->getFilelist(); - $this->pkginfo = $arr; - return $arr; - } - - /** - * Returns package information from different sources - * - * This method is able to extract information about a package - * from a .tgz archive or from a XML package definition file. - * - * @access public - * @param string Filename of the source ('package.xml', '.tgz') - * @return string - * @deprecated use PEAR_PackageFile->fromAnyFile() instead - */ - function infoFromAny($info) - { - if (is_string($info) && file_exists($info)) { - $packagefile = &new PEAR_PackageFile($this->config); - $pf = &$packagefile->fromAnyFile($info, PEAR_VALIDATE_NORMAL); - if (PEAR::isError($pf)) { - $errs = $pf->getUserinfo(); - if (is_array($errs)) { - foreach ($errs as $error) { - $e = $this->raiseError($error['message'], $error['code'], null, null, $error); - } - } - - return $pf; - } - - return $this->_postProcessValidPackagexml($pf); - } - - return $info; - } - - /** - * Return an XML document based on the package info (as returned - * by the PEAR_Common::infoFrom* methods). - * - * @param array $pkginfo package info - * - * @return string XML data - * - * @access public - * @deprecated use a PEAR_PackageFile_v* object's generator instead - */ - function xmlFromInfo($pkginfo) - { - $config = &PEAR_Config::singleton(); - $packagefile = &new PEAR_PackageFile($config); - $pf = &$packagefile->fromArray($pkginfo); - $gen = &$pf->getDefaultGenerator(); - return $gen->toXml(PEAR_VALIDATE_PACKAGING); - } - - /** - * Validate XML package definition file. - * - * @param string $info Filename of the package archive or of the - * package definition file - * @param array $errors Array that will contain the errors - * @param array $warnings Array that will contain the warnings - * @param string $dir_prefix (optional) directory where source files - * may be found, or empty if they are not available - * @access public - * @return boolean - * @deprecated use the validation of PEAR_PackageFile objects - */ - function validatePackageInfo($info, &$errors, &$warnings, $dir_prefix = '') - { - $config = &PEAR_Config::singleton(); - $packagefile = &new PEAR_PackageFile($config); - PEAR::staticPushErrorHandling(PEAR_ERROR_RETURN); - if (strpos($info, 'fromXmlString($info, PEAR_VALIDATE_NORMAL, ''); - } else { - $pf = &$packagefile->fromAnyFile($info, PEAR_VALIDATE_NORMAL); - } - - PEAR::staticPopErrorHandling(); - if (PEAR::isError($pf)) { - $errs = $pf->getUserinfo(); - if (is_array($errs)) { - foreach ($errs as $error) { - if ($error['level'] == 'error') { - $errors[] = $error['message']; - } else { - $warnings[] = $error['message']; - } - } - } - - return false; - } - - return true; - } - - /** - * Build a "provides" array from data returned by - * analyzeSourceCode(). The format of the built array is like - * this: - * - * array( - * 'class;MyClass' => 'array('type' => 'class', 'name' => 'MyClass'), - * ... - * ) - * - * - * @param array $srcinfo array with information about a source file - * as returned by the analyzeSourceCode() method. - * - * @return void - * - * @access public - * - */ - function buildProvidesArray($srcinfo) - { - $file = basename($srcinfo['source_file']); - $pn = ''; - if (isset($this->_packageName)) { - $pn = $this->_packageName; - } - - $pnl = strlen($pn); - foreach ($srcinfo['declared_classes'] as $class) { - $key = "class;$class"; - if (isset($this->pkginfo['provides'][$key])) { - continue; - } - - $this->pkginfo['provides'][$key] = - array('file'=> $file, 'type' => 'class', 'name' => $class); - if (isset($srcinfo['inheritance'][$class])) { - $this->pkginfo['provides'][$key]['extends'] = - $srcinfo['inheritance'][$class]; - } - } - - foreach ($srcinfo['declared_methods'] as $class => $methods) { - foreach ($methods as $method) { - $function = "$class::$method"; - $key = "function;$function"; - if ($method{0} == '_' || !strcasecmp($method, $class) || - isset($this->pkginfo['provides'][$key])) { - continue; - } - - $this->pkginfo['provides'][$key] = - array('file'=> $file, 'type' => 'function', 'name' => $function); - } - } - - foreach ($srcinfo['declared_functions'] as $function) { - $key = "function;$function"; - if ($function{0} == '_' || isset($this->pkginfo['provides'][$key])) { - continue; - } - - if (!strstr($function, '::') && strncasecmp($function, $pn, $pnl)) { - $warnings[] = "in1 " . $file . ": function \"$function\" not prefixed with package name \"$pn\""; - } - - $this->pkginfo['provides'][$key] = - array('file'=> $file, 'type' => 'function', 'name' => $function); - } - } - - /** - * Analyze the source code of the given PHP file - * - * @param string Filename of the PHP file - * @return mixed - * @access public - */ - function analyzeSourceCode($file) - { - if (!class_exists('PEAR_PackageFile_v2_Validator')) { - require_once 'PEAR/PackageFile/v2/Validator.php'; - } - - $a = new PEAR_PackageFile_v2_Validator; - return $a->analyzeSourceCode($file); - } - - function detectDependencies($any, $status_callback = null) - { - if (!function_exists("token_get_all")) { - return false; - } - - if (PEAR::isError($info = $this->infoFromAny($any))) { - return $this->raiseError($info); - } - - if (!is_array($info)) { - return false; - } - - $deps = array(); - $used_c = $decl_c = $decl_f = $decl_m = array(); - foreach ($info['filelist'] as $file => $fa) { - $tmp = $this->analyzeSourceCode($file); - $used_c = @array_merge($used_c, $tmp['used_classes']); - $decl_c = @array_merge($decl_c, $tmp['declared_classes']); - $decl_f = @array_merge($decl_f, $tmp['declared_functions']); - $decl_m = @array_merge($decl_m, $tmp['declared_methods']); - $inheri = @array_merge($inheri, $tmp['inheritance']); - } - - $used_c = array_unique($used_c); - $decl_c = array_unique($decl_c); - $undecl_c = array_diff($used_c, $decl_c); - - return array('used_classes' => $used_c, - 'declared_classes' => $decl_c, - 'declared_methods' => $decl_m, - 'declared_functions' => $decl_f, - 'undeclared_classes' => $undecl_c, - 'inheritance' => $inheri, - ); - } - - /** - * Download a file through HTTP. Considers suggested file name in - * Content-disposition: header and can run a callback function for - * different events. The callback will be called with two - * parameters: the callback type, and parameters. The implemented - * callback types are: - * - * 'setup' called at the very beginning, parameter is a UI object - * that should be used for all output - * 'message' the parameter is a string with an informational message - * 'saveas' may be used to save with a different file name, the - * parameter is the filename that is about to be used. - * If a 'saveas' callback returns a non-empty string, - * that file name will be used as the filename instead. - * Note that $save_dir will not be affected by this, only - * the basename of the file. - * 'start' download is starting, parameter is number of bytes - * that are expected, or -1 if unknown - * 'bytesread' parameter is the number of bytes read so far - * 'done' download is complete, parameter is the total number - * of bytes read - * 'connfailed' if the TCP connection fails, this callback is called - * with array(host,port,errno,errmsg) - * 'writefailed' if writing to disk fails, this callback is called - * with array(destfile,errmsg) - * - * If an HTTP proxy has been configured (http_proxy PEAR_Config - * setting), the proxy will be used. - * - * @param string $url the URL to download - * @param object $ui PEAR_Frontend_* instance - * @param object $config PEAR_Config instance - * @param string $save_dir (optional) directory to save file in - * @param mixed $callback (optional) function/method to call for status - * updates - * - * @return string Returns the full path of the downloaded file or a PEAR - * error on failure. If the error is caused by - * socket-related errors, the error object will - * have the fsockopen error code available through - * getCode(). - * - * @access public - * @deprecated in favor of PEAR_Downloader::downloadHttp() - */ - function downloadHttp($url, &$ui, $save_dir = '.', $callback = null) - { - if (!class_exists('PEAR_Downloader')) { - require_once 'PEAR/Downloader.php'; - } - return PEAR_Downloader::downloadHttp($url, $ui, $save_dir, $callback); - } -} - -require_once 'PEAR/Config.php'; -require_once 'PEAR/PackageFile.php'; \ No newline at end of file diff --git a/3rdparty/PEAR/Config.php b/3rdparty/PEAR/Config.php deleted file mode 100644 index 86a7db3f32f3a9768f4df111db4788fc61692dbb..0000000000000000000000000000000000000000 --- a/3rdparty/PEAR/Config.php +++ /dev/null @@ -1,2097 +0,0 @@ - - * @author Greg Beaver - * @copyright 1997-2009 The Authors - * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: Config.php 313023 2011-07-06 19:17:11Z dufuz $ - * @link http://pear.php.net/package/PEAR - * @since File available since Release 0.1 - */ - -/** - * Required for error handling - */ -require_once 'PEAR.php'; -require_once 'PEAR/Registry.php'; -require_once 'PEAR/Installer/Role.php'; -require_once 'System.php'; - -/** - * Last created PEAR_Config instance. - * @var object - */ -$GLOBALS['_PEAR_Config_instance'] = null; -if (!defined('PEAR_INSTALL_DIR') || !PEAR_INSTALL_DIR) { - $PEAR_INSTALL_DIR = PHP_LIBDIR . DIRECTORY_SEPARATOR . 'pear'; -} else { - $PEAR_INSTALL_DIR = PEAR_INSTALL_DIR; -} - -// Below we define constants with default values for all configuration -// parameters except username/password. All of them can have their -// defaults set through environment variables. The reason we use the -// PHP_ prefix is for some security, PHP protects environment -// variables starting with PHP_*. - -// default channel and preferred mirror is based on whether we are invoked through -// the "pear" or the "pecl" command -if (!defined('PEAR_RUNTYPE')) { - define('PEAR_RUNTYPE', 'pear'); -} - -if (PEAR_RUNTYPE == 'pear') { - define('PEAR_CONFIG_DEFAULT_CHANNEL', 'pear.php.net'); -} else { - define('PEAR_CONFIG_DEFAULT_CHANNEL', 'pecl.php.net'); -} - -if (getenv('PHP_PEAR_SYSCONF_DIR')) { - define('PEAR_CONFIG_SYSCONFDIR', getenv('PHP_PEAR_SYSCONF_DIR')); -} elseif (getenv('SystemRoot')) { - define('PEAR_CONFIG_SYSCONFDIR', getenv('SystemRoot')); -} else { - define('PEAR_CONFIG_SYSCONFDIR', PHP_SYSCONFDIR); -} - -// Default for master_server -if (getenv('PHP_PEAR_MASTER_SERVER')) { - define('PEAR_CONFIG_DEFAULT_MASTER_SERVER', getenv('PHP_PEAR_MASTER_SERVER')); -} else { - define('PEAR_CONFIG_DEFAULT_MASTER_SERVER', 'pear.php.net'); -} - -// Default for http_proxy -if (getenv('PHP_PEAR_HTTP_PROXY')) { - define('PEAR_CONFIG_DEFAULT_HTTP_PROXY', getenv('PHP_PEAR_HTTP_PROXY')); -} elseif (getenv('http_proxy')) { - define('PEAR_CONFIG_DEFAULT_HTTP_PROXY', getenv('http_proxy')); -} else { - define('PEAR_CONFIG_DEFAULT_HTTP_PROXY', ''); -} - -// Default for php_dir -if (getenv('PHP_PEAR_INSTALL_DIR')) { - define('PEAR_CONFIG_DEFAULT_PHP_DIR', getenv('PHP_PEAR_INSTALL_DIR')); -} else { - if (@file_exists($PEAR_INSTALL_DIR) && is_dir($PEAR_INSTALL_DIR)) { - define('PEAR_CONFIG_DEFAULT_PHP_DIR', $PEAR_INSTALL_DIR); - } else { - define('PEAR_CONFIG_DEFAULT_PHP_DIR', $PEAR_INSTALL_DIR); - } -} - -// Default for ext_dir -if (getenv('PHP_PEAR_EXTENSION_DIR')) { - define('PEAR_CONFIG_DEFAULT_EXT_DIR', getenv('PHP_PEAR_EXTENSION_DIR')); -} else { - if (ini_get('extension_dir')) { - define('PEAR_CONFIG_DEFAULT_EXT_DIR', ini_get('extension_dir')); - } elseif (defined('PEAR_EXTENSION_DIR') && - file_exists(PEAR_EXTENSION_DIR) && is_dir(PEAR_EXTENSION_DIR)) { - define('PEAR_CONFIG_DEFAULT_EXT_DIR', PEAR_EXTENSION_DIR); - } elseif (defined('PHP_EXTENSION_DIR')) { - define('PEAR_CONFIG_DEFAULT_EXT_DIR', PHP_EXTENSION_DIR); - } else { - define('PEAR_CONFIG_DEFAULT_EXT_DIR', '.'); - } -} - -// Default for doc_dir -if (getenv('PHP_PEAR_DOC_DIR')) { - define('PEAR_CONFIG_DEFAULT_DOC_DIR', getenv('PHP_PEAR_DOC_DIR')); -} else { - define('PEAR_CONFIG_DEFAULT_DOC_DIR', - $PEAR_INSTALL_DIR.DIRECTORY_SEPARATOR.'docs'); -} - -// Default for bin_dir -if (getenv('PHP_PEAR_BIN_DIR')) { - define('PEAR_CONFIG_DEFAULT_BIN_DIR', getenv('PHP_PEAR_BIN_DIR')); -} else { - define('PEAR_CONFIG_DEFAULT_BIN_DIR', PHP_BINDIR); -} - -// Default for data_dir -if (getenv('PHP_PEAR_DATA_DIR')) { - define('PEAR_CONFIG_DEFAULT_DATA_DIR', getenv('PHP_PEAR_DATA_DIR')); -} else { - define('PEAR_CONFIG_DEFAULT_DATA_DIR', - $PEAR_INSTALL_DIR.DIRECTORY_SEPARATOR.'data'); -} - -// Default for cfg_dir -if (getenv('PHP_PEAR_CFG_DIR')) { - define('PEAR_CONFIG_DEFAULT_CFG_DIR', getenv('PHP_PEAR_CFG_DIR')); -} else { - define('PEAR_CONFIG_DEFAULT_CFG_DIR', - $PEAR_INSTALL_DIR.DIRECTORY_SEPARATOR.'cfg'); -} - -// Default for www_dir -if (getenv('PHP_PEAR_WWW_DIR')) { - define('PEAR_CONFIG_DEFAULT_WWW_DIR', getenv('PHP_PEAR_WWW_DIR')); -} else { - define('PEAR_CONFIG_DEFAULT_WWW_DIR', - $PEAR_INSTALL_DIR.DIRECTORY_SEPARATOR.'www'); -} - -// Default for test_dir -if (getenv('PHP_PEAR_TEST_DIR')) { - define('PEAR_CONFIG_DEFAULT_TEST_DIR', getenv('PHP_PEAR_TEST_DIR')); -} else { - define('PEAR_CONFIG_DEFAULT_TEST_DIR', - $PEAR_INSTALL_DIR.DIRECTORY_SEPARATOR.'tests'); -} - -// Default for temp_dir -if (getenv('PHP_PEAR_TEMP_DIR')) { - define('PEAR_CONFIG_DEFAULT_TEMP_DIR', getenv('PHP_PEAR_TEMP_DIR')); -} else { - define('PEAR_CONFIG_DEFAULT_TEMP_DIR', - System::tmpdir() . DIRECTORY_SEPARATOR . 'pear' . - DIRECTORY_SEPARATOR . 'temp'); -} - -// Default for cache_dir -if (getenv('PHP_PEAR_CACHE_DIR')) { - define('PEAR_CONFIG_DEFAULT_CACHE_DIR', getenv('PHP_PEAR_CACHE_DIR')); -} else { - define('PEAR_CONFIG_DEFAULT_CACHE_DIR', - System::tmpdir() . DIRECTORY_SEPARATOR . 'pear' . - DIRECTORY_SEPARATOR . 'cache'); -} - -// Default for download_dir -if (getenv('PHP_PEAR_DOWNLOAD_DIR')) { - define('PEAR_CONFIG_DEFAULT_DOWNLOAD_DIR', getenv('PHP_PEAR_DOWNLOAD_DIR')); -} else { - define('PEAR_CONFIG_DEFAULT_DOWNLOAD_DIR', - System::tmpdir() . DIRECTORY_SEPARATOR . 'pear' . - DIRECTORY_SEPARATOR . 'download'); -} - -// Default for php_bin -if (getenv('PHP_PEAR_PHP_BIN')) { - define('PEAR_CONFIG_DEFAULT_PHP_BIN', getenv('PHP_PEAR_PHP_BIN')); -} else { - define('PEAR_CONFIG_DEFAULT_PHP_BIN', PEAR_CONFIG_DEFAULT_BIN_DIR. - DIRECTORY_SEPARATOR.'php'.(OS_WINDOWS ? '.exe' : '')); -} - -// Default for verbose -if (getenv('PHP_PEAR_VERBOSE')) { - define('PEAR_CONFIG_DEFAULT_VERBOSE', getenv('PHP_PEAR_VERBOSE')); -} else { - define('PEAR_CONFIG_DEFAULT_VERBOSE', 1); -} - -// Default for preferred_state -if (getenv('PHP_PEAR_PREFERRED_STATE')) { - define('PEAR_CONFIG_DEFAULT_PREFERRED_STATE', getenv('PHP_PEAR_PREFERRED_STATE')); -} else { - define('PEAR_CONFIG_DEFAULT_PREFERRED_STATE', 'stable'); -} - -// Default for umask -if (getenv('PHP_PEAR_UMASK')) { - define('PEAR_CONFIG_DEFAULT_UMASK', getenv('PHP_PEAR_UMASK')); -} else { - define('PEAR_CONFIG_DEFAULT_UMASK', decoct(umask())); -} - -// Default for cache_ttl -if (getenv('PHP_PEAR_CACHE_TTL')) { - define('PEAR_CONFIG_DEFAULT_CACHE_TTL', getenv('PHP_PEAR_CACHE_TTL')); -} else { - define('PEAR_CONFIG_DEFAULT_CACHE_TTL', 3600); -} - -// Default for sig_type -if (getenv('PHP_PEAR_SIG_TYPE')) { - define('PEAR_CONFIG_DEFAULT_SIG_TYPE', getenv('PHP_PEAR_SIG_TYPE')); -} else { - define('PEAR_CONFIG_DEFAULT_SIG_TYPE', 'gpg'); -} - -// Default for sig_bin -if (getenv('PHP_PEAR_SIG_BIN')) { - define('PEAR_CONFIG_DEFAULT_SIG_BIN', getenv('PHP_PEAR_SIG_BIN')); -} else { - define('PEAR_CONFIG_DEFAULT_SIG_BIN', - System::which( - 'gpg', OS_WINDOWS ? 'c:\gnupg\gpg.exe' : '/usr/local/bin/gpg')); -} - -// Default for sig_keydir -if (getenv('PHP_PEAR_SIG_KEYDIR')) { - define('PEAR_CONFIG_DEFAULT_SIG_KEYDIR', getenv('PHP_PEAR_SIG_KEYDIR')); -} else { - define('PEAR_CONFIG_DEFAULT_SIG_KEYDIR', - PEAR_CONFIG_SYSCONFDIR . DIRECTORY_SEPARATOR . 'pearkeys'); -} - -/** - * This is a class for storing configuration data, keeping track of - * which are system-defined, user-defined or defaulted. - * @category pear - * @package PEAR - * @author Stig Bakken - * @author Greg Beaver - * @copyright 1997-2009 The Authors - * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.4 - * @link http://pear.php.net/package/PEAR - * @since Class available since Release 0.1 - */ -class PEAR_Config extends PEAR -{ - /** - * Array of config files used. - * - * @var array layer => config file - */ - var $files = array( - 'system' => '', - 'user' => '', - ); - - var $layers = array(); - - /** - * Configuration data, two-dimensional array where the first - * dimension is the config layer ('user', 'system' and 'default'), - * and the second dimension is keyname => value. - * - * The order in the first dimension is important! Earlier - * layers will shadow later ones when a config value is - * requested (if a 'user' value exists, it will be returned first, - * then 'system' and finally 'default'). - * - * @var array layer => array(keyname => value, ...) - */ - var $configuration = array( - 'user' => array(), - 'system' => array(), - 'default' => array(), - ); - - /** - * Configuration values that can be set for a channel - * - * All other configuration values can only have a global value - * @var array - * @access private - */ - var $_channelConfigInfo = array( - 'php_dir', 'ext_dir', 'doc_dir', 'bin_dir', 'data_dir', 'cfg_dir', - 'test_dir', 'www_dir', 'php_bin', 'php_prefix', 'php_suffix', 'username', - 'password', 'verbose', 'preferred_state', 'umask', 'preferred_mirror', 'php_ini' - ); - - /** - * Channels that can be accessed - * @see setChannels() - * @var array - * @access private - */ - var $_channels = array('pear.php.net', 'pecl.php.net', '__uri'); - - /** - * This variable is used to control the directory values returned - * @see setInstallRoot(); - * @var string|false - * @access private - */ - var $_installRoot = false; - - /** - * If requested, this will always refer to the registry - * contained in php_dir - * @var PEAR_Registry - */ - var $_registry = array(); - - /** - * @var array - * @access private - */ - var $_regInitialized = array(); - - /** - * @var bool - * @access private - */ - var $_noRegistry = false; - - /** - * amount of errors found while parsing config - * @var integer - * @access private - */ - var $_errorsFound = 0; - var $_lastError = null; - - /** - * Information about the configuration data. Stores the type, - * default value and a documentation string for each configuration - * value. - * - * @var array layer => array(infotype => value, ...) - */ - var $configuration_info = array( - // Channels/Internet Access - 'default_channel' => array( - 'type' => 'string', - 'default' => PEAR_CONFIG_DEFAULT_CHANNEL, - 'doc' => 'the default channel to use for all non explicit commands', - 'prompt' => 'Default Channel', - 'group' => 'Internet Access', - ), - 'preferred_mirror' => array( - 'type' => 'string', - 'default' => PEAR_CONFIG_DEFAULT_CHANNEL, - 'doc' => 'the default server or mirror to use for channel actions', - 'prompt' => 'Default Channel Mirror', - 'group' => 'Internet Access', - ), - 'remote_config' => array( - 'type' => 'password', - 'default' => '', - 'doc' => 'ftp url of remote configuration file to use for synchronized install', - 'prompt' => 'Remote Configuration File', - 'group' => 'Internet Access', - ), - 'auto_discover' => array( - 'type' => 'integer', - 'default' => 0, - 'doc' => 'whether to automatically discover new channels', - 'prompt' => 'Auto-discover new Channels', - 'group' => 'Internet Access', - ), - // Internet Access - 'master_server' => array( - 'type' => 'string', - 'default' => 'pear.php.net', - 'doc' => 'name of the main PEAR server [NOT USED IN THIS VERSION]', - 'prompt' => 'PEAR server [DEPRECATED]', - 'group' => 'Internet Access', - ), - 'http_proxy' => array( - 'type' => 'string', - 'default' => PEAR_CONFIG_DEFAULT_HTTP_PROXY, - 'doc' => 'HTTP proxy (host:port) to use when downloading packages', - 'prompt' => 'HTTP Proxy Server Address', - 'group' => 'Internet Access', - ), - // File Locations - 'php_dir' => array( - 'type' => 'directory', - 'default' => PEAR_CONFIG_DEFAULT_PHP_DIR, - 'doc' => 'directory where .php files are installed', - 'prompt' => 'PEAR directory', - 'group' => 'File Locations', - ), - 'ext_dir' => array( - 'type' => 'directory', - 'default' => PEAR_CONFIG_DEFAULT_EXT_DIR, - 'doc' => 'directory where loadable extensions are installed', - 'prompt' => 'PHP extension directory', - 'group' => 'File Locations', - ), - 'doc_dir' => array( - 'type' => 'directory', - 'default' => PEAR_CONFIG_DEFAULT_DOC_DIR, - 'doc' => 'directory where documentation is installed', - 'prompt' => 'PEAR documentation directory', - 'group' => 'File Locations', - ), - 'bin_dir' => array( - 'type' => 'directory', - 'default' => PEAR_CONFIG_DEFAULT_BIN_DIR, - 'doc' => 'directory where executables are installed', - 'prompt' => 'PEAR executables directory', - 'group' => 'File Locations', - ), - 'data_dir' => array( - 'type' => 'directory', - 'default' => PEAR_CONFIG_DEFAULT_DATA_DIR, - 'doc' => 'directory where data files are installed', - 'prompt' => 'PEAR data directory', - 'group' => 'File Locations (Advanced)', - ), - 'cfg_dir' => array( - 'type' => 'directory', - 'default' => PEAR_CONFIG_DEFAULT_CFG_DIR, - 'doc' => 'directory where modifiable configuration files are installed', - 'prompt' => 'PEAR configuration file directory', - 'group' => 'File Locations (Advanced)', - ), - 'www_dir' => array( - 'type' => 'directory', - 'default' => PEAR_CONFIG_DEFAULT_WWW_DIR, - 'doc' => 'directory where www frontend files (html/js) are installed', - 'prompt' => 'PEAR www files directory', - 'group' => 'File Locations (Advanced)', - ), - 'test_dir' => array( - 'type' => 'directory', - 'default' => PEAR_CONFIG_DEFAULT_TEST_DIR, - 'doc' => 'directory where regression tests are installed', - 'prompt' => 'PEAR test directory', - 'group' => 'File Locations (Advanced)', - ), - 'cache_dir' => array( - 'type' => 'directory', - 'default' => PEAR_CONFIG_DEFAULT_CACHE_DIR, - 'doc' => 'directory which is used for web service cache', - 'prompt' => 'PEAR Installer cache directory', - 'group' => 'File Locations (Advanced)', - ), - 'temp_dir' => array( - 'type' => 'directory', - 'default' => PEAR_CONFIG_DEFAULT_TEMP_DIR, - 'doc' => 'directory which is used for all temp files', - 'prompt' => 'PEAR Installer temp directory', - 'group' => 'File Locations (Advanced)', - ), - 'download_dir' => array( - 'type' => 'directory', - 'default' => PEAR_CONFIG_DEFAULT_DOWNLOAD_DIR, - 'doc' => 'directory which is used for all downloaded files', - 'prompt' => 'PEAR Installer download directory', - 'group' => 'File Locations (Advanced)', - ), - 'php_bin' => array( - 'type' => 'file', - 'default' => PEAR_CONFIG_DEFAULT_PHP_BIN, - 'doc' => 'PHP CLI/CGI binary for executing scripts', - 'prompt' => 'PHP CLI/CGI binary', - 'group' => 'File Locations (Advanced)', - ), - 'php_prefix' => array( - 'type' => 'string', - 'default' => '', - 'doc' => '--program-prefix for php_bin\'s ./configure, used for pecl installs', - 'prompt' => '--program-prefix passed to PHP\'s ./configure', - 'group' => 'File Locations (Advanced)', - ), - 'php_suffix' => array( - 'type' => 'string', - 'default' => '', - 'doc' => '--program-suffix for php_bin\'s ./configure, used for pecl installs', - 'prompt' => '--program-suffix passed to PHP\'s ./configure', - 'group' => 'File Locations (Advanced)', - ), - 'php_ini' => array( - 'type' => 'file', - 'default' => '', - 'doc' => 'location of php.ini in which to enable PECL extensions on install', - 'prompt' => 'php.ini location', - 'group' => 'File Locations (Advanced)', - ), - // Maintainers - 'username' => array( - 'type' => 'string', - 'default' => '', - 'doc' => '(maintainers) your PEAR account name', - 'prompt' => 'PEAR username (for maintainers)', - 'group' => 'Maintainers', - ), - 'password' => array( - 'type' => 'password', - 'default' => '', - 'doc' => '(maintainers) your PEAR account password', - 'prompt' => 'PEAR password (for maintainers)', - 'group' => 'Maintainers', - ), - // Advanced - 'verbose' => array( - 'type' => 'integer', - 'default' => PEAR_CONFIG_DEFAULT_VERBOSE, - 'doc' => 'verbosity level -0: really quiet -1: somewhat quiet -2: verbose -3: debug', - 'prompt' => 'Debug Log Level', - 'group' => 'Advanced', - ), - 'preferred_state' => array( - 'type' => 'set', - 'default' => PEAR_CONFIG_DEFAULT_PREFERRED_STATE, - 'doc' => 'the installer will prefer releases with this state when installing packages without a version or state specified', - 'valid_set' => array( - 'stable', 'beta', 'alpha', 'devel', 'snapshot'), - 'prompt' => 'Preferred Package State', - 'group' => 'Advanced', - ), - 'umask' => array( - 'type' => 'mask', - 'default' => PEAR_CONFIG_DEFAULT_UMASK, - 'doc' => 'umask used when creating files (Unix-like systems only)', - 'prompt' => 'Unix file mask', - 'group' => 'Advanced', - ), - 'cache_ttl' => array( - 'type' => 'integer', - 'default' => PEAR_CONFIG_DEFAULT_CACHE_TTL, - 'doc' => 'amount of secs where the local cache is used and not updated', - 'prompt' => 'Cache TimeToLive', - 'group' => 'Advanced', - ), - 'sig_type' => array( - 'type' => 'set', - 'default' => PEAR_CONFIG_DEFAULT_SIG_TYPE, - 'doc' => 'which package signature mechanism to use', - 'valid_set' => array('gpg'), - 'prompt' => 'Package Signature Type', - 'group' => 'Maintainers', - ), - 'sig_bin' => array( - 'type' => 'string', - 'default' => PEAR_CONFIG_DEFAULT_SIG_BIN, - 'doc' => 'which package signature mechanism to use', - 'prompt' => 'Signature Handling Program', - 'group' => 'Maintainers', - ), - 'sig_keyid' => array( - 'type' => 'string', - 'default' => '', - 'doc' => 'which key to use for signing with', - 'prompt' => 'Signature Key Id', - 'group' => 'Maintainers', - ), - 'sig_keydir' => array( - 'type' => 'directory', - 'default' => PEAR_CONFIG_DEFAULT_SIG_KEYDIR, - 'doc' => 'directory where signature keys are located', - 'prompt' => 'Signature Key Directory', - 'group' => 'Maintainers', - ), - // __channels is reserved - used for channel-specific configuration - ); - - /** - * Constructor. - * - * @param string file to read user-defined options from - * @param string file to read system-wide defaults from - * @param bool determines whether a registry object "follows" - * the value of php_dir (is automatically created - * and moved when php_dir is changed) - * @param bool if true, fails if configuration files cannot be loaded - * - * @access public - * - * @see PEAR_Config::singleton - */ - function PEAR_Config($user_file = '', $system_file = '', $ftp_file = false, - $strict = true) - { - $this->PEAR(); - PEAR_Installer_Role::initializeConfig($this); - $sl = DIRECTORY_SEPARATOR; - if (empty($user_file)) { - if (OS_WINDOWS) { - $user_file = PEAR_CONFIG_SYSCONFDIR . $sl . 'pear.ini'; - } else { - $user_file = getenv('HOME') . $sl . '.pearrc'; - } - } - - if (empty($system_file)) { - $system_file = PEAR_CONFIG_SYSCONFDIR . $sl; - if (OS_WINDOWS) { - $system_file .= 'pearsys.ini'; - } else { - $system_file .= 'pear.conf'; - } - } - - $this->layers = array_keys($this->configuration); - $this->files['user'] = $user_file; - $this->files['system'] = $system_file; - if ($user_file && file_exists($user_file)) { - $this->pushErrorHandling(PEAR_ERROR_RETURN); - $this->readConfigFile($user_file, 'user', $strict); - $this->popErrorHandling(); - if ($this->_errorsFound > 0) { - return; - } - } - - if ($system_file && @file_exists($system_file)) { - $this->mergeConfigFile($system_file, false, 'system', $strict); - if ($this->_errorsFound > 0) { - return; - } - - } - - if (!$ftp_file) { - $ftp_file = $this->get('remote_config'); - } - - if ($ftp_file && defined('PEAR_REMOTEINSTALL_OK')) { - $this->readFTPConfigFile($ftp_file); - } - - foreach ($this->configuration_info as $key => $info) { - $this->configuration['default'][$key] = $info['default']; - } - - $this->_registry['default'] = &new PEAR_Registry($this->configuration['default']['php_dir']); - $this->_registry['default']->setConfig($this, false); - $this->_regInitialized['default'] = false; - //$GLOBALS['_PEAR_Config_instance'] = &$this; - } - - /** - * Return the default locations of user and system configuration files - * @static - */ - function getDefaultConfigFiles() - { - $sl = DIRECTORY_SEPARATOR; - if (OS_WINDOWS) { - return array( - 'user' => PEAR_CONFIG_SYSCONFDIR . $sl . 'pear.ini', - 'system' => PEAR_CONFIG_SYSCONFDIR . $sl . 'pearsys.ini' - ); - } - - return array( - 'user' => getenv('HOME') . $sl . '.pearrc', - 'system' => PEAR_CONFIG_SYSCONFDIR . $sl . 'pear.conf' - ); - } - - /** - * Static singleton method. If you want to keep only one instance - * of this class in use, this method will give you a reference to - * the last created PEAR_Config object if one exists, or create a - * new object. - * - * @param string (optional) file to read user-defined options from - * @param string (optional) file to read system-wide defaults from - * - * @return object an existing or new PEAR_Config instance - * - * @access public - * - * @see PEAR_Config::PEAR_Config - */ - function &singleton($user_file = '', $system_file = '', $strict = true) - { - if (is_object($GLOBALS['_PEAR_Config_instance'])) { - return $GLOBALS['_PEAR_Config_instance']; - } - - $t_conf = &new PEAR_Config($user_file, $system_file, false, $strict); - if ($t_conf->_errorsFound > 0) { - return $t_conf->lastError; - } - - $GLOBALS['_PEAR_Config_instance'] = &$t_conf; - return $GLOBALS['_PEAR_Config_instance']; - } - - /** - * Determine whether any configuration files have been detected, and whether a - * registry object can be retrieved from this configuration. - * @return bool - * @since PEAR 1.4.0a1 - */ - function validConfiguration() - { - if ($this->isDefinedLayer('user') || $this->isDefinedLayer('system')) { - return true; - } - - return false; - } - - /** - * Reads configuration data from a file. All existing values in - * the config layer are discarded and replaced with data from the - * file. - * @param string file to read from, if NULL or not specified, the - * last-used file for the same layer (second param) is used - * @param string config layer to insert data into ('user' or 'system') - * @return bool TRUE on success or a PEAR error on failure - */ - function readConfigFile($file = null, $layer = 'user', $strict = true) - { - if (empty($this->files[$layer])) { - return $this->raiseError("unknown config layer `$layer'"); - } - - if ($file === null) { - $file = $this->files[$layer]; - } - - $data = $this->_readConfigDataFrom($file); - if (PEAR::isError($data)) { - if (!$strict) { - return true; - } - - $this->_errorsFound++; - $this->lastError = $data; - - return $data; - } - - $this->files[$layer] = $file; - $this->_decodeInput($data); - $this->configuration[$layer] = $data; - $this->_setupChannels(); - if (!$this->_noRegistry && ($phpdir = $this->get('php_dir', $layer, 'pear.php.net'))) { - $this->_registry[$layer] = &new PEAR_Registry($phpdir); - $this->_registry[$layer]->setConfig($this, false); - $this->_regInitialized[$layer] = false; - } else { - unset($this->_registry[$layer]); - } - return true; - } - - /** - * @param string url to the remote config file, like ftp://www.example.com/pear/config.ini - * @return true|PEAR_Error - */ - function readFTPConfigFile($path) - { - do { // poor man's try - if (!class_exists('PEAR_FTP')) { - if (!class_exists('PEAR_Common')) { - require_once 'PEAR/Common.php'; - } - if (PEAR_Common::isIncludeable('PEAR/FTP.php')) { - require_once 'PEAR/FTP.php'; - } - } - - if (!class_exists('PEAR_FTP')) { - return PEAR::raiseError('PEAR_RemoteInstaller must be installed to use remote config'); - } - - $this->_ftp = &new PEAR_FTP; - $this->_ftp->pushErrorHandling(PEAR_ERROR_RETURN); - $e = $this->_ftp->init($path); - if (PEAR::isError($e)) { - $this->_ftp->popErrorHandling(); - return $e; - } - - $tmp = System::mktemp('-d'); - PEAR_Common::addTempFile($tmp); - $e = $this->_ftp->get(basename($path), $tmp . DIRECTORY_SEPARATOR . - 'pear.ini', false, FTP_BINARY); - if (PEAR::isError($e)) { - $this->_ftp->popErrorHandling(); - return $e; - } - - PEAR_Common::addTempFile($tmp . DIRECTORY_SEPARATOR . 'pear.ini'); - $this->_ftp->disconnect(); - $this->_ftp->popErrorHandling(); - $this->files['ftp'] = $tmp . DIRECTORY_SEPARATOR . 'pear.ini'; - $e = $this->readConfigFile(null, 'ftp'); - if (PEAR::isError($e)) { - return $e; - } - - $fail = array(); - foreach ($this->configuration_info as $key => $val) { - if (in_array($this->getGroup($key), - array('File Locations', 'File Locations (Advanced)')) && - $this->getType($key) == 'directory') { - // any directory configs must be set for this to work - if (!isset($this->configuration['ftp'][$key])) { - $fail[] = $key; - } - } - } - - if (!count($fail)) { - return true; - } - - $fail = '"' . implode('", "', $fail) . '"'; - unset($this->files['ftp']); - unset($this->configuration['ftp']); - return PEAR::raiseError('ERROR: Ftp configuration file must set all ' . - 'directory configuration variables. These variables were not set: ' . - $fail); - } while (false); // poor man's catch - unset($this->files['ftp']); - return PEAR::raiseError('no remote host specified'); - } - - /** - * Reads the existing configurations and creates the _channels array from it - */ - function _setupChannels() - { - $set = array_flip(array_values($this->_channels)); - foreach ($this->configuration as $layer => $data) { - $i = 1000; - if (isset($data['__channels']) && is_array($data['__channels'])) { - foreach ($data['__channels'] as $channel => $info) { - $set[$channel] = $i++; - } - } - } - $this->_channels = array_values(array_flip($set)); - $this->setChannels($this->_channels); - } - - function deleteChannel($channel) - { - $ch = strtolower($channel); - foreach ($this->configuration as $layer => $data) { - if (isset($data['__channels']) && isset($data['__channels'][$ch])) { - unset($this->configuration[$layer]['__channels'][$ch]); - } - } - - $this->_channels = array_flip($this->_channels); - unset($this->_channels[$ch]); - $this->_channels = array_flip($this->_channels); - } - - /** - * Merges data into a config layer from a file. Does the same - * thing as readConfigFile, except it does not replace all - * existing values in the config layer. - * @param string file to read from - * @param bool whether to overwrite existing data (default TRUE) - * @param string config layer to insert data into ('user' or 'system') - * @param string if true, errors are returned if file opening fails - * @return bool TRUE on success or a PEAR error on failure - */ - function mergeConfigFile($file, $override = true, $layer = 'user', $strict = true) - { - if (empty($this->files[$layer])) { - return $this->raiseError("unknown config layer `$layer'"); - } - - if ($file === null) { - $file = $this->files[$layer]; - } - - $data = $this->_readConfigDataFrom($file); - if (PEAR::isError($data)) { - if (!$strict) { - return true; - } - - $this->_errorsFound++; - $this->lastError = $data; - - return $data; - } - - $this->_decodeInput($data); - if ($override) { - $this->configuration[$layer] = - PEAR_Config::arrayMergeRecursive($this->configuration[$layer], $data); - } else { - $this->configuration[$layer] = - PEAR_Config::arrayMergeRecursive($data, $this->configuration[$layer]); - } - - $this->_setupChannels(); - if (!$this->_noRegistry && ($phpdir = $this->get('php_dir', $layer, 'pear.php.net'))) { - $this->_registry[$layer] = &new PEAR_Registry($phpdir); - $this->_registry[$layer]->setConfig($this, false); - $this->_regInitialized[$layer] = false; - } else { - unset($this->_registry[$layer]); - } - return true; - } - - /** - * @param array - * @param array - * @return array - * @static - */ - function arrayMergeRecursive($arr2, $arr1) - { - $ret = array(); - foreach ($arr2 as $key => $data) { - if (!isset($arr1[$key])) { - $ret[$key] = $data; - unset($arr1[$key]); - continue; - } - if (is_array($data)) { - if (!is_array($arr1[$key])) { - $ret[$key] = $arr1[$key]; - unset($arr1[$key]); - continue; - } - $ret[$key] = PEAR_Config::arrayMergeRecursive($arr1[$key], $arr2[$key]); - unset($arr1[$key]); - } - } - - return array_merge($ret, $arr1); - } - - /** - * Writes data into a config layer from a file. - * - * @param string|null file to read from, or null for default - * @param string config layer to insert data into ('user' or - * 'system') - * @param string|null data to write to config file or null for internal data [DEPRECATED] - * @return bool TRUE on success or a PEAR error on failure - */ - function writeConfigFile($file = null, $layer = 'user', $data = null) - { - $this->_lazyChannelSetup($layer); - if ($layer == 'both' || $layer == 'all') { - foreach ($this->files as $type => $file) { - $err = $this->writeConfigFile($file, $type, $data); - if (PEAR::isError($err)) { - return $err; - } - } - return true; - } - - if (empty($this->files[$layer])) { - return $this->raiseError("unknown config file type `$layer'"); - } - - if ($file === null) { - $file = $this->files[$layer]; - } - - $data = ($data === null) ? $this->configuration[$layer] : $data; - $this->_encodeOutput($data); - $opt = array('-p', dirname($file)); - if (!@System::mkDir($opt)) { - return $this->raiseError("could not create directory: " . dirname($file)); - } - - if (file_exists($file) && is_file($file) && !is_writeable($file)) { - return $this->raiseError("no write access to $file!"); - } - - $fp = @fopen($file, "w"); - if (!$fp) { - return $this->raiseError("PEAR_Config::writeConfigFile fopen('$file','w') failed ($php_errormsg)"); - } - - $contents = "#PEAR_Config 0.9\n" . serialize($data); - if (!@fwrite($fp, $contents)) { - return $this->raiseError("PEAR_Config::writeConfigFile: fwrite failed ($php_errormsg)"); - } - return true; - } - - /** - * Reads configuration data from a file and returns the parsed data - * in an array. - * - * @param string file to read from - * @return array configuration data or a PEAR error on failure - * @access private - */ - function _readConfigDataFrom($file) - { - $fp = false; - if (file_exists($file)) { - $fp = @fopen($file, "r"); - } - - if (!$fp) { - return $this->raiseError("PEAR_Config::readConfigFile fopen('$file','r') failed"); - } - - $size = filesize($file); - $rt = get_magic_quotes_runtime(); - set_magic_quotes_runtime(0); - fclose($fp); - $contents = file_get_contents($file); - if (empty($contents)) { - return $this->raiseError('Configuration file "' . $file . '" is empty'); - } - - set_magic_quotes_runtime($rt); - - $version = false; - if (preg_match('/^#PEAR_Config\s+(\S+)\s+/si', $contents, $matches)) { - $version = $matches[1]; - $contents = substr($contents, strlen($matches[0])); - } else { - // Museum config file - if (substr($contents,0,2) == 'a:') { - $version = '0.1'; - } - } - - if ($version && version_compare("$version", '1', '<')) { - // no '@', it is possible that unserialize - // raises a notice but it seems to block IO to - // STDOUT if a '@' is used and a notice is raise - $data = unserialize($contents); - - if (!is_array($data) && !$data) { - if ($contents == serialize(false)) { - $data = array(); - } else { - $err = $this->raiseError("PEAR_Config: bad data in $file"); - return $err; - } - } - if (!is_array($data)) { - if (strlen(trim($contents)) > 0) { - $error = "PEAR_Config: bad data in $file"; - $err = $this->raiseError($error); - return $err; - } - - $data = array(); - } - // add parsing of newer formats here... - } else { - $err = $this->raiseError("$file: unknown version `$version'"); - return $err; - } - - return $data; - } - - /** - * Gets the file used for storing the config for a layer - * - * @param string $layer 'user' or 'system' - */ - function getConfFile($layer) - { - return $this->files[$layer]; - } - - /** - * @param string Configuration class name, used for detecting duplicate calls - * @param array information on a role as parsed from its xml file - * @return true|PEAR_Error - * @access private - */ - function _addConfigVars($class, $vars) - { - static $called = array(); - if (isset($called[$class])) { - return; - } - - $called[$class] = 1; - if (count($vars) > 3) { - return $this->raiseError('Roles can only define 3 new config variables or less'); - } - - foreach ($vars as $name => $var) { - if (!is_array($var)) { - return $this->raiseError('Configuration information must be an array'); - } - - if (!isset($var['type'])) { - return $this->raiseError('Configuration information must contain a type'); - } elseif (!in_array($var['type'], - array('string', 'mask', 'password', 'directory', 'file', 'set'))) { - return $this->raiseError( - 'Configuration type must be one of directory, file, string, ' . - 'mask, set, or password'); - } - if (!isset($var['default'])) { - return $this->raiseError( - 'Configuration information must contain a default value ("default" index)'); - } - - if (is_array($var['default'])) { - $real_default = ''; - foreach ($var['default'] as $config_var => $val) { - if (strpos($config_var, 'text') === 0) { - $real_default .= $val; - } elseif (strpos($config_var, 'constant') === 0) { - if (!defined($val)) { - return $this->raiseError( - 'Unknown constant "' . $val . '" requested in ' . - 'default value for configuration variable "' . - $name . '"'); - } - - $real_default .= constant($val); - } elseif (isset($this->configuration_info[$config_var])) { - $real_default .= - $this->configuration_info[$config_var]['default']; - } else { - return $this->raiseError( - 'Unknown request for "' . $config_var . '" value in ' . - 'default value for configuration variable "' . - $name . '"'); - } - } - $var['default'] = $real_default; - } - - if ($var['type'] == 'integer') { - $var['default'] = (integer) $var['default']; - } - - if (!isset($var['doc'])) { - return $this->raiseError( - 'Configuration information must contain a summary ("doc" index)'); - } - - if (!isset($var['prompt'])) { - return $this->raiseError( - 'Configuration information must contain a simple prompt ("prompt" index)'); - } - - if (!isset($var['group'])) { - return $this->raiseError( - 'Configuration information must contain a simple group ("group" index)'); - } - - if (isset($this->configuration_info[$name])) { - return $this->raiseError('Configuration variable "' . $name . - '" already exists'); - } - - $this->configuration_info[$name] = $var; - // fix bug #7351: setting custom config variable in a channel fails - $this->_channelConfigInfo[] = $name; - } - - return true; - } - - /** - * Encodes/scrambles configuration data before writing to files. - * Currently, 'password' values will be base64-encoded as to avoid - * that people spot cleartext passwords by accident. - * - * @param array (reference) array to encode values in - * @return bool TRUE on success - * @access private - */ - function _encodeOutput(&$data) - { - foreach ($data as $key => $value) { - if ($key == '__channels') { - foreach ($data['__channels'] as $channel => $blah) { - $this->_encodeOutput($data['__channels'][$channel]); - } - } - - if (!isset($this->configuration_info[$key])) { - continue; - } - - $type = $this->configuration_info[$key]['type']; - switch ($type) { - // we base64-encode passwords so they are at least - // not shown in plain by accident - case 'password': { - $data[$key] = base64_encode($data[$key]); - break; - } - case 'mask': { - $data[$key] = octdec($data[$key]); - break; - } - } - } - - return true; - } - - /** - * Decodes/unscrambles configuration data after reading from files. - * - * @param array (reference) array to encode values in - * @return bool TRUE on success - * @access private - * - * @see PEAR_Config::_encodeOutput - */ - function _decodeInput(&$data) - { - if (!is_array($data)) { - return true; - } - - foreach ($data as $key => $value) { - if ($key == '__channels') { - foreach ($data['__channels'] as $channel => $blah) { - $this->_decodeInput($data['__channels'][$channel]); - } - } - - if (!isset($this->configuration_info[$key])) { - continue; - } - - $type = $this->configuration_info[$key]['type']; - switch ($type) { - case 'password': { - $data[$key] = base64_decode($data[$key]); - break; - } - case 'mask': { - $data[$key] = decoct($data[$key]); - break; - } - } - } - - return true; - } - - /** - * Retrieve the default channel. - * - * On startup, channels are not initialized, so if the default channel is not - * pear.php.net, then initialize the config. - * @param string registry layer - * @return string|false - */ - function getDefaultChannel($layer = null) - { - $ret = false; - if ($layer === null) { - foreach ($this->layers as $layer) { - if (isset($this->configuration[$layer]['default_channel'])) { - $ret = $this->configuration[$layer]['default_channel']; - break; - } - } - } elseif (isset($this->configuration[$layer]['default_channel'])) { - $ret = $this->configuration[$layer]['default_channel']; - } - - if ($ret == 'pear.php.net' && defined('PEAR_RUNTYPE') && PEAR_RUNTYPE == 'pecl') { - $ret = 'pecl.php.net'; - } - - if ($ret) { - if ($ret != 'pear.php.net') { - $this->_lazyChannelSetup(); - } - - return $ret; - } - - return PEAR_CONFIG_DEFAULT_CHANNEL; - } - - /** - * Returns a configuration value, prioritizing layers as per the - * layers property. - * - * @param string config key - * @return mixed the config value, or NULL if not found - * @access public - */ - function get($key, $layer = null, $channel = false) - { - if (!isset($this->configuration_info[$key])) { - return null; - } - - if ($key == '__channels') { - return null; - } - - if ($key == 'default_channel') { - return $this->getDefaultChannel($layer); - } - - if (!$channel) { - $channel = $this->getDefaultChannel(); - } elseif ($channel != 'pear.php.net') { - $this->_lazyChannelSetup(); - } - $channel = strtolower($channel); - - $test = (in_array($key, $this->_channelConfigInfo)) ? - $this->_getChannelValue($key, $layer, $channel) : - null; - if ($test !== null) { - if ($this->_installRoot) { - if (in_array($this->getGroup($key), - array('File Locations', 'File Locations (Advanced)')) && - $this->getType($key) == 'directory') { - return $this->_prependPath($test, $this->_installRoot); - } - } - return $test; - } - - if ($layer === null) { - foreach ($this->layers as $layer) { - if (isset($this->configuration[$layer][$key])) { - $test = $this->configuration[$layer][$key]; - if ($this->_installRoot) { - if (in_array($this->getGroup($key), - array('File Locations', 'File Locations (Advanced)')) && - $this->getType($key) == 'directory') { - return $this->_prependPath($test, $this->_installRoot); - } - } - - if ($key == 'preferred_mirror') { - $reg = &$this->getRegistry(); - if (is_object($reg)) { - $chan = &$reg->getChannel($channel); - if (PEAR::isError($chan)) { - return $channel; - } - - if (!$chan->getMirror($test) && $chan->getName() != $test) { - return $channel; // mirror does not exist - } - } - } - return $test; - } - } - } elseif (isset($this->configuration[$layer][$key])) { - $test = $this->configuration[$layer][$key]; - if ($this->_installRoot) { - if (in_array($this->getGroup($key), - array('File Locations', 'File Locations (Advanced)')) && - $this->getType($key) == 'directory') { - return $this->_prependPath($test, $this->_installRoot); - } - } - - if ($key == 'preferred_mirror') { - $reg = &$this->getRegistry(); - if (is_object($reg)) { - $chan = &$reg->getChannel($channel); - if (PEAR::isError($chan)) { - return $channel; - } - - if (!$chan->getMirror($test) && $chan->getName() != $test) { - return $channel; // mirror does not exist - } - } - } - - return $test; - } - - return null; - } - - /** - * Returns a channel-specific configuration value, prioritizing layers as per the - * layers property. - * - * @param string config key - * @return mixed the config value, or NULL if not found - * @access private - */ - function _getChannelValue($key, $layer, $channel) - { - if ($key == '__channels' || $channel == 'pear.php.net') { - return null; - } - - $ret = null; - if ($layer === null) { - foreach ($this->layers as $ilayer) { - if (isset($this->configuration[$ilayer]['__channels'][$channel][$key])) { - $ret = $this->configuration[$ilayer]['__channels'][$channel][$key]; - break; - } - } - } elseif (isset($this->configuration[$layer]['__channels'][$channel][$key])) { - $ret = $this->configuration[$layer]['__channels'][$channel][$key]; - } - - if ($key != 'preferred_mirror') { - return $ret; - } - - - if ($ret !== null) { - $reg = &$this->getRegistry($layer); - if (is_object($reg)) { - $chan = &$reg->getChannel($channel); - if (PEAR::isError($chan)) { - return $channel; - } - - if (!$chan->getMirror($ret) && $chan->getName() != $ret) { - return $channel; // mirror does not exist - } - } - - return $ret; - } - - if ($channel != $this->getDefaultChannel($layer)) { - return $channel; // we must use the channel name as the preferred mirror - // if the user has not chosen an alternate - } - - return $this->getDefaultChannel($layer); - } - - /** - * Set a config value in a specific layer (defaults to 'user'). - * Enforces the types defined in the configuration_info array. An - * integer config variable will be cast to int, and a set config - * variable will be validated against its legal values. - * - * @param string config key - * @param string config value - * @param string (optional) config layer - * @param string channel to set this value for, or null for global value - * @return bool TRUE on success, FALSE on failure - */ - function set($key, $value, $layer = 'user', $channel = false) - { - if ($key == '__channels') { - return false; - } - - if (!isset($this->configuration[$layer])) { - return false; - } - - if ($key == 'default_channel') { - // can only set this value globally - $channel = 'pear.php.net'; - if ($value != 'pear.php.net') { - $this->_lazyChannelSetup($layer); - } - } - - if ($key == 'preferred_mirror') { - if ($channel == '__uri') { - return false; // can't set the __uri pseudo-channel's mirror - } - - $reg = &$this->getRegistry($layer); - if (is_object($reg)) { - $chan = &$reg->getChannel($channel ? $channel : 'pear.php.net'); - if (PEAR::isError($chan)) { - return false; - } - - if (!$chan->getMirror($value) && $chan->getName() != $value) { - return false; // mirror does not exist - } - } - } - - if (!isset($this->configuration_info[$key])) { - return false; - } - - extract($this->configuration_info[$key]); - switch ($type) { - case 'integer': - $value = (int)$value; - break; - case 'set': { - // If a valid_set is specified, require the value to - // be in the set. If there is no valid_set, accept - // any value. - if ($valid_set) { - reset($valid_set); - if ((key($valid_set) === 0 && !in_array($value, $valid_set)) || - (key($valid_set) !== 0 && empty($valid_set[$value]))) - { - return false; - } - } - break; - } - } - - if (!$channel) { - $channel = $this->get('default_channel', null, 'pear.php.net'); - } - - if (!in_array($channel, $this->_channels)) { - $this->_lazyChannelSetup($layer); - $reg = &$this->getRegistry($layer); - if ($reg) { - $channel = $reg->channelName($channel); - } - - if (!in_array($channel, $this->_channels)) { - return false; - } - } - - if ($channel != 'pear.php.net') { - if (in_array($key, $this->_channelConfigInfo)) { - $this->configuration[$layer]['__channels'][$channel][$key] = $value; - return true; - } - - return false; - } - - if ($key == 'default_channel') { - if (!isset($reg)) { - $reg = &$this->getRegistry($layer); - if (!$reg) { - $reg = &$this->getRegistry(); - } - } - - if ($reg) { - $value = $reg->channelName($value); - } - - if (!$value) { - return false; - } - } - - $this->configuration[$layer][$key] = $value; - if ($key == 'php_dir' && !$this->_noRegistry) { - if (!isset($this->_registry[$layer]) || - $value != $this->_registry[$layer]->install_dir) { - $this->_registry[$layer] = &new PEAR_Registry($value); - $this->_regInitialized[$layer] = false; - $this->_registry[$layer]->setConfig($this, false); - } - } - - return true; - } - - function _lazyChannelSetup($uselayer = false) - { - if ($this->_noRegistry) { - return; - } - - $merge = false; - foreach ($this->_registry as $layer => $p) { - if ($uselayer && $uselayer != $layer) { - continue; - } - - if (!$this->_regInitialized[$layer]) { - if ($layer == 'default' && isset($this->_registry['user']) || - isset($this->_registry['system'])) { - // only use the default registry if there are no alternatives - continue; - } - - if (!is_object($this->_registry[$layer])) { - if ($phpdir = $this->get('php_dir', $layer, 'pear.php.net')) { - $this->_registry[$layer] = &new PEAR_Registry($phpdir); - $this->_registry[$layer]->setConfig($this, false); - $this->_regInitialized[$layer] = false; - } else { - unset($this->_registry[$layer]); - return; - } - } - - $this->setChannels($this->_registry[$layer]->listChannels(), $merge); - $this->_regInitialized[$layer] = true; - $merge = true; - } - } - } - - /** - * Set the list of channels. - * - * This should be set via a call to {@link PEAR_Registry::listChannels()} - * @param array - * @param bool - * @return bool success of operation - */ - function setChannels($channels, $merge = false) - { - if (!is_array($channels)) { - return false; - } - - if ($merge) { - $this->_channels = array_merge($this->_channels, $channels); - } else { - $this->_channels = $channels; - } - - foreach ($channels as $channel) { - $channel = strtolower($channel); - if ($channel == 'pear.php.net') { - continue; - } - - foreach ($this->layers as $layer) { - if (!isset($this->configuration[$layer]['__channels'])) { - $this->configuration[$layer]['__channels'] = array(); - } - if (!isset($this->configuration[$layer]['__channels'][$channel]) - || !is_array($this->configuration[$layer]['__channels'][$channel])) { - $this->configuration[$layer]['__channels'][$channel] = array(); - } - } - } - - return true; - } - - /** - * Get the type of a config value. - * - * @param string config key - * - * @return string type, one of "string", "integer", "file", - * "directory", "set" or "password". - * - * @access public - * - */ - function getType($key) - { - if (isset($this->configuration_info[$key])) { - return $this->configuration_info[$key]['type']; - } - return false; - } - - /** - * Get the documentation for a config value. - * - * @param string config key - * @return string documentation string - * - * @access public - * - */ - function getDocs($key) - { - if (isset($this->configuration_info[$key])) { - return $this->configuration_info[$key]['doc']; - } - - return false; - } - - /** - * Get the short documentation for a config value. - * - * @param string config key - * @return string short documentation string - * - * @access public - * - */ - function getPrompt($key) - { - if (isset($this->configuration_info[$key])) { - return $this->configuration_info[$key]['prompt']; - } - - return false; - } - - /** - * Get the parameter group for a config key. - * - * @param string config key - * @return string parameter group - * - * @access public - * - */ - function getGroup($key) - { - if (isset($this->configuration_info[$key])) { - return $this->configuration_info[$key]['group']; - } - - return false; - } - - /** - * Get the list of parameter groups. - * - * @return array list of parameter groups - * - * @access public - * - */ - function getGroups() - { - $tmp = array(); - foreach ($this->configuration_info as $key => $info) { - $tmp[$info['group']] = 1; - } - - return array_keys($tmp); - } - - /** - * Get the list of the parameters in a group. - * - * @param string $group parameter group - * @return array list of parameters in $group - * - * @access public - * - */ - function getGroupKeys($group) - { - $keys = array(); - foreach ($this->configuration_info as $key => $info) { - if ($info['group'] == $group) { - $keys[] = $key; - } - } - - return $keys; - } - - /** - * Get the list of allowed set values for a config value. Returns - * NULL for config values that are not sets. - * - * @param string config key - * @return array enumerated array of set values, or NULL if the - * config key is unknown or not a set - * - * @access public - * - */ - function getSetValues($key) - { - if (isset($this->configuration_info[$key]) && - isset($this->configuration_info[$key]['type']) && - $this->configuration_info[$key]['type'] == 'set') - { - $valid_set = $this->configuration_info[$key]['valid_set']; - reset($valid_set); - if (key($valid_set) === 0) { - return $valid_set; - } - - return array_keys($valid_set); - } - - return null; - } - - /** - * Get all the current config keys. - * - * @return array simple array of config keys - * - * @access public - */ - function getKeys() - { - $keys = array(); - foreach ($this->layers as $layer) { - $test = $this->configuration[$layer]; - if (isset($test['__channels'])) { - foreach ($test['__channels'] as $channel => $configs) { - $keys = array_merge($keys, $configs); - } - } - - unset($test['__channels']); - $keys = array_merge($keys, $test); - - } - return array_keys($keys); - } - - /** - * Remove the a config key from a specific config layer. - * - * @param string config key - * @param string (optional) config layer - * @param string (optional) channel (defaults to default channel) - * @return bool TRUE on success, FALSE on failure - * - * @access public - */ - function remove($key, $layer = 'user', $channel = null) - { - if ($channel === null) { - $channel = $this->getDefaultChannel(); - } - - if ($channel !== 'pear.php.net') { - if (isset($this->configuration[$layer]['__channels'][$channel][$key])) { - unset($this->configuration[$layer]['__channels'][$channel][$key]); - return true; - } - } - - if (isset($this->configuration[$layer][$key])) { - unset($this->configuration[$layer][$key]); - return true; - } - - return false; - } - - /** - * Temporarily remove an entire config layer. USE WITH CARE! - * - * @param string config key - * @param string (optional) config layer - * @return bool TRUE on success, FALSE on failure - * - * @access public - */ - function removeLayer($layer) - { - if (isset($this->configuration[$layer])) { - $this->configuration[$layer] = array(); - return true; - } - - return false; - } - - /** - * Stores configuration data in a layer. - * - * @param string config layer to store - * @return bool TRUE on success, or PEAR error on failure - * - * @access public - */ - function store($layer = 'user', $data = null) - { - return $this->writeConfigFile(null, $layer, $data); - } - - /** - * Tells what config layer that gets to define a key. - * - * @param string config key - * @param boolean return the defining channel - * - * @return string|array the config layer, or an empty string if not found. - * - * if $returnchannel, the return is an array array('layer' => layername, - * 'channel' => channelname), or an empty string if not found - * - * @access public - */ - function definedBy($key, $returnchannel = false) - { - foreach ($this->layers as $layer) { - $channel = $this->getDefaultChannel(); - if ($channel !== 'pear.php.net') { - if (isset($this->configuration[$layer]['__channels'][$channel][$key])) { - if ($returnchannel) { - return array('layer' => $layer, 'channel' => $channel); - } - return $layer; - } - } - - if (isset($this->configuration[$layer][$key])) { - if ($returnchannel) { - return array('layer' => $layer, 'channel' => 'pear.php.net'); - } - return $layer; - } - } - - return ''; - } - - /** - * Tells whether a given key exists as a config value. - * - * @param string config key - * @return bool whether exists in this object - * - * @access public - */ - function isDefined($key) - { - foreach ($this->layers as $layer) { - if (isset($this->configuration[$layer][$key])) { - return true; - } - } - - return false; - } - - /** - * Tells whether a given config layer exists. - * - * @param string config layer - * @return bool whether exists in this object - * - * @access public - */ - function isDefinedLayer($layer) - { - return isset($this->configuration[$layer]); - } - - /** - * Returns the layers defined (except the 'default' one) - * - * @return array of the defined layers - */ - function getLayers() - { - $cf = $this->configuration; - unset($cf['default']); - return array_keys($cf); - } - - function apiVersion() - { - return '1.1'; - } - - /** - * @return PEAR_Registry - */ - function &getRegistry($use = null) - { - $layer = $use === null ? 'user' : $use; - if (isset($this->_registry[$layer])) { - return $this->_registry[$layer]; - } elseif ($use === null && isset($this->_registry['system'])) { - return $this->_registry['system']; - } elseif ($use === null && isset($this->_registry['default'])) { - return $this->_registry['default']; - } elseif ($use) { - $a = false; - return $a; - } - - // only go here if null was passed in - echo "CRITICAL ERROR: Registry could not be initialized from any value"; - exit(1); - } - - /** - * This is to allow customization like the use of installroot - * @param PEAR_Registry - * @return bool - */ - function setRegistry(&$reg, $layer = 'user') - { - if ($this->_noRegistry) { - return false; - } - - if (!in_array($layer, array('user', 'system'))) { - return false; - } - - $this->_registry[$layer] = &$reg; - if (is_object($reg)) { - $this->_registry[$layer]->setConfig($this, false); - } - - return true; - } - - function noRegistry() - { - $this->_noRegistry = true; - } - - /** - * @return PEAR_REST - */ - function &getREST($version, $options = array()) - { - $version = str_replace('.', '', $version); - if (!class_exists($class = 'PEAR_REST_' . $version)) { - require_once 'PEAR/REST/' . $version . '.php'; - } - - $remote = &new $class($this, $options); - return $remote; - } - - /** - * The ftp server is set in {@link readFTPConfigFile()}. It exists only if a - * remote configuration file has been specified - * @return PEAR_FTP|false - */ - function &getFTP() - { - if (isset($this->_ftp)) { - return $this->_ftp; - } - - $a = false; - return $a; - } - - function _prependPath($path, $prepend) - { - if (strlen($prepend) > 0) { - if (OS_WINDOWS && preg_match('/^[a-z]:/i', $path)) { - if (preg_match('/^[a-z]:/i', $prepend)) { - $prepend = substr($prepend, 2); - } elseif ($prepend{0} != '\\') { - $prepend = "\\$prepend"; - } - $path = substr($path, 0, 2) . $prepend . substr($path, 2); - } else { - $path = $prepend . $path; - } - } - return $path; - } - - /** - * @param string|false installation directory to prepend to all _dir variables, or false to - * disable - */ - function setInstallRoot($root) - { - if (substr($root, -1) == DIRECTORY_SEPARATOR) { - $root = substr($root, 0, -1); - } - $old = $this->_installRoot; - $this->_installRoot = $root; - if (($old != $root) && !$this->_noRegistry) { - foreach (array_keys($this->_registry) as $layer) { - if ($layer == 'ftp' || !isset($this->_registry[$layer])) { - continue; - } - $this->_registry[$layer] = - &new PEAR_Registry($this->get('php_dir', $layer, 'pear.php.net')); - $this->_registry[$layer]->setConfig($this, false); - $this->_regInitialized[$layer] = false; - } - } - } -} diff --git a/3rdparty/PEAR/Dependency.php b/3rdparty/PEAR/Dependency.php deleted file mode 100644 index 705167aa70fa158d03884b188ccadb3db8eca505..0000000000000000000000000000000000000000 --- a/3rdparty/PEAR/Dependency.php +++ /dev/null @@ -1,487 +0,0 @@ - | -// | Stig Bakken | -// +----------------------------------------------------------------------+ -// -// $Id: Dependency.php,v 1.36.4.1 2004/12/27 07:04:19 cellog Exp $ - -require_once "PEAR.php"; - -define('PEAR_DEPENDENCY_MISSING', -1); -define('PEAR_DEPENDENCY_CONFLICT', -2); -define('PEAR_DEPENDENCY_UPGRADE_MINOR', -3); -define('PEAR_DEPENDENCY_UPGRADE_MAJOR', -4); -define('PEAR_DEPENDENCY_BAD_DEPENDENCY', -5); -define('PEAR_DEPENDENCY_MISSING_OPTIONAL', -6); -define('PEAR_DEPENDENCY_CONFLICT_OPTIONAL', -7); -define('PEAR_DEPENDENCY_UPGRADE_MINOR_OPTIONAL', -8); -define('PEAR_DEPENDENCY_UPGRADE_MAJOR_OPTIONAL', -9); - -/** - * Dependency check for PEAR packages - * - * The class is based on the dependency RFC that can be found at - * http://cvs.php.net/cvs.php/pearweb/rfc. It requires PHP >= 4.1 - * - * @author Tomas V.V.Vox - * @author Stig Bakken - */ -class PEAR_Dependency -{ - // {{{ constructor - /** - * Constructor - * - * @access public - * @param object Registry object - * @return void - */ - function PEAR_Dependency(&$registry) - { - $this->registry = &$registry; - } - - // }}} - // {{{ callCheckMethod() - - /** - * This method maps the XML dependency definition to the - * corresponding one from PEAR_Dependency - * - *
-    * $opts => Array
-    *    (
-    *        [type] => pkg
-    *        [rel] => ge
-    *        [version] => 3.4
-    *        [name] => HTML_Common
-    *        [optional] => false
-    *    )
-    * 
- * - * @param string Error message - * @param array Options - * @return boolean - */ - function callCheckMethod(&$errmsg, $opts) - { - $rel = isset($opts['rel']) ? $opts['rel'] : 'has'; - $req = isset($opts['version']) ? $opts['version'] : null; - $name = isset($opts['name']) ? $opts['name'] : null; - $opt = (isset($opts['optional']) && $opts['optional'] == 'yes') ? - $opts['optional'] : null; - $errmsg = ''; - switch ($opts['type']) { - case 'pkg': - return $this->checkPackage($errmsg, $name, $req, $rel, $opt); - break; - case 'ext': - return $this->checkExtension($errmsg, $name, $req, $rel, $opt); - break; - case 'php': - return $this->checkPHP($errmsg, $req, $rel); - break; - case 'prog': - return $this->checkProgram($errmsg, $name); - break; - case 'os': - return $this->checkOS($errmsg, $name); - break; - case 'sapi': - return $this->checkSAPI($errmsg, $name); - break; - case 'zend': - return $this->checkZend($errmsg, $name); - break; - default: - return "'{$opts['type']}' dependency type not supported"; - } - } - - // }}} - // {{{ checkPackage() - - /** - * Package dependencies check method - * - * @param string $errmsg Empty string, it will be populated with an error message, if any - * @param string $name Name of the package to test - * @param string $req The package version required - * @param string $relation How to compare versions with each other - * @param bool $opt Whether the relationship is optional - * - * @return mixed bool false if no error or the error string - */ - function checkPackage(&$errmsg, $name, $req = null, $relation = 'has', - $opt = false) - { - if (is_string($req) && substr($req, 0, 2) == 'v.') { - $req = substr($req, 2); - } - switch ($relation) { - case 'has': - if (!$this->registry->packageExists($name)) { - if ($opt) { - $errmsg = "package `$name' is recommended to utilize some features."; - return PEAR_DEPENDENCY_MISSING_OPTIONAL; - } - $errmsg = "requires package `$name'"; - return PEAR_DEPENDENCY_MISSING; - } - return false; - case 'not': - if ($this->registry->packageExists($name)) { - $errmsg = "conflicts with package `$name'"; - return PEAR_DEPENDENCY_CONFLICT; - } - return false; - case 'lt': - case 'le': - case 'eq': - case 'ne': - case 'ge': - case 'gt': - $version = $this->registry->packageInfo($name, 'version'); - if (!$this->registry->packageExists($name) - || !version_compare("$version", "$req", $relation)) - { - $code = $this->codeFromRelation($relation, $version, $req, $opt); - if ($opt) { - $errmsg = "package `$name' version " . $this->signOperator($relation) . - " $req is recommended to utilize some features."; - if ($version) { - $errmsg .= " Installed version is $version"; - } - return $code; - } - $errmsg = "requires package `$name' " . - $this->signOperator($relation) . " $req"; - return $code; - } - return false; - } - $errmsg = "relation '$relation' with requirement '$req' is not supported (name=$name)"; - return PEAR_DEPENDENCY_BAD_DEPENDENCY; - } - - // }}} - // {{{ checkPackageUninstall() - - /** - * Check package dependencies on uninstall - * - * @param string $error The resultant error string - * @param string $warning The resultant warning string - * @param string $name Name of the package to test - * - * @return bool true if there were errors - */ - function checkPackageUninstall(&$error, &$warning, $package) - { - $error = null; - $packages = $this->registry->listPackages(); - foreach ($packages as $pkg) { - if ($pkg == $package) { - continue; - } - $deps = $this->registry->packageInfo($pkg, 'release_deps'); - if (empty($deps)) { - continue; - } - foreach ($deps as $dep) { - if ($dep['type'] == 'pkg' && strcasecmp($dep['name'], $package) == 0) { - if ($dep['rel'] == 'ne' || $dep['rel'] == 'not') { - continue; - } - if (isset($dep['optional']) && $dep['optional'] == 'yes') { - $warning .= "\nWarning: Package '$pkg' optionally depends on '$package'"; - } else { - $error .= "Package '$pkg' depends on '$package'\n"; - } - } - } - } - return ($error) ? true : false; - } - - // }}} - // {{{ checkExtension() - - /** - * Extension dependencies check method - * - * @param string $name Name of the extension to test - * @param string $req_ext_ver Required extension version to compare with - * @param string $relation How to compare versions with eachother - * @param bool $opt Whether the relationship is optional - * - * @return mixed bool false if no error or the error string - */ - function checkExtension(&$errmsg, $name, $req = null, $relation = 'has', - $opt = false) - { - if ($relation == 'not') { - if (extension_loaded($name)) { - $errmsg = "conflicts with PHP extension '$name'"; - return PEAR_DEPENDENCY_CONFLICT; - } else { - return false; - } - } - - if (!extension_loaded($name)) { - if ($relation == 'not') { - return false; - } - if ($opt) { - $errmsg = "'$name' PHP extension is recommended to utilize some features"; - return PEAR_DEPENDENCY_MISSING_OPTIONAL; - } - $errmsg = "'$name' PHP extension is not installed"; - return PEAR_DEPENDENCY_MISSING; - } - if ($relation == 'has') { - return false; - } - $code = false; - if (is_string($req) && substr($req, 0, 2) == 'v.') { - $req = substr($req, 2); - } - $ext_ver = phpversion($name); - $operator = $relation; - // Force params to be strings, otherwise the comparation will fail (ex. 0.9==0.90) - if (!version_compare("$ext_ver", "$req", $operator)) { - $errmsg = "'$name' PHP extension version " . - $this->signOperator($operator) . " $req is required"; - $code = $this->codeFromRelation($relation, $ext_ver, $req, $opt); - if ($opt) { - $errmsg = "'$name' PHP extension version " . $this->signOperator($operator) . - " $req is recommended to utilize some features"; - return $code; - } - } - return $code; - } - - // }}} - // {{{ checkOS() - - /** - * Operating system dependencies check method - * - * @param string $os Name of the operating system - * - * @return mixed bool false if no error or the error string - */ - function checkOS(&$errmsg, $os) - { - // XXX Fixme: Implement a more flexible way, like - // comma separated values or something similar to PEAR_OS - static $myos; - if (empty($myos)) { - include_once "OS/Guess.php"; - $myos = new OS_Guess(); - } - // only 'has' relation is currently supported - if ($myos->matchSignature($os)) { - return false; - } - $errmsg = "'$os' operating system not supported"; - return PEAR_DEPENDENCY_CONFLICT; - } - - // }}} - // {{{ checkPHP() - - /** - * PHP version check method - * - * @param string $req which version to compare - * @param string $relation how to compare the version - * - * @return mixed bool false if no error or the error string - */ - function checkPHP(&$errmsg, $req, $relation = 'ge') - { - // this would be a bit stupid, but oh well :) - if ($relation == 'has') { - return false; - } - if ($relation == 'not') { - $errmsg = 'Invalid dependency - "not" is not allowed for php dependencies, ' . - 'php cannot conflict with itself'; - return PEAR_DEPENDENCY_BAD_DEPENDENCY; - } - if (substr($req, 0, 2) == 'v.') { - $req = substr($req,2, strlen($req) - 2); - } - $php_ver = phpversion(); - $operator = $relation; - if (!version_compare("$php_ver", "$req", $operator)) { - $errmsg = "PHP version " . $this->signOperator($operator) . - " $req is required"; - return PEAR_DEPENDENCY_CONFLICT; - } - return false; - } - - // }}} - // {{{ checkProgram() - - /** - * External program check method. Looks for executable files in - * directories listed in the PATH environment variable. - * - * @param string $program which program to look for - * - * @return mixed bool false if no error or the error string - */ - function checkProgram(&$errmsg, $program) - { - // XXX FIXME honor safe mode - $exe_suffix = OS_WINDOWS ? '.exe' : ''; - $path_elements = explode(PATH_SEPARATOR, getenv('PATH')); - foreach ($path_elements as $dir) { - $file = $dir . DIRECTORY_SEPARATOR . $program . $exe_suffix; - if (@file_exists($file) && @is_executable($file)) { - return false; - } - } - $errmsg = "'$program' program is not present in the PATH"; - return PEAR_DEPENDENCY_MISSING; - } - - // }}} - // {{{ checkSAPI() - - /** - * SAPI backend check method. Version comparison is not yet - * available here. - * - * @param string $name name of SAPI backend - * @param string $req which version to compare - * @param string $relation how to compare versions (currently - * hardcoded to 'has') - * @return mixed bool false if no error or the error string - */ - function checkSAPI(&$errmsg, $name, $req = null, $relation = 'has') - { - // XXX Fixme: There is no way to know if the user has or - // not other SAPI backends installed than the installer one - - $sapi_backend = php_sapi_name(); - // Version comparisons not supported, sapi backends don't have - // version information yet. - if ($sapi_backend == $name) { - return false; - } - $errmsg = "'$sapi_backend' SAPI backend not supported"; - return PEAR_DEPENDENCY_CONFLICT; - } - - // }}} - // {{{ checkZend() - - /** - * Zend version check method - * - * @param string $req which version to compare - * @param string $relation how to compare the version - * - * @return mixed bool false if no error or the error string - */ - function checkZend(&$errmsg, $req, $relation = 'ge') - { - if (substr($req, 0, 2) == 'v.') { - $req = substr($req,2, strlen($req) - 2); - } - $zend_ver = zend_version(); - $operator = substr($relation,0,2); - if (!version_compare("$zend_ver", "$req", $operator)) { - $errmsg = "Zend version " . $this->signOperator($operator) . - " $req is required"; - return PEAR_DEPENDENCY_CONFLICT; - } - return false; - } - - // }}} - // {{{ signOperator() - - /** - * Converts text comparing operators to them sign equivalents - * - * Example: 'ge' to '>=' - * - * @access public - * @param string Operator - * @return string Sign equivalent - */ - function signOperator($operator) - { - switch($operator) { - case 'lt': return '<'; - case 'le': return '<='; - case 'gt': return '>'; - case 'ge': return '>='; - case 'eq': return '=='; - case 'ne': return '!='; - default: - return $operator; - } - } - - // }}} - // {{{ codeFromRelation() - - /** - * Convert relation into corresponding code - * - * @access public - * @param string Relation - * @param string Version - * @param string Requirement - * @param bool Optional dependency indicator - * @return integer - */ - function codeFromRelation($relation, $version, $req, $opt = false) - { - $code = PEAR_DEPENDENCY_BAD_DEPENDENCY; - switch ($relation) { - case 'gt': case 'ge': case 'eq': - // upgrade - $have_major = preg_replace('/\D.*/', '', $version); - $need_major = preg_replace('/\D.*/', '', $req); - if ($need_major > $have_major) { - $code = $opt ? PEAR_DEPENDENCY_UPGRADE_MAJOR_OPTIONAL : - PEAR_DEPENDENCY_UPGRADE_MAJOR; - } else { - $code = $opt ? PEAR_DEPENDENCY_UPGRADE_MINOR_OPTIONAL : - PEAR_DEPENDENCY_UPGRADE_MINOR; - } - break; - case 'lt': case 'le': case 'ne': - $code = $opt ? PEAR_DEPENDENCY_CONFLICT_OPTIONAL : - PEAR_DEPENDENCY_CONFLICT; - break; - } - return $code; - } - - // }}} -} -?> diff --git a/3rdparty/PEAR/Dependency2.php b/3rdparty/PEAR/Dependency2.php deleted file mode 100644 index f3ddeb1cf1b4b5d874b533099348b91d961547dc..0000000000000000000000000000000000000000 --- a/3rdparty/PEAR/Dependency2.php +++ /dev/null @@ -1,1358 +0,0 @@ - - * @copyright 1997-2009 The Authors - * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: Dependency2.php 313023 2011-07-06 19:17:11Z dufuz $ - * @link http://pear.php.net/package/PEAR - * @since File available since Release 1.4.0a1 - */ - -/** - * Required for the PEAR_VALIDATE_* constants - */ -require_once 'PEAR/Validate.php'; - -/** - * Dependency check for PEAR packages - * - * This class handles both version 1.0 and 2.0 dependencies - * WARNING: *any* changes to this class must be duplicated in the - * test_PEAR_Dependency2 class found in tests/PEAR_Dependency2/setup.php.inc, - * or unit tests will not actually validate the changes - * @category pear - * @package PEAR - * @author Greg Beaver - * @copyright 1997-2009 The Authors - * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.4 - * @link http://pear.php.net/package/PEAR - * @since Class available since Release 1.4.0a1 - */ -class PEAR_Dependency2 -{ - /** - * One of the PEAR_VALIDATE_* states - * @see PEAR_VALIDATE_NORMAL - * @var integer - */ - var $_state; - - /** - * Command-line options to install/upgrade/uninstall commands - * @param array - */ - var $_options; - - /** - * @var OS_Guess - */ - var $_os; - - /** - * @var PEAR_Registry - */ - var $_registry; - - /** - * @var PEAR_Config - */ - var $_config; - - /** - * @var PEAR_DependencyDB - */ - var $_dependencydb; - - /** - * Output of PEAR_Registry::parsedPackageName() - * @var array - */ - var $_currentPackage; - - /** - * @param PEAR_Config - * @param array installation options - * @param array format of PEAR_Registry::parsedPackageName() - * @param int installation state (one of PEAR_VALIDATE_*) - */ - function PEAR_Dependency2(&$config, $installoptions, $package, - $state = PEAR_VALIDATE_INSTALLING) - { - $this->_config = &$config; - if (!class_exists('PEAR_DependencyDB')) { - require_once 'PEAR/DependencyDB.php'; - } - - if (isset($installoptions['packagingroot'])) { - // make sure depdb is in the right location - $config->setInstallRoot($installoptions['packagingroot']); - } - - $this->_registry = &$config->getRegistry(); - $this->_dependencydb = &PEAR_DependencyDB::singleton($config); - if (isset($installoptions['packagingroot'])) { - $config->setInstallRoot(false); - } - - $this->_options = $installoptions; - $this->_state = $state; - if (!class_exists('OS_Guess')) { - require_once 'OS/Guess.php'; - } - - $this->_os = new OS_Guess; - $this->_currentPackage = $package; - } - - function _getExtraString($dep) - { - $extra = ' ('; - if (isset($dep['uri'])) { - return ''; - } - - if (isset($dep['recommended'])) { - $extra .= 'recommended version ' . $dep['recommended']; - } else { - if (isset($dep['min'])) { - $extra .= 'version >= ' . $dep['min']; - } - - if (isset($dep['max'])) { - if ($extra != ' (') { - $extra .= ', '; - } - $extra .= 'version <= ' . $dep['max']; - } - - if (isset($dep['exclude'])) { - if (!is_array($dep['exclude'])) { - $dep['exclude'] = array($dep['exclude']); - } - - if ($extra != ' (') { - $extra .= ', '; - } - - $extra .= 'excluded versions: '; - foreach ($dep['exclude'] as $i => $exclude) { - if ($i) { - $extra .= ', '; - } - $extra .= $exclude; - } - } - } - - $extra .= ')'; - if ($extra == ' ()') { - $extra = ''; - } - - return $extra; - } - - /** - * This makes unit-testing a heck of a lot easier - */ - function getPHP_OS() - { - return PHP_OS; - } - - /** - * This makes unit-testing a heck of a lot easier - */ - function getsysname() - { - return $this->_os->getSysname(); - } - - /** - * Specify a dependency on an OS. Use arch for detailed os/processor information - * - * There are two generic OS dependencies that will be the most common, unix and windows. - * Other options are linux, freebsd, darwin (OS X), sunos, irix, hpux, aix - */ - function validateOsDependency($dep) - { - if ($this->_state != PEAR_VALIDATE_INSTALLING && $this->_state != PEAR_VALIDATE_DOWNLOADING) { - return true; - } - - if ($dep['name'] == '*') { - return true; - } - - $not = isset($dep['conflicts']) ? true : false; - switch (strtolower($dep['name'])) { - case 'windows' : - if ($not) { - if (strtolower(substr($this->getPHP_OS(), 0, 3)) == 'win') { - if (!isset($this->_options['nodeps']) && !isset($this->_options['force'])) { - return $this->raiseError("Cannot install %s on Windows"); - } - - return $this->warning("warning: Cannot install %s on Windows"); - } - } else { - if (strtolower(substr($this->getPHP_OS(), 0, 3)) != 'win') { - if (!isset($this->_options['nodeps']) && !isset($this->_options['force'])) { - return $this->raiseError("Can only install %s on Windows"); - } - - return $this->warning("warning: Can only install %s on Windows"); - } - } - break; - case 'unix' : - $unices = array('linux', 'freebsd', 'darwin', 'sunos', 'irix', 'hpux', 'aix'); - if ($not) { - if (in_array($this->getSysname(), $unices)) { - if (!isset($this->_options['nodeps']) && !isset($this->_options['force'])) { - return $this->raiseError("Cannot install %s on any Unix system"); - } - - return $this->warning( "warning: Cannot install %s on any Unix system"); - } - } else { - if (!in_array($this->getSysname(), $unices)) { - if (!isset($this->_options['nodeps']) && !isset($this->_options['force'])) { - return $this->raiseError("Can only install %s on a Unix system"); - } - - return $this->warning("warning: Can only install %s on a Unix system"); - } - } - break; - default : - if ($not) { - if (strtolower($dep['name']) == strtolower($this->getSysname())) { - if (!isset($this->_options['nodeps']) && - !isset($this->_options['force'])) { - return $this->raiseError('Cannot install %s on ' . $dep['name'] . - ' operating system'); - } - - return $this->warning('warning: Cannot install %s on ' . - $dep['name'] . ' operating system'); - } - } else { - if (strtolower($dep['name']) != strtolower($this->getSysname())) { - if (!isset($this->_options['nodeps']) && !isset($this->_options['force'])) { - return $this->raiseError('Cannot install %s on ' . - $this->getSysname() . - ' operating system, can only install on ' . $dep['name']); - } - - return $this->warning('warning: Cannot install %s on ' . - $this->getSysname() . - ' operating system, can only install on ' . $dep['name']); - } - } - } - return true; - } - - /** - * This makes unit-testing a heck of a lot easier - */ - function matchSignature($pattern) - { - return $this->_os->matchSignature($pattern); - } - - /** - * Specify a complex dependency on an OS/processor/kernel version, - * Use OS for simple operating system dependency. - * - * This is the only dependency that accepts an eregable pattern. The pattern - * will be matched against the php_uname() output parsed by OS_Guess - */ - function validateArchDependency($dep) - { - if ($this->_state != PEAR_VALIDATE_INSTALLING) { - return true; - } - - $not = isset($dep['conflicts']) ? true : false; - if (!$this->matchSignature($dep['pattern'])) { - if (!$not) { - if (!isset($this->_options['nodeps']) && !isset($this->_options['force'])) { - return $this->raiseError('%s Architecture dependency failed, does not ' . - 'match "' . $dep['pattern'] . '"'); - } - - return $this->warning('warning: %s Architecture dependency failed, does ' . - 'not match "' . $dep['pattern'] . '"'); - } - - return true; - } - - if ($not) { - if (!isset($this->_options['nodeps']) && !isset($this->_options['force'])) { - return $this->raiseError('%s Architecture dependency failed, required "' . - $dep['pattern'] . '"'); - } - - return $this->warning('warning: %s Architecture dependency failed, ' . - 'required "' . $dep['pattern'] . '"'); - } - - return true; - } - - /** - * This makes unit-testing a heck of a lot easier - */ - function extension_loaded($name) - { - return extension_loaded($name); - } - - /** - * This makes unit-testing a heck of a lot easier - */ - function phpversion($name = null) - { - if ($name !== null) { - return phpversion($name); - } - - return phpversion(); - } - - function validateExtensionDependency($dep, $required = true) - { - if ($this->_state != PEAR_VALIDATE_INSTALLING && - $this->_state != PEAR_VALIDATE_DOWNLOADING) { - return true; - } - - $loaded = $this->extension_loaded($dep['name']); - $extra = $this->_getExtraString($dep); - if (isset($dep['exclude'])) { - if (!is_array($dep['exclude'])) { - $dep['exclude'] = array($dep['exclude']); - } - } - - if (!isset($dep['min']) && !isset($dep['max']) && - !isset($dep['recommended']) && !isset($dep['exclude']) - ) { - if ($loaded) { - if (isset($dep['conflicts'])) { - if (!isset($this->_options['nodeps']) && !isset($this->_options['force'])) { - return $this->raiseError('%s conflicts with PHP extension "' . - $dep['name'] . '"' . $extra); - } - - return $this->warning('warning: %s conflicts with PHP extension "' . - $dep['name'] . '"' . $extra); - } - - return true; - } - - if (isset($dep['conflicts'])) { - return true; - } - - if ($required) { - if (!isset($this->_options['nodeps']) && !isset($this->_options['force'])) { - return $this->raiseError('%s requires PHP extension "' . - $dep['name'] . '"' . $extra); - } - - return $this->warning('warning: %s requires PHP extension "' . - $dep['name'] . '"' . $extra); - } - - return $this->warning('%s can optionally use PHP extension "' . - $dep['name'] . '"' . $extra); - } - - if (!$loaded) { - if (isset($dep['conflicts'])) { - return true; - } - - if (!$required) { - return $this->warning('%s can optionally use PHP extension "' . - $dep['name'] . '"' . $extra); - } - - if (!isset($this->_options['nodeps']) && !isset($this->_options['force'])) { - return $this->raiseError('%s requires PHP extension "' . $dep['name'] . - '"' . $extra); - } - - return $this->warning('warning: %s requires PHP extension "' . $dep['name'] . - '"' . $extra); - } - - $version = (string) $this->phpversion($dep['name']); - if (empty($version)) { - $version = '0'; - } - - $fail = false; - if (isset($dep['min']) && !version_compare($version, $dep['min'], '>=')) { - $fail = true; - } - - if (isset($dep['max']) && !version_compare($version, $dep['max'], '<=')) { - $fail = true; - } - - if ($fail && !isset($dep['conflicts'])) { - if (!isset($this->_options['nodeps']) && !isset($this->_options['force'])) { - return $this->raiseError('%s requires PHP extension "' . $dep['name'] . - '"' . $extra . ', installed version is ' . $version); - } - - return $this->warning('warning: %s requires PHP extension "' . $dep['name'] . - '"' . $extra . ', installed version is ' . $version); - } elseif ((isset($dep['min']) || isset($dep['max'])) && !$fail && isset($dep['conflicts'])) { - if (!isset($this->_options['nodeps']) && !isset($this->_options['force'])) { - return $this->raiseError('%s conflicts with PHP extension "' . - $dep['name'] . '"' . $extra . ', installed version is ' . $version); - } - - return $this->warning('warning: %s conflicts with PHP extension "' . - $dep['name'] . '"' . $extra . ', installed version is ' . $version); - } - - if (isset($dep['exclude'])) { - foreach ($dep['exclude'] as $exclude) { - if (version_compare($version, $exclude, '==')) { - if (isset($dep['conflicts'])) { - continue; - } - - if (!isset($this->_options['nodeps']) && !isset($this->_options['force'])) { - return $this->raiseError('%s is not compatible with PHP extension "' . - $dep['name'] . '" version ' . - $exclude); - } - - return $this->warning('warning: %s is not compatible with PHP extension "' . - $dep['name'] . '" version ' . - $exclude); - } elseif (version_compare($version, $exclude, '!=') && isset($dep['conflicts'])) { - if (!isset($this->_options['nodeps']) && !isset($this->_options['force'])) { - return $this->raiseError('%s conflicts with PHP extension "' . - $dep['name'] . '"' . $extra . ', installed version is ' . $version); - } - - return $this->warning('warning: %s conflicts with PHP extension "' . - $dep['name'] . '"' . $extra . ', installed version is ' . $version); - } - } - } - - if (isset($dep['recommended'])) { - if (version_compare($version, $dep['recommended'], '==')) { - return true; - } - - if (!isset($this->_options['nodeps']) && !isset($this->_options['force'])) { - return $this->raiseError('%s dependency: PHP extension ' . $dep['name'] . - ' version "' . $version . '"' . - ' is not the recommended version "' . $dep['recommended'] . - '", but may be compatible, use --force to install'); - } - - return $this->warning('warning: %s dependency: PHP extension ' . - $dep['name'] . ' version "' . $version . '"' . - ' is not the recommended version "' . $dep['recommended'].'"'); - } - - return true; - } - - function validatePhpDependency($dep) - { - if ($this->_state != PEAR_VALIDATE_INSTALLING && - $this->_state != PEAR_VALIDATE_DOWNLOADING) { - return true; - } - - $version = $this->phpversion(); - $extra = $this->_getExtraString($dep); - if (isset($dep['exclude'])) { - if (!is_array($dep['exclude'])) { - $dep['exclude'] = array($dep['exclude']); - } - } - - if (isset($dep['min'])) { - if (!version_compare($version, $dep['min'], '>=')) { - if (!isset($this->_options['nodeps']) && !isset($this->_options['force'])) { - return $this->raiseError('%s requires PHP' . - $extra . ', installed version is ' . $version); - } - - return $this->warning('warning: %s requires PHP' . - $extra . ', installed version is ' . $version); - } - } - - if (isset($dep['max'])) { - if (!version_compare($version, $dep['max'], '<=')) { - if (!isset($this->_options['nodeps']) && !isset($this->_options['force'])) { - return $this->raiseError('%s requires PHP' . - $extra . ', installed version is ' . $version); - } - - return $this->warning('warning: %s requires PHP' . - $extra . ', installed version is ' . $version); - } - } - - if (isset($dep['exclude'])) { - foreach ($dep['exclude'] as $exclude) { - if (version_compare($version, $exclude, '==')) { - if (!isset($this->_options['nodeps']) && !isset($this->_options['force'])) { - return $this->raiseError('%s is not compatible with PHP version ' . - $exclude); - } - - return $this->warning( - 'warning: %s is not compatible with PHP version ' . - $exclude); - } - } - } - - return true; - } - - /** - * This makes unit-testing a heck of a lot easier - */ - function getPEARVersion() - { - return '1.9.4'; - } - - function validatePearinstallerDependency($dep) - { - $pearversion = $this->getPEARVersion(); - $extra = $this->_getExtraString($dep); - if (isset($dep['exclude'])) { - if (!is_array($dep['exclude'])) { - $dep['exclude'] = array($dep['exclude']); - } - } - - if (version_compare($pearversion, $dep['min'], '<')) { - if (!isset($this->_options['nodeps']) && !isset($this->_options['force'])) { - return $this->raiseError('%s requires PEAR Installer' . $extra . - ', installed version is ' . $pearversion); - } - - return $this->warning('warning: %s requires PEAR Installer' . $extra . - ', installed version is ' . $pearversion); - } - - if (isset($dep['max'])) { - if (version_compare($pearversion, $dep['max'], '>')) { - if (!isset($this->_options['nodeps']) && !isset($this->_options['force'])) { - return $this->raiseError('%s requires PEAR Installer' . $extra . - ', installed version is ' . $pearversion); - } - - return $this->warning('warning: %s requires PEAR Installer' . $extra . - ', installed version is ' . $pearversion); - } - } - - if (isset($dep['exclude'])) { - if (!isset($dep['exclude'][0])) { - $dep['exclude'] = array($dep['exclude']); - } - - foreach ($dep['exclude'] as $exclude) { - if (version_compare($exclude, $pearversion, '==')) { - if (!isset($this->_options['nodeps']) && !isset($this->_options['force'])) { - return $this->raiseError('%s is not compatible with PEAR Installer ' . - 'version ' . $exclude); - } - - return $this->warning('warning: %s is not compatible with PEAR ' . - 'Installer version ' . $exclude); - } - } - } - - return true; - } - - function validateSubpackageDependency($dep, $required, $params) - { - return $this->validatePackageDependency($dep, $required, $params); - } - - /** - * @param array dependency information (2.0 format) - * @param boolean whether this is a required dependency - * @param array a list of downloaded packages to be installed, if any - * @param boolean if true, then deps on pear.php.net that fail will also check - * against pecl.php.net packages to accomodate extensions that have - * moved to pecl.php.net from pear.php.net - */ - function validatePackageDependency($dep, $required, $params, $depv1 = false) - { - if ($this->_state != PEAR_VALIDATE_INSTALLING && - $this->_state != PEAR_VALIDATE_DOWNLOADING) { - return true; - } - - if (isset($dep['providesextension'])) { - if ($this->extension_loaded($dep['providesextension'])) { - $save = $dep; - $subdep = $dep; - $subdep['name'] = $subdep['providesextension']; - PEAR::pushErrorHandling(PEAR_ERROR_RETURN); - $ret = $this->validateExtensionDependency($subdep, $required); - PEAR::popErrorHandling(); - if (!PEAR::isError($ret)) { - return true; - } - } - } - - if ($this->_state == PEAR_VALIDATE_INSTALLING) { - return $this->_validatePackageInstall($dep, $required, $depv1); - } - - if ($this->_state == PEAR_VALIDATE_DOWNLOADING) { - return $this->_validatePackageDownload($dep, $required, $params, $depv1); - } - } - - function _validatePackageDownload($dep, $required, $params, $depv1 = false) - { - $dep['package'] = $dep['name']; - if (isset($dep['uri'])) { - $dep['channel'] = '__uri'; - } - - $depname = $this->_registry->parsedPackageNameToString($dep, true); - $found = false; - foreach ($params as $param) { - if ($param->isEqual( - array('package' => $dep['name'], - 'channel' => $dep['channel']))) { - $found = true; - break; - } - - if ($depv1 && $dep['channel'] == 'pear.php.net') { - if ($param->isEqual( - array('package' => $dep['name'], - 'channel' => 'pecl.php.net'))) { - $found = true; - break; - } - } - } - - if (!$found && isset($dep['providesextension'])) { - foreach ($params as $param) { - if ($param->isExtension($dep['providesextension'])) { - $found = true; - break; - } - } - } - - if ($found) { - $version = $param->getVersion(); - $installed = false; - $downloaded = true; - } else { - if ($this->_registry->packageExists($dep['name'], $dep['channel'])) { - $installed = true; - $downloaded = false; - $version = $this->_registry->packageinfo($dep['name'], 'version', - $dep['channel']); - } else { - if ($dep['channel'] == 'pecl.php.net' && $this->_registry->packageExists($dep['name'], - 'pear.php.net')) { - $installed = true; - $downloaded = false; - $version = $this->_registry->packageinfo($dep['name'], 'version', - 'pear.php.net'); - } else { - $version = 'not installed or downloaded'; - $installed = false; - $downloaded = false; - } - } - } - - $extra = $this->_getExtraString($dep); - if (isset($dep['exclude']) && !is_array($dep['exclude'])) { - $dep['exclude'] = array($dep['exclude']); - } - - if (!isset($dep['min']) && !isset($dep['max']) && - !isset($dep['recommended']) && !isset($dep['exclude']) - ) { - if ($installed || $downloaded) { - $installed = $installed ? 'installed' : 'downloaded'; - if (isset($dep['conflicts'])) { - $rest = ''; - if ($version) { - $rest = ", $installed version is " . $version; - } - - if (!isset($this->_options['nodeps']) && !isset($this->_options['force'])) { - return $this->raiseError('%s conflicts with package "' . $depname . '"' . $extra . $rest); - } - - return $this->warning('warning: %s conflicts with package "' . $depname . '"' . $extra . $rest); - } - - return true; - } - - if (isset($dep['conflicts'])) { - return true; - } - - if ($required) { - if (!isset($this->_options['nodeps']) && !isset($this->_options['force'])) { - return $this->raiseError('%s requires package "' . $depname . '"' . $extra); - } - - return $this->warning('warning: %s requires package "' . $depname . '"' . $extra); - } - - return $this->warning('%s can optionally use package "' . $depname . '"' . $extra); - } - - if (!$installed && !$downloaded) { - if (isset($dep['conflicts'])) { - return true; - } - - if ($required) { - if (!isset($this->_options['nodeps']) && !isset($this->_options['force'])) { - return $this->raiseError('%s requires package "' . $depname . '"' . $extra); - } - - return $this->warning('warning: %s requires package "' . $depname . '"' . $extra); - } - - return $this->warning('%s can optionally use package "' . $depname . '"' . $extra); - } - - $fail = false; - if (isset($dep['min']) && version_compare($version, $dep['min'], '<')) { - $fail = true; - } - - if (isset($dep['max']) && version_compare($version, $dep['max'], '>')) { - $fail = true; - } - - if ($fail && !isset($dep['conflicts'])) { - $installed = $installed ? 'installed' : 'downloaded'; - $dep['package'] = $dep['name']; - $dep = $this->_registry->parsedPackageNameToString($dep, true); - if (!isset($this->_options['nodeps']) && !isset($this->_options['force'])) { - return $this->raiseError('%s requires package "' . $depname . '"' . - $extra . ", $installed version is " . $version); - } - - return $this->warning('warning: %s requires package "' . $depname . '"' . - $extra . ", $installed version is " . $version); - } elseif ((isset($dep['min']) || isset($dep['max'])) && !$fail && - isset($dep['conflicts']) && !isset($dep['exclude'])) { - $installed = $installed ? 'installed' : 'downloaded'; - if (!isset($this->_options['nodeps']) && !isset($this->_options['force'])) { - return $this->raiseError('%s conflicts with package "' . $depname . '"' . $extra . - ", $installed version is " . $version); - } - - return $this->warning('warning: %s conflicts with package "' . $depname . '"' . - $extra . ", $installed version is " . $version); - } - - if (isset($dep['exclude'])) { - $installed = $installed ? 'installed' : 'downloaded'; - foreach ($dep['exclude'] as $exclude) { - if (version_compare($version, $exclude, '==') && !isset($dep['conflicts'])) { - if (!isset($this->_options['nodeps']) && - !isset($this->_options['force']) - ) { - return $this->raiseError('%s is not compatible with ' . - $installed . ' package "' . - $depname . '" version ' . - $exclude); - } - - return $this->warning('warning: %s is not compatible with ' . - $installed . ' package "' . - $depname . '" version ' . - $exclude); - } elseif (version_compare($version, $exclude, '!=') && isset($dep['conflicts'])) { - $installed = $installed ? 'installed' : 'downloaded'; - if (!isset($this->_options['nodeps']) && !isset($this->_options['force'])) { - return $this->raiseError('%s conflicts with package "' . $depname . '"' . - $extra . ", $installed version is " . $version); - } - - return $this->warning('warning: %s conflicts with package "' . $depname . '"' . - $extra . ", $installed version is " . $version); - } - } - } - - if (isset($dep['recommended'])) { - $installed = $installed ? 'installed' : 'downloaded'; - if (version_compare($version, $dep['recommended'], '==')) { - return true; - } - - if (!$found && $installed) { - $param = $this->_registry->getPackage($dep['name'], $dep['channel']); - } - - if ($param) { - $found = false; - foreach ($params as $parent) { - if ($parent->isEqual($this->_currentPackage)) { - $found = true; - break; - } - } - - if ($found) { - if ($param->isCompatible($parent)) { - return true; - } - } else { // this is for validPackage() calls - $parent = $this->_registry->getPackage($this->_currentPackage['package'], - $this->_currentPackage['channel']); - if ($parent !== null && $param->isCompatible($parent)) { - return true; - } - } - } - - if (!isset($this->_options['nodeps']) && !isset($this->_options['force']) && - !isset($this->_options['loose']) - ) { - return $this->raiseError('%s dependency package "' . $depname . - '" ' . $installed . ' version ' . $version . - ' is not the recommended version ' . $dep['recommended'] . - ', but may be compatible, use --force to install'); - } - - return $this->warning('warning: %s dependency package "' . $depname . - '" ' . $installed . ' version ' . $version . - ' is not the recommended version ' . $dep['recommended']); - } - - return true; - } - - function _validatePackageInstall($dep, $required, $depv1 = false) - { - return $this->_validatePackageDownload($dep, $required, array(), $depv1); - } - - /** - * Verify that uninstalling packages passed in to command line is OK. - * - * @param PEAR_Installer $dl - * @return PEAR_Error|true - */ - function validatePackageUninstall(&$dl) - { - if (PEAR::isError($this->_dependencydb)) { - return $this->_dependencydb; - } - - $params = array(); - // construct an array of "downloaded" packages to fool the package dependency checker - // into using these to validate uninstalls of circular dependencies - $downloaded = &$dl->getUninstallPackages(); - foreach ($downloaded as $i => $pf) { - if (!class_exists('PEAR_Downloader_Package')) { - require_once 'PEAR/Downloader/Package.php'; - } - $dp = &new PEAR_Downloader_Package($dl); - $dp->setPackageFile($downloaded[$i]); - $params[$i] = &$dp; - } - - // check cache - $memyselfandI = strtolower($this->_currentPackage['channel']) . '/' . - strtolower($this->_currentPackage['package']); - if (isset($dl->___uninstall_package_cache)) { - $badpackages = $dl->___uninstall_package_cache; - if (isset($badpackages[$memyselfandI]['warnings'])) { - foreach ($badpackages[$memyselfandI]['warnings'] as $warning) { - $dl->log(0, $warning[0]); - } - } - - if (isset($badpackages[$memyselfandI]['errors'])) { - foreach ($badpackages[$memyselfandI]['errors'] as $error) { - if (is_array($error)) { - $dl->log(0, $error[0]); - } else { - $dl->log(0, $error->getMessage()); - } - } - - if (isset($this->_options['nodeps']) || isset($this->_options['force'])) { - return $this->warning( - 'warning: %s should not be uninstalled, other installed packages depend ' . - 'on this package'); - } - - return $this->raiseError( - '%s cannot be uninstalled, other installed packages depend on this package'); - } - - return true; - } - - // first, list the immediate parents of each package to be uninstalled - $perpackagelist = array(); - $allparents = array(); - foreach ($params as $i => $param) { - $a = array( - 'channel' => strtolower($param->getChannel()), - 'package' => strtolower($param->getPackage()) - ); - - $deps = $this->_dependencydb->getDependentPackages($a); - if ($deps) { - foreach ($deps as $d) { - $pardeps = $this->_dependencydb->getDependencies($d); - foreach ($pardeps as $dep) { - if (strtolower($dep['dep']['channel']) == $a['channel'] && - strtolower($dep['dep']['name']) == $a['package']) { - if (!isset($perpackagelist[$a['channel'] . '/' . $a['package']])) { - $perpackagelist[$a['channel'] . '/' . $a['package']] = array(); - } - $perpackagelist[$a['channel'] . '/' . $a['package']][] - = array($d['channel'] . '/' . $d['package'], $dep); - if (!isset($allparents[$d['channel'] . '/' . $d['package']])) { - $allparents[$d['channel'] . '/' . $d['package']] = array(); - } - if (!isset($allparents[$d['channel'] . '/' . $d['package']][$a['channel'] . '/' . $a['package']])) { - $allparents[$d['channel'] . '/' . $d['package']][$a['channel'] . '/' . $a['package']] = array(); - } - $allparents[$d['channel'] . '/' . $d['package']] - [$a['channel'] . '/' . $a['package']][] - = array($d, $dep); - } - } - } - } - } - - // next, remove any packages from the parents list that are not installed - $remove = array(); - foreach ($allparents as $parent => $d1) { - foreach ($d1 as $d) { - if ($this->_registry->packageExists($d[0][0]['package'], $d[0][0]['channel'])) { - continue; - } - $remove[$parent] = true; - } - } - - // next remove any packages from the parents list that are not passed in for - // uninstallation - foreach ($allparents as $parent => $d1) { - foreach ($d1 as $d) { - foreach ($params as $param) { - if (strtolower($param->getChannel()) == $d[0][0]['channel'] && - strtolower($param->getPackage()) == $d[0][0]['package']) { - // found it - continue 3; - } - } - $remove[$parent] = true; - } - } - - // remove all packages whose dependencies fail - // save which ones failed for error reporting - $badchildren = array(); - do { - $fail = false; - foreach ($remove as $package => $unused) { - if (!isset($allparents[$package])) { - continue; - } - - foreach ($allparents[$package] as $kid => $d1) { - foreach ($d1 as $depinfo) { - if ($depinfo[1]['type'] != 'optional') { - if (isset($badchildren[$kid])) { - continue; - } - $badchildren[$kid] = true; - $remove[$kid] = true; - $fail = true; - continue 2; - } - } - } - if ($fail) { - // start over, we removed some children - continue 2; - } - } - } while ($fail); - - // next, construct the list of packages that can't be uninstalled - $badpackages = array(); - $save = $this->_currentPackage; - foreach ($perpackagelist as $package => $packagedeps) { - foreach ($packagedeps as $parent) { - if (!isset($remove[$parent[0]])) { - continue; - } - - $packagename = $this->_registry->parsePackageName($parent[0]); - $packagename['channel'] = $this->_registry->channelAlias($packagename['channel']); - $pa = $this->_registry->getPackage($packagename['package'], $packagename['channel']); - $packagename['package'] = $pa->getPackage(); - $this->_currentPackage = $packagename; - // parent is not present in uninstall list, make sure we can actually - // uninstall it (parent dep is optional) - $parentname['channel'] = $this->_registry->channelAlias($parent[1]['dep']['channel']); - $pa = $this->_registry->getPackage($parent[1]['dep']['name'], $parent[1]['dep']['channel']); - $parentname['package'] = $pa->getPackage(); - $parent[1]['dep']['package'] = $parentname['package']; - $parent[1]['dep']['channel'] = $parentname['channel']; - if ($parent[1]['type'] == 'optional') { - $test = $this->_validatePackageUninstall($parent[1]['dep'], false, $dl); - if ($test !== true) { - $badpackages[$package]['warnings'][] = $test; - } - } else { - $test = $this->_validatePackageUninstall($parent[1]['dep'], true, $dl); - if ($test !== true) { - $badpackages[$package]['errors'][] = $test; - } - } - } - } - - $this->_currentPackage = $save; - $dl->___uninstall_package_cache = $badpackages; - if (isset($badpackages[$memyselfandI])) { - if (isset($badpackages[$memyselfandI]['warnings'])) { - foreach ($badpackages[$memyselfandI]['warnings'] as $warning) { - $dl->log(0, $warning[0]); - } - } - - if (isset($badpackages[$memyselfandI]['errors'])) { - foreach ($badpackages[$memyselfandI]['errors'] as $error) { - if (is_array($error)) { - $dl->log(0, $error[0]); - } else { - $dl->log(0, $error->getMessage()); - } - } - - if (isset($this->_options['nodeps']) || isset($this->_options['force'])) { - return $this->warning( - 'warning: %s should not be uninstalled, other installed packages depend ' . - 'on this package'); - } - - return $this->raiseError( - '%s cannot be uninstalled, other installed packages depend on this package'); - } - } - - return true; - } - - function _validatePackageUninstall($dep, $required, $dl) - { - $depname = $this->_registry->parsedPackageNameToString($dep, true); - $version = $this->_registry->packageinfo($dep['package'], 'version', $dep['channel']); - if (!$version) { - return true; - } - - $extra = $this->_getExtraString($dep); - if (isset($dep['exclude']) && !is_array($dep['exclude'])) { - $dep['exclude'] = array($dep['exclude']); - } - - if (isset($dep['conflicts'])) { - return true; // uninstall OK - these packages conflict (probably installed with --force) - } - - if (!isset($dep['min']) && !isset($dep['max'])) { - if (!$required) { - return $this->warning('"' . $depname . '" can be optionally used by ' . - 'installed package %s' . $extra); - } - - if (!isset($this->_options['nodeps']) && !isset($this->_options['force'])) { - return $this->raiseError('"' . $depname . '" is required by ' . - 'installed package %s' . $extra); - } - - return $this->warning('warning: "' . $depname . '" is required by ' . - 'installed package %s' . $extra); - } - - $fail = false; - if (isset($dep['min']) && version_compare($version, $dep['min'], '>=')) { - $fail = true; - } - - if (isset($dep['max']) && version_compare($version, $dep['max'], '<=')) { - $fail = true; - } - - // we re-use this variable, preserve the original value - $saverequired = $required; - if (!$required) { - return $this->warning($depname . $extra . ' can be optionally used by installed package' . - ' "%s"'); - } - - if (!isset($this->_options['nodeps']) && !isset($this->_options['force'])) { - return $this->raiseError($depname . $extra . ' is required by installed package' . - ' "%s"'); - } - - return $this->raiseError('warning: ' . $depname . $extra . - ' is required by installed package "%s"'); - } - - /** - * validate a downloaded package against installed packages - * - * As of PEAR 1.4.3, this will only validate - * - * @param array|PEAR_Downloader_Package|PEAR_PackageFile_v1|PEAR_PackageFile_v2 - * $pkg package identifier (either - * array('package' => blah, 'channel' => blah) or an array with - * index 'info' referencing an object) - * @param PEAR_Downloader $dl - * @param array $params full list of packages to install - * @return true|PEAR_Error - */ - function validatePackage($pkg, &$dl, $params = array()) - { - if (is_array($pkg) && isset($pkg['info'])) { - $deps = $this->_dependencydb->getDependentPackageDependencies($pkg['info']); - } else { - $deps = $this->_dependencydb->getDependentPackageDependencies($pkg); - } - - $fail = false; - if ($deps) { - if (!class_exists('PEAR_Downloader_Package')) { - require_once 'PEAR/Downloader/Package.php'; - } - - $dp = &new PEAR_Downloader_Package($dl); - if (is_object($pkg)) { - $dp->setPackageFile($pkg); - } else { - $dp->setDownloadURL($pkg); - } - - PEAR::pushErrorHandling(PEAR_ERROR_RETURN); - foreach ($deps as $channel => $info) { - foreach ($info as $package => $ds) { - foreach ($params as $packd) { - if (strtolower($packd->getPackage()) == strtolower($package) && - $packd->getChannel() == $channel) { - $dl->log(3, 'skipping installed package check of "' . - $this->_registry->parsedPackageNameToString( - array('channel' => $channel, 'package' => $package), - true) . - '", version "' . $packd->getVersion() . '" will be ' . - 'downloaded and installed'); - continue 2; // jump to next package - } - } - - foreach ($ds as $d) { - $checker = &new PEAR_Dependency2($this->_config, $this->_options, - array('channel' => $channel, 'package' => $package), $this->_state); - $dep = $d['dep']; - $required = $d['type'] == 'required'; - $ret = $checker->_validatePackageDownload($dep, $required, array(&$dp)); - if (is_array($ret)) { - $dl->log(0, $ret[0]); - } elseif (PEAR::isError($ret)) { - $dl->log(0, $ret->getMessage()); - $fail = true; - } - } - } - } - PEAR::popErrorHandling(); - } - - if ($fail) { - return $this->raiseError( - '%s cannot be installed, conflicts with installed packages'); - } - - return true; - } - - /** - * validate a package.xml 1.0 dependency - */ - function validateDependency1($dep, $params = array()) - { - if (!isset($dep['optional'])) { - $dep['optional'] = 'no'; - } - - list($newdep, $type) = $this->normalizeDep($dep); - if (!$newdep) { - return $this->raiseError("Invalid Dependency"); - } - - if (method_exists($this, "validate{$type}Dependency")) { - return $this->{"validate{$type}Dependency"}($newdep, $dep['optional'] == 'no', - $params, true); - } - } - - /** - * Convert a 1.0 dep into a 2.0 dep - */ - function normalizeDep($dep) - { - $types = array( - 'pkg' => 'Package', - 'ext' => 'Extension', - 'os' => 'Os', - 'php' => 'Php' - ); - - if (!isset($types[$dep['type']])) { - return array(false, false); - } - - $type = $types[$dep['type']]; - - $newdep = array(); - switch ($type) { - case 'Package' : - $newdep['channel'] = 'pear.php.net'; - case 'Extension' : - case 'Os' : - $newdep['name'] = $dep['name']; - break; - } - - $dep['rel'] = PEAR_Dependency2::signOperator($dep['rel']); - switch ($dep['rel']) { - case 'has' : - return array($newdep, $type); - break; - case 'not' : - $newdep['conflicts'] = true; - break; - case '>=' : - case '>' : - $newdep['min'] = $dep['version']; - if ($dep['rel'] == '>') { - $newdep['exclude'] = $dep['version']; - } - break; - case '<=' : - case '<' : - $newdep['max'] = $dep['version']; - if ($dep['rel'] == '<') { - $newdep['exclude'] = $dep['version']; - } - break; - case 'ne' : - case '!=' : - $newdep['min'] = '0'; - $newdep['max'] = '100000'; - $newdep['exclude'] = $dep['version']; - break; - case '==' : - $newdep['min'] = $dep['version']; - $newdep['max'] = $dep['version']; - break; - } - if ($type == 'Php') { - if (!isset($newdep['min'])) { - $newdep['min'] = '4.4.0'; - } - - if (!isset($newdep['max'])) { - $newdep['max'] = '6.0.0'; - } - } - return array($newdep, $type); - } - - /** - * Converts text comparing operators to them sign equivalents - * - * Example: 'ge' to '>=' - * - * @access public - * @param string Operator - * @return string Sign equivalent - */ - function signOperator($operator) - { - switch($operator) { - case 'lt': return '<'; - case 'le': return '<='; - case 'gt': return '>'; - case 'ge': return '>='; - case 'eq': return '=='; - case 'ne': return '!='; - default: - return $operator; - } - } - - function raiseError($msg) - { - if (isset($this->_options['ignore-errors'])) { - return $this->warning($msg); - } - - return PEAR::raiseError(sprintf($msg, $this->_registry->parsedPackageNameToString( - $this->_currentPackage, true))); - } - - function warning($msg) - { - return array(sprintf($msg, $this->_registry->parsedPackageNameToString( - $this->_currentPackage, true))); - } -} \ No newline at end of file diff --git a/3rdparty/PEAR/DependencyDB.php b/3rdparty/PEAR/DependencyDB.php deleted file mode 100644 index 948f0c9d7083e31f27aa22b6caa340486d603a50..0000000000000000000000000000000000000000 --- a/3rdparty/PEAR/DependencyDB.php +++ /dev/null @@ -1,769 +0,0 @@ - - * @author Greg Beaver - * @copyright 1997-2009 The Authors - * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: DependencyDB.php 313023 2011-07-06 19:17:11Z dufuz $ - * @link http://pear.php.net/package/PEAR - * @since File available since Release 1.4.0a1 - */ - -/** - * Needed for error handling - */ -require_once 'PEAR.php'; -require_once 'PEAR/Config.php'; - -$GLOBALS['_PEAR_DEPENDENCYDB_INSTANCE'] = array(); -/** - * Track dependency relationships between installed packages - * @category pear - * @package PEAR - * @author Greg Beaver - * @author Tomas V.V.Cox - * @copyright 1997-2009 The Authors - * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.4 - * @link http://pear.php.net/package/PEAR - * @since Class available since Release 1.4.0a1 - */ -class PEAR_DependencyDB -{ - // {{{ properties - - /** - * This is initialized by {@link setConfig()} - * @var PEAR_Config - * @access private - */ - var $_config; - /** - * This is initialized by {@link setConfig()} - * @var PEAR_Registry - * @access private - */ - var $_registry; - /** - * Filename of the dependency DB (usually .depdb) - * @var string - * @access private - */ - var $_depdb = false; - /** - * File name of the lockfile (usually .depdblock) - * @var string - * @access private - */ - var $_lockfile = false; - /** - * Open file resource for locking the lockfile - * @var resource|false - * @access private - */ - var $_lockFp = false; - /** - * API version of this class, used to validate a file on-disk - * @var string - * @access private - */ - var $_version = '1.0'; - /** - * Cached dependency database file - * @var array|null - * @access private - */ - var $_cache; - - // }}} - // {{{ & singleton() - - /** - * Get a raw dependency database. Calls setConfig() and assertDepsDB() - * @param PEAR_Config - * @param string|false full path to the dependency database, or false to use default - * @return PEAR_DependencyDB|PEAR_Error - * @static - */ - function &singleton(&$config, $depdb = false) - { - $phpdir = $config->get('php_dir', null, 'pear.php.net'); - if (!isset($GLOBALS['_PEAR_DEPENDENCYDB_INSTANCE'][$phpdir])) { - $a = new PEAR_DependencyDB; - $GLOBALS['_PEAR_DEPENDENCYDB_INSTANCE'][$phpdir] = &$a; - $a->setConfig($config, $depdb); - $e = $a->assertDepsDB(); - if (PEAR::isError($e)) { - return $e; - } - } - - return $GLOBALS['_PEAR_DEPENDENCYDB_INSTANCE'][$phpdir]; - } - - /** - * Set up the registry/location of dependency DB - * @param PEAR_Config|false - * @param string|false full path to the dependency database, or false to use default - */ - function setConfig(&$config, $depdb = false) - { - if (!$config) { - $this->_config = &PEAR_Config::singleton(); - } else { - $this->_config = &$config; - } - - $this->_registry = &$this->_config->getRegistry(); - if (!$depdb) { - $this->_depdb = $this->_config->get('php_dir', null, 'pear.php.net') . - DIRECTORY_SEPARATOR . '.depdb'; - } else { - $this->_depdb = $depdb; - } - - $this->_lockfile = dirname($this->_depdb) . DIRECTORY_SEPARATOR . '.depdblock'; - } - // }}} - - function hasWriteAccess() - { - if (!file_exists($this->_depdb)) { - $dir = $this->_depdb; - while ($dir && $dir != '.') { - $dir = dirname($dir); // cd .. - if ($dir != '.' && file_exists($dir)) { - if (is_writeable($dir)) { - return true; - } - - return false; - } - } - - return false; - } - - return is_writeable($this->_depdb); - } - - // {{{ assertDepsDB() - - /** - * Create the dependency database, if it doesn't exist. Error if the database is - * newer than the code reading it. - * @return void|PEAR_Error - */ - function assertDepsDB() - { - if (!is_file($this->_depdb)) { - $this->rebuildDB(); - return; - } - - $depdb = $this->_getDepDB(); - // Datatype format has been changed, rebuild the Deps DB - if ($depdb['_version'] < $this->_version) { - $this->rebuildDB(); - } - - if ($depdb['_version']{0} > $this->_version{0}) { - return PEAR::raiseError('Dependency database is version ' . - $depdb['_version'] . ', and we are version ' . - $this->_version . ', cannot continue'); - } - } - - /** - * Get a list of installed packages that depend on this package - * @param PEAR_PackageFile_v1|PEAR_PackageFile_v2|array - * @return array|false - */ - function getDependentPackages(&$pkg) - { - $data = $this->_getDepDB(); - if (is_object($pkg)) { - $channel = strtolower($pkg->getChannel()); - $package = strtolower($pkg->getPackage()); - } else { - $channel = strtolower($pkg['channel']); - $package = strtolower($pkg['package']); - } - - if (isset($data['packages'][$channel][$package])) { - return $data['packages'][$channel][$package]; - } - - return false; - } - - /** - * Get a list of the actual dependencies of installed packages that depend on - * a package. - * @param PEAR_PackageFile_v1|PEAR_PackageFile_v2|array - * @return array|false - */ - function getDependentPackageDependencies(&$pkg) - { - $data = $this->_getDepDB(); - if (is_object($pkg)) { - $channel = strtolower($pkg->getChannel()); - $package = strtolower($pkg->getPackage()); - } else { - $channel = strtolower($pkg['channel']); - $package = strtolower($pkg['package']); - } - - $depend = $this->getDependentPackages($pkg); - if (!$depend) { - return false; - } - - $dependencies = array(); - foreach ($depend as $info) { - $temp = $this->getDependencies($info); - foreach ($temp as $dep) { - if ( - isset($dep['dep'], $dep['dep']['channel'], $dep['dep']['name']) && - strtolower($dep['dep']['channel']) == $channel && - strtolower($dep['dep']['name']) == $package - ) { - if (!isset($dependencies[$info['channel']])) { - $dependencies[$info['channel']] = array(); - } - - if (!isset($dependencies[$info['channel']][$info['package']])) { - $dependencies[$info['channel']][$info['package']] = array(); - } - $dependencies[$info['channel']][$info['package']][] = $dep; - } - } - } - - return $dependencies; - } - - /** - * Get a list of dependencies of this installed package - * @param PEAR_PackageFile_v1|PEAR_PackageFile_v2|array - * @return array|false - */ - function getDependencies(&$pkg) - { - if (is_object($pkg)) { - $channel = strtolower($pkg->getChannel()); - $package = strtolower($pkg->getPackage()); - } else { - $channel = strtolower($pkg['channel']); - $package = strtolower($pkg['package']); - } - - $data = $this->_getDepDB(); - if (isset($data['dependencies'][$channel][$package])) { - return $data['dependencies'][$channel][$package]; - } - - return false; - } - - /** - * Determine whether $parent depends on $child, near or deep - * @param array|PEAR_PackageFile_v2|PEAR_PackageFile_v2 - * @param array|PEAR_PackageFile_v2|PEAR_PackageFile_v2 - */ - function dependsOn($parent, $child) - { - $c = array(); - $this->_getDepDB(); - return $this->_dependsOn($parent, $child, $c); - } - - function _dependsOn($parent, $child, &$checked) - { - if (is_object($parent)) { - $channel = strtolower($parent->getChannel()); - $package = strtolower($parent->getPackage()); - } else { - $channel = strtolower($parent['channel']); - $package = strtolower($parent['package']); - } - - if (is_object($child)) { - $depchannel = strtolower($child->getChannel()); - $deppackage = strtolower($child->getPackage()); - } else { - $depchannel = strtolower($child['channel']); - $deppackage = strtolower($child['package']); - } - - if (isset($checked[$channel][$package][$depchannel][$deppackage])) { - return false; // avoid endless recursion - } - - $checked[$channel][$package][$depchannel][$deppackage] = true; - if (!isset($this->_cache['dependencies'][$channel][$package])) { - return false; - } - - foreach ($this->_cache['dependencies'][$channel][$package] as $info) { - if (isset($info['dep']['uri'])) { - if (is_object($child)) { - if ($info['dep']['uri'] == $child->getURI()) { - return true; - } - } elseif (isset($child['uri'])) { - if ($info['dep']['uri'] == $child['uri']) { - return true; - } - } - return false; - } - - if (strtolower($info['dep']['channel']) == $depchannel && - strtolower($info['dep']['name']) == $deppackage) { - return true; - } - } - - foreach ($this->_cache['dependencies'][$channel][$package] as $info) { - if (isset($info['dep']['uri'])) { - if ($this->_dependsOn(array( - 'uri' => $info['dep']['uri'], - 'package' => $info['dep']['name']), $child, $checked)) { - return true; - } - } else { - if ($this->_dependsOn(array( - 'channel' => $info['dep']['channel'], - 'package' => $info['dep']['name']), $child, $checked)) { - return true; - } - } - } - - return false; - } - - /** - * Register dependencies of a package that is being installed or upgraded - * @param PEAR_PackageFile_v2|PEAR_PackageFile_v2 - */ - function installPackage(&$package) - { - $data = $this->_getDepDB(); - unset($this->_cache); - $this->_setPackageDeps($data, $package); - $this->_writeDepDB($data); - } - - /** - * Remove dependencies of a package that is being uninstalled, or upgraded. - * - * Upgraded packages first uninstall, then install - * @param PEAR_PackageFile_v1|PEAR_PackageFile_v2|array If an array, then it must have - * indices 'channel' and 'package' - */ - function uninstallPackage(&$pkg) - { - $data = $this->_getDepDB(); - unset($this->_cache); - if (is_object($pkg)) { - $channel = strtolower($pkg->getChannel()); - $package = strtolower($pkg->getPackage()); - } else { - $channel = strtolower($pkg['channel']); - $package = strtolower($pkg['package']); - } - - if (!isset($data['dependencies'][$channel][$package])) { - return true; - } - - foreach ($data['dependencies'][$channel][$package] as $dep) { - $found = false; - $depchannel = isset($dep['dep']['uri']) ? '__uri' : strtolower($dep['dep']['channel']); - $depname = strtolower($dep['dep']['name']); - if (isset($data['packages'][$depchannel][$depname])) { - foreach ($data['packages'][$depchannel][$depname] as $i => $info) { - if ($info['channel'] == $channel && $info['package'] == $package) { - $found = true; - break; - } - } - } - - if ($found) { - unset($data['packages'][$depchannel][$depname][$i]); - if (!count($data['packages'][$depchannel][$depname])) { - unset($data['packages'][$depchannel][$depname]); - if (!count($data['packages'][$depchannel])) { - unset($data['packages'][$depchannel]); - } - } else { - $data['packages'][$depchannel][$depname] = - array_values($data['packages'][$depchannel][$depname]); - } - } - } - - unset($data['dependencies'][$channel][$package]); - if (!count($data['dependencies'][$channel])) { - unset($data['dependencies'][$channel]); - } - - if (!count($data['dependencies'])) { - unset($data['dependencies']); - } - - if (!count($data['packages'])) { - unset($data['packages']); - } - - $this->_writeDepDB($data); - } - - /** - * Rebuild the dependency DB by reading registry entries. - * @return true|PEAR_Error - */ - function rebuildDB() - { - $depdb = array('_version' => $this->_version); - if (!$this->hasWriteAccess()) { - // allow startup for read-only with older Registry - return $depdb; - } - - $packages = $this->_registry->listAllPackages(); - if (PEAR::isError($packages)) { - return $packages; - } - - foreach ($packages as $channel => $ps) { - foreach ($ps as $package) { - $package = $this->_registry->getPackage($package, $channel); - if (PEAR::isError($package)) { - return $package; - } - $this->_setPackageDeps($depdb, $package); - } - } - - $error = $this->_writeDepDB($depdb); - if (PEAR::isError($error)) { - return $error; - } - - $this->_cache = $depdb; - return true; - } - - /** - * Register usage of the dependency DB to prevent race conditions - * @param int one of the LOCK_* constants - * @return true|PEAR_Error - * @access private - */ - function _lock($mode = LOCK_EX) - { - if (stristr(php_uname(), 'Windows 9')) { - return true; - } - - if ($mode != LOCK_UN && is_resource($this->_lockFp)) { - // XXX does not check type of lock (LOCK_SH/LOCK_EX) - return true; - } - - $open_mode = 'w'; - // XXX People reported problems with LOCK_SH and 'w' - if ($mode === LOCK_SH) { - if (!file_exists($this->_lockfile)) { - touch($this->_lockfile); - } elseif (!is_file($this->_lockfile)) { - return PEAR::raiseError('could not create Dependency lock file, ' . - 'it exists and is not a regular file'); - } - $open_mode = 'r'; - } - - if (!is_resource($this->_lockFp)) { - $this->_lockFp = @fopen($this->_lockfile, $open_mode); - } - - if (!is_resource($this->_lockFp)) { - return PEAR::raiseError("could not create Dependency lock file" . - (isset($php_errormsg) ? ": " . $php_errormsg : "")); - } - - if (!(int)flock($this->_lockFp, $mode)) { - switch ($mode) { - case LOCK_SH: $str = 'shared'; break; - case LOCK_EX: $str = 'exclusive'; break; - case LOCK_UN: $str = 'unlock'; break; - default: $str = 'unknown'; break; - } - - return PEAR::raiseError("could not acquire $str lock ($this->_lockfile)"); - } - - return true; - } - - /** - * Release usage of dependency DB - * @return true|PEAR_Error - * @access private - */ - function _unlock() - { - $ret = $this->_lock(LOCK_UN); - if (is_resource($this->_lockFp)) { - fclose($this->_lockFp); - } - $this->_lockFp = null; - return $ret; - } - - /** - * Load the dependency database from disk, or return the cache - * @return array|PEAR_Error - */ - function _getDepDB() - { - if (!$this->hasWriteAccess()) { - return array('_version' => $this->_version); - } - - if (isset($this->_cache)) { - return $this->_cache; - } - - if (!$fp = fopen($this->_depdb, 'r')) { - $err = PEAR::raiseError("Could not open dependencies file `".$this->_depdb."'"); - return $err; - } - - $rt = get_magic_quotes_runtime(); - set_magic_quotes_runtime(0); - clearstatcache(); - fclose($fp); - $data = unserialize(file_get_contents($this->_depdb)); - set_magic_quotes_runtime($rt); - $this->_cache = $data; - return $data; - } - - /** - * Write out the dependency database to disk - * @param array the database - * @return true|PEAR_Error - * @access private - */ - function _writeDepDB(&$deps) - { - if (PEAR::isError($e = $this->_lock(LOCK_EX))) { - return $e; - } - - if (!$fp = fopen($this->_depdb, 'wb')) { - $this->_unlock(); - return PEAR::raiseError("Could not open dependencies file `".$this->_depdb."' for writing"); - } - - $rt = get_magic_quotes_runtime(); - set_magic_quotes_runtime(0); - fwrite($fp, serialize($deps)); - set_magic_quotes_runtime($rt); - fclose($fp); - $this->_unlock(); - $this->_cache = $deps; - return true; - } - - /** - * Register all dependencies from a package in the dependencies database, in essence - * "installing" the package's dependency information - * @param array the database - * @param PEAR_PackageFile_v1|PEAR_PackageFile_v2 - * @access private - */ - function _setPackageDeps(&$data, &$pkg) - { - $pkg->setConfig($this->_config); - if ($pkg->getPackagexmlVersion() == '1.0') { - $gen = &$pkg->getDefaultGenerator(); - $deps = $gen->dependenciesToV2(); - } else { - $deps = $pkg->getDeps(true); - } - - if (!$deps) { - return; - } - - if (!is_array($data)) { - $data = array(); - } - - if (!isset($data['dependencies'])) { - $data['dependencies'] = array(); - } - - $channel = strtolower($pkg->getChannel()); - $package = strtolower($pkg->getPackage()); - - if (!isset($data['dependencies'][$channel])) { - $data['dependencies'][$channel] = array(); - } - - $data['dependencies'][$channel][$package] = array(); - if (isset($deps['required']['package'])) { - if (!isset($deps['required']['package'][0])) { - $deps['required']['package'] = array($deps['required']['package']); - } - - foreach ($deps['required']['package'] as $dep) { - $this->_registerDep($data, $pkg, $dep, 'required'); - } - } - - if (isset($deps['optional']['package'])) { - if (!isset($deps['optional']['package'][0])) { - $deps['optional']['package'] = array($deps['optional']['package']); - } - - foreach ($deps['optional']['package'] as $dep) { - $this->_registerDep($data, $pkg, $dep, 'optional'); - } - } - - if (isset($deps['required']['subpackage'])) { - if (!isset($deps['required']['subpackage'][0])) { - $deps['required']['subpackage'] = array($deps['required']['subpackage']); - } - - foreach ($deps['required']['subpackage'] as $dep) { - $this->_registerDep($data, $pkg, $dep, 'required'); - } - } - - if (isset($deps['optional']['subpackage'])) { - if (!isset($deps['optional']['subpackage'][0])) { - $deps['optional']['subpackage'] = array($deps['optional']['subpackage']); - } - - foreach ($deps['optional']['subpackage'] as $dep) { - $this->_registerDep($data, $pkg, $dep, 'optional'); - } - } - - if (isset($deps['group'])) { - if (!isset($deps['group'][0])) { - $deps['group'] = array($deps['group']); - } - - foreach ($deps['group'] as $group) { - if (isset($group['package'])) { - if (!isset($group['package'][0])) { - $group['package'] = array($group['package']); - } - - foreach ($group['package'] as $dep) { - $this->_registerDep($data, $pkg, $dep, 'optional', - $group['attribs']['name']); - } - } - - if (isset($group['subpackage'])) { - if (!isset($group['subpackage'][0])) { - $group['subpackage'] = array($group['subpackage']); - } - - foreach ($group['subpackage'] as $dep) { - $this->_registerDep($data, $pkg, $dep, 'optional', - $group['attribs']['name']); - } - } - } - } - - if ($data['dependencies'][$channel][$package] == array()) { - unset($data['dependencies'][$channel][$package]); - if (!count($data['dependencies'][$channel])) { - unset($data['dependencies'][$channel]); - } - } - } - - /** - * @param array the database - * @param PEAR_PackageFile_v1|PEAR_PackageFile_v2 - * @param array the specific dependency - * @param required|optional whether this is a required or an optional dep - * @param string|false dependency group this dependency is from, or false for ordinary dep - */ - function _registerDep(&$data, &$pkg, $dep, $type, $group = false) - { - $info = array( - 'dep' => $dep, - 'type' => $type, - 'group' => $group - ); - - $dep = array_map('strtolower', $dep); - $depchannel = isset($dep['channel']) ? $dep['channel'] : '__uri'; - if (!isset($data['dependencies'])) { - $data['dependencies'] = array(); - } - - $channel = strtolower($pkg->getChannel()); - $package = strtolower($pkg->getPackage()); - - if (!isset($data['dependencies'][$channel])) { - $data['dependencies'][$channel] = array(); - } - - if (!isset($data['dependencies'][$channel][$package])) { - $data['dependencies'][$channel][$package] = array(); - } - - $data['dependencies'][$channel][$package][] = $info; - if (isset($data['packages'][$depchannel][$dep['name']])) { - $found = false; - foreach ($data['packages'][$depchannel][$dep['name']] as $i => $p) { - if ($p['channel'] == $channel && $p['package'] == $package) { - $found = true; - break; - } - } - } else { - if (!isset($data['packages'])) { - $data['packages'] = array(); - } - - if (!isset($data['packages'][$depchannel])) { - $data['packages'][$depchannel] = array(); - } - - if (!isset($data['packages'][$depchannel][$dep['name']])) { - $data['packages'][$depchannel][$dep['name']] = array(); - } - - $found = false; - } - - if (!$found) { - $data['packages'][$depchannel][$dep['name']][] = array( - 'channel' => $channel, - 'package' => $package - ); - } - } -} \ No newline at end of file diff --git a/3rdparty/PEAR/Downloader.php b/3rdparty/PEAR/Downloader.php deleted file mode 100644 index 730df0b73874bc2da179c692d14a3bf896ce6de7..0000000000000000000000000000000000000000 --- a/3rdparty/PEAR/Downloader.php +++ /dev/null @@ -1,1766 +0,0 @@ - - * @author Stig Bakken - * @author Tomas V. V. Cox - * @author Martin Jansen - * @copyright 1997-2009 The Authors - * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: Downloader.php 313024 2011-07-06 19:51:24Z dufuz $ - * @link http://pear.php.net/package/PEAR - * @since File available since Release 1.3.0 - */ - -/** - * Needed for constants, extending - */ -require_once 'PEAR/Common.php'; - -define('PEAR_INSTALLER_OK', 1); -define('PEAR_INSTALLER_FAILED', 0); -define('PEAR_INSTALLER_SKIPPED', -1); -define('PEAR_INSTALLER_ERROR_NO_PREF_STATE', 2); - -/** - * Administration class used to download anything from the internet (PEAR Packages, - * static URLs, xml files) - * - * @category pear - * @package PEAR - * @author Greg Beaver - * @author Stig Bakken - * @author Tomas V. V. Cox - * @author Martin Jansen - * @copyright 1997-2009 The Authors - * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.4 - * @link http://pear.php.net/package/PEAR - * @since Class available since Release 1.3.0 - */ -class PEAR_Downloader extends PEAR_Common -{ - /** - * @var PEAR_Registry - * @access private - */ - var $_registry; - - /** - * Preferred Installation State (snapshot, devel, alpha, beta, stable) - * @var string|null - * @access private - */ - var $_preferredState; - - /** - * Options from command-line passed to Install. - * - * Recognized options:
- * - onlyreqdeps : install all required dependencies as well - * - alldeps : install all dependencies, including optional - * - installroot : base relative path to install files in - * - force : force a download even if warnings would prevent it - * - nocompress : download uncompressed tarballs - * @see PEAR_Command_Install - * @access private - * @var array - */ - var $_options; - - /** - * Downloaded Packages after a call to download(). - * - * Format of each entry: - * - * - * array('pkg' => 'package_name', 'file' => '/path/to/local/file', - * 'info' => array() // parsed package.xml - * ); - * - * @access private - * @var array - */ - var $_downloadedPackages = array(); - - /** - * Packages slated for download. - * - * This is used to prevent downloading a package more than once should it be a dependency - * for two packages to be installed. - * Format of each entry: - * - *
-     * array('package_name1' => parsed package.xml, 'package_name2' => parsed package.xml,
-     * );
-     * 
- * @access private - * @var array - */ - var $_toDownload = array(); - - /** - * Array of every package installed, with names lower-cased. - * - * Format: - * - * array('package1' => 0, 'package2' => 1, ); - * - * @var array - */ - var $_installed = array(); - - /** - * @var array - * @access private - */ - var $_errorStack = array(); - - /** - * @var boolean - * @access private - */ - var $_internalDownload = false; - - /** - * Temporary variable used in sorting packages by dependency in {@link sortPkgDeps()} - * @var array - * @access private - */ - var $_packageSortTree; - - /** - * Temporary directory, or configuration value where downloads will occur - * @var string - */ - var $_downloadDir; - - /** - * @param PEAR_Frontend_* - * @param array - * @param PEAR_Config - */ - function PEAR_Downloader(&$ui, $options, &$config) - { - parent::PEAR_Common(); - $this->_options = $options; - $this->config = &$config; - $this->_preferredState = $this->config->get('preferred_state'); - $this->ui = &$ui; - if (!$this->_preferredState) { - // don't inadvertantly use a non-set preferred_state - $this->_preferredState = null; - } - - if (isset($this->_options['installroot'])) { - $this->config->setInstallRoot($this->_options['installroot']); - } - $this->_registry = &$config->getRegistry(); - - if (isset($this->_options['alldeps']) || isset($this->_options['onlyreqdeps'])) { - $this->_installed = $this->_registry->listAllPackages(); - foreach ($this->_installed as $key => $unused) { - if (!count($unused)) { - continue; - } - $strtolower = create_function('$a','return strtolower($a);'); - array_walk($this->_installed[$key], $strtolower); - } - } - } - - /** - * Attempt to discover a channel's remote capabilities from - * its server name - * @param string - * @return boolean - */ - function discover($channel) - { - $this->log(1, 'Attempting to discover channel "' . $channel . '"...'); - PEAR::pushErrorHandling(PEAR_ERROR_RETURN); - $callback = $this->ui ? array(&$this, '_downloadCallback') : null; - if (!class_exists('System')) { - require_once 'System.php'; - } - - $tmpdir = $this->config->get('temp_dir'); - $tmp = System::mktemp('-d -t "' . $tmpdir . '"'); - $a = $this->downloadHttp('http://' . $channel . '/channel.xml', $this->ui, $tmp, $callback, false); - PEAR::popErrorHandling(); - if (PEAR::isError($a)) { - // Attempt to fallback to https automatically. - PEAR::pushErrorHandling(PEAR_ERROR_RETURN); - $this->log(1, 'Attempting fallback to https instead of http on channel "' . $channel . '"...'); - $a = $this->downloadHttp('https://' . $channel . '/channel.xml', $this->ui, $tmp, $callback, false); - PEAR::popErrorHandling(); - if (PEAR::isError($a)) { - return false; - } - } - - list($a, $lastmodified) = $a; - if (!class_exists('PEAR_ChannelFile')) { - require_once 'PEAR/ChannelFile.php'; - } - - $b = new PEAR_ChannelFile; - if ($b->fromXmlFile($a)) { - unlink($a); - if ($this->config->get('auto_discover')) { - $this->_registry->addChannel($b, $lastmodified); - $alias = $b->getName(); - if ($b->getName() == $this->_registry->channelName($b->getAlias())) { - $alias = $b->getAlias(); - } - - $this->log(1, 'Auto-discovered channel "' . $channel . - '", alias "' . $alias . '", adding to registry'); - } - - return true; - } - - unlink($a); - return false; - } - - /** - * For simpler unit-testing - * @param PEAR_Downloader - * @return PEAR_Downloader_Package - */ - function &newDownloaderPackage(&$t) - { - if (!class_exists('PEAR_Downloader_Package')) { - require_once 'PEAR/Downloader/Package.php'; - } - $a = &new PEAR_Downloader_Package($t); - return $a; - } - - /** - * For simpler unit-testing - * @param PEAR_Config - * @param array - * @param array - * @param int - */ - function &getDependency2Object(&$c, $i, $p, $s) - { - if (!class_exists('PEAR_Dependency2')) { - require_once 'PEAR/Dependency2.php'; - } - $z = &new PEAR_Dependency2($c, $i, $p, $s); - return $z; - } - - function &download($params) - { - if (!count($params)) { - $a = array(); - return $a; - } - - if (!isset($this->_registry)) { - $this->_registry = &$this->config->getRegistry(); - } - - $channelschecked = array(); - // convert all parameters into PEAR_Downloader_Package objects - foreach ($params as $i => $param) { - $params[$i] = &$this->newDownloaderPackage($this); - PEAR::staticPushErrorHandling(PEAR_ERROR_RETURN); - $err = $params[$i]->initialize($param); - PEAR::staticPopErrorHandling(); - if (!$err) { - // skip parameters that were missed by preferred_state - continue; - } - - if (PEAR::isError($err)) { - if (!isset($this->_options['soft']) && $err->getMessage() !== '') { - $this->log(0, $err->getMessage()); - } - - $params[$i] = false; - if (is_object($param)) { - $param = $param->getChannel() . '/' . $param->getPackage(); - } - - if (!isset($this->_options['soft'])) { - $this->log(2, 'Package "' . $param . '" is not valid'); - } - - // Message logged above in a specific verbose mode, passing null to not show up on CLI - $this->pushError(null, PEAR_INSTALLER_SKIPPED); - } else { - do { - if ($params[$i] && $params[$i]->getType() == 'local') { - // bug #7090 skip channel.xml check for local packages - break; - } - - if ($params[$i] && !isset($channelschecked[$params[$i]->getChannel()]) && - !isset($this->_options['offline']) - ) { - $channelschecked[$params[$i]->getChannel()] = true; - PEAR::staticPushErrorHandling(PEAR_ERROR_RETURN); - if (!class_exists('System')) { - require_once 'System.php'; - } - - $curchannel = &$this->_registry->getChannel($params[$i]->getChannel()); - if (PEAR::isError($curchannel)) { - PEAR::staticPopErrorHandling(); - return $this->raiseError($curchannel); - } - - if (PEAR::isError($dir = $this->getDownloadDir())) { - PEAR::staticPopErrorHandling(); - break; - } - - $mirror = $this->config->get('preferred_mirror', null, $params[$i]->getChannel()); - $url = 'http://' . $mirror . '/channel.xml'; - $a = $this->downloadHttp($url, $this->ui, $dir, null, $curchannel->lastModified()); - - PEAR::staticPopErrorHandling(); - if (PEAR::isError($a) || !$a) { - // Attempt fallback to https automatically - PEAR::pushErrorHandling(PEAR_ERROR_RETURN); - $a = $this->downloadHttp('https://' . $mirror . - '/channel.xml', $this->ui, $dir, null, $curchannel->lastModified()); - - PEAR::staticPopErrorHandling(); - if (PEAR::isError($a) || !$a) { - break; - } - } - $this->log(0, 'WARNING: channel "' . $params[$i]->getChannel() . '" has ' . - 'updated its protocols, use "' . PEAR_RUNTYPE . ' channel-update ' . $params[$i]->getChannel() . - '" to update'); - } - } while (false); - - if ($params[$i] && !isset($this->_options['downloadonly'])) { - if (isset($this->_options['packagingroot'])) { - $checkdir = $this->_prependPath( - $this->config->get('php_dir', null, $params[$i]->getChannel()), - $this->_options['packagingroot']); - } else { - $checkdir = $this->config->get('php_dir', - null, $params[$i]->getChannel()); - } - - while ($checkdir && $checkdir != '/' && !file_exists($checkdir)) { - $checkdir = dirname($checkdir); - } - - if ($checkdir == '.') { - $checkdir = '/'; - } - - if (!is_writeable($checkdir)) { - return PEAR::raiseError('Cannot install, php_dir for channel "' . - $params[$i]->getChannel() . '" is not writeable by the current user'); - } - } - } - } - - unset($channelschecked); - PEAR_Downloader_Package::removeDuplicates($params); - if (!count($params)) { - $a = array(); - return $a; - } - - if (!isset($this->_options['nodeps']) && !isset($this->_options['offline'])) { - $reverify = true; - while ($reverify) { - $reverify = false; - foreach ($params as $i => $param) { - //PHP Bug 40768 / PEAR Bug #10944 - //Nested foreaches fail in PHP 5.2.1 - key($params); - $ret = $params[$i]->detectDependencies($params); - if (PEAR::isError($ret)) { - $reverify = true; - $params[$i] = false; - PEAR_Downloader_Package::removeDuplicates($params); - if (!isset($this->_options['soft'])) { - $this->log(0, $ret->getMessage()); - } - continue 2; - } - } - } - } - - if (isset($this->_options['offline'])) { - $this->log(3, 'Skipping dependency download check, --offline specified'); - } - - if (!count($params)) { - $a = array(); - return $a; - } - - while (PEAR_Downloader_Package::mergeDependencies($params)); - PEAR_Downloader_Package::removeDuplicates($params, true); - $errorparams = array(); - if (PEAR_Downloader_Package::detectStupidDuplicates($params, $errorparams)) { - if (count($errorparams)) { - foreach ($errorparams as $param) { - $name = $this->_registry->parsedPackageNameToString($param->getParsedPackage()); - $this->pushError('Duplicate package ' . $name . ' found', PEAR_INSTALLER_FAILED); - } - $a = array(); - return $a; - } - } - - PEAR_Downloader_Package::removeInstalled($params); - if (!count($params)) { - $this->pushError('No valid packages found', PEAR_INSTALLER_FAILED); - $a = array(); - return $a; - } - - PEAR::pushErrorHandling(PEAR_ERROR_RETURN); - $err = $this->analyzeDependencies($params); - PEAR::popErrorHandling(); - if (!count($params)) { - $this->pushError('No valid packages found', PEAR_INSTALLER_FAILED); - $a = array(); - return $a; - } - - $ret = array(); - $newparams = array(); - if (isset($this->_options['pretend'])) { - return $params; - } - - $somefailed = false; - foreach ($params as $i => $package) { - PEAR::staticPushErrorHandling(PEAR_ERROR_RETURN); - $pf = &$params[$i]->download(); - PEAR::staticPopErrorHandling(); - if (PEAR::isError($pf)) { - if (!isset($this->_options['soft'])) { - $this->log(1, $pf->getMessage()); - $this->log(0, 'Error: cannot download "' . - $this->_registry->parsedPackageNameToString($package->getParsedPackage(), - true) . - '"'); - } - $somefailed = true; - continue; - } - - $newparams[] = &$params[$i]; - $ret[] = array( - 'file' => $pf->getArchiveFile(), - 'info' => &$pf, - 'pkg' => $pf->getPackage() - ); - } - - if ($somefailed) { - // remove params that did not download successfully - PEAR::pushErrorHandling(PEAR_ERROR_RETURN); - $err = $this->analyzeDependencies($newparams, true); - PEAR::popErrorHandling(); - if (!count($newparams)) { - $this->pushError('Download failed', PEAR_INSTALLER_FAILED); - $a = array(); - return $a; - } - } - - $this->_downloadedPackages = $ret; - return $newparams; - } - - /** - * @param array all packages to be installed - */ - function analyzeDependencies(&$params, $force = false) - { - if (isset($this->_options['downloadonly'])) { - return; - } - - PEAR::staticPushErrorHandling(PEAR_ERROR_RETURN); - $redo = true; - $reset = $hasfailed = $failed = false; - while ($redo) { - $redo = false; - foreach ($params as $i => $param) { - $deps = $param->getDeps(); - if (!$deps) { - $depchecker = &$this->getDependency2Object($this->config, $this->getOptions(), - $param->getParsedPackage(), PEAR_VALIDATE_DOWNLOADING); - $send = $param->getPackageFile(); - - $installcheck = $depchecker->validatePackage($send, $this, $params); - if (PEAR::isError($installcheck)) { - if (!isset($this->_options['soft'])) { - $this->log(0, $installcheck->getMessage()); - } - $hasfailed = true; - $params[$i] = false; - $reset = true; - $redo = true; - $failed = false; - PEAR_Downloader_Package::removeDuplicates($params); - continue 2; - } - continue; - } - - if (!$reset && $param->alreadyValidated() && !$force) { - continue; - } - - if (count($deps)) { - $depchecker = &$this->getDependency2Object($this->config, $this->getOptions(), - $param->getParsedPackage(), PEAR_VALIDATE_DOWNLOADING); - $send = $param->getPackageFile(); - if ($send === null) { - $send = $param->getDownloadURL(); - } - - $installcheck = $depchecker->validatePackage($send, $this, $params); - if (PEAR::isError($installcheck)) { - if (!isset($this->_options['soft'])) { - $this->log(0, $installcheck->getMessage()); - } - $hasfailed = true; - $params[$i] = false; - $reset = true; - $redo = true; - $failed = false; - PEAR_Downloader_Package::removeDuplicates($params); - continue 2; - } - - $failed = false; - if (isset($deps['required']) && is_array($deps['required'])) { - foreach ($deps['required'] as $type => $dep) { - // note: Dependency2 will never return a PEAR_Error if ignore-errors - // is specified, so soft is needed to turn off logging - if (!isset($dep[0])) { - if (PEAR::isError($e = $depchecker->{"validate{$type}Dependency"}($dep, - true, $params))) { - $failed = true; - if (!isset($this->_options['soft'])) { - $this->log(0, $e->getMessage()); - } - } elseif (is_array($e) && !$param->alreadyValidated()) { - if (!isset($this->_options['soft'])) { - $this->log(0, $e[0]); - } - } - } else { - foreach ($dep as $d) { - if (PEAR::isError($e = - $depchecker->{"validate{$type}Dependency"}($d, - true, $params))) { - $failed = true; - if (!isset($this->_options['soft'])) { - $this->log(0, $e->getMessage()); - } - } elseif (is_array($e) && !$param->alreadyValidated()) { - if (!isset($this->_options['soft'])) { - $this->log(0, $e[0]); - } - } - } - } - } - - if (isset($deps['optional']) && is_array($deps['optional'])) { - foreach ($deps['optional'] as $type => $dep) { - if (!isset($dep[0])) { - if (PEAR::isError($e = - $depchecker->{"validate{$type}Dependency"}($dep, - false, $params))) { - $failed = true; - if (!isset($this->_options['soft'])) { - $this->log(0, $e->getMessage()); - } - } elseif (is_array($e) && !$param->alreadyValidated()) { - if (!isset($this->_options['soft'])) { - $this->log(0, $e[0]); - } - } - } else { - foreach ($dep as $d) { - if (PEAR::isError($e = - $depchecker->{"validate{$type}Dependency"}($d, - false, $params))) { - $failed = true; - if (!isset($this->_options['soft'])) { - $this->log(0, $e->getMessage()); - } - } elseif (is_array($e) && !$param->alreadyValidated()) { - if (!isset($this->_options['soft'])) { - $this->log(0, $e[0]); - } - } - } - } - } - } - - $groupname = $param->getGroup(); - if (isset($deps['group']) && $groupname) { - if (!isset($deps['group'][0])) { - $deps['group'] = array($deps['group']); - } - - $found = false; - foreach ($deps['group'] as $group) { - if ($group['attribs']['name'] == $groupname) { - $found = true; - break; - } - } - - if ($found) { - unset($group['attribs']); - foreach ($group as $type => $dep) { - if (!isset($dep[0])) { - if (PEAR::isError($e = - $depchecker->{"validate{$type}Dependency"}($dep, - false, $params))) { - $failed = true; - if (!isset($this->_options['soft'])) { - $this->log(0, $e->getMessage()); - } - } elseif (is_array($e) && !$param->alreadyValidated()) { - if (!isset($this->_options['soft'])) { - $this->log(0, $e[0]); - } - } - } else { - foreach ($dep as $d) { - if (PEAR::isError($e = - $depchecker->{"validate{$type}Dependency"}($d, - false, $params))) { - $failed = true; - if (!isset($this->_options['soft'])) { - $this->log(0, $e->getMessage()); - } - } elseif (is_array($e) && !$param->alreadyValidated()) { - if (!isset($this->_options['soft'])) { - $this->log(0, $e[0]); - } - } - } - } - } - } - } - } else { - foreach ($deps as $dep) { - if (PEAR::isError($e = $depchecker->validateDependency1($dep, $params))) { - $failed = true; - if (!isset($this->_options['soft'])) { - $this->log(0, $e->getMessage()); - } - } elseif (is_array($e) && !$param->alreadyValidated()) { - if (!isset($this->_options['soft'])) { - $this->log(0, $e[0]); - } - } - } - } - $params[$i]->setValidated(); - } - - if ($failed) { - $hasfailed = true; - $params[$i] = false; - $reset = true; - $redo = true; - $failed = false; - PEAR_Downloader_Package::removeDuplicates($params); - continue 2; - } - } - } - - PEAR::staticPopErrorHandling(); - if ($hasfailed && (isset($this->_options['ignore-errors']) || - isset($this->_options['nodeps']))) { - // this is probably not needed, but just in case - if (!isset($this->_options['soft'])) { - $this->log(0, 'WARNING: dependencies failed'); - } - } - } - - /** - * Retrieve the directory that downloads will happen in - * @access private - * @return string - */ - function getDownloadDir() - { - if (isset($this->_downloadDir)) { - return $this->_downloadDir; - } - - $downloaddir = $this->config->get('download_dir'); - if (empty($downloaddir) || (is_dir($downloaddir) && !is_writable($downloaddir))) { - if (is_dir($downloaddir) && !is_writable($downloaddir)) { - $this->log(0, 'WARNING: configuration download directory "' . $downloaddir . - '" is not writeable. Change download_dir config variable to ' . - 'a writeable dir to avoid this warning'); - } - - if (!class_exists('System')) { - require_once 'System.php'; - } - - if (PEAR::isError($downloaddir = System::mktemp('-d'))) { - return $downloaddir; - } - $this->log(3, '+ tmp dir created at ' . $downloaddir); - } - - if (!is_writable($downloaddir)) { - if (PEAR::isError(System::mkdir(array('-p', $downloaddir))) || - !is_writable($downloaddir)) { - return PEAR::raiseError('download directory "' . $downloaddir . - '" is not writeable. Change download_dir config variable to ' . - 'a writeable dir'); - } - } - - return $this->_downloadDir = $downloaddir; - } - - function setDownloadDir($dir) - { - if (!@is_writable($dir)) { - if (PEAR::isError(System::mkdir(array('-p', $dir)))) { - return PEAR::raiseError('download directory "' . $dir . - '" is not writeable. Change download_dir config variable to ' . - 'a writeable dir'); - } - } - $this->_downloadDir = $dir; - } - - function configSet($key, $value, $layer = 'user', $channel = false) - { - $this->config->set($key, $value, $layer, $channel); - $this->_preferredState = $this->config->get('preferred_state', null, $channel); - if (!$this->_preferredState) { - // don't inadvertantly use a non-set preferred_state - $this->_preferredState = null; - } - } - - function setOptions($options) - { - $this->_options = $options; - } - - function getOptions() - { - return $this->_options; - } - - - /** - * @param array output of {@link parsePackageName()} - * @access private - */ - function _getPackageDownloadUrl($parr) - { - $curchannel = $this->config->get('default_channel'); - $this->configSet('default_channel', $parr['channel']); - // getDownloadURL returns an array. On error, it only contains information - // on the latest release as array(version, info). On success it contains - // array(version, info, download url string) - $state = isset($parr['state']) ? $parr['state'] : $this->config->get('preferred_state'); - if (!$this->_registry->channelExists($parr['channel'])) { - do { - if ($this->config->get('auto_discover') && $this->discover($parr['channel'])) { - break; - } - - $this->configSet('default_channel', $curchannel); - return PEAR::raiseError('Unknown remote channel: ' . $parr['channel']); - } while (false); - } - - $chan = &$this->_registry->getChannel($parr['channel']); - if (PEAR::isError($chan)) { - return $chan; - } - - PEAR::staticPushErrorHandling(PEAR_ERROR_RETURN); - $version = $this->_registry->packageInfo($parr['package'], 'version', $parr['channel']); - $stability = $this->_registry->packageInfo($parr['package'], 'stability', $parr['channel']); - // package is installed - use the installed release stability level - if (!isset($parr['state']) && $stability !== null) { - $state = $stability['release']; - } - PEAR::staticPopErrorHandling(); - $base2 = false; - - $preferred_mirror = $this->config->get('preferred_mirror'); - if (!$chan->supportsREST($preferred_mirror) || - ( - !($base2 = $chan->getBaseURL('REST1.3', $preferred_mirror)) - && - !($base = $chan->getBaseURL('REST1.0', $preferred_mirror)) - ) - ) { - return $this->raiseError($parr['channel'] . ' is using a unsupported protocol - This should never happen.'); - } - - if ($base2) { - $rest = &$this->config->getREST('1.3', $this->_options); - $base = $base2; - } else { - $rest = &$this->config->getREST('1.0', $this->_options); - } - - $downloadVersion = false; - if (!isset($parr['version']) && !isset($parr['state']) && $version - && !PEAR::isError($version) - && !isset($this->_options['downloadonly']) - ) { - $downloadVersion = $version; - } - - $url = $rest->getDownloadURL($base, $parr, $state, $downloadVersion, $chan->getName()); - if (PEAR::isError($url)) { - $this->configSet('default_channel', $curchannel); - return $url; - } - - if ($parr['channel'] != $curchannel) { - $this->configSet('default_channel', $curchannel); - } - - if (!is_array($url)) { - return $url; - } - - $url['raw'] = false; // no checking is necessary for REST - if (!is_array($url['info'])) { - return PEAR::raiseError('Invalid remote dependencies retrieved from REST - ' . - 'this should never happen'); - } - - if (!isset($this->_options['force']) && - !isset($this->_options['downloadonly']) && - $version && - !PEAR::isError($version) && - !isset($parr['group']) - ) { - if (version_compare($version, $url['version'], '=')) { - return PEAR::raiseError($this->_registry->parsedPackageNameToString( - $parr, true) . ' is already installed and is the same as the ' . - 'released version ' . $url['version'], -976); - } - - if (version_compare($version, $url['version'], '>')) { - return PEAR::raiseError($this->_registry->parsedPackageNameToString( - $parr, true) . ' is already installed and is newer than detected ' . - 'released version ' . $url['version'], -976); - } - } - - if (isset($url['info']['required']) || $url['compatible']) { - require_once 'PEAR/PackageFile/v2.php'; - $pf = new PEAR_PackageFile_v2; - $pf->setRawChannel($parr['channel']); - if ($url['compatible']) { - $pf->setRawCompatible($url['compatible']); - } - } else { - require_once 'PEAR/PackageFile/v1.php'; - $pf = new PEAR_PackageFile_v1; - } - - $pf->setRawPackage($url['package']); - $pf->setDeps($url['info']); - if ($url['compatible']) { - $pf->setCompatible($url['compatible']); - } - - $pf->setRawState($url['stability']); - $url['info'] = &$pf; - if (!extension_loaded("zlib") || isset($this->_options['nocompress'])) { - $ext = '.tar'; - } else { - $ext = '.tgz'; - } - - if (is_array($url) && isset($url['url'])) { - $url['url'] .= $ext; - } - - return $url; - } - - /** - * @param array dependency array - * @access private - */ - function _getDepPackageDownloadUrl($dep, $parr) - { - $xsdversion = isset($dep['rel']) ? '1.0' : '2.0'; - $curchannel = $this->config->get('default_channel'); - if (isset($dep['uri'])) { - $xsdversion = '2.0'; - $chan = &$this->_registry->getChannel('__uri'); - if (PEAR::isError($chan)) { - return $chan; - } - - $version = $this->_registry->packageInfo($dep['name'], 'version', '__uri'); - $this->configSet('default_channel', '__uri'); - } else { - if (isset($dep['channel'])) { - $remotechannel = $dep['channel']; - } else { - $remotechannel = 'pear.php.net'; - } - - if (!$this->_registry->channelExists($remotechannel)) { - do { - if ($this->config->get('auto_discover')) { - if ($this->discover($remotechannel)) { - break; - } - } - return PEAR::raiseError('Unknown remote channel: ' . $remotechannel); - } while (false); - } - - $chan = &$this->_registry->getChannel($remotechannel); - if (PEAR::isError($chan)) { - return $chan; - } - - $version = $this->_registry->packageInfo($dep['name'], 'version', $remotechannel); - $this->configSet('default_channel', $remotechannel); - } - - $state = isset($parr['state']) ? $parr['state'] : $this->config->get('preferred_state'); - if (isset($parr['state']) && isset($parr['version'])) { - unset($parr['state']); - } - - if (isset($dep['uri'])) { - $info = &$this->newDownloaderPackage($this); - PEAR::staticPushErrorHandling(PEAR_ERROR_RETURN); - $err = $info->initialize($dep); - PEAR::staticPopErrorHandling(); - if (!$err) { - // skip parameters that were missed by preferred_state - return PEAR::raiseError('Cannot initialize dependency'); - } - - if (PEAR::isError($err)) { - if (!isset($this->_options['soft'])) { - $this->log(0, $err->getMessage()); - } - - if (is_object($info)) { - $param = $info->getChannel() . '/' . $info->getPackage(); - } - return PEAR::raiseError('Package "' . $param . '" is not valid'); - } - return $info; - } elseif ($chan->supportsREST($this->config->get('preferred_mirror')) - && - ( - ($base2 = $chan->getBaseURL('REST1.3', $this->config->get('preferred_mirror'))) - || - ($base = $chan->getBaseURL('REST1.0', $this->config->get('preferred_mirror'))) - ) - ) { - if ($base2) { - $base = $base2; - $rest = &$this->config->getREST('1.3', $this->_options); - } else { - $rest = &$this->config->getREST('1.0', $this->_options); - } - - $url = $rest->getDepDownloadURL($base, $xsdversion, $dep, $parr, - $state, $version, $chan->getName()); - if (PEAR::isError($url)) { - return $url; - } - - if ($parr['channel'] != $curchannel) { - $this->configSet('default_channel', $curchannel); - } - - if (!is_array($url)) { - return $url; - } - - $url['raw'] = false; // no checking is necessary for REST - if (!is_array($url['info'])) { - return PEAR::raiseError('Invalid remote dependencies retrieved from REST - ' . - 'this should never happen'); - } - - if (isset($url['info']['required'])) { - if (!class_exists('PEAR_PackageFile_v2')) { - require_once 'PEAR/PackageFile/v2.php'; - } - $pf = new PEAR_PackageFile_v2; - $pf->setRawChannel($remotechannel); - } else { - if (!class_exists('PEAR_PackageFile_v1')) { - require_once 'PEAR/PackageFile/v1.php'; - } - $pf = new PEAR_PackageFile_v1; - - } - $pf->setRawPackage($url['package']); - $pf->setDeps($url['info']); - if ($url['compatible']) { - $pf->setCompatible($url['compatible']); - } - - $pf->setRawState($url['stability']); - $url['info'] = &$pf; - if (!extension_loaded("zlib") || isset($this->_options['nocompress'])) { - $ext = '.tar'; - } else { - $ext = '.tgz'; - } - - if (is_array($url) && isset($url['url'])) { - $url['url'] .= $ext; - } - - return $url; - } - - return $this->raiseError($parr['channel'] . ' is using a unsupported protocol - This should never happen.'); - } - - /** - * @deprecated in favor of _getPackageDownloadUrl - */ - function getPackageDownloadUrl($package, $version = null, $channel = false) - { - if ($version) { - $package .= "-$version"; - } - if ($this === null || $this->_registry === null) { - $package = "http://pear.php.net/get/$package"; - } else { - $chan = $this->_registry->getChannel($channel); - if (PEAR::isError($chan)) { - return ''; - } - $package = "http://" . $chan->getServer() . "/get/$package"; - } - if (!extension_loaded("zlib")) { - $package .= '?uncompress=yes'; - } - return $package; - } - - /** - * Retrieve a list of downloaded packages after a call to {@link download()}. - * - * Also resets the list of downloaded packages. - * @return array - */ - function getDownloadedPackages() - { - $ret = $this->_downloadedPackages; - $this->_downloadedPackages = array(); - $this->_toDownload = array(); - return $ret; - } - - function _downloadCallback($msg, $params = null) - { - switch ($msg) { - case 'saveas': - $this->log(1, "downloading $params ..."); - break; - case 'done': - $this->log(1, '...done: ' . number_format($params, 0, '', ',') . ' bytes'); - break; - case 'bytesread': - static $bytes; - if (empty($bytes)) { - $bytes = 0; - } - if (!($bytes % 10240)) { - $this->log(1, '.', false); - } - $bytes += $params; - break; - case 'start': - if($params[1] == -1) { - $length = "Unknown size"; - } else { - $length = number_format($params[1], 0, '', ',')." bytes"; - } - $this->log(1, "Starting to download {$params[0]} ($length)"); - break; - } - if (method_exists($this->ui, '_downloadCallback')) - $this->ui->_downloadCallback($msg, $params); - } - - function _prependPath($path, $prepend) - { - if (strlen($prepend) > 0) { - if (OS_WINDOWS && preg_match('/^[a-z]:/i', $path)) { - if (preg_match('/^[a-z]:/i', $prepend)) { - $prepend = substr($prepend, 2); - } elseif ($prepend{0} != '\\') { - $prepend = "\\$prepend"; - } - $path = substr($path, 0, 2) . $prepend . substr($path, 2); - } else { - $path = $prepend . $path; - } - } - return $path; - } - - /** - * @param string - * @param integer - */ - function pushError($errmsg, $code = -1) - { - array_push($this->_errorStack, array($errmsg, $code)); - } - - function getErrorMsgs() - { - $msgs = array(); - $errs = $this->_errorStack; - foreach ($errs as $err) { - $msgs[] = $err[0]; - } - $this->_errorStack = array(); - return $msgs; - } - - /** - * for BC - * - * @deprecated - */ - function sortPkgDeps(&$packages, $uninstall = false) - { - $uninstall ? - $this->sortPackagesForUninstall($packages) : - $this->sortPackagesForInstall($packages); - } - - /** - * Sort a list of arrays of array(downloaded packagefilename) by dependency. - * - * This uses the topological sort method from graph theory, and the - * Structures_Graph package to properly sort dependencies for installation. - * @param array an array of downloaded PEAR_Downloader_Packages - * @return array array of array(packagefilename, package.xml contents) - */ - function sortPackagesForInstall(&$packages) - { - require_once 'Structures/Graph.php'; - require_once 'Structures/Graph/Node.php'; - require_once 'Structures/Graph/Manipulator/TopologicalSorter.php'; - $depgraph = new Structures_Graph(true); - $nodes = array(); - $reg = &$this->config->getRegistry(); - foreach ($packages as $i => $package) { - $pname = $reg->parsedPackageNameToString( - array( - 'channel' => $package->getChannel(), - 'package' => strtolower($package->getPackage()), - )); - $nodes[$pname] = new Structures_Graph_Node; - $nodes[$pname]->setData($packages[$i]); - $depgraph->addNode($nodes[$pname]); - } - - $deplinks = array(); - foreach ($nodes as $package => $node) { - $pf = &$node->getData(); - $pdeps = $pf->getDeps(true); - if (!$pdeps) { - continue; - } - - if ($pf->getPackagexmlVersion() == '1.0') { - foreach ($pdeps as $dep) { - if ($dep['type'] != 'pkg' || - (isset($dep['optional']) && $dep['optional'] == 'yes')) { - continue; - } - - $dname = $reg->parsedPackageNameToString( - array( - 'channel' => 'pear.php.net', - 'package' => strtolower($dep['name']), - )); - - if (isset($nodes[$dname])) { - if (!isset($deplinks[$dname])) { - $deplinks[$dname] = array(); - } - - $deplinks[$dname][$package] = 1; - // dependency is in installed packages - continue; - } - - $dname = $reg->parsedPackageNameToString( - array( - 'channel' => 'pecl.php.net', - 'package' => strtolower($dep['name']), - )); - - if (isset($nodes[$dname])) { - if (!isset($deplinks[$dname])) { - $deplinks[$dname] = array(); - } - - $deplinks[$dname][$package] = 1; - // dependency is in installed packages - continue; - } - } - } else { - // the only ordering we care about is: - // 1) subpackages must be installed before packages that depend on them - // 2) required deps must be installed before packages that depend on them - if (isset($pdeps['required']['subpackage'])) { - $t = $pdeps['required']['subpackage']; - if (!isset($t[0])) { - $t = array($t); - } - - $this->_setupGraph($t, $reg, $deplinks, $nodes, $package); - } - - if (isset($pdeps['group'])) { - if (!isset($pdeps['group'][0])) { - $pdeps['group'] = array($pdeps['group']); - } - - foreach ($pdeps['group'] as $group) { - if (isset($group['subpackage'])) { - $t = $group['subpackage']; - if (!isset($t[0])) { - $t = array($t); - } - - $this->_setupGraph($t, $reg, $deplinks, $nodes, $package); - } - } - } - - if (isset($pdeps['optional']['subpackage'])) { - $t = $pdeps['optional']['subpackage']; - if (!isset($t[0])) { - $t = array($t); - } - - $this->_setupGraph($t, $reg, $deplinks, $nodes, $package); - } - - if (isset($pdeps['required']['package'])) { - $t = $pdeps['required']['package']; - if (!isset($t[0])) { - $t = array($t); - } - - $this->_setupGraph($t, $reg, $deplinks, $nodes, $package); - } - - if (isset($pdeps['group'])) { - if (!isset($pdeps['group'][0])) { - $pdeps['group'] = array($pdeps['group']); - } - - foreach ($pdeps['group'] as $group) { - if (isset($group['package'])) { - $t = $group['package']; - if (!isset($t[0])) { - $t = array($t); - } - - $this->_setupGraph($t, $reg, $deplinks, $nodes, $package); - } - } - } - } - } - - $this->_detectDepCycle($deplinks); - foreach ($deplinks as $dependent => $parents) { - foreach ($parents as $parent => $unused) { - $nodes[$dependent]->connectTo($nodes[$parent]); - } - } - - $installOrder = Structures_Graph_Manipulator_TopologicalSorter::sort($depgraph); - $ret = array(); - for ($i = 0, $count = count($installOrder); $i < $count; $i++) { - foreach ($installOrder[$i] as $index => $sortedpackage) { - $data = &$installOrder[$i][$index]->getData(); - $ret[] = &$nodes[$reg->parsedPackageNameToString( - array( - 'channel' => $data->getChannel(), - 'package' => strtolower($data->getPackage()), - ))]->getData(); - } - } - - $packages = $ret; - return; - } - - /** - * Detect recursive links between dependencies and break the cycles - * - * @param array - * @access private - */ - function _detectDepCycle(&$deplinks) - { - do { - $keepgoing = false; - foreach ($deplinks as $dep => $parents) { - foreach ($parents as $parent => $unused) { - // reset the parent cycle detector - $this->_testCycle(null, null, null); - if ($this->_testCycle($dep, $deplinks, $parent)) { - $keepgoing = true; - unset($deplinks[$dep][$parent]); - if (count($deplinks[$dep]) == 0) { - unset($deplinks[$dep]); - } - - continue 3; - } - } - } - } while ($keepgoing); - } - - function _testCycle($test, $deplinks, $dep) - { - static $visited = array(); - if ($test === null) { - $visited = array(); - return; - } - - // this happens when a parent has a dep cycle on another dependency - // but the child is not part of the cycle - if (isset($visited[$dep])) { - return false; - } - - $visited[$dep] = 1; - if ($test == $dep) { - return true; - } - - if (isset($deplinks[$dep])) { - if (in_array($test, array_keys($deplinks[$dep]), true)) { - return true; - } - - foreach ($deplinks[$dep] as $parent => $unused) { - if ($this->_testCycle($test, $deplinks, $parent)) { - return true; - } - } - } - - return false; - } - - /** - * Set up the dependency for installation parsing - * - * @param array $t dependency information - * @param PEAR_Registry $reg - * @param array $deplinks list of dependency links already established - * @param array $nodes all existing package nodes - * @param string $package parent package name - * @access private - */ - function _setupGraph($t, $reg, &$deplinks, &$nodes, $package) - { - foreach ($t as $dep) { - $depchannel = !isset($dep['channel']) ? '__uri': $dep['channel']; - $dname = $reg->parsedPackageNameToString( - array( - 'channel' => $depchannel, - 'package' => strtolower($dep['name']), - )); - - if (isset($nodes[$dname])) { - if (!isset($deplinks[$dname])) { - $deplinks[$dname] = array(); - } - $deplinks[$dname][$package] = 1; - } - } - } - - function _dependsOn($a, $b) - { - return $this->_checkDepTree(strtolower($a->getChannel()), strtolower($a->getPackage()), $b); - } - - function _checkDepTree($channel, $package, $b, $checked = array()) - { - $checked[$channel][$package] = true; - if (!isset($this->_depTree[$channel][$package])) { - return false; - } - - if (isset($this->_depTree[$channel][$package][strtolower($b->getChannel())] - [strtolower($b->getPackage())])) { - return true; - } - - foreach ($this->_depTree[$channel][$package] as $ch => $packages) { - foreach ($packages as $pa => $true) { - if ($this->_checkDepTree($ch, $pa, $b, $checked)) { - return true; - } - } - } - - return false; - } - - function _sortInstall($a, $b) - { - if (!$a->getDeps() && !$b->getDeps()) { - return 0; // neither package has dependencies, order is insignificant - } - if ($a->getDeps() && !$b->getDeps()) { - return 1; // $a must be installed after $b because $a has dependencies - } - if (!$a->getDeps() && $b->getDeps()) { - return -1; // $b must be installed after $a because $b has dependencies - } - // both packages have dependencies - if ($this->_dependsOn($a, $b)) { - return 1; - } - if ($this->_dependsOn($b, $a)) { - return -1; - } - return 0; - } - - /** - * Download a file through HTTP. Considers suggested file name in - * Content-disposition: header and can run a callback function for - * different events. The callback will be called with two - * parameters: the callback type, and parameters. The implemented - * callback types are: - * - * 'setup' called at the very beginning, parameter is a UI object - * that should be used for all output - * 'message' the parameter is a string with an informational message - * 'saveas' may be used to save with a different file name, the - * parameter is the filename that is about to be used. - * If a 'saveas' callback returns a non-empty string, - * that file name will be used as the filename instead. - * Note that $save_dir will not be affected by this, only - * the basename of the file. - * 'start' download is starting, parameter is number of bytes - * that are expected, or -1 if unknown - * 'bytesread' parameter is the number of bytes read so far - * 'done' download is complete, parameter is the total number - * of bytes read - * 'connfailed' if the TCP/SSL connection fails, this callback is called - * with array(host,port,errno,errmsg) - * 'writefailed' if writing to disk fails, this callback is called - * with array(destfile,errmsg) - * - * If an HTTP proxy has been configured (http_proxy PEAR_Config - * setting), the proxy will be used. - * - * @param string $url the URL to download - * @param object $ui PEAR_Frontend_* instance - * @param object $config PEAR_Config instance - * @param string $save_dir directory to save file in - * @param mixed $callback function/method to call for status - * updates - * @param false|string|array $lastmodified header values to check against for caching - * use false to return the header values from this download - * @param false|array $accept Accept headers to send - * @param false|string $channel Channel to use for retrieving authentication - * @return string|array Returns the full path of the downloaded file or a PEAR - * error on failure. If the error is caused by - * socket-related errors, the error object will - * have the fsockopen error code available through - * getCode(). If caching is requested, then return the header - * values. - * - * @access public - */ - function downloadHttp($url, &$ui, $save_dir = '.', $callback = null, $lastmodified = null, - $accept = false, $channel = false) - { - static $redirect = 0; - // always reset , so we are clean case of error - $wasredirect = $redirect; - $redirect = 0; - if ($callback) { - call_user_func($callback, 'setup', array(&$ui)); - } - - $info = parse_url($url); - if (!isset($info['scheme']) || !in_array($info['scheme'], array('http', 'https'))) { - return PEAR::raiseError('Cannot download non-http URL "' . $url . '"'); - } - - if (!isset($info['host'])) { - return PEAR::raiseError('Cannot download from non-URL "' . $url . '"'); - } - - $host = isset($info['host']) ? $info['host'] : null; - $port = isset($info['port']) ? $info['port'] : null; - $path = isset($info['path']) ? $info['path'] : null; - - if (isset($this)) { - $config = &$this->config; - } else { - $config = &PEAR_Config::singleton(); - } - - $proxy_host = $proxy_port = $proxy_user = $proxy_pass = ''; - if ($config->get('http_proxy') && - $proxy = parse_url($config->get('http_proxy'))) { - $proxy_host = isset($proxy['host']) ? $proxy['host'] : null; - if (isset($proxy['scheme']) && $proxy['scheme'] == 'https') { - $proxy_host = 'ssl://' . $proxy_host; - } - $proxy_port = isset($proxy['port']) ? $proxy['port'] : 8080; - $proxy_user = isset($proxy['user']) ? urldecode($proxy['user']) : null; - $proxy_pass = isset($proxy['pass']) ? urldecode($proxy['pass']) : null; - - if ($callback) { - call_user_func($callback, 'message', "Using HTTP proxy $host:$port"); - } - } - - if (empty($port)) { - $port = (isset($info['scheme']) && $info['scheme'] == 'https') ? 443 : 80; - } - - $scheme = (isset($info['scheme']) && $info['scheme'] == 'https') ? 'https' : 'http'; - - if ($proxy_host != '') { - $fp = @fsockopen($proxy_host, $proxy_port, $errno, $errstr); - if (!$fp) { - if ($callback) { - call_user_func($callback, 'connfailed', array($proxy_host, $proxy_port, - $errno, $errstr)); - } - return PEAR::raiseError("Connection to `$proxy_host:$proxy_port' failed: $errstr", $errno); - } - - if ($lastmodified === false || $lastmodified) { - $request = "GET $url HTTP/1.1\r\n"; - $request .= "Host: $host\r\n"; - } else { - $request = "GET $url HTTP/1.0\r\n"; - $request .= "Host: $host\r\n"; - } - } else { - $network_host = $host; - if (isset($info['scheme']) && $info['scheme'] == 'https') { - $network_host = 'ssl://' . $host; - } - - $fp = @fsockopen($network_host, $port, $errno, $errstr); - if (!$fp) { - if ($callback) { - call_user_func($callback, 'connfailed', array($host, $port, - $errno, $errstr)); - } - return PEAR::raiseError("Connection to `$host:$port' failed: $errstr", $errno); - } - - if ($lastmodified === false || $lastmodified) { - $request = "GET $path HTTP/1.1\r\n"; - $request .= "Host: $host\r\n"; - } else { - $request = "GET $path HTTP/1.0\r\n"; - $request .= "Host: $host\r\n"; - } - } - - $ifmodifiedsince = ''; - if (is_array($lastmodified)) { - if (isset($lastmodified['Last-Modified'])) { - $ifmodifiedsince = 'If-Modified-Since: ' . $lastmodified['Last-Modified'] . "\r\n"; - } - - if (isset($lastmodified['ETag'])) { - $ifmodifiedsince .= "If-None-Match: $lastmodified[ETag]\r\n"; - } - } else { - $ifmodifiedsince = ($lastmodified ? "If-Modified-Since: $lastmodified\r\n" : ''); - } - - $request .= $ifmodifiedsince . - "User-Agent: PEAR/1.9.4/PHP/" . PHP_VERSION . "\r\n"; - - if (isset($this)) { // only pass in authentication for non-static calls - $username = $config->get('username', null, $channel); - $password = $config->get('password', null, $channel); - if ($username && $password) { - $tmp = base64_encode("$username:$password"); - $request .= "Authorization: Basic $tmp\r\n"; - } - } - - if ($proxy_host != '' && $proxy_user != '') { - $request .= 'Proxy-Authorization: Basic ' . - base64_encode($proxy_user . ':' . $proxy_pass) . "\r\n"; - } - - if ($accept) { - $request .= 'Accept: ' . implode(', ', $accept) . "\r\n"; - } - - $request .= "Connection: close\r\n"; - $request .= "\r\n"; - fwrite($fp, $request); - $headers = array(); - $reply = 0; - while (trim($line = fgets($fp, 1024))) { - if (preg_match('/^([^:]+):\s+(.*)\s*\\z/', $line, $matches)) { - $headers[strtolower($matches[1])] = trim($matches[2]); - } elseif (preg_match('|^HTTP/1.[01] ([0-9]{3}) |', $line, $matches)) { - $reply = (int)$matches[1]; - if ($reply == 304 && ($lastmodified || ($lastmodified === false))) { - return false; - } - - if (!in_array($reply, array(200, 301, 302, 303, 305, 307))) { - return PEAR::raiseError("File $scheme://$host:$port$path not valid (received: $line)"); - } - } - } - - if ($reply != 200) { - if (!isset($headers['location'])) { - return PEAR::raiseError("File $scheme://$host:$port$path not valid (redirected but no location)"); - } - - if ($wasredirect > 4) { - return PEAR::raiseError("File $scheme://$host:$port$path not valid (redirection looped more than 5 times)"); - } - - $redirect = $wasredirect + 1; - return $this->downloadHttp($headers['location'], - $ui, $save_dir, $callback, $lastmodified, $accept); - } - - if (isset($headers['content-disposition']) && - preg_match('/\sfilename=\"([^;]*\S)\"\s*(;|\\z)/', $headers['content-disposition'], $matches)) { - $save_as = basename($matches[1]); - } else { - $save_as = basename($url); - } - - if ($callback) { - $tmp = call_user_func($callback, 'saveas', $save_as); - if ($tmp) { - $save_as = $tmp; - } - } - - $dest_file = $save_dir . DIRECTORY_SEPARATOR . $save_as; - if (is_link($dest_file)) { - return PEAR::raiseError('SECURITY ERROR: Will not write to ' . $dest_file . ' as it is symlinked to ' . readlink($dest_file) . ' - Possible symlink attack'); - } - - if (!$wp = @fopen($dest_file, 'wb')) { - fclose($fp); - if ($callback) { - call_user_func($callback, 'writefailed', array($dest_file, $php_errormsg)); - } - return PEAR::raiseError("could not open $dest_file for writing"); - } - - $length = isset($headers['content-length']) ? $headers['content-length'] : -1; - - $bytes = 0; - if ($callback) { - call_user_func($callback, 'start', array(basename($dest_file), $length)); - } - - while ($data = fread($fp, 1024)) { - $bytes += strlen($data); - if ($callback) { - call_user_func($callback, 'bytesread', $bytes); - } - if (!@fwrite($wp, $data)) { - fclose($fp); - if ($callback) { - call_user_func($callback, 'writefailed', array($dest_file, $php_errormsg)); - } - return PEAR::raiseError("$dest_file: write failed ($php_errormsg)"); - } - } - - fclose($fp); - fclose($wp); - if ($callback) { - call_user_func($callback, 'done', $bytes); - } - - if ($lastmodified === false || $lastmodified) { - if (isset($headers['etag'])) { - $lastmodified = array('ETag' => $headers['etag']); - } - - if (isset($headers['last-modified'])) { - if (is_array($lastmodified)) { - $lastmodified['Last-Modified'] = $headers['last-modified']; - } else { - $lastmodified = $headers['last-modified']; - } - } - return array($dest_file, $lastmodified, $headers); - } - return $dest_file; - } -} \ No newline at end of file diff --git a/3rdparty/PEAR/Downloader/Package.php b/3rdparty/PEAR/Downloader/Package.php deleted file mode 100644 index 987c9656751fbe4d0e24cfcc332b7ba1dd5d24ad..0000000000000000000000000000000000000000 --- a/3rdparty/PEAR/Downloader/Package.php +++ /dev/null @@ -1,1988 +0,0 @@ - - * @copyright 1997-2009 The Authors - * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: Package.php 313023 2011-07-06 19:17:11Z dufuz $ - * @link http://pear.php.net/package/PEAR - * @since File available since Release 1.4.0a1 - */ - -/** - * Error code when parameter initialization fails because no releases - * exist within preferred_state, but releases do exist - */ -define('PEAR_DOWNLOADER_PACKAGE_STATE', -1003); -/** - * Error code when parameter initialization fails because no releases - * exist that will work with the existing PHP version - */ -define('PEAR_DOWNLOADER_PACKAGE_PHPVERSION', -1004); - -/** - * Coordinates download parameters and manages their dependencies - * prior to downloading them. - * - * Input can come from three sources: - * - * - local files (archives or package.xml) - * - remote files (downloadable urls) - * - abstract package names - * - * The first two elements are handled cleanly by PEAR_PackageFile, but the third requires - * accessing pearweb's xml-rpc interface to determine necessary dependencies, and the - * format returned of dependencies is slightly different from that used in package.xml. - * - * This class hides the differences between these elements, and makes automatic - * dependency resolution a piece of cake. It also manages conflicts when - * two classes depend on incompatible dependencies, or differing versions of the same - * package dependency. In addition, download will not be attempted if the php version is - * not supported, PEAR installer version is not supported, or non-PECL extensions are not - * installed. - * @category pear - * @package PEAR - * @author Greg Beaver - * @copyright 1997-2009 The Authors - * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.4 - * @link http://pear.php.net/package/PEAR - * @since Class available since Release 1.4.0a1 - */ -class PEAR_Downloader_Package -{ - /** - * @var PEAR_Downloader - */ - var $_downloader; - /** - * @var PEAR_Config - */ - var $_config; - /** - * @var PEAR_Registry - */ - var $_registry; - /** - * Used to implement packagingroot properly - * @var PEAR_Registry - */ - var $_installRegistry; - /** - * @var PEAR_PackageFile_v1|PEAR_PackageFile|v2 - */ - var $_packagefile; - /** - * @var array - */ - var $_parsedname; - /** - * @var array - */ - var $_downloadURL; - /** - * @var array - */ - var $_downloadDeps = array(); - /** - * @var boolean - */ - var $_valid = false; - /** - * @var boolean - */ - var $_analyzed = false; - /** - * if this or a parent package was invoked with Package-state, this is set to the - * state variable. - * - * This allows temporary reassignment of preferred_state for a parent package and all of - * its dependencies. - * @var string|false - */ - var $_explicitState = false; - /** - * If this package is invoked with Package#group, this variable will be true - */ - var $_explicitGroup = false; - /** - * Package type local|url - * @var string - */ - var $_type; - /** - * Contents of package.xml, if downloaded from a remote channel - * @var string|false - * @access private - */ - var $_rawpackagefile; - /** - * @var boolean - * @access private - */ - var $_validated = false; - - /** - * @param PEAR_Downloader - */ - function PEAR_Downloader_Package(&$downloader) - { - $this->_downloader = &$downloader; - $this->_config = &$this->_downloader->config; - $this->_registry = &$this->_config->getRegistry(); - $options = $downloader->getOptions(); - if (isset($options['packagingroot'])) { - $this->_config->setInstallRoot($options['packagingroot']); - $this->_installRegistry = &$this->_config->getRegistry(); - $this->_config->setInstallRoot(false); - } else { - $this->_installRegistry = &$this->_registry; - } - $this->_valid = $this->_analyzed = false; - } - - /** - * Parse the input and determine whether this is a local file, a remote uri, or an - * abstract package name. - * - * This is the heart of the PEAR_Downloader_Package(), and is used in - * {@link PEAR_Downloader::download()} - * @param string - * @return bool|PEAR_Error - */ - function initialize($param) - { - $origErr = $this->_fromFile($param); - if ($this->_valid) { - return true; - } - - $options = $this->_downloader->getOptions(); - if (isset($options['offline'])) { - if (PEAR::isError($origErr) && !isset($options['soft'])) { - foreach ($origErr->getUserInfo() as $userInfo) { - if (isset($userInfo['message'])) { - $this->_downloader->log(0, $userInfo['message']); - } - } - - $this->_downloader->log(0, $origErr->getMessage()); - } - - return PEAR::raiseError('Cannot download non-local package "' . $param . '"'); - } - - $err = $this->_fromUrl($param); - if (PEAR::isError($err) || !$this->_valid) { - if ($this->_type == 'url') { - if (PEAR::isError($err) && !isset($options['soft'])) { - $this->_downloader->log(0, $err->getMessage()); - } - - return PEAR::raiseError("Invalid or missing remote package file"); - } - - $err = $this->_fromString($param); - if (PEAR::isError($err) || !$this->_valid) { - if (PEAR::isError($err) && $err->getCode() == PEAR_DOWNLOADER_PACKAGE_STATE) { - return false; // instruct the downloader to silently skip - } - - if (isset($this->_type) && $this->_type == 'local' && PEAR::isError($origErr)) { - if (is_array($origErr->getUserInfo())) { - foreach ($origErr->getUserInfo() as $err) { - if (is_array($err)) { - $err = $err['message']; - } - - if (!isset($options['soft'])) { - $this->_downloader->log(0, $err); - } - } - } - - if (!isset($options['soft'])) { - $this->_downloader->log(0, $origErr->getMessage()); - } - - if (is_array($param)) { - $param = $this->_registry->parsedPackageNameToString($param, true); - } - - if (!isset($options['soft'])) { - $this->_downloader->log(2, "Cannot initialize '$param', invalid or missing package file"); - } - - // Passing no message back - already logged above - return PEAR::raiseError(); - } - - if (PEAR::isError($err) && !isset($options['soft'])) { - $this->_downloader->log(0, $err->getMessage()); - } - - if (is_array($param)) { - $param = $this->_registry->parsedPackageNameToString($param, true); - } - - if (!isset($options['soft'])) { - $this->_downloader->log(2, "Cannot initialize '$param', invalid or missing package file"); - } - - // Passing no message back - already logged above - return PEAR::raiseError(); - } - } - - return true; - } - - /** - * Retrieve any non-local packages - * @return PEAR_PackageFile_v1|PEAR_PackageFile_v2|PEAR_Error - */ - function &download() - { - if (isset($this->_packagefile)) { - return $this->_packagefile; - } - - if (isset($this->_downloadURL['url'])) { - $this->_isvalid = false; - $info = $this->getParsedPackage(); - foreach ($info as $i => $p) { - $info[$i] = strtolower($p); - } - - $err = $this->_fromUrl($this->_downloadURL['url'], - $this->_registry->parsedPackageNameToString($this->_parsedname, true)); - $newinfo = $this->getParsedPackage(); - foreach ($newinfo as $i => $p) { - $newinfo[$i] = strtolower($p); - } - - if ($info != $newinfo) { - do { - if ($info['channel'] == 'pecl.php.net' && $newinfo['channel'] == 'pear.php.net') { - $info['channel'] = 'pear.php.net'; - if ($info == $newinfo) { - // skip the channel check if a pecl package says it's a PEAR package - break; - } - } - if ($info['channel'] == 'pear.php.net' && $newinfo['channel'] == 'pecl.php.net') { - $info['channel'] = 'pecl.php.net'; - if ($info == $newinfo) { - // skip the channel check if a pecl package says it's a PEAR package - break; - } - } - - return PEAR::raiseError('CRITICAL ERROR: We are ' . - $this->_registry->parsedPackageNameToString($info) . ', but the file ' . - 'downloaded claims to be ' . - $this->_registry->parsedPackageNameToString($this->getParsedPackage())); - } while (false); - } - - if (PEAR::isError($err) || !$this->_valid) { - return $err; - } - } - - $this->_type = 'local'; - return $this->_packagefile; - } - - function &getPackageFile() - { - return $this->_packagefile; - } - - function &getDownloader() - { - return $this->_downloader; - } - - function getType() - { - return $this->_type; - } - - /** - * Like {@link initialize()}, but operates on a dependency - */ - function fromDepURL($dep) - { - $this->_downloadURL = $dep; - if (isset($dep['uri'])) { - $options = $this->_downloader->getOptions(); - if (!extension_loaded("zlib") || isset($options['nocompress'])) { - $ext = '.tar'; - } else { - $ext = '.tgz'; - } - - PEAR::pushErrorHandling(PEAR_ERROR_RETURN); - $err = $this->_fromUrl($dep['uri'] . $ext); - PEAR::popErrorHandling(); - if (PEAR::isError($err)) { - if (!isset($options['soft'])) { - $this->_downloader->log(0, $err->getMessage()); - } - - return PEAR::raiseError('Invalid uri dependency "' . $dep['uri'] . $ext . '", ' . - 'cannot download'); - } - } else { - $this->_parsedname = - array( - 'package' => $dep['info']->getPackage(), - 'channel' => $dep['info']->getChannel(), - 'version' => $dep['version'] - ); - if (!isset($dep['nodefault'])) { - $this->_parsedname['group'] = 'default'; // download the default dependency group - $this->_explicitGroup = false; - } - - $this->_rawpackagefile = $dep['raw']; - } - } - - function detectDependencies($params) - { - $options = $this->_downloader->getOptions(); - if (isset($options['downloadonly'])) { - return; - } - - if (isset($options['offline'])) { - $this->_downloader->log(3, 'Skipping dependency download check, --offline specified'); - return; - } - - $pname = $this->getParsedPackage(); - if (!$pname) { - return; - } - - $deps = $this->getDeps(); - if (!$deps) { - return; - } - - if (isset($deps['required'])) { // package.xml 2.0 - return $this->_detect2($deps, $pname, $options, $params); - } - - return $this->_detect1($deps, $pname, $options, $params); - } - - function setValidated() - { - $this->_validated = true; - } - - function alreadyValidated() - { - return $this->_validated; - } - - /** - * Remove packages to be downloaded that are already installed - * @param array of PEAR_Downloader_Package objects - * @static - */ - function removeInstalled(&$params) - { - if (!isset($params[0])) { - return; - } - - $options = $params[0]->_downloader->getOptions(); - if (!isset($options['downloadonly'])) { - foreach ($params as $i => $param) { - $package = $param->getPackage(); - $channel = $param->getChannel(); - // remove self if already installed with this version - // this does not need any pecl magic - we only remove exact matches - if ($param->_installRegistry->packageExists($package, $channel)) { - $packageVersion = $param->_installRegistry->packageInfo($package, 'version', $channel); - if (version_compare($packageVersion, $param->getVersion(), '==')) { - if (!isset($options['force'])) { - $info = $param->getParsedPackage(); - unset($info['version']); - unset($info['state']); - if (!isset($options['soft'])) { - $param->_downloader->log(1, 'Skipping package "' . - $param->getShortName() . - '", already installed as version ' . $packageVersion); - } - $params[$i] = false; - } - } elseif (!isset($options['force']) && !isset($options['upgrade']) && - !isset($options['soft'])) { - $info = $param->getParsedPackage(); - $param->_downloader->log(1, 'Skipping package "' . - $param->getShortName() . - '", already installed as version ' . $packageVersion); - $params[$i] = false; - } - } - } - } - - PEAR_Downloader_Package::removeDuplicates($params); - } - - function _detect2($deps, $pname, $options, $params) - { - $this->_downloadDeps = array(); - $groupnotfound = false; - foreach (array('package', 'subpackage') as $packagetype) { - // get required dependency group - if (isset($deps['required'][$packagetype])) { - if (isset($deps['required'][$packagetype][0])) { - foreach ($deps['required'][$packagetype] as $dep) { - if (isset($dep['conflicts'])) { - // skip any package that this package conflicts with - continue; - } - $ret = $this->_detect2Dep($dep, $pname, 'required', $params); - if (is_array($ret)) { - $this->_downloadDeps[] = $ret; - } elseif (PEAR::isError($ret) && !isset($options['soft'])) { - $this->_downloader->log(0, $ret->getMessage()); - } - } - } else { - $dep = $deps['required'][$packagetype]; - if (!isset($dep['conflicts'])) { - // skip any package that this package conflicts with - $ret = $this->_detect2Dep($dep, $pname, 'required', $params); - if (is_array($ret)) { - $this->_downloadDeps[] = $ret; - } elseif (PEAR::isError($ret) && !isset($options['soft'])) { - $this->_downloader->log(0, $ret->getMessage()); - } - } - } - } - - // get optional dependency group, if any - if (isset($deps['optional'][$packagetype])) { - $skipnames = array(); - if (!isset($deps['optional'][$packagetype][0])) { - $deps['optional'][$packagetype] = array($deps['optional'][$packagetype]); - } - - foreach ($deps['optional'][$packagetype] as $dep) { - $skip = false; - if (!isset($options['alldeps'])) { - $dep['package'] = $dep['name']; - if (!isset($options['soft'])) { - $this->_downloader->log(3, 'Notice: package "' . - $this->_registry->parsedPackageNameToString($this->getParsedPackage(), - true) . '" optional dependency "' . - $this->_registry->parsedPackageNameToString(array('package' => - $dep['name'], 'channel' => 'pear.php.net'), true) . - '" will not be automatically downloaded'); - } - $skipnames[] = $this->_registry->parsedPackageNameToString($dep, true); - $skip = true; - unset($dep['package']); - } - - $ret = $this->_detect2Dep($dep, $pname, 'optional', $params); - if (PEAR::isError($ret) && !isset($options['soft'])) { - $this->_downloader->log(0, $ret->getMessage()); - } - - if (!$ret) { - $dep['package'] = $dep['name']; - $skip = count($skipnames) ? - $skipnames[count($skipnames) - 1] : ''; - if ($skip == - $this->_registry->parsedPackageNameToString($dep, true)) { - array_pop($skipnames); - } - } - - if (!$skip && is_array($ret)) { - $this->_downloadDeps[] = $ret; - } - } - - if (count($skipnames)) { - if (!isset($options['soft'])) { - $this->_downloader->log(1, 'Did not download optional dependencies: ' . - implode(', ', $skipnames) . - ', use --alldeps to download automatically'); - } - } - } - - // get requested dependency group, if any - $groupname = $this->getGroup(); - $explicit = $this->_explicitGroup; - if (!$groupname) { - if (!$this->canDefault()) { - continue; - } - - $groupname = 'default'; // try the default dependency group - } - - if ($groupnotfound) { - continue; - } - - if (isset($deps['group'])) { - if (isset($deps['group']['attribs'])) { - if (strtolower($deps['group']['attribs']['name']) == strtolower($groupname)) { - $group = $deps['group']; - } elseif ($explicit) { - if (!isset($options['soft'])) { - $this->_downloader->log(0, 'Warning: package "' . - $this->_registry->parsedPackageNameToString($pname, true) . - '" has no dependency ' . 'group named "' . $groupname . '"'); - } - - $groupnotfound = true; - continue; - } - } else { - $found = false; - foreach ($deps['group'] as $group) { - if (strtolower($group['attribs']['name']) == strtolower($groupname)) { - $found = true; - break; - } - } - - if (!$found) { - if ($explicit) { - if (!isset($options['soft'])) { - $this->_downloader->log(0, 'Warning: package "' . - $this->_registry->parsedPackageNameToString($pname, true) . - '" has no dependency ' . 'group named "' . $groupname . '"'); - } - } - - $groupnotfound = true; - continue; - } - } - } - - if (isset($group) && isset($group[$packagetype])) { - if (isset($group[$packagetype][0])) { - foreach ($group[$packagetype] as $dep) { - $ret = $this->_detect2Dep($dep, $pname, 'dependency group "' . - $group['attribs']['name'] . '"', $params); - if (is_array($ret)) { - $this->_downloadDeps[] = $ret; - } elseif (PEAR::isError($ret) && !isset($options['soft'])) { - $this->_downloader->log(0, $ret->getMessage()); - } - } - } else { - $ret = $this->_detect2Dep($group[$packagetype], $pname, - 'dependency group "' . - $group['attribs']['name'] . '"', $params); - if (is_array($ret)) { - $this->_downloadDeps[] = $ret; - } elseif (PEAR::isError($ret) && !isset($options['soft'])) { - $this->_downloader->log(0, $ret->getMessage()); - } - } - } - } - } - - function _detect2Dep($dep, $pname, $group, $params) - { - if (isset($dep['conflicts'])) { - return true; - } - - $options = $this->_downloader->getOptions(); - if (isset($dep['uri'])) { - return array('uri' => $dep['uri'], 'dep' => $dep);; - } - - $testdep = $dep; - $testdep['package'] = $dep['name']; - if (PEAR_Downloader_Package::willDownload($testdep, $params)) { - $dep['package'] = $dep['name']; - if (!isset($options['soft'])) { - $this->_downloader->log(2, $this->getShortName() . ': Skipping ' . $group . - ' dependency "' . - $this->_registry->parsedPackageNameToString($dep, true) . - '", will be installed'); - } - return false; - } - - $options = $this->_downloader->getOptions(); - PEAR::pushErrorHandling(PEAR_ERROR_RETURN); - if ($this->_explicitState) { - $pname['state'] = $this->_explicitState; - } - - $url = $this->_downloader->_getDepPackageDownloadUrl($dep, $pname); - if (PEAR::isError($url)) { - PEAR::popErrorHandling(); - return $url; - } - - $dep['package'] = $dep['name']; - $ret = $this->_analyzeDownloadURL($url, 'dependency', $dep, $params, $group == 'optional' && - !isset($options['alldeps']), true); - PEAR::popErrorHandling(); - if (PEAR::isError($ret)) { - if (!isset($options['soft'])) { - $this->_downloader->log(0, $ret->getMessage()); - } - - return false; - } - - // check to see if a dep is already installed and is the same or newer - if (!isset($dep['min']) && !isset($dep['max']) && !isset($dep['recommended'])) { - $oper = 'has'; - } else { - $oper = 'gt'; - } - - // do not try to move this before getDepPackageDownloadURL - // we can't determine whether upgrade is necessary until we know what - // version would be downloaded - if (!isset($options['force']) && $this->isInstalled($ret, $oper)) { - $version = $this->_installRegistry->packageInfo($dep['name'], 'version', $dep['channel']); - $dep['package'] = $dep['name']; - if (!isset($options['soft'])) { - $this->_downloader->log(3, $this->getShortName() . ': Skipping ' . $group . - ' dependency "' . - $this->_registry->parsedPackageNameToString($dep, true) . - '" version ' . $url['version'] . ', already installed as version ' . - $version); - } - - return false; - } - - if (isset($dep['nodefault'])) { - $ret['nodefault'] = true; - } - - return $ret; - } - - function _detect1($deps, $pname, $options, $params) - { - $this->_downloadDeps = array(); - $skipnames = array(); - foreach ($deps as $dep) { - $nodownload = false; - if (isset ($dep['type']) && $dep['type'] === 'pkg') { - $dep['channel'] = 'pear.php.net'; - $dep['package'] = $dep['name']; - switch ($dep['rel']) { - case 'not' : - continue 2; - case 'ge' : - case 'eq' : - case 'gt' : - case 'has' : - $group = (!isset($dep['optional']) || $dep['optional'] == 'no') ? - 'required' : - 'optional'; - if (PEAR_Downloader_Package::willDownload($dep, $params)) { - $this->_downloader->log(2, $this->getShortName() . ': Skipping ' . $group - . ' dependency "' . - $this->_registry->parsedPackageNameToString($dep, true) . - '", will be installed'); - continue 2; - } - $fakedp = new PEAR_PackageFile_v1; - $fakedp->setPackage($dep['name']); - // skip internet check if we are not upgrading (bug #5810) - if (!isset($options['upgrade']) && $this->isInstalled( - $fakedp, $dep['rel'])) { - $this->_downloader->log(2, $this->getShortName() . ': Skipping ' . $group - . ' dependency "' . - $this->_registry->parsedPackageNameToString($dep, true) . - '", is already installed'); - continue 2; - } - } - - PEAR::pushErrorHandling(PEAR_ERROR_RETURN); - if ($this->_explicitState) { - $pname['state'] = $this->_explicitState; - } - - $url = $this->_downloader->_getDepPackageDownloadUrl($dep, $pname); - $chan = 'pear.php.net'; - if (PEAR::isError($url)) { - // check to see if this is a pecl package that has jumped - // from pear.php.net to pecl.php.net channel - if (!class_exists('PEAR_Dependency2')) { - require_once 'PEAR/Dependency2.php'; - } - - $newdep = PEAR_Dependency2::normalizeDep($dep); - $newdep = $newdep[0]; - $newdep['channel'] = 'pecl.php.net'; - $chan = 'pecl.php.net'; - $url = $this->_downloader->_getDepPackageDownloadUrl($newdep, $pname); - $obj = &$this->_installRegistry->getPackage($dep['name']); - if (PEAR::isError($url)) { - PEAR::popErrorHandling(); - if ($obj !== null && $this->isInstalled($obj, $dep['rel'])) { - $group = (!isset($dep['optional']) || $dep['optional'] == 'no') ? - 'required' : - 'optional'; - $dep['package'] = $dep['name']; - if (!isset($options['soft'])) { - $this->_downloader->log(3, $this->getShortName() . - ': Skipping ' . $group . ' dependency "' . - $this->_registry->parsedPackageNameToString($dep, true) . - '", already installed as version ' . $obj->getVersion()); - } - $skip = count($skipnames) ? - $skipnames[count($skipnames) - 1] : ''; - if ($skip == - $this->_registry->parsedPackageNameToString($dep, true)) { - array_pop($skipnames); - } - continue; - } else { - if (isset($dep['optional']) && $dep['optional'] == 'yes') { - $this->_downloader->log(2, $this->getShortName() . - ': Skipping optional dependency "' . - $this->_registry->parsedPackageNameToString($dep, true) . - '", no releases exist'); - continue; - } else { - return $url; - } - } - } - } - - PEAR::popErrorHandling(); - if (!isset($options['alldeps'])) { - if (isset($dep['optional']) && $dep['optional'] == 'yes') { - if (!isset($options['soft'])) { - $this->_downloader->log(3, 'Notice: package "' . - $this->getShortName() . - '" optional dependency "' . - $this->_registry->parsedPackageNameToString( - array('channel' => $chan, 'package' => - $dep['name']), true) . - '" will not be automatically downloaded'); - } - $skipnames[] = $this->_registry->parsedPackageNameToString( - array('channel' => $chan, 'package' => - $dep['name']), true); - $nodownload = true; - } - } - - if (!isset($options['alldeps']) && !isset($options['onlyreqdeps'])) { - if (!isset($dep['optional']) || $dep['optional'] == 'no') { - if (!isset($options['soft'])) { - $this->_downloader->log(3, 'Notice: package "' . - $this->getShortName() . - '" required dependency "' . - $this->_registry->parsedPackageNameToString( - array('channel' => $chan, 'package' => - $dep['name']), true) . - '" will not be automatically downloaded'); - } - $skipnames[] = $this->_registry->parsedPackageNameToString( - array('channel' => $chan, 'package' => - $dep['name']), true); - $nodownload = true; - } - } - - // check to see if a dep is already installed - // do not try to move this before getDepPackageDownloadURL - // we can't determine whether upgrade is necessary until we know what - // version would be downloaded - if (!isset($options['force']) && $this->isInstalled( - $url, $dep['rel'])) { - $group = (!isset($dep['optional']) || $dep['optional'] == 'no') ? - 'required' : - 'optional'; - $dep['package'] = $dep['name']; - if (isset($newdep)) { - $version = $this->_installRegistry->packageInfo($newdep['name'], 'version', $newdep['channel']); - } else { - $version = $this->_installRegistry->packageInfo($dep['name'], 'version'); - } - - $dep['version'] = $url['version']; - if (!isset($options['soft'])) { - $this->_downloader->log(3, $this->getShortName() . ': Skipping ' . $group . - ' dependency "' . - $this->_registry->parsedPackageNameToString($dep, true) . - '", already installed as version ' . $version); - } - - $skip = count($skipnames) ? - $skipnames[count($skipnames) - 1] : ''; - if ($skip == - $this->_registry->parsedPackageNameToString($dep, true)) { - array_pop($skipnames); - } - - continue; - } - - if ($nodownload) { - continue; - } - - PEAR::pushErrorHandling(PEAR_ERROR_RETURN); - if (isset($newdep)) { - $dep = $newdep; - } - - $dep['package'] = $dep['name']; - $ret = $this->_analyzeDownloadURL($url, 'dependency', $dep, $params, - isset($dep['optional']) && $dep['optional'] == 'yes' && - !isset($options['alldeps']), true); - PEAR::popErrorHandling(); - if (PEAR::isError($ret)) { - if (!isset($options['soft'])) { - $this->_downloader->log(0, $ret->getMessage()); - } - continue; - } - - $this->_downloadDeps[] = $ret; - } - } - - if (count($skipnames)) { - if (!isset($options['soft'])) { - $this->_downloader->log(1, 'Did not download dependencies: ' . - implode(', ', $skipnames) . - ', use --alldeps or --onlyreqdeps to download automatically'); - } - } - } - - function setDownloadURL($pkg) - { - $this->_downloadURL = $pkg; - } - - /** - * Set the package.xml object for this downloaded package - * - * @param PEAR_PackageFile_v1|PEAR_PackageFile_v2 $pkg - */ - function setPackageFile(&$pkg) - { - $this->_packagefile = &$pkg; - } - - function getShortName() - { - return $this->_registry->parsedPackageNameToString(array('channel' => $this->getChannel(), - 'package' => $this->getPackage()), true); - } - - function getParsedPackage() - { - if (isset($this->_packagefile) || isset($this->_parsedname)) { - return array('channel' => $this->getChannel(), - 'package' => $this->getPackage(), - 'version' => $this->getVersion()); - } - - return false; - } - - function getDownloadURL() - { - return $this->_downloadURL; - } - - function canDefault() - { - if (isset($this->_downloadURL) && isset($this->_downloadURL['nodefault'])) { - return false; - } - - return true; - } - - function getPackage() - { - if (isset($this->_packagefile)) { - return $this->_packagefile->getPackage(); - } elseif (isset($this->_downloadURL['info'])) { - return $this->_downloadURL['info']->getPackage(); - } - - return false; - } - - /** - * @param PEAR_PackageFile_v1|PEAR_PackageFile_v2 - */ - function isSubpackage(&$pf) - { - if (isset($this->_packagefile)) { - return $this->_packagefile->isSubpackage($pf); - } elseif (isset($this->_downloadURL['info'])) { - return $this->_downloadURL['info']->isSubpackage($pf); - } - - return false; - } - - function getPackageType() - { - if (isset($this->_packagefile)) { - return $this->_packagefile->getPackageType(); - } elseif (isset($this->_downloadURL['info'])) { - return $this->_downloadURL['info']->getPackageType(); - } - - return false; - } - - function isBundle() - { - if (isset($this->_packagefile)) { - return $this->_packagefile->getPackageType() == 'bundle'; - } - - return false; - } - - function getPackageXmlVersion() - { - if (isset($this->_packagefile)) { - return $this->_packagefile->getPackagexmlVersion(); - } elseif (isset($this->_downloadURL['info'])) { - return $this->_downloadURL['info']->getPackagexmlVersion(); - } - - return '1.0'; - } - - function getChannel() - { - if (isset($this->_packagefile)) { - return $this->_packagefile->getChannel(); - } elseif (isset($this->_downloadURL['info'])) { - return $this->_downloadURL['info']->getChannel(); - } - - return false; - } - - function getURI() - { - if (isset($this->_packagefile)) { - return $this->_packagefile->getURI(); - } elseif (isset($this->_downloadURL['info'])) { - return $this->_downloadURL['info']->getURI(); - } - - return false; - } - - function getVersion() - { - if (isset($this->_packagefile)) { - return $this->_packagefile->getVersion(); - } elseif (isset($this->_downloadURL['version'])) { - return $this->_downloadURL['version']; - } - - return false; - } - - function isCompatible($pf) - { - if (isset($this->_packagefile)) { - return $this->_packagefile->isCompatible($pf); - } elseif (isset($this->_downloadURL['info'])) { - return $this->_downloadURL['info']->isCompatible($pf); - } - - return true; - } - - function setGroup($group) - { - $this->_parsedname['group'] = $group; - } - - function getGroup() - { - if (isset($this->_parsedname['group'])) { - return $this->_parsedname['group']; - } - - return ''; - } - - function isExtension($name) - { - if (isset($this->_packagefile)) { - return $this->_packagefile->isExtension($name); - } elseif (isset($this->_downloadURL['info'])) { - if ($this->_downloadURL['info']->getPackagexmlVersion() == '2.0') { - return $this->_downloadURL['info']->getProvidesExtension() == $name; - } - - return false; - } - - return false; - } - - function getDeps() - { - if (isset($this->_packagefile)) { - $ver = $this->_packagefile->getPackagexmlVersion(); - if (version_compare($ver, '2.0', '>=')) { - return $this->_packagefile->getDeps(true); - } - - return $this->_packagefile->getDeps(); - } elseif (isset($this->_downloadURL['info'])) { - $ver = $this->_downloadURL['info']->getPackagexmlVersion(); - if (version_compare($ver, '2.0', '>=')) { - return $this->_downloadURL['info']->getDeps(true); - } - - return $this->_downloadURL['info']->getDeps(); - } - - return array(); - } - - /** - * @param array Parsed array from {@link PEAR_Registry::parsePackageName()} or a dependency - * returned from getDepDownloadURL() - */ - function isEqual($param) - { - if (is_object($param)) { - $channel = $param->getChannel(); - $package = $param->getPackage(); - if ($param->getURI()) { - $param = array( - 'channel' => $param->getChannel(), - 'package' => $param->getPackage(), - 'version' => $param->getVersion(), - 'uri' => $param->getURI(), - ); - } else { - $param = array( - 'channel' => $param->getChannel(), - 'package' => $param->getPackage(), - 'version' => $param->getVersion(), - ); - } - } else { - if (isset($param['uri'])) { - if ($this->getChannel() != '__uri') { - return false; - } - return $param['uri'] == $this->getURI(); - } - - $package = isset($param['package']) ? $param['package'] : $param['info']->getPackage(); - $channel = isset($param['channel']) ? $param['channel'] : $param['info']->getChannel(); - if (isset($param['rel'])) { - if (!class_exists('PEAR_Dependency2')) { - require_once 'PEAR/Dependency2.php'; - } - - $newdep = PEAR_Dependency2::normalizeDep($param); - $newdep = $newdep[0]; - } elseif (isset($param['min'])) { - $newdep = $param; - } - } - - if (isset($newdep)) { - if (!isset($newdep['min'])) { - $newdep['min'] = '0'; - } - - if (!isset($newdep['max'])) { - $newdep['max'] = '100000000000000000000'; - } - - // use magic to support pecl packages suddenly jumping to the pecl channel - // we need to support both dependency possibilities - if ($channel == 'pear.php.net' && $this->getChannel() == 'pecl.php.net') { - if ($package == $this->getPackage()) { - $channel = 'pecl.php.net'; - } - } - if ($channel == 'pecl.php.net' && $this->getChannel() == 'pear.php.net') { - if ($package == $this->getPackage()) { - $channel = 'pear.php.net'; - } - } - - return (strtolower($package) == strtolower($this->getPackage()) && - $channel == $this->getChannel() && - version_compare($newdep['min'], $this->getVersion(), '<=') && - version_compare($newdep['max'], $this->getVersion(), '>=')); - } - - // use magic to support pecl packages suddenly jumping to the pecl channel - if ($channel == 'pecl.php.net' && $this->getChannel() == 'pear.php.net') { - if (strtolower($package) == strtolower($this->getPackage())) { - $channel = 'pear.php.net'; - } - } - - if (isset($param['version'])) { - return (strtolower($package) == strtolower($this->getPackage()) && - $channel == $this->getChannel() && - $param['version'] == $this->getVersion()); - } - - return strtolower($package) == strtolower($this->getPackage()) && - $channel == $this->getChannel(); - } - - function isInstalled($dep, $oper = '==') - { - if (!$dep) { - return false; - } - - if ($oper != 'ge' && $oper != 'gt' && $oper != 'has' && $oper != '==') { - return false; - } - - if (is_object($dep)) { - $package = $dep->getPackage(); - $channel = $dep->getChannel(); - if ($dep->getURI()) { - $dep = array( - 'uri' => $dep->getURI(), - 'version' => $dep->getVersion(), - ); - } else { - $dep = array( - 'version' => $dep->getVersion(), - ); - } - } else { - if (isset($dep['uri'])) { - $channel = '__uri'; - $package = $dep['dep']['name']; - } else { - $channel = $dep['info']->getChannel(); - $package = $dep['info']->getPackage(); - } - } - - $options = $this->_downloader->getOptions(); - $test = $this->_installRegistry->packageExists($package, $channel); - if (!$test && $channel == 'pecl.php.net') { - // do magic to allow upgrading from old pecl packages to new ones - $test = $this->_installRegistry->packageExists($package, 'pear.php.net'); - $channel = 'pear.php.net'; - } - - if ($test) { - if (isset($dep['uri'])) { - if ($this->_installRegistry->packageInfo($package, 'uri', '__uri') == $dep['uri']) { - return true; - } - } - - if (isset($options['upgrade'])) { - $packageVersion = $this->_installRegistry->packageInfo($package, 'version', $channel); - if (version_compare($packageVersion, $dep['version'], '>=')) { - return true; - } - - return false; - } - - return true; - } - - return false; - } - - /** - * Detect duplicate package names with differing versions - * - * If a user requests to install Date 1.4.6 and Date 1.4.7, - * for instance, this is a logic error. This method - * detects this situation. - * - * @param array $params array of PEAR_Downloader_Package objects - * @param array $errorparams empty array - * @return array array of stupid duplicated packages in PEAR_Downloader_Package obejcts - */ - function detectStupidDuplicates($params, &$errorparams) - { - $existing = array(); - foreach ($params as $i => $param) { - $package = $param->getPackage(); - $channel = $param->getChannel(); - $group = $param->getGroup(); - if (!isset($existing[$channel . '/' . $package])) { - $existing[$channel . '/' . $package] = array(); - } - - if (!isset($existing[$channel . '/' . $package][$group])) { - $existing[$channel . '/' . $package][$group] = array(); - } - - $existing[$channel . '/' . $package][$group][] = $i; - } - - $indices = array(); - foreach ($existing as $package => $groups) { - foreach ($groups as $group => $dupes) { - if (count($dupes) > 1) { - $indices = $indices + $dupes; - } - } - } - - $indices = array_unique($indices); - foreach ($indices as $index) { - $errorparams[] = $params[$index]; - } - - return count($errorparams); - } - - /** - * @param array - * @param bool ignore install groups - for final removal of dupe packages - * @static - */ - function removeDuplicates(&$params, $ignoreGroups = false) - { - $pnames = array(); - foreach ($params as $i => $param) { - if (!$param) { - continue; - } - - if ($param->getPackage()) { - $group = $ignoreGroups ? '' : $param->getGroup(); - $pnames[$i] = $param->getChannel() . '/' . - $param->getPackage() . '-' . $param->getVersion() . '#' . $group; - } - } - - $pnames = array_unique($pnames); - $unset = array_diff(array_keys($params), array_keys($pnames)); - $testp = array_flip($pnames); - foreach ($params as $i => $param) { - if (!$param) { - $unset[] = $i; - continue; - } - - if (!is_a($param, 'PEAR_Downloader_Package')) { - $unset[] = $i; - continue; - } - - $group = $ignoreGroups ? '' : $param->getGroup(); - if (!isset($testp[$param->getChannel() . '/' . $param->getPackage() . '-' . - $param->getVersion() . '#' . $group])) { - $unset[] = $i; - } - } - - foreach ($unset as $i) { - unset($params[$i]); - } - - $ret = array(); - foreach ($params as $i => $param) { - $ret[] = &$params[$i]; - } - - $params = array(); - foreach ($ret as $i => $param) { - $params[] = &$ret[$i]; - } - } - - function explicitState() - { - return $this->_explicitState; - } - - function setExplicitState($s) - { - $this->_explicitState = $s; - } - - /** - * @static - */ - function mergeDependencies(&$params) - { - $bundles = $newparams = array(); - foreach ($params as $i => $param) { - if (!$param->isBundle()) { - continue; - } - - $bundles[] = $i; - $pf = &$param->getPackageFile(); - $newdeps = array(); - $contents = $pf->getBundledPackages(); - if (!is_array($contents)) { - $contents = array($contents); - } - - foreach ($contents as $file) { - $filecontents = $pf->getFileContents($file); - $dl = &$param->getDownloader(); - $options = $dl->getOptions(); - if (PEAR::isError($dir = $dl->getDownloadDir())) { - return $dir; - } - - $fp = @fopen($dir . DIRECTORY_SEPARATOR . $file, 'wb'); - if (!$fp) { - continue; - } - - // FIXME do symlink check - - fwrite($fp, $filecontents, strlen($filecontents)); - fclose($fp); - if ($s = $params[$i]->explicitState()) { - $obj->setExplicitState($s); - } - - $obj = &new PEAR_Downloader_Package($params[$i]->getDownloader()); - PEAR::pushErrorHandling(PEAR_ERROR_RETURN); - if (PEAR::isError($dir = $dl->getDownloadDir())) { - PEAR::popErrorHandling(); - return $dir; - } - - $e = $obj->_fromFile($a = $dir . DIRECTORY_SEPARATOR . $file); - PEAR::popErrorHandling(); - if (PEAR::isError($e)) { - if (!isset($options['soft'])) { - $dl->log(0, $e->getMessage()); - } - continue; - } - - $j = &$obj; - if (!PEAR_Downloader_Package::willDownload($j, - array_merge($params, $newparams)) && !$param->isInstalled($j)) { - $newparams[] = &$j; - } - } - } - - foreach ($bundles as $i) { - unset($params[$i]); // remove bundles - only their contents matter for installation - } - - PEAR_Downloader_Package::removeDuplicates($params); // strip any unset indices - if (count($newparams)) { // add in bundled packages for install - foreach ($newparams as $i => $unused) { - $params[] = &$newparams[$i]; - } - $newparams = array(); - } - - foreach ($params as $i => $param) { - $newdeps = array(); - foreach ($param->_downloadDeps as $dep) { - $merge = array_merge($params, $newparams); - if (!PEAR_Downloader_Package::willDownload($dep, $merge) - && !$param->isInstalled($dep) - ) { - $newdeps[] = $dep; - } else { - //var_dump($dep); - // detect versioning conflicts here - } - } - - // convert the dependencies into PEAR_Downloader_Package objects for the next time around - $params[$i]->_downloadDeps = array(); - foreach ($newdeps as $dep) { - $obj = &new PEAR_Downloader_Package($params[$i]->getDownloader()); - if ($s = $params[$i]->explicitState()) { - $obj->setExplicitState($s); - } - - PEAR::pushErrorHandling(PEAR_ERROR_RETURN); - $e = $obj->fromDepURL($dep); - PEAR::popErrorHandling(); - if (PEAR::isError($e)) { - if (!isset($options['soft'])) { - $obj->_downloader->log(0, $e->getMessage()); - } - continue; - } - - $e = $obj->detectDependencies($params); - if (PEAR::isError($e)) { - if (!isset($options['soft'])) { - $obj->_downloader->log(0, $e->getMessage()); - } - } - - $j = &$obj; - $newparams[] = &$j; - } - } - - if (count($newparams)) { - foreach ($newparams as $i => $unused) { - $params[] = &$newparams[$i]; - } - return true; - } - - return false; - } - - - /** - * @static - */ - function willDownload($param, $params) - { - if (!is_array($params)) { - return false; - } - - foreach ($params as $obj) { - if ($obj->isEqual($param)) { - return true; - } - } - - return false; - } - - /** - * For simpler unit-testing - * @param PEAR_Config - * @param int - * @param string - */ - function &getPackagefileObject(&$c, $d) - { - $a = &new PEAR_PackageFile($c, $d); - return $a; - } - - /** - * This will retrieve from a local file if possible, and parse out - * a group name as well. The original parameter will be modified to reflect this. - * @param string|array can be a parsed package name as well - * @access private - */ - function _fromFile(&$param) - { - $saveparam = $param; - if (is_string($param)) { - if (!@file_exists($param)) { - $test = explode('#', $param); - $group = array_pop($test); - if (@file_exists(implode('#', $test))) { - $this->setGroup($group); - $param = implode('#', $test); - $this->_explicitGroup = true; - } - } - - if (@is_file($param)) { - $this->_type = 'local'; - $options = $this->_downloader->getOptions(); - $pkg = &$this->getPackagefileObject($this->_config, $this->_downloader->_debug); - PEAR::pushErrorHandling(PEAR_ERROR_RETURN); - $pf = &$pkg->fromAnyFile($param, PEAR_VALIDATE_INSTALLING); - PEAR::popErrorHandling(); - if (PEAR::isError($pf)) { - $this->_valid = false; - $param = $saveparam; - return $pf; - } - $this->_packagefile = &$pf; - if (!$this->getGroup()) { - $this->setGroup('default'); // install the default dependency group - } - return $this->_valid = true; - } - } - $param = $saveparam; - return $this->_valid = false; - } - - function _fromUrl($param, $saveparam = '') - { - if (!is_array($param) && (preg_match('#^(http|https|ftp)://#', $param))) { - $options = $this->_downloader->getOptions(); - $this->_type = 'url'; - $callback = $this->_downloader->ui ? - array(&$this->_downloader, '_downloadCallback') : null; - $this->_downloader->pushErrorHandling(PEAR_ERROR_RETURN); - if (PEAR::isError($dir = $this->_downloader->getDownloadDir())) { - $this->_downloader->popErrorHandling(); - return $dir; - } - - $this->_downloader->log(3, 'Downloading "' . $param . '"'); - $file = $this->_downloader->downloadHttp($param, $this->_downloader->ui, - $dir, $callback, null, false, $this->getChannel()); - $this->_downloader->popErrorHandling(); - if (PEAR::isError($file)) { - if (!empty($saveparam)) { - $saveparam = ", cannot download \"$saveparam\""; - } - $err = PEAR::raiseError('Could not download from "' . $param . - '"' . $saveparam . ' (' . $file->getMessage() . ')'); - return $err; - } - - if ($this->_rawpackagefile) { - require_once 'Archive/Tar.php'; - $tar = &new Archive_Tar($file); - $packagexml = $tar->extractInString('package2.xml'); - if (!$packagexml) { - $packagexml = $tar->extractInString('package.xml'); - } - - if (str_replace(array("\n", "\r"), array('',''), $packagexml) != - str_replace(array("\n", "\r"), array('',''), $this->_rawpackagefile)) { - if ($this->getChannel() != 'pear.php.net') { - return PEAR::raiseError('CRITICAL ERROR: package.xml downloaded does ' . - 'not match value returned from xml-rpc'); - } - - // be more lax for the existing PEAR packages that have not-ok - // characters in their package.xml - $this->_downloader->log(0, 'CRITICAL WARNING: The "' . - $this->getPackage() . '" package has invalid characters in its ' . - 'package.xml. The next version of PEAR may not be able to install ' . - 'this package for security reasons. Please open a bug report at ' . - 'http://pear.php.net/package/' . $this->getPackage() . '/bugs'); - } - } - - // whew, download worked! - $pkg = &$this->getPackagefileObject($this->_config, $this->_downloader->debug); - - PEAR::pushErrorHandling(PEAR_ERROR_RETURN); - $pf = &$pkg->fromAnyFile($file, PEAR_VALIDATE_INSTALLING); - PEAR::popErrorHandling(); - if (PEAR::isError($pf)) { - if (is_array($pf->getUserInfo())) { - foreach ($pf->getUserInfo() as $err) { - if (is_array($err)) { - $err = $err['message']; - } - - if (!isset($options['soft'])) { - $this->_downloader->log(0, "Validation Error: $err"); - } - } - } - - if (!isset($options['soft'])) { - $this->_downloader->log(0, $pf->getMessage()); - } - - ///FIXME need to pass back some error code that we can use to match with to cancel all further operations - /// At least stop all deps of this package from being installed - $out = $saveparam ? $saveparam : $param; - $err = PEAR::raiseError('Download of "' . $out . '" succeeded, but it is not a valid package archive'); - $this->_valid = false; - return $err; - } - - $this->_packagefile = &$pf; - $this->setGroup('default'); // install the default dependency group - return $this->_valid = true; - } - - return $this->_valid = false; - } - - /** - * - * @param string|array pass in an array of format - * array( - * 'package' => 'pname', - * ['channel' => 'channame',] - * ['version' => 'version',] - * ['state' => 'state',]) - * or a string of format [channame/]pname[-version|-state] - */ - function _fromString($param) - { - $options = $this->_downloader->getOptions(); - $channel = $this->_config->get('default_channel'); - PEAR::pushErrorHandling(PEAR_ERROR_RETURN); - $pname = $this->_registry->parsePackageName($param, $channel); - PEAR::popErrorHandling(); - if (PEAR::isError($pname)) { - if ($pname->getCode() == 'invalid') { - $this->_valid = false; - return false; - } - - if ($pname->getCode() == 'channel') { - $parsed = $pname->getUserInfo(); - if ($this->_downloader->discover($parsed['channel'])) { - if ($this->_config->get('auto_discover')) { - PEAR::pushErrorHandling(PEAR_ERROR_RETURN); - $pname = $this->_registry->parsePackageName($param, $channel); - PEAR::popErrorHandling(); - } else { - if (!isset($options['soft'])) { - $this->_downloader->log(0, 'Channel "' . $parsed['channel'] . - '" is not initialized, use ' . - '"pear channel-discover ' . $parsed['channel'] . '" to initialize' . - 'or pear config-set auto_discover 1'); - } - } - } - - if (PEAR::isError($pname)) { - if (!isset($options['soft'])) { - $this->_downloader->log(0, $pname->getMessage()); - } - - if (is_array($param)) { - $param = $this->_registry->parsedPackageNameToString($param); - } - - $err = PEAR::raiseError('invalid package name/package file "' . $param . '"'); - $this->_valid = false; - return $err; - } - } else { - if (!isset($options['soft'])) { - $this->_downloader->log(0, $pname->getMessage()); - } - - $err = PEAR::raiseError('invalid package name/package file "' . $param . '"'); - $this->_valid = false; - return $err; - } - } - - if (!isset($this->_type)) { - $this->_type = 'rest'; - } - - $this->_parsedname = $pname; - $this->_explicitState = isset($pname['state']) ? $pname['state'] : false; - $this->_explicitGroup = isset($pname['group']) ? true : false; - - $info = $this->_downloader->_getPackageDownloadUrl($pname); - if (PEAR::isError($info)) { - if ($info->getCode() != -976 && $pname['channel'] == 'pear.php.net') { - // try pecl - $pname['channel'] = 'pecl.php.net'; - if ($test = $this->_downloader->_getPackageDownloadUrl($pname)) { - if (!PEAR::isError($test)) { - $info = PEAR::raiseError($info->getMessage() . ' - package ' . - $this->_registry->parsedPackageNameToString($pname, true) . - ' can be installed with "pecl install ' . $pname['package'] . - '"'); - } else { - $pname['channel'] = 'pear.php.net'; - } - } else { - $pname['channel'] = 'pear.php.net'; - } - } - - return $info; - } - - $this->_rawpackagefile = $info['raw']; - $ret = $this->_analyzeDownloadURL($info, $param, $pname); - if (PEAR::isError($ret)) { - return $ret; - } - - if ($ret) { - $this->_downloadURL = $ret; - return $this->_valid = (bool) $ret; - } - } - - /** - * @param array output of package.getDownloadURL - * @param string|array|object information for detecting packages to be downloaded, and - * for errors - * @param array name information of the package - * @param array|null packages to be downloaded - * @param bool is this an optional dependency? - * @param bool is this any kind of dependency? - * @access private - */ - function _analyzeDownloadURL($info, $param, $pname, $params = null, $optional = false, - $isdependency = false) - { - if (!is_string($param) && PEAR_Downloader_Package::willDownload($param, $params)) { - return false; - } - - if ($info === false) { - $saveparam = !is_string($param) ? ", cannot download \"$param\"" : ''; - - // no releases exist - return PEAR::raiseError('No releases for package "' . - $this->_registry->parsedPackageNameToString($pname, true) . '" exist' . $saveparam); - } - - if (strtolower($info['info']->getChannel()) != strtolower($pname['channel'])) { - $err = false; - if ($pname['channel'] == 'pecl.php.net') { - if ($info['info']->getChannel() != 'pear.php.net') { - $err = true; - } - } elseif ($info['info']->getChannel() == 'pecl.php.net') { - if ($pname['channel'] != 'pear.php.net') { - $err = true; - } - } else { - $err = true; - } - - if ($err) { - return PEAR::raiseError('SECURITY ERROR: package in channel "' . $pname['channel'] . - '" retrieved another channel\'s name for download! ("' . - $info['info']->getChannel() . '")'); - } - } - - $preferred_state = $this->_config->get('preferred_state'); - if (!isset($info['url'])) { - $package_version = $this->_registry->packageInfo($info['info']->getPackage(), - 'version', $info['info']->getChannel()); - if ($this->isInstalled($info)) { - if ($isdependency && version_compare($info['version'], $package_version, '<=')) { - // ignore bogus errors of "failed to download dependency" - // if it is already installed and the one that would be - // downloaded is older or the same version (Bug #7219) - return false; - } - } - - if ($info['version'] === $package_version) { - if (!isset($options['soft'])) { - $this->_downloader->log(1, 'WARNING: failed to download ' . $pname['channel'] . - '/' . $pname['package'] . '-' . $package_version. ', additionally the suggested version' . - ' (' . $package_version . ') is the same as the locally installed one.'); - } - - return false; - } - - if (version_compare($info['version'], $package_version, '<=')) { - if (!isset($options['soft'])) { - $this->_downloader->log(1, 'WARNING: failed to download ' . $pname['channel'] . - '/' . $pname['package'] . '-' . $package_version . ', additionally the suggested version' . - ' (' . $info['version'] . ') is a lower version than the locally installed one (' . $package_version . ').'); - } - - return false; - } - - $instead = ', will instead download version ' . $info['version'] . - ', stability "' . $info['info']->getState() . '"'; - // releases exist, but we failed to get any - if (isset($this->_downloader->_options['force'])) { - if (isset($pname['version'])) { - $vs = ', version "' . $pname['version'] . '"'; - } elseif (isset($pname['state'])) { - $vs = ', stability "' . $pname['state'] . '"'; - } elseif ($param == 'dependency') { - if (!class_exists('PEAR_Common')) { - require_once 'PEAR/Common.php'; - } - - if (!in_array($info['info']->getState(), - PEAR_Common::betterStates($preferred_state, true))) { - if ($optional) { - // don't spit out confusing error message - return $this->_downloader->_getPackageDownloadUrl( - array('package' => $pname['package'], - 'channel' => $pname['channel'], - 'version' => $info['version'])); - } - $vs = ' within preferred state "' . $preferred_state . - '"'; - } else { - if (!class_exists('PEAR_Dependency2')) { - require_once 'PEAR/Dependency2.php'; - } - - if ($optional) { - // don't spit out confusing error message - return $this->_downloader->_getPackageDownloadUrl( - array('package' => $pname['package'], - 'channel' => $pname['channel'], - 'version' => $info['version'])); - } - $vs = PEAR_Dependency2::_getExtraString($pname); - $instead = ''; - } - } else { - $vs = ' within preferred state "' . $preferred_state . '"'; - } - - if (!isset($options['soft'])) { - $this->_downloader->log(1, 'WARNING: failed to download ' . $pname['channel'] . - '/' . $pname['package'] . $vs . $instead); - } - - // download the latest release - return $this->_downloader->_getPackageDownloadUrl( - array('package' => $pname['package'], - 'channel' => $pname['channel'], - 'version' => $info['version'])); - } else { - if (isset($info['php']) && $info['php']) { - $err = PEAR::raiseError('Failed to download ' . - $this->_registry->parsedPackageNameToString( - array('channel' => $pname['channel'], - 'package' => $pname['package']), - true) . - ', latest release is version ' . $info['php']['v'] . - ', but it requires PHP version "' . - $info['php']['m'] . '", use "' . - $this->_registry->parsedPackageNameToString( - array('channel' => $pname['channel'], 'package' => $pname['package'], - 'version' => $info['php']['v'])) . '" to install', - PEAR_DOWNLOADER_PACKAGE_PHPVERSION); - return $err; - } - - // construct helpful error message - if (isset($pname['version'])) { - $vs = ', version "' . $pname['version'] . '"'; - } elseif (isset($pname['state'])) { - $vs = ', stability "' . $pname['state'] . '"'; - } elseif ($param == 'dependency') { - if (!class_exists('PEAR_Common')) { - require_once 'PEAR/Common.php'; - } - - if (!in_array($info['info']->getState(), - PEAR_Common::betterStates($preferred_state, true))) { - if ($optional) { - // don't spit out confusing error message, and don't die on - // optional dep failure! - return $this->_downloader->_getPackageDownloadUrl( - array('package' => $pname['package'], - 'channel' => $pname['channel'], - 'version' => $info['version'])); - } - $vs = ' within preferred state "' . $preferred_state . '"'; - } else { - if (!class_exists('PEAR_Dependency2')) { - require_once 'PEAR/Dependency2.php'; - } - - if ($optional) { - // don't spit out confusing error message, and don't die on - // optional dep failure! - return $this->_downloader->_getPackageDownloadUrl( - array('package' => $pname['package'], - 'channel' => $pname['channel'], - 'version' => $info['version'])); - } - $vs = PEAR_Dependency2::_getExtraString($pname); - } - } else { - $vs = ' within preferred state "' . $this->_downloader->config->get('preferred_state') . '"'; - } - - $options = $this->_downloader->getOptions(); - // this is only set by the "download-all" command - if (isset($options['ignorepreferred_state'])) { - $err = PEAR::raiseError( - 'Failed to download ' . $this->_registry->parsedPackageNameToString( - array('channel' => $pname['channel'], 'package' => $pname['package']), - true) - . $vs . - ', latest release is version ' . $info['version'] . - ', stability "' . $info['info']->getState() . '", use "' . - $this->_registry->parsedPackageNameToString( - array('channel' => $pname['channel'], 'package' => $pname['package'], - 'version' => $info['version'])) . '" to install', - PEAR_DOWNLOADER_PACKAGE_STATE); - return $err; - } - - // Checks if the user has a package installed already and checks the release against - // the state against the installed package, this allows upgrades for packages - // with lower stability than the preferred_state - $stability = $this->_registry->packageInfo($pname['package'], 'stability', $pname['channel']); - if (!$this->isInstalled($info) - || !in_array($info['info']->getState(), PEAR_Common::betterStates($stability['release'], true)) - ) { - $err = PEAR::raiseError( - 'Failed to download ' . $this->_registry->parsedPackageNameToString( - array('channel' => $pname['channel'], 'package' => $pname['package']), - true) - . $vs . - ', latest release is version ' . $info['version'] . - ', stability "' . $info['info']->getState() . '", use "' . - $this->_registry->parsedPackageNameToString( - array('channel' => $pname['channel'], 'package' => $pname['package'], - 'version' => $info['version'])) . '" to install'); - return $err; - } - } - } - - if (isset($info['deprecated']) && $info['deprecated']) { - $this->_downloader->log(0, - 'WARNING: "' . - $this->_registry->parsedPackageNameToString( - array('channel' => $info['info']->getChannel(), - 'package' => $info['info']->getPackage()), true) . - '" is deprecated in favor of "' . - $this->_registry->parsedPackageNameToString($info['deprecated'], true) . - '"'); - } - - return $info; - } -} \ No newline at end of file diff --git a/3rdparty/PEAR/ErrorStack.php b/3rdparty/PEAR/ErrorStack.php deleted file mode 100644 index 0303f5273adb45d68c77368ac99bd1910e1d4edd..0000000000000000000000000000000000000000 --- a/3rdparty/PEAR/ErrorStack.php +++ /dev/null @@ -1,985 +0,0 @@ - - * @copyright 2004-2008 Greg Beaver - * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: ErrorStack.php 313023 2011-07-06 19:17:11Z dufuz $ - * @link http://pear.php.net/package/PEAR_ErrorStack - */ - -/** - * Singleton storage - * - * Format: - *
- * array(
- *  'package1' => PEAR_ErrorStack object,
- *  'package2' => PEAR_ErrorStack object,
- *  ...
- * )
- * 
- * @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: - * - * // global error stack - * $global_stack = &PEAR_ErrorStack::singleton('MyPackage'); - * // local error stack - * $local_stack = new PEAR_ErrorStack('MyPackage'); - * - * @author Greg Beaver - * @version 1.9.4 - * @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 313023 2011-07-06 19:17:11Z 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 '
'; - } 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: - * - * - * array( - * 'code' => $code, - * 'params' => $params, - * 'package' => $this->_package, - * 'level' => $level, - * 'time' => time(), - * 'context' => $context, - * 'message' => $msg, - * //['repackage' => $err] repackaged error array/Exception class - * ); - * - * - * 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: - * - * - * $stack->push(ERROR_CODE, 'error', array(), 'server error 500'); - * - * - * 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: - *
-     * array(error code => 'message template',...)
-     * 
- * - * 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')); -?> diff --git a/3rdparty/PEAR/Exception.php b/3rdparty/PEAR/Exception.php deleted file mode 100644 index 4a0e7b86fac7a953773f2f3a841d36e2380b7664..0000000000000000000000000000000000000000 --- a/3rdparty/PEAR/Exception.php +++ /dev/null @@ -1,389 +0,0 @@ - - * @author Hans Lellelid - * @author Bertrand Mansion - * @author Greg Beaver - * @copyright 1997-2009 The Authors - * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: Exception.php 313023 2011-07-06 19:17:11Z dufuz $ - * @link http://pear.php.net/package/PEAR - * @since File available since Release 1.3.3 - */ - - -/** - * Base PEAR_Exception Class - * - * 1) Features: - * - * - Nestable exceptions (throw new PEAR_Exception($msg, $prev_exception)) - * - Definable triggers, shot when exceptions occur - * - Pretty and informative error messages - * - Added more context info available (like class, method or cause) - * - cause can be a PEAR_Exception or an array of mixed - * PEAR_Exceptions/PEAR_ErrorStack warnings - * - callbacks for specific exception classes and their children - * - * 2) Ideas: - * - * - Maybe a way to define a 'template' for the output - * - * 3) Inherited properties from PHP Exception Class: - * - * protected $message - * protected $code - * protected $line - * protected $file - * private $trace - * - * 4) Inherited methods from PHP Exception Class: - * - * __clone - * __construct - * getMessage - * getCode - * getFile - * getLine - * getTraceSafe - * getTraceSafeAsString - * __toString - * - * 5) Usage example - * - * - * require_once 'PEAR/Exception.php'; - * - * class Test { - * function foo() { - * throw new PEAR_Exception('Error Message', ERROR_CODE); - * } - * } - * - * function myLogger($pear_exception) { - * echo $pear_exception->getMessage(); - * } - * // each time a exception is thrown the 'myLogger' will be called - * // (its use is completely optional) - * PEAR_Exception::addObserver('myLogger'); - * $test = new Test; - * try { - * $test->foo(); - * } catch (PEAR_Exception $e) { - * print $e; - * } - * - * - * @category pear - * @package PEAR - * @author Tomas V.V.Cox - * @author Hans Lellelid - * @author Bertrand Mansion - * @author Greg Beaver - * @copyright 1997-2009 The Authors - * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.4 - * @link http://pear.php.net/package/PEAR - * @since Class available since Release 1.3.3 - * - */ -class PEAR_Exception extends Exception -{ - const OBSERVER_PRINT = -2; - const OBSERVER_TRIGGER = -4; - const OBSERVER_DIE = -8; - protected $cause; - private static $_observers = array(); - private static $_uniqueid = 0; - private $_trace; - - /** - * Supported signatures: - * - PEAR_Exception(string $message); - * - PEAR_Exception(string $message, int $code); - * - PEAR_Exception(string $message, Exception $cause); - * - PEAR_Exception(string $message, Exception $cause, int $code); - * - PEAR_Exception(string $message, PEAR_Error $cause); - * - PEAR_Exception(string $message, PEAR_Error $cause, int $code); - * - PEAR_Exception(string $message, array $causes); - * - PEAR_Exception(string $message, array $causes, int $code); - * @param string exception message - * @param int|Exception|PEAR_Error|array|null exception cause - * @param int|null exception code or null - */ - public function __construct($message, $p2 = null, $p3 = null) - { - if (is_int($p2)) { - $code = $p2; - $this->cause = null; - } elseif (is_object($p2) || is_array($p2)) { - // using is_object allows both Exception and PEAR_Error - if (is_object($p2) && !($p2 instanceof Exception)) { - if (!class_exists('PEAR_Error') || !($p2 instanceof PEAR_Error)) { - throw new PEAR_Exception('exception cause must be Exception, ' . - 'array, or PEAR_Error'); - } - } - $code = $p3; - if (is_array($p2) && isset($p2['message'])) { - // fix potential problem of passing in a single warning - $p2 = array($p2); - } - $this->cause = $p2; - } else { - $code = null; - $this->cause = null; - } - parent::__construct($message, $code); - $this->signal(); - } - - /** - * @param mixed $callback - A valid php callback, see php func is_callable() - * - A PEAR_Exception::OBSERVER_* constant - * - An array(const PEAR_Exception::OBSERVER_*, - * mixed $options) - * @param string $label The name of the observer. Use this if you want - * to remove it later with removeObserver() - */ - public static function addObserver($callback, $label = 'default') - { - self::$_observers[$label] = $callback; - } - - public static function removeObserver($label = 'default') - { - unset(self::$_observers[$label]); - } - - /** - * @return int unique identifier for an observer - */ - public static function getUniqueId() - { - return self::$_uniqueid++; - } - - private function signal() - { - foreach (self::$_observers as $func) { - if (is_callable($func)) { - call_user_func($func, $this); - continue; - } - settype($func, 'array'); - switch ($func[0]) { - case self::OBSERVER_PRINT : - $f = (isset($func[1])) ? $func[1] : '%s'; - printf($f, $this->getMessage()); - break; - case self::OBSERVER_TRIGGER : - $f = (isset($func[1])) ? $func[1] : E_USER_NOTICE; - trigger_error($this->getMessage(), $f); - break; - case self::OBSERVER_DIE : - $f = (isset($func[1])) ? $func[1] : '%s'; - die(printf($f, $this->getMessage())); - break; - default: - trigger_error('invalid observer type', E_USER_WARNING); - } - } - } - - /** - * Return specific error information that can be used for more detailed - * error messages or translation. - * - * This method may be overridden in child exception classes in order - * to add functionality not present in PEAR_Exception and is a placeholder - * to define API - * - * The returned array must be an associative array of parameter => value like so: - *
-     * array('name' => $name, 'context' => array(...))
-     * 
- * @return array - */ - public function getErrorData() - { - return array(); - } - - /** - * Returns the exception that caused this exception to be thrown - * @access public - * @return Exception|array The context of the exception - */ - public function getCause() - { - return $this->cause; - } - - /** - * Function must be public to call on caused exceptions - * @param array - */ - public function getCauseMessage(&$causes) - { - $trace = $this->getTraceSafe(); - $cause = array('class' => get_class($this), - 'message' => $this->message, - 'file' => 'unknown', - 'line' => 'unknown'); - if (isset($trace[0])) { - if (isset($trace[0]['file'])) { - $cause['file'] = $trace[0]['file']; - $cause['line'] = $trace[0]['line']; - } - } - $causes[] = $cause; - if ($this->cause instanceof PEAR_Exception) { - $this->cause->getCauseMessage($causes); - } elseif ($this->cause instanceof Exception) { - $causes[] = array('class' => get_class($this->cause), - 'message' => $this->cause->getMessage(), - 'file' => $this->cause->getFile(), - 'line' => $this->cause->getLine()); - } elseif (class_exists('PEAR_Error') && $this->cause instanceof PEAR_Error) { - $causes[] = array('class' => get_class($this->cause), - 'message' => $this->cause->getMessage(), - 'file' => 'unknown', - 'line' => 'unknown'); - } elseif (is_array($this->cause)) { - foreach ($this->cause as $cause) { - if ($cause instanceof PEAR_Exception) { - $cause->getCauseMessage($causes); - } elseif ($cause instanceof Exception) { - $causes[] = array('class' => get_class($cause), - 'message' => $cause->getMessage(), - 'file' => $cause->getFile(), - 'line' => $cause->getLine()); - } elseif (class_exists('PEAR_Error') && $cause instanceof PEAR_Error) { - $causes[] = array('class' => get_class($cause), - 'message' => $cause->getMessage(), - 'file' => 'unknown', - 'line' => 'unknown'); - } elseif (is_array($cause) && isset($cause['message'])) { - // PEAR_ErrorStack warning - $causes[] = array( - 'class' => $cause['package'], - 'message' => $cause['message'], - 'file' => isset($cause['context']['file']) ? - $cause['context']['file'] : - 'unknown', - 'line' => isset($cause['context']['line']) ? - $cause['context']['line'] : - 'unknown', - ); - } - } - } - } - - public function getTraceSafe() - { - if (!isset($this->_trace)) { - $this->_trace = $this->getTrace(); - if (empty($this->_trace)) { - $backtrace = debug_backtrace(); - $this->_trace = array($backtrace[count($backtrace)-1]); - } - } - return $this->_trace; - } - - public function getErrorClass() - { - $trace = $this->getTraceSafe(); - return $trace[0]['class']; - } - - public function getErrorMethod() - { - $trace = $this->getTraceSafe(); - return $trace[0]['function']; - } - - public function __toString() - { - if (isset($_SERVER['REQUEST_URI'])) { - return $this->toHtml(); - } - return $this->toText(); - } - - public function toHtml() - { - $trace = $this->getTraceSafe(); - $causes = array(); - $this->getCauseMessage($causes); - $html = '' . "\n"; - foreach ($causes as $i => $cause) { - $html .= '\n"; - } - $html .= '' . "\n" - . '' - . '' - . '' . "\n"; - - foreach ($trace as $k => $v) { - $html .= '' - . '' - . '' . "\n"; - } - $html .= '' - . '' - . '' . "\n" - . '
' - . str_repeat('-', $i) . ' ' . $cause['class'] . ': ' - . htmlspecialchars($cause['message']) . ' in ' . $cause['file'] . ' ' - . 'on line ' . $cause['line'] . '' - . "
Exception trace
#FunctionLocation
' . $k . ''; - if (!empty($v['class'])) { - $html .= $v['class'] . $v['type']; - } - $html .= $v['function']; - $args = array(); - if (!empty($v['args'])) { - foreach ($v['args'] as $arg) { - if (is_null($arg)) $args[] = 'null'; - elseif (is_array($arg)) $args[] = 'Array'; - elseif (is_object($arg)) $args[] = 'Object('.get_class($arg).')'; - elseif (is_bool($arg)) $args[] = $arg ? 'true' : 'false'; - elseif (is_int($arg) || is_double($arg)) $args[] = $arg; - else { - $arg = (string)$arg; - $str = htmlspecialchars(substr($arg, 0, 16)); - if (strlen($arg) > 16) $str .= '…'; - $args[] = "'" . $str . "'"; - } - } - } - $html .= '(' . implode(', ',$args) . ')' - . '' . (isset($v['file']) ? $v['file'] : 'unknown') - . ':' . (isset($v['line']) ? $v['line'] : 'unknown') - . '
' . ($k+1) . '{main} 
'; - return $html; - } - - public function toText() - { - $causes = array(); - $this->getCauseMessage($causes); - $causeMsg = ''; - foreach ($causes as $i => $cause) { - $causeMsg .= str_repeat(' ', $i) . $cause['class'] . ': ' - . $cause['message'] . ' in ' . $cause['file'] - . ' on line ' . $cause['line'] . "\n"; - } - return $causeMsg . $this->getTraceAsString(); - } -} \ No newline at end of file diff --git a/3rdparty/PEAR/FixPHP5PEARWarnings.php b/3rdparty/PEAR/FixPHP5PEARWarnings.php deleted file mode 100644 index be5dc3ce707c3e06189b89395819ae49edbab19c..0000000000000000000000000000000000000000 --- a/3rdparty/PEAR/FixPHP5PEARWarnings.php +++ /dev/null @@ -1,7 +0,0 @@ - \ No newline at end of file diff --git a/3rdparty/PEAR/Frontend.php b/3rdparty/PEAR/Frontend.php deleted file mode 100644 index 531e541f9eb3942da0aaccb332fc6a0223441620..0000000000000000000000000000000000000000 --- a/3rdparty/PEAR/Frontend.php +++ /dev/null @@ -1,228 +0,0 @@ - - * @copyright 1997-2009 The Authors - * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: Frontend.php 313023 2011-07-06 19:17:11Z dufuz $ - * @link http://pear.php.net/package/PEAR - * @since File available since Release 1.4.0a1 - */ - -/** - * Include error handling - */ -//require_once 'PEAR.php'; - -/** - * Which user interface class is being used. - * @var string class name - */ -$GLOBALS['_PEAR_FRONTEND_CLASS'] = 'PEAR_Frontend_CLI'; - -/** - * Instance of $_PEAR_Command_uiclass. - * @var object - */ -$GLOBALS['_PEAR_FRONTEND_SINGLETON'] = null; - -/** - * Singleton-based frontend for PEAR user input/output - * - * @category pear - * @package PEAR - * @author Greg Beaver - * @copyright 1997-2009 The Authors - * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.4 - * @link http://pear.php.net/package/PEAR - * @since Class available since Release 1.4.0a1 - */ -class PEAR_Frontend extends PEAR -{ - /** - * Retrieve the frontend object - * @return PEAR_Frontend_CLI|PEAR_Frontend_Web|PEAR_Frontend_Gtk - * @static - */ - function &singleton($type = null) - { - if ($type === null) { - if (!isset($GLOBALS['_PEAR_FRONTEND_SINGLETON'])) { - $a = false; - return $a; - } - return $GLOBALS['_PEAR_FRONTEND_SINGLETON']; - } - - $a = PEAR_Frontend::setFrontendClass($type); - return $a; - } - - /** - * Set the frontend class that will be used by calls to {@link singleton()} - * - * Frontends are expected to conform to the PEAR naming standard of - * _ => DIRECTORY_SEPARATOR (PEAR_Frontend_CLI is in PEAR/Frontend/CLI.php) - * @param string $uiclass full class name - * @return PEAR_Frontend - * @static - */ - function &setFrontendClass($uiclass) - { - if (is_object($GLOBALS['_PEAR_FRONTEND_SINGLETON']) && - is_a($GLOBALS['_PEAR_FRONTEND_SINGLETON'], $uiclass)) { - return $GLOBALS['_PEAR_FRONTEND_SINGLETON']; - } - - if (!class_exists($uiclass)) { - $file = str_replace('_', '/', $uiclass) . '.php'; - if (PEAR_Frontend::isIncludeable($file)) { - include_once $file; - } - } - - if (class_exists($uiclass)) { - $obj = &new $uiclass; - // quick test to see if this class implements a few of the most - // important frontend methods - if (is_a($obj, 'PEAR_Frontend')) { - $GLOBALS['_PEAR_FRONTEND_SINGLETON'] = &$obj; - $GLOBALS['_PEAR_FRONTEND_CLASS'] = $uiclass; - return $obj; - } - - $err = PEAR::raiseError("not a frontend class: $uiclass"); - return $err; - } - - $err = PEAR::raiseError("no such class: $uiclass"); - return $err; - } - - /** - * Set the frontend class that will be used by calls to {@link singleton()} - * - * Frontends are expected to be a descendant of PEAR_Frontend - * @param PEAR_Frontend - * @return PEAR_Frontend - * @static - */ - function &setFrontendObject($uiobject) - { - if (is_object($GLOBALS['_PEAR_FRONTEND_SINGLETON']) && - is_a($GLOBALS['_PEAR_FRONTEND_SINGLETON'], get_class($uiobject))) { - return $GLOBALS['_PEAR_FRONTEND_SINGLETON']; - } - - if (!is_a($uiobject, 'PEAR_Frontend')) { - $err = PEAR::raiseError('not a valid frontend class: (' . - get_class($uiobject) . ')'); - return $err; - } - - $GLOBALS['_PEAR_FRONTEND_SINGLETON'] = &$uiobject; - $GLOBALS['_PEAR_FRONTEND_CLASS'] = get_class($uiobject); - return $uiobject; - } - - /** - * @param string $path relative or absolute include path - * @return boolean - * @static - */ - function isIncludeable($path) - { - if (file_exists($path) && is_readable($path)) { - return true; - } - - $fp = @fopen($path, 'r', true); - if ($fp) { - fclose($fp); - return true; - } - - return false; - } - - /** - * @param PEAR_Config - */ - function setConfig(&$config) - { - } - - /** - * This can be overridden to allow session-based temporary file management - * - * By default, all files are deleted at the end of a session. The web installer - * needs to be able to sustain a list over many sessions in order to support - * user interaction with install scripts - */ - function addTempFile($file) - { - $GLOBALS['_PEAR_Common_tempfiles'][] = $file; - } - - /** - * Log an action - * - * @param string $msg the message to log - * @param boolean $append_crlf - * @return boolean true - * @abstract - */ - function log($msg, $append_crlf = true) - { - } - - /** - * Run a post-installation script - * - * @param array $scripts array of post-install scripts - * @abstract - */ - function runPostinstallScripts(&$scripts) - { - } - - /** - * Display human-friendly output formatted depending on the - * $command parameter. - * - * This should be able to handle basic output data with no command - * @param mixed $data data structure containing the information to display - * @param string $command command from which this method was called - * @abstract - */ - function outputData($data, $command = '_default') - { - } - - /** - * Display a modal form dialog and return the given input - * - * A frontend that requires multiple requests to retrieve and process - * data must take these needs into account, and implement the request - * handling code. - * @param string $command command from which this method was called - * @param array $prompts associative array. keys are the input field names - * and values are the description - * @param array $types array of input field types (text, password, - * etc.) keys have to be the same like in $prompts - * @param array $defaults array of default values. again keys have - * to be the same like in $prompts. Do not depend - * on a default value being set. - * @return array input sent by the user - * @abstract - */ - function userDialog($command, $prompts, $types = array(), $defaults = array()) - { - } -} \ No newline at end of file diff --git a/3rdparty/PEAR/Frontend/CLI.php b/3rdparty/PEAR/Frontend/CLI.php deleted file mode 100644 index 340b99b79b7872404809a56175955e84a3da6c0a..0000000000000000000000000000000000000000 --- a/3rdparty/PEAR/Frontend/CLI.php +++ /dev/null @@ -1,751 +0,0 @@ - - * @author Greg Beaver - * @copyright 1997-2009 The Authors - * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: CLI.php 313023 2011-07-06 19:17:11Z dufuz $ - * @link http://pear.php.net/package/PEAR - * @since File available since Release 0.1 - */ -/** - * base class - */ -require_once 'PEAR/Frontend.php'; - -/** - * Command-line Frontend for the PEAR Installer - * @category pear - * @package PEAR - * @author Stig Bakken - * @author Greg Beaver - * @copyright 1997-2009 The Authors - * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.4 - * @link http://pear.php.net/package/PEAR - * @since Class available since Release 0.1 - */ -class PEAR_Frontend_CLI extends PEAR_Frontend -{ - /** - * What type of user interface this frontend is for. - * @var string - * @access public - */ - var $type = 'CLI'; - var $lp = ''; // line prefix - - var $params = array(); - var $term = array( - 'bold' => '', - 'normal' => '', - ); - - function PEAR_Frontend_CLI() - { - parent::PEAR(); - $term = getenv('TERM'); //(cox) $_ENV is empty for me in 4.1.1 - if (function_exists('posix_isatty') && !posix_isatty(1)) { - // output is being redirected to a file or through a pipe - } elseif ($term) { - if (preg_match('/^(xterm|vt220|linux)/', $term)) { - $this->term['bold'] = sprintf("%c%c%c%c", 27, 91, 49, 109); - $this->term['normal'] = sprintf("%c%c%c", 27, 91, 109); - } elseif (preg_match('/^vt100/', $term)) { - $this->term['bold'] = sprintf("%c%c%c%c%c%c", 27, 91, 49, 109, 0, 0); - $this->term['normal'] = sprintf("%c%c%c%c%c", 27, 91, 109, 0, 0); - } - } elseif (OS_WINDOWS) { - // XXX add ANSI codes here - } - } - - /** - * @param object PEAR_Error object - */ - function displayError($e) - { - return $this->_displayLine($e->getMessage()); - } - - /** - * @param object PEAR_Error object - */ - function displayFatalError($eobj) - { - $this->displayError($eobj); - if (class_exists('PEAR_Config')) { - $config = &PEAR_Config::singleton(); - if ($config->get('verbose') > 5) { - if (function_exists('debug_print_backtrace')) { - debug_print_backtrace(); - exit(1); - } - - $raised = false; - foreach (debug_backtrace() as $i => $frame) { - if (!$raised) { - if (isset($frame['class']) - && strtolower($frame['class']) == 'pear' - && strtolower($frame['function']) == 'raiseerror' - ) { - $raised = true; - } else { - continue; - } - } - - $frame['class'] = !isset($frame['class']) ? '' : $frame['class']; - $frame['type'] = !isset($frame['type']) ? '' : $frame['type']; - $frame['function'] = !isset($frame['function']) ? '' : $frame['function']; - $frame['line'] = !isset($frame['line']) ? '' : $frame['line']; - $this->_displayLine("#$i: $frame[class]$frame[type]$frame[function] $frame[line]"); - } - } - } - - exit(1); - } - - /** - * Instruct the runInstallScript method to skip a paramgroup that matches the - * id value passed in. - * - * This method is useful for dynamically configuring which sections of a post-install script - * will be run based on the user's setup, which is very useful for making flexible - * post-install scripts without losing the cross-Frontend ability to retrieve user input - * @param string - */ - function skipParamgroup($id) - { - $this->_skipSections[$id] = true; - } - - function runPostinstallScripts(&$scripts) - { - foreach ($scripts as $i => $script) { - $this->runInstallScript($scripts[$i]->_params, $scripts[$i]->_obj); - } - } - - /** - * @param array $xml contents of postinstallscript tag - * @param object $script post-installation script - * @param string install|upgrade - */ - function runInstallScript($xml, &$script) - { - $this->_skipSections = array(); - if (!is_array($xml) || !isset($xml['paramgroup'])) { - $script->run(array(), '_default'); - return; - } - - $completedPhases = array(); - if (!isset($xml['paramgroup'][0])) { - $xml['paramgroup'] = array($xml['paramgroup']); - } - - foreach ($xml['paramgroup'] as $group) { - if (isset($this->_skipSections[$group['id']])) { - // the post-install script chose to skip this section dynamically - continue; - } - - if (isset($group['name'])) { - $paramname = explode('::', $group['name']); - if ($lastgroup['id'] != $paramname[0]) { - continue; - } - - $group['name'] = $paramname[1]; - if (!isset($answers)) { - return; - } - - if (isset($answers[$group['name']])) { - switch ($group['conditiontype']) { - case '=' : - if ($answers[$group['name']] != $group['value']) { - continue 2; - } - break; - case '!=' : - if ($answers[$group['name']] == $group['value']) { - continue 2; - } - break; - case 'preg_match' : - if (!@preg_match('/' . $group['value'] . '/', - $answers[$group['name']])) { - continue 2; - } - break; - default : - return; - } - } - } - - $lastgroup = $group; - if (isset($group['instructions'])) { - $this->_display($group['instructions']); - } - - if (!isset($group['param'][0])) { - $group['param'] = array($group['param']); - } - - if (isset($group['param'])) { - if (method_exists($script, 'postProcessPrompts')) { - $prompts = $script->postProcessPrompts($group['param'], $group['id']); - if (!is_array($prompts) || count($prompts) != count($group['param'])) { - $this->outputData('postinstall', 'Error: post-install script did not ' . - 'return proper post-processed prompts'); - $prompts = $group['param']; - } else { - foreach ($prompts as $i => $var) { - if (!is_array($var) || !isset($var['prompt']) || - !isset($var['name']) || - ($var['name'] != $group['param'][$i]['name']) || - ($var['type'] != $group['param'][$i]['type']) - ) { - $this->outputData('postinstall', 'Error: post-install script ' . - 'modified the variables or prompts, severe security risk. ' . - 'Will instead use the defaults from the package.xml'); - $prompts = $group['param']; - } - } - } - - $answers = $this->confirmDialog($prompts); - } else { - $answers = $this->confirmDialog($group['param']); - } - } - - if ((isset($answers) && $answers) || !isset($group['param'])) { - if (!isset($answers)) { - $answers = array(); - } - - array_unshift($completedPhases, $group['id']); - if (!$script->run($answers, $group['id'])) { - $script->run($completedPhases, '_undoOnError'); - return; - } - } else { - $script->run($completedPhases, '_undoOnError'); - return; - } - } - } - - /** - * Ask for user input, confirm the answers and continue until the user is satisfied - * @param array an array of arrays, format array('name' => 'paramname', 'prompt' => - * 'text to display', 'type' => 'string'[, default => 'default value']) - * @return array - */ - function confirmDialog($params) - { - $answers = $prompts = $types = array(); - foreach ($params as $param) { - $prompts[$param['name']] = $param['prompt']; - $types[$param['name']] = $param['type']; - $answers[$param['name']] = isset($param['default']) ? $param['default'] : ''; - } - - $tried = false; - do { - if ($tried) { - $i = 1; - foreach ($answers as $var => $value) { - if (!strlen($value)) { - echo $this->bold("* Enter an answer for #" . $i . ": ({$prompts[$var]})\n"); - } - $i++; - } - } - - $answers = $this->userDialog('', $prompts, $types, $answers); - $tried = true; - } while (is_array($answers) && count(array_filter($answers)) != count($prompts)); - - return $answers; - } - - function userDialog($command, $prompts, $types = array(), $defaults = array(), $screensize = 20) - { - if (!is_array($prompts)) { - return array(); - } - - $testprompts = array_keys($prompts); - $result = $defaults; - - reset($prompts); - if (count($prompts) === 1) { - foreach ($prompts as $key => $prompt) { - $type = $types[$key]; - $default = @$defaults[$key]; - print "$prompt "; - if ($default) { - print "[$default] "; - } - print ": "; - - $line = fgets(STDIN, 2048); - $result[$key] = ($default && trim($line) == '') ? $default : trim($line); - } - - return $result; - } - - $first_run = true; - while (true) { - $descLength = max(array_map('strlen', $prompts)); - $descFormat = "%-{$descLength}s"; - $last = count($prompts); - - $i = 0; - foreach ($prompts as $n => $var) { - $res = isset($result[$n]) ? $result[$n] : null; - printf("%2d. $descFormat : %s\n", ++$i, $prompts[$n], $res); - } - print "\n1-$last, 'all', 'abort', or Enter to continue: "; - - $tmp = trim(fgets(STDIN, 1024)); - if (empty($tmp)) { - break; - } - - if ($tmp == 'abort') { - return false; - } - - if (isset($testprompts[(int)$tmp - 1])) { - $var = $testprompts[(int)$tmp - 1]; - $desc = $prompts[$var]; - $current = @$result[$var]; - print "$desc [$current] : "; - $tmp = trim(fgets(STDIN, 1024)); - if ($tmp !== '') { - $result[$var] = $tmp; - } - } elseif ($tmp == 'all') { - foreach ($prompts as $var => $desc) { - $current = $result[$var]; - print "$desc [$current] : "; - $tmp = trim(fgets(STDIN, 1024)); - if (trim($tmp) !== '') { - $result[$var] = trim($tmp); - } - } - } - - $first_run = false; - } - - return $result; - } - - function userConfirm($prompt, $default = 'yes') - { - trigger_error("PEAR_Frontend_CLI::userConfirm not yet converted", E_USER_ERROR); - static $positives = array('y', 'yes', 'on', '1'); - static $negatives = array('n', 'no', 'off', '0'); - print "$this->lp$prompt [$default] : "; - $fp = fopen("php://stdin", "r"); - $line = fgets($fp, 2048); - fclose($fp); - $answer = strtolower(trim($line)); - if (empty($answer)) { - $answer = $default; - } - if (in_array($answer, $positives)) { - return true; - } - if (in_array($answer, $negatives)) { - return false; - } - if (in_array($default, $positives)) { - return true; - } - return false; - } - - function outputData($data, $command = '_default') - { - switch ($command) { - case 'channel-info': - foreach ($data as $type => $section) { - if ($type == 'main') { - $section['data'] = array_values($section['data']); - } - - $this->outputData($section); - } - break; - case 'install': - case 'upgrade': - case 'upgrade-all': - if (is_array($data) && isset($data['release_warnings'])) { - $this->_displayLine(''); - $this->_startTable(array( - 'border' => false, - 'caption' => 'Release Warnings' - )); - $this->_tableRow(array($data['release_warnings']), null, array(1 => array('wrap' => 55))); - $this->_endTable(); - $this->_displayLine(''); - } - - $this->_displayLine(is_array($data) ? $data['data'] : $data); - break; - case 'search': - $this->_startTable($data); - if (isset($data['headline']) && is_array($data['headline'])) { - $this->_tableRow($data['headline'], array('bold' => true), array(1 => array('wrap' => 55))); - } - - $packages = array(); - foreach($data['data'] as $category) { - foreach($category as $name => $pkg) { - $packages[$pkg[0]] = $pkg; - } - } - - $p = array_keys($packages); - natcasesort($p); - foreach ($p as $name) { - $this->_tableRow($packages[$name], null, array(1 => array('wrap' => 55))); - } - - $this->_endTable(); - break; - case 'list-all': - if (!isset($data['data'])) { - $this->_displayLine('No packages in channel'); - break; - } - - $this->_startTable($data); - if (isset($data['headline']) && is_array($data['headline'])) { - $this->_tableRow($data['headline'], array('bold' => true), array(1 => array('wrap' => 55))); - } - - $packages = array(); - foreach($data['data'] as $category) { - foreach($category as $name => $pkg) { - $packages[$pkg[0]] = $pkg; - } - } - - $p = array_keys($packages); - natcasesort($p); - foreach ($p as $name) { - $pkg = $packages[$name]; - unset($pkg[4], $pkg[5]); - $this->_tableRow($pkg, null, array(1 => array('wrap' => 55))); - } - - $this->_endTable(); - break; - case 'config-show': - $data['border'] = false; - $opts = array( - 0 => array('wrap' => 30), - 1 => array('wrap' => 20), - 2 => array('wrap' => 35) - ); - - $this->_startTable($data); - if (isset($data['headline']) && is_array($data['headline'])) { - $this->_tableRow($data['headline'], array('bold' => true), $opts); - } - - foreach ($data['data'] as $group) { - foreach ($group as $value) { - if ($value[2] == '') { - $value[2] = ""; - } - - $this->_tableRow($value, null, $opts); - } - } - - $this->_endTable(); - break; - case 'remote-info': - $d = $data; - $data = array( - 'caption' => 'Package details:', - 'border' => false, - 'data' => array( - array("Latest", $data['stable']), - array("Installed", $data['installed']), - array("Package", $data['name']), - array("License", $data['license']), - array("Category", $data['category']), - array("Summary", $data['summary']), - array("Description", $data['description']), - ), - ); - - if (isset($d['deprecated']) && $d['deprecated']) { - $conf = &PEAR_Config::singleton(); - $reg = $conf->getRegistry(); - $name = $reg->parsedPackageNameToString($d['deprecated'], true); - $data['data'][] = array('Deprecated! use', $name); - } - default: { - if (is_array($data)) { - $this->_startTable($data); - $count = count($data['data'][0]); - if ($count == 2) { - $opts = array(0 => array('wrap' => 25), - 1 => array('wrap' => 48) - ); - } elseif ($count == 3) { - $opts = array(0 => array('wrap' => 30), - 1 => array('wrap' => 20), - 2 => array('wrap' => 35) - ); - } else { - $opts = null; - } - if (isset($data['headline']) && is_array($data['headline'])) { - $this->_tableRow($data['headline'], - array('bold' => true), - $opts); - } - - if (is_array($data['data'])) { - foreach($data['data'] as $row) { - $this->_tableRow($row, null, $opts); - } - } else { - $this->_tableRow(array($data['data']), null, $opts); - } - $this->_endTable(); - } else { - $this->_displayLine($data); - } - } - } - } - - function log($text, $append_crlf = true) - { - if ($append_crlf) { - return $this->_displayLine($text); - } - - return $this->_display($text); - } - - function bold($text) - { - if (empty($this->term['bold'])) { - return strtoupper($text); - } - - return $this->term['bold'] . $text . $this->term['normal']; - } - - function _displayHeading($title) - { - print $this->lp.$this->bold($title)."\n"; - print $this->lp.str_repeat("=", strlen($title))."\n"; - } - - function _startTable($params = array()) - { - $params['table_data'] = array(); - $params['widest'] = array(); // indexed by column - $params['highest'] = array(); // indexed by row - $params['ncols'] = 0; - $this->params = $params; - } - - function _tableRow($columns, $rowparams = array(), $colparams = array()) - { - $highest = 1; - for ($i = 0; $i < count($columns); $i++) { - $col = &$columns[$i]; - if (isset($colparams[$i]) && !empty($colparams[$i]['wrap'])) { - $col = wordwrap($col, $colparams[$i]['wrap']); - } - - if (strpos($col, "\n") !== false) { - $multiline = explode("\n", $col); - $w = 0; - foreach ($multiline as $n => $line) { - $len = strlen($line); - if ($len > $w) { - $w = $len; - } - } - $lines = count($multiline); - } else { - $w = strlen($col); - } - - if (isset($this->params['widest'][$i])) { - if ($w > $this->params['widest'][$i]) { - $this->params['widest'][$i] = $w; - } - } else { - $this->params['widest'][$i] = $w; - } - - $tmp = count_chars($columns[$i], 1); - // handle unix, mac and windows formats - $lines = (isset($tmp[10]) ? $tmp[10] : (isset($tmp[13]) ? $tmp[13] : 0)) + 1; - if ($lines > $highest) { - $highest = $lines; - } - } - - if (count($columns) > $this->params['ncols']) { - $this->params['ncols'] = count($columns); - } - - $new_row = array( - 'data' => $columns, - 'height' => $highest, - 'rowparams' => $rowparams, - 'colparams' => $colparams, - ); - $this->params['table_data'][] = $new_row; - } - - function _endTable() - { - extract($this->params); - if (!empty($caption)) { - $this->_displayHeading($caption); - } - - if (count($table_data) === 0) { - return; - } - - if (!isset($width)) { - $width = $widest; - } else { - for ($i = 0; $i < $ncols; $i++) { - if (!isset($width[$i])) { - $width[$i] = $widest[$i]; - } - } - } - - $border = false; - if (empty($border)) { - $cellstart = ''; - $cellend = ' '; - $rowend = ''; - $padrowend = false; - $borderline = ''; - } else { - $cellstart = '| '; - $cellend = ' '; - $rowend = '|'; - $padrowend = true; - $borderline = '+'; - foreach ($width as $w) { - $borderline .= str_repeat('-', $w + strlen($cellstart) + strlen($cellend) - 1); - $borderline .= '+'; - } - } - - if ($borderline) { - $this->_displayLine($borderline); - } - - for ($i = 0; $i < count($table_data); $i++) { - extract($table_data[$i]); - if (!is_array($rowparams)) { - $rowparams = array(); - } - - if (!is_array($colparams)) { - $colparams = array(); - } - - $rowlines = array(); - if ($height > 1) { - for ($c = 0; $c < count($data); $c++) { - $rowlines[$c] = preg_split('/(\r?\n|\r)/', $data[$c]); - if (count($rowlines[$c]) < $height) { - $rowlines[$c] = array_pad($rowlines[$c], $height, ''); - } - } - } else { - for ($c = 0; $c < count($data); $c++) { - $rowlines[$c] = array($data[$c]); - } - } - - for ($r = 0; $r < $height; $r++) { - $rowtext = ''; - for ($c = 0; $c < count($data); $c++) { - if (isset($colparams[$c])) { - $attribs = array_merge($rowparams, $colparams); - } else { - $attribs = $rowparams; - } - - $w = isset($width[$c]) ? $width[$c] : 0; - //$cell = $data[$c]; - $cell = $rowlines[$c][$r]; - $l = strlen($cell); - if ($l > $w) { - $cell = substr($cell, 0, $w); - } - - if (isset($attribs['bold'])) { - $cell = $this->bold($cell); - } - - if ($l < $w) { - // not using str_pad here because we may - // add bold escape characters to $cell - $cell .= str_repeat(' ', $w - $l); - } - - $rowtext .= $cellstart . $cell . $cellend; - } - - if (!$border) { - $rowtext = rtrim($rowtext); - } - - $rowtext .= $rowend; - $this->_displayLine($rowtext); - } - } - - if ($borderline) { - $this->_displayLine($borderline); - } - } - - function _displayLine($text) - { - print "$this->lp$text\n"; - } - - function _display($text) - { - print $text; - } -} \ No newline at end of file diff --git a/3rdparty/PEAR/Installer.php b/3rdparty/PEAR/Installer.php deleted file mode 100644 index eb17ca7914dc0a7a34588715cbf61e5d99cf1966..0000000000000000000000000000000000000000 --- a/3rdparty/PEAR/Installer.php +++ /dev/null @@ -1,1823 +0,0 @@ - - * @author Tomas V.V. Cox - * @author Martin Jansen - * @author Greg Beaver - * @copyright 1997-2009 The Authors - * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: Installer.php 313024 2011-07-06 19:51:24Z dufuz $ - * @link http://pear.php.net/package/PEAR - * @since File available since Release 0.1 - */ - -/** - * Used for installation groups in package.xml 2.0 and platform exceptions - */ -require_once 'OS/Guess.php'; -require_once 'PEAR/Downloader.php'; - -define('PEAR_INSTALLER_NOBINARY', -240); -/** - * Administration class used to install PEAR packages and maintain the - * installed package database. - * - * @category pear - * @package PEAR - * @author Stig Bakken - * @author Tomas V.V. Cox - * @author Martin Jansen - * @author Greg Beaver - * @copyright 1997-2009 The Authors - * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.4 - * @link http://pear.php.net/package/PEAR - * @since Class available since Release 0.1 - */ -class PEAR_Installer extends PEAR_Downloader -{ - // {{{ properties - - /** name of the package directory, for example Foo-1.0 - * @var string - */ - var $pkgdir; - - /** directory where PHP code files go - * @var string - */ - var $phpdir; - - /** directory where PHP extension files go - * @var string - */ - var $extdir; - - /** directory where documentation goes - * @var string - */ - var $docdir; - - /** installation root directory (ala PHP's INSTALL_ROOT or - * automake's DESTDIR - * @var string - */ - var $installroot = ''; - - /** debug level - * @var int - */ - var $debug = 1; - - /** temporary directory - * @var string - */ - var $tmpdir; - - /** - * PEAR_Registry object used by the installer - * @var PEAR_Registry - */ - var $registry; - - /** - * array of PEAR_Downloader_Packages - * @var array - */ - var $_downloadedPackages; - - /** List of file transactions queued for an install/upgrade/uninstall. - * - * Format: - * array( - * 0 => array("rename => array("from-file", "to-file")), - * 1 => array("delete" => array("file-to-delete")), - * ... - * ) - * - * @var array - */ - var $file_operations = array(); - - // }}} - - // {{{ constructor - - /** - * PEAR_Installer constructor. - * - * @param object $ui user interface object (instance of PEAR_Frontend_*) - * - * @access public - */ - function PEAR_Installer(&$ui) - { - parent::PEAR_Common(); - $this->setFrontendObject($ui); - $this->debug = $this->config->get('verbose'); - } - - function setOptions($options) - { - $this->_options = $options; - } - - function setConfig(&$config) - { - $this->config = &$config; - $this->_registry = &$config->getRegistry(); - } - - // }}} - - function _removeBackups($files) - { - foreach ($files as $path) { - $this->addFileOperation('removebackup', array($path)); - } - } - - // {{{ _deletePackageFiles() - - /** - * Delete a package's installed files, does not remove empty directories. - * - * @param string package name - * @param string channel name - * @param bool if true, then files are backed up first - * @return bool TRUE on success, or a PEAR error on failure - * @access protected - */ - function _deletePackageFiles($package, $channel = false, $backup = false) - { - if (!$channel) { - $channel = 'pear.php.net'; - } - - if (!strlen($package)) { - return $this->raiseError("No package to uninstall given"); - } - - if (strtolower($package) == 'pear' && $channel == 'pear.php.net') { - // to avoid race conditions, include all possible needed files - require_once 'PEAR/Task/Common.php'; - require_once 'PEAR/Task/Replace.php'; - require_once 'PEAR/Task/Unixeol.php'; - require_once 'PEAR/Task/Windowseol.php'; - require_once 'PEAR/PackageFile/v1.php'; - require_once 'PEAR/PackageFile/v2.php'; - require_once 'PEAR/PackageFile/Generator/v1.php'; - require_once 'PEAR/PackageFile/Generator/v2.php'; - } - - $filelist = $this->_registry->packageInfo($package, 'filelist', $channel); - if ($filelist == null) { - return $this->raiseError("$channel/$package not installed"); - } - - $ret = array(); - foreach ($filelist as $file => $props) { - if (empty($props['installed_as'])) { - continue; - } - - $path = $props['installed_as']; - if ($backup) { - $this->addFileOperation('backup', array($path)); - $ret[] = $path; - } - - $this->addFileOperation('delete', array($path)); - } - - if ($backup) { - return $ret; - } - - return true; - } - - // }}} - // {{{ _installFile() - - /** - * @param string filename - * @param array attributes from tag in package.xml - * @param string path to install the file in - * @param array options from command-line - * @access private - */ - function _installFile($file, $atts, $tmp_path, $options) - { - // {{{ return if this file is meant for another platform - static $os; - if (!isset($this->_registry)) { - $this->_registry = &$this->config->getRegistry(); - } - - if (isset($atts['platform'])) { - if (empty($os)) { - $os = new OS_Guess(); - } - - if (strlen($atts['platform']) && $atts['platform']{0} == '!') { - $negate = true; - $platform = substr($atts['platform'], 1); - } else { - $negate = false; - $platform = $atts['platform']; - } - - if ((bool) $os->matchSignature($platform) === $negate) { - $this->log(3, "skipped $file (meant for $atts[platform], we are ".$os->getSignature().")"); - return PEAR_INSTALLER_SKIPPED; - } - } - // }}} - - $channel = $this->pkginfo->getChannel(); - // {{{ assemble the destination paths - switch ($atts['role']) { - case 'src': - case 'extsrc': - $this->source_files++; - return; - case 'doc': - case 'data': - case 'test': - $dest_dir = $this->config->get($atts['role'] . '_dir', null, $channel) . - DIRECTORY_SEPARATOR . $this->pkginfo->getPackage(); - unset($atts['baseinstalldir']); - break; - case 'ext': - case 'php': - $dest_dir = $this->config->get($atts['role'] . '_dir', null, $channel); - break; - case 'script': - $dest_dir = $this->config->get('bin_dir', null, $channel); - break; - default: - return $this->raiseError("Invalid role `$atts[role]' for file $file"); - } - - $save_destdir = $dest_dir; - if (!empty($atts['baseinstalldir'])) { - $dest_dir .= DIRECTORY_SEPARATOR . $atts['baseinstalldir']; - } - - if (dirname($file) != '.' && empty($atts['install-as'])) { - $dest_dir .= DIRECTORY_SEPARATOR . dirname($file); - } - - if (empty($atts['install-as'])) { - $dest_file = $dest_dir . DIRECTORY_SEPARATOR . basename($file); - } else { - $dest_file = $dest_dir . DIRECTORY_SEPARATOR . $atts['install-as']; - } - $orig_file = $tmp_path . DIRECTORY_SEPARATOR . $file; - - // Clean up the DIRECTORY_SEPARATOR mess - $ds2 = DIRECTORY_SEPARATOR . DIRECTORY_SEPARATOR; - list($dest_file, $orig_file) = preg_replace(array('!\\\\+!', '!/!', "!$ds2+!"), - array(DIRECTORY_SEPARATOR, - DIRECTORY_SEPARATOR, - DIRECTORY_SEPARATOR), - array($dest_file, $orig_file)); - $final_dest_file = $installed_as = $dest_file; - if (isset($this->_options['packagingroot'])) { - $installedas_dest_dir = dirname($final_dest_file); - $installedas_dest_file = $dest_dir . DIRECTORY_SEPARATOR . '.tmp' . basename($final_dest_file); - $final_dest_file = $this->_prependPath($final_dest_file, $this->_options['packagingroot']); - } else { - $installedas_dest_dir = dirname($final_dest_file); - $installedas_dest_file = $installedas_dest_dir . DIRECTORY_SEPARATOR . '.tmp' . basename($final_dest_file); - } - - $dest_dir = dirname($final_dest_file); - $dest_file = $dest_dir . DIRECTORY_SEPARATOR . '.tmp' . basename($final_dest_file); - if (preg_match('~/\.\.(/|\\z)|^\.\./~', str_replace('\\', '/', $dest_file))) { - return $this->raiseError("SECURITY ERROR: file $file (installed to $dest_file) contains parent directory reference ..", PEAR_INSTALLER_FAILED); - } - // }}} - - if (empty($this->_options['register-only']) && - (!file_exists($dest_dir) || !is_dir($dest_dir))) { - if (!$this->mkDirHier($dest_dir)) { - return $this->raiseError("failed to mkdir $dest_dir", - PEAR_INSTALLER_FAILED); - } - $this->log(3, "+ mkdir $dest_dir"); - } - - // pretty much nothing happens if we are only registering the install - if (empty($this->_options['register-only'])) { - if (empty($atts['replacements'])) { - if (!file_exists($orig_file)) { - return $this->raiseError("file $orig_file does not exist", - PEAR_INSTALLER_FAILED); - } - - if (!@copy($orig_file, $dest_file)) { - return $this->raiseError("failed to write $dest_file: $php_errormsg", - PEAR_INSTALLER_FAILED); - } - - $this->log(3, "+ cp $orig_file $dest_file"); - if (isset($atts['md5sum'])) { - $md5sum = md5_file($dest_file); - } - } else { - // {{{ file with replacements - if (!file_exists($orig_file)) { - return $this->raiseError("file does not exist", - PEAR_INSTALLER_FAILED); - } - - $contents = file_get_contents($orig_file); - if ($contents === false) { - $contents = ''; - } - - if (isset($atts['md5sum'])) { - $md5sum = md5($contents); - } - - $subst_from = $subst_to = array(); - foreach ($atts['replacements'] as $a) { - $to = ''; - if ($a['type'] == 'php-const') { - if (preg_match('/^[a-z0-9_]+\\z/i', $a['to'])) { - eval("\$to = $a[to];"); - } else { - if (!isset($options['soft'])) { - $this->log(0, "invalid php-const replacement: $a[to]"); - } - continue; - } - } elseif ($a['type'] == 'pear-config') { - if ($a['to'] == 'master_server') { - $chan = $this->_registry->getChannel($channel); - if (!PEAR::isError($chan)) { - $to = $chan->getServer(); - } else { - $to = $this->config->get($a['to'], null, $channel); - } - } else { - $to = $this->config->get($a['to'], null, $channel); - } - if (is_null($to)) { - if (!isset($options['soft'])) { - $this->log(0, "invalid pear-config replacement: $a[to]"); - } - continue; - } - } elseif ($a['type'] == 'package-info') { - if ($t = $this->pkginfo->packageInfo($a['to'])) { - $to = $t; - } else { - if (!isset($options['soft'])) { - $this->log(0, "invalid package-info replacement: $a[to]"); - } - continue; - } - } - if (!is_null($to)) { - $subst_from[] = $a['from']; - $subst_to[] = $to; - } - } - - $this->log(3, "doing ".sizeof($subst_from)." substitution(s) for $final_dest_file"); - if (sizeof($subst_from)) { - $contents = str_replace($subst_from, $subst_to, $contents); - } - - $wp = @fopen($dest_file, "wb"); - if (!is_resource($wp)) { - return $this->raiseError("failed to create $dest_file: $php_errormsg", - PEAR_INSTALLER_FAILED); - } - - if (@fwrite($wp, $contents) === false) { - return $this->raiseError("failed writing to $dest_file: $php_errormsg", - PEAR_INSTALLER_FAILED); - } - - fclose($wp); - // }}} - } - - // {{{ check the md5 - if (isset($md5sum)) { - if (strtolower($md5sum) === strtolower($atts['md5sum'])) { - $this->log(2, "md5sum ok: $final_dest_file"); - } else { - if (empty($options['force'])) { - // delete the file - if (file_exists($dest_file)) { - unlink($dest_file); - } - - if (!isset($options['ignore-errors'])) { - return $this->raiseError("bad md5sum for file $final_dest_file", - PEAR_INSTALLER_FAILED); - } - - if (!isset($options['soft'])) { - $this->log(0, "warning : bad md5sum for file $final_dest_file"); - } - } else { - if (!isset($options['soft'])) { - $this->log(0, "warning : bad md5sum for file $final_dest_file"); - } - } - } - } - // }}} - // {{{ set file permissions - if (!OS_WINDOWS) { - if ($atts['role'] == 'script') { - $mode = 0777 & ~(int)octdec($this->config->get('umask')); - $this->log(3, "+ chmod +x $dest_file"); - } else { - $mode = 0666 & ~(int)octdec($this->config->get('umask')); - } - - if ($atts['role'] != 'src') { - $this->addFileOperation("chmod", array($mode, $dest_file)); - if (!@chmod($dest_file, $mode)) { - if (!isset($options['soft'])) { - $this->log(0, "failed to change mode of $dest_file: $php_errormsg"); - } - } - } - } - // }}} - - if ($atts['role'] == 'src') { - rename($dest_file, $final_dest_file); - $this->log(2, "renamed source file $dest_file to $final_dest_file"); - } else { - $this->addFileOperation("rename", array($dest_file, $final_dest_file, - $atts['role'] == 'ext')); - } - } - - // Store the full path where the file was installed for easy unistall - if ($atts['role'] != 'script') { - $loc = $this->config->get($atts['role'] . '_dir'); - } else { - $loc = $this->config->get('bin_dir'); - } - - if ($atts['role'] != 'src') { - $this->addFileOperation("installed_as", array($file, $installed_as, - $loc, - dirname(substr($installedas_dest_file, strlen($loc))))); - } - - //$this->log(2, "installed: $dest_file"); - return PEAR_INSTALLER_OK; - } - - // }}} - // {{{ _installFile2() - - /** - * @param PEAR_PackageFile_v1|PEAR_PackageFile_v2 - * @param string filename - * @param array attributes from tag in package.xml - * @param string path to install the file in - * @param array options from command-line - * @access private - */ - function _installFile2(&$pkg, $file, &$real_atts, $tmp_path, $options) - { - $atts = $real_atts; - if (!isset($this->_registry)) { - $this->_registry = &$this->config->getRegistry(); - } - - $channel = $pkg->getChannel(); - // {{{ assemble the destination paths - if (!in_array($atts['attribs']['role'], - PEAR_Installer_Role::getValidRoles($pkg->getPackageType()))) { - return $this->raiseError('Invalid role `' . $atts['attribs']['role'] . - "' for file $file"); - } - - $role = &PEAR_Installer_Role::factory($pkg, $atts['attribs']['role'], $this->config); - $err = $role->setup($this, $pkg, $atts['attribs'], $file); - if (PEAR::isError($err)) { - return $err; - } - - if (!$role->isInstallable()) { - return; - } - - $info = $role->processInstallation($pkg, $atts['attribs'], $file, $tmp_path); - if (PEAR::isError($info)) { - return $info; - } - - list($save_destdir, $dest_dir, $dest_file, $orig_file) = $info; - if (preg_match('~/\.\.(/|\\z)|^\.\./~', str_replace('\\', '/', $dest_file))) { - return $this->raiseError("SECURITY ERROR: file $file (installed to $dest_file) contains parent directory reference ..", PEAR_INSTALLER_FAILED); - } - - $final_dest_file = $installed_as = $dest_file; - if (isset($this->_options['packagingroot'])) { - $final_dest_file = $this->_prependPath($final_dest_file, - $this->_options['packagingroot']); - } - - $dest_dir = dirname($final_dest_file); - $dest_file = $dest_dir . DIRECTORY_SEPARATOR . '.tmp' . basename($final_dest_file); - // }}} - - if (empty($this->_options['register-only'])) { - if (!file_exists($dest_dir) || !is_dir($dest_dir)) { - if (!$this->mkDirHier($dest_dir)) { - return $this->raiseError("failed to mkdir $dest_dir", - PEAR_INSTALLER_FAILED); - } - $this->log(3, "+ mkdir $dest_dir"); - } - } - - $attribs = $atts['attribs']; - unset($atts['attribs']); - // pretty much nothing happens if we are only registering the install - if (empty($this->_options['register-only'])) { - if (!count($atts)) { // no tasks - if (!file_exists($orig_file)) { - return $this->raiseError("file $orig_file does not exist", - PEAR_INSTALLER_FAILED); - } - - if (!@copy($orig_file, $dest_file)) { - return $this->raiseError("failed to write $dest_file: $php_errormsg", - PEAR_INSTALLER_FAILED); - } - - $this->log(3, "+ cp $orig_file $dest_file"); - if (isset($attribs['md5sum'])) { - $md5sum = md5_file($dest_file); - } - } else { // file with tasks - if (!file_exists($orig_file)) { - return $this->raiseError("file $orig_file does not exist", - PEAR_INSTALLER_FAILED); - } - - $contents = file_get_contents($orig_file); - if ($contents === false) { - $contents = ''; - } - - if (isset($attribs['md5sum'])) { - $md5sum = md5($contents); - } - - foreach ($atts as $tag => $raw) { - $tag = str_replace(array($pkg->getTasksNs() . ':', '-'), array('', '_'), $tag); - $task = "PEAR_Task_$tag"; - $task = &new $task($this->config, $this, PEAR_TASK_INSTALL); - if (!$task->isScript()) { // scripts are only handled after installation - $task->init($raw, $attribs, $pkg->getLastInstalledVersion()); - $res = $task->startSession($pkg, $contents, $final_dest_file); - if ($res === false) { - continue; // skip this file - } - - if (PEAR::isError($res)) { - return $res; - } - - $contents = $res; // save changes - } - - $wp = @fopen($dest_file, "wb"); - if (!is_resource($wp)) { - return $this->raiseError("failed to create $dest_file: $php_errormsg", - PEAR_INSTALLER_FAILED); - } - - if (fwrite($wp, $contents) === false) { - return $this->raiseError("failed writing to $dest_file: $php_errormsg", - PEAR_INSTALLER_FAILED); - } - - fclose($wp); - } - } - - // {{{ check the md5 - if (isset($md5sum)) { - // Make sure the original md5 sum matches with expected - if (strtolower($md5sum) === strtolower($attribs['md5sum'])) { - $this->log(2, "md5sum ok: $final_dest_file"); - - if (isset($contents)) { - // set md5 sum based on $content in case any tasks were run. - $real_atts['attribs']['md5sum'] = md5($contents); - } - } else { - if (empty($options['force'])) { - // delete the file - if (file_exists($dest_file)) { - unlink($dest_file); - } - - if (!isset($options['ignore-errors'])) { - return $this->raiseError("bad md5sum for file $final_dest_file", - PEAR_INSTALLER_FAILED); - } - - if (!isset($options['soft'])) { - $this->log(0, "warning : bad md5sum for file $final_dest_file"); - } - } else { - if (!isset($options['soft'])) { - $this->log(0, "warning : bad md5sum for file $final_dest_file"); - } - } - } - } else { - $real_atts['attribs']['md5sum'] = md5_file($dest_file); - } - - // }}} - // {{{ set file permissions - if (!OS_WINDOWS) { - if ($role->isExecutable()) { - $mode = 0777 & ~(int)octdec($this->config->get('umask')); - $this->log(3, "+ chmod +x $dest_file"); - } else { - $mode = 0666 & ~(int)octdec($this->config->get('umask')); - } - - if ($attribs['role'] != 'src') { - $this->addFileOperation("chmod", array($mode, $dest_file)); - if (!@chmod($dest_file, $mode)) { - if (!isset($options['soft'])) { - $this->log(0, "failed to change mode of $dest_file: $php_errormsg"); - } - } - } - } - // }}} - - if ($attribs['role'] == 'src') { - rename($dest_file, $final_dest_file); - $this->log(2, "renamed source file $dest_file to $final_dest_file"); - } else { - $this->addFileOperation("rename", array($dest_file, $final_dest_file, $role->isExtension())); - } - } - - // Store the full path where the file was installed for easy uninstall - if ($attribs['role'] != 'src') { - $loc = $this->config->get($role->getLocationConfig(), null, $channel); - $this->addFileOperation('installed_as', array($file, $installed_as, - $loc, - dirname(substr($installed_as, strlen($loc))))); - } - - //$this->log(2, "installed: $dest_file"); - return PEAR_INSTALLER_OK; - } - - // }}} - // {{{ addFileOperation() - - /** - * Add a file operation to the current file transaction. - * - * @see startFileTransaction() - * @param string $type This can be one of: - * - rename: rename a file ($data has 3 values) - * - backup: backup an existing file ($data has 1 value) - * - removebackup: clean up backups created during install ($data has 1 value) - * - chmod: change permissions on a file ($data has 2 values) - * - delete: delete a file ($data has 1 value) - * - rmdir: delete a directory if empty ($data has 1 value) - * - installed_as: mark a file as installed ($data has 4 values). - * @param array $data For all file operations, this array must contain the - * full path to the file or directory that is being operated on. For - * the rename command, the first parameter must be the file to rename, - * the second its new name, the third whether this is a PHP extension. - * - * The installed_as operation contains 4 elements in this order: - * 1. Filename as listed in the filelist element from package.xml - * 2. Full path to the installed file - * 3. Full path from the php_dir configuration variable used in this - * installation - * 4. Relative path from the php_dir that this file is installed in - */ - function addFileOperation($type, $data) - { - if (!is_array($data)) { - return $this->raiseError('Internal Error: $data in addFileOperation' - . ' must be an array, was ' . gettype($data)); - } - - if ($type == 'chmod') { - $octmode = decoct($data[0]); - $this->log(3, "adding to transaction: $type $octmode $data[1]"); - } else { - $this->log(3, "adding to transaction: $type " . implode(" ", $data)); - } - $this->file_operations[] = array($type, $data); - } - - // }}} - // {{{ startFileTransaction() - - function startFileTransaction($rollback_in_case = false) - { - if (count($this->file_operations) && $rollback_in_case) { - $this->rollbackFileTransaction(); - } - $this->file_operations = array(); - } - - // }}} - // {{{ commitFileTransaction() - - function commitFileTransaction() - { - // {{{ first, check permissions and such manually - $errors = array(); - foreach ($this->file_operations as $key => $tr) { - list($type, $data) = $tr; - switch ($type) { - case 'rename': - if (!file_exists($data[0])) { - $errors[] = "cannot rename file $data[0], doesn't exist"; - } - - // check that dest dir. is writable - if (!is_writable(dirname($data[1]))) { - $errors[] = "permission denied ($type): $data[1]"; - } - break; - case 'chmod': - // check that file is writable - if (!is_writable($data[1])) { - $errors[] = "permission denied ($type): $data[1] " . decoct($data[0]); - } - break; - case 'delete': - if (!file_exists($data[0])) { - $this->log(2, "warning: file $data[0] doesn't exist, can't be deleted"); - } - // check that directory is writable - if (file_exists($data[0])) { - if (!is_writable(dirname($data[0]))) { - $errors[] = "permission denied ($type): $data[0]"; - } else { - // make sure the file to be deleted can be opened for writing - $fp = false; - if (!is_dir($data[0]) && - (!is_writable($data[0]) || !($fp = @fopen($data[0], 'a')))) { - $errors[] = "permission denied ($type): $data[0]"; - } elseif ($fp) { - fclose($fp); - } - } - - /* Verify we are not deleting a file owned by another package - * This can happen when a file moves from package A to B in - * an upgrade ala http://pear.php.net/17986 - */ - $info = array( - 'package' => strtolower($this->pkginfo->getName()), - 'channel' => strtolower($this->pkginfo->getChannel()), - ); - $result = $this->_registry->checkFileMap($data[0], $info, '1.1'); - if (is_array($result)) { - $res = array_diff($result, $info); - if (!empty($res)) { - $new = $this->_registry->getPackage($result[1], $result[0]); - $this->file_operations[$key] = false; - $this->log(3, "file $data[0] was scheduled for removal from {$this->pkginfo->getName()} but is owned by {$new->getChannel()}/{$new->getName()}, removal has been cancelled."); - } - } - } - break; - } - - } - // }}} - - $n = count($this->file_operations); - $this->log(2, "about to commit $n file operations for " . $this->pkginfo->getName()); - - $m = count($errors); - if ($m > 0) { - foreach ($errors as $error) { - if (!isset($this->_options['soft'])) { - $this->log(1, $error); - } - } - - if (!isset($this->_options['ignore-errors'])) { - return false; - } - } - - $this->_dirtree = array(); - // {{{ really commit the transaction - foreach ($this->file_operations as $i => $tr) { - if (!$tr) { - // support removal of non-existing backups - continue; - } - - list($type, $data) = $tr; - switch ($type) { - case 'backup': - if (!file_exists($data[0])) { - $this->file_operations[$i] = false; - break; - } - - if (!@copy($data[0], $data[0] . '.bak')) { - $this->log(1, 'Could not copy ' . $data[0] . ' to ' . $data[0] . - '.bak ' . $php_errormsg); - return false; - } - $this->log(3, "+ backup $data[0] to $data[0].bak"); - break; - case 'removebackup': - if (file_exists($data[0] . '.bak') && is_writable($data[0] . '.bak')) { - unlink($data[0] . '.bak'); - $this->log(3, "+ rm backup of $data[0] ($data[0].bak)"); - } - break; - case 'rename': - $test = file_exists($data[1]) ? @unlink($data[1]) : null; - if (!$test && file_exists($data[1])) { - if ($data[2]) { - $extra = ', this extension must be installed manually. Rename to "' . - basename($data[1]) . '"'; - } else { - $extra = ''; - } - - if (!isset($this->_options['soft'])) { - $this->log(1, 'Could not delete ' . $data[1] . ', cannot rename ' . - $data[0] . $extra); - } - - if (!isset($this->_options['ignore-errors'])) { - return false; - } - } - - // permissions issues with rename - copy() is far superior - $perms = @fileperms($data[0]); - if (!@copy($data[0], $data[1])) { - $this->log(1, 'Could not rename ' . $data[0] . ' to ' . $data[1] . - ' ' . $php_errormsg); - return false; - } - - // copy over permissions, otherwise they are lost - @chmod($data[1], $perms); - @unlink($data[0]); - $this->log(3, "+ mv $data[0] $data[1]"); - break; - case 'chmod': - if (!@chmod($data[1], $data[0])) { - $this->log(1, 'Could not chmod ' . $data[1] . ' to ' . - decoct($data[0]) . ' ' . $php_errormsg); - return false; - } - - $octmode = decoct($data[0]); - $this->log(3, "+ chmod $octmode $data[1]"); - break; - case 'delete': - if (file_exists($data[0])) { - if (!@unlink($data[0])) { - $this->log(1, 'Could not delete ' . $data[0] . ' ' . - $php_errormsg); - return false; - } - $this->log(3, "+ rm $data[0]"); - } - break; - case 'rmdir': - if (file_exists($data[0])) { - do { - $testme = opendir($data[0]); - while (false !== ($entry = readdir($testme))) { - if ($entry == '.' || $entry == '..') { - continue; - } - closedir($testme); - break 2; // this directory is not empty and can't be - // deleted - } - - closedir($testme); - if (!@rmdir($data[0])) { - $this->log(1, 'Could not rmdir ' . $data[0] . ' ' . - $php_errormsg); - return false; - } - $this->log(3, "+ rmdir $data[0]"); - } while (false); - } - break; - case 'installed_as': - $this->pkginfo->setInstalledAs($data[0], $data[1]); - if (!isset($this->_dirtree[dirname($data[1])])) { - $this->_dirtree[dirname($data[1])] = true; - $this->pkginfo->setDirtree(dirname($data[1])); - - while(!empty($data[3]) && dirname($data[3]) != $data[3] && - $data[3] != '/' && $data[3] != '\\') { - $this->pkginfo->setDirtree($pp = - $this->_prependPath($data[3], $data[2])); - $this->_dirtree[$pp] = true; - $data[3] = dirname($data[3]); - } - } - break; - } - } - // }}} - $this->log(2, "successfully committed $n file operations"); - $this->file_operations = array(); - return true; - } - - // }}} - // {{{ rollbackFileTransaction() - - function rollbackFileTransaction() - { - $n = count($this->file_operations); - $this->log(2, "rolling back $n file operations"); - foreach ($this->file_operations as $tr) { - list($type, $data) = $tr; - switch ($type) { - case 'backup': - if (file_exists($data[0] . '.bak')) { - if (file_exists($data[0] && is_writable($data[0]))) { - unlink($data[0]); - } - @copy($data[0] . '.bak', $data[0]); - $this->log(3, "+ restore $data[0] from $data[0].bak"); - } - break; - case 'removebackup': - if (file_exists($data[0] . '.bak') && is_writable($data[0] . '.bak')) { - unlink($data[0] . '.bak'); - $this->log(3, "+ rm backup of $data[0] ($data[0].bak)"); - } - break; - case 'rename': - @unlink($data[0]); - $this->log(3, "+ rm $data[0]"); - break; - case 'mkdir': - @rmdir($data[0]); - $this->log(3, "+ rmdir $data[0]"); - break; - case 'chmod': - break; - case 'delete': - break; - case 'installed_as': - $this->pkginfo->setInstalledAs($data[0], false); - break; - } - } - $this->pkginfo->resetDirtree(); - $this->file_operations = array(); - } - - // }}} - // {{{ mkDirHier($dir) - - function mkDirHier($dir) - { - $this->addFileOperation('mkdir', array($dir)); - return parent::mkDirHier($dir); - } - - // }}} - // {{{ download() - - /** - * Download any files and their dependencies, if necessary - * - * @param array a mixed list of package names, local files, or package.xml - * @param PEAR_Config - * @param array options from the command line - * @param array this is the array that will be populated with packages to - * install. Format of each entry: - * - * - * array('pkg' => 'package_name', 'file' => '/path/to/local/file', - * 'info' => array() // parsed package.xml - * ); - * - * @param array this will be populated with any error messages - * @param false private recursion variable - * @param false private recursion variable - * @param false private recursion variable - * @deprecated in favor of PEAR_Downloader - */ - function download($packages, $options, &$config, &$installpackages, - &$errors, $installed = false, $willinstall = false, $state = false) - { - // trickiness: initialize here - parent::PEAR_Downloader($this->ui, $options, $config); - $ret = parent::download($packages); - $errors = $this->getErrorMsgs(); - $installpackages = $this->getDownloadedPackages(); - trigger_error("PEAR Warning: PEAR_Installer::download() is deprecated " . - "in favor of PEAR_Downloader class", E_USER_WARNING); - return $ret; - } - - // }}} - // {{{ _parsePackageXml() - - function _parsePackageXml(&$descfile) - { - // Parse xml file ----------------------------------------------- - $pkg = new PEAR_PackageFile($this->config, $this->debug); - PEAR::staticPushErrorHandling(PEAR_ERROR_RETURN); - $p = &$pkg->fromAnyFile($descfile, PEAR_VALIDATE_INSTALLING); - PEAR::staticPopErrorHandling(); - if (PEAR::isError($p)) { - if (is_array($p->getUserInfo())) { - foreach ($p->getUserInfo() as $err) { - $loglevel = $err['level'] == 'error' ? 0 : 1; - if (!isset($this->_options['soft'])) { - $this->log($loglevel, ucfirst($err['level']) . ': ' . $err['message']); - } - } - } - return $this->raiseError('Installation failed: invalid package file'); - } - - $descfile = $p->getPackageFile(); - return $p; - } - - // }}} - /** - * Set the list of PEAR_Downloader_Package objects to allow more sane - * dependency validation - * @param array - */ - function setDownloadedPackages(&$pkgs) - { - PEAR::pushErrorHandling(PEAR_ERROR_RETURN); - $err = $this->analyzeDependencies($pkgs); - PEAR::popErrorHandling(); - if (PEAR::isError($err)) { - return $err; - } - $this->_downloadedPackages = &$pkgs; - } - - /** - * Set the list of PEAR_Downloader_Package objects to allow more sane - * dependency validation - * @param array - */ - function setUninstallPackages(&$pkgs) - { - $this->_downloadedPackages = &$pkgs; - } - - function getInstallPackages() - { - return $this->_downloadedPackages; - } - - // {{{ install() - - /** - * Installs the files within the package file specified. - * - * @param string|PEAR_Downloader_Package $pkgfile path to the package file, - * or a pre-initialized packagefile object - * @param array $options - * recognized options: - * - installroot : optional prefix directory for installation - * - force : force installation - * - register-only : update registry but don't install files - * - upgrade : upgrade existing install - * - soft : fail silently - * - nodeps : ignore dependency conflicts/missing dependencies - * - alldeps : install all dependencies - * - onlyreqdeps : install only required dependencies - * - * @return array|PEAR_Error package info if successful - */ - function install($pkgfile, $options = array()) - { - $this->_options = $options; - $this->_registry = &$this->config->getRegistry(); - if (is_object($pkgfile)) { - $dlpkg = &$pkgfile; - $pkg = $pkgfile->getPackageFile(); - $pkgfile = $pkg->getArchiveFile(); - $descfile = $pkg->getPackageFile(); - } else { - $descfile = $pkgfile; - $pkg = $this->_parsePackageXml($descfile); - if (PEAR::isError($pkg)) { - return $pkg; - } - } - - $tmpdir = dirname($descfile); - if (realpath($descfile) != realpath($pkgfile)) { - // Use the temp_dir since $descfile can contain the download dir path - $tmpdir = $this->config->get('temp_dir', null, 'pear.php.net'); - $tmpdir = System::mktemp('-d -t "' . $tmpdir . '"'); - - $tar = new Archive_Tar($pkgfile); - if (!$tar->extract($tmpdir)) { - return $this->raiseError("unable to unpack $pkgfile"); - } - } - - $pkgname = $pkg->getName(); - $channel = $pkg->getChannel(); - if (isset($this->_options['packagingroot'])) { - $regdir = $this->_prependPath( - $this->config->get('php_dir', null, 'pear.php.net'), - $this->_options['packagingroot']); - - $packrootphp_dir = $this->_prependPath( - $this->config->get('php_dir', null, $channel), - $this->_options['packagingroot']); - } - - if (isset($options['installroot'])) { - $this->config->setInstallRoot($options['installroot']); - $this->_registry = &$this->config->getRegistry(); - $installregistry = &$this->_registry; - $this->installroot = ''; // all done automagically now - $php_dir = $this->config->get('php_dir', null, $channel); - } else { - $this->config->setInstallRoot(false); - $this->_registry = &$this->config->getRegistry(); - if (isset($this->_options['packagingroot'])) { - $installregistry = &new PEAR_Registry($regdir); - if (!$installregistry->channelExists($channel, true)) { - // we need to fake a channel-discover of this channel - $chanobj = $this->_registry->getChannel($channel, true); - $installregistry->addChannel($chanobj); - } - $php_dir = $packrootphp_dir; - } else { - $installregistry = &$this->_registry; - $php_dir = $this->config->get('php_dir', null, $channel); - } - $this->installroot = ''; - } - - // {{{ checks to do when not in "force" mode - if (empty($options['force']) && - (file_exists($this->config->get('php_dir')) && - is_dir($this->config->get('php_dir')))) { - $testp = $channel == 'pear.php.net' ? $pkgname : array($channel, $pkgname); - $instfilelist = $pkg->getInstallationFileList(true); - if (PEAR::isError($instfilelist)) { - return $instfilelist; - } - - // ensure we have the most accurate registry - $installregistry->flushFileMap(); - $test = $installregistry->checkFileMap($instfilelist, $testp, '1.1'); - if (PEAR::isError($test)) { - return $test; - } - - if (sizeof($test)) { - $pkgs = $this->getInstallPackages(); - $found = false; - foreach ($pkgs as $param) { - if ($pkg->isSubpackageOf($param)) { - $found = true; - break; - } - } - - if ($found) { - // subpackages can conflict with earlier versions of parent packages - $parentreg = $installregistry->packageInfo($param->getPackage(), null, $param->getChannel()); - $tmp = $test; - foreach ($tmp as $file => $info) { - if (is_array($info)) { - if (strtolower($info[1]) == strtolower($param->getPackage()) && - strtolower($info[0]) == strtolower($param->getChannel()) - ) { - if (isset($parentreg['filelist'][$file])) { - unset($parentreg['filelist'][$file]); - } else{ - $pos = strpos($file, '/'); - $basedir = substr($file, 0, $pos); - $file2 = substr($file, $pos + 1); - if (isset($parentreg['filelist'][$file2]['baseinstalldir']) - && $parentreg['filelist'][$file2]['baseinstalldir'] === $basedir - ) { - unset($parentreg['filelist'][$file2]); - } - } - - unset($test[$file]); - } - } else { - if (strtolower($param->getChannel()) != 'pear.php.net') { - continue; - } - - if (strtolower($info) == strtolower($param->getPackage())) { - if (isset($parentreg['filelist'][$file])) { - unset($parentreg['filelist'][$file]); - } else{ - $pos = strpos($file, '/'); - $basedir = substr($file, 0, $pos); - $file2 = substr($file, $pos + 1); - if (isset($parentreg['filelist'][$file2]['baseinstalldir']) - && $parentreg['filelist'][$file2]['baseinstalldir'] === $basedir - ) { - unset($parentreg['filelist'][$file2]); - } - } - - unset($test[$file]); - } - } - } - - $pfk = &new PEAR_PackageFile($this->config); - $parentpkg = &$pfk->fromArray($parentreg); - $installregistry->updatePackage2($parentpkg); - } - - if ($param->getChannel() == 'pecl.php.net' && isset($options['upgrade'])) { - $tmp = $test; - foreach ($tmp as $file => $info) { - if (is_string($info)) { - // pear.php.net packages are always stored as strings - if (strtolower($info) == strtolower($param->getPackage())) { - // upgrading existing package - unset($test[$file]); - } - } - } - } - - if (count($test)) { - $msg = "$channel/$pkgname: conflicting files found:\n"; - $longest = max(array_map("strlen", array_keys($test))); - $fmt = "%${longest}s (%s)\n"; - foreach ($test as $file => $info) { - if (!is_array($info)) { - $info = array('pear.php.net', $info); - } - $info = $info[0] . '/' . $info[1]; - $msg .= sprintf($fmt, $file, $info); - } - - if (!isset($options['ignore-errors'])) { - return $this->raiseError($msg); - } - - if (!isset($options['soft'])) { - $this->log(0, "WARNING: $msg"); - } - } - } - } - // }}} - - $this->startFileTransaction(); - - $usechannel = $channel; - if ($channel == 'pecl.php.net') { - $test = $installregistry->packageExists($pkgname, $channel); - if (!$test) { - $test = $installregistry->packageExists($pkgname, 'pear.php.net'); - $usechannel = 'pear.php.net'; - } - } else { - $test = $installregistry->packageExists($pkgname, $channel); - } - - if (empty($options['upgrade']) && empty($options['soft'])) { - // checks to do only when installing new packages - if (empty($options['force']) && $test) { - return $this->raiseError("$channel/$pkgname is already installed"); - } - } else { - // Upgrade - if ($test) { - $v1 = $installregistry->packageInfo($pkgname, 'version', $usechannel); - $v2 = $pkg->getVersion(); - $cmp = version_compare("$v1", "$v2", 'gt'); - if (empty($options['force']) && !version_compare("$v2", "$v1", 'gt')) { - return $this->raiseError("upgrade to a newer version ($v2 is not newer than $v1)"); - } - } - } - - // Do cleanups for upgrade and install, remove old release's files first - if ($test && empty($options['register-only'])) { - // when upgrading, remove old release's files first: - if (PEAR::isError($err = $this->_deletePackageFiles($pkgname, $usechannel, - true))) { - if (!isset($options['ignore-errors'])) { - return $this->raiseError($err); - } - - if (!isset($options['soft'])) { - $this->log(0, 'WARNING: ' . $err->getMessage()); - } - } else { - $backedup = $err; - } - } - - // {{{ Copy files to dest dir --------------------------------------- - - // info from the package it self we want to access from _installFile - $this->pkginfo = &$pkg; - // used to determine whether we should build any C code - $this->source_files = 0; - - $savechannel = $this->config->get('default_channel'); - if (empty($options['register-only']) && !is_dir($php_dir)) { - if (PEAR::isError(System::mkdir(array('-p'), $php_dir))) { - return $this->raiseError("no installation destination directory '$php_dir'\n"); - } - } - - if (substr($pkgfile, -4) != '.xml') { - $tmpdir .= DIRECTORY_SEPARATOR . $pkgname . '-' . $pkg->getVersion(); - } - - $this->configSet('default_channel', $channel); - // {{{ install files - - $ver = $pkg->getPackagexmlVersion(); - if (version_compare($ver, '2.0', '>=')) { - $filelist = $pkg->getInstallationFilelist(); - } else { - $filelist = $pkg->getFileList(); - } - - if (PEAR::isError($filelist)) { - return $filelist; - } - - $p = &$installregistry->getPackage($pkgname, $channel); - $dirtree = (empty($options['register-only']) && $p) ? $p->getDirTree() : false; - - $pkg->resetFilelist(); - $pkg->setLastInstalledVersion($installregistry->packageInfo($pkg->getPackage(), - 'version', $pkg->getChannel())); - foreach ($filelist as $file => $atts) { - $this->expectError(PEAR_INSTALLER_FAILED); - if ($pkg->getPackagexmlVersion() == '1.0') { - $res = $this->_installFile($file, $atts, $tmpdir, $options); - } else { - $res = $this->_installFile2($pkg, $file, $atts, $tmpdir, $options); - } - $this->popExpect(); - - if (PEAR::isError($res)) { - if (empty($options['ignore-errors'])) { - $this->rollbackFileTransaction(); - if ($res->getMessage() == "file does not exist") { - $this->raiseError("file $file in package.xml does not exist"); - } - - return $this->raiseError($res); - } - - if (!isset($options['soft'])) { - $this->log(0, "Warning: " . $res->getMessage()); - } - } - - $real = isset($atts['attribs']) ? $atts['attribs'] : $atts; - if ($res == PEAR_INSTALLER_OK && $real['role'] != 'src') { - // Register files that were installed - $pkg->installedFile($file, $atts); - } - } - // }}} - - // {{{ compile and install source files - if ($this->source_files > 0 && empty($options['nobuild'])) { - if (PEAR::isError($err = - $this->_compileSourceFiles($savechannel, $pkg))) { - return $err; - } - } - // }}} - - if (isset($backedup)) { - $this->_removeBackups($backedup); - } - - if (!$this->commitFileTransaction()) { - $this->rollbackFileTransaction(); - $this->configSet('default_channel', $savechannel); - return $this->raiseError("commit failed", PEAR_INSTALLER_FAILED); - } - // }}} - - $ret = false; - $installphase = 'install'; - $oldversion = false; - // {{{ Register that the package is installed ----------------------- - if (empty($options['upgrade'])) { - // if 'force' is used, replace the info in registry - $usechannel = $channel; - if ($channel == 'pecl.php.net') { - $test = $installregistry->packageExists($pkgname, $channel); - if (!$test) { - $test = $installregistry->packageExists($pkgname, 'pear.php.net'); - $usechannel = 'pear.php.net'; - } - } else { - $test = $installregistry->packageExists($pkgname, $channel); - } - - if (!empty($options['force']) && $test) { - $oldversion = $installregistry->packageInfo($pkgname, 'version', $usechannel); - $installregistry->deletePackage($pkgname, $usechannel); - } - $ret = $installregistry->addPackage2($pkg); - } else { - if ($dirtree) { - $this->startFileTransaction(); - // attempt to delete empty directories - uksort($dirtree, array($this, '_sortDirs')); - foreach($dirtree as $dir => $notused) { - $this->addFileOperation('rmdir', array($dir)); - } - $this->commitFileTransaction(); - } - - $usechannel = $channel; - if ($channel == 'pecl.php.net') { - $test = $installregistry->packageExists($pkgname, $channel); - if (!$test) { - $test = $installregistry->packageExists($pkgname, 'pear.php.net'); - $usechannel = 'pear.php.net'; - } - } else { - $test = $installregistry->packageExists($pkgname, $channel); - } - - // new: upgrade installs a package if it isn't installed - if (!$test) { - $ret = $installregistry->addPackage2($pkg); - } else { - if ($usechannel != $channel) { - $installregistry->deletePackage($pkgname, $usechannel); - $ret = $installregistry->addPackage2($pkg); - } else { - $ret = $installregistry->updatePackage2($pkg); - } - $installphase = 'upgrade'; - } - } - - if (!$ret) { - $this->configSet('default_channel', $savechannel); - return $this->raiseError("Adding package $channel/$pkgname to registry failed"); - } - // }}} - - $this->configSet('default_channel', $savechannel); - if (class_exists('PEAR_Task_Common')) { // this is auto-included if any tasks exist - if (PEAR_Task_Common::hasPostinstallTasks()) { - PEAR_Task_Common::runPostinstallTasks($installphase); - } - } - - return $pkg->toArray(true); - } - - // }}} - - // {{{ _compileSourceFiles() - /** - * @param string - * @param PEAR_PackageFile_v1|PEAR_PackageFile_v2 - */ - function _compileSourceFiles($savechannel, &$filelist) - { - require_once 'PEAR/Builder.php'; - $this->log(1, "$this->source_files source files, building"); - $bob = &new PEAR_Builder($this->ui); - $bob->debug = $this->debug; - $built = $bob->build($filelist, array(&$this, '_buildCallback')); - if (PEAR::isError($built)) { - $this->rollbackFileTransaction(); - $this->configSet('default_channel', $savechannel); - return $built; - } - - $this->log(1, "\nBuild process completed successfully"); - foreach ($built as $ext) { - $bn = basename($ext['file']); - list($_ext_name, $_ext_suff) = explode('.', $bn); - if ($_ext_suff == '.so' || $_ext_suff == '.dll') { - if (extension_loaded($_ext_name)) { - $this->raiseError("Extension '$_ext_name' already loaded. " . - 'Please unload it in your php.ini file ' . - 'prior to install or upgrade'); - } - $role = 'ext'; - } else { - $role = 'src'; - } - - $dest = $ext['dest']; - $packagingroot = ''; - if (isset($this->_options['packagingroot'])) { - $packagingroot = $this->_options['packagingroot']; - } - - $copyto = $this->_prependPath($dest, $packagingroot); - $extra = $copyto != $dest ? " as '$copyto'" : ''; - $this->log(1, "Installing '$dest'$extra"); - - $copydir = dirname($copyto); - // pretty much nothing happens if we are only registering the install - if (empty($this->_options['register-only'])) { - if (!file_exists($copydir) || !is_dir($copydir)) { - if (!$this->mkDirHier($copydir)) { - return $this->raiseError("failed to mkdir $copydir", - PEAR_INSTALLER_FAILED); - } - - $this->log(3, "+ mkdir $copydir"); - } - - if (!@copy($ext['file'], $copyto)) { - return $this->raiseError("failed to write $copyto ($php_errormsg)", PEAR_INSTALLER_FAILED); - } - - $this->log(3, "+ cp $ext[file] $copyto"); - $this->addFileOperation('rename', array($ext['file'], $copyto)); - if (!OS_WINDOWS) { - $mode = 0666 & ~(int)octdec($this->config->get('umask')); - $this->addFileOperation('chmod', array($mode, $copyto)); - if (!@chmod($copyto, $mode)) { - $this->log(0, "failed to change mode of $copyto ($php_errormsg)"); - } - } - } - - - $data = array( - 'role' => $role, - 'name' => $bn, - 'installed_as' => $dest, - 'php_api' => $ext['php_api'], - 'zend_mod_api' => $ext['zend_mod_api'], - 'zend_ext_api' => $ext['zend_ext_api'], - ); - - if ($filelist->getPackageXmlVersion() == '1.0') { - $filelist->installedFile($bn, $data); - } else { - $filelist->installedFile($bn, array('attribs' => $data)); - } - } - } - - // }}} - function &getUninstallPackages() - { - return $this->_downloadedPackages; - } - // {{{ uninstall() - - /** - * Uninstall a package - * - * This method removes all files installed by the application, and then - * removes any empty directories. - * @param string package name - * @param array Command-line options. Possibilities include: - * - * - installroot: base installation dir, if not the default - * - register-only : update registry but don't remove files - * - nodeps: do not process dependencies of other packages to ensure - * uninstallation does not break things - */ - function uninstall($package, $options = array()) - { - $installRoot = isset($options['installroot']) ? $options['installroot'] : ''; - $this->config->setInstallRoot($installRoot); - - $this->installroot = ''; - $this->_registry = &$this->config->getRegistry(); - if (is_object($package)) { - $channel = $package->getChannel(); - $pkg = $package; - $package = $pkg->getPackage(); - } else { - $pkg = false; - $info = $this->_registry->parsePackageName($package, - $this->config->get('default_channel')); - $channel = $info['channel']; - $package = $info['package']; - } - - $savechannel = $this->config->get('default_channel'); - $this->configSet('default_channel', $channel); - if (!is_object($pkg)) { - $pkg = $this->_registry->getPackage($package, $channel); - } - - if (!$pkg) { - $this->configSet('default_channel', $savechannel); - return $this->raiseError($this->_registry->parsedPackageNameToString( - array( - 'channel' => $channel, - 'package' => $package - ), true) . ' not installed'); - } - - if ($pkg->getInstalledBinary()) { - // this is just an alias for a binary package - return $this->_registry->deletePackage($package, $channel); - } - - $filelist = $pkg->getFilelist(); - PEAR::staticPushErrorHandling(PEAR_ERROR_RETURN); - if (!class_exists('PEAR_Dependency2')) { - require_once 'PEAR/Dependency2.php'; - } - - $depchecker = &new PEAR_Dependency2($this->config, $options, - array('channel' => $channel, 'package' => $package), - PEAR_VALIDATE_UNINSTALLING); - $e = $depchecker->validatePackageUninstall($this); - PEAR::staticPopErrorHandling(); - if (PEAR::isError($e)) { - if (!isset($options['ignore-errors'])) { - return $this->raiseError($e); - } - - if (!isset($options['soft'])) { - $this->log(0, 'WARNING: ' . $e->getMessage()); - } - } elseif (is_array($e)) { - if (!isset($options['soft'])) { - $this->log(0, $e[0]); - } - } - - $this->pkginfo = &$pkg; - // pretty much nothing happens if we are only registering the uninstall - if (empty($options['register-only'])) { - // {{{ Delete the files - $this->startFileTransaction(); - PEAR::pushErrorHandling(PEAR_ERROR_RETURN); - if (PEAR::isError($err = $this->_deletePackageFiles($package, $channel))) { - PEAR::popErrorHandling(); - $this->rollbackFileTransaction(); - $this->configSet('default_channel', $savechannel); - if (!isset($options['ignore-errors'])) { - return $this->raiseError($err); - } - - if (!isset($options['soft'])) { - $this->log(0, 'WARNING: ' . $err->getMessage()); - } - } else { - PEAR::popErrorHandling(); - } - - if (!$this->commitFileTransaction()) { - $this->rollbackFileTransaction(); - if (!isset($options['ignore-errors'])) { - return $this->raiseError("uninstall failed"); - } - - if (!isset($options['soft'])) { - $this->log(0, 'WARNING: uninstall failed'); - } - } else { - $this->startFileTransaction(); - $dirtree = $pkg->getDirTree(); - if ($dirtree === false) { - $this->configSet('default_channel', $savechannel); - return $this->_registry->deletePackage($package, $channel); - } - - // attempt to delete empty directories - uksort($dirtree, array($this, '_sortDirs')); - foreach($dirtree as $dir => $notused) { - $this->addFileOperation('rmdir', array($dir)); - } - - if (!$this->commitFileTransaction()) { - $this->rollbackFileTransaction(); - if (!isset($options['ignore-errors'])) { - return $this->raiseError("uninstall failed"); - } - - if (!isset($options['soft'])) { - $this->log(0, 'WARNING: uninstall failed'); - } - } - } - // }}} - } - - $this->configSet('default_channel', $savechannel); - // Register that the package is no longer installed - return $this->_registry->deletePackage($package, $channel); - } - - /** - * Sort a list of arrays of array(downloaded packagefilename) by dependency. - * - * It also removes duplicate dependencies - * @param array an array of PEAR_PackageFile_v[1/2] objects - * @return array|PEAR_Error array of array(packagefilename, package.xml contents) - */ - function sortPackagesForUninstall(&$packages) - { - $this->_dependencyDB = &PEAR_DependencyDB::singleton($this->config); - if (PEAR::isError($this->_dependencyDB)) { - return $this->_dependencyDB; - } - usort($packages, array(&$this, '_sortUninstall')); - } - - function _sortUninstall($a, $b) - { - if (!$a->getDeps() && !$b->getDeps()) { - return 0; // neither package has dependencies, order is insignificant - } - if ($a->getDeps() && !$b->getDeps()) { - return -1; // $a must be installed after $b because $a has dependencies - } - if (!$a->getDeps() && $b->getDeps()) { - return 1; // $b must be installed after $a because $b has dependencies - } - // both packages have dependencies - if ($this->_dependencyDB->dependsOn($a, $b)) { - return -1; - } - if ($this->_dependencyDB->dependsOn($b, $a)) { - return 1; - } - return 0; - } - - // }}} - // {{{ _sortDirs() - function _sortDirs($a, $b) - { - if (strnatcmp($a, $b) == -1) return 1; - if (strnatcmp($a, $b) == 1) return -1; - return 0; - } - - // }}} - - // {{{ _buildCallback() - - function _buildCallback($what, $data) - { - if (($what == 'cmdoutput' && $this->debug > 1) || - ($what == 'output' && $this->debug > 0)) { - $this->ui->outputData(rtrim($data), 'build'); - } - } - - // }}} -} \ No newline at end of file diff --git a/3rdparty/PEAR/Installer/Role.php b/3rdparty/PEAR/Installer/Role.php deleted file mode 100644 index 0c50fa79c0c83dbe853ed3bb872bd15a2e0ace18..0000000000000000000000000000000000000000 --- a/3rdparty/PEAR/Installer/Role.php +++ /dev/null @@ -1,276 +0,0 @@ - - * @copyright 1997-2009 The Authors - * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: Role.php 313023 2011-07-06 19:17:11Z dufuz $ - * @link http://pear.php.net/package/PEAR - * @since File available since Release 1.4.0a1 - */ - -/** - * base class for installer roles - */ -require_once 'PEAR/Installer/Role/Common.php'; -require_once 'PEAR/XMLParser.php'; -/** - * @category pear - * @package PEAR - * @author Greg Beaver - * @copyright 1997-2009 The Authors - * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.4 - * @link http://pear.php.net/package/PEAR - * @since Class available since Release 1.4.0a1 - */ -class PEAR_Installer_Role -{ - /** - * Set up any additional configuration variables that file roles require - * - * Never call this directly, it is called by the PEAR_Config constructor - * @param PEAR_Config - * @access private - * @static - */ - function initializeConfig(&$config) - { - if (!isset($GLOBALS['_PEAR_INSTALLER_ROLES'])) { - PEAR_Installer_Role::registerRoles(); - } - - foreach ($GLOBALS['_PEAR_INSTALLER_ROLES'] as $class => $info) { - if (!$info['config_vars']) { - continue; - } - - $config->_addConfigVars($class, $info['config_vars']); - } - } - - /** - * @param PEAR_PackageFile_v2 - * @param string role name - * @param PEAR_Config - * @return PEAR_Installer_Role_Common - * @static - */ - function &factory($pkg, $role, &$config) - { - if (!isset($GLOBALS['_PEAR_INSTALLER_ROLES'])) { - PEAR_Installer_Role::registerRoles(); - } - - if (!in_array($role, PEAR_Installer_Role::getValidRoles($pkg->getPackageType()))) { - $a = false; - return $a; - } - - $a = 'PEAR_Installer_Role_' . ucfirst($role); - if (!class_exists($a)) { - require_once str_replace('_', '/', $a) . '.php'; - } - - $b = new $a($config); - return $b; - } - - /** - * Get a list of file roles that are valid for the particular release type. - * - * For instance, src files serve no purpose in regular php releases. - * @param string - * @param bool clear cache - * @return array - * @static - */ - function getValidRoles($release, $clear = false) - { - if (!isset($GLOBALS['_PEAR_INSTALLER_ROLES'])) { - PEAR_Installer_Role::registerRoles(); - } - - static $ret = array(); - if ($clear) { - $ret = array(); - } - - if (isset($ret[$release])) { - return $ret[$release]; - } - - $ret[$release] = array(); - foreach ($GLOBALS['_PEAR_INSTALLER_ROLES'] as $role => $okreleases) { - if (in_array($release, $okreleases['releasetypes'])) { - $ret[$release][] = strtolower(str_replace('PEAR_Installer_Role_', '', $role)); - } - } - - return $ret[$release]; - } - - /** - * Get a list of roles that require their files to be installed - * - * Most roles must be installed, but src and package roles, for instance - * are pseudo-roles. src files are compiled into a new extension. Package - * roles are actually fully bundled releases of a package - * @param bool clear cache - * @return array - * @static - */ - function getInstallableRoles($clear = false) - { - if (!isset($GLOBALS['_PEAR_INSTALLER_ROLES'])) { - PEAR_Installer_Role::registerRoles(); - } - - static $ret; - if ($clear) { - unset($ret); - } - - if (isset($ret)) { - return $ret; - } - - $ret = array(); - foreach ($GLOBALS['_PEAR_INSTALLER_ROLES'] as $role => $okreleases) { - if ($okreleases['installable']) { - $ret[] = strtolower(str_replace('PEAR_Installer_Role_', '', $role)); - } - } - - return $ret; - } - - /** - * Return an array of roles that are affected by the baseinstalldir attribute - * - * Most roles ignore this attribute, and instead install directly into: - * PackageName/filepath - * so a tests file tests/file.phpt is installed into PackageName/tests/filepath.php - * @param bool clear cache - * @return array - * @static - */ - function getBaseinstallRoles($clear = false) - { - if (!isset($GLOBALS['_PEAR_INSTALLER_ROLES'])) { - PEAR_Installer_Role::registerRoles(); - } - - static $ret; - if ($clear) { - unset($ret); - } - - if (isset($ret)) { - return $ret; - } - - $ret = array(); - foreach ($GLOBALS['_PEAR_INSTALLER_ROLES'] as $role => $okreleases) { - if ($okreleases['honorsbaseinstall']) { - $ret[] = strtolower(str_replace('PEAR_Installer_Role_', '', $role)); - } - } - - return $ret; - } - - /** - * Return an array of file roles that should be analyzed for PHP content at package time, - * like the "php" role. - * @param bool clear cache - * @return array - * @static - */ - function getPhpRoles($clear = false) - { - if (!isset($GLOBALS['_PEAR_INSTALLER_ROLES'])) { - PEAR_Installer_Role::registerRoles(); - } - - static $ret; - if ($clear) { - unset($ret); - } - - if (isset($ret)) { - return $ret; - } - - $ret = array(); - foreach ($GLOBALS['_PEAR_INSTALLER_ROLES'] as $role => $okreleases) { - if ($okreleases['phpfile']) { - $ret[] = strtolower(str_replace('PEAR_Installer_Role_', '', $role)); - } - } - - return $ret; - } - - /** - * Scan through the Command directory looking for classes - * and see what commands they implement. - * @param string which directory to look for classes, defaults to - * the Installer/Roles subdirectory of - * the directory from where this file (__FILE__) is - * included. - * - * @return bool TRUE on success, a PEAR error on failure - * @access public - * @static - */ - function registerRoles($dir = null) - { - $GLOBALS['_PEAR_INSTALLER_ROLES'] = array(); - $parser = new PEAR_XMLParser; - if ($dir === null) { - $dir = dirname(__FILE__) . '/Role'; - } - - if (!file_exists($dir) || !is_dir($dir)) { - return PEAR::raiseError("registerRoles: opendir($dir) failed: does not exist/is not directory"); - } - - $dp = @opendir($dir); - if (empty($dp)) { - return PEAR::raiseError("registerRoles: opendir($dir) failed: $php_errmsg"); - } - - while ($entry = readdir($dp)) { - if ($entry{0} == '.' || substr($entry, -4) != '.xml') { - continue; - } - - $class = "PEAR_Installer_Role_".substr($entry, 0, -4); - // List of roles - if (!isset($GLOBALS['_PEAR_INSTALLER_ROLES'][$class])) { - $file = "$dir/$entry"; - $parser->parse(file_get_contents($file)); - $data = $parser->getData(); - if (!is_array($data['releasetypes'])) { - $data['releasetypes'] = array($data['releasetypes']); - } - - $GLOBALS['_PEAR_INSTALLER_ROLES'][$class] = $data; - } - } - - closedir($dp); - ksort($GLOBALS['_PEAR_INSTALLER_ROLES']); - PEAR_Installer_Role::getBaseinstallRoles(true); - PEAR_Installer_Role::getInstallableRoles(true); - PEAR_Installer_Role::getPhpRoles(true); - PEAR_Installer_Role::getValidRoles('****', true); - return true; - } -} \ No newline at end of file diff --git a/3rdparty/PEAR/Installer/Role/Cfg.php b/3rdparty/PEAR/Installer/Role/Cfg.php deleted file mode 100644 index 762012248d23a5a4cd47eacd47449313d467d4f1..0000000000000000000000000000000000000000 --- a/3rdparty/PEAR/Installer/Role/Cfg.php +++ /dev/null @@ -1,106 +0,0 @@ - - * @copyright 2007-2009 The Authors - * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: Cfg.php 313023 2011-07-06 19:17:11Z dufuz $ - * @link http://pear.php.net/package/PEAR - * @since File available since Release 1.7.0 - */ - -/** - * @category pear - * @package PEAR - * @author Greg Beaver - * @copyright 2007-2009 The Authors - * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.4 - * @link http://pear.php.net/package/PEAR - * @since Class available since Release 1.7.0 - */ -class PEAR_Installer_Role_Cfg extends PEAR_Installer_Role_Common -{ - /** - * @var PEAR_Installer - */ - var $installer; - - /** - * the md5 of the original file - * - * @var unknown_type - */ - var $md5 = null; - - /** - * Do any unusual setup here - * @param PEAR_Installer - * @param PEAR_PackageFile_v2 - * @param array file attributes - * @param string file name - */ - function setup(&$installer, $pkg, $atts, $file) - { - $this->installer = &$installer; - $reg = &$this->installer->config->getRegistry(); - $package = $reg->getPackage($pkg->getPackage(), $pkg->getChannel()); - if ($package) { - $filelist = $package->getFilelist(); - if (isset($filelist[$file]) && isset($filelist[$file]['md5sum'])) { - $this->md5 = $filelist[$file]['md5sum']; - } - } - } - - function processInstallation($pkg, $atts, $file, $tmp_path, $layer = null) - { - $test = parent::processInstallation($pkg, $atts, $file, $tmp_path, $layer); - if (@file_exists($test[2]) && @file_exists($test[3])) { - $md5 = md5_file($test[2]); - // configuration has already been installed, check for mods - if ($md5 !== $this->md5 && $md5 !== md5_file($test[3])) { - // configuration has been modified, so save our version as - // configfile-version - $old = $test[2]; - $test[2] .= '.new-' . $pkg->getVersion(); - // backup original and re-install it - PEAR::pushErrorHandling(PEAR_ERROR_RETURN); - $tmpcfg = $this->config->get('temp_dir'); - $newloc = System::mkdir(array('-p', $tmpcfg)); - if (!$newloc) { - // try temp_dir - $newloc = System::mktemp(array('-d')); - if (!$newloc || PEAR::isError($newloc)) { - PEAR::popErrorHandling(); - return PEAR::raiseError('Could not save existing configuration file '. - $old . ', unable to install. Please set temp_dir ' . - 'configuration variable to a writeable location and try again'); - } - } else { - $newloc = $tmpcfg; - } - - $temp_file = $newloc . DIRECTORY_SEPARATOR . uniqid('savefile'); - if (!@copy($old, $temp_file)) { - PEAR::popErrorHandling(); - return PEAR::raiseError('Could not save existing configuration file '. - $old . ', unable to install. Please set temp_dir ' . - 'configuration variable to a writeable location and try again'); - } - - PEAR::popErrorHandling(); - $this->installer->log(0, "WARNING: configuration file $old is being installed as $test[2], you should manually merge in changes to the existing configuration file"); - $this->installer->addFileOperation('rename', array($temp_file, $old, false)); - $this->installer->addFileOperation('delete', array($temp_file)); - } - } - - return $test; - } -} \ No newline at end of file diff --git a/3rdparty/PEAR/Installer/Role/Cfg.xml b/3rdparty/PEAR/Installer/Role/Cfg.xml deleted file mode 100644 index 7a415dc466ab9a58607c4bed3dc2900f7414e76d..0000000000000000000000000000000000000000 --- a/3rdparty/PEAR/Installer/Role/Cfg.xml +++ /dev/null @@ -1,15 +0,0 @@ - - php - extsrc - extbin - zendextsrc - zendextbin - 1 - cfg_dir - - 1 - - - - - \ No newline at end of file diff --git a/3rdparty/PEAR/Installer/Role/Common.php b/3rdparty/PEAR/Installer/Role/Common.php deleted file mode 100644 index 23e7348d70cf2332689f8968f66bfdb13a8531e4..0000000000000000000000000000000000000000 --- a/3rdparty/PEAR/Installer/Role/Common.php +++ /dev/null @@ -1,174 +0,0 @@ - - * @copyright 1997-2006 The PHP Group - * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: Common.php 313023 2011-07-06 19:17:11Z dufuz $ - * @link http://pear.php.net/package/PEAR - * @since File available since Release 1.4.0a1 - */ -/** - * Base class for all installation roles. - * - * This class allows extensibility of file roles. Packages with complex - * customization can now provide custom file roles along with the possibility of - * adding configuration values to match. - * @category pear - * @package PEAR - * @author Greg Beaver - * @copyright 1997-2006 The PHP Group - * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.4 - * @link http://pear.php.net/package/PEAR - * @since Class available since Release 1.4.0a1 - */ -class PEAR_Installer_Role_Common -{ - /** - * @var PEAR_Config - * @access protected - */ - var $config; - - /** - * @param PEAR_Config - */ - function PEAR_Installer_Role_Common(&$config) - { - $this->config = $config; - } - - /** - * Retrieve configuration information about a file role from its XML info - * - * @param string $role Role Classname, as in "PEAR_Installer_Role_Data" - * @return array - */ - function getInfo($role) - { - if (empty($GLOBALS['_PEAR_INSTALLER_ROLES'][$role])) { - return PEAR::raiseError('Unknown Role class: "' . $role . '"'); - } - return $GLOBALS['_PEAR_INSTALLER_ROLES'][$role]; - } - - /** - * This is called for each file to set up the directories and files - * @param PEAR_PackageFile_v1|PEAR_PackageFile_v2 - * @param array attributes from the tag - * @param string file name - * @return array an array consisting of: - * - * 1 the original, pre-baseinstalldir installation directory - * 2 the final installation directory - * 3 the full path to the final location of the file - * 4 the location of the pre-installation file - */ - function processInstallation($pkg, $atts, $file, $tmp_path, $layer = null) - { - $roleInfo = PEAR_Installer_Role_Common::getInfo('PEAR_Installer_Role_' . - ucfirst(str_replace('pear_installer_role_', '', strtolower(get_class($this))))); - if (PEAR::isError($roleInfo)) { - return $roleInfo; - } - if (!$roleInfo['locationconfig']) { - return false; - } - if ($roleInfo['honorsbaseinstall']) { - $dest_dir = $save_destdir = $this->config->get($roleInfo['locationconfig'], $layer, - $pkg->getChannel()); - if (!empty($atts['baseinstalldir'])) { - $dest_dir .= DIRECTORY_SEPARATOR . $atts['baseinstalldir']; - } - } elseif ($roleInfo['unusualbaseinstall']) { - $dest_dir = $save_destdir = $this->config->get($roleInfo['locationconfig'], - $layer, $pkg->getChannel()) . DIRECTORY_SEPARATOR . $pkg->getPackage(); - if (!empty($atts['baseinstalldir'])) { - $dest_dir .= DIRECTORY_SEPARATOR . $atts['baseinstalldir']; - } - } else { - $dest_dir = $save_destdir = $this->config->get($roleInfo['locationconfig'], - $layer, $pkg->getChannel()) . DIRECTORY_SEPARATOR . $pkg->getPackage(); - } - if (dirname($file) != '.' && empty($atts['install-as'])) { - $dest_dir .= DIRECTORY_SEPARATOR . dirname($file); - } - if (empty($atts['install-as'])) { - $dest_file = $dest_dir . DIRECTORY_SEPARATOR . basename($file); - } else { - $dest_file = $dest_dir . DIRECTORY_SEPARATOR . $atts['install-as']; - } - $orig_file = $tmp_path . DIRECTORY_SEPARATOR . $file; - - // Clean up the DIRECTORY_SEPARATOR mess - $ds2 = DIRECTORY_SEPARATOR . DIRECTORY_SEPARATOR; - - list($dest_dir, $dest_file, $orig_file) = preg_replace(array('!\\\\+!', '!/!', "!$ds2+!"), - array(DIRECTORY_SEPARATOR, DIRECTORY_SEPARATOR, - DIRECTORY_SEPARATOR), - array($dest_dir, $dest_file, $orig_file)); - return array($save_destdir, $dest_dir, $dest_file, $orig_file); - } - - /** - * Get the name of the configuration variable that specifies the location of this file - * @return string|false - */ - function getLocationConfig() - { - $roleInfo = PEAR_Installer_Role_Common::getInfo('PEAR_Installer_Role_' . - ucfirst(str_replace('pear_installer_role_', '', strtolower(get_class($this))))); - if (PEAR::isError($roleInfo)) { - return $roleInfo; - } - return $roleInfo['locationconfig']; - } - - /** - * Do any unusual setup here - * @param PEAR_Installer - * @param PEAR_PackageFile_v2 - * @param array file attributes - * @param string file name - */ - function setup(&$installer, $pkg, $atts, $file) - { - } - - function isExecutable() - { - $roleInfo = PEAR_Installer_Role_Common::getInfo('PEAR_Installer_Role_' . - ucfirst(str_replace('pear_installer_role_', '', strtolower(get_class($this))))); - if (PEAR::isError($roleInfo)) { - return $roleInfo; - } - return $roleInfo['executable']; - } - - function isInstallable() - { - $roleInfo = PEAR_Installer_Role_Common::getInfo('PEAR_Installer_Role_' . - ucfirst(str_replace('pear_installer_role_', '', strtolower(get_class($this))))); - if (PEAR::isError($roleInfo)) { - return $roleInfo; - } - return $roleInfo['installable']; - } - - function isExtension() - { - $roleInfo = PEAR_Installer_Role_Common::getInfo('PEAR_Installer_Role_' . - ucfirst(str_replace('pear_installer_role_', '', strtolower(get_class($this))))); - if (PEAR::isError($roleInfo)) { - return $roleInfo; - } - return $roleInfo['phpextension']; - } -} -?> \ No newline at end of file diff --git a/3rdparty/PEAR/Installer/Role/Data.php b/3rdparty/PEAR/Installer/Role/Data.php deleted file mode 100644 index e3b7fa2fff2da698a1924a627356c1c8f4fcc9ad..0000000000000000000000000000000000000000 --- a/3rdparty/PEAR/Installer/Role/Data.php +++ /dev/null @@ -1,28 +0,0 @@ - - * @copyright 1997-2009 The Authors - * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: Data.php 313023 2011-07-06 19:17:11Z dufuz $ - * @link http://pear.php.net/package/PEAR - * @since File available since Release 1.4.0a1 - */ - -/** - * @category pear - * @package PEAR - * @author Greg Beaver - * @copyright 1997-2009 The Authors - * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.4 - * @link http://pear.php.net/package/PEAR - * @since Class available since Release 1.4.0a1 - */ -class PEAR_Installer_Role_Data extends PEAR_Installer_Role_Common {} -?> \ No newline at end of file diff --git a/3rdparty/PEAR/Installer/Role/Data.xml b/3rdparty/PEAR/Installer/Role/Data.xml deleted file mode 100644 index eae63720d3ba4022846e7ed36880cd71af734139..0000000000000000000000000000000000000000 --- a/3rdparty/PEAR/Installer/Role/Data.xml +++ /dev/null @@ -1,15 +0,0 @@ - - php - extsrc - extbin - zendextsrc - zendextbin - 1 - data_dir - - - - - - - \ No newline at end of file diff --git a/3rdparty/PEAR/Installer/Role/Doc.php b/3rdparty/PEAR/Installer/Role/Doc.php deleted file mode 100644 index d592ffff01481f4af2eb856ad1f734d53701b0f3..0000000000000000000000000000000000000000 --- a/3rdparty/PEAR/Installer/Role/Doc.php +++ /dev/null @@ -1,28 +0,0 @@ - - * @copyright 1997-2009 The Authors - * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: Doc.php 313023 2011-07-06 19:17:11Z dufuz $ - * @link http://pear.php.net/package/PEAR - * @since File available since Release 1.4.0a1 - */ - -/** - * @category pear - * @package PEAR - * @author Greg Beaver - * @copyright 1997-2009 The Authors - * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.4 - * @link http://pear.php.net/package/PEAR - * @since Class available since Release 1.4.0a1 - */ -class PEAR_Installer_Role_Doc extends PEAR_Installer_Role_Common {} -?> \ No newline at end of file diff --git a/3rdparty/PEAR/Installer/Role/Doc.xml b/3rdparty/PEAR/Installer/Role/Doc.xml deleted file mode 100644 index 173afba011a0f45e88da18659bd47c3cb47471a1..0000000000000000000000000000000000000000 --- a/3rdparty/PEAR/Installer/Role/Doc.xml +++ /dev/null @@ -1,15 +0,0 @@ - - php - extsrc - extbin - zendextsrc - zendextbin - 1 - doc_dir - - - - - - - \ No newline at end of file diff --git a/3rdparty/PEAR/Installer/Role/Ext.php b/3rdparty/PEAR/Installer/Role/Ext.php deleted file mode 100644 index eceb0279ff957267539233858fe1d1fcbb0c4c6a..0000000000000000000000000000000000000000 --- a/3rdparty/PEAR/Installer/Role/Ext.php +++ /dev/null @@ -1,28 +0,0 @@ - - * @copyright 1997-2009 The Authors - * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: Ext.php 313023 2011-07-06 19:17:11Z dufuz $ - * @link http://pear.php.net/package/PEAR - * @since File available since Release 1.4.0a1 - */ - -/** - * @category pear - * @package PEAR - * @author Greg Beaver - * @copyright 1997-2009 The Authors - * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.4 - * @link http://pear.php.net/package/PEAR - * @since Class available since Release 1.4.0a1 - */ -class PEAR_Installer_Role_Ext extends PEAR_Installer_Role_Common {} -?> \ No newline at end of file diff --git a/3rdparty/PEAR/Installer/Role/Ext.xml b/3rdparty/PEAR/Installer/Role/Ext.xml deleted file mode 100644 index e2940fe1f22cbe7dc1c7a1b02e97e0c6ab9ca7ef..0000000000000000000000000000000000000000 --- a/3rdparty/PEAR/Installer/Role/Ext.xml +++ /dev/null @@ -1,12 +0,0 @@ - - extbin - zendextbin - 1 - ext_dir - 1 - - - - 1 - - \ No newline at end of file diff --git a/3rdparty/PEAR/Installer/Role/Php.php b/3rdparty/PEAR/Installer/Role/Php.php deleted file mode 100644 index e2abf44eed1ea222432a47e5bf14d425f3e61e5b..0000000000000000000000000000000000000000 --- a/3rdparty/PEAR/Installer/Role/Php.php +++ /dev/null @@ -1,28 +0,0 @@ - - * @copyright 1997-2009 The Authors - * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: Php.php 313023 2011-07-06 19:17:11Z dufuz $ - * @link http://pear.php.net/package/PEAR - * @since File available since Release 1.4.0a1 - */ - -/** - * @category pear - * @package PEAR - * @author Greg Beaver - * @copyright 1997-2009 The Authors - * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.4 - * @link http://pear.php.net/package/PEAR - * @since Class available since Release 1.4.0a1 - */ -class PEAR_Installer_Role_Php extends PEAR_Installer_Role_Common {} -?> \ No newline at end of file diff --git a/3rdparty/PEAR/Installer/Role/Php.xml b/3rdparty/PEAR/Installer/Role/Php.xml deleted file mode 100644 index 6b9a0e67af9ac8d90543de9575988a7da3427da8..0000000000000000000000000000000000000000 --- a/3rdparty/PEAR/Installer/Role/Php.xml +++ /dev/null @@ -1,15 +0,0 @@ - - php - extsrc - extbin - zendextsrc - zendextbin - 1 - php_dir - 1 - - 1 - - - - \ No newline at end of file diff --git a/3rdparty/PEAR/Installer/Role/Script.php b/3rdparty/PEAR/Installer/Role/Script.php deleted file mode 100644 index b31469e4b10721f8e02619ca194a2e03c80a5506..0000000000000000000000000000000000000000 --- a/3rdparty/PEAR/Installer/Role/Script.php +++ /dev/null @@ -1,28 +0,0 @@ - - * @copyright 1997-2009 The Authors - * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: Script.php 313023 2011-07-06 19:17:11Z dufuz $ - * @link http://pear.php.net/package/PEAR - * @since File available since Release 1.4.0a1 - */ - -/** - * @category pear - * @package PEAR - * @author Greg Beaver - * @copyright 1997-2009 The Authors - * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.4 - * @link http://pear.php.net/package/PEAR - * @since Class available since Release 1.4.0a1 - */ -class PEAR_Installer_Role_Script extends PEAR_Installer_Role_Common {} -?> \ No newline at end of file diff --git a/3rdparty/PEAR/Installer/Role/Script.xml b/3rdparty/PEAR/Installer/Role/Script.xml deleted file mode 100644 index e732cf2af6f8e3731d0f91068053787eb23ad4eb..0000000000000000000000000000000000000000 --- a/3rdparty/PEAR/Installer/Role/Script.xml +++ /dev/null @@ -1,15 +0,0 @@ - - php - extsrc - extbin - zendextsrc - zendextbin - 1 - bin_dir - 1 - - - 1 - - - \ No newline at end of file diff --git a/3rdparty/PEAR/Installer/Role/Src.php b/3rdparty/PEAR/Installer/Role/Src.php deleted file mode 100644 index 503705313d821bff26e0457c805e40c612e3eed0..0000000000000000000000000000000000000000 --- a/3rdparty/PEAR/Installer/Role/Src.php +++ /dev/null @@ -1,34 +0,0 @@ - - * @copyright 1997-2009 The Authors - * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: Src.php 313023 2011-07-06 19:17:11Z dufuz $ - * @link http://pear.php.net/package/PEAR - * @since File available since Release 1.4.0a1 - */ - -/** - * @category pear - * @package PEAR - * @author Greg Beaver - * @copyright 1997-2009 The Authors - * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.4 - * @link http://pear.php.net/package/PEAR - * @since Class available since Release 1.4.0a1 - */ -class PEAR_Installer_Role_Src extends PEAR_Installer_Role_Common -{ - function setup(&$installer, $pkg, $atts, $file) - { - $installer->source_files++; - } -} -?> \ No newline at end of file diff --git a/3rdparty/PEAR/Installer/Role/Src.xml b/3rdparty/PEAR/Installer/Role/Src.xml deleted file mode 100644 index 103483402f04d40d2630ffa2e46d866c039d806a..0000000000000000000000000000000000000000 --- a/3rdparty/PEAR/Installer/Role/Src.xml +++ /dev/null @@ -1,12 +0,0 @@ - - extsrc - zendextsrc - 1 - temp_dir - - - - - - - \ No newline at end of file diff --git a/3rdparty/PEAR/Installer/Role/Test.php b/3rdparty/PEAR/Installer/Role/Test.php deleted file mode 100644 index 14c0e60919239fa8d2716fd114d7e31dc4b140cf..0000000000000000000000000000000000000000 --- a/3rdparty/PEAR/Installer/Role/Test.php +++ /dev/null @@ -1,28 +0,0 @@ - - * @copyright 1997-2009 The Authors - * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: Test.php 313023 2011-07-06 19:17:11Z dufuz $ - * @link http://pear.php.net/package/PEAR - * @since File available since Release 1.4.0a1 - */ - -/** - * @category pear - * @package PEAR - * @author Greg Beaver - * @copyright 1997-2009 The Authors - * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.4 - * @link http://pear.php.net/package/PEAR - * @since Class available since Release 1.4.0a1 - */ -class PEAR_Installer_Role_Test extends PEAR_Installer_Role_Common {} -?> \ No newline at end of file diff --git a/3rdparty/PEAR/Installer/Role/Test.xml b/3rdparty/PEAR/Installer/Role/Test.xml deleted file mode 100644 index 51d5b894e07b695f5766bf10a7c70a8630eefa61..0000000000000000000000000000000000000000 --- a/3rdparty/PEAR/Installer/Role/Test.xml +++ /dev/null @@ -1,15 +0,0 @@ - - php - extsrc - extbin - zendextsrc - zendextbin - 1 - test_dir - - - - - - - \ No newline at end of file diff --git a/3rdparty/PEAR/Installer/Role/Www.php b/3rdparty/PEAR/Installer/Role/Www.php deleted file mode 100644 index 11adeff8295c4a0b7c843e0b163f7f66159d1d2f..0000000000000000000000000000000000000000 --- a/3rdparty/PEAR/Installer/Role/Www.php +++ /dev/null @@ -1,28 +0,0 @@ - - * @copyright 2007-2009 The Authors - * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: Www.php 313023 2011-07-06 19:17:11Z dufuz $ - * @link http://pear.php.net/package/PEAR - * @since File available since Release 1.7.0 - */ - -/** - * @category pear - * @package PEAR - * @author Greg Beaver - * @copyright 2007-2009 The Authors - * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.4 - * @link http://pear.php.net/package/PEAR - * @since Class available since Release 1.7.0 - */ -class PEAR_Installer_Role_Www extends PEAR_Installer_Role_Common {} -?> \ No newline at end of file diff --git a/3rdparty/PEAR/Installer/Role/Www.xml b/3rdparty/PEAR/Installer/Role/Www.xml deleted file mode 100644 index 7598be38892571d3eca2d32d24b5413377ad6099..0000000000000000000000000000000000000000 --- a/3rdparty/PEAR/Installer/Role/Www.xml +++ /dev/null @@ -1,15 +0,0 @@ - - php - extsrc - extbin - zendextsrc - zendextbin - 1 - www_dir - 1 - - - - - - \ No newline at end of file diff --git a/3rdparty/PEAR/PackageFile.php b/3rdparty/PEAR/PackageFile.php deleted file mode 100644 index 7ae3362844158c8650cb54d12f02b13d94d7db93..0000000000000000000000000000000000000000 --- a/3rdparty/PEAR/PackageFile.php +++ /dev/null @@ -1,492 +0,0 @@ - - * @copyright 1997-2009 The Authors - * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: PackageFile.php 313024 2011-07-06 19:51:24Z dufuz $ - * @link http://pear.php.net/package/PEAR - * @since File available since Release 1.4.0a1 - */ - -/** - * needed for PEAR_VALIDATE_* constants - */ -require_once 'PEAR/Validate.php'; -/** - * Error code if the package.xml tag does not contain a valid version - */ -define('PEAR_PACKAGEFILE_ERROR_NO_PACKAGEVERSION', 1); -/** - * Error code if the package.xml tag version is not supported (version 1.0 and 1.1 are the only supported versions, - * currently - */ -define('PEAR_PACKAGEFILE_ERROR_INVALID_PACKAGEVERSION', 2); -/** - * Abstraction for the package.xml package description file - * - * @category pear - * @package PEAR - * @author Greg Beaver - * @copyright 1997-2009 The Authors - * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.4 - * @link http://pear.php.net/package/PEAR - * @since Class available since Release 1.4.0a1 - */ -class PEAR_PackageFile -{ - /** - * @var PEAR_Config - */ - var $_config; - var $_debug; - - var $_logger = false; - /** - * @var boolean - */ - var $_rawReturn = false; - - /** - * helper for extracting Archive_Tar errors - * @var array - * @access private - */ - var $_extractErrors = array(); - - /** - * - * @param PEAR_Config $config - * @param ? $debug - * @param string @tmpdir Optional temporary directory for uncompressing - * files - */ - function PEAR_PackageFile(&$config, $debug = false) - { - $this->_config = $config; - $this->_debug = $debug; - } - - /** - * Turn off validation - return a parsed package.xml without checking it - * - * This is used by the package-validate command - */ - function rawReturn() - { - $this->_rawReturn = true; - } - - function setLogger(&$l) - { - $this->_logger = &$l; - } - - /** - * Create a PEAR_PackageFile_Parser_v* of a given version. - * @param int $version - * @return PEAR_PackageFile_Parser_v1|PEAR_PackageFile_Parser_v1 - */ - function &parserFactory($version) - { - if (!in_array($version{0}, array('1', '2'))) { - $a = false; - return $a; - } - - include_once 'PEAR/PackageFile/Parser/v' . $version{0} . '.php'; - $version = $version{0}; - $class = "PEAR_PackageFile_Parser_v$version"; - $a = new $class; - return $a; - } - - /** - * For simpler unit-testing - * @return string - */ - function getClassPrefix() - { - return 'PEAR_PackageFile_v'; - } - - /** - * Create a PEAR_PackageFile_v* of a given version. - * @param int $version - * @return PEAR_PackageFile_v1|PEAR_PackageFile_v1 - */ - function &factory($version) - { - if (!in_array($version{0}, array('1', '2'))) { - $a = false; - return $a; - } - - include_once 'PEAR/PackageFile/v' . $version{0} . '.php'; - $version = $version{0}; - $class = $this->getClassPrefix() . $version; - $a = new $class; - return $a; - } - - /** - * Create a PEAR_PackageFile_v* from its toArray() method - * - * WARNING: no validation is performed, the array is assumed to be valid, - * always parse from xml if you want validation. - * @param array $arr - * @return PEAR_PackageFileManager_v1|PEAR_PackageFileManager_v2 - * @uses factory() to construct the returned object. - */ - function &fromArray($arr) - { - if (isset($arr['xsdversion'])) { - $obj = &$this->factory($arr['xsdversion']); - if ($this->_logger) { - $obj->setLogger($this->_logger); - } - - $obj->setConfig($this->_config); - $obj->fromArray($arr); - return $obj; - } - - if (isset($arr['package']['attribs']['version'])) { - $obj = &$this->factory($arr['package']['attribs']['version']); - } else { - $obj = &$this->factory('1.0'); - } - - if ($this->_logger) { - $obj->setLogger($this->_logger); - } - - $obj->setConfig($this->_config); - $obj->fromArray($arr); - return $obj; - } - - /** - * Create a PEAR_PackageFile_v* from an XML string. - * @access public - * @param string $data contents of package.xml file - * @param int $state package state (one of PEAR_VALIDATE_* constants) - * @param string $file full path to the package.xml file (and the files - * it references) - * @param string $archive optional name of the archive that the XML was - * extracted from, if any - * @return PEAR_PackageFile_v1|PEAR_PackageFile_v2 - * @uses parserFactory() to construct a parser to load the package. - */ - function &fromXmlString($data, $state, $file, $archive = false) - { - if (preg_match('/]+version=[\'"]([0-9]+\.[0-9]+)[\'"]/', $data, $packageversion)) { - if (!in_array($packageversion[1], array('1.0', '2.0', '2.1'))) { - return PEAR::raiseError('package.xml version "' . $packageversion[1] . - '" is not supported, only 1.0, 2.0, and 2.1 are supported.'); - } - - $object = &$this->parserFactory($packageversion[1]); - if ($this->_logger) { - $object->setLogger($this->_logger); - } - - $object->setConfig($this->_config); - $pf = $object->parse($data, $file, $archive); - if (PEAR::isError($pf)) { - return $pf; - } - - if ($this->_rawReturn) { - return $pf; - } - - if (!$pf->validate($state)) {; - if ($this->_config->get('verbose') > 0 - && $this->_logger && $pf->getValidationWarnings(false) - ) { - foreach ($pf->getValidationWarnings(false) as $warning) { - $this->_logger->log(0, 'ERROR: ' . $warning['message']); - } - } - - $a = PEAR::raiseError('Parsing of package.xml from file "' . $file . '" failed', - 2, null, null, $pf->getValidationWarnings()); - return $a; - } - - if ($this->_logger && $pf->getValidationWarnings(false)) { - foreach ($pf->getValidationWarnings() as $warning) { - $this->_logger->log(0, 'WARNING: ' . $warning['message']); - } - } - - if (method_exists($pf, 'flattenFilelist')) { - $pf->flattenFilelist(); // for v2 - } - - return $pf; - } elseif (preg_match('/]+version=[\'"]([^"\']+)[\'"]/', $data, $packageversion)) { - $a = PEAR::raiseError('package.xml file "' . $file . - '" has unsupported package.xml version "' . $packageversion[1] . '"'); - return $a; - } else { - if (!class_exists('PEAR_ErrorStack')) { - require_once 'PEAR/ErrorStack.php'; - } - - PEAR_ErrorStack::staticPush('PEAR_PackageFile', - PEAR_PACKAGEFILE_ERROR_NO_PACKAGEVERSION, - 'warning', array('xml' => $data), 'package.xml "' . $file . - '" has no package.xml version'); - $object = &$this->parserFactory('1.0'); - $object->setConfig($this->_config); - $pf = $object->parse($data, $file, $archive); - if (PEAR::isError($pf)) { - return $pf; - } - - if ($this->_rawReturn) { - return $pf; - } - - if (!$pf->validate($state)) { - $a = PEAR::raiseError('Parsing of package.xml from file "' . $file . '" failed', - 2, null, null, $pf->getValidationWarnings()); - return $a; - } - - if ($this->_logger && $pf->getValidationWarnings(false)) { - foreach ($pf->getValidationWarnings() as $warning) { - $this->_logger->log(0, 'WARNING: ' . $warning['message']); - } - } - - if (method_exists($pf, 'flattenFilelist')) { - $pf->flattenFilelist(); // for v2 - } - - return $pf; - } - } - - /** - * Register a temporary file or directory. When the destructor is - * executed, all registered temporary files and directories are - * removed. - * - * @param string $file name of file or directory - * @return void - */ - function addTempFile($file) - { - $GLOBALS['_PEAR_Common_tempfiles'][] = $file; - } - - /** - * Create a PEAR_PackageFile_v* from a compresed Tar or Tgz file. - * @access public - * @param string contents of package.xml file - * @param int package state (one of PEAR_VALIDATE_* constants) - * @return PEAR_PackageFile_v1|PEAR_PackageFile_v2 - * @using Archive_Tar to extract the files - * @using fromPackageFile() to load the package after the package.xml - * file is extracted. - */ - function &fromTgzFile($file, $state) - { - if (!class_exists('Archive_Tar')) { - require_once 'Archive/Tar.php'; - } - - $tar = new Archive_Tar($file); - if ($this->_debug <= 1) { - $tar->pushErrorHandling(PEAR_ERROR_RETURN); - } - - $content = $tar->listContent(); - if ($this->_debug <= 1) { - $tar->popErrorHandling(); - } - - if (!is_array($content)) { - if (is_string($file) && strlen($file < 255) && - (!file_exists($file) || !@is_file($file))) { - $ret = PEAR::raiseError("could not open file \"$file\""); - return $ret; - } - - $file = realpath($file); - $ret = PEAR::raiseError("Could not get contents of package \"$file\"". - '. Invalid tgz file.'); - return $ret; - } - - if (!count($content) && !@is_file($file)) { - $ret = PEAR::raiseError("could not open file \"$file\""); - return $ret; - } - - $xml = null; - $origfile = $file; - foreach ($content as $file) { - $name = $file['filename']; - if ($name == 'package2.xml') { // allow a .tgz to distribute both versions - $xml = $name; - break; - } - - if ($name == 'package.xml') { - $xml = $name; - break; - } elseif (preg_match('/package.xml$/', $name, $match)) { - $xml = $name; - break; - } - } - - $tmpdir = System::mktemp('-t "' . $this->_config->get('temp_dir') . '" -d pear'); - if ($tmpdir === false) { - $ret = PEAR::raiseError("there was a problem with getting the configured temp directory"); - return $ret; - } - - PEAR_PackageFile::addTempFile($tmpdir); - - $this->_extractErrors(); - PEAR::staticPushErrorHandling(PEAR_ERROR_CALLBACK, array($this, '_extractErrors')); - - if (!$xml || !$tar->extractList(array($xml), $tmpdir)) { - $extra = implode("\n", $this->_extractErrors()); - if ($extra) { - $extra = ' ' . $extra; - } - - PEAR::staticPopErrorHandling(); - $ret = PEAR::raiseError('could not extract the package.xml file from "' . - $origfile . '"' . $extra); - return $ret; - } - - PEAR::staticPopErrorHandling(); - $ret = &PEAR_PackageFile::fromPackageFile("$tmpdir/$xml", $state, $origfile); - return $ret; - } - - /** - * helper callback for extracting Archive_Tar errors - * - * @param PEAR_Error|null $err - * @return array - * @access private - */ - function _extractErrors($err = null) - { - static $errors = array(); - if ($err === null) { - $e = $errors; - $errors = array(); - return $e; - } - $errors[] = $err->getMessage(); - } - - /** - * Create a PEAR_PackageFile_v* from a package.xml file. - * - * @access public - * @param string $descfile name of package xml file - * @param int $state package state (one of PEAR_VALIDATE_* constants) - * @param string|false $archive name of the archive this package.xml came - * from, if any - * @return PEAR_PackageFile_v1|PEAR_PackageFile_v2 - * @uses PEAR_PackageFile::fromXmlString to create the oject after the - * XML is loaded from the package.xml file. - */ - function &fromPackageFile($descfile, $state, $archive = false) - { - $fp = false; - if (is_string($descfile) && strlen($descfile) < 255 && - ( - !file_exists($descfile) || !is_file($descfile) || !is_readable($descfile) - || (!$fp = @fopen($descfile, 'r')) - ) - ) { - $a = PEAR::raiseError("Unable to open $descfile"); - return $a; - } - - // read the whole thing so we only get one cdata callback - // for each block of cdata - fclose($fp); - $data = file_get_contents($descfile); - $ret = &PEAR_PackageFile::fromXmlString($data, $state, $descfile, $archive); - return $ret; - } - - /** - * Create a PEAR_PackageFile_v* from a .tgz archive or package.xml file. - * - * This method is able to extract information about a package from a .tgz - * archive or from a XML package definition file. - * - * @access public - * @param string $info file name - * @param int $state package state (one of PEAR_VALIDATE_* constants) - * @return PEAR_PackageFile_v1|PEAR_PackageFile_v2 - * @uses fromPackageFile() if the file appears to be XML - * @uses fromTgzFile() to load all non-XML files - */ - function &fromAnyFile($info, $state) - { - if (is_dir($info)) { - $dir_name = realpath($info); - if (file_exists($dir_name . '/package.xml')) { - $info = PEAR_PackageFile::fromPackageFile($dir_name . '/package.xml', $state); - } elseif (file_exists($dir_name . '/package2.xml')) { - $info = PEAR_PackageFile::fromPackageFile($dir_name . '/package2.xml', $state); - } else { - $info = PEAR::raiseError("No package definition found in '$info' directory"); - } - - return $info; - } - - $fp = false; - if (is_string($info) && strlen($info) < 255 && - (file_exists($info) || ($fp = @fopen($info, 'r'))) - ) { - - if ($fp) { - fclose($fp); - } - - $tmp = substr($info, -4); - if ($tmp == '.xml') { - $info = &PEAR_PackageFile::fromPackageFile($info, $state); - } elseif ($tmp == '.tar' || $tmp == '.tgz') { - $info = &PEAR_PackageFile::fromTgzFile($info, $state); - } else { - $fp = fopen($info, 'r'); - $test = fread($fp, 5); - fclose($fp); - if ($test == ' - * @copyright 1997-2009 The Authors - * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: v1.php 313023 2011-07-06 19:17:11Z dufuz $ - * @link http://pear.php.net/package/PEAR - * @since File available since Release 1.4.0a1 - */ -/** - * needed for PEAR_VALIDATE_* constants - */ -require_once 'PEAR/Validate.php'; -require_once 'System.php'; -require_once 'PEAR/PackageFile/v2.php'; -/** - * This class converts a PEAR_PackageFile_v1 object into any output format. - * - * Supported output formats include array, XML string, and a PEAR_PackageFile_v2 - * object, for converting package.xml 1.0 into package.xml 2.0 with no sweat. - * @category pear - * @package PEAR - * @author Greg Beaver - * @copyright 1997-2009 The Authors - * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.4 - * @link http://pear.php.net/package/PEAR - * @since Class available since Release 1.4.0a1 - */ -class PEAR_PackageFile_Generator_v1 -{ - /** - * @var PEAR_PackageFile_v1 - */ - var $_packagefile; - function PEAR_PackageFile_Generator_v1(&$packagefile) - { - $this->_packagefile = &$packagefile; - } - - function getPackagerVersion() - { - return '1.9.4'; - } - - /** - * @param PEAR_Packager - * @param bool if true, a .tgz is written, otherwise a .tar is written - * @param string|null directory in which to save the .tgz - * @return string|PEAR_Error location of package or error object - */ - function toTgz(&$packager, $compress = true, $where = null) - { - require_once 'Archive/Tar.php'; - if ($where === null) { - if (!($where = System::mktemp(array('-d')))) { - return PEAR::raiseError('PEAR_Packagefile_v1::toTgz: mktemp failed'); - } - } elseif (!@System::mkDir(array('-p', $where))) { - return PEAR::raiseError('PEAR_Packagefile_v1::toTgz: "' . $where . '" could' . - ' not be created'); - } - if (file_exists($where . DIRECTORY_SEPARATOR . 'package.xml') && - !is_file($where . DIRECTORY_SEPARATOR . 'package.xml')) { - return PEAR::raiseError('PEAR_Packagefile_v1::toTgz: unable to save package.xml as' . - ' "' . $where . DIRECTORY_SEPARATOR . 'package.xml"'); - } - if (!$this->_packagefile->validate(PEAR_VALIDATE_PACKAGING)) { - return PEAR::raiseError('PEAR_Packagefile_v1::toTgz: invalid package file'); - } - $pkginfo = $this->_packagefile->getArray(); - $ext = $compress ? '.tgz' : '.tar'; - $pkgver = $pkginfo['package'] . '-' . $pkginfo['version']; - $dest_package = getcwd() . DIRECTORY_SEPARATOR . $pkgver . $ext; - if (file_exists(getcwd() . DIRECTORY_SEPARATOR . $pkgver . $ext) && - !is_file(getcwd() . DIRECTORY_SEPARATOR . $pkgver . $ext)) { - return PEAR::raiseError('PEAR_Packagefile_v1::toTgz: cannot create tgz file "' . - getcwd() . DIRECTORY_SEPARATOR . $pkgver . $ext . '"'); - } - if ($pkgfile = $this->_packagefile->getPackageFile()) { - $pkgdir = dirname(realpath($pkgfile)); - $pkgfile = basename($pkgfile); - } else { - return PEAR::raiseError('PEAR_Packagefile_v1::toTgz: package file object must ' . - 'be created from a real file'); - } - // {{{ Create the package file list - $filelist = array(); - $i = 0; - - foreach ($this->_packagefile->getFilelist() as $fname => $atts) { - $file = $pkgdir . DIRECTORY_SEPARATOR . $fname; - if (!file_exists($file)) { - return PEAR::raiseError("File does not exist: $fname"); - } else { - $filelist[$i++] = $file; - if (!isset($atts['md5sum'])) { - $this->_packagefile->setFileAttribute($fname, 'md5sum', md5_file($file)); - } - $packager->log(2, "Adding file $fname"); - } - } - // }}} - $packagexml = $this->toPackageFile($where, PEAR_VALIDATE_PACKAGING, 'package.xml', true); - if ($packagexml) { - $tar = new Archive_Tar($dest_package, $compress); - $tar->setErrorHandling(PEAR_ERROR_RETURN); // XXX Don't print errors - // ----- Creates with the package.xml file - $ok = $tar->createModify(array($packagexml), '', $where); - if (PEAR::isError($ok)) { - return $ok; - } elseif (!$ok) { - return PEAR::raiseError('PEAR_Packagefile_v1::toTgz: tarball creation failed'); - } - // ----- Add the content of the package - if (!$tar->addModify($filelist, $pkgver, $pkgdir)) { - return PEAR::raiseError('PEAR_Packagefile_v1::toTgz: tarball creation failed'); - } - return $dest_package; - } - } - - /** - * @param string|null directory to place the package.xml in, or null for a temporary dir - * @param int one of the PEAR_VALIDATE_* constants - * @param string name of the generated file - * @param bool if true, then no analysis will be performed on role="php" files - * @return string|PEAR_Error path to the created file on success - */ - function toPackageFile($where = null, $state = PEAR_VALIDATE_NORMAL, $name = 'package.xml', - $nofilechecking = false) - { - if (!$this->_packagefile->validate($state, $nofilechecking)) { - return PEAR::raiseError('PEAR_Packagefile_v1::toPackageFile: invalid package.xml', - null, null, null, $this->_packagefile->getValidationWarnings()); - } - if ($where === null) { - if (!($where = System::mktemp(array('-d')))) { - return PEAR::raiseError('PEAR_Packagefile_v1::toPackageFile: mktemp failed'); - } - } elseif (!@System::mkDir(array('-p', $where))) { - return PEAR::raiseError('PEAR_Packagefile_v1::toPackageFile: "' . $where . '" could' . - ' not be created'); - } - $newpkgfile = $where . DIRECTORY_SEPARATOR . $name; - $np = @fopen($newpkgfile, 'wb'); - if (!$np) { - return PEAR::raiseError('PEAR_Packagefile_v1::toPackageFile: unable to save ' . - "$name as $newpkgfile"); - } - fwrite($np, $this->toXml($state, true)); - fclose($np); - return $newpkgfile; - } - - /** - * fix both XML encoding to be UTF8, and replace standard XML entities < > " & ' - * - * @param string $string - * @return string - * @access private - */ - function _fixXmlEncoding($string) - { - if (version_compare(phpversion(), '5.0.0', 'lt')) { - $string = utf8_encode($string); - } - return strtr($string, array( - '&' => '&', - '>' => '>', - '<' => '<', - '"' => '"', - '\'' => ''' )); - } - - /** - * Return an XML document based on the package info (as returned - * by the PEAR_Common::infoFrom* methods). - * - * @return string XML data - */ - function toXml($state = PEAR_VALIDATE_NORMAL, $nofilevalidation = false) - { - $this->_packagefile->setDate(date('Y-m-d')); - if (!$this->_packagefile->validate($state, $nofilevalidation)) { - return false; - } - $pkginfo = $this->_packagefile->getArray(); - static $maint_map = array( - "handle" => "user", - "name" => "name", - "email" => "email", - "role" => "role", - ); - $ret = "\n"; - $ret .= "\n"; - $ret .= "\n" . -" $pkginfo[package]"; - if (isset($pkginfo['extends'])) { - $ret .= "\n$pkginfo[extends]"; - } - $ret .= - "\n ".$this->_fixXmlEncoding($pkginfo['summary'])."\n" . -" ".trim($this->_fixXmlEncoding($pkginfo['description']))."\n \n" . -" \n"; - foreach ($pkginfo['maintainers'] as $maint) { - $ret .= " \n"; - foreach ($maint_map as $idx => $elm) { - $ret .= " <$elm>"; - $ret .= $this->_fixXmlEncoding($maint[$idx]); - $ret .= "\n"; - } - $ret .= " \n"; - } - $ret .= " \n"; - $ret .= $this->_makeReleaseXml($pkginfo, false, $state); - if (isset($pkginfo['changelog']) && count($pkginfo['changelog']) > 0) { - $ret .= " \n"; - foreach ($pkginfo['changelog'] as $oldrelease) { - $ret .= $this->_makeReleaseXml($oldrelease, true); - } - $ret .= " \n"; - } - $ret .= "\n"; - return $ret; - } - - // }}} - // {{{ _makeReleaseXml() - - /** - * Generate part of an XML description with release information. - * - * @param array $pkginfo array with release information - * @param bool $changelog whether the result will be in a changelog element - * - * @return string XML data - * - * @access private - */ - function _makeReleaseXml($pkginfo, $changelog = false, $state = PEAR_VALIDATE_NORMAL) - { - // XXX QUOTE ENTITIES IN PCDATA, OR EMBED IN CDATA BLOCKS!! - $indent = $changelog ? " " : ""; - $ret = "$indent \n"; - if (!empty($pkginfo['version'])) { - $ret .= "$indent $pkginfo[version]\n"; - } - if (!empty($pkginfo['release_date'])) { - $ret .= "$indent $pkginfo[release_date]\n"; - } - if (!empty($pkginfo['release_license'])) { - $ret .= "$indent $pkginfo[release_license]\n"; - } - if (!empty($pkginfo['release_state'])) { - $ret .= "$indent $pkginfo[release_state]\n"; - } - if (!empty($pkginfo['release_notes'])) { - $ret .= "$indent ".trim($this->_fixXmlEncoding($pkginfo['release_notes'])) - ."\n$indent \n"; - } - if (!empty($pkginfo['release_warnings'])) { - $ret .= "$indent ".$this->_fixXmlEncoding($pkginfo['release_warnings'])."\n"; - } - if (isset($pkginfo['release_deps']) && sizeof($pkginfo['release_deps']) > 0) { - $ret .= "$indent \n"; - foreach ($pkginfo['release_deps'] as $dep) { - $ret .= "$indent _fixXmlEncoding($c['name']) . "\""; - if (isset($c['default'])) { - $ret .= " default=\"" . $this->_fixXmlEncoding($c['default']) . "\""; - } - $ret .= " prompt=\"" . $this->_fixXmlEncoding($c['prompt']) . "\""; - $ret .= "/>\n"; - } - $ret .= "$indent \n"; - } - if (isset($pkginfo['provides'])) { - foreach ($pkginfo['provides'] as $key => $what) { - $ret .= "$indent recursiveXmlFilelist($pkginfo['filelist']); - } else { - foreach ($pkginfo['filelist'] as $file => $fa) { - if (!isset($fa['role'])) { - $fa['role'] = ''; - } - $ret .= "$indent _fixXmlEncoding($fa['baseinstalldir']) . '"'; - } - if (isset($fa['md5sum'])) { - $ret .= " md5sum=\"$fa[md5sum]\""; - } - if (isset($fa['platform'])) { - $ret .= " platform=\"$fa[platform]\""; - } - if (!empty($fa['install-as'])) { - $ret .= ' install-as="' . - $this->_fixXmlEncoding($fa['install-as']) . '"'; - } - $ret .= ' name="' . $this->_fixXmlEncoding($file) . '"'; - if (empty($fa['replacements'])) { - $ret .= "/>\n"; - } else { - $ret .= ">\n"; - foreach ($fa['replacements'] as $r) { - $ret .= "$indent $v) { - $ret .= " $k=\"" . $this->_fixXmlEncoding($v) .'"'; - } - $ret .= "/>\n"; - } - $ret .= "$indent \n"; - } - } - } - $ret .= "$indent \n"; - } - $ret .= "$indent \n"; - return $ret; - } - - /** - * @param array - * @access protected - */ - function recursiveXmlFilelist($list) - { - $this->_dirs = array(); - foreach ($list as $file => $attributes) { - $this->_addDir($this->_dirs, explode('/', dirname($file)), $file, $attributes); - } - return $this->_formatDir($this->_dirs); - } - - /** - * @param array - * @param array - * @param string|null - * @param array|null - * @access private - */ - function _addDir(&$dirs, $dir, $file = null, $attributes = null) - { - if ($dir == array() || $dir == array('.')) { - $dirs['files'][basename($file)] = $attributes; - return; - } - $curdir = array_shift($dir); - if (!isset($dirs['dirs'][$curdir])) { - $dirs['dirs'][$curdir] = array(); - } - $this->_addDir($dirs['dirs'][$curdir], $dir, $file, $attributes); - } - - /** - * @param array - * @param string - * @param string - * @access private - */ - function _formatDir($dirs, $indent = '', $curdir = '') - { - $ret = ''; - if (!count($dirs)) { - return ''; - } - if (isset($dirs['dirs'])) { - uksort($dirs['dirs'], 'strnatcasecmp'); - foreach ($dirs['dirs'] as $dir => $contents) { - $usedir = "$curdir/$dir"; - $ret .= "$indent \n"; - $ret .= $this->_formatDir($contents, "$indent ", $usedir); - $ret .= "$indent \n"; - } - } - if (isset($dirs['files'])) { - uksort($dirs['files'], 'strnatcasecmp'); - foreach ($dirs['files'] as $file => $attribs) { - $ret .= $this->_formatFile($file, $attribs, $indent); - } - } - return $ret; - } - - /** - * @param string - * @param array - * @param string - * @access private - */ - function _formatFile($file, $attributes, $indent) - { - $ret = "$indent _fixXmlEncoding($attributes['baseinstalldir']) . '"'; - } - if (isset($attributes['md5sum'])) { - $ret .= " md5sum=\"$attributes[md5sum]\""; - } - if (isset($attributes['platform'])) { - $ret .= " platform=\"$attributes[platform]\""; - } - if (!empty($attributes['install-as'])) { - $ret .= ' install-as="' . - $this->_fixXmlEncoding($attributes['install-as']) . '"'; - } - $ret .= ' name="' . $this->_fixXmlEncoding($file) . '"'; - if (empty($attributes['replacements'])) { - $ret .= "/>\n"; - } else { - $ret .= ">\n"; - foreach ($attributes['replacements'] as $r) { - $ret .= "$indent $v) { - $ret .= " $k=\"" . $this->_fixXmlEncoding($v) .'"'; - } - $ret .= "/>\n"; - } - $ret .= "$indent \n"; - } - return $ret; - } - - // {{{ _unIndent() - - /** - * Unindent given string (?) - * - * @param string $str The string that has to be unindented. - * @return string - * @access private - */ - function _unIndent($str) - { - // remove leading newlines - $str = preg_replace('/^[\r\n]+/', '', $str); - // find whitespace at the beginning of the first line - $indent_len = strspn($str, " \t"); - $indent = substr($str, 0, $indent_len); - $data = ''; - // remove the same amount of whitespace from following lines - foreach (explode("\n", $str) as $line) { - if (substr($line, 0, $indent_len) == $indent) { - $data .= substr($line, $indent_len) . "\n"; - } - } - return $data; - } - - /** - * @return array - */ - function dependenciesToV2() - { - $arr = array(); - $this->_convertDependencies2_0($arr); - return $arr['dependencies']; - } - - /** - * Convert a package.xml version 1.0 into version 2.0 - * - * Note that this does a basic conversion, to allow more advanced - * features like bundles and multiple releases - * @param string the classname to instantiate and return. This must be - * PEAR_PackageFile_v2 or a descendant - * @param boolean if true, only valid, deterministic package.xml 1.0 as defined by the - * strictest parameters will be converted - * @return PEAR_PackageFile_v2|PEAR_Error - */ - function &toV2($class = 'PEAR_PackageFile_v2', $strict = false) - { - if ($strict) { - if (!$this->_packagefile->validate()) { - $a = PEAR::raiseError('invalid package.xml version 1.0 cannot be converted' . - ' to version 2.0', null, null, null, - $this->_packagefile->getValidationWarnings(true)); - return $a; - } - } - - $arr = array( - 'attribs' => array( - 'version' => '2.0', - 'xmlns' => 'http://pear.php.net/dtd/package-2.0', - 'xmlns:tasks' => 'http://pear.php.net/dtd/tasks-1.0', - 'xmlns:xsi' => 'http://www.w3.org/2001/XMLSchema-instance', - 'xsi:schemaLocation' => "http://pear.php.net/dtd/tasks-1.0\n" . -"http://pear.php.net/dtd/tasks-1.0.xsd\n" . -"http://pear.php.net/dtd/package-2.0\n" . -'http://pear.php.net/dtd/package-2.0.xsd', - ), - 'name' => $this->_packagefile->getPackage(), - 'channel' => 'pear.php.net', - ); - $arr['summary'] = $this->_packagefile->getSummary(); - $arr['description'] = $this->_packagefile->getDescription(); - $maintainers = $this->_packagefile->getMaintainers(); - foreach ($maintainers as $maintainer) { - if ($maintainer['role'] != 'lead') { - continue; - } - $new = array( - 'name' => $maintainer['name'], - 'user' => $maintainer['handle'], - 'email' => $maintainer['email'], - 'active' => 'yes', - ); - $arr['lead'][] = $new; - } - - if (!isset($arr['lead'])) { // some people... you know? - $arr['lead'] = array( - 'name' => 'unknown', - 'user' => 'unknown', - 'email' => 'noleadmaintainer@example.com', - 'active' => 'no', - ); - } - - if (count($arr['lead']) == 1) { - $arr['lead'] = $arr['lead'][0]; - } - - foreach ($maintainers as $maintainer) { - if ($maintainer['role'] == 'lead') { - continue; - } - $new = array( - 'name' => $maintainer['name'], - 'user' => $maintainer['handle'], - 'email' => $maintainer['email'], - 'active' => 'yes', - ); - $arr[$maintainer['role']][] = $new; - } - - if (isset($arr['developer']) && count($arr['developer']) == 1) { - $arr['developer'] = $arr['developer'][0]; - } - - if (isset($arr['contributor']) && count($arr['contributor']) == 1) { - $arr['contributor'] = $arr['contributor'][0]; - } - - if (isset($arr['helper']) && count($arr['helper']) == 1) { - $arr['helper'] = $arr['helper'][0]; - } - - $arr['date'] = $this->_packagefile->getDate(); - $arr['version'] = - array( - 'release' => $this->_packagefile->getVersion(), - 'api' => $this->_packagefile->getVersion(), - ); - $arr['stability'] = - array( - 'release' => $this->_packagefile->getState(), - 'api' => $this->_packagefile->getState(), - ); - $licensemap = - array( - 'php' => 'http://www.php.net/license', - 'php license' => 'http://www.php.net/license', - 'lgpl' => 'http://www.gnu.org/copyleft/lesser.html', - 'bsd' => 'http://www.opensource.org/licenses/bsd-license.php', - 'bsd style' => 'http://www.opensource.org/licenses/bsd-license.php', - 'bsd-style' => 'http://www.opensource.org/licenses/bsd-license.php', - 'mit' => 'http://www.opensource.org/licenses/mit-license.php', - 'gpl' => 'http://www.gnu.org/copyleft/gpl.html', - 'apache' => 'http://www.opensource.org/licenses/apache2.0.php' - ); - - if (isset($licensemap[strtolower($this->_packagefile->getLicense())])) { - $arr['license'] = array( - 'attribs' => array('uri' => - $licensemap[strtolower($this->_packagefile->getLicense())]), - '_content' => $this->_packagefile->getLicense() - ); - } else { - // don't use bogus uri - $arr['license'] = $this->_packagefile->getLicense(); - } - - $arr['notes'] = $this->_packagefile->getNotes(); - $temp = array(); - $arr['contents'] = $this->_convertFilelist2_0($temp); - $this->_convertDependencies2_0($arr); - $release = ($this->_packagefile->getConfigureOptions() || $this->_isExtension) ? - 'extsrcrelease' : 'phprelease'; - if ($release == 'extsrcrelease') { - $arr['channel'] = 'pecl.php.net'; - $arr['providesextension'] = $arr['name']; // assumption - } - - $arr[$release] = array(); - if ($this->_packagefile->getConfigureOptions()) { - $arr[$release]['configureoption'] = $this->_packagefile->getConfigureOptions(); - foreach ($arr[$release]['configureoption'] as $i => $opt) { - $arr[$release]['configureoption'][$i] = array('attribs' => $opt); - } - if (count($arr[$release]['configureoption']) == 1) { - $arr[$release]['configureoption'] = $arr[$release]['configureoption'][0]; - } - } - - $this->_convertRelease2_0($arr[$release], $temp); - if ($release == 'extsrcrelease' && count($arr[$release]) > 1) { - // multiple extsrcrelease tags added in PEAR 1.4.1 - $arr['dependencies']['required']['pearinstaller']['min'] = '1.4.1'; - } - - if ($cl = $this->_packagefile->getChangelog()) { - foreach ($cl as $release) { - $rel = array(); - $rel['version'] = - array( - 'release' => $release['version'], - 'api' => $release['version'], - ); - if (!isset($release['release_state'])) { - $release['release_state'] = 'stable'; - } - - $rel['stability'] = - array( - 'release' => $release['release_state'], - 'api' => $release['release_state'], - ); - if (isset($release['release_date'])) { - $rel['date'] = $release['release_date']; - } else { - $rel['date'] = date('Y-m-d'); - } - - if (isset($release['release_license'])) { - if (isset($licensemap[strtolower($release['release_license'])])) { - $uri = $licensemap[strtolower($release['release_license'])]; - } else { - $uri = 'http://www.example.com'; - } - $rel['license'] = array( - 'attribs' => array('uri' => $uri), - '_content' => $release['release_license'] - ); - } else { - $rel['license'] = $arr['license']; - } - - if (!isset($release['release_notes'])) { - $release['release_notes'] = 'no release notes'; - } - - $rel['notes'] = $release['release_notes']; - $arr['changelog']['release'][] = $rel; - } - } - - $ret = new $class; - $ret->setConfig($this->_packagefile->_config); - if (isset($this->_packagefile->_logger) && is_object($this->_packagefile->_logger)) { - $ret->setLogger($this->_packagefile->_logger); - } - - $ret->fromArray($arr); - return $ret; - } - - /** - * @param array - * @param bool - * @access private - */ - function _convertDependencies2_0(&$release, $internal = false) - { - $peardep = array('pearinstaller' => - array('min' => '1.4.0b1')); // this is a lot safer - $required = $optional = array(); - $release['dependencies'] = array('required' => array()); - if ($this->_packagefile->hasDeps()) { - foreach ($this->_packagefile->getDeps() as $dep) { - if (!isset($dep['optional']) || $dep['optional'] == 'no') { - $required[] = $dep; - } else { - $optional[] = $dep; - } - } - foreach (array('required', 'optional') as $arr) { - $deps = array(); - foreach ($$arr as $dep) { - // organize deps by dependency type and name - if (!isset($deps[$dep['type']])) { - $deps[$dep['type']] = array(); - } - if (isset($dep['name'])) { - $deps[$dep['type']][$dep['name']][] = $dep; - } else { - $deps[$dep['type']][] = $dep; - } - } - do { - if (isset($deps['php'])) { - $php = array(); - if (count($deps['php']) > 1) { - $php = $this->_processPhpDeps($deps['php']); - } else { - if (!isset($deps['php'][0])) { - list($key, $blah) = each ($deps['php']); // stupid buggy versions - $deps['php'] = array($blah[0]); - } - $php = $this->_processDep($deps['php'][0]); - if (!$php) { - break; // poor mans throw - } - } - $release['dependencies'][$arr]['php'] = $php; - } - } while (false); - do { - if (isset($deps['pkg'])) { - $pkg = array(); - $pkg = $this->_processMultipleDepsName($deps['pkg']); - if (!$pkg) { - break; // poor mans throw - } - $release['dependencies'][$arr]['package'] = $pkg; - } - } while (false); - do { - if (isset($deps['ext'])) { - $pkg = array(); - $pkg = $this->_processMultipleDepsName($deps['ext']); - $release['dependencies'][$arr]['extension'] = $pkg; - } - } while (false); - // skip sapi - it's not supported so nobody will have used it - // skip os - it's not supported in 1.0 - } - } - if (isset($release['dependencies']['required'])) { - $release['dependencies']['required'] = - array_merge($peardep, $release['dependencies']['required']); - } else { - $release['dependencies']['required'] = $peardep; - } - if (!isset($release['dependencies']['required']['php'])) { - $release['dependencies']['required']['php'] = - array('min' => '4.0.0'); - } - $order = array(); - $bewm = $release['dependencies']['required']; - $order['php'] = $bewm['php']; - $order['pearinstaller'] = $bewm['pearinstaller']; - isset($bewm['package']) ? $order['package'] = $bewm['package'] :0; - isset($bewm['extension']) ? $order['extension'] = $bewm['extension'] :0; - $release['dependencies']['required'] = $order; - } - - /** - * @param array - * @access private - */ - function _convertFilelist2_0(&$package) - { - $ret = array('dir' => - array( - 'attribs' => array('name' => '/'), - 'file' => array() - ) - ); - $package['platform'] = - $package['install-as'] = array(); - $this->_isExtension = false; - foreach ($this->_packagefile->getFilelist() as $name => $file) { - $file['name'] = $name; - if (isset($file['role']) && $file['role'] == 'src') { - $this->_isExtension = true; - } - if (isset($file['replacements'])) { - $repl = $file['replacements']; - unset($file['replacements']); - } else { - unset($repl); - } - if (isset($file['install-as'])) { - $package['install-as'][$name] = $file['install-as']; - unset($file['install-as']); - } - if (isset($file['platform'])) { - $package['platform'][$name] = $file['platform']; - unset($file['platform']); - } - $file = array('attribs' => $file); - if (isset($repl)) { - foreach ($repl as $replace ) { - $file['tasks:replace'][] = array('attribs' => $replace); - } - if (count($repl) == 1) { - $file['tasks:replace'] = $file['tasks:replace'][0]; - } - } - $ret['dir']['file'][] = $file; - } - return $ret; - } - - /** - * Post-process special files with install-as/platform attributes and - * make the release tag. - * - * This complex method follows this work-flow to create the release tags: - * - *
-     * - if any install-as/platform exist, create a generic release and fill it with
-     *   o  tags for 
-     *   o  tags for 
-     *   o  tags for 
-     *   o  tags for 
-     * - create a release for each platform encountered and fill with
-     *   o  tags for 
-     *   o  tags for 
-     *   o  tags for 
-     *   o  tags for 
-     *   o  tags for 
-     *   o  tags for 
-     *   o  tags for 
-     * 
- * - * It does this by accessing the $package parameter, which contains an array with - * indices: - * - * - platform: mapping of file => OS the file should be installed on - * - install-as: mapping of file => installed name - * - osmap: mapping of OS => list of files that should be installed - * on that OS - * - notosmap: mapping of OS => list of files that should not be - * installed on that OS - * - * @param array - * @param array - * @access private - */ - function _convertRelease2_0(&$release, $package) - { - //- if any install-as/platform exist, create a generic release and fill it with - if (count($package['platform']) || count($package['install-as'])) { - $generic = array(); - $genericIgnore = array(); - foreach ($package['install-as'] as $file => $as) { - //o tags for - if (!isset($package['platform'][$file])) { - $generic[] = $file; - continue; - } - //o tags for - if (isset($package['platform'][$file]) && - $package['platform'][$file]{0} == '!') { - $generic[] = $file; - continue; - } - //o tags for - if (isset($package['platform'][$file]) && - $package['platform'][$file]{0} != '!') { - $genericIgnore[] = $file; - continue; - } - } - foreach ($package['platform'] as $file => $platform) { - if (isset($package['install-as'][$file])) { - continue; - } - if ($platform{0} != '!') { - //o tags for - $genericIgnore[] = $file; - } - } - if (count($package['platform'])) { - $oses = $notplatform = $platform = array(); - foreach ($package['platform'] as $file => $os) { - // get a list of oses - if ($os{0} == '!') { - if (isset($oses[substr($os, 1)])) { - continue; - } - $oses[substr($os, 1)] = count($oses); - } else { - if (isset($oses[$os])) { - continue; - } - $oses[$os] = count($oses); - } - } - //- create a release for each platform encountered and fill with - foreach ($oses as $os => $releaseNum) { - $release[$releaseNum]['installconditions']['os']['name'] = $os; - $release[$releaseNum]['filelist'] = array('install' => array(), - 'ignore' => array()); - foreach ($package['install-as'] as $file => $as) { - //o tags for - if (!isset($package['platform'][$file])) { - $release[$releaseNum]['filelist']['install'][] = - array( - 'attribs' => array( - 'name' => $file, - 'as' => $as, - ), - ); - continue; - } - //o tags for - // - if (isset($package['platform'][$file]) && - $package['platform'][$file] == $os) { - $release[$releaseNum]['filelist']['install'][] = - array( - 'attribs' => array( - 'name' => $file, - 'as' => $as, - ), - ); - continue; - } - //o tags for - // - if (isset($package['platform'][$file]) && - $package['platform'][$file] != "!$os" && - $package['platform'][$file]{0} == '!') { - $release[$releaseNum]['filelist']['install'][] = - array( - 'attribs' => array( - 'name' => $file, - 'as' => $as, - ), - ); - continue; - } - //o tags for - // - if (isset($package['platform'][$file]) && - $package['platform'][$file] == "!$os") { - $release[$releaseNum]['filelist']['ignore'][] = - array( - 'attribs' => array( - 'name' => $file, - ), - ); - continue; - } - //o tags for - // - if (isset($package['platform'][$file]) && - $package['platform'][$file]{0} != '!' && - $package['platform'][$file] != $os) { - $release[$releaseNum]['filelist']['ignore'][] = - array( - 'attribs' => array( - 'name' => $file, - ), - ); - continue; - } - } - foreach ($package['platform'] as $file => $platform) { - if (isset($package['install-as'][$file])) { - continue; - } - //o tags for - if ($platform == "!$os") { - $release[$releaseNum]['filelist']['ignore'][] = - array( - 'attribs' => array( - 'name' => $file, - ), - ); - continue; - } - //o tags for - if ($platform{0} != '!' && $platform != $os) { - $release[$releaseNum]['filelist']['ignore'][] = - array( - 'attribs' => array( - 'name' => $file, - ), - ); - } - } - if (!count($release[$releaseNum]['filelist']['install'])) { - unset($release[$releaseNum]['filelist']['install']); - } - if (!count($release[$releaseNum]['filelist']['ignore'])) { - unset($release[$releaseNum]['filelist']['ignore']); - } - } - if (count($generic) || count($genericIgnore)) { - $release[count($oses)] = array(); - if (count($generic)) { - foreach ($generic as $file) { - if (isset($package['install-as'][$file])) { - $installas = $package['install-as'][$file]; - } else { - $installas = $file; - } - $release[count($oses)]['filelist']['install'][] = - array( - 'attribs' => array( - 'name' => $file, - 'as' => $installas, - ) - ); - } - } - if (count($genericIgnore)) { - foreach ($genericIgnore as $file) { - $release[count($oses)]['filelist']['ignore'][] = - array( - 'attribs' => array( - 'name' => $file, - ) - ); - } - } - } - // cleanup - foreach ($release as $i => $rel) { - if (isset($rel['filelist']['install']) && - count($rel['filelist']['install']) == 1) { - $release[$i]['filelist']['install'] = - $release[$i]['filelist']['install'][0]; - } - if (isset($rel['filelist']['ignore']) && - count($rel['filelist']['ignore']) == 1) { - $release[$i]['filelist']['ignore'] = - $release[$i]['filelist']['ignore'][0]; - } - } - if (count($release) == 1) { - $release = $release[0]; - } - } else { - // no platform atts, but some install-as atts - foreach ($package['install-as'] as $file => $value) { - $release['filelist']['install'][] = - array( - 'attribs' => array( - 'name' => $file, - 'as' => $value - ) - ); - } - if (count($release['filelist']['install']) == 1) { - $release['filelist']['install'] = $release['filelist']['install'][0]; - } - } - } - } - - /** - * @param array - * @return array - * @access private - */ - function _processDep($dep) - { - if ($dep['type'] == 'php') { - if ($dep['rel'] == 'has') { - // come on - everyone has php! - return false; - } - } - $php = array(); - if ($dep['type'] != 'php') { - $php['name'] = $dep['name']; - if ($dep['type'] == 'pkg') { - $php['channel'] = 'pear.php.net'; - } - } - switch ($dep['rel']) { - case 'gt' : - $php['min'] = $dep['version']; - $php['exclude'] = $dep['version']; - break; - case 'ge' : - if (!isset($dep['version'])) { - if ($dep['type'] == 'php') { - if (isset($dep['name'])) { - $dep['version'] = $dep['name']; - } - } - } - $php['min'] = $dep['version']; - break; - case 'lt' : - $php['max'] = $dep['version']; - $php['exclude'] = $dep['version']; - break; - case 'le' : - $php['max'] = $dep['version']; - break; - case 'eq' : - $php['min'] = $dep['version']; - $php['max'] = $dep['version']; - break; - case 'ne' : - $php['exclude'] = $dep['version']; - break; - case 'not' : - $php['conflicts'] = 'yes'; - break; - } - return $php; - } - - /** - * @param array - * @return array - */ - function _processPhpDeps($deps) - { - $test = array(); - foreach ($deps as $dep) { - $test[] = $this->_processDep($dep); - } - $min = array(); - $max = array(); - foreach ($test as $dep) { - if (!$dep) { - continue; - } - if (isset($dep['min'])) { - $min[$dep['min']] = count($min); - } - if (isset($dep['max'])) { - $max[$dep['max']] = count($max); - } - } - if (count($min) > 0) { - uksort($min, 'version_compare'); - } - if (count($max) > 0) { - uksort($max, 'version_compare'); - } - if (count($min)) { - // get the highest minimum - $min = array_pop($a = array_flip($min)); - } else { - $min = false; - } - if (count($max)) { - // get the lowest maximum - $max = array_shift($a = array_flip($max)); - } else { - $max = false; - } - if ($min) { - $php['min'] = $min; - } - if ($max) { - $php['max'] = $max; - } - $exclude = array(); - foreach ($test as $dep) { - if (!isset($dep['exclude'])) { - continue; - } - $exclude[] = $dep['exclude']; - } - if (count($exclude)) { - $php['exclude'] = $exclude; - } - return $php; - } - - /** - * process multiple dependencies that have a name, like package deps - * @param array - * @return array - * @access private - */ - function _processMultipleDepsName($deps) - { - $ret = $tests = array(); - foreach ($deps as $name => $dep) { - foreach ($dep as $d) { - $tests[$name][] = $this->_processDep($d); - } - } - - foreach ($tests as $name => $test) { - $max = $min = $php = array(); - $php['name'] = $name; - foreach ($test as $dep) { - if (!$dep) { - continue; - } - if (isset($dep['channel'])) { - $php['channel'] = 'pear.php.net'; - } - if (isset($dep['conflicts']) && $dep['conflicts'] == 'yes') { - $php['conflicts'] = 'yes'; - } - if (isset($dep['min'])) { - $min[$dep['min']] = count($min); - } - if (isset($dep['max'])) { - $max[$dep['max']] = count($max); - } - } - if (count($min) > 0) { - uksort($min, 'version_compare'); - } - if (count($max) > 0) { - uksort($max, 'version_compare'); - } - if (count($min)) { - // get the highest minimum - $min = array_pop($a = array_flip($min)); - } else { - $min = false; - } - if (count($max)) { - // get the lowest maximum - $max = array_shift($a = array_flip($max)); - } else { - $max = false; - } - if ($min) { - $php['min'] = $min; - } - if ($max) { - $php['max'] = $max; - } - $exclude = array(); - foreach ($test as $dep) { - if (!isset($dep['exclude'])) { - continue; - } - $exclude[] = $dep['exclude']; - } - if (count($exclude)) { - $php['exclude'] = $exclude; - } - $ret[] = $php; - } - return $ret; - } -} -?> \ No newline at end of file diff --git a/3rdparty/PEAR/PackageFile/Generator/v2.php b/3rdparty/PEAR/PackageFile/Generator/v2.php deleted file mode 100644 index 8250e0ac4d027a85d3776ff6244b8a5958c30f57..0000000000000000000000000000000000000000 --- a/3rdparty/PEAR/PackageFile/Generator/v2.php +++ /dev/null @@ -1,893 +0,0 @@ - - * @author Stephan Schmidt (original XML_Serializer code) - * @copyright 1997-2009 The Authors - * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: v2.php 313023 2011-07-06 19:17:11Z dufuz $ - * @link http://pear.php.net/package/PEAR - * @since File available since Release 1.4.0a1 - */ -/** - * file/dir manipulation routines - */ -require_once 'System.php'; -require_once 'XML/Util.php'; - -/** - * This class converts a PEAR_PackageFile_v2 object into any output format. - * - * Supported output formats include array, XML string (using S. Schmidt's - * XML_Serializer, slightly customized) - * @category pear - * @package PEAR - * @author Greg Beaver - * @author Stephan Schmidt (original XML_Serializer code) - * @copyright 1997-2009 The Authors - * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.4 - * @link http://pear.php.net/package/PEAR - * @since Class available since Release 1.4.0a1 - */ -class PEAR_PackageFile_Generator_v2 -{ - /** - * default options for the serialization - * @access private - * @var array $_defaultOptions - */ - var $_defaultOptions = array( - 'indent' => ' ', // string used for indentation - 'linebreak' => "\n", // string used for newlines - 'typeHints' => false, // automatically add type hin attributes - 'addDecl' => true, // add an XML declaration - 'defaultTagName' => 'XML_Serializer_Tag', // tag used for indexed arrays or invalid names - 'classAsTagName' => false, // use classname for objects in indexed arrays - 'keyAttribute' => '_originalKey', // attribute where original key is stored - 'typeAttribute' => '_type', // attribute for type (only if typeHints => true) - 'classAttribute' => '_class', // attribute for class of objects (only if typeHints => true) - 'scalarAsAttributes' => false, // scalar values (strings, ints,..) will be serialized as attribute - 'prependAttributes' => '', // prepend string for attributes - 'indentAttributes' => false, // indent the attributes, if set to '_auto', it will indent attributes so they all start at the same column - 'mode' => 'simplexml', // use 'simplexml' to use parent name as tagname if transforming an indexed array - 'addDoctype' => false, // add a doctype declaration - 'doctype' => null, // supply a string or an array with id and uri ({@see XML_Util::getDoctypeDeclaration()} - 'rootName' => 'package', // name of the root tag - 'rootAttributes' => array( - 'version' => '2.0', - 'xmlns' => 'http://pear.php.net/dtd/package-2.0', - 'xmlns:tasks' => 'http://pear.php.net/dtd/tasks-1.0', - 'xmlns:xsi' => 'http://www.w3.org/2001/XMLSchema-instance', - 'xsi:schemaLocation' => 'http://pear.php.net/dtd/tasks-1.0 -http://pear.php.net/dtd/tasks-1.0.xsd -http://pear.php.net/dtd/package-2.0 -http://pear.php.net/dtd/package-2.0.xsd', - ), // attributes of the root tag - 'attributesArray' => 'attribs', // all values in this key will be treated as attributes - 'contentName' => '_content', // this value will be used directly as content, instead of creating a new tag, may only be used in conjuction with attributesArray - 'beautifyFilelist' => false, - 'encoding' => 'UTF-8', - ); - - /** - * options for the serialization - * @access private - * @var array $options - */ - var $options = array(); - - /** - * current tag depth - * @var integer $_tagDepth - */ - var $_tagDepth = 0; - - /** - * serilialized representation of the data - * @var string $_serializedData - */ - var $_serializedData = null; - /** - * @var PEAR_PackageFile_v2 - */ - var $_packagefile; - /** - * @param PEAR_PackageFile_v2 - */ - function PEAR_PackageFile_Generator_v2(&$packagefile) - { - $this->_packagefile = &$packagefile; - if (isset($this->_packagefile->encoding)) { - $this->_defaultOptions['encoding'] = $this->_packagefile->encoding; - } - } - - /** - * @return string - */ - function getPackagerVersion() - { - return '1.9.4'; - } - - /** - * @param PEAR_Packager - * @param bool generate a .tgz or a .tar - * @param string|null temporary directory to package in - */ - function toTgz(&$packager, $compress = true, $where = null) - { - $a = null; - return $this->toTgz2($packager, $a, $compress, $where); - } - - /** - * Package up both a package.xml and package2.xml for the same release - * @param PEAR_Packager - * @param PEAR_PackageFile_v1 - * @param bool generate a .tgz or a .tar - * @param string|null temporary directory to package in - */ - function toTgz2(&$packager, &$pf1, $compress = true, $where = null) - { - require_once 'Archive/Tar.php'; - if (!$this->_packagefile->isEquivalent($pf1)) { - return PEAR::raiseError('PEAR_Packagefile_v2::toTgz: "' . - basename($pf1->getPackageFile()) . - '" is not equivalent to "' . basename($this->_packagefile->getPackageFile()) - . '"'); - } - - if ($where === null) { - if (!($where = System::mktemp(array('-d')))) { - return PEAR::raiseError('PEAR_Packagefile_v2::toTgz: mktemp failed'); - } - } elseif (!@System::mkDir(array('-p', $where))) { - return PEAR::raiseError('PEAR_Packagefile_v2::toTgz: "' . $where . '" could' . - ' not be created'); - } - - $file = $where . DIRECTORY_SEPARATOR . 'package.xml'; - if (file_exists($file) && !is_file($file)) { - return PEAR::raiseError('PEAR_Packagefile_v2::toTgz: unable to save package.xml as' . - ' "' . $file .'"'); - } - - if (!$this->_packagefile->validate(PEAR_VALIDATE_PACKAGING)) { - return PEAR::raiseError('PEAR_Packagefile_v2::toTgz: invalid package.xml'); - } - - $ext = $compress ? '.tgz' : '.tar'; - $pkgver = $this->_packagefile->getPackage() . '-' . $this->_packagefile->getVersion(); - $dest_package = getcwd() . DIRECTORY_SEPARATOR . $pkgver . $ext; - if (file_exists($dest_package) && !is_file($dest_package)) { - return PEAR::raiseError('PEAR_Packagefile_v2::toTgz: cannot create tgz file "' . - $dest_package . '"'); - } - - $pkgfile = $this->_packagefile->getPackageFile(); - if (!$pkgfile) { - return PEAR::raiseError('PEAR_Packagefile_v2::toTgz: package file object must ' . - 'be created from a real file'); - } - - $pkgdir = dirname(realpath($pkgfile)); - $pkgfile = basename($pkgfile); - - // {{{ Create the package file list - $filelist = array(); - $i = 0; - $this->_packagefile->flattenFilelist(); - $contents = $this->_packagefile->getContents(); - if (isset($contents['bundledpackage'])) { // bundles of packages - $contents = $contents['bundledpackage']; - if (!isset($contents[0])) { - $contents = array($contents); - } - - $packageDir = $where; - foreach ($contents as $i => $package) { - $fname = $package; - $file = $pkgdir . DIRECTORY_SEPARATOR . $fname; - if (!file_exists($file)) { - return $packager->raiseError("File does not exist: $fname"); - } - - $tfile = $packageDir . DIRECTORY_SEPARATOR . $fname; - System::mkdir(array('-p', dirname($tfile))); - copy($file, $tfile); - $filelist[$i++] = $tfile; - $packager->log(2, "Adding package $fname"); - } - } else { // normal packages - $contents = $contents['dir']['file']; - if (!isset($contents[0])) { - $contents = array($contents); - } - - $packageDir = $where; - foreach ($contents as $i => $file) { - $fname = $file['attribs']['name']; - $atts = $file['attribs']; - $orig = $file; - $file = $pkgdir . DIRECTORY_SEPARATOR . $fname; - if (!file_exists($file)) { - return $packager->raiseError("File does not exist: $fname"); - } - - $origperms = fileperms($file); - $tfile = $packageDir . DIRECTORY_SEPARATOR . $fname; - unset($orig['attribs']); - if (count($orig)) { // file with tasks - // run any package-time tasks - $contents = file_get_contents($file); - foreach ($orig as $tag => $raw) { - $tag = str_replace( - array($this->_packagefile->getTasksNs() . ':', '-'), - array('', '_'), $tag); - $task = "PEAR_Task_$tag"; - $task = &new $task($this->_packagefile->_config, - $this->_packagefile->_logger, - PEAR_TASK_PACKAGE); - $task->init($raw, $atts, null); - $res = $task->startSession($this->_packagefile, $contents, $tfile); - if (!$res) { - continue; // skip this task - } - - if (PEAR::isError($res)) { - return $res; - } - - $contents = $res; // save changes - System::mkdir(array('-p', dirname($tfile))); - $wp = fopen($tfile, "wb"); - fwrite($wp, $contents); - fclose($wp); - } - } - - if (!file_exists($tfile)) { - System::mkdir(array('-p', dirname($tfile))); - copy($file, $tfile); - } - - chmod($tfile, $origperms); - $filelist[$i++] = $tfile; - $this->_packagefile->setFileAttribute($fname, 'md5sum', md5_file($tfile), $i - 1); - $packager->log(2, "Adding file $fname"); - } - } - // }}} - - $name = $pf1 !== null ? 'package2.xml' : 'package.xml'; - $packagexml = $this->toPackageFile($where, PEAR_VALIDATE_PACKAGING, $name); - if ($packagexml) { - $tar = new Archive_Tar($dest_package, $compress); - $tar->setErrorHandling(PEAR_ERROR_RETURN); // XXX Don't print errors - // ----- Creates with the package.xml file - $ok = $tar->createModify(array($packagexml), '', $where); - if (PEAR::isError($ok)) { - return $packager->raiseError($ok); - } elseif (!$ok) { - return $packager->raiseError('PEAR_Packagefile_v2::toTgz(): adding ' . $name . - ' failed'); - } - - // ----- Add the content of the package - if (!$tar->addModify($filelist, $pkgver, $where)) { - return $packager->raiseError( - 'PEAR_Packagefile_v2::toTgz(): tarball creation failed'); - } - - // add the package.xml version 1.0 - if ($pf1 !== null) { - $pfgen = &$pf1->getDefaultGenerator(); - $packagexml1 = $pfgen->toPackageFile($where, PEAR_VALIDATE_PACKAGING, 'package.xml', true); - if (!$tar->addModify(array($packagexml1), '', $where)) { - return $packager->raiseError( - 'PEAR_Packagefile_v2::toTgz(): adding package.xml failed'); - } - } - - return $dest_package; - } - } - - function toPackageFile($where = null, $state = PEAR_VALIDATE_NORMAL, $name = 'package.xml') - { - if (!$this->_packagefile->validate($state)) { - return PEAR::raiseError('PEAR_Packagefile_v2::toPackageFile: invalid package.xml', - null, null, null, $this->_packagefile->getValidationWarnings()); - } - - if ($where === null) { - if (!($where = System::mktemp(array('-d')))) { - return PEAR::raiseError('PEAR_Packagefile_v2::toPackageFile: mktemp failed'); - } - } elseif (!@System::mkDir(array('-p', $where))) { - return PEAR::raiseError('PEAR_Packagefile_v2::toPackageFile: "' . $where . '" could' . - ' not be created'); - } - - $newpkgfile = $where . DIRECTORY_SEPARATOR . $name; - $np = @fopen($newpkgfile, 'wb'); - if (!$np) { - return PEAR::raiseError('PEAR_Packagefile_v2::toPackageFile: unable to save ' . - "$name as $newpkgfile"); - } - fwrite($np, $this->toXml($state)); - fclose($np); - return $newpkgfile; - } - - function &toV2() - { - return $this->_packagefile; - } - - /** - * Return an XML document based on the package info (as returned - * by the PEAR_Common::infoFrom* methods). - * - * @return string XML data - */ - function toXml($state = PEAR_VALIDATE_NORMAL, $options = array()) - { - $this->_packagefile->setDate(date('Y-m-d')); - $this->_packagefile->setTime(date('H:i:s')); - if (!$this->_packagefile->validate($state)) { - return false; - } - - if (is_array($options)) { - $this->options = array_merge($this->_defaultOptions, $options); - } else { - $this->options = $this->_defaultOptions; - } - - $arr = $this->_packagefile->getArray(); - if (isset($arr['filelist'])) { - unset($arr['filelist']); - } - - if (isset($arr['_lastversion'])) { - unset($arr['_lastversion']); - } - - // Fix the notes a little bit - if (isset($arr['notes'])) { - // This trims out the indenting, needs fixing - $arr['notes'] = "\n" . trim($arr['notes']) . "\n"; - } - - if (isset($arr['changelog']) && !empty($arr['changelog'])) { - // Fix for inconsistency how the array is filled depending on the changelog release amount - if (!isset($arr['changelog']['release'][0])) { - $release = $arr['changelog']['release']; - unset($arr['changelog']['release']); - - $arr['changelog']['release'] = array(); - $arr['changelog']['release'][0] = $release; - } - - foreach (array_keys($arr['changelog']['release']) as $key) { - $c =& $arr['changelog']['release'][$key]; - if (isset($c['notes'])) { - // This trims out the indenting, needs fixing - $c['notes'] = "\n" . trim($c['notes']) . "\n"; - } - } - } - - if ($state ^ PEAR_VALIDATE_PACKAGING && !isset($arr['bundle'])) { - $use = $this->_recursiveXmlFilelist($arr['contents']['dir']['file']); - unset($arr['contents']['dir']['file']); - if (isset($use['dir'])) { - $arr['contents']['dir']['dir'] = $use['dir']; - } - if (isset($use['file'])) { - $arr['contents']['dir']['file'] = $use['file']; - } - $this->options['beautifyFilelist'] = true; - } - - $arr['attribs']['packagerversion'] = '1.9.4'; - if ($this->serialize($arr, $options)) { - return $this->_serializedData . "\n"; - } - - return false; - } - - - function _recursiveXmlFilelist($list) - { - $dirs = array(); - if (isset($list['attribs'])) { - $file = $list['attribs']['name']; - unset($list['attribs']['name']); - $attributes = $list['attribs']; - $this->_addDir($dirs, explode('/', dirname($file)), $file, $attributes); - } else { - foreach ($list as $a) { - $file = $a['attribs']['name']; - $attributes = $a['attribs']; - unset($a['attribs']); - $this->_addDir($dirs, explode('/', dirname($file)), $file, $attributes, $a); - } - } - $this->_formatDir($dirs); - $this->_deFormat($dirs); - return $dirs; - } - - function _addDir(&$dirs, $dir, $file = null, $attributes = null, $tasks = null) - { - if (!$tasks) { - $tasks = array(); - } - if ($dir == array() || $dir == array('.')) { - $dirs['file'][basename($file)] = $tasks; - $attributes['name'] = basename($file); - $dirs['file'][basename($file)]['attribs'] = $attributes; - return; - } - $curdir = array_shift($dir); - if (!isset($dirs['dir'][$curdir])) { - $dirs['dir'][$curdir] = array(); - } - $this->_addDir($dirs['dir'][$curdir], $dir, $file, $attributes, $tasks); - } - - function _formatDir(&$dirs) - { - if (!count($dirs)) { - return array(); - } - $newdirs = array(); - if (isset($dirs['dir'])) { - $newdirs['dir'] = $dirs['dir']; - } - if (isset($dirs['file'])) { - $newdirs['file'] = $dirs['file']; - } - $dirs = $newdirs; - if (isset($dirs['dir'])) { - uksort($dirs['dir'], 'strnatcasecmp'); - foreach ($dirs['dir'] as $dir => $contents) { - $this->_formatDir($dirs['dir'][$dir]); - } - } - if (isset($dirs['file'])) { - uksort($dirs['file'], 'strnatcasecmp'); - }; - } - - function _deFormat(&$dirs) - { - if (!count($dirs)) { - return array(); - } - $newdirs = array(); - if (isset($dirs['dir'])) { - foreach ($dirs['dir'] as $dir => $contents) { - $newdir = array(); - $newdir['attribs']['name'] = $dir; - $this->_deFormat($contents); - foreach ($contents as $tag => $val) { - $newdir[$tag] = $val; - } - $newdirs['dir'][] = $newdir; - } - if (count($newdirs['dir']) == 1) { - $newdirs['dir'] = $newdirs['dir'][0]; - } - } - if (isset($dirs['file'])) { - foreach ($dirs['file'] as $name => $file) { - $newdirs['file'][] = $file; - } - if (count($newdirs['file']) == 1) { - $newdirs['file'] = $newdirs['file'][0]; - } - } - $dirs = $newdirs; - } - - /** - * reset all options to default options - * - * @access public - * @see setOption(), XML_Unserializer() - */ - function resetOptions() - { - $this->options = $this->_defaultOptions; - } - - /** - * set an option - * - * You can use this method if you do not want to set all options in the constructor - * - * @access public - * @see resetOption(), XML_Serializer() - */ - function setOption($name, $value) - { - $this->options[$name] = $value; - } - - /** - * sets several options at once - * - * You can use this method if you do not want to set all options in the constructor - * - * @access public - * @see resetOption(), XML_Unserializer(), setOption() - */ - function setOptions($options) - { - $this->options = array_merge($this->options, $options); - } - - /** - * serialize data - * - * @access public - * @param mixed $data data to serialize - * @return boolean true on success, pear error on failure - */ - function serialize($data, $options = null) - { - // if options have been specified, use them instead - // of the previously defined ones - if (is_array($options)) { - $optionsBak = $this->options; - if (isset($options['overrideOptions']) && $options['overrideOptions'] == true) { - $this->options = array_merge($this->_defaultOptions, $options); - } else { - $this->options = array_merge($this->options, $options); - } - } else { - $optionsBak = null; - } - - // start depth is zero - $this->_tagDepth = 0; - $this->_serializedData = ''; - // serialize an array - if (is_array($data)) { - $tagName = isset($this->options['rootName']) ? $this->options['rootName'] : 'array'; - $this->_serializedData .= $this->_serializeArray($data, $tagName, $this->options['rootAttributes']); - } - - // add doctype declaration - if ($this->options['addDoctype'] === true) { - $this->_serializedData = XML_Util::getDoctypeDeclaration($tagName, $this->options['doctype']) - . $this->options['linebreak'] - . $this->_serializedData; - } - - // build xml declaration - if ($this->options['addDecl']) { - $atts = array(); - $encoding = isset($this->options['encoding']) ? $this->options['encoding'] : null; - $this->_serializedData = XML_Util::getXMLDeclaration('1.0', $encoding) - . $this->options['linebreak'] - . $this->_serializedData; - } - - - if ($optionsBak !== null) { - $this->options = $optionsBak; - } - - return true; - } - - /** - * get the result of the serialization - * - * @access public - * @return string serialized XML - */ - function getSerializedData() - { - if ($this->_serializedData === null) { - return $this->raiseError('No serialized data available. Use XML_Serializer::serialize() first.', XML_SERIALIZER_ERROR_NO_SERIALIZATION); - } - return $this->_serializedData; - } - - /** - * serialize any value - * - * This method checks for the type of the value and calls the appropriate method - * - * @access private - * @param mixed $value - * @param string $tagName - * @param array $attributes - * @return string - */ - function _serializeValue($value, $tagName = null, $attributes = array()) - { - if (is_array($value)) { - $xml = $this->_serializeArray($value, $tagName, $attributes); - } elseif (is_object($value)) { - $xml = $this->_serializeObject($value, $tagName); - } else { - $tag = array( - 'qname' => $tagName, - 'attributes' => $attributes, - 'content' => $value - ); - $xml = $this->_createXMLTag($tag); - } - return $xml; - } - - /** - * serialize an array - * - * @access private - * @param array $array array to serialize - * @param string $tagName name of the root tag - * @param array $attributes attributes for the root tag - * @return string $string serialized data - * @uses XML_Util::isValidName() to check, whether key has to be substituted - */ - function _serializeArray(&$array, $tagName = null, $attributes = array()) - { - $_content = null; - - /** - * check for special attributes - */ - if ($this->options['attributesArray'] !== null) { - if (isset($array[$this->options['attributesArray']])) { - $attributes = $array[$this->options['attributesArray']]; - unset($array[$this->options['attributesArray']]); - } - /** - * check for special content - */ - if ($this->options['contentName'] !== null) { - if (isset($array[$this->options['contentName']])) { - $_content = $array[$this->options['contentName']]; - unset($array[$this->options['contentName']]); - } - } - } - - /* - * if mode is set to simpleXML, check whether - * the array is associative or indexed - */ - if (is_array($array) && $this->options['mode'] == 'simplexml') { - $indexed = true; - if (!count($array)) { - $indexed = false; - } - foreach ($array as $key => $val) { - if (!is_int($key)) { - $indexed = false; - break; - } - } - - if ($indexed && $this->options['mode'] == 'simplexml') { - $string = ''; - foreach ($array as $key => $val) { - if ($this->options['beautifyFilelist'] && $tagName == 'dir') { - if (!isset($this->_curdir)) { - $this->_curdir = ''; - } - $savedir = $this->_curdir; - if (isset($val['attribs'])) { - if ($val['attribs']['name'] == '/') { - $this->_curdir = '/'; - } else { - if ($this->_curdir == '/') { - $this->_curdir = ''; - } - $this->_curdir .= '/' . $val['attribs']['name']; - } - } - } - $string .= $this->_serializeValue( $val, $tagName, $attributes); - if ($this->options['beautifyFilelist'] && $tagName == 'dir') { - $string .= ' '; - if (empty($savedir)) { - unset($this->_curdir); - } else { - $this->_curdir = $savedir; - } - } - - $string .= $this->options['linebreak']; - // do indentation - if ($this->options['indent'] !== null && $this->_tagDepth > 0) { - $string .= str_repeat($this->options['indent'], $this->_tagDepth); - } - } - return rtrim($string); - } - } - - if ($this->options['scalarAsAttributes'] === true) { - foreach ($array as $key => $value) { - if (is_scalar($value) && (XML_Util::isValidName($key) === true)) { - unset($array[$key]); - $attributes[$this->options['prependAttributes'].$key] = $value; - } - } - } - - // check for empty array => create empty tag - if (empty($array)) { - $tag = array( - 'qname' => $tagName, - 'content' => $_content, - 'attributes' => $attributes - ); - - } else { - $this->_tagDepth++; - $tmp = $this->options['linebreak']; - foreach ($array as $key => $value) { - // do indentation - if ($this->options['indent'] !== null && $this->_tagDepth > 0) { - $tmp .= str_repeat($this->options['indent'], $this->_tagDepth); - } - - // copy key - $origKey = $key; - // key cannot be used as tagname => use default tag - $valid = XML_Util::isValidName($key); - if (PEAR::isError($valid)) { - if ($this->options['classAsTagName'] && is_object($value)) { - $key = get_class($value); - } else { - $key = $this->options['defaultTagName']; - } - } - $atts = array(); - if ($this->options['typeHints'] === true) { - $atts[$this->options['typeAttribute']] = gettype($value); - if ($key !== $origKey) { - $atts[$this->options['keyAttribute']] = (string)$origKey; - } - - } - if ($this->options['beautifyFilelist'] && $key == 'dir') { - if (!isset($this->_curdir)) { - $this->_curdir = ''; - } - $savedir = $this->_curdir; - if (isset($value['attribs'])) { - if ($value['attribs']['name'] == '/') { - $this->_curdir = '/'; - } else { - $this->_curdir .= '/' . $value['attribs']['name']; - } - } - } - - if (is_string($value) && $value && ($value{strlen($value) - 1} == "\n")) { - $value .= str_repeat($this->options['indent'], $this->_tagDepth); - } - $tmp .= $this->_createXMLTag(array( - 'qname' => $key, - 'attributes' => $atts, - 'content' => $value ) - ); - if ($this->options['beautifyFilelist'] && $key == 'dir') { - if (isset($value['attribs'])) { - $tmp .= ' '; - if (empty($savedir)) { - unset($this->_curdir); - } else { - $this->_curdir = $savedir; - } - } - } - $tmp .= $this->options['linebreak']; - } - - $this->_tagDepth--; - if ($this->options['indent']!==null && $this->_tagDepth>0) { - $tmp .= str_repeat($this->options['indent'], $this->_tagDepth); - } - - if (trim($tmp) === '') { - $tmp = null; - } - - $tag = array( - 'qname' => $tagName, - 'content' => $tmp, - 'attributes' => $attributes - ); - } - if ($this->options['typeHints'] === true) { - if (!isset($tag['attributes'][$this->options['typeAttribute']])) { - $tag['attributes'][$this->options['typeAttribute']] = 'array'; - } - } - - $string = $this->_createXMLTag($tag, false); - return $string; - } - - /** - * create a tag from an array - * this method awaits an array in the following format - * array( - * 'qname' => $tagName, - * 'attributes' => array(), - * 'content' => $content, // optional - * 'namespace' => $namespace // optional - * 'namespaceUri' => $namespaceUri // optional - * ) - * - * @access private - * @param array $tag tag definition - * @param boolean $replaceEntities whether to replace XML entities in content or not - * @return string $string XML tag - */ - function _createXMLTag($tag, $replaceEntities = true) - { - if ($this->options['indentAttributes'] !== false) { - $multiline = true; - $indent = str_repeat($this->options['indent'], $this->_tagDepth); - - if ($this->options['indentAttributes'] == '_auto') { - $indent .= str_repeat(' ', (strlen($tag['qname'])+2)); - - } else { - $indent .= $this->options['indentAttributes']; - } - } else { - $indent = $multiline = false; - } - - if (is_array($tag['content'])) { - if (empty($tag['content'])) { - $tag['content'] = ''; - } - } elseif(is_scalar($tag['content']) && (string)$tag['content'] == '') { - $tag['content'] = ''; - } - - if (is_scalar($tag['content']) || is_null($tag['content'])) { - if ($this->options['encoding'] == 'UTF-8' && - version_compare(phpversion(), '5.0.0', 'lt') - ) { - $tag['content'] = utf8_encode($tag['content']); - } - - if ($replaceEntities === true) { - $replaceEntities = XML_UTIL_ENTITIES_XML; - } - - $tag = XML_Util::createTagFromArray($tag, $replaceEntities, $multiline, $indent, $this->options['linebreak']); - } elseif (is_array($tag['content'])) { - $tag = $this->_serializeArray($tag['content'], $tag['qname'], $tag['attributes']); - } elseif (is_object($tag['content'])) { - $tag = $this->_serializeObject($tag['content'], $tag['qname'], $tag['attributes']); - } elseif (is_resource($tag['content'])) { - settype($tag['content'], 'string'); - $tag = XML_Util::createTagFromArray($tag, $replaceEntities); - } - return $tag; - } -} \ No newline at end of file diff --git a/3rdparty/PEAR/PackageFile/Parser/v1.php b/3rdparty/PEAR/PackageFile/Parser/v1.php deleted file mode 100644 index 23395dc757a230e68b7273adc376fa444a82738e..0000000000000000000000000000000000000000 --- a/3rdparty/PEAR/PackageFile/Parser/v1.php +++ /dev/null @@ -1,459 +0,0 @@ - - * @copyright 1997-2009 The Authors - * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: v1.php 313023 2011-07-06 19:17:11Z dufuz $ - * @link http://pear.php.net/package/PEAR - * @since File available since Release 1.4.0a1 - */ -/** - * package.xml abstraction class - */ -require_once 'PEAR/PackageFile/v1.php'; -/** - * Parser for package.xml version 1.0 - * @category pear - * @package PEAR - * @author Greg Beaver - * @copyright 1997-2009 The Authors - * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: @PEAR-VER@ - * @link http://pear.php.net/package/PEAR - * @since Class available since Release 1.4.0a1 - */ -class PEAR_PackageFile_Parser_v1 -{ - var $_registry; - var $_config; - var $_logger; - /** - * BC hack to allow PEAR_Common::infoFromString() to sort of - * work with the version 2.0 format - there's no filelist though - * @param PEAR_PackageFile_v2 - */ - function fromV2($packagefile) - { - $info = $packagefile->getArray(true); - $ret = new PEAR_PackageFile_v1; - $ret->fromArray($info['old']); - } - - function setConfig(&$c) - { - $this->_config = &$c; - $this->_registry = &$c->getRegistry(); - } - - function setLogger(&$l) - { - $this->_logger = &$l; - } - - /** - * @param string contents of package.xml file, version 1.0 - * @return bool success of parsing - */ - function &parse($data, $file, $archive = false) - { - if (!extension_loaded('xml')) { - return PEAR::raiseError('Cannot create xml parser for parsing package.xml, no xml extension'); - } - $xp = xml_parser_create(); - if (!$xp) { - $a = &PEAR::raiseError('Cannot create xml parser for parsing package.xml'); - return $a; - } - xml_set_object($xp, $this); - xml_set_element_handler($xp, '_element_start_1_0', '_element_end_1_0'); - xml_set_character_data_handler($xp, '_pkginfo_cdata_1_0'); - xml_parser_set_option($xp, XML_OPTION_CASE_FOLDING, false); - - $this->element_stack = array(); - $this->_packageInfo = array('provides' => array()); - $this->current_element = false; - unset($this->dir_install); - $this->_packageInfo['filelist'] = array(); - $this->filelist =& $this->_packageInfo['filelist']; - $this->dir_names = array(); - $this->in_changelog = false; - $this->d_i = 0; - $this->cdata = ''; - $this->_isValid = true; - - if (!xml_parse($xp, $data, 1)) { - $code = xml_get_error_code($xp); - $line = xml_get_current_line_number($xp); - xml_parser_free($xp); - $a = &PEAR::raiseError(sprintf("XML error: %s at line %d", - $str = xml_error_string($code), $line), 2); - return $a; - } - - xml_parser_free($xp); - - $pf = new PEAR_PackageFile_v1; - $pf->setConfig($this->_config); - if (isset($this->_logger)) { - $pf->setLogger($this->_logger); - } - $pf->setPackagefile($file, $archive); - $pf->fromArray($this->_packageInfo); - return $pf; - } - // {{{ _unIndent() - - /** - * Unindent given string - * - * @param string $str The string that has to be unindented. - * @return string - * @access private - */ - function _unIndent($str) - { - // remove leading newlines - $str = preg_replace('/^[\r\n]+/', '', $str); - // find whitespace at the beginning of the first line - $indent_len = strspn($str, " \t"); - $indent = substr($str, 0, $indent_len); - $data = ''; - // remove the same amount of whitespace from following lines - foreach (explode("\n", $str) as $line) { - if (substr($line, 0, $indent_len) == $indent) { - $data .= substr($line, $indent_len) . "\n"; - } elseif (trim(substr($line, 0, $indent_len))) { - $data .= ltrim($line); - } - } - return $data; - } - - // Support for package DTD v1.0: - // {{{ _element_start_1_0() - - /** - * XML parser callback for ending elements. Used for version 1.0 - * packages. - * - * @param resource $xp XML parser resource - * @param string $name name of ending element - * - * @return void - * - * @access private - */ - function _element_start_1_0($xp, $name, $attribs) - { - array_push($this->element_stack, $name); - $this->current_element = $name; - $spos = sizeof($this->element_stack) - 2; - $this->prev_element = ($spos >= 0) ? $this->element_stack[$spos] : ''; - $this->current_attributes = $attribs; - $this->cdata = ''; - switch ($name) { - case 'dir': - if ($this->in_changelog) { - break; - } - if (array_key_exists('name', $attribs) && $attribs['name'] != '/') { - $attribs['name'] = preg_replace(array('!\\\\+!', '!/+!'), array('/', '/'), - $attribs['name']); - if (strrpos($attribs['name'], '/') === strlen($attribs['name']) - 1) { - $attribs['name'] = substr($attribs['name'], 0, - strlen($attribs['name']) - 1); - } - if (strpos($attribs['name'], '/') === 0) { - $attribs['name'] = substr($attribs['name'], 1); - } - $this->dir_names[] = $attribs['name']; - } - if (isset($attribs['baseinstalldir'])) { - $this->dir_install = $attribs['baseinstalldir']; - } - if (isset($attribs['role'])) { - $this->dir_role = $attribs['role']; - } - break; - case 'file': - if ($this->in_changelog) { - break; - } - if (isset($attribs['name'])) { - $path = ''; - if (count($this->dir_names)) { - foreach ($this->dir_names as $dir) { - $path .= $dir . '/'; - } - } - $path .= preg_replace(array('!\\\\+!', '!/+!'), array('/', '/'), - $attribs['name']); - unset($attribs['name']); - $this->current_path = $path; - $this->filelist[$path] = $attribs; - // Set the baseinstalldir only if the file don't have this attrib - if (!isset($this->filelist[$path]['baseinstalldir']) && - isset($this->dir_install)) - { - $this->filelist[$path]['baseinstalldir'] = $this->dir_install; - } - // Set the Role - if (!isset($this->filelist[$path]['role']) && isset($this->dir_role)) { - $this->filelist[$path]['role'] = $this->dir_role; - } - } - break; - case 'replace': - if (!$this->in_changelog) { - $this->filelist[$this->current_path]['replacements'][] = $attribs; - } - break; - case 'maintainers': - $this->_packageInfo['maintainers'] = array(); - $this->m_i = 0; // maintainers array index - break; - case 'maintainer': - // compatibility check - if (!isset($this->_packageInfo['maintainers'])) { - $this->_packageInfo['maintainers'] = array(); - $this->m_i = 0; - } - $this->_packageInfo['maintainers'][$this->m_i] = array(); - $this->current_maintainer =& $this->_packageInfo['maintainers'][$this->m_i]; - break; - case 'changelog': - $this->_packageInfo['changelog'] = array(); - $this->c_i = 0; // changelog array index - $this->in_changelog = true; - break; - case 'release': - if ($this->in_changelog) { - $this->_packageInfo['changelog'][$this->c_i] = array(); - $this->current_release = &$this->_packageInfo['changelog'][$this->c_i]; - } else { - $this->current_release = &$this->_packageInfo; - } - break; - case 'deps': - if (!$this->in_changelog) { - $this->_packageInfo['release_deps'] = array(); - } - break; - case 'dep': - // dependencies array index - if (!$this->in_changelog) { - $this->d_i++; - isset($attribs['type']) ? ($attribs['type'] = strtolower($attribs['type'])) : false; - $this->_packageInfo['release_deps'][$this->d_i] = $attribs; - } - break; - case 'configureoptions': - if (!$this->in_changelog) { - $this->_packageInfo['configure_options'] = array(); - } - break; - case 'configureoption': - if (!$this->in_changelog) { - $this->_packageInfo['configure_options'][] = $attribs; - } - break; - case 'provides': - if (empty($attribs['type']) || empty($attribs['name'])) { - break; - } - $attribs['explicit'] = true; - $this->_packageInfo['provides']["$attribs[type];$attribs[name]"] = $attribs; - break; - case 'package' : - if (isset($attribs['version'])) { - $this->_packageInfo['xsdversion'] = trim($attribs['version']); - } else { - $this->_packageInfo['xsdversion'] = '1.0'; - } - if (isset($attribs['packagerversion'])) { - $this->_packageInfo['packagerversion'] = $attribs['packagerversion']; - } - break; - } - } - - // }}} - // {{{ _element_end_1_0() - - /** - * XML parser callback for ending elements. Used for version 1.0 - * packages. - * - * @param resource $xp XML parser resource - * @param string $name name of ending element - * - * @return void - * - * @access private - */ - function _element_end_1_0($xp, $name) - { - $data = trim($this->cdata); - switch ($name) { - case 'name': - switch ($this->prev_element) { - case 'package': - $this->_packageInfo['package'] = $data; - break; - case 'maintainer': - $this->current_maintainer['name'] = $data; - break; - } - break; - case 'extends' : - $this->_packageInfo['extends'] = $data; - break; - case 'summary': - $this->_packageInfo['summary'] = $data; - break; - case 'description': - $data = $this->_unIndent($this->cdata); - $this->_packageInfo['description'] = $data; - break; - case 'user': - $this->current_maintainer['handle'] = $data; - break; - case 'email': - $this->current_maintainer['email'] = $data; - break; - case 'role': - $this->current_maintainer['role'] = $data; - break; - case 'version': - if ($this->in_changelog) { - $this->current_release['version'] = $data; - } else { - $this->_packageInfo['version'] = $data; - } - break; - case 'date': - if ($this->in_changelog) { - $this->current_release['release_date'] = $data; - } else { - $this->_packageInfo['release_date'] = $data; - } - break; - case 'notes': - // try to "de-indent" release notes in case someone - // has been over-indenting their xml ;-) - // Trim only on the right side - $data = rtrim($this->_unIndent($this->cdata)); - if ($this->in_changelog) { - $this->current_release['release_notes'] = $data; - } else { - $this->_packageInfo['release_notes'] = $data; - } - break; - case 'warnings': - if ($this->in_changelog) { - $this->current_release['release_warnings'] = $data; - } else { - $this->_packageInfo['release_warnings'] = $data; - } - break; - case 'state': - if ($this->in_changelog) { - $this->current_release['release_state'] = $data; - } else { - $this->_packageInfo['release_state'] = $data; - } - break; - case 'license': - if ($this->in_changelog) { - $this->current_release['release_license'] = $data; - } else { - $this->_packageInfo['release_license'] = $data; - } - break; - case 'dep': - if ($data && !$this->in_changelog) { - $this->_packageInfo['release_deps'][$this->d_i]['name'] = $data; - } - break; - case 'dir': - if ($this->in_changelog) { - break; - } - array_pop($this->dir_names); - break; - case 'file': - if ($this->in_changelog) { - break; - } - if ($data) { - $path = ''; - if (count($this->dir_names)) { - foreach ($this->dir_names as $dir) { - $path .= $dir . '/'; - } - } - $path .= $data; - $this->filelist[$path] = $this->current_attributes; - // Set the baseinstalldir only if the file don't have this attrib - if (!isset($this->filelist[$path]['baseinstalldir']) && - isset($this->dir_install)) - { - $this->filelist[$path]['baseinstalldir'] = $this->dir_install; - } - // Set the Role - if (!isset($this->filelist[$path]['role']) && isset($this->dir_role)) { - $this->filelist[$path]['role'] = $this->dir_role; - } - } - break; - case 'maintainer': - if (empty($this->_packageInfo['maintainers'][$this->m_i]['role'])) { - $this->_packageInfo['maintainers'][$this->m_i]['role'] = 'lead'; - } - $this->m_i++; - break; - case 'release': - if ($this->in_changelog) { - $this->c_i++; - } - break; - case 'changelog': - $this->in_changelog = false; - break; - } - array_pop($this->element_stack); - $spos = sizeof($this->element_stack) - 1; - $this->current_element = ($spos > 0) ? $this->element_stack[$spos] : ''; - $this->cdata = ''; - } - - // }}} - // {{{ _pkginfo_cdata_1_0() - - /** - * XML parser callback for character data. Used for version 1.0 - * packages. - * - * @param resource $xp XML parser resource - * @param string $name character data - * - * @return void - * - * @access private - */ - function _pkginfo_cdata_1_0($xp, $data) - { - if (isset($this->cdata)) { - $this->cdata .= $data; - } - } - - // }}} -} -?> \ No newline at end of file diff --git a/3rdparty/PEAR/PackageFile/Parser/v2.php b/3rdparty/PEAR/PackageFile/Parser/v2.php deleted file mode 100644 index a3ba7063f2b481549a2e7a66a3fd0f078e9affaa..0000000000000000000000000000000000000000 --- a/3rdparty/PEAR/PackageFile/Parser/v2.php +++ /dev/null @@ -1,113 +0,0 @@ - - * @copyright 1997-2009 The Authors - * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: v2.php 313023 2011-07-06 19:17:11Z dufuz $ - * @link http://pear.php.net/package/PEAR - * @since File available since Release 1.4.0a1 - */ -/** - * base xml parser class - */ -require_once 'PEAR/XMLParser.php'; -require_once 'PEAR/PackageFile/v2.php'; -/** - * Parser for package.xml version 2.0 - * @category pear - * @package PEAR - * @author Greg Beaver - * @copyright 1997-2009 The Authors - * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: @PEAR-VER@ - * @link http://pear.php.net/package/PEAR - * @since Class available since Release 1.4.0a1 - */ -class PEAR_PackageFile_Parser_v2 extends PEAR_XMLParser -{ - var $_config; - var $_logger; - var $_registry; - - function setConfig(&$c) - { - $this->_config = &$c; - $this->_registry = &$c->getRegistry(); - } - - function setLogger(&$l) - { - $this->_logger = &$l; - } - /** - * Unindent given string - * - * @param string $str The string that has to be unindented. - * @return string - * @access private - */ - function _unIndent($str) - { - // remove leading newlines - $str = preg_replace('/^[\r\n]+/', '', $str); - // find whitespace at the beginning of the first line - $indent_len = strspn($str, " \t"); - $indent = substr($str, 0, $indent_len); - $data = ''; - // remove the same amount of whitespace from following lines - foreach (explode("\n", $str) as $line) { - if (substr($line, 0, $indent_len) == $indent) { - $data .= substr($line, $indent_len) . "\n"; - } else { - $data .= $line . "\n"; - } - } - return $data; - } - - /** - * post-process data - * - * @param string $data - * @param string $element element name - */ - function postProcess($data, $element) - { - if ($element == 'notes') { - return trim($this->_unIndent($data)); - } - return trim($data); - } - - /** - * @param string - * @param string file name of the package.xml - * @param string|false name of the archive this package.xml came from, if any - * @param string class name to instantiate and return. This must be PEAR_PackageFile_v2 or - * a subclass - * @return PEAR_PackageFile_v2 - */ - function &parse($data, $file, $archive = false, $class = 'PEAR_PackageFile_v2') - { - if (PEAR::isError($err = parent::parse($data, $file))) { - return $err; - } - - $ret = new $class; - $ret->encoding = $this->encoding; - $ret->setConfig($this->_config); - if (isset($this->_logger)) { - $ret->setLogger($this->_logger); - } - - $ret->fromArray($this->_unserializedData); - $ret->setPackagefile($file, $archive); - return $ret; - } -} \ No newline at end of file diff --git a/3rdparty/PEAR/PackageFile/v1.php b/3rdparty/PEAR/PackageFile/v1.php deleted file mode 100644 index 43e346bcdac9adabe0d17e39953a06150d376341..0000000000000000000000000000000000000000 --- a/3rdparty/PEAR/PackageFile/v1.php +++ /dev/null @@ -1,1612 +0,0 @@ - - * @copyright 1997-2009 The Authors - * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: v1.php 313023 2011-07-06 19:17:11Z dufuz $ - * @link http://pear.php.net/package/PEAR - * @since File available since Release 1.4.0a1 - */ -/** - * For error handling - */ -require_once 'PEAR/ErrorStack.php'; - -/** - * Error code if parsing is attempted with no xml extension - */ -define('PEAR_PACKAGEFILE_ERROR_NO_XML_EXT', 3); - -/** - * Error code if creating the xml parser resource fails - */ -define('PEAR_PACKAGEFILE_ERROR_CANT_MAKE_PARSER', 4); - -/** - * Error code used for all sax xml parsing errors - */ -define('PEAR_PACKAGEFILE_ERROR_PARSER_ERROR', 5); - -/** - * Error code used when there is no name - */ -define('PEAR_PACKAGEFILE_ERROR_NO_NAME', 6); - -/** - * Error code when a package name is not valid - */ -define('PEAR_PACKAGEFILE_ERROR_INVALID_NAME', 7); - -/** - * Error code used when no summary is parsed - */ -define('PEAR_PACKAGEFILE_ERROR_NO_SUMMARY', 8); - -/** - * Error code for summaries that are more than 1 line - */ -define('PEAR_PACKAGEFILE_ERROR_MULTILINE_SUMMARY', 9); - -/** - * Error code used when no description is present - */ -define('PEAR_PACKAGEFILE_ERROR_NO_DESCRIPTION', 10); - -/** - * Error code used when no license is present - */ -define('PEAR_PACKAGEFILE_ERROR_NO_LICENSE', 11); - -/** - * Error code used when a version number is not present - */ -define('PEAR_PACKAGEFILE_ERROR_NO_VERSION', 12); - -/** - * Error code used when a version number is invalid - */ -define('PEAR_PACKAGEFILE_ERROR_INVALID_VERSION', 13); - -/** - * Error code when release state is missing - */ -define('PEAR_PACKAGEFILE_ERROR_NO_STATE', 14); - -/** - * Error code when release state is invalid - */ -define('PEAR_PACKAGEFILE_ERROR_INVALID_STATE', 15); - -/** - * Error code when release state is missing - */ -define('PEAR_PACKAGEFILE_ERROR_NO_DATE', 16); - -/** - * Error code when release state is invalid - */ -define('PEAR_PACKAGEFILE_ERROR_INVALID_DATE', 17); - -/** - * Error code when no release notes are found - */ -define('PEAR_PACKAGEFILE_ERROR_NO_NOTES', 18); - -/** - * Error code when no maintainers are found - */ -define('PEAR_PACKAGEFILE_ERROR_NO_MAINTAINERS', 19); - -/** - * Error code when a maintainer has no handle - */ -define('PEAR_PACKAGEFILE_ERROR_NO_MAINTHANDLE', 20); - -/** - * Error code when a maintainer has no handle - */ -define('PEAR_PACKAGEFILE_ERROR_NO_MAINTROLE', 21); - -/** - * Error code when a maintainer has no name - */ -define('PEAR_PACKAGEFILE_ERROR_NO_MAINTNAME', 22); - -/** - * Error code when a maintainer has no email - */ -define('PEAR_PACKAGEFILE_ERROR_NO_MAINTEMAIL', 23); - -/** - * Error code when a maintainer has no handle - */ -define('PEAR_PACKAGEFILE_ERROR_INVALID_MAINTROLE', 24); - -/** - * Error code when a dependency is not a PHP dependency, but has no name - */ -define('PEAR_PACKAGEFILE_ERROR_NO_DEPNAME', 25); - -/** - * Error code when a dependency has no type (pkg, php, etc.) - */ -define('PEAR_PACKAGEFILE_ERROR_NO_DEPTYPE', 26); - -/** - * Error code when a dependency has no relation (lt, ge, has, etc.) - */ -define('PEAR_PACKAGEFILE_ERROR_NO_DEPREL', 27); - -/** - * Error code when a dependency is not a 'has' relation, but has no version - */ -define('PEAR_PACKAGEFILE_ERROR_NO_DEPVERSION', 28); - -/** - * Error code when a dependency has an invalid relation - */ -define('PEAR_PACKAGEFILE_ERROR_INVALID_DEPREL', 29); - -/** - * Error code when a dependency has an invalid type - */ -define('PEAR_PACKAGEFILE_ERROR_INVALID_DEPTYPE', 30); - -/** - * Error code when a dependency has an invalid optional option - */ -define('PEAR_PACKAGEFILE_ERROR_INVALID_DEPOPTIONAL', 31); - -/** - * Error code when a dependency is a pkg dependency, and has an invalid package name - */ -define('PEAR_PACKAGEFILE_ERROR_INVALID_DEPNAME', 32); - -/** - * Error code when a dependency has a channel="foo" attribute, and foo is not a registered channel - */ -define('PEAR_PACKAGEFILE_ERROR_UNKNOWN_DEPCHANNEL', 33); - -/** - * Error code when rel="has" and version attribute is present. - */ -define('PEAR_PACKAGEFILE_ERROR_DEPVERSION_IGNORED', 34); - -/** - * Error code when type="php" and dependency name is present - */ -define('PEAR_PACKAGEFILE_ERROR_DEPNAME_IGNORED', 35); - -/** - * Error code when a configure option has no name - */ -define('PEAR_PACKAGEFILE_ERROR_NO_CONFNAME', 36); - -/** - * Error code when a configure option has no name - */ -define('PEAR_PACKAGEFILE_ERROR_NO_CONFPROMPT', 37); - -/** - * Error code when a file in the filelist has an invalid role - */ -define('PEAR_PACKAGEFILE_ERROR_INVALID_FILEROLE', 38); - -/** - * Error code when a file in the filelist has no role - */ -define('PEAR_PACKAGEFILE_ERROR_NO_FILEROLE', 39); - -/** - * Error code when analyzing a php source file that has parse errors - */ -define('PEAR_PACKAGEFILE_ERROR_INVALID_PHPFILE', 40); - -/** - * Error code when analyzing a php source file reveals a source element - * without a package name prefix - */ -define('PEAR_PACKAGEFILE_ERROR_NO_PNAME_PREFIX', 41); - -/** - * Error code when an unknown channel is specified - */ -define('PEAR_PACKAGEFILE_ERROR_UNKNOWN_CHANNEL', 42); - -/** - * Error code when no files are found in the filelist - */ -define('PEAR_PACKAGEFILE_ERROR_NO_FILES', 43); - -/** - * Error code when a file is not valid php according to _analyzeSourceCode() - */ -define('PEAR_PACKAGEFILE_ERROR_INVALID_FILE', 44); - -/** - * Error code when the channel validator returns an error or warning - */ -define('PEAR_PACKAGEFILE_ERROR_CHANNELVAL', 45); - -/** - * Error code when a php5 package is packaged in php4 (analysis doesn't work) - */ -define('PEAR_PACKAGEFILE_ERROR_PHP5', 46); - -/** - * Error code when a file is listed in package.xml but does not exist - */ -define('PEAR_PACKAGEFILE_ERROR_FILE_NOTFOUND', 47); - -/** - * Error code when a - * @copyright 1997-2009 The Authors - * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.4 - * @link http://pear.php.net/package/PEAR - * @since Class available since Release 1.4.0a1 - */ -class PEAR_PackageFile_v1 -{ - /** - * @access private - * @var PEAR_ErrorStack - * @access private - */ - var $_stack; - - /** - * A registry object, used to access the package name validation regex for non-standard channels - * @var PEAR_Registry - * @access private - */ - var $_registry; - - /** - * An object that contains a log method that matches PEAR_Common::log's signature - * @var object - * @access private - */ - var $_logger; - - /** - * Parsed package information - * @var array - * @access private - */ - var $_packageInfo; - - /** - * path to package.xml - * @var string - * @access private - */ - var $_packageFile; - - /** - * path to package .tgz or false if this is a local/extracted package.xml - * @var string - * @access private - */ - var $_archiveFile; - - /** - * @var int - * @access private - */ - var $_isValid = 0; - - /** - * Determines whether this packagefile was initialized only with partial package info - * - * If this package file was constructed via parsing REST, it will only contain - * - * - package name - * - channel name - * - dependencies - * @var boolean - * @access private - */ - var $_incomplete = true; - - /** - * @param bool determines whether to return a PEAR_Error object, or use the PEAR_ErrorStack - * @param string Name of Error Stack class to use. - */ - function PEAR_PackageFile_v1() - { - $this->_stack = &new PEAR_ErrorStack('PEAR_PackageFile_v1'); - $this->_stack->setErrorMessageTemplate($this->_getErrorMessage()); - $this->_isValid = 0; - } - - function installBinary($installer) - { - return false; - } - - function isExtension($name) - { - return false; - } - - function setConfig(&$config) - { - $this->_config = &$config; - $this->_registry = &$config->getRegistry(); - } - - function setRequestedGroup() - { - // placeholder - } - - /** - * For saving in the registry. - * - * Set the last version that was installed - * @param string - */ - function setLastInstalledVersion($version) - { - $this->_packageInfo['_lastversion'] = $version; - } - - /** - * @return string|false - */ - function getLastInstalledVersion() - { - if (isset($this->_packageInfo['_lastversion'])) { - return $this->_packageInfo['_lastversion']; - } - return false; - } - - function getInstalledBinary() - { - return false; - } - - function listPostinstallScripts() - { - return false; - } - - function initPostinstallScripts() - { - return false; - } - - function setLogger(&$logger) - { - if ($logger && (!is_object($logger) || !method_exists($logger, 'log'))) { - return PEAR::raiseError('Logger must be compatible with PEAR_Common::log'); - } - $this->_logger = &$logger; - } - - function setPackagefile($file, $archive = false) - { - $this->_packageFile = $file; - $this->_archiveFile = $archive ? $archive : $file; - } - - function getPackageFile() - { - return isset($this->_packageFile) ? $this->_packageFile : false; - } - - function getPackageType() - { - return 'php'; - } - - function getArchiveFile() - { - return $this->_archiveFile; - } - - function packageInfo($field) - { - if (!is_string($field) || empty($field) || - !isset($this->_packageInfo[$field])) { - return false; - } - return $this->_packageInfo[$field]; - } - - function setDirtree($path) - { - if (!isset($this->_packageInfo['dirtree'])) { - $this->_packageInfo['dirtree'] = array(); - } - $this->_packageInfo['dirtree'][$path] = true; - } - - function getDirtree() - { - if (isset($this->_packageInfo['dirtree']) && count($this->_packageInfo['dirtree'])) { - return $this->_packageInfo['dirtree']; - } - return false; - } - - function resetDirtree() - { - unset($this->_packageInfo['dirtree']); - } - - function fromArray($pinfo) - { - $this->_incomplete = false; - $this->_packageInfo = $pinfo; - } - - function isIncomplete() - { - return $this->_incomplete; - } - - function getChannel() - { - return 'pear.php.net'; - } - - function getUri() - { - return false; - } - - function getTime() - { - return false; - } - - function getExtends() - { - if (isset($this->_packageInfo['extends'])) { - return $this->_packageInfo['extends']; - } - return false; - } - - /** - * @return array - */ - function toArray() - { - if (!$this->validate(PEAR_VALIDATE_NORMAL)) { - return false; - } - return $this->getArray(); - } - - function getArray() - { - return $this->_packageInfo; - } - - function getName() - { - return $this->getPackage(); - } - - function getPackage() - { - if (isset($this->_packageInfo['package'])) { - return $this->_packageInfo['package']; - } - return false; - } - - /** - * WARNING - don't use this unless you know what you are doing - */ - function setRawPackage($package) - { - $this->_packageInfo['package'] = $package; - } - - function setPackage($package) - { - $this->_packageInfo['package'] = $package; - $this->_isValid = false; - } - - function getVersion() - { - if (isset($this->_packageInfo['version'])) { - return $this->_packageInfo['version']; - } - return false; - } - - function setVersion($version) - { - $this->_packageInfo['version'] = $version; - $this->_isValid = false; - } - - function clearMaintainers() - { - unset($this->_packageInfo['maintainers']); - } - - function getMaintainers() - { - if (isset($this->_packageInfo['maintainers'])) { - return $this->_packageInfo['maintainers']; - } - return false; - } - - /** - * Adds a new maintainer - no checking of duplicates is performed, use - * updatemaintainer for that purpose. - */ - function addMaintainer($role, $handle, $name, $email) - { - $this->_packageInfo['maintainers'][] = - array('handle' => $handle, 'role' => $role, 'email' => $email, 'name' => $name); - $this->_isValid = false; - } - - function updateMaintainer($role, $handle, $name, $email) - { - $found = false; - if (!isset($this->_packageInfo['maintainers']) || - !is_array($this->_packageInfo['maintainers'])) { - return $this->addMaintainer($role, $handle, $name, $email); - } - foreach ($this->_packageInfo['maintainers'] as $i => $maintainer) { - if ($maintainer['handle'] == $handle) { - $found = $i; - break; - } - } - if ($found !== false) { - unset($this->_packageInfo['maintainers'][$found]); - $this->_packageInfo['maintainers'] = - array_values($this->_packageInfo['maintainers']); - } - $this->addMaintainer($role, $handle, $name, $email); - } - - function deleteMaintainer($handle) - { - $found = false; - foreach ($this->_packageInfo['maintainers'] as $i => $maintainer) { - if ($maintainer['handle'] == $handle) { - $found = $i; - break; - } - } - if ($found !== false) { - unset($this->_packageInfo['maintainers'][$found]); - $this->_packageInfo['maintainers'] = - array_values($this->_packageInfo['maintainers']); - return true; - } - return false; - } - - function getState() - { - if (isset($this->_packageInfo['release_state'])) { - return $this->_packageInfo['release_state']; - } - return false; - } - - function setRawState($state) - { - $this->_packageInfo['release_state'] = $state; - } - - function setState($state) - { - $this->_packageInfo['release_state'] = $state; - $this->_isValid = false; - } - - function getDate() - { - if (isset($this->_packageInfo['release_date'])) { - return $this->_packageInfo['release_date']; - } - return false; - } - - function setDate($date) - { - $this->_packageInfo['release_date'] = $date; - $this->_isValid = false; - } - - function getLicense() - { - if (isset($this->_packageInfo['release_license'])) { - return $this->_packageInfo['release_license']; - } - return false; - } - - function setLicense($date) - { - $this->_packageInfo['release_license'] = $date; - $this->_isValid = false; - } - - function getSummary() - { - if (isset($this->_packageInfo['summary'])) { - return $this->_packageInfo['summary']; - } - return false; - } - - function setSummary($summary) - { - $this->_packageInfo['summary'] = $summary; - $this->_isValid = false; - } - - function getDescription() - { - if (isset($this->_packageInfo['description'])) { - return $this->_packageInfo['description']; - } - return false; - } - - function setDescription($desc) - { - $this->_packageInfo['description'] = $desc; - $this->_isValid = false; - } - - function getNotes() - { - if (isset($this->_packageInfo['release_notes'])) { - return $this->_packageInfo['release_notes']; - } - return false; - } - - function setNotes($notes) - { - $this->_packageInfo['release_notes'] = $notes; - $this->_isValid = false; - } - - function getDeps() - { - if (isset($this->_packageInfo['release_deps'])) { - return $this->_packageInfo['release_deps']; - } - return false; - } - - /** - * Reset dependencies prior to adding new ones - */ - function clearDeps() - { - unset($this->_packageInfo['release_deps']); - } - - function addPhpDep($version, $rel) - { - $this->_isValid = false; - $this->_packageInfo['release_deps'][] = - array('type' => 'php', - 'rel' => $rel, - 'version' => $version); - } - - function addPackageDep($name, $version, $rel, $optional = 'no') - { - $this->_isValid = false; - $dep = - array('type' => 'pkg', - 'name' => $name, - 'rel' => $rel, - 'optional' => $optional); - if ($rel != 'has' && $rel != 'not') { - $dep['version'] = $version; - } - $this->_packageInfo['release_deps'][] = $dep; - } - - function addExtensionDep($name, $version, $rel, $optional = 'no') - { - $this->_isValid = false; - $this->_packageInfo['release_deps'][] = - array('type' => 'ext', - 'name' => $name, - 'rel' => $rel, - 'version' => $version, - 'optional' => $optional); - } - - /** - * WARNING - do not use this function directly unless you know what you're doing - */ - function setDeps($deps) - { - $this->_packageInfo['release_deps'] = $deps; - } - - function hasDeps() - { - return isset($this->_packageInfo['release_deps']) && - count($this->_packageInfo['release_deps']); - } - - function getDependencyGroup($group) - { - return false; - } - - function isCompatible($pf) - { - return false; - } - - function isSubpackageOf($p) - { - return $p->isSubpackage($this); - } - - function isSubpackage($p) - { - return false; - } - - function dependsOn($package, $channel) - { - if (strtolower($channel) != 'pear.php.net') { - return false; - } - if (!($deps = $this->getDeps())) { - return false; - } - foreach ($deps as $dep) { - if ($dep['type'] != 'pkg') { - continue; - } - if (strtolower($dep['name']) == strtolower($package)) { - return true; - } - } - return false; - } - - function getConfigureOptions() - { - if (isset($this->_packageInfo['configure_options'])) { - return $this->_packageInfo['configure_options']; - } - return false; - } - - function hasConfigureOptions() - { - return isset($this->_packageInfo['configure_options']) && - count($this->_packageInfo['configure_options']); - } - - function addConfigureOption($name, $prompt, $default = false) - { - $o = array('name' => $name, 'prompt' => $prompt); - if ($default !== false) { - $o['default'] = $default; - } - if (!isset($this->_packageInfo['configure_options'])) { - $this->_packageInfo['configure_options'] = array(); - } - $this->_packageInfo['configure_options'][] = $o; - } - - function clearConfigureOptions() - { - unset($this->_packageInfo['configure_options']); - } - - function getProvides() - { - if (isset($this->_packageInfo['provides'])) { - return $this->_packageInfo['provides']; - } - return false; - } - - function getProvidesExtension() - { - return false; - } - - function addFile($dir, $file, $attrs) - { - $dir = preg_replace(array('!\\\\+!', '!/+!'), array('/', '/'), $dir); - if ($dir == '/' || $dir == '') { - $dir = ''; - } else { - $dir .= '/'; - } - $file = $dir . $file; - $file = preg_replace('![\\/]+!', '/', $file); - $this->_packageInfo['filelist'][$file] = $attrs; - } - - function getInstallationFilelist() - { - return $this->getFilelist(); - } - - function getFilelist() - { - if (isset($this->_packageInfo['filelist'])) { - return $this->_packageInfo['filelist']; - } - return false; - } - - function setFileAttribute($file, $attr, $value) - { - $this->_packageInfo['filelist'][$file][$attr] = $value; - } - - function resetFilelist() - { - $this->_packageInfo['filelist'] = array(); - } - - function setInstalledAs($file, $path) - { - if ($path) { - return $this->_packageInfo['filelist'][$file]['installed_as'] = $path; - } - unset($this->_packageInfo['filelist'][$file]['installed_as']); - } - - function installedFile($file, $atts) - { - if (isset($this->_packageInfo['filelist'][$file])) { - $this->_packageInfo['filelist'][$file] = - array_merge($this->_packageInfo['filelist'][$file], $atts); - } else { - $this->_packageInfo['filelist'][$file] = $atts; - } - } - - function getChangelog() - { - if (isset($this->_packageInfo['changelog'])) { - return $this->_packageInfo['changelog']; - } - return false; - } - - function getPackagexmlVersion() - { - return '1.0'; - } - - /** - * Wrapper to {@link PEAR_ErrorStack::getErrors()} - * @param boolean determines whether to purge the error stack after retrieving - * @return array - */ - function getValidationWarnings($purge = true) - { - return $this->_stack->getErrors($purge); - } - - // }}} - /** - * Validation error. Also marks the object contents as invalid - * @param error code - * @param array error information - * @access private - */ - function _validateError($code, $params = array()) - { - $this->_stack->push($code, 'error', $params, false, false, debug_backtrace()); - $this->_isValid = false; - } - - /** - * Validation warning. Does not mark the object contents invalid. - * @param error code - * @param array error information - * @access private - */ - function _validateWarning($code, $params = array()) - { - $this->_stack->push($code, 'warning', $params, false, false, debug_backtrace()); - } - - /** - * @param integer error code - * @access protected - */ - function _getErrorMessage() - { - return array( - PEAR_PACKAGEFILE_ERROR_NO_NAME => - 'Missing Package Name', - PEAR_PACKAGEFILE_ERROR_NO_SUMMARY => - 'No summary found', - PEAR_PACKAGEFILE_ERROR_MULTILINE_SUMMARY => - 'Summary should be on one line', - PEAR_PACKAGEFILE_ERROR_NO_DESCRIPTION => - 'Missing description', - PEAR_PACKAGEFILE_ERROR_NO_LICENSE => - 'Missing license', - PEAR_PACKAGEFILE_ERROR_NO_VERSION => - 'No release version found', - PEAR_PACKAGEFILE_ERROR_NO_STATE => - 'No release state found', - PEAR_PACKAGEFILE_ERROR_NO_DATE => - 'No release date found', - PEAR_PACKAGEFILE_ERROR_NO_NOTES => - 'No release notes found', - PEAR_PACKAGEFILE_ERROR_NO_LEAD => - 'Package must have at least one lead maintainer', - PEAR_PACKAGEFILE_ERROR_NO_MAINTAINERS => - 'No maintainers found, at least one must be defined', - PEAR_PACKAGEFILE_ERROR_NO_MAINTHANDLE => - 'Maintainer %index% has no handle (user ID at channel server)', - PEAR_PACKAGEFILE_ERROR_NO_MAINTROLE => - 'Maintainer %index% has no role', - PEAR_PACKAGEFILE_ERROR_NO_MAINTNAME => - 'Maintainer %index% has no name', - PEAR_PACKAGEFILE_ERROR_NO_MAINTEMAIL => - 'Maintainer %index% has no email', - PEAR_PACKAGEFILE_ERROR_NO_DEPNAME => - 'Dependency %index% is not a php dependency, and has no name', - PEAR_PACKAGEFILE_ERROR_NO_DEPREL => - 'Dependency %index% has no relation (rel)', - PEAR_PACKAGEFILE_ERROR_NO_DEPTYPE => - 'Dependency %index% has no type', - PEAR_PACKAGEFILE_ERROR_DEPNAME_IGNORED => - 'PHP Dependency %index% has a name attribute of "%name%" which will be' . - ' ignored!', - PEAR_PACKAGEFILE_ERROR_NO_DEPVERSION => - 'Dependency %index% is not a rel="has" or rel="not" dependency, ' . - 'and has no version', - PEAR_PACKAGEFILE_ERROR_NO_DEPPHPVERSION => - 'Dependency %index% is a type="php" dependency, ' . - 'and has no version', - PEAR_PACKAGEFILE_ERROR_DEPVERSION_IGNORED => - 'Dependency %index% is a rel="%rel%" dependency, versioning is ignored', - PEAR_PACKAGEFILE_ERROR_INVALID_DEPOPTIONAL => - 'Dependency %index% has invalid optional value "%opt%", should be yes or no', - PEAR_PACKAGEFILE_PHP_NO_NOT => - 'Dependency %index%: php dependencies cannot use "not" rel, use "ne"' . - ' to exclude specific versions', - PEAR_PACKAGEFILE_ERROR_NO_CONFNAME => - 'Configure Option %index% has no name', - PEAR_PACKAGEFILE_ERROR_NO_CONFPROMPT => - 'Configure Option %index% has no prompt', - PEAR_PACKAGEFILE_ERROR_NO_FILES => - 'No files in section of package.xml', - PEAR_PACKAGEFILE_ERROR_NO_FILEROLE => - 'File "%file%" has no role, expecting one of "%roles%"', - PEAR_PACKAGEFILE_ERROR_INVALID_FILEROLE => - 'File "%file%" has invalid role "%role%", expecting one of "%roles%"', - PEAR_PACKAGEFILE_ERROR_INVALID_FILENAME => - 'File "%file%" cannot start with ".", cannot package or install', - PEAR_PACKAGEFILE_ERROR_INVALID_PHPFILE => - 'Parser error: invalid PHP found in file "%file%"', - PEAR_PACKAGEFILE_ERROR_NO_PNAME_PREFIX => - 'in %file%: %type% "%name%" not prefixed with package name "%package%"', - PEAR_PACKAGEFILE_ERROR_INVALID_FILE => - 'Parser error: invalid PHP file "%file%"', - PEAR_PACKAGEFILE_ERROR_CHANNELVAL => - 'Channel validator error: field "%field%" - %reason%', - PEAR_PACKAGEFILE_ERROR_PHP5 => - 'Error, PHP5 token encountered in %file%, analysis should be in PHP5', - PEAR_PACKAGEFILE_ERROR_FILE_NOTFOUND => - 'File "%file%" in package.xml does not exist', - PEAR_PACKAGEFILE_ERROR_NON_ISO_CHARS => - 'Package.xml contains non-ISO-8859-1 characters, and may not validate', - ); - } - - /** - * Validate XML package definition file. - * - * @access public - * @return boolean - */ - function validate($state = PEAR_VALIDATE_NORMAL, $nofilechecking = false) - { - if (($this->_isValid & $state) == $state) { - return true; - } - $this->_isValid = true; - $info = $this->_packageInfo; - if (empty($info['package'])) { - $this->_validateError(PEAR_PACKAGEFILE_ERROR_NO_NAME); - $this->_packageName = $pn = 'unknown'; - } else { - $this->_packageName = $pn = $info['package']; - } - - if (empty($info['summary'])) { - $this->_validateError(PEAR_PACKAGEFILE_ERROR_NO_SUMMARY); - } elseif (strpos(trim($info['summary']), "\n") !== false) { - $this->_validateWarning(PEAR_PACKAGEFILE_ERROR_MULTILINE_SUMMARY, - array('summary' => $info['summary'])); - } - if (empty($info['description'])) { - $this->_validateError(PEAR_PACKAGEFILE_ERROR_NO_DESCRIPTION); - } - if (empty($info['release_license'])) { - $this->_validateError(PEAR_PACKAGEFILE_ERROR_NO_LICENSE); - } - if (empty($info['version'])) { - $this->_validateError(PEAR_PACKAGEFILE_ERROR_NO_VERSION); - } - if (empty($info['release_state'])) { - $this->_validateError(PEAR_PACKAGEFILE_ERROR_NO_STATE); - } - if (empty($info['release_date'])) { - $this->_validateError(PEAR_PACKAGEFILE_ERROR_NO_DATE); - } - if (empty($info['release_notes'])) { - $this->_validateError(PEAR_PACKAGEFILE_ERROR_NO_NOTES); - } - if (empty($info['maintainers'])) { - $this->_validateError(PEAR_PACKAGEFILE_ERROR_NO_MAINTAINERS); - } else { - $haslead = false; - $i = 1; - foreach ($info['maintainers'] as $m) { - if (empty($m['handle'])) { - $this->_validateError(PEAR_PACKAGEFILE_ERROR_NO_MAINTHANDLE, - array('index' => $i)); - } - if (empty($m['role'])) { - $this->_validateError(PEAR_PACKAGEFILE_ERROR_NO_MAINTROLE, - array('index' => $i, 'roles' => PEAR_Common::getUserRoles())); - } elseif ($m['role'] == 'lead') { - $haslead = true; - } - if (empty($m['name'])) { - $this->_validateError(PEAR_PACKAGEFILE_ERROR_NO_MAINTNAME, - array('index' => $i)); - } - if (empty($m['email'])) { - $this->_validateError(PEAR_PACKAGEFILE_ERROR_NO_MAINTEMAIL, - array('index' => $i)); - } - $i++; - } - if (!$haslead) { - $this->_validateError(PEAR_PACKAGEFILE_ERROR_NO_LEAD); - } - } - if (!empty($info['release_deps'])) { - $i = 1; - foreach ($info['release_deps'] as $d) { - if (!isset($d['type']) || empty($d['type'])) { - $this->_validateError(PEAR_PACKAGEFILE_ERROR_NO_DEPTYPE, - array('index' => $i, 'types' => PEAR_Common::getDependencyTypes())); - continue; - } - if (!isset($d['rel']) || empty($d['rel'])) { - $this->_validateError(PEAR_PACKAGEFILE_ERROR_NO_DEPREL, - array('index' => $i, 'rels' => PEAR_Common::getDependencyRelations())); - continue; - } - if (!empty($d['optional'])) { - if (!in_array($d['optional'], array('yes', 'no'))) { - $this->_validateError(PEAR_PACKAGEFILE_ERROR_INVALID_DEPOPTIONAL, - array('index' => $i, 'opt' => $d['optional'])); - } - } - if ($d['rel'] != 'has' && $d['rel'] != 'not' && empty($d['version'])) { - $this->_validateError(PEAR_PACKAGEFILE_ERROR_NO_DEPVERSION, - array('index' => $i)); - } elseif (($d['rel'] == 'has' || $d['rel'] == 'not') && !empty($d['version'])) { - $this->_validateWarning(PEAR_PACKAGEFILE_ERROR_DEPVERSION_IGNORED, - array('index' => $i, 'rel' => $d['rel'])); - } - if ($d['type'] == 'php' && !empty($d['name'])) { - $this->_validateWarning(PEAR_PACKAGEFILE_ERROR_DEPNAME_IGNORED, - array('index' => $i, 'name' => $d['name'])); - } elseif ($d['type'] != 'php' && empty($d['name'])) { - $this->_validateError(PEAR_PACKAGEFILE_ERROR_NO_DEPNAME, - array('index' => $i)); - } - if ($d['type'] == 'php' && empty($d['version'])) { - $this->_validateError(PEAR_PACKAGEFILE_ERROR_NO_DEPPHPVERSION, - array('index' => $i)); - } - if (($d['rel'] == 'not') && ($d['type'] == 'php')) { - $this->_validateError(PEAR_PACKAGEFILE_PHP_NO_NOT, - array('index' => $i)); - } - $i++; - } - } - if (!empty($info['configure_options'])) { - $i = 1; - foreach ($info['configure_options'] as $c) { - if (empty($c['name'])) { - $this->_validateError(PEAR_PACKAGEFILE_ERROR_NO_CONFNAME, - array('index' => $i)); - } - if (empty($c['prompt'])) { - $this->_validateError(PEAR_PACKAGEFILE_ERROR_NO_CONFPROMPT, - array('index' => $i)); - } - $i++; - } - } - if (empty($info['filelist'])) { - $this->_validateError(PEAR_PACKAGEFILE_ERROR_NO_FILES); - $errors[] = 'no files'; - } else { - foreach ($info['filelist'] as $file => $fa) { - if (empty($fa['role'])) { - $this->_validateError(PEAR_PACKAGEFILE_ERROR_NO_FILEROLE, - array('file' => $file, 'roles' => PEAR_Common::getFileRoles())); - continue; - } elseif (!in_array($fa['role'], PEAR_Common::getFileRoles())) { - $this->_validateError(PEAR_PACKAGEFILE_ERROR_INVALID_FILEROLE, - array('file' => $file, 'role' => $fa['role'], 'roles' => PEAR_Common::getFileRoles())); - } - if (preg_match('~/\.\.?(/|\\z)|^\.\.?/~', str_replace('\\', '/', $file))) { - // file contains .. parent directory or . cur directory references - $this->_validateError(PEAR_PACKAGEFILE_ERROR_INVALID_FILENAME, - array('file' => $file)); - } - if (isset($fa['install-as']) && - preg_match('~/\.\.?(/|\\z)|^\.\.?/~', - str_replace('\\', '/', $fa['install-as']))) { - // install-as contains .. parent directory or . cur directory references - $this->_validateError(PEAR_PACKAGEFILE_ERROR_INVALID_FILENAME, - array('file' => $file . ' [installed as ' . $fa['install-as'] . ']')); - } - if (isset($fa['baseinstalldir']) && - preg_match('~/\.\.?(/|\\z)|^\.\.?/~', - str_replace('\\', '/', $fa['baseinstalldir']))) { - // install-as contains .. parent directory or . cur directory references - $this->_validateError(PEAR_PACKAGEFILE_ERROR_INVALID_FILENAME, - array('file' => $file . ' [baseinstalldir ' . $fa['baseinstalldir'] . ']')); - } - } - } - if (isset($this->_registry) && $this->_isValid) { - $chan = $this->_registry->getChannel('pear.php.net'); - if (PEAR::isError($chan)) { - $this->_validateError(PEAR_PACKAGEFILE_ERROR_CHANNELVAL, $chan->getMessage()); - return $this->_isValid = 0; - } - $validator = $chan->getValidationObject(); - $validator->setPackageFile($this); - $validator->validate($state); - $failures = $validator->getFailures(); - foreach ($failures['errors'] as $error) { - $this->_validateError(PEAR_PACKAGEFILE_ERROR_CHANNELVAL, $error); - } - foreach ($failures['warnings'] as $warning) { - $this->_validateWarning(PEAR_PACKAGEFILE_ERROR_CHANNELVAL, $warning); - } - } - if ($this->_isValid && $state == PEAR_VALIDATE_PACKAGING && !$nofilechecking) { - if ($this->_analyzePhpFiles()) { - $this->_isValid = true; - } - } - if ($this->_isValid) { - return $this->_isValid = $state; - } - return $this->_isValid = 0; - } - - function _analyzePhpFiles() - { - if (!$this->_isValid) { - return false; - } - if (!isset($this->_packageFile)) { - return false; - } - $dir_prefix = dirname($this->_packageFile); - $common = new PEAR_Common; - $log = isset($this->_logger) ? array(&$this->_logger, 'log') : - array($common, 'log'); - $info = $this->getFilelist(); - foreach ($info as $file => $fa) { - if (!file_exists($dir_prefix . DIRECTORY_SEPARATOR . $file)) { - $this->_validateError(PEAR_PACKAGEFILE_ERROR_FILE_NOTFOUND, - array('file' => realpath($dir_prefix) . DIRECTORY_SEPARATOR . $file)); - continue; - } - if ($fa['role'] == 'php' && $dir_prefix) { - call_user_func_array($log, array(1, "Analyzing $file")); - $srcinfo = $this->_analyzeSourceCode($dir_prefix . DIRECTORY_SEPARATOR . $file); - if ($srcinfo) { - $this->_buildProvidesArray($srcinfo); - } - } - } - $this->_packageName = $pn = $this->getPackage(); - $pnl = strlen($pn); - if (isset($this->_packageInfo['provides'])) { - foreach ((array) $this->_packageInfo['provides'] as $key => $what) { - if (isset($what['explicit'])) { - // skip conformance checks if the provides entry is - // specified in the package.xml file - continue; - } - extract($what); - if ($type == 'class') { - if (!strncasecmp($name, $pn, $pnl)) { - continue; - } - $this->_validateWarning(PEAR_PACKAGEFILE_ERROR_NO_PNAME_PREFIX, - array('file' => $file, 'type' => $type, 'name' => $name, 'package' => $pn)); - } elseif ($type == 'function') { - if (strstr($name, '::') || !strncasecmp($name, $pn, $pnl)) { - continue; - } - $this->_validateWarning(PEAR_PACKAGEFILE_ERROR_NO_PNAME_PREFIX, - array('file' => $file, 'type' => $type, 'name' => $name, 'package' => $pn)); - } - } - } - return $this->_isValid; - } - - /** - * Get the default xml generator object - * - * @return PEAR_PackageFile_Generator_v1 - */ - function &getDefaultGenerator() - { - if (!class_exists('PEAR_PackageFile_Generator_v1')) { - require_once 'PEAR/PackageFile/Generator/v1.php'; - } - $a = &new PEAR_PackageFile_Generator_v1($this); - return $a; - } - - /** - * Get the contents of a file listed within the package.xml - * @param string - * @return string - */ - function getFileContents($file) - { - if ($this->_archiveFile == $this->_packageFile) { // unpacked - $dir = dirname($this->_packageFile); - $file = $dir . DIRECTORY_SEPARATOR . $file; - $file = str_replace(array('/', '\\'), - array(DIRECTORY_SEPARATOR, DIRECTORY_SEPARATOR), $file); - if (file_exists($file) && is_readable($file)) { - return implode('', file($file)); - } - } else { // tgz - if (!class_exists('Archive_Tar')) { - require_once 'Archive/Tar.php'; - } - $tar = &new Archive_Tar($this->_archiveFile); - $tar->pushErrorHandling(PEAR_ERROR_RETURN); - if ($file != 'package.xml' && $file != 'package2.xml') { - $file = $this->getPackage() . '-' . $this->getVersion() . '/' . $file; - } - $file = $tar->extractInString($file); - $tar->popErrorHandling(); - if (PEAR::isError($file)) { - return PEAR::raiseError("Cannot locate file '$file' in archive"); - } - return $file; - } - } - - // {{{ analyzeSourceCode() - /** - * Analyze the source code of the given PHP file - * - * @param string Filename of the PHP file - * @return mixed - * @access private - */ - function _analyzeSourceCode($file) - { - if (!function_exists("token_get_all")) { - return false; - } - if (!defined('T_DOC_COMMENT')) { - define('T_DOC_COMMENT', T_COMMENT); - } - if (!defined('T_INTERFACE')) { - define('T_INTERFACE', -1); - } - if (!defined('T_IMPLEMENTS')) { - define('T_IMPLEMENTS', -1); - } - if (!$fp = @fopen($file, "r")) { - return false; - } - fclose($fp); - $contents = file_get_contents($file); - $tokens = token_get_all($contents); -/* - for ($i = 0; $i < sizeof($tokens); $i++) { - @list($token, $data) = $tokens[$i]; - if (is_string($token)) { - var_dump($token); - } else { - print token_name($token) . ' '; - var_dump(rtrim($data)); - } - } -*/ - $look_for = 0; - $paren_level = 0; - $bracket_level = 0; - $brace_level = 0; - $lastphpdoc = ''; - $current_class = ''; - $current_interface = ''; - $current_class_level = -1; - $current_function = ''; - $current_function_level = -1; - $declared_classes = array(); - $declared_interfaces = array(); - $declared_functions = array(); - $declared_methods = array(); - $used_classes = array(); - $used_functions = array(); - $extends = array(); - $implements = array(); - $nodeps = array(); - $inquote = false; - $interface = false; - for ($i = 0; $i < sizeof($tokens); $i++) { - if (is_array($tokens[$i])) { - list($token, $data) = $tokens[$i]; - } else { - $token = $tokens[$i]; - $data = ''; - } - if ($inquote) { - if ($token != '"' && $token != T_END_HEREDOC) { - continue; - } else { - $inquote = false; - continue; - } - } - switch ($token) { - case T_WHITESPACE : - continue; - case ';': - if ($interface) { - $current_function = ''; - $current_function_level = -1; - } - break; - case '"': - case T_START_HEREDOC: - $inquote = true; - break; - case T_CURLY_OPEN: - case T_DOLLAR_OPEN_CURLY_BRACES: - case '{': $brace_level++; continue 2; - case '}': - $brace_level--; - if ($current_class_level == $brace_level) { - $current_class = ''; - $current_class_level = -1; - } - if ($current_function_level == $brace_level) { - $current_function = ''; - $current_function_level = -1; - } - continue 2; - case '[': $bracket_level++; continue 2; - case ']': $bracket_level--; continue 2; - case '(': $paren_level++; continue 2; - case ')': $paren_level--; continue 2; - case T_INTERFACE: - $interface = true; - case T_CLASS: - if (($current_class_level != -1) || ($current_function_level != -1)) { - $this->_validateError(PEAR_PACKAGEFILE_ERROR_INVALID_PHPFILE, - array('file' => $file)); - return false; - } - case T_FUNCTION: - case T_NEW: - case T_EXTENDS: - case T_IMPLEMENTS: - $look_for = $token; - continue 2; - case T_STRING: - if (version_compare(zend_version(), '2.0', '<')) { - if (in_array(strtolower($data), - array('public', 'private', 'protected', 'abstract', - 'interface', 'implements', 'throw') - )) { - $this->_validateWarning(PEAR_PACKAGEFILE_ERROR_PHP5, - array($file)); - } - } - if ($look_for == T_CLASS) { - $current_class = $data; - $current_class_level = $brace_level; - $declared_classes[] = $current_class; - } elseif ($look_for == T_INTERFACE) { - $current_interface = $data; - $current_class_level = $brace_level; - $declared_interfaces[] = $current_interface; - } elseif ($look_for == T_IMPLEMENTS) { - $implements[$current_class] = $data; - } elseif ($look_for == T_EXTENDS) { - $extends[$current_class] = $data; - } elseif ($look_for == T_FUNCTION) { - if ($current_class) { - $current_function = "$current_class::$data"; - $declared_methods[$current_class][] = $data; - } elseif ($current_interface) { - $current_function = "$current_interface::$data"; - $declared_methods[$current_interface][] = $data; - } else { - $current_function = $data; - $declared_functions[] = $current_function; - } - $current_function_level = $brace_level; - $m = array(); - } elseif ($look_for == T_NEW) { - $used_classes[$data] = true; - } - $look_for = 0; - continue 2; - case T_VARIABLE: - $look_for = 0; - continue 2; - case T_DOC_COMMENT: - case T_COMMENT: - if (preg_match('!^/\*\*\s!', $data)) { - $lastphpdoc = $data; - if (preg_match_all('/@nodep\s+(\S+)/', $lastphpdoc, $m)) { - $nodeps = array_merge($nodeps, $m[1]); - } - } - continue 2; - case T_DOUBLE_COLON: - if (!($tokens[$i - 1][0] == T_WHITESPACE || $tokens[$i - 1][0] == T_STRING)) { - $this->_validateError(PEAR_PACKAGEFILE_ERROR_INVALID_PHPFILE, - array('file' => $file)); - return false; - } - $class = $tokens[$i - 1][1]; - if (strtolower($class) != 'parent') { - $used_classes[$class] = true; - } - continue 2; - } - } - return array( - "source_file" => $file, - "declared_classes" => $declared_classes, - "declared_interfaces" => $declared_interfaces, - "declared_methods" => $declared_methods, - "declared_functions" => $declared_functions, - "used_classes" => array_diff(array_keys($used_classes), $nodeps), - "inheritance" => $extends, - "implements" => $implements, - ); - } - - /** - * Build a "provides" array from data returned by - * analyzeSourceCode(). The format of the built array is like - * this: - * - * array( - * 'class;MyClass' => 'array('type' => 'class', 'name' => 'MyClass'), - * ... - * ) - * - * - * @param array $srcinfo array with information about a source file - * as returned by the analyzeSourceCode() method. - * - * @return void - * - * @access private - * - */ - function _buildProvidesArray($srcinfo) - { - if (!$this->_isValid) { - return false; - } - $file = basename($srcinfo['source_file']); - $pn = $this->getPackage(); - $pnl = strlen($pn); - foreach ($srcinfo['declared_classes'] as $class) { - $key = "class;$class"; - if (isset($this->_packageInfo['provides'][$key])) { - continue; - } - $this->_packageInfo['provides'][$key] = - array('file'=> $file, 'type' => 'class', 'name' => $class); - if (isset($srcinfo['inheritance'][$class])) { - $this->_packageInfo['provides'][$key]['extends'] = - $srcinfo['inheritance'][$class]; - } - } - foreach ($srcinfo['declared_methods'] as $class => $methods) { - foreach ($methods as $method) { - $function = "$class::$method"; - $key = "function;$function"; - if ($method{0} == '_' || !strcasecmp($method, $class) || - isset($this->_packageInfo['provides'][$key])) { - continue; - } - $this->_packageInfo['provides'][$key] = - array('file'=> $file, 'type' => 'function', 'name' => $function); - } - } - - foreach ($srcinfo['declared_functions'] as $function) { - $key = "function;$function"; - if ($function{0} == '_' || isset($this->_packageInfo['provides'][$key])) { - continue; - } - if (!strstr($function, '::') && strncasecmp($function, $pn, $pnl)) { - $warnings[] = "in1 " . $file . ": function \"$function\" not prefixed with package name \"$pn\""; - } - $this->_packageInfo['provides'][$key] = - array('file'=> $file, 'type' => 'function', 'name' => $function); - } - } - - // }}} -} -?> diff --git a/3rdparty/PEAR/PackageFile/v2.php b/3rdparty/PEAR/PackageFile/v2.php deleted file mode 100644 index 1ca412dc8cdb74781d7575e67fe00480864a57f1..0000000000000000000000000000000000000000 --- a/3rdparty/PEAR/PackageFile/v2.php +++ /dev/null @@ -1,2049 +0,0 @@ - - * @copyright 1997-2009 The Authors - * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: v2.php 313023 2011-07-06 19:17:11Z dufuz $ - * @link http://pear.php.net/package/PEAR - * @since File available since Release 1.4.0a1 - */ -/** - * For error handling - */ -require_once 'PEAR/ErrorStack.php'; -/** - * @category pear - * @package PEAR - * @author Greg Beaver - * @copyright 1997-2009 The Authors - * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.4 - * @link http://pear.php.net/package/PEAR - * @since Class available since Release 1.4.0a1 - */ -class PEAR_PackageFile_v2 -{ - - /** - * Parsed package information - * @var array - * @access private - */ - var $_packageInfo = array(); - - /** - * path to package .tgz or false if this is a local/extracted package.xml - * @var string|false - * @access private - */ - var $_archiveFile; - - /** - * path to package .xml or false if this is an abstract parsed-from-string xml - * @var string|false - * @access private - */ - var $_packageFile; - - /** - * This is used by file analysis routines to log progress information - * @var PEAR_Common - * @access protected - */ - var $_logger; - - /** - * This is set to the highest validation level that has been validated - * - * If the package.xml is invalid or unknown, this is set to 0. If - * normal validation has occurred, this is set to PEAR_VALIDATE_NORMAL. If - * downloading/installation validation has occurred it is set to PEAR_VALIDATE_DOWNLOADING - * or INSTALLING, and so on up to PEAR_VALIDATE_PACKAGING. This allows validation - * "caching" to occur, which is particularly important for package validation, so - * that PHP files are not validated twice - * @var int - * @access private - */ - var $_isValid = 0; - - /** - * True if the filelist has been validated - * @param bool - */ - var $_filesValid = false; - - /** - * @var PEAR_Registry - * @access protected - */ - var $_registry; - - /** - * @var PEAR_Config - * @access protected - */ - var $_config; - - /** - * Optional Dependency group requested for installation - * @var string - * @access private - */ - var $_requestedGroup = false; - - /** - * @var PEAR_ErrorStack - * @access protected - */ - var $_stack; - - /** - * Namespace prefix used for tasks in this package.xml - use tasks: whenever possible - */ - var $_tasksNs; - - /** - * Determines whether this packagefile was initialized only with partial package info - * - * If this package file was constructed via parsing REST, it will only contain - * - * - package name - * - channel name - * - dependencies - * @var boolean - * @access private - */ - var $_incomplete = true; - - /** - * @var PEAR_PackageFile_v2_Validator - */ - var $_v2Validator; - - /** - * The constructor merely sets up the private error stack - */ - function PEAR_PackageFile_v2() - { - $this->_stack = new PEAR_ErrorStack('PEAR_PackageFile_v2', false, null); - $this->_isValid = false; - } - - /** - * To make unit-testing easier - * @param PEAR_Frontend_* - * @param array options - * @param PEAR_Config - * @return PEAR_Downloader - * @access protected - */ - function &getPEARDownloader(&$i, $o, &$c) - { - $z = &new PEAR_Downloader($i, $o, $c); - return $z; - } - - /** - * To make unit-testing easier - * @param PEAR_Config - * @param array options - * @param array package name as returned from {@link PEAR_Registry::parsePackageName()} - * @param int PEAR_VALIDATE_* constant - * @return PEAR_Dependency2 - * @access protected - */ - function &getPEARDependency2(&$c, $o, $p, $s = PEAR_VALIDATE_INSTALLING) - { - if (!class_exists('PEAR_Dependency2')) { - require_once 'PEAR/Dependency2.php'; - } - $z = &new PEAR_Dependency2($c, $o, $p, $s); - return $z; - } - - function getInstalledBinary() - { - return isset($this->_packageInfo['#binarypackage']) ? $this->_packageInfo['#binarypackage'] : - false; - } - - /** - * Installation of source package has failed, attempt to download and install the - * binary version of this package. - * @param PEAR_Installer - * @return array|false - */ - function installBinary(&$installer) - { - if (!OS_WINDOWS) { - $a = false; - return $a; - } - if ($this->getPackageType() == 'extsrc' || $this->getPackageType() == 'zendextsrc') { - $releasetype = $this->getPackageType() . 'release'; - if (!is_array($installer->getInstallPackages())) { - $a = false; - return $a; - } - foreach ($installer->getInstallPackages() as $p) { - if ($p->isExtension($this->_packageInfo['providesextension'])) { - if ($p->getPackageType() != 'extsrc' && $p->getPackageType() != 'zendextsrc') { - $a = false; - return $a; // the user probably downloaded it separately - } - } - } - if (isset($this->_packageInfo[$releasetype]['binarypackage'])) { - $installer->log(0, 'Attempting to download binary version of extension "' . - $this->_packageInfo['providesextension'] . '"'); - $params = $this->_packageInfo[$releasetype]['binarypackage']; - if (!is_array($params) || !isset($params[0])) { - $params = array($params); - } - if (isset($this->_packageInfo['channel'])) { - foreach ($params as $i => $param) { - $params[$i] = array('channel' => $this->_packageInfo['channel'], - 'package' => $param, 'version' => $this->getVersion()); - } - } - $dl = &$this->getPEARDownloader($installer->ui, $installer->getOptions(), - $installer->config); - $verbose = $dl->config->get('verbose'); - $dl->config->set('verbose', -1); - foreach ($params as $param) { - PEAR::pushErrorHandling(PEAR_ERROR_RETURN); - $ret = $dl->download(array($param)); - PEAR::popErrorHandling(); - if (is_array($ret) && count($ret)) { - break; - } - } - $dl->config->set('verbose', $verbose); - if (is_array($ret)) { - if (count($ret) == 1) { - $pf = $ret[0]->getPackageFile(); - PEAR::pushErrorHandling(PEAR_ERROR_RETURN); - $err = $installer->install($ret[0]); - PEAR::popErrorHandling(); - if (is_array($err)) { - $this->_packageInfo['#binarypackage'] = $ret[0]->getPackage(); - // "install" self, so all dependencies will work transparently - $this->_registry->addPackage2($this); - $installer->log(0, 'Download and install of binary extension "' . - $this->_registry->parsedPackageNameToString( - array('channel' => $pf->getChannel(), - 'package' => $pf->getPackage()), true) . '" successful'); - $a = array($ret[0], $err); - return $a; - } - $installer->log(0, 'Download and install of binary extension "' . - $this->_registry->parsedPackageNameToString( - array('channel' => $pf->getChannel(), - 'package' => $pf->getPackage()), true) . '" failed'); - } - } - } - } - $a = false; - return $a; - } - - /** - * @return string|false Extension name - */ - function getProvidesExtension() - { - if (in_array($this->getPackageType(), - array('extsrc', 'extbin', 'zendextsrc', 'zendextbin'))) { - if (isset($this->_packageInfo['providesextension'])) { - return $this->_packageInfo['providesextension']; - } - } - return false; - } - - /** - * @param string Extension name - * @return bool - */ - function isExtension($extension) - { - if (in_array($this->getPackageType(), - array('extsrc', 'extbin', 'zendextsrc', 'zendextbin'))) { - return $this->_packageInfo['providesextension'] == $extension; - } - return false; - } - - /** - * Tests whether every part of the package.xml 1.0 is represented in - * this package.xml 2.0 - * @param PEAR_PackageFile_v1 - * @return bool - */ - function isEquivalent($pf1) - { - if (!$pf1) { - return true; - } - if ($this->getPackageType() == 'bundle') { - return false; - } - $this->_stack->getErrors(true); - if (!$pf1->validate(PEAR_VALIDATE_NORMAL)) { - return false; - } - $pass = true; - if ($pf1->getPackage() != $this->getPackage()) { - $this->_differentPackage($pf1->getPackage()); - $pass = false; - } - if ($pf1->getVersion() != $this->getVersion()) { - $this->_differentVersion($pf1->getVersion()); - $pass = false; - } - if (trim($pf1->getSummary()) != $this->getSummary()) { - $this->_differentSummary($pf1->getSummary()); - $pass = false; - } - if (preg_replace('/\s+/', '', $pf1->getDescription()) != - preg_replace('/\s+/', '', $this->getDescription())) { - $this->_differentDescription($pf1->getDescription()); - $pass = false; - } - if ($pf1->getState() != $this->getState()) { - $this->_differentState($pf1->getState()); - $pass = false; - } - if (!strstr(preg_replace('/\s+/', '', $this->getNotes()), - preg_replace('/\s+/', '', $pf1->getNotes()))) { - $this->_differentNotes($pf1->getNotes()); - $pass = false; - } - $mymaintainers = $this->getMaintainers(); - $yourmaintainers = $pf1->getMaintainers(); - for ($i1 = 0; $i1 < count($yourmaintainers); $i1++) { - $reset = false; - for ($i2 = 0; $i2 < count($mymaintainers); $i2++) { - if ($mymaintainers[$i2]['handle'] == $yourmaintainers[$i1]['handle']) { - if ($mymaintainers[$i2]['role'] != $yourmaintainers[$i1]['role']) { - $this->_differentRole($mymaintainers[$i2]['handle'], - $yourmaintainers[$i1]['role'], $mymaintainers[$i2]['role']); - $pass = false; - } - if ($mymaintainers[$i2]['email'] != $yourmaintainers[$i1]['email']) { - $this->_differentEmail($mymaintainers[$i2]['handle'], - $yourmaintainers[$i1]['email'], $mymaintainers[$i2]['email']); - $pass = false; - } - if ($mymaintainers[$i2]['name'] != $yourmaintainers[$i1]['name']) { - $this->_differentName($mymaintainers[$i2]['handle'], - $yourmaintainers[$i1]['name'], $mymaintainers[$i2]['name']); - $pass = false; - } - unset($mymaintainers[$i2]); - $mymaintainers = array_values($mymaintainers); - unset($yourmaintainers[$i1]); - $yourmaintainers = array_values($yourmaintainers); - $reset = true; - break; - } - } - if ($reset) { - $i1 = -1; - } - } - $this->_unmatchedMaintainers($mymaintainers, $yourmaintainers); - $filelist = $this->getFilelist(); - foreach ($pf1->getFilelist() as $file => $atts) { - if (!isset($filelist[$file])) { - $this->_missingFile($file); - $pass = false; - } - } - return $pass; - } - - function _differentPackage($package) - { - $this->_stack->push(__FUNCTION__, 'error', array('package' => $package, - 'self' => $this->getPackage()), - 'package.xml 1.0 package "%package%" does not match "%self%"'); - } - - function _differentVersion($version) - { - $this->_stack->push(__FUNCTION__, 'error', array('version' => $version, - 'self' => $this->getVersion()), - 'package.xml 1.0 version "%version%" does not match "%self%"'); - } - - function _differentState($state) - { - $this->_stack->push(__FUNCTION__, 'error', array('state' => $state, - 'self' => $this->getState()), - 'package.xml 1.0 state "%state%" does not match "%self%"'); - } - - function _differentRole($handle, $role, $selfrole) - { - $this->_stack->push(__FUNCTION__, 'error', array('handle' => $handle, - 'role' => $role, 'self' => $selfrole), - 'package.xml 1.0 maintainer "%handle%" role "%role%" does not match "%self%"'); - } - - function _differentEmail($handle, $email, $selfemail) - { - $this->_stack->push(__FUNCTION__, 'error', array('handle' => $handle, - 'email' => $email, 'self' => $selfemail), - 'package.xml 1.0 maintainer "%handle%" email "%email%" does not match "%self%"'); - } - - function _differentName($handle, $name, $selfname) - { - $this->_stack->push(__FUNCTION__, 'error', array('handle' => $handle, - 'name' => $name, 'self' => $selfname), - 'package.xml 1.0 maintainer "%handle%" name "%name%" does not match "%self%"'); - } - - function _unmatchedMaintainers($my, $yours) - { - if ($my) { - array_walk($my, create_function('&$i, $k', '$i = $i["handle"];')); - $this->_stack->push(__FUNCTION__, 'error', array('handles' => $my), - 'package.xml 2.0 has unmatched extra maintainers "%handles%"'); - } - if ($yours) { - array_walk($yours, create_function('&$i, $k', '$i = $i["handle"];')); - $this->_stack->push(__FUNCTION__, 'error', array('handles' => $yours), - 'package.xml 1.0 has unmatched extra maintainers "%handles%"'); - } - } - - function _differentNotes($notes) - { - $truncnotes = strlen($notes) < 25 ? $notes : substr($notes, 0, 24) . '...'; - $truncmynotes = strlen($this->getNotes()) < 25 ? $this->getNotes() : - substr($this->getNotes(), 0, 24) . '...'; - $this->_stack->push(__FUNCTION__, 'error', array('notes' => $truncnotes, - 'self' => $truncmynotes), - 'package.xml 1.0 release notes "%notes%" do not match "%self%"'); - } - - function _differentSummary($summary) - { - $truncsummary = strlen($summary) < 25 ? $summary : substr($summary, 0, 24) . '...'; - $truncmysummary = strlen($this->getsummary()) < 25 ? $this->getSummary() : - substr($this->getsummary(), 0, 24) . '...'; - $this->_stack->push(__FUNCTION__, 'error', array('summary' => $truncsummary, - 'self' => $truncmysummary), - 'package.xml 1.0 summary "%summary%" does not match "%self%"'); - } - - function _differentDescription($description) - { - $truncdescription = trim(strlen($description) < 25 ? $description : substr($description, 0, 24) . '...'); - $truncmydescription = trim(strlen($this->getDescription()) < 25 ? $this->getDescription() : - substr($this->getdescription(), 0, 24) . '...'); - $this->_stack->push(__FUNCTION__, 'error', array('description' => $truncdescription, - 'self' => $truncmydescription), - 'package.xml 1.0 description "%description%" does not match "%self%"'); - } - - function _missingFile($file) - { - $this->_stack->push(__FUNCTION__, 'error', array('file' => $file), - 'package.xml 1.0 file "%file%" is not present in '); - } - - /** - * WARNING - do not use this function unless you know what you're doing - */ - function setRawState($state) - { - if (!isset($this->_packageInfo['stability'])) { - $this->_packageInfo['stability'] = array(); - } - $this->_packageInfo['stability']['release'] = $state; - } - - /** - * WARNING - do not use this function unless you know what you're doing - */ - function setRawCompatible($compatible) - { - $this->_packageInfo['compatible'] = $compatible; - } - - /** - * WARNING - do not use this function unless you know what you're doing - */ - function setRawPackage($package) - { - $this->_packageInfo['name'] = $package; - } - - /** - * WARNING - do not use this function unless you know what you're doing - */ - function setRawChannel($channel) - { - $this->_packageInfo['channel'] = $channel; - } - - function setRequestedGroup($group) - { - $this->_requestedGroup = $group; - } - - function getRequestedGroup() - { - if (isset($this->_requestedGroup)) { - return $this->_requestedGroup; - } - return false; - } - - /** - * For saving in the registry. - * - * Set the last version that was installed - * @param string - */ - function setLastInstalledVersion($version) - { - $this->_packageInfo['_lastversion'] = $version; - } - - /** - * @return string|false - */ - function getLastInstalledVersion() - { - if (isset($this->_packageInfo['_lastversion'])) { - return $this->_packageInfo['_lastversion']; - } - return false; - } - - /** - * Determines whether this package.xml has post-install scripts or not - * @return array|false - */ - function listPostinstallScripts() - { - $filelist = $this->getFilelist(); - $contents = $this->getContents(); - $contents = $contents['dir']['file']; - if (!is_array($contents) || !isset($contents[0])) { - $contents = array($contents); - } - $taskfiles = array(); - foreach ($contents as $file) { - $atts = $file['attribs']; - unset($file['attribs']); - if (count($file)) { - $taskfiles[$atts['name']] = $file; - } - } - $common = new PEAR_Common; - $common->debug = $this->_config->get('verbose'); - $this->_scripts = array(); - $ret = array(); - foreach ($taskfiles as $name => $tasks) { - if (!isset($filelist[$name])) { - // ignored files will not be in the filelist - continue; - } - $atts = $filelist[$name]; - foreach ($tasks as $tag => $raw) { - $task = $this->getTask($tag); - $task = &new $task($this->_config, $common, PEAR_TASK_INSTALL); - if ($task->isScript()) { - $ret[] = $filelist[$name]['installed_as']; - } - } - } - if (count($ret)) { - return $ret; - } - return false; - } - - /** - * Initialize post-install scripts for running - * - * This method can be used to detect post-install scripts, as the return value - * indicates whether any exist - * @return bool - */ - function initPostinstallScripts() - { - $filelist = $this->getFilelist(); - $contents = $this->getContents(); - $contents = $contents['dir']['file']; - if (!is_array($contents) || !isset($contents[0])) { - $contents = array($contents); - } - $taskfiles = array(); - foreach ($contents as $file) { - $atts = $file['attribs']; - unset($file['attribs']); - if (count($file)) { - $taskfiles[$atts['name']] = $file; - } - } - $common = new PEAR_Common; - $common->debug = $this->_config->get('verbose'); - $this->_scripts = array(); - foreach ($taskfiles as $name => $tasks) { - if (!isset($filelist[$name])) { - // file was not installed due to installconditions - continue; - } - $atts = $filelist[$name]; - foreach ($tasks as $tag => $raw) { - $taskname = $this->getTask($tag); - $task = &new $taskname($this->_config, $common, PEAR_TASK_INSTALL); - if (!$task->isScript()) { - continue; // scripts are only handled after installation - } - $lastversion = isset($this->_packageInfo['_lastversion']) ? - $this->_packageInfo['_lastversion'] : null; - $task->init($raw, $atts, $lastversion); - $res = $task->startSession($this, $atts['installed_as']); - if (!$res) { - continue; // skip this file - } - if (PEAR::isError($res)) { - return $res; - } - $assign = &$task; - $this->_scripts[] = &$assign; - } - } - if (count($this->_scripts)) { - return true; - } - return false; - } - - function runPostinstallScripts() - { - if ($this->initPostinstallScripts()) { - $ui = &PEAR_Frontend::singleton(); - if ($ui) { - $ui->runPostinstallScripts($this->_scripts, $this); - } - } - } - - - /** - * Convert a recursive set of and tags into a single tag with - * tags. - */ - function flattenFilelist() - { - if (isset($this->_packageInfo['bundle'])) { - return; - } - $filelist = array(); - if (isset($this->_packageInfo['contents']['dir']['dir'])) { - $this->_getFlattenedFilelist($filelist, $this->_packageInfo['contents']['dir']); - if (!isset($filelist[1])) { - $filelist = $filelist[0]; - } - $this->_packageInfo['contents']['dir']['file'] = $filelist; - unset($this->_packageInfo['contents']['dir']['dir']); - } else { - // else already flattened but check for baseinstalldir propagation - if (isset($this->_packageInfo['contents']['dir']['attribs']['baseinstalldir'])) { - if (isset($this->_packageInfo['contents']['dir']['file'][0])) { - foreach ($this->_packageInfo['contents']['dir']['file'] as $i => $file) { - if (isset($file['attribs']['baseinstalldir'])) { - continue; - } - $this->_packageInfo['contents']['dir']['file'][$i]['attribs']['baseinstalldir'] - = $this->_packageInfo['contents']['dir']['attribs']['baseinstalldir']; - } - } else { - if (!isset($this->_packageInfo['contents']['dir']['file']['attribs']['baseinstalldir'])) { - $this->_packageInfo['contents']['dir']['file']['attribs']['baseinstalldir'] - = $this->_packageInfo['contents']['dir']['attribs']['baseinstalldir']; - } - } - } - } - } - - /** - * @param array the final flattened file list - * @param array the current directory being processed - * @param string|false any recursively inherited baeinstalldir attribute - * @param string private recursion variable - * @return array - * @access protected - */ - function _getFlattenedFilelist(&$files, $dir, $baseinstall = false, $path = '') - { - if (isset($dir['attribs']) && isset($dir['attribs']['baseinstalldir'])) { - $baseinstall = $dir['attribs']['baseinstalldir']; - } - if (isset($dir['dir'])) { - if (!isset($dir['dir'][0])) { - $dir['dir'] = array($dir['dir']); - } - foreach ($dir['dir'] as $subdir) { - if (!isset($subdir['attribs']) || !isset($subdir['attribs']['name'])) { - $name = '*unknown*'; - } else { - $name = $subdir['attribs']['name']; - } - $newpath = empty($path) ? $name : - $path . '/' . $name; - $this->_getFlattenedFilelist($files, $subdir, - $baseinstall, $newpath); - } - } - if (isset($dir['file'])) { - if (!isset($dir['file'][0])) { - $dir['file'] = array($dir['file']); - } - foreach ($dir['file'] as $file) { - $attrs = $file['attribs']; - $name = $attrs['name']; - if ($baseinstall && !isset($attrs['baseinstalldir'])) { - $attrs['baseinstalldir'] = $baseinstall; - } - $attrs['name'] = empty($path) ? $name : $path . '/' . $name; - $attrs['name'] = preg_replace(array('!\\\\+!', '!/+!'), array('/', '/'), - $attrs['name']); - $file['attribs'] = $attrs; - $files[] = $file; - } - } - } - - function setConfig(&$config) - { - $this->_config = &$config; - $this->_registry = &$config->getRegistry(); - } - - function setLogger(&$logger) - { - if (!is_object($logger) || !method_exists($logger, 'log')) { - return PEAR::raiseError('Logger must be compatible with PEAR_Common::log'); - } - $this->_logger = &$logger; - } - - /** - * WARNING - do not use this function directly unless you know what you're doing - */ - function setDeps($deps) - { - $this->_packageInfo['dependencies'] = $deps; - } - - /** - * WARNING - do not use this function directly unless you know what you're doing - */ - function setCompatible($compat) - { - $this->_packageInfo['compatible'] = $compat; - } - - function setPackagefile($file, $archive = false) - { - $this->_packageFile = $file; - $this->_archiveFile = $archive ? $archive : $file; - } - - /** - * Wrapper to {@link PEAR_ErrorStack::getErrors()} - * @param boolean determines whether to purge the error stack after retrieving - * @return array - */ - function getValidationWarnings($purge = true) - { - return $this->_stack->getErrors($purge); - } - - function getPackageFile() - { - return $this->_packageFile; - } - - function getArchiveFile() - { - return $this->_archiveFile; - } - - - /** - * Directly set the array that defines this packagefile - * - * WARNING: no validation. This should only be performed by internal methods - * inside PEAR or by inputting an array saved from an existing PEAR_PackageFile_v2 - * @param array - */ - function fromArray($pinfo) - { - unset($pinfo['old']); - unset($pinfo['xsdversion']); - // If the changelog isn't an array then it was passed in as an empty tag - if (isset($pinfo['changelog']) && !is_array($pinfo['changelog'])) { - unset($pinfo['changelog']); - } - $this->_incomplete = false; - $this->_packageInfo = $pinfo; - } - - function isIncomplete() - { - return $this->_incomplete; - } - - /** - * @return array - */ - function toArray($forreg = false) - { - if (!$this->validate(PEAR_VALIDATE_NORMAL)) { - return false; - } - return $this->getArray($forreg); - } - - function getArray($forReg = false) - { - if ($forReg) { - $arr = $this->_packageInfo; - $arr['old'] = array(); - $arr['old']['version'] = $this->getVersion(); - $arr['old']['release_date'] = $this->getDate(); - $arr['old']['release_state'] = $this->getState(); - $arr['old']['release_license'] = $this->getLicense(); - $arr['old']['release_notes'] = $this->getNotes(); - $arr['old']['release_deps'] = $this->getDeps(); - $arr['old']['maintainers'] = $this->getMaintainers(); - $arr['xsdversion'] = '2.0'; - return $arr; - } else { - $info = $this->_packageInfo; - unset($info['dirtree']); - if (isset($info['_lastversion'])) { - unset($info['_lastversion']); - } - if (isset($info['#binarypackage'])) { - unset($info['#binarypackage']); - } - return $info; - } - } - - function packageInfo($field) - { - $arr = $this->getArray(true); - if ($field == 'state') { - return $arr['stability']['release']; - } - if ($field == 'api-version') { - return $arr['version']['api']; - } - if ($field == 'api-state') { - return $arr['stability']['api']; - } - if (isset($arr['old'][$field])) { - if (!is_string($arr['old'][$field])) { - return null; - } - return $arr['old'][$field]; - } - if (isset($arr[$field])) { - if (!is_string($arr[$field])) { - return null; - } - return $arr[$field]; - } - return null; - } - - function getName() - { - return $this->getPackage(); - } - - function getPackage() - { - if (isset($this->_packageInfo['name'])) { - return $this->_packageInfo['name']; - } - return false; - } - - function getChannel() - { - if (isset($this->_packageInfo['uri'])) { - return '__uri'; - } - if (isset($this->_packageInfo['channel'])) { - return strtolower($this->_packageInfo['channel']); - } - return false; - } - - function getUri() - { - if (isset($this->_packageInfo['uri'])) { - return $this->_packageInfo['uri']; - } - return false; - } - - function getExtends() - { - if (isset($this->_packageInfo['extends'])) { - return $this->_packageInfo['extends']; - } - return false; - } - - function getSummary() - { - if (isset($this->_packageInfo['summary'])) { - return $this->_packageInfo['summary']; - } - return false; - } - - function getDescription() - { - if (isset($this->_packageInfo['description'])) { - return $this->_packageInfo['description']; - } - return false; - } - - function getMaintainers($raw = false) - { - if (!isset($this->_packageInfo['lead'])) { - return false; - } - if ($raw) { - $ret = array('lead' => $this->_packageInfo['lead']); - (isset($this->_packageInfo['developer'])) ? - $ret['developer'] = $this->_packageInfo['developer'] :null; - (isset($this->_packageInfo['contributor'])) ? - $ret['contributor'] = $this->_packageInfo['contributor'] :null; - (isset($this->_packageInfo['helper'])) ? - $ret['helper'] = $this->_packageInfo['helper'] :null; - return $ret; - } else { - $ret = array(); - $leads = isset($this->_packageInfo['lead'][0]) ? $this->_packageInfo['lead'] : - array($this->_packageInfo['lead']); - foreach ($leads as $lead) { - $s = $lead; - $s['handle'] = $s['user']; - unset($s['user']); - $s['role'] = 'lead'; - $ret[] = $s; - } - if (isset($this->_packageInfo['developer'])) { - $leads = isset($this->_packageInfo['developer'][0]) ? - $this->_packageInfo['developer'] : - array($this->_packageInfo['developer']); - foreach ($leads as $maintainer) { - $s = $maintainer; - $s['handle'] = $s['user']; - unset($s['user']); - $s['role'] = 'developer'; - $ret[] = $s; - } - } - if (isset($this->_packageInfo['contributor'])) { - $leads = isset($this->_packageInfo['contributor'][0]) ? - $this->_packageInfo['contributor'] : - array($this->_packageInfo['contributor']); - foreach ($leads as $maintainer) { - $s = $maintainer; - $s['handle'] = $s['user']; - unset($s['user']); - $s['role'] = 'contributor'; - $ret[] = $s; - } - } - if (isset($this->_packageInfo['helper'])) { - $leads = isset($this->_packageInfo['helper'][0]) ? - $this->_packageInfo['helper'] : - array($this->_packageInfo['helper']); - foreach ($leads as $maintainer) { - $s = $maintainer; - $s['handle'] = $s['user']; - unset($s['user']); - $s['role'] = 'helper'; - $ret[] = $s; - } - } - return $ret; - } - return false; - } - - function getLeads() - { - if (isset($this->_packageInfo['lead'])) { - return $this->_packageInfo['lead']; - } - return false; - } - - function getDevelopers() - { - if (isset($this->_packageInfo['developer'])) { - return $this->_packageInfo['developer']; - } - return false; - } - - function getContributors() - { - if (isset($this->_packageInfo['contributor'])) { - return $this->_packageInfo['contributor']; - } - return false; - } - - function getHelpers() - { - if (isset($this->_packageInfo['helper'])) { - return $this->_packageInfo['helper']; - } - return false; - } - - function setDate($date) - { - if (!isset($this->_packageInfo['date'])) { - // ensure that the extends tag is set up in the right location - $this->_packageInfo = $this->_insertBefore($this->_packageInfo, - array('time', 'version', - 'stability', 'license', 'notes', 'contents', 'compatible', - 'dependencies', 'providesextension', 'srcpackage', 'srcuri', - 'phprelease', 'extsrcrelease', 'extbinrelease', 'zendextsrcrelease', - 'zendextbinrelease', 'bundle', 'changelog'), array(), 'date'); - } - $this->_packageInfo['date'] = $date; - $this->_isValid = 0; - } - - function setTime($time) - { - $this->_isValid = 0; - if (!isset($this->_packageInfo['time'])) { - // ensure that the time tag is set up in the right location - $this->_packageInfo = $this->_insertBefore($this->_packageInfo, - array('version', - 'stability', 'license', 'notes', 'contents', 'compatible', - 'dependencies', 'providesextension', 'srcpackage', 'srcuri', - 'phprelease', 'extsrcrelease', 'extbinrelease', 'zendextsrcrelease', - 'zendextbinrelease', 'bundle', 'changelog'), $time, 'time'); - } - $this->_packageInfo['time'] = $time; - } - - function getDate() - { - if (isset($this->_packageInfo['date'])) { - return $this->_packageInfo['date']; - } - return false; - } - - function getTime() - { - if (isset($this->_packageInfo['time'])) { - return $this->_packageInfo['time']; - } - return false; - } - - /** - * @param package|api version category to return - */ - function getVersion($key = 'release') - { - if (isset($this->_packageInfo['version'][$key])) { - return $this->_packageInfo['version'][$key]; - } - return false; - } - - function getStability() - { - if (isset($this->_packageInfo['stability'])) { - return $this->_packageInfo['stability']; - } - return false; - } - - function getState($key = 'release') - { - if (isset($this->_packageInfo['stability'][$key])) { - return $this->_packageInfo['stability'][$key]; - } - return false; - } - - function getLicense($raw = false) - { - if (isset($this->_packageInfo['license'])) { - if ($raw) { - return $this->_packageInfo['license']; - } - if (is_array($this->_packageInfo['license'])) { - return $this->_packageInfo['license']['_content']; - } else { - return $this->_packageInfo['license']; - } - } - return false; - } - - function getLicenseLocation() - { - if (!isset($this->_packageInfo['license']) || !is_array($this->_packageInfo['license'])) { - return false; - } - return $this->_packageInfo['license']['attribs']; - } - - function getNotes() - { - if (isset($this->_packageInfo['notes'])) { - return $this->_packageInfo['notes']; - } - return false; - } - - /** - * Return the tag contents, if any - * @return array|false - */ - function getUsesrole() - { - if (isset($this->_packageInfo['usesrole'])) { - return $this->_packageInfo['usesrole']; - } - return false; - } - - /** - * Return the tag contents, if any - * @return array|false - */ - function getUsestask() - { - if (isset($this->_packageInfo['usestask'])) { - return $this->_packageInfo['usestask']; - } - return false; - } - - /** - * This should only be used to retrieve filenames and install attributes - */ - function getFilelist($preserve = false) - { - if (isset($this->_packageInfo['filelist']) && !$preserve) { - return $this->_packageInfo['filelist']; - } - $this->flattenFilelist(); - if ($contents = $this->getContents()) { - $ret = array(); - if (!isset($contents['dir'])) { - return false; - } - if (!isset($contents['dir']['file'][0])) { - $contents['dir']['file'] = array($contents['dir']['file']); - } - foreach ($contents['dir']['file'] as $file) { - $name = $file['attribs']['name']; - if (!$preserve) { - $file = $file['attribs']; - } - $ret[$name] = $file; - } - if (!$preserve) { - $this->_packageInfo['filelist'] = $ret; - } - return $ret; - } - return false; - } - - /** - * Return configure options array, if any - * - * @return array|false - */ - function getConfigureOptions() - { - if ($this->getPackageType() != 'extsrc' && $this->getPackageType() != 'zendextsrc') { - return false; - } - - $releases = $this->getReleases(); - if (isset($releases[0])) { - $releases = $releases[0]; - } - - if (isset($releases['configureoption'])) { - if (!isset($releases['configureoption'][0])) { - $releases['configureoption'] = array($releases['configureoption']); - } - - for ($i = 0; $i < count($releases['configureoption']); $i++) { - $releases['configureoption'][$i] = $releases['configureoption'][$i]['attribs']; - } - - return $releases['configureoption']; - } - - return false; - } - - /** - * This is only used at install-time, after all serialization - * is over. - */ - function resetFilelist() - { - $this->_packageInfo['filelist'] = array(); - } - - /** - * Retrieve a list of files that should be installed on this computer - * @return array - */ - function getInstallationFilelist($forfilecheck = false) - { - $contents = $this->getFilelist(true); - if (isset($contents['dir']['attribs']['baseinstalldir'])) { - $base = $contents['dir']['attribs']['baseinstalldir']; - } - if (isset($this->_packageInfo['bundle'])) { - return PEAR::raiseError( - 'Exception: bundles should be handled in download code only'); - } - $release = $this->getReleases(); - if ($release) { - if (!isset($release[0])) { - if (!isset($release['installconditions']) && !isset($release['filelist'])) { - if ($forfilecheck) { - return $this->getFilelist(); - } - return $contents; - } - $release = array($release); - } - $depchecker = &$this->getPEARDependency2($this->_config, array(), - array('channel' => $this->getChannel(), 'package' => $this->getPackage()), - PEAR_VALIDATE_INSTALLING); - foreach ($release as $instance) { - if (isset($instance['installconditions'])) { - $installconditions = $instance['installconditions']; - if (is_array($installconditions)) { - PEAR::pushErrorHandling(PEAR_ERROR_RETURN); - foreach ($installconditions as $type => $conditions) { - if (!isset($conditions[0])) { - $conditions = array($conditions); - } - foreach ($conditions as $condition) { - $ret = $depchecker->{"validate{$type}Dependency"}($condition); - if (PEAR::isError($ret)) { - PEAR::popErrorHandling(); - continue 3; // skip this release - } - } - } - PEAR::popErrorHandling(); - } - } - // this is the release to use - if (isset($instance['filelist'])) { - // ignore files - if (isset($instance['filelist']['ignore'])) { - $ignore = isset($instance['filelist']['ignore'][0]) ? - $instance['filelist']['ignore'] : - array($instance['filelist']['ignore']); - foreach ($ignore as $ig) { - unset ($contents[$ig['attribs']['name']]); - } - } - // install files as this name - if (isset($instance['filelist']['install'])) { - $installas = isset($instance['filelist']['install'][0]) ? - $instance['filelist']['install'] : - array($instance['filelist']['install']); - foreach ($installas as $as) { - $contents[$as['attribs']['name']]['attribs']['install-as'] = - $as['attribs']['as']; - } - } - } - if ($forfilecheck) { - foreach ($contents as $file => $attrs) { - $contents[$file] = $attrs['attribs']; - } - } - return $contents; - } - } else { // simple release - no installconditions or install-as - if ($forfilecheck) { - return $this->getFilelist(); - } - return $contents; - } - // no releases matched - return PEAR::raiseError('No releases in package.xml matched the existing operating ' . - 'system, extensions installed, or architecture, cannot install'); - } - - /** - * This is only used at install-time, after all serialization - * is over. - * @param string file name - * @param string installed path - */ - function setInstalledAs($file, $path) - { - if ($path) { - return $this->_packageInfo['filelist'][$file]['installed_as'] = $path; - } - unset($this->_packageInfo['filelist'][$file]['installed_as']); - } - - function getInstalledLocation($file) - { - if (isset($this->_packageInfo['filelist'][$file]['installed_as'])) { - return $this->_packageInfo['filelist'][$file]['installed_as']; - } - return false; - } - - /** - * This is only used at install-time, after all serialization - * is over. - */ - function installedFile($file, $atts) - { - if (isset($this->_packageInfo['filelist'][$file])) { - $this->_packageInfo['filelist'][$file] = - array_merge($this->_packageInfo['filelist'][$file], $atts['attribs']); - } else { - $this->_packageInfo['filelist'][$file] = $atts['attribs']; - } - } - - /** - * Retrieve the contents tag - */ - function getContents() - { - if (isset($this->_packageInfo['contents'])) { - return $this->_packageInfo['contents']; - } - return false; - } - - /** - * @param string full path to file - * @param string attribute name - * @param string attribute value - * @param int risky but fast - use this to choose a file based on its position in the list - * of files. Index is zero-based like PHP arrays. - * @return bool success of operation - */ - function setFileAttribute($filename, $attr, $value, $index = false) - { - $this->_isValid = 0; - if (in_array($attr, array('role', 'name', 'baseinstalldir'))) { - $this->_filesValid = false; - } - if ($index !== false && - isset($this->_packageInfo['contents']['dir']['file'][$index]['attribs'])) { - $this->_packageInfo['contents']['dir']['file'][$index]['attribs'][$attr] = $value; - return true; - } - if (!isset($this->_packageInfo['contents']['dir']['file'])) { - return false; - } - $files = $this->_packageInfo['contents']['dir']['file']; - if (!isset($files[0])) { - $files = array($files); - $ind = false; - } else { - $ind = true; - } - foreach ($files as $i => $file) { - if (isset($file['attribs'])) { - if ($file['attribs']['name'] == $filename) { - if ($ind) { - $this->_packageInfo['contents']['dir']['file'][$i]['attribs'][$attr] = $value; - } else { - $this->_packageInfo['contents']['dir']['file']['attribs'][$attr] = $value; - } - return true; - } - } - } - return false; - } - - function setDirtree($path) - { - if (!isset($this->_packageInfo['dirtree'])) { - $this->_packageInfo['dirtree'] = array(); - } - $this->_packageInfo['dirtree'][$path] = true; - } - - function getDirtree() - { - if (isset($this->_packageInfo['dirtree']) && count($this->_packageInfo['dirtree'])) { - return $this->_packageInfo['dirtree']; - } - return false; - } - - function resetDirtree() - { - unset($this->_packageInfo['dirtree']); - } - - /** - * Determines whether this package claims it is compatible with the version of - * the package that has a recommended version dependency - * @param PEAR_PackageFile_v2|PEAR_PackageFile_v1|PEAR_Downloader_Package - * @return boolean - */ - function isCompatible($pf) - { - if (!isset($this->_packageInfo['compatible'])) { - return false; - } - if (!isset($this->_packageInfo['channel'])) { - return false; - } - $me = $pf->getVersion(); - $compatible = $this->_packageInfo['compatible']; - if (!isset($compatible[0])) { - $compatible = array($compatible); - } - $found = false; - foreach ($compatible as $info) { - if (strtolower($info['name']) == strtolower($pf->getPackage())) { - if (strtolower($info['channel']) == strtolower($pf->getChannel())) { - $found = true; - break; - } - } - } - if (!$found) { - return false; - } - if (isset($info['exclude'])) { - if (!isset($info['exclude'][0])) { - $info['exclude'] = array($info['exclude']); - } - foreach ($info['exclude'] as $exclude) { - if (version_compare($me, $exclude, '==')) { - return false; - } - } - } - if (version_compare($me, $info['min'], '>=') && version_compare($me, $info['max'], '<=')) { - return true; - } - return false; - } - - /** - * @return array|false - */ - function getCompatible() - { - if (isset($this->_packageInfo['compatible'])) { - return $this->_packageInfo['compatible']; - } - return false; - } - - function getDependencies() - { - if (isset($this->_packageInfo['dependencies'])) { - return $this->_packageInfo['dependencies']; - } - return false; - } - - function isSubpackageOf($p) - { - return $p->isSubpackage($this); - } - - /** - * Determines whether the passed in package is a subpackage of this package. - * - * No version checking is done, only name verification. - * @param PEAR_PackageFile_v1|PEAR_PackageFile_v2 - * @return bool - */ - function isSubpackage($p) - { - $sub = array(); - if (isset($this->_packageInfo['dependencies']['required']['subpackage'])) { - $sub = $this->_packageInfo['dependencies']['required']['subpackage']; - if (!isset($sub[0])) { - $sub = array($sub); - } - } - if (isset($this->_packageInfo['dependencies']['optional']['subpackage'])) { - $sub1 = $this->_packageInfo['dependencies']['optional']['subpackage']; - if (!isset($sub1[0])) { - $sub1 = array($sub1); - } - $sub = array_merge($sub, $sub1); - } - if (isset($this->_packageInfo['dependencies']['group'])) { - $group = $this->_packageInfo['dependencies']['group']; - if (!isset($group[0])) { - $group = array($group); - } - foreach ($group as $deps) { - if (isset($deps['subpackage'])) { - $sub2 = $deps['subpackage']; - if (!isset($sub2[0])) { - $sub2 = array($sub2); - } - $sub = array_merge($sub, $sub2); - } - } - } - foreach ($sub as $dep) { - if (strtolower($dep['name']) == strtolower($p->getPackage())) { - if (isset($dep['channel'])) { - if (strtolower($dep['channel']) == strtolower($p->getChannel())) { - return true; - } - } else { - if ($dep['uri'] == $p->getURI()) { - return true; - } - } - } - } - return false; - } - - function dependsOn($package, $channel) - { - if (!($deps = $this->getDependencies())) { - return false; - } - foreach (array('package', 'subpackage') as $type) { - foreach (array('required', 'optional') as $needed) { - if (isset($deps[$needed][$type])) { - if (!isset($deps[$needed][$type][0])) { - $deps[$needed][$type] = array($deps[$needed][$type]); - } - foreach ($deps[$needed][$type] as $dep) { - $depchannel = isset($dep['channel']) ? $dep['channel'] : '__uri'; - if (strtolower($dep['name']) == strtolower($package) && - $depchannel == $channel) { - return true; - } - } - } - } - if (isset($deps['group'])) { - if (!isset($deps['group'][0])) { - $dep['group'] = array($deps['group']); - } - foreach ($deps['group'] as $group) { - if (isset($group[$type])) { - if (!is_array($group[$type])) { - $group[$type] = array($group[$type]); - } - foreach ($group[$type] as $dep) { - $depchannel = isset($dep['channel']) ? $dep['channel'] : '__uri'; - if (strtolower($dep['name']) == strtolower($package) && - $depchannel == $channel) { - return true; - } - } - } - } - } - } - return false; - } - - /** - * Get the contents of a dependency group - * @param string - * @return array|false - */ - function getDependencyGroup($name) - { - $name = strtolower($name); - if (!isset($this->_packageInfo['dependencies']['group'])) { - return false; - } - $groups = $this->_packageInfo['dependencies']['group']; - if (!isset($groups[0])) { - $groups = array($groups); - } - foreach ($groups as $group) { - if (strtolower($group['attribs']['name']) == $name) { - return $group; - } - } - return false; - } - - /** - * Retrieve a partial package.xml 1.0 representation of dependencies - * - * a very limited representation of dependencies is returned by this method. - * The tag for excluding certain versions of a dependency is - * completely ignored. In addition, dependency groups are ignored, with the - * assumption that all dependencies in dependency groups are also listed in - * the optional group that work with all dependency groups - * @param boolean return package.xml 2.0 tag - * @return array|false - */ - function getDeps($raw = false, $nopearinstaller = false) - { - if (isset($this->_packageInfo['dependencies'])) { - if ($raw) { - return $this->_packageInfo['dependencies']; - } - $ret = array(); - $map = array( - 'php' => 'php', - 'package' => 'pkg', - 'subpackage' => 'pkg', - 'extension' => 'ext', - 'os' => 'os', - 'pearinstaller' => 'pkg', - ); - foreach (array('required', 'optional') as $type) { - $optional = ($type == 'optional') ? 'yes' : 'no'; - if (!isset($this->_packageInfo['dependencies'][$type]) - || empty($this->_packageInfo['dependencies'][$type])) { - continue; - } - foreach ($this->_packageInfo['dependencies'][$type] as $dtype => $deps) { - if ($dtype == 'pearinstaller' && $nopearinstaller) { - continue; - } - if (!isset($deps[0])) { - $deps = array($deps); - } - foreach ($deps as $dep) { - if (!isset($map[$dtype])) { - // no support for arch type - continue; - } - if ($dtype == 'pearinstaller') { - $dep['name'] = 'PEAR'; - $dep['channel'] = 'pear.php.net'; - } - $s = array('type' => $map[$dtype]); - if (isset($dep['channel'])) { - $s['channel'] = $dep['channel']; - } - if (isset($dep['uri'])) { - $s['uri'] = $dep['uri']; - } - if (isset($dep['name'])) { - $s['name'] = $dep['name']; - } - if (isset($dep['conflicts'])) { - $s['rel'] = 'not'; - } else { - if (!isset($dep['min']) && - !isset($dep['max'])) { - $s['rel'] = 'has'; - $s['optional'] = $optional; - } elseif (isset($dep['min']) && - isset($dep['max'])) { - $s['rel'] = 'ge'; - $s1 = $s; - $s1['rel'] = 'le'; - $s['version'] = $dep['min']; - $s1['version'] = $dep['max']; - if (isset($dep['channel'])) { - $s1['channel'] = $dep['channel']; - } - if ($dtype != 'php') { - $s['name'] = $dep['name']; - $s1['name'] = $dep['name']; - } - $s['optional'] = $optional; - $s1['optional'] = $optional; - $ret[] = $s1; - } elseif (isset($dep['min'])) { - if (isset($dep['exclude']) && - $dep['exclude'] == $dep['min']) { - $s['rel'] = 'gt'; - } else { - $s['rel'] = 'ge'; - } - $s['version'] = $dep['min']; - $s['optional'] = $optional; - if ($dtype != 'php') { - $s['name'] = $dep['name']; - } - } elseif (isset($dep['max'])) { - if (isset($dep['exclude']) && - $dep['exclude'] == $dep['max']) { - $s['rel'] = 'lt'; - } else { - $s['rel'] = 'le'; - } - $s['version'] = $dep['max']; - $s['optional'] = $optional; - if ($dtype != 'php') { - $s['name'] = $dep['name']; - } - } - } - $ret[] = $s; - } - } - } - if (count($ret)) { - return $ret; - } - } - return false; - } - - /** - * @return php|extsrc|extbin|zendextsrc|zendextbin|bundle|false - */ - function getPackageType() - { - if (isset($this->_packageInfo['phprelease'])) { - return 'php'; - } - if (isset($this->_packageInfo['extsrcrelease'])) { - return 'extsrc'; - } - if (isset($this->_packageInfo['extbinrelease'])) { - return 'extbin'; - } - if (isset($this->_packageInfo['zendextsrcrelease'])) { - return 'zendextsrc'; - } - if (isset($this->_packageInfo['zendextbinrelease'])) { - return 'zendextbin'; - } - if (isset($this->_packageInfo['bundle'])) { - return 'bundle'; - } - return false; - } - - /** - * @return array|false - */ - function getReleases() - { - $type = $this->getPackageType(); - if ($type != 'bundle') { - $type .= 'release'; - } - if ($this->getPackageType() && isset($this->_packageInfo[$type])) { - return $this->_packageInfo[$type]; - } - return false; - } - - /** - * @return array - */ - function getChangelog() - { - if (isset($this->_packageInfo['changelog'])) { - return $this->_packageInfo['changelog']; - } - return false; - } - - function hasDeps() - { - return isset($this->_packageInfo['dependencies']); - } - - function getPackagexmlVersion() - { - if (isset($this->_packageInfo['zendextsrcrelease'])) { - return '2.1'; - } - if (isset($this->_packageInfo['zendextbinrelease'])) { - return '2.1'; - } - return '2.0'; - } - - /** - * @return array|false - */ - function getSourcePackage() - { - if (isset($this->_packageInfo['extbinrelease']) || - isset($this->_packageInfo['zendextbinrelease'])) { - return array('channel' => $this->_packageInfo['srcchannel'], - 'package' => $this->_packageInfo['srcpackage']); - } - return false; - } - - function getBundledPackages() - { - if (isset($this->_packageInfo['bundle'])) { - return $this->_packageInfo['contents']['bundledpackage']; - } - return false; - } - - function getLastModified() - { - if (isset($this->_packageInfo['_lastmodified'])) { - return $this->_packageInfo['_lastmodified']; - } - return false; - } - - /** - * Get the contents of a file listed within the package.xml - * @param string - * @return string - */ - function getFileContents($file) - { - if ($this->_archiveFile == $this->_packageFile) { // unpacked - $dir = dirname($this->_packageFile); - $file = $dir . DIRECTORY_SEPARATOR . $file; - $file = str_replace(array('/', '\\'), - array(DIRECTORY_SEPARATOR, DIRECTORY_SEPARATOR), $file); - if (file_exists($file) && is_readable($file)) { - return implode('', file($file)); - } - } else { // tgz - $tar = &new Archive_Tar($this->_archiveFile); - $tar->pushErrorHandling(PEAR_ERROR_RETURN); - if ($file != 'package.xml' && $file != 'package2.xml') { - $file = $this->getPackage() . '-' . $this->getVersion() . '/' . $file; - } - $file = $tar->extractInString($file); - $tar->popErrorHandling(); - if (PEAR::isError($file)) { - return PEAR::raiseError("Cannot locate file '$file' in archive"); - } - return $file; - } - } - - function &getRW() - { - if (!class_exists('PEAR_PackageFile_v2_rw')) { - require_once 'PEAR/PackageFile/v2/rw.php'; - } - $a = new PEAR_PackageFile_v2_rw; - foreach (get_object_vars($this) as $name => $unused) { - if (!isset($this->$name)) { - continue; - } - if ($name == '_config' || $name == '_logger'|| $name == '_registry' || - $name == '_stack') { - $a->$name = &$this->$name; - } else { - $a->$name = $this->$name; - } - } - return $a; - } - - function &getDefaultGenerator() - { - if (!class_exists('PEAR_PackageFile_Generator_v2')) { - require_once 'PEAR/PackageFile/Generator/v2.php'; - } - $a = &new PEAR_PackageFile_Generator_v2($this); - return $a; - } - - function analyzeSourceCode($file, $string = false) - { - if (!isset($this->_v2Validator) || - !is_a($this->_v2Validator, 'PEAR_PackageFile_v2_Validator')) { - if (!class_exists('PEAR_PackageFile_v2_Validator')) { - require_once 'PEAR/PackageFile/v2/Validator.php'; - } - $this->_v2Validator = new PEAR_PackageFile_v2_Validator; - } - return $this->_v2Validator->analyzeSourceCode($file, $string); - } - - function validate($state = PEAR_VALIDATE_NORMAL) - { - if (!isset($this->_packageInfo) || !is_array($this->_packageInfo)) { - return false; - } - if (!isset($this->_v2Validator) || - !is_a($this->_v2Validator, 'PEAR_PackageFile_v2_Validator')) { - if (!class_exists('PEAR_PackageFile_v2_Validator')) { - require_once 'PEAR/PackageFile/v2/Validator.php'; - } - $this->_v2Validator = new PEAR_PackageFile_v2_Validator; - } - if (isset($this->_packageInfo['xsdversion'])) { - unset($this->_packageInfo['xsdversion']); - } - return $this->_v2Validator->validate($this, $state); - } - - function getTasksNs() - { - if (!isset($this->_tasksNs)) { - if (isset($this->_packageInfo['attribs'])) { - foreach ($this->_packageInfo['attribs'] as $name => $value) { - if ($value == 'http://pear.php.net/dtd/tasks-1.0') { - $this->_tasksNs = str_replace('xmlns:', '', $name); - break; - } - } - } - } - return $this->_tasksNs; - } - - /** - * Determine whether a task name is a valid task. Custom tasks may be defined - * using subdirectories by putting a "-" in the name, as in - * - * Note that this method will auto-load the task class file and test for the existence - * of the name with "-" replaced by "_" as in PEAR/Task/mycustom/task.php makes class - * PEAR_Task_mycustom_task - * @param string - * @return boolean - */ - function getTask($task) - { - $this->getTasksNs(); - // transform all '-' to '/' and 'tasks:' to '' so tasks:replace becomes replace - $task = str_replace(array($this->_tasksNs . ':', '-'), array('', ' '), $task); - $taskfile = str_replace(' ', '/', ucwords($task)); - $task = str_replace(array(' ', '/'), '_', ucwords($task)); - if (class_exists("PEAR_Task_$task")) { - return "PEAR_Task_$task"; - } - $fp = @fopen("PEAR/Task/$taskfile.php", 'r', true); - if ($fp) { - fclose($fp); - require_once "PEAR/Task/$taskfile.php"; - return "PEAR_Task_$task"; - } - return false; - } - - /** - * Key-friendly array_splice - * @param tagname to splice a value in before - * @param mixed the value to splice in - * @param string the new tag name - */ - function _ksplice($array, $key, $value, $newkey) - { - $offset = array_search($key, array_keys($array)); - $after = array_slice($array, $offset); - $before = array_slice($array, 0, $offset); - $before[$newkey] = $value; - return array_merge($before, $after); - } - - /** - * @param array a list of possible keys, in the order they may occur - * @param mixed contents of the new package.xml tag - * @param string tag name - * @access private - */ - function _insertBefore($array, $keys, $contents, $newkey) - { - foreach ($keys as $key) { - if (isset($array[$key])) { - return $array = $this->_ksplice($array, $key, $contents, $newkey); - } - } - $array[$newkey] = $contents; - return $array; - } - - /** - * @param subsection of {@link $_packageInfo} - * @param array|string tag contents - * @param array format: - *
-     * array(
-     *   tagname => array(list of tag names that follow this one),
-     *   childtagname => array(list of child tag names that follow this one),
-     * )
-     * 
- * - * This allows construction of nested tags - * @access private - */ - function _mergeTag($manip, $contents, $order) - { - if (count($order)) { - foreach ($order as $tag => $curorder) { - if (!isset($manip[$tag])) { - // ensure that the tag is set up - $manip = $this->_insertBefore($manip, $curorder, array(), $tag); - } - if (count($order) > 1) { - $manip[$tag] = $this->_mergeTag($manip[$tag], $contents, array_slice($order, 1)); - return $manip; - } - } - } else { - return $manip; - } - if (is_array($manip[$tag]) && !empty($manip[$tag]) && isset($manip[$tag][0])) { - $manip[$tag][] = $contents; - } else { - if (!count($manip[$tag])) { - $manip[$tag] = $contents; - } else { - $manip[$tag] = array($manip[$tag]); - $manip[$tag][] = $contents; - } - } - return $manip; - } -} -?> diff --git a/3rdparty/PEAR/PackageFile/v2/Validator.php b/3rdparty/PEAR/PackageFile/v2/Validator.php deleted file mode 100644 index 33c8eee38767722f71710e79751557008b1539ec..0000000000000000000000000000000000000000 --- a/3rdparty/PEAR/PackageFile/v2/Validator.php +++ /dev/null @@ -1,2154 +0,0 @@ - - * @copyright 1997-2009 The Authors - * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: Validator.php 313023 2011-07-06 19:17:11Z dufuz $ - * @link http://pear.php.net/package/PEAR - * @since File available since Release 1.4.0a8 - */ -/** - * Private validation class used by PEAR_PackageFile_v2 - do not use directly, its - * sole purpose is to split up the PEAR/PackageFile/v2.php file to make it smaller - * @category pear - * @package PEAR - * @author Greg Beaver - * @copyright 1997-2009 The Authors - * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.4 - * @link http://pear.php.net/package/PEAR - * @since Class available since Release 1.4.0a8 - * @access private - */ -class PEAR_PackageFile_v2_Validator -{ - /** - * @var array - */ - var $_packageInfo; - /** - * @var PEAR_PackageFile_v2 - */ - var $_pf; - /** - * @var PEAR_ErrorStack - */ - var $_stack; - /** - * @var int - */ - var $_isValid = 0; - /** - * @var int - */ - var $_filesValid = 0; - /** - * @var int - */ - var $_curState = 0; - /** - * @param PEAR_PackageFile_v2 - * @param int - */ - function validate(&$pf, $state = PEAR_VALIDATE_NORMAL) - { - $this->_pf = &$pf; - $this->_curState = $state; - $this->_packageInfo = $this->_pf->getArray(); - $this->_isValid = $this->_pf->_isValid; - $this->_filesValid = $this->_pf->_filesValid; - $this->_stack = &$pf->_stack; - $this->_stack->getErrors(true); - if (($this->_isValid & $state) == $state) { - return true; - } - if (!isset($this->_packageInfo) || !is_array($this->_packageInfo)) { - return false; - } - if (!isset($this->_packageInfo['attribs']['version']) || - ($this->_packageInfo['attribs']['version'] != '2.0' && - $this->_packageInfo['attribs']['version'] != '2.1') - ) { - $this->_noPackageVersion(); - } - $structure = - array( - 'name', - 'channel|uri', - '*extends', // can't be multiple, but this works fine - 'summary', - 'description', - '+lead', // these all need content checks - '*developer', - '*contributor', - '*helper', - 'date', - '*time', - 'version', - 'stability', - 'license->?uri->?filesource', - 'notes', - 'contents', //special validation needed - '*compatible', - 'dependencies', //special validation needed - '*usesrole', - '*usestask', // reserve these for 1.4.0a1 to implement - // this will allow a package.xml to gracefully say it - // needs a certain package installed in order to implement a role or task - '*providesextension', - '*srcpackage|*srcuri', - '+phprelease|+extsrcrelease|+extbinrelease|' . - '+zendextsrcrelease|+zendextbinrelease|bundle', //special validation needed - '*changelog', - ); - $test = $this->_packageInfo; - if (isset($test['dependencies']) && - isset($test['dependencies']['required']) && - isset($test['dependencies']['required']['pearinstaller']) && - isset($test['dependencies']['required']['pearinstaller']['min']) && - version_compare('1.9.4', - $test['dependencies']['required']['pearinstaller']['min'], '<') - ) { - $this->_pearVersionTooLow($test['dependencies']['required']['pearinstaller']['min']); - return false; - } - // ignore post-installation array fields - if (array_key_exists('filelist', $test)) { - unset($test['filelist']); - } - if (array_key_exists('_lastmodified', $test)) { - unset($test['_lastmodified']); - } - if (array_key_exists('#binarypackage', $test)) { - unset($test['#binarypackage']); - } - if (array_key_exists('old', $test)) { - unset($test['old']); - } - if (array_key_exists('_lastversion', $test)) { - unset($test['_lastversion']); - } - if (!$this->_stupidSchemaValidate($structure, $test, '')) { - return false; - } - if (empty($this->_packageInfo['name'])) { - $this->_tagCannotBeEmpty('name'); - } - $test = isset($this->_packageInfo['uri']) ? 'uri' :'channel'; - if (empty($this->_packageInfo[$test])) { - $this->_tagCannotBeEmpty($test); - } - if (is_array($this->_packageInfo['license']) && - (!isset($this->_packageInfo['license']['_content']) || - empty($this->_packageInfo['license']['_content']))) { - $this->_tagCannotBeEmpty('license'); - } elseif (empty($this->_packageInfo['license'])) { - $this->_tagCannotBeEmpty('license'); - } - if (empty($this->_packageInfo['summary'])) { - $this->_tagCannotBeEmpty('summary'); - } - if (empty($this->_packageInfo['description'])) { - $this->_tagCannotBeEmpty('description'); - } - if (empty($this->_packageInfo['date'])) { - $this->_tagCannotBeEmpty('date'); - } - if (empty($this->_packageInfo['notes'])) { - $this->_tagCannotBeEmpty('notes'); - } - if (isset($this->_packageInfo['time']) && empty($this->_packageInfo['time'])) { - $this->_tagCannotBeEmpty('time'); - } - if (isset($this->_packageInfo['dependencies'])) { - $this->_validateDependencies(); - } - if (isset($this->_packageInfo['compatible'])) { - $this->_validateCompatible(); - } - if (!isset($this->_packageInfo['bundle'])) { - if (empty($this->_packageInfo['contents'])) { - $this->_tagCannotBeEmpty('contents'); - } - if (!isset($this->_packageInfo['contents']['dir'])) { - $this->_filelistMustContainDir('contents'); - return false; - } - if (isset($this->_packageInfo['contents']['file'])) { - $this->_filelistCannotContainFile('contents'); - return false; - } - } - $this->_validateMaintainers(); - $this->_validateStabilityVersion(); - $fail = false; - if (array_key_exists('usesrole', $this->_packageInfo)) { - $roles = $this->_packageInfo['usesrole']; - if (!is_array($roles) || !isset($roles[0])) { - $roles = array($roles); - } - foreach ($roles as $role) { - if (!isset($role['role'])) { - $this->_usesroletaskMustHaveRoleTask('usesrole', 'role'); - $fail = true; - } else { - if (!isset($role['channel'])) { - if (!isset($role['uri'])) { - $this->_usesroletaskMustHaveChannelOrUri($role['role'], 'usesrole'); - $fail = true; - } - } elseif (!isset($role['package'])) { - $this->_usesroletaskMustHavePackage($role['role'], 'usesrole'); - $fail = true; - } - } - } - } - if (array_key_exists('usestask', $this->_packageInfo)) { - $roles = $this->_packageInfo['usestask']; - if (!is_array($roles) || !isset($roles[0])) { - $roles = array($roles); - } - foreach ($roles as $role) { - if (!isset($role['task'])) { - $this->_usesroletaskMustHaveRoleTask('usestask', 'task'); - $fail = true; - } else { - if (!isset($role['channel'])) { - if (!isset($role['uri'])) { - $this->_usesroletaskMustHaveChannelOrUri($role['task'], 'usestask'); - $fail = true; - } - } elseif (!isset($role['package'])) { - $this->_usesroletaskMustHavePackage($role['task'], 'usestask'); - $fail = true; - } - } - } - } - - if ($fail) { - return false; - } - - $list = $this->_packageInfo['contents']; - if (isset($list['dir']) && is_array($list['dir']) && isset($list['dir'][0])) { - $this->_multipleToplevelDirNotAllowed(); - return $this->_isValid = 0; - } - - $this->_validateFilelist(); - $this->_validateRelease(); - if (!$this->_stack->hasErrors()) { - $chan = $this->_pf->_registry->getChannel($this->_pf->getChannel(), true); - if (PEAR::isError($chan)) { - $this->_unknownChannel($this->_pf->getChannel()); - } else { - $valpack = $chan->getValidationPackage(); - // for channel validator packages, always use the default PEAR validator. - // otherwise, they can't be installed or packaged - $validator = $chan->getValidationObject($this->_pf->getPackage()); - if (!$validator) { - $this->_stack->push(__FUNCTION__, 'error', - array('channel' => $chan->getName(), - 'package' => $this->_pf->getPackage(), - 'name' => $valpack['_content'], - 'version' => $valpack['attribs']['version']), - 'package "%channel%/%package%" cannot be properly validated without ' . - 'validation package "%channel%/%name%-%version%"'); - return $this->_isValid = 0; - } - $validator->setPackageFile($this->_pf); - $validator->validate($state); - $failures = $validator->getFailures(); - foreach ($failures['errors'] as $error) { - $this->_stack->push(__FUNCTION__, 'error', $error, - 'Channel validator error: field "%field%" - %reason%'); - } - foreach ($failures['warnings'] as $warning) { - $this->_stack->push(__FUNCTION__, 'warning', $warning, - 'Channel validator warning: field "%field%" - %reason%'); - } - } - } - - $this->_pf->_isValid = $this->_isValid = !$this->_stack->hasErrors('error'); - if ($this->_isValid && $state == PEAR_VALIDATE_PACKAGING && !$this->_filesValid) { - if ($this->_pf->getPackageType() == 'bundle') { - if ($this->_analyzeBundledPackages()) { - $this->_filesValid = $this->_pf->_filesValid = true; - } else { - $this->_pf->_isValid = $this->_isValid = 0; - } - } else { - if (!$this->_analyzePhpFiles()) { - $this->_pf->_isValid = $this->_isValid = 0; - } else { - $this->_filesValid = $this->_pf->_filesValid = true; - } - } - } - - if ($this->_isValid) { - return $this->_pf->_isValid = $this->_isValid = $state; - } - - return $this->_pf->_isValid = $this->_isValid = 0; - } - - function _stupidSchemaValidate($structure, $xml, $root) - { - if (!is_array($xml)) { - $xml = array(); - } - $keys = array_keys($xml); - reset($keys); - $key = current($keys); - while ($key == 'attribs' || $key == '_contents') { - $key = next($keys); - } - $unfoundtags = $optionaltags = array(); - $ret = true; - $mismatch = false; - foreach ($structure as $struc) { - if ($key) { - $tag = $xml[$key]; - } - $test = $this->_processStructure($struc); - if (isset($test['choices'])) { - $loose = true; - foreach ($test['choices'] as $choice) { - if ($key == $choice['tag']) { - $key = next($keys); - while ($key == 'attribs' || $key == '_contents') { - $key = next($keys); - } - $unfoundtags = $optionaltags = array(); - $mismatch = false; - if ($key && $key != $choice['tag'] && isset($choice['multiple'])) { - $unfoundtags[] = $choice['tag']; - $optionaltags[] = $choice['tag']; - if ($key) { - $mismatch = true; - } - } - $ret &= $this->_processAttribs($choice, $tag, $root); - continue 2; - } else { - $unfoundtags[] = $choice['tag']; - $mismatch = true; - } - if (!isset($choice['multiple']) || $choice['multiple'] != '*') { - $loose = false; - } else { - $optionaltags[] = $choice['tag']; - } - } - if (!$loose) { - $this->_invalidTagOrder($unfoundtags, $key, $root); - return false; - } - } else { - if ($key != $test['tag']) { - if (isset($test['multiple']) && $test['multiple'] != '*') { - $unfoundtags[] = $test['tag']; - $this->_invalidTagOrder($unfoundtags, $key, $root); - return false; - } else { - if ($key) { - $mismatch = true; - } - $unfoundtags[] = $test['tag']; - $optionaltags[] = $test['tag']; - } - if (!isset($test['multiple'])) { - $this->_invalidTagOrder($unfoundtags, $key, $root); - return false; - } - continue; - } else { - $unfoundtags = $optionaltags = array(); - $mismatch = false; - } - $key = next($keys); - while ($key == 'attribs' || $key == '_contents') { - $key = next($keys); - } - if ($key && $key != $test['tag'] && isset($test['multiple'])) { - $unfoundtags[] = $test['tag']; - $optionaltags[] = $test['tag']; - $mismatch = true; - } - $ret &= $this->_processAttribs($test, $tag, $root); - continue; - } - } - if (!$mismatch && count($optionaltags)) { - // don't error out on any optional tags - $unfoundtags = array_diff($unfoundtags, $optionaltags); - } - if (count($unfoundtags)) { - $this->_invalidTagOrder($unfoundtags, $key, $root); - } elseif ($key) { - // unknown tags - $this->_invalidTagOrder('*no tags allowed here*', $key, $root); - while ($key = next($keys)) { - $this->_invalidTagOrder('*no tags allowed here*', $key, $root); - } - } - return $ret; - } - - function _processAttribs($choice, $tag, $context) - { - if (isset($choice['attribs'])) { - if (!is_array($tag)) { - $tag = array($tag); - } - $tags = $tag; - if (!isset($tags[0])) { - $tags = array($tags); - } - $ret = true; - foreach ($tags as $i => $tag) { - if (!is_array($tag) || !isset($tag['attribs'])) { - foreach ($choice['attribs'] as $attrib) { - if ($attrib{0} != '?') { - $ret &= $this->_tagHasNoAttribs($choice['tag'], - $context); - continue 2; - } - } - } - foreach ($choice['attribs'] as $attrib) { - if ($attrib{0} != '?') { - if (!isset($tag['attribs'][$attrib])) { - $ret &= $this->_tagMissingAttribute($choice['tag'], - $attrib, $context); - } - } - } - } - return $ret; - } - return true; - } - - function _processStructure($key) - { - $ret = array(); - if (count($pieces = explode('|', $key)) > 1) { - $ret['choices'] = array(); - foreach ($pieces as $piece) { - $ret['choices'][] = $this->_processStructure($piece); - } - return $ret; - } - $multi = $key{0}; - if ($multi == '+' || $multi == '*') { - $ret['multiple'] = $key{0}; - $key = substr($key, 1); - } - if (count($attrs = explode('->', $key)) > 1) { - $ret['tag'] = array_shift($attrs); - $ret['attribs'] = $attrs; - } else { - $ret['tag'] = $key; - } - return $ret; - } - - function _validateStabilityVersion() - { - $structure = array('release', 'api'); - $a = $this->_stupidSchemaValidate($structure, $this->_packageInfo['version'], ''); - $a &= $this->_stupidSchemaValidate($structure, $this->_packageInfo['stability'], ''); - if ($a) { - if (!preg_match('/^\d+(?:\.\d+)*(?:[a-zA-Z]+\d*)?\\z/', - $this->_packageInfo['version']['release'])) { - $this->_invalidVersion('release', $this->_packageInfo['version']['release']); - } - if (!preg_match('/^\d+(?:\.\d+)*(?:[a-zA-Z]+\d*)?\\z/', - $this->_packageInfo['version']['api'])) { - $this->_invalidVersion('api', $this->_packageInfo['version']['api']); - } - if (!in_array($this->_packageInfo['stability']['release'], - array('snapshot', 'devel', 'alpha', 'beta', 'stable'))) { - $this->_invalidState('release', $this->_packageInfo['stability']['release']); - } - if (!in_array($this->_packageInfo['stability']['api'], - array('devel', 'alpha', 'beta', 'stable'))) { - $this->_invalidState('api', $this->_packageInfo['stability']['api']); - } - } - } - - function _validateMaintainers() - { - $structure = - array( - 'name', - 'user', - 'email', - 'active', - ); - foreach (array('lead', 'developer', 'contributor', 'helper') as $type) { - if (!isset($this->_packageInfo[$type])) { - continue; - } - if (isset($this->_packageInfo[$type][0])) { - foreach ($this->_packageInfo[$type] as $lead) { - $this->_stupidSchemaValidate($structure, $lead, '<' . $type . '>'); - } - } else { - $this->_stupidSchemaValidate($structure, $this->_packageInfo[$type], - '<' . $type . '>'); - } - } - } - - function _validatePhpDep($dep, $installcondition = false) - { - $structure = array( - 'min', - '*max', - '*exclude', - ); - $type = $installcondition ? '' : ''; - $this->_stupidSchemaValidate($structure, $dep, $type); - if (isset($dep['min'])) { - if (!preg_match('/^\d+(?:\.\d+)*(?:[a-zA-Z]+\d*)?(?:-[a-zA-Z0-9]+)?\\z/', - $dep['min'])) { - $this->_invalidVersion($type . '', $dep['min']); - } - } - if (isset($dep['max'])) { - if (!preg_match('/^\d+(?:\.\d+)*(?:[a-zA-Z]+\d*)?(?:-[a-zA-Z0-9]+)?\\z/', - $dep['max'])) { - $this->_invalidVersion($type . '', $dep['max']); - } - } - if (isset($dep['exclude'])) { - if (!is_array($dep['exclude'])) { - $dep['exclude'] = array($dep['exclude']); - } - foreach ($dep['exclude'] as $exclude) { - if (!preg_match( - '/^\d+(?:\.\d+)*(?:[a-zA-Z]+\d*)?(?:-[a-zA-Z0-9]+)?\\z/', - $exclude)) { - $this->_invalidVersion($type . '', $exclude); - } - } - } - } - - function _validatePearinstallerDep($dep) - { - $structure = array( - 'min', - '*max', - '*recommended', - '*exclude', - ); - $this->_stupidSchemaValidate($structure, $dep, ''); - if (isset($dep['min'])) { - if (!preg_match('/^\d+(?:\.\d+)*(?:[a-zA-Z]+\d*)?\\z/', - $dep['min'])) { - $this->_invalidVersion('', - $dep['min']); - } - } - if (isset($dep['max'])) { - if (!preg_match('/^\d+(?:\.\d+)*(?:[a-zA-Z]+\d*)?\\z/', - $dep['max'])) { - $this->_invalidVersion('', - $dep['max']); - } - } - if (isset($dep['recommended'])) { - if (!preg_match('/^\d+(?:\.\d+)*(?:[a-zA-Z]+\d*)?\\z/', - $dep['recommended'])) { - $this->_invalidVersion('', - $dep['recommended']); - } - } - if (isset($dep['exclude'])) { - if (!is_array($dep['exclude'])) { - $dep['exclude'] = array($dep['exclude']); - } - foreach ($dep['exclude'] as $exclude) { - if (!preg_match('/^\d+(?:\.\d+)*(?:[a-zA-Z]+\d*)?\\z/', - $exclude)) { - $this->_invalidVersion('', - $exclude); - } - } - } - } - - function _validatePackageDep($dep, $group, $type = '') - { - if (isset($dep['uri'])) { - if (isset($dep['conflicts'])) { - $structure = array( - 'name', - 'uri', - 'conflicts', - '*providesextension', - ); - } else { - $structure = array( - 'name', - 'uri', - '*providesextension', - ); - } - } else { - if (isset($dep['conflicts'])) { - $structure = array( - 'name', - 'channel', - '*min', - '*max', - '*exclude', - 'conflicts', - '*providesextension', - ); - } else { - $structure = array( - 'name', - 'channel', - '*min', - '*max', - '*recommended', - '*exclude', - '*nodefault', - '*providesextension', - ); - } - } - if (isset($dep['name'])) { - $type .= '' . $dep['name'] . ''; - } - $this->_stupidSchemaValidate($structure, $dep, '' . $group . $type); - if (isset($dep['uri']) && (isset($dep['min']) || isset($dep['max']) || - isset($dep['recommended']) || isset($dep['exclude']))) { - $this->_uriDepsCannotHaveVersioning('' . $group . $type); - } - if (isset($dep['channel']) && strtolower($dep['channel']) == '__uri') { - $this->_DepchannelCannotBeUri('' . $group . $type); - } - if (isset($dep['min'])) { - if (!preg_match('/^\d+(?:\.\d+)*(?:[a-zA-Z]+\d*)?\\z/', - $dep['min'])) { - $this->_invalidVersion('' . $group . $type . '', $dep['min']); - } - } - if (isset($dep['max'])) { - if (!preg_match('/^\d+(?:\.\d+)*(?:[a-zA-Z]+\d*)?\\z/', - $dep['max'])) { - $this->_invalidVersion('' . $group . $type . '', $dep['max']); - } - } - if (isset($dep['recommended'])) { - if (!preg_match('/^\d+(?:\.\d+)*(?:[a-zA-Z]+\d*)?\\z/', - $dep['recommended'])) { - $this->_invalidVersion('' . $group . $type . '', - $dep['recommended']); - } - } - if (isset($dep['exclude'])) { - if (!is_array($dep['exclude'])) { - $dep['exclude'] = array($dep['exclude']); - } - foreach ($dep['exclude'] as $exclude) { - if (!preg_match('/^\d+(?:\.\d+)*(?:[a-zA-Z]+\d*)?\\z/', - $exclude)) { - $this->_invalidVersion('' . $group . $type . '', - $exclude); - } - } - } - } - - function _validateSubpackageDep($dep, $group) - { - $this->_validatePackageDep($dep, $group, ''); - if (isset($dep['providesextension'])) { - $this->_subpackageCannotProvideExtension(isset($dep['name']) ? $dep['name'] : ''); - } - if (isset($dep['conflicts'])) { - $this->_subpackagesCannotConflict(isset($dep['name']) ? $dep['name'] : ''); - } - } - - function _validateExtensionDep($dep, $group = false, $installcondition = false) - { - if (isset($dep['conflicts'])) { - $structure = array( - 'name', - '*min', - '*max', - '*exclude', - 'conflicts', - ); - } else { - $structure = array( - 'name', - '*min', - '*max', - '*recommended', - '*exclude', - ); - } - if ($installcondition) { - $type = ''; - } else { - $type = '' . $group . ''; - } - if (isset($dep['name'])) { - $type .= '' . $dep['name'] . ''; - } - $this->_stupidSchemaValidate($structure, $dep, $type); - if (isset($dep['min'])) { - if (!preg_match('/^\d+(?:\.\d+)*(?:[a-zA-Z]+\d*)?\\z/', - $dep['min'])) { - $this->_invalidVersion(substr($type, 1) . '_invalidVersion(substr($type, 1) . '_invalidVersion(substr($type, 1) . '_invalidVersion(substr($type, 1) . '' : ''; - if ($this->_stupidSchemaValidate($structure, $dep, $type)) { - if ($dep['name'] == '*') { - if (array_key_exists('conflicts', $dep)) { - $this->_cannotConflictWithAllOs($type); - } - } - } - } - - function _validateArchDep($dep, $installcondition = false) - { - $structure = array( - 'pattern', - '*conflicts', - ); - $type = $installcondition ? '' : ''; - $this->_stupidSchemaValidate($structure, $dep, $type); - } - - function _validateInstallConditions($cond, $release) - { - $structure = array( - '*php', - '*extension', - '*os', - '*arch', - ); - if (!$this->_stupidSchemaValidate($structure, - $cond, $release)) { - return false; - } - foreach (array('php', 'extension', 'os', 'arch') as $type) { - if (isset($cond[$type])) { - $iter = $cond[$type]; - if (!is_array($iter) || !isset($iter[0])) { - $iter = array($iter); - } - foreach ($iter as $package) { - if ($type == 'extension') { - $this->{"_validate{$type}Dep"}($package, false, true); - } else { - $this->{"_validate{$type}Dep"}($package, true); - } - } - } - } - } - - function _validateDependencies() - { - $structure = array( - 'required', - '*optional', - '*group->name->hint' - ); - if (!$this->_stupidSchemaValidate($structure, - $this->_packageInfo['dependencies'], '')) { - return false; - } - foreach (array('required', 'optional') as $simpledep) { - if (isset($this->_packageInfo['dependencies'][$simpledep])) { - if ($simpledep == 'optional') { - $structure = array( - '*package', - '*subpackage', - '*extension', - ); - } else { - $structure = array( - 'php', - 'pearinstaller', - '*package', - '*subpackage', - '*extension', - '*os', - '*arch', - ); - } - if ($this->_stupidSchemaValidate($structure, - $this->_packageInfo['dependencies'][$simpledep], - "<$simpledep>")) { - foreach (array('package', 'subpackage', 'extension') as $type) { - if (isset($this->_packageInfo['dependencies'][$simpledep][$type])) { - $iter = $this->_packageInfo['dependencies'][$simpledep][$type]; - if (!isset($iter[0])) { - $iter = array($iter); - } - foreach ($iter as $package) { - if ($type != 'extension') { - if (isset($package['uri'])) { - if (isset($package['channel'])) { - $this->_UrlOrChannel($type, - $package['name']); - } - } else { - if (!isset($package['channel'])) { - $this->_NoChannel($type, $package['name']); - } - } - } - $this->{"_validate{$type}Dep"}($package, "<$simpledep>"); - } - } - } - if ($simpledep == 'optional') { - continue; - } - foreach (array('php', 'pearinstaller', 'os', 'arch') as $type) { - if (isset($this->_packageInfo['dependencies'][$simpledep][$type])) { - $iter = $this->_packageInfo['dependencies'][$simpledep][$type]; - if (!isset($iter[0])) { - $iter = array($iter); - } - foreach ($iter as $package) { - $this->{"_validate{$type}Dep"}($package); - } - } - } - } - } - } - if (isset($this->_packageInfo['dependencies']['group'])) { - $groups = $this->_packageInfo['dependencies']['group']; - if (!isset($groups[0])) { - $groups = array($groups); - } - $structure = array( - '*package', - '*subpackage', - '*extension', - ); - foreach ($groups as $group) { - if ($this->_stupidSchemaValidate($structure, $group, '')) { - if (!PEAR_Validate::validGroupName($group['attribs']['name'])) { - $this->_invalidDepGroupName($group['attribs']['name']); - } - foreach (array('package', 'subpackage', 'extension') as $type) { - if (isset($group[$type])) { - $iter = $group[$type]; - if (!isset($iter[0])) { - $iter = array($iter); - } - foreach ($iter as $package) { - if ($type != 'extension') { - if (isset($package['uri'])) { - if (isset($package['channel'])) { - $this->_UrlOrChannelGroup($type, - $package['name'], - $group['name']); - } - } else { - if (!isset($package['channel'])) { - $this->_NoChannelGroup($type, - $package['name'], - $group['name']); - } - } - } - $this->{"_validate{$type}Dep"}($package, ''); - } - } - } - } - } - } - } - - function _validateCompatible() - { - $compat = $this->_packageInfo['compatible']; - if (!isset($compat[0])) { - $compat = array($compat); - } - $required = array('name', 'channel', 'min', 'max', '*exclude'); - foreach ($compat as $package) { - $type = ''; - if (is_array($package) && array_key_exists('name', $package)) { - $type .= '' . $package['name'] . ''; - } - $this->_stupidSchemaValidate($required, $package, $type); - if (is_array($package) && array_key_exists('min', $package)) { - if (!preg_match('/^\d+(?:\.\d+)*(?:[a-zA-Z]+\d*)?\\z/', - $package['min'])) { - $this->_invalidVersion(substr($type, 1) . '_invalidVersion(substr($type, 1) . '_invalidVersion(substr($type, 1) . '_NoBundledPackages(); - } - if (!is_array($list['bundledpackage']) || !isset($list['bundledpackage'][0])) { - return $this->_AtLeast2BundledPackages(); - } - foreach ($list['bundledpackage'] as $package) { - if (!is_string($package)) { - $this->_bundledPackagesMustBeFilename(); - } - } - } - - function _validateFilelist($list = false, $allowignore = false, $dirs = '') - { - $iscontents = false; - if (!$list) { - $iscontents = true; - $list = $this->_packageInfo['contents']; - if (isset($this->_packageInfo['bundle'])) { - return $this->_validateBundle($list); - } - } - if ($allowignore) { - $struc = array( - '*install->name->as', - '*ignore->name' - ); - } else { - $struc = array( - '*dir->name->?baseinstalldir', - '*file->name->role->?baseinstalldir->?md5sum' - ); - if (isset($list['dir']) && isset($list['file'])) { - // stave off validation errors without requiring a set order. - $_old = $list; - if (isset($list['attribs'])) { - $list = array('attribs' => $_old['attribs']); - } - $list['dir'] = $_old['dir']; - $list['file'] = $_old['file']; - } - } - if (!isset($list['attribs']) || !isset($list['attribs']['name'])) { - $unknown = $allowignore ? '' : ''; - $dirname = $iscontents ? '' : $unknown; - } else { - $dirname = ''; - if (preg_match('~/\.\.?(/|\\z)|^\.\.?/~', - str_replace('\\', '/', $list['attribs']['name']))) { - // file contains .. parent directory or . cur directory - $this->_invalidDirName($list['attribs']['name']); - } - } - $res = $this->_stupidSchemaValidate($struc, $list, $dirname); - if ($allowignore && $res) { - $ignored_or_installed = array(); - $this->_pf->getFilelist(); - $fcontents = $this->_pf->getContents(); - $filelist = array(); - if (!isset($fcontents['dir']['file'][0])) { - $fcontents['dir']['file'] = array($fcontents['dir']['file']); - } - foreach ($fcontents['dir']['file'] as $file) { - $filelist[$file['attribs']['name']] = true; - } - if (isset($list['install'])) { - if (!isset($list['install'][0])) { - $list['install'] = array($list['install']); - } - foreach ($list['install'] as $file) { - if (!isset($filelist[$file['attribs']['name']])) { - $this->_notInContents($file['attribs']['name'], 'install'); - continue; - } - if (array_key_exists($file['attribs']['name'], $ignored_or_installed)) { - $this->_multipleInstallAs($file['attribs']['name']); - } - if (!isset($ignored_or_installed[$file['attribs']['name']])) { - $ignored_or_installed[$file['attribs']['name']] = array(); - } - $ignored_or_installed[$file['attribs']['name']][] = 1; - if (preg_match('~/\.\.?(/|\\z)|^\.\.?/~', - str_replace('\\', '/', $file['attribs']['as']))) { - // file contains .. parent directory or . cur directory references - $this->_invalidFileInstallAs($file['attribs']['name'], - $file['attribs']['as']); - } - } - } - if (isset($list['ignore'])) { - if (!isset($list['ignore'][0])) { - $list['ignore'] = array($list['ignore']); - } - foreach ($list['ignore'] as $file) { - if (!isset($filelist[$file['attribs']['name']])) { - $this->_notInContents($file['attribs']['name'], 'ignore'); - continue; - } - if (array_key_exists($file['attribs']['name'], $ignored_or_installed)) { - $this->_ignoreAndInstallAs($file['attribs']['name']); - } - } - } - } - if (!$allowignore && isset($list['file'])) { - if (is_string($list['file'])) { - $this->_oldStyleFileNotAllowed(); - return false; - } - if (!isset($list['file'][0])) { - // single file - $list['file'] = array($list['file']); - } - foreach ($list['file'] as $i => $file) - { - if (isset($file['attribs']) && isset($file['attribs']['name'])) { - if ($file['attribs']['name']{0} == '.' && - $file['attribs']['name']{1} == '/') { - // name is something like "./doc/whatever.txt" - $this->_invalidFileName($file['attribs']['name'], $dirname); - } - if (preg_match('~/\.\.?(/|\\z)|^\.\.?/~', - str_replace('\\', '/', $file['attribs']['name']))) { - // file contains .. parent directory or . cur directory - $this->_invalidFileName($file['attribs']['name'], $dirname); - } - } - if (isset($file['attribs']) && isset($file['attribs']['role'])) { - if (!$this->_validateRole($file['attribs']['role'])) { - if (isset($this->_packageInfo['usesrole'])) { - $roles = $this->_packageInfo['usesrole']; - if (!isset($roles[0])) { - $roles = array($roles); - } - foreach ($roles as $role) { - if ($role['role'] = $file['attribs']['role']) { - $msg = 'This package contains role "%role%" and requires ' . - 'package "%package%" to be used'; - if (isset($role['uri'])) { - $params = array('role' => $role['role'], - 'package' => $role['uri']); - } else { - $params = array('role' => $role['role'], - 'package' => $this->_pf->_registry-> - parsedPackageNameToString(array('package' => - $role['package'], 'channel' => $role['channel']), - true)); - } - $this->_stack->push('_mustInstallRole', 'error', $params, $msg); - } - } - } - $this->_invalidFileRole($file['attribs']['name'], - $dirname, $file['attribs']['role']); - } - } - if (!isset($file['attribs'])) { - continue; - } - $save = $file['attribs']; - if ($dirs) { - $save['name'] = $dirs . '/' . $save['name']; - } - unset($file['attribs']); - if (count($file) && $this->_curState != PEAR_VALIDATE_DOWNLOADING) { // has tasks - foreach ($file as $task => $value) { - if ($tagClass = $this->_pf->getTask($task)) { - if (!is_array($value) || !isset($value[0])) { - $value = array($value); - } - foreach ($value as $v) { - $ret = call_user_func(array($tagClass, 'validateXml'), - $this->_pf, $v, $this->_pf->_config, $save); - if (is_array($ret)) { - $this->_invalidTask($task, $ret, isset($save['name']) ? - $save['name'] : ''); - } - } - } else { - if (isset($this->_packageInfo['usestask'])) { - $roles = $this->_packageInfo['usestask']; - if (!isset($roles[0])) { - $roles = array($roles); - } - foreach ($roles as $role) { - if ($role['task'] = $task) { - $msg = 'This package contains task "%task%" and requires ' . - 'package "%package%" to be used'; - if (isset($role['uri'])) { - $params = array('task' => $role['task'], - 'package' => $role['uri']); - } else { - $params = array('task' => $role['task'], - 'package' => $this->_pf->_registry-> - parsedPackageNameToString(array('package' => - $role['package'], 'channel' => $role['channel']), - true)); - } - $this->_stack->push('_mustInstallTask', 'error', - $params, $msg); - } - } - } - $this->_unknownTask($task, $save['name']); - } - } - } - } - } - if (isset($list['ignore'])) { - if (!$allowignore) { - $this->_ignoreNotAllowed('ignore'); - } - } - if (isset($list['install'])) { - if (!$allowignore) { - $this->_ignoreNotAllowed('install'); - } - } - if (isset($list['file'])) { - if ($allowignore) { - $this->_fileNotAllowed('file'); - } - } - if (isset($list['dir'])) { - if ($allowignore) { - $this->_fileNotAllowed('dir'); - } else { - if (!isset($list['dir'][0])) { - $list['dir'] = array($list['dir']); - } - foreach ($list['dir'] as $dir) { - if (isset($dir['attribs']) && isset($dir['attribs']['name'])) { - if ($dir['attribs']['name'] == '/' || - !isset($this->_packageInfo['contents']['dir']['dir'])) { - // always use nothing if the filelist has already been flattened - $newdirs = ''; - } elseif ($dirs == '') { - $newdirs = $dir['attribs']['name']; - } else { - $newdirs = $dirs . '/' . $dir['attribs']['name']; - } - } else { - $newdirs = $dirs; - } - $this->_validateFilelist($dir, $allowignore, $newdirs); - } - } - } - } - - function _validateRelease() - { - if (isset($this->_packageInfo['phprelease'])) { - $release = 'phprelease'; - if (isset($this->_packageInfo['providesextension'])) { - $this->_cannotProvideExtension($release); - } - if (isset($this->_packageInfo['srcpackage']) || isset($this->_packageInfo['srcuri'])) { - $this->_cannotHaveSrcpackage($release); - } - $releases = $this->_packageInfo['phprelease']; - if (!is_array($releases)) { - return true; - } - if (!isset($releases[0])) { - $releases = array($releases); - } - foreach ($releases as $rel) { - $this->_stupidSchemaValidate(array( - '*installconditions', - '*filelist', - ), $rel, ''); - } - } - foreach (array('', 'zend') as $prefix) { - $releasetype = $prefix . 'extsrcrelease'; - if (isset($this->_packageInfo[$releasetype])) { - $release = $releasetype; - if (!isset($this->_packageInfo['providesextension'])) { - $this->_mustProvideExtension($release); - } - if (isset($this->_packageInfo['srcpackage']) || isset($this->_packageInfo['srcuri'])) { - $this->_cannotHaveSrcpackage($release); - } - $releases = $this->_packageInfo[$releasetype]; - if (!is_array($releases)) { - return true; - } - if (!isset($releases[0])) { - $releases = array($releases); - } - foreach ($releases as $rel) { - $this->_stupidSchemaValidate(array( - '*installconditions', - '*configureoption->name->prompt->?default', - '*binarypackage', - '*filelist', - ), $rel, '<' . $releasetype . '>'); - if (isset($rel['binarypackage'])) { - if (!is_array($rel['binarypackage']) || !isset($rel['binarypackage'][0])) { - $rel['binarypackage'] = array($rel['binarypackage']); - } - foreach ($rel['binarypackage'] as $bin) { - if (!is_string($bin)) { - $this->_binaryPackageMustBePackagename(); - } - } - } - } - } - $releasetype = 'extbinrelease'; - if (isset($this->_packageInfo[$releasetype])) { - $release = $releasetype; - if (!isset($this->_packageInfo['providesextension'])) { - $this->_mustProvideExtension($release); - } - if (isset($this->_packageInfo['channel']) && - !isset($this->_packageInfo['srcpackage'])) { - $this->_mustSrcPackage($release); - } - if (isset($this->_packageInfo['uri']) && !isset($this->_packageInfo['srcuri'])) { - $this->_mustSrcuri($release); - } - $releases = $this->_packageInfo[$releasetype]; - if (!is_array($releases)) { - return true; - } - if (!isset($releases[0])) { - $releases = array($releases); - } - foreach ($releases as $rel) { - $this->_stupidSchemaValidate(array( - '*installconditions', - '*filelist', - ), $rel, '<' . $releasetype . '>'); - } - } - } - if (isset($this->_packageInfo['bundle'])) { - $release = 'bundle'; - if (isset($this->_packageInfo['providesextension'])) { - $this->_cannotProvideExtension($release); - } - if (isset($this->_packageInfo['srcpackage']) || isset($this->_packageInfo['srcuri'])) { - $this->_cannotHaveSrcpackage($release); - } - $releases = $this->_packageInfo['bundle']; - if (!is_array($releases) || !isset($releases[0])) { - $releases = array($releases); - } - foreach ($releases as $rel) { - $this->_stupidSchemaValidate(array( - '*installconditions', - '*filelist', - ), $rel, ''); - } - } - foreach ($releases as $rel) { - if (is_array($rel) && array_key_exists('installconditions', $rel)) { - $this->_validateInstallConditions($rel['installconditions'], - "<$release>"); - } - if (is_array($rel) && array_key_exists('filelist', $rel)) { - if ($rel['filelist']) { - - $this->_validateFilelist($rel['filelist'], true); - } - } - } - } - - /** - * This is here to allow role extension through plugins - * @param string - */ - function _validateRole($role) - { - return in_array($role, PEAR_Installer_Role::getValidRoles($this->_pf->getPackageType())); - } - - function _pearVersionTooLow($version) - { - $this->_stack->push(__FUNCTION__, 'error', - array('version' => $version), - 'This package.xml requires PEAR version %version% to parse properly, we are ' . - 'version 1.9.4'); - } - - function _invalidTagOrder($oktags, $actual, $root) - { - $this->_stack->push(__FUNCTION__, 'error', - array('oktags' => $oktags, 'actual' => $actual, 'root' => $root), - 'Invalid tag order in %root%, found <%actual%> expected one of "%oktags%"'); - } - - function _ignoreNotAllowed($type) - { - $this->_stack->push(__FUNCTION__, 'error', array('type' => $type), - '<%type%> is not allowed inside global , only inside ' . - '//, use and only'); - } - - function _fileNotAllowed($type) - { - $this->_stack->push(__FUNCTION__, 'error', array('type' => $type), - '<%type%> is not allowed inside release , only inside ' . - ', use and only'); - } - - function _oldStyleFileNotAllowed() - { - $this->_stack->push(__FUNCTION__, 'error', array(), - 'Old-style name is not allowed. Use' . - ''); - } - - function _tagMissingAttribute($tag, $attr, $context) - { - $this->_stack->push(__FUNCTION__, 'error', array('tag' => $tag, - 'attribute' => $attr, 'context' => $context), - 'tag <%tag%> in context "%context%" has no attribute "%attribute%"'); - } - - function _tagHasNoAttribs($tag, $context) - { - $this->_stack->push(__FUNCTION__, 'error', array('tag' => $tag, - 'context' => $context), - 'tag <%tag%> has no attributes in context "%context%"'); - } - - function _invalidInternalStructure() - { - $this->_stack->push(__FUNCTION__, 'exception', array(), - 'internal array was not generated by compatible parser, or extreme parser error, cannot continue'); - } - - function _invalidFileRole($file, $dir, $role) - { - $this->_stack->push(__FUNCTION__, 'error', array( - 'file' => $file, 'dir' => $dir, 'role' => $role, - 'roles' => PEAR_Installer_Role::getValidRoles($this->_pf->getPackageType())), - 'File "%file%" in directory "%dir%" has invalid role "%role%", should be one of %roles%'); - } - - function _invalidFileName($file, $dir) - { - $this->_stack->push(__FUNCTION__, 'error', array( - 'file' => $file), - 'File "%file%" in directory "%dir%" cannot begin with "./" or contain ".."'); - } - - function _invalidFileInstallAs($file, $as) - { - $this->_stack->push(__FUNCTION__, 'error', array( - 'file' => $file, 'as' => $as), - 'File "%file%" cannot contain "./" or contain ".."'); - } - - function _invalidDirName($dir) - { - $this->_stack->push(__FUNCTION__, 'error', array( - 'dir' => $file), - 'Directory "%dir%" cannot begin with "./" or contain ".."'); - } - - function _filelistCannotContainFile($filelist) - { - $this->_stack->push(__FUNCTION__, 'error', array('tag' => $filelist), - '<%tag%> can only contain , contains . Use ' . - ' as the first dir element'); - } - - function _filelistMustContainDir($filelist) - { - $this->_stack->push(__FUNCTION__, 'error', array('tag' => $filelist), - '<%tag%> must contain . Use as the ' . - 'first dir element'); - } - - function _tagCannotBeEmpty($tag) - { - $this->_stack->push(__FUNCTION__, 'error', array('tag' => $tag), - '<%tag%> cannot be empty (<%tag%/>)'); - } - - function _UrlOrChannel($type, $name) - { - $this->_stack->push(__FUNCTION__, 'error', array('type' => $type, - 'name' => $name), - 'Required dependency <%type%> "%name%" can have either url OR ' . - 'channel attributes, and not both'); - } - - function _NoChannel($type, $name) - { - $this->_stack->push(__FUNCTION__, 'error', array('type' => $type, - 'name' => $name), - 'Required dependency <%type%> "%name%" must have either url OR ' . - 'channel attributes'); - } - - function _UrlOrChannelGroup($type, $name, $group) - { - $this->_stack->push(__FUNCTION__, 'error', array('type' => $type, - 'name' => $name, 'group' => $group), - 'Group "%group%" dependency <%type%> "%name%" can have either url OR ' . - 'channel attributes, and not both'); - } - - function _NoChannelGroup($type, $name, $group) - { - $this->_stack->push(__FUNCTION__, 'error', array('type' => $type, - 'name' => $name, 'group' => $group), - 'Group "%group%" dependency <%type%> "%name%" must have either url OR ' . - 'channel attributes'); - } - - function _unknownChannel($channel) - { - $this->_stack->push(__FUNCTION__, 'error', array('channel' => $channel), - 'Unknown channel "%channel%"'); - } - - function _noPackageVersion() - { - $this->_stack->push(__FUNCTION__, 'error', array(), - 'package.xml tag has no version attribute, or version is not 2.0'); - } - - function _NoBundledPackages() - { - $this->_stack->push(__FUNCTION__, 'error', array(), - 'No tag was found in , required for bundle packages'); - } - - function _AtLeast2BundledPackages() - { - $this->_stack->push(__FUNCTION__, 'error', array(), - 'At least 2 packages must be bundled in a bundle package'); - } - - function _ChannelOrUri($name) - { - $this->_stack->push(__FUNCTION__, 'error', array('name' => $name), - 'Bundled package "%name%" can have either a uri or a channel, not both'); - } - - function _noChildTag($child, $tag) - { - $this->_stack->push(__FUNCTION__, 'error', array('child' => $child, 'tag' => $tag), - 'Tag <%tag%> is missing child tag <%child%>'); - } - - function _invalidVersion($type, $value) - { - $this->_stack->push(__FUNCTION__, 'error', array('type' => $type, 'value' => $value), - 'Version type <%type%> is not a valid version (%value%)'); - } - - function _invalidState($type, $value) - { - $states = array('stable', 'beta', 'alpha', 'devel'); - if ($type != 'api') { - $states[] = 'snapshot'; - } - if (strtolower($value) == 'rc') { - $this->_stack->push(__FUNCTION__, 'error', - array('version' => $this->_packageInfo['version']['release']), - 'RC is not a state, it is a version postfix, try %version%RC1, stability beta'); - } - $this->_stack->push(__FUNCTION__, 'error', array('type' => $type, 'value' => $value, - 'types' => $states), - 'Stability type <%type%> is not a valid stability (%value%), must be one of ' . - '%types%'); - } - - function _invalidTask($task, $ret, $file) - { - switch ($ret[0]) { - case PEAR_TASK_ERROR_MISSING_ATTRIB : - $info = array('attrib' => $ret[1], 'task' => $task, 'file' => $file); - $msg = 'task <%task%> is missing attribute "%attrib%" in file %file%'; - break; - case PEAR_TASK_ERROR_NOATTRIBS : - $info = array('task' => $task, 'file' => $file); - $msg = 'task <%task%> has no attributes in file %file%'; - break; - case PEAR_TASK_ERROR_WRONG_ATTRIB_VALUE : - $info = array('attrib' => $ret[1], 'values' => $ret[3], - 'was' => $ret[2], 'task' => $task, 'file' => $file); - $msg = 'task <%task%> attribute "%attrib%" has the wrong value "%was%" '. - 'in file %file%, expecting one of "%values%"'; - break; - case PEAR_TASK_ERROR_INVALID : - $info = array('reason' => $ret[1], 'task' => $task, 'file' => $file); - $msg = 'task <%task%> in file %file% is invalid because of "%reason%"'; - break; - } - $this->_stack->push(__FUNCTION__, 'error', $info, $msg); - } - - function _unknownTask($task, $file) - { - $this->_stack->push(__FUNCTION__, 'error', array('task' => $task, 'file' => $file), - 'Unknown task "%task%" passed in file '); - } - - function _subpackageCannotProvideExtension($name) - { - $this->_stack->push(__FUNCTION__, 'error', array('name' => $name), - 'Subpackage dependency "%name%" cannot use , ' . - 'only package dependencies can use this tag'); - } - - function _subpackagesCannotConflict($name) - { - $this->_stack->push(__FUNCTION__, 'error', array('name' => $name), - 'Subpackage dependency "%name%" cannot use , ' . - 'only package dependencies can use this tag'); - } - - function _cannotProvideExtension($release) - { - $this->_stack->push(__FUNCTION__, 'error', array('release' => $release), - '<%release%> packages cannot use , only extbinrelease, extsrcrelease, zendextsrcrelease, and zendextbinrelease can provide a PHP extension'); - } - - function _mustProvideExtension($release) - { - $this->_stack->push(__FUNCTION__, 'error', array('release' => $release), - '<%release%> packages must use to indicate which PHP extension is provided'); - } - - function _cannotHaveSrcpackage($release) - { - $this->_stack->push(__FUNCTION__, 'error', array('release' => $release), - '<%release%> packages cannot specify a source code package, only extension binaries may use the tag'); - } - - function _mustSrcPackage($release) - { - $this->_stack->push(__FUNCTION__, 'error', array('release' => $release), - '/ packages must specify a source code package with '); - } - - function _mustSrcuri($release) - { - $this->_stack->push(__FUNCTION__, 'error', array('release' => $release), - '/ packages must specify a source code package with '); - } - - function _uriDepsCannotHaveVersioning($type) - { - $this->_stack->push(__FUNCTION__, 'error', array('type' => $type), - '%type%: dependencies with a tag cannot have any versioning information'); - } - - function _conflictingDepsCannotHaveVersioning($type) - { - $this->_stack->push(__FUNCTION__, 'error', array('type' => $type), - '%type%: conflicting dependencies cannot have versioning info, use to ' . - 'exclude specific versions of a dependency'); - } - - function _DepchannelCannotBeUri($type) - { - $this->_stack->push(__FUNCTION__, 'error', array('type' => $type), - '%type%: channel cannot be __uri, this is a pseudo-channel reserved for uri ' . - 'dependencies only'); - } - - function _bundledPackagesMustBeFilename() - { - $this->_stack->push(__FUNCTION__, 'error', array(), - ' tags must contain only the filename of a package release ' . - 'in the bundle'); - } - - function _binaryPackageMustBePackagename() - { - $this->_stack->push(__FUNCTION__, 'error', array(), - ' tags must contain the name of a package that is ' . - 'a compiled version of this extsrc/zendextsrc package'); - } - - function _fileNotFound($file) - { - $this->_stack->push(__FUNCTION__, 'error', array('file' => $file), - 'File "%file%" in package.xml does not exist'); - } - - function _notInContents($file, $tag) - { - $this->_stack->push(__FUNCTION__, 'error', array('file' => $file, 'tag' => $tag), - '<%tag% name="%file%"> is invalid, file is not in '); - } - - function _cannotValidateNoPathSet() - { - $this->_stack->push(__FUNCTION__, 'error', array(), - 'Cannot validate files, no path to package file is set (use setPackageFile())'); - } - - function _usesroletaskMustHaveChannelOrUri($role, $tag) - { - $this->_stack->push(__FUNCTION__, 'error', array('role' => $role, 'tag' => $tag), - '<%tag%> for role "%role%" must contain either , or and '); - } - - function _usesroletaskMustHavePackage($role, $tag) - { - $this->_stack->push(__FUNCTION__, 'error', array('role' => $role, 'tag' => $tag), - '<%tag%> for role "%role%" must contain '); - } - - function _usesroletaskMustHaveRoleTask($tag, $type) - { - $this->_stack->push(__FUNCTION__, 'error', array('tag' => $tag, 'type' => $type), - '<%tag%> must contain <%type%> defining the %type% to be used'); - } - - function _cannotConflictWithAllOs($type) - { - $this->_stack->push(__FUNCTION__, 'error', array('tag' => $tag), - '%tag% cannot conflict with all OSes'); - } - - function _invalidDepGroupName($name) - { - $this->_stack->push(__FUNCTION__, 'error', array('name' => $name), - 'Invalid dependency group name "%name%"'); - } - - function _multipleToplevelDirNotAllowed() - { - $this->_stack->push(__FUNCTION__, 'error', array(), - 'Multiple top-level tags are not allowed. Enclose them ' . - 'in a '); - } - - function _multipleInstallAs($file) - { - $this->_stack->push(__FUNCTION__, 'error', array('file' => $file), - 'Only one tag is allowed for file "%file%"'); - } - - function _ignoreAndInstallAs($file) - { - $this->_stack->push(__FUNCTION__, 'error', array('file' => $file), - 'Cannot have both and tags for file "%file%"'); - } - - function _analyzeBundledPackages() - { - if (!$this->_isValid) { - return false; - } - if (!$this->_pf->getPackageType() == 'bundle') { - return false; - } - if (!isset($this->_pf->_packageFile)) { - return false; - } - $dir_prefix = dirname($this->_pf->_packageFile); - $common = new PEAR_Common; - $log = isset($this->_pf->_logger) ? array(&$this->_pf->_logger, 'log') : - array($common, 'log'); - $info = $this->_pf->getContents(); - $info = $info['bundledpackage']; - if (!is_array($info)) { - $info = array($info); - } - $pkg = &new PEAR_PackageFile($this->_pf->_config); - foreach ($info as $package) { - if (!file_exists($dir_prefix . DIRECTORY_SEPARATOR . $package)) { - $this->_fileNotFound($dir_prefix . DIRECTORY_SEPARATOR . $package); - $this->_isValid = 0; - continue; - } - call_user_func_array($log, array(1, "Analyzing bundled package $package")); - PEAR::pushErrorHandling(PEAR_ERROR_RETURN); - $ret = $pkg->fromAnyFile($dir_prefix . DIRECTORY_SEPARATOR . $package, - PEAR_VALIDATE_NORMAL); - PEAR::popErrorHandling(); - if (PEAR::isError($ret)) { - call_user_func_array($log, array(0, "ERROR: package $package is not a valid " . - 'package')); - $inf = $ret->getUserInfo(); - if (is_array($inf)) { - foreach ($inf as $err) { - call_user_func_array($log, array(1, $err['message'])); - } - } - return false; - } - } - return true; - } - - function _analyzePhpFiles() - { - if (!$this->_isValid) { - return false; - } - if (!isset($this->_pf->_packageFile)) { - $this->_cannotValidateNoPathSet(); - return false; - } - $dir_prefix = dirname($this->_pf->_packageFile); - $common = new PEAR_Common; - $log = isset($this->_pf->_logger) ? array(&$this->_pf->_logger, 'log') : - array(&$common, 'log'); - $info = $this->_pf->getContents(); - if (!$info || !isset($info['dir']['file'])) { - $this->_tagCannotBeEmpty('contents>_fileNotFound($dir_prefix . DIRECTORY_SEPARATOR . $file); - $this->_isValid = 0; - continue; - } - if (in_array($fa['role'], PEAR_Installer_Role::getPhpRoles()) && $dir_prefix) { - call_user_func_array($log, array(1, "Analyzing $file")); - $srcinfo = $this->analyzeSourceCode($dir_prefix . DIRECTORY_SEPARATOR . $file); - if ($srcinfo) { - $provides = array_merge($provides, $this->_buildProvidesArray($srcinfo)); - } - } - } - $this->_packageName = $pn = $this->_pf->getPackage(); - $pnl = strlen($pn); - foreach ($provides as $key => $what) { - if (isset($what['explicit']) || !$what) { - // skip conformance checks if the provides entry is - // specified in the package.xml file - continue; - } - extract($what); - if ($type == 'class') { - if (!strncasecmp($name, $pn, $pnl)) { - continue; - } - $this->_stack->push(__FUNCTION__, 'warning', - array('file' => $file, 'type' => $type, 'name' => $name, 'package' => $pn), - 'in %file%: %type% "%name%" not prefixed with package name "%package%"'); - } elseif ($type == 'function') { - if (strstr($name, '::') || !strncasecmp($name, $pn, $pnl)) { - continue; - } - $this->_stack->push(__FUNCTION__, 'warning', - array('file' => $file, 'type' => $type, 'name' => $name, 'package' => $pn), - 'in %file%: %type% "%name%" not prefixed with package name "%package%"'); - } - } - return $this->_isValid; - } - - /** - * Analyze the source code of the given PHP file - * - * @param string Filename of the PHP file - * @param boolean whether to analyze $file as the file contents - * @return mixed - */ - function analyzeSourceCode($file, $string = false) - { - if (!function_exists("token_get_all")) { - $this->_stack->push(__FUNCTION__, 'error', array('file' => $file), - 'Parser error: token_get_all() function must exist to analyze source code, PHP may have been compiled with --disable-tokenizer'); - return false; - } - - if (!defined('T_DOC_COMMENT')) { - define('T_DOC_COMMENT', T_COMMENT); - } - - if (!defined('T_INTERFACE')) { - define('T_INTERFACE', -1); - } - - if (!defined('T_IMPLEMENTS')) { - define('T_IMPLEMENTS', -1); - } - - if ($string) { - $contents = $file; - } else { - if (!$fp = @fopen($file, "r")) { - return false; - } - fclose($fp); - $contents = file_get_contents($file); - } - - // Silence this function so we can catch PHP Warnings and show our own custom message - $tokens = @token_get_all($contents); - if (isset($php_errormsg)) { - if (isset($this->_stack)) { - $pn = $this->_pf->getPackage(); - $this->_stack->push(__FUNCTION__, 'warning', - array('file' => $file, 'package' => $pn), - 'in %file%: Could not process file for unkown reasons,' . - ' possibly a PHP parse error in %file% from %package%'); - } - } -/* - for ($i = 0; $i < sizeof($tokens); $i++) { - @list($token, $data) = $tokens[$i]; - if (is_string($token)) { - var_dump($token); - } else { - print token_name($token) . ' '; - var_dump(rtrim($data)); - } - } -*/ - $look_for = 0; - $paren_level = 0; - $bracket_level = 0; - $brace_level = 0; - $lastphpdoc = ''; - $current_class = ''; - $current_interface = ''; - $current_class_level = -1; - $current_function = ''; - $current_function_level = -1; - $declared_classes = array(); - $declared_interfaces = array(); - $declared_functions = array(); - $declared_methods = array(); - $used_classes = array(); - $used_functions = array(); - $extends = array(); - $implements = array(); - $nodeps = array(); - $inquote = false; - $interface = false; - for ($i = 0; $i < sizeof($tokens); $i++) { - if (is_array($tokens[$i])) { - list($token, $data) = $tokens[$i]; - } else { - $token = $tokens[$i]; - $data = ''; - } - - if ($inquote) { - if ($token != '"' && $token != T_END_HEREDOC) { - continue; - } else { - $inquote = false; - continue; - } - } - - switch ($token) { - case T_WHITESPACE : - continue; - case ';': - if ($interface) { - $current_function = ''; - $current_function_level = -1; - } - break; - case '"': - case T_START_HEREDOC: - $inquote = true; - break; - case T_CURLY_OPEN: - case T_DOLLAR_OPEN_CURLY_BRACES: - case '{': $brace_level++; continue 2; - case '}': - $brace_level--; - if ($current_class_level == $brace_level) { - $current_class = ''; - $current_class_level = -1; - } - if ($current_function_level == $brace_level) { - $current_function = ''; - $current_function_level = -1; - } - continue 2; - case '[': $bracket_level++; continue 2; - case ']': $bracket_level--; continue 2; - case '(': $paren_level++; continue 2; - case ')': $paren_level--; continue 2; - case T_INTERFACE: - $interface = true; - case T_CLASS: - if (($current_class_level != -1) || ($current_function_level != -1)) { - if (isset($this->_stack)) { - $this->_stack->push(__FUNCTION__, 'error', array('file' => $file), - 'Parser error: invalid PHP found in file "%file%"'); - } else { - PEAR::raiseError("Parser error: invalid PHP found in file \"$file\"", - PEAR_COMMON_ERROR_INVALIDPHP); - } - - return false; - } - case T_FUNCTION: - case T_NEW: - case T_EXTENDS: - case T_IMPLEMENTS: - $look_for = $token; - continue 2; - case T_STRING: - if (version_compare(zend_version(), '2.0', '<')) { - if (in_array(strtolower($data), - array('public', 'private', 'protected', 'abstract', - 'interface', 'implements', 'throw') - ) - ) { - if (isset($this->_stack)) { - $this->_stack->push(__FUNCTION__, 'warning', array( - 'file' => $file), - 'Error, PHP5 token encountered in %file%,' . - ' analysis should be in PHP5'); - } else { - PEAR::raiseError('Error: PHP5 token encountered in ' . $file . - 'packaging should be done in PHP 5'); - return false; - } - } - } - - if ($look_for == T_CLASS) { - $current_class = $data; - $current_class_level = $brace_level; - $declared_classes[] = $current_class; - } elseif ($look_for == T_INTERFACE) { - $current_interface = $data; - $current_class_level = $brace_level; - $declared_interfaces[] = $current_interface; - } elseif ($look_for == T_IMPLEMENTS) { - $implements[$current_class] = $data; - } elseif ($look_for == T_EXTENDS) { - $extends[$current_class] = $data; - } elseif ($look_for == T_FUNCTION) { - if ($current_class) { - $current_function = "$current_class::$data"; - $declared_methods[$current_class][] = $data; - } elseif ($current_interface) { - $current_function = "$current_interface::$data"; - $declared_methods[$current_interface][] = $data; - } else { - $current_function = $data; - $declared_functions[] = $current_function; - } - - $current_function_level = $brace_level; - $m = array(); - } elseif ($look_for == T_NEW) { - $used_classes[$data] = true; - } - - $look_for = 0; - continue 2; - case T_VARIABLE: - $look_for = 0; - continue 2; - case T_DOC_COMMENT: - case T_COMMENT: - if (preg_match('!^/\*\*\s!', $data)) { - $lastphpdoc = $data; - if (preg_match_all('/@nodep\s+(\S+)/', $lastphpdoc, $m)) { - $nodeps = array_merge($nodeps, $m[1]); - } - } - continue 2; - case T_DOUBLE_COLON: - $token = $tokens[$i - 1][0]; - if (!($token == T_WHITESPACE || $token == T_STRING || $token == T_STATIC)) { - if (isset($this->_stack)) { - $this->_stack->push(__FUNCTION__, 'warning', array('file' => $file), - 'Parser error: invalid PHP found in file "%file%"'); - } else { - PEAR::raiseError("Parser error: invalid PHP found in file \"$file\"", - PEAR_COMMON_ERROR_INVALIDPHP); - } - - return false; - } - - $class = $tokens[$i - 1][1]; - if (strtolower($class) != 'parent') { - $used_classes[$class] = true; - } - - continue 2; - } - } - - return array( - "source_file" => $file, - "declared_classes" => $declared_classes, - "declared_interfaces" => $declared_interfaces, - "declared_methods" => $declared_methods, - "declared_functions" => $declared_functions, - "used_classes" => array_diff(array_keys($used_classes), $nodeps), - "inheritance" => $extends, - "implements" => $implements, - ); - } - - /** - * Build a "provides" array from data returned by - * analyzeSourceCode(). The format of the built array is like - * this: - * - * array( - * 'class;MyClass' => 'array('type' => 'class', 'name' => 'MyClass'), - * ... - * ) - * - * - * @param array $srcinfo array with information about a source file - * as returned by the analyzeSourceCode() method. - * - * @return void - * - * @access private - * - */ - function _buildProvidesArray($srcinfo) - { - if (!$this->_isValid) { - return array(); - } - - $providesret = array(); - $file = basename($srcinfo['source_file']); - $pn = isset($this->_pf) ? $this->_pf->getPackage() : ''; - $pnl = strlen($pn); - foreach ($srcinfo['declared_classes'] as $class) { - $key = "class;$class"; - if (isset($providesret[$key])) { - continue; - } - - $providesret[$key] = - array('file'=> $file, 'type' => 'class', 'name' => $class); - if (isset($srcinfo['inheritance'][$class])) { - $providesret[$key]['extends'] = - $srcinfo['inheritance'][$class]; - } - } - - foreach ($srcinfo['declared_methods'] as $class => $methods) { - foreach ($methods as $method) { - $function = "$class::$method"; - $key = "function;$function"; - if ($method{0} == '_' || !strcasecmp($method, $class) || - isset($providesret[$key])) { - continue; - } - - $providesret[$key] = - array('file'=> $file, 'type' => 'function', 'name' => $function); - } - } - - foreach ($srcinfo['declared_functions'] as $function) { - $key = "function;$function"; - if ($function{0} == '_' || isset($providesret[$key])) { - continue; - } - - if (!strstr($function, '::') && strncasecmp($function, $pn, $pnl)) { - $warnings[] = "in1 " . $file . ": function \"$function\" not prefixed with package name \"$pn\""; - } - - $providesret[$key] = - array('file'=> $file, 'type' => 'function', 'name' => $function); - } - - return $providesret; - } -} \ No newline at end of file diff --git a/3rdparty/PEAR/PackageFile/v2/rw.php b/3rdparty/PEAR/PackageFile/v2/rw.php deleted file mode 100644 index 58f76c55947c8419242ea72041f364e25e9c0764..0000000000000000000000000000000000000000 --- a/3rdparty/PEAR/PackageFile/v2/rw.php +++ /dev/null @@ -1,1604 +0,0 @@ - - * @copyright 1997-2009 The Authors - * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: rw.php 313023 2011-07-06 19:17:11Z dufuz $ - * @link http://pear.php.net/package/PEAR - * @since File available since Release 1.4.0a8 - */ -/** - * For base class - */ -require_once 'PEAR/PackageFile/v2.php'; -/** - * @category pear - * @package PEAR - * @author Greg Beaver - * @copyright 1997-2009 The Authors - * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.4 - * @link http://pear.php.net/package/PEAR - * @since Class available since Release 1.4.0a8 - */ -class PEAR_PackageFile_v2_rw extends PEAR_PackageFile_v2 -{ - /** - * @param string Extension name - * @return bool success of operation - */ - function setProvidesExtension($extension) - { - if (in_array($this->getPackageType(), - array('extsrc', 'extbin', 'zendextsrc', 'zendextbin'))) { - if (!isset($this->_packageInfo['providesextension'])) { - // ensure that the channel tag is set up in the right location - $this->_packageInfo = $this->_insertBefore($this->_packageInfo, - array('usesrole', 'usestask', 'srcpackage', 'srcuri', 'phprelease', - 'extsrcrelease', 'extbinrelease', 'zendextsrcrelease', 'zendextbinrelease', - 'bundle', 'changelog'), - $extension, 'providesextension'); - } - $this->_packageInfo['providesextension'] = $extension; - return true; - } - return false; - } - - function setPackage($package) - { - $this->_isValid = 0; - if (!isset($this->_packageInfo['attribs'])) { - $this->_packageInfo = array_merge(array('attribs' => array( - 'version' => '2.0', - 'xmlns' => 'http://pear.php.net/dtd/package-2.0', - 'xmlns:tasks' => 'http://pear.php.net/dtd/tasks-1.0', - 'xmlns:xsi' => 'http://www.w3.org/2001/XMLSchema-instance', - 'xsi:schemaLocation' => 'http://pear.php.net/dtd/tasks-1.0 - http://pear.php.net/dtd/tasks-1.0.xsd - http://pear.php.net/dtd/package-2.0 - http://pear.php.net/dtd/package-2.0.xsd', - )), $this->_packageInfo); - } - if (!isset($this->_packageInfo['name'])) { - return $this->_packageInfo = array_merge(array('name' => $package), - $this->_packageInfo); - } - $this->_packageInfo['name'] = $package; - } - - /** - * set this as a package.xml version 2.1 - * @access private - */ - function _setPackageVersion2_1() - { - $info = array( - 'version' => '2.1', - 'xmlns' => 'http://pear.php.net/dtd/package-2.1', - 'xmlns:tasks' => 'http://pear.php.net/dtd/tasks-1.0', - 'xmlns:xsi' => 'http://www.w3.org/2001/XMLSchema-instance', - 'xsi:schemaLocation' => 'http://pear.php.net/dtd/tasks-1.0 - http://pear.php.net/dtd/tasks-1.0.xsd - http://pear.php.net/dtd/package-2.1 - http://pear.php.net/dtd/package-2.1.xsd', - ); - if (!isset($this->_packageInfo['attribs'])) { - $this->_packageInfo = array_merge(array('attribs' => $info), $this->_packageInfo); - } else { - $this->_packageInfo['attribs'] = $info; - } - } - - function setUri($uri) - { - unset($this->_packageInfo['channel']); - $this->_isValid = 0; - if (!isset($this->_packageInfo['uri'])) { - // ensure that the uri tag is set up in the right location - $this->_packageInfo = $this->_insertBefore($this->_packageInfo, - array('extends', 'summary', 'description', 'lead', - 'developer', 'contributor', 'helper', 'date', 'time', 'version', - 'stability', 'license', 'notes', 'contents', 'compatible', - 'dependencies', 'providesextension', 'usesrole', 'usestask', 'srcpackage', 'srcuri', - 'phprelease', 'extsrcrelease', 'zendextsrcrelease', 'zendextbinrelease', - 'extbinrelease', 'bundle', 'changelog'), $uri, 'uri'); - } - $this->_packageInfo['uri'] = $uri; - } - - function setChannel($channel) - { - unset($this->_packageInfo['uri']); - $this->_isValid = 0; - if (!isset($this->_packageInfo['channel'])) { - // ensure that the channel tag is set up in the right location - $this->_packageInfo = $this->_insertBefore($this->_packageInfo, - array('extends', 'summary', 'description', 'lead', - 'developer', 'contributor', 'helper', 'date', 'time', 'version', - 'stability', 'license', 'notes', 'contents', 'compatible', - 'dependencies', 'providesextension', 'usesrole', 'usestask', 'srcpackage', 'srcuri', - 'phprelease', 'extsrcrelease', 'zendextsrcrelease', 'zendextbinrelease', - 'extbinrelease', 'bundle', 'changelog'), $channel, 'channel'); - } - $this->_packageInfo['channel'] = $channel; - } - - function setExtends($extends) - { - $this->_isValid = 0; - if (!isset($this->_packageInfo['extends'])) { - // ensure that the extends tag is set up in the right location - $this->_packageInfo = $this->_insertBefore($this->_packageInfo, - array('summary', 'description', 'lead', - 'developer', 'contributor', 'helper', 'date', 'time', 'version', - 'stability', 'license', 'notes', 'contents', 'compatible', - 'dependencies', 'providesextension', 'usesrole', 'usestask', 'srcpackage', 'srcuri', - 'phprelease', 'extsrcrelease', 'zendextsrcrelease', 'zendextbinrelease', - 'extbinrelease', 'bundle', 'changelog'), $extends, 'extends'); - } - $this->_packageInfo['extends'] = $extends; - } - - function setSummary($summary) - { - $this->_isValid = 0; - if (!isset($this->_packageInfo['summary'])) { - // ensure that the summary tag is set up in the right location - $this->_packageInfo = $this->_insertBefore($this->_packageInfo, - array('description', 'lead', - 'developer', 'contributor', 'helper', 'date', 'time', 'version', - 'stability', 'license', 'notes', 'contents', 'compatible', - 'dependencies', 'providesextension', 'usesrole', 'usestask', 'srcpackage', 'srcuri', - 'phprelease', 'extsrcrelease', 'zendextsrcrelease', 'zendextbinrelease', - 'extbinrelease', 'bundle', 'changelog'), $summary, 'summary'); - } - $this->_packageInfo['summary'] = $summary; - } - - function setDescription($desc) - { - $this->_isValid = 0; - if (!isset($this->_packageInfo['description'])) { - // ensure that the description tag is set up in the right location - $this->_packageInfo = $this->_insertBefore($this->_packageInfo, - array('lead', - 'developer', 'contributor', 'helper', 'date', 'time', 'version', - 'stability', 'license', 'notes', 'contents', 'compatible', - 'dependencies', 'providesextension', 'usesrole', 'usestask', 'srcpackage', 'srcuri', - 'phprelease', 'extsrcrelease', 'zendextsrcrelease', 'zendextbinrelease', - 'extbinrelease', 'bundle', 'changelog'), $desc, 'description'); - } - $this->_packageInfo['description'] = $desc; - } - - /** - * Adds a new maintainer - no checking of duplicates is performed, use - * updatemaintainer for that purpose. - */ - function addMaintainer($role, $handle, $name, $email, $active = 'yes') - { - if (!in_array($role, array('lead', 'developer', 'contributor', 'helper'))) { - return false; - } - if (isset($this->_packageInfo[$role])) { - if (!isset($this->_packageInfo[$role][0])) { - $this->_packageInfo[$role] = array($this->_packageInfo[$role]); - } - $this->_packageInfo[$role][] = - array( - 'name' => $name, - 'user' => $handle, - 'email' => $email, - 'active' => $active, - ); - } else { - $testarr = array('lead', - 'developer', 'contributor', 'helper', 'date', 'time', 'version', - 'stability', 'license', 'notes', 'contents', 'compatible', - 'dependencies', 'providesextension', 'usesrole', 'usestask', - 'srcpackage', 'srcuri', 'phprelease', 'extsrcrelease', - 'extbinrelease', 'zendextsrcrelease', 'zendextbinrelease', 'bundle', 'changelog'); - foreach (array('lead', 'developer', 'contributor', 'helper') as $testrole) { - array_shift($testarr); - if ($role == $testrole) { - break; - } - } - if (!isset($this->_packageInfo[$role])) { - // ensure that the extends tag is set up in the right location - $this->_packageInfo = $this->_insertBefore($this->_packageInfo, $testarr, - array(), $role); - } - $this->_packageInfo[$role] = - array( - 'name' => $name, - 'user' => $handle, - 'email' => $email, - 'active' => $active, - ); - } - $this->_isValid = 0; - } - - function updateMaintainer($newrole, $handle, $name, $email, $active = 'yes') - { - $found = false; - foreach (array('lead', 'developer', 'contributor', 'helper') as $role) { - if (!isset($this->_packageInfo[$role])) { - continue; - } - $info = $this->_packageInfo[$role]; - if (!isset($info[0])) { - if ($info['user'] == $handle) { - $found = true; - break; - } - } - foreach ($info as $i => $maintainer) { - if ($maintainer['user'] == $handle) { - $found = $i; - break 2; - } - } - } - if ($found === false) { - return $this->addMaintainer($newrole, $handle, $name, $email, $active); - } - if ($found !== false) { - if ($found === true) { - unset($this->_packageInfo[$role]); - } else { - unset($this->_packageInfo[$role][$found]); - $this->_packageInfo[$role] = array_values($this->_packageInfo[$role]); - } - } - $this->addMaintainer($newrole, $handle, $name, $email, $active); - $this->_isValid = 0; - } - - function deleteMaintainer($handle) - { - $found = false; - foreach (array('lead', 'developer', 'contributor', 'helper') as $role) { - if (!isset($this->_packageInfo[$role])) { - continue; - } - if (!isset($this->_packageInfo[$role][0])) { - $this->_packageInfo[$role] = array($this->_packageInfo[$role]); - } - foreach ($this->_packageInfo[$role] as $i => $maintainer) { - if ($maintainer['user'] == $handle) { - $found = $i; - break; - } - } - if ($found !== false) { - unset($this->_packageInfo[$role][$found]); - if (!count($this->_packageInfo[$role]) && $role == 'lead') { - $this->_isValid = 0; - } - if (!count($this->_packageInfo[$role])) { - unset($this->_packageInfo[$role]); - return true; - } - $this->_packageInfo[$role] = - array_values($this->_packageInfo[$role]); - if (count($this->_packageInfo[$role]) == 1) { - $this->_packageInfo[$role] = $this->_packageInfo[$role][0]; - } - return true; - } - if (count($this->_packageInfo[$role]) == 1) { - $this->_packageInfo[$role] = $this->_packageInfo[$role][0]; - } - } - return false; - } - - function setReleaseVersion($version) - { - if (isset($this->_packageInfo['version']) && - isset($this->_packageInfo['version']['release'])) { - unset($this->_packageInfo['version']['release']); - } - $this->_packageInfo = $this->_mergeTag($this->_packageInfo, $version, array( - 'version' => array('stability', 'license', 'notes', 'contents', 'compatible', - 'dependencies', 'providesextension', 'usesrole', 'usestask', 'srcpackage', 'srcuri', - 'phprelease', 'extsrcrelease', 'zendextsrcrelease', 'zendextbinrelease', - 'extbinrelease', 'bundle', 'changelog'), - 'release' => array('api'))); - $this->_isValid = 0; - } - - function setAPIVersion($version) - { - if (isset($this->_packageInfo['version']) && - isset($this->_packageInfo['version']['api'])) { - unset($this->_packageInfo['version']['api']); - } - $this->_packageInfo = $this->_mergeTag($this->_packageInfo, $version, array( - 'version' => array('stability', 'license', 'notes', 'contents', 'compatible', - 'dependencies', 'providesextension', 'usesrole', 'usestask', 'srcpackage', 'srcuri', - 'phprelease', 'extsrcrelease', 'zendextsrcrelease', 'zendextbinrelease', - 'extbinrelease', 'bundle', 'changelog'), - 'api' => array())); - $this->_isValid = 0; - } - - /** - * snapshot|devel|alpha|beta|stable - */ - function setReleaseStability($state) - { - if (isset($this->_packageInfo['stability']) && - isset($this->_packageInfo['stability']['release'])) { - unset($this->_packageInfo['stability']['release']); - } - $this->_packageInfo = $this->_mergeTag($this->_packageInfo, $state, array( - 'stability' => array('license', 'notes', 'contents', 'compatible', - 'dependencies', 'providesextension', 'usesrole', 'usestask', 'srcpackage', 'srcuri', - 'phprelease', 'extsrcrelease', 'zendextsrcrelease', 'zendextbinrelease', - 'extbinrelease', 'bundle', 'changelog'), - 'release' => array('api'))); - $this->_isValid = 0; - } - - /** - * @param devel|alpha|beta|stable - */ - function setAPIStability($state) - { - if (isset($this->_packageInfo['stability']) && - isset($this->_packageInfo['stability']['api'])) { - unset($this->_packageInfo['stability']['api']); - } - $this->_packageInfo = $this->_mergeTag($this->_packageInfo, $state, array( - 'stability' => array('license', 'notes', 'contents', 'compatible', - 'dependencies', 'providesextension', 'usesrole', 'usestask', 'srcpackage', 'srcuri', - 'phprelease', 'extsrcrelease', 'zendextsrcrelease', 'zendextbinrelease', - 'extbinrelease', 'bundle', 'changelog'), - 'api' => array())); - $this->_isValid = 0; - } - - function setLicense($license, $uri = false, $filesource = false) - { - if (!isset($this->_packageInfo['license'])) { - // ensure that the license tag is set up in the right location - $this->_packageInfo = $this->_insertBefore($this->_packageInfo, - array('notes', 'contents', 'compatible', - 'dependencies', 'providesextension', 'usesrole', 'usestask', 'srcpackage', 'srcuri', - 'phprelease', 'extsrcrelease', 'zendextsrcrelease', 'zendextbinrelease', - 'extbinrelease', 'bundle', 'changelog'), 0, 'license'); - } - if ($uri || $filesource) { - $attribs = array(); - if ($uri) { - $attribs['uri'] = $uri; - } - $uri = true; // for test below - if ($filesource) { - $attribs['filesource'] = $filesource; - } - } - $license = $uri ? array('attribs' => $attribs, '_content' => $license) : $license; - $this->_packageInfo['license'] = $license; - $this->_isValid = 0; - } - - function setNotes($notes) - { - $this->_isValid = 0; - if (!isset($this->_packageInfo['notes'])) { - // ensure that the notes tag is set up in the right location - $this->_packageInfo = $this->_insertBefore($this->_packageInfo, - array('contents', 'compatible', - 'dependencies', 'providesextension', 'usesrole', 'usestask', 'srcpackage', 'srcuri', - 'phprelease', 'extsrcrelease', 'zendextsrcrelease', 'zendextbinrelease', - 'extbinrelease', 'bundle', 'changelog'), $notes, 'notes'); - } - $this->_packageInfo['notes'] = $notes; - } - - /** - * This is only used at install-time, after all serialization - * is over. - * @param string file name - * @param string installed path - */ - function setInstalledAs($file, $path) - { - if ($path) { - return $this->_packageInfo['filelist'][$file]['installed_as'] = $path; - } - unset($this->_packageInfo['filelist'][$file]['installed_as']); - } - - /** - * This is only used at install-time, after all serialization - * is over. - */ - function installedFile($file, $atts) - { - if (isset($this->_packageInfo['filelist'][$file])) { - $this->_packageInfo['filelist'][$file] = - array_merge($this->_packageInfo['filelist'][$file], $atts['attribs']); - } else { - $this->_packageInfo['filelist'][$file] = $atts['attribs']; - } - } - - /** - * Reset the listing of package contents - * @param string base installation dir for the whole package, if any - */ - function clearContents($baseinstall = false) - { - $this->_filesValid = false; - $this->_isValid = 0; - if (!isset($this->_packageInfo['contents'])) { - $this->_packageInfo = $this->_insertBefore($this->_packageInfo, - array('compatible', - 'dependencies', 'providesextension', 'usesrole', 'usestask', - 'srcpackage', 'srcuri', 'phprelease', 'extsrcrelease', - 'extbinrelease', 'zendextsrcrelease', 'zendextbinrelease', - 'bundle', 'changelog'), array(), 'contents'); - } - if ($this->getPackageType() != 'bundle') { - $this->_packageInfo['contents'] = - array('dir' => array('attribs' => array('name' => '/'))); - if ($baseinstall) { - $this->_packageInfo['contents']['dir']['attribs']['baseinstalldir'] = $baseinstall; - } - } else { - $this->_packageInfo['contents'] = array('bundledpackage' => array()); - } - } - - /** - * @param string relative path of the bundled package. - */ - function addBundledPackage($path) - { - if ($this->getPackageType() != 'bundle') { - return false; - } - $this->_filesValid = false; - $this->_isValid = 0; - $this->_packageInfo = $this->_mergeTag($this->_packageInfo, $path, array( - 'contents' => array('compatible', 'dependencies', 'providesextension', - 'usesrole', 'usestask', 'srcpackage', 'srcuri', 'phprelease', - 'extsrcrelease', 'extbinrelease', 'zendextsrcrelease', 'zendextbinrelease', - 'bundle', 'changelog'), - 'bundledpackage' => array())); - } - - /** - * @param string file name - * @param PEAR_Task_Common a read/write task - */ - function addTaskToFile($filename, $task) - { - if (!method_exists($task, 'getXml')) { - return false; - } - if (!method_exists($task, 'getName')) { - return false; - } - if (!method_exists($task, 'validate')) { - return false; - } - if (!$task->validate()) { - return false; - } - if (!isset($this->_packageInfo['contents']['dir']['file'])) { - return false; - } - $this->getTasksNs(); // discover the tasks namespace if not done already - $files = $this->_packageInfo['contents']['dir']['file']; - if (!isset($files[0])) { - $files = array($files); - $ind = false; - } else { - $ind = true; - } - foreach ($files as $i => $file) { - if (isset($file['attribs'])) { - if ($file['attribs']['name'] == $filename) { - if ($ind) { - $t = isset($this->_packageInfo['contents']['dir']['file'][$i] - ['attribs'][$this->_tasksNs . - ':' . $task->getName()]) ? - $this->_packageInfo['contents']['dir']['file'][$i] - ['attribs'][$this->_tasksNs . - ':' . $task->getName()] : false; - if ($t && !isset($t[0])) { - $this->_packageInfo['contents']['dir']['file'][$i] - [$this->_tasksNs . ':' . $task->getName()] = array($t); - } - $this->_packageInfo['contents']['dir']['file'][$i][$this->_tasksNs . - ':' . $task->getName()][] = $task->getXml(); - } else { - $t = isset($this->_packageInfo['contents']['dir']['file'] - ['attribs'][$this->_tasksNs . - ':' . $task->getName()]) ? $this->_packageInfo['contents']['dir']['file'] - ['attribs'][$this->_tasksNs . - ':' . $task->getName()] : false; - if ($t && !isset($t[0])) { - $this->_packageInfo['contents']['dir']['file'] - [$this->_tasksNs . ':' . $task->getName()] = array($t); - } - $this->_packageInfo['contents']['dir']['file'][$this->_tasksNs . - ':' . $task->getName()][] = $task->getXml(); - } - return true; - } - } - } - return false; - } - - /** - * @param string path to the file - * @param string filename - * @param array extra attributes - */ - function addFile($dir, $file, $attrs) - { - if ($this->getPackageType() == 'bundle') { - return false; - } - $this->_filesValid = false; - $this->_isValid = 0; - $dir = preg_replace(array('!\\\\+!', '!/+!'), array('/', '/'), $dir); - if ($dir == '/' || $dir == '') { - $dir = ''; - } else { - $dir .= '/'; - } - $attrs['name'] = $dir . $file; - if (!isset($this->_packageInfo['contents'])) { - // ensure that the contents tag is set up - $this->_packageInfo = $this->_insertBefore($this->_packageInfo, - array('compatible', 'dependencies', 'providesextension', 'usesrole', 'usestask', - 'srcpackage', 'srcuri', 'phprelease', 'extsrcrelease', - 'extbinrelease', 'zendextsrcrelease', 'zendextbinrelease', - 'bundle', 'changelog'), array(), 'contents'); - } - if (isset($this->_packageInfo['contents']['dir']['file'])) { - if (!isset($this->_packageInfo['contents']['dir']['file'][0])) { - $this->_packageInfo['contents']['dir']['file'] = - array($this->_packageInfo['contents']['dir']['file']); - } - $this->_packageInfo['contents']['dir']['file'][]['attribs'] = $attrs; - } else { - $this->_packageInfo['contents']['dir']['file']['attribs'] = $attrs; - } - } - - /** - * @param string Dependent package name - * @param string Dependent package's channel name - * @param string minimum version of specified package that this release is guaranteed to be - * compatible with - * @param string maximum version of specified package that this release is guaranteed to be - * compatible with - * @param string versions of specified package that this release is not compatible with - */ - function addCompatiblePackage($name, $channel, $min, $max, $exclude = false) - { - $this->_isValid = 0; - $set = array( - 'name' => $name, - 'channel' => $channel, - 'min' => $min, - 'max' => $max, - ); - if ($exclude) { - $set['exclude'] = $exclude; - } - $this->_isValid = 0; - $this->_packageInfo = $this->_mergeTag($this->_packageInfo, $set, array( - 'compatible' => array('dependencies', 'providesextension', 'usesrole', 'usestask', - 'srcpackage', 'srcuri', 'phprelease', 'extsrcrelease', 'extbinrelease', - 'zendextsrcrelease', 'zendextbinrelease', 'bundle', 'changelog') - )); - } - - /** - * Removes the tag entirely - */ - function resetUsesrole() - { - if (isset($this->_packageInfo['usesrole'])) { - unset($this->_packageInfo['usesrole']); - } - } - - /** - * @param string - * @param string package name or uri - * @param string channel name if non-uri - */ - function addUsesrole($role, $packageOrUri, $channel = false) { - $set = array('role' => $role); - if ($channel) { - $set['package'] = $packageOrUri; - $set['channel'] = $channel; - } else { - $set['uri'] = $packageOrUri; - } - $this->_isValid = 0; - $this->_packageInfo = $this->_mergeTag($this->_packageInfo, $set, array( - 'usesrole' => array('usestask', 'srcpackage', 'srcuri', - 'phprelease', 'extsrcrelease', 'extbinrelease', - 'zendextsrcrelease', 'zendextbinrelease', 'bundle', 'changelog') - )); - } - - /** - * Removes the tag entirely - */ - function resetUsestask() - { - if (isset($this->_packageInfo['usestask'])) { - unset($this->_packageInfo['usestask']); - } - } - - - /** - * @param string - * @param string package name or uri - * @param string channel name if non-uri - */ - function addUsestask($task, $packageOrUri, $channel = false) { - $set = array('task' => $task); - if ($channel) { - $set['package'] = $packageOrUri; - $set['channel'] = $channel; - } else { - $set['uri'] = $packageOrUri; - } - $this->_isValid = 0; - $this->_packageInfo = $this->_mergeTag($this->_packageInfo, $set, array( - 'usestask' => array('srcpackage', 'srcuri', - 'phprelease', 'extsrcrelease', 'extbinrelease', - 'zendextsrcrelease', 'zendextbinrelease', 'bundle', 'changelog') - )); - } - - /** - * Remove all compatible tags - */ - function clearCompatible() - { - unset($this->_packageInfo['compatible']); - } - - /** - * Reset dependencies prior to adding new ones - */ - function clearDeps() - { - if (!isset($this->_packageInfo['dependencies'])) { - $this->_packageInfo = $this->_mergeTag($this->_packageInfo, array(), - array( - 'dependencies' => array('providesextension', 'usesrole', 'usestask', - 'srcpackage', 'srcuri', 'phprelease', 'extsrcrelease', 'extbinrelease', - 'zendextsrcrelease', 'zendextbinrelease', 'bundle', 'changelog'))); - } - $this->_packageInfo['dependencies'] = array(); - } - - /** - * @param string minimum PHP version allowed - * @param string maximum PHP version allowed - * @param array $exclude incompatible PHP versions - */ - function setPhpDep($min, $max = false, $exclude = false) - { - $this->_isValid = 0; - $dep = - array( - 'min' => $min, - ); - if ($max) { - $dep['max'] = $max; - } - if ($exclude) { - if (count($exclude) == 1) { - $exclude = $exclude[0]; - } - $dep['exclude'] = $exclude; - } - if (isset($this->_packageInfo['dependencies']['required']['php'])) { - $this->_stack->push(__FUNCTION__, 'warning', array('dep' => - $this->_packageInfo['dependencies']['required']['php']), - 'warning: PHP dependency already exists, overwriting'); - unset($this->_packageInfo['dependencies']['required']['php']); - } - $this->_packageInfo = $this->_mergeTag($this->_packageInfo, $dep, - array( - 'dependencies' => array('providesextension', 'usesrole', 'usestask', - 'srcpackage', 'srcuri', 'phprelease', 'extsrcrelease', 'extbinrelease', - 'zendextsrcrelease', 'zendextbinrelease', 'bundle', 'changelog'), - 'required' => array('optional', 'group'), - 'php' => array('pearinstaller', 'package', 'subpackage', 'extension', 'os', 'arch') - )); - return true; - } - - /** - * @param string minimum allowed PEAR installer version - * @param string maximum allowed PEAR installer version - * @param string recommended PEAR installer version - * @param array incompatible version of the PEAR installer - */ - function setPearinstallerDep($min, $max = false, $recommended = false, $exclude = false) - { - $this->_isValid = 0; - $dep = - array( - 'min' => $min, - ); - if ($max) { - $dep['max'] = $max; - } - if ($recommended) { - $dep['recommended'] = $recommended; - } - if ($exclude) { - if (count($exclude) == 1) { - $exclude = $exclude[0]; - } - $dep['exclude'] = $exclude; - } - if (isset($this->_packageInfo['dependencies']['required']['pearinstaller'])) { - $this->_stack->push(__FUNCTION__, 'warning', array('dep' => - $this->_packageInfo['dependencies']['required']['pearinstaller']), - 'warning: PEAR Installer dependency already exists, overwriting'); - unset($this->_packageInfo['dependencies']['required']['pearinstaller']); - } - $this->_packageInfo = $this->_mergeTag($this->_packageInfo, $dep, - array( - 'dependencies' => array('providesextension', 'usesrole', 'usestask', - 'srcpackage', 'srcuri', 'phprelease', 'extsrcrelease', 'extbinrelease', - 'zendextsrcrelease', 'zendextbinrelease', 'bundle', 'changelog'), - 'required' => array('optional', 'group'), - 'pearinstaller' => array('package', 'subpackage', 'extension', 'os', 'arch') - )); - } - - /** - * Mark a package as conflicting with this package - * @param string package name - * @param string package channel - * @param string extension this package provides, if any - * @param string|false minimum version required - * @param string|false maximum version allowed - * @param array|false versions to exclude from installation - */ - function addConflictingPackageDepWithChannel($name, $channel, - $providesextension = false, $min = false, $max = false, $exclude = false) - { - $this->_isValid = 0; - $dep = $this->_constructDep($name, $channel, false, $min, $max, false, - $exclude, $providesextension, false, true); - $this->_packageInfo = $this->_mergeTag($this->_packageInfo, $dep, - array( - 'dependencies' => array('providesextension', 'usesrole', 'usestask', - 'srcpackage', 'srcuri', 'phprelease', 'extsrcrelease', 'extbinrelease', - 'zendextsrcrelease', 'zendextbinrelease', 'bundle', 'changelog'), - 'required' => array('optional', 'group'), - 'package' => array('subpackage', 'extension', 'os', 'arch') - )); - } - - /** - * Mark a package as conflicting with this package - * @param string package name - * @param string package channel - * @param string extension this package provides, if any - */ - function addConflictingPackageDepWithUri($name, $uri, $providesextension = false) - { - $this->_isValid = 0; - $dep = - array( - 'name' => $name, - 'uri' => $uri, - 'conflicts' => '', - ); - if ($providesextension) { - $dep['providesextension'] = $providesextension; - } - $this->_packageInfo = $this->_mergeTag($this->_packageInfo, $dep, - array( - 'dependencies' => array('providesextension', 'usesrole', 'usestask', - 'srcpackage', 'srcuri', 'phprelease', 'extsrcrelease', 'extbinrelease', - 'zendextsrcrelease', 'zendextbinrelease', 'bundle', 'changelog'), - 'required' => array('optional', 'group'), - 'package' => array('subpackage', 'extension', 'os', 'arch') - )); - } - - function addDependencyGroup($name, $hint) - { - $this->_isValid = 0; - $this->_packageInfo = $this->_mergeTag($this->_packageInfo, - array('attribs' => array('name' => $name, 'hint' => $hint)), - array( - 'dependencies' => array('providesextension', 'usesrole', 'usestask', - 'srcpackage', 'srcuri', 'phprelease', 'extsrcrelease', 'extbinrelease', - 'zendextsrcrelease', 'zendextbinrelease', 'bundle', 'changelog'), - 'group' => array(), - )); - } - - /** - * @param string package name - * @param string|false channel name, false if this is a uri - * @param string|false uri name, false if this is a channel - * @param string|false minimum version required - * @param string|false maximum version allowed - * @param string|false recommended installation version - * @param array|false versions to exclude from installation - * @param string extension this package provides, if any - * @param bool if true, tells the installer to ignore the default optional dependency group - * when installing this package - * @param bool if true, tells the installer to negate this dependency (conflicts) - * @return array - * @access private - */ - function _constructDep($name, $channel, $uri, $min, $max, $recommended, $exclude, - $providesextension = false, $nodefault = false, - $conflicts = false) - { - $dep = - array( - 'name' => $name, - ); - if ($channel) { - $dep['channel'] = $channel; - } elseif ($uri) { - $dep['uri'] = $uri; - } - if ($min) { - $dep['min'] = $min; - } - if ($max) { - $dep['max'] = $max; - } - if ($recommended) { - $dep['recommended'] = $recommended; - } - if ($exclude) { - if (is_array($exclude) && count($exclude) == 1) { - $exclude = $exclude[0]; - } - $dep['exclude'] = $exclude; - } - if ($conflicts) { - $dep['conflicts'] = ''; - } - if ($nodefault) { - $dep['nodefault'] = ''; - } - if ($providesextension) { - $dep['providesextension'] = $providesextension; - } - return $dep; - } - - /** - * @param package|subpackage - * @param string group name - * @param string package name - * @param string package channel - * @param string minimum version - * @param string maximum version - * @param string recommended version - * @param array|false optional excluded versions - * @param string extension this package provides, if any - * @param bool if true, tells the installer to ignore the default optional dependency group - * when installing this package - * @return bool false if the dependency group has not been initialized with - * {@link addDependencyGroup()}, or a subpackage is added with - * a providesextension - */ - function addGroupPackageDepWithChannel($type, $groupname, $name, $channel, $min = false, - $max = false, $recommended = false, $exclude = false, - $providesextension = false, $nodefault = false) - { - if ($type == 'subpackage' && $providesextension) { - return false; // subpackages must be php packages - } - $dep = $this->_constructDep($name, $channel, false, $min, $max, $recommended, $exclude, - $providesextension, $nodefault); - return $this->_addGroupDependency($type, $dep, $groupname); - } - - /** - * @param package|subpackage - * @param string group name - * @param string package name - * @param string package uri - * @param string extension this package provides, if any - * @param bool if true, tells the installer to ignore the default optional dependency group - * when installing this package - * @return bool false if the dependency group has not been initialized with - * {@link addDependencyGroup()} - */ - function addGroupPackageDepWithURI($type, $groupname, $name, $uri, $providesextension = false, - $nodefault = false) - { - if ($type == 'subpackage' && $providesextension) { - return false; // subpackages must be php packages - } - $dep = $this->_constructDep($name, false, $uri, false, false, false, false, - $providesextension, $nodefault); - return $this->_addGroupDependency($type, $dep, $groupname); - } - - /** - * @param string group name (must be pre-existing) - * @param string extension name - * @param string minimum version allowed - * @param string maximum version allowed - * @param string recommended version - * @param array incompatible versions - */ - function addGroupExtensionDep($groupname, $name, $min = false, $max = false, - $recommended = false, $exclude = false) - { - $this->_isValid = 0; - $dep = $this->_constructDep($name, false, false, $min, $max, $recommended, $exclude); - return $this->_addGroupDependency('extension', $dep, $groupname); - } - - /** - * @param package|subpackage|extension - * @param array dependency contents - * @param string name of the dependency group to add this to - * @return boolean - * @access private - */ - function _addGroupDependency($type, $dep, $groupname) - { - $arr = array('subpackage', 'extension'); - if ($type != 'package') { - array_shift($arr); - } - if ($type == 'extension') { - array_shift($arr); - } - if (!isset($this->_packageInfo['dependencies']['group'])) { - return false; - } else { - if (!isset($this->_packageInfo['dependencies']['group'][0])) { - if ($this->_packageInfo['dependencies']['group']['attribs']['name'] == $groupname) { - $this->_packageInfo['dependencies']['group'] = $this->_mergeTag( - $this->_packageInfo['dependencies']['group'], $dep, - array( - $type => $arr - )); - $this->_isValid = 0; - return true; - } else { - return false; - } - } else { - foreach ($this->_packageInfo['dependencies']['group'] as $i => $group) { - if ($group['attribs']['name'] == $groupname) { - $this->_packageInfo['dependencies']['group'][$i] = $this->_mergeTag( - $this->_packageInfo['dependencies']['group'][$i], $dep, - array( - $type => $arr - )); - $this->_isValid = 0; - return true; - } - } - return false; - } - } - } - - /** - * @param optional|required - * @param string package name - * @param string package channel - * @param string minimum version - * @param string maximum version - * @param string recommended version - * @param string extension this package provides, if any - * @param bool if true, tells the installer to ignore the default optional dependency group - * when installing this package - * @param array|false optional excluded versions - */ - function addPackageDepWithChannel($type, $name, $channel, $min = false, $max = false, - $recommended = false, $exclude = false, - $providesextension = false, $nodefault = false) - { - if (!in_array($type, array('optional', 'required'), true)) { - $type = 'required'; - } - $this->_isValid = 0; - $arr = array('optional', 'group'); - if ($type != 'required') { - array_shift($arr); - } - $dep = $this->_constructDep($name, $channel, false, $min, $max, $recommended, $exclude, - $providesextension, $nodefault); - $this->_packageInfo = $this->_mergeTag($this->_packageInfo, $dep, - array( - 'dependencies' => array('providesextension', 'usesrole', 'usestask', - 'srcpackage', 'srcuri', 'phprelease', 'extsrcrelease', 'extbinrelease', - 'zendextsrcrelease', 'zendextbinrelease', 'bundle', 'changelog'), - $type => $arr, - 'package' => array('subpackage', 'extension', 'os', 'arch') - )); - } - - /** - * @param optional|required - * @param string name of the package - * @param string uri of the package - * @param string extension this package provides, if any - * @param bool if true, tells the installer to ignore the default optional dependency group - * when installing this package - */ - function addPackageDepWithUri($type, $name, $uri, $providesextension = false, - $nodefault = false) - { - $this->_isValid = 0; - $arr = array('optional', 'group'); - if ($type != 'required') { - array_shift($arr); - } - $dep = $this->_constructDep($name, false, $uri, false, false, false, false, - $providesextension, $nodefault); - $this->_packageInfo = $this->_mergeTag($this->_packageInfo, $dep, - array( - 'dependencies' => array('providesextension', 'usesrole', 'usestask', - 'srcpackage', 'srcuri', 'phprelease', 'extsrcrelease', 'extbinrelease', - 'zendextsrcrelease', 'zendextbinrelease', 'bundle', 'changelog'), - $type => $arr, - 'package' => array('subpackage', 'extension', 'os', 'arch') - )); - } - - /** - * @param optional|required optional, required - * @param string package name - * @param string package channel - * @param string minimum version - * @param string maximum version - * @param string recommended version - * @param array incompatible versions - * @param bool if true, tells the installer to ignore the default optional dependency group - * when installing this package - */ - function addSubpackageDepWithChannel($type, $name, $channel, $min = false, $max = false, - $recommended = false, $exclude = false, - $nodefault = false) - { - $this->_isValid = 0; - $arr = array('optional', 'group'); - if ($type != 'required') { - array_shift($arr); - } - $dep = $this->_constructDep($name, $channel, false, $min, $max, $recommended, $exclude, - $nodefault); - $this->_packageInfo = $this->_mergeTag($this->_packageInfo, $dep, - array( - 'dependencies' => array('providesextension', 'usesrole', 'usestask', - 'srcpackage', 'srcuri', 'phprelease', 'extsrcrelease', 'extbinrelease', - 'zendextsrcrelease', 'zendextbinrelease', 'bundle', 'changelog'), - $type => $arr, - 'subpackage' => array('extension', 'os', 'arch') - )); - } - - /** - * @param optional|required optional, required - * @param string package name - * @param string package uri for download - * @param bool if true, tells the installer to ignore the default optional dependency group - * when installing this package - */ - function addSubpackageDepWithUri($type, $name, $uri, $nodefault = false) - { - $this->_isValid = 0; - $arr = array('optional', 'group'); - if ($type != 'required') { - array_shift($arr); - } - $dep = $this->_constructDep($name, false, $uri, false, false, false, false, $nodefault); - $this->_packageInfo = $this->_mergeTag($this->_packageInfo, $dep, - array( - 'dependencies' => array('providesextension', 'usesrole', 'usestask', - 'srcpackage', 'srcuri', 'phprelease', 'extsrcrelease', 'extbinrelease', - 'zendextsrcrelease', 'zendextbinrelease', 'bundle', 'changelog'), - $type => $arr, - 'subpackage' => array('extension', 'os', 'arch') - )); - } - - /** - * @param optional|required optional, required - * @param string extension name - * @param string minimum version - * @param string maximum version - * @param string recommended version - * @param array incompatible versions - */ - function addExtensionDep($type, $name, $min = false, $max = false, $recommended = false, - $exclude = false) - { - $this->_isValid = 0; - $arr = array('optional', 'group'); - if ($type != 'required') { - array_shift($arr); - } - $dep = $this->_constructDep($name, false, false, $min, $max, $recommended, $exclude); - $this->_packageInfo = $this->_mergeTag($this->_packageInfo, $dep, - array( - 'dependencies' => array('providesextension', 'usesrole', 'usestask', - 'srcpackage', 'srcuri', 'phprelease', 'extsrcrelease', 'extbinrelease', - 'zendextsrcrelease', 'zendextbinrelease', 'bundle', 'changelog'), - $type => $arr, - 'extension' => array('os', 'arch') - )); - } - - /** - * @param string Operating system name - * @param boolean true if this package cannot be installed on this OS - */ - function addOsDep($name, $conflicts = false) - { - $this->_isValid = 0; - $dep = array('name' => $name); - if ($conflicts) { - $dep['conflicts'] = ''; - } - $this->_packageInfo = $this->_mergeTag($this->_packageInfo, $dep, - array( - 'dependencies' => array('providesextension', 'usesrole', 'usestask', - 'srcpackage', 'srcuri', 'phprelease', 'extsrcrelease', 'extbinrelease', - 'zendextsrcrelease', 'zendextbinrelease', 'bundle', 'changelog'), - 'required' => array('optional', 'group'), - 'os' => array('arch') - )); - } - - /** - * @param string Architecture matching pattern - * @param boolean true if this package cannot be installed on this architecture - */ - function addArchDep($pattern, $conflicts = false) - { - $this->_isValid = 0; - $dep = array('pattern' => $pattern); - if ($conflicts) { - $dep['conflicts'] = ''; - } - $this->_packageInfo = $this->_mergeTag($this->_packageInfo, $dep, - array( - 'dependencies' => array('providesextension', 'usesrole', 'usestask', - 'srcpackage', 'srcuri', 'phprelease', 'extsrcrelease', 'extbinrelease', - 'zendextsrcrelease', 'zendextbinrelease', 'bundle', 'changelog'), - 'required' => array('optional', 'group'), - 'arch' => array() - )); - } - - /** - * Set the kind of package, and erase all release tags - * - * - a php package is a PEAR-style package - * - an extbin package is a PECL-style extension binary - * - an extsrc package is a PECL-style source for a binary - * - an zendextbin package is a PECL-style zend extension binary - * - an zendextsrc package is a PECL-style source for a zend extension binary - * - a bundle package is a collection of other pre-packaged packages - * @param php|extbin|extsrc|zendextsrc|zendextbin|bundle - * @return bool success - */ - function setPackageType($type) - { - $this->_isValid = 0; - if (!in_array($type, array('php', 'extbin', 'extsrc', 'zendextsrc', - 'zendextbin', 'bundle'))) { - return false; - } - - if (in_array($type, array('zendextsrc', 'zendextbin'))) { - $this->_setPackageVersion2_1(); - } - - if ($type != 'bundle') { - $type .= 'release'; - } - - foreach (array('phprelease', 'extbinrelease', 'extsrcrelease', - 'zendextsrcrelease', 'zendextbinrelease', 'bundle') as $test) { - unset($this->_packageInfo[$test]); - } - - if (!isset($this->_packageInfo[$type])) { - // ensure that the release tag is set up - $this->_packageInfo = $this->_insertBefore($this->_packageInfo, array('changelog'), - array(), $type); - } - - $this->_packageInfo[$type] = array(); - return true; - } - - /** - * @return bool true if package type is set up - */ - function addRelease() - { - if ($type = $this->getPackageType()) { - if ($type != 'bundle') { - $type .= 'release'; - } - $this->_packageInfo = $this->_mergeTag($this->_packageInfo, array(), - array($type => array('changelog'))); - return true; - } - return false; - } - - /** - * Get the current release tag in order to add to it - * @param bool returns only releases that have installcondition if true - * @return array|null - */ - function &_getCurrentRelease($strict = true) - { - if ($p = $this->getPackageType()) { - if ($strict) { - if ($p == 'extsrc' || $p == 'zendextsrc') { - $a = null; - return $a; - } - } - if ($p != 'bundle') { - $p .= 'release'; - } - if (isset($this->_packageInfo[$p][0])) { - return $this->_packageInfo[$p][count($this->_packageInfo[$p]) - 1]; - } else { - return $this->_packageInfo[$p]; - } - } else { - $a = null; - return $a; - } - } - - /** - * Add a file to the current release that should be installed under a different name - * @param string path to file - * @param string name the file should be installed as - */ - function addInstallAs($path, $as) - { - $r = &$this->_getCurrentRelease(); - if ($r === null) { - return false; - } - $this->_isValid = 0; - $r = $this->_mergeTag($r, array('attribs' => array('name' => $path, 'as' => $as)), - array( - 'filelist' => array(), - 'install' => array('ignore') - )); - } - - /** - * Add a file to the current release that should be ignored - * @param string path to file - * @return bool success of operation - */ - function addIgnore($path) - { - $r = &$this->_getCurrentRelease(); - if ($r === null) { - return false; - } - $this->_isValid = 0; - $r = $this->_mergeTag($r, array('attribs' => array('name' => $path)), - array( - 'filelist' => array(), - 'ignore' => array() - )); - } - - /** - * Add an extension binary package for this extension source code release - * - * Note that the package must be from the same channel as the extension source package - * @param string - */ - function addBinarypackage($package) - { - if ($this->getPackageType() != 'extsrc' && $this->getPackageType() != 'zendextsrc') { - return false; - } - $r = &$this->_getCurrentRelease(false); - if ($r === null) { - return false; - } - $this->_isValid = 0; - $r = $this->_mergeTag($r, $package, - array( - 'binarypackage' => array('filelist'), - )); - } - - /** - * Add a configureoption to an extension source package - * @param string - * @param string - * @param string - */ - function addConfigureOption($name, $prompt, $default = null) - { - if ($this->getPackageType() != 'extsrc' && $this->getPackageType() != 'zendextsrc') { - return false; - } - - $r = &$this->_getCurrentRelease(false); - if ($r === null) { - return false; - } - - $opt = array('attribs' => array('name' => $name, 'prompt' => $prompt)); - if ($default !== null) { - $opt['attribs']['default'] = $default; - } - - $this->_isValid = 0; - $r = $this->_mergeTag($r, $opt, - array( - 'configureoption' => array('binarypackage', 'filelist'), - )); - } - - /** - * Set an installation condition based on php version for the current release set - * @param string minimum version - * @param string maximum version - * @param false|array incompatible versions of PHP - */ - function setPhpInstallCondition($min, $max, $exclude = false) - { - $r = &$this->_getCurrentRelease(); - if ($r === null) { - return false; - } - $this->_isValid = 0; - if (isset($r['installconditions']['php'])) { - unset($r['installconditions']['php']); - } - $dep = array('min' => $min, 'max' => $max); - if ($exclude) { - if (is_array($exclude) && count($exclude) == 1) { - $exclude = $exclude[0]; - } - $dep['exclude'] = $exclude; - } - if ($this->getPackageType() == 'extsrc' || $this->getPackageType() == 'zendextsrc') { - $r = $this->_mergeTag($r, $dep, - array( - 'installconditions' => array('configureoption', 'binarypackage', - 'filelist'), - 'php' => array('extension', 'os', 'arch') - )); - } else { - $r = $this->_mergeTag($r, $dep, - array( - 'installconditions' => array('filelist'), - 'php' => array('extension', 'os', 'arch') - )); - } - } - - /** - * @param optional|required optional, required - * @param string extension name - * @param string minimum version - * @param string maximum version - * @param string recommended version - * @param array incompatible versions - */ - function addExtensionInstallCondition($name, $min = false, $max = false, $recommended = false, - $exclude = false) - { - $r = &$this->_getCurrentRelease(); - if ($r === null) { - return false; - } - $this->_isValid = 0; - $dep = $this->_constructDep($name, false, false, $min, $max, $recommended, $exclude); - if ($this->getPackageType() == 'extsrc' || $this->getPackageType() == 'zendextsrc') { - $r = $this->_mergeTag($r, $dep, - array( - 'installconditions' => array('configureoption', 'binarypackage', - 'filelist'), - 'extension' => array('os', 'arch') - )); - } else { - $r = $this->_mergeTag($r, $dep, - array( - 'installconditions' => array('filelist'), - 'extension' => array('os', 'arch') - )); - } - } - - /** - * Set an installation condition based on operating system for the current release set - * @param string OS name - * @param bool whether this OS is incompatible with the current release - */ - function setOsInstallCondition($name, $conflicts = false) - { - $r = &$this->_getCurrentRelease(); - if ($r === null) { - return false; - } - $this->_isValid = 0; - if (isset($r['installconditions']['os'])) { - unset($r['installconditions']['os']); - } - $dep = array('name' => $name); - if ($conflicts) { - $dep['conflicts'] = ''; - } - if ($this->getPackageType() == 'extsrc' || $this->getPackageType() == 'zendextsrc') { - $r = $this->_mergeTag($r, $dep, - array( - 'installconditions' => array('configureoption', 'binarypackage', - 'filelist'), - 'os' => array('arch') - )); - } else { - $r = $this->_mergeTag($r, $dep, - array( - 'installconditions' => array('filelist'), - 'os' => array('arch') - )); - } - } - - /** - * Set an installation condition based on architecture for the current release set - * @param string architecture pattern - * @param bool whether this arch is incompatible with the current release - */ - function setArchInstallCondition($pattern, $conflicts = false) - { - $r = &$this->_getCurrentRelease(); - if ($r === null) { - return false; - } - $this->_isValid = 0; - if (isset($r['installconditions']['arch'])) { - unset($r['installconditions']['arch']); - } - $dep = array('pattern' => $pattern); - if ($conflicts) { - $dep['conflicts'] = ''; - } - if ($this->getPackageType() == 'extsrc' || $this->getPackageType() == 'zendextsrc') { - $r = $this->_mergeTag($r, $dep, - array( - 'installconditions' => array('configureoption', 'binarypackage', - 'filelist'), - 'arch' => array() - )); - } else { - $r = $this->_mergeTag($r, $dep, - array( - 'installconditions' => array('filelist'), - 'arch' => array() - )); - } - } - - /** - * For extension binary releases, this is used to specify either the - * static URI to a source package, or the package name and channel of the extsrc/zendextsrc - * package it is based on. - * @param string Package name, or full URI to source package (extsrc/zendextsrc type) - */ - function setSourcePackage($packageOrUri) - { - $this->_isValid = 0; - if (isset($this->_packageInfo['channel'])) { - $this->_packageInfo = $this->_insertBefore($this->_packageInfo, array('phprelease', - 'extsrcrelease', 'extbinrelease', 'zendextsrcrelease', 'zendextbinrelease', - 'bundle', 'changelog'), - $packageOrUri, 'srcpackage'); - } else { - $this->_packageInfo = $this->_insertBefore($this->_packageInfo, array('phprelease', - 'extsrcrelease', 'extbinrelease', 'zendextsrcrelease', 'zendextbinrelease', - 'bundle', 'changelog'), $packageOrUri, 'srcuri'); - } - } - - /** - * Generate a valid change log entry from the current package.xml - * @param string|false - */ - function generateChangeLogEntry($notes = false) - { - return array( - 'version' => - array( - 'release' => $this->getVersion('release'), - 'api' => $this->getVersion('api'), - ), - 'stability' => - $this->getStability(), - 'date' => $this->getDate(), - 'license' => $this->getLicense(true), - 'notes' => $notes ? $notes : $this->getNotes() - ); - } - - /** - * @param string release version to set change log notes for - * @param array output of {@link generateChangeLogEntry()} - */ - function setChangelogEntry($releaseversion, $contents) - { - if (!isset($this->_packageInfo['changelog'])) { - $this->_packageInfo['changelog']['release'] = $contents; - return; - } - if (!isset($this->_packageInfo['changelog']['release'][0])) { - if ($this->_packageInfo['changelog']['release']['version']['release'] == $releaseversion) { - $this->_packageInfo['changelog']['release'] = array( - $this->_packageInfo['changelog']['release']); - } else { - $this->_packageInfo['changelog']['release'] = array( - $this->_packageInfo['changelog']['release']); - return $this->_packageInfo['changelog']['release'][] = $contents; - } - } - foreach($this->_packageInfo['changelog']['release'] as $index => $changelog) { - if (isset($changelog['version']) && - strnatcasecmp($changelog['version']['release'], $releaseversion) == 0) { - $curlog = $index; - } - } - if (isset($curlog)) { - $this->_packageInfo['changelog']['release'][$curlog] = $contents; - } else { - $this->_packageInfo['changelog']['release'][] = $contents; - } - } - - /** - * Remove the changelog entirely - */ - function clearChangeLog() - { - unset($this->_packageInfo['changelog']); - } -} \ No newline at end of file diff --git a/3rdparty/PEAR/Packager.php b/3rdparty/PEAR/Packager.php deleted file mode 100644 index 8995a167fccda9b45e16b4270a3b38f8e38fe483..0000000000000000000000000000000000000000 --- a/3rdparty/PEAR/Packager.php +++ /dev/null @@ -1,201 +0,0 @@ - - * @author Tomas V. V. Cox - * @author Greg Beaver - * @copyright 1997-2009 The Authors - * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: Packager.php 313023 2011-07-06 19:17:11Z dufuz $ - * @link http://pear.php.net/package/PEAR - * @since File available since Release 0.1 - */ - -/** - * base class - */ -require_once 'PEAR/Common.php'; -require_once 'PEAR/PackageFile.php'; -require_once 'System.php'; - -/** - * Administration class used to make a PEAR release tarball. - * - * @category pear - * @package PEAR - * @author Greg Beaver - * @copyright 1997-2009 The Authors - * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.4 - * @link http://pear.php.net/package/PEAR - * @since Class available since Release 0.1 - */ -class PEAR_Packager extends PEAR_Common -{ - /** - * @var PEAR_Registry - */ - var $_registry; - - function package($pkgfile = null, $compress = true, $pkg2 = null) - { - // {{{ validate supplied package.xml file - if (empty($pkgfile)) { - $pkgfile = 'package.xml'; - } - - PEAR::staticPushErrorHandling(PEAR_ERROR_RETURN); - $pkg = &new PEAR_PackageFile($this->config, $this->debug); - $pf = &$pkg->fromPackageFile($pkgfile, PEAR_VALIDATE_NORMAL); - $main = &$pf; - PEAR::staticPopErrorHandling(); - if (PEAR::isError($pf)) { - if (is_array($pf->getUserInfo())) { - foreach ($pf->getUserInfo() as $error) { - $this->log(0, 'Error: ' . $error['message']); - } - } - - $this->log(0, $pf->getMessage()); - return $this->raiseError("Cannot package, errors in package file"); - } - - foreach ($pf->getValidationWarnings() as $warning) { - $this->log(1, 'Warning: ' . $warning['message']); - } - - // }}} - if ($pkg2) { - $this->log(0, 'Attempting to process the second package file'); - PEAR::staticPushErrorHandling(PEAR_ERROR_RETURN); - $pf2 = &$pkg->fromPackageFile($pkg2, PEAR_VALIDATE_NORMAL); - PEAR::staticPopErrorHandling(); - if (PEAR::isError($pf2)) { - if (is_array($pf2->getUserInfo())) { - foreach ($pf2->getUserInfo() as $error) { - $this->log(0, 'Error: ' . $error['message']); - } - } - $this->log(0, $pf2->getMessage()); - return $this->raiseError("Cannot package, errors in second package file"); - } - - foreach ($pf2->getValidationWarnings() as $warning) { - $this->log(1, 'Warning: ' . $warning['message']); - } - - if ($pf2->getPackagexmlVersion() == '2.0' || - $pf2->getPackagexmlVersion() == '2.1' - ) { - $main = &$pf2; - $other = &$pf; - } else { - $main = &$pf; - $other = &$pf2; - } - - if ($main->getPackagexmlVersion() != '2.0' && - $main->getPackagexmlVersion() != '2.1') { - return PEAR::raiseError('Error: cannot package two package.xml version 1.0, can ' . - 'only package together a package.xml 1.0 and package.xml 2.0'); - } - - if ($other->getPackagexmlVersion() != '1.0') { - return PEAR::raiseError('Error: cannot package two package.xml version 2.0, can ' . - 'only package together a package.xml 1.0 and package.xml 2.0'); - } - } - - $main->setLogger($this); - if (!$main->validate(PEAR_VALIDATE_PACKAGING)) { - foreach ($main->getValidationWarnings() as $warning) { - $this->log(0, 'Error: ' . $warning['message']); - } - return $this->raiseError("Cannot package, errors in package"); - } - - foreach ($main->getValidationWarnings() as $warning) { - $this->log(1, 'Warning: ' . $warning['message']); - } - - if ($pkg2) { - $other->setLogger($this); - $a = false; - if (!$other->validate(PEAR_VALIDATE_NORMAL) || $a = !$main->isEquivalent($other)) { - foreach ($other->getValidationWarnings() as $warning) { - $this->log(0, 'Error: ' . $warning['message']); - } - - foreach ($main->getValidationWarnings() as $warning) { - $this->log(0, 'Error: ' . $warning['message']); - } - - if ($a) { - return $this->raiseError('The two package.xml files are not equivalent!'); - } - - return $this->raiseError("Cannot package, errors in package"); - } - - foreach ($other->getValidationWarnings() as $warning) { - $this->log(1, 'Warning: ' . $warning['message']); - } - - $gen = &$main->getDefaultGenerator(); - $tgzfile = $gen->toTgz2($this, $other, $compress); - if (PEAR::isError($tgzfile)) { - return $tgzfile; - } - - $dest_package = basename($tgzfile); - $pkgdir = dirname($pkgfile); - - // TAR the Package ------------------------------------------- - $this->log(1, "Package $dest_package done"); - if (file_exists("$pkgdir/CVS/Root")) { - $cvsversion = preg_replace('/[^a-z0-9]/i', '_', $pf->getVersion()); - $cvstag = "RELEASE_$cvsversion"; - $this->log(1, 'Tag the released code with "pear cvstag ' . - $main->getPackageFile() . '"'); - $this->log(1, "(or set the CVS tag $cvstag by hand)"); - } elseif (file_exists("$pkgdir/.svn")) { - $svnversion = preg_replace('/[^a-z0-9]/i', '.', $pf->getVersion()); - $svntag = $pf->getName() . "-$svnversion"; - $this->log(1, 'Tag the released code with "pear svntag ' . - $main->getPackageFile() . '"'); - $this->log(1, "(or set the SVN tag $svntag by hand)"); - } - } else { // this branch is executed for single packagefile packaging - $gen = &$pf->getDefaultGenerator(); - $tgzfile = $gen->toTgz($this, $compress); - if (PEAR::isError($tgzfile)) { - $this->log(0, $tgzfile->getMessage()); - return $this->raiseError("Cannot package, errors in package"); - } - - $dest_package = basename($tgzfile); - $pkgdir = dirname($pkgfile); - - // TAR the Package ------------------------------------------- - $this->log(1, "Package $dest_package done"); - if (file_exists("$pkgdir/CVS/Root")) { - $cvsversion = preg_replace('/[^a-z0-9]/i', '_', $pf->getVersion()); - $cvstag = "RELEASE_$cvsversion"; - $this->log(1, "Tag the released code with `pear cvstag $pkgfile'"); - $this->log(1, "(or set the CVS tag $cvstag by hand)"); - } elseif (file_exists("$pkgdir/.svn")) { - $svnversion = preg_replace('/[^a-z0-9]/i', '.', $pf->getVersion()); - $svntag = $pf->getName() . "-$svnversion"; - $this->log(1, "Tag the released code with `pear svntag $pkgfile'"); - $this->log(1, "(or set the SVN tag $svntag by hand)"); - } - } - - return $dest_package; - } -} \ No newline at end of file diff --git a/3rdparty/PEAR/REST.php b/3rdparty/PEAR/REST.php deleted file mode 100644 index 34a804f2bde4c295ed692f2fa71d324cfdf0c165..0000000000000000000000000000000000000000 --- a/3rdparty/PEAR/REST.php +++ /dev/null @@ -1,483 +0,0 @@ - - * @copyright 1997-2009 The Authors - * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: REST.php 313023 2011-07-06 19:17:11Z dufuz $ - * @link http://pear.php.net/package/PEAR - * @since File available since Release 1.4.0a1 - */ - -/** - * For downloading xml files - */ -require_once 'PEAR.php'; -require_once 'PEAR/XMLParser.php'; - -/** - * Intelligently retrieve data, following hyperlinks if necessary, and re-directing - * as well - * @category pear - * @package PEAR - * @author Greg Beaver - * @copyright 1997-2009 The Authors - * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.4 - * @link http://pear.php.net/package/PEAR - * @since Class available since Release 1.4.0a1 - */ -class PEAR_REST -{ - var $config; - var $_options; - - function PEAR_REST(&$config, $options = array()) - { - $this->config = &$config; - $this->_options = $options; - } - - /** - * Retrieve REST data, but always retrieve the local cache if it is available. - * - * This is useful for elements that should never change, such as information on a particular - * release - * @param string full URL to this resource - * @param array|false contents of the accept-encoding header - * @param boolean if true, xml will be returned as a string, otherwise, xml will be - * parsed using PEAR_XMLParser - * @return string|array - */ - function retrieveCacheFirst($url, $accept = false, $forcestring = false, $channel = false) - { - $cachefile = $this->config->get('cache_dir') . DIRECTORY_SEPARATOR . - md5($url) . 'rest.cachefile'; - - if (file_exists($cachefile)) { - return unserialize(implode('', file($cachefile))); - } - - return $this->retrieveData($url, $accept, $forcestring, $channel); - } - - /** - * Retrieve a remote REST resource - * @param string full URL to this resource - * @param array|false contents of the accept-encoding header - * @param boolean if true, xml will be returned as a string, otherwise, xml will be - * parsed using PEAR_XMLParser - * @return string|array - */ - function retrieveData($url, $accept = false, $forcestring = false, $channel = false) - { - $cacheId = $this->getCacheId($url); - if ($ret = $this->useLocalCache($url, $cacheId)) { - return $ret; - } - - $file = $trieddownload = false; - if (!isset($this->_options['offline'])) { - $trieddownload = true; - $file = $this->downloadHttp($url, $cacheId ? $cacheId['lastChange'] : false, $accept, $channel); - } - - if (PEAR::isError($file)) { - if ($file->getCode() !== -9276) { - return $file; - } - - $trieddownload = false; - $file = false; // use local copy if available on socket connect error - } - - if (!$file) { - $ret = $this->getCache($url); - if (!PEAR::isError($ret) && $trieddownload) { - // reset the age of the cache if the server says it was unmodified - $result = $this->saveCache($url, $ret, null, true, $cacheId); - if (PEAR::isError($result)) { - return PEAR::raiseError($result->getMessage()); - } - } - - return $ret; - } - - if (is_array($file)) { - $headers = $file[2]; - $lastmodified = $file[1]; - $content = $file[0]; - } else { - $headers = array(); - $lastmodified = false; - $content = $file; - } - - if ($forcestring) { - $result = $this->saveCache($url, $content, $lastmodified, false, $cacheId); - if (PEAR::isError($result)) { - return PEAR::raiseError($result->getMessage()); - } - - return $content; - } - - if (isset($headers['content-type'])) { - switch ($headers['content-type']) { - case 'text/xml' : - case 'application/xml' : - case 'text/plain' : - if ($headers['content-type'] === 'text/plain') { - $check = substr($content, 0, 5); - if ($check !== 'parse($content); - PEAR::popErrorHandling(); - if (PEAR::isError($err)) { - return PEAR::raiseError('Invalid xml downloaded from "' . $url . '": ' . - $err->getMessage()); - } - $content = $parser->getData(); - case 'text/html' : - default : - // use it as a string - } - } else { - // assume XML - $parser = new PEAR_XMLParser; - $parser->parse($content); - $content = $parser->getData(); - } - - $result = $this->saveCache($url, $content, $lastmodified, false, $cacheId); - if (PEAR::isError($result)) { - return PEAR::raiseError($result->getMessage()); - } - - return $content; - } - - function useLocalCache($url, $cacheid = null) - { - if ($cacheid === null) { - $cacheidfile = $this->config->get('cache_dir') . DIRECTORY_SEPARATOR . - md5($url) . 'rest.cacheid'; - if (!file_exists($cacheidfile)) { - return false; - } - - $cacheid = unserialize(implode('', file($cacheidfile))); - } - - $cachettl = $this->config->get('cache_ttl'); - // If cache is newer than $cachettl seconds, we use the cache! - if (time() - $cacheid['age'] < $cachettl) { - return $this->getCache($url); - } - - return false; - } - - function getCacheId($url) - { - $cacheidfile = $this->config->get('cache_dir') . DIRECTORY_SEPARATOR . - md5($url) . 'rest.cacheid'; - - if (!file_exists($cacheidfile)) { - return false; - } - - $ret = unserialize(implode('', file($cacheidfile))); - return $ret; - } - - function getCache($url) - { - $cachefile = $this->config->get('cache_dir') . DIRECTORY_SEPARATOR . - md5($url) . 'rest.cachefile'; - - if (!file_exists($cachefile)) { - return PEAR::raiseError('No cached content available for "' . $url . '"'); - } - - return unserialize(implode('', file($cachefile))); - } - - /** - * @param string full URL to REST resource - * @param string original contents of the REST resource - * @param array HTTP Last-Modified and ETag headers - * @param bool if true, then the cache id file should be regenerated to - * trigger a new time-to-live value - */ - function saveCache($url, $contents, $lastmodified, $nochange = false, $cacheid = null) - { - $cache_dir = $this->config->get('cache_dir'); - $d = $cache_dir . DIRECTORY_SEPARATOR . md5($url); - $cacheidfile = $d . 'rest.cacheid'; - $cachefile = $d . 'rest.cachefile'; - - if (!is_dir($cache_dir)) { - if (System::mkdir(array('-p', $cache_dir)) === false) { - return PEAR::raiseError("The value of config option cache_dir ($cache_dir) is not a directory and attempts to create the directory failed."); - } - } - - if ($cacheid === null && $nochange) { - $cacheid = unserialize(implode('', file($cacheidfile))); - } - - $idData = serialize(array( - 'age' => time(), - 'lastChange' => ($nochange ? $cacheid['lastChange'] : $lastmodified), - )); - - $result = $this->saveCacheFile($cacheidfile, $idData); - if (PEAR::isError($result)) { - return $result; - } elseif ($nochange) { - return true; - } - - $result = $this->saveCacheFile($cachefile, serialize($contents)); - if (PEAR::isError($result)) { - if (file_exists($cacheidfile)) { - @unlink($cacheidfile); - } - - return $result; - } - - return true; - } - - function saveCacheFile($file, $contents) - { - $len = strlen($contents); - - $cachefile_fp = @fopen($file, 'xb'); // x is the O_CREAT|O_EXCL mode - if ($cachefile_fp !== false) { // create file - if (fwrite($cachefile_fp, $contents, $len) < $len) { - fclose($cachefile_fp); - return PEAR::raiseError("Could not write $file."); - } - } else { // update file - $cachefile_lstat = lstat($file); - $cachefile_fp = @fopen($file, 'wb'); - if (!$cachefile_fp) { - return PEAR::raiseError("Could not open $file for writing."); - } - - $cachefile_fstat = fstat($cachefile_fp); - if ( - $cachefile_lstat['mode'] == $cachefile_fstat['mode'] && - $cachefile_lstat['ino'] == $cachefile_fstat['ino'] && - $cachefile_lstat['dev'] == $cachefile_fstat['dev'] && - $cachefile_fstat['nlink'] === 1 - ) { - if (fwrite($cachefile_fp, $contents, $len) < $len) { - fclose($cachefile_fp); - return PEAR::raiseError("Could not write $file."); - } - } else { - fclose($cachefile_fp); - $link = function_exists('readlink') ? readlink($file) : $file; - return PEAR::raiseError('SECURITY ERROR: Will not write to ' . $file . ' as it is symlinked to ' . $link . ' - Possible symlink attack'); - } - } - - fclose($cachefile_fp); - return true; - } - - /** - * Efficiently Download a file through HTTP. Returns downloaded file as a string in-memory - * This is best used for small files - * - * If an HTTP proxy has been configured (http_proxy PEAR_Config - * setting), the proxy will be used. - * - * @param string $url the URL to download - * @param string $save_dir directory to save file in - * @param false|string|array $lastmodified header values to check against for caching - * use false to return the header values from this download - * @param false|array $accept Accept headers to send - * @return string|array Returns the contents of the downloaded file or a PEAR - * error on failure. If the error is caused by - * socket-related errors, the error object will - * have the fsockopen error code available through - * getCode(). If caching is requested, then return the header - * values. - * - * @access public - */ - function downloadHttp($url, $lastmodified = null, $accept = false, $channel = false) - { - static $redirect = 0; - // always reset , so we are clean case of error - $wasredirect = $redirect; - $redirect = 0; - - $info = parse_url($url); - if (!isset($info['scheme']) || !in_array($info['scheme'], array('http', 'https'))) { - return PEAR::raiseError('Cannot download non-http URL "' . $url . '"'); - } - - if (!isset($info['host'])) { - return PEAR::raiseError('Cannot download from non-URL "' . $url . '"'); - } - - $host = isset($info['host']) ? $info['host'] : null; - $port = isset($info['port']) ? $info['port'] : null; - $path = isset($info['path']) ? $info['path'] : null; - $schema = (isset($info['scheme']) && $info['scheme'] == 'https') ? 'https' : 'http'; - - $proxy_host = $proxy_port = $proxy_user = $proxy_pass = ''; - if ($this->config->get('http_proxy')&& - $proxy = parse_url($this->config->get('http_proxy')) - ) { - $proxy_host = isset($proxy['host']) ? $proxy['host'] : null; - if ($schema === 'https') { - $proxy_host = 'ssl://' . $proxy_host; - } - - $proxy_port = isset($proxy['port']) ? $proxy['port'] : 8080; - $proxy_user = isset($proxy['user']) ? urldecode($proxy['user']) : null; - $proxy_pass = isset($proxy['pass']) ? urldecode($proxy['pass']) : null; - $proxy_schema = (isset($proxy['scheme']) && $proxy['scheme'] == 'https') ? 'https' : 'http'; - } - - if (empty($port)) { - $port = (isset($info['scheme']) && $info['scheme'] == 'https') ? 443 : 80; - } - - if (isset($proxy['host'])) { - $request = "GET $url HTTP/1.1\r\n"; - } else { - $request = "GET $path HTTP/1.1\r\n"; - } - - $request .= "Host: $host\r\n"; - $ifmodifiedsince = ''; - if (is_array($lastmodified)) { - if (isset($lastmodified['Last-Modified'])) { - $ifmodifiedsince = 'If-Modified-Since: ' . $lastmodified['Last-Modified'] . "\r\n"; - } - - if (isset($lastmodified['ETag'])) { - $ifmodifiedsince .= "If-None-Match: $lastmodified[ETag]\r\n"; - } - } else { - $ifmodifiedsince = ($lastmodified ? "If-Modified-Since: $lastmodified\r\n" : ''); - } - - $request .= $ifmodifiedsince . - "User-Agent: PEAR/1.9.4/PHP/" . PHP_VERSION . "\r\n"; - - $username = $this->config->get('username', null, $channel); - $password = $this->config->get('password', null, $channel); - - if ($username && $password) { - $tmp = base64_encode("$username:$password"); - $request .= "Authorization: Basic $tmp\r\n"; - } - - if ($proxy_host != '' && $proxy_user != '') { - $request .= 'Proxy-Authorization: Basic ' . - base64_encode($proxy_user . ':' . $proxy_pass) . "\r\n"; - } - - if ($accept) { - $request .= 'Accept: ' . implode(', ', $accept) . "\r\n"; - } - - $request .= "Accept-Encoding:\r\n"; - $request .= "Connection: close\r\n"; - $request .= "\r\n"; - - if ($proxy_host != '') { - $fp = @fsockopen($proxy_host, $proxy_port, $errno, $errstr, 15); - if (!$fp) { - return PEAR::raiseError("Connection to `$proxy_host:$proxy_port' failed: $errstr", -9276); - } - } else { - if ($schema === 'https') { - $host = 'ssl://' . $host; - } - - $fp = @fsockopen($host, $port, $errno, $errstr); - if (!$fp) { - return PEAR::raiseError("Connection to `$host:$port' failed: $errstr", $errno); - } - } - - fwrite($fp, $request); - - $headers = array(); - $reply = 0; - while ($line = trim(fgets($fp, 1024))) { - if (preg_match('/^([^:]+):\s+(.*)\s*\\z/', $line, $matches)) { - $headers[strtolower($matches[1])] = trim($matches[2]); - } elseif (preg_match('|^HTTP/1.[01] ([0-9]{3}) |', $line, $matches)) { - $reply = (int)$matches[1]; - if ($reply == 304 && ($lastmodified || ($lastmodified === false))) { - return false; - } - - if (!in_array($reply, array(200, 301, 302, 303, 305, 307))) { - return PEAR::raiseError("File $schema://$host:$port$path not valid (received: $line)"); - } - } - } - - if ($reply != 200) { - if (!isset($headers['location'])) { - return PEAR::raiseError("File $schema://$host:$port$path not valid (redirected but no location)"); - } - - if ($wasredirect > 4) { - return PEAR::raiseError("File $schema://$host:$port$path not valid (redirection looped more than 5 times)"); - } - - $redirect = $wasredirect + 1; - return $this->downloadHttp($headers['location'], $lastmodified, $accept, $channel); - } - - $length = isset($headers['content-length']) ? $headers['content-length'] : -1; - - $data = ''; - while ($chunk = @fread($fp, 8192)) { - $data .= $chunk; - } - fclose($fp); - - if ($lastmodified === false || $lastmodified) { - if (isset($headers['etag'])) { - $lastmodified = array('ETag' => $headers['etag']); - } - - if (isset($headers['last-modified'])) { - if (is_array($lastmodified)) { - $lastmodified['Last-Modified'] = $headers['last-modified']; - } else { - $lastmodified = $headers['last-modified']; - } - } - - return array($data, $lastmodified, $headers); - } - - return $data; - } -} \ No newline at end of file diff --git a/3rdparty/PEAR/REST/10.php b/3rdparty/PEAR/REST/10.php deleted file mode 100644 index 6ded7aeace379c5b6d028d515f28b6d1cd28e88c..0000000000000000000000000000000000000000 --- a/3rdparty/PEAR/REST/10.php +++ /dev/null @@ -1,871 +0,0 @@ - - * @copyright 1997-2009 The Authors - * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: 10.php 313023 2011-07-06 19:17:11Z dufuz $ - * @link http://pear.php.net/package/PEAR - * @since File available since Release 1.4.0a12 - */ - -/** - * For downloading REST xml/txt files - */ -require_once 'PEAR/REST.php'; - -/** - * Implement REST 1.0 - * - * @category pear - * @package PEAR - * @author Greg Beaver - * @copyright 1997-2009 The Authors - * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.4 - * @link http://pear.php.net/package/PEAR - * @since Class available since Release 1.4.0a12 - */ -class PEAR_REST_10 -{ - /** - * @var PEAR_REST - */ - var $_rest; - function PEAR_REST_10($config, $options = array()) - { - $this->_rest = &new PEAR_REST($config, $options); - } - - /** - * Retrieve information about a remote package to be downloaded from a REST server - * - * @param string $base The uri to prepend to all REST calls - * @param array $packageinfo an array of format: - *
-     *  array(
-     *   'package' => 'packagename',
-     *   'channel' => 'channelname',
-     *  ['state' => 'alpha' (or valid state),]
-     *  -or-
-     *  ['version' => '1.whatever']
-     * 
- * @param string $prefstate Current preferred_state config variable value - * @param bool $installed the installed version of this package to compare against - * @return array|false|PEAR_Error see {@link _returnDownloadURL()} - */ - function getDownloadURL($base, $packageinfo, $prefstate, $installed, $channel = false) - { - $states = $this->betterStates($prefstate, true); - if (!$states) { - return PEAR::raiseError('"' . $prefstate . '" is not a valid state'); - } - - $channel = $packageinfo['channel']; - $package = $packageinfo['package']; - $state = isset($packageinfo['state']) ? $packageinfo['state'] : null; - $version = isset($packageinfo['version']) ? $packageinfo['version'] : null; - $restFile = $base . 'r/' . strtolower($package) . '/allreleases.xml'; - - $info = $this->_rest->retrieveData($restFile, false, false, $channel); - if (PEAR::isError($info)) { - return PEAR::raiseError('No releases available for package "' . - $channel . '/' . $package . '"'); - } - - if (!isset($info['r'])) { - return false; - } - - $release = $found = false; - if (!is_array($info['r']) || !isset($info['r'][0])) { - $info['r'] = array($info['r']); - } - - foreach ($info['r'] as $release) { - if (!isset($this->_rest->_options['force']) && ($installed && - version_compare($release['v'], $installed, '<'))) { - continue; - } - - if (isset($state)) { - // try our preferred state first - if ($release['s'] == $state) { - $found = true; - break; - } - // see if there is something newer and more stable - // bug #7221 - if (in_array($release['s'], $this->betterStates($state), true)) { - $found = true; - break; - } - } elseif (isset($version)) { - if ($release['v'] == $version) { - $found = true; - break; - } - } else { - if (in_array($release['s'], $states)) { - $found = true; - break; - } - } - } - - return $this->_returnDownloadURL($base, $package, $release, $info, $found, false, $channel); - } - - function getDepDownloadURL($base, $xsdversion, $dependency, $deppackage, - $prefstate = 'stable', $installed = false, $channel = false) - { - $states = $this->betterStates($prefstate, true); - if (!$states) { - return PEAR::raiseError('"' . $prefstate . '" is not a valid state'); - } - - $channel = $dependency['channel']; - $package = $dependency['name']; - $state = isset($dependency['state']) ? $dependency['state'] : null; - $version = isset($dependency['version']) ? $dependency['version'] : null; - $restFile = $base . 'r/' . strtolower($package) . '/allreleases.xml'; - - $info = $this->_rest->retrieveData($restFile, false, false, $channel); - if (PEAR::isError($info)) { - return PEAR::raiseError('Package "' . $deppackage['channel'] . '/' . $deppackage['package'] - . '" dependency "' . $channel . '/' . $package . '" has no releases'); - } - - if (!is_array($info) || !isset($info['r'])) { - return false; - } - - $exclude = array(); - $min = $max = $recommended = false; - if ($xsdversion == '1.0') { - switch ($dependency['rel']) { - case 'ge' : - $min = $dependency['version']; - break; - case 'gt' : - $min = $dependency['version']; - $exclude = array($dependency['version']); - break; - case 'eq' : - $recommended = $dependency['version']; - break; - case 'lt' : - $max = $dependency['version']; - $exclude = array($dependency['version']); - break; - case 'le' : - $max = $dependency['version']; - break; - case 'ne' : - $exclude = array($dependency['version']); - break; - } - } else { - $min = isset($dependency['min']) ? $dependency['min'] : false; - $max = isset($dependency['max']) ? $dependency['max'] : false; - $recommended = isset($dependency['recommended']) ? - $dependency['recommended'] : false; - if (isset($dependency['exclude'])) { - if (!isset($dependency['exclude'][0])) { - $exclude = array($dependency['exclude']); - } - } - } - $release = $found = false; - if (!is_array($info['r']) || !isset($info['r'][0])) { - $info['r'] = array($info['r']); - } - foreach ($info['r'] as $release) { - if (!isset($this->_rest->_options['force']) && ($installed && - version_compare($release['v'], $installed, '<'))) { - continue; - } - if (in_array($release['v'], $exclude)) { // skip excluded versions - continue; - } - // allow newer releases to say "I'm OK with the dependent package" - if ($xsdversion == '2.0' && isset($release['co'])) { - if (!is_array($release['co']) || !isset($release['co'][0])) { - $release['co'] = array($release['co']); - } - foreach ($release['co'] as $entry) { - if (isset($entry['x']) && !is_array($entry['x'])) { - $entry['x'] = array($entry['x']); - } elseif (!isset($entry['x'])) { - $entry['x'] = array(); - } - if ($entry['c'] == $deppackage['channel'] && - strtolower($entry['p']) == strtolower($deppackage['package']) && - version_compare($deppackage['version'], $entry['min'], '>=') && - version_compare($deppackage['version'], $entry['max'], '<=') && - !in_array($release['v'], $entry['x'])) { - $recommended = $release['v']; - break; - } - } - } - if ($recommended) { - if ($release['v'] != $recommended) { // if we want a specific - // version, then skip all others - continue; - } else { - if (!in_array($release['s'], $states)) { - // the stability is too low, but we must return the - // recommended version if possible - return $this->_returnDownloadURL($base, $package, $release, $info, true, false, $channel); - } - } - } - if ($min && version_compare($release['v'], $min, 'lt')) { // skip too old versions - continue; - } - if ($max && version_compare($release['v'], $max, 'gt')) { // skip too new versions - continue; - } - if ($installed && version_compare($release['v'], $installed, '<')) { - continue; - } - if (in_array($release['s'], $states)) { // if in the preferred state... - $found = true; // ... then use it - break; - } - } - return $this->_returnDownloadURL($base, $package, $release, $info, $found, false, $channel); - } - - /** - * Take raw data and return the array needed for processing a download URL - * - * @param string $base REST base uri - * @param string $package Package name - * @param array $release an array of format array('v' => version, 's' => state) - * describing the release to download - * @param array $info list of all releases as defined by allreleases.xml - * @param bool|null $found determines whether the release was found or this is the next - * best alternative. If null, then versions were skipped because - * of PHP dependency - * @return array|PEAR_Error - * @access private - */ - function _returnDownloadURL($base, $package, $release, $info, $found, $phpversion = false, $channel = false) - { - if (!$found) { - $release = $info['r'][0]; - } - - $packageLower = strtolower($package); - $pinfo = $this->_rest->retrieveCacheFirst($base . 'p/' . $packageLower . '/' . - 'info.xml', false, false, $channel); - if (PEAR::isError($pinfo)) { - return PEAR::raiseError('Package "' . $package . - '" does not have REST info xml available'); - } - - $releaseinfo = $this->_rest->retrieveCacheFirst($base . 'r/' . $packageLower . '/' . - $release['v'] . '.xml', false, false, $channel); - if (PEAR::isError($releaseinfo)) { - return PEAR::raiseError('Package "' . $package . '" Version "' . $release['v'] . - '" does not have REST xml available'); - } - - $packagexml = $this->_rest->retrieveCacheFirst($base . 'r/' . $packageLower . '/' . - 'deps.' . $release['v'] . '.txt', false, true, $channel); - if (PEAR::isError($packagexml)) { - return PEAR::raiseError('Package "' . $package . '" Version "' . $release['v'] . - '" does not have REST dependency information available'); - } - - $packagexml = unserialize($packagexml); - if (!$packagexml) { - $packagexml = array(); - } - - $allinfo = $this->_rest->retrieveData($base . 'r/' . $packageLower . - '/allreleases.xml', false, false, $channel); - if (PEAR::isError($allinfo)) { - return $allinfo; - } - - if (!is_array($allinfo['r']) || !isset($allinfo['r'][0])) { - $allinfo['r'] = array($allinfo['r']); - } - - $compatible = false; - foreach ($allinfo['r'] as $release) { - if ($release['v'] != $releaseinfo['v']) { - continue; - } - - if (!isset($release['co'])) { - break; - } - - $compatible = array(); - if (!is_array($release['co']) || !isset($release['co'][0])) { - $release['co'] = array($release['co']); - } - - foreach ($release['co'] as $entry) { - $comp = array(); - $comp['name'] = $entry['p']; - $comp['channel'] = $entry['c']; - $comp['min'] = $entry['min']; - $comp['max'] = $entry['max']; - if (isset($entry['x']) && !is_array($entry['x'])) { - $comp['exclude'] = $entry['x']; - } - - $compatible[] = $comp; - } - - if (count($compatible) == 1) { - $compatible = $compatible[0]; - } - - break; - } - - $deprecated = false; - if (isset($pinfo['dc']) && isset($pinfo['dp'])) { - if (is_array($pinfo['dp'])) { - $deprecated = array('channel' => (string) $pinfo['dc'], - 'package' => trim($pinfo['dp']['_content'])); - } else { - $deprecated = array('channel' => (string) $pinfo['dc'], - 'package' => trim($pinfo['dp'])); - } - } - - $return = array( - 'version' => $releaseinfo['v'], - 'info' => $packagexml, - 'package' => $releaseinfo['p']['_content'], - 'stability' => $releaseinfo['st'], - 'compatible' => $compatible, - 'deprecated' => $deprecated, - ); - - if ($found) { - $return['url'] = $releaseinfo['g']; - return $return; - } - - $return['php'] = $phpversion; - return $return; - } - - function listPackages($base, $channel = false) - { - $packagelist = $this->_rest->retrieveData($base . 'p/packages.xml', false, false, $channel); - if (PEAR::isError($packagelist)) { - return $packagelist; - } - - if (!is_array($packagelist) || !isset($packagelist['p'])) { - return array(); - } - - if (!is_array($packagelist['p'])) { - $packagelist['p'] = array($packagelist['p']); - } - - return $packagelist['p']; - } - - /** - * List all categories of a REST server - * - * @param string $base base URL of the server - * @return array of categorynames - */ - function listCategories($base, $channel = false) - { - $categories = array(); - - // c/categories.xml does not exist; - // check for every package its category manually - // This is SLOOOWWWW : /// - $packagelist = $this->_rest->retrieveData($base . 'p/packages.xml', false, false, $channel); - if (PEAR::isError($packagelist)) { - return $packagelist; - } - - if (!is_array($packagelist) || !isset($packagelist['p'])) { - $ret = array(); - return $ret; - } - - if (!is_array($packagelist['p'])) { - $packagelist['p'] = array($packagelist['p']); - } - - PEAR::pushErrorHandling(PEAR_ERROR_RETURN); - foreach ($packagelist['p'] as $package) { - $inf = $this->_rest->retrieveData($base . 'p/' . strtolower($package) . '/info.xml', false, false, $channel); - if (PEAR::isError($inf)) { - PEAR::popErrorHandling(); - return $inf; - } - $cat = $inf['ca']['_content']; - if (!isset($categories[$cat])) { - $categories[$cat] = $inf['ca']; - } - } - - return array_values($categories); - } - - /** - * List a category of a REST server - * - * @param string $base base URL of the server - * @param string $category name of the category - * @param boolean $info also download full package info - * @return array of packagenames - */ - function listCategory($base, $category, $info = false, $channel = false) - { - // gives '404 Not Found' error when category doesn't exist - $packagelist = $this->_rest->retrieveData($base.'c/'.urlencode($category).'/packages.xml', false, false, $channel); - if (PEAR::isError($packagelist)) { - return $packagelist; - } - - if (!is_array($packagelist) || !isset($packagelist['p'])) { - return array(); - } - - if (!is_array($packagelist['p']) || - !isset($packagelist['p'][0])) { // only 1 pkg - $packagelist = array($packagelist['p']); - } else { - $packagelist = $packagelist['p']; - } - - if ($info == true) { - // get individual package info - PEAR::pushErrorHandling(PEAR_ERROR_RETURN); - foreach ($packagelist as $i => $packageitem) { - $url = sprintf('%s'.'r/%s/latest.txt', - $base, - strtolower($packageitem['_content'])); - $version = $this->_rest->retrieveData($url, false, false, $channel); - if (PEAR::isError($version)) { - break; // skipit - } - $url = sprintf('%s'.'r/%s/%s.xml', - $base, - strtolower($packageitem['_content']), - $version); - $info = $this->_rest->retrieveData($url, false, false, $channel); - if (PEAR::isError($info)) { - break; // skipit - } - $packagelist[$i]['info'] = $info; - } - PEAR::popErrorHandling(); - } - - return $packagelist; - } - - - function listAll($base, $dostable, $basic = true, $searchpackage = false, $searchsummary = false, $channel = false) - { - $packagelist = $this->_rest->retrieveData($base . 'p/packages.xml', false, false, $channel); - if (PEAR::isError($packagelist)) { - return $packagelist; - } - if ($this->_rest->config->get('verbose') > 0) { - $ui = &PEAR_Frontend::singleton(); - $ui->log('Retrieving data...0%', true); - } - $ret = array(); - if (!is_array($packagelist) || !isset($packagelist['p'])) { - return $ret; - } - if (!is_array($packagelist['p'])) { - $packagelist['p'] = array($packagelist['p']); - } - - // only search-packagename = quicksearch ! - if ($searchpackage && (!$searchsummary || empty($searchpackage))) { - $newpackagelist = array(); - foreach ($packagelist['p'] as $package) { - if (!empty($searchpackage) && stristr($package, $searchpackage) !== false) { - $newpackagelist[] = $package; - } - } - $packagelist['p'] = $newpackagelist; - } - PEAR::pushErrorHandling(PEAR_ERROR_RETURN); - $next = .1; - foreach ($packagelist['p'] as $progress => $package) { - if ($this->_rest->config->get('verbose') > 0) { - if ($progress / count($packagelist['p']) >= $next) { - if ($next == .5) { - $ui->log('50%', false); - } else { - $ui->log('.', false); - } - $next += .1; - } - } - - if ($basic) { // remote-list command - if ($dostable) { - $latest = $this->_rest->retrieveData($base . 'r/' . strtolower($package) . - '/stable.txt', false, false, $channel); - } else { - $latest = $this->_rest->retrieveData($base . 'r/' . strtolower($package) . - '/latest.txt', false, false, $channel); - } - if (PEAR::isError($latest)) { - $latest = false; - } - $info = array('stable' => $latest); - } else { // list-all command - $inf = $this->_rest->retrieveData($base . 'p/' . strtolower($package) . '/info.xml', false, false, $channel); - if (PEAR::isError($inf)) { - PEAR::popErrorHandling(); - return $inf; - } - if ($searchpackage) { - $found = (!empty($searchpackage) && stristr($package, $searchpackage) !== false); - if (!$found && !(isset($searchsummary) && !empty($searchsummary) - && (stristr($inf['s'], $searchsummary) !== false - || stristr($inf['d'], $searchsummary) !== false))) - { - continue; - }; - } - $releases = $this->_rest->retrieveData($base . 'r/' . strtolower($package) . - '/allreleases.xml', false, false, $channel); - if (PEAR::isError($releases)) { - continue; - } - if (!isset($releases['r'][0])) { - $releases['r'] = array($releases['r']); - } - unset($latest); - unset($unstable); - unset($stable); - unset($state); - foreach ($releases['r'] as $release) { - if (!isset($latest)) { - if ($dostable && $release['s'] == 'stable') { - $latest = $release['v']; - $state = 'stable'; - } - if (!$dostable) { - $latest = $release['v']; - $state = $release['s']; - } - } - if (!isset($stable) && $release['s'] == 'stable') { - $stable = $release['v']; - if (!isset($unstable)) { - $unstable = $stable; - } - } - if (!isset($unstable) && $release['s'] != 'stable') { - $latest = $unstable = $release['v']; - $state = $release['s']; - } - if (isset($latest) && !isset($state)) { - $state = $release['s']; - } - if (isset($latest) && isset($stable) && isset($unstable)) { - break; - } - } - $deps = array(); - if (!isset($unstable)) { - $unstable = false; - $state = 'stable'; - if (isset($stable)) { - $latest = $unstable = $stable; - } - } else { - $latest = $unstable; - } - if (!isset($latest)) { - $latest = false; - } - if ($latest) { - $d = $this->_rest->retrieveCacheFirst($base . 'r/' . strtolower($package) . '/deps.' . - $latest . '.txt', false, false, $channel); - if (!PEAR::isError($d)) { - $d = unserialize($d); - if ($d) { - if (isset($d['required'])) { - if (!class_exists('PEAR_PackageFile_v2')) { - require_once 'PEAR/PackageFile/v2.php'; - } - if (!isset($pf)) { - $pf = new PEAR_PackageFile_v2; - } - $pf->setDeps($d); - $tdeps = $pf->getDeps(); - } else { - $tdeps = $d; - } - foreach ($tdeps as $dep) { - if ($dep['type'] !== 'pkg') { - continue; - } - $deps[] = $dep; - } - } - } - } - if (!isset($stable)) { - $stable = '-n/a-'; - } - if (!$searchpackage) { - $info = array('stable' => $latest, 'summary' => $inf['s'], 'description' => - $inf['d'], 'deps' => $deps, 'category' => $inf['ca']['_content'], - 'unstable' => $unstable, 'state' => $state); - } else { - $info = array('stable' => $stable, 'summary' => $inf['s'], 'description' => - $inf['d'], 'deps' => $deps, 'category' => $inf['ca']['_content'], - 'unstable' => $unstable, 'state' => $state); - } - } - $ret[$package] = $info; - } - PEAR::popErrorHandling(); - return $ret; - } - - function listLatestUpgrades($base, $pref_state, $installed, $channel, &$reg) - { - $packagelist = $this->_rest->retrieveData($base . 'p/packages.xml', false, false, $channel); - if (PEAR::isError($packagelist)) { - return $packagelist; - } - - $ret = array(); - if (!is_array($packagelist) || !isset($packagelist['p'])) { - return $ret; - } - - if (!is_array($packagelist['p'])) { - $packagelist['p'] = array($packagelist['p']); - } - - foreach ($packagelist['p'] as $package) { - if (!isset($installed[strtolower($package)])) { - continue; - } - - $inst_version = $reg->packageInfo($package, 'version', $channel); - $inst_state = $reg->packageInfo($package, 'release_state', $channel); - PEAR::pushErrorHandling(PEAR_ERROR_RETURN); - $info = $this->_rest->retrieveData($base . 'r/' . strtolower($package) . - '/allreleases.xml', false, false, $channel); - PEAR::popErrorHandling(); - if (PEAR::isError($info)) { - continue; // no remote releases - } - - if (!isset($info['r'])) { - continue; - } - - $release = $found = false; - if (!is_array($info['r']) || !isset($info['r'][0])) { - $info['r'] = array($info['r']); - } - - // $info['r'] is sorted by version number - usort($info['r'], array($this, '_sortReleasesByVersionNumber')); - foreach ($info['r'] as $release) { - if ($inst_version && version_compare($release['v'], $inst_version, '<=')) { - // not newer than the one installed - break; - } - - // new version > installed version - if (!$pref_state) { - // every state is a good state - $found = true; - break; - } else { - $new_state = $release['s']; - // if new state >= installed state: go - if (in_array($new_state, $this->betterStates($inst_state, true))) { - $found = true; - break; - } else { - // only allow to lower the state of package, - // if new state >= preferred state: go - if (in_array($new_state, $this->betterStates($pref_state, true))) { - $found = true; - break; - } - } - } - } - - if (!$found) { - continue; - } - - $relinfo = $this->_rest->retrieveCacheFirst($base . 'r/' . strtolower($package) . '/' . - $release['v'] . '.xml', false, false, $channel); - if (PEAR::isError($relinfo)) { - return $relinfo; - } - - $ret[$package] = array( - 'version' => $release['v'], - 'state' => $release['s'], - 'filesize' => $relinfo['f'], - ); - } - - return $ret; - } - - function packageInfo($base, $package, $channel = false) - { - PEAR::pushErrorHandling(PEAR_ERROR_RETURN); - $pinfo = $this->_rest->retrieveData($base . 'p/' . strtolower($package) . '/info.xml', false, false, $channel); - if (PEAR::isError($pinfo)) { - PEAR::popErrorHandling(); - return PEAR::raiseError('Unknown package: "' . $package . '" in channel "' . $channel . '"' . "\n". 'Debug: ' . - $pinfo->getMessage()); - } - - $releases = array(); - $allreleases = $this->_rest->retrieveData($base . 'r/' . strtolower($package) . - '/allreleases.xml', false, false, $channel); - if (!PEAR::isError($allreleases)) { - if (!class_exists('PEAR_PackageFile_v2')) { - require_once 'PEAR/PackageFile/v2.php'; - } - - if (!is_array($allreleases['r']) || !isset($allreleases['r'][0])) { - $allreleases['r'] = array($allreleases['r']); - } - - $pf = new PEAR_PackageFile_v2; - foreach ($allreleases['r'] as $release) { - $ds = $this->_rest->retrieveCacheFirst($base . 'r/' . strtolower($package) . '/deps.' . - $release['v'] . '.txt', false, false, $channel); - if (PEAR::isError($ds)) { - continue; - } - - if (!isset($latest)) { - $latest = $release['v']; - } - - $pf->setDeps(unserialize($ds)); - $ds = $pf->getDeps(); - $info = $this->_rest->retrieveCacheFirst($base . 'r/' . strtolower($package) - . '/' . $release['v'] . '.xml', false, false, $channel); - - if (PEAR::isError($info)) { - continue; - } - - $releases[$release['v']] = array( - 'doneby' => $info['m'], - 'license' => $info['l'], - 'summary' => $info['s'], - 'description' => $info['d'], - 'releasedate' => $info['da'], - 'releasenotes' => $info['n'], - 'state' => $release['s'], - 'deps' => $ds ? $ds : array(), - ); - } - } else { - $latest = ''; - } - - PEAR::popErrorHandling(); - if (isset($pinfo['dc']) && isset($pinfo['dp'])) { - if (is_array($pinfo['dp'])) { - $deprecated = array('channel' => (string) $pinfo['dc'], - 'package' => trim($pinfo['dp']['_content'])); - } else { - $deprecated = array('channel' => (string) $pinfo['dc'], - 'package' => trim($pinfo['dp'])); - } - } else { - $deprecated = false; - } - - if (!isset($latest)) { - $latest = ''; - } - - return array( - 'name' => $pinfo['n'], - 'channel' => $pinfo['c'], - 'category' => $pinfo['ca']['_content'], - 'stable' => $latest, - 'license' => $pinfo['l'], - 'summary' => $pinfo['s'], - 'description' => $pinfo['d'], - 'releases' => $releases, - 'deprecated' => $deprecated, - ); - } - - /** - * Return an array containing all of the states that are more stable than - * or equal to the passed in state - * - * @param string Release state - * @param boolean Determines whether to include $state in the list - * @return false|array False if $state is not a valid release state - */ - function betterStates($state, $include = false) - { - static $states = array('snapshot', 'devel', 'alpha', 'beta', 'stable'); - $i = array_search($state, $states); - if ($i === false) { - return false; - } - - if ($include) { - $i--; - } - - return array_slice($states, $i + 1); - } - - /** - * Sort releases by version number - * - * @access private - */ - function _sortReleasesByVersionNumber($a, $b) - { - if (version_compare($a['v'], $b['v'], '=')) { - return 0; - } - - if (version_compare($a['v'], $b['v'], '>')) { - return -1; - } - - if (version_compare($a['v'], $b['v'], '<')) { - return 1; - } - } -} \ No newline at end of file diff --git a/3rdparty/PEAR/REST/11.php b/3rdparty/PEAR/REST/11.php deleted file mode 100644 index 831cfccdb7555ef9ff52fc65b2211927eb3ab019..0000000000000000000000000000000000000000 --- a/3rdparty/PEAR/REST/11.php +++ /dev/null @@ -1,341 +0,0 @@ - - * @copyright 1997-2009 The Authors - * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: 11.php 313023 2011-07-06 19:17:11Z dufuz $ - * @link http://pear.php.net/package/PEAR - * @since File available since Release 1.4.3 - */ - -/** - * For downloading REST xml/txt files - */ -require_once 'PEAR/REST.php'; - -/** - * Implement REST 1.1 - * - * @category pear - * @package PEAR - * @author Greg Beaver - * @copyright 1997-2009 The Authors - * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.4 - * @link http://pear.php.net/package/PEAR - * @since Class available since Release 1.4.3 - */ -class PEAR_REST_11 -{ - /** - * @var PEAR_REST - */ - var $_rest; - - function PEAR_REST_11($config, $options = array()) - { - $this->_rest = &new PEAR_REST($config, $options); - } - - function listAll($base, $dostable, $basic = true, $searchpackage = false, $searchsummary = false, $channel = false) - { - $categorylist = $this->_rest->retrieveData($base . 'c/categories.xml', false, false, $channel); - if (PEAR::isError($categorylist)) { - return $categorylist; - } - - $ret = array(); - if (!is_array($categorylist['c']) || !isset($categorylist['c'][0])) { - $categorylist['c'] = array($categorylist['c']); - } - - PEAR::pushErrorHandling(PEAR_ERROR_RETURN); - - foreach ($categorylist['c'] as $progress => $category) { - $category = $category['_content']; - $packagesinfo = $this->_rest->retrieveData($base . - 'c/' . urlencode($category) . '/packagesinfo.xml', false, false, $channel); - - if (PEAR::isError($packagesinfo)) { - continue; - } - - if (!is_array($packagesinfo) || !isset($packagesinfo['pi'])) { - continue; - } - - if (!is_array($packagesinfo['pi']) || !isset($packagesinfo['pi'][0])) { - $packagesinfo['pi'] = array($packagesinfo['pi']); - } - - foreach ($packagesinfo['pi'] as $packageinfo) { - if (empty($packageinfo)) { - continue; - } - - $info = $packageinfo['p']; - $package = $info['n']; - $releases = isset($packageinfo['a']) ? $packageinfo['a'] : false; - unset($latest); - unset($unstable); - unset($stable); - unset($state); - - if ($releases) { - if (!isset($releases['r'][0])) { - $releases['r'] = array($releases['r']); - } - - foreach ($releases['r'] as $release) { - if (!isset($latest)) { - if ($dostable && $release['s'] == 'stable') { - $latest = $release['v']; - $state = 'stable'; - } - if (!$dostable) { - $latest = $release['v']; - $state = $release['s']; - } - } - - if (!isset($stable) && $release['s'] == 'stable') { - $stable = $release['v']; - if (!isset($unstable)) { - $unstable = $stable; - } - } - - if (!isset($unstable) && $release['s'] != 'stable') { - $unstable = $release['v']; - $state = $release['s']; - } - - if (isset($latest) && !isset($state)) { - $state = $release['s']; - } - - if (isset($latest) && isset($stable) && isset($unstable)) { - break; - } - } - } - - if ($basic) { // remote-list command - if (!isset($latest)) { - $latest = false; - } - - if ($dostable) { - // $state is not set if there are no releases - if (isset($state) && $state == 'stable') { - $ret[$package] = array('stable' => $latest); - } else { - $ret[$package] = array('stable' => '-n/a-'); - } - } else { - $ret[$package] = array('stable' => $latest); - } - - continue; - } - - // list-all command - if (!isset($unstable)) { - $unstable = false; - $state = 'stable'; - if (isset($stable)) { - $latest = $unstable = $stable; - } - } else { - $latest = $unstable; - } - - if (!isset($latest)) { - $latest = false; - } - - $deps = array(); - if ($latest && isset($packageinfo['deps'])) { - if (!is_array($packageinfo['deps']) || - !isset($packageinfo['deps'][0]) - ) { - $packageinfo['deps'] = array($packageinfo['deps']); - } - - $d = false; - foreach ($packageinfo['deps'] as $dep) { - if ($dep['v'] == $latest) { - $d = unserialize($dep['d']); - } - } - - if ($d) { - if (isset($d['required'])) { - if (!class_exists('PEAR_PackageFile_v2')) { - require_once 'PEAR/PackageFile/v2.php'; - } - - if (!isset($pf)) { - $pf = new PEAR_PackageFile_v2; - } - - $pf->setDeps($d); - $tdeps = $pf->getDeps(); - } else { - $tdeps = $d; - } - - foreach ($tdeps as $dep) { - if ($dep['type'] !== 'pkg') { - continue; - } - - $deps[] = $dep; - } - } - } - - $info = array( - 'stable' => $latest, - 'summary' => $info['s'], - 'description' => $info['d'], - 'deps' => $deps, - 'category' => $info['ca']['_content'], - 'unstable' => $unstable, - 'state' => $state - ); - $ret[$package] = $info; - } - } - - PEAR::popErrorHandling(); - return $ret; - } - - /** - * List all categories of a REST server - * - * @param string $base base URL of the server - * @return array of categorynames - */ - function listCategories($base, $channel = false) - { - $categorylist = $this->_rest->retrieveData($base . 'c/categories.xml', false, false, $channel); - if (PEAR::isError($categorylist)) { - return $categorylist; - } - - if (!is_array($categorylist) || !isset($categorylist['c'])) { - return array(); - } - - if (isset($categorylist['c']['_content'])) { - // only 1 category - $categorylist['c'] = array($categorylist['c']); - } - - return $categorylist['c']; - } - - /** - * List packages in a category of a REST server - * - * @param string $base base URL of the server - * @param string $category name of the category - * @param boolean $info also download full package info - * @return array of packagenames - */ - function listCategory($base, $category, $info = false, $channel = false) - { - if ($info == false) { - $url = '%s'.'c/%s/packages.xml'; - } else { - $url = '%s'.'c/%s/packagesinfo.xml'; - } - $url = sprintf($url, - $base, - urlencode($category)); - - // gives '404 Not Found' error when category doesn't exist - $packagelist = $this->_rest->retrieveData($url, false, false, $channel); - if (PEAR::isError($packagelist)) { - return $packagelist; - } - if (!is_array($packagelist)) { - return array(); - } - - if ($info == false) { - if (!isset($packagelist['p'])) { - return array(); - } - if (!is_array($packagelist['p']) || - !isset($packagelist['p'][0])) { // only 1 pkg - $packagelist = array($packagelist['p']); - } else { - $packagelist = $packagelist['p']; - } - return $packagelist; - } - - // info == true - if (!isset($packagelist['pi'])) { - return array(); - } - - if (!is_array($packagelist['pi']) || - !isset($packagelist['pi'][0])) { // only 1 pkg - $packagelist_pre = array($packagelist['pi']); - } else { - $packagelist_pre = $packagelist['pi']; - } - - $packagelist = array(); - foreach ($packagelist_pre as $i => $item) { - // compatibility with r/.xml - if (isset($item['a']['r'][0])) { - // multiple releases - $item['p']['v'] = $item['a']['r'][0]['v']; - $item['p']['st'] = $item['a']['r'][0]['s']; - } elseif (isset($item['a'])) { - // first and only release - $item['p']['v'] = $item['a']['r']['v']; - $item['p']['st'] = $item['a']['r']['s']; - } - - $packagelist[$i] = array('attribs' => $item['p']['r'], - '_content' => $item['p']['n'], - 'info' => $item['p']); - } - - return $packagelist; - } - - /** - * Return an array containing all of the states that are more stable than - * or equal to the passed in state - * - * @param string Release state - * @param boolean Determines whether to include $state in the list - * @return false|array False if $state is not a valid release state - */ - function betterStates($state, $include = false) - { - static $states = array('snapshot', 'devel', 'alpha', 'beta', 'stable'); - $i = array_search($state, $states); - if ($i === false) { - return false; - } - if ($include) { - $i--; - } - return array_slice($states, $i + 1); - } -} -?> \ No newline at end of file diff --git a/3rdparty/PEAR/REST/13.php b/3rdparty/PEAR/REST/13.php deleted file mode 100644 index 722ae0de30fc97a1677310130a9c6ba505304ca4..0000000000000000000000000000000000000000 --- a/3rdparty/PEAR/REST/13.php +++ /dev/null @@ -1,299 +0,0 @@ - - * @copyright 1997-2009 The Authors - * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: 13.php 313023 2011-07-06 19:17:11Z dufuz $ - * @link http://pear.php.net/package/PEAR - * @since File available since Release 1.4.0a12 - */ - -/** - * For downloading REST xml/txt files - */ -require_once 'PEAR/REST.php'; -require_once 'PEAR/REST/10.php'; - -/** - * Implement REST 1.3 - * - * @category pear - * @package PEAR - * @author Greg Beaver - * @copyright 1997-2009 The Authors - * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.4 - * @link http://pear.php.net/package/PEAR - * @since Class available since Release 1.4.0a12 - */ -class PEAR_REST_13 extends PEAR_REST_10 -{ - /** - * Retrieve information about a remote package to be downloaded from a REST server - * - * This is smart enough to resolve the minimum PHP version dependency prior to download - * @param string $base The uri to prepend to all REST calls - * @param array $packageinfo an array of format: - *
-     *  array(
-     *   'package' => 'packagename',
-     *   'channel' => 'channelname',
-     *  ['state' => 'alpha' (or valid state),]
-     *  -or-
-     *  ['version' => '1.whatever']
-     * 
- * @param string $prefstate Current preferred_state config variable value - * @param bool $installed the installed version of this package to compare against - * @return array|false|PEAR_Error see {@link _returnDownloadURL()} - */ - function getDownloadURL($base, $packageinfo, $prefstate, $installed, $channel = false) - { - $states = $this->betterStates($prefstate, true); - if (!$states) { - return PEAR::raiseError('"' . $prefstate . '" is not a valid state'); - } - - $channel = $packageinfo['channel']; - $package = $packageinfo['package']; - $state = isset($packageinfo['state']) ? $packageinfo['state'] : null; - $version = isset($packageinfo['version']) ? $packageinfo['version'] : null; - $restFile = $base . 'r/' . strtolower($package) . '/allreleases2.xml'; - - $info = $this->_rest->retrieveData($restFile, false, false, $channel); - if (PEAR::isError($info)) { - return PEAR::raiseError('No releases available for package "' . - $channel . '/' . $package . '"'); - } - - if (!isset($info['r'])) { - return false; - } - - $release = $found = false; - if (!is_array($info['r']) || !isset($info['r'][0])) { - $info['r'] = array($info['r']); - } - - $skippedphp = false; - foreach ($info['r'] as $release) { - if (!isset($this->_rest->_options['force']) && ($installed && - version_compare($release['v'], $installed, '<'))) { - continue; - } - - if (isset($state)) { - // try our preferred state first - if ($release['s'] == $state) { - if (!isset($version) && version_compare($release['m'], phpversion(), '>')) { - // skip releases that require a PHP version newer than our PHP version - $skippedphp = $release; - continue; - } - $found = true; - break; - } - - // see if there is something newer and more stable - // bug #7221 - if (in_array($release['s'], $this->betterStates($state), true)) { - if (!isset($version) && version_compare($release['m'], phpversion(), '>')) { - // skip releases that require a PHP version newer than our PHP version - $skippedphp = $release; - continue; - } - $found = true; - break; - } - } elseif (isset($version)) { - if ($release['v'] == $version) { - if (!isset($this->_rest->_options['force']) && - !isset($version) && - version_compare($release['m'], phpversion(), '>')) { - // skip releases that require a PHP version newer than our PHP version - $skippedphp = $release; - continue; - } - $found = true; - break; - } - } else { - if (in_array($release['s'], $states)) { - if (version_compare($release['m'], phpversion(), '>')) { - // skip releases that require a PHP version newer than our PHP version - $skippedphp = $release; - continue; - } - $found = true; - break; - } - } - } - - if (!$found && $skippedphp) { - $found = null; - } - - return $this->_returnDownloadURL($base, $package, $release, $info, $found, $skippedphp, $channel); - } - - function getDepDownloadURL($base, $xsdversion, $dependency, $deppackage, - $prefstate = 'stable', $installed = false, $channel = false) - { - $states = $this->betterStates($prefstate, true); - if (!$states) { - return PEAR::raiseError('"' . $prefstate . '" is not a valid state'); - } - - $channel = $dependency['channel']; - $package = $dependency['name']; - $state = isset($dependency['state']) ? $dependency['state'] : null; - $version = isset($dependency['version']) ? $dependency['version'] : null; - $restFile = $base . 'r/' . strtolower($package) .'/allreleases2.xml'; - - $info = $this->_rest->retrieveData($restFile, false, false, $channel); - if (PEAR::isError($info)) { - return PEAR::raiseError('Package "' . $deppackage['channel'] . '/' . $deppackage['package'] - . '" dependency "' . $channel . '/' . $package . '" has no releases'); - } - - if (!is_array($info) || !isset($info['r'])) { - return false; - } - - $exclude = array(); - $min = $max = $recommended = false; - if ($xsdversion == '1.0') { - $pinfo['package'] = $dependency['name']; - $pinfo['channel'] = 'pear.php.net'; // this is always true - don't change this - switch ($dependency['rel']) { - case 'ge' : - $min = $dependency['version']; - break; - case 'gt' : - $min = $dependency['version']; - $exclude = array($dependency['version']); - break; - case 'eq' : - $recommended = $dependency['version']; - break; - case 'lt' : - $max = $dependency['version']; - $exclude = array($dependency['version']); - break; - case 'le' : - $max = $dependency['version']; - break; - case 'ne' : - $exclude = array($dependency['version']); - break; - } - } else { - $pinfo['package'] = $dependency['name']; - $min = isset($dependency['min']) ? $dependency['min'] : false; - $max = isset($dependency['max']) ? $dependency['max'] : false; - $recommended = isset($dependency['recommended']) ? - $dependency['recommended'] : false; - if (isset($dependency['exclude'])) { - if (!isset($dependency['exclude'][0])) { - $exclude = array($dependency['exclude']); - } - } - } - - $skippedphp = $found = $release = false; - if (!is_array($info['r']) || !isset($info['r'][0])) { - $info['r'] = array($info['r']); - } - - foreach ($info['r'] as $release) { - if (!isset($this->_rest->_options['force']) && ($installed && - version_compare($release['v'], $installed, '<'))) { - continue; - } - - if (in_array($release['v'], $exclude)) { // skip excluded versions - continue; - } - - // allow newer releases to say "I'm OK with the dependent package" - if ($xsdversion == '2.0' && isset($release['co'])) { - if (!is_array($release['co']) || !isset($release['co'][0])) { - $release['co'] = array($release['co']); - } - - foreach ($release['co'] as $entry) { - if (isset($entry['x']) && !is_array($entry['x'])) { - $entry['x'] = array($entry['x']); - } elseif (!isset($entry['x'])) { - $entry['x'] = array(); - } - - if ($entry['c'] == $deppackage['channel'] && - strtolower($entry['p']) == strtolower($deppackage['package']) && - version_compare($deppackage['version'], $entry['min'], '>=') && - version_compare($deppackage['version'], $entry['max'], '<=') && - !in_array($release['v'], $entry['x'])) { - if (version_compare($release['m'], phpversion(), '>')) { - // skip dependency releases that require a PHP version - // newer than our PHP version - $skippedphp = $release; - continue; - } - - $recommended = $release['v']; - break; - } - } - } - - if ($recommended) { - if ($release['v'] != $recommended) { // if we want a specific - // version, then skip all others - continue; - } - - if (!in_array($release['s'], $states)) { - // the stability is too low, but we must return the - // recommended version if possible - return $this->_returnDownloadURL($base, $package, $release, $info, true, false, $channel); - } - } - - if ($min && version_compare($release['v'], $min, 'lt')) { // skip too old versions - continue; - } - - if ($max && version_compare($release['v'], $max, 'gt')) { // skip too new versions - continue; - } - - if ($installed && version_compare($release['v'], $installed, '<')) { - continue; - } - - if (in_array($release['s'], $states)) { // if in the preferred state... - if (version_compare($release['m'], phpversion(), '>')) { - // skip dependency releases that require a PHP version - // newer than our PHP version - $skippedphp = $release; - continue; - } - - $found = true; // ... then use it - break; - } - } - - if (!$found && $skippedphp) { - $found = null; - } - - return $this->_returnDownloadURL($base, $package, $release, $info, $found, $skippedphp, $channel); - } -} \ No newline at end of file diff --git a/3rdparty/PEAR/Registry.php b/3rdparty/PEAR/Registry.php deleted file mode 100644 index 35e17db495298ff69fbc0b7f8d4e563d0f4c5d0f..0000000000000000000000000000000000000000 --- a/3rdparty/PEAR/Registry.php +++ /dev/null @@ -1,2395 +0,0 @@ - - * @author Tomas V. V. Cox - * @author Greg Beaver - * @copyright 1997-2009 The Authors - * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: Registry.php 313023 2011-07-06 19:17:11Z dufuz $ - * @link http://pear.php.net/package/PEAR - * @since File available since Release 0.1 - */ - -/** - * for PEAR_Error - */ -require_once 'PEAR.php'; -require_once 'PEAR/DependencyDB.php'; - -define('PEAR_REGISTRY_ERROR_LOCK', -2); -define('PEAR_REGISTRY_ERROR_FORMAT', -3); -define('PEAR_REGISTRY_ERROR_FILE', -4); -define('PEAR_REGISTRY_ERROR_CONFLICT', -5); -define('PEAR_REGISTRY_ERROR_CHANNEL_FILE', -6); - -/** - * Administration class used to maintain the installed package database. - * @category pear - * @package PEAR - * @author Stig Bakken - * @author Tomas V. V. Cox - * @author Greg Beaver - * @copyright 1997-2009 The Authors - * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.4 - * @link http://pear.php.net/package/PEAR - * @since Class available since Release 1.4.0a1 - */ -class PEAR_Registry extends PEAR -{ - /** - * File containing all channel information. - * @var string - */ - var $channels = ''; - - /** Directory where registry files are stored. - * @var string - */ - var $statedir = ''; - - /** File where the file map is stored - * @var string - */ - var $filemap = ''; - - /** Directory where registry files for channels are stored. - * @var string - */ - var $channelsdir = ''; - - /** Name of file used for locking the registry - * @var string - */ - var $lockfile = ''; - - /** File descriptor used during locking - * @var resource - */ - var $lock_fp = null; - - /** Mode used during locking - * @var int - */ - var $lock_mode = 0; // XXX UNUSED - - /** Cache of package information. Structure: - * array( - * 'package' => array('id' => ... ), - * ... ) - * @var array - */ - var $pkginfo_cache = array(); - - /** Cache of file map. Structure: - * array( '/path/to/file' => 'package', ... ) - * @var array - */ - var $filemap_cache = array(); - - /** - * @var false|PEAR_ChannelFile - */ - var $_pearChannel; - - /** - * @var false|PEAR_ChannelFile - */ - var $_peclChannel; - - /** - * @var false|PEAR_ChannelFile - */ - var $_docChannel; - - /** - * @var PEAR_DependencyDB - */ - var $_dependencyDB; - - /** - * @var PEAR_Config - */ - var $_config; - - /** - * PEAR_Registry constructor. - * - * @param string (optional) PEAR install directory (for .php files) - * @param PEAR_ChannelFile PEAR_ChannelFile object representing the PEAR channel, if - * default values are not desired. Only used the very first time a PEAR - * repository is initialized - * @param PEAR_ChannelFile PEAR_ChannelFile object representing the PECL channel, if - * default values are not desired. Only used the very first time a PEAR - * repository is initialized - * - * @access public - */ - function PEAR_Registry($pear_install_dir = PEAR_INSTALL_DIR, $pear_channel = false, - $pecl_channel = false) - { - parent::PEAR(); - $this->setInstallDir($pear_install_dir); - $this->_pearChannel = $pear_channel; - $this->_peclChannel = $pecl_channel; - $this->_config = false; - } - - function setInstallDir($pear_install_dir = PEAR_INSTALL_DIR) - { - $ds = DIRECTORY_SEPARATOR; - $this->install_dir = $pear_install_dir; - $this->channelsdir = $pear_install_dir.$ds.'.channels'; - $this->statedir = $pear_install_dir.$ds.'.registry'; - $this->filemap = $pear_install_dir.$ds.'.filemap'; - $this->lockfile = $pear_install_dir.$ds.'.lock'; - } - - function hasWriteAccess() - { - if (!file_exists($this->install_dir)) { - $dir = $this->install_dir; - while ($dir && $dir != '.') { - $olddir = $dir; - $dir = dirname($dir); - if ($dir != '.' && file_exists($dir)) { - if (is_writeable($dir)) { - return true; - } - - return false; - } - - if ($dir == $olddir) { // this can happen in safe mode - return @is_writable($dir); - } - } - - return false; - } - - return is_writeable($this->install_dir); - } - - function setConfig(&$config, $resetInstallDir = true) - { - $this->_config = &$config; - if ($resetInstallDir) { - $this->setInstallDir($config->get('php_dir')); - } - } - - function _initializeChannelDirs() - { - static $running = false; - if (!$running) { - $running = true; - $ds = DIRECTORY_SEPARATOR; - if (!is_dir($this->channelsdir) || - !file_exists($this->channelsdir . $ds . 'pear.php.net.reg') || - !file_exists($this->channelsdir . $ds . 'pecl.php.net.reg') || - !file_exists($this->channelsdir . $ds . 'doc.php.net.reg') || - !file_exists($this->channelsdir . $ds . '__uri.reg')) { - if (!file_exists($this->channelsdir . $ds . 'pear.php.net.reg')) { - $pear_channel = $this->_pearChannel; - if (!is_a($pear_channel, 'PEAR_ChannelFile') || !$pear_channel->validate()) { - if (!class_exists('PEAR_ChannelFile')) { - require_once 'PEAR/ChannelFile.php'; - } - - $pear_channel = new PEAR_ChannelFile; - $pear_channel->setAlias('pear'); - $pear_channel->setServer('pear.php.net'); - $pear_channel->setSummary('PHP Extension and Application Repository'); - $pear_channel->setDefaultPEARProtocols(); - $pear_channel->setBaseURL('REST1.0', 'http://pear.php.net/rest/'); - $pear_channel->setBaseURL('REST1.1', 'http://pear.php.net/rest/'); - $pear_channel->setBaseURL('REST1.3', 'http://pear.php.net/rest/'); - //$pear_channel->setBaseURL('REST1.4', 'http://pear.php.net/rest/'); - } else { - $pear_channel->setServer('pear.php.net'); - $pear_channel->setAlias('pear'); - } - - $pear_channel->validate(); - $this->_addChannel($pear_channel); - } - - if (!file_exists($this->channelsdir . $ds . 'pecl.php.net.reg')) { - $pecl_channel = $this->_peclChannel; - if (!is_a($pecl_channel, 'PEAR_ChannelFile') || !$pecl_channel->validate()) { - if (!class_exists('PEAR_ChannelFile')) { - require_once 'PEAR/ChannelFile.php'; - } - - $pecl_channel = new PEAR_ChannelFile; - $pecl_channel->setAlias('pecl'); - $pecl_channel->setServer('pecl.php.net'); - $pecl_channel->setSummary('PHP Extension Community Library'); - $pecl_channel->setDefaultPEARProtocols(); - $pecl_channel->setBaseURL('REST1.0', 'http://pecl.php.net/rest/'); - $pecl_channel->setBaseURL('REST1.1', 'http://pecl.php.net/rest/'); - $pecl_channel->setValidationPackage('PEAR_Validator_PECL', '1.0'); - } else { - $pecl_channel->setServer('pecl.php.net'); - $pecl_channel->setAlias('pecl'); - } - - $pecl_channel->validate(); - $this->_addChannel($pecl_channel); - } - - if (!file_exists($this->channelsdir . $ds . 'doc.php.net.reg')) { - $doc_channel = $this->_docChannel; - if (!is_a($doc_channel, 'PEAR_ChannelFile') || !$doc_channel->validate()) { - if (!class_exists('PEAR_ChannelFile')) { - require_once 'PEAR/ChannelFile.php'; - } - - $doc_channel = new PEAR_ChannelFile; - $doc_channel->setAlias('phpdocs'); - $doc_channel->setServer('doc.php.net'); - $doc_channel->setSummary('PHP Documentation Team'); - $doc_channel->setDefaultPEARProtocols(); - $doc_channel->setBaseURL('REST1.0', 'http://doc.php.net/rest/'); - $doc_channel->setBaseURL('REST1.1', 'http://doc.php.net/rest/'); - $doc_channel->setBaseURL('REST1.3', 'http://doc.php.net/rest/'); - } else { - $doc_channel->setServer('doc.php.net'); - $doc_channel->setAlias('doc'); - } - - $doc_channel->validate(); - $this->_addChannel($doc_channel); - } - - if (!file_exists($this->channelsdir . $ds . '__uri.reg')) { - if (!class_exists('PEAR_ChannelFile')) { - require_once 'PEAR/ChannelFile.php'; - } - - $private = new PEAR_ChannelFile; - $private->setName('__uri'); - $private->setDefaultPEARProtocols(); - $private->setBaseURL('REST1.0', '****'); - $private->setSummary('Pseudo-channel for static packages'); - $this->_addChannel($private); - } - $this->_rebuildFileMap(); - } - - $running = false; - } - } - - function _initializeDirs() - { - $ds = DIRECTORY_SEPARATOR; - // XXX Compatibility code should be removed in the future - // rename all registry files if any to lowercase - if (!OS_WINDOWS && file_exists($this->statedir) && is_dir($this->statedir) && - $handle = opendir($this->statedir)) { - $dest = $this->statedir . $ds; - while (false !== ($file = readdir($handle))) { - if (preg_match('/^.*[A-Z].*\.reg\\z/', $file)) { - rename($dest . $file, $dest . strtolower($file)); - } - } - closedir($handle); - } - - $this->_initializeChannelDirs(); - if (!file_exists($this->filemap)) { - $this->_rebuildFileMap(); - } - $this->_initializeDepDB(); - } - - function _initializeDepDB() - { - if (!isset($this->_dependencyDB)) { - static $initializing = false; - if (!$initializing) { - $initializing = true; - if (!$this->_config) { // never used? - $file = OS_WINDOWS ? 'pear.ini' : '.pearrc'; - $this->_config = &new PEAR_Config($this->statedir . DIRECTORY_SEPARATOR . - $file); - $this->_config->setRegistry($this); - $this->_config->set('php_dir', $this->install_dir); - } - - $this->_dependencyDB = &PEAR_DependencyDB::singleton($this->_config); - if (PEAR::isError($this->_dependencyDB)) { - // attempt to recover by removing the dep db - if (file_exists($this->_config->get('php_dir', null, 'pear.php.net') . - DIRECTORY_SEPARATOR . '.depdb')) { - @unlink($this->_config->get('php_dir', null, 'pear.php.net') . - DIRECTORY_SEPARATOR . '.depdb'); - } - - $this->_dependencyDB = &PEAR_DependencyDB::singleton($this->_config); - if (PEAR::isError($this->_dependencyDB)) { - echo $this->_dependencyDB->getMessage(); - echo 'Unrecoverable error'; - exit(1); - } - } - - $initializing = false; - } - } - } - - /** - * PEAR_Registry destructor. Makes sure no locks are forgotten. - * - * @access private - */ - function _PEAR_Registry() - { - parent::_PEAR(); - if (is_resource($this->lock_fp)) { - $this->_unlock(); - } - } - - /** - * Make sure the directory where we keep registry files exists. - * - * @return bool TRUE if directory exists, FALSE if it could not be - * created - * - * @access private - */ - function _assertStateDir($channel = false) - { - if ($channel && $this->_getChannelFromAlias($channel) != 'pear.php.net') { - return $this->_assertChannelStateDir($channel); - } - - static $init = false; - if (!file_exists($this->statedir)) { - if (!$this->hasWriteAccess()) { - return false; - } - - require_once 'System.php'; - if (!System::mkdir(array('-p', $this->statedir))) { - return $this->raiseError("could not create directory '{$this->statedir}'"); - } - $init = true; - } elseif (!is_dir($this->statedir)) { - return $this->raiseError('Cannot create directory ' . $this->statedir . ', ' . - 'it already exists and is not a directory'); - } - - $ds = DIRECTORY_SEPARATOR; - if (!file_exists($this->channelsdir)) { - if (!file_exists($this->channelsdir . $ds . 'pear.php.net.reg') || - !file_exists($this->channelsdir . $ds . 'pecl.php.net.reg') || - !file_exists($this->channelsdir . $ds . 'doc.php.net.reg') || - !file_exists($this->channelsdir . $ds . '__uri.reg')) { - $init = true; - } - } elseif (!is_dir($this->channelsdir)) { - return $this->raiseError('Cannot create directory ' . $this->channelsdir . ', ' . - 'it already exists and is not a directory'); - } - - if ($init) { - static $running = false; - if (!$running) { - $running = true; - $this->_initializeDirs(); - $running = false; - $init = false; - } - } else { - $this->_initializeDepDB(); - } - - return true; - } - - /** - * Make sure the directory where we keep registry files exists for a non-standard channel. - * - * @param string channel name - * @return bool TRUE if directory exists, FALSE if it could not be - * created - * - * @access private - */ - function _assertChannelStateDir($channel) - { - $ds = DIRECTORY_SEPARATOR; - if (!$channel || $this->_getChannelFromAlias($channel) == 'pear.php.net') { - if (!file_exists($this->channelsdir . $ds . 'pear.php.net.reg')) { - $this->_initializeChannelDirs(); - } - return $this->_assertStateDir($channel); - } - - $channelDir = $this->_channelDirectoryName($channel); - if (!is_dir($this->channelsdir) || - !file_exists($this->channelsdir . $ds . 'pear.php.net.reg')) { - $this->_initializeChannelDirs(); - } - - if (!file_exists($channelDir)) { - if (!$this->hasWriteAccess()) { - return false; - } - - require_once 'System.php'; - if (!System::mkdir(array('-p', $channelDir))) { - return $this->raiseError("could not create directory '" . $channelDir . - "'"); - } - } elseif (!is_dir($channelDir)) { - return $this->raiseError("could not create directory '" . $channelDir . - "', already exists and is not a directory"); - } - - return true; - } - - /** - * Make sure the directory where we keep registry files for channels exists - * - * @return bool TRUE if directory exists, FALSE if it could not be - * created - * - * @access private - */ - function _assertChannelDir() - { - if (!file_exists($this->channelsdir)) { - if (!$this->hasWriteAccess()) { - return false; - } - - require_once 'System.php'; - if (!System::mkdir(array('-p', $this->channelsdir))) { - return $this->raiseError("could not create directory '{$this->channelsdir}'"); - } - } elseif (!is_dir($this->channelsdir)) { - return $this->raiseError("could not create directory '{$this->channelsdir}" . - "', it already exists and is not a directory"); - } - - if (!file_exists($this->channelsdir . DIRECTORY_SEPARATOR . '.alias')) { - if (!$this->hasWriteAccess()) { - return false; - } - - require_once 'System.php'; - if (!System::mkdir(array('-p', $this->channelsdir . DIRECTORY_SEPARATOR . '.alias'))) { - return $this->raiseError("could not create directory '{$this->channelsdir}/.alias'"); - } - } elseif (!is_dir($this->channelsdir . DIRECTORY_SEPARATOR . '.alias')) { - return $this->raiseError("could not create directory '{$this->channelsdir}" . - "/.alias', it already exists and is not a directory"); - } - - return true; - } - - /** - * Get the name of the file where data for a given package is stored. - * - * @param string channel name, or false if this is a PEAR package - * @param string package name - * - * @return string registry file name - * - * @access public - */ - function _packageFileName($package, $channel = false) - { - if ($channel && $this->_getChannelFromAlias($channel) != 'pear.php.net') { - return $this->_channelDirectoryName($channel) . DIRECTORY_SEPARATOR . - strtolower($package) . '.reg'; - } - - return $this->statedir . DIRECTORY_SEPARATOR . strtolower($package) . '.reg'; - } - - /** - * Get the name of the file where data for a given channel is stored. - * @param string channel name - * @return string registry file name - */ - function _channelFileName($channel, $noaliases = false) - { - if (!$noaliases) { - if (file_exists($this->_getChannelAliasFileName($channel))) { - $channel = implode('', file($this->_getChannelAliasFileName($channel))); - } - } - return $this->channelsdir . DIRECTORY_SEPARATOR . str_replace('/', '_', - strtolower($channel)) . '.reg'; - } - - /** - * @param string - * @return string - */ - function _getChannelAliasFileName($alias) - { - return $this->channelsdir . DIRECTORY_SEPARATOR . '.alias' . - DIRECTORY_SEPARATOR . str_replace('/', '_', strtolower($alias)) . '.txt'; - } - - /** - * Get the name of a channel from its alias - */ - function _getChannelFromAlias($channel) - { - if (!$this->_channelExists($channel)) { - if ($channel == 'pear.php.net') { - return 'pear.php.net'; - } - - if ($channel == 'pecl.php.net') { - return 'pecl.php.net'; - } - - if ($channel == 'doc.php.net') { - return 'doc.php.net'; - } - - if ($channel == '__uri') { - return '__uri'; - } - - return false; - } - - $channel = strtolower($channel); - if (file_exists($this->_getChannelAliasFileName($channel))) { - // translate an alias to an actual channel - return implode('', file($this->_getChannelAliasFileName($channel))); - } - - return $channel; - } - - /** - * Get the alias of a channel from its alias or its name - */ - function _getAlias($channel) - { - if (!$this->_channelExists($channel)) { - if ($channel == 'pear.php.net') { - return 'pear'; - } - - if ($channel == 'pecl.php.net') { - return 'pecl'; - } - - if ($channel == 'doc.php.net') { - return 'phpdocs'; - } - - return false; - } - - $channel = $this->_getChannel($channel); - if (PEAR::isError($channel)) { - return $channel; - } - - return $channel->getAlias(); - } - - /** - * Get the name of the file where data for a given package is stored. - * - * @param string channel name, or false if this is a PEAR package - * @param string package name - * - * @return string registry file name - * - * @access public - */ - function _channelDirectoryName($channel) - { - if (!$channel || $this->_getChannelFromAlias($channel) == 'pear.php.net') { - return $this->statedir; - } - - $ch = $this->_getChannelFromAlias($channel); - if (!$ch) { - $ch = $channel; - } - - return $this->statedir . DIRECTORY_SEPARATOR . strtolower('.channel.' . - str_replace('/', '_', $ch)); - } - - function _openPackageFile($package, $mode, $channel = false) - { - if (!$this->_assertStateDir($channel)) { - return null; - } - - if (!in_array($mode, array('r', 'rb')) && !$this->hasWriteAccess()) { - return null; - } - - $file = $this->_packageFileName($package, $channel); - if (!file_exists($file) && $mode == 'r' || $mode == 'rb') { - return null; - } - - $fp = @fopen($file, $mode); - if (!$fp) { - return null; - } - - return $fp; - } - - function _closePackageFile($fp) - { - fclose($fp); - } - - function _openChannelFile($channel, $mode) - { - if (!$this->_assertChannelDir()) { - return null; - } - - if (!in_array($mode, array('r', 'rb')) && !$this->hasWriteAccess()) { - return null; - } - - $file = $this->_channelFileName($channel); - if (!file_exists($file) && $mode == 'r' || $mode == 'rb') { - return null; - } - - $fp = @fopen($file, $mode); - if (!$fp) { - return null; - } - - return $fp; - } - - function _closeChannelFile($fp) - { - fclose($fp); - } - - function _rebuildFileMap() - { - if (!class_exists('PEAR_Installer_Role')) { - require_once 'PEAR/Installer/Role.php'; - } - - $channels = $this->_listAllPackages(); - $files = array(); - foreach ($channels as $channel => $packages) { - foreach ($packages as $package) { - $version = $this->_packageInfo($package, 'version', $channel); - $filelist = $this->_packageInfo($package, 'filelist', $channel); - if (!is_array($filelist)) { - continue; - } - - foreach ($filelist as $name => $attrs) { - if (isset($attrs['attribs'])) { - $attrs = $attrs['attribs']; - } - - // it is possible for conflicting packages in different channels to - // conflict with data files/doc files - if ($name == 'dirtree') { - continue; - } - - if (isset($attrs['role']) && !in_array($attrs['role'], - PEAR_Installer_Role::getInstallableRoles())) { - // these are not installed - continue; - } - - if (isset($attrs['role']) && !in_array($attrs['role'], - PEAR_Installer_Role::getBaseinstallRoles())) { - $attrs['baseinstalldir'] = $package; - } - - if (isset($attrs['baseinstalldir'])) { - $file = $attrs['baseinstalldir'].DIRECTORY_SEPARATOR.$name; - } else { - $file = $name; - } - - $file = preg_replace(',^/+,', '', $file); - if ($channel != 'pear.php.net') { - if (!isset($files[$attrs['role']])) { - $files[$attrs['role']] = array(); - } - $files[$attrs['role']][$file] = array(strtolower($channel), - strtolower($package)); - } else { - if (!isset($files[$attrs['role']])) { - $files[$attrs['role']] = array(); - } - $files[$attrs['role']][$file] = strtolower($package); - } - } - } - } - - - $this->_assertStateDir(); - if (!$this->hasWriteAccess()) { - return false; - } - - $fp = @fopen($this->filemap, 'wb'); - if (!$fp) { - return false; - } - - $this->filemap_cache = $files; - fwrite($fp, serialize($files)); - fclose($fp); - return true; - } - - function _readFileMap() - { - if (!file_exists($this->filemap)) { - return array(); - } - - $fp = @fopen($this->filemap, 'r'); - if (!$fp) { - return $this->raiseError('PEAR_Registry: could not open filemap "' . $this->filemap . '"', PEAR_REGISTRY_ERROR_FILE, null, null, $php_errormsg); - } - - clearstatcache(); - $rt = get_magic_quotes_runtime(); - set_magic_quotes_runtime(0); - $fsize = filesize($this->filemap); - fclose($fp); - $data = file_get_contents($this->filemap); - set_magic_quotes_runtime($rt); - $tmp = unserialize($data); - if (!$tmp && $fsize > 7) { - return $this->raiseError('PEAR_Registry: invalid filemap data', PEAR_REGISTRY_ERROR_FORMAT, null, null, $data); - } - - $this->filemap_cache = $tmp; - return true; - } - - /** - * Lock the registry. - * - * @param integer lock mode, one of LOCK_EX, LOCK_SH or LOCK_UN. - * See flock manual for more information. - * - * @return bool TRUE on success, FALSE if locking failed, or a - * PEAR error if some other error occurs (such as the - * lock file not being writable). - * - * @access private - */ - function _lock($mode = LOCK_EX) - { - if (stristr(php_uname(), 'Windows 9')) { - return true; - } - - if ($mode != LOCK_UN && is_resource($this->lock_fp)) { - // XXX does not check type of lock (LOCK_SH/LOCK_EX) - return true; - } - - if (!$this->_assertStateDir()) { - if ($mode == LOCK_EX) { - return $this->raiseError('Registry directory is not writeable by the current user'); - } - - return true; - } - - $open_mode = 'w'; - // XXX People reported problems with LOCK_SH and 'w' - if ($mode === LOCK_SH || $mode === LOCK_UN) { - if (!file_exists($this->lockfile)) { - touch($this->lockfile); - } - $open_mode = 'r'; - } - - if (!is_resource($this->lock_fp)) { - $this->lock_fp = @fopen($this->lockfile, $open_mode); - } - - if (!is_resource($this->lock_fp)) { - $this->lock_fp = null; - return $this->raiseError("could not create lock file" . - (isset($php_errormsg) ? ": " . $php_errormsg : "")); - } - - if (!(int)flock($this->lock_fp, $mode)) { - switch ($mode) { - case LOCK_SH: $str = 'shared'; break; - case LOCK_EX: $str = 'exclusive'; break; - case LOCK_UN: $str = 'unlock'; break; - default: $str = 'unknown'; break; - } - - //is resource at this point, close it on error. - fclose($this->lock_fp); - $this->lock_fp = null; - return $this->raiseError("could not acquire $str lock ($this->lockfile)", - PEAR_REGISTRY_ERROR_LOCK); - } - - return true; - } - - function _unlock() - { - $ret = $this->_lock(LOCK_UN); - if (is_resource($this->lock_fp)) { - fclose($this->lock_fp); - } - - $this->lock_fp = null; - return $ret; - } - - function _packageExists($package, $channel = false) - { - return file_exists($this->_packageFileName($package, $channel)); - } - - /** - * Determine whether a channel exists in the registry - * - * @param string Channel name - * @param bool if true, then aliases will be ignored - * @return boolean - */ - function _channelExists($channel, $noaliases = false) - { - $a = file_exists($this->_channelFileName($channel, $noaliases)); - if (!$a && $channel == 'pear.php.net') { - return true; - } - - if (!$a && $channel == 'pecl.php.net') { - return true; - } - - if (!$a && $channel == 'doc.php.net') { - return true; - } - - return $a; - } - - /** - * Determine whether a mirror exists within the deafult channel in the registry - * - * @param string Channel name - * @param string Mirror name - * - * @return boolean - */ - function _mirrorExists($channel, $mirror) - { - $data = $this->_channelInfo($channel); - if (!isset($data['servers']['mirror'])) { - return false; - } - - foreach ($data['servers']['mirror'] as $m) { - if ($m['attribs']['host'] == $mirror) { - return true; - } - } - - return false; - } - - /** - * @param PEAR_ChannelFile Channel object - * @param donotuse - * @param string Last-Modified HTTP tag from remote request - * @return boolean|PEAR_Error True on creation, false if it already exists - */ - function _addChannel($channel, $update = false, $lastmodified = false) - { - if (!is_a($channel, 'PEAR_ChannelFile')) { - return false; - } - - if (!$channel->validate()) { - return false; - } - - if (file_exists($this->_channelFileName($channel->getName()))) { - if (!$update) { - return false; - } - - $checker = $this->_getChannel($channel->getName()); - if (PEAR::isError($checker)) { - return $checker; - } - - if ($channel->getAlias() != $checker->getAlias()) { - if (file_exists($this->_getChannelAliasFileName($checker->getAlias()))) { - @unlink($this->_getChannelAliasFileName($checker->getAlias())); - } - } - } else { - if ($update && !in_array($channel->getName(), array('pear.php.net', 'pecl.php.net', 'doc.php.net'))) { - return false; - } - } - - $ret = $this->_assertChannelDir(); - if (PEAR::isError($ret)) { - return $ret; - } - - $ret = $this->_assertChannelStateDir($channel->getName()); - if (PEAR::isError($ret)) { - return $ret; - } - - if ($channel->getAlias() != $channel->getName()) { - if (file_exists($this->_getChannelAliasFileName($channel->getAlias())) && - $this->_getChannelFromAlias($channel->getAlias()) != $channel->getName()) { - $channel->setAlias($channel->getName()); - } - - if (!$this->hasWriteAccess()) { - return false; - } - - $fp = @fopen($this->_getChannelAliasFileName($channel->getAlias()), 'w'); - if (!$fp) { - return false; - } - - fwrite($fp, $channel->getName()); - fclose($fp); - } - - if (!$this->hasWriteAccess()) { - return false; - } - - $fp = @fopen($this->_channelFileName($channel->getName()), 'wb'); - if (!$fp) { - return false; - } - - $info = $channel->toArray(); - if ($lastmodified) { - $info['_lastmodified'] = $lastmodified; - } else { - $info['_lastmodified'] = date('r'); - } - - fwrite($fp, serialize($info)); - fclose($fp); - return true; - } - - /** - * Deletion fails if there are any packages installed from the channel - * @param string|PEAR_ChannelFile channel name - * @return boolean|PEAR_Error True on deletion, false if it doesn't exist - */ - function _deleteChannel($channel) - { - if (!is_string($channel)) { - if (!is_a($channel, 'PEAR_ChannelFile')) { - return false; - } - - if (!$channel->validate()) { - return false; - } - $channel = $channel->getName(); - } - - if ($this->_getChannelFromAlias($channel) == '__uri') { - return false; - } - - if ($this->_getChannelFromAlias($channel) == 'pecl.php.net') { - return false; - } - - if ($this->_getChannelFromAlias($channel) == 'doc.php.net') { - return false; - } - - if (!$this->_channelExists($channel)) { - return false; - } - - if (!$channel || $this->_getChannelFromAlias($channel) == 'pear.php.net') { - return false; - } - - $channel = $this->_getChannelFromAlias($channel); - if ($channel == 'pear.php.net') { - return false; - } - - $test = $this->_listChannelPackages($channel); - if (count($test)) { - return false; - } - - $test = @rmdir($this->_channelDirectoryName($channel)); - if (!$test) { - return false; - } - - $file = $this->_getChannelAliasFileName($this->_getAlias($channel)); - if (file_exists($file)) { - $test = @unlink($file); - if (!$test) { - return false; - } - } - - $file = $this->_channelFileName($channel); - $ret = true; - if (file_exists($file)) { - $ret = @unlink($file); - } - - return $ret; - } - - /** - * Determine whether a channel exists in the registry - * @param string Channel Alias - * @return boolean - */ - function _isChannelAlias($alias) - { - return file_exists($this->_getChannelAliasFileName($alias)); - } - - /** - * @param string|null - * @param string|null - * @param string|null - * @return array|null - * @access private - */ - function _packageInfo($package = null, $key = null, $channel = 'pear.php.net') - { - if ($package === null) { - if ($channel === null) { - $channels = $this->_listChannels(); - $ret = array(); - foreach ($channels as $channel) { - $channel = strtolower($channel); - $ret[$channel] = array(); - $packages = $this->_listPackages($channel); - foreach ($packages as $package) { - $ret[$channel][] = $this->_packageInfo($package, null, $channel); - } - } - - return $ret; - } - - $ps = $this->_listPackages($channel); - if (!count($ps)) { - return array(); - } - return array_map(array(&$this, '_packageInfo'), - $ps, array_fill(0, count($ps), null), - array_fill(0, count($ps), $channel)); - } - - $fp = $this->_openPackageFile($package, 'r', $channel); - if ($fp === null) { - return null; - } - - $rt = get_magic_quotes_runtime(); - set_magic_quotes_runtime(0); - clearstatcache(); - $this->_closePackageFile($fp); - $data = file_get_contents($this->_packageFileName($package, $channel)); - set_magic_quotes_runtime($rt); - $data = unserialize($data); - if ($key === null) { - return $data; - } - - // compatibility for package.xml version 2.0 - if (isset($data['old'][$key])) { - return $data['old'][$key]; - } - - if (isset($data[$key])) { - return $data[$key]; - } - - return null; - } - - /** - * @param string Channel name - * @param bool whether to strictly retrieve info of channels, not just aliases - * @return array|null - */ - function _channelInfo($channel, $noaliases = false) - { - if (!$this->_channelExists($channel, $noaliases)) { - return null; - } - - $fp = $this->_openChannelFile($channel, 'r'); - if ($fp === null) { - return null; - } - - $rt = get_magic_quotes_runtime(); - set_magic_quotes_runtime(0); - clearstatcache(); - $this->_closeChannelFile($fp); - $data = file_get_contents($this->_channelFileName($channel)); - set_magic_quotes_runtime($rt); - $data = unserialize($data); - return $data; - } - - function _listChannels() - { - $channellist = array(); - if (!file_exists($this->channelsdir) || !is_dir($this->channelsdir)) { - return array('pear.php.net', 'pecl.php.net', 'doc.php.net', '__uri'); - } - - $dp = opendir($this->channelsdir); - while ($ent = readdir($dp)) { - if ($ent{0} == '.' || substr($ent, -4) != '.reg') { - continue; - } - - if ($ent == '__uri.reg') { - $channellist[] = '__uri'; - continue; - } - - $channellist[] = str_replace('_', '/', substr($ent, 0, -4)); - } - - closedir($dp); - if (!in_array('pear.php.net', $channellist)) { - $channellist[] = 'pear.php.net'; - } - - if (!in_array('pecl.php.net', $channellist)) { - $channellist[] = 'pecl.php.net'; - } - - if (!in_array('doc.php.net', $channellist)) { - $channellist[] = 'doc.php.net'; - } - - - if (!in_array('__uri', $channellist)) { - $channellist[] = '__uri'; - } - - natsort($channellist); - return $channellist; - } - - function _listPackages($channel = false) - { - if ($channel && $this->_getChannelFromAlias($channel) != 'pear.php.net') { - return $this->_listChannelPackages($channel); - } - - if (!file_exists($this->statedir) || !is_dir($this->statedir)) { - return array(); - } - - $pkglist = array(); - $dp = opendir($this->statedir); - if (!$dp) { - return $pkglist; - } - - while ($ent = readdir($dp)) { - if ($ent{0} == '.' || substr($ent, -4) != '.reg') { - continue; - } - - $pkglist[] = substr($ent, 0, -4); - } - closedir($dp); - return $pkglist; - } - - function _listChannelPackages($channel) - { - $pkglist = array(); - if (!file_exists($this->_channelDirectoryName($channel)) || - !is_dir($this->_channelDirectoryName($channel))) { - return array(); - } - - $dp = opendir($this->_channelDirectoryName($channel)); - if (!$dp) { - return $pkglist; - } - - while ($ent = readdir($dp)) { - if ($ent{0} == '.' || substr($ent, -4) != '.reg') { - continue; - } - $pkglist[] = substr($ent, 0, -4); - } - - closedir($dp); - return $pkglist; - } - - function _listAllPackages() - { - $ret = array(); - foreach ($this->_listChannels() as $channel) { - $ret[$channel] = $this->_listPackages($channel); - } - - return $ret; - } - - /** - * Add an installed package to the registry - * @param string package name - * @param array package info (parsed by PEAR_Common::infoFrom*() methods) - * @return bool success of saving - * @access private - */ - function _addPackage($package, $info) - { - if ($this->_packageExists($package)) { - return false; - } - - $fp = $this->_openPackageFile($package, 'wb'); - if ($fp === null) { - return false; - } - - $info['_lastmodified'] = time(); - fwrite($fp, serialize($info)); - $this->_closePackageFile($fp); - if (isset($info['filelist'])) { - $this->_rebuildFileMap(); - } - - return true; - } - - /** - * @param PEAR_PackageFile_v1|PEAR_PackageFile_v2 - * @return bool - * @access private - */ - function _addPackage2($info) - { - if (!is_a($info, 'PEAR_PackageFile_v1') && !is_a($info, 'PEAR_PackageFile_v2')) { - return false; - } - - if (!$info->validate()) { - if (class_exists('PEAR_Common')) { - $ui = PEAR_Frontend::singleton(); - if ($ui) { - foreach ($info->getValidationWarnings() as $err) { - $ui->log($err['message'], true); - } - } - } - return false; - } - - $channel = $info->getChannel(); - $package = $info->getPackage(); - $save = $info; - if ($this->_packageExists($package, $channel)) { - return false; - } - - if (!$this->_channelExists($channel, true)) { - return false; - } - - $info = $info->toArray(true); - if (!$info) { - return false; - } - - $fp = $this->_openPackageFile($package, 'wb', $channel); - if ($fp === null) { - return false; - } - - $info['_lastmodified'] = time(); - fwrite($fp, serialize($info)); - $this->_closePackageFile($fp); - $this->_rebuildFileMap(); - return true; - } - - /** - * @param string Package name - * @param array parsed package.xml 1.0 - * @param bool this parameter is only here for BC. Don't use it. - * @access private - */ - function _updatePackage($package, $info, $merge = true) - { - $oldinfo = $this->_packageInfo($package); - if (empty($oldinfo)) { - return false; - } - - $fp = $this->_openPackageFile($package, 'w'); - if ($fp === null) { - return false; - } - - if (is_object($info)) { - $info = $info->toArray(); - } - $info['_lastmodified'] = time(); - - $newinfo = $info; - if ($merge) { - $info = array_merge($oldinfo, $info); - } else { - $diff = $info; - } - - fwrite($fp, serialize($info)); - $this->_closePackageFile($fp); - if (isset($newinfo['filelist'])) { - $this->_rebuildFileMap(); - } - - return true; - } - - /** - * @param PEAR_PackageFile_v1|PEAR_PackageFile_v2 - * @return bool - * @access private - */ - function _updatePackage2($info) - { - if (!$this->_packageExists($info->getPackage(), $info->getChannel())) { - return false; - } - - $fp = $this->_openPackageFile($info->getPackage(), 'w', $info->getChannel()); - if ($fp === null) { - return false; - } - - $save = $info; - $info = $save->getArray(true); - $info['_lastmodified'] = time(); - fwrite($fp, serialize($info)); - $this->_closePackageFile($fp); - $this->_rebuildFileMap(); - return true; - } - - /** - * @param string Package name - * @param string Channel name - * @return PEAR_PackageFile_v1|PEAR_PackageFile_v2|null - * @access private - */ - function &_getPackage($package, $channel = 'pear.php.net') - { - $info = $this->_packageInfo($package, null, $channel); - if ($info === null) { - return $info; - } - - $a = $this->_config; - if (!$a) { - $this->_config = &new PEAR_Config; - $this->_config->set('php_dir', $this->statedir); - } - - if (!class_exists('PEAR_PackageFile')) { - require_once 'PEAR/PackageFile.php'; - } - - $pkg = &new PEAR_PackageFile($this->_config); - $pf = &$pkg->fromArray($info); - return $pf; - } - - /** - * @param string channel name - * @param bool whether to strictly retrieve channel names - * @return PEAR_ChannelFile|PEAR_Error - * @access private - */ - function &_getChannel($channel, $noaliases = false) - { - $ch = false; - if ($this->_channelExists($channel, $noaliases)) { - $chinfo = $this->_channelInfo($channel, $noaliases); - if ($chinfo) { - if (!class_exists('PEAR_ChannelFile')) { - require_once 'PEAR/ChannelFile.php'; - } - - $ch = &PEAR_ChannelFile::fromArrayWithErrors($chinfo); - } - } - - if ($ch) { - if ($ch->validate()) { - return $ch; - } - - foreach ($ch->getErrors(true) as $err) { - $message = $err['message'] . "\n"; - } - - $ch = PEAR::raiseError($message); - return $ch; - } - - if ($this->_getChannelFromAlias($channel) == 'pear.php.net') { - // the registry is not properly set up, so use defaults - if (!class_exists('PEAR_ChannelFile')) { - require_once 'PEAR/ChannelFile.php'; - } - - $pear_channel = new PEAR_ChannelFile; - $pear_channel->setServer('pear.php.net'); - $pear_channel->setAlias('pear'); - $pear_channel->setSummary('PHP Extension and Application Repository'); - $pear_channel->setDefaultPEARProtocols(); - $pear_channel->setBaseURL('REST1.0', 'http://pear.php.net/rest/'); - $pear_channel->setBaseURL('REST1.1', 'http://pear.php.net/rest/'); - $pear_channel->setBaseURL('REST1.3', 'http://pear.php.net/rest/'); - return $pear_channel; - } - - if ($this->_getChannelFromAlias($channel) == 'pecl.php.net') { - // the registry is not properly set up, so use defaults - if (!class_exists('PEAR_ChannelFile')) { - require_once 'PEAR/ChannelFile.php'; - } - $pear_channel = new PEAR_ChannelFile; - $pear_channel->setServer('pecl.php.net'); - $pear_channel->setAlias('pecl'); - $pear_channel->setSummary('PHP Extension Community Library'); - $pear_channel->setDefaultPEARProtocols(); - $pear_channel->setBaseURL('REST1.0', 'http://pecl.php.net/rest/'); - $pear_channel->setBaseURL('REST1.1', 'http://pecl.php.net/rest/'); - $pear_channel->setValidationPackage('PEAR_Validator_PECL', '1.0'); - return $pear_channel; - } - - if ($this->_getChannelFromAlias($channel) == 'doc.php.net') { - // the registry is not properly set up, so use defaults - if (!class_exists('PEAR_ChannelFile')) { - require_once 'PEAR/ChannelFile.php'; - } - - $doc_channel = new PEAR_ChannelFile; - $doc_channel->setServer('doc.php.net'); - $doc_channel->setAlias('phpdocs'); - $doc_channel->setSummary('PHP Documentation Team'); - $doc_channel->setDefaultPEARProtocols(); - $doc_channel->setBaseURL('REST1.0', 'http://doc.php.net/rest/'); - $doc_channel->setBaseURL('REST1.1', 'http://doc.php.net/rest/'); - $doc_channel->setBaseURL('REST1.3', 'http://doc.php.net/rest/'); - return $doc_channel; - } - - - if ($this->_getChannelFromAlias($channel) == '__uri') { - // the registry is not properly set up, so use defaults - if (!class_exists('PEAR_ChannelFile')) { - require_once 'PEAR/ChannelFile.php'; - } - - $private = new PEAR_ChannelFile; - $private->setName('__uri'); - $private->setDefaultPEARProtocols(); - $private->setBaseURL('REST1.0', '****'); - $private->setSummary('Pseudo-channel for static packages'); - return $private; - } - - return $ch; - } - - /** - * @param string Package name - * @param string Channel name - * @return bool - */ - function packageExists($package, $channel = 'pear.php.net') - { - if (PEAR::isError($e = $this->_lock(LOCK_SH))) { - return $e; - } - $ret = $this->_packageExists($package, $channel); - $this->_unlock(); - return $ret; - } - - // }}} - - // {{{ channelExists() - - /** - * @param string channel name - * @param bool if true, then aliases will be ignored - * @return bool - */ - function channelExists($channel, $noaliases = false) - { - if (PEAR::isError($e = $this->_lock(LOCK_SH))) { - return $e; - } - $ret = $this->_channelExists($channel, $noaliases); - $this->_unlock(); - return $ret; - } - - // }}} - - /** - * @param string channel name mirror is in - * @param string mirror name - * - * @return bool - */ - function mirrorExists($channel, $mirror) - { - if (PEAR::isError($e = $this->_lock(LOCK_SH))) { - return $e; - } - - $ret = $this->_mirrorExists($channel, $mirror); - $this->_unlock(); - return $ret; - } - - // {{{ isAlias() - - /** - * Determines whether the parameter is an alias of a channel - * @param string - * @return bool - */ - function isAlias($alias) - { - if (PEAR::isError($e = $this->_lock(LOCK_SH))) { - return $e; - } - $ret = $this->_isChannelAlias($alias); - $this->_unlock(); - return $ret; - } - - // }}} - // {{{ packageInfo() - - /** - * @param string|null - * @param string|null - * @param string - * @return array|null - */ - function packageInfo($package = null, $key = null, $channel = 'pear.php.net') - { - if (PEAR::isError($e = $this->_lock(LOCK_SH))) { - return $e; - } - $ret = $this->_packageInfo($package, $key, $channel); - $this->_unlock(); - return $ret; - } - - // }}} - // {{{ channelInfo() - - /** - * Retrieve a raw array of channel data. - * - * Do not use this, instead use {@link getChannel()} for normal - * operations. Array structure is undefined in this method - * @param string channel name - * @param bool whether to strictly retrieve information only on non-aliases - * @return array|null|PEAR_Error - */ - function channelInfo($channel = null, $noaliases = false) - { - if (PEAR::isError($e = $this->_lock(LOCK_SH))) { - return $e; - } - $ret = $this->_channelInfo($channel, $noaliases); - $this->_unlock(); - return $ret; - } - - // }}} - - /** - * @param string - */ - function channelName($channel) - { - if (PEAR::isError($e = $this->_lock(LOCK_SH))) { - return $e; - } - $ret = $this->_getChannelFromAlias($channel); - $this->_unlock(); - return $ret; - } - - /** - * @param string - */ - function channelAlias($channel) - { - if (PEAR::isError($e = $this->_lock(LOCK_SH))) { - return $e; - } - $ret = $this->_getAlias($channel); - $this->_unlock(); - return $ret; - } - // {{{ listPackages() - - function listPackages($channel = false) - { - if (PEAR::isError($e = $this->_lock(LOCK_SH))) { - return $e; - } - $ret = $this->_listPackages($channel); - $this->_unlock(); - return $ret; - } - - // }}} - // {{{ listAllPackages() - - function listAllPackages() - { - if (PEAR::isError($e = $this->_lock(LOCK_SH))) { - return $e; - } - $ret = $this->_listAllPackages(); - $this->_unlock(); - return $ret; - } - - // }}} - // {{{ listChannel() - - function listChannels() - { - if (PEAR::isError($e = $this->_lock(LOCK_SH))) { - return $e; - } - $ret = $this->_listChannels(); - $this->_unlock(); - return $ret; - } - - // }}} - // {{{ addPackage() - - /** - * Add an installed package to the registry - * @param string|PEAR_PackageFile_v1|PEAR_PackageFile_v2 package name or object - * that will be passed to {@link addPackage2()} - * @param array package info (parsed by PEAR_Common::infoFrom*() methods) - * @return bool success of saving - */ - function addPackage($package, $info) - { - if (is_object($info)) { - return $this->addPackage2($info); - } - if (PEAR::isError($e = $this->_lock(LOCK_EX))) { - return $e; - } - $ret = $this->_addPackage($package, $info); - $this->_unlock(); - if ($ret) { - if (!class_exists('PEAR_PackageFile_v1')) { - require_once 'PEAR/PackageFile/v1.php'; - } - $pf = new PEAR_PackageFile_v1; - $pf->setConfig($this->_config); - $pf->fromArray($info); - $this->_dependencyDB->uninstallPackage($pf); - $this->_dependencyDB->installPackage($pf); - } - return $ret; - } - - // }}} - // {{{ addPackage2() - - function addPackage2($info) - { - if (!is_object($info)) { - return $this->addPackage($info['package'], $info); - } - if (PEAR::isError($e = $this->_lock(LOCK_EX))) { - return $e; - } - $ret = $this->_addPackage2($info); - $this->_unlock(); - if ($ret) { - $this->_dependencyDB->uninstallPackage($info); - $this->_dependencyDB->installPackage($info); - } - return $ret; - } - - // }}} - // {{{ updateChannel() - - /** - * For future expandibility purposes, separate this - * @param PEAR_ChannelFile - */ - function updateChannel($channel, $lastmodified = null) - { - if ($channel->getName() == '__uri') { - return false; - } - return $this->addChannel($channel, $lastmodified, true); - } - - // }}} - // {{{ deleteChannel() - - /** - * Deletion fails if there are any packages installed from the channel - * @param string|PEAR_ChannelFile channel name - * @return boolean|PEAR_Error True on deletion, false if it doesn't exist - */ - function deleteChannel($channel) - { - if (PEAR::isError($e = $this->_lock(LOCK_EX))) { - return $e; - } - - $ret = $this->_deleteChannel($channel); - $this->_unlock(); - if ($ret && is_a($this->_config, 'PEAR_Config')) { - $this->_config->setChannels($this->listChannels()); - } - - return $ret; - } - - // }}} - // {{{ addChannel() - - /** - * @param PEAR_ChannelFile Channel object - * @param string Last-Modified header from HTTP for caching - * @return boolean|PEAR_Error True on creation, false if it already exists - */ - function addChannel($channel, $lastmodified = false, $update = false) - { - if (!is_a($channel, 'PEAR_ChannelFile') || !$channel->validate()) { - return false; - } - - if (PEAR::isError($e = $this->_lock(LOCK_EX))) { - return $e; - } - - $ret = $this->_addChannel($channel, $update, $lastmodified); - $this->_unlock(); - if (!$update && $ret && is_a($this->_config, 'PEAR_Config')) { - $this->_config->setChannels($this->listChannels()); - } - - return $ret; - } - - // }}} - // {{{ deletePackage() - - function deletePackage($package, $channel = 'pear.php.net') - { - if (PEAR::isError($e = $this->_lock(LOCK_EX))) { - return $e; - } - - $file = $this->_packageFileName($package, $channel); - $ret = file_exists($file) ? @unlink($file) : false; - $this->_rebuildFileMap(); - $this->_unlock(); - $p = array('channel' => $channel, 'package' => $package); - $this->_dependencyDB->uninstallPackage($p); - return $ret; - } - - // }}} - // {{{ updatePackage() - - function updatePackage($package, $info, $merge = true) - { - if (is_object($info)) { - return $this->updatePackage2($info, $merge); - } - if (PEAR::isError($e = $this->_lock(LOCK_EX))) { - return $e; - } - $ret = $this->_updatePackage($package, $info, $merge); - $this->_unlock(); - if ($ret) { - if (!class_exists('PEAR_PackageFile_v1')) { - require_once 'PEAR/PackageFile/v1.php'; - } - $pf = new PEAR_PackageFile_v1; - $pf->setConfig($this->_config); - $pf->fromArray($this->packageInfo($package)); - $this->_dependencyDB->uninstallPackage($pf); - $this->_dependencyDB->installPackage($pf); - } - return $ret; - } - - // }}} - // {{{ updatePackage2() - - function updatePackage2($info) - { - - if (!is_object($info)) { - return $this->updatePackage($info['package'], $info, $merge); - } - - if (!$info->validate(PEAR_VALIDATE_DOWNLOADING)) { - return false; - } - - if (PEAR::isError($e = $this->_lock(LOCK_EX))) { - return $e; - } - - $ret = $this->_updatePackage2($info); - $this->_unlock(); - if ($ret) { - $this->_dependencyDB->uninstallPackage($info); - $this->_dependencyDB->installPackage($info); - } - - return $ret; - } - - // }}} - // {{{ getChannel() - /** - * @param string channel name - * @param bool whether to strictly return raw channels (no aliases) - * @return PEAR_ChannelFile|PEAR_Error - */ - function &getChannel($channel, $noaliases = false) - { - if (PEAR::isError($e = $this->_lock(LOCK_SH))) { - return $e; - } - $ret = &$this->_getChannel($channel, $noaliases); - $this->_unlock(); - if (!$ret) { - return PEAR::raiseError('Unknown channel: ' . $channel); - } - return $ret; - } - - // }}} - // {{{ getPackage() - /** - * @param string package name - * @param string channel name - * @return PEAR_PackageFile_v1|PEAR_PackageFile_v2|null - */ - function &getPackage($package, $channel = 'pear.php.net') - { - if (PEAR::isError($e = $this->_lock(LOCK_SH))) { - return $e; - } - $pf = &$this->_getPackage($package, $channel); - $this->_unlock(); - return $pf; - } - - // }}} - - /** - * Get PEAR_PackageFile_v[1/2] objects representing the contents of - * a dependency group that are installed. - * - * This is used at uninstall-time - * @param array - * @return array|false - */ - function getInstalledGroup($group) - { - $ret = array(); - if (isset($group['package'])) { - if (!isset($group['package'][0])) { - $group['package'] = array($group['package']); - } - foreach ($group['package'] as $package) { - $depchannel = isset($package['channel']) ? $package['channel'] : '__uri'; - $p = &$this->getPackage($package['name'], $depchannel); - if ($p) { - $save = &$p; - $ret[] = &$save; - } - } - } - if (isset($group['subpackage'])) { - if (!isset($group['subpackage'][0])) { - $group['subpackage'] = array($group['subpackage']); - } - foreach ($group['subpackage'] as $package) { - $depchannel = isset($package['channel']) ? $package['channel'] : '__uri'; - $p = &$this->getPackage($package['name'], $depchannel); - if ($p) { - $save = &$p; - $ret[] = &$save; - } - } - } - if (!count($ret)) { - return false; - } - return $ret; - } - - // {{{ getChannelValidator() - /** - * @param string channel name - * @return PEAR_Validate|false - */ - function &getChannelValidator($channel) - { - $chan = $this->getChannel($channel); - if (PEAR::isError($chan)) { - return $chan; - } - $val = $chan->getValidationObject(); - return $val; - } - // }}} - // {{{ getChannels() - /** - * @param string channel name - * @return array an array of PEAR_ChannelFile objects representing every installed channel - */ - function &getChannels() - { - $ret = array(); - if (PEAR::isError($e = $this->_lock(LOCK_SH))) { - return $e; - } - foreach ($this->_listChannels() as $channel) { - $e = &$this->_getChannel($channel); - if (!$e || PEAR::isError($e)) { - continue; - } - $ret[] = $e; - } - $this->_unlock(); - return $ret; - } - - // }}} - // {{{ checkFileMap() - - /** - * Test whether a file or set of files belongs to a package. - * - * If an array is passed in - * @param string|array file path, absolute or relative to the pear - * install dir - * @param string|array name of PEAR package or array('package' => name, 'channel' => - * channel) of a package that will be ignored - * @param string API version - 1.1 will exclude any files belonging to a package - * @param array private recursion variable - * @return array|false which package and channel the file belongs to, or an empty - * string if the file does not belong to an installed package, - * or belongs to the second parameter's package - */ - function checkFileMap($path, $package = false, $api = '1.0', $attrs = false) - { - if (is_array($path)) { - static $notempty; - if (empty($notempty)) { - if (!class_exists('PEAR_Installer_Role')) { - require_once 'PEAR/Installer/Role.php'; - } - $notempty = create_function('$a','return !empty($a);'); - } - $package = is_array($package) ? array(strtolower($package[0]), strtolower($package[1])) - : strtolower($package); - $pkgs = array(); - foreach ($path as $name => $attrs) { - if (is_array($attrs)) { - if (isset($attrs['install-as'])) { - $name = $attrs['install-as']; - } - if (!in_array($attrs['role'], PEAR_Installer_Role::getInstallableRoles())) { - // these are not installed - continue; - } - if (!in_array($attrs['role'], PEAR_Installer_Role::getBaseinstallRoles())) { - $attrs['baseinstalldir'] = is_array($package) ? $package[1] : $package; - } - if (isset($attrs['baseinstalldir'])) { - $name = $attrs['baseinstalldir'] . DIRECTORY_SEPARATOR . $name; - } - } - $pkgs[$name] = $this->checkFileMap($name, $package, $api, $attrs); - if (PEAR::isError($pkgs[$name])) { - return $pkgs[$name]; - } - } - return array_filter($pkgs, $notempty); - } - if (empty($this->filemap_cache)) { - if (PEAR::isError($e = $this->_lock(LOCK_SH))) { - return $e; - } - $err = $this->_readFileMap(); - $this->_unlock(); - if (PEAR::isError($err)) { - return $err; - } - } - if (!$attrs) { - $attrs = array('role' => 'php'); // any old call would be for PHP role only - } - if (isset($this->filemap_cache[$attrs['role']][$path])) { - if ($api >= '1.1' && $this->filemap_cache[$attrs['role']][$path] == $package) { - return false; - } - return $this->filemap_cache[$attrs['role']][$path]; - } - $l = strlen($this->install_dir); - if (substr($path, 0, $l) == $this->install_dir) { - $path = preg_replace('!^'.DIRECTORY_SEPARATOR.'+!', '', substr($path, $l)); - } - if (isset($this->filemap_cache[$attrs['role']][$path])) { - if ($api >= '1.1' && $this->filemap_cache[$attrs['role']][$path] == $package) { - return false; - } - return $this->filemap_cache[$attrs['role']][$path]; - } - return false; - } - - // }}} - // {{{ flush() - /** - * Force a reload of the filemap - * @since 1.5.0RC3 - */ - function flushFileMap() - { - $this->filemap_cache = null; - clearstatcache(); // ensure that the next read gets the full, current filemap - } - - // }}} - // {{{ apiVersion() - /** - * Get the expected API version. Channels API is version 1.1, as it is backwards - * compatible with 1.0 - * @return string - */ - function apiVersion() - { - return '1.1'; - } - // }}} - - - /** - * Parse a package name, or validate a parsed package name array - * @param string|array pass in an array of format - * array( - * 'package' => 'pname', - * ['channel' => 'channame',] - * ['version' => 'version',] - * ['state' => 'state',] - * ['group' => 'groupname']) - * or a string of format - * [channel://][channame/]pname[-version|-state][/group=groupname] - * @return array|PEAR_Error - */ - function parsePackageName($param, $defaultchannel = 'pear.php.net') - { - $saveparam = $param; - if (is_array($param)) { - // convert to string for error messages - $saveparam = $this->parsedPackageNameToString($param); - // process the array - if (!isset($param['package'])) { - return PEAR::raiseError('parsePackageName(): array $param ' . - 'must contain a valid package name in index "param"', - 'package', null, null, $param); - } - if (!isset($param['uri'])) { - if (!isset($param['channel'])) { - $param['channel'] = $defaultchannel; - } - } else { - $param['channel'] = '__uri'; - } - } else { - $components = @parse_url((string) $param); - if (isset($components['scheme'])) { - if ($components['scheme'] == 'http') { - // uri package - $param = array('uri' => $param, 'channel' => '__uri'); - } elseif($components['scheme'] != 'channel') { - return PEAR::raiseError('parsePackageName(): only channel:// uris may ' . - 'be downloaded, not "' . $param . '"', 'invalid', null, null, $param); - } - } - if (!isset($components['path'])) { - return PEAR::raiseError('parsePackageName(): array $param ' . - 'must contain a valid package name in "' . $param . '"', - 'package', null, null, $param); - } - if (isset($components['host'])) { - // remove the leading "/" - $components['path'] = substr($components['path'], 1); - } - if (!isset($components['scheme'])) { - if (strpos($components['path'], '/') !== false) { - if ($components['path']{0} == '/') { - return PEAR::raiseError('parsePackageName(): this is not ' . - 'a package name, it begins with "/" in "' . $param . '"', - 'invalid', null, null, $param); - } - $parts = explode('/', $components['path']); - $components['host'] = array_shift($parts); - if (count($parts) > 1) { - $components['path'] = array_pop($parts); - $components['host'] .= '/' . implode('/', $parts); - } else { - $components['path'] = implode('/', $parts); - } - } else { - $components['host'] = $defaultchannel; - } - } else { - if (strpos($components['path'], '/')) { - $parts = explode('/', $components['path']); - $components['path'] = array_pop($parts); - $components['host'] .= '/' . implode('/', $parts); - } - } - - if (is_array($param)) { - $param['package'] = $components['path']; - } else { - $param = array( - 'package' => $components['path'] - ); - if (isset($components['host'])) { - $param['channel'] = $components['host']; - } - } - if (isset($components['fragment'])) { - $param['group'] = $components['fragment']; - } - if (isset($components['user'])) { - $param['user'] = $components['user']; - } - if (isset($components['pass'])) { - $param['pass'] = $components['pass']; - } - if (isset($components['query'])) { - parse_str($components['query'], $param['opts']); - } - // check for extension - $pathinfo = pathinfo($param['package']); - if (isset($pathinfo['extension']) && - in_array(strtolower($pathinfo['extension']), array('tgz', 'tar'))) { - $param['extension'] = $pathinfo['extension']; - $param['package'] = substr($pathinfo['basename'], 0, - strlen($pathinfo['basename']) - 4); - } - // check for version - if (strpos($param['package'], '-')) { - $test = explode('-', $param['package']); - if (count($test) != 2) { - return PEAR::raiseError('parsePackageName(): only one version/state ' . - 'delimiter "-" is allowed in "' . $saveparam . '"', - 'version', null, null, $param); - } - list($param['package'], $param['version']) = $test; - } - } - // validation - $info = $this->channelExists($param['channel']); - if (PEAR::isError($info)) { - return $info; - } - if (!$info) { - return PEAR::raiseError('unknown channel "' . $param['channel'] . - '" in "' . $saveparam . '"', 'channel', null, null, $param); - } - $chan = $this->getChannel($param['channel']); - if (PEAR::isError($chan)) { - return $chan; - } - if (!$chan) { - return PEAR::raiseError("Exception: corrupt registry, could not " . - "retrieve channel " . $param['channel'] . " information", - 'registry', null, null, $param); - } - $param['channel'] = $chan->getName(); - $validate = $chan->getValidationObject(); - $vpackage = $chan->getValidationPackage(); - // validate package name - if (!$validate->validPackageName($param['package'], $vpackage['_content'])) { - return PEAR::raiseError('parsePackageName(): invalid package name "' . - $param['package'] . '" in "' . $saveparam . '"', - 'package', null, null, $param); - } - if (isset($param['group'])) { - if (!PEAR_Validate::validGroupName($param['group'])) { - return PEAR::raiseError('parsePackageName(): dependency group "' . $param['group'] . - '" is not a valid group name in "' . $saveparam . '"', 'group', null, null, - $param); - } - } - if (isset($param['state'])) { - if (!in_array(strtolower($param['state']), $validate->getValidStates())) { - return PEAR::raiseError('parsePackageName(): state "' . $param['state'] - . '" is not a valid state in "' . $saveparam . '"', - 'state', null, null, $param); - } - } - if (isset($param['version'])) { - if (isset($param['state'])) { - return PEAR::raiseError('parsePackageName(): cannot contain both ' . - 'a version and a stability (state) in "' . $saveparam . '"', - 'version/state', null, null, $param); - } - // check whether version is actually a state - if (in_array(strtolower($param['version']), $validate->getValidStates())) { - $param['state'] = strtolower($param['version']); - unset($param['version']); - } else { - if (!$validate->validVersion($param['version'])) { - return PEAR::raiseError('parsePackageName(): "' . $param['version'] . - '" is neither a valid version nor a valid state in "' . - $saveparam . '"', 'version/state', null, null, $param); - } - } - } - return $param; - } - - /** - * @param array - * @return string - */ - function parsedPackageNameToString($parsed, $brief = false) - { - if (is_string($parsed)) { - return $parsed; - } - if (is_object($parsed)) { - $p = $parsed; - $parsed = array( - 'package' => $p->getPackage(), - 'channel' => $p->getChannel(), - 'version' => $p->getVersion(), - ); - } - if (isset($parsed['uri'])) { - return $parsed['uri']; - } - if ($brief) { - if ($channel = $this->channelAlias($parsed['channel'])) { - return $channel . '/' . $parsed['package']; - } - } - $upass = ''; - if (isset($parsed['user'])) { - $upass = $parsed['user']; - if (isset($parsed['pass'])) { - $upass .= ':' . $parsed['pass']; - } - $upass = "$upass@"; - } - $ret = 'channel://' . $upass . $parsed['channel'] . '/' . $parsed['package']; - if (isset($parsed['version']) || isset($parsed['state'])) { - $ver = isset($parsed['version']) ? $parsed['version'] : ''; - $ver .= isset($parsed['state']) ? $parsed['state'] : ''; - $ret .= '-' . $ver; - } - if (isset($parsed['extension'])) { - $ret .= '.' . $parsed['extension']; - } - if (isset($parsed['opts'])) { - $ret .= '?'; - foreach ($parsed['opts'] as $name => $value) { - $parsed['opts'][$name] = "$name=$value"; - } - $ret .= implode('&', $parsed['opts']); - } - if (isset($parsed['group'])) { - $ret .= '#' . $parsed['group']; - } - return $ret; - } -} \ No newline at end of file diff --git a/3rdparty/PEAR/Remote.php b/3rdparty/PEAR/Remote.php deleted file mode 100644 index 7b1e314f903af685e4481fdd8289ede22ccdb8f9..0000000000000000000000000000000000000000 --- a/3rdparty/PEAR/Remote.php +++ /dev/null @@ -1,394 +0,0 @@ - | -// +----------------------------------------------------------------------+ -// -// $Id: Remote.php,v 1.50 2004/06/08 18:03:46 cellog Exp $ - -require_once 'PEAR.php'; -require_once 'PEAR/Config.php'; - -/** - * This is a class for doing remote operations against the central - * PEAR database. - * - * @nodep XML_RPC_Value - * @nodep XML_RPC_Message - * @nodep XML_RPC_Client - */ -class PEAR_Remote extends PEAR -{ - // {{{ properties - - var $config = null; - var $cache = null; - - // }}} - - // {{{ PEAR_Remote(config_object) - - function PEAR_Remote(&$config) - { - $this->PEAR(); - $this->config = &$config; - } - - // }}} - - // {{{ getCache() - - - function getCache($args) - { - $id = md5(serialize($args)); - $cachedir = $this->config->get('cache_dir'); - $filename = $cachedir . DIRECTORY_SEPARATOR . 'xmlrpc_cache_' . $id; - if (!file_exists($filename)) { - return null; - }; - - $fp = fopen($filename, 'rb'); - if (!$fp) { - return null; - } - $content = fread($fp, filesize($filename)); - fclose($fp); - $result = array( - 'age' => time() - filemtime($filename), - 'lastChange' => filemtime($filename), - 'content' => unserialize($content), - ); - return $result; - } - - // }}} - - // {{{ saveCache() - - function saveCache($args, $data) - { - $id = md5(serialize($args)); - $cachedir = $this->config->get('cache_dir'); - if (!file_exists($cachedir)) { - System::mkdir(array('-p', $cachedir)); - } - $filename = $cachedir.'/xmlrpc_cache_'.$id; - - $fp = @fopen($filename, "wb"); - if ($fp) { - fwrite($fp, serialize($data)); - fclose($fp); - }; - } - - // }}} - - // {{{ call(method, [args...]) - - function call($method) - { - $_args = $args = func_get_args(); - - $this->cache = $this->getCache($args); - $cachettl = $this->config->get('cache_ttl'); - // If cache is newer than $cachettl seconds, we use the cache! - if ($this->cache !== null && $this->cache['age'] < $cachettl) { - return $this->cache['content']; - }; - - if (extension_loaded("xmlrpc")) { - $result = call_user_func_array(array(&$this, 'call_epi'), $args); - if (!PEAR::isError($result)) { - $this->saveCache($_args, $result); - }; - return $result; - } - if (!@include_once("XML/RPC.php")) { - return $this->raiseError("For this remote PEAR operation you need to install the XML_RPC package"); - } - array_shift($args); - $server_host = $this->config->get('master_server'); - $username = $this->config->get('username'); - $password = $this->config->get('password'); - $eargs = array(); - foreach($args as $arg) $eargs[] = $this->_encode($arg); - $f = new XML_RPC_Message($method, $eargs); - if ($this->cache !== null) { - $maxAge = '?maxAge='.$this->cache['lastChange']; - } else { - $maxAge = ''; - }; - $proxy_host = $proxy_port = $proxy_user = $proxy_pass = ''; - if ($proxy = parse_url($this->config->get('http_proxy'))) { - $proxy_host = @$proxy['host']; - $proxy_port = @$proxy['port']; - $proxy_user = @urldecode(@$proxy['user']); - $proxy_pass = @urldecode(@$proxy['pass']); - } - $c = new XML_RPC_Client('/xmlrpc.php'.$maxAge, $server_host, 80, $proxy_host, $proxy_port, $proxy_user, $proxy_pass); - if ($username && $password) { - $c->setCredentials($username, $password); - } - if ($this->config->get('verbose') >= 3) { - $c->setDebug(1); - } - $r = $c->send($f); - if (!$r) { - return $this->raiseError("XML_RPC send failed"); - } - $v = $r->value(); - if ($e = $r->faultCode()) { - if ($e == $GLOBALS['XML_RPC_err']['http_error'] && strstr($r->faultString(), '304 Not Modified') !== false) { - return $this->cache['content']; - } - return $this->raiseError($r->faultString(), $e); - } - - $result = XML_RPC_decode($v); - $this->saveCache($_args, $result); - return $result; - } - - // }}} - - // {{{ call_epi(method, [args...]) - - function call_epi($method) - { - do { - if (extension_loaded("xmlrpc")) { - break; - } - if (OS_WINDOWS) { - $ext = 'dll'; - } elseif (PHP_OS == 'HP-UX') { - $ext = 'sl'; - } elseif (PHP_OS == 'AIX') { - $ext = 'a'; - } else { - $ext = 'so'; - } - $ext = OS_WINDOWS ? 'dll' : 'so'; - @dl("xmlrpc-epi.$ext"); - if (extension_loaded("xmlrpc")) { - break; - } - @dl("xmlrpc.$ext"); - if (extension_loaded("xmlrpc")) { - break; - } - return $this->raiseError("unable to load xmlrpc extension"); - } while (false); - $params = func_get_args(); - array_shift($params); - $method = str_replace("_", ".", $method); - $request = xmlrpc_encode_request($method, $params); - $server_host = $this->config->get("master_server"); - if (empty($server_host)) { - return $this->raiseError("PEAR_Remote::call: no master_server configured"); - } - $server_port = 80; - if ($http_proxy = $this->config->get('http_proxy')) { - $proxy = parse_url($http_proxy); - $proxy_host = $proxy_port = $proxy_user = $proxy_pass = ''; - $proxy_host = @$proxy['host']; - $proxy_port = @$proxy['port']; - $proxy_user = @urldecode(@$proxy['user']); - $proxy_pass = @urldecode(@$proxy['pass']); - $fp = @fsockopen($proxy_host, $proxy_port); - $use_proxy = true; - } else { - $use_proxy = false; - $fp = @fsockopen($server_host, $server_port); - } - if (!$fp && $http_proxy) { - return $this->raiseError("PEAR_Remote::call: fsockopen(`$proxy_host', $proxy_port) failed"); - } elseif (!$fp) { - return $this->raiseError("PEAR_Remote::call: fsockopen(`$server_host', $server_port) failed"); - } - $len = strlen($request); - $req_headers = "Host: $server_host:$server_port\r\n" . - "Content-type: text/xml\r\n" . - "Content-length: $len\r\n"; - $username = $this->config->get('username'); - $password = $this->config->get('password'); - if ($username && $password) { - $req_headers .= "Cookie: PEAR_USER=$username; PEAR_PW=$password\r\n"; - $tmp = base64_encode("$username:$password"); - $req_headers .= "Authorization: Basic $tmp\r\n"; - } - if ($this->cache !== null) { - $maxAge = '?maxAge='.$this->cache['lastChange']; - } else { - $maxAge = ''; - }; - - if ($use_proxy && $proxy_host != '' && $proxy_user != '') { - $req_headers .= 'Proxy-Authorization: Basic ' - .base64_encode($proxy_user.':'.$proxy_pass) - ."\r\n"; - } - - if ($this->config->get('verbose') > 3) { - print "XMLRPC REQUEST HEADERS:\n"; - var_dump($req_headers); - print "XMLRPC REQUEST BODY:\n"; - var_dump($request); - } - - if ($use_proxy && $proxy_host != '') { - $post_string = "POST http://".$server_host; - if ($proxy_port > '') { - $post_string .= ':'.$server_port; - } - } else { - $post_string = "POST "; - } - - fwrite($fp, ($post_string."/xmlrpc.php$maxAge HTTP/1.0\r\n$req_headers\r\n$request")); - $response = ''; - $line1 = fgets($fp, 2048); - if (!preg_match('!^HTTP/[0-9\.]+ (\d+) (.*)!', $line1, $matches)) { - return $this->raiseError("PEAR_Remote: invalid HTTP response from XML-RPC server"); - } - switch ($matches[1]) { - case "200": // OK - break; - case "304": // Not Modified - return $this->cache['content']; - case "401": // Unauthorized - if ($username && $password) { - return $this->raiseError("PEAR_Remote: authorization failed", 401); - } else { - return $this->raiseError("PEAR_Remote: authorization required, please log in first", 401); - } - default: - return $this->raiseError("PEAR_Remote: unexpected HTTP response", (int)$matches[1], null, null, "$matches[1] $matches[2]"); - } - while (trim(fgets($fp, 2048)) != ''); // skip rest of headers - while ($chunk = fread($fp, 10240)) { - $response .= $chunk; - } - fclose($fp); - if ($this->config->get('verbose') > 3) { - print "XMLRPC RESPONSE:\n"; - var_dump($response); - } - $ret = xmlrpc_decode($response); - if (is_array($ret) && isset($ret['__PEAR_TYPE__'])) { - if ($ret['__PEAR_TYPE__'] == 'error') { - if (isset($ret['__PEAR_CLASS__'])) { - $class = $ret['__PEAR_CLASS__']; - } else { - $class = "PEAR_Error"; - } - if ($ret['code'] === '') $ret['code'] = null; - if ($ret['message'] === '') $ret['message'] = null; - if ($ret['userinfo'] === '') $ret['userinfo'] = null; - if (strtolower($class) == 'db_error') { - $ret = $this->raiseError(PEAR::errorMessage($ret['code']), - $ret['code'], null, null, - $ret['userinfo']); - } else { - $ret = $this->raiseError($ret['message'], $ret['code'], - null, null, $ret['userinfo']); - } - } - } elseif (is_array($ret) && sizeof($ret) == 1 && isset($ret[0]) - && is_array($ret[0]) && - !empty($ret[0]['faultString']) && - !empty($ret[0]['faultCode'])) { - extract($ret[0]); - $faultString = "XML-RPC Server Fault: " . - str_replace("\n", " ", $faultString); - return $this->raiseError($faultString, $faultCode); - } - return $ret; - } - - // }}} - - // {{{ _encode - - // a slightly extended version of XML_RPC_encode - function _encode($php_val) - { - global $XML_RPC_Boolean, $XML_RPC_Int, $XML_RPC_Double; - global $XML_RPC_String, $XML_RPC_Array, $XML_RPC_Struct; - - $type = gettype($php_val); - $xmlrpcval = new XML_RPC_Value; - - switch($type) { - case "array": - reset($php_val); - $firstkey = key($php_val); - end($php_val); - $lastkey = key($php_val); - if ($firstkey === 0 && is_int($lastkey) && - ($lastkey + 1) == count($php_val)) { - $is_continuous = true; - reset($php_val); - $size = count($php_val); - for ($expect = 0; $expect < $size; $expect++, next($php_val)) { - if (key($php_val) !== $expect) { - $is_continuous = false; - break; - } - } - if ($is_continuous) { - reset($php_val); - $arr = array(); - while (list($k, $v) = each($php_val)) { - $arr[$k] = $this->_encode($v); - } - $xmlrpcval->addArray($arr); - break; - } - } - // fall though if not numerical and continuous - case "object": - $arr = array(); - while (list($k, $v) = each($php_val)) { - $arr[$k] = $this->_encode($v); - } - $xmlrpcval->addStruct($arr); - break; - case "integer": - $xmlrpcval->addScalar($php_val, $XML_RPC_Int); - break; - case "double": - $xmlrpcval->addScalar($php_val, $XML_RPC_Double); - break; - case "string": - case "NULL": - $xmlrpcval->addScalar($php_val, $XML_RPC_String); - break; - case "boolean": - $xmlrpcval->addScalar($php_val, $XML_RPC_Boolean); - break; - case "unknown type": - default: - return null; - } - return $xmlrpcval; - } - - // }}} - -} - -?> diff --git a/3rdparty/PEAR/RunTest.php b/3rdparty/PEAR/RunTest.php deleted file mode 100644 index 5182490697015f3954aa05c924a80f6f58c47ed3..0000000000000000000000000000000000000000 --- a/3rdparty/PEAR/RunTest.php +++ /dev/null @@ -1,968 +0,0 @@ - - * @author Greg Beaver - * @copyright 1997-2009 The Authors - * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: RunTest.php 313024 2011-07-06 19:51:24Z dufuz $ - * @link http://pear.php.net/package/PEAR - * @since File available since Release 1.3.3 - */ - -/** - * for error handling - */ -require_once 'PEAR.php'; -require_once 'PEAR/Config.php'; - -define('DETAILED', 1); -putenv("PHP_PEAR_RUNTESTS=1"); - -/** - * Simplified version of PHP's test suite - * - * Try it with: - * - * $ php -r 'include "../PEAR/RunTest.php"; $t=new PEAR_RunTest; $o=$t->run("./pear_system.phpt");print_r($o);' - * - * - * @category pear - * @package PEAR - * @author Tomas V.V.Cox - * @author Greg Beaver - * @copyright 1997-2009 The Authors - * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.4 - * @link http://pear.php.net/package/PEAR - * @since Class available since Release 1.3.3 - */ -class PEAR_RunTest -{ - var $_headers = array(); - var $_logger; - var $_options; - var $_php; - var $tests_count; - var $xdebug_loaded; - /** - * Saved value of php executable, used to reset $_php when we - * have a test that uses cgi - * - * @var unknown_type - */ - var $_savephp; - var $ini_overwrites = array( - 'output_handler=', - 'open_basedir=', - 'safe_mode=0', - 'disable_functions=', - 'output_buffering=Off', - 'display_errors=1', - 'log_errors=0', - 'html_errors=0', - 'track_errors=1', - 'report_memleaks=0', - 'report_zend_debug=0', - 'docref_root=', - 'docref_ext=.html', - 'error_prepend_string=', - 'error_append_string=', - 'auto_prepend_file=', - 'auto_append_file=', - 'magic_quotes_runtime=0', - 'xdebug.default_enable=0', - 'allow_url_fopen=1', - ); - - /** - * An object that supports the PEAR_Common->log() signature, or null - * @param PEAR_Common|null - */ - function PEAR_RunTest($logger = null, $options = array()) - { - if (!defined('E_DEPRECATED')) { - define('E_DEPRECATED', 0); - } - if (!defined('E_STRICT')) { - define('E_STRICT', 0); - } - $this->ini_overwrites[] = 'error_reporting=' . (E_ALL & ~(E_DEPRECATED | E_STRICT)); - if (is_null($logger)) { - require_once 'PEAR/Common.php'; - $logger = new PEAR_Common; - } - $this->_logger = $logger; - $this->_options = $options; - - $conf = &PEAR_Config::singleton(); - $this->_php = $conf->get('php_bin'); - } - - /** - * Taken from php-src/run-tests.php - * - * @param string $commandline command name - * @param array $env - * @param string $stdin standard input to pass to the command - * @return unknown - */ - function system_with_timeout($commandline, $env = null, $stdin = null) - { - $data = ''; - if (version_compare(phpversion(), '5.0.0', '<')) { - $proc = proc_open($commandline, array( - 0 => array('pipe', 'r'), - 1 => array('pipe', 'w'), - 2 => array('pipe', 'w') - ), $pipes); - } else { - $proc = proc_open($commandline, array( - 0 => array('pipe', 'r'), - 1 => array('pipe', 'w'), - 2 => array('pipe', 'w') - ), $pipes, null, $env, array('suppress_errors' => true)); - } - - if (!$proc) { - return false; - } - - if (is_string($stdin)) { - fwrite($pipes[0], $stdin); - } - fclose($pipes[0]); - - while (true) { - /* hide errors from interrupted syscalls */ - $r = $pipes; - $e = $w = null; - $n = @stream_select($r, $w, $e, 60); - - if ($n === 0) { - /* timed out */ - $data .= "\n ** ERROR: process timed out **\n"; - proc_terminate($proc); - return array(1234567890, $data); - } else if ($n > 0) { - $line = fread($pipes[1], 8192); - if (strlen($line) == 0) { - /* EOF */ - break; - } - $data .= $line; - } - } - if (function_exists('proc_get_status')) { - $stat = proc_get_status($proc); - if ($stat['signaled']) { - $data .= "\nTermsig=".$stat['stopsig']; - } - } - $code = proc_close($proc); - if (function_exists('proc_get_status')) { - $code = $stat['exitcode']; - } - return array($code, $data); - } - - /** - * Turns a PHP INI string into an array - * - * Turns -d "include_path=/foo/bar" into this: - * array( - * 'include_path' => array( - * 'operator' => '-d', - * 'value' => '/foo/bar', - * ) - * ) - * Works both with quotes and without - * - * @param string an PHP INI string, -d "include_path=/foo/bar" - * @return array - */ - function iniString2array($ini_string) - { - if (!$ini_string) { - return array(); - } - $split = preg_split('/[\s]|=/', $ini_string, -1, PREG_SPLIT_NO_EMPTY); - $key = $split[1][0] == '"' ? substr($split[1], 1) : $split[1]; - $value = $split[2][strlen($split[2]) - 1] == '"' ? substr($split[2], 0, -1) : $split[2]; - // FIXME review if this is really the struct to go with - $array = array($key => array('operator' => $split[0], 'value' => $value)); - return $array; - } - - function settings2array($settings, $ini_settings) - { - foreach ($settings as $setting) { - if (strpos($setting, '=') !== false) { - $setting = explode('=', $setting, 2); - $name = trim(strtolower($setting[0])); - $value = trim($setting[1]); - $ini_settings[$name] = $value; - } - } - return $ini_settings; - } - - function settings2params($ini_settings) - { - $settings = ''; - foreach ($ini_settings as $name => $value) { - if (is_array($value)) { - $operator = $value['operator']; - $value = $value['value']; - } else { - $operator = '-d'; - } - $value = addslashes($value); - $settings .= " $operator \"$name=$value\""; - } - return $settings; - } - - function _preparePhpBin($php, $file, $ini_settings) - { - $file = escapeshellarg($file); - // This was fixed in php 5.3 and is not needed after that - if (OS_WINDOWS && version_compare(PHP_VERSION, '5.3', '<')) { - $cmd = '"'.escapeshellarg($php).' '.$ini_settings.' -f ' . $file .'"'; - } else { - $cmd = $php . $ini_settings . ' -f ' . $file; - } - - return $cmd; - } - - function runPHPUnit($file, $ini_settings = '') - { - if (!file_exists($file) && file_exists(getcwd() . DIRECTORY_SEPARATOR . $file)) { - $file = realpath(getcwd() . DIRECTORY_SEPARATOR . $file); - } elseif (file_exists($file)) { - $file = realpath($file); - } - - $cmd = $this->_preparePhpBin($this->_php, $file, $ini_settings); - if (isset($this->_logger)) { - $this->_logger->log(2, 'Running command "' . $cmd . '"'); - } - - $savedir = getcwd(); // in case the test moves us around - chdir(dirname($file)); - echo `$cmd`; - chdir($savedir); - return 'PASSED'; // we have no way of knowing this information so assume passing - } - - /** - * Runs an individual test case. - * - * @param string The filename of the test - * @param array|string INI settings to be applied to the test run - * @param integer Number what the current running test is of the - * whole test suite being runned. - * - * @return string|object Returns PASSED, WARNED, FAILED depending on how the - * test came out. - * PEAR Error when the tester it self fails - */ - function run($file, $ini_settings = array(), $test_number = 1) - { - if (isset($this->_savephp)) { - $this->_php = $this->_savephp; - unset($this->_savephp); - } - if (empty($this->_options['cgi'])) { - // try to see if php-cgi is in the path - $res = $this->system_with_timeout('php-cgi -v'); - if (false !== $res && !(is_array($res) && in_array($res[0], array(-1, 127)))) { - $this->_options['cgi'] = 'php-cgi'; - } - } - if (1 < $len = strlen($this->tests_count)) { - $test_number = str_pad($test_number, $len, ' ', STR_PAD_LEFT); - $test_nr = "[$test_number/$this->tests_count] "; - } else { - $test_nr = ''; - } - - $file = realpath($file); - $section_text = $this->_readFile($file); - if (PEAR::isError($section_text)) { - return $section_text; - } - - if (isset($section_text['POST_RAW']) && isset($section_text['UPLOAD'])) { - return PEAR::raiseError("Cannot contain both POST_RAW and UPLOAD in test file: $file"); - } - - $cwd = getcwd(); - - $pass_options = ''; - if (!empty($this->_options['ini'])) { - $pass_options = $this->_options['ini']; - } - - if (is_string($ini_settings)) { - $ini_settings = $this->iniString2array($ini_settings); - } - - $ini_settings = $this->settings2array($this->ini_overwrites, $ini_settings); - if ($section_text['INI']) { - if (strpos($section_text['INI'], '{PWD}') !== false) { - $section_text['INI'] = str_replace('{PWD}', dirname($file), $section_text['INI']); - } - $ini = preg_split( "/[\n\r]+/", $section_text['INI']); - $ini_settings = $this->settings2array($ini, $ini_settings); - } - $ini_settings = $this->settings2params($ini_settings); - $shortname = str_replace($cwd . DIRECTORY_SEPARATOR, '', $file); - - $tested = trim($section_text['TEST']); - $tested.= !isset($this->_options['simple']) ? "[$shortname]" : ' '; - - if (!empty($section_text['POST']) || !empty($section_text['POST_RAW']) || - !empty($section_text['UPLOAD']) || !empty($section_text['GET']) || - !empty($section_text['COOKIE']) || !empty($section_text['EXPECTHEADERS'])) { - if (empty($this->_options['cgi'])) { - if (!isset($this->_options['quiet'])) { - $this->_logger->log(0, "SKIP $test_nr$tested (reason: --cgi option needed for this test, type 'pear help run-tests')"); - } - if (isset($this->_options['tapoutput'])) { - return array('ok', ' # skip --cgi option needed for this test, "pear help run-tests" for info'); - } - return 'SKIPPED'; - } - $this->_savephp = $this->_php; - $this->_php = $this->_options['cgi']; - } - - $temp_dir = realpath(dirname($file)); - $main_file_name = basename($file, 'phpt'); - $diff_filename = $temp_dir . DIRECTORY_SEPARATOR . $main_file_name.'diff'; - $log_filename = $temp_dir . DIRECTORY_SEPARATOR . $main_file_name.'log'; - $exp_filename = $temp_dir . DIRECTORY_SEPARATOR . $main_file_name.'exp'; - $output_filename = $temp_dir . DIRECTORY_SEPARATOR . $main_file_name.'out'; - $memcheck_filename = $temp_dir . DIRECTORY_SEPARATOR . $main_file_name.'mem'; - $temp_file = $temp_dir . DIRECTORY_SEPARATOR . $main_file_name.'php'; - $temp_skipif = $temp_dir . DIRECTORY_SEPARATOR . $main_file_name.'skip.php'; - $temp_clean = $temp_dir . DIRECTORY_SEPARATOR . $main_file_name.'clean.php'; - $tmp_post = $temp_dir . DIRECTORY_SEPARATOR . uniqid('phpt.'); - - // unlink old test results - $this->_cleanupOldFiles($file); - - // Check if test should be skipped. - $res = $this->_runSkipIf($section_text, $temp_skipif, $tested, $ini_settings); - if (count($res) != 2) { - return $res; - } - $info = $res['info']; - $warn = $res['warn']; - - // We've satisfied the preconditions - run the test! - if (isset($this->_options['coverage']) && $this->xdebug_loaded) { - $xdebug_file = $temp_dir . DIRECTORY_SEPARATOR . $main_file_name . 'xdebug'; - $text = "\n" . 'function coverage_shutdown() {' . - "\n" . ' $xdebug = var_export(xdebug_get_code_coverage(), true);'; - if (!function_exists('file_put_contents')) { - $text .= "\n" . ' $fh = fopen(\'' . $xdebug_file . '\', "wb");' . - "\n" . ' if ($fh !== false) {' . - "\n" . ' fwrite($fh, $xdebug);' . - "\n" . ' fclose($fh);' . - "\n" . ' }'; - } else { - $text .= "\n" . ' file_put_contents(\'' . $xdebug_file . '\', $xdebug);'; - } - - // Workaround for http://pear.php.net/bugs/bug.php?id=17292 - $lines = explode("\n", $section_text['FILE']); - $numLines = count($lines); - $namespace = ''; - $coverage_shutdown = 'coverage_shutdown'; - - if ( - substr($lines[0], 0, 2) == 'save_text($temp_file, "save_text($temp_file, $section_text['FILE']); - } - - $args = $section_text['ARGS'] ? ' -- '.$section_text['ARGS'] : ''; - $cmd = $this->_preparePhpBin($this->_php, $temp_file, $ini_settings); - $cmd.= "$args 2>&1"; - if (isset($this->_logger)) { - $this->_logger->log(2, 'Running command "' . $cmd . '"'); - } - - // Reset environment from any previous test. - $env = $this->_resetEnv($section_text, $temp_file); - - $section_text = $this->_processUpload($section_text, $file); - if (PEAR::isError($section_text)) { - return $section_text; - } - - if (array_key_exists('POST_RAW', $section_text) && !empty($section_text['POST_RAW'])) { - $post = trim($section_text['POST_RAW']); - $raw_lines = explode("\n", $post); - - $request = ''; - $started = false; - foreach ($raw_lines as $i => $line) { - if (empty($env['CONTENT_TYPE']) && - preg_match('/^Content-Type:(.*)/i', $line, $res)) { - $env['CONTENT_TYPE'] = trim(str_replace("\r", '', $res[1])); - continue; - } - if ($started) { - $request .= "\n"; - } - $started = true; - $request .= $line; - } - - $env['CONTENT_LENGTH'] = strlen($request); - $env['REQUEST_METHOD'] = 'POST'; - - $this->save_text($tmp_post, $request); - $cmd = "$this->_php$pass_options$ini_settings \"$temp_file\" 2>&1 < $tmp_post"; - } elseif (array_key_exists('POST', $section_text) && !empty($section_text['POST'])) { - $post = trim($section_text['POST']); - $this->save_text($tmp_post, $post); - $content_length = strlen($post); - - $env['REQUEST_METHOD'] = 'POST'; - $env['CONTENT_TYPE'] = 'application/x-www-form-urlencoded'; - $env['CONTENT_LENGTH'] = $content_length; - - $cmd = "$this->_php$pass_options$ini_settings \"$temp_file\" 2>&1 < $tmp_post"; - } else { - $env['REQUEST_METHOD'] = 'GET'; - $env['CONTENT_TYPE'] = ''; - $env['CONTENT_LENGTH'] = ''; - } - - if (OS_WINDOWS && isset($section_text['RETURNS'])) { - ob_start(); - system($cmd, $return_value); - $out = ob_get_contents(); - ob_end_clean(); - $section_text['RETURNS'] = (int) trim($section_text['RETURNS']); - $returnfail = ($return_value != $section_text['RETURNS']); - } else { - $returnfail = false; - $stdin = isset($section_text['STDIN']) ? $section_text['STDIN'] : null; - $out = $this->system_with_timeout($cmd, $env, $stdin); - $return_value = $out[0]; - $out = $out[1]; - } - - $output = preg_replace('/\r\n/', "\n", trim($out)); - - if (isset($tmp_post) && realpath($tmp_post) && file_exists($tmp_post)) { - @unlink(realpath($tmp_post)); - } - chdir($cwd); // in case the test moves us around - - $this->_testCleanup($section_text, $temp_clean); - - /* when using CGI, strip the headers from the output */ - $output = $this->_stripHeadersCGI($output); - - if (isset($section_text['EXPECTHEADERS'])) { - $testheaders = $this->_processHeaders($section_text['EXPECTHEADERS']); - $missing = array_diff_assoc($testheaders, $this->_headers); - $changed = ''; - foreach ($missing as $header => $value) { - if (isset($this->_headers[$header])) { - $changed .= "-$header: $value\n+$header: "; - $changed .= $this->_headers[$header]; - } else { - $changed .= "-$header: $value\n"; - } - } - if ($missing) { - // tack on failed headers to output: - $output .= "\n====EXPECTHEADERS FAILURE====:\n$changed"; - } - } - // Does the output match what is expected? - do { - if (isset($section_text['EXPECTF']) || isset($section_text['EXPECTREGEX'])) { - if (isset($section_text['EXPECTF'])) { - $wanted = trim($section_text['EXPECTF']); - } else { - $wanted = trim($section_text['EXPECTREGEX']); - } - $wanted_re = preg_replace('/\r\n/', "\n", $wanted); - if (isset($section_text['EXPECTF'])) { - $wanted_re = preg_quote($wanted_re, '/'); - // Stick to basics - $wanted_re = str_replace("%s", ".+?", $wanted_re); //not greedy - $wanted_re = str_replace("%i", "[+\-]?[0-9]+", $wanted_re); - $wanted_re = str_replace("%d", "[0-9]+", $wanted_re); - $wanted_re = str_replace("%x", "[0-9a-fA-F]+", $wanted_re); - $wanted_re = str_replace("%f", "[+\-]?\.?[0-9]+\.?[0-9]*(E-?[0-9]+)?", $wanted_re); - $wanted_re = str_replace("%c", ".", $wanted_re); - // %f allows two points "-.0.0" but that is the best *simple* expression - } - - /* DEBUG YOUR REGEX HERE - var_dump($wanted_re); - print(str_repeat('=', 80) . "\n"); - var_dump($output); - */ - if (!$returnfail && preg_match("/^$wanted_re\$/s", $output)) { - if (file_exists($temp_file)) { - unlink($temp_file); - } - if (array_key_exists('FAIL', $section_text)) { - break; - } - if (!isset($this->_options['quiet'])) { - $this->_logger->log(0, "PASS $test_nr$tested$info"); - } - if (isset($this->_options['tapoutput'])) { - return array('ok', ' - ' . $tested); - } - return 'PASSED'; - } - } else { - if (isset($section_text['EXPECTFILE'])) { - $f = $temp_dir . '/' . trim($section_text['EXPECTFILE']); - if (!($fp = @fopen($f, 'rb'))) { - return PEAR::raiseError('--EXPECTFILE-- section file ' . - $f . ' not found'); - } - fclose($fp); - $section_text['EXPECT'] = file_get_contents($f); - } - - if (isset($section_text['EXPECT'])) { - $wanted = preg_replace('/\r\n/', "\n", trim($section_text['EXPECT'])); - } else { - $wanted = ''; - } - - // compare and leave on success - if (!$returnfail && 0 == strcmp($output, $wanted)) { - if (file_exists($temp_file)) { - unlink($temp_file); - } - if (array_key_exists('FAIL', $section_text)) { - break; - } - if (!isset($this->_options['quiet'])) { - $this->_logger->log(0, "PASS $test_nr$tested$info"); - } - if (isset($this->_options['tapoutput'])) { - return array('ok', ' - ' . $tested); - } - return 'PASSED'; - } - } - } while (false); - - if (array_key_exists('FAIL', $section_text)) { - // we expect a particular failure - // this is only used for testing PEAR_RunTest - $expectf = isset($section_text['EXPECTF']) ? $wanted_re : null; - $faildiff = $this->generate_diff($wanted, $output, null, $expectf); - $faildiff = preg_replace('/\r/', '', $faildiff); - $wanted = preg_replace('/\r/', '', trim($section_text['FAIL'])); - if ($faildiff == $wanted) { - if (!isset($this->_options['quiet'])) { - $this->_logger->log(0, "PASS $test_nr$tested$info"); - } - if (isset($this->_options['tapoutput'])) { - return array('ok', ' - ' . $tested); - } - return 'PASSED'; - } - unset($section_text['EXPECTF']); - $output = $faildiff; - if (isset($section_text['RETURNS'])) { - return PEAR::raiseError('Cannot have both RETURNS and FAIL in the same test: ' . - $file); - } - } - - // Test failed so we need to report details. - $txt = $warn ? 'WARN ' : 'FAIL '; - $this->_logger->log(0, $txt . $test_nr . $tested . $info); - - // write .exp - $res = $this->_writeLog($exp_filename, $wanted); - if (PEAR::isError($res)) { - return $res; - } - - // write .out - $res = $this->_writeLog($output_filename, $output); - if (PEAR::isError($res)) { - return $res; - } - - // write .diff - $returns = isset($section_text['RETURNS']) ? - array(trim($section_text['RETURNS']), $return_value) : null; - $expectf = isset($section_text['EXPECTF']) ? $wanted_re : null; - $data = $this->generate_diff($wanted, $output, $returns, $expectf); - $res = $this->_writeLog($diff_filename, $data); - if (PEAR::isError($res)) { - return $res; - } - - // write .log - $data = " ----- EXPECTED OUTPUT -$wanted ----- ACTUAL OUTPUT -$output ----- FAILED -"; - - if ($returnfail) { - $data .= " ----- EXPECTED RETURN -$section_text[RETURNS] ----- ACTUAL RETURN -$return_value -"; - } - - $res = $this->_writeLog($log_filename, $data); - if (PEAR::isError($res)) { - return $res; - } - - if (isset($this->_options['tapoutput'])) { - $wanted = explode("\n", $wanted); - $wanted = "# Expected output:\n#\n#" . implode("\n#", $wanted); - $output = explode("\n", $output); - $output = "#\n#\n# Actual output:\n#\n#" . implode("\n#", $output); - return array($wanted . $output . 'not ok', ' - ' . $tested); - } - return $warn ? 'WARNED' : 'FAILED'; - } - - function generate_diff($wanted, $output, $rvalue, $wanted_re) - { - $w = explode("\n", $wanted); - $o = explode("\n", $output); - $wr = explode("\n", $wanted_re); - $w1 = array_diff_assoc($w, $o); - $o1 = array_diff_assoc($o, $w); - $o2 = $w2 = array(); - foreach ($w1 as $idx => $val) { - if (!$wanted_re || !isset($wr[$idx]) || !isset($o1[$idx]) || - !preg_match('/^' . $wr[$idx] . '\\z/', $o1[$idx])) { - $w2[sprintf("%03d<", $idx)] = sprintf("%03d- ", $idx + 1) . $val; - } - } - foreach ($o1 as $idx => $val) { - if (!$wanted_re || !isset($wr[$idx]) || - !preg_match('/^' . $wr[$idx] . '\\z/', $val)) { - $o2[sprintf("%03d>", $idx)] = sprintf("%03d+ ", $idx + 1) . $val; - } - } - $diff = array_merge($w2, $o2); - ksort($diff); - $extra = $rvalue ? "##EXPECTED: $rvalue[0]\r\n##RETURNED: $rvalue[1]" : ''; - return implode("\r\n", $diff) . $extra; - } - - // Write the given text to a temporary file, and return the filename. - function save_text($filename, $text) - { - if (!$fp = fopen($filename, 'w')) { - return PEAR::raiseError("Cannot open file '" . $filename . "' (save_text)"); - } - fwrite($fp, $text); - fclose($fp); - if (1 < DETAILED) echo " -FILE $filename {{{ -$text -}}} -"; - } - - function _cleanupOldFiles($file) - { - $temp_dir = realpath(dirname($file)); - $mainFileName = basename($file, 'phpt'); - $diff_filename = $temp_dir . DIRECTORY_SEPARATOR . $mainFileName.'diff'; - $log_filename = $temp_dir . DIRECTORY_SEPARATOR . $mainFileName.'log'; - $exp_filename = $temp_dir . DIRECTORY_SEPARATOR . $mainFileName.'exp'; - $output_filename = $temp_dir . DIRECTORY_SEPARATOR . $mainFileName.'out'; - $memcheck_filename = $temp_dir . DIRECTORY_SEPARATOR . $mainFileName.'mem'; - $temp_file = $temp_dir . DIRECTORY_SEPARATOR . $mainFileName.'php'; - $temp_skipif = $temp_dir . DIRECTORY_SEPARATOR . $mainFileName.'skip.php'; - $temp_clean = $temp_dir . DIRECTORY_SEPARATOR . $mainFileName.'clean.php'; - $tmp_post = $temp_dir . DIRECTORY_SEPARATOR . uniqid('phpt.'); - - // unlink old test results - @unlink($diff_filename); - @unlink($log_filename); - @unlink($exp_filename); - @unlink($output_filename); - @unlink($memcheck_filename); - @unlink($temp_file); - @unlink($temp_skipif); - @unlink($tmp_post); - @unlink($temp_clean); - } - - function _runSkipIf($section_text, $temp_skipif, $tested, $ini_settings) - { - $info = ''; - $warn = false; - if (array_key_exists('SKIPIF', $section_text) && trim($section_text['SKIPIF'])) { - $this->save_text($temp_skipif, $section_text['SKIPIF']); - $output = $this->system_with_timeout("$this->_php$ini_settings -f \"$temp_skipif\""); - $output = $output[1]; - $loutput = ltrim($output); - unlink($temp_skipif); - if (!strncasecmp('skip', $loutput, 4)) { - $skipreason = "SKIP $tested"; - if (preg_match('/^\s*skip\s*(.+)\s*/i', $output, $m)) { - $skipreason .= '(reason: ' . $m[1] . ')'; - } - if (!isset($this->_options['quiet'])) { - $this->_logger->log(0, $skipreason); - } - if (isset($this->_options['tapoutput'])) { - return array('ok', ' # skip ' . $reason); - } - return 'SKIPPED'; - } - - if (!strncasecmp('info', $loutput, 4) - && preg_match('/^\s*info\s*(.+)\s*/i', $output, $m)) { - $info = " (info: $m[1])"; - } - - if (!strncasecmp('warn', $loutput, 4) - && preg_match('/^\s*warn\s*(.+)\s*/i', $output, $m)) { - $warn = true; /* only if there is a reason */ - $info = " (warn: $m[1])"; - } - } - - return array('warn' => $warn, 'info' => $info); - } - - function _stripHeadersCGI($output) - { - $this->headers = array(); - if (!empty($this->_options['cgi']) && - $this->_php == $this->_options['cgi'] && - preg_match("/^(.*?)(?:\n\n(.*)|\\z)/s", $output, $match)) { - $output = isset($match[2]) ? trim($match[2]) : ''; - $this->_headers = $this->_processHeaders($match[1]); - } - - return $output; - } - - /** - * Return an array that can be used with array_diff() to compare headers - * - * @param string $text - */ - function _processHeaders($text) - { - $headers = array(); - $rh = preg_split("/[\n\r]+/", $text); - foreach ($rh as $line) { - if (strpos($line, ':')!== false) { - $line = explode(':', $line, 2); - $headers[trim($line[0])] = trim($line[1]); - } - } - return $headers; - } - - function _readFile($file) - { - // Load the sections of the test file. - $section_text = array( - 'TEST' => '(unnamed test)', - 'SKIPIF' => '', - 'GET' => '', - 'COOKIE' => '', - 'POST' => '', - 'ARGS' => '', - 'INI' => '', - 'CLEAN' => '', - ); - - if (!is_file($file) || !$fp = fopen($file, "r")) { - return PEAR::raiseError("Cannot open test file: $file"); - } - - $section = ''; - while (!feof($fp)) { - $line = fgets($fp); - - // Match the beginning of a section. - if (preg_match('/^--([_A-Z]+)--/', $line, $r)) { - $section = $r[1]; - $section_text[$section] = ''; - continue; - } elseif (empty($section)) { - fclose($fp); - return PEAR::raiseError("Invalid sections formats in test file: $file"); - } - - // Add to the section text. - $section_text[$section] .= $line; - } - fclose($fp); - - return $section_text; - } - - function _writeLog($logname, $data) - { - if (!$log = fopen($logname, 'w')) { - return PEAR::raiseError("Cannot create test log - $logname"); - } - fwrite($log, $data); - fclose($log); - } - - function _resetEnv($section_text, $temp_file) - { - $env = $_ENV; - $env['REDIRECT_STATUS'] = ''; - $env['QUERY_STRING'] = ''; - $env['PATH_TRANSLATED'] = ''; - $env['SCRIPT_FILENAME'] = ''; - $env['REQUEST_METHOD'] = ''; - $env['CONTENT_TYPE'] = ''; - $env['CONTENT_LENGTH'] = ''; - if (!empty($section_text['ENV'])) { - if (strpos($section_text['ENV'], '{PWD}') !== false) { - $section_text['ENV'] = str_replace('{PWD}', dirname($temp_file), $section_text['ENV']); - } - foreach (explode("\n", trim($section_text['ENV'])) as $e) { - $e = explode('=', trim($e), 2); - if (!empty($e[0]) && isset($e[1])) { - $env[$e[0]] = $e[1]; - } - } - } - if (array_key_exists('GET', $section_text)) { - $env['QUERY_STRING'] = trim($section_text['GET']); - } else { - $env['QUERY_STRING'] = ''; - } - if (array_key_exists('COOKIE', $section_text)) { - $env['HTTP_COOKIE'] = trim($section_text['COOKIE']); - } else { - $env['HTTP_COOKIE'] = ''; - } - $env['REDIRECT_STATUS'] = '1'; - $env['PATH_TRANSLATED'] = $temp_file; - $env['SCRIPT_FILENAME'] = $temp_file; - - return $env; - } - - function _processUpload($section_text, $file) - { - if (array_key_exists('UPLOAD', $section_text) && !empty($section_text['UPLOAD'])) { - $upload_files = trim($section_text['UPLOAD']); - $upload_files = explode("\n", $upload_files); - - $request = "Content-Type: multipart/form-data; boundary=---------------------------20896060251896012921717172737\n" . - "-----------------------------20896060251896012921717172737\n"; - foreach ($upload_files as $fileinfo) { - $fileinfo = explode('=', $fileinfo); - if (count($fileinfo) != 2) { - return PEAR::raiseError("Invalid UPLOAD section in test file: $file"); - } - if (!realpath(dirname($file) . '/' . $fileinfo[1])) { - return PEAR::raiseError("File for upload does not exist: $fileinfo[1] " . - "in test file: $file"); - } - $file_contents = file_get_contents(dirname($file) . '/' . $fileinfo[1]); - $fileinfo[1] = basename($fileinfo[1]); - $request .= "Content-Disposition: form-data; name=\"$fileinfo[0]\"; filename=\"$fileinfo[1]\"\n"; - $request .= "Content-Type: text/plain\n\n"; - $request .= $file_contents . "\n" . - "-----------------------------20896060251896012921717172737\n"; - } - - if (array_key_exists('POST', $section_text) && !empty($section_text['POST'])) { - // encode POST raw - $post = trim($section_text['POST']); - $post = explode('&', $post); - foreach ($post as $i => $post_info) { - $post_info = explode('=', $post_info); - if (count($post_info) != 2) { - return PEAR::raiseError("Invalid POST data in test file: $file"); - } - $post_info[0] = rawurldecode($post_info[0]); - $post_info[1] = rawurldecode($post_info[1]); - $post[$i] = $post_info; - } - foreach ($post as $post_info) { - $request .= "Content-Disposition: form-data; name=\"$post_info[0]\"\n\n"; - $request .= $post_info[1] . "\n" . - "-----------------------------20896060251896012921717172737\n"; - } - unset($section_text['POST']); - } - $section_text['POST_RAW'] = $request; - } - - return $section_text; - } - - function _testCleanup($section_text, $temp_clean) - { - if ($section_text['CLEAN']) { - // perform test cleanup - $this->save_text($temp_clean, $section_text['CLEAN']); - $output = $this->system_with_timeout("$this->_php $temp_clean 2>&1"); - if (strlen($output[1])) { - echo "BORKED --CLEAN-- section! output:\n", $output[1]; - } - if (file_exists($temp_clean)) { - unlink($temp_clean); - } - } - } -} diff --git a/3rdparty/PEAR/Task/Common.php b/3rdparty/PEAR/Task/Common.php deleted file mode 100644 index 5b99c2e434795e143e4c2c7af905de902b15be1d..0000000000000000000000000000000000000000 --- a/3rdparty/PEAR/Task/Common.php +++ /dev/null @@ -1,202 +0,0 @@ - - * @copyright 1997-2009 The Authors - * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: Common.php 313023 2011-07-06 19:17:11Z dufuz $ - * @link http://pear.php.net/package/PEAR - * @since File available since Release 1.4.0a1 - */ -/**#@+ - * Error codes for task validation routines - */ -define('PEAR_TASK_ERROR_NOATTRIBS', 1); -define('PEAR_TASK_ERROR_MISSING_ATTRIB', 2); -define('PEAR_TASK_ERROR_WRONG_ATTRIB_VALUE', 3); -define('PEAR_TASK_ERROR_INVALID', 4); -/**#@-*/ -define('PEAR_TASK_PACKAGE', 1); -define('PEAR_TASK_INSTALL', 2); -define('PEAR_TASK_PACKAGEANDINSTALL', 3); -/** - * A task is an operation that manipulates the contents of a file. - * - * Simple tasks operate on 1 file. Multiple tasks are executed after all files have been - * processed and installed, and are designed to operate on all files containing the task. - * The Post-install script task simply takes advantage of the fact that it will be run - * after installation, replace is a simple task. - * - * Combining tasks is possible, but ordering is significant. - * - * - * - * - * - * - * This will first replace any instance of @data-dir@ in the test.php file - * with the path to the current data directory. Then, it will include the - * test.php file and run the script it contains to configure the package post-installation. - * @category pear - * @package PEAR - * @author Greg Beaver - * @copyright 1997-2009 The Authors - * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.4 - * @link http://pear.php.net/package/PEAR - * @since Class available since Release 1.4.0a1 - * @abstract - */ -class PEAR_Task_Common -{ - /** - * Valid types for this version are 'simple' and 'multiple' - * - * - simple tasks operate on the contents of a file and write out changes to disk - * - multiple tasks operate on the contents of many files and write out the - * changes directly to disk - * - * Child task classes must override this property. - * @access protected - */ - var $type = 'simple'; - /** - * Determines which install phase this task is executed under - */ - var $phase = PEAR_TASK_INSTALL; - /** - * @access protected - */ - var $config; - /** - * @access protected - */ - var $registry; - /** - * @access protected - */ - var $logger; - /** - * @access protected - */ - var $installphase; - /** - * @param PEAR_Config - * @param PEAR_Common - */ - function PEAR_Task_Common(&$config, &$logger, $phase) - { - $this->config = &$config; - $this->registry = &$config->getRegistry(); - $this->logger = &$logger; - $this->installphase = $phase; - if ($this->type == 'multiple') { - $GLOBALS['_PEAR_TASK_POSTINSTANCES'][get_class($this)][] = &$this; - } - } - - /** - * Validate the basic contents of a task tag. - * @param PEAR_PackageFile_v2 - * @param array - * @param PEAR_Config - * @param array the entire parsed tag - * @return true|array On error, return an array in format: - * array(PEAR_TASK_ERROR_???[, param1][, param2][, ...]) - * - * For PEAR_TASK_ERROR_MISSING_ATTRIB, pass the attribute name in - * For PEAR_TASK_ERROR_WRONG_ATTRIB_VALUE, pass the attribute name and an array - * of legal values in - * @static - * @abstract - */ - function validateXml($pkg, $xml, $config, $fileXml) - { - } - - /** - * Initialize a task instance with the parameters - * @param array raw, parsed xml - * @param array attributes from the tag containing this task - * @param string|null last installed version of this package - * @abstract - */ - function init($xml, $fileAttributes, $lastVersion) - { - } - - /** - * Begin a task processing session. All multiple tasks will be processed after each file - * has been successfully installed, all simple tasks should perform their task here and - * return any errors using the custom throwError() method to allow forward compatibility - * - * This method MUST NOT write out any changes to disk - * @param PEAR_PackageFile_v2 - * @param string file contents - * @param string the eventual final file location (informational only) - * @return string|false|PEAR_Error false to skip this file, PEAR_Error to fail - * (use $this->throwError), otherwise return the new contents - * @abstract - */ - function startSession($pkg, $contents, $dest) - { - } - - /** - * This method is used to process each of the tasks for a particular multiple class - * type. Simple tasks need not implement this method. - * @param array an array of tasks - * @access protected - * @static - * @abstract - */ - function run($tasks) - { - } - - /** - * @static - * @final - */ - function hasPostinstallTasks() - { - return isset($GLOBALS['_PEAR_TASK_POSTINSTANCES']); - } - - /** - * @static - * @final - */ - function runPostinstallTasks() - { - foreach ($GLOBALS['_PEAR_TASK_POSTINSTANCES'] as $class => $tasks) { - $err = call_user_func(array($class, 'run'), - $GLOBALS['_PEAR_TASK_POSTINSTANCES'][$class]); - if ($err) { - return PEAR_Task_Common::throwError($err); - } - } - unset($GLOBALS['_PEAR_TASK_POSTINSTANCES']); - } - - /** - * Determines whether a role is a script - * @return bool - */ - function isScript() - { - return $this->type == 'script'; - } - - function throwError($msg, $code = -1) - { - include_once 'PEAR.php'; - return PEAR::raiseError($msg, $code); - } -} -?> \ No newline at end of file diff --git a/3rdparty/PEAR/Task/Postinstallscript.php b/3rdparty/PEAR/Task/Postinstallscript.php deleted file mode 100644 index e43ecca4b3db0aed7ebb1e17dd674d59cd8c1961..0000000000000000000000000000000000000000 --- a/3rdparty/PEAR/Task/Postinstallscript.php +++ /dev/null @@ -1,323 +0,0 @@ - - * - * PHP versions 4 and 5 - * - * @category pear - * @package PEAR - * @author Greg Beaver - * @copyright 1997-2009 The Authors - * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: Postinstallscript.php 313023 2011-07-06 19:17:11Z dufuz $ - * @link http://pear.php.net/package/PEAR - * @since File available since Release 1.4.0a1 - */ -/** - * Base class - */ -require_once 'PEAR/Task/Common.php'; -/** - * Implements the postinstallscript file task. - * - * Note that post-install scripts are handled separately from installation, by the - * "pear run-scripts" command - * @category pear - * @package PEAR - * @author Greg Beaver - * @copyright 1997-2009 The Authors - * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.4 - * @link http://pear.php.net/package/PEAR - * @since Class available since Release 1.4.0a1 - */ -class PEAR_Task_Postinstallscript extends PEAR_Task_Common -{ - var $type = 'script'; - var $_class; - var $_params; - var $_obj; - /** - * - * @var PEAR_PackageFile_v2 - */ - var $_pkg; - var $_contents; - var $phase = PEAR_TASK_INSTALL; - - /** - * Validate the raw xml at parsing-time. - * - * This also attempts to validate the script to make sure it meets the criteria - * for a post-install script - * @param PEAR_PackageFile_v2 - * @param array The XML contents of the tag - * @param PEAR_Config - * @param array the entire parsed tag - * @static - */ - function validateXml($pkg, $xml, $config, $fileXml) - { - if ($fileXml['role'] != 'php') { - return array(PEAR_TASK_ERROR_INVALID, 'Post-install script "' . - $fileXml['name'] . '" must be role="php"'); - } - PEAR::pushErrorHandling(PEAR_ERROR_RETURN); - $file = $pkg->getFileContents($fileXml['name']); - if (PEAR::isError($file)) { - PEAR::popErrorHandling(); - return array(PEAR_TASK_ERROR_INVALID, 'Post-install script "' . - $fileXml['name'] . '" is not valid: ' . - $file->getMessage()); - } elseif ($file === null) { - return array(PEAR_TASK_ERROR_INVALID, 'Post-install script "' . - $fileXml['name'] . '" could not be retrieved for processing!'); - } else { - $analysis = $pkg->analyzeSourceCode($file, true); - if (!$analysis) { - PEAR::popErrorHandling(); - $warnings = ''; - foreach ($pkg->getValidationWarnings() as $warn) { - $warnings .= $warn['message'] . "\n"; - } - return array(PEAR_TASK_ERROR_INVALID, 'Analysis of post-install script "' . - $fileXml['name'] . '" failed: ' . $warnings); - } - if (count($analysis['declared_classes']) != 1) { - PEAR::popErrorHandling(); - return array(PEAR_TASK_ERROR_INVALID, 'Post-install script "' . - $fileXml['name'] . '" must declare exactly 1 class'); - } - $class = $analysis['declared_classes'][0]; - if ($class != str_replace(array('/', '.php'), array('_', ''), - $fileXml['name']) . '_postinstall') { - PEAR::popErrorHandling(); - return array(PEAR_TASK_ERROR_INVALID, 'Post-install script "' . - $fileXml['name'] . '" class "' . $class . '" must be named "' . - str_replace(array('/', '.php'), array('_', ''), - $fileXml['name']) . '_postinstall"'); - } - if (!isset($analysis['declared_methods'][$class])) { - PEAR::popErrorHandling(); - return array(PEAR_TASK_ERROR_INVALID, 'Post-install script "' . - $fileXml['name'] . '" must declare methods init() and run()'); - } - $methods = array('init' => 0, 'run' => 1); - foreach ($analysis['declared_methods'][$class] as $method) { - if (isset($methods[$method])) { - unset($methods[$method]); - } - } - if (count($methods)) { - PEAR::popErrorHandling(); - return array(PEAR_TASK_ERROR_INVALID, 'Post-install script "' . - $fileXml['name'] . '" must declare methods init() and run()'); - } - } - PEAR::popErrorHandling(); - $definedparams = array(); - $tasksNamespace = $pkg->getTasksNs() . ':'; - if (!isset($xml[$tasksNamespace . 'paramgroup']) && isset($xml['paramgroup'])) { - // in order to support the older betas, which did not expect internal tags - // to also use the namespace - $tasksNamespace = ''; - } - if (isset($xml[$tasksNamespace . 'paramgroup'])) { - $params = $xml[$tasksNamespace . 'paramgroup']; - if (!is_array($params) || !isset($params[0])) { - $params = array($params); - } - foreach ($params as $param) { - if (!isset($param[$tasksNamespace . 'id'])) { - return array(PEAR_TASK_ERROR_INVALID, 'Post-install script "' . - $fileXml['name'] . '" must have ' . - 'an ' . $tasksNamespace . 'id> tag'); - } - if (isset($param[$tasksNamespace . 'name'])) { - if (!in_array($param[$tasksNamespace . 'name'], $definedparams)) { - return array(PEAR_TASK_ERROR_INVALID, 'Post-install script "' . - $fileXml['name'] . '" ' . $tasksNamespace . - 'paramgroup> id "' . $param[$tasksNamespace . 'id'] . - '" parameter "' . $param[$tasksNamespace . 'name'] . - '" has not been previously defined'); - } - if (!isset($param[$tasksNamespace . 'conditiontype'])) { - return array(PEAR_TASK_ERROR_INVALID, 'Post-install script "' . - $fileXml['name'] . '" ' . $tasksNamespace . - 'paramgroup> id "' . $param[$tasksNamespace . 'id'] . - '" must have a ' . $tasksNamespace . - 'conditiontype> tag containing either "=", ' . - '"!=", or "preg_match"'); - } - if (!in_array($param[$tasksNamespace . 'conditiontype'], - array('=', '!=', 'preg_match'))) { - return array(PEAR_TASK_ERROR_INVALID, 'Post-install script "' . - $fileXml['name'] . '" ' . $tasksNamespace . - 'paramgroup> id "' . $param[$tasksNamespace . 'id'] . - '" must have a ' . $tasksNamespace . - 'conditiontype> tag containing either "=", ' . - '"!=", or "preg_match"'); - } - if (!isset($param[$tasksNamespace . 'value'])) { - return array(PEAR_TASK_ERROR_INVALID, 'Post-install script "' . - $fileXml['name'] . '" ' . $tasksNamespace . - 'paramgroup> id "' . $param[$tasksNamespace . 'id'] . - '" must have a ' . $tasksNamespace . - 'value> tag containing expected parameter value'); - } - } - if (isset($param[$tasksNamespace . 'instructions'])) { - if (!is_string($param[$tasksNamespace . 'instructions'])) { - return array(PEAR_TASK_ERROR_INVALID, 'Post-install script "' . - $fileXml['name'] . '" ' . $tasksNamespace . - 'paramgroup> id "' . $param[$tasksNamespace . 'id'] . - '" ' . $tasksNamespace . 'instructions> must be simple text'); - } - } - if (!isset($param[$tasksNamespace . 'param'])) { - continue; // is no longer required - } - $subparams = $param[$tasksNamespace . 'param']; - if (!is_array($subparams) || !isset($subparams[0])) { - $subparams = array($subparams); - } - foreach ($subparams as $subparam) { - if (!isset($subparam[$tasksNamespace . 'name'])) { - return array(PEAR_TASK_ERROR_INVALID, 'Post-install script "' . - $fileXml['name'] . '" parameter for ' . - $tasksNamespace . 'paramgroup> id "' . - $param[$tasksNamespace . 'id'] . '" must have ' . - 'a ' . $tasksNamespace . 'name> tag'); - } - if (!preg_match('/[a-zA-Z0-9]+/', - $subparam[$tasksNamespace . 'name'])) { - return array(PEAR_TASK_ERROR_INVALID, 'Post-install script "' . - $fileXml['name'] . '" parameter "' . - $subparam[$tasksNamespace . 'name'] . - '" for ' . $tasksNamespace . 'paramgroup> id "' . - $param[$tasksNamespace . 'id'] . - '" is not a valid name. Must contain only alphanumeric characters'); - } - if (!isset($subparam[$tasksNamespace . 'prompt'])) { - return array(PEAR_TASK_ERROR_INVALID, 'Post-install script "' . - $fileXml['name'] . '" parameter "' . - $subparam[$tasksNamespace . 'name'] . - '" for ' . $tasksNamespace . 'paramgroup> id "' . - $param[$tasksNamespace . 'id'] . - '" must have a ' . $tasksNamespace . 'prompt> tag'); - } - if (!isset($subparam[$tasksNamespace . 'type'])) { - return array(PEAR_TASK_ERROR_INVALID, 'Post-install script "' . - $fileXml['name'] . '" parameter "' . - $subparam[$tasksNamespace . 'name'] . - '" for ' . $tasksNamespace . 'paramgroup> id "' . - $param[$tasksNamespace . 'id'] . - '" must have a ' . $tasksNamespace . 'type> tag'); - } - $definedparams[] = $param[$tasksNamespace . 'id'] . '::' . - $subparam[$tasksNamespace . 'name']; - } - } - } - return true; - } - - /** - * Initialize a task instance with the parameters - * @param array raw, parsed xml - * @param array attributes from the tag containing this task - * @param string|null last installed version of this package, if any (useful for upgrades) - */ - function init($xml, $fileattribs, $lastversion) - { - $this->_class = str_replace('/', '_', $fileattribs['name']); - $this->_filename = $fileattribs['name']; - $this->_class = str_replace ('.php', '', $this->_class) . '_postinstall'; - $this->_params = $xml; - $this->_lastversion = $lastversion; - } - - /** - * Strip the tasks: namespace from internal params - * - * @access private - */ - function _stripNamespace($params = null) - { - if ($params === null) { - $params = array(); - if (!is_array($this->_params)) { - return; - } - foreach ($this->_params as $i => $param) { - if (is_array($param)) { - $param = $this->_stripNamespace($param); - } - $params[str_replace($this->_pkg->getTasksNs() . ':', '', $i)] = $param; - } - $this->_params = $params; - } else { - $newparams = array(); - foreach ($params as $i => $param) { - if (is_array($param)) { - $param = $this->_stripNamespace($param); - } - $newparams[str_replace($this->_pkg->getTasksNs() . ':', '', $i)] = $param; - } - return $newparams; - } - } - - /** - * Unlike other tasks, the installed file name is passed in instead of the file contents, - * because this task is handled post-installation - * @param PEAR_PackageFile_v1|PEAR_PackageFile_v2 - * @param string file name - * @return bool|PEAR_Error false to skip this file, PEAR_Error to fail - * (use $this->throwError) - */ - function startSession($pkg, $contents) - { - if ($this->installphase != PEAR_TASK_INSTALL) { - return false; - } - // remove the tasks: namespace if present - $this->_pkg = $pkg; - $this->_stripNamespace(); - $this->logger->log(0, 'Including external post-installation script "' . - $contents . '" - any errors are in this script'); - include_once $contents; - if (class_exists($this->_class)) { - $this->logger->log(0, 'Inclusion succeeded'); - } else { - return $this->throwError('init of post-install script class "' . $this->_class - . '" failed'); - } - $this->_obj = new $this->_class; - $this->logger->log(1, 'running post-install script "' . $this->_class . '->init()"'); - PEAR::pushErrorHandling(PEAR_ERROR_RETURN); - $res = $this->_obj->init($this->config, $pkg, $this->_lastversion); - PEAR::popErrorHandling(); - if ($res) { - $this->logger->log(0, 'init succeeded'); - } else { - return $this->throwError('init of post-install script "' . $this->_class . - '->init()" failed'); - } - $this->_contents = $contents; - return true; - } - - /** - * No longer used - * @see PEAR_PackageFile_v2::runPostinstallScripts() - * @param array an array of tasks - * @param string install or upgrade - * @access protected - * @static - */ - function run() - { - } -} -?> \ No newline at end of file diff --git a/3rdparty/PEAR/Task/Postinstallscript/rw.php b/3rdparty/PEAR/Task/Postinstallscript/rw.php deleted file mode 100644 index 8f358bf22bc7b8f488e037ee2dcdd0e32d6dc65f..0000000000000000000000000000000000000000 --- a/3rdparty/PEAR/Task/Postinstallscript/rw.php +++ /dev/null @@ -1,169 +0,0 @@ - - read/write version - * - * PHP versions 4 and 5 - * - * @category pear - * @package PEAR - * @author Greg Beaver - * @copyright 1997-2009 The Authors - * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: rw.php 313023 2011-07-06 19:17:11Z dufuz $ - * @link http://pear.php.net/package/PEAR - * @since File available since Release 1.4.0a10 - */ -/** - * Base class - */ -require_once 'PEAR/Task/Postinstallscript.php'; -/** - * Abstracts the postinstallscript file task xml. - * @category pear - * @package PEAR - * @author Greg Beaver - * @copyright 1997-2009 The Authors - * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.4 - * @link http://pear.php.net/package/PEAR - * @since Class available since Release 1.4.0a10 - */ -class PEAR_Task_Postinstallscript_rw extends PEAR_Task_Postinstallscript -{ - /** - * parent package file object - * - * @var PEAR_PackageFile_v2_rw - */ - var $_pkg; - /** - * Enter description here... - * - * @param PEAR_PackageFile_v2_rw $pkg - * @param PEAR_Config $config - * @param PEAR_Frontend $logger - * @param array $fileXml - * @return PEAR_Task_Postinstallscript_rw - */ - function PEAR_Task_Postinstallscript_rw(&$pkg, &$config, &$logger, $fileXml) - { - parent::PEAR_Task_Common($config, $logger, PEAR_TASK_PACKAGE); - $this->_contents = $fileXml; - $this->_pkg = &$pkg; - $this->_params = array(); - } - - function validate() - { - return $this->validateXml($this->_pkg, $this->_params, $this->config, $this->_contents); - } - - function getName() - { - return 'postinstallscript'; - } - - /** - * add a simple to the post-install script - * - * Order is significant, so call this method in the same - * sequence the users should see the paramgroups. The $params - * parameter should either be the result of a call to {@link getParam()} - * or an array of calls to getParam(). - * - * Use {@link addConditionTypeGroup()} to add a containing - * a tag - * @param string $id id as seen by the script - * @param array|false $params array of getParam() calls, or false for no params - * @param string|false $instructions - */ - function addParamGroup($id, $params = false, $instructions = false) - { - if ($params && isset($params[0]) && !isset($params[1])) { - $params = $params[0]; - } - $stuff = - array( - $this->_pkg->getTasksNs() . ':id' => $id, - ); - if ($instructions) { - $stuff[$this->_pkg->getTasksNs() . ':instructions'] = $instructions; - } - if ($params) { - $stuff[$this->_pkg->getTasksNs() . ':param'] = $params; - } - $this->_params[$this->_pkg->getTasksNs() . ':paramgroup'][] = $stuff; - } - - /** - * add a complex to the post-install script with conditions - * - * This inserts a with - * - * Order is significant, so call this method in the same - * sequence the users should see the paramgroups. The $params - * parameter should either be the result of a call to {@link getParam()} - * or an array of calls to getParam(). - * - * Use {@link addParamGroup()} to add a simple - * - * @param string $id id as seen by the script - * @param string $oldgroup id of the section referenced by - * - * @param string $param name of the from the older section referenced - * by - * @param string $value value to match of the parameter - * @param string $conditiontype one of '=', '!=', 'preg_match' - * @param array|false $params array of getParam() calls, or false for no params - * @param string|false $instructions - */ - function addConditionTypeGroup($id, $oldgroup, $param, $value, $conditiontype = '=', - $params = false, $instructions = false) - { - if ($params && isset($params[0]) && !isset($params[1])) { - $params = $params[0]; - } - $stuff = array( - $this->_pkg->getTasksNs() . ':id' => $id, - ); - if ($instructions) { - $stuff[$this->_pkg->getTasksNs() . ':instructions'] = $instructions; - } - $stuff[$this->_pkg->getTasksNs() . ':name'] = $oldgroup . '::' . $param; - $stuff[$this->_pkg->getTasksNs() . ':conditiontype'] = $conditiontype; - $stuff[$this->_pkg->getTasksNs() . ':value'] = $value; - if ($params) { - $stuff[$this->_pkg->getTasksNs() . ':param'] = $params; - } - $this->_params[$this->_pkg->getTasksNs() . ':paramgroup'][] = $stuff; - } - - function getXml() - { - return $this->_params; - } - - /** - * Use to set up a param tag for use in creating a paramgroup - * @static - */ - function getParam($name, $prompt, $type = 'string', $default = null) - { - if ($default !== null) { - return - array( - $this->_pkg->getTasksNs() . ':name' => $name, - $this->_pkg->getTasksNs() . ':prompt' => $prompt, - $this->_pkg->getTasksNs() . ':type' => $type, - $this->_pkg->getTasksNs() . ':default' => $default - ); - } - return - array( - $this->_pkg->getTasksNs() . ':name' => $name, - $this->_pkg->getTasksNs() . ':prompt' => $prompt, - $this->_pkg->getTasksNs() . ':type' => $type, - ); - } -} -?> \ No newline at end of file diff --git a/3rdparty/PEAR/Task/Replace.php b/3rdparty/PEAR/Task/Replace.php deleted file mode 100644 index 376df64df65c9e48c99904e63d6412d55a797925..0000000000000000000000000000000000000000 --- a/3rdparty/PEAR/Task/Replace.php +++ /dev/null @@ -1,176 +0,0 @@ - - * - * PHP versions 4 and 5 - * - * @category pear - * @package PEAR - * @author Greg Beaver - * @copyright 1997-2009 The Authors - * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: Replace.php 313023 2011-07-06 19:17:11Z dufuz $ - * @link http://pear.php.net/package/PEAR - * @since File available since Release 1.4.0a1 - */ -/** - * Base class - */ -require_once 'PEAR/Task/Common.php'; -/** - * Implements the replace file task. - * @category pear - * @package PEAR - * @author Greg Beaver - * @copyright 1997-2009 The Authors - * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.4 - * @link http://pear.php.net/package/PEAR - * @since Class available since Release 1.4.0a1 - */ -class PEAR_Task_Replace extends PEAR_Task_Common -{ - var $type = 'simple'; - var $phase = PEAR_TASK_PACKAGEANDINSTALL; - var $_replacements; - - /** - * Validate the raw xml at parsing-time. - * @param PEAR_PackageFile_v2 - * @param array raw, parsed xml - * @param PEAR_Config - * @static - */ - function validateXml($pkg, $xml, $config, $fileXml) - { - if (!isset($xml['attribs'])) { - return array(PEAR_TASK_ERROR_NOATTRIBS); - } - if (!isset($xml['attribs']['type'])) { - return array(PEAR_TASK_ERROR_MISSING_ATTRIB, 'type'); - } - if (!isset($xml['attribs']['to'])) { - return array(PEAR_TASK_ERROR_MISSING_ATTRIB, 'to'); - } - if (!isset($xml['attribs']['from'])) { - return array(PEAR_TASK_ERROR_MISSING_ATTRIB, 'from'); - } - if ($xml['attribs']['type'] == 'pear-config') { - if (!in_array($xml['attribs']['to'], $config->getKeys())) { - return array(PEAR_TASK_ERROR_WRONG_ATTRIB_VALUE, 'to', $xml['attribs']['to'], - $config->getKeys()); - } - } elseif ($xml['attribs']['type'] == 'php-const') { - if (defined($xml['attribs']['to'])) { - return true; - } else { - return array(PEAR_TASK_ERROR_WRONG_ATTRIB_VALUE, 'to', $xml['attribs']['to'], - array('valid PHP constant')); - } - } elseif ($xml['attribs']['type'] == 'package-info') { - if (in_array($xml['attribs']['to'], - array('name', 'summary', 'channel', 'notes', 'extends', 'description', - 'release_notes', 'license', 'release-license', 'license-uri', - 'version', 'api-version', 'state', 'api-state', 'release_date', - 'date', 'time'))) { - return true; - } else { - return array(PEAR_TASK_ERROR_WRONG_ATTRIB_VALUE, 'to', $xml['attribs']['to'], - array('name', 'summary', 'channel', 'notes', 'extends', 'description', - 'release_notes', 'license', 'release-license', 'license-uri', - 'version', 'api-version', 'state', 'api-state', 'release_date', - 'date', 'time')); - } - } else { - return array(PEAR_TASK_ERROR_WRONG_ATTRIB_VALUE, 'type', $xml['attribs']['type'], - array('pear-config', 'package-info', 'php-const')); - } - return true; - } - - /** - * Initialize a task instance with the parameters - * @param array raw, parsed xml - * @param unused - */ - function init($xml, $attribs) - { - $this->_replacements = isset($xml['attribs']) ? array($xml) : $xml; - } - - /** - * Do a package.xml 1.0 replacement, with additional package-info fields available - * - * See validateXml() source for the complete list of allowed fields - * @param PEAR_PackageFile_v1|PEAR_PackageFile_v2 - * @param string file contents - * @param string the eventual final file location (informational only) - * @return string|false|PEAR_Error false to skip this file, PEAR_Error to fail - * (use $this->throwError), otherwise return the new contents - */ - function startSession($pkg, $contents, $dest) - { - $subst_from = $subst_to = array(); - foreach ($this->_replacements as $a) { - $a = $a['attribs']; - $to = ''; - if ($a['type'] == 'pear-config') { - if ($this->installphase == PEAR_TASK_PACKAGE) { - return false; - } - if ($a['to'] == 'master_server') { - $chan = $this->registry->getChannel($pkg->getChannel()); - if (!PEAR::isError($chan)) { - $to = $chan->getServer(); - } else { - $this->logger->log(0, "$dest: invalid pear-config replacement: $a[to]"); - return false; - } - } else { - if ($this->config->isDefinedLayer('ftp')) { - // try the remote config file first - $to = $this->config->get($a['to'], 'ftp', $pkg->getChannel()); - if (is_null($to)) { - // then default to local - $to = $this->config->get($a['to'], null, $pkg->getChannel()); - } - } else { - $to = $this->config->get($a['to'], null, $pkg->getChannel()); - } - } - if (is_null($to)) { - $this->logger->log(0, "$dest: invalid pear-config replacement: $a[to]"); - return false; - } - } elseif ($a['type'] == 'php-const') { - if ($this->installphase == PEAR_TASK_PACKAGE) { - return false; - } - if (defined($a['to'])) { - $to = constant($a['to']); - } else { - $this->logger->log(0, "$dest: invalid php-const replacement: $a[to]"); - return false; - } - } else { - if ($t = $pkg->packageInfo($a['to'])) { - $to = $t; - } else { - $this->logger->log(0, "$dest: invalid package-info replacement: $a[to]"); - return false; - } - } - if (!is_null($to)) { - $subst_from[] = $a['from']; - $subst_to[] = $to; - } - } - $this->logger->log(3, "doing " . sizeof($subst_from) . - " substitution(s) for $dest"); - if (sizeof($subst_from)) { - $contents = str_replace($subst_from, $subst_to, $contents); - } - return $contents; - } -} -?> \ No newline at end of file diff --git a/3rdparty/PEAR/Task/Replace/rw.php b/3rdparty/PEAR/Task/Replace/rw.php deleted file mode 100644 index 32dad58629746623b2bf932a7cd866a2a3f10cb5..0000000000000000000000000000000000000000 --- a/3rdparty/PEAR/Task/Replace/rw.php +++ /dev/null @@ -1,61 +0,0 @@ - - read/write version - * - * PHP versions 4 and 5 - * - * @category pear - * @package PEAR - * @author Greg Beaver - * @copyright 1997-2009 The Authors - * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: rw.php 313023 2011-07-06 19:17:11Z dufuz $ - * @link http://pear.php.net/package/PEAR - * @since File available since Release 1.4.0a10 - */ -/** - * Base class - */ -require_once 'PEAR/Task/Replace.php'; -/** - * Abstracts the replace task xml. - * @category pear - * @package PEAR - * @author Greg Beaver - * @copyright 1997-2009 The Authors - * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.4 - * @link http://pear.php.net/package/PEAR - * @since Class available since Release 1.4.0a10 - */ -class PEAR_Task_Replace_rw extends PEAR_Task_Replace -{ - function PEAR_Task_Replace_rw(&$pkg, &$config, &$logger, $fileXml) - { - parent::PEAR_Task_Common($config, $logger, PEAR_TASK_PACKAGE); - $this->_contents = $fileXml; - $this->_pkg = &$pkg; - $this->_params = array(); - } - - function validate() - { - return $this->validateXml($this->_pkg, $this->_params, $this->config, $this->_contents); - } - - function setInfo($from, $to, $type) - { - $this->_params = array('attribs' => array('from' => $from, 'to' => $to, 'type' => $type)); - } - - function getName() - { - return 'replace'; - } - - function getXml() - { - return $this->_params; - } -} -?> \ No newline at end of file diff --git a/3rdparty/PEAR/Task/Unixeol.php b/3rdparty/PEAR/Task/Unixeol.php deleted file mode 100644 index 89ca81be349c45e7e5d94de2b8fc4ff65d4b9773..0000000000000000000000000000000000000000 --- a/3rdparty/PEAR/Task/Unixeol.php +++ /dev/null @@ -1,77 +0,0 @@ - - * - * PHP versions 4 and 5 - * - * @category pear - * @package PEAR - * @author Greg Beaver - * @copyright 1997-2009 The Authors - * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: Unixeol.php 313023 2011-07-06 19:17:11Z dufuz $ - * @link http://pear.php.net/package/PEAR - * @since File available since Release 1.4.0a1 - */ -/** - * Base class - */ -require_once 'PEAR/Task/Common.php'; -/** - * Implements the unix line endings file task. - * @category pear - * @package PEAR - * @author Greg Beaver - * @copyright 1997-2009 The Authors - * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.4 - * @link http://pear.php.net/package/PEAR - * @since Class available since Release 1.4.0a1 - */ -class PEAR_Task_Unixeol extends PEAR_Task_Common -{ - var $type = 'simple'; - var $phase = PEAR_TASK_PACKAGE; - var $_replacements; - - /** - * Validate the raw xml at parsing-time. - * @param PEAR_PackageFile_v2 - * @param array raw, parsed xml - * @param PEAR_Config - * @static - */ - function validateXml($pkg, $xml, $config, $fileXml) - { - if ($xml != '') { - return array(PEAR_TASK_ERROR_INVALID, 'no attributes allowed'); - } - return true; - } - - /** - * Initialize a task instance with the parameters - * @param array raw, parsed xml - * @param unused - */ - function init($xml, $attribs) - { - } - - /** - * Replace all line endings with line endings customized for the current OS - * - * See validateXml() source for the complete list of allowed fields - * @param PEAR_PackageFile_v1|PEAR_PackageFile_v2 - * @param string file contents - * @param string the eventual final file location (informational only) - * @return string|false|PEAR_Error false to skip this file, PEAR_Error to fail - * (use $this->throwError), otherwise return the new contents - */ - function startSession($pkg, $contents, $dest) - { - $this->logger->log(3, "replacing all line endings with \\n in $dest"); - return preg_replace("/\r\n|\n\r|\r|\n/", "\n", $contents); - } -} -?> \ No newline at end of file diff --git a/3rdparty/PEAR/Task/Unixeol/rw.php b/3rdparty/PEAR/Task/Unixeol/rw.php deleted file mode 100644 index b2ae5fa5cbd7437fb05f0deba3363dfbf028088f..0000000000000000000000000000000000000000 --- a/3rdparty/PEAR/Task/Unixeol/rw.php +++ /dev/null @@ -1,56 +0,0 @@ - - read/write version - * - * PHP versions 4 and 5 - * - * @category pear - * @package PEAR - * @author Greg Beaver - * @copyright 1997-2009 The Authors - * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: rw.php 313023 2011-07-06 19:17:11Z dufuz $ - * @link http://pear.php.net/package/PEAR - * @since File available since Release 1.4.0a10 - */ -/** - * Base class - */ -require_once 'PEAR/Task/Unixeol.php'; -/** - * Abstracts the unixeol task xml. - * @category pear - * @package PEAR - * @author Greg Beaver - * @copyright 1997-2009 The Authors - * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.4 - * @link http://pear.php.net/package/PEAR - * @since Class available since Release 1.4.0a10 - */ -class PEAR_Task_Unixeol_rw extends PEAR_Task_Unixeol -{ - function PEAR_Task_Unixeol_rw(&$pkg, &$config, &$logger, $fileXml) - { - parent::PEAR_Task_Common($config, $logger, PEAR_TASK_PACKAGE); - $this->_contents = $fileXml; - $this->_pkg = &$pkg; - $this->_params = array(); - } - - function validate() - { - return true; - } - - function getName() - { - return 'unixeol'; - } - - function getXml() - { - return ''; - } -} -?> \ No newline at end of file diff --git a/3rdparty/PEAR/Task/Windowseol.php b/3rdparty/PEAR/Task/Windowseol.php deleted file mode 100644 index 8ba4171159faccaaccdbc641d4a7e9555c50de20..0000000000000000000000000000000000000000 --- a/3rdparty/PEAR/Task/Windowseol.php +++ /dev/null @@ -1,77 +0,0 @@ - - * - * PHP versions 4 and 5 - * - * @category pear - * @package PEAR - * @author Greg Beaver - * @copyright 1997-2009 The Authors - * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: Windowseol.php 313023 2011-07-06 19:17:11Z dufuz $ - * @link http://pear.php.net/package/PEAR - * @since File available since Release 1.4.0a1 - */ -/** - * Base class - */ -require_once 'PEAR/Task/Common.php'; -/** - * Implements the windows line endsings file task. - * @category pear - * @package PEAR - * @author Greg Beaver - * @copyright 1997-2009 The Authors - * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.4 - * @link http://pear.php.net/package/PEAR - * @since Class available since Release 1.4.0a1 - */ -class PEAR_Task_Windowseol extends PEAR_Task_Common -{ - var $type = 'simple'; - var $phase = PEAR_TASK_PACKAGE; - var $_replacements; - - /** - * Validate the raw xml at parsing-time. - * @param PEAR_PackageFile_v2 - * @param array raw, parsed xml - * @param PEAR_Config - * @static - */ - function validateXml($pkg, $xml, $config, $fileXml) - { - if ($xml != '') { - return array(PEAR_TASK_ERROR_INVALID, 'no attributes allowed'); - } - return true; - } - - /** - * Initialize a task instance with the parameters - * @param array raw, parsed xml - * @param unused - */ - function init($xml, $attribs) - { - } - - /** - * Replace all line endings with windows line endings - * - * See validateXml() source for the complete list of allowed fields - * @param PEAR_PackageFile_v1|PEAR_PackageFile_v2 - * @param string file contents - * @param string the eventual final file location (informational only) - * @return string|false|PEAR_Error false to skip this file, PEAR_Error to fail - * (use $this->throwError), otherwise return the new contents - */ - function startSession($pkg, $contents, $dest) - { - $this->logger->log(3, "replacing all line endings with \\r\\n in $dest"); - return preg_replace("/\r\n|\n\r|\r|\n/", "\r\n", $contents); - } -} -?> \ No newline at end of file diff --git a/3rdparty/PEAR/Task/Windowseol/rw.php b/3rdparty/PEAR/Task/Windowseol/rw.php deleted file mode 100644 index f0f1149c83ec58678c9ee10032852af875d7f765..0000000000000000000000000000000000000000 --- a/3rdparty/PEAR/Task/Windowseol/rw.php +++ /dev/null @@ -1,56 +0,0 @@ - - read/write version - * - * PHP versions 4 and 5 - * - * @category pear - * @package PEAR - * @author Greg Beaver - * @copyright 1997-2009 The Authors - * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: rw.php 313023 2011-07-06 19:17:11Z dufuz $ - * @link http://pear.php.net/package/PEAR - * @since File available since Release 1.4.0a10 - */ -/** - * Base class - */ -require_once 'PEAR/Task/Windowseol.php'; -/** - * Abstracts the windowseol task xml. - * @category pear - * @package PEAR - * @author Greg Beaver - * @copyright 1997-2009 The Authors - * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.4 - * @link http://pear.php.net/package/PEAR - * @since Class available since Release 1.4.0a10 - */ -class PEAR_Task_Windowseol_rw extends PEAR_Task_Windowseol -{ - function PEAR_Task_Windowseol_rw(&$pkg, &$config, &$logger, $fileXml) - { - parent::PEAR_Task_Common($config, $logger, PEAR_TASK_PACKAGE); - $this->_contents = $fileXml; - $this->_pkg = &$pkg; - $this->_params = array(); - } - - function validate() - { - return true; - } - - function getName() - { - return 'windowseol'; - } - - function getXml() - { - return ''; - } -} -?> \ No newline at end of file diff --git a/3rdparty/PEAR/Validate.php b/3rdparty/PEAR/Validate.php deleted file mode 100644 index 176560bc2377c1edd4293a2465ec9b57586ad35a..0000000000000000000000000000000000000000 --- a/3rdparty/PEAR/Validate.php +++ /dev/null @@ -1,629 +0,0 @@ - - * @copyright 1997-2009 The Authors - * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: Validate.php 313023 2011-07-06 19:17:11Z dufuz $ - * @link http://pear.php.net/package/PEAR - * @since File available since Release 1.4.0a1 - */ -/**#@+ - * Constants for install stage - */ -define('PEAR_VALIDATE_INSTALLING', 1); -define('PEAR_VALIDATE_UNINSTALLING', 2); // this is not bit-mapped like the others -define('PEAR_VALIDATE_NORMAL', 3); -define('PEAR_VALIDATE_DOWNLOADING', 4); // this is not bit-mapped like the others -define('PEAR_VALIDATE_PACKAGING', 7); -/**#@-*/ -require_once 'PEAR/Common.php'; -require_once 'PEAR/Validator/PECL.php'; - -/** - * Validation class for package.xml - channel-level advanced validation - * @category pear - * @package PEAR - * @author Greg Beaver - * @copyright 1997-2009 The Authors - * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.4 - * @link http://pear.php.net/package/PEAR - * @since Class available since Release 1.4.0a1 - */ -class PEAR_Validate -{ - var $packageregex = _PEAR_COMMON_PACKAGE_NAME_PREG; - /** - * @var PEAR_PackageFile_v1|PEAR_PackageFile_v2 - */ - var $_packagexml; - /** - * @var int one of the PEAR_VALIDATE_* constants - */ - var $_state = PEAR_VALIDATE_NORMAL; - /** - * Format: ('error' => array('field' => name, 'reason' => reason), 'warning' => same) - * @var array - * @access private - */ - var $_failures = array('error' => array(), 'warning' => array()); - - /** - * Override this method to handle validation of normal package names - * @param string - * @return bool - * @access protected - */ - function _validPackageName($name) - { - return (bool) preg_match('/^' . $this->packageregex . '\\z/', $name); - } - - /** - * @param string package name to validate - * @param string name of channel-specific validation package - * @final - */ - function validPackageName($name, $validatepackagename = false) - { - if ($validatepackagename) { - if (strtolower($name) == strtolower($validatepackagename)) { - return (bool) preg_match('/^[a-zA-Z0-9_]+(?:\.[a-zA-Z0-9_]+)*\\z/', $name); - } - } - return $this->_validPackageName($name); - } - - /** - * This validates a bundle name, and bundle names must conform - * to the PEAR naming convention, so the method is final and static. - * @param string - * @final - * @static - */ - function validGroupName($name) - { - return (bool) preg_match('/^' . _PEAR_COMMON_PACKAGE_NAME_PREG . '\\z/', $name); - } - - /** - * Determine whether $state represents a valid stability level - * @param string - * @return bool - * @static - * @final - */ - function validState($state) - { - return in_array($state, array('snapshot', 'devel', 'alpha', 'beta', 'stable')); - } - - /** - * Get a list of valid stability levels - * @return array - * @static - * @final - */ - function getValidStates() - { - return array('snapshot', 'devel', 'alpha', 'beta', 'stable'); - } - - /** - * Determine whether a version is a properly formatted version number that can be used - * by version_compare - * @param string - * @return bool - * @static - * @final - */ - function validVersion($ver) - { - return (bool) preg_match(PEAR_COMMON_PACKAGE_VERSION_PREG, $ver); - } - - /** - * @param PEAR_PackageFile_v1|PEAR_PackageFile_v2 - */ - function setPackageFile(&$pf) - { - $this->_packagexml = &$pf; - } - - /** - * @access private - */ - function _addFailure($field, $reason) - { - $this->_failures['errors'][] = array('field' => $field, 'reason' => $reason); - } - - /** - * @access private - */ - function _addWarning($field, $reason) - { - $this->_failures['warnings'][] = array('field' => $field, 'reason' => $reason); - } - - function getFailures() - { - $failures = $this->_failures; - $this->_failures = array('warnings' => array(), 'errors' => array()); - return $failures; - } - - /** - * @param int one of the PEAR_VALIDATE_* constants - */ - function validate($state = null) - { - if (!isset($this->_packagexml)) { - return false; - } - if ($state !== null) { - $this->_state = $state; - } - $this->_failures = array('warnings' => array(), 'errors' => array()); - $this->validatePackageName(); - $this->validateVersion(); - $this->validateMaintainers(); - $this->validateDate(); - $this->validateSummary(); - $this->validateDescription(); - $this->validateLicense(); - $this->validateNotes(); - if ($this->_packagexml->getPackagexmlVersion() == '1.0') { - $this->validateState(); - $this->validateFilelist(); - } elseif ($this->_packagexml->getPackagexmlVersion() == '2.0' || - $this->_packagexml->getPackagexmlVersion() == '2.1') { - $this->validateTime(); - $this->validateStability(); - $this->validateDeps(); - $this->validateMainFilelist(); - $this->validateReleaseFilelist(); - //$this->validateGlobalTasks(); - $this->validateChangelog(); - } - return !((bool) count($this->_failures['errors'])); - } - - /** - * @access protected - */ - function validatePackageName() - { - if ($this->_state == PEAR_VALIDATE_PACKAGING || - $this->_state == PEAR_VALIDATE_NORMAL) { - if (($this->_packagexml->getPackagexmlVersion() == '2.0' || - $this->_packagexml->getPackagexmlVersion() == '2.1') && - $this->_packagexml->getExtends()) { - $version = $this->_packagexml->getVersion() . ''; - $name = $this->_packagexml->getPackage(); - $test = array_shift($a = explode('.', $version)); - if ($test == '0') { - return true; - } - $vlen = strlen($test); - $majver = substr($name, strlen($name) - $vlen); - while ($majver && !is_numeric($majver{0})) { - $majver = substr($majver, 1); - } - if ($majver != $test) { - $this->_addWarning('package', "package $name extends package " . - $this->_packagexml->getExtends() . ' and so the name should ' . - 'have a postfix equal to the major version like "' . - $this->_packagexml->getExtends() . $test . '"'); - return true; - } elseif (substr($name, 0, strlen($name) - $vlen) != - $this->_packagexml->getExtends()) { - $this->_addWarning('package', "package $name extends package " . - $this->_packagexml->getExtends() . ' and so the name must ' . - 'be an extension like "' . $this->_packagexml->getExtends() . - $test . '"'); - return true; - } - } - } - if (!$this->validPackageName($this->_packagexml->getPackage())) { - $this->_addFailure('name', 'package name "' . - $this->_packagexml->getPackage() . '" is invalid'); - return false; - } - } - - /** - * @access protected - */ - function validateVersion() - { - if ($this->_state != PEAR_VALIDATE_PACKAGING) { - if (!$this->validVersion($this->_packagexml->getVersion())) { - $this->_addFailure('version', - 'Invalid version number "' . $this->_packagexml->getVersion() . '"'); - } - return false; - } - $version = $this->_packagexml->getVersion(); - $versioncomponents = explode('.', $version); - if (count($versioncomponents) != 3) { - $this->_addWarning('version', - 'A version number should have 3 decimals (x.y.z)'); - return true; - } - $name = $this->_packagexml->getPackage(); - // version must be based upon state - switch ($this->_packagexml->getState()) { - case 'snapshot' : - return true; - case 'devel' : - if ($versioncomponents[0] . 'a' == '0a') { - return true; - } - if ($versioncomponents[0] == 0) { - $versioncomponents[0] = '0'; - $this->_addWarning('version', - 'version "' . $version . '" should be "' . - implode('.' ,$versioncomponents) . '"'); - } else { - $this->_addWarning('version', - 'packages with devel stability must be < version 1.0.0'); - } - return true; - break; - case 'alpha' : - case 'beta' : - // check for a package that extends a package, - // like Foo and Foo2 - if ($this->_state == PEAR_VALIDATE_PACKAGING) { - if (substr($versioncomponents[2], 1, 2) == 'rc') { - $this->_addFailure('version', 'Release Candidate versions ' . - 'must have capital RC, not lower-case rc'); - return false; - } - } - if (!$this->_packagexml->getExtends()) { - if ($versioncomponents[0] == '1') { - if ($versioncomponents[2]{0} == '0') { - if ($versioncomponents[2] == '0') { - // version 1.*.0000 - $this->_addWarning('version', - 'version 1.' . $versioncomponents[1] . - '.0 probably should not be alpha or beta'); - return true; - } elseif (strlen($versioncomponents[2]) > 1) { - // version 1.*.0RC1 or 1.*.0beta24 etc. - return true; - } else { - // version 1.*.0 - $this->_addWarning('version', - 'version 1.' . $versioncomponents[1] . - '.0 probably should not be alpha or beta'); - return true; - } - } else { - $this->_addWarning('version', - 'bugfix versions (1.3.x where x > 0) probably should ' . - 'not be alpha or beta'); - return true; - } - } elseif ($versioncomponents[0] != '0') { - $this->_addWarning('version', - 'major versions greater than 1 are not allowed for packages ' . - 'without an tag or an identical postfix (foo2 v2.0.0)'); - return true; - } - if ($versioncomponents[0] . 'a' == '0a') { - return true; - } - if ($versioncomponents[0] == 0) { - $versioncomponents[0] = '0'; - $this->_addWarning('version', - 'version "' . $version . '" should be "' . - implode('.' ,$versioncomponents) . '"'); - } - } else { - $vlen = strlen($versioncomponents[0] . ''); - $majver = substr($name, strlen($name) - $vlen); - while ($majver && !is_numeric($majver{0})) { - $majver = substr($majver, 1); - } - if (($versioncomponents[0] != 0) && $majver != $versioncomponents[0]) { - $this->_addWarning('version', 'first version number "' . - $versioncomponents[0] . '" must match the postfix of ' . - 'package name "' . $name . '" (' . - $majver . ')'); - return true; - } - if ($versioncomponents[0] == $majver) { - if ($versioncomponents[2]{0} == '0') { - if ($versioncomponents[2] == '0') { - // version 2.*.0000 - $this->_addWarning('version', - "version $majver." . $versioncomponents[1] . - '.0 probably should not be alpha or beta'); - return false; - } elseif (strlen($versioncomponents[2]) > 1) { - // version 2.*.0RC1 or 2.*.0beta24 etc. - return true; - } else { - // version 2.*.0 - $this->_addWarning('version', - "version $majver." . $versioncomponents[1] . - '.0 cannot be alpha or beta'); - return true; - } - } else { - $this->_addWarning('version', - "bugfix versions ($majver.x.y where y > 0) should " . - 'not be alpha or beta'); - return true; - } - } elseif ($versioncomponents[0] != '0') { - $this->_addWarning('version', - "only versions 0.x.y and $majver.x.y are allowed for alpha/beta releases"); - return true; - } - if ($versioncomponents[0] . 'a' == '0a') { - return true; - } - if ($versioncomponents[0] == 0) { - $versioncomponents[0] = '0'; - $this->_addWarning('version', - 'version "' . $version . '" should be "' . - implode('.' ,$versioncomponents) . '"'); - } - } - return true; - break; - case 'stable' : - if ($versioncomponents[0] == '0') { - $this->_addWarning('version', 'versions less than 1.0.0 cannot ' . - 'be stable'); - return true; - } - if (!is_numeric($versioncomponents[2])) { - if (preg_match('/\d+(rc|a|alpha|b|beta)\d*/i', - $versioncomponents[2])) { - $this->_addWarning('version', 'version "' . $version . '" or any ' . - 'RC/beta/alpha version cannot be stable'); - return true; - } - } - // check for a package that extends a package, - // like Foo and Foo2 - if ($this->_packagexml->getExtends()) { - $vlen = strlen($versioncomponents[0] . ''); - $majver = substr($name, strlen($name) - $vlen); - while ($majver && !is_numeric($majver{0})) { - $majver = substr($majver, 1); - } - if (($versioncomponents[0] != 0) && $majver != $versioncomponents[0]) { - $this->_addWarning('version', 'first version number "' . - $versioncomponents[0] . '" must match the postfix of ' . - 'package name "' . $name . '" (' . - $majver . ')'); - return true; - } - } elseif ($versioncomponents[0] > 1) { - $this->_addWarning('version', 'major version x in x.y.z may not be greater than ' . - '1 for any package that does not have an tag'); - } - return true; - break; - default : - return false; - break; - } - } - - /** - * @access protected - */ - function validateMaintainers() - { - // maintainers can only be truly validated server-side for most channels - // but allow this customization for those who wish it - return true; - } - - /** - * @access protected - */ - function validateDate() - { - if ($this->_state == PEAR_VALIDATE_NORMAL || - $this->_state == PEAR_VALIDATE_PACKAGING) { - - if (!preg_match('/(\d\d\d\d)\-(\d\d)\-(\d\d)/', - $this->_packagexml->getDate(), $res) || - count($res) < 4 - || !checkdate($res[2], $res[3], $res[1]) - ) { - $this->_addFailure('date', 'invalid release date "' . - $this->_packagexml->getDate() . '"'); - return false; - } - - if ($this->_state == PEAR_VALIDATE_PACKAGING && - $this->_packagexml->getDate() != date('Y-m-d')) { - $this->_addWarning('date', 'Release Date "' . - $this->_packagexml->getDate() . '" is not today'); - } - } - return true; - } - - /** - * @access protected - */ - function validateTime() - { - if (!$this->_packagexml->getTime()) { - // default of no time value set - return true; - } - - // packager automatically sets time, so only validate if pear validate is called - if ($this->_state = PEAR_VALIDATE_NORMAL) { - if (!preg_match('/\d\d:\d\d:\d\d/', - $this->_packagexml->getTime())) { - $this->_addFailure('time', 'invalid release time "' . - $this->_packagexml->getTime() . '"'); - return false; - } - - $result = preg_match('|\d{2}\:\d{2}\:\d{2}|', $this->_packagexml->getTime(), $matches); - if ($result === false || empty($matches)) { - $this->_addFailure('time', 'invalid release time "' . - $this->_packagexml->getTime() . '"'); - return false; - } - } - - return true; - } - - /** - * @access protected - */ - function validateState() - { - // this is the closest to "final" php4 can get - if (!PEAR_Validate::validState($this->_packagexml->getState())) { - if (strtolower($this->_packagexml->getState() == 'rc')) { - $this->_addFailure('state', 'RC is not a state, it is a version ' . - 'postfix, use ' . $this->_packagexml->getVersion() . 'RC1, state beta'); - } - $this->_addFailure('state', 'invalid release state "' . - $this->_packagexml->getState() . '", must be one of: ' . - implode(', ', PEAR_Validate::getValidStates())); - return false; - } - return true; - } - - /** - * @access protected - */ - function validateStability() - { - $ret = true; - $packagestability = $this->_packagexml->getState(); - $apistability = $this->_packagexml->getState('api'); - if (!PEAR_Validate::validState($packagestability)) { - $this->_addFailure('state', 'invalid release stability "' . - $this->_packagexml->getState() . '", must be one of: ' . - implode(', ', PEAR_Validate::getValidStates())); - $ret = false; - } - $apistates = PEAR_Validate::getValidStates(); - array_shift($apistates); // snapshot is not allowed - if (!in_array($apistability, $apistates)) { - $this->_addFailure('state', 'invalid API stability "' . - $this->_packagexml->getState('api') . '", must be one of: ' . - implode(', ', $apistates)); - $ret = false; - } - return $ret; - } - - /** - * @access protected - */ - function validateSummary() - { - return true; - } - - /** - * @access protected - */ - function validateDescription() - { - return true; - } - - /** - * @access protected - */ - function validateLicense() - { - return true; - } - - /** - * @access protected - */ - function validateNotes() - { - return true; - } - - /** - * for package.xml 2.0 only - channels can't use package.xml 1.0 - * @access protected - */ - function validateDependencies() - { - return true; - } - - /** - * for package.xml 1.0 only - * @access private - */ - function _validateFilelist() - { - return true; // placeholder for now - } - - /** - * for package.xml 2.0 only - * @access protected - */ - function validateMainFilelist() - { - return true; // placeholder for now - } - - /** - * for package.xml 2.0 only - * @access protected - */ - function validateReleaseFilelist() - { - return true; // placeholder for now - } - - /** - * @access protected - */ - function validateChangelog() - { - return true; - } - - /** - * @access protected - */ - function validateFilelist() - { - return true; - } - - /** - * @access protected - */ - function validateDeps() - { - return true; - } -} \ No newline at end of file diff --git a/3rdparty/PEAR/Validator/PECL.php b/3rdparty/PEAR/Validator/PECL.php deleted file mode 100644 index 89b951f7b67c64fe80b647b9cc7f6a9554ee535d..0000000000000000000000000000000000000000 --- a/3rdparty/PEAR/Validator/PECL.php +++ /dev/null @@ -1,63 +0,0 @@ - - * @copyright 1997-2006 The PHP Group - * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: PECL.php 313023 2011-07-06 19:17:11Z dufuz $ - * @link http://pear.php.net/package/PEAR - * @since File available since Release 1.4.0a5 - */ -/** - * This is the parent class for all validators - */ -require_once 'PEAR/Validate.php'; -/** - * Channel Validator for the pecl.php.net channel - * @category pear - * @package PEAR - * @author Greg Beaver - * @copyright 1997-2009 The Authors - * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version Release: 1.9.4 - * @link http://pear.php.net/package/PEAR - * @since Class available since Release 1.4.0a5 - */ -class PEAR_Validator_PECL extends PEAR_Validate -{ - function validateVersion() - { - if ($this->_state == PEAR_VALIDATE_PACKAGING) { - $version = $this->_packagexml->getVersion(); - $versioncomponents = explode('.', $version); - $last = array_pop($versioncomponents); - if (substr($last, 1, 2) == 'rc') { - $this->_addFailure('version', 'Release Candidate versions must have ' . - 'upper-case RC, not lower-case rc'); - return false; - } - } - return true; - } - - function validatePackageName() - { - $ret = parent::validatePackageName(); - if ($this->_packagexml->getPackageType() == 'extsrc' || - $this->_packagexml->getPackageType() == 'zendextsrc') { - if (strtolower($this->_packagexml->getPackage()) != - strtolower($this->_packagexml->getProvidesExtension())) { - $this->_addWarning('providesextension', 'package name "' . - $this->_packagexml->getPackage() . '" is different from extension name "' . - $this->_packagexml->getProvidesExtension() . '"'); - } - } - return $ret; - } -} -?> \ No newline at end of file diff --git a/3rdparty/PEAR/XMLParser.php b/3rdparty/PEAR/XMLParser.php deleted file mode 100644 index 7f091c16fadba71c35552ea4774277403a6b6f94..0000000000000000000000000000000000000000 --- a/3rdparty/PEAR/XMLParser.php +++ /dev/null @@ -1,253 +0,0 @@ - - * @author Stephan Schmidt (original XML_Unserializer code) - * @copyright 1997-2009 The Authors - * @license http://opensource.org/licenses/bsd-license New BSD License - * @version CVS: $Id: XMLParser.php 313023 2011-07-06 19:17:11Z dufuz $ - * @link http://pear.php.net/package/PEAR - * @since File available since Release 1.4.0a1 - */ - -/** - * Parser for any xml file - * @category pear - * @package PEAR - * @author Greg Beaver - * @author Stephan Schmidt (original XML_Unserializer code) - * @copyright 1997-2009 The Authors - * @license http://opensource.org/licenses/bsd-license New BSD License - * @version Release: 1.9.4 - * @link http://pear.php.net/package/PEAR - * @since Class available since Release 1.4.0a1 - */ -class PEAR_XMLParser -{ - /** - * unserilialized data - * @var string $_serializedData - */ - var $_unserializedData = null; - - /** - * name of the root tag - * @var string $_root - */ - var $_root = null; - - /** - * stack for all data that is found - * @var array $_dataStack - */ - var $_dataStack = array(); - - /** - * stack for all values that are generated - * @var array $_valStack - */ - var $_valStack = array(); - - /** - * current tag depth - * @var int $_depth - */ - var $_depth = 0; - - /** - * The XML encoding to use - * @var string $encoding - */ - var $encoding = 'ISO-8859-1'; - - /** - * @return array - */ - function getData() - { - return $this->_unserializedData; - } - - /** - * @param string xml content - * @return true|PEAR_Error - */ - function parse($data) - { - if (!extension_loaded('xml')) { - include_once 'PEAR.php'; - return PEAR::raiseError("XML Extension not found", 1); - } - $this->_dataStack = $this->_valStack = array(); - $this->_depth = 0; - - if ( - strpos($data, 'encoding="UTF-8"') - || strpos($data, 'encoding="utf-8"') - || strpos($data, "encoding='UTF-8'") - || strpos($data, "encoding='utf-8'") - ) { - $this->encoding = 'UTF-8'; - } - - if (version_compare(phpversion(), '5.0.0', 'lt') && $this->encoding == 'UTF-8') { - $data = utf8_decode($data); - $this->encoding = 'ISO-8859-1'; - } - - $xp = xml_parser_create($this->encoding); - xml_parser_set_option($xp, XML_OPTION_CASE_FOLDING, 0); - xml_set_object($xp, $this); - xml_set_element_handler($xp, 'startHandler', 'endHandler'); - xml_set_character_data_handler($xp, 'cdataHandler'); - if (!xml_parse($xp, $data)) { - $msg = xml_error_string(xml_get_error_code($xp)); - $line = xml_get_current_line_number($xp); - xml_parser_free($xp); - include_once 'PEAR.php'; - return PEAR::raiseError("XML Error: '$msg' on line '$line'", 2); - } - xml_parser_free($xp); - return true; - } - - /** - * Start element handler for XML parser - * - * @access private - * @param object $parser XML parser object - * @param string $element XML element - * @param array $attribs attributes of XML tag - * @return void - */ - function startHandler($parser, $element, $attribs) - { - $this->_depth++; - $this->_dataStack[$this->_depth] = null; - - $val = array( - 'name' => $element, - 'value' => null, - 'type' => 'string', - 'childrenKeys' => array(), - 'aggregKeys' => array() - ); - - if (count($attribs) > 0) { - $val['children'] = array(); - $val['type'] = 'array'; - $val['children']['attribs'] = $attribs; - } - - array_push($this->_valStack, $val); - } - - /** - * post-process data - * - * @param string $data - * @param string $element element name - */ - function postProcess($data, $element) - { - return trim($data); - } - - /** - * End element handler for XML parser - * - * @access private - * @param object XML parser object - * @param string - * @return void - */ - function endHandler($parser, $element) - { - $value = array_pop($this->_valStack); - $data = $this->postProcess($this->_dataStack[$this->_depth], $element); - - // adjust type of the value - switch (strtolower($value['type'])) { - // unserialize an array - case 'array': - if ($data !== '') { - $value['children']['_content'] = $data; - } - - $value['value'] = isset($value['children']) ? $value['children'] : array(); - break; - - /* - * unserialize a null value - */ - case 'null': - $data = null; - break; - - /* - * unserialize any scalar value - */ - default: - settype($data, $value['type']); - $value['value'] = $data; - break; - } - - $parent = array_pop($this->_valStack); - if ($parent === null) { - $this->_unserializedData = &$value['value']; - $this->_root = &$value['name']; - return true; - } - - // parent has to be an array - if (!isset($parent['children']) || !is_array($parent['children'])) { - $parent['children'] = array(); - if ($parent['type'] != 'array') { - $parent['type'] = 'array'; - } - } - - if (!empty($value['name'])) { - // there already has been a tag with this name - if (in_array($value['name'], $parent['childrenKeys'])) { - // no aggregate has been created for this tag - if (!in_array($value['name'], $parent['aggregKeys'])) { - if (isset($parent['children'][$value['name']])) { - $parent['children'][$value['name']] = array($parent['children'][$value['name']]); - } else { - $parent['children'][$value['name']] = array(); - } - array_push($parent['aggregKeys'], $value['name']); - } - array_push($parent['children'][$value['name']], $value['value']); - } else { - $parent['children'][$value['name']] = &$value['value']; - array_push($parent['childrenKeys'], $value['name']); - } - } else { - array_push($parent['children'],$value['value']); - } - array_push($this->_valStack, $parent); - - $this->_depth--; - } - - /** - * Handler for character data - * - * @access private - * @param object XML parser object - * @param string CDATA - * @return void - */ - function cdataHandler($parser, $cdata) - { - $this->_dataStack[$this->_depth] .= $cdata; - } -} \ No newline at end of file diff --git a/3rdparty/PEAR5.php b/3rdparty/PEAR5.php deleted file mode 100644 index 428606780b7bf322bbf8bf2379da80d1340cb86b..0000000000000000000000000000000000000000 --- a/3rdparty/PEAR5.php +++ /dev/null @@ -1,33 +0,0 @@ - array( - * '{DAV:}displayname' => null, - * ), - * 424 => array( - * '{DAV:}owner' => null, - * ) - * ) - * - * In this example it was forbidden to update {DAV:}displayname. - * (403 Forbidden), which in turn also caused {DAV:}owner to fail - * (424 Failed Dependency) because the request needs to be atomic. - * - * @param string $calendarId - * @param array $mutations - * @return bool|array - */ - public function updateCalendar($calendarId, array $mutations) { - - return false; - - } - - /** - * Delete a calendar and all it's objects - * - * @param string $calendarId - * @return void - */ - abstract function deleteCalendar($calendarId); - - /** - * Returns all calendar objects within a calendar. - * - * Every item contains an array with the following keys: - * * id - unique identifier which will be used for subsequent updates - * * calendardata - The iCalendar-compatible calendar data - * * uri - a unique key which will be used to construct the uri. This can be any arbitrary string. - * * lastmodified - a timestamp of the last modification time - * * etag - An arbitrary string, surrounded by double-quotes. (e.g.: - * ' "abcdef"') - * * calendarid - The calendarid as it was passed to this function. - * * size - The size of the calendar objects, in bytes. - * - * Note that the etag is optional, but it's highly encouraged to return for - * speed reasons. - * - * The calendardata is also optional. If it's not returned - * 'getCalendarObject' will be called later, which *is* expected to return - * calendardata. - * - * If neither etag or size are specified, the calendardata will be - * used/fetched to determine these numbers. If both are specified the - * amount of times this is needed is reduced by a great degree. - * - * @param string $calendarId - * @return array - */ - abstract function getCalendarObjects($calendarId); - - /** - * Returns information from a single calendar object, based on it's object - * uri. - * - * The returned array must have the same keys as getCalendarObjects. The - * 'calendardata' object is required here though, while it's not required - * for getCalendarObjects. - * - * @param string $calendarId - * @param string $objectUri - * @return array - */ - abstract function getCalendarObject($calendarId,$objectUri); - - /** - * Creates a new calendar object. - * - * @param string $calendarId - * @param string $objectUri - * @param string $calendarData - * @return void - */ - abstract function createCalendarObject($calendarId,$objectUri,$calendarData); - - /** - * Updates an existing calendarobject, based on it's uri. - * - * @param string $calendarId - * @param string $objectUri - * @param string $calendarData - * @return void - */ - abstract function updateCalendarObject($calendarId,$objectUri,$calendarData); - - /** - * Deletes an existing calendar object. - * - * @param string $calendarId - * @param string $objectUri - * @return void - */ - abstract function deleteCalendarObject($calendarId,$objectUri); - -} diff --git a/3rdparty/Sabre/CalDAV/Backend/PDO.php b/3rdparty/Sabre/CalDAV/Backend/PDO.php deleted file mode 100755 index ddacf940c74fa12e21ff389e06604325c55bf3ba..0000000000000000000000000000000000000000 --- a/3rdparty/Sabre/CalDAV/Backend/PDO.php +++ /dev/null @@ -1,396 +0,0 @@ - 'displayname', - '{urn:ietf:params:xml:ns:caldav}calendar-description' => 'description', - '{urn:ietf:params:xml:ns:caldav}calendar-timezone' => 'timezone', - '{http://apple.com/ns/ical/}calendar-order' => 'calendarorder', - '{http://apple.com/ns/ical/}calendar-color' => 'calendarcolor', - ); - - /** - * Creates the backend - * - * @param PDO $pdo - * @param string $calendarTableName - * @param string $calendarObjectTableName - */ - public function __construct(PDO $pdo, $calendarTableName = 'calendars', $calendarObjectTableName = 'calendarobjects') { - - $this->pdo = $pdo; - $this->calendarTableName = $calendarTableName; - $this->calendarObjectTableName = $calendarObjectTableName; - - } - - /** - * Returns a list of calendars for a principal. - * - * Every project is an array with the following keys: - * * id, a unique id that will be used by other functions to modify the - * calendar. This can be the same as the uri or a database key. - * * uri, which the basename of the uri with which the calendar is - * accessed. - * * principaluri. The owner of the calendar. Almost always the same as - * principalUri passed to this method. - * - * Furthermore it can contain webdav properties in clark notation. A very - * common one is '{DAV:}displayname'. - * - * @param string $principalUri - * @return array - */ - public function getCalendarsForUser($principalUri) { - - $fields = array_values($this->propertyMap); - $fields[] = 'id'; - $fields[] = 'uri'; - $fields[] = 'ctag'; - $fields[] = 'components'; - $fields[] = 'principaluri'; - - // Making fields a comma-delimited list - $fields = implode(', ', $fields); - $stmt = $this->pdo->prepare("SELECT " . $fields . " FROM ".$this->calendarTableName." WHERE principaluri = ? ORDER BY calendarorder ASC"); - $stmt->execute(array($principalUri)); - - $calendars = array(); - while($row = $stmt->fetch(PDO::FETCH_ASSOC)) { - - $components = array(); - if ($row['components']) { - $components = explode(',',$row['components']); - } - - $calendar = array( - 'id' => $row['id'], - 'uri' => $row['uri'], - 'principaluri' => $row['principaluri'], - '{' . Sabre_CalDAV_Plugin::NS_CALENDARSERVER . '}getctag' => $row['ctag']?$row['ctag']:'0', - '{' . Sabre_CalDAV_Plugin::NS_CALDAV . '}supported-calendar-component-set' => new Sabre_CalDAV_Property_SupportedCalendarComponentSet($components), - ); - - - foreach($this->propertyMap as $xmlName=>$dbName) { - $calendar[$xmlName] = $row[$dbName]; - } - - $calendars[] = $calendar; - - } - - return $calendars; - - } - - /** - * Creates a new calendar for a principal. - * - * If the creation was a success, an id must be returned that can be used to reference - * this calendar in other methods, such as updateCalendar - * - * @param string $principalUri - * @param string $calendarUri - * @param array $properties - * @return string - */ - public function createCalendar($principalUri, $calendarUri, array $properties) { - - $fieldNames = array( - 'principaluri', - 'uri', - 'ctag', - ); - $values = array( - ':principaluri' => $principalUri, - ':uri' => $calendarUri, - ':ctag' => 1, - ); - - // Default value - $sccs = '{urn:ietf:params:xml:ns:caldav}supported-calendar-component-set'; - $fieldNames[] = 'components'; - if (!isset($properties[$sccs])) { - $values[':components'] = 'VEVENT,VTODO'; - } else { - if (!($properties[$sccs] instanceof Sabre_CalDAV_Property_SupportedCalendarComponentSet)) { - throw new Sabre_DAV_Exception('The ' . $sccs . ' property must be of type: Sabre_CalDAV_Property_SupportedCalendarComponentSet'); - } - $values[':components'] = implode(',',$properties[$sccs]->getValue()); - } - - foreach($this->propertyMap as $xmlName=>$dbName) { - if (isset($properties[$xmlName])) { - - $values[':' . $dbName] = $properties[$xmlName]; - $fieldNames[] = $dbName; - } - } - - $stmt = $this->pdo->prepare("INSERT INTO ".$this->calendarTableName." (".implode(', ', $fieldNames).") VALUES (".implode(', ',array_keys($values)).")"); - $stmt->execute($values); - - return $this->pdo->lastInsertId(); - - } - - /** - * Updates properties for a calendar. - * - * The mutations array uses the propertyName in clark-notation as key, - * and the array value for the property value. In the case a property - * should be deleted, the property value will be null. - * - * This method must be atomic. If one property cannot be changed, the - * entire operation must fail. - * - * If the operation was successful, true can be returned. - * If the operation failed, false can be returned. - * - * Deletion of a non-existent property is always successful. - * - * Lastly, it is optional to return detailed information about any - * failures. In this case an array should be returned with the following - * structure: - * - * array( - * 403 => array( - * '{DAV:}displayname' => null, - * ), - * 424 => array( - * '{DAV:}owner' => null, - * ) - * ) - * - * In this example it was forbidden to update {DAV:}displayname. - * (403 Forbidden), which in turn also caused {DAV:}owner to fail - * (424 Failed Dependency) because the request needs to be atomic. - * - * @param string $calendarId - * @param array $mutations - * @return bool|array - */ - public function updateCalendar($calendarId, array $mutations) { - - $newValues = array(); - $result = array( - 200 => array(), // Ok - 403 => array(), // Forbidden - 424 => array(), // Failed Dependency - ); - - $hasError = false; - - foreach($mutations as $propertyName=>$propertyValue) { - - // We don't know about this property. - if (!isset($this->propertyMap[$propertyName])) { - $hasError = true; - $result[403][$propertyName] = null; - unset($mutations[$propertyName]); - continue; - } - - $fieldName = $this->propertyMap[$propertyName]; - $newValues[$fieldName] = $propertyValue; - - } - - // If there were any errors we need to fail the request - if ($hasError) { - // Properties has the remaining properties - foreach($mutations as $propertyName=>$propertyValue) { - $result[424][$propertyName] = null; - } - - // Removing unused statuscodes for cleanliness - foreach($result as $status=>$properties) { - if (is_array($properties) && count($properties)===0) unset($result[$status]); - } - - return $result; - - } - - // Success - - // Now we're generating the sql query. - $valuesSql = array(); - foreach($newValues as $fieldName=>$value) { - $valuesSql[] = $fieldName . ' = ?'; - } - $valuesSql[] = 'ctag = ctag + 1'; - - $stmt = $this->pdo->prepare("UPDATE " . $this->calendarTableName . " SET " . implode(', ',$valuesSql) . " WHERE id = ?"); - $newValues['id'] = $calendarId; - $stmt->execute(array_values($newValues)); - - return true; - - } - - /** - * Delete a calendar and all it's objects - * - * @param string $calendarId - * @return void - */ - public function deleteCalendar($calendarId) { - - $stmt = $this->pdo->prepare('DELETE FROM '.$this->calendarObjectTableName.' WHERE calendarid = ?'); - $stmt->execute(array($calendarId)); - - $stmt = $this->pdo->prepare('DELETE FROM '.$this->calendarTableName.' WHERE id = ?'); - $stmt->execute(array($calendarId)); - - } - - /** - * Returns all calendar objects within a calendar. - * - * Every item contains an array with the following keys: - * * id - unique identifier which will be used for subsequent updates - * * calendardata - The iCalendar-compatible calendar data - * * uri - a unique key which will be used to construct the uri. This can be any arbitrary string. - * * lastmodified - a timestamp of the last modification time - * * etag - An arbitrary string, surrounded by double-quotes. (e.g.: - * ' "abcdef"') - * * calendarid - The calendarid as it was passed to this function. - * * size - The size of the calendar objects, in bytes. - * - * Note that the etag is optional, but it's highly encouraged to return for - * speed reasons. - * - * The calendardata is also optional. If it's not returned - * 'getCalendarObject' will be called later, which *is* expected to return - * calendardata. - * - * If neither etag or size are specified, the calendardata will be - * used/fetched to determine these numbers. If both are specified the - * amount of times this is needed is reduced by a great degree. - * - * @param string $calendarId - * @return array - */ - public function getCalendarObjects($calendarId) { - - $stmt = $this->pdo->prepare('SELECT * FROM '.$this->calendarObjectTableName.' WHERE calendarid = ?'); - $stmt->execute(array($calendarId)); - return $stmt->fetchAll(); - - } - - /** - * Returns information from a single calendar object, based on it's object - * uri. - * - * The returned array must have the same keys as getCalendarObjects. The - * 'calendardata' object is required here though, while it's not required - * for getCalendarObjects. - * - * @param string $calendarId - * @param string $objectUri - * @return array - */ - public function getCalendarObject($calendarId,$objectUri) { - - $stmt = $this->pdo->prepare('SELECT * FROM '.$this->calendarObjectTableName.' WHERE calendarid = ? AND uri = ?'); - $stmt->execute(array($calendarId, $objectUri)); - return $stmt->fetch(); - - } - - /** - * Creates a new calendar object. - * - * @param string $calendarId - * @param string $objectUri - * @param string $calendarData - * @return void - */ - public function createCalendarObject($calendarId,$objectUri,$calendarData) { - - $stmt = $this->pdo->prepare('INSERT INTO '.$this->calendarObjectTableName.' (calendarid, uri, calendardata, lastmodified) VALUES (?,?,?,?)'); - $stmt->execute(array($calendarId,$objectUri,$calendarData,time())); - $stmt = $this->pdo->prepare('UPDATE '.$this->calendarTableName.' SET ctag = ctag + 1 WHERE id = ?'); - $stmt->execute(array($calendarId)); - - } - - /** - * Updates an existing calendarobject, based on it's uri. - * - * @param string $calendarId - * @param string $objectUri - * @param string $calendarData - * @return void - */ - public function updateCalendarObject($calendarId,$objectUri,$calendarData) { - - $stmt = $this->pdo->prepare('UPDATE '.$this->calendarObjectTableName.' SET calendardata = ?, lastmodified = ? WHERE calendarid = ? AND uri = ?'); - $stmt->execute(array($calendarData,time(),$calendarId,$objectUri)); - $stmt = $this->pdo->prepare('UPDATE '.$this->calendarTableName.' SET ctag = ctag + 1 WHERE id = ?'); - $stmt->execute(array($calendarId)); - - } - - /** - * Deletes an existing calendar object. - * - * @param string $calendarId - * @param string $objectUri - * @return void - */ - public function deleteCalendarObject($calendarId,$objectUri) { - - $stmt = $this->pdo->prepare('DELETE FROM '.$this->calendarObjectTableName.' WHERE calendarid = ? AND uri = ?'); - $stmt->execute(array($calendarId,$objectUri)); - $stmt = $this->pdo->prepare('UPDATE '. $this->calendarTableName .' SET ctag = ctag + 1 WHERE id = ?'); - $stmt->execute(array($calendarId)); - - } - - -} diff --git a/3rdparty/Sabre/CalDAV/Calendar.php b/3rdparty/Sabre/CalDAV/Calendar.php deleted file mode 100755 index 623df2dd1b8951cb9d6730f9b6849265dcf1f159..0000000000000000000000000000000000000000 --- a/3rdparty/Sabre/CalDAV/Calendar.php +++ /dev/null @@ -1,343 +0,0 @@ -caldavBackend = $caldavBackend; - $this->principalBackend = $principalBackend; - $this->calendarInfo = $calendarInfo; - - - } - - /** - * Returns the name of the calendar - * - * @return string - */ - public function getName() { - - return $this->calendarInfo['uri']; - - } - - /** - * Updates properties such as the display name and description - * - * @param array $mutations - * @return array - */ - public function updateProperties($mutations) { - - return $this->caldavBackend->updateCalendar($this->calendarInfo['id'],$mutations); - - } - - /** - * Returns the list of properties - * - * @param array $requestedProperties - * @return array - */ - public function getProperties($requestedProperties) { - - $response = array(); - - foreach($requestedProperties as $prop) switch($prop) { - - case '{urn:ietf:params:xml:ns:caldav}supported-calendar-data' : - $response[$prop] = new Sabre_CalDAV_Property_SupportedCalendarData(); - break; - case '{urn:ietf:params:xml:ns:caldav}supported-collation-set' : - $response[$prop] = new Sabre_CalDAV_Property_SupportedCollationSet(); - break; - case '{DAV:}owner' : - $response[$prop] = new Sabre_DAVACL_Property_Principal(Sabre_DAVACL_Property_Principal::HREF,$this->calendarInfo['principaluri']); - break; - default : - if (isset($this->calendarInfo[$prop])) $response[$prop] = $this->calendarInfo[$prop]; - break; - - } - return $response; - - } - - /** - * Returns a calendar object - * - * The contained calendar objects are for example Events or Todo's. - * - * @param string $name - * @return Sabre_DAV_ICalendarObject - */ - public function getChild($name) { - - $obj = $this->caldavBackend->getCalendarObject($this->calendarInfo['id'],$name); - if (!$obj) throw new Sabre_DAV_Exception_NotFound('Calendar object not found'); - return new Sabre_CalDAV_CalendarObject($this->caldavBackend,$this->calendarInfo,$obj); - - } - - /** - * Returns the full list of calendar objects - * - * @return array - */ - public function getChildren() { - - $objs = $this->caldavBackend->getCalendarObjects($this->calendarInfo['id']); - $children = array(); - foreach($objs as $obj) { - $children[] = new Sabre_CalDAV_CalendarObject($this->caldavBackend,$this->calendarInfo,$obj); - } - return $children; - - } - - /** - * Checks if a child-node exists. - * - * @param string $name - * @return bool - */ - public function childExists($name) { - - $obj = $this->caldavBackend->getCalendarObject($this->calendarInfo['id'],$name); - if (!$obj) - return false; - else - return true; - - } - - /** - * Creates a new directory - * - * We actually block this, as subdirectories are not allowed in calendars. - * - * @param string $name - * @return void - */ - public function createDirectory($name) { - - throw new Sabre_DAV_Exception_MethodNotAllowed('Creating collections in calendar objects is not allowed'); - - } - - /** - * Creates a new file - * - * The contents of the new file must be a valid ICalendar string. - * - * @param string $name - * @param resource $calendarData - * @return string|null - */ - public function createFile($name,$calendarData = null) { - - if (is_resource($calendarData)) { - $calendarData = stream_get_contents($calendarData); - } - return $this->caldavBackend->createCalendarObject($this->calendarInfo['id'],$name,$calendarData); - - } - - /** - * Deletes the calendar. - * - * @return void - */ - public function delete() { - - $this->caldavBackend->deleteCalendar($this->calendarInfo['id']); - - } - - /** - * Renames the calendar. Note that most calendars use the - * {DAV:}displayname to display a name to display a name. - * - * @param string $newName - * @return void - */ - public function setName($newName) { - - throw new Sabre_DAV_Exception_MethodNotAllowed('Renaming calendars is not yet supported'); - - } - - /** - * Returns the last modification date as a unix timestamp. - * - * @return void - */ - public function getLastModified() { - - return null; - - } - - /** - * Returns the owner principal - * - * This must be a url to a principal, or null if there's no owner - * - * @return string|null - */ - public function getOwner() { - - return $this->calendarInfo['principaluri']; - - } - - /** - * Returns a group principal - * - * This must be a url to a principal, or null if there's no owner - * - * @return string|null - */ - public function getGroup() { - - return null; - - } - - /** - * Returns a list of ACE's for this node. - * - * Each ACE has the following properties: - * * 'privilege', a string such as {DAV:}read or {DAV:}write. These are - * currently the only supported privileges - * * 'principal', a url to the principal who owns the node - * * 'protected' (optional), indicating that this ACE is not allowed to - * be updated. - * - * @return array - */ - public function getACL() { - - return array( - array( - 'privilege' => '{DAV:}read', - 'principal' => $this->calendarInfo['principaluri'], - 'protected' => true, - ), - array( - 'privilege' => '{DAV:}write', - 'principal' => $this->calendarInfo['principaluri'], - 'protected' => true, - ), - array( - 'privilege' => '{DAV:}read', - 'principal' => $this->calendarInfo['principaluri'] . '/calendar-proxy-write', - 'protected' => true, - ), - array( - 'privilege' => '{DAV:}write', - 'principal' => $this->calendarInfo['principaluri'] . '/calendar-proxy-write', - 'protected' => true, - ), - array( - 'privilege' => '{DAV:}read', - 'principal' => $this->calendarInfo['principaluri'] . '/calendar-proxy-read', - 'protected' => true, - ), - array( - 'privilege' => '{' . Sabre_CalDAV_Plugin::NS_CALDAV . '}read-free-busy', - 'principal' => '{DAV:}authenticated', - 'protected' => true, - ), - - ); - - } - - /** - * Updates the ACL - * - * This method will receive a list of new ACE's. - * - * @param array $acl - * @return void - */ - public function setACL(array $acl) { - - throw new Sabre_DAV_Exception_MethodNotAllowed('Changing ACL is not yet supported'); - - } - - /** - * Returns the list of supported privileges for this node. - * - * The returned data structure is a list of nested privileges. - * See Sabre_DAVACL_Plugin::getDefaultSupportedPrivilegeSet for a simple - * standard structure. - * - * If null is returned from this method, the default privilege set is used, - * which is fine for most common usecases. - * - * @return array|null - */ - public function getSupportedPrivilegeSet() { - - $default = Sabre_DAVACL_Plugin::getDefaultSupportedPrivilegeSet(); - - // We need to inject 'read-free-busy' in the tree, aggregated under - // {DAV:}read. - foreach($default['aggregates'] as &$agg) { - - if ($agg['privilege'] !== '{DAV:}read') continue; - - $agg['aggregates'][] = array( - 'privilege' => '{' . Sabre_CalDAV_Plugin::NS_CALDAV . '}read-free-busy', - ); - - } - return $default; - - } - -} diff --git a/3rdparty/Sabre/CalDAV/CalendarObject.php b/3rdparty/Sabre/CalDAV/CalendarObject.php deleted file mode 100755 index 72f0a578d16a554b847354867c608ca732b8f72e..0000000000000000000000000000000000000000 --- a/3rdparty/Sabre/CalDAV/CalendarObject.php +++ /dev/null @@ -1,273 +0,0 @@ -caldavBackend = $caldavBackend; - - if (!isset($objectData['calendarid'])) { - throw new InvalidArgumentException('The objectData argument must contain a \'calendarid\' property'); - } - if (!isset($objectData['uri'])) { - throw new InvalidArgumentException('The objectData argument must contain an \'uri\' property'); - } - - $this->calendarInfo = $calendarInfo; - $this->objectData = $objectData; - - } - - /** - * Returns the uri for this object - * - * @return string - */ - public function getName() { - - return $this->objectData['uri']; - - } - - /** - * Returns the ICalendar-formatted object - * - * @return string - */ - public function get() { - - // Pre-populating the 'calendardata' is optional, if we don't have it - // already we fetch it from the backend. - if (!isset($this->objectData['calendardata'])) { - $this->objectData = $this->caldavBackend->getCalendarObject($this->objectData['calendarid'], $this->objectData['uri']); - } - return $this->objectData['calendardata']; - - } - - /** - * Updates the ICalendar-formatted object - * - * @param string $calendarData - * @return void - */ - public function put($calendarData) { - - if (is_resource($calendarData)) { - $calendarData = stream_get_contents($calendarData); - } - $etag = $this->caldavBackend->updateCalendarObject($this->calendarInfo['id'],$this->objectData['uri'],$calendarData); - $this->objectData['calendardata'] = $calendarData; - $this->objectData['etag'] = $etag; - - return $etag; - - } - - /** - * Deletes the calendar object - * - * @return void - */ - public function delete() { - - $this->caldavBackend->deleteCalendarObject($this->calendarInfo['id'],$this->objectData['uri']); - - } - - /** - * Returns the mime content-type - * - * @return string - */ - public function getContentType() { - - return 'text/calendar'; - - } - - /** - * Returns an ETag for this object. - * - * The ETag is an arbitrary string, but MUST be surrounded by double-quotes. - * - * @return string - */ - public function getETag() { - - if (isset($this->objectData['etag'])) { - return $this->objectData['etag']; - } else { - return '"' . md5($this->get()). '"'; - } - - } - - /** - * Returns the last modification date as a unix timestamp - * - * @return time - */ - public function getLastModified() { - - return $this->objectData['lastmodified']; - - } - - /** - * Returns the size of this object in bytes - * - * @return int - */ - public function getSize() { - - if (array_key_exists('size',$this->objectData)) { - return $this->objectData['size']; - } else { - return strlen($this->get()); - } - - } - - /** - * Returns the owner principal - * - * This must be a url to a principal, or null if there's no owner - * - * @return string|null - */ - public function getOwner() { - - return $this->calendarInfo['principaluri']; - - } - - /** - * Returns a group principal - * - * This must be a url to a principal, or null if there's no owner - * - * @return string|null - */ - public function getGroup() { - - return null; - - } - - /** - * Returns a list of ACE's for this node. - * - * Each ACE has the following properties: - * * 'privilege', a string such as {DAV:}read or {DAV:}write. These are - * currently the only supported privileges - * * 'principal', a url to the principal who owns the node - * * 'protected' (optional), indicating that this ACE is not allowed to - * be updated. - * - * @return array - */ - public function getACL() { - - return array( - array( - 'privilege' => '{DAV:}read', - 'principal' => $this->calendarInfo['principaluri'], - 'protected' => true, - ), - array( - 'privilege' => '{DAV:}write', - 'principal' => $this->calendarInfo['principaluri'], - 'protected' => true, - ), - array( - 'privilege' => '{DAV:}read', - 'principal' => $this->calendarInfo['principaluri'] . '/calendar-proxy-write', - 'protected' => true, - ), - array( - 'privilege' => '{DAV:}write', - 'principal' => $this->calendarInfo['principaluri'] . '/calendar-proxy-write', - 'protected' => true, - ), - array( - 'privilege' => '{DAV:}read', - 'principal' => $this->calendarInfo['principaluri'] . '/calendar-proxy-read', - 'protected' => true, - ), - - ); - - } - - /** - * Updates the ACL - * - * This method will receive a list of new ACE's. - * - * @param array $acl - * @return void - */ - public function setACL(array $acl) { - - throw new Sabre_DAV_Exception_MethodNotAllowed('Changing ACL is not yet supported'); - - } - - /** - * Returns the list of supported privileges for this node. - * - * The returned data structure is a list of nested privileges. - * See Sabre_DAVACL_Plugin::getDefaultSupportedPrivilegeSet for a simple - * standard structure. - * - * If null is returned from this method, the default privilege set is used, - * which is fine for most common usecases. - * - * @return array|null - */ - public function getSupportedPrivilegeSet() { - - return null; - - } - -} - diff --git a/3rdparty/Sabre/CalDAV/CalendarQueryParser.php b/3rdparty/Sabre/CalDAV/CalendarQueryParser.php deleted file mode 100755 index bd0d343382f8b684b396e6addcc445e1dbbbaae1..0000000000000000000000000000000000000000 --- a/3rdparty/Sabre/CalDAV/CalendarQueryParser.php +++ /dev/null @@ -1,296 +0,0 @@ -dom = $dom; - - $this->xpath = new DOMXPath($dom); - $this->xpath->registerNameSpace('cal',Sabre_CalDAV_Plugin::NS_CALDAV); - $this->xpath->registerNameSpace('dav','urn:DAV'); - - } - - /** - * Parses the request. - * - * @return void - */ - public function parse() { - - $filterNode = null; - - $filter = $this->xpath->query('/cal:calendar-query/cal:filter'); - if ($filter->length !== 1) { - throw new Sabre_DAV_Exception_BadRequest('Only one filter element is allowed'); - } - - $compFilters = $this->parseCompFilters($filter->item(0)); - if (count($compFilters)!==1) { - throw new Sabre_DAV_Exception_BadRequest('There must be exactly 1 top-level comp-filter.'); - } - - $this->filters = $compFilters[0]; - $this->requestedProperties = array_keys(Sabre_DAV_XMLUtil::parseProperties($this->dom->firstChild)); - - $expand = $this->xpath->query('/cal:calendar-query/dav:prop/cal:calendar-data/cal:expand'); - if ($expand->length>0) { - $this->expand = $this->parseExpand($expand->item(0)); - } - - - } - - /** - * Parses all the 'comp-filter' elements from a node - * - * @param DOMElement $parentNode - * @return array - */ - protected function parseCompFilters(DOMElement $parentNode) { - - $compFilterNodes = $this->xpath->query('cal:comp-filter', $parentNode); - $result = array(); - - for($ii=0; $ii < $compFilterNodes->length; $ii++) { - - $compFilterNode = $compFilterNodes->item($ii); - - $compFilter = array(); - $compFilter['name'] = $compFilterNode->getAttribute('name'); - $compFilter['is-not-defined'] = $this->xpath->query('cal:is-not-defined', $compFilterNode)->length>0; - $compFilter['comp-filters'] = $this->parseCompFilters($compFilterNode); - $compFilter['prop-filters'] = $this->parsePropFilters($compFilterNode); - $compFilter['time-range'] = $this->parseTimeRange($compFilterNode); - - if ($compFilter['time-range'] && !in_array($compFilter['name'],array( - 'VEVENT', - 'VTODO', - 'VJOURNAL', - 'VFREEBUSY', - 'VALARM', - ))) { - throw new Sabre_DAV_Exception_BadRequest('The time-range filter is not defined for the ' . $compFilter['name'] . ' component'); - }; - - $result[] = $compFilter; - - } - - return $result; - - } - - /** - * Parses all the prop-filter elements from a node - * - * @param DOMElement $parentNode - * @return array - */ - protected function parsePropFilters(DOMElement $parentNode) { - - $propFilterNodes = $this->xpath->query('cal:prop-filter', $parentNode); - $result = array(); - - for ($ii=0; $ii < $propFilterNodes->length; $ii++) { - - $propFilterNode = $propFilterNodes->item($ii); - $propFilter = array(); - $propFilter['name'] = $propFilterNode->getAttribute('name'); - $propFilter['is-not-defined'] = $this->xpath->query('cal:is-not-defined', $propFilterNode)->length>0; - $propFilter['param-filters'] = $this->parseParamFilters($propFilterNode); - $propFilter['text-match'] = $this->parseTextMatch($propFilterNode); - $propFilter['time-range'] = $this->parseTimeRange($propFilterNode); - - $result[] = $propFilter; - - } - - return $result; - - } - - /** - * Parses the param-filter element - * - * @param DOMElement $parentNode - * @return array - */ - protected function parseParamFilters(DOMElement $parentNode) { - - $paramFilterNodes = $this->xpath->query('cal:param-filter', $parentNode); - $result = array(); - - for($ii=0;$ii<$paramFilterNodes->length;$ii++) { - - $paramFilterNode = $paramFilterNodes->item($ii); - $paramFilter = array(); - $paramFilter['name'] = $paramFilterNode->getAttribute('name'); - $paramFilter['is-not-defined'] = $this->xpath->query('cal:is-not-defined', $paramFilterNode)->length>0; - $paramFilter['text-match'] = $this->parseTextMatch($paramFilterNode); - - $result[] = $paramFilter; - - } - - return $result; - - } - - /** - * Parses the text-match element - * - * @param DOMElement $parentNode - * @return array|null - */ - protected function parseTextMatch(DOMElement $parentNode) { - - $textMatchNodes = $this->xpath->query('cal:text-match', $parentNode); - - if ($textMatchNodes->length === 0) - return null; - - $textMatchNode = $textMatchNodes->item(0); - $negateCondition = $textMatchNode->getAttribute('negate-condition'); - $negateCondition = $negateCondition==='yes'; - $collation = $textMatchNode->getAttribute('collation'); - if (!$collation) $collation = 'i;ascii-casemap'; - - return array( - 'negate-condition' => $negateCondition, - 'collation' => $collation, - 'value' => $textMatchNode->nodeValue - ); - - } - - /** - * Parses the time-range element - * - * @param DOMElement $parentNode - * @return array|null - */ - protected function parseTimeRange(DOMElement $parentNode) { - - $timeRangeNodes = $this->xpath->query('cal:time-range', $parentNode); - if ($timeRangeNodes->length === 0) { - return null; - } - - $timeRangeNode = $timeRangeNodes->item(0); - - if ($start = $timeRangeNode->getAttribute('start')) { - $start = Sabre_VObject_DateTimeParser::parseDateTime($start); - } else { - $start = null; - } - if ($end = $timeRangeNode->getAttribute('end')) { - $end = Sabre_VObject_DateTimeParser::parseDateTime($end); - } else { - $end = null; - } - - if (!is_null($start) && !is_null($end) && $end <= $start) { - throw new Sabre_DAV_Exception_BadRequest('The end-date must be larger than the start-date in the time-range filter'); - } - - return array( - 'start' => $start, - 'end' => $end, - ); - - } - - /** - * Parses the CALDAV:expand element - * - * @param DOMElement $parentNode - * @return void - */ - protected function parseExpand(DOMElement $parentNode) { - - $start = $parentNode->getAttribute('start'); - if(!$start) { - throw new Sabre_DAV_Exception_BadRequest('The "start" attribute is required for the CALDAV:expand element'); - } - $start = Sabre_VObject_DateTimeParser::parseDateTime($start); - - $end = $parentNode->getAttribute('end'); - if(!$end) { - throw new Sabre_DAV_Exception_BadRequest('The "end" attribute is required for the CALDAV:expand element'); - } - $end = Sabre_VObject_DateTimeParser::parseDateTime($end); - - if ($end <= $start) { - throw new Sabre_DAV_Exception_BadRequest('The end-date must be larger than the start-date in the expand element.'); - } - - return array( - 'start' => $start, - 'end' => $end, - ); - - } - -} diff --git a/3rdparty/Sabre/CalDAV/CalendarQueryValidator.php b/3rdparty/Sabre/CalDAV/CalendarQueryValidator.php deleted file mode 100755 index 8f674840e8780e441fac72019cb36396627fc855..0000000000000000000000000000000000000000 --- a/3rdparty/Sabre/CalDAV/CalendarQueryValidator.php +++ /dev/null @@ -1,370 +0,0 @@ -name !== $filters['name']) { - return false; - } - - return - $this->validateCompFilters($vObject, $filters['comp-filters']) && - $this->validatePropFilters($vObject, $filters['prop-filters']); - - - } - - /** - * This method checks the validity of comp-filters. - * - * A list of comp-filters needs to be specified. Also the parent of the - * component we're checking should be specified, not the component to check - * itself. - * - * @param Sabre_VObject_Component $parent - * @param array $filters - * @return bool - */ - protected function validateCompFilters(Sabre_VObject_Component $parent, array $filters) { - - foreach($filters as $filter) { - - $isDefined = isset($parent->$filter['name']); - - if ($filter['is-not-defined']) { - - if ($isDefined) { - return false; - } else { - continue; - } - - } - if (!$isDefined) { - return false; - } - - if ($filter['time-range']) { - foreach($parent->$filter['name'] as $subComponent) { - if ($this->validateTimeRange($subComponent, $filter['time-range']['start'], $filter['time-range']['end'])) { - continue 2; - } - } - return false; - } - - if (!$filter['comp-filters'] && !$filter['prop-filters']) { - continue; - } - - // If there are sub-filters, we need to find at least one component - // for which the subfilters hold true. - foreach($parent->$filter['name'] as $subComponent) { - - if ( - $this->validateCompFilters($subComponent, $filter['comp-filters']) && - $this->validatePropFilters($subComponent, $filter['prop-filters'])) { - // We had a match, so this comp-filter succeeds - continue 2; - } - - } - - // If we got here it means there were sub-comp-filters or - // sub-prop-filters and there was no match. This means this filter - // needs to return false. - return false; - - } - - // If we got here it means we got through all comp-filters alive so the - // filters were all true. - return true; - - } - - /** - * This method checks the validity of prop-filters. - * - * A list of prop-filters needs to be specified. Also the parent of the - * property we're checking should be specified, not the property to check - * itself. - * - * @param Sabre_VObject_Component $parent - * @param array $filters - * @return bool - */ - protected function validatePropFilters(Sabre_VObject_Component $parent, array $filters) { - - foreach($filters as $filter) { - - $isDefined = isset($parent->$filter['name']); - - if ($filter['is-not-defined']) { - - if ($isDefined) { - return false; - } else { - continue; - } - - } - if (!$isDefined) { - return false; - } - - if ($filter['time-range']) { - foreach($parent->$filter['name'] as $subComponent) { - if ($this->validateTimeRange($subComponent, $filter['time-range']['start'], $filter['time-range']['end'])) { - continue 2; - } - } - return false; - } - - if (!$filter['param-filters'] && !$filter['text-match']) { - continue; - } - - // If there are sub-filters, we need to find at least one property - // for which the subfilters hold true. - foreach($parent->$filter['name'] as $subComponent) { - - if( - $this->validateParamFilters($subComponent, $filter['param-filters']) && - (!$filter['text-match'] || $this->validateTextMatch($subComponent, $filter['text-match'])) - ) { - // We had a match, so this prop-filter succeeds - continue 2; - } - - } - - // If we got here it means there were sub-param-filters or - // text-match filters and there was no match. This means the - // filter needs to return false. - return false; - - } - - // If we got here it means we got through all prop-filters alive so the - // filters were all true. - return true; - - } - - /** - * This method checks the validity of param-filters. - * - * A list of param-filters needs to be specified. Also the parent of the - * parameter we're checking should be specified, not the parameter to check - * itself. - * - * @param Sabre_VObject_Property $parent - * @param array $filters - * @return bool - */ - protected function validateParamFilters(Sabre_VObject_Property $parent, array $filters) { - - foreach($filters as $filter) { - - $isDefined = isset($parent[$filter['name']]); - - if ($filter['is-not-defined']) { - - if ($isDefined) { - return false; - } else { - continue; - } - - } - if (!$isDefined) { - return false; - } - - if (!$filter['text-match']) { - continue; - } - - // If there are sub-filters, we need to find at least one parameter - // for which the subfilters hold true. - foreach($parent[$filter['name']] as $subParam) { - - if($this->validateTextMatch($subParam,$filter['text-match'])) { - // We had a match, so this param-filter succeeds - continue 2; - } - - } - - // If we got here it means there was a text-match filter and there - // were no matches. This means the filter needs to return false. - return false; - - } - - // If we got here it means we got through all param-filters alive so the - // filters were all true. - return true; - - } - - /** - * This method checks the validity of a text-match. - * - * A single text-match should be specified as well as the specific property - * or parameter we need to validate. - * - * @param Sabre_VObject_Node $parent - * @param array $textMatch - * @return bool - */ - protected function validateTextMatch(Sabre_VObject_Node $parent, array $textMatch) { - - $value = (string)$parent; - - $isMatching = Sabre_DAV_StringUtil::textMatch($value, $textMatch['value'], $textMatch['collation']); - - return ($textMatch['negate-condition'] xor $isMatching); - - } - - /** - * Validates if a component matches the given time range. - * - * This is all based on the rules specified in rfc4791, which are quite - * complex. - * - * @param Sabre_VObject_Node $component - * @param DateTime $start - * @param DateTime $end - * @return bool - */ - protected function validateTimeRange(Sabre_VObject_Node $component, $start, $end) { - - if (is_null($start)) { - $start = new DateTime('1900-01-01'); - } - if (is_null($end)) { - $end = new DateTime('3000-01-01'); - } - - switch($component->name) { - - case 'VEVENT' : - case 'VTODO' : - case 'VJOURNAL' : - - return $component->isInTimeRange($start, $end); - - case 'VALARM' : - - // If the valarm is wrapped in a recurring event, we need to - // expand the recursions, and validate each. - // - // Our datamodel doesn't easily allow us to do this straight - // in the VALARM component code, so this is a hack, and an - // expensive one too. - if ($component->parent->name === 'VEVENT' && $component->parent->RRULE) { - - // Fire up the iterator! - $it = new Sabre_VObject_RecurrenceIterator($component->parent->parent, (string)$component->parent->UID); - while($it->valid()) { - $expandedEvent = $it->getEventObject(); - - // We need to check from these expanded alarms, which - // one is the first to trigger. Based on this, we can - // determine if we can 'give up' expanding events. - $firstAlarm = null; - if ($expandedEvent->VALARM !== null) { - foreach($expandedEvent->VALARM as $expandedAlarm) { - - $effectiveTrigger = $expandedAlarm->getEffectiveTriggerTime(); - if ($expandedAlarm->isInTimeRange($start, $end)) { - return true; - } - - if ((string)$expandedAlarm->TRIGGER['VALUE'] === 'DATE-TIME') { - // This is an alarm with a non-relative trigger - // time, likely created by a buggy client. The - // implication is that every alarm in this - // recurring event trigger at the exact same - // time. It doesn't make sense to traverse - // further. - } else { - // We store the first alarm as a means to - // figure out when we can stop traversing. - if (!$firstAlarm || $effectiveTrigger < $firstAlarm) { - $firstAlarm = $effectiveTrigger; - } - } - } - } - if (is_null($firstAlarm)) { - // No alarm was found. - // - // Or technically: No alarm that will change for - // every instance of the recurrence was found, - // which means we can assume there was no match. - return false; - } - if ($firstAlarm > $end) { - return false; - } - $it->next(); - } - return false; - } else { - return $component->isInTimeRange($start, $end); - } - - case 'VFREEBUSY' : - throw new Sabre_DAV_Exception_NotImplemented('time-range filters are currently not supported on ' . $component->name . ' components'); - - case 'COMPLETED' : - case 'CREATED' : - case 'DTEND' : - case 'DTSTAMP' : - case 'DTSTART' : - case 'DUE' : - case 'LAST-MODIFIED' : - return ($start <= $component->getDateTime() && $end >= $component->getDateTime()); - - - - default : - throw new Sabre_DAV_Exception_BadRequest('You cannot create a time-range filter on a ' . $component->name . ' component'); - - } - - } - -} diff --git a/3rdparty/Sabre/CalDAV/CalendarRootNode.php b/3rdparty/Sabre/CalDAV/CalendarRootNode.php deleted file mode 100755 index 3907913cc78600afc38698ddb42ba3d30cffeed7..0000000000000000000000000000000000000000 --- a/3rdparty/Sabre/CalDAV/CalendarRootNode.php +++ /dev/null @@ -1,75 +0,0 @@ -caldavBackend = $caldavBackend; - - } - - /** - * Returns the nodename - * - * We're overriding this, because the default will be the 'principalPrefix', - * and we want it to be Sabre_CalDAV_Plugin::CALENDAR_ROOT - * - * @return string - */ - public function getName() { - - return Sabre_CalDAV_Plugin::CALENDAR_ROOT; - - } - - /** - * This method returns a node for a principal. - * - * The passed array contains principal information, and is guaranteed to - * at least contain a uri item. Other properties may or may not be - * supplied by the authentication backend. - * - * @param array $principal - * @return Sabre_DAV_INode - */ - public function getChildForPrincipal(array $principal) { - - return new Sabre_CalDAV_UserCalendars($this->principalBackend, $this->caldavBackend, $principal['uri']); - - } - -} diff --git a/3rdparty/Sabre/CalDAV/ICSExportPlugin.php b/3rdparty/Sabre/CalDAV/ICSExportPlugin.php deleted file mode 100755 index ec42b406b2f172c7289a00ba7975fc35f59fa877..0000000000000000000000000000000000000000 --- a/3rdparty/Sabre/CalDAV/ICSExportPlugin.php +++ /dev/null @@ -1,139 +0,0 @@ -server = $server; - $this->server->subscribeEvent('beforeMethod',array($this,'beforeMethod'), 90); - - } - - /** - * 'beforeMethod' event handles. This event handles intercepts GET requests ending - * with ?export - * - * @param string $method - * @param string $uri - * @return bool - */ - public function beforeMethod($method, $uri) { - - if ($method!='GET') return; - if ($this->server->httpRequest->getQueryString()!='export') return; - - // splitting uri - list($uri) = explode('?',$uri,2); - - $node = $this->server->tree->getNodeForPath($uri); - - if (!($node instanceof Sabre_CalDAV_Calendar)) return; - - // Checking ACL, if available. - if ($aclPlugin = $this->server->getPlugin('acl')) { - $aclPlugin->checkPrivileges($uri, '{DAV:}read'); - } - - $this->server->httpResponse->setHeader('Content-Type','text/calendar'); - $this->server->httpResponse->sendStatus(200); - - $nodes = $this->server->getPropertiesForPath($uri, array( - '{' . Sabre_CalDAV_Plugin::NS_CALDAV . '}calendar-data', - ),1); - - $this->server->httpResponse->sendBody($this->generateICS($nodes)); - - // Returning false to break the event chain - return false; - - } - - /** - * Merges all calendar objects, and builds one big ics export - * - * @param array $nodes - * @return string - */ - public function generateICS(array $nodes) { - - $calendar = new Sabre_VObject_Component('vcalendar'); - $calendar->version = '2.0'; - if (Sabre_DAV_Server::$exposeVersion) { - $calendar->prodid = '-//SabreDAV//SabreDAV ' . Sabre_DAV_Version::VERSION . '//EN'; - } else { - $calendar->prodid = '-//SabreDAV//SabreDAV//EN'; - } - $calendar->calscale = 'GREGORIAN'; - - $collectedTimezones = array(); - - $timezones = array(); - $objects = array(); - - foreach($nodes as $node) { - - if (!isset($node[200]['{' . Sabre_CalDAV_Plugin::NS_CALDAV . '}calendar-data'])) { - continue; - } - $nodeData = $node[200]['{' . Sabre_CalDAV_Plugin::NS_CALDAV . '}calendar-data']; - - $nodeComp = Sabre_VObject_Reader::read($nodeData); - - foreach($nodeComp->children() as $child) { - - switch($child->name) { - case 'VEVENT' : - case 'VTODO' : - case 'VJOURNAL' : - $objects[] = $child; - break; - - // VTIMEZONE is special, because we need to filter out the duplicates - case 'VTIMEZONE' : - // Naively just checking tzid. - if (in_array((string)$child->TZID, $collectedTimezones)) continue; - - $timezones[] = $child; - $collectedTimezones[] = $child->TZID; - break; - - } - - } - - } - - foreach($timezones as $tz) $calendar->add($tz); - foreach($objects as $obj) $calendar->add($obj); - - return $calendar->serialize(); - - } - -} diff --git a/3rdparty/Sabre/CalDAV/ICalendar.php b/3rdparty/Sabre/CalDAV/ICalendar.php deleted file mode 100755 index 15d51ebcf79a2b7552257ac4b7c1d5e42596461a..0000000000000000000000000000000000000000 --- a/3rdparty/Sabre/CalDAV/ICalendar.php +++ /dev/null @@ -1,18 +0,0 @@ -imipHandler = $imipHandler; - - } - - /** - * Use this method to tell the server this plugin defines additional - * HTTP methods. - * - * This method is passed a uri. It should only return HTTP methods that are - * available for the specified uri. - * - * @param string $uri - * @return array - */ - public function getHTTPMethods($uri) { - - // The MKCALENDAR is only available on unmapped uri's, whose - // parents extend IExtendedCollection - list($parent, $name) = Sabre_DAV_URLUtil::splitPath($uri); - - $node = $this->server->tree->getNodeForPath($parent); - - if ($node instanceof Sabre_DAV_IExtendedCollection) { - try { - $node->getChild($name); - } catch (Sabre_DAV_Exception_NotFound $e) { - return array('MKCALENDAR'); - } - } - return array(); - - } - - /** - * Returns a list of features for the DAV: HTTP header. - * - * @return array - */ - public function getFeatures() { - - return array('calendar-access', 'calendar-proxy'); - - } - - /** - * Returns a plugin name. - * - * Using this name other plugins will be able to access other plugins - * using Sabre_DAV_Server::getPlugin - * - * @return string - */ - public function getPluginName() { - - return 'caldav'; - - } - - /** - * Returns a list of reports this plugin supports. - * - * This will be used in the {DAV:}supported-report-set property. - * Note that you still need to subscribe to the 'report' event to actually - * implement them - * - * @param string $uri - * @return array - */ - public function getSupportedReportSet($uri) { - - $node = $this->server->tree->getNodeForPath($uri); - - $reports = array(); - if ($node instanceof Sabre_CalDAV_ICalendar || $node instanceof Sabre_CalDAV_ICalendarObject) { - $reports[] = '{' . self::NS_CALDAV . '}calendar-multiget'; - $reports[] = '{' . self::NS_CALDAV . '}calendar-query'; - } - if ($node instanceof Sabre_CalDAV_ICalendar) { - $reports[] = '{' . self::NS_CALDAV . '}free-busy-query'; - } - return $reports; - - } - - /** - * Initializes the plugin - * - * @param Sabre_DAV_Server $server - * @return void - */ - public function initialize(Sabre_DAV_Server $server) { - - $this->server = $server; - - $server->subscribeEvent('unknownMethod',array($this,'unknownMethod')); - //$server->subscribeEvent('unknownMethod',array($this,'unknownMethod2'),1000); - $server->subscribeEvent('report',array($this,'report')); - $server->subscribeEvent('beforeGetProperties',array($this,'beforeGetProperties')); - $server->subscribeEvent('onHTMLActionsPanel', array($this,'htmlActionsPanel')); - $server->subscribeEvent('onBrowserPostAction', array($this,'browserPostAction')); - $server->subscribeEvent('beforeWriteContent', array($this, 'beforeWriteContent')); - $server->subscribeEvent('beforeCreateFile', array($this, 'beforeCreateFile')); - - $server->xmlNamespaces[self::NS_CALDAV] = 'cal'; - $server->xmlNamespaces[self::NS_CALENDARSERVER] = 'cs'; - - $server->propertyMap['{' . self::NS_CALDAV . '}supported-calendar-component-set'] = 'Sabre_CalDAV_Property_SupportedCalendarComponentSet'; - - $server->resourceTypeMapping['Sabre_CalDAV_ICalendar'] = '{urn:ietf:params:xml:ns:caldav}calendar'; - $server->resourceTypeMapping['Sabre_CalDAV_Schedule_IOutbox'] = '{urn:ietf:params:xml:ns:caldav}schedule-outbox'; - $server->resourceTypeMapping['Sabre_CalDAV_Principal_ProxyRead'] = '{http://calendarserver.org/ns/}calendar-proxy-read'; - $server->resourceTypeMapping['Sabre_CalDAV_Principal_ProxyWrite'] = '{http://calendarserver.org/ns/}calendar-proxy-write'; - - array_push($server->protectedProperties, - - '{' . self::NS_CALDAV . '}supported-calendar-component-set', - '{' . self::NS_CALDAV . '}supported-calendar-data', - '{' . self::NS_CALDAV . '}max-resource-size', - '{' . self::NS_CALDAV . '}min-date-time', - '{' . self::NS_CALDAV . '}max-date-time', - '{' . self::NS_CALDAV . '}max-instances', - '{' . self::NS_CALDAV . '}max-attendees-per-instance', - '{' . self::NS_CALDAV . '}calendar-home-set', - '{' . self::NS_CALDAV . '}supported-collation-set', - '{' . self::NS_CALDAV . '}calendar-data', - - // scheduling extension - '{' . self::NS_CALDAV . '}schedule-inbox-URL', - '{' . self::NS_CALDAV . '}schedule-outbox-URL', - '{' . self::NS_CALDAV . '}calendar-user-address-set', - '{' . self::NS_CALDAV . '}calendar-user-type', - - // CalendarServer extensions - '{' . self::NS_CALENDARSERVER . '}getctag', - '{' . self::NS_CALENDARSERVER . '}calendar-proxy-read-for', - '{' . self::NS_CALENDARSERVER . '}calendar-proxy-write-for' - - ); - } - - /** - * This function handles support for the MKCALENDAR method - * - * @param string $method - * @param string $uri - * @return bool - */ - public function unknownMethod($method, $uri) { - - switch ($method) { - case 'MKCALENDAR' : - $this->httpMkCalendar($uri); - // false is returned to stop the propagation of the - // unknownMethod event. - return false; - case 'POST' : - // Checking if we're talking to an outbox - try { - $node = $this->server->tree->getNodeForPath($uri); - } catch (Sabre_DAV_Exception_NotFound $e) { - return; - } - if (!$node instanceof Sabre_CalDAV_Schedule_IOutbox) - return; - - $this->outboxRequest($node); - return false; - - } - - } - - /** - * This functions handles REPORT requests specific to CalDAV - * - * @param string $reportName - * @param DOMNode $dom - * @return bool - */ - public function report($reportName,$dom) { - - switch($reportName) { - case '{'.self::NS_CALDAV.'}calendar-multiget' : - $this->calendarMultiGetReport($dom); - return false; - case '{'.self::NS_CALDAV.'}calendar-query' : - $this->calendarQueryReport($dom); - return false; - case '{'.self::NS_CALDAV.'}free-busy-query' : - $this->freeBusyQueryReport($dom); - return false; - - } - - - } - - /** - * This function handles the MKCALENDAR HTTP method, which creates - * a new calendar. - * - * @param string $uri - * @return void - */ - public function httpMkCalendar($uri) { - - // Due to unforgivable bugs in iCal, we're completely disabling MKCALENDAR support - // for clients matching iCal in the user agent - //$ua = $this->server->httpRequest->getHeader('User-Agent'); - //if (strpos($ua,'iCal/')!==false) { - // throw new Sabre_DAV_Exception_Forbidden('iCal has major bugs in it\'s RFC3744 support. Therefore we are left with no other choice but disabling this feature.'); - //} - - $body = $this->server->httpRequest->getBody(true); - $properties = array(); - - if ($body) { - - $dom = Sabre_DAV_XMLUtil::loadDOMDocument($body); - - foreach($dom->firstChild->childNodes as $child) { - - if (Sabre_DAV_XMLUtil::toClarkNotation($child)!=='{DAV:}set') continue; - foreach(Sabre_DAV_XMLUtil::parseProperties($child,$this->server->propertyMap) as $k=>$prop) { - $properties[$k] = $prop; - } - - } - } - - $resourceType = array('{DAV:}collection','{urn:ietf:params:xml:ns:caldav}calendar'); - - $this->server->createCollection($uri,$resourceType,$properties); - - $this->server->httpResponse->sendStatus(201); - $this->server->httpResponse->setHeader('Content-Length',0); - } - - /** - * beforeGetProperties - * - * This method handler is invoked before any after properties for a - * resource are fetched. This allows us to add in any CalDAV specific - * properties. - * - * @param string $path - * @param Sabre_DAV_INode $node - * @param array $requestedProperties - * @param array $returnedProperties - * @return void - */ - public function beforeGetProperties($path, Sabre_DAV_INode $node, &$requestedProperties, &$returnedProperties) { - - if ($node instanceof Sabre_DAVACL_IPrincipal) { - - // calendar-home-set property - $calHome = '{' . self::NS_CALDAV . '}calendar-home-set'; - if (in_array($calHome,$requestedProperties)) { - $principalId = $node->getName(); - $calendarHomePath = self::CALENDAR_ROOT . '/' . $principalId . '/'; - unset($requestedProperties[$calHome]); - $returnedProperties[200][$calHome] = new Sabre_DAV_Property_Href($calendarHomePath); - } - - // schedule-outbox-URL property - $scheduleProp = '{' . self::NS_CALDAV . '}schedule-outbox-URL'; - if (in_array($scheduleProp,$requestedProperties)) { - $principalId = $node->getName(); - $outboxPath = self::CALENDAR_ROOT . '/' . $principalId . '/outbox'; - unset($requestedProperties[$scheduleProp]); - $returnedProperties[200][$scheduleProp] = new Sabre_DAV_Property_Href($outboxPath); - } - - // calendar-user-address-set property - $calProp = '{' . self::NS_CALDAV . '}calendar-user-address-set'; - if (in_array($calProp,$requestedProperties)) { - - $addresses = $node->getAlternateUriSet(); - $addresses[] = $this->server->getBaseUri() . $node->getPrincipalUrl(); - unset($requestedProperties[$calProp]); - $returnedProperties[200][$calProp] = new Sabre_DAV_Property_HrefList($addresses, false); - - } - - // These two properties are shortcuts for ical to easily find - // other principals this principal has access to. - $propRead = '{' . self::NS_CALENDARSERVER . '}calendar-proxy-read-for'; - $propWrite = '{' . self::NS_CALENDARSERVER . '}calendar-proxy-write-for'; - if (in_array($propRead,$requestedProperties) || in_array($propWrite,$requestedProperties)) { - - $membership = $node->getGroupMembership(); - $readList = array(); - $writeList = array(); - - foreach($membership as $group) { - - $groupNode = $this->server->tree->getNodeForPath($group); - - // If the node is either ap proxy-read or proxy-write - // group, we grab the parent principal and add it to the - // list. - if ($groupNode instanceof Sabre_CalDAV_Principal_ProxyRead) { - list($readList[]) = Sabre_DAV_URLUtil::splitPath($group); - } - if ($groupNode instanceof Sabre_CalDAV_Principal_ProxyWrite) { - list($writeList[]) = Sabre_DAV_URLUtil::splitPath($group); - } - - } - if (in_array($propRead,$requestedProperties)) { - unset($requestedProperties[$propRead]); - $returnedProperties[200][$propRead] = new Sabre_DAV_Property_HrefList($readList); - } - if (in_array($propWrite,$requestedProperties)) { - unset($requestedProperties[$propWrite]); - $returnedProperties[200][$propWrite] = new Sabre_DAV_Property_HrefList($writeList); - } - - } - - } // instanceof IPrincipal - - - if ($node instanceof Sabre_CalDAV_ICalendarObject) { - // The calendar-data property is not supposed to be a 'real' - // property, but in large chunks of the spec it does act as such. - // Therefore we simply expose it as a property. - $calDataProp = '{' . Sabre_CalDAV_Plugin::NS_CALDAV . '}calendar-data'; - if (in_array($calDataProp, $requestedProperties)) { - unset($requestedProperties[$calDataProp]); - $val = $node->get(); - if (is_resource($val)) - $val = stream_get_contents($val); - - // Taking out \r to not screw up the xml output - $returnedProperties[200][$calDataProp] = str_replace("\r","", $val); - - } - } - - } - - /** - * This function handles the calendar-multiget REPORT. - * - * This report is used by the client to fetch the content of a series - * of urls. Effectively avoiding a lot of redundant requests. - * - * @param DOMNode $dom - * @return void - */ - public function calendarMultiGetReport($dom) { - - $properties = array_keys(Sabre_DAV_XMLUtil::parseProperties($dom->firstChild)); - $hrefElems = $dom->getElementsByTagNameNS('urn:DAV','href'); - - $xpath = new DOMXPath($dom); - $xpath->registerNameSpace('cal',Sabre_CalDAV_Plugin::NS_CALDAV); - $xpath->registerNameSpace('dav','urn:DAV'); - - $expand = $xpath->query('/cal:calendar-multiget/dav:prop/cal:calendar-data/cal:expand'); - if ($expand->length>0) { - $expandElem = $expand->item(0); - $start = $expandElem->getAttribute('start'); - $end = $expandElem->getAttribute('end'); - if(!$start || !$end) { - throw new Sabre_DAV_Exception_BadRequest('The "start" and "end" attributes are required for the CALDAV:expand element'); - } - $start = Sabre_VObject_DateTimeParser::parseDateTime($start); - $end = Sabre_VObject_DateTimeParser::parseDateTime($end); - - if ($end <= $start) { - throw new Sabre_DAV_Exception_BadRequest('The end-date must be larger than the start-date in the expand element.'); - } - - $expand = true; - - } else { - - $expand = false; - - } - - foreach($hrefElems as $elem) { - $uri = $this->server->calculateUri($elem->nodeValue); - list($objProps) = $this->server->getPropertiesForPath($uri,$properties); - - if ($expand && isset($objProps[200]['{' . self::NS_CALDAV . '}calendar-data'])) { - $vObject = Sabre_VObject_Reader::read($objProps[200]['{' . self::NS_CALDAV . '}calendar-data']); - $vObject->expand($start, $end); - $objProps[200]['{' . self::NS_CALDAV . '}calendar-data'] = $vObject->serialize(); - } - - $propertyList[]=$objProps; - - } - - $this->server->httpResponse->sendStatus(207); - $this->server->httpResponse->setHeader('Content-Type','application/xml; charset=utf-8'); - $this->server->httpResponse->sendBody($this->server->generateMultiStatus($propertyList)); - - } - - /** - * This function handles the calendar-query REPORT - * - * This report is used by clients to request calendar objects based on - * complex conditions. - * - * @param DOMNode $dom - * @return void - */ - public function calendarQueryReport($dom) { - - $parser = new Sabre_CalDAV_CalendarQueryParser($dom); - $parser->parse(); - - $requestedCalendarData = true; - $requestedProperties = $parser->requestedProperties; - - if (!in_array('{urn:ietf:params:xml:ns:caldav}calendar-data', $requestedProperties)) { - - // We always retrieve calendar-data, as we need it for filtering. - $requestedProperties[] = '{urn:ietf:params:xml:ns:caldav}calendar-data'; - - // If calendar-data wasn't explicitly requested, we need to remove - // it after processing. - $requestedCalendarData = false; - } - - // These are the list of nodes that potentially match the requirement - $candidateNodes = $this->server->getPropertiesForPath( - $this->server->getRequestUri(), - $requestedProperties, - $this->server->getHTTPDepth(0) - ); - - $verifiedNodes = array(); - - $validator = new Sabre_CalDAV_CalendarQueryValidator(); - - foreach($candidateNodes as $node) { - - // If the node didn't have a calendar-data property, it must not be a calendar object - if (!isset($node[200]['{urn:ietf:params:xml:ns:caldav}calendar-data'])) - continue; - - $vObject = Sabre_VObject_Reader::read($node[200]['{urn:ietf:params:xml:ns:caldav}calendar-data']); - if ($validator->validate($vObject,$parser->filters)) { - - if (!$requestedCalendarData) { - unset($node[200]['{urn:ietf:params:xml:ns:caldav}calendar-data']); - } - if ($parser->expand) { - $vObject->expand($parser->expand['start'], $parser->expand['end']); - $node[200]['{' . self::NS_CALDAV . '}calendar-data'] = $vObject->serialize(); - } - $verifiedNodes[] = $node; - } - - } - - $this->server->httpResponse->sendStatus(207); - $this->server->httpResponse->setHeader('Content-Type','application/xml; charset=utf-8'); - $this->server->httpResponse->sendBody($this->server->generateMultiStatus($verifiedNodes)); - - } - - /** - * This method is responsible for parsing the request and generating the - * response for the CALDAV:free-busy-query REPORT. - * - * @param DOMNode $dom - * @return void - */ - protected function freeBusyQueryReport(DOMNode $dom) { - - $start = null; - $end = null; - - foreach($dom->firstChild->childNodes as $childNode) { - - $clark = Sabre_DAV_XMLUtil::toClarkNotation($childNode); - if ($clark == '{' . self::NS_CALDAV . '}time-range') { - $start = $childNode->getAttribute('start'); - $end = $childNode->getAttribute('end'); - break; - } - - } - if ($start) { - $start = Sabre_VObject_DateTimeParser::parseDateTime($start); - } - if ($end) { - $end = Sabre_VObject_DateTimeParser::parseDateTime($end); - } - - if (!$start && !$end) { - throw new Sabre_DAV_Exception_BadRequest('The freebusy report must have a time-range filter'); - } - $acl = $this->server->getPlugin('acl'); - - if (!$acl) { - throw new Sabre_DAV_Exception('The ACL plugin must be loaded for free-busy queries to work'); - } - $uri = $this->server->getRequestUri(); - $acl->checkPrivileges($uri,'{' . self::NS_CALDAV . '}read-free-busy'); - - $calendar = $this->server->tree->getNodeForPath($uri); - if (!$calendar instanceof Sabre_CalDAV_ICalendar) { - throw new Sabre_DAV_Exception_NotImplemented('The free-busy-query REPORT is only implemented on calendars'); - } - - $objects = array_map(function($child) { - $obj = $child->get(); - if (is_resource($obj)) { - $obj = stream_get_contents($obj); - } - return $obj; - }, $calendar->getChildren()); - - $generator = new Sabre_VObject_FreeBusyGenerator(); - $generator->setObjects($objects); - $generator->setTimeRange($start, $end); - $result = $generator->getResult(); - $result = $result->serialize(); - - $this->server->httpResponse->sendStatus(200); - $this->server->httpResponse->setHeader('Content-Type', 'text/calendar'); - $this->server->httpResponse->setHeader('Content-Length', strlen($result)); - $this->server->httpResponse->sendBody($result); - - } - - /** - * This method is triggered before a file gets updated with new content. - * - * This plugin uses this method to ensure that CalDAV objects receive - * valid calendar data. - * - * @param string $path - * @param Sabre_DAV_IFile $node - * @param resource $data - * @return void - */ - public function beforeWriteContent($path, Sabre_DAV_IFile $node, &$data) { - - if (!$node instanceof Sabre_CalDAV_ICalendarObject) - return; - - $this->validateICalendar($data); - - } - - /** - * This method is triggered before a new file is created. - * - * This plugin uses this method to ensure that newly created calendar - * objects contain valid calendar data. - * - * @param string $path - * @param resource $data - * @param Sabre_DAV_ICollection $parentNode - * @return void - */ - public function beforeCreateFile($path, &$data, Sabre_DAV_ICollection $parentNode) { - - if (!$parentNode instanceof Sabre_CalDAV_Calendar) - return; - - $this->validateICalendar($data); - - } - - /** - * Checks if the submitted iCalendar data is in fact, valid. - * - * An exception is thrown if it's not. - * - * @param resource|string $data - * @return void - */ - protected function validateICalendar(&$data) { - - // If it's a stream, we convert it to a string first. - if (is_resource($data)) { - $data = stream_get_contents($data); - } - - // Converting the data to unicode, if needed. - $data = Sabre_DAV_StringUtil::ensureUTF8($data); - - try { - - $vobj = Sabre_VObject_Reader::read($data); - - } catch (Sabre_VObject_ParseException $e) { - - throw new Sabre_DAV_Exception_UnsupportedMediaType('This resource only supports valid iCalendar 2.0 data. Parse error: ' . $e->getMessage()); - - } - - if ($vobj->name !== 'VCALENDAR') { - throw new Sabre_DAV_Exception_UnsupportedMediaType('This collection can only support iCalendar objects.'); - } - - $foundType = null; - $foundUID = null; - foreach($vobj->getComponents() as $component) { - switch($component->name) { - case 'VTIMEZONE' : - continue 2; - case 'VEVENT' : - case 'VTODO' : - case 'VJOURNAL' : - if (is_null($foundType)) { - $foundType = $component->name; - if (!isset($component->UID)) { - throw new Sabre_DAV_Exception_BadRequest('Every ' . $component->name . ' component must have an UID'); - } - $foundUID = (string)$component->UID; - } else { - if ($foundType !== $component->name) { - throw new Sabre_DAV_Exception_BadRequest('A calendar object must only contain 1 component. We found a ' . $component->name . ' as well as a ' . $foundType); - } - if ($foundUID !== (string)$component->UID) { - throw new Sabre_DAV_Exception_BadRequest('Every ' . $component->name . ' in this object must have identical UIDs'); - } - } - break; - default : - throw new Sabre_DAV_Exception_BadRequest('You are not allowed to create components of type: ' . $component->name . ' here'); - - } - } - if (!$foundType) - throw new Sabre_DAV_Exception_BadRequest('iCalendar object must contain at least 1 of VEVENT, VTODO or VJOURNAL'); - - } - - /** - * This method handles POST requests to the schedule-outbox - * - * @param Sabre_CalDAV_Schedule_IOutbox $outboxNode - * @return void - */ - public function outboxRequest(Sabre_CalDAV_Schedule_IOutbox $outboxNode) { - - $originator = $this->server->httpRequest->getHeader('Originator'); - $recipients = $this->server->httpRequest->getHeader('Recipient'); - - if (!$originator) { - throw new Sabre_DAV_Exception_BadRequest('The Originator: header must be specified when making POST requests'); - } - if (!$recipients) { - throw new Sabre_DAV_Exception_BadRequest('The Recipient: header must be specified when making POST requests'); - } - - if (!preg_match('/^mailto:(.*)@(.*)$/i', $originator)) { - throw new Sabre_DAV_Exception_BadRequest('Originator must start with mailto: and must be valid email address'); - } - $originator = substr($originator,7); - - $recipients = explode(',',$recipients); - foreach($recipients as $k=>$recipient) { - - $recipient = trim($recipient); - if (!preg_match('/^mailto:(.*)@(.*)$/i', $recipient)) { - throw new Sabre_DAV_Exception_BadRequest('Recipients must start with mailto: and must be valid email address'); - } - $recipient = substr($recipient, 7); - $recipients[$k] = $recipient; - } - - // We need to make sure that 'originator' matches one of the email - // addresses of the selected principal. - $principal = $outboxNode->getOwner(); - $props = $this->server->getProperties($principal,array( - '{' . self::NS_CALDAV . '}calendar-user-address-set', - )); - - $addresses = array(); - if (isset($props['{' . self::NS_CALDAV . '}calendar-user-address-set'])) { - $addresses = $props['{' . self::NS_CALDAV . '}calendar-user-address-set']->getHrefs(); - } - - if (!in_array('mailto:' . $originator, $addresses)) { - throw new Sabre_DAV_Exception_Forbidden('The addresses specified in the Originator header did not match any addresses in the owners calendar-user-address-set header'); - } - - try { - $vObject = Sabre_VObject_Reader::read($this->server->httpRequest->getBody(true)); - } catch (Sabre_VObject_ParseException $e) { - throw new Sabre_DAV_Exception_BadRequest('The request body must be a valid iCalendar object. Parse error: ' . $e->getMessage()); - } - - // Checking for the object type - $componentType = null; - foreach($vObject->getComponents() as $component) { - if ($component->name !== 'VTIMEZONE') { - $componentType = $component->name; - break; - } - } - if (is_null($componentType)) { - throw new Sabre_DAV_Exception_BadRequest('We expected at least one VTODO, VJOURNAL, VFREEBUSY or VEVENT component'); - } - - // Validating the METHOD - $method = strtoupper((string)$vObject->METHOD); - if (!$method) { - throw new Sabre_DAV_Exception_BadRequest('A METHOD property must be specified in iTIP messages'); - } - - if (in_array($method, array('REQUEST','REPLY','ADD','CANCEL')) && $componentType==='VEVENT') { - $result = $this->iMIPMessage($originator, $recipients, $vObject); - $this->server->httpResponse->sendStatus(200); - $this->server->httpResponse->setHeader('Content-Type','application/xml'); - $this->server->httpResponse->sendBody($this->generateScheduleResponse($result)); - } else { - throw new Sabre_DAV_Exception_NotImplemented('This iTIP method is currently not implemented'); - } - - } - - /** - * Sends an iMIP message by email. - * - * This method must return an array with status codes per recipient. - * This should look something like: - * - * array( - * 'user1@example.org' => '2.0;Success' - * ) - * - * Formatting for this status code can be found at: - * https://tools.ietf.org/html/rfc5545#section-3.8.8.3 - * - * A list of valid status codes can be found at: - * https://tools.ietf.org/html/rfc5546#section-3.6 - * - * @param string $originator - * @param array $recipients - * @param Sabre_VObject_Component $vObject - * @return array - */ - protected function iMIPMessage($originator, array $recipients, Sabre_VObject_Component $vObject) { - - if (!$this->imipHandler) { - $resultStatus = '5.2;This server does not support this operation'; - } else { - $this->imipHandler->sendMessage($originator, $recipients, $vObject); - $resultStatus = '2.0;Success'; - } - - $result = array(); - foreach($recipients as $recipient) { - $result[$recipient] = $resultStatus; - } - - return $result; - - - } - - /** - * Generates a schedule-response XML body - * - * The recipients array is a key->value list, containing email addresses - * and iTip status codes. See the iMIPMessage method for a description of - * the value. - * - * @param array $recipients - * @return string - */ - public function generateScheduleResponse(array $recipients) { - - $dom = new DOMDocument('1.0','utf-8'); - $dom->formatOutput = true; - $xscheduleResponse = $dom->createElement('cal:schedule-response'); - $dom->appendChild($xscheduleResponse); - - foreach($this->server->xmlNamespaces as $namespace=>$prefix) { - - $xscheduleResponse->setAttribute('xmlns:' . $prefix, $namespace); - - } - - foreach($recipients as $recipient=>$status) { - $xresponse = $dom->createElement('cal:response'); - - $xrecipient = $dom->createElement('cal:recipient'); - $xrecipient->appendChild($dom->createTextNode($recipient)); - $xresponse->appendChild($xrecipient); - - $xrequestStatus = $dom->createElement('cal:request-status'); - $xrequestStatus->appendChild($dom->createTextNode($status)); - $xresponse->appendChild($xrequestStatus); - - $xscheduleResponse->appendChild($xresponse); - - } - - return $dom->saveXML(); - - } - - /** - * This method is used to generate HTML output for the - * Sabre_DAV_Browser_Plugin. This allows us to generate an interface users - * can use to create new calendars. - * - * @param Sabre_DAV_INode $node - * @param string $output - * @return bool - */ - public function htmlActionsPanel(Sabre_DAV_INode $node, &$output) { - - if (!$node instanceof Sabre_CalDAV_UserCalendars) - return; - - $output.= '
-

Create new calendar

- -
-
- -
- '; - - return false; - - } - - /** - * This method allows us to intercept the 'mkcalendar' sabreAction. This - * action enables the user to create new calendars from the browser plugin. - * - * @param string $uri - * @param string $action - * @param array $postVars - * @return bool - */ - public function browserPostAction($uri, $action, array $postVars) { - - if ($action!=='mkcalendar') - return; - - $resourceType = array('{DAV:}collection','{urn:ietf:params:xml:ns:caldav}calendar'); - $properties = array(); - if (isset($postVars['{DAV:}displayname'])) { - $properties['{DAV:}displayname'] = $postVars['{DAV:}displayname']; - } - $this->server->createCollection($uri . '/' . $postVars['name'],$resourceType,$properties); - return false; - - } - -} diff --git a/3rdparty/Sabre/CalDAV/Principal/Collection.php b/3rdparty/Sabre/CalDAV/Principal/Collection.php deleted file mode 100755 index abbefa5567a4c9f939fe7a9ce5faba22c749695b..0000000000000000000000000000000000000000 --- a/3rdparty/Sabre/CalDAV/Principal/Collection.php +++ /dev/null @@ -1,31 +0,0 @@ -principalBackend, $principalInfo); - - } - -} diff --git a/3rdparty/Sabre/CalDAV/Principal/ProxyRead.php b/3rdparty/Sabre/CalDAV/Principal/ProxyRead.php deleted file mode 100755 index 4b3f035634a795f82ac33460ba9ccbf570b1a415..0000000000000000000000000000000000000000 --- a/3rdparty/Sabre/CalDAV/Principal/ProxyRead.php +++ /dev/null @@ -1,178 +0,0 @@ -principalInfo = $principalInfo; - $this->principalBackend = $principalBackend; - - } - - /** - * Returns this principals name. - * - * @return string - */ - public function getName() { - - return 'calendar-proxy-read'; - - } - - /** - * Returns the last modification time - * - * @return null - */ - public function getLastModified() { - - return null; - - } - - /** - * Deletes the current node - * - * @throws Sabre_DAV_Exception_Forbidden - * @return void - */ - public function delete() { - - throw new Sabre_DAV_Exception_Forbidden('Permission denied to delete node'); - - } - - /** - * Renames the node - * - * @throws Sabre_DAV_Exception_Forbidden - * @param string $name The new name - * @return void - */ - public function setName($name) { - - throw new Sabre_DAV_Exception_Forbidden('Permission denied to rename file'); - - } - - - /** - * Returns a list of alternative urls for a principal - * - * This can for example be an email address, or ldap url. - * - * @return array - */ - public function getAlternateUriSet() { - - return array(); - - } - - /** - * Returns the full principal url - * - * @return string - */ - public function getPrincipalUrl() { - - return $this->principalInfo['uri'] . '/' . $this->getName(); - - } - - /** - * Returns the list of group members - * - * If this principal is a group, this function should return - * all member principal uri's for the group. - * - * @return array - */ - public function getGroupMemberSet() { - - return $this->principalBackend->getGroupMemberSet($this->getPrincipalUrl()); - - } - - /** - * Returns the list of groups this principal is member of - * - * If this principal is a member of a (list of) groups, this function - * should return a list of principal uri's for it's members. - * - * @return array - */ - public function getGroupMembership() { - - return $this->principalBackend->getGroupMembership($this->getPrincipalUrl()); - - } - - /** - * Sets a list of group members - * - * If this principal is a group, this method sets all the group members. - * The list of members is always overwritten, never appended to. - * - * This method should throw an exception if the members could not be set. - * - * @param array $principals - * @return void - */ - public function setGroupMemberSet(array $principals) { - - $this->principalBackend->setGroupMemberSet($this->getPrincipalUrl(), $principals); - - } - - /** - * Returns the displayname - * - * This should be a human readable name for the principal. - * If none is available, return the nodename. - * - * @return string - */ - public function getDisplayName() { - - return $this->getName(); - - } - -} diff --git a/3rdparty/Sabre/CalDAV/Principal/ProxyWrite.php b/3rdparty/Sabre/CalDAV/Principal/ProxyWrite.php deleted file mode 100755 index dd0c2e86edd70e5b8e7ef43bb3d0374482021d04..0000000000000000000000000000000000000000 --- a/3rdparty/Sabre/CalDAV/Principal/ProxyWrite.php +++ /dev/null @@ -1,178 +0,0 @@ -principalInfo = $principalInfo; - $this->principalBackend = $principalBackend; - - } - - /** - * Returns this principals name. - * - * @return string - */ - public function getName() { - - return 'calendar-proxy-write'; - - } - - /** - * Returns the last modification time - * - * @return null - */ - public function getLastModified() { - - return null; - - } - - /** - * Deletes the current node - * - * @throws Sabre_DAV_Exception_Forbidden - * @return void - */ - public function delete() { - - throw new Sabre_DAV_Exception_Forbidden('Permission denied to delete node'); - - } - - /** - * Renames the node - * - * @throws Sabre_DAV_Exception_Forbidden - * @param string $name The new name - * @return void - */ - public function setName($name) { - - throw new Sabre_DAV_Exception_Forbidden('Permission denied to rename file'); - - } - - - /** - * Returns a list of alternative urls for a principal - * - * This can for example be an email address, or ldap url. - * - * @return array - */ - public function getAlternateUriSet() { - - return array(); - - } - - /** - * Returns the full principal url - * - * @return string - */ - public function getPrincipalUrl() { - - return $this->principalInfo['uri'] . '/' . $this->getName(); - - } - - /** - * Returns the list of group members - * - * If this principal is a group, this function should return - * all member principal uri's for the group. - * - * @return array - */ - public function getGroupMemberSet() { - - return $this->principalBackend->getGroupMemberSet($this->getPrincipalUrl()); - - } - - /** - * Returns the list of groups this principal is member of - * - * If this principal is a member of a (list of) groups, this function - * should return a list of principal uri's for it's members. - * - * @return array - */ - public function getGroupMembership() { - - return $this->principalBackend->getGroupMembership($this->getPrincipalUrl()); - - } - - /** - * Sets a list of group members - * - * If this principal is a group, this method sets all the group members. - * The list of members is always overwritten, never appended to. - * - * This method should throw an exception if the members could not be set. - * - * @param array $principals - * @return void - */ - public function setGroupMemberSet(array $principals) { - - $this->principalBackend->setGroupMemberSet($this->getPrincipalUrl(), $principals); - - } - - /** - * Returns the displayname - * - * This should be a human readable name for the principal. - * If none is available, return the nodename. - * - * @return string - */ - public function getDisplayName() { - - return $this->getName(); - - } - -} diff --git a/3rdparty/Sabre/CalDAV/Principal/User.php b/3rdparty/Sabre/CalDAV/Principal/User.php deleted file mode 100755 index 8453b877a73da3762382110378cf38aa91aeb65b..0000000000000000000000000000000000000000 --- a/3rdparty/Sabre/CalDAV/Principal/User.php +++ /dev/null @@ -1,132 +0,0 @@ -principalBackend->getPrincipalByPath($this->getPrincipalURL() . '/' . $name); - if (!$principal) { - throw new Sabre_DAV_Exception_NotFound('Node with name ' . $name . ' was not found'); - } - if ($name === 'calendar-proxy-read') - return new Sabre_CalDAV_Principal_ProxyRead($this->principalBackend, $this->principalProperties); - - if ($name === 'calendar-proxy-write') - return new Sabre_CalDAV_Principal_ProxyWrite($this->principalBackend, $this->principalProperties); - - throw new Sabre_DAV_Exception_NotFound('Node with name ' . $name . ' was not found'); - - } - - /** - * Returns an array with all the child nodes - * - * @return Sabre_DAV_INode[] - */ - public function getChildren() { - - $r = array(); - if ($this->principalBackend->getPrincipalByPath($this->getPrincipalURL() . '/calendar-proxy-read')) { - $r[] = new Sabre_CalDAV_Principal_ProxyRead($this->principalBackend, $this->principalProperties); - } - if ($this->principalBackend->getPrincipalByPath($this->getPrincipalURL() . '/calendar-proxy-write')) { - $r[] = new Sabre_CalDAV_Principal_ProxyWrite($this->principalBackend, $this->principalProperties); - } - - return $r; - - } - - /** - * Returns whether or not the child node exists - * - * @param string $name - * @return bool - */ - public function childExists($name) { - - try { - $this->getChild($name); - return true; - } catch (Sabre_DAV_Exception_NotFound $e) { - return false; - } - - } - - /** - * Returns a list of ACE's for this node. - * - * Each ACE has the following properties: - * * 'privilege', a string such as {DAV:}read or {DAV:}write. These are - * currently the only supported privileges - * * 'principal', a url to the principal who owns the node - * * 'protected' (optional), indicating that this ACE is not allowed to - * be updated. - * - * @return array - */ - public function getACL() { - - $acl = parent::getACL(); - $acl[] = array( - 'privilege' => '{DAV:}read', - 'principal' => $this->principalProperties['uri'] . '/calendar-proxy-read', - 'protected' => true, - ); - $acl[] = array( - 'privilege' => '{DAV:}read', - 'principal' => $this->principalProperties['uri'] . '/calendar-proxy-write', - 'protected' => true, - ); - return $acl; - - } - -} diff --git a/3rdparty/Sabre/CalDAV/Property/SupportedCalendarComponentSet.php b/3rdparty/Sabre/CalDAV/Property/SupportedCalendarComponentSet.php deleted file mode 100755 index 2ea078d7dac03cbe8e241690739ad7c02bb17676..0000000000000000000000000000000000000000 --- a/3rdparty/Sabre/CalDAV/Property/SupportedCalendarComponentSet.php +++ /dev/null @@ -1,85 +0,0 @@ -components = $components; - - } - - /** - * Returns the list of supported components - * - * @return array - */ - public function getValue() { - - return $this->components; - - } - - /** - * Serializes the property in a DOMDocument - * - * @param Sabre_DAV_Server $server - * @param DOMElement $node - * @return void - */ - public function serialize(Sabre_DAV_Server $server,DOMElement $node) { - - $doc = $node->ownerDocument; - foreach($this->components as $component) { - - $xcomp = $doc->createElement('cal:comp'); - $xcomp->setAttribute('name',$component); - $node->appendChild($xcomp); - - } - - } - - /** - * Unserializes the DOMElement back into a Property class. - * - * @param DOMElement $node - * @return Sabre_CalDAV_Property_SupportedCalendarComponentSet - */ - static function unserialize(DOMElement $node) { - - $components = array(); - foreach($node->childNodes as $childNode) { - if (Sabre_DAV_XMLUtil::toClarkNotation($childNode)==='{' . Sabre_CalDAV_Plugin::NS_CALDAV . '}comp') { - $components[] = $childNode->getAttribute('name'); - } - } - return new self($components); - - } - -} diff --git a/3rdparty/Sabre/CalDAV/Property/SupportedCalendarData.php b/3rdparty/Sabre/CalDAV/Property/SupportedCalendarData.php deleted file mode 100755 index 1d848dd5cf68acaa05977a0292297a559dff316a..0000000000000000000000000000000000000000 --- a/3rdparty/Sabre/CalDAV/Property/SupportedCalendarData.php +++ /dev/null @@ -1,38 +0,0 @@ -ownerDocument; - - $prefix = isset($server->xmlNamespaces[Sabre_CalDAV_Plugin::NS_CALDAV])?$server->xmlNamespaces[Sabre_CalDAV_Plugin::NS_CALDAV]:'cal'; - - $caldata = $doc->createElement($prefix . ':calendar-data'); - $caldata->setAttribute('content-type','text/calendar'); - $caldata->setAttribute('version','2.0'); - - $node->appendChild($caldata); - } - -} diff --git a/3rdparty/Sabre/CalDAV/Property/SupportedCollationSet.php b/3rdparty/Sabre/CalDAV/Property/SupportedCollationSet.php deleted file mode 100755 index 24e84d4c17d99815fba07ec9d540787f74f68e71..0000000000000000000000000000000000000000 --- a/3rdparty/Sabre/CalDAV/Property/SupportedCollationSet.php +++ /dev/null @@ -1,44 +0,0 @@ -ownerDocument; - - $prefix = $node->lookupPrefix('urn:ietf:params:xml:ns:caldav'); - if (!$prefix) $prefix = 'cal'; - - $node->appendChild( - $doc->createElement($prefix . ':supported-collation','i;ascii-casemap') - ); - $node->appendChild( - $doc->createElement($prefix . ':supported-collation','i;octet') - ); - $node->appendChild( - $doc->createElement($prefix . ':supported-collation','i;unicode-casemap') - ); - - - } - -} diff --git a/3rdparty/Sabre/CalDAV/Schedule/IMip.php b/3rdparty/Sabre/CalDAV/Schedule/IMip.php deleted file mode 100755 index 37e75fcc4a71c2626922319fef90a971ce6a4460..0000000000000000000000000000000000000000 --- a/3rdparty/Sabre/CalDAV/Schedule/IMip.php +++ /dev/null @@ -1,104 +0,0 @@ -senderEmail = $senderEmail; - - } - - /** - * Sends one or more iTip messages through email. - * - * @param string $originator - * @param array $recipients - * @param Sabre_VObject_Component $vObject - * @return void - */ - public function sendMessage($originator, array $recipients, Sabre_VObject_Component $vObject) { - - foreach($recipients as $recipient) { - - $to = $recipient; - $replyTo = $originator; - $subject = 'SabreDAV iTIP message'; - - switch(strtoupper($vObject->METHOD)) { - case 'REPLY' : - $subject = 'Response for: ' . $vObject->VEVENT->SUMMARY; - break; - case 'REQUEST' : - $subject = 'Invitation for: ' .$vObject->VEVENT->SUMMARY; - break; - case 'CANCEL' : - $subject = 'Cancelled event: ' . $vObject->VEVENT->SUMMARY; - break; - } - - $headers = array(); - $headers[] = 'Reply-To: ' . $replyTo; - $headers[] = 'From: ' . $this->senderEmail; - $headers[] = 'Content-Type: text/calendar; method=' . (string)$vObject->method . '; charset=utf-8'; - if (Sabre_DAV_Server::$exposeVersion) { - $headers[] = 'X-Sabre-Version: ' . Sabre_DAV_Version::VERSION . '-' . Sabre_DAV_Version::STABILITY; - } - - $vcalBody = $vObject->serialize(); - - $this->mail($to, $subject, $vcalBody, $headers); - - } - - } - - /** - * This function is reponsible for sending the actual email. - * - * @param string $to Recipient email address - * @param string $subject Subject of the email - * @param string $body iCalendar body - * @param array $headers List of headers - * @return void - */ - protected function mail($to, $subject, $body, array $headers) { - - mail($to, $subject, $body, implode("\r\n", $headers)); - - } - - -} - -?> diff --git a/3rdparty/Sabre/CalDAV/Schedule/IOutbox.php b/3rdparty/Sabre/CalDAV/Schedule/IOutbox.php deleted file mode 100755 index 46d77514bc048ba965fa091a84bd19233c5404f4..0000000000000000000000000000000000000000 --- a/3rdparty/Sabre/CalDAV/Schedule/IOutbox.php +++ /dev/null @@ -1,16 +0,0 @@ -principalUri = $principalUri; - - } - - /** - * Returns the name of the node. - * - * This is used to generate the url. - * - * @return string - */ - public function getName() { - - return 'outbox'; - - } - - /** - * Returns an array with all the child nodes - * - * @return Sabre_DAV_INode[] - */ - public function getChildren() { - - return array(); - - } - - /** - * Returns the owner principal - * - * This must be a url to a principal, or null if there's no owner - * - * @return string|null - */ - public function getOwner() { - - return $this->principalUri; - - } - - /** - * Returns a group principal - * - * This must be a url to a principal, or null if there's no owner - * - * @return string|null - */ - public function getGroup() { - - return null; - - } - - /** - * Returns a list of ACE's for this node. - * - * Each ACE has the following properties: - * * 'privilege', a string such as {DAV:}read or {DAV:}write. These are - * currently the only supported privileges - * * 'principal', a url to the principal who owns the node - * * 'protected' (optional), indicating that this ACE is not allowed to - * be updated. - * - * @return array - */ - public function getACL() { - - return array( - array( - 'privilege' => '{' . Sabre_CalDAV_Plugin::NS_CALDAV . '}schedule-query-freebusy', - 'principal' => $this->getOwner(), - 'protected' => true, - ), - array( - 'privilege' => '{DAV:}read', - 'principal' => $this->getOwner(), - 'protected' => true, - ), - ); - - } - - /** - * Updates the ACL - * - * This method will receive a list of new ACE's. - * - * @param array $acl - * @return void - */ - public function setACL(array $acl) { - - throw new Sabre_DAV_Exception_MethodNotAllowed('You\'re not allowed to update the ACL'); - - } - - /** - * Returns the list of supported privileges for this node. - * - * The returned data structure is a list of nested privileges. - * See Sabre_DAVACL_Plugin::getDefaultSupportedPrivilegeSet for a simple - * standard structure. - * - * If null is returned from this method, the default privilege set is used, - * which is fine for most common usecases. - * - * @return array|null - */ - public function getSupportedPrivilegeSet() { - - $default = Sabre_DAVACL_Plugin::getDefaultSupportedPrivilegeSet(); - $default['aggregates'][] = array( - 'privilege' => '{' . Sabre_CalDAV_Plugin::NS_CALDAV . '}schedule-query-freebusy', - ); - - return $default; - - } - -} diff --git a/3rdparty/Sabre/CalDAV/Server.php b/3rdparty/Sabre/CalDAV/Server.php deleted file mode 100755 index 325e3d80a7fd081065ab216dd528c0b3927c966e..0000000000000000000000000000000000000000 --- a/3rdparty/Sabre/CalDAV/Server.php +++ /dev/null @@ -1,68 +0,0 @@ -authRealm); - $this->addPlugin($authPlugin); - - $aclPlugin = new Sabre_DAVACL_Plugin(); - $this->addPlugin($aclPlugin); - - $caldavPlugin = new Sabre_CalDAV_Plugin(); - $this->addPlugin($caldavPlugin); - - } - -} diff --git a/3rdparty/Sabre/CalDAV/UserCalendars.php b/3rdparty/Sabre/CalDAV/UserCalendars.php deleted file mode 100755 index b8d3f0573fa4c9c2b43084b1a63937aaf137b33f..0000000000000000000000000000000000000000 --- a/3rdparty/Sabre/CalDAV/UserCalendars.php +++ /dev/null @@ -1,298 +0,0 @@ -principalBackend = $principalBackend; - $this->caldavBackend = $caldavBackend; - $this->principalInfo = $principalBackend->getPrincipalByPath($userUri); - - } - - /** - * Returns the name of this object - * - * @return string - */ - public function getName() { - - list(,$name) = Sabre_DAV_URLUtil::splitPath($this->principalInfo['uri']); - return $name; - - } - - /** - * Updates the name of this object - * - * @param string $name - * @return void - */ - public function setName($name) { - - throw new Sabre_DAV_Exception_Forbidden(); - - } - - /** - * Deletes this object - * - * @return void - */ - public function delete() { - - throw new Sabre_DAV_Exception_Forbidden(); - - } - - /** - * Returns the last modification date - * - * @return int - */ - public function getLastModified() { - - return null; - - } - - /** - * Creates a new file under this object. - * - * This is currently not allowed - * - * @param string $filename - * @param resource $data - * @return void - */ - public function createFile($filename, $data=null) { - - throw new Sabre_DAV_Exception_MethodNotAllowed('Creating new files in this collection is not supported'); - - } - - /** - * Creates a new directory under this object. - * - * This is currently not allowed. - * - * @param string $filename - * @return void - */ - public function createDirectory($filename) { - - throw new Sabre_DAV_Exception_MethodNotAllowed('Creating new collections in this collection is not supported'); - - } - - /** - * Returns a single calendar, by name - * - * @param string $name - * @todo needs optimizing - * @return Sabre_CalDAV_Calendar - */ - public function getChild($name) { - - foreach($this->getChildren() as $child) { - if ($name==$child->getName()) - return $child; - - } - throw new Sabre_DAV_Exception_NotFound('Calendar with name \'' . $name . '\' could not be found'); - - } - - /** - * Checks if a calendar exists. - * - * @param string $name - * @todo needs optimizing - * @return bool - */ - public function childExists($name) { - - foreach($this->getChildren() as $child) { - if ($name==$child->getName()) - return true; - - } - return false; - - } - - /** - * Returns a list of calendars - * - * @return array - */ - public function getChildren() { - - $calendars = $this->caldavBackend->getCalendarsForUser($this->principalInfo['uri']); - $objs = array(); - foreach($calendars as $calendar) { - $objs[] = new Sabre_CalDAV_Calendar($this->principalBackend, $this->caldavBackend, $calendar); - } - $objs[] = new Sabre_CalDAV_Schedule_Outbox($this->principalInfo['uri']); - return $objs; - - } - - /** - * Creates a new calendar - * - * @param string $name - * @param array $resourceType - * @param array $properties - * @return void - */ - public function createExtendedCollection($name, array $resourceType, array $properties) { - - if (!in_array('{urn:ietf:params:xml:ns:caldav}calendar',$resourceType) || count($resourceType)!==2) { - throw new Sabre_DAV_Exception_InvalidResourceType('Unknown resourceType for this collection'); - } - $this->caldavBackend->createCalendar($this->principalInfo['uri'], $name, $properties); - - } - - /** - * Returns the owner principal - * - * This must be a url to a principal, or null if there's no owner - * - * @return string|null - */ - public function getOwner() { - - return $this->principalInfo['uri']; - - } - - /** - * Returns a group principal - * - * This must be a url to a principal, or null if there's no owner - * - * @return string|null - */ - public function getGroup() { - - return null; - - } - - /** - * Returns a list of ACE's for this node. - * - * Each ACE has the following properties: - * * 'privilege', a string such as {DAV:}read or {DAV:}write. These are - * currently the only supported privileges - * * 'principal', a url to the principal who owns the node - * * 'protected' (optional), indicating that this ACE is not allowed to - * be updated. - * - * @return array - */ - public function getACL() { - - return array( - array( - 'privilege' => '{DAV:}read', - 'principal' => $this->principalInfo['uri'], - 'protected' => true, - ), - array( - 'privilege' => '{DAV:}write', - 'principal' => $this->principalInfo['uri'], - 'protected' => true, - ), - array( - 'privilege' => '{DAV:}read', - 'principal' => $this->principalInfo['uri'] . '/calendar-proxy-write', - 'protected' => true, - ), - array( - 'privilege' => '{DAV:}write', - 'principal' => $this->principalInfo['uri'] . '/calendar-proxy-write', - 'protected' => true, - ), - array( - 'privilege' => '{DAV:}read', - 'principal' => $this->principalInfo['uri'] . '/calendar-proxy-read', - 'protected' => true, - ), - - ); - - } - - /** - * Updates the ACL - * - * This method will receive a list of new ACE's. - * - * @param array $acl - * @return void - */ - public function setACL(array $acl) { - - throw new Sabre_DAV_Exception_MethodNotAllowed('Changing ACL is not yet supported'); - - } - - /** - * Returns the list of supported privileges for this node. - * - * The returned data structure is a list of nested privileges. - * See Sabre_DAVACL_Plugin::getDefaultSupportedPrivilegeSet for a simple - * standard structure. - * - * If null is returned from this method, the default privilege set is used, - * which is fine for most common usecases. - * - * @return array|null - */ - public function getSupportedPrivilegeSet() { - - return null; - - } - -} diff --git a/3rdparty/Sabre/CalDAV/Version.php b/3rdparty/Sabre/CalDAV/Version.php deleted file mode 100755 index ace9901c0895669cfa71e9faf4b0ff157f6f2df0..0000000000000000000000000000000000000000 --- a/3rdparty/Sabre/CalDAV/Version.php +++ /dev/null @@ -1,24 +0,0 @@ -carddavBackend = $carddavBackend; - $this->addressBookInfo = $addressBookInfo; - - } - - /** - * Returns the name of the addressbook - * - * @return string - */ - public function getName() { - - return $this->addressBookInfo['uri']; - - } - - /** - * Returns a card - * - * @param string $name - * @return Sabre_DAV_Card - */ - public function getChild($name) { - - $obj = $this->carddavBackend->getCard($this->addressBookInfo['id'],$name); - if (!$obj) throw new Sabre_DAV_Exception_NotFound('Card not found'); - return new Sabre_CardDAV_Card($this->carddavBackend,$this->addressBookInfo,$obj); - - } - - /** - * Returns the full list of cards - * - * @return array - */ - public function getChildren() { - - $objs = $this->carddavBackend->getCards($this->addressBookInfo['id']); - $children = array(); - foreach($objs as $obj) { - $children[] = new Sabre_CardDAV_Card($this->carddavBackend,$this->addressBookInfo,$obj); - } - return $children; - - } - - /** - * Creates a new directory - * - * We actually block this, as subdirectories are not allowed in addressbooks. - * - * @param string $name - * @return void - */ - public function createDirectory($name) { - - throw new Sabre_DAV_Exception_MethodNotAllowed('Creating collections in addressbooks is not allowed'); - - } - - /** - * Creates a new file - * - * The contents of the new file must be a valid VCARD. - * - * This method may return an ETag. - * - * @param string $name - * @param resource $vcardData - * @return void|null - */ - public function createFile($name,$vcardData = null) { - - if (is_resource($vcardData)) { - $vcardData = stream_get_contents($vcardData); - } - // Converting to UTF-8, if needed - $vcardData = Sabre_DAV_StringUtil::ensureUTF8($vcardData); - - return $this->carddavBackend->createCard($this->addressBookInfo['id'],$name,$vcardData); - - } - - /** - * Deletes the entire addressbook. - * - * @return void - */ - public function delete() { - - $this->carddavBackend->deleteAddressBook($this->addressBookInfo['id']); - - } - - /** - * Renames the addressbook - * - * @param string $newName - * @return void - */ - public function setName($newName) { - - throw new Sabre_DAV_Exception_MethodNotAllowed('Renaming addressbooks is not yet supported'); - - } - - /** - * Returns the last modification date as a unix timestamp. - * - * @return void - */ - public function getLastModified() { - - return null; - - } - - /** - * Updates properties on this node, - * - * The properties array uses the propertyName in clark-notation as key, - * and the array value for the property value. In the case a property - * should be deleted, the property value will be null. - * - * This method must be atomic. If one property cannot be changed, the - * entire operation must fail. - * - * If the operation was successful, true can be returned. - * If the operation failed, false can be returned. - * - * Deletion of a non-existent property is always successful. - * - * Lastly, it is optional to return detailed information about any - * failures. In this case an array should be returned with the following - * structure: - * - * array( - * 403 => array( - * '{DAV:}displayname' => null, - * ), - * 424 => array( - * '{DAV:}owner' => null, - * ) - * ) - * - * In this example it was forbidden to update {DAV:}displayname. - * (403 Forbidden), which in turn also caused {DAV:}owner to fail - * (424 Failed Dependency) because the request needs to be atomic. - * - * @param array $mutations - * @return bool|array - */ - public function updateProperties($mutations) { - - return $this->carddavBackend->updateAddressBook($this->addressBookInfo['id'], $mutations); - - } - - /** - * Returns a list of properties for this nodes. - * - * The properties list is a list of propertynames the client requested, - * encoded in clark-notation {xmlnamespace}tagname - * - * If the array is empty, it means 'all properties' were requested. - * - * @param array $properties - * @return array - */ - public function getProperties($properties) { - - $response = array(); - foreach($properties as $propertyName) { - - if (isset($this->addressBookInfo[$propertyName])) { - - $response[$propertyName] = $this->addressBookInfo[$propertyName]; - - } - - } - - return $response; - - } - - /** - * Returns the owner principal - * - * This must be a url to a principal, or null if there's no owner - * - * @return string|null - */ - public function getOwner() { - - return $this->addressBookInfo['principaluri']; - - } - - /** - * Returns a group principal - * - * This must be a url to a principal, or null if there's no owner - * - * @return string|null - */ - public function getGroup() { - - return null; - - } - - /** - * Returns a list of ACE's for this node. - * - * Each ACE has the following properties: - * * 'privilege', a string such as {DAV:}read or {DAV:}write. These are - * currently the only supported privileges - * * 'principal', a url to the principal who owns the node - * * 'protected' (optional), indicating that this ACE is not allowed to - * be updated. - * - * @return array - */ - public function getACL() { - - return array( - array( - 'privilege' => '{DAV:}read', - 'principal' => $this->addressBookInfo['principaluri'], - 'protected' => true, - ), - array( - 'privilege' => '{DAV:}write', - 'principal' => $this->addressBookInfo['principaluri'], - 'protected' => true, - ), - - ); - - } - - /** - * Updates the ACL - * - * This method will receive a list of new ACE's. - * - * @param array $acl - * @return void - */ - public function setACL(array $acl) { - - throw new Sabre_DAV_Exception_MethodNotAllowed('Changing ACL is not yet supported'); - - } - - /** - * Returns the list of supported privileges for this node. - * - * The returned data structure is a list of nested privileges. - * See Sabre_DAVACL_Plugin::getDefaultSupportedPrivilegeSet for a simple - * standard structure. - * - * If null is returned from this method, the default privilege set is used, - * which is fine for most common usecases. - * - * @return array|null - */ - public function getSupportedPrivilegeSet() { - - return null; - - } - -} diff --git a/3rdparty/Sabre/CardDAV/AddressBookQueryParser.php b/3rdparty/Sabre/CardDAV/AddressBookQueryParser.php deleted file mode 100755 index 46bb8ff18dd48847ae94bec334d605a96b021962..0000000000000000000000000000000000000000 --- a/3rdparty/Sabre/CardDAV/AddressBookQueryParser.php +++ /dev/null @@ -1,219 +0,0 @@ -dom = $dom; - - $this->xpath = new DOMXPath($dom); - $this->xpath->registerNameSpace('card',Sabre_CardDAV_Plugin::NS_CARDDAV); - - } - - /** - * Parses the request. - * - * @return void - */ - public function parse() { - - $filterNode = null; - - $limit = $this->xpath->evaluate('number(/card:addressbook-query/card:limit/card:nresults)'); - if (is_nan($limit)) $limit = null; - - $filter = $this->xpath->query('/card:addressbook-query/card:filter'); - - // According to the CardDAV spec there needs to be exactly 1 filter - // element. However, KDE 4.8.2 contains a bug that will encode 0 filter - // elements, so this is a workaround for that. - // - // See: https://bugs.kde.org/show_bug.cgi?id=300047 - if ($filter->length === 0) { - $test = null; - $filter = null; - } elseif ($filter->length === 1) { - $filter = $filter->item(0); - $test = $this->xpath->evaluate('string(@test)', $filter); - } else { - throw new Sabre_DAV_Exception_BadRequest('Only one filter element is allowed'); - } - - if (!$test) $test = self::TEST_ANYOF; - if ($test !== self::TEST_ANYOF && $test !== self::TEST_ALLOF) { - throw new Sabre_DAV_Exception_BadRequest('The test attribute must either hold "anyof" or "allof"'); - } - - $propFilters = array(); - - $propFilterNodes = $this->xpath->query('card:prop-filter', $filter); - for($ii=0; $ii < $propFilterNodes->length; $ii++) { - - $propFilters[] = $this->parsePropFilterNode($propFilterNodes->item($ii)); - - - } - - $this->filters = $propFilters; - $this->limit = $limit; - $this->requestedProperties = array_keys(Sabre_DAV_XMLUtil::parseProperties($this->dom->firstChild)); - $this->test = $test; - - } - - /** - * Parses the prop-filter xml element - * - * @param DOMElement $propFilterNode - * @return array - */ - protected function parsePropFilterNode(DOMElement $propFilterNode) { - - $propFilter = array(); - $propFilter['name'] = $propFilterNode->getAttribute('name'); - $propFilter['test'] = $propFilterNode->getAttribute('test'); - if (!$propFilter['test']) $propFilter['test'] = 'anyof'; - - $propFilter['is-not-defined'] = $this->xpath->query('card:is-not-defined', $propFilterNode)->length>0; - - $paramFilterNodes = $this->xpath->query('card:param-filter', $propFilterNode); - - $propFilter['param-filters'] = array(); - - - for($ii=0;$ii<$paramFilterNodes->length;$ii++) { - - $propFilter['param-filters'][] = $this->parseParamFilterNode($paramFilterNodes->item($ii)); - - } - $propFilter['text-matches'] = array(); - $textMatchNodes = $this->xpath->query('card:text-match', $propFilterNode); - - for($ii=0;$ii<$textMatchNodes->length;$ii++) { - - $propFilter['text-matches'][] = $this->parseTextMatchNode($textMatchNodes->item($ii)); - - } - - return $propFilter; - - } - - /** - * Parses the param-filter element - * - * @param DOMElement $paramFilterNode - * @return array - */ - public function parseParamFilterNode(DOMElement $paramFilterNode) { - - $paramFilter = array(); - $paramFilter['name'] = $paramFilterNode->getAttribute('name'); - $paramFilter['is-not-defined'] = $this->xpath->query('card:is-not-defined', $paramFilterNode)->length>0; - $paramFilter['text-match'] = null; - - $textMatch = $this->xpath->query('card:text-match', $paramFilterNode); - if ($textMatch->length>0) { - $paramFilter['text-match'] = $this->parseTextMatchNode($textMatch->item(0)); - } - - return $paramFilter; - - } - - /** - * Text match - * - * @param DOMElement $textMatchNode - * @return array - */ - public function parseTextMatchNode(DOMElement $textMatchNode) { - - $matchType = $textMatchNode->getAttribute('match-type'); - if (!$matchType) $matchType = 'contains'; - - if (!in_array($matchType, array('contains', 'equals', 'starts-with', 'ends-with'))) { - throw new Sabre_DAV_Exception_BadRequest('Unknown match-type: ' . $matchType); - } - - $negateCondition = $textMatchNode->getAttribute('negate-condition'); - $negateCondition = $negateCondition==='yes'; - $collation = $textMatchNode->getAttribute('collation'); - if (!$collation) $collation = 'i;unicode-casemap'; - - return array( - 'negate-condition' => $negateCondition, - 'collation' => $collation, - 'match-type' => $matchType, - 'value' => $textMatchNode->nodeValue - ); - - - } - -} diff --git a/3rdparty/Sabre/CardDAV/AddressBookRoot.php b/3rdparty/Sabre/CardDAV/AddressBookRoot.php deleted file mode 100755 index 9d37b15f08e2ea04942ed1ffbff4152b50f5b007..0000000000000000000000000000000000000000 --- a/3rdparty/Sabre/CardDAV/AddressBookRoot.php +++ /dev/null @@ -1,78 +0,0 @@ -carddavBackend = $carddavBackend; - parent::__construct($principalBackend, $principalPrefix); - - } - - /** - * Returns the name of the node - * - * @return string - */ - public function getName() { - - return Sabre_CardDAV_Plugin::ADDRESSBOOK_ROOT; - - } - - /** - * This method returns a node for a principal. - * - * The passed array contains principal information, and is guaranteed to - * at least contain a uri item. Other properties may or may not be - * supplied by the authentication backend. - * - * @param array $principal - * @return Sabre_DAV_INode - */ - public function getChildForPrincipal(array $principal) { - - return new Sabre_CardDAV_UserAddressBooks($this->carddavBackend, $principal['uri']); - - } - -} diff --git a/3rdparty/Sabre/CardDAV/Backend/Abstract.php b/3rdparty/Sabre/CardDAV/Backend/Abstract.php deleted file mode 100755 index e4806b7161f10a5a0f77ada0c8f907009866555d..0000000000000000000000000000000000000000 --- a/3rdparty/Sabre/CardDAV/Backend/Abstract.php +++ /dev/null @@ -1,166 +0,0 @@ -pdo = $pdo; - $this->addressBooksTableName = $addressBooksTableName; - $this->cardsTableName = $cardsTableName; - - } - - /** - * Returns the list of addressbooks for a specific user. - * - * @param string $principalUri - * @return array - */ - public function getAddressBooksForUser($principalUri) { - - $stmt = $this->pdo->prepare('SELECT id, uri, displayname, principaluri, description, ctag FROM '.$this->addressBooksTableName.' WHERE principaluri = ?'); - $stmt->execute(array($principalUri)); - - $addressBooks = array(); - - foreach($stmt->fetchAll() as $row) { - - $addressBooks[] = array( - 'id' => $row['id'], - 'uri' => $row['uri'], - 'principaluri' => $row['principaluri'], - '{DAV:}displayname' => $row['displayname'], - '{' . Sabre_CardDAV_Plugin::NS_CARDDAV . '}addressbook-description' => $row['description'], - '{http://calendarserver.org/ns/}getctag' => $row['ctag'], - '{' . Sabre_CardDAV_Plugin::NS_CARDDAV . '}supported-address-data' => - new Sabre_CardDAV_Property_SupportedAddressData(), - ); - - } - - return $addressBooks; - - } - - - /** - * Updates an addressbook's properties - * - * See Sabre_DAV_IProperties for a description of the mutations array, as - * well as the return value. - * - * @param mixed $addressBookId - * @param array $mutations - * @see Sabre_DAV_IProperties::updateProperties - * @return bool|array - */ - public function updateAddressBook($addressBookId, array $mutations) { - - $updates = array(); - - foreach($mutations as $property=>$newValue) { - - switch($property) { - case '{DAV:}displayname' : - $updates['displayname'] = $newValue; - break; - case '{' . Sabre_CardDAV_Plugin::NS_CARDDAV . '}addressbook-description' : - $updates['description'] = $newValue; - break; - default : - // If any unsupported values were being updated, we must - // let the entire request fail. - return false; - } - - } - - // No values are being updated? - if (!$updates) { - return false; - } - - $query = 'UPDATE ' . $this->addressBooksTableName . ' SET ctag = ctag + 1 '; - foreach($updates as $key=>$value) { - $query.=', `' . $key . '` = :' . $key . ' '; - } - $query.=' WHERE id = :addressbookid'; - - $stmt = $this->pdo->prepare($query); - $updates['addressbookid'] = $addressBookId; - - $stmt->execute($updates); - - return true; - - } - - /** - * Creates a new address book - * - * @param string $principalUri - * @param string $url Just the 'basename' of the url. - * @param array $properties - * @return void - */ - public function createAddressBook($principalUri, $url, array $properties) { - - $values = array( - 'displayname' => null, - 'description' => null, - 'principaluri' => $principalUri, - 'uri' => $url, - ); - - foreach($properties as $property=>$newValue) { - - switch($property) { - case '{DAV:}displayname' : - $values['displayname'] = $newValue; - break; - case '{' . Sabre_CardDAV_Plugin::NS_CARDDAV . '}addressbook-description' : - $values['description'] = $newValue; - break; - default : - throw new Sabre_DAV_Exception_BadRequest('Unknown property: ' . $property); - } - - } - - $query = 'INSERT INTO ' . $this->addressBooksTableName . ' (uri, displayname, description, principaluri, ctag) VALUES (:uri, :displayname, :description, :principaluri, 1)'; - $stmt = $this->pdo->prepare($query); - $stmt->execute($values); - - } - - /** - * Deletes an entire addressbook and all its contents - * - * @param int $addressBookId - * @return void - */ - public function deleteAddressBook($addressBookId) { - - $stmt = $this->pdo->prepare('DELETE FROM ' . $this->cardsTableName . ' WHERE addressbookid = ?'); - $stmt->execute(array($addressBookId)); - - $stmt = $this->pdo->prepare('DELETE FROM ' . $this->addressBooksTableName . ' WHERE id = ?'); - $stmt->execute(array($addressBookId)); - - } - - /** - * Returns all cards for a specific addressbook id. - * - * This method should return the following properties for each card: - * * carddata - raw vcard data - * * uri - Some unique url - * * lastmodified - A unix timestamp - * - * It's recommended to also return the following properties: - * * etag - A unique etag. This must change every time the card changes. - * * size - The size of the card in bytes. - * - * If these last two properties are provided, less time will be spent - * calculating them. If they are specified, you can also ommit carddata. - * This may speed up certain requests, especially with large cards. - * - * @param mixed $addressbookId - * @return array - */ - public function getCards($addressbookId) { - - $stmt = $this->pdo->prepare('SELECT id, carddata, uri, lastmodified FROM ' . $this->cardsTableName . ' WHERE addressbookid = ?'); - $stmt->execute(array($addressbookId)); - - return $stmt->fetchAll(PDO::FETCH_ASSOC); - - - } - - /** - * Returns a specfic card. - * - * The same set of properties must be returned as with getCards. The only - * exception is that 'carddata' is absolutely required. - * - * @param mixed $addressBookId - * @param string $cardUri - * @return array - */ - public function getCard($addressBookId, $cardUri) { - - $stmt = $this->pdo->prepare('SELECT id, carddata, uri, lastmodified FROM ' . $this->cardsTableName . ' WHERE addressbookid = ? AND uri = ? LIMIT 1'); - $stmt->execute(array($addressBookId, $cardUri)); - - $result = $stmt->fetchAll(PDO::FETCH_ASSOC); - - return (count($result)>0?$result[0]:false); - - } - - /** - * Creates a new card. - * - * The addressbook id will be passed as the first argument. This is the - * same id as it is returned from the getAddressbooksForUser method. - * - * The cardUri is a base uri, and doesn't include the full path. The - * cardData argument is the vcard body, and is passed as a string. - * - * It is possible to return an ETag from this method. This ETag is for the - * newly created resource, and must be enclosed with double quotes (that - * is, the string itself must contain the double quotes). - * - * You should only return the ETag if you store the carddata as-is. If a - * subsequent GET request on the same card does not have the same body, - * byte-by-byte and you did return an ETag here, clients tend to get - * confused. - * - * If you don't return an ETag, you can just return null. - * - * @param mixed $addressBookId - * @param string $cardUri - * @param string $cardData - * @return string|null - */ - public function createCard($addressBookId, $cardUri, $cardData) { - - $stmt = $this->pdo->prepare('INSERT INTO ' . $this->cardsTableName . ' (carddata, uri, lastmodified, addressbookid) VALUES (?, ?, ?, ?)'); - - $result = $stmt->execute(array($cardData, $cardUri, time(), $addressBookId)); - - $stmt2 = $this->pdo->prepare('UPDATE ' . $this->addressBooksTableName . ' SET ctag = ctag + 1 WHERE id = ?'); - $stmt2->execute(array($addressBookId)); - - return '"' . md5($cardData) . '"'; - - } - - /** - * Updates a card. - * - * The addressbook id will be passed as the first argument. This is the - * same id as it is returned from the getAddressbooksForUser method. - * - * The cardUri is a base uri, and doesn't include the full path. The - * cardData argument is the vcard body, and is passed as a string. - * - * It is possible to return an ETag from this method. This ETag should - * match that of the updated resource, and must be enclosed with double - * quotes (that is: the string itself must contain the actual quotes). - * - * You should only return the ETag if you store the carddata as-is. If a - * subsequent GET request on the same card does not have the same body, - * byte-by-byte and you did return an ETag here, clients tend to get - * confused. - * - * If you don't return an ETag, you can just return null. - * - * @param mixed $addressBookId - * @param string $cardUri - * @param string $cardData - * @return string|null - */ - public function updateCard($addressBookId, $cardUri, $cardData) { - - $stmt = $this->pdo->prepare('UPDATE ' . $this->cardsTableName . ' SET carddata = ?, lastmodified = ? WHERE uri = ? AND addressbookid =?'); - $stmt->execute(array($cardData, time(), $cardUri, $addressBookId)); - - $stmt2 = $this->pdo->prepare('UPDATE ' . $this->addressBooksTableName . ' SET ctag = ctag + 1 WHERE id = ?'); - $stmt2->execute(array($addressBookId)); - - return '"' . md5($cardData) . '"'; - - } - - /** - * Deletes a card - * - * @param mixed $addressBookId - * @param string $cardUri - * @return bool - */ - public function deleteCard($addressBookId, $cardUri) { - - $stmt = $this->pdo->prepare('DELETE FROM ' . $this->cardsTableName . ' WHERE addressbookid = ? AND uri = ?'); - $stmt->execute(array($addressBookId, $cardUri)); - - $stmt2 = $this->pdo->prepare('UPDATE ' . $this->addressBooksTableName . ' SET ctag = ctag + 1 WHERE id = ?'); - $stmt2->execute(array($addressBookId)); - - return $stmt->rowCount()===1; - - } -} diff --git a/3rdparty/Sabre/CardDAV/Card.php b/3rdparty/Sabre/CardDAV/Card.php deleted file mode 100755 index d7c663338375ac8b068851c574d49b45a49a75b7..0000000000000000000000000000000000000000 --- a/3rdparty/Sabre/CardDAV/Card.php +++ /dev/null @@ -1,250 +0,0 @@ -carddavBackend = $carddavBackend; - $this->addressBookInfo = $addressBookInfo; - $this->cardData = $cardData; - - } - - /** - * Returns the uri for this object - * - * @return string - */ - public function getName() { - - return $this->cardData['uri']; - - } - - /** - * Returns the VCard-formatted object - * - * @return string - */ - public function get() { - - // Pre-populating 'carddata' is optional. If we don't yet have it - // already, we fetch it from the backend. - if (!isset($this->cardData['carddata'])) { - $this->cardData = $this->carddavBackend->getCard($this->addressBookInfo['id'], $this->cardData['uri']); - } - return $this->cardData['carddata']; - - } - - /** - * Updates the VCard-formatted object - * - * @param string $cardData - * @return void - */ - public function put($cardData) { - - if (is_resource($cardData)) - $cardData = stream_get_contents($cardData); - - // Converting to UTF-8, if needed - $cardData = Sabre_DAV_StringUtil::ensureUTF8($cardData); - - $etag = $this->carddavBackend->updateCard($this->addressBookInfo['id'],$this->cardData['uri'],$cardData); - $this->cardData['carddata'] = $cardData; - $this->cardData['etag'] = $etag; - - return $etag; - - } - - /** - * Deletes the card - * - * @return void - */ - public function delete() { - - $this->carddavBackend->deleteCard($this->addressBookInfo['id'],$this->cardData['uri']); - - } - - /** - * Returns the mime content-type - * - * @return string - */ - public function getContentType() { - - return 'text/x-vcard'; - - } - - /** - * Returns an ETag for this object - * - * @return string - */ - public function getETag() { - - if (isset($this->cardData['etag'])) { - return $this->cardData['etag']; - } else { - return '"' . md5($this->get()) . '"'; - } - - } - - /** - * Returns the last modification date as a unix timestamp - * - * @return time - */ - public function getLastModified() { - - return isset($this->cardData['lastmodified'])?$this->cardData['lastmodified']:null; - - } - - /** - * Returns the size of this object in bytes - * - * @return int - */ - public function getSize() { - - if (array_key_exists('size', $this->cardData)) { - return $this->cardData['size']; - } else { - return strlen($this->get()); - } - - } - - /** - * Returns the owner principal - * - * This must be a url to a principal, or null if there's no owner - * - * @return string|null - */ - public function getOwner() { - - return $this->addressBookInfo['principaluri']; - - } - - /** - * Returns a group principal - * - * This must be a url to a principal, or null if there's no owner - * - * @return string|null - */ - public function getGroup() { - - return null; - - } - - /** - * Returns a list of ACE's for this node. - * - * Each ACE has the following properties: - * * 'privilege', a string such as {DAV:}read or {DAV:}write. These are - * currently the only supported privileges - * * 'principal', a url to the principal who owns the node - * * 'protected' (optional), indicating that this ACE is not allowed to - * be updated. - * - * @return array - */ - public function getACL() { - - return array( - array( - 'privilege' => '{DAV:}read', - 'principal' => $this->addressBookInfo['principaluri'], - 'protected' => true, - ), - array( - 'privilege' => '{DAV:}write', - 'principal' => $this->addressBookInfo['principaluri'], - 'protected' => true, - ), - ); - - } - - /** - * Updates the ACL - * - * This method will receive a list of new ACE's. - * - * @param array $acl - * @return void - */ - public function setACL(array $acl) { - - throw new Sabre_DAV_Exception_MethodNotAllowed('Changing ACL is not yet supported'); - - } - - /** - * Returns the list of supported privileges for this node. - * - * The returned data structure is a list of nested privileges. - * See Sabre_DAVACL_Plugin::getDefaultSupportedPrivilegeSet for a simple - * standard structure. - * - * If null is returned from this method, the default privilege set is used, - * which is fine for most common usecases. - * - * @return array|null - */ - public function getSupportedPrivilegeSet() { - - return null; - - } - -} - diff --git a/3rdparty/Sabre/CardDAV/IAddressBook.php b/3rdparty/Sabre/CardDAV/IAddressBook.php deleted file mode 100755 index 2bc275bcf743b9ca19377527f3cc655ffa461935..0000000000000000000000000000000000000000 --- a/3rdparty/Sabre/CardDAV/IAddressBook.php +++ /dev/null @@ -1,18 +0,0 @@ -subscribeEvent('beforeGetProperties', array($this, 'beforeGetProperties')); - $server->subscribeEvent('updateProperties', array($this, 'updateProperties')); - $server->subscribeEvent('report', array($this,'report')); - $server->subscribeEvent('onHTMLActionsPanel', array($this,'htmlActionsPanel')); - $server->subscribeEvent('onBrowserPostAction', array($this,'browserPostAction')); - $server->subscribeEvent('beforeWriteContent', array($this, 'beforeWriteContent')); - $server->subscribeEvent('beforeCreateFile', array($this, 'beforeCreateFile')); - - /* Namespaces */ - $server->xmlNamespaces[self::NS_CARDDAV] = 'card'; - - /* Mapping Interfaces to {DAV:}resourcetype values */ - $server->resourceTypeMapping['Sabre_CardDAV_IAddressBook'] = '{' . self::NS_CARDDAV . '}addressbook'; - $server->resourceTypeMapping['Sabre_CardDAV_IDirectory'] = '{' . self::NS_CARDDAV . '}directory'; - - /* Adding properties that may never be changed */ - $server->protectedProperties[] = '{' . self::NS_CARDDAV . '}supported-address-data'; - $server->protectedProperties[] = '{' . self::NS_CARDDAV . '}max-resource-size'; - $server->protectedProperties[] = '{' . self::NS_CARDDAV . '}addressbook-home-set'; - $server->protectedProperties[] = '{' . self::NS_CARDDAV . '}supported-collation-set'; - - $server->propertyMap['{http://calendarserver.org/ns/}me-card'] = 'Sabre_DAV_Property_Href'; - - $this->server = $server; - - } - - /** - * Returns a list of supported features. - * - * This is used in the DAV: header in the OPTIONS and PROPFIND requests. - * - * @return array - */ - public function getFeatures() { - - return array('addressbook'); - - } - - /** - * Returns a list of reports this plugin supports. - * - * This will be used in the {DAV:}supported-report-set property. - * Note that you still need to subscribe to the 'report' event to actually - * implement them - * - * @param string $uri - * @return array - */ - public function getSupportedReportSet($uri) { - - $node = $this->server->tree->getNodeForPath($uri); - if ($node instanceof Sabre_CardDAV_IAddressBook || $node instanceof Sabre_CardDAV_ICard) { - return array( - '{' . self::NS_CARDDAV . '}addressbook-multiget', - '{' . self::NS_CARDDAV . '}addressbook-query', - ); - } - return array(); - - } - - - /** - * Adds all CardDAV-specific properties - * - * @param string $path - * @param Sabre_DAV_INode $node - * @param array $requestedProperties - * @param array $returnedProperties - * @return void - */ - public function beforeGetProperties($path, Sabre_DAV_INode $node, array &$requestedProperties, array &$returnedProperties) { - - if ($node instanceof Sabre_DAVACL_IPrincipal) { - - // calendar-home-set property - $addHome = '{' . self::NS_CARDDAV . '}addressbook-home-set'; - if (in_array($addHome,$requestedProperties)) { - $principalId = $node->getName(); - $addressbookHomePath = self::ADDRESSBOOK_ROOT . '/' . $principalId . '/'; - unset($requestedProperties[array_search($addHome, $requestedProperties)]); - $returnedProperties[200][$addHome] = new Sabre_DAV_Property_Href($addressbookHomePath); - } - - $directories = '{' . self::NS_CARDDAV . '}directory-gateway'; - if ($this->directories && in_array($directories, $requestedProperties)) { - unset($requestedProperties[array_search($directories, $requestedProperties)]); - $returnedProperties[200][$directories] = new Sabre_DAV_Property_HrefList($this->directories); - } - - } - - if ($node instanceof Sabre_CardDAV_ICard) { - - // The address-data property is not supposed to be a 'real' - // property, but in large chunks of the spec it does act as such. - // Therefore we simply expose it as a property. - $addressDataProp = '{' . self::NS_CARDDAV . '}address-data'; - if (in_array($addressDataProp, $requestedProperties)) { - unset($requestedProperties[$addressDataProp]); - $val = $node->get(); - if (is_resource($val)) - $val = stream_get_contents($val); - - // Taking out \r to not screw up the xml output - //$returnedProperties[200][$addressDataProp] = str_replace("\r","", $val); - // The stripping of \r breaks the Mail App in OSX Mountain Lion - // this is fixed in master, but not backported. /Tanghus - $returnedProperties[200][$addressDataProp] = $val; - - } - } - - if ($node instanceof Sabre_CardDAV_UserAddressBooks) { - - $meCardProp = '{http://calendarserver.org/ns/}me-card'; - if (in_array($meCardProp, $requestedProperties)) { - - $props = $this->server->getProperties($node->getOwner(), array('{http://sabredav.org/ns}vcard-url')); - if (isset($props['{http://sabredav.org/ns}vcard-url'])) { - - $returnedProperties[200][$meCardProp] = new Sabre_DAV_Property_Href( - $props['{http://sabredav.org/ns}vcard-url'] - ); - $pos = array_search($meCardProp, $requestedProperties); - unset($requestedProperties[$pos]); - - } - - } - - } - - } - - /** - * This event is triggered when a PROPPATCH method is executed - * - * @param array $mutations - * @param array $result - * @param Sabre_DAV_INode $node - * @return void - */ - public function updateProperties(&$mutations, &$result, $node) { - - if (!$node instanceof Sabre_CardDAV_UserAddressBooks) { - return true; - } - - $meCard = '{http://calendarserver.org/ns/}me-card'; - - // The only property we care about - if (!isset($mutations[$meCard])) - return true; - - $value = $mutations[$meCard]; - unset($mutations[$meCard]); - - if ($value instanceof Sabre_DAV_Property_IHref) { - $value = $value->getHref(); - $value = $this->server->calculateUri($value); - } elseif (!is_null($value)) { - $result[400][$meCard] = null; - return false; - } - - $innerResult = $this->server->updateProperties( - $node->getOwner(), - array( - '{http://sabredav.org/ns}vcard-url' => $value, - ) - ); - - $closureResult = false; - foreach($innerResult as $status => $props) { - if (is_array($props) && array_key_exists('{http://sabredav.org/ns}vcard-url', $props)) { - $result[$status][$meCard] = null; - $closureResult = ($status>=200 && $status<300); - } - - } - - return $result; - - } - - /** - * This functions handles REPORT requests specific to CardDAV - * - * @param string $reportName - * @param DOMNode $dom - * @return bool - */ - public function report($reportName,$dom) { - - switch($reportName) { - case '{'.self::NS_CARDDAV.'}addressbook-multiget' : - $this->addressbookMultiGetReport($dom); - return false; - case '{'.self::NS_CARDDAV.'}addressbook-query' : - $this->addressBookQueryReport($dom); - return false; - default : - return; - - } - - - } - - /** - * This function handles the addressbook-multiget REPORT. - * - * This report is used by the client to fetch the content of a series - * of urls. Effectively avoiding a lot of redundant requests. - * - * @param DOMNode $dom - * @return void - */ - public function addressbookMultiGetReport($dom) { - - $properties = array_keys(Sabre_DAV_XMLUtil::parseProperties($dom->firstChild)); - - $hrefElems = $dom->getElementsByTagNameNS('urn:DAV','href'); - $propertyList = array(); - - foreach($hrefElems as $elem) { - - $uri = $this->server->calculateUri($elem->nodeValue); - list($propertyList[]) = $this->server->getPropertiesForPath($uri,$properties); - - } - - $this->server->httpResponse->sendStatus(207); - $this->server->httpResponse->setHeader('Content-Type','application/xml; charset=utf-8'); - $this->server->httpResponse->sendBody($this->server->generateMultiStatus($propertyList)); - - } - - /** - * This method is triggered before a file gets updated with new content. - * - * This plugin uses this method to ensure that Card nodes receive valid - * vcard data. - * - * @param string $path - * @param Sabre_DAV_IFile $node - * @param resource $data - * @return void - */ - public function beforeWriteContent($path, Sabre_DAV_IFile $node, &$data) { - - if (!$node instanceof Sabre_CardDAV_ICard) - return; - - $this->validateVCard($data); - - } - - /** - * This method is triggered before a new file is created. - * - * This plugin uses this method to ensure that Card nodes receive valid - * vcard data. - * - * @param string $path - * @param resource $data - * @param Sabre_DAV_ICollection $parentNode - * @return void - */ - public function beforeCreateFile($path, &$data, Sabre_DAV_ICollection $parentNode) { - - if (!$parentNode instanceof Sabre_CardDAV_IAddressBook) - return; - - $this->validateVCard($data); - - } - - /** - * Checks if the submitted iCalendar data is in fact, valid. - * - * An exception is thrown if it's not. - * - * @param resource|string $data - * @return void - */ - protected function validateVCard(&$data) { - - // If it's a stream, we convert it to a string first. - if (is_resource($data)) { - $data = stream_get_contents($data); - } - - // Converting the data to unicode, if needed. - $data = Sabre_DAV_StringUtil::ensureUTF8($data); - - try { - - $vobj = Sabre_VObject_Reader::read($data); - - } catch (Sabre_VObject_ParseException $e) { - - throw new Sabre_DAV_Exception_UnsupportedMediaType('This resource only supports valid vcard data. Parse error: ' . $e->getMessage()); - - } - - if ($vobj->name !== 'VCARD') { - throw new Sabre_DAV_Exception_UnsupportedMediaType('This collection can only support vcard objects.'); - } - - } - - - /** - * This function handles the addressbook-query REPORT - * - * This report is used by the client to filter an addressbook based on a - * complex query. - * - * @param DOMNode $dom - * @return void - */ - protected function addressbookQueryReport($dom) { - - $query = new Sabre_CardDAV_AddressBookQueryParser($dom); - $query->parse(); - - $depth = $this->server->getHTTPDepth(0); - - if ($depth==0) { - $candidateNodes = array( - $this->server->tree->getNodeForPath($this->server->getRequestUri()) - ); - } else { - $candidateNodes = $this->server->tree->getChildren($this->server->getRequestUri()); - } - - $validNodes = array(); - foreach($candidateNodes as $node) { - - if (!$node instanceof Sabre_CardDAV_ICard) - continue; - - $blob = $node->get(); - if (is_resource($blob)) { - $blob = stream_get_contents($blob); - } - - if (!$this->validateFilters($blob, $query->filters, $query->test)) { - continue; - } - - $validNodes[] = $node; - - if ($query->limit && $query->limit <= count($validNodes)) { - // We hit the maximum number of items, we can stop now. - break; - } - - } - - $result = array(); - foreach($validNodes as $validNode) { - - if ($depth==0) { - $href = $this->server->getRequestUri(); - } else { - $href = $this->server->getRequestUri() . '/' . $validNode->getName(); - } - - list($result[]) = $this->server->getPropertiesForPath($href, $query->requestedProperties, 0); - - } - - $this->server->httpResponse->sendStatus(207); - $this->server->httpResponse->setHeader('Content-Type','application/xml; charset=utf-8'); - $this->server->httpResponse->sendBody($this->server->generateMultiStatus($result)); - - } - - /** - * Validates if a vcard makes it throught a list of filters. - * - * @param string $vcardData - * @param array $filters - * @param string $test anyof or allof (which means OR or AND) - * @return bool - */ - public function validateFilters($vcardData, array $filters, $test) { - - $vcard = Sabre_VObject_Reader::read($vcardData); - - if (!$filters) return true; - - foreach($filters as $filter) { - - $isDefined = isset($vcard->{$filter['name']}); - if ($filter['is-not-defined']) { - if ($isDefined) { - $success = false; - } else { - $success = true; - } - } elseif ((!$filter['param-filters'] && !$filter['text-matches']) || !$isDefined) { - - // We only need to check for existence - $success = $isDefined; - - } else { - - $vProperties = $vcard->select($filter['name']); - - $results = array(); - if ($filter['param-filters']) { - $results[] = $this->validateParamFilters($vProperties, $filter['param-filters'], $filter['test']); - } - if ($filter['text-matches']) { - $texts = array(); - foreach($vProperties as $vProperty) - $texts[] = $vProperty->value; - - $results[] = $this->validateTextMatches($texts, $filter['text-matches'], $filter['test']); - } - - if (count($results)===1) { - $success = $results[0]; - } else { - if ($filter['test'] === 'anyof') { - $success = $results[0] || $results[1]; - } else { - $success = $results[0] && $results[1]; - } - } - - } // else - - // There are two conditions where we can already determine whether - // or not this filter succeeds. - if ($test==='anyof' && $success) { - return true; - } - if ($test==='allof' && !$success) { - return false; - } - - } // foreach - - // If we got all the way here, it means we haven't been able to - // determine early if the test failed or not. - // - // This implies for 'anyof' that the test failed, and for 'allof' that - // we succeeded. Sounds weird, but makes sense. - return $test==='allof'; - - } - - /** - * Validates if a param-filter can be applied to a specific property. - * - * @todo currently we're only validating the first parameter of the passed - * property. Any subsequence parameters with the same name are - * ignored. - * @param array $vProperties - * @param array $filters - * @param string $test - * @return bool - */ - protected function validateParamFilters(array $vProperties, array $filters, $test) { - - foreach($filters as $filter) { - - $isDefined = false; - foreach($vProperties as $vProperty) { - $isDefined = isset($vProperty[$filter['name']]); - if ($isDefined) break; - } - - if ($filter['is-not-defined']) { - if ($isDefined) { - $success = false; - } else { - $success = true; - } - - // If there's no text-match, we can just check for existence - } elseif (!$filter['text-match'] || !$isDefined) { - - $success = $isDefined; - - } else { - - $success = false; - foreach($vProperties as $vProperty) { - // If we got all the way here, we'll need to validate the - // text-match filter. - $success = Sabre_DAV_StringUtil::textMatch($vProperty[$filter['name']]->value, $filter['text-match']['value'], $filter['text-match']['collation'], $filter['text-match']['match-type']); - if ($success) break; - } - if ($filter['text-match']['negate-condition']) { - $success = !$success; - } - - } // else - - // There are two conditions where we can already determine whether - // or not this filter succeeds. - if ($test==='anyof' && $success) { - return true; - } - if ($test==='allof' && !$success) { - return false; - } - - } - - // If we got all the way here, it means we haven't been able to - // determine early if the test failed or not. - // - // This implies for 'anyof' that the test failed, and for 'allof' that - // we succeeded. Sounds weird, but makes sense. - return $test==='allof'; - - } - - /** - * Validates if a text-filter can be applied to a specific property. - * - * @param array $texts - * @param array $filters - * @param string $test - * @return bool - */ - protected function validateTextMatches(array $texts, array $filters, $test) { - - foreach($filters as $filter) { - - $success = false; - foreach($texts as $haystack) { - $success = Sabre_DAV_StringUtil::textMatch($haystack, $filter['value'], $filter['collation'], $filter['match-type']); - - // Breaking on the first match - if ($success) break; - } - if ($filter['negate-condition']) { - $success = !$success; - } - - if ($success && $test==='anyof') - return true; - - if (!$success && $test=='allof') - return false; - - - } - - // If we got all the way here, it means we haven't been able to - // determine early if the test failed or not. - // - // This implies for 'anyof' that the test failed, and for 'allof' that - // we succeeded. Sounds weird, but makes sense. - return $test==='allof'; - - } - - /** - * This method is used to generate HTML output for the - * Sabre_DAV_Browser_Plugin. This allows us to generate an interface users - * can use to create new calendars. - * - * @param Sabre_DAV_INode $node - * @param string $output - * @return bool - */ - public function htmlActionsPanel(Sabre_DAV_INode $node, &$output) { - - if (!$node instanceof Sabre_CardDAV_UserAddressBooks) - return; - - $output.= '
-

Create new address book

- -
-
- -
- '; - - return false; - - } - - /** - * This method allows us to intercept the 'mkcalendar' sabreAction. This - * action enables the user to create new calendars from the browser plugin. - * - * @param string $uri - * @param string $action - * @param array $postVars - * @return bool - */ - public function browserPostAction($uri, $action, array $postVars) { - - if ($action!=='mkaddressbook') - return; - - $resourceType = array('{DAV:}collection','{urn:ietf:params:xml:ns:carddav}addressbook'); - $properties = array(); - if (isset($postVars['{DAV:}displayname'])) { - $properties['{DAV:}displayname'] = $postVars['{DAV:}displayname']; - } - $this->server->createCollection($uri . '/' . $postVars['name'],$resourceType,$properties); - return false; - - } - -} diff --git a/3rdparty/Sabre/CardDAV/Property/SupportedAddressData.php b/3rdparty/Sabre/CardDAV/Property/SupportedAddressData.php deleted file mode 100755 index 36d9306e7aabd1ce55525922ce7e574a0acc640d..0000000000000000000000000000000000000000 --- a/3rdparty/Sabre/CardDAV/Property/SupportedAddressData.php +++ /dev/null @@ -1,69 +0,0 @@ - 'text/vcard', 'version' => '3.0'), - array('contentType' => 'text/vcard', 'version' => '4.0'), - ); - } - - $this->supportedData = $supportedData; - - } - - /** - * Serializes the property in a DOMDocument - * - * @param Sabre_DAV_Server $server - * @param DOMElement $node - * @return void - */ - public function serialize(Sabre_DAV_Server $server,DOMElement $node) { - - $doc = $node->ownerDocument; - - $prefix = - isset($server->xmlNamespaces[Sabre_CardDAV_Plugin::NS_CARDDAV]) ? - $server->xmlNamespaces[Sabre_CardDAV_Plugin::NS_CARDDAV] : - 'card'; - - foreach($this->supportedData as $supported) { - - $caldata = $doc->createElementNS(Sabre_CardDAV_Plugin::NS_CARDDAV, $prefix . ':address-data-type'); - $caldata->setAttribute('content-type',$supported['contentType']); - $caldata->setAttribute('version',$supported['version']); - $node->appendChild($caldata); - - } - - } - -} diff --git a/3rdparty/Sabre/CardDAV/UserAddressBooks.php b/3rdparty/Sabre/CardDAV/UserAddressBooks.php deleted file mode 100755 index 3f11fb11238ba6274c2dbed7fc19bf9e27c3f290..0000000000000000000000000000000000000000 --- a/3rdparty/Sabre/CardDAV/UserAddressBooks.php +++ /dev/null @@ -1,257 +0,0 @@ -carddavBackend = $carddavBackend; - $this->principalUri = $principalUri; - - } - - /** - * Returns the name of this object - * - * @return string - */ - public function getName() { - - list(,$name) = Sabre_DAV_URLUtil::splitPath($this->principalUri); - return $name; - - } - - /** - * Updates the name of this object - * - * @param string $name - * @return void - */ - public function setName($name) { - - throw new Sabre_DAV_Exception_MethodNotAllowed(); - - } - - /** - * Deletes this object - * - * @return void - */ - public function delete() { - - throw new Sabre_DAV_Exception_MethodNotAllowed(); - - } - - /** - * Returns the last modification date - * - * @return int - */ - public function getLastModified() { - - return null; - - } - - /** - * Creates a new file under this object. - * - * This is currently not allowed - * - * @param string $filename - * @param resource $data - * @return void - */ - public function createFile($filename, $data=null) { - - throw new Sabre_DAV_Exception_MethodNotAllowed('Creating new files in this collection is not supported'); - - } - - /** - * Creates a new directory under this object. - * - * This is currently not allowed. - * - * @param string $filename - * @return void - */ - public function createDirectory($filename) { - - throw new Sabre_DAV_Exception_MethodNotAllowed('Creating new collections in this collection is not supported'); - - } - - /** - * Returns a single calendar, by name - * - * @param string $name - * @todo needs optimizing - * @return Sabre_CardDAV_AddressBook - */ - public function getChild($name) { - - foreach($this->getChildren() as $child) { - if ($name==$child->getName()) - return $child; - - } - throw new Sabre_DAV_Exception_NotFound('Addressbook with name \'' . $name . '\' could not be found'); - - } - - /** - * Returns a list of addressbooks - * - * @return array - */ - public function getChildren() { - - $addressbooks = $this->carddavBackend->getAddressbooksForUser($this->principalUri); - $objs = array(); - foreach($addressbooks as $addressbook) { - $objs[] = new Sabre_CardDAV_AddressBook($this->carddavBackend, $addressbook); - } - return $objs; - - } - - /** - * Creates a new addressbook - * - * @param string $name - * @param array $resourceType - * @param array $properties - * @return void - */ - public function createExtendedCollection($name, array $resourceType, array $properties) { - - if (!in_array('{'.Sabre_CardDAV_Plugin::NS_CARDDAV.'}addressbook',$resourceType) || count($resourceType)!==2) { - throw new Sabre_DAV_Exception_InvalidResourceType('Unknown resourceType for this collection'); - } - $this->carddavBackend->createAddressBook($this->principalUri, $name, $properties); - - } - - /** - * Returns the owner principal - * - * This must be a url to a principal, or null if there's no owner - * - * @return string|null - */ - public function getOwner() { - - return $this->principalUri; - - } - - /** - * Returns a group principal - * - * This must be a url to a principal, or null if there's no owner - * - * @return string|null - */ - public function getGroup() { - - return null; - - } - - /** - * Returns a list of ACE's for this node. - * - * Each ACE has the following properties: - * * 'privilege', a string such as {DAV:}read or {DAV:}write. These are - * currently the only supported privileges - * * 'principal', a url to the principal who owns the node - * * 'protected' (optional), indicating that this ACE is not allowed to - * be updated. - * - * @return array - */ - public function getACL() { - - return array( - array( - 'privilege' => '{DAV:}read', - 'principal' => $this->principalUri, - 'protected' => true, - ), - array( - 'privilege' => '{DAV:}write', - 'principal' => $this->principalUri, - 'protected' => true, - ), - - ); - - } - - /** - * Updates the ACL - * - * This method will receive a list of new ACE's. - * - * @param array $acl - * @return void - */ - public function setACL(array $acl) { - - throw new Sabre_DAV_Exception_MethodNotAllowed('Changing ACL is not yet supported'); - - } - - /** - * Returns the list of supported privileges for this node. - * - * The returned data structure is a list of nested privileges. - * See Sabre_DAVACL_Plugin::getDefaultSupportedPrivilegeSet for a simple - * standard structure. - * - * If null is returned from this method, the default privilege set is used, - * which is fine for most common usecases. - * - * @return array|null - */ - public function getSupportedPrivilegeSet() { - - return null; - - } - -} diff --git a/3rdparty/Sabre/CardDAV/Version.php b/3rdparty/Sabre/CardDAV/Version.php deleted file mode 100755 index d0623f0d3e8658b89f747e619ad5547655d4ed93..0000000000000000000000000000000000000000 --- a/3rdparty/Sabre/CardDAV/Version.php +++ /dev/null @@ -1,26 +0,0 @@ -currentUser; - } - - - /** - * Authenticates the user based on the current request. - * - * If authentication is successful, true must be returned. - * If authentication fails, an exception must be thrown. - * - * @param Sabre_DAV_Server $server - * @param string $realm - * @throws Sabre_DAV_Exception_NotAuthenticated - * @return bool - */ - public function authenticate(Sabre_DAV_Server $server, $realm) { - - $auth = new Sabre_HTTP_BasicAuth(); - $auth->setHTTPRequest($server->httpRequest); - $auth->setHTTPResponse($server->httpResponse); - $auth->setRealm($realm); - $userpass = $auth->getUserPass(); - if (!$userpass) { - $auth->requireLogin(); - throw new Sabre_DAV_Exception_NotAuthenticated('No basic authentication headers were found'); - } - - // Authenticates the user - if (!$this->validateUserPass($userpass[0],$userpass[1])) { - $auth->requireLogin(); - throw new Sabre_DAV_Exception_NotAuthenticated('Username or password does not match'); - } - $this->currentUser = $userpass[0]; - return true; - } - - -} - diff --git a/3rdparty/Sabre/DAV/Auth/Backend/AbstractDigest.php b/3rdparty/Sabre/DAV/Auth/Backend/AbstractDigest.php deleted file mode 100755 index 9833928b9769c33257b46cb217f46f837d835e79..0000000000000000000000000000000000000000 --- a/3rdparty/Sabre/DAV/Auth/Backend/AbstractDigest.php +++ /dev/null @@ -1,98 +0,0 @@ -setHTTPRequest($server->httpRequest); - $digest->setHTTPResponse($server->httpResponse); - - $digest->setRealm($realm); - $digest->init(); - - $username = $digest->getUsername(); - - // No username was given - if (!$username) { - $digest->requireLogin(); - throw new Sabre_DAV_Exception_NotAuthenticated('No digest authentication headers were found'); - } - - $hash = $this->getDigestHash($realm, $username); - // If this was false, the user account didn't exist - if ($hash===false || is_null($hash)) { - $digest->requireLogin(); - throw new Sabre_DAV_Exception_NotAuthenticated('The supplied username was not on file'); - } - if (!is_string($hash)) { - throw new Sabre_DAV_Exception('The returned value from getDigestHash must be a string or null'); - } - - // If this was false, the password or part of the hash was incorrect. - if (!$digest->validateA1($hash)) { - $digest->requireLogin(); - throw new Sabre_DAV_Exception_NotAuthenticated('Incorrect username'); - } - - $this->currentUser = $username; - return true; - - } - - /** - * Returns the currently logged in username. - * - * @return string|null - */ - public function getCurrentUser() { - - return $this->currentUser; - - } - -} diff --git a/3rdparty/Sabre/DAV/Auth/Backend/Apache.php b/3rdparty/Sabre/DAV/Auth/Backend/Apache.php deleted file mode 100755 index d4294ea4d86dcaf87247acdbd966ce315f876b6f..0000000000000000000000000000000000000000 --- a/3rdparty/Sabre/DAV/Auth/Backend/Apache.php +++ /dev/null @@ -1,62 +0,0 @@ -httpRequest->getRawServerValue('REMOTE_USER'); - if (is_null($remoteUser)) { - throw new Sabre_DAV_Exception('We did not receive the $_SERVER[REMOTE_USER] property. This means that apache might have been misconfigured'); - } - - $this->remoteUser = $remoteUser; - return true; - - } - - /** - * Returns information about the currently logged in user. - * - * If nobody is currently logged in, this method should return null. - * - * @return array|null - */ - public function getCurrentUser() { - - return $this->remoteUser; - - } - -} - diff --git a/3rdparty/Sabre/DAV/Auth/Backend/File.php b/3rdparty/Sabre/DAV/Auth/Backend/File.php deleted file mode 100755 index de308d64a6728c69be916c6d39362080d004db1f..0000000000000000000000000000000000000000 --- a/3rdparty/Sabre/DAV/Auth/Backend/File.php +++ /dev/null @@ -1,75 +0,0 @@ -loadFile($filename); - - } - - /** - * Loads an htdigest-formatted file. This method can be called multiple times if - * more than 1 file is used. - * - * @param string $filename - * @return void - */ - public function loadFile($filename) { - - foreach(file($filename,FILE_IGNORE_NEW_LINES) as $line) { - - if (substr_count($line, ":") !== 2) - throw new Sabre_DAV_Exception('Malformed htdigest file. Every line should contain 2 colons'); - - list($username,$realm,$A1) = explode(':',$line); - - if (!preg_match('/^[a-zA-Z0-9]{32}$/', $A1)) - throw new Sabre_DAV_Exception('Malformed htdigest file. Invalid md5 hash'); - - $this->users[$realm . ':' . $username] = $A1; - - } - - } - - /** - * Returns a users' information - * - * @param string $realm - * @param string $username - * @return string - */ - public function getDigestHash($realm, $username) { - - return isset($this->users[$realm . ':' . $username])?$this->users[$realm . ':' . $username]:false; - - } - -} diff --git a/3rdparty/Sabre/DAV/Auth/Backend/PDO.php b/3rdparty/Sabre/DAV/Auth/Backend/PDO.php deleted file mode 100755 index eac18a23fbbfb3bb46180ec3cb5d0cbd02601dc5..0000000000000000000000000000000000000000 --- a/3rdparty/Sabre/DAV/Auth/Backend/PDO.php +++ /dev/null @@ -1,65 +0,0 @@ -pdo = $pdo; - $this->tableName = $tableName; - - } - - /** - * Returns the digest hash for a user. - * - * @param string $realm - * @param string $username - * @return string|null - */ - public function getDigestHash($realm,$username) { - - $stmt = $this->pdo->prepare('SELECT username, digesta1 FROM '.$this->tableName.' WHERE username = ?'); - $stmt->execute(array($username)); - $result = $stmt->fetchAll(); - - if (!count($result)) return; - - return $result[0]['digesta1']; - - } - -} diff --git a/3rdparty/Sabre/DAV/Auth/IBackend.php b/3rdparty/Sabre/DAV/Auth/IBackend.php deleted file mode 100755 index 5be5d1bc93d7807a9a9eecd8b87100c19be30d5e..0000000000000000000000000000000000000000 --- a/3rdparty/Sabre/DAV/Auth/IBackend.php +++ /dev/null @@ -1,36 +0,0 @@ -authBackend = $authBackend; - $this->realm = $realm; - - } - - /** - * Initializes the plugin. This function is automatically called by the server - * - * @param Sabre_DAV_Server $server - * @return void - */ - public function initialize(Sabre_DAV_Server $server) { - - $this->server = $server; - $this->server->subscribeEvent('beforeMethod',array($this,'beforeMethod'),10); - - } - - /** - * Returns a plugin name. - * - * Using this name other plugins will be able to access other plugins - * using Sabre_DAV_Server::getPlugin - * - * @return string - */ - public function getPluginName() { - - return 'auth'; - - } - - /** - * Returns the current users' principal uri. - * - * If nobody is logged in, this will return null. - * - * @return string|null - */ - public function getCurrentUser() { - - $userInfo = $this->authBackend->getCurrentUser(); - if (!$userInfo) return null; - - return $userInfo; - - } - - /** - * This method is called before any HTTP method and forces users to be authenticated - * - * @param string $method - * @param string $uri - * @throws Sabre_DAV_Exception_NotAuthenticated - * @return bool - */ - public function beforeMethod($method, $uri) { - - $this->authBackend->authenticate($this->server,$this->realm); - - } - -} diff --git a/3rdparty/Sabre/DAV/Browser/GuessContentType.php b/3rdparty/Sabre/DAV/Browser/GuessContentType.php deleted file mode 100755 index b6c00d461cb95e3ac778d5810b94a439b26d99c9..0000000000000000000000000000000000000000 --- a/3rdparty/Sabre/DAV/Browser/GuessContentType.php +++ /dev/null @@ -1,97 +0,0 @@ - 'image/jpeg', - 'gif' => 'image/gif', - 'png' => 'image/png', - - // groupware - 'ics' => 'text/calendar', - 'vcf' => 'text/x-vcard', - - // text - 'txt' => 'text/plain', - - ); - - /** - * Initializes the plugin - * - * @param Sabre_DAV_Server $server - * @return void - */ - public function initialize(Sabre_DAV_Server $server) { - - // Using a relatively low priority (200) to allow other extensions - // to set the content-type first. - $server->subscribeEvent('afterGetProperties',array($this,'afterGetProperties'),200); - - } - - /** - * Handler for teh afterGetProperties event - * - * @param string $path - * @param array $properties - * @return void - */ - public function afterGetProperties($path, &$properties) { - - if (array_key_exists('{DAV:}getcontenttype', $properties[404])) { - - list(, $fileName) = Sabre_DAV_URLUtil::splitPath($path); - $contentType = $this->getContentType($fileName); - - if ($contentType) { - $properties[200]['{DAV:}getcontenttype'] = $contentType; - unset($properties[404]['{DAV:}getcontenttype']); - } - - } - - } - - /** - * Simple method to return the contenttype - * - * @param string $fileName - * @return string - */ - protected function getContentType($fileName) { - - // Just grabbing the extension - $extension = strtolower(substr($fileName,strrpos($fileName,'.')+1)); - if (isset($this->extensionMap[$extension])) - return $this->extensionMap[$extension]; - - } - -} diff --git a/3rdparty/Sabre/DAV/Browser/MapGetToPropFind.php b/3rdparty/Sabre/DAV/Browser/MapGetToPropFind.php deleted file mode 100755 index 1588488764133f951cf103fad141763de653154e..0000000000000000000000000000000000000000 --- a/3rdparty/Sabre/DAV/Browser/MapGetToPropFind.php +++ /dev/null @@ -1,55 +0,0 @@ -server = $server; - $this->server->subscribeEvent('beforeMethod',array($this,'httpGetInterceptor')); - } - - /** - * This method intercepts GET requests to non-files, and changes it into an HTTP PROPFIND request - * - * @param string $method - * @param string $uri - * @return bool - */ - public function httpGetInterceptor($method, $uri) { - - if ($method!='GET') return true; - - $node = $this->server->tree->getNodeForPath($uri); - if ($node instanceof Sabre_DAV_IFile) return; - - $this->server->invokeMethod('PROPFIND',$uri); - return false; - - } - -} diff --git a/3rdparty/Sabre/DAV/Browser/Plugin.php b/3rdparty/Sabre/DAV/Browser/Plugin.php deleted file mode 100755 index 09bbdd2ae021e013c83c85bcbbc77f9cfb8a6ace..0000000000000000000000000000000000000000 --- a/3rdparty/Sabre/DAV/Browser/Plugin.php +++ /dev/null @@ -1,489 +0,0 @@ - 'icons/file', - 'Sabre_DAV_ICollection' => 'icons/collection', - 'Sabre_DAVACL_IPrincipal' => 'icons/principal', - 'Sabre_CalDAV_ICalendar' => 'icons/calendar', - 'Sabre_CardDAV_IAddressBook' => 'icons/addressbook', - 'Sabre_CardDAV_ICard' => 'icons/card', - ); - - /** - * The file extension used for all icons - * - * @var string - */ - public $iconExtension = '.png'; - - /** - * reference to server class - * - * @var Sabre_DAV_Server - */ - protected $server; - - /** - * enablePost turns on the 'actions' panel, which allows people to create - * folders and upload files straight from a browser. - * - * @var bool - */ - protected $enablePost = true; - - /** - * By default the browser plugin will generate a favicon and other images. - * To turn this off, set this property to false. - * - * @var bool - */ - protected $enableAssets = true; - - /** - * Creates the object. - * - * By default it will allow file creation and uploads. - * Specify the first argument as false to disable this - * - * @param bool $enablePost - * @param bool $enableAssets - */ - public function __construct($enablePost=true, $enableAssets = true) { - - $this->enablePost = $enablePost; - $this->enableAssets = $enableAssets; - - } - - /** - * Initializes the plugin and subscribes to events - * - * @param Sabre_DAV_Server $server - * @return void - */ - public function initialize(Sabre_DAV_Server $server) { - - $this->server = $server; - $this->server->subscribeEvent('beforeMethod',array($this,'httpGetInterceptor')); - $this->server->subscribeEvent('onHTMLActionsPanel', array($this, 'htmlActionsPanel'),200); - if ($this->enablePost) $this->server->subscribeEvent('unknownMethod',array($this,'httpPOSTHandler')); - } - - /** - * This method intercepts GET requests to collections and returns the html - * - * @param string $method - * @param string $uri - * @return bool - */ - public function httpGetInterceptor($method, $uri) { - - if ($method !== 'GET') return true; - - // We're not using straight-up $_GET, because we want everything to be - // unit testable. - $getVars = array(); - parse_str($this->server->httpRequest->getQueryString(), $getVars); - - if (isset($getVars['sabreAction']) && $getVars['sabreAction'] === 'asset' && isset($getVars['assetName'])) { - $this->serveAsset($getVars['assetName']); - return false; - } - - try { - $node = $this->server->tree->getNodeForPath($uri); - } catch (Sabre_DAV_Exception_NotFound $e) { - // We're simply stopping when the file isn't found to not interfere - // with other plugins. - return; - } - if ($node instanceof Sabre_DAV_IFile) - return; - - $this->server->httpResponse->sendStatus(200); - $this->server->httpResponse->setHeader('Content-Type','text/html; charset=utf-8'); - - $this->server->httpResponse->sendBody( - $this->generateDirectoryIndex($uri) - ); - - return false; - - } - - /** - * Handles POST requests for tree operations. - * - * @param string $method - * @param string $uri - * @return bool - */ - public function httpPOSTHandler($method, $uri) { - - if ($method!='POST') return; - $contentType = $this->server->httpRequest->getHeader('Content-Type'); - list($contentType) = explode(';', $contentType); - if ($contentType !== 'application/x-www-form-urlencoded' && - $contentType !== 'multipart/form-data') { - return; - } - $postVars = $this->server->httpRequest->getPostVars(); - - if (!isset($postVars['sabreAction'])) - return; - - if ($this->server->broadcastEvent('onBrowserPostAction', array($uri, $postVars['sabreAction'], $postVars))) { - - switch($postVars['sabreAction']) { - - case 'mkcol' : - if (isset($postVars['name']) && trim($postVars['name'])) { - // Using basename() because we won't allow slashes - list(, $folderName) = Sabre_DAV_URLUtil::splitPath(trim($postVars['name'])); - $this->server->createDirectory($uri . '/' . $folderName); - } - break; - case 'put' : - if ($_FILES) $file = current($_FILES); - else break; - - list(, $newName) = Sabre_DAV_URLUtil::splitPath(trim($file['name'])); - if (isset($postVars['name']) && trim($postVars['name'])) - $newName = trim($postVars['name']); - - // Making sure we only have a 'basename' component - list(, $newName) = Sabre_DAV_URLUtil::splitPath($newName); - - if (is_uploaded_file($file['tmp_name'])) { - $this->server->createFile($uri . '/' . $newName, fopen($file['tmp_name'],'r')); - } - break; - - } - - } - $this->server->httpResponse->setHeader('Location',$this->server->httpRequest->getUri()); - $this->server->httpResponse->sendStatus(302); - return false; - - } - - /** - * Escapes a string for html. - * - * @param string $value - * @return string - */ - public function escapeHTML($value) { - - return htmlspecialchars($value,ENT_QUOTES,'UTF-8'); - - } - - /** - * Generates the html directory index for a given url - * - * @param string $path - * @return string - */ - public function generateDirectoryIndex($path) { - - $version = ''; - if (Sabre_DAV_Server::$exposeVersion) { - $version = Sabre_DAV_Version::VERSION ."-". Sabre_DAV_Version::STABILITY; - } - - $html = " - - Index for " . $this->escapeHTML($path) . "/ - SabreDAV " . $version . " - - "; - - if ($this->enableAssets) { - $html.=''; - } - - $html .= " - -

Index for " . $this->escapeHTML($path) . "/

- - - "; - - $files = $this->server->getPropertiesForPath($path,array( - '{DAV:}displayname', - '{DAV:}resourcetype', - '{DAV:}getcontenttype', - '{DAV:}getcontentlength', - '{DAV:}getlastmodified', - ),1); - - $parent = $this->server->tree->getNodeForPath($path); - - - if ($path) { - - list($parentUri) = Sabre_DAV_URLUtil::splitPath($path); - $fullPath = Sabre_DAV_URLUtil::encodePath($this->server->getBaseUri() . $parentUri); - - $icon = $this->enableAssets?'Parent':''; - $html.= " - - - - - - "; - - } - - foreach($files as $file) { - - // This is the current directory, we can skip it - if (rtrim($file['href'],'/')==$path) continue; - - list(, $name) = Sabre_DAV_URLUtil::splitPath($file['href']); - - $type = null; - - - if (isset($file[200]['{DAV:}resourcetype'])) { - $type = $file[200]['{DAV:}resourcetype']->getValue(); - - // resourcetype can have multiple values - if (!is_array($type)) $type = array($type); - - foreach($type as $k=>$v) { - - // Some name mapping is preferred - switch($v) { - case '{DAV:}collection' : - $type[$k] = 'Collection'; - break; - case '{DAV:}principal' : - $type[$k] = 'Principal'; - break; - case '{urn:ietf:params:xml:ns:carddav}addressbook' : - $type[$k] = 'Addressbook'; - break; - case '{urn:ietf:params:xml:ns:caldav}calendar' : - $type[$k] = 'Calendar'; - break; - case '{urn:ietf:params:xml:ns:caldav}schedule-inbox' : - $type[$k] = 'Schedule Inbox'; - break; - case '{urn:ietf:params:xml:ns:caldav}schedule-outbox' : - $type[$k] = 'Schedule Outbox'; - break; - case '{http://calendarserver.org/ns/}calendar-proxy-read' : - $type[$k] = 'Proxy-Read'; - break; - case '{http://calendarserver.org/ns/}calendar-proxy-write' : - $type[$k] = 'Proxy-Write'; - break; - } - - } - $type = implode(', ', $type); - } - - // If no resourcetype was found, we attempt to use - // the contenttype property - if (!$type && isset($file[200]['{DAV:}getcontenttype'])) { - $type = $file[200]['{DAV:}getcontenttype']; - } - if (!$type) $type = 'Unknown'; - - $size = isset($file[200]['{DAV:}getcontentlength'])?(int)$file[200]['{DAV:}getcontentlength']:''; - $lastmodified = isset($file[200]['{DAV:}getlastmodified'])?$file[200]['{DAV:}getlastmodified']->getTime()->format(DateTime::ATOM):''; - - $fullPath = Sabre_DAV_URLUtil::encodePath('/' . trim($this->server->getBaseUri() . ($path?$path . '/':'') . $name,'/')); - - $displayName = isset($file[200]['{DAV:}displayname'])?$file[200]['{DAV:}displayname']:$name; - - $displayName = $this->escapeHTML($displayName); - $type = $this->escapeHTML($type); - - $icon = ''; - - if ($this->enableAssets) { - $node = $parent->getChild($name); - foreach(array_reverse($this->iconMap) as $class=>$iconName) { - - if ($node instanceof $class) { - $icon = ''; - break; - } - - - } - - } - - $html.= " - - - - - - "; - - } - - $html.= ""; - - $output = ''; - - if ($this->enablePost) { - $this->server->broadcastEvent('onHTMLActionsPanel',array($parent, &$output)); - } - - $html.=$output; - - $html.= "
NameTypeSizeLast modified

$icon..[parent]
$icon{$displayName}{$type}{$size}{$lastmodified}

-
Generated by SabreDAV " . $version . " (c)2007-2012 http://code.google.com/p/sabredav/
- - "; - - return $html; - - } - - /** - * This method is used to generate the 'actions panel' output for - * collections. - * - * This specifically generates the interfaces for creating new files, and - * creating new directories. - * - * @param Sabre_DAV_INode $node - * @param mixed $output - * @return void - */ - public function htmlActionsPanel(Sabre_DAV_INode $node, &$output) { - - if (!$node instanceof Sabre_DAV_ICollection) - return; - - // We also know fairly certain that if an object is a non-extended - // SimpleCollection, we won't need to show the panel either. - if (get_class($node)==='Sabre_DAV_SimpleCollection') - return; - - $output.= '
-

Create new folder

- - Name:
- -
-
-

Upload file

- - Name (optional):
- File:
- -
- '; - - } - - /** - * This method takes a path/name of an asset and turns it into url - * suiteable for http access. - * - * @param string $assetName - * @return string - */ - protected function getAssetUrl($assetName) { - - return $this->server->getBaseUri() . '?sabreAction=asset&assetName=' . urlencode($assetName); - - } - - /** - * This method returns a local pathname to an asset. - * - * @param string $assetName - * @return string - */ - protected function getLocalAssetPath($assetName) { - - // Making sure people aren't trying to escape from the base path. - $assetSplit = explode('/', $assetName); - if (in_array('..',$assetSplit)) { - throw new Sabre_DAV_Exception('Incorrect asset path'); - } - $path = __DIR__ . '/assets/' . $assetName; - return $path; - - } - - /** - * This method reads an asset from disk and generates a full http response. - * - * @param string $assetName - * @return void - */ - protected function serveAsset($assetName) { - - $assetPath = $this->getLocalAssetPath($assetName); - if (!file_exists($assetPath)) { - throw new Sabre_DAV_Exception_NotFound('Could not find an asset with this name'); - } - // Rudimentary mime type detection - switch(strtolower(substr($assetPath,strpos($assetPath,'.')+1))) { - - case 'ico' : - $mime = 'image/vnd.microsoft.icon'; - break; - - case 'png' : - $mime = 'image/png'; - break; - - default: - $mime = 'application/octet-stream'; - break; - - } - - $this->server->httpResponse->setHeader('Content-Type', $mime); - $this->server->httpResponse->setHeader('Content-Length', filesize($assetPath)); - $this->server->httpResponse->setHeader('Cache-Control', 'public, max-age=1209600'); - $this->server->httpResponse->sendStatus(200); - $this->server->httpResponse->sendBody(fopen($assetPath,'r')); - - } - -} diff --git a/3rdparty/Sabre/DAV/Browser/assets/favicon.ico b/3rdparty/Sabre/DAV/Browser/assets/favicon.ico deleted file mode 100755 index 2b2c10a22cc7a57c4dc5d7156f184448f2bee92b..0000000000000000000000000000000000000000 Binary files a/3rdparty/Sabre/DAV/Browser/assets/favicon.ico and /dev/null differ diff --git a/3rdparty/Sabre/DAV/Browser/assets/icons/addressbook.png b/3rdparty/Sabre/DAV/Browser/assets/icons/addressbook.png deleted file mode 100755 index c9acc84172dad59708b6b298b310b8d29eeeb671..0000000000000000000000000000000000000000 Binary files a/3rdparty/Sabre/DAV/Browser/assets/icons/addressbook.png and /dev/null differ diff --git a/3rdparty/Sabre/DAV/Browser/assets/icons/calendar.png b/3rdparty/Sabre/DAV/Browser/assets/icons/calendar.png deleted file mode 100755 index 3ecd6a800a01b77ec8b53fd2ac2c1ad9be035fc0..0000000000000000000000000000000000000000 Binary files a/3rdparty/Sabre/DAV/Browser/assets/icons/calendar.png and /dev/null differ diff --git a/3rdparty/Sabre/DAV/Browser/assets/icons/card.png b/3rdparty/Sabre/DAV/Browser/assets/icons/card.png deleted file mode 100755 index 2ce954866d853edb737a7e281de221f7846846f6..0000000000000000000000000000000000000000 Binary files a/3rdparty/Sabre/DAV/Browser/assets/icons/card.png and /dev/null differ diff --git a/3rdparty/Sabre/DAV/Browser/assets/icons/collection.png b/3rdparty/Sabre/DAV/Browser/assets/icons/collection.png deleted file mode 100755 index 156fa64fd50f15d9e838326d42d68feba2c23c3b..0000000000000000000000000000000000000000 Binary files a/3rdparty/Sabre/DAV/Browser/assets/icons/collection.png and /dev/null differ diff --git a/3rdparty/Sabre/DAV/Browser/assets/icons/file.png b/3rdparty/Sabre/DAV/Browser/assets/icons/file.png deleted file mode 100755 index 3b98551cec3a863ab120a52cf21debad6cab6748..0000000000000000000000000000000000000000 Binary files a/3rdparty/Sabre/DAV/Browser/assets/icons/file.png and /dev/null differ diff --git a/3rdparty/Sabre/DAV/Browser/assets/icons/parent.png b/3rdparty/Sabre/DAV/Browser/assets/icons/parent.png deleted file mode 100755 index 156fa64fd50f15d9e838326d42d68feba2c23c3b..0000000000000000000000000000000000000000 Binary files a/3rdparty/Sabre/DAV/Browser/assets/icons/parent.png and /dev/null differ diff --git a/3rdparty/Sabre/DAV/Browser/assets/icons/principal.png b/3rdparty/Sabre/DAV/Browser/assets/icons/principal.png deleted file mode 100755 index f8988f828e61bb1894c3ea5b848f95aac84beaa3..0000000000000000000000000000000000000000 Binary files a/3rdparty/Sabre/DAV/Browser/assets/icons/principal.png and /dev/null differ diff --git a/3rdparty/Sabre/DAV/Client.php b/3rdparty/Sabre/DAV/Client.php deleted file mode 100755 index 9a428765e904bc8e5e92b05d7f4299890e7f150d..0000000000000000000000000000000000000000 --- a/3rdparty/Sabre/DAV/Client.php +++ /dev/null @@ -1,492 +0,0 @@ -$validSetting = $settings[$validSetting]; - } - } - - if (isset($settings['authType'])) { - $this->authType = $settings['authType']; - } else { - $this->authType = self::AUTH_BASIC | self::AUTH_DIGEST; - } - - $this->propertyMap['{DAV:}resourcetype'] = 'Sabre_DAV_Property_ResourceType'; - - } - - /** - * Does a PROPFIND request - * - * The list of requested properties must be specified as an array, in clark - * notation. - * - * The returned array will contain a list of filenames as keys, and - * properties as values. - * - * The properties array will contain the list of properties. Only properties - * that are actually returned from the server (without error) will be - * returned, anything else is discarded. - * - * Depth should be either 0 or 1. A depth of 1 will cause a request to be - * made to the server to also return all child resources. - * - * @param string $url - * @param array $properties - * @param int $depth - * @return array - */ - public function propFind($url, array $properties, $depth = 0) { - - $body = '' . "\n"; - $body.= '' . "\n"; - $body.= ' ' . "\n"; - - foreach($properties as $property) { - - list( - $namespace, - $elementName - ) = Sabre_DAV_XMLUtil::parseClarkNotation($property); - - if ($namespace === 'DAV:') { - $body.=' ' . "\n"; - } else { - $body.=" \n"; - } - - } - - $body.= ' ' . "\n"; - $body.= ''; - - $response = $this->request('PROPFIND', $url, $body, array( - 'Depth' => $depth, - 'Content-Type' => 'application/xml' - )); - - $result = $this->parseMultiStatus($response['body']); - - // If depth was 0, we only return the top item - if ($depth===0) { - reset($result); - $result = current($result); - return $result[200]; - } - - $newResult = array(); - foreach($result as $href => $statusList) { - - $newResult[$href] = $statusList[200]; - - } - - return $newResult; - - } - - /** - * Updates a list of properties on the server - * - * The list of properties must have clark-notation properties for the keys, - * and the actual (string) value for the value. If the value is null, an - * attempt is made to delete the property. - * - * @todo Must be building the request using the DOM, and does not yet - * support complex properties. - * @param string $url - * @param array $properties - * @return void - */ - public function propPatch($url, array $properties) { - - $body = '' . "\n"; - $body.= '' . "\n"; - - foreach($properties as $propName => $propValue) { - - list( - $namespace, - $elementName - ) = Sabre_DAV_XMLUtil::parseClarkNotation($propName); - - if ($propValue === null) { - - $body.="\n"; - - if ($namespace === 'DAV:') { - $body.=' ' . "\n"; - } else { - $body.=" \n"; - } - - $body.="\n"; - - } else { - - $body.="\n"; - if ($namespace === 'DAV:') { - $body.=' '; - } else { - $body.=" "; - } - // Shitty.. i know - $body.=htmlspecialchars($propValue, ENT_NOQUOTES, 'UTF-8'); - if ($namespace === 'DAV:') { - $body.='' . "\n"; - } else { - $body.="\n"; - } - $body.="\n"; - - } - - } - - $body.= ''; - - $this->request('PROPPATCH', $url, $body, array( - 'Content-Type' => 'application/xml' - )); - - } - - /** - * Performs an HTTP options request - * - * This method returns all the features from the 'DAV:' header as an array. - * If there was no DAV header, or no contents this method will return an - * empty array. - * - * @return array - */ - public function options() { - - $result = $this->request('OPTIONS'); - if (!isset($result['headers']['dav'])) { - return array(); - } - - $features = explode(',', $result['headers']['dav']); - foreach($features as &$v) { - $v = trim($v); - } - return $features; - - } - - /** - * Performs an actual HTTP request, and returns the result. - * - * If the specified url is relative, it will be expanded based on the base - * url. - * - * The returned array contains 3 keys: - * * body - the response body - * * httpCode - a HTTP code (200, 404, etc) - * * headers - a list of response http headers. The header names have - * been lowercased. - * - * @param string $method - * @param string $url - * @param string $body - * @param array $headers - * @return array - */ - public function request($method, $url = '', $body = null, $headers = array()) { - - $url = $this->getAbsoluteUrl($url); - - $curlSettings = array( - CURLOPT_RETURNTRANSFER => true, - // Return headers as part of the response - CURLOPT_HEADER => true, - CURLOPT_POSTFIELDS => $body, - // Automatically follow redirects - CURLOPT_FOLLOWLOCATION => true, - CURLOPT_MAXREDIRS => 5, - ); - - switch ($method) { - case 'HEAD' : - - // do not read body with HEAD requests (this is neccessary because cURL does not ignore the body with HEAD - // requests when the Content-Length header is given - which in turn is perfectly valid according to HTTP - // specs...) cURL does unfortunately return an error in this case ("transfer closed transfer closed with - // ... bytes remaining to read") this can be circumvented by explicitly telling cURL to ignore the - // response body - $curlSettings[CURLOPT_NOBODY] = true; - $curlSettings[CURLOPT_CUSTOMREQUEST] = 'HEAD'; - break; - - default: - $curlSettings[CURLOPT_CUSTOMREQUEST] = $method; - break; - - } - - // Adding HTTP headers - $nHeaders = array(); - foreach($headers as $key=>$value) { - - $nHeaders[] = $key . ': ' . $value; - - } - $curlSettings[CURLOPT_HTTPHEADER] = $nHeaders; - - if ($this->proxy) { - $curlSettings[CURLOPT_PROXY] = $this->proxy; - } - - if ($this->userName && $this->authType) { - $curlType = 0; - if ($this->authType & self::AUTH_BASIC) { - $curlType |= CURLAUTH_BASIC; - } - if ($this->authType & self::AUTH_DIGEST) { - $curlType |= CURLAUTH_DIGEST; - } - $curlSettings[CURLOPT_HTTPAUTH] = $curlType; - $curlSettings[CURLOPT_USERPWD] = $this->userName . ':' . $this->password; - } - - list( - $response, - $curlInfo, - $curlErrNo, - $curlError - ) = $this->curlRequest($url, $curlSettings); - - $headerBlob = substr($response, 0, $curlInfo['header_size']); - $response = substr($response, $curlInfo['header_size']); - - // In the case of 100 Continue, or redirects we'll have multiple lists - // of headers for each separate HTTP response. We can easily split this - // because they are separated by \r\n\r\n - $headerBlob = explode("\r\n\r\n", trim($headerBlob, "\r\n")); - - // We only care about the last set of headers - $headerBlob = $headerBlob[count($headerBlob)-1]; - - // Splitting headers - $headerBlob = explode("\r\n", $headerBlob); - - $headers = array(); - foreach($headerBlob as $header) { - $parts = explode(':', $header, 2); - if (count($parts)==2) { - $headers[strtolower(trim($parts[0]))] = trim($parts[1]); - } - } - - $response = array( - 'body' => $response, - 'statusCode' => $curlInfo['http_code'], - 'headers' => $headers - ); - - if ($curlErrNo) { - throw new Sabre_DAV_Exception('[CURL] Error while making request: ' . $curlError . ' (error code: ' . $curlErrNo . ')'); - } - - if ($response['statusCode']>=400) { - switch ($response['statusCode']) { - case 404: - throw new Sabre_DAV_Exception_NotFound('Resource ' . $url . ' not found.'); - break; - - default: - throw new Sabre_DAV_Exception('HTTP error response. (errorcode ' . $response['statusCode'] . ')'); - } - } - - return $response; - - } - - /** - * Wrapper for all curl functions. - * - * The only reason this was split out in a separate method, is so it - * becomes easier to unittest. - * - * @param string $url - * @param array $settings - * @return array - */ - protected function curlRequest($url, $settings) { - - $curl = curl_init($url); - curl_setopt_array($curl, $settings); - - return array( - curl_exec($curl), - curl_getinfo($curl), - curl_errno($curl), - curl_error($curl) - ); - - } - - /** - * Returns the full url based on the given url (which may be relative). All - * urls are expanded based on the base url as given by the server. - * - * @param string $url - * @return string - */ - protected function getAbsoluteUrl($url) { - - // If the url starts with http:// or https://, the url is already absolute. - if (preg_match('/^http(s?):\/\//', $url)) { - return $url; - } - - // If the url starts with a slash, we must calculate the url based off - // the root of the base url. - if (strpos($url,'/') === 0) { - $parts = parse_url($this->baseUri); - return $parts['scheme'] . '://' . $parts['host'] . (isset($parts['port'])?':' . $parts['port']:'') . $url; - } - - // Otherwise... - return $this->baseUri . $url; - - } - - /** - * Parses a WebDAV multistatus response body - * - * This method returns an array with the following structure - * - * array( - * 'url/to/resource' => array( - * '200' => array( - * '{DAV:}property1' => 'value1', - * '{DAV:}property2' => 'value2', - * ), - * '404' => array( - * '{DAV:}property1' => null, - * '{DAV:}property2' => null, - * ), - * ) - * 'url/to/resource2' => array( - * .. etc .. - * ) - * ) - * - * - * @param string $body xml body - * @return array - */ - public function parseMultiStatus($body) { - - $body = Sabre_DAV_XMLUtil::convertDAVNamespace($body); - - $responseXML = simplexml_load_string($body, null, LIBXML_NOBLANKS | LIBXML_NOCDATA); - if ($responseXML===false) { - throw new InvalidArgumentException('The passed data is not valid XML'); - } - - $responseXML->registerXPathNamespace('d', 'urn:DAV'); - - $propResult = array(); - - foreach($responseXML->xpath('d:response') as $response) { - $response->registerXPathNamespace('d', 'urn:DAV'); - $href = $response->xpath('d:href'); - $href = (string)$href[0]; - - $properties = array(); - - foreach($response->xpath('d:propstat') as $propStat) { - - $propStat->registerXPathNamespace('d', 'urn:DAV'); - $status = $propStat->xpath('d:status'); - list($httpVersion, $statusCode, $message) = explode(' ', (string)$status[0],3); - - $properties[$statusCode] = Sabre_DAV_XMLUtil::parseProperties(dom_import_simplexml($propStat), $this->propertyMap); - - } - - $propResult[$href] = $properties; - - } - - return $propResult; - - } - -} diff --git a/3rdparty/Sabre/DAV/Collection.php b/3rdparty/Sabre/DAV/Collection.php deleted file mode 100755 index 776c22531b2485bdcabb5c47a9ae2efec75bdd1a..0000000000000000000000000000000000000000 --- a/3rdparty/Sabre/DAV/Collection.php +++ /dev/null @@ -1,106 +0,0 @@ -getChildren() as $child) { - - if ($child->getName()==$name) return $child; - - } - throw new Sabre_DAV_Exception_NotFound('File not found: ' . $name); - - } - - /** - * Checks is a child-node exists. - * - * It is generally a good idea to try and override this. Usually it can be optimized. - * - * @param string $name - * @return bool - */ - public function childExists($name) { - - try { - - $this->getChild($name); - return true; - - } catch(Sabre_DAV_Exception_NotFound $e) { - - return false; - - } - - } - - /** - * Creates a new file in the directory - * - * Data will either be supplied as a stream resource, or in certain cases - * as a string. Keep in mind that you may have to support either. - * - * After succesful creation of the file, you may choose to return the ETag - * of the new file here. - * - * The returned ETag must be surrounded by double-quotes (The quotes should - * be part of the actual string). - * - * If you cannot accurately determine the ETag, you should not return it. - * If you don't store the file exactly as-is (you're transforming it - * somehow) you should also not return an ETag. - * - * This means that if a subsequent GET to this new file does not exactly - * return the same contents of what was submitted here, you are strongly - * recommended to omit the ETag. - * - * @param string $name Name of the file - * @param resource|string $data Initial payload - * @return null|string - */ - public function createFile($name, $data = null) { - - throw new Sabre_DAV_Exception_Forbidden('Permission denied to create file (filename ' . $name . ')'); - - } - - /** - * Creates a new subdirectory - * - * @param string $name - * @throws Sabre_DAV_Exception_Forbidden - * @return void - */ - public function createDirectory($name) { - - throw new Sabre_DAV_Exception_Forbidden('Permission denied to create directory'); - - } - - -} - diff --git a/3rdparty/Sabre/DAV/Directory.php b/3rdparty/Sabre/DAV/Directory.php deleted file mode 100755 index 6db8febc02e900ceba08c74370bbffa7968fd46b..0000000000000000000000000000000000000000 --- a/3rdparty/Sabre/DAV/Directory.php +++ /dev/null @@ -1,17 +0,0 @@ -lock) { - $error = $errorNode->ownerDocument->createElementNS('DAV:','d:no-conflicting-lock'); - $errorNode->appendChild($error); - if (!is_object($this->lock)) var_dump($this->lock); - $error->appendChild($errorNode->ownerDocument->createElementNS('DAV:','d:href',$this->lock->uri)); - } - - } - -} diff --git a/3rdparty/Sabre/DAV/Exception/FileNotFound.php b/3rdparty/Sabre/DAV/Exception/FileNotFound.php deleted file mode 100755 index d76e400c93b111b64fdd15369a8fecdf8fec197a..0000000000000000000000000000000000000000 --- a/3rdparty/Sabre/DAV/Exception/FileNotFound.php +++ /dev/null @@ -1,19 +0,0 @@ -ownerDocument->createElementNS('DAV:','d:valid-resourcetype'); - $errorNode->appendChild($error); - - } - -} diff --git a/3rdparty/Sabre/DAV/Exception/LockTokenMatchesRequestUri.php b/3rdparty/Sabre/DAV/Exception/LockTokenMatchesRequestUri.php deleted file mode 100755 index 80ab7aff65ae80dcdc3afb480ae57e60bc1923b6..0000000000000000000000000000000000000000 --- a/3rdparty/Sabre/DAV/Exception/LockTokenMatchesRequestUri.php +++ /dev/null @@ -1,39 +0,0 @@ -message = 'The locktoken supplied does not match any locks on this entity'; - - } - - /** - * This method allows the exception to include additional information into the WebDAV error response - * - * @param Sabre_DAV_Server $server - * @param DOMElement $errorNode - * @return void - */ - public function serialize(Sabre_DAV_Server $server,DOMElement $errorNode) { - - $error = $errorNode->ownerDocument->createElementNS('DAV:','d:lock-token-matches-request-uri'); - $errorNode->appendChild($error); - - } - -} diff --git a/3rdparty/Sabre/DAV/Exception/Locked.php b/3rdparty/Sabre/DAV/Exception/Locked.php deleted file mode 100755 index 976365ac1f84d6c263d71019edbfa5bfc05e23f7..0000000000000000000000000000000000000000 --- a/3rdparty/Sabre/DAV/Exception/Locked.php +++ /dev/null @@ -1,67 +0,0 @@ -lock = $lock; - - } - - /** - * Returns the HTTP statuscode for this exception - * - * @return int - */ - public function getHTTPCode() { - - return 423; - - } - - /** - * This method allows the exception to include additional information into the WebDAV error response - * - * @param Sabre_DAV_Server $server - * @param DOMElement $errorNode - * @return void - */ - public function serialize(Sabre_DAV_Server $server,DOMElement $errorNode) { - - if ($this->lock) { - $error = $errorNode->ownerDocument->createElementNS('DAV:','d:lock-token-submitted'); - $errorNode->appendChild($error); - if (!is_object($this->lock)) var_dump($this->lock); - $error->appendChild($errorNode->ownerDocument->createElementNS('DAV:','d:href',$this->lock->uri)); - } - - } - -} - diff --git a/3rdparty/Sabre/DAV/Exception/MethodNotAllowed.php b/3rdparty/Sabre/DAV/Exception/MethodNotAllowed.php deleted file mode 100755 index 318757515054be2edb704216e563b8bb98929857..0000000000000000000000000000000000000000 --- a/3rdparty/Sabre/DAV/Exception/MethodNotAllowed.php +++ /dev/null @@ -1,45 +0,0 @@ -getAllowedMethods($server->getRequestUri()); - - return array( - 'Allow' => strtoupper(implode(', ',$methods)), - ); - - } - -} diff --git a/3rdparty/Sabre/DAV/Exception/NotAuthenticated.php b/3rdparty/Sabre/DAV/Exception/NotAuthenticated.php deleted file mode 100755 index 87ca624429f4240c1ef324a51d210b591f427f18..0000000000000000000000000000000000000000 --- a/3rdparty/Sabre/DAV/Exception/NotAuthenticated.php +++ /dev/null @@ -1,28 +0,0 @@ -header = $header; - - } - - /** - * Returns the HTTP statuscode for this exception - * - * @return int - */ - public function getHTTPCode() { - - return 412; - - } - - /** - * This method allows the exception to include additional information into the WebDAV error response - * - * @param Sabre_DAV_Server $server - * @param DOMElement $errorNode - * @return void - */ - public function serialize(Sabre_DAV_Server $server,DOMElement $errorNode) { - - if ($this->header) { - $prop = $errorNode->ownerDocument->createElement('s:header'); - $prop->nodeValue = $this->header; - $errorNode->appendChild($prop); - } - - } - -} diff --git a/3rdparty/Sabre/DAV/Exception/ReportNotImplemented.php b/3rdparty/Sabre/DAV/Exception/ReportNotImplemented.php deleted file mode 100755 index e86800f30381b9baf877e39d74c0c3a75b561598..0000000000000000000000000000000000000000 --- a/3rdparty/Sabre/DAV/Exception/ReportNotImplemented.php +++ /dev/null @@ -1,30 +0,0 @@ -ownerDocument->createElementNS('DAV:','d:supported-report'); - $errorNode->appendChild($error); - - } - -} diff --git a/3rdparty/Sabre/DAV/Exception/RequestedRangeNotSatisfiable.php b/3rdparty/Sabre/DAV/Exception/RequestedRangeNotSatisfiable.php deleted file mode 100755 index 29ee3654a7e776b44316769244a308154d7651de..0000000000000000000000000000000000000000 --- a/3rdparty/Sabre/DAV/Exception/RequestedRangeNotSatisfiable.php +++ /dev/null @@ -1,29 +0,0 @@ -path . '/' . $name; - file_put_contents($newPath,$data); - - } - - /** - * Creates a new subdirectory - * - * @param string $name - * @return void - */ - public function createDirectory($name) { - - $newPath = $this->path . '/' . $name; - mkdir($newPath); - - } - - /** - * Returns a specific child node, referenced by its name - * - * @param string $name - * @throws Sabre_DAV_Exception_NotFound - * @return Sabre_DAV_INode - */ - public function getChild($name) { - - $path = $this->path . '/' . $name; - - if (!file_exists($path)) throw new Sabre_DAV_Exception_NotFound('File with name ' . $path . ' could not be located'); - - if (is_dir($path)) { - - return new Sabre_DAV_FS_Directory($path); - - } else { - - return new Sabre_DAV_FS_File($path); - - } - - } - - /** - * Returns an array with all the child nodes - * - * @return Sabre_DAV_INode[] - */ - public function getChildren() { - - $nodes = array(); - foreach(scandir($this->path) as $node) if($node!='.' && $node!='..') $nodes[] = $this->getChild($node); - return $nodes; - - } - - /** - * Checks if a child exists. - * - * @param string $name - * @return bool - */ - public function childExists($name) { - - $path = $this->path . '/' . $name; - return file_exists($path); - - } - - /** - * Deletes all files in this directory, and then itself - * - * @return void - */ - public function delete() { - - foreach($this->getChildren() as $child) $child->delete(); - rmdir($this->path); - - } - - /** - * Returns available diskspace information - * - * @return array - */ - public function getQuotaInfo() { - - return array( - disk_total_space($this->path)-disk_free_space($this->path), - disk_free_space($this->path) - ); - - } - -} - diff --git a/3rdparty/Sabre/DAV/FS/File.php b/3rdparty/Sabre/DAV/FS/File.php deleted file mode 100755 index 6a8039fe303afbbf98364db93df3cf0c8bca987f..0000000000000000000000000000000000000000 --- a/3rdparty/Sabre/DAV/FS/File.php +++ /dev/null @@ -1,89 +0,0 @@ -path,$data); - - } - - /** - * Returns the data - * - * @return string - */ - public function get() { - - return fopen($this->path,'r'); - - } - - /** - * Delete the current file - * - * @return void - */ - public function delete() { - - unlink($this->path); - - } - - /** - * Returns the size of the node, in bytes - * - * @return int - */ - public function getSize() { - - return filesize($this->path); - - } - - /** - * Returns the ETag for a file - * - * An ETag is a unique identifier representing the current version of the file. If the file changes, the ETag MUST change. - * The ETag is an arbitrary string, but MUST be surrounded by double-quotes. - * - * Return null if the ETag can not effectively be determined - * - * @return mixed - */ - public function getETag() { - - return null; - - } - - /** - * Returns the mime-type for a file - * - * If null is returned, we'll assume application/octet-stream - * - * @return mixed - */ - public function getContentType() { - - return null; - - } - -} - diff --git a/3rdparty/Sabre/DAV/FS/Node.php b/3rdparty/Sabre/DAV/FS/Node.php deleted file mode 100755 index 1283e9d0fdcb70c2bfc91eaaeb1bc024665ff086..0000000000000000000000000000000000000000 --- a/3rdparty/Sabre/DAV/FS/Node.php +++ /dev/null @@ -1,80 +0,0 @@ -path = $path; - - } - - - - /** - * Returns the name of the node - * - * @return string - */ - public function getName() { - - list(, $name) = Sabre_DAV_URLUtil::splitPath($this->path); - return $name; - - } - - /** - * Renames the node - * - * @param string $name The new name - * @return void - */ - public function setName($name) { - - list($parentPath, ) = Sabre_DAV_URLUtil::splitPath($this->path); - list(, $newName) = Sabre_DAV_URLUtil::splitPath($name); - - $newPath = $parentPath . '/' . $newName; - rename($this->path,$newPath); - - $this->path = $newPath; - - } - - - - /** - * Returns the last modification time, as a unix timestamp - * - * @return int - */ - public function getLastModified() { - - return filemtime($this->path); - - } - -} - diff --git a/3rdparty/Sabre/DAV/FSExt/Directory.php b/3rdparty/Sabre/DAV/FSExt/Directory.php deleted file mode 100755 index 540057183b30380c24e8395ab6def0a792a06ff6..0000000000000000000000000000000000000000 --- a/3rdparty/Sabre/DAV/FSExt/Directory.php +++ /dev/null @@ -1,154 +0,0 @@ -path . '/' . $name; - file_put_contents($newPath,$data); - - return '"' . md5_file($newPath) . '"'; - - } - - /** - * Creates a new subdirectory - * - * @param string $name - * @return void - */ - public function createDirectory($name) { - - // We're not allowing dots - if ($name=='.' || $name=='..') throw new Sabre_DAV_Exception_Forbidden('Permission denied to . and ..'); - $newPath = $this->path . '/' . $name; - mkdir($newPath); - - } - - /** - * Returns a specific child node, referenced by its name - * - * @param string $name - * @throws Sabre_DAV_Exception_NotFound - * @return Sabre_DAV_INode - */ - public function getChild($name) { - - $path = $this->path . '/' . $name; - - if (!file_exists($path)) throw new Sabre_DAV_Exception_NotFound('File could not be located'); - if ($name=='.' || $name=='..') throw new Sabre_DAV_Exception_Forbidden('Permission denied to . and ..'); - - if (is_dir($path)) { - - return new Sabre_DAV_FSExt_Directory($path); - - } else { - - return new Sabre_DAV_FSExt_File($path); - - } - - } - - /** - * Checks if a child exists. - * - * @param string $name - * @return bool - */ - public function childExists($name) { - - if ($name=='.' || $name=='..') - throw new Sabre_DAV_Exception_Forbidden('Permission denied to . and ..'); - - $path = $this->path . '/' . $name; - return file_exists($path); - - } - - /** - * Returns an array with all the child nodes - * - * @return Sabre_DAV_INode[] - */ - public function getChildren() { - - $nodes = array(); - foreach(scandir($this->path) as $node) if($node!='.' && $node!='..' && $node!='.sabredav') $nodes[] = $this->getChild($node); - return $nodes; - - } - - /** - * Deletes all files in this directory, and then itself - * - * @return bool - */ - public function delete() { - - // Deleting all children - foreach($this->getChildren() as $child) $child->delete(); - - // Removing resource info, if its still around - if (file_exists($this->path . '/.sabredav')) unlink($this->path . '/.sabredav'); - - // Removing the directory itself - rmdir($this->path); - - return parent::delete(); - - } - - /** - * Returns available diskspace information - * - * @return array - */ - public function getQuotaInfo() { - - return array( - disk_total_space($this->path)-disk_free_space($this->path), - disk_free_space($this->path) - ); - - } - -} - diff --git a/3rdparty/Sabre/DAV/FSExt/File.php b/3rdparty/Sabre/DAV/FSExt/File.php deleted file mode 100755 index b93ce5aee2108bfbdb5bebf3a3a6619b7eda458b..0000000000000000000000000000000000000000 --- a/3rdparty/Sabre/DAV/FSExt/File.php +++ /dev/null @@ -1,93 +0,0 @@ -path,$data); - return '"' . md5_file($this->path) . '"'; - - } - - /** - * Returns the data - * - * @return string - */ - public function get() { - - return fopen($this->path,'r'); - - } - - /** - * Delete the current file - * - * @return bool - */ - public function delete() { - - unlink($this->path); - return parent::delete(); - - } - - /** - * Returns the ETag for a file - * - * An ETag is a unique identifier representing the current version of the file. If the file changes, the ETag MUST change. - * The ETag is an arbitrary string, but MUST be surrounded by double-quotes. - * - * Return null if the ETag can not effectively be determined - * - * @return string|null - */ - public function getETag() { - - return '"' . md5_file($this->path). '"'; - - } - - /** - * Returns the mime-type for a file - * - * If null is returned, we'll assume application/octet-stream - * - * @return string|null - */ - public function getContentType() { - - return null; - - } - - /** - * Returns the size of the file, in bytes - * - * @return int - */ - public function getSize() { - - return filesize($this->path); - - } - -} - diff --git a/3rdparty/Sabre/DAV/FSExt/Node.php b/3rdparty/Sabre/DAV/FSExt/Node.php deleted file mode 100755 index 68ca06beb7e0930c40a20f75907baec4b1b58944..0000000000000000000000000000000000000000 --- a/3rdparty/Sabre/DAV/FSExt/Node.php +++ /dev/null @@ -1,212 +0,0 @@ -getResourceData(); - - foreach($properties as $propertyName=>$propertyValue) { - - // If it was null, we need to delete the property - if (is_null($propertyValue)) { - if (isset($resourceData['properties'][$propertyName])) { - unset($resourceData['properties'][$propertyName]); - } - } else { - $resourceData['properties'][$propertyName] = $propertyValue; - } - - } - - $this->putResourceData($resourceData); - return true; - } - - /** - * Returns a list of properties for this nodes.; - * - * The properties list is a list of propertynames the client requested, encoded as xmlnamespace#tagName, for example: http://www.example.org/namespace#author - * If the array is empty, all properties should be returned - * - * @param array $properties - * @return array - */ - function getProperties($properties) { - - $resourceData = $this->getResourceData(); - - // if the array was empty, we need to return everything - if (!$properties) return $resourceData['properties']; - - $props = array(); - foreach($properties as $property) { - if (isset($resourceData['properties'][$property])) $props[$property] = $resourceData['properties'][$property]; - } - - return $props; - - } - - /** - * Returns the path to the resource file - * - * @return string - */ - protected function getResourceInfoPath() { - - list($parentDir) = Sabre_DAV_URLUtil::splitPath($this->path); - return $parentDir . '/.sabredav'; - - } - - /** - * Returns all the stored resource information - * - * @return array - */ - protected function getResourceData() { - - $path = $this->getResourceInfoPath(); - if (!file_exists($path)) return array('properties' => array()); - - // opening up the file, and creating a shared lock - $handle = fopen($path,'r'); - flock($handle,LOCK_SH); - $data = ''; - - // Reading data until the eof - while(!feof($handle)) { - $data.=fread($handle,8192); - } - - // We're all good - fclose($handle); - - // Unserializing and checking if the resource file contains data for this file - $data = unserialize($data); - if (!isset($data[$this->getName()])) { - return array('properties' => array()); - } - - $data = $data[$this->getName()]; - if (!isset($data['properties'])) $data['properties'] = array(); - return $data; - - } - - /** - * Updates the resource information - * - * @param array $newData - * @return void - */ - protected function putResourceData(array $newData) { - - $path = $this->getResourceInfoPath(); - - // opening up the file, and creating a shared lock - $handle = fopen($path,'a+'); - flock($handle,LOCK_EX); - $data = ''; - - rewind($handle); - - // Reading data until the eof - while(!feof($handle)) { - $data.=fread($handle,8192); - } - - // Unserializing and checking if the resource file contains data for this file - $data = unserialize($data); - $data[$this->getName()] = $newData; - ftruncate($handle,0); - rewind($handle); - - fwrite($handle,serialize($data)); - fclose($handle); - - } - - /** - * Renames the node - * - * @param string $name The new name - * @return void - */ - public function setName($name) { - - list($parentPath, ) = Sabre_DAV_URLUtil::splitPath($this->path); - list(, $newName) = Sabre_DAV_URLUtil::splitPath($name); - $newPath = $parentPath . '/' . $newName; - - // We're deleting the existing resourcedata, and recreating it - // for the new path. - $resourceData = $this->getResourceData(); - $this->deleteResourceData(); - - rename($this->path,$newPath); - $this->path = $newPath; - $this->putResourceData($resourceData); - - - } - - /** - * @return bool - */ - public function deleteResourceData() { - - // When we're deleting this node, we also need to delete any resource information - $path = $this->getResourceInfoPath(); - if (!file_exists($path)) return true; - - // opening up the file, and creating a shared lock - $handle = fopen($path,'a+'); - flock($handle,LOCK_EX); - $data = ''; - - rewind($handle); - - // Reading data until the eof - while(!feof($handle)) { - $data.=fread($handle,8192); - } - - // Unserializing and checking if the resource file contains data for this file - $data = unserialize($data); - if (isset($data[$this->getName()])) unset($data[$this->getName()]); - ftruncate($handle,0); - rewind($handle); - fwrite($handle,serialize($data)); - fclose($handle); - - return true; - } - - public function delete() { - - return $this->deleteResourceData(); - - } - -} - diff --git a/3rdparty/Sabre/DAV/File.php b/3rdparty/Sabre/DAV/File.php deleted file mode 100755 index 3126bd8d364b6c5fdd27ee8fec8fea4b90a48f9c..0000000000000000000000000000000000000000 --- a/3rdparty/Sabre/DAV/File.php +++ /dev/null @@ -1,85 +0,0 @@ - array( - * '{DAV:}displayname' => null, - * ), - * 424 => array( - * '{DAV:}owner' => null, - * ) - * ) - * - * In this example it was forbidden to update {DAV:}displayname. - * (403 Forbidden), which in turn also caused {DAV:}owner to fail - * (424 Failed Dependency) because the request needs to be atomic. - * - * @param array $mutations - * @return bool|array - */ - function updateProperties($mutations); - - /** - * Returns a list of properties for this nodes. - * - * The properties list is a list of propertynames the client requested, - * encoded in clark-notation {xmlnamespace}tagname - * - * If the array is empty, it means 'all properties' were requested. - * - * @param array $properties - * @return void - */ - function getProperties($properties); - -} - diff --git a/3rdparty/Sabre/DAV/IQuota.php b/3rdparty/Sabre/DAV/IQuota.php deleted file mode 100755 index 3fe4c4eced4bd4e58b15408a3192d38c08a33850..0000000000000000000000000000000000000000 --- a/3rdparty/Sabre/DAV/IQuota.php +++ /dev/null @@ -1,27 +0,0 @@ -dataDir = $dataDir; - - } - - protected function getFileNameForUri($uri) { - - return $this->dataDir . '/sabredav_' . md5($uri) . '.locks'; - - } - - - /** - * Returns a list of Sabre_DAV_Locks_LockInfo objects - * - * This method should return all the locks for a particular uri, including - * locks that might be set on a parent uri. - * - * If returnChildLocks is set to true, this method should also look for - * any locks in the subtree of the uri for locks. - * - * @param string $uri - * @param bool $returnChildLocks - * @return array - */ - public function getLocks($uri, $returnChildLocks) { - - $lockList = array(); - $currentPath = ''; - - foreach(explode('/',$uri) as $uriPart) { - - // weird algorithm that can probably be improved, but we're traversing the path top down - if ($currentPath) $currentPath.='/'; - $currentPath.=$uriPart; - - $uriLocks = $this->getData($currentPath); - - foreach($uriLocks as $uriLock) { - - // Unless we're on the leaf of the uri-tree we should ignore locks with depth 0 - if($uri==$currentPath || $uriLock->depth!=0) { - $uriLock->uri = $currentPath; - $lockList[] = $uriLock; - } - - } - - } - - // Checking if we can remove any of these locks - foreach($lockList as $k=>$lock) { - if (time() > $lock->timeout + $lock->created) unset($lockList[$k]); - } - return $lockList; - - } - - /** - * Locks a uri - * - * @param string $uri - * @param Sabre_DAV_Locks_LockInfo $lockInfo - * @return bool - */ - public function lock($uri,Sabre_DAV_Locks_LockInfo $lockInfo) { - - // We're making the lock timeout 30 minutes - $lockInfo->timeout = 1800; - $lockInfo->created = time(); - - $locks = $this->getLocks($uri,false); - foreach($locks as $k=>$lock) { - if ($lock->token == $lockInfo->token) unset($locks[$k]); - } - $locks[] = $lockInfo; - $this->putData($uri,$locks); - return true; - - } - - /** - * Removes a lock from a uri - * - * @param string $uri - * @param Sabre_DAV_Locks_LockInfo $lockInfo - * @return bool - */ - public function unlock($uri,Sabre_DAV_Locks_LockInfo $lockInfo) { - - $locks = $this->getLocks($uri,false); - foreach($locks as $k=>$lock) { - - if ($lock->token == $lockInfo->token) { - - unset($locks[$k]); - $this->putData($uri,$locks); - return true; - - } - } - return false; - - } - - /** - * Returns the stored data for a uri - * - * @param string $uri - * @return array - */ - protected function getData($uri) { - - $path = $this->getFilenameForUri($uri); - if (!file_exists($path)) return array(); - - // opening up the file, and creating a shared lock - $handle = fopen($path,'r'); - flock($handle,LOCK_SH); - $data = ''; - - // Reading data until the eof - while(!feof($handle)) { - $data.=fread($handle,8192); - } - - // We're all good - fclose($handle); - - // Unserializing and checking if the resource file contains data for this file - $data = unserialize($data); - if (!$data) return array(); - return $data; - - } - - /** - * Updates the lock information - * - * @param string $uri - * @param array $newData - * @return void - */ - protected function putData($uri,array $newData) { - - $path = $this->getFileNameForUri($uri); - - // opening up the file, and creating a shared lock - $handle = fopen($path,'a+'); - flock($handle,LOCK_EX); - ftruncate($handle,0); - rewind($handle); - - fwrite($handle,serialize($newData)); - fclose($handle); - - } - -} - diff --git a/3rdparty/Sabre/DAV/Locks/Backend/File.php b/3rdparty/Sabre/DAV/Locks/Backend/File.php deleted file mode 100755 index c33f963514bef4e4ca66546479d03d9a72240e77..0000000000000000000000000000000000000000 --- a/3rdparty/Sabre/DAV/Locks/Backend/File.php +++ /dev/null @@ -1,181 +0,0 @@ -locksFile = $locksFile; - - } - - /** - * Returns a list of Sabre_DAV_Locks_LockInfo objects - * - * This method should return all the locks for a particular uri, including - * locks that might be set on a parent uri. - * - * If returnChildLocks is set to true, this method should also look for - * any locks in the subtree of the uri for locks. - * - * @param string $uri - * @param bool $returnChildLocks - * @return array - */ - public function getLocks($uri, $returnChildLocks) { - - $newLocks = array(); - - $locks = $this->getData(); - - foreach($locks as $lock) { - - if ($lock->uri === $uri || - //deep locks on parents - ($lock->depth!=0 && strpos($uri, $lock->uri . '/')===0) || - - // locks on children - ($returnChildLocks && (strpos($lock->uri, $uri . '/')===0)) ) { - - $newLocks[] = $lock; - - } - - } - - // Checking if we can remove any of these locks - foreach($newLocks as $k=>$lock) { - if (time() > $lock->timeout + $lock->created) unset($newLocks[$k]); - } - return $newLocks; - - } - - /** - * Locks a uri - * - * @param string $uri - * @param Sabre_DAV_Locks_LockInfo $lockInfo - * @return bool - */ - public function lock($uri, Sabre_DAV_Locks_LockInfo $lockInfo) { - - // We're making the lock timeout 30 minutes - $lockInfo->timeout = 1800; - $lockInfo->created = time(); - $lockInfo->uri = $uri; - - $locks = $this->getData(); - - foreach($locks as $k=>$lock) { - if ( - ($lock->token == $lockInfo->token) || - (time() > $lock->timeout + $lock->created) - ) { - unset($locks[$k]); - } - } - $locks[] = $lockInfo; - $this->putData($locks); - return true; - - } - - /** - * Removes a lock from a uri - * - * @param string $uri - * @param Sabre_DAV_Locks_LockInfo $lockInfo - * @return bool - */ - public function unlock($uri, Sabre_DAV_Locks_LockInfo $lockInfo) { - - $locks = $this->getData(); - foreach($locks as $k=>$lock) { - - if ($lock->token == $lockInfo->token) { - - unset($locks[$k]); - $this->putData($locks); - return true; - - } - } - return false; - - } - - /** - * Loads the lockdata from the filesystem. - * - * @return array - */ - protected function getData() { - - if (!file_exists($this->locksFile)) return array(); - - // opening up the file, and creating a shared lock - $handle = fopen($this->locksFile,'r'); - flock($handle,LOCK_SH); - - // Reading data until the eof - $data = stream_get_contents($handle); - - // We're all good - fclose($handle); - - // Unserializing and checking if the resource file contains data for this file - $data = unserialize($data); - if (!$data) return array(); - return $data; - - } - - /** - * Saves the lockdata - * - * @param array $newData - * @return void - */ - protected function putData(array $newData) { - - // opening up the file, and creating an exclusive lock - $handle = fopen($this->locksFile,'a+'); - flock($handle,LOCK_EX); - - // We can only truncate and rewind once the lock is acquired. - ftruncate($handle,0); - rewind($handle); - - fwrite($handle,serialize($newData)); - fclose($handle); - - } - -} - diff --git a/3rdparty/Sabre/DAV/Locks/Backend/PDO.php b/3rdparty/Sabre/DAV/Locks/Backend/PDO.php deleted file mode 100755 index acce80638ecb63c508c096a8e95d7b34d124a96d..0000000000000000000000000000000000000000 --- a/3rdparty/Sabre/DAV/Locks/Backend/PDO.php +++ /dev/null @@ -1,165 +0,0 @@ -pdo = $pdo; - $this->tableName = $tableName; - - } - - /** - * Returns a list of Sabre_DAV_Locks_LockInfo objects - * - * This method should return all the locks for a particular uri, including - * locks that might be set on a parent uri. - * - * If returnChildLocks is set to true, this method should also look for - * any locks in the subtree of the uri for locks. - * - * @param string $uri - * @param bool $returnChildLocks - * @return array - */ - public function getLocks($uri, $returnChildLocks) { - - // NOTE: the following 10 lines or so could be easily replaced by - // pure sql. MySQL's non-standard string concatenation prevents us - // from doing this though. - $query = 'SELECT owner, token, timeout, created, scope, depth, uri FROM '.$this->tableName.' WHERE ((created + timeout) > CAST(? AS UNSIGNED INTEGER)) AND ((uri = ?)'; - $params = array(time(),$uri); - - // We need to check locks for every part in the uri. - $uriParts = explode('/',$uri); - - // We already covered the last part of the uri - array_pop($uriParts); - - $currentPath=''; - - foreach($uriParts as $part) { - - if ($currentPath) $currentPath.='/'; - $currentPath.=$part; - - $query.=' OR (depth!=0 AND uri = ?)'; - $params[] = $currentPath; - - } - - if ($returnChildLocks) { - - $query.=' OR (uri LIKE ?)'; - $params[] = $uri . '/%'; - - } - $query.=')'; - - $stmt = $this->pdo->prepare($query); - $stmt->execute($params); - $result = $stmt->fetchAll(); - - $lockList = array(); - foreach($result as $row) { - - $lockInfo = new Sabre_DAV_Locks_LockInfo(); - $lockInfo->owner = $row['owner']; - $lockInfo->token = $row['token']; - $lockInfo->timeout = $row['timeout']; - $lockInfo->created = $row['created']; - $lockInfo->scope = $row['scope']; - $lockInfo->depth = $row['depth']; - $lockInfo->uri = $row['uri']; - $lockList[] = $lockInfo; - - } - - return $lockList; - - } - - /** - * Locks a uri - * - * @param string $uri - * @param Sabre_DAV_Locks_LockInfo $lockInfo - * @return bool - */ - public function lock($uri,Sabre_DAV_Locks_LockInfo $lockInfo) { - - // We're making the lock timeout 30 minutes - $lockInfo->timeout = 30*60; - $lockInfo->created = time(); - $lockInfo->uri = $uri; - - $locks = $this->getLocks($uri,false); - $exists = false; - foreach($locks as $lock) { - if ($lock->token == $lockInfo->token) $exists = true; - } - - if ($exists) { - $stmt = $this->pdo->prepare('UPDATE '.$this->tableName.' SET owner = ?, timeout = ?, scope = ?, depth = ?, uri = ?, created = ? WHERE token = ?'); - $stmt->execute(array($lockInfo->owner,$lockInfo->timeout,$lockInfo->scope,$lockInfo->depth,$uri,$lockInfo->created,$lockInfo->token)); - } else { - $stmt = $this->pdo->prepare('INSERT INTO '.$this->tableName.' (owner,timeout,scope,depth,uri,created,token) VALUES (?,?,?,?,?,?,?)'); - $stmt->execute(array($lockInfo->owner,$lockInfo->timeout,$lockInfo->scope,$lockInfo->depth,$uri,$lockInfo->created,$lockInfo->token)); - } - - return true; - - } - - - - /** - * Removes a lock from a uri - * - * @param string $uri - * @param Sabre_DAV_Locks_LockInfo $lockInfo - * @return bool - */ - public function unlock($uri,Sabre_DAV_Locks_LockInfo $lockInfo) { - - $stmt = $this->pdo->prepare('DELETE FROM '.$this->tableName.' WHERE uri = ? AND token = ?'); - $stmt->execute(array($uri,$lockInfo->token)); - - return $stmt->rowCount()===1; - - } - -} - diff --git a/3rdparty/Sabre/DAV/Locks/LockInfo.php b/3rdparty/Sabre/DAV/Locks/LockInfo.php deleted file mode 100755 index 9df014a4281a8b192f59f85c1d50d27793fb6e3a..0000000000000000000000000000000000000000 --- a/3rdparty/Sabre/DAV/Locks/LockInfo.php +++ /dev/null @@ -1,81 +0,0 @@ -addPlugin($lockPlugin); - * - * @package Sabre - * @subpackage DAV - * @copyright Copyright (C) 2007-2012 Rooftop Solutions. All rights reserved. - * @author Evert Pot (http://www.rooftopsolutions.nl/) - * @license http://code.google.com/p/sabredav/wiki/License Modified BSD License - */ -class Sabre_DAV_Locks_Plugin extends Sabre_DAV_ServerPlugin { - - /** - * locksBackend - * - * @var Sabre_DAV_Locks_Backend_Abstract - */ - private $locksBackend; - - /** - * server - * - * @var Sabre_DAV_Server - */ - private $server; - - /** - * __construct - * - * @param Sabre_DAV_Locks_Backend_Abstract $locksBackend - */ - public function __construct(Sabre_DAV_Locks_Backend_Abstract $locksBackend = null) { - - $this->locksBackend = $locksBackend; - - } - - /** - * Initializes the plugin - * - * This method is automatically called by the Server class after addPlugin. - * - * @param Sabre_DAV_Server $server - * @return void - */ - public function initialize(Sabre_DAV_Server $server) { - - $this->server = $server; - $server->subscribeEvent('unknownMethod',array($this,'unknownMethod')); - $server->subscribeEvent('beforeMethod',array($this,'beforeMethod'),50); - $server->subscribeEvent('afterGetProperties',array($this,'afterGetProperties')); - - } - - /** - * Returns a plugin name. - * - * Using this name other plugins will be able to access other plugins - * using Sabre_DAV_Server::getPlugin - * - * @return string - */ - public function getPluginName() { - - return 'locks'; - - } - - /** - * This method is called by the Server if the user used an HTTP method - * the server didn't recognize. - * - * This plugin intercepts the LOCK and UNLOCK methods. - * - * @param string $method - * @param string $uri - * @return bool - */ - public function unknownMethod($method, $uri) { - - switch($method) { - - case 'LOCK' : $this->httpLock($uri); return false; - case 'UNLOCK' : $this->httpUnlock($uri); return false; - - } - - } - - /** - * This method is called after most properties have been found - * it allows us to add in any Lock-related properties - * - * @param string $path - * @param array $newProperties - * @return bool - */ - public function afterGetProperties($path, &$newProperties) { - - foreach($newProperties[404] as $propName=>$discard) { - - switch($propName) { - - case '{DAV:}supportedlock' : - $val = false; - if ($this->locksBackend) $val = true; - $newProperties[200][$propName] = new Sabre_DAV_Property_SupportedLock($val); - unset($newProperties[404][$propName]); - break; - - case '{DAV:}lockdiscovery' : - $newProperties[200][$propName] = new Sabre_DAV_Property_LockDiscovery($this->getLocks($path)); - unset($newProperties[404][$propName]); - break; - - } - - - } - return true; - - } - - - /** - * This method is called before the logic for any HTTP method is - * handled. - * - * This plugin uses that feature to intercept access to locked resources. - * - * @param string $method - * @param string $uri - * @return bool - */ - public function beforeMethod($method, $uri) { - - switch($method) { - - case 'DELETE' : - $lastLock = null; - if (!$this->validateLock($uri,$lastLock, true)) - throw new Sabre_DAV_Exception_Locked($lastLock); - break; - case 'MKCOL' : - case 'PROPPATCH' : - case 'PUT' : - $lastLock = null; - if (!$this->validateLock($uri,$lastLock)) - throw new Sabre_DAV_Exception_Locked($lastLock); - break; - case 'MOVE' : - $lastLock = null; - if (!$this->validateLock(array( - $uri, - $this->server->calculateUri($this->server->httpRequest->getHeader('Destination')), - ),$lastLock, true)) - throw new Sabre_DAV_Exception_Locked($lastLock); - break; - case 'COPY' : - $lastLock = null; - if (!$this->validateLock( - $this->server->calculateUri($this->server->httpRequest->getHeader('Destination')), - $lastLock, true)) - throw new Sabre_DAV_Exception_Locked($lastLock); - break; - } - - return true; - - } - - /** - * Use this method to tell the server this plugin defines additional - * HTTP methods. - * - * This method is passed a uri. It should only return HTTP methods that are - * available for the specified uri. - * - * @param string $uri - * @return array - */ - public function getHTTPMethods($uri) { - - if ($this->locksBackend) - return array('LOCK','UNLOCK'); - - return array(); - - } - - /** - * Returns a list of features for the HTTP OPTIONS Dav: header. - * - * In this case this is only the number 2. The 2 in the Dav: header - * indicates the server supports locks. - * - * @return array - */ - public function getFeatures() { - - return array(2); - - } - - /** - * Returns all lock information on a particular uri - * - * This function should return an array with Sabre_DAV_Locks_LockInfo objects. If there are no locks on a file, return an empty array. - * - * Additionally there is also the possibility of locks on parent nodes, so we'll need to traverse every part of the tree - * If the $returnChildLocks argument is set to true, we'll also traverse all the children of the object - * for any possible locks and return those as well. - * - * @param string $uri - * @param bool $returnChildLocks - * @return array - */ - public function getLocks($uri, $returnChildLocks = false) { - - $lockList = array(); - - if ($this->locksBackend) - $lockList = array_merge($lockList,$this->locksBackend->getLocks($uri, $returnChildLocks)); - - return $lockList; - - } - - /** - * Locks an uri - * - * The WebDAV lock request can be operated to either create a new lock on a file, or to refresh an existing lock - * If a new lock is created, a full XML body should be supplied, containing information about the lock such as the type - * of lock (shared or exclusive) and the owner of the lock - * - * If a lock is to be refreshed, no body should be supplied and there should be a valid If header containing the lock - * - * Additionally, a lock can be requested for a non-existent file. In these case we're obligated to create an empty file as per RFC4918:S7.3 - * - * @param string $uri - * @return void - */ - protected function httpLock($uri) { - - $lastLock = null; - if (!$this->validateLock($uri,$lastLock)) { - - // If the existing lock was an exclusive lock, we need to fail - if (!$lastLock || $lastLock->scope == Sabre_DAV_Locks_LockInfo::EXCLUSIVE) { - //var_dump($lastLock); - throw new Sabre_DAV_Exception_ConflictingLock($lastLock); - } - - } - - if ($body = $this->server->httpRequest->getBody(true)) { - // This is a new lock request - $lockInfo = $this->parseLockRequest($body); - $lockInfo->depth = $this->server->getHTTPDepth(); - $lockInfo->uri = $uri; - if($lastLock && $lockInfo->scope != Sabre_DAV_Locks_LockInfo::SHARED) throw new Sabre_DAV_Exception_ConflictingLock($lastLock); - - } elseif ($lastLock) { - - // This must have been a lock refresh - $lockInfo = $lastLock; - - // The resource could have been locked through another uri. - if ($uri!=$lockInfo->uri) $uri = $lockInfo->uri; - - } else { - - // There was neither a lock refresh nor a new lock request - throw new Sabre_DAV_Exception_BadRequest('An xml body is required for lock requests'); - - } - - if ($timeout = $this->getTimeoutHeader()) $lockInfo->timeout = $timeout; - - $newFile = false; - - // If we got this far.. we should go check if this node actually exists. If this is not the case, we need to create it first - try { - $this->server->tree->getNodeForPath($uri); - - // We need to call the beforeWriteContent event for RFC3744 - // Edit: looks like this is not used, and causing problems now. - // - // See Issue 222 - // $this->server->broadcastEvent('beforeWriteContent',array($uri)); - - } catch (Sabre_DAV_Exception_NotFound $e) { - - // It didn't, lets create it - $this->server->createFile($uri,fopen('php://memory','r')); - $newFile = true; - - } - - $this->lockNode($uri,$lockInfo); - - $this->server->httpResponse->setHeader('Content-Type','application/xml; charset=utf-8'); - $this->server->httpResponse->setHeader('Lock-Token','token . '>'); - $this->server->httpResponse->sendStatus($newFile?201:200); - $this->server->httpResponse->sendBody($this->generateLockResponse($lockInfo)); - - } - - /** - * Unlocks a uri - * - * This WebDAV method allows you to remove a lock from a node. The client should provide a valid locktoken through the Lock-token http header - * The server should return 204 (No content) on success - * - * @param string $uri - * @return void - */ - protected function httpUnlock($uri) { - - $lockToken = $this->server->httpRequest->getHeader('Lock-Token'); - - // If the locktoken header is not supplied, we need to throw a bad request exception - if (!$lockToken) throw new Sabre_DAV_Exception_BadRequest('No lock token was supplied'); - - $locks = $this->getLocks($uri); - - // Windows sometimes forgets to include < and > in the Lock-Token - // header - if ($lockToken[0]!=='<') $lockToken = '<' . $lockToken . '>'; - - foreach($locks as $lock) { - - if ('token . '>' == $lockToken) { - - $this->unlockNode($uri,$lock); - $this->server->httpResponse->setHeader('Content-Length','0'); - $this->server->httpResponse->sendStatus(204); - return; - - } - - } - - // If we got here, it means the locktoken was invalid - throw new Sabre_DAV_Exception_LockTokenMatchesRequestUri(); - - } - - /** - * Locks a uri - * - * All the locking information is supplied in the lockInfo object. The object has a suggested timeout, but this can be safely ignored - * It is important that if the existing timeout is ignored, the property is overwritten, as this needs to be sent back to the client - * - * @param string $uri - * @param Sabre_DAV_Locks_LockInfo $lockInfo - * @return bool - */ - public function lockNode($uri,Sabre_DAV_Locks_LockInfo $lockInfo) { - - if (!$this->server->broadcastEvent('beforeLock',array($uri,$lockInfo))) return; - - if ($this->locksBackend) return $this->locksBackend->lock($uri,$lockInfo); - throw new Sabre_DAV_Exception_MethodNotAllowed('Locking support is not enabled for this resource. No Locking backend was found so if you didn\'t expect this error, please check your configuration.'); - - } - - /** - * Unlocks a uri - * - * This method removes a lock from a uri. It is assumed all the supplied information is correct and verified - * - * @param string $uri - * @param Sabre_DAV_Locks_LockInfo $lockInfo - * @return bool - */ - public function unlockNode($uri,Sabre_DAV_Locks_LockInfo $lockInfo) { - - if (!$this->server->broadcastEvent('beforeUnlock',array($uri,$lockInfo))) return; - if ($this->locksBackend) return $this->locksBackend->unlock($uri,$lockInfo); - - } - - - /** - * Returns the contents of the HTTP Timeout header. - * - * The method formats the header into an integer. - * - * @return int - */ - public function getTimeoutHeader() { - - $header = $this->server->httpRequest->getHeader('Timeout'); - - if ($header) { - - if (stripos($header,'second-')===0) $header = (int)(substr($header,7)); - else if (strtolower($header)=='infinite') $header=Sabre_DAV_Locks_LockInfo::TIMEOUT_INFINITE; - else throw new Sabre_DAV_Exception_BadRequest('Invalid HTTP timeout header'); - - } else { - - $header = 0; - - } - - return $header; - - } - - /** - * Generates the response for successful LOCK requests - * - * @param Sabre_DAV_Locks_LockInfo $lockInfo - * @return string - */ - protected function generateLockResponse(Sabre_DAV_Locks_LockInfo $lockInfo) { - - $dom = new DOMDocument('1.0','utf-8'); - $dom->formatOutput = true; - - $prop = $dom->createElementNS('DAV:','d:prop'); - $dom->appendChild($prop); - - $lockDiscovery = $dom->createElementNS('DAV:','d:lockdiscovery'); - $prop->appendChild($lockDiscovery); - - $lockObj = new Sabre_DAV_Property_LockDiscovery(array($lockInfo),true); - $lockObj->serialize($this->server,$lockDiscovery); - - return $dom->saveXML(); - - } - - /** - * validateLock should be called when a write operation is about to happen - * It will check if the requested url is locked, and see if the correct lock tokens are passed - * - * @param mixed $urls List of relevant urls. Can be an array, a string or nothing at all for the current request uri - * @param mixed $lastLock This variable will be populated with the last checked lock object (Sabre_DAV_Locks_LockInfo) - * @param bool $checkChildLocks If set to true, this function will also look for any locks set on child resources of the supplied urls. This is needed for for example deletion of entire trees. - * @return bool - */ - protected function validateLock($urls = null,&$lastLock = null, $checkChildLocks = false) { - - if (is_null($urls)) { - $urls = array($this->server->getRequestUri()); - } elseif (is_string($urls)) { - $urls = array($urls); - } elseif (!is_array($urls)) { - throw new Sabre_DAV_Exception('The urls parameter should either be null, a string or an array'); - } - - $conditions = $this->getIfConditions(); - - // We're going to loop through the urls and make sure all lock conditions are satisfied - foreach($urls as $url) { - - $locks = $this->getLocks($url, $checkChildLocks); - - // If there were no conditions, but there were locks, we fail - if (!$conditions && $locks) { - reset($locks); - $lastLock = current($locks); - return false; - } - - // If there were no locks or conditions, we go to the next url - if (!$locks && !$conditions) continue; - - foreach($conditions as $condition) { - - if (!$condition['uri']) { - $conditionUri = $this->server->getRequestUri(); - } else { - $conditionUri = $this->server->calculateUri($condition['uri']); - } - - // If the condition has a url, and it isn't part of the affected url at all, check the next condition - if ($conditionUri && strpos($url,$conditionUri)!==0) continue; - - // The tokens array contians arrays with 2 elements. 0=true/false for normal/not condition, 1=locktoken - // At least 1 condition has to be satisfied - foreach($condition['tokens'] as $conditionToken) { - - $etagValid = true; - $lockValid = true; - - // key 2 can contain an etag - if ($conditionToken[2]) { - - $uri = $conditionUri?$conditionUri:$this->server->getRequestUri(); - $node = $this->server->tree->getNodeForPath($uri); - $etagValid = $node->getETag()==$conditionToken[2]; - - } - - // key 1 can contain a lock token - if ($conditionToken[1]) { - - $lockValid = false; - // Match all the locks - foreach($locks as $lockIndex=>$lock) { - - $lockToken = 'opaquelocktoken:' . $lock->token; - - // Checking NOT - if (!$conditionToken[0] && $lockToken != $conditionToken[1]) { - - // Condition valid, onto the next - $lockValid = true; - break; - } - if ($conditionToken[0] && $lockToken == $conditionToken[1]) { - - $lastLock = $lock; - // Condition valid and lock matched - unset($locks[$lockIndex]); - $lockValid = true; - break; - - } - - } - - } - - // If, after checking both etags and locks they are stil valid, - // we can continue with the next condition. - if ($etagValid && $lockValid) continue 2; - } - // No conditions matched, so we fail - throw new Sabre_DAV_Exception_PreconditionFailed('The tokens provided in the if header did not match','If'); - } - - // Conditions were met, we'll also need to check if all the locks are gone - if (count($locks)) { - - reset($locks); - - // There's still locks, we fail - $lastLock = current($locks); - return false; - - } - - - } - - // We got here, this means every condition was satisfied - return true; - - } - - /** - * This method is created to extract information from the WebDAV HTTP 'If:' header - * - * The If header can be quite complex, and has a bunch of features. We're using a regex to extract all relevant information - * The function will return an array, containing structs with the following keys - * - * * uri - the uri the condition applies to. If this is returned as an - * empty string, this implies it's referring to the request url. - * * tokens - The lock token. another 2 dimensional array containing 2 elements (0 = true/false.. If this is a negative condition its set to false, 1 = the actual token) - * * etag - an etag, if supplied - * - * @return array - */ - public function getIfConditions() { - - $header = $this->server->httpRequest->getHeader('If'); - if (!$header) return array(); - - $matches = array(); - - $regex = '/(?:\<(?P.*?)\>\s)?\((?PNot\s)?(?:\<(?P[^\>]*)\>)?(?:\s?)(?:\[(?P[^\]]*)\])?\)/im'; - preg_match_all($regex,$header,$matches,PREG_SET_ORDER); - - $conditions = array(); - - foreach($matches as $match) { - - $condition = array( - 'uri' => $match['uri'], - 'tokens' => array( - array($match['not']?0:1,$match['token'],isset($match['etag'])?$match['etag']:'') - ), - ); - - if (!$condition['uri'] && count($conditions)) $conditions[count($conditions)-1]['tokens'][] = array( - $match['not']?0:1, - $match['token'], - isset($match['etag'])?$match['etag']:'' - ); - else { - $conditions[] = $condition; - } - - } - - return $conditions; - - } - - /** - * Parses a webdav lock xml body, and returns a new Sabre_DAV_Locks_LockInfo object - * - * @param string $body - * @return Sabre_DAV_Locks_LockInfo - */ - protected function parseLockRequest($body) { - - $xml = simplexml_load_string($body,null,LIBXML_NOWARNING); - $xml->registerXPathNamespace('d','DAV:'); - $lockInfo = new Sabre_DAV_Locks_LockInfo(); - - $children = $xml->children("DAV:"); - $lockInfo->owner = (string)$children->owner; - - $lockInfo->token = Sabre_DAV_UUIDUtil::getUUID(); - $lockInfo->scope = count($xml->xpath('d:lockscope/d:exclusive'))>0?Sabre_DAV_Locks_LockInfo::EXCLUSIVE:Sabre_DAV_Locks_LockInfo::SHARED; - - return $lockInfo; - - } - - -} diff --git a/3rdparty/Sabre/DAV/Mount/Plugin.php b/3rdparty/Sabre/DAV/Mount/Plugin.php deleted file mode 100755 index b37a90ae9939a1315e438a4bd55d5687e12cc28b..0000000000000000000000000000000000000000 --- a/3rdparty/Sabre/DAV/Mount/Plugin.php +++ /dev/null @@ -1,80 +0,0 @@ -server = $server; - $this->server->subscribeEvent('beforeMethod',array($this,'beforeMethod'), 90); - - } - - /** - * 'beforeMethod' event handles. This event handles intercepts GET requests ending - * with ?mount - * - * @param string $method - * @param string $uri - * @return bool - */ - public function beforeMethod($method, $uri) { - - if ($method!='GET') return; - if ($this->server->httpRequest->getQueryString()!='mount') return; - - $currentUri = $this->server->httpRequest->getAbsoluteUri(); - - // Stripping off everything after the ? - list($currentUri) = explode('?',$currentUri); - - $this->davMount($currentUri); - - // Returning false to break the event chain - return false; - - } - - /** - * Generates the davmount response - * - * @param string $uri absolute uri - * @return void - */ - public function davMount($uri) { - - $this->server->httpResponse->sendStatus(200); - $this->server->httpResponse->setHeader('Content-Type','application/davmount+xml'); - ob_start(); - echo '', "\n"; - echo "\n"; - echo " ", htmlspecialchars($uri, ENT_NOQUOTES, 'UTF-8'), "\n"; - echo ""; - $this->server->httpResponse->sendBody(ob_get_clean()); - - } - - -} diff --git a/3rdparty/Sabre/DAV/Node.php b/3rdparty/Sabre/DAV/Node.php deleted file mode 100755 index 070b7176afdf6ea09e47ba2c2084799028656d79..0000000000000000000000000000000000000000 --- a/3rdparty/Sabre/DAV/Node.php +++ /dev/null @@ -1,55 +0,0 @@ -rootNode = $rootNode; - - } - - /** - * Returns the INode object for the requested path - * - * @param string $path - * @return Sabre_DAV_INode - */ - public function getNodeForPath($path) { - - $path = trim($path,'/'); - if (isset($this->cache[$path])) return $this->cache[$path]; - - //if (!$path || $path=='.') return $this->rootNode; - $currentNode = $this->rootNode; - - // We're splitting up the path variable into folder/subfolder components and traverse to the correct node.. - foreach(explode('/',$path) as $pathPart) { - - // If this part of the path is just a dot, it actually means we can skip it - if ($pathPart=='.' || $pathPart=='') continue; - - if (!($currentNode instanceof Sabre_DAV_ICollection)) - throw new Sabre_DAV_Exception_NotFound('Could not find node at path: ' . $path); - - $currentNode = $currentNode->getChild($pathPart); - - } - - $this->cache[$path] = $currentNode; - return $currentNode; - - } - - /** - * This function allows you to check if a node exists. - * - * @param string $path - * @return bool - */ - public function nodeExists($path) { - - try { - - // The root always exists - if ($path==='') return true; - - list($parent, $base) = Sabre_DAV_URLUtil::splitPath($path); - - $parentNode = $this->getNodeForPath($parent); - if (!$parentNode instanceof Sabre_DAV_ICollection) return false; - return $parentNode->childExists($base); - - } catch (Sabre_DAV_Exception_NotFound $e) { - - return false; - - } - - } - - /** - * Returns a list of childnodes for a given path. - * - * @param string $path - * @return array - */ - public function getChildren($path) { - - $node = $this->getNodeForPath($path); - $children = $node->getChildren(); - foreach($children as $child) { - - $this->cache[trim($path,'/') . '/' . $child->getName()] = $child; - - } - return $children; - - } - - /** - * This method is called with every tree update - * - * Examples of tree updates are: - * * node deletions - * * node creations - * * copy - * * move - * * renaming nodes - * - * If Tree classes implement a form of caching, this will allow - * them to make sure caches will be expired. - * - * If a path is passed, it is assumed that the entire subtree is dirty - * - * @param string $path - * @return void - */ - public function markDirty($path) { - - // We don't care enough about sub-paths - // flushing the entire cache - $path = trim($path,'/'); - foreach($this->cache as $nodePath=>$node) { - if ($nodePath == $path || strpos($nodePath,$path.'/')===0) - unset($this->cache[$nodePath]); - - } - - } - -} - diff --git a/3rdparty/Sabre/DAV/Property.php b/3rdparty/Sabre/DAV/Property.php deleted file mode 100755 index 1cfada3236c5500a64e4c343d0437db7f22dbb76..0000000000000000000000000000000000000000 --- a/3rdparty/Sabre/DAV/Property.php +++ /dev/null @@ -1,25 +0,0 @@ -time = $time; - } elseif (is_int($time) || ctype_digit($time)) { - $this->time = new DateTime('@' . $time); - } else { - $this->time = new DateTime($time); - } - - // Setting timezone to UTC - $this->time->setTimezone(new DateTimeZone('UTC')); - - } - - /** - * serialize - * - * @param Sabre_DAV_Server $server - * @param DOMElement $prop - * @return void - */ - public function serialize(Sabre_DAV_Server $server, DOMElement $prop) { - - $doc = $prop->ownerDocument; - $prop->setAttribute('xmlns:b','urn:uuid:c2f41010-65b3-11d1-a29f-00aa00c14882/'); - $prop->setAttribute('b:dt','dateTime.rfc1123'); - $prop->nodeValue = Sabre_HTTP_Util::toHTTPDate($this->time); - - } - - /** - * getTime - * - * @return DateTime - */ - public function getTime() { - - return $this->time; - - } - -} - diff --git a/3rdparty/Sabre/DAV/Property/Href.php b/3rdparty/Sabre/DAV/Property/Href.php deleted file mode 100755 index dac564f24d70745d18f88970fc494267bb9081c7..0000000000000000000000000000000000000000 --- a/3rdparty/Sabre/DAV/Property/Href.php +++ /dev/null @@ -1,91 +0,0 @@ -href = $href; - $this->autoPrefix = $autoPrefix; - - } - - /** - * Returns the uri - * - * @return string - */ - public function getHref() { - - return $this->href; - - } - - /** - * Serializes this property. - * - * It will additionally prepend the href property with the server's base uri. - * - * @param Sabre_DAV_Server $server - * @param DOMElement $dom - * @return void - */ - public function serialize(Sabre_DAV_Server $server, DOMElement $dom) { - - $prefix = $server->xmlNamespaces['DAV:']; - - $elem = $dom->ownerDocument->createElement($prefix . ':href'); - $elem->nodeValue = ($this->autoPrefix?$server->getBaseUri():'') . $this->href; - $dom->appendChild($elem); - - } - - /** - * Unserializes this property from a DOM Element - * - * This method returns an instance of this class. - * It will only decode {DAV:}href values. For non-compatible elements null will be returned. - * - * @param DOMElement $dom - * @return Sabre_DAV_Property_Href - */ - static function unserialize(DOMElement $dom) { - - if (Sabre_DAV_XMLUtil::toClarkNotation($dom->firstChild)==='{DAV:}href') { - return new self($dom->firstChild->textContent,false); - } - - } - -} diff --git a/3rdparty/Sabre/DAV/Property/HrefList.php b/3rdparty/Sabre/DAV/Property/HrefList.php deleted file mode 100755 index 7a52272e8859fe9c6e17fb71a590c4678d6a4525..0000000000000000000000000000000000000000 --- a/3rdparty/Sabre/DAV/Property/HrefList.php +++ /dev/null @@ -1,96 +0,0 @@ -hrefs = $hrefs; - $this->autoPrefix = $autoPrefix; - - } - - /** - * Returns the uris - * - * @return array - */ - public function getHrefs() { - - return $this->hrefs; - - } - - /** - * Serializes this property. - * - * It will additionally prepend the href property with the server's base uri. - * - * @param Sabre_DAV_Server $server - * @param DOMElement $dom - * @return void - */ - public function serialize(Sabre_DAV_Server $server,DOMElement $dom) { - - $prefix = $server->xmlNamespaces['DAV:']; - - foreach($this->hrefs as $href) { - $elem = $dom->ownerDocument->createElement($prefix . ':href'); - $elem->nodeValue = ($this->autoPrefix?$server->getBaseUri():'') . $href; - $dom->appendChild($elem); - } - - } - - /** - * Unserializes this property from a DOM Element - * - * This method returns an instance of this class. - * It will only decode {DAV:}href values. - * - * @param DOMElement $dom - * @return Sabre_DAV_Property_Href - */ - static function unserialize(DOMElement $dom) { - - $hrefs = array(); - foreach($dom->childNodes as $child) { - if (Sabre_DAV_XMLUtil::toClarkNotation($child)==='{DAV:}href') { - $hrefs[] = $child->textContent; - } - } - return new self($hrefs, false); - - } - -} diff --git a/3rdparty/Sabre/DAV/Property/IHref.php b/3rdparty/Sabre/DAV/Property/IHref.php deleted file mode 100755 index 5c0409064cb3d69ecc3812a14f5cf3a5454ed34d..0000000000000000000000000000000000000000 --- a/3rdparty/Sabre/DAV/Property/IHref.php +++ /dev/null @@ -1,25 +0,0 @@ -locks = $locks; - $this->revealLockToken = $revealLockToken; - - } - - /** - * serialize - * - * @param Sabre_DAV_Server $server - * @param DOMElement $prop - * @return void - */ - public function serialize(Sabre_DAV_Server $server, DOMElement $prop) { - - $doc = $prop->ownerDocument; - - foreach($this->locks as $lock) { - - $activeLock = $doc->createElementNS('DAV:','d:activelock'); - $prop->appendChild($activeLock); - - $lockScope = $doc->createElementNS('DAV:','d:lockscope'); - $activeLock->appendChild($lockScope); - - $lockScope->appendChild($doc->createElementNS('DAV:','d:' . ($lock->scope==Sabre_DAV_Locks_LockInfo::EXCLUSIVE?'exclusive':'shared'))); - - $lockType = $doc->createElementNS('DAV:','d:locktype'); - $activeLock->appendChild($lockType); - - $lockType->appendChild($doc->createElementNS('DAV:','d:write')); - - /* {DAV:}lockroot */ - if (!self::$hideLockRoot) { - $lockRoot = $doc->createElementNS('DAV:','d:lockroot'); - $activeLock->appendChild($lockRoot); - $href = $doc->createElementNS('DAV:','d:href'); - $href->appendChild($doc->createTextNode($server->getBaseUri() . $lock->uri)); - $lockRoot->appendChild($href); - } - - $activeLock->appendChild($doc->createElementNS('DAV:','d:depth',($lock->depth == Sabre_DAV_Server::DEPTH_INFINITY?'infinity':$lock->depth))); - $activeLock->appendChild($doc->createElementNS('DAV:','d:timeout','Second-' . $lock->timeout)); - - if ($this->revealLockToken) { - $lockToken = $doc->createElementNS('DAV:','d:locktoken'); - $activeLock->appendChild($lockToken); - $lockToken->appendChild($doc->createElementNS('DAV:','d:href','opaquelocktoken:' . $lock->token)); - } - - $activeLock->appendChild($doc->createElementNS('DAV:','d:owner',$lock->owner)); - - } - - } - -} - diff --git a/3rdparty/Sabre/DAV/Property/ResourceType.php b/3rdparty/Sabre/DAV/Property/ResourceType.php deleted file mode 100755 index f6269611e54d1b2ecc4134f2104e74cb2f6a9997..0000000000000000000000000000000000000000 --- a/3rdparty/Sabre/DAV/Property/ResourceType.php +++ /dev/null @@ -1,125 +0,0 @@ -resourceType = array(); - elseif ($resourceType === Sabre_DAV_Server::NODE_DIRECTORY) - $this->resourceType = array('{DAV:}collection'); - elseif (is_array($resourceType)) - $this->resourceType = $resourceType; - else - $this->resourceType = array($resourceType); - - } - - /** - * serialize - * - * @param Sabre_DAV_Server $server - * @param DOMElement $prop - * @return void - */ - public function serialize(Sabre_DAV_Server $server, DOMElement $prop) { - - $propName = null; - $rt = $this->resourceType; - - foreach($rt as $resourceType) { - if (preg_match('/^{([^}]*)}(.*)$/',$resourceType,$propName)) { - - if (isset($server->xmlNamespaces[$propName[1]])) { - $prop->appendChild($prop->ownerDocument->createElement($server->xmlNamespaces[$propName[1]] . ':' . $propName[2])); - } else { - $prop->appendChild($prop->ownerDocument->createElementNS($propName[1],'custom:' . $propName[2])); - } - - } - } - - } - - /** - * Returns the values in clark-notation - * - * For example array('{DAV:}collection') - * - * @return array - */ - public function getValue() { - - return $this->resourceType; - - } - - /** - * Checks if the principal contains a certain value - * - * @param string $type - * @return bool - */ - public function is($type) { - - return in_array($type, $this->resourceType); - - } - - /** - * Adds a resourcetype value to this property - * - * @param string $type - * @return void - */ - public function add($type) { - - $this->resourceType[] = $type; - $this->resourceType = array_unique($this->resourceType); - - } - - /** - * Unserializes a DOM element into a ResourceType property. - * - * @param DOMElement $dom - * @return Sabre_DAV_Property_ResourceType - */ - static public function unserialize(DOMElement $dom) { - - $value = array(); - foreach($dom->childNodes as $child) { - - $value[] = Sabre_DAV_XMLUtil::toClarkNotation($child); - - } - - return new self($value); - - } - -} diff --git a/3rdparty/Sabre/DAV/Property/Response.php b/3rdparty/Sabre/DAV/Property/Response.php deleted file mode 100755 index 88afbcfb26d4e6d8b96f27e6b6e6d2978e81ed3d..0000000000000000000000000000000000000000 --- a/3rdparty/Sabre/DAV/Property/Response.php +++ /dev/null @@ -1,155 +0,0 @@ -href = $href; - $this->responseProperties = $responseProperties; - - } - - /** - * Returns the url - * - * @return string - */ - public function getHref() { - - return $this->href; - - } - - /** - * Returns the property list - * - * @return array - */ - public function getResponseProperties() { - - return $this->responseProperties; - - } - - /** - * serialize - * - * @param Sabre_DAV_Server $server - * @param DOMElement $dom - * @return void - */ - public function serialize(Sabre_DAV_Server $server, DOMElement $dom) { - - $document = $dom->ownerDocument; - $properties = $this->responseProperties; - - $xresponse = $document->createElement('d:response'); - $dom->appendChild($xresponse); - - $uri = Sabre_DAV_URLUtil::encodePath($this->href); - - // Adding the baseurl to the beginning of the url - $uri = $server->getBaseUri() . $uri; - - $xresponse->appendChild($document->createElement('d:href',$uri)); - - // The properties variable is an array containing properties, grouped by - // HTTP status - foreach($properties as $httpStatus=>$propertyGroup) { - - // The 'href' is also in this array, and it's special cased. - // We will ignore it - if ($httpStatus=='href') continue; - - // If there are no properties in this group, we can also just carry on - if (!count($propertyGroup)) continue; - - $xpropstat = $document->createElement('d:propstat'); - $xresponse->appendChild($xpropstat); - - $xprop = $document->createElement('d:prop'); - $xpropstat->appendChild($xprop); - - $nsList = $server->xmlNamespaces; - - foreach($propertyGroup as $propertyName=>$propertyValue) { - - $propName = null; - preg_match('/^{([^}]*)}(.*)$/',$propertyName,$propName); - - // special case for empty namespaces - if ($propName[1]=='') { - - $currentProperty = $document->createElement($propName[2]); - $xprop->appendChild($currentProperty); - $currentProperty->setAttribute('xmlns',''); - - } else { - - if (!isset($nsList[$propName[1]])) { - $nsList[$propName[1]] = 'x' . count($nsList); - } - - // If the namespace was defined in the top-level xml namespaces, it means - // there was already a namespace declaration, and we don't have to worry about it. - if (isset($server->xmlNamespaces[$propName[1]])) { - $currentProperty = $document->createElement($nsList[$propName[1]] . ':' . $propName[2]); - } else { - $currentProperty = $document->createElementNS($propName[1],$nsList[$propName[1]].':' . $propName[2]); - } - $xprop->appendChild($currentProperty); - - } - - if (is_scalar($propertyValue)) { - $text = $document->createTextNode($propertyValue); - $currentProperty->appendChild($text); - } elseif ($propertyValue instanceof Sabre_DAV_Property) { - $propertyValue->serialize($server,$currentProperty); - } elseif (!is_null($propertyValue)) { - throw new Sabre_DAV_Exception('Unknown property value type: ' . gettype($propertyValue) . ' for property: ' . $propertyName); - } - - } - - $xpropstat->appendChild($document->createElement('d:status',$server->httpResponse->getStatusMessage($httpStatus))); - - } - - } - -} diff --git a/3rdparty/Sabre/DAV/Property/ResponseList.php b/3rdparty/Sabre/DAV/Property/ResponseList.php deleted file mode 100755 index cae923afbf9d542110623023d9e87ddd98be9452..0000000000000000000000000000000000000000 --- a/3rdparty/Sabre/DAV/Property/ResponseList.php +++ /dev/null @@ -1,57 +0,0 @@ -responses = $responses; - - } - - /** - * serialize - * - * @param Sabre_DAV_Server $server - * @param DOMElement $dom - * @return void - */ - public function serialize(Sabre_DAV_Server $server,DOMElement $dom) { - - foreach($this->responses as $response) { - $response->serialize($server, $dom); - } - - } - -} diff --git a/3rdparty/Sabre/DAV/Property/SupportedLock.php b/3rdparty/Sabre/DAV/Property/SupportedLock.php deleted file mode 100755 index 4e3aaf23a1a6229fbc24224509238ff320534e6d..0000000000000000000000000000000000000000 --- a/3rdparty/Sabre/DAV/Property/SupportedLock.php +++ /dev/null @@ -1,76 +0,0 @@ -supportsLocks = $supportsLocks; - - } - - /** - * serialize - * - * @param Sabre_DAV_Server $server - * @param DOMElement $prop - * @return void - */ - public function serialize(Sabre_DAV_Server $server,DOMElement $prop) { - - $doc = $prop->ownerDocument; - - if (!$this->supportsLocks) return null; - - $lockEntry1 = $doc->createElementNS('DAV:','d:lockentry'); - $lockEntry2 = $doc->createElementNS('DAV:','d:lockentry'); - - $prop->appendChild($lockEntry1); - $prop->appendChild($lockEntry2); - - $lockScope1 = $doc->createElementNS('DAV:','d:lockscope'); - $lockScope2 = $doc->createElementNS('DAV:','d:lockscope'); - $lockType1 = $doc->createElementNS('DAV:','d:locktype'); - $lockType2 = $doc->createElementNS('DAV:','d:locktype'); - - $lockEntry1->appendChild($lockScope1); - $lockEntry1->appendChild($lockType1); - $lockEntry2->appendChild($lockScope2); - $lockEntry2->appendChild($lockType2); - - $lockScope1->appendChild($doc->createElementNS('DAV:','d:exclusive')); - $lockScope2->appendChild($doc->createElementNS('DAV:','d:shared')); - - $lockType1->appendChild($doc->createElementNS('DAV:','d:write')); - $lockType2->appendChild($doc->createElementNS('DAV:','d:write')); - - //$frag->appendXML(''); - //$frag->appendXML(''); - - } - -} - diff --git a/3rdparty/Sabre/DAV/Property/SupportedReportSet.php b/3rdparty/Sabre/DAV/Property/SupportedReportSet.php deleted file mode 100755 index e62699f3b5a7fc3f1fbe16b5d0cd8d8f3178546d..0000000000000000000000000000000000000000 --- a/3rdparty/Sabre/DAV/Property/SupportedReportSet.php +++ /dev/null @@ -1,109 +0,0 @@ -addReport($reports); - - } - - /** - * Adds a report to this property - * - * The report must be a string in clark-notation. - * Multiple reports can be specified as an array. - * - * @param mixed $report - * @return void - */ - public function addReport($report) { - - if (!is_array($report)) $report = array($report); - - foreach($report as $r) { - - if (!preg_match('/^{([^}]*)}(.*)$/',$r)) - throw new Sabre_DAV_Exception('Reportname must be in clark-notation'); - - $this->reports[] = $r; - - } - - } - - /** - * Returns the list of supported reports - * - * @return array - */ - public function getValue() { - - return $this->reports; - - } - - /** - * Serializes the node - * - * @param Sabre_DAV_Server $server - * @param DOMElement $prop - * @return void - */ - public function serialize(Sabre_DAV_Server $server, DOMElement $prop) { - - foreach($this->reports as $reportName) { - - $supportedReport = $prop->ownerDocument->createElement('d:supported-report'); - $prop->appendChild($supportedReport); - - $report = $prop->ownerDocument->createElement('d:report'); - $supportedReport->appendChild($report); - - preg_match('/^{([^}]*)}(.*)$/',$reportName,$matches); - - list(, $namespace, $element) = $matches; - - $prefix = isset($server->xmlNamespaces[$namespace])?$server->xmlNamespaces[$namespace]:null; - - if ($prefix) { - $report->appendChild($prop->ownerDocument->createElement($prefix . ':' . $element)); - } else { - $report->appendChild($prop->ownerDocument->createElementNS($namespace, 'x:' . $element)); - } - - } - - } - -} diff --git a/3rdparty/Sabre/DAV/Server.php b/3rdparty/Sabre/DAV/Server.php deleted file mode 100755 index 0dfac8b0c711fdb8f7b8e60e2d89c23389aa976f..0000000000000000000000000000000000000000 --- a/3rdparty/Sabre/DAV/Server.php +++ /dev/null @@ -1,2006 +0,0 @@ - 'd', - 'http://sabredav.org/ns' => 's', - ); - - /** - * The propertymap can be used to map properties from - * requests to property classes. - * - * @var array - */ - public $propertyMap = array( - '{DAV:}resourcetype' => 'Sabre_DAV_Property_ResourceType', - ); - - public $protectedProperties = array( - // RFC4918 - '{DAV:}getcontentlength', - '{DAV:}getetag', - '{DAV:}getlastmodified', - '{DAV:}lockdiscovery', - '{DAV:}resourcetype', - '{DAV:}supportedlock', - - // RFC4331 - '{DAV:}quota-available-bytes', - '{DAV:}quota-used-bytes', - - // RFC3744 - '{DAV:}supported-privilege-set', - '{DAV:}current-user-privilege-set', - '{DAV:}acl', - '{DAV:}acl-restrictions', - '{DAV:}inherited-acl-set', - - ); - - /** - * This is a flag that allow or not showing file, line and code - * of the exception in the returned XML - * - * @var bool - */ - public $debugExceptions = false; - - /** - * This property allows you to automatically add the 'resourcetype' value - * based on a node's classname or interface. - * - * The preset ensures that {DAV:}collection is automaticlly added for nodes - * implementing Sabre_DAV_ICollection. - * - * @var array - */ - public $resourceTypeMapping = array( - 'Sabre_DAV_ICollection' => '{DAV:}collection', - ); - - /** - * If this setting is turned off, SabreDAV's version number will be hidden - * from various places. - * - * Some people feel this is a good security measure. - * - * @var bool - */ - static public $exposeVersion = true; - - /** - * Sets up the server - * - * If a Sabre_DAV_Tree object is passed as an argument, it will - * use it as the directory tree. If a Sabre_DAV_INode is passed, it - * will create a Sabre_DAV_ObjectTree and use the node as the root. - * - * If nothing is passed, a Sabre_DAV_SimpleCollection is created in - * a Sabre_DAV_ObjectTree. - * - * If an array is passed, we automatically create a root node, and use - * the nodes in the array as top-level children. - * - * @param Sabre_DAV_Tree|Sabre_DAV_INode|null $treeOrNode The tree object - */ - public function __construct($treeOrNode = null) { - - if ($treeOrNode instanceof Sabre_DAV_Tree) { - $this->tree = $treeOrNode; - } elseif ($treeOrNode instanceof Sabre_DAV_INode) { - $this->tree = new Sabre_DAV_ObjectTree($treeOrNode); - } elseif (is_array($treeOrNode)) { - - // If it's an array, a list of nodes was passed, and we need to - // create the root node. - foreach($treeOrNode as $node) { - if (!($node instanceof Sabre_DAV_INode)) { - throw new Sabre_DAV_Exception('Invalid argument passed to constructor. If you\'re passing an array, all the values must implement Sabre_DAV_INode'); - } - } - - $root = new Sabre_DAV_SimpleCollection('root', $treeOrNode); - $this->tree = new Sabre_DAV_ObjectTree($root); - - } elseif (is_null($treeOrNode)) { - $root = new Sabre_DAV_SimpleCollection('root'); - $this->tree = new Sabre_DAV_ObjectTree($root); - } else { - throw new Sabre_DAV_Exception('Invalid argument passed to constructor. Argument must either be an instance of Sabre_DAV_Tree, Sabre_DAV_INode, an array or null'); - } - $this->httpResponse = new Sabre_HTTP_Response(); - $this->httpRequest = new Sabre_HTTP_Request(); - - } - - /** - * Starts the DAV Server - * - * @return void - */ - public function exec() { - - try { - - $this->invokeMethod($this->httpRequest->getMethod(), $this->getRequestUri()); - - } catch (Exception $e) { - - $DOM = new DOMDocument('1.0','utf-8'); - $DOM->formatOutput = true; - - $error = $DOM->createElementNS('DAV:','d:error'); - $error->setAttribute('xmlns:s',self::NS_SABREDAV); - $DOM->appendChild($error); - - $error->appendChild($DOM->createElement('s:exception',get_class($e))); - $error->appendChild($DOM->createElement('s:message',$e->getMessage())); - if ($this->debugExceptions) { - $error->appendChild($DOM->createElement('s:file',$e->getFile())); - $error->appendChild($DOM->createElement('s:line',$e->getLine())); - $error->appendChild($DOM->createElement('s:code',$e->getCode())); - $error->appendChild($DOM->createElement('s:stacktrace',$e->getTraceAsString())); - - } - if (self::$exposeVersion) { - $error->appendChild($DOM->createElement('s:sabredav-version',Sabre_DAV_Version::VERSION)); - } - - if($e instanceof Sabre_DAV_Exception) { - - $httpCode = $e->getHTTPCode(); - $e->serialize($this,$error); - $headers = $e->getHTTPHeaders($this); - - } else { - - $httpCode = 500; - $headers = array(); - - } - $headers['Content-Type'] = 'application/xml; charset=utf-8'; - - $this->httpResponse->sendStatus($httpCode); - $this->httpResponse->setHeaders($headers); - $this->httpResponse->sendBody($DOM->saveXML()); - - } - - } - - /** - * Sets the base server uri - * - * @param string $uri - * @return void - */ - public function setBaseUri($uri) { - - // If the baseUri does not end with a slash, we must add it - if ($uri[strlen($uri)-1]!=='/') - $uri.='/'; - - $this->baseUri = $uri; - - } - - /** - * Returns the base responding uri - * - * @return string - */ - public function getBaseUri() { - - if (is_null($this->baseUri)) $this->baseUri = $this->guessBaseUri(); - return $this->baseUri; - - } - - /** - * This method attempts to detect the base uri. - * Only the PATH_INFO variable is considered. - * - * If this variable is not set, the root (/) is assumed. - * - * @return string - */ - public function guessBaseUri() { - - $pathInfo = $this->httpRequest->getRawServerValue('PATH_INFO'); - $uri = $this->httpRequest->getRawServerValue('REQUEST_URI'); - - // If PATH_INFO is found, we can assume it's accurate. - if (!empty($pathInfo)) { - - // We need to make sure we ignore the QUERY_STRING part - if ($pos = strpos($uri,'?')) - $uri = substr($uri,0,$pos); - - // PATH_INFO is only set for urls, such as: /example.php/path - // in that case PATH_INFO contains '/path'. - // Note that REQUEST_URI is percent encoded, while PATH_INFO is - // not, Therefore they are only comparable if we first decode - // REQUEST_INFO as well. - $decodedUri = Sabre_DAV_URLUtil::decodePath($uri); - - // A simple sanity check: - if(substr($decodedUri,strlen($decodedUri)-strlen($pathInfo))===$pathInfo) { - $baseUri = substr($decodedUri,0,strlen($decodedUri)-strlen($pathInfo)); - return rtrim($baseUri,'/') . '/'; - } - - throw new Sabre_DAV_Exception('The REQUEST_URI ('. $uri . ') did not end with the contents of PATH_INFO (' . $pathInfo . '). This server might be misconfigured.'); - - } - - // The last fallback is that we're just going to assume the server root. - return '/'; - - } - - /** - * Adds a plugin to the server - * - * For more information, console the documentation of Sabre_DAV_ServerPlugin - * - * @param Sabre_DAV_ServerPlugin $plugin - * @return void - */ - public function addPlugin(Sabre_DAV_ServerPlugin $plugin) { - - $this->plugins[$plugin->getPluginName()] = $plugin; - $plugin->initialize($this); - - } - - /** - * Returns an initialized plugin by it's name. - * - * This function returns null if the plugin was not found. - * - * @param string $name - * @return Sabre_DAV_ServerPlugin - */ - public function getPlugin($name) { - - if (isset($this->plugins[$name])) - return $this->plugins[$name]; - - // This is a fallback and deprecated. - foreach($this->plugins as $plugin) { - if (get_class($plugin)===$name) return $plugin; - } - - return null; - - } - - /** - * Returns all plugins - * - * @return array - */ - public function getPlugins() { - - return $this->plugins; - - } - - - /** - * Subscribe to an event. - * - * When the event is triggered, we'll call all the specified callbacks. - * It is possible to control the order of the callbacks through the - * priority argument. - * - * This is for example used to make sure that the authentication plugin - * is triggered before anything else. If it's not needed to change this - * number, it is recommended to ommit. - * - * @param string $event - * @param callback $callback - * @param int $priority - * @return void - */ - public function subscribeEvent($event, $callback, $priority = 100) { - - if (!isset($this->eventSubscriptions[$event])) { - $this->eventSubscriptions[$event] = array(); - } - while(isset($this->eventSubscriptions[$event][$priority])) $priority++; - $this->eventSubscriptions[$event][$priority] = $callback; - ksort($this->eventSubscriptions[$event]); - - } - - /** - * Broadcasts an event - * - * This method will call all subscribers. If one of the subscribers returns false, the process stops. - * - * The arguments parameter will be sent to all subscribers - * - * @param string $eventName - * @param array $arguments - * @return bool - */ - public function broadcastEvent($eventName,$arguments = array()) { - - if (isset($this->eventSubscriptions[$eventName])) { - - foreach($this->eventSubscriptions[$eventName] as $subscriber) { - - $result = call_user_func_array($subscriber,$arguments); - if ($result===false) return false; - - } - - } - - return true; - - } - - /** - * Handles a http request, and execute a method based on its name - * - * @param string $method - * @param string $uri - * @return void - */ - public function invokeMethod($method, $uri) { - - $method = strtoupper($method); - - if (!$this->broadcastEvent('beforeMethod',array($method, $uri))) return; - - // Make sure this is a HTTP method we support - $internalMethods = array( - 'OPTIONS', - 'GET', - 'HEAD', - 'DELETE', - 'PROPFIND', - 'MKCOL', - 'PUT', - 'PROPPATCH', - 'COPY', - 'MOVE', - 'REPORT' - ); - - if (in_array($method,$internalMethods)) { - - call_user_func(array($this,'http' . $method), $uri); - - } else { - - if ($this->broadcastEvent('unknownMethod',array($method, $uri))) { - // Unsupported method - throw new Sabre_DAV_Exception_NotImplemented('There was no handler found for this "' . $method . '" method'); - } - - } - - } - - // {{{ HTTP Method implementations - - /** - * HTTP OPTIONS - * - * @param string $uri - * @return void - */ - protected function httpOptions($uri) { - - $methods = $this->getAllowedMethods($uri); - - $this->httpResponse->setHeader('Allow',strtoupper(implode(', ',$methods))); - $features = array('1','3', 'extended-mkcol'); - - foreach($this->plugins as $plugin) $features = array_merge($features,$plugin->getFeatures()); - - $this->httpResponse->setHeader('DAV',implode(', ',$features)); - $this->httpResponse->setHeader('MS-Author-Via','DAV'); - $this->httpResponse->setHeader('Accept-Ranges','bytes'); - if (self::$exposeVersion) { - $this->httpResponse->setHeader('X-Sabre-Version',Sabre_DAV_Version::VERSION); - } - $this->httpResponse->setHeader('Content-Length',0); - $this->httpResponse->sendStatus(200); - - } - - /** - * HTTP GET - * - * This method simply fetches the contents of a uri, like normal - * - * @param string $uri - * @return bool - */ - protected function httpGet($uri) { - - $node = $this->tree->getNodeForPath($uri,0); - - if (!$this->checkPreconditions(true)) return false; - - if (!($node instanceof Sabre_DAV_IFile)) throw new Sabre_DAV_Exception_NotImplemented('GET is only implemented on File objects'); - $body = $node->get(); - - // Converting string into stream, if needed. - if (is_string($body)) { - $stream = fopen('php://temp','r+'); - fwrite($stream,$body); - rewind($stream); - $body = $stream; - } - - /* - * TODO: getetag, getlastmodified, getsize should also be used using - * this method - */ - $httpHeaders = $this->getHTTPHeaders($uri); - - /* ContentType needs to get a default, because many webservers will otherwise - * default to text/html, and we don't want this for security reasons. - */ - if (!isset($httpHeaders['Content-Type'])) { - $httpHeaders['Content-Type'] = 'application/octet-stream'; - } - - - if (isset($httpHeaders['Content-Length'])) { - - $nodeSize = $httpHeaders['Content-Length']; - - // Need to unset Content-Length, because we'll handle that during figuring out the range - unset($httpHeaders['Content-Length']); - - } else { - $nodeSize = null; - } - - $this->httpResponse->setHeaders($httpHeaders); - - $range = $this->getHTTPRange(); - $ifRange = $this->httpRequest->getHeader('If-Range'); - $ignoreRangeHeader = false; - - // If ifRange is set, and range is specified, we first need to check - // the precondition. - if ($nodeSize && $range && $ifRange) { - - // if IfRange is parsable as a date we'll treat it as a DateTime - // otherwise, we must treat it as an etag. - try { - $ifRangeDate = new DateTime($ifRange); - - // It's a date. We must check if the entity is modified since - // the specified date. - if (!isset($httpHeaders['Last-Modified'])) $ignoreRangeHeader = true; - else { - $modified = new DateTime($httpHeaders['Last-Modified']); - if($modified > $ifRangeDate) $ignoreRangeHeader = true; - } - - } catch (Exception $e) { - - // It's an entity. We can do a simple comparison. - if (!isset($httpHeaders['ETag'])) $ignoreRangeHeader = true; - elseif ($httpHeaders['ETag']!==$ifRange) $ignoreRangeHeader = true; - } - } - - // We're only going to support HTTP ranges if the backend provided a filesize - if (!$ignoreRangeHeader && $nodeSize && $range) { - - // Determining the exact byte offsets - if (!is_null($range[0])) { - - $start = $range[0]; - $end = $range[1]?$range[1]:$nodeSize-1; - if($start >= $nodeSize) - throw new Sabre_DAV_Exception_RequestedRangeNotSatisfiable('The start offset (' . $range[0] . ') exceeded the size of the entity (' . $nodeSize . ')'); - - if($end < $start) throw new Sabre_DAV_Exception_RequestedRangeNotSatisfiable('The end offset (' . $range[1] . ') is lower than the start offset (' . $range[0] . ')'); - if($end >= $nodeSize) $end = $nodeSize-1; - - } else { - - $start = $nodeSize-$range[1]; - $end = $nodeSize-1; - - if ($start<0) $start = 0; - - } - - // New read/write stream - $newStream = fopen('php://temp','r+'); - - stream_copy_to_stream($body, $newStream, $end-$start+1, $start); - rewind($newStream); - - $this->httpResponse->setHeader('Content-Length', $end-$start+1); - $this->httpResponse->setHeader('Content-Range','bytes ' . $start . '-' . $end . '/' . $nodeSize); - $this->httpResponse->sendStatus(206); - $this->httpResponse->sendBody($newStream); - - - } else { - - if ($nodeSize) $this->httpResponse->setHeader('Content-Length',$nodeSize); - $this->httpResponse->sendStatus(200); - $this->httpResponse->sendBody($body); - - } - - } - - /** - * HTTP HEAD - * - * This method is normally used to take a peak at a url, and only get the HTTP response headers, without the body - * This is used by clients to determine if a remote file was changed, so they can use a local cached version, instead of downloading it again - * - * @param string $uri - * @return void - */ - protected function httpHead($uri) { - - $node = $this->tree->getNodeForPath($uri); - /* This information is only collection for File objects. - * Ideally we want to throw 405 Method Not Allowed for every - * non-file, but MS Office does not like this - */ - if ($node instanceof Sabre_DAV_IFile) { - $headers = $this->getHTTPHeaders($this->getRequestUri()); - if (!isset($headers['Content-Type'])) { - $headers['Content-Type'] = 'application/octet-stream'; - } - $this->httpResponse->setHeaders($headers); - } - $this->httpResponse->sendStatus(200); - - } - - /** - * HTTP Delete - * - * The HTTP delete method, deletes a given uri - * - * @param string $uri - * @return void - */ - protected function httpDelete($uri) { - - if (!$this->broadcastEvent('beforeUnbind',array($uri))) return; - $this->tree->delete($uri); - $this->broadcastEvent('afterUnbind',array($uri)); - - $this->httpResponse->sendStatus(204); - $this->httpResponse->setHeader('Content-Length','0'); - - } - - - /** - * WebDAV PROPFIND - * - * This WebDAV method requests information about an uri resource, or a list of resources - * If a client wants to receive the properties for a single resource it will add an HTTP Depth: header with a 0 value - * If the value is 1, it means that it also expects a list of sub-resources (e.g.: files in a directory) - * - * The request body contains an XML data structure that has a list of properties the client understands - * The response body is also an xml document, containing information about every uri resource and the requested properties - * - * It has to return a HTTP 207 Multi-status status code - * - * @param string $uri - * @return void - */ - protected function httpPropfind($uri) { - - // $xml = new Sabre_DAV_XMLReader(file_get_contents('php://input')); - $requestedProperties = $this->parsePropfindRequest($this->httpRequest->getBody(true)); - - $depth = $this->getHTTPDepth(1); - // The only two options for the depth of a propfind is 0 or 1 - if ($depth!=0) $depth = 1; - - $newProperties = $this->getPropertiesForPath($uri,$requestedProperties,$depth); - - // This is a multi-status response - $this->httpResponse->sendStatus(207); - $this->httpResponse->setHeader('Content-Type','application/xml; charset=utf-8'); - - // Normally this header is only needed for OPTIONS responses, however.. - // iCal seems to also depend on these being set for PROPFIND. Since - // this is not harmful, we'll add it. - $features = array('1','3', 'extended-mkcol'); - foreach($this->plugins as $plugin) $features = array_merge($features,$plugin->getFeatures()); - $this->httpResponse->setHeader('DAV',implode(', ',$features)); - - $data = $this->generateMultiStatus($newProperties); - $this->httpResponse->sendBody($data); - - } - - /** - * WebDAV PROPPATCH - * - * This method is called to update properties on a Node. The request is an XML body with all the mutations. - * In this XML body it is specified which properties should be set/updated and/or deleted - * - * @param string $uri - * @return void - */ - protected function httpPropPatch($uri) { - - $newProperties = $this->parsePropPatchRequest($this->httpRequest->getBody(true)); - - $result = $this->updateProperties($uri, $newProperties); - - $this->httpResponse->sendStatus(207); - $this->httpResponse->setHeader('Content-Type','application/xml; charset=utf-8'); - - $this->httpResponse->sendBody( - $this->generateMultiStatus(array($result)) - ); - - } - - /** - * HTTP PUT method - * - * This HTTP method updates a file, or creates a new one. - * - * If a new resource was created, a 201 Created status code should be returned. If an existing resource is updated, it's a 204 No Content - * - * @param string $uri - * @return bool - */ - protected function httpPut($uri) { - - $body = $this->httpRequest->getBody(); - - // Intercepting Content-Range - if ($this->httpRequest->getHeader('Content-Range')) { - /** - Content-Range is dangerous for PUT requests: PUT per definition - stores a full resource. draft-ietf-httpbis-p2-semantics-15 says - in section 7.6: - An origin server SHOULD reject any PUT request that contains a - Content-Range header field, since it might be misinterpreted as - partial content (or might be partial content that is being mistakenly - PUT as a full representation). Partial content updates are possible - by targeting a separately identified resource with state that - overlaps a portion of the larger resource, or by using a different - method that has been specifically defined for partial updates (for - example, the PATCH method defined in [RFC5789]). - This clarifies RFC2616 section 9.6: - The recipient of the entity MUST NOT ignore any Content-* - (e.g. Content-Range) headers that it does not understand or implement - and MUST return a 501 (Not Implemented) response in such cases. - OTOH is a PUT request with a Content-Range currently the only way to - continue an aborted upload request and is supported by curl, mod_dav, - Tomcat and others. Since some clients do use this feature which results - in unexpected behaviour (cf PEAR::HTTP_WebDAV_Client 1.0.1), we reject - all PUT requests with a Content-Range for now. - */ - - throw new Sabre_DAV_Exception_NotImplemented('PUT with Content-Range is not allowed.'); - } - - // Intercepting the Finder problem - if (($expected = $this->httpRequest->getHeader('X-Expected-Entity-Length')) && $expected > 0) { - - /** - Many webservers will not cooperate well with Finder PUT requests, - because it uses 'Chunked' transfer encoding for the request body. - - The symptom of this problem is that Finder sends files to the - server, but they arrive as 0-length files in PHP. - - If we don't do anything, the user might think they are uploading - files successfully, but they end up empty on the server. Instead, - we throw back an error if we detect this. - - The reason Finder uses Chunked, is because it thinks the files - might change as it's being uploaded, and therefore the - Content-Length can vary. - - Instead it sends the X-Expected-Entity-Length header with the size - of the file at the very start of the request. If this header is set, - but we don't get a request body we will fail the request to - protect the end-user. - */ - - // Only reading first byte - $firstByte = fread($body,1); - if (strlen($firstByte)!==1) { - throw new Sabre_DAV_Exception_Forbidden('This server is not compatible with OS/X finder. Consider using a different WebDAV client or webserver.'); - } - - // The body needs to stay intact, so we copy everything to a - // temporary stream. - - $newBody = fopen('php://temp','r+'); - fwrite($newBody,$firstByte); - stream_copy_to_stream($body, $newBody); - rewind($newBody); - - $body = $newBody; - - } - - if ($this->tree->nodeExists($uri)) { - - $node = $this->tree->getNodeForPath($uri); - - // Checking If-None-Match and related headers. - if (!$this->checkPreconditions()) return; - - // If the node is a collection, we'll deny it - if (!($node instanceof Sabre_DAV_IFile)) throw new Sabre_DAV_Exception_Conflict('PUT is not allowed on non-files.'); - if (!$this->broadcastEvent('beforeWriteContent',array($uri, $node, &$body))) return false; - - $etag = $node->put($body); - - $this->broadcastEvent('afterWriteContent',array($uri, $node)); - - $this->httpResponse->setHeader('Content-Length','0'); - if ($etag) $this->httpResponse->setHeader('ETag',$etag); - $this->httpResponse->sendStatus(204); - - } else { - - $etag = null; - // If we got here, the resource didn't exist yet. - if (!$this->createFile($this->getRequestUri(),$body,$etag)) { - // For one reason or another the file was not created. - return; - } - - $this->httpResponse->setHeader('Content-Length','0'); - if ($etag) $this->httpResponse->setHeader('ETag', $etag); - $this->httpResponse->sendStatus(201); - - } - - } - - - /** - * WebDAV MKCOL - * - * The MKCOL method is used to create a new collection (directory) on the server - * - * @param string $uri - * @return void - */ - protected function httpMkcol($uri) { - - $requestBody = $this->httpRequest->getBody(true); - - if ($requestBody) { - - $contentType = $this->httpRequest->getHeader('Content-Type'); - if (strpos($contentType,'application/xml')!==0 && strpos($contentType,'text/xml')!==0) { - - // We must throw 415 for unsupported mkcol bodies - throw new Sabre_DAV_Exception_UnsupportedMediaType('The request body for the MKCOL request must have an xml Content-Type'); - - } - - $dom = Sabre_DAV_XMLUtil::loadDOMDocument($requestBody); - if (Sabre_DAV_XMLUtil::toClarkNotation($dom->firstChild)!=='{DAV:}mkcol') { - - // We must throw 415 for unsupported mkcol bodies - throw new Sabre_DAV_Exception_UnsupportedMediaType('The request body for the MKCOL request must be a {DAV:}mkcol request construct.'); - - } - - $properties = array(); - foreach($dom->firstChild->childNodes as $childNode) { - - if (Sabre_DAV_XMLUtil::toClarkNotation($childNode)!=='{DAV:}set') continue; - $properties = array_merge($properties, Sabre_DAV_XMLUtil::parseProperties($childNode, $this->propertyMap)); - - } - if (!isset($properties['{DAV:}resourcetype'])) - throw new Sabre_DAV_Exception_BadRequest('The mkcol request must include a {DAV:}resourcetype property'); - - $resourceType = $properties['{DAV:}resourcetype']->getValue(); - unset($properties['{DAV:}resourcetype']); - - } else { - - $properties = array(); - $resourceType = array('{DAV:}collection'); - - } - - $result = $this->createCollection($uri, $resourceType, $properties); - - if (is_array($result)) { - $this->httpResponse->sendStatus(207); - $this->httpResponse->setHeader('Content-Type','application/xml; charset=utf-8'); - - $this->httpResponse->sendBody( - $this->generateMultiStatus(array($result)) - ); - - } else { - $this->httpResponse->setHeader('Content-Length','0'); - $this->httpResponse->sendStatus(201); - } - - } - - /** - * WebDAV HTTP MOVE method - * - * This method moves one uri to a different uri. A lot of the actual request processing is done in getCopyMoveInfo - * - * @param string $uri - * @return void - */ - protected function httpMove($uri) { - - $moveInfo = $this->getCopyAndMoveInfo(); - - // If the destination is part of the source tree, we must fail - if ($moveInfo['destination']==$uri) - throw new Sabre_DAV_Exception_Forbidden('Source and destination uri are identical.'); - - if ($moveInfo['destinationExists']) { - - if (!$this->broadcastEvent('beforeUnbind',array($moveInfo['destination']))) return false; - $this->tree->delete($moveInfo['destination']); - $this->broadcastEvent('afterUnbind',array($moveInfo['destination'])); - - } - - if (!$this->broadcastEvent('beforeUnbind',array($uri))) return false; - if (!$this->broadcastEvent('beforeBind',array($moveInfo['destination']))) return false; - $this->tree->move($uri,$moveInfo['destination']); - $this->broadcastEvent('afterUnbind',array($uri)); - $this->broadcastEvent('afterBind',array($moveInfo['destination'])); - - // If a resource was overwritten we should send a 204, otherwise a 201 - $this->httpResponse->setHeader('Content-Length','0'); - $this->httpResponse->sendStatus($moveInfo['destinationExists']?204:201); - - } - - /** - * WebDAV HTTP COPY method - * - * This method copies one uri to a different uri, and works much like the MOVE request - * A lot of the actual request processing is done in getCopyMoveInfo - * - * @param string $uri - * @return bool - */ - protected function httpCopy($uri) { - - $copyInfo = $this->getCopyAndMoveInfo(); - // If the destination is part of the source tree, we must fail - if ($copyInfo['destination']==$uri) - throw new Sabre_DAV_Exception_Forbidden('Source and destination uri are identical.'); - - if ($copyInfo['destinationExists']) { - if (!$this->broadcastEvent('beforeUnbind',array($copyInfo['destination']))) return false; - $this->tree->delete($copyInfo['destination']); - - } - if (!$this->broadcastEvent('beforeBind',array($copyInfo['destination']))) return false; - $this->tree->copy($uri,$copyInfo['destination']); - $this->broadcastEvent('afterBind',array($copyInfo['destination'])); - - // If a resource was overwritten we should send a 204, otherwise a 201 - $this->httpResponse->setHeader('Content-Length','0'); - $this->httpResponse->sendStatus($copyInfo['destinationExists']?204:201); - - } - - - - /** - * HTTP REPORT method implementation - * - * Although the REPORT method is not part of the standard WebDAV spec (it's from rfc3253) - * It's used in a lot of extensions, so it made sense to implement it into the core. - * - * @param string $uri - * @return void - */ - protected function httpReport($uri) { - - $body = $this->httpRequest->getBody(true); - $dom = Sabre_DAV_XMLUtil::loadDOMDocument($body); - - $reportName = Sabre_DAV_XMLUtil::toClarkNotation($dom->firstChild); - - if ($this->broadcastEvent('report',array($reportName,$dom, $uri))) { - - // If broadcastEvent returned true, it means the report was not supported - throw new Sabre_DAV_Exception_ReportNotImplemented(); - - } - - } - - // }}} - // {{{ HTTP/WebDAV protocol helpers - - /** - * Returns an array with all the supported HTTP methods for a specific uri. - * - * @param string $uri - * @return array - */ - public function getAllowedMethods($uri) { - - $methods = array( - 'OPTIONS', - 'GET', - 'HEAD', - 'DELETE', - 'PROPFIND', - 'PUT', - 'PROPPATCH', - 'COPY', - 'MOVE', - 'REPORT' - ); - - // The MKCOL is only allowed on an unmapped uri - try { - $this->tree->getNodeForPath($uri); - } catch (Sabre_DAV_Exception_NotFound $e) { - $methods[] = 'MKCOL'; - } - - // We're also checking if any of the plugins register any new methods - foreach($this->plugins as $plugin) $methods = array_merge($methods, $plugin->getHTTPMethods($uri)); - array_unique($methods); - - return $methods; - - } - - /** - * Gets the uri for the request, keeping the base uri into consideration - * - * @return string - */ - public function getRequestUri() { - - return $this->calculateUri($this->httpRequest->getUri()); - - } - - /** - * Calculates the uri for a request, making sure that the base uri is stripped out - * - * @param string $uri - * @throws Sabre_DAV_Exception_Forbidden A permission denied exception is thrown whenever there was an attempt to supply a uri outside of the base uri - * @return string - */ - public function calculateUri($uri) { - - if ($uri[0]!='/' && strpos($uri,'://')) { - - $uri = parse_url($uri,PHP_URL_PATH); - - } - - $uri = str_replace('//','/',$uri); - - if (strpos($uri,$this->getBaseUri())===0) { - - return trim(Sabre_DAV_URLUtil::decodePath(substr($uri,strlen($this->getBaseUri()))),'/'); - - // A special case, if the baseUri was accessed without a trailing - // slash, we'll accept it as well. - } elseif ($uri.'/' === $this->getBaseUri()) { - - return ''; - - } else { - - throw new Sabre_DAV_Exception_Forbidden('Requested uri (' . $uri . ') is out of base uri (' . $this->getBaseUri() . ')'); - - } - - } - - /** - * Returns the HTTP depth header - * - * This method returns the contents of the HTTP depth request header. If the depth header was 'infinity' it will return the Sabre_DAV_Server::DEPTH_INFINITY object - * It is possible to supply a default depth value, which is used when the depth header has invalid content, or is completely non-existent - * - * @param mixed $default - * @return int - */ - public function getHTTPDepth($default = self::DEPTH_INFINITY) { - - // If its not set, we'll grab the default - $depth = $this->httpRequest->getHeader('Depth'); - - if (is_null($depth)) return $default; - - if ($depth == 'infinity') return self::DEPTH_INFINITY; - - - // If its an unknown value. we'll grab the default - if (!ctype_digit($depth)) return $default; - - return (int)$depth; - - } - - /** - * Returns the HTTP range header - * - * This method returns null if there is no well-formed HTTP range request - * header or array($start, $end). - * - * The first number is the offset of the first byte in the range. - * The second number is the offset of the last byte in the range. - * - * If the second offset is null, it should be treated as the offset of the last byte of the entity - * If the first offset is null, the second offset should be used to retrieve the last x bytes of the entity - * - * @return array|null - */ - public function getHTTPRange() { - - $range = $this->httpRequest->getHeader('range'); - if (is_null($range)) return null; - - // Matching "Range: bytes=1234-5678: both numbers are optional - - if (!preg_match('/^bytes=([0-9]*)-([0-9]*)$/i',$range,$matches)) return null; - - if ($matches[1]==='' && $matches[2]==='') return null; - - return array( - $matches[1]!==''?$matches[1]:null, - $matches[2]!==''?$matches[2]:null, - ); - - } - - - /** - * Returns information about Copy and Move requests - * - * This function is created to help getting information about the source and the destination for the - * WebDAV MOVE and COPY HTTP request. It also validates a lot of information and throws proper exceptions - * - * The returned value is an array with the following keys: - * * destination - Destination path - * * destinationExists - Whether or not the destination is an existing url (and should therefore be overwritten) - * - * @return array - */ - public function getCopyAndMoveInfo() { - - // Collecting the relevant HTTP headers - if (!$this->httpRequest->getHeader('Destination')) throw new Sabre_DAV_Exception_BadRequest('The destination header was not supplied'); - $destination = $this->calculateUri($this->httpRequest->getHeader('Destination')); - $overwrite = $this->httpRequest->getHeader('Overwrite'); - if (!$overwrite) $overwrite = 'T'; - if (strtoupper($overwrite)=='T') $overwrite = true; - elseif (strtoupper($overwrite)=='F') $overwrite = false; - // We need to throw a bad request exception, if the header was invalid - else throw new Sabre_DAV_Exception_BadRequest('The HTTP Overwrite header should be either T or F'); - - list($destinationDir) = Sabre_DAV_URLUtil::splitPath($destination); - - try { - $destinationParent = $this->tree->getNodeForPath($destinationDir); - if (!($destinationParent instanceof Sabre_DAV_ICollection)) throw new Sabre_DAV_Exception_UnsupportedMediaType('The destination node is not a collection'); - } catch (Sabre_DAV_Exception_NotFound $e) { - - // If the destination parent node is not found, we throw a 409 - throw new Sabre_DAV_Exception_Conflict('The destination node is not found'); - } - - try { - - $destinationNode = $this->tree->getNodeForPath($destination); - - // If this succeeded, it means the destination already exists - // we'll need to throw precondition failed in case overwrite is false - if (!$overwrite) throw new Sabre_DAV_Exception_PreconditionFailed('The destination node already exists, and the overwrite header is set to false','Overwrite'); - - } catch (Sabre_DAV_Exception_NotFound $e) { - - // Destination didn't exist, we're all good - $destinationNode = false; - - - - } - - // These are the three relevant properties we need to return - return array( - 'destination' => $destination, - 'destinationExists' => $destinationNode==true, - 'destinationNode' => $destinationNode, - ); - - } - - /** - * Returns a list of properties for a path - * - * This is a simplified version getPropertiesForPath. - * if you aren't interested in status codes, but you just - * want to have a flat list of properties. Use this method. - * - * @param string $path - * @param array $propertyNames - */ - public function getProperties($path, $propertyNames) { - - $result = $this->getPropertiesForPath($path,$propertyNames,0); - return $result[0][200]; - - } - - /** - * A kid-friendly way to fetch properties for a node's children. - * - * The returned array will be indexed by the path of the of child node. - * Only properties that are actually found will be returned. - * - * The parent node will not be returned. - * - * @param string $path - * @param array $propertyNames - * @return array - */ - public function getPropertiesForChildren($path, $propertyNames) { - - $result = array(); - foreach($this->getPropertiesForPath($path,$propertyNames,1) as $k=>$row) { - - // Skipping the parent path - if ($k === 0) continue; - - $result[$row['href']] = $row[200]; - - } - return $result; - - } - - /** - * Returns a list of HTTP headers for a particular resource - * - * The generated http headers are based on properties provided by the - * resource. The method basically provides a simple mapping between - * DAV property and HTTP header. - * - * The headers are intended to be used for HEAD and GET requests. - * - * @param string $path - * @return array - */ - public function getHTTPHeaders($path) { - - $propertyMap = array( - '{DAV:}getcontenttype' => 'Content-Type', - '{DAV:}getcontentlength' => 'Content-Length', - '{DAV:}getlastmodified' => 'Last-Modified', - '{DAV:}getetag' => 'ETag', - ); - - $properties = $this->getProperties($path,array_keys($propertyMap)); - - $headers = array(); - foreach($propertyMap as $property=>$header) { - if (!isset($properties[$property])) continue; - - if (is_scalar($properties[$property])) { - $headers[$header] = $properties[$property]; - - // GetLastModified gets special cased - } elseif ($properties[$property] instanceof Sabre_DAV_Property_GetLastModified) { - $headers[$header] = Sabre_HTTP_Util::toHTTPDate($properties[$property]->getTime()); - } - - } - - return $headers; - - } - - /** - * Returns a list of properties for a given path - * - * The path that should be supplied should have the baseUrl stripped out - * The list of properties should be supplied in Clark notation. If the list is empty - * 'allprops' is assumed. - * - * If a depth of 1 is requested child elements will also be returned. - * - * @param string $path - * @param array $propertyNames - * @param int $depth - * @return array - */ - public function getPropertiesForPath($path, $propertyNames = array(), $depth = 0) { - - if ($depth!=0) $depth = 1; - - $returnPropertyList = array(); - - $parentNode = $this->tree->getNodeForPath($path); - $nodes = array( - $path => $parentNode - ); - if ($depth==1 && $parentNode instanceof Sabre_DAV_ICollection) { - foreach($this->tree->getChildren($path) as $childNode) - $nodes[$path . '/' . $childNode->getName()] = $childNode; - } - - // If the propertyNames array is empty, it means all properties are requested. - // We shouldn't actually return everything we know though, and only return a - // sensible list. - $allProperties = count($propertyNames)==0; - - foreach($nodes as $myPath=>$node) { - - $currentPropertyNames = $propertyNames; - - $newProperties = array( - '200' => array(), - '404' => array(), - ); - - if ($allProperties) { - // Default list of propertyNames, when all properties were requested. - $currentPropertyNames = array( - '{DAV:}getlastmodified', - '{DAV:}getcontentlength', - '{DAV:}resourcetype', - '{DAV:}quota-used-bytes', - '{DAV:}quota-available-bytes', - '{DAV:}getetag', - '{DAV:}getcontenttype', - ); - } - - // If the resourceType was not part of the list, we manually add it - // and mark it for removal. We need to know the resourcetype in order - // to make certain decisions about the entry. - // WebDAV dictates we should add a / and the end of href's for collections - $removeRT = false; - if (!in_array('{DAV:}resourcetype',$currentPropertyNames)) { - $currentPropertyNames[] = '{DAV:}resourcetype'; - $removeRT = true; - } - - $result = $this->broadcastEvent('beforeGetProperties',array($myPath, $node, &$currentPropertyNames, &$newProperties)); - // If this method explicitly returned false, we must ignore this - // node as it is inaccessible. - if ($result===false) continue; - - if (count($currentPropertyNames) > 0) { - - if ($node instanceof Sabre_DAV_IProperties) - $newProperties['200'] = $newProperties[200] + $node->getProperties($currentPropertyNames); - - } - - - foreach($currentPropertyNames as $prop) { - - if (isset($newProperties[200][$prop])) continue; - - switch($prop) { - case '{DAV:}getlastmodified' : if ($node->getLastModified()) $newProperties[200][$prop] = new Sabre_DAV_Property_GetLastModified($node->getLastModified()); break; - case '{DAV:}getcontentlength' : - if ($node instanceof Sabre_DAV_IFile) { - $size = $node->getSize(); - if (!is_null($size)) { - $newProperties[200][$prop] = (int)$node->getSize(); - } - } - break; - case '{DAV:}quota-used-bytes' : - if ($node instanceof Sabre_DAV_IQuota) { - $quotaInfo = $node->getQuotaInfo(); - $newProperties[200][$prop] = $quotaInfo[0]; - } - break; - case '{DAV:}quota-available-bytes' : - if ($node instanceof Sabre_DAV_IQuota) { - $quotaInfo = $node->getQuotaInfo(); - $newProperties[200][$prop] = $quotaInfo[1]; - } - break; - case '{DAV:}getetag' : if ($node instanceof Sabre_DAV_IFile && $etag = $node->getETag()) $newProperties[200][$prop] = $etag; break; - case '{DAV:}getcontenttype' : if ($node instanceof Sabre_DAV_IFile && $ct = $node->getContentType()) $newProperties[200][$prop] = $ct; break; - case '{DAV:}supported-report-set' : - $reports = array(); - foreach($this->plugins as $plugin) { - $reports = array_merge($reports, $plugin->getSupportedReportSet($myPath)); - } - $newProperties[200][$prop] = new Sabre_DAV_Property_SupportedReportSet($reports); - break; - case '{DAV:}resourcetype' : - $newProperties[200]['{DAV:}resourcetype'] = new Sabre_DAV_Property_ResourceType(); - foreach($this->resourceTypeMapping as $className => $resourceType) { - if ($node instanceof $className) $newProperties[200]['{DAV:}resourcetype']->add($resourceType); - } - break; - - } - - // If we were unable to find the property, we will list it as 404. - if (!$allProperties && !isset($newProperties[200][$prop])) $newProperties[404][$prop] = null; - - } - - $this->broadcastEvent('afterGetProperties',array(trim($myPath,'/'),&$newProperties)); - - $newProperties['href'] = trim($myPath,'/'); - - // Its is a WebDAV recommendation to add a trailing slash to collectionnames. - // Apple's iCal also requires a trailing slash for principals (rfc 3744). - // Therefore we add a trailing / for any non-file. This might need adjustments - // if we find there are other edge cases. - if ($myPath!='' && isset($newProperties[200]['{DAV:}resourcetype']) && count($newProperties[200]['{DAV:}resourcetype']->getValue())>0) $newProperties['href'] .='/'; - - // If the resourcetype property was manually added to the requested property list, - // we will remove it again. - if ($removeRT) unset($newProperties[200]['{DAV:}resourcetype']); - - $returnPropertyList[] = $newProperties; - - } - - return $returnPropertyList; - - } - - /** - * This method is invoked by sub-systems creating a new file. - * - * Currently this is done by HTTP PUT and HTTP LOCK (in the Locks_Plugin). - * It was important to get this done through a centralized function, - * allowing plugins to intercept this using the beforeCreateFile event. - * - * This method will return true if the file was actually created - * - * @param string $uri - * @param resource $data - * @param string $etag - * @return bool - */ - public function createFile($uri,$data, &$etag = null) { - - list($dir,$name) = Sabre_DAV_URLUtil::splitPath($uri); - - if (!$this->broadcastEvent('beforeBind',array($uri))) return false; - - $parent = $this->tree->getNodeForPath($dir); - - if (!$this->broadcastEvent('beforeCreateFile',array($uri, &$data, $parent))) return false; - - $etag = $parent->createFile($name,$data); - $this->tree->markDirty($dir); - - $this->broadcastEvent('afterBind',array($uri)); - $this->broadcastEvent('afterCreateFile',array($uri, $parent)); - - return true; - } - - /** - * This method is invoked by sub-systems creating a new directory. - * - * @param string $uri - * @return void - */ - public function createDirectory($uri) { - - $this->createCollection($uri,array('{DAV:}collection'),array()); - - } - - /** - * Use this method to create a new collection - * - * The {DAV:}resourcetype is specified using the resourceType array. - * At the very least it must contain {DAV:}collection. - * - * The properties array can contain a list of additional properties. - * - * @param string $uri The new uri - * @param array $resourceType The resourceType(s) - * @param array $properties A list of properties - * @return array|null - */ - public function createCollection($uri, array $resourceType, array $properties) { - - list($parentUri,$newName) = Sabre_DAV_URLUtil::splitPath($uri); - - // Making sure {DAV:}collection was specified as resourceType - if (!in_array('{DAV:}collection', $resourceType)) { - throw new Sabre_DAV_Exception_InvalidResourceType('The resourceType for this collection must at least include {DAV:}collection'); - } - - - // Making sure the parent exists - try { - - $parent = $this->tree->getNodeForPath($parentUri); - - } catch (Sabre_DAV_Exception_NotFound $e) { - - throw new Sabre_DAV_Exception_Conflict('Parent node does not exist'); - - } - - // Making sure the parent is a collection - if (!$parent instanceof Sabre_DAV_ICollection) { - throw new Sabre_DAV_Exception_Conflict('Parent node is not a collection'); - } - - - - // Making sure the child does not already exist - try { - $parent->getChild($newName); - - // If we got here.. it means there's already a node on that url, and we need to throw a 405 - throw new Sabre_DAV_Exception_MethodNotAllowed('The resource you tried to create already exists'); - - } catch (Sabre_DAV_Exception_NotFound $e) { - // This is correct - } - - - if (!$this->broadcastEvent('beforeBind',array($uri))) return; - - // There are 2 modes of operation. The standard collection - // creates the directory, and then updates properties - // the extended collection can create it directly. - if ($parent instanceof Sabre_DAV_IExtendedCollection) { - - $parent->createExtendedCollection($newName, $resourceType, $properties); - - } else { - - // No special resourcetypes are supported - if (count($resourceType)>1) { - throw new Sabre_DAV_Exception_InvalidResourceType('The {DAV:}resourcetype you specified is not supported here.'); - } - - $parent->createDirectory($newName); - $rollBack = false; - $exception = null; - $errorResult = null; - - if (count($properties)>0) { - - try { - - $errorResult = $this->updateProperties($uri, $properties); - if (!isset($errorResult[200])) { - $rollBack = true; - } - - } catch (Sabre_DAV_Exception $e) { - - $rollBack = true; - $exception = $e; - - } - - } - - if ($rollBack) { - if (!$this->broadcastEvent('beforeUnbind',array($uri))) return; - $this->tree->delete($uri); - - // Re-throwing exception - if ($exception) throw $exception; - - return $errorResult; - } - - } - $this->tree->markDirty($parentUri); - $this->broadcastEvent('afterBind',array($uri)); - - } - - /** - * This method updates a resource's properties - * - * The properties array must be a list of properties. Array-keys are - * property names in clarknotation, array-values are it's values. - * If a property must be deleted, the value should be null. - * - * Note that this request should either completely succeed, or - * completely fail. - * - * The response is an array with statuscodes for keys, which in turn - * contain arrays with propertynames. This response can be used - * to generate a multistatus body. - * - * @param string $uri - * @param array $properties - * @return array - */ - public function updateProperties($uri, array $properties) { - - // we'll start by grabbing the node, this will throw the appropriate - // exceptions if it doesn't. - $node = $this->tree->getNodeForPath($uri); - - $result = array( - 200 => array(), - 403 => array(), - 424 => array(), - ); - $remainingProperties = $properties; - $hasError = false; - - // Running through all properties to make sure none of them are protected - if (!$hasError) foreach($properties as $propertyName => $value) { - if(in_array($propertyName, $this->protectedProperties)) { - $result[403][$propertyName] = null; - unset($remainingProperties[$propertyName]); - $hasError = true; - } - } - - if (!$hasError) { - // Allowing plugins to take care of property updating - $hasError = !$this->broadcastEvent('updateProperties',array( - &$remainingProperties, - &$result, - $node - )); - } - - // If the node is not an instance of Sabre_DAV_IProperties, every - // property is 403 Forbidden - if (!$hasError && count($remainingProperties) && !($node instanceof Sabre_DAV_IProperties)) { - $hasError = true; - foreach($properties as $propertyName=> $value) { - $result[403][$propertyName] = null; - } - $remainingProperties = array(); - } - - // Only if there were no errors we may attempt to update the resource - if (!$hasError) { - - if (count($remainingProperties)>0) { - - $updateResult = $node->updateProperties($remainingProperties); - - if ($updateResult===true) { - // success - foreach($remainingProperties as $propertyName=>$value) { - $result[200][$propertyName] = null; - } - - } elseif ($updateResult===false) { - // The node failed to update the properties for an - // unknown reason - foreach($remainingProperties as $propertyName=>$value) { - $result[403][$propertyName] = null; - } - - } elseif (is_array($updateResult)) { - - // The node has detailed update information - // We need to merge the results with the earlier results. - foreach($updateResult as $status => $props) { - if (is_array($props)) { - if (!isset($result[$status])) - $result[$status] = array(); - - $result[$status] = array_merge($result[$status], $updateResult[$status]); - } - } - - } else { - throw new Sabre_DAV_Exception('Invalid result from updateProperties'); - } - $remainingProperties = array(); - } - - } - - foreach($remainingProperties as $propertyName=>$value) { - // if there are remaining properties, it must mean - // there's a dependency failure - $result[424][$propertyName] = null; - } - - // Removing empty array values - foreach($result as $status=>$props) { - - if (count($props)===0) unset($result[$status]); - - } - $result['href'] = $uri; - return $result; - - } - - /** - * This method checks the main HTTP preconditions. - * - * Currently these are: - * * If-Match - * * If-None-Match - * * If-Modified-Since - * * If-Unmodified-Since - * - * The method will return true if all preconditions are met - * The method will return false, or throw an exception if preconditions - * failed. If false is returned the operation should be aborted, and - * the appropriate HTTP response headers are already set. - * - * Normally this method will throw 412 Precondition Failed for failures - * related to If-None-Match, If-Match and If-Unmodified Since. It will - * set the status to 304 Not Modified for If-Modified_since. - * - * If the $handleAsGET argument is set to true, it will also return 304 - * Not Modified for failure of the If-None-Match precondition. This is the - * desired behaviour for HTTP GET and HTTP HEAD requests. - * - * @param bool $handleAsGET - * @return bool - */ - public function checkPreconditions($handleAsGET = false) { - - $uri = $this->getRequestUri(); - $node = null; - $lastMod = null; - $etag = null; - - if ($ifMatch = $this->httpRequest->getHeader('If-Match')) { - - // If-Match contains an entity tag. Only if the entity-tag - // matches we are allowed to make the request succeed. - // If the entity-tag is '*' we are only allowed to make the - // request succeed if a resource exists at that url. - try { - $node = $this->tree->getNodeForPath($uri); - } catch (Sabre_DAV_Exception_NotFound $e) { - throw new Sabre_DAV_Exception_PreconditionFailed('An If-Match header was specified and the resource did not exist','If-Match'); - } - - // Only need to check entity tags if they are not * - if ($ifMatch!=='*') { - - // There can be multiple etags - $ifMatch = explode(',',$ifMatch); - $haveMatch = false; - foreach($ifMatch as $ifMatchItem) { - - // Stripping any extra spaces - $ifMatchItem = trim($ifMatchItem,' '); - - $etag = $node->getETag(); - if ($etag===$ifMatchItem) { - $haveMatch = true; - } else { - // Evolution has a bug where it sometimes prepends the " - // with a \. This is our workaround. - if (str_replace('\\"','"', $ifMatchItem) === $etag) { - $haveMatch = true; - } - } - - } - if (!$haveMatch) { - throw new Sabre_DAV_Exception_PreconditionFailed('An If-Match header was specified, but none of the specified the ETags matched.','If-Match'); - } - } - } - - if ($ifNoneMatch = $this->httpRequest->getHeader('If-None-Match')) { - - // The If-None-Match header contains an etag. - // Only if the ETag does not match the current ETag, the request will succeed - // The header can also contain *, in which case the request - // will only succeed if the entity does not exist at all. - $nodeExists = true; - if (!$node) { - try { - $node = $this->tree->getNodeForPath($uri); - } catch (Sabre_DAV_Exception_NotFound $e) { - $nodeExists = false; - } - } - if ($nodeExists) { - $haveMatch = false; - if ($ifNoneMatch==='*') $haveMatch = true; - else { - - // There might be multiple etags - $ifNoneMatch = explode(',', $ifNoneMatch); - $etag = $node->getETag(); - - foreach($ifNoneMatch as $ifNoneMatchItem) { - - // Stripping any extra spaces - $ifNoneMatchItem = trim($ifNoneMatchItem,' '); - - if ($etag===$ifNoneMatchItem) $haveMatch = true; - - } - - } - - if ($haveMatch) { - if ($handleAsGET) { - $this->httpResponse->sendStatus(304); - return false; - } else { - throw new Sabre_DAV_Exception_PreconditionFailed('An If-None-Match header was specified, but the ETag matched (or * was specified).','If-None-Match'); - } - } - } - - } - - if (!$ifNoneMatch && ($ifModifiedSince = $this->httpRequest->getHeader('If-Modified-Since'))) { - - // The If-Modified-Since header contains a date. We - // will only return the entity if it has been changed since - // that date. If it hasn't been changed, we return a 304 - // header - // Note that this header only has to be checked if there was no If-None-Match header - // as per the HTTP spec. - $date = Sabre_HTTP_Util::parseHTTPDate($ifModifiedSince); - - if ($date) { - if (is_null($node)) { - $node = $this->tree->getNodeForPath($uri); - } - $lastMod = $node->getLastModified(); - if ($lastMod) { - $lastMod = new DateTime('@' . $lastMod); - if ($lastMod <= $date) { - $this->httpResponse->sendStatus(304); - $this->httpResponse->setHeader('Last-Modified', Sabre_HTTP_Util::toHTTPDate($lastMod)); - return false; - } - } - } - } - - if ($ifUnmodifiedSince = $this->httpRequest->getHeader('If-Unmodified-Since')) { - - // The If-Unmodified-Since will allow allow the request if the - // entity has not changed since the specified date. - $date = Sabre_HTTP_Util::parseHTTPDate($ifUnmodifiedSince); - - // We must only check the date if it's valid - if ($date) { - if (is_null($node)) { - $node = $this->tree->getNodeForPath($uri); - } - $lastMod = $node->getLastModified(); - if ($lastMod) { - $lastMod = new DateTime('@' . $lastMod); - if ($lastMod > $date) { - throw new Sabre_DAV_Exception_PreconditionFailed('An If-Unmodified-Since header was specified, but the entity has been changed since the specified date.','If-Unmodified-Since'); - } - } - } - - } - return true; - - } - - // }}} - // {{{ XML Readers & Writers - - - /** - * Generates a WebDAV propfind response body based on a list of nodes - * - * @param array $fileProperties The list with nodes - * @return string - */ - public function generateMultiStatus(array $fileProperties) { - - $dom = new DOMDocument('1.0','utf-8'); - //$dom->formatOutput = true; - $multiStatus = $dom->createElement('d:multistatus'); - $dom->appendChild($multiStatus); - - // Adding in default namespaces - foreach($this->xmlNamespaces as $namespace=>$prefix) { - - $multiStatus->setAttribute('xmlns:' . $prefix,$namespace); - - } - - foreach($fileProperties as $entry) { - - $href = $entry['href']; - unset($entry['href']); - - $response = new Sabre_DAV_Property_Response($href,$entry); - $response->serialize($this,$multiStatus); - - } - - return $dom->saveXML(); - - } - - /** - * This method parses a PropPatch request - * - * PropPatch changes the properties for a resource. This method - * returns a list of properties. - * - * The keys in the returned array contain the property name (e.g.: {DAV:}displayname, - * and the value contains the property value. If a property is to be removed the value - * will be null. - * - * @param string $body xml body - * @return array list of properties in need of updating or deletion - */ - public function parsePropPatchRequest($body) { - - //We'll need to change the DAV namespace declaration to something else in order to make it parsable - $dom = Sabre_DAV_XMLUtil::loadDOMDocument($body); - - $newProperties = array(); - - foreach($dom->firstChild->childNodes as $child) { - - if ($child->nodeType !== XML_ELEMENT_NODE) continue; - - $operation = Sabre_DAV_XMLUtil::toClarkNotation($child); - - if ($operation!=='{DAV:}set' && $operation!=='{DAV:}remove') continue; - - $innerProperties = Sabre_DAV_XMLUtil::parseProperties($child, $this->propertyMap); - - foreach($innerProperties as $propertyName=>$propertyValue) { - - if ($operation==='{DAV:}remove') { - $propertyValue = null; - } - - $newProperties[$propertyName] = $propertyValue; - - } - - } - - return $newProperties; - - } - - /** - * This method parses the PROPFIND request and returns its information - * - * This will either be a list of properties, or an empty array; in which case - * an {DAV:}allprop was requested. - * - * @param string $body - * @return array - */ - public function parsePropFindRequest($body) { - - // If the propfind body was empty, it means IE is requesting 'all' properties - if (!$body) return array(); - - $dom = Sabre_DAV_XMLUtil::loadDOMDocument($body); - $elem = $dom->getElementsByTagNameNS('urn:DAV','propfind')->item(0); - return array_keys(Sabre_DAV_XMLUtil::parseProperties($elem)); - - } - - // }}} - -} - diff --git a/3rdparty/Sabre/DAV/ServerPlugin.php b/3rdparty/Sabre/DAV/ServerPlugin.php deleted file mode 100755 index 131863d13fbf3a9823282d0b9aebb5b7c4e9a760..0000000000000000000000000000000000000000 --- a/3rdparty/Sabre/DAV/ServerPlugin.php +++ /dev/null @@ -1,90 +0,0 @@ -name = $name; - foreach($children as $child) { - - if (!($child instanceof Sabre_DAV_INode)) throw new Sabre_DAV_Exception('Only instances of Sabre_DAV_INode are allowed to be passed in the children argument'); - $this->addChild($child); - - } - - } - - /** - * Adds a new childnode to this collection - * - * @param Sabre_DAV_INode $child - * @return void - */ - public function addChild(Sabre_DAV_INode $child) { - - $this->children[$child->getName()] = $child; - - } - - /** - * Returns the name of the collection - * - * @return string - */ - public function getName() { - - return $this->name; - - } - - /** - * Returns a child object, by its name. - * - * This method makes use of the getChildren method to grab all the child nodes, and compares the name. - * Generally its wise to override this, as this can usually be optimized - * - * @param string $name - * @throws Sabre_DAV_Exception_NotFound - * @return Sabre_DAV_INode - */ - public function getChild($name) { - - if (isset($this->children[$name])) return $this->children[$name]; - throw new Sabre_DAV_Exception_NotFound('File not found: ' . $name . ' in \'' . $this->getName() . '\''); - - } - - /** - * Returns a list of children for this collection - * - * @return array - */ - public function getChildren() { - - return array_values($this->children); - - } - - -} - diff --git a/3rdparty/Sabre/DAV/SimpleDirectory.php b/3rdparty/Sabre/DAV/SimpleDirectory.php deleted file mode 100755 index 621222ebc53a6dbfc4e3b89f1b58288cee7652bc..0000000000000000000000000000000000000000 --- a/3rdparty/Sabre/DAV/SimpleDirectory.php +++ /dev/null @@ -1,21 +0,0 @@ -name = $name; - $this->contents = $contents; - $this->mimeType = $mimeType; - - } - - /** - * Returns the node name for this file. - * - * This name is used to construct the url. - * - * @return string - */ - public function getName() { - - return $this->name; - - } - - /** - * Returns the data - * - * This method may either return a string or a readable stream resource - * - * @return mixed - */ - public function get() { - - return $this->contents; - - } - - /** - * Returns the size of the file, in bytes. - * - * @return int - */ - public function getSize() { - - return strlen($this->contents); - - } - - /** - * Returns the ETag for a file - * - * An ETag is a unique identifier representing the current version of the file. If the file changes, the ETag MUST change. - * The ETag is an arbitrary string, but MUST be surrounded by double-quotes. - * - * Return null if the ETag can not effectively be determined - * @return string - */ - public function getETag() { - - return '"' . md5($this->contents) . '"'; - - } - - /** - * Returns the mime-type for a file - * - * If null is returned, we'll assume application/octet-stream - * @return string - */ - public function getContentType() { - - return $this->mimeType; - - } - -} diff --git a/3rdparty/Sabre/DAV/StringUtil.php b/3rdparty/Sabre/DAV/StringUtil.php deleted file mode 100755 index b126a94c82579b7b7602324632c8b368e7d275da..0000000000000000000000000000000000000000 --- a/3rdparty/Sabre/DAV/StringUtil.php +++ /dev/null @@ -1,91 +0,0 @@ -dataDir = $dataDir; - - } - - /** - * Initialize the plugin - * - * This is called automatically be the Server class after this plugin is - * added with Sabre_DAV_Server::addPlugin() - * - * @param Sabre_DAV_Server $server - * @return void - */ - public function initialize(Sabre_DAV_Server $server) { - - $this->server = $server; - $server->subscribeEvent('beforeMethod',array($this,'beforeMethod')); - $server->subscribeEvent('beforeCreateFile',array($this,'beforeCreateFile')); - - } - - /** - * This method is called before any HTTP method handler - * - * This method intercepts any GET, DELETE, PUT and PROPFIND calls to - * filenames that are known to match the 'temporary file' regex. - * - * @param string $method - * @param string $uri - * @return bool - */ - public function beforeMethod($method, $uri) { - - if (!$tempLocation = $this->isTempFile($uri)) - return true; - - switch($method) { - case 'GET' : - return $this->httpGet($tempLocation); - case 'PUT' : - return $this->httpPut($tempLocation); - case 'PROPFIND' : - return $this->httpPropfind($tempLocation, $uri); - case 'DELETE' : - return $this->httpDelete($tempLocation); - } - return true; - - } - - /** - * This method is invoked if some subsystem creates a new file. - * - * This is used to deal with HTTP LOCK requests which create a new - * file. - * - * @param string $uri - * @param resource $data - * @return bool - */ - public function beforeCreateFile($uri,$data) { - - if ($tempPath = $this->isTempFile($uri)) { - - $hR = $this->server->httpResponse; - $hR->setHeader('X-Sabre-Temp','true'); - file_put_contents($tempPath,$data); - return false; - } - return true; - - } - - /** - * This method will check if the url matches the temporary file pattern - * if it does, it will return an path based on $this->dataDir for the - * temporary file storage. - * - * @param string $path - * @return boolean|string - */ - protected function isTempFile($path) { - - // We're only interested in the basename. - list(, $tempPath) = Sabre_DAV_URLUtil::splitPath($path); - - foreach($this->temporaryFilePatterns as $tempFile) { - - if (preg_match($tempFile,$tempPath)) { - return $this->getDataDir() . '/sabredav_' . md5($path) . '.tempfile'; - } - - } - - return false; - - } - - - /** - * This method handles the GET method for temporary files. - * If the file doesn't exist, it will return false which will kick in - * the regular system for the GET method. - * - * @param string $tempLocation - * @return bool - */ - public function httpGet($tempLocation) { - - if (!file_exists($tempLocation)) return true; - - $hR = $this->server->httpResponse; - $hR->setHeader('Content-Type','application/octet-stream'); - $hR->setHeader('Content-Length',filesize($tempLocation)); - $hR->setHeader('X-Sabre-Temp','true'); - $hR->sendStatus(200); - $hR->sendBody(fopen($tempLocation,'r')); - return false; - - } - - /** - * This method handles the PUT method. - * - * @param string $tempLocation - * @return bool - */ - public function httpPut($tempLocation) { - - $hR = $this->server->httpResponse; - $hR->setHeader('X-Sabre-Temp','true'); - - $newFile = !file_exists($tempLocation); - - if (!$newFile && ($this->server->httpRequest->getHeader('If-None-Match'))) { - throw new Sabre_DAV_Exception_PreconditionFailed('The resource already exists, and an If-None-Match header was supplied'); - } - - file_put_contents($tempLocation,$this->server->httpRequest->getBody()); - $hR->sendStatus($newFile?201:200); - return false; - - } - - /** - * This method handles the DELETE method. - * - * If the file didn't exist, it will return false, which will make the - * standard HTTP DELETE handler kick in. - * - * @param string $tempLocation - * @return bool - */ - public function httpDelete($tempLocation) { - - if (!file_exists($tempLocation)) return true; - - unlink($tempLocation); - $hR = $this->server->httpResponse; - $hR->setHeader('X-Sabre-Temp','true'); - $hR->sendStatus(204); - return false; - - } - - /** - * This method handles the PROPFIND method. - * - * It's a very lazy method, it won't bother checking the request body - * for which properties were requested, and just sends back a default - * set of properties. - * - * @param string $tempLocation - * @param string $uri - * @return bool - */ - public function httpPropfind($tempLocation, $uri) { - - if (!file_exists($tempLocation)) return true; - - $hR = $this->server->httpResponse; - $hR->setHeader('X-Sabre-Temp','true'); - $hR->sendStatus(207); - $hR->setHeader('Content-Type','application/xml; charset=utf-8'); - - $this->server->parsePropFindRequest($this->server->httpRequest->getBody(true)); - - $properties = array( - 'href' => $uri, - 200 => array( - '{DAV:}getlastmodified' => new Sabre_DAV_Property_GetLastModified(filemtime($tempLocation)), - '{DAV:}getcontentlength' => filesize($tempLocation), - '{DAV:}resourcetype' => new Sabre_DAV_Property_ResourceType(null), - '{'.Sabre_DAV_Server::NS_SABREDAV.'}tempFile' => true, - - ), - ); - - $data = $this->server->generateMultiStatus(array($properties)); - $hR->sendBody($data); - return false; - - } - - - /** - * This method returns the directory where the temporary files should be stored. - * - * @return string - */ - protected function getDataDir() - { - return $this->dataDir; - } -} diff --git a/3rdparty/Sabre/DAV/Tree.php b/3rdparty/Sabre/DAV/Tree.php deleted file mode 100755 index 502163941555d209837c3dee0c59b76981d72ab4..0000000000000000000000000000000000000000 --- a/3rdparty/Sabre/DAV/Tree.php +++ /dev/null @@ -1,193 +0,0 @@ -getNodeForPath($path); - return true; - - } catch (Sabre_DAV_Exception_NotFound $e) { - - return false; - - } - - } - - /** - * Copies a file from path to another - * - * @param string $sourcePath The source location - * @param string $destinationPath The full destination path - * @return void - */ - public function copy($sourcePath, $destinationPath) { - - $sourceNode = $this->getNodeForPath($sourcePath); - - // grab the dirname and basename components - list($destinationDir, $destinationName) = Sabre_DAV_URLUtil::splitPath($destinationPath); - - $destinationParent = $this->getNodeForPath($destinationDir); - $this->copyNode($sourceNode,$destinationParent,$destinationName); - - $this->markDirty($destinationDir); - - } - - /** - * Moves a file from one location to another - * - * @param string $sourcePath The path to the file which should be moved - * @param string $destinationPath The full destination path, so not just the destination parent node - * @return int - */ - public function move($sourcePath, $destinationPath) { - - list($sourceDir, $sourceName) = Sabre_DAV_URLUtil::splitPath($sourcePath); - list($destinationDir, $destinationName) = Sabre_DAV_URLUtil::splitPath($destinationPath); - - if ($sourceDir===$destinationDir) { - $renameable = $this->getNodeForPath($sourcePath); - $renameable->setName($destinationName); - } else { - $this->copy($sourcePath,$destinationPath); - $this->getNodeForPath($sourcePath)->delete(); - } - $this->markDirty($sourceDir); - $this->markDirty($destinationDir); - - } - - /** - * Deletes a node from the tree - * - * @param string $path - * @return void - */ - public function delete($path) { - - $node = $this->getNodeForPath($path); - $node->delete(); - - list($parent) = Sabre_DAV_URLUtil::splitPath($path); - $this->markDirty($parent); - - } - - /** - * Returns a list of childnodes for a given path. - * - * @param string $path - * @return array - */ - public function getChildren($path) { - - $node = $this->getNodeForPath($path); - return $node->getChildren(); - - } - - /** - * This method is called with every tree update - * - * Examples of tree updates are: - * * node deletions - * * node creations - * * copy - * * move - * * renaming nodes - * - * If Tree classes implement a form of caching, this will allow - * them to make sure caches will be expired. - * - * If a path is passed, it is assumed that the entire subtree is dirty - * - * @param string $path - * @return void - */ - public function markDirty($path) { - - - } - - /** - * copyNode - * - * @param Sabre_DAV_INode $source - * @param Sabre_DAV_ICollection $destinationParent - * @param string $destinationName - * @return void - */ - protected function copyNode(Sabre_DAV_INode $source,Sabre_DAV_ICollection $destinationParent,$destinationName = null) { - - if (!$destinationName) $destinationName = $source->getName(); - - if ($source instanceof Sabre_DAV_IFile) { - - $data = $source->get(); - - // If the body was a string, we need to convert it to a stream - if (is_string($data)) { - $stream = fopen('php://temp','r+'); - fwrite($stream,$data); - rewind($stream); - $data = $stream; - } - $destinationParent->createFile($destinationName,$data); - $destination = $destinationParent->getChild($destinationName); - - } elseif ($source instanceof Sabre_DAV_ICollection) { - - $destinationParent->createDirectory($destinationName); - - $destination = $destinationParent->getChild($destinationName); - foreach($source->getChildren() as $child) { - - $this->copyNode($child,$destination); - - } - - } - if ($source instanceof Sabre_DAV_IProperties && $destination instanceof Sabre_DAV_IProperties) { - - $props = $source->getProperties(array()); - $destination->updateProperties($props); - - } - - } - -} - diff --git a/3rdparty/Sabre/DAV/Tree/Filesystem.php b/3rdparty/Sabre/DAV/Tree/Filesystem.php deleted file mode 100755 index 40580ae366fe235173661769fd408461e976e999..0000000000000000000000000000000000000000 --- a/3rdparty/Sabre/DAV/Tree/Filesystem.php +++ /dev/null @@ -1,123 +0,0 @@ -basePath = $basePath; - - } - - /** - * Returns a new node for the given path - * - * @param string $path - * @return Sabre_DAV_FS_Node - */ - public function getNodeForPath($path) { - - $realPath = $this->getRealPath($path); - if (!file_exists($realPath)) throw new Sabre_DAV_Exception_NotFound('File at location ' . $realPath . ' not found'); - if (is_dir($realPath)) { - return new Sabre_DAV_FS_Directory($realPath); - } else { - return new Sabre_DAV_FS_File($realPath); - } - - } - - /** - * Returns the real filesystem path for a webdav url. - * - * @param string $publicPath - * @return string - */ - protected function getRealPath($publicPath) { - - return rtrim($this->basePath,'/') . '/' . trim($publicPath,'/'); - - } - - /** - * Copies a file or directory. - * - * This method must work recursively and delete the destination - * if it exists - * - * @param string $source - * @param string $destination - * @return void - */ - public function copy($source,$destination) { - - $source = $this->getRealPath($source); - $destination = $this->getRealPath($destination); - $this->realCopy($source,$destination); - - } - - /** - * Used by self::copy - * - * @param string $source - * @param string $destination - * @return void - */ - protected function realCopy($source,$destination) { - - if (is_file($source)) { - copy($source,$destination); - } else { - mkdir($destination); - foreach(scandir($source) as $subnode) { - - if ($subnode=='.' || $subnode=='..') continue; - $this->realCopy($source.'/'.$subnode,$destination.'/'.$subnode); - - } - } - - } - - /** - * Moves a file or directory recursively. - * - * If the destination exists, delete it first. - * - * @param string $source - * @param string $destination - * @return void - */ - public function move($source,$destination) { - - $source = $this->getRealPath($source); - $destination = $this->getRealPath($destination); - rename($source,$destination); - - } - -} - diff --git a/3rdparty/Sabre/DAV/URLUtil.php b/3rdparty/Sabre/DAV/URLUtil.php deleted file mode 100755 index 794665a44f68b0ef8fe9d8c7a15adc6841405fe3..0000000000000000000000000000000000000000 --- a/3rdparty/Sabre/DAV/URLUtil.php +++ /dev/null @@ -1,121 +0,0 @@ - - * will be returned as: - * {http://www.example.org}myelem - * - * This format is used throughout the SabreDAV sourcecode. - * Elements encoded with the urn:DAV namespace will - * be returned as if they were in the DAV: namespace. This is to avoid - * compatibility problems. - * - * This function will return null if a nodetype other than an Element is passed. - * - * @param DOMNode $dom - * @return string - */ - static function toClarkNotation(DOMNode $dom) { - - if ($dom->nodeType !== XML_ELEMENT_NODE) return null; - - // Mapping back to the real namespace, in case it was dav - if ($dom->namespaceURI=='urn:DAV') $ns = 'DAV:'; else $ns = $dom->namespaceURI; - - // Mapping to clark notation - return '{' . $ns . '}' . $dom->localName; - - } - - /** - * Parses a clark-notation string, and returns the namespace and element - * name components. - * - * If the string was invalid, it will throw an InvalidArgumentException. - * - * @param string $str - * @throws InvalidArgumentException - * @return array - */ - static function parseClarkNotation($str) { - - if (!preg_match('/^{([^}]*)}(.*)$/',$str,$matches)) { - throw new InvalidArgumentException('\'' . $str . '\' is not a valid clark-notation formatted string'); - } - - return array( - $matches[1], - $matches[2] - ); - - } - - /** - * This method takes an XML document (as string) and converts all instances of the - * DAV: namespace to urn:DAV - * - * This is unfortunately needed, because the DAV: namespace violates the xml namespaces - * spec, and causes the DOM to throw errors - * - * @param string $xmlDocument - * @return array|string|null - */ - static function convertDAVNamespace($xmlDocument) { - - // This is used to map the DAV: namespace to urn:DAV. This is needed, because the DAV: - // namespace is actually a violation of the XML namespaces specification, and will cause errors - return preg_replace("/xmlns(:[A-Za-z0-9_]*)?=(\"|\')DAV:(\\2)/","xmlns\\1=\\2urn:DAV\\2",$xmlDocument); - - } - - /** - * This method provides a generic way to load a DOMDocument for WebDAV use. - * - * This method throws a Sabre_DAV_Exception_BadRequest exception for any xml errors. - * It does not preserve whitespace, and it converts the DAV: namespace to urn:DAV. - * - * @param string $xml - * @throws Sabre_DAV_Exception_BadRequest - * @return DOMDocument - */ - static function loadDOMDocument($xml) { - - if (empty($xml)) - throw new Sabre_DAV_Exception_BadRequest('Empty XML document sent'); - - // The BitKinex client sends xml documents as UTF-16. PHP 5.3.1 (and presumably lower) - // does not support this, so we must intercept this and convert to UTF-8. - if (substr($xml,0,12) === "\x3c\x00\x3f\x00\x78\x00\x6d\x00\x6c\x00\x20\x00") { - - // Note: the preceeding byte sequence is "]*)encoding="UTF-16"([^>]*)>|u','',$xml); - - } - - // Retaining old error setting - $oldErrorSetting = libxml_use_internal_errors(true); - - // Clearing any previous errors - libxml_clear_errors(); - - $dom = new DOMDocument(); - $dom->loadXML(self::convertDAVNamespace($xml),LIBXML_NOWARNING | LIBXML_NOERROR); - - // We don't generally care about any whitespace - $dom->preserveWhiteSpace = false; - - if ($error = libxml_get_last_error()) { - libxml_clear_errors(); - throw new Sabre_DAV_Exception_BadRequest('The request body had an invalid XML body. (message: ' . $error->message . ', errorcode: ' . $error->code . ', line: ' . $error->line . ')'); - } - - // Restoring old mechanism for error handling - if ($oldErrorSetting===false) libxml_use_internal_errors(false); - - return $dom; - - } - - /** - * Parses all WebDAV properties out of a DOM Element - * - * Generally WebDAV properties are enclosed in {DAV:}prop elements. This - * method helps by going through all these and pulling out the actual - * propertynames, making them array keys and making the property values, - * well.. the array values. - * - * If no value was given (self-closing element) null will be used as the - * value. This is used in for example PROPFIND requests. - * - * Complex values are supported through the propertyMap argument. The - * propertyMap should have the clark-notation properties as it's keys, and - * classnames as values. - * - * When any of these properties are found, the unserialize() method will be - * (statically) called. The result of this method is used as the value. - * - * @param DOMElement $parentNode - * @param array $propertyMap - * @return array - */ - static function parseProperties(DOMElement $parentNode, array $propertyMap = array()) { - - $propList = array(); - foreach($parentNode->childNodes as $propNode) { - - if (Sabre_DAV_XMLUtil::toClarkNotation($propNode)!=='{DAV:}prop') continue; - - foreach($propNode->childNodes as $propNodeData) { - - /* If there are no elements in here, we actually get 1 text node, this special case is dedicated to netdrive */ - if ($propNodeData->nodeType != XML_ELEMENT_NODE) continue; - - $propertyName = Sabre_DAV_XMLUtil::toClarkNotation($propNodeData); - if (isset($propertyMap[$propertyName])) { - $propList[$propertyName] = call_user_func(array($propertyMap[$propertyName],'unserialize'),$propNodeData); - } else { - $propList[$propertyName] = $propNodeData->textContent; - } - } - - - } - return $propList; - - } - -} diff --git a/3rdparty/Sabre/DAV/includes.php b/3rdparty/Sabre/DAV/includes.php deleted file mode 100755 index 6a4890677ea2bdad500410eae9e47ee89f6b914e..0000000000000000000000000000000000000000 --- a/3rdparty/Sabre/DAV/includes.php +++ /dev/null @@ -1,97 +0,0 @@ -principalPrefix = $principalPrefix; - $this->principalBackend = $principalBackend; - - } - - /** - * This method returns a node for a principal. - * - * The passed array contains principal information, and is guaranteed to - * at least contain a uri item. Other properties may or may not be - * supplied by the authentication backend. - * - * @param array $principalInfo - * @return Sabre_DAVACL_IPrincipal - */ - abstract function getChildForPrincipal(array $principalInfo); - - /** - * Returns the name of this collection. - * - * @return string - */ - public function getName() { - - list(,$name) = Sabre_DAV_URLUtil::splitPath($this->principalPrefix); - return $name; - - } - - /** - * Return the list of users - * - * @return array - */ - public function getChildren() { - - if ($this->disableListing) - throw new Sabre_DAV_Exception_MethodNotAllowed('Listing members of this collection is disabled'); - - $children = array(); - foreach($this->principalBackend->getPrincipalsByPrefix($this->principalPrefix) as $principalInfo) { - - $children[] = $this->getChildForPrincipal($principalInfo); - - - } - return $children; - - } - - /** - * Returns a child object, by its name. - * - * @param string $name - * @throws Sabre_DAV_Exception_NotFound - * @return Sabre_DAV_IPrincipal - */ - public function getChild($name) { - - $principalInfo = $this->principalBackend->getPrincipalByPath($this->principalPrefix . '/' . $name); - if (!$principalInfo) throw new Sabre_DAV_Exception_NotFound('Principal with name ' . $name . ' not found'); - return $this->getChildForPrincipal($principalInfo); - - } - - /** - * This method is used to search for principals matching a set of - * properties. - * - * This search is specifically used by RFC3744's principal-property-search - * REPORT. You should at least allow searching on - * http://sabredav.org/ns}email-address. - * - * The actual search should be a unicode-non-case-sensitive search. The - * keys in searchProperties are the WebDAV property names, while the values - * are the property values to search on. - * - * If multiple properties are being searched on, the search should be - * AND'ed. - * - * This method should simply return a list of 'child names', which may be - * used to call $this->getChild in the future. - * - * @param array $searchProperties - * @return array - */ - public function searchPrincipals(array $searchProperties) { - - $result = $this->principalBackend->searchPrincipals($this->principalPrefix, $searchProperties); - $r = array(); - - foreach($result as $row) { - list(, $r[]) = Sabre_DAV_URLUtil::splitPath($row); - } - - return $r; - - } - -} diff --git a/3rdparty/Sabre/DAVACL/Exception/AceConflict.php b/3rdparty/Sabre/DAVACL/Exception/AceConflict.php deleted file mode 100755 index 4b9f93b003631770b295bcd0937db863d2971383..0000000000000000000000000000000000000000 --- a/3rdparty/Sabre/DAVACL/Exception/AceConflict.php +++ /dev/null @@ -1,32 +0,0 @@ -ownerDocument; - - $np = $doc->createElementNS('DAV:','d:no-ace-conflict'); - $errorNode->appendChild($np); - - } - -} diff --git a/3rdparty/Sabre/DAVACL/Exception/NeedPrivileges.php b/3rdparty/Sabre/DAVACL/Exception/NeedPrivileges.php deleted file mode 100755 index 9b055dd9709ec8a9db6df77c98c9523fec426f52..0000000000000000000000000000000000000000 --- a/3rdparty/Sabre/DAVACL/Exception/NeedPrivileges.php +++ /dev/null @@ -1,81 +0,0 @@ -uri = $uri; - $this->privileges = $privileges; - - parent::__construct('User did not have the required privileges (' . implode(',', $privileges) . ') for path "' . $uri . '"'); - - } - - /** - * Adds in extra information in the xml response. - * - * This method adds the {DAV:}need-privileges element as defined in rfc3744 - * - * @param Sabre_DAV_Server $server - * @param DOMElement $errorNode - * @return void - */ - public function serialize(Sabre_DAV_Server $server,DOMElement $errorNode) { - - $doc = $errorNode->ownerDocument; - - $np = $doc->createElementNS('DAV:','d:need-privileges'); - $errorNode->appendChild($np); - - foreach($this->privileges as $privilege) { - - $resource = $doc->createElementNS('DAV:','d:resource'); - $np->appendChild($resource); - - $resource->appendChild($doc->createElementNS('DAV:','d:href',$server->getBaseUri() . $this->uri)); - - $priv = $doc->createElementNS('DAV:','d:privilege'); - $resource->appendChild($priv); - - preg_match('/^{([^}]*)}(.*)$/',$privilege,$privilegeParts); - $priv->appendChild($doc->createElementNS($privilegeParts[1],'d:' . $privilegeParts[2])); - - - } - - } - -} - diff --git a/3rdparty/Sabre/DAVACL/Exception/NoAbstract.php b/3rdparty/Sabre/DAVACL/Exception/NoAbstract.php deleted file mode 100755 index f44e3e32281719878e0aa9819272fafaf09ff4f1..0000000000000000000000000000000000000000 --- a/3rdparty/Sabre/DAVACL/Exception/NoAbstract.php +++ /dev/null @@ -1,32 +0,0 @@ -ownerDocument; - - $np = $doc->createElementNS('DAV:','d:no-abstract'); - $errorNode->appendChild($np); - - } - -} diff --git a/3rdparty/Sabre/DAVACL/Exception/NotRecognizedPrincipal.php b/3rdparty/Sabre/DAVACL/Exception/NotRecognizedPrincipal.php deleted file mode 100755 index 8d1e38ca1b470d84d9ce38182bf02507c423b114..0000000000000000000000000000000000000000 --- a/3rdparty/Sabre/DAVACL/Exception/NotRecognizedPrincipal.php +++ /dev/null @@ -1,32 +0,0 @@ -ownerDocument; - - $np = $doc->createElementNS('DAV:','d:recognized-principal'); - $errorNode->appendChild($np); - - } - -} diff --git a/3rdparty/Sabre/DAVACL/Exception/NotSupportedPrivilege.php b/3rdparty/Sabre/DAVACL/Exception/NotSupportedPrivilege.php deleted file mode 100755 index 3b5d012d7fa25f35d7a5b8e6ad5a6dea005238cb..0000000000000000000000000000000000000000 --- a/3rdparty/Sabre/DAVACL/Exception/NotSupportedPrivilege.php +++ /dev/null @@ -1,32 +0,0 @@ -ownerDocument; - - $np = $doc->createElementNS('DAV:','d:not-supported-privilege'); - $errorNode->appendChild($np); - - } - -} diff --git a/3rdparty/Sabre/DAVACL/IACL.php b/3rdparty/Sabre/DAVACL/IACL.php deleted file mode 100755 index 003e69934834a3b4ef0780b51c723ab486120d40..0000000000000000000000000000000000000000 --- a/3rdparty/Sabre/DAVACL/IACL.php +++ /dev/null @@ -1,73 +0,0 @@ - array( - * '{DAV:}prop1' => null, - * ), - * 201 => array( - * '{DAV:}prop2' => null, - * ), - * 403 => array( - * '{DAV:}prop3' => null, - * ), - * 424 => array( - * '{DAV:}prop4' => null, - * ), - * ); - * - * In this previous example prop1 was successfully updated or deleted, and - * prop2 was succesfully created. - * - * prop3 failed to update due to '403 Forbidden' and because of this prop4 - * also could not be updated with '424 Failed dependency'. - * - * This last example was actually incorrect. While 200 and 201 could appear - * in 1 response, if there's any error (403) the other properties should - * always fail with 423 (failed dependency). - * - * But anyway, if you don't want to scratch your head over this, just - * return true or false. - * - * @param string $path - * @param array $mutations - * @return array|bool - */ - function updatePrincipal($path, $mutations); - - /** - * This method is used to search for principals matching a set of - * properties. - * - * This search is specifically used by RFC3744's principal-property-search - * REPORT. You should at least allow searching on - * http://sabredav.org/ns}email-address. - * - * The actual search should be a unicode-non-case-sensitive search. The - * keys in searchProperties are the WebDAV property names, while the values - * are the property values to search on. - * - * If multiple properties are being searched on, the search should be - * AND'ed. - * - * This method should simply return an array with full principal uri's. - * - * If somebody attempted to search on a property the backend does not - * support, you should simply return 0 results. - * - * You can also just return 0 results if you choose to not support - * searching at all, but keep in mind that this may stop certain features - * from working. - * - * @param string $prefixPath - * @param array $searchProperties - * @return array - */ - function searchPrincipals($prefixPath, array $searchProperties); - - /** - * Returns the list of members for a group-principal - * - * @param string $principal - * @return array - */ - function getGroupMemberSet($principal); - - /** - * Returns the list of groups a principal is a member of - * - * @param string $principal - * @return array - */ - function getGroupMembership($principal); - - /** - * Updates the list of group members for a group principal. - * - * The principals should be passed as a list of uri's. - * - * @param string $principal - * @param array $members - * @return void - */ - function setGroupMemberSet($principal, array $members); - -} diff --git a/3rdparty/Sabre/DAVACL/Plugin.php b/3rdparty/Sabre/DAVACL/Plugin.php deleted file mode 100755 index 5c828c6d97be4f0cfc1273303daacc2284c432b6..0000000000000000000000000000000000000000 --- a/3rdparty/Sabre/DAVACL/Plugin.php +++ /dev/null @@ -1,1348 +0,0 @@ - 'Display name', - '{http://sabredav.org/ns}email-address' => 'Email address', - ); - - /** - * Any principal uri's added here, will automatically be added to the list - * of ACL's. They will effectively receive {DAV:}all privileges, as a - * protected privilege. - * - * @var array - */ - public $adminPrincipals = array(); - - /** - * Returns a list of features added by this plugin. - * - * This list is used in the response of a HTTP OPTIONS request. - * - * @return array - */ - public function getFeatures() { - - return array('access-control'); - - } - - /** - * Returns a list of available methods for a given url - * - * @param string $uri - * @return array - */ - public function getMethods($uri) { - - return array('ACL'); - - } - - /** - * Returns a plugin name. - * - * Using this name other plugins will be able to access other plugins - * using Sabre_DAV_Server::getPlugin - * - * @return string - */ - public function getPluginName() { - - return 'acl'; - - } - - /** - * Returns a list of reports this plugin supports. - * - * This will be used in the {DAV:}supported-report-set property. - * Note that you still need to subscribe to the 'report' event to actually - * implement them - * - * @param string $uri - * @return array - */ - public function getSupportedReportSet($uri) { - - return array( - '{DAV:}expand-property', - '{DAV:}principal-property-search', - '{DAV:}principal-search-property-set', - ); - - } - - - /** - * Checks if the current user has the specified privilege(s). - * - * You can specify a single privilege, or a list of privileges. - * This method will throw an exception if the privilege is not available - * and return true otherwise. - * - * @param string $uri - * @param array|string $privileges - * @param int $recursion - * @param bool $throwExceptions if set to false, this method won't through exceptions. - * @throws Sabre_DAVACL_Exception_NeedPrivileges - * @return bool - */ - public function checkPrivileges($uri, $privileges, $recursion = self::R_PARENT, $throwExceptions = true) { - - if (!is_array($privileges)) $privileges = array($privileges); - - $acl = $this->getCurrentUserPrivilegeSet($uri); - - if (is_null($acl)) { - if ($this->allowAccessToNodesWithoutACL) { - return true; - } else { - if ($throwExceptions) - throw new Sabre_DAVACL_Exception_NeedPrivileges($uri,$privileges); - else - return false; - - } - } - - $failed = array(); - foreach($privileges as $priv) { - - if (!in_array($priv, $acl)) { - $failed[] = $priv; - } - - } - - if ($failed) { - if ($throwExceptions) - throw new Sabre_DAVACL_Exception_NeedPrivileges($uri,$failed); - else - return false; - } - return true; - - } - - /** - * Returns the standard users' principal. - * - * This is one authorative principal url for the current user. - * This method will return null if the user wasn't logged in. - * - * @return string|null - */ - public function getCurrentUserPrincipal() { - - $authPlugin = $this->server->getPlugin('auth'); - if (is_null($authPlugin)) return null; - - $userName = $authPlugin->getCurrentUser(); - if (!$userName) return null; - - return $this->defaultUsernamePath . '/' . $userName; - - } - - /** - * Returns a list of principals that's associated to the current - * user, either directly or through group membership. - * - * @return array - */ - public function getCurrentUserPrincipals() { - - $currentUser = $this->getCurrentUserPrincipal(); - - if (is_null($currentUser)) return array(); - - $check = array($currentUser); - $principals = array($currentUser); - - while(count($check)) { - - $principal = array_shift($check); - - $node = $this->server->tree->getNodeForPath($principal); - if ($node instanceof Sabre_DAVACL_IPrincipal) { - foreach($node->getGroupMembership() as $groupMember) { - - if (!in_array($groupMember, $principals)) { - - $check[] = $groupMember; - $principals[] = $groupMember; - - } - - } - - } - - } - - return $principals; - - } - - /** - * Returns the supported privilege structure for this ACL plugin. - * - * See RFC3744 for more details. Currently we default on a simple, - * standard structure. - * - * You can either get the list of privileges by a uri (path) or by - * specifying a Node. - * - * @param string|Sabre_DAV_INode $node - * @return array - */ - public function getSupportedPrivilegeSet($node) { - - if (is_string($node)) { - $node = $this->server->tree->getNodeForPath($node); - } - - if ($node instanceof Sabre_DAVACL_IACL) { - $result = $node->getSupportedPrivilegeSet(); - - if ($result) - return $result; - } - - return self::getDefaultSupportedPrivilegeSet(); - - } - - /** - * Returns a fairly standard set of privileges, which may be useful for - * other systems to use as a basis. - * - * @return array - */ - static function getDefaultSupportedPrivilegeSet() { - - return array( - 'privilege' => '{DAV:}all', - 'abstract' => true, - 'aggregates' => array( - array( - 'privilege' => '{DAV:}read', - 'aggregates' => array( - array( - 'privilege' => '{DAV:}read-acl', - 'abstract' => true, - ), - array( - 'privilege' => '{DAV:}read-current-user-privilege-set', - 'abstract' => true, - ), - ), - ), // {DAV:}read - array( - 'privilege' => '{DAV:}write', - 'aggregates' => array( - array( - 'privilege' => '{DAV:}write-acl', - 'abstract' => true, - ), - array( - 'privilege' => '{DAV:}write-properties', - 'abstract' => true, - ), - array( - 'privilege' => '{DAV:}write-content', - 'abstract' => true, - ), - array( - 'privilege' => '{DAV:}bind', - 'abstract' => true, - ), - array( - 'privilege' => '{DAV:}unbind', - 'abstract' => true, - ), - array( - 'privilege' => '{DAV:}unlock', - 'abstract' => true, - ), - ), - ), // {DAV:}write - ), - ); // {DAV:}all - - } - - /** - * Returns the supported privilege set as a flat list - * - * This is much easier to parse. - * - * The returned list will be index by privilege name. - * The value is a struct containing the following properties: - * - aggregates - * - abstract - * - concrete - * - * @param string|Sabre_DAV_INode $node - * @return array - */ - final public function getFlatPrivilegeSet($node) { - - $privs = $this->getSupportedPrivilegeSet($node); - - $flat = array(); - $this->getFPSTraverse($privs, null, $flat); - - return $flat; - - } - - /** - * Traverses the privilege set tree for reordering - * - * This function is solely used by getFlatPrivilegeSet, and would have been - * a closure if it wasn't for the fact I need to support PHP 5.2. - * - * @param array $priv - * @param $concrete - * @param array $flat - * @return void - */ - final private function getFPSTraverse($priv, $concrete, &$flat) { - - $myPriv = array( - 'privilege' => $priv['privilege'], - 'abstract' => isset($priv['abstract']) && $priv['abstract'], - 'aggregates' => array(), - 'concrete' => isset($priv['abstract']) && $priv['abstract']?$concrete:$priv['privilege'], - ); - - if (isset($priv['aggregates'])) - foreach($priv['aggregates'] as $subPriv) $myPriv['aggregates'][] = $subPriv['privilege']; - - $flat[$priv['privilege']] = $myPriv; - - if (isset($priv['aggregates'])) { - - foreach($priv['aggregates'] as $subPriv) { - - $this->getFPSTraverse($subPriv, $myPriv['concrete'], $flat); - - } - - } - - } - - /** - * Returns the full ACL list. - * - * Either a uri or a Sabre_DAV_INode may be passed. - * - * null will be returned if the node doesn't support ACLs. - * - * @param string|Sabre_DAV_INode $node - * @return array - */ - public function getACL($node) { - - if (is_string($node)) { - $node = $this->server->tree->getNodeForPath($node); - } - if (!$node instanceof Sabre_DAVACL_IACL) { - return null; - } - $acl = $node->getACL(); - foreach($this->adminPrincipals as $adminPrincipal) { - $acl[] = array( - 'principal' => $adminPrincipal, - 'privilege' => '{DAV:}all', - 'protected' => true, - ); - } - return $acl; - - } - - /** - * Returns a list of privileges the current user has - * on a particular node. - * - * Either a uri or a Sabre_DAV_INode may be passed. - * - * null will be returned if the node doesn't support ACLs. - * - * @param string|Sabre_DAV_INode $node - * @return array - */ - public function getCurrentUserPrivilegeSet($node) { - - if (is_string($node)) { - $node = $this->server->tree->getNodeForPath($node); - } - - $acl = $this->getACL($node); - - if (is_null($acl)) return null; - - $principals = $this->getCurrentUserPrincipals(); - - $collected = array(); - - foreach($acl as $ace) { - - $principal = $ace['principal']; - - switch($principal) { - - case '{DAV:}owner' : - $owner = $node->getOwner(); - if ($owner && in_array($owner, $principals)) { - $collected[] = $ace; - } - break; - - - // 'all' matches for every user - case '{DAV:}all' : - - // 'authenticated' matched for every user that's logged in. - // Since it's not possible to use ACL while not being logged - // in, this is also always true. - case '{DAV:}authenticated' : - $collected[] = $ace; - break; - - // 'unauthenticated' can never occur either, so we simply - // ignore these. - case '{DAV:}unauthenticated' : - break; - - default : - if (in_array($ace['principal'], $principals)) { - $collected[] = $ace; - } - break; - - } - - - - } - - // Now we deduct all aggregated privileges. - $flat = $this->getFlatPrivilegeSet($node); - - $collected2 = array(); - while(count($collected)) { - - $current = array_pop($collected); - $collected2[] = $current['privilege']; - - foreach($flat[$current['privilege']]['aggregates'] as $subPriv) { - $collected2[] = $subPriv; - $collected[] = $flat[$subPriv]; - } - - } - - return array_values(array_unique($collected2)); - - } - - /** - * Principal property search - * - * This method can search for principals matching certain values in - * properties. - * - * This method will return a list of properties for the matched properties. - * - * @param array $searchProperties The properties to search on. This is a - * key-value list. The keys are property - * names, and the values the strings to - * match them on. - * @param array $requestedProperties This is the list of properties to - * return for every match. - * @param string $collectionUri The principal collection to search on. - * If this is ommitted, the standard - * principal collection-set will be used. - * @return array This method returns an array structure similar to - * Sabre_DAV_Server::getPropertiesForPath. Returned - * properties are index by a HTTP status code. - * - */ - public function principalSearch(array $searchProperties, array $requestedProperties, $collectionUri = null) { - - if (!is_null($collectionUri)) { - $uris = array($collectionUri); - } else { - $uris = $this->principalCollectionSet; - } - - $lookupResults = array(); - foreach($uris as $uri) { - - $principalCollection = $this->server->tree->getNodeForPath($uri); - if (!$principalCollection instanceof Sabre_DAVACL_AbstractPrincipalCollection) { - // Not a principal collection, we're simply going to ignore - // this. - continue; - } - - $results = $principalCollection->searchPrincipals($searchProperties); - foreach($results as $result) { - $lookupResults[] = rtrim($uri,'/') . '/' . $result; - } - - } - - $matches = array(); - - foreach($lookupResults as $lookupResult) { - - list($matches[]) = $this->server->getPropertiesForPath($lookupResult, $requestedProperties, 0); - - } - - return $matches; - - } - - /** - * Sets up the plugin - * - * This method is automatically called by the server class. - * - * @param Sabre_DAV_Server $server - * @return void - */ - public function initialize(Sabre_DAV_Server $server) { - - $this->server = $server; - $server->subscribeEvent('beforeGetProperties',array($this,'beforeGetProperties')); - - $server->subscribeEvent('beforeMethod', array($this,'beforeMethod'),20); - $server->subscribeEvent('beforeBind', array($this,'beforeBind'),20); - $server->subscribeEvent('beforeUnbind', array($this,'beforeUnbind'),20); - $server->subscribeEvent('updateProperties',array($this,'updateProperties')); - $server->subscribeEvent('beforeUnlock', array($this,'beforeUnlock'),20); - $server->subscribeEvent('report',array($this,'report')); - $server->subscribeEvent('unknownMethod', array($this, 'unknownMethod')); - - array_push($server->protectedProperties, - '{DAV:}alternate-URI-set', - '{DAV:}principal-URL', - '{DAV:}group-membership', - '{DAV:}principal-collection-set', - '{DAV:}current-user-principal', - '{DAV:}supported-privilege-set', - '{DAV:}current-user-privilege-set', - '{DAV:}acl', - '{DAV:}acl-restrictions', - '{DAV:}inherited-acl-set', - '{DAV:}owner', - '{DAV:}group' - ); - - // Automatically mapping nodes implementing IPrincipal to the - // {DAV:}principal resourcetype. - $server->resourceTypeMapping['Sabre_DAVACL_IPrincipal'] = '{DAV:}principal'; - - // Mapping the group-member-set property to the HrefList property - // class. - $server->propertyMap['{DAV:}group-member-set'] = 'Sabre_DAV_Property_HrefList'; - - } - - - /* {{{ Event handlers */ - - /** - * Triggered before any method is handled - * - * @param string $method - * @param string $uri - * @return void - */ - public function beforeMethod($method, $uri) { - - $exists = $this->server->tree->nodeExists($uri); - - // If the node doesn't exists, none of these checks apply - if (!$exists) return; - - switch($method) { - - case 'GET' : - case 'HEAD' : - case 'OPTIONS' : - // For these 3 we only need to know if the node is readable. - $this->checkPrivileges($uri,'{DAV:}read'); - break; - - case 'PUT' : - case 'LOCK' : - case 'UNLOCK' : - // This method requires the write-content priv if the node - // already exists, and bind on the parent if the node is being - // created. - // The bind privilege is handled in the beforeBind event. - $this->checkPrivileges($uri,'{DAV:}write-content'); - break; - - - case 'PROPPATCH' : - $this->checkPrivileges($uri,'{DAV:}write-properties'); - break; - - case 'ACL' : - $this->checkPrivileges($uri,'{DAV:}write-acl'); - break; - - case 'COPY' : - case 'MOVE' : - // Copy requires read privileges on the entire source tree. - // If the target exists write-content normally needs to be - // checked, however, we're deleting the node beforehand and - // creating a new one after, so this is handled by the - // beforeUnbind event. - // - // The creation of the new node is handled by the beforeBind - // event. - // - // If MOVE is used beforeUnbind will also be used to check if - // the sourcenode can be deleted. - $this->checkPrivileges($uri,'{DAV:}read',self::R_RECURSIVE); - - break; - - } - - } - - /** - * Triggered before a new node is created. - * - * This allows us to check permissions for any operation that creates a - * new node, such as PUT, MKCOL, MKCALENDAR, LOCK, COPY and MOVE. - * - * @param string $uri - * @return void - */ - public function beforeBind($uri) { - - list($parentUri,$nodeName) = Sabre_DAV_URLUtil::splitPath($uri); - $this->checkPrivileges($parentUri,'{DAV:}bind'); - - } - - /** - * Triggered before a node is deleted - * - * This allows us to check permissions for any operation that will delete - * an existing node. - * - * @param string $uri - * @return void - */ - public function beforeUnbind($uri) { - - list($parentUri,$nodeName) = Sabre_DAV_URLUtil::splitPath($uri); - $this->checkPrivileges($parentUri,'{DAV:}unbind',self::R_RECURSIVEPARENTS); - - } - - /** - * Triggered before a node is unlocked. - * - * @param string $uri - * @param Sabre_DAV_Locks_LockInfo $lock - * @TODO: not yet implemented - * @return void - */ - public function beforeUnlock($uri, Sabre_DAV_Locks_LockInfo $lock) { - - - } - - /** - * Triggered before properties are looked up in specific nodes. - * - * @param string $uri - * @param Sabre_DAV_INode $node - * @param array $requestedProperties - * @param array $returnedProperties - * @TODO really should be broken into multiple methods, or even a class. - * @return void - */ - public function beforeGetProperties($uri, Sabre_DAV_INode $node, &$requestedProperties, &$returnedProperties) { - - // Checking the read permission - if (!$this->checkPrivileges($uri,'{DAV:}read',self::R_PARENT,false)) { - - // User is not allowed to read properties - if ($this->hideNodesFromListings) { - return false; - } - - // Marking all requested properties as '403'. - foreach($requestedProperties as $key=>$requestedProperty) { - unset($requestedProperties[$key]); - $returnedProperties[403][$requestedProperty] = null; - } - return; - - } - - /* Adding principal properties */ - if ($node instanceof Sabre_DAVACL_IPrincipal) { - - if (false !== ($index = array_search('{DAV:}alternate-URI-set', $requestedProperties))) { - - unset($requestedProperties[$index]); - $returnedProperties[200]['{DAV:}alternate-URI-set'] = new Sabre_DAV_Property_HrefList($node->getAlternateUriSet()); - - } - if (false !== ($index = array_search('{DAV:}principal-URL', $requestedProperties))) { - - unset($requestedProperties[$index]); - $returnedProperties[200]['{DAV:}principal-URL'] = new Sabre_DAV_Property_Href($node->getPrincipalUrl() . '/'); - - } - if (false !== ($index = array_search('{DAV:}group-member-set', $requestedProperties))) { - - unset($requestedProperties[$index]); - $returnedProperties[200]['{DAV:}group-member-set'] = new Sabre_DAV_Property_HrefList($node->getGroupMemberSet()); - - } - if (false !== ($index = array_search('{DAV:}group-membership', $requestedProperties))) { - - unset($requestedProperties[$index]); - $returnedProperties[200]['{DAV:}group-membership'] = new Sabre_DAV_Property_HrefList($node->getGroupMembership()); - - } - - if (false !== ($index = array_search('{DAV:}displayname', $requestedProperties))) { - - $returnedProperties[200]['{DAV:}displayname'] = $node->getDisplayName(); - - } - - } - if (false !== ($index = array_search('{DAV:}principal-collection-set', $requestedProperties))) { - - unset($requestedProperties[$index]); - $val = $this->principalCollectionSet; - // Ensuring all collections end with a slash - foreach($val as $k=>$v) $val[$k] = $v . '/'; - $returnedProperties[200]['{DAV:}principal-collection-set'] = new Sabre_DAV_Property_HrefList($val); - - } - if (false !== ($index = array_search('{DAV:}current-user-principal', $requestedProperties))) { - - unset($requestedProperties[$index]); - if ($url = $this->getCurrentUserPrincipal()) { - $returnedProperties[200]['{DAV:}current-user-principal'] = new Sabre_DAVACL_Property_Principal(Sabre_DAVACL_Property_Principal::HREF, $url . '/'); - } else { - $returnedProperties[200]['{DAV:}current-user-principal'] = new Sabre_DAVACL_Property_Principal(Sabre_DAVACL_Property_Principal::UNAUTHENTICATED); - } - - } - if (false !== ($index = array_search('{DAV:}supported-privilege-set', $requestedProperties))) { - - unset($requestedProperties[$index]); - $returnedProperties[200]['{DAV:}supported-privilege-set'] = new Sabre_DAVACL_Property_SupportedPrivilegeSet($this->getSupportedPrivilegeSet($node)); - - } - if (false !== ($index = array_search('{DAV:}current-user-privilege-set', $requestedProperties))) { - - if (!$this->checkPrivileges($uri, '{DAV:}read-current-user-privilege-set', self::R_PARENT, false)) { - $returnedProperties[403]['{DAV:}current-user-privilege-set'] = null; - unset($requestedProperties[$index]); - } else { - $val = $this->getCurrentUserPrivilegeSet($node); - if (!is_null($val)) { - unset($requestedProperties[$index]); - $returnedProperties[200]['{DAV:}current-user-privilege-set'] = new Sabre_DAVACL_Property_CurrentUserPrivilegeSet($val); - } - } - - } - - /* The ACL property contains all the permissions */ - if (false !== ($index = array_search('{DAV:}acl', $requestedProperties))) { - - if (!$this->checkPrivileges($uri, '{DAV:}read-acl', self::R_PARENT, false)) { - - unset($requestedProperties[$index]); - $returnedProperties[403]['{DAV:}acl'] = null; - - } else { - - $acl = $this->getACL($node); - if (!is_null($acl)) { - unset($requestedProperties[$index]); - $returnedProperties[200]['{DAV:}acl'] = new Sabre_DAVACL_Property_Acl($this->getACL($node)); - } - - } - - } - - /* The acl-restrictions property contains information on how privileges - * must behave. - */ - if (false !== ($index = array_search('{DAV:}acl-restrictions', $requestedProperties))) { - unset($requestedProperties[$index]); - $returnedProperties[200]['{DAV:}acl-restrictions'] = new Sabre_DAVACL_Property_AclRestrictions(); - } - - } - - /** - * This method intercepts PROPPATCH methods and make sure the - * group-member-set is updated correctly. - * - * @param array $propertyDelta - * @param array $result - * @param Sabre_DAV_INode $node - * @return bool - */ - public function updateProperties(&$propertyDelta, &$result, Sabre_DAV_INode $node) { - - if (!array_key_exists('{DAV:}group-member-set', $propertyDelta)) - return; - - if (is_null($propertyDelta['{DAV:}group-member-set'])) { - $memberSet = array(); - } elseif ($propertyDelta['{DAV:}group-member-set'] instanceof Sabre_DAV_Property_HrefList) { - $memberSet = $propertyDelta['{DAV:}group-member-set']->getHrefs(); - } else { - throw new Sabre_DAV_Exception('The group-member-set property MUST be an instance of Sabre_DAV_Property_HrefList or null'); - } - - if (!($node instanceof Sabre_DAVACL_IPrincipal)) { - $result[403]['{DAV:}group-member-set'] = null; - unset($propertyDelta['{DAV:}group-member-set']); - - // Returning false will stop the updateProperties process - return false; - } - - $node->setGroupMemberSet($memberSet); - - $result[200]['{DAV:}group-member-set'] = null; - unset($propertyDelta['{DAV:}group-member-set']); - - } - - /** - * This method handels HTTP REPORT requests - * - * @param string $reportName - * @param DOMNode $dom - * @return bool - */ - public function report($reportName, $dom) { - - switch($reportName) { - - case '{DAV:}principal-property-search' : - $this->principalPropertySearchReport($dom); - return false; - case '{DAV:}principal-search-property-set' : - $this->principalSearchPropertySetReport($dom); - return false; - case '{DAV:}expand-property' : - $this->expandPropertyReport($dom); - return false; - - } - - } - - /** - * This event is triggered for any HTTP method that is not known by the - * webserver. - * - * @param string $method - * @param string $uri - * @return bool - */ - public function unknownMethod($method, $uri) { - - if ($method!=='ACL') return; - - $this->httpACL($uri); - return false; - - } - - /** - * This method is responsible for handling the 'ACL' event. - * - * @param string $uri - * @return void - */ - public function httpACL($uri) { - - $body = $this->server->httpRequest->getBody(true); - $dom = Sabre_DAV_XMLUtil::loadDOMDocument($body); - - $newAcl = - Sabre_DAVACL_Property_Acl::unserialize($dom->firstChild) - ->getPrivileges(); - - // Normalizing urls - foreach($newAcl as $k=>$newAce) { - $newAcl[$k]['principal'] = $this->server->calculateUri($newAce['principal']); - } - - $node = $this->server->tree->getNodeForPath($uri); - - if (!($node instanceof Sabre_DAVACL_IACL)) { - throw new Sabre_DAV_Exception_MethodNotAllowed('This node does not support the ACL method'); - } - - $oldAcl = $this->getACL($node); - - $supportedPrivileges = $this->getFlatPrivilegeSet($node); - - /* Checking if protected principals from the existing principal set are - not overwritten. */ - foreach($oldAcl as $oldAce) { - - if (!isset($oldAce['protected']) || !$oldAce['protected']) continue; - - $found = false; - foreach($newAcl as $newAce) { - if ( - $newAce['privilege'] === $oldAce['privilege'] && - $newAce['principal'] === $oldAce['principal'] && - $newAce['protected'] - ) - $found = true; - } - - if (!$found) - throw new Sabre_DAVACL_Exception_AceConflict('This resource contained a protected {DAV:}ace, but this privilege did not occur in the ACL request'); - - } - - foreach($newAcl as $newAce) { - - // Do we recognize the privilege - if (!isset($supportedPrivileges[$newAce['privilege']])) { - throw new Sabre_DAVACL_Exception_NotSupportedPrivilege('The privilege you specified (' . $newAce['privilege'] . ') is not recognized by this server'); - } - - if ($supportedPrivileges[$newAce['privilege']]['abstract']) { - throw new Sabre_DAVACL_Exception_NoAbstract('The privilege you specified (' . $newAce['privilege'] . ') is an abstract privilege'); - } - - // Looking up the principal - try { - $principal = $this->server->tree->getNodeForPath($newAce['principal']); - } catch (Sabre_DAV_Exception_NotFound $e) { - throw new Sabre_DAVACL_Exception_NotRecognizedPrincipal('The specified principal (' . $newAce['principal'] . ') does not exist'); - } - if (!($principal instanceof Sabre_DAVACL_IPrincipal)) { - throw new Sabre_DAVACL_Exception_NotRecognizedPrincipal('The specified uri (' . $newAce['principal'] . ') is not a principal'); - } - - } - $node->setACL($newAcl); - - } - - /* }}} */ - - /* Reports {{{ */ - - /** - * The expand-property report is defined in RFC3253 section 3-8. - * - * This report is very similar to a standard PROPFIND. The difference is - * that it has the additional ability to look at properties containing a - * {DAV:}href element, follow that property and grab additional elements - * there. - * - * Other rfc's, such as ACL rely on this report, so it made sense to put - * it in this plugin. - * - * @param DOMElement $dom - * @return void - */ - protected function expandPropertyReport($dom) { - - $requestedProperties = $this->parseExpandPropertyReportRequest($dom->firstChild->firstChild); - $depth = $this->server->getHTTPDepth(0); - $requestUri = $this->server->getRequestUri(); - - $result = $this->expandProperties($requestUri,$requestedProperties,$depth); - - $dom = new DOMDocument('1.0','utf-8'); - $dom->formatOutput = true; - $multiStatus = $dom->createElement('d:multistatus'); - $dom->appendChild($multiStatus); - - // Adding in default namespaces - foreach($this->server->xmlNamespaces as $namespace=>$prefix) { - - $multiStatus->setAttribute('xmlns:' . $prefix,$namespace); - - } - - foreach($result as $response) { - $response->serialize($this->server, $multiStatus); - } - - $xml = $dom->saveXML(); - $this->server->httpResponse->setHeader('Content-Type','application/xml; charset=utf-8'); - $this->server->httpResponse->sendStatus(207); - $this->server->httpResponse->sendBody($xml); - - } - - /** - * This method is used by expandPropertyReport to parse - * out the entire HTTP request. - * - * @param DOMElement $node - * @return array - */ - protected function parseExpandPropertyReportRequest($node) { - - $requestedProperties = array(); - do { - - if (Sabre_DAV_XMLUtil::toClarkNotation($node)!=='{DAV:}property') continue; - - if ($node->firstChild) { - - $children = $this->parseExpandPropertyReportRequest($node->firstChild); - - } else { - - $children = array(); - - } - - $namespace = $node->getAttribute('namespace'); - if (!$namespace) $namespace = 'DAV:'; - - $propName = '{'.$namespace.'}' . $node->getAttribute('name'); - $requestedProperties[$propName] = $children; - - } while ($node = $node->nextSibling); - - return $requestedProperties; - - } - - /** - * This method expands all the properties and returns - * a list with property values - * - * @param array $path - * @param array $requestedProperties the list of required properties - * @param int $depth - * @return array - */ - protected function expandProperties($path, array $requestedProperties, $depth) { - - $foundProperties = $this->server->getPropertiesForPath($path, array_keys($requestedProperties), $depth); - - $result = array(); - - foreach($foundProperties as $node) { - - foreach($requestedProperties as $propertyName=>$childRequestedProperties) { - - // We're only traversing if sub-properties were requested - if(count($childRequestedProperties)===0) continue; - - // We only have to do the expansion if the property was found - // and it contains an href element. - if (!array_key_exists($propertyName,$node[200])) continue; - - if ($node[200][$propertyName] instanceof Sabre_DAV_Property_IHref) { - $hrefs = array($node[200][$propertyName]->getHref()); - } elseif ($node[200][$propertyName] instanceof Sabre_DAV_Property_HrefList) { - $hrefs = $node[200][$propertyName]->getHrefs(); - } - - $childProps = array(); - foreach($hrefs as $href) { - $childProps = array_merge($childProps, $this->expandProperties($href, $childRequestedProperties, 0)); - } - $node[200][$propertyName] = new Sabre_DAV_Property_ResponseList($childProps); - - } - $result[] = new Sabre_DAV_Property_Response($path, $node); - - } - - return $result; - - } - - /** - * principalSearchPropertySetReport - * - * This method responsible for handing the - * {DAV:}principal-search-property-set report. This report returns a list - * of properties the client may search on, using the - * {DAV:}principal-property-search report. - * - * @param DOMDocument $dom - * @return void - */ - protected function principalSearchPropertySetReport(DOMDocument $dom) { - - $httpDepth = $this->server->getHTTPDepth(0); - if ($httpDepth!==0) { - throw new Sabre_DAV_Exception_BadRequest('This report is only defined when Depth: 0'); - } - - if ($dom->firstChild->hasChildNodes()) - throw new Sabre_DAV_Exception_BadRequest('The principal-search-property-set report element is not allowed to have child elements'); - - $dom = new DOMDocument('1.0','utf-8'); - $dom->formatOutput = true; - $root = $dom->createElement('d:principal-search-property-set'); - $dom->appendChild($root); - // Adding in default namespaces - foreach($this->server->xmlNamespaces as $namespace=>$prefix) { - - $root->setAttribute('xmlns:' . $prefix,$namespace); - - } - - $nsList = $this->server->xmlNamespaces; - - foreach($this->principalSearchPropertySet as $propertyName=>$description) { - - $psp = $dom->createElement('d:principal-search-property'); - $root->appendChild($psp); - - $prop = $dom->createElement('d:prop'); - $psp->appendChild($prop); - - $propName = null; - preg_match('/^{([^}]*)}(.*)$/',$propertyName,$propName); - - $currentProperty = $dom->createElement($nsList[$propName[1]] . ':' . $propName[2]); - $prop->appendChild($currentProperty); - - $descriptionElem = $dom->createElement('d:description'); - $descriptionElem->setAttribute('xml:lang','en'); - $descriptionElem->appendChild($dom->createTextNode($description)); - $psp->appendChild($descriptionElem); - - - } - - $this->server->httpResponse->setHeader('Content-Type','application/xml; charset=utf-8'); - $this->server->httpResponse->sendStatus(200); - $this->server->httpResponse->sendBody($dom->saveXML()); - - } - - /** - * principalPropertySearchReport - * - * This method is responsible for handing the - * {DAV:}principal-property-search report. This report can be used for - * clients to search for groups of principals, based on the value of one - * or more properties. - * - * @param DOMDocument $dom - * @return void - */ - protected function principalPropertySearchReport(DOMDocument $dom) { - - list($searchProperties, $requestedProperties, $applyToPrincipalCollectionSet) = $this->parsePrincipalPropertySearchReportRequest($dom); - - $uri = null; - if (!$applyToPrincipalCollectionSet) { - $uri = $this->server->getRequestUri(); - } - $result = $this->principalSearch($searchProperties, $requestedProperties, $uri); - - $xml = $this->server->generateMultiStatus($result); - $this->server->httpResponse->setHeader('Content-Type','application/xml; charset=utf-8'); - $this->server->httpResponse->sendStatus(207); - $this->server->httpResponse->sendBody($xml); - - } - - /** - * parsePrincipalPropertySearchReportRequest - * - * This method parses the request body from a - * {DAV:}principal-property-search report. - * - * This method returns an array with two elements: - * 1. an array with properties to search on, and their values - * 2. a list of propertyvalues that should be returned for the request. - * - * @param DOMDocument $dom - * @return array - */ - protected function parsePrincipalPropertySearchReportRequest($dom) { - - $httpDepth = $this->server->getHTTPDepth(0); - if ($httpDepth!==0) { - throw new Sabre_DAV_Exception_BadRequest('This report is only defined when Depth: 0'); - } - - $searchProperties = array(); - - $applyToPrincipalCollectionSet = false; - - // Parsing the search request - foreach($dom->firstChild->childNodes as $searchNode) { - - if (Sabre_DAV_XMLUtil::toClarkNotation($searchNode) == '{DAV:}apply-to-principal-collection-set') { - $applyToPrincipalCollectionSet = true; - } - - if (Sabre_DAV_XMLUtil::toClarkNotation($searchNode)!=='{DAV:}property-search') - continue; - - $propertyName = null; - $propertyValue = null; - - foreach($searchNode->childNodes as $childNode) { - - switch(Sabre_DAV_XMLUtil::toClarkNotation($childNode)) { - - case '{DAV:}prop' : - $property = Sabre_DAV_XMLUtil::parseProperties($searchNode); - reset($property); - $propertyName = key($property); - break; - - case '{DAV:}match' : - $propertyValue = $childNode->textContent; - break; - - } - - - } - - if (is_null($propertyName) || is_null($propertyValue)) - throw new Sabre_DAV_Exception_BadRequest('Invalid search request. propertyname: ' . $propertyName . '. propertvvalue: ' . $propertyValue); - - $searchProperties[$propertyName] = $propertyValue; - - } - - return array($searchProperties, array_keys(Sabre_DAV_XMLUtil::parseProperties($dom->firstChild)), $applyToPrincipalCollectionSet); - - } - - - /* }}} */ - -} diff --git a/3rdparty/Sabre/DAVACL/Principal.php b/3rdparty/Sabre/DAVACL/Principal.php deleted file mode 100755 index 51c6658afd64ce3c626682208389965a1ddce361..0000000000000000000000000000000000000000 --- a/3rdparty/Sabre/DAVACL/Principal.php +++ /dev/null @@ -1,279 +0,0 @@ -principalBackend = $principalBackend; - $this->principalProperties = $principalProperties; - - } - - /** - * Returns the full principal url - * - * @return string - */ - public function getPrincipalUrl() { - - return $this->principalProperties['uri']; - - } - - /** - * Returns a list of alternative urls for a principal - * - * This can for example be an email address, or ldap url. - * - * @return array - */ - public function getAlternateUriSet() { - - $uris = array(); - if (isset($this->principalProperties['{DAV:}alternate-URI-set'])) { - - $uris = $this->principalProperties['{DAV:}alternate-URI-set']; - - } - - if (isset($this->principalProperties['{http://sabredav.org/ns}email-address'])) { - $uris[] = 'mailto:' . $this->principalProperties['{http://sabredav.org/ns}email-address']; - } - - return array_unique($uris); - - } - - /** - * Returns the list of group members - * - * If this principal is a group, this function should return - * all member principal uri's for the group. - * - * @return array - */ - public function getGroupMemberSet() { - - return $this->principalBackend->getGroupMemberSet($this->principalProperties['uri']); - - } - - /** - * Returns the list of groups this principal is member of - * - * If this principal is a member of a (list of) groups, this function - * should return a list of principal uri's for it's members. - * - * @return array - */ - public function getGroupMembership() { - - return $this->principalBackend->getGroupMemberShip($this->principalProperties['uri']); - - } - - - /** - * Sets a list of group members - * - * If this principal is a group, this method sets all the group members. - * The list of members is always overwritten, never appended to. - * - * This method should throw an exception if the members could not be set. - * - * @param array $groupMembers - * @return void - */ - public function setGroupMemberSet(array $groupMembers) { - - $this->principalBackend->setGroupMemberSet($this->principalProperties['uri'], $groupMembers); - - } - - - /** - * Returns this principals name. - * - * @return string - */ - public function getName() { - - $uri = $this->principalProperties['uri']; - list(, $name) = Sabre_DAV_URLUtil::splitPath($uri); - return $name; - - } - - /** - * Returns the name of the user - * - * @return string - */ - public function getDisplayName() { - - if (isset($this->principalProperties['{DAV:}displayname'])) { - return $this->principalProperties['{DAV:}displayname']; - } else { - return $this->getName(); - } - - } - - /** - * Returns a list of properties - * - * @param array $requestedProperties - * @return array - */ - public function getProperties($requestedProperties) { - - $newProperties = array(); - foreach($requestedProperties as $propName) { - - if (isset($this->principalProperties[$propName])) { - $newProperties[$propName] = $this->principalProperties[$propName]; - } - - } - - return $newProperties; - - } - - /** - * Updates this principals properties. - * - * @param array $mutations - * @see Sabre_DAV_IProperties::updateProperties - * @return bool|array - */ - public function updateProperties($mutations) { - - return $this->principalBackend->updatePrincipal($this->principalProperties['uri'], $mutations); - - } - - /** - * Returns the owner principal - * - * This must be a url to a principal, or null if there's no owner - * - * @return string|null - */ - public function getOwner() { - - return $this->principalProperties['uri']; - - - } - - /** - * Returns a group principal - * - * This must be a url to a principal, or null if there's no owner - * - * @return string|null - */ - public function getGroup() { - - return null; - - } - - /** - * Returns a list of ACE's for this node. - * - * Each ACE has the following properties: - * * 'privilege', a string such as {DAV:}read or {DAV:}write. These are - * currently the only supported privileges - * * 'principal', a url to the principal who owns the node - * * 'protected' (optional), indicating that this ACE is not allowed to - * be updated. - * - * @return array - */ - public function getACL() { - - return array( - array( - 'privilege' => '{DAV:}read', - 'principal' => $this->getPrincipalUrl(), - 'protected' => true, - ), - ); - - } - - /** - * Updates the ACL - * - * This method will receive a list of new ACE's. - * - * @param array $acl - * @return void - */ - public function setACL(array $acl) { - - throw new Sabre_DAV_Exception_MethodNotAllowed('Updating ACLs is not allowed here'); - - } - - /** - * Returns the list of supported privileges for this node. - * - * The returned data structure is a list of nested privileges. - * See Sabre_DAVACL_Plugin::getDefaultSupportedPrivilegeSet for a simple - * standard structure. - * - * If null is returned from this method, the default privilege set is used, - * which is fine for most common usecases. - * - * @return array|null - */ - public function getSupportedPrivilegeSet() { - - return null; - - } - -} diff --git a/3rdparty/Sabre/DAVACL/PrincipalBackend/PDO.php b/3rdparty/Sabre/DAVACL/PrincipalBackend/PDO.php deleted file mode 100755 index a76b4a9d7279dcaf47e7286eb718c237b6ca4d5a..0000000000000000000000000000000000000000 --- a/3rdparty/Sabre/DAVACL/PrincipalBackend/PDO.php +++ /dev/null @@ -1,427 +0,0 @@ - array( - 'dbField' => 'displayname', - ), - - /** - * This property is actually used by the CardDAV plugin, where it gets - * mapped to {http://calendarserver.orgi/ns/}me-card. - * - * The reason we don't straight-up use that property, is because - * me-card is defined as a property on the users' addressbook - * collection. - */ - '{http://sabredav.org/ns}vcard-url' => array( - 'dbField' => 'vcardurl', - ), - /** - * This is the users' primary email-address. - */ - '{http://sabredav.org/ns}email-address' => array( - 'dbField' => 'email', - ), - ); - - /** - * Sets up the backend. - * - * @param PDO $pdo - * @param string $tableName - * @param string $groupMembersTableName - */ - public function __construct(PDO $pdo, $tableName = 'principals', $groupMembersTableName = 'groupmembers') { - - $this->pdo = $pdo; - $this->tableName = $tableName; - $this->groupMembersTableName = $groupMembersTableName; - - } - - - /** - * Returns a list of principals based on a prefix. - * - * This prefix will often contain something like 'principals'. You are only - * expected to return principals that are in this base path. - * - * You are expected to return at least a 'uri' for every user, you can - * return any additional properties if you wish so. Common properties are: - * {DAV:}displayname - * {http://sabredav.org/ns}email-address - This is a custom SabreDAV - * field that's actualy injected in a number of other properties. If - * you have an email address, use this property. - * - * @param string $prefixPath - * @return array - */ - public function getPrincipalsByPrefix($prefixPath) { - - $fields = array( - 'uri', - ); - - foreach($this->fieldMap as $key=>$value) { - $fields[] = $value['dbField']; - } - $result = $this->pdo->query('SELECT '.implode(',', $fields).' FROM '. $this->tableName); - - $principals = array(); - - while($row = $result->fetch(PDO::FETCH_ASSOC)) { - - // Checking if the principal is in the prefix - list($rowPrefix) = Sabre_DAV_URLUtil::splitPath($row['uri']); - if ($rowPrefix !== $prefixPath) continue; - - $principal = array( - 'uri' => $row['uri'], - ); - foreach($this->fieldMap as $key=>$value) { - if ($row[$value['dbField']]) { - $principal[$key] = $row[$value['dbField']]; - } - } - $principals[] = $principal; - - } - - return $principals; - - } - - /** - * Returns a specific principal, specified by it's path. - * The returned structure should be the exact same as from - * getPrincipalsByPrefix. - * - * @param string $path - * @return array - */ - public function getPrincipalByPath($path) { - - $fields = array( - 'id', - 'uri', - ); - - foreach($this->fieldMap as $key=>$value) { - $fields[] = $value['dbField']; - } - $stmt = $this->pdo->prepare('SELECT '.implode(',', $fields).' FROM '. $this->tableName . ' WHERE uri = ?'); - $stmt->execute(array($path)); - - $row = $stmt->fetch(PDO::FETCH_ASSOC); - if (!$row) return; - - $principal = array( - 'id' => $row['id'], - 'uri' => $row['uri'], - ); - foreach($this->fieldMap as $key=>$value) { - if ($row[$value['dbField']]) { - $principal[$key] = $row[$value['dbField']]; - } - } - return $principal; - - } - - /** - * Updates one ore more webdav properties on a principal. - * - * The list of mutations is supplied as an array. Each key in the array is - * a propertyname, such as {DAV:}displayname. - * - * Each value is the actual value to be updated. If a value is null, it - * must be deleted. - * - * This method should be atomic. It must either completely succeed, or - * completely fail. Success and failure can simply be returned as 'true' or - * 'false'. - * - * It is also possible to return detailed failure information. In that case - * an array such as this should be returned: - * - * array( - * 200 => array( - * '{DAV:}prop1' => null, - * ), - * 201 => array( - * '{DAV:}prop2' => null, - * ), - * 403 => array( - * '{DAV:}prop3' => null, - * ), - * 424 => array( - * '{DAV:}prop4' => null, - * ), - * ); - * - * In this previous example prop1 was successfully updated or deleted, and - * prop2 was succesfully created. - * - * prop3 failed to update due to '403 Forbidden' and because of this prop4 - * also could not be updated with '424 Failed dependency'. - * - * This last example was actually incorrect. While 200 and 201 could appear - * in 1 response, if there's any error (403) the other properties should - * always fail with 423 (failed dependency). - * - * But anyway, if you don't want to scratch your head over this, just - * return true or false. - * - * @param string $path - * @param array $mutations - * @return array|bool - */ - public function updatePrincipal($path, $mutations) { - - $updateAble = array(); - foreach($mutations as $key=>$value) { - - // We are not aware of this field, we must fail. - if (!isset($this->fieldMap[$key])) { - - $response = array( - 403 => array( - $key => null, - ), - 424 => array(), - ); - - // Adding the rest to the response as a 424 - foreach($mutations as $subKey=>$subValue) { - if ($subKey !== $key) { - $response[424][$subKey] = null; - } - } - return $response; - } - - $updateAble[$this->fieldMap[$key]['dbField']] = $value; - - } - - // No fields to update - $query = "UPDATE " . $this->tableName . " SET "; - - $first = true; - foreach($updateAble as $key => $value) { - if (!$first) { - $query.= ', '; - } - $first = false; - $query.= "$key = :$key "; - } - $query.='WHERE uri = :uri'; - $stmt = $this->pdo->prepare($query); - $updateAble['uri'] = $path; - $stmt->execute($updateAble); - - return true; - - } - - /** - * This method is used to search for principals matching a set of - * properties. - * - * This search is specifically used by RFC3744's principal-property-search - * REPORT. You should at least allow searching on - * http://sabredav.org/ns}email-address. - * - * The actual search should be a unicode-non-case-sensitive search. The - * keys in searchProperties are the WebDAV property names, while the values - * are the property values to search on. - * - * If multiple properties are being searched on, the search should be - * AND'ed. - * - * This method should simply return an array with full principal uri's. - * - * If somebody attempted to search on a property the backend does not - * support, you should simply return 0 results. - * - * You can also just return 0 results if you choose to not support - * searching at all, but keep in mind that this may stop certain features - * from working. - * - * @param string $prefixPath - * @param array $searchProperties - * @return array - */ - public function searchPrincipals($prefixPath, array $searchProperties) { - - $query = 'SELECT uri FROM ' . $this->tableName . ' WHERE 1=1 '; - $values = array(); - foreach($searchProperties as $property => $value) { - - switch($property) { - - case '{DAV:}displayname' : - $query.=' AND displayname LIKE ?'; - $values[] = '%' . $value . '%'; - break; - case '{http://sabredav.org/ns}email-address' : - $query.=' AND email LIKE ?'; - $values[] = '%' . $value . '%'; - break; - default : - // Unsupported property - return array(); - - } - - } - $stmt = $this->pdo->prepare($query); - $stmt->execute($values); - - $principals = array(); - while($row = $stmt->fetch(PDO::FETCH_ASSOC)) { - - // Checking if the principal is in the prefix - list($rowPrefix) = Sabre_DAV_URLUtil::splitPath($row['uri']); - if ($rowPrefix !== $prefixPath) continue; - - $principals[] = $row['uri']; - - } - - return $principals; - - } - - /** - * Returns the list of members for a group-principal - * - * @param string $principal - * @return array - */ - public function getGroupMemberSet($principal) { - - $principal = $this->getPrincipalByPath($principal); - if (!$principal) throw new Sabre_DAV_Exception('Principal not found'); - - $stmt = $this->pdo->prepare('SELECT principals.uri as uri FROM '.$this->groupMembersTableName.' AS groupmembers LEFT JOIN '.$this->tableName.' AS principals ON groupmembers.member_id = principals.id WHERE groupmembers.principal_id = ?'); - $stmt->execute(array($principal['id'])); - - $result = array(); - while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) { - $result[] = $row['uri']; - } - return $result; - - } - - /** - * Returns the list of groups a principal is a member of - * - * @param string $principal - * @return array - */ - public function getGroupMembership($principal) { - - $principal = $this->getPrincipalByPath($principal); - if (!$principal) throw new Sabre_DAV_Exception('Principal not found'); - - $stmt = $this->pdo->prepare('SELECT principals.uri as uri FROM '.$this->groupMembersTableName.' AS groupmembers LEFT JOIN '.$this->tableName.' AS principals ON groupmembers.principal_id = principals.id WHERE groupmembers.member_id = ?'); - $stmt->execute(array($principal['id'])); - - $result = array(); - while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) { - $result[] = $row['uri']; - } - return $result; - - } - - /** - * Updates the list of group members for a group principal. - * - * The principals should be passed as a list of uri's. - * - * @param string $principal - * @param array $members - * @return void - */ - public function setGroupMemberSet($principal, array $members) { - - // Grabbing the list of principal id's. - $stmt = $this->pdo->prepare('SELECT id, uri FROM '.$this->tableName.' WHERE uri IN (? ' . str_repeat(', ? ', count($members)) . ');'); - $stmt->execute(array_merge(array($principal), $members)); - - $memberIds = array(); - $principalId = null; - - while($row = $stmt->fetch(PDO::FETCH_ASSOC)) { - if ($row['uri'] == $principal) { - $principalId = $row['id']; - } else { - $memberIds[] = $row['id']; - } - } - if (!$principalId) throw new Sabre_DAV_Exception('Principal not found'); - - // Wiping out old members - $stmt = $this->pdo->prepare('DELETE FROM '.$this->groupMembersTableName.' WHERE principal_id = ?;'); - $stmt->execute(array($principalId)); - - foreach($memberIds as $memberId) { - - $stmt = $this->pdo->prepare('INSERT INTO '.$this->groupMembersTableName.' (principal_id, member_id) VALUES (?, ?);'); - $stmt->execute(array($principalId, $memberId)); - - } - - } - -} diff --git a/3rdparty/Sabre/DAVACL/PrincipalCollection.php b/3rdparty/Sabre/DAVACL/PrincipalCollection.php deleted file mode 100755 index c3e4cb83f23c4d004b15c884f0a5253a70c5fbf1..0000000000000000000000000000000000000000 --- a/3rdparty/Sabre/DAVACL/PrincipalCollection.php +++ /dev/null @@ -1,35 +0,0 @@ -principalBackend, $principal); - - } - -} diff --git a/3rdparty/Sabre/DAVACL/Property/Acl.php b/3rdparty/Sabre/DAVACL/Property/Acl.php deleted file mode 100755 index 05e1a690b3cb23c1fdb3ba05ce19b18aa41f9fd7..0000000000000000000000000000000000000000 --- a/3rdparty/Sabre/DAVACL/Property/Acl.php +++ /dev/null @@ -1,209 +0,0 @@ -privileges = $privileges; - $this->prefixBaseUrl = $prefixBaseUrl; - - } - - /** - * Returns the list of privileges for this property - * - * @return array - */ - public function getPrivileges() { - - return $this->privileges; - - } - - /** - * Serializes the property into a DOMElement - * - * @param Sabre_DAV_Server $server - * @param DOMElement $node - * @return void - */ - public function serialize(Sabre_DAV_Server $server,DOMElement $node) { - - $doc = $node->ownerDocument; - foreach($this->privileges as $ace) { - - $this->serializeAce($doc, $node, $ace, $server); - - } - - } - - /** - * Unserializes the {DAV:}acl xml element. - * - * @param DOMElement $dom - * @return Sabre_DAVACL_Property_Acl - */ - static public function unserialize(DOMElement $dom) { - - $privileges = array(); - $xaces = $dom->getElementsByTagNameNS('urn:DAV','ace'); - for($ii=0; $ii < $xaces->length; $ii++) { - - $xace = $xaces->item($ii); - $principal = $xace->getElementsByTagNameNS('urn:DAV','principal'); - if ($principal->length !== 1) { - throw new Sabre_DAV_Exception_BadRequest('Each {DAV:}ace element must have one {DAV:}principal element'); - } - $principal = Sabre_DAVACL_Property_Principal::unserialize($principal->item(0)); - - switch($principal->getType()) { - case Sabre_DAVACL_Property_Principal::HREF : - $principal = $principal->getHref(); - break; - case Sabre_DAVACL_Property_Principal::AUTHENTICATED : - $principal = '{DAV:}authenticated'; - break; - case Sabre_DAVACL_Property_Principal::UNAUTHENTICATED : - $principal = '{DAV:}unauthenticated'; - break; - case Sabre_DAVACL_Property_Principal::ALL : - $principal = '{DAV:}all'; - break; - - } - - $protected = false; - - if ($xace->getElementsByTagNameNS('urn:DAV','protected')->length > 0) { - $protected = true; - } - - $grants = $xace->getElementsByTagNameNS('urn:DAV','grant'); - if ($grants->length < 1) { - throw new Sabre_DAV_Exception_NotImplemented('Every {DAV:}ace element must have a {DAV:}grant element. {DAV:}deny is not yet supported'); - } - $grant = $grants->item(0); - - $xprivs = $grant->getElementsByTagNameNS('urn:DAV','privilege'); - for($jj=0; $jj<$xprivs->length; $jj++) { - - $xpriv = $xprivs->item($jj); - - $privilegeName = null; - - for ($kk=0;$kk<$xpriv->childNodes->length;$kk++) { - - $childNode = $xpriv->childNodes->item($kk); - if ($t = Sabre_DAV_XMLUtil::toClarkNotation($childNode)) { - $privilegeName = $t; - break; - } - } - if (is_null($privilegeName)) { - throw new Sabre_DAV_Exception_BadRequest('{DAV:}privilege elements must have a privilege element contained within them.'); - } - - $privileges[] = array( - 'principal' => $principal, - 'protected' => $protected, - 'privilege' => $privilegeName, - ); - - } - - } - - return new self($privileges); - - } - - /** - * Serializes a single access control entry. - * - * @param DOMDocument $doc - * @param DOMElement $node - * @param array $ace - * @param Sabre_DAV_Server $server - * @return void - */ - private function serializeAce($doc,$node,$ace, $server) { - - $xace = $doc->createElementNS('DAV:','d:ace'); - $node->appendChild($xace); - - $principal = $doc->createElementNS('DAV:','d:principal'); - $xace->appendChild($principal); - switch($ace['principal']) { - case '{DAV:}authenticated' : - $principal->appendChild($doc->createElementNS('DAV:','d:authenticated')); - break; - case '{DAV:}unauthenticated' : - $principal->appendChild($doc->createElementNS('DAV:','d:unauthenticated')); - break; - case '{DAV:}all' : - $principal->appendChild($doc->createElementNS('DAV:','d:all')); - break; - default: - $principal->appendChild($doc->createElementNS('DAV:','d:href',($this->prefixBaseUrl?$server->getBaseUri():'') . $ace['principal'] . '/')); - } - - $grant = $doc->createElementNS('DAV:','d:grant'); - $xace->appendChild($grant); - - $privParts = null; - - preg_match('/^{([^}]*)}(.*)$/',$ace['privilege'],$privParts); - - $xprivilege = $doc->createElementNS('DAV:','d:privilege'); - $grant->appendChild($xprivilege); - - $xprivilege->appendChild($doc->createElementNS($privParts[1],'d:'.$privParts[2])); - - if (isset($ace['protected']) && $ace['protected']) - $xace->appendChild($doc->createElement('d:protected')); - - } - -} diff --git a/3rdparty/Sabre/DAVACL/Property/AclRestrictions.php b/3rdparty/Sabre/DAVACL/Property/AclRestrictions.php deleted file mode 100755 index a8b054956ddc705eb1e6b01c9610199ae02199d7..0000000000000000000000000000000000000000 --- a/3rdparty/Sabre/DAVACL/Property/AclRestrictions.php +++ /dev/null @@ -1,32 +0,0 @@ -ownerDocument; - - $elem->appendChild($doc->createElementNS('DAV:','d:grant-only')); - $elem->appendChild($doc->createElementNS('DAV:','d:no-invert')); - - } - -} diff --git a/3rdparty/Sabre/DAVACL/Property/CurrentUserPrivilegeSet.php b/3rdparty/Sabre/DAVACL/Property/CurrentUserPrivilegeSet.php deleted file mode 100755 index 94a29640615ecdb4229d8a8971b8811edb33933e..0000000000000000000000000000000000000000 --- a/3rdparty/Sabre/DAVACL/Property/CurrentUserPrivilegeSet.php +++ /dev/null @@ -1,75 +0,0 @@ -privileges = $privileges; - - } - - /** - * Serializes the property in the DOM - * - * @param Sabre_DAV_Server $server - * @param DOMElement $node - * @return void - */ - public function serialize(Sabre_DAV_Server $server,DOMElement $node) { - - $doc = $node->ownerDocument; - foreach($this->privileges as $privName) { - - $this->serializePriv($doc,$node,$privName); - - } - - } - - /** - * Serializes one privilege - * - * @param DOMDocument $doc - * @param DOMElement $node - * @param string $privName - * @return void - */ - protected function serializePriv($doc,$node,$privName) { - - $xp = $doc->createElementNS('DAV:','d:privilege'); - $node->appendChild($xp); - - $privParts = null; - preg_match('/^{([^}]*)}(.*)$/',$privName,$privParts); - - $xp->appendChild($doc->createElementNS($privParts[1],'d:'.$privParts[2])); - - } - -} diff --git a/3rdparty/Sabre/DAVACL/Property/Principal.php b/3rdparty/Sabre/DAVACL/Property/Principal.php deleted file mode 100755 index c36328a58e0b877086d43bb34f02050f5a0a1c8e..0000000000000000000000000000000000000000 --- a/3rdparty/Sabre/DAVACL/Property/Principal.php +++ /dev/null @@ -1,160 +0,0 @@ -type = $type; - - if ($type===self::HREF && is_null($href)) { - throw new Sabre_DAV_Exception('The href argument must be specified for the HREF principal type.'); - } - $this->href = $href; - - } - - /** - * Returns the principal type - * - * @return int - */ - public function getType() { - - return $this->type; - - } - - /** - * Returns the principal uri. - * - * @return string - */ - public function getHref() { - - return $this->href; - - } - - /** - * Serializes the property into a DOMElement. - * - * @param Sabre_DAV_Server $server - * @param DOMElement $node - * @return void - */ - public function serialize(Sabre_DAV_Server $server, DOMElement $node) { - - $prefix = $server->xmlNamespaces['DAV:']; - switch($this->type) { - - case self::UNAUTHENTICATED : - $node->appendChild( - $node->ownerDocument->createElement($prefix . ':unauthenticated') - ); - break; - case self::AUTHENTICATED : - $node->appendChild( - $node->ownerDocument->createElement($prefix . ':authenticated') - ); - break; - case self::HREF : - $href = $node->ownerDocument->createElement($prefix . ':href'); - $href->nodeValue = $server->getBaseUri() . $this->href; - $node->appendChild($href); - break; - - } - - } - - /** - * Deserializes a DOM element into a property object. - * - * @param DOMElement $dom - * @return Sabre_DAV_Property_Principal - */ - static public function unserialize(DOMElement $dom) { - - $parent = $dom->firstChild; - while(!Sabre_DAV_XMLUtil::toClarkNotation($parent)) { - $parent = $parent->nextSibling; - } - - switch(Sabre_DAV_XMLUtil::toClarkNotation($parent)) { - - case '{DAV:}unauthenticated' : - return new self(self::UNAUTHENTICATED); - case '{DAV:}authenticated' : - return new self(self::AUTHENTICATED); - case '{DAV:}href': - return new self(self::HREF, $parent->textContent); - case '{DAV:}all': - return new self(self::ALL); - default : - throw new Sabre_DAV_Exception_BadRequest('Unexpected element (' . Sabre_DAV_XMLUtil::toClarkNotation($parent) . '). Could not deserialize'); - - } - - } - -} diff --git a/3rdparty/Sabre/DAVACL/Property/SupportedPrivilegeSet.php b/3rdparty/Sabre/DAVACL/Property/SupportedPrivilegeSet.php deleted file mode 100755 index 276d57ae0938fca6cde2f195a2cbbece0ed1c8df..0000000000000000000000000000000000000000 --- a/3rdparty/Sabre/DAVACL/Property/SupportedPrivilegeSet.php +++ /dev/null @@ -1,92 +0,0 @@ -privileges = $privileges; - - } - - /** - * Serializes the property into a domdocument. - * - * @param Sabre_DAV_Server $server - * @param DOMElement $node - * @return void - */ - public function serialize(Sabre_DAV_Server $server,DOMElement $node) { - - $doc = $node->ownerDocument; - $this->serializePriv($doc, $node, $this->privileges); - - } - - /** - * Serializes a property - * - * This is a recursive function. - * - * @param DOMDocument $doc - * @param DOMElement $node - * @param array $privilege - * @return void - */ - private function serializePriv($doc,$node,$privilege) { - - $xsp = $doc->createElementNS('DAV:','d:supported-privilege'); - $node->appendChild($xsp); - - $xp = $doc->createElementNS('DAV:','d:privilege'); - $xsp->appendChild($xp); - - $privParts = null; - preg_match('/^{([^}]*)}(.*)$/',$privilege['privilege'],$privParts); - - $xp->appendChild($doc->createElementNS($privParts[1],'d:'.$privParts[2])); - - if (isset($privilege['abstract']) && $privilege['abstract']) { - $xsp->appendChild($doc->createElementNS('DAV:','d:abstract')); - } - - if (isset($privilege['description'])) { - $xsp->appendChild($doc->createElementNS('DAV:','d:description',$privilege['description'])); - } - - if (isset($privilege['aggregates'])) { - foreach($privilege['aggregates'] as $subPrivilege) { - $this->serializePriv($doc,$xsp,$subPrivilege); - } - } - - } - -} diff --git a/3rdparty/Sabre/DAVACL/Version.php b/3rdparty/Sabre/DAVACL/Version.php deleted file mode 100755 index 9950f748741b150087c6504afb6a65df5a005aef..0000000000000000000000000000000000000000 --- a/3rdparty/Sabre/DAVACL/Version.php +++ /dev/null @@ -1,24 +0,0 @@ -httpRequest->getHeader('Authorization'); - $authHeader = explode(' ',$authHeader); - - if ($authHeader[0]!='AWS' || !isset($authHeader[1])) { - $this->errorCode = self::ERR_NOAWSHEADER; - return false; - } - - list($this->accessKey,$this->signature) = explode(':',$authHeader[1]); - - return true; - - } - - /** - * Returns the username for the request - * - * @return string - */ - public function getAccessKey() { - - return $this->accessKey; - - } - - /** - * Validates the signature based on the secretKey - * - * @param string $secretKey - * @return bool - */ - public function validate($secretKey) { - - $contentMD5 = $this->httpRequest->getHeader('Content-MD5'); - - if ($contentMD5) { - // We need to validate the integrity of the request - $body = $this->httpRequest->getBody(true); - $this->httpRequest->setBody($body,true); - - if ($contentMD5!=base64_encode(md5($body,true))) { - // content-md5 header did not match md5 signature of body - $this->errorCode = self::ERR_MD5CHECKSUMWRONG; - return false; - } - - } - - if (!$requestDate = $this->httpRequest->getHeader('x-amz-date')) - $requestDate = $this->httpRequest->getHeader('Date'); - - if (!$this->validateRFC2616Date($requestDate)) - return false; - - $amzHeaders = $this->getAmzHeaders(); - - $signature = base64_encode( - $this->hmacsha1($secretKey, - $this->httpRequest->getMethod() . "\n" . - $contentMD5 . "\n" . - $this->httpRequest->getHeader('Content-type') . "\n" . - $requestDate . "\n" . - $amzHeaders . - $this->httpRequest->getURI() - ) - ); - - if ($this->signature != $signature) { - - $this->errorCode = self::ERR_INVALIDSIGNATURE; - return false; - - } - - return true; - - } - - - /** - * Returns an HTTP 401 header, forcing login - * - * This should be called when username and password are incorrect, or not supplied at all - * - * @return void - */ - public function requireLogin() { - - $this->httpResponse->setHeader('WWW-Authenticate','AWS'); - $this->httpResponse->sendStatus(401); - - } - - /** - * Makes sure the supplied value is a valid RFC2616 date. - * - * If we would just use strtotime to get a valid timestamp, we have no way of checking if a - * user just supplied the word 'now' for the date header. - * - * This function also makes sure the Date header is within 15 minutes of the operating - * system date, to prevent replay attacks. - * - * @param string $dateHeader - * @return bool - */ - protected function validateRFC2616Date($dateHeader) { - - $date = Sabre_HTTP_Util::parseHTTPDate($dateHeader); - - // Unknown format - if (!$date) { - $this->errorCode = self::ERR_INVALIDDATEFORMAT; - return false; - } - - $min = new DateTime('-15 minutes'); - $max = new DateTime('+15 minutes'); - - // We allow 15 minutes around the current date/time - if ($date > $max || $date < $min) { - $this->errorCode = self::ERR_REQUESTTIMESKEWED; - return false; - } - - return $date; - - } - - /** - * Returns a list of AMZ headers - * - * @return string - */ - protected function getAmzHeaders() { - - $amzHeaders = array(); - $headers = $this->httpRequest->getHeaders(); - foreach($headers as $headerName => $headerValue) { - if (strpos(strtolower($headerName),'x-amz-')===0) { - $amzHeaders[strtolower($headerName)] = str_replace(array("\r\n"),array(' '),$headerValue) . "\n"; - } - } - ksort($amzHeaders); - - $headerStr = ''; - foreach($amzHeaders as $h=>$v) { - $headerStr.=$h.':'.$v; - } - - return $headerStr; - - } - - /** - * Generates an HMAC-SHA1 signature - * - * @param string $key - * @param string $message - * @return string - */ - private function hmacsha1($key, $message) { - - $blocksize=64; - if (strlen($key)>$blocksize) - $key=pack('H*', sha1($key)); - $key=str_pad($key,$blocksize,chr(0x00)); - $ipad=str_repeat(chr(0x36),$blocksize); - $opad=str_repeat(chr(0x5c),$blocksize); - $hmac = pack('H*',sha1(($key^$opad).pack('H*',sha1(($key^$ipad).$message)))); - return $hmac; - - } - -} diff --git a/3rdparty/Sabre/HTTP/AbstractAuth.php b/3rdparty/Sabre/HTTP/AbstractAuth.php deleted file mode 100755 index 3bccabcd1c17833aded522cc77214f84175337f3..0000000000000000000000000000000000000000 --- a/3rdparty/Sabre/HTTP/AbstractAuth.php +++ /dev/null @@ -1,111 +0,0 @@ -httpResponse = new Sabre_HTTP_Response(); - $this->httpRequest = new Sabre_HTTP_Request(); - - } - - /** - * Sets an alternative HTTP response object - * - * @param Sabre_HTTP_Response $response - * @return void - */ - public function setHTTPResponse(Sabre_HTTP_Response $response) { - - $this->httpResponse = $response; - - } - - /** - * Sets an alternative HTTP request object - * - * @param Sabre_HTTP_Request $request - * @return void - */ - public function setHTTPRequest(Sabre_HTTP_Request $request) { - - $this->httpRequest = $request; - - } - - - /** - * Sets the realm - * - * The realm is often displayed in authentication dialog boxes - * Commonly an application name displayed here - * - * @param string $realm - * @return void - */ - public function setRealm($realm) { - - $this->realm = $realm; - - } - - /** - * Returns the realm - * - * @return string - */ - public function getRealm() { - - return $this->realm; - - } - - /** - * Returns an HTTP 401 header, forcing login - * - * This should be called when username and password are incorrect, or not supplied at all - * - * @return void - */ - abstract public function requireLogin(); - -} diff --git a/3rdparty/Sabre/HTTP/BasicAuth.php b/3rdparty/Sabre/HTTP/BasicAuth.php deleted file mode 100755 index f90ed24f5d80c8622a1d806607be31d2771cc1bd..0000000000000000000000000000000000000000 --- a/3rdparty/Sabre/HTTP/BasicAuth.php +++ /dev/null @@ -1,67 +0,0 @@ -httpRequest->getRawServerValue('PHP_AUTH_USER')) && ($pass = $this->httpRequest->getRawServerValue('PHP_AUTH_PW'))) { - - return array($user,$pass); - - } - - // Most other webservers - $auth = $this->httpRequest->getHeader('Authorization'); - - // Apache could prefix environment variables with REDIRECT_ when urls - // are passed through mod_rewrite - if (!$auth) { - $auth = $this->httpRequest->getRawServerValue('REDIRECT_HTTP_AUTHORIZATION'); - } - - if (!$auth) return false; - - if (strpos(strtolower($auth),'basic')!==0) return false; - - return explode(':', base64_decode(substr($auth, 6)),2); - - } - - /** - * Returns an HTTP 401 header, forcing login - * - * This should be called when username and password are incorrect, or not supplied at all - * - * @return void - */ - public function requireLogin() { - - $this->httpResponse->setHeader('WWW-Authenticate','Basic realm="' . $this->realm . '"'); - $this->httpResponse->sendStatus(401); - - } - -} diff --git a/3rdparty/Sabre/HTTP/DigestAuth.php b/3rdparty/Sabre/HTTP/DigestAuth.php deleted file mode 100755 index ee7f05c08ed848d61945d938200de5908bb6929d..0000000000000000000000000000000000000000 --- a/3rdparty/Sabre/HTTP/DigestAuth.php +++ /dev/null @@ -1,240 +0,0 @@ -nonce = uniqid(); - $this->opaque = md5($this->realm); - parent::__construct(); - - } - - /** - * Gathers all information from the headers - * - * This method needs to be called prior to anything else. - * - * @return void - */ - public function init() { - - $digest = $this->getDigest(); - $this->digestParts = $this->parseDigest($digest); - - } - - /** - * Sets the quality of protection value. - * - * Possible values are: - * Sabre_HTTP_DigestAuth::QOP_AUTH - * Sabre_HTTP_DigestAuth::QOP_AUTHINT - * - * Multiple values can be specified using logical OR. - * - * QOP_AUTHINT ensures integrity of the request body, but this is not - * supported by most HTTP clients. QOP_AUTHINT also requires the entire - * request body to be md5'ed, which can put strains on CPU and memory. - * - * @param int $qop - * @return void - */ - public function setQOP($qop) { - - $this->qop = $qop; - - } - - /** - * Validates the user. - * - * The A1 parameter should be md5($username . ':' . $realm . ':' . $password); - * - * @param string $A1 - * @return bool - */ - public function validateA1($A1) { - - $this->A1 = $A1; - return $this->validate(); - - } - - /** - * Validates authentication through a password. The actual password must be provided here. - * It is strongly recommended not store the password in plain-text and use validateA1 instead. - * - * @param string $password - * @return bool - */ - public function validatePassword($password) { - - $this->A1 = md5($this->digestParts['username'] . ':' . $this->realm . ':' . $password); - return $this->validate(); - - } - - /** - * Returns the username for the request - * - * @return string - */ - public function getUsername() { - - return $this->digestParts['username']; - - } - - /** - * Validates the digest challenge - * - * @return bool - */ - protected function validate() { - - $A2 = $this->httpRequest->getMethod() . ':' . $this->digestParts['uri']; - - if ($this->digestParts['qop']=='auth-int') { - // Making sure we support this qop value - if (!($this->qop & self::QOP_AUTHINT)) return false; - // We need to add an md5 of the entire request body to the A2 part of the hash - $body = $this->httpRequest->getBody(true); - $this->httpRequest->setBody($body,true); - $A2 .= ':' . md5($body); - } else { - - // We need to make sure we support this qop value - if (!($this->qop & self::QOP_AUTH)) return false; - } - - $A2 = md5($A2); - - $validResponse = md5("{$this->A1}:{$this->digestParts['nonce']}:{$this->digestParts['nc']}:{$this->digestParts['cnonce']}:{$this->digestParts['qop']}:{$A2}"); - - return $this->digestParts['response']==$validResponse; - - - } - - /** - * Returns an HTTP 401 header, forcing login - * - * This should be called when username and password are incorrect, or not supplied at all - * - * @return void - */ - public function requireLogin() { - - $qop = ''; - switch($this->qop) { - case self::QOP_AUTH : $qop = 'auth'; break; - case self::QOP_AUTHINT : $qop = 'auth-int'; break; - case self::QOP_AUTH | self::QOP_AUTHINT : $qop = 'auth,auth-int'; break; - } - - $this->httpResponse->setHeader('WWW-Authenticate','Digest realm="' . $this->realm . '",qop="'.$qop.'",nonce="' . $this->nonce . '",opaque="' . $this->opaque . '"'); - $this->httpResponse->sendStatus(401); - - } - - - /** - * This method returns the full digest string. - * - * It should be compatibile with mod_php format and other webservers. - * - * If the header could not be found, null will be returned - * - * @return mixed - */ - public function getDigest() { - - // mod_php - $digest = $this->httpRequest->getRawServerValue('PHP_AUTH_DIGEST'); - if ($digest) return $digest; - - // most other servers - $digest = $this->httpRequest->getHeader('Authorization'); - - // Apache could prefix environment variables with REDIRECT_ when urls - // are passed through mod_rewrite - if (!$digest) { - $digest = $this->httpRequest->getRawServerValue('REDIRECT_HTTP_AUTHORIZATION'); - } - - if ($digest && strpos(strtolower($digest),'digest')===0) { - return substr($digest,7); - } else { - return null; - } - - } - - - /** - * Parses the different pieces of the digest string into an array. - * - * This method returns false if an incomplete digest was supplied - * - * @param string $digest - * @return mixed - */ - protected function parseDigest($digest) { - - // protect against missing data - $needed_parts = array('nonce'=>1, 'nc'=>1, 'cnonce'=>1, 'qop'=>1, 'username'=>1, 'uri'=>1, 'response'=>1); - $data = array(); - - preg_match_all('@(\w+)=(?:(?:")([^"]+)"|([^\s,$]+))@', $digest, $matches, PREG_SET_ORDER); - - foreach ($matches as $m) { - $data[$m[1]] = $m[2] ? $m[2] : $m[3]; - unset($needed_parts[$m[1]]); - } - - return $needed_parts ? false : $data; - - } - -} diff --git a/3rdparty/Sabre/HTTP/Request.php b/3rdparty/Sabre/HTTP/Request.php deleted file mode 100755 index 4746ef777047e06b4b3c3ec0dd01267c749f7460..0000000000000000000000000000000000000000 --- a/3rdparty/Sabre/HTTP/Request.php +++ /dev/null @@ -1,268 +0,0 @@ -_SERVER = $serverData; - else $this->_SERVER =& $_SERVER; - - if ($postData) $this->_POST = $postData; - else $this->_POST =& $_POST; - - } - - /** - * Returns the value for a specific http header. - * - * This method returns null if the header did not exist. - * - * @param string $name - * @return string - */ - public function getHeader($name) { - - $name = strtoupper(str_replace(array('-'),array('_'),$name)); - if (isset($this->_SERVER['HTTP_' . $name])) { - return $this->_SERVER['HTTP_' . $name]; - } - - // There's a few headers that seem to end up in the top-level - // server array. - switch($name) { - case 'CONTENT_TYPE' : - case 'CONTENT_LENGTH' : - if (isset($this->_SERVER[$name])) { - return $this->_SERVER[$name]; - } - break; - - } - return; - - } - - /** - * Returns all (known) HTTP headers. - * - * All headers are converted to lower-case, and additionally all underscores - * are automatically converted to dashes - * - * @return array - */ - public function getHeaders() { - - $hdrs = array(); - foreach($this->_SERVER as $key=>$value) { - - switch($key) { - case 'CONTENT_LENGTH' : - case 'CONTENT_TYPE' : - $hdrs[strtolower(str_replace('_','-',$key))] = $value; - break; - default : - if (strpos($key,'HTTP_')===0) { - $hdrs[substr(strtolower(str_replace('_','-',$key)),5)] = $value; - } - break; - } - - } - - return $hdrs; - - } - - /** - * Returns the HTTP request method - * - * This is for example POST or GET - * - * @return string - */ - public function getMethod() { - - return $this->_SERVER['REQUEST_METHOD']; - - } - - /** - * Returns the requested uri - * - * @return string - */ - public function getUri() { - - return $this->_SERVER['REQUEST_URI']; - - } - - /** - * Will return protocol + the hostname + the uri - * - * @return string - */ - public function getAbsoluteUri() { - - // Checking if the request was made through HTTPS. The last in line is for IIS - $protocol = isset($this->_SERVER['HTTPS']) && ($this->_SERVER['HTTPS']) && ($this->_SERVER['HTTPS']!='off'); - return ($protocol?'https':'http') . '://' . $this->getHeader('Host') . $this->getUri(); - - } - - /** - * Returns everything after the ? from the current url - * - * @return string - */ - public function getQueryString() { - - return isset($this->_SERVER['QUERY_STRING'])?$this->_SERVER['QUERY_STRING']:''; - - } - - /** - * Returns the HTTP request body body - * - * This method returns a readable stream resource. - * If the asString parameter is set to true, a string is sent instead. - * - * @param bool asString - * @return resource - */ - public function getBody($asString = false) { - - if (is_null($this->body)) { - if (!is_null(self::$defaultInputStream)) { - $this->body = self::$defaultInputStream; - } else { - $this->body = fopen('php://input','r'); - self::$defaultInputStream = $this->body; - } - } - if ($asString) { - $body = stream_get_contents($this->body); - return $body; - } else { - return $this->body; - } - - } - - /** - * Sets the contents of the HTTP request body - * - * This method can either accept a string, or a readable stream resource. - * - * If the setAsDefaultInputStream is set to true, it means for this run of the - * script the supplied body will be used instead of php://input. - * - * @param mixed $body - * @param bool $setAsDefaultInputStream - * @return void - */ - public function setBody($body,$setAsDefaultInputStream = false) { - - if(is_resource($body)) { - $this->body = $body; - } else { - - $stream = fopen('php://temp','r+'); - fputs($stream,$body); - rewind($stream); - // String is assumed - $this->body = $stream; - } - if ($setAsDefaultInputStream) { - self::$defaultInputStream = $this->body; - } - - } - - /** - * Returns PHP's _POST variable. - * - * The reason this is in a method is so it can be subclassed and - * overridden. - * - * @return array - */ - public function getPostVars() { - - return $this->_POST; - - } - - /** - * Returns a specific item from the _SERVER array. - * - * Do not rely on this feature, it is for internal use only. - * - * @param string $field - * @return string - */ - public function getRawServerValue($field) { - - return isset($this->_SERVER[$field])?$this->_SERVER[$field]:null; - - } - -} - diff --git a/3rdparty/Sabre/HTTP/Response.php b/3rdparty/Sabre/HTTP/Response.php deleted file mode 100755 index ffe9bda2082d5fd65395038fae36cfa179da0062..0000000000000000000000000000000000000000 --- a/3rdparty/Sabre/HTTP/Response.php +++ /dev/null @@ -1,157 +0,0 @@ - 'Continue', - 101 => 'Switching Protocols', - 102 => 'Processing', - 200 => 'OK', - 201 => 'Created', - 202 => 'Accepted', - 203 => 'Non-Authorative Information', - 204 => 'No Content', - 205 => 'Reset Content', - 206 => 'Partial Content', - 207 => 'Multi-Status', // RFC 4918 - 208 => 'Already Reported', // RFC 5842 - 226 => 'IM Used', // RFC 3229 - 300 => 'Multiple Choices', - 301 => 'Moved Permanently', - 302 => 'Found', - 303 => 'See Other', - 304 => 'Not Modified', - 305 => 'Use Proxy', - 306 => 'Reserved', - 307 => 'Temporary Redirect', - 400 => 'Bad request', - 401 => 'Unauthorized', - 402 => 'Payment Required', - 403 => 'Forbidden', - 404 => 'Not Found', - 405 => 'Method Not Allowed', - 406 => 'Not Acceptable', - 407 => 'Proxy Authentication Required', - 408 => 'Request Timeout', - 409 => 'Conflict', - 410 => 'Gone', - 411 => 'Length Required', - 412 => 'Precondition failed', - 413 => 'Request Entity Too Large', - 414 => 'Request-URI Too Long', - 415 => 'Unsupported Media Type', - 416 => 'Requested Range Not Satisfiable', - 417 => 'Expectation Failed', - 418 => 'I\'m a teapot', // RFC 2324 - 422 => 'Unprocessable Entity', // RFC 4918 - 423 => 'Locked', // RFC 4918 - 424 => 'Failed Dependency', // RFC 4918 - 426 => 'Upgrade required', - 428 => 'Precondition required', // draft-nottingham-http-new-status - 429 => 'Too Many Requests', // draft-nottingham-http-new-status - 431 => 'Request Header Fields Too Large', // draft-nottingham-http-new-status - 500 => 'Internal Server Error', - 501 => 'Not Implemented', - 502 => 'Bad Gateway', - 503 => 'Service Unavailable', - 504 => 'Gateway Timeout', - 505 => 'HTTP Version not supported', - 506 => 'Variant Also Negotiates', - 507 => 'Insufficient Storage', // RFC 4918 - 508 => 'Loop Detected', // RFC 5842 - 509 => 'Bandwidth Limit Exceeded', // non-standard - 510 => 'Not extended', - 511 => 'Network Authentication Required', // draft-nottingham-http-new-status - ); - - return 'HTTP/1.1 ' . $code . ' ' . $msg[$code]; - - } - - /** - * Sends an HTTP status header to the client - * - * @param int $code HTTP status code - * @return bool - */ - public function sendStatus($code) { - - if (!headers_sent()) - return header($this->getStatusMessage($code)); - else return false; - - } - - /** - * Sets an HTTP header for the response - * - * @param string $name - * @param string $value - * @param bool $replace - * @return bool - */ - public function setHeader($name, $value, $replace = true) { - - $value = str_replace(array("\r","\n"),array('\r','\n'),$value); - if (!headers_sent()) - return header($name . ': ' . $value, $replace); - else return false; - - } - - /** - * Sets a bunch of HTTP Headers - * - * headersnames are specified as keys, value in the array value - * - * @param array $headers - * @return void - */ - public function setHeaders(array $headers) { - - foreach($headers as $key=>$value) - $this->setHeader($key, $value); - - } - - /** - * Sends the entire response body - * - * This method can accept either an open filestream, or a string. - * - * @param mixed $body - * @return void - */ - public function sendBody($body) { - - if (is_resource($body)) { - - fpassthru($body); - - } else { - - // We assume a string - echo $body; - - } - - } - -} diff --git a/3rdparty/Sabre/HTTP/Util.php b/3rdparty/Sabre/HTTP/Util.php deleted file mode 100755 index 67bdd489e1e5f654c4d9c41d34292bcbfefe0c39..0000000000000000000000000000000000000000 --- a/3rdparty/Sabre/HTTP/Util.php +++ /dev/null @@ -1,82 +0,0 @@ -= 0) - return new DateTime('@' . $realDate, new DateTimeZone('UTC')); - - } - - /** - * Transforms a DateTime object to HTTP's most common date format. - * - * We're serializing it as the RFC 1123 date, which, for HTTP must be - * specified as GMT. - * - * @param DateTime $dateTime - * @return string - */ - static function toHTTPDate(DateTime $dateTime) { - - // We need to clone it, as we don't want to affect the existing - // DateTime. - $dateTime = clone $dateTime; - $dateTime->setTimeZone(new DateTimeZone('GMT')); - return $dateTime->format('D, d M Y H:i:s \G\M\T'); - - } - -} diff --git a/3rdparty/Sabre/HTTP/Version.php b/3rdparty/Sabre/HTTP/Version.php deleted file mode 100755 index e6b4f7e53589964fd2db22be2f43ad62d771689f..0000000000000000000000000000000000000000 --- a/3rdparty/Sabre/HTTP/Version.php +++ /dev/null @@ -1,24 +0,0 @@ - 'Sabre_VObject_Component_VCalendar', - 'VEVENT' => 'Sabre_VObject_Component_VEvent', - 'VTODO' => 'Sabre_VObject_Component_VTodo', - 'VJOURNAL' => 'Sabre_VObject_Component_VJournal', - 'VALARM' => 'Sabre_VObject_Component_VAlarm', - ); - - /** - * Creates the new component by name, but in addition will also see if - * there's a class mapped to the property name. - * - * @param string $name - * @param string $value - * @return Sabre_VObject_Component - */ - static public function create($name, $value = null) { - - $name = strtoupper($name); - - if (isset(self::$classMap[$name])) { - return new self::$classMap[$name]($name, $value); - } else { - return new self($name, $value); - } - - } - - /** - * Creates a new component. - * - * By default this object will iterate over its own children, but this can - * be overridden with the iterator argument - * - * @param string $name - * @param Sabre_VObject_ElementList $iterator - */ - public function __construct($name, Sabre_VObject_ElementList $iterator = null) { - - $this->name = strtoupper($name); - if (!is_null($iterator)) $this->iterator = $iterator; - - } - - /** - * Turns the object back into a serialized blob. - * - * @return string - */ - public function serialize() { - - $str = "BEGIN:" . $this->name . "\r\n"; - - /** - * Gives a component a 'score' for sorting purposes. - * - * This is solely used by the childrenSort method. - * - * A higher score means the item will be higher in the list - * - * @param Sabre_VObject_Node $n - * @return int - */ - $sortScore = function($n) { - - if ($n instanceof Sabre_VObject_Component) { - // We want to encode VTIMEZONE first, this is a personal - // preference. - if ($n->name === 'VTIMEZONE') { - return 1; - } else { - return 0; - } - } else { - // VCARD version 4.0 wants the VERSION property to appear first - if ($n->name === 'VERSION') { - return 3; - } else { - return 2; - } - } - - }; - - usort($this->children, function($a, $b) use ($sortScore) { - - $sA = $sortScore($a); - $sB = $sortScore($b); - - if ($sA === $sB) return 0; - - return ($sA > $sB) ? -1 : 1; - - }); - - foreach($this->children as $child) $str.=$child->serialize(); - $str.= "END:" . $this->name . "\r\n"; - - return $str; - - } - - /** - * Adds a new component or element - * - * You can call this method with the following syntaxes: - * - * add(Sabre_VObject_Element $element) - * add(string $name, $value) - * - * The first version adds an Element - * The second adds a property as a string. - * - * @param mixed $item - * @param mixed $itemValue - * @return void - */ - public function add($item, $itemValue = null) { - - if ($item instanceof Sabre_VObject_Element) { - if (!is_null($itemValue)) { - throw new InvalidArgumentException('The second argument must not be specified, when passing a VObject'); - } - $item->parent = $this; - $this->children[] = $item; - } elseif(is_string($item)) { - - if (!is_scalar($itemValue)) { - throw new InvalidArgumentException('The second argument must be scalar'); - } - $item = Sabre_VObject_Property::create($item,$itemValue); - $item->parent = $this; - $this->children[] = $item; - - } else { - - throw new InvalidArgumentException('The first argument must either be a Sabre_VObject_Element or a string'); - - } - - } - - /** - * Returns an iterable list of children - * - * @return Sabre_VObject_ElementList - */ - public function children() { - - return new Sabre_VObject_ElementList($this->children); - - } - - /** - * Returns an array with elements that match the specified name. - * - * This function is also aware of MIME-Directory groups (as they appear in - * vcards). This means that if a property is grouped as "HOME.EMAIL", it - * will also be returned when searching for just "EMAIL". If you want to - * search for a property in a specific group, you can select on the entire - * string ("HOME.EMAIL"). If you want to search on a specific property that - * has not been assigned a group, specify ".EMAIL". - * - * Keys are retained from the 'children' array, which may be confusing in - * certain cases. - * - * @param string $name - * @return array - */ - public function select($name) { - - $group = null; - $name = strtoupper($name); - if (strpos($name,'.')!==false) { - list($group,$name) = explode('.', $name, 2); - } - - $result = array(); - foreach($this->children as $key=>$child) { - - if ( - strtoupper($child->name) === $name && - (is_null($group) || ( $child instanceof Sabre_VObject_Property && strtoupper($child->group) === $group)) - ) { - - $result[$key] = $child; - - } - } - - reset($result); - return $result; - - } - - /** - * This method only returns a list of sub-components. Properties are - * ignored. - * - * @return array - */ - public function getComponents() { - - $result = array(); - foreach($this->children as $child) { - if ($child instanceof Sabre_VObject_Component) { - $result[] = $child; - } - } - - return $result; - - } - - /* Magic property accessors {{{ */ - - /** - * Using 'get' you will either get a property or component, - * - * If there were no child-elements found with the specified name, - * null is returned. - * - * @param string $name - * @return Sabre_VObject_Property - */ - public function __get($name) { - - $matches = $this->select($name); - if (count($matches)===0) { - return null; - } else { - $firstMatch = current($matches); - /** @var $firstMatch Sabre_VObject_Property */ - $firstMatch->setIterator(new Sabre_VObject_ElementList(array_values($matches))); - return $firstMatch; - } - - } - - /** - * This method checks if a sub-element with the specified name exists. - * - * @param string $name - * @return bool - */ - public function __isset($name) { - - $matches = $this->select($name); - return count($matches)>0; - - } - - /** - * Using the setter method you can add properties or subcomponents - * - * You can either pass a Sabre_VObject_Component, Sabre_VObject_Property - * object, or a string to automatically create a Property. - * - * If the item already exists, it will be removed. If you want to add - * a new item with the same name, always use the add() method. - * - * @param string $name - * @param mixed $value - * @return void - */ - public function __set($name, $value) { - - $matches = $this->select($name); - $overWrite = count($matches)?key($matches):null; - - if ($value instanceof Sabre_VObject_Component || $value instanceof Sabre_VObject_Property) { - $value->parent = $this; - if (!is_null($overWrite)) { - $this->children[$overWrite] = $value; - } else { - $this->children[] = $value; - } - } elseif (is_scalar($value)) { - $property = Sabre_VObject_Property::create($name,$value); - $property->parent = $this; - if (!is_null($overWrite)) { - $this->children[$overWrite] = $property; - } else { - $this->children[] = $property; - } - } else { - throw new InvalidArgumentException('You must pass a Sabre_VObject_Component, Sabre_VObject_Property or scalar type'); - } - - } - - /** - * Removes all properties and components within this component. - * - * @param string $name - * @return void - */ - public function __unset($name) { - - $matches = $this->select($name); - foreach($matches as $k=>$child) { - - unset($this->children[$k]); - $child->parent = null; - - } - - } - - /* }}} */ - - /** - * This method is automatically called when the object is cloned. - * Specifically, this will ensure all child elements are also cloned. - * - * @return void - */ - public function __clone() { - - foreach($this->children as $key=>$child) { - $this->children[$key] = clone $child; - $this->children[$key]->parent = $this; - } - - } - -} diff --git a/3rdparty/Sabre/VObject/Component/VAlarm.php b/3rdparty/Sabre/VObject/Component/VAlarm.php deleted file mode 100755 index ebb4a9b18f69962a0446a6f4dece59ea2db1605a..0000000000000000000000000000000000000000 --- a/3rdparty/Sabre/VObject/Component/VAlarm.php +++ /dev/null @@ -1,102 +0,0 @@ -TRIGGER; - if(!isset($trigger['VALUE']) || strtoupper($trigger['VALUE']) === 'DURATION') { - $triggerDuration = Sabre_VObject_DateTimeParser::parseDuration($this->TRIGGER); - $related = (isset($trigger['RELATED']) && strtoupper($trigger['RELATED']) == 'END') ? 'END' : 'START'; - - $parentComponent = $this->parent; - if ($related === 'START') { - $effectiveTrigger = clone $parentComponent->DTSTART->getDateTime(); - $effectiveTrigger->add($triggerDuration); - } else { - if ($parentComponent->name === 'VTODO') { - $endProp = 'DUE'; - } elseif ($parentComponent->name === 'VEVENT') { - $endProp = 'DTEND'; - } else { - throw new Sabre_DAV_Exception('time-range filters on VALARM components are only supported when they are a child of VTODO or VEVENT'); - } - - if (isset($parentComponent->$endProp)) { - $effectiveTrigger = clone $parentComponent->$endProp->getDateTime(); - $effectiveTrigger->add($triggerDuration); - } elseif (isset($parentComponent->DURATION)) { - $effectiveTrigger = clone $parentComponent->DTSTART->getDateTime(); - $duration = Sabre_VObject_DateTimeParser::parseDuration($parentComponent->DURATION); - $effectiveTrigger->add($duration); - $effectiveTrigger->add($triggerDuration); - } else { - $effectiveTrigger = clone $parentComponent->DTSTART->getDateTime(); - $effectiveTrigger->add($triggerDuration); - } - } - } else { - $effectiveTrigger = $trigger->getDateTime(); - } - return $effectiveTrigger; - - } - - /** - * Returns true or false depending on if the event falls in the specified - * time-range. This is used for filtering purposes. - * - * The rules used to determine if an event falls within the specified - * time-range is based on the CalDAV specification. - * - * @param DateTime $start - * @param DateTime $end - * @return bool - */ - public function isInTimeRange(DateTime $start, DateTime $end) { - - $effectiveTrigger = $this->getEffectiveTriggerTime(); - - if (isset($this->DURATION)) { - $duration = Sabre_VObject_DateTimeParser::parseDuration($this->DURATION); - $repeat = (string)$this->repeat; - if (!$repeat) { - $repeat = 1; - } - - $period = new DatePeriod($effectiveTrigger, $duration, (int)$repeat); - - foreach($period as $occurrence) { - - if ($start <= $occurrence && $end > $occurrence) { - return true; - } - } - return false; - } else { - return ($start <= $effectiveTrigger && $end > $effectiveTrigger); - } - - } - -} - -?> diff --git a/3rdparty/Sabre/VObject/Component/VCalendar.php b/3rdparty/Sabre/VObject/Component/VCalendar.php deleted file mode 100755 index f3be29afdbb492c16b7fe28f0e04888c3291fd43..0000000000000000000000000000000000000000 --- a/3rdparty/Sabre/VObject/Component/VCalendar.php +++ /dev/null @@ -1,133 +0,0 @@ -children as $component) { - - if (!$component instanceof Sabre_VObject_Component) - continue; - - if (isset($component->{'RECURRENCE-ID'})) - continue; - - if ($componentName && $component->name !== strtoupper($componentName)) - continue; - - if ($component->name === 'VTIMEZONE') - continue; - - $components[] = $component; - - } - - return $components; - - } - - /** - * If this calendar object, has events with recurrence rules, this method - * can be used to expand the event into multiple sub-events. - * - * Each event will be stripped from it's recurrence information, and only - * the instances of the event in the specified timerange will be left - * alone. - * - * In addition, this method will cause timezone information to be stripped, - * and normalized to UTC. - * - * This method will alter the VCalendar. This cannot be reversed. - * - * This functionality is specifically used by the CalDAV standard. It is - * possible for clients to request expand events, if they are rather simple - * clients and do not have the possibility to calculate recurrences. - * - * @param DateTime $start - * @param DateTime $end - * @return void - */ - public function expand(DateTime $start, DateTime $end) { - - $newEvents = array(); - - foreach($this->select('VEVENT') as $key=>$vevent) { - - if (isset($vevent->{'RECURRENCE-ID'})) { - unset($this->children[$key]); - continue; - } - - - if (!$vevent->rrule) { - unset($this->children[$key]); - if ($vevent->isInTimeRange($start, $end)) { - $newEvents[] = $vevent; - } - continue; - } - - $uid = (string)$vevent->uid; - if (!$uid) { - throw new LogicException('Event did not have a UID!'); - } - - $it = new Sabre_VObject_RecurrenceIterator($this, $vevent->uid); - $it->fastForward($start); - - while($it->valid() && $it->getDTStart() < $end) { - - if ($it->getDTEnd() > $start) { - - $newEvents[] = $it->getEventObject(); - - } - $it->next(); - - } - unset($this->children[$key]); - - } - - foreach($newEvents as $newEvent) { - - foreach($newEvent->children as $child) { - if ($child instanceof Sabre_VObject_Property_DateTime && - $child->getDateType() == Sabre_VObject_Property_DateTime::LOCALTZ) { - $child->setDateTime($child->getDateTime(),Sabre_VObject_Property_DateTime::UTC); - } - } - - $this->add($newEvent); - - } - - // Removing all VTIMEZONE components - unset($this->VTIMEZONE); - - } - -} - diff --git a/3rdparty/Sabre/VObject/Component/VEvent.php b/3rdparty/Sabre/VObject/Component/VEvent.php deleted file mode 100755 index d6b910874d0af8afb76bbfc8bab326995083d2e9..0000000000000000000000000000000000000000 --- a/3rdparty/Sabre/VObject/Component/VEvent.php +++ /dev/null @@ -1,71 +0,0 @@ -RRULE) { - $it = new Sabre_VObject_RecurrenceIterator($this); - $it->fastForward($start); - - // We fast-forwarded to a spot where the end-time of the - // recurrence instance exceeded the start of the requested - // time-range. - // - // If the starttime of the recurrence did not exceed the - // end of the time range as well, we have a match. - return ($it->getDTStart() < $end && $it->getDTEnd() > $start); - - } - - $effectiveStart = $this->DTSTART->getDateTime(); - if (isset($this->DTEND)) { - - // The DTEND property is considered non inclusive. So for a 3 day - // event in july, dtstart and dtend would have to be July 1st and - // July 4th respectively. - // - // See: - // http://tools.ietf.org/html/rfc5545#page-54 - $effectiveEnd = $this->DTEND->getDateTime(); - - } elseif (isset($this->DURATION)) { - $effectiveEnd = clone $effectiveStart; - $effectiveEnd->add( Sabre_VObject_DateTimeParser::parseDuration($this->DURATION) ); - } elseif ($this->DTSTART->getDateType() == Sabre_VObject_Element_DateTime::DATE) { - $effectiveEnd = clone $effectiveStart; - $effectiveEnd->modify('+1 day'); - } else { - $effectiveEnd = clone $effectiveStart; - } - return ( - ($start <= $effectiveEnd) && ($end > $effectiveStart) - ); - - } - -} - -?> diff --git a/3rdparty/Sabre/VObject/Component/VJournal.php b/3rdparty/Sabre/VObject/Component/VJournal.php deleted file mode 100755 index 22b3ec921e5a1b6e67dbdb0253ba5d6fece53cb8..0000000000000000000000000000000000000000 --- a/3rdparty/Sabre/VObject/Component/VJournal.php +++ /dev/null @@ -1,46 +0,0 @@ -DTSTART)?$this->DTSTART->getDateTime():null; - if ($dtstart) { - $effectiveEnd = clone $dtstart; - if ($this->DTSTART->getDateType() == Sabre_VObject_Element_DateTime::DATE) { - $effectiveEnd->modify('+1 day'); - } - - return ($start <= $effectiveEnd && $end > $dtstart); - - } - return false; - - - } - -} - -?> diff --git a/3rdparty/Sabre/VObject/Component/VTodo.php b/3rdparty/Sabre/VObject/Component/VTodo.php deleted file mode 100755 index 79d06298d7f864ea5953f51f714906c3119feef8..0000000000000000000000000000000000000000 --- a/3rdparty/Sabre/VObject/Component/VTodo.php +++ /dev/null @@ -1,68 +0,0 @@ -DTSTART)?$this->DTSTART->getDateTime():null; - $duration = isset($this->DURATION)?Sabre_VObject_DateTimeParser::parseDuration($this->DURATION):null; - $due = isset($this->DUE)?$this->DUE->getDateTime():null; - $completed = isset($this->COMPLETED)?$this->COMPLETED->getDateTime():null; - $created = isset($this->CREATED)?$this->CREATED->getDateTime():null; - - if ($dtstart) { - if ($duration) { - $effectiveEnd = clone $dtstart; - $effectiveEnd->add($duration); - return $start <= $effectiveEnd && $end > $dtstart; - } elseif ($due) { - return - ($start < $due || $start <= $dtstart) && - ($end > $dtstart || $end >= $due); - } else { - return $start <= $dtstart && $end > $dtstart; - } - } - if ($due) { - return ($start < $due && $end >= $due); - } - if ($completed && $created) { - return - ($start <= $created || $start <= $completed) && - ($end >= $created || $end >= $completed); - } - if ($completed) { - return ($start <= $completed && $end >= $completed); - } - if ($created) { - return ($end > $created); - } - return true; - - } - -} - -?> diff --git a/3rdparty/Sabre/VObject/DateTimeParser.php b/3rdparty/Sabre/VObject/DateTimeParser.php deleted file mode 100755 index 23a4bb69916cca390f4d697acb0c93f72756e1ab..0000000000000000000000000000000000000000 --- a/3rdparty/Sabre/VObject/DateTimeParser.php +++ /dev/null @@ -1,181 +0,0 @@ -setTimeZone(new DateTimeZone('UTC')); - return $date; - - } - - /** - * Parses an iCalendar (rfc5545) formatted date and returns a DateTime object - * - * @param string $date - * @return DateTime - */ - static public function parseDate($date) { - - // Format is YYYYMMDD - $result = preg_match('/^([1-3][0-9]{3})([0-1][0-9])([0-3][0-9])$/',$date,$matches); - - if (!$result) { - throw new Sabre_DAV_Exception_BadRequest('The supplied iCalendar date value is incorrect: ' . $date); - } - - $date = new DateTime($matches[1] . '-' . $matches[2] . '-' . $matches[3], new DateTimeZone('UTC')); - return $date; - - } - - /** - * Parses an iCalendar (RFC5545) formatted duration value. - * - * This method will either return a DateTimeInterval object, or a string - * suitable for strtotime or DateTime::modify. - * - * @param string $duration - * @param bool $asString - * @return DateInterval|string - */ - static public function parseDuration($duration, $asString = false) { - - $result = preg_match('/^(?P\+|-)?P((?P\d+)W)?((?P\d+)D)?(T((?P\d+)H)?((?P\d+)M)?((?P\d+)S)?)?$/', $duration, $matches); - if (!$result) { - throw new Sabre_DAV_Exception_BadRequest('The supplied iCalendar duration value is incorrect: ' . $duration); - } - - if (!$asString) { - $invert = false; - if ($matches['plusminus']==='-') { - $invert = true; - } - - - $parts = array( - 'week', - 'day', - 'hour', - 'minute', - 'second', - ); - foreach($parts as $part) { - $matches[$part] = isset($matches[$part])&&$matches[$part]?(int)$matches[$part]:0; - } - - - // We need to re-construct the $duration string, because weeks and - // days are not supported by DateInterval in the same string. - $duration = 'P'; - $days = $matches['day']; - if ($matches['week']) { - $days+=$matches['week']*7; - } - if ($days) - $duration.=$days . 'D'; - - if ($matches['minute'] || $matches['second'] || $matches['hour']) { - $duration.='T'; - - if ($matches['hour']) - $duration.=$matches['hour'].'H'; - - if ($matches['minute']) - $duration.=$matches['minute'].'M'; - - if ($matches['second']) - $duration.=$matches['second'].'S'; - - } - - if ($duration==='P') { - $duration = 'PT0S'; - } - $iv = new DateInterval($duration); - if ($invert) $iv->invert = true; - - return $iv; - - } - - - - $parts = array( - 'week', - 'day', - 'hour', - 'minute', - 'second', - ); - - $newDur = ''; - foreach($parts as $part) { - if (isset($matches[$part]) && $matches[$part]) { - $newDur.=' '.$matches[$part] . ' ' . $part . 's'; - } - } - - $newDur = ($matches['plusminus']==='-'?'-':'+') . trim($newDur); - if ($newDur === '+') { $newDur = '+0 seconds'; }; - return $newDur; - - } - - /** - * Parses either a Date or DateTime, or Duration value. - * - * @param string $date - * @param DateTimeZone|string $referenceTZ - * @return DateTime|DateInterval - */ - static public function parse($date, $referenceTZ = null) { - - if ($date[0]==='P' || ($date[0]==='-' && $date[1]==='P')) { - return self::parseDuration($date); - } elseif (strlen($date)===8) { - return self::parseDate($date); - } else { - return self::parseDateTime($date, $referenceTZ); - } - - } - - -} diff --git a/3rdparty/Sabre/VObject/Element.php b/3rdparty/Sabre/VObject/Element.php deleted file mode 100755 index e20ff0b353c4491cd166ccad47a39c16a7f46c4f..0000000000000000000000000000000000000000 --- a/3rdparty/Sabre/VObject/Element.php +++ /dev/null @@ -1,16 +0,0 @@ -vevent where there's multiple VEVENT objects. - * - * @package Sabre - * @subpackage VObject - * @copyright Copyright (C) 2007-2012 Rooftop Solutions. All rights reserved. - * @author Evert Pot (http://www.rooftopsolutions.nl/) - * @license http://code.google.com/p/sabredav/wiki/License Modified BSD License - */ -class Sabre_VObject_ElementList implements Iterator, Countable, ArrayAccess { - - /** - * Inner elements - * - * @var array - */ - protected $elements = array(); - - /** - * Creates the element list. - * - * @param array $elements - */ - public function __construct(array $elements) { - - $this->elements = $elements; - - } - - /* {{{ Iterator interface */ - - /** - * Current position - * - * @var int - */ - private $key = 0; - - /** - * Returns current item in iteration - * - * @return Sabre_VObject_Element - */ - public function current() { - - return $this->elements[$this->key]; - - } - - /** - * To the next item in the iterator - * - * @return void - */ - public function next() { - - $this->key++; - - } - - /** - * Returns the current iterator key - * - * @return int - */ - public function key() { - - return $this->key; - - } - - /** - * Returns true if the current position in the iterator is a valid one - * - * @return bool - */ - public function valid() { - - return isset($this->elements[$this->key]); - - } - - /** - * Rewinds the iterator - * - * @return void - */ - public function rewind() { - - $this->key = 0; - - } - - /* }}} */ - - /* {{{ Countable interface */ - - /** - * Returns the number of elements - * - * @return int - */ - public function count() { - - return count($this->elements); - - } - - /* }}} */ - - /* {{{ ArrayAccess Interface */ - - - /** - * Checks if an item exists through ArrayAccess. - * - * @param int $offset - * @return bool - */ - public function offsetExists($offset) { - - return isset($this->elements[$offset]); - - } - - /** - * Gets an item through ArrayAccess. - * - * @param int $offset - * @return mixed - */ - public function offsetGet($offset) { - - return $this->elements[$offset]; - - } - - /** - * Sets an item through ArrayAccess. - * - * @param int $offset - * @param mixed $value - * @return void - */ - public function offsetSet($offset,$value) { - - throw new LogicException('You can not add new objects to an ElementList'); - - } - - /** - * Sets an item through ArrayAccess. - * - * This method just forwards the request to the inner iterator - * - * @param int $offset - * @return void - */ - public function offsetUnset($offset) { - - throw new LogicException('You can not remove objects from an ElementList'); - - } - - /* }}} */ - -} diff --git a/3rdparty/Sabre/VObject/FreeBusyGenerator.php b/3rdparty/Sabre/VObject/FreeBusyGenerator.php deleted file mode 100755 index 1c96a64a004b6a7055c0568f80903c122de6d9dd..0000000000000000000000000000000000000000 --- a/3rdparty/Sabre/VObject/FreeBusyGenerator.php +++ /dev/null @@ -1,297 +0,0 @@ -baseObject = $vcalendar; - - } - - /** - * Sets the input objects - * - * Every object must either be a string or a Sabre_VObject_Component. - * - * @param array $objects - * @return void - */ - public function setObjects(array $objects) { - - $this->objects = array(); - foreach($objects as $object) { - - if (is_string($object)) { - $this->objects[] = Sabre_VObject_Reader::read($object); - } elseif ($object instanceof Sabre_VObject_Component) { - $this->objects[] = $object; - } else { - throw new InvalidArgumentException('You can only pass strings or Sabre_VObject_Component arguments to setObjects'); - } - - } - - } - - /** - * Sets the time range - * - * Any freebusy object falling outside of this time range will be ignored. - * - * @param DateTime $start - * @param DateTime $end - * @return void - */ - public function setTimeRange(DateTime $start = null, DateTime $end = null) { - - $this->start = $start; - $this->end = $end; - - } - - /** - * Parses the input data and returns a correct VFREEBUSY object, wrapped in - * a VCALENDAR. - * - * @return Sabre_VObject_Component - */ - public function getResult() { - - $busyTimes = array(); - - foreach($this->objects as $object) { - - foreach($object->getBaseComponents() as $component) { - - switch($component->name) { - - case 'VEVENT' : - - $FBTYPE = 'BUSY'; - if (isset($component->TRANSP) && (strtoupper($component->TRANSP) === 'TRANSPARENT')) { - break; - } - if (isset($component->STATUS)) { - $status = strtoupper($component->STATUS); - if ($status==='CANCELLED') { - break; - } - if ($status==='TENTATIVE') { - $FBTYPE = 'BUSY-TENTATIVE'; - } - } - - $times = array(); - - if ($component->RRULE) { - - $iterator = new Sabre_VObject_RecurrenceIterator($object, (string)$component->uid); - if ($this->start) { - $iterator->fastForward($this->start); - } - - $maxRecurrences = 200; - - while($iterator->valid() && --$maxRecurrences) { - - $startTime = $iterator->getDTStart(); - if ($this->end && $startTime > $this->end) { - break; - } - $times[] = array( - $iterator->getDTStart(), - $iterator->getDTEnd(), - ); - - $iterator->next(); - - } - - } else { - - $startTime = $component->DTSTART->getDateTime(); - if ($this->end && $startTime > $this->end) { - break; - } - $endTime = null; - if (isset($component->DTEND)) { - $endTime = $component->DTEND->getDateTime(); - } elseif (isset($component->DURATION)) { - $duration = Sabre_VObject_DateTimeParser::parseDuration((string)$component->DURATION); - $endTime = clone $startTime; - $endTime->add($duration); - } elseif ($component->DTSTART->getDateType() === Sabre_VObject_Property_DateTime::DATE) { - $endTime = clone $startTime; - $endTime->modify('+1 day'); - } else { - // The event had no duration (0 seconds) - break; - } - - $times[] = array($startTime, $endTime); - - } - - foreach($times as $time) { - - if ($this->end && $time[0] > $this->end) break; - if ($this->start && $time[1] < $this->start) break; - - $busyTimes[] = array( - $time[0], - $time[1], - $FBTYPE, - ); - } - break; - - case 'VFREEBUSY' : - foreach($component->FREEBUSY as $freebusy) { - - $fbType = isset($freebusy['FBTYPE'])?strtoupper($freebusy['FBTYPE']):'BUSY'; - - // Skipping intervals marked as 'free' - if ($fbType==='FREE') - continue; - - $values = explode(',', $freebusy); - foreach($values as $value) { - list($startTime, $endTime) = explode('/', $value); - $startTime = Sabre_VObject_DateTimeParser::parseDateTime($startTime); - - if (substr($endTime,0,1)==='P' || substr($endTime,0,2)==='-P') { - $duration = Sabre_VObject_DateTimeParser::parseDuration($endTime); - $endTime = clone $startTime; - $endTime->add($duration); - } else { - $endTime = Sabre_VObject_DateTimeParser::parseDateTime($endTime); - } - - if($this->start && $this->start > $endTime) continue; - if($this->end && $this->end < $startTime) continue; - $busyTimes[] = array( - $startTime, - $endTime, - $fbType - ); - - } - - - } - break; - - - - } - - - } - - } - - if ($this->baseObject) { - $calendar = $this->baseObject; - } else { - $calendar = new Sabre_VObject_Component('VCALENDAR'); - $calendar->version = '2.0'; - if (Sabre_DAV_Server::$exposeVersion) { - $calendar->prodid = '-//SabreDAV//Sabre VObject ' . Sabre_VObject_Version::VERSION . '//EN'; - } else { - $calendar->prodid = '-//SabreDAV//Sabre VObject//EN'; - } - $calendar->calscale = 'GREGORIAN'; - } - - $vfreebusy = new Sabre_VObject_Component('VFREEBUSY'); - $calendar->add($vfreebusy); - - if ($this->start) { - $dtstart = new Sabre_VObject_Property_DateTime('DTSTART'); - $dtstart->setDateTime($this->start,Sabre_VObject_Property_DateTime::UTC); - $vfreebusy->add($dtstart); - } - if ($this->end) { - $dtend = new Sabre_VObject_Property_DateTime('DTEND'); - $dtend->setDateTime($this->start,Sabre_VObject_Property_DateTime::UTC); - $vfreebusy->add($dtend); - } - $dtstamp = new Sabre_VObject_Property_DateTime('DTSTAMP'); - $dtstamp->setDateTime(new DateTime('now'), Sabre_VObject_Property_DateTime::UTC); - $vfreebusy->add($dtstamp); - - foreach($busyTimes as $busyTime) { - - $busyTime[0]->setTimeZone(new DateTimeZone('UTC')); - $busyTime[1]->setTimeZone(new DateTimeZone('UTC')); - - $prop = new Sabre_VObject_Property( - 'FREEBUSY', - $busyTime[0]->format('Ymd\\THis\\Z') . '/' . $busyTime[1]->format('Ymd\\THis\\Z') - ); - $prop['FBTYPE'] = $busyTime[2]; - $vfreebusy->add($prop); - - } - - return $calendar; - - } - -} - diff --git a/3rdparty/Sabre/VObject/Node.php b/3rdparty/Sabre/VObject/Node.php deleted file mode 100755 index d89e01b56c69e60904bbdc9496611951128b618a..0000000000000000000000000000000000000000 --- a/3rdparty/Sabre/VObject/Node.php +++ /dev/null @@ -1,149 +0,0 @@ -iterator)) - return $this->iterator; - - return new Sabre_VObject_ElementList(array($this)); - - } - - /** - * Sets the overridden iterator - * - * Note that this is not actually part of the iterator interface - * - * @param Sabre_VObject_ElementList $iterator - * @return void - */ - public function setIterator(Sabre_VObject_ElementList $iterator) { - - $this->iterator = $iterator; - - } - - /* }}} */ - - /* {{{ Countable interface */ - - /** - * Returns the number of elements - * - * @return int - */ - public function count() { - - $it = $this->getIterator(); - return $it->count(); - - } - - /* }}} */ - - /* {{{ ArrayAccess Interface */ - - - /** - * Checks if an item exists through ArrayAccess. - * - * This method just forwards the request to the inner iterator - * - * @param int $offset - * @return bool - */ - public function offsetExists($offset) { - - $iterator = $this->getIterator(); - return $iterator->offsetExists($offset); - - } - - /** - * Gets an item through ArrayAccess. - * - * This method just forwards the request to the inner iterator - * - * @param int $offset - * @return mixed - */ - public function offsetGet($offset) { - - $iterator = $this->getIterator(); - return $iterator->offsetGet($offset); - - } - - /** - * Sets an item through ArrayAccess. - * - * This method just forwards the request to the inner iterator - * - * @param int $offset - * @param mixed $value - * @return void - */ - public function offsetSet($offset,$value) { - - $iterator = $this->getIterator(); - return $iterator->offsetSet($offset,$value); - - } - - /** - * Sets an item through ArrayAccess. - * - * This method just forwards the request to the inner iterator - * - * @param int $offset - * @return void - */ - public function offsetUnset($offset) { - - $iterator = $this->getIterator(); - return $iterator->offsetUnset($offset); - - } - - /* }}} */ - -} diff --git a/3rdparty/Sabre/VObject/Parameter.php b/3rdparty/Sabre/VObject/Parameter.php deleted file mode 100755 index 2e39af5f78ab1788067335f7b3f703845e26f4e8..0000000000000000000000000000000000000000 --- a/3rdparty/Sabre/VObject/Parameter.php +++ /dev/null @@ -1,84 +0,0 @@ -name = strtoupper($name); - $this->value = $value; - - } - - /** - * Turns the object back into a serialized blob. - * - * @return string - */ - public function serialize() { - - if (is_null($this->value)) { - return $this->name; - } - $src = array( - '\\', - "\n", - ';', - ',', - ); - $out = array( - '\\\\', - '\n', - '\;', - '\,', - ); - - return $this->name . '=' . str_replace($src, $out, $this->value); - - } - - /** - * Called when this object is being cast to a string - * - * @return string - */ - public function __toString() { - - return $this->value; - - } - -} diff --git a/3rdparty/Sabre/VObject/ParseException.php b/3rdparty/Sabre/VObject/ParseException.php deleted file mode 100755 index 1b5e95bf16e49b5184b5fc089ec063457c5d3bab..0000000000000000000000000000000000000000 --- a/3rdparty/Sabre/VObject/ParseException.php +++ /dev/null @@ -1,12 +0,0 @@ - 'Sabre_VObject_Property_DateTime', - 'CREATED' => 'Sabre_VObject_Property_DateTime', - 'DTEND' => 'Sabre_VObject_Property_DateTime', - 'DTSTAMP' => 'Sabre_VObject_Property_DateTime', - 'DTSTART' => 'Sabre_VObject_Property_DateTime', - 'DUE' => 'Sabre_VObject_Property_DateTime', - 'EXDATE' => 'Sabre_VObject_Property_MultiDateTime', - 'LAST-MODIFIED' => 'Sabre_VObject_Property_DateTime', - 'RECURRENCE-ID' => 'Sabre_VObject_Property_DateTime', - 'TRIGGER' => 'Sabre_VObject_Property_DateTime', - ); - - /** - * Creates the new property by name, but in addition will also see if - * there's a class mapped to the property name. - * - * @param string $name - * @param string $value - * @return void - */ - static public function create($name, $value = null) { - - $name = strtoupper($name); - $shortName = $name; - $group = null; - if (strpos($shortName,'.')!==false) { - list($group, $shortName) = explode('.', $shortName); - } - - if (isset(self::$classMap[$shortName])) { - return new self::$classMap[$shortName]($name, $value); - } else { - return new self($name, $value); - } - - } - - /** - * Creates a new property object - * - * By default this object will iterate over its own children, but this can - * be overridden with the iterator argument - * - * @param string $name - * @param string $value - * @param Sabre_VObject_ElementList $iterator - */ - public function __construct($name, $value = null, $iterator = null) { - - $name = strtoupper($name); - $group = null; - if (strpos($name,'.')!==false) { - list($group, $name) = explode('.', $name); - } - $this->name = $name; - $this->group = $group; - if (!is_null($iterator)) $this->iterator = $iterator; - $this->setValue($value); - - } - - - - /** - * Updates the internal value - * - * @param string $value - * @return void - */ - public function setValue($value) { - - $this->value = $value; - - } - - /** - * Turns the object back into a serialized blob. - * - * @return string - */ - public function serialize() { - - $str = $this->name; - if ($this->group) $str = $this->group . '.' . $this->name; - - if (count($this->parameters)) { - foreach($this->parameters as $param) { - - $str.=';' . $param->serialize(); - - } - } - $src = array( - '\\', - "\n", - ); - $out = array( - '\\\\', - '\n', - ); - $str.=':' . str_replace($src, $out, $this->value); - - $out = ''; - while(strlen($str)>0) { - if (strlen($str)>75) { - $out.= mb_strcut($str,0,75,'utf-8') . "\r\n"; - $str = ' ' . mb_strcut($str,75,strlen($str),'utf-8'); - } else { - $out.=$str . "\r\n"; - $str=''; - break; - } - } - - return $out; - - } - - /** - * Adds a new componenten or element - * - * You can call this method with the following syntaxes: - * - * add(Sabre_VObject_Parameter $element) - * add(string $name, $value) - * - * The first version adds an Parameter - * The second adds a property as a string. - * - * @param mixed $item - * @param mixed $itemValue - * @return void - */ - public function add($item, $itemValue = null) { - - if ($item instanceof Sabre_VObject_Parameter) { - if (!is_null($itemValue)) { - throw new InvalidArgumentException('The second argument must not be specified, when passing a VObject'); - } - $item->parent = $this; - $this->parameters[] = $item; - } elseif(is_string($item)) { - - if (!is_scalar($itemValue) && !is_null($itemValue)) { - throw new InvalidArgumentException('The second argument must be scalar'); - } - $parameter = new Sabre_VObject_Parameter($item,$itemValue); - $parameter->parent = $this; - $this->parameters[] = $parameter; - - } else { - - throw new InvalidArgumentException('The first argument must either be a Sabre_VObject_Element or a string'); - - } - - } - - /* ArrayAccess interface {{{ */ - - /** - * Checks if an array element exists - * - * @param mixed $name - * @return bool - */ - public function offsetExists($name) { - - if (is_int($name)) return parent::offsetExists($name); - - $name = strtoupper($name); - - foreach($this->parameters as $parameter) { - if ($parameter->name == $name) return true; - } - return false; - - } - - /** - * Returns a parameter, or parameter list. - * - * @param string $name - * @return Sabre_VObject_Element - */ - public function offsetGet($name) { - - if (is_int($name)) return parent::offsetGet($name); - $name = strtoupper($name); - - $result = array(); - foreach($this->parameters as $parameter) { - if ($parameter->name == $name) - $result[] = $parameter; - } - - if (count($result)===0) { - return null; - } elseif (count($result)===1) { - return $result[0]; - } else { - $result[0]->setIterator(new Sabre_VObject_ElementList($result)); - return $result[0]; - } - - } - - /** - * Creates a new parameter - * - * @param string $name - * @param mixed $value - * @return void - */ - public function offsetSet($name, $value) { - - if (is_int($name)) return parent::offsetSet($name, $value); - - if (is_scalar($value)) { - if (!is_string($name)) - throw new InvalidArgumentException('A parameter name must be specified. This means you cannot use the $array[]="string" to add parameters.'); - - $this->offsetUnset($name); - $parameter = new Sabre_VObject_Parameter($name, $value); - $parameter->parent = $this; - $this->parameters[] = $parameter; - - } elseif ($value instanceof Sabre_VObject_Parameter) { - if (!is_null($name)) - throw new InvalidArgumentException('Don\'t specify a parameter name if you\'re passing a Sabre_VObject_Parameter. Add using $array[]=$parameterObject.'); - - $value->parent = $this; - $this->parameters[] = $value; - } else { - throw new InvalidArgumentException('You can only add parameters to the property object'); - } - - } - - /** - * Removes one or more parameters with the specified name - * - * @param string $name - * @return void - */ - public function offsetUnset($name) { - - if (is_int($name)) return parent::offsetUnset($name); - $name = strtoupper($name); - - foreach($this->parameters as $key=>$parameter) { - if ($parameter->name == $name) { - $parameter->parent = null; - unset($this->parameters[$key]); - } - - } - - } - - /* }}} */ - - /** - * Called when this object is being cast to a string - * - * @return string - */ - public function __toString() { - - return (string)$this->value; - - } - - /** - * This method is automatically called when the object is cloned. - * Specifically, this will ensure all child elements are also cloned. - * - * @return void - */ - public function __clone() { - - foreach($this->parameters as $key=>$child) { - $this->parameters[$key] = clone $child; - $this->parameters[$key]->parent = $this; - } - - } - -} diff --git a/3rdparty/Sabre/VObject/Property/DateTime.php b/3rdparty/Sabre/VObject/Property/DateTime.php deleted file mode 100755 index fe2372caa81cade8eb1aa149ea923e7fd62206dc..0000000000000000000000000000000000000000 --- a/3rdparty/Sabre/VObject/Property/DateTime.php +++ /dev/null @@ -1,260 +0,0 @@ -setValue($dt->format('Ymd\\THis')); - $this->offsetUnset('VALUE'); - $this->offsetUnset('TZID'); - $this->offsetSet('VALUE','DATE-TIME'); - break; - case self::UTC : - $dt->setTimeZone(new DateTimeZone('UTC')); - $this->setValue($dt->format('Ymd\\THis\\Z')); - $this->offsetUnset('VALUE'); - $this->offsetUnset('TZID'); - $this->offsetSet('VALUE','DATE-TIME'); - break; - case self::LOCALTZ : - $this->setValue($dt->format('Ymd\\THis')); - $this->offsetUnset('VALUE'); - $this->offsetUnset('TZID'); - $this->offsetSet('VALUE','DATE-TIME'); - $this->offsetSet('TZID', $dt->getTimeZone()->getName()); - break; - case self::DATE : - $this->setValue($dt->format('Ymd')); - $this->offsetUnset('VALUE'); - $this->offsetUnset('TZID'); - $this->offsetSet('VALUE','DATE'); - break; - default : - throw new InvalidArgumentException('You must pass a valid dateType constant'); - - } - $this->dateTime = $dt; - $this->dateType = $dateType; - - } - - /** - * Returns the current DateTime value. - * - * If no value was set, this method returns null. - * - * @return DateTime|null - */ - public function getDateTime() { - - if ($this->dateTime) - return $this->dateTime; - - list( - $this->dateType, - $this->dateTime - ) = self::parseData($this->value, $this); - return $this->dateTime; - - } - - /** - * Returns the type of Date format. - * - * This method returns one of the format constants. If no date was set, - * this method will return null. - * - * @return int|null - */ - public function getDateType() { - - if ($this->dateType) - return $this->dateType; - - list( - $this->dateType, - $this->dateTime, - ) = self::parseData($this->value, $this); - return $this->dateType; - - } - - /** - * Parses the internal data structure to figure out what the current date - * and time is. - * - * The returned array contains two elements: - * 1. A 'DateType' constant (as defined on this class), or null. - * 2. A DateTime object (or null) - * - * @param string|null $propertyValue The string to parse (yymmdd or - * ymmddThhmmss, etc..) - * @param Sabre_VObject_Property|null $property The instance of the - * property we're parsing. - * @return array - */ - static public function parseData($propertyValue, Sabre_VObject_Property $property = null) { - - if (is_null($propertyValue)) { - return array(null, null); - } - - $date = '(?P[1-2][0-9]{3})(?P[0-1][0-9])(?P[0-3][0-9])'; - $time = '(?P[0-2][0-9])(?P[0-5][0-9])(?P[0-5][0-9])'; - $regex = "/^$date(T$time(?PZ)?)?$/"; - - if (!preg_match($regex, $propertyValue, $matches)) { - throw new InvalidArgumentException($propertyValue . ' is not a valid DateTime or Date string'); - } - - if (!isset($matches['hour'])) { - // Date-only - return array( - self::DATE, - new DateTime($matches['year'] . '-' . $matches['month'] . '-' . $matches['date'] . ' 00:00:00'), - ); - } - - $dateStr = - $matches['year'] .'-' . - $matches['month'] . '-' . - $matches['date'] . ' ' . - $matches['hour'] . ':' . - $matches['minute'] . ':' . - $matches['second']; - - if (isset($matches['isutc'])) { - $dt = new DateTime($dateStr,new DateTimeZone('UTC')); - $dt->setTimeZone(new DateTimeZone('UTC')); - return array( - self::UTC, - $dt - ); - } - - // Finding the timezone. - $tzid = $property['TZID']; - if (!$tzid) { - return array( - self::LOCAL, - new DateTime($dateStr) - ); - } - - try { - // tzid an Olson identifier? - $tz = new DateTimeZone($tzid->value); - } catch (Exception $e) { - - // Not an Olson id, we're going to try to find the information - // through the time zone name map. - $newtzid = Sabre_VObject_WindowsTimezoneMap::lookup($tzid->value); - if (is_null($newtzid)) { - - // Not a well known time zone name either, we're going to try - // to find the information through the VTIMEZONE object. - - // First we find the root object - $root = $property; - while($root->parent) { - $root = $root->parent; - } - - if (isset($root->VTIMEZONE)) { - foreach($root->VTIMEZONE as $vtimezone) { - if (((string)$vtimezone->TZID) == $tzid) { - if (isset($vtimezone->{'X-LIC-LOCATION'})) { - $newtzid = (string)$vtimezone->{'X-LIC-LOCATION'}; - } else { - // No libical location specified. As a last resort we could - // try matching $vtimezone's DST rules against all known - // time zones returned by DateTimeZone::list* - - // TODO - } - } - } - } - } - - try { - $tz = new DateTimeZone($newtzid); - } catch (Exception $e) { - // If all else fails, we use the default PHP timezone - $tz = new DateTimeZone(date_default_timezone_get()); - } - } - $dt = new DateTime($dateStr, $tz); - $dt->setTimeZone($tz); - - return array( - self::LOCALTZ, - $dt - ); - - } - -} diff --git a/3rdparty/Sabre/VObject/Property/MultiDateTime.php b/3rdparty/Sabre/VObject/Property/MultiDateTime.php deleted file mode 100755 index ae53ab6a6173a87922c90f8a5bb129ab8a341d92..0000000000000000000000000000000000000000 --- a/3rdparty/Sabre/VObject/Property/MultiDateTime.php +++ /dev/null @@ -1,166 +0,0 @@ -offsetUnset('VALUE'); - $this->offsetUnset('TZID'); - switch($dateType) { - - case Sabre_VObject_Property_DateTime::LOCAL : - $val = array(); - foreach($dt as $i) { - $val[] = $i->format('Ymd\\THis'); - } - $this->setValue(implode(',',$val)); - $this->offsetSet('VALUE','DATE-TIME'); - break; - case Sabre_VObject_Property_DateTime::UTC : - $val = array(); - foreach($dt as $i) { - $i->setTimeZone(new DateTimeZone('UTC')); - $val[] = $i->format('Ymd\\THis\\Z'); - } - $this->setValue(implode(',',$val)); - $this->offsetSet('VALUE','DATE-TIME'); - break; - case Sabre_VObject_Property_DateTime::LOCALTZ : - $val = array(); - foreach($dt as $i) { - $val[] = $i->format('Ymd\\THis'); - } - $this->setValue(implode(',',$val)); - $this->offsetSet('VALUE','DATE-TIME'); - $this->offsetSet('TZID', $dt[0]->getTimeZone()->getName()); - break; - case Sabre_VObject_Property_DateTime::DATE : - $val = array(); - foreach($dt as $i) { - $val[] = $i->format('Ymd'); - } - $this->setValue(implode(',',$val)); - $this->offsetSet('VALUE','DATE'); - break; - default : - throw new InvalidArgumentException('You must pass a valid dateType constant'); - - } - $this->dateTimes = $dt; - $this->dateType = $dateType; - - } - - /** - * Returns the current DateTime value. - * - * If no value was set, this method returns null. - * - * @return array|null - */ - public function getDateTimes() { - - if ($this->dateTimes) - return $this->dateTimes; - - $dts = array(); - - if (!$this->value) { - $this->dateTimes = null; - $this->dateType = null; - return null; - } - - foreach(explode(',',$this->value) as $val) { - list( - $type, - $dt - ) = Sabre_VObject_Property_DateTime::parseData($val, $this); - $dts[] = $dt; - $this->dateType = $type; - } - $this->dateTimes = $dts; - return $this->dateTimes; - - } - - /** - * Returns the type of Date format. - * - * This method returns one of the format constants. If no date was set, - * this method will return null. - * - * @return int|null - */ - public function getDateType() { - - if ($this->dateType) - return $this->dateType; - - if (!$this->value) { - $this->dateTimes = null; - $this->dateType = null; - return null; - } - - $dts = array(); - foreach(explode(',',$this->value) as $val) { - list( - $type, - $dt - ) = Sabre_VObject_Property_DateTime::parseData($val, $this); - $dts[] = $dt; - $this->dateType = $type; - } - $this->dateTimes = $dts; - return $this->dateType; - - } - -} diff --git a/3rdparty/Sabre/VObject/Reader.php b/3rdparty/Sabre/VObject/Reader.php deleted file mode 100755 index eea73fa3dcee68163a42e9703a748feb783007fb..0000000000000000000000000000000000000000 --- a/3rdparty/Sabre/VObject/Reader.php +++ /dev/null @@ -1,183 +0,0 @@ -add(self::readLine($lines)); - - $nextLine = current($lines); - - if ($nextLine===false) - throw new Sabre_VObject_ParseException('Invalid VObject. Document ended prematurely.'); - - } - - // Checking component name of the 'END:' line. - if (substr($nextLine,4)!==$obj->name) { - throw new Sabre_VObject_ParseException('Invalid VObject, expected: "END:' . $obj->name . '" got: "' . $nextLine . '"'); - } - next($lines); - - return $obj; - - } - - // Properties - //$result = preg_match('/(?P[A-Z0-9-]+)(?:;(?P^(?([^:^\"]|\"([^\"]*)\")*))?"; - $regex = "/^(?P$token)$parameters:(?P.*)$/i"; - - $result = preg_match($regex,$line,$matches); - - if (!$result) { - throw new Sabre_VObject_ParseException('Invalid VObject, line ' . ($lineNr+1) . ' did not follow the icalendar/vcard format'); - } - - $propertyName = strtoupper($matches['name']); - $propertyValue = preg_replace_callback('#(\\\\(\\\\|N|n|;|,))#',function($matches) { - if ($matches[2]==='n' || $matches[2]==='N') { - return "\n"; - } else { - return $matches[2]; - } - }, $matches['value']); - - $obj = Sabre_VObject_Property::create($propertyName, $propertyValue); - - if ($matches['parameters']) { - - foreach(self::readParameters($matches['parameters']) as $param) { - $obj->add($param); - } - - } - - return $obj; - - - } - - /** - * Reads a parameter list from a property - * - * This method returns an array of Sabre_VObject_Parameter - * - * @param string $parameters - * @return array - */ - static private function readParameters($parameters) { - - $token = '[A-Z0-9-]+'; - - $paramValue = '(?P[^\"^;]*|"[^"]*")'; - - $regex = "/(?<=^|;)(?P$token)(=$paramValue(?=$|;))?/i"; - preg_match_all($regex, $parameters, $matches, PREG_SET_ORDER); - - $params = array(); - foreach($matches as $match) { - - $value = isset($match['paramValue'])?$match['paramValue']:null; - - if (isset($value[0])) { - // Stripping quotes, if needed - if ($value[0] === '"') $value = substr($value,1,strlen($value)-2); - } else { - $value = ''; - } - - $value = preg_replace_callback('#(\\\\(\\\\|N|n|;|,))#',function($matches) { - if ($matches[2]==='n' || $matches[2]==='N') { - return "\n"; - } else { - return $matches[2]; - } - }, $value); - - $params[] = new Sabre_VObject_Parameter($match['paramName'], $value); - - } - - return $params; - - } - - -} diff --git a/3rdparty/Sabre/VObject/RecurrenceIterator.php b/3rdparty/Sabre/VObject/RecurrenceIterator.php deleted file mode 100755 index 740270dd8f0794719b5086ddc6919a14c4b04238..0000000000000000000000000000000000000000 --- a/3rdparty/Sabre/VObject/RecurrenceIterator.php +++ /dev/null @@ -1,1043 +0,0 @@ - 0, - 'MO' => 1, - 'TU' => 2, - 'WE' => 3, - 'TH' => 4, - 'FR' => 5, - 'SA' => 6, - ); - - /** - * Mappings between the day number and english day name. - * - * @var array - */ - private $dayNames = array( - 0 => 'Sunday', - 1 => 'Monday', - 2 => 'Tuesday', - 3 => 'Wednesday', - 4 => 'Thursday', - 5 => 'Friday', - 6 => 'Saturday', - ); - - /** - * If the current iteration of the event is an overriden event, this - * property will hold the VObject - * - * @var Sabre_Component_VObject - */ - private $currentOverriddenEvent; - - /** - * This property may contain the date of the next not-overridden event. - * This date is calculated sometimes a bit early, before overridden events - * are evaluated. - * - * @var DateTime - */ - private $nextDate; - - /** - * Creates the iterator - * - * You should pass a VCALENDAR component, as well as the UID of the event - * we're going to traverse. - * - * @param Sabre_VObject_Component $vcal - * @param string|null $uid - */ - public function __construct(Sabre_VObject_Component $vcal, $uid=null) { - - if (is_null($uid)) { - if ($vcal->name === 'VCALENDAR') { - throw new InvalidArgumentException('If you pass a VCALENDAR object, you must pass a uid argument as well'); - } - $components = array($vcal); - $uid = (string)$vcal->uid; - } else { - $components = $vcal->select('VEVENT'); - } - foreach($components as $component) { - if ((string)$component->uid == $uid) { - if (isset($component->{'RECURRENCE-ID'})) { - $this->overriddenEvents[$component->DTSTART->getDateTime()->getTimeStamp()] = $component; - $this->overriddenDates[] = $component->{'RECURRENCE-ID'}->getDateTime(); - } else { - $this->baseEvent = $component; - } - } - } - if (!$this->baseEvent) { - throw new InvalidArgumentException('Could not find a base event with uid: ' . $uid); - } - - $this->startDate = clone $this->baseEvent->DTSTART->getDateTime(); - - $this->endDate = null; - if (isset($this->baseEvent->DTEND)) { - $this->endDate = clone $this->baseEvent->DTEND->getDateTime(); - } else { - $this->endDate = clone $this->startDate; - if (isset($this->baseEvent->DURATION)) { - $this->endDate->add(Sabre_VObject_DateTimeParser::parse($this->baseEvent->DURATION->value)); - } elseif ($this->baseEvent->DTSTART->getDateType()===Sabre_VObject_Property_DateTime::DATE) { - $this->endDate->modify('+1 day'); - } - } - $this->currentDate = clone $this->startDate; - - $rrule = (string)$this->baseEvent->RRULE; - - $parts = explode(';', $rrule); - - foreach($parts as $part) { - - list($key, $value) = explode('=', $part, 2); - - switch(strtoupper($key)) { - - case 'FREQ' : - if (!in_array( - strtolower($value), - array('secondly','minutely','hourly','daily','weekly','monthly','yearly') - )) { - throw new InvalidArgumentException('Unknown value for FREQ=' . strtoupper($value)); - - } - $this->frequency = strtolower($value); - break; - - case 'UNTIL' : - $this->until = Sabre_VObject_DateTimeParser::parse($value); - break; - - case 'COUNT' : - $this->count = (int)$value; - break; - - case 'INTERVAL' : - $this->interval = (int)$value; - break; - - case 'BYSECOND' : - $this->bySecond = explode(',', $value); - break; - - case 'BYMINUTE' : - $this->byMinute = explode(',', $value); - break; - - case 'BYHOUR' : - $this->byHour = explode(',', $value); - break; - - case 'BYDAY' : - $this->byDay = explode(',', strtoupper($value)); - break; - - case 'BYMONTHDAY' : - $this->byMonthDay = explode(',', $value); - break; - - case 'BYYEARDAY' : - $this->byYearDay = explode(',', $value); - break; - - case 'BYWEEKNO' : - $this->byWeekNo = explode(',', $value); - break; - - case 'BYMONTH' : - $this->byMonth = explode(',', $value); - break; - - case 'BYSETPOS' : - $this->bySetPos = explode(',', $value); - break; - - case 'WKST' : - $this->weekStart = strtoupper($value); - break; - - } - - } - - // Parsing exception dates - if (isset($this->baseEvent->EXDATE)) { - foreach($this->baseEvent->EXDATE as $exDate) { - - foreach(explode(',', (string)$exDate) as $exceptionDate) { - - $this->exceptionDates[] = - Sabre_VObject_DateTimeParser::parse($exceptionDate, $this->startDate->getTimeZone()); - - } - - } - - } - - } - - /** - * Returns the current item in the list - * - * @return DateTime - */ - public function current() { - - if (!$this->valid()) return null; - return clone $this->currentDate; - - } - - /** - * This method returns the startdate for the current iteration of the - * event. - * - * @return DateTime - */ - public function getDtStart() { - - if (!$this->valid()) return null; - return clone $this->currentDate; - - } - - /** - * This method returns the enddate for the current iteration of the - * event. - * - * @return DateTime - */ - public function getDtEnd() { - - if (!$this->valid()) return null; - $dtEnd = clone $this->currentDate; - $dtEnd->add( $this->startDate->diff( $this->endDate ) ); - return clone $dtEnd; - - } - - /** - * Returns a VEVENT object with the updated start and end date. - * - * Any recurrence information is removed, and this function may return an - * 'overridden' event instead. - * - * This method always returns a cloned instance. - * - * @return void - */ - public function getEventObject() { - - if ($this->currentOverriddenEvent) { - return clone $this->currentOverriddenEvent; - } - $event = clone $this->baseEvent; - unset($event->RRULE); - unset($event->EXDATE); - unset($event->RDATE); - unset($event->EXRULE); - - $event->DTSTART->setDateTime($this->getDTStart(), $event->DTSTART->getDateType()); - if (isset($event->DTEND)) { - $event->DTEND->setDateTime($this->getDtEnd(), $event->DTSTART->getDateType()); - } - if ($this->counter > 0) { - $event->{'RECURRENCE-ID'} = (string)$event->DTSTART; - } - - return $event; - - } - - /** - * Returns the current item number - * - * @return int - */ - public function key() { - - return $this->counter; - - } - - /** - * Whether or not there is a 'next item' - * - * @return bool - */ - public function valid() { - - if (!is_null($this->count)) { - return $this->counter < $this->count; - } - if (!is_null($this->until)) { - return $this->currentDate <= $this->until; - } - return true; - - } - - /** - * Resets the iterator - * - * @return void - */ - public function rewind() { - - $this->currentDate = clone $this->startDate; - $this->counter = 0; - - } - - /** - * This method allows you to quickly go to the next occurrence after the - * specified date. - * - * Note that this checks the current 'endDate', not the 'stardDate'. This - * means that if you forward to January 1st, the iterator will stop at the - * first event that ends *after* January 1st. - * - * @param DateTime $dt - * @return void - */ - public function fastForward(DateTime $dt) { - - while($this->valid() && $this->getDTEnd() <= $dt) { - $this->next(); - } - - } - - /** - * Goes on to the next iteration - * - * @return void - */ - public function next() { - - /* - if (!is_null($this->count) && $this->counter >= $this->count) { - $this->currentDate = null; - }*/ - - - $previousStamp = $this->currentDate->getTimeStamp(); - - while(true) { - - $this->currentOverriddenEvent = null; - - // If we have a next date 'stored', we use that - if ($this->nextDate) { - $this->currentDate = $this->nextDate; - $currentStamp = $this->currentDate->getTimeStamp(); - $this->nextDate = null; - } else { - - // Otherwise, we calculate it - switch($this->frequency) { - - case 'daily' : - $this->nextDaily(); - break; - - case 'weekly' : - $this->nextWeekly(); - break; - - case 'monthly' : - $this->nextMonthly(); - break; - - case 'yearly' : - $this->nextYearly(); - break; - - } - $currentStamp = $this->currentDate->getTimeStamp(); - - // Checking exception dates - foreach($this->exceptionDates as $exceptionDate) { - if ($this->currentDate == $exceptionDate) { - $this->counter++; - continue 2; - } - } - foreach($this->overriddenDates as $overriddenDate) { - if ($this->currentDate == $overriddenDate) { - continue 2; - } - } - - } - - // Checking overriden events - foreach($this->overriddenEvents as $index=>$event) { - if ($index > $previousStamp && $index <= $currentStamp) { - - // We're moving the 'next date' aside, for later use. - $this->nextDate = clone $this->currentDate; - - $this->currentDate = $event->DTSTART->getDateTime(); - $this->currentOverriddenEvent = $event; - - break; - } - } - - break; - - } - - /* - if (!is_null($this->until)) { - if($this->currentDate > $this->until) { - $this->currentDate = null; - } - }*/ - - $this->counter++; - - } - - /** - * Does the processing for advancing the iterator for daily frequency. - * - * @return void - */ - protected function nextDaily() { - - if (!$this->byDay) { - $this->currentDate->modify('+' . $this->interval . ' days'); - return; - } - - $recurrenceDays = array(); - foreach($this->byDay as $byDay) { - - // The day may be preceeded with a positive (+n) or - // negative (-n) integer. However, this does not make - // sense in 'weekly' so we ignore it here. - $recurrenceDays[] = $this->dayMap[substr($byDay,-2)]; - - } - - do { - - $this->currentDate->modify('+' . $this->interval . ' days'); - - // Current day of the week - $currentDay = $this->currentDate->format('w'); - - } while (!in_array($currentDay, $recurrenceDays)); - - } - - /** - * Does the processing for advancing the iterator for weekly frequency. - * - * @return void - */ - protected function nextWeekly() { - - if (!$this->byDay) { - $this->currentDate->modify('+' . $this->interval . ' weeks'); - return; - } - - $recurrenceDays = array(); - foreach($this->byDay as $byDay) { - - // The day may be preceeded with a positive (+n) or - // negative (-n) integer. However, this does not make - // sense in 'weekly' so we ignore it here. - $recurrenceDays[] = $this->dayMap[substr($byDay,-2)]; - - } - - // Current day of the week - $currentDay = $this->currentDate->format('w'); - - // First day of the week: - $firstDay = $this->dayMap[$this->weekStart]; - - $time = array( - $this->currentDate->format('H'), - $this->currentDate->format('i'), - $this->currentDate->format('s') - ); - - // Increasing the 'current day' until we find our next - // occurrence. - while(true) { - - $currentDay++; - - if ($currentDay>6) { - $currentDay = 0; - } - - // We need to roll over to the next week - if ($currentDay === $firstDay) { - $this->currentDate->modify('+' . $this->interval . ' weeks'); - - // We need to go to the first day of this week, but only if we - // are not already on this first day of this week. - if($this->currentDate->format('w') != $firstDay) { - $this->currentDate->modify('last ' . $this->dayNames[$this->dayMap[$this->weekStart]]); - $this->currentDate->setTime($time[0],$time[1],$time[2]); - } - } - - // We have a match - if (in_array($currentDay ,$recurrenceDays)) { - $this->currentDate->modify($this->dayNames[$currentDay]); - $this->currentDate->setTime($time[0],$time[1],$time[2]); - break; - } - - } - - } - - /** - * Does the processing for advancing the iterator for monthly frequency. - * - * @return void - */ - protected function nextMonthly() { - - $currentDayOfMonth = $this->currentDate->format('j'); - if (!$this->byMonthDay && !$this->byDay) { - - // If the current day is higher than the 28th, rollover can - // occur to the next month. We Must skip these invalid - // entries. - if ($currentDayOfMonth < 29) { - $this->currentDate->modify('+' . $this->interval . ' months'); - } else { - $increase = 0; - do { - $increase++; - $tempDate = clone $this->currentDate; - $tempDate->modify('+ ' . ($this->interval*$increase) . ' months'); - } while ($tempDate->format('j') != $currentDayOfMonth); - $this->currentDate = $tempDate; - } - return; - } - - while(true) { - - $occurrences = $this->getMonthlyOccurrences(); - - foreach($occurrences as $occurrence) { - - // The first occurrence thats higher than the current - // day of the month wins. - if ($occurrence > $currentDayOfMonth) { - break 2; - } - - } - - // If we made it all the way here, it means there were no - // valid occurrences, and we need to advance to the next - // month. - $this->currentDate->modify('first day of this month'); - $this->currentDate->modify('+ ' . $this->interval . ' months'); - - // This goes to 0 because we need to start counting at hte - // beginning. - $currentDayOfMonth = 0; - - } - - $this->currentDate->setDate($this->currentDate->format('Y'), $this->currentDate->format('n'), $occurrence); - - } - - /** - * Does the processing for advancing the iterator for yearly frequency. - * - * @return void - */ - protected function nextYearly() { - - $currentMonth = $this->currentDate->format('n'); - $currentYear = $this->currentDate->format('Y'); - $currentDayOfMonth = $this->currentDate->format('j'); - - // No sub-rules, so we just advance by year - if (!$this->byMonth) { - - // Unless it was a leap day! - if ($currentMonth==2 && $currentDayOfMonth==29) { - - $counter = 0; - do { - $counter++; - // Here we increase the year count by the interval, until - // we hit a date that's also in a leap year. - // - // We could just find the next interval that's dividable by - // 4, but that would ignore the rule that there's no leap - // year every year that's dividable by a 100, but not by - // 400. (1800, 1900, 2100). So we just rely on the datetime - // functions instead. - $nextDate = clone $this->currentDate; - $nextDate->modify('+ ' . ($this->interval*$counter) . ' years'); - } while ($nextDate->format('n')!=2); - $this->currentDate = $nextDate; - - return; - - } - - // The easiest form - $this->currentDate->modify('+' . $this->interval . ' years'); - return; - - } - - $currentMonth = $this->currentDate->format('n'); - $currentYear = $this->currentDate->format('Y'); - $currentDayOfMonth = $this->currentDate->format('j'); - - $advancedToNewMonth = false; - - // If we got a byDay or getMonthDay filter, we must first expand - // further. - if ($this->byDay || $this->byMonthDay) { - - while(true) { - - $occurrences = $this->getMonthlyOccurrences(); - - foreach($occurrences as $occurrence) { - - // The first occurrence that's higher than the current - // day of the month wins. - // If we advanced to the next month or year, the first - // occurence is always correct. - if ($occurrence > $currentDayOfMonth || $advancedToNewMonth) { - break 2; - } - - } - - // If we made it here, it means we need to advance to - // the next month or year. - $currentDayOfMonth = 1; - $advancedToNewMonth = true; - do { - - $currentMonth++; - if ($currentMonth>12) { - $currentYear+=$this->interval; - $currentMonth = 1; - } - } while (!in_array($currentMonth, $this->byMonth)); - - $this->currentDate->setDate($currentYear, $currentMonth, $currentDayOfMonth); - - } - - // If we made it here, it means we got a valid occurrence - $this->currentDate->setDate($currentYear, $currentMonth, $occurrence); - return; - - } else { - - // These are the 'byMonth' rules, if there are no byDay or - // byMonthDay sub-rules. - do { - - $currentMonth++; - if ($currentMonth>12) { - $currentYear+=$this->interval; - $currentMonth = 1; - } - } while (!in_array($currentMonth, $this->byMonth)); - $this->currentDate->setDate($currentYear, $currentMonth, $currentDayOfMonth); - - return; - - } - - } - - /** - * Returns all the occurrences for a monthly frequency with a 'byDay' or - * 'byMonthDay' expansion for the current month. - * - * The returned list is an array of integers with the day of month (1-31). - * - * @return array - */ - protected function getMonthlyOccurrences() { - - $startDate = clone $this->currentDate; - - $byDayResults = array(); - - // Our strategy is to simply go through the byDays, advance the date to - // that point and add it to the results. - if ($this->byDay) foreach($this->byDay as $day) { - - $dayName = $this->dayNames[$this->dayMap[substr($day,-2)]]; - - // Dayname will be something like 'wednesday'. Now we need to find - // all wednesdays in this month. - $dayHits = array(); - - $checkDate = clone $startDate; - $checkDate->modify('first day of this month'); - $checkDate->modify($dayName); - - do { - $dayHits[] = $checkDate->format('j'); - $checkDate->modify('next ' . $dayName); - } while ($checkDate->format('n') === $startDate->format('n')); - - // So now we have 'all wednesdays' for month. It is however - // possible that the user only really wanted the 1st, 2nd or last - // wednesday. - if (strlen($day)>2) { - $offset = (int)substr($day,0,-2); - - if ($offset>0) { - // It is possible that the day does not exist, such as a - // 5th or 6th wednesday of the month. - if (isset($dayHits[$offset-1])) { - $byDayResults[] = $dayHits[$offset-1]; - } - } else { - - // if it was negative we count from the end of the array - $byDayResults[] = $dayHits[count($dayHits) + $offset]; - } - } else { - // There was no counter (first, second, last wednesdays), so we - // just need to add the all to the list). - $byDayResults = array_merge($byDayResults, $dayHits); - - } - - } - - $byMonthDayResults = array(); - if ($this->byMonthDay) foreach($this->byMonthDay as $monthDay) { - - // Removing values that are out of range for this month - if ($monthDay > $startDate->format('t') || - $monthDay < 0-$startDate->format('t')) { - continue; - } - if ($monthDay>0) { - $byMonthDayResults[] = $monthDay; - } else { - // Negative values - $byMonthDayResults[] = $startDate->format('t') + 1 + $monthDay; - } - } - - // If there was just byDay or just byMonthDay, they just specify our - // (almost) final list. If both were provided, then byDay limits the - // list. - if ($this->byMonthDay && $this->byDay) { - $result = array_intersect($byMonthDayResults, $byDayResults); - } elseif ($this->byMonthDay) { - $result = $byMonthDayResults; - } else { - $result = $byDayResults; - } - $result = array_unique($result); - sort($result, SORT_NUMERIC); - - // The last thing that needs checking is the BYSETPOS. If it's set, it - // means only certain items in the set survive the filter. - if (!$this->bySetPos) { - return $result; - } - - $filteredResult = array(); - foreach($this->bySetPos as $setPos) { - - if ($setPos<0) { - $setPos = count($result)-($setPos+1); - } - if (isset($result[$setPos-1])) { - $filteredResult[] = $result[$setPos-1]; - } - } - - sort($filteredResult, SORT_NUMERIC); - return $filteredResult; - - } - - -} - diff --git a/3rdparty/Sabre/VObject/Version.php b/3rdparty/Sabre/VObject/Version.php deleted file mode 100755 index 9ee03d871181899be61043c38e056978d8d082f1..0000000000000000000000000000000000000000 --- a/3rdparty/Sabre/VObject/Version.php +++ /dev/null @@ -1,24 +0,0 @@ -'Australia/Darwin', - 'AUS Eastern Standard Time'=>'Australia/Sydney', - 'Afghanistan Standard Time'=>'Asia/Kabul', - 'Alaskan Standard Time'=>'America/Anchorage', - 'Arab Standard Time'=>'Asia/Riyadh', - 'Arabian Standard Time'=>'Asia/Dubai', - 'Arabic Standard Time'=>'Asia/Baghdad', - 'Argentina Standard Time'=>'America/Buenos_Aires', - 'Armenian Standard Time'=>'Asia/Yerevan', - 'Atlantic Standard Time'=>'America/Halifax', - 'Azerbaijan Standard Time'=>'Asia/Baku', - 'Azores Standard Time'=>'Atlantic/Azores', - 'Bangladesh Standard Time'=>'Asia/Dhaka', - 'Canada Central Standard Time'=>'America/Regina', - 'Cape Verde Standard Time'=>'Atlantic/Cape_Verde', - 'Caucasus Standard Time'=>'Asia/Yerevan', - 'Cen. Australia Standard Time'=>'Australia/Adelaide', - 'Central America Standard Time'=>'America/Guatemala', - 'Central Asia Standard Time'=>'Asia/Almaty', - 'Central Brazilian Standard Time'=>'America/Cuiaba', - 'Central Europe Standard Time'=>'Europe/Budapest', - 'Central European Standard Time'=>'Europe/Warsaw', - 'Central Pacific Standard Time'=>'Pacific/Guadalcanal', - 'Central Standard Time'=>'America/Chicago', - 'Central Standard Time (Mexico)'=>'America/Mexico_City', - 'China Standard Time'=>'Asia/Shanghai', - 'Dateline Standard Time'=>'Etc/GMT+12', - 'E. Africa Standard Time'=>'Africa/Nairobi', - 'E. Australia Standard Time'=>'Australia/Brisbane', - 'E. Europe Standard Time'=>'Europe/Minsk', - 'E. South America Standard Time'=>'America/Sao_Paulo', - 'Eastern Standard Time'=>'America/New_York', - 'Egypt Standard Time'=>'Africa/Cairo', - 'Ekaterinburg Standard Time'=>'Asia/Yekaterinburg', - 'FLE Standard Time'=>'Europe/Kiev', - 'Fiji Standard Time'=>'Pacific/Fiji', - 'GMT Standard Time'=>'Europe/London', - 'GTB Standard Time'=>'Europe/Istanbul', - 'Georgian Standard Time'=>'Asia/Tbilisi', - 'Greenland Standard Time'=>'America/Godthab', - 'Greenwich Standard Time'=>'Atlantic/Reykjavik', - 'Hawaiian Standard Time'=>'Pacific/Honolulu', - 'India Standard Time'=>'Asia/Calcutta', - 'Iran Standard Time'=>'Asia/Tehran', - 'Israel Standard Time'=>'Asia/Jerusalem', - 'Jordan Standard Time'=>'Asia/Amman', - 'Kamchatka Standard Time'=>'Asia/Kamchatka', - 'Korea Standard Time'=>'Asia/Seoul', - 'Magadan Standard Time'=>'Asia/Magadan', - 'Mauritius Standard Time'=>'Indian/Mauritius', - 'Mexico Standard Time'=>'America/Mexico_City', - 'Mexico Standard Time 2'=>'America/Chihuahua', - 'Mid-Atlantic Standard Time'=>'Etc/GMT+2', - 'Middle East Standard Time'=>'Asia/Beirut', - 'Montevideo Standard Time'=>'America/Montevideo', - 'Morocco Standard Time'=>'Africa/Casablanca', - 'Mountain Standard Time'=>'America/Denver', - 'Mountain Standard Time (Mexico)'=>'America/Chihuahua', - 'Myanmar Standard Time'=>'Asia/Rangoon', - 'N. Central Asia Standard Time'=>'Asia/Novosibirsk', - 'Namibia Standard Time'=>'Africa/Windhoek', - 'Nepal Standard Time'=>'Asia/Katmandu', - 'New Zealand Standard Time'=>'Pacific/Auckland', - 'Newfoundland Standard Time'=>'America/St_Johns', - 'North Asia East Standard Time'=>'Asia/Irkutsk', - 'North Asia Standard Time'=>'Asia/Krasnoyarsk', - 'Pacific SA Standard Time'=>'America/Santiago', - 'Pacific Standard Time'=>'America/Los_Angeles', - 'Pacific Standard Time (Mexico)'=>'America/Santa_Isabel', - 'Pakistan Standard Time'=>'Asia/Karachi', - 'Paraguay Standard Time'=>'America/Asuncion', - 'Romance Standard Time'=>'Europe/Paris', - 'Russian Standard Time'=>'Europe/Moscow', - 'SA Eastern Standard Time'=>'America/Cayenne', - 'SA Pacific Standard Time'=>'America/Bogota', - 'SA Western Standard Time'=>'America/La_Paz', - 'SE Asia Standard Time'=>'Asia/Bangkok', - 'Samoa Standard Time'=>'Pacific/Apia', - 'Singapore Standard Time'=>'Asia/Singapore', - 'South Africa Standard Time'=>'Africa/Johannesburg', - 'Sri Lanka Standard Time'=>'Asia/Colombo', - 'Syria Standard Time'=>'Asia/Damascus', - 'Taipei Standard Time'=>'Asia/Taipei', - 'Tasmania Standard Time'=>'Australia/Hobart', - 'Tokyo Standard Time'=>'Asia/Tokyo', - 'Tonga Standard Time'=>'Pacific/Tongatapu', - 'US Eastern Standard Time'=>'America/Indianapolis', - 'US Mountain Standard Time'=>'America/Phoenix', - 'UTC'=>'Etc/GMT', - 'UTC+12'=>'Etc/GMT-12', - 'UTC-02'=>'Etc/GMT+2', - 'UTC-11'=>'Etc/GMT+11', - 'Ulaanbaatar Standard Time'=>'Asia/Ulaanbaatar', - 'Venezuela Standard Time'=>'America/Caracas', - 'Vladivostok Standard Time'=>'Asia/Vladivostok', - 'W. Australia Standard Time'=>'Australia/Perth', - 'W. Central Africa Standard Time'=>'Africa/Lagos', - 'W. Europe Standard Time'=>'Europe/Berlin', - 'West Asia Standard Time'=>'Asia/Tashkent', - 'West Pacific Standard Time'=>'Pacific/Port_Moresby', - 'Yakutsk Standard Time'=>'Asia/Yakutsk', - ); - - static public function lookup($tzid) { - return isset(self::$map[$tzid]) ? self::$map[$tzid] : null; - } -} diff --git a/3rdparty/Sabre/VObject/includes.php b/3rdparty/Sabre/VObject/includes.php deleted file mode 100755 index 0177a8f1ba69089c467da2f6dbe67a14c2914fa6..0000000000000000000000000000000000000000 --- a/3rdparty/Sabre/VObject/includes.php +++ /dev/null @@ -1,41 +0,0 @@ - - * @copyright 1997-2009 The Authors - * @license http://opensource.org/licenses/bsd-license.php New BSD License - * @version CVS: $Id: System.php 313024 2011-07-06 19:51:24Z 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 -* @copyright 1997-2006 The PHP Group -* @license http://opensource.org/licenses/bsd-license.php New BSD License -* @version Release: 1.9.4 -* @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) { - // Find all items, quoted or otherwise - preg_match_all("/(?:[\"'])(.*?)(?:['\"])|([^\s]+)/", $argv, $av); - $argv = $av[1]; - foreach ($av[2] as $k => $a) { - if (empty($a)) { - continue; - } - $argv[$k] = trim($a) ; - } - } - return Console_Getopt::getopt2($argv, $short_options, $long_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 - */ - 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 -> max depth of recursion - * -name -> 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 diff --git a/3rdparty/XML/Parser.php b/3rdparty/XML/Parser.php deleted file mode 100644 index 04dd348753d2949f7c08a45492c69ce9c30b262a..0000000000000000000000000000000000000000 --- a/3rdparty/XML/Parser.php +++ /dev/null @@ -1,754 +0,0 @@ - - * @author Tomas V.V.Cox - * @author Stephan Schmidt - * @copyright 2002-2008 The PHP Group - * @license http://opensource.org/licenses/bsd-license New BSD License - * @version CVS: $Id: Parser.php 302733 2010-08-24 01:09:09Z clockwerx $ - * @link http://pear.php.net/package/XML_Parser - */ - -/** - * uses PEAR's error handling - */ -require_once 'PEAR.php'; - -/** - * resource could not be created - */ -define('XML_PARSER_ERROR_NO_RESOURCE', 200); - -/** - * unsupported mode - */ -define('XML_PARSER_ERROR_UNSUPPORTED_MODE', 201); - -/** - * invalid encoding was given - */ -define('XML_PARSER_ERROR_INVALID_ENCODING', 202); - -/** - * specified file could not be read - */ -define('XML_PARSER_ERROR_FILE_NOT_READABLE', 203); - -/** - * invalid input - */ -define('XML_PARSER_ERROR_INVALID_INPUT', 204); - -/** - * remote file cannot be retrieved in safe mode - */ -define('XML_PARSER_ERROR_REMOTE', 205); - -/** - * XML Parser class. - * - * This is an XML parser based on PHP's "xml" extension, - * based on the bundled expat library. - * - * Notes: - * - It requires PHP 4.0.4pl1 or greater - * - From revision 1.17, the function names used by the 'func' mode - * are in the format "xmltag_$elem", for example: use "xmltag_name" - * to handle the tags of your xml file. - * - different parsing modes - * - * @category XML - * @package XML_Parser - * @author Stig Bakken - * @author Tomas V.V.Cox - * @author Stephan Schmidt - * @copyright 2002-2008 The PHP Group - * @license http://opensource.org/licenses/bsd-license New BSD License - * @version Release: @package_version@ - * @link http://pear.php.net/package/XML_Parser - * @todo create XML_Parser_Namespace to parse documents with namespaces - * @todo create XML_Parser_Pull - * @todo Tests that need to be made: - * - mixing character encodings - * - a test using all expat handlers - * - options (folding, output charset) - */ -class XML_Parser extends PEAR -{ - // {{{ properties - - /** - * XML parser handle - * - * @var resource - * @see xml_parser_create() - */ - var $parser; - - /** - * File handle if parsing from a file - * - * @var resource - */ - var $fp; - - /** - * Whether to do case folding - * - * If set to true, all tag and attribute names will - * be converted to UPPER CASE. - * - * @var boolean - */ - var $folding = true; - - /** - * Mode of operation, one of "event" or "func" - * - * @var string - */ - var $mode; - - /** - * Mapping from expat handler function to class method. - * - * @var array - */ - var $handler = array( - 'character_data_handler' => 'cdataHandler', - 'default_handler' => 'defaultHandler', - 'processing_instruction_handler' => 'piHandler', - 'unparsed_entity_decl_handler' => 'unparsedHandler', - 'notation_decl_handler' => 'notationHandler', - 'external_entity_ref_handler' => 'entityrefHandler' - ); - - /** - * source encoding - * - * @var string - */ - var $srcenc; - - /** - * target encoding - * - * @var string - */ - var $tgtenc; - - /** - * handler object - * - * @var object - */ - var $_handlerObj; - - /** - * valid encodings - * - * @var array - */ - var $_validEncodings = array('ISO-8859-1', 'UTF-8', 'US-ASCII'); - - // }}} - // {{{ php5 constructor - - /** - * PHP5 constructor - * - * @param string $srcenc source charset encoding, use NULL (default) to use - * whatever the document specifies - * @param string $mode how this parser object should work, "event" for - * startelement/endelement-type events, "func" - * to have it call functions named after elements - * @param string $tgtenc a valid target encoding - */ - function __construct($srcenc = null, $mode = 'event', $tgtenc = null) - { - $this->PEAR('XML_Parser_Error'); - - $this->mode = $mode; - $this->srcenc = $srcenc; - $this->tgtenc = $tgtenc; - } - // }}} - - /** - * Sets the mode of the parser. - * - * Possible modes are: - * - func - * - event - * - * You can set the mode using the second parameter - * in the constructor. - * - * This method is only needed, when switching to a new - * mode at a later point. - * - * @param string $mode mode, either 'func' or 'event' - * - * @return boolean|object true on success, PEAR_Error otherwise - * @access public - */ - function setMode($mode) - { - if ($mode != 'func' && $mode != 'event') { - $this->raiseError('Unsupported mode given', - XML_PARSER_ERROR_UNSUPPORTED_MODE); - } - - $this->mode = $mode; - return true; - } - - /** - * Sets the object, that will handle the XML events - * - * This allows you to create a handler object independent of the - * parser object that you are using and easily switch the underlying - * parser. - * - * If no object will be set, XML_Parser assumes that you - * extend this class and handle the events in $this. - * - * @param object &$obj object to handle the events - * - * @return boolean will always return true - * @access public - * @since v1.2.0beta3 - */ - function setHandlerObj(&$obj) - { - $this->_handlerObj = &$obj; - return true; - } - - /** - * Init the element handlers - * - * @return mixed - * @access private - */ - function _initHandlers() - { - if (!is_resource($this->parser)) { - return false; - } - - if (!is_object($this->_handlerObj)) { - $this->_handlerObj = &$this; - } - switch ($this->mode) { - - case 'func': - xml_set_object($this->parser, $this->_handlerObj); - xml_set_element_handler($this->parser, - array(&$this, 'funcStartHandler'), array(&$this, 'funcEndHandler')); - break; - - case 'event': - xml_set_object($this->parser, $this->_handlerObj); - xml_set_element_handler($this->parser, 'startHandler', 'endHandler'); - break; - default: - return $this->raiseError('Unsupported mode given', - XML_PARSER_ERROR_UNSUPPORTED_MODE); - break; - } - - /** - * set additional handlers for character data, entities, etc. - */ - foreach ($this->handler as $xml_func => $method) { - if (method_exists($this->_handlerObj, $method)) { - $xml_func = 'xml_set_' . $xml_func; - $xml_func($this->parser, $method); - } - } - } - - // {{{ _create() - - /** - * create the XML parser resource - * - * Has been moved from the constructor to avoid - * problems with object references. - * - * Furthermore it allows us returning an error - * if something fails. - * - * NOTE: uses '@' error suppresion in this method - * - * @return bool|PEAR_Error true on success, PEAR_Error otherwise - * @access private - * @see xml_parser_create - */ - function _create() - { - if ($this->srcenc === null) { - $xp = @xml_parser_create(); - } else { - $xp = @xml_parser_create($this->srcenc); - } - if (is_resource($xp)) { - if ($this->tgtenc !== null) { - if (!@xml_parser_set_option($xp, XML_OPTION_TARGET_ENCODING, - $this->tgtenc) - ) { - return $this->raiseError('invalid target encoding', - XML_PARSER_ERROR_INVALID_ENCODING); - } - } - $this->parser = $xp; - $result = $this->_initHandlers($this->mode); - if (PEAR::isError($result)) { - return $result; - } - xml_parser_set_option($xp, XML_OPTION_CASE_FOLDING, $this->folding); - return true; - } - if (!in_array(strtoupper($this->srcenc), $this->_validEncodings)) { - return $this->raiseError('invalid source encoding', - XML_PARSER_ERROR_INVALID_ENCODING); - } - return $this->raiseError('Unable to create XML parser resource.', - XML_PARSER_ERROR_NO_RESOURCE); - } - - // }}} - // {{{ reset() - - /** - * Reset the parser. - * - * This allows you to use one parser instance - * to parse multiple XML documents. - * - * @access public - * @return boolean|object true on success, PEAR_Error otherwise - */ - function reset() - { - $result = $this->_create(); - if (PEAR::isError($result)) { - return $result; - } - return true; - } - - // }}} - // {{{ setInputFile() - - /** - * Sets the input xml file to be parsed - * - * @param string $file Filename (full path) - * - * @return resource fopen handle of the given file - * @access public - * @throws XML_Parser_Error - * @see setInput(), setInputString(), parse() - */ - function setInputFile($file) - { - /** - * check, if file is a remote file - */ - if (preg_match('/^(http|ftp):\/\//i', substr($file, 0, 10))) { - if (!ini_get('allow_url_fopen')) { - return $this-> - raiseError('Remote files cannot be parsed, as safe mode is enabled.', - XML_PARSER_ERROR_REMOTE); - } - } - - $fp = @fopen($file, 'rb'); - if (is_resource($fp)) { - $this->fp = $fp; - return $fp; - } - return $this->raiseError('File could not be opened.', - XML_PARSER_ERROR_FILE_NOT_READABLE); - } - - // }}} - // {{{ setInputString() - - /** - * XML_Parser::setInputString() - * - * Sets the xml input from a string - * - * @param string $data a string containing the XML document - * - * @return null - */ - function setInputString($data) - { - $this->fp = $data; - return null; - } - - // }}} - // {{{ setInput() - - /** - * Sets the file handle to use with parse(). - * - * You should use setInputFile() or setInputString() if you - * pass a string - * - * @param mixed $fp Can be either a resource returned from fopen(), - * a URL, a local filename or a string. - * - * @return mixed - * @access public - * @see parse() - * @uses setInputString(), setInputFile() - */ - function setInput($fp) - { - if (is_resource($fp)) { - $this->fp = $fp; - return true; - } elseif (preg_match('/^[a-z]+:\/\//i', substr($fp, 0, 10))) { - // see if it's an absolute URL (has a scheme at the beginning) - return $this->setInputFile($fp); - } elseif (file_exists($fp)) { - // see if it's a local file - return $this->setInputFile($fp); - } else { - // it must be a string - $this->fp = $fp; - return true; - } - - return $this->raiseError('Illegal input format', - XML_PARSER_ERROR_INVALID_INPUT); - } - - // }}} - // {{{ parse() - - /** - * Central parsing function. - * - * @return bool|PEAR_Error returns true on success, or a PEAR_Error otherwise - * @access public - */ - function parse() - { - /** - * reset the parser - */ - $result = $this->reset(); - if (PEAR::isError($result)) { - return $result; - } - // if $this->fp was fopened previously - if (is_resource($this->fp)) { - - while ($data = fread($this->fp, 4096)) { - if (!$this->_parseString($data, feof($this->fp))) { - $error = &$this->raiseError(); - $this->free(); - return $error; - } - } - } else { - // otherwise, $this->fp must be a string - if (!$this->_parseString($this->fp, true)) { - $error = &$this->raiseError(); - $this->free(); - return $error; - } - } - $this->free(); - - return true; - } - - /** - * XML_Parser::_parseString() - * - * @param string $data data - * @param bool $eof end-of-file flag - * - * @return bool - * @access private - * @see parseString() - **/ - function _parseString($data, $eof = false) - { - return xml_parse($this->parser, $data, $eof); - } - - // }}} - // {{{ parseString() - - /** - * XML_Parser::parseString() - * - * Parses a string. - * - * @param string $data XML data - * @param boolean $eof If set and TRUE, data is the last piece - * of data sent in this parser - * - * @return bool|PEAR_Error true on success or a PEAR Error - * @throws XML_Parser_Error - * @see _parseString() - */ - function parseString($data, $eof = false) - { - if (!isset($this->parser) || !is_resource($this->parser)) { - $this->reset(); - } - - if (!$this->_parseString($data, $eof)) { - $error = &$this->raiseError(); - $this->free(); - return $error; - } - - if ($eof === true) { - $this->free(); - } - return true; - } - - /** - * XML_Parser::free() - * - * Free the internal resources associated with the parser - * - * @return null - **/ - function free() - { - if (isset($this->parser) && is_resource($this->parser)) { - xml_parser_free($this->parser); - unset( $this->parser ); - } - if (isset($this->fp) && is_resource($this->fp)) { - fclose($this->fp); - } - unset($this->fp); - return null; - } - - /** - * XML_Parser::raiseError() - * - * Throws a XML_Parser_Error - * - * @param string $msg the error message - * @param integer $ecode the error message code - * - * @return XML_Parser_Error reference to the error object - **/ - static function &raiseError($message = null, - $code = 0, - $mode = null, - $options = null, - $userinfo = null, - $error_class = null, - $skipmsg = false) - { - $msg = !is_null($msg) ? $msg : $this->parser; - $err = new XML_Parser_Error($msg, $ecode); - return parent::raiseError($err); - } - - // }}} - // {{{ funcStartHandler() - - /** - * derives and calls the Start Handler function - * - * @param mixed $xp ?? - * @param mixed $elem ?? - * @param mixed $attribs ?? - * - * @return void - */ - function funcStartHandler($xp, $elem, $attribs) - { - $func = 'xmltag_' . $elem; - $func = str_replace(array('.', '-', ':'), '_', $func); - if (method_exists($this->_handlerObj, $func)) { - call_user_func(array(&$this->_handlerObj, $func), $xp, $elem, $attribs); - } elseif (method_exists($this->_handlerObj, 'xmltag')) { - call_user_func(array(&$this->_handlerObj, 'xmltag'), - $xp, $elem, $attribs); - } - } - - // }}} - // {{{ funcEndHandler() - - /** - * derives and calls the End Handler function - * - * @param mixed $xp ?? - * @param mixed $elem ?? - * - * @return void - */ - function funcEndHandler($xp, $elem) - { - $func = 'xmltag_' . $elem . '_'; - $func = str_replace(array('.', '-', ':'), '_', $func); - if (method_exists($this->_handlerObj, $func)) { - call_user_func(array(&$this->_handlerObj, $func), $xp, $elem); - } elseif (method_exists($this->_handlerObj, 'xmltag_')) { - call_user_func(array(&$this->_handlerObj, 'xmltag_'), $xp, $elem); - } - } - - // }}} - // {{{ startHandler() - - /** - * abstract method signature for Start Handler - * - * @param mixed $xp ?? - * @param mixed $elem ?? - * @param mixed &$attribs ?? - * - * @return null - * @abstract - */ - function startHandler($xp, $elem, &$attribs) - { - return null; - } - - // }}} - // {{{ endHandler() - - /** - * abstract method signature for End Handler - * - * @param mixed $xp ?? - * @param mixed $elem ?? - * - * @return null - * @abstract - */ - function endHandler($xp, $elem) - { - return null; - } - - - // }}}me -} - -/** - * error class, replaces PEAR_Error - * - * An instance of this class will be returned - * if an error occurs inside XML_Parser. - * - * There are three advantages over using the standard PEAR_Error: - * - All messages will be prefixed - * - check for XML_Parser error, using is_a( $error, 'XML_Parser_Error' ) - * - messages can be generated from the xml_parser resource - * - * @category XML - * @package XML_Parser - * @author Stig Bakken - * @author Tomas V.V.Cox - * @author Stephan Schmidt - * @copyright 2002-2008 The PHP Group - * @license http://opensource.org/licenses/bsd-license New BSD License - * @version Release: @package_version@ - * @link http://pear.php.net/package/XML_Parser - * @see PEAR_Error - */ -class XML_Parser_Error extends PEAR_Error -{ - // {{{ properties - - /** - * prefix for all messages - * - * @var string - */ - var $error_message_prefix = 'XML_Parser: '; - - // }}} - // {{{ constructor() - /** - * construct a new error instance - * - * You may either pass a message or an xml_parser resource as first - * parameter. If a resource has been passed, the last error that - * happened will be retrieved and returned. - * - * @param string|resource $msgorparser message or parser resource - * @param integer $code error code - * @param integer $mode error handling - * @param integer $level error level - * - * @access public - * @todo PEAR CS - can't meet 85char line limit without arg refactoring - */ - function XML_Parser_Error($msgorparser = 'unknown error', $code = 0, $mode = PEAR_ERROR_RETURN, $level = E_USER_NOTICE) - { - if (is_resource($msgorparser)) { - $code = xml_get_error_code($msgorparser); - $msgorparser = sprintf('%s at XML input line %d:%d', - xml_error_string($code), - xml_get_current_line_number($msgorparser), - xml_get_current_column_number($msgorparser)); - } - $this->PEAR_Error($msgorparser, $code, $mode, $level); - } - // }}} -} -?> diff --git a/3rdparty/XML/Parser/Simple.php b/3rdparty/XML/Parser/Simple.php deleted file mode 100644 index 9ed0abfc6cc045555d14e8305d9dcfb446695330..0000000000000000000000000000000000000000 --- a/3rdparty/XML/Parser/Simple.php +++ /dev/null @@ -1,326 +0,0 @@ - - * @copyright 2004-2008 Stephan Schmidt - * @license http://opensource.org/licenses/bsd-license New BSD License - * @version CVS: $Id: Simple.php 265444 2008-08-24 21:48:21Z ashnazg $ - * @link http://pear.php.net/package/XML_Parser - */ - -/** - * built on XML_Parser - */ -require_once 'XML/Parser.php'; - -/** - * Simple XML parser class. - * - * This class is a simplified version of XML_Parser. - * In most XML applications the real action is executed, - * when a closing tag is found. - * - * XML_Parser_Simple allows you to just implement one callback - * for each tag that will receive the tag with its attributes - * and CData. - * - * - * require_once '../Parser/Simple.php'; - * - * class myParser extends XML_Parser_Simple - * { - * function myParser() - * { - * $this->XML_Parser_Simple(); - * } - * - * function handleElement($name, $attribs, $data) - * { - * printf('handle %s
', $name); - * } - * } - * - * $p = &new myParser(); - * - * $result = $p->setInputFile('myDoc.xml'); - * $result = $p->parse(); - *
- * - * @category XML - * @package XML_Parser - * @author Stephan Schmidt - * @copyright 2004-2008 The PHP Group - * @license http://opensource.org/licenses/bsd-license New BSD License - * @version Release: @package_version@ - * @link http://pear.php.net/package/XML_Parser - */ -class XML_Parser_Simple extends XML_Parser -{ - /** - * element stack - * - * @access private - * @var array - */ - var $_elStack = array(); - - /** - * all character data - * - * @access private - * @var array - */ - var $_data = array(); - - /** - * element depth - * - * @access private - * @var integer - */ - var $_depth = 0; - - /** - * Mapping from expat handler function to class method. - * - * @var array - */ - var $handler = array( - 'default_handler' => 'defaultHandler', - 'processing_instruction_handler' => 'piHandler', - 'unparsed_entity_decl_handler' => 'unparsedHandler', - 'notation_decl_handler' => 'notationHandler', - 'external_entity_ref_handler' => 'entityrefHandler' - ); - - /** - * Creates an XML parser. - * - * This is needed for PHP4 compatibility, it will - * call the constructor, when a new instance is created. - * - * @param string $srcenc source charset encoding, use NULL (default) to use - * whatever the document specifies - * @param string $mode how this parser object should work, "event" for - * handleElement(), "func" to have it call functions - * named after elements (handleElement_$name()) - * @param string $tgtenc a valid target encoding - */ - function XML_Parser_Simple($srcenc = null, $mode = 'event', $tgtenc = null) - { - $this->XML_Parser($srcenc, $mode, $tgtenc); - } - - /** - * inits the handlers - * - * @return mixed - * @access private - */ - function _initHandlers() - { - if (!is_object($this->_handlerObj)) { - $this->_handlerObj = &$this; - } - - if ($this->mode != 'func' && $this->mode != 'event') { - return $this->raiseError('Unsupported mode given', - XML_PARSER_ERROR_UNSUPPORTED_MODE); - } - xml_set_object($this->parser, $this->_handlerObj); - - xml_set_element_handler($this->parser, array(&$this, 'startHandler'), - array(&$this, 'endHandler')); - xml_set_character_data_handler($this->parser, array(&$this, 'cdataHandler')); - - /** - * set additional handlers for character data, entities, etc. - */ - foreach ($this->handler as $xml_func => $method) { - if (method_exists($this->_handlerObj, $method)) { - $xml_func = 'xml_set_' . $xml_func; - $xml_func($this->parser, $method); - } - } - } - - /** - * Reset the parser. - * - * This allows you to use one parser instance - * to parse multiple XML documents. - * - * @access public - * @return boolean|object true on success, PEAR_Error otherwise - */ - function reset() - { - $this->_elStack = array(); - $this->_data = array(); - $this->_depth = 0; - - $result = $this->_create(); - if ($this->isError($result)) { - return $result; - } - return true; - } - - /** - * start handler - * - * Pushes attributes and tagname onto a stack - * - * @param resource $xp xml parser resource - * @param string $elem element name - * @param array &$attribs attributes - * - * @return mixed - * @access private - * @final - */ - function startHandler($xp, $elem, &$attribs) - { - array_push($this->_elStack, array( - 'name' => $elem, - 'attribs' => $attribs - )); - $this->_depth++; - $this->_data[$this->_depth] = ''; - } - - /** - * end handler - * - * Pulls attributes and tagname from a stack - * - * @param resource $xp xml parser resource - * @param string $elem element name - * - * @return mixed - * @access private - * @final - */ - function endHandler($xp, $elem) - { - $el = array_pop($this->_elStack); - $data = $this->_data[$this->_depth]; - $this->_depth--; - - switch ($this->mode) { - case 'event': - $this->_handlerObj->handleElement($el['name'], $el['attribs'], $data); - break; - case 'func': - $func = 'handleElement_' . $elem; - if (strchr($func, '.')) { - $func = str_replace('.', '_', $func); - } - if (method_exists($this->_handlerObj, $func)) { - call_user_func(array(&$this->_handlerObj, $func), - $el['name'], $el['attribs'], $data); - } - break; - } - } - - /** - * handle character data - * - * @param resource $xp xml parser resource - * @param string $data data - * - * @return void - * @access private - * @final - */ - function cdataHandler($xp, $data) - { - $this->_data[$this->_depth] .= $data; - } - - /** - * handle a tag - * - * Implement this in your parser - * - * @param string $name element name - * @param array $attribs attributes - * @param string $data character data - * - * @return void - * @access public - * @abstract - */ - function handleElement($name, $attribs, $data) - { - } - - /** - * get the current tag depth - * - * The root tag is in depth 0. - * - * @access public - * @return integer - */ - function getCurrentDepth() - { - return $this->_depth; - } - - /** - * add some string to the current ddata. - * - * This is commonly needed, when a document is parsed recursively. - * - * @param string $data data to add - * - * @return void - * @access public - */ - function addToData($data) - { - $this->_data[$this->_depth] .= $data; - } -} -?> diff --git a/3rdparty/aws-sdk/README.md b/3rdparty/aws-sdk/README.md deleted file mode 100644 index 7e55f76b3b2f8382cf296513169657531c2abb69..0000000000000000000000000000000000000000 --- a/3rdparty/aws-sdk/README.md +++ /dev/null @@ -1,136 +0,0 @@ -# AWS SDK for PHP - -The AWS SDK for PHP enables developers to build solutions for Amazon Simple Storage Service (Amazon S3), -Amazon Elastic Compute Cloud (Amazon EC2), Amazon SimpleDB, and more. With the AWS SDK for PHP, developers -can get started in minutes with a single, downloadable package. - -The SDK features: - -* **AWS PHP Libraries:** Build PHP applications on top of APIs that take the complexity out of coding directly - against a web service interface. The toolkit provides APIs that hide much of the lower-level implementation. -* **Code Samples:** Practical examples for how to use the toolkit to build applications. -* **Documentation:** Complete SDK reference documentation with samples demonstrating how to use the SDK. -* **PEAR package:** The ability to install the AWS SDK for PHP as a PEAR package. -* **SDK Compatibility Test:** Includes both an HTML-based and a CLI-based SDK Compatibility Test that you can - run on your server to determine whether or not your PHP environment meets the minimum requirements. - -For more information about the AWS SDK for PHP, including a complete list of supported services, see -[aws.amazon.com/sdkforphp](http://aws.amazon.com/sdkforphp). - - -## Signing up for Amazon Web Services - -Before you can begin, you must sign up for each service you want to use. - -To sign up for a service: - -* Go to the home page for the service. You can find a list of services on - [aws.amazon.com/products](http://aws.amazon.com/products). -* Click the Sign Up button on the top right corner of the page. If you don't already have an AWS account, you - are prompted to create one as part of the sign up process. -* Follow the on-screen instructions. -* AWS sends you a confirmation e-mail after the sign-up process is complete. At any time, you can view your - current account activity and manage your account by going to [aws.amazon.com](http://aws.amazon.com) and - clicking "Your Account". - - -## Source -The source tree for includes the following files and directories: - -* `_compatibility_test` -- Includes both an HTML-based and a CLI-based SDK Compatibility Test that you can - run on your server to determine whether or not your PHP environment meets the minimum requirements. -* `_docs` -- Informational documents, the contents of which should be fairly self-explanatory. -* `_samples` -- Code samples that you can run out of the box. -* `extensions` -- Extra code that can be used to enhance usage of the SDK, but isn't a service class or a - third-party library. -* `lib` -- Contains any third-party libraries that the SDK depends on. The licenses for these projects will - always be Apache 2.0-compatible. -* `services` -- Contains the service-specific classes that communicate with AWS. These classes are always - prefixed with `Amazon`. -* `utilities` -- Contains any utility-type methods that the SDK uses. Includes extensions to built-in PHP - classes, as well as new functionality that is entirely custom. These classes are always prefixed with `CF`. -* `README` -- The document you're reading right now. -* `config-sample.inc.php` -- A sample configuration file that should be filled out and renamed to `config.inc.php`. -* `sdk.class.php` -- The SDK loader that you would include in your projects. Contains the base functionality - that the rest of the SDK depends on. - - -## Minimum Requirements in a nutshell - -* You are at least an intermediate-level PHP developer and have a basic understanding of object-oriented PHP. -* You have a valid AWS account, and you've already signed up for the services you want to use. -* The PHP interpreter, version 5.2 or newer. PHP 5.2.17 or 5.3.x is highly recommended for use with the AWS SDK for PHP. -* The cURL PHP extension (compiled with the [OpenSSL](http://openssl.org) libraries for HTTPS support). -* The ability to read from and write to the file system via [file_get_contents()](http://php.net/file_get_contents) and [file_put_contents()](http://php.net/file_put_contents). - -If you're not sure whether your PHP environment meets these requirements, run the -[SDK Compatibility Test](http://github.com/amazonwebservices/aws-sdk-for-php/tree/master/_compatibility_test/) script -included in the SDK download. - - -## Installation - -### Via GitHub - -[Git](http://git-scm.com) is an extremely fast, efficient, distributed version control system ideal for the -collaborative development of software. [GitHub](http://github.com/amazonwebservices) is the best way to -collaborate with others. Fork, send pull requests and manage all your public and private git repositories. -We believe that GitHub is the ideal service for working collaboratively with the open source PHP community. - -Git is primarily a command-line tool. GitHub provides instructions for installing Git on -[Mac OS X](http://help.github.com/mac-git-installation/), [Windows](http://help.github.com/win-git-installation/), -and [Linux](http://help.github.com/linux-git-installation/). If you're unfamiliar with Git, there are a variety -of resources on the net that will help you learn more: - -* [Git Immersion](http://gitimmersion.com) is a guided tour that walks through the fundamentals of Git, inspired - by the premise that to know a thing is to do it. -* The [PeepCode screencast on Git](https://peepcode.com/products/git) ($12) will teach you how to install and - use Git. You'll learn how to create a repository, use branches, and work with remote repositories. -* [Git Reference](http://gitref.org) is meant to be a quick reference for learning and remembering the most - important and commonly used Git commands. -* [Git Ready](http://gitready.com) provides a collection of Git tips and tricks. -* If you want to dig even further, I've [bookmarked other Git references](http://pinboard.in/u:skyzyx/t:git). - -If you're comfortable working with Git and/or GitHub, you can pull down the source code as follows: - - git clone git://github.com/amazonwebservices/aws-sdk-for-php.git AWSSDKforPHP - cd ./AWSSDKforPHP - -### Via PEAR - -[PEAR](http://pear.php.net) stands for the _PHP Extension and Application Repository_ and is a framework and -distribution system for reusable PHP components. It is the PHP equivalent to package management software such as -[MacPorts](http://macports.org) and [Homebrew](https://github.com/mxcl/homebrew) for Mac OS X, -[Yum](http://fedoraproject.org/wiki/Tools/yum) and [Apt](http://wiki.debian.org/Apt) for GNU/Linux, -[RubyGems](http://rubygems.org) for Ruby, [Easy Install](http://packages.python.org/distribute/easy_install.html) -for Python, [Maven](http://maven.apache.org) for Java, and [NPM](http://npm.mape.me) for Node.js. - -PEAR packages are very easy to install, and are available in your PHP environment path so that they are accessible -to any PHP project. PEAR packages are not specific to your project, but rather to the machine that they're -installed on. - -From the command-line, you can install the SDK with PEAR as follows: - - pear channel-discover pear.amazonwebservices.com - pear install aws/sdk - -You may need to use `sudo` for the above commands. Once the SDK has been installed via PEAR, you can load it into -your project with: - - require_once 'AWSSDKforPHP/sdk.class.php'; - -### Configuration - -1. Copy the contents of [config-sample.inc.php](https://github.com/amazonwebservices/aws-sdk-for-php/raw/master/config-sample.inc.php) - and add your credentials as instructed in the file. -2. Move your file to `~/.aws/sdk/config.inc.php`. -3. Make sure that `getenv('HOME')` points to your user directory. If not you'll need to set - `putenv('HOME=')`. - - -## Additional Information - -* AWS SDK for PHP: -* Documentation: -* License: -* Discuss: diff --git a/3rdparty/aws-sdk/_compatibility_test/README.md b/3rdparty/aws-sdk/_compatibility_test/README.md deleted file mode 100644 index 9e2f2d89409290e02856fc3473f9d160204bbe53..0000000000000000000000000000000000000000 --- a/3rdparty/aws-sdk/_compatibility_test/README.md +++ /dev/null @@ -1,37 +0,0 @@ -# Compatibility Test - -## Via your web browser - -1. Upload `sdk_compatibility_test.php` to the web-accessible root of your website. -For example, if your website is `www.example.com`, upload it so that you can get -to it at `www.example.com/sdk_compatibility_test.php` - -2. Open your web browser and go to the page you just uploaded. - - -## Via the command line - -### Windows - -1. Upload `sdk_compatibility_test_cli.php` to your server via SFTP. - -2. SSH/RDP into the machine, and find the directory where you uploaded the test. - -3. Run the test, and review the results: - - php .\sdk_compatibility_test_cli.php - - -### Non-Windows (Mac or *nix) - -1. Upload `sdk_compatibility_test_cli.php` to your server via SFTP. - -2. SSH into the machine, and find the directory where you uploaded the test. - -3. Set the executable bit: - - chmod +x ./sdk_compatibility_test_cli.php - -4. Run the test, and review the results: - - ./sdk_compatibility_test_cli.php diff --git a/3rdparty/aws-sdk/_compatibility_test/sdk_compatibility.inc.php b/3rdparty/aws-sdk/_compatibility_test/sdk_compatibility.inc.php deleted file mode 100644 index c17ec33d72eab2584104b8378229737541452644..0000000000000000000000000000000000000000 --- a/3rdparty/aws-sdk/_compatibility_test/sdk_compatibility.inc.php +++ /dev/null @@ -1,75 +0,0 @@ -=')); -$simplexml_ok = extension_loaded('simplexml'); -$dom_ok = extension_loaded('dom'); -$json_ok = (extension_loaded('json') && function_exists('json_encode') && function_exists('json_decode')); -$spl_ok = extension_loaded('spl'); -$pcre_ok = extension_loaded('pcre'); -$curl_ok = false; -if (function_exists('curl_version')) -{ - $curl_version = curl_version(); - $curl_ok = (function_exists('curl_exec') && in_array('https', $curl_version['protocols'], true)); -} -$file_ok = (function_exists('file_get_contents') && function_exists('file_put_contents')); - -// Optional, but recommended -$openssl_ok = (extension_loaded('openssl') && function_exists('openssl_sign')); -$zlib_ok = extension_loaded('zlib'); - -// Optional -$apc_ok = extension_loaded('apc'); -$xcache_ok = extension_loaded('xcache'); -$memcached_ok = extension_loaded('memcached'); -$memcache_ok = extension_loaded('memcache'); -$mc_ok = ($memcache_ok || $memcached_ok); -$pdo_ok = extension_loaded('pdo'); -$pdo_sqlite_ok = extension_loaded('pdo_sqlite'); -$sqlite2_ok = extension_loaded('sqlite'); -$sqlite3_ok = extension_loaded('sqlite3'); -$sqlite_ok = ($pdo_ok && $pdo_sqlite_ok && ($sqlite2_ok || $sqlite3_ok)); - -// Other -$int64_ok = (PHP_INT_MAX === 9223372036854775807); -$ini_memory_limit = get_ini('memory_limit'); -$ini_open_basedir = get_ini('open_basedir'); -$ini_safe_mode = get_ini('safe_mode'); -$ini_zend_enable_gc = get_ini('zend.enable_gc'); - -if ($php_ok && $int64_ok && $curl_ok && $simplexml_ok && $dom_ok && $spl_ok && $json_ok && $pcre_ok && $file_ok && $openssl_ok && $zlib_ok && ($apc_ok || $xcache_ok || $mc_ok || $sqlite_ok)) -{ - $compatiblity = REQUIREMENTS_ALL_MET; -} -elseif ($php_ok && $curl_ok && $simplexml_ok && $dom_ok && $spl_ok && $json_ok && $pcre_ok && $file_ok) -{ - $compatiblity = REQUIREMENTS_MIN_MET; -} -else -{ - $compatiblity = REQUIREMENTS_NOT_MET; -} - -function get_ini($config) -{ - $cfg_value = ini_get($config); - - if ($cfg_value === false || $cfg_value === '' || $cfg_value === 0) - { - return false; - } - elseif ($cfg_value === true || $cfg_value === '1' || $cfg_value === 1) - { - return true; - } -} - -function is_windows() -{ - return strtolower(substr(PHP_OS, 0, 3)) === 'win'; -} diff --git a/3rdparty/aws-sdk/_compatibility_test/sdk_compatibility_test.php b/3rdparty/aws-sdk/_compatibility_test/sdk_compatibility_test.php deleted file mode 100644 index b36a38ab35eaefecdb2e76e3f88164ec2977b290..0000000000000000000000000000000000000000 --- a/3rdparty/aws-sdk/_compatibility_test/sdk_compatibility_test.php +++ /dev/null @@ -1,789 +0,0 @@ - - - - -AWS SDK for PHP: Environment Compatibility Test - - - - - - - - - - -
-
- -
-

SDK Compatibility Test

- -

Minimum Requirements

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
TestShould BeWhat You Have
PHP5.2 or newer
cURL7.15.0 or newer, with SSL
SimpleXMLEnabled
DOMEnabled
SPLEnabled
JSONEnabled
PCREEnabled
File System Read/WriteEnabled
- -

Optional Extensions

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
TestWould Like To BeWhat You Have
OpenSSLEnabled
ZlibEnabled
APCEnabled
XCacheEnabled
MemcacheEnabled
MemcachedEnabled
PDOEnabled
PDO-SQLiteEnabled
SQLite 2Enabled
SQLite 3Enabled
- -

Settings for php.ini

- - - - - - - - - - - - - - - - - - - - - - - - - -
TestWould Like To BeWhat You Have
open_basediroff
safe_modeoff
zend.enable_gcon
- -

Other

- - - - - - - - - - - - - - - -
TestWould Like To BeWhat You Have
Architecture64-bit - (why?) -
- -
-
- - -
-

Bottom Line: Yes, you can!

-

Your PHP environment is ready to go, and can take advantage of all possible features!

-
-
-

What's Next?

-

You can download the latest version of the AWS SDK for PHP and install it by following the instructions. Also, check out our library of screencasts and tutorials.

-

Take the time to read "Getting Started" to make sure you're prepared to use the AWS SDK for PHP. No seriously, read it.

-
- -
-

Bottom Line: Yes, you can!

-

Your PHP environment is ready to go! There are a couple of minor features that you won't be able to take advantage of, but nothing that's a show-stopper.

-
-
-

What's Next?

-

You can download the latest version of the AWS SDK for PHP and install it by following the instructions. Also, check out our library of screencasts and tutorials.

-

Take the time to read "Getting Started" to make sure you're prepared to use the AWS SDK for PHP. No seriously, read it.

-
- -
-

Bottom Line: We're sorry…

-

Your PHP environment does not support the minimum requirements for the AWS SDK for PHP.

-
-
-

What's Next?

-

If you're using a shared hosting plan, it may be a good idea to contact your web host and ask them to install a more recent version of PHP and relevant extensions.

-

If you have control over your PHP environment, we recommended that you upgrade your PHP environment. Check out the "Set Up Your Environment" section of the Getting Started Guide for more information.

-
- - - = REQUIREMENTS_MIN_MET): ?> -
-

Recommended settings for config.inc.php

-

Based on your particular server configuration, the following settings are recommended.

-
- - - - - - - - - - - - - - - - - - - - - - - - - - - -
Configuration SettingRecommended Value
default_cache_configapcxcacheAny valid, server-writable file system path
certificate_authoritytrueLoading...
-
-
- - -
-

Give me the details!

- = REQUIREMENTS_MIN_MET): ?> -
    -
  1. Your environment meets the minimum requirements for using the AWS SDK for PHP!
  2. - - -
  3. You're still running PHP . The PHP 5.2 family is no longer supported by the PHP team, and future versions of the AWS SDK for PHP will require PHP 5.3 or newer.
  4. - - - -
  5. The OpenSSL extension is installed. This will allow you to use CloudFront Private URLs and decrypt Microsoft® Windows® instance passwords.
  6. - - - -
  7. The Zlib extension is installed. The SDK will request gzipped data whenever possible.
  8. - - - -
  9. You're running on a 32-bit system. This means that PHP does not correctly handle files larger than 2GB (this is a well-known PHP issue). For more information, please see: PHP filesize: Return values.
  10. - -
  11. Note that PHP on Microsoft® Windows® does not support 64-bit integers at all, even if both the hardware and PHP are 64-bit.
  12. - - - - -
  13. You have open_basedir or safe_mode enabled in your php.ini file. Sometimes PHP behaves strangely when these settings are enabled. Disable them if you can.
  14. - - - -
  15. The PHP garbage collector (available in PHP 5.3+) is not enabled in your php.ini file. Enabling zend.enable_gc will provide better memory management in the PHP core.
  16. - - - The file system'; } - if ($apc_ok) { $storage_types[] = 'APC'; } - if ($xcache_ok) { $storage_types[] = 'XCache'; } - if ($sqlite_ok && $sqlite3_ok) { $storage_types[] = 'SQLite 3'; } - elseif ($sqlite_ok && $sqlite2_ok) { $storage_types[] = 'SQLite 2'; } - if ($memcached_ok) { $storage_types[] = 'Memcached'; } - elseif ($memcache_ok) { $storage_types[] = 'Memcache'; } - ?> -
  17. Storage types available for response caching:
  18. -
- - -

NOTE: You're missing the OpenSSL extension, which means that you won't be able to take advantage of CloudFront Private URLs or decrypt Microsoft® Windows® instance passwords. You're also missing the Zlib extension, which means that the SDK will be unable to request gzipped data from Amazon and you won't be able to take advantage of compression with the response caching feature.

- -

NOTE: You're missing the Zlib extension, which means that the SDK will be unable to request gzipped data from Amazon and you won't be able to take advantage of compression with the response caching feature.

- -

NOTE: You're missing the OpenSSL extension, which means that you won't be able to take advantage of CloudFront Private URLs or decrypt Microsoft® Windows® instance passwords.

- - - -
    - -
  1. PHP: You are running an unsupported version of PHP.
  2. - - - -
  3. cURL: The cURL extension is not available. Without cURL, the SDK cannot connect to — or authenticate with — Amazon's services.
  4. - - - -
  5. SimpleXML: The SimpleXML extension is not available. Without SimpleXML, the SDK cannot parse the XML responses from Amazon's services.
  6. - - - -
  7. DOM: The DOM extension is not available. Without DOM, the SDK cannot transliterate JSON responses from Amazon's services into the common SimpleXML-based pattern used throughout the SDK.
  8. - - - -
  9. SPL: Standard PHP Library support is not available. Without SPL support, the SDK cannot autoload the required PHP classes.
  10. - - - -
  11. JSON: JSON support is not available. AWS leverages JSON heavily in many of its services.
  12. - - - -
  13. PCRE: Your PHP installation doesn't support Perl-Compatible Regular Expressions (PCRE). Without PCRE, the SDK cannot do any filtering via regular expressions.
  14. - - - -
  15. File System Read/Write: The file_get_contents() and/or file_put_contents() functions have been disabled. Without them, the SDK cannot read from, or write to, the file system.
  16. - -
- -
- -
-

NOTE: Passing this test does not guarantee that the AWS SDK for PHP will run on your web server — it only ensures that the requirements have been addressed.

-
-
- -
- - - - - - - diff --git a/3rdparty/aws-sdk/_compatibility_test/sdk_compatibility_test_cli.php b/3rdparty/aws-sdk/_compatibility_test/sdk_compatibility_test_cli.php deleted file mode 100755 index a6632d897876e17924a85bb3a4ee5c3d0d7b5afe..0000000000000000000000000000000000000000 --- a/3rdparty/aws-sdk/_compatibility_test/sdk_compatibility_test_cli.php +++ /dev/null @@ -1,186 +0,0 @@ -#! /usr/bin/env php -= REQUIREMENTS_MIN_MET) -{ - echo success('Your environment meets the minimum requirements for using the AWS SDK for PHP!') . PHP_EOL . PHP_EOL; - if (version_compare(PHP_VERSION, '5.3.0') < 0) { echo '* You\'re still running PHP ' . PHP_VERSION . '. The PHP 5.2 family is no longer supported' . PHP_EOL . ' by the PHP team, and future versions of the AWS SDK for PHP will *require*' . PHP_EOL . ' PHP 5.3 or newer.' . PHP_EOL . PHP_EOL; } - if ($openssl_ok) { echo '* The OpenSSL extension is installed. This will allow you to use CloudFront' . PHP_EOL . ' Private URLs and decrypt Windows instance passwords.' . PHP_EOL . PHP_EOL; } - if ($zlib_ok) { echo '* The Zlib extension is installed. The SDK will request gzipped data' . PHP_EOL . ' whenever possible.' . PHP_EOL . PHP_EOL; } - if (!$int64_ok) { echo '* You\'re running on a 32-bit system. This means that PHP does not correctly' . PHP_EOL . ' handle files larger than 2GB (this is a well-known PHP issue).' . PHP_EOL . PHP_EOL; } - if (!$int64_ok && is_windows()) { echo '* Note that PHP on Microsoft(R) Windows(R) does not support 64-bit integers' . PHP_EOL . ' at all, even if both the hardware and PHP are 64-bit. http://j.mp/php64win' . PHP_EOL . PHP_EOL; } - - if ($ini_open_basedir || $ini_safe_mode) { echo '* You have open_basedir or safe_mode enabled in your php.ini file. Sometimes' . PHP_EOL . ' PHP behaves strangely when these settings are enabled. Disable them if you can.' . PHP_EOL . PHP_EOL; } - if (!$ini_zend_enable_gc) { echo '* The PHP garbage collector (available in PHP 5.3+) is not enabled in your' . PHP_EOL . ' php.ini file. Enabling zend.enable_gc will provide better memory management' . PHP_EOL . ' in the PHP core.' . PHP_EOL . PHP_EOL; } - - $storage_types = array(); - if ($file_ok) { $storage_types[] = 'The file system'; } - if ($apc_ok) { $storage_types[] = 'APC'; } - if ($xcache_ok) { $storage_types[] = 'XCache'; } - if ($sqlite_ok && $sqlite3_ok) { $storage_types[] = 'SQLite 3'; } - elseif ($sqlite_ok && $sqlite2_ok) { $storage_types[] = 'SQLite 2'; } - if ($memcached_ok) { $storage_types[] = 'Memcached'; } - elseif ($memcache_ok) { $storage_types[] = 'Memcache'; } - echo '* Storage types available for response caching:' . PHP_EOL . ' ' . implode(', ', $storage_types) . PHP_EOL . PHP_EOL; - - if (!$openssl_ok) { echo '* You\'re missing the OpenSSL extension, which means that you won\'t be able' . PHP_EOL . ' to take advantage of CloudFront Private URLs or Windows password decryption.' . PHP_EOL . PHP_EOL; } - if (!$zlib_ok) { echo '* You\'re missing the Zlib extension, which means that the SDK will be unable' . PHP_EOL . ' to request gzipped data from Amazon and you won\'t be able to take advantage' . PHP_EOL . ' of compression with the response caching feature.' . PHP_EOL . PHP_EOL; } -} -else -{ - if (!$php_ok) { echo '* ' . failure('PHP:') . ' You are running an unsupported version of PHP.' . PHP_EOL . PHP_EOL; } - if (!$curl_ok) { echo '* ' . failure('cURL:') . ' The cURL extension is not available. Without cURL, the SDK cannot' . PHP_EOL . ' connect to -- or authenticate with -- Amazon\'s services.' . PHP_EOL . PHP_EOL; } - if (!$simplexml_ok) { echo '* ' . failure('SimpleXML:') . ': The SimpleXML extension is not available. Without SimpleXML,' . PHP_EOL . ' the SDK cannot parse the XML responses from Amazon\'s services.' . PHP_EOL . PHP_EOL; } - if (!$dom_ok) { echo '* ' . failure('DOM:') . ': The DOM extension is not available. Without DOM, the SDK' . PHP_EOL . ' Without DOM, the SDK cannot transliterate JSON responses from Amazon\'s' . PHP_EOL . ' services into the common SimpleXML-based pattern used throughout the SDK.' . PHP_EOL . PHP_EOL; } - if (!$spl_ok) { echo '* ' . failure('SPL:') . ' Standard PHP Library support is not available. Without SPL support,' . PHP_EOL . ' the SDK cannot autoload the required PHP classes.' . PHP_EOL . PHP_EOL; } - if (!$json_ok) { echo '* ' . failure('JSON:') . ' JSON support is not available. AWS leverages JSON heavily in many' . PHP_EOL . ' of its services.' . PHP_EOL . PHP_EOL; } - if (!$pcre_ok) { echo '* ' . failure('PCRE:') . ' Your PHP installation doesn\'t support Perl-Compatible Regular' . PHP_EOL . ' Expressions (PCRE). Without PCRE, the SDK cannot do any filtering via' . PHP_EOL . ' regular expressions.' . PHP_EOL . PHP_EOL; } - if (!$file_ok) { echo '* ' . failure('File System Read/Write:') . ' The file_get_contents() and/or file_put_contents()' . PHP_EOL . ' functions have been disabled. Without them, the SDK cannot read from,' . PHP_EOL . ' or write to, the file system.' . PHP_EOL . PHP_EOL; } -} - -echo '----------------------------------------' . PHP_EOL; -echo PHP_EOL; - -if ($compatiblity === REQUIREMENTS_ALL_MET) -{ - echo success('Bottom Line: Yes, you can!') . PHP_EOL; - echo PHP_EOL; - echo 'Your PHP environment is ready to go, and can take advantage of all possible features!' . PHP_EOL; - - echo PHP_EOL; - echo info('Recommended settings for config.inc.php') . PHP_EOL; - echo PHP_EOL; - - echo "CFCredentials::set(array(" . PHP_EOL; - echo " '@default' => array(" . PHP_EOL; - echo " 'key' => 'aws-key'," . PHP_EOL; - echo " 'secret' => 'aws-secret'," . PHP_EOL; - echo " 'default_cache_config' => "; - if ($apc_ok) echo success('\'apc\''); - elseif ($xcache_ok) echo success('\'xcache\''); - elseif ($file_ok) echo success('\'/path/to/cache/folder\''); - echo "," . PHP_EOL; - echo " 'certificate_authority' => " . success($ssl_result ? 'true' : 'false') . PHP_EOL; - echo " )" . PHP_EOL; - echo "));" . PHP_EOL; -} -elseif ($compatiblity === REQUIREMENTS_MIN_MET) -{ - echo success('Bottom Line: Yes, you can!') . PHP_EOL; - echo PHP_EOL; - echo 'Your PHP environment is ready to go! There are a couple of minor features that' . PHP_EOL . 'you won\'t be able to take advantage of, but nothing that\'s a show-stopper.' . PHP_EOL; - - echo PHP_EOL; - echo info('Recommended settings for config.inc.php') . PHP_EOL; - echo PHP_EOL; - - echo "CFCredentials::set(array(" . PHP_EOL; - echo " '@default' => array(" . PHP_EOL; - echo " 'key' => 'aws-key'," . PHP_EOL; - echo " 'secret' => 'aws-secret'," . PHP_EOL; - echo " 'default_cache_config' => "; - if ($apc_ok) echo success('\'apc\''); - elseif ($xcache_ok) echo success('\'xcache\''); - elseif ($file_ok) echo success('\'/path/to/cache/folder\''); - echo "," . PHP_EOL; - echo " 'certificate_authority' => " . ($ssl_result ? 'false' : 'true') . PHP_EOL; - echo " )" . PHP_EOL; - echo "));" . PHP_EOL; -} -else -{ - echo failure('Bottom Line: We\'re sorry...') . PHP_EOL; - echo 'Your PHP environment does not support the minimum requirements for the ' . PHP_EOL . 'AWS SDK for PHP.' . PHP_EOL; -} - -echo PHP_EOL; diff --git a/3rdparty/aws-sdk/_docs/CHANGELOG.md b/3rdparty/aws-sdk/_docs/CHANGELOG.md deleted file mode 100644 index 52db66f4f6f929813487b052e56a015fa74850de..0000000000000000000000000000000000000000 --- a/3rdparty/aws-sdk/_docs/CHANGELOG.md +++ /dev/null @@ -1,1405 +0,0 @@ -# Changelog: 1.5.6.2 "Gershwin" -Code name for Apple's never-released successor to the never-released Copeland. - -Launched Tuesday, May 29th, 2012. - -## Services -### AmazonDynamoDB -- **Fixed:** STS credentials were not always being cached correctly. - ----- - -# Changelog: 1.5.6.1 "Gershwin" -Code name for Apple's never-released successor to the never-released Copeland. - -Launched Tuesday, May 24th, 2012. - -## Services -### AmazonDynamoDB -- **Fixed:** STS credentials were not always being cached correctly. - ----- - -# Changelog: 1.5.6 "Gershwin" -Code name for Apple's never-released successor to the never-released Copeland. - -Launched Tuesday, May 15th, 2012. - -## Services -### AmazonSES -- **New:** Support for domain verification has been added to the SDK, which enables customers to verify an entire email domain. -- **New:** Requests to this service are now signed with Signature V4. - ----- - -# Changelog: 1.5.5 "Fishhead" -Code name for the Apple II File Mangement Utility. - -Launched Wednesday, May 9, 2012. - -## Services -### AmazonCloudFormation -* **New:** Requests to this service are now signed with Signature V4. - -### AmazonCloudFront -* **New:** Updated the supported API version to `2012-03-15`. - -### AmazonDynamoDB -* **New:** Support for the US West (Northern California), US West (Oregon), Asia Pacific "Southeast" (Signapore) endpoints have been added. - -### AmazonElasticBeanstalk -* **New:** Support for the new Asia Pacific "Northeast" (Japan) endpoint has been added. - -### AmazonStorageGateway -* **New:** Support for the AWS Storage Gateway service has been added to the SDK. - ---- - -# Changelog: 1.5.4 "Enterprise" -Code name for Mac OS X Server 1.0 (Rhapsody CR1). - -Launched Thursday, April 19, 2012. - -## Bug fixes and enhancements -* [PHP SDK Bug - Memory leak](https://forums.aws.amazon.com/thread.jspa?threadID=72310) -* [Does update_object work in 1.5.3?](https://forums.aws.amazon.com/thread.jspa?threadID=89297) -* [The value of CURLOPT_SSL_VERIFYHOST](https://forums.aws.amazon.com/thread.jspa?threadID=86186) -* [PHP SDK BUG: s3.class.php Line 2396 on 1.5.2](https://forums.aws.amazon.com/thread.jspa?threadID=86779) -* [first create_bucket(), then get_bucket_list()](https://forums.aws.amazon.com/thread.jspa?messageID=318885) -* [Issue with AmazonS3::get_object_list() max-keys](https://forums.aws.amazon.com/thread.jspa?threadID=85878) -* [Correct the "Bottom line" minimum requirements check](https://github.com/amazonwebservices/aws-sdk-for-php/pull/23) -* [S3 PHP SDK: copy_object() fails to update the header](http://stackoverflow.com/questions/7677837/s3-php-sdk-copy-object-fails-to-update-the-header) -* [Adds the following utility methods to simplexml.class.php](https://github.com/amazonwebservices/aws-sdk-for-php/pull/22) -* [Adding the ability to name a 'rule' for Object Expiration (suggested tweak)](https://forums.aws.amazon.com/thread.jspa?messageID=328023) - -## Runtime -* **New:** Support for Signature Version 4 has been added to the SDK. Signature Version 4 is now the default authentication method for AWS Identity and Access Management, AWS Security Token Service and Amazon CloudSearch. - -## Services -### AmazonCloudFront -* **New:** Support for a Minimum TTL of zero has been added to the SDK. - -### AmazonCloudSearch -* **New:** Support for Amazon CloudSearch has been added to the SDK. This includes only the Configuration API. - -### AmazonDynamoDB -* **New:** Support for BatchWriteItem API has been added to the SDK. -* **New:** Support for the European (Ireland) endpoint has been added. -* **New:** Support for the Asia Pacific "Northeast" (Tokyo) endpoint has been added. -* **New:** Amazon DynamoDB Session Handler has been added to the SDK. -* **New:** A simplified interface for adding attributes has been added to the SDK. - -### AmazonEC2 -* **New:** The new "m1.medium" instance type is now supported. -* **New:** Amazon EBS support for Volume Status and Volume Attributes have been added to the SDK. -* **New:** Amazon EBS support for Conversion Tasks has been added to the SDK. -* **New:** Amazon EC2 support for the Report Instance Status feature has been added to the SDK. -* **New:** Amazon VPC support for Network Interfaces has been added to the SDK. -* **Fixed:** Various parameter fixes have been applied. - -### AmazonIAM -* **New:** Support for Password Policies and the ability to change passwords has been added to the SDK. - -### AmazonS3 -* **New:** Support for pre-signed URLs using temporary credentials has been added to the SDK. -* **New:** Support for setting a custom name to Lifecycle (i.e., Object Expiration) rules has been added to the SDK. -* **New:** Support for pre-signed URLs with https has been added to the SDK. -* **Fixed:** Resolved an issue where setting a custom XML parsing class was not being respected. -* **Fixed:** Resolved an issue where the `get_object_list()` method would return an incorrect number of entries. -* **Fixed:** Resolved an issue where `update_object()` was attempting to COPY instead of REPLACE. -* **Fixed:** Resolved an issue stemming from using path-style URLs, `create_bucket()` + `list_bucket()` and the EU-West region. -* **Fixed:** Resolved an issue where XML responses were not being parsed consistently. -* **Fixed:** Resolved an issue where Private Streaming URLs contained a double-encoded signature. -* **Fixed:** The `Expect: 100-continue` HTTP header is now only sent during `create_object()` and `upload_part()` requests. - -## Utilities -### CFRuntime -* **Fixed:** Resolved an issue where `CURLOPT_SSL_VERIFYHOST` was not set strictly enough. -* **Fixed:** The `Expect: 100-continue` HTTP header is no longer set on every request. - -### CFSimpleXML -* **New:** Support for `matches()`, `starts_with()` and `ends_with()` methods have been added to the SDK. (Thanks [Wil Moore III](https://github.com/wilmoore)!) - -## Compatibility Test -* **New:** SDK Compatibility Test pages are marked up as to not be indexed by search engines. (Thanks [Eric Caron](http://www.ericcaron.com)!) -* **Fixed:** Duplicate code between the CLI and web versions of the SDK has been refactored. (Thanks [Jimmy Berry](https://github.com/boombatower)!) - ---- - -# Changelog: 1.5.3 "Darwin" -UNIX foundation upon which Mac OS X, Apple TV, and iOS are based. - -Launched Wednesday, Tuesday, February 21, 2012. - -## Bug fixes and enhancements -* [Fixing Issue with set_distribution_config](https://github.com/amazonwebservices/aws-sdk-for-php/pull/20) - -## Services -### AmazonCloudFront -* **Fixed:** Resolved an issue where the `set_distribution_config()` method could fail to satisfy an API constraint when using a custom origin server. (Thanks [zoxa](https://github.com/zoxa)!) - -### AmazonSWF -* **New:** Support for the new Amazon Simple Workflow Service has been added to the SDK. - ----- - -# Changelog: 1.5.2 "Copland" -Code name for Apple's never-released successor to System 7. - -Launched Wednesday, Febraury 1, 2012. - -## Bug fixes and enhancements -* [SSL Cert on PHP SDK 1.5.0.1 ](https://forums.aws.amazon.com/thread.jspa?threadID=84947) -* [Stream Wrapper need a buffer !](https://forums.aws.amazon.com/thread.jspa?threadID=85436) -* [Fixing Issue with set_distribution_config](https://github.com/amazonwebservices/aws-sdk-for-php/pull/20) -* [[Bug] SDK Autoloader Interferes with PHPExcel Autoloader](https://forums.aws.amazon.com/thread.jspa?threadID=85239) -* [get_object query does not always return the same content type](https://forums.aws.amazon.com/thread.jspa?threadID=84148) -* [AWSSDKforPHP/authentication/swift_transport_esmtp_signature_handler.class.p ](https://forums.aws.amazon.com/thread.jspa?threadID=85087) - -## Runtime -* **New:** Updated the CA Root Certificates file to version 1.81. -* **Fixed:** Resolved an issue in the autoloader where the matching logic was too aggressive in certain cases, causing subsequent autoloaders to never trigger. - -## Services -### AmazonAS -* **New:** Support for Auto Scaling Resource Tagging has been added to the SDK. - -### AmazonS3 -* **Fixed:** Resolved an issue where `delete_all_objects()` and `delete_all_object_versions()` was being limited to 1000 items. -* **Fixed:** Resolved an issue where `delete_bucket()` would fail to delete a bucket with the "force" option enabled if the bucket contained more than 1000 items. -* **Fixed:** Resolved an issue where JSON documents stored in Amazon S3 would be parsed into a native PHP object when retrieved. - -## Utilities -### S3StreamWrapper -* **New:** Support for multiple stream wrappers (e.g., one per region) has been added to the SDK. -* **Fixed:** Writes to Amazon S3 are now buffered, resolving issues with pushing more than 8k of data at a time. - -### CFJSON -* **Fixed:** The JSON-to-XML conversion code is now substantially more robust and better handles encoded characters. - -### CacheCore -* **Changed:** Formerly, attempting to cache to a file system location that didn't exist or was not writable by the PHP process would fail silently. This behavior has been changed to throw a `CacheFile_Exception`. - ----- - -# Changelog: 1.5.1 "Blue" -Code name for Macintosh System 7. - -Launched Wednesday, January 18, 2012. - -## Bug fixes and enhancements -* [Documentation patch](https://github.com/amazonwebservices/aws-sdk-for-php/pull/13) -* [Removed duplicate comment line.](https://github.com/amazonwebservices/aws-sdk-for-php/pull/17) -* [CFRuntime credentials handling issue](https://forums.aws.amazon.com/thread.jspa?messageID=310388) -* [PHP 5.2 bug in AWS SDK for PHP 1.5.x](https://forums.aws.amazon.com/thread.jspa?messageID=311543) -* [[Bug] Custom Curl Opts Lost During Retry](https://forums.aws.amazon.com/thread.jspa?threadID=84835) -* [json_last_error doesn't exist before php v 5.3.0](https://github.com/amazonwebservices/aws-sdk-for-php/pull/12) -* [XML still being parsed when use_cache_flow is false](https://github.com/amazonwebservices/aws-sdk-for-php/pull/15) -* [Bug ssl_verification option not respected for AmazonS3 ](https://forums.aws.amazon.com/thread.jspa?threadID=83710) -* [[Bug] Compatibility test for Garbage Collector enabled should use ini_get](https://forums.aws.amazon.com/thread.jspa?threadID=84156) - -## Runtime -* **Fixed:** Corrected an issue where calling `AmazonS3->get_object()` would continue to parse the content if caching was being leveraged. (Thanks [Eric Caron](http://www.ericcaron.com)!) -* **Fixed:** The autoloader now returns `false` for any class it doesn't match, allowing subsequent autoloaders to catch the class name. (Thanks [Eric Caron](http://www.ericcaron.com)!) -* **Fixed:** An issue that caused CloudWatch to fail to decompress gzipped data correctly has been resolved. -* **Fixed:** Resolved an issue with passing explicit credentials without requiring a config file or a `CFCredentials` declaration. -* **Fixed:** Resolved an issue which causes custom cURL options to be unset from the payload when retrying. - -## Services -### AmazonAS -* **New:** Support for Amazon SNS notifications and Tagging have been added to the SDK. - -### AmazonCloudFront -* **Fixed:** Resolved an issue with disabling SSL verification. -* **Fixed:** Resolved an issue where `AmazonCloudFront` were throwing warnings in `E_STRICT` mode. - -### AmazonCloudWatch -* **Fixed:** Resolved an issue with decompressing gzipped data. - -### AmazonDynamoDB -* **New:** Support for Amazon DynamoDB has been added to the SDK. -* **New:** Amazon DynamoDB requires a default cache configuration to be set in the credential set, otherwise it will not function properly. - -### AmazonS3 -* **Fixed:** Resolved an issue with disabling SSL verification. -* **Fixed:** Resolved multiple documentation issues. (Thanks [Aizat Faiz](http://aizatto.com) and [Jason Ardell](http://ardell.posterous.com/)!) -* **Fixed:** Resolved an issue where `AmazonS3` were throwing warnings in `E_STRICT` mode. - -### AmazonSNS -* **New:** Support for Short Messaging Service (SMS) endpoints has been added to the SDK. -* **New:** Support for Subscription Attributes has been added to the SDK. - -## Utilities -### CFJSON -* **Fixed:** Support for the handling of JSON nulls in PHP 5.2 has been improved. (Thanks [David Chan](http://www.chandeeland.org)!) - -## Compatibility Test -* **Fixed:** The SDK compatibility test now uses `ini_get()` instead of `get_cfg_var()` and `get_cfg_ini()` for more accurate test results. - - ----- - -# Changelog: 1.5 "Allegro" -Code name for Mac OS 8.5. - -Launched Wednesday, December 14, 2011 - -## Credentials -* !! BACKWARDS-INCOMPATIBLE CHANGE !! - The function signature of all service constructors has changed. Instead of passing a key and secret as the first and second parameters, the constructor now accepts a hash (associative array) containing `key` and `secret` keys. Please see the API reference documentation - -## Runtime -* !! BACKWARDS-INCOMPATIBLE CHANGE !! - The function signature of all service constructors has changed. Instead of passing a key and secret as the first and second parameters, the constructor now accepts a hash (associative array) containing `key` and `secret` keys. If you are explicitly passing a key and secret to the constructor, you will need to change your code. If you are simply inheriting your default credentials from a config file, you don't need to make any changes beyond upgrading your config file to the new 1.5 format. Please see the API reference documentation for more information. -* !! BACKWARDS-INCOMPATIBLE CHANGE !! - The method by which the `config.inc.php` file maintains its list of credentials has been re-factored and updated to support managing multiple sets of credentials in a single location (e.g., development, staging, production). -* !! BACKWARDS-INCOMPATIBLE CHANGE !! - The `init()` method has been renamed to `factory()` to better reflect what it actually does. -* !! BACKWARDS-INCOMPATIBLE CHANGE !! - The `adjust_offset()` method has been removed. Instead, please ensure that the machine's time is set correctly using an [NTP server](https://secure.wikimedia.org/wikipedia/en/wiki/Network_Time_Protocol). -* !! BACKWARDS-INCOMPATIBLE CHANGE !! - In version 1.4 we enabled a mode where -- for services that supported it -- a set of temporary credentials were fetched and cached before the first request. This functionality has been reverted. The use of short-term credentials must be explicitly enabled by instantiating the `AmazonSTS` class and passing those credentials into the service constructor. -* **New:** Improved the user directory lookup for the config file. -* **Changed:** Made `set_region()` an alias of `set_hostname()`. - -## Services -### AmazonAS -* **New:** Support for the South American (São Paulo) region has been added to the SDK. -* **New:** Plain english aliases have been added to the SDK: `REGION_VIRGINA`, `REGION_CALIFORNIA`, `REGION_OREGON`, `REGION_IRELAND`, `REGION_SINGAPORE`, `REGION_TOKYO`, `REGION_SAO_PAULO` - -### AmazonCloudFormation -* **New:** Support for the South American (São Paulo) region has been added to the SDK. -* **New:** Plain english aliases have been added to the SDK: `REGION_VIRGINA`, `REGION_CALIFORNIA`, `REGION_OREGON`, `REGION_IRELAND`, `REGION_SINGAPORE`, `REGION_TOKYO`, `REGION_SAO_PAULO` -* **New:** Support for cost estimation of CloudFormation templates has been added to the SDK. - -### AmazonCloudWatch -* **New:** Support for the South American (São Paulo) region has been added to the SDK. -* **New:** Plain english aliases have been added to the SDK: `REGION_VIRGINA`, `REGION_CALIFORNIA`, `REGION_OREGON`, `REGION_IRELAND`, `REGION_SINGAPORE`, `REGION_TOKYO`, `REGION_SAO_PAULO` - -### AmazonEC2 -* **New:** Support for the South American (São Paulo) region has been added to the SDK. -* **New:** Plain english aliases have been added to the SDK: `REGION_VIRGINA`, `REGION_CALIFORNIA`, `REGION_OREGON`, `REGION_IRELAND`, `REGION_SINGAPORE`, `REGION_TOKYO`, `REGION_SAO_PAULO` -* **New:** Support for 24x7 Reserved Instances has been added to the SDK. For more information, please see [New Amazon EC2 Reserved Instance Options Now Available](https://aws.amazon.com/about-aws/whats-new/2011/12/01/New-Amazon-EC2-Reserved-Instances-Options-Now-Available/). -* **New:** Support for VPC Spot Instances has been added to the SDK. For more information, please see [Announcing Amazon EC2 Spot Integration with Amazon VPC](https://aws.amazon.com/about-aws/whats-new/2011/10/11/announcing-amazon-ec2-spot-integration-with-amazon-vpc/). -* **New:** Support for VPC Everywhere has been added to the SDK. For more information, please see [Amazon VPC Generally Available in Multiple AZs in All Regions](https://aws.amazon.com/about-aws/whats-new/2011/08/03/Announcing-VPC-GA/). -* **New:** Instance Type-related constants have been added to the SDK: `INSTANCE_MICRO`, `INSTANCE_SMALL`, `INSTANCE_LARGE`, `INSTANCE_XLARGE`, `INSTANCE_HIGH_MEM_XLARGE`, `INSTANCE_HIGH_MEM_2XLARGE`, `INSTANCE_HIGH_MEM_4XLARGE`, `INSTANCE_HIGH_CPU_MEDIUM`, `INSTANCE_HIGH_CPU_XLARGE`, `INSTANCE_CLUSTER_4XLARGE`, `INSTANCE_CLUSTER_8XLARGE`, `INSTANCE_CLUSTER_GPU_XLARGE`. - -### AmazonElastiCache -* **New:** Support for US-West 1 (California), EU-West (Ireland), Asia Pacific Southeast (Singapore), and Asia Pacific Northeast (Tokyo) regions has been added to the SDK. For more information, please see [Amazon ElastiCache is now available in four additional AWS Regions and as a CloudFormation template](https://aws.amazon.com/about-aws/whats-new/2011/12/05/amazon-elasticache-new-regions/). -* **New:** Plain english aliases have been added to the SDK: `REGION_VIRGINA`, `REGION_CALIFORNIA`, `REGION_IRELAND`, `REGION_SINGAPORE`, `REGION_TOKYO` - -### AmazonElasticBeanstalk -* **New:** Plain english aliases have been added to the SDK: `REGION_VIRGINA` - -### AmazonELB -* **New:** Support for the South American (São Paulo) region has been added to the SDK. -* **New:** Plain english aliases have been added to the SDK: `REGION_VIRGINA`, `REGION_CALIFORNIA`, `REGION_OREGON`, `REGION_IRELAND`, `REGION_SINGAPORE`, `REGION_TOKYO`, `REGION_SAO_PAULO` -* **New:** Support for ELBs running in VPC has been added to the SDK. For more information, please see [Announcing Elastic Load Balancing in Amazon VPC](https://aws.amazon.com/about-aws/whats-new/2011/11/21/announcing-elastic-load-balancing-in-amazon-vpc/). - -### AmazonEMR -* **New:** Support for the South American (São Paulo) region has been added to the SDK. -* **New:** Plain english aliases have been added to the SDK: `REGION_VIRGINA`, `REGION_CALIFORNIA`, `REGION_OREGON`, `REGION_IRELAND`, `REGION_SINGAPORE`, `REGION_TOKYO`, `REGION_SAO_PAULO` -* **New:** Support for EMR AMI Versioning, new Hadoop and Pig versions, and EMR running in VPC has been added to the SDK. For more information, please see [Amazon Elastic MapReduce Announces Support for New Hadoop and Pig Versions, AMI Versioning, and Amazon VPC](https://aws.amazon.com/about-aws/whats-new/2011/12/11/amazon-elastic-mapreduce-ami-versioning-vpc/). - -### AmazonIAM -* **New:** Plain english aliases have been added to the SDK: `REGION_VIRGINA` - -### AmazonImportExport -* **New:** Plain english aliases have been added to the SDK: `REGION_VIRGINA` - -### AmazonRDS -* **New:** Support for the South American (São Paulo) region has been added to the SDK. -* **New:** Plain english aliases have been added to the SDK: `REGION_VIRGINA`, `REGION_CALIFORNIA`, `REGION_OREGON`, `REGION_IRELAND`, `REGION_SINGAPORE`, `REGION_TOKYO`, `REGION_SAO_PAULO` - -### AmazonS3 -* **New:** Support for the South American (São Paulo) region has been added to the SDK. -* **New:** Plain english aliases have been added to the SDK: `REGION_VIRGINA`, `REGION_CALIFORNIA`, `REGION_OREGON`, `REGION_IRELAND`, `REGION_SINGAPORE`, `REGION_TOKYO`, `REGION_SAO_PAULO` -* **New:** Support for an S3 Stream Wrapper has been added to the SDK. This enables users to read/write to Amazon S3 as though it were the local file system. -**Fixed:** The `get_object()` method no longer attempts to parse XML/JSON content. -**Fixed:** Simplified S3 region logic. Now uses fully-qualified domain names across the board. - -### AmazonSES -* **New:** Plain english aliases have been added to the SDK: `REGION_VIRGINA` - -### AmazonSDB -* **New:** Support for the South American (São Paulo) region has been added to the SDK. -* **New:** Plain english aliases have been added to the SDK: `REGION_VIRGINA`, `REGION_CALIFORNIA`, `REGION_OREGON`, `REGION_IRELAND`, `REGION_SINGAPORE`, `REGION_TOKYO`, `REGION_SAO_PAULO` - -### AmazonSNS -* **New:** Support for the South American (São Paulo) region has been added to the SDK. -* **New:** Plain english aliases have been added to the SDK: `REGION_VIRGINA`, `REGION_CALIFORNIA`, `REGION_OREGON`, `REGION_IRELAND`, `REGION_SINGAPORE`, `REGION_TOKYO`, `REGION_SAO_PAULO` - -### AmazonSQS -* **New:** Support for the South American (São Paulo) region has been added to the SDK. -* **New:** Plain english aliases have been added to the SDK: `REGION_VIRGINA`, `REGION_CALIFORNIA`, `REGION_OREGON`, `REGION_IRELAND`, `REGION_SINGAPORE`, `REGION_TOKYO`, `REGION_SAO_PAULO` - -### AmazonSTS -* **New:** Plain english aliases have been added to the SDK: `REGION_VIRGINA` - - ----- - -# Changelog: 1.4.8 "Zanarkand" - - -Launched Wednesday, December 7, 2011 - -## Services -### AmazonCloudFront -* **Fixed:** Merged in a pull request contributed by Ben Lumley: - -### AmazonEC2 -* **Fixed:** Resolved an issue where `set_region()` was not setting the correct endpoint for the region. - -### AmazonS3 -* **New:** Support for S3-side multi-object delete has been added to the SDK as the `delete_objects()` method. The implementations of `delete_all_objects()` and `delete_all_object_versions()` have been updated to use this new functionality. -* **Changed:** XML and JSON responses from `get_object()` are no longer parsed. The raw XML and JSON string content is now returned. - - ----- - -# Changelog: 1.4.7 "Yuna" - - -Launched Wednesday, November 9, 2011 - -## Service Classes -### AmazonAS -* **New:** Support for the US-West 2 (Oregon) region has been added to the SDK. - -### AmazonCloudFormation -* **New:** Support for the US-West 2 (Oregon) region has been added to the SDK. - -### AmazonCloudWatch -* **New:** Support for the US-West 2 (Oregon) region has been added to the SDK. -* **New:** Support for the US GovCloud region has been added to the SDK. - -### AmazonEC2 -* **New:** Support for the US-West 2 (Oregon) region has been added to the SDK. -* **New:** Support for the US GovCloud region has been added to the SDK. - -### AmazonELB -* **New:** Support for the US-West 2 (Oregon) region has been added to the SDK. - -### AmazonEMR -* **New:** Support for the US-West 2 (Oregon) region has been added to the SDK. - -### AmazonIAM -* **New:** Support for the US GovCloud region has been added to the SDK. - -### AmazonRDS -* **New:** Support for the US-West 2 (Oregon) region has been added to the SDK. - -### AmazonS3 -* **New:** Support for the US-West 2 (Oregon) region has been added to the SDK. -* **Fixed:** Resolved an issue where certain bits of metadata were not maintained during a copy operation. -* **Fixed:** Resolved an issue where an unsuccessful lookup of an existing content-type would throw a warning. -* **Fixed:** Resolved an issue where an exception would be thrown when a filesize lookup was attempted on an object that didn't exist. - -### AmazonSDB -* **New:** Support for the US-West 2 (Oregon) region has been added to the SDK. - -### AmazonSNS -* **New:** Support for the US-West 2 (Oregon) region has been added to the SDK. - -### AmazonSQS -* **New:** Support for the US-West 2 (Oregon) region has been added to the SDK. - - ----- - -# Changelog: 1.4.6 "Xezat" - - -Launched Thursday, November 3, 2011 - -## Service Classes -### AmazonIAM -* **New:** Support for a virtual MFA device. A virtual MFA device uses a software application that can generate six-digit authentication codes that are Open AuTHentication Time-based One-Time Password (OATHTOTP)-compatible. The software application can run on any mobile hardware device, including a smartphone. - - ----- - -# Changelog: 1.4.5 "Weiss" - - -Launched Friday, October 21, 2011 - -## Service Classes -### AmazonSQS -* **New:** Support for delayed queues and batch operations has been added to the SDK. - - ----- - -# Changelog: 1.4.4 "Vaan" - - -Launched Tuesday, October 12, 2011 - -## Runtime -* **Fixed:** Resolved an issue where a segmentation fault is triggererd when there are multiple autoloaders in the stack and one of them doesn't return a value. - -## Service Classes -### AmazonS3 -* **New:** Support for server-side encryption has been added to the SDK. - - ----- - -# Changelog: 1.4.3 "Ultros" - - -Launched Friday, September 30, 2011 - -## Service Classes -### AmazonCloudFormation -* **New:** Support for new features in CloudFormation have been added to the SDK. - -### AmazonS3 -* **Fixed:** Setting the default cache configuration no longer causes authentication errors in `AmazonS3`. - - ----- - -# Changelog: 1.4.2.1 "Tiamat, Part II" - - -Launched Wednesday, September 7, 2011 - -## Utility Classes -### RequestCore -* **Fixed:** RequestCore has updated the `cacert.pem` file from Mozilla. This update revokes trust from the DigiNotar and Staat der Nederlanden root certificates. - - ----- - -# Changelog: 1.4.2 "Tiamat" - - -Launched Thursday, September 1, 2011 - -## Service Classes -### AmazonEC2 -* **Fixed:** Requests made to Amazon EC2 now use the correct API version (2011-07-15). - -### AmazonELB -* **New:** A pre-defined set of ciphers may now be used for SSL termination at the Elastic Load Balancer. -* **New:** Application servers can now accept secure communication from the corresponding Elastic Load Balancer. -* **New:** In cases where HTTPS is required for all traffic entering the back-end server, Elastic Load Balancing can now perform health checks using HTTPS. -* **New:** White list of public keys can now be associated with back-end servers. Elastic Load Balancing authenticates back-end servers with the public keys in the white list and communicates only with back-end servers that pass this authentication check. - -## Utility Classes -### RequestCore -* **Fixed:** RequestCore has updated the `cacert.pem` file from Mozilla. This update revokes trust from the DigiNotar root certificate. - - ----- - -# Changelog: 1.4.1 "Sephiroth" - - -Launched Tuesday, August 23, 2011 - -## Service Classes -### AmazonElastiCache -* **New:** Support for Amazon ElastiCache has been added to the SDK. - -### AmazonEMR -* **New:** Support for Hadoop Bootstrap Actions has been added to the SDK. -* **New:** Support for Amazon Elastic MapReduce on Spot Instances has been added to the SDK. -* **New:** Support for Termination Protection has been added to the SDK. -* **Changed:** For the add_instance_groups() method, the $instance_groups and $job_flow_id parameters have been reversed. - -## Utility Classes -### CFHadoopBootstrap -* **New:** The `CFHadoopBootstrap` class has been added to the SDK. Simplifies the process of working with Hadoop system and daemon configurations in Amazon EMR. -* **New:** This class extends from the `CFHadoopBase` class. - - ----- - -# Changelog: 1.4 "Rikku" - - -Launched Wednesday, August 3, 2011 - -## Bug fixes and enhancements - -## Service Classes -### AmazonEC2 -* **New:** Support for Session-Based Authentication (SBA) leveraging Amazon Secure Token Service (STS) has been added to the SDK. - -### AmazonS3 -* **New:** Support for Session-Based Authentication (SBA) leveraging Amazon Secure Token Service (STS) has been added to the SDK. - -### AmazonSNS -* **New:** Support for Session-Based Authentication (SBA) leveraging Amazon Secure Token Service (STS) has been added to the SDK. - -### AmazonSQS -* **New:** Support for Session-Based Authentication (SBA) leveraging Amazon Secure Token Service (STS) has been added to the SDK. - -### AmazonSTS -* **New:** Support for the Amazon Secure Token Service (STS) has been added to the SDK. - -## Utility Classes -### CFRuntime -* **New:** The following anonymous datapoints are now collected in aggregate so that we can make more informed decisions about future SDK features: `memory_limit`, `date.timezone`, `open_basedir`, `safe_mode`, `zend.enable_gc`. - -## Compatibility Test -* **New:** Support for verifying the installed SSL certificate has been added to the compatibility test. -* **New:** Support for verifying the status of `open_basedir` and `safe_mode` has been added to the compatibility test. -* **New:** Support for verifying the status of the PHP 5.3 garbage collector has been added to the compatibility test. -* **New:** The compatibility test now recommends optimal values for the `AWS_CERTIFICATE_AUTHORITY` and `AWS_DEFAULT_CACHE_CONFIG` configuration options based on the system's configuration. - - ----- - -# Changelog: 1.3.7 "Quistis" - - -Launched Monday, July 25, 2011 - -## Bug fixes and enhancements -* Addressed minor bug fixes reported via the feedback form in the API Reference. - -## Service Classes -### AmazonAS -* **Changed:** Introduced backwards-incompatible changes to the put_scheduled_update_group_action() method. - - ----- - -# Changelog: 1.3.6 "Penelo" - - -Launched Tuesday, July 12, 2011 - -## Bug fixes and enhancements -* [[Bug Report] rawurlencode error when using SES and curlopts](https://forums.aws.amazon.com/thread.jspa?threadID=68484) - -## Service Classes -### AmazonCloudFormation -* **New:** Support for the `list_stacks()` method has been added to the SDK. - -### AmazonElasticBeanstalk -* **New:** Support for the `swap_environment_cnames()` method has been added to the SDK. - -### AmazonS3 -* **Fixed:** Additional information about maximum open connections has been added to the `create_mpu_object()` method. - -## Compatibility Test -* **New:** Now tests whether the system is 64- or 32-bit. - - ----- - -# Changelog: 1.3.5 "Occuria" - - -Launched Tuesday, June 21, 2011 - -## Service Classes -### AmazonS3 -* **New:** Support for S3 copy part has been added to the SDK. - - ----- - -# Changelog: 1.3.4 "Nero" - - -Launched Tuesday, June 7, 2011 - -## Bug fixes and enhancements -* [Bug in PHP SDK](https://forums.aws.amazon.com/thread.jspa?threadID=67502) -* [cURL error: SSL certificate problem (60) with aws-sdk-for-php 1.3.3](https://forums.aws.amazon.com/thread.jspa?threadID=68349) - - -## Service Classes -### AmazonEC2 -* **New:** Support for Local Availability Zone Pricing has been added to the SDK. - -### AmazonELB -* **New:** Elastic Load Balancing provides a special Amazon EC2 security group that you can use to ensure that a back-end Amazon EC2 instance receives traffic only from its load balancer. - -### AmazonRDS -* **New:** Support for Oracle databases has been added to the SDK. - - -## Utility Classes -### CFArray -* **New:** Added the init() method which simplifies the process of instantiating and chaining a class. -* **New:** Added support for associative arrays to `each()`, `map()` and `filter()`. - -### CFRequest -* **New:** Now supports the `AWS_CERTIFICATE_AUTHORITY` configuration option. - - ----- - -# Changelog: 1.3.3 "Moogle" - - -Launched Tuesday, May 10, 2011 - -## Bug fixes and enhancements -* [Bug in AmazonCloudFront::get_private_object_url](https://forums.aws.amazon.com/thread.jspa?threadID=64004) -* [SDK 1.3.2 - Call to undefined function json_last_error()](https://forums.aws.amazon.com/thread.jspa?threadID=64767) -* [CURLOPT_FOLLOWLOCATION cannot be activated when in safe_mode or an open_basedir](https://forums.aws.amazon.com/thread.jspa?threadID=61333) - - -## Service Classes -### AmazonCloudFront -* **Fixed:** Resolved an issue where the expires value for `get_private_object_url()` only accepted a string instead of a string or integer. - -### AmazonCloudWatch -* **New:** Support for CloudWatch custom user metrics has been added to the SDK. - - -## Extensions -### S3BrowserUpload -* **New:** Added the `S3BrowserUpload` class to the SDK. This class assists in generating the correct HTML/XHTML markup for uploading files to S3 via an HTML
element. - - -## Utility Classes -### CFArray -* **New:** Added the `init()` method which simplifies the process of instantiating and chaining a class. - -### CFHadoopBase -* **New:** The `CFHadoopBase` class has been extracted out of `CFHadoopStep` as a shared library. - -### CFHadoopStep -* **New:** The `CFHadoopBase` class has been extracted out of `CFHadoopStep` as a shared library. -* **New:** This class now extends from the `CFHadoopBase` class. - -### CFJSON -* **Fixed:** Resolved an issue where a PHP 5.3-specific function was being used. - -### CFPolicy -* **New:** Added the init() method which simplifies the process of instantiating and chaining a class. - -### CFSimpleXML -* **New:** Added the init() method which simplifies the process of instantiating and chaining a class. - -### RequestCore -* **Fixed:** Improvements to running in PHP environments with open_basedir enabled. -* **Fixed:** RequestCore now uses an up-to-date `cacert.pem` file from Mozilla instead of the Certificate Authority that libcurl or libopenssl was compiled with, which should resolve certain issues with making SSL connections to AWS services. - - ----- - -# Changelog: 1.3.2 "Luna" - - -Launched Tuesday, April 5, 2011 - -## New Features & Highlights (Summary) -* Support for Dedicated Instances within a Virtual Private Cloud on single-tenant hardware has been added to the SDK. -* Bug fixes and enhancements: - * [AmazonCloudWatch get_metric_statistics returns gzipped body](https://forums.aws.amazon.com/thread.jspa?threadID=62625) - - -## Service Classes -### AmazonCloudWatch -* **Fixed:** Worked around an issue where when CloudWatch sends back `Content-Encoding: gzip`, it really means `deflate`. When CloudWatch sends back `Content-Encoding: deflate`, it really means the data isn't encoded at all. - -### AmazonEC2 -* **New:** Support for Dedicated Instances within a Virtual Private Cloud on single-tenant hardware has been added to the SDK. - - ----- - -# Changelog: 1.3.1 "Kraken" - - -Launched Friday, March 25, 2011 - -## New Features & Highlights (Summary) -* Fixed issues with Signature v3 authentication (SES). -* Added gzip decoding. -* Added support for converting data to more alternate formats. -* Bug fixes and enhancements: - * [Cannot send email](https://forums.aws.amazon.com/thread.jspa?threadID=62833) - * [AmazonCloudWatch get_metric_statistics returns gzipped body](https://forums.aws.amazon.com/thread.jspa?threadID=62625) - - -## Utility Classes -### CFArray -* **New:** The `to_json()` and `to_yaml()` methoda have been added to the class. - -### CFGzipDecode -* **New:** Handles a variety of primary and edge cases around gzip/deflate decoding in PHP. - -### CFRuntime -* **New:** Gzip decoding has been added to the SDK. -* **Fixed:** The previous release contained a regression in the Signature v3 support that affected AmazonSES. This has been resolved. -* **Fixed:** Completed support for Signature v3 over HTTP connections. - -### CFSimpleXML -* **New:** The `to_stdClass()` and `to_yaml()` methoda have been added to the class. - - ----- - -# Changelog: 1.3 "Jecht" - - -Launched Tuesday, March 15, 2011 - -## New Features & Highlights (Summary) -* Support for VPC Internet Access has been added to the SDK. -* Bug fixes and enhancements: - * [AmazonEC2::register_image issue](https://forums.aws.amazon.com/thread.jspa?threadID=52499) - * [Automatic Parseing of XML objects](https://forums.aws.amazon.com/thread.jspa?threadID=61882) - -## Service Classes -### AmazonEC2 -* **New:** Support for VPC Internet Access has been added to the SDK. -* **Fixed:** The `$image_location` parameter in the `register_image()` method is no longer required. This is a backwards-incompatible change. - -### AmazonS3 -* **Fixed:** Resolved an issue in `get_object()` where using the `lastmodified` and `etag` parameters required both to be set before taking effect. They can now be set independently from each other. - - -## Utility classes -### CFArray -* **Changed:** The `reduce()` method has been renamed to `filter()`. `reduce()` is now simply an alias for `filter()`. - -### CFJSON -* **New:** Simplifies the task of normalizing XML and JSON responses as `CFSimpleXML` objects. - -### CFRuntime -* **New:** Preliminary support for Signature v3 over HTTP has been added to the SDK. This is useful for debugging Signature v3 issues over non-HTTPS connections. -* **Changed:** Classes that use the shared authentication method (i.e., NOT `AmazonS3` or `AmazonCloudFront`) will automatically convert JSON service responses into a `CFSimpleXML` object. -* **Changed:** Formerly, the SDK would attempt to sniff the content to determine the type. Now, the SDK will check the HTTP response headers for `text/xml`, `application/xml` or `application/json` to determine whether or not to parse the content. If the HTTP response headers are not available, the SDK will still attempt content sniffing. - -### CFSimpleXML -* **New:** The `to_json()` method has been added to the class. - -### CFUtilities -* **New:** The `is_json()` method has been added to the class. - - ----- - -# Changelog: 1.2.6 "Ifrit" - - -Launched Wednesday, March 2, 2011 - -## New Features & Highlights (Summary) -* **New:** Support for the new Asia Pacific "Northeast" (Japan) endpoint has been added for all relevant services. -* **New:** Support for registering callback functions for read/write streams has been added to the SDK. Includes a runnable sample. -* **Fixed:** Improvements to avoid triggering warnings when PHP is in Safe Mode. - - -## Service Classes -### AmazonAS -* **New:** Added a new _class_ constant: `REGION_APAC_NE1`. - -### AmazonCloudFormation -* **New:** Added a new _class_ constant: `REGION_APAC_NE1`. - -### AmazonCloudWatch -* **New:** Added a new _class_ constant: `REGION_APAC_NE1`. - -### AmazonEC2 -* **New:** Added a new _class_ constant: `REGION_APAC_NE1`. - -### AmazonELB -* **New:** Added a new _class_ constant: `REGION_APAC_NE1`. - -### AmazonRDS -* **New:** Added a new _class_ constant: `REGION_APAC_NE1`. - -### AmazonS3 -* **New:** Added a new _class_ constant: `REGION_APAC_NE1`. -* **New:** Added support for `ap-northeast-1` as a location constraint when creating a new bucket. - -### AmazonSDB -* **New:** Added a new _class_ constant: `REGION_APAC_NE1`. - -### AmazonSNS -* **New:** Added a new _class_ constant: `REGION_APAC_NE1`. - -### AmazonSQS -* **New:** Added a new _class_ constant: `REGION_APAC_NE1`. - -## Utility classes -### CFRuntime -* **New:** Support for registering callback functions for read/write streams has been added to the SDK. -* **New:** Future-proofed for future regional endpoints. - -### RequestCore -* **New:** Support for registering callback functions for read/write streams has been added to the SDK. -* **Fixed:** Improvements to avoid triggering warnings when PHP is in Safe Mode. - -## Samples -* **New:** A sample demonstrating how to add a command-line progress bar for S3 transfers has been added to the SDK. - - ----- - -# Changelog: 1.2.5 "Heidegger" - - -Launched Thursday, February 24, 2011 - -## New Features & Highlights (Summary) -* Support for AWS CloudFormation has been added to the SDK. -* Bug fixes and enhancements: - * [PHP API change_content_type() broken](https://forums.aws.amazon.com/thread.jspa?threadID=59532) - * [Bug setting OriginAccessIdentity for a Cloudfront distribution config](https://forums.aws.amazon.com/thread.jspa?threadID=60989) - -## Service Classes -### AmazonCloudFormation -* **New:** Support for AWS CloudFormation has been added to the SDK. - -### AmazonCloudFront -* **Fixed:** Issues around `update_xml_config()` have been resolved. - -### AmazonS3 -* **Fixed:** Issues around `change_content_type()` have been resolved. - - ----- - -# Changelog: 1.2.4 "Goltanna" - - -Launched Wednesday, February 16, 2011 - -## New Features & Highlights (Summary) -* Support for IAM account aliases and server certificates has been added to the SDK. -* Support for Amazon S3 Website Configuration has been added to the SDK. -* Documentation updates for Amazon RDS and AWS Import/Export. -* Updated all documentation blocks to adhere to the PHPDoc format. This enables a greater number of tools to take advantage of the SDK documentation. -* Rolled out a major update to the SDK API Reference. - -## Service Classes -### AmazonIAM -* **New:** Support for IAM account aliases and server certificates has been added to the SDK. - -### AmazonImportExport -* **New:** Documentation has been updated to note the new US West region support. - -### AmazonRDS -* **New:** Documentation has been updated to note the new support for MySQL 5.5. - -### AmazonS3 -* **New:** Support for Amazon S3 Website Configuration has been added to the SDK. - - ----- - -# Changelog: 1.2.3 "Fayth" - - -Launched Tuesday, January 25, 2010 - -## New Features & Highlights (Summary) -* Support for Amazon Simple Email Service has been added to the SDK. - -## Service Classes -### AmazonSES -* **New:** Support for Amazon Simple Email Service has been added to the SDK. - - ----- - -# Changelog: 1.2.2 "Esper" - - -Launched Tuesday, January 18, 2011 - -## New Features & Highlights (Summary) -* Support for Amazon Elastic Beanstalk has been added to the SDK. -* Bug fixes and enhancements: - * [AWS PHP S3 Library is not working out of the box](https://forums.aws.amazon.com/thread.jspa?threadID=55174) - * [Problem with create_mpu_object() and streaming_read_callback() in S3](https://forums.aws.amazon.com/thread.jspa?threadID=54541) - * [Integrated Uranium235's GitHub contributions](https://github.com/Uranium235/aws-sdk-for-php/compare/Streaming) - -## Service Classes -### AmazonElasticBeanstalk -* **New:** Support for AWS Elastic Beanstalk has been added to the SDK. - -### AmazonS3 -* **Fixed:** Major improvements to transferring data over streams. - -## Utility classes -###RequestCore -* **New:** Upgraded to version 1.4. -* **Fixed:** Major improvements to transferring data over streams. - - ----- - -# Changelog: 1.2.1 "Dio" - - -Launched Friday, January 14, 2011 - - -## New Features & Highlights (Summary) -* Support for S3 Response Headers has been added to the SDK. -* Bug fixes and enhancements: - * [copy_object failed between regions](https://forums.aws.amazon.com/thread.jspa?threadID=56893) - * [Possible S3 bug with multiple buckets?](https://forums.aws.amazon.com/thread.jspa?threadID=56561) - -## Service Classes -### AmazonS3 -* **New:** Support for S3 Response Headers has been added to the SDK. -* **New:** Documentation for Amazon S3 has been updated to include large object support details. -* **New:** The `abort_multipart_uploads_by_date()` method has been added to the SDK, which aborts multipart uploads that were initiated before a specific date. -* **Fixed:** Resolved an issue where the resource prefix wasn't being reset correctly. - -## Utility classes -### CFArray -* **New:** Instantiating the class without passing an array will use an empty array instead. -* **New:** Added the `compress()` method which removes null values from the array. -* **New:** Added the `reindex()` method which reindexes all array elements starting at zero. - -## Compatibility Test -* **New:** The command-line compatibility test now color-codes the responses. - - ----- - -# Changelog: 1.2 "Cloud" - - -Launched Friday, December 3, 2010 - - -## New Features & Highlights (Summary) -* Support for Amazon AutoScaling, Amazon Elastic MapReduce, and Amazon Import/Export Service has been added to the SDK. -* Support for metric alarms has been added to Amazon CloudWatch. -* Support for batch deletion has been added to Amazon SimpleDB. -* Bug fixes and enhancements: - * [EU Region DNS problem](https://forums.aws.amazon.com/thread.jspa?threadID=53028) - * [[SimpleDB] Conditional PUT](https://forums.aws.amazon.com/thread.jspa?threadID=55884) - * [Suggestions for the PHP SDK](https://forums.aws.amazon.com/thread.jspa?threadID=55210) - * [Updating a distribution config](https://forums.aws.amazon.com/thread.jspa?threadID=54888) - * [Problem with curlopt parameter in S3](https://forums.aws.amazon.com/thread.jspa?threadID=54532) - * [AmazonS3::get_object_list() doesn't consider max-keys option](https://forums.aws.amazon.com/thread.jspa?threadID=55169) - -## Base/Runtime class -* **New:** Added support for an alternate approach to instantiating classes which allows for method chaining (PHP 5.3+). -* **Changed:** Moved `CHANGELOG.md`, `CONTRIBUTORS.md`, `LICENSE.md` and `NOTICE.md` into a new `_docs` folder. -* **Changed:** Renamed the `samples` directory to `_samples`. -* **Changed:** Changed the permissions for the SDK files from `0755` to `0644`. -* **Fixed:** Resolved an issue where attempting to merge cURL options would fail. - -## Service Classes -### AmazonAS -* **New:** Support for the Amazon AutoScaling Service has been added to the SDK. - -### AmazonCloudFront -* **Fixed:** Resolved an issue where the incorrect formatting of an XML element prevented the ability to update the list of trusted signers. - -### AmazonCloudWatch -* **New:** Support for the Amazon CloudWatch `2010-08-01` service release expands Amazon's cloud monitoring offerings with custom alarms. -* **Changed:** The changes made to the `get_metric_statistics()` method are backwards-incompatible with the previous release. The `Namespace` and `Period` parameters are now required and the parameter order has changed. - -### AmazonEMR -* **New:** Support for the Amazon Elastic MapReduce Service has been added to the SDK. - -### AmazonImportExport -* **New:** Support for the Amazon Import/Export Service has been added to the SDK. - -### AmazonS3 -* **Fixed:** Resolved an issue in the `create_bucket()` method that caused the regional endpoint to be reset to US-Standard. -* **Fixed:** Resolved an issue in the `get_object_list()` method where the `max-keys` parameter was ignored. - -### AmazonSDB -* **New:** Support for `BatchDeleteAttributes` has been added to the SDK. -* **Fixed:** Resolved an issue where the `Expected` condition was not respected by `put_attributes()` or `delete_attributes()`. - - -## Utility classes -### CFComplexType -* **New:** You can now assign a `member` parameter to prefix all list identifiers. -* **Changed:** The `option_group()` method is now `public` instead of `private`. -* **Changed:** Rewrote the `to_query_string()` method to avoid the use of PHP's `http_build_query()` function because it uses `urlencode()` internally instead of `rawurlencode()`. - -### CFHadoopStep -* **New:** Simplifies the process of working with Hadoop steps in Amazon EMR. - -### CFManifest -* **New:** Simplifies the process of constructing YAML manifest documents for Amazon Import/Export Service. - -### CFStepConfig -* **New:** Simplifies the process of working with step configuration in Amazon EMR. - - -## Third-party Libraries -### CacheCore -* **Changed:** The `generate_timestamp()` method is now `protected` instead of `private`. - - ----- - -# Changelog: 1.1 "Barret" - - -Launched Wednesday, November 10, 2010 - - -## New Features & Highlights (Summary) -* Support for Amazon ELB, Amazon RDS and Amazon VPC has been added to the SDK. -* Support for the Amazon S3 multipart upload feature has been added to the SDK. This feature enables developers upload large objects in a series of requests for improved upload reliability. -* Support for the Amazon CloudFront custom origin (2010-11-01 release) feature has been added to the SDK. This feature enables developers to use custom domains as sources for Amazon CloudFront distributions. -* The `AmazonS3` class now supports reading from and writing to open file resources in addition to the already-supported file system paths. -* You can now seek to a specific byte-position within a file or file resource and begin streaming from that point when uploading or downloading objects. -* The methods `get_bucket_filesize()`, `get_object_list()`, `delete_all_objects()` and `delete_all_object_versions()` are no longer limited to 1000 entries and will work correctly for all entries. -* Requests that have errors at the cURL level now throw exceptions containing the error message and error code returned by cURL. -* Bug fixes and enhancements: - * [Bug in Samples](http://developer.amazonwebservices.com/connect/thread.jspa?threadID=52748) - * [EU Region DNS problem](http://developer.amazonwebservices.com/connect/thread.jspa?threadID=53028) - * [AmazonS3 get_bucket_object_count](http://developer.amazonwebservices.com/connect/thread.jspa?threadID=52976) - * [S3: get_object_list() fatal error](http://developer.amazonwebservices.com/connect/thread.jspa?threadID=53418) - * [S3 get_object_metadata() problems](http://developer.amazonwebservices.com/connect/thread.jspa?threadID=54244) - * [Bug in authenticate in sdk.class.php](http://developer.amazonwebservices.com/connect/thread.jspa?threadID=53117) - * [How to use Prefix with "get_object_list"?](http://developer.amazonwebservices.com/connect/thread.jspa?threadID=52987) - * [SignatureDoesNotMatch with utf-8 in SimpleDB](http://developer.amazonwebservices.com/connect/thread.jspa?threadID=52798) - * [Suggestion for the PHP SDK concerning streaming](http://developer.amazonwebservices.com/connect/thread.jspa?threadID=52787) - * [get_bucket_filesize only returns filesize for first 1000 objects](http://developer.amazonwebservices.com/connect/thread.jspa?threadID=53786) - - -## Base/Runtime class -* **Changed:** Port numbers other than 80 and 443 are now part of the signature. -* **Changed:** When putting UTF-8 characters via HTTP `POST`, a `SignatureDoesNotMatch` error would be returned. This was resolved by specifying the character set in the `Content-Type` header. - - -## Service Classes -### AmazonCloudFront -* **New:** Support for the Amazon CloudFront non-S3 origin feature (2010-11-01 release) has been added to the SDK. This feature enables developers to use non-S3 domains as sources for Amazon CloudFront distributions. - -### AmazonEC2 -* **New:** Support for Amazon Virtual Private Cloud has been added to the SDK. - -### AmazonELB -* **New:** Support for Amazon Elastic Load Balancing Service has been added to the SDK. - -### AmazonIAM -* **Fixed:** Removed `set_region()` as IAM only supports a single endpoint. - -### AmazonRDS -* **New:** Support for Amazon Relational Database Service has been added to the SDK. - -### AmazonS3 -* **New:** Support for the Amazon S3 multipart upload feature has been added to the SDK. This feature enables developers upload large objects in a series of requests for improved upload reliability. -* **New:** The `fileUpload` and `fileDownload` options now support reading from and writing to open file resources in addition to the already-supported file system paths. -* **Fixed:** In Amazon S3, requests directly to the eu-west endpoint must use the path-style URI. The set_region() method now takes this into account. -* **Fixed:** As of version 1.0.1, CFSimpleXML extends SimpleXMLIterator instead of SimpleXMLElement. This prevented the `__call()` magic method from firing when `get_object_list()` was used. -* **Fixed:** The `preauth` option for the `get_object_list()` method has been removed from the documentation as it is not supported. -* **Fixed:** The methods `get_bucket_filesize()`, `get_object_list()`, `delete_all_objects()` and `delete_all_object_versions()` are no longer limited to 1000 entries and will work correctly for all entries. -* **Fixed:** Using `delete_bucket()` to force-delete a bucket now works correctly for buckets with more than 1000 versions. -* **Fixed:** The response from the `get_object_metadata()` method now includes all supported HTTP headers, including metadata stored in `x-amz-meta-` headers. -* **Fixed:** Previously, if the `get_object_metadata()` method was called on a non-existant object, metadata for the alphabetically-next object would be returned. - -### AmazonSQS -* **New:** The `get_queue_arn()` method has been added to the `AmazonSQS` class, which converts a queue URI to a queue ARN. - - -## Utility classes -### CFSimpleXML -* **New:** Added `to_string()` and `to_array()` methods. - - -## Third-party Libraries -### RequestCore -* **New:** Upgraded to version 1.3. -* **New:** Added `set_seek_position()` for seeking to a byte-position in a file or file resource before starting an upload. -* **New:** Added support for reading from and writing to open file resources. -* **Fixed:** Improved the reporting for cURL errors. - - -## Compatibility Test -* **Fixed:** Fixed the links to the Getting Started Guide. - - ----- - -# Changelog: 1.0.1 "Aeris" - - -Launched Tuesday, October 12, 2010 - - -## New Features & Highlights (Summary) -* Improved support for running XPath queries against the service response bodies. -* Added support for request retries and exponential backoff. -* Added support for HTTP request/response header logging. -* Bug fixes and enhancements: - * [Bug in Samples](http://developer.amazonwebservices.com/connect/thread.jspa?threadID=52748) - * [Can't set ACL on object using the SDK](http://developer.amazonwebservices.com/connect/thread.jspa?threadID=52305) - * [Range requests for S3 - status codes 200, 206](http://developer.amazonwebservices.com/connect/thread.jspa?threadID=52738) - * [S3 change_storage_redundancy() function clears public-read ACL](http://developer.amazonwebservices.com/connect/thread.jspa?threadID=52652) - - -## Base/Runtime class -* **New:** Added support for request retries and exponential backoff for all `500` and `503` HTTP status codes. -* **New:** Added the `enable_debug_mode()` method to enable HTTP request/response header logging to `STDERR`. - - -## Service Classes -### AmazonS3 -* **Fixed:** Lots of tweaks to the documentation. -* **Fixed:** The `change_content_type()`, `change_storage_redundancy()`, `set_object_acl()`, and `update_object()` methods now respect the existing content-type, storage redundancy, and ACL settings when updating. -* **New:** Added the `get_object_metadata()` method has been added as a singular interface for obtaining all available metadata for an object. - - -## Utility Classes -### CFArray -* **New:** Added the `each()` method which accepts a callback function to execute for each entry in the array. Works similarly to [jQuery's each()](http://api.jquery.com/each). -* **New:** Added the `map()` method which accepts a callback function to execute for each entry in the array. Works similarly to [jQuery's map()](http://api.jquery.com/map). -* **New:** Added the `reduce()` method which accepts a callback function to execute for each entry in the array. Works similarly to [DomCrawler reduce()](http://github.com/symfony/symfony/blob/master/src/Symfony/Component/DomCrawler/Crawler.php) from the [Symfony 2](http://symfony-reloaded.org) Preview Release. -* **New:** Added the `first()` and `last()` methods to return the first and last nodes in the array, respectively. - -### CFInfo -* **New:** Retrieves information about the current installation of the AWS SDK for PHP. - -### CFSimpleXML -* **New:** Added the `query()` method, which allows for XPath queries while the results are wrapped in a `CFArray` response. -* **New:** Added the `parent()` method, which allows for traversing back up the document tree. -* **New:** Added the `stringify()` method, which typecasts the value as a string. -* **New:** Added the `is()` and `contains()` methods, which allow for testing whether the XML value is or contains a given value, respectively. -* **Changed:** Now extends the `SimpleXMLIterator` class, which in-turn extends the `SimpleXMLElement` class. This adds new iterator methods to the `CFSimpleXML` class. - - -## Third-party Libraries -### CacheCore -* **New:** Upgraded to version 1.2. -* **New:** Added a static `init` method that allows for chainable cache initialization (5.3+). - -### RequestCore -* **New:** Added `206` as a successful status code (i.e., Range GET). - - -## Compatibility Test -* **Fixed:** Some of the links in the compatibility test were missing. These have been fixed. - - ----- - -# Changelog: AWS SDK for PHP 1.0 - -Launched Tuesday, September 28, 2010 - -This is a complete list of changes since we forked from the CloudFusion 2.5.x trunk build. - - -## New Features & Highlights (Summary) -* The new file to include is `sdk.class.php` rather than `cloudfusion.class.php`. -* Because of the increased reliance on [JSON](http://json.org) across AWS services, the minimum supported version is now PHP 5.2 ([Released in November 2006](http://www.php.net/ChangeLog-5.php#5.2.0); Justified by these [WordPress usage statistics](http://wpdevel.wordpress.com/2010/07/09/suggest-topics-for-the-july-15-2010-dev/comment-page-1/#comment-8542) and the fact that [PHP 5.2 has been end-of-life'd](http://www.php.net/archive/2010.php#id2010-07-22-1) in favor of 5.3). -* Up-to-date service support for [EC2](http://aws.amazon.com/ec2), [S3](http://aws.amazon.com/s3), [SQS](http://aws.amazon.com/sqs), [SimpleDB](http://aws.amazon.com/simpledb), [CloudWatch](http://aws.amazon.com/cloudwatch), and [CloudFront](http://aws.amazon.com/cloudfront). -* Added service support for [SNS](http://aws.amazon.com/sns). -* Limited testing for third-party API-compatible services such as [Eucalyptus](http://open.eucalyptus.com), [Walrus](http://open.eucalyptus.com) and [Google Storage](http://sandbox.google.com/storage). -* Improved the consistency of setting complex data types across services. (Required some backwards-incompatible changes.) -* Added new APIs and syntactic sugar for SimpleXML responses, batch requests and response caching. -* Moved away from _global_ constants in favor of _class_ constants. -* Minor, but notable improvements to the monkey patching support. -* Added a complete list of bug fix and patch contributors. Give credit where credit is due. ;) - -**Note: ALL backwards-incompatible changes are noted below. Please review the changes if you are upgrading.** We're making a small number of backwards-incompatible changes in order to improve the consistency across services. We're making these changes _now_ so that we can ensure that future versions will always be backwards-compatible with the next major version change. - - -## File structure -The package file structure has been refined in a few ways: - -* All service-specific classes are inside the `/services/` directory. -* All utility-specific classes are inside the `/utilities/` directory. -* All third-party classes are inside the `/lib/` directory. - - -## Base/Runtime class -* **Fixed:** Resolved issues: [#206](http://code.google.com/p/tarzan-aws/issues/detail?id=206). -* **New:** The following global constants have been added: `CFRUNTIME_NAME`, `CFRUNTIME_VERSION`, `CFRUNTIME_BUILD`, `CFRUNTIME_URL`, and `CFRUNTIME_USERAGENT` -* **New:** Now supports camelCase versions of the snake_case method names. (e.g. `getObjectList()` will get translated to `get_object_list()` behind the scenes.) -* **New:** Added `set_resource_prefix()` and `allow_hostname_override()` (in addition to `set_hostname()`) to support third-party, API-compatible services. -* **New:** Added new caching APIs: `cache()` and `delete_cache()`, which work differently from the methods they replace. See docs for more information. -* **New:** Added new batch request APIs, `batch()` and `CFBatchRequest` which are intended to replace the old `returnCurlHandle` optional parameter. -* **New:** Will look for the `config.inc.php` file first in the same directory (`./config.inc.php`), and then fallback to `~/.aws/sdk/config.inc.php`. -* **Changed:** Renamed the `CloudFusion` base class to `CFRuntime`. -* **Changed:** `CloudFusion_Exception` has been renamed as `CFRuntime_Exception`. -* **Changed:** Renamed the `CloudFusion::$enable_ssl` property to `CFRuntime::$use_ssl`. -* **Changed:** Renamed the `CloudFusion::$set_proxy` property to `CFRuntime::$proxy`. -* **Changed:** `CFRuntime::disable_ssl()` no longer takes any parameters. Once SSL is off, it is always off for that class instance. -* **Changed:** All date-related constants are now class constants of the `CFUtilities` class (e.g. `CFUtilities::DATE_FORMAT_ISO8601`). - * Use `CFUtilities::konst()` if you're extending classes and need to do something such as `$this->util::DATE_FORMAT_ISO8601` but keep getting the `T_PAAMAYIM_NEKUDOTAYIMM` error. -* **Changed:** All `x-cloudfusion-` and `x-tarzan-` HTTP headers are now `x-aws-`. -* **Changed:** `CloudFusion::autoloader()` is now in its own separate class: `CFLoader::autoloader()`. This prevents it from being incorrectly inherited by extending classes. -* **Changed:** `RequestCore`, `ResponseCore` and `SimpleXMLElement` are now extended by `CFRequest`, `CFResponse` and `CFSimpleXML`, respectively. These new classes are now used by default. -* **Changed:** Changes to monkey patching: - * You must now extend `CFRequest` instead of `RequestCore`, and then pass that class name to `set_request_class()`. - * You must now extend `CFResponse` instead of `ResponseCore`, and then pass that class name to `set_response_class()`. - * You can now monkey patch `CFSimpleXML` (extended from `SimpleXMLElement`) with `set_parser_class()`. - * You can now monkey patch `CFBatchRequest` with `set_batch_class()`. - * No changes for monkey patching `CFUtilities` with `set_utilities_class()`. -* **Removed:** Removed ALL existing _global_ constants and replaced them with _class_ constants. -* **Removed:** Removed `cache_response()` and `delete_cache_response()`. - - -## Service classes - -### AmazonCloudFront -* **Fixed:** Resolved issues: [#124](http://code.google.com/p/tarzan-aws/issues/detail?id=124), [#225](http://code.google.com/p/tarzan-aws/issues/detail?id=225), [#229](http://code.google.com/p/tarzan-aws/issues/detail?id=229), [#232](http://code.google.com/p/tarzan-aws/issues/detail?id=232), [#239](http://code.google.com/p/tarzan-aws/issues/detail?id=239). -* **Fixed:** Fixed an issue where `AmazonCloudFront` sent a `RequestCore` user agent in requests. -* **New:** Class is now up-to-date with the [2010-07-15](http://docs.amazonwebservices.com/AmazonCloudFront/2010-07-15/APIReference/) API release. -* **New:** Added _class_ constants for deployment states: `STATE_INPROGRESS` and `STATE_DEPLOYED`. -* **New:** Now supports streaming distributions. -* **New:** Now supports HTTPS (as well as HTTPS-only) access. -* **New:** Now supports Origin Access Identities. Added `create_oai()`, `list_oais()`, `get_oai()`, `delete_oai()`, `generate_oai_xml()` and `update_oai_xml()`. -* **New:** Now supports private (signed) URLs. Added `get_private_object_url()`. -* **New:** Now supports default root objects. -* **New:** Now supports invalidation. -* **New:** Added `get_distribution_list()`, `get_streaming_distribution_list()` and `get_oai_list()` which return simplified arrays of identifiers. -* **Changed:** Replaced all of the remaining `CDN_*` constants with _class_ constants. - -### AmazonCloudWatch -* **New:** Added new _class_ constants: `DEFAULT_URL`, `REGION_US_E1`, `REGION_US_W1`, `REGION_EU_W1`, and `REGION_APAC_SE1`. -* **New:** Now supports the _Northern California_, _European_ and _Asia-Pacific_ regions. -* **New:** The _global_ `CW_DEFAULT_URL` constant has been replaced by `AmazonCloudFront::DEFAULT_URL`. - -### AmazonEC2 -* **Fixed:** Resolved issues: [#124](http://code.google.com/p/tarzan-aws/issues/detail?id=124), [#131](http://code.google.com/p/tarzan-aws/issues/detail?id=131), [#138](http://code.google.com/p/tarzan-aws/issues/detail?id=138), [#139](http://code.google.com/p/tarzan-aws/issues/detail?id=139), [#154](http://code.google.com/p/tarzan-aws/issues/detail?id=154), [#173](http://code.google.com/p/tarzan-aws/issues/detail?id=173), [#200](http://code.google.com/p/tarzan-aws/issues/detail?id=200), [#233](http://code.google.com/p/tarzan-aws/issues/detail?id=233). -* **New:** Class is now up-to-date with the [2010-06-15](http://docs.amazonwebservices.com/AWSEC2/2010-06-15/APIReference/) API release. -* **New:** Now supports [Paid AMIs](http://developer.amazonwebservices.com/connect/entry.jspa?externalID=865&categoryID=87). -* **New:** Now supports [Multiple instance types](http://developer.amazonwebservices.com/connect/entry.jspa?externalID=992&categoryID=87). -* **New:** Now supports [Elastic IPs](http://developer.amazonwebservices.com/connect/entry.jspa?externalID=1344&categoryID=87). -* **New:** Now supports [Availability Zones](http://developer.amazonwebservices.com/connect/entry.jspa?externalID=1344&categoryID=87). -* **New:** Now supports [Elastic Block Store](http://developer.amazonwebservices.com/connect/entry.jspa?externalID=1665&categoryID=87). -* **New:** Now supports [Windows instances](http://developer.amazonwebservices.com/connect/entry.jspa?externalID=1765&categoryID=87). -* **New:** Now supports the [European region](http://developer.amazonwebservices.com/connect/entry.jspa?externalID=1926&categoryID=87). -* **New:** Now supports the _Northern California_ and _Asia-Pacific_ regions. -* **New:** Now supports [Reserved instances](http://developer.amazonwebservices.com/connect/entry.jspa?externalID=2213&categoryID=87). -* **New:** Now supports [Shared snapshots](http://developer.amazonwebservices.com/connect/entry.jspa?externalID=2843&categoryID=87). -* **New:** Now supports [EBS AMIs](http://developer.amazonwebservices.com/connect/entry.jspa?externalID=3105&categoryID=87). -* **New:** Now supports [Spot instances](http://developer.amazonwebservices.com/connect/entry.jspa?externalID=3215&categoryID=87). -* **New:** Now supports [Cluster Compute Instances](http://developer.amazonwebservices.com/connect/entry.jspa?externalID=3965&categoryID=87). -* **New:** Now supports [Placement Groups](http://developer.amazonwebservices.com/connect/entry.jspa?externalID=3965&categoryID=87). -* **New:** Added new _class_ constants for regions: `REGION_US_E1`, `REGION_US_W1`, `REGION_EU_W1`, `REGION_APAC_SE1`. -* **New:** Added new _class_ constants for run-state codes: `STATE_PENDING`, `STATE_RUNNING`, `STATE_SHUTTING_DOWN`, `STATE_TERMINATED`, `STATE_STOPPING`, `STATE_STOPPED`. -* **New:** Added support for decrypting the Administrator password for Microsoft Windows instances. -* **New:** Instead of needing to pass `Parameter.0`, `Parameter.1`, ...`Parameter.n` individually to certain methods, you can now reliably pass a string for a single value or an indexed array for a list of values. -* **New:** Limited tested has been done with the Eucalyptus EC2-clone. -* **Changed:** The `$account_id` parameter has been removed from the constructor. -* **Changed:** The _global_ `EC2_LOCATION_US` and `EC2_LOCATION_EU` constants have been replaced. -* **Changed:** The `set_locale()` method has been renamed to `set_region()`. It accepts any of the region constants. - -### AmazonIAM -* **New:** Up-to-date with the [2010-03-31](http://docs.amazonwebservices.com/sns/2010-03-31/api/) API release. - -### AmazonS3 -* **Fixed:** Resolved issues: [#31](http://code.google.com/p/tarzan-aws/issues/detail?id=31), [#72](http://code.google.com/p/tarzan-aws/issues/detail?id=72), [#123](http://code.google.com/p/tarzan-aws/issues/detail?id=123), [#156](http://code.google.com/p/tarzan-aws/issues/detail?id=156), [#199](http://code.google.com/p/tarzan-aws/issues/detail?id=199), [#201](http://code.google.com/p/tarzan-aws/issues/detail?id=201), [#203](http://code.google.com/p/tarzan-aws/issues/detail?id=203), [#207](http://code.google.com/p/tarzan-aws/issues/detail?id=207), [#208](http://code.google.com/p/tarzan-aws/issues/detail?id=208), [#209](http://code.google.com/p/tarzan-aws/issues/detail?id=209), [#210](http://code.google.com/p/tarzan-aws/issues/detail?id=210), [#212](http://code.google.com/p/tarzan-aws/issues/detail?id=212), [#216](http://code.google.com/p/tarzan-aws/issues/detail?id=216), [#217](http://code.google.com/p/tarzan-aws/issues/detail?id=217), [#226](http://code.google.com/p/tarzan-aws/issues/detail?id=226), [#228](http://code.google.com/p/tarzan-aws/issues/detail?id=228), [#234](http://code.google.com/p/tarzan-aws/issues/detail?id=234), [#235](http://code.google.com/p/tarzan-aws/issues/detail?id=235). -* **Fixed:** Fixed an issue where `AmazonS3` sent a `RequestCore` user agent in requests. -* **New:** Now supports the _Northern California_ and _Asia-Pacific_ regions. -* **New:** Now supports the new _EU (Ireland)_ REST endpoint. -* **New:** Now supports MFA Delete. -* **New:** Now supports Conditional Copy. -* **New:** Now supports Reduced Redundancy Storage (RRS). Added `change_storage_redundancy()`. -* **New:** Now supports Object Versioning. Added `enable_versioning()`, `disable_versioning`, `get_versioning_status()`, and `list_bucket_object_versions()`. -* **New:** Now supports Bucket Policies. Added `set_bucket_policy()`, `get_bucket_policy()`, and `delete_bucket_policy()`. -* **New:** Now supports Bucket Notifications. Added `create_bucket_notification()`, `get_bucket_notifications()`, and `delete_bucket_notification()`. -* **New:** Added _class_ constants for regions: `REGION_US_E1`, `REGION_US_W1`, `REGION_EU_W1`, `REGION_APAC_SE1`. -* **New:** Added _class_ constants for storage types: `STORAGE_STANDARD` and `STORAGE_REDUCED`. -* **New:** Enhanced `create_object()` with the ability to upload a file from the file system. -* **New:** Enhanced `get_object()` with the ability to download a file to the file system. -* **New:** Enhanced `get_bucket_list()` and `get_object_list()` with performance improvements. -* **New:** Enhanced all GET operations with the ability to generate pre-authenticated URLs. This is the same feature as `get_object_url()` has had, applied to all GET operations. -* **New:** Limited testing with Walrus, the Eucalyptus S3-clone. -* **New:** Limited testing with Google Storage. -* **Changed:** Replaced all of the remaining `S3_*` constants with _class_ constants: `self::ACL_*`, `self::GRANT_*`, `self::USERS_*`, and `self::PCRE_ALL`. -* **Changed:** Changed the function signature for `create_object()`. The filename is now passed as the second parameter, while the remaining options are now passed as the third parameter. This behavior now matches all of the other object-related methods. -* **Changed:** Changed the function signature for `head_object()`, `delete_object()`, and `get_object_acl()`. The methods now accept optional parameters as the third parameter instead of simply `returnCurlHandle`. -* **Changed:** Changed the function signature for `get_object_url()` and `get_torrent_url()`. Instead of passing a number of seconds until the URL expires, you now pass a string that `strtotime()` understands (including `60 seconds`). -* **Changed:** Changed the function signature for `get_object_url()`. Instead of passing a boolean value for `$torrent`, the last parameter is now an `$opt` variable which allows you to set `torrent` and `method` parameters. -* **Changed:** Changed how `returnCurlHandle` is used. Instead of passing `true` as the last parameter to most methods, you now need to explicitly set `array('returnCurlHandle' => true)`. This behavior is consistent with the implementation in other classes. -* **Changed:** Optional parameter names changed in `list_objects()`: `maxKeys` is now `max-keys`. -* **Changed:** `get_bucket_locale()` is now called `get_bucket_region()`, and returns the response body as a _string_ for easier comparison with class constants. -* **Changed:** `get_bucket_size()` is now called `get_bucket_object_count()`. Everything else about it is identical. -* **Changed:** `head_bucket()` is now called `get_bucket_headers()`. Everything else about it is identical. -* **Changed:** `head_object()` is now called `get_object_headers()`. Everything else about it is identical. -* **Changed:** `create_bucket()` has two backward-incompatible changes: - * Method now **requires** the region (formerly _locale_) to be set. - * Method takes an `$acl` parameter so that the ACL can be set directly when creating a new bucket. -* **Changed:** Bucket names are now validated. Creating a new bucket now requires the more stringent DNS-valid guidelines, while the process of reading existing buckets follows the looser path-style guidelines. This change also means that the reading of path-style bucket names is now supported, when previously they weren’t. -* **Removed:** Removed `store_remote_file()` because its intended usage repeatedly confused users, and had potential for misuse. If you were using it to upload from the local file system, you should be using `create_object` instead. -* **Removed:** Removed `copy_bucket()`, `replace_bucket()`, `duplicate_object()`, `move_object()`, and `rename_object()` because only a small number of users used them, and they weren't very robust anyway. -* **Removed:** Removed `get_bucket()` because it was just an alias for `list_objects()` anyway. Use the latter from now on -- it's identical. - -### AmazonSDB -* **Fixed:** Resolved issues: [#205](http://code.google.com/p/tarzan-aws/issues/detail?id=205). -* **New:** Class is now up-to-date with the [2009-04-15](http://docs.amazonwebservices.com/AmazonSimpleDB/2009-04-15/DeveloperGuide/) API release. -* **Changed:** Changed the function signatures for `get_attributes()` and `delete_attributes()` to improve consistency. - -### AmazonSNS -* **New:** Up-to-date with the [2010-03-31](http://docs.amazonwebservices.com/sns/2010-03-31/api/) API release. - -### AmazonSQS -* **Fixed:** Resolved issues: [#137](http://code.google.com/p/tarzan-aws/issues/detail?id=137), [#213](http://code.google.com/p/tarzan-aws/issues/detail?id=213), [#219](http://code.google.com/p/tarzan-aws/issues/detail?id=219), [#220](http://code.google.com/p/tarzan-aws/issues/detail?id=220), [#221](http://code.google.com/p/tarzan-aws/issues/detail?id=221), [#222](http://code.google.com/p/tarzan-aws/issues/detail?id=222). -* **Fixed:** In CloudFusion 2.5, neither `add_permission()` nor `remove_permission()` were functional. They are now working. -* **New:** Now supports the _Northern California_ and _Asia-Pacific_ regions. -* **New:** Now supports the new _US-East (N. Virginia)_ endpoint. -* **New:** Now supports the new _EU (Ireland)_ endpoint. -* **New:** Added new _class_ constants for regions: `REGION_US_E1`, `REGION_US_W1`, `REGION_EU_W1`, and `REGION_APAC_SE1`. -* **Changed:** Because we now support multiple region endpoints, queue names alone are no longer sufficient for referencing your queues. As such, you must now use a full-queue URL instead of just the queue name. -* **Changed:** The _global_ `SQS_LOCATION_US` and `SQS_LOCATION_EU` constants have been replaced. -* **Changed:** Renamed `set_locale()` as `set_region()`. It accepts any of the region constants. -* **Changed:** Changed the function signature for `list_queues()`. See the updated API reference. -* **Changed:** Changed the function signature for `set_queue_attributes()`. See the updated API reference. -* **Changed:** Changed how `returnCurlHandle` is used. Instead of passing `true` as the last parameter to most methods, you now need to explicitly set `array('returnCurlHandle' => true)`. This behavior is consistent with the implementation in other classes. -* **Changed:** Function signature changed in `get_queue_attributes()`. The `$attribute_name` parameter is now passed as a value in the `$opt` parameter. - -### AmazonSQSQueue -* **Removed:** `AmazonSQSQueue` was a simple wrapper around the AmazonSDB class. It generally failed as an object-centric approach to working with SQS, and as such, has been eliminated. Use the `AmazonSQS` class instead. - - -## Utility Classes -### CFArray -* **New:** Extends `ArrayObject`. -* **New:** Simplified typecasting of SimpleXML nodes to native types (e.g. integers, strings). - -### CFBatchRequest -* **New:** Provides a higher-level API for executing batch requests. - -### CFComplexType -* **New:** Used internally by several classes to handle various complex data-types (e.g. single or multiple values, `Key.x.Subkey.y.Value` combinations). -* **New:** Introduces a way to convert between JSON, YAML, and the PHP equivalent of Lists and Maps (nested associative arrays). - -### CFRequest -* **New:** Sets some project-specific settings and passes them to the lower-level RequestCore. - -### CFResponse -* **New:** No additional changes from the base `ResponseCore` class. - -### CFPolicy -* **New:** Used for constructing Base64-encoded, JSON policy documents to be passed around to other methods. - -### CFSimpleXML -* **New:** Extends `SimpleXMLElement`. -* **New:** Simplified node retrieval. All SimpleXML-based objects (e.g. `$response->body`) now have magic methods that allow you to quickly retrieve nodes with the same name - * e.g. `$response->body->Name()` will return an array of all SimpleXML nodes that match the `//Name` XPath expression. - -### CFUtilities -* **Fixed:** `to_query_string()` now explicitly passes a `&` character to `http_build_query()` to avoid configuration issues with MAMP/WAMP/XAMP installations. -* **Fixed:** `convert_response_to_array()` has been fixed to correctly return an all-array response under both PHP 5.2 and 5.3. Previously, PHP 5.3 returned a mix of `array`s and `stdClass` objects. -* **New:** Added `konst()` to retrieve the value of a class constant, while avoiding the `T_PAAMAYIM_NEKUDOTAYIM` error. Misspelled because `const` is a reserved word. -* **New:** Added `is_base64()` to determine whether or not a string is Base64-encoded data. -* **New:** Added `decode_uhex()` to decode `\uXXXX` entities back into their unicode equivalents. -* **Changed:** Changed `size_readable()`. Now supports units up to exabytes. -* **Changed:** Moved the `DATE_FORMAT_*` _global_ constants into this class as _class_ constants. -* **Removed:** Removed `json_encode_php51()` now that the minimum required version is PHP 5.2 (which includes the JSON extension by default). -* **Removed:** Removed `hex_to_base64()`. - - -## Third-party Libraries -### CacheCore -* **New:** Upgraded to version 1.1.1. -* **New:** Now supports both the [memcache](http://php.net/memcache) extension, but also the newer, faster [memcached](http://php.net/memcached) extension. Prefers `memcached` if both are installed. -* **Deprecated:** Support for MySQL and PostgreSQL as storage mechanisms has been **deprecated**. Since they're using PDO, they'll continue to function (as we're maintaining SQLite support via PDO), but we recommend migrating to using APC, XCache, Memcache or SQLite if you'd like to continue using response caching. -* New BSD licensed -* - -### RequestCore -* **New:** Upgraded to version 1.2. -* **New:** Now supports streaming up and down. -* **New:** Now supports "rolling" requests for better scalability. -* New BSD licensed -* diff --git a/3rdparty/aws-sdk/_docs/CONTRIBUTORS.md b/3rdparty/aws-sdk/_docs/CONTRIBUTORS.md deleted file mode 100644 index 3523bf6723ca677fd035b008d78e6a60b12ce7da..0000000000000000000000000000000000000000 --- a/3rdparty/aws-sdk/_docs/CONTRIBUTORS.md +++ /dev/null @@ -1,64 +0,0 @@ -# Contributors - -## AWS SDK for PHP Contributors - -Contributions were provided under the Apache 2.0 License, as appropriate. - -The following people have provided ideas, support and bug fixes: - -* [arech8](http://developer.amazonwebservices.com/connect/profile.jspa?userID=154435) (bug fixes) -* [Aizat Faiz](http://aizatto.com) (bug fixes) -* [Ben Lumley](http://github.com/benlumley) (bug fixes) -* [David Chan](http://www.chandeeland.org) (bug fixes) -* [Eric Caron](http://www.ericcaron.com) (bug fixes) -* [Jason Ardell](http://ardell.posterous.com/) (bug fixes) -* [Jeremy Archuleta](http://code.google.com/u/jeremy.archuleta/) (bug fixes) -* [Jimmy Berry](http://blog.boombatower.com/) (bug fixes, patches) -* [Paul Voegler](mailto:voegler@gmx.de) (bug fixes, bug reports, patches) -* [Peter Bowen](http://github.com/pzb) (feedback, bug reports) -* [zoxa](https://github.com/zoxa) (bug fixes) - - -## CloudFusion/CacheCore/RequestCore Contributors - -Contributions were provided under the New BSD License, as appropriate. - -The following people have provided ideas, support and bug fixes: - -* [Aaron Collegeman](http://blog.aaroncollegeman.com) (bug fixes) -* [Alex Schenkel](http://code.google.com/u/alex.schenkel/) (bug fixes) -* [Andrzej Bednarczyk](http://kreo-consulting.com) (bug fixes) -* [bprater](http://code.google.com/u/bprater/) (bug fixes) -* [castoware](http://code.google.com/u/castoware/) (bug fixes) -* [Chris Chen](http://github.com/chrischen) (bug fixes, patches, support) -* [Chris Mytton](http://hecticjeff.net) (bug fixes) -* [evgen.dm](http://code.google.com/u/evgen.dm/) (bug fixes) -* [gafitescu](http://code.google.com/u/gafitescu/) (bug fixes) -* [Gary Richardson](http://code.google.com/u/gary.richardson/) (bug fixes) -* [Gil Hildebrand](http://squidoo.com) (bug fixes) -* [Guilherme Blanco](http://blog.bisna.com) (bug fixes) -* [hammjazz](http://code.google.com/u/hammjazz/) (bug fixes) -* [HelloBunty](http://code.google.com/u/HelloBunty/) (bug fixes) -* [inputrequired](http://code.google.com/u/inputrequired/) (bug fixes) -* [Ivo Beckers](http://infopractica.nl) (bug fixes) -* [Jason Litka](http://jasonlitka.com) (bug fixes, patches) -* [Jeremy Archuleta](http://code.google.com/u/jeremy.archuleta/) (bug fixes) -* [John Beales](http://johnbeales.com) (bug fixes) -* [John Parker](http://code.google.com/u/john3parker/) (bug fixes) -* [Jon Cianciullo](http://code.google.com/u/jon.cianciullo/) (bug fixes) -* [kris0476](http://code.google.com/u/kris0476/) (bug fixes) -* [Matt Terenzio](http://jour.nali.st/blog) (bug fixes, patches) -* [Mike Jetter](http://mbjetter.com) (bug fixes) -* [Morten Blinksbjerg Nielsen](http://mbn.dk) (bug fixes) -* [nathell](http://code.google.com/u/nathell/) (bug fixes) -* [nickgsuperstar](http://code.google.com/u/nickgsuperstar/) (bug fixes) -* [ofpichon](http://code.google.com/u/ofpichon/) (bug fixes) -* [Otavio Ferreira](http://otaviofff.me) (bug fixes) -* [Paul Voegler](mailto:voegler@gmx.de) (bug fixes, bug reports, patches) -* [Steve Brozosky](http://code.google.com/u/@UBZWSlJVBxhHXAN1/) (bug fixes) -* [Steve Chu](http://stevechu.org) (bug fixes) -* [tommusic](http://code.google.com/u/tommusic/) (bug fixes) -* [Tyler Hall](http://clickontyler.com) (bug fixes) -* [webcentrica.co.uk](http://code.google.com/u/@VhBQQldUBBBEXAF1/) (bug fixes) -* [worden341](http://github.com/worden341) (bug fixes) -* [yakkyjunk](http://code.google.com/u/yakkyjunk/) (bug fixes) diff --git a/3rdparty/aws-sdk/_docs/DYNAMODBSESSIONHANDLER.html b/3rdparty/aws-sdk/_docs/DYNAMODBSESSIONHANDLER.html deleted file mode 100644 index 8b1545db50a5ec3ec34005d0ede0fd87dea5bc91..0000000000000000000000000000000000000000 --- a/3rdparty/aws-sdk/_docs/DYNAMODBSESSIONHANDLER.html +++ /dev/null @@ -1,235 +0,0 @@ - - - - - README - - - -

DynamoDB Session Handler

-

The DynamoDB Session Handler is a custom session handler for PHP that allows Amazon DynamoDB to be used as a session store while still using PHP’s native session functions.

- -

What issues does this address?

-

The native PHP session handler stores sessions on the local file system. This is unreliable in distributed web applications, because the user may be routed to servers that do not contain the session data. To solve this problem, PHP developers have implemented custom solutions for storing user session data using databases, shared file systems, Memcache servers, tamper-proof cookies, etc., by taking advantage of the interface provided by PHP via the session_set_save_handler() function. Unfortunately, most of these solutions require a lot of configuration or prior knowledge about the storage mechanism in order to setup. Some of them also require the provisioning or management of additional servers.

- -

Proposed solution

-

The DynamoDB Session Handler uses Amazon DynamoDB as a session store, which alleviates many of the problems with existing solutions. There are no additional servers to manage, and there is very little configuration required. The Amazon DynamoDB is also fundamentally designed for low latency (the data is even stored on SSDs), so the performance impact is much smaller when compared to other databases. Since the Session Handler is designed to be a drop in replacement for the default PHP session handler, it also implements session locking in a familiar way.

- -

How do I use it?

-

The first step is to instantiate the Amazon DynamoDB client and register the session handler.

-
require_once 'AWSSDKforPHP/sdk.class.php';
-
-// Instantiate the Amazon DynamoDB client.
-// REMEMBER: You need to set 'default_cache_config' in your config.inc.php.
-$dynamodb = new AmazonDynamoDB();
-
-// Register the DynamoDB Session Handler.
-$handler = $dynamodb->register_session_handler(array(
-    'table_name' => 'my-sessions-table'
-));
-

Before you can use the session handler, you need to create a table to store the sessions in. This can be done through the AWS Console for Amazon DynamoDB, or using the session handler class (which you must configure with the table name like in the example above).

-
// Create a table for session storage with default settings.
-$handler->create_sessions_table();
-

If you create the table via the AWS Console, you need to make sure the primary key is a string. By default the DynamoDB Session Handler looks for a key named "id", so if you name the key something else, you will need to specify that when you configure the session handler (see the Configuration section below).

-

Once the session handler is registered with a valid table, you can write to (and read from) the session using the standard $_SESSION superglobal.

-
// Start the session. This will acquire a lock if session locking is enabled.
-session_start();
-
-// Alter the session data.
-$_SESSION['username'] = 'jeremy';
-$_SESSION['role'] = 'admin';
-
-// Close and write to the session.
-// REMEMBER: You should close the session ASAP to release the session lock.
-session_write_close();
- -

Removing expired sessions

-

The session handler ties into PHP's native session garbage collection functionality, so expired sessions will be deleted periodically and automatically based on how you configure PHP to do the garbage collection. See the PHP manual for the following PHP INI settings: session.gc_probability, session.gc_divisor, and session.gc_maxlifetime. You may also manually call the DynamoDBSessionHandler::garbage_collect() to clean up the expired sessions.

- -

Configuring the DynamoDB Session Handler

-

You may configure the behavior of the session handler using a the following settings:

-
-
table_name
-
The name of the DynamoDB table in which to store sessions.
- -
hash_key
-
The name of the primary hash key in the DynamoDB sessions table.
- -
session_lifetime
-
The lifetime of an inactive session before it should be garbage collected. If 0 is used, then the actual lifetime value that will be used is ini_get('session.gc_maxlifetime').
- -
consistent_reads
-
Whether or not the session handler should do consistent reads from DynamoDB.
- -
session_locking
-
Whether or not the session handler should do session locking (see the Session locking section for more information).
- -
max_lock_wait_time
-
Maximum time, in seconds, that the session handler should take to acquire a lock before giving up. Only used if session_locking is true.
- -
min_lock_retry_utime
-
Minimum time, in microseconds, that the session handler should wait to retry acquiring a lock. Only used if session_locking is true.
- -
max_lock_retry_utime
-
Maximum time, in microseconds, that the session handler should wait to retry acquiring a lock. Only used if session_locking is true.
-
- -

To configure the Session Handle, you must pass the configuration data into the constructor. (Note: The values used below are actually the default settings.)

-
$dynamodb = new AmazonDynamoDB();
-$handler = $dynamodb->register_session_handler(array(
-    'table_name'           => 'sessions',
-    'hash_key'             => 'id',
-    'session_lifetime'     => 0,
-    'consistent_reads'     => true,
-    'session_locking'      => true,
-    'max_lock_wait_time'   => 15,
-    'min_lock_retry_utime' => 5000,
-    'max_lock_retry_utime' => 50000,
-));
- -

Session locking

-

The default session handler for PHP locks sessions using a pessimistic locking algorithm. If a request (process) opens a session for reading using the session_start() function, it first acquires a lock. The lock is closed when that request writes back to the session, either when the request is complete, or via the session_write_close() function. Since the DynamoDB Session Handler is meant to be a drop in replacement for the default session handler, it also implements the same locking scheme. However, this can be slow, undesirable, and costly when multiple, simultaneous requests from the same user occur, particularly with ajax requests or HTML iframes. In some cases, you may not want or need the session to be locked. After evaluating whether or not your application actually requires session locking, you may turn off locking when you configure the session handler by setting session_locking to false.

- -

Pricing

-

Aside from nominal data storage and data transfer fees, the costs associated with using Amazon DynamoDB are calculated based on provisioned throughput capacity and item size (see the Amazon DynamoDB pricing details). Throughput is measured in units of Read Capacity and Write Capacity. Ultimately, the throughput and costs required for your sessions table is going to be based on your website traffic, but the following is a list of the capacity units required for each session-related operation:

-
    -
  • Reading via session_start() -

    With locking enabled: 1 unit of Write Capacity + 1 unit of Write Capacity for each time it must retry acquiring the lock

    -

    With locking disabed: 1 unit of Read Capacity (or 0.5 units of Read Capacity if consistent reads are disabled)

    -
  • -
  • Writing via session_write_close() -

    1 unit of Write Capacity

    -
  • -
  • Deleting via session_destroy() -

    1 unit of Write Capacity

    -
  • -
  • Garbage Collecting via DyanamoDBSessionHandler::garbage_collect() -

    0.5 units of Read Capacity per KB of data in the sessions table + 1 unit of Write Capacity per expired item

    -
  • -
- -

More information

-

For more information on the Amazon DynamoDB service please visit the Amazon DynamoDB homepage.

- - - diff --git a/3rdparty/aws-sdk/_docs/KNOWNISSUES.md b/3rdparty/aws-sdk/_docs/KNOWNISSUES.md deleted file mode 100644 index 9773c3932b8b618eebfa6afe506d62850c98d554..0000000000000000000000000000000000000000 --- a/3rdparty/aws-sdk/_docs/KNOWNISSUES.md +++ /dev/null @@ -1,65 +0,0 @@ -# Known Issues - -## 2GB limit for 32-bit stacks; all Windows stacks. - -Because PHP's integer type is signed and many platforms use 32-bit integers, the AWS SDK for PHP does not correctly -handle files larger than 2GB on a 32-bit stack (where "stack" includes CPU, OS, web server, and PHP binary). This is a -[well-known PHP issue]. In the case of Microsoft® Windows®, there are no official builds of PHP that support 64-bit -integers. - -The recommended solution is to use a 64-bit Linux stack, such as the [64-bit Amazon Linux AMI] with the latest version of -PHP installed. - -For more information, please see: [PHP filesize: Return values]. A workaround is suggested in -`AmazonS3::create_mpu_object()` [with files bigger than 2GB]. - - [well-known PHP issue]: http://www.google.com/search?q=php+2gb+32-bit - [64-bit Amazon Linux AMI]: http://aws.amazon.com/amazon-linux-ami/ - [PHP filesize: Return values]: http://docs.php.net/manual/en/function.filesize.php#refsect1-function.filesize-returnvalues - [with files bigger than 2GB]: https://forums.aws.amazon.com/thread.jspa?messageID=215487#215487 - - -## Amazon S3 Buckets containing periods - -Amazon S3's SSL certificate covers domains that match `*.s3.amazonaws.com`. When buckets (e.g., `my-bucket`) are accessed -using DNS-style addressing (e.g., `my-bucket.s3.amazonaws.com`), those SSL/HTTPS connections are covered by the certificate. - -However, when a bucket name contains one or more periods (e.g., `s3.my-domain.com`) and is accessed using DNS-style -addressing (e.g., `s3.my-domain.com.s3.amazonaws.com`), that SSL/HTTPS connection will fail because the certificate -doesn't match. - -The most secure workaround is to change the bucket name to one that does not contain periods. Less secure workarounds -are to use `disable_ssl()` or `disable_ssl_verification()`. Because of the security implications, calling either of -these methods will throw a warning. You can avoid the warning by adjusting your `error_reporting()` settings. - - -## Expiring request signatures - -When leveraging `AmazonS3::create_mpu_object()`, it's possible that later parts of the multipart upload will fail if -the upload takes more than 15 minutes. - - -## Too many open file connections - -When leveraging `AmazonS3::create_mpu_object()`, it's possible that the SDK will attempt to open too many file resources -at once. Because the file connection limit is not available to the PHP environment, the SDK is unable to automatically -adjust the number of connections it attempts to open. - -A workaround is to increase the part size so that fewer file connections are opened. - - -## Exceptionally large batch requests - -When leveraging the batch request feature to execute multiple requests in parallel, it's possible that the SDK will -throw a fatal exception if a particular batch pool is exceptionally large and a service gets overloaded with requests. - -This seems to be most common when attempting to send a large number of emails with the SES service. - - -## Long-running processes using SSL leak memory - -When making requests with the SDK over SSL during long-running processes, there will be a gradual memory leak that can -eventually cause a crash. The leak occurs within the PHP bindings for cURL when attempting to verify the peer during an -SSL handshake. See for details about the bug. - -A workaround is to disable SSL for requests executed in long-running processes. diff --git a/3rdparty/aws-sdk/_docs/LICENSE.md b/3rdparty/aws-sdk/_docs/LICENSE.md deleted file mode 100644 index 853ab3bae8e9ae0d118b911020db8f4aa08fd016..0000000000000000000000000000000000000000 --- a/3rdparty/aws-sdk/_docs/LICENSE.md +++ /dev/null @@ -1,151 +0,0 @@ -# Apache License -Version 2.0, January 2004 - -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - -## 1. Definitions. - -"License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 -through 9 of this document. - -"Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the -License. - -"Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled -by, or are under common control with that entity. For the purposes of this definition, "control" means -(i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract -or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial -ownership of such entity. - -"You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. - -"Source" form shall mean the preferred form for making modifications, including but not limited to software -source code, documentation source, and configuration files. - -"Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, -including but not limited to compiled object code, generated documentation, and conversions to other media -types. - -"Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, -as indicated by a copyright notice that is included in or attached to the work (an example is provided in the -Appendix below). - -"Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) -the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, -as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not -include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work -and Derivative Works thereof. - -"Contribution" shall mean any work of authorship, including the original version of the Work and any -modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to -Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to -submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of -electronic, verbal, or written communication sent to the Licensor or its representatives, including but not -limited to communication on electronic mailing lists, source code control systems, and issue tracking systems -that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but -excluding communication that is conspicuously marked or otherwise designated in writing by the copyright -owner as "Not a Contribution." - -"Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been -received by Licensor and subsequently incorporated within the Work. - - -## 2. Grant of Copyright License. - -Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, -worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare -Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such -Derivative Works in Source or Object form. - - -## 3. Grant of Patent License. - -Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, -worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent -license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such -license applies only to those patent claims licensable by such Contributor that are necessarily infringed by -their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such -Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim -or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work -constitutes direct or contributory patent infringement, then any patent licenses granted to You under this -License for that Work shall terminate as of the date such litigation is filed. - - -## 4. Redistribution. - -You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without -modifications, and in Source or Object form, provided that You meet the following conditions: - - 1. You must give any other recipients of the Work or Derivative Works a copy of this License; and - - 2. You must cause any modified files to carry prominent notices stating that You changed the files; and - - 3. You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, - trademark, and attribution notices from the Source form of the Work, excluding those notices that do - not pertain to any part of the Derivative Works; and - - 4. If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that - You distribute must include a readable copy of the attribution notices contained within such NOTICE - file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed as part of the Derivative Works; within - the Source form or documentation, if provided along with the Derivative Works; or, within a display - generated by the Derivative Works, if and wherever such third-party notices normally appear. The - contents of the NOTICE file are for informational purposes only and do not modify the License. You may - add Your own attribution notices within Derivative Works that You distribute, alongside or as an - addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be - construed as modifying the License. - -You may add Your own copyright statement to Your modifications and may provide additional or different license -terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative -Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the -conditions stated in this License. - - -## 5. Submission of Contributions. - -Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by -You to the Licensor shall be under the terms and conditions of this License, without any additional terms or -conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate -license agreement you may have executed with Licensor regarding such Contributions. - - -## 6. Trademarks. - -This License does not grant permission to use the trade names, trademarks, service marks, or product names of -the Licensor, except as required for reasonable and customary use in describing the origin of the Work and -reproducing the content of the NOTICE file. - - -## 7. Disclaimer of Warranty. - -Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor -provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express -or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, -MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the -appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of -permissions under this License. - - -## 8. Limitation of Liability. - -In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless -required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any -Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential -damages of any character arising as a result of this License or out of the use or inability to use the Work -(including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or -any and all other commercial damages or losses), even if such Contributor has been advised of the possibility -of such damages. - - -## 9. Accepting Warranty or Additional Liability. - -While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, -acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this -License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole -responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold -each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason -of your accepting any such warranty or additional liability. - - -END OF TERMS AND CONDITIONS diff --git a/3rdparty/aws-sdk/_docs/NOTICE.md b/3rdparty/aws-sdk/_docs/NOTICE.md deleted file mode 100644 index 780c2e4c9d59e8fd45bc0f3f093a8034280a394e..0000000000000000000000000000000000000000 --- a/3rdparty/aws-sdk/_docs/NOTICE.md +++ /dev/null @@ -1,444 +0,0 @@ -# AWS SDK for PHP - -Based on [CloudFusion](http://getcloudfusion.com). Includes other third-party software. - -See below for complete copyright and licensing notices. - - -## AWS SDK for PHP - - - -Copyright 2010-2012 Amazon.com, Inc. or its affiliates. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"). -You may not use this file except in compliance with the License. -A copy of the License is located at - - - -or in the "license" file accompanying this file. This file is distributed -on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either -express or implied. See the License for the specific language governing -permissions and limitations under the License. - - -## CloudFusion - - - -* Copyright 2005-2010 [Ryan Parman](http://ryanparman.com) -* Copyright 2007-2010 [Foleeo Inc.](http://warpshare.com) -* Copyright 2007-2010 "CONTRIBUTORS" (see [CONTRIBUTORS.md](CONTRIBUTORS.md) for a list) - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -* Neither the name of the organization nor the names of its contributors - may be used to endorse or promote products derived from this software without - specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, -INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, -OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. - - - - -## CacheCore - - - -* Copyright 2007-2010 [Ryan Parman](http://ryanparman.com) -* Copyright 2007-2010 [Foleeo Inc.](http://warpshare.com) - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -* Neither the name of the organization nor the names of its contributors - may be used to endorse or promote products derived from this software without - specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, -INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, -OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. - - - - -## RequestCore - - - -* Copyright 2007-2010 [Ryan Parman](http://ryanparman.com) -* Copyright 2007-2010 [Foleeo Inc.](http://warpshare.com) - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -* Neither the name of the organization nor the names of its contributors - may be used to endorse or promote products derived from this software without - specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, -INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, -OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. - - - - -## SimplePie - - - -* Copyright 2004-2010 [Ryan Parman](http://ryanparman.com) -* Copyright 2005-2010 [Geoffrey Sneddon](http://gsnedders.com) -* Copyright 2008-2011 [Ryan McCue](http://ryanmccue.info) - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -* Neither the name of the organization nor the names of its contributors - may be used to endorse or promote products derived from this software without - specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, -INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, -OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. - - - - -## Reqwest - - - -* Copyright 2011 [Dustin Diaz](http://dustindiaz.com) - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - - -## Human readable file sizes - - - -* Copyright 2004-2010 [Aidan Lister](http://aidanlister.com) -* Copyright 2007-2010 [Ryan Parman](http://ryanparman.com) - -Redistribution and use in source and binary forms, with or without -modification, is permitted provided that the following conditions -are met: - - 1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - 2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - - 3. The name "PHP" must not be used to endorse or promote products - derived from this software without prior written permission. For - written permission, please contact group@php.net. - - 4. Products derived from this software may not be called "PHP", nor - may "PHP" appear in their name, without prior written permission - from group@php.net. You may indicate that your software works in - conjunction with PHP by saying "Foo for PHP" instead of calling - it "PHP Foo" or "phpfoo" - - 5. The PHP Group may publish revised and/or new versions of the - license from time to time. Each version will be given a - distinguishing version number. - Once covered code has been published under a particular version - of the license, you may always continue to use it under the terms - of that version. You may also choose to use such covered code - under the terms of any subsequent version of the license - published by the PHP Group. No one other than the PHP Group has - the right to modify the terms applicable to covered code created - under this License. - - 6. Redistributions of any form whatsoever must retain the following - acknowledgment: - "This product includes PHP software, freely available from - ". - -THIS SOFTWARE IS PROVIDED BY THE PHP DEVELOPMENT TEAM ``AS IS'' AND -ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, -THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A -PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE PHP -DEVELOPMENT TEAM OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, -INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, -STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED -OF THE POSSIBILITY OF SUCH DAMAGE. - - - - -## Snippets from PHP.net documentation - -* `CFUtilities::is_base64()` - Copyright 2008 "debug" - -Redistribution and use in source and binary forms, with or without -modification, is permitted provided that the following conditions -are met: - - 1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - 2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - - 3. The name "PHP" must not be used to endorse or promote products - derived from this software without prior written permission. For - written permission, please contact group@php.net. - - 4. Products derived from this software may not be called "PHP", nor - may "PHP" appear in their name, without prior written permission - from group@php.net. You may indicate that your software works in - conjunction with PHP by saying "Foo for PHP" instead of calling - it "PHP Foo" or "phpfoo" - - 5. The PHP Group may publish revised and/or new versions of the - license from time to time. Each version will be given a - distinguishing version number. - Once covered code has been published under a particular version - of the license, you may always continue to use it under the terms - of that version. You may also choose to use such covered code - under the terms of any subsequent version of the license - published by the PHP Group. No one other than the PHP Group has - the right to modify the terms applicable to covered code created - under this License. - - 6. Redistributions of any form whatsoever must retain the following - acknowledgment: - "This product includes PHP software, freely available from - ". - -THIS SOFTWARE IS PROVIDED BY THE PHP DEVELOPMENT TEAM ``AS IS'' AND -ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, -THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A -PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE PHP -DEVELOPMENT TEAM OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, -INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, -STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED -OF THE POSSIBILITY OF SUCH DAMAGE. - - - - -## phunction PHP framework - - - -* Copyright 2010 [Alix Axel](mailto:alix-axel@users.sf.net) - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - - -## Symfony YAML Component - - - -Copyright 2008-2009 [Fabien Potencier](http://fabien.potencier.org) - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is furnished -to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - - -## PEAR Console_ProgressBar - - - -Copyright 2003-2007 [Stefan Walk](http://pear.php.net/user/et) - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is furnished -to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - - - -## Mozilla Certificate Authority - -* -* - -The contents of this file are subject to the Mozilla Public License Version -1.1 (the "License"); you may not use this file except in compliance with -the License. You may obtain a copy of the License at -http://www.mozilla.org/MPL/ - -Software distributed under the License is distributed on an "AS IS" basis, -WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License -for the specific language governing rights and limitations under the -License. - -The Original Code is the Netscape security libraries. - -The Initial Developer of the Original Code is Netscape Communications -Corporation. Portions created by the Initial Developer are Copyright -(C) 1994-2000 the Initial Developer. All Rights Reserved. - - - - -## array-to-domdocument - - - -* Copyright 2010-2011 [Omer Hassan](https://code.google.com/u/113495690012051782542/) -* Portions copyright 2012 Amazon.com, Inc. or its affiliates. All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is furnished -to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - diff --git a/3rdparty/aws-sdk/_docs/STREAMWRAPPER_README.html b/3rdparty/aws-sdk/_docs/STREAMWRAPPER_README.html deleted file mode 100644 index 5d91068aa23a53efe2caa65dfe50915ad9a3c294..0000000000000000000000000000000000000000 --- a/3rdparty/aws-sdk/_docs/STREAMWRAPPER_README.html +++ /dev/null @@ -1,243 +0,0 @@ - - - - - README - - - -

S3 Stream Wrapper

-

The S3 Stream Wrapper is a stream wrapper interface for PHP that provides access to Amazon S3 using PHP’s standard File System API functions.

- -

What issues does this address?

-

There are a large number of existing applications, code snippets and other bits of PHP that are designed to read and write from the local file system as part of their normal operations. Many of these apps could benefit from moving into the cloud, but doing so would require rewriting a substantial amount of code.

-

What if we could simplify this process so that the updates required to make an existing application cloud-backed would be very minimal?

- -

Proposed solution

-

PHP provides an interface for solving this exact kind of problem, called the Stream Wrapper interface. By writing a class that implements this interface and registering it as a handler we can reduce both the amount of rewriting that needs to be done for existing applications, as well as substantially lower the learning curve for reading and writing from Amazon S3.

- -

How do I use it?

-

After including the AWS SDK for PHP in your project, use the AmazonS3::register_stream_wrapper() method to register s3:// as a supported stream wrapper for Amazon S3. It's that simple. Amazon S3 file patterns take the following form: s3://bucket/object.

- -
require_once 'AWSSDKforPHP/sdk.class.php';
-
-$s3 = new AmazonS3();
-$s3->register_stream_wrapper();
-
-$directory = 's3://my-new-bucket';
-$filename = $directory . '/put.txt';
-$contents = '';
-
-if (mkdir($directory))
-{
-    if (file_put_contents($filename, 'This is some sample data.'))
-    {
-        $handle = fopen($filename, 'rb+');
-        $contents = stream_get_contents($handle);
-        fclose($handle);
-    }
-
-    rmdir($directory);
-}
-
-echo $contents;
- -

You may also pass a different protocol name as a parameter to AmazonS3::register_stream_wrapper() if you want to use something besides s3://. Using this technique you can create more than one stream wrapper with different configurations (e.g. for different regions). To do that you just need to create separate instances of the AmazonS3 class, configure them, and then register a stream wrapper for each of them with different protocol names.

- -
require_once 'AWSSDKforPHP/sdk.class.php';
-
-$s3east = new AmazonS3();
-$s3east->set_region(AmazonS3::REGION_US_E1);
-$s3east->register_stream_wrapper('s3east');
-mkdir('s3east://my-easterly-bucket');
-
-$s3west = new AmazonS3();
-$s3west->set_region(AmazonS3::REGION_US_W1);
-$s3west->register_stream_wrapper('s3west');
-mkdir('s3west://my-westerly-bucket');
- -

Tests and usage examples

-

We are also including tests written in the PHPT format. Not only do these tests show how the software can be used, but any tests submitted back to us should be in this format. These tests will likely fail for you unless you change the bucket names to be globally unique across S3. You can run the tests with pear.

-
cd S3StreamWrapper/tests;
-pear run-tests;
-

If you have PHPUnit 3.6+ and Xdebug installed, you can generate a code coverage report as follows:

-
cd S3StreamWrapper/tests && \
-phpunit --colors --coverage-html ./_coverage_report . && \
-open ./_coverage_report/index.html;
- -

Notes and Known Issues

-
    -
  • stream_lock() and stream_cast() are not currently implemented, and likely won't be.

  • -
  • Strangely touch() doesn’t seem to work. I think this is because of an issue with my implementation of url_stat(), but I can’t find any information on the magical combination of parameters that will make this work.

  • -
  • Using fopen() will always open in rb+ mode. Amazon S3 as a service doesn’t support anything else.

  • -
  • Because of the way that PHP interacts with the StreamWrapper interface, it’s difficult to optimize for batch requests under the hood. If you need to push or pull data from several objects, you may find that using batch requests with the standard interface has better latency.

  • -
  • rmdir() does not do a force-delete, so you will need to iterate over the files to delete them one-by-one.

  • -
  • realpath(), glob(), chmod(), chown(), chgrp(), tempnam() and a few other functions don’t support the StreamWrapper interface at the PHP-level because they're designed to work with the (no/low-latency) local file system.

  • -
  • Support for ftruncate() does not exist in any current release of PHP, but is implemented on the PHP trunk for a future release. http://bugs.php.net/53888.

  • -
  • Since Amazon S3 doesn’t support appending data, it is best to avoid functions that expect or rely on that functionality (e.g. fputcsv()).

  • -
- -

Successfully tested with

- - -

Known issues with

- - -

A future version may provide S3-specific implementations of some of these functions (e.g., s3chmod(), s3glob(), s3touch()).

- - diff --git a/3rdparty/aws-sdk/_docs/WHERE_IS_THE_API_REFERENCE.md b/3rdparty/aws-sdk/_docs/WHERE_IS_THE_API_REFERENCE.md deleted file mode 100644 index 7ad235576b47d397578e9737eea3cee8fe9011d2..0000000000000000000000000000000000000000 --- a/3rdparty/aws-sdk/_docs/WHERE_IS_THE_API_REFERENCE.md +++ /dev/null @@ -1,2 +0,0 @@ -You can find the API Reference at: -http://docs.amazonwebservices.com/AWSSDKforPHP/latest/ diff --git a/3rdparty/aws-sdk/authentication/signable.interface.php b/3rdparty/aws-sdk/authentication/signable.interface.php deleted file mode 100644 index 5316d16a8156a47b2be2741df3517c0992e53fd0..0000000000000000000000000000000000000000 --- a/3rdparty/aws-sdk/authentication/signable.interface.php +++ /dev/null @@ -1,48 +0,0 @@ - class. - * - * @param string $endpoint (Required) The endpoint to direct the request to. - * @param string $operation (Required) The operation to execute as a result of this request. - * @param array $payload (Required) The options to use as part of the payload in the request. - * @param CFCredential $credentials (Required) The credentials to use for signing and making requests. - * @return void - */ - public function __construct($endpoint, $operation, $payload, CFCredential $credentials) - { - parent::__construct($endpoint, $operation, $payload, $credentials); - } - - /** - * Generates a cURL handle with all of the required authentication bits set. - * - * @return resource A cURL handle ready for executing. - */ - public function authenticate() - { - // Determine signing values - $current_time = time(); - $date = gmdate(CFUtilities::DATE_FORMAT_RFC2616, $current_time); - $timestamp = gmdate(CFUtilities::DATE_FORMAT_ISO8601, $current_time); - $query = array(); - - // Do we have an authentication token? - if ($this->auth_token) - { - $headers['X-Amz-Security-Token'] = $this->auth_token; - $query['SecurityToken'] = $this->auth_token; - } - - // Only add it if it exists. - if ($this->api_version) - { - $query['Version'] = $this->api_version; - } - - $query['Action'] = $this->operation; - $query['AWSAccessKeyId'] = $this->key; - $query['SignatureMethod'] = 'HmacSHA256'; - $query['SignatureVersion'] = 2; - $query['Timestamp'] = $timestamp; - - // Merge in any options that were passed in - if (is_array($this->payload)) - { - $query = array_merge($query, $this->payload); - } - - // Do a case-sensitive, natural order sort on the array keys. - uksort($query, 'strcmp'); - - // Create the string that needs to be hashed. - $canonical_query_string = $this->util->to_signable_string($query); - - // Remove the default scheme from the domain. - $domain = str_replace(array('http://', 'https://'), '', $this->endpoint); - - // Parse our request. - $parsed_url = parse_url('http://' . $domain); - - // Set the proper host header. - if (isset($parsed_url['port']) && (integer) $parsed_url['port'] !== 80 && (integer) $parsed_url['port'] !== 443) - { - $host_header = strtolower($parsed_url['host']) . ':' . $parsed_url['port']; - } - else - { - $host_header = strtolower($parsed_url['host']); - } - - // Set the proper request URI. - $request_uri = isset($parsed_url['path']) ? $parsed_url['path'] : '/'; - - // Prepare the string to sign - $this->string_to_sign = "POST\n$host_header\n$request_uri\n$canonical_query_string"; - - // Hash the AWS secret key and generate a signature for the request. - $query['Signature'] = base64_encode(hash_hmac('sha256', $this->string_to_sign, $this->secret_key, true)); - - // Generate the querystring from $query - $this->querystring = $this->util->to_query_string($query); - - // Gather information to pass along to other classes. - $helpers = array( - 'utilities' => $this->utilities_class, - 'request' => $this->request_class, - 'response' => $this->response_class, - ); - - // Compose the request. - $request_url = ($this->use_ssl ? 'https://' : 'http://') . $domain; - $request_url .= !isset($parsed_url['path']) ? '/' : ''; - - // Instantiate the request class - $request = new $this->request_class($request_url, $this->proxy, $helpers, $this->credentials); - $request->set_method('POST'); - $request->set_body($this->querystring); - $headers['Content-Type'] = 'application/x-www-form-urlencoded; charset=utf-8'; - - // Pass along registered stream callbacks - if ($this->registered_streaming_read_callback) - { - $request->register_streaming_read_callback($this->registered_streaming_read_callback); - } - - if ($this->registered_streaming_write_callback) - { - $request->register_streaming_write_callback($this->registered_streaming_write_callback); - } - - // Sort headers - uksort($headers, 'strnatcasecmp'); - - // Add headers to request and compute the string to sign - foreach ($headers as $header_key => $header_value) - { - // Strip linebreaks from header values as they're illegal and can allow for security issues - $header_value = str_replace(array("\r", "\n"), '', $header_value); - - // Add the header if it has a value - if ($header_value !== '') - { - $request->add_header($header_key, $header_value); - } - } - - return $request; - } -} diff --git a/3rdparty/aws-sdk/authentication/signature_v3json.class.php b/3rdparty/aws-sdk/authentication/signature_v3json.class.php deleted file mode 100644 index d07f554d1f74790ecd693a1e74e5fbde291bc2a7..0000000000000000000000000000000000000000 --- a/3rdparty/aws-sdk/authentication/signature_v3json.class.php +++ /dev/null @@ -1,235 +0,0 @@ - class. - * - * @param string $endpoint (Required) The endpoint to direct the request to. - * @param string $operation (Required) The operation to execute as a result of this request. - * @param array $payload (Required) The options to use as part of the payload in the request. - * @param CFCredential $credentials (Required) The credentials to use for signing and making requests. - * @return void - */ - public function __construct($endpoint, $operation, $payload, CFCredential $credentials) - { - parent::__construct($endpoint, $operation, $payload, $credentials); - } - - /** - * Generates a cURL handle with all of the required authentication bits set. - * - * @return resource A cURL handle ready for executing. - */ - public function authenticate() - { - // Determine signing values - $current_time = time(); - $date = gmdate(CFUtilities::DATE_FORMAT_RFC2616, $current_time); - $timestamp = gmdate(CFUtilities::DATE_FORMAT_ISO8601, $current_time); - $nonce = $this->util->generate_guid(); - $curlopts = array(); - $signed_headers = array(); - $return_curl_handle = false; - $x_amz_target = null; - $query = array('body' => $this->payload); - - // Do we have an authentication token? - if ($this->auth_token) - { - $headers['X-Amz-Security-Token'] = $this->auth_token; - $query['SecurityToken'] = $this->auth_token; - } - - // Manage the key-value pairs that are used in the query. - if (stripos($this->operation, 'x-amz-target') !== false) - { - $x_amz_target = trim(str_ireplace('x-amz-target:', '', $this->operation)); - } - else - { - $query['Action'] = $this->operation; - } - - // Only add it if it exists. - if ($this->api_version) - { - $query['Version'] = $this->api_version; - } - - $curlopts = array(); - - // Set custom CURLOPT settings - if (is_array($this->payload) && isset($this->payload['curlopts'])) - { - $curlopts = $this->payload['curlopts']; - unset($this->payload['curlopts']); - } - - // Merge in any options that were passed in - if (is_array($this->payload)) - { - $query = array_merge($query, $this->payload); - } - - $return_curl_handle = isset($query['returnCurlHandle']) ? $query['returnCurlHandle'] : false; - unset($query['returnCurlHandle']); - - // Do a case-sensitive, natural order sort on the array keys. - uksort($query, 'strcmp'); - - // Normalize JSON input - if (isset($query['body']) && $query['body'] === '[]') - { - $query['body'] = '{}'; - } - - // Create the string that needs to be hashed. - $canonical_query_string = $this->util->encode_signature2($query['body']); - - // Remove the default scheme from the domain. - $domain = str_replace(array('http://', 'https://'), '', $this->endpoint); - - // Parse our request. - $parsed_url = parse_url('http://' . $domain); - - // Set the proper host header. - if (isset($parsed_url['port']) && (integer) $parsed_url['port'] !== 80 && (integer) $parsed_url['port'] !== 443) - { - $host_header = strtolower($parsed_url['host']) . ':' . $parsed_url['port']; - } - else - { - $host_header = strtolower($parsed_url['host']); - } - - // Set the proper request URI. - $request_uri = isset($parsed_url['path']) ? $parsed_url['path'] : '/'; - - // Generate the querystring from $query - $this->querystring = $this->util->to_query_string($query); - - // Gather information to pass along to other classes. - $helpers = array( - 'utilities' => $this->utilities_class, - 'request' => $this->request_class, - 'response' => $this->response_class, - ); - - // Compose the request. - $request_url = ($this->use_ssl ? 'https://' : 'http://') . $domain; - $request_url .= !isset($parsed_url['path']) ? '/' : ''; - - // Instantiate the request class - $request = new $this->request_class($request_url, $this->proxy, $helpers, $this->credentials); - $request->set_method('POST'); - //$request->set_body($this->querystring); - //$headers['Content-Type'] = 'application/x-www-form-urlencoded; charset=utf-8'; - - // Signing using X-Amz-Target is handled differently. - $headers['X-Amz-Target'] = $x_amz_target; - $headers['Content-Type'] = 'application/x-amz-json-1.0'; - $request->set_body($query['body']); - $this->querystring = $query['body']; - - // Pass along registered stream callbacks - if ($this->registered_streaming_read_callback) - { - $request->register_streaming_read_callback($this->registered_streaming_read_callback); - } - - if ($this->registered_streaming_write_callback) - { - $request->register_streaming_write_callback($this->registered_streaming_write_callback); - } - - // Add authentication headers - // $headers['X-Amz-Nonce'] = $nonce; - $headers['Date'] = $date; - $headers['Content-Length'] = strlen($this->querystring); - $headers['Content-MD5'] = $this->util->hex_to_base64(md5($this->querystring)); - $headers['Host'] = $host_header; - - // Sort headers - uksort($headers, 'strnatcasecmp'); - - // Prepare the string to sign (HTTP) - $this->string_to_sign = "POST\n$request_uri\n\n"; - - // Add headers to request and compute the string to sign - foreach ($headers as $header_key => $header_value) - { - // Strip linebreaks from header values as they're illegal and can allow for security issues - $header_value = str_replace(array("\r", "\n"), '', $header_value); - - // Add the header if it has a value - if ($header_value !== '') - { - $request->add_header($header_key, $header_value); - } - - // Generate the string to sign - if ( - substr(strtolower($header_key), 0, 8) === 'content-' || - strtolower($header_key) === 'date' || - strtolower($header_key) === 'expires' || - strtolower($header_key) === 'host' || - substr(strtolower($header_key), 0, 6) === 'x-amz-' - ) - { - $this->string_to_sign .= strtolower($header_key) . ':' . $header_value . "\n"; - $signed_headers[] = $header_key; - } - } - - $this->string_to_sign .= "\n"; - - if (isset($query['body']) && $query['body'] !== '') - { - $this->string_to_sign .= $query['body']; - } - - // Convert from string-to-sign to bytes-to-sign - $bytes_to_sign = hash('sha256', $this->string_to_sign, true); - - // Hash the AWS secret key and generate a signature for the request. - $signature = base64_encode(hash_hmac('sha256', $bytes_to_sign, $this->secret_key, true)); - - $headers['X-Amzn-Authorization'] = 'AWS3' - . ' AWSAccessKeyId=' . $this->key - . ',Algorithm=HmacSHA256' - . ',SignedHeaders=' . implode(';', $signed_headers) - . ',Signature=' . $signature; - - $request->add_header('X-Amzn-Authorization', $headers['X-Amzn-Authorization']); - $request->request_headers = $headers; - - return $request; - } -} diff --git a/3rdparty/aws-sdk/authentication/signature_v3query.class.php b/3rdparty/aws-sdk/authentication/signature_v3query.class.php deleted file mode 100644 index 04565f928ed73fee1c93ee3aa5bf580da542aeb4..0000000000000000000000000000000000000000 --- a/3rdparty/aws-sdk/authentication/signature_v3query.class.php +++ /dev/null @@ -1,192 +0,0 @@ - class. - * - * @param string $endpoint (Required) The endpoint to direct the request to. - * @param string $operation (Required) The operation to execute as a result of this request. - * @param array $payload (Required) The options to use as part of the payload in the request. - * @param CFCredential $credentials (Required) The credentials to use for signing and making requests. - * @return void - */ - public function __construct($endpoint, $operation, $payload, CFCredential $credentials) - { - parent::__construct($endpoint, $operation, $payload, $credentials); - } - - /** - * Generates a cURL handle with all of the required authentication bits set. - * - * @return resource A cURL handle ready for executing. - */ - public function authenticate() - { - // Determine signing values - $current_time = time(); - $date = gmdate(CFUtilities::DATE_FORMAT_RFC2616, $current_time); - $timestamp = gmdate(CFUtilities::DATE_FORMAT_ISO8601, $current_time); - $nonce = $this->util->generate_guid(); - $curlopts = array(); - $signed_headers = array(); - - // Do we have an authentication token? - if ($this->auth_token) - { - $headers['X-Amz-Security-Token'] = $this->auth_token; - $query['SecurityToken'] = $this->auth_token; - } - - $query['Action'] = $this->operation; - $query['Version'] = $this->api_version; - - // Set custom CURLOPT settings - if (is_array($this->payload) && isset($this->payload['curlopts'])) - { - $curlopts = $this->payload['curlopts']; - unset($this->payload['curlopts']); - } - - // Merge in any options that were passed in - if (is_array($this->payload)) - { - $query = array_merge($query, $this->payload); - } - - $return_curl_handle = isset($query['returnCurlHandle']) ? $query['returnCurlHandle'] : false; - unset($query['returnCurlHandle']); - - // Do a case-sensitive, natural order sort on the array keys. - uksort($query, 'strcmp'); - $canonical_query_string = $this->util->to_signable_string($query); - - // Remove the default scheme from the domain. - $domain = str_replace(array('http://', 'https://'), '', $this->endpoint); - - // Parse our request. - $parsed_url = parse_url('http://' . $domain); - - // Set the proper host header. - if (isset($parsed_url['port']) && (integer) $parsed_url['port'] !== 80 && (integer) $parsed_url['port'] !== 443) - { - $host_header = strtolower($parsed_url['host']) . ':' . $parsed_url['port']; - } - else - { - $host_header = strtolower($parsed_url['host']); - } - - // Set the proper request URI. - $request_uri = isset($parsed_url['path']) ? $parsed_url['path'] : '/'; - - // Generate the querystring from $query - $this->querystring = $this->util->to_query_string($query); - - // Gather information to pass along to other classes. - $helpers = array( - 'utilities' => $this->utilities_class, - 'request' => $this->request_class, - 'response' => $this->response_class, - ); - - // Compose the request. - $request_url = ($this->use_ssl ? 'https://' : 'http://') . $domain; - $request_url .= !isset($parsed_url['path']) ? '/' : ''; - - // Instantiate the request class - $request = new $this->request_class($request_url, $this->proxy, $helpers, $this->credentials); - $request->set_method('POST'); - $request->set_body($this->querystring); - $headers['Content-Type'] = 'application/x-www-form-urlencoded; charset=utf-8'; - - // Pass along registered stream callbacks - if ($this->registered_streaming_read_callback) - { - $request->register_streaming_read_callback($this->registered_streaming_read_callback); - } - - if ($this->registered_streaming_write_callback) - { - $request->register_streaming_write_callback($this->registered_streaming_write_callback); - } - - // Add authentication headers - $headers['X-Amz-Nonce'] = $nonce; - $headers['Date'] = $date; - $headers['Content-Length'] = strlen($this->querystring); - $headers['Content-MD5'] = $this->util->hex_to_base64(md5($this->querystring)); - $headers['Host'] = $host_header; - - // Sort headers - uksort($headers, 'strnatcasecmp'); - - // Prepare the string to sign (HTTPS) - $this->string_to_sign = $date . $nonce; - - // Add headers to request and compute the string to sign - foreach ($headers as $header_key => $header_value) - { - // Strip linebreaks from header values as they're illegal and can allow for security issues - $header_value = str_replace(array("\r", "\n"), '', $header_value); - - // Add the header if it has a value - if ($header_value !== '') - { - $request->add_header($header_key, $header_value); - } - - // Generate the string to sign - if ( - substr(strtolower($header_key), 0, 8) === 'content-' || - strtolower($header_key) === 'date' || - strtolower($header_key) === 'expires' || - strtolower($header_key) === 'host' || - substr(strtolower($header_key), 0, 6) === 'x-amz-' - ) - { - $signed_headers[] = $header_key; - } - } - - // Hash the AWS secret key and generate a signature for the request. - $signature = base64_encode(hash_hmac('sha256', $this->string_to_sign, $this->secret_key, true)); - - $headers['X-Amzn-Authorization'] = 'AWS3-HTTPS' - . ' AWSAccessKeyId=' . $this->key - . ',Algorithm=HmacSHA256' - . ',SignedHeaders=' . implode(';', $signed_headers) - . ',Signature=' . $signature; - - $request->add_header('X-Amzn-Authorization', $headers['X-Amzn-Authorization']); - $request->request_headers = $headers; - - return $request; - } -} diff --git a/3rdparty/aws-sdk/authentication/signature_v4json.class.php b/3rdparty/aws-sdk/authentication/signature_v4json.class.php deleted file mode 100644 index d3ab07ad8bf403183884a19f82a0f080810b9d3c..0000000000000000000000000000000000000000 --- a/3rdparty/aws-sdk/authentication/signature_v4json.class.php +++ /dev/null @@ -1,353 +0,0 @@ - class. - * - * @param string $endpoint (Required) The endpoint to direct the request to. - * @param string $operation (Required) The operation to execute as a result of this request. - * @param array $payload (Required) The options to use as part of the payload in the request. - * @param CFCredential $credentials (Required) The credentials to use for signing and making requests. - * @return void - */ - public function __construct($endpoint, $operation, $payload, CFCredential $credentials) - { - parent::__construct($endpoint, $operation, $payload, $credentials); - } - - /** - * Generates a cURL handle with all of the required authentication bits set. - * - * @return resource A cURL handle ready for executing. - */ - public function authenticate() - { - // Determine signing values - $current_time = time(); - $timestamp = gmdate(CFUtilities::DATE_FORMAT_SIGV4, $current_time); - - // Initialize - $x_amz_target = null; - - $this->headers = array(); - $this->signed_headers = array(); - $this->canonical_headers = array(); - $this->query = array(); - - // Prepare JSON structure - $decoded = json_decode($this->payload, true); - $data = (array) (is_array($decoded) ? $decoded : $this->payload); - unset($data['curlopts']); - unset($data['returnCurlHandle']); - $this->body = json_encode($data); - if ($this->body === '' || $this->body === '[]') - { - $this->body = '{}'; - } - - // Do we have an authentication token? - if ($this->auth_token) - { - $this->headers['X-Amz-Security-Token'] = $this->auth_token; - $this->query['SecurityToken'] = $this->auth_token; - } - - // Manage the key-value pairs that are used in the query. - if (stripos($this->operation, 'x-amz-target') !== false) - { - $x_amz_target = trim(str_ireplace('x-amz-target:', '', $this->operation)); - } - else - { - $this->query['Action'] = $this->operation; - } - - // Only add it if it exists. - if ($this->api_version) - { - $this->query['Version'] = $this->api_version; - } - - // Do a case-sensitive, natural order sort on the array keys. - uksort($this->query, 'strcmp'); - - // Remove the default scheme from the domain. - $domain = str_replace(array('http://', 'https://'), '', $this->endpoint); - - // Parse our request. - $parsed_url = parse_url('http://' . $domain); - - // Set the proper host header. - if (isset($parsed_url['port']) && (integer) $parsed_url['port'] !== 80 && (integer) $parsed_url['port'] !== 443) - { - $host_header = strtolower($parsed_url['host']) . ':' . $parsed_url['port']; - } - else - { - $host_header = strtolower($parsed_url['host']); - } - - // Generate the querystring from $this->query - $this->querystring = $this->util->to_query_string($this->query); - - // Gather information to pass along to other classes. - $helpers = array( - 'utilities' => $this->utilities_class, - 'request' => $this->request_class, - 'response' => $this->response_class, - ); - - // Compose the request. - $request_url = ($this->use_ssl ? 'https://' : 'http://') . $domain; - $request_url .= !isset($parsed_url['path']) ? '/' : ''; - - // Instantiate the request class - $request = new $this->request_class($request_url, $this->proxy, $helpers, $this->credentials); - $request->set_method('POST'); - $request->set_body($this->body); - $this->querystring = $this->body; - $this->headers['Content-Type'] = 'application/x-amz-json-1.1'; - $this->headers['X-Amz-Target'] = $x_amz_target; - - // Pass along registered stream callbacks - if ($this->registered_streaming_read_callback) - { - $request->register_streaming_read_callback($this->registered_streaming_read_callback); - } - - if ($this->registered_streaming_write_callback) - { - $request->register_streaming_write_callback($this->registered_streaming_write_callback); - } - - // Add authentication headers - $this->headers['X-Amz-Date'] = $timestamp; - $this->headers['Content-Length'] = strlen($this->querystring); - $this->headers['Host'] = $host_header; - - // Sort headers - uksort($this->headers, 'strnatcasecmp'); - - // Add headers to request and compute the string to sign - foreach ($this->headers as $header_key => $header_value) - { - // Strip linebreaks from header values as they're illegal and can allow for security issues - $header_value = str_replace(array("\r", "\n"), '', $header_value); - - $request->add_header($header_key, $header_value); - $this->canonical_headers[] = strtolower($header_key) . ':' . $header_value; - - $this->signed_headers[] = strtolower($header_key); - } - - $this->headers['Authorization'] = $this->authorization($timestamp); - $request->add_header('Authorization', $this->headers['Authorization']); - $request->request_headers = $this->headers; - - return $request; - } - - /** - * Generates the authorization string to use for the request. - * - * @param string $datetime (Required) The current timestamp. - * @return string The authorization string. - */ - protected function authorization($datetime) - { - $access_key_id = $this->key; - - $parts = array(); - $parts[] = "AWS4-HMAC-SHA256 Credential=${access_key_id}/" . $this->credential_string($datetime); - $parts[] = 'SignedHeaders=' . implode(';', $this->signed_headers); - $parts[] = 'Signature=' . $this->hex16($this->signature($datetime)); - - return implode(',', $parts); - } - - /** - * Calculate the signature. - * - * @param string $datetime (Required) The current timestamp. - * @return string The signature. - */ - protected function signature($datetime) - { - $k_date = $this->hmac('AWS4' . $this->secret_key, substr($datetime, 0, 8)); - $k_region = $this->hmac($k_date, $this->region()); - $k_service = $this->hmac($k_region, $this->service()); - $k_credentials = $this->hmac($k_service, 'aws4_request'); - $signature = $this->hmac($k_credentials, $this->string_to_sign($datetime)); - - return $signature; - } - - /** - * Calculate the string to sign. - * - * @param string $datetime (Required) The current timestamp. - * @return string The string to sign. - */ - protected function string_to_sign($datetime) - { - $parts = array(); - $parts[] = 'AWS4-HMAC-SHA256'; - $parts[] = $datetime; - $parts[] = $this->credential_string($datetime); - $parts[] = $this->hex16($this->hash($this->canonical_request())); - - $this->string_to_sign = implode("\n", $parts); - - return $this->string_to_sign; - } - - /** - * Generates the credential string to use for signing. - * - * @param string $datetime (Required) The current timestamp. - * @return string The credential string. - */ - protected function credential_string($datetime) - { - $parts = array(); - $parts[] = substr($datetime, 0, 8); - $parts[] = $this->region(); - $parts[] = $this->service(); - $parts[] = 'aws4_request'; - - return implode('/', $parts); - } - - /** - * Calculate the canonical request. - * - * @return string The canonical request. - */ - protected function canonical_request() - { - $parts = array(); - $parts[] = 'POST'; - $parts[] = $this->canonical_uri(); - $parts[] = ''; // $parts[] = $this->canonical_querystring(); - $parts[] = implode("\n", $this->canonical_headers) . "\n"; - $parts[] = implode(';', $this->signed_headers); - $parts[] = $this->hex16($this->hash($this->body)); - - $this->canonical_request = implode("\n", $parts); - - return $this->canonical_request; - } - - /** - * The region ID to use in the signature. - * - * @return return The region ID. - */ - protected function region() - { - $pieces = explode('.', $this->endpoint); - - // Handle cases with single/no region (i.e. service.region.amazonaws.com vs. service.amazonaws.com) - if (count($pieces < 4)) - { - return 'us-east-1'; - } - - return $pieces[1]; - } - - /** - * The service ID to use in the signature. - * - * @return return The service ID. - */ - protected function service() - { - $pieces = explode('.', $this->endpoint); - return $pieces[0]; - } - - /** - * The request URI path. - * - * @return string The request URI path. - */ - protected function canonical_uri() - { - return '/'; - } - - /** - * The canonical query string. - * - * @return string The canonical query string. - */ - protected function canonical_querystring() - { - if (!isset($this->canonical_querystring)) - { - $this->canonical_querystring = $this->util->to_signable_string($this->query); - } - - return $this->canonical_querystring; - } - - /** - * Hex16-pack the data. - * - * @param string $value (Required) The data to hex16 pack. - * @return string The hex16-packed data. - */ - protected function hex16($value) - { - $result = unpack('H*', $value); - return reset($result); - } - - /** - * Applies HMAC SHA-256 encryption to the string, salted by the key. - * - * @return string Raw HMAC SHA-256 hashed string. - */ - protected function hmac($key, $string) - { - return hash_hmac('sha256', $string, $key, true); - } - - /** - * SHA-256 hashes the string. - * - * @return string Raw SHA-256 hashed string. - */ - protected function hash($string) - { - return hash('sha256', $string, true); - } -} diff --git a/3rdparty/aws-sdk/authentication/signature_v4query.class.php b/3rdparty/aws-sdk/authentication/signature_v4query.class.php deleted file mode 100644 index bd5a3fbf5b577fca62c75be50b7450e914ca7cd1..0000000000000000000000000000000000000000 --- a/3rdparty/aws-sdk/authentication/signature_v4query.class.php +++ /dev/null @@ -1,345 +0,0 @@ - class. - * - * @param string $endpoint (Required) The endpoint to direct the request to. - * @param string $operation (Required) The operation to execute as a result of this request. - * @param array $payload (Required) The options to use as part of the payload in the request. - * @param CFCredential $credentials (Required) The credentials to use for signing and making requests. - * @return void - */ - public function __construct($endpoint, $operation, $payload, CFCredential $credentials) - { - parent::__construct($endpoint, $operation, $payload, $credentials); - } - - /** - * Generates a cURL handle with all of the required authentication bits set. - * - * @return resource A cURL handle ready for executing. - */ - public function authenticate() - { - // Determine signing values - $current_time = time(); - $timestamp = gmdate(CFUtilities::DATE_FORMAT_SIGV4, $current_time); - - // Initialize - $x_amz_target = null; - - $this->headers = array(); - $this->signed_headers = array(); - $this->canonical_headers = array(); - $this->query = array('body' => is_array($this->payload) ? $this->payload : array()); - - // Do we have an authentication token? - if ($this->auth_token) - { - $this->headers['X-Amz-Security-Token'] = $this->auth_token; - $this->query['body']['SecurityToken'] = $this->auth_token; - } - - // Manage the key-value pairs that are used in the query. - if (stripos($this->operation, 'x-amz-target') !== false) - { - $x_amz_target = trim(str_ireplace('x-amz-target:', '', $this->operation)); - } - else - { - $this->query['body']['Action'] = $this->operation; - } - - // Only add it if it exists. - if ($this->api_version) - { - $this->query['body']['Version'] = $this->api_version; - } - - // Do a case-sensitive, natural order sort on the array keys. - uksort($this->query['body'], 'strcmp'); - - // Remove the default scheme from the domain. - $domain = str_replace(array('http://', 'https://'), '', $this->endpoint); - - // Parse our request. - $parsed_url = parse_url('http://' . $domain); - - // Set the proper host header. - if (isset($parsed_url['port']) && (integer) $parsed_url['port'] !== 80 && (integer) $parsed_url['port'] !== 443) - { - $host_header = strtolower($parsed_url['host']) . ':' . $parsed_url['port']; - } - else - { - $host_header = strtolower($parsed_url['host']); - } - - // Generate the querystring from $this->query - $this->querystring = $this->util->to_query_string($this->query); - - // Gather information to pass along to other classes. - $helpers = array( - 'utilities' => $this->utilities_class, - 'request' => $this->request_class, - 'response' => $this->response_class, - ); - - // Compose the request. - $request_url = ($this->use_ssl ? 'https://' : 'http://') . $domain; - $request_url .= !isset($parsed_url['path']) ? '/' : ''; - - // Instantiate the request class - $request = new $this->request_class($request_url, $this->proxy, $helpers, $this->credentials); - $request->set_method('POST'); - $request->set_body($this->canonical_querystring()); - $this->querystring = $this->canonical_querystring(); - - $this->headers['Content-Type'] = 'application/x-www-form-urlencoded; charset=utf-8'; - $this->headers['X-Amz-Target'] = $x_amz_target; - - // Pass along registered stream callbacks - if ($this->registered_streaming_read_callback) - { - $request->register_streaming_read_callback($this->registered_streaming_read_callback); - } - - if ($this->registered_streaming_write_callback) - { - $request->register_streaming_write_callback($this->registered_streaming_write_callback); - } - - // Add authentication headers - $this->headers['X-Amz-Date'] = $timestamp; - $this->headers['Content-Length'] = strlen($this->querystring); - $this->headers['Content-MD5'] = $this->util->hex_to_base64(md5($this->querystring)); - $this->headers['Host'] = $host_header; - - // Sort headers - uksort($this->headers, 'strnatcasecmp'); - - // Add headers to request and compute the string to sign - foreach ($this->headers as $header_key => $header_value) - { - // Strip linebreaks from header values as they're illegal and can allow for security issues - $header_value = str_replace(array("\r", "\n"), '', $header_value); - - $request->add_header($header_key, $header_value); - $this->canonical_headers[] = strtolower($header_key) . ':' . $header_value; - - $this->signed_headers[] = strtolower($header_key); - } - - $this->headers['Authorization'] = $this->authorization($timestamp); - - $request->add_header('Authorization', $this->headers['Authorization']); - $request->request_headers = $this->headers; - - return $request; - } - - /** - * Generates the authorization string to use for the request. - * - * @param string $datetime (Required) The current timestamp. - * @return string The authorization string. - */ - protected function authorization($datetime) - { - $access_key_id = $this->key; - - $parts = array(); - $parts[] = "AWS4-HMAC-SHA256 Credential=${access_key_id}/" . $this->credential_string($datetime); - $parts[] = 'SignedHeaders=' . implode(';', $this->signed_headers); - $parts[] = 'Signature=' . $this->hex16($this->signature($datetime)); - - return implode(',', $parts); - } - - /** - * Calculate the signature. - * - * @param string $datetime (Required) The current timestamp. - * @return string The signature. - */ - protected function signature($datetime) - { - $k_date = $this->hmac('AWS4' . $this->secret_key, substr($datetime, 0, 8)); - $k_region = $this->hmac($k_date, $this->region()); - $k_service = $this->hmac($k_region, $this->service()); - $k_credentials = $this->hmac($k_service, 'aws4_request'); - $signature = $this->hmac($k_credentials, $this->string_to_sign($datetime)); - - return $signature; - } - - /** - * Calculate the string to sign. - * - * @param string $datetime (Required) The current timestamp. - * @return string The string to sign. - */ - protected function string_to_sign($datetime) - { - $parts = array(); - $parts[] = 'AWS4-HMAC-SHA256'; - $parts[] = $datetime; - $parts[] = $this->credential_string($datetime); - $parts[] = $this->hex16($this->hash($this->canonical_request())); - - $this->string_to_sign = implode("\n", $parts); - - return $this->string_to_sign; - } - - /** - * Generates the credential string to use for signing. - * - * @param string $datetime (Required) The current timestamp. - * @return string The credential string. - */ - protected function credential_string($datetime) - { - $parts = array(); - $parts[] = substr($datetime, 0, 8); - $parts[] = $this->region(); - $parts[] = $this->service(); - $parts[] = 'aws4_request'; - - return implode('/', $parts); - } - - /** - * Calculate the canonical request. - * - * @return string The canonical request. - */ - protected function canonical_request() - { - $parts = array(); - $parts[] = 'POST'; - $parts[] = $this->canonical_uri(); - $parts[] = ''; // $parts[] = $this->canonical_querystring(); - $parts[] = implode("\n", $this->canonical_headers) . "\n"; - $parts[] = implode(';', $this->signed_headers); - $parts[] = $this->hex16($this->hash($this->canonical_querystring())); - - $this->canonical_request = implode("\n", $parts); - - return $this->canonical_request; - } - - /** - * The region ID to use in the signature. - * - * @return return The region ID. - */ - protected function region() - { - $pieces = explode('.', $this->endpoint); - - // Handle cases with single/no region (i.e. service.region.amazonaws.com vs. service.amazonaws.com) - if (count($pieces < 4)) - { - return 'us-east-1'; - } - - return $pieces[1]; - } - - /** - * The service ID to use in the signature. - * - * @return return The service ID. - */ - protected function service() - { - $pieces = explode('.', $this->endpoint); - return ($pieces[0] === 'email') ? 'ses' : $pieces[0]; - } - - /** - * The request URI path. - * - * @return string The request URI path. - */ - protected function canonical_uri() - { - return '/'; - } - - /** - * The canonical query string. - * - * @return string The canonical query string. - */ - protected function canonical_querystring() - { - if (!isset($this->canonical_querystring)) - { - $this->canonical_querystring = $this->util->to_signable_string($this->query['body']); - } - - return $this->canonical_querystring; - } - - /** - * Hex16-pack the data. - * - * @param string $value (Required) The data to hex16 pack. - * @return string The hex16-packed data. - */ - protected function hex16($value) - { - $result = unpack('H*', $value); - return reset($result); - } - - /** - * Applies HMAC SHA-256 encryption to the string, salted by the key. - * - * @return string Raw HMAC SHA-256 hashed string. - */ - protected function hmac($key, $string) - { - return hash_hmac('sha256', $string, $key, true); - } - - /** - * SHA-256 hashes the string. - * - * @return string Raw SHA-256 hashed string. - */ - protected function hash($string) - { - return hash('sha256', $string, true); - } -} diff --git a/3rdparty/aws-sdk/authentication/signer.abstract.php b/3rdparty/aws-sdk/authentication/signer.abstract.php deleted file mode 100644 index f6bf7912f7bd54ce01e5cfd322dd8a81e4b492ca..0000000000000000000000000000000000000000 --- a/3rdparty/aws-sdk/authentication/signer.abstract.php +++ /dev/null @@ -1,68 +0,0 @@ -endpoint = $endpoint; - $this->operation = $operation; - $this->payload = $payload; - $this->credentials = $credentials; - } -} diff --git a/3rdparty/aws-sdk/lib/cachecore/LICENSE b/3rdparty/aws-sdk/lib/cachecore/LICENSE deleted file mode 100755 index 49b38bd620ac6d804660351a60b6e37e80a691ac..0000000000000000000000000000000000000000 --- a/3rdparty/aws-sdk/lib/cachecore/LICENSE +++ /dev/null @@ -1,25 +0,0 @@ -Copyright (c) 2006-2010 Ryan Parman, Foleeo Inc., and contributors. All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, are -permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list of - conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this list - of conditions and the following disclaimer in the documentation and/or other materials - provided with the distribution. - - * Neither the name of Ryan Parman, Foleeo Inc. nor the names of its contributors may be used to - endorse or promote products derived from this software without specific prior written - permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS -OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY -AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS -AND CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. diff --git a/3rdparty/aws-sdk/lib/cachecore/README b/3rdparty/aws-sdk/lib/cachecore/README deleted file mode 100755 index 07e00267cbb850f01b82b8737d7526deadf5cef9..0000000000000000000000000000000000000000 --- a/3rdparty/aws-sdk/lib/cachecore/README +++ /dev/null @@ -1 +0,0 @@ -A simple caching system for PHP5 that provides a single interface for a variety of storage types. diff --git a/3rdparty/aws-sdk/lib/cachecore/_sql/README b/3rdparty/aws-sdk/lib/cachecore/_sql/README deleted file mode 100755 index e25d53d1208c725d433f444dfd584ada1ec154a6..0000000000000000000000000000000000000000 --- a/3rdparty/aws-sdk/lib/cachecore/_sql/README +++ /dev/null @@ -1,5 +0,0 @@ -The .sql files in this directory contain the code to create the tables for database caching. - -If you're not using database caching, you can safely ignore these. - -If you ARE using database caching, simply load the correct *.sql file into your database to set up the required tables. diff --git a/3rdparty/aws-sdk/lib/cachecore/_sql/mysql.sql b/3rdparty/aws-sdk/lib/cachecore/_sql/mysql.sql deleted file mode 100755 index 2efee3a732f95f2b9e259058d3894b4b123d42a7..0000000000000000000000000000000000000000 --- a/3rdparty/aws-sdk/lib/cachecore/_sql/mysql.sql +++ /dev/null @@ -1,7 +0,0 @@ -CREATE TABLE `cache` ( - `id` char(40) NOT NULL default '', - `expires` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP, - `data` longtext, - PRIMARY KEY (`id`), - UNIQUE KEY `id` (`id`) -) ENGINE=MyISAM DEFAULT CHARSET=utf8 \ No newline at end of file diff --git a/3rdparty/aws-sdk/lib/cachecore/_sql/pgsql.sql b/3rdparty/aws-sdk/lib/cachecore/_sql/pgsql.sql deleted file mode 100755 index f2bdd86a528899c6c9772be56e6a20d39ff920e1..0000000000000000000000000000000000000000 --- a/3rdparty/aws-sdk/lib/cachecore/_sql/pgsql.sql +++ /dev/null @@ -1,6 +0,0 @@ -CREATE TABLE "cache" ( - expires timestamp without time zone NOT NULL, - id character(40) NOT NULL, - data text NOT NULL -) -WITH (OIDS=TRUE); \ No newline at end of file diff --git a/3rdparty/aws-sdk/lib/cachecore/_sql/sqlite3.sql b/3rdparty/aws-sdk/lib/cachecore/_sql/sqlite3.sql deleted file mode 100755 index 590f45e4ff1c328fc1e5ab2ecd800688dc077175..0000000000000000000000000000000000000000 --- a/3rdparty/aws-sdk/lib/cachecore/_sql/sqlite3.sql +++ /dev/null @@ -1,2 +0,0 @@ -CREATE TABLE cache (id TEXT, expires NUMERIC, data BLOB); -CREATE UNIQUE INDEX idx ON cache(id ASC); \ No newline at end of file diff --git a/3rdparty/aws-sdk/lib/cachecore/cacheapc.class.php b/3rdparty/aws-sdk/lib/cachecore/cacheapc.class.php deleted file mode 100755 index 59f5e88f397c0af8657477a34d0736f70ce0ea9e..0000000000000000000000000000000000000000 --- a/3rdparty/aws-sdk/lib/cachecore/cacheapc.class.php +++ /dev/null @@ -1,126 +0,0 @@ -. Adheres - * to the ICacheCore interface. - * - * @version 2012.04.17 - * @copyright 2006-2012 Ryan Parman - * @copyright 2006-2010 Foleeo, Inc. - * @copyright 2012 Amazon.com, Inc. or its affiliates. - * @copyright 2008-2010 Contributors - * @license http://opensource.org/licenses/bsd-license.php Simplified BSD License - * @link http://github.com/skyzyx/cachecore CacheCore - * @link http://getcloudfusion.com CloudFusion - * @link http://php.net/apc APC - */ -class CacheAPC extends CacheCore implements ICacheCore -{ - - /*%******************************************************************************************%*/ - // CONSTRUCTOR - - /** - * Constructs a new instance of this class. - * - * @param string $name (Required) A name to uniquely identify the cache object. - * @param string $location (Optional) The location to store the cache object in. This may vary by cache method. The default value is NULL. - * @param integer $expires (Optional) The number of seconds until a cache object is considered stale. The default value is 0. - * @param boolean $gzip (Optional) Whether data should be gzipped before being stored. The default value is true. - * @return object Reference to the cache object. - */ - public function __construct($name, $location = null, $expires = 0, $gzip = true) - { - parent::__construct($name, null, $expires, $gzip); - $this->id = $this->name; - } - - /** - * Creates a new cache. - * - * @param mixed $data (Required) The data to cache. - * @return boolean Whether the operation was successful. - */ - public function create($data) - { - $data = serialize($data); - $data = $this->gzip ? gzcompress($data) : $data; - - return apc_add($this->id, $data, $this->expires); - } - - /** - * Reads a cache. - * - * @return mixed Either the content of the cache object, or boolean `false`. - */ - public function read() - { - if ($data = apc_fetch($this->id)) - { - $data = $this->gzip ? gzuncompress($data) : $data; - return unserialize($data); - } - - return false; - } - - /** - * Updates an existing cache. - * - * @param mixed $data (Required) The data to cache. - * @return boolean Whether the operation was successful. - */ - public function update($data) - { - $data = serialize($data); - $data = $this->gzip ? gzcompress($data) : $data; - - return apc_store($this->id, $data, $this->expires); - } - - /** - * Deletes a cache. - * - * @return boolean Whether the operation was successful. - */ - public function delete() - { - return apc_delete($this->id); - } - - /** - * Implemented here, but always returns `false`. APC manages its own expirations. - * - * @return boolean Whether the cache is expired or not. - */ - public function is_expired() - { - return false; - } - - /** - * Implemented here, but always returns `false`. APC manages its own expirations. - * - * @return mixed Either the Unix time stamp of the cache creation, or boolean `false`. - */ - public function timestamp() - { - return false; - } - - /** - * Implemented here, but always returns `false`. APC manages its own expirations. - * - * @return boolean Whether the operation was successful. - */ - public function reset() - { - return false; - } -} - - -/*%******************************************************************************************%*/ -// EXCEPTIONS - -class CacheAPC_Exception extends CacheCore_Exception {} diff --git a/3rdparty/aws-sdk/lib/cachecore/cachecore.class.php b/3rdparty/aws-sdk/lib/cachecore/cachecore.class.php deleted file mode 100755 index 1670d31640865d425384235eeef5f469c4d3884b..0000000000000000000000000000000000000000 --- a/3rdparty/aws-sdk/lib/cachecore/cachecore.class.php +++ /dev/null @@ -1,160 +0,0 @@ -name = $name; - $this->location = $location; - $this->expires = $expires; - $this->gzip = $gzip; - - return $this; - } - - /** - * Allows for chaining from the constructor. Requires PHP 5.3 or newer. - * - * @param string $name (Required) A name to uniquely identify the cache object. - * @param string $location (Optional) The location to store the cache object in. This may vary by cache method. The default value is NULL. - * @param integer $expires (Optional) The number of seconds until a cache object is considered stale. The default value is 0. - * @param boolean $gzip (Optional) Whether data should be gzipped before being stored. The default value is true. - * @return object Reference to the cache object. - */ - public static function init($name, $location = null, $expires = 0, $gzip = true) - { - if (version_compare(PHP_VERSION, '5.3.0', '<')) - { - throw new Exception('PHP 5.3 or newer is required to use CacheCore::init().'); - } - - $self = get_called_class(); - return new $self($name, $location, $expires, $gzip); - } - - /** - * Set the number of seconds until a cache expires. - * - * @param integer $expires (Optional) The number of seconds until a cache object is considered stale. The default value is 0. - * @return $this - */ - public function expire_in($seconds) - { - $this->expires = $seconds; - return $this; - } - - /** - * Provides a simple, straightforward cache-logic mechanism. Useful for non-complex response caches. - * - * @param string|function $callback (Required) The name of the function to fire when we need to fetch new data to cache. - * @param array params (Optional) Parameters to pass into the callback function, as an array. - * @return array The cached data being requested. - */ - public function response_manager($callback, $params = null) - { - // Automatically handle $params values. - $params = is_array($params) ? $params : array($params); - - if ($data = $this->read()) - { - if ($this->is_expired()) - { - if ($data = call_user_func_array($callback, $params)) - { - $this->update($data); - } - else - { - $this->reset(); - $data = $this->read(); - } - } - } - else - { - if ($data = call_user_func_array($callback, $params)) - { - $this->create($data); - } - } - - return $data; - } -} - - -/*%******************************************************************************************%*/ -// CORE DEPENDENCIES - -// Include the ICacheCore interface. -if (file_exists(dirname(__FILE__) . DIRECTORY_SEPARATOR . 'icachecore.interface.php')) -{ - include_once dirname(__FILE__) . DIRECTORY_SEPARATOR . 'icachecore.interface.php'; -} - - -/*%******************************************************************************************%*/ -// EXCEPTIONS - -class CacheCore_Exception extends Exception {} diff --git a/3rdparty/aws-sdk/lib/cachecore/cachefile.class.php b/3rdparty/aws-sdk/lib/cachecore/cachefile.class.php deleted file mode 100755 index 3df240151fbb786921737b14793e582c8b1dba46..0000000000000000000000000000000000000000 --- a/3rdparty/aws-sdk/lib/cachecore/cachefile.class.php +++ /dev/null @@ -1,189 +0,0 @@ -. Adheres - * to the ICacheCore interface. - * - * @version 2012.04.17 - * @copyright 2006-2012 Ryan Parman - * @copyright 2006-2010 Foleeo, Inc. - * @copyright 2012 Amazon.com, Inc. or its affiliates. - * @copyright 2008-2010 Contributors - * @license http://opensource.org/licenses/bsd-license.php Simplified BSD License - * @link http://github.com/skyzyx/cachecore CacheCore - * @link http://getcloudfusion.com CloudFusion - */ -class CacheFile extends CacheCore implements ICacheCore -{ - - /*%******************************************************************************************%*/ - // CONSTRUCTOR - - /** - * Constructs a new instance of this class. - * - * @param string $name (Required) A name to uniquely identify the cache object. - * @param string $location (Optional) The location to store the cache object in. This may vary by cache method. The default value is NULL. - * @param integer $expires (Optional) The number of seconds until a cache object is considered stale. The default value is 0. - * @param boolean $gzip (Optional) Whether data should be gzipped before being stored. The default value is true. - * @return object Reference to the cache object. - */ - public function __construct($name, $location = null, $expires = 0, $gzip = true) - { - parent::__construct($name, $location, $expires, $gzip); - $this->id = $this->location . '/' . $this->name . '.cache'; - } - - /** - * Creates a new cache. - * - * @param mixed $data (Required) The data to cache. - * @return boolean Whether the operation was successful. - */ - public function create($data) - { - if (file_exists($this->id)) - { - return false; - } - elseif (realpath($this->location) && file_exists($this->location) && is_writeable($this->location)) - { - $data = serialize($data); - $data = $this->gzip ? gzcompress($data) : $data; - - return (bool) file_put_contents($this->id, $data); - } - elseif (realpath($this->location) && file_exists($this->location)) - { - throw new CacheFile_Exception('The file system location "' . $this->location . '" is not writable. Check the file system permissions for this directory.'); - } - else - { - throw new CacheFile_Exception('The file system location "' . $this->location . '" does not exist. Create the directory, or double-check any relative paths that may have been set.'); - } - - return false; - } - - /** - * Reads a cache. - * - * @return mixed Either the content of the cache object, or boolean `false`. - */ - public function read() - { - if (file_exists($this->id) && is_readable($this->id)) - { - $data = file_get_contents($this->id); - $data = $this->gzip ? gzuncompress($data) : $data; - $data = unserialize($data); - - if ($data === false) - { - /* - This should only happen when someone changes the gzip settings and there is - existing data or someone has been mucking about in the cache folder manually. - Delete the bad entry since the file cache doesn't clean up after itself and - then return false so fresh data will be retrieved. - */ - $this->delete(); - return false; - } - - return $data; - } - - return false; - } - - /** - * Updates an existing cache. - * - * @param mixed $data (Required) The data to cache. - * @return boolean Whether the operation was successful. - */ - public function update($data) - { - if (file_exists($this->id) && is_writeable($this->id)) - { - $data = serialize($data); - $data = $this->gzip ? gzcompress($data) : $data; - - return (bool) file_put_contents($this->id, $data); - } - else - { - throw new CacheFile_Exception('The file system location is not writeable. Check your file system permissions and ensure that the cache directory exists.'); - } - - return false; - } - - /** - * Deletes a cache. - * - * @return boolean Whether the operation was successful. - */ - public function delete() - { - if (file_exists($this->id)) - { - return unlink($this->id); - } - - return false; - } - - /** - * Checks whether the cache object is expired or not. - * - * @return boolean Whether the cache is expired or not. - */ - public function is_expired() - { - if ($this->timestamp() + $this->expires < time()) - { - return true; - } - - return false; - } - - /** - * Retrieves the timestamp of the cache. - * - * @return mixed Either the Unix time stamp of the cache creation, or boolean `false`. - */ - public function timestamp() - { - clearstatcache(); - - if (file_exists($this->id)) - { - $this->timestamp = filemtime($this->id); - return $this->timestamp; - } - - return false; - } - - /** - * Resets the freshness of the cache. - * - * @return boolean Whether the operation was successful. - */ - public function reset() - { - if (file_exists($this->id)) - { - return touch($this->id); - } - - return false; - } -} - - -/*%******************************************************************************************%*/ -// EXCEPTIONS - -class CacheFile_Exception extends CacheCore_Exception {} diff --git a/3rdparty/aws-sdk/lib/cachecore/cachemc.class.php b/3rdparty/aws-sdk/lib/cachecore/cachemc.class.php deleted file mode 100755 index 5b0f8a93061f43b292067154849c3d3f33081b0c..0000000000000000000000000000000000000000 --- a/3rdparty/aws-sdk/lib/cachecore/cachemc.class.php +++ /dev/null @@ -1,183 +0,0 @@ -. Adheres - * to the ICacheCore interface. - * - * @version 2012.04.17 - * @copyright 2006-2012 Ryan Parman - * @copyright 2006-2010 Foleeo, Inc. - * @copyright 2012 Amazon.com, Inc. or its affiliates. - * @copyright 2008-2010 Contributors - * @license http://opensource.org/licenses/bsd-license.php Simplified BSD License - * @link http://github.com/skyzyx/cachecore CacheCore - * @link http://getcloudfusion.com CloudFusion - * @link http://php.net/memcache Memcache - * @link http://php.net/memcached Memcached - */ -class CacheMC extends CacheCore implements ICacheCore -{ - /** - * Holds the Memcache object. - */ - var $memcache = null; - - /** - * Whether the Memcached extension is being used (as opposed to Memcache). - */ - var $is_memcached = false; - - - /*%******************************************************************************************%*/ - // CONSTRUCTOR - - /** - * Constructs a new instance of this class. - * - * @param string $name (Required) A name to uniquely identify the cache object. - * @param string $location (Optional) The location to store the cache object in. This may vary by cache method. The default value is NULL. - * @param integer $expires (Optional) The number of seconds until a cache object is considered stale. The default value is 0. - * @param boolean $gzip (Optional) Whether data should be gzipped before being stored. The default value is true. - * @return object Reference to the cache object. - */ - public function __construct($name, $location = null, $expires = 0, $gzip = true) - { - parent::__construct($name, null, $expires, $gzip); - $this->id = $this->name; - - // Prefer Memcached over Memcache. - if (class_exists('Memcached')) - { - $this->memcache = new Memcached(); - $this->is_memcached = true; - } - elseif (class_exists('Memcache')) - { - $this->memcache = new Memcache(); - } - else - { - return false; - } - - // Enable compression, if available - if ($this->gzip) - { - if ($this->is_memcached) - { - $this->memcache->setOption(Memcached::OPT_COMPRESSION, true); - } - else - { - $this->gzip = MEMCACHE_COMPRESSED; - } - } - - // Process Memcached servers. - if (isset($location) && sizeof($location) > 0) - { - foreach ($location as $loc) - { - if (isset($loc['port']) && !empty($loc['port'])) - { - $this->memcache->addServer($loc['host'], $loc['port']); - } - else - { - $this->memcache->addServer($loc['host'], 11211); - } - } - } - - return $this; - } - - /** - * Creates a new cache. - * - * @param mixed $data (Required) The data to cache. - * @return boolean Whether the operation was successful. - */ - public function create($data) - { - if ($this->is_memcached) - { - return $this->memcache->set($this->id, $data, $this->expires); - } - return $this->memcache->set($this->id, $data, $this->gzip, $this->expires); - } - - /** - * Reads a cache. - * - * @return mixed Either the content of the cache object, or boolean `false`. - */ - public function read() - { - if ($this->is_memcached) - { - return $this->memcache->get($this->id); - } - return $this->memcache->get($this->id, $this->gzip); - } - - /** - * Updates an existing cache. - * - * @param mixed $data (Required) The data to cache. - * @return boolean Whether the operation was successful. - */ - public function update($data) - { - if ($this->is_memcached) - { - return $this->memcache->replace($this->id, $data, $this->expires); - } - return $this->memcache->replace($this->id, $data, $this->gzip, $this->expires); - } - - /** - * Deletes a cache. - * - * @return boolean Whether the operation was successful. - */ - public function delete() - { - return $this->memcache->delete($this->id); - } - - /** - * Implemented here, but always returns `false`. Memcache manages its own expirations. - * - * @return boolean Whether the cache is expired or not. - */ - public function is_expired() - { - return false; - } - - /** - * Implemented here, but always returns `false`. Memcache manages its own expirations. - * - * @return mixed Either the Unix time stamp of the cache creation, or boolean `false`. - */ - public function timestamp() - { - return false; - } - - /** - * Implemented here, but always returns `false`. Memcache manages its own expirations. - * - * @return boolean Whether the operation was successful. - */ - public function reset() - { - return false; - } -} - - -/*%******************************************************************************************%*/ -// EXCEPTIONS - -class CacheMC_Exception extends CacheCore_Exception {} diff --git a/3rdparty/aws-sdk/lib/cachecore/cachepdo.class.php b/3rdparty/aws-sdk/lib/cachecore/cachepdo.class.php deleted file mode 100755 index 5716021d8fc5dc0856237274692a72a9d563bb58..0000000000000000000000000000000000000000 --- a/3rdparty/aws-sdk/lib/cachecore/cachepdo.class.php +++ /dev/null @@ -1,297 +0,0 @@ -. Adheres - * to the ICacheCore interface. - * - * @version 2012.04.17 - * @copyright 2006-2012 Ryan Parman - * @copyright 2006-2010 Foleeo, Inc. - * @copyright 2012 Amazon.com, Inc. or its affiliates. - * @copyright 2008-2010 Contributors - * @license http://opensource.org/licenses/bsd-license.php Simplified BSD License - * @link http://github.com/skyzyx/cachecore CacheCore - * @link http://getcloudfusion.com CloudFusion - * @link http://php.net/pdo PDO - */ -class CachePDO extends CacheCore implements ICacheCore -{ - /** - * Reference to the PDO connection object. - */ - var $pdo = null; - - /** - * Holds the parsed URL components. - */ - var $dsn = null; - - /** - * Holds the PDO-friendly version of the connection string. - */ - var $dsn_string = null; - - /** - * Holds the prepared statement for creating an entry. - */ - var $create = null; - - /** - * Holds the prepared statement for reading an entry. - */ - var $read = null; - - /** - * Holds the prepared statement for updating an entry. - */ - var $update = null; - - /** - * Holds the prepared statement for resetting the expiry of an entry. - */ - var $reset = null; - - /** - * Holds the prepared statement for deleting an entry. - */ - var $delete = null; - - /** - * Holds the response of the read so we only need to fetch it once instead of doing - * multiple queries. - */ - var $store_read = null; - - - /*%******************************************************************************************%*/ - // CONSTRUCTOR - - /** - * Constructs a new instance of this class. - * - * Tested with [MySQL 5.0.x](http://mysql.com), [PostgreSQL](http://postgresql.com), and - * [SQLite 3.x](http://sqlite.org). SQLite 2.x is assumed to work. No other PDO-supported databases have - * been tested (e.g. Oracle, Microsoft SQL Server, IBM DB2, ODBC, Sybase, Firebird). Feel free to send - * patches for additional database support. - * - * See for more information. - * - * @param string $name (Required) A name to uniquely identify the cache object. - * @param string $location (Optional) The location to store the cache object in. This may vary by cache method. The default value is NULL. - * @param integer $expires (Optional) The number of seconds until a cache object is considered stale. The default value is 0. - * @param boolean $gzip (Optional) Whether data should be gzipped before being stored. The default value is true. - * @return object Reference to the cache object. - */ - public function __construct($name, $location = null, $expires = 0, $gzip = true) - { - // Make sure the name is no longer than 40 characters. - $name = sha1($name); - - // Call parent constructor and set id. - parent::__construct($name, $location, $expires, $gzip); - $this->id = $this->name; - $options = array(); - - // Check if the location contains :// (e.g. mysql://user:pass@hostname:port/table) - if (stripos($location, '://') === false) - { - // No? Just pass it through. - $this->dsn = parse_url($location); - $this->dsn_string = $location; - } - else - { - // Yes? Parse and set the DSN - $this->dsn = parse_url($location); - $this->dsn_string = $this->dsn['scheme'] . ':host=' . $this->dsn['host'] . ((isset($this->dsn['port'])) ? ';port=' . $this->dsn['port'] : '') . ';dbname=' . substr($this->dsn['path'], 1); - } - - // Make sure that user/pass are defined. - $user = isset($this->dsn['user']) ? $this->dsn['user'] : null; - $pass = isset($this->dsn['pass']) ? $this->dsn['pass'] : null; - - // Set persistence for databases that support it. - switch ($this->dsn['scheme']) - { - case 'mysql': // MySQL - case 'pgsql': // PostgreSQL - $options[PDO::ATTR_PERSISTENT] = true; - break; - } - - // Instantiate a new PDO object with a persistent connection. - $this->pdo = new PDO($this->dsn_string, $user, $pass, $options); - - // Define prepared statements for improved performance. - $this->create = $this->pdo->prepare("INSERT INTO cache (id, expires, data) VALUES (:id, :expires, :data)"); - $this->read = $this->pdo->prepare("SELECT id, expires, data FROM cache WHERE id = :id"); - $this->reset = $this->pdo->prepare("UPDATE cache SET expires = :expires WHERE id = :id"); - $this->delete = $this->pdo->prepare("DELETE FROM cache WHERE id = :id"); - } - - /** - * Creates a new cache. - * - * @param mixed $data (Required) The data to cache. - * @return boolean Whether the operation was successful. - */ - public function create($data) - { - $data = serialize($data); - $data = $this->gzip ? gzcompress($data) : $data; - - $this->create->bindParam(':id', $this->id); - $this->create->bindParam(':data', $data); - $this->create->bindParam(':expires', $this->generate_timestamp()); - - return (bool) $this->create->execute(); - } - - /** - * Reads a cache. - * - * @return mixed Either the content of the cache object, or boolean `false`. - */ - public function read() - { - if (!$this->store_read) - { - $this->read->bindParam(':id', $this->id); - $this->read->execute(); - $this->store_read = $this->read->fetch(PDO::FETCH_ASSOC); - } - - if ($this->store_read) - { - $data = $this->store_read['data']; - $data = $this->gzip ? gzuncompress($data) : $data; - - return unserialize($data); - } - - return false; - } - - /** - * Updates an existing cache. - * - * @param mixed $data (Required) The data to cache. - * @return boolean Whether the operation was successful. - */ - public function update($data) - { - $this->delete(); - return $this->create($data); - } - - /** - * Deletes a cache. - * - * @return boolean Whether the operation was successful. - */ - public function delete() - { - $this->delete->bindParam(':id', $this->id); - return $this->delete->execute(); - } - - /** - * Checks whether the cache object is expired or not. - * - * @return boolean Whether the cache is expired or not. - */ - public function is_expired() - { - if ($this->timestamp() + $this->expires < time()) - { - return true; - } - - return false; - } - - /** - * Retrieves the timestamp of the cache. - * - * @return mixed Either the Unix time stamp of the cache creation, or boolean `false`. - */ - public function timestamp() - { - if (!$this->store_read) - { - $this->read->bindParam(':id', $this->id); - $this->read->execute(); - $this->store_read = $this->read->fetch(PDO::FETCH_ASSOC); - } - - if ($this->store_read) - { - $value = $this->store_read['expires']; - - // If 'expires' isn't yet an integer, convert it into one. - if (!is_numeric($value)) - { - $value = strtotime($value); - } - - $this->timestamp = date('U', $value); - return $this->timestamp; - } - - return false; - } - - /** - * Resets the freshness of the cache. - * - * @return boolean Whether the operation was successful. - */ - public function reset() - { - $this->reset->bindParam(':id', $this->id); - $this->reset->bindParam(':expires', $this->generate_timestamp()); - return (bool) $this->reset->execute(); - } - - /** - * Returns a list of supported PDO database drivers. Identical to . - * - * @return array The list of supported database drivers. - * @link http://php.net/pdo.getavailabledrivers PHP Method - */ - public function get_drivers() - { - return PDO::getAvailableDrivers(); - } - - /** - * Returns a timestamp value apropriate to the current database type. - * - * @return mixed Timestamp for MySQL and PostgreSQL, integer value for SQLite. - */ - protected function generate_timestamp() - { - // Define 'expires' settings differently. - switch ($this->dsn['scheme']) - { - // These support timestamps. - case 'mysql': // MySQL - case 'pgsql': // PostgreSQL - $expires = date(DATE_FORMAT_MYSQL, time()); - break; - - // These support integers. - case 'sqlite': // SQLite 3 - case 'sqlite2': // SQLite 2 - $expires = time(); - break; - } - - return $expires; - } -} - - -/*%******************************************************************************************%*/ -// EXCEPTIONS - -class CachePDO_Exception extends CacheCore_Exception {} diff --git a/3rdparty/aws-sdk/lib/cachecore/cachexcache.class.php b/3rdparty/aws-sdk/lib/cachecore/cachexcache.class.php deleted file mode 100755 index a0f279aaea3d979363bc7ae4e87368dfec547f54..0000000000000000000000000000000000000000 --- a/3rdparty/aws-sdk/lib/cachecore/cachexcache.class.php +++ /dev/null @@ -1,129 +0,0 @@ -. Adheres - * to the ICacheCore interface. - * - * @version 2012.04.17 - * @copyright 2006-2012 Ryan Parman - * @copyright 2006-2010 Foleeo, Inc. - * @copyright 2012 Amazon.com, Inc. or its affiliates. - * @copyright 2008-2010 Contributors - * @license http://opensource.org/licenses/bsd-license.php Simplified BSD License - * @link http://github.com/skyzyx/cachecore CacheCore - * @link http://getcloudfusion.com CloudFusion - * @link http://xcache.lighttpd.net XCache - */ -class CacheXCache extends CacheCore implements ICacheCore -{ - - /*%******************************************************************************************%*/ - // CONSTRUCTOR - - /** - * Constructs a new instance of this class. - * - * @param string $name (Required) A name to uniquely identify the cache object. - * @param string $location (Optional) The location to store the cache object in. This may vary by cache method. The default value is NULL. - * @param integer $expires (Optional) The number of seconds until a cache object is considered stale. The default value is 0. - * @param boolean $gzip (Optional) Whether data should be gzipped before being stored. The default value is true. - * @return object Reference to the cache object. - */ - public function __construct($name, $location = null, $expires = 0, $gzip = true) - { - parent::__construct($name, null, $expires, $gzip); - $this->id = $this->name; - } - - /** - * Creates a new cache. - * - * @param mixed $data (Required) The data to cache. - * @return boolean Whether the operation was successful. - */ - public function create($data) - { - $data = serialize($data); - $data = $this->gzip ? gzcompress($data) : $data; - - return xcache_set($this->id, $data, $this->expires); - } - - /** - * Reads a cache. - * - * @return mixed Either the content of the cache object, or boolean `false`. - */ - public function read() - { - if ($data = xcache_get($this->id)) - { - $data = $this->gzip ? gzuncompress($data) : $data; - return unserialize($data); - } - - return false; - } - - /** - * Updates an existing cache. - * - * @param mixed $data (Required) The data to cache. - * @return boolean Whether the operation was successful. - */ - public function update($data) - { - $data = serialize($data); - $data = $this->gzip ? gzcompress($data) : $data; - - return xcache_set($this->id, $data, $this->expires); - } - - /** - * Deletes a cache. - * - * @return boolean Whether the operation was successful. - */ - public function delete() - { - return xcache_unset($this->id); - } - - /** - * Defined here, but always returns false. XCache manages it's own expirations. It's worth - * mentioning that if the server is configured for a long xcache.var_gc_interval then it IS - * possible for expired data to remain in the var cache, though it is not possible to access - * it. - * - * @return boolean Whether the cache is expired or not. - */ - public function is_expired() - { - return false; - } - - /** - * Implemented here, but always returns `false`. XCache manages its own expirations. - * - * @return mixed Either the Unix time stamp of the cache creation, or boolean `false`. - */ - public function timestamp() - { - return false; - } - - /** - * Implemented here, but always returns `false`. XCache manages its own expirations. - * - * @return boolean Whether the operation was successful. - */ - public function reset() - { - return false; - } -} - - -/*%******************************************************************************************%*/ -// EXCEPTIONS - -class CacheXCache_Exception extends CacheCore_Exception {} diff --git a/3rdparty/aws-sdk/lib/cachecore/icachecore.interface.php b/3rdparty/aws-sdk/lib/cachecore/icachecore.interface.php deleted file mode 100755 index 8d49f5bf4920f1a9def8cb6499f8a5d2a53ff80a..0000000000000000000000000000000000000000 --- a/3rdparty/aws-sdk/lib/cachecore/icachecore.interface.php +++ /dev/null @@ -1,66 +0,0 @@ - class. - * - * @version 2009.03.22 - * @copyright 2006-2010 Ryan Parman - * @copyright 2006-2010 Foleeo, Inc. - * @copyright 2008-2010 Contributors - * @license http://opensource.org/licenses/bsd-license.php Simplified BSD License - * @link http://github.com/skyzyx/cachecore CacheCore - * @link http://getcloudfusion.com CloudFusion - */ -interface ICacheCore -{ - /** - * Creates a new cache. - * - * @param mixed $data (Required) The data to cache. - * @return boolean Whether the operation was successful. - */ - public function create($data); - - /** - * Reads a cache. - * - * @return mixed Either the content of the cache object, or boolean `false`. - */ - public function read(); - - /** - * Updates an existing cache. - * - * @param mixed $data (Required) The data to cache. - * @return boolean Whether the operation was successful. - */ - public function update($data); - - /** - * Deletes a cache. - * - * @return boolean Whether the operation was successful. - */ - public function delete(); - - /** - * Checks whether the cache object is expired or not. - * - * @return boolean Whether the cache is expired or not. - */ - public function is_expired(); - - /** - * Retrieves the timestamp of the cache. - * - * @return mixed Either the Unix time stamp of the cache creation, or boolean `false`. - */ - public function timestamp(); - - /** - * Resets the freshness of the cache. - * - * @return boolean Whether the operation was successful. - */ - public function reset(); -} diff --git a/3rdparty/aws-sdk/lib/dom/ArrayToDOMDocument.php b/3rdparty/aws-sdk/lib/dom/ArrayToDOMDocument.php deleted file mode 100644 index 06ad502eebb76ebebb41e18cb3cf06449e7e9d03..0000000000000000000000000000000000000000 --- a/3rdparty/aws-sdk/lib/dom/ArrayToDOMDocument.php +++ /dev/null @@ -1,181 +0,0 @@ -appendChild(self::createDOMElement($source, $rootTagName, $document)); - - return $document; - } - - /** - * @param array $source - * @param string $rootTagName - * @param bool $formatOutput - * @return string - */ - public static function arrayToXMLString(array $source, $rootTagName = 'root', $formatOutput = true) - { - $document = self::arrayToDOMDocument($source, $rootTagName); - $document->formatOutput = $formatOutput; - - return $document->saveXML(); - } - - /** - * @param DOMDocument $document - * @return array - */ - public static function domDocumentToArray(DOMDocument $document) - { - return self::createArray($document->documentElement); - } - - /** - * @param string $xmlString - * @return array - */ - public static function xmlStringToArray($xmlString) - { - $document = new DOMDocument(); - - return $document->loadXML($xmlString) ? self::domDocumentToArray($document) : array(); - } - - /** - * @param mixed $source - * @param string $tagName - * @param DOMDocument $document - * @return DOMNode - */ - private static function createDOMElement($source, $tagName, DOMDocument $document) - { - if (!is_array($source)) - { - $element = $document->createElement($tagName); - $element->appendChild($document->createCDATASection($source)); - - return $element; - } - - $element = $document->createElement($tagName); - - foreach ($source as $key => $value) - { - if (is_string($key) && !is_numeric($key)) - { - if ($key === self::ATTRIBUTES) - { - foreach ($value as $attributeName => $attributeValue) - { - $element->setAttribute($attributeName, $attributeValue); - } - } - elseif ($key === self::CONTENT) - { - $element->appendChild($document->createCDATASection($value)); - } - elseif (is_string($value) && !is_numeric($value)) - { - $element->appendChild(self::createDOMElement($value, $key, $document)); - } - elseif (is_array($value) && count($value)) - { - $keyNode = $document->createElement($key); - - foreach ($value as $elementKey => $elementValue) - { - if (is_string($elementKey) && !is_numeric($elementKey)) - { - $keyNode->appendChild(self::createDOMElement($elementValue, $elementKey, $document)); - } - else - { - $element->appendChild(self::createDOMElement($elementValue, $key, $document)); - } - } - - if ($keyNode->hasChildNodes()) - { - $element->appendChild($keyNode); - } - } - else - { - if (is_bool($value)) - { - $value = $value ? 'true' : 'false'; - } - - $element->appendChild(self::createDOMElement($value, $key, $document)); - } - } - else - { - $element->appendChild(self::createDOMElement($value, $tagName, $document)); - } - } - - return $element; - } - - /** - * @param DOMNode $domNode - * @return array - */ - private static function createArray(DOMNode $domNode) - { - $array = array(); - - for ($i = 0; $i < $domNode->childNodes->length; $i++) - { - $item = $domNode->childNodes->item($i); - - if ($item->nodeType === XML_ELEMENT_NODE) - { - $arrayElement = array(); - - for ($attributeIndex = 0; !is_null($attribute = $item->attributes->item($attributeIndex)); $attributeIndex++) - { - if ($attribute->nodeType === XML_ATTRIBUTE_NODE) - { - $arrayElement[self::ATTRIBUTES][$attribute->nodeName] = $attribute->nodeValue; - } - } - - $children = self::createArray($item); - - if (is_array($children)) - { - $arrayElement = array_merge($arrayElement, $children); - } - else - { - $arrayElement[self::CONTENT] = $children; - } - - $array[$item->nodeName][] = $arrayElement; - } - elseif ($item->nodeType === XML_CDATA_SECTION_NODE || ($item->nodeType === XML_TEXT_NODE && trim($item->nodeValue) !== '')) - { - return $item->nodeValue; - } - } - - return $array; - } -} diff --git a/3rdparty/aws-sdk/lib/requestcore/LICENSE b/3rdparty/aws-sdk/lib/requestcore/LICENSE deleted file mode 100755 index 49b38bd620ac6d804660351a60b6e37e80a691ac..0000000000000000000000000000000000000000 --- a/3rdparty/aws-sdk/lib/requestcore/LICENSE +++ /dev/null @@ -1,25 +0,0 @@ -Copyright (c) 2006-2010 Ryan Parman, Foleeo Inc., and contributors. All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, are -permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list of - conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this list - of conditions and the following disclaimer in the documentation and/or other materials - provided with the distribution. - - * Neither the name of Ryan Parman, Foleeo Inc. nor the names of its contributors may be used to - endorse or promote products derived from this software without specific prior written - permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS -OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY -AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS -AND CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. diff --git a/3rdparty/aws-sdk/lib/requestcore/README.md b/3rdparty/aws-sdk/lib/requestcore/README.md deleted file mode 100755 index 373ea4dccadd39c3ad0dd4e08a67ab7f4848977b..0000000000000000000000000000000000000000 --- a/3rdparty/aws-sdk/lib/requestcore/README.md +++ /dev/null @@ -1,15 +0,0 @@ -# RequestCore - -RequestCore is a lightweight cURL-based HTTP request/response class that leverages MultiCurl for parallel requests. - -### PEAR HTTP_Request? - -RequestCore was written as a replacement for [PEAR HTTP_Request](http://pear.php.net/http_request/). While PEAR HTTP_Request is full-featured and heavy, RequestCore features only the essentials and is very lightweight. It also leverages the batch request support in cURL's `curl_multi_exec()` to enable multi-threaded requests that fire in parallel. - -### Reference and Download - -You can find the class reference at . You can get the code from . - -### License and Copyright - -This code is Copyright (c) 2008-2010, Ryan Parman. However, I'm licensing this code for others to use under the [Simplified BSD license](http://www.opensource.org/licenses/bsd-license.php). diff --git a/3rdparty/aws-sdk/lib/requestcore/cacert.pem b/3rdparty/aws-sdk/lib/requestcore/cacert.pem deleted file mode 100755 index 80bff62fd2729fe315c2df39985f3752cee17b3b..0000000000000000000000000000000000000000 --- a/3rdparty/aws-sdk/lib/requestcore/cacert.pem +++ /dev/null @@ -1,3390 +0,0 @@ -## -## ca-bundle.crt -- Bundle of CA Root Certificates -## -## Certificate data from Mozilla as of: Wed Jan 18 00:04:16 2012 -## -## This is a bundle of X.509 certificates of public Certificate Authorities -## (CA). These were automatically extracted from Mozilla's root certificates -## file (certdata.txt). This file can be found in the mozilla source tree: -## http://mxr.mozilla.org/mozilla/source/security/nss/lib/ckfw/builtins/certdata.txt?raw=1 -## -## It contains the certificates in PEM format and therefore -## can be directly used with curl / libcurl / php_curl, or with -## an Apache+mod_ssl webserver for SSL client authentication. -## Just configure this file as the SSLCACertificateFile. -## - -# ***** BEGIN LICENSE BLOCK ***** -# Version: MPL 1.1/GPL 2.0/LGPL 2.1 -# -# The contents of this file are subject to the Mozilla Public License Version -# 1.1 (the "License"); you may not use this file except in compliance with -# the License. You may obtain a copy of the License at -# http://www.mozilla.org/MPL/ -# -# Software distributed under the License is distributed on an "AS IS" basis, -# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License -# for the specific language governing rights and limitations under the -# License. -# -# The Original Code is the Netscape security libraries. -# -# The Initial Developer of the Original Code is -# Netscape Communications Corporation. -# Portions created by the Initial Developer are Copyright (C) 1994-2000 -# the Initial Developer. All Rights Reserved. -# -# Contributor(s): -# -# Alternatively, the contents of this file may be used under the terms of -# either the GNU General Public License Version 2 or later (the "GPL"), or -# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), -# in which case the provisions of the GPL or the LGPL are applicable instead -# of those above. If you wish to allow use of your version of this file only -# under the terms of either the GPL or the LGPL, and not to allow others to -# use your version of this file under the terms of the MPL, indicate your -# decision by deleting the provisions above and replace them with the notice -# and other provisions required by the GPL or the LGPL. If you do not delete -# the provisions above, a recipient may use your version of this file under -# the terms of any one of the MPL, the GPL or the LGPL. -# -# ***** END LICENSE BLOCK ***** -# @(#) $RCSfile: certdata.txt,v $ $Revision: 1.81 $ $Date: 2012/01/17 22:02:37 $ - -GTE CyberTrust Global Root -========================== ------BEGIN CERTIFICATE----- -MIICWjCCAcMCAgGlMA0GCSqGSIb3DQEBBAUAMHUxCzAJBgNVBAYTAlVTMRgwFgYDVQQKEw9HVEUg -Q29ycG9yYXRpb24xJzAlBgNVBAsTHkdURSBDeWJlclRydXN0IFNvbHV0aW9ucywgSW5jLjEjMCEG -A1UEAxMaR1RFIEN5YmVyVHJ1c3QgR2xvYmFsIFJvb3QwHhcNOTgwODEzMDAyOTAwWhcNMTgwODEz -MjM1OTAwWjB1MQswCQYDVQQGEwJVUzEYMBYGA1UEChMPR1RFIENvcnBvcmF0aW9uMScwJQYDVQQL -Ex5HVEUgQ3liZXJUcnVzdCBTb2x1dGlvbnMsIEluYy4xIzAhBgNVBAMTGkdURSBDeWJlclRydXN0 -IEdsb2JhbCBSb290MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCVD6C28FCc6HrHiM3dFw4u -sJTQGz0O9pTAipTHBsiQl8i4ZBp6fmw8U+E3KHNgf7KXUwefU/ltWJTSr41tiGeA5u2ylc9yMcql -HHK6XALnZELn+aks1joNrI1CqiQBOeacPwGFVw1Yh0X404Wqk2kmhXBIgD8SFcd5tB8FLztimQID -AQABMA0GCSqGSIb3DQEBBAUAA4GBAG3rGwnpXtlR22ciYaQqPEh346B8pt5zohQDhT37qw4wxYMW -M4ETCJ57NE7fQMh017l93PR2VX2bY1QY6fDq81yx2YtCHrnAlU66+tXifPVoYb+O7AWXX1uw16OF -NMQkpw0PlZPvy5TYnh+dXIVtx6quTx8itc2VrbqnzPmrC3p/ ------END CERTIFICATE----- - -Thawte Server CA -================ ------BEGIN CERTIFICATE----- -MIIDEzCCAnygAwIBAgIBATANBgkqhkiG9w0BAQQFADCBxDELMAkGA1UEBhMCWkExFTATBgNVBAgT -DFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJQ2FwZSBUb3duMR0wGwYDVQQKExRUaGF3dGUgQ29uc3Vs -dGluZyBjYzEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjEZMBcGA1UE -AxMQVGhhd3RlIFNlcnZlciBDQTEmMCQGCSqGSIb3DQEJARYXc2VydmVyLWNlcnRzQHRoYXd0ZS5j -b20wHhcNOTYwODAxMDAwMDAwWhcNMjAxMjMxMjM1OTU5WjCBxDELMAkGA1UEBhMCWkExFTATBgNV -BAgTDFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJQ2FwZSBUb3duMR0wGwYDVQQKExRUaGF3dGUgQ29u -c3VsdGluZyBjYzEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjEZMBcG -A1UEAxMQVGhhd3RlIFNlcnZlciBDQTEmMCQGCSqGSIb3DQEJARYXc2VydmVyLWNlcnRzQHRoYXd0 -ZS5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBANOkUG7I/1Zr5s9dtuoMaHVHoqrC2oQl -/Kj0R1HahbUgdJSGHg91yekIYfUGbTBuFRkC6VLAYttNmZ7iagxEOM3+vuNkCXDF/rFrKbYvScg7 -1CcEJRCXL+eQbcAoQpnXTEPew/UhbVSfXcNY4cDk2VuwuNy0e982OsK1ZiIS1ocNAgMBAAGjEzAR -MA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEEBQADgYEAB/pMaVz7lcxG7oWDTSEwjsrZqG9J -GubaUeNgcGyEYRGhGshIPllDfU+VPaGLtwtimHp1it2ITk6eQNuozDJ0uW8NxuOzRAvZim+aKZuZ -GCg70eNAKJpaPNW15yAbi8qkq43pUdniTCxZqdq5snUb9kLy78fyGPmJvKP/iiMucEc= ------END CERTIFICATE----- - -Thawte Premium Server CA -======================== ------BEGIN CERTIFICATE----- -MIIDJzCCApCgAwIBAgIBATANBgkqhkiG9w0BAQQFADCBzjELMAkGA1UEBhMCWkExFTATBgNVBAgT -DFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJQ2FwZSBUb3duMR0wGwYDVQQKExRUaGF3dGUgQ29uc3Vs -dGluZyBjYzEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjEhMB8GA1UE -AxMYVGhhd3RlIFByZW1pdW0gU2VydmVyIENBMSgwJgYJKoZIhvcNAQkBFhlwcmVtaXVtLXNlcnZl -ckB0aGF3dGUuY29tMB4XDTk2MDgwMTAwMDAwMFoXDTIwMTIzMTIzNTk1OVowgc4xCzAJBgNVBAYT -AlpBMRUwEwYDVQQIEwxXZXN0ZXJuIENhcGUxEjAQBgNVBAcTCUNhcGUgVG93bjEdMBsGA1UEChMU -VGhhd3RlIENvbnN1bHRpbmcgY2MxKDAmBgNVBAsTH0NlcnRpZmljYXRpb24gU2VydmljZXMgRGl2 -aXNpb24xITAfBgNVBAMTGFRoYXd0ZSBQcmVtaXVtIFNlcnZlciBDQTEoMCYGCSqGSIb3DQEJARYZ -cHJlbWl1bS1zZXJ2ZXJAdGhhd3RlLmNvbTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA0jY2 -aovXwlue2oFBYo847kkEVdbQ7xwblRZH7xhINTpS9CtqBo87L+pW46+GjZ4X9560ZXUCTe/LCaIh -Udib0GfQug2SBhRz1JPLlyoAnFxODLz6FVL88kRu2hFKbgifLy3j+ao6hnO2RlNYyIkFvYMRuHM/ -qgeN9EJN50CdHDcCAwEAAaMTMBEwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQQFAAOBgQAm -SCwWwlj66BZ0DKqqX1Q/8tfJeGBeXm43YyJ3Nn6yF8Q0ufUIhfzJATj/Tb7yFkJD57taRvvBxhEf -8UqwKEbJw8RCfbz6q1lu1bdRiBHjpIUZa4JMpAwSremkrj/xw0llmozFyD4lt5SZu5IycQfwhl7t -UCemDaYj+bvLpgcUQg== ------END CERTIFICATE----- - -Equifax Secure CA -================= ------BEGIN CERTIFICATE----- -MIIDIDCCAomgAwIBAgIENd70zzANBgkqhkiG9w0BAQUFADBOMQswCQYDVQQGEwJVUzEQMA4GA1UE -ChMHRXF1aWZheDEtMCsGA1UECxMkRXF1aWZheCBTZWN1cmUgQ2VydGlmaWNhdGUgQXV0aG9yaXR5 -MB4XDTk4MDgyMjE2NDE1MVoXDTE4MDgyMjE2NDE1MVowTjELMAkGA1UEBhMCVVMxEDAOBgNVBAoT -B0VxdWlmYXgxLTArBgNVBAsTJEVxdWlmYXggU2VjdXJlIENlcnRpZmljYXRlIEF1dGhvcml0eTCB -nzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAwV2xWGcIYu6gmi0fCG2RFGiYCh7+2gRvE4RiIcPR -fM6fBeC4AfBONOziipUEZKzxa1NfBbPLZ4C/QgKO/t0BCezhABRP/PvwDN1Dulsr4R+AcJkVV5MW -8Q+XarfCaCMczE1ZMKxRHjuvK9buY0V7xdlfUNLjUA86iOe/FP3gx7kCAwEAAaOCAQkwggEFMHAG -A1UdHwRpMGcwZaBjoGGkXzBdMQswCQYDVQQGEwJVUzEQMA4GA1UEChMHRXF1aWZheDEtMCsGA1UE -CxMkRXF1aWZheCBTZWN1cmUgQ2VydGlmaWNhdGUgQXV0aG9yaXR5MQ0wCwYDVQQDEwRDUkwxMBoG -A1UdEAQTMBGBDzIwMTgwODIyMTY0MTUxWjALBgNVHQ8EBAMCAQYwHwYDVR0jBBgwFoAUSOZo+SvS -spXXR9gjIBBPM5iQn9QwHQYDVR0OBBYEFEjmaPkr0rKV10fYIyAQTzOYkJ/UMAwGA1UdEwQFMAMB -Af8wGgYJKoZIhvZ9B0EABA0wCxsFVjMuMGMDAgbAMA0GCSqGSIb3DQEBBQUAA4GBAFjOKer89961 -zgK5F7WF0bnj4JXMJTENAKaSbn+2kmOeUJXRmm/kEd5jhW6Y7qj/WsjTVbJmcVfewCHrPSqnI0kB -BIZCe/zuf6IWUrVnZ9NA2zsmWLIodz2uFHdh1voqZiegDfqnc1zqcPGUIWVEX/r87yloqaKHee95 -70+sB3c4 ------END CERTIFICATE----- - -Digital Signature Trust Co. Global CA 1 -======================================= ------BEGIN CERTIFICATE----- -MIIDKTCCApKgAwIBAgIENnAVljANBgkqhkiG9w0BAQUFADBGMQswCQYDVQQGEwJVUzEkMCIGA1UE -ChMbRGlnaXRhbCBTaWduYXR1cmUgVHJ1c3QgQ28uMREwDwYDVQQLEwhEU1RDQSBFMTAeFw05ODEy -MTAxODEwMjNaFw0xODEyMTAxODQwMjNaMEYxCzAJBgNVBAYTAlVTMSQwIgYDVQQKExtEaWdpdGFs -IFNpZ25hdHVyZSBUcnVzdCBDby4xETAPBgNVBAsTCERTVENBIEUxMIGdMA0GCSqGSIb3DQEBAQUA -A4GLADCBhwKBgQCgbIGpzzQeJN3+hijM3oMv+V7UQtLodGBmE5gGHKlREmlvMVW5SXIACH7TpWJE -NySZj9mDSI+ZbZUTu0M7LklOiDfBu1h//uG9+LthzfNHwJmm8fOR6Hh8AMthyUQncWlVSn5JTe2i -o74CTADKAqjuAQIxZA9SLRN0dja1erQtcQIBA6OCASQwggEgMBEGCWCGSAGG+EIBAQQEAwIABzBo -BgNVHR8EYTBfMF2gW6BZpFcwVTELMAkGA1UEBhMCVVMxJDAiBgNVBAoTG0RpZ2l0YWwgU2lnbmF0 -dXJlIFRydXN0IENvLjERMA8GA1UECxMIRFNUQ0EgRTExDTALBgNVBAMTBENSTDEwKwYDVR0QBCQw -IoAPMTk5ODEyMTAxODEwMjNagQ8yMDE4MTIxMDE4MTAyM1owCwYDVR0PBAQDAgEGMB8GA1UdIwQY -MBaAFGp5fpFpRhgTCgJ3pVlbYJglDqL4MB0GA1UdDgQWBBRqeX6RaUYYEwoCd6VZW2CYJQ6i+DAM -BgNVHRMEBTADAQH/MBkGCSqGSIb2fQdBAAQMMAobBFY0LjADAgSQMA0GCSqGSIb3DQEBBQUAA4GB -ACIS2Hod3IEGtgllsofIH160L+nEHvI8wbsEkBFKg05+k7lNQseSJqBcNJo4cvj9axY+IO6CizEq -kzaFI4iKPANo08kJD038bKTaKHKTDomAsH3+gG9lbRgzl4vCa4nuYD3Im+9/KzJic5PLPON74nZ4 -RbyhkwS7hp86W0N6w4pl ------END CERTIFICATE----- - -Digital Signature Trust Co. Global CA 3 -======================================= ------BEGIN CERTIFICATE----- -MIIDKTCCApKgAwIBAgIENm7TzjANBgkqhkiG9w0BAQUFADBGMQswCQYDVQQGEwJVUzEkMCIGA1UE -ChMbRGlnaXRhbCBTaWduYXR1cmUgVHJ1c3QgQ28uMREwDwYDVQQLEwhEU1RDQSBFMjAeFw05ODEy -MDkxOTE3MjZaFw0xODEyMDkxOTQ3MjZaMEYxCzAJBgNVBAYTAlVTMSQwIgYDVQQKExtEaWdpdGFs -IFNpZ25hdHVyZSBUcnVzdCBDby4xETAPBgNVBAsTCERTVENBIEUyMIGdMA0GCSqGSIb3DQEBAQUA -A4GLADCBhwKBgQC/k48Xku8zExjrEH9OFr//Bo8qhbxe+SSmJIi2A7fBw18DW9Fvrn5C6mYjuGOD -VvsoLeE4i7TuqAHhzhy2iCoiRoX7n6dwqUcUP87eZfCocfdPJmyMvMa1795JJ/9IKn3oTQPMx7JS -xhcxEzu1TdvIxPbDDyQq2gyd55FbgM2UnQIBA6OCASQwggEgMBEGCWCGSAGG+EIBAQQEAwIABzBo -BgNVHR8EYTBfMF2gW6BZpFcwVTELMAkGA1UEBhMCVVMxJDAiBgNVBAoTG0RpZ2l0YWwgU2lnbmF0 -dXJlIFRydXN0IENvLjERMA8GA1UECxMIRFNUQ0EgRTIxDTALBgNVBAMTBENSTDEwKwYDVR0QBCQw -IoAPMTk5ODEyMDkxOTE3MjZagQ8yMDE4MTIwOTE5MTcyNlowCwYDVR0PBAQDAgEGMB8GA1UdIwQY -MBaAFB6CTShlgDzJQW6sNS5ay97u+DlbMB0GA1UdDgQWBBQegk0oZYA8yUFurDUuWsve7vg5WzAM -BgNVHRMEBTADAQH/MBkGCSqGSIb2fQdBAAQMMAobBFY0LjADAgSQMA0GCSqGSIb3DQEBBQUAA4GB -AEeNg61i8tuwnkUiBbmi1gMOOHLnnvx75pO2mqWilMg0HZHRxdf0CiUPPXiBng+xZ8SQTGPdXqfi -up/1902lMXucKS1M/mQ+7LZT/uqb7YLbdHVLB3luHtgZg3Pe9T7Qtd7nS2h9Qy4qIOF+oHhEngj1 -mPnHfxsb1gYgAlihw6ID ------END CERTIFICATE----- - -Verisign Class 3 Public Primary Certification Authority -======================================================= ------BEGIN CERTIFICATE----- -MIICPDCCAaUCEHC65B0Q2Sk0tjjKewPMur8wDQYJKoZIhvcNAQECBQAwXzELMAkGA1UEBhMCVVMx -FzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAzIFB1YmxpYyBQcmltYXJ5 -IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTk2MDEyOTAwMDAwMFoXDTI4MDgwMTIzNTk1OVow -XzELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAz -IFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGfMA0GCSqGSIb3DQEBAQUA -A4GNADCBiQKBgQDJXFme8huKARS0EN8EQNvjV69qRUCPhAwL0TPZ2RHP7gJYHyX3KqhEBarsAx94 -f56TuZoAqiN91qyFomNFx3InzPRMxnVx0jnvT0Lwdd8KkMaOIG+YD/isI19wKTakyYbnsZogy1Ol -hec9vn2a/iRFM9x2Fe0PonFkTGUugWhFpwIDAQABMA0GCSqGSIb3DQEBAgUAA4GBALtMEivPLCYA -TxQT3ab7/AoRhIzzKBxnki98tsX63/Dolbwdj2wsqFHMc9ikwFPwTtYmwHYBV4GSXiHx0bH/59Ah -WM1pF+NEHJwZRDmJXNycAA9WjQKZ7aKQRUzkuxCkPfAyAw7xzvjoyVGM5mKf5p/AfbdynMk2Omuf -Tqj/ZA1k ------END CERTIFICATE----- - -Verisign Class 3 Public Primary Certification Authority - G2 -============================================================ ------BEGIN CERTIFICATE----- -MIIDAjCCAmsCEH3Z/gfPqB63EHln+6eJNMYwDQYJKoZIhvcNAQEFBQAwgcExCzAJBgNVBAYTAlVT -MRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE8MDoGA1UECxMzQ2xhc3MgMyBQdWJsaWMgUHJpbWFy -eSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEcyMTowOAYDVQQLEzEoYykgMTk5OCBWZXJpU2ln -biwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MR8wHQYDVQQLExZWZXJpU2lnbiBUcnVz -dCBOZXR3b3JrMB4XDTk4MDUxODAwMDAwMFoXDTI4MDgwMTIzNTk1OVowgcExCzAJBgNVBAYTAlVT -MRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE8MDoGA1UECxMzQ2xhc3MgMyBQdWJsaWMgUHJpbWFy -eSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEcyMTowOAYDVQQLEzEoYykgMTk5OCBWZXJpU2ln -biwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MR8wHQYDVQQLExZWZXJpU2lnbiBUcnVz -dCBOZXR3b3JrMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDMXtERXVxp0KvTuWpMmR9ZmDCO -FoUgRm1HP9SFIIThbbP4pO0M8RcPO/mn+SXXwc+EY/J8Y8+iR/LGWzOOZEAEaMGAuWQcRXfH2G71 -lSk8UOg013gfqLptQ5GVj0VXXn7F+8qkBOvqlzdUMG+7AUcyM83cV5tkaWH4mx0ciU9cZwIDAQAB -MA0GCSqGSIb3DQEBBQUAA4GBAFFNzb5cy5gZnBWyATl4Lk0PZ3BwmcYQWpSkU01UbSuvDV1Ai2TT -1+7eVmGSX6bEHRBhNtMsJzzoKQm5EWR0zLVznxxIqbxhAe7iF6YM40AIOw7n60RzKprxaZLvcRTD -Oaxxp5EJb+RxBrO6WVcmeQD2+A2iMzAo1KpYoJ2daZH9 ------END CERTIFICATE----- - -GlobalSign Root CA -================== ------BEGIN CERTIFICATE----- -MIIDdTCCAl2gAwIBAgILBAAAAAABFUtaw5QwDQYJKoZIhvcNAQEFBQAwVzELMAkGA1UEBhMCQkUx -GTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExEDAOBgNVBAsTB1Jvb3QgQ0ExGzAZBgNVBAMTEkds -b2JhbFNpZ24gUm9vdCBDQTAeFw05ODA5MDExMjAwMDBaFw0yODAxMjgxMjAwMDBaMFcxCzAJBgNV -BAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMRAwDgYDVQQLEwdSb290IENBMRswGQYD -VQQDExJHbG9iYWxTaWduIFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDa -DuaZjc6j40+Kfvvxi4Mla+pIH/EqsLmVEQS98GPR4mdmzxzdzxtIK+6NiY6arymAZavpxy0Sy6sc -THAHoT0KMM0VjU/43dSMUBUc71DuxC73/OlS8pF94G3VNTCOXkNz8kHp1Wrjsok6Vjk4bwY8iGlb -Kk3Fp1S4bInMm/k8yuX9ifUSPJJ4ltbcdG6TRGHRjcdGsnUOhugZitVtbNV4FpWi6cgKOOvyJBNP -c1STE4U6G7weNLWLBYy5d4ux2x8gkasJU26Qzns3dLlwR5EiUWMWea6xrkEmCMgZK9FGqkjWZCrX -gzT/LCrBbBlDSgeF59N89iFo7+ryUp9/k5DPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNV -HRMBAf8EBTADAQH/MB0GA1UdDgQWBBRge2YaRQ2XyolQL30EzTSo//z9SzANBgkqhkiG9w0BAQUF -AAOCAQEA1nPnfE920I2/7LqivjTFKDK1fPxsnCwrvQmeU79rXqoRSLblCKOzyj1hTdNGCbM+w6Dj -Y1Ub8rrvrTnhQ7k4o+YviiY776BQVvnGCv04zcQLcFGUl5gE38NflNUVyRRBnMRddWQVDf9VMOyG -j/8N7yy5Y0b2qvzfvGn9LhJIZJrglfCm7ymPAbEVtQwdpf5pLGkkeB6zpxxxYu7KyJesF12KwvhH -hm4qxFYxldBniYUr+WymXUadDKqC5JlR3XC321Y9YeRq4VzW9v493kHMB65jUr9TU/Qr6cf9tveC -X4XSQRjbgbMEHMUfpIBvFSDJ3gyICh3WZlXi/EjJKSZp4A== ------END CERTIFICATE----- - -GlobalSign Root CA - R2 -======================= ------BEGIN CERTIFICATE----- -MIIDujCCAqKgAwIBAgILBAAAAAABD4Ym5g0wDQYJKoZIhvcNAQEFBQAwTDEgMB4GA1UECxMXR2xv -YmFsU2lnbiBSb290IENBIC0gUjIxEzARBgNVBAoTCkdsb2JhbFNpZ24xEzARBgNVBAMTCkdsb2Jh -bFNpZ24wHhcNMDYxMjE1MDgwMDAwWhcNMjExMjE1MDgwMDAwWjBMMSAwHgYDVQQLExdHbG9iYWxT -aWduIFJvb3QgQ0EgLSBSMjETMBEGA1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2ln -bjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKbPJA6+Lm8omUVCxKs+IVSbC9N/hHD6 -ErPLv4dfxn+G07IwXNb9rfF73OX4YJYJkhD10FPe+3t+c4isUoh7SqbKSaZeqKeMWhG8eoLrvozp -s6yWJQeXSpkqBy+0Hne/ig+1AnwblrjFuTosvNYSuetZfeLQBoZfXklqtTleiDTsvHgMCJiEbKjN -S7SgfQx5TfC4LcshytVsW33hoCmEofnTlEnLJGKRILzdC9XZzPnqJworc5HGnRusyMvo4KD0L5CL -TfuwNhv2GXqF4G3yYROIXJ/gkwpRl4pazq+r1feqCapgvdzZX99yqWATXgAByUr6P6TqBwMhAo6C -ygPCm48CAwEAAaOBnDCBmTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4E -FgQUm+IHV2ccHsBqBt5ZtJot39wZhi4wNgYDVR0fBC8wLTAroCmgJ4YlaHR0cDovL2NybC5nbG9i -YWxzaWduLm5ldC9yb290LXIyLmNybDAfBgNVHSMEGDAWgBSb4gdXZxwewGoG3lm0mi3f3BmGLjAN -BgkqhkiG9w0BAQUFAAOCAQEAmYFThxxol4aR7OBKuEQLq4GsJ0/WwbgcQ3izDJr86iw8bmEbTUsp -9Z8FHSbBuOmDAGJFtqkIk7mpM0sYmsL4h4hO291xNBrBVNpGP+DTKqttVCL1OmLNIG+6KYnX3ZHu -01yiPqFbQfXf5WRDLenVOavSot+3i9DAgBkcRcAtjOj4LaR0VknFBbVPFd5uRHg5h6h+u/N5GJG7 -9G+dwfCMNYxdAfvDbbnvRG15RjF+Cv6pgsH/76tuIMRQyV+dTZsXjAzlAcmgQWpzU/qlULRuJQ/7 -TBj0/VLZjmmx6BEP3ojY+x1J96relc8geMJgEtslQIxq/H5COEBkEveegeGTLg== ------END CERTIFICATE----- - -ValiCert Class 1 VA -=================== ------BEGIN CERTIFICATE----- -MIIC5zCCAlACAQEwDQYJKoZIhvcNAQEFBQAwgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0IFZhbGlkYXRp -b24gTmV0d29yazEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAzBgNVBAsTLFZhbGlDZXJ0IENs -YXNzIDEgUG9saWN5IFZhbGlkYXRpb24gQXV0aG9yaXR5MSEwHwYDVQQDExhodHRwOi8vd3d3LnZh -bGljZXJ0LmNvbS8xIDAeBgkqhkiG9w0BCQEWEWluZm9AdmFsaWNlcnQuY29tMB4XDTk5MDYyNTIy -MjM0OFoXDTE5MDYyNTIyMjM0OFowgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0IFZhbGlkYXRpb24gTmV0 -d29yazEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAzBgNVBAsTLFZhbGlDZXJ0IENsYXNzIDEg -UG9saWN5IFZhbGlkYXRpb24gQXV0aG9yaXR5MSEwHwYDVQQDExhodHRwOi8vd3d3LnZhbGljZXJ0 -LmNvbS8xIDAeBgkqhkiG9w0BCQEWEWluZm9AdmFsaWNlcnQuY29tMIGfMA0GCSqGSIb3DQEBAQUA -A4GNADCBiQKBgQDYWYJ6ibiWuqYvaG9YLqdUHAZu9OqNSLwxlBfw8068srg1knaw0KWlAdcAAxIi -GQj4/xEjm84H9b9pGib+TunRf50sQB1ZaG6m+FiwnRqP0z/x3BkGgagO4DrdyFNFCQbmD3DD+kCm -DuJWBQ8YTfwggtFzVXSNdnKgHZ0dwN0/cQIDAQABMA0GCSqGSIb3DQEBBQUAA4GBAFBoPUn0LBwG -lN+VYH+Wexf+T3GtZMjdd9LvWVXoP+iOBSoh8gfStadS/pyxtuJbdxdA6nLWI8sogTLDAHkY7FkX -icnGah5xyf23dKUlRWnFSKsZ4UWKJWsZ7uW7EvV/96aNUcPwnXS3qT6gpf+2SQMT2iLM7XGCK5nP -Orf1LXLI ------END CERTIFICATE----- - -ValiCert Class 2 VA -=================== ------BEGIN CERTIFICATE----- -MIIC5zCCAlACAQEwDQYJKoZIhvcNAQEFBQAwgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0IFZhbGlkYXRp -b24gTmV0d29yazEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAzBgNVBAsTLFZhbGlDZXJ0IENs -YXNzIDIgUG9saWN5IFZhbGlkYXRpb24gQXV0aG9yaXR5MSEwHwYDVQQDExhodHRwOi8vd3d3LnZh -bGljZXJ0LmNvbS8xIDAeBgkqhkiG9w0BCQEWEWluZm9AdmFsaWNlcnQuY29tMB4XDTk5MDYyNjAw -MTk1NFoXDTE5MDYyNjAwMTk1NFowgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0IFZhbGlkYXRpb24gTmV0 -d29yazEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAzBgNVBAsTLFZhbGlDZXJ0IENsYXNzIDIg -UG9saWN5IFZhbGlkYXRpb24gQXV0aG9yaXR5MSEwHwYDVQQDExhodHRwOi8vd3d3LnZhbGljZXJ0 -LmNvbS8xIDAeBgkqhkiG9w0BCQEWEWluZm9AdmFsaWNlcnQuY29tMIGfMA0GCSqGSIb3DQEBAQUA -A4GNADCBiQKBgQDOOnHK5avIWZJV16vYdA757tn2VUdZZUcOBVXc65g2PFxTXdMwzzjsvUGJ7SVC -CSRrCl6zfN1SLUzm1NZ9WlmpZdRJEy0kTRxQb7XBhVQ7/nHk01xC+YDgkRoKWzk2Z/M/VXwbP7Rf -ZHM047QSv4dk+NoS/zcnwbNDu+97bi5p9wIDAQABMA0GCSqGSIb3DQEBBQUAA4GBADt/UG9vUJSZ -SWI4OB9L+KXIPqeCgfYrx+jFzug6EILLGACOTb2oWH+heQC1u+mNr0HZDzTuIYEZoDJJKPTEjlbV -UjP9UNV+mWwD5MlM/Mtsq2azSiGM5bUMMj4QssxsodyamEwCW/POuZ6lcg5Ktz885hZo+L7tdEy8 -W9ViH0Pd ------END CERTIFICATE----- - -RSA Root Certificate 1 -====================== ------BEGIN CERTIFICATE----- -MIIC5zCCAlACAQEwDQYJKoZIhvcNAQEFBQAwgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0IFZhbGlkYXRp -b24gTmV0d29yazEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAzBgNVBAsTLFZhbGlDZXJ0IENs -YXNzIDMgUG9saWN5IFZhbGlkYXRpb24gQXV0aG9yaXR5MSEwHwYDVQQDExhodHRwOi8vd3d3LnZh -bGljZXJ0LmNvbS8xIDAeBgkqhkiG9w0BCQEWEWluZm9AdmFsaWNlcnQuY29tMB4XDTk5MDYyNjAw -MjIzM1oXDTE5MDYyNjAwMjIzM1owgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0IFZhbGlkYXRpb24gTmV0 -d29yazEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAzBgNVBAsTLFZhbGlDZXJ0IENsYXNzIDMg -UG9saWN5IFZhbGlkYXRpb24gQXV0aG9yaXR5MSEwHwYDVQQDExhodHRwOi8vd3d3LnZhbGljZXJ0 -LmNvbS8xIDAeBgkqhkiG9w0BCQEWEWluZm9AdmFsaWNlcnQuY29tMIGfMA0GCSqGSIb3DQEBAQUA -A4GNADCBiQKBgQDjmFGWHOjVsQaBalfDcnWTq8+epvzzFlLWLU2fNUSoLgRNB0mKOCn1dzfnt6td -3zZxFJmP3MKS8edgkpfs2Ejcv8ECIMYkpChMMFp2bbFc893enhBxoYjHW5tBbcqwuI4V7q0zK89H -BFx1cQqYJJgpp0lZpd34t0NiYfPT4tBVPwIDAQABMA0GCSqGSIb3DQEBBQUAA4GBAFa7AliEZwgs -3x/be0kz9dNnnfS0ChCzycUs4pJqcXgn8nCDQtM+z6lU9PHYkhaM0QTLS6vJn0WuPIqpsHEzXcjF -V9+vqDWzf4mH6eglkrh/hXqu1rweN1gqZ8mRzyqBPu3GOd/APhmcGcwTTYJBtYze4D1gCCAPRX5r -on+jjBXu ------END CERTIFICATE----- - -Verisign Class 3 Public Primary Certification Authority - G3 -============================================================ ------BEGIN CERTIFICATE----- -MIIEGjCCAwICEQCbfgZJoz5iudXukEhxKe9XMA0GCSqGSIb3DQEBBQUAMIHKMQswCQYDVQQGEwJV -UzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0IE5ldHdv -cmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNl -IG9ubHkxRTBDBgNVBAMTPFZlcmlTaWduIENsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNh -dGlvbiBBdXRob3JpdHkgLSBHMzAeFw05OTEwMDEwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMIHKMQsw -CQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRy -dXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhv -cml6ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlTaWduIENsYXNzIDMgUHVibGljIFByaW1hcnkg -Q2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC -ggEBAMu6nFL8eB8aHm8bN3O9+MlrlBIwT/A2R/XQkQr1F8ilYcEWQE37imGQ5XYgwREGfassbqb1 -EUGO+i2tKmFZpGcmTNDovFJbcCAEWNF6yaRpvIMXZK0Fi7zQWM6NjPXr8EJJC52XJ2cybuGukxUc -cLwgTS8Y3pKI6GyFVxEa6X7jJhFUokWWVYPKMIno3Nij7SqAP395ZVc+FSBmCC+Vk7+qRy+oRpfw -EuL+wgorUeZ25rdGt+INpsyow0xZVYnm6FNcHOqd8GIWC6fJXwzw3sJ2zq/3avL6QaaiMxTJ5Xpj -055iN9WFZZ4O5lMkdBteHRJTW8cs54NJOxWuimi5V5cCAwEAATANBgkqhkiG9w0BAQUFAAOCAQEA -ERSWwauSCPc/L8my/uRan2Te2yFPhpk0djZX3dAVL8WtfxUfN2JzPtTnX84XA9s1+ivbrmAJXx5f -j267Cz3qWhMeDGBvtcC1IyIuBwvLqXTLR7sdwdela8wv0kL9Sd2nic9TutoAWii/gt/4uhMdUIaC -/Y4wjylGsB49Ndo4YhYYSq3mtlFs3q9i6wHQHiT+eo8SGhJouPtmmRQURVyu565pF4ErWjfJXir0 -xuKhXFSbplQAz/DxwceYMBo7Nhbbo27q/a2ywtrvAkcTisDxszGtTxzhT5yvDwyd93gN2PQ1VoDa -t20Xj50egWTh/sVFuq1ruQp6Tk9LhO5L8X3dEQ== ------END CERTIFICATE----- - -Verisign Class 4 Public Primary Certification Authority - G3 -============================================================ ------BEGIN CERTIFICATE----- -MIIEGjCCAwICEQDsoKeLbnVqAc/EfMwvlF7XMA0GCSqGSIb3DQEBBQUAMIHKMQswCQYDVQQGEwJV -UzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0IE5ldHdv -cmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNl -IG9ubHkxRTBDBgNVBAMTPFZlcmlTaWduIENsYXNzIDQgUHVibGljIFByaW1hcnkgQ2VydGlmaWNh -dGlvbiBBdXRob3JpdHkgLSBHMzAeFw05OTEwMDEwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMIHKMQsw -CQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRy -dXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhv -cml6ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlTaWduIENsYXNzIDQgUHVibGljIFByaW1hcnkg -Q2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC -ggEBAK3LpRFpxlmr8Y+1GQ9Wzsy1HyDkniYlS+BzZYlZ3tCD5PUPtbut8XzoIfzk6AzufEUiGXaS -tBO3IFsJ+mGuqPKljYXCKtbeZjbSmwL0qJJgfJxptI8kHtCGUvYynEFYHiK9zUVilQhu0GbdU6LM -8BDcVHOLBKFGMzNcF0C5nk3T875Vg+ixiY5afJqWIpA7iCXy0lOIAgwLePLmNxdLMEYH5IBtptiW -Lugs+BGzOA1mppvqySNb247i8xOOGlktqgLw7KSHZtzBP/XYufTsgsbSPZUd5cBPhMnZo0QoBmrX -Razwa2rvTl/4EYIeOGM0ZlDUPpNz+jDDZq3/ky2X7wMCAwEAATANBgkqhkiG9w0BAQUFAAOCAQEA -j/ola09b5KROJ1WrIhVZPMq1CtRK26vdoV9TxaBXOcLORyu+OshWv8LZJxA6sQU8wHcxuzrTBXtt -mhwwjIDLk5Mqg6sFUYICABFna/OIYUdfA5PVWw3g8dShMjWFsjrbsIKr0csKvE+MW8VLADsfKoKm -fjaF3H48ZwC15DtS4KjrXRX5xm3wrR0OhbepmnMUWluPQSjA1egtTaRezarZ7c7c2NU8Qh0XwRJd -RTjDOPP8hS6DRkiy1yBfkjaP53kPmF6Z6PDQpLv1U70qzlmwr25/bLvSHgCwIe34QWKCudiyxLtG -UPMxxY8BqHTr9Xgn2uf3ZkPznoM+IKrDNWCRzg== ------END CERTIFICATE----- - -Entrust.net Secure Server CA -============================ ------BEGIN CERTIFICATE----- -MIIE2DCCBEGgAwIBAgIEN0rSQzANBgkqhkiG9w0BAQUFADCBwzELMAkGA1UEBhMCVVMxFDASBgNV -BAoTC0VudHJ1c3QubmV0MTswOQYDVQQLEzJ3d3cuZW50cnVzdC5uZXQvQ1BTIGluY29ycC4gYnkg -cmVmLiAobGltaXRzIGxpYWIuKTElMCMGA1UECxMcKGMpIDE5OTkgRW50cnVzdC5uZXQgTGltaXRl -ZDE6MDgGA1UEAxMxRW50cnVzdC5uZXQgU2VjdXJlIFNlcnZlciBDZXJ0aWZpY2F0aW9uIEF1dGhv -cml0eTAeFw05OTA1MjUxNjA5NDBaFw0xOTA1MjUxNjM5NDBaMIHDMQswCQYDVQQGEwJVUzEUMBIG -A1UEChMLRW50cnVzdC5uZXQxOzA5BgNVBAsTMnd3dy5lbnRydXN0Lm5ldC9DUFMgaW5jb3JwLiBi -eSByZWYuIChsaW1pdHMgbGlhYi4pMSUwIwYDVQQLExwoYykgMTk5OSBFbnRydXN0Lm5ldCBMaW1p -dGVkMTowOAYDVQQDEzFFbnRydXN0Lm5ldCBTZWN1cmUgU2VydmVyIENlcnRpZmljYXRpb24gQXV0 -aG9yaXR5MIGdMA0GCSqGSIb3DQEBAQUAA4GLADCBhwKBgQDNKIM0VBuJ8w+vN5Ex/68xYMmo6LIQ -aO2f55M28Qpku0f1BBc/I0dNxScZgSYMVHINiC3ZH5oSn7yzcdOAGT9HZnuMNSjSuQrfJNqc1lB5 -gXpa0zf3wkrYKZImZNHkmGw6AIr1NJtl+O3jEP/9uElY3KDegjlrgbEWGWG5VLbmQwIBA6OCAdcw -ggHTMBEGCWCGSAGG+EIBAQQEAwIABzCCARkGA1UdHwSCARAwggEMMIHeoIHboIHYpIHVMIHSMQsw -CQYDVQQGEwJVUzEUMBIGA1UEChMLRW50cnVzdC5uZXQxOzA5BgNVBAsTMnd3dy5lbnRydXN0Lm5l -dC9DUFMgaW5jb3JwLiBieSByZWYuIChsaW1pdHMgbGlhYi4pMSUwIwYDVQQLExwoYykgMTk5OSBF -bnRydXN0Lm5ldCBMaW1pdGVkMTowOAYDVQQDEzFFbnRydXN0Lm5ldCBTZWN1cmUgU2VydmVyIENl -cnRpZmljYXRpb24gQXV0aG9yaXR5MQ0wCwYDVQQDEwRDUkwxMCmgJ6AlhiNodHRwOi8vd3d3LmVu -dHJ1c3QubmV0L0NSTC9uZXQxLmNybDArBgNVHRAEJDAigA8xOTk5MDUyNTE2MDk0MFqBDzIwMTkw -NTI1MTYwOTQwWjALBgNVHQ8EBAMCAQYwHwYDVR0jBBgwFoAU8BdiE1U9s/8KAGv7UISX8+1i0Bow -HQYDVR0OBBYEFPAXYhNVPbP/CgBr+1CEl/PtYtAaMAwGA1UdEwQFMAMBAf8wGQYJKoZIhvZ9B0EA -BAwwChsEVjQuMAMCBJAwDQYJKoZIhvcNAQEFBQADgYEAkNwwAvpkdMKnCqV8IY00F6j7Rw7/JXyN -Ewr75Ji174z4xRAN95K+8cPV1ZVqBLssziY2ZcgxxufuP+NXdYR6Ee9GTxj005i7qIcyunL2POI9 -n9cd2cNgQ4xYDiKWL2KjLB+6rQXvqzJ4h6BUcxm1XAX5Uj5tLUUL9wqT6u0G+bI= ------END CERTIFICATE----- - -Entrust.net Premium 2048 Secure Server CA -========================================= ------BEGIN CERTIFICATE----- -MIIEXDCCA0SgAwIBAgIEOGO5ZjANBgkqhkiG9w0BAQUFADCBtDEUMBIGA1UEChMLRW50cnVzdC5u -ZXQxQDA+BgNVBAsUN3d3dy5lbnRydXN0Lm5ldC9DUFNfMjA0OCBpbmNvcnAuIGJ5IHJlZi4gKGxp -bWl0cyBsaWFiLikxJTAjBgNVBAsTHChjKSAxOTk5IEVudHJ1c3QubmV0IExpbWl0ZWQxMzAxBgNV -BAMTKkVudHJ1c3QubmV0IENlcnRpZmljYXRpb24gQXV0aG9yaXR5ICgyMDQ4KTAeFw05OTEyMjQx -NzUwNTFaFw0xOTEyMjQxODIwNTFaMIG0MRQwEgYDVQQKEwtFbnRydXN0Lm5ldDFAMD4GA1UECxQ3 -d3d3LmVudHJ1c3QubmV0L0NQU18yMDQ4IGluY29ycC4gYnkgcmVmLiAobGltaXRzIGxpYWIuKTEl -MCMGA1UECxMcKGMpIDE5OTkgRW50cnVzdC5uZXQgTGltaXRlZDEzMDEGA1UEAxMqRW50cnVzdC5u -ZXQgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgKDIwNDgpMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A -MIIBCgKCAQEArU1LqRKGsuqjIAcVFmQqK0vRvwtKTY7tgHalZ7d4QMBzQshowNtTK91euHaYNZOL -Gp18EzoOH1u3Hs/lJBQesYGpjX24zGtLA/ECDNyrpUAkAH90lKGdCCmziAv1h3edVc3kw37XamSr -hRSGlVuXMlBvPci6Zgzj/L24ScF2iUkZ/cCovYmjZy/Gn7xxGWC4LeksyZB2ZnuU4q941mVTXTzW -nLLPKQP5L6RQstRIzgUyVYr9smRMDuSYB3Xbf9+5CFVghTAp+XtIpGmG4zU/HoZdenoVve8AjhUi -VBcAkCaTvA5JaJG/+EfTnZVCwQ5N328mz8MYIWJmQ3DW1cAH4QIDAQABo3QwcjARBglghkgBhvhC -AQEEBAMCAAcwHwYDVR0jBBgwFoAUVeSB0RGAvtiJuQijMfmhJAkWuXAwHQYDVR0OBBYEFFXkgdER -gL7YibkIozH5oSQJFrlwMB0GCSqGSIb2fQdBAAQQMA4bCFY1LjA6NC4wAwIEkDANBgkqhkiG9w0B -AQUFAAOCAQEAWUesIYSKF8mciVMeuoCFGsY8Tj6xnLZ8xpJdGGQC49MGCBFhfGPjK50xA3B20qMo -oPS7mmNz7W3lKtvtFKkrxjYR0CvrB4ul2p5cGZ1WEvVUKcgF7bISKo30Axv/55IQh7A6tcOdBTcS -o8f0FbnVpDkWm1M6I5HxqIKiaohowXkCIryqptau37AUX7iH0N18f3v/rxzP5tsHrV7bhZ3QKw0z -2wTR5klAEyt2+z7pnIkPFc4YsIV4IU9rTw76NmfNB/L/CNDi3tm/Kq+4h4YhPATKt5Rof8886ZjX -OP/swNlQ8C5LWK5Gb9Auw2DaclVyvUxFnmG6v4SBkgPR0ml8xQ== ------END CERTIFICATE----- - -Baltimore CyberTrust Root -========================= ------BEGIN CERTIFICATE----- -MIIDdzCCAl+gAwIBAgIEAgAAuTANBgkqhkiG9w0BAQUFADBaMQswCQYDVQQGEwJJRTESMBAGA1UE -ChMJQmFsdGltb3JlMRMwEQYDVQQLEwpDeWJlclRydXN0MSIwIAYDVQQDExlCYWx0aW1vcmUgQ3li -ZXJUcnVzdCBSb290MB4XDTAwMDUxMjE4NDYwMFoXDTI1MDUxMjIzNTkwMFowWjELMAkGA1UEBhMC -SUUxEjAQBgNVBAoTCUJhbHRpbW9yZTETMBEGA1UECxMKQ3liZXJUcnVzdDEiMCAGA1UEAxMZQmFs -dGltb3JlIEN5YmVyVHJ1c3QgUm9vdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKME -uyKrmD1X6CZymrV51Cni4eiVgLGw41uOKymaZN+hXe2wCQVt2yguzmKiYv60iNoS6zjrIZ3AQSsB -UnuId9Mcj8e6uYi1agnnc+gRQKfRzMpijS3ljwumUNKoUMMo6vWrJYeKmpYcqWe4PwzV9/lSEy/C -G9VwcPCPwBLKBsua4dnKM3p31vjsufFoREJIE9LAwqSuXmD+tqYF/LTdB1kC1FkYmGP1pWPgkAx9 -XbIGevOF6uvUA65ehD5f/xXtabz5OTZydc93Uk3zyZAsuT3lySNTPx8kmCFcB5kpvcY67Oduhjpr -l3RjM71oGDHweI12v/yejl0qhqdNkNwnGjkCAwEAAaNFMEMwHQYDVR0OBBYEFOWdWTCCR1jMrPoI -VDaGezq1BE3wMBIGA1UdEwEB/wQIMAYBAf8CAQMwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEB -BQUAA4IBAQCFDF2O5G9RaEIFoN27TyclhAO992T9Ldcw46QQF+vaKSm2eT929hkTI7gQCvlYpNRh -cL0EYWoSihfVCr3FvDB81ukMJY2GQE/szKN+OMY3EU/t3WgxjkzSswF07r51XgdIGn9w/xZchMB5 -hbgF/X++ZRGjD8ACtPhSNzkE1akxehi/oCr0Epn3o0WC4zxe9Z2etciefC7IpJ5OCBRLbf1wbWsa -Y71k5h+3zvDyny67G7fyUIhzksLi4xaNmjICq44Y3ekQEe5+NauQrz4wlHrQMz2nZQ/1/I6eYs9H -RCwBXbsdtTLSR9I4LtD+gdwyah617jzV/OeBHRnDJELqYzmp ------END CERTIFICATE----- - -Equifax Secure Global eBusiness CA -================================== ------BEGIN CERTIFICATE----- -MIICkDCCAfmgAwIBAgIBATANBgkqhkiG9w0BAQQFADBaMQswCQYDVQQGEwJVUzEcMBoGA1UEChMT -RXF1aWZheCBTZWN1cmUgSW5jLjEtMCsGA1UEAxMkRXF1aWZheCBTZWN1cmUgR2xvYmFsIGVCdXNp -bmVzcyBDQS0xMB4XDTk5MDYyMTA0MDAwMFoXDTIwMDYyMTA0MDAwMFowWjELMAkGA1UEBhMCVVMx -HDAaBgNVBAoTE0VxdWlmYXggU2VjdXJlIEluYy4xLTArBgNVBAMTJEVxdWlmYXggU2VjdXJlIEds -b2JhbCBlQnVzaW5lc3MgQ0EtMTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAuucXkAJlsTRV -PEnCUdXfp9E3j9HngXNBUmCbnaEXJnitx7HoJpQytd4zjTov2/KaelpzmKNc6fuKcxtc58O/gGzN -qfTWK8D3+ZmqY6KxRwIP1ORROhI8bIpaVIRw28HFkM9yRcuoWcDNM50/o5brhTMhHD4ePmBudpxn -hcXIw2ECAwEAAaNmMGQwEQYJYIZIAYb4QgEBBAQDAgAHMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0j -BBgwFoAUvqigdHJQa0S3ySPY+6j/s1draGwwHQYDVR0OBBYEFL6ooHRyUGtEt8kj2Puo/7NXa2hs -MA0GCSqGSIb3DQEBBAUAA4GBADDiAVGqx+pf2rnQZQ8w1j7aDRRJbpGTJxQx78T3LUX47Me/okEN -I7SS+RkAZ70Br83gcfxaz2TE4JaY0KNA4gGK7ycH8WUBikQtBmV1UsCGECAhX2xrD2yuCRyv8qIY -NMR1pHMc8Y3c7635s3a0kr/clRAevsvIO1qEYBlWlKlV ------END CERTIFICATE----- - -Equifax Secure eBusiness CA 1 -============================= ------BEGIN CERTIFICATE----- -MIICgjCCAeugAwIBAgIBBDANBgkqhkiG9w0BAQQFADBTMQswCQYDVQQGEwJVUzEcMBoGA1UEChMT -RXF1aWZheCBTZWN1cmUgSW5jLjEmMCQGA1UEAxMdRXF1aWZheCBTZWN1cmUgZUJ1c2luZXNzIENB -LTEwHhcNOTkwNjIxMDQwMDAwWhcNMjAwNjIxMDQwMDAwWjBTMQswCQYDVQQGEwJVUzEcMBoGA1UE -ChMTRXF1aWZheCBTZWN1cmUgSW5jLjEmMCQGA1UEAxMdRXF1aWZheCBTZWN1cmUgZUJ1c2luZXNz -IENBLTEwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAM4vGbwXt3fek6lfWg0XTzQaDJj0ItlZ -1MRoRvC0NcWFAyDGr0WlIVFFQesWWDYyb+JQYmT5/VGcqiTZ9J2DKocKIdMSODRsjQBuWqDZQu4a -IZX5UkxVWsUPOE9G+m34LjXWHXzr4vCwdYDIqROsvojvOm6rXyo4YgKwEnv+j6YDAgMBAAGjZjBk -MBEGCWCGSAGG+EIBAQQEAwIABzAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFEp4MlIR21kW -Nl7fwRQ2QGpHfEyhMB0GA1UdDgQWBBRKeDJSEdtZFjZe38EUNkBqR3xMoTANBgkqhkiG9w0BAQQF -AAOBgQB1W6ibAxHm6VZMzfmpTMANmvPMZWnmJXbMWbfWVMMdzZmsGd20hdXgPfxiIKeES1hl8eL5 -lSE/9dR+WB5Hh1Q+WKG1tfgq73HnvMP2sUlG4tega+VWeponmHxGYhTnyfxuAxJ5gDgdSIKN/Bf+ -KpYrtWKmpj29f5JZzVoqgrI3eQ== ------END CERTIFICATE----- - -Equifax Secure eBusiness CA 2 -============================= ------BEGIN CERTIFICATE----- -MIIDIDCCAomgAwIBAgIEN3DPtTANBgkqhkiG9w0BAQUFADBOMQswCQYDVQQGEwJVUzEXMBUGA1UE -ChMORXF1aWZheCBTZWN1cmUxJjAkBgNVBAsTHUVxdWlmYXggU2VjdXJlIGVCdXNpbmVzcyBDQS0y -MB4XDTk5MDYyMzEyMTQ0NVoXDTE5MDYyMzEyMTQ0NVowTjELMAkGA1UEBhMCVVMxFzAVBgNVBAoT -DkVxdWlmYXggU2VjdXJlMSYwJAYDVQQLEx1FcXVpZmF4IFNlY3VyZSBlQnVzaW5lc3MgQ0EtMjCB -nzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA5Dk5kx5SBhsoNviyoynF7Y6yEb3+6+e0dMKP/wXn -2Z0GvxLIPw7y1tEkshHe0XMJitSxLJgJDR5QRrKDpkWNYmi7hRsgcDKqQM2mll/EcTc/BPO3QSQ5 -BxoeLmFYoBIL5aXfxavqN3HMHMg3OrmXUqesxWoklE6ce8/AatbfIb0CAwEAAaOCAQkwggEFMHAG -A1UdHwRpMGcwZaBjoGGkXzBdMQswCQYDVQQGEwJVUzEXMBUGA1UEChMORXF1aWZheCBTZWN1cmUx -JjAkBgNVBAsTHUVxdWlmYXggU2VjdXJlIGVCdXNpbmVzcyBDQS0yMQ0wCwYDVQQDEwRDUkwxMBoG -A1UdEAQTMBGBDzIwMTkwNjIzMTIxNDQ1WjALBgNVHQ8EBAMCAQYwHwYDVR0jBBgwFoAUUJ4L6q9e -uSBIplBqy/3YIHqngnYwHQYDVR0OBBYEFFCeC+qvXrkgSKZQasv92CB6p4J2MAwGA1UdEwQFMAMB -Af8wGgYJKoZIhvZ9B0EABA0wCxsFVjMuMGMDAgbAMA0GCSqGSIb3DQEBBQUAA4GBAAyGgq3oThr1 -jokn4jVYPSm0B482UJW/bsGe68SQsoWou7dC4A8HOd/7npCy0cE+U58DRLB+S/Rv5Hwf5+Kx5Lia -78O9zt4LMjTZ3ijtM2vE1Nc9ElirfQkty3D1E4qUoSek1nDFbZS1yX2doNLGCEnZZpum0/QL3MUm -V+GRMOrN ------END CERTIFICATE----- - -AddTrust Low-Value Services Root -================================ ------BEGIN CERTIFICATE----- -MIIEGDCCAwCgAwIBAgIBATANBgkqhkiG9w0BAQUFADBlMQswCQYDVQQGEwJTRTEUMBIGA1UEChML -QWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBOZXR3b3JrMSEwHwYDVQQDExhBZGRU -cnVzdCBDbGFzcyAxIENBIFJvb3QwHhcNMDAwNTMwMTAzODMxWhcNMjAwNTMwMTAzODMxWjBlMQsw -CQYDVQQGEwJTRTEUMBIGA1UEChMLQWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBO -ZXR3b3JrMSEwHwYDVQQDExhBZGRUcnVzdCBDbGFzcyAxIENBIFJvb3QwggEiMA0GCSqGSIb3DQEB -AQUAA4IBDwAwggEKAoIBAQCWltQhSWDia+hBBwzexODcEyPNwTXH+9ZOEQpnXvUGW2ulCDtbKRY6 -54eyNAbFvAWlA3yCyykQruGIgb3WntP+LVbBFc7jJp0VLhD7Bo8wBN6ntGO0/7Gcrjyvd7ZWxbWr -oulpOj0OM3kyP3CCkplhbY0wCI9xP6ZIVxn4JdxLZlyldI+Yrsj5wAYi56xz36Uu+1LcsRVlIPo1 -Zmne3yzxbrww2ywkEtvrNTVokMsAsJchPXQhI2U0K7t4WaPW4XY5mqRJjox0r26kmqPZm9I4XJui -GMx1I4S+6+JNM3GOGvDC+Mcdoq0Dlyz4zyXG9rgkMbFjXZJ/Y/AlyVMuH79NAgMBAAGjgdIwgc8w -HQYDVR0OBBYEFJWxtPCUtr3H2tERCSG+wa9J/RB7MAsGA1UdDwQEAwIBBjAPBgNVHRMBAf8EBTAD -AQH/MIGPBgNVHSMEgYcwgYSAFJWxtPCUtr3H2tERCSG+wa9J/RB7oWmkZzBlMQswCQYDVQQGEwJT -RTEUMBIGA1UEChMLQWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBOZXR3b3JrMSEw -HwYDVQQDExhBZGRUcnVzdCBDbGFzcyAxIENBIFJvb3SCAQEwDQYJKoZIhvcNAQEFBQADggEBACxt -ZBsfzQ3duQH6lmM0MkhHma6X7f1yFqZzR1r0693p9db7RcwpiURdv0Y5PejuvE1Uhh4dbOMXJ0Ph -iVYrqW9yTkkz43J8KiOavD7/KCrto/8cI7pDVwlnTUtiBi34/2ydYB7YHEt9tTEv2dB8Xfjea4MY -eDdXL+gzB2ffHsdrKpV2ro9Xo/D0UrSpUwjP4E/TelOL/bscVjby/rK25Xa71SJlpz/+0WatC7xr -mYbvP33zGDLKe8bjq2RGlfgmadlVg3sslgf/WSxEo8bl6ancoWOAWiFeIc9TVPC6b4nbqKqVz4vj -ccweGyBECMB6tkD9xOQ14R0WHNC8K47Wcdk= ------END CERTIFICATE----- - -AddTrust External Root -====================== ------BEGIN CERTIFICATE----- -MIIENjCCAx6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBvMQswCQYDVQQGEwJTRTEUMBIGA1UEChML -QWRkVHJ1c3QgQUIxJjAkBgNVBAsTHUFkZFRydXN0IEV4dGVybmFsIFRUUCBOZXR3b3JrMSIwIAYD -VQQDExlBZGRUcnVzdCBFeHRlcm5hbCBDQSBSb290MB4XDTAwMDUzMDEwNDgzOFoXDTIwMDUzMDEw -NDgzOFowbzELMAkGA1UEBhMCU0UxFDASBgNVBAoTC0FkZFRydXN0IEFCMSYwJAYDVQQLEx1BZGRU -cnVzdCBFeHRlcm5hbCBUVFAgTmV0d29yazEiMCAGA1UEAxMZQWRkVHJ1c3QgRXh0ZXJuYWwgQ0Eg -Um9vdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALf3GjPm8gAELTngTlvtH7xsD821 -+iO2zt6bETOXpClMfZOfvUq8k+0DGuOPz+VtUFrWlymUWoCwSXrbLpX9uMq/NzgtHj6RQa1wVsfw -Tz/oMp50ysiQVOnGXw94nZpAPA6sYapeFI+eh6FqUNzXmk6vBbOmcZSccbNQYArHE504B4YCqOmo -aSYYkKtMsE8jqzpPhNjfzp/haW+710LXa0Tkx63ubUFfclpxCDezeWWkWaCUN/cALw3CknLa0Dhy -2xSoRcRdKn23tNbE7qzNE0S3ySvdQwAl+mG5aWpYIxG3pzOPVnVZ9c0p10a3CitlttNCbxWyuHv7 -7+ldU9U0WicCAwEAAaOB3DCB2TAdBgNVHQ4EFgQUrb2YejS0Jvf6xCZU7wO94CTLVBowCwYDVR0P -BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wgZkGA1UdIwSBkTCBjoAUrb2YejS0Jvf6xCZU7wO94CTL -VBqhc6RxMG8xCzAJBgNVBAYTAlNFMRQwEgYDVQQKEwtBZGRUcnVzdCBBQjEmMCQGA1UECxMdQWRk -VHJ1c3QgRXh0ZXJuYWwgVFRQIE5ldHdvcmsxIjAgBgNVBAMTGUFkZFRydXN0IEV4dGVybmFsIENB -IFJvb3SCAQEwDQYJKoZIhvcNAQEFBQADggEBALCb4IUlwtYj4g+WBpKdQZic2YR5gdkeWxQHIzZl -j7DYd7usQWxHYINRsPkyPef89iYTx4AWpb9a/IfPeHmJIZriTAcKhjW88t5RxNKWt9x+Tu5w/Rw5 -6wwCURQtjr0W4MHfRnXnJK3s9EK0hZNwEGe6nQY1ShjTK3rMUUKhemPR5ruhxSvCNr4TDea9Y355 -e6cJDUCrat2PisP29owaQgVR1EX1n6diIWgVIEM8med8vSTYqZEXc4g/VhsxOBi0cQ+azcgOno4u -G+GMmIPLHzHxREzGBHNJdmAPx/i9F4BrLunMTA5amnkPIAou1Z5jJh5VkpTYghdae9C8x49OhgQ= ------END CERTIFICATE----- - -AddTrust Public Services Root -============================= ------BEGIN CERTIFICATE----- -MIIEFTCCAv2gAwIBAgIBATANBgkqhkiG9w0BAQUFADBkMQswCQYDVQQGEwJTRTEUMBIGA1UEChML -QWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBOZXR3b3JrMSAwHgYDVQQDExdBZGRU -cnVzdCBQdWJsaWMgQ0EgUm9vdDAeFw0wMDA1MzAxMDQxNTBaFw0yMDA1MzAxMDQxNTBaMGQxCzAJ -BgNVBAYTAlNFMRQwEgYDVQQKEwtBZGRUcnVzdCBBQjEdMBsGA1UECxMUQWRkVHJ1c3QgVFRQIE5l -dHdvcmsxIDAeBgNVBAMTF0FkZFRydXN0IFB1YmxpYyBDQSBSb290MIIBIjANBgkqhkiG9w0BAQEF -AAOCAQ8AMIIBCgKCAQEA6Rowj4OIFMEg2Dybjxt+A3S72mnTRqX4jsIMEZBRpS9mVEBV6tsfSlbu -nyNu9DnLoblv8n75XYcmYZ4c+OLspoH4IcUkzBEMP9smcnrHAZcHF/nXGCwwfQ56HmIexkvA/X1i -d9NEHif2P0tEs7c42TkfYNVRknMDtABp4/MUTu7R3AnPdzRGULD4EfL+OHn3Bzn+UZKXC1sIXzSG -Aa2Il+tmzV7R/9x98oTaunet3IAIx6eH1lWfl2royBFkuucZKT8Rs3iQhCBSWxHveNCD9tVIkNAw -HM+A+WD+eeSI8t0A65RF62WUaUC6wNW0uLp9BBGo6zEFlpROWCGOn9Bg/QIDAQABo4HRMIHOMB0G -A1UdDgQWBBSBPjfYkrAfd59ctKtzquf2NGAv+jALBgNVHQ8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB -/zCBjgYDVR0jBIGGMIGDgBSBPjfYkrAfd59ctKtzquf2NGAv+qFopGYwZDELMAkGA1UEBhMCU0Ux -FDASBgNVBAoTC0FkZFRydXN0IEFCMR0wGwYDVQQLExRBZGRUcnVzdCBUVFAgTmV0d29yazEgMB4G -A1UEAxMXQWRkVHJ1c3QgUHVibGljIENBIFJvb3SCAQEwDQYJKoZIhvcNAQEFBQADggEBAAP3FUr4 -JNojVhaTdt02KLmuG7jD8WS6IBh4lSknVwW8fCr0uVFV2ocC3g8WFzH4qnkuCRO7r7IgGRLlk/lL -+YPoRNWyQSW/iHVv/xD8SlTQX/D67zZzfRs2RcYhbbQVuE7PnFylPVoAjgbjPGsye/Kf8Lb93/Ao -GEjwxrzQvzSAlsJKsW2Ox5BF3i9nrEUEo3rcVZLJR2bYGozH7ZxOmuASu7VqTITh4SINhwBk/ox9 -Yjllpu9CtoAlEmEBqCQTcAARJl/6NVDFSMwGR+gn2HCNX2TmoUQmXiLsks3/QppEIW1cxeMiHV9H -EufOX1362KqxMy3ZdvJOOjMMK7MtkAY= ------END CERTIFICATE----- - -AddTrust Qualified Certificates Root -==================================== ------BEGIN CERTIFICATE----- -MIIEHjCCAwagAwIBAgIBATANBgkqhkiG9w0BAQUFADBnMQswCQYDVQQGEwJTRTEUMBIGA1UEChML -QWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBOZXR3b3JrMSMwIQYDVQQDExpBZGRU -cnVzdCBRdWFsaWZpZWQgQ0EgUm9vdDAeFw0wMDA1MzAxMDQ0NTBaFw0yMDA1MzAxMDQ0NTBaMGcx -CzAJBgNVBAYTAlNFMRQwEgYDVQQKEwtBZGRUcnVzdCBBQjEdMBsGA1UECxMUQWRkVHJ1c3QgVFRQ -IE5ldHdvcmsxIzAhBgNVBAMTGkFkZFRydXN0IFF1YWxpZmllZCBDQSBSb290MIIBIjANBgkqhkiG -9w0BAQEFAAOCAQ8AMIIBCgKCAQEA5B6a/twJWoekn0e+EV+vhDTbYjx5eLfpMLXsDBwqxBb/4Oxx -64r1EW7tTw2R0hIYLUkVAcKkIhPHEWT/IhKauY5cLwjPcWqzZwFZ8V1G87B4pfYOQnrjfxvM0PC3 -KP0q6p6zsLkEqv32x7SxuCqg+1jxGaBvcCV+PmlKfw8i2O+tCBGaKZnhqkRFmhJePp1tUvznoD1o -L/BLcHwTOK28FSXx1s6rosAx1i+f4P8UWfyEk9mHfExUE+uf0S0R+Bg6Ot4l2ffTQO2kBhLEO+GR -wVY18BTcZTYJbqukB8c10cIDMzZbdSZtQvESa0NvS3GU+jQd7RNuyoB/mC9suWXY6QIDAQABo4HU -MIHRMB0GA1UdDgQWBBQ5lYtii1zJ1IC6WA+XPxUIQ8yYpzALBgNVHQ8EBAMCAQYwDwYDVR0TAQH/ -BAUwAwEB/zCBkQYDVR0jBIGJMIGGgBQ5lYtii1zJ1IC6WA+XPxUIQ8yYp6FrpGkwZzELMAkGA1UE -BhMCU0UxFDASBgNVBAoTC0FkZFRydXN0IEFCMR0wGwYDVQQLExRBZGRUcnVzdCBUVFAgTmV0d29y -azEjMCEGA1UEAxMaQWRkVHJ1c3QgUXVhbGlmaWVkIENBIFJvb3SCAQEwDQYJKoZIhvcNAQEFBQAD -ggEBABmrder4i2VhlRO6aQTvhsoToMeqT2QbPxj2qC0sVY8FtzDqQmodwCVRLae/DLPt7wh/bDxG -GuoYQ992zPlmhpwsaPXpF/gxsxjE1kh9I0xowX67ARRvxdlu3rsEQmr49lx95dr6h+sNNVJn0J6X -dgWTP5XHAeZpVTh/EGGZyeNfpso+gmNIquIISD6q8rKFYqa0p9m9N5xotS1WfbC3P6CxB9bpT9ze -RXEwMn8bLgn5v1Kh7sKAPgZcLlVAwRv1cEWw3F369nJad9Jjzc9YiQBCYz95OdBEsIJuQRno3eDB -iFrRHnGTHyQwdOUeqN48Jzd/g66ed8/wMLH/S5noxqE= ------END CERTIFICATE----- - -Entrust Root Certification Authority -==================================== ------BEGIN CERTIFICATE----- -MIIEkTCCA3mgAwIBAgIERWtQVDANBgkqhkiG9w0BAQUFADCBsDELMAkGA1UEBhMCVVMxFjAUBgNV -BAoTDUVudHJ1c3QsIEluYy4xOTA3BgNVBAsTMHd3dy5lbnRydXN0Lm5ldC9DUFMgaXMgaW5jb3Jw -b3JhdGVkIGJ5IHJlZmVyZW5jZTEfMB0GA1UECxMWKGMpIDIwMDYgRW50cnVzdCwgSW5jLjEtMCsG -A1UEAxMkRW50cnVzdCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTA2MTEyNzIwMjM0 -MloXDTI2MTEyNzIwNTM0MlowgbAxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1FbnRydXN0LCBJbmMu -MTkwNwYDVQQLEzB3d3cuZW50cnVzdC5uZXQvQ1BTIGlzIGluY29ycG9yYXRlZCBieSByZWZlcmVu -Y2UxHzAdBgNVBAsTFihjKSAyMDA2IEVudHJ1c3QsIEluYy4xLTArBgNVBAMTJEVudHJ1c3QgUm9v -dCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB -ALaVtkNC+sZtKm9I35RMOVcF7sN5EUFoNu3s/poBj6E4KPz3EEZmLk0eGrEaTsbRwJWIsMn/MYsz -A9u3g3s+IIRe7bJWKKf44LlAcTfFy0cOlypowCKVYhXbR9n10Cv/gkvJrT7eTNuQgFA/CYqEAOww -Cj0Yzfv9KlmaI5UXLEWeH25DeW0MXJj+SKfFI0dcXv1u5x609mhF0YaDW6KKjbHjKYD+JXGIrb68 -j6xSlkuqUY3kEzEZ6E5Nn9uss2rVvDlUccp6en+Q3X0dgNmBu1kmwhH+5pPi94DkZfs0Nw4pgHBN -rziGLp5/V6+eF67rHMsoIV+2HNjnogQi+dPa2MsCAwEAAaOBsDCBrTAOBgNVHQ8BAf8EBAMCAQYw -DwYDVR0TAQH/BAUwAwEB/zArBgNVHRAEJDAigA8yMDA2MTEyNzIwMjM0MlqBDzIwMjYxMTI3MjA1 -MzQyWjAfBgNVHSMEGDAWgBRokORnpKZTgMeGZqTx90tD+4S9bTAdBgNVHQ4EFgQUaJDkZ6SmU4DH -hmak8fdLQ/uEvW0wHQYJKoZIhvZ9B0EABBAwDhsIVjcuMTo0LjADAgSQMA0GCSqGSIb3DQEBBQUA -A4IBAQCT1DCw1wMgKtD5Y+iRDAUgqV8ZyntyTtSx29CW+1RaGSwMCPeyvIWonX9tO1KzKtvn1ISM -Y/YPyyYBkVBs9F8U4pN0wBOeMDpQ47RgxRzwIkSNcUesyBrJ6ZuaAGAT/3B+XxFNSRuzFVJ7yVTa -v52Vr2ua2J7p8eRDjeIRRDq/r72DQnNSi6q7pynP9WQcCk3RvKqsnyrQ/39/2n3qse0wJcGE2jTS -W3iDVuycNsMm4hH2Z0kdkquM++v/eu6FSqdQgPCnXEqULl8FmTxSQeDNtGPPAUO6nIPcj2A781q0 -tHuu2guQOHXvgR1m0vdXcDazv/wor3ElhVsT/h5/WrQ8 ------END CERTIFICATE----- - -RSA Security 2048 v3 -==================== ------BEGIN CERTIFICATE----- -MIIDYTCCAkmgAwIBAgIQCgEBAQAAAnwAAAAKAAAAAjANBgkqhkiG9w0BAQUFADA6MRkwFwYDVQQK -ExBSU0EgU2VjdXJpdHkgSW5jMR0wGwYDVQQLExRSU0EgU2VjdXJpdHkgMjA0OCBWMzAeFw0wMTAy -MjIyMDM5MjNaFw0yNjAyMjIyMDM5MjNaMDoxGTAXBgNVBAoTEFJTQSBTZWN1cml0eSBJbmMxHTAb -BgNVBAsTFFJTQSBTZWN1cml0eSAyMDQ4IFYzMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC -AQEAt49VcdKA3XtpeafwGFAyPGJn9gqVB93mG/Oe2dJBVGutn3y+Gc37RqtBaB4Y6lXIL5F4iSj7 -Jylg/9+PjDvJSZu1pJTOAeo+tWN7fyb9Gd3AIb2E0S1PRsNO3Ng3OTsor8udGuorryGlwSMiuLgb -WhOHV4PR8CDn6E8jQrAApX2J6elhc5SYcSa8LWrg903w8bYqODGBDSnhAMFRD0xS+ARaqn1y07iH -KrtjEAMqs6FPDVpeRrc9DvV07Jmf+T0kgYim3WBU6JU2PcYJk5qjEoAAVZkZR73QpXzDuvsf9/UP -+Ky5tfQ3mBMY3oVbtwyCO4dvlTlYMNpuAWgXIszACwIDAQABo2MwYTAPBgNVHRMBAf8EBTADAQH/ -MA4GA1UdDwEB/wQEAwIBBjAfBgNVHSMEGDAWgBQHw1EwpKrpRa41JPr/JCwz0LGdjDAdBgNVHQ4E -FgQUB8NRMKSq6UWuNST6/yQsM9CxnYwwDQYJKoZIhvcNAQEFBQADggEBAF8+hnZuuDU8TjYcHnmY -v/3VEhF5Ug7uMYm83X/50cYVIeiKAVQNOvtUudZj1LGqlk2iQk3UUx+LEN5/Zb5gEydxiKRz44Rj -0aRV4VCT5hsOedBnvEbIvz8XDZXmxpBp3ue0L96VfdASPz0+f00/FGj1EVDVwfSQpQgdMWD/YIwj -VAqv/qFuxdF6Kmh4zx6CCiC0H63lhbJqaHVOrSU3lIW+vaHU6rcMSzyd6BIA8F+sDeGscGNz9395 -nzIlQnQFgCi/vcEkllgVsRch6YlL2weIZ/QVrXA+L02FO8K32/6YaCOJ4XQP3vTFhGMpG8zLB8kA -pKnXwiJPZ9d37CAFYd4= ------END CERTIFICATE----- - -GeoTrust Global CA -================== ------BEGIN CERTIFICATE----- -MIIDVDCCAjygAwIBAgIDAjRWMA0GCSqGSIb3DQEBBQUAMEIxCzAJBgNVBAYTAlVTMRYwFAYDVQQK -Ew1HZW9UcnVzdCBJbmMuMRswGQYDVQQDExJHZW9UcnVzdCBHbG9iYWwgQ0EwHhcNMDIwNTIxMDQw -MDAwWhcNMjIwNTIxMDQwMDAwWjBCMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5j -LjEbMBkGA1UEAxMSR2VvVHJ1c3QgR2xvYmFsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB -CgKCAQEA2swYYzD99BcjGlZ+W988bDjkcbd4kdS8odhM+KhDtgPpTSEHCIjaWC9mOSm9BXiLnTjo -BbdqfnGk5sRgprDvgOSJKA+eJdbtg/OtppHHmMlCGDUUna2YRpIuT8rxh0PBFpVXLVDviS2Aelet -8u5fa9IAjbkU+BQVNdnARqN7csiRv8lVK83Qlz6cJmTM386DGXHKTubU1XupGc1V3sjs0l44U+Vc -T4wt/lAjNvxm5suOpDkZALeVAjmRCw7+OC7RHQWa9k0+bw8HHa8sHo9gOeL6NlMTOdReJivbPagU -vTLrGAMoUgRx5aszPeE4uwc2hGKceeoWMPRfwCvocWvk+QIDAQABo1MwUTAPBgNVHRMBAf8EBTAD -AQH/MB0GA1UdDgQWBBTAephojYn7qwVkDBF9qn1luMrMTjAfBgNVHSMEGDAWgBTAephojYn7qwVk -DBF9qn1luMrMTjANBgkqhkiG9w0BAQUFAAOCAQEANeMpauUvXVSOKVCUn5kaFOSPeCpilKInZ57Q -zxpeR+nBsqTP3UEaBU6bS+5Kb1VSsyShNwrrZHYqLizz/Tt1kL/6cdjHPTfStQWVYrmm3ok9Nns4 -d0iXrKYgjy6myQzCsplFAMfOEVEiIuCl6rYVSAlk6l5PdPcFPseKUgzbFbS9bZvlxrFUaKnjaZC2 -mqUPuLk/IH2uSrW4nOQdtqvmlKXBx4Ot2/Unhw4EbNX/3aBd7YdStysVAq45pmp06drE57xNNB6p -XE0zX5IJL4hmXXeXxx12E6nV5fEWCRE11azbJHFwLJhWC9kXtNHjUStedejV0NxPNO3CBWaAocvm -Mw== ------END CERTIFICATE----- - -GeoTrust Global CA 2 -==================== ------BEGIN CERTIFICATE----- -MIIDZjCCAk6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBEMQswCQYDVQQGEwJVUzEWMBQGA1UEChMN -R2VvVHJ1c3QgSW5jLjEdMBsGA1UEAxMUR2VvVHJ1c3QgR2xvYmFsIENBIDIwHhcNMDQwMzA0MDUw -MDAwWhcNMTkwMzA0MDUwMDAwWjBEMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5j -LjEdMBsGA1UEAxMUR2VvVHJ1c3QgR2xvYmFsIENBIDIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw -ggEKAoIBAQDvPE1APRDfO1MA4Wf+lGAVPoWI8YkNkMgoI5kF6CsgncbzYEbYwbLVjDHZ3CB5JIG/ -NTL8Y2nbsSpr7iFY8gjpeMtvy/wWUsiRxP89c96xPqfCfWbB9X5SJBri1WeR0IIQ13hLTytCOb1k -LUCgsBDTOEhGiKEMuzozKmKY+wCdE1l/bztyqu6mD4b5BWHqZ38MN5aL5mkWRxHCJ1kDs6ZgwiFA -Vvqgx306E+PsV8ez1q6diYD3Aecs9pYrEw15LNnA5IZ7S4wMcoKK+xfNAGw6EzywhIdLFnopsk/b -HdQL82Y3vdj2V7teJHq4PIu5+pIaGoSe2HSPqht/XvT+RSIhAgMBAAGjYzBhMA8GA1UdEwEB/wQF -MAMBAf8wHQYDVR0OBBYEFHE4NvICMVNHK266ZUapEBVYIAUJMB8GA1UdIwQYMBaAFHE4NvICMVNH -K266ZUapEBVYIAUJMA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQUFAAOCAQEAA/e1K6tdEPx7 -srJerJsOflN4WT5CBP51o62sgU7XAotexC3IUnbHLB/8gTKY0UvGkpMzNTEv/NgdRN3ggX+d6Yvh -ZJFiCzkIjKx0nVnZellSlxG5FntvRdOW2TF9AjYPnDtuzywNA0ZF66D0f0hExghAzN4bcLUprbqL -OzRldRtxIR0sFAqwlpW41uryZfspuk/qkZN0abby/+Ea0AzRdoXLiiW9l14sbxWZJue2Kf8i7MkC -x1YAzUm5s2x7UwQa4qjJqhIFI8LO57sEAszAR6LkxCkvW0VXiVHuPOtSCP8HNR6fNWpHSlaY0VqF -H4z1Ir+rzoPz4iIprn2DQKi6bA== ------END CERTIFICATE----- - -GeoTrust Universal CA -===================== ------BEGIN CERTIFICATE----- -MIIFaDCCA1CgAwIBAgIBATANBgkqhkiG9w0BAQUFADBFMQswCQYDVQQGEwJVUzEWMBQGA1UEChMN -R2VvVHJ1c3QgSW5jLjEeMBwGA1UEAxMVR2VvVHJ1c3QgVW5pdmVyc2FsIENBMB4XDTA0MDMwNDA1 -MDAwMFoXDTI5MDMwNDA1MDAwMFowRTELMAkGA1UEBhMCVVMxFjAUBgNVBAoTDUdlb1RydXN0IElu -Yy4xHjAcBgNVBAMTFUdlb1RydXN0IFVuaXZlcnNhbCBDQTCCAiIwDQYJKoZIhvcNAQEBBQADggIP -ADCCAgoCggIBAKYVVaCjxuAfjJ0hUNfBvitbtaSeodlyWL0AG0y/YckUHUWCq8YdgNY96xCcOq9t -JPi8cQGeBvV8Xx7BDlXKg5pZMK4ZyzBIle0iN430SppyZj6tlcDgFgDgEB8rMQ7XlFTTQjOgNB0e -RXbdT8oYN+yFFXoZCPzVx5zw8qkuEKmS5j1YPakWaDwvdSEYfyh3peFhF7em6fgemdtzbvQKoiFs -7tqqhZJmr/Z6a4LauiIINQ/PQvE1+mrufislzDoR5G2vc7J2Ha3QsnhnGqQ5HFELZ1aD/ThdDc7d -8Lsrlh/eezJS/R27tQahsiFepdaVaH/wmZ7cRQg+59IJDTWU3YBOU5fXtQlEIGQWFwMCTFMNaN7V -qnJNk22CDtucvc+081xdVHppCZbW2xHBjXWotM85yM48vCR85mLK4b19p71XZQvk/iXttmkQ3Cga -Rr0BHdCXteGYO8A3ZNY9lO4L4fUorgtWv3GLIylBjobFS1J72HGrH4oVpjuDWtdYAVHGTEHZf9hB -Z3KiKN9gg6meyHv8U3NyWfWTehd2Ds735VzZC1U0oqpbtWpU5xPKV+yXbfReBi9Fi1jUIxaS5BZu -KGNZMN9QAZxjiRqf2xeUgnA3wySemkfWWspOqGmJch+RbNt+nhutxx9z3SxPGWX9f5NAEC7S8O08 -ni4oPmkmM8V7AgMBAAGjYzBhMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFNq7LqqwDLiIJlF0 -XG0D08DYj3rWMB8GA1UdIwQYMBaAFNq7LqqwDLiIJlF0XG0D08DYj3rWMA4GA1UdDwEB/wQEAwIB -hjANBgkqhkiG9w0BAQUFAAOCAgEAMXjmx7XfuJRAyXHEqDXsRh3ChfMoWIawC/yOsjmPRFWrZIRc -aanQmjg8+uUfNeVE44B5lGiku8SfPeE0zTBGi1QrlaXv9z+ZhP015s8xxtxqv6fXIwjhmF7DWgh2 -qaavdy+3YL1ERmrvl/9zlcGO6JP7/TG37FcREUWbMPEaiDnBTzynANXH/KttgCJwpQzgXQQpAvvL -oJHRfNbDflDVnVi+QTjruXU8FdmbyUqDWcDaU/0zuzYYm4UPFd3uLax2k7nZAY1IEKj79TiG8dsK -xr2EoyNB3tZ3b4XUhRxQ4K5RirqNPnbiucon8l+f725ZDQbYKxek0nxru18UGkiPGkzns0ccjkxF -KyDuSN/n3QmOGKjaQI2SJhFTYXNd673nxE0pN2HrrDktZy4W1vUAg4WhzH92xH3kt0tm7wNFYGm2 -DFKWkoRepqO1pD4r2czYG0eq8kTaT/kD6PAUyz/zg97QwVTjt+gKN02LIFkDMBmhLMi9ER/frslK -xfMnZmaGrGiR/9nmUxwPi1xpZQomyB40w11Re9epnAahNt3ViZS82eQtDF4JbAiXfKM9fJP/P6EU -p8+1Xevb2xzEdt+Iub1FBZUbrvxGakyvSOPOrg/SfuvmbJxPgWp6ZKy7PtXny3YuxadIwVyQD8vI -P/rmMuGNG2+k5o7Y+SlIis5z/iw= ------END CERTIFICATE----- - -GeoTrust Universal CA 2 -======================= ------BEGIN CERTIFICATE----- -MIIFbDCCA1SgAwIBAgIBATANBgkqhkiG9w0BAQUFADBHMQswCQYDVQQGEwJVUzEWMBQGA1UEChMN -R2VvVHJ1c3QgSW5jLjEgMB4GA1UEAxMXR2VvVHJ1c3QgVW5pdmVyc2FsIENBIDIwHhcNMDQwMzA0 -MDUwMDAwWhcNMjkwMzA0MDUwMDAwWjBHMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3Qg -SW5jLjEgMB4GA1UEAxMXR2VvVHJ1c3QgVW5pdmVyc2FsIENBIDIwggIiMA0GCSqGSIb3DQEBAQUA -A4ICDwAwggIKAoICAQCzVFLByT7y2dyxUxpZKeexw0Uo5dfR7cXFS6GqdHtXr0om/Nj1XqduGdt0 -DE81WzILAePb63p3NeqqWuDW6KFXlPCQo3RWlEQwAx5cTiuFJnSCegx2oG9NzkEtoBUGFF+3Qs17 -j1hhNNwqCPkuwwGmIkQcTAeC5lvO0Ep8BNMZcyfwqph/Lq9O64ceJHdqXbboW0W63MOhBW9Wjo8Q -JqVJwy7XQYci4E+GymC16qFjwAGXEHm9ADwSbSsVsaxLse4YuU6W3Nx2/zu+z18DwPw76L5GG//a -QMJS9/7jOvdqdzXQ2o3rXhhqMcceujwbKNZrVMaqW9eiLBsZzKIC9ptZvTdrhrVtgrrY6slWvKk2 -WP0+GfPtDCapkzj4T8FdIgbQl+rhrcZV4IErKIM6+vR7IVEAvlI4zs1meaj0gVbi0IMJR1FbUGrP -20gaXT73y/Zl92zxlfgCOzJWgjl6W70viRu/obTo/3+NjN8D8WBOWBFM66M/ECuDmgFz2ZRthAAn -ZqzwcEAJQpKtT5MNYQlRJNiS1QuUYbKHsu3/mjX/hVTK7URDrBs8FmtISgocQIgfksILAAX/8sgC -SqSqqcyZlpwvWOB94b67B9xfBHJcMTTD7F8t4D1kkCLm0ey4Lt1ZrtmhN79UNdxzMk+MBB4zsslG -8dhcyFVQyWi9qLo2CQIDAQABo2MwYTAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBR281Xh+qQ2 -+/CfXGJx7Tz0RzgQKzAfBgNVHSMEGDAWgBR281Xh+qQ2+/CfXGJx7Tz0RzgQKzAOBgNVHQ8BAf8E -BAMCAYYwDQYJKoZIhvcNAQEFBQADggIBAGbBxiPz2eAubl/oz66wsCVNK/g7WJtAJDday6sWSf+z -dXkzoS9tcBc0kf5nfo/sm+VegqlVHy/c1FEHEv6sFj4sNcZj/NwQ6w2jqtB8zNHQL1EuxBRa3ugZ -4T7GzKQp5y6EqgYweHZUcyiYWTjgAA1i00J9IZ+uPTqM1fp3DRgrFg5fNuH8KrUwJM/gYwx7WBr+ -mbpCErGR9Hxo4sjoryzqyX6uuyo9DRXcNJW2GHSoag/HtPQTxORb7QrSpJdMKu0vbBKJPfEncKpq -A1Ihn0CoZ1Dy81of398j9tx4TuaYT1U6U+Pv8vSfx3zYWK8pIpe44L2RLrB27FcRz+8pRPPphXpg -Y+RdM4kX2TGq2tbzGDVyz4crL2MjhF2EjD9XoIj8mZEoJmmZ1I+XRL6O1UixpCgp8RW04eWe3fiP -pm8m1wk8OhwRDqZsN/etRIcsKMfYdIKz0G9KV7s1KSegi+ghp4dkNl3M2Basx7InQJJVOCiNUW7d -FGdTbHFcJoRNdVq2fmBWqU2t+5sel/MN2dKXVHfaPRK34B7vCAas+YWH6aLcr34YEoP9VhdBLtUp -gn2Z9DH2canPLAEnpQW5qrJITirvn5NSUZU8UnOOVkwXQMAJKOSLakhT2+zNVVXxxvjpoixMptEm -X36vWkzaH6byHCx+rgIW0lbQL1dTR+iS ------END CERTIFICATE----- - -America Online Root Certification Authority 1 -============================================= ------BEGIN CERTIFICATE----- -MIIDpDCCAoygAwIBAgIBATANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJVUzEcMBoGA1UEChMT -QW1lcmljYSBPbmxpbmUgSW5jLjE2MDQGA1UEAxMtQW1lcmljYSBPbmxpbmUgUm9vdCBDZXJ0aWZp -Y2F0aW9uIEF1dGhvcml0eSAxMB4XDTAyMDUyODA2MDAwMFoXDTM3MTExOTIwNDMwMFowYzELMAkG -A1UEBhMCVVMxHDAaBgNVBAoTE0FtZXJpY2EgT25saW5lIEluYy4xNjA0BgNVBAMTLUFtZXJpY2Eg -T25saW5lIFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgMTCCASIwDQYJKoZIhvcNAQEBBQAD -ggEPADCCAQoCggEBAKgv6KRpBgNHw+kqmP8ZonCaxlCyfqXfaE0bfA+2l2h9LaaLl+lkhsmj76CG -v2BlnEtUiMJIxUo5vxTjWVXlGbR0yLQFOVwWpeKVBeASrlmLojNoWBym1BW32J/X3HGrfpq/m44z -DyL9Hy7nBzbvYjnF3cu6JRQj3gzGPTzOggjmZj7aUTsWOqMFf6Dch9Wc/HKpoH145LcxVR5lu9Rh -sCFg7RAycsWSJR74kEoYeEfffjA3PlAb2xzTa5qGUwew76wGePiEmf4hjUyAtgyC9mZweRrTT6PP -8c9GsEsPPt2IYriMqQkoO3rHl+Ee5fSfwMCuJKDIodkP1nsmgmkyPacCAwEAAaNjMGEwDwYDVR0T -AQH/BAUwAwEB/zAdBgNVHQ4EFgQUAK3Zo/Z59m50qX8zPYEX10zPM94wHwYDVR0jBBgwFoAUAK3Z -o/Z59m50qX8zPYEX10zPM94wDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEBBQUAA4IBAQB8itEf -GDeC4Liwo+1WlchiYZwFos3CYiZhzRAW18y0ZTTQEYqtqKkFZu90821fnZmv9ov761KyBZiibyrF -VL0lvV+uyIbqRizBs73B6UlwGBaXCBOMIOAbLjpHyx7kADCVW/RFo8AasAFOq73AI25jP4BKxQft -3OJvx8Fi8eNy1gTIdGcL+oiroQHIb/AUr9KZzVGTfu0uOMe9zkZQPXLjeSWdm4grECDdpbgyn43g -Kd8hdIaC2y+CMMbHNYaz+ZZfRtsMRf3zUMNvxsNIrUam4SdHCh0Om7bCd39j8uB9Gr784N/Xx6ds -sPmuujz9dLQR6FgNgLzTqIA6me11zEZ7 ------END CERTIFICATE----- - -America Online Root Certification Authority 2 -============================================= ------BEGIN CERTIFICATE----- -MIIFpDCCA4ygAwIBAgIBATANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJVUzEcMBoGA1UEChMT -QW1lcmljYSBPbmxpbmUgSW5jLjE2MDQGA1UEAxMtQW1lcmljYSBPbmxpbmUgUm9vdCBDZXJ0aWZp -Y2F0aW9uIEF1dGhvcml0eSAyMB4XDTAyMDUyODA2MDAwMFoXDTM3MDkyOTE0MDgwMFowYzELMAkG -A1UEBhMCVVMxHDAaBgNVBAoTE0FtZXJpY2EgT25saW5lIEluYy4xNjA0BgNVBAMTLUFtZXJpY2Eg -T25saW5lIFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgMjCCAiIwDQYJKoZIhvcNAQEBBQAD -ggIPADCCAgoCggIBAMxBRR3pPU0Q9oyxQcngXssNt79Hc9PwVU3dxgz6sWYFas14tNwC206B89en -fHG8dWOgXeMHDEjsJcQDIPT/DjsS/5uN4cbVG7RtIuOx238hZK+GvFciKtZHgVdEglZTvYYUAQv8 -f3SkWq7xuhG1m1hagLQ3eAkzfDJHA1zEpYNI9FdWboE2JxhP7JsowtS013wMPgwr38oE18aO6lhO -qKSlGBxsRZijQdEt0sdtjRnxrXm3gT+9BoInLRBYBbV4Bbkv2wxrkJB+FFk4u5QkE+XRnRTf04JN -RvCAOVIyD+OEsnpD8l7eXz8d3eOyG6ChKiMDbi4BFYdcpnV1x5dhvt6G3NRI270qv0pV2uh9UPu0 -gBe4lL8BPeraunzgWGcXuVjgiIZGZ2ydEEdYMtA1fHkqkKJaEBEjNa0vzORKW6fIJ/KD3l67Xnfn -6KVuY8INXWHQjNJsWiEOyiijzirplcdIz5ZvHZIlyMbGwcEMBawmxNJ10uEqZ8A9W6Wa6897Gqid -FEXlD6CaZd4vKL3Ob5Rmg0gp2OpljK+T2WSfVVcmv2/LNzGZo2C7HK2JNDJiuEMhBnIMoVxtRsX6 -Kc8w3onccVvdtjc+31D1uAclJuW8tf48ArO3+L5DwYcRlJ4jbBeKuIonDFRH8KmzwICMoCfrHRnj -B453cMor9H124HhnAgMBAAGjYzBhMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFE1FwWg4u3Op -aaEg5+31IqEjFNeeMB8GA1UdIwQYMBaAFE1FwWg4u3OpaaEg5+31IqEjFNeeMA4GA1UdDwEB/wQE -AwIBhjANBgkqhkiG9w0BAQUFAAOCAgEAZ2sGuV9FOypLM7PmG2tZTiLMubekJcmnxPBUlgtk87FY -T15R/LKXeydlwuXK5w0MJXti4/qftIe3RUavg6WXSIylvfEWK5t2LHo1YGwRgJfMqZJS5ivmae2p -+DYtLHe/YUjRYwu5W1LtGLBDQiKmsXeu3mnFzcccobGlHBD7GL4acN3Bkku+KVqdPzW+5X1R+FXg -JXUjhx5c3LqdsKyzadsXg8n33gy8CNyRnqjQ1xU3c6U1uPx+xURABsPr+CKAXEfOAuMRn0T//Zoy -zH1kUQ7rVyZ2OuMeIjzCpjbdGe+n/BLzJsBZMYVMnNjP36TMzCmT/5RtdlwTCJfy7aULTd3oyWgO -ZtMADjMSW7yV5TKQqLPGbIOtd+6Lfn6xqavT4fG2wLHqiMDn05DpKJKUe2h7lyoKZy2FAjgQ5ANh -1NolNscIWC2hp1GvMApJ9aZphwctREZ2jirlmjvXGKL8nDgQzMY70rUXOm/9riW99XJZZLF0Kjhf -GEzfz3EEWjbUvy+ZnOjZurGV5gJLIaFb1cFPj65pbVPbAZO1XB4Y3WRayhgoPmMEEf0cjQAPuDff -Z4qdZqkCapH/E8ovXYO8h5Ns3CRRFgQlZvqz2cK6Kb6aSDiCmfS/O0oxGfm/jiEzFMpPVF/7zvuP -cX/9XhmgD0uRuMRUvAawRY8mkaKO/qk= ------END CERTIFICATE----- - -Visa eCommerce Root -=================== ------BEGIN CERTIFICATE----- -MIIDojCCAoqgAwIBAgIQE4Y1TR0/BvLB+WUF1ZAcYjANBgkqhkiG9w0BAQUFADBrMQswCQYDVQQG -EwJVUzENMAsGA1UEChMEVklTQTEvMC0GA1UECxMmVmlzYSBJbnRlcm5hdGlvbmFsIFNlcnZpY2Ug -QXNzb2NpYXRpb24xHDAaBgNVBAMTE1Zpc2EgZUNvbW1lcmNlIFJvb3QwHhcNMDIwNjI2MDIxODM2 -WhcNMjIwNjI0MDAxNjEyWjBrMQswCQYDVQQGEwJVUzENMAsGA1UEChMEVklTQTEvMC0GA1UECxMm -VmlzYSBJbnRlcm5hdGlvbmFsIFNlcnZpY2UgQXNzb2NpYXRpb24xHDAaBgNVBAMTE1Zpc2EgZUNv -bW1lcmNlIFJvb3QwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCvV95WHm6h2mCxlCfL -F9sHP4CFT8icttD0b0/Pmdjh28JIXDqsOTPHH2qLJj0rNfVIsZHBAk4ElpF7sDPwsRROEW+1QK8b -RaVK7362rPKgH1g/EkZgPI2h4H3PVz4zHvtH8aoVlwdVZqW1LS7YgFmypw23RuwhY/81q6UCzyr0 -TP579ZRdhE2o8mCP2w4lPJ9zcc+U30rq299yOIzzlr3xF7zSujtFWsan9sYXiwGd/BmoKoMWuDpI -/k4+oKsGGelT84ATB+0tvz8KPFUgOSwsAGl0lUq8ILKpeeUYiZGo3BxN77t+Nwtd/jmliFKMAGzs -GHxBvfaLdXe6YJ2E5/4tAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEG -MB0GA1UdDgQWBBQVOIMPPyw/cDMezUb+B4wg4NfDtzANBgkqhkiG9w0BAQUFAAOCAQEAX/FBfXxc -CLkr4NWSR/pnXKUTwwMhmytMiUbPWU3J/qVAtmPN3XEolWcRzCSs00Rsca4BIGsDoo8Ytyk6feUW -YFN4PMCvFYP3j1IzJL1kk5fui/fbGKhtcbP3LBfQdCVp9/5rPJS+TUtBjE7ic9DjkCJzQ83z7+pz -zkWKsKZJ/0x9nXGIxHYdkFsd7v3M9+79YKWxehZx0RbQfBI8bGmX265fOZpwLwU8GUYEmSA20GBu -YQa7FkKMcPcw++DbZqMAAb3mLNqRX6BGi01qnD093QVG/na/oAo85ADmJ7f/hC3euiInlhBx6yLt -398znM/jra6O1I7mT1GvFpLgXPYHDw== ------END CERTIFICATE----- - -Certum Root CA -============== ------BEGIN CERTIFICATE----- -MIIDDDCCAfSgAwIBAgIDAQAgMA0GCSqGSIb3DQEBBQUAMD4xCzAJBgNVBAYTAlBMMRswGQYDVQQK -ExJVbml6ZXRvIFNwLiB6IG8uby4xEjAQBgNVBAMTCUNlcnR1bSBDQTAeFw0wMjA2MTExMDQ2Mzla -Fw0yNzA2MTExMDQ2MzlaMD4xCzAJBgNVBAYTAlBMMRswGQYDVQQKExJVbml6ZXRvIFNwLiB6IG8u -by4xEjAQBgNVBAMTCUNlcnR1bSBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAM6x -wS7TT3zNJc4YPk/EjG+AanPIW1H4m9LcuwBcsaD8dQPugfCI7iNS6eYVM42sLQnFdvkrOYCJ5JdL -kKWoePhzQ3ukYbDYWMzhbGZ+nPMJXlVjhNWo7/OxLjBos8Q82KxujZlakE403Daaj4GIULdtlkIJ -89eVgw1BS7Bqa/j8D35in2fE7SZfECYPCE/wpFcozo+47UX2bu4lXapuOb7kky/ZR6By6/qmW6/K -Uz/iDsaWVhFu9+lmqSbYf5VT7QqFiLpPKaVCjF62/IUgAKpoC6EahQGcxEZjgoi2IrHu/qpGWX7P -NSzVttpd90gzFFS269lvzs2I1qsb2pY7HVkCAwEAAaMTMBEwDwYDVR0TAQH/BAUwAwEB/zANBgkq -hkiG9w0BAQUFAAOCAQEAuI3O7+cUus/usESSbLQ5PqKEbq24IXfS1HeCh+YgQYHu4vgRt2PRFze+ -GXYkHAQaTOs9qmdvLdTN/mUxcMUbpgIKumB7bVjCmkn+YzILa+M6wKyrO7Do0wlRjBCDxjTgxSvg -GrZgFCdsMneMvLJymM/NzD+5yCRCFNZX/OYmQ6kd5YCQzgNUKD73P9P4Te1qCjqTE5s7FCMTY5w/ -0YcneeVMUeMBrYVdGjux1XMQpNPyvG5k9VpWkKjHDkx0Dy5xO/fIR/RpbxXyEV6DHpx8Uq79AtoS -qFlnGNu8cN2bsWntgM6JQEhqDjXKKWYVIZQs6GAqm4VKQPNriiTsBhYscw== ------END CERTIFICATE----- - -Comodo AAA Services root -======================== ------BEGIN CERTIFICATE----- -MIIEMjCCAxqgAwIBAgIBATANBgkqhkiG9w0BAQUFADB7MQswCQYDVQQGEwJHQjEbMBkGA1UECAwS -R3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHDAdTYWxmb3JkMRowGAYDVQQKDBFDb21vZG8gQ0Eg -TGltaXRlZDEhMB8GA1UEAwwYQUFBIENlcnRpZmljYXRlIFNlcnZpY2VzMB4XDTA0MDEwMTAwMDAw -MFoXDTI4MTIzMTIzNTk1OVowezELMAkGA1UEBhMCR0IxGzAZBgNVBAgMEkdyZWF0ZXIgTWFuY2hl -c3RlcjEQMA4GA1UEBwwHU2FsZm9yZDEaMBgGA1UECgwRQ29tb2RvIENBIExpbWl0ZWQxITAfBgNV -BAMMGEFBQSBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC -ggEBAL5AnfRu4ep2hxxNRUSOvkbIgwadwSr+GB+O5AL686tdUIoWMQuaBtDFcCLNSS1UY8y2bmhG -C1Pqy0wkwLxyTurxFa70VJoSCsN6sjNg4tqJVfMiWPPe3M/vg4aijJRPn2jymJBGhCfHdr/jzDUs -i14HZGWCwEiwqJH5YZ92IFCokcdmtet4YgNW8IoaE+oxox6gmf049vYnMlhvB/VruPsUK6+3qszW -Y19zjNoFmag4qMsXeDZRrOme9Hg6jc8P2ULimAyrL58OAd7vn5lJ8S3frHRNG5i1R8XlKdH5kBjH -Ypy+g8cmez6KJcfA3Z3mNWgQIJ2P2N7Sw4ScDV7oL8kCAwEAAaOBwDCBvTAdBgNVHQ4EFgQUoBEK -Iz6W8Qfs4q8p74Klf9AwpLQwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wewYDVR0f -BHQwcjA4oDagNIYyaHR0cDovL2NybC5jb21vZG9jYS5jb20vQUFBQ2VydGlmaWNhdGVTZXJ2aWNl -cy5jcmwwNqA0oDKGMGh0dHA6Ly9jcmwuY29tb2RvLm5ldC9BQUFDZXJ0aWZpY2F0ZVNlcnZpY2Vz -LmNybDANBgkqhkiG9w0BAQUFAAOCAQEACFb8AvCb6P+k+tZ7xkSAzk/ExfYAWMymtrwUSWgEdujm -7l3sAg9g1o1QGE8mTgHj5rCl7r+8dFRBv/38ErjHT1r0iWAFf2C3BUrz9vHCv8S5dIa2LX1rzNLz -Rt0vxuBqw8M0Ayx9lt1awg6nCpnBBYurDC/zXDrPbDdVCYfeU0BsWO/8tqtlbgT2G9w84FoVxp7Z -8VlIMCFlA2zs6SFz7JsDoeA3raAVGI/6ugLOpyypEBMs1OUIJqsil2D4kF501KKaU73yqWjgom7C -12yxow+ev+to51byrvLjKzg6CYG1a4XXvi3tPxq3smPi9WIsgtRqAEFQ8TmDn5XpNpaYbg== ------END CERTIFICATE----- - -Comodo Secure Services root -=========================== ------BEGIN CERTIFICATE----- -MIIEPzCCAyegAwIBAgIBATANBgkqhkiG9w0BAQUFADB+MQswCQYDVQQGEwJHQjEbMBkGA1UECAwS -R3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHDAdTYWxmb3JkMRowGAYDVQQKDBFDb21vZG8gQ0Eg -TGltaXRlZDEkMCIGA1UEAwwbU2VjdXJlIENlcnRpZmljYXRlIFNlcnZpY2VzMB4XDTA0MDEwMTAw -MDAwMFoXDTI4MTIzMTIzNTk1OVowfjELMAkGA1UEBhMCR0IxGzAZBgNVBAgMEkdyZWF0ZXIgTWFu -Y2hlc3RlcjEQMA4GA1UEBwwHU2FsZm9yZDEaMBgGA1UECgwRQ29tb2RvIENBIExpbWl0ZWQxJDAi -BgNVBAMMG1NlY3VyZSBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczCCASIwDQYJKoZIhvcNAQEBBQADggEP -ADCCAQoCggEBAMBxM4KK0HDrc4eCQNUd5MvJDkKQ+d40uaG6EfQlhfPMcm3ye5drswfxdySRXyWP -9nQ95IDC+DwN879A6vfIUtFyb+/Iq0G4bi4XKpVpDM3SHpR7LZQdqnXXs5jLrLxkU0C8j6ysNstc -rbvd4JQX7NFc0L/vpZXJkMWwrPsbQ996CF23uPJAGysnnlDOXmWCiIxe004MeuoIkbY2qitC++rC -oznl2yY4rYsK7hljxxwk3wN42ubqwUcaCwtGCd0C/N7Lh1/XMGNooa7cMqG6vv5Eq2i2pRcV/b3V -p6ea5EQz6YiO/O1R65NxTq0B50SOqy3LqP4BSUjwwN3HaNiS/j0CAwEAAaOBxzCBxDAdBgNVHQ4E -FgQUPNiTiMLAggnMAZkGkyDpnnAJY08wDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8w -gYEGA1UdHwR6MHgwO6A5oDeGNWh0dHA6Ly9jcmwuY29tb2RvY2EuY29tL1NlY3VyZUNlcnRpZmlj -YXRlU2VydmljZXMuY3JsMDmgN6A1hjNodHRwOi8vY3JsLmNvbW9kby5uZXQvU2VjdXJlQ2VydGlm -aWNhdGVTZXJ2aWNlcy5jcmwwDQYJKoZIhvcNAQEFBQADggEBAIcBbSMdflsXfcFhMs+P5/OKlFlm -4J4oqF7Tt/Q05qo5spcWxYJvMqTpjOev/e/C6LlLqqP05tqNZSH7uoDrJiiFGv45jN5bBAS0VPmj -Z55B+glSzAVIqMk/IQQezkhr/IXownuvf7fM+F86/TXGDe+X3EyrEeFryzHRbPtIgKvcnDe4IRRL -DXE97IMzbtFuMhbsmMcWi1mmNKsFVy2T96oTy9IT4rcuO81rUBcJaD61JlfutuC23bkpgHl9j6Pw -pCikFcSF9CfUa7/lXORlAnZUtOM3ZiTTGWHIUhDlizeauan5Hb/qmZJhlv8BzaFfDbxxvA6sCx1H -RR3B7Hzs/Sk= ------END CERTIFICATE----- - -Comodo Trusted Services root -============================ ------BEGIN CERTIFICATE----- -MIIEQzCCAyugAwIBAgIBATANBgkqhkiG9w0BAQUFADB/MQswCQYDVQQGEwJHQjEbMBkGA1UECAwS -R3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHDAdTYWxmb3JkMRowGAYDVQQKDBFDb21vZG8gQ0Eg -TGltaXRlZDElMCMGA1UEAwwcVHJ1c3RlZCBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczAeFw0wNDAxMDEw -MDAwMDBaFw0yODEyMzEyMzU5NTlaMH8xCzAJBgNVBAYTAkdCMRswGQYDVQQIDBJHcmVhdGVyIE1h -bmNoZXN0ZXIxEDAOBgNVBAcMB1NhbGZvcmQxGjAYBgNVBAoMEUNvbW9kbyBDQSBMaW1pdGVkMSUw -IwYDVQQDDBxUcnVzdGVkIENlcnRpZmljYXRlIFNlcnZpY2VzMIIBIjANBgkqhkiG9w0BAQEFAAOC -AQ8AMIIBCgKCAQEA33FvNlhTWvI2VFeAxHQIIO0Yfyod5jWaHiWsnOWWfnJSoBVC21ndZHoa0Lh7 -3TkVvFVIxO06AOoxEbrycXQaZ7jPM8yoMa+j49d/vzMtTGo87IvDktJTdyR0nAducPy9C1t2ul/y -/9c3S0pgePfw+spwtOpZqqPOSC+pw7ILfhdyFgymBwwbOM/JYrc/oJOlh0Hyt3BAd9i+FHzjqMB6 -juljatEPmsbS9Is6FARW1O24zG71++IsWL1/T2sr92AkWCTOJu80kTrV44HQsvAEAtdbtz6SrGsS -ivnkBbA7kUlcsutT6vifR4buv5XAwAaf0lteERv0xwQ1KdJVXOTt6wIDAQABo4HJMIHGMB0GA1Ud -DgQWBBTFe1i97doladL3WRaoszLAeydb9DAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB -/zCBgwYDVR0fBHwwejA8oDqgOIY2aHR0cDovL2NybC5jb21vZG9jYS5jb20vVHJ1c3RlZENlcnRp -ZmljYXRlU2VydmljZXMuY3JsMDqgOKA2hjRodHRwOi8vY3JsLmNvbW9kby5uZXQvVHJ1c3RlZENl -cnRpZmljYXRlU2VydmljZXMuY3JsMA0GCSqGSIb3DQEBBQUAA4IBAQDIk4E7ibSvuIQSTI3S8Ntw -uleGFTQQuS9/HrCoiWChisJ3DFBKmwCL2Iv0QeLQg4pKHBQGsKNoBXAxMKdTmw7pSqBYaWcOrp32 -pSxBvzwGa+RZzG0Q8ZZvH9/0BAKkn0U+yNj6NkZEUD+Cl5EfKNsYEYwq5GWDVxISjBc/lDb+XbDA -BHcTuPQV1T84zJQ6VdCsmPW6AF/ghhmBeC8owH7TzEIK9a5QoNE+xqFx7D+gIIxmOom0jtTYsU0l -R+4viMi14QVFwL4Ucd56/Y57fU0IlqUSc/AtyjcndBInTMu2l+nZrghtWjlA3QVHdWpaIbOjGM9O -9y5Xt5hwXsjEeLBi ------END CERTIFICATE----- - -QuoVadis Root CA -================ ------BEGIN CERTIFICATE----- -MIIF0DCCBLigAwIBAgIEOrZQizANBgkqhkiG9w0BAQUFADB/MQswCQYDVQQGEwJCTTEZMBcGA1UE -ChMQUXVvVmFkaXMgTGltaXRlZDElMCMGA1UECxMcUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0 -eTEuMCwGA1UEAxMlUXVvVmFkaXMgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wMTAz -MTkxODMzMzNaFw0yMTAzMTcxODMzMzNaMH8xCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRp -cyBMaW1pdGVkMSUwIwYDVQQLExxSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MS4wLAYDVQQD -EyVRdW9WYWRpcyBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEF -AAOCAQ8AMIIBCgKCAQEAv2G1lVO6V/z68mcLOhrfEYBklbTRvM16z/Ypli4kVEAkOPcahdxYTMuk -J0KX0J+DisPkBgNbAKVRHnAEdOLB1Dqr1607BxgFjv2DrOpm2RgbaIr1VxqYuvXtdj182d6UajtL -F8HVj71lODqV0D1VNk7feVcxKh7YWWVJWCCYfqtffp/p1k3sg3Spx2zY7ilKhSoGFPlU5tPaZQeL -YzcS19Dsw3sgQUSj7cugF+FxZc4dZjH3dgEZyH0DWLaVSR2mEiboxgx24ONmy+pdpibu5cxfvWen -AScOospUxbF6lR1xHkopigPcakXBpBlebzbNw6Kwt/5cOOJSvPhEQ+aQuwIDAQABo4ICUjCCAk4w -PQYIKwYBBQUHAQEEMTAvMC0GCCsGAQUFBzABhiFodHRwczovL29jc3AucXVvdmFkaXNvZmZzaG9y -ZS5jb20wDwYDVR0TAQH/BAUwAwEB/zCCARoGA1UdIASCAREwggENMIIBCQYJKwYBBAG+WAABMIH7 -MIHUBggrBgEFBQcCAjCBxxqBxFJlbGlhbmNlIG9uIHRoZSBRdW9WYWRpcyBSb290IENlcnRpZmlj -YXRlIGJ5IGFueSBwYXJ0eSBhc3N1bWVzIGFjY2VwdGFuY2Ugb2YgdGhlIHRoZW4gYXBwbGljYWJs -ZSBzdGFuZGFyZCB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB1c2UsIGNlcnRpZmljYXRpb24gcHJh -Y3RpY2VzLCBhbmQgdGhlIFF1b1ZhZGlzIENlcnRpZmljYXRlIFBvbGljeS4wIgYIKwYBBQUHAgEW -Fmh0dHA6Ly93d3cucXVvdmFkaXMuYm0wHQYDVR0OBBYEFItLbe3TKbkGGew5Oanwl4Rqy+/fMIGu -BgNVHSMEgaYwgaOAFItLbe3TKbkGGew5Oanwl4Rqy+/foYGEpIGBMH8xCzAJBgNVBAYTAkJNMRkw -FwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMSUwIwYDVQQLExxSb290IENlcnRpZmljYXRpb24gQXV0 -aG9yaXR5MS4wLAYDVQQDEyVRdW9WYWRpcyBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5ggQ6 -tlCLMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQUFAAOCAQEAitQUtf70mpKnGdSkfnIYj9lo -fFIk3WdvOXrEql494liwTXCYhGHoG+NpGA7O+0dQoE7/8CQfvbLO9Sf87C9TqnN7Az10buYWnuul -LsS/VidQK2K6vkscPFVcQR0kvoIgR13VRH56FmjffU1RcHhXHTMe/QKZnAzNCgVPx7uOpHX6Sm2x -gI4JVrmcGmD+XcHXetwReNDWXcG31a0ymQM6isxUJTkxgXsTIlG6Rmyhu576BGxJJnSP0nPrzDCi -5upZIof4l/UO/erMkqQWxFIY6iHOsfHmhIHluqmGKPJDWl0Snawe2ajlCmqnf6CHKc/yiU3U7MXi -5nrQNiOKSnQ2+Q== ------END CERTIFICATE----- - -QuoVadis Root CA 2 -================== ------BEGIN CERTIFICATE----- -MIIFtzCCA5+gAwIBAgICBQkwDQYJKoZIhvcNAQEFBQAwRTELMAkGA1UEBhMCQk0xGTAXBgNVBAoT -EFF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMTElF1b1ZhZGlzIFJvb3QgQ0EgMjAeFw0wNjExMjQx -ODI3MDBaFw0zMTExMjQxODIzMzNaMEUxCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBM -aW1pdGVkMRswGQYDVQQDExJRdW9WYWRpcyBSb290IENBIDIwggIiMA0GCSqGSIb3DQEBAQUAA4IC -DwAwggIKAoICAQCaGMpLlA0ALa8DKYrwD4HIrkwZhR0In6spRIXzL4GtMh6QRr+jhiYaHv5+HBg6 -XJxgFyo6dIMzMH1hVBHL7avg5tKifvVrbxi3Cgst/ek+7wrGsxDp3MJGF/hd/aTa/55JWpzmM+Yk -lvc/ulsrHHo1wtZn/qtmUIttKGAr79dgw8eTvI02kfN/+NsRE8Scd3bBrrcCaoF6qUWD4gXmuVbB -lDePSHFjIuwXZQeVikvfj8ZaCuWw419eaxGrDPmF60Tp+ARz8un+XJiM9XOva7R+zdRcAitMOeGy -lZUtQofX1bOQQ7dsE/He3fbE+Ik/0XX1ksOR1YqI0JDs3G3eicJlcZaLDQP9nL9bFqyS2+r+eXyt -66/3FsvbzSUr5R/7mp/iUcw6UwxI5g69ybR2BlLmEROFcmMDBOAENisgGQLodKcftslWZvB1Jdxn -wQ5hYIizPtGo/KPaHbDRsSNU30R2be1B2MGyIrZTHN81Hdyhdyox5C315eXbyOD/5YDXC2Og/zOh -D7osFRXql7PSorW+8oyWHhqPHWykYTe5hnMz15eWniN9gqRMgeKh0bpnX5UHoycR7hYQe7xFSkyy -BNKr79X9DFHOUGoIMfmR2gyPZFwDwzqLID9ujWc9Otb+fVuIyV77zGHcizN300QyNQliBJIWENie -J0f7OyHj+OsdWwIDAQABo4GwMIGtMA8GA1UdEwEB/wQFMAMBAf8wCwYDVR0PBAQDAgEGMB0GA1Ud -DgQWBBQahGK8SEwzJQTU7tD2A8QZRtGUazBuBgNVHSMEZzBlgBQahGK8SEwzJQTU7tD2A8QZRtGU -a6FJpEcwRTELMAkGA1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMT -ElF1b1ZhZGlzIFJvb3QgQ0EgMoICBQkwDQYJKoZIhvcNAQEFBQADggIBAD4KFk2fBluornFdLwUv -Z+YTRYPENvbzwCYMDbVHZF34tHLJRqUDGCdViXh9duqWNIAXINzng/iN/Ae42l9NLmeyhP3ZRPx3 -UIHmfLTJDQtyU/h2BwdBR5YM++CCJpNVjP4iH2BlfF/nJrP3MpCYUNQ3cVX2kiF495V5+vgtJodm -VjB3pjd4M1IQWK4/YY7yarHvGH5KWWPKjaJW1acvvFYfzznB4vsKqBUsfU16Y8Zsl0Q80m/DShcK -+JDSV6IZUaUtl0HaB0+pUNqQjZRG4T7wlP0QADj1O+hA4bRuVhogzG9Yje0uRY/W6ZM/57Es3zrW -IozchLsib9D45MY56QSIPMO661V6bYCZJPVsAfv4l7CUW+v90m/xd2gNNWQjrLhVoQPRTUIZ3Ph1 -WVaj+ahJefivDrkRoHy3au000LYmYjgahwz46P0u05B/B5EqHdZ+XIWDmbA4CD/pXvk1B+TJYm5X -f6dQlfe6yJvmjqIBxdZmv3lh8zwc4bmCXF2gw+nYSL0ZohEUGW6yhhtoPkg3Goi3XZZenMfvJ2II -4pEZXNLxId26F0KCl3GBUzGpn/Z9Yr9y4aOTHcyKJloJONDO1w2AFrR4pTqHTI2KpdVGl/IsELm8 -VCLAAVBpQ570su9t+Oza8eOx79+Rj1QqCyXBJhnEUhAFZdWCEOrCMc0u ------END CERTIFICATE----- - -QuoVadis Root CA 3 -================== ------BEGIN CERTIFICATE----- -MIIGnTCCBIWgAwIBAgICBcYwDQYJKoZIhvcNAQEFBQAwRTELMAkGA1UEBhMCQk0xGTAXBgNVBAoT -EFF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMTElF1b1ZhZGlzIFJvb3QgQ0EgMzAeFw0wNjExMjQx -OTExMjNaFw0zMTExMjQxOTA2NDRaMEUxCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBM -aW1pdGVkMRswGQYDVQQDExJRdW9WYWRpcyBSb290IENBIDMwggIiMA0GCSqGSIb3DQEBAQUAA4IC -DwAwggIKAoICAQDMV0IWVJzmmNPTTe7+7cefQzlKZbPoFog02w1ZkXTPkrgEQK0CSzGrvI2RaNgg -DhoB4hp7Thdd4oq3P5kazethq8Jlph+3t723j/z9cI8LoGe+AaJZz3HmDyl2/7FWeUUrH556VOij -KTVopAFPD6QuN+8bv+OPEKhyq1hX51SGyMnzW9os2l2ObjyjPtr7guXd8lyyBTNvijbO0BNO/79K -DDRMpsMhvVAEVeuxu537RR5kFd5VAYwCdrXLoT9CabwvvWhDFlaJKjdhkf2mrk7AyxRllDdLkgbv -BNDInIjbC3uBr7E9KsRlOni27tyAsdLTmZw67mtaa7ONt9XOnMK+pUsvFrGeaDsGb659n/je7Mwp -p5ijJUMv7/FfJuGITfhebtfZFG4ZM2mnO4SJk8RTVROhUXhA+LjJou57ulJCg54U7QVSWllWp5f8 -nT8KKdjcT5EOE7zelaTfi5m+rJsziO+1ga8bxiJTyPbH7pcUsMV8eFLI8M5ud2CEpukqdiDtWAEX -MJPpGovgc2PZapKUSU60rUqFxKMiMPwJ7Wgic6aIDFUhWMXhOp8q3crhkODZc6tsgLjoC2SToJyM -Gf+z0gzskSaHirOi4XCPLArlzW1oUevaPwV/izLmE1xr/l9A4iLItLRkT9a6fUg+qGkM17uGcclz -uD87nSVL2v9A6wIDAQABo4IBlTCCAZEwDwYDVR0TAQH/BAUwAwEB/zCB4QYDVR0gBIHZMIHWMIHT -BgkrBgEEAb5YAAMwgcUwgZMGCCsGAQUFBwICMIGGGoGDQW55IHVzZSBvZiB0aGlzIENlcnRpZmlj -YXRlIGNvbnN0aXR1dGVzIGFjY2VwdGFuY2Ugb2YgdGhlIFF1b1ZhZGlzIFJvb3QgQ0EgMyBDZXJ0 -aWZpY2F0ZSBQb2xpY3kgLyBDZXJ0aWZpY2F0aW9uIFByYWN0aWNlIFN0YXRlbWVudC4wLQYIKwYB -BQUHAgEWIWh0dHA6Ly93d3cucXVvdmFkaXNnbG9iYWwuY29tL2NwczALBgNVHQ8EBAMCAQYwHQYD -VR0OBBYEFPLAE+CCQz777i9nMpY1XNu4ywLQMG4GA1UdIwRnMGWAFPLAE+CCQz777i9nMpY1XNu4 -ywLQoUmkRzBFMQswCQYDVQQGEwJCTTEZMBcGA1UEChMQUXVvVmFkaXMgTGltaXRlZDEbMBkGA1UE -AxMSUXVvVmFkaXMgUm9vdCBDQSAzggIFxjANBgkqhkiG9w0BAQUFAAOCAgEAT62gLEz6wPJv92ZV -qyM07ucp2sNbtrCD2dDQ4iH782CnO11gUyeim/YIIirnv6By5ZwkajGxkHon24QRiSemd1o417+s -hvzuXYO8BsbRd2sPbSQvS3pspweWyuOEn62Iix2rFo1bZhfZFvSLgNLd+LJ2w/w4E6oM3kJpK27z -POuAJ9v1pkQNn1pVWQvVDVJIxa6f8i+AxeoyUDUSly7B4f/xI4hROJ/yZlZ25w9Rl6VSDE1JUZU2 -Pb+iSwwQHYaZTKrzchGT5Or2m9qoXadNt54CrnMAyNojA+j56hl0YgCUyyIgvpSnWbWCar6ZeXqp -8kokUvd0/bpO5qgdAm6xDYBEwa7TIzdfu4V8K5Iu6H6li92Z4b8nby1dqnuH/grdS/yO9SbkbnBC -bjPsMZ57k8HkyWkaPcBrTiJt7qtYTcbQQcEr6k8Sh17rRdhs9ZgC06DYVYoGmRmioHfRMJ6szHXu -g/WwYjnPbFfiTNKRCw51KBuav/0aQ/HKd/s7j2G4aSgWQgRecCocIdiP4b0jWy10QJLZYxkNc91p -vGJHvOB0K7Lrfb5BG7XARsWhIstfTsEokt4YutUqKLsRixeTmJlglFwjz1onl14LBQaTNx47aTbr -qZ5hHY8y2o4M1nQ+ewkk2gF3R8Q7zTSMmfXK4SVhM7JZG+Ju1zdXtg2pEto= ------END CERTIFICATE----- - -Security Communication Root CA -============================== ------BEGIN CERTIFICATE----- -MIIDWjCCAkKgAwIBAgIBADANBgkqhkiG9w0BAQUFADBQMQswCQYDVQQGEwJKUDEYMBYGA1UEChMP -U0VDT00gVHJ1c3QubmV0MScwJQYDVQQLEx5TZWN1cml0eSBDb21tdW5pY2F0aW9uIFJvb3RDQTEw -HhcNMDMwOTMwMDQyMDQ5WhcNMjMwOTMwMDQyMDQ5WjBQMQswCQYDVQQGEwJKUDEYMBYGA1UEChMP -U0VDT00gVHJ1c3QubmV0MScwJQYDVQQLEx5TZWN1cml0eSBDb21tdW5pY2F0aW9uIFJvb3RDQTEw -ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCzs/5/022x7xZ8V6UMbXaKL0u/ZPtM7orw -8yl89f/uKuDp6bpbZCKamm8sOiZpUQWZJtzVHGpxxpp9Hp3dfGzGjGdnSj74cbAZJ6kJDKaVv0uM -DPpVmDvY6CKhS3E4eayXkmmziX7qIWgGmBSWh9JhNrxtJ1aeV+7AwFb9Ms+k2Y7CI9eNqPPYJayX -5HA49LY6tJ07lyZDo6G8SVlyTCMwhwFY9k6+HGhWZq/NQV3Is00qVUarH9oe4kA92819uZKAnDfd -DJZkndwi92SL32HeFZRSFaB9UslLqCHJxrHty8OVYNEP8Ktw+N/LTX7s1vqr2b1/VPKl6Xn62dZ2 -JChzAgMBAAGjPzA9MB0GA1UdDgQWBBSgc0mZaNyFW2XjmygvV5+9M7wHSDALBgNVHQ8EBAMCAQYw -DwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQUFAAOCAQEAaECpqLvkT115swW1F7NgE+vGkl3g -0dNq/vu+m22/xwVtWSDEHPC32oRYAmP6SBbvT6UL90qY8j+eG61Ha2POCEfrUj94nK9NrvjVT8+a -mCoQQTlSxN3Zmw7vkwGusi7KaEIkQmywszo+zenaSMQVy+n5Bw+SUEmK3TGXX8npN6o7WWWXlDLJ -s58+OmJYxUmtYg5xpTKqL8aJdkNAExNnPaJUJRDL8Try2frbSVa7pv6nQTXD4IhhyYjH3zYQIphZ -6rBK+1YWc26sTfcioU+tHXotRSflMMFe8toTyyVCUZVHA4xsIcx0Qu1T/zOLjw9XARYvz6buyXAi -FL39vmwLAw== ------END CERTIFICATE----- - -Sonera Class 2 Root CA -====================== ------BEGIN CERTIFICATE----- -MIIDIDCCAgigAwIBAgIBHTANBgkqhkiG9w0BAQUFADA5MQswCQYDVQQGEwJGSTEPMA0GA1UEChMG -U29uZXJhMRkwFwYDVQQDExBTb25lcmEgQ2xhc3MyIENBMB4XDTAxMDQwNjA3Mjk0MFoXDTIxMDQw -NjA3Mjk0MFowOTELMAkGA1UEBhMCRkkxDzANBgNVBAoTBlNvbmVyYTEZMBcGA1UEAxMQU29uZXJh -IENsYXNzMiBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJAXSjWdyvANlsdE+hY3 -/Ei9vX+ALTU74W+oZ6m/AxxNjG8yR9VBaKQTBME1DJqEQ/xcHf+Js+gXGM2RX/uJ4+q/Tl18GybT -dXnt5oTjV+WtKcT0OijnpXuENmmz/V52vaMtmdOQTiMofRhj8VQ7Jp12W5dCsv+u8E7s3TmVToMG -f+dJQMjFAbJUWmYdPfz56TwKnoG4cPABi+QjVHzIrviQHgCWctRUz2EjvOr7nQKV0ba5cTppCD8P -tOFCx4j1P5iop7oc4HFx71hXgVB6XGt0Rg6DA5jDjqhu8nYybieDwnPz3BjotJPqdURrBGAgcVeH -nfO+oJAjPYok4doh28MCAwEAAaMzMDEwDwYDVR0TAQH/BAUwAwEB/zARBgNVHQ4ECgQISqCqWITT -XjwwCwYDVR0PBAQDAgEGMA0GCSqGSIb3DQEBBQUAA4IBAQBazof5FnIVV0sd2ZvnoiYw7JNn39Yt -0jSv9zilzqsWuasvfDXLrNAPtEwr/IDva4yRXzZ299uzGxnq9LIR/WFxRL8oszodv7ND6J+/3DEI -cbCdjdY0RzKQxmUk96BKfARzjzlvF4xytb1LyHr4e4PDKE6cCepnP7JnBBvDFNr450kkkdAdavph -Oe9r5yF1BgfYErQhIHBCcYHaPJo2vqZbDWpsmh+Re/n570K6Tk6ezAyNlNzZRZxe7EJQY670XcSx -EtzKO6gunRRaBXW37Ndj4ro1tgQIkejanZz2ZrUYrAqmVCY0M9IbwdR/GjqOC6oybtv8TyWf2TLH -llpwrN9M ------END CERTIFICATE----- - -Staat der Nederlanden Root CA -============================= ------BEGIN CERTIFICATE----- -MIIDujCCAqKgAwIBAgIEAJiWijANBgkqhkiG9w0BAQUFADBVMQswCQYDVQQGEwJOTDEeMBwGA1UE -ChMVU3RhYXQgZGVyIE5lZGVybGFuZGVuMSYwJAYDVQQDEx1TdGFhdCBkZXIgTmVkZXJsYW5kZW4g -Um9vdCBDQTAeFw0wMjEyMTcwOTIzNDlaFw0xNTEyMTYwOTE1MzhaMFUxCzAJBgNVBAYTAk5MMR4w -HAYDVQQKExVTdGFhdCBkZXIgTmVkZXJsYW5kZW4xJjAkBgNVBAMTHVN0YWF0IGRlciBOZWRlcmxh -bmRlbiBSb290IENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAmNK1URF6gaYUmHFt -vsznExvWJw56s2oYHLZhWtVhCb/ekBPHZ+7d89rFDBKeNVU+LCeIQGv33N0iYfXCxw719tV2U02P -jLwYdjeFnejKScfST5gTCaI+Ioicf9byEGW07l8Y1Rfj+MX94p2i71MOhXeiD+EwR+4A5zN9RGca -C1Hoi6CeUJhoNFIfLm0B8mBF8jHrqTFoKbt6QZ7GGX+UtFE5A3+y3qcym7RHjm+0Sq7lr7HcsBth -vJly3uSJt3omXdozSVtSnA71iq3DuD3oBmrC1SoLbHuEvVYFy4ZlkuxEK7COudxwC0barbxjiDn6 -22r+I/q85Ej0ZytqERAhSQIDAQABo4GRMIGOMAwGA1UdEwQFMAMBAf8wTwYDVR0gBEgwRjBEBgRV -HSAAMDwwOgYIKwYBBQUHAgEWLmh0dHA6Ly93d3cucGtpb3ZlcmhlaWQubmwvcG9saWNpZXMvcm9v -dC1wb2xpY3kwDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBSofeu8Y6R0E3QA7Jbg0zTBLL9s+DAN -BgkqhkiG9w0BAQUFAAOCAQEABYSHVXQ2YcG70dTGFagTtJ+k/rvuFbQvBgwp8qiSpGEN/KtcCFtR -EytNwiphyPgJWPwtArI5fZlmgb9uXJVFIGzmeafR2Bwp/MIgJ1HI8XxdNGdphREwxgDS1/PTfLbw -MVcoEoJz6TMvplW0C5GUR5z6u3pCMuiufi3IvKwUv9kP2Vv8wfl6leF9fpb8cbDCTMjfRTTJzg3y -nGQI0DvDKcWy7ZAEwbEpkcUwb8GpcjPM/l0WFywRaed+/sWDCN+83CI6LiBpIzlWYGeQiy52OfsR -iJf2fL1LuCAWZwWN4jvBcj+UlTfHXbme2JOhF4//DGYVwSR8MnwDHTuhWEUykw== ------END CERTIFICATE----- - -TDC Internet Root CA -==================== ------BEGIN CERTIFICATE----- -MIIEKzCCAxOgAwIBAgIEOsylTDANBgkqhkiG9w0BAQUFADBDMQswCQYDVQQGEwJESzEVMBMGA1UE -ChMMVERDIEludGVybmV0MR0wGwYDVQQLExRUREMgSW50ZXJuZXQgUm9vdCBDQTAeFw0wMTA0MDUx -NjMzMTdaFw0yMTA0MDUxNzAzMTdaMEMxCzAJBgNVBAYTAkRLMRUwEwYDVQQKEwxUREMgSW50ZXJu -ZXQxHTAbBgNVBAsTFFREQyBJbnRlcm5ldCBSb290IENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A -MIIBCgKCAQEAxLhAvJHVYx/XmaCLDEAedLdInUaMArLgJF/wGROnN4NrXceO+YQwzho7+vvOi20j -xsNuZp+Jpd/gQlBn+h9sHvTQBda/ytZO5GhgbEaqHF1j4QeGDmUApy6mcca8uYGoOn0a0vnRrEvL -znWv3Hv6gXPU/Lq9QYjUdLP5Xjg6PEOo0pVOd20TDJ2PeAG3WiAfAzc14izbSysseLlJ28TQx5yc -5IogCSEWVmb/Bexb4/DPqyQkXsN/cHoSxNK1EKC2IeGNeGlVRGn1ypYcNIUXJXfi9i8nmHj9eQY6 -otZaQ8H/7AQ77hPv01ha/5Lr7K7a8jcDR0G2l8ktCkEiu7vmpwIDAQABo4IBJTCCASEwEQYJYIZI -AYb4QgEBBAQDAgAHMGUGA1UdHwReMFwwWqBYoFakVDBSMQswCQYDVQQGEwJESzEVMBMGA1UEChMM -VERDIEludGVybmV0MR0wGwYDVQQLExRUREMgSW50ZXJuZXQgUm9vdCBDQTENMAsGA1UEAxMEQ1JM -MTArBgNVHRAEJDAigA8yMDAxMDQwNTE2MzMxN1qBDzIwMjEwNDA1MTcwMzE3WjALBgNVHQ8EBAMC -AQYwHwYDVR0jBBgwFoAUbGQBx/2FbazI2p5QCIUItTxWqFAwHQYDVR0OBBYEFGxkAcf9hW2syNqe -UAiFCLU8VqhQMAwGA1UdEwQFMAMBAf8wHQYJKoZIhvZ9B0EABBAwDhsIVjUuMDo0LjADAgSQMA0G -CSqGSIb3DQEBBQUAA4IBAQBOQ8zR3R0QGwZ/t6T609lN+yOfI1Rb5osvBCiLtSdtiaHsmGnc540m -gwV5dOy0uaOXwTUA/RXaOYE6lTGQ3pfphqiZdwzlWqCE/xIWrG64jcN7ksKsLtB9KOy282A4aW8+ -2ARVPp7MVdK6/rtHBNcK2RYKNCn1WBPVT8+PVkuzHu7TmHnaCB4Mb7j4Fifvwm899qNLPg7kbWzb -O0ESm70NRyN/PErQr8Cv9u8btRXE64PECV90i9kR+8JWsTz4cMo0jUNAE4z9mQNUecYu6oah9jrU -Cbz0vGbMPVjQV0kK7iXiQe4T+Zs4NNEA9X7nlB38aQNiuJkFBT1reBK9sG9l ------END CERTIFICATE----- - -TDC OCES Root CA -================ ------BEGIN CERTIFICATE----- -MIIFGTCCBAGgAwIBAgIEPki9xDANBgkqhkiG9w0BAQUFADAxMQswCQYDVQQGEwJESzEMMAoGA1UE -ChMDVERDMRQwEgYDVQQDEwtUREMgT0NFUyBDQTAeFw0wMzAyMTEwODM5MzBaFw0zNzAyMTEwOTA5 -MzBaMDExCzAJBgNVBAYTAkRLMQwwCgYDVQQKEwNUREMxFDASBgNVBAMTC1REQyBPQ0VTIENBMIIB -IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArGL2YSCyz8DGhdfjeebM7fI5kqSXLmSjhFuH -nEz9pPPEXyG9VhDr2y5h7JNp46PMvZnDBfwGuMo2HP6QjklMxFaaL1a8z3sM8W9Hpg1DTeLpHTk0 -zY0s2RKY+ePhwUp8hjjEqcRhiNJerxomTdXkoCJHhNlktxmW/OwZ5LKXJk5KTMuPJItUGBxIYXvV -iGjaXbXqzRowwYCDdlCqT9HU3Tjw7xb04QxQBr/q+3pJoSgrHPb8FTKjdGqPqcNiKXEx5TukYBde -dObaE+3pHx8b0bJoc8YQNHVGEBDjkAB2QMuLt0MJIf+rTpPGWOmlgtt3xDqZsXKVSQTwtyv6e1mO -3QIDAQABo4ICNzCCAjMwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwgewGA1UdIASB -5DCB4TCB3gYIKoFQgSkBAQEwgdEwLwYIKwYBBQUHAgEWI2h0dHA6Ly93d3cuY2VydGlmaWthdC5k -ay9yZXBvc2l0b3J5MIGdBggrBgEFBQcCAjCBkDAKFgNUREMwAwIBARqBgUNlcnRpZmlrYXRlciBm -cmEgZGVubmUgQ0EgdWRzdGVkZXMgdW5kZXIgT0lEIDEuMi4yMDguMTY5LjEuMS4xLiBDZXJ0aWZp -Y2F0ZXMgZnJvbSB0aGlzIENBIGFyZSBpc3N1ZWQgdW5kZXIgT0lEIDEuMi4yMDguMTY5LjEuMS4x -LjARBglghkgBhvhCAQEEBAMCAAcwgYEGA1UdHwR6MHgwSKBGoESkQjBAMQswCQYDVQQGEwJESzEM -MAoGA1UEChMDVERDMRQwEgYDVQQDEwtUREMgT0NFUyBDQTENMAsGA1UEAxMEQ1JMMTAsoCqgKIYm -aHR0cDovL2NybC5vY2VzLmNlcnRpZmlrYXQuZGsvb2Nlcy5jcmwwKwYDVR0QBCQwIoAPMjAwMzAy -MTEwODM5MzBagQ8yMDM3MDIxMTA5MDkzMFowHwYDVR0jBBgwFoAUYLWF7FZkfhIZJ2cdUBVLc647 -+RIwHQYDVR0OBBYEFGC1hexWZH4SGSdnHVAVS3OuO/kSMB0GCSqGSIb2fQdBAAQQMA4bCFY2LjA6 -NC4wAwIEkDANBgkqhkiG9w0BAQUFAAOCAQEACromJkbTc6gJ82sLMJn9iuFXehHTuJTXCRBuo7E4 -A9G28kNBKWKnctj7fAXmMXAnVBhOinxO5dHKjHiIzxvTkIvmI/gLDjNDfZziChmPyQE+dF10yYsc -A+UYyAFMP8uXBV2YcaaYb7Z8vTd/vuGTJW1v8AqtFxjhA7wHKcitJuj4YfD9IQl+mo6paH1IYnK9 -AOoBmbgGglGBTvH1tJFUuSN6AJqfXY3gPGS5GhKSKseCRHI53OI8xthV9RVOyAUO28bQYqbsFbS1 -AoLbrIyigfCbmTH1ICCoiGEKB5+U/NDXG8wuF/MEJ3Zn61SD/aSQfgY9BKNDLdr8C2LqL19iUw== ------END CERTIFICATE----- - -UTN DATACorp SGC Root CA -======================== ------BEGIN CERTIFICATE----- -MIIEXjCCA0agAwIBAgIQRL4Mi1AAIbQR0ypoBqmtaTANBgkqhkiG9w0BAQUFADCBkzELMAkGA1UE -BhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2UgQ2l0eTEeMBwGA1UEChMVVGhl -IFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExhodHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xGzAZ -BgNVBAMTElVUTiAtIERBVEFDb3JwIFNHQzAeFw05OTA2MjQxODU3MjFaFw0xOTA2MjQxOTA2MzBa -MIGTMQswCQYDVQQGEwJVUzELMAkGA1UECBMCVVQxFzAVBgNVBAcTDlNhbHQgTGFrZSBDaXR5MR4w -HAYDVQQKExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxITAfBgNVBAsTGGh0dHA6Ly93d3cudXNlcnRy -dXN0LmNvbTEbMBkGA1UEAxMSVVROIC0gREFUQUNvcnAgU0dDMIIBIjANBgkqhkiG9w0BAQEFAAOC -AQ8AMIIBCgKCAQEA3+5YEKIrblXEjr8uRgnn4AgPLit6E5Qbvfa2gI5lBZMAHryv4g+OGQ0SR+ys -raP6LnD43m77VkIVni5c7yPeIbkFdicZD0/Ww5y0vpQZY/KmEQrrU0icvvIpOxboGqBMpsn0GFlo -wHDyUwDAXlCCpVZvNvlK4ESGoE1O1kduSUrLZ9emxAW5jh70/P/N5zbgnAVssjMiFdC04MwXwLLA -9P4yPykqlXvY8qdOD1R8oQ2AswkDwf9c3V6aPryuvEeKaq5xyh+xKrhfQgUL7EYw0XILyulWbfXv -33i+Ybqypa4ETLyorGkVl73v67SMvzX41MPRKA5cOp9wGDMgd8SirwIDAQABo4GrMIGoMAsGA1Ud -DwQEAwIBxjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRTMtGzz3/64PGgXYVOktKeRR20TzA9 -BgNVHR8ENjA0MDKgMKAuhixodHRwOi8vY3JsLnVzZXJ0cnVzdC5jb20vVVROLURBVEFDb3JwU0dD -LmNybDAqBgNVHSUEIzAhBggrBgEFBQcDAQYKKwYBBAGCNwoDAwYJYIZIAYb4QgQBMA0GCSqGSIb3 -DQEBBQUAA4IBAQAnNZcAiosovcYzMB4p/OL31ZjUQLtgyr+rFywJNn9Q+kHcrpY6CiM+iVnJowft -Gzet/Hy+UUla3joKVAgWRcKZsYfNjGjgaQPpxE6YsjuMFrMOoAyYUJuTqXAJyCyjj98C5OBxOvG0 -I3KgqgHf35g+FFCgMSa9KOlaMCZ1+XtgHI3zzVAmbQQnmt/VDUVHKWss5nbZqSl9Mt3JNjy9rjXx -EZ4du5A/EkdOjtd+D2JzHVImOBwYSf0wdJrE5SIv2MCN7ZF6TACPcn9d2t0bi0Vr591pl6jFVkwP -DPafepE39peC4N1xaf92P2BNPM/3mfnGV/TJVTl4uix5yaaIK/QI ------END CERTIFICATE----- - -UTN USERFirst Hardware Root CA -============================== ------BEGIN CERTIFICATE----- -MIIEdDCCA1ygAwIBAgIQRL4Mi1AAJLQR0zYq/mUK/TANBgkqhkiG9w0BAQUFADCBlzELMAkGA1UE -BhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2UgQ2l0eTEeMBwGA1UEChMVVGhl -IFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExhodHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xHzAd -BgNVBAMTFlVUTi1VU0VSRmlyc3QtSGFyZHdhcmUwHhcNOTkwNzA5MTgxMDQyWhcNMTkwNzA5MTgx -OTIyWjCBlzELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2UgQ2l0 -eTEeMBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExhodHRwOi8vd3d3LnVz -ZXJ0cnVzdC5jb20xHzAdBgNVBAMTFlVUTi1VU0VSRmlyc3QtSGFyZHdhcmUwggEiMA0GCSqGSIb3 -DQEBAQUAA4IBDwAwggEKAoIBAQCx98M4P7Sof885glFn0G2f0v9Y8+efK+wNiVSZuTiZFvfgIXlI -wrthdBKWHTxqctU8EGc6Oe0rE81m65UJM6Rsl7HoxuzBdXmcRl6Nq9Bq/bkqVRcQVLMZ8Jr28bFd -tqdt++BxF2uiiPsA3/4aMXcMmgF6sTLjKwEHOG7DpV4jvEWbe1DByTCP2+UretNb+zNAHqDVmBe8 -i4fDidNdoI6yqqr2jmmIBsX6iSHzCJ1pLgkzmykNRg+MzEk0sGlRvfkGzWitZky8PqxhvQqIDsjf -Pe58BEydCl5rkdbux+0ojatNh4lz0G6k0B4WixThdkQDf2Os5M1JnMWS9KsyoUhbAgMBAAGjgbkw -gbYwCwYDVR0PBAQDAgHGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFKFyXyYbKJhDlV0HN9WF -lp1L0sNFMEQGA1UdHwQ9MDswOaA3oDWGM2h0dHA6Ly9jcmwudXNlcnRydXN0LmNvbS9VVE4tVVNF -UkZpcnN0LUhhcmR3YXJlLmNybDAxBgNVHSUEKjAoBggrBgEFBQcDAQYIKwYBBQUHAwUGCCsGAQUF -BwMGBggrBgEFBQcDBzANBgkqhkiG9w0BAQUFAAOCAQEARxkP3nTGmZev/K0oXnWO6y1n7k57K9cM -//bey1WiCuFMVGWTYGufEpytXoMs61quwOQt9ABjHbjAbPLPSbtNk28GpgoiskliCE7/yMgUsogW -XecB5BKV5UU0s4tpvc+0hY91UZ59Ojg6FEgSxvunOxqNDYJAB+gECJChicsZUN/KHAG8HQQZexB2 -lzvukJDKxA4fFm517zP4029bHpbj4HR3dHuKom4t3XbWOTCC8KucUvIqx69JXn7HaOWCgchqJ/kn -iCrVWFCVH/A7HFe7fRQ5YiuayZSSKqMiDP+JJn1fIytH1xUdqWqeUQ0qUZ6B+dQ7XnASfxAynB67 -nfhmqA== ------END CERTIFICATE----- - -Camerfirma Chambers of Commerce Root -==================================== ------BEGIN CERTIFICATE----- -MIIEvTCCA6WgAwIBAgIBADANBgkqhkiG9w0BAQUFADB/MQswCQYDVQQGEwJFVTEnMCUGA1UEChMe -QUMgQ2FtZXJmaXJtYSBTQSBDSUYgQTgyNzQzMjg3MSMwIQYDVQQLExpodHRwOi8vd3d3LmNoYW1i -ZXJzaWduLm9yZzEiMCAGA1UEAxMZQ2hhbWJlcnMgb2YgQ29tbWVyY2UgUm9vdDAeFw0wMzA5MzAx -NjEzNDNaFw0zNzA5MzAxNjEzNDRaMH8xCzAJBgNVBAYTAkVVMScwJQYDVQQKEx5BQyBDYW1lcmZp -cm1hIFNBIENJRiBBODI3NDMyODcxIzAhBgNVBAsTGmh0dHA6Ly93d3cuY2hhbWJlcnNpZ24ub3Jn -MSIwIAYDVQQDExlDaGFtYmVycyBvZiBDb21tZXJjZSBSb290MIIBIDANBgkqhkiG9w0BAQEFAAOC -AQ0AMIIBCAKCAQEAtzZV5aVdGDDg2olUkfzIx1L4L1DZ77F1c2VHfRtbunXF/KGIJPov7coISjlU -xFF6tdpg6jg8gbLL8bvZkSM/SAFwdakFKq0fcfPJVD0dBmpAPrMMhe5cG3nCYsS4No41XQEMIwRH -NaqbYE6gZj3LJgqcQKH0XZi/caulAGgq7YN6D6IUtdQis4CwPAxaUWktWBiP7Zme8a7ileb2R6jW -DA+wWFjbw2Y3npuRVDM30pQcakjJyfKl2qUMI/cjDpwyVV5xnIQFUZot/eZOKjRa3spAN2cMVCFV -d9oKDMyXroDclDZK9D7ONhMeU+SsTjoF7Nuucpw4i9A5O4kKPnf+dQIBA6OCAUQwggFAMBIGA1Ud -EwEB/wQIMAYBAf8CAQwwPAYDVR0fBDUwMzAxoC+gLYYraHR0cDovL2NybC5jaGFtYmVyc2lnbi5v -cmcvY2hhbWJlcnNyb290LmNybDAdBgNVHQ4EFgQU45T1sU3p26EpW1eLTXYGduHRooowDgYDVR0P -AQH/BAQDAgEGMBEGCWCGSAGG+EIBAQQEAwIABzAnBgNVHREEIDAegRxjaGFtYmVyc3Jvb3RAY2hh -bWJlcnNpZ24ub3JnMCcGA1UdEgQgMB6BHGNoYW1iZXJzcm9vdEBjaGFtYmVyc2lnbi5vcmcwWAYD -VR0gBFEwTzBNBgsrBgEEAYGHLgoDATA+MDwGCCsGAQUFBwIBFjBodHRwOi8vY3BzLmNoYW1iZXJz -aWduLm9yZy9jcHMvY2hhbWJlcnNyb290Lmh0bWwwDQYJKoZIhvcNAQEFBQADggEBAAxBl8IahsAi -fJ/7kPMa0QOx7xP5IV8EnNrJpY0nbJaHkb5BkAFyk+cefV/2icZdp0AJPaxJRUXcLo0waLIJuvvD -L8y6C98/d3tGfToSJI6WjzwFCm/SlCgdbQzALogi1djPHRPH8EjX1wWnz8dHnjs8NMiAT9QUu/wN -UPf6s+xCX6ndbcj0dc97wXImsQEcXCz9ek60AcUFV7nnPKoF2YjpB0ZBzu9Bga5Y34OirsrXdx/n -ADydb47kMgkdTXg0eDQ8lJsm7U9xxhl6vSAiSFr+S30Dt+dYvsYyTnQeaN2oaFuzPu5ifdmA6Ap1 -erfutGWaIZDgqtCYvDi1czyL+Nw= ------END CERTIFICATE----- - -Camerfirma Global Chambersign Root -================================== ------BEGIN CERTIFICATE----- -MIIExTCCA62gAwIBAgIBADANBgkqhkiG9w0BAQUFADB9MQswCQYDVQQGEwJFVTEnMCUGA1UEChMe -QUMgQ2FtZXJmaXJtYSBTQSBDSUYgQTgyNzQzMjg3MSMwIQYDVQQLExpodHRwOi8vd3d3LmNoYW1i -ZXJzaWduLm9yZzEgMB4GA1UEAxMXR2xvYmFsIENoYW1iZXJzaWduIFJvb3QwHhcNMDMwOTMwMTYx -NDE4WhcNMzcwOTMwMTYxNDE4WjB9MQswCQYDVQQGEwJFVTEnMCUGA1UEChMeQUMgQ2FtZXJmaXJt -YSBTQSBDSUYgQTgyNzQzMjg3MSMwIQYDVQQLExpodHRwOi8vd3d3LmNoYW1iZXJzaWduLm9yZzEg -MB4GA1UEAxMXR2xvYmFsIENoYW1iZXJzaWduIFJvb3QwggEgMA0GCSqGSIb3DQEBAQUAA4IBDQAw -ggEIAoIBAQCicKLQn0KuWxfH2H3PFIP8T8mhtxOviteePgQKkotgVvq0Mi+ITaFgCPS3CU6gSS9J -1tPfnZdan5QEcOw/Wdm3zGaLmFIoCQLfxS+EjXqXd7/sQJ0lcqu1PzKY+7e3/HKE5TWH+VX6ox8O -by4o3Wmg2UIQxvi1RMLQQ3/bvOSiPGpVeAp3qdjqGTK3L/5cPxvusZjsyq16aUXjlg9V9ubtdepl -6DJWk0aJqCWKZQbua795B9Dxt6/tLE2Su8CoX6dnfQTyFQhwrJLWfQTSM/tMtgsL+xrJxI0DqX5c -8lCrEqWhz0hQpe/SyBoT+rB/sYIcd2oPX9wLlY/vQ37mRQklAgEDo4IBUDCCAUwwEgYDVR0TAQH/ -BAgwBgEB/wIBDDA/BgNVHR8EODA2MDSgMqAwhi5odHRwOi8vY3JsLmNoYW1iZXJzaWduLm9yZy9j -aGFtYmVyc2lnbnJvb3QuY3JsMB0GA1UdDgQWBBRDnDafsJ4wTcbOX60Qq+UDpfqpFDAOBgNVHQ8B -Af8EBAMCAQYwEQYJYIZIAYb4QgEBBAQDAgAHMCoGA1UdEQQjMCGBH2NoYW1iZXJzaWducm9vdEBj -aGFtYmVyc2lnbi5vcmcwKgYDVR0SBCMwIYEfY2hhbWJlcnNpZ25yb290QGNoYW1iZXJzaWduLm9y -ZzBbBgNVHSAEVDBSMFAGCysGAQQBgYcuCgEBMEEwPwYIKwYBBQUHAgEWM2h0dHA6Ly9jcHMuY2hh -bWJlcnNpZ24ub3JnL2Nwcy9jaGFtYmVyc2lnbnJvb3QuaHRtbDANBgkqhkiG9w0BAQUFAAOCAQEA -PDtwkfkEVCeR4e3t/mh/YV3lQWVPMvEYBZRqHN4fcNs+ezICNLUMbKGKfKX0j//U2K0X1S0E0T9Y -gOKBWYi+wONGkyT+kL0mojAt6JcmVzWJdJYY9hXiryQZVgICsroPFOrGimbBhkVVi76SvpykBMdJ -PJ7oKXqJ1/6v/2j1pReQvayZzKWGVwlnRtvWFsJG8eSpUPWP0ZIV018+xgBJOm5YstHRJw0lyDL4 -IBHNfTIzSJRUTN3cecQwn+uOuFW114hcxWokPbLTBQNRxgfvzBRydD1ucs4YKIxKoHflCStFREes -t2d/AYoFWpO+ocH/+OcOZ6RHSXZddZAa9SaP8A== ------END CERTIFICATE----- - -NetLock Notary (Class A) Root -============================= ------BEGIN CERTIFICATE----- -MIIGfTCCBWWgAwIBAgICAQMwDQYJKoZIhvcNAQEEBQAwga8xCzAJBgNVBAYTAkhVMRAwDgYDVQQI -EwdIdW5nYXJ5MREwDwYDVQQHEwhCdWRhcGVzdDEnMCUGA1UEChMeTmV0TG9jayBIYWxvemF0Yml6 -dG9uc2FnaSBLZnQuMRowGAYDVQQLExFUYW51c2l0dmFueWtpYWRvazE2MDQGA1UEAxMtTmV0TG9j -ayBLb3pqZWd5em9pIChDbGFzcyBBKSBUYW51c2l0dmFueWtpYWRvMB4XDTk5MDIyNDIzMTQ0N1oX -DTE5MDIxOTIzMTQ0N1owga8xCzAJBgNVBAYTAkhVMRAwDgYDVQQIEwdIdW5nYXJ5MREwDwYDVQQH -EwhCdWRhcGVzdDEnMCUGA1UEChMeTmV0TG9jayBIYWxvemF0Yml6dG9uc2FnaSBLZnQuMRowGAYD -VQQLExFUYW51c2l0dmFueWtpYWRvazE2MDQGA1UEAxMtTmV0TG9jayBLb3pqZWd5em9pIChDbGFz -cyBBKSBUYW51c2l0dmFueWtpYWRvMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvHSM -D7tM9DceqQWC2ObhbHDqeLVu0ThEDaiDzl3S1tWBxdRL51uUcCbbO51qTGL3cfNk1mE7PetzozfZ -z+qMkjvN9wfcZnSX9EUi3fRc4L9t875lM+QVOr/bmJBVOMTtplVjC7B4BPTjbsE/jvxReB+SnoPC -/tmwqcm8WgD/qaiYdPv2LD4VOQ22BFWoDpggQrOxJa1+mm9dU7GrDPzr4PN6s6iz/0b2Y6LYOph7 -tqyF/7AlT3Rj5xMHpQqPBffAZG9+pyeAlt7ULoZgx2srXnN7F+eRP2QM2EsiNCubMvJIH5+hCoR6 -4sKtlz2O1cH5VqNQ6ca0+pii7pXmKgOM3wIDAQABo4ICnzCCApswDgYDVR0PAQH/BAQDAgAGMBIG -A1UdEwEB/wQIMAYBAf8CAQQwEQYJYIZIAYb4QgEBBAQDAgAHMIICYAYJYIZIAYb4QgENBIICURaC -Ak1GSUdZRUxFTSEgRXplbiB0YW51c2l0dmFueSBhIE5ldExvY2sgS2Z0LiBBbHRhbGFub3MgU3pv -bGdhbHRhdGFzaSBGZWx0ZXRlbGVpYmVuIGxlaXJ0IGVsamFyYXNvayBhbGFwamFuIGtlc3p1bHQu -IEEgaGl0ZWxlc2l0ZXMgZm9seWFtYXRhdCBhIE5ldExvY2sgS2Z0LiB0ZXJtZWtmZWxlbG9zc2Vn -LWJpenRvc2l0YXNhIHZlZGkuIEEgZGlnaXRhbGlzIGFsYWlyYXMgZWxmb2dhZGFzYW5hayBmZWx0 -ZXRlbGUgYXogZWxvaXJ0IGVsbGVub3J6ZXNpIGVsamFyYXMgbWVndGV0ZWxlLiBBeiBlbGphcmFz -IGxlaXJhc2EgbWVndGFsYWxoYXRvIGEgTmV0TG9jayBLZnQuIEludGVybmV0IGhvbmxhcGphbiBh -IGh0dHBzOi8vd3d3Lm5ldGxvY2submV0L2RvY3MgY2ltZW4gdmFneSBrZXJoZXRvIGF6IGVsbGVu -b3J6ZXNAbmV0bG9jay5uZXQgZS1tYWlsIGNpbWVuLiBJTVBPUlRBTlQhIFRoZSBpc3N1YW5jZSBh -bmQgdGhlIHVzZSBvZiB0aGlzIGNlcnRpZmljYXRlIGlzIHN1YmplY3QgdG8gdGhlIE5ldExvY2sg -Q1BTIGF2YWlsYWJsZSBhdCBodHRwczovL3d3dy5uZXRsb2NrLm5ldC9kb2NzIG9yIGJ5IGUtbWFp -bCBhdCBjcHNAbmV0bG9jay5uZXQuMA0GCSqGSIb3DQEBBAUAA4IBAQBIJEb3ulZv+sgoA0BO5TE5 -ayZrU3/b39/zcT0mwBQOxmd7I6gMc90Bu8bKbjc5VdXHjFYgDigKDtIqpLBJUsY4B/6+CgmM0ZjP -ytoUMaFP0jn8DxEsQ8Pdq5PHVT5HfBgaANzze9jyf1JsIPQLX2lS9O74silg6+NJMSEN1rUQQeJB -CWziGppWS3cC9qCbmieH6FUpccKQn0V4GuEVZD3QDtigdp+uxdAu6tYPVuxkf1qbFFgBJ34TUMdr -KuZoPL9coAob4Q566eKAw+np9v1sEZ7Q5SgnK1QyQhSCdeZK8CtmdWOMovsEPoMOmzbwGOQmIMOM -8CgHrTwXZoi1/baI ------END CERTIFICATE----- - -NetLock Business (Class B) Root -=============================== ------BEGIN CERTIFICATE----- -MIIFSzCCBLSgAwIBAgIBaTANBgkqhkiG9w0BAQQFADCBmTELMAkGA1UEBhMCSFUxETAPBgNVBAcT -CEJ1ZGFwZXN0MScwJQYDVQQKEx5OZXRMb2NrIEhhbG96YXRiaXp0b25zYWdpIEtmdC4xGjAYBgNV -BAsTEVRhbnVzaXR2YW55a2lhZG9rMTIwMAYDVQQDEylOZXRMb2NrIFV6bGV0aSAoQ2xhc3MgQikg -VGFudXNpdHZhbnlraWFkbzAeFw05OTAyMjUxNDEwMjJaFw0xOTAyMjAxNDEwMjJaMIGZMQswCQYD -VQQGEwJIVTERMA8GA1UEBxMIQnVkYXBlc3QxJzAlBgNVBAoTHk5ldExvY2sgSGFsb3phdGJpenRv -bnNhZ2kgS2Z0LjEaMBgGA1UECxMRVGFudXNpdHZhbnlraWFkb2sxMjAwBgNVBAMTKU5ldExvY2sg -VXpsZXRpIChDbGFzcyBCKSBUYW51c2l0dmFueWtpYWRvMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCB -iQKBgQCx6gTsIKAjwo84YM/HRrPVG/77uZmeBNwcf4xKgZjupNTKihe5In+DCnVMm8Bp2GQ5o+2S -o/1bXHQawEfKOml2mrriRBf8TKPV/riXiK+IA4kfpPIEPsgHC+b5sy96YhQJRhTKZPWLgLViqNhr -1nGTLbO/CVRY7QbrqHvcQ7GhaQIDAQABo4ICnzCCApswEgYDVR0TAQH/BAgwBgEB/wIBBDAOBgNV -HQ8BAf8EBAMCAAYwEQYJYIZIAYb4QgEBBAQDAgAHMIICYAYJYIZIAYb4QgENBIICURaCAk1GSUdZ -RUxFTSEgRXplbiB0YW51c2l0dmFueSBhIE5ldExvY2sgS2Z0LiBBbHRhbGFub3MgU3pvbGdhbHRh -dGFzaSBGZWx0ZXRlbGVpYmVuIGxlaXJ0IGVsamFyYXNvayBhbGFwamFuIGtlc3p1bHQuIEEgaGl0 -ZWxlc2l0ZXMgZm9seWFtYXRhdCBhIE5ldExvY2sgS2Z0LiB0ZXJtZWtmZWxlbG9zc2VnLWJpenRv -c2l0YXNhIHZlZGkuIEEgZGlnaXRhbGlzIGFsYWlyYXMgZWxmb2dhZGFzYW5hayBmZWx0ZXRlbGUg -YXogZWxvaXJ0IGVsbGVub3J6ZXNpIGVsamFyYXMgbWVndGV0ZWxlLiBBeiBlbGphcmFzIGxlaXJh -c2EgbWVndGFsYWxoYXRvIGEgTmV0TG9jayBLZnQuIEludGVybmV0IGhvbmxhcGphbiBhIGh0dHBz -Oi8vd3d3Lm5ldGxvY2submV0L2RvY3MgY2ltZW4gdmFneSBrZXJoZXRvIGF6IGVsbGVub3J6ZXNA -bmV0bG9jay5uZXQgZS1tYWlsIGNpbWVuLiBJTVBPUlRBTlQhIFRoZSBpc3N1YW5jZSBhbmQgdGhl -IHVzZSBvZiB0aGlzIGNlcnRpZmljYXRlIGlzIHN1YmplY3QgdG8gdGhlIE5ldExvY2sgQ1BTIGF2 -YWlsYWJsZSBhdCBodHRwczovL3d3dy5uZXRsb2NrLm5ldC9kb2NzIG9yIGJ5IGUtbWFpbCBhdCBj -cHNAbmV0bG9jay5uZXQuMA0GCSqGSIb3DQEBBAUAA4GBAATbrowXr/gOkDFOzT4JwG06sPgzTEdM -43WIEJessDgVkcYplswhwG08pXTP2IKlOcNl40JwuyKQ433bNXbhoLXan3BukxowOR0w2y7jfLKR -stE3Kfq51hdcR0/jHTjrn9V7lagonhVK0dHQKwCXoOKSNitjrFgBazMpUIaD8QFI ------END CERTIFICATE----- - -NetLock Express (Class C) Root -============================== ------BEGIN CERTIFICATE----- -MIIFTzCCBLigAwIBAgIBaDANBgkqhkiG9w0BAQQFADCBmzELMAkGA1UEBhMCSFUxETAPBgNVBAcT -CEJ1ZGFwZXN0MScwJQYDVQQKEx5OZXRMb2NrIEhhbG96YXRiaXp0b25zYWdpIEtmdC4xGjAYBgNV -BAsTEVRhbnVzaXR2YW55a2lhZG9rMTQwMgYDVQQDEytOZXRMb2NrIEV4cHJlc3N6IChDbGFzcyBD -KSBUYW51c2l0dmFueWtpYWRvMB4XDTk5MDIyNTE0MDgxMVoXDTE5MDIyMDE0MDgxMVowgZsxCzAJ -BgNVBAYTAkhVMREwDwYDVQQHEwhCdWRhcGVzdDEnMCUGA1UEChMeTmV0TG9jayBIYWxvemF0Yml6 -dG9uc2FnaSBLZnQuMRowGAYDVQQLExFUYW51c2l0dmFueWtpYWRvazE0MDIGA1UEAxMrTmV0TG9j -ayBFeHByZXNzeiAoQ2xhc3MgQykgVGFudXNpdHZhbnlraWFkbzCBnzANBgkqhkiG9w0BAQEFAAOB -jQAwgYkCgYEA6+ywbGGKIyWvYCDj2Z/8kwvbXY2wobNAOoLO/XXgeDIDhlqGlZHtU/qdQPzm6N3Z -W3oDvV3zOwzDUXmbrVWg6dADEK8KuhRC2VImESLH0iDMgqSaqf64gXadarfSNnU+sYYJ9m5tfk63 -euyucYT2BDMIJTLrdKwWRMbkQJMdf60CAwEAAaOCAp8wggKbMBIGA1UdEwEB/wQIMAYBAf8CAQQw -DgYDVR0PAQH/BAQDAgAGMBEGCWCGSAGG+EIBAQQEAwIABzCCAmAGCWCGSAGG+EIBDQSCAlEWggJN -RklHWUVMRU0hIEV6ZW4gdGFudXNpdHZhbnkgYSBOZXRMb2NrIEtmdC4gQWx0YWxhbm9zIFN6b2xn -YWx0YXRhc2kgRmVsdGV0ZWxlaWJlbiBsZWlydCBlbGphcmFzb2sgYWxhcGphbiBrZXN6dWx0LiBB -IGhpdGVsZXNpdGVzIGZvbHlhbWF0YXQgYSBOZXRMb2NrIEtmdC4gdGVybWVrZmVsZWxvc3NlZy1i -aXp0b3NpdGFzYSB2ZWRpLiBBIGRpZ2l0YWxpcyBhbGFpcmFzIGVsZm9nYWRhc2FuYWsgZmVsdGV0 -ZWxlIGF6IGVsb2lydCBlbGxlbm9yemVzaSBlbGphcmFzIG1lZ3RldGVsZS4gQXogZWxqYXJhcyBs -ZWlyYXNhIG1lZ3RhbGFsaGF0byBhIE5ldExvY2sgS2Z0LiBJbnRlcm5ldCBob25sYXBqYW4gYSBo -dHRwczovL3d3dy5uZXRsb2NrLm5ldC9kb2NzIGNpbWVuIHZhZ3kga2VyaGV0byBheiBlbGxlbm9y -emVzQG5ldGxvY2submV0IGUtbWFpbCBjaW1lbi4gSU1QT1JUQU5UISBUaGUgaXNzdWFuY2UgYW5k -IHRoZSB1c2Ugb2YgdGhpcyBjZXJ0aWZpY2F0ZSBpcyBzdWJqZWN0IHRvIHRoZSBOZXRMb2NrIENQ -UyBhdmFpbGFibGUgYXQgaHR0cHM6Ly93d3cubmV0bG9jay5uZXQvZG9jcyBvciBieSBlLW1haWwg -YXQgY3BzQG5ldGxvY2submV0LjANBgkqhkiG9w0BAQQFAAOBgQAQrX/XDDKACtiG8XmYta3UzbM2 -xJZIwVzNmtkFLp++UOv0JhQQLdRmF/iewSf98e3ke0ugbLWrmldwpu2gpO0u9f38vf5NNwgMvOOW -gyL1SRt/Syu0VMGAfJlOHdCM7tCs5ZL6dVb+ZKATj7i4Fp1hBWeAyNDYpQcCNJgEjTME1A== ------END CERTIFICATE----- - -XRamp Global CA Root -==================== ------BEGIN CERTIFICATE----- -MIIEMDCCAxigAwIBAgIQUJRs7Bjq1ZxN1ZfvdY+grTANBgkqhkiG9w0BAQUFADCBgjELMAkGA1UE -BhMCVVMxHjAcBgNVBAsTFXd3dy54cmFtcHNlY3VyaXR5LmNvbTEkMCIGA1UEChMbWFJhbXAgU2Vj -dXJpdHkgU2VydmljZXMgSW5jMS0wKwYDVQQDEyRYUmFtcCBHbG9iYWwgQ2VydGlmaWNhdGlvbiBB -dXRob3JpdHkwHhcNMDQxMTAxMTcxNDA0WhcNMzUwMTAxMDUzNzE5WjCBgjELMAkGA1UEBhMCVVMx -HjAcBgNVBAsTFXd3dy54cmFtcHNlY3VyaXR5LmNvbTEkMCIGA1UEChMbWFJhbXAgU2VjdXJpdHkg -U2VydmljZXMgSW5jMS0wKwYDVQQDEyRYUmFtcCBHbG9iYWwgQ2VydGlmaWNhdGlvbiBBdXRob3Jp -dHkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCYJB69FbS638eMpSe2OAtp87ZOqCwu -IR1cRN8hXX4jdP5efrRKt6atH67gBhbim1vZZ3RrXYCPKZ2GG9mcDZhtdhAoWORlsH9KmHmf4MMx -foArtYzAQDsRhtDLooY2YKTVMIJt2W7QDxIEM5dfT2Fa8OT5kavnHTu86M/0ay00fOJIYRyO82FE -zG+gSqmUsE3a56k0enI4qEHMPJQRfevIpoy3hsvKMzvZPTeL+3o+hiznc9cKV6xkmxnr9A8ECIqs -AxcZZPRaJSKNNCyy9mgdEm3Tih4U2sSPpuIjhdV6Db1q4Ons7Be7QhtnqiXtRYMh/MHJfNViPvry -xS3T/dRlAgMBAAGjgZ8wgZwwEwYJKwYBBAGCNxQCBAYeBABDAEEwCwYDVR0PBAQDAgGGMA8GA1Ud -EwEB/wQFMAMBAf8wHQYDVR0OBBYEFMZPoj0GY4QJnM5i5ASsjVy16bYbMDYGA1UdHwQvMC0wK6Ap -oCeGJWh0dHA6Ly9jcmwueHJhbXBzZWN1cml0eS5jb20vWEdDQS5jcmwwEAYJKwYBBAGCNxUBBAMC -AQEwDQYJKoZIhvcNAQEFBQADggEBAJEVOQMBG2f7Shz5CmBbodpNl2L5JFMn14JkTpAuw0kbK5rc -/Kh4ZzXxHfARvbdI4xD2Dd8/0sm2qlWkSLoC295ZLhVbO50WfUfXN+pfTXYSNrsf16GBBEYgoyxt -qZ4Bfj8pzgCT3/3JknOJiWSe5yvkHJEs0rnOfc5vMZnT5r7SHpDwCRR5XCOrTdLaIR9NmXmd4c8n -nxCbHIgNsIpkQTG4DmyQJKSbXHGPurt+HBvbaoAPIbzp26a3QPSyi6mx5O+aGtA9aZnuqCij4Tyz -8LIRnM98QObd50N9otg6tamN8jSZxNQQ4Qb9CYQQO+7ETPTsJ3xCwnR8gooJybQDJbw= ------END CERTIFICATE----- - -Go Daddy Class 2 CA -=================== ------BEGIN CERTIFICATE----- -MIIEADCCAuigAwIBAgIBADANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJVUzEhMB8GA1UEChMY -VGhlIEdvIERhZGR5IEdyb3VwLCBJbmMuMTEwLwYDVQQLEyhHbyBEYWRkeSBDbGFzcyAyIENlcnRp -ZmljYXRpb24gQXV0aG9yaXR5MB4XDTA0MDYyOTE3MDYyMFoXDTM0MDYyOTE3MDYyMFowYzELMAkG -A1UEBhMCVVMxITAfBgNVBAoTGFRoZSBHbyBEYWRkeSBHcm91cCwgSW5jLjExMC8GA1UECxMoR28g -RGFkZHkgQ2xhc3MgMiBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCASAwDQYJKoZIhvcNAQEBBQAD -ggENADCCAQgCggEBAN6d1+pXGEmhW+vXX0iG6r7d/+TvZxz0ZWizV3GgXne77ZtJ6XCAPVYYYwhv -2vLM0D9/AlQiVBDYsoHUwHU9S3/Hd8M+eKsaA7Ugay9qK7HFiH7Eux6wwdhFJ2+qN1j3hybX2C32 -qRe3H3I2TqYXP2WYktsqbl2i/ojgC95/5Y0V4evLOtXiEqITLdiOr18SPaAIBQi2XKVlOARFmR6j -YGB0xUGlcmIbYsUfb18aQr4CUWWoriMYavx4A6lNf4DD+qta/KFApMoZFv6yyO9ecw3ud72a9nmY -vLEHZ6IVDd2gWMZEewo+YihfukEHU1jPEX44dMX4/7VpkI+EdOqXG68CAQOjgcAwgb0wHQYDVR0O -BBYEFNLEsNKR1EwRcbNhyz2h/t2oatTjMIGNBgNVHSMEgYUwgYKAFNLEsNKR1EwRcbNhyz2h/t2o -atTjoWekZTBjMQswCQYDVQQGEwJVUzEhMB8GA1UEChMYVGhlIEdvIERhZGR5IEdyb3VwLCBJbmMu -MTEwLwYDVQQLEyhHbyBEYWRkeSBDbGFzcyAyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5ggEAMAwG -A1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBADJL87LKPpH8EsahB4yOd6AzBhRckB4Y9wim -PQoZ+YeAEW5p5JYXMP80kWNyOO7MHAGjHZQopDH2esRU1/blMVgDoszOYtuURXO1v0XJJLXVggKt -I3lpjbi2Tc7PTMozI+gciKqdi0FuFskg5YmezTvacPd+mSYgFFQlq25zheabIZ0KbIIOqPjCDPoQ -HmyW74cNxA9hi63ugyuV+I6ShHI56yDqg+2DzZduCLzrTia2cyvk0/ZM/iZx4mERdEr/VxqHD3VI -Ls9RaRegAhJhldXRQLIQTO7ErBBDpqWeCtWVYpoNz4iCxTIM5CufReYNnyicsbkqWletNw+vHX/b -vZ8= ------END CERTIFICATE----- - -Starfield Class 2 CA -==================== ------BEGIN CERTIFICATE----- -MIIEDzCCAvegAwIBAgIBADANBgkqhkiG9w0BAQUFADBoMQswCQYDVQQGEwJVUzElMCMGA1UEChMc -U3RhcmZpZWxkIFRlY2hub2xvZ2llcywgSW5jLjEyMDAGA1UECxMpU3RhcmZpZWxkIENsYXNzIDIg -Q2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDQwNjI5MTczOTE2WhcNMzQwNjI5MTczOTE2WjBo -MQswCQYDVQQGEwJVUzElMCMGA1UEChMcU3RhcmZpZWxkIFRlY2hub2xvZ2llcywgSW5jLjEyMDAG -A1UECxMpU3RhcmZpZWxkIENsYXNzIDIgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggEgMA0GCSqG -SIb3DQEBAQUAA4IBDQAwggEIAoIBAQC3Msj+6XGmBIWtDBFk385N78gDGIc/oav7PKaf8MOh2tTY -bitTkPskpD6E8J7oX+zlJ0T1KKY/e97gKvDIr1MvnsoFAZMej2YcOadN+lq2cwQlZut3f+dZxkqZ -JRRU6ybH838Z1TBwj6+wRir/resp7defqgSHo9T5iaU0X9tDkYI22WY8sbi5gv2cOj4QyDvvBmVm -epsZGD3/cVE8MC5fvj13c7JdBmzDI1aaK4UmkhynArPkPw2vCHmCuDY96pzTNbO8acr1zJ3o/WSN -F4Azbl5KXZnJHoe0nRrA1W4TNSNe35tfPe/W93bC6j67eA0cQmdrBNj41tpvi/JEoAGrAgEDo4HF -MIHCMB0GA1UdDgQWBBS/X7fRzt0fhvRbVazc1xDCDqmI5zCBkgYDVR0jBIGKMIGHgBS/X7fRzt0f -hvRbVazc1xDCDqmI56FspGowaDELMAkGA1UEBhMCVVMxJTAjBgNVBAoTHFN0YXJmaWVsZCBUZWNo -bm9sb2dpZXMsIEluYy4xMjAwBgNVBAsTKVN0YXJmaWVsZCBDbGFzcyAyIENlcnRpZmljYXRpb24g -QXV0aG9yaXR5ggEAMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAAWdP4id0ckaVaGs -afPzWdqbAYcaT1epoXkJKtv3L7IezMdeatiDh6GX70k1PncGQVhiv45YuApnP+yz3SFmH8lU+nLM -PUxA2IGvd56Deruix/U0F47ZEUD0/CwqTRV/p2JdLiXTAAsgGh1o+Re49L2L7ShZ3U0WixeDyLJl -xy16paq8U4Zt3VekyvggQQto8PT7dL5WXXp59fkdheMtlb71cZBDzI0fmgAKhynpVSJYACPq4xJD -KVtHCN2MQWplBqjlIapBtJUhlbl90TSrE9atvNziPTnNvT51cKEYWQPJIrSPnNVeKtelttQKbfi3 -QBFGmh95DmK/D5fs4C8fF5Q= ------END CERTIFICATE----- - -StartCom Certification Authority -================================ ------BEGIN CERTIFICATE----- -MIIHyTCCBbGgAwIBAgIBATANBgkqhkiG9w0BAQUFADB9MQswCQYDVQQGEwJJTDEWMBQGA1UEChMN -U3RhcnRDb20gTHRkLjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmlu -ZzEpMCcGA1UEAxMgU3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDYwOTE3MTk0 -NjM2WhcNMzYwOTE3MTk0NjM2WjB9MQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRDb20gTHRk -LjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmluZzEpMCcGA1UEAxMg -U3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAw -ggIKAoICAQDBiNsJvGxGfHiflXu1M5DycmLWwTYgIiRezul38kMKogZkpMyONvg45iPwbm2xPN1y -o4UcodM9tDMr0y+v/uqwQVlntsQGfQqedIXWeUyAN3rfOQVSWff0G0ZDpNKFhdLDcfN1YjS6LIp/ -Ho/u7TTQEceWzVI9ujPW3U3eCztKS5/CJi/6tRYccjV3yjxd5srhJosaNnZcAdt0FCX+7bWgiA/d -eMotHweXMAEtcnn6RtYTKqi5pquDSR3l8u/d5AGOGAqPY1MWhWKpDhk6zLVmpsJrdAfkK+F2PrRt -2PZE4XNiHzvEvqBTViVsUQn3qqvKv3b9bZvzndu/PWa8DFaqr5hIlTpL36dYUNk4dalb6kMMAv+Z -6+hsTXBbKWWc3apdzK8BMewM69KN6Oqce+Zu9ydmDBpI125C4z/eIT574Q1w+2OqqGwaVLRcJXrJ -osmLFqa7LH4XXgVNWG4SHQHuEhANxjJ/GP/89PrNbpHoNkm+Gkhpi8KWTRoSsmkXwQqQ1vp5Iki/ -untp+HDH+no32NgN0nZPV/+Qt+OR0t3vwmC3Zzrd/qqc8NSLf3Iizsafl7b4r4qgEKjZ+xjGtrVc -UjyJthkqcwEKDwOzEmDyei+B26Nu/yYwl/WL3YlXtq09s68rxbd2AvCl1iuahhQqcvbjM4xdCUsT -37uMdBNSSwIDAQABo4ICUjCCAk4wDAYDVR0TBAUwAwEB/zALBgNVHQ8EBAMCAa4wHQYDVR0OBBYE -FE4L7xqkQFulF2mHMMo0aEPQQa7yMGQGA1UdHwRdMFswLKAqoCiGJmh0dHA6Ly9jZXJ0LnN0YXJ0 -Y29tLm9yZy9zZnNjYS1jcmwuY3JsMCugKaAnhiVodHRwOi8vY3JsLnN0YXJ0Y29tLm9yZy9zZnNj -YS1jcmwuY3JsMIIBXQYDVR0gBIIBVDCCAVAwggFMBgsrBgEEAYG1NwEBATCCATswLwYIKwYBBQUH -AgEWI2h0dHA6Ly9jZXJ0LnN0YXJ0Y29tLm9yZy9wb2xpY3kucGRmMDUGCCsGAQUFBwIBFilodHRw -Oi8vY2VydC5zdGFydGNvbS5vcmcvaW50ZXJtZWRpYXRlLnBkZjCB0AYIKwYBBQUHAgIwgcMwJxYg -U3RhcnQgQ29tbWVyY2lhbCAoU3RhcnRDb20pIEx0ZC4wAwIBARqBl0xpbWl0ZWQgTGlhYmlsaXR5 -LCByZWFkIHRoZSBzZWN0aW9uICpMZWdhbCBMaW1pdGF0aW9ucyogb2YgdGhlIFN0YXJ0Q29tIENl -cnRpZmljYXRpb24gQXV0aG9yaXR5IFBvbGljeSBhdmFpbGFibGUgYXQgaHR0cDovL2NlcnQuc3Rh -cnRjb20ub3JnL3BvbGljeS5wZGYwEQYJYIZIAYb4QgEBBAQDAgAHMDgGCWCGSAGG+EIBDQQrFilT -dGFydENvbSBGcmVlIFNTTCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTANBgkqhkiG9w0BAQUFAAOC -AgEAFmyZ9GYMNPXQhV59CuzaEE44HF7fpiUFS5Eyweg78T3dRAlbB0mKKctmArexmvclmAk8jhvh -3TaHK0u7aNM5Zj2gJsfyOZEdUauCe37Vzlrk4gNXcGmXCPleWKYK34wGmkUWFjgKXlf2Ysd6AgXm -vB618p70qSmD+LIU424oh0TDkBreOKk8rENNZEXO3SipXPJzewT4F+irsfMuXGRuczE6Eri8sxHk -fY+BUZo7jYn0TZNmezwD7dOaHZrzZVD1oNB1ny+v8OqCQ5j4aZyJecRDjkZy42Q2Eq/3JR44iZB3 -fsNrarnDy0RLrHiQi+fHLB5LEUTINFInzQpdn4XBidUaePKVEFMy3YCEZnXZtWgo+2EuvoSoOMCZ -EoalHmdkrQYuL6lwhceWD3yJZfWOQ1QOq92lgDmUYMA0yZZwLKMS9R9Ie70cfmu3nZD0Ijuu+Pwq -yvqCUqDvr0tVk+vBtfAii6w0TiYiBKGHLHVKt+V9E9e4DGTANtLJL4YSjCMJwRuCO3NJo2pXh5Tl -1njFmUNj403gdy3hZZlyaQQaRwnmDwFWJPsfvw55qVguucQJAX6Vum0ABj6y6koQOdjQK/W/7HW/ -lwLFCRsI3FU34oH7N4RDYiDK51ZLZer+bMEkkyShNOsF/5oirpt9P/FlUQqmMGqz9IgcgA38coro -g14= ------END CERTIFICATE----- - -Taiwan GRCA -=========== ------BEGIN CERTIFICATE----- -MIIFcjCCA1qgAwIBAgIQH51ZWtcvwgZEpYAIaeNe9jANBgkqhkiG9w0BAQUFADA/MQswCQYDVQQG -EwJUVzEwMC4GA1UECgwnR292ZXJubWVudCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4X -DTAyMTIwNTEzMjMzM1oXDTMyMTIwNTEzMjMzM1owPzELMAkGA1UEBhMCVFcxMDAuBgNVBAoMJ0dv -dmVybm1lbnQgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCAiIwDQYJKoZIhvcNAQEBBQAD -ggIPADCCAgoCggIBAJoluOzMonWoe/fOW1mKydGGEghU7Jzy50b2iPN86aXfTEc2pBsBHH8eV4qN -w8XRIePaJD9IK/ufLqGU5ywck9G/GwGHU5nOp/UKIXZ3/6m3xnOUT0b3EEk3+qhZSV1qgQdW8or5 -BtD3cCJNtLdBuTK4sfCxw5w/cP1T3YGq2GN49thTbqGsaoQkclSGxtKyyhwOeYHWtXBiCAEuTk8O -1RGvqa/lmr/czIdtJuTJV6L7lvnM4T9TjGxMfptTCAtsF/tnyMKtsc2AtJfcdgEWFelq16TheEfO -htX7MfP6Mb40qij7cEwdScevLJ1tZqa2jWR+tSBqnTuBto9AAGdLiYa4zGX+FVPpBMHWXx1E1wov -J5pGfaENda1UhhXcSTvxls4Pm6Dso3pdvtUqdULle96ltqqvKKyskKw4t9VoNSZ63Pc78/1Fm9G7 -Q3hub/FCVGqY8A2tl+lSXunVanLeavcbYBT0peS2cWeqH+riTcFCQP5nRhc4L0c/cZyu5SHKYS1t -B6iEfC3uUSXxY5Ce/eFXiGvviiNtsea9P63RPZYLhY3Naye7twWb7LuRqQoHEgKXTiCQ8P8NHuJB -O9NAOueNXdpm5AKwB1KYXA6OM5zCppX7VRluTI6uSw+9wThNXo+EHWbNxWCWtFJaBYmOlXqYwZE8 -lSOyDvR5tMl8wUohAgMBAAGjajBoMB0GA1UdDgQWBBTMzO/MKWCkO7GStjz6MmKPrCUVOzAMBgNV -HRMEBTADAQH/MDkGBGcqBwAEMTAvMC0CAQAwCQYFKw4DAhoFADAHBgVnKgMAAAQUA5vwIhP/lSg2 -09yewDL7MTqKUWUwDQYJKoZIhvcNAQEFBQADggIBAECASvomyc5eMN1PhnR2WPWus4MzeKR6dBcZ -TulStbngCnRiqmjKeKBMmo4sIy7VahIkv9Ro04rQ2JyftB8M3jh+Vzj8jeJPXgyfqzvS/3WXy6Tj -Zwj/5cAWtUgBfen5Cv8b5Wppv3ghqMKnI6mGq3ZW6A4M9hPdKmaKZEk9GhiHkASfQlK3T8v+R0F2 -Ne//AHY2RTKbxkaFXeIksB7jSJaYV0eUVXoPQbFEJPPB/hprv4j9wabak2BegUqZIJxIZhm1AHlU -D7gsL0u8qV1bYH+Mh6XgUmMqvtg7hUAV/h62ZT/FS9p+tXo1KaMuephgIqP0fSdOLeq0dDzpD6Qz -DxARvBMB1uUO07+1EqLhRSPAzAhuYbeJq4PjJB7mXQfnHyA+z2fI56wwbSdLaG5LKlwCCDTb+Hbk -Z6MmnD+iMsJKxYEYMRBWqoTvLQr/uB930r+lWKBi5NdLkXWNiYCYfm3LU05er/ayl4WXudpVBrkk -7tfGOB5jGxI7leFYrPLfhNVfmS8NVVvmONsuP3LpSIXLuykTjx44VbnzssQwmSNOXfJIoRIM3BKQ -CZBUkQM8R+XVyWXgt0t97EfTsws+rZ7QdAAO671RrcDeLMDDav7v3Aun+kbfYNucpllQdSNpc5Oy -+fwC00fmcc4QAu4njIT/rEUNE1yDMuAlpYYsfPQS ------END CERTIFICATE----- - -Firmaprofesional Root CA -======================== ------BEGIN CERTIFICATE----- -MIIEVzCCAz+gAwIBAgIBATANBgkqhkiG9w0BAQUFADCBnTELMAkGA1UEBhMCRVMxIjAgBgNVBAcT -GUMvIE11bnRhbmVyIDI0NCBCYXJjZWxvbmExQjBABgNVBAMTOUF1dG9yaWRhZCBkZSBDZXJ0aWZp -Y2FjaW9uIEZpcm1hcHJvZmVzaW9uYWwgQ0lGIEE2MjYzNDA2ODEmMCQGCSqGSIb3DQEJARYXY2FA -ZmlybWFwcm9mZXNpb25hbC5jb20wHhcNMDExMDI0MjIwMDAwWhcNMTMxMDI0MjIwMDAwWjCBnTEL -MAkGA1UEBhMCRVMxIjAgBgNVBAcTGUMvIE11bnRhbmVyIDI0NCBCYXJjZWxvbmExQjBABgNVBAMT -OUF1dG9yaWRhZCBkZSBDZXJ0aWZpY2FjaW9uIEZpcm1hcHJvZmVzaW9uYWwgQ0lGIEE2MjYzNDA2 -ODEmMCQGCSqGSIb3DQEJARYXY2FAZmlybWFwcm9mZXNpb25hbC5jb20wggEiMA0GCSqGSIb3DQEB -AQUAA4IBDwAwggEKAoIBAQDnIwNvbyOlXnjOlSztlB5uCp4Bx+ow0Syd3Tfom5h5VtP8c9/Qit5V -j1H5WuretXDE7aTt/6MNbg9kUDGvASdYrv5sp0ovFy3Tc9UTHI9ZpTQsHVQERc1ouKDAA6XPhUJH -lShbz++AbOCQl4oBPB3zhxAwJkh91/zpnZFx/0GaqUC1N5wpIE8fUuOgfRNtVLcK3ulqTgesrBlf -3H5idPayBQC6haD9HThuy1q7hryUZzM1gywfI834yJFxzJeL764P3CkDG8A563DtwW4O2GcLiam8 -NeTvtjS0pbbELaW+0MOUJEjb35bTALVmGotmBQ/dPz/LP6pemkr4tErvlTcbAgMBAAGjgZ8wgZww -KgYDVR0RBCMwIYYfaHR0cDovL3d3dy5maXJtYXByb2Zlc2lvbmFsLmNvbTASBgNVHRMBAf8ECDAG -AQH/AgEBMCsGA1UdEAQkMCKADzIwMDExMDI0MjIwMDAwWoEPMjAxMzEwMjQyMjAwMDBaMA4GA1Ud -DwEB/wQEAwIBBjAdBgNVHQ4EFgQUMwugZtHq2s7eYpMEKFK1FH84aLcwDQYJKoZIhvcNAQEFBQAD -ggEBAEdz/o0nVPD11HecJ3lXV7cVVuzH2Fi3AQL0M+2TUIiefEaxvT8Ub/GzR0iLjJcG1+p+o1wq -u00vR+L4OQbJnC4xGgN49Lw4xiKLMzHwFgQEffl25EvXwOaD7FnMP97/T2u3Z36mhoEyIwOdyPdf -wUpgpZKpsaSgYMN4h7Mi8yrrW6ntBas3D7Hi05V2Y1Z0jFhyGzflZKG+TQyTmAyX9odtsz/ny4Cm -7YjHX1BiAuiZdBbQ5rQ58SfLyEDW44YQqSMSkuBpQWOnryULwMWSyx6Yo1q6xTMPoJcB3X/ge9YG -VM+h4k0460tQtcsm9MracEpqoeJ5quGnM/b9Sh/22WA= ------END CERTIFICATE----- - -Wells Fargo Root CA -=================== ------BEGIN CERTIFICATE----- -MIID5TCCAs2gAwIBAgIEOeSXnjANBgkqhkiG9w0BAQUFADCBgjELMAkGA1UEBhMCVVMxFDASBgNV -BAoTC1dlbGxzIEZhcmdvMSwwKgYDVQQLEyNXZWxscyBGYXJnbyBDZXJ0aWZpY2F0aW9uIEF1dGhv -cml0eTEvMC0GA1UEAxMmV2VsbHMgRmFyZ28gUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwHhcN -MDAxMDExMTY0MTI4WhcNMjEwMTE0MTY0MTI4WjCBgjELMAkGA1UEBhMCVVMxFDASBgNVBAoTC1dl -bGxzIEZhcmdvMSwwKgYDVQQLEyNXZWxscyBGYXJnbyBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTEv -MC0GA1UEAxMmV2VsbHMgRmFyZ28gUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwggEiMA0GCSqG -SIb3DQEBAQUAA4IBDwAwggEKAoIBAQDVqDM7Jvk0/82bfuUER84A4n135zHCLielTWi5MbqNQ1mX -x3Oqfz1cQJ4F5aHiidlMuD+b+Qy0yGIZLEWukR5zcUHESxP9cMIlrCL1dQu3U+SlK93OvRw6esP3 -E48mVJwWa2uv+9iWsWCaSOAlIiR5NM4OJgALTqv9i86C1y8IcGjBqAr5dE8Hq6T54oN+J3N0Prj5 -OEL8pahbSCOz6+MlsoCultQKnMJ4msZoGK43YjdeUXWoWGPAUe5AeH6orxqg4bB4nVCMe+ez/I4j -sNtlAHCEAQgAFG5Uhpq6zPk3EPbg3oQtnaSFN9OH4xXQwReQfhkhahKpdv0SAulPIV4XAgMBAAGj -YTBfMA8GA1UdEwEB/wQFMAMBAf8wTAYDVR0gBEUwQzBBBgtghkgBhvt7hwcBCzAyMDAGCCsGAQUF -BwIBFiRodHRwOi8vd3d3LndlbGxzZmFyZ28uY29tL2NlcnRwb2xpY3kwDQYJKoZIhvcNAQEFBQAD -ggEBANIn3ZwKdyu7IvICtUpKkfnRLb7kuxpo7w6kAOnu5+/u9vnldKTC2FJYxHT7zmu1Oyl5GFrv -m+0fazbuSCUlFLZWohDo7qd/0D+j0MNdJu4HzMPBJCGHHt8qElNvQRbn7a6U+oxy+hNH8Dx+rn0R -OhPs7fpvcmR7nX1/Jv16+yWt6j4pf0zjAFcysLPp7VMX2YuyFA4w6OXVE8Zkr8QA1dhYJPz1j+zx -x32l2w8n0cbyQIjmH/ZhqPRCyLk306m+LFZ4wnKbWV01QIroTmMatukgalHizqSQ33ZwmVxwQ023 -tqcZZE6St8WRPH9IFmV7Fv3L/PvZ1dZPIWU7Sn9Ho/s= ------END CERTIFICATE----- - -Swisscom Root CA 1 -================== ------BEGIN CERTIFICATE----- -MIIF2TCCA8GgAwIBAgIQXAuFXAvnWUHfV8w/f52oNjANBgkqhkiG9w0BAQUFADBkMQswCQYDVQQG -EwJjaDERMA8GA1UEChMIU3dpc3Njb20xJTAjBgNVBAsTHERpZ2l0YWwgQ2VydGlmaWNhdGUgU2Vy -dmljZXMxGzAZBgNVBAMTElN3aXNzY29tIFJvb3QgQ0EgMTAeFw0wNTA4MTgxMjA2MjBaFw0yNTA4 -MTgyMjA2MjBaMGQxCzAJBgNVBAYTAmNoMREwDwYDVQQKEwhTd2lzc2NvbTElMCMGA1UECxMcRGln -aXRhbCBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczEbMBkGA1UEAxMSU3dpc3Njb20gUm9vdCBDQSAxMIIC -IjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA0LmwqAzZuz8h+BvVM5OAFmUgdbI9m2BtRsiM -MW8Xw/qabFbtPMWRV8PNq5ZJkCoZSx6jbVfd8StiKHVFXqrWW/oLJdihFvkcxC7mlSpnzNApbjyF -NDhhSbEAn9Y6cV9Nbc5fuankiX9qUvrKm/LcqfmdmUc/TilftKaNXXsLmREDA/7n29uj/x2lzZAe -AR81sH8A25Bvxn570e56eqeqDFdvpG3FEzuwpdntMhy0XmeLVNxzh+XTF3xmUHJd1BpYwdnP2IkC -b6dJtDZd0KTeByy2dbcokdaXvij1mB7qWybJvbCXc9qukSbraMH5ORXWZ0sKbU/Lz7DkQnGMU3nn -7uHbHaBuHYwadzVcFh4rUx80i9Fs/PJnB3r1re3WmquhsUvhzDdf/X/NTa64H5xD+SpYVUNFvJbN -cA78yeNmuk6NO4HLFWR7uZToXTNShXEuT46iBhFRyePLoW4xCGQMwtI89Tbo19AOeCMgkckkKmUp -WyL3Ic6DXqTz3kvTaI9GdVyDCW4pa8RwjPWd1yAv/0bSKzjCL3UcPX7ape8eYIVpQtPM+GP+HkM5 -haa2Y0EQs3MevNP6yn0WR+Kn1dCjigoIlmJWbjTb2QK5MHXjBNLnj8KwEUAKrNVxAmKLMb7dxiNY -MUJDLXT5xp6mig/p/r+D5kNXJLrvRjSq1xIBOO0CAwEAAaOBhjCBgzAOBgNVHQ8BAf8EBAMCAYYw -HQYDVR0hBBYwFDASBgdghXQBUwABBgdghXQBUwABMBIGA1UdEwEB/wQIMAYBAf8CAQcwHwYDVR0j -BBgwFoAUAyUv3m+CATpcLNwroWm1Z9SM0/0wHQYDVR0OBBYEFAMlL95vggE6XCzcK6FptWfUjNP9 -MA0GCSqGSIb3DQEBBQUAA4ICAQA1EMvspgQNDQ/NwNurqPKIlwzfky9NfEBWMXrrpA9gzXrzvsMn -jgM+pN0S734edAY8PzHyHHuRMSG08NBsl9Tpl7IkVh5WwzW9iAUPWxAaZOHHgjD5Mq2eUCzneAXQ -MbFamIp1TpBcahQq4FJHgmDmHtqBsfsUC1rxn9KVuj7QG9YVHaO+htXbD8BJZLsuUBlL0iT43R4H -VtA4oJVwIHaM190e3p9xxCPvgxNcoyQVTSlAPGrEqdi3pkSlDfTgnXceQHAm/NrZNuR55LU/vJtl -vrsRls/bxig5OgjOR1tTWsWZ/l2p3e9M1MalrQLmjAcSHm8D0W+go/MpvRLHUKKwf4ipmXeascCl -OS5cfGniLLDqN2qk4Vrh9VDlg++luyqI54zb/W1elxmofmZ1a3Hqv7HHb6D0jqTsNFFbjCYDcKF3 -1QESVwA12yPeDooomf2xEG9L/zgtYE4snOtnta1J7ksfrK/7DZBaZmBwXarNeNQk7shBoJMBkpxq -nvy5JMWzFYJ+vq6VK+uxwNrjAWALXmmshFZhvnEX/h0TD/7Gh0Xp/jKgGg0TpJRVcaUWi7rKibCy -x/yP2FS1k2Kdzs9Z+z0YzirLNRWCXf9UIltxUvu3yf5gmwBBZPCqKuy2QkPOiWaByIufOVQDJdMW -NY6E0F/6MBr1mmz0DlP5OlvRHA== ------END CERTIFICATE----- - -DigiCert Assured ID Root CA -=========================== ------BEGIN CERTIFICATE----- -MIIDtzCCAp+gAwIBAgIQDOfg5RfYRv6P5WD8G/AwOTANBgkqhkiG9w0BAQUFADBlMQswCQYDVQQG -EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSQw -IgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgQ0EwHhcNMDYxMTEwMDAwMDAwWhcNMzEx -MTEwMDAwMDAwWjBlMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQL -ExB3d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgQ0Ew -ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCtDhXO5EOAXLGH87dg+XESpa7cJpSIqvTO -9SA5KFhgDPiA2qkVlTJhPLWxKISKityfCgyDF3qPkKyK53lTXDGEKvYPmDI2dsze3Tyoou9q+yHy -UmHfnyDXH+Kx2f4YZNISW1/5WBg1vEfNoTb5a3/UsDg+wRvDjDPZ2C8Y/igPs6eD1sNuRMBhNZYW -/lmci3Zt1/GiSw0r/wty2p5g0I6QNcZ4VYcgoc/lbQrISXwxmDNsIumH0DJaoroTghHtORedmTpy -oeb6pNnVFzF1roV9Iq4/AUaG9ih5yLHa5FcXxH4cDrC0kqZWs72yl+2qp/C3xag/lRbQ/6GW6whf -GHdPAgMBAAGjYzBhMA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRF -66Kv9JLLgjEtUYunpyGd823IDzAfBgNVHSMEGDAWgBRF66Kv9JLLgjEtUYunpyGd823IDzANBgkq -hkiG9w0BAQUFAAOCAQEAog683+Lt8ONyc3pklL/3cmbYMuRCdWKuh+vy1dneVrOfzM4UKLkNl2Bc -EkxY5NM9g0lFWJc1aRqoR+pWxnmrEthngYTffwk8lOa4JiwgvT2zKIn3X/8i4peEH+ll74fg38Fn -SbNd67IJKusm7Xi+fT8r87cmNW1fiQG2SVufAQWbqz0lwcy2f8Lxb4bG+mRo64EtlOtCt/qMHt1i -8b5QZ7dsvfPxH2sMNgcWfzd8qVttevESRmCD1ycEvkvOl77DZypoEd+A5wwzZr8TDRRu838fYxAe -+o0bJW1sj6W3YQGx0qMmoRBxna3iw/nDmVG3KwcIzi7mULKn+gpFL6Lw8g== ------END CERTIFICATE----- - -DigiCert Global Root CA -======================= ------BEGIN CERTIFICATE----- -MIIDrzCCApegAwIBAgIQCDvgVpBCRrGhdWrJWZHHSjANBgkqhkiG9w0BAQUFADBhMQswCQYDVQQG -EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSAw -HgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBDQTAeFw0wNjExMTAwMDAwMDBaFw0zMTExMTAw -MDAwMDBaMGExCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3 -dy5kaWdpY2VydC5jb20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IENBMIIBIjANBgkq -hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4jvhEXLeqKTTo1eqUKKPC3eQyaKl7hLOllsBCSDMAZOn -TjC3U/dDxGkAV53ijSLdhwZAAIEJzs4bg7/fzTtxRuLWZscFs3YnFo97nh6Vfe63SKMI2tavegw5 -BmV/Sl0fvBf4q77uKNd0f3p4mVmFaG5cIzJLv07A6Fpt43C/dxC//AH2hdmoRBBYMql1GNXRor5H -4idq9Joz+EkIYIvUX7Q6hL+hqkpMfT7PT19sdl6gSzeRntwi5m3OFBqOasv+zbMUZBfHWymeMr/y -7vrTC0LUq7dBMtoM1O/4gdW7jVg/tRvoSSiicNoxBN33shbyTApOB6jtSj1etX+jkMOvJwIDAQAB -o2MwYTAOBgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUA95QNVbRTLtm -8KPiGxvDl7I90VUwHwYDVR0jBBgwFoAUA95QNVbRTLtm8KPiGxvDl7I90VUwDQYJKoZIhvcNAQEF -BQADggEBAMucN6pIExIK+t1EnE9SsPTfrgT1eXkIoyQY/EsrhMAtudXH/vTBH1jLuG2cenTnmCmr -EbXjcKChzUyImZOMkXDiqw8cvpOp/2PV5Adg06O/nVsJ8dWO41P0jmP6P6fbtGbfYmbW0W5BjfIt -tep3Sp+dWOIrWcBAI+0tKIJFPnlUkiaY4IBIqDfv8NZ5YBberOgOzW6sRBc4L0na4UU+Krk2U886 -UAb3LujEV0lsYSEY1QSteDwsOoBrp+uvFRTp2InBuThs4pFsiv9kuXclVzDAGySj4dzp30d8tbQk -CAUw7C29C79Fv1C5qfPrmAESrciIxpg0X40KPMbp1ZWVbd4= ------END CERTIFICATE----- - -DigiCert High Assurance EV Root CA -================================== ------BEGIN CERTIFICATE----- -MIIDxTCCAq2gAwIBAgIQAqxcJmoLQJuPC3nyrkYldzANBgkqhkiG9w0BAQUFADBsMQswCQYDVQQG -EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSsw -KQYDVQQDEyJEaWdpQ2VydCBIaWdoIEFzc3VyYW5jZSBFViBSb290IENBMB4XDTA2MTExMDAwMDAw -MFoXDTMxMTExMDAwMDAwMFowbDELMAkGA1UEBhMCVVMxFTATBgNVBAoTDERpZ2lDZXJ0IEluYzEZ -MBcGA1UECxMQd3d3LmRpZ2ljZXJ0LmNvbTErMCkGA1UEAxMiRGlnaUNlcnQgSGlnaCBBc3N1cmFu -Y2UgRVYgUm9vdCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMbM5XPm+9S75S0t -Mqbf5YE/yc0lSbZxKsPVlDRnogocsF9ppkCxxLeyj9CYpKlBWTrT3JTWPNt0OKRKzE0lgvdKpVMS -OO7zSW1xkX5jtqumX8OkhPhPYlG++MXs2ziS4wblCJEMxChBVfvLWokVfnHoNb9Ncgk9vjo4UFt3 -MRuNs8ckRZqnrG0AFFoEt7oT61EKmEFBIk5lYYeBQVCmeVyJ3hlKV9Uu5l0cUyx+mM0aBhakaHPQ -NAQTXKFx01p8VdteZOE3hzBWBOURtCmAEvF5OYiiAhF8J2a3iLd48soKqDirCmTCv2ZdlYTBoSUe -h10aUAsgEsxBu24LUTi4S8sCAwEAAaNjMGEwDgYDVR0PAQH/BAQDAgGGMA8GA1UdEwEB/wQFMAMB -Af8wHQYDVR0OBBYEFLE+w2kD+L9HAdSYJhoIAu9jZCvDMB8GA1UdIwQYMBaAFLE+w2kD+L9HAdSY -JhoIAu9jZCvDMA0GCSqGSIb3DQEBBQUAA4IBAQAcGgaX3NecnzyIZgYIVyHbIUf4KmeqvxgydkAQ -V8GK83rZEWWONfqe/EW1ntlMMUu4kehDLI6zeM7b41N5cdblIZQB2lWHmiRk9opmzN6cN82oNLFp -myPInngiK3BD41VHMWEZ71jFhS9OMPagMRYjyOfiZRYzy78aG6A9+MpeizGLYAiJLQwGXFK3xPkK -mNEVX58Svnw2Yzi9RKR/5CYrCsSXaQ3pjOLAEFe4yHYSkVXySGnYvCoCWw9E1CAx2/S6cCZdkGCe -vEsXCS+0yx5DaMkHJ8HSXPfqIbloEpw8nL+e/IBcm2PN7EeqJSdnoDfzAIJ9VNep+OkuE6N36B9K ------END CERTIFICATE----- - -Certplus Class 2 Primary CA -=========================== ------BEGIN CERTIFICATE----- -MIIDkjCCAnqgAwIBAgIRAIW9S/PY2uNp9pTXX8OlRCMwDQYJKoZIhvcNAQEFBQAwPTELMAkGA1UE -BhMCRlIxETAPBgNVBAoTCENlcnRwbHVzMRswGQYDVQQDExJDbGFzcyAyIFByaW1hcnkgQ0EwHhcN -OTkwNzA3MTcwNTAwWhcNMTkwNzA2MjM1OTU5WjA9MQswCQYDVQQGEwJGUjERMA8GA1UEChMIQ2Vy -dHBsdXMxGzAZBgNVBAMTEkNsYXNzIDIgUHJpbWFyeSBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEP -ADCCAQoCggEBANxQltAS+DXSCHh6tlJw/W/uz7kRy1134ezpfgSN1sxvc0NXYKwzCkTsA18cgCSR -5aiRVhKC9+Ar9NuuYS6JEI1rbLqzAr3VNsVINyPi8Fo3UjMXEuLRYE2+L0ER4/YXJQyLkcAbmXuZ -Vg2v7tK8R1fjeUl7NIknJITesezpWE7+Tt9avkGtrAjFGA7v0lPubNCdEgETjdyAYveVqUSISnFO -YFWe2yMZeVYHDD9jC1yw4r5+FfyUM1hBOHTE4Y+L3yasH7WLO7dDWWuwJKZtkIvEcupdM5i3y95e -e++U8Rs+yskhwcWYAqqi9lt3m/V+llU0HGdpwPFC40es/CgcZlUCAwEAAaOBjDCBiTAPBgNVHRME -CDAGAQH/AgEKMAsGA1UdDwQEAwIBBjAdBgNVHQ4EFgQU43Mt38sOKAze3bOkynm4jrvoMIkwEQYJ -YIZIAYb4QgEBBAQDAgEGMDcGA1UdHwQwMC4wLKAqoCiGJmh0dHA6Ly93d3cuY2VydHBsdXMuY29t -L0NSTC9jbGFzczIuY3JsMA0GCSqGSIb3DQEBBQUAA4IBAQCnVM+IRBnL39R/AN9WM2K191EBkOvD -P9GIROkkXe/nFL0gt5o8AP5tn9uQ3Nf0YtaLcF3n5QRIqWh8yfFC82x/xXp8HVGIutIKPidd3i1R -TtMTZGnkLuPT55sJmabglZvOGtd/vjzOUrMRFcEPF80Du5wlFbqidon8BvEY0JNLDnyCt6X09l/+ -7UCmnYR0ObncHoUW2ikbhiMAybuJfm6AiB4vFLQDJKgybwOaRywwvlbGp0ICcBvqQNi6BQNwB6SW -//1IMwrh3KWBkJtN3X3n57LNXMhqlfil9o3EXXgIvnsG1knPGTZQIy4I5p4FTUcY1Rbpsda2ENW7 -l7+ijrRU ------END CERTIFICATE----- - -DST Root CA X3 -============== ------BEGIN CERTIFICATE----- -MIIDSjCCAjKgAwIBAgIQRK+wgNajJ7qJMDmGLvhAazANBgkqhkiG9w0BAQUFADA/MSQwIgYDVQQK -ExtEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdCBDby4xFzAVBgNVBAMTDkRTVCBSb290IENBIFgzMB4X -DTAwMDkzMDIxMTIxOVoXDTIxMDkzMDE0MDExNVowPzEkMCIGA1UEChMbRGlnaXRhbCBTaWduYXR1 -cmUgVHJ1c3QgQ28uMRcwFQYDVQQDEw5EU1QgUm9vdCBDQSBYMzCCASIwDQYJKoZIhvcNAQEBBQAD -ggEPADCCAQoCggEBAN+v6ZdQCINXtMxiZfaQguzH0yxrMMpb7NnDfcdAwRgUi+DoM3ZJKuM/IUmT -rE4Orz5Iy2Xu/NMhD2XSKtkyj4zl93ewEnu1lcCJo6m67XMuegwGMoOifooUMM0RoOEqOLl5CjH9 -UL2AZd+3UWODyOKIYepLYYHsUmu5ouJLGiifSKOeDNoJjj4XLh7dIN9bxiqKqy69cK3FCxolkHRy -xXtqqzTWMIn/5WgTe1QLyNau7Fqckh49ZLOMxt+/yUFw7BZy1SbsOFU5Q9D8/RhcQPGX69Wam40d -utolucbY38EVAjqr2m7xPi71XAicPNaDaeQQmxkqtilX4+U9m5/wAl0CAwEAAaNCMEAwDwYDVR0T -AQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFMSnsaR7LHH62+FLkHX/xBVghYkQ -MA0GCSqGSIb3DQEBBQUAA4IBAQCjGiybFwBcqR7uKGY3Or+Dxz9LwwmglSBd49lZRNI+DT69ikug -dB/OEIKcdBodfpga3csTS7MgROSR6cz8faXbauX+5v3gTt23ADq1cEmv8uXrAvHRAosZy5Q6XkjE -GB5YGV8eAlrwDPGxrancWYaLbumR9YbK+rlmM6pZW87ipxZzR8srzJmwN0jP41ZL9c8PDHIyh8bw -RLtTcm1D9SZImlJnt1ir/md2cXjbDaJWFBM5JDGFoqgCWjBH4d1QB7wCCZAA62RjYJsWvIjJEubS -fZGL+T0yjWW06XyxV3bqxbYoOb8VZRzI9neWagqNdwvYkQsEjgfbKbYK7p2CNTUQ ------END CERTIFICATE----- - -DST ACES CA X6 -============== ------BEGIN CERTIFICATE----- -MIIECTCCAvGgAwIBAgIQDV6ZCtadt3js2AdWO4YV2TANBgkqhkiG9w0BAQUFADBbMQswCQYDVQQG -EwJVUzEgMB4GA1UEChMXRGlnaXRhbCBTaWduYXR1cmUgVHJ1c3QxETAPBgNVBAsTCERTVCBBQ0VT -MRcwFQYDVQQDEw5EU1QgQUNFUyBDQSBYNjAeFw0wMzExMjAyMTE5NThaFw0xNzExMjAyMTE5NTha -MFsxCzAJBgNVBAYTAlVTMSAwHgYDVQQKExdEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdDERMA8GA1UE -CxMIRFNUIEFDRVMxFzAVBgNVBAMTDkRTVCBBQ0VTIENBIFg2MIIBIjANBgkqhkiG9w0BAQEFAAOC -AQ8AMIIBCgKCAQEAuT31LMmU3HWKlV1j6IR3dma5WZFcRt2SPp/5DgO0PWGSvSMmtWPuktKe1jzI -DZBfZIGxqAgNTNj50wUoUrQBJcWVHAx+PhCEdc/BGZFjz+iokYi5Q1K7gLFViYsx+tC3dr5BPTCa -pCIlF3PoHuLTrCq9Wzgh1SpL11V94zpVvddtawJXa+ZHfAjIgrrep4c9oW24MFbCswKBXy314pow -GCi4ZtPLAZZv6opFVdbgnf9nKxcCpk4aahELfrd755jWjHZvwTvbUJN+5dCOHze4vbrGn2zpfDPy -MjwmR/onJALJfh1biEITajV8fTXpLmaRcpPVMibEdPVTo7NdmvYJywIDAQABo4HIMIHFMA8GA1Ud -EwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgHGMB8GA1UdEQQYMBaBFHBraS1vcHNAdHJ1c3Rkc3Qu -Y29tMGIGA1UdIARbMFkwVwYKYIZIAWUDAgEBATBJMEcGCCsGAQUFBwIBFjtodHRwOi8vd3d3LnRy -dXN0ZHN0LmNvbS9jZXJ0aWZpY2F0ZXMvcG9saWN5L0FDRVMtaW5kZXguaHRtbDAdBgNVHQ4EFgQU -CXIGThhDD+XWzMNqizF7eI+og7gwDQYJKoZIhvcNAQEFBQADggEBAKPYjtay284F5zLNAdMEA+V2 -5FYrnJmQ6AgwbN99Pe7lv7UkQIRJ4dEorsTCOlMwiPH1d25Ryvr/ma8kXxug/fKshMrfqfBfBC6t -Fr8hlxCBPeP/h40y3JTlR4peahPJlJU90u7INJXQgNStMgiAVDzgvVJT11J8smk/f3rPanTK+gQq -nExaBqXpIK1FZg9p8d2/6eMyi/rgwYZNcjwu2JN4Cir42NInPRmJX1p7ijvMDNpRrscL9yuwNwXs -vFcj4jjSm2jzVhKIT0J8uDHEtdvkyCE06UgRNe76x5JXxZ805Mf29w4LTJxoeHtxMcfrHuBnQfO3 -oKfN5XozNmr6mis= ------END CERTIFICATE----- - -TURKTRUST Certificate Services Provider Root 1 -============================================== ------BEGIN CERTIFICATE----- -MIID+zCCAuOgAwIBAgIBATANBgkqhkiG9w0BAQUFADCBtzE/MD0GA1UEAww2VMOcUktUUlVTVCBF -bGVrdHJvbmlrIFNlcnRpZmlrYSBIaXptZXQgU2HEn2xhecSxY8Sxc8SxMQswCQYDVQQGDAJUUjEP -MA0GA1UEBwwGQU5LQVJBMVYwVAYDVQQKDE0oYykgMjAwNSBUw5xSS1RSVVNUIEJpbGdpIMSwbGV0 -acWfaW0gdmUgQmlsacWfaW0gR8O8dmVubGnEn2kgSGl6bWV0bGVyaSBBLsWeLjAeFw0wNTA1MTMx -MDI3MTdaFw0xNTAzMjIxMDI3MTdaMIG3MT8wPQYDVQQDDDZUw5xSS1RSVVNUIEVsZWt0cm9uaWsg -U2VydGlmaWthIEhpem1ldCBTYcSfbGF5xLFjxLFzxLExCzAJBgNVBAYMAlRSMQ8wDQYDVQQHDAZB -TktBUkExVjBUBgNVBAoMTShjKSAyMDA1IFTDnFJLVFJVU1QgQmlsZ2kgxLBsZXRpxZ9pbSB2ZSBC -aWxpxZ9pbSBHw7x2ZW5sacSfaSBIaXptZXRsZXJpIEEuxZ4uMIIBIjANBgkqhkiG9w0BAQEFAAOC -AQ8AMIIBCgKCAQEAylIF1mMD2Bxf3dJ7XfIMYGFbazt0K3gNfUW9InTojAPBxhEqPZW8qZSwu5GX -yGl8hMW0kWxsE2qkVa2kheiVfrMArwDCBRj1cJ02i67L5BuBf5OI+2pVu32Fks66WJ/bMsW9Xe8i -Si9BB35JYbOG7E6mQW6EvAPs9TscyB/C7qju6hJKjRTP8wrgUDn5CDX4EVmt5yLqS8oUBt5CurKZ -8y1UiBAG6uEaPj1nH/vO+3yC6BFdSsG5FOpU2WabfIl9BJpiyelSPJ6c79L1JuTm5Rh8i27fbMx4 -W09ysstcP4wFjdFMjK2Sx+F4f2VsSQZQLJ4ywtdKxnWKWU51b0dewQIDAQABoxAwDjAMBgNVHRME -BTADAQH/MA0GCSqGSIb3DQEBBQUAA4IBAQAV9VX/N5aAWSGk/KEVTCD21F/aAyT8z5Aa9CEKmu46 -sWrv7/hg0Uw2ZkUd82YCdAR7kjCo3gp2D++Vbr3JN+YaDayJSFvMgzbC9UZcWYJWtNX+I7TYVBxE -q8Sn5RTOPEFhfEPmzcSBCYsk+1Ql1haolgxnB2+zUEfjHCQo3SqYpGH+2+oSN7wBGjSFvW5P55Fy -B0SFHljKVETd96y5y4khctuPwGkplyqjrhgjlxxBKot8KsF8kOipKMDTkcatKIdAaLX/7KfS0zgY -nNN9aV3wxqUeJBujR/xpB2jn5Jq07Q+hh4cCzofSSE7hvP/L8XKSRGQDJereW26fyfJOrN3H ------END CERTIFICATE----- - -TURKTRUST Certificate Services Provider Root 2 -============================================== ------BEGIN CERTIFICATE----- -MIIEPDCCAySgAwIBAgIBATANBgkqhkiG9w0BAQUFADCBvjE/MD0GA1UEAww2VMOcUktUUlVTVCBF -bGVrdHJvbmlrIFNlcnRpZmlrYSBIaXptZXQgU2HEn2xhecSxY8Sxc8SxMQswCQYDVQQGEwJUUjEP -MA0GA1UEBwwGQW5rYXJhMV0wWwYDVQQKDFRUw5xSS1RSVVNUIEJpbGdpIMSwbGV0acWfaW0gdmUg -QmlsacWfaW0gR8O8dmVubGnEn2kgSGl6bWV0bGVyaSBBLsWeLiAoYykgS2FzxLFtIDIwMDUwHhcN -MDUxMTA3MTAwNzU3WhcNMTUwOTE2MTAwNzU3WjCBvjE/MD0GA1UEAww2VMOcUktUUlVTVCBFbGVr -dHJvbmlrIFNlcnRpZmlrYSBIaXptZXQgU2HEn2xhecSxY8Sxc8SxMQswCQYDVQQGEwJUUjEPMA0G -A1UEBwwGQW5rYXJhMV0wWwYDVQQKDFRUw5xSS1RSVVNUIEJpbGdpIMSwbGV0acWfaW0gdmUgQmls -acWfaW0gR8O8dmVubGnEn2kgSGl6bWV0bGVyaSBBLsWeLiAoYykgS2FzxLFtIDIwMDUwggEiMA0G -CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCpNn7DkUNMwxmYCMjHWHtPFoylzkkBH3MOrHUTpvqe -LCDe2JAOCtFp0if7qnefJ1Il4std2NiDUBd9irWCPwSOtNXwSadktx4uXyCcUHVPr+G1QRT0mJKI -x+XlZEdhR3n9wFHxwZnn3M5q+6+1ATDcRhzviuyV79z/rxAc653YsKpqhRgNF8k+v/Gb0AmJQv2g -QrSdiVFVKc8bcLyEVK3BEx+Y9C52YItdP5qtygy/p1Zbj3e41Z55SZI/4PGXJHpsmxcPbe9TmJEr -5A++WXkHeLuXlfSfadRYhwqp48y2WBmfJiGxxFmNskF1wK1pzpwACPI2/z7woQ8arBT9pmAPAgMB -AAGjQzBBMB0GA1UdDgQWBBTZN7NOBf3Zz58SFq62iS/rJTqIHDAPBgNVHQ8BAf8EBQMDBwYAMA8G -A1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAHJglrfJ3NgpXiOFX7KzLXb7iNcX/ntt -Rbj2hWyfIvwqECLsqrkw9qtY1jkQMZkpAL2JZkH7dN6RwRgLn7Vhy506vvWolKMiVW4XSf/SKfE4 -Jl3vpao6+XF75tpYHdN0wgH6PmlYX63LaL4ULptswLbcoCb6dxriJNoaN+BnrdFzgw2lGh1uEpJ+ -hGIAF728JRhX8tepb1mIvDS3LoV4nZbcFMMsilKbloxSZj2GFotHuFEJjOp9zYhys2AzsfAKRO8P -9Qk3iCQOLGsgOqL6EfJANZxEaGM7rDNvY7wsu/LSy3Z9fYjYHcgFHW68lKlmjHdxx/qR+i9Rnuk5 -UrbnBEI= ------END CERTIFICATE----- - -SwissSign Gold CA - G2 -====================== ------BEGIN CERTIFICATE----- -MIIFujCCA6KgAwIBAgIJALtAHEP1Xk+wMA0GCSqGSIb3DQEBBQUAMEUxCzAJBgNVBAYTAkNIMRUw -EwYDVQQKEwxTd2lzc1NpZ24gQUcxHzAdBgNVBAMTFlN3aXNzU2lnbiBHb2xkIENBIC0gRzIwHhcN -MDYxMDI1MDgzMDM1WhcNMzYxMDI1MDgzMDM1WjBFMQswCQYDVQQGEwJDSDEVMBMGA1UEChMMU3dp -c3NTaWduIEFHMR8wHQYDVQQDExZTd2lzc1NpZ24gR29sZCBDQSAtIEcyMIICIjANBgkqhkiG9w0B -AQEFAAOCAg8AMIICCgKCAgEAr+TufoskDhJuqVAtFkQ7kpJcyrhdhJJCEyq8ZVeCQD5XJM1QiyUq -t2/876LQwB8CJEoTlo8jE+YoWACjR8cGp4QjK7u9lit/VcyLwVcfDmJlD909Vopz2q5+bbqBHH5C -jCA12UNNhPqE21Is8w4ndwtrvxEvcnifLtg+5hg3Wipy+dpikJKVyh+c6bM8K8vzARO/Ws/BtQpg -vd21mWRTuKCWs2/iJneRjOBiEAKfNA+k1ZIzUd6+jbqEemA8atufK+ze3gE/bk3lUIbLtK/tREDF -ylqM2tIrfKjuvqblCqoOpd8FUrdVxyJdMmqXl2MT28nbeTZ7hTpKxVKJ+STnnXepgv9VHKVxaSvR -AiTysybUa9oEVeXBCsdtMDeQKuSeFDNeFhdVxVu1yzSJkvGdJo+hB9TGsnhQ2wwMC3wLjEHXuend -jIj3o02yMszYF9rNt85mndT9Xv+9lz4pded+p2JYryU0pUHHPbwNUMoDAw8IWh+Vc3hiv69yFGkO -peUDDniOJihC8AcLYiAQZzlG+qkDzAQ4embvIIO1jEpWjpEA/I5cgt6IoMPiaG59je883WX0XaxR -7ySArqpWl2/5rX3aYT+YdzylkbYcjCbaZaIJbcHiVOO5ykxMgI93e2CaHt+28kgeDrpOVG2Y4OGi -GqJ3UM/EY5LsRxmd6+ZrzsECAwEAAaOBrDCBqTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUw -AwEB/zAdBgNVHQ4EFgQUWyV7lqRlUX64OfPAeGZe6Drn8O4wHwYDVR0jBBgwFoAUWyV7lqRlUX64 -OfPAeGZe6Drn8O4wRgYDVR0gBD8wPTA7BglghXQBWQECAQEwLjAsBggrBgEFBQcCARYgaHR0cDov -L3JlcG9zaXRvcnkuc3dpc3NzaWduLmNvbS8wDQYJKoZIhvcNAQEFBQADggIBACe645R88a7A3hfm -5djV9VSwg/S7zV4Fe0+fdWavPOhWfvxyeDgD2StiGwC5+OlgzczOUYrHUDFu4Up+GC9pWbY9ZIEr -44OE5iKHjn3g7gKZYbge9LgriBIWhMIxkziWMaa5O1M/wySTVltpkuzFwbs4AOPsF6m43Md8AYOf -Mke6UiI0HTJ6CVanfCU2qT1L2sCCbwq7EsiHSycR+R4tx5M/nttfJmtS2S6K8RTGRI0Vqbe/vd6m -Gu6uLftIdxf+u+yvGPUqUfA5hJeVbG4bwyvEdGB5JbAKJ9/fXtI5z0V9QkvfsywexcZdylU6oJxp -mo/a77KwPJ+HbBIrZXAVUjEaJM9vMSNQH4xPjyPDdEFjHFWoFN0+4FFQz/EbMFYOkrCChdiDyyJk -vC24JdVUorgG6q2SpCSgwYa1ShNqR88uC1aVVMvOmttqtKay20EIhid392qgQmwLOM7XdVAyksLf -KzAiSNDVQTglXaTpXZ/GlHXQRf0wl0OPkKsKx4ZzYEppLd6leNcG2mqeSz53OiATIgHQv2ieY2Br -NU0LbbqhPcCT4H8js1WtciVORvnSFu+wZMEBnunKoGqYDs/YYPIvSbjkQuE4NRb0yG5P94FW6Lqj -viOvrv1vA+ACOzB2+httQc8Bsem4yWb02ybzOqR08kkkW8mw0FfB+j564ZfJ ------END CERTIFICATE----- - -SwissSign Silver CA - G2 -======================== ------BEGIN CERTIFICATE----- -MIIFvTCCA6WgAwIBAgIITxvUL1S7L0swDQYJKoZIhvcNAQEFBQAwRzELMAkGA1UEBhMCQ0gxFTAT -BgNVBAoTDFN3aXNzU2lnbiBBRzEhMB8GA1UEAxMYU3dpc3NTaWduIFNpbHZlciBDQSAtIEcyMB4X -DTA2MTAyNTA4MzI0NloXDTM2MTAyNTA4MzI0NlowRzELMAkGA1UEBhMCQ0gxFTATBgNVBAoTDFN3 -aXNzU2lnbiBBRzEhMB8GA1UEAxMYU3dpc3NTaWduIFNpbHZlciBDQSAtIEcyMIICIjANBgkqhkiG -9w0BAQEFAAOCAg8AMIICCgKCAgEAxPGHf9N4Mfc4yfjDmUO8x/e8N+dOcbpLj6VzHVxumK4DV644 -N0MvFz0fyM5oEMF4rhkDKxD6LHmD9ui5aLlV8gREpzn5/ASLHvGiTSf5YXu6t+WiE7brYT7QbNHm -+/pe7R20nqA1W6GSy/BJkv6FCgU+5tkL4k+73JU3/JHpMjUi0R86TieFnbAVlDLaYQ1HTWBCrpJH -6INaUFjpiou5XaHc3ZlKHzZnu0jkg7Y360g6rw9njxcH6ATK72oxh9TAtvmUcXtnZLi2kUpCe2Uu -MGoM9ZDulebyzYLs2aFK7PayS+VFheZteJMELpyCbTapxDFkH4aDCyr0NQp4yVXPQbBH6TCfmb5h -qAaEuSh6XzjZG6k4sIN/c8HDO0gqgg8hm7jMqDXDhBuDsz6+pJVpATqJAHgE2cn0mRmrVn5bi4Y5 -FZGkECwJMoBgs5PAKrYYC51+jUnyEEp/+dVGLxmSo5mnJqy7jDzmDrxHB9xzUfFwZC8I+bRHHTBs -ROopN4WSaGa8gzj+ezku01DwH/teYLappvonQfGbGHLy9YR0SslnxFSuSGTfjNFusB3hB48IHpmc -celM2KX3RxIfdNFRnobzwqIjQAtz20um53MGjMGg6cFZrEb65i/4z3GcRm25xBWNOHkDRUjvxF3X -CO6HOSKGsg0PWEP3calILv3q1h8CAwEAAaOBrDCBqTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/ -BAUwAwEB/zAdBgNVHQ4EFgQUF6DNweRBtjpbO8tFnb0cwpj6hlgwHwYDVR0jBBgwFoAUF6DNweRB -tjpbO8tFnb0cwpj6hlgwRgYDVR0gBD8wPTA7BglghXQBWQEDAQEwLjAsBggrBgEFBQcCARYgaHR0 -cDovL3JlcG9zaXRvcnkuc3dpc3NzaWduLmNvbS8wDQYJKoZIhvcNAQEFBQADggIBAHPGgeAn0i0P -4JUw4ppBf1AsX19iYamGamkYDHRJ1l2E6kFSGG9YrVBWIGrGvShpWJHckRE1qTodvBqlYJ7YH39F -kWnZfrt4csEGDyrOj4VwYaygzQu4OSlWhDJOhrs9xCrZ1x9y7v5RoSJBsXECYxqCsGKrXlcSH9/L -3XWgwF15kIwb4FDm3jH+mHtwX6WQ2K34ArZv02DdQEsixT2tOnqfGhpHkXkzuoLcMmkDlm4fS/Bx -/uNncqCxv1yL5PqZIseEuRuNI5c/7SXgz2W79WEE790eslpBIlqhn10s6FvJbakMDHiqYMZWjwFa -DGi8aRl5xB9+lwW/xekkUV7U1UtT7dkjWjYDZaPBA61BMPNGG4WQr2W11bHkFlt4dR2Xem1ZqSqP -e97Dh4kQmUlzeMg9vVE1dCrV8X5pGyq7O70luJpaPXJhkGaH7gzWTdQRdAtq/gsD/KNVV4n+Ssuu -WxcFyPKNIzFTONItaj+CuY0IavdeQXRuwxF+B6wpYJE/OMpXEA29MC/HpeZBoNquBYeaoKRlbEwJ -DIm6uNO5wJOKMPqN5ZprFQFOZ6raYlY+hAhm0sQ2fac+EPyI4NSA5QC9qvNOBqN6avlicuMJT+ub -DgEj8Z+7fNzcbBGXJbLytGMU0gYqZ4yD9c7qB9iaah7s5Aq7KkzrCWA5zspi2C5u ------END CERTIFICATE----- - -GeoTrust Primary Certification Authority -======================================== ------BEGIN CERTIFICATE----- -MIIDfDCCAmSgAwIBAgIQGKy1av1pthU6Y2yv2vrEoTANBgkqhkiG9w0BAQUFADBYMQswCQYDVQQG -EwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjExMC8GA1UEAxMoR2VvVHJ1c3QgUHJpbWFyeSBD -ZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wNjExMjcwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMFgx -CzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMTEwLwYDVQQDEyhHZW9UcnVzdCBQ -cmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB -CgKCAQEAvrgVe//UfH1nrYNke8hCUy3f9oQIIGHWAVlqnEQRr+92/ZV+zmEwu3qDXwK9AWbK7hWN -b6EwnL2hhZ6UOvNWiAAxz9juapYC2e0DjPt1befquFUWBRaa9OBesYjAZIVcFU2Ix7e64HXprQU9 -nceJSOC7KMgD4TCTZF5SwFlwIjVXiIrxlQqD17wxcwE07e9GceBrAqg1cmuXm2bgyxx5X9gaBGge -RwLmnWDiNpcB3841kt++Z8dtd1k7j53WkBWUvEI0EME5+bEnPn7WinXFsq+W06Lem+SYvn3h6YGt -tm/81w7a4DSwDRp35+MImO9Y+pyEtzavwt+s0vQQBnBxNQIDAQABo0IwQDAPBgNVHRMBAf8EBTAD -AQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQULNVQQZcVi/CPNmFbSvtr2ZnJM5IwDQYJKoZI -hvcNAQEFBQADggEBAFpwfyzdtzRP9YZRqSa+S7iq8XEN3GHHoOo0Hnp3DwQ16CePbJC/kRYkRj5K -Ts4rFtULUh38H2eiAkUxT87z+gOneZ1TatnaYzr4gNfTmeGl4b7UVXGYNTq+k+qurUKykG/g/CFN -NWMziUnWm07Kx+dOCQD32sfvmWKZd7aVIl6KoKv0uHiYyjgZmclynnjNS6yvGaBzEi38wkG6gZHa -Floxt/m0cYASSJlyc1pZU8FjUjPtp8nSOQJw+uCxQmYpqptR7TBUIhRf2asdweSU8Pj1K/fqynhG -1riR/aYNKxoUAT6A8EKglQdebc3MS6RFjasS6LPeWuWgfOgPIh1a6Vk= ------END CERTIFICATE----- - -thawte Primary Root CA -====================== ------BEGIN CERTIFICATE----- -MIIEIDCCAwigAwIBAgIQNE7VVyDV7exJ9C/ON9srbTANBgkqhkiG9w0BAQUFADCBqTELMAkGA1UE -BhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2 -aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMvKGMpIDIwMDYgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhv -cml6ZWQgdXNlIG9ubHkxHzAdBgNVBAMTFnRoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EwHhcNMDYxMTE3 -MDAwMDAwWhcNMzYwNzE2MjM1OTU5WjCBqTELMAkGA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwg -SW5jLjEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMv -KGMpIDIwMDYgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxHzAdBgNVBAMT -FnRoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCs -oPD7gFnUnMekz52hWXMJEEUMDSxuaPFsW0hoSVk3/AszGcJ3f8wQLZU0HObrTQmnHNK4yZc2AreJ -1CRfBsDMRJSUjQJib+ta3RGNKJpchJAQeg29dGYvajig4tVUROsdB58Hum/u6f1OCyn1PoSgAfGc -q/gcfomk6KHYcWUNo1F77rzSImANuVud37r8UVsLr5iy6S7pBOhih94ryNdOwUxkHt3Ph1i6Sk/K -aAcdHJ1KxtUvkcx8cXIcxcBn6zL9yZJclNqFwJu/U30rCfSMnZEfl2pSy94JNqR32HuHUETVPm4p -afs5SSYeCaWAe0At6+gnhcn+Yf1+5nyXHdWdAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYD -VR0PAQH/BAQDAgEGMB0GA1UdDgQWBBR7W0XPr87Lev0xkhpqtvNG61dIUDANBgkqhkiG9w0BAQUF -AAOCAQEAeRHAS7ORtvzw6WfUDW5FvlXok9LOAz/t2iWwHVfLHjp2oEzsUHboZHIMpKnxuIvW1oeE -uzLlQRHAd9mzYJ3rG9XRbkREqaYB7FViHXe4XI5ISXycO1cRrK1zN44veFyQaEfZYGDm/Ac9IiAX -xPcW6cTYcvnIc3zfFi8VqT79aie2oetaupgf1eNNZAqdE8hhuvU5HIe6uL17In/2/qxAeeWsEG89 -jxt5dovEN7MhGITlNgDrYyCZuen+MwS7QcjBAvlEYyCegc5C09Y/LHbTY5xZ3Y+m4Q6gLkH3LpVH -z7z9M/P2C2F+fpErgUfCJzDupxBdN49cOSvkBPB7jVaMaA== ------END CERTIFICATE----- - -VeriSign Class 3 Public Primary Certification Authority - G5 -============================================================ ------BEGIN CERTIFICATE----- -MIIE0zCCA7ugAwIBAgIQGNrRniZ96LtKIVjNzGs7SjANBgkqhkiG9w0BAQUFADCByjELMAkGA1UE -BhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBO -ZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVk -IHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRp -ZmljYXRpb24gQXV0aG9yaXR5IC0gRzUwHhcNMDYxMTA4MDAwMDAwWhcNMzYwNzE2MjM1OTU5WjCB -yjELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2ln -biBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJpU2lnbiwgSW5jLiAtIEZvciBh -dXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmlt -YXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw -ggEKAoIBAQCvJAgIKXo1nmAMqudLO07cfLw8RRy7K+D+KQL5VwijZIUVJ/XxrcgxiV0i6CqqpkKz -j/i5Vbext0uz/o9+B1fs70PbZmIVYc9gDaTY3vjgw2IIPVQT60nKWVSFJuUrjxuf6/WhkcIzSdhD -Y2pSS9KP6HBRTdGJaXvHcPaz3BJ023tdS1bTlr8Vd6Gw9KIl8q8ckmcY5fQGBO+QueQA5N06tRn/ -Arr0PO7gi+s3i+z016zy9vA9r911kTMZHRxAy3QkGSGT2RT+rCpSx4/VBEnkjWNHiDxpg8v+R70r -fk/Fla4OndTRQ8Bnc+MUCH7lP59zuDMKz10/NIeWiu5T6CUVAgMBAAGjgbIwga8wDwYDVR0TAQH/ -BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwbQYIKwYBBQUHAQwEYTBfoV2gWzBZMFcwVRYJaW1hZ2Uv -Z2lmMCEwHzAHBgUrDgMCGgQUj+XTGoasjY5rw8+AatRIGCx7GS4wJRYjaHR0cDovL2xvZ28udmVy -aXNpZ24uY29tL3ZzbG9nby5naWYwHQYDVR0OBBYEFH/TZafC3ey78DAJ80M5+gKvMzEzMA0GCSqG -SIb3DQEBBQUAA4IBAQCTJEowX2LP2BqYLz3q3JktvXf2pXkiOOzEp6B4Eq1iDkVwZMXnl2YtmAl+ -X6/WzChl8gGqCBpH3vn5fJJaCGkgDdk+bW48DW7Y5gaRQBi5+MHt39tBquCWIMnNZBU4gcmU7qKE -KQsTb47bDN0lAtukixlE0kF6BWlKWE9gyn6CagsCqiUXObXbf+eEZSqVir2G3l6BFoMtEMze/aiC -Km0oHw0LxOXnGiYZ4fQRbxC1lfznQgUy286dUV4otp6F01vvpX1FQHKOtw5rDgb7MzVIcbidJ4vE -ZV8NhnacRHr2lVz2XTIIM6RUthg/aFzyQkqFOFSDX9HoLPKsEdao7WNq ------END CERTIFICATE----- - -SecureTrust CA -============== ------BEGIN CERTIFICATE----- -MIIDuDCCAqCgAwIBAgIQDPCOXAgWpa1Cf/DrJxhZ0DANBgkqhkiG9w0BAQUFADBIMQswCQYDVQQG -EwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24xFzAVBgNVBAMTDlNlY3VyZVRy -dXN0IENBMB4XDTA2MTEwNzE5MzExOFoXDTI5MTIzMTE5NDA1NVowSDELMAkGA1UEBhMCVVMxIDAe -BgNVBAoTF1NlY3VyZVRydXN0IENvcnBvcmF0aW9uMRcwFQYDVQQDEw5TZWN1cmVUcnVzdCBDQTCC -ASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKukgeWVzfX2FI7CT8rU4niVWJxB4Q2ZQCQX -OZEzZum+4YOvYlyJ0fwkW2Gz4BERQRwdbvC4u/jep4G6pkjGnx29vo6pQT64lO0pGtSO0gMdA+9t -DWccV9cGrcrI9f4Or2YlSASWC12juhbDCE/RRvgUXPLIXgGZbf2IzIaowW8xQmxSPmjL8xk037uH -GFaAJsTQ3MBv396gwpEWoGQRS0S8Hvbn+mPeZqx2pHGj7DaUaHp3pLHnDi+BeuK1cobvomuL8A/b -01k/unK8RCSc43Oz969XL0Imnal0ugBS8kvNU3xHCzaFDmapCJcWNFfBZveA4+1wVMeT4C4oFVmH -ursCAwEAAaOBnTCBmjATBgkrBgEEAYI3FAIEBh4EAEMAQTALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/ -BAUwAwEB/zAdBgNVHQ4EFgQUQjK2FvoE/f5dS3rD/fdMQB1aQ68wNAYDVR0fBC0wKzApoCegJYYj -aHR0cDovL2NybC5zZWN1cmV0cnVzdC5jb20vU1RDQS5jcmwwEAYJKwYBBAGCNxUBBAMCAQAwDQYJ -KoZIhvcNAQEFBQADggEBADDtT0rhWDpSclu1pqNlGKa7UTt36Z3q059c4EVlew3KW+JwULKUBRSu -SceNQQcSc5R+DCMh/bwQf2AQWnL1mA6s7Ll/3XpvXdMc9P+IBWlCqQVxyLesJugutIxq/3HcuLHf -mbx8IVQr5Fiiu1cprp6poxkmD5kuCLDv/WnPmRoJjeOnnyvJNjR7JLN4TJUXpAYmHrZkUjZfYGfZ -nMUFdAvnZyPSCPyI6a6Lf+Ew9Dd+/cYy2i2eRDAwbO4H3tI0/NL/QPZL9GZGBlSm8jIKYyYwa5vR -3ItHuuG51WLQoqD0ZwV4KWMabwTW+MZMo5qxN7SN5ShLHZ4swrhovO0C7jE= ------END CERTIFICATE----- - -Secure Global CA -================ ------BEGIN CERTIFICATE----- -MIIDvDCCAqSgAwIBAgIQB1YipOjUiolN9BPI8PjqpTANBgkqhkiG9w0BAQUFADBKMQswCQYDVQQG -EwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24xGTAXBgNVBAMTEFNlY3VyZSBH -bG9iYWwgQ0EwHhcNMDYxMTA3MTk0MjI4WhcNMjkxMjMxMTk1MjA2WjBKMQswCQYDVQQGEwJVUzEg -MB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24xGTAXBgNVBAMTEFNlY3VyZSBHbG9iYWwg -Q0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCvNS7YrGxVaQZx5RNoJLNP2MwhR/jx -YDiJiQPpvepeRlMJ3Fz1Wuj3RSoC6zFh1ykzTM7HfAo3fg+6MpjhHZevj8fcyTiW89sa/FHtaMbQ -bqR8JNGuQsiWUGMu4P51/pinX0kuleM5M2SOHqRfkNJnPLLZ/kG5VacJjnIFHovdRIWCQtBJwB1g -8NEXLJXr9qXBkqPFwqcIYA1gBBCWeZ4WNOaptvolRTnIHmX5k/Wq8VLcmZg9pYYaDDUz+kulBAYV -HDGA76oYa8J719rO+TMg1fW9ajMtgQT7sFzUnKPiXB3jqUJ1XnvUd+85VLrJChgbEplJL4hL/VBi -0XPnj3pDAgMBAAGjgZ0wgZowEwYJKwYBBAGCNxQCBAYeBABDAEEwCwYDVR0PBAQDAgGGMA8GA1Ud -EwEB/wQFMAMBAf8wHQYDVR0OBBYEFK9EBMJBfkiD2045AuzshHrmzsmkMDQGA1UdHwQtMCswKaAn -oCWGI2h0dHA6Ly9jcmwuc2VjdXJldHJ1c3QuY29tL1NHQ0EuY3JsMBAGCSsGAQQBgjcVAQQDAgEA -MA0GCSqGSIb3DQEBBQUAA4IBAQBjGghAfaReUw132HquHw0LURYD7xh8yOOvaliTFGCRsoTciE6+ -OYo68+aCiV0BN7OrJKQVDpI1WkpEXk5X+nXOH0jOZvQ8QCaSmGwb7iRGDBezUqXbpZGRzzfTb+cn -CDpOGR86p1hcF895P4vkp9MmI50mD1hp/Ed+stCNi5O/KU9DaXR2Z0vPB4zmAve14bRDtUstFJ/5 -3CYNv6ZHdAbYiNE6KTCEztI5gGIbqMdXSbxqVVFnFUq+NQfk1XWYN3kwFNspnWzFacxHVaIw98xc -f8LDmBxrThaA63p4ZUWiABqvDA1VZDRIuJK58bRQKfJPIx/abKwfROHdI3hRW8cW ------END CERTIFICATE----- - -COMODO Certification Authority -============================== ------BEGIN CERTIFICATE----- -MIIEHTCCAwWgAwIBAgIQToEtioJl4AsC7j41AkblPTANBgkqhkiG9w0BAQUFADCBgTELMAkGA1UE -BhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgG -A1UEChMRQ09NT0RPIENBIExpbWl0ZWQxJzAlBgNVBAMTHkNPTU9ETyBDZXJ0aWZpY2F0aW9uIEF1 -dGhvcml0eTAeFw0wNjEyMDEwMDAwMDBaFw0yOTEyMzEyMzU5NTlaMIGBMQswCQYDVQQGEwJHQjEb -MBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRowGAYDVQQKExFD -T01PRE8gQ0EgTGltaXRlZDEnMCUGA1UEAxMeQ09NT0RPIENlcnRpZmljYXRpb24gQXV0aG9yaXR5 -MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0ECLi3LjkRv3UcEbVASY06m/weaKXTuH -+7uIzg3jLz8GlvCiKVCZrts7oVewdFFxze1CkU1B/qnI2GqGd0S7WWaXUF601CxwRM/aN5VCaTww -xHGzUvAhTaHYujl8HJ6jJJ3ygxaYqhZ8Q5sVW7euNJH+1GImGEaaP+vB+fGQV+useg2L23IwambV -4EajcNxo2f8ESIl33rXp+2dtQem8Ob0y2WIC8bGoPW43nOIv4tOiJovGuFVDiOEjPqXSJDlqR6sA -1KGzqSX+DT+nHbrTUcELpNqsOO9VUCQFZUaTNE8tja3G1CEZ0o7KBWFxB3NH5YoZEr0ETc5OnKVI -rLsm9wIDAQABo4GOMIGLMB0GA1UdDgQWBBQLWOWLxkwVN6RAqTCpIb5HNlpW/zAOBgNVHQ8BAf8E -BAMCAQYwDwYDVR0TAQH/BAUwAwEB/zBJBgNVHR8EQjBAMD6gPKA6hjhodHRwOi8vY3JsLmNvbW9k -b2NhLmNvbS9DT01PRE9DZXJ0aWZpY2F0aW9uQXV0aG9yaXR5LmNybDANBgkqhkiG9w0BAQUFAAOC -AQEAPpiem/Yb6dc5t3iuHXIYSdOH5EOC6z/JqvWote9VfCFSZfnVDeFs9D6Mk3ORLgLETgdxb8CP -OGEIqB6BCsAvIC9Bi5HcSEW88cbeunZrM8gALTFGTO3nnc+IlP8zwFboJIYmuNg4ON8qa90SzMc/ -RxdMosIGlgnW2/4/PEZB31jiVg88O8EckzXZOFKs7sjsLjBOlDW0JB9LeGna8gI4zJVSk/BwJVmc -IGfE7vmLV2H0knZ9P4SNVbfo5azV8fUZVqZa+5Acr5Pr5RzUZ5ddBA6+C4OmF4O5MBKgxTMVBbkN -+8cFduPYSo38NBejxiEovjBFMR7HeL5YYTisO+IBZQ== ------END CERTIFICATE----- - -Network Solutions Certificate Authority -======================================= ------BEGIN CERTIFICATE----- -MIID5jCCAs6gAwIBAgIQV8szb8JcFuZHFhfjkDFo4DANBgkqhkiG9w0BAQUFADBiMQswCQYDVQQG -EwJVUzEhMB8GA1UEChMYTmV0d29yayBTb2x1dGlvbnMgTC5MLkMuMTAwLgYDVQQDEydOZXR3b3Jr -IFNvbHV0aW9ucyBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwHhcNMDYxMjAxMDAwMDAwWhcNMjkxMjMx -MjM1OTU5WjBiMQswCQYDVQQGEwJVUzEhMB8GA1UEChMYTmV0d29yayBTb2x1dGlvbnMgTC5MLkMu -MTAwLgYDVQQDEydOZXR3b3JrIFNvbHV0aW9ucyBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwggEiMA0G -CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDkvH6SMG3G2I4rC7xGzuAnlt7e+foS0zwzc7MEL7xx -jOWftiJgPl9dzgn/ggwbmlFQGiaJ3dVhXRncEg8tCqJDXRfQNJIg6nPPOCwGJgl6cvf6UDL4wpPT -aaIjzkGxzOTVHzbRijr4jGPiFFlp7Q3Tf2vouAPlT2rlmGNpSAW+Lv8ztumXWWn4Zxmuk2GWRBXT -crA/vGp97Eh/jcOrqnErU2lBUzS1sLnFBgrEsEX1QV1uiUV7PTsmjHTC5dLRfbIR1PtYMiKagMnc -/Qzpf14Dl847ABSHJ3A4qY5usyd2mFHgBeMhqxrVhSI8KbWaFsWAqPS7azCPL0YCorEMIuDTAgMB -AAGjgZcwgZQwHQYDVR0OBBYEFCEwyfsA106Y2oeqKtCnLrFAMadMMA4GA1UdDwEB/wQEAwIBBjAP -BgNVHRMBAf8EBTADAQH/MFIGA1UdHwRLMEkwR6BFoEOGQWh0dHA6Ly9jcmwubmV0c29sc3NsLmNv -bS9OZXR3b3JrU29sdXRpb25zQ2VydGlmaWNhdGVBdXRob3JpdHkuY3JsMA0GCSqGSIb3DQEBBQUA -A4IBAQC7rkvnt1frf6ott3NHhWrB5KUd5Oc86fRZZXe1eltajSU24HqXLjjAV2CDmAaDn7l2em5Q -4LqILPxFzBiwmZVRDuwduIj/h1AcgsLj4DKAv6ALR8jDMe+ZZzKATxcheQxpXN5eNK4CtSbqUN9/ -GGUsyfJj4akH/nxxH2szJGoeBfcFaMBqEssuXmHLrijTfsK0ZpEmXzwuJF/LWA/rKOyvEZbz3Htv -wKeI8lN3s2Berq4o2jUsbzRF0ybh3uxbTydrFny9RAQYgrOJeRcQcT16ohZO9QHNpGxlaKFJdlxD -ydi8NmdspZS11My5vWo1ViHe2MPr+8ukYEywVaCge1ey ------END CERTIFICATE----- - -WellsSecure Public Root Certificate Authority -============================================= ------BEGIN CERTIFICATE----- -MIIEvTCCA6WgAwIBAgIBATANBgkqhkiG9w0BAQUFADCBhTELMAkGA1UEBhMCVVMxIDAeBgNVBAoM -F1dlbGxzIEZhcmdvIFdlbGxzU2VjdXJlMRwwGgYDVQQLDBNXZWxscyBGYXJnbyBCYW5rIE5BMTYw -NAYDVQQDDC1XZWxsc1NlY3VyZSBQdWJsaWMgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwHhcN -MDcxMjEzMTcwNzU0WhcNMjIxMjE0MDAwNzU0WjCBhTELMAkGA1UEBhMCVVMxIDAeBgNVBAoMF1dl -bGxzIEZhcmdvIFdlbGxzU2VjdXJlMRwwGgYDVQQLDBNXZWxscyBGYXJnbyBCYW5rIE5BMTYwNAYD -VQQDDC1XZWxsc1NlY3VyZSBQdWJsaWMgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwggEiMA0G -CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDub7S9eeKPCCGeOARBJe+rWxxTkqxtnt3CxC5FlAM1 -iGd0V+PfjLindo8796jE2yljDpFoNoqXjopxaAkH5OjUDk/41itMpBb570OYj7OeUt9tkTmPOL13 -i0Nj67eT/DBMHAGTthP796EfvyXhdDcsHqRePGj4S78NuR4uNuip5Kf4D8uCdXw1LSLWwr8L87T8 -bJVhHlfXBIEyg1J55oNjz7fLY4sR4r1e6/aN7ZVyKLSsEmLpSjPmgzKuBXWVvYSV2ypcm44uDLiB -K0HmOFafSZtsdvqKXfcBeYF8wYNABf5x/Qw/zE5gCQ5lRxAvAcAFP4/4s0HvWkJ+We/SlwxlAgMB -AAGjggE0MIIBMDAPBgNVHRMBAf8EBTADAQH/MDkGA1UdHwQyMDAwLqAsoCqGKGh0dHA6Ly9jcmwu -cGtpLndlbGxzZmFyZ28uY29tL3dzcHJjYS5jcmwwDgYDVR0PAQH/BAQDAgHGMB0GA1UdDgQWBBQm -lRkQ2eihl5H/3BnZtQQ+0nMKajCBsgYDVR0jBIGqMIGngBQmlRkQ2eihl5H/3BnZtQQ+0nMKaqGB -i6SBiDCBhTELMAkGA1UEBhMCVVMxIDAeBgNVBAoMF1dlbGxzIEZhcmdvIFdlbGxzU2VjdXJlMRww -GgYDVQQLDBNXZWxscyBGYXJnbyBCYW5rIE5BMTYwNAYDVQQDDC1XZWxsc1NlY3VyZSBQdWJsaWMg -Um9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHmCAQEwDQYJKoZIhvcNAQEFBQADggEBALkVsUSRzCPI -K0134/iaeycNzXK7mQDKfGYZUMbVmO2rvwNa5U3lHshPcZeG1eMd/ZDJPHV3V3p9+N701NX3leZ0 -bh08rnyd2wIDBSxxSyU+B+NemvVmFymIGjifz6pBA4SXa5M4esowRBskRDPQ5NHcKDj0E0M1NSlj -qHyita04pO2t/caaH/+Xc/77szWnk4bGdpEA5qxRFsQnMlzbc9qlk1eOPm01JghZ1edE13YgY+es -E2fDbbFwRnzVlhE9iW9dqKHrjQrawx0zbKPqZxmamX9LPYNRKh3KL4YMon4QLSvUFpULB6ouFJJJ -tylv2G0xffX8oRAHh84vWdw+WNs= ------END CERTIFICATE----- - -COMODO ECC Certification Authority -================================== ------BEGIN CERTIFICATE----- -MIICiTCCAg+gAwIBAgIQH0evqmIAcFBUTAGem2OZKjAKBggqhkjOPQQDAzCBhTELMAkGA1UEBhMC -R0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UE -ChMRQ09NT0RPIENBIExpbWl0ZWQxKzApBgNVBAMTIkNPTU9ETyBFQ0MgQ2VydGlmaWNhdGlvbiBB -dXRob3JpdHkwHhcNMDgwMzA2MDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBhTELMAkGA1UEBhMCR0Ix -GzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UEChMR -Q09NT0RPIENBIExpbWl0ZWQxKzApBgNVBAMTIkNPTU9ETyBFQ0MgQ2VydGlmaWNhdGlvbiBBdXRo -b3JpdHkwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQDR3svdcmCFYX7deSRFtSrYpn1PlILBs5BAH+X -4QokPB0BBO490o0JlwzgdeT6+3eKKvUDYEs2ixYjFq0JcfRK9ChQtP6IHG4/bC8vCVlbpVsLM5ni -wz2J+Wos77LTBumjQjBAMB0GA1UdDgQWBBR1cacZSBm8nZ3qQUfflMRId5nTeTAOBgNVHQ8BAf8E -BAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAKBggqhkjOPQQDAwNoADBlAjEA7wNbeqy3eApyt4jf/7VG -FAkK+qDmfQjGGoe9GKhzvSbKYAydzpmfz1wPMOG+FDHqAjAU9JM8SaczepBGR7NjfRObTrdvGDeA -U/7dIOA1mjbRxwG55tzd8/8dLDoWV9mSOdY= ------END CERTIFICATE----- - -IGC/A -===== ------BEGIN CERTIFICATE----- -MIIEAjCCAuqgAwIBAgIFORFFEJQwDQYJKoZIhvcNAQEFBQAwgYUxCzAJBgNVBAYTAkZSMQ8wDQYD -VQQIEwZGcmFuY2UxDjAMBgNVBAcTBVBhcmlzMRAwDgYDVQQKEwdQTS9TR0ROMQ4wDAYDVQQLEwVE -Q1NTSTEOMAwGA1UEAxMFSUdDL0ExIzAhBgkqhkiG9w0BCQEWFGlnY2FAc2dkbi5wbS5nb3V2LmZy -MB4XDTAyMTIxMzE0MjkyM1oXDTIwMTAxNzE0MjkyMlowgYUxCzAJBgNVBAYTAkZSMQ8wDQYDVQQI -EwZGcmFuY2UxDjAMBgNVBAcTBVBhcmlzMRAwDgYDVQQKEwdQTS9TR0ROMQ4wDAYDVQQLEwVEQ1NT -STEOMAwGA1UEAxMFSUdDL0ExIzAhBgkqhkiG9w0BCQEWFGlnY2FAc2dkbi5wbS5nb3V2LmZyMIIB -IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsh/R0GLFMzvABIaIs9z4iPf930Pfeo2aSVz2 -TqrMHLmh6yeJ8kbpO0px1R2OLc/mratjUMdUC24SyZA2xtgv2pGqaMVy/hcKshd+ebUyiHDKcMCW -So7kVc0dJ5S/znIq7Fz5cyD+vfcuiWe4u0dzEvfRNWk68gq5rv9GQkaiv6GFGvm/5P9JhfejcIYy -HF2fYPepraX/z9E0+X1bF8bc1g4oa8Ld8fUzaJ1O/Id8NhLWo4DoQw1VYZTqZDdH6nfK0LJYBcNd -frGoRpAxVs5wKpayMLh35nnAvSk7/ZR3TL0gzUEl4C7HG7vupARB0l2tEmqKm0f7yd1GQOGdPDPQ -tQIDAQABo3cwdTAPBgNVHRMBAf8EBTADAQH/MAsGA1UdDwQEAwIBRjAVBgNVHSAEDjAMMAoGCCqB -egF5AQEBMB0GA1UdDgQWBBSjBS8YYFDCiQrdKyFP/45OqDAxNjAfBgNVHSMEGDAWgBSjBS8YYFDC -iQrdKyFP/45OqDAxNjANBgkqhkiG9w0BAQUFAAOCAQEABdwm2Pp3FURo/C9mOnTgXeQp/wYHE4RK -q89toB9RlPhJy3Q2FLwV3duJL92PoF189RLrn544pEfMs5bZvpwlqwN+Mw+VgQ39FuCIvjfwbF3Q -MZsyK10XZZOYYLxuj7GoPB7ZHPOpJkL5ZB3C55L29B5aqhlSXa/oovdgoPaN8In1buAKBQGVyYsg -Crpa/JosPL3Dt8ldeCUFP1YUmwza+zpI/pdpXsoQhvdOlgQITeywvl3cO45Pwf2aNjSaTFR+FwNI -lQgRHAdvhQh+XU3Endv7rs6y0bO4g2wdsrN58dhwmX7wEwLOXt1R0982gaEbeC9xs/FZTEYYKKuF -0mBWWg== ------END CERTIFICATE----- - -Security Communication EV RootCA1 -================================= ------BEGIN CERTIFICATE----- -MIIDfTCCAmWgAwIBAgIBADANBgkqhkiG9w0BAQUFADBgMQswCQYDVQQGEwJKUDElMCMGA1UEChMc -U0VDT00gVHJ1c3QgU3lzdGVtcyBDTy4sTFRELjEqMCgGA1UECxMhU2VjdXJpdHkgQ29tbXVuaWNh -dGlvbiBFViBSb290Q0ExMB4XDTA3MDYwNjAyMTIzMloXDTM3MDYwNjAyMTIzMlowYDELMAkGA1UE -BhMCSlAxJTAjBgNVBAoTHFNFQ09NIFRydXN0IFN5c3RlbXMgQ08uLExURC4xKjAoBgNVBAsTIVNl -Y3VyaXR5IENvbW11bmljYXRpb24gRVYgUm9vdENBMTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC -AQoCggEBALx/7FebJOD+nLpCeamIivqA4PUHKUPqjgo0No0c+qe1OXj/l3X3L+SqawSERMqm4miO -/VVQYg+kcQ7OBzgtQoVQrTyWb4vVog7P3kmJPdZkLjjlHmy1V4qe70gOzXppFodEtZDkBp2uoQSX -WHnvIEqCa4wiv+wfD+mEce3xDuS4GBPMVjZd0ZoeUWs5bmB2iDQL87PRsJ3KYeJkHcFGB7hj3R4z -ZbOOCVVSPbW9/wfrrWFVGCypaZhKqkDFMxRldAD5kd6vA0jFQFTcD4SQaCDFkpbcLuUCRarAX1T4 -bepJz11sS6/vmsJWXMY1VkJqMF/Cq/biPT+zyRGPMUzXn0kCAwEAAaNCMEAwHQYDVR0OBBYEFDVK -9U2vP9eCOKyrcWUXdYydVZPmMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MA0GCSqG -SIb3DQEBBQUAA4IBAQCoh+ns+EBnXcPBZsdAS5f8hxOQWsTvoMpfi7ent/HWtWS3irO4G8za+6xm -iEHO6Pzk2x6Ipu0nUBsCMCRGef4Eh3CXQHPRwMFXGZpppSeZq51ihPZRwSzJIxXYKLerJRO1RuGG -Av8mjMSIkh1W/hln8lXkgKNrnKt34VFxDSDbEJrbvXZ5B3eZKK2aXtqxT0QsNY6llsf9g/BYxnnW -mHyojf6GPgcWkuF75x3sM3Z+Qi5KhfmRiWiEA4Glm5q+4zfFVKtWOxgtQaQM+ELbmaDgcm+7XeEW -T1MKZPlO9L9OVL14bIjqv5wTJMJwaaJ/D8g8rQjJsJhAoyrniIPtd490 ------END CERTIFICATE----- - -OISTE WISeKey Global Root GA CA -=============================== ------BEGIN CERTIFICATE----- -MIID8TCCAtmgAwIBAgIQQT1yx/RrH4FDffHSKFTfmjANBgkqhkiG9w0BAQUFADCBijELMAkGA1UE -BhMCQ0gxEDAOBgNVBAoTB1dJU2VLZXkxGzAZBgNVBAsTEkNvcHlyaWdodCAoYykgMjAwNTEiMCAG -A1UECxMZT0lTVEUgRm91bmRhdGlvbiBFbmRvcnNlZDEoMCYGA1UEAxMfT0lTVEUgV0lTZUtleSBH -bG9iYWwgUm9vdCBHQSBDQTAeFw0wNTEyMTExNjAzNDRaFw0zNzEyMTExNjA5NTFaMIGKMQswCQYD -VQQGEwJDSDEQMA4GA1UEChMHV0lTZUtleTEbMBkGA1UECxMSQ29weXJpZ2h0IChjKSAyMDA1MSIw -IAYDVQQLExlPSVNURSBGb3VuZGF0aW9uIEVuZG9yc2VkMSgwJgYDVQQDEx9PSVNURSBXSVNlS2V5 -IEdsb2JhbCBSb290IEdBIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAy0+zAJs9 -Nt350UlqaxBJH+zYK7LG+DKBKUOVTJoZIyEVRd7jyBxRVVuuk+g3/ytr6dTqvirdqFEr12bDYVxg -Asj1znJ7O7jyTmUIms2kahnBAbtzptf2w93NvKSLtZlhuAGio9RN1AU9ka34tAhxZK9w8RxrfvbD -d50kc3vkDIzh2TbhmYsFmQvtRTEJysIA2/dyoJaqlYfQjse2YXMNdmaM3Bu0Y6Kff5MTMPGhJ9vZ -/yxViJGg4E8HsChWjBgbl0SOid3gF27nKu+POQoxhILYQBRJLnpB5Kf+42TMwVlxSywhp1t94B3R -LoGbw9ho972WG6xwsRYUC9tguSYBBQIDAQABo1EwTzALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUw -AwEB/zAdBgNVHQ4EFgQUswN+rja8sHnR3JQmthG+IbJphpQwEAYJKwYBBAGCNxUBBAMCAQAwDQYJ -KoZIhvcNAQEFBQADggEBAEuh/wuHbrP5wUOxSPMowB0uyQlB+pQAHKSkq0lPjz0e701vvbyk9vIm -MMkQyh2I+3QZH4VFvbBsUfk2ftv1TDI6QU9bR8/oCy22xBmddMVHxjtqD6wU2zz0c5ypBd8A3HR4 -+vg1YFkCExh8vPtNsCBtQ7tgMHpnM1zFmdH4LTlSc/uMqpclXHLZCB6rTjzjgTGfA6b7wP4piFXa -hNVQA7bihKOmNqoROgHhGEvWRGizPflTdISzRpFGlgC3gCy24eMQ4tui5yiPAZZiFj4A4xylNoEY -okxSdsARo27mHbrjWr42U8U+dY+GaSlYU7Wcu2+fXMUY7N0v4ZjJ/L7fCg0= ------END CERTIFICATE----- - -Microsec e-Szigno Root CA -========================= ------BEGIN CERTIFICATE----- -MIIHqDCCBpCgAwIBAgIRAMy4579OKRr9otxmpRwsDxEwDQYJKoZIhvcNAQEFBQAwcjELMAkGA1UE -BhMCSFUxETAPBgNVBAcTCEJ1ZGFwZXN0MRYwFAYDVQQKEw1NaWNyb3NlYyBMdGQuMRQwEgYDVQQL -EwtlLVN6aWdubyBDQTEiMCAGA1UEAxMZTWljcm9zZWMgZS1Temlnbm8gUm9vdCBDQTAeFw0wNTA0 -MDYxMjI4NDRaFw0xNzA0MDYxMjI4NDRaMHIxCzAJBgNVBAYTAkhVMREwDwYDVQQHEwhCdWRhcGVz -dDEWMBQGA1UEChMNTWljcm9zZWMgTHRkLjEUMBIGA1UECxMLZS1Temlnbm8gQ0ExIjAgBgNVBAMT -GU1pY3Jvc2VjIGUtU3ppZ25vIFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB -AQDtyADVgXvNOABHzNuEwSFpLHSQDCHZU4ftPkNEU6+r+ICbPHiN1I2uuO/TEdyB5s87lozWbxXG -d36hL+BfkrYn13aaHUM86tnsL+4582pnS4uCzyL4ZVX+LMsvfUh6PXX5qqAnu3jCBspRwn5mS6/N -oqdNAoI/gqyFxuEPkEeZlApxcpMqyabAvjxWTHOSJ/FrtfX9/DAFYJLG65Z+AZHCabEeHXtTRbjc -QR/Ji3HWVBTji1R4P770Yjtb9aPs1ZJ04nQw7wHb4dSrmZsqa/i9phyGI0Jf7Enemotb9HI6QMVJ -PqW+jqpx62z69Rrkav17fVVA71hu5tnVvCSrwe+3AgMBAAGjggQ3MIIEMzBnBggrBgEFBQcBAQRb -MFkwKAYIKwYBBQUHMAGGHGh0dHBzOi8vcmNhLmUtc3ppZ25vLmh1L29jc3AwLQYIKwYBBQUHMAKG -IWh0dHA6Ly93d3cuZS1zemlnbm8uaHUvUm9vdENBLmNydDAPBgNVHRMBAf8EBTADAQH/MIIBcwYD -VR0gBIIBajCCAWYwggFiBgwrBgEEAYGoGAIBAQEwggFQMCgGCCsGAQUFBwIBFhxodHRwOi8vd3d3 -LmUtc3ppZ25vLmh1L1NaU1ovMIIBIgYIKwYBBQUHAgIwggEUHoIBEABBACAAdABhAG4A+gBzAO0A -dAB2AOEAbgB5ACAA6QByAHQAZQBsAG0AZQB6AOkAcwDpAGgAZQB6ACAA6QBzACAAZQBsAGYAbwBn -AGEAZADhAHMA4QBoAG8AegAgAGEAIABTAHoAbwBsAGcA4QBsAHQAYQB0APMAIABTAHoAbwBsAGcA -4QBsAHQAYQB0AOEAcwBpACAAUwB6AGEAYgDhAGwAeQB6AGEAdABhACAAcwB6AGUAcgBpAG4AdAAg -AGsAZQBsAGwAIABlAGwAagDhAHIAbgBpADoAIABoAHQAdABwADoALwAvAHcAdwB3AC4AZQAtAHMA -egBpAGcAbgBvAC4AaAB1AC8AUwBaAFMAWgAvMIHIBgNVHR8EgcAwgb0wgbqggbeggbSGIWh0dHA6 -Ly93d3cuZS1zemlnbm8uaHUvUm9vdENBLmNybIaBjmxkYXA6Ly9sZGFwLmUtc3ppZ25vLmh1L0NO -PU1pY3Jvc2VjJTIwZS1Temlnbm8lMjBSb290JTIwQ0EsT1U9ZS1Temlnbm8lMjBDQSxPPU1pY3Jv -c2VjJTIwTHRkLixMPUJ1ZGFwZXN0LEM9SFU/Y2VydGlmaWNhdGVSZXZvY2F0aW9uTGlzdDtiaW5h -cnkwDgYDVR0PAQH/BAQDAgEGMIGWBgNVHREEgY4wgYuBEGluZm9AZS1zemlnbm8uaHWkdzB1MSMw -IQYDVQQDDBpNaWNyb3NlYyBlLVN6aWduw7MgUm9vdCBDQTEWMBQGA1UECwwNZS1TemlnbsOzIEhT -WjEWMBQGA1UEChMNTWljcm9zZWMgS2Z0LjERMA8GA1UEBxMIQnVkYXBlc3QxCzAJBgNVBAYTAkhV -MIGsBgNVHSMEgaQwgaGAFMegSXUWYYTbMUuE0vE3QJDvTtz3oXakdDByMQswCQYDVQQGEwJIVTER -MA8GA1UEBxMIQnVkYXBlc3QxFjAUBgNVBAoTDU1pY3Jvc2VjIEx0ZC4xFDASBgNVBAsTC2UtU3pp -Z25vIENBMSIwIAYDVQQDExlNaWNyb3NlYyBlLVN6aWdubyBSb290IENBghEAzLjnv04pGv2i3Gal -HCwPETAdBgNVHQ4EFgQUx6BJdRZhhNsxS4TS8TdAkO9O3PcwDQYJKoZIhvcNAQEFBQADggEBANMT -nGZjWS7KXHAM/IO8VbH0jgdsZifOwTsgqRy7RlRw7lrMoHfqaEQn6/Ip3Xep1fvj1KcExJW4C+FE -aGAHQzAxQmHl7tnlJNUb3+FKG6qfx1/4ehHqE5MAyopYse7tDk2016g2JnzgOsHVV4Lxdbb9iV/a -86g4nzUGCM4ilb7N1fy+W955a9x6qWVmvrElWl/tftOsRm1M9DKHtCAE4Gx4sHfRhUZLphK3dehK -yVZs15KrnfVJONJPU+NVkBHbmJbGSfI+9J8b4PeI3CVimUTYc78/MPMMNz7UwiiAc7EBt51alhQB -S6kRnSlqLtBdgcDPsiBDxwPgN05dCtxZICU= ------END CERTIFICATE----- - -Certigna -======== ------BEGIN CERTIFICATE----- -MIIDqDCCApCgAwIBAgIJAP7c4wEPyUj/MA0GCSqGSIb3DQEBBQUAMDQxCzAJBgNVBAYTAkZSMRIw -EAYDVQQKDAlEaGlteW90aXMxETAPBgNVBAMMCENlcnRpZ25hMB4XDTA3MDYyOTE1MTMwNVoXDTI3 -MDYyOTE1MTMwNVowNDELMAkGA1UEBhMCRlIxEjAQBgNVBAoMCURoaW15b3RpczERMA8GA1UEAwwI -Q2VydGlnbmEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDIaPHJ1tazNHUmgh7stL7q -XOEm7RFHYeGifBZ4QCHkYJ5ayGPhxLGWkv8YbWkj4Sti993iNi+RB7lIzw7sebYs5zRLcAglozyH -GxnygQcPOJAZ0xH+hrTy0V4eHpbNgGzOOzGTtvKg0KmVEn2lmsxryIRWijOp5yIVUxbwzBfsV1/p -ogqYCd7jX5xv3EjjhQsVWqa6n6xI4wmy9/Qy3l40vhx4XUJbzg4ij02Q130yGLMLLGq/jj8UEYkg -DncUtT2UCIf3JR7VsmAA7G8qKCVuKj4YYxclPz5EIBb2JsglrgVKtOdjLPOMFlN+XPsRGgjBRmKf -Irjxwo1p3Po6WAbfAgMBAAGjgbwwgbkwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUGu3+QTmQ -tCRZvgHyUtVF9lo53BEwZAYDVR0jBF0wW4AUGu3+QTmQtCRZvgHyUtVF9lo53BGhOKQ2MDQxCzAJ -BgNVBAYTAkZSMRIwEAYDVQQKDAlEaGlteW90aXMxETAPBgNVBAMMCENlcnRpZ25hggkA/tzjAQ/J -SP8wDgYDVR0PAQH/BAQDAgEGMBEGCWCGSAGG+EIBAQQEAwIABzANBgkqhkiG9w0BAQUFAAOCAQEA -hQMeknH2Qq/ho2Ge6/PAD/Kl1NqV5ta+aDY9fm4fTIrv0Q8hbV6lUmPOEvjvKtpv6zf+EwLHyzs+ -ImvaYS5/1HI93TDhHkxAGYwP15zRgzB7mFncfca5DClMoTOi62c6ZYTTluLtdkVwj7Ur3vkj1klu -PBS1xp81HlDQwY9qcEQCYsuuHWhBp6pX6FOqB9IG9tUUBguRA3UsbHK1YZWaDYu5Def131TN3ubY -1gkIl2PlwS6wt0QmwCbAr1UwnjvVNioZBPRcHv/PLLf/0P2HQBHVESO7SMAhqaQoLf0V+LBOK/Qw -WyH8EZE0vkHve52Xdf+XlcCWWC/qu0bXu+TZLg== ------END CERTIFICATE----- - -AC Ra\xC3\xADz Certic\xC3\xA1mara S.A. -====================================== ------BEGIN CERTIFICATE----- -MIIGZjCCBE6gAwIBAgIPB35Sk3vgFeNX8GmMy+wMMA0GCSqGSIb3DQEBBQUAMHsxCzAJBgNVBAYT -AkNPMUcwRQYDVQQKDD5Tb2NpZWRhZCBDYW1lcmFsIGRlIENlcnRpZmljYWNpw7NuIERpZ2l0YWwg -LSBDZXJ0aWPDoW1hcmEgUy5BLjEjMCEGA1UEAwwaQUMgUmHDrXogQ2VydGljw6FtYXJhIFMuQS4w -HhcNMDYxMTI3MjA0NjI5WhcNMzAwNDAyMjE0MjAyWjB7MQswCQYDVQQGEwJDTzFHMEUGA1UECgw+ -U29jaWVkYWQgQ2FtZXJhbCBkZSBDZXJ0aWZpY2FjacOzbiBEaWdpdGFsIC0gQ2VydGljw6FtYXJh -IFMuQS4xIzAhBgNVBAMMGkFDIFJhw616IENlcnRpY8OhbWFyYSBTLkEuMIICIjANBgkqhkiG9w0B -AQEFAAOCAg8AMIICCgKCAgEAq2uJo1PMSCMI+8PPUZYILrgIem08kBeGqentLhM0R7LQcNzJPNCN -yu5LF6vQhbCnIwTLqKL85XXbQMpiiY9QngE9JlsYhBzLfDe3fezTf3MZsGqy2IiKLUV0qPezuMDU -2s0iiXRNWhU5cxh0T7XrmafBHoi0wpOQY5fzp6cSsgkiBzPZkc0OnB8OIMfuuzONj8LSWKdf/WU3 -4ojC2I+GdV75LaeHM/J4Ny+LvB2GNzmxlPLYvEqcgxhaBvzz1NS6jBUJJfD5to0EfhcSM2tXSExP -2yYe68yQ54v5aHxwD6Mq0Do43zeX4lvegGHTgNiRg0JaTASJaBE8rF9ogEHMYELODVoqDA+bMMCm -8Ibbq0nXl21Ii/kDwFJnmxL3wvIumGVC2daa49AZMQyth9VXAnow6IYm+48jilSH5L887uvDdUhf -HjlvgWJsxS3EF1QZtzeNnDeRyPYL1epjb4OsOMLzP96a++EjYfDIJss2yKHzMI+ko6Kh3VOz3vCa -Mh+DkXkwwakfU5tTohVTP92dsxA7SH2JD/ztA/X7JWR1DhcZDY8AFmd5ekD8LVkH2ZD6mq093ICK -5lw1omdMEWux+IBkAC1vImHFrEsm5VoQgpukg3s0956JkSCXjrdCx2bD0Omk1vUgjcTDlaxECp1b -czwmPS9KvqfJpxAe+59QafMCAwEAAaOB5jCB4zAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQE -AwIBBjAdBgNVHQ4EFgQU0QnQ6dfOeXRU+Tows/RtLAMDG2gwgaAGA1UdIASBmDCBlTCBkgYEVR0g -ADCBiTArBggrBgEFBQcCARYfaHR0cDovL3d3dy5jZXJ0aWNhbWFyYS5jb20vZHBjLzBaBggrBgEF -BQcCAjBOGkxMaW1pdGFjaW9uZXMgZGUgZ2FyYW507WFzIGRlIGVzdGUgY2VydGlmaWNhZG8gc2Ug -cHVlZGVuIGVuY29udHJhciBlbiBsYSBEUEMuMA0GCSqGSIb3DQEBBQUAA4ICAQBclLW4RZFNjmEf -AygPU3zmpFmps4p6xbD/CHwso3EcIRNnoZUSQDWDg4902zNc8El2CoFS3UnUmjIz75uny3XlesuX -EpBcunvFm9+7OSPI/5jOCk0iAUgHforA1SBClETvv3eiiWdIG0ADBaGJ7M9i4z0ldma/Jre7Ir5v -/zlXdLp6yQGVwZVR6Kss+LGGIOk/yzVb0hfpKv6DExdA7ohiZVvVO2Dpezy4ydV/NgIlqmjCMRW3 -MGXrfx1IebHPOeJCgBbT9ZMj/EyXyVo3bHwi2ErN0o42gzmRkBDI8ck1fj+404HGIGQatlDCIaR4 -3NAvO2STdPCWkPHv+wlaNECW8DYSwaN0jJN+Qd53i+yG2dIPPy3RzECiiWZIHiCznCNZc6lEc7wk -eZBWN7PGKX6jD/EpOe9+XCgycDWs2rjIdWb8m0w5R44bb5tNAlQiM+9hup4phO9OSzNHdpdqy35f -/RWmnkJDW2ZaiogN9xa5P1FlK2Zqi9E4UqLWRhH6/JocdJ6PlwsCT2TG9WjTSy3/pDceiz+/RL5h -RqGEPQgnTIEgd4kI6mdAXmwIUV80WoyWaM3X94nCHNMyAK9Sy9NgWyo6R35rMDOhYil/SrnhLecU -Iw4OGEfhefwVVdCx/CVxY3UzHCMrr1zZ7Ud3YA47Dx7SwNxkBYn8eNZcLCZDqQ== ------END CERTIFICATE----- - -TC TrustCenter Class 2 CA II -============================ ------BEGIN CERTIFICATE----- -MIIEqjCCA5KgAwIBAgIOLmoAAQACH9dSISwRXDswDQYJKoZIhvcNAQEFBQAwdjELMAkGA1UEBhMC -REUxHDAaBgNVBAoTE1RDIFRydXN0Q2VudGVyIEdtYkgxIjAgBgNVBAsTGVRDIFRydXN0Q2VudGVy -IENsYXNzIDIgQ0ExJTAjBgNVBAMTHFRDIFRydXN0Q2VudGVyIENsYXNzIDIgQ0EgSUkwHhcNMDYw -MTEyMTQzODQzWhcNMjUxMjMxMjI1OTU5WjB2MQswCQYDVQQGEwJERTEcMBoGA1UEChMTVEMgVHJ1 -c3RDZW50ZXIgR21iSDEiMCAGA1UECxMZVEMgVHJ1c3RDZW50ZXIgQ2xhc3MgMiBDQTElMCMGA1UE -AxMcVEMgVHJ1c3RDZW50ZXIgQ2xhc3MgMiBDQSBJSTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC -AQoCggEBAKuAh5uO8MN8h9foJIIRszzdQ2Lu+MNF2ujhoF/RKrLqk2jftMjWQ+nEdVl//OEd+DFw -IxuInie5e/060smp6RQvkL4DUsFJzfb95AhmC1eKokKguNV/aVyQMrKXDcpK3EY+AlWJU+MaWss2 -xgdW94zPEfRMuzBwBJWl9jmM/XOBCH2JXjIeIqkiRUuwZi4wzJ9l/fzLganx4Duvo4bRierERXlQ -Xa7pIXSSTYtZgo+U4+lK8edJsBTj9WLL1XK9H7nSn6DNqPoByNkN39r8R52zyFTfSUrxIan+GE7u -SNQZu+995OKdy1u2bv/jzVrndIIFuoAlOMvkaZ6vQaoahPUCAwEAAaOCATQwggEwMA8GA1UdEwEB -/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBTjq1RMgKHbVkO3kUrL84J6E1wIqzCB -7QYDVR0fBIHlMIHiMIHfoIHcoIHZhjVodHRwOi8vd3d3LnRydXN0Y2VudGVyLmRlL2NybC92Mi90 -Y19jbGFzc18yX2NhX0lJLmNybIaBn2xkYXA6Ly93d3cudHJ1c3RjZW50ZXIuZGUvQ049VEMlMjBU -cnVzdENlbnRlciUyMENsYXNzJTIwMiUyMENBJTIwSUksTz1UQyUyMFRydXN0Q2VudGVyJTIwR21i -SCxPVT1yb290Y2VydHMsREM9dHJ1c3RjZW50ZXIsREM9ZGU/Y2VydGlmaWNhdGVSZXZvY2F0aW9u -TGlzdD9iYXNlPzANBgkqhkiG9w0BAQUFAAOCAQEAjNfffu4bgBCzg/XbEeprS6iSGNn3Bzn1LL4G -dXpoUxUc6krtXvwjshOg0wn/9vYua0Fxec3ibf2uWWuFHbhOIprtZjluS5TmVfwLG4t3wVMTZonZ -KNaL80VKY7f9ewthXbhtvsPcW3nS7Yblok2+XnR8au0WOB9/WIFaGusyiC2y8zl3gK9etmF1Kdsj -TYjKUCjLhdLTEKJZbtOTVAB6okaVhgWcqRmY5TFyDADiZ9lA4CQze28suVyrZZ0srHbqNZn1l7kP -JOzHdiEoZa5X6AeIdUpWoNIFOqTmjZKILPPy4cHGYdtBxceb9w4aUUXCYWvcZCcXjFq32nQozZfk -vQ== ------END CERTIFICATE----- - -TC TrustCenter Class 3 CA II -============================ ------BEGIN CERTIFICATE----- -MIIEqjCCA5KgAwIBAgIOSkcAAQAC5aBd1j8AUb8wDQYJKoZIhvcNAQEFBQAwdjELMAkGA1UEBhMC -REUxHDAaBgNVBAoTE1RDIFRydXN0Q2VudGVyIEdtYkgxIjAgBgNVBAsTGVRDIFRydXN0Q2VudGVy -IENsYXNzIDMgQ0ExJTAjBgNVBAMTHFRDIFRydXN0Q2VudGVyIENsYXNzIDMgQ0EgSUkwHhcNMDYw -MTEyMTQ0MTU3WhcNMjUxMjMxMjI1OTU5WjB2MQswCQYDVQQGEwJERTEcMBoGA1UEChMTVEMgVHJ1 -c3RDZW50ZXIgR21iSDEiMCAGA1UECxMZVEMgVHJ1c3RDZW50ZXIgQ2xhc3MgMyBDQTElMCMGA1UE -AxMcVEMgVHJ1c3RDZW50ZXIgQ2xhc3MgMyBDQSBJSTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC -AQoCggEBALTgu1G7OVyLBMVMeRwjhjEQY0NVJz/GRcekPewJDRoeIMJWHt4bNwcwIi9v8Qbxq63W -yKthoy9DxLCyLfzDlml7forkzMA5EpBCYMnMNWju2l+QVl/NHE1bWEnrDgFPZPosPIlY2C8u4rBo -6SI7dYnWRBpl8huXJh0obazovVkdKyT21oQDZogkAHhg8fir/gKya/si+zXmFtGt9i4S5Po1auUZ -uV3bOx4a+9P/FRQI2AlqukWdFHlgfa9Aigdzs5OW03Q0jTo3Kd5c7PXuLjHCINy+8U9/I1LZW+Jk -2ZyqBwi1Rb3R0DHBq1SfqdLDYmAD8bs5SpJKPQq5ncWg/jcCAwEAAaOCATQwggEwMA8GA1UdEwEB -/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBTUovyfs8PYA9NXXAek0CSnwPIA1DCB -7QYDVR0fBIHlMIHiMIHfoIHcoIHZhjVodHRwOi8vd3d3LnRydXN0Y2VudGVyLmRlL2NybC92Mi90 -Y19jbGFzc18zX2NhX0lJLmNybIaBn2xkYXA6Ly93d3cudHJ1c3RjZW50ZXIuZGUvQ049VEMlMjBU -cnVzdENlbnRlciUyMENsYXNzJTIwMyUyMENBJTIwSUksTz1UQyUyMFRydXN0Q2VudGVyJTIwR21i -SCxPVT1yb290Y2VydHMsREM9dHJ1c3RjZW50ZXIsREM9ZGU/Y2VydGlmaWNhdGVSZXZvY2F0aW9u -TGlzdD9iYXNlPzANBgkqhkiG9w0BAQUFAAOCAQEANmDkcPcGIEPZIxpC8vijsrlNirTzwppVMXzE -O2eatN9NDoqTSheLG43KieHPOh6sHfGcMrSOWXaiQYUlN6AT0PV8TtXqluJucsG7Kv5sbviRmEb8 -yRtXW+rIGjs/sFGYPAfaLFkB2otE6OF0/ado3VS6g0bsyEa1+K+XwDsJHI/OcpY9M1ZwvJbL2NV9 -IJqDnxrcOfHFcqMRA/07QlIp2+gB95tejNaNhk4Z+rwcvsUhpYeeeC422wlxo3I0+GzjBgnyXlal -092Y+tTmBvTwtiBjS+opvaqCZh77gaqnN60TGOaSw4HBM7uIHqHn4rS9MWwOUT1v+5ZWgOI2F9Hc -5A== ------END CERTIFICATE----- - -TC TrustCenter Universal CA I -============================= ------BEGIN CERTIFICATE----- -MIID3TCCAsWgAwIBAgIOHaIAAQAC7LdggHiNtgYwDQYJKoZIhvcNAQEFBQAweTELMAkGA1UEBhMC -REUxHDAaBgNVBAoTE1RDIFRydXN0Q2VudGVyIEdtYkgxJDAiBgNVBAsTG1RDIFRydXN0Q2VudGVy -IFVuaXZlcnNhbCBDQTEmMCQGA1UEAxMdVEMgVHJ1c3RDZW50ZXIgVW5pdmVyc2FsIENBIEkwHhcN -MDYwMzIyMTU1NDI4WhcNMjUxMjMxMjI1OTU5WjB5MQswCQYDVQQGEwJERTEcMBoGA1UEChMTVEMg -VHJ1c3RDZW50ZXIgR21iSDEkMCIGA1UECxMbVEMgVHJ1c3RDZW50ZXIgVW5pdmVyc2FsIENBMSYw -JAYDVQQDEx1UQyBUcnVzdENlbnRlciBVbml2ZXJzYWwgQ0EgSTCCASIwDQYJKoZIhvcNAQEBBQAD -ggEPADCCAQoCggEBAKR3I5ZEr5D0MacQ9CaHnPM42Q9e3s9B6DGtxnSRJJZ4Hgmgm5qVSkr1YnwC -qMqs+1oEdjneX/H5s7/zA1hV0qq34wQi0fiU2iIIAI3TfCZdzHd55yx4Oagmcw6iXSVphU9VDprv -xrlE4Vc93x9UIuVvZaozhDrzznq+VZeujRIPFDPiUHDDSYcTvFHe15gSWu86gzOSBnWLknwSaHtw -ag+1m7Z3W0hZneTvWq3zwZ7U10VOylY0Ibw+F1tvdwxIAUMpsN0/lm7mlaoMwCC2/T42J5zjXM9O -gdwZu5GQfezmlwQek8wiSdeXhrYTCjxDI3d+8NzmzSQfO4ObNDqDNOMCAwEAAaNjMGEwHwYDVR0j -BBgwFoAUkqR1LKSevoFE63n8isWVpesQdXMwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC -AYYwHQYDVR0OBBYEFJKkdSyknr6BROt5/IrFlaXrEHVzMA0GCSqGSIb3DQEBBQUAA4IBAQAo0uCG -1eb4e/CX3CJrO5UUVg8RMKWaTzqwOuAGy2X17caXJ/4l8lfmXpWMPmRgFVp/Lw0BxbFg/UU1z/Cy -vwbZ71q+s2IhtNerNXxTPqYn8aEt2hojnczd7Dwtnic0XQ/CNnm8yUpiLe1r2X1BQ3y2qsrtYbE3 -ghUJGooWMNjsydZHcnhLEEYUjl8Or+zHL6sQ17bxbuyGssLoDZJz3KL0Dzq/YSMQiZxIQG5wALPT -ujdEWBF6AmqI8Dc08BnprNRlc/ZpjGSUOnmFKbAWKwyCPwacx/0QK54PLLae4xW/2TYcuiUaUj0a -7CIMHOCkoj3w6DnPgcB77V0fb8XQC9eY ------END CERTIFICATE----- - -Deutsche Telekom Root CA 2 -========================== ------BEGIN CERTIFICATE----- -MIIDnzCCAoegAwIBAgIBJjANBgkqhkiG9w0BAQUFADBxMQswCQYDVQQGEwJERTEcMBoGA1UEChMT -RGV1dHNjaGUgVGVsZWtvbSBBRzEfMB0GA1UECxMWVC1UZWxlU2VjIFRydXN0IENlbnRlcjEjMCEG -A1UEAxMaRGV1dHNjaGUgVGVsZWtvbSBSb290IENBIDIwHhcNOTkwNzA5MTIxMTAwWhcNMTkwNzA5 -MjM1OTAwWjBxMQswCQYDVQQGEwJERTEcMBoGA1UEChMTRGV1dHNjaGUgVGVsZWtvbSBBRzEfMB0G -A1UECxMWVC1UZWxlU2VjIFRydXN0IENlbnRlcjEjMCEGA1UEAxMaRGV1dHNjaGUgVGVsZWtvbSBS -b290IENBIDIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCrC6M14IspFLEUha88EOQ5 -bzVdSq7d6mGNlUn0b2SjGmBmpKlAIoTZ1KXleJMOaAGtuU1cOs7TuKhCQN/Po7qCWWqSG6wcmtoI -KyUn+WkjR/Hg6yx6m/UTAtB+NHzCnjwAWav12gz1MjwrrFDa1sPeg5TKqAyZMg4ISFZbavva4VhY -AUlfckE8FQYBjl2tqriTtM2e66foai1SNNs671x1Udrb8zH57nGYMsRUFUQM+ZtV7a3fGAigo4aK -Se5TBY8ZTNXeWHmb0mocQqvF1afPaA+W5OFhmHZhyJF81j4A4pFQh+GdCuatl9Idxjp9y7zaAzTV -jlsB9WoHtxa2bkp/AgMBAAGjQjBAMB0GA1UdDgQWBBQxw3kbuvVT1xfgiXotF2wKsyudMzAPBgNV -HRMECDAGAQH/AgEFMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQUFAAOCAQEAlGRZrTlk5ynr -E/5aw4sTV8gEJPB0d8Bg42f76Ymmg7+Wgnxu1MM9756AbrsptJh6sTtU6zkXR34ajgv8HzFZMQSy -zhfzLMdiNlXiItiJVbSYSKpk+tYcNthEeFpaIzpXl/V6ME+un2pMSyuOoAPjPuCp1NJ70rOo4nI8 -rZ7/gFnkm0W09juwzTkZmDLl6iFhkOQxIY40sfcvNUqFENrnijchvllj4PKFiDFT1FQUhXB59C4G -dyd1Lx+4ivn+xbrYNuSD7Odlt79jWvNGr4GUN9RBjNYj1h7P9WgbRGOiWrqnNVmh5XAFmw4jV5mU -Cm26OWMohpLzGITY+9HPBVZkVw== ------END CERTIFICATE----- - -ComSign Secured CA -================== ------BEGIN CERTIFICATE----- -MIIDqzCCApOgAwIBAgIRAMcoRwmzuGxFjB36JPU2TukwDQYJKoZIhvcNAQEFBQAwPDEbMBkGA1UE -AxMSQ29tU2lnbiBTZWN1cmVkIENBMRAwDgYDVQQKEwdDb21TaWduMQswCQYDVQQGEwJJTDAeFw0w -NDAzMjQxMTM3MjBaFw0yOTAzMTYxNTA0NTZaMDwxGzAZBgNVBAMTEkNvbVNpZ24gU2VjdXJlZCBD -QTEQMA4GA1UEChMHQ29tU2lnbjELMAkGA1UEBhMCSUwwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw -ggEKAoIBAQDGtWhfHZQVw6QIVS3joFd67+l0Kru5fFdJGhFeTymHDEjWaueP1H5XJLkGieQcPOqs -49ohgHMhCu95mGwfCP+hUH3ymBvJVG8+pSjsIQQPRbsHPaHA+iqYHU4Gk/v1iDurX8sWv+bznkqH -7Rnqwp9D5PGBpX8QTz7RSmKtUxvLg/8HZaWSLWapW7ha9B20IZFKF3ueMv5WJDmyVIRD9YTC2LxB -kMyd1mja6YJQqTtoz7VdApRgFrFD2UNd3V2Hbuq7s8lr9gOUCXDeFhF6K+h2j0kQmHe5Y1yLM5d1 -9guMsqtb3nQgJT/j8xH5h2iGNXHDHYwt6+UarA9z1YJZQIDTAgMBAAGjgacwgaQwDAYDVR0TBAUw -AwEB/zBEBgNVHR8EPTA7MDmgN6A1hjNodHRwOi8vZmVkaXIuY29tc2lnbi5jby5pbC9jcmwvQ29t -U2lnblNlY3VyZWRDQS5jcmwwDgYDVR0PAQH/BAQDAgGGMB8GA1UdIwQYMBaAFMFL7XC29z58ADsA -j8c+DkWfHl3sMB0GA1UdDgQWBBTBS+1wtvc+fAA7AI/HPg5Fnx5d7DANBgkqhkiG9w0BAQUFAAOC -AQEAFs/ukhNQq3sUnjO2QiBq1BW9Cav8cujvR3qQrFHBZE7piL1DRYHjZiM/EoZNGeQFsOY3wo3a -BijJD4mkU6l1P7CW+6tMM1X5eCZGbxs2mPtCdsGCuY7e+0X5YxtiOzkGynd6qDwJz2w2PQ8KRUtp -FhpFfTMDZflScZAmlaxMDPWLkz/MdXSFmLr/YnpNH4n+rr2UAJm/EaXc4HnFFgt9AmEd6oX5AhVP -51qJThRv4zdLhfXBPGHg/QVBspJ/wx2g0K5SZGBrGMYmnNj1ZOQ2GmKfig8+/21OGVZOIJFsnzQz -OjRXUDpvgV4GxvU+fE6OK85lBi5d0ipTdF7Tbieejw== ------END CERTIFICATE----- - -Cybertrust Global Root -====================== ------BEGIN CERTIFICATE----- -MIIDoTCCAomgAwIBAgILBAAAAAABD4WqLUgwDQYJKoZIhvcNAQEFBQAwOzEYMBYGA1UEChMPQ3li -ZXJ0cnVzdCwgSW5jMR8wHQYDVQQDExZDeWJlcnRydXN0IEdsb2JhbCBSb290MB4XDTA2MTIxNTA4 -MDAwMFoXDTIxMTIxNTA4MDAwMFowOzEYMBYGA1UEChMPQ3liZXJ0cnVzdCwgSW5jMR8wHQYDVQQD -ExZDeWJlcnRydXN0IEdsb2JhbCBSb290MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA -+Mi8vRRQZhP/8NN57CPytxrHjoXxEnOmGaoQ25yiZXRadz5RfVb23CO21O1fWLE3TdVJDm71aofW -0ozSJ8bi/zafmGWgE07GKmSb1ZASzxQG9Dvj1Ci+6A74q05IlG2OlTEQXO2iLb3VOm2yHLtgwEZL -AfVJrn5GitB0jaEMAs7u/OePuGtm839EAL9mJRQr3RAwHQeWP032a7iPt3sMpTjr3kfb1V05/Iin -89cqdPHoWqI7n1C6poxFNcJQZZXcY4Lv3b93TZxiyWNzFtApD0mpSPCzqrdsxacwOUBdrsTiXSZT -8M4cIwhhqJQZugRiQOwfOHB3EgZxpzAYXSUnpQIDAQABo4GlMIGiMA4GA1UdDwEB/wQEAwIBBjAP -BgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBS2CHsNesysIEyGVjJez6tuhS1wVzA/BgNVHR8EODA2 -MDSgMqAwhi5odHRwOi8vd3d3Mi5wdWJsaWMtdHJ1c3QuY29tL2NybC9jdC9jdHJvb3QuY3JsMB8G -A1UdIwQYMBaAFLYIew16zKwgTIZWMl7Pq26FLXBXMA0GCSqGSIb3DQEBBQUAA4IBAQBW7wojoFRO -lZfJ+InaRcHUowAl9B8Tq7ejhVhpwjCt2BWKLePJzYFa+HMjWqd8BfP9IjsO0QbE2zZMcwSO5bAi -5MXzLqXZI+O4Tkogp24CJJ8iYGd7ix1yCcUxXOl5n4BHPa2hCwcUPUf/A2kaDAtE52Mlp3+yybh2 -hO0j9n0Hq0V+09+zv+mKts2oomcrUtW3ZfA5TGOgkXmTUg9U3YO7n9GPp1Nzw8v/MOx8BLjYRB+T -X3EJIrduPuocA06dGiBh+4E37F78CkWr1+cXVdCg6mCbpvbjjFspwgZgFJ0tl0ypkxWdYcQBX0jW -WL1WMRJOEcgh4LMRkWXbtKaIOM5V ------END CERTIFICATE----- - -ePKI Root Certification Authority -================================= ------BEGIN CERTIFICATE----- -MIIFsDCCA5igAwIBAgIQFci9ZUdcr7iXAF7kBtK8nTANBgkqhkiG9w0BAQUFADBeMQswCQYDVQQG -EwJUVzEjMCEGA1UECgwaQ2h1bmdod2EgVGVsZWNvbSBDby4sIEx0ZC4xKjAoBgNVBAsMIWVQS0kg -Um9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wNDEyMjAwMjMxMjdaFw0zNDEyMjAwMjMx -MjdaMF4xCzAJBgNVBAYTAlRXMSMwIQYDVQQKDBpDaHVuZ2h3YSBUZWxlY29tIENvLiwgTHRkLjEq -MCgGA1UECwwhZVBLSSBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIICIjANBgkqhkiG9w0B -AQEFAAOCAg8AMIICCgKCAgEA4SUP7o3biDN1Z82tH306Tm2d0y8U82N0ywEhajfqhFAHSyZbCUNs -IZ5qyNUD9WBpj8zwIuQf5/dqIjG3LBXy4P4AakP/h2XGtRrBp0xtInAhijHyl3SJCRImHJ7K2RKi -lTza6We/CKBk49ZCt0Xvl/T29de1ShUCWH2YWEtgvM3XDZoTM1PRYfl61dd4s5oz9wCGzh1NlDiv -qOx4UXCKXBCDUSH3ET00hl7lSM2XgYI1TBnsZfZrxQWh7kcT1rMhJ5QQCtkkO7q+RBNGMD+XPNjX -12ruOzjjK9SXDrkb5wdJfzcq+Xd4z1TtW0ado4AOkUPB1ltfFLqfpo0kR0BZv3I4sjZsN/+Z0V0O -WQqraffAsgRFelQArr5T9rXn4fg8ozHSqf4hUmTFpmfwdQcGlBSBVcYn5AGPF8Fqcde+S/uUWH1+ -ETOxQvdibBjWzwloPn9s9h6PYq2lY9sJpx8iQkEeb5mKPtf5P0B6ebClAZLSnT0IFaUQAS2zMnao -lQ2zepr7BxB4EW/hj8e6DyUadCrlHJhBmd8hh+iVBmoKs2pHdmX2Os+PYhcZewoozRrSgx4hxyy/ -vv9haLdnG7t4TY3OZ+XkwY63I2binZB1NJipNiuKmpS5nezMirH4JYlcWrYvjB9teSSnUmjDhDXi -Zo1jDiVN1Rmy5nk3pyKdVDECAwEAAaNqMGgwHQYDVR0OBBYEFB4M97Zn8uGSJglFwFU5Lnc/Qkqi -MAwGA1UdEwQFMAMBAf8wOQYEZyoHAAQxMC8wLQIBADAJBgUrDgMCGgUAMAcGBWcqAwAABBRFsMLH -ClZ87lt4DJX5GFPBphzYEDANBgkqhkiG9w0BAQUFAAOCAgEACbODU1kBPpVJufGBuvl2ICO1J2B0 -1GqZNF5sAFPZn/KmsSQHRGoqxqWOeBLoR9lYGxMqXnmbnwoqZ6YlPwZpVnPDimZI+ymBV3QGypzq -KOg4ZyYr8dW1P2WT+DZdjo2NQCCHGervJ8A9tDkPJXtoUHRVnAxZfVo9QZQlUgjgRywVMRnVvwdV -xrsStZf0X4OFunHB2WyBEXYKCrC/gpf36j36+uwtqSiUO1bd0lEursC9CBWMd1I0ltabrNMdjmEP -NXubrjlpC2JgQCA2j6/7Nu4tCEoduL+bXPjqpRugc6bY+G7gMwRfaKonh+3ZwZCc7b3jajWvY9+r -GNm65ulK6lCKD2GTHuItGeIwlDWSXQ62B68ZgI9HkFFLLk3dheLSClIKF5r8GrBQAuUBo2M3IUxE -xJtRmREOc5wGj1QupyheRDmHVi03vYVElOEMSyycw5KFNGHLD7ibSkNS/jQ6fbjpKdx2qcgw+BRx -gMYeNkh0IkFch4LoGHGLQYlE535YW6i4jRPpp2zDR+2zGp1iro2C6pSe3VkQw63d4k3jMdXH7Ojy -sP6SHhYKGvzZ8/gntsm+HbRsZJB/9OTEW9c3rkIO3aQab3yIVMUWbuF6aC74Or8NpDyJO3inTmOD -BCEIZ43ygknQW/2xzQ+DhNQ+IIX3Sj0rnP0qCglN6oH4EZw= ------END CERTIFICATE----- - -T\xc3\x9c\x42\xC4\xB0TAK UEKAE K\xC3\xB6k Sertifika Hizmet Sa\xC4\x9Flay\xc4\xb1\x63\xc4\xb1s\xc4\xb1 - S\xC3\xBCr\xC3\xBCm 3 -============================================================================================================================= ------BEGIN CERTIFICATE----- -MIIFFzCCA/+gAwIBAgIBETANBgkqhkiG9w0BAQUFADCCASsxCzAJBgNVBAYTAlRSMRgwFgYDVQQH -DA9HZWJ6ZSAtIEtvY2FlbGkxRzBFBgNVBAoMPlTDvHJraXllIEJpbGltc2VsIHZlIFRla25vbG9q -aWsgQXJhxZ90xLFybWEgS3VydW11IC0gVMOcQsSwVEFLMUgwRgYDVQQLDD9VbHVzYWwgRWxla3Ry -b25payB2ZSBLcmlwdG9sb2ppIEFyYcWfdMSxcm1hIEVuc3RpdMO8c8O8IC0gVUVLQUUxIzAhBgNV -BAsMGkthbXUgU2VydGlmaWthc3lvbiBNZXJrZXppMUowSAYDVQQDDEFUw5xCxLBUQUsgVUVLQUUg -S8O2ayBTZXJ0aWZpa2EgSGl6bWV0IFNhxJ9sYXnEsWPEsXPEsSAtIFPDvHLDvG0gMzAeFw0wNzA4 -MjQxMTM3MDdaFw0xNzA4MjExMTM3MDdaMIIBKzELMAkGA1UEBhMCVFIxGDAWBgNVBAcMD0dlYnpl -IC0gS29jYWVsaTFHMEUGA1UECgw+VMO8cmtpeWUgQmlsaW1zZWwgdmUgVGVrbm9sb2ppayBBcmHF -n3TEsXJtYSBLdXJ1bXUgLSBUw5xCxLBUQUsxSDBGBgNVBAsMP1VsdXNhbCBFbGVrdHJvbmlrIHZl -IEtyaXB0b2xvamkgQXJhxZ90xLFybWEgRW5zdGl0w7xzw7wgLSBVRUtBRTEjMCEGA1UECwwaS2Ft -dSBTZXJ0aWZpa2FzeW9uIE1lcmtlemkxSjBIBgNVBAMMQVTDnELEsFRBSyBVRUtBRSBLw7ZrIFNl -cnRpZmlrYSBIaXptZXQgU2HEn2xhecSxY8Sxc8SxIC0gU8O8csO8bSAzMIIBIjANBgkqhkiG9w0B -AQEFAAOCAQ8AMIIBCgKCAQEAim1L/xCIOsP2fpTo6iBkcK4hgb46ezzb8R1Sf1n68yJMlaCQvEhO -Eav7t7WNeoMojCZG2E6VQIdhn8WebYGHV2yKO7Rm6sxA/OOqbLLLAdsyv9Lrhc+hDVXDWzhXcLh1 -xnnRFDDtG1hba+818qEhTsXOfJlfbLm4IpNQp81McGq+agV/E5wrHur+R84EpW+sky58K5+eeROR -6Oqeyjh1jmKwlZMq5d/pXpduIF9fhHpEORlAHLpVK/swsoHvhOPc7Jg4OQOFCKlUAwUp8MmPi+oL -hmUZEdPpCSPeaJMDyTYcIW7OjGbxmTDY17PDHfiBLqi9ggtm/oLL4eAagsNAgQIDAQABo0IwQDAd -BgNVHQ4EFgQUvYiHyY/2pAoLquvF/pEjnatKijIwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQF -MAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAB18+kmPNOm3JpIWmgV050vQbTlswyb2zrgxvMTfvCr4 -N5EY3ATIZJkrGG2AA1nJrvhY0D7twyOfaTyGOBye79oneNGEN3GKPEs5z35FBtYt2IpNeBLWrcLT -y9LQQfMmNkqblWwM7uXRQydmwYj3erMgbOqwaSvHIOgMA8RBBZniP+Rr+KCGgceExh/VS4ESshYh -LBOhgLJeDEoTniDYYkCrkOpkSi+sDQESeUWoL4cZaMjihccwsnX5OD+ywJO0a+IDRM5noN+J1q2M -dqMTw5RhK2vZbMEHCiIHhWyFJEapvj+LeISCfiQMnf2BN+MlqO02TpUsyZyQ2uypQjyttgI= ------END CERTIFICATE----- - -Buypass Class 2 CA 1 -==================== ------BEGIN CERTIFICATE----- -MIIDUzCCAjugAwIBAgIBATANBgkqhkiG9w0BAQUFADBLMQswCQYDVQQGEwJOTzEdMBsGA1UECgwU -QnV5cGFzcyBBUy05ODMxNjMzMjcxHTAbBgNVBAMMFEJ1eXBhc3MgQ2xhc3MgMiBDQSAxMB4XDTA2 -MTAxMzEwMjUwOVoXDTE2MTAxMzEwMjUwOVowSzELMAkGA1UEBhMCTk8xHTAbBgNVBAoMFEJ1eXBh -c3MgQVMtOTgzMTYzMzI3MR0wGwYDVQQDDBRCdXlwYXNzIENsYXNzIDIgQ0EgMTCCASIwDQYJKoZI -hvcNAQEBBQADggEPADCCAQoCggEBAIs8B0XY9t/mx8q6jUPFR42wWsE425KEHK8T1A9vNkYgxC7M -cXA0ojTTNy7Y3Tp3L8DrKehc0rWpkTSHIln+zNvnma+WwajHQN2lFYxuyHyXA8vmIPLXl18xoS83 -0r7uvqmtqEyeIWZDO6i88wmjONVZJMHCR3axiFyCO7srpgTXjAePzdVBHfCuuCkslFJgNJQ72uA4 -0Z0zPhX0kzLFANq1KWYOOngPIVJfAuWSeyXTkh4vFZ2B5J2O6O+JzhRMVB0cgRJNcKi+EAUXfh/R -uFdV7c27UsKwHnjCTTZoy1YmwVLBvXb3WNVyfh9EdrsAiR0WnVE1703CVu9r4Iw7DekCAwEAAaNC -MEAwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUP42aWYv8e3uco684sDntkHGA1sgwDgYDVR0P -AQH/BAQDAgEGMA0GCSqGSIb3DQEBBQUAA4IBAQAVGn4TirnoB6NLJzKyQJHyIdFkhb5jatLPgcIV -1Xp+DCmsNx4cfHZSldq1fyOhKXdlyTKdqC5Wq2B2zha0jX94wNWZUYN/Xtm+DKhQ7SLHrQVMdvvt -7h5HZPb3J31cKA9FxVxiXqaakZG3Uxcu3K1gnZZkOb1naLKuBctN518fV4bVIJwo+28TOPX2EZL2 -fZleHwzoq0QkKXJAPTZSr4xYkHPB7GEseaHsh7U/2k3ZIQAw3pDaDtMaSKk+hQsUi4y8QZ5q9w5w -wDX3OaJdZtB7WZ+oRxKaJyOkLY4ng5IgodcVf/EuGO70SH8vf/GhGLWhC5SgYiAynB321O+/TIho ------END CERTIFICATE----- - -Buypass Class 3 CA 1 -==================== ------BEGIN CERTIFICATE----- -MIIDUzCCAjugAwIBAgIBAjANBgkqhkiG9w0BAQUFADBLMQswCQYDVQQGEwJOTzEdMBsGA1UECgwU -QnV5cGFzcyBBUy05ODMxNjMzMjcxHTAbBgNVBAMMFEJ1eXBhc3MgQ2xhc3MgMyBDQSAxMB4XDTA1 -MDUwOTE0MTMwM1oXDTE1MDUwOTE0MTMwM1owSzELMAkGA1UEBhMCTk8xHTAbBgNVBAoMFEJ1eXBh -c3MgQVMtOTgzMTYzMzI3MR0wGwYDVQQDDBRCdXlwYXNzIENsYXNzIDMgQ0EgMTCCASIwDQYJKoZI -hvcNAQEBBQADggEPADCCAQoCggEBAKSO13TZKWTeXx+HgJHqTjnmGcZEC4DVC69TB4sSveZn8AKx -ifZgisRbsELRwCGoy+Gb72RRtqfPFfV0gGgEkKBYouZ0plNTVUhjP5JW3SROjvi6K//zNIqeKNc0 -n6wv1g/xpC+9UrJJhW05NfBEMJNGJPO251P7vGGvqaMU+8IXF4Rs4HyI+MkcVyzwPX6UvCWThOia -AJpFBUJXgPROztmuOfbIUxAMZTpHe2DC1vqRycZxbL2RhzyRhkmr8w+gbCZ2Xhysm3HljbybIR6c -1jh+JIAVMYKWsUnTYjdbiAwKYjT+p0h+mbEwi5A3lRyoH6UsjfRVyNvdWQrCrXig9IsCAwEAAaNC -MEAwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUOBTmyPCppAP0Tj4io1vy1uCtQHQwDgYDVR0P -AQH/BAQDAgEGMA0GCSqGSIb3DQEBBQUAA4IBAQABZ6OMySU9E2NdFm/soT4JXJEVKirZgCFPBdy7 -pYmrEzMqnji3jG8CcmPHc3ceCQa6Oyh7pEfJYWsICCD8igWKH7y6xsL+z27sEzNxZy5p+qksP2bA -EllNC1QCkoS72xLvg3BweMhT+t/Gxv/ciC8HwEmdMldg0/L2mSlf56oBzKwzqBwKu5HEA6BvtjT5 -htOzdlSY9EqBs1OdTUDs5XcTRa9bqh/YL0yCe/4qxFi7T/ye/QNlGioOw6UgFpRreaaiErS7GqQj -el/wroQk5PMr+4okoyeYZdowdXb8GZHo2+ubPzK/QJcHJrrM85SFSnonk8+QQtS4Wxam58tAA915 ------END CERTIFICATE----- - -EBG Elektronik Sertifika Hizmet Sa\xC4\x9Flay\xc4\xb1\x63\xc4\xb1s\xc4\xb1 -========================================================================== ------BEGIN CERTIFICATE----- -MIIF5zCCA8+gAwIBAgIITK9zQhyOdAIwDQYJKoZIhvcNAQEFBQAwgYAxODA2BgNVBAMML0VCRyBF -bGVrdHJvbmlrIFNlcnRpZmlrYSBIaXptZXQgU2HEn2xhecSxY8Sxc8SxMTcwNQYDVQQKDC5FQkcg -QmlsacWfaW0gVGVrbm9sb2ppbGVyaSB2ZSBIaXptZXRsZXJpIEEuxZ4uMQswCQYDVQQGEwJUUjAe -Fw0wNjA4MTcwMDIxMDlaFw0xNjA4MTQwMDMxMDlaMIGAMTgwNgYDVQQDDC9FQkcgRWxla3Ryb25p -ayBTZXJ0aWZpa2EgSGl6bWV0IFNhxJ9sYXnEsWPEsXPEsTE3MDUGA1UECgwuRUJHIEJpbGnFn2lt -IFRla25vbG9qaWxlcmkgdmUgSGl6bWV0bGVyaSBBLsWeLjELMAkGA1UEBhMCVFIwggIiMA0GCSqG -SIb3DQEBAQUAA4ICDwAwggIKAoICAQDuoIRh0DpqZhAy2DE4f6en5f2h4fuXd7hxlugTlkaDT7by -X3JWbhNgpQGR4lvFzVcfd2NR/y8927k/qqk153nQ9dAktiHq6yOU/im/+4mRDGSaBUorzAzu8T2b -gmmkTPiab+ci2hC6X5L8GCcKqKpE+i4stPtGmggDg3KriORqcsnlZR9uKg+ds+g75AxuetpX/dfr -eYteIAbTdgtsApWjluTLdlHRKJ2hGvxEok3MenaoDT2/F08iiFD9rrbskFBKW5+VQarKD7JK/oCZ -TqNGFav4c0JqwmZ2sQomFd2TkuzbqV9UIlKRcF0T6kjsbgNs2d1s/OsNA/+mgxKb8amTD8UmTDGy -Y5lhcucqZJnSuOl14nypqZoaqsNW2xCaPINStnuWt6yHd6i58mcLlEOzrz5z+kI2sSXFCjEmN1Zn -uqMLfdb3ic1nobc6HmZP9qBVFCVMLDMNpkGMvQQxahByCp0OLna9XvNRiYuoP1Vzv9s6xiQFlpJI -qkuNKgPlV5EQ9GooFW5Hd4RcUXSfGenmHmMWOeMRFeNYGkS9y8RsZteEBt8w9DeiQyJ50hBs37vm -ExH8nYQKE3vwO9D8owrXieqWfo1IhR5kX9tUoqzVegJ5a9KK8GfaZXINFHDk6Y54jzJ0fFfy1tb0 -Nokb+Clsi7n2l9GkLqq+CxnCRelwXQIDAJ3Zo2MwYTAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB -/wQEAwIBBjAdBgNVHQ4EFgQU587GT/wWZ5b6SqMHwQSny2re2kcwHwYDVR0jBBgwFoAU587GT/wW -Z5b6SqMHwQSny2re2kcwDQYJKoZIhvcNAQEFBQADggIBAJuYml2+8ygjdsZs93/mQJ7ANtyVDR2t -FcU22NU57/IeIl6zgrRdu0waypIN30ckHrMk2pGI6YNw3ZPX6bqz3xZaPt7gyPvT/Wwp+BVGoGgm -zJNSroIBk5DKd8pNSe/iWtkqvTDOTLKBtjDOWU/aWR1qeqRFsIImgYZ29fUQALjuswnoT4cCB64k -XPBfrAowzIpAoHMEwfuJJPaaHFy3PApnNgUIMbOv2AFoKuB4j3TeuFGkjGwgPaL7s9QJ/XvCgKqT -bCmYIai7FvOpEl90tYeY8pUm3zTvilORiF0alKM/fCL414i6poyWqD1SNGKfAB5UVUJnxk1Gj7sU -RT0KlhaOEKGXmdXTMIXM3rRyt7yKPBgpaP3ccQfuJDlq+u2lrDgv+R4QDgZxGhBM/nV+/x5XOULK -1+EVoVZVWRvRo68R2E7DpSvvkL/A7IITW43WciyTTo9qKd+FPNMN4KIYEsxVL0e3p5sC/kH2iExt -2qkBR4NkJ2IQgtYSe14DHzSpyZH+r11thie3I6p1GMog57AP14kOpmciY/SDQSsGS7tY1dHXt7kQ -Y9iJSrSq3RZj9W6+YKH47ejWkE8axsWgKdOnIaj1Wjz3x0miIZpKlVIglnKaZsv30oZDfCK+lvm9 -AahH3eU7QPl1K5srRmSGjR70j/sHd9DqSaIcjVIUpgqT ------END CERTIFICATE----- - -certSIGN ROOT CA -================ ------BEGIN CERTIFICATE----- -MIIDODCCAiCgAwIBAgIGIAYFFnACMA0GCSqGSIb3DQEBBQUAMDsxCzAJBgNVBAYTAlJPMREwDwYD -VQQKEwhjZXJ0U0lHTjEZMBcGA1UECxMQY2VydFNJR04gUk9PVCBDQTAeFw0wNjA3MDQxNzIwMDRa -Fw0zMTA3MDQxNzIwMDRaMDsxCzAJBgNVBAYTAlJPMREwDwYDVQQKEwhjZXJ0U0lHTjEZMBcGA1UE -CxMQY2VydFNJR04gUk9PVCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALczuX7I -JUqOtdu0KBuqV5Do0SLTZLrTk+jUrIZhQGpgV2hUhE28alQCBf/fm5oqrl0Hj0rDKH/v+yv6efHH -rfAQUySQi2bJqIirr1qjAOm+ukbuW3N7LBeCgV5iLKECZbO9xSsAfsT8AzNXDe3i+s5dRdY4zTW2 -ssHQnIFKquSyAVwdj1+ZxLGt24gh65AIgoDzMKND5pCCrlUoSe1b16kQOA7+j0xbm0bqQfWwCHTD -0IgztnzXdN/chNFDDnU5oSVAKOp4yw4sLjmdjItuFhwvJoIQ4uNllAoEwF73XVv4EOLQunpL+943 -AAAaWyjj0pxzPjKHmKHJUS/X3qwzs08CAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8B -Af8EBAMCAcYwHQYDVR0OBBYEFOCMm9slSbPxfIbWskKHC9BroNnkMA0GCSqGSIb3DQEBBQUAA4IB -AQA+0hyJLjX8+HXd5n9liPRyTMks1zJO890ZeUe9jjtbkw9QSSQTaxQGcu8J06Gh40CEyecYMnQ8 -SG4Pn0vU9x7Tk4ZkVJdjclDVVc/6IJMCopvDI5NOFlV2oHB5bc0hH88vLbwZ44gx+FkagQnIl6Z0 -x2DEW8xXjrJ1/RsCCdtZb3KTafcxQdaIOL+Hsr0Wefmq5L6IJd1hJyMctTEHBDa0GpC9oHRxUIlt -vBTjD4au8as+x6AJzKNI0eDbZOeStc+vckNwi/nDhDwTqn6Sm1dTk/pwwpEOMfmbZ13pljheX7Nz -TogVZ96edhBiIL5VaZVDADlN9u6wWk5JRFRYX0KD ------END CERTIFICATE----- - -CNNIC ROOT -========== ------BEGIN CERTIFICATE----- -MIIDVTCCAj2gAwIBAgIESTMAATANBgkqhkiG9w0BAQUFADAyMQswCQYDVQQGEwJDTjEOMAwGA1UE -ChMFQ05OSUMxEzARBgNVBAMTCkNOTklDIFJPT1QwHhcNMDcwNDE2MDcwOTE0WhcNMjcwNDE2MDcw -OTE0WjAyMQswCQYDVQQGEwJDTjEOMAwGA1UEChMFQ05OSUMxEzARBgNVBAMTCkNOTklDIFJPT1Qw -ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDTNfc/c3et6FtzF8LRb+1VvG7q6KR5smzD -o+/hn7E7SIX1mlwhIhAsxYLO2uOabjfhhyzcuQxauohV3/2q2x8x6gHx3zkBwRP9SFIhxFXf2tiz -VHa6dLG3fdfA6PZZxU3Iva0fFNrfWEQlMhkqx35+jq44sDB7R3IJMfAw28Mbdim7aXZOV/kbZKKT -VrdvmW7bCgScEeOAH8tjlBAKqeFkgjH5jCftppkA9nCTGPihNIaj3XrCGHn2emU1z5DrvTOTn1Or -czvmmzQgLx3vqR1jGqCA2wMv+SYahtKNu6m+UjqHZ0gNv7Sg2Ca+I19zN38m5pIEo3/PIKe38zrK -y5nLAgMBAAGjczBxMBEGCWCGSAGG+EIBAQQEAwIABzAfBgNVHSMEGDAWgBRl8jGtKvf33VKWCscC -wQ7vptU7ETAPBgNVHRMBAf8EBTADAQH/MAsGA1UdDwQEAwIB/jAdBgNVHQ4EFgQUZfIxrSr3991S -lgrHAsEO76bVOxEwDQYJKoZIhvcNAQEFBQADggEBAEs17szkrr/Dbq2flTtLP1se31cpolnKOOK5 -Gv+e5m4y3R6u6jW39ZORTtpC4cMXYFDy0VwmuYK36m3knITnA3kXr5g9lNvHugDnuL8BV8F3RTIM -O/G0HAiw/VGgod2aHRM2mm23xzy54cXZF/qD1T0VoDy7HgviyJA/qIYM/PmLXoXLT1tLYhFHxUV8 -BS9BsZ4QaRuZluBVeftOhpm4lNqGOGqTo+fLbuXf6iFViZx9fX+Y9QCJ7uOEwFyWtcVG6kbghVW2 -G8kS1sHNzYDzAgE8yGnLRUhj2JTQ7IUOO04RZfSCjKY9ri4ilAnIXOo8gV0WKgOXFlUJ24pBgp5m -mxE= ------END CERTIFICATE----- - -ApplicationCA - Japanese Government -=================================== ------BEGIN CERTIFICATE----- -MIIDoDCCAoigAwIBAgIBMTANBgkqhkiG9w0BAQUFADBDMQswCQYDVQQGEwJKUDEcMBoGA1UEChMT -SmFwYW5lc2UgR292ZXJubWVudDEWMBQGA1UECxMNQXBwbGljYXRpb25DQTAeFw0wNzEyMTIxNTAw -MDBaFw0xNzEyMTIxNTAwMDBaMEMxCzAJBgNVBAYTAkpQMRwwGgYDVQQKExNKYXBhbmVzZSBHb3Zl -cm5tZW50MRYwFAYDVQQLEw1BcHBsaWNhdGlvbkNBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB -CgKCAQEAp23gdE6Hj6UG3mii24aZS2QNcfAKBZuOquHMLtJqO8F6tJdhjYq+xpqcBrSGUeQ3DnR4 -fl+Kf5Sk10cI/VBaVuRorChzoHvpfxiSQE8tnfWuREhzNgaeZCw7NCPbXCbkcXmP1G55IrmTwcrN -wVbtiGrXoDkhBFcsovW8R0FPXjQilbUfKW1eSvNNcr5BViCH/OlQR9cwFO5cjFW6WY2H/CPek9AE -jP3vbb3QesmlOmpyM8ZKDQUXKi17safY1vC+9D/qDihtQWEjdnjDuGWk81quzMKq2edY3rZ+nYVu -nyoKb58DKTCXKB28t89UKU5RMfkntigm/qJj5kEW8DOYRwIDAQABo4GeMIGbMB0GA1UdDgQWBBRU -WssmP3HMlEYNllPqa0jQk/5CdTAOBgNVHQ8BAf8EBAMCAQYwWQYDVR0RBFIwUKROMEwxCzAJBgNV -BAYTAkpQMRgwFgYDVQQKDA/ml6XmnKzlm73mlL/lupwxIzAhBgNVBAsMGuOCouODl+ODquOCseOD -vOOCt+ODp+ODs0NBMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBADlqRHZ3ODrs -o2dGD/mLBqj7apAxzn7s2tGJfHrrLgy9mTLnsCTWw//1sogJhyzjVOGjprIIC8CFqMjSnHH2HZ9g -/DgzE+Ge3Atf2hZQKXsvcJEPmbo0NI2VdMV+eKlmXb3KIXdCEKxmJj3ekav9FfBv7WxfEPjzFvYD -io+nEhEMy/0/ecGc/WLuo89UDNErXxc+4z6/wCs+CZv+iKZ+tJIX/COUgb1up8WMwusRRdv4QcmW -dupwX3kSa+SjB1oF7ydJzyGfikwJcGapJsErEU4z0g781mzSDjJkaP+tBXhfAx2o45CsJOAPQKdL -rosot4LKGAfmt1t06SAZf7IbiVQ= ------END CERTIFICATE----- - -GeoTrust Primary Certification Authority - G3 -============================================= ------BEGIN CERTIFICATE----- -MIID/jCCAuagAwIBAgIQFaxulBmyeUtB9iepwxgPHzANBgkqhkiG9w0BAQsFADCBmDELMAkGA1UE -BhMCVVMxFjAUBgNVBAoTDUdlb1RydXN0IEluYy4xOTA3BgNVBAsTMChjKSAyMDA4IEdlb1RydXN0 -IEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25seTE2MDQGA1UEAxMtR2VvVHJ1c3QgUHJpbWFy -eSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEczMB4XDTA4MDQwMjAwMDAwMFoXDTM3MTIwMTIz -NTk1OVowgZgxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMTkwNwYDVQQLEzAo -YykgMjAwOCBHZW9UcnVzdCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxNjA0BgNVBAMT -LUdlb1RydXN0IFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMzCCASIwDQYJKoZI -hvcNAQEBBQADggEPADCCAQoCggEBANziXmJYHTNXOTIz+uvLh4yn1ErdBojqZI4xmKU4kB6Yzy5j -K/BGvESyiaHAKAxJcCGVn2TAppMSAmUmhsalifD614SgcK9PGpc/BkTVyetyEH3kMSj7HGHmKAdE -c5IiaacDiGydY8hS2pgn5whMcD60yRLBxWeDXTPzAxHsatBT4tG6NmCUgLthY2xbF37fQJQeqw3C -IShwiP/WJmxsYAQlTlV+fe+/lEjetx3dcI0FX4ilm/LC7urRQEFtYjgdVgbFA0dRIBn8exALDmKu -dlW/X3e+PkkBUz2YJQN2JFodtNuJ6nnltrM7P7pMKEF/BqxqjsHQ9gUdfeZChuOl1UcCAwEAAaNC -MEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFMR5yo6hTgMdHNxr -2zFblD4/MH8tMA0GCSqGSIb3DQEBCwUAA4IBAQAtxRPPVoB7eni9n64smefv2t+UXglpp+duaIy9 -cr5HqQ6XErhK8WTTOd8lNNTBzU6B8A8ExCSzNJbGpqow32hhc9f5joWJ7w5elShKKiePEI4ufIbE -Ap7aDHdlDkQNkv39sxY2+hENHYwOB4lqKVb3cvTdFZx3NWZXqxNT2I7BQMXXExZacse3aQHEerGD -AWh9jUGhlBjBJVz88P6DAod8DQ3PLghcSkANPuyBYeYk28rgDi0Hsj5W3I31QYUHSJsMC8tJP33s -t/3LjWeJGqvtux6jAAgIFyqCXDFdRootD4abdNlF+9RAsXqqaC2Gspki4cErx5z481+oghLrGREt ------END CERTIFICATE----- - -thawte Primary Root CA - G2 -=========================== ------BEGIN CERTIFICATE----- -MIICiDCCAg2gAwIBAgIQNfwmXNmET8k9Jj1Xm67XVjAKBggqhkjOPQQDAzCBhDELMAkGA1UEBhMC -VVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjE4MDYGA1UECxMvKGMpIDIwMDcgdGhhd3RlLCBJbmMu -IC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxJDAiBgNVBAMTG3RoYXd0ZSBQcmltYXJ5IFJvb3Qg -Q0EgLSBHMjAeFw0wNzExMDUwMDAwMDBaFw0zODAxMTgyMzU5NTlaMIGEMQswCQYDVQQGEwJVUzEV -MBMGA1UEChMMdGhhd3RlLCBJbmMuMTgwNgYDVQQLEy8oYykgMjAwNyB0aGF3dGUsIEluYy4gLSBG -b3IgYXV0aG9yaXplZCB1c2Ugb25seTEkMCIGA1UEAxMbdGhhd3RlIFByaW1hcnkgUm9vdCBDQSAt -IEcyMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEotWcgnuVnfFSeIf+iha/BebfowJPDQfGAFG6DAJS -LSKkQjnE/o/qycG+1E3/n3qe4rF8mq2nhglzh9HnmuN6papu+7qzcMBniKI11KOasf2twu8x+qi5 -8/sIxpHR+ymVo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQU -mtgAMADna3+FGO6Lts6KDPgR4bswCgYIKoZIzj0EAwMDaQAwZgIxAN344FdHW6fmCsO99YCKlzUN -G4k8VIZ3KMqh9HneteY4sPBlcIx/AlTCv//YoT7ZzwIxAMSNlPzcU9LcnXgWHxUzI1NS41oxXZ3K -rr0TKUQNJ1uo52icEvdYPy5yAlejj6EULg== ------END CERTIFICATE----- - -thawte Primary Root CA - G3 -=========================== ------BEGIN CERTIFICATE----- -MIIEKjCCAxKgAwIBAgIQYAGXt0an6rS0mtZLL/eQ+zANBgkqhkiG9w0BAQsFADCBrjELMAkGA1UE -BhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2 -aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMvKGMpIDIwMDggdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhv -cml6ZWQgdXNlIG9ubHkxJDAiBgNVBAMTG3RoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EgLSBHMzAeFw0w -ODA0MDIwMDAwMDBaFw0zNzEyMDEyMzU5NTlaMIGuMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMdGhh -d3RlLCBJbmMuMSgwJgYDVQQLEx9DZXJ0aWZpY2F0aW9uIFNlcnZpY2VzIERpdmlzaW9uMTgwNgYD -VQQLEy8oYykgMjAwOCB0aGF3dGUsIEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25seTEkMCIG -A1UEAxMbdGhhd3RlIFByaW1hcnkgUm9vdCBDQSAtIEczMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A -MIIBCgKCAQEAsr8nLPvb2FvdeHsbnndmgcs+vHyu86YnmjSjaDFxODNi5PNxZnmxqWWjpYvVj2At -P0LMqmsywCPLLEHd5N/8YZzic7IilRFDGF/Eth9XbAoFWCLINkw6fKXRz4aviKdEAhN0cXMKQlkC -+BsUa0Lfb1+6a4KinVvnSr0eAXLbS3ToO39/fR8EtCab4LRarEc9VbjXsCZSKAExQGbY2SS99irY -7CFJXJv2eul/VTV+lmuNk5Mny5K76qxAwJ/C+IDPXfRa3M50hqY+bAtTyr2SzhkGcuYMXDhpxwTW -vGzOW/b3aJzcJRVIiKHpqfiYnODz1TEoYRFsZ5aNOZnLwkUkOQIDAQABo0IwQDAPBgNVHRMBAf8E -BTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUrWyqlGCc7eT/+j4KdCtjA/e2Wb8wDQYJ -KoZIhvcNAQELBQADggEBABpA2JVlrAmSicY59BDlqQ5mU1143vokkbvnRFHfxhY0Cu9qRFHqKweK -A3rD6z8KLFIWoCtDuSWQP3CpMyVtRRooOyfPqsMpQhvfO0zAMzRbQYi/aytlryjvsvXDqmbOe1bu -t8jLZ8HJnBoYuMTDSQPxYA5QzUbF83d597YV4Djbxy8ooAw/dyZ02SUS2jHaGh7cKUGRIjxpp7sC -8rZcJwOJ9Abqm+RyguOhCcHpABnTPtRwa7pxpqpYrvS76Wy274fMm7v/OeZWYdMKp8RcTGB7BXcm -er/YB1IsYvdwY9k5vG8cwnncdimvzsUsZAReiDZuMdRAGmI0Nj81Aa6sY6A= ------END CERTIFICATE----- - -GeoTrust Primary Certification Authority - G2 -============================================= ------BEGIN CERTIFICATE----- -MIICrjCCAjWgAwIBAgIQPLL0SAoA4v7rJDteYD7DazAKBggqhkjOPQQDAzCBmDELMAkGA1UEBhMC -VVMxFjAUBgNVBAoTDUdlb1RydXN0IEluYy4xOTA3BgNVBAsTMChjKSAyMDA3IEdlb1RydXN0IElu -Yy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25seTE2MDQGA1UEAxMtR2VvVHJ1c3QgUHJpbWFyeSBD -ZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEcyMB4XDTA3MTEwNTAwMDAwMFoXDTM4MDExODIzNTk1 -OVowgZgxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMTkwNwYDVQQLEzAoYykg -MjAwNyBHZW9UcnVzdCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxNjA0BgNVBAMTLUdl -b1RydXN0IFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMjB2MBAGByqGSM49AgEG -BSuBBAAiA2IABBWx6P0DFUPlrOuHNxFi79KDNlJ9RVcLSo17VDs6bl8VAsBQps8lL33KSLjHUGMc -KiEIfJo22Av+0SbFWDEwKCXzXV2juLaltJLtbCyf691DiaI8S0iRHVDsJt/WYC69IaNCMEAwDwYD -VR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFBVfNVdRVfslsq0DafwBo/q+ -EVXVMAoGCCqGSM49BAMDA2cAMGQCMGSWWaboCd6LuvpaiIjwH5HTRqjySkwCY/tsXzjbLkGTqQ7m -ndwxHLKgpxgceeHHNgIwOlavmnRs9vuD4DPTCF+hnMJbn0bWtsuRBmOiBuczrD6ogRLQy7rQkgu2 -npaqBA+K ------END CERTIFICATE----- - -VeriSign Universal Root Certification Authority -=============================================== ------BEGIN CERTIFICATE----- -MIIEuTCCA6GgAwIBAgIQQBrEZCGzEyEDDrvkEhrFHTANBgkqhkiG9w0BAQsFADCBvTELMAkGA1UE -BhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBO -ZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwOCBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVk -IHVzZSBvbmx5MTgwNgYDVQQDEy9WZXJpU2lnbiBVbml2ZXJzYWwgUm9vdCBDZXJ0aWZpY2F0aW9u -IEF1dGhvcml0eTAeFw0wODA0MDIwMDAwMDBaFw0zNzEyMDEyMzU5NTlaMIG9MQswCQYDVQQGEwJV -UzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0IE5ldHdv -cmsxOjA4BgNVBAsTMShjKSAyMDA4IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNl -IG9ubHkxODA2BgNVBAMTL1ZlcmlTaWduIFVuaXZlcnNhbCBSb290IENlcnRpZmljYXRpb24gQXV0 -aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAx2E3XrEBNNti1xWb/1hajCMj -1mCOkdeQmIN65lgZOIzF9uVkhbSicfvtvbnazU0AtMgtc6XHaXGVHzk8skQHnOgO+k1KxCHfKWGP -MiJhgsWHH26MfF8WIFFE0XBPV+rjHOPMee5Y2A7Cs0WTwCznmhcrewA3ekEzeOEz4vMQGn+HLL72 -9fdC4uW/h2KJXwBL38Xd5HVEMkE6HnFuacsLdUYI0crSK5XQz/u5QGtkjFdN/BMReYTtXlT2NJ8I -AfMQJQYXStrxHXpma5hgZqTZ79IugvHw7wnqRMkVauIDbjPTrJ9VAMf2CGqUuV/c4DPxhGD5WycR -tPwW8rtWaoAljQIDAQABo4GyMIGvMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMG0G -CCsGAQUFBwEMBGEwX6FdoFswWTBXMFUWCWltYWdlL2dpZjAhMB8wBwYFKw4DAhoEFI/l0xqGrI2O -a8PPgGrUSBgsexkuMCUWI2h0dHA6Ly9sb2dvLnZlcmlzaWduLmNvbS92c2xvZ28uZ2lmMB0GA1Ud -DgQWBBS2d/ppSEefUxLVwuoHMnYH0ZcHGTANBgkqhkiG9w0BAQsFAAOCAQEASvj4sAPmLGd75JR3 -Y8xuTPl9Dg3cyLk1uXBPY/ok+myDjEedO2Pzmvl2MpWRsXe8rJq+seQxIcaBlVZaDrHC1LGmWazx -Y8u4TB1ZkErvkBYoH1quEPuBUDgMbMzxPcP1Y+Oz4yHJJDnp/RVmRvQbEdBNc6N9Rvk97ahfYtTx -P/jgdFcrGJ2BtMQo2pSXpXDrrB2+BxHw1dvd5Yzw1TKwg+ZX4o+/vqGqvz0dtdQ46tewXDpPaj+P -wGZsY6rp2aQW9IHRlRQOfc2VNNnSj3BzgXucfr2YYdhFh5iQxeuGMMY1v/D/w1WIg0vvBZIGcfK4 -mJO37M2CYfE45k+XmCpajQ== ------END CERTIFICATE----- - -VeriSign Class 3 Public Primary Certification Authority - G4 -============================================================ ------BEGIN CERTIFICATE----- -MIIDhDCCAwqgAwIBAgIQL4D+I4wOIg9IZxIokYesszAKBggqhkjOPQQDAzCByjELMAkGA1UEBhMC -VVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBOZXR3 -b3JrMTowOAYDVQQLEzEoYykgMjAwNyBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVz -ZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmlj -YXRpb24gQXV0aG9yaXR5IC0gRzQwHhcNMDcxMTA1MDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCByjEL -MAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBU -cnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNyBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRo -b3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5 -IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzQwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAASnVnp8 -Utpkmw4tXNherJI9/gHmGUo9FANL+mAnINmDiWn6VMaaGF5VKmTeBvaNSjutEDxlPZCIBIngMGGz -rl0Bp3vefLK+ymVhAIau2o970ImtTR1ZmkGxvEeA3J5iw/mjgbIwga8wDwYDVR0TAQH/BAUwAwEB -/zAOBgNVHQ8BAf8EBAMCAQYwbQYIKwYBBQUHAQwEYTBfoV2gWzBZMFcwVRYJaW1hZ2UvZ2lmMCEw -HzAHBgUrDgMCGgQUj+XTGoasjY5rw8+AatRIGCx7GS4wJRYjaHR0cDovL2xvZ28udmVyaXNpZ24u -Y29tL3ZzbG9nby5naWYwHQYDVR0OBBYEFLMWkf3upm7ktS5Jj4d4gYDs5bG1MAoGCCqGSM49BAMD -A2gAMGUCMGYhDBgmYFo4e1ZC4Kf8NoRRkSAsdk1DPcQdhCPQrNZ8NQbOzWm9kA3bbEhCHQ6qQgIx -AJw9SDkjOVgaFRJZap7v1VmyHVIsmXHNxynfGyphe3HR3vPA5Q06Sqotp9iGKt0uEA== ------END CERTIFICATE----- - -NetLock Arany (Class Gold) Főtanúsítvány -============================================ ------BEGIN CERTIFICATE----- -MIIEFTCCAv2gAwIBAgIGSUEs5AAQMA0GCSqGSIb3DQEBCwUAMIGnMQswCQYDVQQGEwJIVTERMA8G -A1UEBwwIQnVkYXBlc3QxFTATBgNVBAoMDE5ldExvY2sgS2Z0LjE3MDUGA1UECwwuVGFuw7pzw610 -dsOhbnlraWFkw7NrIChDZXJ0aWZpY2F0aW9uIFNlcnZpY2VzKTE1MDMGA1UEAwwsTmV0TG9jayBB -cmFueSAoQ2xhc3MgR29sZCkgRsWRdGFuw7pzw610dsOhbnkwHhcNMDgxMjExMTUwODIxWhcNMjgx -MjA2MTUwODIxWjCBpzELMAkGA1UEBhMCSFUxETAPBgNVBAcMCEJ1ZGFwZXN0MRUwEwYDVQQKDAxO -ZXRMb2NrIEtmdC4xNzA1BgNVBAsMLlRhbsO6c8OtdHbDoW55a2lhZMOzayAoQ2VydGlmaWNhdGlv -biBTZXJ2aWNlcykxNTAzBgNVBAMMLE5ldExvY2sgQXJhbnkgKENsYXNzIEdvbGQpIEbFkXRhbsO6 -c8OtdHbDoW55MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxCRec75LbRTDofTjl5Bu -0jBFHjzuZ9lk4BqKf8owyoPjIMHj9DrTlF8afFttvzBPhCf2nx9JvMaZCpDyD/V/Q4Q3Y1GLeqVw -/HpYzY6b7cNGbIRwXdrzAZAj/E4wqX7hJ2Pn7WQ8oLjJM2P+FpD/sLj916jAwJRDC7bVWaaeVtAk -H3B5r9s5VA1lddkVQZQBr17s9o3x/61k/iCa11zr/qYfCGSji3ZVrR47KGAuhyXoqq8fxmRGILdw -fzzeSNuWU7c5d+Qa4scWhHaXWy+7GRWF+GmF9ZmnqfI0p6m2pgP8b4Y9VHx2BJtr+UBdADTHLpl1 -neWIA6pN+APSQnbAGwIDAKiLo0UwQzASBgNVHRMBAf8ECDAGAQH/AgEEMA4GA1UdDwEB/wQEAwIB -BjAdBgNVHQ4EFgQUzPpnk/C2uNClwB7zU/2MU9+D15YwDQYJKoZIhvcNAQELBQADggEBAKt/7hwW -qZw8UQCgwBEIBaeZ5m8BiFRhbvG5GK1Krf6BQCOUL/t1fC8oS2IkgYIL9WHxHG64YTjrgfpioTta -YtOUZcTh5m2C+C8lcLIhJsFyUR+MLMOEkMNaj7rP9KdlpeuY0fsFskZ1FSNqb4VjMIDw1Z4fKRzC -bLBQWV2QWzuoDTDPv31/zvGdg73JRm4gpvlhUbohL3u+pRVjodSVh/GeufOJ8z2FuLjbvrW5Kfna -NwUASZQDhETnv0Mxz3WLJdH0pmT1kvarBes96aULNmLazAZfNou2XjG4Kvte9nHfRCaexOYNkbQu -dZWAUWpLMKawYqGT8ZvYzsRjdT9ZR7E= ------END CERTIFICATE----- - -Staat der Nederlanden Root CA - G2 -================================== ------BEGIN CERTIFICATE----- -MIIFyjCCA7KgAwIBAgIEAJiWjDANBgkqhkiG9w0BAQsFADBaMQswCQYDVQQGEwJOTDEeMBwGA1UE -CgwVU3RhYXQgZGVyIE5lZGVybGFuZGVuMSswKQYDVQQDDCJTdGFhdCBkZXIgTmVkZXJsYW5kZW4g -Um9vdCBDQSAtIEcyMB4XDTA4MDMyNjExMTgxN1oXDTIwMDMyNTExMDMxMFowWjELMAkGA1UEBhMC -TkwxHjAcBgNVBAoMFVN0YWF0IGRlciBOZWRlcmxhbmRlbjErMCkGA1UEAwwiU3RhYXQgZGVyIE5l -ZGVybGFuZGVuIFJvb3QgQ0EgLSBHMjCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMVZ -5291qj5LnLW4rJ4L5PnZyqtdj7U5EILXr1HgO+EASGrP2uEGQxGZqhQlEq0i6ABtQ8SpuOUfiUtn -vWFI7/3S4GCI5bkYYCjDdyutsDeqN95kWSpGV+RLufg3fNU254DBtvPUZ5uW6M7XxgpT0GtJlvOj -CwV3SPcl5XCsMBQgJeN/dVrlSPhOewMHBPqCYYdu8DvEpMfQ9XQ+pV0aCPKbJdL2rAQmPlU6Yiil -e7Iwr/g3wtG61jj99O9JMDeZJiFIhQGp5Rbn3JBV3w/oOM2ZNyFPXfUib2rFEhZgF1XyZWampzCR -OME4HYYEhLoaJXhena/MUGDWE4dS7WMfbWV9whUYdMrhfmQpjHLYFhN9C0lK8SgbIHRrxT3dsKpI -CT0ugpTNGmXZK4iambwYfp/ufWZ8Pr2UuIHOzZgweMFvZ9C+X+Bo7d7iscksWXiSqt8rYGPy5V65 -48r6f1CGPqI0GAwJaCgRHOThuVw+R7oyPxjMW4T182t0xHJ04eOLoEq9jWYv6q012iDTiIJh8BIi -trzQ1aTsr1SIJSQ8p22xcik/Plemf1WvbibG/ufMQFxRRIEKeN5KzlW/HdXZt1bv8Hb/C3m1r737 -qWmRRpdogBQ2HbN/uymYNqUg+oJgYjOk7Na6B6duxc8UpufWkjTYgfX8HV2qXB72o007uPc5AgMB -AAGjgZcwgZQwDwYDVR0TAQH/BAUwAwEB/zBSBgNVHSAESzBJMEcGBFUdIAAwPzA9BggrBgEFBQcC -ARYxaHR0cDovL3d3dy5wa2lvdmVyaGVpZC5ubC9wb2xpY2llcy9yb290LXBvbGljeS1HMjAOBgNV -HQ8BAf8EBAMCAQYwHQYDVR0OBBYEFJFoMocVHYnitfGsNig0jQt8YojrMA0GCSqGSIb3DQEBCwUA -A4ICAQCoQUpnKpKBglBu4dfYszk78wIVCVBR7y29JHuIhjv5tLySCZa59sCrI2AGeYwRTlHSeYAz -+51IvuxBQ4EffkdAHOV6CMqqi3WtFMTC6GY8ggen5ieCWxjmD27ZUD6KQhgpxrRW/FYQoAUXvQwj -f/ST7ZwaUb7dRUG/kSS0H4zpX897IZmflZ85OkYcbPnNe5yQzSipx6lVu6xiNGI1E0sUOlWDuYaN -kqbG9AclVMwWVxJKgnjIFNkXgiYtXSAfea7+1HAWFpWD2DU5/1JddRwWxRNVz0fMdWVSSt7wsKfk -CpYL+63C4iWEst3kvX5ZbJvw8NjnyvLplzh+ib7M+zkXYT9y2zqR2GUBGR2tUKRXCnxLvJxxcypF -URmFzI79R6d0lR2o0a9OF7FpJsKqeFdbxU2n5Z4FF5TKsl+gSRiNNOkmbEgeqmiSBeGCc1qb3Adb -CG19ndeNIdn8FCCqwkXfP+cAslHkwvgFuXkajDTznlvkN1trSt8sV4pAWja63XVECDdCcAz+3F4h -oKOKwJCcaNpQ5kUQR3i2TtJlycM33+FCY7BXN0Ute4qcvwXqZVUz9zkQxSgqIXobisQk+T8VyJoV -IPVVYpbtbZNQvOSqeK3Zywplh6ZmwcSBo3c6WB4L7oOLnR7SUqTMHW+wmG2UMbX4cQrcufx9MmDm -66+KAQ== ------END CERTIFICATE----- - -CA Disig -======== ------BEGIN CERTIFICATE----- -MIIEDzCCAvegAwIBAgIBATANBgkqhkiG9w0BAQUFADBKMQswCQYDVQQGEwJTSzETMBEGA1UEBxMK -QnJhdGlzbGF2YTETMBEGA1UEChMKRGlzaWcgYS5zLjERMA8GA1UEAxMIQ0EgRGlzaWcwHhcNMDYw -MzIyMDEzOTM0WhcNMTYwMzIyMDEzOTM0WjBKMQswCQYDVQQGEwJTSzETMBEGA1UEBxMKQnJhdGlz -bGF2YTETMBEGA1UEChMKRGlzaWcgYS5zLjERMA8GA1UEAxMIQ0EgRGlzaWcwggEiMA0GCSqGSIb3 -DQEBAQUAA4IBDwAwggEKAoIBAQCS9jHBfYj9mQGp2HvycXXxMcbzdWb6UShGhJd4NLxs/LxFWYgm -GErENx+hSkS943EE9UQX4j/8SFhvXJ56CbpRNyIjZkMhsDxkovhqFQ4/61HhVKndBpnXmjxUizkD -Pw/Fzsbrg3ICqB9x8y34dQjbYkzo+s7552oftms1grrijxaSfQUMbEYDXcDtab86wYqg6I7ZuUUo -hwjstMoVvoLdtUSLLa2GDGhibYVW8qwUYzrG0ZmsNHhWS8+2rT+MitcE5eN4TPWGqvWP+j1scaMt -ymfraHtuM6kMgiioTGohQBUgDCZbg8KpFhXAJIJdKxatymP2dACw30PEEGBWZ2NFAgMBAAGjgf8w -gfwwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUjbJJaJ1yCCW5wCf1UJNWSEZx+Y8wDgYDVR0P -AQH/BAQDAgEGMDYGA1UdEQQvMC2BE2Nhb3BlcmF0b3JAZGlzaWcuc2uGFmh0dHA6Ly93d3cuZGlz -aWcuc2svY2EwZgYDVR0fBF8wXTAtoCugKYYnaHR0cDovL3d3dy5kaXNpZy5zay9jYS9jcmwvY2Ff -ZGlzaWcuY3JsMCygKqAohiZodHRwOi8vY2EuZGlzaWcuc2svY2EvY3JsL2NhX2Rpc2lnLmNybDAa -BgNVHSAEEzARMA8GDSuBHpGT5goAAAABAQEwDQYJKoZIhvcNAQEFBQADggEBAF00dGFMrzvY/59t -WDYcPQuBDRIrRhCA/ec8J9B6yKm2fnQwM6M6int0wHl5QpNt/7EpFIKrIYwvF/k/Ji/1WcbvgAa3 -mkkp7M5+cTxqEEHA9tOasnxakZzArFvITV734VP/Q3f8nktnbNfzg9Gg4H8l37iYC5oyOGwwoPP/ -CBUz91BKez6jPiCp3C9WgArtQVCwyfTssuMmRAAOb54GvCKWU3BlxFAKRmukLyeBEicTXxChds6K -ezfqwzlhA5WYOudsiCUI/HloDYd9Yvi0X/vF2Ey9WLw/Q1vUHgFNPGO+I++MzVpQuGhU+QqZMxEA -4Z7CRneC9VkGjCFMhwnN5ag= ------END CERTIFICATE----- - -Juur-SK -======= ------BEGIN CERTIFICATE----- -MIIE5jCCA86gAwIBAgIEO45L/DANBgkqhkiG9w0BAQUFADBdMRgwFgYJKoZIhvcNAQkBFglwa2lA -c2suZWUxCzAJBgNVBAYTAkVFMSIwIAYDVQQKExlBUyBTZXJ0aWZpdHNlZXJpbWlza2Vza3VzMRAw -DgYDVQQDEwdKdXVyLVNLMB4XDTAxMDgzMDE0MjMwMVoXDTE2MDgyNjE0MjMwMVowXTEYMBYGCSqG -SIb3DQEJARYJcGtpQHNrLmVlMQswCQYDVQQGEwJFRTEiMCAGA1UEChMZQVMgU2VydGlmaXRzZWVy -aW1pc2tlc2t1czEQMA4GA1UEAxMHSnV1ci1TSzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC -ggEBAIFxNj4zB9bjMI0TfncyRsvPGbJgMUaXhvSYRqTCZUXP00B841oiqBB4M8yIsdOBSvZiF3tf -TQou0M+LI+5PAk676w7KvRhj6IAcjeEcjT3g/1tf6mTll+g/mX8MCgkzABpTpyHhOEvWgxutr2TC -+Rx6jGZITWYfGAriPrsfB2WThbkasLnE+w0R9vXW+RvHLCu3GFH+4Hv2qEivbDtPL+/40UceJlfw -UR0zlv/vWT3aTdEVNMfqPxZIe5EcgEMPPbgFPtGzlc3Yyg/CQ2fbt5PgIoIuvvVoKIO5wTtpeyDa -Tpxt4brNj3pssAki14sL2xzVWiZbDcDq5WDQn/413z8CAwEAAaOCAawwggGoMA8GA1UdEwEB/wQF -MAMBAf8wggEWBgNVHSAEggENMIIBCTCCAQUGCisGAQQBzh8BAQEwgfYwgdAGCCsGAQUFBwICMIHD -HoHAAFMAZQBlACAAcwBlAHIAdABpAGYAaQBrAGEAYQB0ACAAbwBuACAAdgDkAGwAagBhAHMAdABh -AHQAdQBkACAAQQBTAC0AaQBzACAAUwBlAHIAdABpAGYAaQB0AHMAZQBlAHIAaQBtAGkAcwBrAGUA -cwBrAHUAcwAgAGEAbABhAG0ALQBTAEsAIABzAGUAcgB0AGkAZgBpAGsAYQBhAHQAaQBkAGUAIABr -AGkAbgBuAGkAdABhAG0AaQBzAGUAawBzMCEGCCsGAQUFBwIBFhVodHRwOi8vd3d3LnNrLmVlL2Nw -cy8wKwYDVR0fBCQwIjAgoB6gHIYaaHR0cDovL3d3dy5zay5lZS9qdXVyL2NybC8wHQYDVR0OBBYE -FASqekej5ImvGs8KQKcYP2/v6X2+MB8GA1UdIwQYMBaAFASqekej5ImvGs8KQKcYP2/v6X2+MA4G -A1UdDwEB/wQEAwIB5jANBgkqhkiG9w0BAQUFAAOCAQEAe8EYlFOiCfP+JmeaUOTDBS8rNXiRTHyo -ERF5TElZrMj3hWVcRrs7EKACr81Ptcw2Kuxd/u+gkcm2k298gFTsxwhwDY77guwqYHhpNjbRxZyL -abVAyJRld/JXIWY7zoVAtjNjGr95HvxcHdMdkxuLDF2FvZkwMhgJkVLpfKG6/2SSmuz+Ne6ML678 -IIbsSt4beDI3poHSna9aEhbKmVv8b20OxaAehsmR0FyYgl9jDIpaq9iVpszLita/ZEuOyoqysOkh -Mp6qqIWYNIE5ITuoOlIyPfZrN4YGWhWY3PARZv40ILcD9EEQfTmEeZZyY7aWAuVrua0ZTbvGRNs2 -yyqcjg== ------END CERTIFICATE----- - -Hongkong Post Root CA 1 -======================= ------BEGIN CERTIFICATE----- -MIIDMDCCAhigAwIBAgICA+gwDQYJKoZIhvcNAQEFBQAwRzELMAkGA1UEBhMCSEsxFjAUBgNVBAoT -DUhvbmdrb25nIFBvc3QxIDAeBgNVBAMTF0hvbmdrb25nIFBvc3QgUm9vdCBDQSAxMB4XDTAzMDUx -NTA1MTMxNFoXDTIzMDUxNTA0NTIyOVowRzELMAkGA1UEBhMCSEsxFjAUBgNVBAoTDUhvbmdrb25n -IFBvc3QxIDAeBgNVBAMTF0hvbmdrb25nIFBvc3QgUm9vdCBDQSAxMIIBIjANBgkqhkiG9w0BAQEF -AAOCAQ8AMIIBCgKCAQEArP84tulmAknjorThkPlAj3n54r15/gK97iSSHSL22oVyaf7XPwnU3ZG1 -ApzQjVrhVcNQhrkpJsLj2aDxaQMoIIBFIi1WpztUlVYiWR8o3x8gPW2iNr4joLFutbEnPzlTCeqr -auh0ssJlXI6/fMN4hM2eFvz1Lk8gKgifd/PFHsSaUmYeSF7jEAaPIpjhZY4bXSNmO7ilMlHIhqqh -qZ5/dpTCpmy3QfDVyAY45tQM4vM7TG1QjMSDJ8EThFk9nnV0ttgCXjqQesBCNnLsak3c78QA3xMY -V18meMjWCnl3v/evt3a5pQuEF10Q6m/hq5URX208o1xNg1vysxmKgIsLhwIDAQABoyYwJDASBgNV -HRMBAf8ECDAGAQH/AgEDMA4GA1UdDwEB/wQEAwIBxjANBgkqhkiG9w0BAQUFAAOCAQEADkbVPK7i -h9legYsCmEEIjEy82tvuJxuC52pF7BaLT4Wg87JwvVqWuspube5Gi27nKi6Wsxkz67SfqLI37pio -l7Yutmcn1KZJ/RyTZXaeQi/cImyaT/JaFTmxcdcrUehtHJjA2Sr0oYJ71clBoiMBdDhViw+5Lmei -IAQ32pwL0xch4I+XeTRvhEgCIDMb5jREn5Fw9IBehEPCKdJsEhTkYY2sEJCehFC78JZvRZ+K88ps -T/oROhUVRsPNH4NbLUES7VBnQRM9IauUiqpOfMGx+6fWtScvl6tu4B3i0RwsH0Ti/L6RoZz71ilT -c4afU9hDDl3WY4JxHYB0yvbiAmvZWg== ------END CERTIFICATE----- - -SecureSign RootCA11 -=================== ------BEGIN CERTIFICATE----- -MIIDbTCCAlWgAwIBAgIBATANBgkqhkiG9w0BAQUFADBYMQswCQYDVQQGEwJKUDErMCkGA1UEChMi -SmFwYW4gQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcywgSW5jLjEcMBoGA1UEAxMTU2VjdXJlU2lnbiBS -b290Q0ExMTAeFw0wOTA0MDgwNDU2NDdaFw0yOTA0MDgwNDU2NDdaMFgxCzAJBgNVBAYTAkpQMSsw -KQYDVQQKEyJKYXBhbiBDZXJ0aWZpY2F0aW9uIFNlcnZpY2VzLCBJbmMuMRwwGgYDVQQDExNTZWN1 -cmVTaWduIFJvb3RDQTExMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA/XeqpRyQBTvL -TJszi1oURaTnkBbR31fSIRCkF/3frNYfp+TbfPfs37gD2pRY/V1yfIw/XwFndBWW4wI8h9uuywGO -wvNmxoVF9ALGOrVisq/6nL+k5tSAMJjzDbaTj6nU2DbysPyKyiyhFTOVMdrAG/LuYpmGYz+/3ZMq -g6h2uRMft85OQoWPIucuGvKVCbIFtUROd6EgvanyTgp9UK31BQ1FT0Zx/Sg+U/sE2C3XZR1KG/rP -O7AxmjVuyIsG0wCR8pQIZUyxNAYAeoni8McDWc/V1uinMrPmmECGxc0nEovMe863ETxiYAcjPitA -bpSACW22s293bzUIUPsCh8U+iQIDAQABo0IwQDAdBgNVHQ4EFgQUW/hNT7KlhtQ60vFjmqC+CfZX -t94wDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAKCh -OBZmLqdWHyGcBvod7bkixTgm2E5P7KN/ed5GIaGHd48HCJqypMWvDzKYC3xmKbabfSVSSUOrTC4r -bnpwrxYO4wJs+0LmGJ1F2FXI6Dvd5+H0LgscNFxsWEr7jIhQX5Ucv+2rIrVls4W6ng+4reV6G4pQ -Oh29Dbx7VFALuUKvVaAYga1lme++5Jy/xIWrQbJUb9wlze144o4MjQlJ3WN7WmmWAiGovVJZ6X01 -y8hSyn+B/tlr0/cR7SXf+Of5pPpyl4RTDaXQMhhRdlkUbA/r7F+AjHVDg8OFmP9Mni0N5HeDk061 -lgeLKBObjBmNQSdJQO7e5iNEOdyhIta6A/I= ------END CERTIFICATE----- - -ACEDICOM Root -============= ------BEGIN CERTIFICATE----- -MIIFtTCCA52gAwIBAgIIYY3HhjsBggUwDQYJKoZIhvcNAQEFBQAwRDEWMBQGA1UEAwwNQUNFRElD -T00gUm9vdDEMMAoGA1UECwwDUEtJMQ8wDQYDVQQKDAZFRElDT00xCzAJBgNVBAYTAkVTMB4XDTA4 -MDQxODE2MjQyMloXDTI4MDQxMzE2MjQyMlowRDEWMBQGA1UEAwwNQUNFRElDT00gUm9vdDEMMAoG -A1UECwwDUEtJMQ8wDQYDVQQKDAZFRElDT00xCzAJBgNVBAYTAkVTMIICIjANBgkqhkiG9w0BAQEF -AAOCAg8AMIICCgKCAgEA/5KV4WgGdrQsyFhIyv2AVClVYyT/kGWbEHV7w2rbYgIB8hiGtXxaOLHk -WLn709gtn70yN78sFW2+tfQh0hOR2QetAQXW8713zl9CgQr5auODAKgrLlUTY4HKRxx7XBZXehuD -YAQ6PmXDzQHe3qTWDLqO3tkE7hdWIpuPY/1NFgu3e3eM+SW10W2ZEi5PGrjm6gSSrj0RuVFCPYew -MYWveVqc/udOXpJPQ/yrOq2lEiZmueIM15jO1FillUAKt0SdE3QrwqXrIhWYENiLxQSfHY9g5QYb -m8+5eaA9oiM/Qj9r+hwDezCNzmzAv+YbX79nuIQZ1RXve8uQNjFiybwCq0Zfm/4aaJQ0PZCOrfbk -HQl/Sog4P75n/TSW9R28MHTLOO7VbKvU/PQAtwBbhTIWdjPp2KOZnQUAqhbm84F9b32qhm2tFXTT -xKJxqvQUfecyuB+81fFOvW8XAjnXDpVCOscAPukmYxHqC9FK/xidstd7LzrZlvvoHpKuE1XI2Sf2 -3EgbsCTBheN3nZqk8wwRHQ3ItBTutYJXCb8gWH8vIiPYcMt5bMlL8qkqyPyHK9caUPgn6C9D4zq9 -2Fdx/c6mUlv53U3t5fZvie27k5x2IXXwkkwp9y+cAS7+UEaeZAwUswdbxcJzbPEHXEUkFDWug/Fq -TYl6+rPYLWbwNof1K1MCAwEAAaOBqjCBpzAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFKaz -4SsrSbbXc6GqlPUB53NlTKxQMA4GA1UdDwEB/wQEAwIBhjAdBgNVHQ4EFgQUprPhKytJttdzoaqU -9QHnc2VMrFAwRAYDVR0gBD0wOzA5BgRVHSAAMDEwLwYIKwYBBQUHAgEWI2h0dHA6Ly9hY2VkaWNv -bS5lZGljb21ncm91cC5jb20vZG9jMA0GCSqGSIb3DQEBBQUAA4ICAQDOLAtSUWImfQwng4/F9tqg -aHtPkl7qpHMyEVNEskTLnewPeUKzEKbHDZ3Ltvo/Onzqv4hTGzz3gvoFNTPhNahXwOf9jU8/kzJP -eGYDdwdY6ZXIfj7QeQCM8htRM5u8lOk6e25SLTKeI6RF+7YuE7CLGLHdztUdp0J/Vb77W7tH1Pwk -zQSulgUV1qzOMPPKC8W64iLgpq0i5ALudBF/TP94HTXa5gI06xgSYXcGCRZj6hitoocf8seACQl1 -ThCojz2GuHURwCRiipZ7SkXp7FnFvmuD5uHorLUwHv4FB4D54SMNUI8FmP8sX+g7tq3PgbUhh8oI -KiMnMCArz+2UW6yyetLHKKGKC5tNSixthT8Jcjxn4tncB7rrZXtaAWPWkFtPF2Y9fwsZo5NjEFIq -nxQWWOLcpfShFosOkYuByptZ+thrkQdlVV9SH686+5DdaaVbnG0OLLb6zqylfDJKZ0DcMDQj3dcE -I2bw/FWAp/tmGYI1Z2JwOV5vx+qQQEQIHriy1tvuWacNGHk0vFQYXlPKNFHtRQrmjseCNj6nOGOp -MCwXEGCSn1WHElkQwg9naRHMTh5+Spqtr0CodaxWkHS4oJyleW/c6RrIaQXpuvoDs3zk4E7Czp3o -tkYNbn5XOmeUwssfnHdKZ05phkOTOPu220+DkdRgfks+KzgHVZhepA== ------END CERTIFICATE----- - -Verisign Class 3 Public Primary Certification Authority -======================================================= ------BEGIN CERTIFICATE----- -MIICPDCCAaUCEDyRMcsf9tAbDpq40ES/Er4wDQYJKoZIhvcNAQEFBQAwXzELMAkGA1UEBhMCVVMx -FzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAzIFB1YmxpYyBQcmltYXJ5 -IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTk2MDEyOTAwMDAwMFoXDTI4MDgwMjIzNTk1OVow -XzELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAz -IFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGfMA0GCSqGSIb3DQEBAQUA -A4GNADCBiQKBgQDJXFme8huKARS0EN8EQNvjV69qRUCPhAwL0TPZ2RHP7gJYHyX3KqhEBarsAx94 -f56TuZoAqiN91qyFomNFx3InzPRMxnVx0jnvT0Lwdd8KkMaOIG+YD/isI19wKTakyYbnsZogy1Ol -hec9vn2a/iRFM9x2Fe0PonFkTGUugWhFpwIDAQABMA0GCSqGSIb3DQEBBQUAA4GBABByUqkFFBky -CEHwxWsKzH4PIRnN5GfcX6kb5sroc50i2JhucwNhkcV8sEVAbkSdjbCxlnRhLQ2pRdKkkirWmnWX -bj9T/UWZYB2oK0z5XqcJ2HUw19JlYD1n1khVdWk/kfVIC0dpImmClr7JyDiGSnoscxlIaU5rfGW/ -D/xwzoiQ ------END CERTIFICATE----- - -Microsec e-Szigno Root CA 2009 -============================== ------BEGIN CERTIFICATE----- -MIIECjCCAvKgAwIBAgIJAMJ+QwRORz8ZMA0GCSqGSIb3DQEBCwUAMIGCMQswCQYDVQQGEwJIVTER -MA8GA1UEBwwIQnVkYXBlc3QxFjAUBgNVBAoMDU1pY3Jvc2VjIEx0ZC4xJzAlBgNVBAMMHk1pY3Jv -c2VjIGUtU3ppZ25vIFJvb3QgQ0EgMjAwOTEfMB0GCSqGSIb3DQEJARYQaW5mb0BlLXN6aWduby5o -dTAeFw0wOTA2MTYxMTMwMThaFw0yOTEyMzAxMTMwMThaMIGCMQswCQYDVQQGEwJIVTERMA8GA1UE -BwwIQnVkYXBlc3QxFjAUBgNVBAoMDU1pY3Jvc2VjIEx0ZC4xJzAlBgNVBAMMHk1pY3Jvc2VjIGUt -U3ppZ25vIFJvb3QgQ0EgMjAwOTEfMB0GCSqGSIb3DQEJARYQaW5mb0BlLXN6aWduby5odTCCASIw -DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOn4j/NjrdqG2KfgQvvPkd6mJviZpWNwrZuuyjNA -fW2WbqEORO7hE52UQlKavXWFdCyoDh2Tthi3jCyoz/tccbna7P7ofo/kLx2yqHWH2Leh5TvPmUpG -0IMZfcChEhyVbUr02MelTTMuhTlAdX4UfIASmFDHQWe4oIBhVKZsTh/gnQ4H6cm6M+f+wFUoLAKA -pxn1ntxVUwOXewdI/5n7N4okxFnMUBBjjqqpGrCEGob5X7uxUG6k0QrM1XF+H6cbfPVTbiJfyyvm -1HxdrtbCxkzlBQHZ7Vf8wSN5/PrIJIOV87VqUQHQd9bpEqH5GoP7ghu5sJf0dgYzQ0mg/wu1+rUC -AwEAAaOBgDB+MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBTLD8bf -QkPMPcu1SCOhGnqmKrs0aDAfBgNVHSMEGDAWgBTLD8bfQkPMPcu1SCOhGnqmKrs0aDAbBgNVHREE -FDASgRBpbmZvQGUtc3ppZ25vLmh1MA0GCSqGSIb3DQEBCwUAA4IBAQDJ0Q5eLtXMs3w+y/w9/w0o -lZMEyL/azXm4Q5DwpL7v8u8hmLzU1F0G9u5C7DBsoKqpyvGvivo/C3NqPuouQH4frlRheesuCDfX -I/OMn74dseGkddug4lQUsbocKaQY9hK6ohQU4zE1yED/t+AFdlfBHFny+L/k7SViXITwfn4fs775 -tyERzAMBVnCnEJIeGzSBHq2cGsMEPO0CYdYeBvNfOofyK/FFh+U9rNHHV4S9a67c2Pm2G2JwCz02 -yULyMtd6YebS2z3PyKnJm9zbWETXbzivf3jTo60adbocwTZ8jx5tHMN1Rq41Bab2XD0h7lbwyYIi -LXpUq3DDfSJlgnCW ------END CERTIFICATE----- - -E-Guven Kok Elektronik Sertifika Hizmet Saglayicisi -=================================================== ------BEGIN CERTIFICATE----- -MIIDtjCCAp6gAwIBAgIQRJmNPMADJ72cdpW56tustTANBgkqhkiG9w0BAQUFADB1MQswCQYDVQQG -EwJUUjEoMCYGA1UEChMfRWxla3Ryb25payBCaWxnaSBHdXZlbmxpZ2kgQS5TLjE8MDoGA1UEAxMz -ZS1HdXZlbiBLb2sgRWxla3Ryb25payBTZXJ0aWZpa2EgSGl6bWV0IFNhZ2xheWljaXNpMB4XDTA3 -MDEwNDExMzI0OFoXDTE3MDEwNDExMzI0OFowdTELMAkGA1UEBhMCVFIxKDAmBgNVBAoTH0VsZWt0 -cm9uaWsgQmlsZ2kgR3V2ZW5saWdpIEEuUy4xPDA6BgNVBAMTM2UtR3V2ZW4gS29rIEVsZWt0cm9u -aWsgU2VydGlmaWthIEhpem1ldCBTYWdsYXlpY2lzaTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC -AQoCggEBAMMSIJ6wXgBljU5Gu4Bc6SwGl9XzcslwuedLZYDBS75+PNdUMZTe1RK6UxYC6lhj71vY -8+0qGqpxSKPcEC1fX+tcS5yWCEIlKBHMilpiAVDV6wlTL/jDj/6z/P2douNffb7tC+Bg62nsM+3Y -jfsSSYMAyYuXjDtzKjKzEve5TfL0TW3H5tYmNwjy2f1rXKPlSFxYvEK+A1qBuhw1DADT9SN+cTAI -JjjcJRFHLfO6IxClv7wC90Nex/6wN1CZew+TzuZDLMN+DfIcQ2Zgy2ExR4ejT669VmxMvLz4Bcpk -9Ok0oSy1c+HCPujIyTQlCFzz7abHlJ+tiEMl1+E5YP6sOVkCAwEAAaNCMEAwDgYDVR0PAQH/BAQD -AgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFJ/uRLOU1fqRTy7ZVZoEVtstxNulMA0GCSqG -SIb3DQEBBQUAA4IBAQB/X7lTW2M9dTLn+sR0GstG30ZpHFLPqk/CaOv/gKlR6D1id4k9CnU58W5d -F4dvaAXBlGzZXd/aslnLpRCKysw5zZ/rTt5S/wzw9JKp8mxTq5vSR6AfdPebmvEvFZ96ZDAYBzwq -D2fK/A+JYZ1lpTzlvBNbCNvj/+27BrtqBrF6T2XGgv0enIu1De5Iu7i9qgi0+6N8y5/NkHZchpZ4 -Vwpm+Vganf2XKWDeEaaQHBkc7gGWIjQ0LpH5t8Qn0Xvmv/uARFoW5evg1Ao4vOSR49XrXMGs3xtq -fJ7lddK2l4fbzIcrQzqECK+rPNv3PGYxhrCdU3nt+CPeQuMtgvEP5fqX ------END CERTIFICATE----- - -GlobalSign Root CA - R3 -======================= ------BEGIN CERTIFICATE----- -MIIDXzCCAkegAwIBAgILBAAAAAABIVhTCKIwDQYJKoZIhvcNAQELBQAwTDEgMB4GA1UECxMXR2xv -YmFsU2lnbiBSb290IENBIC0gUjMxEzARBgNVBAoTCkdsb2JhbFNpZ24xEzARBgNVBAMTCkdsb2Jh -bFNpZ24wHhcNMDkwMzE4MTAwMDAwWhcNMjkwMzE4MTAwMDAwWjBMMSAwHgYDVQQLExdHbG9iYWxT -aWduIFJvb3QgQ0EgLSBSMzETMBEGA1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2ln -bjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMwldpB5BngiFvXAg7aEyiie/QV2EcWt -iHL8RgJDx7KKnQRfJMsuS+FggkbhUqsMgUdwbN1k0ev1LKMPgj0MK66X17YUhhB5uzsTgHeMCOFJ -0mpiLx9e+pZo34knlTifBtc+ycsmWQ1z3rDI6SYOgxXG71uL0gRgykmmKPZpO/bLyCiR5Z2KYVc3 -rHQU3HTgOu5yLy6c+9C7v/U9AOEGM+iCK65TpjoWc4zdQQ4gOsC0p6Hpsk+QLjJg6VfLuQSSaGjl -OCZgdbKfd/+RFO+uIEn8rUAVSNECMWEZXriX7613t2Saer9fwRPvm2L7DWzgVGkWqQPabumDk3F2 -xmmFghcCAwEAAaNCMEAwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYE -FI/wS3+oLkUkrk1Q+mOai97i3Ru8MA0GCSqGSIb3DQEBCwUAA4IBAQBLQNvAUKr+yAzv95ZURUm7 -lgAJQayzE4aGKAczymvmdLm6AC2upArT9fHxD4q/c2dKg8dEe3jgr25sbwMpjjM5RcOO5LlXbKr8 -EpbsU8Yt5CRsuZRj+9xTaGdWPoO4zzUhw8lo/s7awlOqzJCK6fBdRoyV3XpYKBovHd7NADdBj+1E -bddTKJd+82cEHhXXipa0095MJ6RMG3NzdvQXmcIfeg7jLQitChws/zyrVQ4PkX4268NXSb7hLi18 -YIvDQVETI53O9zJrlAGomecsMx86OyXShkDOOyyGeMlhLxS67ttVb9+E7gUJTb0o2HLO02JQZR7r -kpeDMdmztcpHWD9f ------END CERTIFICATE----- - -TC TrustCenter Universal CA III -=============================== ------BEGIN CERTIFICATE----- -MIID4TCCAsmgAwIBAgIOYyUAAQACFI0zFQLkbPQwDQYJKoZIhvcNAQEFBQAwezELMAkGA1UEBhMC -REUxHDAaBgNVBAoTE1RDIFRydXN0Q2VudGVyIEdtYkgxJDAiBgNVBAsTG1RDIFRydXN0Q2VudGVy -IFVuaXZlcnNhbCBDQTEoMCYGA1UEAxMfVEMgVHJ1c3RDZW50ZXIgVW5pdmVyc2FsIENBIElJSTAe -Fw0wOTA5MDkwODE1MjdaFw0yOTEyMzEyMzU5NTlaMHsxCzAJBgNVBAYTAkRFMRwwGgYDVQQKExNU -QyBUcnVzdENlbnRlciBHbWJIMSQwIgYDVQQLExtUQyBUcnVzdENlbnRlciBVbml2ZXJzYWwgQ0Ex -KDAmBgNVBAMTH1RDIFRydXN0Q2VudGVyIFVuaXZlcnNhbCBDQSBJSUkwggEiMA0GCSqGSIb3DQEB -AQUAA4IBDwAwggEKAoIBAQDC2pxisLlxErALyBpXsq6DFJmzNEubkKLF5+cvAqBNLaT6hdqbJYUt -QCggbergvbFIgyIpRJ9Og+41URNzdNW88jBmlFPAQDYvDIRlzg9uwliT6CwLOunBjvvya8o84pxO -juT5fdMnnxvVZ3iHLX8LR7PH6MlIfK8vzArZQe+f/prhsq75U7Xl6UafYOPfjdN/+5Z+s7Vy+Eut -CHnNaYlAJ/Uqwa1D7KRTyGG299J5KmcYdkhtWyUB0SbFt1dpIxVbYYqt8Bst2a9c8SaQaanVDED1 -M4BDj5yjdipFtK+/fz6HP3bFzSreIMUWWMv5G/UPyw0RUmS40nZid4PxWJ//AgMBAAGjYzBhMB8G -A1UdIwQYMBaAFFbn4VslQ4Dg9ozhcbyO5YAvxEjiMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/ -BAQDAgEGMB0GA1UdDgQWBBRW5+FbJUOA4PaM4XG8juWAL8RI4jANBgkqhkiG9w0BAQUFAAOCAQEA -g8ev6n9NCjw5sWi+e22JLumzCecYV42FmhfzdkJQEw/HkG8zrcVJYCtsSVgZ1OK+t7+rSbyUyKu+ -KGwWaODIl0YgoGhnYIg5IFHYaAERzqf2EQf27OysGh+yZm5WZ2B6dF7AbZc2rrUNXWZzwCUyRdhK -BgePxLcHsU0GDeGl6/R1yrqc0L2z0zIkTO5+4nYES0lT2PLpVDP85XEfPRRclkvxOvIAu2y0+pZV -CIgJwcyRGSmwIC3/yzikQOEXvnlhgP8HA4ZMTnsGnxGGjYnuJ8Tb4rwZjgvDwxPHLQNjO9Po5KIq -woIIlBZU8O8fJ5AluA0OKBtHd0e9HKgl8ZS0Zg== ------END CERTIFICATE----- - -Autoridad de Certificacion Firmaprofesional CIF A62634068 -========================================================= ------BEGIN CERTIFICATE----- -MIIGFDCCA/ygAwIBAgIIU+w77vuySF8wDQYJKoZIhvcNAQEFBQAwUTELMAkGA1UEBhMCRVMxQjBA -BgNVBAMMOUF1dG9yaWRhZCBkZSBDZXJ0aWZpY2FjaW9uIEZpcm1hcHJvZmVzaW9uYWwgQ0lGIEE2 -MjYzNDA2ODAeFw0wOTA1MjAwODM4MTVaFw0zMDEyMzEwODM4MTVaMFExCzAJBgNVBAYTAkVTMUIw -QAYDVQQDDDlBdXRvcmlkYWQgZGUgQ2VydGlmaWNhY2lvbiBGaXJtYXByb2Zlc2lvbmFsIENJRiBB -NjI2MzQwNjgwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDKlmuO6vj78aI14H9M2uDD -Utd9thDIAl6zQyrET2qyyhxdKJp4ERppWVevtSBC5IsP5t9bpgOSL/UR5GLXMnE42QQMcas9UX4P -B99jBVzpv5RvwSmCwLTaUbDBPLutN0pcyvFLNg4kq7/DhHf9qFD0sefGL9ItWY16Ck6WaVICqjaY -7Pz6FIMMNx/Jkjd/14Et5cS54D40/mf0PmbR0/RAz15iNA9wBj4gGFrO93IbJWyTdBSTo3OxDqqH -ECNZXyAFGUftaI6SEspd/NYrspI8IM/hX68gvqB2f3bl7BqGYTM+53u0P6APjqK5am+5hyZvQWyI -plD9amML9ZMWGxmPsu2bm8mQ9QEM3xk9Dz44I8kvjwzRAv4bVdZO0I08r0+k8/6vKtMFnXkIoctX -MbScyJCyZ/QYFpM6/EfY0XiWMR+6KwxfXZmtY4laJCB22N/9q06mIqqdXuYnin1oKaPnirjaEbsX -LZmdEyRG98Xi2J+Of8ePdG1asuhy9azuJBCtLxTa/y2aRnFHvkLfuwHb9H/TKI8xWVvTyQKmtFLK -bpf7Q8UIJm+K9Lv9nyiqDdVF8xM6HdjAeI9BZzwelGSuewvF6NkBiDkal4ZkQdU7hwxu+g/GvUgU -vzlN1J5Bto+WHWOWk9mVBngxaJ43BjuAiUVhOSPHG0SjFeUc+JIwuwIDAQABo4HvMIHsMBIGA1Ud -EwEB/wQIMAYBAf8CAQEwDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBRlzeurNR4APn7VdMActHNH -DhpkLzCBpgYDVR0gBIGeMIGbMIGYBgRVHSAAMIGPMC8GCCsGAQUFBwIBFiNodHRwOi8vd3d3LmZp -cm1hcHJvZmVzaW9uYWwuY29tL2NwczBcBggrBgEFBQcCAjBQHk4AUABhAHMAZQBvACAAZABlACAA -bABhACAAQgBvAG4AYQBuAG8AdgBhACAANAA3ACAAQgBhAHIAYwBlAGwAbwBuAGEAIAAwADgAMAAx -ADcwDQYJKoZIhvcNAQEFBQADggIBABd9oPm03cXF661LJLWhAqvdpYhKsg9VSytXjDvlMd3+xDLx -51tkljYyGOylMnfX40S2wBEqgLk9am58m9Ot/MPWo+ZkKXzR4Tgegiv/J2Wv+xYVxC5xhOW1//qk -R71kMrv2JYSiJ0L1ILDCExARzRAVukKQKtJE4ZYm6zFIEv0q2skGz3QeqUvVhyj5eTSSPi5E6PaP -T481PyWzOdxjKpBrIF/EUhJOlywqrJ2X3kjyo2bbwtKDlaZmp54lD+kLM5FlClrD2VQS3a/DTg4f -Jl4N3LON7NWBcN7STyQF82xO9UxJZo3R/9ILJUFI/lGExkKvgATP0H5kSeTy36LssUzAKh3ntLFl -osS88Zj0qnAHY7S42jtM+kAiMFsRpvAFDsYCA0irhpuF3dvd6qJ2gHN99ZwExEWN57kci57q13XR -crHedUTnQn3iV2t93Jm8PYMo6oCTjcVMZcFwgbg4/EMxsvYDNEeyrPsiBsse3RdHHF9mudMaotoR -saS8I8nkvof/uZS2+F0gStRf571oe2XyFR7SOqkt6dhrJKyXWERHrVkY8SFlcN7ONGCoQPHzPKTD -KCOM/iczQ0CgFzzr6juwcqajuUpLXhZI9LK8yIySxZ2frHI2vDSANGupi5LAuBft7HZT9SQBjLMi -6Et8Vcad+qMUu2WFbm5PEn4KPJ2V ------END CERTIFICATE----- - -Izenpe.com -========== ------BEGIN CERTIFICATE----- -MIIF8TCCA9mgAwIBAgIQALC3WhZIX7/hy/WL1xnmfTANBgkqhkiG9w0BAQsFADA4MQswCQYDVQQG -EwJFUzEUMBIGA1UECgwLSVpFTlBFIFMuQS4xEzARBgNVBAMMCkl6ZW5wZS5jb20wHhcNMDcxMjEz -MTMwODI4WhcNMzcxMjEzMDgyNzI1WjA4MQswCQYDVQQGEwJFUzEUMBIGA1UECgwLSVpFTlBFIFMu -QS4xEzARBgNVBAMMCkl6ZW5wZS5jb20wggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDJ -03rKDx6sp4boFmVqscIbRTJxldn+EFvMr+eleQGPicPK8lVx93e+d5TzcqQsRNiekpsUOqHnJJAK -ClaOxdgmlOHZSOEtPtoKct2jmRXagaKH9HtuJneJWK3W6wyyQXpzbm3benhB6QiIEn6HLmYRY2xU -+zydcsC8Lv/Ct90NduM61/e0aL6i9eOBbsFGb12N4E3GVFWJGjMxCrFXuaOKmMPsOzTFlUFpfnXC -PCDFYbpRR6AgkJOhkEvzTnyFRVSa0QUmQbC1TR0zvsQDyCV8wXDbO/QJLVQnSKwv4cSsPsjLkkxT -OTcj7NMB+eAJRE1NZMDhDVqHIrytG6P+JrUV86f8hBnp7KGItERphIPzidF0BqnMC9bC3ieFUCbK -F7jJeodWLBoBHmy+E60QrLUk9TiRodZL2vG70t5HtfG8gfZZa88ZU+mNFctKy6lvROUbQc/hhqfK -0GqfvEyNBjNaooXlkDWgYlwWTvDjovoDGrQscbNYLN57C9saD+veIR8GdwYDsMnvmfzAuU8Lhij+ -0rnq49qlw0dpEuDb8PYZi+17cNcC1u2HGCgsBCRMd+RIihrGO5rUD8r6ddIBQFqNeb+Lz0vPqhbB -leStTIo+F5HUsWLlguWABKQDfo2/2n+iD5dPDNMN+9fR5XJ+HMh3/1uaD7euBUbl8agW7EekFwID -AQABo4H2MIHzMIGwBgNVHREEgagwgaWBD2luZm9AaXplbnBlLmNvbaSBkTCBjjFHMEUGA1UECgw+ -SVpFTlBFIFMuQS4gLSBDSUYgQTAxMzM3MjYwLVJNZXJjLlZpdG9yaWEtR2FzdGVpeiBUMTA1NSBG -NjIgUzgxQzBBBgNVBAkMOkF2ZGEgZGVsIE1lZGl0ZXJyYW5lbyBFdG9yYmlkZWEgMTQgLSAwMTAx -MCBWaXRvcmlhLUdhc3RlaXowDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0O -BBYEFB0cZQ6o8iV7tJHP5LGx5r1VdGwFMA0GCSqGSIb3DQEBCwUAA4ICAQB4pgwWSp9MiDrAyw6l -Fn2fuUhfGI8NYjb2zRlrrKvV9pF9rnHzP7MOeIWblaQnIUdCSnxIOvVFfLMMjlF4rJUT3sb9fbga -kEyrkgPH7UIBzg/YsfqikuFgba56awmqxinuaElnMIAkejEWOVt+8Rwu3WwJrfIxwYJOubv5vr8q -hT/AQKM6WfxZSzwoJNu0FXWuDYi6LnPAvViH5ULy617uHjAimcs30cQhbIHsvm0m5hzkQiCeR7Cs -g1lwLDXWrzY0tM07+DKo7+N4ifuNRSzanLh+QBxh5z6ikixL8s36mLYp//Pye6kfLqCTVyvehQP5 -aTfLnnhqBbTFMXiJ7HqnheG5ezzevh55hM6fcA5ZwjUukCox2eRFekGkLhObNA5me0mrZJfQRsN5 -nXJQY6aYWwa9SG3YOYNw6DXwBdGqvOPbyALqfP2C2sJbUjWumDqtujWTI6cfSN01RpiyEGjkpTHC -ClguGYEQyVB1/OpaFs4R1+7vUIgtYf8/QnMFlEPVjjxOAToZpR9GTnfQXeWBIiGH/pR9hNiTrdZo -Q0iy2+tzJOeRf1SktoA+naM8THLCV8Sg1Mw4J87VBp6iSNnpn86CcDaTmjvfliHjWbcM2pE38P1Z -WrOZyGlsQyYBNWNgVYkDOnXYukrZVP/u3oDYLdE41V4tC5h9Pmzb/CaIxw== ------END CERTIFICATE----- - -Chambers of Commerce Root - 2008 -================================ ------BEGIN CERTIFICATE----- -MIIHTzCCBTegAwIBAgIJAKPaQn6ksa7aMA0GCSqGSIb3DQEBBQUAMIGuMQswCQYDVQQGEwJFVTFD -MEEGA1UEBxM6TWFkcmlkIChzZWUgY3VycmVudCBhZGRyZXNzIGF0IHd3dy5jYW1lcmZpcm1hLmNv -bS9hZGRyZXNzKTESMBAGA1UEBRMJQTgyNzQzMjg3MRswGQYDVQQKExJBQyBDYW1lcmZpcm1hIFMu -QS4xKTAnBgNVBAMTIENoYW1iZXJzIG9mIENvbW1lcmNlIFJvb3QgLSAyMDA4MB4XDTA4MDgwMTEy -Mjk1MFoXDTM4MDczMTEyMjk1MFowga4xCzAJBgNVBAYTAkVVMUMwQQYDVQQHEzpNYWRyaWQgKHNl -ZSBjdXJyZW50IGFkZHJlc3MgYXQgd3d3LmNhbWVyZmlybWEuY29tL2FkZHJlc3MpMRIwEAYDVQQF -EwlBODI3NDMyODcxGzAZBgNVBAoTEkFDIENhbWVyZmlybWEgUy5BLjEpMCcGA1UEAxMgQ2hhbWJl -cnMgb2YgQ29tbWVyY2UgUm9vdCAtIDIwMDgwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoIC -AQCvAMtwNyuAWko6bHiUfaN/Gh/2NdW928sNRHI+JrKQUrpjOyhYb6WzbZSm891kDFX29ufyIiKA -XuFixrYp4YFs8r/lfTJqVKAyGVn+H4vXPWCGhSRv4xGzdz4gljUha7MI2XAuZPeEklPWDrCQiorj -h40G072QDuKZoRuGDtqaCrsLYVAGUvGef3bsyw/QHg3PmTA9HMRFEFis1tPo1+XqxQEHd9ZR5gN/ -ikilTWh1uem8nk4ZcfUyS5xtYBkL+8ydddy/Js2Pk3g5eXNeJQ7KXOt3EgfLZEFHcpOrUMPrCXZk -NNI5t3YRCQ12RcSprj1qr7V9ZS+UWBDsXHyvfuK2GNnQm05aSd+pZgvMPMZ4fKecHePOjlO+Bd5g -D2vlGts/4+EhySnB8esHnFIbAURRPHsl18TlUlRdJQfKFiC4reRB7noI/plvg6aRArBsNlVq5331 -lubKgdaX8ZSD6e2wsWsSaR6s+12pxZjptFtYer49okQ6Y1nUCyXeG0+95QGezdIp1Z8XGQpvvwyQ -0wlf2eOKNcx5Wk0ZN5K3xMGtr/R5JJqyAQuxr1yW84Ay+1w9mPGgP0revq+ULtlVmhduYJ1jbLhj -ya6BXBg14JC7vjxPNyK5fuvPnnchpj04gftI2jE9K+OJ9dC1vX7gUMQSibMjmhAxhduub+84Mxh2 -EQIDAQABo4IBbDCCAWgwEgYDVR0TAQH/BAgwBgEB/wIBDDAdBgNVHQ4EFgQU+SSsD7K1+HnA+mCI -G8TZTQKeFxkwgeMGA1UdIwSB2zCB2IAU+SSsD7K1+HnA+mCIG8TZTQKeFxmhgbSkgbEwga4xCzAJ -BgNVBAYTAkVVMUMwQQYDVQQHEzpNYWRyaWQgKHNlZSBjdXJyZW50IGFkZHJlc3MgYXQgd3d3LmNh -bWVyZmlybWEuY29tL2FkZHJlc3MpMRIwEAYDVQQFEwlBODI3NDMyODcxGzAZBgNVBAoTEkFDIENh -bWVyZmlybWEgUy5BLjEpMCcGA1UEAxMgQ2hhbWJlcnMgb2YgQ29tbWVyY2UgUm9vdCAtIDIwMDiC -CQCj2kJ+pLGu2jAOBgNVHQ8BAf8EBAMCAQYwPQYDVR0gBDYwNDAyBgRVHSAAMCowKAYIKwYBBQUH -AgEWHGh0dHA6Ly9wb2xpY3kuY2FtZXJmaXJtYS5jb20wDQYJKoZIhvcNAQEFBQADggIBAJASryI1 -wqM58C7e6bXpeHxIvj99RZJe6dqxGfwWPJ+0W2aeaufDuV2I6A+tzyMP3iU6XsxPpcG1Lawk0lgH -3qLPaYRgM+gQDROpI9CF5Y57pp49chNyM/WqfcZjHwj0/gF/JM8rLFQJ3uIrbZLGOU8W6jx+ekbU -RWpGqOt1glanq6B8aBMz9p0w8G8nOSQjKpD9kCk18pPfNKXG9/jvjA9iSnyu0/VU+I22mlaHFoI6 -M6taIgj3grrqLuBHmrS1RaMFO9ncLkVAO+rcf+g769HsJtg1pDDFOqxXnrN2pSB7+R5KBWIBpih1 -YJeSDW4+TTdDDZIVnBgizVGZoCkaPF+KMjNbMMeJL0eYD6MDxvbxrN8y8NmBGuScvfaAFPDRLLmF -9dijscilIeUcE5fuDr3fKanvNFNb0+RqE4QGtjICxFKuItLcsiFCGtpA8CnJ7AoMXOLQusxI0zcK -zBIKinmwPQN/aUv0NCB9szTqjktk9T79syNnFQ0EuPAtwQlRPLJsFfClI9eDdOTlLsn+mCdCxqvG -nrDQWzilm1DefhiYtUU79nm06PcaewaD+9CL2rvHvRirCG88gGtAPxkZumWK5r7VXNM21+9AUiRg -OGcEMeyP84LG3rlV8zsxkVrctQgVrXYlCg17LofiDKYGvCYQbTed7N14jHyAxfDZd0jQ ------END CERTIFICATE----- - -Global Chambersign Root - 2008 -============================== ------BEGIN CERTIFICATE----- -MIIHSTCCBTGgAwIBAgIJAMnN0+nVfSPOMA0GCSqGSIb3DQEBBQUAMIGsMQswCQYDVQQGEwJFVTFD -MEEGA1UEBxM6TWFkcmlkIChzZWUgY3VycmVudCBhZGRyZXNzIGF0IHd3dy5jYW1lcmZpcm1hLmNv -bS9hZGRyZXNzKTESMBAGA1UEBRMJQTgyNzQzMjg3MRswGQYDVQQKExJBQyBDYW1lcmZpcm1hIFMu -QS4xJzAlBgNVBAMTHkdsb2JhbCBDaGFtYmVyc2lnbiBSb290IC0gMjAwODAeFw0wODA4MDExMjMx -NDBaFw0zODA3MzExMjMxNDBaMIGsMQswCQYDVQQGEwJFVTFDMEEGA1UEBxM6TWFkcmlkIChzZWUg -Y3VycmVudCBhZGRyZXNzIGF0IHd3dy5jYW1lcmZpcm1hLmNvbS9hZGRyZXNzKTESMBAGA1UEBRMJ -QTgyNzQzMjg3MRswGQYDVQQKExJBQyBDYW1lcmZpcm1hIFMuQS4xJzAlBgNVBAMTHkdsb2JhbCBD -aGFtYmVyc2lnbiBSb290IC0gMjAwODCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMDf -VtPkOpt2RbQT2//BthmLN0EYlVJH6xedKYiONWwGMi5HYvNJBL99RDaxccy9Wglz1dmFRP+RVyXf -XjaOcNFccUMd2drvXNL7G706tcuto8xEpw2uIRU/uXpbknXYpBI4iRmKt4DS4jJvVpyR1ogQC7N0 -ZJJ0YPP2zxhPYLIj0Mc7zmFLmY/CDNBAspjcDahOo7kKrmCgrUVSY7pmvWjg+b4aqIG7HkF4ddPB -/gBVsIdU6CeQNR1MM62X/JcumIS/LMmjv9GYERTtY/jKmIhYF5ntRQOXfjyGHoiMvvKRhI9lNNgA -TH23MRdaKXoKGCQwoze1eqkBfSbW+Q6OWfH9GzO1KTsXO0G2Id3UwD2ln58fQ1DJu7xsepeY7s2M -H/ucUa6LcL0nn3HAa6x9kGbo1106DbDVwo3VyJ2dwW3Q0L9R5OP4wzg2rtandeavhENdk5IMagfe -Ox2YItaswTXbo6Al/3K1dh3ebeksZixShNBFks4c5eUzHdwHU1SjqoI7mjcv3N2gZOnm3b2u/GSF -HTynyQbehP9r6GsaPMWis0L7iwk+XwhSx2LE1AVxv8Rk5Pihg+g+EpuoHtQ2TS9x9o0o9oOpE9Jh -wZG7SMA0j0GMS0zbaRL/UJScIINZc+18ofLx/d33SdNDWKBWY8o9PeU1VlnpDsogzCtLkykPAgMB -AAGjggFqMIIBZjASBgNVHRMBAf8ECDAGAQH/AgEMMB0GA1UdDgQWBBS5CcqcHtvTbDprru1U8VuT -BjUuXjCB4QYDVR0jBIHZMIHWgBS5CcqcHtvTbDprru1U8VuTBjUuXqGBsqSBrzCBrDELMAkGA1UE -BhMCRVUxQzBBBgNVBAcTOk1hZHJpZCAoc2VlIGN1cnJlbnQgYWRkcmVzcyBhdCB3d3cuY2FtZXJm -aXJtYS5jb20vYWRkcmVzcykxEjAQBgNVBAUTCUE4Mjc0MzI4NzEbMBkGA1UEChMSQUMgQ2FtZXJm -aXJtYSBTLkEuMScwJQYDVQQDEx5HbG9iYWwgQ2hhbWJlcnNpZ24gUm9vdCAtIDIwMDiCCQDJzdPp -1X0jzjAOBgNVHQ8BAf8EBAMCAQYwPQYDVR0gBDYwNDAyBgRVHSAAMCowKAYIKwYBBQUHAgEWHGh0 -dHA6Ly9wb2xpY3kuY2FtZXJmaXJtYS5jb20wDQYJKoZIhvcNAQEFBQADggIBAICIf3DekijZBZRG -/5BXqfEv3xoNa/p8DhxJJHkn2EaqbylZUohwEurdPfWbU1Rv4WCiqAm57OtZfMY18dwY6fFn5a+6 -ReAJ3spED8IXDneRRXozX1+WLGiLwUePmJs9wOzL9dWCkoQ10b42OFZyMVtHLaoXpGNR6woBrX/s -dZ7LoR/xfxKxueRkf2fWIyr0uDldmOghp+G9PUIadJpwr2hsUF1Jz//7Dl3mLEfXgTpZALVza2Mg -9jFFCDkO9HB+QHBaP9BrQql0PSgvAm11cpUJjUhjxsYjV5KTXjXBjfkK9yydYhz2rXzdpjEetrHH -foUm+qRqtdpjMNHvkzeyZi99Bffnt0uYlDXA2TopwZ2yUDMdSqlapskD7+3056huirRXhOukP9Du -qqqHW2Pok+JrqNS4cnhrG+055F3Lm6qH1U9OAP7Zap88MQ8oAgF9mOinsKJknnn4SPIVqczmyETr -P3iZ8ntxPjzxmKfFGBI/5rsoM0LpRQp8bfKGeS/Fghl9CYl8slR2iK7ewfPM4W7bMdaTrpmg7yVq -c5iJWzouE4gev8CSlDQb4ye3ix5vQv/n6TebUB0tovkC7stYWDpxvGjjqsGvHCgfotwjZT+B6q6Z -09gwzxMNTxXJhLynSC34MCN32EZLeW32jO06f2ARePTpm67VVMB0gNELQp/B ------END CERTIFICATE----- - -Go Daddy Root Certificate Authority - G2 -======================================== ------BEGIN CERTIFICATE----- -MIIDxTCCAq2gAwIBAgIBADANBgkqhkiG9w0BAQsFADCBgzELMAkGA1UEBhMCVVMxEDAOBgNVBAgT -B0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxGjAYBgNVBAoTEUdvRGFkZHkuY29tLCBJbmMu -MTEwLwYDVQQDEyhHbyBEYWRkeSBSb290IENlcnRpZmljYXRlIEF1dGhvcml0eSAtIEcyMB4XDTA5 -MDkwMTAwMDAwMFoXDTM3MTIzMTIzNTk1OVowgYMxCzAJBgNVBAYTAlVTMRAwDgYDVQQIEwdBcml6 -b25hMRMwEQYDVQQHEwpTY290dHNkYWxlMRowGAYDVQQKExFHb0RhZGR5LmNvbSwgSW5jLjExMC8G -A1UEAxMoR28gRGFkZHkgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgLSBHMjCCASIwDQYJKoZI -hvcNAQEBBQADggEPADCCAQoCggEBAL9xYgjx+lk09xvJGKP3gElY6SKDE6bFIEMBO4Tx5oVJnyfq -9oQbTqC023CYxzIBsQU+B07u9PpPL1kwIuerGVZr4oAH/PMWdYA5UXvl+TW2dE6pjYIT5LY/qQOD -+qK+ihVqf94Lw7YZFAXK6sOoBJQ7RnwyDfMAZiLIjWltNowRGLfTshxgtDj6AozO091GB94KPutd -fMh8+7ArU6SSYmlRJQVhGkSBjCypQ5Yj36w6gZoOKcUcqeldHraenjAKOc7xiID7S13MMuyFYkMl -NAJWJwGRtDtwKj9useiciAF9n9T521NtYJ2/LOdYq7hfRvzOxBsDPAnrSTFcaUaz4EcCAwEAAaNC -MEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFDqahQcQZyi27/a9 -BUFuIMGU2g/eMA0GCSqGSIb3DQEBCwUAA4IBAQCZ21151fmXWWcDYfF+OwYxdS2hII5PZYe096ac -vNjpL9DbWu7PdIxztDhC2gV7+AJ1uP2lsdeu9tfeE8tTEH6KRtGX+rcuKxGrkLAngPnon1rpN5+r -5N9ss4UXnT3ZJE95kTXWXwTrgIOrmgIttRD02JDHBHNA7XIloKmf7J6raBKZV8aPEjoJpL1E/QYV -N8Gb5DKj7Tjo2GTzLH4U/ALqn83/B2gX2yKQOC16jdFU8WnjXzPKej17CuPKf1855eJ1usV2GDPO -LPAvTK33sefOT6jEm0pUBsV/fdUID+Ic/n4XuKxe9tQWskMJDE32p2u0mYRlynqI4uJEvlz36hz1 ------END CERTIFICATE----- - -Starfield Root Certificate Authority - G2 -========================================= ------BEGIN CERTIFICATE----- -MIID3TCCAsWgAwIBAgIBADANBgkqhkiG9w0BAQsFADCBjzELMAkGA1UEBhMCVVMxEDAOBgNVBAgT -B0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxJTAjBgNVBAoTHFN0YXJmaWVsZCBUZWNobm9s -b2dpZXMsIEluYy4xMjAwBgNVBAMTKVN0YXJmaWVsZCBSb290IENlcnRpZmljYXRlIEF1dGhvcml0 -eSAtIEcyMB4XDTA5MDkwMTAwMDAwMFoXDTM3MTIzMTIzNTk1OVowgY8xCzAJBgNVBAYTAlVTMRAw -DgYDVQQIEwdBcml6b25hMRMwEQYDVQQHEwpTY290dHNkYWxlMSUwIwYDVQQKExxTdGFyZmllbGQg -VGVjaG5vbG9naWVzLCBJbmMuMTIwMAYDVQQDEylTdGFyZmllbGQgUm9vdCBDZXJ0aWZpY2F0ZSBB -dXRob3JpdHkgLSBHMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL3twQP89o/8ArFv -W59I2Z154qK3A2FWGMNHttfKPTUuiUP3oWmb3ooa/RMgnLRJdzIpVv257IzdIvpy3Cdhl+72WoTs -bhm5iSzchFvVdPtrX8WJpRBSiUZV9Lh1HOZ/5FSuS/hVclcCGfgXcVnrHigHdMWdSL5stPSksPNk -N3mSwOxGXn/hbVNMYq/NHwtjuzqd+/x5AJhhdM8mgkBj87JyahkNmcrUDnXMN/uLicFZ8WJ/X7Nf -ZTD4p7dNdloedl40wOiWVpmKs/B/pM293DIxfJHP4F8R+GuqSVzRmZTRouNjWwl2tVZi4Ut0HZbU -JtQIBFnQmA4O5t78w+wfkPECAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC -AQYwHQYDVR0OBBYEFHwMMh+n2TB/xH1oo2Kooc6rB1snMA0GCSqGSIb3DQEBCwUAA4IBAQARWfol -TwNvlJk7mh+ChTnUdgWUXuEok21iXQnCoKjUsHU48TRqneSfioYmUeYs0cYtbpUgSpIB7LiKZ3sx -4mcujJUDJi5DnUox9g61DLu34jd/IroAow57UvtruzvE03lRTs2Q9GcHGcg8RnoNAX3FWOdt5oUw -F5okxBDgBPfg8n/Uqgr/Qh037ZTlZFkSIHc40zI+OIF1lnP6aI+xy84fxez6nH7PfrHxBy22/L/K -pL/QlwVKvOoYKAKQvVR4CSFx09F9HdkWsKlhPdAKACL8x3vLCWRFCztAgfd9fDL1mMpYjn0q7pBZ -c2T5NnReJaH1ZgUufzkVqSr7UIuOhWn0 ------END CERTIFICATE----- - -Starfield Services Root Certificate Authority - G2 -================================================== ------BEGIN CERTIFICATE----- -MIID7zCCAtegAwIBAgIBADANBgkqhkiG9w0BAQsFADCBmDELMAkGA1UEBhMCVVMxEDAOBgNVBAgT -B0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxJTAjBgNVBAoTHFN0YXJmaWVsZCBUZWNobm9s -b2dpZXMsIEluYy4xOzA5BgNVBAMTMlN0YXJmaWVsZCBTZXJ2aWNlcyBSb290IENlcnRpZmljYXRl -IEF1dGhvcml0eSAtIEcyMB4XDTA5MDkwMTAwMDAwMFoXDTM3MTIzMTIzNTk1OVowgZgxCzAJBgNV -BAYTAlVTMRAwDgYDVQQIEwdBcml6b25hMRMwEQYDVQQHEwpTY290dHNkYWxlMSUwIwYDVQQKExxT -dGFyZmllbGQgVGVjaG5vbG9naWVzLCBJbmMuMTswOQYDVQQDEzJTdGFyZmllbGQgU2VydmljZXMg -Um9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgLSBHMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC -AQoCggEBANUMOsQq+U7i9b4Zl1+OiFOxHz/Lz58gE20pOsgPfTz3a3Y4Y9k2YKibXlwAgLIvWX/2 -h/klQ4bnaRtSmpDhcePYLQ1Ob/bISdm28xpWriu2dBTrz/sm4xq6HZYuajtYlIlHVv8loJNwU4Pa -hHQUw2eeBGg6345AWh1KTs9DkTvnVtYAcMtS7nt9rjrnvDH5RfbCYM8TWQIrgMw0R9+53pBlbQLP -LJGmpufehRhJfGZOozptqbXuNC66DQO4M99H67FrjSXZm86B0UVGMpZwh94CDklDhbZsc7tk6mFB -rMnUVN+HL8cisibMn1lUaJ/8viovxFUcdUBgF4UCVTmLfwUCAwEAAaNCMEAwDwYDVR0TAQH/BAUw -AwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFJxfAN+qAdcwKziIorhtSpzyEZGDMA0GCSqG -SIb3DQEBCwUAA4IBAQBLNqaEd2ndOxmfZyMIbw5hyf2E3F/YNoHN2BtBLZ9g3ccaaNnRbobhiCPP -E95Dz+I0swSdHynVv/heyNXBve6SbzJ08pGCL72CQnqtKrcgfU28elUSwhXqvfdqlS5sdJ/PHLTy -xQGjhdByPq1zqwubdQxtRbeOlKyWN7Wg0I8VRw7j6IPdj/3vQQF3zCepYoUz8jcI73HPdwbeyBkd -iEDPfUYd/x7H4c7/I9vG+o1VTqkC50cRRj70/b17KSa7qWFiNyi2LSr2EIZkyXCn0q23KXB56jza -YyWf/Wi3MOxw+3WKt21gZ7IeyLnp2KhvAotnDU0mV3HaIPzBSlCNsSi6 ------END CERTIFICATE----- - -AffirmTrust Commercial -====================== ------BEGIN CERTIFICATE----- -MIIDTDCCAjSgAwIBAgIId3cGJyapsXwwDQYJKoZIhvcNAQELBQAwRDELMAkGA1UEBhMCVVMxFDAS -BgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVzdCBDb21tZXJjaWFsMB4XDTEw -MDEyOTE0MDYwNloXDTMwMTIzMTE0MDYwNlowRDELMAkGA1UEBhMCVVMxFDASBgNVBAoMC0FmZmly -bVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVzdCBDb21tZXJjaWFsMIIBIjANBgkqhkiG9w0BAQEF -AAOCAQ8AMIIBCgKCAQEA9htPZwcroRX1BiLLHwGy43NFBkRJLLtJJRTWzsO3qyxPxkEylFf6Eqdb -DuKPHx6GGaeqtS25Xw2Kwq+FNXkyLbscYjfysVtKPcrNcV/pQr6U6Mje+SJIZMblq8Yrba0F8PrV -C8+a5fBQpIs7R6UjW3p6+DM/uO+Zl+MgwdYoic+U+7lF7eNAFxHUdPALMeIrJmqbTFeurCA+ukV6 -BfO9m2kVrn1OIGPENXY6BwLJN/3HR+7o8XYdcxXyl6S1yHp52UKqK39c/s4mT6NmgTWvRLpUHhww -MmWd5jyTXlBOeuM61G7MGvv50jeuJCqrVwMiKA1JdX+3KNp1v47j3A55MQIDAQABo0IwQDAdBgNV -HQ4EFgQUnZPGU4teyq8/nx4P5ZmVvCT2lI8wDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC -AQYwDQYJKoZIhvcNAQELBQADggEBAFis9AQOzcAN/wr91LoWXym9e2iZWEnStB03TX8nfUYGXUPG -hi4+c7ImfU+TqbbEKpqrIZcUsd6M06uJFdhrJNTxFq7YpFzUf1GO7RgBsZNjvbz4YYCanrHOQnDi -qX0GJX0nof5v7LMeJNrjS1UaADs1tDvZ110w/YETifLCBivtZ8SOyUOyXGsViQK8YvxO8rUzqrJv -0wqiUOP2O+guRMLbZjipM1ZI8W0bM40NjD9gN53Tym1+NH4Nn3J2ixufcv1SNUFFApYvHLKac0kh -sUlHRUe072o0EclNmsxZt9YCnlpOZbWUrhvfKbAW8b8Angc6F2S1BLUjIZkKlTuXfO8= ------END CERTIFICATE----- - -AffirmTrust Networking -====================== ------BEGIN CERTIFICATE----- -MIIDTDCCAjSgAwIBAgIIfE8EORzUmS0wDQYJKoZIhvcNAQEFBQAwRDELMAkGA1UEBhMCVVMxFDAS -BgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVzdCBOZXR3b3JraW5nMB4XDTEw -MDEyOTE0MDgyNFoXDTMwMTIzMTE0MDgyNFowRDELMAkGA1UEBhMCVVMxFDASBgNVBAoMC0FmZmly -bVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVzdCBOZXR3b3JraW5nMIIBIjANBgkqhkiG9w0BAQEF -AAOCAQ8AMIIBCgKCAQEAtITMMxcua5Rsa2FSoOujz3mUTOWUgJnLVWREZY9nZOIG41w3SfYvm4SE -Hi3yYJ0wTsyEheIszx6e/jarM3c1RNg1lho9Nuh6DtjVR6FqaYvZ/Ls6rnla1fTWcbuakCNrmreI -dIcMHl+5ni36q1Mr3Lt2PpNMCAiMHqIjHNRqrSK6mQEubWXLviRmVSRLQESxG9fhwoXA3hA/Pe24 -/PHxI1Pcv2WXb9n5QHGNfb2V1M6+oF4nI979ptAmDgAp6zxG8D1gvz9Q0twmQVGeFDdCBKNwV6gb -h+0t+nvujArjqWaJGctB+d1ENmHP4ndGyH329JKBNv3bNPFyfvMMFr20FQIDAQABo0IwQDAdBgNV -HQ4EFgQUBx/S55zawm6iQLSwelAQUHTEyL0wDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC -AQYwDQYJKoZIhvcNAQEFBQADggEBAIlXshZ6qML91tmbmzTCnLQyFE2npN/svqe++EPbkTfOtDIu -UFUaNU52Q3Eg75N3ThVwLofDwR1t3Mu1J9QsVtFSUzpE0nPIxBsFZVpikpzuQY0x2+c06lkh1QF6 -12S4ZDnNye2v7UsDSKegmQGA3GWjNq5lWUhPgkvIZfFXHeVZLgo/bNjR9eUJtGxUAArgFU2HdW23 -WJZa3W3SAKD0m0i+wzekujbgfIeFlxoVot4uolu9rxj5kFDNcFn4J2dHy8egBzp90SxdbBk6ZrV9 -/ZFvgrG+CJPbFEfxojfHRZ48x3evZKiT3/Zpg4Jg8klCNO1aAFSFHBY2kgxc+qatv9s= ------END CERTIFICATE----- - -AffirmTrust Premium -=================== ------BEGIN CERTIFICATE----- -MIIFRjCCAy6gAwIBAgIIbYwURrGmCu4wDQYJKoZIhvcNAQEMBQAwQTELMAkGA1UEBhMCVVMxFDAS -BgNVBAoMC0FmZmlybVRydXN0MRwwGgYDVQQDDBNBZmZpcm1UcnVzdCBQcmVtaXVtMB4XDTEwMDEy -OTE0MTAzNloXDTQwMTIzMTE0MTAzNlowQTELMAkGA1UEBhMCVVMxFDASBgNVBAoMC0FmZmlybVRy -dXN0MRwwGgYDVQQDDBNBZmZpcm1UcnVzdCBQcmVtaXVtMIICIjANBgkqhkiG9w0BAQEFAAOCAg8A -MIICCgKCAgEAxBLfqV/+Qd3d9Z+K4/as4Tx4mrzY8H96oDMq3I0gW64tb+eT2TZwamjPjlGjhVtn -BKAQJG9dKILBl1fYSCkTtuG+kU3fhQxTGJoeJKJPj/CihQvL9Cl/0qRY7iZNyaqoe5rZ+jjeRFcV -5fiMyNlI4g0WJx0eyIOFJbe6qlVBzAMiSy2RjYvmia9mx+n/K+k8rNrSs8PhaJyJ+HoAVt70VZVs -+7pk3WKL3wt3MutizCaam7uqYoNMtAZ6MMgpv+0GTZe5HMQxK9VfvFMSF5yZVylmd2EhMQcuJUmd -GPLu8ytxjLW6OQdJd/zvLpKQBY0tL3d770O/Nbua2Plzpyzy0FfuKE4mX4+QaAkvuPjcBukumj5R -p9EixAqnOEhss/n/fauGV+O61oV4d7pD6kh/9ti+I20ev9E2bFhc8e6kGVQa9QPSdubhjL08s9NI -S+LI+H+SqHZGnEJlPqQewQcDWkYtuJfzt9WyVSHvutxMAJf7FJUnM7/oQ0dG0giZFmA7mn7S5u04 -6uwBHjxIVkkJx0w3AJ6IDsBz4W9m6XJHMD4Q5QsDyZpCAGzFlH5hxIrff4IaC1nEWTJ3s7xgaVY5 -/bQGeyzWZDbZvUjthB9+pSKPKrhC9IK31FOQeE4tGv2Bb0TXOwF0lkLgAOIua+rF7nKsu7/+6qqo -+Nz2snmKtmcCAwEAAaNCMEAwHQYDVR0OBBYEFJ3AZ6YMItkm9UWrpmVSESfYRaxjMA8GA1UdEwEB -/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEBDAUAA4ICAQCzV00QYk465KzquByv -MiPIs0laUZx2KI15qldGF9X1Uva3ROgIRL8YhNILgM3FEv0AVQVhh0HctSSePMTYyPtwni94loMg -Nt58D2kTiKV1NpgIpsbfrM7jWNa3Pt668+s0QNiigfV4Py/VpfzZotReBA4Xrf5B8OWycvpEgjNC -6C1Y91aMYj+6QrCcDFx+LmUmXFNPALJ4fqENmS2NuB2OosSw/WDQMKSOyARiqcTtNd56l+0OOF6S -L5Nwpamcb6d9Ex1+xghIsV5n61EIJenmJWtSKZGc0jlzCFfemQa0W50QBuHCAKi4HEoCChTQwUHK -+4w1IX2COPKpVJEZNZOUbWo6xbLQu4mGk+ibyQ86p3q4ofB4Rvr8Ny/lioTz3/4E2aFooC8k4gmV -BtWVyuEklut89pMFu+1z6S3RdTnX5yTb2E5fQ4+e0BQ5v1VwSJlXMbSc7kqYA5YwH2AG7hsj/oFg -IxpHYoWlzBk0gG+zrBrjn/B7SK3VAdlntqlyk+otZrWyuOQ9PLLvTIzq6we/qzWaVYa8GKa1qF60 -g2xraUDTn9zxw2lrueFtCfTxqlB2Cnp9ehehVZZCmTEJ3WARjQUwfuaORtGdFNrHF+QFlozEJLUb -zxQHskD4o55BhrwE0GuWyCqANP2/7waj3VjFhT0+j/6eKeC2uAloGRwYQw== ------END CERTIFICATE----- - -AffirmTrust Premium ECC -======================= ------BEGIN CERTIFICATE----- -MIIB/jCCAYWgAwIBAgIIdJclisc/elQwCgYIKoZIzj0EAwMwRTELMAkGA1UEBhMCVVMxFDASBgNV -BAoMC0FmZmlybVRydXN0MSAwHgYDVQQDDBdBZmZpcm1UcnVzdCBQcmVtaXVtIEVDQzAeFw0xMDAx -MjkxNDIwMjRaFw00MDEyMzExNDIwMjRaMEUxCzAJBgNVBAYTAlVTMRQwEgYDVQQKDAtBZmZpcm1U -cnVzdDEgMB4GA1UEAwwXQWZmaXJtVHJ1c3QgUHJlbWl1bSBFQ0MwdjAQBgcqhkjOPQIBBgUrgQQA -IgNiAAQNMF4bFZ0D0KF5Nbc6PJJ6yhUczWLznCZcBz3lVPqj1swS6vQUX+iOGasvLkjmrBhDeKzQ -N8O9ss0s5kfiGuZjuD0uL3jET9v0D6RoTFVya5UdThhClXjMNzyR4ptlKymjQjBAMB0GA1UdDgQW -BBSaryl6wBE1NSZRMADDav5A1a7WPDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAK -BggqhkjOPQQDAwNnADBkAjAXCfOHiFBar8jAQr9HX/VsaobgxCd05DhT1wV/GzTjxi+zygk8N53X -57hG8f2h4nECMEJZh0PUUd+60wkyWs6Iflc9nF9Ca/UHLbXwgpP5WW+uZPpY5Yse42O+tYHNbwKM -eQ== ------END CERTIFICATE----- - -Certum Trusted Network CA -========================= ------BEGIN CERTIFICATE----- -MIIDuzCCAqOgAwIBAgIDBETAMA0GCSqGSIb3DQEBBQUAMH4xCzAJBgNVBAYTAlBMMSIwIAYDVQQK -ExlVbml6ZXRvIFRlY2hub2xvZ2llcyBTLkEuMScwJQYDVQQLEx5DZXJ0dW0gQ2VydGlmaWNhdGlv -biBBdXRob3JpdHkxIjAgBgNVBAMTGUNlcnR1bSBUcnVzdGVkIE5ldHdvcmsgQ0EwHhcNMDgxMDIy -MTIwNzM3WhcNMjkxMjMxMTIwNzM3WjB+MQswCQYDVQQGEwJQTDEiMCAGA1UEChMZVW5pemV0byBU -ZWNobm9sb2dpZXMgUy5BLjEnMCUGA1UECxMeQ2VydHVtIENlcnRpZmljYXRpb24gQXV0aG9yaXR5 -MSIwIAYDVQQDExlDZXJ0dW0gVHJ1c3RlZCBOZXR3b3JrIENBMIIBIjANBgkqhkiG9w0BAQEFAAOC -AQ8AMIIBCgKCAQEA4/t9o3K6wvDJFIf1awFO4W5AB7ptJ11/91sts1rHUV+rpDKmYYe2bg+G0jAC -l/jXaVehGDldamR5xgFZrDwxSjh80gTSSyjoIF87B6LMTXPb865Px1bVWqeWifrzq2jUI4ZZJ88J -J7ysbnKDHDBy3+Ci6dLhdHUZvSqeexVUBBvXQzmtVSjF4hq79MDkrjhJM8x2hZ85RdKknvISjFH4 -fOQtf/WsX+sWn7Et0brMkUJ3TCXJkDhv2/DM+44el1k+1WBO5gUo7Ul5E0u6SNsv+XLTOcr+H9g0 -cvW0QM8xAcPs3hEtF10fuFDRXhmnad4HMyjKUJX5p1TLVIZQRan5SQIDAQABo0IwQDAPBgNVHRMB -Af8EBTADAQH/MB0GA1UdDgQWBBQIds3LB/8k9sXN7buQvOKEN0Z19zAOBgNVHQ8BAf8EBAMCAQYw -DQYJKoZIhvcNAQEFBQADggEBAKaorSLOAT2mo/9i0Eidi15ysHhE49wcrwn9I0j6vSrEuVUEtRCj -jSfeC4Jj0O7eDDd5QVsisrCaQVymcODU0HfLI9MA4GxWL+FpDQ3Zqr8hgVDZBqWo/5U30Kr+4rP1 -mS1FhIrlQgnXdAIv94nYmem8J9RHjboNRhx3zxSkHLmkMcScKHQDNP8zGSal6Q10tz6XxnboJ5aj -Zt3hrvJBW8qYVoNzcOSGGtIxQbovvi0TWnZvTuhOgQ4/WwMioBK+ZlgRSssDxLQqKi2WF+A5VLxI -03YnnZotBqbJ7DnSq9ufmgsnAjUpsUCV5/nonFWIGUbWtzT1fs45mtk48VH3Tyw= ------END CERTIFICATE----- - -Certinomis - Autorité Racine -============================= ------BEGIN CERTIFICATE----- -MIIFnDCCA4SgAwIBAgIBATANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJGUjETMBEGA1UEChMK -Q2VydGlub21pczEXMBUGA1UECxMOMDAwMiA0MzM5OTg5MDMxJjAkBgNVBAMMHUNlcnRpbm9taXMg -LSBBdXRvcml0w6kgUmFjaW5lMB4XDTA4MDkxNzA4Mjg1OVoXDTI4MDkxNzA4Mjg1OVowYzELMAkG -A1UEBhMCRlIxEzARBgNVBAoTCkNlcnRpbm9taXMxFzAVBgNVBAsTDjAwMDIgNDMzOTk4OTAzMSYw -JAYDVQQDDB1DZXJ0aW5vbWlzIC0gQXV0b3JpdMOpIFJhY2luZTCCAiIwDQYJKoZIhvcNAQEBBQAD -ggIPADCCAgoCggIBAJ2Fn4bT46/HsmtuM+Cet0I0VZ35gb5j2CN2DpdUzZlMGvE5x4jYF1AMnmHa -wE5V3udauHpOd4cN5bjr+p5eex7Ezyh0x5P1FMYiKAT5kcOrJ3NqDi5N8y4oH3DfVS9O7cdxbwly -Lu3VMpfQ8Vh30WC8Tl7bmoT2R2FFK/ZQpn9qcSdIhDWerP5pqZ56XjUl+rSnSTV3lqc2W+HN3yNw -2F1MpQiD8aYkOBOo7C+ooWfHpi2GR+6K/OybDnT0K0kCe5B1jPyZOQE51kqJ5Z52qz6WKDgmi92N -jMD2AR5vpTESOH2VwnHu7XSu5DaiQ3XV8QCb4uTXzEIDS3h65X27uK4uIJPT5GHfceF2Z5c/tt9q -c1pkIuVC28+BA5PY9OMQ4HL2AHCs8MF6DwV/zzRpRbWT5BnbUhYjBYkOjUjkJW+zeL9i9Qf6lSTC -lrLooyPCXQP8w9PlfMl1I9f09bze5N/NgL+RiH2nE7Q5uiy6vdFrzPOlKO1Enn1So2+WLhl+HPNb -xxaOu2B9d2ZHVIIAEWBsMsGoOBvrbpgT1u449fCfDu/+MYHB0iSVL1N6aaLwD4ZFjliCK0wi1F6g -530mJ0jfJUaNSih8hp75mxpZuWW/Bd22Ql095gBIgl4g9xGC3srYn+Y3RyYe63j3YcNBZFgCQfna -4NH4+ej9Uji29YnfAgMBAAGjWzBZMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0G -A1UdDgQWBBQNjLZh2kS40RR9w759XkjwzspqsDAXBgNVHSAEEDAOMAwGCiqBegFWAgIAAQEwDQYJ -KoZIhvcNAQEFBQADggIBACQ+YAZ+He86PtvqrxyaLAEL9MW12Ukx9F1BjYkMTv9sov3/4gbIOZ/x -WqndIlgVqIrTseYyCYIDbNc/CMf4uboAbbnW/FIyXaR/pDGUu7ZMOH8oMDX/nyNTt7buFHAAQCva -R6s0fl6nVjBhK4tDrP22iCj1a7Y+YEq6QpA0Z43q619FVDsXrIvkxmUP7tCMXWY5zjKn2BCXwH40 -nJ+U8/aGH88bc62UeYdocMMzpXDn2NU4lG9jeeu/Cg4I58UvD0KgKxRA/yHgBcUn4YQRE7rWhh1B -CxMjidPJC+iKunqjo3M3NYB9Ergzd0A4wPpeMNLytqOx1qKVl4GbUu1pTP+A5FPbVFsDbVRfsbjv -JL1vnxHDx2TCDyhihWZeGnuyt++uNckZM6i4J9szVb9o4XVIRFb7zdNIu0eJOqxp9YDG5ERQL1TE -qkPFMTFYvZbF6nVsmnWxTfj3l/+WFvKXTej28xH5On2KOG4Ey+HTRRWqpdEdnV1j6CTmNhTih60b -WfVEm/vXd3wfAXBioSAaosUaKPQhA+4u2cGA6rnZgtZbdsLLO7XSAPCjDuGtbkD326C00EauFddE -wk01+dIL8hf2rGbVJLJP0RyZwG71fet0BLj5TXcJ17TPBzAJ8bgAVtkXFhYKK4bfjwEZGuW7gmP/ -vgt2Fl43N+bYdJeimUV5 ------END CERTIFICATE----- - -Root CA Generalitat Valenciana -============================== ------BEGIN CERTIFICATE----- -MIIGizCCBXOgAwIBAgIEO0XlaDANBgkqhkiG9w0BAQUFADBoMQswCQYDVQQGEwJFUzEfMB0GA1UE -ChMWR2VuZXJhbGl0YXQgVmFsZW5jaWFuYTEPMA0GA1UECxMGUEtJR1ZBMScwJQYDVQQDEx5Sb290 -IENBIEdlbmVyYWxpdGF0IFZhbGVuY2lhbmEwHhcNMDEwNzA2MTYyMjQ3WhcNMjEwNzAxMTUyMjQ3 -WjBoMQswCQYDVQQGEwJFUzEfMB0GA1UEChMWR2VuZXJhbGl0YXQgVmFsZW5jaWFuYTEPMA0GA1UE -CxMGUEtJR1ZBMScwJQYDVQQDEx5Sb290IENBIEdlbmVyYWxpdGF0IFZhbGVuY2lhbmEwggEiMA0G -CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDGKqtXETcvIorKA3Qdyu0togu8M1JAJke+WmmmO3I2 -F0zo37i7L3bhQEZ0ZQKQUgi0/6iMweDHiVYQOTPvaLRfX9ptI6GJXiKjSgbwJ/BXufjpTjJ3Cj9B -ZPPrZe52/lSqfR0grvPXdMIKX/UIKFIIzFVd0g/bmoGlu6GzwZTNVOAydTGRGmKy3nXiz0+J2ZGQ -D0EbtFpKd71ng+CT516nDOeB0/RSrFOyA8dEJvt55cs0YFAQexvba9dHq198aMpunUEDEO5rmXte -JajCq+TA81yc477OMUxkHl6AovWDfgzWyoxVjr7gvkkHD6MkQXpYHYTqWBLI4bft75PelAgxAgMB -AAGjggM7MIIDNzAyBggrBgEFBQcBAQQmMCQwIgYIKwYBBQUHMAGGFmh0dHA6Ly9vY3NwLnBraS5n -dmEuZXMwEgYDVR0TAQH/BAgwBgEB/wIBAjCCAjQGA1UdIASCAiswggInMIICIwYKKwYBBAG/VQIB -ADCCAhMwggHoBggrBgEFBQcCAjCCAdoeggHWAEEAdQB0AG8AcgBpAGQAYQBkACAAZABlACAAQwBl -AHIAdABpAGYAaQBjAGEAYwBpAPMAbgAgAFIAYQDtAHoAIABkAGUAIABsAGEAIABHAGUAbgBlAHIA -YQBsAGkAdABhAHQAIABWAGEAbABlAG4AYwBpAGEAbgBhAC4ADQAKAEwAYQAgAEQAZQBjAGwAYQBy -AGEAYwBpAPMAbgAgAGQAZQAgAFAAcgDhAGMAdABpAGMAYQBzACAAZABlACAAQwBlAHIAdABpAGYA -aQBjAGEAYwBpAPMAbgAgAHEAdQBlACAAcgBpAGcAZQAgAGUAbAAgAGYAdQBuAGMAaQBvAG4AYQBt -AGkAZQBuAHQAbwAgAGQAZQAgAGwAYQAgAHAAcgBlAHMAZQBuAHQAZQAgAEEAdQB0AG8AcgBpAGQA -YQBkACAAZABlACAAQwBlAHIAdABpAGYAaQBjAGEAYwBpAPMAbgAgAHMAZQAgAGUAbgBjAHUAZQBu -AHQAcgBhACAAZQBuACAAbABhACAAZABpAHIAZQBjAGMAaQDzAG4AIAB3AGUAYgAgAGgAdAB0AHAA -OgAvAC8AdwB3AHcALgBwAGsAaQAuAGcAdgBhAC4AZQBzAC8AYwBwAHMwJQYIKwYBBQUHAgEWGWh0 -dHA6Ly93d3cucGtpLmd2YS5lcy9jcHMwHQYDVR0OBBYEFHs100DSHHgZZu90ECjcPk+yeAT8MIGV -BgNVHSMEgY0wgYqAFHs100DSHHgZZu90ECjcPk+yeAT8oWykajBoMQswCQYDVQQGEwJFUzEfMB0G -A1UEChMWR2VuZXJhbGl0YXQgVmFsZW5jaWFuYTEPMA0GA1UECxMGUEtJR1ZBMScwJQYDVQQDEx5S -b290IENBIEdlbmVyYWxpdGF0IFZhbGVuY2lhbmGCBDtF5WgwDQYJKoZIhvcNAQEFBQADggEBACRh -TvW1yEICKrNcda3FbcrnlD+laJWIwVTAEGmiEi8YPyVQqHxK6sYJ2fR1xkDar1CdPaUWu20xxsdz -Ckj+IHLtb8zog2EWRpABlUt9jppSCS/2bxzkoXHPjCpaF3ODR00PNvsETUlR4hTJZGH71BTg9J63 -NI8KJr2XXPR5OkowGcytT6CYirQxlyric21+eLj4iIlPsSKRZEv1UN4D2+XFducTZnV+ZfsBn5OH -iJ35Rld8TWCvmHMTI6QgkYH60GFmuH3Rr9ZvHmw96RH9qfmCIoaZM3Fa6hlXPZHNqcCjbgcTpsnt -+GijnsNacgmHKNHEc8RzGF9QdRYxn7fofMM= ------END CERTIFICATE----- - -A-Trust-nQual-03 -================ ------BEGIN CERTIFICATE----- -MIIDzzCCAregAwIBAgIDAWweMA0GCSqGSIb3DQEBBQUAMIGNMQswCQYDVQQGEwJBVDFIMEYGA1UE -Cgw/QS1UcnVzdCBHZXMuIGYuIFNpY2hlcmhlaXRzc3lzdGVtZSBpbSBlbGVrdHIuIERhdGVudmVy -a2VociBHbWJIMRkwFwYDVQQLDBBBLVRydXN0LW5RdWFsLTAzMRkwFwYDVQQDDBBBLVRydXN0LW5R -dWFsLTAzMB4XDTA1MDgxNzIyMDAwMFoXDTE1MDgxNzIyMDAwMFowgY0xCzAJBgNVBAYTAkFUMUgw -RgYDVQQKDD9BLVRydXN0IEdlcy4gZi4gU2ljaGVyaGVpdHNzeXN0ZW1lIGltIGVsZWt0ci4gRGF0 -ZW52ZXJrZWhyIEdtYkgxGTAXBgNVBAsMEEEtVHJ1c3QtblF1YWwtMDMxGTAXBgNVBAMMEEEtVHJ1 -c3QtblF1YWwtMDMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCtPWFuA/OQO8BBC4SA -zewqo51ru27CQoT3URThoKgtUaNR8t4j8DRE/5TrzAUjlUC5B3ilJfYKvUWG6Nm9wASOhURh73+n -yfrBJcyFLGM/BWBzSQXgYHiVEEvc+RFZznF/QJuKqiTfC0Li21a8StKlDJu3Qz7dg9MmEALP6iPE -SU7l0+m0iKsMrmKS1GWH2WrX9IWf5DMiJaXlyDO6w8dB3F/GaswADm0yqLaHNgBid5seHzTLkDx4 -iHQF63n1k3Flyp3HaxgtPVxO59X4PzF9j4fsCiIvI+n+u33J4PTs63zEsMMtYrWacdaxaujs2e3V -cuy+VwHOBVWf3tFgiBCzAgMBAAGjNjA0MA8GA1UdEwEB/wQFMAMBAf8wEQYDVR0OBAoECERqlWdV -eRFPMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQUFAAOCAQEAVdRU0VlIXLOThaq/Yy/kgM40 -ozRiPvbY7meIMQQDbwvUB/tOdQ/TLtPAF8fGKOwGDREkDg6lXb+MshOWcdzUzg4NCmgybLlBMRmr -sQd7TZjTXLDR8KdCoLXEjq/+8T/0709GAHbrAvv5ndJAlseIOrifEXnzgGWovR/TeIGgUUw3tKZd -JXDRZslo+S4RFGjxVJgIrCaSD96JntT6s3kr0qN51OyLrIdTaEJMUVF0HhsnLuP1Hyl0Te2v9+GS -mYHovjrHF1D2t8b8m7CKa9aIA5GPBnc6hQLdmNVDeD/GMBWsm2vLV7eJUYs66MmEDNuxUCAKGkq6 -ahq97BvIxYSazQ== ------END CERTIFICATE----- - -TWCA Root Certification Authority -================================= ------BEGIN CERTIFICATE----- -MIIDezCCAmOgAwIBAgIBATANBgkqhkiG9w0BAQUFADBfMQswCQYDVQQGEwJUVzESMBAGA1UECgwJ -VEFJV0FOLUNBMRAwDgYDVQQLDAdSb290IENBMSowKAYDVQQDDCFUV0NBIFJvb3QgQ2VydGlmaWNh -dGlvbiBBdXRob3JpdHkwHhcNMDgwODI4MDcyNDMzWhcNMzAxMjMxMTU1OTU5WjBfMQswCQYDVQQG -EwJUVzESMBAGA1UECgwJVEFJV0FOLUNBMRAwDgYDVQQLDAdSb290IENBMSowKAYDVQQDDCFUV0NB -IFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK -AoIBAQCwfnK4pAOU5qfeCTiRShFAh6d8WWQUe7UREN3+v9XAu1bihSX0NXIP+FPQQeFEAcK0HMMx -QhZHhTMidrIKbw/lJVBPhYa+v5guEGcevhEFhgWQxFnQfHgQsIBct+HHK3XLfJ+utdGdIzdjp9xC -oi2SBBtQwXu4PhvJVgSLL1KbralW6cH/ralYhzC2gfeXRfwZVzsrb+RH9JlF/h3x+JejiB03HFyP -4HYlmlD4oFT/RJB2I9IyxsOrBr/8+7/zrX2SYgJbKdM1o5OaQ2RgXbL6Mv87BK9NQGr5x+PvI/1r -y+UPizgN7gr8/g+YnzAx3WxSZfmLgb4i4RxYA7qRG4kHAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIB -BjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRqOFsmjd6LWvJPelSDGRjjCDWmujANBgkqhkiG -9w0BAQUFAAOCAQEAPNV3PdrfibqHDAhUaiBQkr6wQT25JmSDCi/oQMCXKCeCMErJk/9q56YAf4lC -mtYR5VPOL8zy2gXE/uJQxDqGfczafhAJO5I1KlOy/usrBdlsXebQ79NqZp4VKIV66IIArB6nCWlW -QtNoURi+VJq/REG6Sb4gumlc7rh3zc5sH62Dlhh9DrUUOYTxKOkto557HnpyWoOzeW/vtPzQCqVY -T0bf+215WfKEIlKuD8z7fDvnaspHYcN6+NOSBB+4IIThNlQWx0DeO4pz3N/GCUzf7Nr/1FNCocny -Yh0igzyXxfkZYiesZSLX0zzG5Y6yU8xJzrww/nsOM5D77dIUkR8Hrw== ------END CERTIFICATE----- - -Security Communication RootCA2 -============================== ------BEGIN CERTIFICATE----- -MIIDdzCCAl+gAwIBAgIBADANBgkqhkiG9w0BAQsFADBdMQswCQYDVQQGEwJKUDElMCMGA1UEChMc -U0VDT00gVHJ1c3QgU3lzdGVtcyBDTy4sTFRELjEnMCUGA1UECxMeU2VjdXJpdHkgQ29tbXVuaWNh -dGlvbiBSb290Q0EyMB4XDTA5MDUyOTA1MDAzOVoXDTI5MDUyOTA1MDAzOVowXTELMAkGA1UEBhMC -SlAxJTAjBgNVBAoTHFNFQ09NIFRydXN0IFN5c3RlbXMgQ08uLExURC4xJzAlBgNVBAsTHlNlY3Vy -aXR5IENvbW11bmljYXRpb24gUm9vdENBMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB -ANAVOVKxUrO6xVmCxF1SrjpDZYBLx/KWvNs2l9amZIyoXvDjChz335c9S672XewhtUGrzbl+dp++ -+T42NKA7wfYxEUV0kz1XgMX5iZnK5atq1LXaQZAQwdbWQonCv/Q4EpVMVAX3NuRFg3sUZdbcDE3R -3n4MqzvEFb46VqZab3ZpUql6ucjrappdUtAtCms1FgkQhNBqyjoGADdH5H5XTz+L62e4iKrFvlNV -spHEfbmwhRkGeC7bYRr6hfVKkaHnFtWOojnflLhwHyg/i/xAXmODPIMqGplrz95Zajv8bxbXH/1K -EOtOghY6rCcMU/Gt1SSwawNQwS08Ft1ENCcadfsCAwEAAaNCMEAwHQYDVR0OBBYEFAqFqXdlBZh8 -QIH4D5csOPEK7DzPMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEB -CwUAA4IBAQBMOqNErLlFsceTfsgLCkLfZOoc7llsCLqJX2rKSpWeeo8HxdpFcoJxDjrSzG+ntKEj -u/Ykn8sX/oymzsLS28yN/HH8AynBbF0zX2S2ZTuJbxh2ePXcokgfGT+Ok+vx+hfuzU7jBBJV1uXk -3fs+BXziHV7Gp7yXT2g69ekuCkO2r1dcYmh8t/2jioSgrGK+KwmHNPBqAbubKVY8/gA3zyNs8U6q -tnRGEmyR7jTV7JqR50S+kDFy1UkC9gLl9B/rfNmWVan/7Ir5mUf/NVoCqgTLiluHcSmRvaS0eg29 -mvVXIwAHIRc/SjnRBUkLp7Y3gaVdjKozXoEofKd9J+sAro03 ------END CERTIFICATE----- - -EC-ACC -====== ------BEGIN CERTIFICATE----- -MIIFVjCCBD6gAwIBAgIQ7is969Qh3hSoYqwE893EATANBgkqhkiG9w0BAQUFADCB8zELMAkGA1UE -BhMCRVMxOzA5BgNVBAoTMkFnZW5jaWEgQ2F0YWxhbmEgZGUgQ2VydGlmaWNhY2lvIChOSUYgUS0w -ODAxMTc2LUkpMSgwJgYDVQQLEx9TZXJ2ZWlzIFB1YmxpY3MgZGUgQ2VydGlmaWNhY2lvMTUwMwYD -VQQLEyxWZWdldSBodHRwczovL3d3dy5jYXRjZXJ0Lm5ldC92ZXJhcnJlbCAoYykwMzE1MDMGA1UE -CxMsSmVyYXJxdWlhIEVudGl0YXRzIGRlIENlcnRpZmljYWNpbyBDYXRhbGFuZXMxDzANBgNVBAMT -BkVDLUFDQzAeFw0wMzAxMDcyMzAwMDBaFw0zMTAxMDcyMjU5NTlaMIHzMQswCQYDVQQGEwJFUzE7 -MDkGA1UEChMyQWdlbmNpYSBDYXRhbGFuYSBkZSBDZXJ0aWZpY2FjaW8gKE5JRiBRLTA4MDExNzYt -SSkxKDAmBgNVBAsTH1NlcnZlaXMgUHVibGljcyBkZSBDZXJ0aWZpY2FjaW8xNTAzBgNVBAsTLFZl -Z2V1IGh0dHBzOi8vd3d3LmNhdGNlcnQubmV0L3ZlcmFycmVsIChjKTAzMTUwMwYDVQQLEyxKZXJh -cnF1aWEgRW50aXRhdHMgZGUgQ2VydGlmaWNhY2lvIENhdGFsYW5lczEPMA0GA1UEAxMGRUMtQUND -MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsyLHT+KXQpWIR4NA9h0X84NzJB5R85iK -w5K4/0CQBXCHYMkAqbWUZRkiFRfCQ2xmRJoNBD45b6VLeqpjt4pEndljkYRm4CgPukLjbo73FCeT -ae6RDqNfDrHrZqJyTxIThmV6PttPB/SnCWDaOkKZx7J/sxaVHMf5NLWUhdWZXqBIoH7nF2W4onW4 -HvPlQn2v7fOKSGRdghST2MDk/7NQcvJ29rNdQlB50JQ+awwAvthrDk4q7D7SzIKiGGUzE3eeml0a -E9jD2z3Il3rucO2n5nzbcc8tlGLfbdb1OL4/pYUKGbio2Al1QnDE6u/LDsg0qBIimAy4E5S2S+zw -0JDnJwIDAQABo4HjMIHgMB0GA1UdEQQWMBSBEmVjX2FjY0BjYXRjZXJ0Lm5ldDAPBgNVHRMBAf8E -BTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUoMOLRKo3pUW/l4Ba0fF4opvpXY0wfwYD -VR0gBHgwdjB0BgsrBgEEAfV4AQMBCjBlMCwGCCsGAQUFBwIBFiBodHRwczovL3d3dy5jYXRjZXJ0 -Lm5ldC92ZXJhcnJlbDA1BggrBgEFBQcCAjApGidWZWdldSBodHRwczovL3d3dy5jYXRjZXJ0Lm5l -dC92ZXJhcnJlbCAwDQYJKoZIhvcNAQEFBQADggEBAKBIW4IB9k1IuDlVNZyAelOZ1Vr/sXE7zDkJ -lF7W2u++AVtd0x7Y/X1PzaBB4DSTv8vihpw3kpBWHNzrKQXlxJ7HNd+KDM3FIUPpqojlNcAZQmNa -Al6kSBg6hW/cnbw/nZzBh7h6YQjpdwt/cKt63dmXLGQehb+8dJahw3oS7AwaboMMPOhyRp/7SNVe -l+axofjk70YllJyJ22k4vuxcDlbHZVHlUIiIv0LVKz3l+bqeLrPK9HOSAgu+TGbrIP65y7WZf+a2 -E/rKS03Z7lNGBjvGTq2TWoF+bCpLagVFjPIhpDGQh2xlnJ2lYJU6Un/10asIbvPuW/mIPX64b24D -5EI= ------END CERTIFICATE----- - -Hellenic Academic and Research Institutions RootCA 2011 -======================================================= ------BEGIN CERTIFICATE----- -MIIEMTCCAxmgAwIBAgIBADANBgkqhkiG9w0BAQUFADCBlTELMAkGA1UEBhMCR1IxRDBCBgNVBAoT -O0hlbGxlbmljIEFjYWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1dGlvbnMgQ2VydC4gQXV0aG9y -aXR5MUAwPgYDVQQDEzdIZWxsZW5pYyBBY2FkZW1pYyBhbmQgUmVzZWFyY2ggSW5zdGl0dXRpb25z -IFJvb3RDQSAyMDExMB4XDTExMTIwNjEzNDk1MloXDTMxMTIwMTEzNDk1MlowgZUxCzAJBgNVBAYT -AkdSMUQwQgYDVQQKEztIZWxsZW5pYyBBY2FkZW1pYyBhbmQgUmVzZWFyY2ggSW5zdGl0dXRpb25z -IENlcnQuIEF1dGhvcml0eTFAMD4GA1UEAxM3SGVsbGVuaWMgQWNhZGVtaWMgYW5kIFJlc2VhcmNo -IEluc3RpdHV0aW9ucyBSb290Q0EgMjAxMTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB -AKlTAOMupvaO+mDYLZU++CwqVE7NuYRhlFhPjz2L5EPzdYmNUeTDN9KKiE15HrcS3UN4SoqS5tdI -1Q+kOilENbgH9mgdVc04UfCMJDGFr4PJfel3r+0ae50X+bOdOFAPplp5kYCvN66m0zH7tSYJnTxa -71HFK9+WXesyHgLacEnsbgzImjeN9/E2YEsmLIKe0HjzDQ9jpFEw4fkrJxIH2Oq9GGKYsFk3fb7u -8yBRQlqD75O6aRXxYp2fmTmCobd0LovUxQt7L/DICto9eQqakxylKHJzkUOap9FNhYS5qXSPFEDH -3N6sQWRstBmbAmNtJGSPRLIl6s5ddAxjMlyNh+UCAwEAAaOBiTCBhjAPBgNVHRMBAf8EBTADAQH/ -MAsGA1UdDwQEAwIBBjAdBgNVHQ4EFgQUppFC/RNhSiOeCKQp5dgTBCPuQSUwRwYDVR0eBEAwPqA8 -MAWCAy5ncjAFggMuZXUwBoIELmVkdTAGggQub3JnMAWBAy5ncjAFgQMuZXUwBoEELmVkdTAGgQQu -b3JnMA0GCSqGSIb3DQEBBQUAA4IBAQAf73lB4XtuP7KMhjdCSk4cNx6NZrokgclPEg8hwAOXhiVt -XdMiKahsog2p6z0GW5k6x8zDmjR/qw7IThzh+uTczQ2+vyT+bOdrwg3IBp5OjWEopmr95fZi6hg8 -TqBTnbI6nOulnJEWtk2C4AwFSKls9cz4y51JtPACpf1wA+2KIaWuE4ZJwzNzvoc7dIsXRSZMFpGD -/md9zU1jZ/rzAxKWeAaNsWftjj++n08C9bMJL/NMh98qy5V8AcysNnq/onN694/BtZqhFLKPM58N -7yLcZnuEvUUXBj08yrl3NI/K6s8/MT7jiOOASSXIl7WdmplNsDz4SgCbZN2fOUvRJ9e4 ------END CERTIFICATE----- diff --git a/3rdparty/aws-sdk/lib/requestcore/requestcore.class.php b/3rdparty/aws-sdk/lib/requestcore/requestcore.class.php deleted file mode 100755 index 087694f08cd1fa60dcef1e4a46b372edfeffe704..0000000000000000000000000000000000000000 --- a/3rdparty/aws-sdk/lib/requestcore/requestcore.class.php +++ /dev/null @@ -1,1028 +0,0 @@ -). - */ - public $request_class = 'RequestCore'; - - /** - * The default class to use for HTTP Responses (defaults to ). - */ - public $response_class = 'ResponseCore'; - - /** - * Default useragent string to use. - */ - public $useragent = 'RequestCore/1.4.4'; - - /** - * File to read from while streaming up. - */ - public $read_file = null; - - /** - * The resource to read from while streaming up. - */ - public $read_stream = null; - - /** - * The size of the stream to read from. - */ - public $read_stream_size = null; - - /** - * The length already read from the stream. - */ - public $read_stream_read = 0; - - /** - * File to write to while streaming down. - */ - public $write_file = null; - - /** - * The resource to write to while streaming down. - */ - public $write_stream = null; - - /** - * Stores the intended starting seek position. - */ - public $seek_position = null; - - /** - * The location of the cacert.pem file to use. - */ - public $cacert_location = false; - - /** - * The state of SSL certificate verification. - */ - public $ssl_verification = true; - - /** - * The user-defined callback function to call when a stream is read from. - */ - public $registered_streaming_read_callback = null; - - /** - * The user-defined callback function to call when a stream is written to. - */ - public $registered_streaming_write_callback = null; - - - /*%******************************************************************************************%*/ - // CONSTANTS - - /** - * GET HTTP Method - */ - const HTTP_GET = 'GET'; - - /** - * POST HTTP Method - */ - const HTTP_POST = 'POST'; - - /** - * PUT HTTP Method - */ - const HTTP_PUT = 'PUT'; - - /** - * DELETE HTTP Method - */ - const HTTP_DELETE = 'DELETE'; - - /** - * HEAD HTTP Method - */ - const HTTP_HEAD = 'HEAD'; - - - /*%******************************************************************************************%*/ - // CONSTRUCTOR/DESTRUCTOR - - /** - * Constructs a new instance of this class. - * - * @param string $url (Optional) The URL to request or service endpoint to query. - * @param string $proxy (Optional) The faux-url to use for proxy settings. Takes the following format: `proxy://user:pass@hostname:port` - * @param array $helpers (Optional) An associative array of classnames to use for request, and response functionality. Gets passed in automatically by the calling class. - * @return $this A reference to the current instance. - */ - public function __construct($url = null, $proxy = null, $helpers = null) - { - // Set some default values. - $this->request_url = $url; - $this->method = self::HTTP_GET; - $this->request_headers = array(); - $this->request_body = ''; - - // Set a new Request class if one was set. - if (isset($helpers['request']) && !empty($helpers['request'])) - { - $this->request_class = $helpers['request']; - } - - // Set a new Request class if one was set. - if (isset($helpers['response']) && !empty($helpers['response'])) - { - $this->response_class = $helpers['response']; - } - - if ($proxy) - { - $this->set_proxy($proxy); - } - - return $this; - } - - /** - * Destructs the instance. Closes opened file handles. - * - * @return $this A reference to the current instance. - */ - public function __destruct() - { - if (isset($this->read_file) && isset($this->read_stream)) - { - fclose($this->read_stream); - } - - if (isset($this->write_file) && isset($this->write_stream)) - { - fclose($this->write_stream); - } - - return $this; - } - - - /*%******************************************************************************************%*/ - // REQUEST METHODS - - /** - * Sets the credentials to use for authentication. - * - * @param string $user (Required) The username to authenticate with. - * @param string $pass (Required) The password to authenticate with. - * @return $this A reference to the current instance. - */ - public function set_credentials($user, $pass) - { - $this->username = $user; - $this->password = $pass; - return $this; - } - - /** - * Adds a custom HTTP header to the cURL request. - * - * @param string $key (Required) The custom HTTP header to set. - * @param mixed $value (Required) The value to assign to the custom HTTP header. - * @return $this A reference to the current instance. - */ - public function add_header($key, $value) - { - $this->request_headers[$key] = $value; - return $this; - } - - /** - * Removes an HTTP header from the cURL request. - * - * @param string $key (Required) The custom HTTP header to set. - * @return $this A reference to the current instance. - */ - public function remove_header($key) - { - if (isset($this->request_headers[$key])) - { - unset($this->request_headers[$key]); - } - return $this; - } - - /** - * Set the method type for the request. - * - * @param string $method (Required) One of the following constants: , , , , . - * @return $this A reference to the current instance. - */ - public function set_method($method) - { - $this->method = strtoupper($method); - return $this; - } - - /** - * Sets a custom useragent string for the class. - * - * @param string $ua (Required) The useragent string to use. - * @return $this A reference to the current instance. - */ - public function set_useragent($ua) - { - $this->useragent = $ua; - return $this; - } - - /** - * Set the body to send in the request. - * - * @param string $body (Required) The textual content to send along in the body of the request. - * @return $this A reference to the current instance. - */ - public function set_body($body) - { - $this->request_body = $body; - return $this; - } - - /** - * Set the URL to make the request to. - * - * @param string $url (Required) The URL to make the request to. - * @return $this A reference to the current instance. - */ - public function set_request_url($url) - { - $this->request_url = $url; - return $this; - } - - /** - * Set additional CURLOPT settings. These will merge with the default settings, and override if - * there is a duplicate. - * - * @param array $curlopts (Optional) A set of key-value pairs that set `CURLOPT` options. These will merge with the existing CURLOPTs, and ones passed here will override the defaults. Keys should be the `CURLOPT_*` constants, not strings. - * @return $this A reference to the current instance. - */ - public function set_curlopts($curlopts) - { - $this->curlopts = $curlopts; - return $this; - } - - /** - * Sets the length in bytes to read from the stream while streaming up. - * - * @param integer $size (Required) The length in bytes to read from the stream. - * @return $this A reference to the current instance. - */ - public function set_read_stream_size($size) - { - $this->read_stream_size = $size; - - return $this; - } - - /** - * Sets the resource to read from while streaming up. Reads the stream from its current position until - * EOF or `$size` bytes have been read. If `$size` is not given it will be determined by and - * . - * - * @param resource $resource (Required) The readable resource to read from. - * @param integer $size (Optional) The size of the stream to read. - * @return $this A reference to the current instance. - */ - public function set_read_stream($resource, $size = null) - { - if (!isset($size) || $size < 0) - { - $stats = fstat($resource); - - if ($stats && $stats['size'] >= 0) - { - $position = ftell($resource); - - if ($position !== false && $position >= 0) - { - $size = $stats['size'] - $position; - } - } - } - - $this->read_stream = $resource; - - return $this->set_read_stream_size($size); - } - - /** - * Sets the file to read from while streaming up. - * - * @param string $location (Required) The readable location to read from. - * @return $this A reference to the current instance. - */ - public function set_read_file($location) - { - $this->read_file = $location; - $read_file_handle = fopen($location, 'r'); - - return $this->set_read_stream($read_file_handle); - } - - /** - * Sets the resource to write to while streaming down. - * - * @param resource $resource (Required) The writeable resource to write to. - * @return $this A reference to the current instance. - */ - public function set_write_stream($resource) - { - $this->write_stream = $resource; - - return $this; - } - - /** - * Sets the file to write to while streaming down. - * - * @param string $location (Required) The writeable location to write to. - * @return $this A reference to the current instance. - */ - public function set_write_file($location) - { - $this->write_file = $location; - $write_file_handle = fopen($location, 'w'); - - return $this->set_write_stream($write_file_handle); - } - - /** - * Set the proxy to use for making requests. - * - * @param string $proxy (Required) The faux-url to use for proxy settings. Takes the following format: `proxy://user:pass@hostname:port` - * @return $this A reference to the current instance. - */ - public function set_proxy($proxy) - { - $proxy = parse_url($proxy); - $proxy['user'] = isset($proxy['user']) ? $proxy['user'] : null; - $proxy['pass'] = isset($proxy['pass']) ? $proxy['pass'] : null; - $proxy['port'] = isset($proxy['port']) ? $proxy['port'] : null; - $this->proxy = $proxy; - return $this; - } - - /** - * Set the intended starting seek position. - * - * @param integer $position (Required) The byte-position of the stream to begin reading from. - * @return $this A reference to the current instance. - */ - public function set_seek_position($position) - { - $this->seek_position = isset($position) ? (integer) $position : null; - - return $this; - } - - /** - * Register a callback function to execute whenever a data stream is read from using - * . - * - * The user-defined callback function should accept three arguments: - * - *
    - *
  • $curl_handle - resource - Required - The cURL handle resource that represents the in-progress transfer.
  • - *
  • $file_handle - resource - Required - The file handle resource that represents the file on the local file system.
  • - *
  • $length - integer - Required - The length in kilobytes of the data chunk that was transferred.
  • - *
- * - * @param string|array|function $callback (Required) The callback function is called by , so you can pass the following values:
    - *
  • The name of a global function to execute, passed as a string.
  • - *
  • A method to execute, passed as array('ClassName', 'MethodName').
  • - *
  • An anonymous function (PHP 5.3+).
- * @return $this A reference to the current instance. - */ - public function register_streaming_read_callback($callback) - { - $this->registered_streaming_read_callback = $callback; - - return $this; - } - - /** - * Register a callback function to execute whenever a data stream is written to using - * . - * - * The user-defined callback function should accept two arguments: - * - *
    - *
  • $curl_handle - resource - Required - The cURL handle resource that represents the in-progress transfer.
  • - *
  • $length - integer - Required - The length in kilobytes of the data chunk that was transferred.
  • - *
- * - * @param string|array|function $callback (Required) The callback function is called by , so you can pass the following values:
    - *
  • The name of a global function to execute, passed as a string.
  • - *
  • A method to execute, passed as array('ClassName', 'MethodName').
  • - *
  • An anonymous function (PHP 5.3+).
- * @return $this A reference to the current instance. - */ - public function register_streaming_write_callback($callback) - { - $this->registered_streaming_write_callback = $callback; - - return $this; - } - - - /*%******************************************************************************************%*/ - // PREPARE, SEND, AND PROCESS REQUEST - - /** - * A callback function that is invoked by cURL for streaming up. - * - * @param resource $curl_handle (Required) The cURL handle for the request. - * @param resource $file_handle (Required) The open file handle resource. - * @param integer $length (Required) The maximum number of bytes to read. - * @return binary Binary data from a stream. - */ - public function streaming_read_callback($curl_handle, $file_handle, $length) - { - // Once we've sent as much as we're supposed to send... - if ($this->read_stream_read >= $this->read_stream_size) - { - // Send EOF - return ''; - } - - // If we're at the beginning of an upload and need to seek... - if ($this->read_stream_read == 0 && isset($this->seek_position) && $this->seek_position !== ftell($this->read_stream)) - { - if (fseek($this->read_stream, $this->seek_position) !== 0) - { - throw new RequestCore_Exception('The stream does not support seeking and is either not at the requested position or the position is unknown.'); - } - } - - $read = fread($this->read_stream, min($this->read_stream_size - $this->read_stream_read, $length)); // Remaining upload data or cURL's requested chunk size - $this->read_stream_read += strlen($read); - - $out = $read === false ? '' : $read; - - // Execute callback function - if ($this->registered_streaming_read_callback) - { - call_user_func($this->registered_streaming_read_callback, $curl_handle, $file_handle, $out); - } - - return $out; - } - - /** - * A callback function that is invoked by cURL for streaming down. - * - * @param resource $curl_handle (Required) The cURL handle for the request. - * @param binary $data (Required) The data to write. - * @return integer The number of bytes written. - */ - public function streaming_write_callback($curl_handle, $data) - { - $length = strlen($data); - $written_total = 0; - $written_last = 0; - - while ($written_total < $length) - { - $written_last = fwrite($this->write_stream, substr($data, $written_total)); - - if ($written_last === false) - { - return $written_total; - } - - $written_total += $written_last; - } - - // Execute callback function - if ($this->registered_streaming_write_callback) - { - call_user_func($this->registered_streaming_write_callback, $curl_handle, $written_total); - } - - return $written_total; - } - - /** - * Prepares and adds the details of the cURL request. This can be passed along to a - * function. - * - * @return resource The handle for the cURL object. - */ - public function prep_request() - { - $curl_handle = curl_init(); - - // Set default options. - curl_setopt($curl_handle, CURLOPT_URL, $this->request_url); - curl_setopt($curl_handle, CURLOPT_FILETIME, true); - curl_setopt($curl_handle, CURLOPT_FRESH_CONNECT, false); - curl_setopt($curl_handle, CURLOPT_CLOSEPOLICY, CURLCLOSEPOLICY_LEAST_RECENTLY_USED); - curl_setopt($curl_handle, CURLOPT_MAXREDIRS, 5); - curl_setopt($curl_handle, CURLOPT_HEADER, true); - curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, true); - curl_setopt($curl_handle, CURLOPT_TIMEOUT, 5184000); - curl_setopt($curl_handle, CURLOPT_CONNECTTIMEOUT, 120); - curl_setopt($curl_handle, CURLOPT_NOSIGNAL, true); - curl_setopt($curl_handle, CURLOPT_REFERER, $this->request_url); - curl_setopt($curl_handle, CURLOPT_USERAGENT, $this->useragent); - curl_setopt($curl_handle, CURLOPT_READFUNCTION, array($this, 'streaming_read_callback')); - - // Verification of the SSL cert - if ($this->ssl_verification) - { - curl_setopt($curl_handle, CURLOPT_SSL_VERIFYPEER, true); - curl_setopt($curl_handle, CURLOPT_SSL_VERIFYHOST, 2); - } - else - { - curl_setopt($curl_handle, CURLOPT_SSL_VERIFYPEER, false); - curl_setopt($curl_handle, CURLOPT_SSL_VERIFYHOST, false); - } - - // chmod the file as 0755 - if ($this->cacert_location === true) - { - curl_setopt($curl_handle, CURLOPT_CAINFO, dirname(__FILE__) . '/cacert.pem'); - } - elseif (is_string($this->cacert_location)) - { - curl_setopt($curl_handle, CURLOPT_CAINFO, $this->cacert_location); - } - - // Debug mode - if ($this->debug_mode) - { - curl_setopt($curl_handle, CURLOPT_VERBOSE, true); - } - - // Handle open_basedir & safe mode - if (!ini_get('safe_mode') && !ini_get('open_basedir')) - { - curl_setopt($curl_handle, CURLOPT_FOLLOWLOCATION, true); - } - - // Enable a proxy connection if requested. - if ($this->proxy) - { - curl_setopt($curl_handle, CURLOPT_HTTPPROXYTUNNEL, true); - - $host = $this->proxy['host']; - $host .= ($this->proxy['port']) ? ':' . $this->proxy['port'] : ''; - curl_setopt($curl_handle, CURLOPT_PROXY, $host); - - if (isset($this->proxy['user']) && isset($this->proxy['pass'])) - { - curl_setopt($curl_handle, CURLOPT_PROXYUSERPWD, $this->proxy['user'] . ':' . $this->proxy['pass']); - } - } - - // Set credentials for HTTP Basic/Digest Authentication. - if ($this->username && $this->password) - { - curl_setopt($curl_handle, CURLOPT_HTTPAUTH, CURLAUTH_ANY); - curl_setopt($curl_handle, CURLOPT_USERPWD, $this->username . ':' . $this->password); - } - - // Handle the encoding if we can. - if (extension_loaded('zlib')) - { - curl_setopt($curl_handle, CURLOPT_ENCODING, 'gzip, deflate'); - } - - // Process custom headers - if (isset($this->request_headers) && count($this->request_headers)) - { - $temp_headers = array(); - - foreach ($this->request_headers as $k => $v) - { - $temp_headers[] = $k . ': ' . $v; - } - - curl_setopt($curl_handle, CURLOPT_HTTPHEADER, $temp_headers); - } - - switch ($this->method) - { - case self::HTTP_PUT: - curl_setopt($curl_handle, CURLOPT_CUSTOMREQUEST, 'PUT'); - if (isset($this->read_stream)) - { - if (!isset($this->read_stream_size) || $this->read_stream_size < 0) - { - throw new RequestCore_Exception('The stream size for the streaming upload cannot be determined.'); - } - - curl_setopt($curl_handle, CURLOPT_INFILESIZE, $this->read_stream_size); - curl_setopt($curl_handle, CURLOPT_UPLOAD, true); - } - else - { - curl_setopt($curl_handle, CURLOPT_POSTFIELDS, $this->request_body); - } - break; - - case self::HTTP_POST: - curl_setopt($curl_handle, CURLOPT_POST, true); - curl_setopt($curl_handle, CURLOPT_POSTFIELDS, $this->request_body); - break; - - case self::HTTP_HEAD: - curl_setopt($curl_handle, CURLOPT_CUSTOMREQUEST, self::HTTP_HEAD); - curl_setopt($curl_handle, CURLOPT_NOBODY, 1); - break; - - default: // Assumed GET - curl_setopt($curl_handle, CURLOPT_CUSTOMREQUEST, $this->method); - if (isset($this->write_stream)) - { - curl_setopt($curl_handle, CURLOPT_WRITEFUNCTION, array($this, 'streaming_write_callback')); - curl_setopt($curl_handle, CURLOPT_HEADER, false); - } - else - { - curl_setopt($curl_handle, CURLOPT_POSTFIELDS, $this->request_body); - } - break; - } - - // Merge in the CURLOPTs - if (isset($this->curlopts) && sizeof($this->curlopts) > 0) - { - foreach ($this->curlopts as $k => $v) - { - curl_setopt($curl_handle, $k, $v); - } - } - - return $curl_handle; - } - - /** - * Take the post-processed cURL data and break it down into useful header/body/info chunks. Uses the - * data stored in the `curl_handle` and `response` properties unless replacement data is passed in via - * parameters. - * - * @param resource $curl_handle (Optional) The reference to the already executed cURL request. - * @param string $response (Optional) The actual response content itself that needs to be parsed. - * @return ResponseCore A object containing a parsed HTTP response. - */ - public function process_response($curl_handle = null, $response = null) - { - // Accept a custom one if it's passed. - if ($curl_handle && $response) - { - $this->curl_handle = $curl_handle; - $this->response = $response; - } - - // As long as this came back as a valid resource... - if (is_resource($this->curl_handle)) - { - // Determine what's what. - $header_size = curl_getinfo($this->curl_handle, CURLINFO_HEADER_SIZE); - $this->response_headers = substr($this->response, 0, $header_size); - $this->response_body = substr($this->response, $header_size); - $this->response_code = curl_getinfo($this->curl_handle, CURLINFO_HTTP_CODE); - $this->response_info = curl_getinfo($this->curl_handle); - - // Parse out the headers - $this->response_headers = explode("\r\n\r\n", trim($this->response_headers)); - $this->response_headers = array_pop($this->response_headers); - $this->response_headers = explode("\r\n", $this->response_headers); - array_shift($this->response_headers); - - // Loop through and split up the headers. - $header_assoc = array(); - foreach ($this->response_headers as $header) - { - $kv = explode(': ', $header); - $header_assoc[strtolower($kv[0])] = $kv[1]; - } - - // Reset the headers to the appropriate property. - $this->response_headers = $header_assoc; - $this->response_headers['_info'] = $this->response_info; - $this->response_headers['_info']['method'] = $this->method; - - if ($curl_handle && $response) - { - return new $this->response_class($this->response_headers, $this->response_body, $this->response_code, $this->curl_handle); - } - } - - // Return false - return false; - } - - /** - * Sends the request, calling necessary utility functions to update built-in properties. - * - * @param boolean $parse (Optional) Whether to parse the response with ResponseCore or not. - * @return string The resulting unparsed data from the request. - */ - public function send_request($parse = false) - { - set_time_limit(0); - - $curl_handle = $this->prep_request(); - $this->response = curl_exec($curl_handle); - - if ($this->response === false) - { - throw new cURL_Exception('cURL resource: ' . (string) $curl_handle . '; cURL error: ' . curl_error($curl_handle) . ' (cURL error code ' . curl_errno($curl_handle) . '). See http://curl.haxx.se/libcurl/c/libcurl-errors.html for an explanation of error codes.'); - } - - $parsed_response = $this->process_response($curl_handle, $this->response); - - curl_close($curl_handle); - - if ($parse) - { - return $parsed_response; - } - - return $this->response; - } - - /** - * Sends the request using , enabling parallel requests. Uses the "rolling" method. - * - * @param array $handles (Required) An indexed array of cURL handles to process simultaneously. - * @param array $opt (Optional) An associative array of parameters that can have the following keys:
    - *
  • callback - string|array - Optional - The string name of a function to pass the response data to. If this is a method, pass an array where the [0] index is the class and the [1] index is the method name.
  • - *
  • limit - integer - Optional - The number of simultaneous requests to make. This can be useful for scaling around slow server responses. Defaults to trusting cURLs judgement as to how many to use.
- * @return array Post-processed cURL responses. - */ - public function send_multi_request($handles, $opt = null) - { - set_time_limit(0); - - // Skip everything if there are no handles to process. - if (count($handles) === 0) return array(); - - if (!$opt) $opt = array(); - - // Initialize any missing options - $limit = isset($opt['limit']) ? $opt['limit'] : -1; - - // Initialize - $handle_list = $handles; - $http = new $this->request_class(); - $multi_handle = curl_multi_init(); - $handles_post = array(); - $added = count($handles); - $last_handle = null; - $count = 0; - $i = 0; - - // Loop through the cURL handles and add as many as it set by the limit parameter. - while ($i < $added) - { - if ($limit > 0 && $i >= $limit) break; - curl_multi_add_handle($multi_handle, array_shift($handles)); - $i++; - } - - do - { - $active = false; - - // Start executing and wait for a response. - while (($status = curl_multi_exec($multi_handle, $active)) === CURLM_CALL_MULTI_PERFORM) - { - // Start looking for possible responses immediately when we have to add more handles - if (count($handles) > 0) break; - } - - // Figure out which requests finished. - $to_process = array(); - - while ($done = curl_multi_info_read($multi_handle)) - { - // Since curl_errno() isn't reliable for handles that were in multirequests, we check the 'result' of the info read, which contains the curl error number, (listed here http://curl.haxx.se/libcurl/c/libcurl-errors.html ) - if ($done['result'] > 0) - { - throw new cURL_Multi_Exception('cURL resource: ' . (string) $done['handle'] . '; cURL error: ' . curl_error($done['handle']) . ' (cURL error code ' . $done['result'] . '). See http://curl.haxx.se/libcurl/c/libcurl-errors.html for an explanation of error codes.'); - } - - // Because curl_multi_info_read() might return more than one message about a request, we check to see if this request is already in our array of completed requests - elseif (!isset($to_process[(int) $done['handle']])) - { - $to_process[(int) $done['handle']] = $done; - } - } - - // Actually deal with the request - foreach ($to_process as $pkey => $done) - { - $response = $http->process_response($done['handle'], curl_multi_getcontent($done['handle'])); - $key = array_search($done['handle'], $handle_list, true); - $handles_post[$key] = $response; - - if (count($handles) > 0) - { - curl_multi_add_handle($multi_handle, array_shift($handles)); - } - - curl_multi_remove_handle($multi_handle, $done['handle']); - curl_close($done['handle']); - } - } - while ($active || count($handles_post) < $added); - - curl_multi_close($multi_handle); - - ksort($handles_post, SORT_NUMERIC); - return $handles_post; - } - - - /*%******************************************************************************************%*/ - // RESPONSE METHODS - - /** - * Get the HTTP response headers from the request. - * - * @param string $header (Optional) A specific header value to return. Defaults to all headers. - * @return string|array All or selected header values. - */ - public function get_response_header($header = null) - { - if ($header) - { - return $this->response_headers[strtolower($header)]; - } - return $this->response_headers; - } - - /** - * Get the HTTP response body from the request. - * - * @return string The response body. - */ - public function get_response_body() - { - return $this->response_body; - } - - /** - * Get the HTTP response code from the request. - * - * @return string The HTTP response code. - */ - public function get_response_code() - { - return $this->response_code; - } -} - - -/** - * Container for all response-related methods. - */ -class ResponseCore -{ - /** - * Stores the HTTP header information. - */ - public $header; - - /** - * Stores the SimpleXML response. - */ - public $body; - - /** - * Stores the HTTP response code. - */ - public $status; - - /** - * Constructs a new instance of this class. - * - * @param array $header (Required) Associative array of HTTP headers (typically returned by ). - * @param string $body (Required) XML-formatted response from AWS. - * @param integer $status (Optional) HTTP response status code from the request. - * @return object Contains an `header` property (HTTP headers as an associative array), a or `body` property, and an `status` code. - */ - public function __construct($header, $body, $status = null) - { - $this->header = $header; - $this->body = $body; - $this->status = $status; - - return $this; - } - - /** - * Did we receive the status code we expected? - * - * @param integer|array $codes (Optional) The status code(s) to expect. Pass an for a single acceptable value, or an of integers for multiple acceptable values. - * @return boolean Whether we received the expected status code or not. - */ - public function isOK($codes = array(200, 201, 204, 206)) - { - if (is_array($codes)) - { - return in_array($this->status, $codes); - } - - return $this->status === $codes; - } -} - -class cURL_Exception extends Exception {} -class cURL_Multi_Exception extends cURL_Exception {} -class RequestCore_Exception extends Exception {} diff --git a/3rdparty/aws-sdk/lib/yaml/LICENSE b/3rdparty/aws-sdk/lib/yaml/LICENSE deleted file mode 100644 index 3cef853170eb7dfe46d7db3376a4d65154cc4615..0000000000000000000000000000000000000000 --- a/3rdparty/aws-sdk/lib/yaml/LICENSE +++ /dev/null @@ -1,19 +0,0 @@ -Copyright (c) 2008-2009 Fabien Potencier - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is furnished -to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/3rdparty/aws-sdk/lib/yaml/README.markdown b/3rdparty/aws-sdk/lib/yaml/README.markdown deleted file mode 100644 index e4f80cfbac4bd0ead6ab4ae3b94c6b5591cdd0af..0000000000000000000000000000000000000000 --- a/3rdparty/aws-sdk/lib/yaml/README.markdown +++ /dev/null @@ -1,15 +0,0 @@ -Symfony YAML: A PHP library that speaks YAML -============================================ - -Symfony YAML is a PHP library that parses YAML strings and converts them to -PHP arrays. It can also converts PHP arrays to YAML strings. Its official -website is at http://components.symfony-project.org/yaml/. - -The documentation is to be found in the `doc/` directory. - -Symfony YAML is licensed under the MIT license (see LICENSE file). - -The Symfony YAML library is developed and maintained by the -[symfony](http://www.symfony-project.org/) project team. It has been extracted -from symfony to be used as a standalone library. Symfony YAML is part of the -[symfony components project](http://components.symfony-project.org/). diff --git a/3rdparty/aws-sdk/lib/yaml/lib/sfYaml.php b/3rdparty/aws-sdk/lib/yaml/lib/sfYaml.php deleted file mode 100644 index 1d89ccc973615e9d7f6b07ded11280d63c8dffe2..0000000000000000000000000000000000000000 --- a/3rdparty/aws-sdk/lib/yaml/lib/sfYaml.php +++ /dev/null @@ -1,135 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -/** - * sfYaml offers convenience methods to load and dump YAML. - * - * @package symfony - * @subpackage yaml - * @author Fabien Potencier - * @version SVN: $Id: sfYaml.class.php 8988 2008-05-15 20:24:26Z fabien $ - */ -class sfYaml -{ - static protected - $spec = '1.2'; - - /** - * Sets the YAML specification version to use. - * - * @param string $version The YAML specification version - */ - static public function setSpecVersion($version) - { - if (!in_array($version, array('1.1', '1.2'))) - { - throw new InvalidArgumentException(sprintf('Version %s of the YAML specifications is not supported', $version)); - } - - self::$spec = $version; - } - - /** - * Gets the YAML specification version to use. - * - * @return string The YAML specification version - */ - static public function getSpecVersion() - { - return self::$spec; - } - - /** - * Loads YAML into a PHP array. - * - * The load method, when supplied with a YAML stream (string or file), - * will do its best to convert YAML in a file into a PHP array. - * - * Usage: - * - * $array = sfYaml::load('config.yml'); - * print_r($array); - * - * - * @param string $input Path of YAML file or string containing YAML - * - * @return array The YAML converted to a PHP array - * - * @throws InvalidArgumentException If the YAML is not valid - */ - public static function load($input) - { - $file = ''; - - // if input is a file, process it - if (strpos($input, "\n") === false && is_file($input)) - { - $file = $input; - - ob_start(); - $retval = include($input); - $content = ob_get_clean(); - - // if an array is returned by the config file assume it's in plain php form else in YAML - $input = is_array($retval) ? $retval : $content; - } - - // if an array is returned by the config file assume it's in plain php form else in YAML - if (is_array($input)) - { - return $input; - } - - require_once dirname(__FILE__).'/sfYamlParser.php'; - - $yaml = new sfYamlParser(); - - try - { - $ret = $yaml->parse($input); - } - catch (Exception $e) - { - throw new InvalidArgumentException(sprintf('Unable to parse %s: %s', $file ? sprintf('file "%s"', $file) : 'string', $e->getMessage())); - } - - return $ret; - } - - /** - * Dumps a PHP array to a YAML string. - * - * The dump method, when supplied with an array, will do its best - * to convert the array into friendly YAML. - * - * @param array $array PHP array - * @param integer $inline The level where you switch to inline YAML - * - * @return string A YAML string representing the original PHP array - */ - public static function dump($array, $inline = 2) - { - require_once dirname(__FILE__).'/sfYamlDumper.php'; - - $yaml = new sfYamlDumper(); - - return $yaml->dump($array, $inline); - } -} - -/** - * Wraps echo to automatically provide a newline. - * - * @param string $string The string to echo with new line - */ -function echoln($string) -{ - echo $string."\n"; -} diff --git a/3rdparty/aws-sdk/lib/yaml/lib/sfYamlDumper.php b/3rdparty/aws-sdk/lib/yaml/lib/sfYamlDumper.php deleted file mode 100644 index 0ada2b37d210986e6dadd7c40d2b4cf5b60d6564..0000000000000000000000000000000000000000 --- a/3rdparty/aws-sdk/lib/yaml/lib/sfYamlDumper.php +++ /dev/null @@ -1,60 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -require_once(dirname(__FILE__).'/sfYamlInline.php'); - -/** - * sfYamlDumper dumps PHP variables to YAML strings. - * - * @package symfony - * @subpackage yaml - * @author Fabien Potencier - * @version SVN: $Id: sfYamlDumper.class.php 10575 2008-08-01 13:08:42Z nicolas $ - */ -class sfYamlDumper -{ - /** - * Dumps a PHP value to YAML. - * - * @param mixed $input The PHP value - * @param integer $inline The level where you switch to inline YAML - * @param integer $indent The level o indentation indentation (used internally) - * - * @return string The YAML representation of the PHP value - */ - public function dump($input, $inline = 0, $indent = 0) - { - $output = ''; - $prefix = $indent ? str_repeat(' ', $indent) : ''; - - if ($inline <= 0 || !is_array($input) || empty($input)) - { - $output .= $prefix.sfYamlInline::dump($input); - } - else - { - $isAHash = array_keys($input) !== range(0, count($input) - 1); - - foreach ($input as $key => $value) - { - $willBeInlined = $inline - 1 <= 0 || !is_array($value) || empty($value); - - $output .= sprintf('%s%s%s%s', - $prefix, - $isAHash ? sfYamlInline::dump($key).':' : '-', - $willBeInlined ? ' ' : "\n", - $this->dump($value, $inline - 1, $willBeInlined ? 0 : $indent + 2) - ).($willBeInlined ? "\n" : ''); - } - } - - return $output; - } -} diff --git a/3rdparty/aws-sdk/lib/yaml/lib/sfYamlInline.php b/3rdparty/aws-sdk/lib/yaml/lib/sfYamlInline.php deleted file mode 100644 index 66edb4f07ab04189879fafc7db17b8d9b9a2ad21..0000000000000000000000000000000000000000 --- a/3rdparty/aws-sdk/lib/yaml/lib/sfYamlInline.php +++ /dev/null @@ -1,442 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -require_once dirname(__FILE__).'/sfYaml.php'; - -/** - * sfYamlInline implements a YAML parser/dumper for the YAML inline syntax. - * - * @package symfony - * @subpackage yaml - * @author Fabien Potencier - * @version SVN: $Id: sfYamlInline.class.php 16177 2009-03-11 08:32:48Z fabien $ - */ -class sfYamlInline -{ - const REGEX_QUOTED_STRING = '(?:"([^"\\\\]*(?:\\\\.[^"\\\\]*)*)"|\'([^\']*(?:\'\'[^\']*)*)\')'; - - /** - * Convert a YAML string to a PHP array. - * - * @param string $value A YAML string - * - * @return array A PHP array representing the YAML string - */ - static public function load($value) - { - $value = trim($value); - - if (0 == strlen($value)) - { - return ''; - } - - if (function_exists('mb_internal_encoding') && ((int) ini_get('mbstring.func_overload')) & 2) - { - $mbEncoding = mb_internal_encoding(); - mb_internal_encoding('ASCII'); - } - - switch ($value[0]) - { - case '[': - $result = self::parseSequence($value); - break; - case '{': - $result = self::parseMapping($value); - break; - default: - $result = self::parseScalar($value); - } - - if (isset($mbEncoding)) - { - mb_internal_encoding($mbEncoding); - } - - return $result; - } - - /** - * Dumps a given PHP variable to a YAML string. - * - * @param mixed $value The PHP variable to convert - * - * @return string The YAML string representing the PHP array - */ - static public function dump($value) - { - if ('1.1' === sfYaml::getSpecVersion()) - { - $trueValues = array('true', 'on', '+', 'yes', 'y'); - $falseValues = array('false', 'off', '-', 'no', 'n'); - } - else - { - $trueValues = array('true'); - $falseValues = array('false'); - } - - switch (true) - { - case is_resource($value): - throw new InvalidArgumentException('Unable to dump PHP resources in a YAML file.'); - case is_object($value): - return '!!php/object:'.serialize($value); - case is_array($value): - return self::dumpArray($value); - case null === $value: - return 'null'; - case true === $value: - return 'true'; - case false === $value: - return 'false'; - case ctype_digit($value): - return is_string($value) ? "'$value'" : (int) $value; - case is_numeric($value): - return is_infinite($value) ? str_ireplace('INF', '.Inf', strval($value)) : (is_string($value) ? "'$value'" : $value); - case false !== strpos($value, "\n") || false !== strpos($value, "\r"): - return sprintf('"%s"', str_replace(array('"', "\n", "\r"), array('\\"', '\n', '\r'), $value)); - case preg_match('/[ \s \' " \: \{ \} \[ \] , & \* \# \?] | \A[ - ? | < > = ! % @ ` ]/x', $value): - return sprintf("'%s'", str_replace('\'', '\'\'', $value)); - case '' == $value: - return "''"; - case preg_match(self::getTimestampRegex(), $value): - return "'$value'"; - case in_array(strtolower($value), $trueValues): - return "'$value'"; - case in_array(strtolower($value), $falseValues): - return "'$value'"; - case in_array(strtolower($value), array('null', '~')): - return "'$value'"; - default: - return $value; - } - } - - /** - * Dumps a PHP array to a YAML string. - * - * @param array $value The PHP array to dump - * - * @return string The YAML string representing the PHP array - */ - static protected function dumpArray($value) - { - // array - $keys = array_keys($value); - if ( - (1 == count($keys) && '0' == $keys[0]) - || - (count($keys) > 1 && array_reduce($keys, create_function('$v,$w', 'return (integer) $v + $w;'), 0) == count($keys) * (count($keys) - 1) / 2)) - { - $output = array(); - foreach ($value as $val) - { - $output[] = self::dump($val); - } - - return sprintf('[%s]', implode(', ', $output)); - } - - // mapping - $output = array(); - foreach ($value as $key => $val) - { - $output[] = sprintf('%s: %s', self::dump($key), self::dump($val)); - } - - return sprintf('{ %s }', implode(', ', $output)); - } - - /** - * Parses a scalar to a YAML string. - * - * @param scalar $scalar - * @param string $delimiters - * @param array $stringDelimiter - * @param integer $i - * @param boolean $evaluate - * - * @return string A YAML string - */ - static public function parseScalar($scalar, $delimiters = null, $stringDelimiters = array('"', "'"), &$i = 0, $evaluate = true) - { - if (in_array($scalar[$i], $stringDelimiters)) - { - // quoted scalar - $output = self::parseQuotedScalar($scalar, $i); - } - else - { - // "normal" string - if (!$delimiters) - { - $output = substr($scalar, $i); - $i += strlen($output); - - // remove comments - if (false !== $strpos = strpos($output, ' #')) - { - $output = rtrim(substr($output, 0, $strpos)); - } - } - else if (preg_match('/^(.+?)('.implode('|', $delimiters).')/', substr($scalar, $i), $match)) - { - $output = $match[1]; - $i += strlen($output); - } - else - { - throw new InvalidArgumentException(sprintf('Malformed inline YAML string (%s).', $scalar)); - } - - $output = $evaluate ? self::evaluateScalar($output) : $output; - } - - return $output; - } - - /** - * Parses a quoted scalar to YAML. - * - * @param string $scalar - * @param integer $i - * - * @return string A YAML string - */ - static protected function parseQuotedScalar($scalar, &$i) - { - if (!preg_match('/'.self::REGEX_QUOTED_STRING.'/A', substr($scalar, $i), $match)) - { - throw new InvalidArgumentException(sprintf('Malformed inline YAML string (%s).', substr($scalar, $i))); - } - - $output = substr($match[0], 1, strlen($match[0]) - 2); - - if ('"' == $scalar[$i]) - { - // evaluate the string - $output = str_replace(array('\\"', '\\n', '\\r'), array('"', "\n", "\r"), $output); - } - else - { - // unescape ' - $output = str_replace('\'\'', '\'', $output); - } - - $i += strlen($match[0]); - - return $output; - } - - /** - * Parses a sequence to a YAML string. - * - * @param string $sequence - * @param integer $i - * - * @return string A YAML string - */ - static protected function parseSequence($sequence, &$i = 0) - { - $output = array(); - $len = strlen($sequence); - $i += 1; - - // [foo, bar, ...] - while ($i < $len) - { - switch ($sequence[$i]) - { - case '[': - // nested sequence - $output[] = self::parseSequence($sequence, $i); - break; - case '{': - // nested mapping - $output[] = self::parseMapping($sequence, $i); - break; - case ']': - return $output; - case ',': - case ' ': - break; - default: - $isQuoted = in_array($sequence[$i], array('"', "'")); - $value = self::parseScalar($sequence, array(',', ']'), array('"', "'"), $i); - - if (!$isQuoted && false !== strpos($value, ': ')) - { - // embedded mapping? - try - { - $value = self::parseMapping('{'.$value.'}'); - } - catch (InvalidArgumentException $e) - { - // no, it's not - } - } - - $output[] = $value; - - --$i; - } - - ++$i; - } - - throw new InvalidArgumentException(sprintf('Malformed inline YAML string %s', $sequence)); - } - - /** - * Parses a mapping to a YAML string. - * - * @param string $mapping - * @param integer $i - * - * @return string A YAML string - */ - static protected function parseMapping($mapping, &$i = 0) - { - $output = array(); - $len = strlen($mapping); - $i += 1; - - // {foo: bar, bar:foo, ...} - while ($i < $len) - { - switch ($mapping[$i]) - { - case ' ': - case ',': - ++$i; - continue 2; - case '}': - return $output; - } - - // key - $key = self::parseScalar($mapping, array(':', ' '), array('"', "'"), $i, false); - - // value - $done = false; - while ($i < $len) - { - switch ($mapping[$i]) - { - case '[': - // nested sequence - $output[$key] = self::parseSequence($mapping, $i); - $done = true; - break; - case '{': - // nested mapping - $output[$key] = self::parseMapping($mapping, $i); - $done = true; - break; - case ':': - case ' ': - break; - default: - $output[$key] = self::parseScalar($mapping, array(',', '}'), array('"', "'"), $i); - $done = true; - --$i; - } - - ++$i; - - if ($done) - { - continue 2; - } - } - } - - throw new InvalidArgumentException(sprintf('Malformed inline YAML string %s', $mapping)); - } - - /** - * Evaluates scalars and replaces magic values. - * - * @param string $scalar - * - * @return string A YAML string - */ - static protected function evaluateScalar($scalar) - { - $scalar = trim($scalar); - - if ('1.1' === sfYaml::getSpecVersion()) - { - $trueValues = array('true', 'on', '+', 'yes', 'y'); - $falseValues = array('false', 'off', '-', 'no', 'n'); - } - else - { - $trueValues = array('true'); - $falseValues = array('false'); - } - - switch (true) - { - case 'null' == strtolower($scalar): - case '' == $scalar: - case '~' == $scalar: - return null; - case 0 === strpos($scalar, '!str'): - return (string) substr($scalar, 5); - case 0 === strpos($scalar, '! '): - return intval(self::parseScalar(substr($scalar, 2))); - case 0 === strpos($scalar, '!!php/object:'): - return unserialize(substr($scalar, 13)); - case ctype_digit($scalar): - $raw = $scalar; - $cast = intval($scalar); - return '0' == $scalar[0] ? octdec($scalar) : (((string) $raw == (string) $cast) ? $cast : $raw); - case in_array(strtolower($scalar), $trueValues): - return true; - case in_array(strtolower($scalar), $falseValues): - return false; - case is_numeric($scalar): - return '0x' == $scalar[0].$scalar[1] ? hexdec($scalar) : floatval($scalar); - case 0 == strcasecmp($scalar, '.inf'): - case 0 == strcasecmp($scalar, '.NaN'): - return -log(0); - case 0 == strcasecmp($scalar, '-.inf'): - return log(0); - case preg_match('/^(-|\+)?[0-9,]+(\.[0-9]+)?$/', $scalar): - return floatval(str_replace(',', '', $scalar)); - case preg_match(self::getTimestampRegex(), $scalar): - return strtotime($scalar); - default: - return (string) $scalar; - } - } - - static protected function getTimestampRegex() - { - return <<[0-9][0-9][0-9][0-9]) - -(?P[0-9][0-9]?) - -(?P[0-9][0-9]?) - (?:(?:[Tt]|[ \t]+) - (?P[0-9][0-9]?) - :(?P[0-9][0-9]) - :(?P[0-9][0-9]) - (?:\.(?P[0-9]*))? - (?:[ \t]*(?PZ|(?P[-+])(?P[0-9][0-9]?) - (?::(?P[0-9][0-9]))?))?)? - $~x -EOF; - } -} diff --git a/3rdparty/aws-sdk/lib/yaml/lib/sfYamlParser.php b/3rdparty/aws-sdk/lib/yaml/lib/sfYamlParser.php deleted file mode 100644 index 4c56a56db07128299142e2206d252a1b727c5686..0000000000000000000000000000000000000000 --- a/3rdparty/aws-sdk/lib/yaml/lib/sfYamlParser.php +++ /dev/null @@ -1,612 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -require_once(dirname(__FILE__).'/sfYamlInline.php'); - -if (!defined('PREG_BAD_UTF8_OFFSET_ERROR')) -{ - define('PREG_BAD_UTF8_OFFSET_ERROR', 5); -} - -/** - * sfYamlParser parses YAML strings to convert them to PHP arrays. - * - * @package symfony - * @subpackage yaml - * @author Fabien Potencier - * @version SVN: $Id: sfYamlParser.class.php 10832 2008-08-13 07:46:08Z fabien $ - */ -class sfYamlParser -{ - protected - $offset = 0, - $lines = array(), - $currentLineNb = -1, - $currentLine = '', - $refs = array(); - - /** - * Constructor - * - * @param integer $offset The offset of YAML document (used for line numbers in error messages) - */ - public function __construct($offset = 0) - { - $this->offset = $offset; - } - - /** - * Parses a YAML string to a PHP value. - * - * @param string $value A YAML string - * - * @return mixed A PHP value - * - * @throws InvalidArgumentException If the YAML is not valid - */ - public function parse($value) - { - $value = str_replace("\t", ' ', $value); // Convert tabs to spaces. - - $this->currentLineNb = -1; - $this->currentLine = ''; - $this->lines = explode("\n", $this->cleanup($value)); - - if (function_exists('mb_internal_encoding') && ((int) ini_get('mbstring.func_overload')) & 2) - { - $mbEncoding = mb_internal_encoding(); - mb_internal_encoding('ASCII'); - } - - $data = array(); - while ($this->moveToNextLine()) - { - if ($this->isCurrentLineEmpty()) - { - continue; - } - - // tab? - if (preg_match('#^\t+#', $this->currentLine)) - { - throw new InvalidArgumentException(sprintf('A YAML file cannot contain tabs as indentation at line %d (%s).', $this->getRealCurrentLineNb() + 1, $this->currentLine)); - } - - $isRef = $isInPlace = $isProcessed = false; - if (preg_match('#^\-((?P\s+)(?P.+?))?\s*$#', $this->currentLine, $values)) - { - if (isset($values['value']) && preg_match('#^&(?P[^ ]+) *(?P.*)#', $values['value'], $matches)) - { - $isRef = $matches['ref']; - $values['value'] = $matches['value']; - } - - // array - if (!isset($values['value']) || '' == trim($values['value'], ' ') || 0 === strpos(ltrim($values['value'], ' '), '#')) - { - $c = $this->getRealCurrentLineNb() + 1; - $parser = new sfYamlParser($c); - $parser->refs =& $this->refs; - $data[] = $parser->parse($this->getNextEmbedBlock()); - } - else - { - if (isset($values['leadspaces']) - && ' ' == $values['leadspaces'] - && preg_match('#^(?P'.sfYamlInline::REGEX_QUOTED_STRING.'|[^ \'"\{].*?) *\:(\s+(?P.+?))?\s*$#', $values['value'], $matches)) - { - // this is a compact notation element, add to next block and parse - $c = $this->getRealCurrentLineNb(); - $parser = new sfYamlParser($c); - $parser->refs =& $this->refs; - - $block = $values['value']; - if (!$this->isNextLineIndented()) - { - $block .= "\n".$this->getNextEmbedBlock($this->getCurrentLineIndentation() + 2); - } - - $data[] = $parser->parse($block); - } - else - { - $data[] = $this->parseValue($values['value']); - } - } - } - else if (preg_match('#^(?P'.sfYamlInline::REGEX_QUOTED_STRING.'|[^ \'"].*?) *\:(\s+(?P.+?))?\s*$#', $this->currentLine, $values)) - { - $key = sfYamlInline::parseScalar($values['key']); - - if ('<<' === $key) - { - if (isset($values['value']) && '*' === substr($values['value'], 0, 1)) - { - $isInPlace = substr($values['value'], 1); - if (!array_key_exists($isInPlace, $this->refs)) - { - throw new InvalidArgumentException(sprintf('Reference "%s" does not exist at line %s (%s).', $isInPlace, $this->getRealCurrentLineNb() + 1, $this->currentLine)); - } - } - else - { - if (isset($values['value']) && $values['value'] !== '') - { - $value = $values['value']; - } - else - { - $value = $this->getNextEmbedBlock(); - } - $c = $this->getRealCurrentLineNb() + 1; - $parser = new sfYamlParser($c); - $parser->refs =& $this->refs; - $parsed = $parser->parse($value); - - $merged = array(); - if (!is_array($parsed)) - { - throw new InvalidArgumentException(sprintf("YAML merge keys used with a scalar value instead of an array at line %s (%s)", $this->getRealCurrentLineNb() + 1, $this->currentLine)); - } - else if (isset($parsed[0])) - { - // Numeric array, merge individual elements - foreach (array_reverse($parsed) as $parsedItem) - { - if (!is_array($parsedItem)) - { - throw new InvalidArgumentException(sprintf("Merge items must be arrays at line %s (%s).", $this->getRealCurrentLineNb() + 1, $parsedItem)); - } - $merged = array_merge($parsedItem, $merged); - } - } - else - { - // Associative array, merge - $merged = array_merge($merge, $parsed); - } - - $isProcessed = $merged; - } - } - else if (isset($values['value']) && preg_match('#^&(?P[^ ]+) *(?P.*)#', $values['value'], $matches)) - { - $isRef = $matches['ref']; - $values['value'] = $matches['value']; - } - - if ($isProcessed) - { - // Merge keys - $data = $isProcessed; - } - // hash - else if (!isset($values['value']) || '' == trim($values['value'], ' ') || 0 === strpos(ltrim($values['value'], ' '), '#')) - { - // if next line is less indented or equal, then it means that the current value is null - if ($this->isNextLineIndented()) - { - $data[$key] = null; - } - else - { - $c = $this->getRealCurrentLineNb() + 1; - $parser = new sfYamlParser($c); - $parser->refs =& $this->refs; - $data[$key] = $parser->parse($this->getNextEmbedBlock()); - } - } - else - { - if ($isInPlace) - { - $data = $this->refs[$isInPlace]; - } - else - { - $data[$key] = $this->parseValue($values['value']); - } - } - } - else - { - // 1-liner followed by newline - if (2 == count($this->lines) && empty($this->lines[1])) - { - $value = sfYamlInline::load($this->lines[0]); - if (is_array($value)) - { - $first = reset($value); - if ('*' === substr($first, 0, 1)) - { - $data = array(); - foreach ($value as $alias) - { - $data[] = $this->refs[substr($alias, 1)]; - } - $value = $data; - } - } - - if (isset($mbEncoding)) - { - mb_internal_encoding($mbEncoding); - } - - return $value; - } - - switch (preg_last_error()) - { - case PREG_INTERNAL_ERROR: - $error = 'Internal PCRE error on line'; - break; - case PREG_BACKTRACK_LIMIT_ERROR: - $error = 'pcre.backtrack_limit reached on line'; - break; - case PREG_RECURSION_LIMIT_ERROR: - $error = 'pcre.recursion_limit reached on line'; - break; - case PREG_BAD_UTF8_ERROR: - $error = 'Malformed UTF-8 data on line'; - break; - case PREG_BAD_UTF8_OFFSET_ERROR: - $error = 'Offset doesn\'t correspond to the begin of a valid UTF-8 code point on line'; - break; - default: - $error = 'Unable to parse line'; - } - - throw new InvalidArgumentException(sprintf('%s %d (%s).', $error, $this->getRealCurrentLineNb() + 1, $this->currentLine)); - } - - if ($isRef) - { - $this->refs[$isRef] = end($data); - } - } - - if (isset($mbEncoding)) - { - mb_internal_encoding($mbEncoding); - } - - return empty($data) ? null : $data; - } - - /** - * Returns the current line number (takes the offset into account). - * - * @return integer The current line number - */ - protected function getRealCurrentLineNb() - { - return $this->currentLineNb + $this->offset; - } - - /** - * Returns the current line indentation. - * - * @return integer The current line indentation - */ - protected function getCurrentLineIndentation() - { - return strlen($this->currentLine) - strlen(ltrim($this->currentLine, ' ')); - } - - /** - * Returns the next embed block of YAML. - * - * @param integer $indentation The indent level at which the block is to be read, or null for default - * - * @return string A YAML string - */ - protected function getNextEmbedBlock($indentation = null) - { - $this->moveToNextLine(); - - if (null === $indentation) - { - $newIndent = $this->getCurrentLineIndentation(); - - if (!$this->isCurrentLineEmpty() && 0 == $newIndent) - { - throw new InvalidArgumentException(sprintf('Indentation problem at line %d (%s)', $this->getRealCurrentLineNb() + 1, $this->currentLine)); - } - } - else - { - $newIndent = $indentation; - } - - $data = array(substr($this->currentLine, $newIndent)); - - while ($this->moveToNextLine()) - { - if ($this->isCurrentLineEmpty()) - { - if ($this->isCurrentLineBlank()) - { - $data[] = substr($this->currentLine, $newIndent); - } - - continue; - } - - $indent = $this->getCurrentLineIndentation(); - - if (preg_match('#^(?P *)$#', $this->currentLine, $match)) - { - // empty line - $data[] = $match['text']; - } - else if ($indent >= $newIndent) - { - $data[] = substr($this->currentLine, $newIndent); - } - else if (0 == $indent) - { - $this->moveToPreviousLine(); - - break; - } - else - { - throw new InvalidArgumentException(sprintf('Indentation problem at line %d (%s)', $this->getRealCurrentLineNb() + 1, $this->currentLine)); - } - } - - return implode("\n", $data); - } - - /** - * Moves the parser to the next line. - */ - protected function moveToNextLine() - { - if ($this->currentLineNb >= count($this->lines) - 1) - { - return false; - } - - $this->currentLine = $this->lines[++$this->currentLineNb]; - - return true; - } - - /** - * Moves the parser to the previous line. - */ - protected function moveToPreviousLine() - { - $this->currentLine = $this->lines[--$this->currentLineNb]; - } - - /** - * Parses a YAML value. - * - * @param string $value A YAML value - * - * @return mixed A PHP value - */ - protected function parseValue($value) - { - if ('*' === substr($value, 0, 1)) - { - if (false !== $pos = strpos($value, '#')) - { - $value = substr($value, 1, $pos - 2); - } - else - { - $value = substr($value, 1); - } - - if (!array_key_exists($value, $this->refs)) - { - throw new InvalidArgumentException(sprintf('Reference "%s" does not exist (%s).', $value, $this->currentLine)); - } - return $this->refs[$value]; - } - - if (preg_match('/^(?P\||>)(?P\+|\-|\d+|\+\d+|\-\d+|\d+\+|\d+\-)?(?P +#.*)?$/', $value, $matches)) - { - $modifiers = isset($matches['modifiers']) ? $matches['modifiers'] : ''; - - return $this->parseFoldedScalar($matches['separator'], preg_replace('#\d+#', '', $modifiers), intval(abs($modifiers))); - } - else - { - return sfYamlInline::load($value); - } - } - - /** - * Parses a folded scalar. - * - * @param string $separator The separator that was used to begin this folded scalar (| or >) - * @param string $indicator The indicator that was used to begin this folded scalar (+ or -) - * @param integer $indentation The indentation that was used to begin this folded scalar - * - * @return string The text value - */ - protected function parseFoldedScalar($separator, $indicator = '', $indentation = 0) - { - $separator = '|' == $separator ? "\n" : ' '; - $text = ''; - - $notEOF = $this->moveToNextLine(); - - while ($notEOF && $this->isCurrentLineBlank()) - { - $text .= "\n"; - - $notEOF = $this->moveToNextLine(); - } - - if (!$notEOF) - { - return ''; - } - - if (!preg_match('#^(?P'.($indentation ? str_repeat(' ', $indentation) : ' +').')(?P.*)$#', $this->currentLine, $matches)) - { - $this->moveToPreviousLine(); - - return ''; - } - - $textIndent = $matches['indent']; - $previousIndent = 0; - - $text .= $matches['text'].$separator; - while ($this->currentLineNb + 1 < count($this->lines)) - { - $this->moveToNextLine(); - - if (preg_match('#^(?P {'.strlen($textIndent).',})(?P.+)$#', $this->currentLine, $matches)) - { - if (' ' == $separator && $previousIndent != $matches['indent']) - { - $text = substr($text, 0, -1)."\n"; - } - $previousIndent = $matches['indent']; - - $text .= str_repeat(' ', $diff = strlen($matches['indent']) - strlen($textIndent)).$matches['text'].($diff ? "\n" : $separator); - } - else if (preg_match('#^(?P *)$#', $this->currentLine, $matches)) - { - $text .= preg_replace('#^ {1,'.strlen($textIndent).'}#', '', $matches['text'])."\n"; - } - else - { - $this->moveToPreviousLine(); - - break; - } - } - - if (' ' == $separator) - { - // replace last separator by a newline - $text = preg_replace('/ (\n*)$/', "\n$1", $text); - } - - switch ($indicator) - { - case '': - $text = preg_replace('#\n+$#s', "\n", $text); - break; - case '+': - break; - case '-': - $text = preg_replace('#\n+$#s', '', $text); - break; - } - - return $text; - } - - /** - * Returns true if the next line is indented. - * - * @return Boolean Returns true if the next line is indented, false otherwise - */ - protected function isNextLineIndented() - { - $currentIndentation = $this->getCurrentLineIndentation(); - $notEOF = $this->moveToNextLine(); - - while ($notEOF && $this->isCurrentLineEmpty()) - { - $notEOF = $this->moveToNextLine(); - } - - if (false === $notEOF) - { - return false; - } - - $ret = false; - if ($this->getCurrentLineIndentation() <= $currentIndentation) - { - $ret = true; - } - - $this->moveToPreviousLine(); - - return $ret; - } - - /** - * Returns true if the current line is blank or if it is a comment line. - * - * @return Boolean Returns true if the current line is empty or if it is a comment line, false otherwise - */ - protected function isCurrentLineEmpty() - { - return $this->isCurrentLineBlank() || $this->isCurrentLineComment(); - } - - /** - * Returns true if the current line is blank. - * - * @return Boolean Returns true if the current line is blank, false otherwise - */ - protected function isCurrentLineBlank() - { - return '' == trim($this->currentLine, ' '); - } - - /** - * Returns true if the current line is a comment line. - * - * @return Boolean Returns true if the current line is a comment line, false otherwise - */ - protected function isCurrentLineComment() - { - //checking explicitly the first char of the trim is faster than loops or strpos - $ltrimmedLine = ltrim($this->currentLine, ' '); - return $ltrimmedLine[0] === '#'; - } - - /** - * Cleanups a YAML string to be parsed. - * - * @param string $value The input YAML string - * - * @return string A cleaned up YAML string - */ - protected function cleanup($value) - { - $value = str_replace(array("\r\n", "\r"), "\n", $value); - - if (!preg_match("#\n$#", $value)) - { - $value .= "\n"; - } - - // strip YAML header - $count = 0; - $value = preg_replace('#^\%YAML[: ][\d\.]+.*\n#s', '', $value, -1, $count); - $this->offset += $count; - - // remove leading comments and/or --- - $trimmedValue = preg_replace('#^((\#.*?\n)|(\-\-\-.*?\n))*#s', '', $value, -1, $count); - if ($count == 1) - { - // items have been removed, update the offset - $this->offset += substr_count($value, "\n") - substr_count($trimmedValue, "\n"); - $value = $trimmedValue; - } - - return $value; - } -} diff --git a/3rdparty/aws-sdk/sdk.class.php b/3rdparty/aws-sdk/sdk.class.php deleted file mode 100755 index 8dcb7bf252f55ed8c02122936fcf49937458241f..0000000000000000000000000000000000000000 --- a/3rdparty/aws-sdk/sdk.class.php +++ /dev/null @@ -1,1435 +0,0 @@ -). - */ - public $utilities_class = 'CFUtilities'; - - /** - * The default class to use for HTTP requests (defaults to ). - */ - public $request_class = 'CFRequest'; - - /** - * The default class to use for HTTP responses (defaults to ). - */ - public $response_class = 'CFResponse'; - - /** - * The default class to use for parsing XML (defaults to ). - */ - public $parser_class = 'CFSimpleXML'; - - /** - * The default class to use for handling batch requests (defaults to ). - */ - public $batch_class = 'CFBatchRequest'; - - /** - * The state of SSL/HTTPS use. - */ - public $use_ssl = true; - - /** - * The state of SSL certificate verification. - */ - public $ssl_verification = true; - - /** - * The proxy to use for connecting. - */ - public $proxy = null; - - /** - * The alternate hostname to use, if any. - */ - public $hostname = null; - - /** - * The state of the capability to override the hostname with . - */ - public $override_hostname = true; - - /** - * The alternate port number to use, if any. - */ - public $port_number = null; - - /** - * The alternate resource prefix to use, if any. - */ - public $resource_prefix = null; - - /** - * The state of cache flow usage. - */ - public $use_cache_flow = false; - - /** - * The caching class to use. - */ - public $cache_class = null; - - /** - * The caching location to use. - */ - public $cache_location = null; - - /** - * When the cache should be considered stale. - */ - public $cache_expires = null; - - /** - * The state of cache compression. - */ - public $cache_compress = null; - - /** - * The current instantiated cache object. - */ - public $cache_object = null; - - /** - * The current instantiated batch request object. - */ - public $batch_object = null; - - /** - * The internally instantiated batch request object. - */ - public $internal_batch_object = null; - - /** - * The state of batch flow usage. - */ - public $use_batch_flow = false; - - /** - * The state of the cache deletion setting. - */ - public $delete_cache = false; - - /** - * The state of the debug mode setting. - */ - public $debug_mode = false; - - /** - * The number of times to retry failed requests. - */ - public $max_retries = 3; - - /** - * The user-defined callback function to call when a stream is read from. - */ - public $registered_streaming_read_callback = null; - - /** - * The user-defined callback function to call when a stream is written to. - */ - public $registered_streaming_write_callback = null; - - /** - * The credentials to use for authentication. - */ - public $credentials = array(); - - /** - * The authentication class to use. - */ - public $auth_class = null; - - /** - * The operation to execute. - */ - public $operation = null; - - /** - * The payload to send. - */ - public $payload = array(); - - /** - * The string prefix to prepend to the operation name. - */ - public $operation_prefix = ''; - - /** - * The number of times a request has been retried. - */ - public $redirects = 0; - - /** - * The state of whether the response should be parsed or not. - */ - public $parse_the_response = true; - - - /*%******************************************************************************************%*/ - // CONSTRUCTOR - - /** - * The constructor. This class should not be instantiated directly. Rather, a service-specific class - * should be instantiated. - * - * @param array $options (Optional) An associative array of parameters that can have the following keys:
    - *
  • certificate_authority - boolean - Optional - Determines which Cerificate Authority file to use. A value of boolean false will use the Certificate Authority file available on the system. A value of boolean true will use the Certificate Authority provided by the SDK. Passing a file system path to a Certificate Authority file (chmodded to 0755) will use that. Leave this set to false if you're not sure.
  • - *
  • credentials - string - Optional - The name of the credential set to use for authentication.
  • - *
  • default_cache_config - string - Optional - This option allows a preferred storage type to be configured for long-term caching. This can be changed later using the method. Valid values are: apc, xcache, or a file system path such as ./cache or /tmp/cache/.
  • - *
  • key - string - Optional - Your AWS key, or a session key. If blank, the default credential set will be used.
  • - *
  • secret - string - Optional - Your AWS secret key, or a session secret key. If blank, the default credential set will be used.
  • - *
  • token - string - Optional - An AWS session token.
- * @return void - */ - public function __construct(array $options = array()) - { - // Instantiate the utilities class. - $this->util = new $this->utilities_class(); - - // Determine the current service. - $this->service = get_class($this); - - // Create credentials based on the options - $instance_credentials = new CFCredential($options); - - // Retreive a credential set from config.inc.php if it exists - if (isset($options['credentials'])) - { - // Use a specific credential set and merge with the instance credentials - $this->credentials = CFCredentials::get($options['credentials']) - ->merge($instance_credentials); - } - else - { - try - { - // Use the default credential set and merge with the instance credentials - $this->credentials = CFCredentials::get(CFCredentials::DEFAULT_KEY) - ->merge($instance_credentials); - } - catch (CFCredentials_Exception $e) - { - if (isset($options['key']) && isset($options['secret'])) - { - // Only the instance credentials were provided - $this->credentials = $instance_credentials; - } - else - { - // No credentials provided in the config file or constructor - throw new CFCredentials_Exception('No credentials were provided to ' . $this->service . '.'); - } - } - } - - // Set internal credentials after they are resolved - $this->key = $this->credentials->key; - $this->secret_key = $this->credentials->secret; - $this->auth_token = $this->credentials->token; - - // Automatically enable whichever caching mechanism is set to default. - $this->set_cache_config($this->credentials->default_cache_config); - } - - /** - * Alternate approach to constructing a new instance. Supports chaining. - * - * @param array $options (Optional) An associative array of parameters that can have the following keys:
    - *
  • certificate_authority - boolean - Optional - Determines which Cerificate Authority file to use. A value of boolean false will use the Certificate Authority file available on the system. A value of boolean true will use the Certificate Authority provided by the SDK. Passing a file system path to a Certificate Authority file (chmodded to 0755) will use that. Leave this set to false if you're not sure.
  • - *
  • credentials - string - Optional - The name of the credential set to use for authentication.
  • - *
  • default_cache_config - string - Optional - This option allows a preferred storage type to be configured for long-term caching. This can be changed later using the method. Valid values are: apc, xcache, or a file system path such as ./cache or /tmp/cache/.
  • - *
  • key - string - Optional - Your AWS key, or a session key. If blank, the default credential set will be used.
  • - *
  • secret - string - Optional - Your AWS secret key, or a session secret key. If blank, the default credential set will be used.
  • - *
  • token - string - Optional - An AWS session token.
- * @return void - */ - public static function factory(array $options = array()) - { - if (version_compare(PHP_VERSION, '5.3.0', '<')) - { - throw new Exception('PHP 5.3 or newer is required to instantiate a new class with CLASS::factory().'); - } - - $self = get_called_class(); - return new $self($options); - } - - - /*%******************************************************************************************%*/ - // MAGIC METHODS - - /** - * A magic method that allows `camelCase` method names to be translated into `snake_case` names. - * - * @param string $name (Required) The name of the method. - * @param array $arguments (Required) The arguments passed to the method. - * @return mixed The results of the intended method. - */ - public function __call($name, $arguments) - { - // Convert camelCase method calls to snake_case. - $method_name = strtolower(preg_replace('/([a-z])([A-Z])/', '$1_$2', $name)); - - if (method_exists($this, $method_name)) - { - return call_user_func_array(array($this, $method_name), $arguments); - } - - throw new CFRuntime_Exception('The method ' . $name . '() is undefined. Attempted to map to ' . $method_name . '() which is also undefined. Error occurred'); - } - - - /*%******************************************************************************************%*/ - // SET CUSTOM SETTINGS - - /** - * Set the proxy settings to use. - * - * @param string $proxy (Required) Accepts proxy credentials in the following format: `proxy://user:pass@hostname:port` - * @return $this A reference to the current instance. - */ - public function set_proxy($proxy) - { - $this->proxy = $proxy; - return $this; - } - - /** - * Set the hostname to connect to. This is useful for alternate services that are API-compatible with - * AWS, but run from a different hostname. - * - * @param string $hostname (Required) The alternate hostname to use in place of the default one. Useful for mock or test applications living on different hostnames. - * @param integer $port_number (Optional) The alternate port number to use in place of the default one. Useful for mock or test applications living on different port numbers. - * @return $this A reference to the current instance. - */ - public function set_hostname($hostname, $port_number = null) - { - if ($this->override_hostname) - { - $this->hostname = $hostname; - - if ($port_number) - { - $this->port_number = $port_number; - $this->hostname .= ':' . (string) $this->port_number; - } - } - - return $this; - } - - /** - * Set the resource prefix to use. This method is useful for alternate services that are API-compatible - * with AWS. - * - * @param string $prefix (Required) An alternate prefix to prepend to the resource path. Useful for mock or test applications. - * @return $this A reference to the current instance. - */ - public function set_resource_prefix($prefix) - { - $this->resource_prefix = $prefix; - return $this; - } - - /** - * Disables any subsequent use of the method. - * - * @param boolean $override (Optional) Whether or not subsequent calls to should be obeyed. A `false` value disables the further effectiveness of . Defaults to `true`. - * @return $this A reference to the current instance. - */ - public function allow_hostname_override($override = true) - { - $this->override_hostname = $override; - return $this; - } - - /** - * Disables SSL/HTTPS connections for hosts that don't support them. Some services, however, still - * require SSL support. - * - * This method will throw a user warning when invoked, which can be hidden by changing your - * settings. - * - * @return $this A reference to the current instance. - */ - public function disable_ssl() - { - trigger_error('Disabling SSL connections is potentially unsafe and highly discouraged.', E_USER_WARNING); - $this->use_ssl = false; - return $this; - } - - /** - * Disables the verification of the SSL Certificate Authority. Doing so can enable an attacker to carry - * out a man-in-the-middle attack. - * - * https://secure.wikimedia.org/wikipedia/en/wiki/Man-in-the-middle_attack - * - * This method will throw a user warning when invoked, which can be hidden by changing your - * settings. - * - * @return $this A reference to the current instance. - */ - public function disable_ssl_verification($ssl_verification = false) - { - trigger_error('Disabling the verification of SSL certificates can lead to man-in-the-middle attacks. It is potentially unsafe and highly discouraged.', E_USER_WARNING); - $this->ssl_verification = $ssl_verification; - return $this; - } - - /** - * Enables HTTP request/response header logging to `STDERR`. - * - * @param boolean $enabled (Optional) Whether or not to enable debug mode. Defaults to `true`. - * @return $this A reference to the current instance. - */ - public function enable_debug_mode($enabled = true) - { - $this->debug_mode = $enabled; - return $this; - } - - /** - * Sets the maximum number of times to retry failed requests. - * - * @param integer $retries (Optional) The maximum number of times to retry failed requests. Defaults to `3`. - * @return $this A reference to the current instance. - */ - public function set_max_retries($retries = 3) - { - $this->max_retries = $retries; - return $this; - } - - /** - * Set the caching configuration to use for response caching. - * - * @param string $location (Required)

The location to store the cache object in. This may vary by cache method.

  • File - The local file system paths such as ./cache (relative) or /tmp/cache/ (absolute). The location must be server-writable.
  • APC - Pass in apc to use this lightweight cache. You must have the APC extension installed.
  • XCache - Pass in xcache to use this lightweight cache. You must have the XCache extension installed.
  • Memcached - Pass in an indexed array of associative arrays. Each associative array should have a host and a port value representing a Memcached server to connect to.
  • PDO - A URL-style string (e.g. pdo.mysql://user:pass@localhost/cache) or a standard DSN-style string (e.g. pdo.sqlite:/sqlite/cache.db). MUST be prefixed with pdo.. See CachePDO and PDO for more details.
- * @param boolean $gzip (Optional) Whether or not data should be gzipped before being stored. A value of `true` will compress the contents before caching them. A value of `false` will leave the contents uncompressed. Defaults to `true`. - * @return $this A reference to the current instance. - */ - public function set_cache_config($location, $gzip = true) - { - // If we have an array, we're probably passing in Memcached servers and ports. - if (is_array($location)) - { - $this->cache_class = 'CacheMC'; - } - else - { - // I would expect locations like `/tmp/cache`, `pdo.mysql://user:pass@hostname:port`, `pdo.sqlite:memory:`, and `apc`. - $type = strtolower(substr($location, 0, 3)); - switch ($type) - { - case 'apc': - $this->cache_class = 'CacheAPC'; - break; - - case 'xca': // First three letters of `xcache` - $this->cache_class = 'CacheXCache'; - break; - - case 'pdo': - $this->cache_class = 'CachePDO'; - $location = substr($location, 4); - break; - - default: - $this->cache_class = 'CacheFile'; - break; - } - } - - // Set the remaining cache information. - $this->cache_location = $location; - $this->cache_compress = $gzip; - - return $this; - } - - /** - * Register a callback function to execute whenever a data stream is read from using - * . - * - * The user-defined callback function should accept three arguments: - * - *
    - *
  • $curl_handle - resource - Required - The cURL handle resource that represents the in-progress transfer.
  • - *
  • $file_handle - resource - Required - The file handle resource that represents the file on the local file system.
  • - *
  • $length - integer - Required - The length in kilobytes of the data chunk that was transferred.
  • - *
- * - * @param string|array|function $callback (Required) The callback function is called by , so you can pass the following values:
    - *
  • The name of a global function to execute, passed as a string.
  • - *
  • A method to execute, passed as array('ClassName', 'MethodName').
  • - *
  • An anonymous function (PHP 5.3+).
- * @return $this A reference to the current instance. - */ - public function register_streaming_read_callback($callback) - { - $this->registered_streaming_read_callback = $callback; - return $this; - } - - /** - * Register a callback function to execute whenever a data stream is written to using - * . - * - * The user-defined callback function should accept two arguments: - * - *
    - *
  • $curl_handle - resource - Required - The cURL handle resource that represents the in-progress transfer.
  • - *
  • $length - integer - Required - The length in kilobytes of the data chunk that was transferred.
  • - *
- * - * @param string|array|function $callback (Required) The callback function is called by , so you can pass the following values:
    - *
  • The name of a global function to execute, passed as a string.
  • - *
  • A method to execute, passed as array('ClassName', 'MethodName').
  • - *
  • An anonymous function (PHP 5.3+).
- * @return $this A reference to the current instance. - */ - public function register_streaming_write_callback($callback) - { - $this->registered_streaming_write_callback = $callback; - return $this; - } - - /** - * Fetches and caches STS credentials. This is meant to be used by the constructor, and is not to be - * manually invoked. - * - * @param CacheCore $cache (Required) The a reference to the cache object that is being used to handle the caching. - * @param array $options (Required) The options that were passed into the constructor. - * @return mixed The data to be cached, or NULL. - */ - public function cache_sts_credentials($cache, $options) - { - $token = new AmazonSTS($options); - $response = $token->get_session_token(); - - if ($response->isOK()) - { - // Update the expiration - $expiration_time = strtotime((string) $response->body->GetSessionTokenResult->Credentials->Expiration); - $expiration_duration = round(($expiration_time - time()) * 0.85); - $cache->expire_in($expiration_duration); - - // Return the important data - return array( - 'key' => (string) $response->body->GetSessionTokenResult->Credentials->AccessKeyId, - 'secret' => (string) $response->body->GetSessionTokenResult->Credentials->SecretAccessKey, - 'token' => (string) $response->body->GetSessionTokenResult->Credentials->SessionToken, - 'expires' => (string) $response->body->GetSessionTokenResult->Credentials->Expiration, - ); - } - - return null; - } - - - /*%******************************************************************************************%*/ - // SET CUSTOM CLASSES - - /** - * Set a custom class for this functionality. Use this method when extending/overriding existing classes - * with new functionality. - * - * The replacement class must extend from . - * - * @param string $class (Optional) The name of the new class to use for this functionality. - * @return $this A reference to the current instance. - */ - public function set_utilities_class($class = 'CFUtilities') - { - $this->utilities_class = $class; - $this->util = new $this->utilities_class(); - return $this; - } - - /** - * Set a custom class for this functionality. Use this method when extending/overriding existing classes - * with new functionality. - * - * The replacement class must extend from . - * - * @param string $class (Optional) The name of the new class to use for this functionality. - * @param $this A reference to the current instance. - */ - public function set_request_class($class = 'CFRequest') - { - $this->request_class = $class; - return $this; - } - - /** - * Set a custom class for this functionality. Use this method when extending/overriding existing classes - * with new functionality. - * - * The replacement class must extend from . - * - * @param string $class (Optional) The name of the new class to use for this functionality. - * @return $this A reference to the current instance. - */ - public function set_response_class($class = 'CFResponse') - { - $this->response_class = $class; - return $this; - } - - /** - * Set a custom class for this functionality. Use this method when extending/overriding existing classes - * with new functionality. - * - * The replacement class must extend from . - * - * @param string $class (Optional) The name of the new class to use for this functionality. - * @return $this A reference to the current instance. - */ - public function set_parser_class($class = 'CFSimpleXML') - { - $this->parser_class = $class; - return $this; - } - - /** - * Set a custom class for this functionality. Use this method when extending/overriding existing classes - * with new functionality. - * - * The replacement class must extend from . - * - * @param string $class (Optional) The name of the new class to use for this functionality. - * @return $this A reference to the current instance. - */ - public function set_batch_class($class = 'CFBatchRequest') - { - $this->batch_class = $class; - return $this; - } - - - /*%******************************************************************************************%*/ - // AUTHENTICATION - - /** - * Default, shared method for authenticating a connection to AWS. - * - * @param string $operation (Required) Indicates the operation to perform. - * @param array $payload (Required) An associative array of parameters for authenticating. See the individual methods for allowed keys. - * @return CFResponse Object containing a parsed HTTP response. - */ - public function authenticate($operation, $payload) - { - $original_payload = $payload; - $method_arguments = func_get_args(); - $curlopts = array(); - $return_curl_handle = false; - - if (substr($operation, 0, strlen($this->operation_prefix)) !== $this->operation_prefix) - { - $operation = $this->operation_prefix . $operation; - } - - // Extract the custom CURLOPT settings from the payload - if (is_array($payload) && isset($payload['curlopts'])) - { - $curlopts = $payload['curlopts']; - unset($payload['curlopts']); - } - - // Determine whether the response or curl handle should be returned - if (is_array($payload) && isset($payload['returnCurlHandle'])) - { - $return_curl_handle = isset($payload['returnCurlHandle']) ? $payload['returnCurlHandle'] : false; - unset($payload['returnCurlHandle']); - } - - // Use the caching flow to determine if we need to do a round-trip to the server. - if ($this->use_cache_flow) - { - // Generate an identifier specific to this particular set of arguments. - $cache_id = $this->key . '_' . get_class($this) . '_' . $operation . '_' . sha1(serialize($method_arguments)); - - // Instantiate the appropriate caching object. - $this->cache_object = new $this->cache_class($cache_id, $this->cache_location, $this->cache_expires, $this->cache_compress); - - if ($this->delete_cache) - { - $this->use_cache_flow = false; - $this->delete_cache = false; - return $this->cache_object->delete(); - } - - // Invoke the cache callback function to determine whether to pull data from the cache or make a fresh request. - $data = $this->cache_object->response_manager(array($this, 'cache_callback'), $method_arguments); - - // Parse the XML body - $data = $this->parse_callback($data); - - // End! - return $data; - } - - /*%******************************************************************************************%*/ - - // Signer - $signer = new $this->auth_class($this->hostname, $operation, $payload, $this->credentials); - $signer->key = $this->key; - $signer->secret_key = $this->secret_key; - $signer->auth_token = $this->auth_token; - $signer->api_version = $this->api_version; - $signer->utilities_class = $this->utilities_class; - $signer->request_class = $this->request_class; - $signer->response_class = $this->response_class; - $signer->use_ssl = $this->use_ssl; - $signer->proxy = $this->proxy; - $signer->util = $this->util; - $signer->registered_streaming_read_callback = $this->registered_streaming_read_callback; - $signer->registered_streaming_write_callback = $this->registered_streaming_write_callback; - $request = $signer->authenticate(); - - // Update RequestCore settings - $request->request_class = $this->request_class; - $request->response_class = $this->response_class; - $request->ssl_verification = $this->ssl_verification; - - /*%******************************************************************************************%*/ - - // Debug mode - if ($this->debug_mode) - { - $request->debug_mode = $this->debug_mode; - } - - // Set custom CURLOPT settings - if (count($curlopts)) - { - $request->set_curlopts($curlopts); - } - - // Manage the (newer) batch request API or the (older) returnCurlHandle setting. - if ($this->use_batch_flow) - { - $handle = $request->prep_request(); - $this->batch_object->add($handle); - $this->use_batch_flow = false; - - return $handle; - } - elseif ($return_curl_handle) - { - return $request->prep_request(); - } - - // Send! - $request->send_request(); - - // Prepare the response. - $headers = $request->get_response_header(); - $headers['x-aws-stringtosign'] = $signer->string_to_sign; - - if (isset($signer->canonical_request)) - { - $headers['x-aws-canonicalrequest'] = $signer->canonical_request; - } - - $headers['x-aws-request-headers'] = $request->request_headers; - $headers['x-aws-body'] = $signer->querystring; - - $data = new $this->response_class($headers, ($this->parse_the_response === true) ? $this->parse_callback($request->get_response_body()) : $request->get_response_body(), $request->get_response_code()); - - // Was it Amazon's fault the request failed? Retry the request until we reach $max_retries. - if ( - (integer) $request->get_response_code() === 500 || // Internal Error (presumably transient) - (integer) $request->get_response_code() === 503) // Service Unavailable (presumably transient) - { - if ($this->redirects <= $this->max_retries) - { - // Exponential backoff - $delay = (integer) (pow(4, $this->redirects) * 100000); - usleep($delay); - $this->redirects++; - $data = $this->authenticate($operation, $original_payload); - } - } - - // DynamoDB has custom logic - elseif ( - (integer) $request->get_response_code() === 400 && - stripos((string) $request->get_response_body(), 'com.amazonaws.dynamodb.') !== false && ( - stripos((string) $request->get_response_body(), 'ProvisionedThroughputExceededException') !== false - ) - ) - { - if ($this->redirects === 0) - { - $this->redirects++; - $data = $this->authenticate($operation, $original_payload); - } - elseif ($this->redirects <= max($this->max_retries, 10)) - { - // Exponential backoff - $delay = (integer) (pow(2, ($this->redirects - 1)) * 50000); - usleep($delay); - $this->redirects++; - $data = $this->authenticate($operation, $original_payload); - } - } - - $this->redirects = 0; - return $data; - } - - - /*%******************************************************************************************%*/ - // BATCH REQUEST LAYER - - /** - * Specifies that the intended request should be queued for a later batch request. - * - * @param CFBatchRequest $queue (Optional) The instance to use for managing batch requests. If not available, it generates a new instance of . - * @return $this A reference to the current instance. - */ - public function batch(CFBatchRequest &$queue = null) - { - if ($queue) - { - $this->batch_object = $queue; - } - elseif ($this->internal_batch_object) - { - $this->batch_object = &$this->internal_batch_object; - } - else - { - $this->internal_batch_object = new $this->batch_class(); - $this->batch_object = &$this->internal_batch_object; - } - - $this->use_batch_flow = true; - - return $this; - } - - /** - * Executes the batch request queue by sending all queued requests. - * - * @param boolean $clear_after_send (Optional) Whether or not to clear the batch queue after sending a request. Defaults to `true`. Set this to `false` if you are caching batch responses and want to retrieve results later. - * @return array An array of objects. - */ - public function send($clear_after_send = true) - { - if ($this->use_batch_flow) - { - // When we send the request, disable batch flow. - $this->use_batch_flow = false; - - // If we're not caching, simply send the request. - if (!$this->use_cache_flow) - { - $response = $this->batch_object->send(); - $parsed_data = array_map(array($this, 'parse_callback'), $response); - $parsed_data = new CFArray($parsed_data); - - // Clear the queue - if ($clear_after_send) - { - $this->batch_object->queue = array(); - } - - return $parsed_data; - } - - // Generate an identifier specific to this particular set of arguments. - $cache_id = $this->key . '_' . get_class($this) . '_' . sha1(serialize($this->batch_object)); - - // Instantiate the appropriate caching object. - $this->cache_object = new $this->cache_class($cache_id, $this->cache_location, $this->cache_expires, $this->cache_compress); - - if ($this->delete_cache) - { - $this->use_cache_flow = false; - $this->delete_cache = false; - return $this->cache_object->delete(); - } - - // Invoke the cache callback function to determine whether to pull data from the cache or make a fresh request. - $data_set = $this->cache_object->response_manager(array($this, 'cache_callback_batch'), array($this->batch_object)); - $parsed_data = array_map(array($this, 'parse_callback'), $data_set); - $parsed_data = new CFArray($parsed_data); - - // Clear the queue - if ($clear_after_send) - { - $this->batch_object->queue = array(); - } - - // End! - return $parsed_data; - } - - // Load the class - $null = new CFBatchRequest(); - unset($null); - - throw new CFBatchRequest_Exception('You must use $object->batch()->send()'); - } - - /** - * Parses a response body into a PHP object if appropriate. - * - * @param CFResponse|string $response (Required) The object to parse, or an XML string that would otherwise be a response body. - * @param string $content_type (Optional) The content-type to use when determining how to parse the content. - * @return CFResponse|string A parsed object, or parsed XML. - */ - public function parse_callback($response, $headers = null) - { - // Bail out - if (!$this->parse_the_response) return $response; - - // Shorten this so we have a (mostly) single code path - if (isset($response->body)) - { - if (is_string($response->body)) - { - $body = $response->body; - } - else - { - return $response; - } - } - elseif (is_string($response)) - { - $body = $response; - } - else - { - return $response; - } - - // Decompress gzipped content - if (isset($headers['content-encoding'])) - { - switch (strtolower(trim($headers['content-encoding'], "\x09\x0A\x0D\x20"))) - { - case 'gzip': - case 'x-gzip': - $decoder = new CFGzipDecode($body); - if ($decoder->parse()) - { - $body = $decoder->data; - } - break; - - case 'deflate': - if (($uncompressed = gzuncompress($body)) !== false) - { - $body = $uncompressed; - } - elseif (($uncompressed = gzinflate($body)) !== false) - { - $body = $uncompressed; - } - break; - } - } - - // Look for XML cues - if ( - (isset($headers['content-type']) && ($headers['content-type'] === 'text/xml' || $headers['content-type'] === 'application/xml')) || // We know it's XML - (!isset($headers['content-type']) && (stripos($body, '') === 0) || preg_match('/^<(\w*) xmlns="http(s?):\/\/(\w*).amazon(aws)?.com/im', $body)) // Sniff for XML - ) - { - // Strip the default XML namespace to simplify XPath expressions - $body = str_replace("xmlns=", "ns=", $body); - - try { - // Parse the XML body - $body = new $this->parser_class($body); - } - catch (Exception $e) - { - throw new Parser_Exception($e->getMessage()); - } - } - // Look for JSON cues - elseif ( - (isset($headers['content-type']) && ($headers['content-type'] === 'application/json') || $headers['content-type'] === 'application/x-amz-json-1.0') || // We know it's JSON - (!isset($headers['content-type']) && $this->util->is_json($body)) // Sniff for JSON - ) - { - // Normalize JSON to a CFSimpleXML object - $body = CFJSON::to_xml($body, $this->parser_class); - } - - // Put the parsed data back where it goes - if (isset($response->body)) - { - $response->body = $body; - } - else - { - $response = $body; - } - - return $response; - } - - - /*%******************************************************************************************%*/ - // CACHING LAYER - - /** - * Specifies that the resulting object should be cached according to the settings from - * . - * - * @param string|integer $expires (Required) The time the cache is to expire. Accepts a number of seconds as an integer, or an amount of time, as a string, that is understood by (e.g. "1 hour"). - * @param $this A reference to the current instance. - * @return $this - */ - public function cache($expires) - { - // Die if they haven't used set_cache_config(). - if (!$this->cache_class) - { - throw new CFRuntime_Exception('Must call set_cache_config() before using cache()'); - } - - if (is_string($expires)) - { - $expires = strtotime($expires); - $this->cache_expires = $expires - time(); - } - elseif (is_int($expires)) - { - $this->cache_expires = $expires; - } - - $this->use_cache_flow = true; - - return $this; - } - - /** - * The callback function that is executed when the cache doesn't exist or has expired. The response of - * this method is cached. Accepts identical parameters as the method. Never call this - * method directly -- it is used internally by the caching system. - * - * @param string $operation (Required) Indicates the operation to perform. - * @param array $payload (Required) An associative array of parameters for authenticating. See the individual methods for allowed keys. - * @return CFResponse A parsed HTTP response. - */ - public function cache_callback($operation, $payload) - { - // Disable the cache flow since it's already been handled. - $this->use_cache_flow = false; - - // Make the request - $response = $this->authenticate($operation, $payload); - - // If this is an XML document, convert it back to a string. - if (isset($response->body) && ($response->body instanceof SimpleXMLElement)) - { - $response->body = $response->body->asXML(); - } - - return $response; - } - - /** - * Used for caching the results of a batch request. Never call this method directly; it is used - * internally by the caching system. - * - * @param CFBatchRequest $batch (Required) The batch request object to send. - * @return CFResponse A parsed HTTP response. - */ - public function cache_callback_batch(CFBatchRequest $batch) - { - return $batch->send(); - } - - /** - * Deletes a cached object using the specified cache storage type. - * - * @return boolean A value of `true` if cached object exists and is successfully deleted, otherwise `false`. - */ - public function delete_cache() - { - $this->use_cache_flow = true; - $this->delete_cache = true; - - return $this; - } -} - - -/** - * Contains the functionality for auto-loading service classes. - */ -class CFLoader -{ - /*%******************************************************************************************%*/ - // AUTO-LOADER - - /** - * Automatically load classes that aren't included. - * - * @param string $class (Required) The classname to load. - * @return boolean Whether or not the file was successfully loaded. - */ - public static function autoloader($class) - { - $path = dirname(__FILE__) . DIRECTORY_SEPARATOR; - - // Amazon SDK classes - if (strstr($class, 'Amazon')) - { - if (file_exists($require_this = $path . 'services' . DIRECTORY_SEPARATOR . str_ireplace('Amazon', '', strtolower($class)) . '.class.php')) - { - require_once $require_this; - return true; - } - - return false; - } - - // Utility classes - elseif (strstr($class, 'CF')) - { - if (file_exists($require_this = $path . 'utilities' . DIRECTORY_SEPARATOR . str_ireplace('CF', '', strtolower($class)) . '.class.php')) - { - require_once $require_this; - return true; - } - - return false; - } - - // Load CacheCore - elseif (strstr($class, 'Cache')) - { - if (file_exists($require_this = $path . 'lib' . DIRECTORY_SEPARATOR . 'cachecore' . DIRECTORY_SEPARATOR . strtolower($class) . '.class.php')) - { - require_once $require_this; - return true; - } - - return false; - } - - // Load RequestCore - elseif (strstr($class, 'RequestCore') || strstr($class, 'ResponseCore')) - { - if (file_exists($require_this = $path . 'lib' . DIRECTORY_SEPARATOR . 'requestcore' . DIRECTORY_SEPARATOR . 'requestcore.class.php')) - { - require_once $require_this; - return true; - } - - return false; - } - - // Load array-to-domdocument - elseif (strstr($class, 'Array2DOM')) - { - if (file_exists($require_this = $path . 'lib' . DIRECTORY_SEPARATOR . 'dom' . DIRECTORY_SEPARATOR . 'ArrayToDOMDocument.php')) - { - require_once $require_this; - return true; - } - - return false; - } - - // Load Authentication Signers - elseif (strstr($class, 'Auth')) - { - if (file_exists($require_this = $path . 'authentication' . DIRECTORY_SEPARATOR . str_replace('auth', 'signature_', strtolower($class)) . '.class.php')) - { - require_once $require_this; - return true; - } - - return false; - } - - // Load Signer interface - elseif ($class === 'Signer') - { - if (!interface_exists('Signable', false) && - file_exists($require_this = $path . 'authentication' . DIRECTORY_SEPARATOR . 'signable.interface.php')) - { - require_once $require_this; - } - - if (file_exists($require_this = $path . 'authentication' . DIRECTORY_SEPARATOR . 'signer.abstract.php')) - { - require_once $require_this; - return true; - } - - return false; - } - - // Load Symfony YAML classes - elseif (strstr($class, 'sfYaml')) - { - if (file_exists($require_this = $path . 'lib' . DIRECTORY_SEPARATOR . 'yaml' . DIRECTORY_SEPARATOR . 'lib' . DIRECTORY_SEPARATOR . 'sfYaml.php')) - { - require_once $require_this; - return true; - } - - return false; - } - - return false; - } -} - -// Register the autoloader. -spl_autoload_register(array('CFLoader', 'autoloader')); - -// Don't look for any configuration files, the Amazon S3 storage backend handles configuration - -// /*%******************************************************************************************%*/ -// // CONFIGURATION -// -// // Look for include file in the same directory (e.g. `./config.inc.php`). -// if (file_exists(dirname(__FILE__) . DIRECTORY_SEPARATOR . 'config.inc.php')) -// { -// include_once dirname(__FILE__) . DIRECTORY_SEPARATOR . 'config.inc.php'; -// } -// // Fallback to `~/.aws/sdk/config.inc.php` -// else -// { -// if (!isset($_ENV['HOME']) && isset($_SERVER['HOME'])) -// { -// $_ENV['HOME'] = $_SERVER['HOME']; -// } -// elseif (!isset($_ENV['HOME']) && !isset($_SERVER['HOME'])) -// { -// $_ENV['HOME'] = `cd ~ && pwd`; -// if (!$_ENV['HOME']) -// { -// switch (strtolower(PHP_OS)) -// { -// case 'darwin': -// $_ENV['HOME'] = '/Users/' . get_current_user(); -// break; -// -// case 'windows': -// case 'winnt': -// case 'win32': -// $_ENV['HOME'] = 'c:' . DIRECTORY_SEPARATOR . 'Documents and Settings' . DIRECTORY_SEPARATOR . get_current_user(); -// break; -// -// default: -// $_ENV['HOME'] = '/home/' . get_current_user(); -// break; -// } -// } -// } -// -// if (getenv('HOME') && file_exists(getenv('HOME') . DIRECTORY_SEPARATOR . '.aws' . DIRECTORY_SEPARATOR . 'sdk' . DIRECTORY_SEPARATOR . 'config.inc.php')) -// { -// include_once getenv('HOME') . DIRECTORY_SEPARATOR . '.aws' . DIRECTORY_SEPARATOR . 'sdk' . DIRECTORY_SEPARATOR . 'config.inc.php'; -// } -// } diff --git a/3rdparty/aws-sdk/services/s3.class.php b/3rdparty/aws-sdk/services/s3.class.php deleted file mode 100755 index 2e9e1cd52b18821eb0bc556a06e91e0d01b5e563..0000000000000000000000000000000000000000 --- a/3rdparty/aws-sdk/services/s3.class.php +++ /dev/null @@ -1,3979 +0,0 @@ - for more information. - * - * @version 2012.01.17 - * @license See the included NOTICE.md file for more information. - * @copyright See the included NOTICE.md file for more information. - * @link http://aws.amazon.com/s3/ Amazon Simple Storage Service - * @link http://aws.amazon.com/documentation/s3/ Amazon Simple Storage Service documentation - */ -class AmazonS3 extends CFRuntime -{ - /*%******************************************************************************************%*/ - // REGIONAL ENDPOINTS - - /** - * Specify the queue URL for the US-Standard (Northern Virginia & Washington State) Region. - */ - const REGION_US_E1 = 's3.amazonaws.com'; - - /** - * Specify the queue URL for the US-Standard (Northern Virginia & Washington State) Region. - */ - const REGION_VIRGINIA = self::REGION_US_E1; - - /** - * Specify the queue URL for the US-Standard (Northern Virginia & Washington State) Region. - */ - const REGION_US_STANDARD = self::REGION_US_E1; - - /** - * Specify the queue URL for the US-West 1 (Northern California) Region. - */ - const REGION_US_W1 = 's3-us-west-1.amazonaws.com'; - - /** - * Specify the queue URL for the US-West 1 (Northern California) Region. - */ - const REGION_CALIFORNIA = self::REGION_US_W1; - - /** - * Specify the queue URL for the US-West 2 (Oregon) Region. - */ - const REGION_US_W2 = 's3-us-west-2.amazonaws.com'; - - /** - * Specify the queue URL for the US-West 2 (Oregon) Region. - */ - const REGION_OREGON = self::REGION_US_W2; - - /** - * Specify the queue URL for the EU (Ireland) Region. - */ - const REGION_EU_W1 = 's3-eu-west-1.amazonaws.com'; - - /** - * Specify the queue URL for the EU (Ireland) Region. - */ - const REGION_IRELAND = self::REGION_EU_W1; - - /** - * Specify the queue URL for the Asia Pacific (Singapore) Region. - */ - const REGION_APAC_SE1 = 's3-ap-southeast-1.amazonaws.com'; - - /** - * Specify the queue URL for the Asia Pacific (Singapore) Region. - */ - const REGION_SINGAPORE = self::REGION_APAC_SE1; - - /** - * Specify the queue URL for the Asia Pacific (Japan) Region. - */ - const REGION_APAC_NE1 = 's3-ap-northeast-1.amazonaws.com'; - - /** - * Specify the queue URL for the Asia Pacific (Japan) Region. - */ - const REGION_TOKYO = self::REGION_APAC_NE1; - - /** - * Specify the queue URL for the South America (Sao Paulo) Region. - */ - const REGION_SA_E1 = 's3-sa-east-1.amazonaws.com'; - - /** - * Specify the queue URL for the South America (Sao Paulo) Region. - */ - const REGION_SAO_PAULO = self::REGION_SA_E1; - - /** - * Specify the queue URL for the United States GovCloud Region. - */ - const REGION_US_GOV1 = 's3-us-gov-west-1.amazonaws.com'; - - /** - * Specify the queue URL for the United States GovCloud FIPS 140-2 Region. - */ - const REGION_US_GOV1_FIPS = 's3-fips-us-gov-west-1.amazonaws.com'; - - /** - * The default endpoint. - */ - const DEFAULT_URL = self::REGION_US_E1; - - - /*%******************************************************************************************%*/ - // REGIONAL WEBSITE ENDPOINTS - - /** - * Specify the queue URL for the US-Standard (Northern Virginia & Washington State) Website Region. - */ - const REGION_US_E1_WEBSITE = 's3-website-us-east-1.amazonaws.com'; - - /** - * Specify the queue URL for the US-Standard (Northern Virginia & Washington State) Website Region. - */ - const REGION_VIRGINIA_WEBSITE = self::REGION_US_E1_WEBSITE; - - /** - * Specify the queue URL for the US-Standard (Northern Virginia & Washington State) Website Region. - */ - const REGION_US_STANDARD_WEBSITE = self::REGION_US_E1_WEBSITE; - - /** - * Specify the queue URL for the US-West 1 (Northern California) Website Region. - */ - const REGION_US_W1_WEBSITE = 's3-website-us-west-1.amazonaws.com'; - - /** - * Specify the queue URL for the US-West 1 (Northern California) Website Region. - */ - const REGION_CALIFORNIA_WEBSITE = self::REGION_US_W1_WEBSITE; - - /** - * Specify the queue URL for the US-West 2 (Oregon) Website Region. - */ - const REGION_US_W2_WEBSITE = 's3-website-us-west-2.amazonaws.com'; - - /** - * Specify the queue URL for the US-West 2 (Oregon) Website Region. - */ - const REGION_OREGON_WEBSITE = self::REGION_US_W2_WEBSITE; - - /** - * Specify the queue URL for the EU (Ireland) Website Region. - */ - const REGION_EU_W1_WEBSITE = 's3-website-eu-west-1.amazonaws.com'; - - /** - * Specify the queue URL for the EU (Ireland) Website Region. - */ - const REGION_IRELAND_WEBSITE = self::REGION_EU_W1_WEBSITE; - - /** - * Specify the queue URL for the Asia Pacific (Singapore) Website Region. - */ - const REGION_APAC_SE1_WEBSITE = 's3-website-ap-southeast-1.amazonaws.com'; - - /** - * Specify the queue URL for the Asia Pacific (Singapore) Website Region. - */ - const REGION_SINGAPORE_WEBSITE = self::REGION_APAC_SE1_WEBSITE; - - /** - * Specify the queue URL for the Asia Pacific (Japan) Website Region. - */ - const REGION_APAC_NE1_WEBSITE = 's3-website-ap-northeast-1.amazonaws.com'; - - /** - * Specify the queue URL for the Asia Pacific (Japan) Website Region. - */ - const REGION_TOKYO_WEBSITE = self::REGION_APAC_NE1_WEBSITE; - - /** - * Specify the queue URL for the South America (Sao Paulo) Website Region. - */ - const REGION_SA_E1_WEBSITE = 's3-website-sa-east-1.amazonaws.com'; - - /** - * Specify the queue URL for the South America (Sao Paulo) Website Region. - */ - const REGION_SAO_PAULO_WEBSITE = self::REGION_SA_E1_WEBSITE; - - /** - * Specify the queue URL for the United States GovCloud Website Region. - */ - const REGION_US_GOV1_WEBSITE = 's3-website-us-gov-west-1.amazonaws.com'; - - - /*%******************************************************************************************%*/ - // ACL - - /** - * ACL: Owner-only read/write. - */ - const ACL_PRIVATE = 'private'; - - /** - * ACL: Owner read/write, public read. - */ - const ACL_PUBLIC = 'public-read'; - - /** - * ACL: Public read/write. - */ - const ACL_OPEN = 'public-read-write'; - - /** - * ACL: Owner read/write, authenticated read. - */ - const ACL_AUTH_READ = 'authenticated-read'; - - /** - * ACL: Bucket owner read. - */ - const ACL_OWNER_READ = 'bucket-owner-read'; - - /** - * ACL: Bucket owner full control. - */ - const ACL_OWNER_FULL_CONTROL = 'bucket-owner-full-control'; - - - /*%******************************************************************************************%*/ - // GRANTS - - /** - * When applied to a bucket, grants permission to list the bucket. When applied to an object, this - * grants permission to read the object data and/or metadata. - */ - const GRANT_READ = 'READ'; - - /** - * When applied to a bucket, grants permission to create, overwrite, and delete any object in the - * bucket. This permission is not supported for objects. - */ - const GRANT_WRITE = 'WRITE'; - - /** - * Grants permission to read the ACL for the applicable bucket or object. The owner of a bucket or - * object always has this permission implicitly. - */ - const GRANT_READ_ACP = 'READ_ACP'; - - /** - * Gives permission to overwrite the ACP for the applicable bucket or object. The owner of a bucket - * or object always has this permission implicitly. Granting this permission is equivalent to granting - * FULL_CONTROL because the grant recipient can make any changes to the ACP. - */ - const GRANT_WRITE_ACP = 'WRITE_ACP'; - - /** - * Provides READ, WRITE, READ_ACP, and WRITE_ACP permissions. It does not convey additional rights and - * is provided only for convenience. - */ - const GRANT_FULL_CONTROL = 'FULL_CONTROL'; - - - /*%******************************************************************************************%*/ - // USERS - - /** - * The "AuthenticatedUsers" group for access control policies. - */ - const USERS_AUTH = 'http://acs.amazonaws.com/groups/global/AuthenticatedUsers'; - - /** - * The "AllUsers" group for access control policies. - */ - const USERS_ALL = 'http://acs.amazonaws.com/groups/global/AllUsers'; - - /** - * The "LogDelivery" group for access control policies. - */ - const USERS_LOGGING = 'http://acs.amazonaws.com/groups/s3/LogDelivery'; - - - /*%******************************************************************************************%*/ - // PATTERNS - - /** - * PCRE: Match all items - */ - const PCRE_ALL = '/.*/i'; - - - /*%******************************************************************************************%*/ - // STORAGE - - /** - * Standard storage redundancy. - */ - const STORAGE_STANDARD = 'STANDARD'; - - /** - * Reduced storage redundancy. - */ - const STORAGE_REDUCED = 'REDUCED_REDUNDANCY'; - - - /*%******************************************************************************************%*/ - // PROPERTIES - - /** - * The request URL. - */ - public $request_url; - - /** - * The virtual host setting. - */ - public $vhost; - - /** - * The base XML elements to use for access control policy methods. - */ - public $base_acp_xml; - - /** - * The base XML elements to use for creating buckets in regions. - */ - public $base_location_constraint; - - /** - * The base XML elements to use for logging methods. - */ - public $base_logging_xml; - - /** - * The base XML elements to use for notifications. - */ - public $base_notification_xml; - - /** - * The base XML elements to use for versioning. - */ - public $base_versioning_xml; - - /** - * The base XML elements to use for completing a multipart upload. - */ - public $complete_mpu_xml; - - /** - * The base XML elements to use for website support. - */ - public $website_config_xml; - - /** - * The base XML elements to use for multi-object delete support. - */ - public $multi_object_delete_xml; - - /** - * The base XML elements to use for object expiration support. - */ - public $object_expiration_xml; - - /** - * The DNS vs. Path-style setting. - */ - public $path_style = false; - - /** - * The state of whether the prefix change is temporary or permanent. - */ - public $temporary_prefix = false; - - - /*%******************************************************************************************%*/ - // CONSTRUCTOR - - /** - * Constructs a new instance of . - * - * @param array $options (Optional) An associative array of parameters that can have the following keys:
    - *
  • certificate_authority - boolean - Optional - Determines which Cerificate Authority file to use. A value of boolean false will use the Certificate Authority file available on the system. A value of boolean true will use the Certificate Authority provided by the SDK. Passing a file system path to a Certificate Authority file (chmodded to 0755) will use that. Leave this set to false if you're not sure.
  • - *
  • credentials - string - Optional - The name of the credential set to use for authentication.
  • - *
  • default_cache_config - string - Optional - This option allows a preferred storage type to be configured for long-term caching. This can be changed later using the method. Valid values are: apc, xcache, or a file system path such as ./cache or /tmp/cache/.
  • - *
  • key - string - Optional - Your AWS key, or a session key. If blank, the default credential set will be used.
  • - *
  • secret - string - Optional - Your AWS secret key, or a session secret key. If blank, the default credential set will be used.
  • - *
  • token - string - Optional - An AWS session token.
- * @return void - */ - public function __construct(array $options = array()) - { - $this->vhost = null; - $this->api_version = '2006-03-01'; - $this->hostname = self::DEFAULT_URL; - - $this->base_acp_xml = ''; - $this->base_location_constraint = ''; - $this->base_logging_xml = ''; - $this->base_notification_xml = ''; - $this->base_versioning_xml = ''; - $this->complete_mpu_xml = ''; - $this->website_config_xml = 'index.htmlerror.html'; - $this->multi_object_delete_xml = ''; - $this->object_expiration_xml = ''; - - parent::__construct($options); - } - - - /*%******************************************************************************************%*/ - // AUTHENTICATION - - /** - * Authenticates a connection to Amazon S3. Do not use directly unless implementing custom methods for - * this class. - * - * @param string $operation (Required) The name of the bucket to operate on (S3 Only). - * @param array $payload (Required) An associative array of parameters for authenticating. See inline comments for allowed keys. - * @return CFResponse A object containing a parsed HTTP response. - * @link http://docs.amazonwebservices.com/AmazonS3/latest/dev/S3_Authentication.html REST authentication - */ - public function authenticate($operation, $payload) - { - /* - * Overriding or extending this class? You can pass the following "magic" keys into $opt. - * - * ## verb, resource, sub_resource and query_string ## - * /?& - * GET /filename.txt?versions&prefix=abc&max-items=1 - * - * ## versionId, uploadId, partNumber, response-* ## - * These don't follow the same rules as above, in that the they needs to be signed, while - * other query_string values do not. - * - * ## curlopts ## - * These values get passed directly to the cURL methods in RequestCore. - * - * ## fileUpload, fileDownload, seekTo ## - * These are slightly modified and then passed to the cURL methods in RequestCore. - * - * ## headers ## - * $opt['headers'] is an array, whose keys are HTTP headers to be sent. - * - * ## body ## - * This is the request body that is sent to the server via PUT/POST. - * - * ## preauth ## - * This is a hook that tells authenticate() to generate a pre-authenticated URL. - * - * ## returnCurlHandle ## - * Tells authenticate() to return the cURL handle for the request instead of executing it. - */ - - // Rename variables (to overcome inheritence issues) - $bucket = $operation; - $opt = $payload; - - // Validate the S3 bucket name - if (!$this->validate_bucketname_support($bucket)) - { - // @codeCoverageIgnoreStart - throw new S3_Exception('S3 does not support "' . $bucket . '" as a valid bucket name. Review "Bucket Restrictions and Limitations" in the S3 Developer Guide for more information.'); - // @codeCoverageIgnoreEnd - } - - // Die if $opt isn't set. - if (!$opt) return false; - - $method_arguments = func_get_args(); - - // Use the caching flow to determine if we need to do a round-trip to the server. - if ($this->use_cache_flow) - { - // Generate an identifier specific to this particular set of arguments. - $cache_id = $this->key . '_' . get_class($this) . '_' . $bucket . '_' . sha1(serialize($method_arguments)); - - // Instantiate the appropriate caching object. - $this->cache_object = new $this->cache_class($cache_id, $this->cache_location, $this->cache_expires, $this->cache_compress); - - if ($this->delete_cache) - { - $this->use_cache_flow = false; - $this->delete_cache = false; - return $this->cache_object->delete(); - } - - // Invoke the cache callback function to determine whether to pull data from the cache or make a fresh request. - $data = $this->cache_object->response_manager(array($this, 'cache_callback'), $method_arguments); - - if ($this->parse_the_response) - { - // Parse the XML body - $data = $this->parse_callback($data); - } - - // End! - return $data; - } - - // If we haven't already set a resource prefix and the bucket name isn't DNS-valid... - if ((!$this->resource_prefix && !$this->validate_bucketname_create($bucket)) || $this->path_style) - { - // Fall back to the older path-style URI - $this->set_resource_prefix('/' . $bucket); - $this->temporary_prefix = true; - } - - // Determine hostname - $scheme = $this->use_ssl ? 'https://' : 'http://'; - if ($this->resource_prefix || $this->path_style) // Use bucket-in-path method. - { - $hostname = $this->hostname . $this->resource_prefix . (($bucket === '' || $this->resource_prefix === '/' . $bucket) ? '' : ('/' . $bucket)); - } - else - { - $hostname = $this->vhost ? $this->vhost : (($bucket === '') ? $this->hostname : ($bucket . '.') . $this->hostname); - } - - // Get the UTC timestamp in RFC 2616 format - $date = gmdate(CFUtilities::DATE_FORMAT_RFC2616, time()); - - // Storage for request parameters. - $resource = ''; - $sub_resource = ''; - $querystringparams = array(); - $signable_querystringparams = array(); - $string_to_sign = ''; - $headers = array( - 'Content-MD5' => '', - 'Content-Type' => 'application/x-www-form-urlencoded', - 'Date' => $date - ); - - /*%******************************************************************************************%*/ - - // Do we have an authentication token? - if ($this->auth_token) - { - $headers['X-Amz-Security-Token'] = $this->auth_token; - } - - // Handle specific resources - if (isset($opt['resource'])) - { - $resource .= $opt['resource']; - } - - // Merge query string values - if (isset($opt['query_string'])) - { - $querystringparams = array_merge($querystringparams, $opt['query_string']); - } - $query_string = $this->util->to_query_string($querystringparams); - - // Merge the signable query string values. Must be alphabetical. - $signable_list = array( - 'partNumber', - 'response-cache-control', - 'response-content-disposition', - 'response-content-encoding', - 'response-content-language', - 'response-content-type', - 'response-expires', - 'uploadId', - 'versionId' - ); - foreach ($signable_list as $item) - { - if (isset($opt[$item])) - { - $signable_querystringparams[$item] = $opt[$item]; - } - } - $signable_query_string = $this->util->to_query_string($signable_querystringparams); - - // Merge the HTTP headers - if (isset($opt['headers'])) - { - $headers = array_merge($headers, $opt['headers']); - } - - // Compile the URI to request - $conjunction = '?'; - $signable_resource = '/' . str_replace('%2F', '/', rawurlencode($resource)); - $non_signable_resource = ''; - - if (isset($opt['sub_resource'])) - { - $signable_resource .= $conjunction . rawurlencode($opt['sub_resource']); - $conjunction = '&'; - } - if ($signable_query_string !== '') - { - $signable_query_string = $conjunction . $signable_query_string; - $conjunction = '&'; - } - if ($query_string !== '') - { - $non_signable_resource .= $conjunction . $query_string; - $conjunction = '&'; - } - if (substr($hostname, -1) === substr($signable_resource, 0, 1)) - { - $signable_resource = ltrim($signable_resource, '/'); - } - - $this->request_url = $scheme . $hostname . $signable_resource . $signable_query_string . $non_signable_resource; - - if (isset($opt['location'])) - { - $this->request_url = $opt['location']; - } - - // Gather information to pass along to other classes. - $helpers = array( - 'utilities' => $this->utilities_class, - 'request' => $this->request_class, - 'response' => $this->response_class, - ); - - // Instantiate the request class - $request = new $this->request_class($this->request_url, $this->proxy, $helpers, $this->credentials); - - // Update RequestCore settings - $request->request_class = $this->request_class; - $request->response_class = $this->response_class; - $request->ssl_verification = $this->ssl_verification; - - // Pass along registered stream callbacks - if ($this->registered_streaming_read_callback) - { - $request->register_streaming_read_callback($this->registered_streaming_read_callback); - } - - if ($this->registered_streaming_write_callback) - { - $request->register_streaming_write_callback($this->registered_streaming_write_callback); - } - - // Streaming uploads - if (isset($opt['fileUpload'])) - { - if (is_resource($opt['fileUpload'])) - { - // Determine the length to read from the stream - $length = null; // From current position until EOF by default, size determined by set_read_stream() - - if (isset($headers['Content-Length'])) - { - $length = $headers['Content-Length']; - } - elseif (isset($opt['seekTo'])) - { - // Read from seekTo until EOF by default - $stats = fstat($opt['fileUpload']); - - if ($stats && $stats['size'] >= 0) - { - $length = $stats['size'] - (integer) $opt['seekTo']; - } - } - - $request->set_read_stream($opt['fileUpload'], $length); - - if ($headers['Content-Type'] === 'application/x-www-form-urlencoded') - { - $headers['Content-Type'] = 'application/octet-stream'; - } - } - else - { - $request->set_read_file($opt['fileUpload']); - - // Determine the length to read from the file - $length = $request->read_stream_size; // The file size by default - - if (isset($headers['Content-Length'])) - { - $length = $headers['Content-Length']; - } - elseif (isset($opt['seekTo']) && isset($length)) - { - // Read from seekTo until EOF by default - $length -= (integer) $opt['seekTo']; - } - - $request->set_read_stream_size($length); - - // Attempt to guess the correct mime-type - if ($headers['Content-Type'] === 'application/x-www-form-urlencoded') - { - $extension = explode('.', $opt['fileUpload']); - $extension = array_pop($extension); - $mime_type = CFMimeTypes::get_mimetype($extension); - $headers['Content-Type'] = $mime_type; - } - } - - $headers['Content-Length'] = $request->read_stream_size; - $headers['Content-MD5'] = ''; - } - - // Handle streaming file offsets - if (isset($opt['seekTo'])) - { - // Pass the seek position to RequestCore - $request->set_seek_position((integer) $opt['seekTo']); - } - - // Streaming downloads - if (isset($opt['fileDownload'])) - { - if (is_resource($opt['fileDownload'])) - { - $request->set_write_stream($opt['fileDownload']); - } - else - { - $request->set_write_file($opt['fileDownload']); - } - } - - $curlopts = array(); - - // Set custom CURLOPT settings - if (isset($opt['curlopts'])) - { - $curlopts = $opt['curlopts']; - } - - // Debug mode - if ($this->debug_mode) - { - $curlopts[CURLOPT_VERBOSE] = true; - } - - // Set the curl options. - if (count($curlopts)) - { - $request->set_curlopts($curlopts); - } - - // Do we have a verb? - if (isset($opt['verb'])) - { - $request->set_method($opt['verb']); - $string_to_sign .= $opt['verb'] . "\n"; - } - - // Add headers and content when we have a body - if (isset($opt['body'])) - { - $request->set_body($opt['body']); - $headers['Content-Length'] = strlen($opt['body']); - - if ($headers['Content-Type'] === 'application/x-www-form-urlencoded') - { - $headers['Content-Type'] = 'application/octet-stream'; - } - - if (!isset($opt['NoContentMD5']) || $opt['NoContentMD5'] !== true) - { - $headers['Content-MD5'] = $this->util->hex_to_base64(md5($opt['body'])); - } - } - - // Handle query-string authentication - if (isset($opt['preauth']) && (integer) $opt['preauth'] > 0) - { - unset($headers['Date']); - $headers['Content-Type'] = ''; - $headers['Expires'] = is_int($opt['preauth']) ? $opt['preauth'] : strtotime($opt['preauth']); - } - - // Sort headers - uksort($headers, 'strnatcasecmp'); - - // Add headers to request and compute the string to sign - foreach ($headers as $header_key => $header_value) - { - // Strip linebreaks from header values as they're illegal and can allow for security issues - $header_value = str_replace(array("\r", "\n"), '', $header_value); - - // Add the header if it has a value - if ($header_value !== '') - { - $request->add_header($header_key, $header_value); - } - - // Generate the string to sign - if ( - strtolower($header_key) === 'content-md5' || - strtolower($header_key) === 'content-type' || - strtolower($header_key) === 'date' || - (strtolower($header_key) === 'expires' && isset($opt['preauth']) && (integer) $opt['preauth'] > 0) - ) - { - $string_to_sign .= $header_value . "\n"; - } - elseif (substr(strtolower($header_key), 0, 6) === 'x-amz-') - { - $string_to_sign .= strtolower($header_key) . ':' . $header_value . "\n"; - } - } - - // Add the signable resource location - $string_to_sign .= ($this->resource_prefix ? $this->resource_prefix : ''); - $string_to_sign .= (($bucket === '' || $this->resource_prefix === '/' . $bucket) ? '' : ('/' . $bucket)) . $signable_resource . urldecode($signable_query_string); - - // Hash the AWS secret key and generate a signature for the request. - $signature = base64_encode(hash_hmac('sha1', $string_to_sign, $this->secret_key, true)); - $request->add_header('Authorization', 'AWS ' . $this->key . ':' . $signature); - - // If we're generating a URL, return the URL to the calling method. - if (isset($opt['preauth']) && (integer) $opt['preauth'] > 0) - { - $query_params = array( - 'AWSAccessKeyId' => $this->key, - 'Expires' => $headers['Expires'], - 'Signature' => $signature, - ); - - // If using short-term credentials, add the token to the query string - if ($this->auth_token) - { - $query_params['x-amz-security-token'] = $this->auth_token; - } - - return $this->request_url . $conjunction . http_build_query($query_params, '', '&'); - } - elseif (isset($opt['preauth'])) - { - return $this->request_url; - } - - /*%******************************************************************************************%*/ - - // If our changes were temporary, reset them. - if ($this->temporary_prefix) - { - $this->temporary_prefix = false; - $this->resource_prefix = null; - } - - // Manage the (newer) batch request API or the (older) returnCurlHandle setting. - if ($this->use_batch_flow) - { - $handle = $request->prep_request(); - $this->batch_object->add($handle); - $this->use_batch_flow = false; - - return $handle; - } - elseif (isset($opt['returnCurlHandle']) && $opt['returnCurlHandle'] === true) - { - return $request->prep_request(); - } - - // Send! - $request->send_request(); - - // Prepare the response - $headers = $request->get_response_header(); - $headers['x-aws-request-url'] = $this->request_url; - $headers['x-aws-redirects'] = $this->redirects; - $headers['x-aws-stringtosign'] = $string_to_sign; - $headers['x-aws-requestheaders'] = $request->request_headers; - - // Did we have a request body? - if (isset($opt['body'])) - { - $headers['x-aws-requestbody'] = $opt['body']; - } - - $data = new $this->response_class($headers, $this->parse_callback($request->get_response_body()), $request->get_response_code()); - - // Did Amazon tell us to redirect? Typically happens for multiple rapid requests EU datacenters. - // @see: http://docs.amazonwebservices.com/AmazonS3/latest/dev/Redirects.html - // @codeCoverageIgnoreStart - if ((integer) $request->get_response_code() === 307) // Temporary redirect to new endpoint. - { - $this->redirects++; - $opt['location'] = $headers['location']; - $data = $this->authenticate($bucket, $opt); - } - - // Was it Amazon's fault the request failed? Retry the request until we reach $max_retries. - elseif ((integer) $request->get_response_code() === 500 || (integer) $request->get_response_code() === 503) - { - if ($this->redirects <= $this->max_retries) - { - // Exponential backoff - $delay = (integer) (pow(4, $this->redirects) * 100000); - usleep($delay); - $this->redirects++; - $data = $this->authenticate($bucket, $opt); - } - } - // @codeCoverageIgnoreEnd - - // Return! - $this->redirects = 0; - return $data; - } - - /** - * Validates whether or not the specified Amazon S3 bucket name is valid for DNS-style access. This - * method is leveraged by any method that creates buckets. - * - * @param string $bucket (Required) The name of the bucket to validate. - * @return boolean Whether or not the specified Amazon S3 bucket name is valid for DNS-style access. A value of true means that the bucket name is valid. A value of false means that the bucket name is invalid. - */ - public function validate_bucketname_create($bucket) - { - // list_buckets() uses this. Let it pass. - if ($bucket === '') return true; - - if ( - ($bucket === null || $bucket === false) || // Must not be null or false - preg_match('/[^(a-z0-9\-\.)]/', $bucket) || // Must be in the lowercase Roman alphabet, period or hyphen - !preg_match('/^([a-z]|\d)/', $bucket) || // Must start with a number or letter - !(strlen($bucket) >= 3 && strlen($bucket) <= 63) || // Must be between 3 and 63 characters long - (strpos($bucket, '..') !== false) || // Bucket names cannot contain two, adjacent periods - (strpos($bucket, '-.') !== false) || // Bucket names cannot contain dashes next to periods - (strpos($bucket, '.-') !== false) || // Bucket names cannot contain dashes next to periods - preg_match('/(-|\.)$/', $bucket) || // Bucket names should not end with a dash or period - preg_match('/^(?:[0-9]{1,3}\.){3}[0-9]{1,3}$/', $bucket) // Must not be formatted as an IP address - ) return false; - - return true; - } - - /** - * Validates whether or not the specified Amazon S3 bucket name is valid for path-style access. This - * method is leveraged by any method that reads from buckets. - * - * @param string $bucket (Required) The name of the bucket to validate. - * @return boolean Whether or not the bucket name is valid. A value of true means that the bucket name is valid. A value of false means that the bucket name is invalid. - */ - public function validate_bucketname_support($bucket) - { - // list_buckets() uses this. Let it pass. - if ($bucket === '') return true; - - // Validate - if ( - ($bucket === null || $bucket === false) || // Must not be null or false - preg_match('/[^(a-z0-9_\-\.)]/i', $bucket) || // Must be in the Roman alphabet, period, hyphen or underscore - !preg_match('/^([a-z]|\d)/i', $bucket) || // Must start with a number or letter - !(strlen($bucket) >= 3 && strlen($bucket) <= 255) || // Must be between 3 and 255 characters long - preg_match('/^(?:[0-9]{1,3}\.){3}[0-9]{1,3}$/', $bucket) // Must not be formatted as an IP address - ) return false; - - return true; - } - - /*%******************************************************************************************%*/ - // SETTERS - - /** - * Sets the region to use for subsequent Amazon S3 operations. This will also reset any prior use of - * . - * - * @param string $region (Required) The region to use for subsequent Amazon S3 operations. For a complete list of REGION constants, see the AmazonS3 Constants page in the API reference. - * @return $this A reference to the current instance. - */ - public function set_region($region) - { - // @codeCoverageIgnoreStart - $this->set_hostname($region); - - switch ($region) - { - case self::REGION_US_E1: // Northern Virginia - $this->enable_path_style(false); - break; - - case self::REGION_EU_W1: // Ireland - $this->enable_path_style(); // Always use path-style access for EU endpoint. - break; - - default: - $this->enable_path_style(false); - break; - - } - // @codeCoverageIgnoreEnd - - return $this; - } - - /** - * Sets the virtual host to use in place of the default `bucket.s3.amazonaws.com` domain. - * - * @param string $vhost (Required) The virtual host to use in place of the default `bucket.s3.amazonaws.com` domain. - * @return $this A reference to the current instance. - * @link http://docs.amazonwebservices.com/AmazonS3/latest/dev/VirtualHosting.html Virtual Hosting of Buckets - */ - public function set_vhost($vhost) - { - $this->vhost = $vhost; - return $this; - } - - /** - * Enables the use of the older path-style URI access for all requests. - * - * @param string $style (Optional) Whether or not to enable path-style URI access for all requests. The default value is true. - * @return $this A reference to the current instance. - */ - public function enable_path_style($style = true) - { - $this->path_style = $style; - return $this; - } - - - /*%******************************************************************************************%*/ - // BUCKET METHODS - - /** - * Creates an Amazon S3 bucket. - * - * Every object stored in Amazon S3 is contained in a bucket. Buckets partition the namespace of - * objects stored in Amazon S3 at the top level. in a bucket, any name can be used for objects. - * However, bucket names must be unique across all of Amazon S3. - * - * @param string $bucket (Required) The name of the bucket to create. - * @param string $region (Required) The preferred geographical location for the bucket. [Allowed values: `AmazonS3::REGION_US_E1 `, `AmazonS3::REGION_US_W1`, `AmazonS3::REGION_EU_W1`, `AmazonS3::REGION_APAC_SE1`, `AmazonS3::REGION_APAC_NE1`] - * @param string $acl (Optional) The ACL settings for the specified bucket. [Allowed values: AmazonS3::ACL_PRIVATE, AmazonS3::ACL_PUBLIC, AmazonS3::ACL_OPEN, AmazonS3::ACL_AUTH_READ, AmazonS3::ACL_OWNER_READ, AmazonS3::ACL_OWNER_FULL_CONTROL]. The default value is . - * @param array $opt (Optional) An associative array of parameters that can have the following keys:
    - *
  • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
  • - *
  • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request.
- * @return CFResponse A object containing a parsed HTTP response. - * @link http://docs.amazonwebservices.com/AmazonS3/latest/dev/UsingBucket.html Working with Amazon S3 Buckets - */ - public function create_bucket($bucket, $region, $acl = self::ACL_PRIVATE, $opt = null) - { - // If the bucket contains uppercase letters... - if (preg_match('/[A-Z]/', $bucket)) - { - // Throw a warning - trigger_error('Since DNS-valid bucket names cannot contain uppercase characters, "' . $bucket . '" has been automatically converted to "' . strtolower($bucket) . '"', E_USER_WARNING); - - // Force the bucketname to lowercase - $bucket = strtolower($bucket); - } - - // Validate the S3 bucket name for creation - if (!$this->validate_bucketname_create($bucket)) - { - // @codeCoverageIgnoreStart - throw new S3_Exception('"' . $bucket . '" is not DNS-valid (i.e., .s3.amazonaws.com), and cannot be used as an S3 bucket name. Review "Bucket Restrictions and Limitations" in the S3 Developer Guide for more information.'); - // @codeCoverageIgnoreEnd - } - - if (!$opt) $opt = array(); - $opt['verb'] = 'PUT'; - $opt['headers'] = array( - 'Content-Type' => 'application/xml', - 'x-amz-acl' => $acl - ); - - // Defaults - $this->set_region($region); // Also sets path-style - $xml = simplexml_load_string($this->base_location_constraint); - - switch ($region) - { - case self::REGION_US_E1: // Northern Virginia - $opt['body'] = ''; - break; - - case self::REGION_EU_W1: // Ireland - $xml->LocationConstraint = 'EU'; - $opt['body'] = $xml->asXML(); - break; - - default: - $xml->LocationConstraint = str_replace(array('s3-', '.amazonaws.com'), '', $region); - $opt['body'] = $xml->asXML(); - break; - } - - $response = $this->authenticate($bucket, $opt); - - // Make sure we're set back to DNS-style URLs - $this->enable_path_style(false); - - return $response; - } - - /** - * Gets the region in which the specified Amazon S3 bucket is located. - * - * @param string $bucket (Required) The name of the bucket to use. - * @param array $opt (Optional) An associative array of parameters that can have the following keys:
    - *
  • preauth - integer|string - Optional - Specifies that a presigned URL for this request should be returned. May be passed as a number of seconds since UNIX Epoch, or any string compatible with .
  • - *
  • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
- * @return CFResponse A object containing a parsed HTTP response. - */ - public function get_bucket_region($bucket, $opt = null) - { - // Add this to our request - if (!$opt) $opt = array(); - $opt['verb'] = 'GET'; - $opt['sub_resource'] = 'location'; - - // Authenticate to S3 - $response = $this->authenticate($bucket, $opt); - - if ($response->isOK()) - { - // Handle body - $response->body = (string) $response->body; - } - - return $response; - } - - /** - * Gets the HTTP headers for the specified Amazon S3 bucket. - * - * @param string $bucket (Required) The name of the bucket to use. - * @param array $opt (Optional) An associative array of parameters that can have the following keys:
    - *
  • preauth - integer|string - Optional - Specifies that a presigned URL for this request should be returned. May be passed as a number of seconds since UNIX Epoch, or any string compatible with .
  • - *
  • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
  • - *
  • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
- * @return CFResponse A object containing a parsed HTTP response. - */ - public function get_bucket_headers($bucket, $opt = null) - { - if (!$opt) $opt = array(); - $opt['verb'] = 'HEAD'; - - return $this->authenticate($bucket, $opt); - } - - /** - * Deletes a bucket from an Amazon S3 account. A bucket must be empty before the bucket itself can be deleted. - * - * @param string $bucket (Required) The name of the bucket to use. - * @param boolean $force (Optional) Whether to force-delete the bucket and all of its contents. The default value is false. - * @param array $opt (Optional) An associative array of parameters that can have the following keys:
    - *
  • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
  • - *
  • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
- * @return mixed A object if the bucket was deleted successfully. Returns boolean false if otherwise. - */ - public function delete_bucket($bucket, $force = false, $opt = null) - { - // Set default value - $success = true; - - if ($force) - { - // Delete all of the items from the bucket. - $success = $this->delete_all_object_versions($bucket); - } - - // As long as we were successful... - if ($success) - { - if (!$opt) $opt = array(); - $opt['verb'] = 'DELETE'; - - return $this->authenticate($bucket, $opt); - } - - // @codeCoverageIgnoreStart - return false; - // @codeCoverageIgnoreEnd - } - - /** - * Gets a list of all buckets contained in the caller's Amazon S3 account. - * - * @param array $opt (Optional) An associative array of parameters that can have the following keys:
    - *
  • preauth - integer|string - Optional - Specifies that a presigned URL for this request should be returned. May be passed as a number of seconds since UNIX Epoch, or any string compatible with .
  • - *
  • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
  • - *
  • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
- * @return CFResponse A object containing a parsed HTTP response. - */ - public function list_buckets($opt = null) - { - if (!$opt) $opt = array(); - $opt['verb'] = 'GET'; - - return $this->authenticate('', $opt); - } - - /** - * Gets the access control list (ACL) settings for the specified Amazon S3 bucket. - * - * @param string $bucket (Required) The name of the bucket to use. - * @param array $opt (Optional) An associative array of parameters that can have the following keys:
    - *
  • preauth - integer|string - Optional - Specifies that a presigned URL for this request should be returned. May be passed as a number of seconds since UNIX Epoch, or any string compatible with .
  • - *
  • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
  • - *
  • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
- * @return CFResponse A object containing a parsed HTTP response. - * @link http://docs.amazonwebservices.com/AmazonS3/latest/dev/RESTAccessPolicy.html REST Access Control Policy - */ - public function get_bucket_acl($bucket, $opt = null) - { - // Add this to our request - if (!$opt) $opt = array(); - $opt['verb'] = 'GET'; - $opt['sub_resource'] = 'acl'; - - // Authenticate to S3 - return $this->authenticate($bucket, $opt); - } - - /** - * Sets the access control list (ACL) settings for the specified Amazon S3 bucket. - * - * @param string $bucket (Required) The name of the bucket to use. - * @param string $acl (Optional) The ACL settings for the specified bucket. [Allowed values: AmazonS3::ACL_PRIVATE, AmazonS3::ACL_PUBLIC, AmazonS3::ACL_OPEN, AmazonS3::ACL_AUTH_READ, AmazonS3::ACL_OWNER_READ, AmazonS3::ACL_OWNER_FULL_CONTROL]. Alternatively, an array of associative arrays. Each associative array contains an `id` and a `permission` key. The default value is . - * @param array $opt (Optional) An associative array of parameters that can have the following keys:
    - *
  • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
  • - *
  • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
- * @return CFResponse A object containing a parsed HTTP response. - * @link http://docs.amazonwebservices.com/AmazonS3/latest/dev/RESTAccessPolicy.html REST Access Control Policy - */ - public function set_bucket_acl($bucket, $acl = self::ACL_PRIVATE, $opt = null) - { - // Add this to our request - if (!$opt) $opt = array(); - $opt['verb'] = 'PUT'; - $opt['sub_resource'] = 'acl'; - $opt['headers'] = array( - 'Content-Type' => 'application/xml' - ); - - // Make sure these are defined. - // @codeCoverageIgnoreStart - if (!$this->credentials->canonical_id || !$this->credentials->canonical_name) - { - // Fetch the data live. - $canonical = $this->get_canonical_user_id(); - $this->credentials->canonical_id = $canonical['id']; - $this->credentials->canonical_name = $canonical['display_name']; - } - // @codeCoverageIgnoreEnd - - if (is_array($acl)) - { - $opt['body'] = $this->generate_access_policy($this->credentials->canonical_id, $this->credentials->canonical_name, $acl); - } - else - { - $opt['body'] = ''; - $opt['headers']['x-amz-acl'] = $acl; - } - - // Authenticate to S3 - return $this->authenticate($bucket, $opt); - } - - - /*%******************************************************************************************%*/ - // OBJECT METHODS - - /** - * Creates an Amazon S3 object. After an Amazon S3 bucket is created, objects can be stored in it. - * - * Each standard object can hold up to 5 GB of data. When an object is stored in Amazon S3, the data is streamed - * to multiple storage servers in multiple data centers. This ensures the data remains available in the - * event of internal network or hardware failure. - * - * @param string $bucket (Required) The name of the bucket to use. - * @param string $filename (Required) The file name for the object. - * @param array $opt (Optional) An associative array of parameters that can have the following keys:
    - *
  • body - string - Required; Conditional - The data to be stored in the object. Either this parameter or fileUpload must be specified.
  • - *
  • fileUpload - string|resource - Required; Conditional - The URL/path for the file to upload, or an open resource. Either this parameter or body is required.
  • - *
  • acl - string - Optional - The ACL settings for the specified object. [Allowed values: AmazonS3::ACL_PRIVATE, AmazonS3::ACL_PUBLIC, AmazonS3::ACL_OPEN, AmazonS3::ACL_AUTH_READ, AmazonS3::ACL_OWNER_READ, AmazonS3::ACL_OWNER_FULL_CONTROL]. The default value is ACL_PRIVATE.
  • - *
  • contentType - string - Optional - The type of content that is being sent in the body. If a file is being uploaded via fileUpload as a file system path, it will attempt to determine the correct mime-type based on the file extension. The default value is application/octet-stream.
  • - *
  • encryption - string - Optional - The algorithm to use for encrypting the object. [Allowed values: AES256]
  • - *
  • headers - array - Optional - Standard HTTP headers to send along in the request. Accepts an associative array of key-value pairs.
  • - *
  • length - integer - Optional - The size of the object in bytes. For more information, see RFC 2616, section 14.13. The value can also be passed to the header option as Content-Length.
  • - *
  • meta - array - Optional - An associative array of key-value pairs. Represented by x-amz-meta-:. Any header starting with this prefix is considered user metadata. It will be stored with the object and returned when you retrieve the object. The total size of the HTTP request, not including the body, must be less than 4 KB.
  • - *
  • seekTo - integer - Optional - The starting position in bytes within the file/stream to upload from.
  • - *
  • storage - string - Optional - Whether to use Standard or Reduced Redundancy storage. [Allowed values: AmazonS3::STORAGE_STANDARD, AmazonS3::STORAGE_REDUCED]. The default value is STORAGE_STANDARD.
  • - *
  • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
  • - *
  • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
- * @return CFResponse A object containing a parsed HTTP response. - * @link http://docs.amazonwebservices.com/AmazonS3/latest/dev/RESTAccessPolicy.html REST Access Control Policy - */ - public function create_object($bucket, $filename, $opt = null) - { - if (!$opt) $opt = array(); - - // Add this to our request - $opt['verb'] = 'PUT'; - $opt['resource'] = $filename; - - // Handle content length. Can also be passed as an HTTP header. - if (isset($opt['length'])) - { - $opt['headers']['Content-Length'] = $opt['length']; - unset($opt['length']); - } - - // Handle content type. Can also be passed as an HTTP header. - if (isset($opt['contentType'])) - { - $opt['headers']['Content-Type'] = $opt['contentType']; - unset($opt['contentType']); - } - - // Handle Access Control Lists. Can also be passed as an HTTP header. - if (isset($opt['acl'])) - { - $opt['headers']['x-amz-acl'] = $opt['acl']; - unset($opt['acl']); - } - - // Handle storage settings. Can also be passed as an HTTP header. - if (isset($opt['storage'])) - { - $opt['headers']['x-amz-storage-class'] = $opt['storage']; - unset($opt['storage']); - } - - // Handle encryption settings. Can also be passed as an HTTP header. - if (isset($opt['encryption'])) - { - $opt['headers']['x-amz-server-side-encryption'] = $opt['encryption']; - unset($opt['encryption']); - } - - // Handle meta tags. Can also be passed as an HTTP header. - if (isset($opt['meta'])) - { - foreach ($opt['meta'] as $meta_key => $meta_value) - { - // e.g., `My Meta Header` is converted to `x-amz-meta-my-meta-header`. - $opt['headers']['x-amz-meta-' . strtolower(str_replace(' ', '-', $meta_key))] = $meta_value; - } - unset($opt['meta']); - } - - $opt['headers']['Expect'] = '100-continue'; - - // Authenticate to S3 - return $this->authenticate($bucket, $opt); - } - - /** - * Gets the contents of an Amazon S3 object in the specified bucket. - * - * @param string $bucket (Required) The name of the bucket to use. - * @param string $filename (Required) The file name for the object. - * @param array $opt (Optional) An associative array of parameters that can have the following keys:
    - *
  • etag - string - Optional - The ETag header passed in from a previous request. If specified, request LastModified option must be specified as well. Will trigger a 304 Not Modified status code if the file hasn't changed.
  • - *
  • fileDownload - string|resource - Optional - The file system location to download the file to, or an open file resource. Must be a server-writable location.
  • - *
  • headers - array - Optional - Standard HTTP headers to send along in the request. Accepts an associative array of key-value pairs.
  • - *
  • lastmodified - string - Optional - The LastModified header passed in from a previous request. If specified, request ETag option must be specified as well. Will trigger a 304 Not Modified status code if the file hasn't changed.
  • - *
  • preauth - integer|string - Optional - Specifies that a presigned URL for this request should be returned. May be passed as a number of seconds since UNIX Epoch, or any string compatible with .
  • - *
  • range - string - Optional - The range of bytes to fetch from the object. Specify this parameter when downloading partial bits or completing incomplete object downloads. The specified range must be notated with a hyphen (e.g., 0-10485759). Defaults to the byte range of the complete Amazon S3 object.
  • - *
  • response - array - Optional - Allows adjustments to specific response headers. Pass an associative array where each key is one of the following: cache-control, content-disposition, content-encoding, content-language, content-type, expires. The expires value should use and be formatted with the DATE_RFC2822 constant.
  • - *
  • versionId - string - Optional - The version of the object to retrieve. Version IDs are returned in the x-amz-version-id header of any previous object-related request.
  • - *
  • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
  • - *
  • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
- * @return CFResponse A object containing a parsed HTTP response. - */ - public function get_object($bucket, $filename, $opt = null) - { - if (!$opt) $opt = array(); - - // Add this to our request - $opt['verb'] = 'GET'; - $opt['resource'] = $filename; - - if (!isset($opt['headers']) || !is_array($opt['headers'])) - { - $opt['headers'] = array(); - } - - if (isset($opt['lastmodified'])) - { - $opt['headers']['If-Modified-Since'] = $opt['lastmodified']; - } - - if (isset($opt['etag'])) - { - $opt['headers']['If-None-Match'] = $opt['etag']; - } - - // Partial content range - if (isset($opt['range'])) - { - $opt['headers']['Range'] = 'bytes=' . $opt['range']; - } - - // GET responses - if (isset($opt['response'])) - { - foreach ($opt['response'] as $key => $value) - { - $opt['response-' . $key] = $value; - unset($opt['response'][$key]); - } - } - - // Authenticate to S3 - $this->parse_the_response = false; - $response = $this->authenticate($bucket, $opt); - $this->parse_the_response = true; - - return $response; - } - - /** - * Gets the HTTP headers for the specified Amazon S3 object. - * - * @param string $bucket (Required) The name of the bucket to use. - * @param string $filename (Required) The file name for the object. - * @param array $opt (Optional) An associative array of parameters that can have the following keys:
    - *
  • versionId - string - Optional - The version of the object to retrieve. Version IDs are returned in the x-amz-version-id header of any previous object-related request.
  • - *
  • preauth - integer|string - Optional - Specifies that a presigned URL for this request should be returned. May be passed as a number of seconds since UNIX Epoch, or any string compatible with .
  • - *
  • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
  • - *
  • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
- * @return CFResponse A object containing a parsed HTTP response. - */ - public function get_object_headers($bucket, $filename, $opt = null) - { - // Add this to our request - if (!$opt) $opt = array(); - $opt['verb'] = 'HEAD'; - $opt['resource'] = $filename; - - // Authenticate to S3 - return $this->authenticate($bucket, $opt); - } - - /** - * Deletes an Amazon S3 object from the specified bucket. - * - * @param string $bucket (Required) The name of the bucket to use. - * @param string $filename (Required) The file name for the object. - * @param array $opt (Optional) An associative array of parameters that can have the following keys:
    - *
  • versionId - string - Optional - The version of the object to delete. Version IDs are returned in the x-amz-version-id header of any previous object-related request.
  • - *
  • MFASerial - string - Optional - The serial number on the back of the Gemalto device. MFASerial and MFAToken must both be set for MFA to work.
  • - *
  • MFAToken - string - Optional - The current token displayed on the Gemalto device. MFASerial and MFAToken must both be set for MFA to work.
  • - *
  • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
  • - *
  • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
- * @return CFResponse A object containing a parsed HTTP response. - * @link http://aws.amazon.com/mfa/ Multi-Factor Authentication - */ - public function delete_object($bucket, $filename, $opt = null) - { - // Add this to our request - if (!$opt) $opt = array(); - $opt['verb'] = 'DELETE'; - $opt['resource'] = $filename; - - // Enable MFA delete? - // @codeCoverageIgnoreStart - if (isset($opt['MFASerial']) && isset($opt['MFAToken'])) - { - $opt['headers'] = array( - 'x-amz-mfa' => ($opt['MFASerial'] . ' ' . $opt['MFAToken']) - ); - } - // @codeCoverageIgnoreEnd - - // Authenticate to S3 - return $this->authenticate($bucket, $opt); - } - - /** - * Deletes two or more specified Amazon S3 objects from the specified bucket. - * - * @param string $bucket (Required) The name of the bucket to use. - * @param array $opt (Optional) An associative array of parameters that can have the following keys:
    - *
  • objects - array - Required - The object references to delete from the bucket.
      - *
    • key - string - Required - The name of the object (e.g., the "key") to delete. This should include the entire file path including all "subdirectories".
    • - *
    • version_id - string - Optional - If the object is versioned, include the version ID to delete.
    • - *
  • - *
  • quiet - boolean - Optional - Whether or not Amazon S3 should use "Quiet" mode for this operation. A value of true will enable Quiet mode. A value of false will use Verbose mode. The default value is false.
  • - *
  • MFASerial - string - Optional - The serial number on the back of the Gemalto device. MFASerial and MFAToken must both be set for MFA to work.
  • - *
  • MFAToken - string - Optional - The current token displayed on the Gemalto device. MFASerial and MFAToken must both be set for MFA to work.
  • - *
  • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
  • - *
  • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
- * @return CFResponse A object containing a parsed HTTP response. - * @link http://aws.amazon.com/mfa/ Multi-Factor Authentication - */ - public function delete_objects($bucket, $opt = null) - { - // Add this to our request - if (!$opt) $opt = array(); - $opt['verb'] = 'POST'; - $opt['sub_resource'] = 'delete'; - $opt['body'] = ''; - - // Bail out - if (!isset($opt['objects']) || !is_array($opt['objects'])) - { - throw new S3_Exception('The ' . __FUNCTION__ . ' method requires the "objects" option to be set as an array.'); - } - - $xml = new SimpleXMLElement($this->multi_object_delete_xml); - - // Add the objects - foreach ($opt['objects'] as $object) - { - $xobject = $xml->addChild('Object'); - $xobject->addChild('Key', $object['key']); - - if (isset($object['version_id'])) - { - $xobject->addChild('VersionId', $object['version_id']); - } - } - - // Quiet mode? - if (isset($opt['quiet'])) - { - $quiet = 'false'; - if (is_bool($opt['quiet'])) // Boolean - { - $quiet = $opt['quiet'] ? 'true' : 'false'; - } - elseif (is_string($opt['quiet'])) // String - { - $quiet = ($opt['quiet'] === 'true') ? 'true' : 'false'; - } - - $xml->addChild('Quiet', $quiet); - } - - // Enable MFA delete? - // @codeCoverageIgnoreStart - if (isset($opt['MFASerial']) && isset($opt['MFAToken'])) - { - $opt['headers'] = array( - 'x-amz-mfa' => ($opt['MFASerial'] . ' ' . $opt['MFAToken']) - ); - } - // @codeCoverageIgnoreEnd - - $opt['body'] = $xml->asXML(); - - // Authenticate to S3 - return $this->authenticate($bucket, $opt); - } - - /** - * Gets a list of all Amazon S3 objects in the specified bucket. - * - * NOTE: This method is paginated, and will not return more than max-keys keys. If you want to retrieve a list of all keys, you will need to make multiple calls to this function using the marker option to specify the pagination offset (the key of the last processed key--lexically ordered) and the IsTruncated response key to detect when all results have been processed. See: the S3 REST documentation for get_bucket for more information. - * - * @param string $bucket (Required) The name of the bucket to use. - * @param array $opt (Optional) An associative array of parameters that can have the following keys:
    - *
  • delimiter - string - Optional - Keys that contain the same string between the prefix and the first occurrence of the delimiter will be rolled up into a single result element in the CommonPrefixes collection.
  • - *
  • marker - string - Optional - Restricts the response to contain results that only occur alphabetically after the value of the marker.
  • - *
  • max-keys - string - Optional - The maximum number of results returned by the method call. The returned list will contain no more results than the specified value, but may return fewer. The default value is 1000.
  • - *
  • preauth - integer|string - Optional - Specifies that a presigned URL for this request should be returned. May be passed as a number of seconds since UNIX Epoch, or any string compatible with .
  • - *
  • prefix - string - Optional - Restricts the response to contain results that begin only with the specified prefix.
  • - *
  • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
  • - *
  • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
- * @return CFResponse A object containing a parsed HTTP response. - */ - public function list_objects($bucket, $opt = null) - { - if (!$opt) $opt = array(); - - // Add this to our request - $opt['verb'] = 'GET'; - - foreach (array('delimiter', 'marker', 'max-keys', 'prefix') as $param) - { - if (isset($opt[$param])) - { - $opt['query_string'][$param] = $opt[$param]; - unset($opt[$param]); - } - } - - // Authenticate to S3 - return $this->authenticate($bucket, $opt); - } - - /** - * Copies an Amazon S3 object to a new location, whether in the same Amazon S3 region, bucket, or otherwise. - * - * @param array $source (Required) The bucket and file name to copy from. The following keys must be set:
    - *
  • bucket - string - Required - Specifies the name of the bucket containing the source object.
  • - *
  • filename - string - Required - Specifies the file name of the source object to copy.
- * @param array $dest (Required) The bucket and file name to copy to. The following keys must be set:
    - *
  • bucket - string - Required - Specifies the name of the bucket to copy the object to.
  • - *
  • filename - string - Required - Specifies the file name to copy the object to.
- * @param array $opt (Optional) An associative array of parameters that can have the following keys:
    - *
  • acl - string - Optional - The ACL settings for the specified object. [Allowed values: AmazonS3::ACL_PRIVATE, AmazonS3::ACL_PUBLIC, AmazonS3::ACL_OPEN, AmazonS3::ACL_AUTH_READ, AmazonS3::ACL_OWNER_READ, AmazonS3::ACL_OWNER_FULL_CONTROL]. Alternatively, an array of associative arrays. Each associative array contains an id and a permission key. The default value is ACL_PRIVATE.
  • - *
  • encryption - string - Optional - The algorithm to use for encrypting the object. [Allowed values: AES256]
  • - *
  • storage - string - Optional - Whether to use Standard or Reduced Redundancy storage. [Allowed values: AmazonS3::STORAGE_STANDARD, AmazonS3::STORAGE_REDUCED]. The default value is STORAGE_STANDARD.
  • - *
  • versionId - string - Optional - The version of the object to copy. Version IDs are returned in the x-amz-version-id header of any previous object-related request.
  • - *
  • ifMatch - string - Optional - The ETag header from a previous request. Copies the object if its entity tag (ETag) matches the specified tag; otherwise, the request returns a 412 HTTP status code error (precondition failed). Used in conjunction with ifUnmodifiedSince.
  • - *
  • ifUnmodifiedSince - string - Optional - The LastModified header from a previous request. Copies the object if it hasn't been modified since the specified time; otherwise, the request returns a 412 HTTP status code error (precondition failed). Used in conjunction with ifMatch.
  • - *
  • ifNoneMatch - string - Optional - The ETag header from a previous request. Copies the object if its entity tag (ETag) is different than the specified ETag; otherwise, the request returns a 412 HTTP status code error (failed condition). Used in conjunction with ifModifiedSince.
  • - *
  • ifModifiedSince - string - Optional - The LastModified header from a previous request. Copies the object if it has been modified since the specified time; otherwise, the request returns a 412 HTTP status code error (failed condition). Used in conjunction with ifNoneMatch.
  • - *
  • headers - array - Optional - Standard HTTP headers to send along in the request. Accepts an associative array of key-value pairs.
  • - *
  • meta - array - Optional - Associative array of key-value pairs. Represented by x-amz-meta-: Any header starting with this prefix is considered user metadata. It will be stored with the object and returned when you retrieve the object. The total size of the HTTP request, not including the body, must be less than 4 KB.
  • - *
  • metadataDirective - string - Optional - Accepts either COPY or REPLACE. You will likely never need to use this, as it manages itself with no issues.
  • - *
  • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
  • - *
  • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
- * @return CFResponse A object containing a parsed HTTP response. - * @link http://docs.amazonwebservices.com/AmazonS3/latest/dev/API/RESTObjectCOPY.html Copying Amazon S3 Objects - */ - public function copy_object($source, $dest, $opt = null) - { - if (!$opt) $opt = array(); - $batch = array(); - - // Add this to our request - $opt['verb'] = 'PUT'; - $opt['resource'] = $dest['filename']; - $opt['body'] = ''; - - // Handle copy source - if (isset($source['bucket']) && isset($source['filename'])) - { - $opt['headers']['x-amz-copy-source'] = '/' . $source['bucket'] . '/' . rawurlencode($source['filename']) - . (isset($opt['versionId']) ? ('?' . 'versionId=' . rawurlencode($opt['versionId'])) : ''); // Append the versionId to copy, if available - unset($opt['versionId']); - - // Determine if we need to lookup the pre-existing content-type. - if ( - (!$this->use_batch_flow && !isset($opt['returnCurlHandle'])) && - !in_array(strtolower('content-type'), array_map('strtolower', array_keys($opt['headers']))) - ) - { - $response = $this->get_object_headers($source['bucket'], $source['filename']); - if ($response->isOK()) - { - $opt['headers']['Content-Type'] = $response->header['content-type']; - } - } - } - - // Handle metadata directive - $opt['headers']['x-amz-metadata-directive'] = 'COPY'; - if ($source['bucket'] === $dest['bucket'] && $source['filename'] === $dest['filename']) - { - $opt['headers']['x-amz-metadata-directive'] = 'REPLACE'; - } - if (isset($opt['metadataDirective'])) - { - $opt['headers']['x-amz-metadata-directive'] = $opt['metadataDirective']; - unset($opt['metadataDirective']); - } - - // Handle Access Control Lists. Can also pass canned ACLs as an HTTP header. - if (isset($opt['acl']) && is_array($opt['acl'])) - { - $batch[] = $this->set_object_acl($dest['bucket'], $dest['filename'], $opt['acl'], array( - 'returnCurlHandle' => true - )); - unset($opt['acl']); - } - elseif (isset($opt['acl'])) - { - $opt['headers']['x-amz-acl'] = $opt['acl']; - unset($opt['acl']); - } - - // Handle storage settings. Can also be passed as an HTTP header. - if (isset($opt['storage'])) - { - $opt['headers']['x-amz-storage-class'] = $opt['storage']; - unset($opt['storage']); - } - - // Handle encryption settings. Can also be passed as an HTTP header. - if (isset($opt['encryption'])) - { - $opt['headers']['x-amz-server-side-encryption'] = $opt['encryption']; - unset($opt['encryption']); - } - - // Handle conditional-copy parameters - if (isset($opt['ifMatch'])) - { - $opt['headers']['x-amz-copy-source-if-match'] = $opt['ifMatch']; - unset($opt['ifMatch']); - } - if (isset($opt['ifNoneMatch'])) - { - $opt['headers']['x-amz-copy-source-if-none-match'] = $opt['ifNoneMatch']; - unset($opt['ifNoneMatch']); - } - if (isset($opt['ifUnmodifiedSince'])) - { - $opt['headers']['x-amz-copy-source-if-unmodified-since'] = $opt['ifUnmodifiedSince']; - unset($opt['ifUnmodifiedSince']); - } - if (isset($opt['ifModifiedSince'])) - { - $opt['headers']['x-amz-copy-source-if-modified-since'] = $opt['ifModifiedSince']; - unset($opt['ifModifiedSince']); - } - - // Handle meta tags. Can also be passed as an HTTP header. - if (isset($opt['meta'])) - { - foreach ($opt['meta'] as $meta_key => $meta_value) - { - // e.g., `My Meta Header` is converted to `x-amz-meta-my-meta-header`. - $opt['headers']['x-amz-meta-' . strtolower(str_replace(' ', '-', $meta_key))] = $meta_value; - } - unset($opt['meta']); - } - - // Authenticate to S3 - $response = $this->authenticate($dest['bucket'], $opt); - - // Attempt to reset ACLs - $http = new RequestCore(); - $http->send_multi_request($batch); - - return $response; - } - - /** - * Updates an Amazon S3 object with new headers or other metadata. To replace the content of the - * specified Amazon S3 object, call with the same bucket and file name parameters. - * - * @param string $bucket (Required) The name of the bucket that contains the source file. - * @param string $filename (Required) The source file name that you want to update. - * @param array $opt (Optional) An associative array of parameters that can have the following keys:
    - *
  • acl - string - Optional - The ACL settings for the specified object. [Allowed values: AmazonS3::ACL_PRIVATE, AmazonS3::ACL_PUBLIC, AmazonS3::ACL_OPEN, AmazonS3::ACL_AUTH_READ, AmazonS3::ACL_OWNER_READ, AmazonS3::ACL_OWNER_FULL_CONTROL]. The default value is .
  • - *
  • headers - array - Optional - Standard HTTP headers to send along in the request. Accepts an associative array of key-value pairs.
  • - *
  • meta - array - Optional - An associative array of key-value pairs. Any header with the x-amz-meta- prefix is considered user metadata and is stored with the Amazon S3 object. It will be stored with the object and returned when you retrieve the object. The total size of the HTTP request, not including the body, must be less than 4 KB.
  • - *
  • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
  • - *
  • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
- * @return CFResponse A object containing a parsed HTTP response. - * @link http://docs.amazonwebservices.com/AmazonS3/latest/dev/API/RESTObjectCOPY.html Copying Amazon S3 Objects - */ - public function update_object($bucket, $filename, $opt = null) - { - if (!$opt) $opt = array(); - $opt['metadataDirective'] = 'REPLACE'; - - // Authenticate to S3 - return $this->copy_object( - array('bucket' => $bucket, 'filename' => $filename), - array('bucket' => $bucket, 'filename' => $filename), - $opt - ); - } - - - /*%******************************************************************************************%*/ - // ACCESS CONTROL LISTS - - /** - * Gets the access control list (ACL) settings for the specified Amazon S3 object. - * - * @param string $bucket (Required) The name of the bucket to use. - * @param string $filename (Required) The file name for the object. - * @param array $opt (Optional) An associative array of parameters that can have the following keys:
    - *
  • versionId - string - Optional - The version of the object to retrieve. Version IDs are returned in the x-amz-version-id header of any previous object-related request.
  • - *
  • preauth - integer|string - Optional - Specifies that a presigned URL for this request should be returned. May be passed as a number of seconds since UNIX Epoch, or any string compatible with .
  • - *
  • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
  • - *
  • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
- * @return CFResponse A object containing a parsed HTTP response. - * @link http://docs.amazonwebservices.com/AmazonS3/latest/dev/RESTAccessPolicy.html REST Access Control Policy - */ - public function get_object_acl($bucket, $filename, $opt = null) - { - // Add this to our request - if (!$opt) $opt = array(); - $opt['verb'] = 'GET'; - $opt['resource'] = $filename; - $opt['sub_resource'] = 'acl'; - - // Authenticate to S3 - return $this->authenticate($bucket, $opt); - } - - /** - * Sets the access control list (ACL) settings for the specified Amazon S3 object. - * - * @param string $bucket (Required) The name of the bucket to use. - * @param string $filename (Required) The file name for the object. - * @param string $acl (Optional) The ACL settings for the specified object. Accepts any of the following constants: [Allowed values: AmazonS3::ACL_PRIVATE, AmazonS3::ACL_PUBLIC, AmazonS3::ACL_OPEN, AmazonS3::ACL_AUTH_READ, AmazonS3::ACL_OWNER_READ, AmazonS3::ACL_OWNER_FULL_CONTROL]. Alternatively, an array of associative arrays. Each associative array contains an id and a permission key. The default value is ACL_PRIVATE. - * @param array $opt (Optional) An associative array of parameters that can have the following keys:
    - *
  • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
  • - *
  • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
- * @return CFResponse A object containing a parsed HTTP response. - * @link http://docs.amazonwebservices.com/AmazonS3/latest/dev/RESTAccessPolicy.html REST Access Control Policy - */ - public function set_object_acl($bucket, $filename, $acl = self::ACL_PRIVATE, $opt = null) - { - // Add this to our request - if (!$opt) $opt = array(); - $opt['verb'] = 'PUT'; - $opt['resource'] = $filename; - $opt['sub_resource'] = 'acl'; - - // Retrieve the original metadata - $metadata = $this->get_object_metadata($bucket, $filename); - if ($metadata && $metadata['ContentType']) - { - $opt['headers']['Content-Type'] = $metadata['ContentType']; - } - if ($metadata && $metadata['StorageClass']) - { - $opt['headers']['x-amz-storage-class'] = $metadata['StorageClass']; - } - - // Make sure these are defined. - // @codeCoverageIgnoreStart - if (!$this->credentials->canonical_id || !$this->credentials->canonical_name) - { - // Fetch the data live. - $canonical = $this->get_canonical_user_id(); - $this->credentials->canonical_id = $canonical['id']; - $this->credentials->canonical_name = $canonical['display_name']; - } - // @codeCoverageIgnoreEnd - - if (is_array($acl)) - { - $opt['body'] = $this->generate_access_policy($this->credentials->canonical_id, $this->credentials->canonical_name, $acl); - } - else - { - $opt['body'] = ''; - $opt['headers']['x-amz-acl'] = $acl; - } - - // Authenticate to S3 - return $this->authenticate($bucket, $opt); - } - - /** - * Generates the XML to be used for the Access Control Policy. - * - * @param string $canonical_id (Required) The canonical ID for the bucket owner. This is provided as the `id` return value from . - * @param string $canonical_name (Required) The canonical display name for the bucket owner. This is provided as the `display_name` value from . - * @param array $users (Optional) An array of associative arrays. Each associative array contains an `id` value and a `permission` value. - * @return string Access Control Policy XML. - * @link http://docs.amazonwebservices.com/AmazonS3/latest/dev/S3_ACLs.html Access Control Lists - */ - public function generate_access_policy($canonical_id, $canonical_name, $users) - { - $xml = simplexml_load_string($this->base_acp_xml); - $owner = $xml->addChild('Owner'); - $owner->addChild('ID', $canonical_id); - $owner->addChild('DisplayName', $canonical_name); - $acl = $xml->addChild('AccessControlList'); - - foreach ($users as $user) - { - $grant = $acl->addChild('Grant'); - $grantee = $grant->addChild('Grantee'); - - switch ($user['id']) - { - // Authorized Users - case self::USERS_AUTH: - $grantee->addAttribute('xsi:type', 'Group', 'http://www.w3.org/2001/XMLSchema-instance'); - $grantee->addChild('URI', self::USERS_AUTH); - break; - - // All Users - case self::USERS_ALL: - $grantee->addAttribute('xsi:type', 'Group', 'http://www.w3.org/2001/XMLSchema-instance'); - $grantee->addChild('URI', self::USERS_ALL); - break; - - // The Logging User - case self::USERS_LOGGING: - $grantee->addAttribute('xsi:type', 'Group', 'http://www.w3.org/2001/XMLSchema-instance'); - $grantee->addChild('URI', self::USERS_LOGGING); - break; - - // Email Address or Canonical Id - default: - if (strpos($user['id'], '@')) - { - $grantee->addAttribute('xsi:type', 'AmazonCustomerByEmail', 'http://www.w3.org/2001/XMLSchema-instance'); - $grantee->addChild('EmailAddress', $user['id']); - } - else - { - // Assume Canonical Id - $grantee->addAttribute('xsi:type', 'CanonicalUser', 'http://www.w3.org/2001/XMLSchema-instance'); - $grantee->addChild('ID', $user['id']); - } - break; - } - - $grant->addChild('Permission', $user['permission']); - } - - return $xml->asXML(); - } - - - /*%******************************************************************************************%*/ - // LOGGING METHODS - - /** - * Gets the access logs associated with the specified Amazon S3 bucket. - * - * @param string $bucket (Required) The name of the bucket to use. Pass a `null` value when using the method. - * @param array $opt (Optional) An associative array of parameters that can have the following keys:
    - *
  • preauth - integer|string - Optional - Specifies that a presigned URL for this request should be returned. May be passed as a number of seconds since UNIX Epoch, or any string compatible with .
  • - *
  • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
  • - *
  • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
- * @return CFResponse A object containing a parsed HTTP response. - * @link http://docs.amazonwebservices.com/AmazonS3/latest/dev/ServerLogs.html Server Access Logging - */ - public function get_logs($bucket, $opt = null) - { - // Add this to our request - if (!$opt) $opt = array(); - $opt['verb'] = 'GET'; - $opt['sub_resource'] = 'logging'; - - // Authenticate to S3 - return $this->authenticate($bucket, $opt); - } - - /** - * Enables access logging for the specified Amazon S3 bucket. - * - * @param string $bucket (Required) The name of the bucket to enable logging for. Pass a `null` value when using the method. - * @param string $target_bucket (Required) The name of the bucket to store the logs in. - * @param string $target_prefix (Required) The prefix to give to the log file names. - * @param array $opt (Optional) An associative array of parameters that can have the following keys:
    - *
  • users - array - Optional - An array of associative arrays specifying any user to give access to. Each associative array contains an id and permission value.
  • - *
  • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
  • - *
  • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
- * @return CFResponse A object containing a parsed HTTP response. - * @link http://docs.amazonwebservices.com/AmazonS3/latest/dev/LoggingAPI.html Server Access Logging Configuration API - */ - public function enable_logging($bucket, $target_bucket, $target_prefix, $opt = null) - { - // Add this to our request - if (!$opt) $opt = array(); - $opt['verb'] = 'PUT'; - $opt['sub_resource'] = 'logging'; - $opt['headers'] = array( - 'Content-Type' => 'application/xml' - ); - - $xml = simplexml_load_string($this->base_logging_xml); - $LoggingEnabled = $xml->addChild('LoggingEnabled'); - $LoggingEnabled->addChild('TargetBucket', $target_bucket); - $LoggingEnabled->addChild('TargetPrefix', $target_prefix); - $TargetGrants = $LoggingEnabled->addChild('TargetGrants'); - - if (isset($opt['users']) && is_array($opt['users'])) - { - foreach ($opt['users'] as $user) - { - $grant = $TargetGrants->addChild('Grant'); - $grantee = $grant->addChild('Grantee'); - - switch ($user['id']) - { - // Authorized Users - case self::USERS_AUTH: - $grantee->addAttribute('xsi:type', 'Group', 'http://www.w3.org/2001/XMLSchema-instance'); - $grantee->addChild('URI', self::USERS_AUTH); - break; - - // All Users - case self::USERS_ALL: - $grantee->addAttribute('xsi:type', 'Group', 'http://www.w3.org/2001/XMLSchema-instance'); - $grantee->addChild('URI', self::USERS_ALL); - break; - - // The Logging User - case self::USERS_LOGGING: - $grantee->addAttribute('xsi:type', 'Group', 'http://www.w3.org/2001/XMLSchema-instance'); - $grantee->addChild('URI', self::USERS_LOGGING); - break; - - // Email Address or Canonical Id - default: - if (strpos($user['id'], '@')) - { - $grantee->addAttribute('xsi:type', 'AmazonCustomerByEmail', 'http://www.w3.org/2001/XMLSchema-instance'); - $grantee->addChild('EmailAddress', $user['id']); - } - else - { - // Assume Canonical Id - $grantee->addAttribute('xsi:type', 'CanonicalUser', 'http://www.w3.org/2001/XMLSchema-instance'); - $grantee->addChild('ID', $user['id']); - } - break; - } - - $grant->addChild('Permission', $user['permission']); - } - } - - $opt['body'] = $xml->asXML(); - - // Authenticate to S3 - return $this->authenticate($bucket, $opt); - } - - /** - * Disables access logging for the specified Amazon S3 bucket. - * - * @param string $bucket (Required) The name of the bucket to use. Pass `null` if using . - * @param array $opt (Optional) An associative array of parameters that can have the following keys:
    - *
  • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
  • - *
  • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
- * @return CFResponse A object containing a parsed HTTP response. - * @link http://docs.amazonwebservices.com/AmazonS3/latest/dev/LoggingAPI.html Server Access Logging Configuration API - */ - public function disable_logging($bucket, $opt = null) - { - // Add this to our request - if (!$opt) $opt = array(); - $opt['verb'] = 'PUT'; - $opt['sub_resource'] = 'logging'; - $opt['headers'] = array( - 'Content-Type' => 'application/xml' - ); - $opt['body'] = $this->base_logging_xml; - - // Authenticate to S3 - return $this->authenticate($bucket, $opt); - } - - - /*%******************************************************************************************%*/ - // CONVENIENCE METHODS - - /** - * Gets whether or not the specified Amazon S3 bucket exists in Amazon S3. This includes buckets - * that do not belong to the caller. - * - * @param string $bucket (Required) The name of the bucket to use. - * @return boolean A value of true if the bucket exists, or a value of false if it does not. - */ - public function if_bucket_exists($bucket) - { - if ($this->use_batch_flow) - { - throw new S3_Exception(__FUNCTION__ . '() cannot be batch requested'); - } - - $header = $this->get_bucket_headers($bucket); - return (bool) $header->isOK(); - } - - /** - * Gets whether or not the specified Amazon S3 object exists in the specified bucket. - * - * @param string $bucket (Required) The name of the bucket to use. - * @param string $filename (Required) The file name for the object. - * @return boolean A value of true if the object exists, or a value of false if it does not. - */ - public function if_object_exists($bucket, $filename) - { - if ($this->use_batch_flow) - { - throw new S3_Exception(__FUNCTION__ . '() cannot be batch requested'); - } - - $header = $this->get_object_headers($bucket, $filename); - - if ($header->isOK()) { return true; } - elseif ($header->status === 404) { return false; } - - // @codeCoverageIgnoreStart - return null; - // @codeCoverageIgnoreEnd - } - - /** - * Gets whether or not the specified Amazon S3 bucket has a bucket policy associated with it. - * - * @param string $bucket (Required) The name of the bucket to use. - * @return boolean A value of true if a bucket policy exists, or a value of false if one does not. - */ - public function if_bucket_policy_exists($bucket) - { - if ($this->use_batch_flow) - { - // @codeCoverageIgnoreStart - throw new S3_Exception(__FUNCTION__ . '() cannot be batch requested'); - // @codeCoverageIgnoreEnd - } - - $response = $this->get_bucket_policy($bucket); - - if ($response->isOK()) { return true; } - elseif ($response->status === 404) { return false; } - - // @codeCoverageIgnoreStart - return null; - // @codeCoverageIgnoreEnd - } - - /** - * Gets the number of Amazon S3 objects in the specified bucket. - * - * @param string $bucket (Required) The name of the bucket to use. - * @return integer The number of Amazon S3 objects in the bucket. - */ - public function get_bucket_object_count($bucket) - { - if ($this->use_batch_flow) - { - // @codeCoverageIgnoreStart - throw new S3_Exception(__FUNCTION__ . '() cannot be batch requested'); - // @codeCoverageIgnoreEnd - } - - return count($this->get_object_list($bucket)); - } - - /** - * Gets the cumulative file size of the contents of the Amazon S3 bucket. - * - * @param string $bucket (Required) The name of the bucket to use. - * @param boolean $friendly_format (Optional) A value of true will format the return value to 2 decimal points using the largest possible unit (i.e., 3.42 GB). A value of false will format the return value as the raw number of bytes. - * @return integer|string The number of bytes as an integer, or the friendly format as a string. - */ - public function get_bucket_filesize($bucket, $friendly_format = false) - { - if ($this->use_batch_flow) - { - throw new S3_Exception(__FUNCTION__ . '() cannot be batch requested'); - } - - $filesize = 0; - $list = $this->list_objects($bucket); - - foreach ($list->body->Contents as $filename) - { - $filesize += (integer) $filename->Size; - } - - while ((string) $list->body->IsTruncated === 'true') - { - $body = (array) $list->body; - $list = $this->list_objects($bucket, array( - 'marker' => (string) end($body['Contents'])->Key - )); - - foreach ($list->body->Contents as $object) - { - $filesize += (integer) $object->Size; - } - } - - if ($friendly_format) - { - $filesize = $this->util->size_readable($filesize); - } - - return $filesize; - } - - /** - * Gets the file size of the specified Amazon S3 object. - * - * @param string $bucket (Required) The name of the bucket to use. - * @param string $filename (Required) The file name for the object. - * @param boolean $friendly_format (Optional) A value of true will format the return value to 2 decimal points using the largest possible unit (i.e., 3.42 GB). A value of false will format the return value as the raw number of bytes. - * @return integer|string The number of bytes as an integer, or the friendly format as a string. - */ - public function get_object_filesize($bucket, $filename, $friendly_format = false) - { - if ($this->use_batch_flow) - { - throw new S3_Exception(__FUNCTION__ . '() cannot be batch requested'); - } - - $object = $this->get_object_headers($bucket, $filename); - $filesize = (integer) $object->header['content-length']; - - if ($friendly_format) - { - $filesize = $this->util->size_readable($filesize); - } - - return $filesize; - } - - /** - * Changes the content type for an existing Amazon S3 object. - * - * @param string $bucket (Required) The name of the bucket to use. - * @param string $filename (Required) The file name for the object. - * @param string $contentType (Required) The content-type to apply to the object. - * @param array $opt (Optional) An associative array of parameters that can have the following keys:
    - *
  • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
  • - *
  • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
- * @return CFResponse A object containing a parsed HTTP response. - */ - public function change_content_type($bucket, $filename, $contentType, $opt = null) - { - if (!$opt) $opt = array(); - - // Retrieve the original metadata - $metadata = $this->get_object_metadata($bucket, $filename); - if ($metadata && $metadata['ACL']) - { - $opt['acl'] = $metadata['ACL']; - } - if ($metadata && $metadata['StorageClass']) - { - $opt['headers']['x-amz-storage-class'] = $metadata['StorageClass']; - } - - // Merge optional parameters - $opt = array_merge_recursive(array( - 'headers' => array( - 'Content-Type' => $contentType - ), - 'metadataDirective' => 'COPY' - ), $opt); - - return $this->copy_object( - array('bucket' => $bucket, 'filename' => $filename), - array('bucket' => $bucket, 'filename' => $filename), - $opt - ); - } - - /** - * Changes the storage redundancy for an existing object. - * - * @param string $bucket (Required) The name of the bucket to use. - * @param string $filename (Required) The file name for the object. - * @param string $storage (Required) The storage setting to apply to the object. [Allowed values: AmazonS3::STORAGE_STANDARD, AmazonS3::STORAGE_REDUCED] - * @param array $opt (Optional) An associative array of parameters that can have the following keys:
    - *
  • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
  • - *
  • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.
- * @return CFResponse A object containing a parsed HTTP response. - */ - public function change_storage_redundancy($bucket, $filename, $storage, $opt = null) - { - if (!$opt) $opt = array(); - - // Retrieve the original metadata - $metadata = $this->get_object_metadata($bucket, $filename); - if ($metadata && $metadata['ACL']) - { - $opt['acl'] = $metadata['ACL']; - } - if ($metadata && $metadata['ContentType']) - { - $opt['headers']['Content-Type'] = $metadata['ContentType']; - } - - // Merge optional parameters - $opt = array_merge(array( - 'storage' => $storage, - 'metadataDirective' => 'COPY', - ), $opt); - - return $this->copy_object( - array('bucket' => $bucket, 'filename' => $filename), - array('bucket' => $bucket, 'filename' => $filename), - $opt - ); - } - - /** - * Gets a simplified list of bucket names on an Amazon S3 account. - * - * @param string $pcre (Optional) A Perl-Compatible Regular Expression (PCRE) to filter the bucket names against. - * @return array The list of matching bucket names. If there are no results, the method will return an empty array. - * @link http://php.net/pcre Regular Expressions (Perl-Compatible) - */ - public function get_bucket_list($pcre = null) - { - if ($this->use_batch_flow) - { - throw new S3_Exception(__FUNCTION__ . '() cannot be batch requested'); - } - - // Get a list of buckets. - $list = $this->list_buckets(); - if ($list = $list->body->query('descendant-or-self::Name')) - { - $list = $list->map_string($pcre); - return $list; - } - - // @codeCoverageIgnoreStart - return array(); - // @codeCoverageIgnoreEnd - } - - /** - * Gets a simplified list of Amazon S3 object file names contained in a bucket. - * - * @param string $bucket (Required) The name of the bucket to use. - * @param array $opt (Optional) An associative array of parameters that can have the following keys: -
+
t('Security Warning');?> t('No secure random number generator is available, please enable the PHP OpenSSL extension.');?>
@@ -27,18 +27,18 @@
-
+
t('Security Warning');?> t('Your data directory and your files are probably accessible from the internet. The .htaccess file that ownCloud provides is not working. We strongly suggest that you configure your webserver in a way that the data directory is no longer accessible or you move the data directory outside the webserver document root.');?>
-
+
t( 'Create an admin account' ); ?> -

+

-

+

@@ -47,7 +47,7 @@
t( 'Advanced' ); ?> ▾
-
+
@@ -73,7 +73,7 @@

MySQL t( 'will be used' ); ?>.

- /> + /> @@ -84,7 +84,7 @@ - /> + /> @@ -94,40 +94,40 @@ - /> + />
-

+

-

+

-

+

- +

-

+

-

- +

+

-
+
diff --git a/core/templates/layout.base.php b/core/templates/layout.base.php index f78b6ff8bbd47eb0f815d771eb3264900b0a295c..47f4b423b3e92b80b16a02f9950643baa5612a77 100644 --- a/core/templates/layout.base.php +++ b/core/templates/layout.base.php @@ -8,10 +8,10 @@ diff --git a/core/templates/layout.guest.php b/core/templates/layout.guest.php index 6f59e18a8e1bc9509435dd45fa47d08911fe6b2d..8395426e4e4d5917f367ba746374148dd3b60f51 100644 --- a/core/templates/layout.guest.php +++ b/core/templates/layout.guest.php @@ -8,10 +8,14 @@ @@ -31,7 +35,7 @@
diff --git a/core/templates/layout.user.php b/core/templates/layout.user.php index b6d8a7604a2320b9af482079fef9f55069872573..ba5053edecf8e430e848e14fad60d49982e8be1a 100644 --- a/core/templates/layout.user.php +++ b/core/templates/layout.user.php @@ -8,15 +8,26 @@ +
- '; } ?> + '; } ?> -

+

autocomplete="on" required />

-

+

/>

- +
diff --git a/cron.php b/cron.php index f13b284b818d06f504824885798beb16467ccf88..a202ca60bad7ac93bcad6c3f68a8f1c6de0523f3 100644 --- a/cron.php +++ b/cron.php @@ -23,9 +23,18 @@ // Unfortunately we need this class for shutdown function class my_temporary_cron_class { public static $sent = false; + public static $lockfile = ""; + public static $keeplock = false; } +// We use this function to handle (unexpected) shutdowns function handleUnexpectedShutdown() { + // Delete lockfile + if( !my_temporary_cron_class::$keeplock && file_exists( my_temporary_cron_class::$lockfile )) { + unlink( my_temporary_cron_class::$lockfile ); + } + + // Say goodbye if the app did not shutdown properly if( !my_temporary_cron_class::$sent ) { if( OC::$CLI ) { echo 'Unexpected error!'.PHP_EOL; @@ -47,8 +56,11 @@ if( !OC_Config::getValue( 'installed', false )) { // Handle unexpected errors register_shutdown_function('handleUnexpectedShutdown'); +// Delete temp folder +OC_Helper::cleanTmpNoClean(); + // Exit if background jobs are disabled! -$appmode = OC_Appconfig::getValue( 'core', 'backgroundjobs_mode', 'ajax' ); +$appmode = OC_BackgroundJob::getExecutionType(); if( $appmode == 'none' ) { my_temporary_cron_class::$sent = true; if( OC::$CLI ) { @@ -61,29 +73,42 @@ if( $appmode == 'none' ) { } if( OC::$CLI ) { + // Create lock file first + my_temporary_cron_class::$lockfile = OC_Config::getValue( "datadirectory", OC::$SERVERROOT.'/data' ).'/cron.lock'; + + // We call ownCloud from the CLI (aka cron) if( $appmode != 'cron' ) { - OC_Appconfig::setValue( 'core', 'backgroundjobs_mode', 'cron' ); + // Use cron in feature! + OC_BackgroundJob::setExecutionType('cron' ); } // check if backgroundjobs is still running - $pid = OC_Appconfig::getValue( 'core', 'backgroundjobs_pid', false ); - if( $pid !== false ) { - // FIXME: check if $pid is still alive (*nix/mswin). if so then exit + if( file_exists( my_temporary_cron_class::$lockfile )) { + my_temporary_cron_class::$keeplock = true; + my_temporary_cron_class::$sent = true; + echo "Another instance of cron.php is still running!"; + exit( 1 ); } - // save pid - OC_Appconfig::setValue( 'core', 'backgroundjobs_pid', getmypid()); + + // Create a lock file + touch( my_temporary_cron_class::$lockfile ); // Work OC_BackgroundJob_Worker::doAllSteps(); } else{ + // We call cron.php from some website if( $appmode == 'cron' ) { + // Cron is cron :-P OC_JSON::error( array( 'data' => array( 'message' => 'Backgroundjobs are using system cron!'))); } else{ + // Work and success :-) OC_BackgroundJob_Worker::doNextStep(); OC_JSON::success(); } } + +// done! my_temporary_cron_class::$sent = true; exit(); diff --git a/db_structure.xml b/db_structure.xml index 99a30cb6137aab440c3290c0b4725c6707eb5329..db43ef21140650496e2deb352818064340f98f4f 100644 --- a/db_structure.xml +++ b/db_structure.xml @@ -46,6 +46,13 @@ ascending + + appconfig_config_key_index + + configkey + ascending + + @@ -257,6 +264,13 @@ true 64 + + group_admin_uid + + uid + ascending + + @@ -581,6 +595,21 @@ false + + token + text + + false + 32 + + + + token_index + + token + ascending + + @@ -671,4 +700,125 @@ + + + *dbprefix*vcategory + + + + + id + integer + 0 + true + 1 + true + 4 + + + + uid + text + + true + 64 + + + + type + text + + true + 64 + + + + category + text + + true + 255 + + + + uid_index + + uid + ascending + + + + + type_index + + type + ascending + + + + + category_index + + category + ascending + + + + +
+ + + + *dbprefix*vcategory_to_object + + + + + objid + integer + 0 + true + true + 4 + + + + categoryid + integer + 0 + true + true + 4 + + + + type + text + + true + 64 + + + + true + true + category_object_index + + categoryid + ascending + + + objid + ascending + + + type + ascending + + + + + +
+ diff --git a/files/webdav.php b/files/webdav.php index e7292d5a19f0c2e8a85048149323821b0d4633f9..87dd019196922c21308c4c920c5c1ebde531c347 100644 --- a/files/webdav.php +++ b/files/webdav.php @@ -24,24 +24,7 @@ */ // only need filesystem apps -$RUNTIME_APPTYPES=array('filesystem','authentication'); +$RUNTIME_APPTYPES=array('filesystem', 'authentication'); require_once '../lib/base.php'; - -// Backends -$authBackend = new OC_Connector_Sabre_Auth(); -$lockBackend = new OC_Connector_Sabre_Locks(); - -// Create ownCloud Dir -$publicDir = new OC_Connector_Sabre_Directory(''); - -// Fire up server -$server = new Sabre_DAV_Server($publicDir); -$server->setBaseUri(OC::$WEBROOT. '/files/webdav.php'); - -// Load plugins -$server->addPlugin(new Sabre_DAV_Auth_Plugin($authBackend, 'ownCloud')); -$server->addPlugin(new Sabre_DAV_Locks_Plugin($lockBackend)); -$server->addPlugin(new Sabre_DAV_Browser_Plugin(false)); // Show something in the Browser, but no upload - -// And off we go! -$server->exec(); +$baseuri = OC::$WEBROOT. '/files/webdav.php'; +require_once 'apps/files/appinfo/remote.php'; diff --git a/index.php b/index.php index 12b2d8f406d1d9b7504e036ca3ba72d60e7ff12b..bf0b287a64b60064248386a7c9e822bfc68d6b6d 100755 --- a/index.php +++ b/index.php @@ -21,7 +21,7 @@ * */ -$RUNTIME_NOAPPS = TRUE; //no apps, yet +$RUNTIME_NOAPPS = true; //no apps, yet require_once 'lib/base.php'; diff --git a/l10n/.tx/config b/l10n/.tx/config index cd29b6ae77b556c86cd18074c3a269a0459f8d55..2aac0feedc58583490ae805aa438a5242e109c0a 100644 --- a/l10n/.tx/config +++ b/l10n/.tx/config @@ -52,3 +52,9 @@ source_file = templates/user_ldap.pot source_lang = en type = PO +[owncloud.user_webdavauth] +file_filter = /user_webdavauth.po +source_file = templates/user_webdavauth.pot +source_lang = en +type = PO + diff --git a/l10n/af/admin_dependencies_chk.po b/l10n/af/admin_dependencies_chk.po deleted file mode 100644 index cc514c3f092edce328f17ca3dd6c5936af895192..0000000000000000000000000000000000000000 --- a/l10n/af/admin_dependencies_chk.po +++ /dev/null @@ -1,73 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:33+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Afrikaans (http://www.transifex.com/projects/p/owncloud/language/af/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: af\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: settings.php:33 -msgid "" -"The php-json module is needed by the many applications for inter " -"communications" -msgstr "" - -#: settings.php:39 -msgid "" -"The php-curl modude is needed to fetch the page title when adding a " -"bookmarks" -msgstr "" - -#: settings.php:45 -msgid "The php-gd module is needed to create thumbnails of your images" -msgstr "" - -#: settings.php:51 -msgid "The php-ldap module is needed connect to your ldap server" -msgstr "" - -#: settings.php:57 -msgid "The php-zip module is needed download multiple files at once" -msgstr "" - -#: settings.php:63 -msgid "" -"The php-mb_multibyte module is needed to manage correctly the encoding." -msgstr "" - -#: settings.php:69 -msgid "The php-ctype module is needed validate data." -msgstr "" - -#: settings.php:75 -msgid "The php-xml module is needed to share files with webdav." -msgstr "" - -#: settings.php:81 -msgid "" -"The allow_url_fopen directive of your php.ini should be set to 1 to retrieve" -" knowledge base from OCS servers" -msgstr "" - -#: settings.php:87 -msgid "The php-pdo module is needed to store owncloud data into a database." -msgstr "" - -#: templates/settings.php:2 -msgid "Dependencies status" -msgstr "" - -#: templates/settings.php:7 -msgid "Used by :" -msgstr "" diff --git a/l10n/af/admin_migrate.po b/l10n/af/admin_migrate.po deleted file mode 100644 index 6801bee56d5ded11ff930dd5ca1f6670250c8af0..0000000000000000000000000000000000000000 --- a/l10n/af/admin_migrate.po +++ /dev/null @@ -1,32 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:32+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Afrikaans (http://www.transifex.com/projects/p/owncloud/language/af/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: af\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: templates/settings.php:3 -msgid "Export this ownCloud instance" -msgstr "" - -#: templates/settings.php:4 -msgid "" -"This will create a compressed file that contains the data of this owncloud instance.\n" -" Please choose the export type:" -msgstr "" - -#: templates/settings.php:12 -msgid "Export" -msgstr "" diff --git a/l10n/af/bookmarks.po b/l10n/af/bookmarks.po deleted file mode 100644 index f9c5316dd5dc3cb48676e28fd33226a87e564466..0000000000000000000000000000000000000000 --- a/l10n/af/bookmarks.po +++ /dev/null @@ -1,60 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-07-28 02:02+0200\n" -"PO-Revision-Date: 2012-07-27 22:17+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Afrikaans (http://www.transifex.com/projects/p/owncloud/language/af/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: af\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: appinfo/app.php:14 -msgid "Bookmarks" -msgstr "" - -#: bookmarksHelper.php:99 -msgid "unnamed" -msgstr "" - -#: templates/bookmarklet.php:5 -msgid "" -"Drag this to your browser bookmarks and click it, when you want to bookmark " -"a webpage quickly:" -msgstr "" - -#: templates/bookmarklet.php:7 -msgid "Read later" -msgstr "" - -#: templates/list.php:13 -msgid "Address" -msgstr "" - -#: templates/list.php:14 -msgid "Title" -msgstr "" - -#: templates/list.php:15 -msgid "Tags" -msgstr "" - -#: templates/list.php:16 -msgid "Save bookmark" -msgstr "" - -#: templates/list.php:22 -msgid "You have no bookmarks" -msgstr "" - -#: templates/settings.php:11 -msgid "Bookmarklet
" -msgstr "" diff --git a/l10n/af/calendar.po b/l10n/af/calendar.po deleted file mode 100644 index c4363ac1ae7eadb1efcce2717602a376c262f81d..0000000000000000000000000000000000000000 --- a/l10n/af/calendar.po +++ /dev/null @@ -1,813 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-11 02:02+0200\n" -"PO-Revision-Date: 2012-08-11 00:02+0000\n" -"Last-Translator: owncloud_robot \n" -"Language-Team: Afrikaans (http://www.transifex.com/projects/p/owncloud/language/af/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: af\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: ajax/cache/status.php:19 -msgid "Not all calendars are completely cached" -msgstr "" - -#: ajax/cache/status.php:21 -msgid "Everything seems to be completely cached" -msgstr "" - -#: ajax/categories/rescan.php:29 -msgid "No calendars found." -msgstr "" - -#: ajax/categories/rescan.php:37 -msgid "No events found." -msgstr "" - -#: ajax/event/edit.form.php:20 -msgid "Wrong calendar" -msgstr "" - -#: ajax/import/dropimport.php:29 ajax/import/import.php:64 -msgid "" -"The file contained either no events or all events are already saved in your " -"calendar." -msgstr "" - -#: ajax/import/dropimport.php:31 ajax/import/import.php:67 -msgid "events has been saved in the new calendar" -msgstr "" - -#: ajax/import/import.php:56 -msgid "Import failed" -msgstr "" - -#: ajax/import/import.php:69 -msgid "events has been saved in your calendar" -msgstr "" - -#: ajax/settings/guesstimezone.php:25 -msgid "New Timezone:" -msgstr "" - -#: ajax/settings/settimezone.php:23 -msgid "Timezone changed" -msgstr "" - -#: ajax/settings/settimezone.php:25 -msgid "Invalid request" -msgstr "" - -#: appinfo/app.php:35 templates/calendar.php:15 -#: templates/part.eventform.php:33 templates/part.showevent.php:33 -msgid "Calendar" -msgstr "" - -#: js/calendar.js:832 -msgid "ddd" -msgstr "" - -#: js/calendar.js:833 -msgid "ddd M/d" -msgstr "" - -#: js/calendar.js:834 -msgid "dddd M/d" -msgstr "" - -#: js/calendar.js:837 -msgid "MMMM yyyy" -msgstr "" - -#: js/calendar.js:839 -msgid "MMM d[ yyyy]{ '—'[ MMM] d yyyy}" -msgstr "" - -#: js/calendar.js:841 -msgid "dddd, MMM d, yyyy" -msgstr "" - -#: lib/app.php:121 -msgid "Birthday" -msgstr "" - -#: lib/app.php:122 -msgid "Business" -msgstr "" - -#: lib/app.php:123 -msgid "Call" -msgstr "" - -#: lib/app.php:124 -msgid "Clients" -msgstr "" - -#: lib/app.php:125 -msgid "Deliverer" -msgstr "" - -#: lib/app.php:126 -msgid "Holidays" -msgstr "" - -#: lib/app.php:127 -msgid "Ideas" -msgstr "" - -#: lib/app.php:128 -msgid "Journey" -msgstr "" - -#: lib/app.php:129 -msgid "Jubilee" -msgstr "" - -#: lib/app.php:130 -msgid "Meeting" -msgstr "" - -#: lib/app.php:131 -msgid "Other" -msgstr "" - -#: lib/app.php:132 -msgid "Personal" -msgstr "" - -#: lib/app.php:133 -msgid "Projects" -msgstr "" - -#: lib/app.php:134 -msgid "Questions" -msgstr "" - -#: lib/app.php:135 -msgid "Work" -msgstr "" - -#: lib/app.php:351 lib/app.php:361 -msgid "by" -msgstr "" - -#: lib/app.php:359 lib/app.php:399 -msgid "unnamed" -msgstr "" - -#: lib/import.php:184 templates/calendar.php:12 -#: templates/part.choosecalendar.php:22 -msgid "New Calendar" -msgstr "" - -#: lib/object.php:372 -msgid "Does not repeat" -msgstr "" - -#: lib/object.php:373 -msgid "Daily" -msgstr "" - -#: lib/object.php:374 -msgid "Weekly" -msgstr "" - -#: lib/object.php:375 -msgid "Every Weekday" -msgstr "" - -#: lib/object.php:376 -msgid "Bi-Weekly" -msgstr "" - -#: lib/object.php:377 -msgid "Monthly" -msgstr "" - -#: lib/object.php:378 -msgid "Yearly" -msgstr "" - -#: lib/object.php:388 -msgid "never" -msgstr "" - -#: lib/object.php:389 -msgid "by occurrences" -msgstr "" - -#: lib/object.php:390 -msgid "by date" -msgstr "" - -#: lib/object.php:400 -msgid "by monthday" -msgstr "" - -#: lib/object.php:401 -msgid "by weekday" -msgstr "" - -#: lib/object.php:411 templates/calendar.php:5 templates/settings.php:69 -msgid "Monday" -msgstr "" - -#: lib/object.php:412 templates/calendar.php:5 -msgid "Tuesday" -msgstr "" - -#: lib/object.php:413 templates/calendar.php:5 -msgid "Wednesday" -msgstr "" - -#: lib/object.php:414 templates/calendar.php:5 -msgid "Thursday" -msgstr "" - -#: lib/object.php:415 templates/calendar.php:5 -msgid "Friday" -msgstr "" - -#: lib/object.php:416 templates/calendar.php:5 -msgid "Saturday" -msgstr "" - -#: lib/object.php:417 templates/calendar.php:5 templates/settings.php:70 -msgid "Sunday" -msgstr "" - -#: lib/object.php:427 -msgid "events week of month" -msgstr "" - -#: lib/object.php:428 -msgid "first" -msgstr "" - -#: lib/object.php:429 -msgid "second" -msgstr "" - -#: lib/object.php:430 -msgid "third" -msgstr "" - -#: lib/object.php:431 -msgid "fourth" -msgstr "" - -#: lib/object.php:432 -msgid "fifth" -msgstr "" - -#: lib/object.php:433 -msgid "last" -msgstr "" - -#: lib/object.php:467 templates/calendar.php:7 -msgid "January" -msgstr "" - -#: lib/object.php:468 templates/calendar.php:7 -msgid "February" -msgstr "" - -#: lib/object.php:469 templates/calendar.php:7 -msgid "March" -msgstr "" - -#: lib/object.php:470 templates/calendar.php:7 -msgid "April" -msgstr "" - -#: lib/object.php:471 templates/calendar.php:7 -msgid "May" -msgstr "" - -#: lib/object.php:472 templates/calendar.php:7 -msgid "June" -msgstr "" - -#: lib/object.php:473 templates/calendar.php:7 -msgid "July" -msgstr "" - -#: lib/object.php:474 templates/calendar.php:7 -msgid "August" -msgstr "" - -#: lib/object.php:475 templates/calendar.php:7 -msgid "September" -msgstr "" - -#: lib/object.php:476 templates/calendar.php:7 -msgid "October" -msgstr "" - -#: lib/object.php:477 templates/calendar.php:7 -msgid "November" -msgstr "" - -#: lib/object.php:478 templates/calendar.php:7 -msgid "December" -msgstr "" - -#: lib/object.php:488 -msgid "by events date" -msgstr "" - -#: lib/object.php:489 -msgid "by yearday(s)" -msgstr "" - -#: lib/object.php:490 -msgid "by weeknumber(s)" -msgstr "" - -#: lib/object.php:491 -msgid "by day and month" -msgstr "" - -#: lib/search.php:35 lib/search.php:37 lib/search.php:40 -msgid "Date" -msgstr "" - -#: lib/search.php:43 -msgid "Cal." -msgstr "" - -#: templates/calendar.php:6 -msgid "Sun." -msgstr "" - -#: templates/calendar.php:6 -msgid "Mon." -msgstr "" - -#: templates/calendar.php:6 -msgid "Tue." -msgstr "" - -#: templates/calendar.php:6 -msgid "Wed." -msgstr "" - -#: templates/calendar.php:6 -msgid "Thu." -msgstr "" - -#: templates/calendar.php:6 -msgid "Fri." -msgstr "" - -#: templates/calendar.php:6 -msgid "Sat." -msgstr "" - -#: templates/calendar.php:8 -msgid "Jan." -msgstr "" - -#: templates/calendar.php:8 -msgid "Feb." -msgstr "" - -#: templates/calendar.php:8 -msgid "Mar." -msgstr "" - -#: templates/calendar.php:8 -msgid "Apr." -msgstr "" - -#: templates/calendar.php:8 -msgid "May." -msgstr "" - -#: templates/calendar.php:8 -msgid "Jun." -msgstr "" - -#: templates/calendar.php:8 -msgid "Jul." -msgstr "" - -#: templates/calendar.php:8 -msgid "Aug." -msgstr "" - -#: templates/calendar.php:8 -msgid "Sep." -msgstr "" - -#: templates/calendar.php:8 -msgid "Oct." -msgstr "" - -#: templates/calendar.php:8 -msgid "Nov." -msgstr "" - -#: templates/calendar.php:8 -msgid "Dec." -msgstr "" - -#: templates/calendar.php:11 -msgid "All day" -msgstr "" - -#: templates/calendar.php:13 -msgid "Missing fields" -msgstr "" - -#: templates/calendar.php:14 templates/part.eventform.php:19 -#: templates/part.showevent.php:11 -msgid "Title" -msgstr "" - -#: templates/calendar.php:16 -msgid "From Date" -msgstr "" - -#: templates/calendar.php:17 -msgid "From Time" -msgstr "" - -#: templates/calendar.php:18 -msgid "To Date" -msgstr "" - -#: templates/calendar.php:19 -msgid "To Time" -msgstr "" - -#: templates/calendar.php:20 -msgid "The event ends before it starts" -msgstr "" - -#: templates/calendar.php:21 -msgid "There was a database fail" -msgstr "" - -#: templates/calendar.php:39 -msgid "Week" -msgstr "" - -#: templates/calendar.php:40 -msgid "Month" -msgstr "" - -#: templates/calendar.php:41 -msgid "List" -msgstr "" - -#: templates/calendar.php:45 -msgid "Today" -msgstr "" - -#: templates/calendar.php:46 templates/calendar.php:47 -msgid "Settings" -msgstr "" - -#: templates/part.choosecalendar.php:2 -msgid "Your calendars" -msgstr "" - -#: templates/part.choosecalendar.php:27 -#: templates/part.choosecalendar.rowfields.php:11 -msgid "CalDav Link" -msgstr "" - -#: templates/part.choosecalendar.php:31 -msgid "Shared calendars" -msgstr "" - -#: templates/part.choosecalendar.php:48 -msgid "No shared calendars" -msgstr "" - -#: templates/part.choosecalendar.rowfields.php:8 -msgid "Share Calendar" -msgstr "" - -#: templates/part.choosecalendar.rowfields.php:14 -msgid "Download" -msgstr "" - -#: templates/part.choosecalendar.rowfields.php:17 -msgid "Edit" -msgstr "" - -#: templates/part.choosecalendar.rowfields.php:20 -#: templates/part.editevent.php:9 -msgid "Delete" -msgstr "" - -#: templates/part.choosecalendar.rowfields.shared.php:4 -msgid "shared with you by" -msgstr "" - -#: templates/part.editcalendar.php:9 -msgid "New calendar" -msgstr "" - -#: templates/part.editcalendar.php:9 -msgid "Edit calendar" -msgstr "" - -#: templates/part.editcalendar.php:12 -msgid "Displayname" -msgstr "" - -#: templates/part.editcalendar.php:23 -msgid "Active" -msgstr "" - -#: templates/part.editcalendar.php:29 -msgid "Calendar color" -msgstr "" - -#: templates/part.editcalendar.php:42 -msgid "Save" -msgstr "" - -#: templates/part.editcalendar.php:42 templates/part.editevent.php:8 -#: templates/part.newevent.php:6 -msgid "Submit" -msgstr "" - -#: templates/part.editcalendar.php:43 -msgid "Cancel" -msgstr "" - -#: templates/part.editevent.php:1 -msgid "Edit an event" -msgstr "" - -#: templates/part.editevent.php:10 -msgid "Export" -msgstr "" - -#: templates/part.eventform.php:8 templates/part.showevent.php:3 -msgid "Eventinfo" -msgstr "" - -#: templates/part.eventform.php:9 templates/part.showevent.php:4 -msgid "Repeating" -msgstr "" - -#: templates/part.eventform.php:10 templates/part.showevent.php:5 -msgid "Alarm" -msgstr "" - -#: templates/part.eventform.php:11 templates/part.showevent.php:6 -msgid "Attendees" -msgstr "" - -#: templates/part.eventform.php:13 -msgid "Share" -msgstr "" - -#: templates/part.eventform.php:21 -msgid "Title of the Event" -msgstr "" - -#: templates/part.eventform.php:27 templates/part.showevent.php:19 -msgid "Category" -msgstr "" - -#: templates/part.eventform.php:29 -msgid "Separate categories with commas" -msgstr "" - -#: templates/part.eventform.php:30 -msgid "Edit categories" -msgstr "" - -#: templates/part.eventform.php:56 templates/part.showevent.php:52 -msgid "All Day Event" -msgstr "" - -#: templates/part.eventform.php:60 templates/part.showevent.php:56 -msgid "From" -msgstr "" - -#: templates/part.eventform.php:68 templates/part.showevent.php:64 -msgid "To" -msgstr "" - -#: templates/part.eventform.php:76 templates/part.showevent.php:72 -msgid "Advanced options" -msgstr "" - -#: templates/part.eventform.php:81 templates/part.showevent.php:77 -msgid "Location" -msgstr "" - -#: templates/part.eventform.php:83 -msgid "Location of the Event" -msgstr "" - -#: templates/part.eventform.php:89 templates/part.showevent.php:85 -msgid "Description" -msgstr "" - -#: templates/part.eventform.php:91 -msgid "Description of the Event" -msgstr "" - -#: templates/part.eventform.php:100 templates/part.showevent.php:95 -msgid "Repeat" -msgstr "" - -#: templates/part.eventform.php:107 templates/part.showevent.php:102 -msgid "Advanced" -msgstr "" - -#: templates/part.eventform.php:151 templates/part.showevent.php:146 -msgid "Select weekdays" -msgstr "" - -#: templates/part.eventform.php:164 templates/part.eventform.php:177 -#: templates/part.showevent.php:159 templates/part.showevent.php:172 -msgid "Select days" -msgstr "" - -#: templates/part.eventform.php:169 templates/part.showevent.php:164 -msgid "and the events day of year." -msgstr "" - -#: templates/part.eventform.php:182 templates/part.showevent.php:177 -msgid "and the events day of month." -msgstr "" - -#: templates/part.eventform.php:190 templates/part.showevent.php:185 -msgid "Select months" -msgstr "" - -#: templates/part.eventform.php:203 templates/part.showevent.php:198 -msgid "Select weeks" -msgstr "" - -#: templates/part.eventform.php:208 templates/part.showevent.php:203 -msgid "and the events week of year." -msgstr "" - -#: templates/part.eventform.php:214 templates/part.showevent.php:209 -msgid "Interval" -msgstr "" - -#: templates/part.eventform.php:220 templates/part.showevent.php:215 -msgid "End" -msgstr "" - -#: templates/part.eventform.php:233 templates/part.showevent.php:228 -msgid "occurrences" -msgstr "" - -#: templates/part.import.php:14 -msgid "create a new calendar" -msgstr "" - -#: templates/part.import.php:17 -msgid "Import a calendar file" -msgstr "" - -#: templates/part.import.php:24 -msgid "Please choose a calendar" -msgstr "" - -#: templates/part.import.php:36 -msgid "Name of new calendar" -msgstr "" - -#: templates/part.import.php:44 -msgid "Take an available name!" -msgstr "" - -#: templates/part.import.php:45 -msgid "" -"A Calendar with this name already exists. If you continue anyhow, these " -"calendars will be merged." -msgstr "" - -#: templates/part.import.php:47 -msgid "Import" -msgstr "" - -#: templates/part.import.php:56 -msgid "Close Dialog" -msgstr "" - -#: templates/part.newevent.php:1 -msgid "Create a new event" -msgstr "" - -#: templates/part.showevent.php:1 -msgid "View an event" -msgstr "" - -#: templates/part.showevent.php:23 -msgid "No categories selected" -msgstr "" - -#: templates/part.showevent.php:37 -msgid "of" -msgstr "" - -#: templates/part.showevent.php:59 templates/part.showevent.php:67 -msgid "at" -msgstr "" - -#: templates/settings.php:10 -msgid "General" -msgstr "" - -#: templates/settings.php:15 -msgid "Timezone" -msgstr "" - -#: templates/settings.php:47 -msgid "Update timezone automatically" -msgstr "" - -#: templates/settings.php:52 -msgid "Time format" -msgstr "" - -#: templates/settings.php:57 -msgid "24h" -msgstr "" - -#: templates/settings.php:58 -msgid "12h" -msgstr "" - -#: templates/settings.php:64 -msgid "Start week on" -msgstr "" - -#: templates/settings.php:76 -msgid "Cache" -msgstr "" - -#: templates/settings.php:80 -msgid "Clear cache for repeating events" -msgstr "" - -#: templates/settings.php:85 -msgid "URLs" -msgstr "" - -#: templates/settings.php:87 -msgid "Calendar CalDAV syncing addresses" -msgstr "" - -#: templates/settings.php:87 -msgid "more info" -msgstr "" - -#: templates/settings.php:89 -msgid "Primary address (Kontact et al)" -msgstr "" - -#: templates/settings.php:91 -msgid "iOS/OS X" -msgstr "" - -#: templates/settings.php:93 -msgid "Read only iCalendar link(s)" -msgstr "" - -#: templates/share.dropdown.php:20 -msgid "Users" -msgstr "" - -#: templates/share.dropdown.php:21 -msgid "select users" -msgstr "" - -#: templates/share.dropdown.php:36 templates/share.dropdown.php:62 -msgid "Editable" -msgstr "" - -#: templates/share.dropdown.php:48 -msgid "Groups" -msgstr "" - -#: templates/share.dropdown.php:49 -msgid "select groups" -msgstr "" - -#: templates/share.dropdown.php:75 -msgid "make public" -msgstr "" diff --git a/l10n/af/contacts.po b/l10n/af/contacts.po deleted file mode 100644 index f8979aa76870ac260b3d0b05d9db521aa1ee1f8b..0000000000000000000000000000000000000000 --- a/l10n/af/contacts.po +++ /dev/null @@ -1,952 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-24 02:02+0200\n" -"PO-Revision-Date: 2012-08-24 00:03+0000\n" -"Last-Translator: I Robot \n" -"Language-Team: Afrikaans (http://www.transifex.com/projects/p/owncloud/language/af/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: af\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: ajax/addressbook/activate.php:24 ajax/addressbook/update.php:32 -msgid "Error (de)activating addressbook." -msgstr "" - -#: ajax/addressbook/delete.php:31 ajax/addressbook/update.php:20 -#: ajax/contact/addproperty.php:42 ajax/contact/delete.php:32 -#: ajax/contact/saveproperty.php:39 -msgid "id is not set." -msgstr "" - -#: ajax/addressbook/update.php:24 -msgid "Cannot update addressbook with an empty name." -msgstr "" - -#: ajax/addressbook/update.php:28 -msgid "Error updating addressbook." -msgstr "" - -#: ajax/categories/categoriesfor.php:17 -msgid "No ID provided" -msgstr "" - -#: ajax/categories/categoriesfor.php:34 -msgid "Error setting checksum." -msgstr "" - -#: ajax/categories/delete.php:19 -msgid "No categories selected for deletion." -msgstr "" - -#: ajax/categories/delete.php:26 -msgid "No address books found." -msgstr "" - -#: ajax/categories/delete.php:34 -msgid "No contacts found." -msgstr "" - -#: ajax/contact/add.php:47 -msgid "There was an error adding the contact." -msgstr "" - -#: ajax/contact/addproperty.php:39 ajax/contact/saveproperty.php:36 -msgid "element name is not set." -msgstr "" - -#: ajax/contact/addproperty.php:46 -msgid "Could not parse contact: " -msgstr "" - -#: ajax/contact/addproperty.php:56 -msgid "Cannot add empty property." -msgstr "" - -#: ajax/contact/addproperty.php:67 -msgid "At least one of the address fields has to be filled out." -msgstr "" - -#: ajax/contact/addproperty.php:76 -msgid "Trying to add duplicate property: " -msgstr "" - -#: ajax/contact/addproperty.php:115 ajax/contact/saveproperty.php:93 -msgid "Missing IM parameter." -msgstr "" - -#: ajax/contact/addproperty.php:119 ajax/contact/saveproperty.php:97 -msgid "Unknown IM: " -msgstr "" - -#: ajax/contact/deleteproperty.php:37 -msgid "Information about vCard is incorrect. Please reload the page." -msgstr "" - -#: ajax/contact/details.php:31 -msgid "Missing ID" -msgstr "" - -#: ajax/contact/details.php:36 -msgid "Error parsing VCard for ID: \"" -msgstr "" - -#: ajax/contact/saveproperty.php:42 -msgid "checksum is not set." -msgstr "" - -#: ajax/contact/saveproperty.php:62 -msgid "Information about vCard is incorrect. Please reload the page: " -msgstr "" - -#: ajax/contact/saveproperty.php:69 -msgid "Something went FUBAR. " -msgstr "" - -#: ajax/currentphoto.php:30 ajax/oc_photo.php:28 ajax/uploadphoto.php:36 -#: ajax/uploadphoto.php:68 -msgid "No contact ID was submitted." -msgstr "" - -#: ajax/currentphoto.php:36 -msgid "Error reading contact photo." -msgstr "" - -#: ajax/currentphoto.php:48 -msgid "Error saving temporary file." -msgstr "" - -#: ajax/currentphoto.php:51 -msgid "The loading photo is not valid." -msgstr "" - -#: ajax/editname.php:31 -msgid "Contact ID is missing." -msgstr "" - -#: ajax/oc_photo.php:32 -msgid "No photo path was submitted." -msgstr "" - -#: ajax/oc_photo.php:39 -msgid "File doesn't exist:" -msgstr "" - -#: ajax/oc_photo.php:44 ajax/oc_photo.php:47 -msgid "Error loading image." -msgstr "" - -#: ajax/savecrop.php:69 -msgid "Error getting contact object." -msgstr "" - -#: ajax/savecrop.php:79 -msgid "Error getting PHOTO property." -msgstr "" - -#: ajax/savecrop.php:98 -msgid "Error saving contact." -msgstr "" - -#: ajax/savecrop.php:109 -msgid "Error resizing image" -msgstr "" - -#: ajax/savecrop.php:112 -msgid "Error cropping image" -msgstr "" - -#: ajax/savecrop.php:115 -msgid "Error creating temporary image" -msgstr "" - -#: ajax/savecrop.php:118 -msgid "Error finding image: " -msgstr "" - -#: ajax/uploadimport.php:44 ajax/uploadimport.php:76 -msgid "Error uploading contacts to storage." -msgstr "" - -#: ajax/uploadimport.php:61 ajax/uploadphoto.php:77 -msgid "There is no error, the file uploaded with success" -msgstr "" - -#: ajax/uploadimport.php:62 ajax/uploadphoto.php:78 -msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" -msgstr "" - -#: ajax/uploadimport.php:63 ajax/uploadphoto.php:79 -msgid "" -"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " -"the HTML form" -msgstr "" - -#: ajax/uploadimport.php:64 ajax/uploadphoto.php:80 -msgid "The uploaded file was only partially uploaded" -msgstr "" - -#: ajax/uploadimport.php:65 ajax/uploadphoto.php:81 -msgid "No file was uploaded" -msgstr "" - -#: ajax/uploadimport.php:66 ajax/uploadphoto.php:82 -msgid "Missing a temporary folder" -msgstr "" - -#: ajax/uploadphoto.php:59 ajax/uploadphoto.php:109 -msgid "Couldn't save temporary image: " -msgstr "" - -#: ajax/uploadphoto.php:62 ajax/uploadphoto.php:112 -msgid "Couldn't load temporary image: " -msgstr "" - -#: ajax/uploadphoto.php:71 -msgid "No file was uploaded. Unknown error" -msgstr "" - -#: appinfo/app.php:21 -msgid "Contacts" -msgstr "" - -#: js/contacts.js:71 -msgid "Sorry, this functionality has not been implemented yet" -msgstr "" - -#: js/contacts.js:71 -msgid "Not implemented" -msgstr "" - -#: js/contacts.js:76 -msgid "Couldn't get a valid address." -msgstr "" - -#: js/contacts.js:76 js/contacts.js:365 js/contacts.js:381 js/contacts.js:393 -#: js/contacts.js:723 js/contacts.js:763 js/contacts.js:789 js/contacts.js:921 -#: js/contacts.js:927 js/contacts.js:939 js/contacts.js:976 -#: js/contacts.js:1250 js/contacts.js:1258 js/contacts.js:1267 -#: js/contacts.js:1302 js/contacts.js:1338 js/contacts.js:1353 -#: js/contacts.js:1379 js/contacts.js:1609 js/contacts.js:1644 -#: js/contacts.js:1664 js/settings.js:26 js/settings.js:43 js/settings.js:68 -msgid "Error" -msgstr "" - -#: js/contacts.js:424 -msgid "You do not have permission to add contacts to " -msgstr "" - -#: js/contacts.js:425 -msgid "Please select one of your own address books." -msgstr "" - -#: js/contacts.js:425 -msgid "Permission error" -msgstr "" - -#: js/contacts.js:763 -msgid "This property has to be non-empty." -msgstr "" - -#: js/contacts.js:789 -msgid "Couldn't serialize elements." -msgstr "" - -#: js/contacts.js:921 js/contacts.js:939 -msgid "" -"'deleteProperty' called without type argument. Please report at " -"bugs.owncloud.org" -msgstr "" - -#: js/contacts.js:958 -msgid "Edit name" -msgstr "" - -#: js/contacts.js:1250 -msgid "No files selected for upload." -msgstr "" - -#: js/contacts.js:1258 -msgid "" -"The file you are trying to upload exceed the maximum size for file uploads " -"on this server." -msgstr "" - -#: js/contacts.js:1322 -msgid "Error loading profile picture." -msgstr "" - -#: js/contacts.js:1457 js/contacts.js:1498 js/contacts.js:1517 -#: js/contacts.js:1560 -msgid "Select type" -msgstr "" - -#: js/contacts.js:1578 -msgid "" -"Some contacts are marked for deletion, but not deleted yet. Please wait for " -"them to be deleted." -msgstr "" - -#: js/contacts.js:1649 -msgid "Do you want to merge these address books?" -msgstr "" - -#: js/loader.js:49 -msgid "Result: " -msgstr "" - -#: js/loader.js:49 -msgid " imported, " -msgstr "" - -#: js/loader.js:49 -msgid " failed." -msgstr "" - -#: js/settings.js:68 -msgid "Displayname cannot be empty." -msgstr "" - -#: lib/app.php:36 -msgid "Addressbook not found: " -msgstr "" - -#: lib/app.php:52 -msgid "This is not your addressbook." -msgstr "" - -#: lib/app.php:71 -msgid "Contact could not be found." -msgstr "" - -#: lib/app.php:116 -msgid "Jabber" -msgstr "" - -#: lib/app.php:121 -msgid "AIM" -msgstr "" - -#: lib/app.php:126 -msgid "MSN" -msgstr "" - -#: lib/app.php:131 -msgid "Twitter" -msgstr "" - -#: lib/app.php:136 -msgid "GoogleTalk" -msgstr "" - -#: lib/app.php:141 -msgid "Facebook" -msgstr "" - -#: lib/app.php:146 -msgid "XMPP" -msgstr "" - -#: lib/app.php:151 -msgid "ICQ" -msgstr "" - -#: lib/app.php:156 -msgid "Yahoo" -msgstr "" - -#: lib/app.php:161 -msgid "Skype" -msgstr "" - -#: lib/app.php:166 -msgid "QQ" -msgstr "" - -#: lib/app.php:171 -msgid "GaduGadu" -msgstr "" - -#: lib/app.php:194 lib/app.php:202 lib/app.php:213 lib/app.php:266 -msgid "Work" -msgstr "" - -#: lib/app.php:195 lib/app.php:200 lib/app.php:214 -msgid "Home" -msgstr "" - -#: lib/app.php:196 lib/app.php:209 lib/app.php:262 lib/vcard.php:593 -msgid "Other" -msgstr "" - -#: lib/app.php:201 -msgid "Mobile" -msgstr "" - -#: lib/app.php:203 -msgid "Text" -msgstr "" - -#: lib/app.php:204 -msgid "Voice" -msgstr "" - -#: lib/app.php:205 -msgid "Message" -msgstr "" - -#: lib/app.php:206 -msgid "Fax" -msgstr "" - -#: lib/app.php:207 -msgid "Video" -msgstr "" - -#: lib/app.php:208 -msgid "Pager" -msgstr "" - -#: lib/app.php:215 -msgid "Internet" -msgstr "" - -#: lib/app.php:252 templates/part.contact.php:45 -#: templates/part.contact.php:128 -msgid "Birthday" -msgstr "" - -#: lib/app.php:253 -msgid "Business" -msgstr "" - -#: lib/app.php:254 -msgid "Call" -msgstr "" - -#: lib/app.php:255 -msgid "Clients" -msgstr "" - -#: lib/app.php:256 -msgid "Deliverer" -msgstr "" - -#: lib/app.php:257 -msgid "Holidays" -msgstr "" - -#: lib/app.php:258 -msgid "Ideas" -msgstr "" - -#: lib/app.php:259 -msgid "Journey" -msgstr "" - -#: lib/app.php:260 -msgid "Jubilee" -msgstr "" - -#: lib/app.php:261 -msgid "Meeting" -msgstr "" - -#: lib/app.php:263 -msgid "Personal" -msgstr "" - -#: lib/app.php:264 -msgid "Projects" -msgstr "" - -#: lib/app.php:265 -msgid "Questions" -msgstr "" - -#: lib/hooks.php:102 -msgid "{name}'s Birthday" -msgstr "" - -#: lib/search.php:15 -msgid "Contact" -msgstr "" - -#: lib/vcard.php:408 -msgid "You do not have the permissions to edit this contact." -msgstr "" - -#: lib/vcard.php:483 -msgid "You do not have the permissions to delete this contact." -msgstr "" - -#: templates/index.php:14 -msgid "Add Contact" -msgstr "" - -#: templates/index.php:15 templates/index.php:16 templates/part.import.php:17 -msgid "Import" -msgstr "" - -#: templates/index.php:18 -msgid "Settings" -msgstr "" - -#: templates/index.php:18 templates/settings.php:9 -msgid "Addressbooks" -msgstr "" - -#: templates/index.php:36 templates/part.import.php:24 -msgid "Close" -msgstr "" - -#: templates/index.php:37 -msgid "Keyboard shortcuts" -msgstr "" - -#: templates/index.php:39 -msgid "Navigation" -msgstr "" - -#: templates/index.php:42 -msgid "Next contact in list" -msgstr "" - -#: templates/index.php:44 -msgid "Previous contact in list" -msgstr "" - -#: templates/index.php:46 -msgid "Expand/collapse current addressbook" -msgstr "" - -#: templates/index.php:48 -msgid "Next addressbook" -msgstr "" - -#: templates/index.php:50 -msgid "Previous addressbook" -msgstr "" - -#: templates/index.php:54 -msgid "Actions" -msgstr "" - -#: templates/index.php:57 -msgid "Refresh contacts list" -msgstr "" - -#: templates/index.php:59 -msgid "Add new contact" -msgstr "" - -#: templates/index.php:61 -msgid "Add new addressbook" -msgstr "" - -#: templates/index.php:63 -msgid "Delete current contact" -msgstr "" - -#: templates/part.contact.php:17 -msgid "Drop photo to upload" -msgstr "" - -#: templates/part.contact.php:19 -msgid "Delete current photo" -msgstr "" - -#: templates/part.contact.php:20 -msgid "Edit current photo" -msgstr "" - -#: templates/part.contact.php:21 -msgid "Upload new photo" -msgstr "" - -#: templates/part.contact.php:22 -msgid "Select photo from ownCloud" -msgstr "" - -#: templates/part.contact.php:35 -msgid "Format custom, Short name, Full name, Reverse or Reverse with comma" -msgstr "" - -#: templates/part.contact.php:36 -msgid "Edit name details" -msgstr "" - -#: templates/part.contact.php:39 templates/part.contact.php:40 -#: templates/part.contact.php:126 -msgid "Organization" -msgstr "" - -#: templates/part.contact.php:40 templates/part.contact.php:42 -#: templates/part.contact.php:44 templates/part.contact.php:46 -#: templates/part.contact.php:50 templates/settings.php:36 -msgid "Delete" -msgstr "" - -#: templates/part.contact.php:41 templates/part.contact.php:127 -msgid "Nickname" -msgstr "" - -#: templates/part.contact.php:42 -msgid "Enter nickname" -msgstr "" - -#: templates/part.contact.php:43 templates/part.contact.php:134 -msgid "Web site" -msgstr "" - -#: templates/part.contact.php:44 -msgid "http://www.somesite.com" -msgstr "" - -#: templates/part.contact.php:44 -msgid "Go to web site" -msgstr "" - -#: templates/part.contact.php:46 -msgid "dd-mm-yyyy" -msgstr "" - -#: templates/part.contact.php:47 templates/part.contact.php:135 -msgid "Groups" -msgstr "" - -#: templates/part.contact.php:49 -msgid "Separate groups with commas" -msgstr "" - -#: templates/part.contact.php:50 -msgid "Edit groups" -msgstr "" - -#: templates/part.contact.php:59 templates/part.contact.php:73 -#: templates/part.contact.php:98 -msgid "Preferred" -msgstr "" - -#: templates/part.contact.php:60 -msgid "Please specify a valid email address." -msgstr "" - -#: templates/part.contact.php:60 -msgid "Enter email address" -msgstr "" - -#: templates/part.contact.php:64 -msgid "Mail to address" -msgstr "" - -#: templates/part.contact.php:65 -msgid "Delete email address" -msgstr "" - -#: templates/part.contact.php:75 -msgid "Enter phone number" -msgstr "" - -#: templates/part.contact.php:79 -msgid "Delete phone number" -msgstr "" - -#: templates/part.contact.php:100 -msgid "Instant Messenger" -msgstr "" - -#: templates/part.contact.php:101 -msgid "Delete IM" -msgstr "" - -#: templates/part.contact.php:110 -msgid "View on map" -msgstr "" - -#: templates/part.contact.php:110 -msgid "Edit address details" -msgstr "" - -#: templates/part.contact.php:116 -msgid "Add notes here." -msgstr "" - -#: templates/part.contact.php:124 -msgid "Add field" -msgstr "" - -#: templates/part.contact.php:129 -msgid "Phone" -msgstr "" - -#: templates/part.contact.php:130 -msgid "Email" -msgstr "" - -#: templates/part.contact.php:131 -msgid "Instant Messaging" -msgstr "" - -#: templates/part.contact.php:132 -msgid "Address" -msgstr "" - -#: templates/part.contact.php:133 -msgid "Note" -msgstr "" - -#: templates/part.contact.php:138 -msgid "Download contact" -msgstr "" - -#: templates/part.contact.php:139 -msgid "Delete contact" -msgstr "" - -#: templates/part.cropphoto.php:65 -msgid "The temporary image has been removed from cache." -msgstr "" - -#: templates/part.edit_address_dialog.php:6 -msgid "Edit address" -msgstr "" - -#: templates/part.edit_address_dialog.php:10 -msgid "Type" -msgstr "" - -#: templates/part.edit_address_dialog.php:18 -#: templates/part.edit_address_dialog.php:21 -msgid "PO Box" -msgstr "" - -#: templates/part.edit_address_dialog.php:24 -msgid "Street address" -msgstr "" - -#: templates/part.edit_address_dialog.php:27 -msgid "Street and number" -msgstr "" - -#: templates/part.edit_address_dialog.php:30 -msgid "Extended" -msgstr "" - -#: templates/part.edit_address_dialog.php:33 -msgid "Apartment number etc." -msgstr "" - -#: templates/part.edit_address_dialog.php:36 -#: templates/part.edit_address_dialog.php:39 -msgid "City" -msgstr "" - -#: templates/part.edit_address_dialog.php:42 -msgid "Region" -msgstr "" - -#: templates/part.edit_address_dialog.php:45 -msgid "E.g. state or province" -msgstr "" - -#: templates/part.edit_address_dialog.php:48 -msgid "Zipcode" -msgstr "" - -#: templates/part.edit_address_dialog.php:51 -msgid "Postal code" -msgstr "" - -#: templates/part.edit_address_dialog.php:54 -#: templates/part.edit_address_dialog.php:57 -msgid "Country" -msgstr "" - -#: templates/part.edit_name_dialog.php:16 -msgid "Addressbook" -msgstr "" - -#: templates/part.edit_name_dialog.php:23 -msgid "Hon. prefixes" -msgstr "" - -#: templates/part.edit_name_dialog.php:27 -msgid "Miss" -msgstr "" - -#: templates/part.edit_name_dialog.php:28 -msgid "Ms" -msgstr "" - -#: templates/part.edit_name_dialog.php:29 -msgid "Mr" -msgstr "" - -#: templates/part.edit_name_dialog.php:30 -msgid "Sir" -msgstr "" - -#: templates/part.edit_name_dialog.php:31 -msgid "Mrs" -msgstr "" - -#: templates/part.edit_name_dialog.php:32 -msgid "Dr" -msgstr "" - -#: templates/part.edit_name_dialog.php:35 -msgid "Given name" -msgstr "" - -#: templates/part.edit_name_dialog.php:37 -msgid "Additional names" -msgstr "" - -#: templates/part.edit_name_dialog.php:39 -msgid "Family name" -msgstr "" - -#: templates/part.edit_name_dialog.php:41 -msgid "Hon. suffixes" -msgstr "" - -#: templates/part.edit_name_dialog.php:45 -msgid "J.D." -msgstr "" - -#: templates/part.edit_name_dialog.php:46 -msgid "M.D." -msgstr "" - -#: templates/part.edit_name_dialog.php:47 -msgid "D.O." -msgstr "" - -#: templates/part.edit_name_dialog.php:48 -msgid "D.C." -msgstr "" - -#: templates/part.edit_name_dialog.php:49 -msgid "Ph.D." -msgstr "" - -#: templates/part.edit_name_dialog.php:50 -msgid "Esq." -msgstr "" - -#: templates/part.edit_name_dialog.php:51 -msgid "Jr." -msgstr "" - -#: templates/part.edit_name_dialog.php:52 -msgid "Sn." -msgstr "" - -#: templates/part.import.php:1 -msgid "Import a contacts file" -msgstr "" - -#: templates/part.import.php:6 -msgid "Please choose the addressbook" -msgstr "" - -#: templates/part.import.php:10 -msgid "create a new addressbook" -msgstr "" - -#: templates/part.import.php:15 -msgid "Name of new addressbook" -msgstr "" - -#: templates/part.import.php:20 -msgid "Importing contacts" -msgstr "" - -#: templates/part.no_contacts.php:3 -msgid "You have no contacts in your addressbook." -msgstr "" - -#: templates/part.no_contacts.php:5 -msgid "Add contact" -msgstr "" - -#: templates/part.selectaddressbook.php:1 -msgid "Select Address Books" -msgstr "" - -#: templates/part.selectaddressbook.php:27 -msgid "Enter name" -msgstr "" - -#: templates/part.selectaddressbook.php:29 -msgid "Enter description" -msgstr "" - -#: templates/settings.php:3 -msgid "CardDAV syncing addresses" -msgstr "" - -#: templates/settings.php:3 -msgid "more info" -msgstr "" - -#: templates/settings.php:5 -msgid "Primary address (Kontact et al)" -msgstr "" - -#: templates/settings.php:7 -msgid "iOS/OS X" -msgstr "" - -#: templates/settings.php:20 -msgid "Show CardDav link" -msgstr "" - -#: templates/settings.php:23 -msgid "Show read-only VCF link" -msgstr "" - -#: templates/settings.php:26 -msgid "Share" -msgstr "" - -#: templates/settings.php:29 -msgid "Download" -msgstr "" - -#: templates/settings.php:33 -msgid "Edit" -msgstr "" - -#: templates/settings.php:43 -msgid "New Address Book" -msgstr "" - -#: templates/settings.php:44 -msgid "Name" -msgstr "" - -#: templates/settings.php:45 -msgid "Description" -msgstr "" - -#: templates/settings.php:46 -msgid "Save" -msgstr "" - -#: templates/settings.php:47 -msgid "Cancel" -msgstr "" - -#: templates/settings.php:52 -msgid "More..." -msgstr "" diff --git a/l10n/af/core.po b/l10n/af/core.po index 61c871deff82ea749358a4ddc9805d70a0f31599..d2470d10b9266200af4b9ebd98661f18750f1127 100644 --- a/l10n/af/core.po +++ b/l10n/af/core.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-16 02:04+0200\n" -"PO-Revision-Date: 2012-10-16 00:05+0000\n" +"POT-Creation-Date: 2012-10-18 02:03+0200\n" +"PO-Revision-Date: 2012-10-18 00:04+0000\n" "Last-Translator: I Robot \n" "Language-Team: Afrikaans (http://www.transifex.com/projects/p/owncloud/language/af/)\n" "MIME-Version: 1.0\n" @@ -123,15 +123,11 @@ msgid "Error while changing permissions" msgstr "" #: js/share.js:130 -msgid "Shared with you and the group" -msgstr "" - -#: js/share.js:130 -msgid "by" +msgid "Shared with you and the group {group} by {owner}" msgstr "" #: js/share.js:132 -msgid "Shared with you by" +msgid "Shared with you by {owner}" msgstr "" #: js/share.js:137 @@ -172,11 +168,7 @@ msgid "Resharing is not allowed" msgstr "" #: js/share.js:250 -msgid "Shared in" -msgstr "" - -#: js/share.js:250 -msgid "with" +msgid "Shared in {item} with {user}" msgstr "" #: js/share.js:271 diff --git a/l10n/af/files.po b/l10n/af/files.po index b7a6a22ae8f93ebbe01afb504326b6d6571067bd..5f5576757327f99a9d90836f1f4f2129e94a6067 100644 --- a/l10n/af/files.po +++ b/l10n/af/files.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-09-26 13:19+0200\n" -"PO-Revision-Date: 2012-09-26 11:20+0000\n" +"POT-Creation-Date: 2012-10-19 02:03+0200\n" +"PO-Revision-Date: 2012-10-19 00:04+0000\n" "Last-Translator: I Robot \n" "Language-Team: Afrikaans (http://www.transifex.com/projects/p/owncloud/language/af/)\n" "MIME-Version: 1.0\n" @@ -63,152 +63,152 @@ msgstr "" msgid "Rename" msgstr "" -#: js/filelist.js:190 js/filelist.js:192 -msgid "already exists" +#: js/filelist.js:194 js/filelist.js:196 +msgid "{new_name} already exists" msgstr "" -#: js/filelist.js:190 js/filelist.js:192 +#: js/filelist.js:194 js/filelist.js:196 msgid "replace" msgstr "" -#: js/filelist.js:190 +#: js/filelist.js:194 msgid "suggest name" msgstr "" -#: js/filelist.js:190 js/filelist.js:192 +#: js/filelist.js:194 js/filelist.js:196 msgid "cancel" msgstr "" -#: js/filelist.js:239 js/filelist.js:241 -msgid "replaced" +#: js/filelist.js:243 +msgid "replaced {new_name}" msgstr "" -#: js/filelist.js:239 js/filelist.js:241 js/filelist.js:273 js/filelist.js:275 +#: js/filelist.js:243 js/filelist.js:245 js/filelist.js:277 js/filelist.js:279 msgid "undo" msgstr "" -#: js/filelist.js:241 -msgid "with" +#: js/filelist.js:245 +msgid "replaced {new_name} with {old_name}" msgstr "" -#: js/filelist.js:273 -msgid "unshared" +#: js/filelist.js:277 +msgid "unshared {files}" msgstr "" -#: js/filelist.js:275 -msgid "deleted" +#: js/filelist.js:279 +msgid "deleted {files}" msgstr "" #: js/files.js:179 msgid "generating ZIP-file, it may take some time." msgstr "" -#: js/files.js:208 +#: js/files.js:214 msgid "Unable to upload your file as it is a directory or has 0 bytes" msgstr "" -#: js/files.js:208 +#: js/files.js:214 msgid "Upload Error" msgstr "" -#: js/files.js:236 js/files.js:341 js/files.js:371 +#: js/files.js:242 js/files.js:347 js/files.js:377 msgid "Pending" msgstr "" -#: js/files.js:256 +#: js/files.js:262 msgid "1 file uploading" msgstr "" -#: js/files.js:259 js/files.js:304 js/files.js:319 -msgid "files uploading" +#: js/files.js:265 js/files.js:310 js/files.js:325 +msgid "{count} files uploading" msgstr "" -#: js/files.js:322 js/files.js:355 +#: js/files.js:328 js/files.js:361 msgid "Upload cancelled." msgstr "" -#: js/files.js:424 +#: js/files.js:430 msgid "" "File upload is in progress. Leaving the page now will cancel the upload." msgstr "" -#: js/files.js:494 +#: js/files.js:500 msgid "Invalid name, '/' is not allowed." msgstr "" -#: js/files.js:667 -msgid "files scanned" +#: js/files.js:681 +msgid "{count} files scanned" msgstr "" -#: js/files.js:675 +#: js/files.js:689 msgid "error while scanning" msgstr "" -#: js/files.js:748 templates/index.php:48 +#: js/files.js:762 templates/index.php:48 msgid "Name" msgstr "" -#: js/files.js:749 templates/index.php:56 +#: js/files.js:763 templates/index.php:56 msgid "Size" msgstr "" -#: js/files.js:750 templates/index.php:58 +#: js/files.js:764 templates/index.php:58 msgid "Modified" msgstr "" -#: js/files.js:777 -msgid "folder" +#: js/files.js:791 +msgid "1 folder" msgstr "" -#: js/files.js:779 -msgid "folders" +#: js/files.js:793 +msgid "{count} folders" msgstr "" -#: js/files.js:787 -msgid "file" +#: js/files.js:801 +msgid "1 file" msgstr "" -#: js/files.js:789 -msgid "files" +#: js/files.js:803 +msgid "{count} files" msgstr "" -#: js/files.js:833 +#: js/files.js:846 msgid "seconds ago" msgstr "" -#: js/files.js:834 -msgid "minute ago" +#: js/files.js:847 +msgid "1 minute ago" msgstr "" -#: js/files.js:835 -msgid "minutes ago" +#: js/files.js:848 +msgid "{minutes} minutes ago" msgstr "" -#: js/files.js:838 +#: js/files.js:851 msgid "today" msgstr "" -#: js/files.js:839 +#: js/files.js:852 msgid "yesterday" msgstr "" -#: js/files.js:840 -msgid "days ago" +#: js/files.js:853 +msgid "{days} days ago" msgstr "" -#: js/files.js:841 +#: js/files.js:854 msgid "last month" msgstr "" -#: js/files.js:843 +#: js/files.js:856 msgid "months ago" msgstr "" -#: js/files.js:844 +#: js/files.js:857 msgid "last year" msgstr "" -#: js/files.js:845 +#: js/files.js:858 msgid "years ago" msgstr "" diff --git a/l10n/af/files_pdfviewer.po b/l10n/af/files_pdfviewer.po deleted file mode 100644 index 142a114dc5cb1a77f744765323a9a6925eaaef47..0000000000000000000000000000000000000000 --- a/l10n/af/files_pdfviewer.po +++ /dev/null @@ -1,42 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 02:18+0200\n" -"PO-Revision-Date: 2012-08-26 00:19+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Afrikaans (http://www.transifex.com/projects/p/owncloud/language/af/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: af\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: js/viewer.js:22 -msgid "Previous" -msgstr "" - -#: js/viewer.js:23 -msgid "Next" -msgstr "" - -#: js/viewer.js:29 -msgid "Page Width" -msgstr "" - -#: js/viewer.js:29 -msgid "Page Fit" -msgstr "" - -#: js/viewer.js:30 -msgid "Print" -msgstr "" - -#: js/viewer.js:32 -msgid "Download" -msgstr "" diff --git a/l10n/af/files_texteditor.po b/l10n/af/files_texteditor.po deleted file mode 100644 index 167f82535888035f71d30d46bd019643fabe2aea..0000000000000000000000000000000000000000 --- a/l10n/af/files_texteditor.po +++ /dev/null @@ -1,44 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 01:17+0200\n" -"PO-Revision-Date: 2012-08-25 23:18+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Afrikaans (http://www.transifex.com/projects/p/owncloud/language/af/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: af\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: js/aceeditor/mode-coldfusion-uncompressed.js:1568 -#: js/aceeditor/mode-liquid-uncompressed.js:902 -#: js/aceeditor/mode-svg-uncompressed.js:1575 -msgid "regex" -msgstr "" - -#: js/editor.js:72 js/editor.js:156 js/editor.js:163 -msgid "Save" -msgstr "" - -#: js/editor.js:74 -msgid "Close" -msgstr "" - -#: js/editor.js:149 -msgid "Saving..." -msgstr "" - -#: js/editor.js:239 -msgid "An error occurred!" -msgstr "" - -#: js/editor.js:266 -msgid "There were unsaved changes, click here to go back" -msgstr "" diff --git a/l10n/af/gallery.po b/l10n/af/gallery.po deleted file mode 100644 index 4b3c3a0b90705f649821b60e4c2d217fb17685f5..0000000000000000000000000000000000000000 --- a/l10n/af/gallery.po +++ /dev/null @@ -1,94 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-06-06 00:12+0200\n" -"PO-Revision-Date: 2012-06-05 22:15+0000\n" -"Last-Translator: icewind \n" -"Language-Team: Afrikaans (http://www.transifex.net/projects/p/owncloud/language/af/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: af\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: appinfo/app.php:37 -msgid "Pictures" -msgstr "" - -#: js/album_cover.js:44 -msgid "Share gallery" -msgstr "" - -#: js/album_cover.js:64 js/album_cover.js:100 js/album_cover.js:133 -msgid "Error: " -msgstr "" - -#: js/album_cover.js:64 js/album_cover.js:100 -msgid "Internal error" -msgstr "" - -#: js/album_cover.js:114 -msgid "Scanning root" -msgstr "" - -#: js/album_cover.js:115 -msgid "Default order" -msgstr "" - -#: js/album_cover.js:116 -msgid "Ascending" -msgstr "" - -#: js/album_cover.js:116 -msgid "Descending" -msgstr "" - -#: js/album_cover.js:117 templates/index.php:19 -msgid "Settings" -msgstr "" - -#: js/album_cover.js:122 -msgid "Scanning root cannot be empty" -msgstr "" - -#: js/album_cover.js:122 js/album_cover.js:133 -msgid "Error" -msgstr "" - -#: templates/index.php:16 -msgid "Rescan" -msgstr "" - -#: templates/index.php:17 -msgid "Stop" -msgstr "" - -#: templates/index.php:18 -msgid "Share" -msgstr "" - -#: templates/view_album.php:19 -msgid "Back" -msgstr "" - -#: templates/view_album.php:36 -msgid "Remove confirmation" -msgstr "" - -#: templates/view_album.php:37 -msgid "Do you want to remove album" -msgstr "" - -#: templates/view_album.php:40 -msgid "Change album name" -msgstr "" - -#: templates/view_album.php:43 -msgid "New album name" -msgstr "" diff --git a/l10n/af/media.po b/l10n/af/media.po deleted file mode 100644 index 6ef8fb90646ea65388c89ad9756f7d341b2fc422..0000000000000000000000000000000000000000 --- a/l10n/af/media.po +++ /dev/null @@ -1,66 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-06-06 00:12+0200\n" -"PO-Revision-Date: 2012-06-05 22:15+0000\n" -"Last-Translator: icewind \n" -"Language-Team: Afrikaans (http://www.transifex.net/projects/p/owncloud/language/af/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: af\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: appinfo/app.php:32 templates/player.php:8 -msgid "Music" -msgstr "" - -#: js/music.js:18 -msgid "Add album to playlist" -msgstr "" - -#: templates/music.php:3 templates/player.php:12 -msgid "Play" -msgstr "" - -#: templates/music.php:4 templates/music.php:26 templates/player.php:13 -msgid "Pause" -msgstr "" - -#: templates/music.php:5 -msgid "Previous" -msgstr "" - -#: templates/music.php:6 templates/player.php:14 -msgid "Next" -msgstr "" - -#: templates/music.php:7 -msgid "Mute" -msgstr "" - -#: templates/music.php:8 -msgid "Unmute" -msgstr "" - -#: templates/music.php:25 -msgid "Rescan Collection" -msgstr "" - -#: templates/music.php:37 -msgid "Artist" -msgstr "" - -#: templates/music.php:38 -msgid "Album" -msgstr "" - -#: templates/music.php:39 -msgid "Title" -msgstr "" diff --git a/l10n/af/tasks.po b/l10n/af/tasks.po deleted file mode 100644 index ced9b6ce1218ef1125ae3e02b45e92e4bf50b836..0000000000000000000000000000000000000000 --- a/l10n/af/tasks.po +++ /dev/null @@ -1,106 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:44+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Afrikaans (http://www.transifex.com/projects/p/owncloud/language/af/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: af\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: ajax/update_property.php:51 lib/app.php:89 lib/app.php:101 -msgid "Invalid date/time" -msgstr "" - -#: appinfo/app.php:11 -msgid "Tasks" -msgstr "" - -#: js/tasks.js:415 -msgid "No category" -msgstr "" - -#: lib/app.php:33 -msgid "Unspecified" -msgstr "" - -#: lib/app.php:34 -msgid "1=highest" -msgstr "" - -#: lib/app.php:38 -msgid "5=medium" -msgstr "" - -#: lib/app.php:42 -msgid "9=lowest" -msgstr "" - -#: lib/app.php:81 -msgid "Empty Summary" -msgstr "" - -#: lib/app.php:93 -msgid "Invalid percent complete" -msgstr "" - -#: lib/app.php:107 -msgid "Invalid priority" -msgstr "" - -#: templates/tasks.php:3 -msgid "Add Task" -msgstr "" - -#: templates/tasks.php:4 -msgid "Order Due" -msgstr "" - -#: templates/tasks.php:5 -msgid "Order List" -msgstr "" - -#: templates/tasks.php:6 -msgid "Order Complete" -msgstr "" - -#: templates/tasks.php:7 -msgid "Order Location" -msgstr "" - -#: templates/tasks.php:8 -msgid "Order Priority" -msgstr "" - -#: templates/tasks.php:9 -msgid "Order Label" -msgstr "" - -#: templates/tasks.php:16 -msgid "Loading tasks..." -msgstr "" - -#: templates/tasks.php:20 -msgid "Important" -msgstr "" - -#: templates/tasks.php:23 -msgid "More" -msgstr "" - -#: templates/tasks.php:26 -msgid "Less" -msgstr "" - -#: templates/tasks.php:29 -msgid "Delete" -msgstr "" diff --git a/l10n/af/user_migrate.po b/l10n/af/user_migrate.po deleted file mode 100644 index f1829f1329f45acf7fcdb0ee96d9e73cc9b55f8d..0000000000000000000000000000000000000000 --- a/l10n/af/user_migrate.po +++ /dev/null @@ -1,51 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:45+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Afrikaans (http://www.transifex.com/projects/p/owncloud/language/af/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: af\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: js/export.js:14 js/export.js:20 -msgid "Export" -msgstr "" - -#: js/export.js:19 -msgid "Something went wrong while the export file was being generated" -msgstr "" - -#: js/export.js:19 -msgid "An error has occurred" -msgstr "" - -#: templates/settings.php:2 -msgid "Export your user account" -msgstr "" - -#: templates/settings.php:3 -msgid "" -"This will create a compressed file that contains your ownCloud account." -msgstr "" - -#: templates/settings.php:13 -msgid "Import user account" -msgstr "" - -#: templates/settings.php:15 -msgid "ownCloud User Zip" -msgstr "" - -#: templates/settings.php:17 -msgid "Import" -msgstr "" diff --git a/l10n/af/user_openid.po b/l10n/af/user_openid.po deleted file mode 100644 index 7d05e13987686e13711578133001cb941b5fb955..0000000000000000000000000000000000000000 --- a/l10n/af/user_openid.po +++ /dev/null @@ -1,54 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:45+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Afrikaans (http://www.transifex.com/projects/p/owncloud/language/af/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: af\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: templates/nomode.php:12 -msgid "This is an OpenID server endpoint. For more information, see " -msgstr "" - -#: templates/nomode.php:14 -msgid "Identity: " -msgstr "" - -#: templates/nomode.php:15 -msgid "Realm: " -msgstr "" - -#: templates/nomode.php:16 -msgid "User: " -msgstr "" - -#: templates/nomode.php:17 -msgid "Login" -msgstr "" - -#: templates/nomode.php:22 -msgid "Error: No user Selected" -msgstr "" - -#: templates/settings.php:4 -msgid "you can authenticate to other sites with this address" -msgstr "" - -#: templates/settings.php:5 -msgid "Authorized OpenID provider" -msgstr "" - -#: templates/settings.php:6 -msgid "Your address at Wordpress, Identi.ca, …" -msgstr "" diff --git a/l10n/ar/admin_dependencies_chk.po b/l10n/ar/admin_dependencies_chk.po deleted file mode 100644 index cd7fa85a2b223bd3de4d03ea871da089794ab036..0000000000000000000000000000000000000000 --- a/l10n/ar/admin_dependencies_chk.po +++ /dev/null @@ -1,73 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:33+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Arabic (http://www.transifex.com/projects/p/owncloud/language/ar/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ar\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" - -#: settings.php:33 -msgid "" -"The php-json module is needed by the many applications for inter " -"communications" -msgstr "" - -#: settings.php:39 -msgid "" -"The php-curl modude is needed to fetch the page title when adding a " -"bookmarks" -msgstr "" - -#: settings.php:45 -msgid "The php-gd module is needed to create thumbnails of your images" -msgstr "" - -#: settings.php:51 -msgid "The php-ldap module is needed connect to your ldap server" -msgstr "" - -#: settings.php:57 -msgid "The php-zip module is needed download multiple files at once" -msgstr "" - -#: settings.php:63 -msgid "" -"The php-mb_multibyte module is needed to manage correctly the encoding." -msgstr "" - -#: settings.php:69 -msgid "The php-ctype module is needed validate data." -msgstr "" - -#: settings.php:75 -msgid "The php-xml module is needed to share files with webdav." -msgstr "" - -#: settings.php:81 -msgid "" -"The allow_url_fopen directive of your php.ini should be set to 1 to retrieve" -" knowledge base from OCS servers" -msgstr "" - -#: settings.php:87 -msgid "The php-pdo module is needed to store owncloud data into a database." -msgstr "" - -#: templates/settings.php:2 -msgid "Dependencies status" -msgstr "" - -#: templates/settings.php:7 -msgid "Used by :" -msgstr "" diff --git a/l10n/ar/admin_migrate.po b/l10n/ar/admin_migrate.po deleted file mode 100644 index 9dcf129cad3fcb7cf91afe45cd044b981079929f..0000000000000000000000000000000000000000 --- a/l10n/ar/admin_migrate.po +++ /dev/null @@ -1,32 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:32+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Arabic (http://www.transifex.com/projects/p/owncloud/language/ar/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ar\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" - -#: templates/settings.php:3 -msgid "Export this ownCloud instance" -msgstr "" - -#: templates/settings.php:4 -msgid "" -"This will create a compressed file that contains the data of this owncloud instance.\n" -" Please choose the export type:" -msgstr "" - -#: templates/settings.php:12 -msgid "Export" -msgstr "" diff --git a/l10n/ar/bookmarks.po b/l10n/ar/bookmarks.po deleted file mode 100644 index 50d8ccbf671c9225f0235cd3e6c846d619446564..0000000000000000000000000000000000000000 --- a/l10n/ar/bookmarks.po +++ /dev/null @@ -1,60 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-07-28 02:02+0200\n" -"PO-Revision-Date: 2012-07-27 22:17+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Arabic (http://www.transifex.com/projects/p/owncloud/language/ar/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ar\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" - -#: appinfo/app.php:14 -msgid "Bookmarks" -msgstr "" - -#: bookmarksHelper.php:99 -msgid "unnamed" -msgstr "" - -#: templates/bookmarklet.php:5 -msgid "" -"Drag this to your browser bookmarks and click it, when you want to bookmark " -"a webpage quickly:" -msgstr "" - -#: templates/bookmarklet.php:7 -msgid "Read later" -msgstr "" - -#: templates/list.php:13 -msgid "Address" -msgstr "" - -#: templates/list.php:14 -msgid "Title" -msgstr "" - -#: templates/list.php:15 -msgid "Tags" -msgstr "" - -#: templates/list.php:16 -msgid "Save bookmark" -msgstr "" - -#: templates/list.php:22 -msgid "You have no bookmarks" -msgstr "" - -#: templates/settings.php:11 -msgid "Bookmarklet
" -msgstr "" diff --git a/l10n/ar/calendar.po b/l10n/ar/calendar.po deleted file mode 100644 index 947cca6fda01de8923d0b4fc137d02676e585a53..0000000000000000000000000000000000000000 --- a/l10n/ar/calendar.po +++ /dev/null @@ -1,814 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# , 2011, 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-24 02:02+0200\n" -"PO-Revision-Date: 2012-08-23 09:47+0000\n" -"Last-Translator: blackcoder \n" -"Language-Team: Arabic (http://www.transifex.com/projects/p/owncloud/language/ar/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ar\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" - -#: ajax/cache/status.php:19 -msgid "Not all calendars are completely cached" -msgstr "ليس جميع الجداول الزمنيه محفوضه مؤقة" - -#: ajax/cache/status.php:21 -msgid "Everything seems to be completely cached" -msgstr "كل شيء محفوض مؤقة" - -#: ajax/categories/rescan.php:29 -msgid "No calendars found." -msgstr "لم يتم العثور على جدول الزمني" - -#: ajax/categories/rescan.php:37 -msgid "No events found." -msgstr "لم يتم العثور على احداث" - -#: ajax/event/edit.form.php:20 -msgid "Wrong calendar" -msgstr "جدول زمني خاطئ" - -#: ajax/import/dropimport.php:29 ajax/import/import.php:64 -msgid "" -"The file contained either no events or all events are already saved in your " -"calendar." -msgstr "" - -#: ajax/import/dropimport.php:31 ajax/import/import.php:67 -msgid "events has been saved in the new calendar" -msgstr "" - -#: ajax/import/import.php:56 -msgid "Import failed" -msgstr "" - -#: ajax/import/import.php:69 -msgid "events has been saved in your calendar" -msgstr "" - -#: ajax/settings/guesstimezone.php:25 -msgid "New Timezone:" -msgstr "التوقيت الجديد" - -#: ajax/settings/settimezone.php:23 -msgid "Timezone changed" -msgstr "تم تغيير المنطقة الزمنية" - -#: ajax/settings/settimezone.php:25 -msgid "Invalid request" -msgstr "طلب غير مفهوم" - -#: appinfo/app.php:37 templates/calendar.php:15 -#: templates/part.eventform.php:33 templates/part.showevent.php:33 -msgid "Calendar" -msgstr "الجدول الزمني" - -#: js/calendar.js:832 -msgid "ddd" -msgstr "ddd" - -#: js/calendar.js:833 -msgid "ddd M/d" -msgstr "ddd M/d" - -#: js/calendar.js:834 -msgid "dddd M/d" -msgstr "ddd M/d" - -#: js/calendar.js:837 -msgid "MMMM yyyy" -msgstr "ddd M/d" - -#: js/calendar.js:839 -msgid "MMM d[ yyyy]{ '—'[ MMM] d yyyy}" -msgstr "MMM d[ yyyy]{ '—'[ MMM] d yyyy}" - -#: js/calendar.js:841 -msgid "dddd, MMM d, yyyy" -msgstr "dddd, MMM d, yyyy" - -#: lib/app.php:121 -msgid "Birthday" -msgstr "عيد ميلاد" - -#: lib/app.php:122 -msgid "Business" -msgstr "عمل" - -#: lib/app.php:123 -msgid "Call" -msgstr "إتصال" - -#: lib/app.php:124 -msgid "Clients" -msgstr "الزبائن" - -#: lib/app.php:125 -msgid "Deliverer" -msgstr "المرسل" - -#: lib/app.php:126 -msgid "Holidays" -msgstr "عطلة" - -#: lib/app.php:127 -msgid "Ideas" -msgstr "أفكار" - -#: lib/app.php:128 -msgid "Journey" -msgstr "رحلة" - -#: lib/app.php:129 -msgid "Jubilee" -msgstr "يوبيل" - -#: lib/app.php:130 -msgid "Meeting" -msgstr "إجتماع" - -#: lib/app.php:131 -msgid "Other" -msgstr "شيء آخر" - -#: lib/app.php:132 -msgid "Personal" -msgstr "شخصي" - -#: lib/app.php:133 -msgid "Projects" -msgstr "مشاريع" - -#: lib/app.php:134 -msgid "Questions" -msgstr "اسئلة" - -#: lib/app.php:135 -msgid "Work" -msgstr "العمل" - -#: lib/app.php:351 lib/app.php:361 -msgid "by" -msgstr "من قبل" - -#: lib/app.php:359 lib/app.php:399 -msgid "unnamed" -msgstr "غير مسمى" - -#: lib/import.php:184 templates/calendar.php:12 -#: templates/part.choosecalendar.php:22 -msgid "New Calendar" -msgstr "جدول زمني جديد" - -#: lib/object.php:372 -msgid "Does not repeat" -msgstr "لا يعاد" - -#: lib/object.php:373 -msgid "Daily" -msgstr "يومي" - -#: lib/object.php:374 -msgid "Weekly" -msgstr "أسبوعي" - -#: lib/object.php:375 -msgid "Every Weekday" -msgstr "كل نهاية الأسبوع" - -#: lib/object.php:376 -msgid "Bi-Weekly" -msgstr "كل اسبوعين" - -#: lib/object.php:377 -msgid "Monthly" -msgstr "شهري" - -#: lib/object.php:378 -msgid "Yearly" -msgstr "سنوي" - -#: lib/object.php:388 -msgid "never" -msgstr "بتاتا" - -#: lib/object.php:389 -msgid "by occurrences" -msgstr "حسب تسلسل الحدوث" - -#: lib/object.php:390 -msgid "by date" -msgstr "حسب التاريخ" - -#: lib/object.php:400 -msgid "by monthday" -msgstr "حسب يوم الشهر" - -#: lib/object.php:401 -msgid "by weekday" -msgstr "حسب يوم الاسبوع" - -#: lib/object.php:411 templates/calendar.php:5 templates/settings.php:69 -msgid "Monday" -msgstr "الأثنين" - -#: lib/object.php:412 templates/calendar.php:5 -msgid "Tuesday" -msgstr "الثلاثاء" - -#: lib/object.php:413 templates/calendar.php:5 -msgid "Wednesday" -msgstr "الاربعاء" - -#: lib/object.php:414 templates/calendar.php:5 -msgid "Thursday" -msgstr "الخميس" - -#: lib/object.php:415 templates/calendar.php:5 -msgid "Friday" -msgstr "الجمعه" - -#: lib/object.php:416 templates/calendar.php:5 -msgid "Saturday" -msgstr "السبت" - -#: lib/object.php:417 templates/calendar.php:5 templates/settings.php:70 -msgid "Sunday" -msgstr "الاحد" - -#: lib/object.php:427 -msgid "events week of month" -msgstr "الاحداث باسبوع الشهر" - -#: lib/object.php:428 -msgid "first" -msgstr "أول" - -#: lib/object.php:429 -msgid "second" -msgstr "ثاني" - -#: lib/object.php:430 -msgid "third" -msgstr "ثالث" - -#: lib/object.php:431 -msgid "fourth" -msgstr "رابع" - -#: lib/object.php:432 -msgid "fifth" -msgstr "خامس" - -#: lib/object.php:433 -msgid "last" -msgstr "أخير" - -#: lib/object.php:467 templates/calendar.php:7 -msgid "January" -msgstr "كانون الثاني" - -#: lib/object.php:468 templates/calendar.php:7 -msgid "February" -msgstr "شباط" - -#: lib/object.php:469 templates/calendar.php:7 -msgid "March" -msgstr "آذار" - -#: lib/object.php:470 templates/calendar.php:7 -msgid "April" -msgstr "نيسان" - -#: lib/object.php:471 templates/calendar.php:7 -msgid "May" -msgstr "أيار" - -#: lib/object.php:472 templates/calendar.php:7 -msgid "June" -msgstr "حزيران" - -#: lib/object.php:473 templates/calendar.php:7 -msgid "July" -msgstr "تموز" - -#: lib/object.php:474 templates/calendar.php:7 -msgid "August" -msgstr "آب" - -#: lib/object.php:475 templates/calendar.php:7 -msgid "September" -msgstr "أيلول" - -#: lib/object.php:476 templates/calendar.php:7 -msgid "October" -msgstr "تشرين الاول" - -#: lib/object.php:477 templates/calendar.php:7 -msgid "November" -msgstr "تشرين الثاني" - -#: lib/object.php:478 templates/calendar.php:7 -msgid "December" -msgstr "كانون الاول" - -#: lib/object.php:488 -msgid "by events date" -msgstr "حسب تاريخ الحدث" - -#: lib/object.php:489 -msgid "by yearday(s)" -msgstr "حسب يوم السنه" - -#: lib/object.php:490 -msgid "by weeknumber(s)" -msgstr "حسب رقم الاسبوع" - -#: lib/object.php:491 -msgid "by day and month" -msgstr "حسب اليوم و الشهر" - -#: lib/search.php:35 lib/search.php:37 lib/search.php:40 -msgid "Date" -msgstr "تاريخ" - -#: lib/search.php:43 -msgid "Cal." -msgstr "تقويم" - -#: templates/calendar.php:6 -msgid "Sun." -msgstr "أحد" - -#: templates/calendar.php:6 -msgid "Mon." -msgstr "أثن." - -#: templates/calendar.php:6 -msgid "Tue." -msgstr "ثلا." - -#: templates/calendar.php:6 -msgid "Wed." -msgstr "أرب." - -#: templates/calendar.php:6 -msgid "Thu." -msgstr "خمي." - -#: templates/calendar.php:6 -msgid "Fri." -msgstr "جمع." - -#: templates/calendar.php:6 -msgid "Sat." -msgstr "سبت" - -#: templates/calendar.php:8 -msgid "Jan." -msgstr "ك2" - -#: templates/calendar.php:8 -msgid "Feb." -msgstr "شبا." - -#: templates/calendar.php:8 -msgid "Mar." -msgstr "آذا." - -#: templates/calendar.php:8 -msgid "Apr." -msgstr "نيس." - -#: templates/calendar.php:8 -msgid "May." -msgstr "أيا." - -#: templates/calendar.php:8 -msgid "Jun." -msgstr "" - -#: templates/calendar.php:8 -msgid "Jul." -msgstr "" - -#: templates/calendar.php:8 -msgid "Aug." -msgstr "" - -#: templates/calendar.php:8 -msgid "Sep." -msgstr "" - -#: templates/calendar.php:8 -msgid "Oct." -msgstr "" - -#: templates/calendar.php:8 -msgid "Nov." -msgstr "" - -#: templates/calendar.php:8 -msgid "Dec." -msgstr "" - -#: templates/calendar.php:11 -msgid "All day" -msgstr "كل النهار" - -#: templates/calendar.php:13 -msgid "Missing fields" -msgstr "خانات خالية من المعلومات" - -#: templates/calendar.php:14 templates/part.eventform.php:19 -#: templates/part.showevent.php:11 -msgid "Title" -msgstr "عنوان" - -#: templates/calendar.php:16 -msgid "From Date" -msgstr "من تاريخ" - -#: templates/calendar.php:17 -msgid "From Time" -msgstr "إلى تاريخ" - -#: templates/calendar.php:18 -msgid "To Date" -msgstr "إلى يوم" - -#: templates/calendar.php:19 -msgid "To Time" -msgstr "إلى وقت" - -#: templates/calendar.php:20 -msgid "The event ends before it starts" -msgstr "هذا الحدث ينتهي قبل أن يبدأ" - -#: templates/calendar.php:21 -msgid "There was a database fail" -msgstr "خطأ في قاعدة البيانات" - -#: templates/calendar.php:39 -msgid "Week" -msgstr "إسبوع" - -#: templates/calendar.php:40 -msgid "Month" -msgstr "شهر" - -#: templates/calendar.php:41 -msgid "List" -msgstr "قائمة" - -#: templates/calendar.php:45 -msgid "Today" -msgstr "اليوم" - -#: templates/calendar.php:46 templates/calendar.php:47 -msgid "Settings" -msgstr "" - -#: templates/part.choosecalendar.php:2 -msgid "Your calendars" -msgstr "جداولك الزمنيه" - -#: templates/part.choosecalendar.php:27 -#: templates/part.choosecalendar.rowfields.php:11 -msgid "CalDav Link" -msgstr "وصلة CalDav" - -#: templates/part.choosecalendar.php:31 -msgid "Shared calendars" -msgstr "جداول زمنيه مشتركه" - -#: templates/part.choosecalendar.php:48 -msgid "No shared calendars" -msgstr "لا يوجد جداول زمنيه مشتركه" - -#: templates/part.choosecalendar.rowfields.php:8 -msgid "Share Calendar" -msgstr "شارك الجدول الزمني" - -#: templates/part.choosecalendar.rowfields.php:14 -msgid "Download" -msgstr "تحميل" - -#: templates/part.choosecalendar.rowfields.php:17 -msgid "Edit" -msgstr "تعديل" - -#: templates/part.choosecalendar.rowfields.php:20 -#: templates/part.editevent.php:9 -msgid "Delete" -msgstr "حذف" - -#: templates/part.choosecalendar.rowfields.shared.php:4 -msgid "shared with you by" -msgstr "مشاركه من قبل" - -#: templates/part.editcalendar.php:9 -msgid "New calendar" -msgstr "جدول زمني جديد" - -#: templates/part.editcalendar.php:9 -msgid "Edit calendar" -msgstr "عادل الجدول الزمني" - -#: templates/part.editcalendar.php:12 -msgid "Displayname" -msgstr "الاسم المرئي" - -#: templates/part.editcalendar.php:23 -msgid "Active" -msgstr "حالي" - -#: templates/part.editcalendar.php:29 -msgid "Calendar color" -msgstr "لون الجدول الزمني" - -#: templates/part.editcalendar.php:42 -msgid "Save" -msgstr "إحفظ" - -#: templates/part.editcalendar.php:42 templates/part.editevent.php:8 -#: templates/part.newevent.php:6 -msgid "Submit" -msgstr "أرسل" - -#: templates/part.editcalendar.php:43 -msgid "Cancel" -msgstr "إلغاء" - -#: templates/part.editevent.php:1 -msgid "Edit an event" -msgstr "عادل حدث" - -#: templates/part.editevent.php:10 -msgid "Export" -msgstr "تصدير المعلومات" - -#: templates/part.eventform.php:8 templates/part.showevent.php:3 -msgid "Eventinfo" -msgstr "تفاصيل الحدث" - -#: templates/part.eventform.php:9 templates/part.showevent.php:4 -msgid "Repeating" -msgstr "يعاد" - -#: templates/part.eventform.php:10 templates/part.showevent.php:5 -msgid "Alarm" -msgstr "تنبيه" - -#: templates/part.eventform.php:11 templates/part.showevent.php:6 -msgid "Attendees" -msgstr "الحضور" - -#: templates/part.eventform.php:13 -msgid "Share" -msgstr "شارك" - -#: templates/part.eventform.php:21 -msgid "Title of the Event" -msgstr "عنوان الحدث" - -#: templates/part.eventform.php:27 templates/part.showevent.php:19 -msgid "Category" -msgstr "فئة" - -#: templates/part.eventform.php:29 -msgid "Separate categories with commas" -msgstr "افصل الفئات بالفواصل" - -#: templates/part.eventform.php:30 -msgid "Edit categories" -msgstr "عدل الفئات" - -#: templates/part.eventform.php:56 templates/part.showevent.php:52 -msgid "All Day Event" -msgstr "حدث في يوم كامل" - -#: templates/part.eventform.php:60 templates/part.showevent.php:56 -msgid "From" -msgstr "من" - -#: templates/part.eventform.php:68 templates/part.showevent.php:64 -msgid "To" -msgstr "إلى" - -#: templates/part.eventform.php:76 templates/part.showevent.php:72 -msgid "Advanced options" -msgstr "خيارات متقدمة" - -#: templates/part.eventform.php:81 templates/part.showevent.php:77 -msgid "Location" -msgstr "مكان" - -#: templates/part.eventform.php:83 -msgid "Location of the Event" -msgstr "مكان الحدث" - -#: templates/part.eventform.php:89 templates/part.showevent.php:85 -msgid "Description" -msgstr "مواصفات" - -#: templates/part.eventform.php:91 -msgid "Description of the Event" -msgstr "وصف الحدث" - -#: templates/part.eventform.php:100 templates/part.showevent.php:95 -msgid "Repeat" -msgstr "إعادة" - -#: templates/part.eventform.php:107 templates/part.showevent.php:102 -msgid "Advanced" -msgstr "تعديلات متقدمه" - -#: templates/part.eventform.php:151 templates/part.showevent.php:146 -msgid "Select weekdays" -msgstr "اختر ايام الاسبوع" - -#: templates/part.eventform.php:164 templates/part.eventform.php:177 -#: templates/part.showevent.php:159 templates/part.showevent.php:172 -msgid "Select days" -msgstr "اختر الايام" - -#: templates/part.eventform.php:169 templates/part.showevent.php:164 -msgid "and the events day of year." -msgstr "و التواريخ حسب يوم السنه." - -#: templates/part.eventform.php:182 templates/part.showevent.php:177 -msgid "and the events day of month." -msgstr "و الاحداث حسب يوم الشهر." - -#: templates/part.eventform.php:190 templates/part.showevent.php:185 -msgid "Select months" -msgstr "اختر الاشهر" - -#: templates/part.eventform.php:203 templates/part.showevent.php:198 -msgid "Select weeks" -msgstr "اختر الاسابيع" - -#: templates/part.eventform.php:208 templates/part.showevent.php:203 -msgid "and the events week of year." -msgstr "و الاحداث حسب اسبوع السنه" - -#: templates/part.eventform.php:214 templates/part.showevent.php:209 -msgid "Interval" -msgstr "المده الفاصله" - -#: templates/part.eventform.php:220 templates/part.showevent.php:215 -msgid "End" -msgstr "نهايه" - -#: templates/part.eventform.php:233 templates/part.showevent.php:228 -msgid "occurrences" -msgstr "الاحداث" - -#: templates/part.import.php:14 -msgid "create a new calendar" -msgstr "انشاء جدول زمني جديد" - -#: templates/part.import.php:17 -msgid "Import a calendar file" -msgstr "أدخل ملف التقويم" - -#: templates/part.import.php:24 -msgid "Please choose a calendar" -msgstr "" - -#: templates/part.import.php:36 -msgid "Name of new calendar" -msgstr "أسم الجدول الزمني الجديد" - -#: templates/part.import.php:44 -msgid "Take an available name!" -msgstr "" - -#: templates/part.import.php:45 -msgid "" -"A Calendar with this name already exists. If you continue anyhow, these " -"calendars will be merged." -msgstr "" - -#: templates/part.import.php:47 -msgid "Import" -msgstr "إدخال" - -#: templates/part.import.php:56 -msgid "Close Dialog" -msgstr "أغلق الحوار" - -#: templates/part.newevent.php:1 -msgid "Create a new event" -msgstr "إضافة حدث جديد" - -#: templates/part.showevent.php:1 -msgid "View an event" -msgstr "شاهد الحدث" - -#: templates/part.showevent.php:23 -msgid "No categories selected" -msgstr "لم يتم اختيار الفئات" - -#: templates/part.showevent.php:37 -msgid "of" -msgstr "من" - -#: templates/part.showevent.php:59 templates/part.showevent.php:67 -msgid "at" -msgstr "في" - -#: templates/settings.php:10 -msgid "General" -msgstr "" - -#: templates/settings.php:15 -msgid "Timezone" -msgstr "المنطقة الزمنية" - -#: templates/settings.php:47 -msgid "Update timezone automatically" -msgstr "" - -#: templates/settings.php:52 -msgid "Time format" -msgstr "" - -#: templates/settings.php:57 -msgid "24h" -msgstr "24 ساعة" - -#: templates/settings.php:58 -msgid "12h" -msgstr "12 ساعة" - -#: templates/settings.php:64 -msgid "Start week on" -msgstr "" - -#: templates/settings.php:76 -msgid "Cache" -msgstr "" - -#: templates/settings.php:80 -msgid "Clear cache for repeating events" -msgstr "" - -#: templates/settings.php:85 -msgid "URLs" -msgstr "" - -#: templates/settings.php:87 -msgid "Calendar CalDAV syncing addresses" -msgstr "" - -#: templates/settings.php:87 -msgid "more info" -msgstr "" - -#: templates/settings.php:89 -msgid "Primary address (Kontact et al)" -msgstr "" - -#: templates/settings.php:91 -msgid "iOS/OS X" -msgstr "" - -#: templates/settings.php:93 -msgid "Read only iCalendar link(s)" -msgstr "" - -#: templates/share.dropdown.php:20 -msgid "Users" -msgstr "المستخدمين" - -#: templates/share.dropdown.php:21 -msgid "select users" -msgstr "اختر المستخدمين" - -#: templates/share.dropdown.php:36 templates/share.dropdown.php:62 -msgid "Editable" -msgstr "يمكن تعديله" - -#: templates/share.dropdown.php:48 -msgid "Groups" -msgstr "مجموعات" - -#: templates/share.dropdown.php:49 -msgid "select groups" -msgstr "اختر المجموعات" - -#: templates/share.dropdown.php:75 -msgid "make public" -msgstr "حدث عام" diff --git a/l10n/ar/contacts.po b/l10n/ar/contacts.po deleted file mode 100644 index 9740f17457ca5d34815db2af2d6906aed88c6fed..0000000000000000000000000000000000000000 --- a/l10n/ar/contacts.po +++ /dev/null @@ -1,953 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# , 2011, 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-24 02:02+0200\n" -"PO-Revision-Date: 2012-08-24 00:03+0000\n" -"Last-Translator: I Robot \n" -"Language-Team: Arabic (http://www.transifex.com/projects/p/owncloud/language/ar/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ar\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" - -#: ajax/addressbook/activate.php:24 ajax/addressbook/update.php:32 -msgid "Error (de)activating addressbook." -msgstr "خطء خلال توقيف كتاب العناوين." - -#: ajax/addressbook/delete.php:31 ajax/addressbook/update.php:20 -#: ajax/contact/addproperty.php:42 ajax/contact/delete.php:32 -#: ajax/contact/saveproperty.php:39 -msgid "id is not set." -msgstr "" - -#: ajax/addressbook/update.php:24 -msgid "Cannot update addressbook with an empty name." -msgstr "" - -#: ajax/addressbook/update.php:28 -msgid "Error updating addressbook." -msgstr "خطء خلال تعديل كتاب العناوين" - -#: ajax/categories/categoriesfor.php:17 -msgid "No ID provided" -msgstr "" - -#: ajax/categories/categoriesfor.php:34 -msgid "Error setting checksum." -msgstr "" - -#: ajax/categories/delete.php:19 -msgid "No categories selected for deletion." -msgstr "" - -#: ajax/categories/delete.php:26 -msgid "No address books found." -msgstr "" - -#: ajax/categories/delete.php:34 -msgid "No contacts found." -msgstr "" - -#: ajax/contact/add.php:47 -msgid "There was an error adding the contact." -msgstr "خطء خلال اضافة معرفه جديده." - -#: ajax/contact/addproperty.php:39 ajax/contact/saveproperty.php:36 -msgid "element name is not set." -msgstr "" - -#: ajax/contact/addproperty.php:46 -msgid "Could not parse contact: " -msgstr "" - -#: ajax/contact/addproperty.php:56 -msgid "Cannot add empty property." -msgstr "لا يمكنك اضافه صفه خاليه." - -#: ajax/contact/addproperty.php:67 -msgid "At least one of the address fields has to be filled out." -msgstr "يجب ملء على الاقل خانه واحده من العنوان." - -#: ajax/contact/addproperty.php:76 -msgid "Trying to add duplicate property: " -msgstr "" - -#: ajax/contact/addproperty.php:115 ajax/contact/saveproperty.php:93 -msgid "Missing IM parameter." -msgstr "" - -#: ajax/contact/addproperty.php:119 ajax/contact/saveproperty.php:97 -msgid "Unknown IM: " -msgstr "" - -#: ajax/contact/deleteproperty.php:37 -msgid "Information about vCard is incorrect. Please reload the page." -msgstr "المعلومات الموجودة في ال vCard غير صحيحة. الرجاء إعادة تحديث الصفحة." - -#: ajax/contact/details.php:31 -msgid "Missing ID" -msgstr "" - -#: ajax/contact/details.php:36 -msgid "Error parsing VCard for ID: \"" -msgstr "" - -#: ajax/contact/saveproperty.php:42 -msgid "checksum is not set." -msgstr "" - -#: ajax/contact/saveproperty.php:62 -msgid "Information about vCard is incorrect. Please reload the page: " -msgstr "" - -#: ajax/contact/saveproperty.php:69 -msgid "Something went FUBAR. " -msgstr "" - -#: ajax/currentphoto.php:30 ajax/oc_photo.php:28 ajax/uploadphoto.php:36 -#: ajax/uploadphoto.php:68 -msgid "No contact ID was submitted." -msgstr "" - -#: ajax/currentphoto.php:36 -msgid "Error reading contact photo." -msgstr "" - -#: ajax/currentphoto.php:48 -msgid "Error saving temporary file." -msgstr "" - -#: ajax/currentphoto.php:51 -msgid "The loading photo is not valid." -msgstr "" - -#: ajax/editname.php:31 -msgid "Contact ID is missing." -msgstr "" - -#: ajax/oc_photo.php:32 -msgid "No photo path was submitted." -msgstr "" - -#: ajax/oc_photo.php:39 -msgid "File doesn't exist:" -msgstr "" - -#: ajax/oc_photo.php:44 ajax/oc_photo.php:47 -msgid "Error loading image." -msgstr "" - -#: ajax/savecrop.php:69 -msgid "Error getting contact object." -msgstr "" - -#: ajax/savecrop.php:79 -msgid "Error getting PHOTO property." -msgstr "" - -#: ajax/savecrop.php:98 -msgid "Error saving contact." -msgstr "" - -#: ajax/savecrop.php:109 -msgid "Error resizing image" -msgstr "" - -#: ajax/savecrop.php:112 -msgid "Error cropping image" -msgstr "" - -#: ajax/savecrop.php:115 -msgid "Error creating temporary image" -msgstr "" - -#: ajax/savecrop.php:118 -msgid "Error finding image: " -msgstr "" - -#: ajax/uploadimport.php:44 ajax/uploadimport.php:76 -msgid "Error uploading contacts to storage." -msgstr "" - -#: ajax/uploadimport.php:61 ajax/uploadphoto.php:77 -msgid "There is no error, the file uploaded with success" -msgstr "" - -#: ajax/uploadimport.php:62 ajax/uploadphoto.php:78 -msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" -msgstr "" - -#: ajax/uploadimport.php:63 ajax/uploadphoto.php:79 -msgid "" -"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " -"the HTML form" -msgstr "" - -#: ajax/uploadimport.php:64 ajax/uploadphoto.php:80 -msgid "The uploaded file was only partially uploaded" -msgstr "" - -#: ajax/uploadimport.php:65 ajax/uploadphoto.php:81 -msgid "No file was uploaded" -msgstr "" - -#: ajax/uploadimport.php:66 ajax/uploadphoto.php:82 -msgid "Missing a temporary folder" -msgstr "" - -#: ajax/uploadphoto.php:59 ajax/uploadphoto.php:109 -msgid "Couldn't save temporary image: " -msgstr "" - -#: ajax/uploadphoto.php:62 ajax/uploadphoto.php:112 -msgid "Couldn't load temporary image: " -msgstr "" - -#: ajax/uploadphoto.php:71 -msgid "No file was uploaded. Unknown error" -msgstr "" - -#: appinfo/app.php:21 -msgid "Contacts" -msgstr "المعارف" - -#: js/contacts.js:71 -msgid "Sorry, this functionality has not been implemented yet" -msgstr "" - -#: js/contacts.js:71 -msgid "Not implemented" -msgstr "" - -#: js/contacts.js:76 -msgid "Couldn't get a valid address." -msgstr "" - -#: js/contacts.js:76 js/contacts.js:365 js/contacts.js:381 js/contacts.js:393 -#: js/contacts.js:723 js/contacts.js:763 js/contacts.js:789 js/contacts.js:921 -#: js/contacts.js:927 js/contacts.js:939 js/contacts.js:976 -#: js/contacts.js:1250 js/contacts.js:1258 js/contacts.js:1267 -#: js/contacts.js:1302 js/contacts.js:1338 js/contacts.js:1353 -#: js/contacts.js:1379 js/contacts.js:1609 js/contacts.js:1644 -#: js/contacts.js:1664 js/settings.js:26 js/settings.js:43 js/settings.js:68 -msgid "Error" -msgstr "" - -#: js/contacts.js:424 -msgid "You do not have permission to add contacts to " -msgstr "" - -#: js/contacts.js:425 -msgid "Please select one of your own address books." -msgstr "" - -#: js/contacts.js:425 -msgid "Permission error" -msgstr "" - -#: js/contacts.js:763 -msgid "This property has to be non-empty." -msgstr "" - -#: js/contacts.js:789 -msgid "Couldn't serialize elements." -msgstr "" - -#: js/contacts.js:921 js/contacts.js:939 -msgid "" -"'deleteProperty' called without type argument. Please report at " -"bugs.owncloud.org" -msgstr "" - -#: js/contacts.js:958 -msgid "Edit name" -msgstr "" - -#: js/contacts.js:1250 -msgid "No files selected for upload." -msgstr "" - -#: js/contacts.js:1258 -msgid "" -"The file you are trying to upload exceed the maximum size for file uploads " -"on this server." -msgstr "" - -#: js/contacts.js:1322 -msgid "Error loading profile picture." -msgstr "" - -#: js/contacts.js:1457 js/contacts.js:1498 js/contacts.js:1517 -#: js/contacts.js:1560 -msgid "Select type" -msgstr "" - -#: js/contacts.js:1578 -msgid "" -"Some contacts are marked for deletion, but not deleted yet. Please wait for " -"them to be deleted." -msgstr "" - -#: js/contacts.js:1649 -msgid "Do you want to merge these address books?" -msgstr "" - -#: js/loader.js:49 -msgid "Result: " -msgstr "" - -#: js/loader.js:49 -msgid " imported, " -msgstr "" - -#: js/loader.js:49 -msgid " failed." -msgstr "" - -#: js/settings.js:68 -msgid "Displayname cannot be empty." -msgstr "" - -#: lib/app.php:36 -msgid "Addressbook not found: " -msgstr "" - -#: lib/app.php:52 -msgid "This is not your addressbook." -msgstr "هذا ليس دفتر عناوينك." - -#: lib/app.php:71 -msgid "Contact could not be found." -msgstr "لم يتم العثور على الشخص." - -#: lib/app.php:116 -msgid "Jabber" -msgstr "" - -#: lib/app.php:121 -msgid "AIM" -msgstr "" - -#: lib/app.php:126 -msgid "MSN" -msgstr "" - -#: lib/app.php:131 -msgid "Twitter" -msgstr "" - -#: lib/app.php:136 -msgid "GoogleTalk" -msgstr "" - -#: lib/app.php:141 -msgid "Facebook" -msgstr "" - -#: lib/app.php:146 -msgid "XMPP" -msgstr "" - -#: lib/app.php:151 -msgid "ICQ" -msgstr "" - -#: lib/app.php:156 -msgid "Yahoo" -msgstr "" - -#: lib/app.php:161 -msgid "Skype" -msgstr "" - -#: lib/app.php:166 -msgid "QQ" -msgstr "" - -#: lib/app.php:171 -msgid "GaduGadu" -msgstr "" - -#: lib/app.php:194 lib/app.php:202 lib/app.php:213 lib/app.php:266 -msgid "Work" -msgstr "الوظيفة" - -#: lib/app.php:195 lib/app.php:200 lib/app.php:214 -msgid "Home" -msgstr "البيت" - -#: lib/app.php:196 lib/app.php:209 lib/app.php:262 lib/vcard.php:593 -msgid "Other" -msgstr "" - -#: lib/app.php:201 -msgid "Mobile" -msgstr "الهاتف المحمول" - -#: lib/app.php:203 -msgid "Text" -msgstr "معلومات إضافية" - -#: lib/app.php:204 -msgid "Voice" -msgstr "صوت" - -#: lib/app.php:205 -msgid "Message" -msgstr "" - -#: lib/app.php:206 -msgid "Fax" -msgstr "الفاكس" - -#: lib/app.php:207 -msgid "Video" -msgstr "الفيديو" - -#: lib/app.php:208 -msgid "Pager" -msgstr "الرنان" - -#: lib/app.php:215 -msgid "Internet" -msgstr "" - -#: lib/app.php:252 templates/part.contact.php:45 -#: templates/part.contact.php:128 -msgid "Birthday" -msgstr "تاريخ الميلاد" - -#: lib/app.php:253 -msgid "Business" -msgstr "" - -#: lib/app.php:254 -msgid "Call" -msgstr "" - -#: lib/app.php:255 -msgid "Clients" -msgstr "" - -#: lib/app.php:256 -msgid "Deliverer" -msgstr "" - -#: lib/app.php:257 -msgid "Holidays" -msgstr "" - -#: lib/app.php:258 -msgid "Ideas" -msgstr "" - -#: lib/app.php:259 -msgid "Journey" -msgstr "" - -#: lib/app.php:260 -msgid "Jubilee" -msgstr "" - -#: lib/app.php:261 -msgid "Meeting" -msgstr "" - -#: lib/app.php:263 -msgid "Personal" -msgstr "" - -#: lib/app.php:264 -msgid "Projects" -msgstr "" - -#: lib/app.php:265 -msgid "Questions" -msgstr "" - -#: lib/hooks.php:102 -msgid "{name}'s Birthday" -msgstr "" - -#: lib/search.php:15 -msgid "Contact" -msgstr "معرفه" - -#: lib/vcard.php:408 -msgid "You do not have the permissions to edit this contact." -msgstr "" - -#: lib/vcard.php:483 -msgid "You do not have the permissions to delete this contact." -msgstr "" - -#: templates/index.php:14 -msgid "Add Contact" -msgstr "أضف شخص " - -#: templates/index.php:15 templates/index.php:16 templates/part.import.php:17 -msgid "Import" -msgstr "" - -#: templates/index.php:18 -msgid "Settings" -msgstr "" - -#: templates/index.php:18 templates/settings.php:9 -msgid "Addressbooks" -msgstr "كتب العناوين" - -#: templates/index.php:36 templates/part.import.php:24 -msgid "Close" -msgstr "" - -#: templates/index.php:37 -msgid "Keyboard shortcuts" -msgstr "" - -#: templates/index.php:39 -msgid "Navigation" -msgstr "" - -#: templates/index.php:42 -msgid "Next contact in list" -msgstr "" - -#: templates/index.php:44 -msgid "Previous contact in list" -msgstr "" - -#: templates/index.php:46 -msgid "Expand/collapse current addressbook" -msgstr "" - -#: templates/index.php:48 -msgid "Next addressbook" -msgstr "" - -#: templates/index.php:50 -msgid "Previous addressbook" -msgstr "" - -#: templates/index.php:54 -msgid "Actions" -msgstr "" - -#: templates/index.php:57 -msgid "Refresh contacts list" -msgstr "" - -#: templates/index.php:59 -msgid "Add new contact" -msgstr "" - -#: templates/index.php:61 -msgid "Add new addressbook" -msgstr "" - -#: templates/index.php:63 -msgid "Delete current contact" -msgstr "" - -#: templates/part.contact.php:17 -msgid "Drop photo to upload" -msgstr "" - -#: templates/part.contact.php:19 -msgid "Delete current photo" -msgstr "" - -#: templates/part.contact.php:20 -msgid "Edit current photo" -msgstr "" - -#: templates/part.contact.php:21 -msgid "Upload new photo" -msgstr "" - -#: templates/part.contact.php:22 -msgid "Select photo from ownCloud" -msgstr "" - -#: templates/part.contact.php:35 -msgid "Format custom, Short name, Full name, Reverse or Reverse with comma" -msgstr "" - -#: templates/part.contact.php:36 -msgid "Edit name details" -msgstr "" - -#: templates/part.contact.php:39 templates/part.contact.php:40 -#: templates/part.contact.php:126 -msgid "Organization" -msgstr "المؤسسة" - -#: templates/part.contact.php:40 templates/part.contact.php:42 -#: templates/part.contact.php:44 templates/part.contact.php:46 -#: templates/part.contact.php:50 templates/settings.php:36 -msgid "Delete" -msgstr "حذف" - -#: templates/part.contact.php:41 templates/part.contact.php:127 -msgid "Nickname" -msgstr "" - -#: templates/part.contact.php:42 -msgid "Enter nickname" -msgstr "" - -#: templates/part.contact.php:43 templates/part.contact.php:134 -msgid "Web site" -msgstr "" - -#: templates/part.contact.php:44 -msgid "http://www.somesite.com" -msgstr "" - -#: templates/part.contact.php:44 -msgid "Go to web site" -msgstr "" - -#: templates/part.contact.php:46 -msgid "dd-mm-yyyy" -msgstr "" - -#: templates/part.contact.php:47 templates/part.contact.php:135 -msgid "Groups" -msgstr "" - -#: templates/part.contact.php:49 -msgid "Separate groups with commas" -msgstr "" - -#: templates/part.contact.php:50 -msgid "Edit groups" -msgstr "" - -#: templates/part.contact.php:59 templates/part.contact.php:73 -#: templates/part.contact.php:98 -msgid "Preferred" -msgstr "مفضل" - -#: templates/part.contact.php:60 -msgid "Please specify a valid email address." -msgstr "" - -#: templates/part.contact.php:60 -msgid "Enter email address" -msgstr "" - -#: templates/part.contact.php:64 -msgid "Mail to address" -msgstr "" - -#: templates/part.contact.php:65 -msgid "Delete email address" -msgstr "" - -#: templates/part.contact.php:75 -msgid "Enter phone number" -msgstr "" - -#: templates/part.contact.php:79 -msgid "Delete phone number" -msgstr "" - -#: templates/part.contact.php:100 -msgid "Instant Messenger" -msgstr "" - -#: templates/part.contact.php:101 -msgid "Delete IM" -msgstr "" - -#: templates/part.contact.php:110 -msgid "View on map" -msgstr "" - -#: templates/part.contact.php:110 -msgid "Edit address details" -msgstr "" - -#: templates/part.contact.php:116 -msgid "Add notes here." -msgstr "" - -#: templates/part.contact.php:124 -msgid "Add field" -msgstr "" - -#: templates/part.contact.php:129 -msgid "Phone" -msgstr "الهاتف" - -#: templates/part.contact.php:130 -msgid "Email" -msgstr "البريد الالكتروني" - -#: templates/part.contact.php:131 -msgid "Instant Messaging" -msgstr "" - -#: templates/part.contact.php:132 -msgid "Address" -msgstr "عنوان" - -#: templates/part.contact.php:133 -msgid "Note" -msgstr "" - -#: templates/part.contact.php:138 -msgid "Download contact" -msgstr "انزال المعرفه" - -#: templates/part.contact.php:139 -msgid "Delete contact" -msgstr "امحي المعرفه" - -#: templates/part.cropphoto.php:65 -msgid "The temporary image has been removed from cache." -msgstr "" - -#: templates/part.edit_address_dialog.php:6 -msgid "Edit address" -msgstr "" - -#: templates/part.edit_address_dialog.php:10 -msgid "Type" -msgstr "نوع" - -#: templates/part.edit_address_dialog.php:18 -#: templates/part.edit_address_dialog.php:21 -msgid "PO Box" -msgstr "العنوان البريدي" - -#: templates/part.edit_address_dialog.php:24 -msgid "Street address" -msgstr "" - -#: templates/part.edit_address_dialog.php:27 -msgid "Street and number" -msgstr "" - -#: templates/part.edit_address_dialog.php:30 -msgid "Extended" -msgstr "إضافة" - -#: templates/part.edit_address_dialog.php:33 -msgid "Apartment number etc." -msgstr "" - -#: templates/part.edit_address_dialog.php:36 -#: templates/part.edit_address_dialog.php:39 -msgid "City" -msgstr "المدينة" - -#: templates/part.edit_address_dialog.php:42 -msgid "Region" -msgstr "المنطقة" - -#: templates/part.edit_address_dialog.php:45 -msgid "E.g. state or province" -msgstr "" - -#: templates/part.edit_address_dialog.php:48 -msgid "Zipcode" -msgstr "رقم المنطقة" - -#: templates/part.edit_address_dialog.php:51 -msgid "Postal code" -msgstr "" - -#: templates/part.edit_address_dialog.php:54 -#: templates/part.edit_address_dialog.php:57 -msgid "Country" -msgstr "البلد" - -#: templates/part.edit_name_dialog.php:16 -msgid "Addressbook" -msgstr "كتاب العناوين" - -#: templates/part.edit_name_dialog.php:23 -msgid "Hon. prefixes" -msgstr "" - -#: templates/part.edit_name_dialog.php:27 -msgid "Miss" -msgstr "" - -#: templates/part.edit_name_dialog.php:28 -msgid "Ms" -msgstr "" - -#: templates/part.edit_name_dialog.php:29 -msgid "Mr" -msgstr "" - -#: templates/part.edit_name_dialog.php:30 -msgid "Sir" -msgstr "" - -#: templates/part.edit_name_dialog.php:31 -msgid "Mrs" -msgstr "" - -#: templates/part.edit_name_dialog.php:32 -msgid "Dr" -msgstr "" - -#: templates/part.edit_name_dialog.php:35 -msgid "Given name" -msgstr "" - -#: templates/part.edit_name_dialog.php:37 -msgid "Additional names" -msgstr "" - -#: templates/part.edit_name_dialog.php:39 -msgid "Family name" -msgstr "" - -#: templates/part.edit_name_dialog.php:41 -msgid "Hon. suffixes" -msgstr "" - -#: templates/part.edit_name_dialog.php:45 -msgid "J.D." -msgstr "" - -#: templates/part.edit_name_dialog.php:46 -msgid "M.D." -msgstr "" - -#: templates/part.edit_name_dialog.php:47 -msgid "D.O." -msgstr "" - -#: templates/part.edit_name_dialog.php:48 -msgid "D.C." -msgstr "" - -#: templates/part.edit_name_dialog.php:49 -msgid "Ph.D." -msgstr "" - -#: templates/part.edit_name_dialog.php:50 -msgid "Esq." -msgstr "" - -#: templates/part.edit_name_dialog.php:51 -msgid "Jr." -msgstr "" - -#: templates/part.edit_name_dialog.php:52 -msgid "Sn." -msgstr "" - -#: templates/part.import.php:1 -msgid "Import a contacts file" -msgstr "" - -#: templates/part.import.php:6 -msgid "Please choose the addressbook" -msgstr "" - -#: templates/part.import.php:10 -msgid "create a new addressbook" -msgstr "" - -#: templates/part.import.php:15 -msgid "Name of new addressbook" -msgstr "" - -#: templates/part.import.php:20 -msgid "Importing contacts" -msgstr "" - -#: templates/part.no_contacts.php:3 -msgid "You have no contacts in your addressbook." -msgstr "" - -#: templates/part.no_contacts.php:5 -msgid "Add contact" -msgstr "" - -#: templates/part.selectaddressbook.php:1 -msgid "Select Address Books" -msgstr "" - -#: templates/part.selectaddressbook.php:27 -msgid "Enter name" -msgstr "" - -#: templates/part.selectaddressbook.php:29 -msgid "Enter description" -msgstr "" - -#: templates/settings.php:3 -msgid "CardDAV syncing addresses" -msgstr "" - -#: templates/settings.php:3 -msgid "more info" -msgstr "" - -#: templates/settings.php:5 -msgid "Primary address (Kontact et al)" -msgstr "" - -#: templates/settings.php:7 -msgid "iOS/OS X" -msgstr "" - -#: templates/settings.php:20 -msgid "Show CardDav link" -msgstr "" - -#: templates/settings.php:23 -msgid "Show read-only VCF link" -msgstr "" - -#: templates/settings.php:26 -msgid "Share" -msgstr "" - -#: templates/settings.php:29 -msgid "Download" -msgstr "انزال" - -#: templates/settings.php:33 -msgid "Edit" -msgstr "تعديل" - -#: templates/settings.php:43 -msgid "New Address Book" -msgstr "كتاب عناوين جديد" - -#: templates/settings.php:44 -msgid "Name" -msgstr "" - -#: templates/settings.php:45 -msgid "Description" -msgstr "" - -#: templates/settings.php:46 -msgid "Save" -msgstr "حفظ" - -#: templates/settings.php:47 -msgid "Cancel" -msgstr "الغاء" - -#: templates/settings.php:52 -msgid "More..." -msgstr "" diff --git a/l10n/ar/core.po b/l10n/ar/core.po index 7338fcb1fa5e0711093c72f536d3c2e370554ce0..06b34280efd35b8ca4f74941d72be7ae127033dd 100644 --- a/l10n/ar/core.po +++ b/l10n/ar/core.po @@ -8,9 +8,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-16 02:04+0200\n" -"PO-Revision-Date: 2012-10-16 00:05+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-11-16 00:02+0100\n" +"PO-Revision-Date: 2012-11-14 23:13+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Arabic (http://www.transifex.com/projects/p/owncloud/language/ar/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -18,209 +18,241 @@ msgstr "" "Language: ar\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" -#: ajax/vcategories/add.php:23 ajax/vcategories/delete.php:23 -msgid "Application name not provided." +#: ajax/vcategories/add.php:26 ajax/vcategories/edit.php:25 +msgid "Category type not provided." msgstr "" -#: ajax/vcategories/add.php:29 +#: ajax/vcategories/add.php:30 msgid "No category to add?" msgstr "" -#: ajax/vcategories/add.php:36 +#: ajax/vcategories/add.php:37 msgid "This category already exists: " msgstr "" -#: js/js.js:238 templates/layout.user.php:49 templates/layout.user.php:50 +#: ajax/vcategories/addToFavorites.php:26 ajax/vcategories/delete.php:27 +#: ajax/vcategories/favorites.php:24 +#: ajax/vcategories/removeFromFavorites.php:26 +msgid "Object type not provided." +msgstr "" + +#: ajax/vcategories/addToFavorites.php:30 +#: ajax/vcategories/removeFromFavorites.php:30 +#, php-format +msgid "%s ID not provided." +msgstr "" + +#: ajax/vcategories/addToFavorites.php:35 +#, php-format +msgid "Error adding %s to favorites." +msgstr "" + +#: ajax/vcategories/delete.php:35 js/oc-vcategories.js:136 +msgid "No categories selected for deletion." +msgstr "" + +#: ajax/vcategories/removeFromFavorites.php:35 +#, php-format +msgid "Error removing %s from favorites." +msgstr "" + +#: js/js.js:243 templates/layout.user.php:59 templates/layout.user.php:60 msgid "Settings" msgstr "تعديلات" -#: js/js.js:670 -msgid "January" +#: js/js.js:688 +msgid "seconds ago" msgstr "" -#: js/js.js:670 -msgid "February" +#: js/js.js:689 +msgid "1 minute ago" msgstr "" -#: js/js.js:670 -msgid "March" +#: js/js.js:690 +msgid "{minutes} minutes ago" msgstr "" -#: js/js.js:670 -msgid "April" +#: js/js.js:691 +msgid "1 hour ago" msgstr "" -#: js/js.js:670 -msgid "May" +#: js/js.js:692 +msgid "{hours} hours ago" msgstr "" -#: js/js.js:670 -msgid "June" +#: js/js.js:693 +msgid "today" msgstr "" -#: js/js.js:671 -msgid "July" +#: js/js.js:694 +msgid "yesterday" msgstr "" -#: js/js.js:671 -msgid "August" +#: js/js.js:695 +msgid "{days} days ago" msgstr "" -#: js/js.js:671 -msgid "September" +#: js/js.js:696 +msgid "last month" msgstr "" -#: js/js.js:671 -msgid "October" +#: js/js.js:697 +msgid "{months} months ago" msgstr "" -#: js/js.js:671 -msgid "November" +#: js/js.js:698 +msgid "months ago" msgstr "" -#: js/js.js:671 -msgid "December" +#: js/js.js:699 +msgid "last year" +msgstr "" + +#: js/js.js:700 +msgid "years ago" msgstr "" -#: js/oc-dialogs.js:123 +#: js/oc-dialogs.js:126 msgid "Choose" msgstr "" -#: js/oc-dialogs.js:143 js/oc-dialogs.js:163 +#: js/oc-dialogs.js:146 js/oc-dialogs.js:166 msgid "Cancel" -msgstr "" +msgstr "الغاء" -#: js/oc-dialogs.js:159 +#: js/oc-dialogs.js:162 msgid "No" msgstr "" -#: js/oc-dialogs.js:160 +#: js/oc-dialogs.js:163 msgid "Yes" msgstr "" -#: js/oc-dialogs.js:177 +#: js/oc-dialogs.js:180 msgid "Ok" msgstr "" -#: js/oc-vcategories.js:68 -msgid "No categories selected for deletion." +#: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102 +#: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162 +msgid "The object type is not specified." msgstr "" -#: js/oc-vcategories.js:68 js/share.js:114 js/share.js:121 js/share.js:497 -#: js/share.js:509 +#: js/oc-vcategories.js:95 js/oc-vcategories.js:125 js/oc-vcategories.js:136 +#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:525 +#: js/share.js:537 msgid "Error" msgstr "" -#: js/share.js:103 +#: js/oc-vcategories.js:179 +msgid "The app name is not specified." +msgstr "" + +#: js/oc-vcategories.js:194 +msgid "The required file {file} is not installed!" +msgstr "" + +#: js/share.js:124 msgid "Error while sharing" msgstr "" -#: js/share.js:114 +#: js/share.js:135 msgid "Error while unsharing" msgstr "" -#: js/share.js:121 +#: js/share.js:142 msgid "Error while changing permissions" msgstr "" -#: js/share.js:130 -msgid "Shared with you and the group" +#: js/share.js:151 +msgid "Shared with you and the group {group} by {owner}" msgstr "" -#: js/share.js:130 -msgid "by" -msgstr "" - -#: js/share.js:132 -msgid "Shared with you by" +#: js/share.js:153 +msgid "Shared with you by {owner}" msgstr "" -#: js/share.js:137 +#: js/share.js:158 msgid "Share with" msgstr "" -#: js/share.js:142 +#: js/share.js:163 msgid "Share with link" msgstr "" -#: js/share.js:143 +#: js/share.js:164 msgid "Password protect" msgstr "" -#: js/share.js:147 templates/installation.php:42 templates/login.php:24 +#: js/share.js:168 templates/installation.php:42 templates/login.php:24 #: templates/verify.php:13 msgid "Password" msgstr "كلمة السر" -#: js/share.js:152 +#: js/share.js:173 msgid "Set expiration date" msgstr "" -#: js/share.js:153 +#: js/share.js:174 msgid "Expiration date" msgstr "" -#: js/share.js:185 +#: js/share.js:206 msgid "Share via email:" msgstr "" -#: js/share.js:187 +#: js/share.js:208 msgid "No people found" msgstr "" -#: js/share.js:214 +#: js/share.js:235 msgid "Resharing is not allowed" msgstr "" -#: js/share.js:250 -msgid "Shared in" -msgstr "" - -#: js/share.js:250 -msgid "with" +#: js/share.js:271 +msgid "Shared in {item} with {user}" msgstr "" -#: js/share.js:271 +#: js/share.js:292 msgid "Unshare" -msgstr "" +msgstr "إلغاء مشاركة" -#: js/share.js:283 +#: js/share.js:304 msgid "can edit" msgstr "" -#: js/share.js:285 +#: js/share.js:306 msgid "access control" msgstr "" -#: js/share.js:288 +#: js/share.js:309 msgid "create" msgstr "" -#: js/share.js:291 +#: js/share.js:312 msgid "update" msgstr "" -#: js/share.js:294 +#: js/share.js:315 msgid "delete" msgstr "" -#: js/share.js:297 +#: js/share.js:318 msgid "share" msgstr "" -#: js/share.js:322 js/share.js:484 +#: js/share.js:343 js/share.js:512 js/share.js:514 msgid "Password protected" msgstr "" -#: js/share.js:497 +#: js/share.js:525 msgid "Error unsetting expiration date" msgstr "" -#: js/share.js:509 +#: js/share.js:537 msgid "Error setting expiration date" msgstr "" -#: lostpassword/index.php:26 +#: lostpassword/controller.php:47 msgid "ownCloud password reset" msgstr "" @@ -233,12 +265,12 @@ msgid "You will receive a link to reset your password via Email." msgstr "سوف نرسل لك بريد يحتوي على وصلة لتجديد كلمة السر." #: lostpassword/templates/lostpassword.php:5 -msgid "Requested" -msgstr "تم طلب" +msgid "Reset email send." +msgstr "" #: lostpassword/templates/lostpassword.php:8 -msgid "Login failed!" -msgstr "محاولة دخول فاشلة!" +msgid "Request failed!" +msgstr "" #: lostpassword/templates/lostpassword.php:11 templates/installation.php:38 #: templates/login.php:20 @@ -295,11 +327,11 @@ msgstr "لم يتم إيجاد" #: templates/edit_categories_dialog.php:4 msgid "Edit categories" -msgstr "" +msgstr "عدل الفئات" -#: templates/edit_categories_dialog.php:14 +#: templates/edit_categories_dialog.php:16 msgid "Add" -msgstr "" +msgstr "أدخل" #: templates/installation.php:23 templates/installation.php:31 msgid "Security Warning" @@ -371,11 +403,87 @@ msgstr "خادم قاعدة البيانات" msgid "Finish setup" msgstr "انهاء التعديلات" -#: templates/layout.guest.php:38 +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Sunday" +msgstr "الاحد" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Monday" +msgstr "الأثنين" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Tuesday" +msgstr "الثلاثاء" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Wednesday" +msgstr "الاربعاء" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Thursday" +msgstr "الخميس" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Friday" +msgstr "الجمعه" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Saturday" +msgstr "السبت" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "January" +msgstr "كانون الثاني" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "February" +msgstr "شباط" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "March" +msgstr "آذار" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "April" +msgstr "نيسان" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "May" +msgstr "أيار" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "June" +msgstr "حزيران" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "July" +msgstr "تموز" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "August" +msgstr "آب" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "September" +msgstr "أيلول" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "October" +msgstr "تشرين الاول" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "November" +msgstr "تشرين الثاني" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "December" +msgstr "كانون الاول" + +#: templates/layout.guest.php:41 msgid "web services under your control" msgstr "خدمات الوب تحت تصرفك" -#: templates/layout.user.php:34 +#: templates/layout.user.php:44 msgid "Log out" msgstr "الخروج" diff --git a/l10n/ar/files.po b/l10n/ar/files.po index 34c24504f7ba42da56527914e0afa6785ad77f74..2f8cead51f34a5c0a9e518503a4742db8499d530 100644 --- a/l10n/ar/files.po +++ b/l10n/ar/files.po @@ -8,9 +8,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-09-26 13:19+0200\n" -"PO-Revision-Date: 2012-09-26 11:20+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-12-01 00:01+0100\n" +"PO-Revision-Date: 2012-11-30 23:02+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Arabic (http://www.transifex.com/projects/p/owncloud/language/ar/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -23,194 +23,165 @@ msgid "There is no error, the file uploaded with success" msgstr "تم ترفيع الملفات بنجاح." #: ajax/upload.php:21 -msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" -msgstr "حجم الملف الذي تريد ترفيعه أعلى مما upload_max_filesize يسمح به في ملف php.ini" +msgid "" +"The uploaded file exceeds the upload_max_filesize directive in php.ini: " +msgstr "" -#: ajax/upload.php:22 +#: ajax/upload.php:23 msgid "" "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " "the HTML form" msgstr "حجم الملف الذي تريد ترفيعه أعلى مما MAX_FILE_SIZE يسمح به في واجهة ال HTML." -#: ajax/upload.php:23 +#: ajax/upload.php:25 msgid "The uploaded file was only partially uploaded" msgstr "تم ترفيع جزء من الملفات الذي تريد ترفيعها فقط" -#: ajax/upload.php:24 +#: ajax/upload.php:26 msgid "No file was uploaded" msgstr "لم يتم ترفيع أي من الملفات" -#: ajax/upload.php:25 +#: ajax/upload.php:27 msgid "Missing a temporary folder" msgstr "المجلد المؤقت غير موجود" -#: ajax/upload.php:26 +#: ajax/upload.php:28 msgid "Failed to write to disk" msgstr "" -#: appinfo/app.php:6 +#: appinfo/app.php:10 msgid "Files" msgstr "الملفات" -#: js/fileactions.js:108 templates/index.php:62 +#: js/fileactions.js:117 templates/index.php:83 templates/index.php:84 msgid "Unshare" -msgstr "" +msgstr "إلغاء مشاركة" -#: js/fileactions.js:110 templates/index.php:64 +#: js/fileactions.js:119 templates/index.php:89 templates/index.php:90 msgid "Delete" msgstr "محذوف" -#: js/fileactions.js:182 +#: js/fileactions.js:181 msgid "Rename" msgstr "" -#: js/filelist.js:190 js/filelist.js:192 -msgid "already exists" +#: js/filelist.js:201 js/filelist.js:203 +msgid "{new_name} already exists" msgstr "" -#: js/filelist.js:190 js/filelist.js:192 +#: js/filelist.js:201 js/filelist.js:203 msgid "replace" msgstr "" -#: js/filelist.js:190 +#: js/filelist.js:201 msgid "suggest name" msgstr "" -#: js/filelist.js:190 js/filelist.js:192 +#: js/filelist.js:201 js/filelist.js:203 msgid "cancel" msgstr "" -#: js/filelist.js:239 js/filelist.js:241 -msgid "replaced" +#: js/filelist.js:250 +msgid "replaced {new_name}" msgstr "" -#: js/filelist.js:239 js/filelist.js:241 js/filelist.js:273 js/filelist.js:275 +#: js/filelist.js:250 js/filelist.js:252 js/filelist.js:284 js/filelist.js:286 msgid "undo" msgstr "" -#: js/filelist.js:241 -msgid "with" +#: js/filelist.js:252 +msgid "replaced {new_name} with {old_name}" msgstr "" -#: js/filelist.js:273 -msgid "unshared" +#: js/filelist.js:284 +msgid "unshared {files}" msgstr "" -#: js/filelist.js:275 -msgid "deleted" +#: js/filelist.js:286 +msgid "deleted {files}" +msgstr "" + +#: js/files.js:33 +msgid "" +"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not " +"allowed." msgstr "" -#: js/files.js:179 +#: js/files.js:183 msgid "generating ZIP-file, it may take some time." msgstr "" -#: js/files.js:208 +#: js/files.js:218 msgid "Unable to upload your file as it is a directory or has 0 bytes" msgstr "" -#: js/files.js:208 +#: js/files.js:218 msgid "Upload Error" msgstr "" -#: js/files.js:236 js/files.js:341 js/files.js:371 +#: js/files.js:235 +msgid "Close" +msgstr "إغلق" + +#: js/files.js:254 js/files.js:368 js/files.js:398 msgid "Pending" msgstr "" -#: js/files.js:256 +#: js/files.js:274 msgid "1 file uploading" msgstr "" -#: js/files.js:259 js/files.js:304 js/files.js:319 -msgid "files uploading" +#: js/files.js:277 js/files.js:331 js/files.js:346 +msgid "{count} files uploading" msgstr "" -#: js/files.js:322 js/files.js:355 +#: js/files.js:349 js/files.js:382 msgid "Upload cancelled." msgstr "" -#: js/files.js:424 +#: js/files.js:451 msgid "" "File upload is in progress. Leaving the page now will cancel the upload." msgstr "" -#: js/files.js:494 -msgid "Invalid name, '/' is not allowed." +#: js/files.js:523 +msgid "Invalid folder name. Usage of \"Shared\" is reserved by Owncloud" msgstr "" -#: js/files.js:667 -msgid "files scanned" +#: js/files.js:704 +msgid "{count} files scanned" msgstr "" -#: js/files.js:675 +#: js/files.js:712 msgid "error while scanning" msgstr "" -#: js/files.js:748 templates/index.php:48 +#: js/files.js:785 templates/index.php:65 msgid "Name" msgstr "الاسم" -#: js/files.js:749 templates/index.php:56 +#: js/files.js:786 templates/index.php:76 msgid "Size" msgstr "حجم" -#: js/files.js:750 templates/index.php:58 +#: js/files.js:787 templates/index.php:78 msgid "Modified" msgstr "معدل" -#: js/files.js:777 -msgid "folder" -msgstr "" - -#: js/files.js:779 -msgid "folders" -msgstr "" - -#: js/files.js:787 -msgid "file" -msgstr "" - -#: js/files.js:789 -msgid "files" -msgstr "" - -#: js/files.js:833 -msgid "seconds ago" -msgstr "" - -#: js/files.js:834 -msgid "minute ago" +#: js/files.js:814 +msgid "1 folder" msgstr "" -#: js/files.js:835 -msgid "minutes ago" +#: js/files.js:816 +msgid "{count} folders" msgstr "" -#: js/files.js:838 -msgid "today" +#: js/files.js:824 +msgid "1 file" msgstr "" -#: js/files.js:839 -msgid "yesterday" -msgstr "" - -#: js/files.js:840 -msgid "days ago" -msgstr "" - -#: js/files.js:841 -msgid "last month" -msgstr "" - -#: js/files.js:843 -msgid "months ago" -msgstr "" - -#: js/files.js:844 -msgid "last year" -msgstr "" - -#: js/files.js:845 -msgid "years ago" +#: js/files.js:826 +msgid "{count} files" msgstr "" #: templates/admin.php:5 @@ -221,80 +192,76 @@ msgstr "" msgid "Maximum upload size" msgstr "الحد الأقصى لحجم الملفات التي يمكن رفعها" -#: templates/admin.php:7 +#: templates/admin.php:9 msgid "max. possible: " msgstr "" -#: templates/admin.php:9 +#: templates/admin.php:12 msgid "Needed for multi-file and folder downloads." msgstr "" -#: templates/admin.php:9 +#: templates/admin.php:14 msgid "Enable ZIP-download" msgstr "" -#: templates/admin.php:11 +#: templates/admin.php:17 msgid "0 is unlimited" msgstr "" -#: templates/admin.php:12 +#: templates/admin.php:19 msgid "Maximum input size for ZIP files" msgstr "" -#: templates/admin.php:14 +#: templates/admin.php:23 msgid "Save" -msgstr "" +msgstr "حفظ" #: templates/index.php:7 msgid "New" msgstr "جديد" -#: templates/index.php:9 +#: templates/index.php:10 msgid "Text file" msgstr "ملف" -#: templates/index.php:10 +#: templates/index.php:12 msgid "Folder" msgstr "مجلد" -#: templates/index.php:11 -msgid "From url" +#: templates/index.php:14 +msgid "From link" msgstr "" -#: templates/index.php:20 +#: templates/index.php:35 msgid "Upload" msgstr "إرفع" -#: templates/index.php:27 +#: templates/index.php:43 msgid "Cancel upload" msgstr "" -#: templates/index.php:40 +#: templates/index.php:57 msgid "Nothing in here. Upload something!" msgstr "لا يوجد شيء هنا. إرفع بعض الملفات!" -#: templates/index.php:50 -msgid "Share" -msgstr "" - -#: templates/index.php:52 +#: templates/index.php:71 msgid "Download" msgstr "تحميل" -#: templates/index.php:75 +#: templates/index.php:103 msgid "Upload too large" msgstr "حجم الترفيع أعلى من المسموح" -#: templates/index.php:77 +#: templates/index.php:105 msgid "" "The files you are trying to upload exceed the maximum size for file uploads " "on this server." msgstr "حجم الملفات التي تريد ترفيعها أعلى من المسموح على الخادم." -#: templates/index.php:82 +#: templates/index.php:110 msgid "Files are being scanned, please wait." msgstr "" -#: templates/index.php:85 +#: templates/index.php:113 msgid "Current scanning" msgstr "" diff --git a/l10n/ar/files_encryption.po b/l10n/ar/files_encryption.po index 18f508df5b4a09720e00bbdc0d33914bb7178cb3..1d2de3d76f25f02ec56327c1e6cd898ee02b90b8 100644 --- a/l10n/ar/files_encryption.po +++ b/l10n/ar/files_encryption.po @@ -3,32 +3,33 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:33+0000\n" -"Last-Translator: FULL NAME \n" +"POT-Creation-Date: 2012-11-13 00:05+0100\n" +"PO-Revision-Date: 2012-11-12 13:20+0000\n" +"Last-Translator: TYMAH \n" "Language-Team: Arabic (http://www.transifex.com/projects/p/owncloud/language/ar/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: ar\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" +"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" #: templates/settings.php:3 msgid "Encryption" -msgstr "" +msgstr "التشفير" #: templates/settings.php:4 msgid "Exclude the following file types from encryption" -msgstr "" +msgstr "استبعد أنواع الملفات التالية من التشفير" #: templates/settings.php:5 msgid "None" -msgstr "" +msgstr "لا شيء" #: templates/settings.php:10 msgid "Enable Encryption" -msgstr "" +msgstr "تفعيل التشفير" diff --git a/l10n/ar/files_external.po b/l10n/ar/files_external.po index 3d3199bfb81ba58918b0a49b71681f77736ce64d..2a0ec9bd5e4a1f431dd130dbb0e2a9e19b5ee0f9 100644 --- a/l10n/ar/files_external.po +++ b/l10n/ar/files_external.po @@ -7,9 +7,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-02 23:16+0200\n" -"PO-Revision-Date: 2012-10-02 21:17+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-12-12 00:12+0100\n" +"PO-Revision-Date: 2012-12-11 23:13+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Arabic (http://www.transifex.com/projects/p/owncloud/language/ar/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -41,66 +41,80 @@ msgstr "" msgid "Error configuring Google Drive storage" msgstr "" +#: lib/config.php:434 +msgid "" +"Warning: \"smbclient\" is not installed. Mounting of CIFS/SMB shares " +"is not possible. Please ask your system administrator to install it." +msgstr "" + +#: lib/config.php:435 +msgid "" +"Warning: The FTP support in PHP is not enabled or installed. Mounting" +" of FTP shares is not possible. Please ask your system administrator to " +"install it." +msgstr "" + #: templates/settings.php:3 msgid "External Storage" msgstr "" -#: templates/settings.php:7 templates/settings.php:19 +#: templates/settings.php:8 templates/settings.php:22 msgid "Mount point" msgstr "" -#: templates/settings.php:8 +#: templates/settings.php:9 msgid "Backend" msgstr "" -#: templates/settings.php:9 +#: templates/settings.php:10 msgid "Configuration" msgstr "" -#: templates/settings.php:10 +#: templates/settings.php:11 msgid "Options" msgstr "" -#: templates/settings.php:11 +#: templates/settings.php:12 msgid "Applicable" msgstr "" -#: templates/settings.php:23 +#: templates/settings.php:27 msgid "Add mount point" msgstr "" -#: templates/settings.php:54 templates/settings.php:62 +#: templates/settings.php:85 msgid "None set" msgstr "" -#: templates/settings.php:63 +#: templates/settings.php:86 msgid "All Users" msgstr "" -#: templates/settings.php:64 +#: templates/settings.php:87 msgid "Groups" msgstr "" -#: templates/settings.php:69 +#: templates/settings.php:95 msgid "Users" msgstr "" -#: templates/settings.php:77 templates/settings.php:107 +#: templates/settings.php:108 templates/settings.php:109 +#: templates/settings.php:149 templates/settings.php:150 msgid "Delete" msgstr "" -#: templates/settings.php:87 +#: templates/settings.php:124 msgid "Enable User External Storage" msgstr "" -#: templates/settings.php:88 +#: templates/settings.php:125 msgid "Allow users to mount their own external storage" msgstr "" -#: templates/settings.php:99 +#: templates/settings.php:139 msgid "SSL root certificates" msgstr "" -#: templates/settings.php:113 +#: templates/settings.php:158 msgid "Import Root Certificate" msgstr "" diff --git a/l10n/ar/files_pdfviewer.po b/l10n/ar/files_pdfviewer.po deleted file mode 100644 index 91492d720c39bde7d5c8b159a6fc247c9516b31e..0000000000000000000000000000000000000000 --- a/l10n/ar/files_pdfviewer.po +++ /dev/null @@ -1,42 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 02:18+0200\n" -"PO-Revision-Date: 2012-08-26 00:19+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Arabic (http://www.transifex.com/projects/p/owncloud/language/ar/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ar\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" - -#: js/viewer.js:22 -msgid "Previous" -msgstr "" - -#: js/viewer.js:23 -msgid "Next" -msgstr "" - -#: js/viewer.js:29 -msgid "Page Width" -msgstr "" - -#: js/viewer.js:29 -msgid "Page Fit" -msgstr "" - -#: js/viewer.js:30 -msgid "Print" -msgstr "" - -#: js/viewer.js:32 -msgid "Download" -msgstr "" diff --git a/l10n/ar/files_texteditor.po b/l10n/ar/files_texteditor.po deleted file mode 100644 index ed1f96fd6c30e0d142bc98245d13e19adbd23485..0000000000000000000000000000000000000000 --- a/l10n/ar/files_texteditor.po +++ /dev/null @@ -1,44 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 01:17+0200\n" -"PO-Revision-Date: 2012-08-25 23:18+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Arabic (http://www.transifex.com/projects/p/owncloud/language/ar/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ar\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" - -#: js/aceeditor/mode-coldfusion-uncompressed.js:1568 -#: js/aceeditor/mode-liquid-uncompressed.js:902 -#: js/aceeditor/mode-svg-uncompressed.js:1575 -msgid "regex" -msgstr "" - -#: js/editor.js:72 js/editor.js:156 js/editor.js:163 -msgid "Save" -msgstr "" - -#: js/editor.js:74 -msgid "Close" -msgstr "" - -#: js/editor.js:149 -msgid "Saving..." -msgstr "" - -#: js/editor.js:239 -msgid "An error occurred!" -msgstr "" - -#: js/editor.js:266 -msgid "There were unsaved changes, click here to go back" -msgstr "" diff --git a/l10n/ar/gallery.po b/l10n/ar/gallery.po deleted file mode 100644 index ad8e0279b35bdc7d99e0e69f902fe46f764a1dc0..0000000000000000000000000000000000000000 --- a/l10n/ar/gallery.po +++ /dev/null @@ -1,95 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-06-06 00:12+0200\n" -"PO-Revision-Date: 2012-06-05 22:15+0000\n" -"Last-Translator: icewind \n" -"Language-Team: Arabic (http://www.transifex.net/projects/p/owncloud/language/ar/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ar\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" - -#: appinfo/app.php:37 -msgid "Pictures" -msgstr "" - -#: js/album_cover.js:44 -msgid "Share gallery" -msgstr "" - -#: js/album_cover.js:64 js/album_cover.js:100 js/album_cover.js:133 -msgid "Error: " -msgstr "" - -#: js/album_cover.js:64 js/album_cover.js:100 -msgid "Internal error" -msgstr "" - -#: js/album_cover.js:114 -msgid "Scanning root" -msgstr "" - -#: js/album_cover.js:115 -msgid "Default order" -msgstr "" - -#: js/album_cover.js:116 -msgid "Ascending" -msgstr "" - -#: js/album_cover.js:116 -msgid "Descending" -msgstr "" - -#: js/album_cover.js:117 templates/index.php:19 -msgid "Settings" -msgstr "" - -#: js/album_cover.js:122 -msgid "Scanning root cannot be empty" -msgstr "" - -#: js/album_cover.js:122 js/album_cover.js:133 -msgid "Error" -msgstr "" - -#: templates/index.php:16 -msgid "Rescan" -msgstr "اعادة البحث" - -#: templates/index.php:17 -msgid "Stop" -msgstr "" - -#: templates/index.php:18 -msgid "Share" -msgstr "" - -#: templates/view_album.php:19 -msgid "Back" -msgstr "رجوع" - -#: templates/view_album.php:36 -msgid "Remove confirmation" -msgstr "" - -#: templates/view_album.php:37 -msgid "Do you want to remove album" -msgstr "" - -#: templates/view_album.php:40 -msgid "Change album name" -msgstr "" - -#: templates/view_album.php:43 -msgid "New album name" -msgstr "" diff --git a/l10n/ar/impress.po b/l10n/ar/impress.po deleted file mode 100644 index 5bbc9f2fbc1394d3cae1e8af8003cff2bcd592cd..0000000000000000000000000000000000000000 --- a/l10n/ar/impress.po +++ /dev/null @@ -1,22 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 01:17+0200\n" -"PO-Revision-Date: 2012-08-25 23:18+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Arabic (http://www.transifex.com/projects/p/owncloud/language/ar/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ar\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" - -#: templates/presentations.php:7 -msgid "Documentation" -msgstr "" diff --git a/l10n/ar/lib.po b/l10n/ar/lib.po index 562af94ac63701e384854036de1851b87ec64695..fc9b90e3d69d4fe3cca5f230d14ed3241f69caef 100644 --- a/l10n/ar/lib.po +++ b/l10n/ar/lib.po @@ -7,53 +7,53 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-09-01 02:01+0200\n" -"PO-Revision-Date: 2012-09-01 00:02+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-11-16 00:02+0100\n" +"PO-Revision-Date: 2012-11-14 23:13+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Arabic (http://www.transifex.com/projects/p/owncloud/language/ar/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: ar\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" +"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" -#: app.php:288 +#: app.php:285 msgid "Help" -msgstr "" +msgstr "المساعدة" -#: app.php:295 +#: app.php:292 msgid "Personal" -msgstr "" +msgstr "شخصي" -#: app.php:300 +#: app.php:297 msgid "Settings" -msgstr "" +msgstr "تعديلات" -#: app.php:305 +#: app.php:302 msgid "Users" -msgstr "" +msgstr "المستخدمين" -#: app.php:312 +#: app.php:309 msgid "Apps" msgstr "" -#: app.php:314 +#: app.php:311 msgid "Admin" msgstr "" -#: files.php:280 +#: files.php:332 msgid "ZIP download is turned off." msgstr "" -#: files.php:281 +#: files.php:333 msgid "Files need to be downloaded one by one." msgstr "" -#: files.php:281 files.php:306 +#: files.php:333 files.php:358 msgid "Back to Files" msgstr "" -#: files.php:305 +#: files.php:357 msgid "Selected files too large to generate zip file." msgstr "" @@ -61,65 +61,92 @@ msgstr "" msgid "Application is not enabled" msgstr "" -#: json.php:39 json.php:63 json.php:75 +#: json.php:39 json.php:64 json.php:77 json.php:89 msgid "Authentication error" -msgstr "" +msgstr "لم يتم التأكد من الشخصية بنجاح" #: json.php:51 msgid "Token expired. Please reload page." msgstr "" -#: template.php:86 +#: search/provider/file.php:17 search/provider/file.php:35 +msgid "Files" +msgstr "الملفات" + +#: search/provider/file.php:26 search/provider/file.php:33 +msgid "Text" +msgstr "معلومات إضافية" + +#: search/provider/file.php:29 +msgid "Images" +msgstr "" + +#: template.php:103 msgid "seconds ago" msgstr "" -#: template.php:87 +#: template.php:104 msgid "1 minute ago" msgstr "" -#: template.php:88 +#: template.php:105 #, php-format msgid "%d minutes ago" msgstr "" -#: template.php:91 +#: template.php:106 +msgid "1 hour ago" +msgstr "" + +#: template.php:107 +#, php-format +msgid "%d hours ago" +msgstr "" + +#: template.php:108 msgid "today" msgstr "" -#: template.php:92 +#: template.php:109 msgid "yesterday" msgstr "" -#: template.php:93 +#: template.php:110 #, php-format msgid "%d days ago" msgstr "" -#: template.php:94 +#: template.php:111 msgid "last month" msgstr "" -#: template.php:95 -msgid "months ago" +#: template.php:112 +#, php-format +msgid "%d months ago" msgstr "" -#: template.php:96 +#: template.php:113 msgid "last year" msgstr "" -#: template.php:97 +#: template.php:114 msgid "years ago" msgstr "" -#: updater.php:66 +#: updater.php:75 #, php-format msgid "%s is available. Get more information" msgstr "" -#: updater.php:68 +#: updater.php:77 msgid "up to date" msgstr "" -#: updater.php:71 +#: updater.php:80 msgid "updates check is disabled" msgstr "" + +#: vcategories.php:188 vcategories.php:249 +#, php-format +msgid "Could not find category \"%s\"" +msgstr "" diff --git a/l10n/ar/media.po b/l10n/ar/media.po deleted file mode 100644 index b72ad0a3ec11ec3d4df1e9b0a8a473d9a54276ad..0000000000000000000000000000000000000000 --- a/l10n/ar/media.po +++ /dev/null @@ -1,67 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# , 2011, 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-24 02:02+0200\n" -"PO-Revision-Date: 2012-08-23 09:27+0000\n" -"Last-Translator: blackcoder \n" -"Language-Team: Arabic (http://www.transifex.com/projects/p/owncloud/language/ar/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ar\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" - -#: appinfo/app.php:45 templates/player.php:8 -msgid "Music" -msgstr "الموسيقى" - -#: js/music.js:18 -msgid "Add album to playlist" -msgstr "أضف الالبوم الى القائمه" - -#: templates/music.php:3 templates/player.php:12 -msgid "Play" -msgstr "إلعب" - -#: templates/music.php:4 templates/music.php:26 templates/player.php:13 -msgid "Pause" -msgstr "تجميد" - -#: templates/music.php:5 -msgid "Previous" -msgstr "السابق" - -#: templates/music.php:6 templates/player.php:14 -msgid "Next" -msgstr "التالي" - -#: templates/music.php:7 -msgid "Mute" -msgstr "إلغاء الصوت" - -#: templates/music.php:8 -msgid "Unmute" -msgstr "تشغيل الصوت" - -#: templates/music.php:25 -msgid "Rescan Collection" -msgstr "إعادة البحث عن ملفات الموسيقى" - -#: templates/music.php:37 -msgid "Artist" -msgstr "الفنان" - -#: templates/music.php:38 -msgid "Album" -msgstr "الألبوم" - -#: templates/music.php:39 -msgid "Title" -msgstr "العنوان" diff --git a/l10n/ar/settings.po b/l10n/ar/settings.po index ebaf57acc9f1baab2959f5b3d09d23216356aaad..e84963aded2b24e00931652c88f0a3184ebb33bc 100644 --- a/l10n/ar/settings.po +++ b/l10n/ar/settings.po @@ -9,9 +9,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-09 02:03+0200\n" -"PO-Revision-Date: 2012-10-09 00:04+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-12-03 00:04+0100\n" +"PO-Revision-Date: 2012-12-02 03:18+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Arabic (http://www.transifex.com/projects/p/owncloud/language/ar/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -19,168 +19,84 @@ msgstr "" "Language: ar\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" -#: ajax/apps/ocs.php:23 +#: ajax/apps/ocs.php:20 msgid "Unable to load list from App Store" msgstr "" -#: ajax/creategroup.php:9 ajax/removeuser.php:13 ajax/setquota.php:18 -#: ajax/togglegroups.php:15 -msgid "Authentication error" -msgstr "" - -#: ajax/creategroup.php:19 +#: ajax/creategroup.php:10 msgid "Group already exists" msgstr "" -#: ajax/creategroup.php:28 +#: ajax/creategroup.php:19 msgid "Unable to add group" msgstr "" -#: ajax/enableapp.php:14 +#: ajax/enableapp.php:12 msgid "Could not enable app. " msgstr "" -#: ajax/lostpassword.php:14 +#: ajax/lostpassword.php:12 msgid "Email saved" msgstr "" -#: ajax/lostpassword.php:16 +#: ajax/lostpassword.php:14 msgid "Invalid email" msgstr "" -#: ajax/openid.php:16 +#: ajax/openid.php:13 msgid "OpenID Changed" msgstr "تم تغيير ال OpenID" -#: ajax/openid.php:18 ajax/setlanguage.php:20 ajax/setlanguage.php:23 +#: ajax/openid.php:15 ajax/setlanguage.php:17 ajax/setlanguage.php:20 msgid "Invalid request" msgstr "طلبك غير مفهوم" -#: ajax/removegroup.php:16 +#: ajax/removegroup.php:13 msgid "Unable to delete group" msgstr "" -#: ajax/removeuser.php:22 +#: ajax/removeuser.php:15 ajax/setquota.php:15 ajax/togglegroups.php:18 +msgid "Authentication error" +msgstr "لم يتم التأكد من الشخصية بنجاح" + +#: ajax/removeuser.php:24 msgid "Unable to delete user" msgstr "" -#: ajax/setlanguage.php:18 +#: ajax/setlanguage.php:15 msgid "Language changed" msgstr "تم تغيير اللغة" -#: ajax/togglegroups.php:25 +#: ajax/togglegroups.php:12 +msgid "Admins can't remove themself from the admin group" +msgstr "" + +#: ajax/togglegroups.php:28 #, php-format msgid "Unable to add user to group %s" msgstr "" -#: ajax/togglegroups.php:31 +#: ajax/togglegroups.php:34 #, php-format msgid "Unable to remove user from group %s" msgstr "" -#: js/apps.js:28 js/apps.js:65 +#: js/apps.js:28 js/apps.js:67 msgid "Disable" msgstr "" -#: js/apps.js:28 js/apps.js:54 +#: js/apps.js:28 js/apps.js:55 msgid "Enable" msgstr "" #: js/personal.js:69 msgid "Saving..." -msgstr "" +msgstr "حفظ" -#: personal.php:47 personal.php:48 +#: personal.php:42 personal.php:43 msgid "__language_name__" msgstr "__language_name__" -#: templates/admin.php:14 -msgid "Security Warning" -msgstr "" - -#: templates/admin.php:17 -msgid "" -"Your data directory and your files are probably accessible from the " -"internet. The .htaccess file that ownCloud provides is not working. We " -"strongly suggest that you configure your webserver in a way that the data " -"directory is no longer accessible or you move the data directory outside the" -" webserver document root." -msgstr "" - -#: templates/admin.php:31 -msgid "Cron" -msgstr "" - -#: templates/admin.php:37 -msgid "Execute one task with each page loaded" -msgstr "" - -#: templates/admin.php:43 -msgid "" -"cron.php is registered at a webcron service. Call the cron.php page in the " -"owncloud root once a minute over http." -msgstr "" - -#: templates/admin.php:49 -msgid "" -"Use systems cron service. Call the cron.php file in the owncloud folder via " -"a system cronjob once a minute." -msgstr "" - -#: templates/admin.php:56 -msgid "Sharing" -msgstr "" - -#: templates/admin.php:61 -msgid "Enable Share API" -msgstr "" - -#: templates/admin.php:62 -msgid "Allow apps to use the Share API" -msgstr "" - -#: templates/admin.php:67 -msgid "Allow links" -msgstr "" - -#: templates/admin.php:68 -msgid "Allow users to share items to the public with links" -msgstr "" - -#: templates/admin.php:73 -msgid "Allow resharing" -msgstr "" - -#: templates/admin.php:74 -msgid "Allow users to share items shared with them again" -msgstr "" - -#: templates/admin.php:79 -msgid "Allow users to share with anyone" -msgstr "" - -#: templates/admin.php:81 -msgid "Allow users to only share with users in their groups" -msgstr "" - -#: templates/admin.php:88 -msgid "Log" -msgstr "" - -#: templates/admin.php:116 -msgid "More" -msgstr "" - -#: templates/admin.php:124 -msgid "" -"Developed by the ownCloud community, the source code is " -"licensed under the AGPL." -msgstr "" - #: templates/apps.php:10 msgid "Add your App" msgstr "" @@ -203,7 +119,7 @@ msgstr "" #: templates/help.php:9 msgid "Documentation" -msgstr "" +msgstr "التوثيق" #: templates/help.php:10 msgid "Managing Big Files" @@ -213,21 +129,21 @@ msgstr "" msgid "Ask a question" msgstr "إسأل سؤال" -#: templates/help.php:23 +#: templates/help.php:22 msgid "Problems connecting to help database." msgstr "الاتصال بقاعدة بيانات المساعدة لم يتم بنجاح" -#: templates/help.php:24 +#: templates/help.php:23 msgid "Go there manually." msgstr "إذهب هنالك بنفسك" -#: templates/help.php:32 +#: templates/help.php:31 msgid "Answer" msgstr "الجواب" #: templates/personal.php:8 #, php-format -msgid "You have used %s of the available %s" +msgid "You have used %s of the available %s" msgstr "" #: templates/personal.php:12 @@ -236,7 +152,7 @@ msgstr "" #: templates/personal.php:13 msgid "Download" -msgstr "" +msgstr "انزال" #: templates/personal.php:19 msgid "Your password was changed" @@ -286,6 +202,16 @@ msgstr "ساعد في الترجمه" msgid "use this address to connect to your ownCloud in your file manager" msgstr "إستخدم هذا العنوان للإتصال ب ownCloud داخل نظام الملفات " +#: templates/personal.php:61 +msgid "" +"Developed by the ownCloud community, the source code is " +"licensed under the AGPL." +msgstr "" + #: templates/users.php:21 templates/users.php:76 msgid "Name" msgstr "الاسم" @@ -308,7 +234,7 @@ msgstr "" #: templates/users.php:55 templates/users.php:138 msgid "Other" -msgstr "" +msgstr "شيء آخر" #: templates/users.php:80 templates/users.php:112 msgid "Group Admin" diff --git a/l10n/ar/tasks.po b/l10n/ar/tasks.po deleted file mode 100644 index baa311388ff5b76ed4679aafe4b1b150159383c9..0000000000000000000000000000000000000000 --- a/l10n/ar/tasks.po +++ /dev/null @@ -1,106 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:44+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Arabic (http://www.transifex.com/projects/p/owncloud/language/ar/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ar\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" - -#: ajax/update_property.php:51 lib/app.php:89 lib/app.php:101 -msgid "Invalid date/time" -msgstr "" - -#: appinfo/app.php:11 -msgid "Tasks" -msgstr "" - -#: js/tasks.js:415 -msgid "No category" -msgstr "" - -#: lib/app.php:33 -msgid "Unspecified" -msgstr "" - -#: lib/app.php:34 -msgid "1=highest" -msgstr "" - -#: lib/app.php:38 -msgid "5=medium" -msgstr "" - -#: lib/app.php:42 -msgid "9=lowest" -msgstr "" - -#: lib/app.php:81 -msgid "Empty Summary" -msgstr "" - -#: lib/app.php:93 -msgid "Invalid percent complete" -msgstr "" - -#: lib/app.php:107 -msgid "Invalid priority" -msgstr "" - -#: templates/tasks.php:3 -msgid "Add Task" -msgstr "" - -#: templates/tasks.php:4 -msgid "Order Due" -msgstr "" - -#: templates/tasks.php:5 -msgid "Order List" -msgstr "" - -#: templates/tasks.php:6 -msgid "Order Complete" -msgstr "" - -#: templates/tasks.php:7 -msgid "Order Location" -msgstr "" - -#: templates/tasks.php:8 -msgid "Order Priority" -msgstr "" - -#: templates/tasks.php:9 -msgid "Order Label" -msgstr "" - -#: templates/tasks.php:16 -msgid "Loading tasks..." -msgstr "" - -#: templates/tasks.php:20 -msgid "Important" -msgstr "" - -#: templates/tasks.php:23 -msgid "More" -msgstr "" - -#: templates/tasks.php:26 -msgid "Less" -msgstr "" - -#: templates/tasks.php:29 -msgid "Delete" -msgstr "" diff --git a/l10n/ar/user_migrate.po b/l10n/ar/user_migrate.po deleted file mode 100644 index 6a29ae80a3dd49175b324995d291d8968acf360f..0000000000000000000000000000000000000000 --- a/l10n/ar/user_migrate.po +++ /dev/null @@ -1,51 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:45+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Arabic (http://www.transifex.com/projects/p/owncloud/language/ar/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ar\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" - -#: js/export.js:14 js/export.js:20 -msgid "Export" -msgstr "" - -#: js/export.js:19 -msgid "Something went wrong while the export file was being generated" -msgstr "" - -#: js/export.js:19 -msgid "An error has occurred" -msgstr "" - -#: templates/settings.php:2 -msgid "Export your user account" -msgstr "" - -#: templates/settings.php:3 -msgid "" -"This will create a compressed file that contains your ownCloud account." -msgstr "" - -#: templates/settings.php:13 -msgid "Import user account" -msgstr "" - -#: templates/settings.php:15 -msgid "ownCloud User Zip" -msgstr "" - -#: templates/settings.php:17 -msgid "Import" -msgstr "" diff --git a/l10n/ar/user_openid.po b/l10n/ar/user_openid.po deleted file mode 100644 index 7063958b17353ced2fe57ebbcbd7968027d0d2dc..0000000000000000000000000000000000000000 --- a/l10n/ar/user_openid.po +++ /dev/null @@ -1,54 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:45+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Arabic (http://www.transifex.com/projects/p/owncloud/language/ar/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ar\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" - -#: templates/nomode.php:12 -msgid "This is an OpenID server endpoint. For more information, see " -msgstr "" - -#: templates/nomode.php:14 -msgid "Identity: " -msgstr "" - -#: templates/nomode.php:15 -msgid "Realm: " -msgstr "" - -#: templates/nomode.php:16 -msgid "User: " -msgstr "" - -#: templates/nomode.php:17 -msgid "Login" -msgstr "" - -#: templates/nomode.php:22 -msgid "Error: No user Selected" -msgstr "" - -#: templates/settings.php:4 -msgid "you can authenticate to other sites with this address" -msgstr "" - -#: templates/settings.php:5 -msgid "Authorized OpenID provider" -msgstr "" - -#: templates/settings.php:6 -msgid "Your address at Wordpress, Identi.ca, …" -msgstr "" diff --git a/l10n/ar/files_odfviewer.po b/l10n/ar/user_webdavauth.po similarity index 62% rename from l10n/ar/files_odfviewer.po rename to l10n/ar/user_webdavauth.po index 75c766b017b41575f4a235dd129d3271b7798b30..dcf1788ab57e023c2d0cd90718789e2439af434c 100644 --- a/l10n/ar/files_odfviewer.po +++ b/l10n/ar/user_webdavauth.po @@ -3,20 +3,21 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 02:18+0200\n" -"PO-Revision-Date: 2012-08-26 00:19+0000\n" -"Last-Translator: FULL NAME \n" +"POT-Creation-Date: 2012-11-13 00:05+0100\n" +"PO-Revision-Date: 2012-11-12 13:18+0000\n" +"Last-Translator: TYMAH \n" "Language-Team: Arabic (http://www.transifex.com/projects/p/owncloud/language/ar/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: ar\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" +"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" -#: js/viewer.js:9 -msgid "Close" -msgstr "" +#: templates/settings.php:4 +msgid "WebDAV URL: http://" +msgstr "WebDAV URL: http://" diff --git a/l10n/ar_SA/admin_dependencies_chk.po b/l10n/ar_SA/admin_dependencies_chk.po deleted file mode 100644 index defa48d8f6f7ff051d4cf915e5f6d3ce057fa858..0000000000000000000000000000000000000000 --- a/l10n/ar_SA/admin_dependencies_chk.po +++ /dev/null @@ -1,73 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:33+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Arabic (Saudi Arabia) (http://www.transifex.com/projects/p/owncloud/language/ar_SA/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ar_SA\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: settings.php:33 -msgid "" -"The php-json module is needed by the many applications for inter " -"communications" -msgstr "" - -#: settings.php:39 -msgid "" -"The php-curl modude is needed to fetch the page title when adding a " -"bookmarks" -msgstr "" - -#: settings.php:45 -msgid "The php-gd module is needed to create thumbnails of your images" -msgstr "" - -#: settings.php:51 -msgid "The php-ldap module is needed connect to your ldap server" -msgstr "" - -#: settings.php:57 -msgid "The php-zip module is needed download multiple files at once" -msgstr "" - -#: settings.php:63 -msgid "" -"The php-mb_multibyte module is needed to manage correctly the encoding." -msgstr "" - -#: settings.php:69 -msgid "The php-ctype module is needed validate data." -msgstr "" - -#: settings.php:75 -msgid "The php-xml module is needed to share files with webdav." -msgstr "" - -#: settings.php:81 -msgid "" -"The allow_url_fopen directive of your php.ini should be set to 1 to retrieve" -" knowledge base from OCS servers" -msgstr "" - -#: settings.php:87 -msgid "The php-pdo module is needed to store owncloud data into a database." -msgstr "" - -#: templates/settings.php:2 -msgid "Dependencies status" -msgstr "" - -#: templates/settings.php:7 -msgid "Used by :" -msgstr "" diff --git a/l10n/ar_SA/admin_migrate.po b/l10n/ar_SA/admin_migrate.po deleted file mode 100644 index 04ac5b2dfb18b7439f2d7a9ccc8fd3b6140b2d71..0000000000000000000000000000000000000000 --- a/l10n/ar_SA/admin_migrate.po +++ /dev/null @@ -1,32 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:32+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Arabic (Saudi Arabia) (http://www.transifex.com/projects/p/owncloud/language/ar_SA/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ar_SA\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: templates/settings.php:3 -msgid "Export this ownCloud instance" -msgstr "" - -#: templates/settings.php:4 -msgid "" -"This will create a compressed file that contains the data of this owncloud instance.\n" -" Please choose the export type:" -msgstr "" - -#: templates/settings.php:12 -msgid "Export" -msgstr "" diff --git a/l10n/ar_SA/bookmarks.po b/l10n/ar_SA/bookmarks.po deleted file mode 100644 index 476c475f4605662f4a38bf1923458b49608da5e5..0000000000000000000000000000000000000000 --- a/l10n/ar_SA/bookmarks.po +++ /dev/null @@ -1,60 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-07-28 02:02+0200\n" -"PO-Revision-Date: 2012-07-27 22:17+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Arabic (Saudi Arabia) (http://www.transifex.com/projects/p/owncloud/language/ar_SA/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ar_SA\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: appinfo/app.php:14 -msgid "Bookmarks" -msgstr "" - -#: bookmarksHelper.php:99 -msgid "unnamed" -msgstr "" - -#: templates/bookmarklet.php:5 -msgid "" -"Drag this to your browser bookmarks and click it, when you want to bookmark " -"a webpage quickly:" -msgstr "" - -#: templates/bookmarklet.php:7 -msgid "Read later" -msgstr "" - -#: templates/list.php:13 -msgid "Address" -msgstr "" - -#: templates/list.php:14 -msgid "Title" -msgstr "" - -#: templates/list.php:15 -msgid "Tags" -msgstr "" - -#: templates/list.php:16 -msgid "Save bookmark" -msgstr "" - -#: templates/list.php:22 -msgid "You have no bookmarks" -msgstr "" - -#: templates/settings.php:11 -msgid "Bookmarklet
" -msgstr "" diff --git a/l10n/ar_SA/calendar.po b/l10n/ar_SA/calendar.po deleted file mode 100644 index 8229289fd361457e13bed1adc70ad94e2265e40c..0000000000000000000000000000000000000000 --- a/l10n/ar_SA/calendar.po +++ /dev/null @@ -1,813 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-11 02:02+0200\n" -"PO-Revision-Date: 2012-08-11 00:02+0000\n" -"Last-Translator: owncloud_robot \n" -"Language-Team: Arabic (Saudi Arabia) (http://www.transifex.com/projects/p/owncloud/language/ar_SA/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ar_SA\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: ajax/cache/status.php:19 -msgid "Not all calendars are completely cached" -msgstr "" - -#: ajax/cache/status.php:21 -msgid "Everything seems to be completely cached" -msgstr "" - -#: ajax/categories/rescan.php:29 -msgid "No calendars found." -msgstr "" - -#: ajax/categories/rescan.php:37 -msgid "No events found." -msgstr "" - -#: ajax/event/edit.form.php:20 -msgid "Wrong calendar" -msgstr "" - -#: ajax/import/dropimport.php:29 ajax/import/import.php:64 -msgid "" -"The file contained either no events or all events are already saved in your " -"calendar." -msgstr "" - -#: ajax/import/dropimport.php:31 ajax/import/import.php:67 -msgid "events has been saved in the new calendar" -msgstr "" - -#: ajax/import/import.php:56 -msgid "Import failed" -msgstr "" - -#: ajax/import/import.php:69 -msgid "events has been saved in your calendar" -msgstr "" - -#: ajax/settings/guesstimezone.php:25 -msgid "New Timezone:" -msgstr "" - -#: ajax/settings/settimezone.php:23 -msgid "Timezone changed" -msgstr "" - -#: ajax/settings/settimezone.php:25 -msgid "Invalid request" -msgstr "" - -#: appinfo/app.php:35 templates/calendar.php:15 -#: templates/part.eventform.php:33 templates/part.showevent.php:33 -msgid "Calendar" -msgstr "" - -#: js/calendar.js:832 -msgid "ddd" -msgstr "" - -#: js/calendar.js:833 -msgid "ddd M/d" -msgstr "" - -#: js/calendar.js:834 -msgid "dddd M/d" -msgstr "" - -#: js/calendar.js:837 -msgid "MMMM yyyy" -msgstr "" - -#: js/calendar.js:839 -msgid "MMM d[ yyyy]{ '—'[ MMM] d yyyy}" -msgstr "" - -#: js/calendar.js:841 -msgid "dddd, MMM d, yyyy" -msgstr "" - -#: lib/app.php:121 -msgid "Birthday" -msgstr "" - -#: lib/app.php:122 -msgid "Business" -msgstr "" - -#: lib/app.php:123 -msgid "Call" -msgstr "" - -#: lib/app.php:124 -msgid "Clients" -msgstr "" - -#: lib/app.php:125 -msgid "Deliverer" -msgstr "" - -#: lib/app.php:126 -msgid "Holidays" -msgstr "" - -#: lib/app.php:127 -msgid "Ideas" -msgstr "" - -#: lib/app.php:128 -msgid "Journey" -msgstr "" - -#: lib/app.php:129 -msgid "Jubilee" -msgstr "" - -#: lib/app.php:130 -msgid "Meeting" -msgstr "" - -#: lib/app.php:131 -msgid "Other" -msgstr "" - -#: lib/app.php:132 -msgid "Personal" -msgstr "" - -#: lib/app.php:133 -msgid "Projects" -msgstr "" - -#: lib/app.php:134 -msgid "Questions" -msgstr "" - -#: lib/app.php:135 -msgid "Work" -msgstr "" - -#: lib/app.php:351 lib/app.php:361 -msgid "by" -msgstr "" - -#: lib/app.php:359 lib/app.php:399 -msgid "unnamed" -msgstr "" - -#: lib/import.php:184 templates/calendar.php:12 -#: templates/part.choosecalendar.php:22 -msgid "New Calendar" -msgstr "" - -#: lib/object.php:372 -msgid "Does not repeat" -msgstr "" - -#: lib/object.php:373 -msgid "Daily" -msgstr "" - -#: lib/object.php:374 -msgid "Weekly" -msgstr "" - -#: lib/object.php:375 -msgid "Every Weekday" -msgstr "" - -#: lib/object.php:376 -msgid "Bi-Weekly" -msgstr "" - -#: lib/object.php:377 -msgid "Monthly" -msgstr "" - -#: lib/object.php:378 -msgid "Yearly" -msgstr "" - -#: lib/object.php:388 -msgid "never" -msgstr "" - -#: lib/object.php:389 -msgid "by occurrences" -msgstr "" - -#: lib/object.php:390 -msgid "by date" -msgstr "" - -#: lib/object.php:400 -msgid "by monthday" -msgstr "" - -#: lib/object.php:401 -msgid "by weekday" -msgstr "" - -#: lib/object.php:411 templates/calendar.php:5 templates/settings.php:69 -msgid "Monday" -msgstr "" - -#: lib/object.php:412 templates/calendar.php:5 -msgid "Tuesday" -msgstr "" - -#: lib/object.php:413 templates/calendar.php:5 -msgid "Wednesday" -msgstr "" - -#: lib/object.php:414 templates/calendar.php:5 -msgid "Thursday" -msgstr "" - -#: lib/object.php:415 templates/calendar.php:5 -msgid "Friday" -msgstr "" - -#: lib/object.php:416 templates/calendar.php:5 -msgid "Saturday" -msgstr "" - -#: lib/object.php:417 templates/calendar.php:5 templates/settings.php:70 -msgid "Sunday" -msgstr "" - -#: lib/object.php:427 -msgid "events week of month" -msgstr "" - -#: lib/object.php:428 -msgid "first" -msgstr "" - -#: lib/object.php:429 -msgid "second" -msgstr "" - -#: lib/object.php:430 -msgid "third" -msgstr "" - -#: lib/object.php:431 -msgid "fourth" -msgstr "" - -#: lib/object.php:432 -msgid "fifth" -msgstr "" - -#: lib/object.php:433 -msgid "last" -msgstr "" - -#: lib/object.php:467 templates/calendar.php:7 -msgid "January" -msgstr "" - -#: lib/object.php:468 templates/calendar.php:7 -msgid "February" -msgstr "" - -#: lib/object.php:469 templates/calendar.php:7 -msgid "March" -msgstr "" - -#: lib/object.php:470 templates/calendar.php:7 -msgid "April" -msgstr "" - -#: lib/object.php:471 templates/calendar.php:7 -msgid "May" -msgstr "" - -#: lib/object.php:472 templates/calendar.php:7 -msgid "June" -msgstr "" - -#: lib/object.php:473 templates/calendar.php:7 -msgid "July" -msgstr "" - -#: lib/object.php:474 templates/calendar.php:7 -msgid "August" -msgstr "" - -#: lib/object.php:475 templates/calendar.php:7 -msgid "September" -msgstr "" - -#: lib/object.php:476 templates/calendar.php:7 -msgid "October" -msgstr "" - -#: lib/object.php:477 templates/calendar.php:7 -msgid "November" -msgstr "" - -#: lib/object.php:478 templates/calendar.php:7 -msgid "December" -msgstr "" - -#: lib/object.php:488 -msgid "by events date" -msgstr "" - -#: lib/object.php:489 -msgid "by yearday(s)" -msgstr "" - -#: lib/object.php:490 -msgid "by weeknumber(s)" -msgstr "" - -#: lib/object.php:491 -msgid "by day and month" -msgstr "" - -#: lib/search.php:35 lib/search.php:37 lib/search.php:40 -msgid "Date" -msgstr "" - -#: lib/search.php:43 -msgid "Cal." -msgstr "" - -#: templates/calendar.php:6 -msgid "Sun." -msgstr "" - -#: templates/calendar.php:6 -msgid "Mon." -msgstr "" - -#: templates/calendar.php:6 -msgid "Tue." -msgstr "" - -#: templates/calendar.php:6 -msgid "Wed." -msgstr "" - -#: templates/calendar.php:6 -msgid "Thu." -msgstr "" - -#: templates/calendar.php:6 -msgid "Fri." -msgstr "" - -#: templates/calendar.php:6 -msgid "Sat." -msgstr "" - -#: templates/calendar.php:8 -msgid "Jan." -msgstr "" - -#: templates/calendar.php:8 -msgid "Feb." -msgstr "" - -#: templates/calendar.php:8 -msgid "Mar." -msgstr "" - -#: templates/calendar.php:8 -msgid "Apr." -msgstr "" - -#: templates/calendar.php:8 -msgid "May." -msgstr "" - -#: templates/calendar.php:8 -msgid "Jun." -msgstr "" - -#: templates/calendar.php:8 -msgid "Jul." -msgstr "" - -#: templates/calendar.php:8 -msgid "Aug." -msgstr "" - -#: templates/calendar.php:8 -msgid "Sep." -msgstr "" - -#: templates/calendar.php:8 -msgid "Oct." -msgstr "" - -#: templates/calendar.php:8 -msgid "Nov." -msgstr "" - -#: templates/calendar.php:8 -msgid "Dec." -msgstr "" - -#: templates/calendar.php:11 -msgid "All day" -msgstr "" - -#: templates/calendar.php:13 -msgid "Missing fields" -msgstr "" - -#: templates/calendar.php:14 templates/part.eventform.php:19 -#: templates/part.showevent.php:11 -msgid "Title" -msgstr "" - -#: templates/calendar.php:16 -msgid "From Date" -msgstr "" - -#: templates/calendar.php:17 -msgid "From Time" -msgstr "" - -#: templates/calendar.php:18 -msgid "To Date" -msgstr "" - -#: templates/calendar.php:19 -msgid "To Time" -msgstr "" - -#: templates/calendar.php:20 -msgid "The event ends before it starts" -msgstr "" - -#: templates/calendar.php:21 -msgid "There was a database fail" -msgstr "" - -#: templates/calendar.php:39 -msgid "Week" -msgstr "" - -#: templates/calendar.php:40 -msgid "Month" -msgstr "" - -#: templates/calendar.php:41 -msgid "List" -msgstr "" - -#: templates/calendar.php:45 -msgid "Today" -msgstr "" - -#: templates/calendar.php:46 templates/calendar.php:47 -msgid "Settings" -msgstr "" - -#: templates/part.choosecalendar.php:2 -msgid "Your calendars" -msgstr "" - -#: templates/part.choosecalendar.php:27 -#: templates/part.choosecalendar.rowfields.php:11 -msgid "CalDav Link" -msgstr "" - -#: templates/part.choosecalendar.php:31 -msgid "Shared calendars" -msgstr "" - -#: templates/part.choosecalendar.php:48 -msgid "No shared calendars" -msgstr "" - -#: templates/part.choosecalendar.rowfields.php:8 -msgid "Share Calendar" -msgstr "" - -#: templates/part.choosecalendar.rowfields.php:14 -msgid "Download" -msgstr "" - -#: templates/part.choosecalendar.rowfields.php:17 -msgid "Edit" -msgstr "" - -#: templates/part.choosecalendar.rowfields.php:20 -#: templates/part.editevent.php:9 -msgid "Delete" -msgstr "" - -#: templates/part.choosecalendar.rowfields.shared.php:4 -msgid "shared with you by" -msgstr "" - -#: templates/part.editcalendar.php:9 -msgid "New calendar" -msgstr "" - -#: templates/part.editcalendar.php:9 -msgid "Edit calendar" -msgstr "" - -#: templates/part.editcalendar.php:12 -msgid "Displayname" -msgstr "" - -#: templates/part.editcalendar.php:23 -msgid "Active" -msgstr "" - -#: templates/part.editcalendar.php:29 -msgid "Calendar color" -msgstr "" - -#: templates/part.editcalendar.php:42 -msgid "Save" -msgstr "" - -#: templates/part.editcalendar.php:42 templates/part.editevent.php:8 -#: templates/part.newevent.php:6 -msgid "Submit" -msgstr "" - -#: templates/part.editcalendar.php:43 -msgid "Cancel" -msgstr "" - -#: templates/part.editevent.php:1 -msgid "Edit an event" -msgstr "" - -#: templates/part.editevent.php:10 -msgid "Export" -msgstr "" - -#: templates/part.eventform.php:8 templates/part.showevent.php:3 -msgid "Eventinfo" -msgstr "" - -#: templates/part.eventform.php:9 templates/part.showevent.php:4 -msgid "Repeating" -msgstr "" - -#: templates/part.eventform.php:10 templates/part.showevent.php:5 -msgid "Alarm" -msgstr "" - -#: templates/part.eventform.php:11 templates/part.showevent.php:6 -msgid "Attendees" -msgstr "" - -#: templates/part.eventform.php:13 -msgid "Share" -msgstr "" - -#: templates/part.eventform.php:21 -msgid "Title of the Event" -msgstr "" - -#: templates/part.eventform.php:27 templates/part.showevent.php:19 -msgid "Category" -msgstr "" - -#: templates/part.eventform.php:29 -msgid "Separate categories with commas" -msgstr "" - -#: templates/part.eventform.php:30 -msgid "Edit categories" -msgstr "" - -#: templates/part.eventform.php:56 templates/part.showevent.php:52 -msgid "All Day Event" -msgstr "" - -#: templates/part.eventform.php:60 templates/part.showevent.php:56 -msgid "From" -msgstr "" - -#: templates/part.eventform.php:68 templates/part.showevent.php:64 -msgid "To" -msgstr "" - -#: templates/part.eventform.php:76 templates/part.showevent.php:72 -msgid "Advanced options" -msgstr "" - -#: templates/part.eventform.php:81 templates/part.showevent.php:77 -msgid "Location" -msgstr "" - -#: templates/part.eventform.php:83 -msgid "Location of the Event" -msgstr "" - -#: templates/part.eventform.php:89 templates/part.showevent.php:85 -msgid "Description" -msgstr "" - -#: templates/part.eventform.php:91 -msgid "Description of the Event" -msgstr "" - -#: templates/part.eventform.php:100 templates/part.showevent.php:95 -msgid "Repeat" -msgstr "" - -#: templates/part.eventform.php:107 templates/part.showevent.php:102 -msgid "Advanced" -msgstr "" - -#: templates/part.eventform.php:151 templates/part.showevent.php:146 -msgid "Select weekdays" -msgstr "" - -#: templates/part.eventform.php:164 templates/part.eventform.php:177 -#: templates/part.showevent.php:159 templates/part.showevent.php:172 -msgid "Select days" -msgstr "" - -#: templates/part.eventform.php:169 templates/part.showevent.php:164 -msgid "and the events day of year." -msgstr "" - -#: templates/part.eventform.php:182 templates/part.showevent.php:177 -msgid "and the events day of month." -msgstr "" - -#: templates/part.eventform.php:190 templates/part.showevent.php:185 -msgid "Select months" -msgstr "" - -#: templates/part.eventform.php:203 templates/part.showevent.php:198 -msgid "Select weeks" -msgstr "" - -#: templates/part.eventform.php:208 templates/part.showevent.php:203 -msgid "and the events week of year." -msgstr "" - -#: templates/part.eventform.php:214 templates/part.showevent.php:209 -msgid "Interval" -msgstr "" - -#: templates/part.eventform.php:220 templates/part.showevent.php:215 -msgid "End" -msgstr "" - -#: templates/part.eventform.php:233 templates/part.showevent.php:228 -msgid "occurrences" -msgstr "" - -#: templates/part.import.php:14 -msgid "create a new calendar" -msgstr "" - -#: templates/part.import.php:17 -msgid "Import a calendar file" -msgstr "" - -#: templates/part.import.php:24 -msgid "Please choose a calendar" -msgstr "" - -#: templates/part.import.php:36 -msgid "Name of new calendar" -msgstr "" - -#: templates/part.import.php:44 -msgid "Take an available name!" -msgstr "" - -#: templates/part.import.php:45 -msgid "" -"A Calendar with this name already exists. If you continue anyhow, these " -"calendars will be merged." -msgstr "" - -#: templates/part.import.php:47 -msgid "Import" -msgstr "" - -#: templates/part.import.php:56 -msgid "Close Dialog" -msgstr "" - -#: templates/part.newevent.php:1 -msgid "Create a new event" -msgstr "" - -#: templates/part.showevent.php:1 -msgid "View an event" -msgstr "" - -#: templates/part.showevent.php:23 -msgid "No categories selected" -msgstr "" - -#: templates/part.showevent.php:37 -msgid "of" -msgstr "" - -#: templates/part.showevent.php:59 templates/part.showevent.php:67 -msgid "at" -msgstr "" - -#: templates/settings.php:10 -msgid "General" -msgstr "" - -#: templates/settings.php:15 -msgid "Timezone" -msgstr "" - -#: templates/settings.php:47 -msgid "Update timezone automatically" -msgstr "" - -#: templates/settings.php:52 -msgid "Time format" -msgstr "" - -#: templates/settings.php:57 -msgid "24h" -msgstr "" - -#: templates/settings.php:58 -msgid "12h" -msgstr "" - -#: templates/settings.php:64 -msgid "Start week on" -msgstr "" - -#: templates/settings.php:76 -msgid "Cache" -msgstr "" - -#: templates/settings.php:80 -msgid "Clear cache for repeating events" -msgstr "" - -#: templates/settings.php:85 -msgid "URLs" -msgstr "" - -#: templates/settings.php:87 -msgid "Calendar CalDAV syncing addresses" -msgstr "" - -#: templates/settings.php:87 -msgid "more info" -msgstr "" - -#: templates/settings.php:89 -msgid "Primary address (Kontact et al)" -msgstr "" - -#: templates/settings.php:91 -msgid "iOS/OS X" -msgstr "" - -#: templates/settings.php:93 -msgid "Read only iCalendar link(s)" -msgstr "" - -#: templates/share.dropdown.php:20 -msgid "Users" -msgstr "" - -#: templates/share.dropdown.php:21 -msgid "select users" -msgstr "" - -#: templates/share.dropdown.php:36 templates/share.dropdown.php:62 -msgid "Editable" -msgstr "" - -#: templates/share.dropdown.php:48 -msgid "Groups" -msgstr "" - -#: templates/share.dropdown.php:49 -msgid "select groups" -msgstr "" - -#: templates/share.dropdown.php:75 -msgid "make public" -msgstr "" diff --git a/l10n/ar_SA/contacts.po b/l10n/ar_SA/contacts.po deleted file mode 100644 index 26cc5d2266eefcc46448d4090d389e8be17f1e8a..0000000000000000000000000000000000000000 --- a/l10n/ar_SA/contacts.po +++ /dev/null @@ -1,952 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-24 02:02+0200\n" -"PO-Revision-Date: 2012-08-24 00:03+0000\n" -"Last-Translator: I Robot \n" -"Language-Team: Arabic (Saudi Arabia) (http://www.transifex.com/projects/p/owncloud/language/ar_SA/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ar_SA\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: ajax/addressbook/activate.php:24 ajax/addressbook/update.php:32 -msgid "Error (de)activating addressbook." -msgstr "" - -#: ajax/addressbook/delete.php:31 ajax/addressbook/update.php:20 -#: ajax/contact/addproperty.php:42 ajax/contact/delete.php:32 -#: ajax/contact/saveproperty.php:39 -msgid "id is not set." -msgstr "" - -#: ajax/addressbook/update.php:24 -msgid "Cannot update addressbook with an empty name." -msgstr "" - -#: ajax/addressbook/update.php:28 -msgid "Error updating addressbook." -msgstr "" - -#: ajax/categories/categoriesfor.php:17 -msgid "No ID provided" -msgstr "" - -#: ajax/categories/categoriesfor.php:34 -msgid "Error setting checksum." -msgstr "" - -#: ajax/categories/delete.php:19 -msgid "No categories selected for deletion." -msgstr "" - -#: ajax/categories/delete.php:26 -msgid "No address books found." -msgstr "" - -#: ajax/categories/delete.php:34 -msgid "No contacts found." -msgstr "" - -#: ajax/contact/add.php:47 -msgid "There was an error adding the contact." -msgstr "" - -#: ajax/contact/addproperty.php:39 ajax/contact/saveproperty.php:36 -msgid "element name is not set." -msgstr "" - -#: ajax/contact/addproperty.php:46 -msgid "Could not parse contact: " -msgstr "" - -#: ajax/contact/addproperty.php:56 -msgid "Cannot add empty property." -msgstr "" - -#: ajax/contact/addproperty.php:67 -msgid "At least one of the address fields has to be filled out." -msgstr "" - -#: ajax/contact/addproperty.php:76 -msgid "Trying to add duplicate property: " -msgstr "" - -#: ajax/contact/addproperty.php:115 ajax/contact/saveproperty.php:93 -msgid "Missing IM parameter." -msgstr "" - -#: ajax/contact/addproperty.php:119 ajax/contact/saveproperty.php:97 -msgid "Unknown IM: " -msgstr "" - -#: ajax/contact/deleteproperty.php:37 -msgid "Information about vCard is incorrect. Please reload the page." -msgstr "" - -#: ajax/contact/details.php:31 -msgid "Missing ID" -msgstr "" - -#: ajax/contact/details.php:36 -msgid "Error parsing VCard for ID: \"" -msgstr "" - -#: ajax/contact/saveproperty.php:42 -msgid "checksum is not set." -msgstr "" - -#: ajax/contact/saveproperty.php:62 -msgid "Information about vCard is incorrect. Please reload the page: " -msgstr "" - -#: ajax/contact/saveproperty.php:69 -msgid "Something went FUBAR. " -msgstr "" - -#: ajax/currentphoto.php:30 ajax/oc_photo.php:28 ajax/uploadphoto.php:36 -#: ajax/uploadphoto.php:68 -msgid "No contact ID was submitted." -msgstr "" - -#: ajax/currentphoto.php:36 -msgid "Error reading contact photo." -msgstr "" - -#: ajax/currentphoto.php:48 -msgid "Error saving temporary file." -msgstr "" - -#: ajax/currentphoto.php:51 -msgid "The loading photo is not valid." -msgstr "" - -#: ajax/editname.php:31 -msgid "Contact ID is missing." -msgstr "" - -#: ajax/oc_photo.php:32 -msgid "No photo path was submitted." -msgstr "" - -#: ajax/oc_photo.php:39 -msgid "File doesn't exist:" -msgstr "" - -#: ajax/oc_photo.php:44 ajax/oc_photo.php:47 -msgid "Error loading image." -msgstr "" - -#: ajax/savecrop.php:69 -msgid "Error getting contact object." -msgstr "" - -#: ajax/savecrop.php:79 -msgid "Error getting PHOTO property." -msgstr "" - -#: ajax/savecrop.php:98 -msgid "Error saving contact." -msgstr "" - -#: ajax/savecrop.php:109 -msgid "Error resizing image" -msgstr "" - -#: ajax/savecrop.php:112 -msgid "Error cropping image" -msgstr "" - -#: ajax/savecrop.php:115 -msgid "Error creating temporary image" -msgstr "" - -#: ajax/savecrop.php:118 -msgid "Error finding image: " -msgstr "" - -#: ajax/uploadimport.php:44 ajax/uploadimport.php:76 -msgid "Error uploading contacts to storage." -msgstr "" - -#: ajax/uploadimport.php:61 ajax/uploadphoto.php:77 -msgid "There is no error, the file uploaded with success" -msgstr "" - -#: ajax/uploadimport.php:62 ajax/uploadphoto.php:78 -msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" -msgstr "" - -#: ajax/uploadimport.php:63 ajax/uploadphoto.php:79 -msgid "" -"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " -"the HTML form" -msgstr "" - -#: ajax/uploadimport.php:64 ajax/uploadphoto.php:80 -msgid "The uploaded file was only partially uploaded" -msgstr "" - -#: ajax/uploadimport.php:65 ajax/uploadphoto.php:81 -msgid "No file was uploaded" -msgstr "" - -#: ajax/uploadimport.php:66 ajax/uploadphoto.php:82 -msgid "Missing a temporary folder" -msgstr "" - -#: ajax/uploadphoto.php:59 ajax/uploadphoto.php:109 -msgid "Couldn't save temporary image: " -msgstr "" - -#: ajax/uploadphoto.php:62 ajax/uploadphoto.php:112 -msgid "Couldn't load temporary image: " -msgstr "" - -#: ajax/uploadphoto.php:71 -msgid "No file was uploaded. Unknown error" -msgstr "" - -#: appinfo/app.php:21 -msgid "Contacts" -msgstr "" - -#: js/contacts.js:71 -msgid "Sorry, this functionality has not been implemented yet" -msgstr "" - -#: js/contacts.js:71 -msgid "Not implemented" -msgstr "" - -#: js/contacts.js:76 -msgid "Couldn't get a valid address." -msgstr "" - -#: js/contacts.js:76 js/contacts.js:365 js/contacts.js:381 js/contacts.js:393 -#: js/contacts.js:723 js/contacts.js:763 js/contacts.js:789 js/contacts.js:921 -#: js/contacts.js:927 js/contacts.js:939 js/contacts.js:976 -#: js/contacts.js:1250 js/contacts.js:1258 js/contacts.js:1267 -#: js/contacts.js:1302 js/contacts.js:1338 js/contacts.js:1353 -#: js/contacts.js:1379 js/contacts.js:1609 js/contacts.js:1644 -#: js/contacts.js:1664 js/settings.js:26 js/settings.js:43 js/settings.js:68 -msgid "Error" -msgstr "" - -#: js/contacts.js:424 -msgid "You do not have permission to add contacts to " -msgstr "" - -#: js/contacts.js:425 -msgid "Please select one of your own address books." -msgstr "" - -#: js/contacts.js:425 -msgid "Permission error" -msgstr "" - -#: js/contacts.js:763 -msgid "This property has to be non-empty." -msgstr "" - -#: js/contacts.js:789 -msgid "Couldn't serialize elements." -msgstr "" - -#: js/contacts.js:921 js/contacts.js:939 -msgid "" -"'deleteProperty' called without type argument. Please report at " -"bugs.owncloud.org" -msgstr "" - -#: js/contacts.js:958 -msgid "Edit name" -msgstr "" - -#: js/contacts.js:1250 -msgid "No files selected for upload." -msgstr "" - -#: js/contacts.js:1258 -msgid "" -"The file you are trying to upload exceed the maximum size for file uploads " -"on this server." -msgstr "" - -#: js/contacts.js:1322 -msgid "Error loading profile picture." -msgstr "" - -#: js/contacts.js:1457 js/contacts.js:1498 js/contacts.js:1517 -#: js/contacts.js:1560 -msgid "Select type" -msgstr "" - -#: js/contacts.js:1578 -msgid "" -"Some contacts are marked for deletion, but not deleted yet. Please wait for " -"them to be deleted." -msgstr "" - -#: js/contacts.js:1649 -msgid "Do you want to merge these address books?" -msgstr "" - -#: js/loader.js:49 -msgid "Result: " -msgstr "" - -#: js/loader.js:49 -msgid " imported, " -msgstr "" - -#: js/loader.js:49 -msgid " failed." -msgstr "" - -#: js/settings.js:68 -msgid "Displayname cannot be empty." -msgstr "" - -#: lib/app.php:36 -msgid "Addressbook not found: " -msgstr "" - -#: lib/app.php:52 -msgid "This is not your addressbook." -msgstr "" - -#: lib/app.php:71 -msgid "Contact could not be found." -msgstr "" - -#: lib/app.php:116 -msgid "Jabber" -msgstr "" - -#: lib/app.php:121 -msgid "AIM" -msgstr "" - -#: lib/app.php:126 -msgid "MSN" -msgstr "" - -#: lib/app.php:131 -msgid "Twitter" -msgstr "" - -#: lib/app.php:136 -msgid "GoogleTalk" -msgstr "" - -#: lib/app.php:141 -msgid "Facebook" -msgstr "" - -#: lib/app.php:146 -msgid "XMPP" -msgstr "" - -#: lib/app.php:151 -msgid "ICQ" -msgstr "" - -#: lib/app.php:156 -msgid "Yahoo" -msgstr "" - -#: lib/app.php:161 -msgid "Skype" -msgstr "" - -#: lib/app.php:166 -msgid "QQ" -msgstr "" - -#: lib/app.php:171 -msgid "GaduGadu" -msgstr "" - -#: lib/app.php:194 lib/app.php:202 lib/app.php:213 lib/app.php:266 -msgid "Work" -msgstr "" - -#: lib/app.php:195 lib/app.php:200 lib/app.php:214 -msgid "Home" -msgstr "" - -#: lib/app.php:196 lib/app.php:209 lib/app.php:262 lib/vcard.php:593 -msgid "Other" -msgstr "" - -#: lib/app.php:201 -msgid "Mobile" -msgstr "" - -#: lib/app.php:203 -msgid "Text" -msgstr "" - -#: lib/app.php:204 -msgid "Voice" -msgstr "" - -#: lib/app.php:205 -msgid "Message" -msgstr "" - -#: lib/app.php:206 -msgid "Fax" -msgstr "" - -#: lib/app.php:207 -msgid "Video" -msgstr "" - -#: lib/app.php:208 -msgid "Pager" -msgstr "" - -#: lib/app.php:215 -msgid "Internet" -msgstr "" - -#: lib/app.php:252 templates/part.contact.php:45 -#: templates/part.contact.php:128 -msgid "Birthday" -msgstr "" - -#: lib/app.php:253 -msgid "Business" -msgstr "" - -#: lib/app.php:254 -msgid "Call" -msgstr "" - -#: lib/app.php:255 -msgid "Clients" -msgstr "" - -#: lib/app.php:256 -msgid "Deliverer" -msgstr "" - -#: lib/app.php:257 -msgid "Holidays" -msgstr "" - -#: lib/app.php:258 -msgid "Ideas" -msgstr "" - -#: lib/app.php:259 -msgid "Journey" -msgstr "" - -#: lib/app.php:260 -msgid "Jubilee" -msgstr "" - -#: lib/app.php:261 -msgid "Meeting" -msgstr "" - -#: lib/app.php:263 -msgid "Personal" -msgstr "" - -#: lib/app.php:264 -msgid "Projects" -msgstr "" - -#: lib/app.php:265 -msgid "Questions" -msgstr "" - -#: lib/hooks.php:102 -msgid "{name}'s Birthday" -msgstr "" - -#: lib/search.php:15 -msgid "Contact" -msgstr "" - -#: lib/vcard.php:408 -msgid "You do not have the permissions to edit this contact." -msgstr "" - -#: lib/vcard.php:483 -msgid "You do not have the permissions to delete this contact." -msgstr "" - -#: templates/index.php:14 -msgid "Add Contact" -msgstr "" - -#: templates/index.php:15 templates/index.php:16 templates/part.import.php:17 -msgid "Import" -msgstr "" - -#: templates/index.php:18 -msgid "Settings" -msgstr "" - -#: templates/index.php:18 templates/settings.php:9 -msgid "Addressbooks" -msgstr "" - -#: templates/index.php:36 templates/part.import.php:24 -msgid "Close" -msgstr "" - -#: templates/index.php:37 -msgid "Keyboard shortcuts" -msgstr "" - -#: templates/index.php:39 -msgid "Navigation" -msgstr "" - -#: templates/index.php:42 -msgid "Next contact in list" -msgstr "" - -#: templates/index.php:44 -msgid "Previous contact in list" -msgstr "" - -#: templates/index.php:46 -msgid "Expand/collapse current addressbook" -msgstr "" - -#: templates/index.php:48 -msgid "Next addressbook" -msgstr "" - -#: templates/index.php:50 -msgid "Previous addressbook" -msgstr "" - -#: templates/index.php:54 -msgid "Actions" -msgstr "" - -#: templates/index.php:57 -msgid "Refresh contacts list" -msgstr "" - -#: templates/index.php:59 -msgid "Add new contact" -msgstr "" - -#: templates/index.php:61 -msgid "Add new addressbook" -msgstr "" - -#: templates/index.php:63 -msgid "Delete current contact" -msgstr "" - -#: templates/part.contact.php:17 -msgid "Drop photo to upload" -msgstr "" - -#: templates/part.contact.php:19 -msgid "Delete current photo" -msgstr "" - -#: templates/part.contact.php:20 -msgid "Edit current photo" -msgstr "" - -#: templates/part.contact.php:21 -msgid "Upload new photo" -msgstr "" - -#: templates/part.contact.php:22 -msgid "Select photo from ownCloud" -msgstr "" - -#: templates/part.contact.php:35 -msgid "Format custom, Short name, Full name, Reverse or Reverse with comma" -msgstr "" - -#: templates/part.contact.php:36 -msgid "Edit name details" -msgstr "" - -#: templates/part.contact.php:39 templates/part.contact.php:40 -#: templates/part.contact.php:126 -msgid "Organization" -msgstr "" - -#: templates/part.contact.php:40 templates/part.contact.php:42 -#: templates/part.contact.php:44 templates/part.contact.php:46 -#: templates/part.contact.php:50 templates/settings.php:36 -msgid "Delete" -msgstr "" - -#: templates/part.contact.php:41 templates/part.contact.php:127 -msgid "Nickname" -msgstr "" - -#: templates/part.contact.php:42 -msgid "Enter nickname" -msgstr "" - -#: templates/part.contact.php:43 templates/part.contact.php:134 -msgid "Web site" -msgstr "" - -#: templates/part.contact.php:44 -msgid "http://www.somesite.com" -msgstr "" - -#: templates/part.contact.php:44 -msgid "Go to web site" -msgstr "" - -#: templates/part.contact.php:46 -msgid "dd-mm-yyyy" -msgstr "" - -#: templates/part.contact.php:47 templates/part.contact.php:135 -msgid "Groups" -msgstr "" - -#: templates/part.contact.php:49 -msgid "Separate groups with commas" -msgstr "" - -#: templates/part.contact.php:50 -msgid "Edit groups" -msgstr "" - -#: templates/part.contact.php:59 templates/part.contact.php:73 -#: templates/part.contact.php:98 -msgid "Preferred" -msgstr "" - -#: templates/part.contact.php:60 -msgid "Please specify a valid email address." -msgstr "" - -#: templates/part.contact.php:60 -msgid "Enter email address" -msgstr "" - -#: templates/part.contact.php:64 -msgid "Mail to address" -msgstr "" - -#: templates/part.contact.php:65 -msgid "Delete email address" -msgstr "" - -#: templates/part.contact.php:75 -msgid "Enter phone number" -msgstr "" - -#: templates/part.contact.php:79 -msgid "Delete phone number" -msgstr "" - -#: templates/part.contact.php:100 -msgid "Instant Messenger" -msgstr "" - -#: templates/part.contact.php:101 -msgid "Delete IM" -msgstr "" - -#: templates/part.contact.php:110 -msgid "View on map" -msgstr "" - -#: templates/part.contact.php:110 -msgid "Edit address details" -msgstr "" - -#: templates/part.contact.php:116 -msgid "Add notes here." -msgstr "" - -#: templates/part.contact.php:124 -msgid "Add field" -msgstr "" - -#: templates/part.contact.php:129 -msgid "Phone" -msgstr "" - -#: templates/part.contact.php:130 -msgid "Email" -msgstr "" - -#: templates/part.contact.php:131 -msgid "Instant Messaging" -msgstr "" - -#: templates/part.contact.php:132 -msgid "Address" -msgstr "" - -#: templates/part.contact.php:133 -msgid "Note" -msgstr "" - -#: templates/part.contact.php:138 -msgid "Download contact" -msgstr "" - -#: templates/part.contact.php:139 -msgid "Delete contact" -msgstr "" - -#: templates/part.cropphoto.php:65 -msgid "The temporary image has been removed from cache." -msgstr "" - -#: templates/part.edit_address_dialog.php:6 -msgid "Edit address" -msgstr "" - -#: templates/part.edit_address_dialog.php:10 -msgid "Type" -msgstr "" - -#: templates/part.edit_address_dialog.php:18 -#: templates/part.edit_address_dialog.php:21 -msgid "PO Box" -msgstr "" - -#: templates/part.edit_address_dialog.php:24 -msgid "Street address" -msgstr "" - -#: templates/part.edit_address_dialog.php:27 -msgid "Street and number" -msgstr "" - -#: templates/part.edit_address_dialog.php:30 -msgid "Extended" -msgstr "" - -#: templates/part.edit_address_dialog.php:33 -msgid "Apartment number etc." -msgstr "" - -#: templates/part.edit_address_dialog.php:36 -#: templates/part.edit_address_dialog.php:39 -msgid "City" -msgstr "" - -#: templates/part.edit_address_dialog.php:42 -msgid "Region" -msgstr "" - -#: templates/part.edit_address_dialog.php:45 -msgid "E.g. state or province" -msgstr "" - -#: templates/part.edit_address_dialog.php:48 -msgid "Zipcode" -msgstr "" - -#: templates/part.edit_address_dialog.php:51 -msgid "Postal code" -msgstr "" - -#: templates/part.edit_address_dialog.php:54 -#: templates/part.edit_address_dialog.php:57 -msgid "Country" -msgstr "" - -#: templates/part.edit_name_dialog.php:16 -msgid "Addressbook" -msgstr "" - -#: templates/part.edit_name_dialog.php:23 -msgid "Hon. prefixes" -msgstr "" - -#: templates/part.edit_name_dialog.php:27 -msgid "Miss" -msgstr "" - -#: templates/part.edit_name_dialog.php:28 -msgid "Ms" -msgstr "" - -#: templates/part.edit_name_dialog.php:29 -msgid "Mr" -msgstr "" - -#: templates/part.edit_name_dialog.php:30 -msgid "Sir" -msgstr "" - -#: templates/part.edit_name_dialog.php:31 -msgid "Mrs" -msgstr "" - -#: templates/part.edit_name_dialog.php:32 -msgid "Dr" -msgstr "" - -#: templates/part.edit_name_dialog.php:35 -msgid "Given name" -msgstr "" - -#: templates/part.edit_name_dialog.php:37 -msgid "Additional names" -msgstr "" - -#: templates/part.edit_name_dialog.php:39 -msgid "Family name" -msgstr "" - -#: templates/part.edit_name_dialog.php:41 -msgid "Hon. suffixes" -msgstr "" - -#: templates/part.edit_name_dialog.php:45 -msgid "J.D." -msgstr "" - -#: templates/part.edit_name_dialog.php:46 -msgid "M.D." -msgstr "" - -#: templates/part.edit_name_dialog.php:47 -msgid "D.O." -msgstr "" - -#: templates/part.edit_name_dialog.php:48 -msgid "D.C." -msgstr "" - -#: templates/part.edit_name_dialog.php:49 -msgid "Ph.D." -msgstr "" - -#: templates/part.edit_name_dialog.php:50 -msgid "Esq." -msgstr "" - -#: templates/part.edit_name_dialog.php:51 -msgid "Jr." -msgstr "" - -#: templates/part.edit_name_dialog.php:52 -msgid "Sn." -msgstr "" - -#: templates/part.import.php:1 -msgid "Import a contacts file" -msgstr "" - -#: templates/part.import.php:6 -msgid "Please choose the addressbook" -msgstr "" - -#: templates/part.import.php:10 -msgid "create a new addressbook" -msgstr "" - -#: templates/part.import.php:15 -msgid "Name of new addressbook" -msgstr "" - -#: templates/part.import.php:20 -msgid "Importing contacts" -msgstr "" - -#: templates/part.no_contacts.php:3 -msgid "You have no contacts in your addressbook." -msgstr "" - -#: templates/part.no_contacts.php:5 -msgid "Add contact" -msgstr "" - -#: templates/part.selectaddressbook.php:1 -msgid "Select Address Books" -msgstr "" - -#: templates/part.selectaddressbook.php:27 -msgid "Enter name" -msgstr "" - -#: templates/part.selectaddressbook.php:29 -msgid "Enter description" -msgstr "" - -#: templates/settings.php:3 -msgid "CardDAV syncing addresses" -msgstr "" - -#: templates/settings.php:3 -msgid "more info" -msgstr "" - -#: templates/settings.php:5 -msgid "Primary address (Kontact et al)" -msgstr "" - -#: templates/settings.php:7 -msgid "iOS/OS X" -msgstr "" - -#: templates/settings.php:20 -msgid "Show CardDav link" -msgstr "" - -#: templates/settings.php:23 -msgid "Show read-only VCF link" -msgstr "" - -#: templates/settings.php:26 -msgid "Share" -msgstr "" - -#: templates/settings.php:29 -msgid "Download" -msgstr "" - -#: templates/settings.php:33 -msgid "Edit" -msgstr "" - -#: templates/settings.php:43 -msgid "New Address Book" -msgstr "" - -#: templates/settings.php:44 -msgid "Name" -msgstr "" - -#: templates/settings.php:45 -msgid "Description" -msgstr "" - -#: templates/settings.php:46 -msgid "Save" -msgstr "" - -#: templates/settings.php:47 -msgid "Cancel" -msgstr "" - -#: templates/settings.php:52 -msgid "More..." -msgstr "" diff --git a/l10n/ar_SA/core.po b/l10n/ar_SA/core.po index d567806a4436fa0bf3374f90481b88fa30f161e2..9f65ed02399bea291078951b197f95591dab9539 100644 --- a/l10n/ar_SA/core.po +++ b/l10n/ar_SA/core.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-16 02:04+0200\n" -"PO-Revision-Date: 2012-10-16 00:05+0000\n" +"POT-Creation-Date: 2012-10-18 02:03+0200\n" +"PO-Revision-Date: 2012-10-18 00:04+0000\n" "Last-Translator: I Robot \n" "Language-Team: Arabic (Saudi Arabia) (http://www.transifex.com/projects/p/owncloud/language/ar_SA/)\n" "MIME-Version: 1.0\n" @@ -123,15 +123,11 @@ msgid "Error while changing permissions" msgstr "" #: js/share.js:130 -msgid "Shared with you and the group" -msgstr "" - -#: js/share.js:130 -msgid "by" +msgid "Shared with you and the group {group} by {owner}" msgstr "" #: js/share.js:132 -msgid "Shared with you by" +msgid "Shared with you by {owner}" msgstr "" #: js/share.js:137 @@ -172,11 +168,7 @@ msgid "Resharing is not allowed" msgstr "" #: js/share.js:250 -msgid "Shared in" -msgstr "" - -#: js/share.js:250 -msgid "with" +msgid "Shared in {item} with {user}" msgstr "" #: js/share.js:271 diff --git a/l10n/ar_SA/files.po b/l10n/ar_SA/files.po index dd926c43632f7eb1dfc1de0d01f42e698a54a889..7e87201ab779d94c6164d4f4b40eaa877c56c301 100644 --- a/l10n/ar_SA/files.po +++ b/l10n/ar_SA/files.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-09-26 13:19+0200\n" -"PO-Revision-Date: 2012-09-26 11:20+0000\n" +"POT-Creation-Date: 2012-10-19 02:03+0200\n" +"PO-Revision-Date: 2012-10-19 00:04+0000\n" "Last-Translator: I Robot \n" "Language-Team: Arabic (Saudi Arabia) (http://www.transifex.com/projects/p/owncloud/language/ar_SA/)\n" "MIME-Version: 1.0\n" @@ -63,152 +63,152 @@ msgstr "" msgid "Rename" msgstr "" -#: js/filelist.js:190 js/filelist.js:192 -msgid "already exists" +#: js/filelist.js:194 js/filelist.js:196 +msgid "{new_name} already exists" msgstr "" -#: js/filelist.js:190 js/filelist.js:192 +#: js/filelist.js:194 js/filelist.js:196 msgid "replace" msgstr "" -#: js/filelist.js:190 +#: js/filelist.js:194 msgid "suggest name" msgstr "" -#: js/filelist.js:190 js/filelist.js:192 +#: js/filelist.js:194 js/filelist.js:196 msgid "cancel" msgstr "" -#: js/filelist.js:239 js/filelist.js:241 -msgid "replaced" +#: js/filelist.js:243 +msgid "replaced {new_name}" msgstr "" -#: js/filelist.js:239 js/filelist.js:241 js/filelist.js:273 js/filelist.js:275 +#: js/filelist.js:243 js/filelist.js:245 js/filelist.js:277 js/filelist.js:279 msgid "undo" msgstr "" -#: js/filelist.js:241 -msgid "with" +#: js/filelist.js:245 +msgid "replaced {new_name} with {old_name}" msgstr "" -#: js/filelist.js:273 -msgid "unshared" +#: js/filelist.js:277 +msgid "unshared {files}" msgstr "" -#: js/filelist.js:275 -msgid "deleted" +#: js/filelist.js:279 +msgid "deleted {files}" msgstr "" #: js/files.js:179 msgid "generating ZIP-file, it may take some time." msgstr "" -#: js/files.js:208 +#: js/files.js:214 msgid "Unable to upload your file as it is a directory or has 0 bytes" msgstr "" -#: js/files.js:208 +#: js/files.js:214 msgid "Upload Error" msgstr "" -#: js/files.js:236 js/files.js:341 js/files.js:371 +#: js/files.js:242 js/files.js:347 js/files.js:377 msgid "Pending" msgstr "" -#: js/files.js:256 +#: js/files.js:262 msgid "1 file uploading" msgstr "" -#: js/files.js:259 js/files.js:304 js/files.js:319 -msgid "files uploading" +#: js/files.js:265 js/files.js:310 js/files.js:325 +msgid "{count} files uploading" msgstr "" -#: js/files.js:322 js/files.js:355 +#: js/files.js:328 js/files.js:361 msgid "Upload cancelled." msgstr "" -#: js/files.js:424 +#: js/files.js:430 msgid "" "File upload is in progress. Leaving the page now will cancel the upload." msgstr "" -#: js/files.js:494 +#: js/files.js:500 msgid "Invalid name, '/' is not allowed." msgstr "" -#: js/files.js:667 -msgid "files scanned" +#: js/files.js:681 +msgid "{count} files scanned" msgstr "" -#: js/files.js:675 +#: js/files.js:689 msgid "error while scanning" msgstr "" -#: js/files.js:748 templates/index.php:48 +#: js/files.js:762 templates/index.php:48 msgid "Name" msgstr "" -#: js/files.js:749 templates/index.php:56 +#: js/files.js:763 templates/index.php:56 msgid "Size" msgstr "" -#: js/files.js:750 templates/index.php:58 +#: js/files.js:764 templates/index.php:58 msgid "Modified" msgstr "" -#: js/files.js:777 -msgid "folder" +#: js/files.js:791 +msgid "1 folder" msgstr "" -#: js/files.js:779 -msgid "folders" +#: js/files.js:793 +msgid "{count} folders" msgstr "" -#: js/files.js:787 -msgid "file" +#: js/files.js:801 +msgid "1 file" msgstr "" -#: js/files.js:789 -msgid "files" +#: js/files.js:803 +msgid "{count} files" msgstr "" -#: js/files.js:833 +#: js/files.js:846 msgid "seconds ago" msgstr "" -#: js/files.js:834 -msgid "minute ago" +#: js/files.js:847 +msgid "1 minute ago" msgstr "" -#: js/files.js:835 -msgid "minutes ago" +#: js/files.js:848 +msgid "{minutes} minutes ago" msgstr "" -#: js/files.js:838 +#: js/files.js:851 msgid "today" msgstr "" -#: js/files.js:839 +#: js/files.js:852 msgid "yesterday" msgstr "" -#: js/files.js:840 -msgid "days ago" +#: js/files.js:853 +msgid "{days} days ago" msgstr "" -#: js/files.js:841 +#: js/files.js:854 msgid "last month" msgstr "" -#: js/files.js:843 +#: js/files.js:856 msgid "months ago" msgstr "" -#: js/files.js:844 +#: js/files.js:857 msgid "last year" msgstr "" -#: js/files.js:845 +#: js/files.js:858 msgid "years ago" msgstr "" diff --git a/l10n/ar_SA/files_pdfviewer.po b/l10n/ar_SA/files_pdfviewer.po deleted file mode 100644 index 8a2c2b3fff1f8e202f0b06f0b390f189386b4d3f..0000000000000000000000000000000000000000 --- a/l10n/ar_SA/files_pdfviewer.po +++ /dev/null @@ -1,42 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 02:18+0200\n" -"PO-Revision-Date: 2012-08-26 00:19+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Arabic (Saudi Arabia) (http://www.transifex.com/projects/p/owncloud/language/ar_SA/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ar_SA\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: js/viewer.js:22 -msgid "Previous" -msgstr "" - -#: js/viewer.js:23 -msgid "Next" -msgstr "" - -#: js/viewer.js:29 -msgid "Page Width" -msgstr "" - -#: js/viewer.js:29 -msgid "Page Fit" -msgstr "" - -#: js/viewer.js:30 -msgid "Print" -msgstr "" - -#: js/viewer.js:32 -msgid "Download" -msgstr "" diff --git a/l10n/ar_SA/files_texteditor.po b/l10n/ar_SA/files_texteditor.po deleted file mode 100644 index 384e4edc4d05ed62db1cba169dbc10ce167fefdd..0000000000000000000000000000000000000000 --- a/l10n/ar_SA/files_texteditor.po +++ /dev/null @@ -1,44 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 01:17+0200\n" -"PO-Revision-Date: 2012-08-25 23:18+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Arabic (Saudi Arabia) (http://www.transifex.com/projects/p/owncloud/language/ar_SA/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ar_SA\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: js/aceeditor/mode-coldfusion-uncompressed.js:1568 -#: js/aceeditor/mode-liquid-uncompressed.js:902 -#: js/aceeditor/mode-svg-uncompressed.js:1575 -msgid "regex" -msgstr "" - -#: js/editor.js:72 js/editor.js:156 js/editor.js:163 -msgid "Save" -msgstr "" - -#: js/editor.js:74 -msgid "Close" -msgstr "" - -#: js/editor.js:149 -msgid "Saving..." -msgstr "" - -#: js/editor.js:239 -msgid "An error occurred!" -msgstr "" - -#: js/editor.js:266 -msgid "There were unsaved changes, click here to go back" -msgstr "" diff --git a/l10n/ar_SA/gallery.po b/l10n/ar_SA/gallery.po deleted file mode 100644 index 9d60ea7bc6d39c94187393fe0dfe3e164443c1dd..0000000000000000000000000000000000000000 --- a/l10n/ar_SA/gallery.po +++ /dev/null @@ -1,58 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-07-26 08:03+0200\n" -"PO-Revision-Date: 2012-07-25 19:30+0000\n" -"Last-Translator: owncloud_robot \n" -"Language-Team: Arabic (Saudi Arabia) (http://www.transifex.com/projects/p/owncloud/language/ar_SA/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ar_SA\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: appinfo/app.php:39 -msgid "Pictures" -msgstr "" - -#: js/pictures.js:12 -msgid "Share gallery" -msgstr "" - -#: js/pictures.js:32 -msgid "Error: " -msgstr "" - -#: js/pictures.js:32 -msgid "Internal error" -msgstr "" - -#: templates/index.php:27 -msgid "Slideshow" -msgstr "" - -#: templates/view_album.php:19 -msgid "Back" -msgstr "" - -#: templates/view_album.php:36 -msgid "Remove confirmation" -msgstr "" - -#: templates/view_album.php:37 -msgid "Do you want to remove album" -msgstr "" - -#: templates/view_album.php:40 -msgid "Change album name" -msgstr "" - -#: templates/view_album.php:43 -msgid "New album name" -msgstr "" diff --git a/l10n/ar_SA/media.po b/l10n/ar_SA/media.po deleted file mode 100644 index 9f152efa4215a791af3ca716e367b0471c3a9891..0000000000000000000000000000000000000000 --- a/l10n/ar_SA/media.po +++ /dev/null @@ -1,66 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-07-26 08:03+0200\n" -"PO-Revision-Date: 2011-08-13 02:19+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Arabic (Saudi Arabia) (http://www.transifex.com/projects/p/owncloud/language/ar_SA/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ar_SA\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: appinfo/app.php:45 templates/player.php:8 -msgid "Music" -msgstr "" - -#: js/music.js:18 -msgid "Add album to playlist" -msgstr "" - -#: templates/music.php:3 templates/player.php:12 -msgid "Play" -msgstr "" - -#: templates/music.php:4 templates/music.php:26 templates/player.php:13 -msgid "Pause" -msgstr "" - -#: templates/music.php:5 -msgid "Previous" -msgstr "" - -#: templates/music.php:6 templates/player.php:14 -msgid "Next" -msgstr "" - -#: templates/music.php:7 -msgid "Mute" -msgstr "" - -#: templates/music.php:8 -msgid "Unmute" -msgstr "" - -#: templates/music.php:25 -msgid "Rescan Collection" -msgstr "" - -#: templates/music.php:37 -msgid "Artist" -msgstr "" - -#: templates/music.php:38 -msgid "Album" -msgstr "" - -#: templates/music.php:39 -msgid "Title" -msgstr "" diff --git a/l10n/ar_SA/tasks.po b/l10n/ar_SA/tasks.po deleted file mode 100644 index 69ac800c5e75cab8d5207a86276dce123850edd5..0000000000000000000000000000000000000000 --- a/l10n/ar_SA/tasks.po +++ /dev/null @@ -1,106 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:44+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Arabic (Saudi Arabia) (http://www.transifex.com/projects/p/owncloud/language/ar_SA/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ar_SA\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: ajax/update_property.php:51 lib/app.php:89 lib/app.php:101 -msgid "Invalid date/time" -msgstr "" - -#: appinfo/app.php:11 -msgid "Tasks" -msgstr "" - -#: js/tasks.js:415 -msgid "No category" -msgstr "" - -#: lib/app.php:33 -msgid "Unspecified" -msgstr "" - -#: lib/app.php:34 -msgid "1=highest" -msgstr "" - -#: lib/app.php:38 -msgid "5=medium" -msgstr "" - -#: lib/app.php:42 -msgid "9=lowest" -msgstr "" - -#: lib/app.php:81 -msgid "Empty Summary" -msgstr "" - -#: lib/app.php:93 -msgid "Invalid percent complete" -msgstr "" - -#: lib/app.php:107 -msgid "Invalid priority" -msgstr "" - -#: templates/tasks.php:3 -msgid "Add Task" -msgstr "" - -#: templates/tasks.php:4 -msgid "Order Due" -msgstr "" - -#: templates/tasks.php:5 -msgid "Order List" -msgstr "" - -#: templates/tasks.php:6 -msgid "Order Complete" -msgstr "" - -#: templates/tasks.php:7 -msgid "Order Location" -msgstr "" - -#: templates/tasks.php:8 -msgid "Order Priority" -msgstr "" - -#: templates/tasks.php:9 -msgid "Order Label" -msgstr "" - -#: templates/tasks.php:16 -msgid "Loading tasks..." -msgstr "" - -#: templates/tasks.php:20 -msgid "Important" -msgstr "" - -#: templates/tasks.php:23 -msgid "More" -msgstr "" - -#: templates/tasks.php:26 -msgid "Less" -msgstr "" - -#: templates/tasks.php:29 -msgid "Delete" -msgstr "" diff --git a/l10n/ar_SA/user_migrate.po b/l10n/ar_SA/user_migrate.po deleted file mode 100644 index c49cdec6c68e6012baad87884539eabf0a1ca0de..0000000000000000000000000000000000000000 --- a/l10n/ar_SA/user_migrate.po +++ /dev/null @@ -1,51 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:45+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Arabic (Saudi Arabia) (http://www.transifex.com/projects/p/owncloud/language/ar_SA/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ar_SA\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: js/export.js:14 js/export.js:20 -msgid "Export" -msgstr "" - -#: js/export.js:19 -msgid "Something went wrong while the export file was being generated" -msgstr "" - -#: js/export.js:19 -msgid "An error has occurred" -msgstr "" - -#: templates/settings.php:2 -msgid "Export your user account" -msgstr "" - -#: templates/settings.php:3 -msgid "" -"This will create a compressed file that contains your ownCloud account." -msgstr "" - -#: templates/settings.php:13 -msgid "Import user account" -msgstr "" - -#: templates/settings.php:15 -msgid "ownCloud User Zip" -msgstr "" - -#: templates/settings.php:17 -msgid "Import" -msgstr "" diff --git a/l10n/ar_SA/user_openid.po b/l10n/ar_SA/user_openid.po deleted file mode 100644 index bf485303a2e91827e48870849fd29941ef6b8c63..0000000000000000000000000000000000000000 --- a/l10n/ar_SA/user_openid.po +++ /dev/null @@ -1,54 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:45+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Arabic (Saudi Arabia) (http://www.transifex.com/projects/p/owncloud/language/ar_SA/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ar_SA\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: templates/nomode.php:12 -msgid "This is an OpenID server endpoint. For more information, see " -msgstr "" - -#: templates/nomode.php:14 -msgid "Identity: " -msgstr "" - -#: templates/nomode.php:15 -msgid "Realm: " -msgstr "" - -#: templates/nomode.php:16 -msgid "User: " -msgstr "" - -#: templates/nomode.php:17 -msgid "Login" -msgstr "" - -#: templates/nomode.php:22 -msgid "Error: No user Selected" -msgstr "" - -#: templates/settings.php:4 -msgid "you can authenticate to other sites with this address" -msgstr "" - -#: templates/settings.php:5 -msgid "Authorized OpenID provider" -msgstr "" - -#: templates/settings.php:6 -msgid "Your address at Wordpress, Identi.ca, …" -msgstr "" diff --git a/l10n/bg_BG/admin_dependencies_chk.po b/l10n/bg_BG/admin_dependencies_chk.po deleted file mode 100644 index a90db6fe74f5058ce0934de60d6f41f5bfc27914..0000000000000000000000000000000000000000 --- a/l10n/bg_BG/admin_dependencies_chk.po +++ /dev/null @@ -1,73 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:33+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Bulgarian (Bulgaria) (http://www.transifex.com/projects/p/owncloud/language/bg_BG/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: bg_BG\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: settings.php:33 -msgid "" -"The php-json module is needed by the many applications for inter " -"communications" -msgstr "" - -#: settings.php:39 -msgid "" -"The php-curl modude is needed to fetch the page title when adding a " -"bookmarks" -msgstr "" - -#: settings.php:45 -msgid "The php-gd module is needed to create thumbnails of your images" -msgstr "" - -#: settings.php:51 -msgid "The php-ldap module is needed connect to your ldap server" -msgstr "" - -#: settings.php:57 -msgid "The php-zip module is needed download multiple files at once" -msgstr "" - -#: settings.php:63 -msgid "" -"The php-mb_multibyte module is needed to manage correctly the encoding." -msgstr "" - -#: settings.php:69 -msgid "The php-ctype module is needed validate data." -msgstr "" - -#: settings.php:75 -msgid "The php-xml module is needed to share files with webdav." -msgstr "" - -#: settings.php:81 -msgid "" -"The allow_url_fopen directive of your php.ini should be set to 1 to retrieve" -" knowledge base from OCS servers" -msgstr "" - -#: settings.php:87 -msgid "The php-pdo module is needed to store owncloud data into a database." -msgstr "" - -#: templates/settings.php:2 -msgid "Dependencies status" -msgstr "" - -#: templates/settings.php:7 -msgid "Used by :" -msgstr "" diff --git a/l10n/bg_BG/admin_migrate.po b/l10n/bg_BG/admin_migrate.po deleted file mode 100644 index 758123404549467c278c4c29a0b83351c0ad8c9f..0000000000000000000000000000000000000000 --- a/l10n/bg_BG/admin_migrate.po +++ /dev/null @@ -1,32 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:32+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Bulgarian (Bulgaria) (http://www.transifex.com/projects/p/owncloud/language/bg_BG/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: bg_BG\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: templates/settings.php:3 -msgid "Export this ownCloud instance" -msgstr "" - -#: templates/settings.php:4 -msgid "" -"This will create a compressed file that contains the data of this owncloud instance.\n" -" Please choose the export type:" -msgstr "" - -#: templates/settings.php:12 -msgid "Export" -msgstr "" diff --git a/l10n/bg_BG/bookmarks.po b/l10n/bg_BG/bookmarks.po deleted file mode 100644 index b55c57ce25185855130c4ef8fb0608966f466568..0000000000000000000000000000000000000000 --- a/l10n/bg_BG/bookmarks.po +++ /dev/null @@ -1,61 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Yasen Pramatarov , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-07-31 22:53+0200\n" -"PO-Revision-Date: 2012-07-30 09:53+0000\n" -"Last-Translator: Yasen Pramatarov \n" -"Language-Team: Bulgarian (Bulgaria) (http://www.transifex.com/projects/p/owncloud/language/bg_BG/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: bg_BG\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: appinfo/app.php:14 -msgid "Bookmarks" -msgstr "Отметки" - -#: bookmarksHelper.php:99 -msgid "unnamed" -msgstr "неозаглавено" - -#: templates/bookmarklet.php:5 -msgid "" -"Drag this to your browser bookmarks and click it, when you want to bookmark " -"a webpage quickly:" -msgstr "Завлачете това в лентата с отметки на браузъра си и го натискайте, когато искате да отметнете бързо някоя страница:" - -#: templates/bookmarklet.php:7 -msgid "Read later" -msgstr "Отмятане" - -#: templates/list.php:13 -msgid "Address" -msgstr "Адрес" - -#: templates/list.php:14 -msgid "Title" -msgstr "Заглавие" - -#: templates/list.php:15 -msgid "Tags" -msgstr "Етикети" - -#: templates/list.php:16 -msgid "Save bookmark" -msgstr "Запис на отметката" - -#: templates/list.php:22 -msgid "You have no bookmarks" -msgstr "Нямате отметки" - -#: templates/settings.php:11 -msgid "Bookmarklet
" -msgstr "Бутон за отметки
" diff --git a/l10n/bg_BG/calendar.po b/l10n/bg_BG/calendar.po deleted file mode 100644 index 856d98f8e4348dd940e3a00e839259cc0636363f..0000000000000000000000000000000000000000 --- a/l10n/bg_BG/calendar.po +++ /dev/null @@ -1,815 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Stefan Ilivanov , 2011. -# Yasen Pramatarov , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-11 02:02+0200\n" -"PO-Revision-Date: 2012-08-11 00:02+0000\n" -"Last-Translator: owncloud_robot \n" -"Language-Team: Bulgarian (Bulgaria) (http://www.transifex.com/projects/p/owncloud/language/bg_BG/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: bg_BG\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: ajax/cache/status.php:19 -msgid "Not all calendars are completely cached" -msgstr "" - -#: ajax/cache/status.php:21 -msgid "Everything seems to be completely cached" -msgstr "" - -#: ajax/categories/rescan.php:29 -msgid "No calendars found." -msgstr "Не са открити календари." - -#: ajax/categories/rescan.php:37 -msgid "No events found." -msgstr "Не са открити събития." - -#: ajax/event/edit.form.php:20 -msgid "Wrong calendar" -msgstr "" - -#: ajax/import/dropimport.php:29 ajax/import/import.php:64 -msgid "" -"The file contained either no events or all events are already saved in your " -"calendar." -msgstr "" - -#: ajax/import/dropimport.php:31 ajax/import/import.php:67 -msgid "events has been saved in the new calendar" -msgstr "" - -#: ajax/import/import.php:56 -msgid "Import failed" -msgstr "Грешка при внасяне" - -#: ajax/import/import.php:69 -msgid "events has been saved in your calendar" -msgstr "" - -#: ajax/settings/guesstimezone.php:25 -msgid "New Timezone:" -msgstr "Нов часови пояс:" - -#: ajax/settings/settimezone.php:23 -msgid "Timezone changed" -msgstr "Часовата зона е сменена" - -#: ajax/settings/settimezone.php:25 -msgid "Invalid request" -msgstr "Невалидна заявка" - -#: appinfo/app.php:35 templates/calendar.php:15 -#: templates/part.eventform.php:33 templates/part.showevent.php:33 -msgid "Calendar" -msgstr "Календар" - -#: js/calendar.js:832 -msgid "ddd" -msgstr "" - -#: js/calendar.js:833 -msgid "ddd M/d" -msgstr "" - -#: js/calendar.js:834 -msgid "dddd M/d" -msgstr "" - -#: js/calendar.js:837 -msgid "MMMM yyyy" -msgstr "" - -#: js/calendar.js:839 -msgid "MMM d[ yyyy]{ '—'[ MMM] d yyyy}" -msgstr "" - -#: js/calendar.js:841 -msgid "dddd, MMM d, yyyy" -msgstr "" - -#: lib/app.php:121 -msgid "Birthday" -msgstr "Роджен ден" - -#: lib/app.php:122 -msgid "Business" -msgstr "" - -#: lib/app.php:123 -msgid "Call" -msgstr "" - -#: lib/app.php:124 -msgid "Clients" -msgstr "Клиенти" - -#: lib/app.php:125 -msgid "Deliverer" -msgstr "" - -#: lib/app.php:126 -msgid "Holidays" -msgstr "Празници" - -#: lib/app.php:127 -msgid "Ideas" -msgstr "Идеи" - -#: lib/app.php:128 -msgid "Journey" -msgstr "Пътуване" - -#: lib/app.php:129 -msgid "Jubilee" -msgstr "" - -#: lib/app.php:130 -msgid "Meeting" -msgstr "Среща" - -#: lib/app.php:131 -msgid "Other" -msgstr "Друго" - -#: lib/app.php:132 -msgid "Personal" -msgstr "Лично" - -#: lib/app.php:133 -msgid "Projects" -msgstr "Проекти" - -#: lib/app.php:134 -msgid "Questions" -msgstr "Въпроси" - -#: lib/app.php:135 -msgid "Work" -msgstr "Работа" - -#: lib/app.php:351 lib/app.php:361 -msgid "by" -msgstr "" - -#: lib/app.php:359 lib/app.php:399 -msgid "unnamed" -msgstr "" - -#: lib/import.php:184 templates/calendar.php:12 -#: templates/part.choosecalendar.php:22 -msgid "New Calendar" -msgstr "Нов календар" - -#: lib/object.php:372 -msgid "Does not repeat" -msgstr "Не се повтаря" - -#: lib/object.php:373 -msgid "Daily" -msgstr "Дневно" - -#: lib/object.php:374 -msgid "Weekly" -msgstr "Седмично" - -#: lib/object.php:375 -msgid "Every Weekday" -msgstr "Всеки делничен ден" - -#: lib/object.php:376 -msgid "Bi-Weekly" -msgstr "Двуседмично" - -#: lib/object.php:377 -msgid "Monthly" -msgstr "Месечно" - -#: lib/object.php:378 -msgid "Yearly" -msgstr "Годишно" - -#: lib/object.php:388 -msgid "never" -msgstr "никога" - -#: lib/object.php:389 -msgid "by occurrences" -msgstr "" - -#: lib/object.php:390 -msgid "by date" -msgstr "" - -#: lib/object.php:400 -msgid "by monthday" -msgstr "" - -#: lib/object.php:401 -msgid "by weekday" -msgstr "" - -#: lib/object.php:411 templates/calendar.php:5 templates/settings.php:69 -msgid "Monday" -msgstr "Понеделник" - -#: lib/object.php:412 templates/calendar.php:5 -msgid "Tuesday" -msgstr "Вторник" - -#: lib/object.php:413 templates/calendar.php:5 -msgid "Wednesday" -msgstr "Сряда" - -#: lib/object.php:414 templates/calendar.php:5 -msgid "Thursday" -msgstr "Четвъртък" - -#: lib/object.php:415 templates/calendar.php:5 -msgid "Friday" -msgstr "Петък" - -#: lib/object.php:416 templates/calendar.php:5 -msgid "Saturday" -msgstr "Събота" - -#: lib/object.php:417 templates/calendar.php:5 templates/settings.php:70 -msgid "Sunday" -msgstr "Неделя" - -#: lib/object.php:427 -msgid "events week of month" -msgstr "" - -#: lib/object.php:428 -msgid "first" -msgstr "" - -#: lib/object.php:429 -msgid "second" -msgstr "" - -#: lib/object.php:430 -msgid "third" -msgstr "" - -#: lib/object.php:431 -msgid "fourth" -msgstr "" - -#: lib/object.php:432 -msgid "fifth" -msgstr "" - -#: lib/object.php:433 -msgid "last" -msgstr "" - -#: lib/object.php:467 templates/calendar.php:7 -msgid "January" -msgstr "" - -#: lib/object.php:468 templates/calendar.php:7 -msgid "February" -msgstr "" - -#: lib/object.php:469 templates/calendar.php:7 -msgid "March" -msgstr "" - -#: lib/object.php:470 templates/calendar.php:7 -msgid "April" -msgstr "" - -#: lib/object.php:471 templates/calendar.php:7 -msgid "May" -msgstr "" - -#: lib/object.php:472 templates/calendar.php:7 -msgid "June" -msgstr "" - -#: lib/object.php:473 templates/calendar.php:7 -msgid "July" -msgstr "" - -#: lib/object.php:474 templates/calendar.php:7 -msgid "August" -msgstr "" - -#: lib/object.php:475 templates/calendar.php:7 -msgid "September" -msgstr "" - -#: lib/object.php:476 templates/calendar.php:7 -msgid "October" -msgstr "" - -#: lib/object.php:477 templates/calendar.php:7 -msgid "November" -msgstr "" - -#: lib/object.php:478 templates/calendar.php:7 -msgid "December" -msgstr "" - -#: lib/object.php:488 -msgid "by events date" -msgstr "" - -#: lib/object.php:489 -msgid "by yearday(s)" -msgstr "" - -#: lib/object.php:490 -msgid "by weeknumber(s)" -msgstr "" - -#: lib/object.php:491 -msgid "by day and month" -msgstr "" - -#: lib/search.php:35 lib/search.php:37 lib/search.php:40 -msgid "Date" -msgstr "" - -#: lib/search.php:43 -msgid "Cal." -msgstr "" - -#: templates/calendar.php:6 -msgid "Sun." -msgstr "" - -#: templates/calendar.php:6 -msgid "Mon." -msgstr "" - -#: templates/calendar.php:6 -msgid "Tue." -msgstr "" - -#: templates/calendar.php:6 -msgid "Wed." -msgstr "" - -#: templates/calendar.php:6 -msgid "Thu." -msgstr "" - -#: templates/calendar.php:6 -msgid "Fri." -msgstr "" - -#: templates/calendar.php:6 -msgid "Sat." -msgstr "" - -#: templates/calendar.php:8 -msgid "Jan." -msgstr "" - -#: templates/calendar.php:8 -msgid "Feb." -msgstr "" - -#: templates/calendar.php:8 -msgid "Mar." -msgstr "" - -#: templates/calendar.php:8 -msgid "Apr." -msgstr "" - -#: templates/calendar.php:8 -msgid "May." -msgstr "" - -#: templates/calendar.php:8 -msgid "Jun." -msgstr "" - -#: templates/calendar.php:8 -msgid "Jul." -msgstr "" - -#: templates/calendar.php:8 -msgid "Aug." -msgstr "" - -#: templates/calendar.php:8 -msgid "Sep." -msgstr "" - -#: templates/calendar.php:8 -msgid "Oct." -msgstr "" - -#: templates/calendar.php:8 -msgid "Nov." -msgstr "" - -#: templates/calendar.php:8 -msgid "Dec." -msgstr "" - -#: templates/calendar.php:11 -msgid "All day" -msgstr "Всички дни" - -#: templates/calendar.php:13 -msgid "Missing fields" -msgstr "Липсват полета" - -#: templates/calendar.php:14 templates/part.eventform.php:19 -#: templates/part.showevent.php:11 -msgid "Title" -msgstr "Заглавие" - -#: templates/calendar.php:16 -msgid "From Date" -msgstr "" - -#: templates/calendar.php:17 -msgid "From Time" -msgstr "" - -#: templates/calendar.php:18 -msgid "To Date" -msgstr "" - -#: templates/calendar.php:19 -msgid "To Time" -msgstr "" - -#: templates/calendar.php:20 -msgid "The event ends before it starts" -msgstr "" - -#: templates/calendar.php:21 -msgid "There was a database fail" -msgstr "" - -#: templates/calendar.php:39 -msgid "Week" -msgstr "Седмица" - -#: templates/calendar.php:40 -msgid "Month" -msgstr "Месец" - -#: templates/calendar.php:41 -msgid "List" -msgstr "Списък" - -#: templates/calendar.php:45 -msgid "Today" -msgstr "Днес" - -#: templates/calendar.php:46 templates/calendar.php:47 -msgid "Settings" -msgstr "" - -#: templates/part.choosecalendar.php:2 -msgid "Your calendars" -msgstr "Вашите календари" - -#: templates/part.choosecalendar.php:27 -#: templates/part.choosecalendar.rowfields.php:11 -msgid "CalDav Link" -msgstr "" - -#: templates/part.choosecalendar.php:31 -msgid "Shared calendars" -msgstr "Споделени календари" - -#: templates/part.choosecalendar.php:48 -msgid "No shared calendars" -msgstr "Няма споделени календари" - -#: templates/part.choosecalendar.rowfields.php:8 -msgid "Share Calendar" -msgstr "Споделяне на календар" - -#: templates/part.choosecalendar.rowfields.php:14 -msgid "Download" -msgstr "Изтегляне" - -#: templates/part.choosecalendar.rowfields.php:17 -msgid "Edit" -msgstr "Промяна" - -#: templates/part.choosecalendar.rowfields.php:20 -#: templates/part.editevent.php:9 -msgid "Delete" -msgstr "Изтриване" - -#: templates/part.choosecalendar.rowfields.shared.php:4 -msgid "shared with you by" -msgstr "" - -#: templates/part.editcalendar.php:9 -msgid "New calendar" -msgstr "Нов календар" - -#: templates/part.editcalendar.php:9 -msgid "Edit calendar" -msgstr "Промени календар" - -#: templates/part.editcalendar.php:12 -msgid "Displayname" -msgstr "Екранно име" - -#: templates/part.editcalendar.php:23 -msgid "Active" -msgstr "Активен" - -#: templates/part.editcalendar.php:29 -msgid "Calendar color" -msgstr "Цвят на календара" - -#: templates/part.editcalendar.php:42 -msgid "Save" -msgstr "Запис" - -#: templates/part.editcalendar.php:42 templates/part.editevent.php:8 -#: templates/part.newevent.php:6 -msgid "Submit" -msgstr "Продължи" - -#: templates/part.editcalendar.php:43 -msgid "Cancel" -msgstr "Отказ" - -#: templates/part.editevent.php:1 -msgid "Edit an event" -msgstr "Промяна на събитие" - -#: templates/part.editevent.php:10 -msgid "Export" -msgstr "Изнасяне" - -#: templates/part.eventform.php:8 templates/part.showevent.php:3 -msgid "Eventinfo" -msgstr "" - -#: templates/part.eventform.php:9 templates/part.showevent.php:4 -msgid "Repeating" -msgstr "" - -#: templates/part.eventform.php:10 templates/part.showevent.php:5 -msgid "Alarm" -msgstr "" - -#: templates/part.eventform.php:11 templates/part.showevent.php:6 -msgid "Attendees" -msgstr "" - -#: templates/part.eventform.php:13 -msgid "Share" -msgstr "Споделяне" - -#: templates/part.eventform.php:21 -msgid "Title of the Event" -msgstr "Наименование" - -#: templates/part.eventform.php:27 templates/part.showevent.php:19 -msgid "Category" -msgstr "Категория" - -#: templates/part.eventform.php:29 -msgid "Separate categories with commas" -msgstr "Отделете категориите със запетаи" - -#: templates/part.eventform.php:30 -msgid "Edit categories" -msgstr "Редактиране на категориите" - -#: templates/part.eventform.php:56 templates/part.showevent.php:52 -msgid "All Day Event" -msgstr "Целодневно събитие" - -#: templates/part.eventform.php:60 templates/part.showevent.php:56 -msgid "From" -msgstr "От" - -#: templates/part.eventform.php:68 templates/part.showevent.php:64 -msgid "To" -msgstr "До" - -#: templates/part.eventform.php:76 templates/part.showevent.php:72 -msgid "Advanced options" -msgstr "Разширени настройки" - -#: templates/part.eventform.php:81 templates/part.showevent.php:77 -msgid "Location" -msgstr "Локация" - -#: templates/part.eventform.php:83 -msgid "Location of the Event" -msgstr "Локация" - -#: templates/part.eventform.php:89 templates/part.showevent.php:85 -msgid "Description" -msgstr "Описание" - -#: templates/part.eventform.php:91 -msgid "Description of the Event" -msgstr "Описание" - -#: templates/part.eventform.php:100 templates/part.showevent.php:95 -msgid "Repeat" -msgstr "Повтори" - -#: templates/part.eventform.php:107 templates/part.showevent.php:102 -msgid "Advanced" -msgstr "" - -#: templates/part.eventform.php:151 templates/part.showevent.php:146 -msgid "Select weekdays" -msgstr "" - -#: templates/part.eventform.php:164 templates/part.eventform.php:177 -#: templates/part.showevent.php:159 templates/part.showevent.php:172 -msgid "Select days" -msgstr "" - -#: templates/part.eventform.php:169 templates/part.showevent.php:164 -msgid "and the events day of year." -msgstr "" - -#: templates/part.eventform.php:182 templates/part.showevent.php:177 -msgid "and the events day of month." -msgstr "" - -#: templates/part.eventform.php:190 templates/part.showevent.php:185 -msgid "Select months" -msgstr "" - -#: templates/part.eventform.php:203 templates/part.showevent.php:198 -msgid "Select weeks" -msgstr "" - -#: templates/part.eventform.php:208 templates/part.showevent.php:203 -msgid "and the events week of year." -msgstr "" - -#: templates/part.eventform.php:214 templates/part.showevent.php:209 -msgid "Interval" -msgstr "" - -#: templates/part.eventform.php:220 templates/part.showevent.php:215 -msgid "End" -msgstr "" - -#: templates/part.eventform.php:233 templates/part.showevent.php:228 -msgid "occurrences" -msgstr "" - -#: templates/part.import.php:14 -msgid "create a new calendar" -msgstr "създаване на нов календар" - -#: templates/part.import.php:17 -msgid "Import a calendar file" -msgstr "" - -#: templates/part.import.php:24 -msgid "Please choose a calendar" -msgstr "Изберете календар" - -#: templates/part.import.php:36 -msgid "Name of new calendar" -msgstr "Име на новия календар" - -#: templates/part.import.php:44 -msgid "Take an available name!" -msgstr "" - -#: templates/part.import.php:45 -msgid "" -"A Calendar with this name already exists. If you continue anyhow, these " -"calendars will be merged." -msgstr "" - -#: templates/part.import.php:47 -msgid "Import" -msgstr "Внасяне" - -#: templates/part.import.php:56 -msgid "Close Dialog" -msgstr "Затваряне на прозореца" - -#: templates/part.newevent.php:1 -msgid "Create a new event" -msgstr "Ново събитие" - -#: templates/part.showevent.php:1 -msgid "View an event" -msgstr "Преглед на събитие" - -#: templates/part.showevent.php:23 -msgid "No categories selected" -msgstr "Няма избрани категории" - -#: templates/part.showevent.php:37 -msgid "of" -msgstr "" - -#: templates/part.showevent.php:59 templates/part.showevent.php:67 -msgid "at" -msgstr "" - -#: templates/settings.php:10 -msgid "General" -msgstr "" - -#: templates/settings.php:15 -msgid "Timezone" -msgstr "Часова зона" - -#: templates/settings.php:47 -msgid "Update timezone automatically" -msgstr "" - -#: templates/settings.php:52 -msgid "Time format" -msgstr "" - -#: templates/settings.php:57 -msgid "24h" -msgstr "" - -#: templates/settings.php:58 -msgid "12h" -msgstr "" - -#: templates/settings.php:64 -msgid "Start week on" -msgstr "" - -#: templates/settings.php:76 -msgid "Cache" -msgstr "" - -#: templates/settings.php:80 -msgid "Clear cache for repeating events" -msgstr "" - -#: templates/settings.php:85 -msgid "URLs" -msgstr "" - -#: templates/settings.php:87 -msgid "Calendar CalDAV syncing addresses" -msgstr "" - -#: templates/settings.php:87 -msgid "more info" -msgstr "" - -#: templates/settings.php:89 -msgid "Primary address (Kontact et al)" -msgstr "" - -#: templates/settings.php:91 -msgid "iOS/OS X" -msgstr "" - -#: templates/settings.php:93 -msgid "Read only iCalendar link(s)" -msgstr "" - -#: templates/share.dropdown.php:20 -msgid "Users" -msgstr "" - -#: templates/share.dropdown.php:21 -msgid "select users" -msgstr "" - -#: templates/share.dropdown.php:36 templates/share.dropdown.php:62 -msgid "Editable" -msgstr "" - -#: templates/share.dropdown.php:48 -msgid "Groups" -msgstr "Групи" - -#: templates/share.dropdown.php:49 -msgid "select groups" -msgstr "" - -#: templates/share.dropdown.php:75 -msgid "make public" -msgstr "" diff --git a/l10n/bg_BG/contacts.po b/l10n/bg_BG/contacts.po deleted file mode 100644 index 28690adf4db6858ac2cc2145d9a00c3aa87f5248..0000000000000000000000000000000000000000 --- a/l10n/bg_BG/contacts.po +++ /dev/null @@ -1,952 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-24 02:02+0200\n" -"PO-Revision-Date: 2012-08-24 00:02+0000\n" -"Last-Translator: I Robot \n" -"Language-Team: Bulgarian (Bulgaria) (http://www.transifex.com/projects/p/owncloud/language/bg_BG/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: bg_BG\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: ajax/addressbook/activate.php:24 ajax/addressbook/update.php:32 -msgid "Error (de)activating addressbook." -msgstr "" - -#: ajax/addressbook/delete.php:31 ajax/addressbook/update.php:20 -#: ajax/contact/addproperty.php:42 ajax/contact/delete.php:32 -#: ajax/contact/saveproperty.php:39 -msgid "id is not set." -msgstr "" - -#: ajax/addressbook/update.php:24 -msgid "Cannot update addressbook with an empty name." -msgstr "" - -#: ajax/addressbook/update.php:28 -msgid "Error updating addressbook." -msgstr "" - -#: ajax/categories/categoriesfor.php:17 -msgid "No ID provided" -msgstr "" - -#: ajax/categories/categoriesfor.php:34 -msgid "Error setting checksum." -msgstr "" - -#: ajax/categories/delete.php:19 -msgid "No categories selected for deletion." -msgstr "" - -#: ajax/categories/delete.php:26 -msgid "No address books found." -msgstr "" - -#: ajax/categories/delete.php:34 -msgid "No contacts found." -msgstr "" - -#: ajax/contact/add.php:47 -msgid "There was an error adding the contact." -msgstr "" - -#: ajax/contact/addproperty.php:39 ajax/contact/saveproperty.php:36 -msgid "element name is not set." -msgstr "" - -#: ajax/contact/addproperty.php:46 -msgid "Could not parse contact: " -msgstr "" - -#: ajax/contact/addproperty.php:56 -msgid "Cannot add empty property." -msgstr "" - -#: ajax/contact/addproperty.php:67 -msgid "At least one of the address fields has to be filled out." -msgstr "" - -#: ajax/contact/addproperty.php:76 -msgid "Trying to add duplicate property: " -msgstr "" - -#: ajax/contact/addproperty.php:115 ajax/contact/saveproperty.php:93 -msgid "Missing IM parameter." -msgstr "" - -#: ajax/contact/addproperty.php:119 ajax/contact/saveproperty.php:97 -msgid "Unknown IM: " -msgstr "" - -#: ajax/contact/deleteproperty.php:37 -msgid "Information about vCard is incorrect. Please reload the page." -msgstr "" - -#: ajax/contact/details.php:31 -msgid "Missing ID" -msgstr "" - -#: ajax/contact/details.php:36 -msgid "Error parsing VCard for ID: \"" -msgstr "" - -#: ajax/contact/saveproperty.php:42 -msgid "checksum is not set." -msgstr "" - -#: ajax/contact/saveproperty.php:62 -msgid "Information about vCard is incorrect. Please reload the page: " -msgstr "" - -#: ajax/contact/saveproperty.php:69 -msgid "Something went FUBAR. " -msgstr "" - -#: ajax/currentphoto.php:30 ajax/oc_photo.php:28 ajax/uploadphoto.php:36 -#: ajax/uploadphoto.php:68 -msgid "No contact ID was submitted." -msgstr "" - -#: ajax/currentphoto.php:36 -msgid "Error reading contact photo." -msgstr "" - -#: ajax/currentphoto.php:48 -msgid "Error saving temporary file." -msgstr "" - -#: ajax/currentphoto.php:51 -msgid "The loading photo is not valid." -msgstr "" - -#: ajax/editname.php:31 -msgid "Contact ID is missing." -msgstr "" - -#: ajax/oc_photo.php:32 -msgid "No photo path was submitted." -msgstr "" - -#: ajax/oc_photo.php:39 -msgid "File doesn't exist:" -msgstr "" - -#: ajax/oc_photo.php:44 ajax/oc_photo.php:47 -msgid "Error loading image." -msgstr "" - -#: ajax/savecrop.php:69 -msgid "Error getting contact object." -msgstr "" - -#: ajax/savecrop.php:79 -msgid "Error getting PHOTO property." -msgstr "" - -#: ajax/savecrop.php:98 -msgid "Error saving contact." -msgstr "" - -#: ajax/savecrop.php:109 -msgid "Error resizing image" -msgstr "" - -#: ajax/savecrop.php:112 -msgid "Error cropping image" -msgstr "" - -#: ajax/savecrop.php:115 -msgid "Error creating temporary image" -msgstr "" - -#: ajax/savecrop.php:118 -msgid "Error finding image: " -msgstr "" - -#: ajax/uploadimport.php:44 ajax/uploadimport.php:76 -msgid "Error uploading contacts to storage." -msgstr "" - -#: ajax/uploadimport.php:61 ajax/uploadphoto.php:77 -msgid "There is no error, the file uploaded with success" -msgstr "" - -#: ajax/uploadimport.php:62 ajax/uploadphoto.php:78 -msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" -msgstr "" - -#: ajax/uploadimport.php:63 ajax/uploadphoto.php:79 -msgid "" -"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " -"the HTML form" -msgstr "" - -#: ajax/uploadimport.php:64 ajax/uploadphoto.php:80 -msgid "The uploaded file was only partially uploaded" -msgstr "" - -#: ajax/uploadimport.php:65 ajax/uploadphoto.php:81 -msgid "No file was uploaded" -msgstr "" - -#: ajax/uploadimport.php:66 ajax/uploadphoto.php:82 -msgid "Missing a temporary folder" -msgstr "" - -#: ajax/uploadphoto.php:59 ajax/uploadphoto.php:109 -msgid "Couldn't save temporary image: " -msgstr "" - -#: ajax/uploadphoto.php:62 ajax/uploadphoto.php:112 -msgid "Couldn't load temporary image: " -msgstr "" - -#: ajax/uploadphoto.php:71 -msgid "No file was uploaded. Unknown error" -msgstr "" - -#: appinfo/app.php:21 -msgid "Contacts" -msgstr "" - -#: js/contacts.js:71 -msgid "Sorry, this functionality has not been implemented yet" -msgstr "" - -#: js/contacts.js:71 -msgid "Not implemented" -msgstr "" - -#: js/contacts.js:76 -msgid "Couldn't get a valid address." -msgstr "" - -#: js/contacts.js:76 js/contacts.js:365 js/contacts.js:381 js/contacts.js:393 -#: js/contacts.js:723 js/contacts.js:763 js/contacts.js:789 js/contacts.js:921 -#: js/contacts.js:927 js/contacts.js:939 js/contacts.js:976 -#: js/contacts.js:1250 js/contacts.js:1258 js/contacts.js:1267 -#: js/contacts.js:1302 js/contacts.js:1338 js/contacts.js:1353 -#: js/contacts.js:1379 js/contacts.js:1609 js/contacts.js:1644 -#: js/contacts.js:1664 js/settings.js:26 js/settings.js:43 js/settings.js:68 -msgid "Error" -msgstr "" - -#: js/contacts.js:424 -msgid "You do not have permission to add contacts to " -msgstr "" - -#: js/contacts.js:425 -msgid "Please select one of your own address books." -msgstr "" - -#: js/contacts.js:425 -msgid "Permission error" -msgstr "" - -#: js/contacts.js:763 -msgid "This property has to be non-empty." -msgstr "" - -#: js/contacts.js:789 -msgid "Couldn't serialize elements." -msgstr "" - -#: js/contacts.js:921 js/contacts.js:939 -msgid "" -"'deleteProperty' called without type argument. Please report at " -"bugs.owncloud.org" -msgstr "" - -#: js/contacts.js:958 -msgid "Edit name" -msgstr "" - -#: js/contacts.js:1250 -msgid "No files selected for upload." -msgstr "" - -#: js/contacts.js:1258 -msgid "" -"The file you are trying to upload exceed the maximum size for file uploads " -"on this server." -msgstr "" - -#: js/contacts.js:1322 -msgid "Error loading profile picture." -msgstr "" - -#: js/contacts.js:1457 js/contacts.js:1498 js/contacts.js:1517 -#: js/contacts.js:1560 -msgid "Select type" -msgstr "" - -#: js/contacts.js:1578 -msgid "" -"Some contacts are marked for deletion, but not deleted yet. Please wait for " -"them to be deleted." -msgstr "" - -#: js/contacts.js:1649 -msgid "Do you want to merge these address books?" -msgstr "" - -#: js/loader.js:49 -msgid "Result: " -msgstr "" - -#: js/loader.js:49 -msgid " imported, " -msgstr "" - -#: js/loader.js:49 -msgid " failed." -msgstr "" - -#: js/settings.js:68 -msgid "Displayname cannot be empty." -msgstr "" - -#: lib/app.php:36 -msgid "Addressbook not found: " -msgstr "" - -#: lib/app.php:52 -msgid "This is not your addressbook." -msgstr "" - -#: lib/app.php:71 -msgid "Contact could not be found." -msgstr "" - -#: lib/app.php:116 -msgid "Jabber" -msgstr "" - -#: lib/app.php:121 -msgid "AIM" -msgstr "" - -#: lib/app.php:126 -msgid "MSN" -msgstr "" - -#: lib/app.php:131 -msgid "Twitter" -msgstr "" - -#: lib/app.php:136 -msgid "GoogleTalk" -msgstr "" - -#: lib/app.php:141 -msgid "Facebook" -msgstr "" - -#: lib/app.php:146 -msgid "XMPP" -msgstr "" - -#: lib/app.php:151 -msgid "ICQ" -msgstr "" - -#: lib/app.php:156 -msgid "Yahoo" -msgstr "" - -#: lib/app.php:161 -msgid "Skype" -msgstr "" - -#: lib/app.php:166 -msgid "QQ" -msgstr "" - -#: lib/app.php:171 -msgid "GaduGadu" -msgstr "" - -#: lib/app.php:194 lib/app.php:202 lib/app.php:213 lib/app.php:266 -msgid "Work" -msgstr "" - -#: lib/app.php:195 lib/app.php:200 lib/app.php:214 -msgid "Home" -msgstr "" - -#: lib/app.php:196 lib/app.php:209 lib/app.php:262 lib/vcard.php:593 -msgid "Other" -msgstr "" - -#: lib/app.php:201 -msgid "Mobile" -msgstr "" - -#: lib/app.php:203 -msgid "Text" -msgstr "" - -#: lib/app.php:204 -msgid "Voice" -msgstr "" - -#: lib/app.php:205 -msgid "Message" -msgstr "" - -#: lib/app.php:206 -msgid "Fax" -msgstr "" - -#: lib/app.php:207 -msgid "Video" -msgstr "" - -#: lib/app.php:208 -msgid "Pager" -msgstr "" - -#: lib/app.php:215 -msgid "Internet" -msgstr "" - -#: lib/app.php:252 templates/part.contact.php:45 -#: templates/part.contact.php:128 -msgid "Birthday" -msgstr "" - -#: lib/app.php:253 -msgid "Business" -msgstr "" - -#: lib/app.php:254 -msgid "Call" -msgstr "" - -#: lib/app.php:255 -msgid "Clients" -msgstr "" - -#: lib/app.php:256 -msgid "Deliverer" -msgstr "" - -#: lib/app.php:257 -msgid "Holidays" -msgstr "" - -#: lib/app.php:258 -msgid "Ideas" -msgstr "" - -#: lib/app.php:259 -msgid "Journey" -msgstr "" - -#: lib/app.php:260 -msgid "Jubilee" -msgstr "" - -#: lib/app.php:261 -msgid "Meeting" -msgstr "" - -#: lib/app.php:263 -msgid "Personal" -msgstr "" - -#: lib/app.php:264 -msgid "Projects" -msgstr "" - -#: lib/app.php:265 -msgid "Questions" -msgstr "" - -#: lib/hooks.php:102 -msgid "{name}'s Birthday" -msgstr "" - -#: lib/search.php:15 -msgid "Contact" -msgstr "" - -#: lib/vcard.php:408 -msgid "You do not have the permissions to edit this contact." -msgstr "" - -#: lib/vcard.php:483 -msgid "You do not have the permissions to delete this contact." -msgstr "" - -#: templates/index.php:14 -msgid "Add Contact" -msgstr "" - -#: templates/index.php:15 templates/index.php:16 templates/part.import.php:17 -msgid "Import" -msgstr "" - -#: templates/index.php:18 -msgid "Settings" -msgstr "" - -#: templates/index.php:18 templates/settings.php:9 -msgid "Addressbooks" -msgstr "" - -#: templates/index.php:36 templates/part.import.php:24 -msgid "Close" -msgstr "" - -#: templates/index.php:37 -msgid "Keyboard shortcuts" -msgstr "" - -#: templates/index.php:39 -msgid "Navigation" -msgstr "" - -#: templates/index.php:42 -msgid "Next contact in list" -msgstr "" - -#: templates/index.php:44 -msgid "Previous contact in list" -msgstr "" - -#: templates/index.php:46 -msgid "Expand/collapse current addressbook" -msgstr "" - -#: templates/index.php:48 -msgid "Next addressbook" -msgstr "" - -#: templates/index.php:50 -msgid "Previous addressbook" -msgstr "" - -#: templates/index.php:54 -msgid "Actions" -msgstr "" - -#: templates/index.php:57 -msgid "Refresh contacts list" -msgstr "" - -#: templates/index.php:59 -msgid "Add new contact" -msgstr "" - -#: templates/index.php:61 -msgid "Add new addressbook" -msgstr "" - -#: templates/index.php:63 -msgid "Delete current contact" -msgstr "" - -#: templates/part.contact.php:17 -msgid "Drop photo to upload" -msgstr "" - -#: templates/part.contact.php:19 -msgid "Delete current photo" -msgstr "" - -#: templates/part.contact.php:20 -msgid "Edit current photo" -msgstr "" - -#: templates/part.contact.php:21 -msgid "Upload new photo" -msgstr "" - -#: templates/part.contact.php:22 -msgid "Select photo from ownCloud" -msgstr "" - -#: templates/part.contact.php:35 -msgid "Format custom, Short name, Full name, Reverse or Reverse with comma" -msgstr "" - -#: templates/part.contact.php:36 -msgid "Edit name details" -msgstr "" - -#: templates/part.contact.php:39 templates/part.contact.php:40 -#: templates/part.contact.php:126 -msgid "Organization" -msgstr "" - -#: templates/part.contact.php:40 templates/part.contact.php:42 -#: templates/part.contact.php:44 templates/part.contact.php:46 -#: templates/part.contact.php:50 templates/settings.php:36 -msgid "Delete" -msgstr "" - -#: templates/part.contact.php:41 templates/part.contact.php:127 -msgid "Nickname" -msgstr "" - -#: templates/part.contact.php:42 -msgid "Enter nickname" -msgstr "" - -#: templates/part.contact.php:43 templates/part.contact.php:134 -msgid "Web site" -msgstr "" - -#: templates/part.contact.php:44 -msgid "http://www.somesite.com" -msgstr "" - -#: templates/part.contact.php:44 -msgid "Go to web site" -msgstr "" - -#: templates/part.contact.php:46 -msgid "dd-mm-yyyy" -msgstr "" - -#: templates/part.contact.php:47 templates/part.contact.php:135 -msgid "Groups" -msgstr "" - -#: templates/part.contact.php:49 -msgid "Separate groups with commas" -msgstr "" - -#: templates/part.contact.php:50 -msgid "Edit groups" -msgstr "" - -#: templates/part.contact.php:59 templates/part.contact.php:73 -#: templates/part.contact.php:98 -msgid "Preferred" -msgstr "" - -#: templates/part.contact.php:60 -msgid "Please specify a valid email address." -msgstr "" - -#: templates/part.contact.php:60 -msgid "Enter email address" -msgstr "" - -#: templates/part.contact.php:64 -msgid "Mail to address" -msgstr "" - -#: templates/part.contact.php:65 -msgid "Delete email address" -msgstr "" - -#: templates/part.contact.php:75 -msgid "Enter phone number" -msgstr "" - -#: templates/part.contact.php:79 -msgid "Delete phone number" -msgstr "" - -#: templates/part.contact.php:100 -msgid "Instant Messenger" -msgstr "" - -#: templates/part.contact.php:101 -msgid "Delete IM" -msgstr "" - -#: templates/part.contact.php:110 -msgid "View on map" -msgstr "" - -#: templates/part.contact.php:110 -msgid "Edit address details" -msgstr "" - -#: templates/part.contact.php:116 -msgid "Add notes here." -msgstr "" - -#: templates/part.contact.php:124 -msgid "Add field" -msgstr "" - -#: templates/part.contact.php:129 -msgid "Phone" -msgstr "" - -#: templates/part.contact.php:130 -msgid "Email" -msgstr "" - -#: templates/part.contact.php:131 -msgid "Instant Messaging" -msgstr "" - -#: templates/part.contact.php:132 -msgid "Address" -msgstr "" - -#: templates/part.contact.php:133 -msgid "Note" -msgstr "" - -#: templates/part.contact.php:138 -msgid "Download contact" -msgstr "" - -#: templates/part.contact.php:139 -msgid "Delete contact" -msgstr "" - -#: templates/part.cropphoto.php:65 -msgid "The temporary image has been removed from cache." -msgstr "" - -#: templates/part.edit_address_dialog.php:6 -msgid "Edit address" -msgstr "" - -#: templates/part.edit_address_dialog.php:10 -msgid "Type" -msgstr "" - -#: templates/part.edit_address_dialog.php:18 -#: templates/part.edit_address_dialog.php:21 -msgid "PO Box" -msgstr "" - -#: templates/part.edit_address_dialog.php:24 -msgid "Street address" -msgstr "" - -#: templates/part.edit_address_dialog.php:27 -msgid "Street and number" -msgstr "" - -#: templates/part.edit_address_dialog.php:30 -msgid "Extended" -msgstr "" - -#: templates/part.edit_address_dialog.php:33 -msgid "Apartment number etc." -msgstr "" - -#: templates/part.edit_address_dialog.php:36 -#: templates/part.edit_address_dialog.php:39 -msgid "City" -msgstr "" - -#: templates/part.edit_address_dialog.php:42 -msgid "Region" -msgstr "" - -#: templates/part.edit_address_dialog.php:45 -msgid "E.g. state or province" -msgstr "" - -#: templates/part.edit_address_dialog.php:48 -msgid "Zipcode" -msgstr "" - -#: templates/part.edit_address_dialog.php:51 -msgid "Postal code" -msgstr "" - -#: templates/part.edit_address_dialog.php:54 -#: templates/part.edit_address_dialog.php:57 -msgid "Country" -msgstr "" - -#: templates/part.edit_name_dialog.php:16 -msgid "Addressbook" -msgstr "" - -#: templates/part.edit_name_dialog.php:23 -msgid "Hon. prefixes" -msgstr "" - -#: templates/part.edit_name_dialog.php:27 -msgid "Miss" -msgstr "" - -#: templates/part.edit_name_dialog.php:28 -msgid "Ms" -msgstr "" - -#: templates/part.edit_name_dialog.php:29 -msgid "Mr" -msgstr "" - -#: templates/part.edit_name_dialog.php:30 -msgid "Sir" -msgstr "" - -#: templates/part.edit_name_dialog.php:31 -msgid "Mrs" -msgstr "" - -#: templates/part.edit_name_dialog.php:32 -msgid "Dr" -msgstr "" - -#: templates/part.edit_name_dialog.php:35 -msgid "Given name" -msgstr "" - -#: templates/part.edit_name_dialog.php:37 -msgid "Additional names" -msgstr "" - -#: templates/part.edit_name_dialog.php:39 -msgid "Family name" -msgstr "" - -#: templates/part.edit_name_dialog.php:41 -msgid "Hon. suffixes" -msgstr "" - -#: templates/part.edit_name_dialog.php:45 -msgid "J.D." -msgstr "" - -#: templates/part.edit_name_dialog.php:46 -msgid "M.D." -msgstr "" - -#: templates/part.edit_name_dialog.php:47 -msgid "D.O." -msgstr "" - -#: templates/part.edit_name_dialog.php:48 -msgid "D.C." -msgstr "" - -#: templates/part.edit_name_dialog.php:49 -msgid "Ph.D." -msgstr "" - -#: templates/part.edit_name_dialog.php:50 -msgid "Esq." -msgstr "" - -#: templates/part.edit_name_dialog.php:51 -msgid "Jr." -msgstr "" - -#: templates/part.edit_name_dialog.php:52 -msgid "Sn." -msgstr "" - -#: templates/part.import.php:1 -msgid "Import a contacts file" -msgstr "" - -#: templates/part.import.php:6 -msgid "Please choose the addressbook" -msgstr "" - -#: templates/part.import.php:10 -msgid "create a new addressbook" -msgstr "" - -#: templates/part.import.php:15 -msgid "Name of new addressbook" -msgstr "" - -#: templates/part.import.php:20 -msgid "Importing contacts" -msgstr "" - -#: templates/part.no_contacts.php:3 -msgid "You have no contacts in your addressbook." -msgstr "" - -#: templates/part.no_contacts.php:5 -msgid "Add contact" -msgstr "" - -#: templates/part.selectaddressbook.php:1 -msgid "Select Address Books" -msgstr "" - -#: templates/part.selectaddressbook.php:27 -msgid "Enter name" -msgstr "" - -#: templates/part.selectaddressbook.php:29 -msgid "Enter description" -msgstr "" - -#: templates/settings.php:3 -msgid "CardDAV syncing addresses" -msgstr "" - -#: templates/settings.php:3 -msgid "more info" -msgstr "" - -#: templates/settings.php:5 -msgid "Primary address (Kontact et al)" -msgstr "" - -#: templates/settings.php:7 -msgid "iOS/OS X" -msgstr "" - -#: templates/settings.php:20 -msgid "Show CardDav link" -msgstr "" - -#: templates/settings.php:23 -msgid "Show read-only VCF link" -msgstr "" - -#: templates/settings.php:26 -msgid "Share" -msgstr "" - -#: templates/settings.php:29 -msgid "Download" -msgstr "" - -#: templates/settings.php:33 -msgid "Edit" -msgstr "" - -#: templates/settings.php:43 -msgid "New Address Book" -msgstr "" - -#: templates/settings.php:44 -msgid "Name" -msgstr "" - -#: templates/settings.php:45 -msgid "Description" -msgstr "" - -#: templates/settings.php:46 -msgid "Save" -msgstr "" - -#: templates/settings.php:47 -msgid "Cancel" -msgstr "" - -#: templates/settings.php:52 -msgid "More..." -msgstr "" diff --git a/l10n/bg_BG/core.po b/l10n/bg_BG/core.po index cbc25fc2b3069b0f920f52f274eaef4176162431..1bb3279a2dfa259b5392e3909140c204592dfa98 100644 --- a/l10n/bg_BG/core.po +++ b/l10n/bg_BG/core.po @@ -11,9 +11,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-16 02:04+0200\n" -"PO-Revision-Date: 2012-10-16 00:05+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-11-16 00:02+0100\n" +"PO-Revision-Date: 2012-11-14 23:13+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Bulgarian (Bulgaria) (http://www.transifex.com/projects/p/owncloud/language/bg_BG/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -21,209 +21,241 @@ msgstr "" "Language: bg_BG\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: ajax/vcategories/add.php:23 ajax/vcategories/delete.php:23 -msgid "Application name not provided." +#: ajax/vcategories/add.php:26 ajax/vcategories/edit.php:25 +msgid "Category type not provided." msgstr "" -#: ajax/vcategories/add.php:29 +#: ajax/vcategories/add.php:30 msgid "No category to add?" msgstr "" -#: ajax/vcategories/add.php:36 +#: ajax/vcategories/add.php:37 msgid "This category already exists: " msgstr "Категорията вече съществува:" -#: js/js.js:238 templates/layout.user.php:49 templates/layout.user.php:50 +#: ajax/vcategories/addToFavorites.php:26 ajax/vcategories/delete.php:27 +#: ajax/vcategories/favorites.php:24 +#: ajax/vcategories/removeFromFavorites.php:26 +msgid "Object type not provided." +msgstr "" + +#: ajax/vcategories/addToFavorites.php:30 +#: ajax/vcategories/removeFromFavorites.php:30 +#, php-format +msgid "%s ID not provided." +msgstr "" + +#: ajax/vcategories/addToFavorites.php:35 +#, php-format +msgid "Error adding %s to favorites." +msgstr "" + +#: ajax/vcategories/delete.php:35 js/oc-vcategories.js:136 +msgid "No categories selected for deletion." +msgstr "Няма избрани категории за изтриване" + +#: ajax/vcategories/removeFromFavorites.php:35 +#, php-format +msgid "Error removing %s from favorites." +msgstr "" + +#: js/js.js:243 templates/layout.user.php:59 templates/layout.user.php:60 msgid "Settings" msgstr "Настройки" -#: js/js.js:670 -msgid "January" -msgstr "Януари" +#: js/js.js:688 +msgid "seconds ago" +msgstr "" -#: js/js.js:670 -msgid "February" -msgstr "Февруари" +#: js/js.js:689 +msgid "1 minute ago" +msgstr "" -#: js/js.js:670 -msgid "March" -msgstr "Март" +#: js/js.js:690 +msgid "{minutes} minutes ago" +msgstr "" -#: js/js.js:670 -msgid "April" -msgstr "Април" +#: js/js.js:691 +msgid "1 hour ago" +msgstr "" -#: js/js.js:670 -msgid "May" -msgstr "Май" +#: js/js.js:692 +msgid "{hours} hours ago" +msgstr "" -#: js/js.js:670 -msgid "June" -msgstr "Юни" +#: js/js.js:693 +msgid "today" +msgstr "" -#: js/js.js:671 -msgid "July" -msgstr "Юли" +#: js/js.js:694 +msgid "yesterday" +msgstr "" -#: js/js.js:671 -msgid "August" -msgstr "Август" +#: js/js.js:695 +msgid "{days} days ago" +msgstr "" -#: js/js.js:671 -msgid "September" -msgstr "Септември" +#: js/js.js:696 +msgid "last month" +msgstr "" -#: js/js.js:671 -msgid "October" -msgstr "Октомври" +#: js/js.js:697 +msgid "{months} months ago" +msgstr "" -#: js/js.js:671 -msgid "November" -msgstr "Ноември" +#: js/js.js:698 +msgid "months ago" +msgstr "" -#: js/js.js:671 -msgid "December" -msgstr "Декември" +#: js/js.js:699 +msgid "last year" +msgstr "" + +#: js/js.js:700 +msgid "years ago" +msgstr "" -#: js/oc-dialogs.js:123 +#: js/oc-dialogs.js:126 msgid "Choose" msgstr "" -#: js/oc-dialogs.js:143 js/oc-dialogs.js:163 +#: js/oc-dialogs.js:146 js/oc-dialogs.js:166 msgid "Cancel" msgstr "Отказ" -#: js/oc-dialogs.js:159 +#: js/oc-dialogs.js:162 msgid "No" msgstr "Не" -#: js/oc-dialogs.js:160 +#: js/oc-dialogs.js:163 msgid "Yes" msgstr "Да" -#: js/oc-dialogs.js:177 +#: js/oc-dialogs.js:180 msgid "Ok" msgstr "Добре" -#: js/oc-vcategories.js:68 -msgid "No categories selected for deletion." -msgstr "Няма избрани категории за изтриване" +#: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102 +#: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162 +msgid "The object type is not specified." +msgstr "" -#: js/oc-vcategories.js:68 js/share.js:114 js/share.js:121 js/share.js:497 -#: js/share.js:509 +#: js/oc-vcategories.js:95 js/oc-vcategories.js:125 js/oc-vcategories.js:136 +#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:525 +#: js/share.js:537 msgid "Error" msgstr "Грешка" -#: js/share.js:103 +#: js/oc-vcategories.js:179 +msgid "The app name is not specified." +msgstr "" + +#: js/oc-vcategories.js:194 +msgid "The required file {file} is not installed!" +msgstr "" + +#: js/share.js:124 msgid "Error while sharing" msgstr "" -#: js/share.js:114 +#: js/share.js:135 msgid "Error while unsharing" msgstr "" -#: js/share.js:121 +#: js/share.js:142 msgid "Error while changing permissions" msgstr "" -#: js/share.js:130 -msgid "Shared with you and the group" -msgstr "" - -#: js/share.js:130 -msgid "by" +#: js/share.js:151 +msgid "Shared with you and the group {group} by {owner}" msgstr "" -#: js/share.js:132 -msgid "Shared with you by" +#: js/share.js:153 +msgid "Shared with you by {owner}" msgstr "" -#: js/share.js:137 +#: js/share.js:158 msgid "Share with" msgstr "" -#: js/share.js:142 +#: js/share.js:163 msgid "Share with link" msgstr "" -#: js/share.js:143 +#: js/share.js:164 msgid "Password protect" msgstr "" -#: js/share.js:147 templates/installation.php:42 templates/login.php:24 +#: js/share.js:168 templates/installation.php:42 templates/login.php:24 #: templates/verify.php:13 msgid "Password" msgstr "Парола" -#: js/share.js:152 +#: js/share.js:173 msgid "Set expiration date" msgstr "" -#: js/share.js:153 +#: js/share.js:174 msgid "Expiration date" msgstr "" -#: js/share.js:185 +#: js/share.js:206 msgid "Share via email:" msgstr "" -#: js/share.js:187 +#: js/share.js:208 msgid "No people found" msgstr "" -#: js/share.js:214 +#: js/share.js:235 msgid "Resharing is not allowed" msgstr "" -#: js/share.js:250 -msgid "Shared in" -msgstr "" - -#: js/share.js:250 -msgid "with" +#: js/share.js:271 +msgid "Shared in {item} with {user}" msgstr "" -#: js/share.js:271 +#: js/share.js:292 msgid "Unshare" msgstr "" -#: js/share.js:283 +#: js/share.js:304 msgid "can edit" msgstr "" -#: js/share.js:285 +#: js/share.js:306 msgid "access control" msgstr "" -#: js/share.js:288 +#: js/share.js:309 msgid "create" msgstr "" -#: js/share.js:291 +#: js/share.js:312 msgid "update" msgstr "" -#: js/share.js:294 +#: js/share.js:315 msgid "delete" msgstr "" -#: js/share.js:297 +#: js/share.js:318 msgid "share" msgstr "" -#: js/share.js:322 js/share.js:484 +#: js/share.js:343 js/share.js:512 js/share.js:514 msgid "Password protected" msgstr "" -#: js/share.js:497 +#: js/share.js:525 msgid "Error unsetting expiration date" msgstr "" -#: js/share.js:509 +#: js/share.js:537 msgid "Error setting expiration date" msgstr "" -#: lostpassword/index.php:26 +#: lostpassword/controller.php:47 msgid "ownCloud password reset" msgstr "" @@ -236,12 +268,12 @@ msgid "You will receive a link to reset your password via Email." msgstr "Ще получите връзка за нулиране на паролата Ви." #: lostpassword/templates/lostpassword.php:5 -msgid "Requested" -msgstr "Заявено" +msgid "Reset email send." +msgstr "" #: lostpassword/templates/lostpassword.php:8 -msgid "Login failed!" -msgstr "Входа пропадна!" +msgid "Request failed!" +msgstr "" #: lostpassword/templates/lostpassword.php:11 templates/installation.php:38 #: templates/login.php:20 @@ -300,7 +332,7 @@ msgstr "облакът не намерен" msgid "Edit categories" msgstr "Редактиране на категориите" -#: templates/edit_categories_dialog.php:14 +#: templates/edit_categories_dialog.php:16 msgid "Add" msgstr "Добавяне" @@ -374,11 +406,87 @@ msgstr "Хост за базата" msgid "Finish setup" msgstr "Завършване на настройките" -#: templates/layout.guest.php:38 +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Sunday" +msgstr "Неделя" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Monday" +msgstr "Понеделник" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Tuesday" +msgstr "Вторник" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Wednesday" +msgstr "Сряда" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Thursday" +msgstr "Четвъртък" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Friday" +msgstr "Петък" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Saturday" +msgstr "Събота" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "January" +msgstr "Януари" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "February" +msgstr "Февруари" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "March" +msgstr "Март" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "April" +msgstr "Април" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "May" +msgstr "Май" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "June" +msgstr "Юни" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "July" +msgstr "Юли" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "August" +msgstr "Август" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "September" +msgstr "Септември" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "October" +msgstr "Октомври" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "November" +msgstr "Ноември" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "December" +msgstr "Декември" + +#: templates/layout.guest.php:41 msgid "web services under your control" msgstr "" -#: templates/layout.user.php:34 +#: templates/layout.user.php:44 msgid "Log out" msgstr "Изход" diff --git a/l10n/bg_BG/files.po b/l10n/bg_BG/files.po index a084c7d44a0e2e3817227648a1ece42f75818b81..aec7865e43129b5d7b6b7b55c830a5955825c4ee 100644 --- a/l10n/bg_BG/files.po +++ b/l10n/bg_BG/files.po @@ -9,9 +9,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-09-26 13:19+0200\n" -"PO-Revision-Date: 2012-09-26 11:20+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-12-01 00:01+0100\n" +"PO-Revision-Date: 2012-11-30 23:02+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Bulgarian (Bulgaria) (http://www.transifex.com/projects/p/owncloud/language/bg_BG/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -24,194 +24,165 @@ msgid "There is no error, the file uploaded with success" msgstr "Файлът е качен успешно" #: ajax/upload.php:21 -msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" -msgstr "Файлът който се опитвате да качите, надвишава зададените стойности в upload_max_filesize в PHP.INI" +msgid "" +"The uploaded file exceeds the upload_max_filesize directive in php.ini: " +msgstr "" -#: ajax/upload.php:22 +#: ajax/upload.php:23 msgid "" "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " "the HTML form" msgstr "Файлът който се опитвате да качите надвишава стойностите в MAX_FILE_SIZE в HTML формата." -#: ajax/upload.php:23 +#: ajax/upload.php:25 msgid "The uploaded file was only partially uploaded" msgstr "Файлът е качен частично" -#: ajax/upload.php:24 +#: ajax/upload.php:26 msgid "No file was uploaded" msgstr "Фахлът не бе качен" -#: ajax/upload.php:25 +#: ajax/upload.php:27 msgid "Missing a temporary folder" msgstr "Липсва временната папка" -#: ajax/upload.php:26 +#: ajax/upload.php:28 msgid "Failed to write to disk" msgstr "Грешка при запис на диска" -#: appinfo/app.php:6 +#: appinfo/app.php:10 msgid "Files" msgstr "Файлове" -#: js/fileactions.js:108 templates/index.php:62 +#: js/fileactions.js:117 templates/index.php:83 templates/index.php:84 msgid "Unshare" msgstr "" -#: js/fileactions.js:110 templates/index.php:64 +#: js/fileactions.js:119 templates/index.php:89 templates/index.php:90 msgid "Delete" msgstr "Изтриване" -#: js/fileactions.js:182 +#: js/fileactions.js:181 msgid "Rename" msgstr "" -#: js/filelist.js:190 js/filelist.js:192 -msgid "already exists" +#: js/filelist.js:201 js/filelist.js:203 +msgid "{new_name} already exists" msgstr "" -#: js/filelist.js:190 js/filelist.js:192 +#: js/filelist.js:201 js/filelist.js:203 msgid "replace" msgstr "" -#: js/filelist.js:190 +#: js/filelist.js:201 msgid "suggest name" msgstr "" -#: js/filelist.js:190 js/filelist.js:192 +#: js/filelist.js:201 js/filelist.js:203 msgid "cancel" msgstr "" -#: js/filelist.js:239 js/filelist.js:241 -msgid "replaced" +#: js/filelist.js:250 +msgid "replaced {new_name}" msgstr "" -#: js/filelist.js:239 js/filelist.js:241 js/filelist.js:273 js/filelist.js:275 +#: js/filelist.js:250 js/filelist.js:252 js/filelist.js:284 js/filelist.js:286 msgid "undo" msgstr "" -#: js/filelist.js:241 -msgid "with" +#: js/filelist.js:252 +msgid "replaced {new_name} with {old_name}" msgstr "" -#: js/filelist.js:273 -msgid "unshared" +#: js/filelist.js:284 +msgid "unshared {files}" msgstr "" -#: js/filelist.js:275 -msgid "deleted" +#: js/filelist.js:286 +msgid "deleted {files}" +msgstr "" + +#: js/files.js:33 +msgid "" +"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not " +"allowed." msgstr "" -#: js/files.js:179 +#: js/files.js:183 msgid "generating ZIP-file, it may take some time." msgstr "" -#: js/files.js:208 +#: js/files.js:218 msgid "Unable to upload your file as it is a directory or has 0 bytes" msgstr "" -#: js/files.js:208 +#: js/files.js:218 msgid "Upload Error" msgstr "Грешка при качване" -#: js/files.js:236 js/files.js:341 js/files.js:371 +#: js/files.js:235 +msgid "Close" +msgstr "" + +#: js/files.js:254 js/files.js:368 js/files.js:398 msgid "Pending" msgstr "" -#: js/files.js:256 +#: js/files.js:274 msgid "1 file uploading" msgstr "" -#: js/files.js:259 js/files.js:304 js/files.js:319 -msgid "files uploading" +#: js/files.js:277 js/files.js:331 js/files.js:346 +msgid "{count} files uploading" msgstr "" -#: js/files.js:322 js/files.js:355 +#: js/files.js:349 js/files.js:382 msgid "Upload cancelled." msgstr "Качването е отменено." -#: js/files.js:424 +#: js/files.js:451 msgid "" "File upload is in progress. Leaving the page now will cancel the upload." msgstr "" -#: js/files.js:494 -msgid "Invalid name, '/' is not allowed." -msgstr "Неправилно име – \"/\" не е позволено." +#: js/files.js:523 +msgid "Invalid folder name. Usage of \"Shared\" is reserved by Owncloud" +msgstr "" -#: js/files.js:667 -msgid "files scanned" +#: js/files.js:704 +msgid "{count} files scanned" msgstr "" -#: js/files.js:675 +#: js/files.js:712 msgid "error while scanning" msgstr "" -#: js/files.js:748 templates/index.php:48 +#: js/files.js:785 templates/index.php:65 msgid "Name" msgstr "Име" -#: js/files.js:749 templates/index.php:56 +#: js/files.js:786 templates/index.php:76 msgid "Size" msgstr "Размер" -#: js/files.js:750 templates/index.php:58 +#: js/files.js:787 templates/index.php:78 msgid "Modified" msgstr "Променено" -#: js/files.js:777 -msgid "folder" -msgstr "папка" - -#: js/files.js:779 -msgid "folders" -msgstr "папки" - -#: js/files.js:787 -msgid "file" -msgstr "файл" - -#: js/files.js:789 -msgid "files" -msgstr "" - -#: js/files.js:833 -msgid "seconds ago" -msgstr "" - -#: js/files.js:834 -msgid "minute ago" -msgstr "" - -#: js/files.js:835 -msgid "minutes ago" -msgstr "" - -#: js/files.js:838 -msgid "today" +#: js/files.js:814 +msgid "1 folder" msgstr "" -#: js/files.js:839 -msgid "yesterday" +#: js/files.js:816 +msgid "{count} folders" msgstr "" -#: js/files.js:840 -msgid "days ago" +#: js/files.js:824 +msgid "1 file" msgstr "" -#: js/files.js:841 -msgid "last month" -msgstr "" - -#: js/files.js:843 -msgid "months ago" -msgstr "" - -#: js/files.js:844 -msgid "last year" -msgstr "" - -#: js/files.js:845 -msgid "years ago" +#: js/files.js:826 +msgid "{count} files" msgstr "" #: templates/admin.php:5 @@ -222,80 +193,76 @@ msgstr "" msgid "Maximum upload size" msgstr "Макс. размер за качване" -#: templates/admin.php:7 +#: templates/admin.php:9 msgid "max. possible: " msgstr "" -#: templates/admin.php:9 +#: templates/admin.php:12 msgid "Needed for multi-file and folder downloads." msgstr "" -#: templates/admin.php:9 +#: templates/admin.php:14 msgid "Enable ZIP-download" msgstr "" -#: templates/admin.php:11 +#: templates/admin.php:17 msgid "0 is unlimited" msgstr "0 означава без ограничение" -#: templates/admin.php:12 +#: templates/admin.php:19 msgid "Maximum input size for ZIP files" msgstr "" -#: templates/admin.php:14 +#: templates/admin.php:23 msgid "Save" -msgstr "" +msgstr "Запис" #: templates/index.php:7 msgid "New" msgstr "Нов" -#: templates/index.php:9 +#: templates/index.php:10 msgid "Text file" msgstr "Текстов файл" -#: templates/index.php:10 +#: templates/index.php:12 msgid "Folder" msgstr "Папка" -#: templates/index.php:11 -msgid "From url" -msgstr "От url-адрес" +#: templates/index.php:14 +msgid "From link" +msgstr "" -#: templates/index.php:20 +#: templates/index.php:35 msgid "Upload" msgstr "Качване" -#: templates/index.php:27 +#: templates/index.php:43 msgid "Cancel upload" msgstr "Отказване на качването" -#: templates/index.php:40 +#: templates/index.php:57 msgid "Nothing in here. Upload something!" msgstr "Няма нищо, качете нещо!" -#: templates/index.php:50 -msgid "Share" -msgstr "Споделяне" - -#: templates/index.php:52 +#: templates/index.php:71 msgid "Download" msgstr "Изтегляне" -#: templates/index.php:75 +#: templates/index.php:103 msgid "Upload too large" msgstr "Файлът е прекалено голям" -#: templates/index.php:77 +#: templates/index.php:105 msgid "" "The files you are trying to upload exceed the maximum size for file uploads " "on this server." msgstr "Файловете които се опитвате да качите са по-големи от позволеното за сървъра." -#: templates/index.php:82 +#: templates/index.php:110 msgid "Files are being scanned, please wait." msgstr "Файловете се претърсват, изчакайте." -#: templates/index.php:85 +#: templates/index.php:113 msgid "Current scanning" msgstr "" diff --git a/l10n/bg_BG/files_external.po b/l10n/bg_BG/files_external.po index adf4447b42e6811722909c8631be21ae044fbda5..d0a0c22c2110ac7aaa9e4e104f6082bcaf8a68a1 100644 --- a/l10n/bg_BG/files_external.po +++ b/l10n/bg_BG/files_external.po @@ -7,9 +7,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-02 23:16+0200\n" -"PO-Revision-Date: 2012-10-02 21:17+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-12-12 00:12+0100\n" +"PO-Revision-Date: 2012-12-11 23:13+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Bulgarian (Bulgaria) (http://www.transifex.com/projects/p/owncloud/language/bg_BG/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -41,66 +41,80 @@ msgstr "" msgid "Error configuring Google Drive storage" msgstr "" +#: lib/config.php:434 +msgid "" +"Warning: \"smbclient\" is not installed. Mounting of CIFS/SMB shares " +"is not possible. Please ask your system administrator to install it." +msgstr "" + +#: lib/config.php:435 +msgid "" +"Warning: The FTP support in PHP is not enabled or installed. Mounting" +" of FTP shares is not possible. Please ask your system administrator to " +"install it." +msgstr "" + #: templates/settings.php:3 msgid "External Storage" msgstr "" -#: templates/settings.php:7 templates/settings.php:19 +#: templates/settings.php:8 templates/settings.php:22 msgid "Mount point" msgstr "" -#: templates/settings.php:8 +#: templates/settings.php:9 msgid "Backend" msgstr "" -#: templates/settings.php:9 +#: templates/settings.php:10 msgid "Configuration" msgstr "" -#: templates/settings.php:10 +#: templates/settings.php:11 msgid "Options" msgstr "" -#: templates/settings.php:11 +#: templates/settings.php:12 msgid "Applicable" msgstr "" -#: templates/settings.php:23 +#: templates/settings.php:27 msgid "Add mount point" msgstr "" -#: templates/settings.php:54 templates/settings.php:62 +#: templates/settings.php:85 msgid "None set" msgstr "" -#: templates/settings.php:63 +#: templates/settings.php:86 msgid "All Users" msgstr "" -#: templates/settings.php:64 +#: templates/settings.php:87 msgid "Groups" msgstr "" -#: templates/settings.php:69 +#: templates/settings.php:95 msgid "Users" msgstr "" -#: templates/settings.php:77 templates/settings.php:107 +#: templates/settings.php:108 templates/settings.php:109 +#: templates/settings.php:149 templates/settings.php:150 msgid "Delete" msgstr "" -#: templates/settings.php:87 +#: templates/settings.php:124 msgid "Enable User External Storage" msgstr "" -#: templates/settings.php:88 +#: templates/settings.php:125 msgid "Allow users to mount their own external storage" msgstr "" -#: templates/settings.php:99 +#: templates/settings.php:139 msgid "SSL root certificates" msgstr "" -#: templates/settings.php:113 +#: templates/settings.php:158 msgid "Import Root Certificate" msgstr "" diff --git a/l10n/bg_BG/files_pdfviewer.po b/l10n/bg_BG/files_pdfviewer.po deleted file mode 100644 index e38e0c3fcb88bb11df700df29953a7399ca139d0..0000000000000000000000000000000000000000 --- a/l10n/bg_BG/files_pdfviewer.po +++ /dev/null @@ -1,42 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 02:18+0200\n" -"PO-Revision-Date: 2012-08-26 00:19+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Bulgarian (Bulgaria) (http://www.transifex.com/projects/p/owncloud/language/bg_BG/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: bg_BG\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: js/viewer.js:22 -msgid "Previous" -msgstr "" - -#: js/viewer.js:23 -msgid "Next" -msgstr "" - -#: js/viewer.js:29 -msgid "Page Width" -msgstr "" - -#: js/viewer.js:29 -msgid "Page Fit" -msgstr "" - -#: js/viewer.js:30 -msgid "Print" -msgstr "" - -#: js/viewer.js:32 -msgid "Download" -msgstr "" diff --git a/l10n/bg_BG/files_texteditor.po b/l10n/bg_BG/files_texteditor.po deleted file mode 100644 index 17803a57746e1351d91166d0fd9bc016cf2aaf1c..0000000000000000000000000000000000000000 --- a/l10n/bg_BG/files_texteditor.po +++ /dev/null @@ -1,44 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 01:17+0200\n" -"PO-Revision-Date: 2012-08-25 23:18+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Bulgarian (Bulgaria) (http://www.transifex.com/projects/p/owncloud/language/bg_BG/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: bg_BG\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: js/aceeditor/mode-coldfusion-uncompressed.js:1568 -#: js/aceeditor/mode-liquid-uncompressed.js:902 -#: js/aceeditor/mode-svg-uncompressed.js:1575 -msgid "regex" -msgstr "" - -#: js/editor.js:72 js/editor.js:156 js/editor.js:163 -msgid "Save" -msgstr "" - -#: js/editor.js:74 -msgid "Close" -msgstr "" - -#: js/editor.js:149 -msgid "Saving..." -msgstr "" - -#: js/editor.js:239 -msgid "An error occurred!" -msgstr "" - -#: js/editor.js:266 -msgid "There were unsaved changes, click here to go back" -msgstr "" diff --git a/l10n/bg_BG/gallery.po b/l10n/bg_BG/gallery.po deleted file mode 100644 index 2bf1a654c1d47bd07320cbb3843bcb2f563a0609..0000000000000000000000000000000000000000 --- a/l10n/bg_BG/gallery.po +++ /dev/null @@ -1,94 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-06-06 00:12+0200\n" -"PO-Revision-Date: 2012-06-05 22:15+0000\n" -"Last-Translator: icewind \n" -"Language-Team: Bulgarian (Bulgaria) (http://www.transifex.net/projects/p/owncloud/language/bg_BG/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: bg_BG\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: appinfo/app.php:37 -msgid "Pictures" -msgstr "" - -#: js/album_cover.js:44 -msgid "Share gallery" -msgstr "" - -#: js/album_cover.js:64 js/album_cover.js:100 js/album_cover.js:133 -msgid "Error: " -msgstr "" - -#: js/album_cover.js:64 js/album_cover.js:100 -msgid "Internal error" -msgstr "" - -#: js/album_cover.js:114 -msgid "Scanning root" -msgstr "" - -#: js/album_cover.js:115 -msgid "Default order" -msgstr "" - -#: js/album_cover.js:116 -msgid "Ascending" -msgstr "" - -#: js/album_cover.js:116 -msgid "Descending" -msgstr "" - -#: js/album_cover.js:117 templates/index.php:19 -msgid "Settings" -msgstr "" - -#: js/album_cover.js:122 -msgid "Scanning root cannot be empty" -msgstr "" - -#: js/album_cover.js:122 js/album_cover.js:133 -msgid "Error" -msgstr "" - -#: templates/index.php:16 -msgid "Rescan" -msgstr "" - -#: templates/index.php:17 -msgid "Stop" -msgstr "" - -#: templates/index.php:18 -msgid "Share" -msgstr "" - -#: templates/view_album.php:19 -msgid "Back" -msgstr "" - -#: templates/view_album.php:36 -msgid "Remove confirmation" -msgstr "" - -#: templates/view_album.php:37 -msgid "Do you want to remove album" -msgstr "" - -#: templates/view_album.php:40 -msgid "Change album name" -msgstr "" - -#: templates/view_album.php:43 -msgid "New album name" -msgstr "" diff --git a/l10n/bg_BG/impress.po b/l10n/bg_BG/impress.po deleted file mode 100644 index 35269e2e7009ac827607e551904dbb205e0b5581..0000000000000000000000000000000000000000 --- a/l10n/bg_BG/impress.po +++ /dev/null @@ -1,22 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 01:17+0200\n" -"PO-Revision-Date: 2012-08-25 23:18+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Bulgarian (Bulgaria) (http://www.transifex.com/projects/p/owncloud/language/bg_BG/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: bg_BG\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: templates/presentations.php:7 -msgid "Documentation" -msgstr "" diff --git a/l10n/bg_BG/lib.po b/l10n/bg_BG/lib.po index f6ce9e2d63830dc386dd566352a324a175522ea9..3ba99f9b10dcb364cab9d91691fb0bcc40551088 100644 --- a/l10n/bg_BG/lib.po +++ b/l10n/bg_BG/lib.po @@ -7,53 +7,53 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-09-01 02:01+0200\n" -"PO-Revision-Date: 2012-09-01 00:02+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-11-16 00:02+0100\n" +"PO-Revision-Date: 2012-11-14 23:13+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Bulgarian (Bulgaria) (http://www.transifex.com/projects/p/owncloud/language/bg_BG/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: bg_BG\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: app.php:288 +#: app.php:285 msgid "Help" msgstr "" -#: app.php:295 +#: app.php:292 msgid "Personal" -msgstr "" +msgstr "Лично" -#: app.php:300 +#: app.php:297 msgid "Settings" msgstr "" -#: app.php:305 +#: app.php:302 msgid "Users" msgstr "" -#: app.php:312 +#: app.php:309 msgid "Apps" msgstr "" -#: app.php:314 +#: app.php:311 msgid "Admin" msgstr "" -#: files.php:280 +#: files.php:332 msgid "ZIP download is turned off." msgstr "" -#: files.php:281 +#: files.php:333 msgid "Files need to be downloaded one by one." msgstr "" -#: files.php:281 files.php:306 +#: files.php:333 files.php:358 msgid "Back to Files" msgstr "" -#: files.php:305 +#: files.php:357 msgid "Selected files too large to generate zip file." msgstr "" @@ -61,65 +61,92 @@ msgstr "" msgid "Application is not enabled" msgstr "" -#: json.php:39 json.php:63 json.php:75 +#: json.php:39 json.php:64 json.php:77 json.php:89 msgid "Authentication error" -msgstr "" +msgstr "Проблем с идентификацията" #: json.php:51 msgid "Token expired. Please reload page." msgstr "" -#: template.php:86 +#: search/provider/file.php:17 search/provider/file.php:35 +msgid "Files" +msgstr "" + +#: search/provider/file.php:26 search/provider/file.php:33 +msgid "Text" +msgstr "" + +#: search/provider/file.php:29 +msgid "Images" +msgstr "" + +#: template.php:103 msgid "seconds ago" msgstr "" -#: template.php:87 +#: template.php:104 msgid "1 minute ago" msgstr "" -#: template.php:88 +#: template.php:105 #, php-format msgid "%d minutes ago" msgstr "" -#: template.php:91 +#: template.php:106 +msgid "1 hour ago" +msgstr "" + +#: template.php:107 +#, php-format +msgid "%d hours ago" +msgstr "" + +#: template.php:108 msgid "today" msgstr "" -#: template.php:92 +#: template.php:109 msgid "yesterday" msgstr "" -#: template.php:93 +#: template.php:110 #, php-format msgid "%d days ago" msgstr "" -#: template.php:94 +#: template.php:111 msgid "last month" msgstr "" -#: template.php:95 -msgid "months ago" +#: template.php:112 +#, php-format +msgid "%d months ago" msgstr "" -#: template.php:96 +#: template.php:113 msgid "last year" msgstr "" -#: template.php:97 +#: template.php:114 msgid "years ago" msgstr "" -#: updater.php:66 +#: updater.php:75 #, php-format msgid "%s is available. Get more information" msgstr "" -#: updater.php:68 +#: updater.php:77 msgid "up to date" msgstr "" -#: updater.php:71 +#: updater.php:80 msgid "updates check is disabled" msgstr "" + +#: vcategories.php:188 vcategories.php:249 +#, php-format +msgid "Could not find category \"%s\"" +msgstr "" diff --git a/l10n/bg_BG/media.po b/l10n/bg_BG/media.po deleted file mode 100644 index 48b61366ff7ffbff83a05df0e90256ca05e40d89..0000000000000000000000000000000000000000 --- a/l10n/bg_BG/media.po +++ /dev/null @@ -1,68 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Stefan Ilivanov , 2011. -# Yasen Pramatarov , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-07-31 22:53+0200\n" -"PO-Revision-Date: 2012-07-30 09:39+0000\n" -"Last-Translator: Yasen Pramatarov \n" -"Language-Team: Bulgarian (Bulgaria) (http://www.transifex.com/projects/p/owncloud/language/bg_BG/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: bg_BG\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: appinfo/app.php:45 templates/player.php:8 -msgid "Music" -msgstr "Музика" - -#: js/music.js:18 -msgid "Add album to playlist" -msgstr "Добавяне на албума към списъка за изпълнение" - -#: templates/music.php:3 templates/player.php:12 -msgid "Play" -msgstr "Пусни" - -#: templates/music.php:4 templates/music.php:26 templates/player.php:13 -msgid "Pause" -msgstr "Пауза" - -#: templates/music.php:5 -msgid "Previous" -msgstr "Предишна" - -#: templates/music.php:6 templates/player.php:14 -msgid "Next" -msgstr "Следваща" - -#: templates/music.php:7 -msgid "Mute" -msgstr "Отнеми" - -#: templates/music.php:8 -msgid "Unmute" -msgstr "Върни" - -#: templates/music.php:25 -msgid "Rescan Collection" -msgstr "Повторно сканиране" - -#: templates/music.php:37 -msgid "Artist" -msgstr "Артист" - -#: templates/music.php:38 -msgid "Album" -msgstr "Албум" - -#: templates/music.php:39 -msgid "Title" -msgstr "Заглавие" diff --git a/l10n/bg_BG/settings.po b/l10n/bg_BG/settings.po index 09ad3dd9b37e404c22414575f6fb6ad2eb14e5b7..3b8329c58bef07811cd1a42c8df98b259f8d624c 100644 --- a/l10n/bg_BG/settings.po +++ b/l10n/bg_BG/settings.po @@ -10,9 +10,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-09 02:03+0200\n" -"PO-Revision-Date: 2012-10-09 00:03+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-12-03 00:04+0100\n" +"PO-Revision-Date: 2012-12-02 03:18+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Bulgarian (Bulgaria) (http://www.transifex.com/projects/p/owncloud/language/bg_BG/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -20,70 +20,73 @@ msgstr "" "Language: bg_BG\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: ajax/apps/ocs.php:23 +#: ajax/apps/ocs.php:20 msgid "Unable to load list from App Store" msgstr "" -#: ajax/creategroup.php:9 ajax/removeuser.php:13 ajax/setquota.php:18 -#: ajax/togglegroups.php:15 -msgid "Authentication error" -msgstr "" - -#: ajax/creategroup.php:19 +#: ajax/creategroup.php:10 msgid "Group already exists" msgstr "" -#: ajax/creategroup.php:28 +#: ajax/creategroup.php:19 msgid "Unable to add group" msgstr "" -#: ajax/enableapp.php:14 +#: ajax/enableapp.php:12 msgid "Could not enable app. " msgstr "" -#: ajax/lostpassword.php:14 +#: ajax/lostpassword.php:12 msgid "Email saved" msgstr "Е-пощата е записана" -#: ajax/lostpassword.php:16 +#: ajax/lostpassword.php:14 msgid "Invalid email" msgstr "Неправилна е-поща" -#: ajax/openid.php:16 +#: ajax/openid.php:13 msgid "OpenID Changed" msgstr "OpenID е сменено" -#: ajax/openid.php:18 ajax/setlanguage.php:20 ajax/setlanguage.php:23 +#: ajax/openid.php:15 ajax/setlanguage.php:17 ajax/setlanguage.php:20 msgid "Invalid request" msgstr "Невалидна заявка" -#: ajax/removegroup.php:16 +#: ajax/removegroup.php:13 msgid "Unable to delete group" msgstr "" -#: ajax/removeuser.php:22 +#: ajax/removeuser.php:15 ajax/setquota.php:15 ajax/togglegroups.php:18 +msgid "Authentication error" +msgstr "Проблем с идентификацията" + +#: ajax/removeuser.php:24 msgid "Unable to delete user" msgstr "" -#: ajax/setlanguage.php:18 +#: ajax/setlanguage.php:15 msgid "Language changed" msgstr "Езика е сменен" -#: ajax/togglegroups.php:25 +#: ajax/togglegroups.php:12 +msgid "Admins can't remove themself from the admin group" +msgstr "" + +#: ajax/togglegroups.php:28 #, php-format msgid "Unable to add user to group %s" msgstr "" -#: ajax/togglegroups.php:31 +#: ajax/togglegroups.php:34 #, php-format msgid "Unable to remove user from group %s" msgstr "" -#: js/apps.js:28 js/apps.js:65 +#: js/apps.js:28 js/apps.js:67 msgid "Disable" msgstr "Изключване" -#: js/apps.js:28 js/apps.js:54 +#: js/apps.js:28 js/apps.js:55 msgid "Enable" msgstr "Включване" @@ -91,97 +94,10 @@ msgstr "Включване" msgid "Saving..." msgstr "Записване..." -#: personal.php:47 personal.php:48 +#: personal.php:42 personal.php:43 msgid "__language_name__" msgstr "" -#: templates/admin.php:14 -msgid "Security Warning" -msgstr "" - -#: templates/admin.php:17 -msgid "" -"Your data directory and your files are probably accessible from the " -"internet. The .htaccess file that ownCloud provides is not working. We " -"strongly suggest that you configure your webserver in a way that the data " -"directory is no longer accessible or you move the data directory outside the" -" webserver document root." -msgstr "" - -#: templates/admin.php:31 -msgid "Cron" -msgstr "" - -#: templates/admin.php:37 -msgid "Execute one task with each page loaded" -msgstr "" - -#: templates/admin.php:43 -msgid "" -"cron.php is registered at a webcron service. Call the cron.php page in the " -"owncloud root once a minute over http." -msgstr "" - -#: templates/admin.php:49 -msgid "" -"Use systems cron service. Call the cron.php file in the owncloud folder via " -"a system cronjob once a minute." -msgstr "" - -#: templates/admin.php:56 -msgid "Sharing" -msgstr "" - -#: templates/admin.php:61 -msgid "Enable Share API" -msgstr "" - -#: templates/admin.php:62 -msgid "Allow apps to use the Share API" -msgstr "" - -#: templates/admin.php:67 -msgid "Allow links" -msgstr "" - -#: templates/admin.php:68 -msgid "Allow users to share items to the public with links" -msgstr "" - -#: templates/admin.php:73 -msgid "Allow resharing" -msgstr "" - -#: templates/admin.php:74 -msgid "Allow users to share items shared with them again" -msgstr "" - -#: templates/admin.php:79 -msgid "Allow users to share with anyone" -msgstr "" - -#: templates/admin.php:81 -msgid "Allow users to only share with users in their groups" -msgstr "" - -#: templates/admin.php:88 -msgid "Log" -msgstr "" - -#: templates/admin.php:116 -msgid "More" -msgstr "" - -#: templates/admin.php:124 -msgid "" -"Developed by the ownCloud community, the source code is " -"licensed under the AGPL." -msgstr "" - #: templates/apps.php:10 msgid "Add your App" msgstr "" @@ -214,21 +130,21 @@ msgstr "" msgid "Ask a question" msgstr "Задайте въпрос" -#: templates/help.php:23 +#: templates/help.php:22 msgid "Problems connecting to help database." msgstr "Проблеми при свързване с помощната база" -#: templates/help.php:24 +#: templates/help.php:23 msgid "Go there manually." msgstr "Отидете ръчно." -#: templates/help.php:32 +#: templates/help.php:31 msgid "Answer" msgstr "Отговор" #: templates/personal.php:8 #, php-format -msgid "You have used %s of the available %s" +msgid "You have used %s of the available %s" msgstr "" #: templates/personal.php:12 @@ -287,6 +203,16 @@ msgstr "Помощ за превода" msgid "use this address to connect to your ownCloud in your file manager" msgstr "ползвай този адрес за връзка с Вашия ownCloud във файловия мениджър" +#: templates/personal.php:61 +msgid "" +"Developed by the ownCloud community, the source code is " +"licensed under the AGPL." +msgstr "" + #: templates/users.php:21 templates/users.php:76 msgid "Name" msgstr "Име" @@ -309,7 +235,7 @@ msgstr "Квота по подразбиране" #: templates/users.php:55 templates/users.php:138 msgid "Other" -msgstr "" +msgstr "Друго" #: templates/users.php:80 templates/users.php:112 msgid "Group Admin" diff --git a/l10n/bg_BG/tasks.po b/l10n/bg_BG/tasks.po deleted file mode 100644 index 3f26e086ecc49b940df0de9592da774fe2bbeab8..0000000000000000000000000000000000000000 --- a/l10n/bg_BG/tasks.po +++ /dev/null @@ -1,106 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:44+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Bulgarian (Bulgaria) (http://www.transifex.com/projects/p/owncloud/language/bg_BG/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: bg_BG\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: ajax/update_property.php:51 lib/app.php:89 lib/app.php:101 -msgid "Invalid date/time" -msgstr "" - -#: appinfo/app.php:11 -msgid "Tasks" -msgstr "" - -#: js/tasks.js:415 -msgid "No category" -msgstr "" - -#: lib/app.php:33 -msgid "Unspecified" -msgstr "" - -#: lib/app.php:34 -msgid "1=highest" -msgstr "" - -#: lib/app.php:38 -msgid "5=medium" -msgstr "" - -#: lib/app.php:42 -msgid "9=lowest" -msgstr "" - -#: lib/app.php:81 -msgid "Empty Summary" -msgstr "" - -#: lib/app.php:93 -msgid "Invalid percent complete" -msgstr "" - -#: lib/app.php:107 -msgid "Invalid priority" -msgstr "" - -#: templates/tasks.php:3 -msgid "Add Task" -msgstr "" - -#: templates/tasks.php:4 -msgid "Order Due" -msgstr "" - -#: templates/tasks.php:5 -msgid "Order List" -msgstr "" - -#: templates/tasks.php:6 -msgid "Order Complete" -msgstr "" - -#: templates/tasks.php:7 -msgid "Order Location" -msgstr "" - -#: templates/tasks.php:8 -msgid "Order Priority" -msgstr "" - -#: templates/tasks.php:9 -msgid "Order Label" -msgstr "" - -#: templates/tasks.php:16 -msgid "Loading tasks..." -msgstr "" - -#: templates/tasks.php:20 -msgid "Important" -msgstr "" - -#: templates/tasks.php:23 -msgid "More" -msgstr "" - -#: templates/tasks.php:26 -msgid "Less" -msgstr "" - -#: templates/tasks.php:29 -msgid "Delete" -msgstr "" diff --git a/l10n/bg_BG/user_migrate.po b/l10n/bg_BG/user_migrate.po deleted file mode 100644 index 37fb22aebf7b326cd9852a7b8efd92ffaa9ac43e..0000000000000000000000000000000000000000 --- a/l10n/bg_BG/user_migrate.po +++ /dev/null @@ -1,51 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:45+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Bulgarian (Bulgaria) (http://www.transifex.com/projects/p/owncloud/language/bg_BG/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: bg_BG\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: js/export.js:14 js/export.js:20 -msgid "Export" -msgstr "" - -#: js/export.js:19 -msgid "Something went wrong while the export file was being generated" -msgstr "" - -#: js/export.js:19 -msgid "An error has occurred" -msgstr "" - -#: templates/settings.php:2 -msgid "Export your user account" -msgstr "" - -#: templates/settings.php:3 -msgid "" -"This will create a compressed file that contains your ownCloud account." -msgstr "" - -#: templates/settings.php:13 -msgid "Import user account" -msgstr "" - -#: templates/settings.php:15 -msgid "ownCloud User Zip" -msgstr "" - -#: templates/settings.php:17 -msgid "Import" -msgstr "" diff --git a/l10n/bg_BG/user_openid.po b/l10n/bg_BG/user_openid.po deleted file mode 100644 index be71873b6429ed3e8ecea64d38e2a158ffe3021e..0000000000000000000000000000000000000000 --- a/l10n/bg_BG/user_openid.po +++ /dev/null @@ -1,54 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:45+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Bulgarian (Bulgaria) (http://www.transifex.com/projects/p/owncloud/language/bg_BG/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: bg_BG\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: templates/nomode.php:12 -msgid "This is an OpenID server endpoint. For more information, see " -msgstr "" - -#: templates/nomode.php:14 -msgid "Identity: " -msgstr "" - -#: templates/nomode.php:15 -msgid "Realm: " -msgstr "" - -#: templates/nomode.php:16 -msgid "User: " -msgstr "" - -#: templates/nomode.php:17 -msgid "Login" -msgstr "" - -#: templates/nomode.php:22 -msgid "Error: No user Selected" -msgstr "" - -#: templates/settings.php:4 -msgid "you can authenticate to other sites with this address" -msgstr "" - -#: templates/settings.php:5 -msgid "Authorized OpenID provider" -msgstr "" - -#: templates/settings.php:6 -msgid "Your address at Wordpress, Identi.ca, …" -msgstr "" diff --git a/l10n/bg_BG/files_odfviewer.po b/l10n/bg_BG/user_webdavauth.po similarity index 74% rename from l10n/bg_BG/files_odfviewer.po rename to l10n/bg_BG/user_webdavauth.po index 255b592f4981b28e063ea9b5e25d8fac7547d325..54b239e5f9a014e4a979e9e1c26bb5fe2b4a10ac 100644 --- a/l10n/bg_BG/files_odfviewer.po +++ b/l10n/bg_BG/user_webdavauth.po @@ -7,16 +7,16 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 02:18+0200\n" -"PO-Revision-Date: 2012-08-26 00:19+0000\n" +"POT-Creation-Date: 2012-11-09 10:06+0100\n" +"PO-Revision-Date: 2012-11-09 09:06+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: Bulgarian (Bulgaria) (http://www.transifex.com/projects/p/owncloud/language/bg_BG/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: bg_BG\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: js/viewer.js:9 -msgid "Close" +#: templates/settings.php:4 +msgid "WebDAV URL: http://" msgstr "" diff --git a/l10n/ca/admin_dependencies_chk.po b/l10n/ca/admin_dependencies_chk.po deleted file mode 100644 index 1c5aef0e667155102b2f8a6a88fac7b27392c169..0000000000000000000000000000000000000000 --- a/l10n/ca/admin_dependencies_chk.po +++ /dev/null @@ -1,74 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-13 18:28+0000\n" -"Last-Translator: rogerc \n" -"Language-Team: Catalan (http://www.transifex.com/projects/p/owncloud/language/ca/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ca\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: settings.php:33 -msgid "" -"The php-json module is needed by the many applications for inter " -"communications" -msgstr "El mòdul php-json és necessari per moltes aplicacions per comunicacions internes" - -#: settings.php:39 -msgid "" -"The php-curl modude is needed to fetch the page title when adding a " -"bookmarks" -msgstr "El mòdul php-curl és necessari per mostrar el títol de la pàgina quan s'afegeixen adreces d'interès" - -#: settings.php:45 -msgid "The php-gd module is needed to create thumbnails of your images" -msgstr "El mòdul php-gd és necessari per generar miniatures d'imatges" - -#: settings.php:51 -msgid "The php-ldap module is needed connect to your ldap server" -msgstr "El mòdul php-ldap és necessari per connectar amb el servidor ldap" - -#: settings.php:57 -msgid "The php-zip module is needed download multiple files at once" -msgstr "El mòdul php-zip és necessari per baixar múltiples fitxers de cop" - -#: settings.php:63 -msgid "" -"The php-mb_multibyte module is needed to manage correctly the encoding." -msgstr "El mòdul php-mb_multibyte és necessari per gestionar correctament la codificació." - -#: settings.php:69 -msgid "The php-ctype module is needed validate data." -msgstr "El mòdul php-ctype és necessari per validar dades." - -#: settings.php:75 -msgid "The php-xml module is needed to share files with webdav." -msgstr "El mòdul php-xml és necessari per compatir els fitxers amb webdav." - -#: settings.php:81 -msgid "" -"The allow_url_fopen directive of your php.ini should be set to 1 to retrieve" -" knowledge base from OCS servers" -msgstr "La directiva allow_url_fopen de php.ini hauria d'establir-se en 1 per accedir a la base de coneixements dels servidors OCS" - -#: settings.php:87 -msgid "The php-pdo module is needed to store owncloud data into a database." -msgstr "El mòdul php-pdo és necessari per desar les dades d'ownCloud en una base de dades." - -#: templates/settings.php:2 -msgid "Dependencies status" -msgstr "Estat de dependències" - -#: templates/settings.php:7 -msgid "Used by :" -msgstr "Usat per:" diff --git a/l10n/ca/admin_migrate.po b/l10n/ca/admin_migrate.po deleted file mode 100644 index 285f752c6ad5f7c0abb3bf38ed4bcc2a3eb5d0b7..0000000000000000000000000000000000000000 --- a/l10n/ca/admin_migrate.po +++ /dev/null @@ -1,33 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-13 18:22+0000\n" -"Last-Translator: rogerc \n" -"Language-Team: Catalan (http://www.transifex.com/projects/p/owncloud/language/ca/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ca\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: templates/settings.php:3 -msgid "Export this ownCloud instance" -msgstr "Exporta aquesta instància de ownCloud" - -#: templates/settings.php:4 -msgid "" -"This will create a compressed file that contains the data of this owncloud instance.\n" -" Please choose the export type:" -msgstr "Això crearà un fitxer comprimit amb les dades d'aquesta instància ownCloud.\n Escolliu el tipus d'exportació:" - -#: templates/settings.php:12 -msgid "Export" -msgstr "Exporta" diff --git a/l10n/ca/bookmarks.po b/l10n/ca/bookmarks.po deleted file mode 100644 index c7e3b09a6052db6e61b2617194ffc6bb660e72b9..0000000000000000000000000000000000000000 --- a/l10n/ca/bookmarks.po +++ /dev/null @@ -1,61 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-07-29 02:03+0200\n" -"PO-Revision-Date: 2012-07-28 13:38+0000\n" -"Last-Translator: rogerc \n" -"Language-Team: Catalan (http://www.transifex.com/projects/p/owncloud/language/ca/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ca\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: appinfo/app.php:14 -msgid "Bookmarks" -msgstr "Adreces d'interès" - -#: bookmarksHelper.php:99 -msgid "unnamed" -msgstr "sense nom" - -#: templates/bookmarklet.php:5 -msgid "" -"Drag this to your browser bookmarks and click it, when you want to bookmark " -"a webpage quickly:" -msgstr "Arrossegueu-ho al navegador i feu-hi un clic quan volgueu marcar ràpidament una adreça d'interès:" - -#: templates/bookmarklet.php:7 -msgid "Read later" -msgstr "Llegeix més tard" - -#: templates/list.php:13 -msgid "Address" -msgstr "Adreça" - -#: templates/list.php:14 -msgid "Title" -msgstr "Títol" - -#: templates/list.php:15 -msgid "Tags" -msgstr "Etiquetes" - -#: templates/list.php:16 -msgid "Save bookmark" -msgstr "Desa l'adreça d'interès" - -#: templates/list.php:22 -msgid "You have no bookmarks" -msgstr "No teniu adreces d'interès" - -#: templates/settings.php:11 -msgid "Bookmarklet
" -msgstr "Bookmarklet
" diff --git a/l10n/ca/calendar.po b/l10n/ca/calendar.po deleted file mode 100644 index 3976c559bb6c15e85e61a8f544859d9e4818aca2..0000000000000000000000000000000000000000 --- a/l10n/ca/calendar.po +++ /dev/null @@ -1,815 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# , 2012. -# , 2011, 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-12 02:02+0200\n" -"PO-Revision-Date: 2012-08-11 11:20+0000\n" -"Last-Translator: rogerc \n" -"Language-Team: Catalan (http://www.transifex.com/projects/p/owncloud/language/ca/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ca\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: ajax/cache/status.php:19 -msgid "Not all calendars are completely cached" -msgstr "No tots els calendaris estan en memòria" - -#: ajax/cache/status.php:21 -msgid "Everything seems to be completely cached" -msgstr "Sembla que tot està en memòria" - -#: ajax/categories/rescan.php:29 -msgid "No calendars found." -msgstr "No s'han trobat calendaris." - -#: ajax/categories/rescan.php:37 -msgid "No events found." -msgstr "No s'han trobat events." - -#: ajax/event/edit.form.php:20 -msgid "Wrong calendar" -msgstr "Calendari erroni" - -#: ajax/import/dropimport.php:29 ajax/import/import.php:64 -msgid "" -"The file contained either no events or all events are already saved in your " -"calendar." -msgstr "El fitxer no contenia esdeveniments o aquests ja estaven desats en el vostre caledari" - -#: ajax/import/dropimport.php:31 ajax/import/import.php:67 -msgid "events has been saved in the new calendar" -msgstr "els esdeveniments s'han desat en el calendari nou" - -#: ajax/import/import.php:56 -msgid "Import failed" -msgstr "Ha fallat la importació" - -#: ajax/import/import.php:69 -msgid "events has been saved in your calendar" -msgstr "els esdveniments s'han desat en el calendari" - -#: ajax/settings/guesstimezone.php:25 -msgid "New Timezone:" -msgstr "Nova zona horària:" - -#: ajax/settings/settimezone.php:23 -msgid "Timezone changed" -msgstr "La zona horària ha canviat" - -#: ajax/settings/settimezone.php:25 -msgid "Invalid request" -msgstr "Sol.licitud no vàlida" - -#: appinfo/app.php:35 templates/calendar.php:15 -#: templates/part.eventform.php:33 templates/part.showevent.php:33 -msgid "Calendar" -msgstr "Calendari" - -#: js/calendar.js:832 -msgid "ddd" -msgstr "ddd" - -#: js/calendar.js:833 -msgid "ddd M/d" -msgstr "ddd d/M" - -#: js/calendar.js:834 -msgid "dddd M/d" -msgstr "dddd d/M" - -#: js/calendar.js:837 -msgid "MMMM yyyy" -msgstr "MMMM yyyy" - -#: js/calendar.js:839 -msgid "MMM d[ yyyy]{ '—'[ MMM] d yyyy}" -msgstr "d [MMM ][yyyy ]{'—' d MMM yyyy}" - -#: js/calendar.js:841 -msgid "dddd, MMM d, yyyy" -msgstr "dddd, d MMM, yyyy" - -#: lib/app.php:121 -msgid "Birthday" -msgstr "Aniversari" - -#: lib/app.php:122 -msgid "Business" -msgstr "Feina" - -#: lib/app.php:123 -msgid "Call" -msgstr "Trucada" - -#: lib/app.php:124 -msgid "Clients" -msgstr "Clients" - -#: lib/app.php:125 -msgid "Deliverer" -msgstr "Remitent" - -#: lib/app.php:126 -msgid "Holidays" -msgstr "Vacances" - -#: lib/app.php:127 -msgid "Ideas" -msgstr "Idees" - -#: lib/app.php:128 -msgid "Journey" -msgstr "Viatge" - -#: lib/app.php:129 -msgid "Jubilee" -msgstr "Sant" - -#: lib/app.php:130 -msgid "Meeting" -msgstr "Reunió" - -#: lib/app.php:131 -msgid "Other" -msgstr "Altres" - -#: lib/app.php:132 -msgid "Personal" -msgstr "Personal" - -#: lib/app.php:133 -msgid "Projects" -msgstr "Projectes" - -#: lib/app.php:134 -msgid "Questions" -msgstr "Preguntes" - -#: lib/app.php:135 -msgid "Work" -msgstr "Feina" - -#: lib/app.php:351 lib/app.php:361 -msgid "by" -msgstr "per" - -#: lib/app.php:359 lib/app.php:399 -msgid "unnamed" -msgstr "sense nom" - -#: lib/import.php:184 templates/calendar.php:12 -#: templates/part.choosecalendar.php:22 -msgid "New Calendar" -msgstr "Calendari nou" - -#: lib/object.php:372 -msgid "Does not repeat" -msgstr "No es repeteix" - -#: lib/object.php:373 -msgid "Daily" -msgstr "Diari" - -#: lib/object.php:374 -msgid "Weekly" -msgstr "Mensual" - -#: lib/object.php:375 -msgid "Every Weekday" -msgstr "Cada setmana" - -#: lib/object.php:376 -msgid "Bi-Weekly" -msgstr "Bisetmanalment" - -#: lib/object.php:377 -msgid "Monthly" -msgstr "Mensualment" - -#: lib/object.php:378 -msgid "Yearly" -msgstr "Cada any" - -#: lib/object.php:388 -msgid "never" -msgstr "mai" - -#: lib/object.php:389 -msgid "by occurrences" -msgstr "per aparicions" - -#: lib/object.php:390 -msgid "by date" -msgstr "per data" - -#: lib/object.php:400 -msgid "by monthday" -msgstr "per dia del mes" - -#: lib/object.php:401 -msgid "by weekday" -msgstr "per dia de la setmana" - -#: lib/object.php:411 templates/calendar.php:5 templates/settings.php:69 -msgid "Monday" -msgstr "Dilluns" - -#: lib/object.php:412 templates/calendar.php:5 -msgid "Tuesday" -msgstr "Dimarts" - -#: lib/object.php:413 templates/calendar.php:5 -msgid "Wednesday" -msgstr "Dimecres" - -#: lib/object.php:414 templates/calendar.php:5 -msgid "Thursday" -msgstr "Dijous" - -#: lib/object.php:415 templates/calendar.php:5 -msgid "Friday" -msgstr "Divendres" - -#: lib/object.php:416 templates/calendar.php:5 -msgid "Saturday" -msgstr "Dissabte" - -#: lib/object.php:417 templates/calendar.php:5 templates/settings.php:70 -msgid "Sunday" -msgstr "Diumenge" - -#: lib/object.php:427 -msgid "events week of month" -msgstr "esdeveniments la setmana del mes" - -#: lib/object.php:428 -msgid "first" -msgstr "primer" - -#: lib/object.php:429 -msgid "second" -msgstr "segon" - -#: lib/object.php:430 -msgid "third" -msgstr "tercer" - -#: lib/object.php:431 -msgid "fourth" -msgstr "quart" - -#: lib/object.php:432 -msgid "fifth" -msgstr "cinquè" - -#: lib/object.php:433 -msgid "last" -msgstr "últim" - -#: lib/object.php:467 templates/calendar.php:7 -msgid "January" -msgstr "Gener" - -#: lib/object.php:468 templates/calendar.php:7 -msgid "February" -msgstr "Febrer" - -#: lib/object.php:469 templates/calendar.php:7 -msgid "March" -msgstr "Març" - -#: lib/object.php:470 templates/calendar.php:7 -msgid "April" -msgstr "Abril" - -#: lib/object.php:471 templates/calendar.php:7 -msgid "May" -msgstr "Maig" - -#: lib/object.php:472 templates/calendar.php:7 -msgid "June" -msgstr "Juny" - -#: lib/object.php:473 templates/calendar.php:7 -msgid "July" -msgstr "Juliol" - -#: lib/object.php:474 templates/calendar.php:7 -msgid "August" -msgstr "Agost" - -#: lib/object.php:475 templates/calendar.php:7 -msgid "September" -msgstr "Setembre" - -#: lib/object.php:476 templates/calendar.php:7 -msgid "October" -msgstr "Octubre" - -#: lib/object.php:477 templates/calendar.php:7 -msgid "November" -msgstr "Novembre" - -#: lib/object.php:478 templates/calendar.php:7 -msgid "December" -msgstr "Desembre" - -#: lib/object.php:488 -msgid "by events date" -msgstr "per data d'esdeveniments" - -#: lib/object.php:489 -msgid "by yearday(s)" -msgstr "per ahir(s)" - -#: lib/object.php:490 -msgid "by weeknumber(s)" -msgstr "per número(s) de la setmana" - -#: lib/object.php:491 -msgid "by day and month" -msgstr "per dia del mes" - -#: lib/search.php:35 lib/search.php:37 lib/search.php:40 -msgid "Date" -msgstr "Data" - -#: lib/search.php:43 -msgid "Cal." -msgstr "Cal." - -#: templates/calendar.php:6 -msgid "Sun." -msgstr "Dg." - -#: templates/calendar.php:6 -msgid "Mon." -msgstr "Dl." - -#: templates/calendar.php:6 -msgid "Tue." -msgstr "Dm." - -#: templates/calendar.php:6 -msgid "Wed." -msgstr "Dc." - -#: templates/calendar.php:6 -msgid "Thu." -msgstr "Dj." - -#: templates/calendar.php:6 -msgid "Fri." -msgstr "Dv." - -#: templates/calendar.php:6 -msgid "Sat." -msgstr "Ds." - -#: templates/calendar.php:8 -msgid "Jan." -msgstr "Gen." - -#: templates/calendar.php:8 -msgid "Feb." -msgstr "Febr." - -#: templates/calendar.php:8 -msgid "Mar." -msgstr "Març" - -#: templates/calendar.php:8 -msgid "Apr." -msgstr "Abr." - -#: templates/calendar.php:8 -msgid "May." -msgstr "Maig" - -#: templates/calendar.php:8 -msgid "Jun." -msgstr "Juny" - -#: templates/calendar.php:8 -msgid "Jul." -msgstr "Jul." - -#: templates/calendar.php:8 -msgid "Aug." -msgstr "Ag." - -#: templates/calendar.php:8 -msgid "Sep." -msgstr "Set." - -#: templates/calendar.php:8 -msgid "Oct." -msgstr "Oct." - -#: templates/calendar.php:8 -msgid "Nov." -msgstr "Nov." - -#: templates/calendar.php:8 -msgid "Dec." -msgstr "Des." - -#: templates/calendar.php:11 -msgid "All day" -msgstr "Tot el dia" - -#: templates/calendar.php:13 -msgid "Missing fields" -msgstr "Els camps que falten" - -#: templates/calendar.php:14 templates/part.eventform.php:19 -#: templates/part.showevent.php:11 -msgid "Title" -msgstr "Títol" - -#: templates/calendar.php:16 -msgid "From Date" -msgstr "Des de la data" - -#: templates/calendar.php:17 -msgid "From Time" -msgstr "Des de l'hora" - -#: templates/calendar.php:18 -msgid "To Date" -msgstr "Fins a la data" - -#: templates/calendar.php:19 -msgid "To Time" -msgstr "Fins a l'hora" - -#: templates/calendar.php:20 -msgid "The event ends before it starts" -msgstr "L'esdeveniment acaba abans que comenci" - -#: templates/calendar.php:21 -msgid "There was a database fail" -msgstr "Hi ha un error de base de dades" - -#: templates/calendar.php:39 -msgid "Week" -msgstr "Setmana" - -#: templates/calendar.php:40 -msgid "Month" -msgstr "Mes" - -#: templates/calendar.php:41 -msgid "List" -msgstr "Llista" - -#: templates/calendar.php:45 -msgid "Today" -msgstr "Avui" - -#: templates/calendar.php:46 templates/calendar.php:47 -msgid "Settings" -msgstr "Configuració" - -#: templates/part.choosecalendar.php:2 -msgid "Your calendars" -msgstr "Els vostres calendaris" - -#: templates/part.choosecalendar.php:27 -#: templates/part.choosecalendar.rowfields.php:11 -msgid "CalDav Link" -msgstr "Enllaç CalDav" - -#: templates/part.choosecalendar.php:31 -msgid "Shared calendars" -msgstr "Calendaris compartits" - -#: templates/part.choosecalendar.php:48 -msgid "No shared calendars" -msgstr "No hi ha calendaris compartits" - -#: templates/part.choosecalendar.rowfields.php:8 -msgid "Share Calendar" -msgstr "Comparteix el calendari" - -#: templates/part.choosecalendar.rowfields.php:14 -msgid "Download" -msgstr "Baixa" - -#: templates/part.choosecalendar.rowfields.php:17 -msgid "Edit" -msgstr "Edita" - -#: templates/part.choosecalendar.rowfields.php:20 -#: templates/part.editevent.php:9 -msgid "Delete" -msgstr "Suprimeix" - -#: templates/part.choosecalendar.rowfields.shared.php:4 -msgid "shared with you by" -msgstr "compartit amb vós" - -#: templates/part.editcalendar.php:9 -msgid "New calendar" -msgstr "Calendari nou" - -#: templates/part.editcalendar.php:9 -msgid "Edit calendar" -msgstr "Edita el calendari" - -#: templates/part.editcalendar.php:12 -msgid "Displayname" -msgstr "Mostra el nom" - -#: templates/part.editcalendar.php:23 -msgid "Active" -msgstr "Actiu" - -#: templates/part.editcalendar.php:29 -msgid "Calendar color" -msgstr "Color del calendari" - -#: templates/part.editcalendar.php:42 -msgid "Save" -msgstr "Desa" - -#: templates/part.editcalendar.php:42 templates/part.editevent.php:8 -#: templates/part.newevent.php:6 -msgid "Submit" -msgstr "Envia" - -#: templates/part.editcalendar.php:43 -msgid "Cancel" -msgstr "Cancel·la" - -#: templates/part.editevent.php:1 -msgid "Edit an event" -msgstr "Edició d'un esdeveniment" - -#: templates/part.editevent.php:10 -msgid "Export" -msgstr "Exporta" - -#: templates/part.eventform.php:8 templates/part.showevent.php:3 -msgid "Eventinfo" -msgstr "Eventinfo" - -#: templates/part.eventform.php:9 templates/part.showevent.php:4 -msgid "Repeating" -msgstr "Repetició" - -#: templates/part.eventform.php:10 templates/part.showevent.php:5 -msgid "Alarm" -msgstr "Alarma" - -#: templates/part.eventform.php:11 templates/part.showevent.php:6 -msgid "Attendees" -msgstr "Assistents" - -#: templates/part.eventform.php:13 -msgid "Share" -msgstr "Comparteix" - -#: templates/part.eventform.php:21 -msgid "Title of the Event" -msgstr "Títol de l'esdeveniment" - -#: templates/part.eventform.php:27 templates/part.showevent.php:19 -msgid "Category" -msgstr "Categoria" - -#: templates/part.eventform.php:29 -msgid "Separate categories with commas" -msgstr "Separeu les categories amb comes" - -#: templates/part.eventform.php:30 -msgid "Edit categories" -msgstr "Edita categories" - -#: templates/part.eventform.php:56 templates/part.showevent.php:52 -msgid "All Day Event" -msgstr "Esdeveniment de tot el dia" - -#: templates/part.eventform.php:60 templates/part.showevent.php:56 -msgid "From" -msgstr "Des de" - -#: templates/part.eventform.php:68 templates/part.showevent.php:64 -msgid "To" -msgstr "Fins a" - -#: templates/part.eventform.php:76 templates/part.showevent.php:72 -msgid "Advanced options" -msgstr "Opcions avançades" - -#: templates/part.eventform.php:81 templates/part.showevent.php:77 -msgid "Location" -msgstr "Ubicació" - -#: templates/part.eventform.php:83 -msgid "Location of the Event" -msgstr "Ubicació de l'esdeveniment" - -#: templates/part.eventform.php:89 templates/part.showevent.php:85 -msgid "Description" -msgstr "Descripció" - -#: templates/part.eventform.php:91 -msgid "Description of the Event" -msgstr "Descripció de l'esdeveniment" - -#: templates/part.eventform.php:100 templates/part.showevent.php:95 -msgid "Repeat" -msgstr "Repetició" - -#: templates/part.eventform.php:107 templates/part.showevent.php:102 -msgid "Advanced" -msgstr "Avançat" - -#: templates/part.eventform.php:151 templates/part.showevent.php:146 -msgid "Select weekdays" -msgstr "Dies de la setmana seleccionats" - -#: templates/part.eventform.php:164 templates/part.eventform.php:177 -#: templates/part.showevent.php:159 templates/part.showevent.php:172 -msgid "Select days" -msgstr "Seleccionar dies" - -#: templates/part.eventform.php:169 templates/part.showevent.php:164 -msgid "and the events day of year." -msgstr "i dies d'esdeveniment de l'any." - -#: templates/part.eventform.php:182 templates/part.showevent.php:177 -msgid "and the events day of month." -msgstr "i dies d'esdeveniment del mes." - -#: templates/part.eventform.php:190 templates/part.showevent.php:185 -msgid "Select months" -msgstr "Seleccionar mesos" - -#: templates/part.eventform.php:203 templates/part.showevent.php:198 -msgid "Select weeks" -msgstr "Seleccionar setmanes" - -#: templates/part.eventform.php:208 templates/part.showevent.php:203 -msgid "and the events week of year." -msgstr "i setmanes d'esdeveniment de l'any." - -#: templates/part.eventform.php:214 templates/part.showevent.php:209 -msgid "Interval" -msgstr "Interval" - -#: templates/part.eventform.php:220 templates/part.showevent.php:215 -msgid "End" -msgstr "Final" - -#: templates/part.eventform.php:233 templates/part.showevent.php:228 -msgid "occurrences" -msgstr "aparicions" - -#: templates/part.import.php:14 -msgid "create a new calendar" -msgstr "crea un nou calendari" - -#: templates/part.import.php:17 -msgid "Import a calendar file" -msgstr "Importa un fitxer de calendari" - -#: templates/part.import.php:24 -msgid "Please choose a calendar" -msgstr "Escolliu un calendari" - -#: templates/part.import.php:36 -msgid "Name of new calendar" -msgstr "Nom del nou calendari" - -#: templates/part.import.php:44 -msgid "Take an available name!" -msgstr "Escolliu un nom disponible!" - -#: templates/part.import.php:45 -msgid "" -"A Calendar with this name already exists. If you continue anyhow, these " -"calendars will be merged." -msgstr "Ja hi ha un calendari amb aquest nom. Si continueu, els calendaris es combinaran." - -#: templates/part.import.php:47 -msgid "Import" -msgstr "Importa" - -#: templates/part.import.php:56 -msgid "Close Dialog" -msgstr "Tanca el diàleg" - -#: templates/part.newevent.php:1 -msgid "Create a new event" -msgstr "Crea un nou esdeveniment" - -#: templates/part.showevent.php:1 -msgid "View an event" -msgstr "Mostra un event" - -#: templates/part.showevent.php:23 -msgid "No categories selected" -msgstr "No hi ha categories seleccionades" - -#: templates/part.showevent.php:37 -msgid "of" -msgstr "de" - -#: templates/part.showevent.php:59 templates/part.showevent.php:67 -msgid "at" -msgstr "a" - -#: templates/settings.php:10 -msgid "General" -msgstr "General" - -#: templates/settings.php:15 -msgid "Timezone" -msgstr "Zona horària" - -#: templates/settings.php:47 -msgid "Update timezone automatically" -msgstr "Actualitza la zona horària automàticament" - -#: templates/settings.php:52 -msgid "Time format" -msgstr "Format horari" - -#: templates/settings.php:57 -msgid "24h" -msgstr "24h" - -#: templates/settings.php:58 -msgid "12h" -msgstr "12h" - -#: templates/settings.php:64 -msgid "Start week on" -msgstr "Comença la setmana en " - -#: templates/settings.php:76 -msgid "Cache" -msgstr "Memòria de cau" - -#: templates/settings.php:80 -msgid "Clear cache for repeating events" -msgstr "Neteja la memòria de cau pels esdeveniments amb repetició" - -#: templates/settings.php:85 -msgid "URLs" -msgstr "URLs" - -#: templates/settings.php:87 -msgid "Calendar CalDAV syncing addresses" -msgstr "Adreça de sincronització del calendari CalDAV" - -#: templates/settings.php:87 -msgid "more info" -msgstr "més informació" - -#: templates/settings.php:89 -msgid "Primary address (Kontact et al)" -msgstr "Adreça primària (Kontact et al)" - -#: templates/settings.php:91 -msgid "iOS/OS X" -msgstr "IOS/OS X" - -#: templates/settings.php:93 -msgid "Read only iCalendar link(s)" -msgstr "Enllaç(os) iCalendar només de lectura" - -#: templates/share.dropdown.php:20 -msgid "Users" -msgstr "Usuaris" - -#: templates/share.dropdown.php:21 -msgid "select users" -msgstr "seleccioneu usuaris" - -#: templates/share.dropdown.php:36 templates/share.dropdown.php:62 -msgid "Editable" -msgstr "Editable" - -#: templates/share.dropdown.php:48 -msgid "Groups" -msgstr "Grups" - -#: templates/share.dropdown.php:49 -msgid "select groups" -msgstr "seleccioneu grups" - -#: templates/share.dropdown.php:75 -msgid "make public" -msgstr "fes-ho public" diff --git a/l10n/ca/contacts.po b/l10n/ca/contacts.po deleted file mode 100644 index d7fbb584694b83cd3f147abcf1172be67c50ab5f..0000000000000000000000000000000000000000 --- a/l10n/ca/contacts.po +++ /dev/null @@ -1,954 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# , 2012. -# , 2011, 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-25 02:04+0200\n" -"PO-Revision-Date: 2012-08-24 08:24+0000\n" -"Last-Translator: rogerc \n" -"Language-Team: Catalan (http://www.transifex.com/projects/p/owncloud/language/ca/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ca\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: ajax/addressbook/activate.php:24 ajax/addressbook/update.php:32 -msgid "Error (de)activating addressbook." -msgstr "Error en (des)activar la llibreta d'adreces." - -#: ajax/addressbook/delete.php:31 ajax/addressbook/update.php:20 -#: ajax/contact/addproperty.php:42 ajax/contact/delete.php:32 -#: ajax/contact/saveproperty.php:39 -msgid "id is not set." -msgstr "no s'ha establert la id." - -#: ajax/addressbook/update.php:24 -msgid "Cannot update addressbook with an empty name." -msgstr "No es pot actualitzar la llibreta d'adreces amb un nom buit" - -#: ajax/addressbook/update.php:28 -msgid "Error updating addressbook." -msgstr "Error en actualitzar la llibreta d'adreces." - -#: ajax/categories/categoriesfor.php:17 -msgid "No ID provided" -msgstr "No heu facilitat cap ID" - -#: ajax/categories/categoriesfor.php:34 -msgid "Error setting checksum." -msgstr "Error en establir la suma de verificació." - -#: ajax/categories/delete.php:19 -msgid "No categories selected for deletion." -msgstr "No heu seleccionat les categories a eliminar." - -#: ajax/categories/delete.php:26 -msgid "No address books found." -msgstr "No s'han trobat llibretes d'adreces." - -#: ajax/categories/delete.php:34 -msgid "No contacts found." -msgstr "No s'han trobat contactes." - -#: ajax/contact/add.php:47 -msgid "There was an error adding the contact." -msgstr "S'ha produït un error en afegir el contacte." - -#: ajax/contact/addproperty.php:39 ajax/contact/saveproperty.php:36 -msgid "element name is not set." -msgstr "no s'ha establert el nom de l'element." - -#: ajax/contact/addproperty.php:46 -msgid "Could not parse contact: " -msgstr "No s'ha pogut processar el contacte:" - -#: ajax/contact/addproperty.php:56 -msgid "Cannot add empty property." -msgstr "No es pot afegir una propietat buida." - -#: ajax/contact/addproperty.php:67 -msgid "At least one of the address fields has to be filled out." -msgstr "Almenys heu d'omplir un dels camps d'adreça." - -#: ajax/contact/addproperty.php:76 -msgid "Trying to add duplicate property: " -msgstr "Esteu intentant afegir una propietat duplicada:" - -#: ajax/contact/addproperty.php:115 ajax/contact/saveproperty.php:93 -msgid "Missing IM parameter." -msgstr "Falta el paràmetre IM." - -#: ajax/contact/addproperty.php:119 ajax/contact/saveproperty.php:97 -msgid "Unknown IM: " -msgstr "IM desconegut:" - -#: ajax/contact/deleteproperty.php:37 -msgid "Information about vCard is incorrect. Please reload the page." -msgstr "La informació de la vCard és incorrecta. Carregueu la pàgina de nou." - -#: ajax/contact/details.php:31 -msgid "Missing ID" -msgstr "Falta la ID" - -#: ajax/contact/details.php:36 -msgid "Error parsing VCard for ID: \"" -msgstr "Error en analitzar la ID de la VCard: \"" - -#: ajax/contact/saveproperty.php:42 -msgid "checksum is not set." -msgstr "no s'ha establert la suma de verificació." - -#: ajax/contact/saveproperty.php:62 -msgid "Information about vCard is incorrect. Please reload the page: " -msgstr "La informació de la vCard és incorrecta. Carregueu de nou la pàgina:" - -#: ajax/contact/saveproperty.php:69 -msgid "Something went FUBAR. " -msgstr "Alguna cosa ha anat FUBAR." - -#: ajax/currentphoto.php:30 ajax/oc_photo.php:28 ajax/uploadphoto.php:36 -#: ajax/uploadphoto.php:68 -msgid "No contact ID was submitted." -msgstr "No s'ha tramès cap ID de contacte." - -#: ajax/currentphoto.php:36 -msgid "Error reading contact photo." -msgstr "Error en llegir la foto del contacte." - -#: ajax/currentphoto.php:48 -msgid "Error saving temporary file." -msgstr "Error en desar el fitxer temporal." - -#: ajax/currentphoto.php:51 -msgid "The loading photo is not valid." -msgstr "La foto carregada no és vàlida." - -#: ajax/editname.php:31 -msgid "Contact ID is missing." -msgstr "falta la ID del contacte." - -#: ajax/oc_photo.php:32 -msgid "No photo path was submitted." -msgstr "No heu tramès el camí de la foto." - -#: ajax/oc_photo.php:39 -msgid "File doesn't exist:" -msgstr "El fitxer no existeix:" - -#: ajax/oc_photo.php:44 ajax/oc_photo.php:47 -msgid "Error loading image." -msgstr "Error en carregar la imatge." - -#: ajax/savecrop.php:69 -msgid "Error getting contact object." -msgstr "Error en obtenir l'objecte contacte." - -#: ajax/savecrop.php:79 -msgid "Error getting PHOTO property." -msgstr "Error en obtenir la propietat PHOTO." - -#: ajax/savecrop.php:98 -msgid "Error saving contact." -msgstr "Error en desar el contacte." - -#: ajax/savecrop.php:109 -msgid "Error resizing image" -msgstr "Error en modificar la mida de la imatge" - -#: ajax/savecrop.php:112 -msgid "Error cropping image" -msgstr "Error en retallar la imatge" - -#: ajax/savecrop.php:115 -msgid "Error creating temporary image" -msgstr "Error en crear la imatge temporal" - -#: ajax/savecrop.php:118 -msgid "Error finding image: " -msgstr "Error en trobar la imatge:" - -#: ajax/uploadimport.php:44 ajax/uploadimport.php:76 -msgid "Error uploading contacts to storage." -msgstr "Error en carregar contactes a l'emmagatzemament." - -#: ajax/uploadimport.php:61 ajax/uploadphoto.php:77 -msgid "There is no error, the file uploaded with success" -msgstr "No hi ha errors, el fitxer s'ha carregat correctament" - -#: ajax/uploadimport.php:62 ajax/uploadphoto.php:78 -msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" -msgstr "El fitxer carregat supera la directiva upload_max_filesize de php.ini" - -#: ajax/uploadimport.php:63 ajax/uploadphoto.php:79 -msgid "" -"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " -"the HTML form" -msgstr "El fitxer carregat supera la directiva MAX_FILE_SIZE especificada al formulari HTML" - -#: ajax/uploadimport.php:64 ajax/uploadphoto.php:80 -msgid "The uploaded file was only partially uploaded" -msgstr "El fitxer només s'ha carregat parcialment" - -#: ajax/uploadimport.php:65 ajax/uploadphoto.php:81 -msgid "No file was uploaded" -msgstr "No s'ha carregat cap fitxer" - -#: ajax/uploadimport.php:66 ajax/uploadphoto.php:82 -msgid "Missing a temporary folder" -msgstr "Falta un fitxer temporal" - -#: ajax/uploadphoto.php:59 ajax/uploadphoto.php:109 -msgid "Couldn't save temporary image: " -msgstr "No s'ha pogut desar la imatge temporal: " - -#: ajax/uploadphoto.php:62 ajax/uploadphoto.php:112 -msgid "Couldn't load temporary image: " -msgstr "No s'ha pogut carregar la imatge temporal: " - -#: ajax/uploadphoto.php:71 -msgid "No file was uploaded. Unknown error" -msgstr "No s'ha carregat cap fitxer. Error desconegut" - -#: appinfo/app.php:25 -msgid "Contacts" -msgstr "Contactes" - -#: js/contacts.js:71 -msgid "Sorry, this functionality has not been implemented yet" -msgstr "Aquesta funcionalitat encara no està implementada" - -#: js/contacts.js:71 -msgid "Not implemented" -msgstr "No implementada" - -#: js/contacts.js:76 -msgid "Couldn't get a valid address." -msgstr "No s'ha pogut obtenir una adreça vàlida." - -#: js/contacts.js:76 js/contacts.js:365 js/contacts.js:381 js/contacts.js:393 -#: js/contacts.js:723 js/contacts.js:763 js/contacts.js:789 js/contacts.js:921 -#: js/contacts.js:927 js/contacts.js:939 js/contacts.js:976 -#: js/contacts.js:1250 js/contacts.js:1258 js/contacts.js:1267 -#: js/contacts.js:1302 js/contacts.js:1338 js/contacts.js:1353 -#: js/contacts.js:1379 js/contacts.js:1609 js/contacts.js:1644 -#: js/contacts.js:1664 js/settings.js:26 js/settings.js:43 js/settings.js:68 -msgid "Error" -msgstr "Error" - -#: js/contacts.js:424 -msgid "You do not have permission to add contacts to " -msgstr "No teniu permisos per afegir contactes a " - -#: js/contacts.js:425 -msgid "Please select one of your own address books." -msgstr "Seleccioneu una de les vostres llibretes d'adreces" - -#: js/contacts.js:425 -msgid "Permission error" -msgstr "Error de permisos" - -#: js/contacts.js:763 -msgid "This property has to be non-empty." -msgstr "Aquesta propietat no pot ser buida." - -#: js/contacts.js:789 -msgid "Couldn't serialize elements." -msgstr "No s'han pogut serialitzar els elements." - -#: js/contacts.js:921 js/contacts.js:939 -msgid "" -"'deleteProperty' called without type argument. Please report at " -"bugs.owncloud.org" -msgstr "'deleteProperty' s'ha cridat sense argument de tipus. Informeu-ne a bugs.owncloud.org" - -#: js/contacts.js:958 -msgid "Edit name" -msgstr "Edita el nom" - -#: js/contacts.js:1250 -msgid "No files selected for upload." -msgstr "No s'han seleccionat fitxers per a la pujada." - -#: js/contacts.js:1258 -msgid "" -"The file you are trying to upload exceed the maximum size for file uploads " -"on this server." -msgstr "El fitxer que intenteu pujar excedeix la mida màxima de pujada en aquest servidor." - -#: js/contacts.js:1322 -msgid "Error loading profile picture." -msgstr "Error en carregar la imatge de perfil." - -#: js/contacts.js:1457 js/contacts.js:1498 js/contacts.js:1517 -#: js/contacts.js:1560 -msgid "Select type" -msgstr "Seleccioneu un tipus" - -#: js/contacts.js:1578 -msgid "" -"Some contacts are marked for deletion, but not deleted yet. Please wait for " -"them to be deleted." -msgstr "Heu marcat eliminar alguns contactes, però encara no s'han eliminat. Espereu mentre s'esborren." - -#: js/contacts.js:1649 -msgid "Do you want to merge these address books?" -msgstr "Voleu fusionar aquestes llibretes d'adreces?" - -#: js/loader.js:49 -msgid "Result: " -msgstr "Resultat: " - -#: js/loader.js:49 -msgid " imported, " -msgstr " importat, " - -#: js/loader.js:49 -msgid " failed." -msgstr " fallada." - -#: js/settings.js:68 -msgid "Displayname cannot be empty." -msgstr "El nom a mostrar no pot ser buit" - -#: lib/app.php:36 -msgid "Addressbook not found: " -msgstr "No s'ha trobat la llibreta d'adreces: " - -#: lib/app.php:52 -msgid "This is not your addressbook." -msgstr "Aquesta no és la vostra llibreta d'adreces" - -#: lib/app.php:71 -msgid "Contact could not be found." -msgstr "No s'ha trobat el contacte." - -#: lib/app.php:116 -msgid "Jabber" -msgstr "Jabber" - -#: lib/app.php:121 -msgid "AIM" -msgstr "AIM" - -#: lib/app.php:126 -msgid "MSN" -msgstr "MSN" - -#: lib/app.php:131 -msgid "Twitter" -msgstr "Twitter" - -#: lib/app.php:136 -msgid "GoogleTalk" -msgstr "GoogleTalk" - -#: lib/app.php:141 -msgid "Facebook" -msgstr "Facebook" - -#: lib/app.php:146 -msgid "XMPP" -msgstr "XMPP" - -#: lib/app.php:151 -msgid "ICQ" -msgstr "ICQ" - -#: lib/app.php:156 -msgid "Yahoo" -msgstr "Yahoo" - -#: lib/app.php:161 -msgid "Skype" -msgstr "Skype" - -#: lib/app.php:166 -msgid "QQ" -msgstr "QQ" - -#: lib/app.php:171 -msgid "GaduGadu" -msgstr "GaduGadu" - -#: lib/app.php:194 lib/app.php:202 lib/app.php:213 lib/app.php:266 -msgid "Work" -msgstr "Feina" - -#: lib/app.php:195 lib/app.php:200 lib/app.php:214 -msgid "Home" -msgstr "Casa" - -#: lib/app.php:196 lib/app.php:209 lib/app.php:262 lib/vcard.php:593 -msgid "Other" -msgstr "Altres" - -#: lib/app.php:201 -msgid "Mobile" -msgstr "Mòbil" - -#: lib/app.php:203 -msgid "Text" -msgstr "Text" - -#: lib/app.php:204 -msgid "Voice" -msgstr "Veu" - -#: lib/app.php:205 -msgid "Message" -msgstr "Missatge" - -#: lib/app.php:206 -msgid "Fax" -msgstr "Fax" - -#: lib/app.php:207 -msgid "Video" -msgstr "Vídeo" - -#: lib/app.php:208 -msgid "Pager" -msgstr "Paginador" - -#: lib/app.php:215 -msgid "Internet" -msgstr "Internet" - -#: lib/app.php:252 templates/part.contact.php:45 -#: templates/part.contact.php:128 -msgid "Birthday" -msgstr "Aniversari" - -#: lib/app.php:253 -msgid "Business" -msgstr "Negocis" - -#: lib/app.php:254 -msgid "Call" -msgstr "Trucada" - -#: lib/app.php:255 -msgid "Clients" -msgstr "Clients" - -#: lib/app.php:256 -msgid "Deliverer" -msgstr "Emissari" - -#: lib/app.php:257 -msgid "Holidays" -msgstr "Vacances" - -#: lib/app.php:258 -msgid "Ideas" -msgstr "Idees" - -#: lib/app.php:259 -msgid "Journey" -msgstr "Viatge" - -#: lib/app.php:260 -msgid "Jubilee" -msgstr "Aniversari" - -#: lib/app.php:261 -msgid "Meeting" -msgstr "Reunió" - -#: lib/app.php:263 -msgid "Personal" -msgstr "Personal" - -#: lib/app.php:264 -msgid "Projects" -msgstr "Projectes" - -#: lib/app.php:265 -msgid "Questions" -msgstr "Preguntes" - -#: lib/hooks.php:102 -msgid "{name}'s Birthday" -msgstr "Aniversari de {name}" - -#: lib/search.php:15 -msgid "Contact" -msgstr "Contacte" - -#: lib/vcard.php:408 -msgid "You do not have the permissions to edit this contact." -msgstr "No teniu permisos per editar aquest contacte" - -#: lib/vcard.php:483 -msgid "You do not have the permissions to delete this contact." -msgstr "No teniu permisos per esborrar aquest contacte" - -#: templates/index.php:14 -msgid "Add Contact" -msgstr "Afegeix un contacte" - -#: templates/index.php:15 templates/index.php:16 templates/part.import.php:17 -msgid "Import" -msgstr "Importa" - -#: templates/index.php:18 -msgid "Settings" -msgstr "Configuració" - -#: templates/index.php:18 templates/settings.php:9 -msgid "Addressbooks" -msgstr "Llibretes d'adreces" - -#: templates/index.php:36 templates/part.import.php:24 -msgid "Close" -msgstr "Tanca" - -#: templates/index.php:37 -msgid "Keyboard shortcuts" -msgstr "Dreceres de teclat" - -#: templates/index.php:39 -msgid "Navigation" -msgstr "Navegació" - -#: templates/index.php:42 -msgid "Next contact in list" -msgstr "Següent contacte de la llista" - -#: templates/index.php:44 -msgid "Previous contact in list" -msgstr "Contacte anterior de la llista" - -#: templates/index.php:46 -msgid "Expand/collapse current addressbook" -msgstr "Expandeix/col·lapsa la llibreta d'adreces" - -#: templates/index.php:48 -msgid "Next addressbook" -msgstr "Llibreta d'adreces següent" - -#: templates/index.php:50 -msgid "Previous addressbook" -msgstr "Llibreta d'adreces anterior" - -#: templates/index.php:54 -msgid "Actions" -msgstr "Accions" - -#: templates/index.php:57 -msgid "Refresh contacts list" -msgstr "Carrega de nou la llista de contactes" - -#: templates/index.php:59 -msgid "Add new contact" -msgstr "Afegeix un contacte nou" - -#: templates/index.php:61 -msgid "Add new addressbook" -msgstr "Afegeix una llibreta d'adreces nova" - -#: templates/index.php:63 -msgid "Delete current contact" -msgstr "Esborra el contacte" - -#: templates/part.contact.php:17 -msgid "Drop photo to upload" -msgstr "Elimina la foto a carregar" - -#: templates/part.contact.php:19 -msgid "Delete current photo" -msgstr "Elimina la foto actual" - -#: templates/part.contact.php:20 -msgid "Edit current photo" -msgstr "Edita la foto actual" - -#: templates/part.contact.php:21 -msgid "Upload new photo" -msgstr "Carrega una foto nova" - -#: templates/part.contact.php:22 -msgid "Select photo from ownCloud" -msgstr "Selecciona una foto de ownCloud" - -#: templates/part.contact.php:35 -msgid "Format custom, Short name, Full name, Reverse or Reverse with comma" -msgstr "Format personalitzat, Nom curt, Nom sencer, Invertit o Invertit amb coma" - -#: templates/part.contact.php:36 -msgid "Edit name details" -msgstr "Edita detalls del nom" - -#: templates/part.contact.php:39 templates/part.contact.php:40 -#: templates/part.contact.php:126 -msgid "Organization" -msgstr "Organització" - -#: templates/part.contact.php:40 templates/part.contact.php:42 -#: templates/part.contact.php:44 templates/part.contact.php:46 -#: templates/part.contact.php:50 templates/settings.php:36 -msgid "Delete" -msgstr "Suprimeix" - -#: templates/part.contact.php:41 templates/part.contact.php:127 -msgid "Nickname" -msgstr "Sobrenom" - -#: templates/part.contact.php:42 -msgid "Enter nickname" -msgstr "Escriviu el sobrenom" - -#: templates/part.contact.php:43 templates/part.contact.php:134 -msgid "Web site" -msgstr "Adreça web" - -#: templates/part.contact.php:44 -msgid "http://www.somesite.com" -msgstr "http://www.somesite.com" - -#: templates/part.contact.php:44 -msgid "Go to web site" -msgstr "Vés a la web" - -#: templates/part.contact.php:46 -msgid "dd-mm-yyyy" -msgstr "dd-mm-yyyy" - -#: templates/part.contact.php:47 templates/part.contact.php:135 -msgid "Groups" -msgstr "Grups" - -#: templates/part.contact.php:49 -msgid "Separate groups with commas" -msgstr "Separeu els grups amb comes" - -#: templates/part.contact.php:50 -msgid "Edit groups" -msgstr "Edita els grups" - -#: templates/part.contact.php:59 templates/part.contact.php:73 -#: templates/part.contact.php:98 -msgid "Preferred" -msgstr "Preferit" - -#: templates/part.contact.php:60 -msgid "Please specify a valid email address." -msgstr "Especifiqueu una adreça de correu electrònic correcta" - -#: templates/part.contact.php:60 -msgid "Enter email address" -msgstr "Escriviu una adreça de correu electrònic" - -#: templates/part.contact.php:64 -msgid "Mail to address" -msgstr "Envia per correu electrònic a l'adreça" - -#: templates/part.contact.php:65 -msgid "Delete email address" -msgstr "Elimina l'adreça de correu electrònic" - -#: templates/part.contact.php:75 -msgid "Enter phone number" -msgstr "Escriviu el número de telèfon" - -#: templates/part.contact.php:79 -msgid "Delete phone number" -msgstr "Elimina el número de telèfon" - -#: templates/part.contact.php:100 -msgid "Instant Messenger" -msgstr "Instant Messenger" - -#: templates/part.contact.php:101 -msgid "Delete IM" -msgstr "Elimina IM" - -#: templates/part.contact.php:110 -msgid "View on map" -msgstr "Visualitza al mapa" - -#: templates/part.contact.php:110 -msgid "Edit address details" -msgstr "Edita els detalls de l'adreça" - -#: templates/part.contact.php:116 -msgid "Add notes here." -msgstr "Afegiu notes aquí." - -#: templates/part.contact.php:124 -msgid "Add field" -msgstr "Afegeix un camp" - -#: templates/part.contact.php:129 -msgid "Phone" -msgstr "Telèfon" - -#: templates/part.contact.php:130 -msgid "Email" -msgstr "Correu electrònic" - -#: templates/part.contact.php:131 -msgid "Instant Messaging" -msgstr "Missatgeria instantània" - -#: templates/part.contact.php:132 -msgid "Address" -msgstr "Adreça" - -#: templates/part.contact.php:133 -msgid "Note" -msgstr "Nota" - -#: templates/part.contact.php:138 -msgid "Download contact" -msgstr "Baixa el contacte" - -#: templates/part.contact.php:139 -msgid "Delete contact" -msgstr "Suprimeix el contacte" - -#: templates/part.cropphoto.php:65 -msgid "The temporary image has been removed from cache." -msgstr "La imatge temporal ha estat eliminada de la memòria de cau." - -#: templates/part.edit_address_dialog.php:6 -msgid "Edit address" -msgstr "Edita l'adreça" - -#: templates/part.edit_address_dialog.php:10 -msgid "Type" -msgstr "Tipus" - -#: templates/part.edit_address_dialog.php:18 -#: templates/part.edit_address_dialog.php:21 -msgid "PO Box" -msgstr "Adreça postal" - -#: templates/part.edit_address_dialog.php:24 -msgid "Street address" -msgstr "Adreça" - -#: templates/part.edit_address_dialog.php:27 -msgid "Street and number" -msgstr "Carrer i número" - -#: templates/part.edit_address_dialog.php:30 -msgid "Extended" -msgstr "Addicional" - -#: templates/part.edit_address_dialog.php:33 -msgid "Apartment number etc." -msgstr "Número d'apartament, etc." - -#: templates/part.edit_address_dialog.php:36 -#: templates/part.edit_address_dialog.php:39 -msgid "City" -msgstr "Ciutat" - -#: templates/part.edit_address_dialog.php:42 -msgid "Region" -msgstr "Comarca" - -#: templates/part.edit_address_dialog.php:45 -msgid "E.g. state or province" -msgstr "p. ex. Estat o província " - -#: templates/part.edit_address_dialog.php:48 -msgid "Zipcode" -msgstr "Codi postal" - -#: templates/part.edit_address_dialog.php:51 -msgid "Postal code" -msgstr "Codi postal" - -#: templates/part.edit_address_dialog.php:54 -#: templates/part.edit_address_dialog.php:57 -msgid "Country" -msgstr "País" - -#: templates/part.edit_name_dialog.php:16 -msgid "Addressbook" -msgstr "Llibreta d'adreces" - -#: templates/part.edit_name_dialog.php:23 -msgid "Hon. prefixes" -msgstr "Prefix honorífic:" - -#: templates/part.edit_name_dialog.php:27 -msgid "Miss" -msgstr "Srta" - -#: templates/part.edit_name_dialog.php:28 -msgid "Ms" -msgstr "Sra" - -#: templates/part.edit_name_dialog.php:29 -msgid "Mr" -msgstr "Sr" - -#: templates/part.edit_name_dialog.php:30 -msgid "Sir" -msgstr "Senyor" - -#: templates/part.edit_name_dialog.php:31 -msgid "Mrs" -msgstr "Sra" - -#: templates/part.edit_name_dialog.php:32 -msgid "Dr" -msgstr "Dr" - -#: templates/part.edit_name_dialog.php:35 -msgid "Given name" -msgstr "Nom específic" - -#: templates/part.edit_name_dialog.php:37 -msgid "Additional names" -msgstr "Noms addicionals" - -#: templates/part.edit_name_dialog.php:39 -msgid "Family name" -msgstr "Nom de familia" - -#: templates/part.edit_name_dialog.php:41 -msgid "Hon. suffixes" -msgstr "Sufix honorífic:" - -#: templates/part.edit_name_dialog.php:45 -msgid "J.D." -msgstr "J.D." - -#: templates/part.edit_name_dialog.php:46 -msgid "M.D." -msgstr "M.D." - -#: templates/part.edit_name_dialog.php:47 -msgid "D.O." -msgstr "D.O." - -#: templates/part.edit_name_dialog.php:48 -msgid "D.C." -msgstr "D.C." - -#: templates/part.edit_name_dialog.php:49 -msgid "Ph.D." -msgstr "Ph.D." - -#: templates/part.edit_name_dialog.php:50 -msgid "Esq." -msgstr "Esq." - -#: templates/part.edit_name_dialog.php:51 -msgid "Jr." -msgstr "Jr." - -#: templates/part.edit_name_dialog.php:52 -msgid "Sn." -msgstr "Sn." - -#: templates/part.import.php:1 -msgid "Import a contacts file" -msgstr "Importa un fitxer de contactes" - -#: templates/part.import.php:6 -msgid "Please choose the addressbook" -msgstr "Escolliu la llibreta d'adreces" - -#: templates/part.import.php:10 -msgid "create a new addressbook" -msgstr "crea una llibreta d'adreces nova" - -#: templates/part.import.php:15 -msgid "Name of new addressbook" -msgstr "Nom de la nova llibreta d'adreces" - -#: templates/part.import.php:20 -msgid "Importing contacts" -msgstr "S'estan important contactes" - -#: templates/part.no_contacts.php:3 -msgid "You have no contacts in your addressbook." -msgstr "No teniu contactes a la llibreta d'adreces." - -#: templates/part.no_contacts.php:5 -msgid "Add contact" -msgstr "Afegeix un contacte" - -#: templates/part.selectaddressbook.php:1 -msgid "Select Address Books" -msgstr "Selecccioneu llibretes d'adreces" - -#: templates/part.selectaddressbook.php:27 -msgid "Enter name" -msgstr "Escriviu un nom" - -#: templates/part.selectaddressbook.php:29 -msgid "Enter description" -msgstr "Escriviu una descripció" - -#: templates/settings.php:3 -msgid "CardDAV syncing addresses" -msgstr "Adreces de sincronització CardDAV" - -#: templates/settings.php:3 -msgid "more info" -msgstr "més informació" - -#: templates/settings.php:5 -msgid "Primary address (Kontact et al)" -msgstr "Adreça primària (Kontact i al)" - -#: templates/settings.php:7 -msgid "iOS/OS X" -msgstr "iOS/OS X" - -#: templates/settings.php:20 -msgid "Show CardDav link" -msgstr "Mostra l'enllaç CardDav" - -#: templates/settings.php:23 -msgid "Show read-only VCF link" -msgstr "Mostra l'enllaç VCF només de lectura" - -#: templates/settings.php:26 -msgid "Share" -msgstr "Comparteix" - -#: templates/settings.php:29 -msgid "Download" -msgstr "Baixa" - -#: templates/settings.php:33 -msgid "Edit" -msgstr "Edita" - -#: templates/settings.php:43 -msgid "New Address Book" -msgstr "Nova llibreta d'adreces" - -#: templates/settings.php:44 -msgid "Name" -msgstr "Nom" - -#: templates/settings.php:45 -msgid "Description" -msgstr "Descripció" - -#: templates/settings.php:46 -msgid "Save" -msgstr "Desa" - -#: templates/settings.php:47 -msgid "Cancel" -msgstr "Cancel·la" - -#: templates/settings.php:52 -msgid "More..." -msgstr "Més..." diff --git a/l10n/ca/core.po b/l10n/ca/core.po index dc715f5e1907fc426ce54a1c0fdad9d56c00fd5a..010ddb24cb8cdb8987dc8e47cfbbd22cfb14b303 100644 --- a/l10n/ca/core.po +++ b/l10n/ca/core.po @@ -9,9 +9,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-16 02:04+0200\n" -"PO-Revision-Date: 2012-10-16 00:05+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-11-17 00:01+0100\n" +"PO-Revision-Date: 2012-11-16 08:21+0000\n" +"Last-Translator: rogerc \n" "Language-Team: Catalan (http://www.transifex.com/projects/p/owncloud/language/ca/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -19,209 +19,241 @@ msgstr "" "Language: ca\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: ajax/vcategories/add.php:23 ajax/vcategories/delete.php:23 -msgid "Application name not provided." -msgstr "No s'ha facilitat cap nom per l'aplicació." +#: ajax/vcategories/add.php:26 ajax/vcategories/edit.php:25 +msgid "Category type not provided." +msgstr "No s'ha especificat el tipus de categoria." -#: ajax/vcategories/add.php:29 +#: ajax/vcategories/add.php:30 msgid "No category to add?" msgstr "No voleu afegir cap categoria?" -#: ajax/vcategories/add.php:36 +#: ajax/vcategories/add.php:37 msgid "This category already exists: " msgstr "Aquesta categoria ja existeix:" -#: js/js.js:238 templates/layout.user.php:49 templates/layout.user.php:50 +#: ajax/vcategories/addToFavorites.php:26 ajax/vcategories/delete.php:27 +#: ajax/vcategories/favorites.php:24 +#: ajax/vcategories/removeFromFavorites.php:26 +msgid "Object type not provided." +msgstr "No s'ha proporcionat el tipus d'objecte." + +#: ajax/vcategories/addToFavorites.php:30 +#: ajax/vcategories/removeFromFavorites.php:30 +#, php-format +msgid "%s ID not provided." +msgstr "No s'ha proporcionat la ID %s." + +#: ajax/vcategories/addToFavorites.php:35 +#, php-format +msgid "Error adding %s to favorites." +msgstr "Error en afegir %s als preferits." + +#: ajax/vcategories/delete.php:35 js/oc-vcategories.js:136 +msgid "No categories selected for deletion." +msgstr "No hi ha categories per eliminar." + +#: ajax/vcategories/removeFromFavorites.php:35 +#, php-format +msgid "Error removing %s from favorites." +msgstr "Error en eliminar %s dels preferits." + +#: js/js.js:259 templates/layout.user.php:60 templates/layout.user.php:61 msgid "Settings" msgstr "Arranjament" -#: js/js.js:670 -msgid "January" -msgstr "Gener" +#: js/js.js:704 +msgid "seconds ago" +msgstr "segons enrere" -#: js/js.js:670 -msgid "February" -msgstr "Febrer" +#: js/js.js:705 +msgid "1 minute ago" +msgstr "fa 1 minut" -#: js/js.js:670 -msgid "March" -msgstr "Març" +#: js/js.js:706 +msgid "{minutes} minutes ago" +msgstr "fa {minutes} minuts" -#: js/js.js:670 -msgid "April" -msgstr "Abril" +#: js/js.js:707 +msgid "1 hour ago" +msgstr "fa 1 hora" -#: js/js.js:670 -msgid "May" -msgstr "Maig" +#: js/js.js:708 +msgid "{hours} hours ago" +msgstr "fa {hours} hores" -#: js/js.js:670 -msgid "June" -msgstr "Juny" +#: js/js.js:709 +msgid "today" +msgstr "avui" -#: js/js.js:671 -msgid "July" -msgstr "Juliol" +#: js/js.js:710 +msgid "yesterday" +msgstr "ahir" -#: js/js.js:671 -msgid "August" -msgstr "Agost" +#: js/js.js:711 +msgid "{days} days ago" +msgstr "fa {days} dies" -#: js/js.js:671 -msgid "September" -msgstr "Setembre" +#: js/js.js:712 +msgid "last month" +msgstr "el mes passat" -#: js/js.js:671 -msgid "October" -msgstr "Octubre" +#: js/js.js:713 +msgid "{months} months ago" +msgstr "fa {months} mesos" -#: js/js.js:671 -msgid "November" -msgstr "Novembre" +#: js/js.js:714 +msgid "months ago" +msgstr "mesos enrere" -#: js/js.js:671 -msgid "December" -msgstr "Desembre" +#: js/js.js:715 +msgid "last year" +msgstr "l'any passat" + +#: js/js.js:716 +msgid "years ago" +msgstr "anys enrere" -#: js/oc-dialogs.js:123 +#: js/oc-dialogs.js:126 msgid "Choose" msgstr "Escull" -#: js/oc-dialogs.js:143 js/oc-dialogs.js:163 +#: js/oc-dialogs.js:146 js/oc-dialogs.js:166 msgid "Cancel" msgstr "Cancel·la" -#: js/oc-dialogs.js:159 +#: js/oc-dialogs.js:162 msgid "No" msgstr "No" -#: js/oc-dialogs.js:160 +#: js/oc-dialogs.js:163 msgid "Yes" msgstr "Sí" -#: js/oc-dialogs.js:177 +#: js/oc-dialogs.js:180 msgid "Ok" msgstr "D'acord" -#: js/oc-vcategories.js:68 -msgid "No categories selected for deletion." -msgstr "No hi ha categories per eliminar." +#: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102 +#: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162 +msgid "The object type is not specified." +msgstr "No s'ha especificat el tipus d'objecte." -#: js/oc-vcategories.js:68 js/share.js:114 js/share.js:121 js/share.js:497 -#: js/share.js:509 +#: js/oc-vcategories.js:95 js/oc-vcategories.js:125 js/oc-vcategories.js:136 +#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:525 +#: js/share.js:537 msgid "Error" msgstr "Error" -#: js/share.js:103 +#: js/oc-vcategories.js:179 +msgid "The app name is not specified." +msgstr "No s'ha especificat el nom de l'aplicació." + +#: js/oc-vcategories.js:194 +msgid "The required file {file} is not installed!" +msgstr "El figtxer requerit {file} no està instal·lat!" + +#: js/share.js:124 msgid "Error while sharing" msgstr "Error en compartir" -#: js/share.js:114 +#: js/share.js:135 msgid "Error while unsharing" msgstr "Error en deixar de compartir" -#: js/share.js:121 +#: js/share.js:142 msgid "Error while changing permissions" msgstr "Error en canviar els permisos" -#: js/share.js:130 -msgid "Shared with you and the group" -msgstr "Compartit amb vós i amb el grup" - -#: js/share.js:130 -msgid "by" -msgstr "per" +#: js/share.js:151 +msgid "Shared with you and the group {group} by {owner}" +msgstr "Compartit amb vos i amb el grup {group} per {owner}" -#: js/share.js:132 -msgid "Shared with you by" -msgstr "compartit amb vós per" +#: js/share.js:153 +msgid "Shared with you by {owner}" +msgstr "Compartit amb vos per {owner}" -#: js/share.js:137 +#: js/share.js:158 msgid "Share with" msgstr "Comparteix amb" -#: js/share.js:142 +#: js/share.js:163 msgid "Share with link" msgstr "Comparteix amb enllaç" -#: js/share.js:143 +#: js/share.js:164 msgid "Password protect" msgstr "Protegir amb contrasenya" -#: js/share.js:147 templates/installation.php:42 templates/login.php:24 +#: js/share.js:168 templates/installation.php:42 templates/login.php:24 #: templates/verify.php:13 msgid "Password" msgstr "Contrasenya" -#: js/share.js:152 +#: js/share.js:173 msgid "Set expiration date" msgstr "Estableix la data d'expiració" -#: js/share.js:153 +#: js/share.js:174 msgid "Expiration date" msgstr "Data d'expiració" -#: js/share.js:185 +#: js/share.js:206 msgid "Share via email:" msgstr "Comparteix per correu electrònic" -#: js/share.js:187 +#: js/share.js:208 msgid "No people found" msgstr "No s'ha trobat ningú" -#: js/share.js:214 +#: js/share.js:235 msgid "Resharing is not allowed" msgstr "No es permet compartir de nou" -#: js/share.js:250 -msgid "Shared in" -msgstr "Compartit en" - -#: js/share.js:250 -msgid "with" -msgstr "amb" - #: js/share.js:271 +msgid "Shared in {item} with {user}" +msgstr "Compartit en {item} amb {user}" + +#: js/share.js:292 msgid "Unshare" msgstr "Deixa de compartir" -#: js/share.js:283 +#: js/share.js:304 msgid "can edit" msgstr "pot editar" -#: js/share.js:285 +#: js/share.js:306 msgid "access control" msgstr "control d'accés" -#: js/share.js:288 +#: js/share.js:309 msgid "create" msgstr "crea" -#: js/share.js:291 +#: js/share.js:312 msgid "update" msgstr "actualitza" -#: js/share.js:294 +#: js/share.js:315 msgid "delete" msgstr "elimina" -#: js/share.js:297 +#: js/share.js:318 msgid "share" msgstr "comparteix" -#: js/share.js:322 js/share.js:484 +#: js/share.js:343 js/share.js:512 js/share.js:514 msgid "Password protected" msgstr "Protegeix amb contrasenya" -#: js/share.js:497 +#: js/share.js:525 msgid "Error unsetting expiration date" msgstr "Error en eliminar la data d'expiració" -#: js/share.js:509 +#: js/share.js:537 msgid "Error setting expiration date" msgstr "Error en establir la data d'expiració" -#: lostpassword/index.php:26 +#: lostpassword/controller.php:47 msgid "ownCloud password reset" msgstr "estableix de nou la contrasenya Owncloud" @@ -234,12 +266,12 @@ msgid "You will receive a link to reset your password via Email." msgstr "Rebreu un enllaç al correu electrònic per reiniciar la contrasenya." #: lostpassword/templates/lostpassword.php:5 -msgid "Requested" -msgstr "Sol·licitat" +msgid "Reset email send." +msgstr "S'ha enviat el correu reinicialització" #: lostpassword/templates/lostpassword.php:8 -msgid "Login failed!" -msgstr "No s'ha pogut iniciar la sessió" +msgid "Request failed!" +msgstr "El requeriment ha fallat!" #: lostpassword/templates/lostpassword.php:11 templates/installation.php:38 #: templates/login.php:20 @@ -298,7 +330,7 @@ msgstr "No s'ha trobat el núvol" msgid "Edit categories" msgstr "Edita les categories" -#: templates/edit_categories_dialog.php:14 +#: templates/edit_categories_dialog.php:16 msgid "Add" msgstr "Afegeix" @@ -325,7 +357,7 @@ msgid "" "strongly suggest that you configure your webserver in a way that the data " "directory is no longer accessible or you move the data directory outside the" " webserver document root." -msgstr "" +msgstr "La carpeta de dades i els fitxers provablement són accessibles des d'internet. El fitxer .htaccess que proporciona ownCloud no funciona. Us recomanem que configureu el vostre servidor web de manera que la carpeta de dades no sigui accessible o que moveu la carpeta de dades fora de la carpeta arrel del servidor web." #: templates/installation.php:36 msgid "Create an admin account" @@ -372,27 +404,103 @@ msgstr "Ordinador central de la base de dades" msgid "Finish setup" msgstr "Acaba la configuració" -#: templates/layout.guest.php:38 +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Sunday" +msgstr "Diumenge" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Monday" +msgstr "Dilluns" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Tuesday" +msgstr "Dimarts" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Wednesday" +msgstr "Dimecres" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Thursday" +msgstr "Dijous" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Friday" +msgstr "Divendres" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Saturday" +msgstr "Dissabte" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "January" +msgstr "Gener" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "February" +msgstr "Febrer" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "March" +msgstr "Març" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "April" +msgstr "Abril" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "May" +msgstr "Maig" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "June" +msgstr "Juny" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "July" +msgstr "Juliol" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "August" +msgstr "Agost" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "September" +msgstr "Setembre" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "October" +msgstr "Octubre" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "November" +msgstr "Novembre" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "December" +msgstr "Desembre" + +#: templates/layout.guest.php:42 msgid "web services under your control" msgstr "controleu els vostres serveis web" -#: templates/layout.user.php:34 +#: templates/layout.user.php:45 msgid "Log out" msgstr "Surt" #: templates/login.php:8 msgid "Automatic logon rejected!" -msgstr "" +msgstr "L'ha rebutjat l'acceditació automàtica!" #: templates/login.php:9 msgid "" "If you did not change your password recently, your account may be " "compromised!" -msgstr "" +msgstr "Se no heu canviat la contrasenya recentment el vostre compte pot estar compromès!" #: templates/login.php:10 msgid "Please change your password to secure your account again." -msgstr "" +msgstr "Canvieu la contrasenya de nou per assegurar el vostre compte." #: templates/login.php:15 msgid "Lost your password?" @@ -420,14 +528,14 @@ msgstr "següent" #: templates/verify.php:5 msgid "Security Warning!" -msgstr "" +msgstr "Avís de seguretat!" #: templates/verify.php:6 msgid "" "Please verify your password.
For security reasons you may be " "occasionally asked to enter your password again." -msgstr "" +msgstr "Comproveu la vostra contrasenya.
Per raons de seguretat se us pot demanar escriure de nou la vostra contrasenya." #: templates/verify.php:16 msgid "Verify" -msgstr "" +msgstr "Comprova" diff --git a/l10n/ca/files.po b/l10n/ca/files.po index b78da53d8b9c75d505a4be9d3dd706eab4c18df6..478d4fded6ca0bf33c539b847936c555c9a527a0 100644 --- a/l10n/ca/files.po +++ b/l10n/ca/files.po @@ -6,14 +6,15 @@ # , 2012. # , 2012. # , 2012. +# Josep Tomàs , 2012. # , 2011-2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-02 02:02+0200\n" -"PO-Revision-Date: 2012-10-01 08:52+0000\n" -"Last-Translator: rogerc \n" +"POT-Creation-Date: 2012-12-02 00:02+0100\n" +"PO-Revision-Date: 2012-12-01 16:57+0000\n" +"Last-Translator: Josep Tomàs \n" "Language-Team: Catalan (http://www.transifex.com/projects/p/owncloud/language/ca/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -26,195 +27,166 @@ msgid "There is no error, the file uploaded with success" msgstr "El fitxer s'ha pujat correctament" #: ajax/upload.php:21 -msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" -msgstr "El fitxer de pujada excedeix la directiva upload_max_filesize establerta a php.ini" +msgid "" +"The uploaded file exceeds the upload_max_filesize directive in php.ini: " +msgstr "L’arxiu que voleu carregar supera el màxim definit en la directiva upload_max_filesize del php.ini:" -#: ajax/upload.php:22 +#: ajax/upload.php:23 msgid "" "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " "the HTML form" msgstr "El fitxer de pujada excedeix la directiva MAX_FILE_SIZE especificada al formulari HTML" -#: ajax/upload.php:23 +#: ajax/upload.php:25 msgid "The uploaded file was only partially uploaded" msgstr "El fitxer només s'ha pujat parcialment" -#: ajax/upload.php:24 +#: ajax/upload.php:26 msgid "No file was uploaded" msgstr "El fitxer no s'ha pujat" -#: ajax/upload.php:25 +#: ajax/upload.php:27 msgid "Missing a temporary folder" msgstr "S'ha perdut un fitxer temporal" -#: ajax/upload.php:26 +#: ajax/upload.php:28 msgid "Failed to write to disk" msgstr "Ha fallat en escriure al disc" -#: appinfo/app.php:6 +#: appinfo/app.php:10 msgid "Files" msgstr "Fitxers" -#: js/fileactions.js:108 templates/index.php:62 +#: js/fileactions.js:117 templates/index.php:83 templates/index.php:84 msgid "Unshare" msgstr "Deixa de compartir" -#: js/fileactions.js:110 templates/index.php:64 +#: js/fileactions.js:119 templates/index.php:89 templates/index.php:90 msgid "Delete" msgstr "Suprimeix" -#: js/fileactions.js:182 +#: js/fileactions.js:181 msgid "Rename" msgstr "Reanomena" -#: js/filelist.js:190 js/filelist.js:192 -msgid "already exists" -msgstr "ja existeix" +#: js/filelist.js:201 js/filelist.js:203 +msgid "{new_name} already exists" +msgstr "{new_name} ja existeix" -#: js/filelist.js:190 js/filelist.js:192 +#: js/filelist.js:201 js/filelist.js:203 msgid "replace" msgstr "substitueix" -#: js/filelist.js:190 +#: js/filelist.js:201 msgid "suggest name" msgstr "sugereix un nom" -#: js/filelist.js:190 js/filelist.js:192 +#: js/filelist.js:201 js/filelist.js:203 msgid "cancel" msgstr "cancel·la" -#: js/filelist.js:239 js/filelist.js:241 -msgid "replaced" -msgstr "substituït" +#: js/filelist.js:250 +msgid "replaced {new_name}" +msgstr "s'ha substituït {new_name}" -#: js/filelist.js:239 js/filelist.js:241 js/filelist.js:273 js/filelist.js:275 +#: js/filelist.js:250 js/filelist.js:252 js/filelist.js:284 js/filelist.js:286 msgid "undo" msgstr "desfés" -#: js/filelist.js:241 -msgid "with" -msgstr "per" +#: js/filelist.js:252 +msgid "replaced {new_name} with {old_name}" +msgstr "s'ha substituït {old_name} per {new_name}" + +#: js/filelist.js:284 +msgid "unshared {files}" +msgstr "no compartits {files}" -#: js/filelist.js:273 -msgid "unshared" -msgstr "No compartits" +#: js/filelist.js:286 +msgid "deleted {files}" +msgstr "eliminats {files}" -#: js/filelist.js:275 -msgid "deleted" -msgstr "esborrat" +#: js/files.js:33 +msgid "" +"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not " +"allowed." +msgstr "El nóm no és vàlid, '\\', '/', '<', '>', ':', '\"', '|', '?' i '*' no estan permesos." -#: js/files.js:179 +#: js/files.js:183 msgid "generating ZIP-file, it may take some time." msgstr "s'estan generant fitxers ZIP, pot trigar una estona." -#: js/files.js:208 +#: js/files.js:218 msgid "Unable to upload your file as it is a directory or has 0 bytes" msgstr "No es pot pujar el fitxer perquè és una carpeta o té 0 bytes" -#: js/files.js:208 +#: js/files.js:218 msgid "Upload Error" msgstr "Error en la pujada" -#: js/files.js:236 js/files.js:341 js/files.js:371 +#: js/files.js:235 +msgid "Close" +msgstr "Tanca" + +#: js/files.js:254 js/files.js:368 js/files.js:398 msgid "Pending" msgstr "Pendents" -#: js/files.js:256 +#: js/files.js:274 msgid "1 file uploading" msgstr "1 fitxer pujant" -#: js/files.js:259 js/files.js:304 js/files.js:319 -msgid "files uploading" -msgstr "fitxers pujant" +#: js/files.js:277 js/files.js:331 js/files.js:346 +msgid "{count} files uploading" +msgstr "{count} fitxers en pujada" -#: js/files.js:322 js/files.js:355 +#: js/files.js:349 js/files.js:382 msgid "Upload cancelled." msgstr "La pujada s'ha cancel·lat." -#: js/files.js:424 +#: js/files.js:451 msgid "" "File upload is in progress. Leaving the page now will cancel the upload." msgstr "Hi ha una pujada en curs. Si abandoneu la pàgina la pujada es cancel·larà." -#: js/files.js:494 -msgid "Invalid name, '/' is not allowed." -msgstr "El nom no és vàlid, no es permet '/'." +#: js/files.js:523 +msgid "Invalid folder name. Usage of \"Shared\" is reserved by Owncloud" +msgstr "El nom de la carpeta no és vàlid. L'ús de \"Compartit\" està reservat per a OwnCloud" -#: js/files.js:668 -msgid "files scanned" -msgstr "arxius escanejats" +#: js/files.js:704 +msgid "{count} files scanned" +msgstr "{count} fitxers escannejats" -#: js/files.js:676 +#: js/files.js:712 msgid "error while scanning" msgstr "error durant l'escaneig" -#: js/files.js:749 templates/index.php:48 +#: js/files.js:785 templates/index.php:65 msgid "Name" msgstr "Nom" -#: js/files.js:750 templates/index.php:56 +#: js/files.js:786 templates/index.php:76 msgid "Size" msgstr "Mida" -#: js/files.js:751 templates/index.php:58 +#: js/files.js:787 templates/index.php:78 msgid "Modified" msgstr "Modificat" -#: js/files.js:778 -msgid "folder" -msgstr "carpeta" - -#: js/files.js:780 -msgid "folders" -msgstr "carpetes" - -#: js/files.js:788 -msgid "file" -msgstr "fitxer" - -#: js/files.js:790 -msgid "files" -msgstr "fitxers" - -#: js/files.js:834 -msgid "seconds ago" -msgstr "segons enrere" - -#: js/files.js:835 -msgid "minute ago" -msgstr "minut enrere" - -#: js/files.js:836 -msgid "minutes ago" -msgstr "minuts enrere" +#: js/files.js:814 +msgid "1 folder" +msgstr "1 carpeta" -#: js/files.js:839 -msgid "today" -msgstr "avui" +#: js/files.js:816 +msgid "{count} folders" +msgstr "{count} carpetes" -#: js/files.js:840 -msgid "yesterday" -msgstr "ahir" +#: js/files.js:824 +msgid "1 file" +msgstr "1 fitxer" -#: js/files.js:841 -msgid "days ago" -msgstr "dies enrere" - -#: js/files.js:842 -msgid "last month" -msgstr "el mes passat" - -#: js/files.js:844 -msgid "months ago" -msgstr "mesos enrere" - -#: js/files.js:845 -msgid "last year" -msgstr "l'any passat" - -#: js/files.js:846 -msgid "years ago" -msgstr "anys enrere" +#: js/files.js:826 +msgid "{count} files" +msgstr "{count} fitxers" #: templates/admin.php:5 msgid "File handling" @@ -224,27 +196,27 @@ msgstr "Gestió de fitxers" msgid "Maximum upload size" msgstr "Mida màxima de pujada" -#: templates/admin.php:7 +#: templates/admin.php:9 msgid "max. possible: " msgstr "màxim possible:" -#: templates/admin.php:9 +#: templates/admin.php:12 msgid "Needed for multi-file and folder downloads." msgstr "Necessari per fitxers múltiples i baixada de carpetes" -#: templates/admin.php:9 +#: templates/admin.php:14 msgid "Enable ZIP-download" msgstr "Activa la baixada ZIP" -#: templates/admin.php:11 +#: templates/admin.php:17 msgid "0 is unlimited" msgstr "0 és sense límit" -#: templates/admin.php:12 +#: templates/admin.php:19 msgid "Maximum input size for ZIP files" msgstr "Mida màxima d'entrada per fitxers ZIP" -#: templates/admin.php:14 +#: templates/admin.php:23 msgid "Save" msgstr "Desa" @@ -252,52 +224,48 @@ msgstr "Desa" msgid "New" msgstr "Nou" -#: templates/index.php:9 +#: templates/index.php:10 msgid "Text file" msgstr "Fitxer de text" -#: templates/index.php:10 +#: templates/index.php:12 msgid "Folder" msgstr "Carpeta" -#: templates/index.php:11 -msgid "From url" -msgstr "Des de la url" +#: templates/index.php:14 +msgid "From link" +msgstr "Des d'enllaç" -#: templates/index.php:20 +#: templates/index.php:35 msgid "Upload" msgstr "Puja" -#: templates/index.php:27 +#: templates/index.php:43 msgid "Cancel upload" msgstr "Cancel·la la pujada" -#: templates/index.php:40 +#: templates/index.php:57 msgid "Nothing in here. Upload something!" msgstr "Res per aquí. Pugeu alguna cosa!" -#: templates/index.php:50 -msgid "Share" -msgstr "Comparteix" - -#: templates/index.php:52 +#: templates/index.php:71 msgid "Download" msgstr "Baixa" -#: templates/index.php:75 +#: templates/index.php:103 msgid "Upload too large" msgstr "La pujada és massa gran" -#: templates/index.php:77 +#: templates/index.php:105 msgid "" "The files you are trying to upload exceed the maximum size for file uploads " "on this server." msgstr "Els fitxers que esteu intentant pujar excedeixen la mida màxima de pujada del servidor" -#: templates/index.php:82 +#: templates/index.php:110 msgid "Files are being scanned, please wait." msgstr "S'estan escanejant els fitxers, espereu" -#: templates/index.php:85 +#: templates/index.php:113 msgid "Current scanning" msgstr "Actualment escanejant" diff --git a/l10n/ca/files_external.po b/l10n/ca/files_external.po index 2b4c767cdecc9a01eabc04cd202223a95e9c04ef..d1d086ad2d2042f132c5d38db2675e3ca09e164e 100644 --- a/l10n/ca/files_external.po +++ b/l10n/ca/files_external.po @@ -8,9 +8,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-04 02:04+0200\n" -"PO-Revision-Date: 2012-10-03 06:09+0000\n" -"Last-Translator: rogerc \n" +"POT-Creation-Date: 2012-12-12 00:12+0100\n" +"PO-Revision-Date: 2012-12-11 23:13+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Catalan (http://www.transifex.com/projects/p/owncloud/language/ca/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -42,66 +42,80 @@ msgstr "Proporcioneu una clau d'aplicació i secret vàlids per a Dropbox" msgid "Error configuring Google Drive storage" msgstr "Error en configurar l'emmagatzemament Google Drive" +#: lib/config.php:434 +msgid "" +"Warning: \"smbclient\" is not installed. Mounting of CIFS/SMB shares " +"is not possible. Please ask your system administrator to install it." +msgstr "" + +#: lib/config.php:435 +msgid "" +"Warning: The FTP support in PHP is not enabled or installed. Mounting" +" of FTP shares is not possible. Please ask your system administrator to " +"install it." +msgstr "" + #: templates/settings.php:3 msgid "External Storage" msgstr "Emmagatzemament extern" -#: templates/settings.php:7 templates/settings.php:19 +#: templates/settings.php:8 templates/settings.php:22 msgid "Mount point" msgstr "Punt de muntatge" -#: templates/settings.php:8 +#: templates/settings.php:9 msgid "Backend" msgstr "Dorsal" -#: templates/settings.php:9 +#: templates/settings.php:10 msgid "Configuration" msgstr "Configuració" -#: templates/settings.php:10 +#: templates/settings.php:11 msgid "Options" msgstr "Options" -#: templates/settings.php:11 +#: templates/settings.php:12 msgid "Applicable" msgstr "Aplicable" -#: templates/settings.php:23 +#: templates/settings.php:27 msgid "Add mount point" msgstr "Afegeix punt de muntatge" -#: templates/settings.php:54 templates/settings.php:62 +#: templates/settings.php:85 msgid "None set" msgstr "Cap d'establert" -#: templates/settings.php:63 +#: templates/settings.php:86 msgid "All Users" msgstr "Tots els usuaris" -#: templates/settings.php:64 +#: templates/settings.php:87 msgid "Groups" msgstr "Grups" -#: templates/settings.php:69 +#: templates/settings.php:95 msgid "Users" msgstr "Usuaris" -#: templates/settings.php:77 templates/settings.php:107 +#: templates/settings.php:108 templates/settings.php:109 +#: templates/settings.php:149 templates/settings.php:150 msgid "Delete" msgstr "Elimina" -#: templates/settings.php:87 +#: templates/settings.php:124 msgid "Enable User External Storage" msgstr "Habilita l'emmagatzemament extern d'usuari" -#: templates/settings.php:88 +#: templates/settings.php:125 msgid "Allow users to mount their own external storage" msgstr "Permet als usuaris muntar el seu emmagatzemament extern propi" -#: templates/settings.php:99 +#: templates/settings.php:139 msgid "SSL root certificates" msgstr "Certificats SSL root" -#: templates/settings.php:113 +#: templates/settings.php:158 msgid "Import Root Certificate" msgstr "Importa certificat root" diff --git a/l10n/ca/files_pdfviewer.po b/l10n/ca/files_pdfviewer.po deleted file mode 100644 index 9645c269ddde967f337bd4d651e7eb39a77ef526..0000000000000000000000000000000000000000 --- a/l10n/ca/files_pdfviewer.po +++ /dev/null @@ -1,42 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 02:18+0200\n" -"PO-Revision-Date: 2012-08-26 00:19+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Catalan (http://www.transifex.com/projects/p/owncloud/language/ca/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ca\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: js/viewer.js:22 -msgid "Previous" -msgstr "" - -#: js/viewer.js:23 -msgid "Next" -msgstr "" - -#: js/viewer.js:29 -msgid "Page Width" -msgstr "" - -#: js/viewer.js:29 -msgid "Page Fit" -msgstr "" - -#: js/viewer.js:30 -msgid "Print" -msgstr "" - -#: js/viewer.js:32 -msgid "Download" -msgstr "" diff --git a/l10n/ca/files_texteditor.po b/l10n/ca/files_texteditor.po deleted file mode 100644 index 9e62b3f7a2cae5d4a43573423ade2b949bd20d1f..0000000000000000000000000000000000000000 --- a/l10n/ca/files_texteditor.po +++ /dev/null @@ -1,44 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 01:17+0200\n" -"PO-Revision-Date: 2012-08-25 23:18+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Catalan (http://www.transifex.com/projects/p/owncloud/language/ca/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ca\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: js/aceeditor/mode-coldfusion-uncompressed.js:1568 -#: js/aceeditor/mode-liquid-uncompressed.js:902 -#: js/aceeditor/mode-svg-uncompressed.js:1575 -msgid "regex" -msgstr "" - -#: js/editor.js:72 js/editor.js:156 js/editor.js:163 -msgid "Save" -msgstr "" - -#: js/editor.js:74 -msgid "Close" -msgstr "" - -#: js/editor.js:149 -msgid "Saving..." -msgstr "" - -#: js/editor.js:239 -msgid "An error occurred!" -msgstr "" - -#: js/editor.js:266 -msgid "There were unsaved changes, click here to go back" -msgstr "" diff --git a/l10n/ca/gallery.po b/l10n/ca/gallery.po deleted file mode 100644 index 7be2fa1525474d376035efa0672440cac74c8b5a..0000000000000000000000000000000000000000 --- a/l10n/ca/gallery.po +++ /dev/null @@ -1,59 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-07-27 02:02+0200\n" -"PO-Revision-Date: 2012-07-26 07:08+0000\n" -"Last-Translator: rogerc \n" -"Language-Team: Catalan (http://www.transifex.com/projects/p/owncloud/language/ca/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ca\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: appinfo/app.php:39 -msgid "Pictures" -msgstr "Fotos" - -#: js/pictures.js:12 -msgid "Share gallery" -msgstr "Comperteix la galeria" - -#: js/pictures.js:32 -msgid "Error: " -msgstr "Error: " - -#: js/pictures.js:32 -msgid "Internal error" -msgstr "Error intern" - -#: templates/index.php:27 -msgid "Slideshow" -msgstr "Passi de diapositives" - -#: templates/view_album.php:19 -msgid "Back" -msgstr "Enrera" - -#: templates/view_album.php:36 -msgid "Remove confirmation" -msgstr "Elimina la confirmació" - -#: templates/view_album.php:37 -msgid "Do you want to remove album" -msgstr "Voleu eliminar l'àlbum" - -#: templates/view_album.php:40 -msgid "Change album name" -msgstr "Canvia el nom de l'àlbum" - -#: templates/view_album.php:43 -msgid "New album name" -msgstr "Nom nou de l'àlbum" diff --git a/l10n/ca/impress.po b/l10n/ca/impress.po deleted file mode 100644 index 198ff99c6d45fac7e4d4d8107cf78ed25c31d729..0000000000000000000000000000000000000000 --- a/l10n/ca/impress.po +++ /dev/null @@ -1,22 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 01:17+0200\n" -"PO-Revision-Date: 2012-08-25 23:18+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Catalan (http://www.transifex.com/projects/p/owncloud/language/ca/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ca\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: templates/presentations.php:7 -msgid "Documentation" -msgstr "" diff --git a/l10n/ca/lib.po b/l10n/ca/lib.po index e43b91310b549121789c699b0d61142ad0af8983..0bdb8f916ecacb15dc8e816aab11ec2af1e86e6c 100644 --- a/l10n/ca/lib.po +++ b/l10n/ca/lib.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-09-04 02:01+0200\n" -"PO-Revision-Date: 2012-09-03 10:11+0000\n" +"POT-Creation-Date: 2012-11-17 00:01+0100\n" +"PO-Revision-Date: 2012-11-16 08:22+0000\n" "Last-Translator: rogerc \n" "Language-Team: Catalan (http://www.transifex.com/projects/p/owncloud/language/ca/)\n" "MIME-Version: 1.0\n" @@ -18,43 +18,43 @@ msgstr "" "Language: ca\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: app.php:288 +#: app.php:285 msgid "Help" msgstr "Ajuda" -#: app.php:295 +#: app.php:292 msgid "Personal" msgstr "Personal" -#: app.php:300 +#: app.php:297 msgid "Settings" msgstr "Configuració" -#: app.php:305 +#: app.php:302 msgid "Users" msgstr "Usuaris" -#: app.php:312 +#: app.php:309 msgid "Apps" msgstr "Aplicacions" -#: app.php:314 +#: app.php:311 msgid "Admin" msgstr "Administració" -#: files.php:280 +#: files.php:332 msgid "ZIP download is turned off." msgstr "La baixada en ZIP està desactivada." -#: files.php:281 +#: files.php:333 msgid "Files need to be downloaded one by one." msgstr "Els fitxers s'han de baixar d'un en un." -#: files.php:281 files.php:306 +#: files.php:333 files.php:358 msgid "Back to Files" msgstr "Torna a Fitxers" -#: files.php:305 +#: files.php:357 msgid "Selected files too large to generate zip file." msgstr "Els fitxers seleccionats son massa grans per generar un fitxer zip." @@ -62,7 +62,7 @@ msgstr "Els fitxers seleccionats son massa grans per generar un fitxer zip." msgid "Application is not enabled" msgstr "L'aplicació no està habilitada" -#: json.php:39 json.php:63 json.php:75 +#: json.php:39 json.php:64 json.php:77 json.php:89 msgid "Authentication error" msgstr "Error d'autenticació" @@ -70,57 +70,84 @@ msgstr "Error d'autenticació" msgid "Token expired. Please reload page." msgstr "El testimoni ha expirat. Torneu a carregar la pàgina." -#: template.php:87 +#: search/provider/file.php:17 search/provider/file.php:35 +msgid "Files" +msgstr "Fitxers" + +#: search/provider/file.php:26 search/provider/file.php:33 +msgid "Text" +msgstr "Text" + +#: search/provider/file.php:29 +msgid "Images" +msgstr "Imatges" + +#: template.php:103 msgid "seconds ago" msgstr "segons enrere" -#: template.php:88 +#: template.php:104 msgid "1 minute ago" msgstr "fa 1 minut" -#: template.php:89 +#: template.php:105 #, php-format msgid "%d minutes ago" msgstr "fa %d minuts" -#: template.php:92 +#: template.php:106 +msgid "1 hour ago" +msgstr "fa 1 hora" + +#: template.php:107 +#, php-format +msgid "%d hours ago" +msgstr "fa %d hores" + +#: template.php:108 msgid "today" msgstr "avui" -#: template.php:93 +#: template.php:109 msgid "yesterday" msgstr "ahir" -#: template.php:94 +#: template.php:110 #, php-format msgid "%d days ago" msgstr "fa %d dies" -#: template.php:95 +#: template.php:111 msgid "last month" msgstr "el mes passat" -#: template.php:96 -msgid "months ago" -msgstr "mesos enrere" +#: template.php:112 +#, php-format +msgid "%d months ago" +msgstr "fa %d mesos" -#: template.php:97 +#: template.php:113 msgid "last year" msgstr "l'any passat" -#: template.php:98 +#: template.php:114 msgid "years ago" msgstr "fa anys" -#: updater.php:66 +#: updater.php:75 #, php-format msgid "%s is available. Get more information" msgstr "%s està disponible. Obtén més informació" -#: updater.php:68 +#: updater.php:77 msgid "up to date" msgstr "actualitzat" -#: updater.php:71 +#: updater.php:80 msgid "updates check is disabled" msgstr "la comprovació d'actualitzacions està desactivada" + +#: vcategories.php:188 vcategories.php:249 +#, php-format +msgid "Could not find category \"%s\"" +msgstr "No s'ha trobat la categoria \"%s\"" diff --git a/l10n/ca/media.po b/l10n/ca/media.po deleted file mode 100644 index 4d41f39ffe580eee085336b93043ef71fc97dbe9..0000000000000000000000000000000000000000 --- a/l10n/ca/media.po +++ /dev/null @@ -1,67 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# , 2011. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-06-06 00:12+0200\n" -"PO-Revision-Date: 2012-06-05 22:15+0000\n" -"Last-Translator: icewind \n" -"Language-Team: Catalan (http://www.transifex.net/projects/p/owncloud/language/ca/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ca\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: appinfo/app.php:32 templates/player.php:8 -msgid "Music" -msgstr "Música" - -#: js/music.js:18 -msgid "Add album to playlist" -msgstr "" - -#: templates/music.php:3 templates/player.php:12 -msgid "Play" -msgstr "Reprodueix" - -#: templates/music.php:4 templates/music.php:26 templates/player.php:13 -msgid "Pause" -msgstr "Pausa" - -#: templates/music.php:5 -msgid "Previous" -msgstr "Anterior" - -#: templates/music.php:6 templates/player.php:14 -msgid "Next" -msgstr "Següent" - -#: templates/music.php:7 -msgid "Mute" -msgstr "Mut" - -#: templates/music.php:8 -msgid "Unmute" -msgstr "Activa el so" - -#: templates/music.php:25 -msgid "Rescan Collection" -msgstr "Explora de nou la col·lecció" - -#: templates/music.php:37 -msgid "Artist" -msgstr "Artista" - -#: templates/music.php:38 -msgid "Album" -msgstr "Àlbum" - -#: templates/music.php:39 -msgid "Title" -msgstr "Títol" diff --git a/l10n/ca/settings.po b/l10n/ca/settings.po index 15ab377f6fbf730f108b8ef10a4a272c8eb3a960..b17a5d30e30114ad5e0a4be3bc7e3b4a6da7aace 100644 --- a/l10n/ca/settings.po +++ b/l10n/ca/settings.po @@ -6,14 +6,15 @@ # , 2012. # , 2012. # , 2012. +# Josep Tomàs , 2012. # , 2011-2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-10 02:05+0200\n" -"PO-Revision-Date: 2012-10-09 07:31+0000\n" -"Last-Translator: rogerc \n" +"POT-Creation-Date: 2012-12-03 00:04+0100\n" +"PO-Revision-Date: 2012-12-02 03:18+0000\n" +"Last-Translator: Josep Tomàs \n" "Language-Team: Catalan (http://www.transifex.com/projects/p/owncloud/language/ca/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -21,70 +22,73 @@ msgstr "" "Language: ca\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: ajax/apps/ocs.php:23 +#: ajax/apps/ocs.php:20 msgid "Unable to load list from App Store" msgstr "No s'ha pogut carregar la llista des de l'App Store" -#: ajax/creategroup.php:9 ajax/removeuser.php:13 ajax/setquota.php:18 -#: ajax/togglegroups.php:15 -msgid "Authentication error" -msgstr "Error d'autenticació" - -#: ajax/creategroup.php:19 +#: ajax/creategroup.php:10 msgid "Group already exists" msgstr "El grup ja existeix" -#: ajax/creategroup.php:28 +#: ajax/creategroup.php:19 msgid "Unable to add group" msgstr "No es pot afegir el grup" -#: ajax/enableapp.php:14 +#: ajax/enableapp.php:12 msgid "Could not enable app. " msgstr "No s'ha pogut activar l'apliació" -#: ajax/lostpassword.php:14 +#: ajax/lostpassword.php:12 msgid "Email saved" msgstr "S'ha desat el correu electrònic" -#: ajax/lostpassword.php:16 +#: ajax/lostpassword.php:14 msgid "Invalid email" msgstr "El correu electrònic no és vàlid" -#: ajax/openid.php:16 +#: ajax/openid.php:13 msgid "OpenID Changed" msgstr "OpenID ha canviat" -#: ajax/openid.php:18 ajax/setlanguage.php:20 ajax/setlanguage.php:23 +#: ajax/openid.php:15 ajax/setlanguage.php:17 ajax/setlanguage.php:20 msgid "Invalid request" msgstr "Sol.licitud no vàlida" -#: ajax/removegroup.php:16 +#: ajax/removegroup.php:13 msgid "Unable to delete group" msgstr "No es pot eliminar el grup" -#: ajax/removeuser.php:22 +#: ajax/removeuser.php:15 ajax/setquota.php:15 ajax/togglegroups.php:18 +msgid "Authentication error" +msgstr "Error d'autenticació" + +#: ajax/removeuser.php:24 msgid "Unable to delete user" msgstr "No es pot eliminar l'usuari" -#: ajax/setlanguage.php:18 +#: ajax/setlanguage.php:15 msgid "Language changed" msgstr "S'ha canviat l'idioma" -#: ajax/togglegroups.php:25 +#: ajax/togglegroups.php:12 +msgid "Admins can't remove themself from the admin group" +msgstr "Els administradors no es poden eliminar del grup admin" + +#: ajax/togglegroups.php:28 #, php-format msgid "Unable to add user to group %s" msgstr "No es pot afegir l'usuari al grup %s" -#: ajax/togglegroups.php:31 +#: ajax/togglegroups.php:34 #, php-format msgid "Unable to remove user from group %s" msgstr "No es pot eliminar l'usuari del grup %s" -#: js/apps.js:28 js/apps.js:65 +#: js/apps.js:28 js/apps.js:67 msgid "Disable" msgstr "Desactiva" -#: js/apps.js:28 js/apps.js:54 +#: js/apps.js:28 js/apps.js:55 msgid "Enable" msgstr "Activa" @@ -92,97 +96,10 @@ msgstr "Activa" msgid "Saving..." msgstr "S'està desant..." -#: personal.php:47 personal.php:48 +#: personal.php:42 personal.php:43 msgid "__language_name__" msgstr "Català" -#: templates/admin.php:14 -msgid "Security Warning" -msgstr "Avís de seguretat" - -#: templates/admin.php:17 -msgid "" -"Your data directory and your files are probably accessible from the " -"internet. The .htaccess file that ownCloud provides is not working. We " -"strongly suggest that you configure your webserver in a way that the data " -"directory is no longer accessible or you move the data directory outside the" -" webserver document root." -msgstr "La carpeta de dades i els vostres fitxersprobablement són accessibles des d'Internet. La fitxer .htaccess que ownCloud proporciona no funciona. Us recomanem que configureu el servidor web de tal manera que la carpeta de dades no sigui accessible o que moveu la carpeta de dades fora de l'arrel de documents del servidor web." - -#: templates/admin.php:31 -msgid "Cron" -msgstr "Cron" - -#: templates/admin.php:37 -msgid "Execute one task with each page loaded" -msgstr "Executar una tasca de cada pàgina carregada" - -#: templates/admin.php:43 -msgid "" -"cron.php is registered at a webcron service. Call the cron.php page in the " -"owncloud root once a minute over http." -msgstr "cron.php està registrat en un servei webcron. Feu una crida a la pàgina cron.php a l'arrel de ownCloud cada minut a través de http." - -#: templates/admin.php:49 -msgid "" -"Use systems cron service. Call the cron.php file in the owncloud folder via " -"a system cronjob once a minute." -msgstr "Utilitzeu el sistema de servei cron. Cridar el arxiu cron.php de la carpeta owncloud cada minut utilitzant el sistema de tasques cron." - -#: templates/admin.php:56 -msgid "Sharing" -msgstr "Compartir" - -#: templates/admin.php:61 -msgid "Enable Share API" -msgstr "Activa l'API de compartir" - -#: templates/admin.php:62 -msgid "Allow apps to use the Share API" -msgstr "Permet que les aplicacions usin l'API de compartir" - -#: templates/admin.php:67 -msgid "Allow links" -msgstr "Permet enllaços" - -#: templates/admin.php:68 -msgid "Allow users to share items to the public with links" -msgstr "Permet als usuaris compartir elements amb el públic amb enllaços" - -#: templates/admin.php:73 -msgid "Allow resharing" -msgstr "Permet compartir de nou" - -#: templates/admin.php:74 -msgid "Allow users to share items shared with them again" -msgstr "Permet als usuaris comparir elements ja compartits amb ells" - -#: templates/admin.php:79 -msgid "Allow users to share with anyone" -msgstr "Permet als usuaris compartir amb qualsevol" - -#: templates/admin.php:81 -msgid "Allow users to only share with users in their groups" -msgstr "Permet als usuaris compartir només amb usuaris del seu grup" - -#: templates/admin.php:88 -msgid "Log" -msgstr "Registre" - -#: templates/admin.php:116 -msgid "More" -msgstr "Més" - -#: templates/admin.php:124 -msgid "" -"Developed by the ownCloud community, the source code is " -"licensed under the AGPL." -msgstr "Desenvolupat per la comunitat ownCloud, el codi font té llicència AGPL." - #: templates/apps.php:10 msgid "Add your App" msgstr "Afegiu la vostra aplicació" @@ -215,22 +132,22 @@ msgstr "Gestió de fitxers grans" msgid "Ask a question" msgstr "Feu una pregunta" -#: templates/help.php:23 +#: templates/help.php:22 msgid "Problems connecting to help database." msgstr "Problemes per connectar amb la base de dades d'ajuda." -#: templates/help.php:24 +#: templates/help.php:23 msgid "Go there manually." msgstr "Vés-hi manualment." -#: templates/help.php:32 +#: templates/help.php:31 msgid "Answer" msgstr "Resposta" #: templates/personal.php:8 #, php-format -msgid "You have used %s of the available %s" -msgstr "Ha utilitzat %s de la %s disponible" +msgid "You have used %s of the available %s" +msgstr "Heu utilitzat %s d'un total disponible de %s" #: templates/personal.php:12 msgid "Desktop and Mobile Syncing Clients" @@ -288,6 +205,16 @@ msgstr "Ajudeu-nos amb la traducció" msgid "use this address to connect to your ownCloud in your file manager" msgstr "useu aquesta adreça per connectar-vos a ownCloud des del gestor de fitxers" +#: templates/personal.php:61 +msgid "" +"Developed by the ownCloud community, the source code is " +"licensed under the AGPL." +msgstr "Desenvolupat per la comunitat ownCloud, el codi font té llicència AGPL." + #: templates/users.php:21 templates/users.php:76 msgid "Name" msgstr "Nom" diff --git a/l10n/ca/tasks.po b/l10n/ca/tasks.po deleted file mode 100644 index b96519e57fad302f962ac1a2e5984367c13f04a5..0000000000000000000000000000000000000000 --- a/l10n/ca/tasks.po +++ /dev/null @@ -1,107 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-13 18:37+0000\n" -"Last-Translator: rogerc \n" -"Language-Team: Catalan (http://www.transifex.com/projects/p/owncloud/language/ca/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ca\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: ajax/update_property.php:51 lib/app.php:89 lib/app.php:101 -msgid "Invalid date/time" -msgstr "data/hora incorrecta" - -#: appinfo/app.php:11 -msgid "Tasks" -msgstr "Tasques" - -#: js/tasks.js:415 -msgid "No category" -msgstr "Cap categoria" - -#: lib/app.php:33 -msgid "Unspecified" -msgstr "Sense especificar" - -#: lib/app.php:34 -msgid "1=highest" -msgstr "1=major" - -#: lib/app.php:38 -msgid "5=medium" -msgstr "5=mitjana" - -#: lib/app.php:42 -msgid "9=lowest" -msgstr "9=inferior" - -#: lib/app.php:81 -msgid "Empty Summary" -msgstr "Elimina el resum" - -#: lib/app.php:93 -msgid "Invalid percent complete" -msgstr "Percentatge completat no vàlid" - -#: lib/app.php:107 -msgid "Invalid priority" -msgstr "Prioritat no vàlida" - -#: templates/tasks.php:3 -msgid "Add Task" -msgstr "Afegeix una tasca" - -#: templates/tasks.php:4 -msgid "Order Due" -msgstr "Ordena per" - -#: templates/tasks.php:5 -msgid "Order List" -msgstr "Ordena per llista" - -#: templates/tasks.php:6 -msgid "Order Complete" -msgstr "Ordena els complets" - -#: templates/tasks.php:7 -msgid "Order Location" -msgstr "Ordena per ubicació" - -#: templates/tasks.php:8 -msgid "Order Priority" -msgstr "Ordena per prioritat" - -#: templates/tasks.php:9 -msgid "Order Label" -msgstr "Ordena per etiqueta" - -#: templates/tasks.php:16 -msgid "Loading tasks..." -msgstr "Carregant les tasques..." - -#: templates/tasks.php:20 -msgid "Important" -msgstr "Important" - -#: templates/tasks.php:23 -msgid "More" -msgstr "Més" - -#: templates/tasks.php:26 -msgid "Less" -msgstr "Menys" - -#: templates/tasks.php:29 -msgid "Delete" -msgstr "Elimina" diff --git a/l10n/ca/user_migrate.po b/l10n/ca/user_migrate.po deleted file mode 100644 index c603e775e46ab2ac3a3787cf482ff0f9ee82f811..0000000000000000000000000000000000000000 --- a/l10n/ca/user_migrate.po +++ /dev/null @@ -1,52 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-15 02:03+0200\n" -"PO-Revision-Date: 2012-08-14 08:04+0000\n" -"Last-Translator: rogerc \n" -"Language-Team: Catalan (http://www.transifex.com/projects/p/owncloud/language/ca/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ca\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: js/export.js:14 js/export.js:20 -msgid "Export" -msgstr "Exporta" - -#: js/export.js:19 -msgid "Something went wrong while the export file was being generated" -msgstr "Alguna cosa ha anat malament en generar el fitxer d'exportació" - -#: js/export.js:19 -msgid "An error has occurred" -msgstr "S'ha produït un error" - -#: templates/settings.php:2 -msgid "Export your user account" -msgstr "Exportar el compte d'usuari" - -#: templates/settings.php:3 -msgid "" -"This will create a compressed file that contains your ownCloud account." -msgstr "Això crearà un fitxer comprimit que conté el vostre compte ownCloud." - -#: templates/settings.php:13 -msgid "Import user account" -msgstr "Importar el compte d'usuari" - -#: templates/settings.php:15 -msgid "ownCloud User Zip" -msgstr "zip d'usuari ownCloud" - -#: templates/settings.php:17 -msgid "Import" -msgstr "Importa" diff --git a/l10n/ca/user_openid.po b/l10n/ca/user_openid.po deleted file mode 100644 index 35c53f5627fba29e05a663ea1975030bc166460b..0000000000000000000000000000000000000000 --- a/l10n/ca/user_openid.po +++ /dev/null @@ -1,55 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-13 18:41+0000\n" -"Last-Translator: rogerc \n" -"Language-Team: Catalan (http://www.transifex.com/projects/p/owncloud/language/ca/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ca\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: templates/nomode.php:12 -msgid "This is an OpenID server endpoint. For more information, see " -msgstr "Això és un punt final de servidor OpenID. Per més informació consulteu" - -#: templates/nomode.php:14 -msgid "Identity: " -msgstr "Identitat:" - -#: templates/nomode.php:15 -msgid "Realm: " -msgstr "Domini:" - -#: templates/nomode.php:16 -msgid "User: " -msgstr "Usuari:" - -#: templates/nomode.php:17 -msgid "Login" -msgstr "Inici de sessió" - -#: templates/nomode.php:22 -msgid "Error: No user Selected" -msgstr "Error:No heu seleccionat cap usuari" - -#: templates/settings.php:4 -msgid "you can authenticate to other sites with this address" -msgstr "podeu autenticar altres llocs web amb aquesta adreça" - -#: templates/settings.php:5 -msgid "Authorized OpenID provider" -msgstr "Servidor OpenID autoritzat" - -#: templates/settings.php:6 -msgid "Your address at Wordpress, Identi.ca, …" -msgstr "La vostra adreça a Wordpress, Identi.ca …" diff --git a/l10n/ca/files_odfviewer.po b/l10n/ca/user_webdavauth.po similarity index 61% rename from l10n/ca/files_odfviewer.po rename to l10n/ca/user_webdavauth.po index e41b59b03caac87c35a14ab14ae10c5ead0a213c..55cf858935748a471232c1ddbf526cbbbbad1773 100644 --- a/l10n/ca/files_odfviewer.po +++ b/l10n/ca/user_webdavauth.po @@ -3,20 +3,21 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 02:18+0200\n" -"PO-Revision-Date: 2012-08-26 00:19+0000\n" -"Last-Translator: FULL NAME \n" +"POT-Creation-Date: 2012-11-10 00:01+0100\n" +"PO-Revision-Date: 2012-11-09 09:25+0000\n" +"Last-Translator: rogerc \n" "Language-Team: Catalan (http://www.transifex.com/projects/p/owncloud/language/ca/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: ca\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: js/viewer.js:9 -msgid "Close" -msgstr "" +#: templates/settings.php:4 +msgid "WebDAV URL: http://" +msgstr "Adreça WebDAV: http://" diff --git a/l10n/cs_CZ/admin_dependencies_chk.po b/l10n/cs_CZ/admin_dependencies_chk.po deleted file mode 100644 index 82774f6a248961ec325b02af7df7bd5e33ec2180..0000000000000000000000000000000000000000 --- a/l10n/cs_CZ/admin_dependencies_chk.po +++ /dev/null @@ -1,74 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Martin , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-18 02:01+0200\n" -"PO-Revision-Date: 2012-08-17 15:37+0000\n" -"Last-Translator: Martin \n" -"Language-Team: Czech (Czech Republic) (http://www.transifex.com/projects/p/owncloud/language/cs_CZ/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: cs_CZ\n" -"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2\n" - -#: settings.php:33 -msgid "" -"The php-json module is needed by the many applications for inter " -"communications" -msgstr "Modul php-json je třeba pro vzájemnou komunikaci mnoha aplikací" - -#: settings.php:39 -msgid "" -"The php-curl modude is needed to fetch the page title when adding a " -"bookmarks" -msgstr "Modul php-curl je třeba pro zobrazení titulu strany v okamžiku přidání záložky" - -#: settings.php:45 -msgid "The php-gd module is needed to create thumbnails of your images" -msgstr "Modul php-gd je třeba pro tvorbu náhledů Vašich obrázků" - -#: settings.php:51 -msgid "The php-ldap module is needed connect to your ldap server" -msgstr "Modul php-ldap je třeba pro připojení na Váš ldap server" - -#: settings.php:57 -msgid "The php-zip module is needed download multiple files at once" -msgstr "Modul php-zip je třeba pro souběžné stahování souborů" - -#: settings.php:63 -msgid "" -"The php-mb_multibyte module is needed to manage correctly the encoding." -msgstr "Modul php-mb_multibyte je třeba pro správnou funkci kódování." - -#: settings.php:69 -msgid "The php-ctype module is needed validate data." -msgstr "Modul php-ctype je třeba k ověřování dat." - -#: settings.php:75 -msgid "The php-xml module is needed to share files with webdav." -msgstr "Modul php-xml je třeba ke sdílení souborů prostřednictvím WebDAV." - -#: settings.php:81 -msgid "" -"The allow_url_fopen directive of your php.ini should be set to 1 to retrieve" -" knowledge base from OCS servers" -msgstr "Příkaz allow_url_fopen ve Vašem php.ini souboru by měl být nastaven na 1 kvůli získávání informací z OCS serverů" - -#: settings.php:87 -msgid "The php-pdo module is needed to store owncloud data into a database." -msgstr "Modul php-pdo je třeba pro ukládání dat ownCloud do databáze" - -#: templates/settings.php:2 -msgid "Dependencies status" -msgstr "Status závislostí" - -#: templates/settings.php:7 -msgid "Used by :" -msgstr "Používáno:" diff --git a/l10n/cs_CZ/admin_migrate.po b/l10n/cs_CZ/admin_migrate.po deleted file mode 100644 index a43f6e5be06d4795098c7d3eb0a7e82ffbc0c839..0000000000000000000000000000000000000000 --- a/l10n/cs_CZ/admin_migrate.po +++ /dev/null @@ -1,33 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Martin , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-16 02:04+0200\n" -"PO-Revision-Date: 2012-08-15 10:35+0000\n" -"Last-Translator: Martin \n" -"Language-Team: Czech (Czech Republic) (http://www.transifex.com/projects/p/owncloud/language/cs_CZ/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: cs_CZ\n" -"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2\n" - -#: templates/settings.php:3 -msgid "Export this ownCloud instance" -msgstr "Export této instance ownCloud" - -#: templates/settings.php:4 -msgid "" -"This will create a compressed file that contains the data of this owncloud instance.\n" -" Please choose the export type:" -msgstr "Bude vytvořen komprimovaný soubor obsahující data této instance ownCloud.⏎ Zvolte typ exportu:" - -#: templates/settings.php:12 -msgid "Export" -msgstr "Export" diff --git a/l10n/cs_CZ/bookmarks.po b/l10n/cs_CZ/bookmarks.po deleted file mode 100644 index a6d7d19a244329c0d02625bfbb065fdfd7030779..0000000000000000000000000000000000000000 --- a/l10n/cs_CZ/bookmarks.po +++ /dev/null @@ -1,61 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Martin , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-16 02:04+0200\n" -"PO-Revision-Date: 2012-08-15 09:44+0000\n" -"Last-Translator: Martin \n" -"Language-Team: Czech (Czech Republic) (http://www.transifex.com/projects/p/owncloud/language/cs_CZ/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: cs_CZ\n" -"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2\n" - -#: appinfo/app.php:14 -msgid "Bookmarks" -msgstr "Záložky" - -#: bookmarksHelper.php:99 -msgid "unnamed" -msgstr "nepojmenovaný" - -#: templates/bookmarklet.php:5 -msgid "" -"Drag this to your browser bookmarks and click it, when you want to bookmark " -"a webpage quickly:" -msgstr "Přetáhněte do Vašeho prohlížeče a kliněte, pokud si přejete rychle uložit stranu do záložek:" - -#: templates/bookmarklet.php:7 -msgid "Read later" -msgstr "Přečíst později" - -#: templates/list.php:13 -msgid "Address" -msgstr "Adresa" - -#: templates/list.php:14 -msgid "Title" -msgstr "Název" - -#: templates/list.php:15 -msgid "Tags" -msgstr "Tagy" - -#: templates/list.php:16 -msgid "Save bookmark" -msgstr "Uložit záložku" - -#: templates/list.php:22 -msgid "You have no bookmarks" -msgstr "Nemáte žádné záložky" - -#: templates/settings.php:11 -msgid "Bookmarklet
" -msgstr "Záložky
" diff --git a/l10n/cs_CZ/calendar.po b/l10n/cs_CZ/calendar.po deleted file mode 100644 index f06317221c05fbe9366b1168c58f57714ec1f24c..0000000000000000000000000000000000000000 --- a/l10n/cs_CZ/calendar.po +++ /dev/null @@ -1,816 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Jan Krejci , 2011, 2012. -# Martin , 2011, 2012. -# Michal Hrušecký , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-16 02:04+0200\n" -"PO-Revision-Date: 2012-08-15 09:41+0000\n" -"Last-Translator: Martin \n" -"Language-Team: Czech (Czech Republic) (http://www.transifex.com/projects/p/owncloud/language/cs_CZ/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: cs_CZ\n" -"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2\n" - -#: ajax/cache/status.php:19 -msgid "Not all calendars are completely cached" -msgstr "V paměti nejsou uloženy kompletně všechny kalendáře" - -#: ajax/cache/status.php:21 -msgid "Everything seems to be completely cached" -msgstr "Zdá se, že vše je kompletně uloženo v paměti" - -#: ajax/categories/rescan.php:29 -msgid "No calendars found." -msgstr "Žádné kalendáře nenalezeny." - -#: ajax/categories/rescan.php:37 -msgid "No events found." -msgstr "Žádné události nenalezeny." - -#: ajax/event/edit.form.php:20 -msgid "Wrong calendar" -msgstr "Nesprávný kalendář" - -#: ajax/import/dropimport.php:29 ajax/import/import.php:64 -msgid "" -"The file contained either no events or all events are already saved in your " -"calendar." -msgstr "Soubor, obsahující všechny záznamy nebo je prázdný, je již uložen ve Vašem kalendáři." - -#: ajax/import/dropimport.php:31 ajax/import/import.php:67 -msgid "events has been saved in the new calendar" -msgstr "Záznam byl uložen v novém kalendáři" - -#: ajax/import/import.php:56 -msgid "Import failed" -msgstr "Import selhal" - -#: ajax/import/import.php:69 -msgid "events has been saved in your calendar" -msgstr "záznamů bylo uloženo ve Vašem kalendáři" - -#: ajax/settings/guesstimezone.php:25 -msgid "New Timezone:" -msgstr "Nová časová zóna:" - -#: ajax/settings/settimezone.php:23 -msgid "Timezone changed" -msgstr "Časová zóna byla změněna" - -#: ajax/settings/settimezone.php:25 -msgid "Invalid request" -msgstr "Chybný požadavek" - -#: appinfo/app.php:35 templates/calendar.php:15 -#: templates/part.eventform.php:33 templates/part.showevent.php:33 -msgid "Calendar" -msgstr "Kalendář" - -#: js/calendar.js:832 -msgid "ddd" -msgstr "ddd" - -#: js/calendar.js:833 -msgid "ddd M/d" -msgstr "ddd M/d" - -#: js/calendar.js:834 -msgid "dddd M/d" -msgstr "dddd M/d" - -#: js/calendar.js:837 -msgid "MMMM yyyy" -msgstr "MMMM rrrr" - -#: js/calendar.js:839 -msgid "MMM d[ yyyy]{ '—'[ MMM] d yyyy}" -msgstr "d. MMM[ yyyy]{ '—' d.[ MMM] yyyy}" - -#: js/calendar.js:841 -msgid "dddd, MMM d, yyyy" -msgstr "dddd, MMM d, rrrr" - -#: lib/app.php:121 -msgid "Birthday" -msgstr "Narozeniny" - -#: lib/app.php:122 -msgid "Business" -msgstr "Obchodní" - -#: lib/app.php:123 -msgid "Call" -msgstr "Hovor" - -#: lib/app.php:124 -msgid "Clients" -msgstr "Klienti" - -#: lib/app.php:125 -msgid "Deliverer" -msgstr "Doručovatel" - -#: lib/app.php:126 -msgid "Holidays" -msgstr "Prázdniny" - -#: lib/app.php:127 -msgid "Ideas" -msgstr "Nápady" - -#: lib/app.php:128 -msgid "Journey" -msgstr "Cesta" - -#: lib/app.php:129 -msgid "Jubilee" -msgstr "Výročí" - -#: lib/app.php:130 -msgid "Meeting" -msgstr "Schůzka" - -#: lib/app.php:131 -msgid "Other" -msgstr "Další" - -#: lib/app.php:132 -msgid "Personal" -msgstr "Osobní" - -#: lib/app.php:133 -msgid "Projects" -msgstr "Projekty" - -#: lib/app.php:134 -msgid "Questions" -msgstr "Dotazy" - -#: lib/app.php:135 -msgid "Work" -msgstr "Pracovní" - -#: lib/app.php:351 lib/app.php:361 -msgid "by" -msgstr "od" - -#: lib/app.php:359 lib/app.php:399 -msgid "unnamed" -msgstr "nepojmenováno" - -#: lib/import.php:184 templates/calendar.php:12 -#: templates/part.choosecalendar.php:22 -msgid "New Calendar" -msgstr "Nový kalendář" - -#: lib/object.php:372 -msgid "Does not repeat" -msgstr "Neopakuje se" - -#: lib/object.php:373 -msgid "Daily" -msgstr "Denně" - -#: lib/object.php:374 -msgid "Weekly" -msgstr "Týdně" - -#: lib/object.php:375 -msgid "Every Weekday" -msgstr "Každý všední den" - -#: lib/object.php:376 -msgid "Bi-Weekly" -msgstr "Jednou za dva týdny" - -#: lib/object.php:377 -msgid "Monthly" -msgstr "Měsíčně" - -#: lib/object.php:378 -msgid "Yearly" -msgstr "Ročně" - -#: lib/object.php:388 -msgid "never" -msgstr "nikdy" - -#: lib/object.php:389 -msgid "by occurrences" -msgstr "podle výskytu" - -#: lib/object.php:390 -msgid "by date" -msgstr "podle data" - -#: lib/object.php:400 -msgid "by monthday" -msgstr "podle dne v měsíci" - -#: lib/object.php:401 -msgid "by weekday" -msgstr "podle dne v týdnu" - -#: lib/object.php:411 templates/calendar.php:5 templates/settings.php:69 -msgid "Monday" -msgstr "Pondělí" - -#: lib/object.php:412 templates/calendar.php:5 -msgid "Tuesday" -msgstr "Úterý" - -#: lib/object.php:413 templates/calendar.php:5 -msgid "Wednesday" -msgstr "Středa" - -#: lib/object.php:414 templates/calendar.php:5 -msgid "Thursday" -msgstr "Čtvrtek" - -#: lib/object.php:415 templates/calendar.php:5 -msgid "Friday" -msgstr "Pátek" - -#: lib/object.php:416 templates/calendar.php:5 -msgid "Saturday" -msgstr "Sobota" - -#: lib/object.php:417 templates/calendar.php:5 templates/settings.php:70 -msgid "Sunday" -msgstr "Neděle" - -#: lib/object.php:427 -msgid "events week of month" -msgstr "týdenní události v měsíci" - -#: lib/object.php:428 -msgid "first" -msgstr "první" - -#: lib/object.php:429 -msgid "second" -msgstr "druhý" - -#: lib/object.php:430 -msgid "third" -msgstr "třetí" - -#: lib/object.php:431 -msgid "fourth" -msgstr "čtvrtý" - -#: lib/object.php:432 -msgid "fifth" -msgstr "pátý" - -#: lib/object.php:433 -msgid "last" -msgstr "poslední" - -#: lib/object.php:467 templates/calendar.php:7 -msgid "January" -msgstr "Leden" - -#: lib/object.php:468 templates/calendar.php:7 -msgid "February" -msgstr "Únor" - -#: lib/object.php:469 templates/calendar.php:7 -msgid "March" -msgstr "Březen" - -#: lib/object.php:470 templates/calendar.php:7 -msgid "April" -msgstr "Duben" - -#: lib/object.php:471 templates/calendar.php:7 -msgid "May" -msgstr "Květen" - -#: lib/object.php:472 templates/calendar.php:7 -msgid "June" -msgstr "Červen" - -#: lib/object.php:473 templates/calendar.php:7 -msgid "July" -msgstr "Červenec" - -#: lib/object.php:474 templates/calendar.php:7 -msgid "August" -msgstr "Srpen" - -#: lib/object.php:475 templates/calendar.php:7 -msgid "September" -msgstr "Září" - -#: lib/object.php:476 templates/calendar.php:7 -msgid "October" -msgstr "Říjen" - -#: lib/object.php:477 templates/calendar.php:7 -msgid "November" -msgstr "Listopad" - -#: lib/object.php:478 templates/calendar.php:7 -msgid "December" -msgstr "Prosinec" - -#: lib/object.php:488 -msgid "by events date" -msgstr "podle data události" - -#: lib/object.php:489 -msgid "by yearday(s)" -msgstr "po dni (dnech)" - -#: lib/object.php:490 -msgid "by weeknumber(s)" -msgstr "podle čísel týdnů" - -#: lib/object.php:491 -msgid "by day and month" -msgstr "podle dne a měsíce" - -#: lib/search.php:35 lib/search.php:37 lib/search.php:40 -msgid "Date" -msgstr "Datum" - -#: lib/search.php:43 -msgid "Cal." -msgstr "Kal." - -#: templates/calendar.php:6 -msgid "Sun." -msgstr "Ne" - -#: templates/calendar.php:6 -msgid "Mon." -msgstr "Po" - -#: templates/calendar.php:6 -msgid "Tue." -msgstr "Út" - -#: templates/calendar.php:6 -msgid "Wed." -msgstr "St" - -#: templates/calendar.php:6 -msgid "Thu." -msgstr "Čt" - -#: templates/calendar.php:6 -msgid "Fri." -msgstr "Pá" - -#: templates/calendar.php:6 -msgid "Sat." -msgstr "So" - -#: templates/calendar.php:8 -msgid "Jan." -msgstr "Ne" - -#: templates/calendar.php:8 -msgid "Feb." -msgstr "únor" - -#: templates/calendar.php:8 -msgid "Mar." -msgstr "březen" - -#: templates/calendar.php:8 -msgid "Apr." -msgstr "duben" - -#: templates/calendar.php:8 -msgid "May." -msgstr "květen" - -#: templates/calendar.php:8 -msgid "Jun." -msgstr "červen" - -#: templates/calendar.php:8 -msgid "Jul." -msgstr "červenec" - -#: templates/calendar.php:8 -msgid "Aug." -msgstr "srpen" - -#: templates/calendar.php:8 -msgid "Sep." -msgstr "září" - -#: templates/calendar.php:8 -msgid "Oct." -msgstr "říjen" - -#: templates/calendar.php:8 -msgid "Nov." -msgstr "listopad" - -#: templates/calendar.php:8 -msgid "Dec." -msgstr "prosinec" - -#: templates/calendar.php:11 -msgid "All day" -msgstr "Celý den" - -#: templates/calendar.php:13 -msgid "Missing fields" -msgstr "Chybějící pole" - -#: templates/calendar.php:14 templates/part.eventform.php:19 -#: templates/part.showevent.php:11 -msgid "Title" -msgstr "Název" - -#: templates/calendar.php:16 -msgid "From Date" -msgstr "Od data" - -#: templates/calendar.php:17 -msgid "From Time" -msgstr "Od" - -#: templates/calendar.php:18 -msgid "To Date" -msgstr "Do data" - -#: templates/calendar.php:19 -msgid "To Time" -msgstr "Do" - -#: templates/calendar.php:20 -msgid "The event ends before it starts" -msgstr "Akce končí před zahájením" - -#: templates/calendar.php:21 -msgid "There was a database fail" -msgstr "Chyba v databázi" - -#: templates/calendar.php:39 -msgid "Week" -msgstr "týden" - -#: templates/calendar.php:40 -msgid "Month" -msgstr "měsíc" - -#: templates/calendar.php:41 -msgid "List" -msgstr "Seznam" - -#: templates/calendar.php:45 -msgid "Today" -msgstr "dnes" - -#: templates/calendar.php:46 templates/calendar.php:47 -msgid "Settings" -msgstr "Nastavení" - -#: templates/part.choosecalendar.php:2 -msgid "Your calendars" -msgstr "Vaše kalendáře" - -#: templates/part.choosecalendar.php:27 -#: templates/part.choosecalendar.rowfields.php:11 -msgid "CalDav Link" -msgstr "CalDav odkaz" - -#: templates/part.choosecalendar.php:31 -msgid "Shared calendars" -msgstr "Sdílené kalendáře" - -#: templates/part.choosecalendar.php:48 -msgid "No shared calendars" -msgstr "Žádné sdílené kalendáře" - -#: templates/part.choosecalendar.rowfields.php:8 -msgid "Share Calendar" -msgstr "Sdílet kalendář" - -#: templates/part.choosecalendar.rowfields.php:14 -msgid "Download" -msgstr "Stáhnout" - -#: templates/part.choosecalendar.rowfields.php:17 -msgid "Edit" -msgstr "Editovat" - -#: templates/part.choosecalendar.rowfields.php:20 -#: templates/part.editevent.php:9 -msgid "Delete" -msgstr "Odstranit" - -#: templates/part.choosecalendar.rowfields.shared.php:4 -msgid "shared with you by" -msgstr "sdíleno s vámi uživatelem" - -#: templates/part.editcalendar.php:9 -msgid "New calendar" -msgstr "Nový kalendář" - -#: templates/part.editcalendar.php:9 -msgid "Edit calendar" -msgstr "Editovat kalendář" - -#: templates/part.editcalendar.php:12 -msgid "Displayname" -msgstr "Zobrazované jméno" - -#: templates/part.editcalendar.php:23 -msgid "Active" -msgstr "Aktivní" - -#: templates/part.editcalendar.php:29 -msgid "Calendar color" -msgstr "Barva kalendáře" - -#: templates/part.editcalendar.php:42 -msgid "Save" -msgstr "Uložit" - -#: templates/part.editcalendar.php:42 templates/part.editevent.php:8 -#: templates/part.newevent.php:6 -msgid "Submit" -msgstr "Potvrdit" - -#: templates/part.editcalendar.php:43 -msgid "Cancel" -msgstr "Storno" - -#: templates/part.editevent.php:1 -msgid "Edit an event" -msgstr "Editovat událost" - -#: templates/part.editevent.php:10 -msgid "Export" -msgstr "Export" - -#: templates/part.eventform.php:8 templates/part.showevent.php:3 -msgid "Eventinfo" -msgstr "Informace o události" - -#: templates/part.eventform.php:9 templates/part.showevent.php:4 -msgid "Repeating" -msgstr "Opakující se" - -#: templates/part.eventform.php:10 templates/part.showevent.php:5 -msgid "Alarm" -msgstr "Alarm" - -#: templates/part.eventform.php:11 templates/part.showevent.php:6 -msgid "Attendees" -msgstr "Účastníci" - -#: templates/part.eventform.php:13 -msgid "Share" -msgstr "Sdílet" - -#: templates/part.eventform.php:21 -msgid "Title of the Event" -msgstr "Název události" - -#: templates/part.eventform.php:27 templates/part.showevent.php:19 -msgid "Category" -msgstr "Kategorie" - -#: templates/part.eventform.php:29 -msgid "Separate categories with commas" -msgstr "Kategorie oddělené čárkami" - -#: templates/part.eventform.php:30 -msgid "Edit categories" -msgstr "Upravit kategorie" - -#: templates/part.eventform.php:56 templates/part.showevent.php:52 -msgid "All Day Event" -msgstr "Celodenní událost" - -#: templates/part.eventform.php:60 templates/part.showevent.php:56 -msgid "From" -msgstr "od" - -#: templates/part.eventform.php:68 templates/part.showevent.php:64 -msgid "To" -msgstr "do" - -#: templates/part.eventform.php:76 templates/part.showevent.php:72 -msgid "Advanced options" -msgstr "Pokročilé volby" - -#: templates/part.eventform.php:81 templates/part.showevent.php:77 -msgid "Location" -msgstr "Umístění" - -#: templates/part.eventform.php:83 -msgid "Location of the Event" -msgstr "Místo konání události" - -#: templates/part.eventform.php:89 templates/part.showevent.php:85 -msgid "Description" -msgstr "Popis" - -#: templates/part.eventform.php:91 -msgid "Description of the Event" -msgstr "Popis události" - -#: templates/part.eventform.php:100 templates/part.showevent.php:95 -msgid "Repeat" -msgstr "Opakování" - -#: templates/part.eventform.php:107 templates/part.showevent.php:102 -msgid "Advanced" -msgstr "Pokročilé" - -#: templates/part.eventform.php:151 templates/part.showevent.php:146 -msgid "Select weekdays" -msgstr "Vybrat dny v týdnu" - -#: templates/part.eventform.php:164 templates/part.eventform.php:177 -#: templates/part.showevent.php:159 templates/part.showevent.php:172 -msgid "Select days" -msgstr "Vybrat dny" - -#: templates/part.eventform.php:169 templates/part.showevent.php:164 -msgid "and the events day of year." -msgstr "a denní události v roce" - -#: templates/part.eventform.php:182 templates/part.showevent.php:177 -msgid "and the events day of month." -msgstr "a denní události v měsíci" - -#: templates/part.eventform.php:190 templates/part.showevent.php:185 -msgid "Select months" -msgstr "Vybrat měsíce" - -#: templates/part.eventform.php:203 templates/part.showevent.php:198 -msgid "Select weeks" -msgstr "Vybrat týdny" - -#: templates/part.eventform.php:208 templates/part.showevent.php:203 -msgid "and the events week of year." -msgstr "a týden s událostmi v roce" - -#: templates/part.eventform.php:214 templates/part.showevent.php:209 -msgid "Interval" -msgstr "Interval" - -#: templates/part.eventform.php:220 templates/part.showevent.php:215 -msgid "End" -msgstr "Konec" - -#: templates/part.eventform.php:233 templates/part.showevent.php:228 -msgid "occurrences" -msgstr "výskyty" - -#: templates/part.import.php:14 -msgid "create a new calendar" -msgstr "vytvořit nový kalendář" - -#: templates/part.import.php:17 -msgid "Import a calendar file" -msgstr "Importovat soubor kalendáře" - -#: templates/part.import.php:24 -msgid "Please choose a calendar" -msgstr "Vyberte prosím kalendář" - -#: templates/part.import.php:36 -msgid "Name of new calendar" -msgstr "Název nového kalendáře" - -#: templates/part.import.php:44 -msgid "Take an available name!" -msgstr "Použijte volné jméno!" - -#: templates/part.import.php:45 -msgid "" -"A Calendar with this name already exists. If you continue anyhow, these " -"calendars will be merged." -msgstr "Kalendář s trímto názvem již existuje. Pokud název použijete, stejnojmenné kalendáře budou sloučeny." - -#: templates/part.import.php:47 -msgid "Import" -msgstr "Import" - -#: templates/part.import.php:56 -msgid "Close Dialog" -msgstr "Zavřít dialog" - -#: templates/part.newevent.php:1 -msgid "Create a new event" -msgstr "Vytvořit novou událost" - -#: templates/part.showevent.php:1 -msgid "View an event" -msgstr "Zobrazit událost" - -#: templates/part.showevent.php:23 -msgid "No categories selected" -msgstr "Žádné kategorie nevybrány" - -#: templates/part.showevent.php:37 -msgid "of" -msgstr "z" - -#: templates/part.showevent.php:59 templates/part.showevent.php:67 -msgid "at" -msgstr "v" - -#: templates/settings.php:10 -msgid "General" -msgstr "Hlavní" - -#: templates/settings.php:15 -msgid "Timezone" -msgstr "Časové pásmo" - -#: templates/settings.php:47 -msgid "Update timezone automatically" -msgstr "Obnovit auronaricky časovou zónu." - -#: templates/settings.php:52 -msgid "Time format" -msgstr "Formát času" - -#: templates/settings.php:57 -msgid "24h" -msgstr "24h" - -#: templates/settings.php:58 -msgid "12h" -msgstr "12h" - -#: templates/settings.php:64 -msgid "Start week on" -msgstr "Týden začína v" - -#: templates/settings.php:76 -msgid "Cache" -msgstr "Paměť" - -#: templates/settings.php:80 -msgid "Clear cache for repeating events" -msgstr "Vymazat paměť pro opakuijísí se záznamy" - -#: templates/settings.php:85 -msgid "URLs" -msgstr "URLs" - -#: templates/settings.php:87 -msgid "Calendar CalDAV syncing addresses" -msgstr "Kalendář CalDAV synchronizuje adresy" - -#: templates/settings.php:87 -msgid "more info" -msgstr "podrobnosti" - -#: templates/settings.php:89 -msgid "Primary address (Kontact et al)" -msgstr "Primární adresa (veřejná)" - -#: templates/settings.php:91 -msgid "iOS/OS X" -msgstr "iOS/OS X" - -#: templates/settings.php:93 -msgid "Read only iCalendar link(s)" -msgstr "Odkaz(y) kalendáře pouze pro čtení" - -#: templates/share.dropdown.php:20 -msgid "Users" -msgstr "Uživatelé" - -#: templates/share.dropdown.php:21 -msgid "select users" -msgstr "vybrat uživatele" - -#: templates/share.dropdown.php:36 templates/share.dropdown.php:62 -msgid "Editable" -msgstr "Upravovatelné" - -#: templates/share.dropdown.php:48 -msgid "Groups" -msgstr "Skupiny" - -#: templates/share.dropdown.php:49 -msgid "select groups" -msgstr "vybrat skupiny" - -#: templates/share.dropdown.php:75 -msgid "make public" -msgstr "zveřejnit" diff --git a/l10n/cs_CZ/contacts.po b/l10n/cs_CZ/contacts.po deleted file mode 100644 index 9b1fa750be141502c2e3f37d31dd88e1664b1b39..0000000000000000000000000000000000000000 --- a/l10n/cs_CZ/contacts.po +++ /dev/null @@ -1,955 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Jan Krejci , 2011, 2012. -# Martin , 2011, 2012. -# Michal Hrušecký , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-25 02:04+0200\n" -"PO-Revision-Date: 2012-08-24 07:58+0000\n" -"Last-Translator: Jan Krejci \n" -"Language-Team: Czech (Czech Republic) (http://www.transifex.com/projects/p/owncloud/language/cs_CZ/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: cs_CZ\n" -"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2\n" - -#: ajax/addressbook/activate.php:24 ajax/addressbook/update.php:32 -msgid "Error (de)activating addressbook." -msgstr "Chyba při (de)aktivaci adresáře." - -#: ajax/addressbook/delete.php:31 ajax/addressbook/update.php:20 -#: ajax/contact/addproperty.php:42 ajax/contact/delete.php:32 -#: ajax/contact/saveproperty.php:39 -msgid "id is not set." -msgstr "id neni nastaveno." - -#: ajax/addressbook/update.php:24 -msgid "Cannot update addressbook with an empty name." -msgstr "Nelze aktualizovat adresář s prázdným jménem." - -#: ajax/addressbook/update.php:28 -msgid "Error updating addressbook." -msgstr "Chyba při aktualizaci adresáře." - -#: ajax/categories/categoriesfor.php:17 -msgid "No ID provided" -msgstr "ID nezadáno" - -#: ajax/categories/categoriesfor.php:34 -msgid "Error setting checksum." -msgstr "Chyba při nastavování kontrolního součtu." - -#: ajax/categories/delete.php:19 -msgid "No categories selected for deletion." -msgstr "Žádné kategorie nebyly vybrány k smazání." - -#: ajax/categories/delete.php:26 -msgid "No address books found." -msgstr "Žádný adresář nenalezen." - -#: ajax/categories/delete.php:34 -msgid "No contacts found." -msgstr "Žádné kontakty nenalezeny." - -#: ajax/contact/add.php:47 -msgid "There was an error adding the contact." -msgstr "Během přidávání kontaktu nastala chyba." - -#: ajax/contact/addproperty.php:39 ajax/contact/saveproperty.php:36 -msgid "element name is not set." -msgstr "jméno elementu není nastaveno." - -#: ajax/contact/addproperty.php:46 -msgid "Could not parse contact: " -msgstr "Nelze analyzovat kontakty" - -#: ajax/contact/addproperty.php:56 -msgid "Cannot add empty property." -msgstr "Nelze přidat prazdný údaj." - -#: ajax/contact/addproperty.php:67 -msgid "At least one of the address fields has to be filled out." -msgstr "Musí být uveden nejméně jeden z adresních údajů" - -#: ajax/contact/addproperty.php:76 -msgid "Trying to add duplicate property: " -msgstr "Pokoušíte se přidat duplicitní atribut: " - -#: ajax/contact/addproperty.php:115 ajax/contact/saveproperty.php:93 -msgid "Missing IM parameter." -msgstr "Chybějící parametr IM" - -#: ajax/contact/addproperty.php:119 ajax/contact/saveproperty.php:97 -msgid "Unknown IM: " -msgstr "Neznámý IM:" - -#: ajax/contact/deleteproperty.php:37 -msgid "Information about vCard is incorrect. Please reload the page." -msgstr "Informace o vCard je nesprávná. Obnovte stránku, prosím." - -#: ajax/contact/details.php:31 -msgid "Missing ID" -msgstr "Chybí ID" - -#: ajax/contact/details.php:36 -msgid "Error parsing VCard for ID: \"" -msgstr "Chyba při parsování VCard pro ID: \"" - -#: ajax/contact/saveproperty.php:42 -msgid "checksum is not set." -msgstr "kontrolní součet není nastaven." - -#: ajax/contact/saveproperty.php:62 -msgid "Information about vCard is incorrect. Please reload the page: " -msgstr "Informace o vCard je nesprávná. Obnovte stránku, prosím." - -#: ajax/contact/saveproperty.php:69 -msgid "Something went FUBAR. " -msgstr "Něco se pokazilo. " - -#: ajax/currentphoto.php:30 ajax/oc_photo.php:28 ajax/uploadphoto.php:36 -#: ajax/uploadphoto.php:68 -msgid "No contact ID was submitted." -msgstr "Nebylo nastaveno ID kontaktu." - -#: ajax/currentphoto.php:36 -msgid "Error reading contact photo." -msgstr "Chyba při načítání fotky kontaktu." - -#: ajax/currentphoto.php:48 -msgid "Error saving temporary file." -msgstr "Chyba při ukládání dočasného souboru." - -#: ajax/currentphoto.php:51 -msgid "The loading photo is not valid." -msgstr "Načítaná fotka je vadná." - -#: ajax/editname.php:31 -msgid "Contact ID is missing." -msgstr "Chybí ID kontaktu." - -#: ajax/oc_photo.php:32 -msgid "No photo path was submitted." -msgstr "Žádná fotka nebyla nahrána." - -#: ajax/oc_photo.php:39 -msgid "File doesn't exist:" -msgstr "Soubor neexistuje:" - -#: ajax/oc_photo.php:44 ajax/oc_photo.php:47 -msgid "Error loading image." -msgstr "Chyba při načítání obrázku." - -#: ajax/savecrop.php:69 -msgid "Error getting contact object." -msgstr "Chyba při převzetí objektu kontakt." - -#: ajax/savecrop.php:79 -msgid "Error getting PHOTO property." -msgstr "Chyba při získávání fotky." - -#: ajax/savecrop.php:98 -msgid "Error saving contact." -msgstr "Chyba při ukládání kontaktu." - -#: ajax/savecrop.php:109 -msgid "Error resizing image" -msgstr "Chyba při změně velikosti obrázku." - -#: ajax/savecrop.php:112 -msgid "Error cropping image" -msgstr "Chyba při osekávání obrázku." - -#: ajax/savecrop.php:115 -msgid "Error creating temporary image" -msgstr "Chyba při vytváření dočasného obrázku." - -#: ajax/savecrop.php:118 -msgid "Error finding image: " -msgstr "Chyba při hledání obrázku:" - -#: ajax/uploadimport.php:44 ajax/uploadimport.php:76 -msgid "Error uploading contacts to storage." -msgstr "Chyba při nahrávání kontaktů do úložiště." - -#: ajax/uploadimport.php:61 ajax/uploadphoto.php:77 -msgid "There is no error, the file uploaded with success" -msgstr "Nevyskytla se žádná chyba, soubor byl úspěšně nahrán" - -#: ajax/uploadimport.php:62 ajax/uploadphoto.php:78 -msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" -msgstr "Nahrávaný soubor překračuje nastavení upload_max_filesize directive v php.ini" - -#: ajax/uploadimport.php:63 ajax/uploadphoto.php:79 -msgid "" -"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " -"the HTML form" -msgstr "Nahrávaný soubor překračuje nastavení MAX_FILE_SIZE z voleb HTML formuláře" - -#: ajax/uploadimport.php:64 ajax/uploadphoto.php:80 -msgid "The uploaded file was only partially uploaded" -msgstr "Nahrávaný soubor se nahrál pouze z části" - -#: ajax/uploadimport.php:65 ajax/uploadphoto.php:81 -msgid "No file was uploaded" -msgstr "Žádný soubor nebyl nahrán" - -#: ajax/uploadimport.php:66 ajax/uploadphoto.php:82 -msgid "Missing a temporary folder" -msgstr "Chybí dočasný adresář" - -#: ajax/uploadphoto.php:59 ajax/uploadphoto.php:109 -msgid "Couldn't save temporary image: " -msgstr "Nemohu uložit dočasný obrázek: " - -#: ajax/uploadphoto.php:62 ajax/uploadphoto.php:112 -msgid "Couldn't load temporary image: " -msgstr "Nemohu načíst dočasný obrázek: " - -#: ajax/uploadphoto.php:71 -msgid "No file was uploaded. Unknown error" -msgstr "Soubor nebyl odeslán. Neznámá chyba" - -#: appinfo/app.php:25 -msgid "Contacts" -msgstr "Kontakty" - -#: js/contacts.js:71 -msgid "Sorry, this functionality has not been implemented yet" -msgstr "Bohužel, tato funkce nebyla ještě implementována." - -#: js/contacts.js:71 -msgid "Not implemented" -msgstr "Neimplementováno" - -#: js/contacts.js:76 -msgid "Couldn't get a valid address." -msgstr "Nelze získat platnou adresu." - -#: js/contacts.js:76 js/contacts.js:365 js/contacts.js:381 js/contacts.js:393 -#: js/contacts.js:723 js/contacts.js:763 js/contacts.js:789 js/contacts.js:921 -#: js/contacts.js:927 js/contacts.js:939 js/contacts.js:976 -#: js/contacts.js:1250 js/contacts.js:1258 js/contacts.js:1267 -#: js/contacts.js:1302 js/contacts.js:1338 js/contacts.js:1353 -#: js/contacts.js:1379 js/contacts.js:1609 js/contacts.js:1644 -#: js/contacts.js:1664 js/settings.js:26 js/settings.js:43 js/settings.js:68 -msgid "Error" -msgstr "Chyba" - -#: js/contacts.js:424 -msgid "You do not have permission to add contacts to " -msgstr "Nemáte práva přidat kontakt do" - -#: js/contacts.js:425 -msgid "Please select one of your own address books." -msgstr "Prosím vyberte jeden z vašich adresářů" - -#: js/contacts.js:425 -msgid "Permission error" -msgstr "Chyba přístupových práv" - -#: js/contacts.js:763 -msgid "This property has to be non-empty." -msgstr "Tento parametr nemuže zůstat nevyplněn." - -#: js/contacts.js:789 -msgid "Couldn't serialize elements." -msgstr "Prvky nelze převést.." - -#: js/contacts.js:921 js/contacts.js:939 -msgid "" -"'deleteProperty' called without type argument. Please report at " -"bugs.owncloud.org" -msgstr "'deleteProperty' voláno bez argumentu. Prosím oznamte chybu na bugs.owncloud.org" - -#: js/contacts.js:958 -msgid "Edit name" -msgstr "Upravit jméno" - -#: js/contacts.js:1250 -msgid "No files selected for upload." -msgstr "Žádné soubory nebyly vybrány k nahrání." - -#: js/contacts.js:1258 -msgid "" -"The file you are trying to upload exceed the maximum size for file uploads " -"on this server." -msgstr "Soubor, který se pokoušíte odeslat, přesahuje maximální povolenou velikost." - -#: js/contacts.js:1322 -msgid "Error loading profile picture." -msgstr "Chyba při otevírání obrázku profilu" - -#: js/contacts.js:1457 js/contacts.js:1498 js/contacts.js:1517 -#: js/contacts.js:1560 -msgid "Select type" -msgstr "Vybrat typ" - -#: js/contacts.js:1578 -msgid "" -"Some contacts are marked for deletion, but not deleted yet. Please wait for " -"them to be deleted." -msgstr "Některé kontakty jsou označeny ke smazání. Počkete prosím na dokončení operace." - -#: js/contacts.js:1649 -msgid "Do you want to merge these address books?" -msgstr "Chcete spojit tyto adresáře?" - -#: js/loader.js:49 -msgid "Result: " -msgstr "Výsledek: " - -#: js/loader.js:49 -msgid " imported, " -msgstr "importováno v pořádku," - -#: js/loader.js:49 -msgid " failed." -msgstr "neimportováno." - -#: js/settings.js:68 -msgid "Displayname cannot be empty." -msgstr "Zobrazované jméno nemůže zůstat prázdné." - -#: lib/app.php:36 -msgid "Addressbook not found: " -msgstr "Adresář nenalezen:" - -#: lib/app.php:52 -msgid "This is not your addressbook." -msgstr "Toto není Váš adresář." - -#: lib/app.php:71 -msgid "Contact could not be found." -msgstr "Kontakt nebyl nalezen." - -#: lib/app.php:116 -msgid "Jabber" -msgstr "Jabber" - -#: lib/app.php:121 -msgid "AIM" -msgstr "AIM" - -#: lib/app.php:126 -msgid "MSN" -msgstr "MSN" - -#: lib/app.php:131 -msgid "Twitter" -msgstr "Twitter" - -#: lib/app.php:136 -msgid "GoogleTalk" -msgstr "GoogleTalk" - -#: lib/app.php:141 -msgid "Facebook" -msgstr "Facebook" - -#: lib/app.php:146 -msgid "XMPP" -msgstr "XMPP" - -#: lib/app.php:151 -msgid "ICQ" -msgstr "ICQ" - -#: lib/app.php:156 -msgid "Yahoo" -msgstr "Yahoo" - -#: lib/app.php:161 -msgid "Skype" -msgstr "Skype" - -#: lib/app.php:166 -msgid "QQ" -msgstr "QQ" - -#: lib/app.php:171 -msgid "GaduGadu" -msgstr "GaduGadu" - -#: lib/app.php:194 lib/app.php:202 lib/app.php:213 lib/app.php:266 -msgid "Work" -msgstr "Pracovní" - -#: lib/app.php:195 lib/app.php:200 lib/app.php:214 -msgid "Home" -msgstr "Domácí" - -#: lib/app.php:196 lib/app.php:209 lib/app.php:262 lib/vcard.php:593 -msgid "Other" -msgstr "Ostatní" - -#: lib/app.php:201 -msgid "Mobile" -msgstr "Mobil" - -#: lib/app.php:203 -msgid "Text" -msgstr "Text" - -#: lib/app.php:204 -msgid "Voice" -msgstr "Hlas" - -#: lib/app.php:205 -msgid "Message" -msgstr "Zpráva" - -#: lib/app.php:206 -msgid "Fax" -msgstr "Fax" - -#: lib/app.php:207 -msgid "Video" -msgstr "Video" - -#: lib/app.php:208 -msgid "Pager" -msgstr "Pager" - -#: lib/app.php:215 -msgid "Internet" -msgstr "Internet" - -#: lib/app.php:252 templates/part.contact.php:45 -#: templates/part.contact.php:128 -msgid "Birthday" -msgstr "Narozeniny" - -#: lib/app.php:253 -msgid "Business" -msgstr "Pracovní" - -#: lib/app.php:254 -msgid "Call" -msgstr "Volat" - -#: lib/app.php:255 -msgid "Clients" -msgstr "Klienti" - -#: lib/app.php:256 -msgid "Deliverer" -msgstr "Dodavatel" - -#: lib/app.php:257 -msgid "Holidays" -msgstr "Prázdniny" - -#: lib/app.php:258 -msgid "Ideas" -msgstr "Nápady" - -#: lib/app.php:259 -msgid "Journey" -msgstr "Cestování" - -#: lib/app.php:260 -msgid "Jubilee" -msgstr "Jubileum" - -#: lib/app.php:261 -msgid "Meeting" -msgstr "Schůzka" - -#: lib/app.php:263 -msgid "Personal" -msgstr "Osobní" - -#: lib/app.php:264 -msgid "Projects" -msgstr "Projekty" - -#: lib/app.php:265 -msgid "Questions" -msgstr "Dotazy" - -#: lib/hooks.php:102 -msgid "{name}'s Birthday" -msgstr "Narozeniny {name}" - -#: lib/search.php:15 -msgid "Contact" -msgstr "Kontakt" - -#: lib/vcard.php:408 -msgid "You do not have the permissions to edit this contact." -msgstr "Nemáte práva editovat tento kontakt" - -#: lib/vcard.php:483 -msgid "You do not have the permissions to delete this contact." -msgstr "Nemáte práva smazat tento kontakt" - -#: templates/index.php:14 -msgid "Add Contact" -msgstr "Přidat kontakt" - -#: templates/index.php:15 templates/index.php:16 templates/part.import.php:17 -msgid "Import" -msgstr "Import" - -#: templates/index.php:18 -msgid "Settings" -msgstr "Nastavení" - -#: templates/index.php:18 templates/settings.php:9 -msgid "Addressbooks" -msgstr "Adresáře" - -#: templates/index.php:36 templates/part.import.php:24 -msgid "Close" -msgstr "Zavřít" - -#: templates/index.php:37 -msgid "Keyboard shortcuts" -msgstr "Klávesoví zkratky" - -#: templates/index.php:39 -msgid "Navigation" -msgstr "Navigace" - -#: templates/index.php:42 -msgid "Next contact in list" -msgstr "Následující kontakt v seznamu" - -#: templates/index.php:44 -msgid "Previous contact in list" -msgstr "Předchozí kontakt v seznamu" - -#: templates/index.php:46 -msgid "Expand/collapse current addressbook" -msgstr "Rozbalit/sbalit aktuální Adresář" - -#: templates/index.php:48 -msgid "Next addressbook" -msgstr "Následující Adresář" - -#: templates/index.php:50 -msgid "Previous addressbook" -msgstr "Předchozí Adresář" - -#: templates/index.php:54 -msgid "Actions" -msgstr "Akce" - -#: templates/index.php:57 -msgid "Refresh contacts list" -msgstr "Občerstvit seznam kontaktů" - -#: templates/index.php:59 -msgid "Add new contact" -msgstr "Přidat kontakt" - -#: templates/index.php:61 -msgid "Add new addressbook" -msgstr "Předat nový Adresář" - -#: templates/index.php:63 -msgid "Delete current contact" -msgstr "Odstranit aktuální kontakt" - -#: templates/part.contact.php:17 -msgid "Drop photo to upload" -msgstr "Přetáhněte sem fotku pro její nahrání" - -#: templates/part.contact.php:19 -msgid "Delete current photo" -msgstr "Smazat současnou fotku" - -#: templates/part.contact.php:20 -msgid "Edit current photo" -msgstr "Upravit současnou fotku" - -#: templates/part.contact.php:21 -msgid "Upload new photo" -msgstr "Nahrát novou fotku" - -#: templates/part.contact.php:22 -msgid "Select photo from ownCloud" -msgstr "Vybrat fotku z ownCloudu" - -#: templates/part.contact.php:35 -msgid "Format custom, Short name, Full name, Reverse or Reverse with comma" -msgstr "Formát vlastní, křestní, celé jméno, obráceně nebo obráceně oddelené čárkami" - -#: templates/part.contact.php:36 -msgid "Edit name details" -msgstr "Upravit podrobnosti jména" - -#: templates/part.contact.php:39 templates/part.contact.php:40 -#: templates/part.contact.php:126 -msgid "Organization" -msgstr "Organizace" - -#: templates/part.contact.php:40 templates/part.contact.php:42 -#: templates/part.contact.php:44 templates/part.contact.php:46 -#: templates/part.contact.php:50 templates/settings.php:36 -msgid "Delete" -msgstr "Odstranit" - -#: templates/part.contact.php:41 templates/part.contact.php:127 -msgid "Nickname" -msgstr "Přezdívka" - -#: templates/part.contact.php:42 -msgid "Enter nickname" -msgstr "Zadejte přezdívku" - -#: templates/part.contact.php:43 templates/part.contact.php:134 -msgid "Web site" -msgstr "Web" - -#: templates/part.contact.php:44 -msgid "http://www.somesite.com" -msgstr "http://www.somesite.com" - -#: templates/part.contact.php:44 -msgid "Go to web site" -msgstr "Přejít na web" - -#: templates/part.contact.php:46 -msgid "dd-mm-yyyy" -msgstr "dd. mm. yyyy" - -#: templates/part.contact.php:47 templates/part.contact.php:135 -msgid "Groups" -msgstr "Skupiny" - -#: templates/part.contact.php:49 -msgid "Separate groups with commas" -msgstr "Oddělte skupiny čárkami" - -#: templates/part.contact.php:50 -msgid "Edit groups" -msgstr "Upravit skupiny" - -#: templates/part.contact.php:59 templates/part.contact.php:73 -#: templates/part.contact.php:98 -msgid "Preferred" -msgstr "Preferovaný" - -#: templates/part.contact.php:60 -msgid "Please specify a valid email address." -msgstr "Prosím zadejte platnou e-mailovou adresu" - -#: templates/part.contact.php:60 -msgid "Enter email address" -msgstr "Zadat e-mailovou adresu" - -#: templates/part.contact.php:64 -msgid "Mail to address" -msgstr "Odeslat na adresu" - -#: templates/part.contact.php:65 -msgid "Delete email address" -msgstr "Smazat e-mail" - -#: templates/part.contact.php:75 -msgid "Enter phone number" -msgstr "Zadat telefoní číslo" - -#: templates/part.contact.php:79 -msgid "Delete phone number" -msgstr "Smazat telefoní číslo" - -#: templates/part.contact.php:100 -msgid "Instant Messenger" -msgstr "Instant Messenger" - -#: templates/part.contact.php:101 -msgid "Delete IM" -msgstr "Smazat IM" - -#: templates/part.contact.php:110 -msgid "View on map" -msgstr "Zobrazit na mapě" - -#: templates/part.contact.php:110 -msgid "Edit address details" -msgstr "Upravit podrobnosti adresy" - -#: templates/part.contact.php:116 -msgid "Add notes here." -msgstr "Zde můžete připsat poznámky." - -#: templates/part.contact.php:124 -msgid "Add field" -msgstr "Přidat políčko" - -#: templates/part.contact.php:129 -msgid "Phone" -msgstr "Telefon" - -#: templates/part.contact.php:130 -msgid "Email" -msgstr "Email" - -#: templates/part.contact.php:131 -msgid "Instant Messaging" -msgstr "Instant Messaging" - -#: templates/part.contact.php:132 -msgid "Address" -msgstr "Adresa" - -#: templates/part.contact.php:133 -msgid "Note" -msgstr "Poznámka" - -#: templates/part.contact.php:138 -msgid "Download contact" -msgstr "Stáhnout kontakt" - -#: templates/part.contact.php:139 -msgid "Delete contact" -msgstr "Odstranit kontakt" - -#: templates/part.cropphoto.php:65 -msgid "The temporary image has been removed from cache." -msgstr "Obrázek byl odstraněn z dočasné paměti." - -#: templates/part.edit_address_dialog.php:6 -msgid "Edit address" -msgstr "Upravit adresu" - -#: templates/part.edit_address_dialog.php:10 -msgid "Type" -msgstr "Typ" - -#: templates/part.edit_address_dialog.php:18 -#: templates/part.edit_address_dialog.php:21 -msgid "PO Box" -msgstr "PO box" - -#: templates/part.edit_address_dialog.php:24 -msgid "Street address" -msgstr "Ulice" - -#: templates/part.edit_address_dialog.php:27 -msgid "Street and number" -msgstr "Ulice a číslo" - -#: templates/part.edit_address_dialog.php:30 -msgid "Extended" -msgstr "Rozšířené" - -#: templates/part.edit_address_dialog.php:33 -msgid "Apartment number etc." -msgstr "Byt číslo atd." - -#: templates/part.edit_address_dialog.php:36 -#: templates/part.edit_address_dialog.php:39 -msgid "City" -msgstr "Město" - -#: templates/part.edit_address_dialog.php:42 -msgid "Region" -msgstr "Kraj" - -#: templates/part.edit_address_dialog.php:45 -msgid "E.g. state or province" -msgstr "Např. stát nebo okres" - -#: templates/part.edit_address_dialog.php:48 -msgid "Zipcode" -msgstr "PSČ" - -#: templates/part.edit_address_dialog.php:51 -msgid "Postal code" -msgstr "PSČ" - -#: templates/part.edit_address_dialog.php:54 -#: templates/part.edit_address_dialog.php:57 -msgid "Country" -msgstr "Země" - -#: templates/part.edit_name_dialog.php:16 -msgid "Addressbook" -msgstr "Adresář" - -#: templates/part.edit_name_dialog.php:23 -msgid "Hon. prefixes" -msgstr "Tituly před" - -#: templates/part.edit_name_dialog.php:27 -msgid "Miss" -msgstr "Slečna" - -#: templates/part.edit_name_dialog.php:28 -msgid "Ms" -msgstr "Ms" - -#: templates/part.edit_name_dialog.php:29 -msgid "Mr" -msgstr "Pan" - -#: templates/part.edit_name_dialog.php:30 -msgid "Sir" -msgstr "Sir" - -#: templates/part.edit_name_dialog.php:31 -msgid "Mrs" -msgstr "Paní" - -#: templates/part.edit_name_dialog.php:32 -msgid "Dr" -msgstr "Dr" - -#: templates/part.edit_name_dialog.php:35 -msgid "Given name" -msgstr "Křestní jméno" - -#: templates/part.edit_name_dialog.php:37 -msgid "Additional names" -msgstr "Další jména" - -#: templates/part.edit_name_dialog.php:39 -msgid "Family name" -msgstr "Příjmení" - -#: templates/part.edit_name_dialog.php:41 -msgid "Hon. suffixes" -msgstr "Tituly za" - -#: templates/part.edit_name_dialog.php:45 -msgid "J.D." -msgstr "JUDr." - -#: templates/part.edit_name_dialog.php:46 -msgid "M.D." -msgstr "MUDr." - -#: templates/part.edit_name_dialog.php:47 -msgid "D.O." -msgstr "D.O." - -#: templates/part.edit_name_dialog.php:48 -msgid "D.C." -msgstr "D.C." - -#: templates/part.edit_name_dialog.php:49 -msgid "Ph.D." -msgstr "Ph.D." - -#: templates/part.edit_name_dialog.php:50 -msgid "Esq." -msgstr "Esq." - -#: templates/part.edit_name_dialog.php:51 -msgid "Jr." -msgstr "ml." - -#: templates/part.edit_name_dialog.php:52 -msgid "Sn." -msgstr "st." - -#: templates/part.import.php:1 -msgid "Import a contacts file" -msgstr "Importovat soubor kontaktů" - -#: templates/part.import.php:6 -msgid "Please choose the addressbook" -msgstr "Prosím zvolte adresář" - -#: templates/part.import.php:10 -msgid "create a new addressbook" -msgstr "vytvořit nový adresář" - -#: templates/part.import.php:15 -msgid "Name of new addressbook" -msgstr "Jméno nového adresáře" - -#: templates/part.import.php:20 -msgid "Importing contacts" -msgstr "Importování kontaktů" - -#: templates/part.no_contacts.php:3 -msgid "You have no contacts in your addressbook." -msgstr "Nemáte žádné kontakty v adresáři." - -#: templates/part.no_contacts.php:5 -msgid "Add contact" -msgstr "Přidat kontakt" - -#: templates/part.selectaddressbook.php:1 -msgid "Select Address Books" -msgstr "Vybrat Adresář" - -#: templates/part.selectaddressbook.php:27 -msgid "Enter name" -msgstr "Vložte jméno" - -#: templates/part.selectaddressbook.php:29 -msgid "Enter description" -msgstr "Vložte popis" - -#: templates/settings.php:3 -msgid "CardDAV syncing addresses" -msgstr "Adresa pro synchronizaci pomocí CardDAV:" - -#: templates/settings.php:3 -msgid "more info" -msgstr "víc informací" - -#: templates/settings.php:5 -msgid "Primary address (Kontact et al)" -msgstr "Hlavní adresa (Kontakt etc)" - -#: templates/settings.php:7 -msgid "iOS/OS X" -msgstr "iOS/OS X" - -#: templates/settings.php:20 -msgid "Show CardDav link" -msgstr "Zobrazit odklaz CardDAV:" - -#: templates/settings.php:23 -msgid "Show read-only VCF link" -msgstr "Zobrazit odkaz VCF pouze pro čtení" - -#: templates/settings.php:26 -msgid "Share" -msgstr "Sdílet" - -#: templates/settings.php:29 -msgid "Download" -msgstr "Stažení" - -#: templates/settings.php:33 -msgid "Edit" -msgstr "Editovat" - -#: templates/settings.php:43 -msgid "New Address Book" -msgstr "Nový adresář" - -#: templates/settings.php:44 -msgid "Name" -msgstr "Název" - -#: templates/settings.php:45 -msgid "Description" -msgstr "Popis" - -#: templates/settings.php:46 -msgid "Save" -msgstr "Uložit" - -#: templates/settings.php:47 -msgid "Cancel" -msgstr "Storno" - -#: templates/settings.php:52 -msgid "More..." -msgstr "Více..." diff --git a/l10n/cs_CZ/core.po b/l10n/cs_CZ/core.po index 28c0ee90d985b044bdb825b28e8e7d63ee39938e..2f47e270ac5b9c7e0b2db11d71461e9f17d1b5ea 100644 --- a/l10n/cs_CZ/core.po +++ b/l10n/cs_CZ/core.po @@ -11,9 +11,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-16 02:04+0200\n" -"PO-Revision-Date: 2012-10-16 00:05+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-11-16 00:02+0100\n" +"PO-Revision-Date: 2012-11-15 10:10+0000\n" +"Last-Translator: Tomáš Chvátal \n" "Language-Team: Czech (Czech Republic) (http://www.transifex.com/projects/p/owncloud/language/cs_CZ/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -21,209 +21,241 @@ msgstr "" "Language: cs_CZ\n" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" -#: ajax/vcategories/add.php:23 ajax/vcategories/delete.php:23 -msgid "Application name not provided." -msgstr "Nezadán název aplikace." +#: ajax/vcategories/add.php:26 ajax/vcategories/edit.php:25 +msgid "Category type not provided." +msgstr "Nezadán typ kategorie." -#: ajax/vcategories/add.php:29 +#: ajax/vcategories/add.php:30 msgid "No category to add?" msgstr "Žádná kategorie k přidání?" -#: ajax/vcategories/add.php:36 +#: ajax/vcategories/add.php:37 msgid "This category already exists: " msgstr "Tato kategorie již existuje: " -#: js/js.js:238 templates/layout.user.php:49 templates/layout.user.php:50 +#: ajax/vcategories/addToFavorites.php:26 ajax/vcategories/delete.php:27 +#: ajax/vcategories/favorites.php:24 +#: ajax/vcategories/removeFromFavorites.php:26 +msgid "Object type not provided." +msgstr "Nezadán typ objektu." + +#: ajax/vcategories/addToFavorites.php:30 +#: ajax/vcategories/removeFromFavorites.php:30 +#, php-format +msgid "%s ID not provided." +msgstr "Nezadáno ID %s." + +#: ajax/vcategories/addToFavorites.php:35 +#, php-format +msgid "Error adding %s to favorites." +msgstr "Chyba při přidávání %s k oblíbeným." + +#: ajax/vcategories/delete.php:35 js/oc-vcategories.js:136 +msgid "No categories selected for deletion." +msgstr "Žádné kategorie nebyly vybrány ke smazání." + +#: ajax/vcategories/removeFromFavorites.php:35 +#, php-format +msgid "Error removing %s from favorites." +msgstr "Chyba při odebírání %s z oblíbených." + +#: js/js.js:243 templates/layout.user.php:59 templates/layout.user.php:60 msgid "Settings" msgstr "Nastavení" -#: js/js.js:670 -msgid "January" -msgstr "Leden" +#: js/js.js:688 +msgid "seconds ago" +msgstr "před pár vteřinami" -#: js/js.js:670 -msgid "February" -msgstr "Únor" +#: js/js.js:689 +msgid "1 minute ago" +msgstr "před minutou" -#: js/js.js:670 -msgid "March" -msgstr "Březen" +#: js/js.js:690 +msgid "{minutes} minutes ago" +msgstr "před {minutes} minutami" -#: js/js.js:670 -msgid "April" -msgstr "Duben" +#: js/js.js:691 +msgid "1 hour ago" +msgstr "před hodinou" -#: js/js.js:670 -msgid "May" -msgstr "Květen" +#: js/js.js:692 +msgid "{hours} hours ago" +msgstr "před {hours} hodinami" -#: js/js.js:670 -msgid "June" -msgstr "Červen" +#: js/js.js:693 +msgid "today" +msgstr "dnes" -#: js/js.js:671 -msgid "July" -msgstr "Červenec" +#: js/js.js:694 +msgid "yesterday" +msgstr "včera" -#: js/js.js:671 -msgid "August" -msgstr "Srpen" +#: js/js.js:695 +msgid "{days} days ago" +msgstr "před {days} dny" -#: js/js.js:671 -msgid "September" -msgstr "Září" +#: js/js.js:696 +msgid "last month" +msgstr "minulý mesíc" -#: js/js.js:671 -msgid "October" -msgstr "Říjen" +#: js/js.js:697 +msgid "{months} months ago" +msgstr "před {months} měsíci" -#: js/js.js:671 -msgid "November" -msgstr "Listopad" +#: js/js.js:698 +msgid "months ago" +msgstr "před měsíci" -#: js/js.js:671 -msgid "December" -msgstr "Prosinec" +#: js/js.js:699 +msgid "last year" +msgstr "minulý rok" + +#: js/js.js:700 +msgid "years ago" +msgstr "před lety" -#: js/oc-dialogs.js:123 +#: js/oc-dialogs.js:126 msgid "Choose" msgstr "Vybrat" -#: js/oc-dialogs.js:143 js/oc-dialogs.js:163 +#: js/oc-dialogs.js:146 js/oc-dialogs.js:166 msgid "Cancel" msgstr "Zrušit" -#: js/oc-dialogs.js:159 +#: js/oc-dialogs.js:162 msgid "No" msgstr "Ne" -#: js/oc-dialogs.js:160 +#: js/oc-dialogs.js:163 msgid "Yes" msgstr "Ano" -#: js/oc-dialogs.js:177 +#: js/oc-dialogs.js:180 msgid "Ok" msgstr "Ok" -#: js/oc-vcategories.js:68 -msgid "No categories selected for deletion." -msgstr "Žádné kategorie nebyly vybrány ke smazání." +#: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102 +#: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162 +msgid "The object type is not specified." +msgstr "Není určen typ objektu." -#: js/oc-vcategories.js:68 js/share.js:114 js/share.js:121 js/share.js:497 -#: js/share.js:509 +#: js/oc-vcategories.js:95 js/oc-vcategories.js:125 js/oc-vcategories.js:136 +#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:525 +#: js/share.js:537 msgid "Error" msgstr "Chyba" -#: js/share.js:103 +#: js/oc-vcategories.js:179 +msgid "The app name is not specified." +msgstr "Není určen název aplikace." + +#: js/oc-vcategories.js:194 +msgid "The required file {file} is not installed!" +msgstr "Požadovaný soubor {file} není nainstalován." + +#: js/share.js:124 msgid "Error while sharing" msgstr "Chyba při sdílení" -#: js/share.js:114 +#: js/share.js:135 msgid "Error while unsharing" msgstr "Chyba při rušení sdílení" -#: js/share.js:121 +#: js/share.js:142 msgid "Error while changing permissions" msgstr "Chyba při změně oprávnění" -#: js/share.js:130 -msgid "Shared with you and the group" -msgstr "S Vámi a skupinou" - -#: js/share.js:130 -msgid "by" -msgstr "sdílí" +#: js/share.js:151 +msgid "Shared with you and the group {group} by {owner}" +msgstr "S Vámi a skupinou {group} sdílí {owner}" -#: js/share.js:132 -msgid "Shared with you by" -msgstr "S Vámi sdílí" +#: js/share.js:153 +msgid "Shared with you by {owner}" +msgstr "S Vámi sdílí {owner}" -#: js/share.js:137 +#: js/share.js:158 msgid "Share with" msgstr "Sdílet s" -#: js/share.js:142 +#: js/share.js:163 msgid "Share with link" msgstr "Sdílet s odkazem" -#: js/share.js:143 +#: js/share.js:164 msgid "Password protect" msgstr "Chránit heslem" -#: js/share.js:147 templates/installation.php:42 templates/login.php:24 +#: js/share.js:168 templates/installation.php:42 templates/login.php:24 #: templates/verify.php:13 msgid "Password" msgstr "Heslo" -#: js/share.js:152 +#: js/share.js:173 msgid "Set expiration date" msgstr "Nastavit datum vypršení platnosti" -#: js/share.js:153 +#: js/share.js:174 msgid "Expiration date" msgstr "Datum vypršení platnosti" -#: js/share.js:185 +#: js/share.js:206 msgid "Share via email:" msgstr "Sdílet e-mailem:" -#: js/share.js:187 +#: js/share.js:208 msgid "No people found" msgstr "Žádní lidé nenalezeni" -#: js/share.js:214 +#: js/share.js:235 msgid "Resharing is not allowed" msgstr "Sdílení již sdílené položky není povoleno" -#: js/share.js:250 -msgid "Shared in" -msgstr "Sdíleno v" - -#: js/share.js:250 -msgid "with" -msgstr "s" - #: js/share.js:271 +msgid "Shared in {item} with {user}" +msgstr "Sdíleno v {item} s {user}" + +#: js/share.js:292 msgid "Unshare" msgstr "Zrušit sdílení" -#: js/share.js:283 +#: js/share.js:304 msgid "can edit" msgstr "lze upravovat" -#: js/share.js:285 +#: js/share.js:306 msgid "access control" msgstr "řízení přístupu" -#: js/share.js:288 +#: js/share.js:309 msgid "create" msgstr "vytvořit" -#: js/share.js:291 +#: js/share.js:312 msgid "update" msgstr "aktualizovat" -#: js/share.js:294 +#: js/share.js:315 msgid "delete" msgstr "smazat" -#: js/share.js:297 +#: js/share.js:318 msgid "share" msgstr "sdílet" -#: js/share.js:322 js/share.js:484 +#: js/share.js:343 js/share.js:512 js/share.js:514 msgid "Password protected" msgstr "Chráněno heslem" -#: js/share.js:497 +#: js/share.js:525 msgid "Error unsetting expiration date" msgstr "Chyba při odstraňování data vypršení platnosti" -#: js/share.js:509 +#: js/share.js:537 msgid "Error setting expiration date" msgstr "Chyba při nastavení data vypršení platnosti" -#: lostpassword/index.php:26 +#: lostpassword/controller.php:47 msgid "ownCloud password reset" msgstr "Obnovení hesla pro ownCloud" @@ -236,12 +268,12 @@ msgid "You will receive a link to reset your password via Email." msgstr "Bude Vám e-mailem zaslán odkaz pro obnovu hesla." #: lostpassword/templates/lostpassword.php:5 -msgid "Requested" -msgstr "Požadováno" +msgid "Reset email send." +msgstr "Obnovovací e-mail odeslán." #: lostpassword/templates/lostpassword.php:8 -msgid "Login failed!" -msgstr "Přihlášení selhalo." +msgid "Request failed!" +msgstr "Požadavek selhal." #: lostpassword/templates/lostpassword.php:11 templates/installation.php:38 #: templates/login.php:20 @@ -300,7 +332,7 @@ msgstr "Cloud nebyl nalezen" msgid "Edit categories" msgstr "Upravit kategorie" -#: templates/edit_categories_dialog.php:14 +#: templates/edit_categories_dialog.php:16 msgid "Add" msgstr "Přidat" @@ -327,7 +359,7 @@ msgid "" "strongly suggest that you configure your webserver in a way that the data " "directory is no longer accessible or you move the data directory outside the" " webserver document root." -msgstr "" +msgstr "Váš adresář dat a všechny Vaše soubory jsou pravděpodobně přístupné z internetu. Soubor .htaccess, který je poskytován ownCloud, nefunguje. Důrazně Vám doporučujeme nastavit váš webový server tak, aby nebyl adresář dat přístupný, nebo přesunout adresář dat mimo kořenovou složku dokumentů webového serveru." #: templates/installation.php:36 msgid "Create an admin account" @@ -374,27 +406,103 @@ msgstr "Hostitel databáze" msgid "Finish setup" msgstr "Dokončit nastavení" -#: templates/layout.guest.php:38 +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Sunday" +msgstr "Neděle" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Monday" +msgstr "Pondělí" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Tuesday" +msgstr "Úterý" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Wednesday" +msgstr "Středa" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Thursday" +msgstr "Čtvrtek" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Friday" +msgstr "Pátek" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Saturday" +msgstr "Sobota" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "January" +msgstr "Leden" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "February" +msgstr "Únor" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "March" +msgstr "Březen" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "April" +msgstr "Duben" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "May" +msgstr "Květen" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "June" +msgstr "Červen" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "July" +msgstr "Červenec" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "August" +msgstr "Srpen" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "September" +msgstr "Září" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "October" +msgstr "Říjen" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "November" +msgstr "Listopad" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "December" +msgstr "Prosinec" + +#: templates/layout.guest.php:41 msgid "web services under your control" msgstr "webové služby pod Vaší kontrolou" -#: templates/layout.user.php:34 +#: templates/layout.user.php:44 msgid "Log out" msgstr "Odhlásit se" #: templates/login.php:8 msgid "Automatic logon rejected!" -msgstr "" +msgstr "Automatické přihlášení odmítnuto." #: templates/login.php:9 msgid "" "If you did not change your password recently, your account may be " "compromised!" -msgstr "" +msgstr "V nedávné době jste nezměnili své heslo, Váš účet může být kompromitován." #: templates/login.php:10 msgid "Please change your password to secure your account again." -msgstr "" +msgstr "Změňte, prosím, své heslo pro opětovné zabezpečení Vašeho účtu." #: templates/login.php:15 msgid "Lost your password?" @@ -422,14 +530,14 @@ msgstr "následující" #: templates/verify.php:5 msgid "Security Warning!" -msgstr "" +msgstr "Bezpečnostní upozornění." #: templates/verify.php:6 msgid "" "Please verify your password.
For security reasons you may be " "occasionally asked to enter your password again." -msgstr "" +msgstr "Ověřte, prosím, své heslo.
Z bezpečnostních důvodů můžete být občas požádáni o jeho opětovné zadání." #: templates/verify.php:16 msgid "Verify" -msgstr "" +msgstr "Ověřit" diff --git a/l10n/cs_CZ/files.po b/l10n/cs_CZ/files.po index 423a5045da8277c10ee2b15332f5c874e2bf45c2..ae2e46823560979a4c2d3af72eeb30bb4eb27ac8 100644 --- a/l10n/cs_CZ/files.po +++ b/l10n/cs_CZ/files.po @@ -10,8 +10,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-09-27 02:01+0200\n" -"PO-Revision-Date: 2012-09-26 12:01+0000\n" +"POT-Creation-Date: 2012-12-02 00:02+0100\n" +"PO-Revision-Date: 2012-12-01 05:15+0000\n" "Last-Translator: Tomáš Chvátal \n" "Language-Team: Czech (Czech Republic) (http://www.transifex.com/projects/p/owncloud/language/cs_CZ/)\n" "MIME-Version: 1.0\n" @@ -25,195 +25,166 @@ msgid "There is no error, the file uploaded with success" msgstr "Soubor byl odeslán úspěšně" #: ajax/upload.php:21 -msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" -msgstr "Odeslaný soubor přesáhl svou velikostí parametr upload_max_filesize v php.ini" +msgid "" +"The uploaded file exceeds the upload_max_filesize directive in php.ini: " +msgstr "Odesílaný soubor přesahuje velikost upload_max_filesize povolenou v php.ini:" -#: ajax/upload.php:22 +#: ajax/upload.php:23 msgid "" "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " "the HTML form" msgstr "Odeslaný soubor přesáhl svou velikostí parametr MAX_FILE_SIZE specifikovaný v formuláři HTML" -#: ajax/upload.php:23 +#: ajax/upload.php:25 msgid "The uploaded file was only partially uploaded" msgstr "Soubor byl odeslán pouze částečně" -#: ajax/upload.php:24 +#: ajax/upload.php:26 msgid "No file was uploaded" msgstr "Žádný soubor nebyl odeslán" -#: ajax/upload.php:25 +#: ajax/upload.php:27 msgid "Missing a temporary folder" msgstr "Chybí adresář pro dočasné soubory" -#: ajax/upload.php:26 +#: ajax/upload.php:28 msgid "Failed to write to disk" msgstr "Zápis na disk selhal" -#: appinfo/app.php:6 +#: appinfo/app.php:10 msgid "Files" msgstr "Soubory" -#: js/fileactions.js:108 templates/index.php:62 +#: js/fileactions.js:117 templates/index.php:83 templates/index.php:84 msgid "Unshare" msgstr "Zrušit sdílení" -#: js/fileactions.js:110 templates/index.php:64 +#: js/fileactions.js:119 templates/index.php:89 templates/index.php:90 msgid "Delete" msgstr "Smazat" -#: js/fileactions.js:182 +#: js/fileactions.js:181 msgid "Rename" msgstr "Přejmenovat" -#: js/filelist.js:190 js/filelist.js:192 -msgid "already exists" -msgstr "již existuje" +#: js/filelist.js:201 js/filelist.js:203 +msgid "{new_name} already exists" +msgstr "{new_name} již existuje" -#: js/filelist.js:190 js/filelist.js:192 +#: js/filelist.js:201 js/filelist.js:203 msgid "replace" msgstr "nahradit" -#: js/filelist.js:190 +#: js/filelist.js:201 msgid "suggest name" msgstr "navrhnout název" -#: js/filelist.js:190 js/filelist.js:192 +#: js/filelist.js:201 js/filelist.js:203 msgid "cancel" msgstr "zrušit" -#: js/filelist.js:239 js/filelist.js:241 -msgid "replaced" -msgstr "nahrazeno" +#: js/filelist.js:250 +msgid "replaced {new_name}" +msgstr "nahrazeno {new_name}" -#: js/filelist.js:239 js/filelist.js:241 js/filelist.js:273 js/filelist.js:275 +#: js/filelist.js:250 js/filelist.js:252 js/filelist.js:284 js/filelist.js:286 msgid "undo" msgstr "zpět" -#: js/filelist.js:241 -msgid "with" -msgstr "s" +#: js/filelist.js:252 +msgid "replaced {new_name} with {old_name}" +msgstr "nahrazeno {new_name} s {old_name}" + +#: js/filelist.js:284 +msgid "unshared {files}" +msgstr "sdílení zrušeno pro {files}" -#: js/filelist.js:273 -msgid "unshared" -msgstr "sdílení zrušeno" +#: js/filelist.js:286 +msgid "deleted {files}" +msgstr "smazáno {files}" -#: js/filelist.js:275 -msgid "deleted" -msgstr "smazáno" +#: js/files.js:33 +msgid "" +"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not " +"allowed." +msgstr "Neplatný název, znaky '\\', '/', '<', '>', ':', '\"', '|', '?' a '*' nejsou povoleny." -#: js/files.js:179 +#: js/files.js:183 msgid "generating ZIP-file, it may take some time." msgstr "generuji ZIP soubor, může to nějakou dobu trvat." -#: js/files.js:208 +#: js/files.js:218 msgid "Unable to upload your file as it is a directory or has 0 bytes" msgstr "Nelze odeslat Váš soubor, protože je to adresář nebo má velikost 0 bajtů" -#: js/files.js:208 +#: js/files.js:218 msgid "Upload Error" msgstr "Chyba odesílání" -#: js/files.js:236 js/files.js:341 js/files.js:371 +#: js/files.js:235 +msgid "Close" +msgstr "Zavřít" + +#: js/files.js:254 js/files.js:368 js/files.js:398 msgid "Pending" msgstr "Čekající" -#: js/files.js:256 +#: js/files.js:274 msgid "1 file uploading" msgstr "odesílá se 1 soubor" -#: js/files.js:259 js/files.js:304 js/files.js:319 -msgid "files uploading" -msgstr "souborů se odesílá" +#: js/files.js:277 js/files.js:331 js/files.js:346 +msgid "{count} files uploading" +msgstr "odesílám {count} souborů" -#: js/files.js:322 js/files.js:355 +#: js/files.js:349 js/files.js:382 msgid "Upload cancelled." msgstr "Odesílání zrušeno." -#: js/files.js:424 +#: js/files.js:451 msgid "" "File upload is in progress. Leaving the page now will cancel the upload." msgstr "Probíhá odesílání souboru. Opuštění stránky vyústí ve zrušení nahrávání." -#: js/files.js:494 -msgid "Invalid name, '/' is not allowed." -msgstr "Neplatný název, znak '/' není povolen" +#: js/files.js:523 +msgid "Invalid folder name. Usage of \"Shared\" is reserved by Owncloud" +msgstr "Neplatný název složky. Použití názvu \"Shared\" je rezervováno pro interní úžití službou Owncloud." -#: js/files.js:668 -msgid "files scanned" -msgstr "soubory prohledány" +#: js/files.js:704 +msgid "{count} files scanned" +msgstr "prozkoumáno {count} souborů" -#: js/files.js:676 +#: js/files.js:712 msgid "error while scanning" msgstr "chyba při prohledávání" -#: js/files.js:749 templates/index.php:48 +#: js/files.js:785 templates/index.php:65 msgid "Name" msgstr "Název" -#: js/files.js:750 templates/index.php:56 +#: js/files.js:786 templates/index.php:76 msgid "Size" msgstr "Velikost" -#: js/files.js:751 templates/index.php:58 +#: js/files.js:787 templates/index.php:78 msgid "Modified" msgstr "Změněno" -#: js/files.js:778 -msgid "folder" -msgstr "složka" - -#: js/files.js:780 -msgid "folders" -msgstr "složky" - -#: js/files.js:788 -msgid "file" -msgstr "soubor" - -#: js/files.js:790 -msgid "files" -msgstr "soubory" - -#: js/files.js:834 -msgid "seconds ago" -msgstr "před pár sekundami" - -#: js/files.js:835 -msgid "minute ago" -msgstr "před minutou" - -#: js/files.js:836 -msgid "minutes ago" -msgstr "před pár minutami" +#: js/files.js:814 +msgid "1 folder" +msgstr "1 složka" -#: js/files.js:839 -msgid "today" -msgstr "dnes" +#: js/files.js:816 +msgid "{count} folders" +msgstr "{count} složky" -#: js/files.js:840 -msgid "yesterday" -msgstr "včera" +#: js/files.js:824 +msgid "1 file" +msgstr "1 soubor" -#: js/files.js:841 -msgid "days ago" -msgstr "před pár dny" - -#: js/files.js:842 -msgid "last month" -msgstr "minulý měsíc" - -#: js/files.js:844 -msgid "months ago" -msgstr "před pár měsíci" - -#: js/files.js:845 -msgid "last year" -msgstr "minulý rok" - -#: js/files.js:846 -msgid "years ago" -msgstr "před pár lety" +#: js/files.js:826 +msgid "{count} files" +msgstr "{count} soubory" #: templates/admin.php:5 msgid "File handling" @@ -223,27 +194,27 @@ msgstr "Zacházení se soubory" msgid "Maximum upload size" msgstr "Maximální velikost pro odesílání" -#: templates/admin.php:7 +#: templates/admin.php:9 msgid "max. possible: " msgstr "největší možná: " -#: templates/admin.php:9 +#: templates/admin.php:12 msgid "Needed for multi-file and folder downloads." msgstr "Potřebné pro více-souborové stahování a stahování složek." -#: templates/admin.php:9 +#: templates/admin.php:14 msgid "Enable ZIP-download" msgstr "Povolit ZIP-stahování" -#: templates/admin.php:11 +#: templates/admin.php:17 msgid "0 is unlimited" msgstr "0 znamená bez omezení" -#: templates/admin.php:12 +#: templates/admin.php:19 msgid "Maximum input size for ZIP files" msgstr "Maximální velikost vstupu pro ZIP soubory" -#: templates/admin.php:14 +#: templates/admin.php:23 msgid "Save" msgstr "Uložit" @@ -251,52 +222,48 @@ msgstr "Uložit" msgid "New" msgstr "Nový" -#: templates/index.php:9 +#: templates/index.php:10 msgid "Text file" msgstr "Textový soubor" -#: templates/index.php:10 +#: templates/index.php:12 msgid "Folder" msgstr "Složka" -#: templates/index.php:11 -msgid "From url" -msgstr "Z url" +#: templates/index.php:14 +msgid "From link" +msgstr "Z odkazu" -#: templates/index.php:20 +#: templates/index.php:35 msgid "Upload" msgstr "Odeslat" -#: templates/index.php:27 +#: templates/index.php:43 msgid "Cancel upload" msgstr "Zrušit odesílání" -#: templates/index.php:40 +#: templates/index.php:57 msgid "Nothing in here. Upload something!" msgstr "Žádný obsah. Nahrajte něco." -#: templates/index.php:50 -msgid "Share" -msgstr "Sdílet" - -#: templates/index.php:52 +#: templates/index.php:71 msgid "Download" msgstr "Stáhnout" -#: templates/index.php:75 +#: templates/index.php:103 msgid "Upload too large" msgstr "Odeslaný soubor je příliš velký" -#: templates/index.php:77 +#: templates/index.php:105 msgid "" "The files you are trying to upload exceed the maximum size for file uploads " "on this server." msgstr "Soubory, které se snažíte odeslat, překračují limit velikosti odesílání na tomto serveru." -#: templates/index.php:82 +#: templates/index.php:110 msgid "Files are being scanned, please wait." msgstr "Soubory se prohledávají, prosím čekejte." -#: templates/index.php:85 +#: templates/index.php:113 msgid "Current scanning" msgstr "Aktuální prohledávání" diff --git a/l10n/cs_CZ/files_external.po b/l10n/cs_CZ/files_external.po index 0f20d9e72e1e35ddaa6979940459ba9a0c21b2df..6bc1bffb5c2de8f65c9331f2fe315e82b5873970 100644 --- a/l10n/cs_CZ/files_external.po +++ b/l10n/cs_CZ/files_external.po @@ -11,9 +11,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-04 02:04+0200\n" -"PO-Revision-Date: 2012-10-03 08:09+0000\n" -"Last-Translator: Tomáš Chvátal \n" +"POT-Creation-Date: 2012-12-12 00:12+0100\n" +"PO-Revision-Date: 2012-12-11 23:13+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Czech (Czech Republic) (http://www.transifex.com/projects/p/owncloud/language/cs_CZ/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -45,66 +45,80 @@ msgstr "Zadejte, prosím, platný klíč a bezpečnostní frázi aplikace Dropbo msgid "Error configuring Google Drive storage" msgstr "Chyba při nastavení úložiště Google Drive" +#: lib/config.php:434 +msgid "" +"Warning: \"smbclient\" is not installed. Mounting of CIFS/SMB shares " +"is not possible. Please ask your system administrator to install it." +msgstr "" + +#: lib/config.php:435 +msgid "" +"Warning: The FTP support in PHP is not enabled or installed. Mounting" +" of FTP shares is not possible. Please ask your system administrator to " +"install it." +msgstr "" + #: templates/settings.php:3 msgid "External Storage" msgstr "Externí úložiště" -#: templates/settings.php:7 templates/settings.php:19 +#: templates/settings.php:8 templates/settings.php:22 msgid "Mount point" msgstr "Přípojný bod" -#: templates/settings.php:8 +#: templates/settings.php:9 msgid "Backend" msgstr "Podpůrná vrstva" -#: templates/settings.php:9 +#: templates/settings.php:10 msgid "Configuration" msgstr "Nastavení" -#: templates/settings.php:10 +#: templates/settings.php:11 msgid "Options" msgstr "Možnosti" -#: templates/settings.php:11 +#: templates/settings.php:12 msgid "Applicable" -msgstr "Platný" +msgstr "Přístupný pro" -#: templates/settings.php:23 +#: templates/settings.php:27 msgid "Add mount point" msgstr "Přidat bod připojení" -#: templates/settings.php:54 templates/settings.php:62 +#: templates/settings.php:85 msgid "None set" msgstr "Nenastaveno" -#: templates/settings.php:63 +#: templates/settings.php:86 msgid "All Users" msgstr "Všichni uživatelé" -#: templates/settings.php:64 +#: templates/settings.php:87 msgid "Groups" msgstr "Skupiny" -#: templates/settings.php:69 +#: templates/settings.php:95 msgid "Users" msgstr "Uživatelé" -#: templates/settings.php:77 templates/settings.php:107 +#: templates/settings.php:108 templates/settings.php:109 +#: templates/settings.php:149 templates/settings.php:150 msgid "Delete" msgstr "Smazat" -#: templates/settings.php:87 +#: templates/settings.php:124 msgid "Enable User External Storage" msgstr "Zapnout externí uživatelské úložiště" -#: templates/settings.php:88 +#: templates/settings.php:125 msgid "Allow users to mount their own external storage" msgstr "Povolit uživatelům připojení jejich vlastních externích úložišť" -#: templates/settings.php:99 +#: templates/settings.php:139 msgid "SSL root certificates" msgstr "Kořenové certifikáty SSL" -#: templates/settings.php:113 +#: templates/settings.php:158 msgid "Import Root Certificate" msgstr "Importovat kořenového certifikátu" diff --git a/l10n/cs_CZ/files_pdfviewer.po b/l10n/cs_CZ/files_pdfviewer.po deleted file mode 100644 index 87f8e0f3ff922b151e9cc802418b85813968ad3c..0000000000000000000000000000000000000000 --- a/l10n/cs_CZ/files_pdfviewer.po +++ /dev/null @@ -1,42 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 02:18+0200\n" -"PO-Revision-Date: 2012-08-26 00:19+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Czech (Czech Republic) (http://www.transifex.com/projects/p/owncloud/language/cs_CZ/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: cs_CZ\n" -"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2\n" - -#: js/viewer.js:22 -msgid "Previous" -msgstr "" - -#: js/viewer.js:23 -msgid "Next" -msgstr "" - -#: js/viewer.js:29 -msgid "Page Width" -msgstr "" - -#: js/viewer.js:29 -msgid "Page Fit" -msgstr "" - -#: js/viewer.js:30 -msgid "Print" -msgstr "" - -#: js/viewer.js:32 -msgid "Download" -msgstr "" diff --git a/l10n/cs_CZ/files_texteditor.po b/l10n/cs_CZ/files_texteditor.po deleted file mode 100644 index 6c9ac9a372c30fd6d297467069283c17f110c69d..0000000000000000000000000000000000000000 --- a/l10n/cs_CZ/files_texteditor.po +++ /dev/null @@ -1,44 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 01:17+0200\n" -"PO-Revision-Date: 2012-08-25 23:18+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Czech (Czech Republic) (http://www.transifex.com/projects/p/owncloud/language/cs_CZ/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: cs_CZ\n" -"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2\n" - -#: js/aceeditor/mode-coldfusion-uncompressed.js:1568 -#: js/aceeditor/mode-liquid-uncompressed.js:902 -#: js/aceeditor/mode-svg-uncompressed.js:1575 -msgid "regex" -msgstr "" - -#: js/editor.js:72 js/editor.js:156 js/editor.js:163 -msgid "Save" -msgstr "" - -#: js/editor.js:74 -msgid "Close" -msgstr "" - -#: js/editor.js:149 -msgid "Saving..." -msgstr "" - -#: js/editor.js:239 -msgid "An error occurred!" -msgstr "" - -#: js/editor.js:266 -msgid "There were unsaved changes, click here to go back" -msgstr "" diff --git a/l10n/cs_CZ/gallery.po b/l10n/cs_CZ/gallery.po deleted file mode 100644 index f24db5838a04eb4649bead8265d1ebc1a3eec773..0000000000000000000000000000000000000000 --- a/l10n/cs_CZ/gallery.po +++ /dev/null @@ -1,41 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Jan Krejci , 2012. -# Martin , 2012. -# Michal Hrušecký , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-16 02:04+0200\n" -"PO-Revision-Date: 2012-08-15 09:30+0000\n" -"Last-Translator: Martin \n" -"Language-Team: Czech (Czech Republic) (http://www.transifex.com/projects/p/owncloud/language/cs_CZ/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: cs_CZ\n" -"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2\n" - -#: appinfo/app.php:39 -msgid "Pictures" -msgstr "Obrázky" - -#: js/pictures.js:12 -msgid "Share gallery" -msgstr "Sdílet galerii" - -#: js/pictures.js:32 -msgid "Error: " -msgstr "Chyba: " - -#: js/pictures.js:32 -msgid "Internal error" -msgstr "Vnitřní chyba" - -#: templates/index.php:27 -msgid "Slideshow" -msgstr "Přehrávání" diff --git a/l10n/cs_CZ/impress.po b/l10n/cs_CZ/impress.po deleted file mode 100644 index 0b19a018bc3bf10eab339f0355786eed2571a831..0000000000000000000000000000000000000000 --- a/l10n/cs_CZ/impress.po +++ /dev/null @@ -1,22 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 01:17+0200\n" -"PO-Revision-Date: 2012-08-25 23:18+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Czech (Czech Republic) (http://www.transifex.com/projects/p/owncloud/language/cs_CZ/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: cs_CZ\n" -"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2\n" - -#: templates/presentations.php:7 -msgid "Documentation" -msgstr "" diff --git a/l10n/cs_CZ/lib.po b/l10n/cs_CZ/lib.po index eb0f3cb40a730dffa34e60ec15af7fdf8a58bdb8..dd8693c6c82a4d92fc95fd439fb29f666dc8b3b3 100644 --- a/l10n/cs_CZ/lib.po +++ b/l10n/cs_CZ/lib.po @@ -9,8 +9,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-09-06 02:02+0200\n" -"PO-Revision-Date: 2012-09-05 13:37+0000\n" +"POT-Creation-Date: 2012-11-16 00:02+0100\n" +"PO-Revision-Date: 2012-11-15 10:08+0000\n" "Last-Translator: Tomáš Chvátal \n" "Language-Team: Czech (Czech Republic) (http://www.transifex.com/projects/p/owncloud/language/cs_CZ/)\n" "MIME-Version: 1.0\n" @@ -19,43 +19,43 @@ msgstr "" "Language: cs_CZ\n" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" -#: app.php:288 +#: app.php:285 msgid "Help" msgstr "Nápověda" -#: app.php:295 +#: app.php:292 msgid "Personal" msgstr "Osobní" -#: app.php:300 +#: app.php:297 msgid "Settings" msgstr "Nastavení" -#: app.php:305 +#: app.php:302 msgid "Users" msgstr "Uživatelé" -#: app.php:312 +#: app.php:309 msgid "Apps" msgstr "Aplikace" -#: app.php:314 +#: app.php:311 msgid "Admin" msgstr "Administrace" -#: files.php:280 +#: files.php:332 msgid "ZIP download is turned off." msgstr "Stahování ZIPu je vypnuto." -#: files.php:281 +#: files.php:333 msgid "Files need to be downloaded one by one." msgstr "Soubory musí být stahovány jednotlivě." -#: files.php:281 files.php:306 +#: files.php:333 files.php:358 msgid "Back to Files" msgstr "Zpět k souborům" -#: files.php:305 +#: files.php:357 msgid "Selected files too large to generate zip file." msgstr "Vybrané soubory jsou příliš velké pro vytvoření zip souboru." @@ -63,7 +63,7 @@ msgstr "Vybrané soubory jsou příliš velké pro vytvoření zip souboru." msgid "Application is not enabled" msgstr "Aplikace není povolena" -#: json.php:39 json.php:63 json.php:75 +#: json.php:39 json.php:64 json.php:77 json.php:89 msgid "Authentication error" msgstr "Chyba ověření" @@ -71,57 +71,84 @@ msgstr "Chyba ověření" msgid "Token expired. Please reload page." msgstr "Token vypršel. Obnovte prosím stránku." -#: template.php:87 +#: search/provider/file.php:17 search/provider/file.php:35 +msgid "Files" +msgstr "Soubory" + +#: search/provider/file.php:26 search/provider/file.php:33 +msgid "Text" +msgstr "Text" + +#: search/provider/file.php:29 +msgid "Images" +msgstr "Obrázky" + +#: template.php:103 msgid "seconds ago" msgstr "před vteřinami" -#: template.php:88 +#: template.php:104 msgid "1 minute ago" msgstr "před 1 minutou" -#: template.php:89 +#: template.php:105 #, php-format msgid "%d minutes ago" msgstr "před %d minutami" -#: template.php:92 +#: template.php:106 +msgid "1 hour ago" +msgstr "před hodinou" + +#: template.php:107 +#, php-format +msgid "%d hours ago" +msgstr "před %d hodinami" + +#: template.php:108 msgid "today" msgstr "dnes" -#: template.php:93 +#: template.php:109 msgid "yesterday" msgstr "včera" -#: template.php:94 +#: template.php:110 #, php-format msgid "%d days ago" msgstr "před %d dny" -#: template.php:95 +#: template.php:111 msgid "last month" msgstr "minulý měsíc" -#: template.php:96 -msgid "months ago" -msgstr "před měsíci" +#: template.php:112 +#, php-format +msgid "%d months ago" +msgstr "Před %d měsíci" -#: template.php:97 +#: template.php:113 msgid "last year" msgstr "loni" -#: template.php:98 +#: template.php:114 msgid "years ago" msgstr "před lety" -#: updater.php:66 +#: updater.php:75 #, php-format msgid "%s is available. Get more information" msgstr "%s je dostupná. Získat více informací" -#: updater.php:68 +#: updater.php:77 msgid "up to date" msgstr "aktuální" -#: updater.php:71 +#: updater.php:80 msgid "updates check is disabled" msgstr "kontrola aktualizací je vypnuta" + +#: vcategories.php:188 vcategories.php:249 +#, php-format +msgid "Could not find category \"%s\"" +msgstr "Nelze nalézt kategorii \"%s\"" diff --git a/l10n/cs_CZ/media.po b/l10n/cs_CZ/media.po deleted file mode 100644 index adefdadc3b1835654f296d5c56edebe03fa99e5a..0000000000000000000000000000000000000000 --- a/l10n/cs_CZ/media.po +++ /dev/null @@ -1,69 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Jan Krejci , 2011. -# Martin , 2011. -# Michal Hrušecký , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-06-06 00:12+0200\n" -"PO-Revision-Date: 2012-06-05 22:15+0000\n" -"Last-Translator: icewind \n" -"Language-Team: Czech (Czech Republic) (http://www.transifex.net/projects/p/owncloud/language/cs_CZ/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: cs_CZ\n" -"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2\n" - -#: appinfo/app.php:32 templates/player.php:8 -msgid "Music" -msgstr "Hudba" - -#: js/music.js:18 -msgid "Add album to playlist" -msgstr "" - -#: templates/music.php:3 templates/player.php:12 -msgid "Play" -msgstr "Přehrát" - -#: templates/music.php:4 templates/music.php:26 templates/player.php:13 -msgid "Pause" -msgstr "Pauza" - -#: templates/music.php:5 -msgid "Previous" -msgstr "Předchozí" - -#: templates/music.php:6 templates/player.php:14 -msgid "Next" -msgstr "Další" - -#: templates/music.php:7 -msgid "Mute" -msgstr "Vypnout zvuk" - -#: templates/music.php:8 -msgid "Unmute" -msgstr "Zapnout zvuk" - -#: templates/music.php:25 -msgid "Rescan Collection" -msgstr "Znovu prohledat " - -#: templates/music.php:37 -msgid "Artist" -msgstr "Umělec" - -#: templates/music.php:38 -msgid "Album" -msgstr "Album" - -#: templates/music.php:39 -msgid "Title" -msgstr "Název" diff --git a/l10n/cs_CZ/settings.po b/l10n/cs_CZ/settings.po index 3fe9dd8a58f274a76f6dbd3dbd5efa621b6ba4f4..e2e213e5fcbf148e24fc0c6957e76561fe175717 100644 --- a/l10n/cs_CZ/settings.po +++ b/l10n/cs_CZ/settings.po @@ -13,8 +13,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-10 02:05+0200\n" -"PO-Revision-Date: 2012-10-09 08:35+0000\n" +"POT-Creation-Date: 2012-12-03 00:04+0100\n" +"PO-Revision-Date: 2012-12-02 03:18+0000\n" "Last-Translator: Tomáš Chvátal \n" "Language-Team: Czech (Czech Republic) (http://www.transifex.com/projects/p/owncloud/language/cs_CZ/)\n" "MIME-Version: 1.0\n" @@ -23,70 +23,73 @@ msgstr "" "Language: cs_CZ\n" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" -#: ajax/apps/ocs.php:23 +#: ajax/apps/ocs.php:20 msgid "Unable to load list from App Store" msgstr "Nelze načíst seznam z App Store" -#: ajax/creategroup.php:9 ajax/removeuser.php:13 ajax/setquota.php:18 -#: ajax/togglegroups.php:15 -msgid "Authentication error" -msgstr "Chyba ověření" - -#: ajax/creategroup.php:19 +#: ajax/creategroup.php:10 msgid "Group already exists" msgstr "Skupina již existuje" -#: ajax/creategroup.php:28 +#: ajax/creategroup.php:19 msgid "Unable to add group" msgstr "Nelze přidat skupinu" -#: ajax/enableapp.php:14 +#: ajax/enableapp.php:12 msgid "Could not enable app. " msgstr "Nelze povolit aplikaci." -#: ajax/lostpassword.php:14 +#: ajax/lostpassword.php:12 msgid "Email saved" msgstr "E-mail uložen" -#: ajax/lostpassword.php:16 +#: ajax/lostpassword.php:14 msgid "Invalid email" msgstr "Neplatný e-mail" -#: ajax/openid.php:16 +#: ajax/openid.php:13 msgid "OpenID Changed" msgstr "OpenID změněno" -#: ajax/openid.php:18 ajax/setlanguage.php:20 ajax/setlanguage.php:23 +#: ajax/openid.php:15 ajax/setlanguage.php:17 ajax/setlanguage.php:20 msgid "Invalid request" msgstr "Neplatný požadavek" -#: ajax/removegroup.php:16 +#: ajax/removegroup.php:13 msgid "Unable to delete group" msgstr "Nelze smazat skupinu" -#: ajax/removeuser.php:22 +#: ajax/removeuser.php:15 ajax/setquota.php:15 ajax/togglegroups.php:18 +msgid "Authentication error" +msgstr "Chyba ověření" + +#: ajax/removeuser.php:24 msgid "Unable to delete user" msgstr "Nelze smazat uživatele" -#: ajax/setlanguage.php:18 +#: ajax/setlanguage.php:15 msgid "Language changed" msgstr "Jazyk byl změněn" -#: ajax/togglegroups.php:25 +#: ajax/togglegroups.php:12 +msgid "Admins can't remove themself from the admin group" +msgstr "Správci se nemohou odebrat sami ze skupiny správců" + +#: ajax/togglegroups.php:28 #, php-format msgid "Unable to add user to group %s" msgstr "Nelze přidat uživatele do skupiny %s" -#: ajax/togglegroups.php:31 +#: ajax/togglegroups.php:34 #, php-format msgid "Unable to remove user from group %s" msgstr "Nelze odstranit uživatele ze skupiny %s" -#: js/apps.js:28 js/apps.js:65 +#: js/apps.js:28 js/apps.js:67 msgid "Disable" msgstr "Zakázat" -#: js/apps.js:28 js/apps.js:54 +#: js/apps.js:28 js/apps.js:55 msgid "Enable" msgstr "Povolit" @@ -94,97 +97,10 @@ msgstr "Povolit" msgid "Saving..." msgstr "Ukládám..." -#: personal.php:47 personal.php:48 +#: personal.php:42 personal.php:43 msgid "__language_name__" msgstr "Česky" -#: templates/admin.php:14 -msgid "Security Warning" -msgstr "Bezpečnostní varování" - -#: templates/admin.php:17 -msgid "" -"Your data directory and your files are probably accessible from the " -"internet. The .htaccess file that ownCloud provides is not working. We " -"strongly suggest that you configure your webserver in a way that the data " -"directory is no longer accessible or you move the data directory outside the" -" webserver document root." -msgstr "Váš adresář dat a soubory jsou pravděpodobně přístupné z internetu. Soubor .htacces, který ownCloud poskytuje nefunguje. Doporučujeme Vám abyste nastavili Váš webový server tak, aby nebylo možno přistupovat do adresáře s daty, nebo přesunuli adresář dat mimo kořenovou složku dokumentů webového serveru." - -#: templates/admin.php:31 -msgid "Cron" -msgstr "Cron" - -#: templates/admin.php:37 -msgid "Execute one task with each page loaded" -msgstr "Spustit jednu úlohu s každou načtenou stránkou" - -#: templates/admin.php:43 -msgid "" -"cron.php is registered at a webcron service. Call the cron.php page in the " -"owncloud root once a minute over http." -msgstr "cron.php je registrován u služby webcron. Zavolá stránku cron.php v kořenovém adresáři owncloud každou minutu skrze http." - -#: templates/admin.php:49 -msgid "" -"Use systems cron service. Call the cron.php file in the owncloud folder via " -"a system cronjob once a minute." -msgstr "Použít systémovou službu cron. Zavolat soubor cron.php ze složky owncloud pomocí systémové úlohy cron každou minutu." - -#: templates/admin.php:56 -msgid "Sharing" -msgstr "Sdílení" - -#: templates/admin.php:61 -msgid "Enable Share API" -msgstr "Povolit API sdílení" - -#: templates/admin.php:62 -msgid "Allow apps to use the Share API" -msgstr "Povolit aplikacím používat API sdílení" - -#: templates/admin.php:67 -msgid "Allow links" -msgstr "Povolit odkazy" - -#: templates/admin.php:68 -msgid "Allow users to share items to the public with links" -msgstr "Povolit uživatelům sdílet položky s veřejností pomocí odkazů" - -#: templates/admin.php:73 -msgid "Allow resharing" -msgstr "Povolit znovu-sdílení" - -#: templates/admin.php:74 -msgid "Allow users to share items shared with them again" -msgstr "Povolit uživatelům znovu sdílet položky, které jsou pro ně sdíleny" - -#: templates/admin.php:79 -msgid "Allow users to share with anyone" -msgstr "Povolit uživatelům sdílet s kýmkoliv" - -#: templates/admin.php:81 -msgid "Allow users to only share with users in their groups" -msgstr "Povolit uživatelům sdílet pouze s uživateli v jejich skupinách" - -#: templates/admin.php:88 -msgid "Log" -msgstr "Záznam" - -#: templates/admin.php:116 -msgid "More" -msgstr "Více" - -#: templates/admin.php:124 -msgid "" -"Developed by the ownCloud community, the source code is " -"licensed under the AGPL." -msgstr "Vyvinuto komunitou ownCloud, zdrojový kód je licencován pod AGPL." - #: templates/apps.php:10 msgid "Add your App" msgstr "Přidat Vaší aplikaci" @@ -217,22 +133,22 @@ msgstr "Správa velkých souborů" msgid "Ask a question" msgstr "Zeptat se" -#: templates/help.php:23 +#: templates/help.php:22 msgid "Problems connecting to help database." msgstr "Problémy s připojením k databázi s nápovědou." -#: templates/help.php:24 +#: templates/help.php:23 msgid "Go there manually." msgstr "Přejít ručně." -#: templates/help.php:32 +#: templates/help.php:31 msgid "Answer" msgstr "Odpověď" #: templates/personal.php:8 #, php-format -msgid "You have used %s of the available %s" -msgstr "Použili jste %s z dostupných %s" +msgid "You have used %s of the available %s" +msgstr "Používáte %s z %s dostupných" #: templates/personal.php:12 msgid "Desktop and Mobile Syncing Clients" @@ -290,6 +206,16 @@ msgstr "Pomoci s překladem" msgid "use this address to connect to your ownCloud in your file manager" msgstr "tuto adresu použijte pro připojení k ownCloud ve Vašem správci souborů" +#: templates/personal.php:61 +msgid "" +"Developed by the ownCloud community, the source code is " +"licensed under the AGPL." +msgstr "Vyvinuto komunitou ownCloud, zdrojový kód je licencován pod AGPL." + #: templates/users.php:21 templates/users.php:76 msgid "Name" msgstr "Jméno" diff --git a/l10n/cs_CZ/tasks.po b/l10n/cs_CZ/tasks.po deleted file mode 100644 index 26605819167f1bef8755357a2983a8d5a65e6dd6..0000000000000000000000000000000000000000 --- a/l10n/cs_CZ/tasks.po +++ /dev/null @@ -1,107 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Michal Hrušecký , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-24 02:02+0200\n" -"PO-Revision-Date: 2012-08-23 19:57+0000\n" -"Last-Translator: Michal Hrušecký \n" -"Language-Team: Czech (Czech Republic) (http://www.transifex.com/projects/p/owncloud/language/cs_CZ/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: cs_CZ\n" -"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2\n" - -#: ajax/update_property.php:51 lib/app.php:89 lib/app.php:101 -msgid "Invalid date/time" -msgstr "Neplatné datum/čas" - -#: appinfo/app.php:11 -msgid "Tasks" -msgstr "Úkoly" - -#: js/tasks.js:415 -msgid "No category" -msgstr "Bez kategorie" - -#: lib/app.php:33 -msgid "Unspecified" -msgstr "" - -#: lib/app.php:34 -msgid "1=highest" -msgstr "1=nejvyšší" - -#: lib/app.php:38 -msgid "5=medium" -msgstr "5=střední" - -#: lib/app.php:42 -msgid "9=lowest" -msgstr "9=nejnižší" - -#: lib/app.php:81 -msgid "Empty Summary" -msgstr "" - -#: lib/app.php:93 -msgid "Invalid percent complete" -msgstr "" - -#: lib/app.php:107 -msgid "Invalid priority" -msgstr "Neplatná priorita" - -#: templates/tasks.php:3 -msgid "Add Task" -msgstr "Přidat úkol" - -#: templates/tasks.php:4 -msgid "Order Due" -msgstr "" - -#: templates/tasks.php:5 -msgid "Order List" -msgstr "" - -#: templates/tasks.php:6 -msgid "Order Complete" -msgstr "" - -#: templates/tasks.php:7 -msgid "Order Location" -msgstr "" - -#: templates/tasks.php:8 -msgid "Order Priority" -msgstr "" - -#: templates/tasks.php:9 -msgid "Order Label" -msgstr "" - -#: templates/tasks.php:16 -msgid "Loading tasks..." -msgstr "Načítám úkoly..." - -#: templates/tasks.php:20 -msgid "Important" -msgstr "Důležité" - -#: templates/tasks.php:23 -msgid "More" -msgstr "Více" - -#: templates/tasks.php:26 -msgid "Less" -msgstr "Méně" - -#: templates/tasks.php:29 -msgid "Delete" -msgstr "Smazat" diff --git a/l10n/cs_CZ/user_migrate.po b/l10n/cs_CZ/user_migrate.po deleted file mode 100644 index 74cee0cec42fcc2266069d08fb0cb9247c0d990f..0000000000000000000000000000000000000000 --- a/l10n/cs_CZ/user_migrate.po +++ /dev/null @@ -1,52 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Martin , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-16 02:04+0200\n" -"PO-Revision-Date: 2012-08-15 09:51+0000\n" -"Last-Translator: Martin \n" -"Language-Team: Czech (Czech Republic) (http://www.transifex.com/projects/p/owncloud/language/cs_CZ/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: cs_CZ\n" -"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2\n" - -#: js/export.js:14 js/export.js:20 -msgid "Export" -msgstr "Export" - -#: js/export.js:19 -msgid "Something went wrong while the export file was being generated" -msgstr "Během vytváření souboru exportu došlo k chybě" - -#: js/export.js:19 -msgid "An error has occurred" -msgstr "Nastala chyba" - -#: templates/settings.php:2 -msgid "Export your user account" -msgstr "Export Vašeho uživatelského účtu" - -#: templates/settings.php:3 -msgid "" -"This will create a compressed file that contains your ownCloud account." -msgstr "Bude vytvořen komprimovaný soubor, obsahující Váš ownCloud účet." - -#: templates/settings.php:13 -msgid "Import user account" -msgstr "Import uživatelského účtu" - -#: templates/settings.php:15 -msgid "ownCloud User Zip" -msgstr "Zip soubor uživatele ownCloud" - -#: templates/settings.php:17 -msgid "Import" -msgstr "Import" diff --git a/l10n/cs_CZ/user_openid.po b/l10n/cs_CZ/user_openid.po deleted file mode 100644 index f2fe13f33452c884e753627bc29fbd8334de1bbc..0000000000000000000000000000000000000000 --- a/l10n/cs_CZ/user_openid.po +++ /dev/null @@ -1,55 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Martin , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-16 02:04+0200\n" -"PO-Revision-Date: 2012-08-15 09:48+0000\n" -"Last-Translator: Martin \n" -"Language-Team: Czech (Czech Republic) (http://www.transifex.com/projects/p/owncloud/language/cs_CZ/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: cs_CZ\n" -"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2\n" - -#: templates/nomode.php:12 -msgid "This is an OpenID server endpoint. For more information, see " -msgstr "Toto je OpenID server endpoint. Více informací na" - -#: templates/nomode.php:14 -msgid "Identity: " -msgstr "Identita: " - -#: templates/nomode.php:15 -msgid "Realm: " -msgstr "Oblast: " - -#: templates/nomode.php:16 -msgid "User: " -msgstr "Uživatel: " - -#: templates/nomode.php:17 -msgid "Login" -msgstr "Login" - -#: templates/nomode.php:22 -msgid "Error: No user Selected" -msgstr "Chyba: Uživatel není zvolen" - -#: templates/settings.php:4 -msgid "you can authenticate to other sites with this address" -msgstr "s touto adresou se můžete autrorizovat na další strany" - -#: templates/settings.php:5 -msgid "Authorized OpenID provider" -msgstr "Autorizovaný OpenID poskytovatel" - -#: templates/settings.php:6 -msgid "Your address at Wordpress, Identi.ca, …" -msgstr "Vaše adresa na Wordpressu, Identi.ca, …" diff --git a/l10n/cs_CZ/files_odfviewer.po b/l10n/cs_CZ/user_webdavauth.po similarity index 65% rename from l10n/cs_CZ/files_odfviewer.po rename to l10n/cs_CZ/user_webdavauth.po index 68d606283518a27a94bf80236f7f9693eab50bfd..6f4e008376ec9dcba6df756a51df8d130b479131 100644 --- a/l10n/cs_CZ/files_odfviewer.po +++ b/l10n/cs_CZ/user_webdavauth.po @@ -3,20 +3,21 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# Tomáš Chvátal , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 02:18+0200\n" -"PO-Revision-Date: 2012-08-26 00:19+0000\n" -"Last-Translator: FULL NAME \n" +"POT-Creation-Date: 2012-11-11 00:01+0100\n" +"PO-Revision-Date: 2012-11-10 10:16+0000\n" +"Last-Translator: Tomáš Chvátal \n" "Language-Team: Czech (Czech Republic) (http://www.transifex.com/projects/p/owncloud/language/cs_CZ/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: cs_CZ\n" -"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2\n" +"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" -#: js/viewer.js:9 -msgid "Close" -msgstr "" +#: templates/settings.php:4 +msgid "WebDAV URL: http://" +msgstr "URL WebDAV: http://" diff --git a/l10n/da/admin_dependencies_chk.po b/l10n/da/admin_dependencies_chk.po deleted file mode 100644 index a0e629c133936e95bfe44dcde7bd0fb9587d1470..0000000000000000000000000000000000000000 --- a/l10n/da/admin_dependencies_chk.po +++ /dev/null @@ -1,73 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:33+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Danish (http://www.transifex.com/projects/p/owncloud/language/da/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: da\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: settings.php:33 -msgid "" -"The php-json module is needed by the many applications for inter " -"communications" -msgstr "" - -#: settings.php:39 -msgid "" -"The php-curl modude is needed to fetch the page title when adding a " -"bookmarks" -msgstr "" - -#: settings.php:45 -msgid "The php-gd module is needed to create thumbnails of your images" -msgstr "" - -#: settings.php:51 -msgid "The php-ldap module is needed connect to your ldap server" -msgstr "" - -#: settings.php:57 -msgid "The php-zip module is needed download multiple files at once" -msgstr "" - -#: settings.php:63 -msgid "" -"The php-mb_multibyte module is needed to manage correctly the encoding." -msgstr "" - -#: settings.php:69 -msgid "The php-ctype module is needed validate data." -msgstr "" - -#: settings.php:75 -msgid "The php-xml module is needed to share files with webdav." -msgstr "" - -#: settings.php:81 -msgid "" -"The allow_url_fopen directive of your php.ini should be set to 1 to retrieve" -" knowledge base from OCS servers" -msgstr "" - -#: settings.php:87 -msgid "The php-pdo module is needed to store owncloud data into a database." -msgstr "" - -#: templates/settings.php:2 -msgid "Dependencies status" -msgstr "" - -#: templates/settings.php:7 -msgid "Used by :" -msgstr "" diff --git a/l10n/da/admin_migrate.po b/l10n/da/admin_migrate.po deleted file mode 100644 index 33fa6f79201f9c8b06d1cf98c57d20da06d2706a..0000000000000000000000000000000000000000 --- a/l10n/da/admin_migrate.po +++ /dev/null @@ -1,33 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-21 02:03+0200\n" -"PO-Revision-Date: 2012-08-20 14:56+0000\n" -"Last-Translator: ressel \n" -"Language-Team: Danish (http://www.transifex.com/projects/p/owncloud/language/da/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: da\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: templates/settings.php:3 -msgid "Export this ownCloud instance" -msgstr "Eksporter ownCloud instans" - -#: templates/settings.php:4 -msgid "" -"This will create a compressed file that contains the data of this owncloud instance.\n" -" Please choose the export type:" -msgstr "" - -#: templates/settings.php:12 -msgid "Export" -msgstr "Eksporter" diff --git a/l10n/da/bookmarks.po b/l10n/da/bookmarks.po deleted file mode 100644 index 7d336705b21f1c60b95c212beaa7b95ccfe2bdbe..0000000000000000000000000000000000000000 --- a/l10n/da/bookmarks.po +++ /dev/null @@ -1,60 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-07-28 02:02+0200\n" -"PO-Revision-Date: 2012-07-27 22:17+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Danish (http://www.transifex.com/projects/p/owncloud/language/da/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: da\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: appinfo/app.php:14 -msgid "Bookmarks" -msgstr "" - -#: bookmarksHelper.php:99 -msgid "unnamed" -msgstr "" - -#: templates/bookmarklet.php:5 -msgid "" -"Drag this to your browser bookmarks and click it, when you want to bookmark " -"a webpage quickly:" -msgstr "" - -#: templates/bookmarklet.php:7 -msgid "Read later" -msgstr "" - -#: templates/list.php:13 -msgid "Address" -msgstr "" - -#: templates/list.php:14 -msgid "Title" -msgstr "" - -#: templates/list.php:15 -msgid "Tags" -msgstr "" - -#: templates/list.php:16 -msgid "Save bookmark" -msgstr "" - -#: templates/list.php:22 -msgid "You have no bookmarks" -msgstr "" - -#: templates/settings.php:11 -msgid "Bookmarklet
" -msgstr "" diff --git a/l10n/da/calendar.po b/l10n/da/calendar.po deleted file mode 100644 index 5933d87709dfc8e9579b99d25c2e8c3c4d8c5a9f..0000000000000000000000000000000000000000 --- a/l10n/da/calendar.po +++ /dev/null @@ -1,819 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# , 2011. -# Morten Juhl-Johansen Zölde-Fejér , 2011, 2012. -# Pascal d'Hermilly , 2011. -# , 2012. -# Thomas Tanghus <>, 2012. -# Thomas Tanghus , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-21 02:03+0200\n" -"PO-Revision-Date: 2012-08-20 14:34+0000\n" -"Last-Translator: ressel \n" -"Language-Team: Danish (http://www.transifex.com/projects/p/owncloud/language/da/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: da\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: ajax/cache/status.php:19 -msgid "Not all calendars are completely cached" -msgstr "Ikke alle kalendere er fuldstændig cached" - -#: ajax/cache/status.php:21 -msgid "Everything seems to be completely cached" -msgstr "" - -#: ajax/categories/rescan.php:29 -msgid "No calendars found." -msgstr "Der blev ikke fundet nogen kalendere." - -#: ajax/categories/rescan.php:37 -msgid "No events found." -msgstr "Der blev ikke fundet nogen begivenheder." - -#: ajax/event/edit.form.php:20 -msgid "Wrong calendar" -msgstr "Forkert kalender" - -#: ajax/import/dropimport.php:29 ajax/import/import.php:64 -msgid "" -"The file contained either no events or all events are already saved in your " -"calendar." -msgstr "Filen indeholdt enten ingen begivenheder eller alle begivenheder er allerede gemt i din kalender." - -#: ajax/import/dropimport.php:31 ajax/import/import.php:67 -msgid "events has been saved in the new calendar" -msgstr "begivenheder er gemt i den nye kalender" - -#: ajax/import/import.php:56 -msgid "Import failed" -msgstr "import mislykkedes" - -#: ajax/import/import.php:69 -msgid "events has been saved in your calendar" -msgstr "begivenheder er gemt i din kalender" - -#: ajax/settings/guesstimezone.php:25 -msgid "New Timezone:" -msgstr "Ny tidszone:" - -#: ajax/settings/settimezone.php:23 -msgid "Timezone changed" -msgstr "Tidszone ændret" - -#: ajax/settings/settimezone.php:25 -msgid "Invalid request" -msgstr "Ugyldig forespørgsel" - -#: appinfo/app.php:37 templates/calendar.php:15 -#: templates/part.eventform.php:33 templates/part.showevent.php:33 -msgid "Calendar" -msgstr "Kalender" - -#: js/calendar.js:832 -msgid "ddd" -msgstr "ddd" - -#: js/calendar.js:833 -msgid "ddd M/d" -msgstr "ddd M/d" - -#: js/calendar.js:834 -msgid "dddd M/d" -msgstr "dddd M/d" - -#: js/calendar.js:837 -msgid "MMMM yyyy" -msgstr "MMMM åååå" - -#: js/calendar.js:839 -msgid "MMM d[ yyyy]{ '—'[ MMM] d yyyy}" -msgstr "MMM d[ åååå]{ '—'[ MMM] d åååå}" - -#: js/calendar.js:841 -msgid "dddd, MMM d, yyyy" -msgstr "dddd, MMM d, åååå" - -#: lib/app.php:121 -msgid "Birthday" -msgstr "Fødselsdag" - -#: lib/app.php:122 -msgid "Business" -msgstr "Forretning" - -#: lib/app.php:123 -msgid "Call" -msgstr "Ring" - -#: lib/app.php:124 -msgid "Clients" -msgstr "Kunder" - -#: lib/app.php:125 -msgid "Deliverer" -msgstr "Leverance" - -#: lib/app.php:126 -msgid "Holidays" -msgstr "Helligdage" - -#: lib/app.php:127 -msgid "Ideas" -msgstr "Ideér" - -#: lib/app.php:128 -msgid "Journey" -msgstr "Rejse" - -#: lib/app.php:129 -msgid "Jubilee" -msgstr "Jubilæum" - -#: lib/app.php:130 -msgid "Meeting" -msgstr "Møde" - -#: lib/app.php:131 -msgid "Other" -msgstr "Andet" - -#: lib/app.php:132 -msgid "Personal" -msgstr "Privat" - -#: lib/app.php:133 -msgid "Projects" -msgstr "Projekter" - -#: lib/app.php:134 -msgid "Questions" -msgstr "Spørgsmål" - -#: lib/app.php:135 -msgid "Work" -msgstr "Arbejde" - -#: lib/app.php:351 lib/app.php:361 -msgid "by" -msgstr "af" - -#: lib/app.php:359 lib/app.php:399 -msgid "unnamed" -msgstr "unavngivet" - -#: lib/import.php:184 templates/calendar.php:12 -#: templates/part.choosecalendar.php:22 -msgid "New Calendar" -msgstr "Ny Kalender" - -#: lib/object.php:372 -msgid "Does not repeat" -msgstr "Gentages ikke" - -#: lib/object.php:373 -msgid "Daily" -msgstr "Daglig" - -#: lib/object.php:374 -msgid "Weekly" -msgstr "Ugentlig" - -#: lib/object.php:375 -msgid "Every Weekday" -msgstr "Alle hverdage" - -#: lib/object.php:376 -msgid "Bi-Weekly" -msgstr "Hver anden uge" - -#: lib/object.php:377 -msgid "Monthly" -msgstr "Månedlig" - -#: lib/object.php:378 -msgid "Yearly" -msgstr "Årlig" - -#: lib/object.php:388 -msgid "never" -msgstr "aldrig" - -#: lib/object.php:389 -msgid "by occurrences" -msgstr "efter forekomster" - -#: lib/object.php:390 -msgid "by date" -msgstr "efter dato" - -#: lib/object.php:400 -msgid "by monthday" -msgstr "efter dag i måneden" - -#: lib/object.php:401 -msgid "by weekday" -msgstr "efter ugedag" - -#: lib/object.php:411 templates/calendar.php:5 templates/settings.php:69 -msgid "Monday" -msgstr "Mandag" - -#: lib/object.php:412 templates/calendar.php:5 -msgid "Tuesday" -msgstr "Tirsdag" - -#: lib/object.php:413 templates/calendar.php:5 -msgid "Wednesday" -msgstr "Onsdag" - -#: lib/object.php:414 templates/calendar.php:5 -msgid "Thursday" -msgstr "Torsdag" - -#: lib/object.php:415 templates/calendar.php:5 -msgid "Friday" -msgstr "Fredag" - -#: lib/object.php:416 templates/calendar.php:5 -msgid "Saturday" -msgstr "Lørdag" - -#: lib/object.php:417 templates/calendar.php:5 templates/settings.php:70 -msgid "Sunday" -msgstr "øndag" - -#: lib/object.php:427 -msgid "events week of month" -msgstr "begivenhedens uge i måneden" - -#: lib/object.php:428 -msgid "first" -msgstr "første" - -#: lib/object.php:429 -msgid "second" -msgstr "anden" - -#: lib/object.php:430 -msgid "third" -msgstr "tredje" - -#: lib/object.php:431 -msgid "fourth" -msgstr "fjerde" - -#: lib/object.php:432 -msgid "fifth" -msgstr "femte" - -#: lib/object.php:433 -msgid "last" -msgstr "sidste" - -#: lib/object.php:467 templates/calendar.php:7 -msgid "January" -msgstr "Januar" - -#: lib/object.php:468 templates/calendar.php:7 -msgid "February" -msgstr "Februar" - -#: lib/object.php:469 templates/calendar.php:7 -msgid "March" -msgstr "Marts" - -#: lib/object.php:470 templates/calendar.php:7 -msgid "April" -msgstr "April" - -#: lib/object.php:471 templates/calendar.php:7 -msgid "May" -msgstr "Maj" - -#: lib/object.php:472 templates/calendar.php:7 -msgid "June" -msgstr "Juni" - -#: lib/object.php:473 templates/calendar.php:7 -msgid "July" -msgstr "Juli" - -#: lib/object.php:474 templates/calendar.php:7 -msgid "August" -msgstr "August" - -#: lib/object.php:475 templates/calendar.php:7 -msgid "September" -msgstr "September" - -#: lib/object.php:476 templates/calendar.php:7 -msgid "October" -msgstr "Oktober" - -#: lib/object.php:477 templates/calendar.php:7 -msgid "November" -msgstr "November" - -#: lib/object.php:478 templates/calendar.php:7 -msgid "December" -msgstr "December" - -#: lib/object.php:488 -msgid "by events date" -msgstr "efter begivenheders dato" - -#: lib/object.php:489 -msgid "by yearday(s)" -msgstr "efter dag(e) i året" - -#: lib/object.php:490 -msgid "by weeknumber(s)" -msgstr "efter ugenummer/-numre" - -#: lib/object.php:491 -msgid "by day and month" -msgstr "efter dag og måned" - -#: lib/search.php:35 lib/search.php:37 lib/search.php:40 -msgid "Date" -msgstr "Dato" - -#: lib/search.php:43 -msgid "Cal." -msgstr "Kal." - -#: templates/calendar.php:6 -msgid "Sun." -msgstr "Søn." - -#: templates/calendar.php:6 -msgid "Mon." -msgstr "Man." - -#: templates/calendar.php:6 -msgid "Tue." -msgstr "Tir." - -#: templates/calendar.php:6 -msgid "Wed." -msgstr "Ons." - -#: templates/calendar.php:6 -msgid "Thu." -msgstr "Tor." - -#: templates/calendar.php:6 -msgid "Fri." -msgstr "Fre." - -#: templates/calendar.php:6 -msgid "Sat." -msgstr "Lør." - -#: templates/calendar.php:8 -msgid "Jan." -msgstr "Jan." - -#: templates/calendar.php:8 -msgid "Feb." -msgstr "Feb." - -#: templates/calendar.php:8 -msgid "Mar." -msgstr "Mar." - -#: templates/calendar.php:8 -msgid "Apr." -msgstr "Apr." - -#: templates/calendar.php:8 -msgid "May." -msgstr "Maj" - -#: templates/calendar.php:8 -msgid "Jun." -msgstr "Jun." - -#: templates/calendar.php:8 -msgid "Jul." -msgstr "Jul." - -#: templates/calendar.php:8 -msgid "Aug." -msgstr "Aug." - -#: templates/calendar.php:8 -msgid "Sep." -msgstr "Sep." - -#: templates/calendar.php:8 -msgid "Oct." -msgstr "Okt." - -#: templates/calendar.php:8 -msgid "Nov." -msgstr "Nov." - -#: templates/calendar.php:8 -msgid "Dec." -msgstr "Dec." - -#: templates/calendar.php:11 -msgid "All day" -msgstr "Hele dagen" - -#: templates/calendar.php:13 -msgid "Missing fields" -msgstr "Manglende felter" - -#: templates/calendar.php:14 templates/part.eventform.php:19 -#: templates/part.showevent.php:11 -msgid "Title" -msgstr "Titel" - -#: templates/calendar.php:16 -msgid "From Date" -msgstr "Fra dato" - -#: templates/calendar.php:17 -msgid "From Time" -msgstr "Fra tidspunkt" - -#: templates/calendar.php:18 -msgid "To Date" -msgstr "Til dato" - -#: templates/calendar.php:19 -msgid "To Time" -msgstr "Til tidspunkt" - -#: templates/calendar.php:20 -msgid "The event ends before it starts" -msgstr "Begivenheden slutter, inden den begynder" - -#: templates/calendar.php:21 -msgid "There was a database fail" -msgstr "Der var en fejl i databasen" - -#: templates/calendar.php:39 -msgid "Week" -msgstr "Uge" - -#: templates/calendar.php:40 -msgid "Month" -msgstr "Måned" - -#: templates/calendar.php:41 -msgid "List" -msgstr "Liste" - -#: templates/calendar.php:45 -msgid "Today" -msgstr "I dag" - -#: templates/calendar.php:46 templates/calendar.php:47 -msgid "Settings" -msgstr "Indstillinger" - -#: templates/part.choosecalendar.php:2 -msgid "Your calendars" -msgstr "Dine kalendere" - -#: templates/part.choosecalendar.php:27 -#: templates/part.choosecalendar.rowfields.php:11 -msgid "CalDav Link" -msgstr "CalDav-link" - -#: templates/part.choosecalendar.php:31 -msgid "Shared calendars" -msgstr "Delte kalendere" - -#: templates/part.choosecalendar.php:48 -msgid "No shared calendars" -msgstr "Ingen delte kalendere" - -#: templates/part.choosecalendar.rowfields.php:8 -msgid "Share Calendar" -msgstr "Del kalender" - -#: templates/part.choosecalendar.rowfields.php:14 -msgid "Download" -msgstr "Hent" - -#: templates/part.choosecalendar.rowfields.php:17 -msgid "Edit" -msgstr "Rediger" - -#: templates/part.choosecalendar.rowfields.php:20 -#: templates/part.editevent.php:9 -msgid "Delete" -msgstr "Slet" - -#: templates/part.choosecalendar.rowfields.shared.php:4 -msgid "shared with you by" -msgstr "delt af dig" - -#: templates/part.editcalendar.php:9 -msgid "New calendar" -msgstr "Ny kalender" - -#: templates/part.editcalendar.php:9 -msgid "Edit calendar" -msgstr "Rediger kalender" - -#: templates/part.editcalendar.php:12 -msgid "Displayname" -msgstr "Vist navn" - -#: templates/part.editcalendar.php:23 -msgid "Active" -msgstr "Aktiv" - -#: templates/part.editcalendar.php:29 -msgid "Calendar color" -msgstr "Kalenderfarve" - -#: templates/part.editcalendar.php:42 -msgid "Save" -msgstr "Gem" - -#: templates/part.editcalendar.php:42 templates/part.editevent.php:8 -#: templates/part.newevent.php:6 -msgid "Submit" -msgstr "Send" - -#: templates/part.editcalendar.php:43 -msgid "Cancel" -msgstr "Annuller" - -#: templates/part.editevent.php:1 -msgid "Edit an event" -msgstr "Redigér en begivenhed" - -#: templates/part.editevent.php:10 -msgid "Export" -msgstr "Eksporter" - -#: templates/part.eventform.php:8 templates/part.showevent.php:3 -msgid "Eventinfo" -msgstr "Begivenhedsinfo" - -#: templates/part.eventform.php:9 templates/part.showevent.php:4 -msgid "Repeating" -msgstr "Gentagende" - -#: templates/part.eventform.php:10 templates/part.showevent.php:5 -msgid "Alarm" -msgstr "Alarm" - -#: templates/part.eventform.php:11 templates/part.showevent.php:6 -msgid "Attendees" -msgstr "Deltagere" - -#: templates/part.eventform.php:13 -msgid "Share" -msgstr "Del" - -#: templates/part.eventform.php:21 -msgid "Title of the Event" -msgstr "Titel på begivenheden" - -#: templates/part.eventform.php:27 templates/part.showevent.php:19 -msgid "Category" -msgstr "Kategori" - -#: templates/part.eventform.php:29 -msgid "Separate categories with commas" -msgstr "Opdel kategorier med kommaer" - -#: templates/part.eventform.php:30 -msgid "Edit categories" -msgstr "Rediger kategorier" - -#: templates/part.eventform.php:56 templates/part.showevent.php:52 -msgid "All Day Event" -msgstr "Heldagsarrangement" - -#: templates/part.eventform.php:60 templates/part.showevent.php:56 -msgid "From" -msgstr "Fra" - -#: templates/part.eventform.php:68 templates/part.showevent.php:64 -msgid "To" -msgstr "Til" - -#: templates/part.eventform.php:76 templates/part.showevent.php:72 -msgid "Advanced options" -msgstr "Avancerede indstillinger" - -#: templates/part.eventform.php:81 templates/part.showevent.php:77 -msgid "Location" -msgstr "Sted" - -#: templates/part.eventform.php:83 -msgid "Location of the Event" -msgstr "Placering af begivenheden" - -#: templates/part.eventform.php:89 templates/part.showevent.php:85 -msgid "Description" -msgstr "Beskrivelse" - -#: templates/part.eventform.php:91 -msgid "Description of the Event" -msgstr "Beskrivelse af begivenheden" - -#: templates/part.eventform.php:100 templates/part.showevent.php:95 -msgid "Repeat" -msgstr "Gentag" - -#: templates/part.eventform.php:107 templates/part.showevent.php:102 -msgid "Advanced" -msgstr "Avanceret" - -#: templates/part.eventform.php:151 templates/part.showevent.php:146 -msgid "Select weekdays" -msgstr "Vælg ugedage" - -#: templates/part.eventform.php:164 templates/part.eventform.php:177 -#: templates/part.showevent.php:159 templates/part.showevent.php:172 -msgid "Select days" -msgstr "Vælg dage" - -#: templates/part.eventform.php:169 templates/part.showevent.php:164 -msgid "and the events day of year." -msgstr "og begivenhedens dag i året." - -#: templates/part.eventform.php:182 templates/part.showevent.php:177 -msgid "and the events day of month." -msgstr "og begivenhedens sag på måneden" - -#: templates/part.eventform.php:190 templates/part.showevent.php:185 -msgid "Select months" -msgstr "Vælg måneder" - -#: templates/part.eventform.php:203 templates/part.showevent.php:198 -msgid "Select weeks" -msgstr "Vælg uger" - -#: templates/part.eventform.php:208 templates/part.showevent.php:203 -msgid "and the events week of year." -msgstr "og begivenhedens uge i året." - -#: templates/part.eventform.php:214 templates/part.showevent.php:209 -msgid "Interval" -msgstr "Interval" - -#: templates/part.eventform.php:220 templates/part.showevent.php:215 -msgid "End" -msgstr "Afslutning" - -#: templates/part.eventform.php:233 templates/part.showevent.php:228 -msgid "occurrences" -msgstr "forekomster" - -#: templates/part.import.php:14 -msgid "create a new calendar" -msgstr "opret en ny kalender" - -#: templates/part.import.php:17 -msgid "Import a calendar file" -msgstr "Importer en kalenderfil" - -#: templates/part.import.php:24 -msgid "Please choose a calendar" -msgstr "Vælg en kalender" - -#: templates/part.import.php:36 -msgid "Name of new calendar" -msgstr "Navn på ny kalender" - -#: templates/part.import.php:44 -msgid "Take an available name!" -msgstr "" - -#: templates/part.import.php:45 -msgid "" -"A Calendar with this name already exists. If you continue anyhow, these " -"calendars will be merged." -msgstr "En kalender med dette navn findes allerede. Hvis du fortsætter alligevel, vil disse kalendere blive sammenlagt." - -#: templates/part.import.php:47 -msgid "Import" -msgstr "Importer" - -#: templates/part.import.php:56 -msgid "Close Dialog" -msgstr "Luk dialog" - -#: templates/part.newevent.php:1 -msgid "Create a new event" -msgstr "Opret en ny begivenhed" - -#: templates/part.showevent.php:1 -msgid "View an event" -msgstr "Vis en begivenhed" - -#: templates/part.showevent.php:23 -msgid "No categories selected" -msgstr "Ingen categorier valgt" - -#: templates/part.showevent.php:37 -msgid "of" -msgstr "fra" - -#: templates/part.showevent.php:59 templates/part.showevent.php:67 -msgid "at" -msgstr "kl." - -#: templates/settings.php:10 -msgid "General" -msgstr "Generel" - -#: templates/settings.php:15 -msgid "Timezone" -msgstr "Tidszone" - -#: templates/settings.php:47 -msgid "Update timezone automatically" -msgstr "Opdater tidszone automatisk" - -#: templates/settings.php:52 -msgid "Time format" -msgstr "" - -#: templates/settings.php:57 -msgid "24h" -msgstr "24T" - -#: templates/settings.php:58 -msgid "12h" -msgstr "12T" - -#: templates/settings.php:64 -msgid "Start week on" -msgstr "" - -#: templates/settings.php:76 -msgid "Cache" -msgstr "" - -#: templates/settings.php:80 -msgid "Clear cache for repeating events" -msgstr "" - -#: templates/settings.php:85 -msgid "URLs" -msgstr "" - -#: templates/settings.php:87 -msgid "Calendar CalDAV syncing addresses" -msgstr "" - -#: templates/settings.php:87 -msgid "more info" -msgstr "flere oplysninger" - -#: templates/settings.php:89 -msgid "Primary address (Kontact et al)" -msgstr "" - -#: templates/settings.php:91 -msgid "iOS/OS X" -msgstr "iOS/OS X" - -#: templates/settings.php:93 -msgid "Read only iCalendar link(s)" -msgstr "" - -#: templates/share.dropdown.php:20 -msgid "Users" -msgstr "Brugere" - -#: templates/share.dropdown.php:21 -msgid "select users" -msgstr "Vælg brugere" - -#: templates/share.dropdown.php:36 templates/share.dropdown.php:62 -msgid "Editable" -msgstr "Redigerbar" - -#: templates/share.dropdown.php:48 -msgid "Groups" -msgstr "Grupper" - -#: templates/share.dropdown.php:49 -msgid "select groups" -msgstr "Vælg grupper" - -#: templates/share.dropdown.php:75 -msgid "make public" -msgstr "Offentliggør" diff --git a/l10n/da/contacts.po b/l10n/da/contacts.po deleted file mode 100644 index 8a658ef13655ba0dfd0338c2d6dd8a96b6ea60d8..0000000000000000000000000000000000000000 --- a/l10n/da/contacts.po +++ /dev/null @@ -1,957 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# , 2011. -# Morten Juhl-Johansen Zölde-Fejér , 2011, 2012. -# Pascal d'Hermilly , 2011. -# Thomas Tanghus <>, 2012. -# Thomas Tanghus , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-24 02:02+0200\n" -"PO-Revision-Date: 2012-08-24 00:02+0000\n" -"Last-Translator: I Robot \n" -"Language-Team: Danish (http://www.transifex.com/projects/p/owncloud/language/da/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: da\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: ajax/addressbook/activate.php:24 ajax/addressbook/update.php:32 -msgid "Error (de)activating addressbook." -msgstr "Fejl ved (de)aktivering af adressebogen" - -#: ajax/addressbook/delete.php:31 ajax/addressbook/update.php:20 -#: ajax/contact/addproperty.php:42 ajax/contact/delete.php:32 -#: ajax/contact/saveproperty.php:39 -msgid "id is not set." -msgstr "Intet ID medsendt." - -#: ajax/addressbook/update.php:24 -msgid "Cannot update addressbook with an empty name." -msgstr "Kan ikke opdatére adressebogen med et tomt navn." - -#: ajax/addressbook/update.php:28 -msgid "Error updating addressbook." -msgstr "Fejl ved opdatering af adressebog" - -#: ajax/categories/categoriesfor.php:17 -msgid "No ID provided" -msgstr "Intet ID medsendt" - -#: ajax/categories/categoriesfor.php:34 -msgid "Error setting checksum." -msgstr "Kunne ikke sætte checksum." - -#: ajax/categories/delete.php:19 -msgid "No categories selected for deletion." -msgstr "Der ikke valgt nogle grupper at slette." - -#: ajax/categories/delete.php:26 -msgid "No address books found." -msgstr "Der blev ikke fundet nogen adressebøger." - -#: ajax/categories/delete.php:34 -msgid "No contacts found." -msgstr "Der blev ikke fundet nogen kontaktpersoner." - -#: ajax/contact/add.php:47 -msgid "There was an error adding the contact." -msgstr "Der opstod en fejl ved tilføjelse af kontaktpersonen." - -#: ajax/contact/addproperty.php:39 ajax/contact/saveproperty.php:36 -msgid "element name is not set." -msgstr "Elementnavnet er ikke medsendt." - -#: ajax/contact/addproperty.php:46 -msgid "Could not parse contact: " -msgstr "" - -#: ajax/contact/addproperty.php:56 -msgid "Cannot add empty property." -msgstr "Kan ikke tilføje en egenskab uden indhold." - -#: ajax/contact/addproperty.php:67 -msgid "At least one of the address fields has to be filled out." -msgstr "Der skal udfyldes mindst et adressefelt." - -#: ajax/contact/addproperty.php:76 -msgid "Trying to add duplicate property: " -msgstr "Kan ikke tilføje overlappende element." - -#: ajax/contact/addproperty.php:115 ajax/contact/saveproperty.php:93 -msgid "Missing IM parameter." -msgstr "" - -#: ajax/contact/addproperty.php:119 ajax/contact/saveproperty.php:97 -msgid "Unknown IM: " -msgstr "" - -#: ajax/contact/deleteproperty.php:37 -msgid "Information about vCard is incorrect. Please reload the page." -msgstr "Informationen om vCard er forkert. Genindlæs siden." - -#: ajax/contact/details.php:31 -msgid "Missing ID" -msgstr "Manglende ID" - -#: ajax/contact/details.php:36 -msgid "Error parsing VCard for ID: \"" -msgstr "Kunne ikke indlæse VCard med ID'et: \"" - -#: ajax/contact/saveproperty.php:42 -msgid "checksum is not set." -msgstr "Checksum er ikke medsendt." - -#: ajax/contact/saveproperty.php:62 -msgid "Information about vCard is incorrect. Please reload the page: " -msgstr "Informationen om dette VCard stemmer ikke. Genindlæs venligst siden: " - -#: ajax/contact/saveproperty.php:69 -msgid "Something went FUBAR. " -msgstr "Noget gik grueligt galt. " - -#: ajax/currentphoto.php:30 ajax/oc_photo.php:28 ajax/uploadphoto.php:36 -#: ajax/uploadphoto.php:68 -msgid "No contact ID was submitted." -msgstr "Ingen ID for kontakperson medsendt." - -#: ajax/currentphoto.php:36 -msgid "Error reading contact photo." -msgstr "Kunne ikke indlæse foto for kontakperson." - -#: ajax/currentphoto.php:48 -msgid "Error saving temporary file." -msgstr "Kunne ikke gemme midlertidig fil." - -#: ajax/currentphoto.php:51 -msgid "The loading photo is not valid." -msgstr "Billedet under indlæsning er ikke gyldigt." - -#: ajax/editname.php:31 -msgid "Contact ID is missing." -msgstr "Kontaktperson ID mangler." - -#: ajax/oc_photo.php:32 -msgid "No photo path was submitted." -msgstr "Der blev ikke medsendt en sti til fotoet." - -#: ajax/oc_photo.php:39 -msgid "File doesn't exist:" -msgstr "Filen eksisterer ikke:" - -#: ajax/oc_photo.php:44 ajax/oc_photo.php:47 -msgid "Error loading image." -msgstr "Kunne ikke indlæse billede." - -#: ajax/savecrop.php:69 -msgid "Error getting contact object." -msgstr "Fejl ved indlæsning af kontaktpersonobjektet." - -#: ajax/savecrop.php:79 -msgid "Error getting PHOTO property." -msgstr "Fejl ved indlæsning af PHOTO feltet." - -#: ajax/savecrop.php:98 -msgid "Error saving contact." -msgstr "Kunne ikke gemme kontaktpersonen." - -#: ajax/savecrop.php:109 -msgid "Error resizing image" -msgstr "Kunne ikke ændre billedets størrelse" - -#: ajax/savecrop.php:112 -msgid "Error cropping image" -msgstr "Kunne ikke beskære billedet" - -#: ajax/savecrop.php:115 -msgid "Error creating temporary image" -msgstr "Kunne ikke oprette midlertidigt billede" - -#: ajax/savecrop.php:118 -msgid "Error finding image: " -msgstr "Kunne ikke finde billedet: " - -#: ajax/uploadimport.php:44 ajax/uploadimport.php:76 -msgid "Error uploading contacts to storage." -msgstr "Kunne ikke uploade kontaktepersoner til midlertidig opbevaring." - -#: ajax/uploadimport.php:61 ajax/uploadphoto.php:77 -msgid "There is no error, the file uploaded with success" -msgstr "Der skete ingen fejl, filen blev succesfuldt uploadet" - -#: ajax/uploadimport.php:62 ajax/uploadphoto.php:78 -msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" -msgstr "Den uploadede fil er større end upload_max_filesize indstillingen i php.ini" - -#: ajax/uploadimport.php:63 ajax/uploadphoto.php:79 -msgid "" -"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " -"the HTML form" -msgstr "Den uploadede fil overstiger MAX_FILE_SIZE indstilingen, som specificeret i HTML formularen" - -#: ajax/uploadimport.php:64 ajax/uploadphoto.php:80 -msgid "The uploaded file was only partially uploaded" -msgstr "Filen blev kun delvist uploadet." - -#: ajax/uploadimport.php:65 ajax/uploadphoto.php:81 -msgid "No file was uploaded" -msgstr "Ingen fil uploadet" - -#: ajax/uploadimport.php:66 ajax/uploadphoto.php:82 -msgid "Missing a temporary folder" -msgstr "Manglende midlertidig mappe." - -#: ajax/uploadphoto.php:59 ajax/uploadphoto.php:109 -msgid "Couldn't save temporary image: " -msgstr "Kunne ikke gemme midlertidigt billede: " - -#: ajax/uploadphoto.php:62 ajax/uploadphoto.php:112 -msgid "Couldn't load temporary image: " -msgstr "Kunne ikke indlæse midlertidigt billede" - -#: ajax/uploadphoto.php:71 -msgid "No file was uploaded. Unknown error" -msgstr "Ingen fil blev uploadet. Ukendt fejl." - -#: appinfo/app.php:21 -msgid "Contacts" -msgstr "Kontaktpersoner" - -#: js/contacts.js:71 -msgid "Sorry, this functionality has not been implemented yet" -msgstr "Denne funktion er desværre ikke implementeret endnu" - -#: js/contacts.js:71 -msgid "Not implemented" -msgstr "Ikke implementeret" - -#: js/contacts.js:76 -msgid "Couldn't get a valid address." -msgstr "Kunne ikke finde en gyldig adresse." - -#: js/contacts.js:76 js/contacts.js:365 js/contacts.js:381 js/contacts.js:393 -#: js/contacts.js:723 js/contacts.js:763 js/contacts.js:789 js/contacts.js:921 -#: js/contacts.js:927 js/contacts.js:939 js/contacts.js:976 -#: js/contacts.js:1250 js/contacts.js:1258 js/contacts.js:1267 -#: js/contacts.js:1302 js/contacts.js:1338 js/contacts.js:1353 -#: js/contacts.js:1379 js/contacts.js:1609 js/contacts.js:1644 -#: js/contacts.js:1664 js/settings.js:26 js/settings.js:43 js/settings.js:68 -msgid "Error" -msgstr "Fejl" - -#: js/contacts.js:424 -msgid "You do not have permission to add contacts to " -msgstr "" - -#: js/contacts.js:425 -msgid "Please select one of your own address books." -msgstr "" - -#: js/contacts.js:425 -msgid "Permission error" -msgstr "" - -#: js/contacts.js:763 -msgid "This property has to be non-empty." -msgstr "Dette felt må ikke være tomt." - -#: js/contacts.js:789 -msgid "Couldn't serialize elements." -msgstr "Kunne ikke serialisere elementerne." - -#: js/contacts.js:921 js/contacts.js:939 -msgid "" -"'deleteProperty' called without type argument. Please report at " -"bugs.owncloud.org" -msgstr "'deleteProperty' kaldet uden typeargument. Indrapporter fejl på bugs.owncloud.org" - -#: js/contacts.js:958 -msgid "Edit name" -msgstr "Rediger navn" - -#: js/contacts.js:1250 -msgid "No files selected for upload." -msgstr "Der er ikke valgt nogen filer at uploade." - -#: js/contacts.js:1258 -msgid "" -"The file you are trying to upload exceed the maximum size for file uploads " -"on this server." -msgstr "Dr." - -#: js/contacts.js:1322 -msgid "Error loading profile picture." -msgstr "" - -#: js/contacts.js:1457 js/contacts.js:1498 js/contacts.js:1517 -#: js/contacts.js:1560 -msgid "Select type" -msgstr "Vælg type" - -#: js/contacts.js:1578 -msgid "" -"Some contacts are marked for deletion, but not deleted yet. Please wait for " -"them to be deleted." -msgstr "" - -#: js/contacts.js:1649 -msgid "Do you want to merge these address books?" -msgstr "" - -#: js/loader.js:49 -msgid "Result: " -msgstr "Resultat:" - -#: js/loader.js:49 -msgid " imported, " -msgstr " importeret " - -#: js/loader.js:49 -msgid " failed." -msgstr " fejl." - -#: js/settings.js:68 -msgid "Displayname cannot be empty." -msgstr "" - -#: lib/app.php:36 -msgid "Addressbook not found: " -msgstr "" - -#: lib/app.php:52 -msgid "This is not your addressbook." -msgstr "Dette er ikke din adressebog." - -#: lib/app.php:71 -msgid "Contact could not be found." -msgstr "Kontaktperson kunne ikke findes." - -#: lib/app.php:116 -msgid "Jabber" -msgstr "" - -#: lib/app.php:121 -msgid "AIM" -msgstr "" - -#: lib/app.php:126 -msgid "MSN" -msgstr "" - -#: lib/app.php:131 -msgid "Twitter" -msgstr "" - -#: lib/app.php:136 -msgid "GoogleTalk" -msgstr "" - -#: lib/app.php:141 -msgid "Facebook" -msgstr "" - -#: lib/app.php:146 -msgid "XMPP" -msgstr "" - -#: lib/app.php:151 -msgid "ICQ" -msgstr "" - -#: lib/app.php:156 -msgid "Yahoo" -msgstr "" - -#: lib/app.php:161 -msgid "Skype" -msgstr "" - -#: lib/app.php:166 -msgid "QQ" -msgstr "" - -#: lib/app.php:171 -msgid "GaduGadu" -msgstr "" - -#: lib/app.php:194 lib/app.php:202 lib/app.php:213 lib/app.php:266 -msgid "Work" -msgstr "Arbejde" - -#: lib/app.php:195 lib/app.php:200 lib/app.php:214 -msgid "Home" -msgstr "Hjemme" - -#: lib/app.php:196 lib/app.php:209 lib/app.php:262 lib/vcard.php:593 -msgid "Other" -msgstr "" - -#: lib/app.php:201 -msgid "Mobile" -msgstr "Mobil" - -#: lib/app.php:203 -msgid "Text" -msgstr "SMS" - -#: lib/app.php:204 -msgid "Voice" -msgstr "Telefonsvarer" - -#: lib/app.php:205 -msgid "Message" -msgstr "Besked" - -#: lib/app.php:206 -msgid "Fax" -msgstr "Fax" - -#: lib/app.php:207 -msgid "Video" -msgstr "Video" - -#: lib/app.php:208 -msgid "Pager" -msgstr "Personsøger" - -#: lib/app.php:215 -msgid "Internet" -msgstr "Internet" - -#: lib/app.php:252 templates/part.contact.php:45 -#: templates/part.contact.php:128 -msgid "Birthday" -msgstr "Fødselsdag" - -#: lib/app.php:253 -msgid "Business" -msgstr "" - -#: lib/app.php:254 -msgid "Call" -msgstr "" - -#: lib/app.php:255 -msgid "Clients" -msgstr "" - -#: lib/app.php:256 -msgid "Deliverer" -msgstr "" - -#: lib/app.php:257 -msgid "Holidays" -msgstr "" - -#: lib/app.php:258 -msgid "Ideas" -msgstr "" - -#: lib/app.php:259 -msgid "Journey" -msgstr "" - -#: lib/app.php:260 -msgid "Jubilee" -msgstr "" - -#: lib/app.php:261 -msgid "Meeting" -msgstr "" - -#: lib/app.php:263 -msgid "Personal" -msgstr "" - -#: lib/app.php:264 -msgid "Projects" -msgstr "" - -#: lib/app.php:265 -msgid "Questions" -msgstr "" - -#: lib/hooks.php:102 -msgid "{name}'s Birthday" -msgstr "{name}s fødselsdag" - -#: lib/search.php:15 -msgid "Contact" -msgstr "Kontaktperson" - -#: lib/vcard.php:408 -msgid "You do not have the permissions to edit this contact." -msgstr "" - -#: lib/vcard.php:483 -msgid "You do not have the permissions to delete this contact." -msgstr "" - -#: templates/index.php:14 -msgid "Add Contact" -msgstr "Tilføj kontaktperson" - -#: templates/index.php:15 templates/index.php:16 templates/part.import.php:17 -msgid "Import" -msgstr "Importer" - -#: templates/index.php:18 -msgid "Settings" -msgstr "" - -#: templates/index.php:18 templates/settings.php:9 -msgid "Addressbooks" -msgstr "Adressebøger" - -#: templates/index.php:36 templates/part.import.php:24 -msgid "Close" -msgstr "Luk" - -#: templates/index.php:37 -msgid "Keyboard shortcuts" -msgstr "" - -#: templates/index.php:39 -msgid "Navigation" -msgstr "" - -#: templates/index.php:42 -msgid "Next contact in list" -msgstr "" - -#: templates/index.php:44 -msgid "Previous contact in list" -msgstr "" - -#: templates/index.php:46 -msgid "Expand/collapse current addressbook" -msgstr "" - -#: templates/index.php:48 -msgid "Next addressbook" -msgstr "" - -#: templates/index.php:50 -msgid "Previous addressbook" -msgstr "" - -#: templates/index.php:54 -msgid "Actions" -msgstr "" - -#: templates/index.php:57 -msgid "Refresh contacts list" -msgstr "" - -#: templates/index.php:59 -msgid "Add new contact" -msgstr "" - -#: templates/index.php:61 -msgid "Add new addressbook" -msgstr "" - -#: templates/index.php:63 -msgid "Delete current contact" -msgstr "" - -#: templates/part.contact.php:17 -msgid "Drop photo to upload" -msgstr "Drop foto for at uploade" - -#: templates/part.contact.php:19 -msgid "Delete current photo" -msgstr "Slet nuværende foto" - -#: templates/part.contact.php:20 -msgid "Edit current photo" -msgstr "Rediger nuværende foto" - -#: templates/part.contact.php:21 -msgid "Upload new photo" -msgstr "Upload nyt foto" - -#: templates/part.contact.php:22 -msgid "Select photo from ownCloud" -msgstr "Vælg foto fra ownCloud" - -#: templates/part.contact.php:35 -msgid "Format custom, Short name, Full name, Reverse or Reverse with comma" -msgstr "Formatter som valgfrit, fuldt navn, efternavn først eller efternavn først med komma" - -#: templates/part.contact.php:36 -msgid "Edit name details" -msgstr "Rediger navnedetaljer." - -#: templates/part.contact.php:39 templates/part.contact.php:40 -#: templates/part.contact.php:126 -msgid "Organization" -msgstr "Organisation" - -#: templates/part.contact.php:40 templates/part.contact.php:42 -#: templates/part.contact.php:44 templates/part.contact.php:46 -#: templates/part.contact.php:50 templates/settings.php:36 -msgid "Delete" -msgstr "Slet" - -#: templates/part.contact.php:41 templates/part.contact.php:127 -msgid "Nickname" -msgstr "Kaldenavn" - -#: templates/part.contact.php:42 -msgid "Enter nickname" -msgstr "Indtast kaldenavn" - -#: templates/part.contact.php:43 templates/part.contact.php:134 -msgid "Web site" -msgstr "" - -#: templates/part.contact.php:44 -msgid "http://www.somesite.com" -msgstr "" - -#: templates/part.contact.php:44 -msgid "Go to web site" -msgstr "" - -#: templates/part.contact.php:46 -msgid "dd-mm-yyyy" -msgstr "dd-mm-åååå" - -#: templates/part.contact.php:47 templates/part.contact.php:135 -msgid "Groups" -msgstr "Grupper" - -#: templates/part.contact.php:49 -msgid "Separate groups with commas" -msgstr "Opdel gruppenavne med kommaer" - -#: templates/part.contact.php:50 -msgid "Edit groups" -msgstr "Rediger grupper" - -#: templates/part.contact.php:59 templates/part.contact.php:73 -#: templates/part.contact.php:98 -msgid "Preferred" -msgstr "Foretrukken" - -#: templates/part.contact.php:60 -msgid "Please specify a valid email address." -msgstr "Indtast venligst en gyldig email-adresse." - -#: templates/part.contact.php:60 -msgid "Enter email address" -msgstr "Indtast email-adresse" - -#: templates/part.contact.php:64 -msgid "Mail to address" -msgstr "Send mail til adresse" - -#: templates/part.contact.php:65 -msgid "Delete email address" -msgstr "Slet email-adresse" - -#: templates/part.contact.php:75 -msgid "Enter phone number" -msgstr "Indtast telefonnummer" - -#: templates/part.contact.php:79 -msgid "Delete phone number" -msgstr "Slet telefonnummer" - -#: templates/part.contact.php:100 -msgid "Instant Messenger" -msgstr "" - -#: templates/part.contact.php:101 -msgid "Delete IM" -msgstr "" - -#: templates/part.contact.php:110 -msgid "View on map" -msgstr "Vis på kort" - -#: templates/part.contact.php:110 -msgid "Edit address details" -msgstr "Rediger adresse detaljer" - -#: templates/part.contact.php:116 -msgid "Add notes here." -msgstr "Tilføj noter her." - -#: templates/part.contact.php:124 -msgid "Add field" -msgstr "Tilføj element" - -#: templates/part.contact.php:129 -msgid "Phone" -msgstr "Telefon" - -#: templates/part.contact.php:130 -msgid "Email" -msgstr "Email" - -#: templates/part.contact.php:131 -msgid "Instant Messaging" -msgstr "" - -#: templates/part.contact.php:132 -msgid "Address" -msgstr "Adresse" - -#: templates/part.contact.php:133 -msgid "Note" -msgstr "Note" - -#: templates/part.contact.php:138 -msgid "Download contact" -msgstr "Download kontaktperson" - -#: templates/part.contact.php:139 -msgid "Delete contact" -msgstr "Slet kontaktperson" - -#: templates/part.cropphoto.php:65 -msgid "The temporary image has been removed from cache." -msgstr "Det midlertidige billede er ikke længere tilgængeligt." - -#: templates/part.edit_address_dialog.php:6 -msgid "Edit address" -msgstr "Rediger adresse" - -#: templates/part.edit_address_dialog.php:10 -msgid "Type" -msgstr "Type" - -#: templates/part.edit_address_dialog.php:18 -#: templates/part.edit_address_dialog.php:21 -msgid "PO Box" -msgstr "Postboks" - -#: templates/part.edit_address_dialog.php:24 -msgid "Street address" -msgstr "" - -#: templates/part.edit_address_dialog.php:27 -msgid "Street and number" -msgstr "" - -#: templates/part.edit_address_dialog.php:30 -msgid "Extended" -msgstr "Udvidet" - -#: templates/part.edit_address_dialog.php:33 -msgid "Apartment number etc." -msgstr "" - -#: templates/part.edit_address_dialog.php:36 -#: templates/part.edit_address_dialog.php:39 -msgid "City" -msgstr "By" - -#: templates/part.edit_address_dialog.php:42 -msgid "Region" -msgstr "Region" - -#: templates/part.edit_address_dialog.php:45 -msgid "E.g. state or province" -msgstr "" - -#: templates/part.edit_address_dialog.php:48 -msgid "Zipcode" -msgstr "Postnummer" - -#: templates/part.edit_address_dialog.php:51 -msgid "Postal code" -msgstr "" - -#: templates/part.edit_address_dialog.php:54 -#: templates/part.edit_address_dialog.php:57 -msgid "Country" -msgstr "Land" - -#: templates/part.edit_name_dialog.php:16 -msgid "Addressbook" -msgstr "Adressebog" - -#: templates/part.edit_name_dialog.php:23 -msgid "Hon. prefixes" -msgstr "Foranstillede titler" - -#: templates/part.edit_name_dialog.php:27 -msgid "Miss" -msgstr "Frøken" - -#: templates/part.edit_name_dialog.php:28 -msgid "Ms" -msgstr "Fru" - -#: templates/part.edit_name_dialog.php:29 -msgid "Mr" -msgstr "Hr." - -#: templates/part.edit_name_dialog.php:30 -msgid "Sir" -msgstr "Sir" - -#: templates/part.edit_name_dialog.php:31 -msgid "Mrs" -msgstr "Fru" - -#: templates/part.edit_name_dialog.php:32 -msgid "Dr" -msgstr "Dr." - -#: templates/part.edit_name_dialog.php:35 -msgid "Given name" -msgstr "Fornavn" - -#: templates/part.edit_name_dialog.php:37 -msgid "Additional names" -msgstr "Mellemnavne" - -#: templates/part.edit_name_dialog.php:39 -msgid "Family name" -msgstr "Efternavn" - -#: templates/part.edit_name_dialog.php:41 -msgid "Hon. suffixes" -msgstr "Efterstillede titler" - -#: templates/part.edit_name_dialog.php:45 -msgid "J.D." -msgstr "Cand. Jur." - -#: templates/part.edit_name_dialog.php:46 -msgid "M.D." -msgstr "M.D." - -#: templates/part.edit_name_dialog.php:47 -msgid "D.O." -msgstr "D.O." - -#: templates/part.edit_name_dialog.php:48 -msgid "D.C." -msgstr "D.C." - -#: templates/part.edit_name_dialog.php:49 -msgid "Ph.D." -msgstr "Ph.D." - -#: templates/part.edit_name_dialog.php:50 -msgid "Esq." -msgstr "Esq." - -#: templates/part.edit_name_dialog.php:51 -msgid "Jr." -msgstr "Jr." - -#: templates/part.edit_name_dialog.php:52 -msgid "Sn." -msgstr "Sn." - -#: templates/part.import.php:1 -msgid "Import a contacts file" -msgstr "Importer fil med kontaktpersoner" - -#: templates/part.import.php:6 -msgid "Please choose the addressbook" -msgstr "Vælg venligst adressebog" - -#: templates/part.import.php:10 -msgid "create a new addressbook" -msgstr "Opret ny adressebog" - -#: templates/part.import.php:15 -msgid "Name of new addressbook" -msgstr "Navn på ny adressebog" - -#: templates/part.import.php:20 -msgid "Importing contacts" -msgstr "Importerer kontaktpersoner" - -#: templates/part.no_contacts.php:3 -msgid "You have no contacts in your addressbook." -msgstr "Du har ingen kontaktpersoner i din adressebog." - -#: templates/part.no_contacts.php:5 -msgid "Add contact" -msgstr "Tilføj kontaktpeson." - -#: templates/part.selectaddressbook.php:1 -msgid "Select Address Books" -msgstr "" - -#: templates/part.selectaddressbook.php:27 -msgid "Enter name" -msgstr "" - -#: templates/part.selectaddressbook.php:29 -msgid "Enter description" -msgstr "" - -#: templates/settings.php:3 -msgid "CardDAV syncing addresses" -msgstr "CardDAV synkroniserings adresse" - -#: templates/settings.php:3 -msgid "more info" -msgstr "mere info" - -#: templates/settings.php:5 -msgid "Primary address (Kontact et al)" -msgstr "Primær adresse (Kontak m. fl.)" - -#: templates/settings.php:7 -msgid "iOS/OS X" -msgstr "iOS/OS X" - -#: templates/settings.php:20 -msgid "Show CardDav link" -msgstr "" - -#: templates/settings.php:23 -msgid "Show read-only VCF link" -msgstr "" - -#: templates/settings.php:26 -msgid "Share" -msgstr "" - -#: templates/settings.php:29 -msgid "Download" -msgstr "Download" - -#: templates/settings.php:33 -msgid "Edit" -msgstr "Rediger" - -#: templates/settings.php:43 -msgid "New Address Book" -msgstr "Ny adressebog" - -#: templates/settings.php:44 -msgid "Name" -msgstr "" - -#: templates/settings.php:45 -msgid "Description" -msgstr "" - -#: templates/settings.php:46 -msgid "Save" -msgstr "Gem" - -#: templates/settings.php:47 -msgid "Cancel" -msgstr "Fortryd" - -#: templates/settings.php:52 -msgid "More..." -msgstr "" diff --git a/l10n/da/core.po b/l10n/da/core.po index 98ece178a5dfe29e9489f84a1755ef95a018b92d..bfb971646be68ccbaa4509f20255584ef6f81de1 100644 --- a/l10n/da/core.po +++ b/l10n/da/core.po @@ -14,9 +14,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-16 02:04+0200\n" -"PO-Revision-Date: 2012-10-16 00:05+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-11-16 00:02+0100\n" +"PO-Revision-Date: 2012-11-14 23:13+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Danish (http://www.transifex.com/projects/p/owncloud/language/da/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -24,209 +24,241 @@ msgstr "" "Language: da\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: ajax/vcategories/add.php:23 ajax/vcategories/delete.php:23 -msgid "Application name not provided." -msgstr "Applikationens navn ikke medsendt" +#: ajax/vcategories/add.php:26 ajax/vcategories/edit.php:25 +msgid "Category type not provided." +msgstr "" -#: ajax/vcategories/add.php:29 +#: ajax/vcategories/add.php:30 msgid "No category to add?" msgstr "Ingen kategori at tilføje?" -#: ajax/vcategories/add.php:36 +#: ajax/vcategories/add.php:37 msgid "This category already exists: " msgstr "Denne kategori eksisterer allerede: " -#: js/js.js:238 templates/layout.user.php:49 templates/layout.user.php:50 +#: ajax/vcategories/addToFavorites.php:26 ajax/vcategories/delete.php:27 +#: ajax/vcategories/favorites.php:24 +#: ajax/vcategories/removeFromFavorites.php:26 +msgid "Object type not provided." +msgstr "" + +#: ajax/vcategories/addToFavorites.php:30 +#: ajax/vcategories/removeFromFavorites.php:30 +#, php-format +msgid "%s ID not provided." +msgstr "" + +#: ajax/vcategories/addToFavorites.php:35 +#, php-format +msgid "Error adding %s to favorites." +msgstr "" + +#: ajax/vcategories/delete.php:35 js/oc-vcategories.js:136 +msgid "No categories selected for deletion." +msgstr "Ingen kategorier valgt" + +#: ajax/vcategories/removeFromFavorites.php:35 +#, php-format +msgid "Error removing %s from favorites." +msgstr "" + +#: js/js.js:243 templates/layout.user.php:59 templates/layout.user.php:60 msgid "Settings" msgstr "Indstillinger" -#: js/js.js:670 -msgid "January" -msgstr "Januar" +#: js/js.js:688 +msgid "seconds ago" +msgstr "sekunder siden" -#: js/js.js:670 -msgid "February" -msgstr "Februar" +#: js/js.js:689 +msgid "1 minute ago" +msgstr "1 minut siden" -#: js/js.js:670 -msgid "March" -msgstr "Marts" +#: js/js.js:690 +msgid "{minutes} minutes ago" +msgstr "{minutes} minutter siden" -#: js/js.js:670 -msgid "April" -msgstr "April" +#: js/js.js:691 +msgid "1 hour ago" +msgstr "" -#: js/js.js:670 -msgid "May" -msgstr "Maj" +#: js/js.js:692 +msgid "{hours} hours ago" +msgstr "" -#: js/js.js:670 -msgid "June" -msgstr "Juni" +#: js/js.js:693 +msgid "today" +msgstr "i dag" -#: js/js.js:671 -msgid "July" -msgstr "Juli" +#: js/js.js:694 +msgid "yesterday" +msgstr "i går" -#: js/js.js:671 -msgid "August" -msgstr "August" +#: js/js.js:695 +msgid "{days} days ago" +msgstr "{days} dage siden" -#: js/js.js:671 -msgid "September" -msgstr "September" +#: js/js.js:696 +msgid "last month" +msgstr "sidste måned" -#: js/js.js:671 -msgid "October" -msgstr "Oktober" +#: js/js.js:697 +msgid "{months} months ago" +msgstr "" -#: js/js.js:671 -msgid "November" -msgstr "November" +#: js/js.js:698 +msgid "months ago" +msgstr "måneder siden" -#: js/js.js:671 -msgid "December" -msgstr "December" +#: js/js.js:699 +msgid "last year" +msgstr "sidste år" -#: js/oc-dialogs.js:123 +#: js/js.js:700 +msgid "years ago" +msgstr "år siden" + +#: js/oc-dialogs.js:126 msgid "Choose" msgstr "Vælg" -#: js/oc-dialogs.js:143 js/oc-dialogs.js:163 +#: js/oc-dialogs.js:146 js/oc-dialogs.js:166 msgid "Cancel" msgstr "Fortryd" -#: js/oc-dialogs.js:159 +#: js/oc-dialogs.js:162 msgid "No" msgstr "Nej" -#: js/oc-dialogs.js:160 +#: js/oc-dialogs.js:163 msgid "Yes" msgstr "Ja" -#: js/oc-dialogs.js:177 +#: js/oc-dialogs.js:180 msgid "Ok" msgstr "OK" -#: js/oc-vcategories.js:68 -msgid "No categories selected for deletion." -msgstr "Ingen kategorier valgt" +#: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102 +#: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162 +msgid "The object type is not specified." +msgstr "" -#: js/oc-vcategories.js:68 js/share.js:114 js/share.js:121 js/share.js:497 -#: js/share.js:509 +#: js/oc-vcategories.js:95 js/oc-vcategories.js:125 js/oc-vcategories.js:136 +#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:525 +#: js/share.js:537 msgid "Error" msgstr "Fejl" -#: js/share.js:103 +#: js/oc-vcategories.js:179 +msgid "The app name is not specified." +msgstr "" + +#: js/oc-vcategories.js:194 +msgid "The required file {file} is not installed!" +msgstr "" + +#: js/share.js:124 msgid "Error while sharing" msgstr "Fejl under deling" -#: js/share.js:114 +#: js/share.js:135 msgid "Error while unsharing" msgstr "Fejl under annullering af deling" -#: js/share.js:121 +#: js/share.js:142 msgid "Error while changing permissions" msgstr "Fejl under justering af rettigheder" -#: js/share.js:130 -msgid "Shared with you and the group" -msgstr "Delt med dig og gruppen" - -#: js/share.js:130 -msgid "by" -msgstr "af" +#: js/share.js:151 +msgid "Shared with you and the group {group} by {owner}" +msgstr "Delt med dig og gruppen {group} af {owner}" -#: js/share.js:132 -msgid "Shared with you by" -msgstr "Delt med dig af" +#: js/share.js:153 +msgid "Shared with you by {owner}" +msgstr "Delt med dig af {owner}" -#: js/share.js:137 +#: js/share.js:158 msgid "Share with" msgstr "Del med" -#: js/share.js:142 +#: js/share.js:163 msgid "Share with link" msgstr "Del med link" -#: js/share.js:143 +#: js/share.js:164 msgid "Password protect" msgstr "Beskyt med adgangskode" -#: js/share.js:147 templates/installation.php:42 templates/login.php:24 +#: js/share.js:168 templates/installation.php:42 templates/login.php:24 #: templates/verify.php:13 msgid "Password" msgstr "Kodeord" -#: js/share.js:152 +#: js/share.js:173 msgid "Set expiration date" msgstr "Vælg udløbsdato" -#: js/share.js:153 +#: js/share.js:174 msgid "Expiration date" msgstr "Udløbsdato" -#: js/share.js:185 +#: js/share.js:206 msgid "Share via email:" msgstr "Del via email:" -#: js/share.js:187 +#: js/share.js:208 msgid "No people found" msgstr "Ingen personer fundet" -#: js/share.js:214 +#: js/share.js:235 msgid "Resharing is not allowed" msgstr "Videredeling ikke tilladt" -#: js/share.js:250 -msgid "Shared in" -msgstr "Delt i" - -#: js/share.js:250 -msgid "with" -msgstr "med" - #: js/share.js:271 +msgid "Shared in {item} with {user}" +msgstr "Delt i {item} med {user}" + +#: js/share.js:292 msgid "Unshare" msgstr "Fjern deling" -#: js/share.js:283 +#: js/share.js:304 msgid "can edit" msgstr "kan redigere" -#: js/share.js:285 +#: js/share.js:306 msgid "access control" msgstr "Adgangskontrol" -#: js/share.js:288 +#: js/share.js:309 msgid "create" msgstr "opret" -#: js/share.js:291 +#: js/share.js:312 msgid "update" msgstr "opdater" -#: js/share.js:294 +#: js/share.js:315 msgid "delete" msgstr "slet" -#: js/share.js:297 +#: js/share.js:318 msgid "share" msgstr "del" -#: js/share.js:322 js/share.js:484 +#: js/share.js:343 js/share.js:512 js/share.js:514 msgid "Password protected" msgstr "Beskyttet med adgangskode" -#: js/share.js:497 +#: js/share.js:525 msgid "Error unsetting expiration date" msgstr "Fejl ved fjernelse af udløbsdato" -#: js/share.js:509 +#: js/share.js:537 msgid "Error setting expiration date" msgstr "Fejl under sætning af udløbsdato" -#: lostpassword/index.php:26 +#: lostpassword/controller.php:47 msgid "ownCloud password reset" msgstr "Nulstil ownCloud kodeord" @@ -239,12 +271,12 @@ msgid "You will receive a link to reset your password via Email." msgstr "Du vil modtage et link til at nulstille dit kodeord via email." #: lostpassword/templates/lostpassword.php:5 -msgid "Requested" -msgstr "Forespugt" +msgid "Reset email send." +msgstr "" #: lostpassword/templates/lostpassword.php:8 -msgid "Login failed!" -msgstr "Login fejlede!" +msgid "Request failed!" +msgstr "" #: lostpassword/templates/lostpassword.php:11 templates/installation.php:38 #: templates/login.php:20 @@ -303,25 +335,25 @@ msgstr "Sky ikke fundet" msgid "Edit categories" msgstr "Rediger kategorier" -#: templates/edit_categories_dialog.php:14 +#: templates/edit_categories_dialog.php:16 msgid "Add" msgstr "Tilføj" #: templates/installation.php:23 templates/installation.php:31 msgid "Security Warning" -msgstr "" +msgstr "Sikkerhedsadvarsel" #: templates/installation.php:24 msgid "" "No secure random number generator is available, please enable the PHP " "OpenSSL extension." -msgstr "" +msgstr "Ingen sikker tilfældighedsgenerator til tal er tilgængelig. Aktiver venligst OpenSSL udvidelsen." #: templates/installation.php:26 msgid "" "Without a secure random number generator an attacker may be able to predict " "password reset tokens and take over your account." -msgstr "" +msgstr "Uden en sikker tilfældighedsgenerator til tal kan en angriber måske gætte dit gendan kodeord og overtage din konto" #: templates/installation.php:32 msgid "" @@ -330,7 +362,7 @@ msgid "" "strongly suggest that you configure your webserver in a way that the data " "directory is no longer accessible or you move the data directory outside the" " webserver document root." -msgstr "" +msgstr "Din data mappe og dine filer er muligvis tilgængelige fra internettet. .htaccess filen som ownCloud leverer virker ikke. Vi anbefaler på det kraftigste at du konfigurerer din webserver på en måske så data mappen ikke længere er tilgængelig eller at du flytter data mappen uden for webserverens dokument rod. " #: templates/installation.php:36 msgid "Create an admin account" @@ -377,27 +409,103 @@ msgstr "Databasehost" msgid "Finish setup" msgstr "Afslut opsætning" -#: templates/layout.guest.php:38 +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Sunday" +msgstr "Søndag" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Monday" +msgstr "Mandag" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Tuesday" +msgstr "Tirsdag" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Wednesday" +msgstr "Onsdag" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Thursday" +msgstr "Torsdag" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Friday" +msgstr "Fredag" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Saturday" +msgstr "Lørdag" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "January" +msgstr "Januar" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "February" +msgstr "Februar" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "March" +msgstr "Marts" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "April" +msgstr "April" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "May" +msgstr "Maj" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "June" +msgstr "Juni" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "July" +msgstr "Juli" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "August" +msgstr "August" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "September" +msgstr "September" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "October" +msgstr "Oktober" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "November" +msgstr "November" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "December" +msgstr "December" + +#: templates/layout.guest.php:41 msgid "web services under your control" msgstr "Webtjenester under din kontrol" -#: templates/layout.user.php:34 +#: templates/layout.user.php:44 msgid "Log out" msgstr "Log ud" #: templates/login.php:8 msgid "Automatic logon rejected!" -msgstr "" +msgstr "Automatisk login afvist!" #: templates/login.php:9 msgid "" "If you did not change your password recently, your account may be " "compromised!" -msgstr "" +msgstr "Hvis du ikke har ændret din adgangskode for nylig, har nogen muligvis tiltvunget sig adgang til din konto!" #: templates/login.php:10 msgid "Please change your password to secure your account again." -msgstr "" +msgstr "Skift adgangskode for at sikre din konto igen." #: templates/login.php:15 msgid "Lost your password?" @@ -425,14 +533,14 @@ msgstr "næste" #: templates/verify.php:5 msgid "Security Warning!" -msgstr "" +msgstr "Sikkerhedsadvarsel!" #: templates/verify.php:6 msgid "" "Please verify your password.
For security reasons you may be " "occasionally asked to enter your password again." -msgstr "" +msgstr "Verificer din adgangskode.
Af sikkerhedsårsager kan du lejlighedsvist blive bedt om at indtaste din adgangskode igen." #: templates/verify.php:16 msgid "Verify" -msgstr "" +msgstr "Verificer" diff --git a/l10n/da/files.po b/l10n/da/files.po index a5e95472c711c47606dc39a0b50251b0f05a2218..2b9b44a91699c496d00ca527497e30391915b8a7 100644 --- a/l10n/da/files.po +++ b/l10n/da/files.po @@ -14,9 +14,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-13 02:04+0200\n" -"PO-Revision-Date: 2012-10-12 17:48+0000\n" -"Last-Translator: Ole Holm Frandsen \n" +"POT-Creation-Date: 2012-12-01 00:01+0100\n" +"PO-Revision-Date: 2012-11-30 23:02+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Danish (http://www.transifex.com/projects/p/owncloud/language/da/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -29,195 +29,166 @@ msgid "There is no error, the file uploaded with success" msgstr "Der er ingen fejl, filen blev uploadet med success" #: ajax/upload.php:21 -msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" -msgstr "Den uploadede fil overskrider upload_max_filesize direktivet i php.ini" +msgid "" +"The uploaded file exceeds the upload_max_filesize directive in php.ini: " +msgstr "" -#: ajax/upload.php:22 +#: ajax/upload.php:23 msgid "" "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " "the HTML form" msgstr "Den uploadede fil overskrider MAX_FILE_SIZE -direktivet som er specificeret i HTML-formularen" -#: ajax/upload.php:23 +#: ajax/upload.php:25 msgid "The uploaded file was only partially uploaded" msgstr "Den uploadede file blev kun delvist uploadet" -#: ajax/upload.php:24 +#: ajax/upload.php:26 msgid "No file was uploaded" msgstr "Ingen fil blev uploadet" -#: ajax/upload.php:25 +#: ajax/upload.php:27 msgid "Missing a temporary folder" msgstr "Mangler en midlertidig mappe" -#: ajax/upload.php:26 +#: ajax/upload.php:28 msgid "Failed to write to disk" msgstr "Fejl ved skrivning til disk." -#: appinfo/app.php:6 +#: appinfo/app.php:10 msgid "Files" msgstr "Filer" -#: js/fileactions.js:108 templates/index.php:62 +#: js/fileactions.js:117 templates/index.php:83 templates/index.php:84 msgid "Unshare" msgstr "Fjern deling" -#: js/fileactions.js:110 templates/index.php:64 +#: js/fileactions.js:119 templates/index.php:89 templates/index.php:90 msgid "Delete" msgstr "Slet" -#: js/fileactions.js:182 +#: js/fileactions.js:181 msgid "Rename" msgstr "Omdøb" -#: js/filelist.js:192 js/filelist.js:194 -msgid "already exists" -msgstr "findes allerede" +#: js/filelist.js:201 js/filelist.js:203 +msgid "{new_name} already exists" +msgstr "{new_name} eksisterer allerede" -#: js/filelist.js:192 js/filelist.js:194 +#: js/filelist.js:201 js/filelist.js:203 msgid "replace" msgstr "erstat" -#: js/filelist.js:192 +#: js/filelist.js:201 msgid "suggest name" msgstr "foreslå navn" -#: js/filelist.js:192 js/filelist.js:194 +#: js/filelist.js:201 js/filelist.js:203 msgid "cancel" msgstr "fortryd" -#: js/filelist.js:241 js/filelist.js:243 -msgid "replaced" -msgstr "erstattet" +#: js/filelist.js:250 +msgid "replaced {new_name}" +msgstr "erstattede {new_name}" -#: js/filelist.js:241 js/filelist.js:243 js/filelist.js:275 js/filelist.js:277 +#: js/filelist.js:250 js/filelist.js:252 js/filelist.js:284 js/filelist.js:286 msgid "undo" msgstr "fortryd" -#: js/filelist.js:243 -msgid "with" -msgstr "med" +#: js/filelist.js:252 +msgid "replaced {new_name} with {old_name}" +msgstr "erstattede {new_name} med {old_name}" + +#: js/filelist.js:284 +msgid "unshared {files}" +msgstr "ikke delte {files}" -#: js/filelist.js:275 -msgid "unshared" -msgstr "udelt" +#: js/filelist.js:286 +msgid "deleted {files}" +msgstr "slettede {files}" -#: js/filelist.js:277 -msgid "deleted" -msgstr "Slettet" +#: js/files.js:33 +msgid "" +"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not " +"allowed." +msgstr "" -#: js/files.js:179 +#: js/files.js:183 msgid "generating ZIP-file, it may take some time." msgstr "genererer ZIP-fil, det kan tage lidt tid." -#: js/files.js:214 +#: js/files.js:218 msgid "Unable to upload your file as it is a directory or has 0 bytes" msgstr "Kunne ikke uploade din fil, da det enten er en mappe eller er tom" -#: js/files.js:214 +#: js/files.js:218 msgid "Upload Error" msgstr "Fejl ved upload" -#: js/files.js:242 js/files.js:347 js/files.js:377 +#: js/files.js:235 +msgid "Close" +msgstr "Luk" + +#: js/files.js:254 js/files.js:368 js/files.js:398 msgid "Pending" msgstr "Afventer" -#: js/files.js:262 +#: js/files.js:274 msgid "1 file uploading" msgstr "1 fil uploades" -#: js/files.js:265 js/files.js:310 js/files.js:325 -msgid "files uploading" -msgstr "filer uploades" +#: js/files.js:277 js/files.js:331 js/files.js:346 +msgid "{count} files uploading" +msgstr "{count} filer uploades" -#: js/files.js:328 js/files.js:361 +#: js/files.js:349 js/files.js:382 msgid "Upload cancelled." msgstr "Upload afbrudt." -#: js/files.js:430 +#: js/files.js:451 msgid "" "File upload is in progress. Leaving the page now will cancel the upload." msgstr "Fil upload kører. Hvis du forlader siden nu, vil uploadet blive annuleret." -#: js/files.js:500 -msgid "Invalid name, '/' is not allowed." -msgstr "Ugyldigt navn, '/' er ikke tilladt." +#: js/files.js:523 +msgid "Invalid folder name. Usage of \"Shared\" is reserved by Owncloud" +msgstr "" -#: js/files.js:681 -msgid "files scanned" -msgstr "filer scannet" +#: js/files.js:704 +msgid "{count} files scanned" +msgstr "{count} filer skannet" -#: js/files.js:689 +#: js/files.js:712 msgid "error while scanning" msgstr "fejl under scanning" -#: js/files.js:762 templates/index.php:48 +#: js/files.js:785 templates/index.php:65 msgid "Name" msgstr "Navn" -#: js/files.js:763 templates/index.php:56 +#: js/files.js:786 templates/index.php:76 msgid "Size" msgstr "Størrelse" -#: js/files.js:764 templates/index.php:58 +#: js/files.js:787 templates/index.php:78 msgid "Modified" msgstr "Ændret" -#: js/files.js:791 -msgid "folder" -msgstr "mappe" - -#: js/files.js:793 -msgid "folders" -msgstr "mapper" - -#: js/files.js:801 -msgid "file" -msgstr "fil" - -#: js/files.js:803 -msgid "files" -msgstr "filer" - -#: js/files.js:847 -msgid "seconds ago" -msgstr "sekunder siden" - -#: js/files.js:848 -msgid "minute ago" -msgstr "minut siden" +#: js/files.js:814 +msgid "1 folder" +msgstr "1 mappe" -#: js/files.js:849 -msgid "minutes ago" -msgstr "minutter" +#: js/files.js:816 +msgid "{count} folders" +msgstr "{count} mapper" -#: js/files.js:852 -msgid "today" -msgstr "i dag" +#: js/files.js:824 +msgid "1 file" +msgstr "1 fil" -#: js/files.js:853 -msgid "yesterday" -msgstr "i går" - -#: js/files.js:854 -msgid "days ago" -msgstr "dage siden" - -#: js/files.js:855 -msgid "last month" -msgstr "sidste måned" - -#: js/files.js:857 -msgid "months ago" -msgstr "måneder siden" - -#: js/files.js:858 -msgid "last year" -msgstr "sidste år" - -#: js/files.js:859 -msgid "years ago" -msgstr "år siden" +#: js/files.js:826 +msgid "{count} files" +msgstr "{count} filer" #: templates/admin.php:5 msgid "File handling" @@ -227,27 +198,27 @@ msgstr "Filhåndtering" msgid "Maximum upload size" msgstr "Maksimal upload-størrelse" -#: templates/admin.php:7 +#: templates/admin.php:9 msgid "max. possible: " msgstr "max. mulige: " -#: templates/admin.php:9 +#: templates/admin.php:12 msgid "Needed for multi-file and folder downloads." msgstr "Nødvendigt for at kunne downloade mapper og flere filer ad gangen." -#: templates/admin.php:9 +#: templates/admin.php:14 msgid "Enable ZIP-download" msgstr "Muliggør ZIP-download" -#: templates/admin.php:11 +#: templates/admin.php:17 msgid "0 is unlimited" msgstr "0 er ubegrænset" -#: templates/admin.php:12 +#: templates/admin.php:19 msgid "Maximum input size for ZIP files" msgstr "Maksimal størrelse på ZIP filer" -#: templates/admin.php:14 +#: templates/admin.php:23 msgid "Save" msgstr "Gem" @@ -255,52 +226,48 @@ msgstr "Gem" msgid "New" msgstr "Ny" -#: templates/index.php:9 +#: templates/index.php:10 msgid "Text file" msgstr "Tekstfil" -#: templates/index.php:10 +#: templates/index.php:12 msgid "Folder" msgstr "Mappe" -#: templates/index.php:11 -msgid "From url" -msgstr "Fra URL" +#: templates/index.php:14 +msgid "From link" +msgstr "" -#: templates/index.php:20 +#: templates/index.php:35 msgid "Upload" msgstr "Upload" -#: templates/index.php:27 +#: templates/index.php:43 msgid "Cancel upload" msgstr "Fortryd upload" -#: templates/index.php:40 +#: templates/index.php:57 msgid "Nothing in here. Upload something!" msgstr "Her er tomt. Upload noget!" -#: templates/index.php:50 -msgid "Share" -msgstr "Del" - -#: templates/index.php:52 +#: templates/index.php:71 msgid "Download" msgstr "Download" -#: templates/index.php:75 +#: templates/index.php:103 msgid "Upload too large" msgstr "Upload for stor" -#: templates/index.php:77 +#: templates/index.php:105 msgid "" "The files you are trying to upload exceed the maximum size for file uploads " "on this server." msgstr "Filerne, du prøver at uploade, er større end den maksimale størrelse for fil-upload på denne server." -#: templates/index.php:82 +#: templates/index.php:110 msgid "Files are being scanned, please wait." msgstr "Filerne bliver indlæst, vent venligst." -#: templates/index.php:85 +#: templates/index.php:113 msgid "Current scanning" msgstr "Indlæser" diff --git a/l10n/da/files_external.po b/l10n/da/files_external.po index 24203a1e15e296d6c1df7745c84fa309e7281386..4e52e67330686736b86cdadb918f663aba08f262 100644 --- a/l10n/da/files_external.po +++ b/l10n/da/files_external.po @@ -9,9 +9,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-13 02:04+0200\n" -"PO-Revision-Date: 2012-10-12 17:53+0000\n" -"Last-Translator: Ole Holm Frandsen \n" +"POT-Creation-Date: 2012-12-12 00:12+0100\n" +"PO-Revision-Date: 2012-12-11 23:13+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Danish (http://www.transifex.com/projects/p/owncloud/language/da/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -43,66 +43,80 @@ msgstr "Angiv venligst en valid Dropbox app nøgle og hemmelighed" msgid "Error configuring Google Drive storage" msgstr "Fejl ved konfiguration af Google Drive plads" +#: lib/config.php:434 +msgid "" +"Warning: \"smbclient\" is not installed. Mounting of CIFS/SMB shares " +"is not possible. Please ask your system administrator to install it." +msgstr "" + +#: lib/config.php:435 +msgid "" +"Warning: The FTP support in PHP is not enabled or installed. Mounting" +" of FTP shares is not possible. Please ask your system administrator to " +"install it." +msgstr "" + #: templates/settings.php:3 msgid "External Storage" msgstr "Ekstern opbevaring" -#: templates/settings.php:7 templates/settings.php:19 +#: templates/settings.php:8 templates/settings.php:22 msgid "Mount point" msgstr "Monteringspunkt" -#: templates/settings.php:8 +#: templates/settings.php:9 msgid "Backend" msgstr "Backend" -#: templates/settings.php:9 +#: templates/settings.php:10 msgid "Configuration" msgstr "Opsætning" -#: templates/settings.php:10 +#: templates/settings.php:11 msgid "Options" msgstr "Valgmuligheder" -#: templates/settings.php:11 +#: templates/settings.php:12 msgid "Applicable" msgstr "Kan anvendes" -#: templates/settings.php:23 +#: templates/settings.php:27 msgid "Add mount point" msgstr "Tilføj monteringspunkt" -#: templates/settings.php:54 templates/settings.php:62 +#: templates/settings.php:85 msgid "None set" msgstr "Ingen sat" -#: templates/settings.php:63 +#: templates/settings.php:86 msgid "All Users" msgstr "Alle brugere" -#: templates/settings.php:64 +#: templates/settings.php:87 msgid "Groups" msgstr "Grupper" -#: templates/settings.php:69 +#: templates/settings.php:95 msgid "Users" msgstr "Brugere" -#: templates/settings.php:77 templates/settings.php:107 +#: templates/settings.php:108 templates/settings.php:109 +#: templates/settings.php:149 templates/settings.php:150 msgid "Delete" msgstr "Slet" -#: templates/settings.php:87 +#: templates/settings.php:124 msgid "Enable User External Storage" msgstr "Aktiver ekstern opbevaring for brugere" -#: templates/settings.php:88 +#: templates/settings.php:125 msgid "Allow users to mount their own external storage" msgstr "Tillad brugere at montere deres egne eksterne opbevaring" -#: templates/settings.php:99 +#: templates/settings.php:139 msgid "SSL root certificates" msgstr "SSL-rodcertifikater" -#: templates/settings.php:113 +#: templates/settings.php:158 msgid "Import Root Certificate" msgstr "Importer rodcertifikat" diff --git a/l10n/da/files_pdfviewer.po b/l10n/da/files_pdfviewer.po deleted file mode 100644 index 781bfdac2e42bd79e7cd35ef6c8d7e0d35a4ca8c..0000000000000000000000000000000000000000 --- a/l10n/da/files_pdfviewer.po +++ /dev/null @@ -1,42 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 02:18+0200\n" -"PO-Revision-Date: 2012-08-26 00:19+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Danish (http://www.transifex.com/projects/p/owncloud/language/da/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: da\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: js/viewer.js:22 -msgid "Previous" -msgstr "" - -#: js/viewer.js:23 -msgid "Next" -msgstr "" - -#: js/viewer.js:29 -msgid "Page Width" -msgstr "" - -#: js/viewer.js:29 -msgid "Page Fit" -msgstr "" - -#: js/viewer.js:30 -msgid "Print" -msgstr "" - -#: js/viewer.js:32 -msgid "Download" -msgstr "" diff --git a/l10n/da/files_texteditor.po b/l10n/da/files_texteditor.po deleted file mode 100644 index cb994d6b9227ce148de2cab04c620c552889e510..0000000000000000000000000000000000000000 --- a/l10n/da/files_texteditor.po +++ /dev/null @@ -1,44 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 01:17+0200\n" -"PO-Revision-Date: 2012-08-25 23:18+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Danish (http://www.transifex.com/projects/p/owncloud/language/da/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: da\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: js/aceeditor/mode-coldfusion-uncompressed.js:1568 -#: js/aceeditor/mode-liquid-uncompressed.js:902 -#: js/aceeditor/mode-svg-uncompressed.js:1575 -msgid "regex" -msgstr "" - -#: js/editor.js:72 js/editor.js:156 js/editor.js:163 -msgid "Save" -msgstr "" - -#: js/editor.js:74 -msgid "Close" -msgstr "" - -#: js/editor.js:149 -msgid "Saving..." -msgstr "" - -#: js/editor.js:239 -msgid "An error occurred!" -msgstr "" - -#: js/editor.js:266 -msgid "There were unsaved changes, click here to go back" -msgstr "" diff --git a/l10n/da/gallery.po b/l10n/da/gallery.po deleted file mode 100644 index 43c5fd2a9e27b1a222e483ca463b600e5466f829..0000000000000000000000000000000000000000 --- a/l10n/da/gallery.po +++ /dev/null @@ -1,97 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# , 2012. -# Morten Juhl-Johansen Zölde-Fejér , 2012. -# Thomas Tanghus <>, 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-06-06 00:12+0200\n" -"PO-Revision-Date: 2012-06-05 22:15+0000\n" -"Last-Translator: icewind \n" -"Language-Team: Danish (http://www.transifex.net/projects/p/owncloud/language/da/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: da\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: appinfo/app.php:37 -msgid "Pictures" -msgstr "Billeder" - -#: js/album_cover.js:44 -msgid "Share gallery" -msgstr "" - -#: js/album_cover.js:64 js/album_cover.js:100 js/album_cover.js:133 -msgid "Error: " -msgstr "" - -#: js/album_cover.js:64 js/album_cover.js:100 -msgid "Internal error" -msgstr "" - -#: js/album_cover.js:114 -msgid "Scanning root" -msgstr "" - -#: js/album_cover.js:115 -msgid "Default order" -msgstr "" - -#: js/album_cover.js:116 -msgid "Ascending" -msgstr "" - -#: js/album_cover.js:116 -msgid "Descending" -msgstr "" - -#: js/album_cover.js:117 templates/index.php:19 -msgid "Settings" -msgstr "Indstillinger" - -#: js/album_cover.js:122 -msgid "Scanning root cannot be empty" -msgstr "" - -#: js/album_cover.js:122 js/album_cover.js:133 -msgid "Error" -msgstr "" - -#: templates/index.php:16 -msgid "Rescan" -msgstr "Genindlæs" - -#: templates/index.php:17 -msgid "Stop" -msgstr "Stop" - -#: templates/index.php:18 -msgid "Share" -msgstr "Del" - -#: templates/view_album.php:19 -msgid "Back" -msgstr "Tilbage" - -#: templates/view_album.php:36 -msgid "Remove confirmation" -msgstr "Fjern bekræftelse" - -#: templates/view_album.php:37 -msgid "Do you want to remove album" -msgstr "Ønsker du at fjerne albummet" - -#: templates/view_album.php:40 -msgid "Change album name" -msgstr "Ændre albummets navn" - -#: templates/view_album.php:43 -msgid "New album name" -msgstr "Nyt album navn" diff --git a/l10n/da/impress.po b/l10n/da/impress.po deleted file mode 100644 index 80c9eb2ed8055ae33d137a4e5d8e5c0e545df3fe..0000000000000000000000000000000000000000 --- a/l10n/da/impress.po +++ /dev/null @@ -1,22 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 01:17+0200\n" -"PO-Revision-Date: 2012-08-25 23:18+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Danish (http://www.transifex.com/projects/p/owncloud/language/da/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: da\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: templates/presentations.php:7 -msgid "Documentation" -msgstr "" diff --git a/l10n/da/lib.po b/l10n/da/lib.po index 04ff6d58074bf44564a924a5bd65c830458f2b32..76cd064267c87861ae9648aaa212526cb28d098e 100644 --- a/l10n/da/lib.po +++ b/l10n/da/lib.po @@ -9,9 +9,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-09-24 02:02+0200\n" -"PO-Revision-Date: 2012-09-23 06:51+0000\n" -"Last-Translator: Morten Juhl-Johansen Zölde-Fejér \n" +"POT-Creation-Date: 2012-11-16 00:02+0100\n" +"PO-Revision-Date: 2012-11-14 23:13+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Danish (http://www.transifex.com/projects/p/owncloud/language/da/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -43,19 +43,19 @@ msgstr "Apps" msgid "Admin" msgstr "Admin" -#: files.php:309 +#: files.php:332 msgid "ZIP download is turned off." msgstr "ZIP-download er slået fra." -#: files.php:310 +#: files.php:333 msgid "Files need to be downloaded one by one." msgstr "Filer skal downloades en for en." -#: files.php:310 files.php:335 +#: files.php:333 files.php:358 msgid "Back to Files" msgstr "Tilbage til Filer" -#: files.php:334 +#: files.php:357 msgid "Selected files too large to generate zip file." msgstr "De markerede filer er for store til at generere en ZIP-fil." @@ -63,7 +63,7 @@ msgstr "De markerede filer er for store til at generere en ZIP-fil." msgid "Application is not enabled" msgstr "Programmet er ikke aktiveret" -#: json.php:39 json.php:63 json.php:75 +#: json.php:39 json.php:64 json.php:77 json.php:89 msgid "Authentication error" msgstr "Adgangsfejl" @@ -71,57 +71,84 @@ msgstr "Adgangsfejl" msgid "Token expired. Please reload page." msgstr "Adgang er udløbet. Genindlæs siden." -#: template.php:87 +#: search/provider/file.php:17 search/provider/file.php:35 +msgid "Files" +msgstr "Filer" + +#: search/provider/file.php:26 search/provider/file.php:33 +msgid "Text" +msgstr "SMS" + +#: search/provider/file.php:29 +msgid "Images" +msgstr "" + +#: template.php:103 msgid "seconds ago" msgstr "sekunder siden" -#: template.php:88 +#: template.php:104 msgid "1 minute ago" msgstr "1 minut siden" -#: template.php:89 +#: template.php:105 #, php-format msgid "%d minutes ago" msgstr "%d minutter siden" -#: template.php:92 +#: template.php:106 +msgid "1 hour ago" +msgstr "" + +#: template.php:107 +#, php-format +msgid "%d hours ago" +msgstr "" + +#: template.php:108 msgid "today" msgstr "I dag" -#: template.php:93 +#: template.php:109 msgid "yesterday" msgstr "I går" -#: template.php:94 +#: template.php:110 #, php-format msgid "%d days ago" msgstr "%d dage siden" -#: template.php:95 +#: template.php:111 msgid "last month" msgstr "Sidste måned" -#: template.php:96 -msgid "months ago" -msgstr "måneder siden" +#: template.php:112 +#, php-format +msgid "%d months ago" +msgstr "" -#: template.php:97 +#: template.php:113 msgid "last year" msgstr "Sidste år" -#: template.php:98 +#: template.php:114 msgid "years ago" msgstr "år siden" -#: updater.php:66 +#: updater.php:75 #, php-format msgid "%s is available. Get more information" msgstr "%s er tilgængelig. Få mere information" -#: updater.php:68 +#: updater.php:77 msgid "up to date" msgstr "opdateret" -#: updater.php:71 +#: updater.php:80 msgid "updates check is disabled" msgstr "Check for opdateringer er deaktiveret" + +#: vcategories.php:188 vcategories.php:249 +#, php-format +msgid "Could not find category \"%s\"" +msgstr "" diff --git a/l10n/da/media.po b/l10n/da/media.po deleted file mode 100644 index ba051b121a5eb45742b24b2413084ce2c73011fb..0000000000000000000000000000000000000000 --- a/l10n/da/media.po +++ /dev/null @@ -1,68 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Morten Juhl-Johansen Zölde-Fejér , 2011. -# Pascal d'Hermilly , 2011. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-06-06 00:12+0200\n" -"PO-Revision-Date: 2012-06-05 22:15+0000\n" -"Last-Translator: icewind \n" -"Language-Team: Danish (http://www.transifex.net/projects/p/owncloud/language/da/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: da\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: appinfo/app.php:32 templates/player.php:8 -msgid "Music" -msgstr "Musik" - -#: js/music.js:18 -msgid "Add album to playlist" -msgstr "" - -#: templates/music.php:3 templates/player.php:12 -msgid "Play" -msgstr "Afspil" - -#: templates/music.php:4 templates/music.php:26 templates/player.php:13 -msgid "Pause" -msgstr "Pause" - -#: templates/music.php:5 -msgid "Previous" -msgstr "Forrige" - -#: templates/music.php:6 templates/player.php:14 -msgid "Next" -msgstr "Næste" - -#: templates/music.php:7 -msgid "Mute" -msgstr "Lydløs" - -#: templates/music.php:8 -msgid "Unmute" -msgstr "Lyd til" - -#: templates/music.php:25 -msgid "Rescan Collection" -msgstr "Genskan Samling" - -#: templates/music.php:37 -msgid "Artist" -msgstr "Kunstner" - -#: templates/music.php:38 -msgid "Album" -msgstr "Album" - -#: templates/music.php:39 -msgid "Title" -msgstr "Titel" diff --git a/l10n/da/settings.po b/l10n/da/settings.po index 136582efaf0111a2e628f696d6e2a4f3e338054d..948c398c0767e56fcbf44ef00dcaae9ff01bdeed 100644 --- a/l10n/da/settings.po +++ b/l10n/da/settings.po @@ -16,9 +16,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-13 02:05+0200\n" -"PO-Revision-Date: 2012-10-12 17:31+0000\n" -"Last-Translator: Ole Holm Frandsen \n" +"POT-Creation-Date: 2012-12-03 00:04+0100\n" +"PO-Revision-Date: 2012-12-02 03:18+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Danish (http://www.transifex.com/projects/p/owncloud/language/da/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -26,70 +26,73 @@ msgstr "" "Language: da\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: ajax/apps/ocs.php:23 +#: ajax/apps/ocs.php:20 msgid "Unable to load list from App Store" msgstr "Kunne ikke indlæse listen fra App Store" -#: ajax/creategroup.php:9 ajax/removeuser.php:18 ajax/setquota.php:18 -#: ajax/togglegroups.php:15 -msgid "Authentication error" -msgstr "Adgangsfejl" - -#: ajax/creategroup.php:19 +#: ajax/creategroup.php:10 msgid "Group already exists" msgstr "Gruppen findes allerede" -#: ajax/creategroup.php:28 +#: ajax/creategroup.php:19 msgid "Unable to add group" msgstr "Gruppen kan ikke oprettes" -#: ajax/enableapp.php:14 +#: ajax/enableapp.php:12 msgid "Could not enable app. " msgstr "Applikationen kunne ikke aktiveres." -#: ajax/lostpassword.php:14 +#: ajax/lostpassword.php:12 msgid "Email saved" msgstr "Email adresse gemt" -#: ajax/lostpassword.php:16 +#: ajax/lostpassword.php:14 msgid "Invalid email" msgstr "Ugyldig email adresse" -#: ajax/openid.php:16 +#: ajax/openid.php:13 msgid "OpenID Changed" msgstr "OpenID ændret" -#: ajax/openid.php:18 ajax/setlanguage.php:20 ajax/setlanguage.php:23 +#: ajax/openid.php:15 ajax/setlanguage.php:17 ajax/setlanguage.php:20 msgid "Invalid request" msgstr "Ugyldig forespørgsel" -#: ajax/removegroup.php:16 +#: ajax/removegroup.php:13 msgid "Unable to delete group" msgstr "Gruppen kan ikke slettes" -#: ajax/removeuser.php:27 +#: ajax/removeuser.php:15 ajax/setquota.php:15 ajax/togglegroups.php:18 +msgid "Authentication error" +msgstr "Adgangsfejl" + +#: ajax/removeuser.php:24 msgid "Unable to delete user" msgstr "Bruger kan ikke slettes" -#: ajax/setlanguage.php:18 +#: ajax/setlanguage.php:15 msgid "Language changed" msgstr "Sprog ændret" -#: ajax/togglegroups.php:25 +#: ajax/togglegroups.php:12 +msgid "Admins can't remove themself from the admin group" +msgstr "" + +#: ajax/togglegroups.php:28 #, php-format msgid "Unable to add user to group %s" msgstr "Brugeren kan ikke tilføjes til gruppen %s" -#: ajax/togglegroups.php:31 +#: ajax/togglegroups.php:34 #, php-format msgid "Unable to remove user from group %s" msgstr "Brugeren kan ikke fjernes fra gruppen %s" -#: js/apps.js:28 js/apps.js:65 +#: js/apps.js:28 js/apps.js:67 msgid "Disable" msgstr "Deaktiver" -#: js/apps.js:28 js/apps.js:54 +#: js/apps.js:28 js/apps.js:55 msgid "Enable" msgstr "Aktiver" @@ -97,97 +100,10 @@ msgstr "Aktiver" msgid "Saving..." msgstr "Gemmer..." -#: personal.php:47 personal.php:48 +#: personal.php:42 personal.php:43 msgid "__language_name__" msgstr "Dansk" -#: templates/admin.php:14 -msgid "Security Warning" -msgstr "Sikkerhedsadvarsel" - -#: templates/admin.php:17 -msgid "" -"Your data directory and your files are probably accessible from the " -"internet. The .htaccess file that ownCloud provides is not working. We " -"strongly suggest that you configure your webserver in a way that the data " -"directory is no longer accessible or you move the data directory outside the" -" webserver document root." -msgstr "Din datamappe og dine filer er formentligt tilgængelige fra internettet.\n.htaccess-filen, som ownCloud leverer, fungerer ikke. Vi anbefaler stærkt, at du opsætter din server på en måde, så datamappen ikke længere er direkte tilgængelig, eller at du flytter datamappen udenfor serverens tilgængelige rodfilsystem." - -#: templates/admin.php:31 -msgid "Cron" -msgstr "Cron" - -#: templates/admin.php:37 -msgid "Execute one task with each page loaded" -msgstr "Udfør en opgave med hver side indlæst" - -#: templates/admin.php:43 -msgid "" -"cron.php is registered at a webcron service. Call the cron.php page in the " -"owncloud root once a minute over http." -msgstr "cron.php er registreret hos en webcron-tjeneste. Kald cron.php-siden i ownClouds rodmappe en gang i minuttet over http." - -#: templates/admin.php:49 -msgid "" -"Use systems cron service. Call the cron.php file in the owncloud folder via " -"a system cronjob once a minute." -msgstr "vend systemets cron-tjeneste. Kald cron.php-filen i ownCloud-mappen ved hjælp af systemets cronjob en gang i minuttet." - -#: templates/admin.php:56 -msgid "Sharing" -msgstr "Deling" - -#: templates/admin.php:61 -msgid "Enable Share API" -msgstr "Aktiver dele API" - -#: templates/admin.php:62 -msgid "Allow apps to use the Share API" -msgstr "Tillad apps a bruge dele APIen" - -#: templates/admin.php:67 -msgid "Allow links" -msgstr "Tillad links" - -#: templates/admin.php:68 -msgid "Allow users to share items to the public with links" -msgstr "Tillad brugere at dele elementer med offentligheden med links" - -#: templates/admin.php:73 -msgid "Allow resharing" -msgstr "Tillad gendeling" - -#: templates/admin.php:74 -msgid "Allow users to share items shared with them again" -msgstr "Tillad brugere at dele elementer, som er blevet delt med dem, videre til andre" - -#: templates/admin.php:79 -msgid "Allow users to share with anyone" -msgstr "Tillad brugere at dele med hvem som helst" - -#: templates/admin.php:81 -msgid "Allow users to only share with users in their groups" -msgstr "Tillad kun deling med brugere i brugerens egen gruppe" - -#: templates/admin.php:88 -msgid "Log" -msgstr "Log" - -#: templates/admin.php:116 -msgid "More" -msgstr "Mere" - -#: templates/admin.php:124 -msgid "" -"Developed by the ownCloud community, the source code is " -"licensed under the AGPL." -msgstr "Udviklet af ownClouds community, og kildekoden er underlagt licensen AGPL." - #: templates/apps.php:10 msgid "Add your App" msgstr "Tilføj din App" @@ -220,22 +136,22 @@ msgstr "Håndter store filer" msgid "Ask a question" msgstr "Stil et spørgsmål" -#: templates/help.php:23 +#: templates/help.php:22 msgid "Problems connecting to help database." msgstr "Problemer med at forbinde til hjælpe-databasen." -#: templates/help.php:24 +#: templates/help.php:23 msgid "Go there manually." msgstr "Gå derhen manuelt." -#: templates/help.php:32 +#: templates/help.php:31 msgid "Answer" msgstr "Svar" #: templates/personal.php:8 #, php-format -msgid "You have used %s of the available %s" -msgstr "Du har brugt %s af de tilgængelige %s" +msgid "You have used %s of the available %s" +msgstr "" #: templates/personal.php:12 msgid "Desktop and Mobile Syncing Clients" @@ -293,6 +209,16 @@ msgstr "Hjælp med oversættelsen" msgid "use this address to connect to your ownCloud in your file manager" msgstr "benyt denne adresse til at forbinde til din ownCloud i din filbrowser" +#: templates/personal.php:61 +msgid "" +"Developed by the ownCloud community, the source code is " +"licensed under the AGPL." +msgstr "Udviklet af ownClouds community, og kildekoden er underlagt licensen AGPL." + #: templates/users.php:21 templates/users.php:76 msgid "Name" msgstr "Navn" diff --git a/l10n/da/tasks.po b/l10n/da/tasks.po deleted file mode 100644 index 5c9900db1eb621bfef418c7e720297ba5c11ee68..0000000000000000000000000000000000000000 --- a/l10n/da/tasks.po +++ /dev/null @@ -1,107 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-21 02:03+0200\n" -"PO-Revision-Date: 2012-08-20 14:43+0000\n" -"Last-Translator: ressel \n" -"Language-Team: Danish (http://www.transifex.com/projects/p/owncloud/language/da/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: da\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: ajax/update_property.php:51 lib/app.php:89 lib/app.php:101 -msgid "Invalid date/time" -msgstr "Ugyldig dato/tid" - -#: appinfo/app.php:11 -msgid "Tasks" -msgstr "Opgaver" - -#: js/tasks.js:415 -msgid "No category" -msgstr "Ingen kategori" - -#: lib/app.php:33 -msgid "Unspecified" -msgstr "Uspecificeret" - -#: lib/app.php:34 -msgid "1=highest" -msgstr "1=højeste" - -#: lib/app.php:38 -msgid "5=medium" -msgstr "5=mellem" - -#: lib/app.php:42 -msgid "9=lowest" -msgstr "9=laveste" - -#: lib/app.php:81 -msgid "Empty Summary" -msgstr "Tom beskrivelse" - -#: lib/app.php:93 -msgid "Invalid percent complete" -msgstr "" - -#: lib/app.php:107 -msgid "Invalid priority" -msgstr "" - -#: templates/tasks.php:3 -msgid "Add Task" -msgstr "Tilføj opgave" - -#: templates/tasks.php:4 -msgid "Order Due" -msgstr "" - -#: templates/tasks.php:5 -msgid "Order List" -msgstr "" - -#: templates/tasks.php:6 -msgid "Order Complete" -msgstr "" - -#: templates/tasks.php:7 -msgid "Order Location" -msgstr "" - -#: templates/tasks.php:8 -msgid "Order Priority" -msgstr "" - -#: templates/tasks.php:9 -msgid "Order Label" -msgstr "" - -#: templates/tasks.php:16 -msgid "Loading tasks..." -msgstr "Indlæser opgaver..." - -#: templates/tasks.php:20 -msgid "Important" -msgstr "vigtigt" - -#: templates/tasks.php:23 -msgid "More" -msgstr "Mere" - -#: templates/tasks.php:26 -msgid "Less" -msgstr "Mindre" - -#: templates/tasks.php:29 -msgid "Delete" -msgstr "Slet" diff --git a/l10n/da/user_ldap.po b/l10n/da/user_ldap.po index 1d331efa3c5abe9ac3774de14b7a38af27aa94a1..95a083e9f1ea2fbb04671c592b656f172bf6c986 100644 --- a/l10n/da/user_ldap.po +++ b/l10n/da/user_ldap.po @@ -3,15 +3,16 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# Frederik Lassen , 2012. # Morten Juhl-Johansen Zölde-Fejér , 2012. # , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-09-26 02:02+0200\n" -"PO-Revision-Date: 2012-09-25 14:13+0000\n" -"Last-Translator: Morten Juhl-Johansen Zölde-Fejér \n" +"POT-Creation-Date: 2012-10-24 02:02+0200\n" +"PO-Revision-Date: 2012-10-23 09:31+0000\n" +"Last-Translator: Frederik Lassen \n" "Language-Team: Danish (http://www.transifex.com/projects/p/owncloud/language/da/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -38,7 +39,7 @@ msgstr "" #: templates/settings.php:10 msgid "User DN" -msgstr "" +msgstr "Bruger DN" #: templates/settings.php:10 msgid "" diff --git a/l10n/da/user_migrate.po b/l10n/da/user_migrate.po deleted file mode 100644 index 3c03fa73962e3370c1b88d9001e6529636dd162f..0000000000000000000000000000000000000000 --- a/l10n/da/user_migrate.po +++ /dev/null @@ -1,51 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:45+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Danish (http://www.transifex.com/projects/p/owncloud/language/da/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: da\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: js/export.js:14 js/export.js:20 -msgid "Export" -msgstr "" - -#: js/export.js:19 -msgid "Something went wrong while the export file was being generated" -msgstr "" - -#: js/export.js:19 -msgid "An error has occurred" -msgstr "" - -#: templates/settings.php:2 -msgid "Export your user account" -msgstr "" - -#: templates/settings.php:3 -msgid "" -"This will create a compressed file that contains your ownCloud account." -msgstr "" - -#: templates/settings.php:13 -msgid "Import user account" -msgstr "" - -#: templates/settings.php:15 -msgid "ownCloud User Zip" -msgstr "" - -#: templates/settings.php:17 -msgid "Import" -msgstr "" diff --git a/l10n/da/user_openid.po b/l10n/da/user_openid.po deleted file mode 100644 index a9fdd710c8abda4ea9a98ce034c60fba6faa16a2..0000000000000000000000000000000000000000 --- a/l10n/da/user_openid.po +++ /dev/null @@ -1,54 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:45+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Danish (http://www.transifex.com/projects/p/owncloud/language/da/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: da\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: templates/nomode.php:12 -msgid "This is an OpenID server endpoint. For more information, see " -msgstr "" - -#: templates/nomode.php:14 -msgid "Identity: " -msgstr "" - -#: templates/nomode.php:15 -msgid "Realm: " -msgstr "" - -#: templates/nomode.php:16 -msgid "User: " -msgstr "" - -#: templates/nomode.php:17 -msgid "Login" -msgstr "" - -#: templates/nomode.php:22 -msgid "Error: No user Selected" -msgstr "" - -#: templates/settings.php:4 -msgid "you can authenticate to other sites with this address" -msgstr "" - -#: templates/settings.php:5 -msgid "Authorized OpenID provider" -msgstr "" - -#: templates/settings.php:6 -msgid "Your address at Wordpress, Identi.ca, …" -msgstr "" diff --git a/l10n/da/files_odfviewer.po b/l10n/da/user_webdavauth.po similarity index 73% rename from l10n/da/files_odfviewer.po rename to l10n/da/user_webdavauth.po index 755f4010e9d47b5b5d081df4bbaa24474580dfb0..d91890971df00e52b3c070aee42a300a0ef8a5e6 100644 --- a/l10n/da/files_odfviewer.po +++ b/l10n/da/user_webdavauth.po @@ -7,16 +7,16 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 02:18+0200\n" -"PO-Revision-Date: 2012-08-26 00:19+0000\n" +"POT-Creation-Date: 2012-11-09 10:06+0100\n" +"PO-Revision-Date: 2012-11-09 09:06+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: Danish (http://www.transifex.com/projects/p/owncloud/language/da/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: da\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: js/viewer.js:9 -msgid "Close" +#: templates/settings.php:4 +msgid "WebDAV URL: http://" msgstr "" diff --git a/l10n/de/admin_dependencies_chk.po b/l10n/de/admin_dependencies_chk.po deleted file mode 100644 index f36baa4f39016c2caf9710313049e19620fe4eee..0000000000000000000000000000000000000000 --- a/l10n/de/admin_dependencies_chk.po +++ /dev/null @@ -1,77 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Maurice Preuß <>, 2012. -# , 2012. -# , 2012. -# , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-24 02:01+0200\n" -"PO-Revision-Date: 2012-08-23 10:05+0000\n" -"Last-Translator: traductor \n" -"Language-Team: German (http://www.transifex.com/projects/p/owncloud/language/de/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: de\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: settings.php:33 -msgid "" -"The php-json module is needed by the many applications for inter " -"communications" -msgstr "Das Modul php-json wird von vielen Anwendungen zur internen Kommunikation benötigt." - -#: settings.php:39 -msgid "" -"The php-curl modude is needed to fetch the page title when adding a " -"bookmarks" -msgstr "Das Modul php-curl wird benötigt, um den Titel der Seite für die Lesezeichen hinzuzufügen." - -#: settings.php:45 -msgid "The php-gd module is needed to create thumbnails of your images" -msgstr "Das Modul php-gd wird für die Erzeugung der Vorschaubilder benötigt." - -#: settings.php:51 -msgid "The php-ldap module is needed connect to your ldap server" -msgstr "Das Modul php-ldap wird für die Verbindung mit dem LDAP-Server benötigt." - -#: settings.php:57 -msgid "The php-zip module is needed download multiple files at once" -msgstr "Das Modul php-zip wird für den gleichzeitigen Download mehrerer Dateien benötigt." - -#: settings.php:63 -msgid "" -"The php-mb_multibyte module is needed to manage correctly the encoding." -msgstr "Das Modul php_mb_multibyte wird benötigt, um das Encoding richtig zu handhaben." - -#: settings.php:69 -msgid "The php-ctype module is needed validate data." -msgstr "Das Modul php-ctype wird benötigt, um Daten zu prüfen." - -#: settings.php:75 -msgid "The php-xml module is needed to share files with webdav." -msgstr "Das Modul php-xml wird benötigt, um Dateien über WebDAV zu teilen." - -#: settings.php:81 -msgid "" -"The allow_url_fopen directive of your php.ini should be set to 1 to retrieve" -" knowledge base from OCS servers" -msgstr "Die Richtlinie allow_url_fopen in Ihrer php.ini sollte auf 1 gesetzt werden, um die Wissensbasis vom OCS-Server abrufen." - -#: settings.php:87 -msgid "The php-pdo module is needed to store owncloud data into a database." -msgstr "Das Modul php-pdo wird benötigt, um Daten in der Datenbank zu speichern." - -#: templates/settings.php:2 -msgid "Dependencies status" -msgstr "Status der Abhängigkeiten" - -#: templates/settings.php:7 -msgid "Used by :" -msgstr "Benutzt von:" diff --git a/l10n/de/admin_migrate.po b/l10n/de/admin_migrate.po deleted file mode 100644 index d4a6b315a18786a9932397b9aa9a2740b865271d..0000000000000000000000000000000000000000 --- a/l10n/de/admin_migrate.po +++ /dev/null @@ -1,34 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# , 2012. -# , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-15 02:02+0200\n" -"PO-Revision-Date: 2012-08-14 13:34+0000\n" -"Last-Translator: I Robot \n" -"Language-Team: German (http://www.transifex.com/projects/p/owncloud/language/de/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: de\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: templates/settings.php:3 -msgid "Export this ownCloud instance" -msgstr "Diese ownCloud-Instanz exportieren." - -#: templates/settings.php:4 -msgid "" -"This will create a compressed file that contains the data of this owncloud instance.\n" -" Please choose the export type:" -msgstr "Dies wird eine komprimierte Datei erzeugen, welche die Daten dieser ownCloud-Instanz enthält.\n Bitte wählen Sie den Exporttyp:" - -#: templates/settings.php:12 -msgid "Export" -msgstr "Exportieren" diff --git a/l10n/de/bookmarks.po b/l10n/de/bookmarks.po deleted file mode 100644 index 8383c62a138556714651d7f8c24f53988ebc806a..0000000000000000000000000000000000000000 --- a/l10n/de/bookmarks.po +++ /dev/null @@ -1,63 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Phi Lieb <>, 2012. -# , 2012. -# , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-24 02:02+0200\n" -"PO-Revision-Date: 2012-08-23 09:38+0000\n" -"Last-Translator: traductor \n" -"Language-Team: German (http://www.transifex.com/projects/p/owncloud/language/de/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: de\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: appinfo/app.php:14 -msgid "Bookmarks" -msgstr "Lesezeichen" - -#: bookmarksHelper.php:99 -msgid "unnamed" -msgstr "unbenannt" - -#: templates/bookmarklet.php:5 -msgid "" -"Drag this to your browser bookmarks and click it, when you want to bookmark " -"a webpage quickly:" -msgstr "Ziehen Sie dies zu Ihren Browser-Lesezeichen und klicken Sie darauf, wenn Sie eine Website schnell den Lesezeichen hinzufügen wollen." - -#: templates/bookmarklet.php:7 -msgid "Read later" -msgstr "Später lesen" - -#: templates/list.php:13 -msgid "Address" -msgstr "Adresse" - -#: templates/list.php:14 -msgid "Title" -msgstr "Titel" - -#: templates/list.php:15 -msgid "Tags" -msgstr "Tags" - -#: templates/list.php:16 -msgid "Save bookmark" -msgstr "Lesezeichen speichern" - -#: templates/list.php:22 -msgid "You have no bookmarks" -msgstr "Sie haben keine Lesezeichen" - -#: templates/settings.php:11 -msgid "Bookmarklet
" -msgstr "Bookmarklet
" diff --git a/l10n/de/calendar.po b/l10n/de/calendar.po deleted file mode 100644 index 5ef155057e94ea91d9187d7fd39171d6cdc06aed..0000000000000000000000000000000000000000 --- a/l10n/de/calendar.po +++ /dev/null @@ -1,824 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# , 2011, 2012. -# , 2012. -# , 2011, 2012. -# Jan-Christoph Borchardt , 2011. -# Jan-Christoph Borchardt , 2011. -# Marcel Kühlhorn , 2012. -# , 2012. -# , 2012. -# Phi Lieb <>, 2012. -# , 2012. -# , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-24 02:02+0200\n" -"PO-Revision-Date: 2012-08-23 09:20+0000\n" -"Last-Translator: traductor \n" -"Language-Team: German (http://www.transifex.com/projects/p/owncloud/language/de/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: de\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: ajax/cache/status.php:19 -msgid "Not all calendars are completely cached" -msgstr "Noch sind nicht alle Kalender zwischengespeichert." - -#: ajax/cache/status.php:21 -msgid "Everything seems to be completely cached" -msgstr "Es sieht so aus, als wäre alles vollständig zwischengespeichert." - -#: ajax/categories/rescan.php:29 -msgid "No calendars found." -msgstr "Keine Kalender gefunden." - -#: ajax/categories/rescan.php:37 -msgid "No events found." -msgstr "Keine Termine gefunden." - -#: ajax/event/edit.form.php:20 -msgid "Wrong calendar" -msgstr "Falscher Kalender" - -#: ajax/import/dropimport.php:29 ajax/import/import.php:64 -msgid "" -"The file contained either no events or all events are already saved in your " -"calendar." -msgstr "Entweder enthielt die Datei keine Termine oder alle Termine waren bereits im Kalender gespeichert." - -#: ajax/import/dropimport.php:31 ajax/import/import.php:67 -msgid "events has been saved in the new calendar" -msgstr "Der Termin wurde im neuen Kalender gespeichert." - -#: ajax/import/import.php:56 -msgid "Import failed" -msgstr "Import fehlgeschlagen" - -#: ajax/import/import.php:69 -msgid "events has been saved in your calendar" -msgstr "Der Termin wurde im Kalender gespeichert." - -#: ajax/settings/guesstimezone.php:25 -msgid "New Timezone:" -msgstr "Neue Zeitzone:" - -#: ajax/settings/settimezone.php:23 -msgid "Timezone changed" -msgstr "Zeitzone geändert" - -#: ajax/settings/settimezone.php:25 -msgid "Invalid request" -msgstr "Fehlerhafte Anfrage" - -#: appinfo/app.php:37 templates/calendar.php:15 -#: templates/part.eventform.php:33 templates/part.showevent.php:33 -msgid "Calendar" -msgstr "Kalender" - -#: js/calendar.js:832 -msgid "ddd" -msgstr "ddd" - -#: js/calendar.js:833 -msgid "ddd M/d" -msgstr "ddd d.M" - -#: js/calendar.js:834 -msgid "dddd M/d" -msgstr "dddd d.M" - -#: js/calendar.js:837 -msgid "MMMM yyyy" -msgstr "MMMM yyyy" - -#: js/calendar.js:839 -msgid "MMM d[ yyyy]{ '—'[ MMM] d yyyy}" -msgstr "MMM d[ yyyy]{ '—'[ MMM] d yyyy}" - -#: js/calendar.js:841 -msgid "dddd, MMM d, yyyy" -msgstr "dddd, d. MMM yyyy" - -#: lib/app.php:121 -msgid "Birthday" -msgstr "Geburtstag" - -#: lib/app.php:122 -msgid "Business" -msgstr "Geschäftlich" - -#: lib/app.php:123 -msgid "Call" -msgstr "Anruf" - -#: lib/app.php:124 -msgid "Clients" -msgstr "Kunden" - -#: lib/app.php:125 -msgid "Deliverer" -msgstr "Lieferant" - -#: lib/app.php:126 -msgid "Holidays" -msgstr "Urlaub" - -#: lib/app.php:127 -msgid "Ideas" -msgstr "Ideen" - -#: lib/app.php:128 -msgid "Journey" -msgstr "Reise" - -#: lib/app.php:129 -msgid "Jubilee" -msgstr "Jubiläum" - -#: lib/app.php:130 -msgid "Meeting" -msgstr "Treffen" - -#: lib/app.php:131 -msgid "Other" -msgstr "Anderes" - -#: lib/app.php:132 -msgid "Personal" -msgstr "Persönlich" - -#: lib/app.php:133 -msgid "Projects" -msgstr "Projekte" - -#: lib/app.php:134 -msgid "Questions" -msgstr "Fragen" - -#: lib/app.php:135 -msgid "Work" -msgstr "Arbeit" - -#: lib/app.php:351 lib/app.php:361 -msgid "by" -msgstr "von" - -#: lib/app.php:359 lib/app.php:399 -msgid "unnamed" -msgstr "unbenannt" - -#: lib/import.php:184 templates/calendar.php:12 -#: templates/part.choosecalendar.php:22 -msgid "New Calendar" -msgstr "Neuer Kalender" - -#: lib/object.php:372 -msgid "Does not repeat" -msgstr "einmalig" - -#: lib/object.php:373 -msgid "Daily" -msgstr "täglich" - -#: lib/object.php:374 -msgid "Weekly" -msgstr "wöchentlich" - -#: lib/object.php:375 -msgid "Every Weekday" -msgstr "jeden Wochentag" - -#: lib/object.php:376 -msgid "Bi-Weekly" -msgstr "jede zweite Woche" - -#: lib/object.php:377 -msgid "Monthly" -msgstr "monatlich" - -#: lib/object.php:378 -msgid "Yearly" -msgstr "jährlich" - -#: lib/object.php:388 -msgid "never" -msgstr "niemals" - -#: lib/object.php:389 -msgid "by occurrences" -msgstr "nach Terminen" - -#: lib/object.php:390 -msgid "by date" -msgstr "nach Datum" - -#: lib/object.php:400 -msgid "by monthday" -msgstr "an einem Monatstag" - -#: lib/object.php:401 -msgid "by weekday" -msgstr "an einem Wochentag" - -#: lib/object.php:411 templates/calendar.php:5 templates/settings.php:69 -msgid "Monday" -msgstr "Montag" - -#: lib/object.php:412 templates/calendar.php:5 -msgid "Tuesday" -msgstr "Dienstag" - -#: lib/object.php:413 templates/calendar.php:5 -msgid "Wednesday" -msgstr "Mittwoch" - -#: lib/object.php:414 templates/calendar.php:5 -msgid "Thursday" -msgstr "Donnerstag" - -#: lib/object.php:415 templates/calendar.php:5 -msgid "Friday" -msgstr "Freitag" - -#: lib/object.php:416 templates/calendar.php:5 -msgid "Saturday" -msgstr "Samstag" - -#: lib/object.php:417 templates/calendar.php:5 templates/settings.php:70 -msgid "Sunday" -msgstr "Sonntag" - -#: lib/object.php:427 -msgid "events week of month" -msgstr "Woche des Monats vom Termin" - -#: lib/object.php:428 -msgid "first" -msgstr "erste" - -#: lib/object.php:429 -msgid "second" -msgstr "zweite" - -#: lib/object.php:430 -msgid "third" -msgstr "dritte" - -#: lib/object.php:431 -msgid "fourth" -msgstr "vierte" - -#: lib/object.php:432 -msgid "fifth" -msgstr "fünfte" - -#: lib/object.php:433 -msgid "last" -msgstr "letzte" - -#: lib/object.php:467 templates/calendar.php:7 -msgid "January" -msgstr "Januar" - -#: lib/object.php:468 templates/calendar.php:7 -msgid "February" -msgstr "Februar" - -#: lib/object.php:469 templates/calendar.php:7 -msgid "March" -msgstr "März" - -#: lib/object.php:470 templates/calendar.php:7 -msgid "April" -msgstr "April" - -#: lib/object.php:471 templates/calendar.php:7 -msgid "May" -msgstr "Mai" - -#: lib/object.php:472 templates/calendar.php:7 -msgid "June" -msgstr "Juni" - -#: lib/object.php:473 templates/calendar.php:7 -msgid "July" -msgstr "Juli" - -#: lib/object.php:474 templates/calendar.php:7 -msgid "August" -msgstr "August" - -#: lib/object.php:475 templates/calendar.php:7 -msgid "September" -msgstr "September" - -#: lib/object.php:476 templates/calendar.php:7 -msgid "October" -msgstr "Oktober" - -#: lib/object.php:477 templates/calendar.php:7 -msgid "November" -msgstr "November" - -#: lib/object.php:478 templates/calendar.php:7 -msgid "December" -msgstr "Dezember" - -#: lib/object.php:488 -msgid "by events date" -msgstr "nach Tag des Termins" - -#: lib/object.php:489 -msgid "by yearday(s)" -msgstr "nach Tag des Jahres" - -#: lib/object.php:490 -msgid "by weeknumber(s)" -msgstr "nach Wochennummer" - -#: lib/object.php:491 -msgid "by day and month" -msgstr "nach Tag und Monat" - -#: lib/search.php:35 lib/search.php:37 lib/search.php:40 -msgid "Date" -msgstr "Datum" - -#: lib/search.php:43 -msgid "Cal." -msgstr "Kal." - -#: templates/calendar.php:6 -msgid "Sun." -msgstr "So" - -#: templates/calendar.php:6 -msgid "Mon." -msgstr "Mo" - -#: templates/calendar.php:6 -msgid "Tue." -msgstr "Di" - -#: templates/calendar.php:6 -msgid "Wed." -msgstr "Mi" - -#: templates/calendar.php:6 -msgid "Thu." -msgstr "Do" - -#: templates/calendar.php:6 -msgid "Fri." -msgstr "Fr" - -#: templates/calendar.php:6 -msgid "Sat." -msgstr "Sa" - -#: templates/calendar.php:8 -msgid "Jan." -msgstr "Jan." - -#: templates/calendar.php:8 -msgid "Feb." -msgstr "Feb." - -#: templates/calendar.php:8 -msgid "Mar." -msgstr "Mär." - -#: templates/calendar.php:8 -msgid "Apr." -msgstr "Apr." - -#: templates/calendar.php:8 -msgid "May." -msgstr "Mai" - -#: templates/calendar.php:8 -msgid "Jun." -msgstr "Jun." - -#: templates/calendar.php:8 -msgid "Jul." -msgstr "Jul." - -#: templates/calendar.php:8 -msgid "Aug." -msgstr "Aug." - -#: templates/calendar.php:8 -msgid "Sep." -msgstr "Sep." - -#: templates/calendar.php:8 -msgid "Oct." -msgstr "Okt." - -#: templates/calendar.php:8 -msgid "Nov." -msgstr "Nov." - -#: templates/calendar.php:8 -msgid "Dec." -msgstr "Dez." - -#: templates/calendar.php:11 -msgid "All day" -msgstr "Ganztags" - -#: templates/calendar.php:13 -msgid "Missing fields" -msgstr "fehlende Felder" - -#: templates/calendar.php:14 templates/part.eventform.php:19 -#: templates/part.showevent.php:11 -msgid "Title" -msgstr "Titel" - -#: templates/calendar.php:16 -msgid "From Date" -msgstr "Startdatum" - -#: templates/calendar.php:17 -msgid "From Time" -msgstr "Startzeit" - -#: templates/calendar.php:18 -msgid "To Date" -msgstr "Enddatum" - -#: templates/calendar.php:19 -msgid "To Time" -msgstr "Endzeit" - -#: templates/calendar.php:20 -msgid "The event ends before it starts" -msgstr "Der Termin hört auf, bevor er angefangen hat." - -#: templates/calendar.php:21 -msgid "There was a database fail" -msgstr "Datenbankfehler" - -#: templates/calendar.php:39 -msgid "Week" -msgstr "Woche" - -#: templates/calendar.php:40 -msgid "Month" -msgstr "Monat" - -#: templates/calendar.php:41 -msgid "List" -msgstr "Liste" - -#: templates/calendar.php:45 -msgid "Today" -msgstr "Heute" - -#: templates/calendar.php:46 templates/calendar.php:47 -msgid "Settings" -msgstr "Einstellungen" - -#: templates/part.choosecalendar.php:2 -msgid "Your calendars" -msgstr "Deine Kalender" - -#: templates/part.choosecalendar.php:27 -#: templates/part.choosecalendar.rowfields.php:11 -msgid "CalDav Link" -msgstr "CalDAV-Link" - -#: templates/part.choosecalendar.php:31 -msgid "Shared calendars" -msgstr "Geteilte Kalender" - -#: templates/part.choosecalendar.php:48 -msgid "No shared calendars" -msgstr "Keine geteilten Kalender" - -#: templates/part.choosecalendar.rowfields.php:8 -msgid "Share Calendar" -msgstr "Kalender teilen" - -#: templates/part.choosecalendar.rowfields.php:14 -msgid "Download" -msgstr "Herunterladen" - -#: templates/part.choosecalendar.rowfields.php:17 -msgid "Edit" -msgstr "Bearbeiten" - -#: templates/part.choosecalendar.rowfields.php:20 -#: templates/part.editevent.php:9 -msgid "Delete" -msgstr "Löschen" - -#: templates/part.choosecalendar.rowfields.shared.php:4 -msgid "shared with you by" -msgstr "Geteilt mit dir von" - -#: templates/part.editcalendar.php:9 -msgid "New calendar" -msgstr "Neuer Kalender" - -#: templates/part.editcalendar.php:9 -msgid "Edit calendar" -msgstr "Kalender bearbeiten" - -#: templates/part.editcalendar.php:12 -msgid "Displayname" -msgstr "Anzeigename" - -#: templates/part.editcalendar.php:23 -msgid "Active" -msgstr "Aktiv" - -#: templates/part.editcalendar.php:29 -msgid "Calendar color" -msgstr "Kalenderfarbe" - -#: templates/part.editcalendar.php:42 -msgid "Save" -msgstr "Speichern" - -#: templates/part.editcalendar.php:42 templates/part.editevent.php:8 -#: templates/part.newevent.php:6 -msgid "Submit" -msgstr "Bestätigen" - -#: templates/part.editcalendar.php:43 -msgid "Cancel" -msgstr "Abbrechen" - -#: templates/part.editevent.php:1 -msgid "Edit an event" -msgstr "Ereignis bearbeiten" - -#: templates/part.editevent.php:10 -msgid "Export" -msgstr "Exportieren" - -#: templates/part.eventform.php:8 templates/part.showevent.php:3 -msgid "Eventinfo" -msgstr "Termininfo" - -#: templates/part.eventform.php:9 templates/part.showevent.php:4 -msgid "Repeating" -msgstr "Wiederholen" - -#: templates/part.eventform.php:10 templates/part.showevent.php:5 -msgid "Alarm" -msgstr "Alarm" - -#: templates/part.eventform.php:11 templates/part.showevent.php:6 -msgid "Attendees" -msgstr "Teilnehmer" - -#: templates/part.eventform.php:13 -msgid "Share" -msgstr "Teilen" - -#: templates/part.eventform.php:21 -msgid "Title of the Event" -msgstr "Name" - -#: templates/part.eventform.php:27 templates/part.showevent.php:19 -msgid "Category" -msgstr "Kategorie" - -#: templates/part.eventform.php:29 -msgid "Separate categories with commas" -msgstr "Kategorien mit Kommas trennen" - -#: templates/part.eventform.php:30 -msgid "Edit categories" -msgstr "Kategorien ändern" - -#: templates/part.eventform.php:56 templates/part.showevent.php:52 -msgid "All Day Event" -msgstr "Ganztägiges Ereignis" - -#: templates/part.eventform.php:60 templates/part.showevent.php:56 -msgid "From" -msgstr "von" - -#: templates/part.eventform.php:68 templates/part.showevent.php:64 -msgid "To" -msgstr "bis" - -#: templates/part.eventform.php:76 templates/part.showevent.php:72 -msgid "Advanced options" -msgstr "Erweiterte Optionen" - -#: templates/part.eventform.php:81 templates/part.showevent.php:77 -msgid "Location" -msgstr "Ort" - -#: templates/part.eventform.php:83 -msgid "Location of the Event" -msgstr "Ort" - -#: templates/part.eventform.php:89 templates/part.showevent.php:85 -msgid "Description" -msgstr "Beschreibung" - -#: templates/part.eventform.php:91 -msgid "Description of the Event" -msgstr "Beschreibung" - -#: templates/part.eventform.php:100 templates/part.showevent.php:95 -msgid "Repeat" -msgstr "wiederholen" - -#: templates/part.eventform.php:107 templates/part.showevent.php:102 -msgid "Advanced" -msgstr "Erweitert" - -#: templates/part.eventform.php:151 templates/part.showevent.php:146 -msgid "Select weekdays" -msgstr "Wochentage auswählen" - -#: templates/part.eventform.php:164 templates/part.eventform.php:177 -#: templates/part.showevent.php:159 templates/part.showevent.php:172 -msgid "Select days" -msgstr "Tage auswählen" - -#: templates/part.eventform.php:169 templates/part.showevent.php:164 -msgid "and the events day of year." -msgstr "und den Tag des Jahres vom Termin" - -#: templates/part.eventform.php:182 templates/part.showevent.php:177 -msgid "and the events day of month." -msgstr "und den Tag des Monats vom Termin" - -#: templates/part.eventform.php:190 templates/part.showevent.php:185 -msgid "Select months" -msgstr "Monate auswählen" - -#: templates/part.eventform.php:203 templates/part.showevent.php:198 -msgid "Select weeks" -msgstr "Wochen auswählen" - -#: templates/part.eventform.php:208 templates/part.showevent.php:203 -msgid "and the events week of year." -msgstr "und den Tag des Jahres vom Termin" - -#: templates/part.eventform.php:214 templates/part.showevent.php:209 -msgid "Interval" -msgstr "Intervall" - -#: templates/part.eventform.php:220 templates/part.showevent.php:215 -msgid "End" -msgstr "Ende" - -#: templates/part.eventform.php:233 templates/part.showevent.php:228 -msgid "occurrences" -msgstr "Termine" - -#: templates/part.import.php:14 -msgid "create a new calendar" -msgstr "Neuen Kalender anlegen" - -#: templates/part.import.php:17 -msgid "Import a calendar file" -msgstr "Kalenderdatei importieren" - -#: templates/part.import.php:24 -msgid "Please choose a calendar" -msgstr "Wählen Sie bitte einen Kalender." - -#: templates/part.import.php:36 -msgid "Name of new calendar" -msgstr "Kalendername" - -#: templates/part.import.php:44 -msgid "Take an available name!" -msgstr "Wählen Sie einen verfügbaren Namen." - -#: templates/part.import.php:45 -msgid "" -"A Calendar with this name already exists. If you continue anyhow, these " -"calendars will be merged." -msgstr "Ein Kalender mit diesem Namen existiert bereits. Sollten Sie fortfahren, werden die beiden Kalender zusammengeführt." - -#: templates/part.import.php:47 -msgid "Import" -msgstr "Importieren" - -#: templates/part.import.php:56 -msgid "Close Dialog" -msgstr "Dialog schließen" - -#: templates/part.newevent.php:1 -msgid "Create a new event" -msgstr "Neues Ereignis" - -#: templates/part.showevent.php:1 -msgid "View an event" -msgstr "Termin öffnen" - -#: templates/part.showevent.php:23 -msgid "No categories selected" -msgstr "Keine Kategorie ausgewählt" - -#: templates/part.showevent.php:37 -msgid "of" -msgstr "von" - -#: templates/part.showevent.php:59 templates/part.showevent.php:67 -msgid "at" -msgstr "um" - -#: templates/settings.php:10 -msgid "General" -msgstr "Allgemein" - -#: templates/settings.php:15 -msgid "Timezone" -msgstr "Zeitzone" - -#: templates/settings.php:47 -msgid "Update timezone automatically" -msgstr "Zeitzone automatisch aktualisieren" - -#: templates/settings.php:52 -msgid "Time format" -msgstr "Zeitformat" - -#: templates/settings.php:57 -msgid "24h" -msgstr "24 Stunden" - -#: templates/settings.php:58 -msgid "12h" -msgstr "12 Stunden" - -#: templates/settings.php:64 -msgid "Start week on" -msgstr "Erster Wochentag" - -#: templates/settings.php:76 -msgid "Cache" -msgstr "Zwischenspeicher" - -#: templates/settings.php:80 -msgid "Clear cache for repeating events" -msgstr "Lösche den Zwischenspeicher für wiederholende Veranstaltungen" - -#: templates/settings.php:85 -msgid "URLs" -msgstr "URLs" - -#: templates/settings.php:87 -msgid "Calendar CalDAV syncing addresses" -msgstr "CalDAV-Kalender gleicht Adressen ab" - -#: templates/settings.php:87 -msgid "more info" -msgstr "weitere Informationen" - -#: templates/settings.php:89 -msgid "Primary address (Kontact et al)" -msgstr "Primäre Adresse (Kontakt u.a.)" - -#: templates/settings.php:91 -msgid "iOS/OS X" -msgstr "iOS/OS X" - -#: templates/settings.php:93 -msgid "Read only iCalendar link(s)" -msgstr "Nur lesende(r) iCalender-Link(s)" - -#: templates/share.dropdown.php:20 -msgid "Users" -msgstr "Benutzer" - -#: templates/share.dropdown.php:21 -msgid "select users" -msgstr "Benutzer auswählen" - -#: templates/share.dropdown.php:36 templates/share.dropdown.php:62 -msgid "Editable" -msgstr "editierbar" - -#: templates/share.dropdown.php:48 -msgid "Groups" -msgstr "Gruppen" - -#: templates/share.dropdown.php:49 -msgid "select groups" -msgstr "Gruppen auswählen" - -#: templates/share.dropdown.php:75 -msgid "make public" -msgstr "Veröffentlichen" diff --git a/l10n/de/contacts.po b/l10n/de/contacts.po deleted file mode 100644 index 74a5bee2a88024216b8f493bc705fb03a9d4a9c8..0000000000000000000000000000000000000000 --- a/l10n/de/contacts.po +++ /dev/null @@ -1,970 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# , 2012. -# , 2012. -# , 2012. -# , 2012. -# , 2011. -# Jan-Christoph Borchardt , 2011. -# Jan-Christoph Borchardt , 2011. -# Marcel Kühlhorn , 2012. -# Melvin Gundlach , 2012. -# Michael Krell , 2012. -# , 2012. -# , 2012. -# , 2012. -# Phi Lieb <>, 2012. -# Susi <>, 2012. -# , 2012. -# Thomas Müller <>, 2012. -# , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-25 02:04+0200\n" -"PO-Revision-Date: 2012-08-24 08:07+0000\n" -"Last-Translator: traductor \n" -"Language-Team: German (http://www.transifex.com/projects/p/owncloud/language/de/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: de\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: ajax/addressbook/activate.php:24 ajax/addressbook/update.php:32 -msgid "Error (de)activating addressbook." -msgstr "(De-)Aktivierung des Adressbuches fehlgeschlagen" - -#: ajax/addressbook/delete.php:31 ajax/addressbook/update.php:20 -#: ajax/contact/addproperty.php:42 ajax/contact/delete.php:32 -#: ajax/contact/saveproperty.php:39 -msgid "id is not set." -msgstr "ID ist nicht angegeben." - -#: ajax/addressbook/update.php:24 -msgid "Cannot update addressbook with an empty name." -msgstr "Adressbuch kann nicht mir leeren Namen aktualisiert werden." - -#: ajax/addressbook/update.php:28 -msgid "Error updating addressbook." -msgstr "Adressbuch aktualisieren fehlgeschlagen." - -#: ajax/categories/categoriesfor.php:17 -msgid "No ID provided" -msgstr "Keine ID angegeben" - -#: ajax/categories/categoriesfor.php:34 -msgid "Error setting checksum." -msgstr "Fehler beim Setzen der Prüfsumme." - -#: ajax/categories/delete.php:19 -msgid "No categories selected for deletion." -msgstr "Keine Kategorien zum Löschen ausgewählt." - -#: ajax/categories/delete.php:26 -msgid "No address books found." -msgstr "Keine Adressbücher gefunden." - -#: ajax/categories/delete.php:34 -msgid "No contacts found." -msgstr "Keine Kontakte gefunden." - -#: ajax/contact/add.php:47 -msgid "There was an error adding the contact." -msgstr "Erstellen des Kontakts fehlgeschlagen." - -#: ajax/contact/addproperty.php:39 ajax/contact/saveproperty.php:36 -msgid "element name is not set." -msgstr "Kein Name für das Element angegeben." - -#: ajax/contact/addproperty.php:46 -msgid "Could not parse contact: " -msgstr "Konnte folgenden Kontakt nicht verarbeiten:" - -#: ajax/contact/addproperty.php:56 -msgid "Cannot add empty property." -msgstr "Feld darf nicht leer sein." - -#: ajax/contact/addproperty.php:67 -msgid "At least one of the address fields has to be filled out." -msgstr "Mindestens eines der Adressfelder muss ausgefüllt werden." - -#: ajax/contact/addproperty.php:76 -msgid "Trying to add duplicate property: " -msgstr "Versuche doppelte Eigenschaft hinzuzufügen: " - -#: ajax/contact/addproperty.php:115 ajax/contact/saveproperty.php:93 -msgid "Missing IM parameter." -msgstr "IM-Parameter fehlt." - -#: ajax/contact/addproperty.php:119 ajax/contact/saveproperty.php:97 -msgid "Unknown IM: " -msgstr "IM unbekannt:" - -#: ajax/contact/deleteproperty.php:37 -msgid "Information about vCard is incorrect. Please reload the page." -msgstr "Die Information der vCard ist fehlerhaft. Bitte aktualisieren Sie die Seite." - -#: ajax/contact/details.php:31 -msgid "Missing ID" -msgstr "Fehlende ID" - -#: ajax/contact/details.php:36 -msgid "Error parsing VCard for ID: \"" -msgstr "Fehler beim Einlesen der VCard für die ID: \"" - -#: ajax/contact/saveproperty.php:42 -msgid "checksum is not set." -msgstr "Keine Prüfsumme angegeben." - -#: ajax/contact/saveproperty.php:62 -msgid "Information about vCard is incorrect. Please reload the page: " -msgstr "Die Informationen zur vCard sind fehlerhaft. Bitte Seite neu laden: " - -#: ajax/contact/saveproperty.php:69 -msgid "Something went FUBAR. " -msgstr "Irgendwas ist hier so richtig schief gelaufen. " - -#: ajax/currentphoto.php:30 ajax/oc_photo.php:28 ajax/uploadphoto.php:36 -#: ajax/uploadphoto.php:68 -msgid "No contact ID was submitted." -msgstr "Es wurde keine Kontakt-ID übermittelt." - -#: ajax/currentphoto.php:36 -msgid "Error reading contact photo." -msgstr "Fehler beim Auslesen des Kontaktfotos." - -#: ajax/currentphoto.php:48 -msgid "Error saving temporary file." -msgstr "Fehler beim Speichern der temporären Datei." - -#: ajax/currentphoto.php:51 -msgid "The loading photo is not valid." -msgstr "Das Kontaktfoto ist fehlerhaft." - -#: ajax/editname.php:31 -msgid "Contact ID is missing." -msgstr "Keine Kontakt-ID angegeben." - -#: ajax/oc_photo.php:32 -msgid "No photo path was submitted." -msgstr "Kein Foto-Pfad übermittelt." - -#: ajax/oc_photo.php:39 -msgid "File doesn't exist:" -msgstr "Datei existiert nicht: " - -#: ajax/oc_photo.php:44 ajax/oc_photo.php:47 -msgid "Error loading image." -msgstr "Fehler beim Laden des Bildes." - -#: ajax/savecrop.php:69 -msgid "Error getting contact object." -msgstr "Fehler beim Abruf des Kontakt-Objektes." - -#: ajax/savecrop.php:79 -msgid "Error getting PHOTO property." -msgstr "Fehler beim Abrufen der PHOTO-Eigenschaft." - -#: ajax/savecrop.php:98 -msgid "Error saving contact." -msgstr "Fehler beim Speichern des Kontaktes." - -#: ajax/savecrop.php:109 -msgid "Error resizing image" -msgstr "Fehler bei der Größenänderung des Bildes" - -#: ajax/savecrop.php:112 -msgid "Error cropping image" -msgstr "Fehler beim Zuschneiden des Bildes" - -#: ajax/savecrop.php:115 -msgid "Error creating temporary image" -msgstr "Fehler beim Erstellen des temporären Bildes" - -#: ajax/savecrop.php:118 -msgid "Error finding image: " -msgstr "Fehler beim Suchen des Bildes: " - -#: ajax/uploadimport.php:44 ajax/uploadimport.php:76 -msgid "Error uploading contacts to storage." -msgstr "Übertragen der Kontakte fehlgeschlagen." - -#: ajax/uploadimport.php:61 ajax/uploadphoto.php:77 -msgid "There is no error, the file uploaded with success" -msgstr "Alles bestens, Datei erfolgreich übertragen." - -#: ajax/uploadimport.php:62 ajax/uploadphoto.php:78 -msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" -msgstr "Datei größer, als durch die upload_max_filesize Direktive in php.ini erlaubt" - -#: ajax/uploadimport.php:63 ajax/uploadphoto.php:79 -msgid "" -"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " -"the HTML form" -msgstr "Datei größer, als die MAX_FILE_SIZE Direktive erlaubt, die im HTML Formular spezifiziert ist" - -#: ajax/uploadimport.php:64 ajax/uploadphoto.php:80 -msgid "The uploaded file was only partially uploaded" -msgstr "Datei konnte nur teilweise übertragen werden" - -#: ajax/uploadimport.php:65 ajax/uploadphoto.php:81 -msgid "No file was uploaded" -msgstr "Keine Datei konnte übertragen werden." - -#: ajax/uploadimport.php:66 ajax/uploadphoto.php:82 -msgid "Missing a temporary folder" -msgstr "Kein temporärer Ordner vorhanden" - -#: ajax/uploadphoto.php:59 ajax/uploadphoto.php:109 -msgid "Couldn't save temporary image: " -msgstr "Konnte das temporäre Bild nicht speichern:" - -#: ajax/uploadphoto.php:62 ajax/uploadphoto.php:112 -msgid "Couldn't load temporary image: " -msgstr "Konnte das temporäre Bild nicht laden:" - -#: ajax/uploadphoto.php:71 -msgid "No file was uploaded. Unknown error" -msgstr "Keine Datei hochgeladen. Unbekannter Fehler" - -#: appinfo/app.php:25 -msgid "Contacts" -msgstr "Kontakte" - -#: js/contacts.js:71 -msgid "Sorry, this functionality has not been implemented yet" -msgstr "Diese Funktion steht leider noch nicht zur Verfügung" - -#: js/contacts.js:71 -msgid "Not implemented" -msgstr "Nicht verfügbar" - -#: js/contacts.js:76 -msgid "Couldn't get a valid address." -msgstr "Konnte keine gültige Adresse abrufen." - -#: js/contacts.js:76 js/contacts.js:365 js/contacts.js:381 js/contacts.js:393 -#: js/contacts.js:723 js/contacts.js:763 js/contacts.js:789 js/contacts.js:921 -#: js/contacts.js:927 js/contacts.js:939 js/contacts.js:976 -#: js/contacts.js:1250 js/contacts.js:1258 js/contacts.js:1267 -#: js/contacts.js:1302 js/contacts.js:1338 js/contacts.js:1353 -#: js/contacts.js:1379 js/contacts.js:1609 js/contacts.js:1644 -#: js/contacts.js:1664 js/settings.js:26 js/settings.js:43 js/settings.js:68 -msgid "Error" -msgstr "Fehler" - -#: js/contacts.js:424 -msgid "You do not have permission to add contacts to " -msgstr "Sie besitzen nicht die erforderlichen Rechte, um Kontakte hinzuzufügen" - -#: js/contacts.js:425 -msgid "Please select one of your own address books." -msgstr "Bitte wählen Sie eines Ihrer Adressbücher aus." - -#: js/contacts.js:425 -msgid "Permission error" -msgstr "Berechtigungsfehler" - -#: js/contacts.js:763 -msgid "This property has to be non-empty." -msgstr "Dieses Feld darf nicht leer sein." - -#: js/contacts.js:789 -msgid "Couldn't serialize elements." -msgstr "Konnte Elemente nicht serialisieren" - -#: js/contacts.js:921 js/contacts.js:939 -msgid "" -"'deleteProperty' called without type argument. Please report at " -"bugs.owncloud.org" -msgstr "'deleteProperty' wurde ohne Argumente aufgerufen. Bitte melden Sie dies auf bugs.owncloud.org" - -#: js/contacts.js:958 -msgid "Edit name" -msgstr "Name ändern" - -#: js/contacts.js:1250 -msgid "No files selected for upload." -msgstr "Keine Datei(en) zum Hochladen ausgewählt." - -#: js/contacts.js:1258 -msgid "" -"The file you are trying to upload exceed the maximum size for file uploads " -"on this server." -msgstr "Die Datei, die Sie hochladen möchten, überschreitet die maximale Größe für Datei-Uploads auf diesem Server." - -#: js/contacts.js:1322 -msgid "Error loading profile picture." -msgstr "Fehler beim Laden des Profilbildes." - -#: js/contacts.js:1457 js/contacts.js:1498 js/contacts.js:1517 -#: js/contacts.js:1560 -msgid "Select type" -msgstr "Wähle Typ" - -#: js/contacts.js:1578 -msgid "" -"Some contacts are marked for deletion, but not deleted yet. Please wait for " -"them to be deleted." -msgstr "Einige zum Löschen markiert Kontakte wurden noch nicht gelöscht. Bitte warten." - -#: js/contacts.js:1649 -msgid "Do you want to merge these address books?" -msgstr "Möchten Sie diese Adressbücher zusammenführen?" - -#: js/loader.js:49 -msgid "Result: " -msgstr "Ergebnis: " - -#: js/loader.js:49 -msgid " imported, " -msgstr " importiert, " - -#: js/loader.js:49 -msgid " failed." -msgstr " fehlgeschlagen." - -#: js/settings.js:68 -msgid "Displayname cannot be empty." -msgstr "Der Anzeigename darf nicht leer sein." - -#: lib/app.php:36 -msgid "Addressbook not found: " -msgstr "Adressbuch nicht gefunden:" - -#: lib/app.php:52 -msgid "This is not your addressbook." -msgstr "Dies ist nicht Ihr Adressbuch." - -#: lib/app.php:71 -msgid "Contact could not be found." -msgstr "Kontakt konnte nicht gefunden werden." - -#: lib/app.php:116 -msgid "Jabber" -msgstr "Jabber" - -#: lib/app.php:121 -msgid "AIM" -msgstr "AIM" - -#: lib/app.php:126 -msgid "MSN" -msgstr "MSN" - -#: lib/app.php:131 -msgid "Twitter" -msgstr "Twitter" - -#: lib/app.php:136 -msgid "GoogleTalk" -msgstr "GoogleTalk" - -#: lib/app.php:141 -msgid "Facebook" -msgstr "Facebook" - -#: lib/app.php:146 -msgid "XMPP" -msgstr "XMPP" - -#: lib/app.php:151 -msgid "ICQ" -msgstr "ICQ" - -#: lib/app.php:156 -msgid "Yahoo" -msgstr "Yahoo" - -#: lib/app.php:161 -msgid "Skype" -msgstr "Skype" - -#: lib/app.php:166 -msgid "QQ" -msgstr "QQ" - -#: lib/app.php:171 -msgid "GaduGadu" -msgstr "GaduGadu" - -#: lib/app.php:194 lib/app.php:202 lib/app.php:213 lib/app.php:266 -msgid "Work" -msgstr "Arbeit" - -#: lib/app.php:195 lib/app.php:200 lib/app.php:214 -msgid "Home" -msgstr "Zuhause" - -#: lib/app.php:196 lib/app.php:209 lib/app.php:262 lib/vcard.php:593 -msgid "Other" -msgstr "Andere" - -#: lib/app.php:201 -msgid "Mobile" -msgstr "Mobil" - -#: lib/app.php:203 -msgid "Text" -msgstr "Text" - -#: lib/app.php:204 -msgid "Voice" -msgstr "Anruf" - -#: lib/app.php:205 -msgid "Message" -msgstr "Mitteilung" - -#: lib/app.php:206 -msgid "Fax" -msgstr "Fax" - -#: lib/app.php:207 -msgid "Video" -msgstr "Video" - -#: lib/app.php:208 -msgid "Pager" -msgstr "Pager" - -#: lib/app.php:215 -msgid "Internet" -msgstr "Internet" - -#: lib/app.php:252 templates/part.contact.php:45 -#: templates/part.contact.php:128 -msgid "Birthday" -msgstr "Geburtstag" - -#: lib/app.php:253 -msgid "Business" -msgstr "Geschäftlich" - -#: lib/app.php:254 -msgid "Call" -msgstr "Anruf" - -#: lib/app.php:255 -msgid "Clients" -msgstr "Kunden" - -#: lib/app.php:256 -msgid "Deliverer" -msgstr "Lieferant" - -#: lib/app.php:257 -msgid "Holidays" -msgstr "Feiertage" - -#: lib/app.php:258 -msgid "Ideas" -msgstr "Ideen" - -#: lib/app.php:259 -msgid "Journey" -msgstr "Reise" - -#: lib/app.php:260 -msgid "Jubilee" -msgstr "Jubiläum" - -#: lib/app.php:261 -msgid "Meeting" -msgstr "Besprechung" - -#: lib/app.php:263 -msgid "Personal" -msgstr "Persönlich" - -#: lib/app.php:264 -msgid "Projects" -msgstr "Projekte" - -#: lib/app.php:265 -msgid "Questions" -msgstr "Fragen" - -#: lib/hooks.php:102 -msgid "{name}'s Birthday" -msgstr "Geburtstag von {name}" - -#: lib/search.php:15 -msgid "Contact" -msgstr "Kontakt" - -#: lib/vcard.php:408 -msgid "You do not have the permissions to edit this contact." -msgstr "Sie besitzen nicht die erforderlichen Rechte, um diesen Kontakt zu bearbeiten." - -#: lib/vcard.php:483 -msgid "You do not have the permissions to delete this contact." -msgstr "Sie besitzen nicht die erforderlichen Rechte, um diesen Kontakte zu löschen." - -#: templates/index.php:14 -msgid "Add Contact" -msgstr "Kontakt hinzufügen" - -#: templates/index.php:15 templates/index.php:16 templates/part.import.php:17 -msgid "Import" -msgstr "Importieren" - -#: templates/index.php:18 -msgid "Settings" -msgstr "Einstellungen" - -#: templates/index.php:18 templates/settings.php:9 -msgid "Addressbooks" -msgstr "Adressbücher" - -#: templates/index.php:36 templates/part.import.php:24 -msgid "Close" -msgstr "Schließen" - -#: templates/index.php:37 -msgid "Keyboard shortcuts" -msgstr "Tastaturbefehle" - -#: templates/index.php:39 -msgid "Navigation" -msgstr "Navigation" - -#: templates/index.php:42 -msgid "Next contact in list" -msgstr "Nächster Kontakt aus der Liste" - -#: templates/index.php:44 -msgid "Previous contact in list" -msgstr "Vorheriger Kontakt aus der Liste" - -#: templates/index.php:46 -msgid "Expand/collapse current addressbook" -msgstr "Ausklappen/Einklappen des Adressbuches" - -#: templates/index.php:48 -msgid "Next addressbook" -msgstr "Nächstes Adressbuch" - -#: templates/index.php:50 -msgid "Previous addressbook" -msgstr "Vorheriges Adressbuch" - -#: templates/index.php:54 -msgid "Actions" -msgstr "Aktionen" - -#: templates/index.php:57 -msgid "Refresh contacts list" -msgstr "Kontaktliste neu laden" - -#: templates/index.php:59 -msgid "Add new contact" -msgstr "Neuen Kontakt hinzufügen" - -#: templates/index.php:61 -msgid "Add new addressbook" -msgstr "Neues Adressbuch hinzufügen" - -#: templates/index.php:63 -msgid "Delete current contact" -msgstr "Aktuellen Kontakt löschen" - -#: templates/part.contact.php:17 -msgid "Drop photo to upload" -msgstr "Ziehen Sie ein Foto zum Hochladen hierher" - -#: templates/part.contact.php:19 -msgid "Delete current photo" -msgstr "Derzeitiges Foto löschen" - -#: templates/part.contact.php:20 -msgid "Edit current photo" -msgstr "Foto ändern" - -#: templates/part.contact.php:21 -msgid "Upload new photo" -msgstr "Neues Foto hochladen" - -#: templates/part.contact.php:22 -msgid "Select photo from ownCloud" -msgstr "Foto aus der ownCloud auswählen" - -#: templates/part.contact.php:35 -msgid "Format custom, Short name, Full name, Reverse or Reverse with comma" -msgstr "Format benutzerdefiniert, Kurzname, Vollname, Rückwärts oder Rückwärts mit Komma" - -#: templates/part.contact.php:36 -msgid "Edit name details" -msgstr "Name ändern" - -#: templates/part.contact.php:39 templates/part.contact.php:40 -#: templates/part.contact.php:126 -msgid "Organization" -msgstr "Organisation" - -#: templates/part.contact.php:40 templates/part.contact.php:42 -#: templates/part.contact.php:44 templates/part.contact.php:46 -#: templates/part.contact.php:50 templates/settings.php:36 -msgid "Delete" -msgstr "Löschen" - -#: templates/part.contact.php:41 templates/part.contact.php:127 -msgid "Nickname" -msgstr "Spitzname" - -#: templates/part.contact.php:42 -msgid "Enter nickname" -msgstr "Spitzname angeben" - -#: templates/part.contact.php:43 templates/part.contact.php:134 -msgid "Web site" -msgstr "Webseite" - -#: templates/part.contact.php:44 -msgid "http://www.somesite.com" -msgstr "http://www.somesite.com" - -#: templates/part.contact.php:44 -msgid "Go to web site" -msgstr "Webseite aufrufen" - -#: templates/part.contact.php:46 -msgid "dd-mm-yyyy" -msgstr "dd.mm.yyyy" - -#: templates/part.contact.php:47 templates/part.contact.php:135 -msgid "Groups" -msgstr "Gruppen" - -#: templates/part.contact.php:49 -msgid "Separate groups with commas" -msgstr "Gruppen mit Komma getrennt" - -#: templates/part.contact.php:50 -msgid "Edit groups" -msgstr "Gruppen editieren" - -#: templates/part.contact.php:59 templates/part.contact.php:73 -#: templates/part.contact.php:98 -msgid "Preferred" -msgstr "Bevorzugt" - -#: templates/part.contact.php:60 -msgid "Please specify a valid email address." -msgstr "Bitte eine gültige E-Mail-Adresse angeben." - -#: templates/part.contact.php:60 -msgid "Enter email address" -msgstr "E-Mail-Adresse angeben" - -#: templates/part.contact.php:64 -msgid "Mail to address" -msgstr "E-Mail an diese Adresse schreiben" - -#: templates/part.contact.php:65 -msgid "Delete email address" -msgstr "E-Mail-Adresse löschen" - -#: templates/part.contact.php:75 -msgid "Enter phone number" -msgstr "Telefonnummer angeben" - -#: templates/part.contact.php:79 -msgid "Delete phone number" -msgstr "Telefonnummer löschen" - -#: templates/part.contact.php:100 -msgid "Instant Messenger" -msgstr "Instant Messenger" - -#: templates/part.contact.php:101 -msgid "Delete IM" -msgstr "IM löschen" - -#: templates/part.contact.php:110 -msgid "View on map" -msgstr "Auf Karte anzeigen" - -#: templates/part.contact.php:110 -msgid "Edit address details" -msgstr "Adressinformationen ändern" - -#: templates/part.contact.php:116 -msgid "Add notes here." -msgstr "Füge hier Notizen ein." - -#: templates/part.contact.php:124 -msgid "Add field" -msgstr "Feld hinzufügen" - -#: templates/part.contact.php:129 -msgid "Phone" -msgstr "Telefon" - -#: templates/part.contact.php:130 -msgid "Email" -msgstr "E-Mail" - -#: templates/part.contact.php:131 -msgid "Instant Messaging" -msgstr "Instant Messaging" - -#: templates/part.contact.php:132 -msgid "Address" -msgstr "Adresse" - -#: templates/part.contact.php:133 -msgid "Note" -msgstr "Notiz" - -#: templates/part.contact.php:138 -msgid "Download contact" -msgstr "Kontakt herunterladen" - -#: templates/part.contact.php:139 -msgid "Delete contact" -msgstr "Kontakt löschen" - -#: templates/part.cropphoto.php:65 -msgid "The temporary image has been removed from cache." -msgstr "Das temporäre Bild wurde aus dem Cache gelöscht." - -#: templates/part.edit_address_dialog.php:6 -msgid "Edit address" -msgstr "Adresse ändern" - -#: templates/part.edit_address_dialog.php:10 -msgid "Type" -msgstr "Typ" - -#: templates/part.edit_address_dialog.php:18 -#: templates/part.edit_address_dialog.php:21 -msgid "PO Box" -msgstr "Postfach" - -#: templates/part.edit_address_dialog.php:24 -msgid "Street address" -msgstr "Straßenanschrift" - -#: templates/part.edit_address_dialog.php:27 -msgid "Street and number" -msgstr "Straße und Nummer" - -#: templates/part.edit_address_dialog.php:30 -msgid "Extended" -msgstr "Erweitert" - -#: templates/part.edit_address_dialog.php:33 -msgid "Apartment number etc." -msgstr "Wohnungsnummer usw." - -#: templates/part.edit_address_dialog.php:36 -#: templates/part.edit_address_dialog.php:39 -msgid "City" -msgstr "Stadt" - -#: templates/part.edit_address_dialog.php:42 -msgid "Region" -msgstr "Region" - -#: templates/part.edit_address_dialog.php:45 -msgid "E.g. state or province" -msgstr "Z.B. Staat oder Bezirk" - -#: templates/part.edit_address_dialog.php:48 -msgid "Zipcode" -msgstr "Postleitzahl" - -#: templates/part.edit_address_dialog.php:51 -msgid "Postal code" -msgstr "PLZ" - -#: templates/part.edit_address_dialog.php:54 -#: templates/part.edit_address_dialog.php:57 -msgid "Country" -msgstr "Land" - -#: templates/part.edit_name_dialog.php:16 -msgid "Addressbook" -msgstr "Adressbuch" - -#: templates/part.edit_name_dialog.php:23 -msgid "Hon. prefixes" -msgstr "Höflichkeitspräfixe" - -#: templates/part.edit_name_dialog.php:27 -msgid "Miss" -msgstr "Frau" - -#: templates/part.edit_name_dialog.php:28 -msgid "Ms" -msgstr "Frau" - -#: templates/part.edit_name_dialog.php:29 -msgid "Mr" -msgstr "Herr" - -#: templates/part.edit_name_dialog.php:30 -msgid "Sir" -msgstr "Herr" - -#: templates/part.edit_name_dialog.php:31 -msgid "Mrs" -msgstr "Frau" - -#: templates/part.edit_name_dialog.php:32 -msgid "Dr" -msgstr "Dr." - -#: templates/part.edit_name_dialog.php:35 -msgid "Given name" -msgstr "Vorname" - -#: templates/part.edit_name_dialog.php:37 -msgid "Additional names" -msgstr "Zusätzliche Namen" - -#: templates/part.edit_name_dialog.php:39 -msgid "Family name" -msgstr "Familienname" - -#: templates/part.edit_name_dialog.php:41 -msgid "Hon. suffixes" -msgstr "Höflichkeitssuffixe" - -#: templates/part.edit_name_dialog.php:45 -msgid "J.D." -msgstr "Dr. Jur." - -#: templates/part.edit_name_dialog.php:46 -msgid "M.D." -msgstr "Dr. med." - -#: templates/part.edit_name_dialog.php:47 -msgid "D.O." -msgstr "DGOM" - -#: templates/part.edit_name_dialog.php:48 -msgid "D.C." -msgstr "MChiro" - -#: templates/part.edit_name_dialog.php:49 -msgid "Ph.D." -msgstr "Dr." - -#: templates/part.edit_name_dialog.php:50 -msgid "Esq." -msgstr "Hochwohlgeborenen" - -#: templates/part.edit_name_dialog.php:51 -msgid "Jr." -msgstr "Jr." - -#: templates/part.edit_name_dialog.php:52 -msgid "Sn." -msgstr "Senior" - -#: templates/part.import.php:1 -msgid "Import a contacts file" -msgstr "Kontaktdatei importieren" - -#: templates/part.import.php:6 -msgid "Please choose the addressbook" -msgstr "Bitte Adressbuch auswählen" - -#: templates/part.import.php:10 -msgid "create a new addressbook" -msgstr "Neues Adressbuch erstellen" - -#: templates/part.import.php:15 -msgid "Name of new addressbook" -msgstr "Name des neuen Adressbuchs" - -#: templates/part.import.php:20 -msgid "Importing contacts" -msgstr "Kontakte werden importiert" - -#: templates/part.no_contacts.php:3 -msgid "You have no contacts in your addressbook." -msgstr "Sie haben keine Kontakte im Adressbuch." - -#: templates/part.no_contacts.php:5 -msgid "Add contact" -msgstr "Kontakt hinzufügen" - -#: templates/part.selectaddressbook.php:1 -msgid "Select Address Books" -msgstr "Wähle Adressbuch" - -#: templates/part.selectaddressbook.php:27 -msgid "Enter name" -msgstr "Name eingeben" - -#: templates/part.selectaddressbook.php:29 -msgid "Enter description" -msgstr "Beschreibung eingeben" - -#: templates/settings.php:3 -msgid "CardDAV syncing addresses" -msgstr "CardDAV Sync-Adressen" - -#: templates/settings.php:3 -msgid "more info" -msgstr "mehr Informationen" - -#: templates/settings.php:5 -msgid "Primary address (Kontact et al)" -msgstr "Primäre Adresse (für Kontakt o.ä.)" - -#: templates/settings.php:7 -msgid "iOS/OS X" -msgstr "iOS/OS X" - -#: templates/settings.php:20 -msgid "Show CardDav link" -msgstr "CardDav-Link anzeigen" - -#: templates/settings.php:23 -msgid "Show read-only VCF link" -msgstr "Schreibgeschützten VCF-Link anzeigen" - -#: templates/settings.php:26 -msgid "Share" -msgstr "Teilen" - -#: templates/settings.php:29 -msgid "Download" -msgstr "Herunterladen" - -#: templates/settings.php:33 -msgid "Edit" -msgstr "Bearbeiten" - -#: templates/settings.php:43 -msgid "New Address Book" -msgstr "Neues Adressbuch" - -#: templates/settings.php:44 -msgid "Name" -msgstr "Name" - -#: templates/settings.php:45 -msgid "Description" -msgstr "Beschreibung" - -#: templates/settings.php:46 -msgid "Save" -msgstr "Speichern" - -#: templates/settings.php:47 -msgid "Cancel" -msgstr "Abbrechen" - -#: templates/settings.php:52 -msgid "More..." -msgstr "Mehr..." diff --git a/l10n/de/core.po b/l10n/de/core.po index 8e023a66d62799d784aa624d06d38b356b1c9527..5171950e1ac8bebf8135cd7b726bcb4fc439c8e8 100644 --- a/l10n/de/core.po +++ b/l10n/de/core.po @@ -11,6 +11,7 @@ # Jan-Christoph Borchardt , 2011. # , 2012. # Marcel Kühlhorn , 2012. +# , 2012. # , 2012. # , 2012. # Phi Lieb <>, 2012. @@ -20,9 +21,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-16 02:04+0200\n" -"PO-Revision-Date: 2012-10-16 00:05+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-11-23 00:01+0100\n" +"PO-Revision-Date: 2012-11-22 09:33+0000\n" +"Last-Translator: Mirodin \n" "Language-Team: German (http://www.transifex.com/projects/p/owncloud/language/de/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -30,227 +31,259 @@ msgstr "" "Language: de\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: ajax/vcategories/add.php:23 ajax/vcategories/delete.php:23 -msgid "Application name not provided." -msgstr "Der Anwendungsname wurde nicht angegeben." +#: ajax/vcategories/add.php:26 ajax/vcategories/edit.php:25 +msgid "Category type not provided." +msgstr "Kategorie nicht angegeben." -#: ajax/vcategories/add.php:29 +#: ajax/vcategories/add.php:30 msgid "No category to add?" msgstr "Keine Kategorie hinzuzufügen?" -#: ajax/vcategories/add.php:36 +#: ajax/vcategories/add.php:37 msgid "This category already exists: " msgstr "Kategorie existiert bereits:" -#: js/js.js:238 templates/layout.user.php:49 templates/layout.user.php:50 +#: ajax/vcategories/addToFavorites.php:26 ajax/vcategories/delete.php:27 +#: ajax/vcategories/favorites.php:24 +#: ajax/vcategories/removeFromFavorites.php:26 +msgid "Object type not provided." +msgstr "Objekttyp nicht angegeben." + +#: ajax/vcategories/addToFavorites.php:30 +#: ajax/vcategories/removeFromFavorites.php:30 +#, php-format +msgid "%s ID not provided." +msgstr "%s ID nicht angegeben." + +#: ajax/vcategories/addToFavorites.php:35 +#, php-format +msgid "Error adding %s to favorites." +msgstr "Fehler beim Hinzufügen von %s zu den Favoriten." + +#: ajax/vcategories/delete.php:35 js/oc-vcategories.js:136 +msgid "No categories selected for deletion." +msgstr "Es wurde keine Kategorien zum Löschen ausgewählt." + +#: ajax/vcategories/removeFromFavorites.php:35 +#, php-format +msgid "Error removing %s from favorites." +msgstr "Fehler beim Entfernen von %s von den Favoriten." + +#: js/js.js:259 templates/layout.user.php:60 templates/layout.user.php:61 msgid "Settings" msgstr "Einstellungen" -#: js/js.js:670 -msgid "January" -msgstr "Januar" +#: js/js.js:704 +msgid "seconds ago" +msgstr "Gerade eben" -#: js/js.js:670 -msgid "February" -msgstr "Februar" +#: js/js.js:705 +msgid "1 minute ago" +msgstr "vor einer Minute" -#: js/js.js:670 -msgid "March" -msgstr "März" +#: js/js.js:706 +msgid "{minutes} minutes ago" +msgstr "Vor {minutes} Minuten" -#: js/js.js:670 -msgid "April" -msgstr "April" +#: js/js.js:707 +msgid "1 hour ago" +msgstr "Vor einer Stunde" -#: js/js.js:670 -msgid "May" -msgstr "Mai" +#: js/js.js:708 +msgid "{hours} hours ago" +msgstr "Vor {hours} Stunden" -#: js/js.js:670 -msgid "June" -msgstr "Juni" +#: js/js.js:709 +msgid "today" +msgstr "Heute" -#: js/js.js:671 -msgid "July" -msgstr "Juli" +#: js/js.js:710 +msgid "yesterday" +msgstr "Gestern" -#: js/js.js:671 -msgid "August" -msgstr "August" +#: js/js.js:711 +msgid "{days} days ago" +msgstr "Vor {days} Tag(en)" -#: js/js.js:671 -msgid "September" -msgstr "September" +#: js/js.js:712 +msgid "last month" +msgstr "Letzten Monat" -#: js/js.js:671 -msgid "October" -msgstr "Oktober" +#: js/js.js:713 +msgid "{months} months ago" +msgstr "Vor {months} Monaten" -#: js/js.js:671 -msgid "November" -msgstr "November" +#: js/js.js:714 +msgid "months ago" +msgstr "Vor Monaten" -#: js/js.js:671 -msgid "December" -msgstr "Dezember" +#: js/js.js:715 +msgid "last year" +msgstr "Letztes Jahr" + +#: js/js.js:716 +msgid "years ago" +msgstr "Vor Jahren" -#: js/oc-dialogs.js:123 +#: js/oc-dialogs.js:126 msgid "Choose" msgstr "Auswählen" -#: js/oc-dialogs.js:143 js/oc-dialogs.js:163 +#: js/oc-dialogs.js:146 js/oc-dialogs.js:166 msgid "Cancel" msgstr "Abbrechen" -#: js/oc-dialogs.js:159 +#: js/oc-dialogs.js:162 msgid "No" msgstr "Nein" -#: js/oc-dialogs.js:160 +#: js/oc-dialogs.js:163 msgid "Yes" msgstr "Ja" -#: js/oc-dialogs.js:177 +#: js/oc-dialogs.js:180 msgid "Ok" msgstr "OK" -#: js/oc-vcategories.js:68 -msgid "No categories selected for deletion." -msgstr "Es wurde keine Kategorien zum Löschen ausgewählt." +#: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102 +#: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162 +msgid "The object type is not specified." +msgstr "Der Objekttyp ist nicht angegeben." -#: js/oc-vcategories.js:68 js/share.js:114 js/share.js:121 js/share.js:497 -#: js/share.js:509 +#: js/oc-vcategories.js:95 js/oc-vcategories.js:125 js/oc-vcategories.js:136 +#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:527 +#: js/share.js:539 msgid "Error" msgstr "Fehler" -#: js/share.js:103 +#: js/oc-vcategories.js:179 +msgid "The app name is not specified." +msgstr "Der App-Name ist nicht angegeben." + +#: js/oc-vcategories.js:194 +msgid "The required file {file} is not installed!" +msgstr "Die benötigte Datei {file} ist nicht installiert." + +#: js/share.js:124 msgid "Error while sharing" msgstr "Fehler beim Freigeben" -#: js/share.js:114 +#: js/share.js:135 msgid "Error while unsharing" msgstr "Fehler beim Aufheben der Freigabe" -#: js/share.js:121 +#: js/share.js:142 msgid "Error while changing permissions" -msgstr "Fehler beim Ändern der Rechte" - -#: js/share.js:130 -msgid "Shared with you and the group" -msgstr "Für Dich und folgende Gruppe freigegeben" +msgstr "Fehler beim Ändern der Rechte" -#: js/share.js:130 -msgid "by" -msgstr "mit" +#: js/share.js:151 +msgid "Shared with you and the group {group} by {owner}" +msgstr "{owner} hat dies für Dich und die Gruppe {group} freigegeben" -#: js/share.js:132 -msgid "Shared with you by" -msgstr "Dies wurde mit dir geteilt von" +#: js/share.js:153 +msgid "Shared with you by {owner}" +msgstr "{owner} hat dies für Dich freigegeben" -#: js/share.js:137 +#: js/share.js:158 msgid "Share with" msgstr "Freigeben für" -#: js/share.js:142 +#: js/share.js:163 msgid "Share with link" msgstr "Über einen Link freigeben" -#: js/share.js:143 +#: js/share.js:164 msgid "Password protect" msgstr "Passwortschutz" -#: js/share.js:147 templates/installation.php:42 templates/login.php:24 +#: js/share.js:168 templates/installation.php:42 templates/login.php:24 #: templates/verify.php:13 msgid "Password" msgstr "Passwort" -#: js/share.js:152 +#: js/share.js:173 msgid "Set expiration date" msgstr "Setze ein Ablaufdatum" -#: js/share.js:153 +#: js/share.js:174 msgid "Expiration date" msgstr "Ablaufdatum" -#: js/share.js:185 +#: js/share.js:206 msgid "Share via email:" msgstr "Über eine E-Mail freigeben:" -#: js/share.js:187 +#: js/share.js:208 msgid "No people found" msgstr "Niemand gefunden" -#: js/share.js:214 +#: js/share.js:235 msgid "Resharing is not allowed" msgstr "Weiterverteilen ist nicht erlaubt" -#: js/share.js:250 -msgid "Shared in" -msgstr "Freigegeben in" - -#: js/share.js:250 -msgid "with" -msgstr "mit" - #: js/share.js:271 +msgid "Shared in {item} with {user}" +msgstr "Für {user} in {item} freigegeben" + +#: js/share.js:292 msgid "Unshare" msgstr "Freigabe aufheben" -#: js/share.js:283 +#: js/share.js:304 msgid "can edit" msgstr "kann bearbeiten" -#: js/share.js:285 +#: js/share.js:306 msgid "access control" msgstr "Zugriffskontrolle" -#: js/share.js:288 +#: js/share.js:309 msgid "create" msgstr "erstellen" -#: js/share.js:291 +#: js/share.js:312 msgid "update" msgstr "aktualisieren" -#: js/share.js:294 +#: js/share.js:315 msgid "delete" msgstr "löschen" -#: js/share.js:297 +#: js/share.js:318 msgid "share" -msgstr "teilen" +msgstr "freigeben" -#: js/share.js:322 js/share.js:484 +#: js/share.js:343 js/share.js:514 js/share.js:516 msgid "Password protected" msgstr "Durch ein Passwort geschützt" -#: js/share.js:497 +#: js/share.js:527 msgid "Error unsetting expiration date" msgstr "Fehler beim entfernen des Ablaufdatums" -#: js/share.js:509 +#: js/share.js:539 msgid "Error setting expiration date" msgstr "Fehler beim Setzen des Ablaufdatums" -#: lostpassword/index.php:26 +#: lostpassword/controller.php:47 msgid "ownCloud password reset" msgstr "ownCloud-Passwort zurücksetzen" #: lostpassword/templates/email.php:2 msgid "Use the following link to reset your password: {link}" -msgstr "Nutzen Sie den nachfolgenden Link, um Ihr Passwort zurückzusetzen: {link}" +msgstr "Nutze den nachfolgenden Link, um Dein Passwort zurückzusetzen: {link}" #: lostpassword/templates/lostpassword.php:3 msgid "You will receive a link to reset your password via Email." -msgstr "Du erhälst einen Link per E-Mail, um Dein Passwort zurückzusetzen." +msgstr "Du erhältst einen Link per E-Mail, um Dein Passwort zurückzusetzen." #: lostpassword/templates/lostpassword.php:5 -msgid "Requested" -msgstr "Angefragt" +msgid "Reset email send." +msgstr "Die E-Mail zum Zurücksetzen wurde versendet." #: lostpassword/templates/lostpassword.php:8 -msgid "Login failed!" -msgstr "Login fehlgeschlagen!" +msgid "Request failed!" +msgstr "Die Anfrage schlug fehl!" #: lostpassword/templates/lostpassword.php:11 templates/installation.php:38 #: templates/login.php:20 @@ -263,7 +296,7 @@ msgstr "Beantrage Zurücksetzung" #: lostpassword/templates/resetpassword.php:4 msgid "Your password was reset" -msgstr "Ihr Passwort wurde zurückgesetzt." +msgstr "Dein Passwort wurde zurückgesetzt." #: lostpassword/templates/resetpassword.php:5 msgid "To login page" @@ -309,25 +342,25 @@ msgstr "Cloud nicht gefunden" msgid "Edit categories" msgstr "Kategorien bearbeiten" -#: templates/edit_categories_dialog.php:14 +#: templates/edit_categories_dialog.php:16 msgid "Add" msgstr "Hinzufügen" #: templates/installation.php:23 templates/installation.php:31 msgid "Security Warning" -msgstr "Sicherheitshinweis" +msgstr "Sicherheitswarnung" #: templates/installation.php:24 msgid "" "No secure random number generator is available, please enable the PHP " "OpenSSL extension." -msgstr "Es ist kein sicherer Zufallszahlengenerator verfügbar, bitte aktivieren Sie die PHP-Erweiterung für OpenSSL" +msgstr "Es ist kein sicherer Zufallszahlengenerator verfügbar, bitte aktiviere die PHP-Erweiterung für OpenSSL." #: templates/installation.php:26 msgid "" "Without a secure random number generator an attacker may be able to predict " "password reset tokens and take over your account." -msgstr "Ohne einen sicheren Zufallszahlengenerator sind Angreifer in der Lage die Tokens für das Zurücksetzen der Passwörter vorherzusehen und damit können Konten übernommen." +msgstr "Ohne einen sicheren Zufallszahlengenerator sind Angreifer in der Lage die Tokens für das Zurücksetzen der Passwörter vorherzusehen und Konten zu übernehmen." #: templates/installation.php:32 msgid "" @@ -336,7 +369,7 @@ msgid "" "strongly suggest that you configure your webserver in a way that the data " "directory is no longer accessible or you move the data directory outside the" " webserver document root." -msgstr "" +msgstr "Dein Datenverzeichnis und deine Datein sind vielleicht vom Internet aus erreichbar. Die .htaccess Datei, die ownCloud verwendet, arbeitet nicht richtig. Wir schlagen Dir dringend vor, dass du deinen Webserver so konfigurierst, dass das Datenverzeichnis nicht länger erreichbar ist oder, dass du dein Datenverzeichnis aus dem Dokumenten-root des Webservers bewegst." #: templates/installation.php:36 msgid "Create an admin account" @@ -383,27 +416,103 @@ msgstr "Datenbank-Host" msgid "Finish setup" msgstr "Installation abschließen" -#: templates/layout.guest.php:38 +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Sunday" +msgstr "Sonntag" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Monday" +msgstr "Montag" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Tuesday" +msgstr "Dienstag" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Wednesday" +msgstr "Mittwoch" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Thursday" +msgstr "Donnerstag" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Friday" +msgstr "Freitag" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Saturday" +msgstr "Samstag" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "January" +msgstr "Januar" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "February" +msgstr "Februar" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "March" +msgstr "März" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "April" +msgstr "April" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "May" +msgstr "Mai" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "June" +msgstr "Juni" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "July" +msgstr "Juli" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "August" +msgstr "August" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "September" +msgstr "September" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "October" +msgstr "Oktober" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "November" +msgstr "November" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "December" +msgstr "Dezember" + +#: templates/layout.guest.php:42 msgid "web services under your control" msgstr "Web-Services unter Ihrer Kontrolle" -#: templates/layout.user.php:34 +#: templates/layout.user.php:45 msgid "Log out" msgstr "Abmelden" #: templates/login.php:8 msgid "Automatic logon rejected!" -msgstr "" +msgstr "Automatischer Login zurückgewiesen!" #: templates/login.php:9 msgid "" "If you did not change your password recently, your account may be " "compromised!" -msgstr "" +msgstr "Wenn Du Dein Passwort nicht vor kurzem geändert hast, könnte Dein\nAccount kompromittiert sein!" #: templates/login.php:10 msgid "Please change your password to secure your account again." -msgstr "" +msgstr "Bitte ändere Dein Passwort, um Deinen Account wieder zu schützen." #: templates/login.php:15 msgid "Lost your password?" @@ -431,14 +540,14 @@ msgstr "Weiter" #: templates/verify.php:5 msgid "Security Warning!" -msgstr "" +msgstr "Sicherheitswarnung!" #: templates/verify.php:6 msgid "" "Please verify your password.
For security reasons you may be " "occasionally asked to enter your password again." -msgstr "" +msgstr "Bitte bestätige Dein Passwort.
Aus Sicherheitsgründen wirst Du hierbei gebeten, Dein Passwort erneut einzugeben." #: templates/verify.php:16 msgid "Verify" -msgstr "" +msgstr "Bestätigen" diff --git a/l10n/de/files.po b/l10n/de/files.po index e2635a4a0b11b5339ac1dddbe262c4b36fd3c47f..7dc41332e0460a4009d7f8b0775ea7029ad9966a 100644 --- a/l10n/de/files.po +++ b/l10n/de/files.po @@ -5,7 +5,9 @@ # Translators: # , 2012. # , 2012. +# I Robot , 2012. # I Robot , 2012. +# Jan-Christoph Borchardt , 2012. # Jan-Christoph Borchardt , 2011. # Jan-Christoph Borchardt , 2011. # , 2012. @@ -22,8 +24,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-09-28 02:02+0200\n" -"PO-Revision-Date: 2012-09-27 22:31+0000\n" +"POT-Creation-Date: 2012-12-12 00:12+0100\n" +"PO-Revision-Date: 2012-12-11 09:27+0000\n" "Last-Translator: Mirodin \n" "Language-Team: German (http://www.transifex.com/projects/p/owncloud/language/de/)\n" "MIME-Version: 1.0\n" @@ -37,195 +39,166 @@ msgid "There is no error, the file uploaded with success" msgstr "Datei fehlerfrei hochgeladen." #: ajax/upload.php:21 -msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" -msgstr "Die Größe der hochzuladenden Datei überschreitet die upload_max_filesize-Richtlinie in php.ini" +msgid "" +"The uploaded file exceeds the upload_max_filesize directive in php.ini: " +msgstr "Die hochgeladene Datei überschreitet die upload_max_filesize Vorgabe in php.ini" -#: ajax/upload.php:22 +#: ajax/upload.php:23 msgid "" "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " "the HTML form" msgstr "Die Größe der hochzuladenden Datei überschreitet die MAX_FILE_SIZE-Richtlinie, die im HTML-Formular angegeben wurde" -#: ajax/upload.php:23 +#: ajax/upload.php:25 msgid "The uploaded file was only partially uploaded" msgstr "Die Datei wurde nur teilweise hochgeladen." -#: ajax/upload.php:24 +#: ajax/upload.php:26 msgid "No file was uploaded" msgstr "Es wurde keine Datei hochgeladen." -#: ajax/upload.php:25 +#: ajax/upload.php:27 msgid "Missing a temporary folder" msgstr "Temporärer Ordner fehlt." -#: ajax/upload.php:26 +#: ajax/upload.php:28 msgid "Failed to write to disk" msgstr "Fehler beim Schreiben auf die Festplatte" -#: appinfo/app.php:6 +#: appinfo/app.php:10 msgid "Files" msgstr "Dateien" -#: js/fileactions.js:108 templates/index.php:62 +#: js/fileactions.js:117 templates/index.php:84 templates/index.php:85 msgid "Unshare" msgstr "Nicht mehr freigeben" -#: js/fileactions.js:110 templates/index.php:64 +#: js/fileactions.js:119 templates/index.php:90 templates/index.php:91 msgid "Delete" msgstr "Löschen" -#: js/fileactions.js:182 +#: js/fileactions.js:181 msgid "Rename" msgstr "Umbenennen" -#: js/filelist.js:190 js/filelist.js:192 -msgid "already exists" -msgstr "ist bereits vorhanden" +#: js/filelist.js:199 js/filelist.js:201 +msgid "{new_name} already exists" +msgstr "{new_name} existiert bereits" -#: js/filelist.js:190 js/filelist.js:192 +#: js/filelist.js:199 js/filelist.js:201 msgid "replace" msgstr "ersetzen" -#: js/filelist.js:190 +#: js/filelist.js:199 msgid "suggest name" msgstr "Name vorschlagen" -#: js/filelist.js:190 js/filelist.js:192 +#: js/filelist.js:199 js/filelist.js:201 msgid "cancel" msgstr "abbrechen" -#: js/filelist.js:239 js/filelist.js:241 -msgid "replaced" -msgstr "ersetzt" +#: js/filelist.js:248 +msgid "replaced {new_name}" +msgstr "{new_name} wurde ersetzt" -#: js/filelist.js:239 js/filelist.js:241 js/filelist.js:273 js/filelist.js:275 +#: js/filelist.js:248 js/filelist.js:250 js/filelist.js:282 js/filelist.js:284 msgid "undo" msgstr "rückgängig machen" -#: js/filelist.js:241 -msgid "with" -msgstr "mit" +#: js/filelist.js:250 +msgid "replaced {new_name} with {old_name}" +msgstr "{old_name} ersetzt durch {new_name}" -#: js/filelist.js:273 -msgid "unshared" -msgstr "Nicht mehr freigegeben" +#: js/filelist.js:282 +msgid "unshared {files}" +msgstr "Freigabe von {files} aufgehoben" -#: js/filelist.js:275 -msgid "deleted" -msgstr "gelöscht" +#: js/filelist.js:284 +msgid "deleted {files}" +msgstr "{files} gelöscht" + +#: js/files.js:33 +msgid "" +"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not " +"allowed." +msgstr "Ungültiger Name, '\\', '/', '<', '>', ':', '\"', '|', '?' und '*' sind nicht zulässig." -#: js/files.js:179 +#: js/files.js:174 msgid "generating ZIP-file, it may take some time." msgstr "Erstelle ZIP-Datei. Dies kann eine Weile dauern." -#: js/files.js:208 +#: js/files.js:209 msgid "Unable to upload your file as it is a directory or has 0 bytes" -msgstr "Ihre Datei kann nicht hochgeladen werden, da sie entweder ein Verzeichnis oder 0 Bytes groß ist." +msgstr "Deine Datei kann nicht hochgeladen werden, da sie entweder ein Verzeichnis oder 0 Bytes groß ist." -#: js/files.js:208 +#: js/files.js:209 msgid "Upload Error" msgstr "Fehler beim Upload" -#: js/files.js:236 js/files.js:341 js/files.js:371 +#: js/files.js:226 +msgid "Close" +msgstr "Schließen" + +#: js/files.js:245 js/files.js:359 js/files.js:389 msgid "Pending" msgstr "Ausstehend" -#: js/files.js:256 +#: js/files.js:265 msgid "1 file uploading" msgstr "Eine Datei wird hoch geladen" -#: js/files.js:259 js/files.js:304 js/files.js:319 -msgid "files uploading" -msgstr "Dateien werden hoch geladen" +#: js/files.js:268 js/files.js:322 js/files.js:337 +msgid "{count} files uploading" +msgstr "{count} Dateien werden hochgeladen" -#: js/files.js:322 js/files.js:355 +#: js/files.js:340 js/files.js:373 msgid "Upload cancelled." msgstr "Upload abgebrochen." -#: js/files.js:424 +#: js/files.js:442 msgid "" "File upload is in progress. Leaving the page now will cancel the upload." -msgstr "Dateiupload läuft. Wenn Sie die Seite jetzt verlassen, wird der Upload abgebrochen." +msgstr "Dateiupload läuft. Wenn Du die Seite jetzt verlässt, wird der Upload abgebrochen." -#: js/files.js:494 -msgid "Invalid name, '/' is not allowed." -msgstr "Ungültiger Name: \"/\" ist nicht erlaubt." +#: js/files.js:512 +msgid "Invalid folder name. Usage of \"Shared\" is reserved by Owncloud" +msgstr "Ungültiger Ordnername. Die Verwendung von \"Shared\" ist ownCloud vorbehalten." -#: js/files.js:668 -msgid "files scanned" -msgstr "Dateien gescannt" +#: js/files.js:693 +msgid "{count} files scanned" +msgstr "{count} Dateien wurden gescannt" -#: js/files.js:676 +#: js/files.js:701 msgid "error while scanning" msgstr "Fehler beim Scannen" -#: js/files.js:749 templates/index.php:48 +#: js/files.js:774 templates/index.php:66 msgid "Name" msgstr "Name" -#: js/files.js:750 templates/index.php:56 +#: js/files.js:775 templates/index.php:77 msgid "Size" msgstr "Größe" -#: js/files.js:751 templates/index.php:58 +#: js/files.js:776 templates/index.php:79 msgid "Modified" msgstr "Bearbeitet" -#: js/files.js:778 -msgid "folder" -msgstr "Ordner" - -#: js/files.js:780 -msgid "folders" -msgstr "Ordner" - -#: js/files.js:788 -msgid "file" -msgstr "Datei" - -#: js/files.js:790 -msgid "files" -msgstr "Dateien" - -#: js/files.js:834 -msgid "seconds ago" -msgstr "Sekunden her" +#: js/files.js:803 +msgid "1 folder" +msgstr "1 Ordner" -#: js/files.js:835 -msgid "minute ago" -msgstr "Minute her" +#: js/files.js:805 +msgid "{count} folders" +msgstr "{count} Ordner" -#: js/files.js:836 -msgid "minutes ago" -msgstr "Minuten her" +#: js/files.js:813 +msgid "1 file" +msgstr "1 Datei" -#: js/files.js:839 -msgid "today" -msgstr "Heute" - -#: js/files.js:840 -msgid "yesterday" -msgstr "Gestern" - -#: js/files.js:841 -msgid "days ago" -msgstr "Tage her" - -#: js/files.js:842 -msgid "last month" -msgstr "Letzten Monat" - -#: js/files.js:844 -msgid "months ago" -msgstr "Monate her" - -#: js/files.js:845 -msgid "last year" -msgstr "Letztes Jahr" - -#: js/files.js:846 -msgid "years ago" -msgstr "Jahre her" +#: js/files.js:815 +msgid "{count} files" +msgstr "{count} Dateien" #: templates/admin.php:5 msgid "File handling" @@ -235,27 +208,27 @@ msgstr "Dateibehandlung" msgid "Maximum upload size" msgstr "Maximale Upload-Größe" -#: templates/admin.php:7 +#: templates/admin.php:9 msgid "max. possible: " msgstr "maximal möglich:" -#: templates/admin.php:9 +#: templates/admin.php:12 msgid "Needed for multi-file and folder downloads." msgstr "Für Mehrfachdatei- und Ordnerdownloads benötigt:" -#: templates/admin.php:9 +#: templates/admin.php:14 msgid "Enable ZIP-download" msgstr "ZIP-Download aktivieren" -#: templates/admin.php:11 +#: templates/admin.php:17 msgid "0 is unlimited" msgstr "0 bedeutet unbegrenzt" -#: templates/admin.php:12 +#: templates/admin.php:19 msgid "Maximum input size for ZIP files" msgstr "Maximale Größe für ZIP-Dateien" -#: templates/admin.php:14 +#: templates/admin.php:23 msgid "Save" msgstr "Speichern" @@ -263,52 +236,48 @@ msgstr "Speichern" msgid "New" msgstr "Neu" -#: templates/index.php:9 +#: templates/index.php:10 msgid "Text file" msgstr "Textdatei" -#: templates/index.php:10 +#: templates/index.php:12 msgid "Folder" msgstr "Ordner" -#: templates/index.php:11 -msgid "From url" -msgstr "Von einer URL" +#: templates/index.php:14 +msgid "From link" +msgstr "Von einem Link" -#: templates/index.php:20 +#: templates/index.php:35 msgid "Upload" msgstr "Hochladen" -#: templates/index.php:27 +#: templates/index.php:43 msgid "Cancel upload" msgstr "Upload abbrechen" -#: templates/index.php:40 +#: templates/index.php:58 msgid "Nothing in here. Upload something!" msgstr "Alles leer. Lade etwas hoch!" -#: templates/index.php:50 -msgid "Share" -msgstr "Teilen" - -#: templates/index.php:52 +#: templates/index.php:72 msgid "Download" msgstr "Herunterladen" -#: templates/index.php:75 +#: templates/index.php:104 msgid "Upload too large" msgstr "Upload zu groß" -#: templates/index.php:77 +#: templates/index.php:106 msgid "" "The files you are trying to upload exceed the maximum size for file uploads " "on this server." msgstr "Die Datei überschreitet die Maximalgröße für Uploads auf diesem Server." -#: templates/index.php:82 +#: templates/index.php:111 msgid "Files are being scanned, please wait." msgstr "Dateien werden gescannt, bitte warten." -#: templates/index.php:85 +#: templates/index.php:114 msgid "Current scanning" msgstr "Scanne" diff --git a/l10n/de/files_external.po b/l10n/de/files_external.po index 4f400dc97cc6666db8cf8a5f60cc7fd7f8a85aaf..dc9c4907b6dffb24fc105f4b703a183fa92e004c 100644 --- a/l10n/de/files_external.po +++ b/l10n/de/files_external.po @@ -11,9 +11,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-13 02:04+0200\n" -"PO-Revision-Date: 2012-10-12 22:22+0000\n" -"Last-Translator: Mirodin \n" +"POT-Creation-Date: 2012-12-12 00:12+0100\n" +"PO-Revision-Date: 2012-12-11 23:13+0000\n" +"Last-Translator: I Robot \n" "Language-Team: German (http://www.transifex.com/projects/p/owncloud/language/de/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -45,66 +45,80 @@ msgstr "Bitte trage einen gültigen Dropbox-App-Key mit Secret ein." msgid "Error configuring Google Drive storage" msgstr "Fehler beim Einrichten von Google Drive" +#: lib/config.php:434 +msgid "" +"Warning: \"smbclient\" is not installed. Mounting of CIFS/SMB shares " +"is not possible. Please ask your system administrator to install it." +msgstr "" + +#: lib/config.php:435 +msgid "" +"Warning: The FTP support in PHP is not enabled or installed. Mounting" +" of FTP shares is not possible. Please ask your system administrator to " +"install it." +msgstr "" + #: templates/settings.php:3 msgid "External Storage" msgstr "Externer Speicher" -#: templates/settings.php:7 templates/settings.php:19 +#: templates/settings.php:8 templates/settings.php:22 msgid "Mount point" msgstr "Mount-Point" -#: templates/settings.php:8 +#: templates/settings.php:9 msgid "Backend" msgstr "Backend" -#: templates/settings.php:9 +#: templates/settings.php:10 msgid "Configuration" msgstr "Konfiguration" -#: templates/settings.php:10 +#: templates/settings.php:11 msgid "Options" msgstr "Optionen" -#: templates/settings.php:11 +#: templates/settings.php:12 msgid "Applicable" msgstr "Zutreffend" -#: templates/settings.php:23 +#: templates/settings.php:27 msgid "Add mount point" msgstr "Mount-Point hinzufügen" -#: templates/settings.php:54 templates/settings.php:62 +#: templates/settings.php:85 msgid "None set" msgstr "Nicht definiert" -#: templates/settings.php:63 +#: templates/settings.php:86 msgid "All Users" msgstr "Alle Benutzer" -#: templates/settings.php:64 +#: templates/settings.php:87 msgid "Groups" msgstr "Gruppen" -#: templates/settings.php:69 +#: templates/settings.php:95 msgid "Users" msgstr "Benutzer" -#: templates/settings.php:77 templates/settings.php:107 +#: templates/settings.php:108 templates/settings.php:109 +#: templates/settings.php:149 templates/settings.php:150 msgid "Delete" msgstr "Löschen" -#: templates/settings.php:87 +#: templates/settings.php:124 msgid "Enable User External Storage" msgstr "Externen Speicher für Benutzer aktivieren" -#: templates/settings.php:88 +#: templates/settings.php:125 msgid "Allow users to mount their own external storage" msgstr "Erlaubt Benutzern ihre eigenen externen Speicher einzubinden" -#: templates/settings.php:99 +#: templates/settings.php:139 msgid "SSL root certificates" msgstr "SSL-Root-Zertifikate" -#: templates/settings.php:113 +#: templates/settings.php:158 msgid "Import Root Certificate" msgstr "Root-Zertifikate importieren" diff --git a/l10n/de/files_pdfviewer.po b/l10n/de/files_pdfviewer.po deleted file mode 100644 index a792a00b211c37b075b83eff422c435f98b08202..0000000000000000000000000000000000000000 --- a/l10n/de/files_pdfviewer.po +++ /dev/null @@ -1,43 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# I Robot , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 02:18+0200\n" -"PO-Revision-Date: 2012-08-26 00:21+0000\n" -"Last-Translator: I Robot \n" -"Language-Team: German (http://www.transifex.com/projects/p/owncloud/language/de/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: de\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: js/viewer.js:22 -msgid "Previous" -msgstr "Zurück" - -#: js/viewer.js:23 -msgid "Next" -msgstr "Weiter" - -#: js/viewer.js:29 -msgid "Page Width" -msgstr "" - -#: js/viewer.js:29 -msgid "Page Fit" -msgstr "" - -#: js/viewer.js:30 -msgid "Print" -msgstr "" - -#: js/viewer.js:32 -msgid "Download" -msgstr "" diff --git a/l10n/de/files_sharing.po b/l10n/de/files_sharing.po index c3fe25897e1d4deb5841d33e021a00c880920632..b48b1dfa72bdad923f1bd0fb0b6a18e0ff337550 100644 --- a/l10n/de/files_sharing.po +++ b/l10n/de/files_sharing.po @@ -12,8 +12,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-02 23:16+0200\n" -"PO-Revision-Date: 2012-10-02 09:08+0000\n" +"POT-Creation-Date: 2012-10-20 02:02+0200\n" +"PO-Revision-Date: 2012-10-19 21:36+0000\n" "Last-Translator: Mirodin \n" "Language-Team: German (http://www.transifex.com/projects/p/owncloud/language/de/)\n" "MIME-Version: 1.0\n" @@ -33,12 +33,12 @@ msgstr "Absenden" #: templates/public.php:9 #, php-format msgid "%s shared the folder %s with you" -msgstr "%s hat den Ordner %s für dich freigegeben" +msgstr "%s hat den Ordner %s mit Dir geteilt" #: templates/public.php:11 #, php-format msgid "%s shared the file %s with you" -msgstr "%s hat die Datei %s für dich freigegeben" +msgstr "%s hat die Datei %s mit Dir geteilt" #: templates/public.php:14 templates/public.php:30 msgid "Download" @@ -48,6 +48,6 @@ msgstr "Download" msgid "No preview available for" msgstr "Es ist keine Vorschau verfügbar für" -#: templates/public.php:37 +#: templates/public.php:35 msgid "web services under your control" msgstr "Web-Services unter Deiner Kontrolle" diff --git a/l10n/de/files_texteditor.po b/l10n/de/files_texteditor.po deleted file mode 100644 index ec6268275102442363372174e198291193cdabb6..0000000000000000000000000000000000000000 --- a/l10n/de/files_texteditor.po +++ /dev/null @@ -1,45 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# I Robot , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 02:01+0200\n" -"PO-Revision-Date: 2012-08-25 23:26+0000\n" -"Last-Translator: I Robot \n" -"Language-Team: German (http://www.transifex.com/projects/p/owncloud/language/de/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: de\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: js/aceeditor/mode-coldfusion-uncompressed.js:1568 -#: js/aceeditor/mode-liquid-uncompressed.js:902 -#: js/aceeditor/mode-svg-uncompressed.js:1575 -msgid "regex" -msgstr "Regulärer Ausdruck" - -#: js/editor.js:72 js/editor.js:156 js/editor.js:163 -msgid "Save" -msgstr "Speichern" - -#: js/editor.js:74 -msgid "Close" -msgstr "Schliessen" - -#: js/editor.js:149 -msgid "Saving..." -msgstr "Speichern..." - -#: js/editor.js:239 -msgid "An error occurred!" -msgstr "Ein Fehler ist aufgetreten" - -#: js/editor.js:266 -msgid "There were unsaved changes, click here to go back" -msgstr "Einige Änderungen wurde noch nicht gespeichert; klicken Sie hier um zurückzukehren." diff --git a/l10n/de/gallery.po b/l10n/de/gallery.po deleted file mode 100644 index ec9656fa93f0129f188055c00d14757d98cfee27..0000000000000000000000000000000000000000 --- a/l10n/de/gallery.po +++ /dev/null @@ -1,63 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# , 2012. -# Bartek , 2012. -# Marcel Kühlhorn , 2012. -# , 2012. -# , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-07-25 22:14+0200\n" -"PO-Revision-Date: 2012-07-25 20:05+0000\n" -"Last-Translator: owncloud_robot \n" -"Language-Team: German (http://www.transifex.com/projects/p/owncloud/language/de/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: de\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: appinfo/app.php:39 -msgid "Pictures" -msgstr "Bilder" - -#: js/pictures.js:12 -msgid "Share gallery" -msgstr "Galerie teilen" - -#: js/pictures.js:32 -msgid "Error: " -msgstr "Fehler:" - -#: js/pictures.js:32 -msgid "Internal error" -msgstr "Interner Fehler" - -#: templates/index.php:27 -msgid "Slideshow" -msgstr "Slideshow" - -#: templates/view_album.php:19 -msgid "Back" -msgstr "Zurück" - -#: templates/view_album.php:36 -msgid "Remove confirmation" -msgstr "Bestätigung entfernen" - -#: templates/view_album.php:37 -msgid "Do you want to remove album" -msgstr "Soll das Album entfernt werden" - -#: templates/view_album.php:40 -msgid "Change album name" -msgstr "Albumname ändern" - -#: templates/view_album.php:43 -msgid "New album name" -msgstr "Neuer Albumname" diff --git a/l10n/de/impress.po b/l10n/de/impress.po deleted file mode 100644 index bdf9e101c81cf1d418bf9259949c2141cf56522d..0000000000000000000000000000000000000000 --- a/l10n/de/impress.po +++ /dev/null @@ -1,23 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# I Robot , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 02:01+0200\n" -"PO-Revision-Date: 2012-08-25 23:27+0000\n" -"Last-Translator: I Robot \n" -"Language-Team: German (http://www.transifex.com/projects/p/owncloud/language/de/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: de\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: templates/presentations.php:7 -msgid "Documentation" -msgstr "Dokumentation" diff --git a/l10n/de/lib.po b/l10n/de/lib.po index edc1f6056a0ae5f4041530bec57ad0eb3c37c81f..d572145c29adfc54a3374b8602bcf3215b7d6efb 100644 --- a/l10n/de/lib.po +++ b/l10n/de/lib.po @@ -4,6 +4,9 @@ # # Translators: # , 2012. +# I Robot , 2012. +# Jan-Christoph Borchardt , 2012. +# Marcel Kühlhorn , 2012. # Phi Lieb <>, 2012. # , 2012. # , 2012. @@ -11,8 +14,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-02 02:03+0200\n" -"PO-Revision-Date: 2012-10-01 23:58+0000\n" +"POT-Creation-Date: 2012-12-12 00:13+0100\n" +"PO-Revision-Date: 2012-12-11 09:31+0000\n" "Last-Translator: Mirodin \n" "Language-Team: German (http://www.transifex.com/projects/p/owncloud/language/de/)\n" "MIME-Version: 1.0\n" @@ -21,43 +24,43 @@ msgstr "" "Language: de\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: app.php:285 +#: app.php:287 msgid "Help" msgstr "Hilfe" -#: app.php:292 +#: app.php:294 msgid "Personal" msgstr "Persönlich" -#: app.php:297 +#: app.php:299 msgid "Settings" msgstr "Einstellungen" -#: app.php:302 +#: app.php:304 msgid "Users" msgstr "Benutzer" -#: app.php:309 +#: app.php:311 msgid "Apps" msgstr "Apps" -#: app.php:311 +#: app.php:313 msgid "Admin" msgstr "Administrator" -#: files.php:327 +#: files.php:361 msgid "ZIP download is turned off." msgstr "Der ZIP-Download ist deaktiviert." -#: files.php:328 +#: files.php:362 msgid "Files need to be downloaded one by one." msgstr "Die Dateien müssen einzeln heruntergeladen werden." -#: files.php:328 files.php:353 +#: files.php:362 files.php:387 msgid "Back to Files" msgstr "Zurück zu \"Dateien\"" -#: files.php:352 +#: files.php:386 msgid "Selected files too large to generate zip file." msgstr "Die gewählten Dateien sind zu groß, um eine ZIP-Datei zu erstellen." @@ -65,7 +68,7 @@ msgstr "Die gewählten Dateien sind zu groß, um eine ZIP-Datei zu erstellen." msgid "Application is not enabled" msgstr "Die Anwendung ist nicht aktiviert" -#: json.php:39 json.php:63 json.php:75 +#: json.php:39 json.php:64 json.php:77 json.php:89 msgid "Authentication error" msgstr "Authentifizierungs-Fehler" @@ -73,57 +76,84 @@ msgstr "Authentifizierungs-Fehler" msgid "Token expired. Please reload page." msgstr "Token abgelaufen. Bitte lade die Seite neu." -#: template.php:87 +#: search/provider/file.php:17 search/provider/file.php:35 +msgid "Files" +msgstr "Dateien" + +#: search/provider/file.php:26 search/provider/file.php:33 +msgid "Text" +msgstr "Text" + +#: search/provider/file.php:29 +msgid "Images" +msgstr "Bilder" + +#: template.php:103 msgid "seconds ago" -msgstr "Vor wenigen Sekunden" +msgstr "Gerade eben" -#: template.php:88 +#: template.php:104 msgid "1 minute ago" msgstr "Vor einer Minute" -#: template.php:89 +#: template.php:105 #, php-format msgid "%d minutes ago" msgstr "Vor %d Minuten" -#: template.php:92 +#: template.php:106 +msgid "1 hour ago" +msgstr "Vor einer Stunde" + +#: template.php:107 +#, php-format +msgid "%d hours ago" +msgstr "Vor %d Stunden" + +#: template.php:108 msgid "today" msgstr "Heute" -#: template.php:93 +#: template.php:109 msgid "yesterday" msgstr "Gestern" -#: template.php:94 +#: template.php:110 #, php-format msgid "%d days ago" msgstr "Vor %d Tag(en)" -#: template.php:95 +#: template.php:111 msgid "last month" msgstr "Letzten Monat" -#: template.php:96 -msgid "months ago" -msgstr "Vor Monaten" +#: template.php:112 +#, php-format +msgid "%d months ago" +msgstr "Vor %d Monaten" -#: template.php:97 +#: template.php:113 msgid "last year" msgstr "Letztes Jahr" -#: template.php:98 +#: template.php:114 msgid "years ago" msgstr "Vor Jahren" -#: updater.php:66 +#: updater.php:75 #, php-format msgid "%s is available. Get more information" msgstr "%s ist verfügbar. Weitere Informationen" -#: updater.php:68 +#: updater.php:77 msgid "up to date" msgstr "aktuell" -#: updater.php:71 +#: updater.php:80 msgid "updates check is disabled" msgstr "Die Update-Überprüfung ist ausgeschaltet" + +#: vcategories.php:188 vcategories.php:249 +#, php-format +msgid "Could not find category \"%s\"" +msgstr "Die Kategorie \"%s\" konnte nicht gefunden werden." diff --git a/l10n/de/media.po b/l10n/de/media.po deleted file mode 100644 index 4cb691b5ffd77a7965628342c485a9404cfe8091..0000000000000000000000000000000000000000 --- a/l10n/de/media.po +++ /dev/null @@ -1,68 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# , 2011, 2012. -# Jan-Christoph Borchardt , 2011. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-06-06 00:12+0200\n" -"PO-Revision-Date: 2012-06-05 22:15+0000\n" -"Last-Translator: icewind \n" -"Language-Team: German (http://www.transifex.net/projects/p/owncloud/language/de/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: de\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: appinfo/app.php:32 templates/player.php:8 -msgid "Music" -msgstr "Musik" - -#: js/music.js:18 -msgid "Add album to playlist" -msgstr "" - -#: templates/music.php:3 templates/player.php:12 -msgid "Play" -msgstr "Abspielen" - -#: templates/music.php:4 templates/music.php:26 templates/player.php:13 -msgid "Pause" -msgstr "Pause" - -#: templates/music.php:5 -msgid "Previous" -msgstr "Vorheriges" - -#: templates/music.php:6 templates/player.php:14 -msgid "Next" -msgstr "Nächstes" - -#: templates/music.php:7 -msgid "Mute" -msgstr "Ton aus" - -#: templates/music.php:8 -msgid "Unmute" -msgstr "Ton an" - -#: templates/music.php:25 -msgid "Rescan Collection" -msgstr "Sammlung erneut scannen" - -#: templates/music.php:37 -msgid "Artist" -msgstr "Künstler" - -#: templates/music.php:38 -msgid "Album" -msgstr "Album" - -#: templates/music.php:39 -msgid "Title" -msgstr "Titel" diff --git a/l10n/de/settings.po b/l10n/de/settings.po index a4dd374031815bd04fee78f408b17aeb274d4c90..4d80da3751f8068a96b606a7a66e099e430fb06d 100644 --- a/l10n/de/settings.po +++ b/l10n/de/settings.po @@ -6,12 +6,15 @@ # , 2011, 2012. # , 2012. # , 2012. +# I Robot , 2012. # I Robot , 2012. # Jan-Christoph Borchardt , 2011. # Jan T , 2012. # , 2012. # , 2012. # Marcel Kühlhorn , 2012. +# , 2012. +# , 2012. # , 2012. # , 2012. # Phi Lieb <>, 2012. @@ -21,9 +24,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-13 02:05+0200\n" -"PO-Revision-Date: 2012-10-12 22:12+0000\n" -"Last-Translator: Mirodin \n" +"POT-Creation-Date: 2012-12-05 00:04+0100\n" +"PO-Revision-Date: 2012-12-04 13:54+0000\n" +"Last-Translator: AndryXY \n" "Language-Team: German (http://www.transifex.com/projects/p/owncloud/language/de/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -31,70 +34,73 @@ msgstr "" "Language: de\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: ajax/apps/ocs.php:23 +#: ajax/apps/ocs.php:20 msgid "Unable to load list from App Store" msgstr "Die Liste der Anwendungen im Store konnte nicht geladen werden." -#: ajax/creategroup.php:9 ajax/removeuser.php:18 ajax/setquota.php:18 -#: ajax/togglegroups.php:15 -msgid "Authentication error" -msgstr "Fehler bei der Anmeldung" - -#: ajax/creategroup.php:19 +#: ajax/creategroup.php:10 msgid "Group already exists" msgstr "Gruppe existiert bereits" -#: ajax/creategroup.php:28 +#: ajax/creategroup.php:19 msgid "Unable to add group" msgstr "Gruppe konnte nicht angelegt werden" -#: ajax/enableapp.php:14 +#: ajax/enableapp.php:12 msgid "Could not enable app. " msgstr "App konnte nicht aktiviert werden." -#: ajax/lostpassword.php:14 +#: ajax/lostpassword.php:12 msgid "Email saved" msgstr "E-Mail Adresse gespeichert" -#: ajax/lostpassword.php:16 +#: ajax/lostpassword.php:14 msgid "Invalid email" msgstr "Ungültige E-Mail Adresse" -#: ajax/openid.php:16 +#: ajax/openid.php:13 msgid "OpenID Changed" msgstr "OpenID geändert" -#: ajax/openid.php:18 ajax/setlanguage.php:20 ajax/setlanguage.php:23 +#: ajax/openid.php:15 ajax/setlanguage.php:17 ajax/setlanguage.php:20 msgid "Invalid request" msgstr "Ungültige Anfrage" -#: ajax/removegroup.php:16 +#: ajax/removegroup.php:13 msgid "Unable to delete group" msgstr "Gruppe konnte nicht gelöscht werden" -#: ajax/removeuser.php:27 +#: ajax/removeuser.php:15 ajax/setquota.php:15 ajax/togglegroups.php:18 +msgid "Authentication error" +msgstr "Fehler bei der Anmeldung" + +#: ajax/removeuser.php:24 msgid "Unable to delete user" msgstr "Benutzer konnte nicht gelöscht werden" -#: ajax/setlanguage.php:18 +#: ajax/setlanguage.php:15 msgid "Language changed" msgstr "Sprache geändert" -#: ajax/togglegroups.php:25 +#: ajax/togglegroups.php:12 +msgid "Admins can't remove themself from the admin group" +msgstr "Administratoren können sich nicht selbst aus der Admin-Gruppe löschen." + +#: ajax/togglegroups.php:28 #, php-format msgid "Unable to add user to group %s" msgstr "Der Benutzer konnte nicht zur Gruppe %s hinzugefügt werden" -#: ajax/togglegroups.php:31 +#: ajax/togglegroups.php:34 #, php-format msgid "Unable to remove user from group %s" msgstr "Der Benutzer konnte nicht aus der Gruppe %s entfernt werden" -#: js/apps.js:28 js/apps.js:65 +#: js/apps.js:28 js/apps.js:67 msgid "Disable" msgstr "Deaktivieren" -#: js/apps.js:28 js/apps.js:54 +#: js/apps.js:28 js/apps.js:55 msgid "Enable" msgstr "Aktivieren" @@ -102,96 +108,9 @@ msgstr "Aktivieren" msgid "Saving..." msgstr "Speichern..." -#: personal.php:47 personal.php:48 +#: personal.php:42 personal.php:43 msgid "__language_name__" -msgstr "Deutsch" - -#: templates/admin.php:14 -msgid "Security Warning" -msgstr "Sicherheitshinweis" - -#: templates/admin.php:17 -msgid "" -"Your data directory and your files are probably accessible from the " -"internet. The .htaccess file that ownCloud provides is not working. We " -"strongly suggest that you configure your webserver in a way that the data " -"directory is no longer accessible or you move the data directory outside the" -" webserver document root." -msgstr "Ihr Datenverzeichnis ist möglicher Weise aus dem Internet erreichbar. Die .htaccess-Datei von ownCloud funktioniert nicht. Wir raten Ihnen dringend, dass Sie Ihren Webserver dahingehend konfigurieren, dass Ihr Datenverzeichnis nicht länger aus dem Internet erreichbar ist, oder Sie verschieben das Datenverzeichnis außerhalb des Wurzelverzeichnisses des Webservers." - -#: templates/admin.php:31 -msgid "Cron" -msgstr "Cron-Jobs" - -#: templates/admin.php:37 -msgid "Execute one task with each page loaded" -msgstr "Führe eine Aufgabe bei jeder geladenen Seite aus." - -#: templates/admin.php:43 -msgid "" -"cron.php is registered at a webcron service. Call the cron.php page in the " -"owncloud root once a minute over http." -msgstr "cron.php ist bei einem Webcron-Dienst registriert. Ruf die Seite cron.php im ownCloud-Root minütlich per HTTP auf." - -#: templates/admin.php:49 -msgid "" -"Use systems cron service. Call the cron.php file in the owncloud folder via " -"a system cronjob once a minute." -msgstr "Benutze den System-Crondienst. Bitte ruf die cron.php im ownCloud-Ordner über einen System-Cronjob minütlich auf." - -#: templates/admin.php:56 -msgid "Sharing" -msgstr "Freigabe" - -#: templates/admin.php:61 -msgid "Enable Share API" -msgstr "Freigabe-API aktivieren" - -#: templates/admin.php:62 -msgid "Allow apps to use the Share API" -msgstr "Erlaubt Anwendungen, die Freigabe-API zu nutzen" - -#: templates/admin.php:67 -msgid "Allow links" -msgstr "Links erlauben" - -#: templates/admin.php:68 -msgid "Allow users to share items to the public with links" -msgstr "Erlaube Nutzern, Dateien mithilfe von Links öffentlich zu teilen" - -#: templates/admin.php:73 -msgid "Allow resharing" -msgstr "Erneutes Teilen erlauben" - -#: templates/admin.php:74 -msgid "Allow users to share items shared with them again" -msgstr "Erlaubt Nutzern, Dateien die mit ihnen geteilt wurden, erneut zu teilen" - -#: templates/admin.php:79 -msgid "Allow users to share with anyone" -msgstr "Erlaubet Nutzern mit jedem zu Teilen" - -#: templates/admin.php:81 -msgid "Allow users to only share with users in their groups" -msgstr "Erlaubet Nutzern nur das Teilen in ihrer Gruppe" - -#: templates/admin.php:88 -msgid "Log" -msgstr "Log" - -#: templates/admin.php:116 -msgid "More" -msgstr "Mehr" - -#: templates/admin.php:124 -msgid "" -"Developed by the ownCloud community, the source code is " -"licensed under the AGPL." -msgstr "Entwickelt von der ownCloud-Community, der Quellcode ist unter der AGPL lizenziert." +msgstr "Deutsch (Persönlich)" #: templates/apps.php:10 msgid "Add your App" @@ -225,21 +144,21 @@ msgstr "Große Dateien verwalten" msgid "Ask a question" msgstr "Stelle eine Frage" -#: templates/help.php:23 +#: templates/help.php:22 msgid "Problems connecting to help database." msgstr "Probleme bei der Verbindung zur Hilfe-Datenbank." -#: templates/help.php:24 +#: templates/help.php:23 msgid "Go there manually." msgstr "Datenbank direkt besuchen." -#: templates/help.php:32 +#: templates/help.php:31 msgid "Answer" msgstr "Antwort" #: templates/personal.php:8 #, php-format -msgid "You have used %s of the available %s" +msgid "You have used %s of the available %s" msgstr "Du verwendest %s der verfügbaren %s" #: templates/personal.php:12 @@ -296,7 +215,17 @@ msgstr "Hilf bei der Übersetzung" #: templates/personal.php:51 msgid "use this address to connect to your ownCloud in your file manager" -msgstr "Benutzen Sie diese Adresse, um Ihre ownCloud mit Ihrem Dateimanager zu verbinden." +msgstr "Verwende diese Adresse, um Deine ownCloud mit Deinem Dateimanager zu verbinden." + +#: templates/personal.php:61 +msgid "" +"Developed by the ownCloud community, the source code is " +"licensed under the AGPL." +msgstr "Entwickelt von der ownCloud-Community, der Quellcode ist unter der AGPL lizenziert." #: templates/users.php:21 templates/users.php:76 msgid "Name" diff --git a/l10n/de/tasks.po b/l10n/de/tasks.po deleted file mode 100644 index 2ad6b64b48756a375113dfb4dfeb341695f35e50..0000000000000000000000000000000000000000 --- a/l10n/de/tasks.po +++ /dev/null @@ -1,109 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# , 2012. -# , 2012. -# , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-24 02:02+0200\n" -"PO-Revision-Date: 2012-08-23 10:09+0000\n" -"Last-Translator: traductor \n" -"Language-Team: German (http://www.transifex.com/projects/p/owncloud/language/de/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: de\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: ajax/update_property.php:51 lib/app.php:89 lib/app.php:101 -msgid "Invalid date/time" -msgstr "Datum/Uhrzeit ungültig" - -#: appinfo/app.php:11 -msgid "Tasks" -msgstr "Aufgaben" - -#: js/tasks.js:415 -msgid "No category" -msgstr "Keine Kategorie" - -#: lib/app.php:33 -msgid "Unspecified" -msgstr "Nicht angegeben" - -#: lib/app.php:34 -msgid "1=highest" -msgstr "1 = am höchsten" - -#: lib/app.php:38 -msgid "5=medium" -msgstr "5 = Durchschnitt" - -#: lib/app.php:42 -msgid "9=lowest" -msgstr "9 = am niedrigsten" - -#: lib/app.php:81 -msgid "Empty Summary" -msgstr "Leere Zusammenfassung" - -#: lib/app.php:93 -msgid "Invalid percent complete" -msgstr "Ungültige Prozent abgeschlossen" - -#: lib/app.php:107 -msgid "Invalid priority" -msgstr "Falsche Priorität" - -#: templates/tasks.php:3 -msgid "Add Task" -msgstr "Aufgabe hinzufügen" - -#: templates/tasks.php:4 -msgid "Order Due" -msgstr "Nach Fälligkeit sortieren" - -#: templates/tasks.php:5 -msgid "Order List" -msgstr "Nach Kategorie sortieren " - -#: templates/tasks.php:6 -msgid "Order Complete" -msgstr "Nach Fertigstellung sortieren" - -#: templates/tasks.php:7 -msgid "Order Location" -msgstr "Nach Ort sortieren" - -#: templates/tasks.php:8 -msgid "Order Priority" -msgstr "Nach Priorität sortieren" - -#: templates/tasks.php:9 -msgid "Order Label" -msgstr "Nach Label sortieren" - -#: templates/tasks.php:16 -msgid "Loading tasks..." -msgstr "Lade Aufgaben ..." - -#: templates/tasks.php:20 -msgid "Important" -msgstr "Wichtig" - -#: templates/tasks.php:23 -msgid "More" -msgstr "Mehr" - -#: templates/tasks.php:26 -msgid "Less" -msgstr "Weniger" - -#: templates/tasks.php:29 -msgid "Delete" -msgstr "Löschen" diff --git a/l10n/de/user_migrate.po b/l10n/de/user_migrate.po deleted file mode 100644 index aada5dbfb256607934fcacec34398b73a61a14b9..0000000000000000000000000000000000000000 --- a/l10n/de/user_migrate.po +++ /dev/null @@ -1,54 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# , 2012. -# , 2012. -# , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-24 02:02+0200\n" -"PO-Revision-Date: 2012-08-23 10:16+0000\n" -"Last-Translator: traductor \n" -"Language-Team: German (http://www.transifex.com/projects/p/owncloud/language/de/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: de\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: js/export.js:14 js/export.js:20 -msgid "Export" -msgstr "Export" - -#: js/export.js:19 -msgid "Something went wrong while the export file was being generated" -msgstr "Beim Export der Datei ist etwas schiefgegangen." - -#: js/export.js:19 -msgid "An error has occurred" -msgstr "Es ist ein Fehler aufgetreten." - -#: templates/settings.php:2 -msgid "Export your user account" -msgstr "Ihr Konto exportieren" - -#: templates/settings.php:3 -msgid "" -"This will create a compressed file that contains your ownCloud account." -msgstr "Eine komprimierte Datei wird erzeugt, die Ihr ownCloud-Konto enthält." - -#: templates/settings.php:13 -msgid "Import user account" -msgstr "Konto importieren" - -#: templates/settings.php:15 -msgid "ownCloud User Zip" -msgstr "Zip-Archiv mit Benutzerdaten" - -#: templates/settings.php:17 -msgid "Import" -msgstr "Importieren" diff --git a/l10n/de/user_openid.po b/l10n/de/user_openid.po deleted file mode 100644 index 9f5a660af87f68546a422a10f66ed2629e29d02d..0000000000000000000000000000000000000000 --- a/l10n/de/user_openid.po +++ /dev/null @@ -1,57 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# , 2012. -# , 2012. -# , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-24 02:02+0200\n" -"PO-Revision-Date: 2012-08-23 10:17+0000\n" -"Last-Translator: traductor \n" -"Language-Team: German (http://www.transifex.com/projects/p/owncloud/language/de/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: de\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: templates/nomode.php:12 -msgid "This is an OpenID server endpoint. For more information, see " -msgstr "Dies ist ein OpenID-Server-Endpunkt. Weitere Informationen finden Sie unter:" - -#: templates/nomode.php:14 -msgid "Identity: " -msgstr "Identität: " - -#: templates/nomode.php:15 -msgid "Realm: " -msgstr "Bereich: " - -#: templates/nomode.php:16 -msgid "User: " -msgstr "Benutzer: " - -#: templates/nomode.php:17 -msgid "Login" -msgstr "Anmelden" - -#: templates/nomode.php:22 -msgid "Error: No user Selected" -msgstr "Fehler: Kein Benutzer ausgewählt" - -#: templates/settings.php:4 -msgid "you can authenticate to other sites with this address" -msgstr "Sie können sich auf anderen Seiten mit dieser Adresse authentifizieren." - -#: templates/settings.php:5 -msgid "Authorized OpenID provider" -msgstr "Authorisierter OpenID-Anbieter" - -#: templates/settings.php:6 -msgid "Your address at Wordpress, Identi.ca, …" -msgstr "Ihre Adresse bei Wordpress, Identi.ca, …" diff --git a/l10n/de/files_odfviewer.po b/l10n/de/user_webdavauth.po similarity index 59% rename from l10n/de/files_odfviewer.po rename to l10n/de/user_webdavauth.po index 8d81b0d266eab293dccc544fbfad3e22e9d82272..8a1620f09d19af0e6c5aea8258f9bacfdd1ae970 100644 --- a/l10n/de/files_odfviewer.po +++ b/l10n/de/user_webdavauth.po @@ -3,21 +3,22 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: -# I Robot , 2012. +# , 2012. +# , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 02:18+0200\n" -"PO-Revision-Date: 2012-08-26 00:21+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-11-14 00:02+0100\n" +"PO-Revision-Date: 2012-11-13 18:15+0000\n" +"Last-Translator: Mirodin \n" "Language-Team: German (http://www.transifex.com/projects/p/owncloud/language/de/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: de\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: js/viewer.js:9 -msgid "Close" -msgstr "Schliessen" +#: templates/settings.php:4 +msgid "WebDAV URL: http://" +msgstr "WebDAV URL: http://" diff --git a/l10n/de_DE/core.po b/l10n/de_DE/core.po new file mode 100644 index 0000000000000000000000000000000000000000..5f55bdc4b1e6bbf231bfcba99b0835a25a47bb9d --- /dev/null +++ b/l10n/de_DE/core.po @@ -0,0 +1,553 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# , 2011-2012. +# , 2011. +# , 2012. +# , 2012. +# , 2011. +# I Robot , 2012. +# Jan-Christoph Borchardt , 2011. +# , 2012. +# Marcel Kühlhorn , 2012. +# , 2012. +# , 2012. +# Phi Lieb <>, 2012. +# , 2012. +# , 2012. +msgid "" +msgstr "" +"Project-Id-Version: ownCloud\n" +"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" +"POT-Creation-Date: 2012-11-23 00:01+0100\n" +"PO-Revision-Date: 2012-11-22 09:33+0000\n" +"Last-Translator: Mirodin \n" +"Language-Team: German (Germany) (http://www.transifex.com/projects/p/owncloud/language/de_DE/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: de_DE\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ajax/vcategories/add.php:26 ajax/vcategories/edit.php:25 +msgid "Category type not provided." +msgstr "Kategorie nicht angegeben." + +#: ajax/vcategories/add.php:30 +msgid "No category to add?" +msgstr "Keine Kategorie hinzuzufügen?" + +#: ajax/vcategories/add.php:37 +msgid "This category already exists: " +msgstr "Kategorie existiert bereits:" + +#: ajax/vcategories/addToFavorites.php:26 ajax/vcategories/delete.php:27 +#: ajax/vcategories/favorites.php:24 +#: ajax/vcategories/removeFromFavorites.php:26 +msgid "Object type not provided." +msgstr "Objekttyp nicht angegeben." + +#: ajax/vcategories/addToFavorites.php:30 +#: ajax/vcategories/removeFromFavorites.php:30 +#, php-format +msgid "%s ID not provided." +msgstr "%s ID nicht angegeben." + +#: ajax/vcategories/addToFavorites.php:35 +#, php-format +msgid "Error adding %s to favorites." +msgstr "Fehler beim Hinzufügen von %s zu den Favoriten." + +#: ajax/vcategories/delete.php:35 js/oc-vcategories.js:136 +msgid "No categories selected for deletion." +msgstr "Es wurden keine Kategorien zum Löschen ausgewählt." + +#: ajax/vcategories/removeFromFavorites.php:35 +#, php-format +msgid "Error removing %s from favorites." +msgstr "Fehler beim Entfernen von %s von den Favoriten." + +#: js/js.js:259 templates/layout.user.php:60 templates/layout.user.php:61 +msgid "Settings" +msgstr "Einstellungen" + +#: js/js.js:704 +msgid "seconds ago" +msgstr "Gerade eben" + +#: js/js.js:705 +msgid "1 minute ago" +msgstr "Vor 1 Minute" + +#: js/js.js:706 +msgid "{minutes} minutes ago" +msgstr "Vor {minutes} Minuten" + +#: js/js.js:707 +msgid "1 hour ago" +msgstr "Vor einer Stunde" + +#: js/js.js:708 +msgid "{hours} hours ago" +msgstr "Vor {hours} Stunden" + +#: js/js.js:709 +msgid "today" +msgstr "Heute" + +#: js/js.js:710 +msgid "yesterday" +msgstr "Gestern" + +#: js/js.js:711 +msgid "{days} days ago" +msgstr "Vor {days} Tag(en)" + +#: js/js.js:712 +msgid "last month" +msgstr "Letzten Monat" + +#: js/js.js:713 +msgid "{months} months ago" +msgstr "Vor {months} Monaten" + +#: js/js.js:714 +msgid "months ago" +msgstr "Vor Monaten" + +#: js/js.js:715 +msgid "last year" +msgstr "Letztes Jahr" + +#: js/js.js:716 +msgid "years ago" +msgstr "Vor Jahren" + +#: js/oc-dialogs.js:126 +msgid "Choose" +msgstr "Auswählen" + +#: js/oc-dialogs.js:146 js/oc-dialogs.js:166 +msgid "Cancel" +msgstr "Abbrechen" + +#: js/oc-dialogs.js:162 +msgid "No" +msgstr "Nein" + +#: js/oc-dialogs.js:163 +msgid "Yes" +msgstr "Ja" + +#: js/oc-dialogs.js:180 +msgid "Ok" +msgstr "OK" + +#: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102 +#: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162 +msgid "The object type is not specified." +msgstr "Der Objekttyp ist nicht angegeben." + +#: js/oc-vcategories.js:95 js/oc-vcategories.js:125 js/oc-vcategories.js:136 +#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:527 +#: js/share.js:539 +msgid "Error" +msgstr "Fehler" + +#: js/oc-vcategories.js:179 +msgid "The app name is not specified." +msgstr "Der App-Name ist nicht angegeben." + +#: js/oc-vcategories.js:194 +msgid "The required file {file} is not installed!" +msgstr "Die benötigte Datei {file} ist nicht installiert." + +#: js/share.js:124 +msgid "Error while sharing" +msgstr "Fehler bei der Freigabe" + +#: js/share.js:135 +msgid "Error while unsharing" +msgstr "Fehler bei der Aufhebung der Freigabe" + +#: js/share.js:142 +msgid "Error while changing permissions" +msgstr "Fehler bei der Änderung der Rechte" + +#: js/share.js:151 +msgid "Shared with you and the group {group} by {owner}" +msgstr "Durch {owner} für Sie und die Gruppe {group} freigegeben." + +#: js/share.js:153 +msgid "Shared with you by {owner}" +msgstr "Durch {owner} für Sie freigegeben." + +#: js/share.js:158 +msgid "Share with" +msgstr "Freigeben für" + +#: js/share.js:163 +msgid "Share with link" +msgstr "Über einen Link freigeben" + +#: js/share.js:164 +msgid "Password protect" +msgstr "Passwortschutz" + +#: js/share.js:168 templates/installation.php:42 templates/login.php:24 +#: templates/verify.php:13 +msgid "Password" +msgstr "Passwort" + +#: js/share.js:173 +msgid "Set expiration date" +msgstr "Setze ein Ablaufdatum" + +#: js/share.js:174 +msgid "Expiration date" +msgstr "Ablaufdatum" + +#: js/share.js:206 +msgid "Share via email:" +msgstr "Mittels einer E-Mail freigeben:" + +#: js/share.js:208 +msgid "No people found" +msgstr "Niemand gefunden" + +#: js/share.js:235 +msgid "Resharing is not allowed" +msgstr "Das Weiterverteilen ist nicht erlaubt" + +#: js/share.js:271 +msgid "Shared in {item} with {user}" +msgstr "Freigegeben in {item} von {user}" + +#: js/share.js:292 +msgid "Unshare" +msgstr "Freigabe aufheben" + +#: js/share.js:304 +msgid "can edit" +msgstr "kann bearbeiten" + +#: js/share.js:306 +msgid "access control" +msgstr "Zugriffskontrolle" + +#: js/share.js:309 +msgid "create" +msgstr "erstellen" + +#: js/share.js:312 +msgid "update" +msgstr "aktualisieren" + +#: js/share.js:315 +msgid "delete" +msgstr "löschen" + +#: js/share.js:318 +msgid "share" +msgstr "freigeben" + +#: js/share.js:343 js/share.js:514 js/share.js:516 +msgid "Password protected" +msgstr "Durch ein Passwort geschützt" + +#: js/share.js:527 +msgid "Error unsetting expiration date" +msgstr "Fehler beim Entfernen des Ablaufdatums" + +#: js/share.js:539 +msgid "Error setting expiration date" +msgstr "Fehler beim Setzen des Ablaufdatums" + +#: lostpassword/controller.php:47 +msgid "ownCloud password reset" +msgstr "ownCloud-Passwort zurücksetzen" + +#: lostpassword/templates/email.php:2 +msgid "Use the following link to reset your password: {link}" +msgstr "Nutzen Sie den nachfolgenden Link, um Ihr Passwort zurückzusetzen: {link}" + +#: lostpassword/templates/lostpassword.php:3 +msgid "You will receive a link to reset your password via Email." +msgstr "Sie erhalten einen Link per E-Mail, um Ihr Passwort zurückzusetzen." + +#: lostpassword/templates/lostpassword.php:5 +msgid "Reset email send." +msgstr "E-Mail zum Zurücksetzen des Passworts gesendet." + +#: lostpassword/templates/lostpassword.php:8 +msgid "Request failed!" +msgstr "Die Anfrage schlug fehl!" + +#: lostpassword/templates/lostpassword.php:11 templates/installation.php:38 +#: templates/login.php:20 +msgid "Username" +msgstr "Benutzername" + +#: lostpassword/templates/lostpassword.php:14 +msgid "Request reset" +msgstr "Beantrage Zurücksetzung" + +#: lostpassword/templates/resetpassword.php:4 +msgid "Your password was reset" +msgstr "Ihr Passwort wurde zurückgesetzt." + +#: lostpassword/templates/resetpassword.php:5 +msgid "To login page" +msgstr "Zur Login-Seite" + +#: lostpassword/templates/resetpassword.php:8 +msgid "New password" +msgstr "Neues Passwort" + +#: lostpassword/templates/resetpassword.php:11 +msgid "Reset password" +msgstr "Passwort zurücksetzen" + +#: strings.php:5 +msgid "Personal" +msgstr "Persönlich" + +#: strings.php:6 +msgid "Users" +msgstr "Benutzer" + +#: strings.php:7 +msgid "Apps" +msgstr "Anwendungen" + +#: strings.php:8 +msgid "Admin" +msgstr "Admin" + +#: strings.php:9 +msgid "Help" +msgstr "Hilfe" + +#: templates/403.php:12 +msgid "Access forbidden" +msgstr "Zugriff verboten" + +#: templates/404.php:12 +msgid "Cloud not found" +msgstr "Cloud nicht gefunden" + +#: templates/edit_categories_dialog.php:4 +msgid "Edit categories" +msgstr "Kategorien bearbeiten" + +#: templates/edit_categories_dialog.php:16 +msgid "Add" +msgstr "Hinzufügen" + +#: templates/installation.php:23 templates/installation.php:31 +msgid "Security Warning" +msgstr "Sicherheitshinweis" + +#: templates/installation.php:24 +msgid "" +"No secure random number generator is available, please enable the PHP " +"OpenSSL extension." +msgstr "Es ist kein sicherer Zufallszahlengenerator verfügbar, bitte aktivieren Sie die PHP-Erweiterung für OpenSSL." + +#: templates/installation.php:26 +msgid "" +"Without a secure random number generator an attacker may be able to predict " +"password reset tokens and take over your account." +msgstr "Ohne einen sicheren Zufallszahlengenerator sind Angreifer in der Lage, die Tokens für das Zurücksetzen der Passwörter vorherzusehen und Ihr Konto zu übernehmen." + +#: templates/installation.php:32 +msgid "" +"Your data directory and your files are probably accessible from the " +"internet. The .htaccess file that ownCloud provides is not working. We " +"strongly suggest that you configure your webserver in a way that the data " +"directory is no longer accessible or you move the data directory outside the" +" webserver document root." +msgstr "Ihr Datenverzeichnis und Ihre Dateien sind wahrscheinlich über das Internet erreichbar. Die von ownCloud bereitgestellte .htaccess Datei funktioniert nicht. Wir empfehlen Ihnen dringend, Ihren Webserver so zu konfigurieren, dass das Datenverzeichnis nicht mehr über das Internet erreichbar ist. Alternativ können Sie auch das Datenverzeichnis aus dem Dokumentenverzeichnis des Webservers verschieben." + +#: templates/installation.php:36 +msgid "Create an admin account" +msgstr "Administrator-Konto anlegen" + +#: templates/installation.php:48 +msgid "Advanced" +msgstr "Fortgeschritten" + +#: templates/installation.php:50 +msgid "Data folder" +msgstr "Datenverzeichnis" + +#: templates/installation.php:57 +msgid "Configure the database" +msgstr "Datenbank einrichten" + +#: templates/installation.php:62 templates/installation.php:73 +#: templates/installation.php:83 templates/installation.php:93 +msgid "will be used" +msgstr "wird verwendet" + +#: templates/installation.php:105 +msgid "Database user" +msgstr "Datenbank-Benutzer" + +#: templates/installation.php:109 +msgid "Database password" +msgstr "Datenbank-Passwort" + +#: templates/installation.php:113 +msgid "Database name" +msgstr "Datenbank-Name" + +#: templates/installation.php:121 +msgid "Database tablespace" +msgstr "Datenbank-Tablespace" + +#: templates/installation.php:127 +msgid "Database host" +msgstr "Datenbank-Host" + +#: templates/installation.php:132 +msgid "Finish setup" +msgstr "Installation abschließen" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Sunday" +msgstr "Sonntag" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Monday" +msgstr "Montag" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Tuesday" +msgstr "Dienstag" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Wednesday" +msgstr "Mittwoch" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Thursday" +msgstr "Donnerstag" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Friday" +msgstr "Freitag" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Saturday" +msgstr "Samstag" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "January" +msgstr "Januar" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "February" +msgstr "Februar" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "March" +msgstr "März" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "April" +msgstr "April" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "May" +msgstr "Mai" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "June" +msgstr "Juni" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "July" +msgstr "Juli" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "August" +msgstr "August" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "September" +msgstr "September" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "October" +msgstr "Oktober" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "November" +msgstr "November" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "December" +msgstr "Dezember" + +#: templates/layout.guest.php:42 +msgid "web services under your control" +msgstr "Web-Services unter Ihrer Kontrolle" + +#: templates/layout.user.php:45 +msgid "Log out" +msgstr "Abmelden" + +#: templates/login.php:8 +msgid "Automatic logon rejected!" +msgstr "Automatische Anmeldung verweigert." + +#: templates/login.php:9 +msgid "" +"If you did not change your password recently, your account may be " +"compromised!" +msgstr "Wenn Sie Ihr Passwort nicht vor kurzem geändert haben, könnte Ihr\nAccount kompromittiert sein!" + +#: templates/login.php:10 +msgid "Please change your password to secure your account again." +msgstr "Bitte ändern Sie Ihr Passwort, um Ihr Konto wieder zu sichern." + +#: templates/login.php:15 +msgid "Lost your password?" +msgstr "Passwort vergessen?" + +#: templates/login.php:27 +msgid "remember" +msgstr "merken" + +#: templates/login.php:28 +msgid "Log in" +msgstr "Einloggen" + +#: templates/logout.php:1 +msgid "You are logged out." +msgstr "Sie wurden abgemeldet." + +#: templates/part.pagenavi.php:3 +msgid "prev" +msgstr "Zurück" + +#: templates/part.pagenavi.php:20 +msgid "next" +msgstr "Weiter" + +#: templates/verify.php:5 +msgid "Security Warning!" +msgstr "Sicherheitshinweis!" + +#: templates/verify.php:6 +msgid "" +"Please verify your password.
For security reasons you may be " +"occasionally asked to enter your password again." +msgstr "Bitte überprüfen Sie Ihr Passwort.
Aus Sicherheitsgründen werden Sie gelegentlich aufgefordert, Ihr Passwort erneut einzugeben." + +#: templates/verify.php:16 +msgid "Verify" +msgstr "Überprüfen" diff --git a/l10n/de_DE/files.po b/l10n/de_DE/files.po new file mode 100644 index 0000000000000000000000000000000000000000..035e733deb490c83195650783911b096a214eefe --- /dev/null +++ b/l10n/de_DE/files.po @@ -0,0 +1,284 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# , 2012. +# , 2012. +# , 2012. +# I Robot , 2012. +# I Robot , 2012. +# Jan-Christoph Borchardt , 2012. +# Jan-Christoph Borchardt , 2011. +# Jan-Christoph Borchardt , 2011. +# , 2012. +# , 2012. +# Marcel Kühlhorn , 2012. +# Michael Krell , 2012. +# , 2012. +# , 2012. +# Phi Lieb <>, 2012. +# , 2012. +# Thomas Müller <>, 2012. +# , 2012. +msgid "" +msgstr "" +"Project-Id-Version: ownCloud\n" +"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" +"POT-Creation-Date: 2012-12-12 00:12+0100\n" +"PO-Revision-Date: 2012-12-11 09:27+0000\n" +"Last-Translator: Mirodin \n" +"Language-Team: German (Germany) (http://www.transifex.com/projects/p/owncloud/language/de_DE/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: de_DE\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ajax/upload.php:20 +msgid "There is no error, the file uploaded with success" +msgstr "Es sind keine Fehler aufgetreten. Die Datei wurde erfolgreich hochgeladen." + +#: ajax/upload.php:21 +msgid "" +"The uploaded file exceeds the upload_max_filesize directive in php.ini: " +msgstr "Die hochgeladene Datei überschreitet die upload_max_filesize Vorgabe in php.ini" + +#: ajax/upload.php:23 +msgid "" +"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " +"the HTML form" +msgstr "Die Größe der hochzuladenden Datei überschreitet die MAX_FILE_SIZE-Richtlinie, die im HTML-Formular angegeben wurde" + +#: ajax/upload.php:25 +msgid "The uploaded file was only partially uploaded" +msgstr "Die Datei wurde nur teilweise hochgeladen." + +#: ajax/upload.php:26 +msgid "No file was uploaded" +msgstr "Es wurde keine Datei hochgeladen." + +#: ajax/upload.php:27 +msgid "Missing a temporary folder" +msgstr "Der temporäre Ordner fehlt." + +#: ajax/upload.php:28 +msgid "Failed to write to disk" +msgstr "Fehler beim Schreiben auf die Festplatte" + +#: appinfo/app.php:10 +msgid "Files" +msgstr "Dateien" + +#: js/fileactions.js:117 templates/index.php:84 templates/index.php:85 +msgid "Unshare" +msgstr "Nicht mehr freigeben" + +#: js/fileactions.js:119 templates/index.php:90 templates/index.php:91 +msgid "Delete" +msgstr "Löschen" + +#: js/fileactions.js:181 +msgid "Rename" +msgstr "Umbenennen" + +#: js/filelist.js:199 js/filelist.js:201 +msgid "{new_name} already exists" +msgstr "{new_name} existiert bereits" + +#: js/filelist.js:199 js/filelist.js:201 +msgid "replace" +msgstr "ersetzen" + +#: js/filelist.js:199 +msgid "suggest name" +msgstr "Name vorschlagen" + +#: js/filelist.js:199 js/filelist.js:201 +msgid "cancel" +msgstr "abbrechen" + +#: js/filelist.js:248 +msgid "replaced {new_name}" +msgstr "{new_name} wurde ersetzt" + +#: js/filelist.js:248 js/filelist.js:250 js/filelist.js:282 js/filelist.js:284 +msgid "undo" +msgstr "rückgängig machen" + +#: js/filelist.js:250 +msgid "replaced {new_name} with {old_name}" +msgstr "{old_name} wurde ersetzt durch {new_name}" + +#: js/filelist.js:282 +msgid "unshared {files}" +msgstr "Freigabe für {files} beendet" + +#: js/filelist.js:284 +msgid "deleted {files}" +msgstr "{files} gelöscht" + +#: js/files.js:33 +msgid "" +"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not " +"allowed." +msgstr "Ungültiger Name, '\\', '/', '<', '>', ':', '\"', '|', '?' und '*' sind nicht zulässig." + +#: js/files.js:174 +msgid "generating ZIP-file, it may take some time." +msgstr "Erstelle ZIP-Datei. Dies kann eine Weile dauern." + +#: js/files.js:209 +msgid "Unable to upload your file as it is a directory or has 0 bytes" +msgstr "Ihre Datei kann nicht hochgeladen werden, da sie entweder ein Verzeichnis oder 0 Bytes groß ist." + +#: js/files.js:209 +msgid "Upload Error" +msgstr "Fehler beim Upload" + +#: js/files.js:226 +msgid "Close" +msgstr "Schließen" + +#: js/files.js:245 js/files.js:359 js/files.js:389 +msgid "Pending" +msgstr "Ausstehend" + +#: js/files.js:265 +msgid "1 file uploading" +msgstr "1 Datei wird hochgeladen" + +#: js/files.js:268 js/files.js:322 js/files.js:337 +msgid "{count} files uploading" +msgstr "{count} Dateien wurden hochgeladen" + +#: js/files.js:340 js/files.js:373 +msgid "Upload cancelled." +msgstr "Upload abgebrochen." + +#: js/files.js:442 +msgid "" +"File upload is in progress. Leaving the page now will cancel the upload." +msgstr "Der Dateiupload läuft. Wenn Sie die Seite jetzt verlassen, wird der Upload abgebrochen." + +#: js/files.js:512 +msgid "Invalid folder name. Usage of \"Shared\" is reserved by Owncloud" +msgstr "Ungültiger Ordnername. Die Verwendung von \"Shared\" ist ownCloud vorbehalten." + +#: js/files.js:693 +msgid "{count} files scanned" +msgstr "{count} Dateien wurden gescannt" + +#: js/files.js:701 +msgid "error while scanning" +msgstr "Fehler beim Scannen" + +#: js/files.js:774 templates/index.php:66 +msgid "Name" +msgstr "Name" + +#: js/files.js:775 templates/index.php:77 +msgid "Size" +msgstr "Größe" + +#: js/files.js:776 templates/index.php:79 +msgid "Modified" +msgstr "Bearbeitet" + +#: js/files.js:803 +msgid "1 folder" +msgstr "1 Ordner" + +#: js/files.js:805 +msgid "{count} folders" +msgstr "{count} Ordner" + +#: js/files.js:813 +msgid "1 file" +msgstr "1 Datei" + +#: js/files.js:815 +msgid "{count} files" +msgstr "{count} Dateien" + +#: templates/admin.php:5 +msgid "File handling" +msgstr "Dateibehandlung" + +#: templates/admin.php:7 +msgid "Maximum upload size" +msgstr "Maximale Upload-Größe" + +#: templates/admin.php:9 +msgid "max. possible: " +msgstr "maximal möglich:" + +#: templates/admin.php:12 +msgid "Needed for multi-file and folder downloads." +msgstr "Für Mehrfachdatei- und Ordnerdownloads benötigt:" + +#: templates/admin.php:14 +msgid "Enable ZIP-download" +msgstr "ZIP-Download aktivieren" + +#: templates/admin.php:17 +msgid "0 is unlimited" +msgstr "0 bedeutet unbegrenzt" + +#: templates/admin.php:19 +msgid "Maximum input size for ZIP files" +msgstr "Maximale Größe für ZIP-Dateien" + +#: templates/admin.php:23 +msgid "Save" +msgstr "Speichern" + +#: templates/index.php:7 +msgid "New" +msgstr "Neu" + +#: templates/index.php:10 +msgid "Text file" +msgstr "Textdatei" + +#: templates/index.php:12 +msgid "Folder" +msgstr "Ordner" + +#: templates/index.php:14 +msgid "From link" +msgstr "Von einem Link" + +#: templates/index.php:35 +msgid "Upload" +msgstr "Hochladen" + +#: templates/index.php:43 +msgid "Cancel upload" +msgstr "Upload abbrechen" + +#: templates/index.php:58 +msgid "Nothing in here. Upload something!" +msgstr "Alles leer. Bitte laden Sie etwas hoch!" + +#: templates/index.php:72 +msgid "Download" +msgstr "Herunterladen" + +#: templates/index.php:104 +msgid "Upload too large" +msgstr "Der Upload ist zu groß" + +#: templates/index.php:106 +msgid "" +"The files you are trying to upload exceed the maximum size for file uploads " +"on this server." +msgstr "Die Datei überschreitet die Maximalgröße für Uploads auf diesem Server." + +#: templates/index.php:111 +msgid "Files are being scanned, please wait." +msgstr "Dateien werden gescannt, bitte warten." + +#: templates/index.php:114 +msgid "Current scanning" +msgstr "Scanne" diff --git a/l10n/de_DE/files_encryption.po b/l10n/de_DE/files_encryption.po new file mode 100644 index 0000000000000000000000000000000000000000..52f9f34a774f3f51394df8784f37bbf4ee1e6916 --- /dev/null +++ b/l10n/de_DE/files_encryption.po @@ -0,0 +1,35 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# , 2012. +msgid "" +msgstr "" +"Project-Id-Version: ownCloud\n" +"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" +"POT-Creation-Date: 2012-10-20 02:02+0200\n" +"PO-Revision-Date: 2012-10-19 21:33+0000\n" +"Last-Translator: Mirodin \n" +"Language-Team: German (Germany) (http://www.transifex.com/projects/p/owncloud/language/de_DE/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: de_DE\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: templates/settings.php:3 +msgid "Encryption" +msgstr "Verschlüsselung" + +#: templates/settings.php:4 +msgid "Exclude the following file types from encryption" +msgstr "Die folgenden Dateitypen von der Verschlüsselung ausnehmen" + +#: templates/settings.php:5 +msgid "None" +msgstr "Keine" + +#: templates/settings.php:10 +msgid "Enable Encryption" +msgstr "Verschlüsselung aktivieren" diff --git a/l10n/de_DE/files_external.po b/l10n/de_DE/files_external.po new file mode 100644 index 0000000000000000000000000000000000000000..415197254ce221c4b148731d42ae1609fae8a1e5 --- /dev/null +++ b/l10n/de_DE/files_external.po @@ -0,0 +1,124 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# , 2012. +# I Robot , 2012. +# , 2012. +# , 2012. +msgid "" +msgstr "" +"Project-Id-Version: ownCloud\n" +"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" +"POT-Creation-Date: 2012-12-12 00:12+0100\n" +"PO-Revision-Date: 2012-12-11 23:13+0000\n" +"Last-Translator: I Robot \n" +"Language-Team: German (Germany) (http://www.transifex.com/projects/p/owncloud/language/de_DE/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: de_DE\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: js/dropbox.js:7 js/dropbox.js:25 js/google.js:7 js/google.js:23 +msgid "Access granted" +msgstr "Zugriff gestattet" + +#: js/dropbox.js:28 js/dropbox.js:74 js/dropbox.js:79 js/dropbox.js:86 +msgid "Error configuring Dropbox storage" +msgstr "Fehler beim Einrichten von Dropbox" + +#: js/dropbox.js:34 js/dropbox.js:45 js/google.js:31 js/google.js:40 +msgid "Grant access" +msgstr "Zugriff gestatten" + +#: js/dropbox.js:73 js/google.js:72 +msgid "Fill out all required fields" +msgstr "Bitte alle notwendigen Felder füllen" + +#: js/dropbox.js:85 +msgid "Please provide a valid Dropbox app key and secret." +msgstr "Bitte tragen Sie einen gültigen Dropbox-App-Key mit Secret ein." + +#: js/google.js:26 js/google.js:73 js/google.js:78 +msgid "Error configuring Google Drive storage" +msgstr "Fehler beim Einrichten von Google Drive" + +#: lib/config.php:434 +msgid "" +"Warning: \"smbclient\" is not installed. Mounting of CIFS/SMB shares " +"is not possible. Please ask your system administrator to install it." +msgstr "" + +#: lib/config.php:435 +msgid "" +"Warning: The FTP support in PHP is not enabled or installed. Mounting" +" of FTP shares is not possible. Please ask your system administrator to " +"install it." +msgstr "" + +#: templates/settings.php:3 +msgid "External Storage" +msgstr "Externer Speicher" + +#: templates/settings.php:8 templates/settings.php:22 +msgid "Mount point" +msgstr "Mount-Point" + +#: templates/settings.php:9 +msgid "Backend" +msgstr "Backend" + +#: templates/settings.php:10 +msgid "Configuration" +msgstr "Konfiguration" + +#: templates/settings.php:11 +msgid "Options" +msgstr "Optionen" + +#: templates/settings.php:12 +msgid "Applicable" +msgstr "Zutreffend" + +#: templates/settings.php:27 +msgid "Add mount point" +msgstr "Mount-Point hinzufügen" + +#: templates/settings.php:85 +msgid "None set" +msgstr "Nicht definiert" + +#: templates/settings.php:86 +msgid "All Users" +msgstr "Alle Benutzer" + +#: templates/settings.php:87 +msgid "Groups" +msgstr "Gruppen" + +#: templates/settings.php:95 +msgid "Users" +msgstr "Benutzer" + +#: templates/settings.php:108 templates/settings.php:109 +#: templates/settings.php:149 templates/settings.php:150 +msgid "Delete" +msgstr "Löschen" + +#: templates/settings.php:124 +msgid "Enable User External Storage" +msgstr "Externen Speicher für Benutzer aktivieren" + +#: templates/settings.php:125 +msgid "Allow users to mount their own external storage" +msgstr "Erlaubt Benutzern ihre eigenen externen Speicher einzubinden" + +#: templates/settings.php:139 +msgid "SSL root certificates" +msgstr "SSL-Root-Zertifikate" + +#: templates/settings.php:158 +msgid "Import Root Certificate" +msgstr "Root-Zertifikate importieren" diff --git a/l10n/de_DE/files_sharing.po b/l10n/de_DE/files_sharing.po new file mode 100644 index 0000000000000000000000000000000000000000..c1d9610ac763311f86cabfc7be8c973cbd9a7bf7 --- /dev/null +++ b/l10n/de_DE/files_sharing.po @@ -0,0 +1,53 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# , 2012. +# I Robot , 2012. +# , 2012. +# , 2012. +# , 2012. +msgid "" +msgstr "" +"Project-Id-Version: ownCloud\n" +"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" +"POT-Creation-Date: 2012-10-20 02:02+0200\n" +"PO-Revision-Date: 2012-10-19 21:36+0000\n" +"Last-Translator: Mirodin \n" +"Language-Team: German (Germany) (http://www.transifex.com/projects/p/owncloud/language/de_DE/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: de_DE\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: templates/authenticate.php:4 +msgid "Password" +msgstr "Passwort" + +#: templates/authenticate.php:6 +msgid "Submit" +msgstr "Absenden" + +#: templates/public.php:9 +#, php-format +msgid "%s shared the folder %s with you" +msgstr "%s hat den Ordner %s mit Ihnen geteilt" + +#: templates/public.php:11 +#, php-format +msgid "%s shared the file %s with you" +msgstr "%s hat die Datei %s mit Ihnen geteilt" + +#: templates/public.php:14 templates/public.php:30 +msgid "Download" +msgstr "Download" + +#: templates/public.php:29 +msgid "No preview available for" +msgstr "Es ist keine Vorschau verfügbar für" + +#: templates/public.php:35 +msgid "web services under your control" +msgstr "Web-Services unter Ihrer Kontrolle" diff --git a/l10n/de_DE/files_versions.po b/l10n/de_DE/files_versions.po new file mode 100644 index 0000000000000000000000000000000000000000..c9f8e08c2e549df2c932b95170b219b3d9c9a55a --- /dev/null +++ b/l10n/de_DE/files_versions.po @@ -0,0 +1,47 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# , 2012. +# I Robot , 2012. +# , 2012. +# , 2012. +# , 2012. +msgid "" +msgstr "" +"Project-Id-Version: ownCloud\n" +"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" +"POT-Creation-Date: 2012-10-20 02:02+0200\n" +"PO-Revision-Date: 2012-10-19 21:36+0000\n" +"Last-Translator: Mirodin \n" +"Language-Team: German (Germany) (http://www.transifex.com/projects/p/owncloud/language/de_DE/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: de_DE\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: js/settings-personal.js:31 templates/settings-personal.php:10 +msgid "Expire all versions" +msgstr "Alle Versionen löschen" + +#: js/versions.js:16 +msgid "History" +msgstr "Historie" + +#: templates/settings-personal.php:4 +msgid "Versions" +msgstr "Versionen" + +#: templates/settings-personal.php:7 +msgid "This will delete all existing backup versions of your files" +msgstr "Dies löscht alle vorhandenen Sicherungsversionen Ihrer Dateien." + +#: templates/settings.php:3 +msgid "Files Versioning" +msgstr "Dateiversionierung" + +#: templates/settings.php:4 +msgid "Enable" +msgstr "Aktivieren" diff --git a/l10n/de_DE/lib.po b/l10n/de_DE/lib.po new file mode 100644 index 0000000000000000000000000000000000000000..3c9177f17ed7cfc37151da258d2c3c878a6488a4 --- /dev/null +++ b/l10n/de_DE/lib.po @@ -0,0 +1,159 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# , 2012. +# , 2012. +# Jan-Christoph Borchardt , 2012. +# Marcel Kühlhorn , 2012. +# Phi Lieb <>, 2012. +# , 2012. +# , 2012. +msgid "" +msgstr "" +"Project-Id-Version: ownCloud\n" +"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" +"POT-Creation-Date: 2012-12-11 00:04+0100\n" +"PO-Revision-Date: 2012-12-10 13:49+0000\n" +"Last-Translator: Mirodin \n" +"Language-Team: German (Germany) (http://www.transifex.com/projects/p/owncloud/language/de_DE/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: de_DE\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: app.php:287 +msgid "Help" +msgstr "Hilfe" + +#: app.php:294 +msgid "Personal" +msgstr "Persönlich" + +#: app.php:299 +msgid "Settings" +msgstr "Einstellungen" + +#: app.php:304 +msgid "Users" +msgstr "Benutzer" + +#: app.php:311 +msgid "Apps" +msgstr "Apps" + +#: app.php:313 +msgid "Admin" +msgstr "Administrator" + +#: files.php:361 +msgid "ZIP download is turned off." +msgstr "Der ZIP-Download ist deaktiviert." + +#: files.php:362 +msgid "Files need to be downloaded one by one." +msgstr "Die Dateien müssen einzeln heruntergeladen werden." + +#: files.php:362 files.php:387 +msgid "Back to Files" +msgstr "Zurück zu \"Dateien\"" + +#: files.php:386 +msgid "Selected files too large to generate zip file." +msgstr "Die gewählten Dateien sind zu groß, um eine ZIP-Datei zu erstellen." + +#: json.php:28 +msgid "Application is not enabled" +msgstr "Die Anwendung ist nicht aktiviert" + +#: json.php:39 json.php:64 json.php:77 json.php:89 +msgid "Authentication error" +msgstr "Authentifizierungs-Fehler" + +#: json.php:51 +msgid "Token expired. Please reload page." +msgstr "Token abgelaufen. Bitte laden Sie die Seite neu." + +#: search/provider/file.php:17 search/provider/file.php:35 +msgid "Files" +msgstr "Dateien" + +#: search/provider/file.php:26 search/provider/file.php:33 +msgid "Text" +msgstr "Text" + +#: search/provider/file.php:29 +msgid "Images" +msgstr "Bilder" + +#: template.php:103 +msgid "seconds ago" +msgstr "Gerade eben" + +#: template.php:104 +msgid "1 minute ago" +msgstr "Vor einer Minute" + +#: template.php:105 +#, php-format +msgid "%d minutes ago" +msgstr "Vor %d Minuten" + +#: template.php:106 +msgid "1 hour ago" +msgstr "Vor einer Stunde" + +#: template.php:107 +#, php-format +msgid "%d hours ago" +msgstr "Vor %d Stunden" + +#: template.php:108 +msgid "today" +msgstr "Heute" + +#: template.php:109 +msgid "yesterday" +msgstr "Gestern" + +#: template.php:110 +#, php-format +msgid "%d days ago" +msgstr "Vor %d Tag(en)" + +#: template.php:111 +msgid "last month" +msgstr "Letzten Monat" + +#: template.php:112 +#, php-format +msgid "%d months ago" +msgstr "Vor %d Monaten" + +#: template.php:113 +msgid "last year" +msgstr "Letztes Jahr" + +#: template.php:114 +msgid "years ago" +msgstr "Vor Jahren" + +#: updater.php:75 +#, php-format +msgid "%s is available. Get more information" +msgstr "%s ist verfügbar. Weitere Informationen" + +#: updater.php:77 +msgid "up to date" +msgstr "aktuell" + +#: updater.php:80 +msgid "updates check is disabled" +msgstr "Die Update-Überprüfung ist ausgeschaltet" + +#: vcategories.php:188 vcategories.php:249 +#, php-format +msgid "Could not find category \"%s\"" +msgstr "Die Kategorie \"%s\" konnte nicht gefunden werden." diff --git a/l10n/de_DE/settings.po b/l10n/de_DE/settings.po new file mode 100644 index 0000000000000000000000000000000000000000..064c038d5768c2fb37a9ff7dc806c239156c0730 --- /dev/null +++ b/l10n/de_DE/settings.po @@ -0,0 +1,263 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# , 2011-2012. +# , 2012. +# , 2012. +# I Robot , 2012. +# I Robot , 2012. +# Jan-Christoph Borchardt , 2011. +# Jan T , 2012. +# , 2012. +# , 2012. +# Marcel Kühlhorn , 2012. +# , 2012. +# , 2012. +# Phi Lieb <>, 2012. +# , 2012. +# , 2012. +# , 2012. +msgid "" +msgstr "" +"Project-Id-Version: ownCloud\n" +"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" +"POT-Creation-Date: 2012-12-04 00:06+0100\n" +"PO-Revision-Date: 2012-12-03 21:41+0000\n" +"Last-Translator: seeed \n" +"Language-Team: German (Germany) (http://www.transifex.com/projects/p/owncloud/language/de_DE/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: de_DE\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ajax/apps/ocs.php:20 +msgid "Unable to load list from App Store" +msgstr "Die Liste der Anwendungen im Store konnte nicht geladen werden." + +#: ajax/creategroup.php:10 +msgid "Group already exists" +msgstr "Die Gruppe existiert bereits" + +#: ajax/creategroup.php:19 +msgid "Unable to add group" +msgstr "Die Gruppe konnte nicht angelegt werden" + +#: ajax/enableapp.php:12 +msgid "Could not enable app. " +msgstr "Die Anwendung konnte nicht aktiviert werden." + +#: ajax/lostpassword.php:12 +msgid "Email saved" +msgstr "E-Mail-Adresse gespeichert" + +#: ajax/lostpassword.php:14 +msgid "Invalid email" +msgstr "Ungültige E-Mail-Adresse" + +#: ajax/openid.php:13 +msgid "OpenID Changed" +msgstr "OpenID geändert" + +#: ajax/openid.php:15 ajax/setlanguage.php:17 ajax/setlanguage.php:20 +msgid "Invalid request" +msgstr "Ungültige Anfrage" + +#: ajax/removegroup.php:13 +msgid "Unable to delete group" +msgstr "Die Gruppe konnte nicht gelöscht werden" + +#: ajax/removeuser.php:15 ajax/setquota.php:15 ajax/togglegroups.php:18 +msgid "Authentication error" +msgstr "Fehler bei der Anmeldung" + +#: ajax/removeuser.php:24 +msgid "Unable to delete user" +msgstr "Der Benutzer konnte nicht gelöscht werden" + +#: ajax/setlanguage.php:15 +msgid "Language changed" +msgstr "Sprache geändert" + +#: ajax/togglegroups.php:12 +msgid "Admins can't remove themself from the admin group" +msgstr "Administratoren können sich nicht selbst aus der admin-Gruppe löschen" + +#: ajax/togglegroups.php:28 +#, php-format +msgid "Unable to add user to group %s" +msgstr "Der Benutzer konnte nicht zur Gruppe %s hinzugefügt werden" + +#: ajax/togglegroups.php:34 +#, php-format +msgid "Unable to remove user from group %s" +msgstr "Der Benutzer konnte nicht aus der Gruppe %s entfernt werden" + +#: js/apps.js:28 js/apps.js:67 +msgid "Disable" +msgstr "Deaktivieren" + +#: js/apps.js:28 js/apps.js:55 +msgid "Enable" +msgstr "Aktivieren" + +#: js/personal.js:69 +msgid "Saving..." +msgstr "Speichern..." + +#: personal.php:42 personal.php:43 +msgid "__language_name__" +msgstr "Deutsch (Förmlich: Sie)" + +#: templates/apps.php:10 +msgid "Add your App" +msgstr "Fügen Sie Ihre Anwendung hinzu" + +#: templates/apps.php:11 +msgid "More Apps" +msgstr "Weitere Anwendungen" + +#: templates/apps.php:27 +msgid "Select an App" +msgstr "Wählen Sie eine Anwendung aus" + +#: templates/apps.php:31 +msgid "See application page at apps.owncloud.com" +msgstr "Weitere Anwendungen finden Sie auf apps.owncloud.com" + +#: templates/apps.php:32 +msgid "-licensed by " +msgstr "-lizenziert von " + +#: templates/help.php:9 +msgid "Documentation" +msgstr "Dokumentation" + +#: templates/help.php:10 +msgid "Managing Big Files" +msgstr "Große Dateien verwalten" + +#: templates/help.php:11 +msgid "Ask a question" +msgstr "Stellen Sie eine Frage" + +#: templates/help.php:22 +msgid "Problems connecting to help database." +msgstr "Probleme bei der Verbindung zur Hilfe-Datenbank." + +#: templates/help.php:23 +msgid "Go there manually." +msgstr "Datenbank direkt besuchen." + +#: templates/help.php:31 +msgid "Answer" +msgstr "Antwort" + +#: templates/personal.php:8 +#, php-format +msgid "You have used %s of the available %s" +msgstr "Sie verwenden %s der verfügbaren %s" + +#: templates/personal.php:12 +msgid "Desktop and Mobile Syncing Clients" +msgstr "Desktop- und mobile Clients für die Synchronisation" + +#: templates/personal.php:13 +msgid "Download" +msgstr "Download" + +#: templates/personal.php:19 +msgid "Your password was changed" +msgstr "Ihr Passwort wurde geändert." + +#: templates/personal.php:20 +msgid "Unable to change your password" +msgstr "Das Passwort konnte nicht geändert werden" + +#: templates/personal.php:21 +msgid "Current password" +msgstr "Aktuelles Passwort" + +#: templates/personal.php:22 +msgid "New password" +msgstr "Neues Passwort" + +#: templates/personal.php:23 +msgid "show" +msgstr "zeigen" + +#: templates/personal.php:24 +msgid "Change password" +msgstr "Passwort ändern" + +#: templates/personal.php:30 +msgid "Email" +msgstr "E-Mail" + +#: templates/personal.php:31 +msgid "Your email address" +msgstr "Ihre E-Mail-Adresse" + +#: templates/personal.php:32 +msgid "Fill in an email address to enable password recovery" +msgstr "Bitte tragen Sie eine E-Mail-Adresse ein, um die Passwort-Wiederherstellung zu aktivieren." + +#: templates/personal.php:38 templates/personal.php:39 +msgid "Language" +msgstr "Sprache" + +#: templates/personal.php:44 +msgid "Help translate" +msgstr "Helfen Sie bei der Übersetzung" + +#: templates/personal.php:51 +msgid "use this address to connect to your ownCloud in your file manager" +msgstr "Benutzen Sie diese Adresse, um Ihre ownCloud mit Ihrem Dateimanager zu verbinden." + +#: templates/personal.php:61 +msgid "" +"Developed by the ownCloud community, the source code is " +"licensed under the AGPL." +msgstr "Entwickelt von der ownCloud-Community, der Quellcode ist unter der AGPL lizenziert." + +#: templates/users.php:21 templates/users.php:76 +msgid "Name" +msgstr "Name" + +#: templates/users.php:23 templates/users.php:77 +msgid "Password" +msgstr "Passwort" + +#: templates/users.php:26 templates/users.php:78 templates/users.php:98 +msgid "Groups" +msgstr "Gruppen" + +#: templates/users.php:32 +msgid "Create" +msgstr "Anlegen" + +#: templates/users.php:35 +msgid "Default Quota" +msgstr "Standard-Quota" + +#: templates/users.php:55 templates/users.php:138 +msgid "Other" +msgstr "Andere" + +#: templates/users.php:80 templates/users.php:112 +msgid "Group Admin" +msgstr "Gruppenadministrator" + +#: templates/users.php:82 +msgid "Quota" +msgstr "Quota" + +#: templates/users.php:146 +msgid "Delete" +msgstr "Löschen" diff --git a/l10n/de_DE/user_ldap.po b/l10n/de_DE/user_ldap.po new file mode 100644 index 0000000000000000000000000000000000000000..430a4290235cc552f266d1b8d3a50d7179fe85db --- /dev/null +++ b/l10n/de_DE/user_ldap.po @@ -0,0 +1,176 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# , 2012. +# I Robot , 2012. +# Maurice Preuß <>, 2012. +# , 2012. +# Phi Lieb <>, 2012. +# , 2012. +msgid "" +msgstr "" +"Project-Id-Version: ownCloud\n" +"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" +"POT-Creation-Date: 2012-10-20 02:02+0200\n" +"PO-Revision-Date: 2012-10-19 21:41+0000\n" +"Last-Translator: Mirodin \n" +"Language-Team: German (Germany) (http://www.transifex.com/projects/p/owncloud/language/de_DE/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: de_DE\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: templates/settings.php:8 +msgid "Host" +msgstr "Host" + +#: templates/settings.php:8 +msgid "" +"You can omit the protocol, except you require SSL. Then start with ldaps://" +msgstr "Sie können das Protokoll auslassen, außer wenn Sie SSL benötigen. Beginnen Sie dann mit ldaps://" + +#: templates/settings.php:9 +msgid "Base DN" +msgstr "Basis-DN" + +#: templates/settings.php:9 +msgid "You can specify Base DN for users and groups in the Advanced tab" +msgstr "Sie können Basis-DN für Benutzer und Gruppen in dem \"Erweitert\"-Reiter konfigurieren" + +#: templates/settings.php:10 +msgid "User DN" +msgstr "Benutzer-DN" + +#: templates/settings.php:10 +msgid "" +"The DN of the client user with which the bind shall be done, e.g. " +"uid=agent,dc=example,dc=com. For anonymous access, leave DN and Password " +"empty." +msgstr "Der DN des Benutzers für LDAP-Bind, z.B.: uid=agent,dc=example,dc=com. Für anonymen Zugriff lassen Sie DN und Passwort leer." + +#: templates/settings.php:11 +msgid "Password" +msgstr "Passwort" + +#: templates/settings.php:11 +msgid "For anonymous access, leave DN and Password empty." +msgstr "Lassen Sie die Felder von DN und Passwort für anonymen Zugang leer." + +#: templates/settings.php:12 +msgid "User Login Filter" +msgstr "Benutzer-Login-Filter" + +#: templates/settings.php:12 +#, php-format +msgid "" +"Defines the filter to apply, when login is attempted. %%uid replaces the " +"username in the login action." +msgstr "Bestimmt den angewendeten Filter, wenn eine Anmeldung versucht wird. %%uid ersetzt den Benutzernamen bei dem Anmeldeversuch." + +#: templates/settings.php:12 +#, php-format +msgid "use %%uid placeholder, e.g. \"uid=%%uid\"" +msgstr "verwenden Sie %%uid Platzhalter, z. B. \"uid=%%uid\"" + +#: templates/settings.php:13 +msgid "User List Filter" +msgstr "Benutzer-Filter-Liste" + +#: templates/settings.php:13 +msgid "Defines the filter to apply, when retrieving users." +msgstr "Definiert den Filter für die Anfrage der Benutzer." + +#: templates/settings.php:13 +msgid "without any placeholder, e.g. \"objectClass=person\"." +msgstr "ohne Platzhalter, z.B.: \"objectClass=person\"" + +#: templates/settings.php:14 +msgid "Group Filter" +msgstr "Gruppen-Filter" + +#: templates/settings.php:14 +msgid "Defines the filter to apply, when retrieving groups." +msgstr "Definiert den Filter für die Anfrage der Gruppen." + +#: templates/settings.php:14 +msgid "without any placeholder, e.g. \"objectClass=posixGroup\"." +msgstr "ohne Platzhalter, z.B.: \"objectClass=posixGroup\"" + +#: templates/settings.php:17 +msgid "Port" +msgstr "Port" + +#: templates/settings.php:18 +msgid "Base User Tree" +msgstr "Basis-Benutzerbaum" + +#: templates/settings.php:19 +msgid "Base Group Tree" +msgstr "Basis-Gruppenbaum" + +#: templates/settings.php:20 +msgid "Group-Member association" +msgstr "Assoziation zwischen Gruppe und Benutzer" + +#: templates/settings.php:21 +msgid "Use TLS" +msgstr "Nutze TLS" + +#: templates/settings.php:21 +msgid "Do not use it for SSL connections, it will fail." +msgstr "Verwenden Sie dies nicht für SSL-Verbindungen, es wird fehlschlagen." + +#: templates/settings.php:22 +msgid "Case insensitve LDAP server (Windows)" +msgstr "LDAP-Server (Windows: Groß- und Kleinschreibung bleibt unbeachtet)" + +#: templates/settings.php:23 +msgid "Turn off SSL certificate validation." +msgstr "Schalten Sie die SSL-Zertifikatsprüfung aus." + +#: templates/settings.php:23 +msgid "" +"If connection only works with this option, import the LDAP server's SSL " +"certificate in your ownCloud server." +msgstr "Falls die Verbindung es erfordert, muss das SSL-Zertifikat des LDAP-Server importiert werden." + +#: templates/settings.php:23 +msgid "Not recommended, use for testing only." +msgstr "Nicht empfohlen, nur zu Testzwecken." + +#: templates/settings.php:24 +msgid "User Display Name Field" +msgstr "Feld für den Anzeigenamen des Benutzers" + +#: templates/settings.php:24 +msgid "The LDAP attribute to use to generate the user`s ownCloud name." +msgstr "Das LDAP-Attribut für die Generierung des Benutzernamens in ownCloud. " + +#: templates/settings.php:25 +msgid "Group Display Name Field" +msgstr "Feld für den Anzeigenamen der Gruppe" + +#: templates/settings.php:25 +msgid "The LDAP attribute to use to generate the groups`s ownCloud name." +msgstr "Das LDAP-Attribut für die Generierung des Gruppennamens in ownCloud. " + +#: templates/settings.php:27 +msgid "in bytes" +msgstr "in Bytes" + +#: templates/settings.php:29 +msgid "in seconds. A change empties the cache." +msgstr "in Sekunden. Eine Änderung leert den Cache." + +#: templates/settings.php:30 +msgid "" +"Leave empty for user name (default). Otherwise, specify an LDAP/AD " +"attribute." +msgstr "Ohne Eingabe wird der Benutzername (Standard) verwendet. Anderenfall trage ein LDAP/AD-Attribut ein." + +#: templates/settings.php:32 +msgid "Help" +msgstr "Hilfe" diff --git a/l10n/de_DE/user_webdavauth.po b/l10n/de_DE/user_webdavauth.po new file mode 100644 index 0000000000000000000000000000000000000000..76e04750deee0537b45703e7812c65cd8b19fe05 --- /dev/null +++ b/l10n/de_DE/user_webdavauth.po @@ -0,0 +1,23 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# , 2012. +msgid "" +msgstr "" +"Project-Id-Version: ownCloud\n" +"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" +"POT-Creation-Date: 2012-11-14 00:02+0100\n" +"PO-Revision-Date: 2012-11-13 18:15+0000\n" +"Last-Translator: Mirodin \n" +"Language-Team: German (Germany) (http://www.transifex.com/projects/p/owncloud/language/de_DE/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: de_DE\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: templates/settings.php:4 +msgid "WebDAV URL: http://" +msgstr "WebDAV URL: http://" diff --git a/l10n/el/admin_dependencies_chk.po b/l10n/el/admin_dependencies_chk.po deleted file mode 100644 index 68230095964afe067678ce954920209eec90f12a..0000000000000000000000000000000000000000 --- a/l10n/el/admin_dependencies_chk.po +++ /dev/null @@ -1,74 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Efstathios Iosifidis , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-24 02:01+0200\n" -"PO-Revision-Date: 2012-08-23 13:39+0000\n" -"Last-Translator: Efstathios Iosifidis \n" -"Language-Team: Greek (http://www.transifex.com/projects/p/owncloud/language/el/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: el\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: settings.php:33 -msgid "" -"The php-json module is needed by the many applications for inter " -"communications" -msgstr "" - -#: settings.php:39 -msgid "" -"The php-curl modude is needed to fetch the page title when adding a " -"bookmarks" -msgstr "" - -#: settings.php:45 -msgid "The php-gd module is needed to create thumbnails of your images" -msgstr "" - -#: settings.php:51 -msgid "The php-ldap module is needed connect to your ldap server" -msgstr "" - -#: settings.php:57 -msgid "The php-zip module is needed download multiple files at once" -msgstr "" - -#: settings.php:63 -msgid "" -"The php-mb_multibyte module is needed to manage correctly the encoding." -msgstr "" - -#: settings.php:69 -msgid "The php-ctype module is needed validate data." -msgstr "" - -#: settings.php:75 -msgid "The php-xml module is needed to share files with webdav." -msgstr "" - -#: settings.php:81 -msgid "" -"The allow_url_fopen directive of your php.ini should be set to 1 to retrieve" -" knowledge base from OCS servers" -msgstr "" - -#: settings.php:87 -msgid "The php-pdo module is needed to store owncloud data into a database." -msgstr "" - -#: templates/settings.php:2 -msgid "Dependencies status" -msgstr "Κατάσταση εξαρτήσεων" - -#: templates/settings.php:7 -msgid "Used by :" -msgstr "Χρησιμοποιήθηκε από:" diff --git a/l10n/el/admin_migrate.po b/l10n/el/admin_migrate.po deleted file mode 100644 index 2d17139f4a0c82b672286100b826ce135ecff134..0000000000000000000000000000000000000000 --- a/l10n/el/admin_migrate.po +++ /dev/null @@ -1,33 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Efstathios Iosifidis , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-24 02:01+0200\n" -"PO-Revision-Date: 2012-08-23 13:41+0000\n" -"Last-Translator: Efstathios Iosifidis \n" -"Language-Team: Greek (http://www.transifex.com/projects/p/owncloud/language/el/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: el\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: templates/settings.php:3 -msgid "Export this ownCloud instance" -msgstr "" - -#: templates/settings.php:4 -msgid "" -"This will create a compressed file that contains the data of this owncloud instance.\n" -" Please choose the export type:" -msgstr "Αυτό θα δημιουργήσει ένα συμπιεσμένο αρχείο που θα περιέχει τα δεδομένα από αυτό το ownCloud.\n Παρακαλώ επιλέξτε τον τύπο εξαγωγής:" - -#: templates/settings.php:12 -msgid "Export" -msgstr "Εξαγωγή" diff --git a/l10n/el/bookmarks.po b/l10n/el/bookmarks.po deleted file mode 100644 index 0030d2d3959cefc8f30c48efcd193c8c2557f750..0000000000000000000000000000000000000000 --- a/l10n/el/bookmarks.po +++ /dev/null @@ -1,62 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Efstathios Iosifidis , 2012. -# Efstathios Iosifidis , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-07-29 02:03+0200\n" -"PO-Revision-Date: 2012-07-28 11:33+0000\n" -"Last-Translator: Efstathios Iosifidis \n" -"Language-Team: Greek (http://www.transifex.com/projects/p/owncloud/language/el/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: el\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: appinfo/app.php:14 -msgid "Bookmarks" -msgstr "Σελιδοδείκτες" - -#: bookmarksHelper.php:99 -msgid "unnamed" -msgstr "ανώνυμο" - -#: templates/bookmarklet.php:5 -msgid "" -"Drag this to your browser bookmarks and click it, when you want to bookmark " -"a webpage quickly:" -msgstr "Σύρετε αυτό στους σελιδοδείκτες του περιηγητή σας και κάντε κλικ επάνω του, όταν θέλετε να προσθέσετε σύντομα μια ιστοσελίδα ως σελιδοδείκτη:" - -#: templates/bookmarklet.php:7 -msgid "Read later" -msgstr "Ανάγνωση αργότερα" - -#: templates/list.php:13 -msgid "Address" -msgstr "Διεύθυνση" - -#: templates/list.php:14 -msgid "Title" -msgstr "Τίτλος" - -#: templates/list.php:15 -msgid "Tags" -msgstr "Ετικέτες" - -#: templates/list.php:16 -msgid "Save bookmark" -msgstr "Αποθήκευση σελιδοδείκτη" - -#: templates/list.php:22 -msgid "You have no bookmarks" -msgstr "Δεν έχετε σελιδοδείκτες" - -#: templates/settings.php:11 -msgid "Bookmarklet
" -msgstr "Εφαρμογίδιο Σελιδοδεικτών
" diff --git a/l10n/el/calendar.po b/l10n/el/calendar.po deleted file mode 100644 index b8bca2723980e30b0db6cd9d92be0395f4261913..0000000000000000000000000000000000000000 --- a/l10n/el/calendar.po +++ /dev/null @@ -1,818 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# , 2011. -# Dimitris M. , 2012. -# Efstathios Iosifidis , 2012. -# Marios Bekatoros <>, 2012. -# Petros Kyladitis , 2011, 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-11 02:02+0200\n" -"PO-Revision-Date: 2012-08-11 00:02+0000\n" -"Last-Translator: owncloud_robot \n" -"Language-Team: Greek (http://www.transifex.com/projects/p/owncloud/language/el/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: el\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: ajax/cache/status.php:19 -msgid "Not all calendars are completely cached" -msgstr "Δεν έχει δημιουργηθεί λανθάνουσα μνήμη για όλα τα ημερολόγια" - -#: ajax/cache/status.php:21 -msgid "Everything seems to be completely cached" -msgstr "Όλα έχουν αποθηκευτεί στη cache" - -#: ajax/categories/rescan.php:29 -msgid "No calendars found." -msgstr "Δε βρέθηκαν ημερολόγια." - -#: ajax/categories/rescan.php:37 -msgid "No events found." -msgstr "Δε βρέθηκαν γεγονότα." - -#: ajax/event/edit.form.php:20 -msgid "Wrong calendar" -msgstr "Λάθος ημερολόγιο" - -#: ajax/import/dropimport.php:29 ajax/import/import.php:64 -msgid "" -"The file contained either no events or all events are already saved in your " -"calendar." -msgstr "Το αρχείο που περιέχει είτε κανένα γεγονός είτε όλα τα γεγονότα έχουν ήδη αποθηκευτεί στο ημερολόγιό σας." - -#: ajax/import/dropimport.php:31 ajax/import/import.php:67 -msgid "events has been saved in the new calendar" -msgstr "τα συμβάντα αποθηκεύτηκαν σε ένα νέο ημερολόγιο" - -#: ajax/import/import.php:56 -msgid "Import failed" -msgstr "Η εισαγωγή απέτυχε" - -#: ajax/import/import.php:69 -msgid "events has been saved in your calendar" -msgstr "το συμβάν αποθηκεύτηκε στο ημερολογιό σου" - -#: ajax/settings/guesstimezone.php:25 -msgid "New Timezone:" -msgstr "Νέα ζώνη ώρας:" - -#: ajax/settings/settimezone.php:23 -msgid "Timezone changed" -msgstr "Η ζώνη ώρας άλλαξε" - -#: ajax/settings/settimezone.php:25 -msgid "Invalid request" -msgstr "Μη έγκυρο αίτημα" - -#: appinfo/app.php:35 templates/calendar.php:15 -#: templates/part.eventform.php:33 templates/part.showevent.php:33 -msgid "Calendar" -msgstr "Ημερολόγιο" - -#: js/calendar.js:832 -msgid "ddd" -msgstr "ddd" - -#: js/calendar.js:833 -msgid "ddd M/d" -msgstr "ddd M/d" - -#: js/calendar.js:834 -msgid "dddd M/d" -msgstr "dddd M/d" - -#: js/calendar.js:837 -msgid "MMMM yyyy" -msgstr "MMMM yyyy" - -#: js/calendar.js:839 -msgid "MMM d[ yyyy]{ '—'[ MMM] d yyyy}" -msgstr "MMM d[ yyyy]{ '—'[ MMM] d yyyy}" - -#: js/calendar.js:841 -msgid "dddd, MMM d, yyyy" -msgstr "dddd, MMM d, yyyy" - -#: lib/app.php:121 -msgid "Birthday" -msgstr "Γενέθλια" - -#: lib/app.php:122 -msgid "Business" -msgstr "Επιχείρηση" - -#: lib/app.php:123 -msgid "Call" -msgstr "Κλήση" - -#: lib/app.php:124 -msgid "Clients" -msgstr "Πελάτες" - -#: lib/app.php:125 -msgid "Deliverer" -msgstr "Προμηθευτής" - -#: lib/app.php:126 -msgid "Holidays" -msgstr "Διακοπές" - -#: lib/app.php:127 -msgid "Ideas" -msgstr "Ιδέες" - -#: lib/app.php:128 -msgid "Journey" -msgstr "Ταξίδι" - -#: lib/app.php:129 -msgid "Jubilee" -msgstr "Γιορτή" - -#: lib/app.php:130 -msgid "Meeting" -msgstr "Συνάντηση" - -#: lib/app.php:131 -msgid "Other" -msgstr "Άλλο" - -#: lib/app.php:132 -msgid "Personal" -msgstr "Προσωπικό" - -#: lib/app.php:133 -msgid "Projects" -msgstr "Έργα" - -#: lib/app.php:134 -msgid "Questions" -msgstr "Ερωτήσεις" - -#: lib/app.php:135 -msgid "Work" -msgstr "Εργασία" - -#: lib/app.php:351 lib/app.php:361 -msgid "by" -msgstr "από" - -#: lib/app.php:359 lib/app.php:399 -msgid "unnamed" -msgstr "ανώνυμο" - -#: lib/import.php:184 templates/calendar.php:12 -#: templates/part.choosecalendar.php:22 -msgid "New Calendar" -msgstr "Νέα Ημερολόγιο" - -#: lib/object.php:372 -msgid "Does not repeat" -msgstr "Μη επαναλαμβανόμενο" - -#: lib/object.php:373 -msgid "Daily" -msgstr "Καθημερινά" - -#: lib/object.php:374 -msgid "Weekly" -msgstr "Εβδομαδιαία" - -#: lib/object.php:375 -msgid "Every Weekday" -msgstr "Κάθε μέρα" - -#: lib/object.php:376 -msgid "Bi-Weekly" -msgstr "Δύο φορές την εβδομάδα" - -#: lib/object.php:377 -msgid "Monthly" -msgstr "Μηνιαία" - -#: lib/object.php:378 -msgid "Yearly" -msgstr "Ετήσια" - -#: lib/object.php:388 -msgid "never" -msgstr "ποτέ" - -#: lib/object.php:389 -msgid "by occurrences" -msgstr "κατά συχνότητα πρόσβασης" - -#: lib/object.php:390 -msgid "by date" -msgstr "κατά ημερομηνία" - -#: lib/object.php:400 -msgid "by monthday" -msgstr "κατά ημέρα" - -#: lib/object.php:401 -msgid "by weekday" -msgstr "κατά εβδομάδα" - -#: lib/object.php:411 templates/calendar.php:5 templates/settings.php:69 -msgid "Monday" -msgstr "Δευτέρα" - -#: lib/object.php:412 templates/calendar.php:5 -msgid "Tuesday" -msgstr "Τρίτη" - -#: lib/object.php:413 templates/calendar.php:5 -msgid "Wednesday" -msgstr "Τετάρτη" - -#: lib/object.php:414 templates/calendar.php:5 -msgid "Thursday" -msgstr "Πέμπτη" - -#: lib/object.php:415 templates/calendar.php:5 -msgid "Friday" -msgstr "Παρασκευή" - -#: lib/object.php:416 templates/calendar.php:5 -msgid "Saturday" -msgstr "Σάββατο" - -#: lib/object.php:417 templates/calendar.php:5 templates/settings.php:70 -msgid "Sunday" -msgstr "Κυριακή" - -#: lib/object.php:427 -msgid "events week of month" -msgstr "συμβάντα της εβδομάδας του μήνα" - -#: lib/object.php:428 -msgid "first" -msgstr "πρώτο" - -#: lib/object.php:429 -msgid "second" -msgstr "δεύτερο" - -#: lib/object.php:430 -msgid "third" -msgstr "τρίτο" - -#: lib/object.php:431 -msgid "fourth" -msgstr "τέταρτο" - -#: lib/object.php:432 -msgid "fifth" -msgstr "πέμπτο" - -#: lib/object.php:433 -msgid "last" -msgstr "τελευταίο" - -#: lib/object.php:467 templates/calendar.php:7 -msgid "January" -msgstr "Ιανουάριος" - -#: lib/object.php:468 templates/calendar.php:7 -msgid "February" -msgstr "Φεβρουάριος" - -#: lib/object.php:469 templates/calendar.php:7 -msgid "March" -msgstr "Μάρτιος" - -#: lib/object.php:470 templates/calendar.php:7 -msgid "April" -msgstr "Απρίλιος" - -#: lib/object.php:471 templates/calendar.php:7 -msgid "May" -msgstr "Μάϊος" - -#: lib/object.php:472 templates/calendar.php:7 -msgid "June" -msgstr "Ιούνιος" - -#: lib/object.php:473 templates/calendar.php:7 -msgid "July" -msgstr "Ιούλιος" - -#: lib/object.php:474 templates/calendar.php:7 -msgid "August" -msgstr "Αύγουστος" - -#: lib/object.php:475 templates/calendar.php:7 -msgid "September" -msgstr "Σεπτέμβριος" - -#: lib/object.php:476 templates/calendar.php:7 -msgid "October" -msgstr "Οκτώβριος" - -#: lib/object.php:477 templates/calendar.php:7 -msgid "November" -msgstr "Νοέμβριος" - -#: lib/object.php:478 templates/calendar.php:7 -msgid "December" -msgstr "Δεκέμβριος" - -#: lib/object.php:488 -msgid "by events date" -msgstr "κατά ημερομηνία συμβάντων" - -#: lib/object.php:489 -msgid "by yearday(s)" -msgstr "κατά ημέρα(ες) του έτους" - -#: lib/object.php:490 -msgid "by weeknumber(s)" -msgstr "κατά εβδομάδα(ες)" - -#: lib/object.php:491 -msgid "by day and month" -msgstr "κατά ημέρα και μήνα" - -#: lib/search.php:35 lib/search.php:37 lib/search.php:40 -msgid "Date" -msgstr "Ημερομηνία" - -#: lib/search.php:43 -msgid "Cal." -msgstr "Ημερ." - -#: templates/calendar.php:6 -msgid "Sun." -msgstr "Κυρ." - -#: templates/calendar.php:6 -msgid "Mon." -msgstr "Δευ." - -#: templates/calendar.php:6 -msgid "Tue." -msgstr "Τρί." - -#: templates/calendar.php:6 -msgid "Wed." -msgstr "Τετ." - -#: templates/calendar.php:6 -msgid "Thu." -msgstr "Πέμ." - -#: templates/calendar.php:6 -msgid "Fri." -msgstr "Παρ." - -#: templates/calendar.php:6 -msgid "Sat." -msgstr "Σάβ." - -#: templates/calendar.php:8 -msgid "Jan." -msgstr "Ιαν." - -#: templates/calendar.php:8 -msgid "Feb." -msgstr "Φεβ." - -#: templates/calendar.php:8 -msgid "Mar." -msgstr "Μάρ." - -#: templates/calendar.php:8 -msgid "Apr." -msgstr "Απρ." - -#: templates/calendar.php:8 -msgid "May." -msgstr "Μαΐ." - -#: templates/calendar.php:8 -msgid "Jun." -msgstr "Ιούν." - -#: templates/calendar.php:8 -msgid "Jul." -msgstr "Ιούλ." - -#: templates/calendar.php:8 -msgid "Aug." -msgstr "Αύγ." - -#: templates/calendar.php:8 -msgid "Sep." -msgstr "Σεπ." - -#: templates/calendar.php:8 -msgid "Oct." -msgstr "Οκτ." - -#: templates/calendar.php:8 -msgid "Nov." -msgstr "Νοέ." - -#: templates/calendar.php:8 -msgid "Dec." -msgstr "Δεκ." - -#: templates/calendar.php:11 -msgid "All day" -msgstr "Ολοήμερο" - -#: templates/calendar.php:13 -msgid "Missing fields" -msgstr "Πεδία που λείπουν" - -#: templates/calendar.php:14 templates/part.eventform.php:19 -#: templates/part.showevent.php:11 -msgid "Title" -msgstr "Τίτλος" - -#: templates/calendar.php:16 -msgid "From Date" -msgstr "Από Ημερομηνία" - -#: templates/calendar.php:17 -msgid "From Time" -msgstr "Από Ώρα" - -#: templates/calendar.php:18 -msgid "To Date" -msgstr "Έως Ημερομηνία" - -#: templates/calendar.php:19 -msgid "To Time" -msgstr "Έως Ώρα" - -#: templates/calendar.php:20 -msgid "The event ends before it starts" -msgstr "Το συμβάν ολοκληρώνεται πριν από την έναρξή του" - -#: templates/calendar.php:21 -msgid "There was a database fail" -msgstr "Υπήρξε σφάλμα στη βάση δεδομένων" - -#: templates/calendar.php:39 -msgid "Week" -msgstr "Εβδομάδα" - -#: templates/calendar.php:40 -msgid "Month" -msgstr "Μήνας" - -#: templates/calendar.php:41 -msgid "List" -msgstr "Λίστα" - -#: templates/calendar.php:45 -msgid "Today" -msgstr "Σήμερα" - -#: templates/calendar.php:46 templates/calendar.php:47 -msgid "Settings" -msgstr "" - -#: templates/part.choosecalendar.php:2 -msgid "Your calendars" -msgstr "Τα ημερολόγια σου" - -#: templates/part.choosecalendar.php:27 -#: templates/part.choosecalendar.rowfields.php:11 -msgid "CalDav Link" -msgstr "Σύνδεση CalDAV" - -#: templates/part.choosecalendar.php:31 -msgid "Shared calendars" -msgstr "Κοινόχρηστα ημερολόγια" - -#: templates/part.choosecalendar.php:48 -msgid "No shared calendars" -msgstr "Δεν υπάρχουν κοινόχρηστα ημερολόγια" - -#: templates/part.choosecalendar.rowfields.php:8 -msgid "Share Calendar" -msgstr "Διαμοίρασε ένα ημερολόγιο" - -#: templates/part.choosecalendar.rowfields.php:14 -msgid "Download" -msgstr "Λήψη" - -#: templates/part.choosecalendar.rowfields.php:17 -msgid "Edit" -msgstr "Επεξεργασία" - -#: templates/part.choosecalendar.rowfields.php:20 -#: templates/part.editevent.php:9 -msgid "Delete" -msgstr "Διαγραφή" - -#: templates/part.choosecalendar.rowfields.shared.php:4 -msgid "shared with you by" -msgstr "μοιράστηκε μαζί σας από " - -#: templates/part.editcalendar.php:9 -msgid "New calendar" -msgstr "Νέο ημερολόγιο" - -#: templates/part.editcalendar.php:9 -msgid "Edit calendar" -msgstr "Επεξεργασία ημερολογίου" - -#: templates/part.editcalendar.php:12 -msgid "Displayname" -msgstr "Προβολή ονόματος" - -#: templates/part.editcalendar.php:23 -msgid "Active" -msgstr "Ενεργό" - -#: templates/part.editcalendar.php:29 -msgid "Calendar color" -msgstr "Χρώμα ημερολογίου" - -#: templates/part.editcalendar.php:42 -msgid "Save" -msgstr "Αποθήκευση" - -#: templates/part.editcalendar.php:42 templates/part.editevent.php:8 -#: templates/part.newevent.php:6 -msgid "Submit" -msgstr "Υποβολή" - -#: templates/part.editcalendar.php:43 -msgid "Cancel" -msgstr "Ακύρωση" - -#: templates/part.editevent.php:1 -msgid "Edit an event" -msgstr "Επεξεργασία ενός γεγονότος" - -#: templates/part.editevent.php:10 -msgid "Export" -msgstr "Εξαγωγή" - -#: templates/part.eventform.php:8 templates/part.showevent.php:3 -msgid "Eventinfo" -msgstr "Πληροφορίες γεγονότος" - -#: templates/part.eventform.php:9 templates/part.showevent.php:4 -msgid "Repeating" -msgstr "Επαναλαμβανόμενο" - -#: templates/part.eventform.php:10 templates/part.showevent.php:5 -msgid "Alarm" -msgstr "Ειδοποίηση" - -#: templates/part.eventform.php:11 templates/part.showevent.php:6 -msgid "Attendees" -msgstr "Συμμετέχοντες" - -#: templates/part.eventform.php:13 -msgid "Share" -msgstr "Διαμοίρασε" - -#: templates/part.eventform.php:21 -msgid "Title of the Event" -msgstr "Τίτλος συμβάντος" - -#: templates/part.eventform.php:27 templates/part.showevent.php:19 -msgid "Category" -msgstr "Κατηγορία" - -#: templates/part.eventform.php:29 -msgid "Separate categories with commas" -msgstr "Διαχώρισε τις κατηγορίες με κόμμα" - -#: templates/part.eventform.php:30 -msgid "Edit categories" -msgstr "Επεξεργασία κατηγοριών" - -#: templates/part.eventform.php:56 templates/part.showevent.php:52 -msgid "All Day Event" -msgstr "Ολοήμερο συμβάν" - -#: templates/part.eventform.php:60 templates/part.showevent.php:56 -msgid "From" -msgstr "Από" - -#: templates/part.eventform.php:68 templates/part.showevent.php:64 -msgid "To" -msgstr "Έως" - -#: templates/part.eventform.php:76 templates/part.showevent.php:72 -msgid "Advanced options" -msgstr "Επιλογές για προχωρημένους" - -#: templates/part.eventform.php:81 templates/part.showevent.php:77 -msgid "Location" -msgstr "Τοποθεσία" - -#: templates/part.eventform.php:83 -msgid "Location of the Event" -msgstr "Τοποθεσία συμβάντος" - -#: templates/part.eventform.php:89 templates/part.showevent.php:85 -msgid "Description" -msgstr "Περιγραφή" - -#: templates/part.eventform.php:91 -msgid "Description of the Event" -msgstr "Περιγραφή του συμβάντος" - -#: templates/part.eventform.php:100 templates/part.showevent.php:95 -msgid "Repeat" -msgstr "Επαναλαμβανόμενο" - -#: templates/part.eventform.php:107 templates/part.showevent.php:102 -msgid "Advanced" -msgstr "Για προχωρημένους" - -#: templates/part.eventform.php:151 templates/part.showevent.php:146 -msgid "Select weekdays" -msgstr "Επιλογή ημερών εβδομάδας" - -#: templates/part.eventform.php:164 templates/part.eventform.php:177 -#: templates/part.showevent.php:159 templates/part.showevent.php:172 -msgid "Select days" -msgstr "Επιλογή ημερών" - -#: templates/part.eventform.php:169 templates/part.showevent.php:164 -msgid "and the events day of year." -msgstr "και των ημερών του χρόνου που υπάρχουν συμβάντα." - -#: templates/part.eventform.php:182 templates/part.showevent.php:177 -msgid "and the events day of month." -msgstr "και των ημερών του μήνα που υπάρχουν συμβάντα." - -#: templates/part.eventform.php:190 templates/part.showevent.php:185 -msgid "Select months" -msgstr "Επιλογή μηνών" - -#: templates/part.eventform.php:203 templates/part.showevent.php:198 -msgid "Select weeks" -msgstr "Επιλογή εβδομάδων" - -#: templates/part.eventform.php:208 templates/part.showevent.php:203 -msgid "and the events week of year." -msgstr "και των εβδομάδων του χρόνου που υπάρουν συμβάντα." - -#: templates/part.eventform.php:214 templates/part.showevent.php:209 -msgid "Interval" -msgstr "Διάστημα" - -#: templates/part.eventform.php:220 templates/part.showevent.php:215 -msgid "End" -msgstr "Τέλος" - -#: templates/part.eventform.php:233 templates/part.showevent.php:228 -msgid "occurrences" -msgstr "περιστατικά" - -#: templates/part.import.php:14 -msgid "create a new calendar" -msgstr "δημιουργία νέου ημερολογίου" - -#: templates/part.import.php:17 -msgid "Import a calendar file" -msgstr "Εισαγωγή αρχείου ημερολογίου" - -#: templates/part.import.php:24 -msgid "Please choose a calendar" -msgstr "Παρακαλώ επέλεξε ένα ημερολόγιο" - -#: templates/part.import.php:36 -msgid "Name of new calendar" -msgstr "Όνομα νέου ημερολογίου" - -#: templates/part.import.php:44 -msgid "Take an available name!" -msgstr "Επέλεξε ένα διαθέσιμο όνομα!" - -#: templates/part.import.php:45 -msgid "" -"A Calendar with this name already exists. If you continue anyhow, these " -"calendars will be merged." -msgstr "Ένα ημερολόγιο με αυτό το όνομα υπάρχει ήδη. Εάν θέλετε να συνεχίσετε, αυτά τα 2 ημερολόγια θα συγχωνευθούν." - -#: templates/part.import.php:47 -msgid "Import" -msgstr "Εισαγωγή" - -#: templates/part.import.php:56 -msgid "Close Dialog" -msgstr "Κλείσιμο Διαλόγου" - -#: templates/part.newevent.php:1 -msgid "Create a new event" -msgstr "Δημιουργήστε ένα νέο συμβάν" - -#: templates/part.showevent.php:1 -msgid "View an event" -msgstr "Εμφάνισε ένα γεγονός" - -#: templates/part.showevent.php:23 -msgid "No categories selected" -msgstr "Δεν επελέγησαν κατηγορίες" - -#: templates/part.showevent.php:37 -msgid "of" -msgstr "του" - -#: templates/part.showevent.php:59 templates/part.showevent.php:67 -msgid "at" -msgstr "στο" - -#: templates/settings.php:10 -msgid "General" -msgstr "" - -#: templates/settings.php:15 -msgid "Timezone" -msgstr "Ζώνη ώρας" - -#: templates/settings.php:47 -msgid "Update timezone automatically" -msgstr "" - -#: templates/settings.php:52 -msgid "Time format" -msgstr "" - -#: templates/settings.php:57 -msgid "24h" -msgstr "24ω" - -#: templates/settings.php:58 -msgid "12h" -msgstr "12ω" - -#: templates/settings.php:64 -msgid "Start week on" -msgstr "" - -#: templates/settings.php:76 -msgid "Cache" -msgstr "Cache" - -#: templates/settings.php:80 -msgid "Clear cache for repeating events" -msgstr "Εκκαθάριση λανθάνουσας μνήμης για επανάληψη γεγονότων" - -#: templates/settings.php:85 -msgid "URLs" -msgstr "" - -#: templates/settings.php:87 -msgid "Calendar CalDAV syncing addresses" -msgstr "Διευθύνσεις συγχρονισμού ημερολογίου CalDAV" - -#: templates/settings.php:87 -msgid "more info" -msgstr "περισσότερες πλροφορίες" - -#: templates/settings.php:89 -msgid "Primary address (Kontact et al)" -msgstr "Κύρια Διεύθυνση(Επαφή και άλλα)" - -#: templates/settings.php:91 -msgid "iOS/OS X" -msgstr "iOS/OS X" - -#: templates/settings.php:93 -msgid "Read only iCalendar link(s)" -msgstr " iCalendar link(s) μόνο για ανάγνωση" - -#: templates/share.dropdown.php:20 -msgid "Users" -msgstr "Χρήστες" - -#: templates/share.dropdown.php:21 -msgid "select users" -msgstr "επέλεξε χρήστες" - -#: templates/share.dropdown.php:36 templates/share.dropdown.php:62 -msgid "Editable" -msgstr "Επεξεργάσιμο" - -#: templates/share.dropdown.php:48 -msgid "Groups" -msgstr "Ομάδες" - -#: templates/share.dropdown.php:49 -msgid "select groups" -msgstr "Επέλεξε ομάδες" - -#: templates/share.dropdown.php:75 -msgid "make public" -msgstr "κάνε το δημόσιο" diff --git a/l10n/el/contacts.po b/l10n/el/contacts.po deleted file mode 100644 index ddb35e2e8c3348dbbc68df054aaad980c13ebb18..0000000000000000000000000000000000000000 --- a/l10n/el/contacts.po +++ /dev/null @@ -1,959 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# , 2011. -# Dimitris M. , 2012. -# Efstathios Iosifidis , 2012. -# Marios Bekatoros <>, 2012. -# Nisok Kosin , 2012. -# Petros Kyladitis , 2011, 2012. -# , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-25 02:04+0200\n" -"PO-Revision-Date: 2012-08-24 07:34+0000\n" -"Last-Translator: Nisok Kosin \n" -"Language-Team: Greek (http://www.transifex.com/projects/p/owncloud/language/el/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: el\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: ajax/addressbook/activate.php:24 ajax/addressbook/update.php:32 -msgid "Error (de)activating addressbook." -msgstr "Σφάλμα (απ)ενεργοποίησης βιβλίου διευθύνσεων" - -#: ajax/addressbook/delete.php:31 ajax/addressbook/update.php:20 -#: ajax/contact/addproperty.php:42 ajax/contact/delete.php:32 -#: ajax/contact/saveproperty.php:39 -msgid "id is not set." -msgstr "δεν ορίστηκε id" - -#: ajax/addressbook/update.php:24 -msgid "Cannot update addressbook with an empty name." -msgstr "Δε μπορεί να γίνει αλλαγή βιβλίου διευθύνσεων χωρίς όνομα" - -#: ajax/addressbook/update.php:28 -msgid "Error updating addressbook." -msgstr "Σφάλμα ενημέρωσης βιβλίου διευθύνσεων." - -#: ajax/categories/categoriesfor.php:17 -msgid "No ID provided" -msgstr "Δε δόθηκε ID" - -#: ajax/categories/categoriesfor.php:34 -msgid "Error setting checksum." -msgstr "Λάθος κατά τον ορισμό checksum " - -#: ajax/categories/delete.php:19 -msgid "No categories selected for deletion." -msgstr "Δε επελέγησαν κατηγορίες για διαγραφή" - -#: ajax/categories/delete.php:26 -msgid "No address books found." -msgstr "Δε βρέθηκε βιβλίο διευθύνσεων" - -#: ajax/categories/delete.php:34 -msgid "No contacts found." -msgstr "Δεν βρέθηκαν επαφές" - -#: ajax/contact/add.php:47 -msgid "There was an error adding the contact." -msgstr "Σφάλμα κατά την προσθήκη επαφής." - -#: ajax/contact/addproperty.php:39 ajax/contact/saveproperty.php:36 -msgid "element name is not set." -msgstr "δεν ορίστηκε όνομα στοιχείου" - -#: ajax/contact/addproperty.php:46 -msgid "Could not parse contact: " -msgstr "Δε αναγνώστηκε η επαφή" - -#: ajax/contact/addproperty.php:56 -msgid "Cannot add empty property." -msgstr "Αδύνατη προσθήκη κενής ιδιότητας." - -#: ajax/contact/addproperty.php:67 -msgid "At least one of the address fields has to be filled out." -msgstr "Πρέπει να συμπληρωθεί τουλάχιστον ένα από τα παιδία διεύθυνσης." - -#: ajax/contact/addproperty.php:76 -msgid "Trying to add duplicate property: " -msgstr "Προσπάθεια προσθήκης διπλότυπης ιδιότητας:" - -#: ajax/contact/addproperty.php:115 ajax/contact/saveproperty.php:93 -msgid "Missing IM parameter." -msgstr "Λείπει IM παράμετρος." - -#: ajax/contact/addproperty.php:119 ajax/contact/saveproperty.php:97 -msgid "Unknown IM: " -msgstr "Άγνωστο IM:" - -#: ajax/contact/deleteproperty.php:37 -msgid "Information about vCard is incorrect. Please reload the page." -msgstr "Οι πληροφορίες σχετικά με vCard είναι εσφαλμένες. Παρακαλώ επαναφορτώστε τη σελίδα." - -#: ajax/contact/details.php:31 -msgid "Missing ID" -msgstr "Λείπει ID" - -#: ajax/contact/details.php:36 -msgid "Error parsing VCard for ID: \"" -msgstr "Σφάλμα κατά την ανάγνωση του VCard για το ID:\"" - -#: ajax/contact/saveproperty.php:42 -msgid "checksum is not set." -msgstr "δε ορίστηκε checksum " - -#: ajax/contact/saveproperty.php:62 -msgid "Information about vCard is incorrect. Please reload the page: " -msgstr "Οι πληροφορίες για τη vCard είναι λανθασμένες.Παρακαλώ ξαναφορτώστε τη σελίδα: " - -#: ajax/contact/saveproperty.php:69 -msgid "Something went FUBAR. " -msgstr "Κάτι χάθηκε στο άγνωστο. " - -#: ajax/currentphoto.php:30 ajax/oc_photo.php:28 ajax/uploadphoto.php:36 -#: ajax/uploadphoto.php:68 -msgid "No contact ID was submitted." -msgstr "Δε υπεβλήθει ID επαφής" - -#: ajax/currentphoto.php:36 -msgid "Error reading contact photo." -msgstr "Σφάλμα ανάγνωσης εικόνας επαφής" - -#: ajax/currentphoto.php:48 -msgid "Error saving temporary file." -msgstr "Σφάλμα αποθήκευσης προσωρινού αρχείου" - -#: ajax/currentphoto.php:51 -msgid "The loading photo is not valid." -msgstr "Η φορτωμένη φωτογραφία δεν είναι έγκυρη" - -#: ajax/editname.php:31 -msgid "Contact ID is missing." -msgstr "Λείπει ID επαφής" - -#: ajax/oc_photo.php:32 -msgid "No photo path was submitted." -msgstr "Δε δόθηκε διαδρομή εικόνας" - -#: ajax/oc_photo.php:39 -msgid "File doesn't exist:" -msgstr "Το αρχείο δεν υπάρχει:" - -#: ajax/oc_photo.php:44 ajax/oc_photo.php:47 -msgid "Error loading image." -msgstr "Σφάλμα φόρτωσης εικόνας" - -#: ajax/savecrop.php:69 -msgid "Error getting contact object." -msgstr "Σφάλμα κατά τη λήψη αντικειμένου επαφής" - -#: ajax/savecrop.php:79 -msgid "Error getting PHOTO property." -msgstr "Σφάλμα κατά τη λήψη ιδιοτήτων ΦΩΤΟΓΡΑΦΙΑΣ." - -#: ajax/savecrop.php:98 -msgid "Error saving contact." -msgstr "Σφάλμα κατά την αποθήκευση επαφής." - -#: ajax/savecrop.php:109 -msgid "Error resizing image" -msgstr "Σφάλμα κατά την αλλαγή μεγέθους εικόνας" - -#: ajax/savecrop.php:112 -msgid "Error cropping image" -msgstr "Σφάλμα κατά την περικοπή εικόνας" - -#: ajax/savecrop.php:115 -msgid "Error creating temporary image" -msgstr "Σφάλμα κατά την δημιουργία προσωρινής εικόνας" - -#: ajax/savecrop.php:118 -msgid "Error finding image: " -msgstr "Σφάλμα κατά την εύρεση της εικόνας: " - -#: ajax/uploadimport.php:44 ajax/uploadimport.php:76 -msgid "Error uploading contacts to storage." -msgstr "Σφάλμα κατά την αποθήκευση επαφών" - -#: ajax/uploadimport.php:61 ajax/uploadphoto.php:77 -msgid "There is no error, the file uploaded with success" -msgstr "Δεν υπάρχει σφάλμα, το αρχείο ανέβηκε με επιτυχία " - -#: ajax/uploadimport.php:62 ajax/uploadphoto.php:78 -msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" -msgstr "Το μέγεθος του αρχείου ξεπερνάει το upload_max_filesize του php.ini" - -#: ajax/uploadimport.php:63 ajax/uploadphoto.php:79 -msgid "" -"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " -"the HTML form" -msgstr "Το ανεβασμένο αρχείο υπερβαίνει το MAX_FILE_SIZE που ορίζεται στην HTML φόρμα" - -#: ajax/uploadimport.php:64 ajax/uploadphoto.php:80 -msgid "The uploaded file was only partially uploaded" -msgstr "Το αρχείο ανέβηκε μερικώς" - -#: ajax/uploadimport.php:65 ajax/uploadphoto.php:81 -msgid "No file was uploaded" -msgstr "Δεν ανέβηκε κάποιο αρχείο" - -#: ajax/uploadimport.php:66 ajax/uploadphoto.php:82 -msgid "Missing a temporary folder" -msgstr "Λείπει ο προσωρινός φάκελος" - -#: ajax/uploadphoto.php:59 ajax/uploadphoto.php:109 -msgid "Couldn't save temporary image: " -msgstr "Δεν ήταν δυνατή η αποθήκευση της προσωρινής εικόνας: " - -#: ajax/uploadphoto.php:62 ajax/uploadphoto.php:112 -msgid "Couldn't load temporary image: " -msgstr "Δεν ήταν δυνατή η φόρτωση της προσωρινής εικόνας: " - -#: ajax/uploadphoto.php:71 -msgid "No file was uploaded. Unknown error" -msgstr "Δεν ανέβηκε κάποιο αρχείο. Άγνωστο σφάλμα" - -#: appinfo/app.php:25 -msgid "Contacts" -msgstr "Επαφές" - -#: js/contacts.js:71 -msgid "Sorry, this functionality has not been implemented yet" -msgstr "Λυπούμαστε, αυτή η λειτουργία δεν έχει υλοποιηθεί ακόμα" - -#: js/contacts.js:71 -msgid "Not implemented" -msgstr "Δεν έχει υλοποιηθεί" - -#: js/contacts.js:76 -msgid "Couldn't get a valid address." -msgstr "Αδυναμία λήψης έγκυρης διεύθυνσης" - -#: js/contacts.js:76 js/contacts.js:365 js/contacts.js:381 js/contacts.js:393 -#: js/contacts.js:723 js/contacts.js:763 js/contacts.js:789 js/contacts.js:921 -#: js/contacts.js:927 js/contacts.js:939 js/contacts.js:976 -#: js/contacts.js:1250 js/contacts.js:1258 js/contacts.js:1267 -#: js/contacts.js:1302 js/contacts.js:1338 js/contacts.js:1353 -#: js/contacts.js:1379 js/contacts.js:1609 js/contacts.js:1644 -#: js/contacts.js:1664 js/settings.js:26 js/settings.js:43 js/settings.js:68 -msgid "Error" -msgstr "Σφάλμα" - -#: js/contacts.js:424 -msgid "You do not have permission to add contacts to " -msgstr "Δεν έχετε επαρκή δικαιώματα για προσθέσετε επαφές στο " - -#: js/contacts.js:425 -msgid "Please select one of your own address books." -msgstr "Παρακαλούμε επιλέξτε ένα από τα δικάς σας βιβλία διευθύνσεων." - -#: js/contacts.js:425 -msgid "Permission error" -msgstr "Σφάλμα δικαιωμάτων" - -#: js/contacts.js:763 -msgid "This property has to be non-empty." -msgstr "Το πεδίο δεν πρέπει να είναι άδειο." - -#: js/contacts.js:789 -msgid "Couldn't serialize elements." -msgstr "Αδύνατο να μπουν σε σειρά τα στοιχεία" - -#: js/contacts.js:921 js/contacts.js:939 -msgid "" -"'deleteProperty' called without type argument. Please report at " -"bugs.owncloud.org" -msgstr "το 'deleteProperty' καλέστηκε χωρίς without type argument. Παρακαλώ αναφέρατε στο bugs.owncloud.org" - -#: js/contacts.js:958 -msgid "Edit name" -msgstr "Αλλαγή ονόματος" - -#: js/contacts.js:1250 -msgid "No files selected for upload." -msgstr "Δεν επιλέχτηκαν αρχεία για μεταφόρτωση" - -#: js/contacts.js:1258 -msgid "" -"The file you are trying to upload exceed the maximum size for file uploads " -"on this server." -msgstr "Το αρχείο που προσπαθείτε να ανεβάσετε υπερβαίνει το μέγιστο μέγεθος για τις προσθήκες αρχείων σε αυτόν τον server." - -#: js/contacts.js:1322 -msgid "Error loading profile picture." -msgstr "Σφάλμα στην φόρτωση εικόνας προφίλ." - -#: js/contacts.js:1457 js/contacts.js:1498 js/contacts.js:1517 -#: js/contacts.js:1560 -msgid "Select type" -msgstr "Επιλογή τύπου" - -#: js/contacts.js:1578 -msgid "" -"Some contacts are marked for deletion, but not deleted yet. Please wait for " -"them to be deleted." -msgstr "Κάποιες επαφές σημειώθηκαν προς διαγραφή,δεν έχουν διαγραφεί ακόμα. Παρακαλώ περιμένετε μέχρι να διαγραφούν." - -#: js/contacts.js:1649 -msgid "Do you want to merge these address books?" -msgstr "Επιθυμείτε να συγχωνεύσετε αυτά τα δύο βιβλία διευθύνσεων?" - -#: js/loader.js:49 -msgid "Result: " -msgstr "Αποτέλεσμα: " - -#: js/loader.js:49 -msgid " imported, " -msgstr " εισάγεται," - -#: js/loader.js:49 -msgid " failed." -msgstr " απέτυχε." - -#: js/settings.js:68 -msgid "Displayname cannot be empty." -msgstr "Το όνομα προβολής δεν μπορεί να είναι κενό. " - -#: lib/app.php:36 -msgid "Addressbook not found: " -msgstr "Το βιβλίο διευθύνσεων δεν βρέθηκε:" - -#: lib/app.php:52 -msgid "This is not your addressbook." -msgstr "Αυτό δεν είναι το βιβλίο διευθύνσεων σας." - -#: lib/app.php:71 -msgid "Contact could not be found." -msgstr "Η επαφή δεν μπόρεσε να βρεθεί." - -#: lib/app.php:116 -msgid "Jabber" -msgstr "Jabber" - -#: lib/app.php:121 -msgid "AIM" -msgstr "AIM" - -#: lib/app.php:126 -msgid "MSN" -msgstr "MSN" - -#: lib/app.php:131 -msgid "Twitter" -msgstr "Twitter" - -#: lib/app.php:136 -msgid "GoogleTalk" -msgstr "GoogleTalk" - -#: lib/app.php:141 -msgid "Facebook" -msgstr "Facebook" - -#: lib/app.php:146 -msgid "XMPP" -msgstr "XMPP" - -#: lib/app.php:151 -msgid "ICQ" -msgstr "ICQ" - -#: lib/app.php:156 -msgid "Yahoo" -msgstr "Yahoo" - -#: lib/app.php:161 -msgid "Skype" -msgstr "Skype" - -#: lib/app.php:166 -msgid "QQ" -msgstr "QQ" - -#: lib/app.php:171 -msgid "GaduGadu" -msgstr "GaduGadu" - -#: lib/app.php:194 lib/app.php:202 lib/app.php:213 lib/app.php:266 -msgid "Work" -msgstr "Εργασία" - -#: lib/app.php:195 lib/app.php:200 lib/app.php:214 -msgid "Home" -msgstr "Σπίτι" - -#: lib/app.php:196 lib/app.php:209 lib/app.php:262 lib/vcard.php:593 -msgid "Other" -msgstr "Άλλο" - -#: lib/app.php:201 -msgid "Mobile" -msgstr "Κινητό" - -#: lib/app.php:203 -msgid "Text" -msgstr "Κείμενο" - -#: lib/app.php:204 -msgid "Voice" -msgstr "Ομιλία" - -#: lib/app.php:205 -msgid "Message" -msgstr "Μήνυμα" - -#: lib/app.php:206 -msgid "Fax" -msgstr "Φαξ" - -#: lib/app.php:207 -msgid "Video" -msgstr "Βίντεο" - -#: lib/app.php:208 -msgid "Pager" -msgstr "Βομβητής" - -#: lib/app.php:215 -msgid "Internet" -msgstr "Διαδίκτυο" - -#: lib/app.php:252 templates/part.contact.php:45 -#: templates/part.contact.php:128 -msgid "Birthday" -msgstr "Γενέθλια" - -#: lib/app.php:253 -msgid "Business" -msgstr "Επιχείρηση" - -#: lib/app.php:254 -msgid "Call" -msgstr "Κάλεσε" - -#: lib/app.php:255 -msgid "Clients" -msgstr "Πελάτες" - -#: lib/app.php:256 -msgid "Deliverer" -msgstr "Προμηθευτής" - -#: lib/app.php:257 -msgid "Holidays" -msgstr "Διακοπές" - -#: lib/app.php:258 -msgid "Ideas" -msgstr "Ιδέες" - -#: lib/app.php:259 -msgid "Journey" -msgstr "Ταξίδι" - -#: lib/app.php:260 -msgid "Jubilee" -msgstr "Ιωβηλαίο" - -#: lib/app.php:261 -msgid "Meeting" -msgstr "Συνάντηση" - -#: lib/app.php:263 -msgid "Personal" -msgstr "Προσωπικό" - -#: lib/app.php:264 -msgid "Projects" -msgstr "Έργα" - -#: lib/app.php:265 -msgid "Questions" -msgstr "Ερωτήσεις" - -#: lib/hooks.php:102 -msgid "{name}'s Birthday" -msgstr "{name} έχει Γενέθλια" - -#: lib/search.php:15 -msgid "Contact" -msgstr "Επαφή" - -#: lib/vcard.php:408 -msgid "You do not have the permissions to edit this contact." -msgstr "Δεν διαθέτε επαρκή δικαιώματα για την επεξεργασία αυτής της επαφής." - -#: lib/vcard.php:483 -msgid "You do not have the permissions to delete this contact." -msgstr "Δεν διαθέτε επαρκή δικαιώματα για την διαγραφή αυτής της επαφής." - -#: templates/index.php:14 -msgid "Add Contact" -msgstr "Προσθήκη επαφής" - -#: templates/index.php:15 templates/index.php:16 templates/part.import.php:17 -msgid "Import" -msgstr "Εισαγωγή" - -#: templates/index.php:18 -msgid "Settings" -msgstr "Ρυθμίσεις" - -#: templates/index.php:18 templates/settings.php:9 -msgid "Addressbooks" -msgstr "Βιβλία διευθύνσεων" - -#: templates/index.php:36 templates/part.import.php:24 -msgid "Close" -msgstr "Κλείσιμο " - -#: templates/index.php:37 -msgid "Keyboard shortcuts" -msgstr "Συντομεύσεις πλητρολογίου" - -#: templates/index.php:39 -msgid "Navigation" -msgstr "Πλοήγηση" - -#: templates/index.php:42 -msgid "Next contact in list" -msgstr "Επόμενη επαφή στη λίστα" - -#: templates/index.php:44 -msgid "Previous contact in list" -msgstr "Προηγούμενη επαφή στη λίστα" - -#: templates/index.php:46 -msgid "Expand/collapse current addressbook" -msgstr "Ανάπτυξη/σύμπτυξη τρέχοντος βιβλίου διευθύνσεων" - -#: templates/index.php:48 -msgid "Next addressbook" -msgstr "Επόμενο βιβλίο διευθύνσεων" - -#: templates/index.php:50 -msgid "Previous addressbook" -msgstr "Προηγούμενο βιβλίο διευθύνσεων" - -#: templates/index.php:54 -msgid "Actions" -msgstr "Ενέργειες" - -#: templates/index.php:57 -msgid "Refresh contacts list" -msgstr "Ανανέωσε τη λίστα επαφών" - -#: templates/index.php:59 -msgid "Add new contact" -msgstr "Προσθήκη νέας επαφής" - -#: templates/index.php:61 -msgid "Add new addressbook" -msgstr "Προσθήκη νέου βιβλίου επαφών" - -#: templates/index.php:63 -msgid "Delete current contact" -msgstr "Διαγραφή τρέχουσας επαφής" - -#: templates/part.contact.php:17 -msgid "Drop photo to upload" -msgstr "Ρίξε μια φωτογραφία για ανέβασμα" - -#: templates/part.contact.php:19 -msgid "Delete current photo" -msgstr "Διαγραφή τρέχουσας φωτογραφίας" - -#: templates/part.contact.php:20 -msgid "Edit current photo" -msgstr "Επεξεργασία τρέχουσας φωτογραφίας" - -#: templates/part.contact.php:21 -msgid "Upload new photo" -msgstr "Ανέβασε νέα φωτογραφία" - -#: templates/part.contact.php:22 -msgid "Select photo from ownCloud" -msgstr "Επέλεξε φωτογραφία από το ownCloud" - -#: templates/part.contact.php:35 -msgid "Format custom, Short name, Full name, Reverse or Reverse with comma" -msgstr "Format custom, Όνομα, Επώνυμο, Αντίστροφο ή Αντίστροφο με κόμμα" - -#: templates/part.contact.php:36 -msgid "Edit name details" -msgstr "Αλλάξτε τις λεπτομέρειες ονόματος" - -#: templates/part.contact.php:39 templates/part.contact.php:40 -#: templates/part.contact.php:126 -msgid "Organization" -msgstr "Οργανισμός" - -#: templates/part.contact.php:40 templates/part.contact.php:42 -#: templates/part.contact.php:44 templates/part.contact.php:46 -#: templates/part.contact.php:50 templates/settings.php:36 -msgid "Delete" -msgstr "Διαγραφή" - -#: templates/part.contact.php:41 templates/part.contact.php:127 -msgid "Nickname" -msgstr "Παρατσούκλι" - -#: templates/part.contact.php:42 -msgid "Enter nickname" -msgstr "Εισάγετε παρατσούκλι" - -#: templates/part.contact.php:43 templates/part.contact.php:134 -msgid "Web site" -msgstr "Ιστότοπος" - -#: templates/part.contact.php:44 -msgid "http://www.somesite.com" -msgstr "http://www.somesite.com" - -#: templates/part.contact.php:44 -msgid "Go to web site" -msgstr "Πήγαινε στον ιστότοπο" - -#: templates/part.contact.php:46 -msgid "dd-mm-yyyy" -msgstr "ΗΗ-ΜΜ-ΕΕΕΕ" - -#: templates/part.contact.php:47 templates/part.contact.php:135 -msgid "Groups" -msgstr "Ομάδες" - -#: templates/part.contact.php:49 -msgid "Separate groups with commas" -msgstr "Διαχώρισε τις ομάδες με κόμμα " - -#: templates/part.contact.php:50 -msgid "Edit groups" -msgstr "Επεξεργασία ομάδων" - -#: templates/part.contact.php:59 templates/part.contact.php:73 -#: templates/part.contact.php:98 -msgid "Preferred" -msgstr "Προτιμώμενο" - -#: templates/part.contact.php:60 -msgid "Please specify a valid email address." -msgstr "Παρακαλώ εισήγαγε μια έγκυρη διεύθυνση ηλεκτρονικού ταχυδρομείου" - -#: templates/part.contact.php:60 -msgid "Enter email address" -msgstr "Εισήγαγε διεύθυνση ηλεκτρονικού ταχυδρομείου" - -#: templates/part.contact.php:64 -msgid "Mail to address" -msgstr "Αποστολή σε διεύθυνση" - -#: templates/part.contact.php:65 -msgid "Delete email address" -msgstr "Διαγραφή διεύθυνση email" - -#: templates/part.contact.php:75 -msgid "Enter phone number" -msgstr "Εισήγαγε αριθμό τηλεφώνου" - -#: templates/part.contact.php:79 -msgid "Delete phone number" -msgstr "Διέγραψε αριθμό τηλεφώνου" - -#: templates/part.contact.php:100 -msgid "Instant Messenger" -msgstr "Instant Messenger" - -#: templates/part.contact.php:101 -msgid "Delete IM" -msgstr "Διαγραφή IM" - -#: templates/part.contact.php:110 -msgid "View on map" -msgstr "Προβολή στο χάρτη" - -#: templates/part.contact.php:110 -msgid "Edit address details" -msgstr "Επεξεργασία λεπτομερειών διεύθυνσης" - -#: templates/part.contact.php:116 -msgid "Add notes here." -msgstr "Πρόσθεσε τις σημειώσεις εδώ" - -#: templates/part.contact.php:124 -msgid "Add field" -msgstr "Προσθήκη πεδίου" - -#: templates/part.contact.php:129 -msgid "Phone" -msgstr "Τηλέφωνο" - -#: templates/part.contact.php:130 -msgid "Email" -msgstr "Email" - -#: templates/part.contact.php:131 -msgid "Instant Messaging" -msgstr "Άμεσα μυνήματα" - -#: templates/part.contact.php:132 -msgid "Address" -msgstr "Διεύθυνση" - -#: templates/part.contact.php:133 -msgid "Note" -msgstr "Σημείωση" - -#: templates/part.contact.php:138 -msgid "Download contact" -msgstr "Λήψη επαφής" - -#: templates/part.contact.php:139 -msgid "Delete contact" -msgstr "Διαγραφή επαφής" - -#: templates/part.cropphoto.php:65 -msgid "The temporary image has been removed from cache." -msgstr "Η προσωρινή εικόνα αφαιρέθηκε από την κρυφή μνήμη." - -#: templates/part.edit_address_dialog.php:6 -msgid "Edit address" -msgstr "Επεξεργασία διεύθυνσης" - -#: templates/part.edit_address_dialog.php:10 -msgid "Type" -msgstr "Τύπος" - -#: templates/part.edit_address_dialog.php:18 -#: templates/part.edit_address_dialog.php:21 -msgid "PO Box" -msgstr "Ταχ. Θυρίδα" - -#: templates/part.edit_address_dialog.php:24 -msgid "Street address" -msgstr "Διεύθυνση οδού" - -#: templates/part.edit_address_dialog.php:27 -msgid "Street and number" -msgstr "Οδός και αριθμός" - -#: templates/part.edit_address_dialog.php:30 -msgid "Extended" -msgstr "Εκτεταμένη" - -#: templates/part.edit_address_dialog.php:33 -msgid "Apartment number etc." -msgstr "Αριθμός διαμερίσματος" - -#: templates/part.edit_address_dialog.php:36 -#: templates/part.edit_address_dialog.php:39 -msgid "City" -msgstr "Πόλη" - -#: templates/part.edit_address_dialog.php:42 -msgid "Region" -msgstr "Περιοχή" - -#: templates/part.edit_address_dialog.php:45 -msgid "E.g. state or province" -msgstr "Π.χ. Πολιτεία ή επαρχεία" - -#: templates/part.edit_address_dialog.php:48 -msgid "Zipcode" -msgstr "Τ.Κ." - -#: templates/part.edit_address_dialog.php:51 -msgid "Postal code" -msgstr "Ταχυδρομικός Κωδικός" - -#: templates/part.edit_address_dialog.php:54 -#: templates/part.edit_address_dialog.php:57 -msgid "Country" -msgstr "Χώρα" - -#: templates/part.edit_name_dialog.php:16 -msgid "Addressbook" -msgstr "Βιβλίο διευθύνσεων" - -#: templates/part.edit_name_dialog.php:23 -msgid "Hon. prefixes" -msgstr "προθέματα" - -#: templates/part.edit_name_dialog.php:27 -msgid "Miss" -msgstr "Δις" - -#: templates/part.edit_name_dialog.php:28 -msgid "Ms" -msgstr "Κα" - -#: templates/part.edit_name_dialog.php:29 -msgid "Mr" -msgstr "Κα" - -#: templates/part.edit_name_dialog.php:30 -msgid "Sir" -msgstr "Σερ" - -#: templates/part.edit_name_dialog.php:31 -msgid "Mrs" -msgstr "Κα" - -#: templates/part.edit_name_dialog.php:32 -msgid "Dr" -msgstr "Δρ." - -#: templates/part.edit_name_dialog.php:35 -msgid "Given name" -msgstr "Όνομα" - -#: templates/part.edit_name_dialog.php:37 -msgid "Additional names" -msgstr "Επιπλέον ονόματα" - -#: templates/part.edit_name_dialog.php:39 -msgid "Family name" -msgstr "Επώνυμο" - -#: templates/part.edit_name_dialog.php:41 -msgid "Hon. suffixes" -msgstr "καταλήξεις" - -#: templates/part.edit_name_dialog.php:45 -msgid "J.D." -msgstr "J.D." - -#: templates/part.edit_name_dialog.php:46 -msgid "M.D." -msgstr "M.D." - -#: templates/part.edit_name_dialog.php:47 -msgid "D.O." -msgstr "D.O." - -#: templates/part.edit_name_dialog.php:48 -msgid "D.C." -msgstr "D.C." - -#: templates/part.edit_name_dialog.php:49 -msgid "Ph.D." -msgstr "Ph.D." - -#: templates/part.edit_name_dialog.php:50 -msgid "Esq." -msgstr "Esq." - -#: templates/part.edit_name_dialog.php:51 -msgid "Jr." -msgstr "Jr." - -#: templates/part.edit_name_dialog.php:52 -msgid "Sn." -msgstr "Sn." - -#: templates/part.import.php:1 -msgid "Import a contacts file" -msgstr "Εισαγωγή αρχείου επαφών" - -#: templates/part.import.php:6 -msgid "Please choose the addressbook" -msgstr "Παρακαλώ επέλεξε βιβλίο διευθύνσεων" - -#: templates/part.import.php:10 -msgid "create a new addressbook" -msgstr "Δημιουργία νέου βιβλίου διευθύνσεων" - -#: templates/part.import.php:15 -msgid "Name of new addressbook" -msgstr "Όνομα νέου βιβλίου διευθύνσεων" - -#: templates/part.import.php:20 -msgid "Importing contacts" -msgstr "Εισαγωγή επαφών" - -#: templates/part.no_contacts.php:3 -msgid "You have no contacts in your addressbook." -msgstr "Δεν έχεις επαφές στο βιβλίο διευθύνσεων" - -#: templates/part.no_contacts.php:5 -msgid "Add contact" -msgstr "Προσθήκη επαφής" - -#: templates/part.selectaddressbook.php:1 -msgid "Select Address Books" -msgstr "Επέλεξε βιβλίο διευθύνσεων" - -#: templates/part.selectaddressbook.php:27 -msgid "Enter name" -msgstr "Εισαγωγή ονόματος" - -#: templates/part.selectaddressbook.php:29 -msgid "Enter description" -msgstr "Εισαγωγή περιγραφής" - -#: templates/settings.php:3 -msgid "CardDAV syncing addresses" -msgstr "συγχρονισμός διευθύνσεων μέσω CardDAV " - -#: templates/settings.php:3 -msgid "more info" -msgstr "περισσότερες πληροφορίες" - -#: templates/settings.php:5 -msgid "Primary address (Kontact et al)" -msgstr "Κύρια διεύθυνση" - -#: templates/settings.php:7 -msgid "iOS/OS X" -msgstr "iOS/OS X" - -#: templates/settings.php:20 -msgid "Show CardDav link" -msgstr "Εμφάνιση συνδέσμου CardDav" - -#: templates/settings.php:23 -msgid "Show read-only VCF link" -msgstr "Εμφάνιση συνδέσμου VCF μόνο για ανάγνωση" - -#: templates/settings.php:26 -msgid "Share" -msgstr "Μοιράσου" - -#: templates/settings.php:29 -msgid "Download" -msgstr "Λήψη" - -#: templates/settings.php:33 -msgid "Edit" -msgstr "Επεξεργασία" - -#: templates/settings.php:43 -msgid "New Address Book" -msgstr "Νέο βιβλίο διευθύνσεων" - -#: templates/settings.php:44 -msgid "Name" -msgstr "Όνομα" - -#: templates/settings.php:45 -msgid "Description" -msgstr "Περιγραφή" - -#: templates/settings.php:46 -msgid "Save" -msgstr "Αποθήκευση" - -#: templates/settings.php:47 -msgid "Cancel" -msgstr "Ακύρωση" - -#: templates/settings.php:52 -msgid "More..." -msgstr "Περισσότερα..." diff --git a/l10n/el/core.po b/l10n/el/core.po index 35782e6e5753d65c7040abd2473f1218c189bf43..a7902cb5aef1641249280bc97a1b3e971f38b31c 100644 --- a/l10n/el/core.po +++ b/l10n/el/core.po @@ -3,18 +3,20 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# axil Pι , 2012. # Dimitris M. , 2012. # Efstathios Iosifidis , 2012. +# Efstathios Iosifidis , 2012. # Marios Bekatoros <>, 2012. # , 2011. -# Petros Kyladitis , 2011, 2012. +# Petros Kyladitis , 2011-2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-16 02:04+0200\n" -"PO-Revision-Date: 2012-10-16 00:05+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-11-21 00:01+0100\n" +"PO-Revision-Date: 2012-11-19 23:56+0000\n" +"Last-Translator: Efstathios Iosifidis \n" "Language-Team: Greek (http://www.transifex.com/projects/p/owncloud/language/el/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -22,211 +24,243 @@ msgstr "" "Language: el\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: ajax/vcategories/add.php:23 ajax/vcategories/delete.php:23 -msgid "Application name not provided." -msgstr "Δε προσδιορίστηκε όνομα εφαρμογής" +#: ajax/vcategories/add.php:26 ajax/vcategories/edit.php:25 +msgid "Category type not provided." +msgstr "Δεν δώθηκε τύπος κατηγορίας." -#: ajax/vcategories/add.php:29 +#: ajax/vcategories/add.php:30 msgid "No category to add?" -msgstr "Δεν έχετε να προστέσθέσεται μια κα" +msgstr "Δεν έχετε κατηγορία να προσθέσετε;" -#: ajax/vcategories/add.php:36 +#: ajax/vcategories/add.php:37 msgid "This category already exists: " -msgstr "Αυτή η κατηγορία υπάρχει ήδη" +msgstr "Αυτή η κατηγορία υπάρχει ήδη:" + +#: ajax/vcategories/addToFavorites.php:26 ajax/vcategories/delete.php:27 +#: ajax/vcategories/favorites.php:24 +#: ajax/vcategories/removeFromFavorites.php:26 +msgid "Object type not provided." +msgstr "Δεν δώθηκε τύπος αντικειμένου." + +#: ajax/vcategories/addToFavorites.php:30 +#: ajax/vcategories/removeFromFavorites.php:30 +#, php-format +msgid "%s ID not provided." +msgstr "Δεν δώθηκε η ID για %s." + +#: ajax/vcategories/addToFavorites.php:35 +#, php-format +msgid "Error adding %s to favorites." +msgstr "Σφάλμα προσθήκης %s στα αγαπημένα." + +#: ajax/vcategories/delete.php:35 js/oc-vcategories.js:136 +msgid "No categories selected for deletion." +msgstr "Δεν επιλέχτηκαν κατηγορίες για διαγραφή." + +#: ajax/vcategories/removeFromFavorites.php:35 +#, php-format +msgid "Error removing %s from favorites." +msgstr "Σφάλμα αφαίρεσης %s από τα αγαπημένα." -#: js/js.js:238 templates/layout.user.php:49 templates/layout.user.php:50 +#: js/js.js:259 templates/layout.user.php:60 templates/layout.user.php:61 msgid "Settings" msgstr "Ρυθμίσεις" -#: js/js.js:670 -msgid "January" -msgstr "Ιανουάριος" +#: js/js.js:704 +msgid "seconds ago" +msgstr "δευτερόλεπτα πριν" -#: js/js.js:670 -msgid "February" -msgstr "Φεβρουάριος" +#: js/js.js:705 +msgid "1 minute ago" +msgstr "1 λεπτό πριν" -#: js/js.js:670 -msgid "March" -msgstr "Μάρτιος" +#: js/js.js:706 +msgid "{minutes} minutes ago" +msgstr "{minutes} λεπτά πριν" -#: js/js.js:670 -msgid "April" -msgstr "Απρίλιος" +#: js/js.js:707 +msgid "1 hour ago" +msgstr "1 ώρα πριν" -#: js/js.js:670 -msgid "May" -msgstr "Μάϊος" +#: js/js.js:708 +msgid "{hours} hours ago" +msgstr "{hours} ώρες πριν" -#: js/js.js:670 -msgid "June" -msgstr "Ιούνιος" +#: js/js.js:709 +msgid "today" +msgstr "σήμερα" -#: js/js.js:671 -msgid "July" -msgstr "Ιούλιος" +#: js/js.js:710 +msgid "yesterday" +msgstr "χτες" -#: js/js.js:671 -msgid "August" -msgstr "Αύγουστος" +#: js/js.js:711 +msgid "{days} days ago" +msgstr "{days} ημέρες πριν" -#: js/js.js:671 -msgid "September" -msgstr "Σεπτέμβριος" +#: js/js.js:712 +msgid "last month" +msgstr "τελευταίο μήνα" -#: js/js.js:671 -msgid "October" -msgstr "Οκτώβριος" +#: js/js.js:713 +msgid "{months} months ago" +msgstr "{months} μήνες πριν" -#: js/js.js:671 -msgid "November" -msgstr "Νοέμβριος" +#: js/js.js:714 +msgid "months ago" +msgstr "μήνες πριν" -#: js/js.js:671 -msgid "December" -msgstr "Δεκέμβριος" +#: js/js.js:715 +msgid "last year" +msgstr "τελευταίο χρόνο" -#: js/oc-dialogs.js:123 +#: js/js.js:716 +msgid "years ago" +msgstr "χρόνια πριν" + +#: js/oc-dialogs.js:126 msgid "Choose" msgstr "Επιλέξτε" -#: js/oc-dialogs.js:143 js/oc-dialogs.js:163 +#: js/oc-dialogs.js:146 js/oc-dialogs.js:166 msgid "Cancel" -msgstr "Ακύρωση" +msgstr "Άκυρο" -#: js/oc-dialogs.js:159 +#: js/oc-dialogs.js:162 msgid "No" msgstr "Όχι" -#: js/oc-dialogs.js:160 +#: js/oc-dialogs.js:163 msgid "Yes" msgstr "Ναι" -#: js/oc-dialogs.js:177 +#: js/oc-dialogs.js:180 msgid "Ok" msgstr "Οκ" -#: js/oc-vcategories.js:68 -msgid "No categories selected for deletion." -msgstr "Δεν επιλέχτηκαν κατηγορίες για διαγραφή" +#: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102 +#: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162 +msgid "The object type is not specified." +msgstr "Δεν καθορίστηκε ο τύπος του αντικειμένου." -#: js/oc-vcategories.js:68 js/share.js:114 js/share.js:121 js/share.js:497 -#: js/share.js:509 +#: js/oc-vcategories.js:95 js/oc-vcategories.js:125 js/oc-vcategories.js:136 +#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:527 +#: js/share.js:539 msgid "Error" msgstr "Σφάλμα" -#: js/share.js:103 +#: js/oc-vcategories.js:179 +msgid "The app name is not specified." +msgstr "Δεν καθορίστηκε το όνομα της εφαρμογής." + +#: js/oc-vcategories.js:194 +msgid "The required file {file} is not installed!" +msgstr "Το απαιτούμενο αρχείο {file} δεν εγκαταστάθηκε!" + +#: js/share.js:124 msgid "Error while sharing" msgstr "Σφάλμα κατά τον διαμοιρασμό" -#: js/share.js:114 +#: js/share.js:135 msgid "Error while unsharing" msgstr "Σφάλμα κατά το σταμάτημα του διαμοιρασμού" -#: js/share.js:121 +#: js/share.js:142 msgid "Error while changing permissions" msgstr "Σφάλμα κατά την αλλαγή των δικαιωμάτων" -#: js/share.js:130 -msgid "Shared with you and the group" -msgstr "Διαμοιρασμένο με εσένα και την ομάδα" - -#: js/share.js:130 -msgid "by" -msgstr "από" +#: js/share.js:151 +msgid "Shared with you and the group {group} by {owner}" +msgstr "Διαμοιράστηκε με σας και με την ομάδα {group} του {owner}" -#: js/share.js:132 -msgid "Shared with you by" -msgstr "Μοιράστηκε μαζί σας από " +#: js/share.js:153 +msgid "Shared with you by {owner}" +msgstr "Διαμοιράστηκε με σας από τον {owner}" -#: js/share.js:137 +#: js/share.js:158 msgid "Share with" msgstr "Διαμοιρασμός με" -#: js/share.js:142 +#: js/share.js:163 msgid "Share with link" msgstr "Διαμοιρασμός με σύνδεσμο" -#: js/share.js:143 +#: js/share.js:164 msgid "Password protect" -msgstr "Προστασία κωδικού" +msgstr "Προστασία συνθηματικού" -#: js/share.js:147 templates/installation.php:42 templates/login.php:24 +#: js/share.js:168 templates/installation.php:42 templates/login.php:24 #: templates/verify.php:13 msgid "Password" -msgstr "Κωδικός" +msgstr "Συνθηματικό" -#: js/share.js:152 +#: js/share.js:173 msgid "Set expiration date" msgstr "Ορισμός ημ. λήξης" -#: js/share.js:153 +#: js/share.js:174 msgid "Expiration date" msgstr "Ημερομηνία λήξης" -#: js/share.js:185 +#: js/share.js:206 msgid "Share via email:" msgstr "Διαμοιρασμός μέσω email:" -#: js/share.js:187 +#: js/share.js:208 msgid "No people found" msgstr "Δεν βρέθηκε άνθρωπος" -#: js/share.js:214 +#: js/share.js:235 msgid "Resharing is not allowed" msgstr "Ξαναμοιρασμός δεν επιτρέπεται" -#: js/share.js:250 -msgid "Shared in" -msgstr "Διαμοιράστηκε με" - -#: js/share.js:250 -msgid "with" -msgstr "με" - #: js/share.js:271 +msgid "Shared in {item} with {user}" +msgstr "Διαμοιρασμός του {item} με τον {user}" + +#: js/share.js:292 msgid "Unshare" -msgstr "Σταμάτημα μοιράσματος" +msgstr "Σταμάτημα διαμοιρασμού" -#: js/share.js:283 +#: js/share.js:304 msgid "can edit" msgstr "δυνατότητα αλλαγής" -#: js/share.js:285 +#: js/share.js:306 msgid "access control" msgstr "έλεγχος πρόσβασης" -#: js/share.js:288 +#: js/share.js:309 msgid "create" msgstr "δημιουργία" -#: js/share.js:291 +#: js/share.js:312 msgid "update" -msgstr "ανανέωση" +msgstr "ενημέρωση" -#: js/share.js:294 +#: js/share.js:315 msgid "delete" msgstr "διαγραφή" -#: js/share.js:297 +#: js/share.js:318 msgid "share" msgstr "διαμοιρασμός" -#: js/share.js:322 js/share.js:484 +#: js/share.js:343 js/share.js:514 js/share.js:516 msgid "Password protected" -msgstr "Προστασία με κωδικό" +msgstr "Προστασία με συνθηματικό" -#: js/share.js:497 +#: js/share.js:527 msgid "Error unsetting expiration date" msgstr "Σφάλμα κατά την διαγραφή της ημ. λήξης" -#: js/share.js:509 +#: js/share.js:539 msgid "Error setting expiration date" msgstr "Σφάλμα κατά τον ορισμό ημ. λήξης" -#: lostpassword/index.php:26 +#: lostpassword/controller.php:47 msgid "ownCloud password reset" -msgstr "Επαναφορά κωδικού ownCloud" +msgstr "Επαναφορά συνθηματικού ownCloud" #: lostpassword/templates/email.php:2 msgid "Use the following link to reset your password: {link}" @@ -237,12 +271,12 @@ msgid "You will receive a link to reset your password via Email." msgstr "Θα λάβετε ένα σύνδεσμο για να επαναφέρετε τον κωδικό πρόσβασής σας μέσω ηλεκτρονικού ταχυδρομείου." #: lostpassword/templates/lostpassword.php:5 -msgid "Requested" -msgstr "Ζητήθησαν" +msgid "Reset email send." +msgstr "Η επαναφορά του email στάλθηκε." #: lostpassword/templates/lostpassword.php:8 -msgid "Login failed!" -msgstr "Η σύνδεση απέτυχε!" +msgid "Request failed!" +msgstr "Η αίτηση απέτυχε!" #: lostpassword/templates/lostpassword.php:11 templates/installation.php:38 #: templates/login.php:20 @@ -263,11 +297,11 @@ msgstr "Σελίδα εισόδου" #: lostpassword/templates/resetpassword.php:8 msgid "New password" -msgstr "Νέος κωδικός" +msgstr "Νέο συνθηματικό" #: lostpassword/templates/resetpassword.php:11 msgid "Reset password" -msgstr "Επαναφορά κωδικού πρόσβασης" +msgstr "Επαναφορά συνθηματικού" #: strings.php:5 msgid "Personal" @@ -295,13 +329,13 @@ msgstr "Δεν επιτρέπεται η πρόσβαση" #: templates/404.php:12 msgid "Cloud not found" -msgstr "Δεν βρέθηκε σύννεφο" +msgstr "Δεν βρέθηκε νέφος" #: templates/edit_categories_dialog.php:4 msgid "Edit categories" -msgstr "Επεξεργασία κατηγορίας" +msgstr "Επεξεργασία κατηγοριών" -#: templates/edit_categories_dialog.php:14 +#: templates/edit_categories_dialog.php:16 msgid "Add" msgstr "Προσθήκη" @@ -313,13 +347,13 @@ msgstr "Προειδοποίηση Ασφαλείας" msgid "" "No secure random number generator is available, please enable the PHP " "OpenSSL extension." -msgstr "" +msgstr "Δεν είναι διαθέσιμο το πρόσθετο δημιουργίας τυχαίων αριθμών ασφαλείας, παρακαλώ ενεργοποιήστε το πρόσθετο της PHP, OpenSSL." #: templates/installation.php:26 msgid "" "Without a secure random number generator an attacker may be able to predict " "password reset tokens and take over your account." -msgstr "" +msgstr "Χωρίς το πρόσθετο δημιουργίας τυχαίων αριθμών ασφαλείας, μπορεί να διαρρεύσει ο λογαριασμός σας από επιθέσεις στο διαδίκτυο." #: templates/installation.php:32 msgid "" @@ -328,7 +362,7 @@ msgid "" "strongly suggest that you configure your webserver in a way that the data " "directory is no longer accessible or you move the data directory outside the" " webserver document root." -msgstr "" +msgstr "Ο κατάλογος data και τα αρχεία σας πιθανόν να είναι διαθέσιμα στο διαδίκτυο. Το αρχείο .htaccess που παρέχει το ownCloud δεν δουλεύει. Σας προτείνουμε ανεπιφύλακτα να ρυθμίσετε το διακομιστή σας με τέτοιο τρόπο ώστε ο κατάλογος data να μην είναι πλέον προσβάσιμος ή να μετακινήσετε τον κατάλογο data έξω από τον κατάλογο του διακομιστή." #: templates/installation.php:36 msgid "Create an admin account" @@ -344,7 +378,7 @@ msgstr "Φάκελος δεδομένων" #: templates/installation.php:57 msgid "Configure the database" -msgstr "Διαμόρφωση της βάσης δεδομένων" +msgstr "Ρύθμιση της βάσης δεδομένων" #: templates/installation.php:62 templates/installation.php:73 #: templates/installation.php:83 templates/installation.php:93 @@ -357,7 +391,7 @@ msgstr "Χρήστης της βάσης δεδομένων" #: templates/installation.php:109 msgid "Database password" -msgstr "Κωδικός πρόσβασης βάσης δεδομένων" +msgstr "Συνθηματικό βάσης δεδομένων" #: templates/installation.php:113 msgid "Database name" @@ -375,35 +409,111 @@ msgstr "Διακομιστής βάσης δεδομένων" msgid "Finish setup" msgstr "Ολοκλήρωση εγκατάστασης" -#: templates/layout.guest.php:38 +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Sunday" +msgstr "Κυριακή" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Monday" +msgstr "Δευτέρα" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Tuesday" +msgstr "Τρίτη" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Wednesday" +msgstr "Τετάρτη" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Thursday" +msgstr "Πέμπτη" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Friday" +msgstr "Παρασκευή" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Saturday" +msgstr "Σάββατο" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "January" +msgstr "Ιανουάριος" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "February" +msgstr "Φεβρουάριος" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "March" +msgstr "Μάρτιος" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "April" +msgstr "Απρίλιος" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "May" +msgstr "Μάϊος" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "June" +msgstr "Ιούνιος" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "July" +msgstr "Ιούλιος" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "August" +msgstr "Αύγουστος" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "September" +msgstr "Σεπτέμβριος" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "October" +msgstr "Οκτώβριος" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "November" +msgstr "Νοέμβριος" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "December" +msgstr "Δεκέμβριος" + +#: templates/layout.guest.php:42 msgid "web services under your control" msgstr "Υπηρεσίες web υπό τον έλεγχό σας" -#: templates/layout.user.php:34 +#: templates/layout.user.php:45 msgid "Log out" msgstr "Αποσύνδεση" #: templates/login.php:8 msgid "Automatic logon rejected!" -msgstr "" +msgstr "Απορρίφθηκε η αυτόματη σύνδεση!" #: templates/login.php:9 msgid "" "If you did not change your password recently, your account may be " "compromised!" -msgstr "" +msgstr "Εάν δεν αλλάξατε το συνθηματικό σας προσφάτως, ο λογαριασμός μπορεί να έχει διαρρεύσει!" #: templates/login.php:10 msgid "Please change your password to secure your account again." -msgstr "" +msgstr "Παρακαλώ αλλάξτε το συνθηματικό σας για να ασφαλίσετε πάλι τον λογαριασμό σας." #: templates/login.php:15 msgid "Lost your password?" -msgstr "Ξεχάσατε τον κωδικό σας;" +msgstr "Ξεχάσατε το συνθηματικό σας;" #: templates/login.php:27 msgid "remember" -msgstr "να με θυμάσαι" +msgstr "απομνημόνευση" #: templates/login.php:28 msgid "Log in" @@ -423,14 +533,14 @@ msgstr "επόμενο" #: templates/verify.php:5 msgid "Security Warning!" -msgstr "" +msgstr "Προειδοποίηση Ασφαλείας!" #: templates/verify.php:6 msgid "" "Please verify your password.
For security reasons you may be " "occasionally asked to enter your password again." -msgstr "" +msgstr "Παρακαλώ επιβεβαιώστε το συνθηματικό σας.
Για λόγους ασφαλείας μπορεί να ερωτάστε να εισάγετε ξανά το συνθηματικό σας." #: templates/verify.php:16 msgid "Verify" -msgstr "" +msgstr "Επαλήθευση" diff --git a/l10n/el/files.po b/l10n/el/files.po index 1d6375014dc291bfeb2eb52d6edd3c06baf51923..85209f363a5348be00d5d05c653c9400d95db5b3 100644 --- a/l10n/el/files.po +++ b/l10n/el/files.po @@ -8,13 +8,14 @@ # Efstathios Iosifidis , 2012. # Marios Bekatoros <>, 2012. # Petros Kyladitis , 2011-2012. +# Γιάννης Ανθυμίδης , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-09-28 23:34+0200\n" -"PO-Revision-Date: 2012-09-28 01:41+0000\n" -"Last-Translator: Dimitris M. \n" +"POT-Creation-Date: 2012-12-03 00:04+0100\n" +"PO-Revision-Date: 2012-12-02 11:20+0000\n" +"Last-Translator: Efstathios Iosifidis \n" "Language-Team: Greek (http://www.transifex.com/projects/p/owncloud/language/el/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -24,198 +25,169 @@ msgstr "" #: ajax/upload.php:20 msgid "There is no error, the file uploaded with success" -msgstr "Δεν υπάρχει λάθος, το αρχείο μεταφορτώθηκε επιτυχώς" +msgstr "Δεν υπάρχει σφάλμα, το αρχείο εστάλει επιτυχώς" #: ajax/upload.php:21 -msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" -msgstr "Το αρχείο που μεταφορτώθηκε υπερβαίνει την οδηγία μέγιστου επιτρεπτού μεγέθους \"upload_max_filesize\" του php.ini" +msgid "" +"The uploaded file exceeds the upload_max_filesize directive in php.ini: " +msgstr "Το απεσταλμένο αρχείο ξεπερνά την οδηγία upload_max_filesize στο php.ini:" -#: ajax/upload.php:22 +#: ajax/upload.php:23 msgid "" "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " "the HTML form" msgstr "Το αρχείο υπερβαίνει την οδηγία μέγιστου επιτρεπτού μεγέθους \"MAX_FILE_SIZE\" που έχει οριστεί στην HTML φόρμα" -#: ajax/upload.php:23 +#: ajax/upload.php:25 msgid "The uploaded file was only partially uploaded" -msgstr "Το αρχείο μεταφορώθηκε μόνο εν μέρει" +msgstr "Το αρχείο εστάλει μόνο εν μέρει" -#: ajax/upload.php:24 +#: ajax/upload.php:26 msgid "No file was uploaded" -msgstr "Κανένα αρχείο δεν μεταφορτώθηκε" +msgstr "Κανένα αρχείο δεν στάλθηκε" -#: ajax/upload.php:25 +#: ajax/upload.php:27 msgid "Missing a temporary folder" msgstr "Λείπει ο προσωρινός φάκελος" -#: ajax/upload.php:26 +#: ajax/upload.php:28 msgid "Failed to write to disk" msgstr "Αποτυχία εγγραφής στο δίσκο" -#: appinfo/app.php:6 +#: appinfo/app.php:10 msgid "Files" msgstr "Αρχεία" -#: js/fileactions.js:108 templates/index.php:62 +#: js/fileactions.js:117 templates/index.php:83 templates/index.php:84 msgid "Unshare" msgstr "Διακοπή κοινής χρήσης" -#: js/fileactions.js:110 templates/index.php:64 +#: js/fileactions.js:119 templates/index.php:89 templates/index.php:90 msgid "Delete" msgstr "Διαγραφή" -#: js/fileactions.js:182 +#: js/fileactions.js:181 msgid "Rename" msgstr "Μετονομασία" -#: js/filelist.js:190 js/filelist.js:192 -msgid "already exists" -msgstr "υπάρχει ήδη" +#: js/filelist.js:201 js/filelist.js:203 +msgid "{new_name} already exists" +msgstr "{new_name} υπάρχει ήδη" -#: js/filelist.js:190 js/filelist.js:192 +#: js/filelist.js:201 js/filelist.js:203 msgid "replace" msgstr "αντικατέστησε" -#: js/filelist.js:190 +#: js/filelist.js:201 msgid "suggest name" msgstr "συνιστώμενο όνομα" -#: js/filelist.js:190 js/filelist.js:192 +#: js/filelist.js:201 js/filelist.js:203 msgid "cancel" msgstr "ακύρωση" -#: js/filelist.js:239 js/filelist.js:241 -msgid "replaced" -msgstr "αντικαταστάθηκε" +#: js/filelist.js:250 +msgid "replaced {new_name}" +msgstr "{new_name} αντικαταστάθηκε" -#: js/filelist.js:239 js/filelist.js:241 js/filelist.js:273 js/filelist.js:275 +#: js/filelist.js:250 js/filelist.js:252 js/filelist.js:284 js/filelist.js:286 msgid "undo" msgstr "αναίρεση" -#: js/filelist.js:241 -msgid "with" -msgstr "με" +#: js/filelist.js:252 +msgid "replaced {new_name} with {old_name}" +msgstr "αντικαταστάθηκε το {new_name} με {old_name}" + +#: js/filelist.js:284 +msgid "unshared {files}" +msgstr "μη διαμοιρασμένα {files}" -#: js/filelist.js:273 -msgid "unshared" -msgstr "Διακόπηκε ο διαμοιρασμός" +#: js/filelist.js:286 +msgid "deleted {files}" +msgstr "διαγραμμένα {files}" -#: js/filelist.js:275 -msgid "deleted" -msgstr "διαγράφηκε" +#: js/files.js:33 +msgid "" +"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not " +"allowed." +msgstr "Μη έγκυρο όνομα, '\\', '/', '<', '>', ':', '\"', '|', '?' και '*' δεν επιτρέπονται." -#: js/files.js:179 +#: js/files.js:183 msgid "generating ZIP-file, it may take some time." msgstr "παραγωγή αρχείου ZIP, ίσως διαρκέσει αρκετά." -#: js/files.js:208 +#: js/files.js:218 msgid "Unable to upload your file as it is a directory or has 0 bytes" -msgstr "Αδυναμία στην μεταφόρτωση του αρχείου σας αφού είναι φάκελος ή έχει 0 bytes" +msgstr "Αδυναμία στην αποστολή του αρχείου σας αφού είναι φάκελος ή έχει 0 bytes" -#: js/files.js:208 +#: js/files.js:218 msgid "Upload Error" -msgstr "Σφάλμα Μεταφόρτωσης" +msgstr "Σφάλμα Αποστολής" + +#: js/files.js:235 +msgid "Close" +msgstr "Κλείσιμο" -#: js/files.js:236 js/files.js:341 js/files.js:371 +#: js/files.js:254 js/files.js:368 js/files.js:398 msgid "Pending" msgstr "Εκκρεμεί" -#: js/files.js:256 +#: js/files.js:274 msgid "1 file uploading" msgstr "1 αρχείο ανεβαίνει" -#: js/files.js:259 js/files.js:304 js/files.js:319 -msgid "files uploading" -msgstr "αρχεία ανεβαίνουν" +#: js/files.js:277 js/files.js:331 js/files.js:346 +msgid "{count} files uploading" +msgstr "{count} αρχεία ανεβαίνουν" -#: js/files.js:322 js/files.js:355 +#: js/files.js:349 js/files.js:382 msgid "Upload cancelled." -msgstr "Η μεταφόρτωση ακυρώθηκε." +msgstr "Η αποστολή ακυρώθηκε." -#: js/files.js:424 +#: js/files.js:451 msgid "" "File upload is in progress. Leaving the page now will cancel the upload." -msgstr "Η μεταφόρτωση του αρχείου βρίσκεται σε εξέλιξη. Έξοδος από την σελίδα τώρα θα ακυρώσει την μεταφόρτωση." +msgstr "Η αποστολή του αρχείου βρίσκεται σε εξέλιξη. Έξοδος από την σελίδα τώρα θα ακυρώσει την αποστολή." -#: js/files.js:494 -msgid "Invalid name, '/' is not allowed." -msgstr "Μη έγκυρο όνομα, το '/' δεν επιτρέπεται." +#: js/files.js:523 +msgid "Invalid folder name. Usage of \"Shared\" is reserved by Owncloud" +msgstr "Μη έγκυρο όνομα φακέλου. Η χρήση του \"Shared\" είναι δεσμευμένη από το Owncloud" -#: js/files.js:668 -msgid "files scanned" -msgstr "αρχεία σαρώθηκαν" +#: js/files.js:704 +msgid "{count} files scanned" +msgstr "{count} αρχεία ανιχνεύτηκαν" -#: js/files.js:676 +#: js/files.js:712 msgid "error while scanning" msgstr "σφάλμα κατά την ανίχνευση" -#: js/files.js:749 templates/index.php:48 +#: js/files.js:785 templates/index.php:65 msgid "Name" msgstr "Όνομα" -#: js/files.js:750 templates/index.php:56 +#: js/files.js:786 templates/index.php:76 msgid "Size" msgstr "Μέγεθος" -#: js/files.js:751 templates/index.php:58 +#: js/files.js:787 templates/index.php:78 msgid "Modified" msgstr "Τροποποιήθηκε" -#: js/files.js:778 -msgid "folder" -msgstr "φάκελος" - -#: js/files.js:780 -msgid "folders" -msgstr "φάκελοι" - -#: js/files.js:788 -msgid "file" -msgstr "αρχείο" - -#: js/files.js:790 -msgid "files" -msgstr "αρχεία" - -#: js/files.js:834 -msgid "seconds ago" -msgstr "δευτερόλεπτα πριν" - -#: js/files.js:835 -msgid "minute ago" -msgstr "λεπτό πριν" - -#: js/files.js:836 -msgid "minutes ago" -msgstr "λεπτά πριν" +#: js/files.js:814 +msgid "1 folder" +msgstr "1 φάκελος" -#: js/files.js:839 -msgid "today" -msgstr "σήμερα" +#: js/files.js:816 +msgid "{count} folders" +msgstr "{count} φάκελοι" -#: js/files.js:840 -msgid "yesterday" -msgstr "χτες" +#: js/files.js:824 +msgid "1 file" +msgstr "1 αρχείο" -#: js/files.js:841 -msgid "days ago" -msgstr "μέρες πριν" - -#: js/files.js:842 -msgid "last month" -msgstr "τελευταίο μήνα" - -#: js/files.js:844 -msgid "months ago" -msgstr "μήνες πριν" - -#: js/files.js:845 -msgid "last year" -msgstr "τελευταίο χρόνο" - -#: js/files.js:846 -msgid "years ago" -msgstr "χρόνια πριν" +#: js/files.js:826 +msgid "{count} files" +msgstr "{count} αρχεία" #: templates/admin.php:5 msgid "File handling" @@ -223,29 +195,29 @@ msgstr "Διαχείριση αρχείων" #: templates/admin.php:7 msgid "Maximum upload size" -msgstr "Μέγιστο μέγεθος μεταφόρτωσης" +msgstr "Μέγιστο μέγεθος αποστολής" -#: templates/admin.php:7 +#: templates/admin.php:9 msgid "max. possible: " msgstr "μέγιστο δυνατό:" -#: templates/admin.php:9 +#: templates/admin.php:12 msgid "Needed for multi-file and folder downloads." msgstr "Απαραίτητο για κατέβασμα πολλαπλών αρχείων και φακέλων" -#: templates/admin.php:9 +#: templates/admin.php:14 msgid "Enable ZIP-download" msgstr "Ενεργοποίηση κατεβάσματος ZIP" -#: templates/admin.php:11 +#: templates/admin.php:17 msgid "0 is unlimited" msgstr "0 για απεριόριστο" -#: templates/admin.php:12 +#: templates/admin.php:19 msgid "Maximum input size for ZIP files" msgstr "Μέγιστο μέγεθος για αρχεία ZIP" -#: templates/admin.php:14 +#: templates/admin.php:23 msgid "Save" msgstr "Αποθήκευση" @@ -253,52 +225,48 @@ msgstr "Αποθήκευση" msgid "New" msgstr "Νέο" -#: templates/index.php:9 +#: templates/index.php:10 msgid "Text file" msgstr "Αρχείο κειμένου" -#: templates/index.php:10 +#: templates/index.php:12 msgid "Folder" msgstr "Φάκελος" -#: templates/index.php:11 -msgid "From url" -msgstr "Από την διεύθυνση" +#: templates/index.php:14 +msgid "From link" +msgstr "Από σύνδεσμο" -#: templates/index.php:20 +#: templates/index.php:35 msgid "Upload" -msgstr "Μεταφόρτωση" +msgstr "Αποστολή" -#: templates/index.php:27 +#: templates/index.php:43 msgid "Cancel upload" -msgstr "Ακύρωση μεταφόρτωσης" +msgstr "Ακύρωση αποστολής" -#: templates/index.php:40 +#: templates/index.php:57 msgid "Nothing in here. Upload something!" msgstr "Δεν υπάρχει τίποτα εδώ. Ανέβασε κάτι!" -#: templates/index.php:50 -msgid "Share" -msgstr "Διαμοιρασμός" - -#: templates/index.php:52 +#: templates/index.php:71 msgid "Download" msgstr "Λήψη" -#: templates/index.php:75 +#: templates/index.php:103 msgid "Upload too large" -msgstr "Πολύ μεγάλο αρχείο προς μεταφόρτωση" +msgstr "Πολύ μεγάλο αρχείο προς αποστολή" -#: templates/index.php:77 +#: templates/index.php:105 msgid "" "The files you are trying to upload exceed the maximum size for file uploads " "on this server." -msgstr "Τα αρχεία που προσπαθείτε να μεταφορτώσετε υπερβαίνουν το μέγιστο μέγεθος μεταφόρτωσης αρχείων σε αυτόν το διακομιστή." +msgstr "Τα αρχεία που προσπαθείτε να ανεβάσετε υπερβαίνουν το μέγιστο μέγεθος αποστολής αρχείων σε αυτόν το διακομιστή." -#: templates/index.php:82 +#: templates/index.php:110 msgid "Files are being scanned, please wait." msgstr "Τα αρχεία σαρώνονται, παρακαλώ περιμένετε" -#: templates/index.php:85 +#: templates/index.php:113 msgid "Current scanning" msgstr "Τρέχουσα αναζήτηση " diff --git a/l10n/el/files_external.po b/l10n/el/files_external.po index 261b71a5b76a01fb8e3adf50d2f02b8a2108add1..427a867f4a8249909bfafc019f19b744f1fd11c4 100644 --- a/l10n/el/files_external.po +++ b/l10n/el/files_external.po @@ -12,9 +12,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-14 02:05+0200\n" -"PO-Revision-Date: 2012-10-13 20:42+0000\n" -"Last-Translator: Γιάννης Ανθυμίδης \n" +"POT-Creation-Date: 2012-12-12 00:12+0100\n" +"PO-Revision-Date: 2012-12-11 23:13+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Greek (http://www.transifex.com/projects/p/owncloud/language/el/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -46,66 +46,80 @@ msgstr "Παρακαλούμε δώστε έγκυρο κλειδί Dropbox κα msgid "Error configuring Google Drive storage" msgstr "Σφάλμα ρυθμίζωντας αποθήκευση Google Drive " +#: lib/config.php:434 +msgid "" +"Warning: \"smbclient\" is not installed. Mounting of CIFS/SMB shares " +"is not possible. Please ask your system administrator to install it." +msgstr "" + +#: lib/config.php:435 +msgid "" +"Warning: The FTP support in PHP is not enabled or installed. Mounting" +" of FTP shares is not possible. Please ask your system administrator to " +"install it." +msgstr "" + #: templates/settings.php:3 msgid "External Storage" msgstr "Εξωτερικό Αποθηκευτικό Μέσο" -#: templates/settings.php:7 templates/settings.php:19 +#: templates/settings.php:8 templates/settings.php:22 msgid "Mount point" msgstr "Σημείο προσάρτησης" -#: templates/settings.php:8 +#: templates/settings.php:9 msgid "Backend" msgstr "Σύστημα υποστήριξης" -#: templates/settings.php:9 +#: templates/settings.php:10 msgid "Configuration" msgstr "Ρυθμίσεις" -#: templates/settings.php:10 +#: templates/settings.php:11 msgid "Options" msgstr "Επιλογές" -#: templates/settings.php:11 +#: templates/settings.php:12 msgid "Applicable" msgstr "Εφαρμόσιμο" -#: templates/settings.php:23 +#: templates/settings.php:27 msgid "Add mount point" msgstr "Προσθήκη σημείου προσάρτησης" -#: templates/settings.php:54 templates/settings.php:62 +#: templates/settings.php:85 msgid "None set" msgstr "Κανένα επιλεγμένο" -#: templates/settings.php:63 +#: templates/settings.php:86 msgid "All Users" msgstr "Όλοι οι Χρήστες" -#: templates/settings.php:64 +#: templates/settings.php:87 msgid "Groups" msgstr "Ομάδες" -#: templates/settings.php:69 +#: templates/settings.php:95 msgid "Users" msgstr "Χρήστες" -#: templates/settings.php:77 templates/settings.php:107 +#: templates/settings.php:108 templates/settings.php:109 +#: templates/settings.php:149 templates/settings.php:150 msgid "Delete" msgstr "Διαγραφή" -#: templates/settings.php:87 +#: templates/settings.php:124 msgid "Enable User External Storage" msgstr "Ενεργοποίηση Εξωτερικού Αποθηκευτικού Χώρου Χρήστη" -#: templates/settings.php:88 +#: templates/settings.php:125 msgid "Allow users to mount their own external storage" msgstr "Να επιτρέπεται στους χρήστες να προσαρτούν δικό τους εξωτερικό αποθηκευτικό χώρο" -#: templates/settings.php:99 +#: templates/settings.php:139 msgid "SSL root certificates" msgstr "Πιστοποιητικά SSL root" -#: templates/settings.php:113 +#: templates/settings.php:158 msgid "Import Root Certificate" msgstr "Εισαγωγή Πιστοποιητικού Root" diff --git a/l10n/el/files_pdfviewer.po b/l10n/el/files_pdfviewer.po deleted file mode 100644 index ccc6193a0bf3991686e218db8746d9ae288566ff..0000000000000000000000000000000000000000 --- a/l10n/el/files_pdfviewer.po +++ /dev/null @@ -1,42 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 02:18+0200\n" -"PO-Revision-Date: 2012-08-26 00:19+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Greek (http://www.transifex.com/projects/p/owncloud/language/el/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: el\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: js/viewer.js:22 -msgid "Previous" -msgstr "" - -#: js/viewer.js:23 -msgid "Next" -msgstr "" - -#: js/viewer.js:29 -msgid "Page Width" -msgstr "" - -#: js/viewer.js:29 -msgid "Page Fit" -msgstr "" - -#: js/viewer.js:30 -msgid "Print" -msgstr "" - -#: js/viewer.js:32 -msgid "Download" -msgstr "" diff --git a/l10n/el/files_texteditor.po b/l10n/el/files_texteditor.po deleted file mode 100644 index c449b1118455b3d9790f25465bb292a0c921ecfc..0000000000000000000000000000000000000000 --- a/l10n/el/files_texteditor.po +++ /dev/null @@ -1,44 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 01:17+0200\n" -"PO-Revision-Date: 2012-08-25 23:18+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Greek (http://www.transifex.com/projects/p/owncloud/language/el/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: el\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: js/aceeditor/mode-coldfusion-uncompressed.js:1568 -#: js/aceeditor/mode-liquid-uncompressed.js:902 -#: js/aceeditor/mode-svg-uncompressed.js:1575 -msgid "regex" -msgstr "" - -#: js/editor.js:72 js/editor.js:156 js/editor.js:163 -msgid "Save" -msgstr "" - -#: js/editor.js:74 -msgid "Close" -msgstr "" - -#: js/editor.js:149 -msgid "Saving..." -msgstr "" - -#: js/editor.js:239 -msgid "An error occurred!" -msgstr "" - -#: js/editor.js:266 -msgid "There were unsaved changes, click here to go back" -msgstr "" diff --git a/l10n/el/gallery.po b/l10n/el/gallery.po deleted file mode 100644 index 57be7acc264489e0e7357b671c65f1c8c386a9ea..0000000000000000000000000000000000000000 --- a/l10n/el/gallery.po +++ /dev/null @@ -1,62 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Dimitris M. , 2012. -# Efstathios Iosifidis , 2012. -# Efstathios Iosifidis , 2012. -# Marios Bekatoros <>, 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-07-27 02:02+0200\n" -"PO-Revision-Date: 2012-07-26 08:11+0000\n" -"Last-Translator: Marios Bekatoros <>\n" -"Language-Team: Greek (http://www.transifex.com/projects/p/owncloud/language/el/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: el\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: appinfo/app.php:39 -msgid "Pictures" -msgstr "Εικόνες" - -#: js/pictures.js:12 -msgid "Share gallery" -msgstr "Κοινοποίηση συλλογής" - -#: js/pictures.js:32 -msgid "Error: " -msgstr "Σφάλμα: " - -#: js/pictures.js:32 -msgid "Internal error" -msgstr "Εσωτερικό σφάλμα" - -#: templates/index.php:27 -msgid "Slideshow" -msgstr "Προβολή Διαφανειών" - -#: templates/view_album.php:19 -msgid "Back" -msgstr "Επιστροφή" - -#: templates/view_album.php:36 -msgid "Remove confirmation" -msgstr "Αφαίρεση επιβεβαίωσης" - -#: templates/view_album.php:37 -msgid "Do you want to remove album" -msgstr "Θέλετε να αφαιρέσετε το άλμπουμ" - -#: templates/view_album.php:40 -msgid "Change album name" -msgstr "Αλλάξτε το όνομα του άλμπουμ" - -#: templates/view_album.php:43 -msgid "New album name" -msgstr "Νέο όνομα άλμπουμ" diff --git a/l10n/el/impress.po b/l10n/el/impress.po deleted file mode 100644 index f6cd7154530336f082de706324506e7187904529..0000000000000000000000000000000000000000 --- a/l10n/el/impress.po +++ /dev/null @@ -1,22 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 01:17+0200\n" -"PO-Revision-Date: 2012-08-25 23:18+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Greek (http://www.transifex.com/projects/p/owncloud/language/el/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: el\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: templates/presentations.php:7 -msgid "Documentation" -msgstr "" diff --git a/l10n/el/lib.po b/l10n/el/lib.po index 754ee2ab0df55d122bd59143582b29fad809802d..c58bb7b0af68fe96e2732b2a65a7e4bf463b8215 100644 --- a/l10n/el/lib.po +++ b/l10n/el/lib.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-09-20 02:05+0200\n" -"PO-Revision-Date: 2012-09-19 23:21+0000\n" +"POT-Creation-Date: 2012-11-17 00:01+0100\n" +"PO-Revision-Date: 2012-11-16 17:32+0000\n" "Last-Translator: Efstathios Iosifidis \n" "Language-Team: Greek (http://www.transifex.com/projects/p/owncloud/language/el/)\n" "MIME-Version: 1.0\n" @@ -42,19 +42,19 @@ msgstr "Εφαρμογές" msgid "Admin" msgstr "Διαχειριστής" -#: files.php:280 +#: files.php:332 msgid "ZIP download is turned off." msgstr "Η λήψη ZIP απενεργοποιήθηκε." -#: files.php:281 +#: files.php:333 msgid "Files need to be downloaded one by one." msgstr "Τα αρχεία πρέπει να ληφθούν ένα-ένα." -#: files.php:281 files.php:306 +#: files.php:333 files.php:358 msgid "Back to Files" msgstr "Πίσω στα Αρχεία" -#: files.php:305 +#: files.php:357 msgid "Selected files too large to generate zip file." msgstr "Τα επιλεγμένα αρχεία είναι μεγάλα ώστε να δημιουργηθεί αρχείο zip." @@ -62,7 +62,7 @@ msgstr "Τα επιλεγμένα αρχεία είναι μεγάλα ώστε msgid "Application is not enabled" msgstr "Δεν ενεργοποιήθηκε η εφαρμογή" -#: json.php:39 json.php:63 json.php:75 +#: json.php:39 json.php:64 json.php:77 json.php:89 msgid "Authentication error" msgstr "Σφάλμα πιστοποίησης" @@ -70,57 +70,84 @@ msgstr "Σφάλμα πιστοποίησης" msgid "Token expired. Please reload page." msgstr "Το αναγνωριστικό έληξε. Παρακαλώ φορτώστε ξανά την σελίδα." -#: template.php:87 +#: search/provider/file.php:17 search/provider/file.php:35 +msgid "Files" +msgstr "Αρχεία" + +#: search/provider/file.php:26 search/provider/file.php:33 +msgid "Text" +msgstr "Κείμενο" + +#: search/provider/file.php:29 +msgid "Images" +msgstr "Εικόνες" + +#: template.php:103 msgid "seconds ago" msgstr "δευτερόλεπτα πριν" -#: template.php:88 +#: template.php:104 msgid "1 minute ago" msgstr "1 λεπτό πριν" -#: template.php:89 +#: template.php:105 #, php-format msgid "%d minutes ago" msgstr "%d λεπτά πριν" -#: template.php:92 +#: template.php:106 +msgid "1 hour ago" +msgstr "1 ώρα πριν" + +#: template.php:107 +#, php-format +msgid "%d hours ago" +msgstr "%d ώρες πριν" + +#: template.php:108 msgid "today" msgstr "σήμερα" -#: template.php:93 +#: template.php:109 msgid "yesterday" msgstr "χθές" -#: template.php:94 +#: template.php:110 #, php-format msgid "%d days ago" msgstr "%d ημέρες πριν" -#: template.php:95 +#: template.php:111 msgid "last month" msgstr "τον προηγούμενο μήνα" -#: template.php:96 -msgid "months ago" -msgstr "μήνες πριν" +#: template.php:112 +#, php-format +msgid "%d months ago" +msgstr "%d μήνες πριν" -#: template.php:97 +#: template.php:113 msgid "last year" msgstr "τον προηγούμενο χρόνο" -#: template.php:98 +#: template.php:114 msgid "years ago" msgstr "χρόνια πριν" -#: updater.php:66 +#: updater.php:75 #, php-format msgid "%s is available. Get more information" msgstr "%s είναι διαθέσιμα. Δείτε περισσότερες πληροφορίες" -#: updater.php:68 +#: updater.php:77 msgid "up to date" msgstr "ενημερωμένο" -#: updater.php:71 +#: updater.php:80 msgid "updates check is disabled" msgstr "ο έλεγχος ενημερώσεων είναι απενεργοποιημένος" + +#: vcategories.php:188 vcategories.php:249 +#, php-format +msgid "Could not find category \"%s\"" +msgstr "Αδυναμία εύρεσης κατηγορίας \"%s\"" diff --git a/l10n/el/media.po b/l10n/el/media.po deleted file mode 100644 index 4d82e044e37a90a30e5e7ae3d62796856f49df7c..0000000000000000000000000000000000000000 --- a/l10n/el/media.po +++ /dev/null @@ -1,67 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Petros Kyladitis , 2011. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-06-06 00:12+0200\n" -"PO-Revision-Date: 2012-06-05 22:15+0000\n" -"Last-Translator: icewind \n" -"Language-Team: Greek (http://www.transifex.net/projects/p/owncloud/language/el/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: el\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: appinfo/app.php:32 templates/player.php:8 -msgid "Music" -msgstr "Μουσική" - -#: js/music.js:18 -msgid "Add album to playlist" -msgstr "" - -#: templates/music.php:3 templates/player.php:12 -msgid "Play" -msgstr "Αναπαραγωγή" - -#: templates/music.php:4 templates/music.php:26 templates/player.php:13 -msgid "Pause" -msgstr "Παύση" - -#: templates/music.php:5 -msgid "Previous" -msgstr "Προηγούμενο" - -#: templates/music.php:6 templates/player.php:14 -msgid "Next" -msgstr "Επόμενο" - -#: templates/music.php:7 -msgid "Mute" -msgstr "Σίγαση" - -#: templates/music.php:8 -msgid "Unmute" -msgstr "Επαναφορά ήχου" - -#: templates/music.php:25 -msgid "Rescan Collection" -msgstr "Επανασάρωση συλλογής" - -#: templates/music.php:37 -msgid "Artist" -msgstr "Καλλιτέχνης" - -#: templates/music.php:38 -msgid "Album" -msgstr "Άλμπουμ" - -#: templates/music.php:39 -msgid "Title" -msgstr "Τίτλος" diff --git a/l10n/el/settings.po b/l10n/el/settings.po index 3e0e1b87f3f01e935654e492832f63a9ac01fdc2..62961834e0ef5b3f949ced027a35e6a3e8ecb6ff 100644 --- a/l10n/el/settings.po +++ b/l10n/el/settings.po @@ -18,9 +18,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-14 02:05+0200\n" -"PO-Revision-Date: 2012-10-13 21:01+0000\n" -"Last-Translator: Γιάννης Ανθυμίδης \n" +"POT-Creation-Date: 2012-12-03 00:04+0100\n" +"PO-Revision-Date: 2012-12-02 11:21+0000\n" +"Last-Translator: Efstathios Iosifidis \n" "Language-Team: Greek (http://www.transifex.com/projects/p/owncloud/language/el/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -28,70 +28,73 @@ msgstr "" "Language: el\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: ajax/apps/ocs.php:23 +#: ajax/apps/ocs.php:20 msgid "Unable to load list from App Store" msgstr "Σφάλμα στην φόρτωση της λίστας από το App Store" -#: ajax/creategroup.php:9 ajax/removeuser.php:18 ajax/setquota.php:18 -#: ajax/togglegroups.php:15 -msgid "Authentication error" -msgstr "Σφάλμα πιστοποίησης" - -#: ajax/creategroup.php:19 +#: ajax/creategroup.php:10 msgid "Group already exists" msgstr "Η ομάδα υπάρχει ήδη" -#: ajax/creategroup.php:28 +#: ajax/creategroup.php:19 msgid "Unable to add group" msgstr "Αδυναμία προσθήκης ομάδας" -#: ajax/enableapp.php:14 +#: ajax/enableapp.php:12 msgid "Could not enable app. " msgstr "Αδυναμία ενεργοποίησης εφαρμογής " -#: ajax/lostpassword.php:14 +#: ajax/lostpassword.php:12 msgid "Email saved" msgstr "Το email αποθηκεύτηκε " -#: ajax/lostpassword.php:16 +#: ajax/lostpassword.php:14 msgid "Invalid email" msgstr "Μη έγκυρο email" -#: ajax/openid.php:16 +#: ajax/openid.php:13 msgid "OpenID Changed" msgstr "Το OpenID άλλαξε" -#: ajax/openid.php:18 ajax/setlanguage.php:20 ajax/setlanguage.php:23 +#: ajax/openid.php:15 ajax/setlanguage.php:17 ajax/setlanguage.php:20 msgid "Invalid request" msgstr "Μη έγκυρο αίτημα" -#: ajax/removegroup.php:16 +#: ajax/removegroup.php:13 msgid "Unable to delete group" msgstr "Αδυναμία διαγραφής ομάδας" -#: ajax/removeuser.php:27 +#: ajax/removeuser.php:15 ajax/setquota.php:15 ajax/togglegroups.php:18 +msgid "Authentication error" +msgstr "Σφάλμα πιστοποίησης" + +#: ajax/removeuser.php:24 msgid "Unable to delete user" msgstr "Αδυναμία διαγραφής χρήστη" -#: ajax/setlanguage.php:18 +#: ajax/setlanguage.php:15 msgid "Language changed" msgstr "Η γλώσσα άλλαξε" -#: ajax/togglegroups.php:25 +#: ajax/togglegroups.php:12 +msgid "Admins can't remove themself from the admin group" +msgstr "Οι διαχειριστές δεν μπορούν να αφαιρέσουν τους εαυτούς τους από την ομάδα των διαχειριστών" + +#: ajax/togglegroups.php:28 #, php-format msgid "Unable to add user to group %s" msgstr "Αδυναμία προσθήκη χρήστη στην ομάδα %s" -#: ajax/togglegroups.php:31 +#: ajax/togglegroups.php:34 #, php-format msgid "Unable to remove user from group %s" msgstr "Αδυναμία αφαίρεσης χρήστη από την ομάδα %s" -#: js/apps.js:28 js/apps.js:65 +#: js/apps.js:28 js/apps.js:67 msgid "Disable" msgstr "Απενεργοποίηση" -#: js/apps.js:28 js/apps.js:54 +#: js/apps.js:28 js/apps.js:55 msgid "Enable" msgstr "Ενεργοποίηση" @@ -103,93 +106,6 @@ msgstr "Αποθήκευση..." msgid "__language_name__" msgstr "__όνομα_γλώσσας__" -#: templates/admin.php:14 -msgid "Security Warning" -msgstr "Προειδοποίηση Ασφαλείας" - -#: templates/admin.php:17 -msgid "" -"Your data directory and your files are probably accessible from the " -"internet. The .htaccess file that ownCloud provides is not working. We " -"strongly suggest that you configure your webserver in a way that the data " -"directory is no longer accessible or you move the data directory outside the" -" webserver document root." -msgstr "Ο κατάλογος δεδομένων και τα αρχεία σας είναι πιθανότατα προσβάσιμα από το διαδίκτυο. Το αρχείο .htaccess που παρέχει το owncloud, δεν λειτουργεί. Σας συνιστούμε να ρυθμίσετε τον εξυπηρετητή σας έτσι ώστε ο κατάλογος δεδομένων να μην είναι πλεον προσβάσιμος ή μετακινήστε τον κατάλογο δεδομένων εκτός του καταλόγου document του εξυπηρετητή σας." - -#: templates/admin.php:31 -msgid "Cron" -msgstr "Cron" - -#: templates/admin.php:37 -msgid "Execute one task with each page loaded" -msgstr "Εκτέλεση μιας εργασίας με κάθε σελίδα που φορτώνεται" - -#: templates/admin.php:43 -msgid "" -"cron.php is registered at a webcron service. Call the cron.php page in the " -"owncloud root once a minute over http." -msgstr "Το cron.php είναι καταχωρημένο στην υπηρεσία webcron. Να καλείται μια φορά το λεπτό η σελίδα cron.php από τον root του owncloud μέσω http" - -#: templates/admin.php:49 -msgid "" -"Use systems cron service. Call the cron.php file in the owncloud folder via " -"a system cronjob once a minute." -msgstr "Χρήση υπηρεσίας συστήματος cron. Να καλείται μια φορά το λεπτό, το αρχείο cron.php από τον φάκελο του owncloud μέσω του cronjob του συστήματος." - -#: templates/admin.php:56 -msgid "Sharing" -msgstr "Διαμοιρασμός" - -#: templates/admin.php:61 -msgid "Enable Share API" -msgstr "Ενεργοποίηση API Διαμοιρασμού" - -#: templates/admin.php:62 -msgid "Allow apps to use the Share API" -msgstr "Να επιτρέπεται στις εφαρμογές να χρησιμοποιούν το API Διαμοιρασμού" - -#: templates/admin.php:67 -msgid "Allow links" -msgstr "Να επιτρέπονται σύνδεσμοι" - -#: templates/admin.php:68 -msgid "Allow users to share items to the public with links" -msgstr "Να επιτρέπεται στους χρήστες να διαμοιράζονται δημόσια με συνδέσμους" - -#: templates/admin.php:73 -msgid "Allow resharing" -msgstr "Να επιτρέπεται ο επαναδιαμοιρασμός" - -#: templates/admin.php:74 -msgid "Allow users to share items shared with them again" -msgstr "Να επιτρέπεται στους χρήστες να διαμοιράζουν ότι τους έχει διαμοιραστεί" - -#: templates/admin.php:79 -msgid "Allow users to share with anyone" -msgstr "Να επιτρέπεται ο διαμοιρασμός με οποιονδήποτε" - -#: templates/admin.php:81 -msgid "Allow users to only share with users in their groups" -msgstr "Να επιτρέπεται ο διαμοιρασμός μόνο με χρήστες της ίδιας ομάδας" - -#: templates/admin.php:88 -msgid "Log" -msgstr "Αρχείο καταγραφής" - -#: templates/admin.php:116 -msgid "More" -msgstr "Περισσότερα" - -#: templates/admin.php:124 -msgid "" -"Developed by the ownCloud community, the source code is " -"licensed under the AGPL." -msgstr "Αναπτύχθηκε από την κοινότητα ownCloud, ο πηγαίος κώδικας είναι υπό άδεια χρήσης AGPL." - #: templates/apps.php:10 msgid "Add your App" msgstr "Πρόσθεστε τη Δικιά σας Εφαρμογή" @@ -222,22 +138,22 @@ msgstr "Διαχείριση Μεγάλων Αρχείων" msgid "Ask a question" msgstr "Ρωτήστε μια ερώτηση" -#: templates/help.php:23 +#: templates/help.php:22 msgid "Problems connecting to help database." msgstr "Προβλήματα κατά τη σύνδεση με τη βάση δεδομένων βοήθειας." -#: templates/help.php:24 +#: templates/help.php:23 msgid "Go there manually." msgstr "Χειροκίνητη μετάβαση." -#: templates/help.php:32 +#: templates/help.php:31 msgid "Answer" msgstr "Απάντηση" #: templates/personal.php:8 #, php-format -msgid "You have used %s of the available %s" -msgstr "Έχετε χρησιμοποιήσει %s από τα διαθέσιμα %s" +msgid "You have used %s of the available %s" +msgstr "Χρησιμοποιήσατε %s από διαθέσιμα %s" #: templates/personal.php:12 msgid "Desktop and Mobile Syncing Clients" @@ -295,6 +211,16 @@ msgstr "Βοηθήστε στη μετάφραση" msgid "use this address to connect to your ownCloud in your file manager" msgstr "χρησιμοποιήστε αυτήν τη διεύθυνση για να συνδεθείτε στο ownCloud σας από το διαχειριστή αρχείων σας" +#: templates/personal.php:61 +msgid "" +"Developed by the ownCloud community, the source code is " +"licensed under the AGPL." +msgstr "Αναπτύχθηκε από την κοινότητα ownCloud, ο πηγαίος κώδικας είναι υπό άδεια χρήσης AGPL." + #: templates/users.php:21 templates/users.php:76 msgid "Name" msgstr "Όνομα" diff --git a/l10n/el/tasks.po b/l10n/el/tasks.po deleted file mode 100644 index 3e9b76003275dfec620766f935180620956f4250..0000000000000000000000000000000000000000 --- a/l10n/el/tasks.po +++ /dev/null @@ -1,107 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Nisok Kosin , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-24 02:02+0200\n" -"PO-Revision-Date: 2012-08-23 08:53+0000\n" -"Last-Translator: Nisok Kosin \n" -"Language-Team: Greek (http://www.transifex.com/projects/p/owncloud/language/el/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: el\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: ajax/update_property.php:51 lib/app.php:89 lib/app.php:101 -msgid "Invalid date/time" -msgstr "Μην έγκυρη ημερομηνία / ώρα" - -#: appinfo/app.php:11 -msgid "Tasks" -msgstr "Εργασίες" - -#: js/tasks.js:415 -msgid "No category" -msgstr "Χωρίς κατηγορία" - -#: lib/app.php:33 -msgid "Unspecified" -msgstr "Μη ορισμένο" - -#: lib/app.php:34 -msgid "1=highest" -msgstr "1=υψηλότερο" - -#: lib/app.php:38 -msgid "5=medium" -msgstr "5=μέτριο" - -#: lib/app.php:42 -msgid "9=lowest" -msgstr "9=χαμηλότερο" - -#: lib/app.php:81 -msgid "Empty Summary" -msgstr "Άδεια περίληψη" - -#: lib/app.php:93 -msgid "Invalid percent complete" -msgstr "Μη έγκυρο ποσοστό ολοκλήρωσης" - -#: lib/app.php:107 -msgid "Invalid priority" -msgstr "Μη έγκυρη προτεραιότητα " - -#: templates/tasks.php:3 -msgid "Add Task" -msgstr "Προσθήκη εργασίας" - -#: templates/tasks.php:4 -msgid "Order Due" -msgstr "" - -#: templates/tasks.php:5 -msgid "Order List" -msgstr "" - -#: templates/tasks.php:6 -msgid "Order Complete" -msgstr "" - -#: templates/tasks.php:7 -msgid "Order Location" -msgstr "" - -#: templates/tasks.php:8 -msgid "Order Priority" -msgstr "" - -#: templates/tasks.php:9 -msgid "Order Label" -msgstr "" - -#: templates/tasks.php:16 -msgid "Loading tasks..." -msgstr "Φόρτωση εργασιών..." - -#: templates/tasks.php:20 -msgid "Important" -msgstr "Σημαντικό " - -#: templates/tasks.php:23 -msgid "More" -msgstr "Περισσότερα" - -#: templates/tasks.php:26 -msgid "Less" -msgstr "Λιγότερα" - -#: templates/tasks.php:29 -msgid "Delete" -msgstr "Διαγραφή" diff --git a/l10n/el/user_migrate.po b/l10n/el/user_migrate.po deleted file mode 100644 index 51b56b84a266821aeb276673048945f12f718eb8..0000000000000000000000000000000000000000 --- a/l10n/el/user_migrate.po +++ /dev/null @@ -1,52 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Efstathios Iosifidis , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-24 02:02+0200\n" -"PO-Revision-Date: 2012-08-23 13:37+0000\n" -"Last-Translator: Efstathios Iosifidis \n" -"Language-Team: Greek (http://www.transifex.com/projects/p/owncloud/language/el/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: el\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: js/export.js:14 js/export.js:20 -msgid "Export" -msgstr "Εξαγωγή" - -#: js/export.js:19 -msgid "Something went wrong while the export file was being generated" -msgstr "" - -#: js/export.js:19 -msgid "An error has occurred" -msgstr "Παρουσιάστηκε σφάλμα" - -#: templates/settings.php:2 -msgid "Export your user account" -msgstr "Εξαγωγή του λογαριασμού χρήστη σας" - -#: templates/settings.php:3 -msgid "" -"This will create a compressed file that contains your ownCloud account." -msgstr "Αυτό θα δημιουργήσει ένα συμπιεσμένο αρχείο που θα περιέχει τον λογαριασμό σας ownCloud." - -#: templates/settings.php:13 -msgid "Import user account" -msgstr "Εισαγωγή λογαριασμού χρήστη" - -#: templates/settings.php:15 -msgid "ownCloud User Zip" -msgstr "" - -#: templates/settings.php:17 -msgid "Import" -msgstr "Εισαγωγή" diff --git a/l10n/el/user_openid.po b/l10n/el/user_openid.po deleted file mode 100644 index 8d833ab11d24143b0acd9053de30d9de9ed0b882..0000000000000000000000000000000000000000 --- a/l10n/el/user_openid.po +++ /dev/null @@ -1,55 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Nisok Kosin , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-24 02:02+0200\n" -"PO-Revision-Date: 2012-08-23 08:57+0000\n" -"Last-Translator: Nisok Kosin \n" -"Language-Team: Greek (http://www.transifex.com/projects/p/owncloud/language/el/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: el\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: templates/nomode.php:12 -msgid "This is an OpenID server endpoint. For more information, see " -msgstr "" - -#: templates/nomode.php:14 -msgid "Identity: " -msgstr "Ταυτότητα: " - -#: templates/nomode.php:15 -msgid "Realm: " -msgstr "" - -#: templates/nomode.php:16 -msgid "User: " -msgstr "Χρήστης: " - -#: templates/nomode.php:17 -msgid "Login" -msgstr "Σύνδεση" - -#: templates/nomode.php:22 -msgid "Error: No user Selected" -msgstr "Σφάλμα: Δεν έχει επιλεχθεί κάποιος χρήστης" - -#: templates/settings.php:4 -msgid "you can authenticate to other sites with this address" -msgstr "" - -#: templates/settings.php:5 -msgid "Authorized OpenID provider" -msgstr "Εξουσιοδοτημένος παροχέας OpenID" - -#: templates/settings.php:6 -msgid "Your address at Wordpress, Identi.ca, …" -msgstr "Η διευθυνσή σας σε Wordpress, Identi.ca, …" diff --git a/l10n/el/files_odfviewer.po b/l10n/el/user_webdavauth.po similarity index 60% rename from l10n/el/files_odfviewer.po rename to l10n/el/user_webdavauth.po index 5e6d54efe4d1cc15c6ffc8b2da7ec7d5f3d905d8..6a11e198943d9129446de05112aacf1c7ad8dcbd 100644 --- a/l10n/el/files_odfviewer.po +++ b/l10n/el/user_webdavauth.po @@ -3,20 +3,21 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# Dimitris M. , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 02:18+0200\n" -"PO-Revision-Date: 2012-08-26 00:19+0000\n" -"Last-Translator: FULL NAME \n" +"POT-Creation-Date: 2012-11-10 00:01+0100\n" +"PO-Revision-Date: 2012-11-09 20:12+0000\n" +"Last-Translator: Dimitris M. \n" "Language-Team: Greek (http://www.transifex.com/projects/p/owncloud/language/el/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: el\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: js/viewer.js:9 -msgid "Close" -msgstr "" +#: templates/settings.php:4 +msgid "WebDAV URL: http://" +msgstr "WebDAV URL: http://" diff --git a/l10n/eo/admin_dependencies_chk.po b/l10n/eo/admin_dependencies_chk.po deleted file mode 100644 index 5fb88e68aed8a552d5bd949e3bf9e5b82a367c36..0000000000000000000000000000000000000000 --- a/l10n/eo/admin_dependencies_chk.po +++ /dev/null @@ -1,74 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Mariano , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-16 02:04+0200\n" -"PO-Revision-Date: 2012-08-15 20:59+0000\n" -"Last-Translator: Mariano \n" -"Language-Team: Esperanto (http://www.transifex.com/projects/p/owncloud/language/eo/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: eo\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: settings.php:33 -msgid "" -"The php-json module is needed by the many applications for inter " -"communications" -msgstr "La modulo php-json necesas por komuniko inter la multaj aplikaĵoj" - -#: settings.php:39 -msgid "" -"The php-curl modude is needed to fetch the page title when adding a " -"bookmarks" -msgstr "La modulo php-curl necesas por venigi la paĝotitolon dum aldono de legosigno" - -#: settings.php:45 -msgid "The php-gd module is needed to create thumbnails of your images" -msgstr "La modulo php-gd necesas por krei bildetojn." - -#: settings.php:51 -msgid "The php-ldap module is needed connect to your ldap server" -msgstr "La modulo php-ldap necesas por konekti al via LDAP-servilo." - -#: settings.php:57 -msgid "The php-zip module is needed download multiple files at once" -msgstr "La modulo php-zip necesas por elŝuti plurajn dosierojn per unu fojo." - -#: settings.php:63 -msgid "" -"The php-mb_multibyte module is needed to manage correctly the encoding." -msgstr "La modulo php-mb_multibyte necesas por ĝuste administri la kodprezenton." - -#: settings.php:69 -msgid "The php-ctype module is needed validate data." -msgstr "La modulo php-ctype necesas por validkontroli datumojn." - -#: settings.php:75 -msgid "The php-xml module is needed to share files with webdav." -msgstr "La modulo php-xml necesas por kunhavigi dosierojn per WebDAV." - -#: settings.php:81 -msgid "" -"The allow_url_fopen directive of your php.ini should be set to 1 to retrieve" -" knowledge base from OCS servers" -msgstr "La ordono allow_url_fopen de via php.ini devus valori 1 por ricevi scibazon el OCS-serviloj" - -#: settings.php:87 -msgid "The php-pdo module is needed to store owncloud data into a database." -msgstr "La modulo php-pdo necesas por konservi datumojn de ownCloud en datumbazo." - -#: templates/settings.php:2 -msgid "Dependencies status" -msgstr "Stato de dependoj" - -#: templates/settings.php:7 -msgid "Used by :" -msgstr "Uzata de:" diff --git a/l10n/eo/admin_migrate.po b/l10n/eo/admin_migrate.po deleted file mode 100644 index 61384915c2afa1a37cd333f1c447644df127639e..0000000000000000000000000000000000000000 --- a/l10n/eo/admin_migrate.po +++ /dev/null @@ -1,33 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Mariano , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-16 02:04+0200\n" -"PO-Revision-Date: 2012-08-15 20:32+0000\n" -"Last-Translator: Mariano \n" -"Language-Team: Esperanto (http://www.transifex.com/projects/p/owncloud/language/eo/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: eo\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: templates/settings.php:3 -msgid "Export this ownCloud instance" -msgstr "Malenporti ĉi tiun aperon de ownCloud" - -#: templates/settings.php:4 -msgid "" -"This will create a compressed file that contains the data of this owncloud instance.\n" -" Please choose the export type:" -msgstr "Ĉi tio kreos densigitan dosieron, kiu enhavos la datumojn de ĉi tiu apero de ownCloud.\nBonvolu elekti la tipon de malenportado:" - -#: templates/settings.php:12 -msgid "Export" -msgstr "Malenporti" diff --git a/l10n/eo/bookmarks.po b/l10n/eo/bookmarks.po deleted file mode 100644 index 926278cd289c181860a8f3185926c1e889e0945b..0000000000000000000000000000000000000000 --- a/l10n/eo/bookmarks.po +++ /dev/null @@ -1,61 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Mariano , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-04 02:02+0200\n" -"PO-Revision-Date: 2012-08-03 22:44+0000\n" -"Last-Translator: Mariano \n" -"Language-Team: Esperanto (http://www.transifex.com/projects/p/owncloud/language/eo/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: eo\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: appinfo/app.php:14 -msgid "Bookmarks" -msgstr "Legosignoj" - -#: bookmarksHelper.php:99 -msgid "unnamed" -msgstr "nenomita" - -#: templates/bookmarklet.php:5 -msgid "" -"Drag this to your browser bookmarks and click it, when you want to bookmark " -"a webpage quickly:" -msgstr "Ŝovu tion ĉi al la legosignoj de via TTT-legilo kaj klaku ĝin, se vi volas rapide legosignigi TTT-paĝon:" - -#: templates/bookmarklet.php:7 -msgid "Read later" -msgstr "Legi poste" - -#: templates/list.php:13 -msgid "Address" -msgstr "Adreso" - -#: templates/list.php:14 -msgid "Title" -msgstr "Titolo" - -#: templates/list.php:15 -msgid "Tags" -msgstr "Etikedoj" - -#: templates/list.php:16 -msgid "Save bookmark" -msgstr "Konservi legosignon" - -#: templates/list.php:22 -msgid "You have no bookmarks" -msgstr "Vi havas neniun legosignon" - -#: templates/settings.php:11 -msgid "Bookmarklet
" -msgstr "" diff --git a/l10n/eo/calendar.po b/l10n/eo/calendar.po deleted file mode 100644 index 4fc02e02b0c7e98017a36532f7950449309c425b..0000000000000000000000000000000000000000 --- a/l10n/eo/calendar.po +++ /dev/null @@ -1,815 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Mariano , 2012. -# , 2011, 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-19 02:02+0200\n" -"PO-Revision-Date: 2012-08-18 14:17+0000\n" -"Last-Translator: Mariano \n" -"Language-Team: Esperanto (http://www.transifex.com/projects/p/owncloud/language/eo/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: eo\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: ajax/cache/status.php:19 -msgid "Not all calendars are completely cached" -msgstr "Ne ĉiuj kalendaroj estas tute kaŝmemorigitaj" - -#: ajax/cache/status.php:21 -msgid "Everything seems to be completely cached" -msgstr "Ĉio ŝajnas tute kaŝmemorigita" - -#: ajax/categories/rescan.php:29 -msgid "No calendars found." -msgstr "Neniu kalendaro troviĝis." - -#: ajax/categories/rescan.php:37 -msgid "No events found." -msgstr "Neniu okazaĵo troviĝis." - -#: ajax/event/edit.form.php:20 -msgid "Wrong calendar" -msgstr "Malĝusta kalendaro" - -#: ajax/import/dropimport.php:29 ajax/import/import.php:64 -msgid "" -"The file contained either no events or all events are already saved in your " -"calendar." -msgstr "Aŭ la dosiero enhavas neniun okazaĵon aŭ ĉiuj okazaĵoj jam estas konservitaj en via kalendaro." - -#: ajax/import/dropimport.php:31 ajax/import/import.php:67 -msgid "events has been saved in the new calendar" -msgstr "okazaĵoj estas konservitaj en la nova kalendaro" - -#: ajax/import/import.php:56 -msgid "Import failed" -msgstr "Enporto malsukcesis" - -#: ajax/import/import.php:69 -msgid "events has been saved in your calendar" -msgstr "okazaĵoj estas konservitaj en via kalendaro" - -#: ajax/settings/guesstimezone.php:25 -msgid "New Timezone:" -msgstr "Nova horozono:" - -#: ajax/settings/settimezone.php:23 -msgid "Timezone changed" -msgstr "La horozono estas ŝanĝita" - -#: ajax/settings/settimezone.php:25 -msgid "Invalid request" -msgstr "Nevalida peto" - -#: appinfo/app.php:35 templates/calendar.php:15 -#: templates/part.eventform.php:33 templates/part.showevent.php:33 -msgid "Calendar" -msgstr "Kalendaro" - -#: js/calendar.js:832 -msgid "ddd" -msgstr "ddd" - -#: js/calendar.js:833 -msgid "ddd M/d" -msgstr "ddd d/M" - -#: js/calendar.js:834 -msgid "dddd M/d" -msgstr "dddd d/M" - -#: js/calendar.js:837 -msgid "MMMM yyyy" -msgstr "MMMM yyyy" - -#: js/calendar.js:839 -msgid "MMM d[ yyyy]{ '—'[ MMM] d yyyy}" -msgstr "d MMM[ yyyy]{ '—'d[ MMM] yyyy}" - -#: js/calendar.js:841 -msgid "dddd, MMM d, yyyy" -msgstr "dddd, d-a de MMM yyyy" - -#: lib/app.php:121 -msgid "Birthday" -msgstr "Naskiĝotago" - -#: lib/app.php:122 -msgid "Business" -msgstr "Negoco" - -#: lib/app.php:123 -msgid "Call" -msgstr "Voko" - -#: lib/app.php:124 -msgid "Clients" -msgstr "Klientoj" - -#: lib/app.php:125 -msgid "Deliverer" -msgstr "Livero" - -#: lib/app.php:126 -msgid "Holidays" -msgstr "Ferioj" - -#: lib/app.php:127 -msgid "Ideas" -msgstr "Ideoj" - -#: lib/app.php:128 -msgid "Journey" -msgstr "Vojaĝo" - -#: lib/app.php:129 -msgid "Jubilee" -msgstr "Jubileo" - -#: lib/app.php:130 -msgid "Meeting" -msgstr "Rendevuo" - -#: lib/app.php:131 -msgid "Other" -msgstr "Alia" - -#: lib/app.php:132 -msgid "Personal" -msgstr "Persona" - -#: lib/app.php:133 -msgid "Projects" -msgstr "Projektoj" - -#: lib/app.php:134 -msgid "Questions" -msgstr "Demandoj" - -#: lib/app.php:135 -msgid "Work" -msgstr "Laboro" - -#: lib/app.php:351 lib/app.php:361 -msgid "by" -msgstr "de" - -#: lib/app.php:359 lib/app.php:399 -msgid "unnamed" -msgstr "nenomita" - -#: lib/import.php:184 templates/calendar.php:12 -#: templates/part.choosecalendar.php:22 -msgid "New Calendar" -msgstr "Nova kalendaro" - -#: lib/object.php:372 -msgid "Does not repeat" -msgstr "Ĉi tio ne ripetiĝas" - -#: lib/object.php:373 -msgid "Daily" -msgstr "Tage" - -#: lib/object.php:374 -msgid "Weekly" -msgstr "Semajne" - -#: lib/object.php:375 -msgid "Every Weekday" -msgstr "Labortage" - -#: lib/object.php:376 -msgid "Bi-Weekly" -msgstr "Semajnduope" - -#: lib/object.php:377 -msgid "Monthly" -msgstr "Monate" - -#: lib/object.php:378 -msgid "Yearly" -msgstr "Jare" - -#: lib/object.php:388 -msgid "never" -msgstr "neniam" - -#: lib/object.php:389 -msgid "by occurrences" -msgstr "laŭ aperoj" - -#: lib/object.php:390 -msgid "by date" -msgstr "laŭ dato" - -#: lib/object.php:400 -msgid "by monthday" -msgstr "laŭ monattago" - -#: lib/object.php:401 -msgid "by weekday" -msgstr "laŭ semajntago" - -#: lib/object.php:411 templates/calendar.php:5 templates/settings.php:69 -msgid "Monday" -msgstr "lundo" - -#: lib/object.php:412 templates/calendar.php:5 -msgid "Tuesday" -msgstr "mardo" - -#: lib/object.php:413 templates/calendar.php:5 -msgid "Wednesday" -msgstr "merkredo" - -#: lib/object.php:414 templates/calendar.php:5 -msgid "Thursday" -msgstr "ĵaŭdo" - -#: lib/object.php:415 templates/calendar.php:5 -msgid "Friday" -msgstr "vendredo" - -#: lib/object.php:416 templates/calendar.php:5 -msgid "Saturday" -msgstr "sabato" - -#: lib/object.php:417 templates/calendar.php:5 templates/settings.php:70 -msgid "Sunday" -msgstr "dimanĉo" - -#: lib/object.php:427 -msgid "events week of month" -msgstr "la monatsemajno de la okazaĵo" - -#: lib/object.php:428 -msgid "first" -msgstr "unua" - -#: lib/object.php:429 -msgid "second" -msgstr "dua" - -#: lib/object.php:430 -msgid "third" -msgstr "tria" - -#: lib/object.php:431 -msgid "fourth" -msgstr "kvara" - -#: lib/object.php:432 -msgid "fifth" -msgstr "kvina" - -#: lib/object.php:433 -msgid "last" -msgstr "lasta" - -#: lib/object.php:467 templates/calendar.php:7 -msgid "January" -msgstr "Januaro" - -#: lib/object.php:468 templates/calendar.php:7 -msgid "February" -msgstr "Februaro" - -#: lib/object.php:469 templates/calendar.php:7 -msgid "March" -msgstr "Marto" - -#: lib/object.php:470 templates/calendar.php:7 -msgid "April" -msgstr "Aprilo" - -#: lib/object.php:471 templates/calendar.php:7 -msgid "May" -msgstr "Majo" - -#: lib/object.php:472 templates/calendar.php:7 -msgid "June" -msgstr "Junio" - -#: lib/object.php:473 templates/calendar.php:7 -msgid "July" -msgstr "Julio" - -#: lib/object.php:474 templates/calendar.php:7 -msgid "August" -msgstr "Aŭgusto" - -#: lib/object.php:475 templates/calendar.php:7 -msgid "September" -msgstr "Septembro" - -#: lib/object.php:476 templates/calendar.php:7 -msgid "October" -msgstr "Oktobro" - -#: lib/object.php:477 templates/calendar.php:7 -msgid "November" -msgstr "Novembro" - -#: lib/object.php:478 templates/calendar.php:7 -msgid "December" -msgstr "Decembro" - -#: lib/object.php:488 -msgid "by events date" -msgstr "laŭ okazaĵdato" - -#: lib/object.php:489 -msgid "by yearday(s)" -msgstr "laŭ jartago(j)" - -#: lib/object.php:490 -msgid "by weeknumber(s)" -msgstr "laŭ semajnnumero(j)" - -#: lib/object.php:491 -msgid "by day and month" -msgstr "laŭ tago kaj monato" - -#: lib/search.php:35 lib/search.php:37 lib/search.php:40 -msgid "Date" -msgstr "Dato" - -#: lib/search.php:43 -msgid "Cal." -msgstr "Kal." - -#: templates/calendar.php:6 -msgid "Sun." -msgstr "dim." - -#: templates/calendar.php:6 -msgid "Mon." -msgstr "lun." - -#: templates/calendar.php:6 -msgid "Tue." -msgstr "mar." - -#: templates/calendar.php:6 -msgid "Wed." -msgstr "mer." - -#: templates/calendar.php:6 -msgid "Thu." -msgstr "ĵaŭ." - -#: templates/calendar.php:6 -msgid "Fri." -msgstr "ven." - -#: templates/calendar.php:6 -msgid "Sat." -msgstr "sab." - -#: templates/calendar.php:8 -msgid "Jan." -msgstr "Jan." - -#: templates/calendar.php:8 -msgid "Feb." -msgstr "Feb." - -#: templates/calendar.php:8 -msgid "Mar." -msgstr "Mar." - -#: templates/calendar.php:8 -msgid "Apr." -msgstr "Apr." - -#: templates/calendar.php:8 -msgid "May." -msgstr "Maj." - -#: templates/calendar.php:8 -msgid "Jun." -msgstr "Jun." - -#: templates/calendar.php:8 -msgid "Jul." -msgstr "Jul." - -#: templates/calendar.php:8 -msgid "Aug." -msgstr "Aŭg." - -#: templates/calendar.php:8 -msgid "Sep." -msgstr "Sep." - -#: templates/calendar.php:8 -msgid "Oct." -msgstr "Okt." - -#: templates/calendar.php:8 -msgid "Nov." -msgstr "Nov." - -#: templates/calendar.php:8 -msgid "Dec." -msgstr "Dec." - -#: templates/calendar.php:11 -msgid "All day" -msgstr "La tuta tago" - -#: templates/calendar.php:13 -msgid "Missing fields" -msgstr "Mankas iuj kampoj" - -#: templates/calendar.php:14 templates/part.eventform.php:19 -#: templates/part.showevent.php:11 -msgid "Title" -msgstr "Titolo" - -#: templates/calendar.php:16 -msgid "From Date" -msgstr "ekde la dato" - -#: templates/calendar.php:17 -msgid "From Time" -msgstr "ekde la horo" - -#: templates/calendar.php:18 -msgid "To Date" -msgstr "ĝis la dato" - -#: templates/calendar.php:19 -msgid "To Time" -msgstr "ĝis la horo" - -#: templates/calendar.php:20 -msgid "The event ends before it starts" -msgstr "La okazaĵo finas antaŭ komenci" - -#: templates/calendar.php:21 -msgid "There was a database fail" -msgstr "Datumbaza malsukceso okazis" - -#: templates/calendar.php:39 -msgid "Week" -msgstr "Semajno" - -#: templates/calendar.php:40 -msgid "Month" -msgstr "Monato" - -#: templates/calendar.php:41 -msgid "List" -msgstr "Listo" - -#: templates/calendar.php:45 -msgid "Today" -msgstr "Hodiaŭ" - -#: templates/calendar.php:46 templates/calendar.php:47 -msgid "Settings" -msgstr "Agordo" - -#: templates/part.choosecalendar.php:2 -msgid "Your calendars" -msgstr "Viaj kalendaroj" - -#: templates/part.choosecalendar.php:27 -#: templates/part.choosecalendar.rowfields.php:11 -msgid "CalDav Link" -msgstr "CalDav-a ligilo" - -#: templates/part.choosecalendar.php:31 -msgid "Shared calendars" -msgstr "Kunhavigitaj kalendaroj" - -#: templates/part.choosecalendar.php:48 -msgid "No shared calendars" -msgstr "Neniu kunhavigita kalendaro" - -#: templates/part.choosecalendar.rowfields.php:8 -msgid "Share Calendar" -msgstr "Kunhavigi kalendaron" - -#: templates/part.choosecalendar.rowfields.php:14 -msgid "Download" -msgstr "Elŝuti" - -#: templates/part.choosecalendar.rowfields.php:17 -msgid "Edit" -msgstr "Redakti" - -#: templates/part.choosecalendar.rowfields.php:20 -#: templates/part.editevent.php:9 -msgid "Delete" -msgstr "Forigi" - -#: templates/part.choosecalendar.rowfields.shared.php:4 -msgid "shared with you by" -msgstr "kunhavigita kun vi fare de" - -#: templates/part.editcalendar.php:9 -msgid "New calendar" -msgstr "Nova kalendaro" - -#: templates/part.editcalendar.php:9 -msgid "Edit calendar" -msgstr "Redakti la kalendaron" - -#: templates/part.editcalendar.php:12 -msgid "Displayname" -msgstr "Montrota nomo" - -#: templates/part.editcalendar.php:23 -msgid "Active" -msgstr "Aktiva" - -#: templates/part.editcalendar.php:29 -msgid "Calendar color" -msgstr "Kalendarokoloro" - -#: templates/part.editcalendar.php:42 -msgid "Save" -msgstr "Konservi" - -#: templates/part.editcalendar.php:42 templates/part.editevent.php:8 -#: templates/part.newevent.php:6 -msgid "Submit" -msgstr "Sendi" - -#: templates/part.editcalendar.php:43 -msgid "Cancel" -msgstr "Nuligi" - -#: templates/part.editevent.php:1 -msgid "Edit an event" -msgstr "Redakti okazaĵon" - -#: templates/part.editevent.php:10 -msgid "Export" -msgstr "Elporti" - -#: templates/part.eventform.php:8 templates/part.showevent.php:3 -msgid "Eventinfo" -msgstr "Informo de okazaĵo" - -#: templates/part.eventform.php:9 templates/part.showevent.php:4 -msgid "Repeating" -msgstr "Ripetata" - -#: templates/part.eventform.php:10 templates/part.showevent.php:5 -msgid "Alarm" -msgstr "Alarmo" - -#: templates/part.eventform.php:11 templates/part.showevent.php:6 -msgid "Attendees" -msgstr "Ĉeestontoj" - -#: templates/part.eventform.php:13 -msgid "Share" -msgstr "Kunhavigi" - -#: templates/part.eventform.php:21 -msgid "Title of the Event" -msgstr "Okazaĵotitolo" - -#: templates/part.eventform.php:27 templates/part.showevent.php:19 -msgid "Category" -msgstr "Kategorio" - -#: templates/part.eventform.php:29 -msgid "Separate categories with commas" -msgstr "Disigi kategoriojn per komoj" - -#: templates/part.eventform.php:30 -msgid "Edit categories" -msgstr "Redakti kategoriojn" - -#: templates/part.eventform.php:56 templates/part.showevent.php:52 -msgid "All Day Event" -msgstr "La tuta tago" - -#: templates/part.eventform.php:60 templates/part.showevent.php:56 -msgid "From" -msgstr "Ekde" - -#: templates/part.eventform.php:68 templates/part.showevent.php:64 -msgid "To" -msgstr "Ĝis" - -#: templates/part.eventform.php:76 templates/part.showevent.php:72 -msgid "Advanced options" -msgstr "Altnivela agordo" - -#: templates/part.eventform.php:81 templates/part.showevent.php:77 -msgid "Location" -msgstr "Loko" - -#: templates/part.eventform.php:83 -msgid "Location of the Event" -msgstr "Loko de okazaĵo" - -#: templates/part.eventform.php:89 templates/part.showevent.php:85 -msgid "Description" -msgstr "Priskribo" - -#: templates/part.eventform.php:91 -msgid "Description of the Event" -msgstr "Okazaĵopriskribo" - -#: templates/part.eventform.php:100 templates/part.showevent.php:95 -msgid "Repeat" -msgstr "Ripeti" - -#: templates/part.eventform.php:107 templates/part.showevent.php:102 -msgid "Advanced" -msgstr "Altnivelo" - -#: templates/part.eventform.php:151 templates/part.showevent.php:146 -msgid "Select weekdays" -msgstr "Elekti semajntagojn" - -#: templates/part.eventform.php:164 templates/part.eventform.php:177 -#: templates/part.showevent.php:159 templates/part.showevent.php:172 -msgid "Select days" -msgstr "Elekti tagojn" - -#: templates/part.eventform.php:169 templates/part.showevent.php:164 -msgid "and the events day of year." -msgstr "kaj la jartago de la okazaĵo." - -#: templates/part.eventform.php:182 templates/part.showevent.php:177 -msgid "and the events day of month." -msgstr "kaj la monattago de la okazaĵo." - -#: templates/part.eventform.php:190 templates/part.showevent.php:185 -msgid "Select months" -msgstr "Elekti monatojn" - -#: templates/part.eventform.php:203 templates/part.showevent.php:198 -msgid "Select weeks" -msgstr "Elekti semajnojn" - -#: templates/part.eventform.php:208 templates/part.showevent.php:203 -msgid "and the events week of year." -msgstr "kaj la jarsemajno de la okazaĵo." - -#: templates/part.eventform.php:214 templates/part.showevent.php:209 -msgid "Interval" -msgstr "Intervalo" - -#: templates/part.eventform.php:220 templates/part.showevent.php:215 -msgid "End" -msgstr "Fino" - -#: templates/part.eventform.php:233 templates/part.showevent.php:228 -msgid "occurrences" -msgstr "aperoj" - -#: templates/part.import.php:14 -msgid "create a new calendar" -msgstr "Krei novan kalendaron" - -#: templates/part.import.php:17 -msgid "Import a calendar file" -msgstr "Enporti kalendarodosieron" - -#: templates/part.import.php:24 -msgid "Please choose a calendar" -msgstr "Bonvolu elekti kalendaron" - -#: templates/part.import.php:36 -msgid "Name of new calendar" -msgstr "Nomo de la nova kalendaro" - -#: templates/part.import.php:44 -msgid "Take an available name!" -msgstr "Prenu haveblan nomon!" - -#: templates/part.import.php:45 -msgid "" -"A Calendar with this name already exists. If you continue anyhow, these " -"calendars will be merged." -msgstr "Kalendaro kun ĉi tiu nomo jam ekzastas. Se vi malgraŭe daŭros, ĉi tiuj kalendaroj kunfandiĝos." - -#: templates/part.import.php:47 -msgid "Import" -msgstr "Enporti" - -#: templates/part.import.php:56 -msgid "Close Dialog" -msgstr "Fermi la dialogon" - -#: templates/part.newevent.php:1 -msgid "Create a new event" -msgstr "Krei okazaĵon" - -#: templates/part.showevent.php:1 -msgid "View an event" -msgstr "Vidi okazaĵon" - -#: templates/part.showevent.php:23 -msgid "No categories selected" -msgstr "Neniu kategorio elektita" - -#: templates/part.showevent.php:37 -msgid "of" -msgstr "de" - -#: templates/part.showevent.php:59 templates/part.showevent.php:67 -msgid "at" -msgstr "ĉe" - -#: templates/settings.php:10 -msgid "General" -msgstr "Ĝenerala" - -#: templates/settings.php:15 -msgid "Timezone" -msgstr "Horozono" - -#: templates/settings.php:47 -msgid "Update timezone automatically" -msgstr "Aŭtomate ĝisdatigi la horozonon" - -#: templates/settings.php:52 -msgid "Time format" -msgstr "Horoformo" - -#: templates/settings.php:57 -msgid "24h" -msgstr "24h" - -#: templates/settings.php:58 -msgid "12h" -msgstr "12h" - -#: templates/settings.php:64 -msgid "Start week on" -msgstr "Komenci semajnon je" - -#: templates/settings.php:76 -msgid "Cache" -msgstr "Kaŝmemoro" - -#: templates/settings.php:80 -msgid "Clear cache for repeating events" -msgstr "Forviŝi kaŝmemoron por ripeto de okazaĵoj" - -#: templates/settings.php:85 -msgid "URLs" -msgstr "URL-oj" - -#: templates/settings.php:87 -msgid "Calendar CalDAV syncing addresses" -msgstr "sinkronigaj adresoj por CalDAV-kalendaroj" - -#: templates/settings.php:87 -msgid "more info" -msgstr "pli da informo" - -#: templates/settings.php:89 -msgid "Primary address (Kontact et al)" -msgstr "Ĉefa adreso (Kontact kaj aliaj)" - -#: templates/settings.php:91 -msgid "iOS/OS X" -msgstr "iOS/OS X" - -#: templates/settings.php:93 -msgid "Read only iCalendar link(s)" -msgstr "Nurlegebla(j) iCalendar-ligilo(j)" - -#: templates/share.dropdown.php:20 -msgid "Users" -msgstr "Uzantoj" - -#: templates/share.dropdown.php:21 -msgid "select users" -msgstr "elekti uzantojn" - -#: templates/share.dropdown.php:36 templates/share.dropdown.php:62 -msgid "Editable" -msgstr "Redaktebla" - -#: templates/share.dropdown.php:48 -msgid "Groups" -msgstr "Grupoj" - -#: templates/share.dropdown.php:49 -msgid "select groups" -msgstr "elekti grupojn" - -#: templates/share.dropdown.php:75 -msgid "make public" -msgstr "publikigi" diff --git a/l10n/eo/contacts.po b/l10n/eo/contacts.po deleted file mode 100644 index 3d95d0c4484eee19122e0007d61387ca1f1188de..0000000000000000000000000000000000000000 --- a/l10n/eo/contacts.po +++ /dev/null @@ -1,954 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Mariano , 2012. -# , 2011, 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-24 02:02+0200\n" -"PO-Revision-Date: 2012-08-24 00:03+0000\n" -"Last-Translator: I Robot \n" -"Language-Team: Esperanto (http://www.transifex.com/projects/p/owncloud/language/eo/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: eo\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: ajax/addressbook/activate.php:24 ajax/addressbook/update.php:32 -msgid "Error (de)activating addressbook." -msgstr "Eraro dum (mal)aktivigo de adresaro." - -#: ajax/addressbook/delete.php:31 ajax/addressbook/update.php:20 -#: ajax/contact/addproperty.php:42 ajax/contact/delete.php:32 -#: ajax/contact/saveproperty.php:39 -msgid "id is not set." -msgstr "identigilo ne agordiĝis." - -#: ajax/addressbook/update.php:24 -msgid "Cannot update addressbook with an empty name." -msgstr "Ne eblas ĝisdatigi adresaron kun malplena nomo." - -#: ajax/addressbook/update.php:28 -msgid "Error updating addressbook." -msgstr "Eraro dum ĝisdatigo de adresaro." - -#: ajax/categories/categoriesfor.php:17 -msgid "No ID provided" -msgstr "Neniu identigilo proviziĝis." - -#: ajax/categories/categoriesfor.php:34 -msgid "Error setting checksum." -msgstr "Eraro dum agordado de kontrolsumo." - -#: ajax/categories/delete.php:19 -msgid "No categories selected for deletion." -msgstr "Neniu kategorio elektiĝis por forigi." - -#: ajax/categories/delete.php:26 -msgid "No address books found." -msgstr "Neniu adresaro troviĝis." - -#: ajax/categories/delete.php:34 -msgid "No contacts found." -msgstr "Neniu kontakto troviĝis." - -#: ajax/contact/add.php:47 -msgid "There was an error adding the contact." -msgstr "Eraro okazis dum aldono de kontakto." - -#: ajax/contact/addproperty.php:39 ajax/contact/saveproperty.php:36 -msgid "element name is not set." -msgstr "eronomo ne agordiĝis." - -#: ajax/contact/addproperty.php:46 -msgid "Could not parse contact: " -msgstr "Ne eblis analizi kontakton:" - -#: ajax/contact/addproperty.php:56 -msgid "Cannot add empty property." -msgstr "Ne eblas aldoni malplenan propraĵon." - -#: ajax/contact/addproperty.php:67 -msgid "At least one of the address fields has to be filled out." -msgstr "Almenaŭ unu el la adreskampoj necesas pleniĝi." - -#: ajax/contact/addproperty.php:76 -msgid "Trying to add duplicate property: " -msgstr "Provante aldoni duobligitan propraĵon:" - -#: ajax/contact/addproperty.php:115 ajax/contact/saveproperty.php:93 -msgid "Missing IM parameter." -msgstr "" - -#: ajax/contact/addproperty.php:119 ajax/contact/saveproperty.php:97 -msgid "Unknown IM: " -msgstr "" - -#: ajax/contact/deleteproperty.php:37 -msgid "Information about vCard is incorrect. Please reload the page." -msgstr "Informo pri vCard estas malĝusta. Bonvolu reŝargi la paĝon." - -#: ajax/contact/details.php:31 -msgid "Missing ID" -msgstr "Mankas identigilo" - -#: ajax/contact/details.php:36 -msgid "Error parsing VCard for ID: \"" -msgstr "Eraro dum analizo de VCard por identigilo:" - -#: ajax/contact/saveproperty.php:42 -msgid "checksum is not set." -msgstr "kontrolsumo ne agordiĝis." - -#: ajax/contact/saveproperty.php:62 -msgid "Information about vCard is incorrect. Please reload the page: " -msgstr "Informo pri vCard malĝustas. Bonvolu reŝargi la paĝon:" - -#: ajax/contact/saveproperty.php:69 -msgid "Something went FUBAR. " -msgstr "Io FUBAR-is." - -#: ajax/currentphoto.php:30 ajax/oc_photo.php:28 ajax/uploadphoto.php:36 -#: ajax/uploadphoto.php:68 -msgid "No contact ID was submitted." -msgstr "Neniu kontaktidentigilo sendiĝis." - -#: ajax/currentphoto.php:36 -msgid "Error reading contact photo." -msgstr "Eraro dum lego de kontakta foto." - -#: ajax/currentphoto.php:48 -msgid "Error saving temporary file." -msgstr "Eraro dum konservado de provizora dosiero." - -#: ajax/currentphoto.php:51 -msgid "The loading photo is not valid." -msgstr "La alŝutata foto ne validas." - -#: ajax/editname.php:31 -msgid "Contact ID is missing." -msgstr "Kontaktidentigilo mankas." - -#: ajax/oc_photo.php:32 -msgid "No photo path was submitted." -msgstr "Neniu vojo al foto sendiĝis." - -#: ajax/oc_photo.php:39 -msgid "File doesn't exist:" -msgstr "Dosiero ne ekzistas:" - -#: ajax/oc_photo.php:44 ajax/oc_photo.php:47 -msgid "Error loading image." -msgstr "Eraro dum ŝargado de bildo." - -#: ajax/savecrop.php:69 -msgid "Error getting contact object." -msgstr "Eraro dum ekhaviĝis kontakta objekto." - -#: ajax/savecrop.php:79 -msgid "Error getting PHOTO property." -msgstr "Eraro dum ekhaviĝis la propraĵon PHOTO." - -#: ajax/savecrop.php:98 -msgid "Error saving contact." -msgstr "Eraro dum konserviĝis kontakto." - -#: ajax/savecrop.php:109 -msgid "Error resizing image" -msgstr "Eraro dum aligrandiĝis bildo" - -#: ajax/savecrop.php:112 -msgid "Error cropping image" -msgstr "Eraro dum stuciĝis bildo." - -#: ajax/savecrop.php:115 -msgid "Error creating temporary image" -msgstr "Eraro dum kreiĝis provizora bildo." - -#: ajax/savecrop.php:118 -msgid "Error finding image: " -msgstr "Eraro dum serĉo de bildo: " - -#: ajax/uploadimport.php:44 ajax/uploadimport.php:76 -msgid "Error uploading contacts to storage." -msgstr "Eraro dum alŝutiĝis kontaktoj al konservejo." - -#: ajax/uploadimport.php:61 ajax/uploadphoto.php:77 -msgid "There is no error, the file uploaded with success" -msgstr "Ne estas eraro, la dosiero alŝutiĝis sukcese." - -#: ajax/uploadimport.php:62 ajax/uploadphoto.php:78 -msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" -msgstr "La alŝutita dosiero transpasas la preskribon upload_max_filesize en php.ini" - -#: ajax/uploadimport.php:63 ajax/uploadphoto.php:79 -msgid "" -"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " -"the HTML form" -msgstr "La alŝutita dosiero transpasas la preskribon MAX_FILE_SIZE kiu specifiĝis en la HTML-formularo" - -#: ajax/uploadimport.php:64 ajax/uploadphoto.php:80 -msgid "The uploaded file was only partially uploaded" -msgstr "la alŝutita dosiero nur parte alŝutiĝis" - -#: ajax/uploadimport.php:65 ajax/uploadphoto.php:81 -msgid "No file was uploaded" -msgstr "Neniu dosiero alŝutiĝis." - -#: ajax/uploadimport.php:66 ajax/uploadphoto.php:82 -msgid "Missing a temporary folder" -msgstr "Mankas provizora dosierujo." - -#: ajax/uploadphoto.php:59 ajax/uploadphoto.php:109 -msgid "Couldn't save temporary image: " -msgstr "Ne eblis konservi provizoran bildon: " - -#: ajax/uploadphoto.php:62 ajax/uploadphoto.php:112 -msgid "Couldn't load temporary image: " -msgstr "Ne eblis ŝargi provizoran bildon: " - -#: ajax/uploadphoto.php:71 -msgid "No file was uploaded. Unknown error" -msgstr "Neniu dosiero alŝutiĝis. Nekonata eraro." - -#: appinfo/app.php:21 -msgid "Contacts" -msgstr "Kontaktoj" - -#: js/contacts.js:71 -msgid "Sorry, this functionality has not been implemented yet" -msgstr "Pardonu, ĉi tiu funkcio ankoraŭ ne estas realigita." - -#: js/contacts.js:71 -msgid "Not implemented" -msgstr "Ne disponebla" - -#: js/contacts.js:76 -msgid "Couldn't get a valid address." -msgstr "Ne eblis ekhavi validan adreson." - -#: js/contacts.js:76 js/contacts.js:365 js/contacts.js:381 js/contacts.js:393 -#: js/contacts.js:723 js/contacts.js:763 js/contacts.js:789 js/contacts.js:921 -#: js/contacts.js:927 js/contacts.js:939 js/contacts.js:976 -#: js/contacts.js:1250 js/contacts.js:1258 js/contacts.js:1267 -#: js/contacts.js:1302 js/contacts.js:1338 js/contacts.js:1353 -#: js/contacts.js:1379 js/contacts.js:1609 js/contacts.js:1644 -#: js/contacts.js:1664 js/settings.js:26 js/settings.js:43 js/settings.js:68 -msgid "Error" -msgstr "Eraro" - -#: js/contacts.js:424 -msgid "You do not have permission to add contacts to " -msgstr "" - -#: js/contacts.js:425 -msgid "Please select one of your own address books." -msgstr "" - -#: js/contacts.js:425 -msgid "Permission error" -msgstr "" - -#: js/contacts.js:763 -msgid "This property has to be non-empty." -msgstr "Ĉi tiu propraĵo devas ne esti malplena." - -#: js/contacts.js:789 -msgid "Couldn't serialize elements." -msgstr "Ne eblis seriigi erojn." - -#: js/contacts.js:921 js/contacts.js:939 -msgid "" -"'deleteProperty' called without type argument. Please report at " -"bugs.owncloud.org" -msgstr "" - -#: js/contacts.js:958 -msgid "Edit name" -msgstr "Redakti nomon" - -#: js/contacts.js:1250 -msgid "No files selected for upload." -msgstr "Neniu dosiero elektita por alŝuto." - -#: js/contacts.js:1258 -msgid "" -"The file you are trying to upload exceed the maximum size for file uploads " -"on this server." -msgstr "La dosiero, kiun vi provas alŝuti, transpasas la maksimuman grandon por dosieraj alŝutoj en ĉi tiu servilo." - -#: js/contacts.js:1322 -msgid "Error loading profile picture." -msgstr "" - -#: js/contacts.js:1457 js/contacts.js:1498 js/contacts.js:1517 -#: js/contacts.js:1560 -msgid "Select type" -msgstr "Elektu tipon" - -#: js/contacts.js:1578 -msgid "" -"Some contacts are marked for deletion, but not deleted yet. Please wait for " -"them to be deleted." -msgstr "" - -#: js/contacts.js:1649 -msgid "Do you want to merge these address books?" -msgstr "" - -#: js/loader.js:49 -msgid "Result: " -msgstr "Rezulto: " - -#: js/loader.js:49 -msgid " imported, " -msgstr " enportoj, " - -#: js/loader.js:49 -msgid " failed." -msgstr "malsukcesoj." - -#: js/settings.js:68 -msgid "Displayname cannot be empty." -msgstr "" - -#: lib/app.php:36 -msgid "Addressbook not found: " -msgstr "Adresaro ne troviĝis:" - -#: lib/app.php:52 -msgid "This is not your addressbook." -msgstr "Ĉi tiu ne estas via adresaro." - -#: lib/app.php:71 -msgid "Contact could not be found." -msgstr "Ne eblis trovi la kontakton." - -#: lib/app.php:116 -msgid "Jabber" -msgstr "" - -#: lib/app.php:121 -msgid "AIM" -msgstr "" - -#: lib/app.php:126 -msgid "MSN" -msgstr "" - -#: lib/app.php:131 -msgid "Twitter" -msgstr "" - -#: lib/app.php:136 -msgid "GoogleTalk" -msgstr "" - -#: lib/app.php:141 -msgid "Facebook" -msgstr "" - -#: lib/app.php:146 -msgid "XMPP" -msgstr "" - -#: lib/app.php:151 -msgid "ICQ" -msgstr "" - -#: lib/app.php:156 -msgid "Yahoo" -msgstr "" - -#: lib/app.php:161 -msgid "Skype" -msgstr "" - -#: lib/app.php:166 -msgid "QQ" -msgstr "" - -#: lib/app.php:171 -msgid "GaduGadu" -msgstr "" - -#: lib/app.php:194 lib/app.php:202 lib/app.php:213 lib/app.php:266 -msgid "Work" -msgstr "Laboro" - -#: lib/app.php:195 lib/app.php:200 lib/app.php:214 -msgid "Home" -msgstr "Hejmo" - -#: lib/app.php:196 lib/app.php:209 lib/app.php:262 lib/vcard.php:593 -msgid "Other" -msgstr "Alia" - -#: lib/app.php:201 -msgid "Mobile" -msgstr "Poŝtelefono" - -#: lib/app.php:203 -msgid "Text" -msgstr "Teksto" - -#: lib/app.php:204 -msgid "Voice" -msgstr "Voĉo" - -#: lib/app.php:205 -msgid "Message" -msgstr "Mesaĝo" - -#: lib/app.php:206 -msgid "Fax" -msgstr "Fakso" - -#: lib/app.php:207 -msgid "Video" -msgstr "Videaĵo" - -#: lib/app.php:208 -msgid "Pager" -msgstr "Televokilo" - -#: lib/app.php:215 -msgid "Internet" -msgstr "Interreto" - -#: lib/app.php:252 templates/part.contact.php:45 -#: templates/part.contact.php:128 -msgid "Birthday" -msgstr "Naskiĝotago" - -#: lib/app.php:253 -msgid "Business" -msgstr "Negoco" - -#: lib/app.php:254 -msgid "Call" -msgstr "Voko" - -#: lib/app.php:255 -msgid "Clients" -msgstr "Klientoj" - -#: lib/app.php:256 -msgid "Deliverer" -msgstr "Liveranto" - -#: lib/app.php:257 -msgid "Holidays" -msgstr "Ferioj" - -#: lib/app.php:258 -msgid "Ideas" -msgstr "Ideoj" - -#: lib/app.php:259 -msgid "Journey" -msgstr "Vojaĝo" - -#: lib/app.php:260 -msgid "Jubilee" -msgstr "Jubileo" - -#: lib/app.php:261 -msgid "Meeting" -msgstr "Kunveno" - -#: lib/app.php:263 -msgid "Personal" -msgstr "Persona" - -#: lib/app.php:264 -msgid "Projects" -msgstr "Projektoj" - -#: lib/app.php:265 -msgid "Questions" -msgstr "Demandoj" - -#: lib/hooks.php:102 -msgid "{name}'s Birthday" -msgstr "Naskiĝtago de {name}" - -#: lib/search.php:15 -msgid "Contact" -msgstr "Kontakto" - -#: lib/vcard.php:408 -msgid "You do not have the permissions to edit this contact." -msgstr "" - -#: lib/vcard.php:483 -msgid "You do not have the permissions to delete this contact." -msgstr "" - -#: templates/index.php:14 -msgid "Add Contact" -msgstr "Aldoni kontakton" - -#: templates/index.php:15 templates/index.php:16 templates/part.import.php:17 -msgid "Import" -msgstr "Enporti" - -#: templates/index.php:18 -msgid "Settings" -msgstr "Agordo" - -#: templates/index.php:18 templates/settings.php:9 -msgid "Addressbooks" -msgstr "Adresaroj" - -#: templates/index.php:36 templates/part.import.php:24 -msgid "Close" -msgstr "Fermi" - -#: templates/index.php:37 -msgid "Keyboard shortcuts" -msgstr "Fulmoklavoj" - -#: templates/index.php:39 -msgid "Navigation" -msgstr "Navigado" - -#: templates/index.php:42 -msgid "Next contact in list" -msgstr "Jena kontakto en la listo" - -#: templates/index.php:44 -msgid "Previous contact in list" -msgstr "Maljena kontakto en la listo" - -#: templates/index.php:46 -msgid "Expand/collapse current addressbook" -msgstr "" - -#: templates/index.php:48 -msgid "Next addressbook" -msgstr "Jena adresaro" - -#: templates/index.php:50 -msgid "Previous addressbook" -msgstr "Maljena adresaro" - -#: templates/index.php:54 -msgid "Actions" -msgstr "Agoj" - -#: templates/index.php:57 -msgid "Refresh contacts list" -msgstr "Refreŝigi la kontaktoliston" - -#: templates/index.php:59 -msgid "Add new contact" -msgstr "Aldoni novan kontakton" - -#: templates/index.php:61 -msgid "Add new addressbook" -msgstr "Aldoni novan adresaron" - -#: templates/index.php:63 -msgid "Delete current contact" -msgstr "Forigi la nunan kontakton" - -#: templates/part.contact.php:17 -msgid "Drop photo to upload" -msgstr "Demeti foton por alŝuti" - -#: templates/part.contact.php:19 -msgid "Delete current photo" -msgstr "Forigi nunan foton" - -#: templates/part.contact.php:20 -msgid "Edit current photo" -msgstr "Redakti nunan foton" - -#: templates/part.contact.php:21 -msgid "Upload new photo" -msgstr "Alŝuti novan foton" - -#: templates/part.contact.php:22 -msgid "Select photo from ownCloud" -msgstr "Elekti foton el ownCloud" - -#: templates/part.contact.php:35 -msgid "Format custom, Short name, Full name, Reverse or Reverse with comma" -msgstr "Propra formo, Mallonga nomo, Longa nomo, Inversa aŭ Inversa kun komo" - -#: templates/part.contact.php:36 -msgid "Edit name details" -msgstr "Redakti detalojn de nomo" - -#: templates/part.contact.php:39 templates/part.contact.php:40 -#: templates/part.contact.php:126 -msgid "Organization" -msgstr "Organizaĵo" - -#: templates/part.contact.php:40 templates/part.contact.php:42 -#: templates/part.contact.php:44 templates/part.contact.php:46 -#: templates/part.contact.php:50 templates/settings.php:36 -msgid "Delete" -msgstr "Forigi" - -#: templates/part.contact.php:41 templates/part.contact.php:127 -msgid "Nickname" -msgstr "Kromnomo" - -#: templates/part.contact.php:42 -msgid "Enter nickname" -msgstr "Enigu kromnomon" - -#: templates/part.contact.php:43 templates/part.contact.php:134 -msgid "Web site" -msgstr "TTT-ejo" - -#: templates/part.contact.php:44 -msgid "http://www.somesite.com" -msgstr "http://www.iuejo.com" - -#: templates/part.contact.php:44 -msgid "Go to web site" -msgstr "Iri al TTT-ejon" - -#: templates/part.contact.php:46 -msgid "dd-mm-yyyy" -msgstr "yyyy-mm-dd" - -#: templates/part.contact.php:47 templates/part.contact.php:135 -msgid "Groups" -msgstr "Grupoj" - -#: templates/part.contact.php:49 -msgid "Separate groups with commas" -msgstr "Disigi grupojn per komoj" - -#: templates/part.contact.php:50 -msgid "Edit groups" -msgstr "Redakti grupojn" - -#: templates/part.contact.php:59 templates/part.contact.php:73 -#: templates/part.contact.php:98 -msgid "Preferred" -msgstr "Preferata" - -#: templates/part.contact.php:60 -msgid "Please specify a valid email address." -msgstr "Bonvolu specifi validan retpoŝtadreson." - -#: templates/part.contact.php:60 -msgid "Enter email address" -msgstr "Enigi retpoŝtadreson" - -#: templates/part.contact.php:64 -msgid "Mail to address" -msgstr "Retpoŝtmesaĝo al adreso" - -#: templates/part.contact.php:65 -msgid "Delete email address" -msgstr "Forigi retpoŝþadreson" - -#: templates/part.contact.php:75 -msgid "Enter phone number" -msgstr "Enigi telefonnumeron" - -#: templates/part.contact.php:79 -msgid "Delete phone number" -msgstr "Forigi telefonnumeron" - -#: templates/part.contact.php:100 -msgid "Instant Messenger" -msgstr "" - -#: templates/part.contact.php:101 -msgid "Delete IM" -msgstr "" - -#: templates/part.contact.php:110 -msgid "View on map" -msgstr "Vidi en mapo" - -#: templates/part.contact.php:110 -msgid "Edit address details" -msgstr "Redakti detalojn de adreso" - -#: templates/part.contact.php:116 -msgid "Add notes here." -msgstr "Aldoni notojn ĉi tie." - -#: templates/part.contact.php:124 -msgid "Add field" -msgstr "Aldoni kampon" - -#: templates/part.contact.php:129 -msgid "Phone" -msgstr "Telefono" - -#: templates/part.contact.php:130 -msgid "Email" -msgstr "Retpoŝtadreso" - -#: templates/part.contact.php:131 -msgid "Instant Messaging" -msgstr "" - -#: templates/part.contact.php:132 -msgid "Address" -msgstr "Adreso" - -#: templates/part.contact.php:133 -msgid "Note" -msgstr "Noto" - -#: templates/part.contact.php:138 -msgid "Download contact" -msgstr "Elŝuti kontakton" - -#: templates/part.contact.php:139 -msgid "Delete contact" -msgstr "Forigi kontakton" - -#: templates/part.cropphoto.php:65 -msgid "The temporary image has been removed from cache." -msgstr "La provizora bildo estas forigita de la kaŝmemoro." - -#: templates/part.edit_address_dialog.php:6 -msgid "Edit address" -msgstr "Redakti adreson" - -#: templates/part.edit_address_dialog.php:10 -msgid "Type" -msgstr "Tipo" - -#: templates/part.edit_address_dialog.php:18 -#: templates/part.edit_address_dialog.php:21 -msgid "PO Box" -msgstr "Abonkesto" - -#: templates/part.edit_address_dialog.php:24 -msgid "Street address" -msgstr "Stratadreso" - -#: templates/part.edit_address_dialog.php:27 -msgid "Street and number" -msgstr "Strato kaj numero" - -#: templates/part.edit_address_dialog.php:30 -msgid "Extended" -msgstr "Etendita" - -#: templates/part.edit_address_dialog.php:33 -msgid "Apartment number etc." -msgstr "" - -#: templates/part.edit_address_dialog.php:36 -#: templates/part.edit_address_dialog.php:39 -msgid "City" -msgstr "Urbo" - -#: templates/part.edit_address_dialog.php:42 -msgid "Region" -msgstr "Regiono" - -#: templates/part.edit_address_dialog.php:45 -msgid "E.g. state or province" -msgstr "" - -#: templates/part.edit_address_dialog.php:48 -msgid "Zipcode" -msgstr "Poŝtokodo" - -#: templates/part.edit_address_dialog.php:51 -msgid "Postal code" -msgstr "Poŝtkodo" - -#: templates/part.edit_address_dialog.php:54 -#: templates/part.edit_address_dialog.php:57 -msgid "Country" -msgstr "Lando" - -#: templates/part.edit_name_dialog.php:16 -msgid "Addressbook" -msgstr "Adresaro" - -#: templates/part.edit_name_dialog.php:23 -msgid "Hon. prefixes" -msgstr "Honoraj antaŭmetaĵoj" - -#: templates/part.edit_name_dialog.php:27 -msgid "Miss" -msgstr "f-ino" - -#: templates/part.edit_name_dialog.php:28 -msgid "Ms" -msgstr "s-ino" - -#: templates/part.edit_name_dialog.php:29 -msgid "Mr" -msgstr "s-ro" - -#: templates/part.edit_name_dialog.php:30 -msgid "Sir" -msgstr "s-ro" - -#: templates/part.edit_name_dialog.php:31 -msgid "Mrs" -msgstr "s-ino" - -#: templates/part.edit_name_dialog.php:32 -msgid "Dr" -msgstr "d-ro" - -#: templates/part.edit_name_dialog.php:35 -msgid "Given name" -msgstr "Persona nomo" - -#: templates/part.edit_name_dialog.php:37 -msgid "Additional names" -msgstr "Pliaj nomoj" - -#: templates/part.edit_name_dialog.php:39 -msgid "Family name" -msgstr "Familia nomo" - -#: templates/part.edit_name_dialog.php:41 -msgid "Hon. suffixes" -msgstr "Honoraj postmetaĵoj" - -#: templates/part.edit_name_dialog.php:45 -msgid "J.D." -msgstr "" - -#: templates/part.edit_name_dialog.php:46 -msgid "M.D." -msgstr "" - -#: templates/part.edit_name_dialog.php:47 -msgid "D.O." -msgstr "" - -#: templates/part.edit_name_dialog.php:48 -msgid "D.C." -msgstr "" - -#: templates/part.edit_name_dialog.php:49 -msgid "Ph.D." -msgstr "" - -#: templates/part.edit_name_dialog.php:50 -msgid "Esq." -msgstr "" - -#: templates/part.edit_name_dialog.php:51 -msgid "Jr." -msgstr "" - -#: templates/part.edit_name_dialog.php:52 -msgid "Sn." -msgstr "" - -#: templates/part.import.php:1 -msgid "Import a contacts file" -msgstr "Enporti kontaktodosieron" - -#: templates/part.import.php:6 -msgid "Please choose the addressbook" -msgstr "Bonvolu elekti adresaron" - -#: templates/part.import.php:10 -msgid "create a new addressbook" -msgstr "krei novan adresaron" - -#: templates/part.import.php:15 -msgid "Name of new addressbook" -msgstr "Nomo de nova adresaro" - -#: templates/part.import.php:20 -msgid "Importing contacts" -msgstr "Enportante kontaktojn" - -#: templates/part.no_contacts.php:3 -msgid "You have no contacts in your addressbook." -msgstr "Vi ne havas kontaktojn en via adresaro" - -#: templates/part.no_contacts.php:5 -msgid "Add contact" -msgstr "Aldoni kontakton" - -#: templates/part.selectaddressbook.php:1 -msgid "Select Address Books" -msgstr "Elektu adresarojn" - -#: templates/part.selectaddressbook.php:27 -msgid "Enter name" -msgstr "Enigu nomon" - -#: templates/part.selectaddressbook.php:29 -msgid "Enter description" -msgstr "Enigu priskribon" - -#: templates/settings.php:3 -msgid "CardDAV syncing addresses" -msgstr "adresoj por CardDAV-sinkronigo" - -#: templates/settings.php:3 -msgid "more info" -msgstr "pli da informo" - -#: templates/settings.php:5 -msgid "Primary address (Kontact et al)" -msgstr "Ĉefa adreso (por Kontakt kaj aliaj)" - -#: templates/settings.php:7 -msgid "iOS/OS X" -msgstr "iOS/OS X" - -#: templates/settings.php:20 -msgid "Show CardDav link" -msgstr "Montri CardDav-ligilon" - -#: templates/settings.php:23 -msgid "Show read-only VCF link" -msgstr "Montri nur legeblan VCF-ligilon" - -#: templates/settings.php:26 -msgid "Share" -msgstr "" - -#: templates/settings.php:29 -msgid "Download" -msgstr "Elŝuti" - -#: templates/settings.php:33 -msgid "Edit" -msgstr "Redakti" - -#: templates/settings.php:43 -msgid "New Address Book" -msgstr "Nova adresaro" - -#: templates/settings.php:44 -msgid "Name" -msgstr "Nomo" - -#: templates/settings.php:45 -msgid "Description" -msgstr "Priskribo" - -#: templates/settings.php:46 -msgid "Save" -msgstr "Konservi" - -#: templates/settings.php:47 -msgid "Cancel" -msgstr "Nuligi" - -#: templates/settings.php:52 -msgid "More..." -msgstr "Pli..." diff --git a/l10n/eo/core.po b/l10n/eo/core.po index 294292e186f469b7db87bc5a7da34ede3ca4a7a8..517787299a0247938b22d691897c9072701ce151 100644 --- a/l10n/eo/core.po +++ b/l10n/eo/core.po @@ -10,9 +10,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-16 02:04+0200\n" -"PO-Revision-Date: 2012-10-16 00:05+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-12-04 00:06+0100\n" +"PO-Revision-Date: 2012-12-02 23:10+0000\n" +"Last-Translator: Mariano \n" "Language-Team: Esperanto (http://www.transifex.com/projects/p/owncloud/language/eo/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -20,209 +20,241 @@ msgstr "" "Language: eo\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: ajax/vcategories/add.php:23 ajax/vcategories/delete.php:23 -msgid "Application name not provided." -msgstr "Nomo de aplikaĵo ne proviziiĝis." +#: ajax/vcategories/add.php:26 ajax/vcategories/edit.php:25 +msgid "Category type not provided." +msgstr "Ne proviziĝis tipon de kategorio." -#: ajax/vcategories/add.php:29 +#: ajax/vcategories/add.php:30 msgid "No category to add?" msgstr "Ĉu neniu kategorio estas aldonota?" -#: ajax/vcategories/add.php:36 +#: ajax/vcategories/add.php:37 msgid "This category already exists: " msgstr "Ĉi tiu kategorio jam ekzistas: " -#: js/js.js:238 templates/layout.user.php:49 templates/layout.user.php:50 +#: ajax/vcategories/addToFavorites.php:26 ajax/vcategories/delete.php:27 +#: ajax/vcategories/favorites.php:24 +#: ajax/vcategories/removeFromFavorites.php:26 +msgid "Object type not provided." +msgstr "Ne proviziĝis tipon de objekto." + +#: ajax/vcategories/addToFavorites.php:30 +#: ajax/vcategories/removeFromFavorites.php:30 +#, php-format +msgid "%s ID not provided." +msgstr "Ne proviziĝis ID-on de %s." + +#: ajax/vcategories/addToFavorites.php:35 +#, php-format +msgid "Error adding %s to favorites." +msgstr "Eraro dum aldono de %s al favoratoj." + +#: ajax/vcategories/delete.php:35 js/oc-vcategories.js:136 +msgid "No categories selected for deletion." +msgstr "Neniu kategorio elektiĝis por forigo." + +#: ajax/vcategories/removeFromFavorites.php:35 +#, php-format +msgid "Error removing %s from favorites." +msgstr "Eraro dum forigo de %s el favoratoj." + +#: js/js.js:259 templates/layout.user.php:60 templates/layout.user.php:61 msgid "Settings" msgstr "Agordo" -#: js/js.js:670 -msgid "January" -msgstr "Januaro" +#: js/js.js:704 +msgid "seconds ago" +msgstr "sekundoj antaŭe" -#: js/js.js:670 -msgid "February" -msgstr "Februaro" +#: js/js.js:705 +msgid "1 minute ago" +msgstr "antaŭ 1 minuto" -#: js/js.js:670 -msgid "March" -msgstr "Marto" +#: js/js.js:706 +msgid "{minutes} minutes ago" +msgstr "antaŭ {minutes} minutoj" -#: js/js.js:670 -msgid "April" -msgstr "Aprilo" +#: js/js.js:707 +msgid "1 hour ago" +msgstr "antaŭ 1 horo" -#: js/js.js:670 -msgid "May" -msgstr "Majo" +#: js/js.js:708 +msgid "{hours} hours ago" +msgstr "antaŭ {hours} horoj" -#: js/js.js:670 -msgid "June" -msgstr "Junio" +#: js/js.js:709 +msgid "today" +msgstr "hodiaŭ" -#: js/js.js:671 -msgid "July" -msgstr "Julio" +#: js/js.js:710 +msgid "yesterday" +msgstr "hieraŭ" -#: js/js.js:671 -msgid "August" -msgstr "Aŭgusto" +#: js/js.js:711 +msgid "{days} days ago" +msgstr "antaŭ {days} tagoj" -#: js/js.js:671 -msgid "September" -msgstr "Septembro" +#: js/js.js:712 +msgid "last month" +msgstr "lastamonate" -#: js/js.js:671 -msgid "October" -msgstr "Oktobro" +#: js/js.js:713 +msgid "{months} months ago" +msgstr "antaŭ {months} monatoj" -#: js/js.js:671 -msgid "November" -msgstr "Novembro" +#: js/js.js:714 +msgid "months ago" +msgstr "monatoj antaŭe" -#: js/js.js:671 -msgid "December" -msgstr "Decembro" +#: js/js.js:715 +msgid "last year" +msgstr "lastajare" + +#: js/js.js:716 +msgid "years ago" +msgstr "jaroj antaŭe" -#: js/oc-dialogs.js:123 +#: js/oc-dialogs.js:126 msgid "Choose" msgstr "Elekti" -#: js/oc-dialogs.js:143 js/oc-dialogs.js:163 +#: js/oc-dialogs.js:146 js/oc-dialogs.js:166 msgid "Cancel" msgstr "Nuligi" -#: js/oc-dialogs.js:159 +#: js/oc-dialogs.js:162 msgid "No" msgstr "Ne" -#: js/oc-dialogs.js:160 +#: js/oc-dialogs.js:163 msgid "Yes" msgstr "Jes" -#: js/oc-dialogs.js:177 +#: js/oc-dialogs.js:180 msgid "Ok" msgstr "Akcepti" -#: js/oc-vcategories.js:68 -msgid "No categories selected for deletion." -msgstr "Neniu kategorio elektiĝis por forigo." +#: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102 +#: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162 +msgid "The object type is not specified." +msgstr "Ne indikiĝis tipo de la objekto." -#: js/oc-vcategories.js:68 js/share.js:114 js/share.js:121 js/share.js:497 -#: js/share.js:509 +#: js/oc-vcategories.js:95 js/oc-vcategories.js:125 js/oc-vcategories.js:136 +#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:533 +#: js/share.js:545 msgid "Error" msgstr "Eraro" -#: js/share.js:103 +#: js/oc-vcategories.js:179 +msgid "The app name is not specified." +msgstr "Ne indikiĝis nomo de la aplikaĵo." + +#: js/oc-vcategories.js:194 +msgid "The required file {file} is not installed!" +msgstr "La necesa dosiero {file} ne instaliĝis!" + +#: js/share.js:124 msgid "Error while sharing" msgstr "Eraro dum kunhavigo" -#: js/share.js:114 +#: js/share.js:135 msgid "Error while unsharing" msgstr "Eraro dum malkunhavigo" -#: js/share.js:121 +#: js/share.js:142 msgid "Error while changing permissions" msgstr "Eraro dum ŝanĝo de permesoj" -#: js/share.js:130 -msgid "Shared with you and the group" -msgstr "Kunhavigita kun vi kaj la grupo" - -#: js/share.js:130 -msgid "by" -msgstr "de" +#: js/share.js:151 +msgid "Shared with you and the group {group} by {owner}" +msgstr "Kunhavigita kun vi kaj la grupo {group} de {owner}" -#: js/share.js:132 -msgid "Shared with you by" -msgstr "Kunhavigita kun vi de" +#: js/share.js:153 +msgid "Shared with you by {owner}" +msgstr "Kunhavigita kun vi de {owner}" -#: js/share.js:137 +#: js/share.js:158 msgid "Share with" msgstr "Kunhavigi kun" -#: js/share.js:142 +#: js/share.js:163 msgid "Share with link" msgstr "Kunhavigi per ligilo" -#: js/share.js:143 +#: js/share.js:164 msgid "Password protect" msgstr "Protekti per pasvorto" -#: js/share.js:147 templates/installation.php:42 templates/login.php:24 +#: js/share.js:168 templates/installation.php:42 templates/login.php:24 #: templates/verify.php:13 msgid "Password" msgstr "Pasvorto" -#: js/share.js:152 +#: js/share.js:173 msgid "Set expiration date" msgstr "Agordi limdaton" -#: js/share.js:153 +#: js/share.js:174 msgid "Expiration date" msgstr "Limdato" -#: js/share.js:185 +#: js/share.js:206 msgid "Share via email:" msgstr "Kunhavigi per retpoŝto:" -#: js/share.js:187 +#: js/share.js:208 msgid "No people found" msgstr "Ne troviĝis gento" -#: js/share.js:214 +#: js/share.js:235 msgid "Resharing is not allowed" msgstr "Rekunhavigo ne permesatas" -#: js/share.js:250 -msgid "Shared in" -msgstr "Kunhavigita en" - -#: js/share.js:250 -msgid "with" -msgstr "kun" - #: js/share.js:271 +msgid "Shared in {item} with {user}" +msgstr "Kunhavigita en {item} kun {user}" + +#: js/share.js:292 msgid "Unshare" msgstr "Malkunhavigi" -#: js/share.js:283 +#: js/share.js:304 msgid "can edit" msgstr "povas redakti" -#: js/share.js:285 +#: js/share.js:306 msgid "access control" msgstr "alirkontrolo" -#: js/share.js:288 +#: js/share.js:309 msgid "create" msgstr "krei" -#: js/share.js:291 +#: js/share.js:312 msgid "update" msgstr "ĝisdatigi" -#: js/share.js:294 +#: js/share.js:315 msgid "delete" msgstr "forigi" -#: js/share.js:297 +#: js/share.js:318 msgid "share" msgstr "kunhavigi" -#: js/share.js:322 js/share.js:484 +#: js/share.js:349 js/share.js:520 js/share.js:522 msgid "Password protected" msgstr "Protektita per pasvorto" -#: js/share.js:497 +#: js/share.js:533 msgid "Error unsetting expiration date" msgstr "Eraro dum malagordado de limdato" -#: js/share.js:509 +#: js/share.js:545 msgid "Error setting expiration date" msgstr "Eraro dum agordado de limdato" -#: lostpassword/index.php:26 +#: lostpassword/controller.php:47 msgid "ownCloud password reset" msgstr "La pasvorto de ownCloud restariĝis." @@ -235,12 +267,12 @@ msgid "You will receive a link to reset your password via Email." msgstr "Vi ricevos ligilon retpoŝte por rekomencigi vian pasvorton." #: lostpassword/templates/lostpassword.php:5 -msgid "Requested" -msgstr "Petita" +msgid "Reset email send." +msgstr "" #: lostpassword/templates/lostpassword.php:8 -msgid "Login failed!" -msgstr "Ensaluto malsukcesis!" +msgid "Request failed!" +msgstr "Peto malsukcesis!" #: lostpassword/templates/lostpassword.php:11 templates/installation.php:38 #: templates/login.php:20 @@ -299,19 +331,19 @@ msgstr "La nubo ne estas trovita" msgid "Edit categories" msgstr "Redakti kategoriojn" -#: templates/edit_categories_dialog.php:14 +#: templates/edit_categories_dialog.php:16 msgid "Add" msgstr "Aldoni" #: templates/installation.php:23 templates/installation.php:31 msgid "Security Warning" -msgstr "" +msgstr "Sekureca averto" #: templates/installation.php:24 msgid "" "No secure random number generator is available, please enable the PHP " "OpenSSL extension." -msgstr "" +msgstr "Ne disponeblas sekura generilo de hazardaj numeroj; bonvolu kapabligi la OpenSSL-kromaĵon por PHP." #: templates/installation.php:26 msgid "" @@ -373,11 +405,87 @@ msgstr "Datumbaza gastigo" msgid "Finish setup" msgstr "Fini la instalon" -#: templates/layout.guest.php:38 +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Sunday" +msgstr "dimanĉo" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Monday" +msgstr "lundo" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Tuesday" +msgstr "mardo" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Wednesday" +msgstr "merkredo" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Thursday" +msgstr "ĵaŭdo" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Friday" +msgstr "vendredo" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Saturday" +msgstr "sabato" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "January" +msgstr "Januaro" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "February" +msgstr "Februaro" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "March" +msgstr "Marto" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "April" +msgstr "Aprilo" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "May" +msgstr "Majo" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "June" +msgstr "Junio" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "July" +msgstr "Julio" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "August" +msgstr "Aŭgusto" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "September" +msgstr "Septembro" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "October" +msgstr "Oktobro" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "November" +msgstr "Novembro" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "December" +msgstr "Decembro" + +#: templates/layout.guest.php:42 msgid "web services under your control" msgstr "TTT-servoj sub via kontrolo" -#: templates/layout.user.php:34 +#: templates/layout.user.php:45 msgid "Log out" msgstr "Elsaluti" @@ -389,11 +497,11 @@ msgstr "" msgid "" "If you did not change your password recently, your account may be " "compromised!" -msgstr "" +msgstr "Se vi ne ŝanĝis vian pasvorton lastatempe, via konto eble kompromitas!" #: templates/login.php:10 msgid "Please change your password to secure your account again." -msgstr "" +msgstr "Bonvolu ŝanĝi vian pasvorton por sekurigi vian konton ree." #: templates/login.php:15 msgid "Lost your password?" @@ -421,14 +529,14 @@ msgstr "jena" #: templates/verify.php:5 msgid "Security Warning!" -msgstr "" +msgstr "Sekureca averto!" #: templates/verify.php:6 msgid "" "Please verify your password.
For security reasons you may be " "occasionally asked to enter your password again." -msgstr "" +msgstr "Bonvolu kontroli vian pasvorton.
Pro sekureco, oni okaze povas peti al vi enigi vian pasvorton ree." #: templates/verify.php:16 msgid "Verify" -msgstr "" +msgstr "Kontroli" diff --git a/l10n/eo/files.po b/l10n/eo/files.po index 5f27b8764f82a48d54eb056ed05f2eb41dcbdefe..98d1dba639fd23a161531c357c834d827d605f1a 100644 --- a/l10n/eo/files.po +++ b/l10n/eo/files.po @@ -9,8 +9,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-14 02:05+0200\n" -"PO-Revision-Date: 2012-10-13 04:22+0000\n" +"POT-Creation-Date: 2012-12-03 00:04+0100\n" +"PO-Revision-Date: 2012-12-02 22:06+0000\n" "Last-Translator: Mariano \n" "Language-Team: Esperanto (http://www.transifex.com/projects/p/owncloud/language/eo/)\n" "MIME-Version: 1.0\n" @@ -24,195 +24,166 @@ msgid "There is no error, the file uploaded with success" msgstr "Ne estas eraro, la dosiero alŝutiĝis sukcese" #: ajax/upload.php:21 -msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" -msgstr "La dosiero alŝutita superas la regulon upload_max_filesize el php.ini" +msgid "" +"The uploaded file exceeds the upload_max_filesize directive in php.ini: " +msgstr "La dosiero alŝutita superas la regulon upload_max_filesize el php.ini: " -#: ajax/upload.php:22 +#: ajax/upload.php:23 msgid "" "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " "the HTML form" -msgstr "La dosiero alŝutita superas laregulon MAX_FILE_SIZE, kiu estas difinita en la HTML-formularo" +msgstr "La dosiero alŝutita superas la regulon MAX_FILE_SIZE, kiu estas difinita en la HTML-formularo" -#: ajax/upload.php:23 +#: ajax/upload.php:25 msgid "The uploaded file was only partially uploaded" msgstr "La alŝutita dosiero nur parte alŝutiĝis" -#: ajax/upload.php:24 +#: ajax/upload.php:26 msgid "No file was uploaded" msgstr "Neniu dosiero estas alŝutita" -#: ajax/upload.php:25 +#: ajax/upload.php:27 msgid "Missing a temporary folder" msgstr "Mankas tempa dosierujo" -#: ajax/upload.php:26 +#: ajax/upload.php:28 msgid "Failed to write to disk" msgstr "Malsukcesis skribo al disko" -#: appinfo/app.php:6 +#: appinfo/app.php:10 msgid "Files" msgstr "Dosieroj" -#: js/fileactions.js:108 templates/index.php:62 +#: js/fileactions.js:117 templates/index.php:83 templates/index.php:84 msgid "Unshare" msgstr "Malkunhavigi" -#: js/fileactions.js:110 templates/index.php:64 +#: js/fileactions.js:119 templates/index.php:89 templates/index.php:90 msgid "Delete" msgstr "Forigi" -#: js/fileactions.js:182 +#: js/fileactions.js:181 msgid "Rename" msgstr "Alinomigi" -#: js/filelist.js:192 js/filelist.js:194 -msgid "already exists" -msgstr "jam ekzistas" +#: js/filelist.js:201 js/filelist.js:203 +msgid "{new_name} already exists" +msgstr "{new_name} jam ekzistas" -#: js/filelist.js:192 js/filelist.js:194 +#: js/filelist.js:201 js/filelist.js:203 msgid "replace" msgstr "anstataŭigi" -#: js/filelist.js:192 +#: js/filelist.js:201 msgid "suggest name" msgstr "sugesti nomon" -#: js/filelist.js:192 js/filelist.js:194 +#: js/filelist.js:201 js/filelist.js:203 msgid "cancel" msgstr "nuligi" -#: js/filelist.js:241 js/filelist.js:243 -msgid "replaced" -msgstr "anstataŭigita" +#: js/filelist.js:250 +msgid "replaced {new_name}" +msgstr "anstataŭiĝis {new_name}" -#: js/filelist.js:241 js/filelist.js:243 js/filelist.js:275 js/filelist.js:277 +#: js/filelist.js:250 js/filelist.js:252 js/filelist.js:284 js/filelist.js:286 msgid "undo" msgstr "malfari" -#: js/filelist.js:243 -msgid "with" -msgstr "kun" +#: js/filelist.js:252 +msgid "replaced {new_name} with {old_name}" +msgstr "anstataŭiĝis {new_name} per {old_name}" + +#: js/filelist.js:284 +msgid "unshared {files}" +msgstr "malkunhaviĝis {files}" -#: js/filelist.js:275 -msgid "unshared" -msgstr "malkunhavigita" +#: js/filelist.js:286 +msgid "deleted {files}" +msgstr "foriĝis {files}" -#: js/filelist.js:277 -msgid "deleted" -msgstr "forigita" +#: js/files.js:33 +msgid "" +"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not " +"allowed." +msgstr "Nevalida nomo: “\\”, “/”, “<”, “>”, “:”, “\"”, “|”, “?” kaj “*” ne permesatas." -#: js/files.js:179 +#: js/files.js:183 msgid "generating ZIP-file, it may take some time." msgstr "generanta ZIP-dosiero, ĝi povas daŭri iom da tempo" -#: js/files.js:214 +#: js/files.js:218 msgid "Unable to upload your file as it is a directory or has 0 bytes" msgstr "Ne eblis alŝuti vian dosieron ĉar ĝi estas dosierujo aŭ havas 0 duumokojn" -#: js/files.js:214 +#: js/files.js:218 msgid "Upload Error" msgstr "Alŝuta eraro" -#: js/files.js:242 js/files.js:347 js/files.js:377 +#: js/files.js:235 +msgid "Close" +msgstr "Fermi" + +#: js/files.js:254 js/files.js:368 js/files.js:398 msgid "Pending" msgstr "Traktotaj" -#: js/files.js:262 +#: js/files.js:274 msgid "1 file uploading" msgstr "1 dosiero estas alŝutata" -#: js/files.js:265 js/files.js:310 js/files.js:325 -msgid "files uploading" -msgstr "dosieroj estas alŝutataj" +#: js/files.js:277 js/files.js:331 js/files.js:346 +msgid "{count} files uploading" +msgstr "{count} dosieroj alŝutatas" -#: js/files.js:328 js/files.js:361 +#: js/files.js:349 js/files.js:382 msgid "Upload cancelled." msgstr "La alŝuto nuliĝis." -#: js/files.js:430 +#: js/files.js:451 msgid "" "File upload is in progress. Leaving the page now will cancel the upload." msgstr "Dosieralŝuto plenumiĝas. Lasi la paĝon nun nuligus la alŝuton." -#: js/files.js:500 -msgid "Invalid name, '/' is not allowed." -msgstr "Nevalida nomo, “/” ne estas permesata." +#: js/files.js:523 +msgid "Invalid folder name. Usage of \"Shared\" is reserved by Owncloud" +msgstr "Nevalida nomo de dosierujo. Uzo de “Shared” rezervitas de Owncloud" -#: js/files.js:681 -msgid "files scanned" -msgstr "dosieroj skanitaj" +#: js/files.js:704 +msgid "{count} files scanned" +msgstr "{count} dosieroj skaniĝis" -#: js/files.js:689 +#: js/files.js:712 msgid "error while scanning" msgstr "eraro dum skano" -#: js/files.js:762 templates/index.php:48 +#: js/files.js:785 templates/index.php:65 msgid "Name" msgstr "Nomo" -#: js/files.js:763 templates/index.php:56 +#: js/files.js:786 templates/index.php:76 msgid "Size" msgstr "Grando" -#: js/files.js:764 templates/index.php:58 +#: js/files.js:787 templates/index.php:78 msgid "Modified" msgstr "Modifita" -#: js/files.js:791 -msgid "folder" -msgstr "dosierujo" - -#: js/files.js:793 -msgid "folders" -msgstr "dosierujoj" - -#: js/files.js:801 -msgid "file" -msgstr "dosiero" - -#: js/files.js:803 -msgid "files" -msgstr "dosieroj" - -#: js/files.js:847 -msgid "seconds ago" -msgstr "sekundoj antaŭe" - -#: js/files.js:848 -msgid "minute ago" -msgstr "minuto antaŭe" - -#: js/files.js:849 -msgid "minutes ago" -msgstr "minutoj antaŭe" +#: js/files.js:814 +msgid "1 folder" +msgstr "1 dosierujo" -#: js/files.js:852 -msgid "today" -msgstr "hodiaŭ" +#: js/files.js:816 +msgid "{count} folders" +msgstr "{count} dosierujoj" -#: js/files.js:853 -msgid "yesterday" -msgstr "hieraŭ" +#: js/files.js:824 +msgid "1 file" +msgstr "1 dosiero" -#: js/files.js:854 -msgid "days ago" -msgstr "tagoj antaŭe" - -#: js/files.js:855 -msgid "last month" -msgstr "lastamonate" - -#: js/files.js:857 -msgid "months ago" -msgstr "monatoj antaŭe" - -#: js/files.js:858 -msgid "last year" -msgstr "lastajare" - -#: js/files.js:859 -msgid "years ago" -msgstr "jaroj antaŭe" +#: js/files.js:826 +msgid "{count} files" +msgstr "{count} dosierujoj" #: templates/admin.php:5 msgid "File handling" @@ -222,27 +193,27 @@ msgstr "Dosieradministro" msgid "Maximum upload size" msgstr "Maksimuma alŝutogrando" -#: templates/admin.php:7 +#: templates/admin.php:9 msgid "max. possible: " msgstr "maks. ebla: " -#: templates/admin.php:9 +#: templates/admin.php:12 msgid "Needed for multi-file and folder downloads." msgstr "Necesa por elŝuto de pluraj dosieroj kaj dosierujoj." -#: templates/admin.php:9 +#: templates/admin.php:14 msgid "Enable ZIP-download" msgstr "Kapabligi ZIP-elŝuton" -#: templates/admin.php:11 +#: templates/admin.php:17 msgid "0 is unlimited" msgstr "0 signifas senlime" -#: templates/admin.php:12 +#: templates/admin.php:19 msgid "Maximum input size for ZIP files" msgstr "Maksimuma enirgrando por ZIP-dosieroj" -#: templates/admin.php:14 +#: templates/admin.php:23 msgid "Save" msgstr "Konservi" @@ -250,52 +221,48 @@ msgstr "Konservi" msgid "New" msgstr "Nova" -#: templates/index.php:9 +#: templates/index.php:10 msgid "Text file" msgstr "Tekstodosiero" -#: templates/index.php:10 +#: templates/index.php:12 msgid "Folder" msgstr "Dosierujo" -#: templates/index.php:11 -msgid "From url" -msgstr "El URL" +#: templates/index.php:14 +msgid "From link" +msgstr "El ligilo" -#: templates/index.php:20 +#: templates/index.php:35 msgid "Upload" msgstr "Alŝuti" -#: templates/index.php:27 +#: templates/index.php:43 msgid "Cancel upload" msgstr "Nuligi alŝuton" -#: templates/index.php:40 +#: templates/index.php:57 msgid "Nothing in here. Upload something!" msgstr "Nenio estas ĉi tie. Alŝutu ion!" -#: templates/index.php:50 -msgid "Share" -msgstr "Kunhavigi" - -#: templates/index.php:52 +#: templates/index.php:71 msgid "Download" msgstr "Elŝuti" -#: templates/index.php:75 +#: templates/index.php:103 msgid "Upload too large" msgstr "Elŝuto tro larĝa" -#: templates/index.php:77 +#: templates/index.php:105 msgid "" "The files you are trying to upload exceed the maximum size for file uploads " "on this server." msgstr "La dosieroj, kiujn vi provas alŝuti, transpasas la maksimuman grandon por dosieralŝutoj en ĉi tiu servilo." -#: templates/index.php:82 +#: templates/index.php:110 msgid "Files are being scanned, please wait." msgstr "Dosieroj estas skanataj, bonvolu atendi." -#: templates/index.php:85 +#: templates/index.php:113 msgid "Current scanning" msgstr "Nuna skano" diff --git a/l10n/eo/files_external.po b/l10n/eo/files_external.po index ea8451b7f4df2648e22796e4eaa0b83703bba766..f0857b375b90d73d98d18af18efb72f14ff9feb6 100644 --- a/l10n/eo/files_external.po +++ b/l10n/eo/files_external.po @@ -8,9 +8,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-14 02:05+0200\n" -"PO-Revision-Date: 2012-10-13 05:00+0000\n" -"Last-Translator: Mariano \n" +"POT-Creation-Date: 2012-12-12 00:12+0100\n" +"PO-Revision-Date: 2012-12-11 23:13+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Esperanto (http://www.transifex.com/projects/p/owncloud/language/eo/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -42,66 +42,80 @@ msgstr "Bonvolu provizi ŝlosilon de la aplikaĵo Dropbox validan kaj sekretan." msgid "Error configuring Google Drive storage" msgstr "Eraro dum agordado de la memorservo Google Drive" +#: lib/config.php:434 +msgid "" +"Warning: \"smbclient\" is not installed. Mounting of CIFS/SMB shares " +"is not possible. Please ask your system administrator to install it." +msgstr "" + +#: lib/config.php:435 +msgid "" +"Warning: The FTP support in PHP is not enabled or installed. Mounting" +" of FTP shares is not possible. Please ask your system administrator to " +"install it." +msgstr "" + #: templates/settings.php:3 msgid "External Storage" msgstr "Malena memorilo" -#: templates/settings.php:7 templates/settings.php:19 +#: templates/settings.php:8 templates/settings.php:22 msgid "Mount point" msgstr "Surmetingo" -#: templates/settings.php:8 +#: templates/settings.php:9 msgid "Backend" msgstr "Motoro" -#: templates/settings.php:9 +#: templates/settings.php:10 msgid "Configuration" msgstr "Agordo" -#: templates/settings.php:10 +#: templates/settings.php:11 msgid "Options" msgstr "Malneproj" -#: templates/settings.php:11 +#: templates/settings.php:12 msgid "Applicable" msgstr "Aplikebla" -#: templates/settings.php:23 +#: templates/settings.php:27 msgid "Add mount point" msgstr "Aldoni surmetingon" -#: templates/settings.php:54 templates/settings.php:62 +#: templates/settings.php:85 msgid "None set" msgstr "Nenio agordita" -#: templates/settings.php:63 +#: templates/settings.php:86 msgid "All Users" msgstr "Ĉiuj uzantoj" -#: templates/settings.php:64 +#: templates/settings.php:87 msgid "Groups" msgstr "Grupoj" -#: templates/settings.php:69 +#: templates/settings.php:95 msgid "Users" msgstr "Uzantoj" -#: templates/settings.php:77 templates/settings.php:107 +#: templates/settings.php:108 templates/settings.php:109 +#: templates/settings.php:149 templates/settings.php:150 msgid "Delete" msgstr "Forigi" -#: templates/settings.php:87 +#: templates/settings.php:124 msgid "Enable User External Storage" msgstr "Kapabligi malenan memorilon de uzanto" -#: templates/settings.php:88 +#: templates/settings.php:125 msgid "Allow users to mount their own external storage" msgstr "Permesi al uzantoj surmeti siajn proprajn malenajn memorilojn" -#: templates/settings.php:99 +#: templates/settings.php:139 msgid "SSL root certificates" msgstr "Radikaj SSL-atestoj" -#: templates/settings.php:113 +#: templates/settings.php:158 msgid "Import Root Certificate" msgstr "Enporti radikan ateston" diff --git a/l10n/eo/files_pdfviewer.po b/l10n/eo/files_pdfviewer.po deleted file mode 100644 index 14fae82ce83ccd7906da95031bfe197ee39c58e4..0000000000000000000000000000000000000000 --- a/l10n/eo/files_pdfviewer.po +++ /dev/null @@ -1,42 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 02:18+0200\n" -"PO-Revision-Date: 2012-08-26 00:19+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Esperanto (http://www.transifex.com/projects/p/owncloud/language/eo/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: eo\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: js/viewer.js:22 -msgid "Previous" -msgstr "" - -#: js/viewer.js:23 -msgid "Next" -msgstr "" - -#: js/viewer.js:29 -msgid "Page Width" -msgstr "" - -#: js/viewer.js:29 -msgid "Page Fit" -msgstr "" - -#: js/viewer.js:30 -msgid "Print" -msgstr "" - -#: js/viewer.js:32 -msgid "Download" -msgstr "" diff --git a/l10n/eo/files_texteditor.po b/l10n/eo/files_texteditor.po deleted file mode 100644 index 65715031621df9fce384606334fcf7be56bd1cd7..0000000000000000000000000000000000000000 --- a/l10n/eo/files_texteditor.po +++ /dev/null @@ -1,44 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 01:17+0200\n" -"PO-Revision-Date: 2012-08-25 23:18+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Esperanto (http://www.transifex.com/projects/p/owncloud/language/eo/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: eo\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: js/aceeditor/mode-coldfusion-uncompressed.js:1568 -#: js/aceeditor/mode-liquid-uncompressed.js:902 -#: js/aceeditor/mode-svg-uncompressed.js:1575 -msgid "regex" -msgstr "" - -#: js/editor.js:72 js/editor.js:156 js/editor.js:163 -msgid "Save" -msgstr "" - -#: js/editor.js:74 -msgid "Close" -msgstr "" - -#: js/editor.js:149 -msgid "Saving..." -msgstr "" - -#: js/editor.js:239 -msgid "An error occurred!" -msgstr "" - -#: js/editor.js:266 -msgid "There were unsaved changes, click here to go back" -msgstr "" diff --git a/l10n/eo/gallery.po b/l10n/eo/gallery.po deleted file mode 100644 index df1ecedeaf29c7ae828a2f45f99607e5d3cb9179..0000000000000000000000000000000000000000 --- a/l10n/eo/gallery.po +++ /dev/null @@ -1,96 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Michael Moroni , 2012. -# , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-06-06 00:12+0200\n" -"PO-Revision-Date: 2012-06-05 22:15+0000\n" -"Last-Translator: icewind \n" -"Language-Team: Esperanto (http://www.transifex.net/projects/p/owncloud/language/eo/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: eo\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: appinfo/app.php:37 -msgid "Pictures" -msgstr "Bildoj" - -#: js/album_cover.js:44 -msgid "Share gallery" -msgstr "" - -#: js/album_cover.js:64 js/album_cover.js:100 js/album_cover.js:133 -msgid "Error: " -msgstr "" - -#: js/album_cover.js:64 js/album_cover.js:100 -msgid "Internal error" -msgstr "" - -#: js/album_cover.js:114 -msgid "Scanning root" -msgstr "" - -#: js/album_cover.js:115 -msgid "Default order" -msgstr "" - -#: js/album_cover.js:116 -msgid "Ascending" -msgstr "" - -#: js/album_cover.js:116 -msgid "Descending" -msgstr "" - -#: js/album_cover.js:117 templates/index.php:19 -msgid "Settings" -msgstr "Agordo" - -#: js/album_cover.js:122 -msgid "Scanning root cannot be empty" -msgstr "" - -#: js/album_cover.js:122 js/album_cover.js:133 -msgid "Error" -msgstr "" - -#: templates/index.php:16 -msgid "Rescan" -msgstr "Reskani" - -#: templates/index.php:17 -msgid "Stop" -msgstr "Halti" - -#: templates/index.php:18 -msgid "Share" -msgstr "Kunhavigi" - -#: templates/view_album.php:19 -msgid "Back" -msgstr "Antaŭen" - -#: templates/view_album.php:36 -msgid "Remove confirmation" -msgstr "Forigi konfirmadon" - -#: templates/view_album.php:37 -msgid "Do you want to remove album" -msgstr "Ĉu vi volas forigi la albumon?" - -#: templates/view_album.php:40 -msgid "Change album name" -msgstr "Ŝanĝi albumnomon" - -#: templates/view_album.php:43 -msgid "New album name" -msgstr "Nova albumnomo" diff --git a/l10n/eo/impress.po b/l10n/eo/impress.po deleted file mode 100644 index 930ca99a87947d1b89eb6d5091c7e544903bede5..0000000000000000000000000000000000000000 --- a/l10n/eo/impress.po +++ /dev/null @@ -1,22 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 01:17+0200\n" -"PO-Revision-Date: 2012-08-25 23:18+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Esperanto (http://www.transifex.com/projects/p/owncloud/language/eo/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: eo\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: templates/presentations.php:7 -msgid "Documentation" -msgstr "" diff --git a/l10n/eo/lib.po b/l10n/eo/lib.po index 5e677a604558e5b2b00f87606b837d926a462e78..b4a219e21a2448bb69952376cec8230bed2196d6 100644 --- a/l10n/eo/lib.po +++ b/l10n/eo/lib.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-09-09 02:01+0200\n" -"PO-Revision-Date: 2012-09-08 21:50+0000\n" +"POT-Creation-Date: 2012-12-03 00:04+0100\n" +"PO-Revision-Date: 2012-12-02 21:42+0000\n" "Last-Translator: Mariano \n" "Language-Team: Esperanto (http://www.transifex.com/projects/p/owncloud/language/eo/)\n" "MIME-Version: 1.0\n" @@ -42,19 +42,19 @@ msgstr "Aplikaĵoj" msgid "Admin" msgstr "Administranto" -#: files.php:280 +#: files.php:361 msgid "ZIP download is turned off." msgstr "ZIP-elŝuto estas malkapabligita." -#: files.php:281 +#: files.php:362 msgid "Files need to be downloaded one by one." msgstr "Dosieroj devas elŝutiĝi unuope." -#: files.php:281 files.php:306 +#: files.php:362 files.php:387 msgid "Back to Files" msgstr "Reen al la dosieroj" -#: files.php:305 +#: files.php:386 msgid "Selected files too large to generate zip file." msgstr "La elektitaj dosieroj tro grandas por genero de ZIP-dosiero." @@ -62,7 +62,7 @@ msgstr "La elektitaj dosieroj tro grandas por genero de ZIP-dosiero." msgid "Application is not enabled" msgstr "La aplikaĵo ne estas kapabligita" -#: json.php:39 json.php:63 json.php:75 +#: json.php:39 json.php:64 json.php:77 json.php:89 msgid "Authentication error" msgstr "Aŭtentiga eraro" @@ -70,57 +70,84 @@ msgstr "Aŭtentiga eraro" msgid "Token expired. Please reload page." msgstr "Ĵetono eksvalidiĝis. Bonvolu reŝargi la paĝon." -#: template.php:87 +#: search/provider/file.php:17 search/provider/file.php:35 +msgid "Files" +msgstr "Dosieroj" + +#: search/provider/file.php:26 search/provider/file.php:33 +msgid "Text" +msgstr "Teksto" + +#: search/provider/file.php:29 +msgid "Images" +msgstr "Bildoj" + +#: template.php:103 msgid "seconds ago" msgstr "sekundojn antaŭe" -#: template.php:88 +#: template.php:104 msgid "1 minute ago" msgstr "antaŭ 1 minuto" -#: template.php:89 +#: template.php:105 #, php-format msgid "%d minutes ago" msgstr "antaŭ %d minutoj" -#: template.php:92 +#: template.php:106 +msgid "1 hour ago" +msgstr "antaŭ 1 horo" + +#: template.php:107 +#, php-format +msgid "%d hours ago" +msgstr "antaŭ %d horoj" + +#: template.php:108 msgid "today" msgstr "hodiaŭ" -#: template.php:93 +#: template.php:109 msgid "yesterday" msgstr "hieraŭ" -#: template.php:94 +#: template.php:110 #, php-format msgid "%d days ago" msgstr "antaŭ %d tagoj" -#: template.php:95 +#: template.php:111 msgid "last month" msgstr "lasta monato" -#: template.php:96 -msgid "months ago" -msgstr "monatojn antaŭe" +#: template.php:112 +#, php-format +msgid "%d months ago" +msgstr "antaŭ %d monatoj" -#: template.php:97 +#: template.php:113 msgid "last year" msgstr "lasta jaro" -#: template.php:98 +#: template.php:114 msgid "years ago" msgstr "jarojn antaŭe" -#: updater.php:66 +#: updater.php:75 #, php-format msgid "%s is available. Get more information" msgstr "%s haveblas. Ekhavu pli da informo" -#: updater.php:68 +#: updater.php:77 msgid "up to date" msgstr "ĝisdata" -#: updater.php:71 +#: updater.php:80 msgid "updates check is disabled" msgstr "ĝisdateckontrolo estas malkapabligita" + +#: vcategories.php:188 vcategories.php:249 +#, php-format +msgid "Could not find category \"%s\"" +msgstr "Ne troviĝis kategorio “%s”" diff --git a/l10n/eo/media.po b/l10n/eo/media.po deleted file mode 100644 index 135087b52cc66f2225cfb85e0bae3dd07721dd27..0000000000000000000000000000000000000000 --- a/l10n/eo/media.po +++ /dev/null @@ -1,69 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Mariano , 2012. -# Michael Moroni , 2012. -# , 2011, 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-19 02:02+0200\n" -"PO-Revision-Date: 2012-08-18 16:47+0000\n" -"Last-Translator: Mariano \n" -"Language-Team: Esperanto (http://www.transifex.com/projects/p/owncloud/language/eo/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: eo\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: appinfo/app.php:45 templates/player.php:8 -msgid "Music" -msgstr "Muziko" - -#: js/music.js:18 -msgid "Add album to playlist" -msgstr "Aldoni albumon al ludlisto" - -#: templates/music.php:3 templates/player.php:12 -msgid "Play" -msgstr "Ludi" - -#: templates/music.php:4 templates/music.php:26 templates/player.php:13 -msgid "Pause" -msgstr "Paŭzigi" - -#: templates/music.php:5 -msgid "Previous" -msgstr "Maljena" - -#: templates/music.php:6 templates/player.php:14 -msgid "Next" -msgstr "Jena" - -#: templates/music.php:7 -msgid "Mute" -msgstr "Silentigi" - -#: templates/music.php:8 -msgid "Unmute" -msgstr "Malsilentigi" - -#: templates/music.php:25 -msgid "Rescan Collection" -msgstr "Reskani la aron" - -#: templates/music.php:37 -msgid "Artist" -msgstr "Artisto" - -#: templates/music.php:38 -msgid "Album" -msgstr "Albumo" - -#: templates/music.php:39 -msgid "Title" -msgstr "Titolo" diff --git a/l10n/eo/settings.po b/l10n/eo/settings.po index 2ed4809d86c6d6855ca3818c9e683fc56b61b0bb..49a5a9135e40a6e5a0b264a896170817bd5f5154 100644 --- a/l10n/eo/settings.po +++ b/l10n/eo/settings.po @@ -9,8 +9,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-14 02:05+0200\n" -"PO-Revision-Date: 2012-10-13 05:05+0000\n" +"POT-Creation-Date: 2012-12-03 00:04+0100\n" +"PO-Revision-Date: 2012-12-02 22:14+0000\n" "Last-Translator: Mariano \n" "Language-Team: Esperanto (http://www.transifex.com/projects/p/owncloud/language/eo/)\n" "MIME-Version: 1.0\n" @@ -19,70 +19,73 @@ msgstr "" "Language: eo\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: ajax/apps/ocs.php:23 +#: ajax/apps/ocs.php:20 msgid "Unable to load list from App Store" msgstr "Ne eblis ŝargi liston el aplikaĵovendejo" -#: ajax/creategroup.php:9 ajax/removeuser.php:18 ajax/setquota.php:18 -#: ajax/togglegroups.php:15 -msgid "Authentication error" -msgstr "Aŭtentiga eraro" - -#: ajax/creategroup.php:19 +#: ajax/creategroup.php:10 msgid "Group already exists" msgstr "La grupo jam ekzistas" -#: ajax/creategroup.php:28 +#: ajax/creategroup.php:19 msgid "Unable to add group" msgstr "Ne eblis aldoni la grupon" -#: ajax/enableapp.php:14 +#: ajax/enableapp.php:12 msgid "Could not enable app. " msgstr "Ne eblis kapabligi la aplikaĵon." -#: ajax/lostpassword.php:14 +#: ajax/lostpassword.php:12 msgid "Email saved" msgstr "La retpoŝtadreso konserviĝis" -#: ajax/lostpassword.php:16 +#: ajax/lostpassword.php:14 msgid "Invalid email" msgstr "Nevalida retpoŝtadreso" -#: ajax/openid.php:16 +#: ajax/openid.php:13 msgid "OpenID Changed" msgstr "La agordo de OpenID estas ŝanĝita" -#: ajax/openid.php:18 ajax/setlanguage.php:20 ajax/setlanguage.php:23 +#: ajax/openid.php:15 ajax/setlanguage.php:17 ajax/setlanguage.php:20 msgid "Invalid request" msgstr "Nevalida peto" -#: ajax/removegroup.php:16 +#: ajax/removegroup.php:13 msgid "Unable to delete group" msgstr "Ne eblis forigi la grupon" -#: ajax/removeuser.php:27 +#: ajax/removeuser.php:15 ajax/setquota.php:15 ajax/togglegroups.php:18 +msgid "Authentication error" +msgstr "Aŭtentiga eraro" + +#: ajax/removeuser.php:24 msgid "Unable to delete user" msgstr "Ne eblis forigi la uzanton" -#: ajax/setlanguage.php:18 +#: ajax/setlanguage.php:15 msgid "Language changed" msgstr "La lingvo estas ŝanĝita" -#: ajax/togglegroups.php:25 +#: ajax/togglegroups.php:12 +msgid "Admins can't remove themself from the admin group" +msgstr "Administrantoj ne povas forigi sin mem el la administra grupo." + +#: ajax/togglegroups.php:28 #, php-format msgid "Unable to add user to group %s" msgstr "Ne eblis aldoni la uzanton al la grupo %s" -#: ajax/togglegroups.php:31 +#: ajax/togglegroups.php:34 #, php-format msgid "Unable to remove user from group %s" msgstr "Ne eblis forigi la uzantan el la grupo %s" -#: js/apps.js:28 js/apps.js:65 +#: js/apps.js:28 js/apps.js:67 msgid "Disable" msgstr "Malkapabligi" -#: js/apps.js:28 js/apps.js:54 +#: js/apps.js:28 js/apps.js:55 msgid "Enable" msgstr "Kapabligi" @@ -94,93 +97,6 @@ msgstr "Konservante..." msgid "__language_name__" msgstr "Esperanto" -#: templates/admin.php:14 -msgid "Security Warning" -msgstr "Sekureca averto" - -#: templates/admin.php:17 -msgid "" -"Your data directory and your files are probably accessible from the " -"internet. The .htaccess file that ownCloud provides is not working. We " -"strongly suggest that you configure your webserver in a way that the data " -"directory is no longer accessible or you move the data directory outside the" -" webserver document root." -msgstr "" - -#: templates/admin.php:31 -msgid "Cron" -msgstr "Cron" - -#: templates/admin.php:37 -msgid "Execute one task with each page loaded" -msgstr "" - -#: templates/admin.php:43 -msgid "" -"cron.php is registered at a webcron service. Call the cron.php page in the " -"owncloud root once a minute over http." -msgstr "" - -#: templates/admin.php:49 -msgid "" -"Use systems cron service. Call the cron.php file in the owncloud folder via " -"a system cronjob once a minute." -msgstr "" - -#: templates/admin.php:56 -msgid "Sharing" -msgstr "Kunhavigo" - -#: templates/admin.php:61 -msgid "Enable Share API" -msgstr "Kapabligi API-on por Kunhavigo" - -#: templates/admin.php:62 -msgid "Allow apps to use the Share API" -msgstr "Kapabligi aplikaĵojn uzi la API-on pri Kunhavigo" - -#: templates/admin.php:67 -msgid "Allow links" -msgstr "Kapabligi ligilojn" - -#: templates/admin.php:68 -msgid "Allow users to share items to the public with links" -msgstr "Kapabligi uzantojn kunhavigi erojn kun la publiko perligile" - -#: templates/admin.php:73 -msgid "Allow resharing" -msgstr "Kapabligi rekunhavigon" - -#: templates/admin.php:74 -msgid "Allow users to share items shared with them again" -msgstr "Kapabligi uzantojn rekunhavigi erojn kunhavigitajn kun ili" - -#: templates/admin.php:79 -msgid "Allow users to share with anyone" -msgstr "Kapabligi uzantojn kunhavigi kun ĉiu ajn" - -#: templates/admin.php:81 -msgid "Allow users to only share with users in their groups" -msgstr "Kapabligi uzantojn nur kunhavigi kun uzantoj el siaj grupoj" - -#: templates/admin.php:88 -msgid "Log" -msgstr "Protokolo" - -#: templates/admin.php:116 -msgid "More" -msgstr "Pli" - -#: templates/admin.php:124 -msgid "" -"Developed by the ownCloud community, the source code is " -"licensed under the AGPL." -msgstr "" - #: templates/apps.php:10 msgid "Add your App" msgstr "Aldonu vian aplikaĵon" @@ -213,21 +129,21 @@ msgstr "Administrante grandajn dosierojn" msgid "Ask a question" msgstr "Faru demandon" -#: templates/help.php:23 +#: templates/help.php:22 msgid "Problems connecting to help database." msgstr "Problemoj okazis dum konektado al la helpa datumbazo." -#: templates/help.php:24 +#: templates/help.php:23 msgid "Go there manually." msgstr "Iri tien mane." -#: templates/help.php:32 +#: templates/help.php:31 msgid "Answer" msgstr "Respondi" #: templates/personal.php:8 #, php-format -msgid "You have used %s of the available %s" +msgid "You have used %s of the available %s" msgstr "Vi uzas %s el la haveblaj %s" #: templates/personal.php:12 @@ -286,6 +202,16 @@ msgstr "Helpu traduki" msgid "use this address to connect to your ownCloud in your file manager" msgstr "uzu ĉi tiun adreson por konektiĝi al via ownCloud per via dosieradministrilo" +#: templates/personal.php:61 +msgid "" +"Developed by the ownCloud community, the source code is " +"licensed under the AGPL." +msgstr "Ellaborita de la komunumo de ownCloud, la fontokodo publikas laŭ la permesilo AGPL." + #: templates/users.php:21 templates/users.php:76 msgid "Name" msgstr "Nomo" diff --git a/l10n/eo/tasks.po b/l10n/eo/tasks.po deleted file mode 100644 index c53752bc4ccbbb0e99e0028c064c3ff9c4e71a15..0000000000000000000000000000000000000000 --- a/l10n/eo/tasks.po +++ /dev/null @@ -1,107 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Mariano , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-19 02:02+0200\n" -"PO-Revision-Date: 2012-08-18 14:52+0000\n" -"Last-Translator: Mariano \n" -"Language-Team: Esperanto (http://www.transifex.com/projects/p/owncloud/language/eo/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: eo\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: ajax/update_property.php:51 lib/app.php:89 lib/app.php:101 -msgid "Invalid date/time" -msgstr "Nevalida dato/horo" - -#: appinfo/app.php:11 -msgid "Tasks" -msgstr "Taskoj" - -#: js/tasks.js:415 -msgid "No category" -msgstr "Neniu kategorio" - -#: lib/app.php:33 -msgid "Unspecified" -msgstr "Nespecifita" - -#: lib/app.php:34 -msgid "1=highest" -msgstr "1=plej alta" - -#: lib/app.php:38 -msgid "5=medium" -msgstr "5=meza" - -#: lib/app.php:42 -msgid "9=lowest" -msgstr "9=plej malalta" - -#: lib/app.php:81 -msgid "Empty Summary" -msgstr "Malplena resumo" - -#: lib/app.php:93 -msgid "Invalid percent complete" -msgstr "Nevalida plenuma elcento" - -#: lib/app.php:107 -msgid "Invalid priority" -msgstr "Nevalida pligravo" - -#: templates/tasks.php:3 -msgid "Add Task" -msgstr "Aldoni taskon" - -#: templates/tasks.php:4 -msgid "Order Due" -msgstr "Ordigi laŭ limdato" - -#: templates/tasks.php:5 -msgid "Order List" -msgstr "Ordigi laŭ listo" - -#: templates/tasks.php:6 -msgid "Order Complete" -msgstr "Ordigi laŭ plenumo" - -#: templates/tasks.php:7 -msgid "Order Location" -msgstr "Ordigi laŭ loko" - -#: templates/tasks.php:8 -msgid "Order Priority" -msgstr "Ordigi laŭ pligravo" - -#: templates/tasks.php:9 -msgid "Order Label" -msgstr "Ordigi laŭ etikedo" - -#: templates/tasks.php:16 -msgid "Loading tasks..." -msgstr "Ŝargante taskojn..." - -#: templates/tasks.php:20 -msgid "Important" -msgstr "Grava" - -#: templates/tasks.php:23 -msgid "More" -msgstr "Pli" - -#: templates/tasks.php:26 -msgid "Less" -msgstr "Malpli" - -#: templates/tasks.php:29 -msgid "Delete" -msgstr "Forigi" diff --git a/l10n/eo/user_migrate.po b/l10n/eo/user_migrate.po deleted file mode 100644 index 27ea6386b0bc5d89e4b9e61848fe3b5f1def4b7f..0000000000000000000000000000000000000000 --- a/l10n/eo/user_migrate.po +++ /dev/null @@ -1,52 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Mariano , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-16 02:04+0200\n" -"PO-Revision-Date: 2012-08-15 19:36+0000\n" -"Last-Translator: Mariano \n" -"Language-Team: Esperanto (http://www.transifex.com/projects/p/owncloud/language/eo/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: eo\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: js/export.js:14 js/export.js:20 -msgid "Export" -msgstr "Malenporti" - -#: js/export.js:19 -msgid "Something went wrong while the export file was being generated" -msgstr "Io malsukcesis dum la enportota dosiero generiĝis" - -#: js/export.js:19 -msgid "An error has occurred" -msgstr "Eraro okazis" - -#: templates/settings.php:2 -msgid "Export your user account" -msgstr "Malenporti vian uzantokonton" - -#: templates/settings.php:3 -msgid "" -"This will create a compressed file that contains your ownCloud account." -msgstr "Ĉi tio kreos densigitan dosieron, kiu enhavas vian konton de ownCloud." - -#: templates/settings.php:13 -msgid "Import user account" -msgstr "Enporti uzantokonton" - -#: templates/settings.php:15 -msgid "ownCloud User Zip" -msgstr "ZIP-dosiero de uzanto de ownCloud" - -#: templates/settings.php:17 -msgid "Import" -msgstr "Enporti" diff --git a/l10n/eo/user_openid.po b/l10n/eo/user_openid.po deleted file mode 100644 index 237164674bb16dd42a3ceab549598f95c3b968fe..0000000000000000000000000000000000000000 --- a/l10n/eo/user_openid.po +++ /dev/null @@ -1,55 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Mariano , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-16 02:04+0200\n" -"PO-Revision-Date: 2012-08-15 21:05+0000\n" -"Last-Translator: Mariano \n" -"Language-Team: Esperanto (http://www.transifex.com/projects/p/owncloud/language/eo/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: eo\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: templates/nomode.php:12 -msgid "This is an OpenID server endpoint. For more information, see " -msgstr "Ĉi tio estas finpunkto de OpenID-servilo. Por pli da informo, vidu" - -#: templates/nomode.php:14 -msgid "Identity: " -msgstr "Idento: " - -#: templates/nomode.php:15 -msgid "Realm: " -msgstr "Regno: " - -#: templates/nomode.php:16 -msgid "User: " -msgstr "Uzanto: " - -#: templates/nomode.php:17 -msgid "Login" -msgstr "Ensaluti" - -#: templates/nomode.php:22 -msgid "Error: No user Selected" -msgstr "Eraro: neniu uzanto estas elektita" - -#: templates/settings.php:4 -msgid "you can authenticate to other sites with this address" -msgstr "Vi povas ensaluti en aliaj ejoj per tiu ĉi adreso" - -#: templates/settings.php:5 -msgid "Authorized OpenID provider" -msgstr "Rajtigita OpenID-provizanto" - -#: templates/settings.php:6 -msgid "Your address at Wordpress, Identi.ca, …" -msgstr "Via adreso ĉe Wordpress, Identi.ca…" diff --git a/l10n/eo/files_odfviewer.po b/l10n/eo/user_webdavauth.po similarity index 60% rename from l10n/eo/files_odfviewer.po rename to l10n/eo/user_webdavauth.po index ebc4993230eb72f5d7ae9f5407dc9622ac342208..cb6f7a47384b6acd19ee8abfa530d03ba62fb2f6 100644 --- a/l10n/eo/files_odfviewer.po +++ b/l10n/eo/user_webdavauth.po @@ -3,20 +3,21 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# Mariano , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 02:18+0200\n" -"PO-Revision-Date: 2012-08-26 00:19+0000\n" -"Last-Translator: FULL NAME \n" +"POT-Creation-Date: 2012-11-24 00:01+0100\n" +"PO-Revision-Date: 2012-11-23 19:41+0000\n" +"Last-Translator: Mariano \n" "Language-Team: Esperanto (http://www.transifex.com/projects/p/owncloud/language/eo/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: eo\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: js/viewer.js:9 -msgid "Close" -msgstr "" +#: templates/settings.php:4 +msgid "WebDAV URL: http://" +msgstr "WebDAV-a URL: http://" diff --git a/l10n/es/admin_dependencies_chk.po b/l10n/es/admin_dependencies_chk.po deleted file mode 100644 index acbf8db12a8b6cedda51f01aee8faaafed21b6d5..0000000000000000000000000000000000000000 --- a/l10n/es/admin_dependencies_chk.po +++ /dev/null @@ -1,74 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Javier Llorente , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-24 02:01+0200\n" -"PO-Revision-Date: 2012-08-23 09:25+0000\n" -"Last-Translator: Javier Llorente \n" -"Language-Team: Spanish (http://www.transifex.com/projects/p/owncloud/language/es/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: es\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: settings.php:33 -msgid "" -"The php-json module is needed by the many applications for inter " -"communications" -msgstr "" - -#: settings.php:39 -msgid "" -"The php-curl modude is needed to fetch the page title when adding a " -"bookmarks" -msgstr "" - -#: settings.php:45 -msgid "The php-gd module is needed to create thumbnails of your images" -msgstr "" - -#: settings.php:51 -msgid "The php-ldap module is needed connect to your ldap server" -msgstr "" - -#: settings.php:57 -msgid "The php-zip module is needed download multiple files at once" -msgstr "" - -#: settings.php:63 -msgid "" -"The php-mb_multibyte module is needed to manage correctly the encoding." -msgstr "" - -#: settings.php:69 -msgid "The php-ctype module is needed validate data." -msgstr "" - -#: settings.php:75 -msgid "The php-xml module is needed to share files with webdav." -msgstr "" - -#: settings.php:81 -msgid "" -"The allow_url_fopen directive of your php.ini should be set to 1 to retrieve" -" knowledge base from OCS servers" -msgstr "" - -#: settings.php:87 -msgid "The php-pdo module is needed to store owncloud data into a database." -msgstr "" - -#: templates/settings.php:2 -msgid "Dependencies status" -msgstr "Estado de las dependencias" - -#: templates/settings.php:7 -msgid "Used by :" -msgstr "Usado por:" diff --git a/l10n/es/admin_migrate.po b/l10n/es/admin_migrate.po deleted file mode 100644 index fd2230f4c7d10810658b0350aecfa141c7ef257e..0000000000000000000000000000000000000000 --- a/l10n/es/admin_migrate.po +++ /dev/null @@ -1,33 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-13 04:59+0000\n" -"Last-Translator: juanman \n" -"Language-Team: Spanish (http://www.transifex.com/projects/p/owncloud/language/es/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: es\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: templates/settings.php:3 -msgid "Export this ownCloud instance" -msgstr "Exportar esta instancia de ownCloud" - -#: templates/settings.php:4 -msgid "" -"This will create a compressed file that contains the data of this owncloud instance.\n" -" Please choose the export type:" -msgstr "Se creará un archivo comprimido que contendrá los datos de esta instancia de owncloud.\n Por favor elegir el tipo de exportación:" - -#: templates/settings.php:12 -msgid "Export" -msgstr "Exportar" diff --git a/l10n/es/bookmarks.po b/l10n/es/bookmarks.po deleted file mode 100644 index d00d8c372b484b3e1dedbfaa96b22b405f5e29eb..0000000000000000000000000000000000000000 --- a/l10n/es/bookmarks.po +++ /dev/null @@ -1,61 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-07-30 02:02+0200\n" -"PO-Revision-Date: 2012-07-29 04:30+0000\n" -"Last-Translator: juanman \n" -"Language-Team: Spanish (http://www.transifex.com/projects/p/owncloud/language/es/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: es\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: appinfo/app.php:14 -msgid "Bookmarks" -msgstr "Marcadores" - -#: bookmarksHelper.php:99 -msgid "unnamed" -msgstr "sin nombre" - -#: templates/bookmarklet.php:5 -msgid "" -"Drag this to your browser bookmarks and click it, when you want to bookmark " -"a webpage quickly:" -msgstr "Arrastra desde aquí a los marcadores de tu navegador, y haz clic cuando quieras marcar una página web rápidamente:" - -#: templates/bookmarklet.php:7 -msgid "Read later" -msgstr "Leer después" - -#: templates/list.php:13 -msgid "Address" -msgstr "Dirección" - -#: templates/list.php:14 -msgid "Title" -msgstr "Título" - -#: templates/list.php:15 -msgid "Tags" -msgstr "Etiquetas" - -#: templates/list.php:16 -msgid "Save bookmark" -msgstr "Guardar marcador" - -#: templates/list.php:22 -msgid "You have no bookmarks" -msgstr "No tienes marcadores" - -#: templates/settings.php:11 -msgid "Bookmarklet
" -msgstr "Bookmarklet
" diff --git a/l10n/es/calendar.po b/l10n/es/calendar.po deleted file mode 100644 index 06a6465879a5f5494cc66358f8125cbab4b8d668..0000000000000000000000000000000000000000 --- a/l10n/es/calendar.po +++ /dev/null @@ -1,819 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# , 2012. -# Javier Llorente , 2012. -# , 2011, 2012. -# oSiNaReF <>, 2012. -# , 2012. -# , 2011, 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-11 02:02+0200\n" -"PO-Revision-Date: 2012-08-11 00:02+0000\n" -"Last-Translator: owncloud_robot \n" -"Language-Team: Spanish (http://www.transifex.com/projects/p/owncloud/language/es/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: es\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: ajax/cache/status.php:19 -msgid "Not all calendars are completely cached" -msgstr "Aún no se han guardado en caché todos los calendarios" - -#: ajax/cache/status.php:21 -msgid "Everything seems to be completely cached" -msgstr "Parece que se ha guardado todo en caché" - -#: ajax/categories/rescan.php:29 -msgid "No calendars found." -msgstr "No se encontraron calendarios." - -#: ajax/categories/rescan.php:37 -msgid "No events found." -msgstr "No se encontraron eventos." - -#: ajax/event/edit.form.php:20 -msgid "Wrong calendar" -msgstr "Calendario incorrecto" - -#: ajax/import/dropimport.php:29 ajax/import/import.php:64 -msgid "" -"The file contained either no events or all events are already saved in your " -"calendar." -msgstr "El archivo no contiene eventos o ya existen en tu calendario." - -#: ajax/import/dropimport.php:31 ajax/import/import.php:67 -msgid "events has been saved in the new calendar" -msgstr "Los eventos han sido guardados en el nuevo calendario" - -#: ajax/import/import.php:56 -msgid "Import failed" -msgstr "Fallo en la importación" - -#: ajax/import/import.php:69 -msgid "events has been saved in your calendar" -msgstr "eventos se han guardado en tu calendario" - -#: ajax/settings/guesstimezone.php:25 -msgid "New Timezone:" -msgstr "Nueva zona horaria:" - -#: ajax/settings/settimezone.php:23 -msgid "Timezone changed" -msgstr "Zona horaria cambiada" - -#: ajax/settings/settimezone.php:25 -msgid "Invalid request" -msgstr "Petición no válida" - -#: appinfo/app.php:35 templates/calendar.php:15 -#: templates/part.eventform.php:33 templates/part.showevent.php:33 -msgid "Calendar" -msgstr "Calendario" - -#: js/calendar.js:832 -msgid "ddd" -msgstr "ddd" - -#: js/calendar.js:833 -msgid "ddd M/d" -msgstr "ddd M/d" - -#: js/calendar.js:834 -msgid "dddd M/d" -msgstr "dddd M/d" - -#: js/calendar.js:837 -msgid "MMMM yyyy" -msgstr "MMMM yyyy" - -#: js/calendar.js:839 -msgid "MMM d[ yyyy]{ '—'[ MMM] d yyyy}" -msgstr "MMM d[ yyyy]{ '—'[ MMM] d yyyy}" - -#: js/calendar.js:841 -msgid "dddd, MMM d, yyyy" -msgstr "dddd, MMM d, yyyy" - -#: lib/app.php:121 -msgid "Birthday" -msgstr "Cumpleaños" - -#: lib/app.php:122 -msgid "Business" -msgstr "Negocios" - -#: lib/app.php:123 -msgid "Call" -msgstr "Llamada" - -#: lib/app.php:124 -msgid "Clients" -msgstr "Clientes" - -#: lib/app.php:125 -msgid "Deliverer" -msgstr "Entrega" - -#: lib/app.php:126 -msgid "Holidays" -msgstr "Festivos" - -#: lib/app.php:127 -msgid "Ideas" -msgstr "Ideas" - -#: lib/app.php:128 -msgid "Journey" -msgstr "Viaje" - -#: lib/app.php:129 -msgid "Jubilee" -msgstr "Aniversario" - -#: lib/app.php:130 -msgid "Meeting" -msgstr "Reunión" - -#: lib/app.php:131 -msgid "Other" -msgstr "Otro" - -#: lib/app.php:132 -msgid "Personal" -msgstr "Personal" - -#: lib/app.php:133 -msgid "Projects" -msgstr "Proyectos" - -#: lib/app.php:134 -msgid "Questions" -msgstr "Preguntas" - -#: lib/app.php:135 -msgid "Work" -msgstr "Trabajo" - -#: lib/app.php:351 lib/app.php:361 -msgid "by" -msgstr "por" - -#: lib/app.php:359 lib/app.php:399 -msgid "unnamed" -msgstr "Sin nombre" - -#: lib/import.php:184 templates/calendar.php:12 -#: templates/part.choosecalendar.php:22 -msgid "New Calendar" -msgstr "Nuevo calendario" - -#: lib/object.php:372 -msgid "Does not repeat" -msgstr "No se repite" - -#: lib/object.php:373 -msgid "Daily" -msgstr "Diariamente" - -#: lib/object.php:374 -msgid "Weekly" -msgstr "Semanalmente" - -#: lib/object.php:375 -msgid "Every Weekday" -msgstr "Días de semana laboral" - -#: lib/object.php:376 -msgid "Bi-Weekly" -msgstr "Cada 2 semanas" - -#: lib/object.php:377 -msgid "Monthly" -msgstr "Mensualmente" - -#: lib/object.php:378 -msgid "Yearly" -msgstr "Anualmente" - -#: lib/object.php:388 -msgid "never" -msgstr "nunca" - -#: lib/object.php:389 -msgid "by occurrences" -msgstr "por ocurrencias" - -#: lib/object.php:390 -msgid "by date" -msgstr "por fecha" - -#: lib/object.php:400 -msgid "by monthday" -msgstr "por día del mes" - -#: lib/object.php:401 -msgid "by weekday" -msgstr "por día de la semana" - -#: lib/object.php:411 templates/calendar.php:5 templates/settings.php:69 -msgid "Monday" -msgstr "Lunes" - -#: lib/object.php:412 templates/calendar.php:5 -msgid "Tuesday" -msgstr "Martes" - -#: lib/object.php:413 templates/calendar.php:5 -msgid "Wednesday" -msgstr "Miércoles" - -#: lib/object.php:414 templates/calendar.php:5 -msgid "Thursday" -msgstr "Jueves" - -#: lib/object.php:415 templates/calendar.php:5 -msgid "Friday" -msgstr "Viernes" - -#: lib/object.php:416 templates/calendar.php:5 -msgid "Saturday" -msgstr "Sábado" - -#: lib/object.php:417 templates/calendar.php:5 templates/settings.php:70 -msgid "Sunday" -msgstr "Domingo" - -#: lib/object.php:427 -msgid "events week of month" -msgstr "eventos de la semana del mes" - -#: lib/object.php:428 -msgid "first" -msgstr "primer" - -#: lib/object.php:429 -msgid "second" -msgstr "segundo" - -#: lib/object.php:430 -msgid "third" -msgstr "tercer" - -#: lib/object.php:431 -msgid "fourth" -msgstr "cuarto" - -#: lib/object.php:432 -msgid "fifth" -msgstr "quinto" - -#: lib/object.php:433 -msgid "last" -msgstr "último" - -#: lib/object.php:467 templates/calendar.php:7 -msgid "January" -msgstr "Enero" - -#: lib/object.php:468 templates/calendar.php:7 -msgid "February" -msgstr "Febrero" - -#: lib/object.php:469 templates/calendar.php:7 -msgid "March" -msgstr "Marzo" - -#: lib/object.php:470 templates/calendar.php:7 -msgid "April" -msgstr "Abril" - -#: lib/object.php:471 templates/calendar.php:7 -msgid "May" -msgstr "Mayo" - -#: lib/object.php:472 templates/calendar.php:7 -msgid "June" -msgstr "Junio" - -#: lib/object.php:473 templates/calendar.php:7 -msgid "July" -msgstr "Julio" - -#: lib/object.php:474 templates/calendar.php:7 -msgid "August" -msgstr "Agosto" - -#: lib/object.php:475 templates/calendar.php:7 -msgid "September" -msgstr "Septiembre" - -#: lib/object.php:476 templates/calendar.php:7 -msgid "October" -msgstr "Octubre" - -#: lib/object.php:477 templates/calendar.php:7 -msgid "November" -msgstr "Noviembre" - -#: lib/object.php:478 templates/calendar.php:7 -msgid "December" -msgstr "Diciembre" - -#: lib/object.php:488 -msgid "by events date" -msgstr "por fecha de los eventos" - -#: lib/object.php:489 -msgid "by yearday(s)" -msgstr "por día(s) del año" - -#: lib/object.php:490 -msgid "by weeknumber(s)" -msgstr "por número(s) de semana" - -#: lib/object.php:491 -msgid "by day and month" -msgstr "por día y mes" - -#: lib/search.php:35 lib/search.php:37 lib/search.php:40 -msgid "Date" -msgstr "Fecha" - -#: lib/search.php:43 -msgid "Cal." -msgstr "Cal." - -#: templates/calendar.php:6 -msgid "Sun." -msgstr "Dom." - -#: templates/calendar.php:6 -msgid "Mon." -msgstr "Lun." - -#: templates/calendar.php:6 -msgid "Tue." -msgstr "Mar." - -#: templates/calendar.php:6 -msgid "Wed." -msgstr "Mier." - -#: templates/calendar.php:6 -msgid "Thu." -msgstr "Jue." - -#: templates/calendar.php:6 -msgid "Fri." -msgstr "Vie." - -#: templates/calendar.php:6 -msgid "Sat." -msgstr "Sab." - -#: templates/calendar.php:8 -msgid "Jan." -msgstr "Ene." - -#: templates/calendar.php:8 -msgid "Feb." -msgstr "Feb." - -#: templates/calendar.php:8 -msgid "Mar." -msgstr "Mar." - -#: templates/calendar.php:8 -msgid "Apr." -msgstr "Abr." - -#: templates/calendar.php:8 -msgid "May." -msgstr "May." - -#: templates/calendar.php:8 -msgid "Jun." -msgstr "Jun." - -#: templates/calendar.php:8 -msgid "Jul." -msgstr "Jul." - -#: templates/calendar.php:8 -msgid "Aug." -msgstr "Ago." - -#: templates/calendar.php:8 -msgid "Sep." -msgstr "Sep." - -#: templates/calendar.php:8 -msgid "Oct." -msgstr "Oct." - -#: templates/calendar.php:8 -msgid "Nov." -msgstr "Nov." - -#: templates/calendar.php:8 -msgid "Dec." -msgstr "Dic." - -#: templates/calendar.php:11 -msgid "All day" -msgstr "Todo el día" - -#: templates/calendar.php:13 -msgid "Missing fields" -msgstr "Los campos que faltan" - -#: templates/calendar.php:14 templates/part.eventform.php:19 -#: templates/part.showevent.php:11 -msgid "Title" -msgstr "Título" - -#: templates/calendar.php:16 -msgid "From Date" -msgstr "Desde la fecha" - -#: templates/calendar.php:17 -msgid "From Time" -msgstr "Desde la hora" - -#: templates/calendar.php:18 -msgid "To Date" -msgstr "Hasta la fecha" - -#: templates/calendar.php:19 -msgid "To Time" -msgstr "Hasta la hora" - -#: templates/calendar.php:20 -msgid "The event ends before it starts" -msgstr "El evento termina antes de que comience" - -#: templates/calendar.php:21 -msgid "There was a database fail" -msgstr "Se ha producido un error en la base de datos" - -#: templates/calendar.php:39 -msgid "Week" -msgstr "Semana" - -#: templates/calendar.php:40 -msgid "Month" -msgstr "Mes" - -#: templates/calendar.php:41 -msgid "List" -msgstr "Lista" - -#: templates/calendar.php:45 -msgid "Today" -msgstr "Hoy" - -#: templates/calendar.php:46 templates/calendar.php:47 -msgid "Settings" -msgstr "" - -#: templates/part.choosecalendar.php:2 -msgid "Your calendars" -msgstr "Tus calendarios" - -#: templates/part.choosecalendar.php:27 -#: templates/part.choosecalendar.rowfields.php:11 -msgid "CalDav Link" -msgstr "Enlace a CalDav" - -#: templates/part.choosecalendar.php:31 -msgid "Shared calendars" -msgstr "Calendarios compartidos" - -#: templates/part.choosecalendar.php:48 -msgid "No shared calendars" -msgstr "Calendarios no compartidos" - -#: templates/part.choosecalendar.rowfields.php:8 -msgid "Share Calendar" -msgstr "Compartir calendario" - -#: templates/part.choosecalendar.rowfields.php:14 -msgid "Download" -msgstr "Descargar" - -#: templates/part.choosecalendar.rowfields.php:17 -msgid "Edit" -msgstr "Editar" - -#: templates/part.choosecalendar.rowfields.php:20 -#: templates/part.editevent.php:9 -msgid "Delete" -msgstr "Eliminar" - -#: templates/part.choosecalendar.rowfields.shared.php:4 -msgid "shared with you by" -msgstr "compartido contigo por" - -#: templates/part.editcalendar.php:9 -msgid "New calendar" -msgstr "Nuevo calendario" - -#: templates/part.editcalendar.php:9 -msgid "Edit calendar" -msgstr "Editar calendario" - -#: templates/part.editcalendar.php:12 -msgid "Displayname" -msgstr "Nombre" - -#: templates/part.editcalendar.php:23 -msgid "Active" -msgstr "Activo" - -#: templates/part.editcalendar.php:29 -msgid "Calendar color" -msgstr "Color del calendario" - -#: templates/part.editcalendar.php:42 -msgid "Save" -msgstr "Guardar" - -#: templates/part.editcalendar.php:42 templates/part.editevent.php:8 -#: templates/part.newevent.php:6 -msgid "Submit" -msgstr "Guardar" - -#: templates/part.editcalendar.php:43 -msgid "Cancel" -msgstr "Cancelar" - -#: templates/part.editevent.php:1 -msgid "Edit an event" -msgstr "Editar un evento" - -#: templates/part.editevent.php:10 -msgid "Export" -msgstr "Exportar" - -#: templates/part.eventform.php:8 templates/part.showevent.php:3 -msgid "Eventinfo" -msgstr "Información del evento" - -#: templates/part.eventform.php:9 templates/part.showevent.php:4 -msgid "Repeating" -msgstr "Repetición" - -#: templates/part.eventform.php:10 templates/part.showevent.php:5 -msgid "Alarm" -msgstr "Alarma" - -#: templates/part.eventform.php:11 templates/part.showevent.php:6 -msgid "Attendees" -msgstr "Asistentes" - -#: templates/part.eventform.php:13 -msgid "Share" -msgstr "Compartir" - -#: templates/part.eventform.php:21 -msgid "Title of the Event" -msgstr "Título del evento" - -#: templates/part.eventform.php:27 templates/part.showevent.php:19 -msgid "Category" -msgstr "Categoría" - -#: templates/part.eventform.php:29 -msgid "Separate categories with commas" -msgstr "Separar categorías con comas" - -#: templates/part.eventform.php:30 -msgid "Edit categories" -msgstr "Editar categorías" - -#: templates/part.eventform.php:56 templates/part.showevent.php:52 -msgid "All Day Event" -msgstr "Todo el día" - -#: templates/part.eventform.php:60 templates/part.showevent.php:56 -msgid "From" -msgstr "Desde" - -#: templates/part.eventform.php:68 templates/part.showevent.php:64 -msgid "To" -msgstr "Hasta" - -#: templates/part.eventform.php:76 templates/part.showevent.php:72 -msgid "Advanced options" -msgstr "Opciones avanzadas" - -#: templates/part.eventform.php:81 templates/part.showevent.php:77 -msgid "Location" -msgstr "Lugar" - -#: templates/part.eventform.php:83 -msgid "Location of the Event" -msgstr "Lugar del evento" - -#: templates/part.eventform.php:89 templates/part.showevent.php:85 -msgid "Description" -msgstr "Descripción" - -#: templates/part.eventform.php:91 -msgid "Description of the Event" -msgstr "Descripción del evento" - -#: templates/part.eventform.php:100 templates/part.showevent.php:95 -msgid "Repeat" -msgstr "Repetir" - -#: templates/part.eventform.php:107 templates/part.showevent.php:102 -msgid "Advanced" -msgstr "Avanzado" - -#: templates/part.eventform.php:151 templates/part.showevent.php:146 -msgid "Select weekdays" -msgstr "Seleccionar días de la semana" - -#: templates/part.eventform.php:164 templates/part.eventform.php:177 -#: templates/part.showevent.php:159 templates/part.showevent.php:172 -msgid "Select days" -msgstr "Seleccionar días" - -#: templates/part.eventform.php:169 templates/part.showevent.php:164 -msgid "and the events day of year." -msgstr "y el día del año de los eventos." - -#: templates/part.eventform.php:182 templates/part.showevent.php:177 -msgid "and the events day of month." -msgstr "y el día del mes de los eventos." - -#: templates/part.eventform.php:190 templates/part.showevent.php:185 -msgid "Select months" -msgstr "Seleccionar meses" - -#: templates/part.eventform.php:203 templates/part.showevent.php:198 -msgid "Select weeks" -msgstr "Seleccionar semanas" - -#: templates/part.eventform.php:208 templates/part.showevent.php:203 -msgid "and the events week of year." -msgstr "y la semana del año de los eventos." - -#: templates/part.eventform.php:214 templates/part.showevent.php:209 -msgid "Interval" -msgstr "Intervalo" - -#: templates/part.eventform.php:220 templates/part.showevent.php:215 -msgid "End" -msgstr "Fin" - -#: templates/part.eventform.php:233 templates/part.showevent.php:228 -msgid "occurrences" -msgstr "ocurrencias" - -#: templates/part.import.php:14 -msgid "create a new calendar" -msgstr "Crear un nuevo calendario" - -#: templates/part.import.php:17 -msgid "Import a calendar file" -msgstr "Importar un archivo de calendario" - -#: templates/part.import.php:24 -msgid "Please choose a calendar" -msgstr "Por favor, escoge un calendario" - -#: templates/part.import.php:36 -msgid "Name of new calendar" -msgstr "Nombre del nuevo calendario" - -#: templates/part.import.php:44 -msgid "Take an available name!" -msgstr "¡Elige un nombre disponible!" - -#: templates/part.import.php:45 -msgid "" -"A Calendar with this name already exists. If you continue anyhow, these " -"calendars will be merged." -msgstr "Ya existe un calendario con este nombre. Si continúas, se combinarán los calendarios." - -#: templates/part.import.php:47 -msgid "Import" -msgstr "Importar" - -#: templates/part.import.php:56 -msgid "Close Dialog" -msgstr "Cerrar diálogo" - -#: templates/part.newevent.php:1 -msgid "Create a new event" -msgstr "Crear un nuevo evento" - -#: templates/part.showevent.php:1 -msgid "View an event" -msgstr "Ver un evento" - -#: templates/part.showevent.php:23 -msgid "No categories selected" -msgstr "Ninguna categoría seleccionada" - -#: templates/part.showevent.php:37 -msgid "of" -msgstr "de" - -#: templates/part.showevent.php:59 templates/part.showevent.php:67 -msgid "at" -msgstr "a las" - -#: templates/settings.php:10 -msgid "General" -msgstr "" - -#: templates/settings.php:15 -msgid "Timezone" -msgstr "Zona horaria" - -#: templates/settings.php:47 -msgid "Update timezone automatically" -msgstr "" - -#: templates/settings.php:52 -msgid "Time format" -msgstr "" - -#: templates/settings.php:57 -msgid "24h" -msgstr "24h" - -#: templates/settings.php:58 -msgid "12h" -msgstr "12h" - -#: templates/settings.php:64 -msgid "Start week on" -msgstr "" - -#: templates/settings.php:76 -msgid "Cache" -msgstr "Caché" - -#: templates/settings.php:80 -msgid "Clear cache for repeating events" -msgstr "Limpiar caché de eventos recurrentes" - -#: templates/settings.php:85 -msgid "URLs" -msgstr "" - -#: templates/settings.php:87 -msgid "Calendar CalDAV syncing addresses" -msgstr "Direcciones de sincronización de calendario CalDAV:" - -#: templates/settings.php:87 -msgid "more info" -msgstr "Más información" - -#: templates/settings.php:89 -msgid "Primary address (Kontact et al)" -msgstr "Dirección principal (Kontact y otros)" - -#: templates/settings.php:91 -msgid "iOS/OS X" -msgstr "iOS/OS X" - -#: templates/settings.php:93 -msgid "Read only iCalendar link(s)" -msgstr "Enlace(s) iCalendar de sólo lectura" - -#: templates/share.dropdown.php:20 -msgid "Users" -msgstr "Usuarios" - -#: templates/share.dropdown.php:21 -msgid "select users" -msgstr "seleccionar usuarios" - -#: templates/share.dropdown.php:36 templates/share.dropdown.php:62 -msgid "Editable" -msgstr "Editable" - -#: templates/share.dropdown.php:48 -msgid "Groups" -msgstr "Grupos" - -#: templates/share.dropdown.php:49 -msgid "select groups" -msgstr "seleccionar grupos" - -#: templates/share.dropdown.php:75 -msgid "make public" -msgstr "hacerlo público" diff --git a/l10n/es/contacts.po b/l10n/es/contacts.po deleted file mode 100644 index b437840d41c7e1a8e7052ac96c2055cca866f1fd..0000000000000000000000000000000000000000 --- a/l10n/es/contacts.po +++ /dev/null @@ -1,958 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# , 2012. -# Javier Llorente , 2012. -# , 2011, 2012. -# oSiNaReF <>, 2012. -# , 2012. -# , 2011, 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-24 02:02+0200\n" -"PO-Revision-Date: 2012-08-24 00:02+0000\n" -"Last-Translator: I Robot \n" -"Language-Team: Spanish (http://www.transifex.com/projects/p/owncloud/language/es/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: es\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: ajax/addressbook/activate.php:24 ajax/addressbook/update.php:32 -msgid "Error (de)activating addressbook." -msgstr "Error al (des)activar libreta de direcciones." - -#: ajax/addressbook/delete.php:31 ajax/addressbook/update.php:20 -#: ajax/contact/addproperty.php:42 ajax/contact/delete.php:32 -#: ajax/contact/saveproperty.php:39 -msgid "id is not set." -msgstr "no se ha puesto ninguna ID." - -#: ajax/addressbook/update.php:24 -msgid "Cannot update addressbook with an empty name." -msgstr "No se puede actualizar una libreta de direcciones sin nombre." - -#: ajax/addressbook/update.php:28 -msgid "Error updating addressbook." -msgstr "Error al actualizar la libreta de direcciones." - -#: ajax/categories/categoriesfor.php:17 -msgid "No ID provided" -msgstr "No se ha proporcionado una ID" - -#: ajax/categories/categoriesfor.php:34 -msgid "Error setting checksum." -msgstr "Error al establecer la suma de verificación." - -#: ajax/categories/delete.php:19 -msgid "No categories selected for deletion." -msgstr "No se seleccionaron categorías para borrar." - -#: ajax/categories/delete.php:26 -msgid "No address books found." -msgstr "No se encontraron libretas de direcciones." - -#: ajax/categories/delete.php:34 -msgid "No contacts found." -msgstr "No se encontraron contactos." - -#: ajax/contact/add.php:47 -msgid "There was an error adding the contact." -msgstr "Se ha producido un error al añadir el contacto." - -#: ajax/contact/addproperty.php:39 ajax/contact/saveproperty.php:36 -msgid "element name is not set." -msgstr "no se ha puesto ningún nombre de elemento." - -#: ajax/contact/addproperty.php:46 -msgid "Could not parse contact: " -msgstr "" - -#: ajax/contact/addproperty.php:56 -msgid "Cannot add empty property." -msgstr "No se puede añadir una propiedad vacía." - -#: ajax/contact/addproperty.php:67 -msgid "At least one of the address fields has to be filled out." -msgstr "Al menos uno de los campos de direcciones se tiene que rellenar." - -#: ajax/contact/addproperty.php:76 -msgid "Trying to add duplicate property: " -msgstr "Intentando añadir una propiedad duplicada: " - -#: ajax/contact/addproperty.php:115 ajax/contact/saveproperty.php:93 -msgid "Missing IM parameter." -msgstr "Falta un parámetro del MI." - -#: ajax/contact/addproperty.php:119 ajax/contact/saveproperty.php:97 -msgid "Unknown IM: " -msgstr "MI desconocido:" - -#: ajax/contact/deleteproperty.php:37 -msgid "Information about vCard is incorrect. Please reload the page." -msgstr "La información sobre el vCard es incorrecta. Por favor vuelve a cargar la página." - -#: ajax/contact/details.php:31 -msgid "Missing ID" -msgstr "Falta la ID" - -#: ajax/contact/details.php:36 -msgid "Error parsing VCard for ID: \"" -msgstr "Error al analizar el VCard para la ID: \"" - -#: ajax/contact/saveproperty.php:42 -msgid "checksum is not set." -msgstr "no se ha puesto ninguna suma de comprobación." - -#: ajax/contact/saveproperty.php:62 -msgid "Information about vCard is incorrect. Please reload the page: " -msgstr "La información sobre la vCard es incorrecta. Por favor, recarga la página:" - -#: ajax/contact/saveproperty.php:69 -msgid "Something went FUBAR. " -msgstr "Plof. Algo ha fallado." - -#: ajax/currentphoto.php:30 ajax/oc_photo.php:28 ajax/uploadphoto.php:36 -#: ajax/uploadphoto.php:68 -msgid "No contact ID was submitted." -msgstr "No se ha mandado ninguna ID de contacto." - -#: ajax/currentphoto.php:36 -msgid "Error reading contact photo." -msgstr "Error leyendo fotografía del contacto." - -#: ajax/currentphoto.php:48 -msgid "Error saving temporary file." -msgstr "Error al guardar archivo temporal." - -#: ajax/currentphoto.php:51 -msgid "The loading photo is not valid." -msgstr "La foto que se estaba cargando no es válida." - -#: ajax/editname.php:31 -msgid "Contact ID is missing." -msgstr "Falta la ID del contacto." - -#: ajax/oc_photo.php:32 -msgid "No photo path was submitted." -msgstr "No se ha introducido la ruta de la foto." - -#: ajax/oc_photo.php:39 -msgid "File doesn't exist:" -msgstr "Archivo inexistente:" - -#: ajax/oc_photo.php:44 ajax/oc_photo.php:47 -msgid "Error loading image." -msgstr "Error cargando imagen." - -#: ajax/savecrop.php:69 -msgid "Error getting contact object." -msgstr "Fallo al coger el contacto." - -#: ajax/savecrop.php:79 -msgid "Error getting PHOTO property." -msgstr "Fallo al coger las propiedades de la foto ." - -#: ajax/savecrop.php:98 -msgid "Error saving contact." -msgstr "Fallo al salvar un contacto" - -#: ajax/savecrop.php:109 -msgid "Error resizing image" -msgstr "Fallo al cambiar de tamaño una foto" - -#: ajax/savecrop.php:112 -msgid "Error cropping image" -msgstr "Fallo al cortar el tamaño de la foto" - -#: ajax/savecrop.php:115 -msgid "Error creating temporary image" -msgstr "Fallo al crear la foto temporal" - -#: ajax/savecrop.php:118 -msgid "Error finding image: " -msgstr "Fallo al encontrar la imagen" - -#: ajax/uploadimport.php:44 ajax/uploadimport.php:76 -msgid "Error uploading contacts to storage." -msgstr "Error al subir contactos al almacenamiento." - -#: ajax/uploadimport.php:61 ajax/uploadphoto.php:77 -msgid "There is no error, the file uploaded with success" -msgstr "No hay ningún error, el archivo se ha subido con éxito" - -#: ajax/uploadimport.php:62 ajax/uploadphoto.php:78 -msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" -msgstr "El archivo subido sobrepasa la directiva upload_max_filesize de php.ini" - -#: ajax/uploadimport.php:63 ajax/uploadphoto.php:79 -msgid "" -"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " -"the HTML form" -msgstr "El archivo subido sobrepasa la directiva MAX_FILE_SIZE especificada en el formulario HTML" - -#: ajax/uploadimport.php:64 ajax/uploadphoto.php:80 -msgid "The uploaded file was only partially uploaded" -msgstr "El archivo se ha subido parcialmente" - -#: ajax/uploadimport.php:65 ajax/uploadphoto.php:81 -msgid "No file was uploaded" -msgstr "No se ha subido ningún archivo" - -#: ajax/uploadimport.php:66 ajax/uploadphoto.php:82 -msgid "Missing a temporary folder" -msgstr "Falta la carpeta temporal" - -#: ajax/uploadphoto.php:59 ajax/uploadphoto.php:109 -msgid "Couldn't save temporary image: " -msgstr "Fallo no pudo salvar a una imagen temporal" - -#: ajax/uploadphoto.php:62 ajax/uploadphoto.php:112 -msgid "Couldn't load temporary image: " -msgstr "Fallo no pudo cargara de una imagen temporal" - -#: ajax/uploadphoto.php:71 -msgid "No file was uploaded. Unknown error" -msgstr "Fallo no se subió el fichero" - -#: appinfo/app.php:21 -msgid "Contacts" -msgstr "Contactos" - -#: js/contacts.js:71 -msgid "Sorry, this functionality has not been implemented yet" -msgstr "Perdón esta función no esta aún implementada" - -#: js/contacts.js:71 -msgid "Not implemented" -msgstr "No esta implementada" - -#: js/contacts.js:76 -msgid "Couldn't get a valid address." -msgstr "Fallo : no hay dirección valida" - -#: js/contacts.js:76 js/contacts.js:365 js/contacts.js:381 js/contacts.js:393 -#: js/contacts.js:723 js/contacts.js:763 js/contacts.js:789 js/contacts.js:921 -#: js/contacts.js:927 js/contacts.js:939 js/contacts.js:976 -#: js/contacts.js:1250 js/contacts.js:1258 js/contacts.js:1267 -#: js/contacts.js:1302 js/contacts.js:1338 js/contacts.js:1353 -#: js/contacts.js:1379 js/contacts.js:1609 js/contacts.js:1644 -#: js/contacts.js:1664 js/settings.js:26 js/settings.js:43 js/settings.js:68 -msgid "Error" -msgstr "Fallo" - -#: js/contacts.js:424 -msgid "You do not have permission to add contacts to " -msgstr "" - -#: js/contacts.js:425 -msgid "Please select one of your own address books." -msgstr "" - -#: js/contacts.js:425 -msgid "Permission error" -msgstr "" - -#: js/contacts.js:763 -msgid "This property has to be non-empty." -msgstr "Este campo no puede estar vacío." - -#: js/contacts.js:789 -msgid "Couldn't serialize elements." -msgstr "Fallo no podido ordenar los elementos" - -#: js/contacts.js:921 js/contacts.js:939 -msgid "" -"'deleteProperty' called without type argument. Please report at " -"bugs.owncloud.org" -msgstr "La propiedad de \"borrar\" se llamado sin argumentos envia fallos a\nbugs.owncloud.org" - -#: js/contacts.js:958 -msgid "Edit name" -msgstr "Edita el Nombre" - -#: js/contacts.js:1250 -msgid "No files selected for upload." -msgstr "No hay ficheros seleccionados para subir" - -#: js/contacts.js:1258 -msgid "" -"The file you are trying to upload exceed the maximum size for file uploads " -"on this server." -msgstr "El fichero que quieres subir excede el tamaño máximo permitido en este servidor." - -#: js/contacts.js:1322 -msgid "Error loading profile picture." -msgstr "" - -#: js/contacts.js:1457 js/contacts.js:1498 js/contacts.js:1517 -#: js/contacts.js:1560 -msgid "Select type" -msgstr "Selecciona el tipo" - -#: js/contacts.js:1578 -msgid "" -"Some contacts are marked for deletion, but not deleted yet. Please wait for " -"them to be deleted." -msgstr "" - -#: js/contacts.js:1649 -msgid "Do you want to merge these address books?" -msgstr "" - -#: js/loader.js:49 -msgid "Result: " -msgstr "Resultado :" - -#: js/loader.js:49 -msgid " imported, " -msgstr "Importado." - -#: js/loader.js:49 -msgid " failed." -msgstr "Fallo." - -#: js/settings.js:68 -msgid "Displayname cannot be empty." -msgstr "" - -#: lib/app.php:36 -msgid "Addressbook not found: " -msgstr "" - -#: lib/app.php:52 -msgid "This is not your addressbook." -msgstr "Esta no es tu agenda de contactos." - -#: lib/app.php:71 -msgid "Contact could not be found." -msgstr "No se ha podido encontrar el contacto." - -#: lib/app.php:116 -msgid "Jabber" -msgstr "Jabber" - -#: lib/app.php:121 -msgid "AIM" -msgstr "AIM" - -#: lib/app.php:126 -msgid "MSN" -msgstr "MSN" - -#: lib/app.php:131 -msgid "Twitter" -msgstr "Twitter" - -#: lib/app.php:136 -msgid "GoogleTalk" -msgstr "Google Talk" - -#: lib/app.php:141 -msgid "Facebook" -msgstr "Facebook" - -#: lib/app.php:146 -msgid "XMPP" -msgstr "XMPP" - -#: lib/app.php:151 -msgid "ICQ" -msgstr "ICQ" - -#: lib/app.php:156 -msgid "Yahoo" -msgstr "Yahoo" - -#: lib/app.php:161 -msgid "Skype" -msgstr "Skype" - -#: lib/app.php:166 -msgid "QQ" -msgstr "QQ" - -#: lib/app.php:171 -msgid "GaduGadu" -msgstr "GaduGadu" - -#: lib/app.php:194 lib/app.php:202 lib/app.php:213 lib/app.php:266 -msgid "Work" -msgstr "Trabajo" - -#: lib/app.php:195 lib/app.php:200 lib/app.php:214 -msgid "Home" -msgstr "Particular" - -#: lib/app.php:196 lib/app.php:209 lib/app.php:262 lib/vcard.php:593 -msgid "Other" -msgstr "Otro" - -#: lib/app.php:201 -msgid "Mobile" -msgstr "Móvil" - -#: lib/app.php:203 -msgid "Text" -msgstr "Texto" - -#: lib/app.php:204 -msgid "Voice" -msgstr "Voz" - -#: lib/app.php:205 -msgid "Message" -msgstr "Mensaje" - -#: lib/app.php:206 -msgid "Fax" -msgstr "Fax" - -#: lib/app.php:207 -msgid "Video" -msgstr "Vídeo" - -#: lib/app.php:208 -msgid "Pager" -msgstr "Localizador" - -#: lib/app.php:215 -msgid "Internet" -msgstr "Internet" - -#: lib/app.php:252 templates/part.contact.php:45 -#: templates/part.contact.php:128 -msgid "Birthday" -msgstr "Cumpleaños" - -#: lib/app.php:253 -msgid "Business" -msgstr "Negocio" - -#: lib/app.php:254 -msgid "Call" -msgstr "Llamada" - -#: lib/app.php:255 -msgid "Clients" -msgstr "Clientes" - -#: lib/app.php:256 -msgid "Deliverer" -msgstr "" - -#: lib/app.php:257 -msgid "Holidays" -msgstr "Vacaciones" - -#: lib/app.php:258 -msgid "Ideas" -msgstr "Ideas" - -#: lib/app.php:259 -msgid "Journey" -msgstr "Jornada" - -#: lib/app.php:260 -msgid "Jubilee" -msgstr "" - -#: lib/app.php:261 -msgid "Meeting" -msgstr "Reunión" - -#: lib/app.php:263 -msgid "Personal" -msgstr "Personal" - -#: lib/app.php:264 -msgid "Projects" -msgstr "Proyectos" - -#: lib/app.php:265 -msgid "Questions" -msgstr "Preguntas" - -#: lib/hooks.php:102 -msgid "{name}'s Birthday" -msgstr "Cumpleaños de {name}" - -#: lib/search.php:15 -msgid "Contact" -msgstr "Contacto" - -#: lib/vcard.php:408 -msgid "You do not have the permissions to edit this contact." -msgstr "" - -#: lib/vcard.php:483 -msgid "You do not have the permissions to delete this contact." -msgstr "" - -#: templates/index.php:14 -msgid "Add Contact" -msgstr "Añadir contacto" - -#: templates/index.php:15 templates/index.php:16 templates/part.import.php:17 -msgid "Import" -msgstr "Importar" - -#: templates/index.php:18 -msgid "Settings" -msgstr "Configuración" - -#: templates/index.php:18 templates/settings.php:9 -msgid "Addressbooks" -msgstr "Libretas de direcciones" - -#: templates/index.php:36 templates/part.import.php:24 -msgid "Close" -msgstr "Cierra." - -#: templates/index.php:37 -msgid "Keyboard shortcuts" -msgstr "Atajos de teclado" - -#: templates/index.php:39 -msgid "Navigation" -msgstr "Navegación" - -#: templates/index.php:42 -msgid "Next contact in list" -msgstr "Siguiente contacto en la lista" - -#: templates/index.php:44 -msgid "Previous contact in list" -msgstr "Anterior contacto en la lista" - -#: templates/index.php:46 -msgid "Expand/collapse current addressbook" -msgstr "" - -#: templates/index.php:48 -msgid "Next addressbook" -msgstr "" - -#: templates/index.php:50 -msgid "Previous addressbook" -msgstr "" - -#: templates/index.php:54 -msgid "Actions" -msgstr "Acciones" - -#: templates/index.php:57 -msgid "Refresh contacts list" -msgstr "Refrescar la lista de contactos" - -#: templates/index.php:59 -msgid "Add new contact" -msgstr "Añadir un nuevo contacto" - -#: templates/index.php:61 -msgid "Add new addressbook" -msgstr "Añadir nueva libreta de direcciones" - -#: templates/index.php:63 -msgid "Delete current contact" -msgstr "Eliminar contacto actual" - -#: templates/part.contact.php:17 -msgid "Drop photo to upload" -msgstr "Suelta una foto para subirla" - -#: templates/part.contact.php:19 -msgid "Delete current photo" -msgstr "Eliminar fotografía actual" - -#: templates/part.contact.php:20 -msgid "Edit current photo" -msgstr "Editar fotografía actual" - -#: templates/part.contact.php:21 -msgid "Upload new photo" -msgstr "Subir nueva fotografía" - -#: templates/part.contact.php:22 -msgid "Select photo from ownCloud" -msgstr "Seleccionar fotografía desde ownCloud" - -#: templates/part.contact.php:35 -msgid "Format custom, Short name, Full name, Reverse or Reverse with comma" -msgstr "Formato personalizado, nombre abreviado, nombre completo, al revés o al revés con coma" - -#: templates/part.contact.php:36 -msgid "Edit name details" -msgstr "Editar los detalles del nombre" - -#: templates/part.contact.php:39 templates/part.contact.php:40 -#: templates/part.contact.php:126 -msgid "Organization" -msgstr "Organización" - -#: templates/part.contact.php:40 templates/part.contact.php:42 -#: templates/part.contact.php:44 templates/part.contact.php:46 -#: templates/part.contact.php:50 templates/settings.php:36 -msgid "Delete" -msgstr "Borrar" - -#: templates/part.contact.php:41 templates/part.contact.php:127 -msgid "Nickname" -msgstr "Alias" - -#: templates/part.contact.php:42 -msgid "Enter nickname" -msgstr "Introduce un alias" - -#: templates/part.contact.php:43 templates/part.contact.php:134 -msgid "Web site" -msgstr "Sitio Web" - -#: templates/part.contact.php:44 -msgid "http://www.somesite.com" -msgstr "http://www.unsitio.com" - -#: templates/part.contact.php:44 -msgid "Go to web site" -msgstr "Ir al sitio Web" - -#: templates/part.contact.php:46 -msgid "dd-mm-yyyy" -msgstr "dd-mm-yyyy" - -#: templates/part.contact.php:47 templates/part.contact.php:135 -msgid "Groups" -msgstr "Grupos" - -#: templates/part.contact.php:49 -msgid "Separate groups with commas" -msgstr "Separa los grupos con comas" - -#: templates/part.contact.php:50 -msgid "Edit groups" -msgstr "Editar grupos" - -#: templates/part.contact.php:59 templates/part.contact.php:73 -#: templates/part.contact.php:98 -msgid "Preferred" -msgstr "Preferido" - -#: templates/part.contact.php:60 -msgid "Please specify a valid email address." -msgstr "Por favor especifica una dirección de correo electrónico válida." - -#: templates/part.contact.php:60 -msgid "Enter email address" -msgstr "Introduce una dirección de correo electrónico" - -#: templates/part.contact.php:64 -msgid "Mail to address" -msgstr "Enviar por correo a la dirección" - -#: templates/part.contact.php:65 -msgid "Delete email address" -msgstr "Eliminar dirección de correo electrónico" - -#: templates/part.contact.php:75 -msgid "Enter phone number" -msgstr "Introduce un número de teléfono" - -#: templates/part.contact.php:79 -msgid "Delete phone number" -msgstr "Eliminar número de teléfono" - -#: templates/part.contact.php:100 -msgid "Instant Messenger" -msgstr "Mensajero instantáneo" - -#: templates/part.contact.php:101 -msgid "Delete IM" -msgstr "" - -#: templates/part.contact.php:110 -msgid "View on map" -msgstr "Ver en el mapa" - -#: templates/part.contact.php:110 -msgid "Edit address details" -msgstr "Editar detalles de la dirección" - -#: templates/part.contact.php:116 -msgid "Add notes here." -msgstr "Añade notas aquí." - -#: templates/part.contact.php:124 -msgid "Add field" -msgstr "Añadir campo" - -#: templates/part.contact.php:129 -msgid "Phone" -msgstr "Teléfono" - -#: templates/part.contact.php:130 -msgid "Email" -msgstr "Correo electrónico" - -#: templates/part.contact.php:131 -msgid "Instant Messaging" -msgstr "Mensajería instantánea" - -#: templates/part.contact.php:132 -msgid "Address" -msgstr "Dirección" - -#: templates/part.contact.php:133 -msgid "Note" -msgstr "Nota" - -#: templates/part.contact.php:138 -msgid "Download contact" -msgstr "Descargar contacto" - -#: templates/part.contact.php:139 -msgid "Delete contact" -msgstr "Eliminar contacto" - -#: templates/part.cropphoto.php:65 -msgid "The temporary image has been removed from cache." -msgstr "La foto temporal se ha borrado del cache." - -#: templates/part.edit_address_dialog.php:6 -msgid "Edit address" -msgstr "Editar dirección" - -#: templates/part.edit_address_dialog.php:10 -msgid "Type" -msgstr "Tipo" - -#: templates/part.edit_address_dialog.php:18 -#: templates/part.edit_address_dialog.php:21 -msgid "PO Box" -msgstr "Código postal" - -#: templates/part.edit_address_dialog.php:24 -msgid "Street address" -msgstr "" - -#: templates/part.edit_address_dialog.php:27 -msgid "Street and number" -msgstr "Calle y número" - -#: templates/part.edit_address_dialog.php:30 -msgid "Extended" -msgstr "Extendido" - -#: templates/part.edit_address_dialog.php:33 -msgid "Apartment number etc." -msgstr "Número del apartamento, etc." - -#: templates/part.edit_address_dialog.php:36 -#: templates/part.edit_address_dialog.php:39 -msgid "City" -msgstr "Ciudad" - -#: templates/part.edit_address_dialog.php:42 -msgid "Region" -msgstr "Región" - -#: templates/part.edit_address_dialog.php:45 -msgid "E.g. state or province" -msgstr "Ej: región o provincia" - -#: templates/part.edit_address_dialog.php:48 -msgid "Zipcode" -msgstr "Código postal" - -#: templates/part.edit_address_dialog.php:51 -msgid "Postal code" -msgstr "Código postal" - -#: templates/part.edit_address_dialog.php:54 -#: templates/part.edit_address_dialog.php:57 -msgid "Country" -msgstr "País" - -#: templates/part.edit_name_dialog.php:16 -msgid "Addressbook" -msgstr "Libreta de direcciones" - -#: templates/part.edit_name_dialog.php:23 -msgid "Hon. prefixes" -msgstr "Prefijos honoríficos" - -#: templates/part.edit_name_dialog.php:27 -msgid "Miss" -msgstr "Srta" - -#: templates/part.edit_name_dialog.php:28 -msgid "Ms" -msgstr "Sra." - -#: templates/part.edit_name_dialog.php:29 -msgid "Mr" -msgstr "Sr." - -#: templates/part.edit_name_dialog.php:30 -msgid "Sir" -msgstr "Señor" - -#: templates/part.edit_name_dialog.php:31 -msgid "Mrs" -msgstr "Sra" - -#: templates/part.edit_name_dialog.php:32 -msgid "Dr" -msgstr "Dr" - -#: templates/part.edit_name_dialog.php:35 -msgid "Given name" -msgstr "Nombre" - -#: templates/part.edit_name_dialog.php:37 -msgid "Additional names" -msgstr "Nombres adicionales" - -#: templates/part.edit_name_dialog.php:39 -msgid "Family name" -msgstr "Apellido" - -#: templates/part.edit_name_dialog.php:41 -msgid "Hon. suffixes" -msgstr "Sufijos honoríficos" - -#: templates/part.edit_name_dialog.php:45 -msgid "J.D." -msgstr "J.D." - -#: templates/part.edit_name_dialog.php:46 -msgid "M.D." -msgstr "M.D." - -#: templates/part.edit_name_dialog.php:47 -msgid "D.O." -msgstr "D.O." - -#: templates/part.edit_name_dialog.php:48 -msgid "D.C." -msgstr "D.C." - -#: templates/part.edit_name_dialog.php:49 -msgid "Ph.D." -msgstr "Dr" - -#: templates/part.edit_name_dialog.php:50 -msgid "Esq." -msgstr "Don" - -#: templates/part.edit_name_dialog.php:51 -msgid "Jr." -msgstr "Jr." - -#: templates/part.edit_name_dialog.php:52 -msgid "Sn." -msgstr "Sn." - -#: templates/part.import.php:1 -msgid "Import a contacts file" -msgstr "Importar archivo de contactos" - -#: templates/part.import.php:6 -msgid "Please choose the addressbook" -msgstr "Por favor escoge la agenda" - -#: templates/part.import.php:10 -msgid "create a new addressbook" -msgstr "crear una nueva agenda" - -#: templates/part.import.php:15 -msgid "Name of new addressbook" -msgstr "Nombre de la nueva agenda" - -#: templates/part.import.php:20 -msgid "Importing contacts" -msgstr "Importando contactos" - -#: templates/part.no_contacts.php:3 -msgid "You have no contacts in your addressbook." -msgstr "No hay contactos en tu agenda." - -#: templates/part.no_contacts.php:5 -msgid "Add contact" -msgstr "Añadir contacto" - -#: templates/part.selectaddressbook.php:1 -msgid "Select Address Books" -msgstr "" - -#: templates/part.selectaddressbook.php:27 -msgid "Enter name" -msgstr "Introducir nombre" - -#: templates/part.selectaddressbook.php:29 -msgid "Enter description" -msgstr "Introducir descripción" - -#: templates/settings.php:3 -msgid "CardDAV syncing addresses" -msgstr "Sincronizando direcciones" - -#: templates/settings.php:3 -msgid "more info" -msgstr "más información" - -#: templates/settings.php:5 -msgid "Primary address (Kontact et al)" -msgstr "Dirección primaria (Kontact et al)" - -#: templates/settings.php:7 -msgid "iOS/OS X" -msgstr "iOS/OS X" - -#: templates/settings.php:20 -msgid "Show CardDav link" -msgstr "" - -#: templates/settings.php:23 -msgid "Show read-only VCF link" -msgstr "" - -#: templates/settings.php:26 -msgid "Share" -msgstr "Compartir" - -#: templates/settings.php:29 -msgid "Download" -msgstr "Descargar" - -#: templates/settings.php:33 -msgid "Edit" -msgstr "Editar" - -#: templates/settings.php:43 -msgid "New Address Book" -msgstr "Nueva libreta de direcciones" - -#: templates/settings.php:44 -msgid "Name" -msgstr "Nombre" - -#: templates/settings.php:45 -msgid "Description" -msgstr "Descripción" - -#: templates/settings.php:46 -msgid "Save" -msgstr "Guardar" - -#: templates/settings.php:47 -msgid "Cancel" -msgstr "Cancelar" - -#: templates/settings.php:52 -msgid "More..." -msgstr "Más..." diff --git a/l10n/es/core.po b/l10n/es/core.po index b69469f28d8dcf23aad07d5e594780d6a49ca657..034d5efe2b36874c889a60a07f08b1d824fce0d0 100644 --- a/l10n/es/core.po +++ b/l10n/es/core.po @@ -3,22 +3,23 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# , 2012. # Javier Llorente , 2012. -# , 2011, 2012. +# , 2011-2012. # oSiNaReF <>, 2012. # Raul Fernandez Garcia , 2012. # , 2012. # , 2011. # Rubén Trujillo , 2012. -# , 2011, 2012. +# , 2011-2012. # , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-16 02:04+0200\n" -"PO-Revision-Date: 2012-10-16 00:05+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-11-18 00:01+0100\n" +"PO-Revision-Date: 2012-11-17 08:47+0000\n" +"Last-Translator: Raul Fernandez Garcia \n" "Language-Team: Spanish (http://www.transifex.com/projects/p/owncloud/language/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -26,209 +27,241 @@ msgstr "" "Language: es\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: ajax/vcategories/add.php:23 ajax/vcategories/delete.php:23 -msgid "Application name not provided." -msgstr "Nombre de la aplicación no provisto." +#: ajax/vcategories/add.php:26 ajax/vcategories/edit.php:25 +msgid "Category type not provided." +msgstr "Tipo de categoria no proporcionado." -#: ajax/vcategories/add.php:29 +#: ajax/vcategories/add.php:30 msgid "No category to add?" msgstr "¿Ninguna categoría para añadir?" -#: ajax/vcategories/add.php:36 +#: ajax/vcategories/add.php:37 msgid "This category already exists: " msgstr "Esta categoría ya existe: " -#: js/js.js:238 templates/layout.user.php:49 templates/layout.user.php:50 +#: ajax/vcategories/addToFavorites.php:26 ajax/vcategories/delete.php:27 +#: ajax/vcategories/favorites.php:24 +#: ajax/vcategories/removeFromFavorites.php:26 +msgid "Object type not provided." +msgstr "ipo de objeto no proporcionado." + +#: ajax/vcategories/addToFavorites.php:30 +#: ajax/vcategories/removeFromFavorites.php:30 +#, php-format +msgid "%s ID not provided." +msgstr "%s ID no proporcionado." + +#: ajax/vcategories/addToFavorites.php:35 +#, php-format +msgid "Error adding %s to favorites." +msgstr "Error añadiendo %s a los favoritos." + +#: ajax/vcategories/delete.php:35 js/oc-vcategories.js:136 +msgid "No categories selected for deletion." +msgstr "No hay categorías seleccionadas para borrar." + +#: ajax/vcategories/removeFromFavorites.php:35 +#, php-format +msgid "Error removing %s from favorites." +msgstr "Error eliminando %s de los favoritos." + +#: js/js.js:259 templates/layout.user.php:60 templates/layout.user.php:61 msgid "Settings" msgstr "Ajustes" -#: js/js.js:670 -msgid "January" -msgstr "Enero" +#: js/js.js:704 +msgid "seconds ago" +msgstr "hace segundos" -#: js/js.js:670 -msgid "February" -msgstr "Febrero" +#: js/js.js:705 +msgid "1 minute ago" +msgstr "hace 1 minuto" -#: js/js.js:670 -msgid "March" -msgstr "Marzo" +#: js/js.js:706 +msgid "{minutes} minutes ago" +msgstr "hace {minutes} minutos" -#: js/js.js:670 -msgid "April" -msgstr "Abril" +#: js/js.js:707 +msgid "1 hour ago" +msgstr "Hace 1 hora" -#: js/js.js:670 -msgid "May" -msgstr "Mayo" +#: js/js.js:708 +msgid "{hours} hours ago" +msgstr "Hace {hours} horas" -#: js/js.js:670 -msgid "June" -msgstr "Junio" +#: js/js.js:709 +msgid "today" +msgstr "hoy" -#: js/js.js:671 -msgid "July" -msgstr "Julio" +#: js/js.js:710 +msgid "yesterday" +msgstr "ayer" -#: js/js.js:671 -msgid "August" -msgstr "Agosto" +#: js/js.js:711 +msgid "{days} days ago" +msgstr "hace {days} días" -#: js/js.js:671 -msgid "September" -msgstr "Septiembre" +#: js/js.js:712 +msgid "last month" +msgstr "mes pasado" -#: js/js.js:671 -msgid "October" -msgstr "Octubre" +#: js/js.js:713 +msgid "{months} months ago" +msgstr "Hace {months} meses" -#: js/js.js:671 -msgid "November" -msgstr "Noviembre" +#: js/js.js:714 +msgid "months ago" +msgstr "hace meses" -#: js/js.js:671 -msgid "December" -msgstr "Diciembre" +#: js/js.js:715 +msgid "last year" +msgstr "año pasado" -#: js/oc-dialogs.js:123 +#: js/js.js:716 +msgid "years ago" +msgstr "hace años" + +#: js/oc-dialogs.js:126 msgid "Choose" msgstr "Seleccionar" -#: js/oc-dialogs.js:143 js/oc-dialogs.js:163 +#: js/oc-dialogs.js:146 js/oc-dialogs.js:166 msgid "Cancel" msgstr "Cancelar" -#: js/oc-dialogs.js:159 +#: js/oc-dialogs.js:162 msgid "No" msgstr "No" -#: js/oc-dialogs.js:160 +#: js/oc-dialogs.js:163 msgid "Yes" msgstr "Sí" -#: js/oc-dialogs.js:177 +#: js/oc-dialogs.js:180 msgid "Ok" msgstr "Aceptar" -#: js/oc-vcategories.js:68 -msgid "No categories selected for deletion." -msgstr "No hay categorías seleccionadas para borrar." +#: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102 +#: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162 +msgid "The object type is not specified." +msgstr "El tipo de objeto no se ha especificado." -#: js/oc-vcategories.js:68 js/share.js:114 js/share.js:121 js/share.js:497 -#: js/share.js:509 +#: js/oc-vcategories.js:95 js/oc-vcategories.js:125 js/oc-vcategories.js:136 +#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:527 +#: js/share.js:539 msgid "Error" msgstr "Fallo" -#: js/share.js:103 +#: js/oc-vcategories.js:179 +msgid "The app name is not specified." +msgstr "El nombre de la app no se ha especificado." + +#: js/oc-vcategories.js:194 +msgid "The required file {file} is not installed!" +msgstr "El fichero {file} requerido, no está instalado." + +#: js/share.js:124 msgid "Error while sharing" msgstr "Error compartiendo" -#: js/share.js:114 +#: js/share.js:135 msgid "Error while unsharing" msgstr "Error descompartiendo" -#: js/share.js:121 +#: js/share.js:142 msgid "Error while changing permissions" msgstr "Error cambiando permisos" -#: js/share.js:130 -msgid "Shared with you and the group" -msgstr "Comprtido contigo y con el grupo" +#: js/share.js:151 +msgid "Shared with you and the group {group} by {owner}" +msgstr "Compartido contigo y el grupo {group} por {owner}" -#: js/share.js:130 -msgid "by" -msgstr "por" - -#: js/share.js:132 -msgid "Shared with you by" -msgstr "Compartido contigo por" +#: js/share.js:153 +msgid "Shared with you by {owner}" +msgstr "Compartido contigo por {owner}" -#: js/share.js:137 +#: js/share.js:158 msgid "Share with" msgstr "Compartir con" -#: js/share.js:142 +#: js/share.js:163 msgid "Share with link" -msgstr "Enlace de compartir con " +msgstr "Compartir con enlace" -#: js/share.js:143 +#: js/share.js:164 msgid "Password protect" msgstr "Protegido por contraseña" -#: js/share.js:147 templates/installation.php:42 templates/login.php:24 +#: js/share.js:168 templates/installation.php:42 templates/login.php:24 #: templates/verify.php:13 msgid "Password" msgstr "Contraseña" -#: js/share.js:152 +#: js/share.js:173 msgid "Set expiration date" msgstr "Establecer fecha de caducidad" -#: js/share.js:153 +#: js/share.js:174 msgid "Expiration date" msgstr "Fecha de caducidad" -#: js/share.js:185 +#: js/share.js:206 msgid "Share via email:" msgstr "compartido via e-mail:" -#: js/share.js:187 +#: js/share.js:208 msgid "No people found" msgstr "No se encontró gente" -#: js/share.js:214 +#: js/share.js:235 msgid "Resharing is not allowed" msgstr "No se permite compartir de nuevo" -#: js/share.js:250 -msgid "Shared in" -msgstr "Compartido en" - -#: js/share.js:250 -msgid "with" -msgstr "con" - #: js/share.js:271 +msgid "Shared in {item} with {user}" +msgstr "Compartido en {item} con {user}" + +#: js/share.js:292 msgid "Unshare" msgstr "No compartir" -#: js/share.js:283 +#: js/share.js:304 msgid "can edit" msgstr "puede editar" -#: js/share.js:285 +#: js/share.js:306 msgid "access control" msgstr "control de acceso" -#: js/share.js:288 +#: js/share.js:309 msgid "create" msgstr "crear" -#: js/share.js:291 +#: js/share.js:312 msgid "update" msgstr "modificar" -#: js/share.js:294 +#: js/share.js:315 msgid "delete" msgstr "eliminar" -#: js/share.js:297 +#: js/share.js:318 msgid "share" msgstr "compartir" -#: js/share.js:322 js/share.js:484 +#: js/share.js:343 js/share.js:514 js/share.js:516 msgid "Password protected" msgstr "Protegido por contraseña" -#: js/share.js:497 +#: js/share.js:527 msgid "Error unsetting expiration date" msgstr "Error al eliminar la fecha de caducidad" -#: js/share.js:509 +#: js/share.js:539 msgid "Error setting expiration date" msgstr "Error estableciendo fecha de caducidad" -#: lostpassword/index.php:26 +#: lostpassword/controller.php:47 msgid "ownCloud password reset" msgstr "Reiniciar contraseña de ownCloud" @@ -241,12 +274,12 @@ msgid "You will receive a link to reset your password via Email." msgstr "Recibirás un enlace por correo electrónico para restablecer tu contraseña" #: lostpassword/templates/lostpassword.php:5 -msgid "Requested" -msgstr "Pedido" +msgid "Reset email send." +msgstr "Email de reconfiguración enviado." #: lostpassword/templates/lostpassword.php:8 -msgid "Login failed!" -msgstr "¡Fallo al iniciar sesión!" +msgid "Request failed!" +msgstr "Pedido fallado!" #: lostpassword/templates/lostpassword.php:11 templates/installation.php:38 #: templates/login.php:20 @@ -305,25 +338,25 @@ msgstr "No se ha encontrado la nube" msgid "Edit categories" msgstr "Editar categorías" -#: templates/edit_categories_dialog.php:14 +#: templates/edit_categories_dialog.php:16 msgid "Add" msgstr "Añadir" #: templates/installation.php:23 templates/installation.php:31 msgid "Security Warning" -msgstr "" +msgstr "Advertencia de seguridad" #: templates/installation.php:24 msgid "" "No secure random number generator is available, please enable the PHP " "OpenSSL extension." -msgstr "" +msgstr "No está disponible un generador de números aleatorios seguro, por favor habilite la extensión OpenSSL de PHP." #: templates/installation.php:26 msgid "" "Without a secure random number generator an attacker may be able to predict " "password reset tokens and take over your account." -msgstr "" +msgstr "Sin un generador de números aleatorios seguro un atacante podría predecir los tokens de reinicio de su contraseña y tomar control de su cuenta." #: templates/installation.php:32 msgid "" @@ -332,7 +365,7 @@ msgid "" "strongly suggest that you configure your webserver in a way that the data " "directory is no longer accessible or you move the data directory outside the" " webserver document root." -msgstr "" +msgstr "Su directorio de datos y sus archivos están probablemente accesibles desde internet. El archivo .htaccess que ownCloud provee no está funcionando. Sugerimos fuertemente que configure su servidor web de manera que el directorio de datos ya no esté accesible o mueva el directorio de datos fuera del documento raíz de su servidor web." #: templates/installation.php:36 msgid "Create an admin account" @@ -379,27 +412,103 @@ msgstr "Host de la base de datos" msgid "Finish setup" msgstr "Completar la instalación" -#: templates/layout.guest.php:38 +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Sunday" +msgstr "Domingo" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Monday" +msgstr "Lunes" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Tuesday" +msgstr "Martes" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Wednesday" +msgstr "Miércoles" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Thursday" +msgstr "Jueves" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Friday" +msgstr "Viernes" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Saturday" +msgstr "Sábado" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "January" +msgstr "Enero" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "February" +msgstr "Febrero" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "March" +msgstr "Marzo" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "April" +msgstr "Abril" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "May" +msgstr "Mayo" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "June" +msgstr "Junio" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "July" +msgstr "Julio" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "August" +msgstr "Agosto" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "September" +msgstr "Septiembre" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "October" +msgstr "Octubre" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "November" +msgstr "Noviembre" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "December" +msgstr "Diciembre" + +#: templates/layout.guest.php:42 msgid "web services under your control" msgstr "servicios web bajo tu control" -#: templates/layout.user.php:34 +#: templates/layout.user.php:45 msgid "Log out" msgstr "Salir" #: templates/login.php:8 msgid "Automatic logon rejected!" -msgstr "" +msgstr "¡Inicio de sesión automático rechazado!" #: templates/login.php:9 msgid "" "If you did not change your password recently, your account may be " "compromised!" -msgstr "" +msgstr "Si usted no ha cambiado su contraseña recientemente, ¡puede que su cuenta esté comprometida!" #: templates/login.php:10 msgid "Please change your password to secure your account again." -msgstr "" +msgstr "Por favor cambie su contraseña para asegurar su cuenta nuevamente." #: templates/login.php:15 msgid "Lost your password?" @@ -427,14 +536,14 @@ msgstr "siguiente" #: templates/verify.php:5 msgid "Security Warning!" -msgstr "" +msgstr "¡Advertencia de seguridad!" #: templates/verify.php:6 msgid "" "Please verify your password.
For security reasons you may be " "occasionally asked to enter your password again." -msgstr "" +msgstr "Por favor verifique su contraseña.
Por razones de seguridad se le puede volver a preguntar ocasionalmente la contraseña." #: templates/verify.php:16 msgid "Verify" -msgstr "" +msgstr "Verificar" diff --git a/l10n/es/files.po b/l10n/es/files.po index edab4fc1363c8aa8213e3fe08a5f84c4d45ef427..8925d2d93dfe1149abba1a1b8fc42f08b94ce58b 100644 --- a/l10n/es/files.po +++ b/l10n/es/files.po @@ -3,18 +3,20 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# Agustin Ferrario <>, 2012. +# , 2012. # Javier Llorente , 2012. # , 2012. # Rubén Trujillo , 2012. -# , 2011, 2012. +# , 2011-2012. # , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-09-28 23:34+0200\n" -"PO-Revision-Date: 2012-09-28 18:08+0000\n" -"Last-Translator: scambra \n" +"POT-Creation-Date: 2012-12-02 00:02+0100\n" +"PO-Revision-Date: 2012-12-01 20:49+0000\n" +"Last-Translator: xsergiolpx \n" "Language-Team: Spanish (http://www.transifex.com/projects/p/owncloud/language/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -27,195 +29,166 @@ msgid "There is no error, the file uploaded with success" msgstr "No se ha producido ningún error, el archivo se ha subido con éxito" #: ajax/upload.php:21 -msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" +msgid "" +"The uploaded file exceeds the upload_max_filesize directive in php.ini: " msgstr "El archivo que intentas subir sobrepasa el tamaño definido por la variable upload_max_filesize en php.ini" -#: ajax/upload.php:22 +#: ajax/upload.php:23 msgid "" "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " "the HTML form" msgstr "El archivo que intentas subir sobrepasa el tamaño definido por la variable MAX_FILE_SIZE especificada en el formulario HTML" -#: ajax/upload.php:23 +#: ajax/upload.php:25 msgid "The uploaded file was only partially uploaded" msgstr "El archivo que intentas subir solo se subió parcialmente" -#: ajax/upload.php:24 +#: ajax/upload.php:26 msgid "No file was uploaded" msgstr "No se ha subido ningún archivo" -#: ajax/upload.php:25 +#: ajax/upload.php:27 msgid "Missing a temporary folder" msgstr "Falta un directorio temporal" -#: ajax/upload.php:26 +#: ajax/upload.php:28 msgid "Failed to write to disk" msgstr "La escritura en disco ha fallado" -#: appinfo/app.php:6 +#: appinfo/app.php:10 msgid "Files" msgstr "Archivos" -#: js/fileactions.js:108 templates/index.php:62 +#: js/fileactions.js:117 templates/index.php:83 templates/index.php:84 msgid "Unshare" msgstr "Dejar de compartir" -#: js/fileactions.js:110 templates/index.php:64 +#: js/fileactions.js:119 templates/index.php:89 templates/index.php:90 msgid "Delete" msgstr "Eliminar" -#: js/fileactions.js:182 +#: js/fileactions.js:181 msgid "Rename" msgstr "Renombrar" -#: js/filelist.js:190 js/filelist.js:192 -msgid "already exists" -msgstr "ya existe" +#: js/filelist.js:201 js/filelist.js:203 +msgid "{new_name} already exists" +msgstr "{new_name} ya existe" -#: js/filelist.js:190 js/filelist.js:192 +#: js/filelist.js:201 js/filelist.js:203 msgid "replace" msgstr "reemplazar" -#: js/filelist.js:190 +#: js/filelist.js:201 msgid "suggest name" msgstr "sugerir nombre" -#: js/filelist.js:190 js/filelist.js:192 +#: js/filelist.js:201 js/filelist.js:203 msgid "cancel" msgstr "cancelar" -#: js/filelist.js:239 js/filelist.js:241 -msgid "replaced" -msgstr "reemplazado" +#: js/filelist.js:250 +msgid "replaced {new_name}" +msgstr "reemplazado {new_name}" -#: js/filelist.js:239 js/filelist.js:241 js/filelist.js:273 js/filelist.js:275 +#: js/filelist.js:250 js/filelist.js:252 js/filelist.js:284 js/filelist.js:286 msgid "undo" msgstr "deshacer" -#: js/filelist.js:241 -msgid "with" -msgstr "con" +#: js/filelist.js:252 +msgid "replaced {new_name} with {old_name}" +msgstr "reemplazado {new_name} con {old_name}" + +#: js/filelist.js:284 +msgid "unshared {files}" +msgstr "{files} descompartidos" -#: js/filelist.js:273 -msgid "unshared" -msgstr "no compartido" +#: js/filelist.js:286 +msgid "deleted {files}" +msgstr "{files} eliminados" -#: js/filelist.js:275 -msgid "deleted" -msgstr "borrado" +#: js/files.js:33 +msgid "" +"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not " +"allowed." +msgstr "Nombre Invalido, \"\\\", \"/\", \"<\", \">\", \":\", \"\", \"|\" \"?\" y \"*\" no están permitidos " -#: js/files.js:179 +#: js/files.js:183 msgid "generating ZIP-file, it may take some time." msgstr "generando un fichero ZIP, puede llevar un tiempo." -#: js/files.js:208 +#: js/files.js:218 msgid "Unable to upload your file as it is a directory or has 0 bytes" msgstr "No ha sido posible subir tu archivo porque es un directorio o tiene 0 bytes" -#: js/files.js:208 +#: js/files.js:218 msgid "Upload Error" msgstr "Error al subir el archivo" -#: js/files.js:236 js/files.js:341 js/files.js:371 +#: js/files.js:235 +msgid "Close" +msgstr "cerrrar" + +#: js/files.js:254 js/files.js:368 js/files.js:398 msgid "Pending" msgstr "Pendiente" -#: js/files.js:256 +#: js/files.js:274 msgid "1 file uploading" msgstr "subiendo 1 archivo" -#: js/files.js:259 js/files.js:304 js/files.js:319 -msgid "files uploading" -msgstr "archivos subiendo" +#: js/files.js:277 js/files.js:331 js/files.js:346 +msgid "{count} files uploading" +msgstr "Subiendo {count} archivos" -#: js/files.js:322 js/files.js:355 +#: js/files.js:349 js/files.js:382 msgid "Upload cancelled." msgstr "Subida cancelada." -#: js/files.js:424 +#: js/files.js:451 msgid "" "File upload is in progress. Leaving the page now will cancel the upload." msgstr "La subida del archivo está en proceso. Salir de la página ahora cancelará la subida." -#: js/files.js:494 -msgid "Invalid name, '/' is not allowed." -msgstr "Nombre no válido, '/' no está permitido." +#: js/files.js:523 +msgid "Invalid folder name. Usage of \"Shared\" is reserved by Owncloud" +msgstr "Nombre de la carpeta invalido. El uso de \"Shared\" esta reservado para Owncloud" -#: js/files.js:668 -msgid "files scanned" -msgstr "archivos escaneados" +#: js/files.js:704 +msgid "{count} files scanned" +msgstr "{count} archivos escaneados" -#: js/files.js:676 +#: js/files.js:712 msgid "error while scanning" msgstr "error escaneando" -#: js/files.js:749 templates/index.php:48 +#: js/files.js:785 templates/index.php:65 msgid "Name" msgstr "Nombre" -#: js/files.js:750 templates/index.php:56 +#: js/files.js:786 templates/index.php:76 msgid "Size" msgstr "Tamaño" -#: js/files.js:751 templates/index.php:58 +#: js/files.js:787 templates/index.php:78 msgid "Modified" msgstr "Modificado" -#: js/files.js:778 -msgid "folder" -msgstr "carpeta" - -#: js/files.js:780 -msgid "folders" -msgstr "carpetas" - -#: js/files.js:788 -msgid "file" -msgstr "archivo" - -#: js/files.js:790 -msgid "files" -msgstr "archivos" - -#: js/files.js:834 -msgid "seconds ago" -msgstr "hace segundos" - -#: js/files.js:835 -msgid "minute ago" -msgstr "minuto" - -#: js/files.js:836 -msgid "minutes ago" -msgstr "hace minutos" +#: js/files.js:814 +msgid "1 folder" +msgstr "1 carpeta" -#: js/files.js:839 -msgid "today" -msgstr "hoy" +#: js/files.js:816 +msgid "{count} folders" +msgstr "{count} carpetas" -#: js/files.js:840 -msgid "yesterday" -msgstr "ayer" +#: js/files.js:824 +msgid "1 file" +msgstr "1 archivo" -#: js/files.js:841 -msgid "days ago" -msgstr "días" - -#: js/files.js:842 -msgid "last month" -msgstr "mes pasado" - -#: js/files.js:844 -msgid "months ago" -msgstr "hace meses" - -#: js/files.js:845 -msgid "last year" -msgstr "año pasado" - -#: js/files.js:846 -msgid "years ago" -msgstr "hace años" +#: js/files.js:826 +msgid "{count} files" +msgstr "{count} archivos" #: templates/admin.php:5 msgid "File handling" @@ -225,27 +198,27 @@ msgstr "Tratamiento de archivos" msgid "Maximum upload size" msgstr "Tamaño máximo de subida" -#: templates/admin.php:7 +#: templates/admin.php:9 msgid "max. possible: " msgstr "máx. posible:" -#: templates/admin.php:9 +#: templates/admin.php:12 msgid "Needed for multi-file and folder downloads." msgstr "Se necesita para descargas multi-archivo y de carpetas" -#: templates/admin.php:9 +#: templates/admin.php:14 msgid "Enable ZIP-download" msgstr "Habilitar descarga en ZIP" -#: templates/admin.php:11 +#: templates/admin.php:17 msgid "0 is unlimited" msgstr "0 es ilimitado" -#: templates/admin.php:12 +#: templates/admin.php:19 msgid "Maximum input size for ZIP files" msgstr "Tamaño máximo para archivos ZIP de entrada" -#: templates/admin.php:14 +#: templates/admin.php:23 msgid "Save" msgstr "Guardar" @@ -253,52 +226,48 @@ msgstr "Guardar" msgid "New" msgstr "Nuevo" -#: templates/index.php:9 +#: templates/index.php:10 msgid "Text file" msgstr "Archivo de texto" -#: templates/index.php:10 +#: templates/index.php:12 msgid "Folder" msgstr "Carpeta" -#: templates/index.php:11 -msgid "From url" -msgstr "Desde la URL" +#: templates/index.php:14 +msgid "From link" +msgstr "Desde el enlace" -#: templates/index.php:20 +#: templates/index.php:35 msgid "Upload" msgstr "Subir" -#: templates/index.php:27 +#: templates/index.php:43 msgid "Cancel upload" msgstr "Cancelar subida" -#: templates/index.php:40 +#: templates/index.php:57 msgid "Nothing in here. Upload something!" msgstr "Aquí no hay nada. ¡Sube algo!" -#: templates/index.php:50 -msgid "Share" -msgstr "Compartir" - -#: templates/index.php:52 +#: templates/index.php:71 msgid "Download" msgstr "Descargar" -#: templates/index.php:75 +#: templates/index.php:103 msgid "Upload too large" msgstr "El archivo es demasiado grande" -#: templates/index.php:77 +#: templates/index.php:105 msgid "" "The files you are trying to upload exceed the maximum size for file uploads " "on this server." msgstr "Los archivos que estás intentando subir sobrepasan el tamaño máximo permitido por este servidor." -#: templates/index.php:82 +#: templates/index.php:110 msgid "Files are being scanned, please wait." msgstr "Se están escaneando los archivos, por favor espere." -#: templates/index.php:85 +#: templates/index.php:113 msgid "Current scanning" msgstr "Ahora escaneando" diff --git a/l10n/es/files_external.po b/l10n/es/files_external.po index bd19aeabd7ca6432884b8a5cedd01ff193684e59..04ce595ce9a978816d463309a627925f867f9f97 100644 --- a/l10n/es/files_external.po +++ b/l10n/es/files_external.po @@ -10,9 +10,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-07 02:03+0200\n" -"PO-Revision-Date: 2012-10-06 14:33+0000\n" -"Last-Translator: Raul Fernandez Garcia \n" +"POT-Creation-Date: 2012-12-12 00:12+0100\n" +"PO-Revision-Date: 2012-12-11 23:13+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Spanish (http://www.transifex.com/projects/p/owncloud/language/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -44,66 +44,80 @@ msgstr "Por favor , proporcione un secreto y una contraseña válida de la app D msgid "Error configuring Google Drive storage" msgstr "Error configurando el almacenamiento de Google Drive" +#: lib/config.php:434 +msgid "" +"Warning: \"smbclient\" is not installed. Mounting of CIFS/SMB shares " +"is not possible. Please ask your system administrator to install it." +msgstr "" + +#: lib/config.php:435 +msgid "" +"Warning: The FTP support in PHP is not enabled or installed. Mounting" +" of FTP shares is not possible. Please ask your system administrator to " +"install it." +msgstr "" + #: templates/settings.php:3 msgid "External Storage" msgstr "Almacenamiento externo" -#: templates/settings.php:7 templates/settings.php:19 +#: templates/settings.php:8 templates/settings.php:22 msgid "Mount point" msgstr "Punto de montaje" -#: templates/settings.php:8 +#: templates/settings.php:9 msgid "Backend" msgstr "Motor" -#: templates/settings.php:9 +#: templates/settings.php:10 msgid "Configuration" msgstr "Configuración" -#: templates/settings.php:10 +#: templates/settings.php:11 msgid "Options" msgstr "Opciones" -#: templates/settings.php:11 +#: templates/settings.php:12 msgid "Applicable" msgstr "Aplicable" -#: templates/settings.php:23 +#: templates/settings.php:27 msgid "Add mount point" msgstr "Añadir punto de montaje" -#: templates/settings.php:54 templates/settings.php:62 +#: templates/settings.php:85 msgid "None set" msgstr "No se ha configurado" -#: templates/settings.php:63 +#: templates/settings.php:86 msgid "All Users" msgstr "Todos los usuarios" -#: templates/settings.php:64 +#: templates/settings.php:87 msgid "Groups" msgstr "Grupos" -#: templates/settings.php:69 +#: templates/settings.php:95 msgid "Users" msgstr "Usuarios" -#: templates/settings.php:77 templates/settings.php:107 +#: templates/settings.php:108 templates/settings.php:109 +#: templates/settings.php:149 templates/settings.php:150 msgid "Delete" msgstr "Eliiminar" -#: templates/settings.php:87 +#: templates/settings.php:124 msgid "Enable User External Storage" msgstr "Habilitar almacenamiento de usuario externo" -#: templates/settings.php:88 +#: templates/settings.php:125 msgid "Allow users to mount their own external storage" msgstr "Permitir a los usuarios montar su propio almacenamiento externo" -#: templates/settings.php:99 +#: templates/settings.php:139 msgid "SSL root certificates" msgstr "Raíz de certificados SSL " -#: templates/settings.php:113 +#: templates/settings.php:158 msgid "Import Root Certificate" msgstr "Importar certificado raíz" diff --git a/l10n/es/files_pdfviewer.po b/l10n/es/files_pdfviewer.po deleted file mode 100644 index 1b4c74ef327a3d92fe82578a29056848e42330bb..0000000000000000000000000000000000000000 --- a/l10n/es/files_pdfviewer.po +++ /dev/null @@ -1,42 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 02:18+0200\n" -"PO-Revision-Date: 2012-08-26 00:19+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Spanish (http://www.transifex.com/projects/p/owncloud/language/es/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: es\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: js/viewer.js:22 -msgid "Previous" -msgstr "" - -#: js/viewer.js:23 -msgid "Next" -msgstr "" - -#: js/viewer.js:29 -msgid "Page Width" -msgstr "" - -#: js/viewer.js:29 -msgid "Page Fit" -msgstr "" - -#: js/viewer.js:30 -msgid "Print" -msgstr "" - -#: js/viewer.js:32 -msgid "Download" -msgstr "" diff --git a/l10n/es/files_texteditor.po b/l10n/es/files_texteditor.po deleted file mode 100644 index 51dd6d7810c8299e52e4dbdec00e044eb48294f4..0000000000000000000000000000000000000000 --- a/l10n/es/files_texteditor.po +++ /dev/null @@ -1,44 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 01:17+0200\n" -"PO-Revision-Date: 2012-08-25 23:18+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Spanish (http://www.transifex.com/projects/p/owncloud/language/es/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: es\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: js/aceeditor/mode-coldfusion-uncompressed.js:1568 -#: js/aceeditor/mode-liquid-uncompressed.js:902 -#: js/aceeditor/mode-svg-uncompressed.js:1575 -msgid "regex" -msgstr "" - -#: js/editor.js:72 js/editor.js:156 js/editor.js:163 -msgid "Save" -msgstr "" - -#: js/editor.js:74 -msgid "Close" -msgstr "" - -#: js/editor.js:149 -msgid "Saving..." -msgstr "" - -#: js/editor.js:239 -msgid "An error occurred!" -msgstr "" - -#: js/editor.js:266 -msgid "There were unsaved changes, click here to go back" -msgstr "" diff --git a/l10n/es/gallery.po b/l10n/es/gallery.po deleted file mode 100644 index 8a67c7718712f06d1232646590bd01cea1c72f22..0000000000000000000000000000000000000000 --- a/l10n/es/gallery.po +++ /dev/null @@ -1,62 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Javier Llorente , 2012. -# , 2012. -# , 2012. -# , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-07-26 02:01+0200\n" -"PO-Revision-Date: 2012-07-25 23:13+0000\n" -"Last-Translator: juanman \n" -"Language-Team: Spanish (http://www.transifex.com/projects/p/owncloud/language/es/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: es\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: appinfo/app.php:39 -msgid "Pictures" -msgstr "Imágenes" - -#: js/pictures.js:12 -msgid "Share gallery" -msgstr "Compartir galería" - -#: js/pictures.js:32 -msgid "Error: " -msgstr "Fallo " - -#: js/pictures.js:32 -msgid "Internal error" -msgstr "Fallo interno" - -#: templates/index.php:27 -msgid "Slideshow" -msgstr "Presentación" - -#: templates/view_album.php:19 -msgid "Back" -msgstr "Atrás" - -#: templates/view_album.php:36 -msgid "Remove confirmation" -msgstr "Borrar confirmación" - -#: templates/view_album.php:37 -msgid "Do you want to remove album" -msgstr "¿Quieres eliminar el álbum" - -#: templates/view_album.php:40 -msgid "Change album name" -msgstr "Cambiar nombre al álbum" - -#: templates/view_album.php:43 -msgid "New album name" -msgstr "Nuevo nombre de álbum" diff --git a/l10n/es/impress.po b/l10n/es/impress.po deleted file mode 100644 index 45ece5e5e6fdf1a6d4d5dbbbe912e0cb3a8f201d..0000000000000000000000000000000000000000 --- a/l10n/es/impress.po +++ /dev/null @@ -1,22 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 01:17+0200\n" -"PO-Revision-Date: 2012-08-25 23:18+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Spanish (http://www.transifex.com/projects/p/owncloud/language/es/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: es\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: templates/presentations.php:7 -msgid "Documentation" -msgstr "" diff --git a/l10n/es/lib.po b/l10n/es/lib.po index a98b88c383d5fc51fdb690b9185fbdf8205e166d..179b6bff7d6861372c8e54750848a06be757f250 100644 --- a/l10n/es/lib.po +++ b/l10n/es/lib.po @@ -4,58 +4,60 @@ # # Translators: # , 2012. +# Raul Fernandez Garcia , 2012. # Rubén Trujillo , 2012. +# , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-09-02 02:01+0200\n" -"PO-Revision-Date: 2012-09-01 18:23+0000\n" -"Last-Translator: Rubén Trujillo \n" +"POT-Creation-Date: 2012-11-18 00:01+0100\n" +"PO-Revision-Date: 2012-11-17 08:43+0000\n" +"Last-Translator: Raul Fernandez Garcia \n" "Language-Team: Spanish (http://www.transifex.com/projects/p/owncloud/language/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: es\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: app.php:288 +#: app.php:285 msgid "Help" msgstr "Ayuda" -#: app.php:295 +#: app.php:292 msgid "Personal" msgstr "Personal" -#: app.php:300 +#: app.php:297 msgid "Settings" msgstr "Ajustes" -#: app.php:305 +#: app.php:302 msgid "Users" msgstr "Usuarios" -#: app.php:312 +#: app.php:309 msgid "Apps" msgstr "Aplicaciones" -#: app.php:314 +#: app.php:311 msgid "Admin" msgstr "Administración" -#: files.php:280 +#: files.php:332 msgid "ZIP download is turned off." msgstr "La descarga en ZIP está desactivada." -#: files.php:281 +#: files.php:333 msgid "Files need to be downloaded one by one." msgstr "Los archivos deben ser descargados uno por uno." -#: files.php:281 files.php:306 +#: files.php:333 files.php:358 msgid "Back to Files" msgstr "Volver a Archivos" -#: files.php:305 +#: files.php:357 msgid "Selected files too large to generate zip file." msgstr "Los archivos seleccionados son demasiado grandes para generar el archivo zip." @@ -63,7 +65,7 @@ msgstr "Los archivos seleccionados son demasiado grandes para generar el archivo msgid "Application is not enabled" msgstr "La aplicación no está habilitada" -#: json.php:39 json.php:63 json.php:75 +#: json.php:39 json.php:64 json.php:77 json.php:89 msgid "Authentication error" msgstr "Error de autenticación" @@ -71,57 +73,84 @@ msgstr "Error de autenticación" msgid "Token expired. Please reload page." msgstr "Token expirado. Por favor, recarga la página." -#: template.php:86 +#: search/provider/file.php:17 search/provider/file.php:35 +msgid "Files" +msgstr "Archivos" + +#: search/provider/file.php:26 search/provider/file.php:33 +msgid "Text" +msgstr "Texto" + +#: search/provider/file.php:29 +msgid "Images" +msgstr "Imágenes" + +#: template.php:103 msgid "seconds ago" msgstr "hace segundos" -#: template.php:87 +#: template.php:104 msgid "1 minute ago" msgstr "hace 1 minuto" -#: template.php:88 +#: template.php:105 #, php-format msgid "%d minutes ago" msgstr "hace %d minutos" -#: template.php:91 +#: template.php:106 +msgid "1 hour ago" +msgstr "Hace 1 hora" + +#: template.php:107 +#, php-format +msgid "%d hours ago" +msgstr "Hace %d horas" + +#: template.php:108 msgid "today" msgstr "hoy" -#: template.php:92 +#: template.php:109 msgid "yesterday" msgstr "ayer" -#: template.php:93 +#: template.php:110 #, php-format msgid "%d days ago" msgstr "hace %d días" -#: template.php:94 +#: template.php:111 msgid "last month" msgstr "este mes" -#: template.php:95 -msgid "months ago" -msgstr "hace meses" +#: template.php:112 +#, php-format +msgid "%d months ago" +msgstr "Hace %d meses" -#: template.php:96 +#: template.php:113 msgid "last year" msgstr "este año" -#: template.php:97 +#: template.php:114 msgid "years ago" msgstr "hace años" -#: updater.php:66 +#: updater.php:75 #, php-format msgid "%s is available. Get more information" msgstr "%s está disponible. Obtén más información" -#: updater.php:68 +#: updater.php:77 msgid "up to date" msgstr "actualizado" -#: updater.php:71 +#: updater.php:80 msgid "updates check is disabled" msgstr "comprobar actualizaciones está desactivado" + +#: vcategories.php:188 vcategories.php:249 +#, php-format +msgid "Could not find category \"%s\"" +msgstr "No puede encontrar la categoria \"%s\"" diff --git a/l10n/es/media.po b/l10n/es/media.po deleted file mode 100644 index d1c84d0e8b12ab048e40a8dd4e78ffa0c56dd09c..0000000000000000000000000000000000000000 --- a/l10n/es/media.po +++ /dev/null @@ -1,68 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Javier Llorente , 2012. -# , 2011. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-06-06 00:12+0200\n" -"PO-Revision-Date: 2012-06-05 22:15+0000\n" -"Last-Translator: icewind \n" -"Language-Team: Spanish (Castilian) (http://www.transifex.net/projects/p/owncloud/language/es/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: es\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: appinfo/app.php:32 templates/player.php:8 -msgid "Music" -msgstr "Música" - -#: js/music.js:18 -msgid "Add album to playlist" -msgstr "" - -#: templates/music.php:3 templates/player.php:12 -msgid "Play" -msgstr "Reproducir" - -#: templates/music.php:4 templates/music.php:26 templates/player.php:13 -msgid "Pause" -msgstr "Pausa" - -#: templates/music.php:5 -msgid "Previous" -msgstr "Anterior" - -#: templates/music.php:6 templates/player.php:14 -msgid "Next" -msgstr "Siguiente" - -#: templates/music.php:7 -msgid "Mute" -msgstr "Silenciar" - -#: templates/music.php:8 -msgid "Unmute" -msgstr "Quitar silencio" - -#: templates/music.php:25 -msgid "Rescan Collection" -msgstr "Buscar canciones nuevas" - -#: templates/music.php:37 -msgid "Artist" -msgstr "Artista" - -#: templates/music.php:38 -msgid "Album" -msgstr "Álbum" - -#: templates/music.php:39 -msgid "Title" -msgstr "Título" diff --git a/l10n/es/settings.po b/l10n/es/settings.po index ef87a1c16ba71f2239150c24dba59e903f487738..8e8c25c4e24d7cbea5433e0b334ec30651528f4b 100644 --- a/l10n/es/settings.po +++ b/l10n/es/settings.po @@ -3,6 +3,7 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# Art O. Pal , 2012. # , 2012. # Javier Llorente , 2012. # , 2011-2012. @@ -12,14 +13,14 @@ # , 2012. # , 2011. # Rubén Trujillo , 2012. -# , 2011, 2012. +# , 2011-2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-10 02:05+0200\n" -"PO-Revision-Date: 2012-10-09 15:22+0000\n" -"Last-Translator: Rubén Trujillo \n" +"POT-Creation-Date: 2012-12-03 00:04+0100\n" +"PO-Revision-Date: 2012-12-02 03:18+0000\n" +"Last-Translator: xsergiolpx \n" "Language-Team: Spanish (http://www.transifex.com/projects/p/owncloud/language/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -27,70 +28,73 @@ msgstr "" "Language: es\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: ajax/apps/ocs.php:23 +#: ajax/apps/ocs.php:20 msgid "Unable to load list from App Store" msgstr "Imposible cargar la lista desde el App Store" -#: ajax/creategroup.php:9 ajax/removeuser.php:13 ajax/setquota.php:18 -#: ajax/togglegroups.php:15 -msgid "Authentication error" -msgstr "Error de autenticación" - -#: ajax/creategroup.php:19 +#: ajax/creategroup.php:10 msgid "Group already exists" msgstr "El grupo ya existe" -#: ajax/creategroup.php:28 +#: ajax/creategroup.php:19 msgid "Unable to add group" msgstr "No se pudo añadir el grupo" -#: ajax/enableapp.php:14 +#: ajax/enableapp.php:12 msgid "Could not enable app. " msgstr "No puedo habilitar la app." -#: ajax/lostpassword.php:14 +#: ajax/lostpassword.php:12 msgid "Email saved" msgstr "Correo guardado" -#: ajax/lostpassword.php:16 +#: ajax/lostpassword.php:14 msgid "Invalid email" msgstr "Correo no válido" -#: ajax/openid.php:16 +#: ajax/openid.php:13 msgid "OpenID Changed" msgstr "OpenID cambiado" -#: ajax/openid.php:18 ajax/setlanguage.php:20 ajax/setlanguage.php:23 +#: ajax/openid.php:15 ajax/setlanguage.php:17 ajax/setlanguage.php:20 msgid "Invalid request" msgstr "Solicitud no válida" -#: ajax/removegroup.php:16 +#: ajax/removegroup.php:13 msgid "Unable to delete group" msgstr "No se pudo eliminar el grupo" -#: ajax/removeuser.php:22 +#: ajax/removeuser.php:15 ajax/setquota.php:15 ajax/togglegroups.php:18 +msgid "Authentication error" +msgstr "Error de autenticación" + +#: ajax/removeuser.php:24 msgid "Unable to delete user" msgstr "No se pudo eliminar el usuario" -#: ajax/setlanguage.php:18 +#: ajax/setlanguage.php:15 msgid "Language changed" msgstr "Idioma cambiado" -#: ajax/togglegroups.php:25 +#: ajax/togglegroups.php:12 +msgid "Admins can't remove themself from the admin group" +msgstr "Los administradores no se pueden eliminar a ellos mismos del grupo de administrador" + +#: ajax/togglegroups.php:28 #, php-format msgid "Unable to add user to group %s" msgstr "Imposible añadir el usuario al grupo %s" -#: ajax/togglegroups.php:31 +#: ajax/togglegroups.php:34 #, php-format msgid "Unable to remove user from group %s" msgstr "Imposible eliminar al usuario del grupo %s" -#: js/apps.js:28 js/apps.js:65 +#: js/apps.js:28 js/apps.js:67 msgid "Disable" msgstr "Desactivar" -#: js/apps.js:28 js/apps.js:54 +#: js/apps.js:28 js/apps.js:55 msgid "Enable" msgstr "Activar" @@ -98,97 +102,10 @@ msgstr "Activar" msgid "Saving..." msgstr "Guardando..." -#: personal.php:47 personal.php:48 +#: personal.php:42 personal.php:43 msgid "__language_name__" msgstr "Castellano" -#: templates/admin.php:14 -msgid "Security Warning" -msgstr "Advertencia de seguridad" - -#: templates/admin.php:17 -msgid "" -"Your data directory and your files are probably accessible from the " -"internet. The .htaccess file that ownCloud provides is not working. We " -"strongly suggest that you configure your webserver in a way that the data " -"directory is no longer accessible or you move the data directory outside the" -" webserver document root." -msgstr "El directorio de datos -data- y sus archivos probablemente son accesibles desde internet. El archivo .htaccess que provee ownCloud no está funcionando. Recomendamos fuertemente que configure su servidor web de forma que el directorio de datos ya no sea accesible o mueva el directorio de datos fuera de la raíz de documentos del servidor web." - -#: templates/admin.php:31 -msgid "Cron" -msgstr "Cron" - -#: templates/admin.php:37 -msgid "Execute one task with each page loaded" -msgstr "Ejecutar una tarea con cada página cargada" - -#: templates/admin.php:43 -msgid "" -"cron.php is registered at a webcron service. Call the cron.php page in the " -"owncloud root once a minute over http." -msgstr "cron.php está registrado como un servicio del webcron. Llama a la página de cron.php en la raíz de owncloud cada minuto sobre http." - -#: templates/admin.php:49 -msgid "" -"Use systems cron service. Call the cron.php file in the owncloud folder via " -"a system cronjob once a minute." -msgstr "Usar el servicio de cron del sitema. Llame al fichero cron.php en la carpeta de owncloud via servidor cronjob cada minuto." - -#: templates/admin.php:56 -msgid "Sharing" -msgstr "Compartir" - -#: templates/admin.php:61 -msgid "Enable Share API" -msgstr "Activar API de compartición" - -#: templates/admin.php:62 -msgid "Allow apps to use the Share API" -msgstr "Permitir a las aplicaciones usar la API de compartición" - -#: templates/admin.php:67 -msgid "Allow links" -msgstr "Permitir enlaces" - -#: templates/admin.php:68 -msgid "Allow users to share items to the public with links" -msgstr "Permitir a los usuarios compartir elementos públicamente con enlaces" - -#: templates/admin.php:73 -msgid "Allow resharing" -msgstr "Permitir re-compartir" - -#: templates/admin.php:74 -msgid "Allow users to share items shared with them again" -msgstr "Permitir a los usuarios compartir elementos compartidos con ellos de nuevo" - -#: templates/admin.php:79 -msgid "Allow users to share with anyone" -msgstr "Permitir a los usuarios compartir con cualquiera" - -#: templates/admin.php:81 -msgid "Allow users to only share with users in their groups" -msgstr "Permitir a los usuarios compartir con usuarios en sus grupos" - -#: templates/admin.php:88 -msgid "Log" -msgstr "Registro" - -#: templates/admin.php:116 -msgid "More" -msgstr "Más" - -#: templates/admin.php:124 -msgid "" -"Developed by the ownCloud community, the source code is " -"licensed under the AGPL." -msgstr "Desarrollado por la comunidad ownCloud, el código fuente está bajo licencia AGPL." - #: templates/apps.php:10 msgid "Add your App" msgstr "Añade tu aplicación" @@ -221,22 +138,22 @@ msgstr "Administra archivos grandes" msgid "Ask a question" msgstr "Hacer una pregunta" -#: templates/help.php:23 +#: templates/help.php:22 msgid "Problems connecting to help database." msgstr "Problemas al conectar con la base de datos de ayuda." -#: templates/help.php:24 +#: templates/help.php:23 msgid "Go there manually." msgstr "Ir manualmente" -#: templates/help.php:32 +#: templates/help.php:31 msgid "Answer" msgstr "Respuesta" #: templates/personal.php:8 #, php-format -msgid "You have used %s of the available %s" -msgstr "Ha usado %s de %s disponible" +msgid "You have used %s of the available %s" +msgstr "Ha usado %s de %s disponibles" #: templates/personal.php:12 msgid "Desktop and Mobile Syncing Clients" @@ -294,6 +211,16 @@ msgstr "Ayúdanos a traducir" msgid "use this address to connect to your ownCloud in your file manager" msgstr "utiliza esta dirección para conectar a tu ownCloud desde tu gestor de archivos" +#: templates/personal.php:61 +msgid "" +"Developed by the ownCloud community, the source code is " +"licensed under the AGPL." +msgstr "Desarrollado por la comunidad ownCloud, el código fuente está bajo licencia AGPL." + #: templates/users.php:21 templates/users.php:76 msgid "Name" msgstr "Nombre" diff --git a/l10n/es/tasks.po b/l10n/es/tasks.po deleted file mode 100644 index c7be467fb0c76f610a976bd3b2a1da9d6068d775..0000000000000000000000000000000000000000 --- a/l10n/es/tasks.po +++ /dev/null @@ -1,107 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-18 02:01+0200\n" -"PO-Revision-Date: 2012-08-17 17:39+0000\n" -"Last-Translator: juanman \n" -"Language-Team: Spanish (http://www.transifex.com/projects/p/owncloud/language/es/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: es\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: ajax/update_property.php:51 lib/app.php:89 lib/app.php:101 -msgid "Invalid date/time" -msgstr "Fecha/hora inválida" - -#: appinfo/app.php:11 -msgid "Tasks" -msgstr "Tareas" - -#: js/tasks.js:415 -msgid "No category" -msgstr "Sin categoría" - -#: lib/app.php:33 -msgid "Unspecified" -msgstr "Sin especificar" - -#: lib/app.php:34 -msgid "1=highest" -msgstr "1=mayor" - -#: lib/app.php:38 -msgid "5=medium" -msgstr "5=media" - -#: lib/app.php:42 -msgid "9=lowest" -msgstr "9=menor" - -#: lib/app.php:81 -msgid "Empty Summary" -msgstr "Resumen vacío" - -#: lib/app.php:93 -msgid "Invalid percent complete" -msgstr "Porcentaje completado inválido" - -#: lib/app.php:107 -msgid "Invalid priority" -msgstr "Prioridad inválida" - -#: templates/tasks.php:3 -msgid "Add Task" -msgstr "Agregar tarea" - -#: templates/tasks.php:4 -msgid "Order Due" -msgstr "Ordenar por" - -#: templates/tasks.php:5 -msgid "Order List" -msgstr "Ordenar por lista" - -#: templates/tasks.php:6 -msgid "Order Complete" -msgstr "Ordenar por completadas" - -#: templates/tasks.php:7 -msgid "Order Location" -msgstr "Ordenar por ubicación" - -#: templates/tasks.php:8 -msgid "Order Priority" -msgstr "Ordenar por prioridad" - -#: templates/tasks.php:9 -msgid "Order Label" -msgstr "Ordenar por etiqueta" - -#: templates/tasks.php:16 -msgid "Loading tasks..." -msgstr "Cargando tareas..." - -#: templates/tasks.php:20 -msgid "Important" -msgstr "Importante" - -#: templates/tasks.php:23 -msgid "More" -msgstr "Más" - -#: templates/tasks.php:26 -msgid "Less" -msgstr "Menos" - -#: templates/tasks.php:29 -msgid "Delete" -msgstr "Borrar" diff --git a/l10n/es/user_migrate.po b/l10n/es/user_migrate.po deleted file mode 100644 index fbd0617741826df75e26a14b628a4916a804e40b..0000000000000000000000000000000000000000 --- a/l10n/es/user_migrate.po +++ /dev/null @@ -1,52 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Javier Llorente , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-24 02:02+0200\n" -"PO-Revision-Date: 2012-08-23 09:30+0000\n" -"Last-Translator: Javier Llorente \n" -"Language-Team: Spanish (http://www.transifex.com/projects/p/owncloud/language/es/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: es\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: js/export.js:14 js/export.js:20 -msgid "Export" -msgstr "Exportar" - -#: js/export.js:19 -msgid "Something went wrong while the export file was being generated" -msgstr "" - -#: js/export.js:19 -msgid "An error has occurred" -msgstr "" - -#: templates/settings.php:2 -msgid "Export your user account" -msgstr "" - -#: templates/settings.php:3 -msgid "" -"This will create a compressed file that contains your ownCloud account." -msgstr "" - -#: templates/settings.php:13 -msgid "Import user account" -msgstr "" - -#: templates/settings.php:15 -msgid "ownCloud User Zip" -msgstr "Zip de usuario de ownCloud" - -#: templates/settings.php:17 -msgid "Import" -msgstr "Importar" diff --git a/l10n/es/user_openid.po b/l10n/es/user_openid.po deleted file mode 100644 index efed4f72da8174012cb428e9bd0832063b2ce6e3..0000000000000000000000000000000000000000 --- a/l10n/es/user_openid.po +++ /dev/null @@ -1,55 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Javier Llorente , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-24 02:02+0200\n" -"PO-Revision-Date: 2012-08-23 09:24+0000\n" -"Last-Translator: Javier Llorente \n" -"Language-Team: Spanish (http://www.transifex.com/projects/p/owncloud/language/es/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: es\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: templates/nomode.php:12 -msgid "This is an OpenID server endpoint. For more information, see " -msgstr "" - -#: templates/nomode.php:14 -msgid "Identity: " -msgstr "Identidad: " - -#: templates/nomode.php:15 -msgid "Realm: " -msgstr "" - -#: templates/nomode.php:16 -msgid "User: " -msgstr "Usuario: " - -#: templates/nomode.php:17 -msgid "Login" -msgstr "Iniciar sesión" - -#: templates/nomode.php:22 -msgid "Error: No user Selected" -msgstr "" - -#: templates/settings.php:4 -msgid "you can authenticate to other sites with this address" -msgstr "" - -#: templates/settings.php:5 -msgid "Authorized OpenID provider" -msgstr "" - -#: templates/settings.php:6 -msgid "Your address at Wordpress, Identi.ca, …" -msgstr "" diff --git a/l10n/es/files_odfviewer.po b/l10n/es/user_webdavauth.po similarity index 60% rename from l10n/es/files_odfviewer.po rename to l10n/es/user_webdavauth.po index aaf62e020a2468f77e24030a07cc2e9304a126d4..905074ada98e2ec9ee5ca92e191c44763e5a76cd 100644 --- a/l10n/es/files_odfviewer.po +++ b/l10n/es/user_webdavauth.po @@ -3,20 +3,21 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# Art O. Pal , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 02:18+0200\n" -"PO-Revision-Date: 2012-08-26 00:19+0000\n" -"Last-Translator: FULL NAME \n" +"POT-Creation-Date: 2012-11-10 00:01+0100\n" +"PO-Revision-Date: 2012-11-09 17:28+0000\n" +"Last-Translator: Art O. Pal \n" "Language-Team: Spanish (http://www.transifex.com/projects/p/owncloud/language/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: es\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: js/viewer.js:9 -msgid "Close" -msgstr "" +#: templates/settings.php:4 +msgid "WebDAV URL: http://" +msgstr "WebDAV URL: http://" diff --git a/l10n/es_AR/core.po b/l10n/es_AR/core.po index 004bbbdbd23644a4fb24ccf4b72be4451de68463..0db84f4454b0b611e52cf58d85071cbf0abc3a01 100644 --- a/l10n/es_AR/core.po +++ b/l10n/es_AR/core.po @@ -4,13 +4,14 @@ # # Translators: # , 2012. +# , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-16 02:04+0200\n" -"PO-Revision-Date: 2012-10-16 00:05+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-11-22 00:01+0100\n" +"PO-Revision-Date: 2012-11-21 09:55+0000\n" +"Last-Translator: cjtess \n" "Language-Team: Spanish (Argentina) (http://www.transifex.com/projects/p/owncloud/language/es_AR/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -18,209 +19,241 @@ msgstr "" "Language: es_AR\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: ajax/vcategories/add.php:23 ajax/vcategories/delete.php:23 -msgid "Application name not provided." -msgstr "Nombre de la aplicación no provisto." +#: ajax/vcategories/add.php:26 ajax/vcategories/edit.php:25 +msgid "Category type not provided." +msgstr "Tipo de categoría no provisto. " -#: ajax/vcategories/add.php:29 +#: ajax/vcategories/add.php:30 msgid "No category to add?" msgstr "¿Ninguna categoría para añadir?" -#: ajax/vcategories/add.php:36 +#: ajax/vcategories/add.php:37 msgid "This category already exists: " msgstr "Esta categoría ya existe: " -#: js/js.js:238 templates/layout.user.php:49 templates/layout.user.php:50 +#: ajax/vcategories/addToFavorites.php:26 ajax/vcategories/delete.php:27 +#: ajax/vcategories/favorites.php:24 +#: ajax/vcategories/removeFromFavorites.php:26 +msgid "Object type not provided." +msgstr "Tipo de objeto no provisto. " + +#: ajax/vcategories/addToFavorites.php:30 +#: ajax/vcategories/removeFromFavorites.php:30 +#, php-format +msgid "%s ID not provided." +msgstr "%s ID no provista. " + +#: ajax/vcategories/addToFavorites.php:35 +#, php-format +msgid "Error adding %s to favorites." +msgstr "Error al agregar %s a favoritos. " + +#: ajax/vcategories/delete.php:35 js/oc-vcategories.js:136 +msgid "No categories selected for deletion." +msgstr "No hay categorías seleccionadas para borrar." + +#: ajax/vcategories/removeFromFavorites.php:35 +#, php-format +msgid "Error removing %s from favorites." +msgstr "Error al remover %s de favoritos. " + +#: js/js.js:259 templates/layout.user.php:60 templates/layout.user.php:61 msgid "Settings" msgstr "Ajustes" -#: js/js.js:670 -msgid "January" -msgstr "Enero" +#: js/js.js:704 +msgid "seconds ago" +msgstr "segundos atrás" -#: js/js.js:670 -msgid "February" -msgstr "Febrero" +#: js/js.js:705 +msgid "1 minute ago" +msgstr "hace 1 minuto" -#: js/js.js:670 -msgid "March" -msgstr "Marzo" +#: js/js.js:706 +msgid "{minutes} minutes ago" +msgstr "hace {minutes} minutos" -#: js/js.js:670 -msgid "April" -msgstr "Abril" +#: js/js.js:707 +msgid "1 hour ago" +msgstr "Hace 1 hora" -#: js/js.js:670 -msgid "May" -msgstr "Mayo" +#: js/js.js:708 +msgid "{hours} hours ago" +msgstr "{hours} horas atrás" -#: js/js.js:670 -msgid "June" -msgstr "Junio" +#: js/js.js:709 +msgid "today" +msgstr "hoy" -#: js/js.js:671 -msgid "July" -msgstr "Julio" +#: js/js.js:710 +msgid "yesterday" +msgstr "ayer" -#: js/js.js:671 -msgid "August" -msgstr "Agosto" +#: js/js.js:711 +msgid "{days} days ago" +msgstr "hace {days} días" -#: js/js.js:671 -msgid "September" -msgstr "Septiembre" +#: js/js.js:712 +msgid "last month" +msgstr "el mes pasado" -#: js/js.js:671 -msgid "October" -msgstr "Octubre" +#: js/js.js:713 +msgid "{months} months ago" +msgstr "{months} meses atrás" -#: js/js.js:671 -msgid "November" -msgstr "Noviembre" +#: js/js.js:714 +msgid "months ago" +msgstr "meses atrás" -#: js/js.js:671 -msgid "December" -msgstr "Diciembre" +#: js/js.js:715 +msgid "last year" +msgstr "el año pasado" -#: js/oc-dialogs.js:123 +#: js/js.js:716 +msgid "years ago" +msgstr "años atrás" + +#: js/oc-dialogs.js:126 msgid "Choose" msgstr "Elegir" -#: js/oc-dialogs.js:143 js/oc-dialogs.js:163 +#: js/oc-dialogs.js:146 js/oc-dialogs.js:166 msgid "Cancel" msgstr "Cancelar" -#: js/oc-dialogs.js:159 +#: js/oc-dialogs.js:162 msgid "No" msgstr "No" -#: js/oc-dialogs.js:160 +#: js/oc-dialogs.js:163 msgid "Yes" msgstr "Sí" -#: js/oc-dialogs.js:177 +#: js/oc-dialogs.js:180 msgid "Ok" msgstr "Aceptar" -#: js/oc-vcategories.js:68 -msgid "No categories selected for deletion." -msgstr "No hay categorías seleccionadas para borrar." +#: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102 +#: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162 +msgid "The object type is not specified." +msgstr "El tipo de objeto no esta especificado. " -#: js/oc-vcategories.js:68 js/share.js:114 js/share.js:121 js/share.js:497 -#: js/share.js:509 +#: js/oc-vcategories.js:95 js/oc-vcategories.js:125 js/oc-vcategories.js:136 +#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:527 +#: js/share.js:539 msgid "Error" msgstr "Error" -#: js/share.js:103 +#: js/oc-vcategories.js:179 +msgid "The app name is not specified." +msgstr "El nombre de la aplicación no esta especificado." + +#: js/oc-vcategories.js:194 +msgid "The required file {file} is not installed!" +msgstr "¡El archivo requerido {file} no está instalado!" + +#: js/share.js:124 msgid "Error while sharing" msgstr "Error al compartir" -#: js/share.js:114 +#: js/share.js:135 msgid "Error while unsharing" msgstr "Error en el procedimiento de " -#: js/share.js:121 +#: js/share.js:142 msgid "Error while changing permissions" msgstr "Error al cambiar permisos" -#: js/share.js:130 -msgid "Shared with you and the group" -msgstr "Compartido con vos y con el grupo" +#: js/share.js:151 +msgid "Shared with you and the group {group} by {owner}" +msgstr "Compartido con vos y el grupo {group} por {owner}" -#: js/share.js:130 -msgid "by" -msgstr "por" - -#: js/share.js:132 -msgid "Shared with you by" -msgstr "Compartido con vos por" +#: js/share.js:153 +msgid "Shared with you by {owner}" +msgstr "Compartido con vos por {owner}" -#: js/share.js:137 +#: js/share.js:158 msgid "Share with" msgstr "Compartir con" -#: js/share.js:142 +#: js/share.js:163 msgid "Share with link" msgstr "Compartir con link" -#: js/share.js:143 +#: js/share.js:164 msgid "Password protect" msgstr "Proteger con contraseña " -#: js/share.js:147 templates/installation.php:42 templates/login.php:24 +#: js/share.js:168 templates/installation.php:42 templates/login.php:24 #: templates/verify.php:13 msgid "Password" msgstr "Contraseña" -#: js/share.js:152 +#: js/share.js:173 msgid "Set expiration date" msgstr "Asignar fecha de vencimiento" -#: js/share.js:153 +#: js/share.js:174 msgid "Expiration date" msgstr "Fecha de vencimiento" -#: js/share.js:185 +#: js/share.js:206 msgid "Share via email:" msgstr "compartido a través de e-mail:" -#: js/share.js:187 +#: js/share.js:208 msgid "No people found" msgstr "No se encontraron usuarios" -#: js/share.js:214 +#: js/share.js:235 msgid "Resharing is not allowed" msgstr "No se permite volver a compartir" -#: js/share.js:250 -msgid "Shared in" -msgstr "Compartido en" - -#: js/share.js:250 -msgid "with" -msgstr "con" - #: js/share.js:271 +msgid "Shared in {item} with {user}" +msgstr "Compartido en {item} con {user}" + +#: js/share.js:292 msgid "Unshare" msgstr "Remover compartir" -#: js/share.js:283 +#: js/share.js:304 msgid "can edit" msgstr "puede editar" -#: js/share.js:285 +#: js/share.js:306 msgid "access control" msgstr "control de acceso" -#: js/share.js:288 +#: js/share.js:309 msgid "create" msgstr "crear" -#: js/share.js:291 +#: js/share.js:312 msgid "update" msgstr "actualizar" -#: js/share.js:294 +#: js/share.js:315 msgid "delete" -msgstr "remover" +msgstr "borrar" -#: js/share.js:297 +#: js/share.js:318 msgid "share" msgstr "compartir" -#: js/share.js:322 js/share.js:484 +#: js/share.js:343 js/share.js:514 js/share.js:516 msgid "Password protected" msgstr "Protegido por contraseña" -#: js/share.js:497 +#: js/share.js:527 msgid "Error unsetting expiration date" msgstr "Error al remover la fecha de caducidad" -#: js/share.js:509 +#: js/share.js:539 msgid "Error setting expiration date" msgstr "Error al asignar fecha de vencimiento" -#: lostpassword/index.php:26 +#: lostpassword/controller.php:47 msgid "ownCloud password reset" msgstr "Restablecer contraseña de ownCloud" @@ -233,12 +266,12 @@ msgid "You will receive a link to reset your password via Email." msgstr "Vas a recibir un enlace por e-mail para restablecer tu contraseña" #: lostpassword/templates/lostpassword.php:5 -msgid "Requested" -msgstr "Pedido" +msgid "Reset email send." +msgstr "Reiniciar envío de email." #: lostpassword/templates/lostpassword.php:8 -msgid "Login failed!" -msgstr "¡Fallo al iniciar sesión!" +msgid "Request failed!" +msgstr "Error en el pedido!" #: lostpassword/templates/lostpassword.php:11 templates/installation.php:38 #: templates/login.php:20 @@ -251,7 +284,7 @@ msgstr "Solicitar restablecimiento" #: lostpassword/templates/resetpassword.php:4 msgid "Your password was reset" -msgstr "Tu contraseña ha sido restablecida" +msgstr "Tu contraseña fue restablecida" #: lostpassword/templates/resetpassword.php:5 msgid "To login page" @@ -291,31 +324,31 @@ msgstr "Acceso denegado" #: templates/404.php:12 msgid "Cloud not found" -msgstr "No se encontró owncloud" +msgstr "No se encontró ownCloud" #: templates/edit_categories_dialog.php:4 msgid "Edit categories" msgstr "Editar categorías" -#: templates/edit_categories_dialog.php:14 +#: templates/edit_categories_dialog.php:16 msgid "Add" -msgstr "Añadir" +msgstr "Agregar" #: templates/installation.php:23 templates/installation.php:31 msgid "Security Warning" -msgstr "" +msgstr "Advertencia de seguridad" #: templates/installation.php:24 msgid "" "No secure random number generator is available, please enable the PHP " "OpenSSL extension." -msgstr "" +msgstr "No hay disponible ningún generador de números aleatorios seguro. Por favor habilitá la extensión OpenSSL de PHP." #: templates/installation.php:26 msgid "" "Without a secure random number generator an attacker may be able to predict " "password reset tokens and take over your account." -msgstr "" +msgstr "Sin un generador de números aleatorios seguro un atacante podría predecir los tokens de reinicio de tu contraseña y tomar control de tu cuenta." #: templates/installation.php:32 msgid "" @@ -324,11 +357,11 @@ msgid "" "strongly suggest that you configure your webserver in a way that the data " "directory is no longer accessible or you move the data directory outside the" " webserver document root." -msgstr "" +msgstr "Tu directorio de datos y tus archivos son probablemente accesibles desde internet. El archivo .htaccess provisto por ownCloud no está funcionando. Te sugerimos que configures tu servidor web de manera que el directorio de datos ya no esté accesible, o que muevas el directorio de datos afuera del directorio raíz de tu servidor web." #: templates/installation.php:36 msgid "Create an admin account" -msgstr "Creá una cuenta de administrador" +msgstr "Crear una cuenta de administrador" #: templates/installation.php:48 msgid "Advanced" @@ -371,27 +404,103 @@ msgstr "Host de la base de datos" msgid "Finish setup" msgstr "Completar la instalación" -#: templates/layout.guest.php:38 +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Sunday" +msgstr "Domingo" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Monday" +msgstr "Lunes" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Tuesday" +msgstr "Martes" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Wednesday" +msgstr "Miércoles" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Thursday" +msgstr "Jueves" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Friday" +msgstr "Viernes" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Saturday" +msgstr "Sábado" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "January" +msgstr "Enero" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "February" +msgstr "Febrero" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "March" +msgstr "Marzo" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "April" +msgstr "Abril" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "May" +msgstr "Mayo" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "June" +msgstr "Junio" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "July" +msgstr "Julio" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "August" +msgstr "Agosto" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "September" +msgstr "Septiembre" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "October" +msgstr "Octubre" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "November" +msgstr "Noviembre" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "December" +msgstr "Diciembre" + +#: templates/layout.guest.php:42 msgid "web services under your control" msgstr "servicios web sobre los que tenés control" -#: templates/layout.user.php:34 +#: templates/layout.user.php:45 msgid "Log out" msgstr "Cerrar la sesión" #: templates/login.php:8 msgid "Automatic logon rejected!" -msgstr "" +msgstr "¡El inicio de sesión automático fue rechazado!" #: templates/login.php:9 msgid "" "If you did not change your password recently, your account may be " "compromised!" -msgstr "" +msgstr "¡Si no cambiaste tu contraseña recientemente, puede ser que tu cuenta esté comprometida!" #: templates/login.php:10 msgid "Please change your password to secure your account again." -msgstr "" +msgstr "Por favor, cambiá tu contraseña para fortalecer nuevamente la seguridad de tu cuenta." #: templates/login.php:15 msgid "Lost your password?" @@ -419,14 +528,14 @@ msgstr "siguiente" #: templates/verify.php:5 msgid "Security Warning!" -msgstr "" +msgstr "¡Advertencia de seguridad!" #: templates/verify.php:6 msgid "" "Please verify your password.
For security reasons you may be " "occasionally asked to enter your password again." -msgstr "" +msgstr "Por favor, verificá tu contraseña.
Por razones de seguridad, puede ser que que te pregunte ocasionalmente la contraseña." #: templates/verify.php:16 msgid "Verify" -msgstr "" +msgstr "Verificar" diff --git a/l10n/es_AR/files.po b/l10n/es_AR/files.po index 072de5c06f63ce0b16f75449b4ef9bd7bf669b6f..551f3b477be5daf4feebdd0d872991169d530e10 100644 --- a/l10n/es_AR/files.po +++ b/l10n/es_AR/files.po @@ -3,14 +3,15 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# Agustin Ferrario , 2012. # , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-09-28 23:34+0200\n" -"PO-Revision-Date: 2012-09-28 09:21+0000\n" -"Last-Translator: cjtess \n" +"POT-Creation-Date: 2012-12-11 00:04+0100\n" +"PO-Revision-Date: 2012-12-10 00:37+0000\n" +"Last-Translator: Agustin Ferrario \n" "Language-Team: Spanish (Argentina) (http://www.transifex.com/projects/p/owncloud/language/es_AR/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -23,195 +24,166 @@ msgid "There is no error, the file uploaded with success" msgstr "No se han producido errores, el archivo se ha subido con éxito" #: ajax/upload.php:21 -msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" -msgstr "El archivo que intentás subir sobrepasa el tamaño definido por la variable upload_max_filesize en php.ini" +msgid "" +"The uploaded file exceeds the upload_max_filesize directive in php.ini: " +msgstr "El archivo que intentás subir excede el tamaño definido por upload_max_filesize en el php.ini:" -#: ajax/upload.php:22 +#: ajax/upload.php:23 msgid "" "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " "the HTML form" msgstr "El archivo que intentás subir sobrepasa el tamaño definido por la variable MAX_FILE_SIZE especificada en el formulario HTML" -#: ajax/upload.php:23 +#: ajax/upload.php:25 msgid "The uploaded file was only partially uploaded" msgstr "El archivo que intentás subir solo se subió parcialmente" -#: ajax/upload.php:24 +#: ajax/upload.php:26 msgid "No file was uploaded" msgstr "El archivo no fue subido" -#: ajax/upload.php:25 +#: ajax/upload.php:27 msgid "Missing a temporary folder" msgstr "Falta un directorio temporal" -#: ajax/upload.php:26 +#: ajax/upload.php:28 msgid "Failed to write to disk" -msgstr "La escritura en disco falló" +msgstr "Error al escribir en el disco" -#: appinfo/app.php:6 +#: appinfo/app.php:10 msgid "Files" msgstr "Archivos" -#: js/fileactions.js:108 templates/index.php:62 +#: js/fileactions.js:117 templates/index.php:84 templates/index.php:85 msgid "Unshare" msgstr "Dejar de compartir" -#: js/fileactions.js:110 templates/index.php:64 +#: js/fileactions.js:119 templates/index.php:90 templates/index.php:91 msgid "Delete" msgstr "Borrar" -#: js/fileactions.js:182 +#: js/fileactions.js:181 msgid "Rename" -msgstr "cambiar nombre" +msgstr "Cambiar nombre" -#: js/filelist.js:190 js/filelist.js:192 -msgid "already exists" -msgstr "ya existe" +#: js/filelist.js:199 js/filelist.js:201 +msgid "{new_name} already exists" +msgstr "{new_name} ya existe" -#: js/filelist.js:190 js/filelist.js:192 +#: js/filelist.js:199 js/filelist.js:201 msgid "replace" msgstr "reemplazar" -#: js/filelist.js:190 +#: js/filelist.js:199 msgid "suggest name" msgstr "sugerir nombre" -#: js/filelist.js:190 js/filelist.js:192 +#: js/filelist.js:199 js/filelist.js:201 msgid "cancel" msgstr "cancelar" -#: js/filelist.js:239 js/filelist.js:241 -msgid "replaced" -msgstr "reemplazado" +#: js/filelist.js:248 +msgid "replaced {new_name}" +msgstr "reemplazado {new_name}" -#: js/filelist.js:239 js/filelist.js:241 js/filelist.js:273 js/filelist.js:275 +#: js/filelist.js:248 js/filelist.js:250 js/filelist.js:282 js/filelist.js:284 msgid "undo" msgstr "deshacer" -#: js/filelist.js:241 -msgid "with" -msgstr "con" +#: js/filelist.js:250 +msgid "replaced {new_name} with {old_name}" +msgstr "reemplazado {new_name} con {old_name}" + +#: js/filelist.js:282 +msgid "unshared {files}" +msgstr "{files} se dejaron de compartir" -#: js/filelist.js:273 -msgid "unshared" -msgstr "no compartido" +#: js/filelist.js:284 +msgid "deleted {files}" +msgstr "{files} borrados" -#: js/filelist.js:275 -msgid "deleted" -msgstr "borrado" +#: js/files.js:33 +msgid "" +"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not " +"allowed." +msgstr "Nombre invalido, '\\', '/', '<', '>', ':', '\"', '|', '?' y '*' no están permitidos." -#: js/files.js:179 +#: js/files.js:174 msgid "generating ZIP-file, it may take some time." msgstr "generando un archivo ZIP, puede llevar un tiempo." -#: js/files.js:208 +#: js/files.js:209 msgid "Unable to upload your file as it is a directory or has 0 bytes" -msgstr "No fue posible subir tu archivo porque es un directorio o su tamaño es 0 bytes" +msgstr "No fue posible subir el archivo porque es un directorio o porque su tamaño es 0 bytes" -#: js/files.js:208 +#: js/files.js:209 msgid "Upload Error" msgstr "Error al subir el archivo" -#: js/files.js:236 js/files.js:341 js/files.js:371 +#: js/files.js:226 +msgid "Close" +msgstr "Cerrar" + +#: js/files.js:245 js/files.js:359 js/files.js:389 msgid "Pending" msgstr "Pendiente" -#: js/files.js:256 +#: js/files.js:265 msgid "1 file uploading" msgstr "Subiendo 1 archivo" -#: js/files.js:259 js/files.js:304 js/files.js:319 -msgid "files uploading" -msgstr "Subiendo archivos" +#: js/files.js:268 js/files.js:322 js/files.js:337 +msgid "{count} files uploading" +msgstr "Subiendo {count} archivos" -#: js/files.js:322 js/files.js:355 +#: js/files.js:340 js/files.js:373 msgid "Upload cancelled." msgstr "La subida fue cancelada" -#: js/files.js:424 +#: js/files.js:442 msgid "" "File upload is in progress. Leaving the page now will cancel the upload." msgstr "La subida del archivo está en proceso. Si salís de la página ahora, la subida se cancelará." -#: js/files.js:494 -msgid "Invalid name, '/' is not allowed." -msgstr "Nombre no válido, '/' no está permitido." +#: js/files.js:512 +msgid "Invalid folder name. Usage of \"Shared\" is reserved by Owncloud" +msgstr "Nombre del directorio inválido. Usar \"Shared\" está reservado por ownCloud." -#: js/files.js:668 -msgid "files scanned" -msgstr "archivos escaneados" +#: js/files.js:693 +msgid "{count} files scanned" +msgstr "{count} archivos escaneados" -#: js/files.js:676 +#: js/files.js:701 msgid "error while scanning" msgstr "error mientras se escaneaba" -#: js/files.js:749 templates/index.php:48 +#: js/files.js:774 templates/index.php:66 msgid "Name" msgstr "Nombre" -#: js/files.js:750 templates/index.php:56 +#: js/files.js:775 templates/index.php:77 msgid "Size" msgstr "Tamaño" -#: js/files.js:751 templates/index.php:58 +#: js/files.js:776 templates/index.php:79 msgid "Modified" msgstr "Modificado" -#: js/files.js:778 -msgid "folder" -msgstr "carpeta" - -#: js/files.js:780 -msgid "folders" -msgstr "carpetas" - -#: js/files.js:788 -msgid "file" -msgstr "archivo" - -#: js/files.js:790 -msgid "files" -msgstr "archivos" - -#: js/files.js:834 -msgid "seconds ago" -msgstr "segundos atrás" - -#: js/files.js:835 -msgid "minute ago" -msgstr "hace un minuto" - -#: js/files.js:836 -msgid "minutes ago" -msgstr "minutos atrás" +#: js/files.js:803 +msgid "1 folder" +msgstr "1 directorio" -#: js/files.js:839 -msgid "today" -msgstr "hoy" +#: js/files.js:805 +msgid "{count} folders" +msgstr "{count} directorios" -#: js/files.js:840 -msgid "yesterday" -msgstr "ayer" +#: js/files.js:813 +msgid "1 file" +msgstr "1 archivo" -#: js/files.js:841 -msgid "days ago" -msgstr "días atrás" - -#: js/files.js:842 -msgid "last month" -msgstr "el mes pasado" - -#: js/files.js:844 -msgid "months ago" -msgstr "meses atrás" - -#: js/files.js:845 -msgid "last year" -msgstr "el año pasado" - -#: js/files.js:846 -msgid "years ago" -msgstr "años atrás" +#: js/files.js:815 +msgid "{count} files" +msgstr "{count} archivos" #: templates/admin.php:5 msgid "File handling" @@ -221,27 +193,27 @@ msgstr "Tratamiento de archivos" msgid "Maximum upload size" msgstr "Tamaño máximo de subida" -#: templates/admin.php:7 +#: templates/admin.php:9 msgid "max. possible: " msgstr "máx. posible:" -#: templates/admin.php:9 +#: templates/admin.php:12 msgid "Needed for multi-file and folder downloads." -msgstr "Se necesita para descargas multi-archivo y de carpetas" +msgstr "Es necesario para descargas multi-archivo y de carpetas" -#: templates/admin.php:9 +#: templates/admin.php:14 msgid "Enable ZIP-download" msgstr "Habilitar descarga en formato ZIP" -#: templates/admin.php:11 +#: templates/admin.php:17 msgid "0 is unlimited" msgstr "0 significa ilimitado" -#: templates/admin.php:12 +#: templates/admin.php:19 msgid "Maximum input size for ZIP files" msgstr "Tamaño máximo para archivos ZIP de entrada" -#: templates/admin.php:14 +#: templates/admin.php:23 msgid "Save" msgstr "Guardar" @@ -249,52 +221,48 @@ msgstr "Guardar" msgid "New" msgstr "Nuevo" -#: templates/index.php:9 +#: templates/index.php:10 msgid "Text file" msgstr "Archivo de texto" -#: templates/index.php:10 +#: templates/index.php:12 msgid "Folder" msgstr "Carpeta" -#: templates/index.php:11 -msgid "From url" -msgstr "Desde la URL" +#: templates/index.php:14 +msgid "From link" +msgstr "Desde enlace" -#: templates/index.php:20 +#: templates/index.php:35 msgid "Upload" msgstr "Subir" -#: templates/index.php:27 +#: templates/index.php:43 msgid "Cancel upload" msgstr "Cancelar subida" -#: templates/index.php:40 +#: templates/index.php:58 msgid "Nothing in here. Upload something!" -msgstr "Aquí no hay nada. ¡Subí contenido!" - -#: templates/index.php:50 -msgid "Share" -msgstr "Compartir" +msgstr "No hay nada. ¡Subí contenido!" -#: templates/index.php:52 +#: templates/index.php:72 msgid "Download" msgstr "Descargar" -#: templates/index.php:75 +#: templates/index.php:104 msgid "Upload too large" msgstr "El archivo es demasiado grande" -#: templates/index.php:77 +#: templates/index.php:106 msgid "" "The files you are trying to upload exceed the maximum size for file uploads " "on this server." msgstr "Los archivos que intentás subir sobrepasan el tamaño máximo " -#: templates/index.php:82 +#: templates/index.php:111 msgid "Files are being scanned, please wait." -msgstr "Se están escaneando los archivos, por favor espere." +msgstr "Se están escaneando los archivos, por favor esperá." -#: templates/index.php:85 +#: templates/index.php:114 msgid "Current scanning" msgstr "Escaneo actual" diff --git a/l10n/es_AR/files_external.po b/l10n/es_AR/files_external.po index 55fe0810c4cb5a3e59593d6740c64e94794a3add..5090ecf75b0d22aa9fbc943e456aefef2a20339f 100644 --- a/l10n/es_AR/files_external.po +++ b/l10n/es_AR/files_external.po @@ -8,9 +8,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-11 02:04+0200\n" -"PO-Revision-Date: 2012-10-10 07:08+0000\n" -"Last-Translator: cjtess \n" +"POT-Creation-Date: 2012-12-12 00:12+0100\n" +"PO-Revision-Date: 2012-12-11 23:13+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Spanish (Argentina) (http://www.transifex.com/projects/p/owncloud/language/es_AR/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -42,66 +42,80 @@ msgstr "Por favor, proporcioná un secreto y una contraseña válida para la apl msgid "Error configuring Google Drive storage" msgstr "Error al configurar el almacenamiento de Google Drive" +#: lib/config.php:434 +msgid "" +"Warning: \"smbclient\" is not installed. Mounting of CIFS/SMB shares " +"is not possible. Please ask your system administrator to install it." +msgstr "" + +#: lib/config.php:435 +msgid "" +"Warning: The FTP support in PHP is not enabled or installed. Mounting" +" of FTP shares is not possible. Please ask your system administrator to " +"install it." +msgstr "" + #: templates/settings.php:3 msgid "External Storage" msgstr "Almacenamiento externo" -#: templates/settings.php:7 templates/settings.php:19 +#: templates/settings.php:8 templates/settings.php:22 msgid "Mount point" msgstr "Punto de montaje" -#: templates/settings.php:8 +#: templates/settings.php:9 msgid "Backend" msgstr "Motor" -#: templates/settings.php:9 +#: templates/settings.php:10 msgid "Configuration" msgstr "Configuración" -#: templates/settings.php:10 +#: templates/settings.php:11 msgid "Options" msgstr "Opciones" -#: templates/settings.php:11 +#: templates/settings.php:12 msgid "Applicable" msgstr "Aplicable" -#: templates/settings.php:23 +#: templates/settings.php:27 msgid "Add mount point" msgstr "Añadir punto de montaje" -#: templates/settings.php:54 templates/settings.php:62 +#: templates/settings.php:85 msgid "None set" msgstr "No fue configurado" -#: templates/settings.php:63 +#: templates/settings.php:86 msgid "All Users" msgstr "Todos los usuarios" -#: templates/settings.php:64 +#: templates/settings.php:87 msgid "Groups" msgstr "Grupos" -#: templates/settings.php:69 +#: templates/settings.php:95 msgid "Users" msgstr "Usuarios" -#: templates/settings.php:77 templates/settings.php:107 +#: templates/settings.php:108 templates/settings.php:109 +#: templates/settings.php:149 templates/settings.php:150 msgid "Delete" msgstr "Borrar" -#: templates/settings.php:87 +#: templates/settings.php:124 msgid "Enable User External Storage" msgstr "Habilitar almacenamiento de usuario externo" -#: templates/settings.php:88 +#: templates/settings.php:125 msgid "Allow users to mount their own external storage" msgstr "Permitir a los usuarios montar su propio almacenamiento externo" -#: templates/settings.php:99 +#: templates/settings.php:139 msgid "SSL root certificates" msgstr "certificados SSL raíz" -#: templates/settings.php:113 +#: templates/settings.php:158 msgid "Import Root Certificate" msgstr "Importar certificado raíz" diff --git a/l10n/es_AR/lib.po b/l10n/es_AR/lib.po index 07b048d92ade8c990bdc6f32235ed5dae62878ac..d7c4a911766125fbe83094158a2f216aef634bd5 100644 --- a/l10n/es_AR/lib.po +++ b/l10n/es_AR/lib.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-09-25 02:02+0200\n" -"PO-Revision-Date: 2012-09-24 04:22+0000\n" +"POT-Creation-Date: 2012-11-22 00:01+0100\n" +"PO-Revision-Date: 2012-11-21 09:56+0000\n" "Last-Translator: cjtess \n" "Language-Team: Spanish (Argentina) (http://www.transifex.com/projects/p/owncloud/language/es_AR/)\n" "MIME-Version: 1.0\n" @@ -42,19 +42,19 @@ msgstr "Aplicaciones" msgid "Admin" msgstr "Administración" -#: files.php:310 +#: files.php:361 msgid "ZIP download is turned off." msgstr "La descarga en ZIP está desactivada." -#: files.php:311 +#: files.php:362 msgid "Files need to be downloaded one by one." msgstr "Los archivos deben ser descargados de a uno." -#: files.php:311 files.php:336 +#: files.php:362 files.php:387 msgid "Back to Files" msgstr "Volver a archivos" -#: files.php:335 +#: files.php:386 msgid "Selected files too large to generate zip file." msgstr "Los archivos seleccionados son demasiado grandes para generar el archivo zip." @@ -62,7 +62,7 @@ msgstr "Los archivos seleccionados son demasiado grandes para generar el archivo msgid "Application is not enabled" msgstr "La aplicación no está habilitada" -#: json.php:39 json.php:63 json.php:75 +#: json.php:39 json.php:64 json.php:77 json.php:89 msgid "Authentication error" msgstr "Error de autenticación" @@ -70,57 +70,84 @@ msgstr "Error de autenticación" msgid "Token expired. Please reload page." msgstr "Token expirado. Por favor, recargá la página." -#: template.php:87 +#: search/provider/file.php:17 search/provider/file.php:35 +msgid "Files" +msgstr "Archivos" + +#: search/provider/file.php:26 search/provider/file.php:33 +msgid "Text" +msgstr "Texto" + +#: search/provider/file.php:29 +msgid "Images" +msgstr "Imágenes" + +#: template.php:103 msgid "seconds ago" msgstr "hace unos segundos" -#: template.php:88 +#: template.php:104 msgid "1 minute ago" msgstr "hace 1 minuto" -#: template.php:89 +#: template.php:105 #, php-format msgid "%d minutes ago" msgstr "hace %d minutos" -#: template.php:92 +#: template.php:106 +msgid "1 hour ago" +msgstr "1 hora atrás" + +#: template.php:107 +#, php-format +msgid "%d hours ago" +msgstr "%d horas atrás" + +#: template.php:108 msgid "today" msgstr "hoy" -#: template.php:93 +#: template.php:109 msgid "yesterday" msgstr "ayer" -#: template.php:94 +#: template.php:110 #, php-format msgid "%d days ago" msgstr "hace %d días" -#: template.php:95 +#: template.php:111 msgid "last month" msgstr "este mes" -#: template.php:96 -msgid "months ago" -msgstr "hace meses" +#: template.php:112 +#, php-format +msgid "%d months ago" +msgstr "%d meses atrás" -#: template.php:97 +#: template.php:113 msgid "last year" msgstr "este año" -#: template.php:98 +#: template.php:114 msgid "years ago" msgstr "hace años" -#: updater.php:66 +#: updater.php:75 #, php-format msgid "%s is available. Get more information" msgstr "%s está disponible. Conseguí más información" -#: updater.php:68 +#: updater.php:77 msgid "up to date" msgstr "actualizado" -#: updater.php:71 +#: updater.php:80 msgid "updates check is disabled" msgstr "comprobar actualizaciones está desactivado" + +#: vcategories.php:188 vcategories.php:249 +#, php-format +msgid "Could not find category \"%s\"" +msgstr "No fue posible encontrar la categoría \"%s\"" diff --git a/l10n/es_AR/settings.po b/l10n/es_AR/settings.po index bad107a5f86fc070141666aa5cdb93db01035da0..89e8050adf8aad11715c13d879c778a28697e84e 100644 --- a/l10n/es_AR/settings.po +++ b/l10n/es_AR/settings.po @@ -3,14 +3,15 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# Agustin Ferrario , 2012. # , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-11 02:04+0200\n" -"PO-Revision-Date: 2012-10-10 06:43+0000\n" -"Last-Translator: cjtess \n" +"POT-Creation-Date: 2012-12-11 00:04+0100\n" +"PO-Revision-Date: 2012-12-10 00:39+0000\n" +"Last-Translator: Agustin Ferrario \n" "Language-Team: Spanish (Argentina) (http://www.transifex.com/projects/p/owncloud/language/es_AR/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -18,70 +19,73 @@ msgstr "" "Language: es_AR\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: ajax/apps/ocs.php:23 +#: ajax/apps/ocs.php:20 msgid "Unable to load list from App Store" msgstr "Imposible cargar la lista desde el App Store" -#: ajax/creategroup.php:9 ajax/removeuser.php:18 ajax/setquota.php:18 -#: ajax/togglegroups.php:15 -msgid "Authentication error" -msgstr "Error al autenticar" - -#: ajax/creategroup.php:19 +#: ajax/creategroup.php:10 msgid "Group already exists" msgstr "El grupo ya existe" -#: ajax/creategroup.php:28 +#: ajax/creategroup.php:19 msgid "Unable to add group" msgstr "No fue posible añadir el grupo" -#: ajax/enableapp.php:14 +#: ajax/enableapp.php:12 msgid "Could not enable app. " msgstr "No se puede habilitar la aplicación." -#: ajax/lostpassword.php:14 +#: ajax/lostpassword.php:12 msgid "Email saved" msgstr "e-mail guardado" -#: ajax/lostpassword.php:16 +#: ajax/lostpassword.php:14 msgid "Invalid email" msgstr "el e-mail no es válido " -#: ajax/openid.php:16 +#: ajax/openid.php:13 msgid "OpenID Changed" msgstr "OpenID cambiado" -#: ajax/openid.php:18 ajax/setlanguage.php:20 ajax/setlanguage.php:23 +#: ajax/openid.php:15 ajax/setlanguage.php:17 ajax/setlanguage.php:20 msgid "Invalid request" msgstr "Solicitud no válida" -#: ajax/removegroup.php:16 +#: ajax/removegroup.php:13 msgid "Unable to delete group" msgstr "No fue posible eliminar el grupo" -#: ajax/removeuser.php:27 +#: ajax/removeuser.php:15 ajax/setquota.php:15 ajax/togglegroups.php:18 +msgid "Authentication error" +msgstr "Error al autenticar" + +#: ajax/removeuser.php:24 msgid "Unable to delete user" msgstr "No fue posible eliminar el usuario" -#: ajax/setlanguage.php:18 +#: ajax/setlanguage.php:15 msgid "Language changed" msgstr "Idioma cambiado" -#: ajax/togglegroups.php:25 +#: ajax/togglegroups.php:12 +msgid "Admins can't remove themself from the admin group" +msgstr "Los administradores no se pueden quitar a ellos mismos del grupo administrador. " + +#: ajax/togglegroups.php:28 #, php-format msgid "Unable to add user to group %s" msgstr "No fue posible añadir el usuario al grupo %s" -#: ajax/togglegroups.php:31 +#: ajax/togglegroups.php:34 #, php-format msgid "Unable to remove user from group %s" msgstr "No es posible eliminar al usuario del grupo %s" -#: js/apps.js:28 js/apps.js:65 +#: js/apps.js:28 js/apps.js:67 msgid "Disable" msgstr "Desactivar" -#: js/apps.js:28 js/apps.js:54 +#: js/apps.js:28 js/apps.js:55 msgid "Enable" msgstr "Activar" @@ -89,97 +93,10 @@ msgstr "Activar" msgid "Saving..." msgstr "Guardando..." -#: personal.php:47 personal.php:48 +#: personal.php:42 personal.php:43 msgid "__language_name__" msgstr "Castellano (Argentina)" -#: templates/admin.php:14 -msgid "Security Warning" -msgstr "Advertencia de seguridad" - -#: templates/admin.php:17 -msgid "" -"Your data directory and your files are probably accessible from the " -"internet. The .htaccess file that ownCloud provides is not working. We " -"strongly suggest that you configure your webserver in a way that the data " -"directory is no longer accessible or you move the data directory outside the" -" webserver document root." -msgstr "El directorio de datos -data- y los archivos que contiene, probablemente son accesibles desde internet. El archivo .htaccess que provee ownCloud no está funcionando. Recomendamos fuertemente que configures su servidor web de forma que el directorio de datos ya no sea accesible o que muevas el directorio de datos fuera de la raíz de documentos del servidor web." - -#: templates/admin.php:31 -msgid "Cron" -msgstr "Cron" - -#: templates/admin.php:37 -msgid "Execute one task with each page loaded" -msgstr "Ejecutar una tarea con cada página cargada" - -#: templates/admin.php:43 -msgid "" -"cron.php is registered at a webcron service. Call the cron.php page in the " -"owncloud root once a minute over http." -msgstr "cron.php está registrado como un servicio del webcron. Llamá a la página de cron.php en la raíz de ownCloud cada minuto sobre http." - -#: templates/admin.php:49 -msgid "" -"Use systems cron service. Call the cron.php file in the owncloud folder via " -"a system cronjob once a minute." -msgstr "Usar el servicio de cron del sistema. Llamá al archivo cron.php en la carpeta de ownCloud via servidor cronjob cada minuto." - -#: templates/admin.php:56 -msgid "Sharing" -msgstr "Compartir" - -#: templates/admin.php:61 -msgid "Enable Share API" -msgstr "Activar API de compartición" - -#: templates/admin.php:62 -msgid "Allow apps to use the Share API" -msgstr "Permitir a las aplicaciones usar la API de compartición" - -#: templates/admin.php:67 -msgid "Allow links" -msgstr "Permitir enlaces" - -#: templates/admin.php:68 -msgid "Allow users to share items to the public with links" -msgstr "Permitir a los usuarios compartir elementos públicamente con enlaces" - -#: templates/admin.php:73 -msgid "Allow resharing" -msgstr "Permitir re-compartir" - -#: templates/admin.php:74 -msgid "Allow users to share items shared with them again" -msgstr "Permitir a los usuarios compartir elementos ya compartidos" - -#: templates/admin.php:79 -msgid "Allow users to share with anyone" -msgstr "Permitir a los usuarios compartir con cualquiera" - -#: templates/admin.php:81 -msgid "Allow users to only share with users in their groups" -msgstr "Permitir a los usuarios compartir con usuarios en sus grupos" - -#: templates/admin.php:88 -msgid "Log" -msgstr "Registro" - -#: templates/admin.php:116 -msgid "More" -msgstr "Más" - -#: templates/admin.php:124 -msgid "" -"Developed by the ownCloud community, the source code is " -"licensed under the AGPL." -msgstr "Desarrollado por la comunidad ownCloud, el código fuente está bajo licencia AGPL." - #: templates/apps.php:10 msgid "Add your App" msgstr "Añadí tu aplicación" @@ -212,22 +129,22 @@ msgstr "Administrar archivos grandes" msgid "Ask a question" msgstr "Hacer una pregunta" -#: templates/help.php:23 +#: templates/help.php:22 msgid "Problems connecting to help database." msgstr "Problemas al conectar con la base de datos de ayuda." -#: templates/help.php:24 +#: templates/help.php:23 msgid "Go there manually." msgstr "Ir de forma manual" -#: templates/help.php:32 +#: templates/help.php:31 msgid "Answer" msgstr "Respuesta" #: templates/personal.php:8 #, php-format -msgid "You have used %s of the available %s" -msgstr "Usaste %s de %s disponible" +msgid "You have used %s of the available %s" +msgstr "Usaste %s de los %s disponibles" #: templates/personal.php:12 msgid "Desktop and Mobile Syncing Clients" @@ -285,6 +202,16 @@ msgstr "Ayudanos a traducir" msgid "use this address to connect to your ownCloud in your file manager" msgstr "usá esta dirección para conectarte a tu ownCloud desde tu gestor de archivos" +#: templates/personal.php:61 +msgid "" +"Developed by the ownCloud community, the source code is " +"licensed under the AGPL." +msgstr "Desarrollado por la comunidad ownCloud, el código fuente está bajo licencia AGPL." + #: templates/users.php:21 templates/users.php:76 msgid "Name" msgstr "Nombre" @@ -311,7 +238,7 @@ msgstr "Otro" #: templates/users.php:80 templates/users.php:112 msgid "Group Admin" -msgstr "Grupo admin" +msgstr "Grupo Administrador" #: templates/users.php:82 msgid "Quota" diff --git a/l10n/es_AR/user_webdavauth.po b/l10n/es_AR/user_webdavauth.po new file mode 100644 index 0000000000000000000000000000000000000000..85a8f008f812acdd6f0c5485ed1874e4ce9304e9 --- /dev/null +++ b/l10n/es_AR/user_webdavauth.po @@ -0,0 +1,23 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# , 2012. +msgid "" +msgstr "" +"Project-Id-Version: ownCloud\n" +"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" +"POT-Creation-Date: 2012-11-13 00:05+0100\n" +"PO-Revision-Date: 2012-11-12 10:49+0000\n" +"Last-Translator: cjtess \n" +"Language-Team: Spanish (Argentina) (http://www.transifex.com/projects/p/owncloud/language/es_AR/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: es_AR\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: templates/settings.php:4 +msgid "WebDAV URL: http://" +msgstr "URL de WebDAV: http://" diff --git a/l10n/et_EE/admin_dependencies_chk.po b/l10n/et_EE/admin_dependencies_chk.po deleted file mode 100644 index 4e1dc1ab0c853f14c5412eaf29f4d017cb7d399c..0000000000000000000000000000000000000000 --- a/l10n/et_EE/admin_dependencies_chk.po +++ /dev/null @@ -1,74 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Rivo Zängov , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-19 02:02+0200\n" -"PO-Revision-Date: 2012-08-18 06:47+0000\n" -"Last-Translator: Rivo Zängov \n" -"Language-Team: Estonian (Estonia) (http://www.transifex.com/projects/p/owncloud/language/et_EE/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: et_EE\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: settings.php:33 -msgid "" -"The php-json module is needed by the many applications for inter " -"communications" -msgstr "php-json moodul on vajalik paljude rakenduse poolt omvahelise suhtlemise jaoks" - -#: settings.php:39 -msgid "" -"The php-curl modude is needed to fetch the page title when adding a " -"bookmarks" -msgstr "php-curl moodul on vajalik lehe pealkirja tõmbamiseks järjehoidja lisamisel" - -#: settings.php:45 -msgid "The php-gd module is needed to create thumbnails of your images" -msgstr "php-gd moodul on vajalik sinu piltidest pisipiltide loomiseks" - -#: settings.php:51 -msgid "The php-ldap module is needed connect to your ldap server" -msgstr "php-ldap moodul on vajalik sinu ldap serveriga ühendumiseks" - -#: settings.php:57 -msgid "The php-zip module is needed download multiple files at once" -msgstr "php-zip moodul on vajalik mitme faili korraga alla laadimiseks" - -#: settings.php:63 -msgid "" -"The php-mb_multibyte module is needed to manage correctly the encoding." -msgstr "php-mb_multibyte moodul on vajalik kodeerimise korrektseks haldamiseks." - -#: settings.php:69 -msgid "The php-ctype module is needed validate data." -msgstr "php-ctype moodul on vajalik andmete kontrollimiseks." - -#: settings.php:75 -msgid "The php-xml module is needed to share files with webdav." -msgstr "php-xml moodul on vajalik failide jagamiseks webdav-iga." - -#: settings.php:81 -msgid "" -"The allow_url_fopen directive of your php.ini should be set to 1 to retrieve" -" knowledge base from OCS servers" -msgstr "Sinu php.ini failis oleva direktiivi allow_url_fopen väärtuseks peaks määrama 1, et saaks tõmmata teadmistebaasi OCS-i serveritest" - -#: settings.php:87 -msgid "The php-pdo module is needed to store owncloud data into a database." -msgstr "php-pdo moodul on vajalik owncloudi andmete salvestamiseks andmebaasi." - -#: templates/settings.php:2 -msgid "Dependencies status" -msgstr "Sõltuvuse staatus" - -#: templates/settings.php:7 -msgid "Used by :" -msgstr "Kasutab :" diff --git a/l10n/et_EE/admin_migrate.po b/l10n/et_EE/admin_migrate.po deleted file mode 100644 index 1e02b7240900453de0253354bf108b2c5f74f6b9..0000000000000000000000000000000000000000 --- a/l10n/et_EE/admin_migrate.po +++ /dev/null @@ -1,33 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Rivo Zängov , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-19 02:02+0200\n" -"PO-Revision-Date: 2012-08-18 06:41+0000\n" -"Last-Translator: Rivo Zängov \n" -"Language-Team: Estonian (Estonia) (http://www.transifex.com/projects/p/owncloud/language/et_EE/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: et_EE\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: templates/settings.php:3 -msgid "Export this ownCloud instance" -msgstr "Ekspordi see ownCloudi paigaldus" - -#: templates/settings.php:4 -msgid "" -"This will create a compressed file that contains the data of this owncloud instance.\n" -" Please choose the export type:" -msgstr "See loob pakitud faili, milles on sinu owncloudi paigalduse andmed.\n Palun vali eksporditava faili tüüp:" - -#: templates/settings.php:12 -msgid "Export" -msgstr "Ekspordi" diff --git a/l10n/et_EE/bookmarks.po b/l10n/et_EE/bookmarks.po deleted file mode 100644 index 91cf36ab0d43188b5aee97de3ed6bd90acf9369c..0000000000000000000000000000000000000000 --- a/l10n/et_EE/bookmarks.po +++ /dev/null @@ -1,61 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Rivo Zängov , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-07-31 22:53+0200\n" -"PO-Revision-Date: 2012-07-31 10:22+0000\n" -"Last-Translator: Rivo Zängov \n" -"Language-Team: Estonian (Estonia) (http://www.transifex.com/projects/p/owncloud/language/et_EE/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: et_EE\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: appinfo/app.php:14 -msgid "Bookmarks" -msgstr "Järjehoidjad" - -#: bookmarksHelper.php:99 -msgid "unnamed" -msgstr "nimetu" - -#: templates/bookmarklet.php:5 -msgid "" -"Drag this to your browser bookmarks and click it, when you want to bookmark " -"a webpage quickly:" -msgstr "" - -#: templates/bookmarklet.php:7 -msgid "Read later" -msgstr "Loe hiljem" - -#: templates/list.php:13 -msgid "Address" -msgstr "Aadress" - -#: templates/list.php:14 -msgid "Title" -msgstr "Pealkiri" - -#: templates/list.php:15 -msgid "Tags" -msgstr "Sildid" - -#: templates/list.php:16 -msgid "Save bookmark" -msgstr "Salvesta järjehoidja" - -#: templates/list.php:22 -msgid "You have no bookmarks" -msgstr "Sul pole järjehoidjaid" - -#: templates/settings.php:11 -msgid "Bookmarklet
" -msgstr "" diff --git a/l10n/et_EE/calendar.po b/l10n/et_EE/calendar.po deleted file mode 100644 index 9a8efeb0287c807ce1b403c5b93a123f207ba4ed..0000000000000000000000000000000000000000 --- a/l10n/et_EE/calendar.po +++ /dev/null @@ -1,814 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Rivo Zängov , 2011, 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-11 02:02+0200\n" -"PO-Revision-Date: 2012-08-11 00:02+0000\n" -"Last-Translator: owncloud_robot \n" -"Language-Team: Estonian (Estonia) (http://www.transifex.com/projects/p/owncloud/language/et_EE/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: et_EE\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: ajax/cache/status.php:19 -msgid "Not all calendars are completely cached" -msgstr "" - -#: ajax/cache/status.php:21 -msgid "Everything seems to be completely cached" -msgstr "" - -#: ajax/categories/rescan.php:29 -msgid "No calendars found." -msgstr "Kalendreid ei leitud." - -#: ajax/categories/rescan.php:37 -msgid "No events found." -msgstr "Üritusi ei leitud." - -#: ajax/event/edit.form.php:20 -msgid "Wrong calendar" -msgstr "Vale kalender" - -#: ajax/import/dropimport.php:29 ajax/import/import.php:64 -msgid "" -"The file contained either no events or all events are already saved in your " -"calendar." -msgstr "" - -#: ajax/import/dropimport.php:31 ajax/import/import.php:67 -msgid "events has been saved in the new calendar" -msgstr "" - -#: ajax/import/import.php:56 -msgid "Import failed" -msgstr "" - -#: ajax/import/import.php:69 -msgid "events has been saved in your calendar" -msgstr "" - -#: ajax/settings/guesstimezone.php:25 -msgid "New Timezone:" -msgstr "Uus ajavöönd:" - -#: ajax/settings/settimezone.php:23 -msgid "Timezone changed" -msgstr "Ajavöönd on muudetud" - -#: ajax/settings/settimezone.php:25 -msgid "Invalid request" -msgstr "Vigane päring" - -#: appinfo/app.php:35 templates/calendar.php:15 -#: templates/part.eventform.php:33 templates/part.showevent.php:33 -msgid "Calendar" -msgstr "Kalender" - -#: js/calendar.js:832 -msgid "ddd" -msgstr "ddd" - -#: js/calendar.js:833 -msgid "ddd M/d" -msgstr "ddd M/d" - -#: js/calendar.js:834 -msgid "dddd M/d" -msgstr "dddd M/d" - -#: js/calendar.js:837 -msgid "MMMM yyyy" -msgstr "MMMM yyyy" - -#: js/calendar.js:839 -msgid "MMM d[ yyyy]{ '—'[ MMM] d yyyy}" -msgstr "MMM d[ yyyy]{ '—'[ MMM] d yyyy}" - -#: js/calendar.js:841 -msgid "dddd, MMM d, yyyy" -msgstr "dddd, MMM d, yyyy" - -#: lib/app.php:121 -msgid "Birthday" -msgstr "Sünnipäev" - -#: lib/app.php:122 -msgid "Business" -msgstr "Äri" - -#: lib/app.php:123 -msgid "Call" -msgstr "Helista" - -#: lib/app.php:124 -msgid "Clients" -msgstr "Kliendid" - -#: lib/app.php:125 -msgid "Deliverer" -msgstr "Kohaletoimetaja" - -#: lib/app.php:126 -msgid "Holidays" -msgstr "Pühad" - -#: lib/app.php:127 -msgid "Ideas" -msgstr "Ideed" - -#: lib/app.php:128 -msgid "Journey" -msgstr "Reis" - -#: lib/app.php:129 -msgid "Jubilee" -msgstr "Juubel" - -#: lib/app.php:130 -msgid "Meeting" -msgstr "Kohtumine" - -#: lib/app.php:131 -msgid "Other" -msgstr "Muu" - -#: lib/app.php:132 -msgid "Personal" -msgstr "Isiklik" - -#: lib/app.php:133 -msgid "Projects" -msgstr "Projektid" - -#: lib/app.php:134 -msgid "Questions" -msgstr "Küsimused" - -#: lib/app.php:135 -msgid "Work" -msgstr "Töö" - -#: lib/app.php:351 lib/app.php:361 -msgid "by" -msgstr "" - -#: lib/app.php:359 lib/app.php:399 -msgid "unnamed" -msgstr "nimetu" - -#: lib/import.php:184 templates/calendar.php:12 -#: templates/part.choosecalendar.php:22 -msgid "New Calendar" -msgstr "Uus kalender" - -#: lib/object.php:372 -msgid "Does not repeat" -msgstr "Ei kordu" - -#: lib/object.php:373 -msgid "Daily" -msgstr "Iga päev" - -#: lib/object.php:374 -msgid "Weekly" -msgstr "Iga nädal" - -#: lib/object.php:375 -msgid "Every Weekday" -msgstr "Igal nädalapäeval" - -#: lib/object.php:376 -msgid "Bi-Weekly" -msgstr "Üle nädala" - -#: lib/object.php:377 -msgid "Monthly" -msgstr "Igal kuul" - -#: lib/object.php:378 -msgid "Yearly" -msgstr "Igal aastal" - -#: lib/object.php:388 -msgid "never" -msgstr "mitte kunagi" - -#: lib/object.php:389 -msgid "by occurrences" -msgstr "toimumiskordade järgi" - -#: lib/object.php:390 -msgid "by date" -msgstr "kuupäeva järgi" - -#: lib/object.php:400 -msgid "by monthday" -msgstr "kuu päeva järgi" - -#: lib/object.php:401 -msgid "by weekday" -msgstr "nädalapäeva järgi" - -#: lib/object.php:411 templates/calendar.php:5 templates/settings.php:69 -msgid "Monday" -msgstr "Esmaspäev" - -#: lib/object.php:412 templates/calendar.php:5 -msgid "Tuesday" -msgstr "Teisipäev" - -#: lib/object.php:413 templates/calendar.php:5 -msgid "Wednesday" -msgstr "Kolmapäev" - -#: lib/object.php:414 templates/calendar.php:5 -msgid "Thursday" -msgstr "Neljapäev" - -#: lib/object.php:415 templates/calendar.php:5 -msgid "Friday" -msgstr "Reede" - -#: lib/object.php:416 templates/calendar.php:5 -msgid "Saturday" -msgstr "Laupäev" - -#: lib/object.php:417 templates/calendar.php:5 templates/settings.php:70 -msgid "Sunday" -msgstr "Pühapäev" - -#: lib/object.php:427 -msgid "events week of month" -msgstr "ürituse kuu nädal" - -#: lib/object.php:428 -msgid "first" -msgstr "esimene" - -#: lib/object.php:429 -msgid "second" -msgstr "teine" - -#: lib/object.php:430 -msgid "third" -msgstr "kolmas" - -#: lib/object.php:431 -msgid "fourth" -msgstr "neljas" - -#: lib/object.php:432 -msgid "fifth" -msgstr "viies" - -#: lib/object.php:433 -msgid "last" -msgstr "viimane" - -#: lib/object.php:467 templates/calendar.php:7 -msgid "January" -msgstr "Jaanuar" - -#: lib/object.php:468 templates/calendar.php:7 -msgid "February" -msgstr "Veebruar" - -#: lib/object.php:469 templates/calendar.php:7 -msgid "March" -msgstr "Märts" - -#: lib/object.php:470 templates/calendar.php:7 -msgid "April" -msgstr "Aprill" - -#: lib/object.php:471 templates/calendar.php:7 -msgid "May" -msgstr "Mai" - -#: lib/object.php:472 templates/calendar.php:7 -msgid "June" -msgstr "Juuni" - -#: lib/object.php:473 templates/calendar.php:7 -msgid "July" -msgstr "Juuli" - -#: lib/object.php:474 templates/calendar.php:7 -msgid "August" -msgstr "August" - -#: lib/object.php:475 templates/calendar.php:7 -msgid "September" -msgstr "September" - -#: lib/object.php:476 templates/calendar.php:7 -msgid "October" -msgstr "Oktoober" - -#: lib/object.php:477 templates/calendar.php:7 -msgid "November" -msgstr "November" - -#: lib/object.php:478 templates/calendar.php:7 -msgid "December" -msgstr "Detsember" - -#: lib/object.php:488 -msgid "by events date" -msgstr "ürituste kuupäeva järgi" - -#: lib/object.php:489 -msgid "by yearday(s)" -msgstr "aasta päeva(de) järgi" - -#: lib/object.php:490 -msgid "by weeknumber(s)" -msgstr "nädala numbri(te) järgi" - -#: lib/object.php:491 -msgid "by day and month" -msgstr "kuu ja päeva järgi" - -#: lib/search.php:35 lib/search.php:37 lib/search.php:40 -msgid "Date" -msgstr "Kuupäev" - -#: lib/search.php:43 -msgid "Cal." -msgstr "Kal." - -#: templates/calendar.php:6 -msgid "Sun." -msgstr "" - -#: templates/calendar.php:6 -msgid "Mon." -msgstr "" - -#: templates/calendar.php:6 -msgid "Tue." -msgstr "" - -#: templates/calendar.php:6 -msgid "Wed." -msgstr "" - -#: templates/calendar.php:6 -msgid "Thu." -msgstr "" - -#: templates/calendar.php:6 -msgid "Fri." -msgstr "" - -#: templates/calendar.php:6 -msgid "Sat." -msgstr "" - -#: templates/calendar.php:8 -msgid "Jan." -msgstr "" - -#: templates/calendar.php:8 -msgid "Feb." -msgstr "" - -#: templates/calendar.php:8 -msgid "Mar." -msgstr "" - -#: templates/calendar.php:8 -msgid "Apr." -msgstr "" - -#: templates/calendar.php:8 -msgid "May." -msgstr "" - -#: templates/calendar.php:8 -msgid "Jun." -msgstr "" - -#: templates/calendar.php:8 -msgid "Jul." -msgstr "" - -#: templates/calendar.php:8 -msgid "Aug." -msgstr "" - -#: templates/calendar.php:8 -msgid "Sep." -msgstr "" - -#: templates/calendar.php:8 -msgid "Oct." -msgstr "" - -#: templates/calendar.php:8 -msgid "Nov." -msgstr "" - -#: templates/calendar.php:8 -msgid "Dec." -msgstr "" - -#: templates/calendar.php:11 -msgid "All day" -msgstr "Kogu päev" - -#: templates/calendar.php:13 -msgid "Missing fields" -msgstr "Puuduvad väljad" - -#: templates/calendar.php:14 templates/part.eventform.php:19 -#: templates/part.showevent.php:11 -msgid "Title" -msgstr "Pealkiri" - -#: templates/calendar.php:16 -msgid "From Date" -msgstr "Alates kuupäevast" - -#: templates/calendar.php:17 -msgid "From Time" -msgstr "Alates kellaajast" - -#: templates/calendar.php:18 -msgid "To Date" -msgstr "Kuni kuupäevani" - -#: templates/calendar.php:19 -msgid "To Time" -msgstr "Kuni kellaajani" - -#: templates/calendar.php:20 -msgid "The event ends before it starts" -msgstr "Üritus lõpeb enne, kui see algab" - -#: templates/calendar.php:21 -msgid "There was a database fail" -msgstr "Tekkis andmebaasi viga" - -#: templates/calendar.php:39 -msgid "Week" -msgstr "Nädal" - -#: templates/calendar.php:40 -msgid "Month" -msgstr "Kuu" - -#: templates/calendar.php:41 -msgid "List" -msgstr "Nimekiri" - -#: templates/calendar.php:45 -msgid "Today" -msgstr "Täna" - -#: templates/calendar.php:46 templates/calendar.php:47 -msgid "Settings" -msgstr "" - -#: templates/part.choosecalendar.php:2 -msgid "Your calendars" -msgstr "Sinu kalendrid" - -#: templates/part.choosecalendar.php:27 -#: templates/part.choosecalendar.rowfields.php:11 -msgid "CalDav Link" -msgstr "CalDav Link" - -#: templates/part.choosecalendar.php:31 -msgid "Shared calendars" -msgstr "Jagatud kalendrid" - -#: templates/part.choosecalendar.php:48 -msgid "No shared calendars" -msgstr "Jagatud kalendreid pole" - -#: templates/part.choosecalendar.rowfields.php:8 -msgid "Share Calendar" -msgstr "Jaga kalendrit" - -#: templates/part.choosecalendar.rowfields.php:14 -msgid "Download" -msgstr "Lae alla" - -#: templates/part.choosecalendar.rowfields.php:17 -msgid "Edit" -msgstr "Muuda" - -#: templates/part.choosecalendar.rowfields.php:20 -#: templates/part.editevent.php:9 -msgid "Delete" -msgstr "Kustuta" - -#: templates/part.choosecalendar.rowfields.shared.php:4 -msgid "shared with you by" -msgstr "jagas sinuga" - -#: templates/part.editcalendar.php:9 -msgid "New calendar" -msgstr "Uus kalender" - -#: templates/part.editcalendar.php:9 -msgid "Edit calendar" -msgstr "Muuda kalendrit" - -#: templates/part.editcalendar.php:12 -msgid "Displayname" -msgstr "Näidatav nimi" - -#: templates/part.editcalendar.php:23 -msgid "Active" -msgstr "Aktiivne" - -#: templates/part.editcalendar.php:29 -msgid "Calendar color" -msgstr "Kalendri värv" - -#: templates/part.editcalendar.php:42 -msgid "Save" -msgstr "Salvesta" - -#: templates/part.editcalendar.php:42 templates/part.editevent.php:8 -#: templates/part.newevent.php:6 -msgid "Submit" -msgstr "OK" - -#: templates/part.editcalendar.php:43 -msgid "Cancel" -msgstr "Loobu" - -#: templates/part.editevent.php:1 -msgid "Edit an event" -msgstr "Muuda sündmust" - -#: templates/part.editevent.php:10 -msgid "Export" -msgstr "Ekspordi" - -#: templates/part.eventform.php:8 templates/part.showevent.php:3 -msgid "Eventinfo" -msgstr "Ürituse info" - -#: templates/part.eventform.php:9 templates/part.showevent.php:4 -msgid "Repeating" -msgstr "Kordamine" - -#: templates/part.eventform.php:10 templates/part.showevent.php:5 -msgid "Alarm" -msgstr "Alarm" - -#: templates/part.eventform.php:11 templates/part.showevent.php:6 -msgid "Attendees" -msgstr "Osalejad" - -#: templates/part.eventform.php:13 -msgid "Share" -msgstr "Jaga" - -#: templates/part.eventform.php:21 -msgid "Title of the Event" -msgstr "Sündmuse pealkiri" - -#: templates/part.eventform.php:27 templates/part.showevent.php:19 -msgid "Category" -msgstr "Kategooria" - -#: templates/part.eventform.php:29 -msgid "Separate categories with commas" -msgstr "Eralda kategooriad komadega" - -#: templates/part.eventform.php:30 -msgid "Edit categories" -msgstr "Muuda kategooriaid" - -#: templates/part.eventform.php:56 templates/part.showevent.php:52 -msgid "All Day Event" -msgstr "Kogu päeva sündmus" - -#: templates/part.eventform.php:60 templates/part.showevent.php:56 -msgid "From" -msgstr "Alates" - -#: templates/part.eventform.php:68 templates/part.showevent.php:64 -msgid "To" -msgstr "Kuni" - -#: templates/part.eventform.php:76 templates/part.showevent.php:72 -msgid "Advanced options" -msgstr "Lisavalikud" - -#: templates/part.eventform.php:81 templates/part.showevent.php:77 -msgid "Location" -msgstr "Asukoht" - -#: templates/part.eventform.php:83 -msgid "Location of the Event" -msgstr "Sündmuse toimumiskoht" - -#: templates/part.eventform.php:89 templates/part.showevent.php:85 -msgid "Description" -msgstr "Kirjeldus" - -#: templates/part.eventform.php:91 -msgid "Description of the Event" -msgstr "Sündmuse kirjeldus" - -#: templates/part.eventform.php:100 templates/part.showevent.php:95 -msgid "Repeat" -msgstr "Korda" - -#: templates/part.eventform.php:107 templates/part.showevent.php:102 -msgid "Advanced" -msgstr "Täpsem" - -#: templates/part.eventform.php:151 templates/part.showevent.php:146 -msgid "Select weekdays" -msgstr "Vali nädalapäevad" - -#: templates/part.eventform.php:164 templates/part.eventform.php:177 -#: templates/part.showevent.php:159 templates/part.showevent.php:172 -msgid "Select days" -msgstr "Vali päevad" - -#: templates/part.eventform.php:169 templates/part.showevent.php:164 -msgid "and the events day of year." -msgstr "ja ürituse päev aastas." - -#: templates/part.eventform.php:182 templates/part.showevent.php:177 -msgid "and the events day of month." -msgstr "ja ürituse päev kuus." - -#: templates/part.eventform.php:190 templates/part.showevent.php:185 -msgid "Select months" -msgstr "Vali kuud" - -#: templates/part.eventform.php:203 templates/part.showevent.php:198 -msgid "Select weeks" -msgstr "Vali nädalad" - -#: templates/part.eventform.php:208 templates/part.showevent.php:203 -msgid "and the events week of year." -msgstr "ja ürituse nädal aastas." - -#: templates/part.eventform.php:214 templates/part.showevent.php:209 -msgid "Interval" -msgstr "Intervall" - -#: templates/part.eventform.php:220 templates/part.showevent.php:215 -msgid "End" -msgstr "Lõpp" - -#: templates/part.eventform.php:233 templates/part.showevent.php:228 -msgid "occurrences" -msgstr "toimumiskordi" - -#: templates/part.import.php:14 -msgid "create a new calendar" -msgstr "loo uus kalender" - -#: templates/part.import.php:17 -msgid "Import a calendar file" -msgstr "Impordi kalendrifail" - -#: templates/part.import.php:24 -msgid "Please choose a calendar" -msgstr "" - -#: templates/part.import.php:36 -msgid "Name of new calendar" -msgstr "Uue kalendri nimi" - -#: templates/part.import.php:44 -msgid "Take an available name!" -msgstr "" - -#: templates/part.import.php:45 -msgid "" -"A Calendar with this name already exists. If you continue anyhow, these " -"calendars will be merged." -msgstr "" - -#: templates/part.import.php:47 -msgid "Import" -msgstr "Impordi" - -#: templates/part.import.php:56 -msgid "Close Dialog" -msgstr "Sulge dialoogiaken" - -#: templates/part.newevent.php:1 -msgid "Create a new event" -msgstr "Loo sündmus" - -#: templates/part.showevent.php:1 -msgid "View an event" -msgstr "Vaata üritust" - -#: templates/part.showevent.php:23 -msgid "No categories selected" -msgstr "Ühtegi kategooriat pole valitud" - -#: templates/part.showevent.php:37 -msgid "of" -msgstr "/" - -#: templates/part.showevent.php:59 templates/part.showevent.php:67 -msgid "at" -msgstr "kell" - -#: templates/settings.php:10 -msgid "General" -msgstr "" - -#: templates/settings.php:15 -msgid "Timezone" -msgstr "Ajavöönd" - -#: templates/settings.php:47 -msgid "Update timezone automatically" -msgstr "" - -#: templates/settings.php:52 -msgid "Time format" -msgstr "" - -#: templates/settings.php:57 -msgid "24h" -msgstr "24h" - -#: templates/settings.php:58 -msgid "12h" -msgstr "12h" - -#: templates/settings.php:64 -msgid "Start week on" -msgstr "" - -#: templates/settings.php:76 -msgid "Cache" -msgstr "" - -#: templates/settings.php:80 -msgid "Clear cache for repeating events" -msgstr "" - -#: templates/settings.php:85 -msgid "URLs" -msgstr "" - -#: templates/settings.php:87 -msgid "Calendar CalDAV syncing addresses" -msgstr "" - -#: templates/settings.php:87 -msgid "more info" -msgstr "" - -#: templates/settings.php:89 -msgid "Primary address (Kontact et al)" -msgstr "" - -#: templates/settings.php:91 -msgid "iOS/OS X" -msgstr "" - -#: templates/settings.php:93 -msgid "Read only iCalendar link(s)" -msgstr "" - -#: templates/share.dropdown.php:20 -msgid "Users" -msgstr "Kasutajad" - -#: templates/share.dropdown.php:21 -msgid "select users" -msgstr "valitud kasutajad" - -#: templates/share.dropdown.php:36 templates/share.dropdown.php:62 -msgid "Editable" -msgstr "Muudetav" - -#: templates/share.dropdown.php:48 -msgid "Groups" -msgstr "Grupid" - -#: templates/share.dropdown.php:49 -msgid "select groups" -msgstr "valitud grupid" - -#: templates/share.dropdown.php:75 -msgid "make public" -msgstr "tee avalikuks" diff --git a/l10n/et_EE/contacts.po b/l10n/et_EE/contacts.po deleted file mode 100644 index 076195c05e4b0c95a78a24fdeb58f03c2fe78654..0000000000000000000000000000000000000000 --- a/l10n/et_EE/contacts.po +++ /dev/null @@ -1,953 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Rivo Zängov , 2011, 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-24 02:02+0200\n" -"PO-Revision-Date: 2012-08-24 00:02+0000\n" -"Last-Translator: I Robot \n" -"Language-Team: Estonian (Estonia) (http://www.transifex.com/projects/p/owncloud/language/et_EE/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: et_EE\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: ajax/addressbook/activate.php:24 ajax/addressbook/update.php:32 -msgid "Error (de)activating addressbook." -msgstr "Viga aadressiraamatu (de)aktiveerimisel." - -#: ajax/addressbook/delete.php:31 ajax/addressbook/update.php:20 -#: ajax/contact/addproperty.php:42 ajax/contact/delete.php:32 -#: ajax/contact/saveproperty.php:39 -msgid "id is not set." -msgstr "ID on määramata." - -#: ajax/addressbook/update.php:24 -msgid "Cannot update addressbook with an empty name." -msgstr "Tühja nimega aadressiraamatut ei saa uuendada." - -#: ajax/addressbook/update.php:28 -msgid "Error updating addressbook." -msgstr "Viga aadressiraamatu uuendamisel." - -#: ajax/categories/categoriesfor.php:17 -msgid "No ID provided" -msgstr "ID-d pole sisestatud" - -#: ajax/categories/categoriesfor.php:34 -msgid "Error setting checksum." -msgstr "Viga kontrollsumma määramisel." - -#: ajax/categories/delete.php:19 -msgid "No categories selected for deletion." -msgstr "Kustutamiseks pole valitud ühtegi kategooriat." - -#: ajax/categories/delete.php:26 -msgid "No address books found." -msgstr "Ei leitud ühtegi aadressiraamatut." - -#: ajax/categories/delete.php:34 -msgid "No contacts found." -msgstr "Ühtegi kontakti ei leitud." - -#: ajax/contact/add.php:47 -msgid "There was an error adding the contact." -msgstr "Konktakti lisamisel tekkis viga." - -#: ajax/contact/addproperty.php:39 ajax/contact/saveproperty.php:36 -msgid "element name is not set." -msgstr "elemendi nime pole määratud." - -#: ajax/contact/addproperty.php:46 -msgid "Could not parse contact: " -msgstr "" - -#: ajax/contact/addproperty.php:56 -msgid "Cannot add empty property." -msgstr "Tühja omadust ei saa lisada." - -#: ajax/contact/addproperty.php:67 -msgid "At least one of the address fields has to be filled out." -msgstr "Vähemalt üks aadressiväljadest peab olema täidetud." - -#: ajax/contact/addproperty.php:76 -msgid "Trying to add duplicate property: " -msgstr "Proovitakse lisada topeltomadust: " - -#: ajax/contact/addproperty.php:115 ajax/contact/saveproperty.php:93 -msgid "Missing IM parameter." -msgstr "" - -#: ajax/contact/addproperty.php:119 ajax/contact/saveproperty.php:97 -msgid "Unknown IM: " -msgstr "" - -#: ajax/contact/deleteproperty.php:37 -msgid "Information about vCard is incorrect. Please reload the page." -msgstr "Visiitkaardi info pole korrektne. Palun lae leht uuesti." - -#: ajax/contact/details.php:31 -msgid "Missing ID" -msgstr "Puudub ID" - -#: ajax/contact/details.php:36 -msgid "Error parsing VCard for ID: \"" -msgstr "Viga VCard-ist ID parsimisel: \"" - -#: ajax/contact/saveproperty.php:42 -msgid "checksum is not set." -msgstr "kontrollsummat pole määratud." - -#: ajax/contact/saveproperty.php:62 -msgid "Information about vCard is incorrect. Please reload the page: " -msgstr "vCard info pole korrektne. Palun lae lehekülg uuesti: " - -#: ajax/contact/saveproperty.php:69 -msgid "Something went FUBAR. " -msgstr "Midagi läks tõsiselt metsa." - -#: ajax/currentphoto.php:30 ajax/oc_photo.php:28 ajax/uploadphoto.php:36 -#: ajax/uploadphoto.php:68 -msgid "No contact ID was submitted." -msgstr "Kontakti ID-d pole sisestatud." - -#: ajax/currentphoto.php:36 -msgid "Error reading contact photo." -msgstr "Viga kontakti foto lugemisel." - -#: ajax/currentphoto.php:48 -msgid "Error saving temporary file." -msgstr "Viga ajutise faili salvestamisel." - -#: ajax/currentphoto.php:51 -msgid "The loading photo is not valid." -msgstr "Laetav pilt pole korrektne pildifail." - -#: ajax/editname.php:31 -msgid "Contact ID is missing." -msgstr "Kontakti ID puudub." - -#: ajax/oc_photo.php:32 -msgid "No photo path was submitted." -msgstr "Foto asukohta pole määratud." - -#: ajax/oc_photo.php:39 -msgid "File doesn't exist:" -msgstr "Faili pole olemas:" - -#: ajax/oc_photo.php:44 ajax/oc_photo.php:47 -msgid "Error loading image." -msgstr "Viga pildi laadimisel." - -#: ajax/savecrop.php:69 -msgid "Error getting contact object." -msgstr "Viga kontakti objekti hankimisel." - -#: ajax/savecrop.php:79 -msgid "Error getting PHOTO property." -msgstr "Viga PHOTO omaduse hankimisel." - -#: ajax/savecrop.php:98 -msgid "Error saving contact." -msgstr "Viga kontakti salvestamisel." - -#: ajax/savecrop.php:109 -msgid "Error resizing image" -msgstr "Viga pildi suuruse muutmisel" - -#: ajax/savecrop.php:112 -msgid "Error cropping image" -msgstr "Viga pildi lõikamisel" - -#: ajax/savecrop.php:115 -msgid "Error creating temporary image" -msgstr "Viga ajutise pildi loomisel" - -#: ajax/savecrop.php:118 -msgid "Error finding image: " -msgstr "Viga pildi leidmisel: " - -#: ajax/uploadimport.php:44 ajax/uploadimport.php:76 -msgid "Error uploading contacts to storage." -msgstr "Viga kontaktide üleslaadimisel kettale." - -#: ajax/uploadimport.php:61 ajax/uploadphoto.php:77 -msgid "There is no error, the file uploaded with success" -msgstr "Ühtegi tõrget polnud, fail on üles laetud" - -#: ajax/uploadimport.php:62 ajax/uploadphoto.php:78 -msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" -msgstr "Üleslaetud fail ületab php.ini failis määratud upload_max_filesize suuruse" - -#: ajax/uploadimport.php:63 ajax/uploadphoto.php:79 -msgid "" -"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " -"the HTML form" -msgstr "Üleslaetud fail ületab MAX_FILE_SIZE suuruse, mis on HTML vormi jaoks määratud" - -#: ajax/uploadimport.php:64 ajax/uploadphoto.php:80 -msgid "The uploaded file was only partially uploaded" -msgstr "Fail laeti üles ainult osaliselt" - -#: ajax/uploadimport.php:65 ajax/uploadphoto.php:81 -msgid "No file was uploaded" -msgstr "Ühtegi faili ei laetud üles" - -#: ajax/uploadimport.php:66 ajax/uploadphoto.php:82 -msgid "Missing a temporary folder" -msgstr "Ajutiste failide kaust puudub" - -#: ajax/uploadphoto.php:59 ajax/uploadphoto.php:109 -msgid "Couldn't save temporary image: " -msgstr "Ajutise pildi salvestamine ebaõnnestus: " - -#: ajax/uploadphoto.php:62 ajax/uploadphoto.php:112 -msgid "Couldn't load temporary image: " -msgstr "Ajutise pildi laadimine ebaõnnestus: " - -#: ajax/uploadphoto.php:71 -msgid "No file was uploaded. Unknown error" -msgstr "Ühtegi faili ei laetud üles. Tundmatu viga" - -#: appinfo/app.php:21 -msgid "Contacts" -msgstr "Kontaktid" - -#: js/contacts.js:71 -msgid "Sorry, this functionality has not been implemented yet" -msgstr "Vabandust, aga see funktsioon pole veel valmis" - -#: js/contacts.js:71 -msgid "Not implemented" -msgstr "Pole implementeeritud" - -#: js/contacts.js:76 -msgid "Couldn't get a valid address." -msgstr "Kehtiva aadressi hankimine ebaõnnestus" - -#: js/contacts.js:76 js/contacts.js:365 js/contacts.js:381 js/contacts.js:393 -#: js/contacts.js:723 js/contacts.js:763 js/contacts.js:789 js/contacts.js:921 -#: js/contacts.js:927 js/contacts.js:939 js/contacts.js:976 -#: js/contacts.js:1250 js/contacts.js:1258 js/contacts.js:1267 -#: js/contacts.js:1302 js/contacts.js:1338 js/contacts.js:1353 -#: js/contacts.js:1379 js/contacts.js:1609 js/contacts.js:1644 -#: js/contacts.js:1664 js/settings.js:26 js/settings.js:43 js/settings.js:68 -msgid "Error" -msgstr "Viga" - -#: js/contacts.js:424 -msgid "You do not have permission to add contacts to " -msgstr "" - -#: js/contacts.js:425 -msgid "Please select one of your own address books." -msgstr "" - -#: js/contacts.js:425 -msgid "Permission error" -msgstr "" - -#: js/contacts.js:763 -msgid "This property has to be non-empty." -msgstr "See omadus ei tohi olla tühi." - -#: js/contacts.js:789 -msgid "Couldn't serialize elements." -msgstr "" - -#: js/contacts.js:921 js/contacts.js:939 -msgid "" -"'deleteProperty' called without type argument. Please report at " -"bugs.owncloud.org" -msgstr "" - -#: js/contacts.js:958 -msgid "Edit name" -msgstr "Muuda nime" - -#: js/contacts.js:1250 -msgid "No files selected for upload." -msgstr "Üleslaadimiseks pole faile valitud." - -#: js/contacts.js:1258 -msgid "" -"The file you are trying to upload exceed the maximum size for file uploads " -"on this server." -msgstr "" - -#: js/contacts.js:1322 -msgid "Error loading profile picture." -msgstr "" - -#: js/contacts.js:1457 js/contacts.js:1498 js/contacts.js:1517 -#: js/contacts.js:1560 -msgid "Select type" -msgstr "Vali tüüp" - -#: js/contacts.js:1578 -msgid "" -"Some contacts are marked for deletion, but not deleted yet. Please wait for " -"them to be deleted." -msgstr "" - -#: js/contacts.js:1649 -msgid "Do you want to merge these address books?" -msgstr "" - -#: js/loader.js:49 -msgid "Result: " -msgstr "Tulemus: " - -#: js/loader.js:49 -msgid " imported, " -msgstr " imporditud, " - -#: js/loader.js:49 -msgid " failed." -msgstr " ebaõnnestus." - -#: js/settings.js:68 -msgid "Displayname cannot be empty." -msgstr "" - -#: lib/app.php:36 -msgid "Addressbook not found: " -msgstr "" - -#: lib/app.php:52 -msgid "This is not your addressbook." -msgstr "See pole sinu aadressiraamat." - -#: lib/app.php:71 -msgid "Contact could not be found." -msgstr "Kontakti ei leitud." - -#: lib/app.php:116 -msgid "Jabber" -msgstr "" - -#: lib/app.php:121 -msgid "AIM" -msgstr "" - -#: lib/app.php:126 -msgid "MSN" -msgstr "" - -#: lib/app.php:131 -msgid "Twitter" -msgstr "" - -#: lib/app.php:136 -msgid "GoogleTalk" -msgstr "" - -#: lib/app.php:141 -msgid "Facebook" -msgstr "" - -#: lib/app.php:146 -msgid "XMPP" -msgstr "" - -#: lib/app.php:151 -msgid "ICQ" -msgstr "" - -#: lib/app.php:156 -msgid "Yahoo" -msgstr "" - -#: lib/app.php:161 -msgid "Skype" -msgstr "" - -#: lib/app.php:166 -msgid "QQ" -msgstr "" - -#: lib/app.php:171 -msgid "GaduGadu" -msgstr "" - -#: lib/app.php:194 lib/app.php:202 lib/app.php:213 lib/app.php:266 -msgid "Work" -msgstr "Töö" - -#: lib/app.php:195 lib/app.php:200 lib/app.php:214 -msgid "Home" -msgstr "Kodu" - -#: lib/app.php:196 lib/app.php:209 lib/app.php:262 lib/vcard.php:593 -msgid "Other" -msgstr "" - -#: lib/app.php:201 -msgid "Mobile" -msgstr "Mobiil" - -#: lib/app.php:203 -msgid "Text" -msgstr "Tekst" - -#: lib/app.php:204 -msgid "Voice" -msgstr "Hääl" - -#: lib/app.php:205 -msgid "Message" -msgstr "Sõnum" - -#: lib/app.php:206 -msgid "Fax" -msgstr "Faks" - -#: lib/app.php:207 -msgid "Video" -msgstr "Video" - -#: lib/app.php:208 -msgid "Pager" -msgstr "Piipar" - -#: lib/app.php:215 -msgid "Internet" -msgstr "Internet" - -#: lib/app.php:252 templates/part.contact.php:45 -#: templates/part.contact.php:128 -msgid "Birthday" -msgstr "Sünnipäev" - -#: lib/app.php:253 -msgid "Business" -msgstr "" - -#: lib/app.php:254 -msgid "Call" -msgstr "" - -#: lib/app.php:255 -msgid "Clients" -msgstr "" - -#: lib/app.php:256 -msgid "Deliverer" -msgstr "" - -#: lib/app.php:257 -msgid "Holidays" -msgstr "" - -#: lib/app.php:258 -msgid "Ideas" -msgstr "" - -#: lib/app.php:259 -msgid "Journey" -msgstr "" - -#: lib/app.php:260 -msgid "Jubilee" -msgstr "" - -#: lib/app.php:261 -msgid "Meeting" -msgstr "" - -#: lib/app.php:263 -msgid "Personal" -msgstr "" - -#: lib/app.php:264 -msgid "Projects" -msgstr "" - -#: lib/app.php:265 -msgid "Questions" -msgstr "" - -#: lib/hooks.php:102 -msgid "{name}'s Birthday" -msgstr "{name} sünnipäev" - -#: lib/search.php:15 -msgid "Contact" -msgstr "Kontakt" - -#: lib/vcard.php:408 -msgid "You do not have the permissions to edit this contact." -msgstr "" - -#: lib/vcard.php:483 -msgid "You do not have the permissions to delete this contact." -msgstr "" - -#: templates/index.php:14 -msgid "Add Contact" -msgstr "Lisa kontakt" - -#: templates/index.php:15 templates/index.php:16 templates/part.import.php:17 -msgid "Import" -msgstr "Impordi" - -#: templates/index.php:18 -msgid "Settings" -msgstr "" - -#: templates/index.php:18 templates/settings.php:9 -msgid "Addressbooks" -msgstr "Aadressiraamatud" - -#: templates/index.php:36 templates/part.import.php:24 -msgid "Close" -msgstr "Sule" - -#: templates/index.php:37 -msgid "Keyboard shortcuts" -msgstr "" - -#: templates/index.php:39 -msgid "Navigation" -msgstr "" - -#: templates/index.php:42 -msgid "Next contact in list" -msgstr "" - -#: templates/index.php:44 -msgid "Previous contact in list" -msgstr "" - -#: templates/index.php:46 -msgid "Expand/collapse current addressbook" -msgstr "" - -#: templates/index.php:48 -msgid "Next addressbook" -msgstr "" - -#: templates/index.php:50 -msgid "Previous addressbook" -msgstr "" - -#: templates/index.php:54 -msgid "Actions" -msgstr "" - -#: templates/index.php:57 -msgid "Refresh contacts list" -msgstr "" - -#: templates/index.php:59 -msgid "Add new contact" -msgstr "" - -#: templates/index.php:61 -msgid "Add new addressbook" -msgstr "" - -#: templates/index.php:63 -msgid "Delete current contact" -msgstr "" - -#: templates/part.contact.php:17 -msgid "Drop photo to upload" -msgstr "Lohista üleslaetav foto siia" - -#: templates/part.contact.php:19 -msgid "Delete current photo" -msgstr "Kustuta praegune foto" - -#: templates/part.contact.php:20 -msgid "Edit current photo" -msgstr "Muuda praegust pilti" - -#: templates/part.contact.php:21 -msgid "Upload new photo" -msgstr "Lae üles uus foto" - -#: templates/part.contact.php:22 -msgid "Select photo from ownCloud" -msgstr "Vali foto ownCloudist" - -#: templates/part.contact.php:35 -msgid "Format custom, Short name, Full name, Reverse or Reverse with comma" -msgstr "Kohandatud vorming, Lühike nimi, Täielik nimi, vastupidine või vastupidine komadega" - -#: templates/part.contact.php:36 -msgid "Edit name details" -msgstr "Muuda nime üksikasju" - -#: templates/part.contact.php:39 templates/part.contact.php:40 -#: templates/part.contact.php:126 -msgid "Organization" -msgstr "Organisatsioon" - -#: templates/part.contact.php:40 templates/part.contact.php:42 -#: templates/part.contact.php:44 templates/part.contact.php:46 -#: templates/part.contact.php:50 templates/settings.php:36 -msgid "Delete" -msgstr "Kustuta" - -#: templates/part.contact.php:41 templates/part.contact.php:127 -msgid "Nickname" -msgstr "Hüüdnimi" - -#: templates/part.contact.php:42 -msgid "Enter nickname" -msgstr "Sisesta hüüdnimi" - -#: templates/part.contact.php:43 templates/part.contact.php:134 -msgid "Web site" -msgstr "" - -#: templates/part.contact.php:44 -msgid "http://www.somesite.com" -msgstr "" - -#: templates/part.contact.php:44 -msgid "Go to web site" -msgstr "" - -#: templates/part.contact.php:46 -msgid "dd-mm-yyyy" -msgstr "dd.mm.yyyy" - -#: templates/part.contact.php:47 templates/part.contact.php:135 -msgid "Groups" -msgstr "Grupid" - -#: templates/part.contact.php:49 -msgid "Separate groups with commas" -msgstr "Eralda grupid komadega" - -#: templates/part.contact.php:50 -msgid "Edit groups" -msgstr "Muuda gruppe" - -#: templates/part.contact.php:59 templates/part.contact.php:73 -#: templates/part.contact.php:98 -msgid "Preferred" -msgstr "Eelistatud" - -#: templates/part.contact.php:60 -msgid "Please specify a valid email address." -msgstr "Palun sisesta korrektne e-posti aadress." - -#: templates/part.contact.php:60 -msgid "Enter email address" -msgstr "Sisesta e-posti aadress" - -#: templates/part.contact.php:64 -msgid "Mail to address" -msgstr "Kiri aadressile" - -#: templates/part.contact.php:65 -msgid "Delete email address" -msgstr "Kustuta e-posti aadress" - -#: templates/part.contact.php:75 -msgid "Enter phone number" -msgstr "Sisesta telefoninumber" - -#: templates/part.contact.php:79 -msgid "Delete phone number" -msgstr "Kustuta telefoninumber" - -#: templates/part.contact.php:100 -msgid "Instant Messenger" -msgstr "" - -#: templates/part.contact.php:101 -msgid "Delete IM" -msgstr "" - -#: templates/part.contact.php:110 -msgid "View on map" -msgstr "Vaata kaardil" - -#: templates/part.contact.php:110 -msgid "Edit address details" -msgstr "Muuda aaressi infot" - -#: templates/part.contact.php:116 -msgid "Add notes here." -msgstr "Lisa märkmed siia." - -#: templates/part.contact.php:124 -msgid "Add field" -msgstr "Lisa väli" - -#: templates/part.contact.php:129 -msgid "Phone" -msgstr "Telefon" - -#: templates/part.contact.php:130 -msgid "Email" -msgstr "E-post" - -#: templates/part.contact.php:131 -msgid "Instant Messaging" -msgstr "" - -#: templates/part.contact.php:132 -msgid "Address" -msgstr "Aadress" - -#: templates/part.contact.php:133 -msgid "Note" -msgstr "Märkus" - -#: templates/part.contact.php:138 -msgid "Download contact" -msgstr "Lae kontakt alla" - -#: templates/part.contact.php:139 -msgid "Delete contact" -msgstr "Kustuta kontakt" - -#: templates/part.cropphoto.php:65 -msgid "The temporary image has been removed from cache." -msgstr "Ajutine pilt on puhvrist eemaldatud." - -#: templates/part.edit_address_dialog.php:6 -msgid "Edit address" -msgstr "Muuda aadressi" - -#: templates/part.edit_address_dialog.php:10 -msgid "Type" -msgstr "Tüüp" - -#: templates/part.edit_address_dialog.php:18 -#: templates/part.edit_address_dialog.php:21 -msgid "PO Box" -msgstr "Postkontori postkast" - -#: templates/part.edit_address_dialog.php:24 -msgid "Street address" -msgstr "" - -#: templates/part.edit_address_dialog.php:27 -msgid "Street and number" -msgstr "" - -#: templates/part.edit_address_dialog.php:30 -msgid "Extended" -msgstr "Laiendatud" - -#: templates/part.edit_address_dialog.php:33 -msgid "Apartment number etc." -msgstr "" - -#: templates/part.edit_address_dialog.php:36 -#: templates/part.edit_address_dialog.php:39 -msgid "City" -msgstr "Linn" - -#: templates/part.edit_address_dialog.php:42 -msgid "Region" -msgstr "Piirkond" - -#: templates/part.edit_address_dialog.php:45 -msgid "E.g. state or province" -msgstr "" - -#: templates/part.edit_address_dialog.php:48 -msgid "Zipcode" -msgstr "Postiindeks" - -#: templates/part.edit_address_dialog.php:51 -msgid "Postal code" -msgstr "" - -#: templates/part.edit_address_dialog.php:54 -#: templates/part.edit_address_dialog.php:57 -msgid "Country" -msgstr "Riik" - -#: templates/part.edit_name_dialog.php:16 -msgid "Addressbook" -msgstr "Aadressiraamat" - -#: templates/part.edit_name_dialog.php:23 -msgid "Hon. prefixes" -msgstr "Eesliited" - -#: templates/part.edit_name_dialog.php:27 -msgid "Miss" -msgstr "Preili" - -#: templates/part.edit_name_dialog.php:28 -msgid "Ms" -msgstr "Pr" - -#: templates/part.edit_name_dialog.php:29 -msgid "Mr" -msgstr "Hr" - -#: templates/part.edit_name_dialog.php:30 -msgid "Sir" -msgstr "Härra" - -#: templates/part.edit_name_dialog.php:31 -msgid "Mrs" -msgstr "Proua" - -#: templates/part.edit_name_dialog.php:32 -msgid "Dr" -msgstr "Dr" - -#: templates/part.edit_name_dialog.php:35 -msgid "Given name" -msgstr "Eesnimi" - -#: templates/part.edit_name_dialog.php:37 -msgid "Additional names" -msgstr "Lisanimed" - -#: templates/part.edit_name_dialog.php:39 -msgid "Family name" -msgstr "Perekonnanimi" - -#: templates/part.edit_name_dialog.php:41 -msgid "Hon. suffixes" -msgstr "Järelliited" - -#: templates/part.edit_name_dialog.php:45 -msgid "J.D." -msgstr "J.D." - -#: templates/part.edit_name_dialog.php:46 -msgid "M.D." -msgstr "M.D." - -#: templates/part.edit_name_dialog.php:47 -msgid "D.O." -msgstr "D.O." - -#: templates/part.edit_name_dialog.php:48 -msgid "D.C." -msgstr "D.C." - -#: templates/part.edit_name_dialog.php:49 -msgid "Ph.D." -msgstr "Ph.D." - -#: templates/part.edit_name_dialog.php:50 -msgid "Esq." -msgstr "Esq." - -#: templates/part.edit_name_dialog.php:51 -msgid "Jr." -msgstr "Jr." - -#: templates/part.edit_name_dialog.php:52 -msgid "Sn." -msgstr "Senior." - -#: templates/part.import.php:1 -msgid "Import a contacts file" -msgstr "Impordi kontaktifail" - -#: templates/part.import.php:6 -msgid "Please choose the addressbook" -msgstr "Palun vali aadressiraamat" - -#: templates/part.import.php:10 -msgid "create a new addressbook" -msgstr "loo uus aadressiraamat" - -#: templates/part.import.php:15 -msgid "Name of new addressbook" -msgstr "Uue aadressiraamatu nimi" - -#: templates/part.import.php:20 -msgid "Importing contacts" -msgstr "Kontaktide importimine" - -#: templates/part.no_contacts.php:3 -msgid "You have no contacts in your addressbook." -msgstr "Sinu aadressiraamatus pole ühtegi kontakti." - -#: templates/part.no_contacts.php:5 -msgid "Add contact" -msgstr "Lisa kontakt" - -#: templates/part.selectaddressbook.php:1 -msgid "Select Address Books" -msgstr "" - -#: templates/part.selectaddressbook.php:27 -msgid "Enter name" -msgstr "" - -#: templates/part.selectaddressbook.php:29 -msgid "Enter description" -msgstr "" - -#: templates/settings.php:3 -msgid "CardDAV syncing addresses" -msgstr "CardDAV sünkroniseerimise aadressid" - -#: templates/settings.php:3 -msgid "more info" -msgstr "lisainfo" - -#: templates/settings.php:5 -msgid "Primary address (Kontact et al)" -msgstr "Peamine aadress" - -#: templates/settings.php:7 -msgid "iOS/OS X" -msgstr "iOS/OS X" - -#: templates/settings.php:20 -msgid "Show CardDav link" -msgstr "" - -#: templates/settings.php:23 -msgid "Show read-only VCF link" -msgstr "" - -#: templates/settings.php:26 -msgid "Share" -msgstr "" - -#: templates/settings.php:29 -msgid "Download" -msgstr "Lae alla" - -#: templates/settings.php:33 -msgid "Edit" -msgstr "Muuda" - -#: templates/settings.php:43 -msgid "New Address Book" -msgstr "Uus aadressiraamat" - -#: templates/settings.php:44 -msgid "Name" -msgstr "" - -#: templates/settings.php:45 -msgid "Description" -msgstr "" - -#: templates/settings.php:46 -msgid "Save" -msgstr "Salvesta" - -#: templates/settings.php:47 -msgid "Cancel" -msgstr "Loobu" - -#: templates/settings.php:52 -msgid "More..." -msgstr "" diff --git a/l10n/et_EE/core.po b/l10n/et_EE/core.po index 6476f3b1ae4c126d7b17606999a2b7b1e2c90518..016395b94924aa754e28faad7a81ded7a31a7b09 100644 --- a/l10n/et_EE/core.po +++ b/l10n/et_EE/core.po @@ -3,14 +3,14 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: -# Rivo Zängov , 2011, 2012. +# Rivo Zängov , 2011-2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-16 02:04+0200\n" -"PO-Revision-Date: 2012-10-16 00:05+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-11-16 00:02+0100\n" +"PO-Revision-Date: 2012-11-14 23:13+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Estonian (Estonia) (http://www.transifex.com/projects/p/owncloud/language/et_EE/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -18,209 +18,241 @@ msgstr "" "Language: et_EE\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: ajax/vcategories/add.php:23 ajax/vcategories/delete.php:23 -msgid "Application name not provided." -msgstr "Rakenduse nime pole sisestatud." +#: ajax/vcategories/add.php:26 ajax/vcategories/edit.php:25 +msgid "Category type not provided." +msgstr "" -#: ajax/vcategories/add.php:29 +#: ajax/vcategories/add.php:30 msgid "No category to add?" msgstr "Pole kategooriat, mida lisada?" -#: ajax/vcategories/add.php:36 +#: ajax/vcategories/add.php:37 msgid "This category already exists: " msgstr "See kategooria on juba olemas: " -#: js/js.js:238 templates/layout.user.php:49 templates/layout.user.php:50 +#: ajax/vcategories/addToFavorites.php:26 ajax/vcategories/delete.php:27 +#: ajax/vcategories/favorites.php:24 +#: ajax/vcategories/removeFromFavorites.php:26 +msgid "Object type not provided." +msgstr "" + +#: ajax/vcategories/addToFavorites.php:30 +#: ajax/vcategories/removeFromFavorites.php:30 +#, php-format +msgid "%s ID not provided." +msgstr "" + +#: ajax/vcategories/addToFavorites.php:35 +#, php-format +msgid "Error adding %s to favorites." +msgstr "" + +#: ajax/vcategories/delete.php:35 js/oc-vcategories.js:136 +msgid "No categories selected for deletion." +msgstr "Kustutamiseks pole kategooriat valitud." + +#: ajax/vcategories/removeFromFavorites.php:35 +#, php-format +msgid "Error removing %s from favorites." +msgstr "" + +#: js/js.js:243 templates/layout.user.php:59 templates/layout.user.php:60 msgid "Settings" msgstr "Seaded" -#: js/js.js:670 -msgid "January" -msgstr "Jaanuar" +#: js/js.js:688 +msgid "seconds ago" +msgstr "sekundit tagasi" -#: js/js.js:670 -msgid "February" -msgstr "Veebruar" +#: js/js.js:689 +msgid "1 minute ago" +msgstr "1 minut tagasi" -#: js/js.js:670 -msgid "March" -msgstr "Märts" +#: js/js.js:690 +msgid "{minutes} minutes ago" +msgstr "{minutes} minutit tagasi" -#: js/js.js:670 -msgid "April" -msgstr "Aprill" +#: js/js.js:691 +msgid "1 hour ago" +msgstr "" -#: js/js.js:670 -msgid "May" -msgstr "Mai" +#: js/js.js:692 +msgid "{hours} hours ago" +msgstr "" -#: js/js.js:670 -msgid "June" -msgstr "Juuni" +#: js/js.js:693 +msgid "today" +msgstr "täna" -#: js/js.js:671 -msgid "July" -msgstr "Juuli" +#: js/js.js:694 +msgid "yesterday" +msgstr "eile" -#: js/js.js:671 -msgid "August" -msgstr "August" +#: js/js.js:695 +msgid "{days} days ago" +msgstr "{days} päeva tagasi" -#: js/js.js:671 -msgid "September" -msgstr "September" +#: js/js.js:696 +msgid "last month" +msgstr "viimasel kuul" -#: js/js.js:671 -msgid "October" -msgstr "Oktoober" +#: js/js.js:697 +msgid "{months} months ago" +msgstr "" -#: js/js.js:671 -msgid "November" -msgstr "November" +#: js/js.js:698 +msgid "months ago" +msgstr "kuu tagasi" -#: js/js.js:671 -msgid "December" -msgstr "Detsember" +#: js/js.js:699 +msgid "last year" +msgstr "viimasel aastal" -#: js/oc-dialogs.js:123 +#: js/js.js:700 +msgid "years ago" +msgstr "aastat tagasi" + +#: js/oc-dialogs.js:126 msgid "Choose" -msgstr "" +msgstr "Vali" -#: js/oc-dialogs.js:143 js/oc-dialogs.js:163 +#: js/oc-dialogs.js:146 js/oc-dialogs.js:166 msgid "Cancel" msgstr "Loobu" -#: js/oc-dialogs.js:159 +#: js/oc-dialogs.js:162 msgid "No" msgstr "Ei" -#: js/oc-dialogs.js:160 +#: js/oc-dialogs.js:163 msgid "Yes" msgstr "Jah" -#: js/oc-dialogs.js:177 +#: js/oc-dialogs.js:180 msgid "Ok" msgstr "Ok" -#: js/oc-vcategories.js:68 -msgid "No categories selected for deletion." -msgstr "Kustutamiseks pole kategooriat valitud." +#: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102 +#: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162 +msgid "The object type is not specified." +msgstr "" -#: js/oc-vcategories.js:68 js/share.js:114 js/share.js:121 js/share.js:497 -#: js/share.js:509 +#: js/oc-vcategories.js:95 js/oc-vcategories.js:125 js/oc-vcategories.js:136 +#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:525 +#: js/share.js:537 msgid "Error" msgstr "Viga" -#: js/share.js:103 -msgid "Error while sharing" +#: js/oc-vcategories.js:179 +msgid "The app name is not specified." msgstr "" -#: js/share.js:114 -msgid "Error while unsharing" +#: js/oc-vcategories.js:194 +msgid "The required file {file} is not installed!" msgstr "" -#: js/share.js:121 -msgid "Error while changing permissions" -msgstr "" +#: js/share.js:124 +msgid "Error while sharing" +msgstr "Viga jagamisel" -#: js/share.js:130 -msgid "Shared with you and the group" -msgstr "" +#: js/share.js:135 +msgid "Error while unsharing" +msgstr "Viga jagamise lõpetamisel" -#: js/share.js:130 -msgid "by" -msgstr "" +#: js/share.js:142 +msgid "Error while changing permissions" +msgstr "Viga õiguste muutmisel" -#: js/share.js:132 -msgid "Shared with you by" +#: js/share.js:151 +msgid "Shared with you and the group {group} by {owner}" msgstr "" -#: js/share.js:137 +#: js/share.js:153 +msgid "Shared with you by {owner}" +msgstr "Sinuga jagas {owner}" + +#: js/share.js:158 msgid "Share with" -msgstr "" +msgstr "Jaga" -#: js/share.js:142 +#: js/share.js:163 msgid "Share with link" -msgstr "" +msgstr "Jaga lingiga" -#: js/share.js:143 +#: js/share.js:164 msgid "Password protect" -msgstr "" +msgstr "Parooliga kaitstud" -#: js/share.js:147 templates/installation.php:42 templates/login.php:24 +#: js/share.js:168 templates/installation.php:42 templates/login.php:24 #: templates/verify.php:13 msgid "Password" msgstr "Parool" -#: js/share.js:152 +#: js/share.js:173 msgid "Set expiration date" -msgstr "" +msgstr "Määra aegumise kuupäev" -#: js/share.js:153 +#: js/share.js:174 msgid "Expiration date" -msgstr "" +msgstr "Aegumise kuupäev" -#: js/share.js:185 +#: js/share.js:206 msgid "Share via email:" -msgstr "" +msgstr "Jaga e-postiga:" -#: js/share.js:187 +#: js/share.js:208 msgid "No people found" -msgstr "" +msgstr "Ühtegi inimest ei leitud" -#: js/share.js:214 +#: js/share.js:235 msgid "Resharing is not allowed" -msgstr "" - -#: js/share.js:250 -msgid "Shared in" -msgstr "" +msgstr "Edasijagamine pole lubatud" -#: js/share.js:250 -msgid "with" +#: js/share.js:271 +msgid "Shared in {item} with {user}" msgstr "" -#: js/share.js:271 +#: js/share.js:292 msgid "Unshare" -msgstr "" +msgstr "Lõpeta jagamine" -#: js/share.js:283 +#: js/share.js:304 msgid "can edit" -msgstr "" +msgstr "saab muuta" -#: js/share.js:285 +#: js/share.js:306 msgid "access control" -msgstr "" +msgstr "ligipääsukontroll" -#: js/share.js:288 +#: js/share.js:309 msgid "create" -msgstr "" +msgstr "loo" -#: js/share.js:291 +#: js/share.js:312 msgid "update" -msgstr "" +msgstr "uuenda" -#: js/share.js:294 +#: js/share.js:315 msgid "delete" -msgstr "" +msgstr "kustuta" -#: js/share.js:297 +#: js/share.js:318 msgid "share" -msgstr "" +msgstr "jaga" -#: js/share.js:322 js/share.js:484 +#: js/share.js:343 js/share.js:512 js/share.js:514 msgid "Password protected" -msgstr "" +msgstr "Parooliga kaitstud" -#: js/share.js:497 +#: js/share.js:525 msgid "Error unsetting expiration date" -msgstr "" +msgstr "Viga aegumise kuupäeva eemaldamisel" -#: js/share.js:509 +#: js/share.js:537 msgid "Error setting expiration date" -msgstr "" +msgstr "Viga aegumise kuupäeva määramisel" -#: lostpassword/index.php:26 +#: lostpassword/controller.php:47 msgid "ownCloud password reset" msgstr "ownCloud parooli taastamine" @@ -233,12 +265,12 @@ msgid "You will receive a link to reset your password via Email." msgstr "Sinu parooli taastamise link saadetakse sulle e-postile." #: lostpassword/templates/lostpassword.php:5 -msgid "Requested" -msgstr "Kohustuslik" +msgid "Reset email send." +msgstr "Taastamise e-kiri on saadetud." #: lostpassword/templates/lostpassword.php:8 -msgid "Login failed!" -msgstr "Sisselogimine ebaõnnestus!" +msgid "Request failed!" +msgstr "Päring ebaõnnestus!" #: lostpassword/templates/lostpassword.php:11 templates/installation.php:38 #: templates/login.php:20 @@ -297,13 +329,13 @@ msgstr "Pilve ei leitud" msgid "Edit categories" msgstr "Muuda kategooriaid" -#: templates/edit_categories_dialog.php:14 +#: templates/edit_categories_dialog.php:16 msgid "Add" msgstr "Lisa" #: templates/installation.php:23 templates/installation.php:31 msgid "Security Warning" -msgstr "" +msgstr "Turvahoiatus" #: templates/installation.php:24 msgid "" @@ -361,7 +393,7 @@ msgstr "Andmebasi nimi" #: templates/installation.php:121 msgid "Database tablespace" -msgstr "" +msgstr "Andmebaasi tabeliruum" #: templates/installation.php:127 msgid "Database host" @@ -371,27 +403,103 @@ msgstr "Andmebaasi host" msgid "Finish setup" msgstr "Lõpeta seadistamine" -#: templates/layout.guest.php:38 +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Sunday" +msgstr "Pühapäev" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Monday" +msgstr "Esmaspäev" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Tuesday" +msgstr "Teisipäev" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Wednesday" +msgstr "Kolmapäev" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Thursday" +msgstr "Neljapäev" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Friday" +msgstr "Reede" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Saturday" +msgstr "Laupäev" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "January" +msgstr "Jaanuar" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "February" +msgstr "Veebruar" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "March" +msgstr "Märts" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "April" +msgstr "Aprill" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "May" +msgstr "Mai" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "June" +msgstr "Juuni" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "July" +msgstr "Juuli" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "August" +msgstr "August" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "September" +msgstr "September" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "October" +msgstr "Oktoober" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "November" +msgstr "November" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "December" +msgstr "Detsember" + +#: templates/layout.guest.php:41 msgid "web services under your control" msgstr "veebiteenused sinu kontrolli all" -#: templates/layout.user.php:34 +#: templates/layout.user.php:44 msgid "Log out" msgstr "Logi välja" #: templates/login.php:8 msgid "Automatic logon rejected!" -msgstr "" +msgstr "Automaatne sisselogimine lükati tagasi!" #: templates/login.php:9 msgid "" "If you did not change your password recently, your account may be " "compromised!" -msgstr "" +msgstr "Kui sa ei muutnud oma parooli hiljut, siis võib su kasutajakonto olla ohustatud!" #: templates/login.php:10 msgid "Please change your password to secure your account again." -msgstr "" +msgstr "Palun muuda parooli, et oma kasutajakonto uuesti turvata." #: templates/login.php:15 msgid "Lost your password?" @@ -419,7 +527,7 @@ msgstr "järgm" #: templates/verify.php:5 msgid "Security Warning!" -msgstr "" +msgstr "turvahoiatus!" #: templates/verify.php:6 msgid "" @@ -429,4 +537,4 @@ msgstr "" #: templates/verify.php:16 msgid "Verify" -msgstr "" +msgstr "Kinnita" diff --git a/l10n/et_EE/files.po b/l10n/et_EE/files.po index 4aedcde54d1a7d2a07d5988ddf2f055e38fbe361..9c1c0fadb7bf6181d457273e5b5a3a7da2cd54d2 100644 --- a/l10n/et_EE/files.po +++ b/l10n/et_EE/files.po @@ -3,14 +3,15 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# , 2012. # Rivo Zängov , 2011-2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-09-26 13:19+0200\n" -"PO-Revision-Date: 2012-09-26 11:20+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-12-01 00:01+0100\n" +"PO-Revision-Date: 2012-11-30 23:02+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Estonian (Estonia) (http://www.transifex.com/projects/p/owncloud/language/et_EE/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -23,195 +24,166 @@ msgid "There is no error, the file uploaded with success" msgstr "Ühtegi viga pole, fail on üles laetud" #: ajax/upload.php:21 -msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" -msgstr "Üles laetud faili suurus ületab php.ini määratud upload_max_filesize suuruse" +msgid "" +"The uploaded file exceeds the upload_max_filesize directive in php.ini: " +msgstr "" -#: ajax/upload.php:22 +#: ajax/upload.php:23 msgid "" "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " "the HTML form" msgstr "Üles laetud faili suurus ületab HTML vormis määratud upload_max_filesize suuruse" -#: ajax/upload.php:23 +#: ajax/upload.php:25 msgid "The uploaded file was only partially uploaded" msgstr "Fail laeti üles ainult osaliselt" -#: ajax/upload.php:24 +#: ajax/upload.php:26 msgid "No file was uploaded" msgstr "Ühtegi faili ei laetud üles" -#: ajax/upload.php:25 +#: ajax/upload.php:27 msgid "Missing a temporary folder" msgstr "Ajutiste failide kaust puudub" -#: ajax/upload.php:26 +#: ajax/upload.php:28 msgid "Failed to write to disk" msgstr "Kettale kirjutamine ebaõnnestus" -#: appinfo/app.php:6 +#: appinfo/app.php:10 msgid "Files" msgstr "Failid" -#: js/fileactions.js:108 templates/index.php:62 +#: js/fileactions.js:117 templates/index.php:83 templates/index.php:84 msgid "Unshare" msgstr "Lõpeta jagamine" -#: js/fileactions.js:110 templates/index.php:64 +#: js/fileactions.js:119 templates/index.php:89 templates/index.php:90 msgid "Delete" msgstr "Kustuta" -#: js/fileactions.js:182 +#: js/fileactions.js:181 msgid "Rename" -msgstr "" +msgstr "ümber" -#: js/filelist.js:190 js/filelist.js:192 -msgid "already exists" -msgstr "on juba olemas" +#: js/filelist.js:201 js/filelist.js:203 +msgid "{new_name} already exists" +msgstr "{new_name} on juba olemas" -#: js/filelist.js:190 js/filelist.js:192 +#: js/filelist.js:201 js/filelist.js:203 msgid "replace" msgstr "asenda" -#: js/filelist.js:190 +#: js/filelist.js:201 msgid "suggest name" msgstr "soovita nime" -#: js/filelist.js:190 js/filelist.js:192 +#: js/filelist.js:201 js/filelist.js:203 msgid "cancel" msgstr "loobu" -#: js/filelist.js:239 js/filelist.js:241 -msgid "replaced" -msgstr "asendatud" +#: js/filelist.js:250 +msgid "replaced {new_name}" +msgstr "asendatud nimega {new_name}" -#: js/filelist.js:239 js/filelist.js:241 js/filelist.js:273 js/filelist.js:275 +#: js/filelist.js:250 js/filelist.js:252 js/filelist.js:284 js/filelist.js:286 msgid "undo" msgstr "tagasi" -#: js/filelist.js:241 -msgid "with" -msgstr "millega" +#: js/filelist.js:252 +msgid "replaced {new_name} with {old_name}" +msgstr "asendas nime {old_name} nimega {new_name}" -#: js/filelist.js:273 -msgid "unshared" -msgstr "jagamata" +#: js/filelist.js:284 +msgid "unshared {files}" +msgstr "jagamata {files}" -#: js/filelist.js:275 -msgid "deleted" -msgstr "kustutatud" +#: js/filelist.js:286 +msgid "deleted {files}" +msgstr "kustutatud {files}" -#: js/files.js:179 +#: js/files.js:33 +msgid "" +"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not " +"allowed." +msgstr "Vigane nimi, '\\', '/', '<', '>', ':', '\"', '|', '?' ja '*' pole lubatud." + +#: js/files.js:183 msgid "generating ZIP-file, it may take some time." msgstr "ZIP-faili loomine, see võib veidi aega võtta." -#: js/files.js:208 +#: js/files.js:218 msgid "Unable to upload your file as it is a directory or has 0 bytes" msgstr "Sinu faili üleslaadimine ebaõnnestus, kuna see on kaust või selle suurus on 0 baiti" -#: js/files.js:208 +#: js/files.js:218 msgid "Upload Error" msgstr "Üleslaadimise viga" -#: js/files.js:236 js/files.js:341 js/files.js:371 +#: js/files.js:235 +msgid "Close" +msgstr "Sulge" + +#: js/files.js:254 js/files.js:368 js/files.js:398 msgid "Pending" msgstr "Ootel" -#: js/files.js:256 +#: js/files.js:274 msgid "1 file uploading" -msgstr "" +msgstr "1 faili üleslaadimisel" -#: js/files.js:259 js/files.js:304 js/files.js:319 -msgid "files uploading" -msgstr "" +#: js/files.js:277 js/files.js:331 js/files.js:346 +msgid "{count} files uploading" +msgstr "{count} faili üleslaadimist" -#: js/files.js:322 js/files.js:355 +#: js/files.js:349 js/files.js:382 msgid "Upload cancelled." msgstr "Üleslaadimine tühistati." -#: js/files.js:424 +#: js/files.js:451 msgid "" "File upload is in progress. Leaving the page now will cancel the upload." msgstr "Faili üleslaadimine on töös. Lehelt lahkumine katkestab selle üleslaadimise." -#: js/files.js:494 -msgid "Invalid name, '/' is not allowed." -msgstr "Vigane nimi, '/' pole lubatud." +#: js/files.js:523 +msgid "Invalid folder name. Usage of \"Shared\" is reserved by Owncloud" +msgstr "Vigane kausta nimi. Nime \"Jagatud\" kasutamine on Owncloudi poolt broneeritud " -#: js/files.js:667 -msgid "files scanned" -msgstr "" +#: js/files.js:704 +msgid "{count} files scanned" +msgstr "{count} faili skännitud" -#: js/files.js:675 +#: js/files.js:712 msgid "error while scanning" -msgstr "" +msgstr "viga skännimisel" -#: js/files.js:748 templates/index.php:48 +#: js/files.js:785 templates/index.php:65 msgid "Name" msgstr "Nimi" -#: js/files.js:749 templates/index.php:56 +#: js/files.js:786 templates/index.php:76 msgid "Size" msgstr "Suurus" -#: js/files.js:750 templates/index.php:58 +#: js/files.js:787 templates/index.php:78 msgid "Modified" msgstr "Muudetud" -#: js/files.js:777 -msgid "folder" -msgstr "kaust" - -#: js/files.js:779 -msgid "folders" -msgstr "kausta" - -#: js/files.js:787 -msgid "file" -msgstr "fail" +#: js/files.js:814 +msgid "1 folder" +msgstr "1 kaust" -#: js/files.js:789 -msgid "files" -msgstr "faili" +#: js/files.js:816 +msgid "{count} folders" +msgstr "{count} kausta" -#: js/files.js:833 -msgid "seconds ago" -msgstr "" - -#: js/files.js:834 -msgid "minute ago" -msgstr "" +#: js/files.js:824 +msgid "1 file" +msgstr "1 fail" -#: js/files.js:835 -msgid "minutes ago" -msgstr "" - -#: js/files.js:838 -msgid "today" -msgstr "" - -#: js/files.js:839 -msgid "yesterday" -msgstr "" - -#: js/files.js:840 -msgid "days ago" -msgstr "" - -#: js/files.js:841 -msgid "last month" -msgstr "" - -#: js/files.js:843 -msgid "months ago" -msgstr "" - -#: js/files.js:844 -msgid "last year" -msgstr "" - -#: js/files.js:845 -msgid "years ago" -msgstr "" +#: js/files.js:826 +msgid "{count} files" +msgstr "{count} faili" #: templates/admin.php:5 msgid "File handling" @@ -221,27 +193,27 @@ msgstr "Failide käsitlemine" msgid "Maximum upload size" msgstr "Maksimaalne üleslaadimise suurus" -#: templates/admin.php:7 +#: templates/admin.php:9 msgid "max. possible: " msgstr "maks. võimalik: " -#: templates/admin.php:9 +#: templates/admin.php:12 msgid "Needed for multi-file and folder downloads." msgstr "Vajalik mitme faili ja kausta allalaadimiste jaoks." -#: templates/admin.php:9 +#: templates/admin.php:14 msgid "Enable ZIP-download" msgstr "Luba ZIP-ina allalaadimine" -#: templates/admin.php:11 +#: templates/admin.php:17 msgid "0 is unlimited" msgstr "0 tähendab piiramatut" -#: templates/admin.php:12 +#: templates/admin.php:19 msgid "Maximum input size for ZIP files" msgstr "Maksimaalne ZIP-faili sisestatava faili suurus" -#: templates/admin.php:14 +#: templates/admin.php:23 msgid "Save" msgstr "Salvesta" @@ -249,52 +221,48 @@ msgstr "Salvesta" msgid "New" msgstr "Uus" -#: templates/index.php:9 +#: templates/index.php:10 msgid "Text file" msgstr "Tekstifail" -#: templates/index.php:10 +#: templates/index.php:12 msgid "Folder" msgstr "Kaust" -#: templates/index.php:11 -msgid "From url" -msgstr "URL-ilt" +#: templates/index.php:14 +msgid "From link" +msgstr "Allikast" -#: templates/index.php:20 +#: templates/index.php:35 msgid "Upload" msgstr "Lae üles" -#: templates/index.php:27 +#: templates/index.php:43 msgid "Cancel upload" msgstr "Tühista üleslaadimine" -#: templates/index.php:40 +#: templates/index.php:57 msgid "Nothing in here. Upload something!" msgstr "Siin pole midagi. Lae midagi üles!" -#: templates/index.php:50 -msgid "Share" -msgstr "Jaga" - -#: templates/index.php:52 +#: templates/index.php:71 msgid "Download" msgstr "Lae alla" -#: templates/index.php:75 +#: templates/index.php:103 msgid "Upload too large" msgstr "Üleslaadimine on liiga suur" -#: templates/index.php:77 +#: templates/index.php:105 msgid "" "The files you are trying to upload exceed the maximum size for file uploads " "on this server." msgstr "Failid, mida sa proovid üles laadida, ületab serveri poolt üleslaetavatele failidele määratud maksimaalse suuruse." -#: templates/index.php:82 +#: templates/index.php:110 msgid "Files are being scanned, please wait." msgstr "Faile skannitakse, palun oota" -#: templates/index.php:85 +#: templates/index.php:113 msgid "Current scanning" msgstr "Praegune skannimine" diff --git a/l10n/et_EE/files_external.po b/l10n/et_EE/files_external.po index b1353d14f41f1dc70cf730b6c93bfb45cc5f43b2..08b40c08b448fd5cf38b1770320e9b016e1141c7 100644 --- a/l10n/et_EE/files_external.po +++ b/l10n/et_EE/files_external.po @@ -8,9 +8,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-02 23:16+0200\n" -"PO-Revision-Date: 2012-10-02 21:17+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-12-12 00:12+0100\n" +"PO-Revision-Date: 2012-12-11 23:13+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Estonian (Estonia) (http://www.transifex.com/projects/p/owncloud/language/et_EE/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -20,88 +20,102 @@ msgstr "" #: js/dropbox.js:7 js/dropbox.js:25 js/google.js:7 js/google.js:23 msgid "Access granted" -msgstr "" +msgstr "Ligipääs on antud" #: js/dropbox.js:28 js/dropbox.js:74 js/dropbox.js:79 js/dropbox.js:86 msgid "Error configuring Dropbox storage" -msgstr "" +msgstr "Viga Dropboxi salvestusruumi seadistamisel" #: js/dropbox.js:34 js/dropbox.js:45 js/google.js:31 js/google.js:40 msgid "Grant access" -msgstr "" +msgstr "Anna ligipääs" #: js/dropbox.js:73 js/google.js:72 msgid "Fill out all required fields" -msgstr "" +msgstr "Täida kõik kohustuslikud lahtrid" #: js/dropbox.js:85 msgid "Please provide a valid Dropbox app key and secret." -msgstr "" +msgstr "Palun sisesta korrektne Dropboxi rakenduse võti ja salasõna." #: js/google.js:26 js/google.js:73 js/google.js:78 msgid "Error configuring Google Drive storage" +msgstr "Viga Google Drive'i salvestusruumi seadistamisel" + +#: lib/config.php:434 +msgid "" +"Warning: \"smbclient\" is not installed. Mounting of CIFS/SMB shares " +"is not possible. Please ask your system administrator to install it." +msgstr "" + +#: lib/config.php:435 +msgid "" +"Warning: The FTP support in PHP is not enabled or installed. Mounting" +" of FTP shares is not possible. Please ask your system administrator to " +"install it." msgstr "" #: templates/settings.php:3 msgid "External Storage" msgstr "Väline salvestuskoht" -#: templates/settings.php:7 templates/settings.php:19 +#: templates/settings.php:8 templates/settings.php:22 msgid "Mount point" msgstr "Ühenduspunkt" -#: templates/settings.php:8 +#: templates/settings.php:9 msgid "Backend" msgstr "Admin" -#: templates/settings.php:9 +#: templates/settings.php:10 msgid "Configuration" msgstr "Seadistamine" -#: templates/settings.php:10 +#: templates/settings.php:11 msgid "Options" msgstr "Valikud" -#: templates/settings.php:11 +#: templates/settings.php:12 msgid "Applicable" msgstr "Rakendatav" -#: templates/settings.php:23 +#: templates/settings.php:27 msgid "Add mount point" msgstr "Lisa ühenduspunkt" -#: templates/settings.php:54 templates/settings.php:62 +#: templates/settings.php:85 msgid "None set" msgstr "Pole määratud" -#: templates/settings.php:63 +#: templates/settings.php:86 msgid "All Users" msgstr "Kõik kasutajad" -#: templates/settings.php:64 +#: templates/settings.php:87 msgid "Groups" msgstr "Grupid" -#: templates/settings.php:69 +#: templates/settings.php:95 msgid "Users" msgstr "Kasutajad" -#: templates/settings.php:77 templates/settings.php:107 +#: templates/settings.php:108 templates/settings.php:109 +#: templates/settings.php:149 templates/settings.php:150 msgid "Delete" msgstr "Kustuta" -#: templates/settings.php:87 +#: templates/settings.php:124 msgid "Enable User External Storage" msgstr "Luba kasutajatele väline salvestamine" -#: templates/settings.php:88 +#: templates/settings.php:125 msgid "Allow users to mount their own external storage" msgstr "Luba kasutajatel ühendada külge nende enda välised salvestusseadmed" -#: templates/settings.php:99 +#: templates/settings.php:139 msgid "SSL root certificates" msgstr "SSL root sertifikaadid" -#: templates/settings.php:113 +#: templates/settings.php:158 msgid "Import Root Certificate" msgstr "Impordi root sertifikaadid" diff --git a/l10n/et_EE/files_pdfviewer.po b/l10n/et_EE/files_pdfviewer.po deleted file mode 100644 index 3354f9e2ccc57e269a3cba5a9023b81a43a41d53..0000000000000000000000000000000000000000 --- a/l10n/et_EE/files_pdfviewer.po +++ /dev/null @@ -1,42 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 02:18+0200\n" -"PO-Revision-Date: 2012-08-26 00:19+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Estonian (Estonia) (http://www.transifex.com/projects/p/owncloud/language/et_EE/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: et_EE\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: js/viewer.js:22 -msgid "Previous" -msgstr "" - -#: js/viewer.js:23 -msgid "Next" -msgstr "" - -#: js/viewer.js:29 -msgid "Page Width" -msgstr "" - -#: js/viewer.js:29 -msgid "Page Fit" -msgstr "" - -#: js/viewer.js:30 -msgid "Print" -msgstr "" - -#: js/viewer.js:32 -msgid "Download" -msgstr "" diff --git a/l10n/et_EE/files_sharing.po b/l10n/et_EE/files_sharing.po index e877c9e1c2588f0ffa6ecdc328aeb38b54a50bf5..c0302f73c0695ae76080e335801022aa77ce5aff 100644 --- a/l10n/et_EE/files_sharing.po +++ b/l10n/et_EE/files_sharing.po @@ -8,9 +8,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-09-22 01:14+0200\n" -"PO-Revision-Date: 2012-09-21 23:15+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-10-30 00:01+0100\n" +"PO-Revision-Date: 2012-10-29 22:43+0000\n" +"Last-Translator: Rivo Zängov \n" "Language-Team: Estonian (Estonia) (http://www.transifex.com/projects/p/owncloud/language/et_EE/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -29,12 +29,12 @@ msgstr "Saada" #: templates/public.php:9 #, php-format msgid "%s shared the folder %s with you" -msgstr "" +msgstr "%s jagas sinuga kausta %s" #: templates/public.php:11 #, php-format msgid "%s shared the file %s with you" -msgstr "" +msgstr "%s jagas sinuga faili %s" #: templates/public.php:14 templates/public.php:30 msgid "Download" @@ -44,6 +44,6 @@ msgstr "Lae alla" msgid "No preview available for" msgstr "Eelvaadet pole saadaval" -#: templates/public.php:37 +#: templates/public.php:35 msgid "web services under your control" msgstr "veebitenused sinu kontrolli all" diff --git a/l10n/et_EE/files_texteditor.po b/l10n/et_EE/files_texteditor.po deleted file mode 100644 index 134962433934f40812af53b6dd48efa53675aa93..0000000000000000000000000000000000000000 --- a/l10n/et_EE/files_texteditor.po +++ /dev/null @@ -1,44 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 01:17+0200\n" -"PO-Revision-Date: 2012-08-25 23:18+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Estonian (Estonia) (http://www.transifex.com/projects/p/owncloud/language/et_EE/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: et_EE\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: js/aceeditor/mode-coldfusion-uncompressed.js:1568 -#: js/aceeditor/mode-liquid-uncompressed.js:902 -#: js/aceeditor/mode-svg-uncompressed.js:1575 -msgid "regex" -msgstr "" - -#: js/editor.js:72 js/editor.js:156 js/editor.js:163 -msgid "Save" -msgstr "" - -#: js/editor.js:74 -msgid "Close" -msgstr "" - -#: js/editor.js:149 -msgid "Saving..." -msgstr "" - -#: js/editor.js:239 -msgid "An error occurred!" -msgstr "" - -#: js/editor.js:266 -msgid "There were unsaved changes, click here to go back" -msgstr "" diff --git a/l10n/et_EE/files_versions.po b/l10n/et_EE/files_versions.po index 33dc90ce2ff93db61e7bed32e78726d54af1391e..a0d4710bcd42126317ec1100fe73c63bfbb3e838 100644 --- a/l10n/et_EE/files_versions.po +++ b/l10n/et_EE/files_versions.po @@ -8,9 +8,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-09-22 01:14+0200\n" -"PO-Revision-Date: 2012-09-21 23:15+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-10-21 02:03+0200\n" +"PO-Revision-Date: 2012-10-20 20:09+0000\n" +"Last-Translator: Rivo Zängov \n" "Language-Team: Estonian (Estonia) (http://www.transifex.com/projects/p/owncloud/language/et_EE/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -24,7 +24,7 @@ msgstr "Kõikide versioonide aegumine" #: js/versions.js:16 msgid "History" -msgstr "" +msgstr "Ajalugu" #: templates/settings-personal.php:4 msgid "Versions" @@ -36,8 +36,8 @@ msgstr "See kustutab kõik sinu failidest tehtud varuversiooni" #: templates/settings.php:3 msgid "Files Versioning" -msgstr "" +msgstr "Failide versioonihaldus" #: templates/settings.php:4 msgid "Enable" -msgstr "" +msgstr "Luba" diff --git a/l10n/et_EE/gallery.po b/l10n/et_EE/gallery.po deleted file mode 100644 index 1b844f2ca997c0222cca1ac1d857f9ec72c4081e..0000000000000000000000000000000000000000 --- a/l10n/et_EE/gallery.po +++ /dev/null @@ -1,95 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Rivo Zängov , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-06-06 00:12+0200\n" -"PO-Revision-Date: 2012-06-05 22:15+0000\n" -"Last-Translator: icewind \n" -"Language-Team: Estonian (Estonia) (http://www.transifex.net/projects/p/owncloud/language/et_EE/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: et_EE\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: appinfo/app.php:37 -msgid "Pictures" -msgstr "Pildid" - -#: js/album_cover.js:44 -msgid "Share gallery" -msgstr "" - -#: js/album_cover.js:64 js/album_cover.js:100 js/album_cover.js:133 -msgid "Error: " -msgstr "" - -#: js/album_cover.js:64 js/album_cover.js:100 -msgid "Internal error" -msgstr "" - -#: js/album_cover.js:114 -msgid "Scanning root" -msgstr "" - -#: js/album_cover.js:115 -msgid "Default order" -msgstr "" - -#: js/album_cover.js:116 -msgid "Ascending" -msgstr "" - -#: js/album_cover.js:116 -msgid "Descending" -msgstr "" - -#: js/album_cover.js:117 templates/index.php:19 -msgid "Settings" -msgstr "Seaded" - -#: js/album_cover.js:122 -msgid "Scanning root cannot be empty" -msgstr "" - -#: js/album_cover.js:122 js/album_cover.js:133 -msgid "Error" -msgstr "" - -#: templates/index.php:16 -msgid "Rescan" -msgstr "Skänni uuesti" - -#: templates/index.php:17 -msgid "Stop" -msgstr "Peata" - -#: templates/index.php:18 -msgid "Share" -msgstr "Jaga" - -#: templates/view_album.php:19 -msgid "Back" -msgstr "Tagasi" - -#: templates/view_album.php:36 -msgid "Remove confirmation" -msgstr "Eemaldamise kinnitus" - -#: templates/view_album.php:37 -msgid "Do you want to remove album" -msgstr "Kas sa soovid albumit eemaldada" - -#: templates/view_album.php:40 -msgid "Change album name" -msgstr "Muuda albumi nime" - -#: templates/view_album.php:43 -msgid "New album name" -msgstr "Uue albumi nimi" diff --git a/l10n/et_EE/impress.po b/l10n/et_EE/impress.po deleted file mode 100644 index 85746c64843d762a90799e935e78d2881193bdd0..0000000000000000000000000000000000000000 --- a/l10n/et_EE/impress.po +++ /dev/null @@ -1,22 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 01:17+0200\n" -"PO-Revision-Date: 2012-08-25 23:18+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Estonian (Estonia) (http://www.transifex.com/projects/p/owncloud/language/et_EE/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: et_EE\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: templates/presentations.php:7 -msgid "Documentation" -msgstr "" diff --git a/l10n/et_EE/lib.po b/l10n/et_EE/lib.po index da4dcfe526905ef29a841240a4d8d4aa21c9cae2..f617ebc7835e135a00694ae354373ee674709cb2 100644 --- a/l10n/et_EE/lib.po +++ b/l10n/et_EE/lib.po @@ -8,9 +8,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-09-12 02:01+0200\n" -"PO-Revision-Date: 2012-09-11 10:18+0000\n" -"Last-Translator: Rivo Zängov \n" +"POT-Creation-Date: 2012-11-16 00:02+0100\n" +"PO-Revision-Date: 2012-11-14 23:13+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Estonian (Estonia) (http://www.transifex.com/projects/p/owncloud/language/et_EE/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -42,19 +42,19 @@ msgstr "Rakendused" msgid "Admin" msgstr "Admin" -#: files.php:280 +#: files.php:332 msgid "ZIP download is turned off." msgstr "ZIP-ina allalaadimine on välja lülitatud." -#: files.php:281 +#: files.php:333 msgid "Files need to be downloaded one by one." msgstr "Failid tuleb alla laadida ükshaaval." -#: files.php:281 files.php:306 +#: files.php:333 files.php:358 msgid "Back to Files" msgstr "Tagasi failide juurde" -#: files.php:305 +#: files.php:357 msgid "Selected files too large to generate zip file." msgstr "Valitud failid on ZIP-faili loomiseks liiga suured." @@ -62,7 +62,7 @@ msgstr "Valitud failid on ZIP-faili loomiseks liiga suured." msgid "Application is not enabled" msgstr "Rakendus pole sisse lülitatud" -#: json.php:39 json.php:63 json.php:75 +#: json.php:39 json.php:64 json.php:77 json.php:89 msgid "Authentication error" msgstr "Autentimise viga" @@ -70,57 +70,84 @@ msgstr "Autentimise viga" msgid "Token expired. Please reload page." msgstr "Kontrollkood aegus. Paelun lae leht uuesti." -#: template.php:87 +#: search/provider/file.php:17 search/provider/file.php:35 +msgid "Files" +msgstr "Failid" + +#: search/provider/file.php:26 search/provider/file.php:33 +msgid "Text" +msgstr "Tekst" + +#: search/provider/file.php:29 +msgid "Images" +msgstr "Pildid" + +#: template.php:103 msgid "seconds ago" msgstr "sekundit tagasi" -#: template.php:88 +#: template.php:104 msgid "1 minute ago" msgstr "1 minut tagasi" -#: template.php:89 +#: template.php:105 #, php-format msgid "%d minutes ago" msgstr "%d minutit tagasi" -#: template.php:92 +#: template.php:106 +msgid "1 hour ago" +msgstr "" + +#: template.php:107 +#, php-format +msgid "%d hours ago" +msgstr "" + +#: template.php:108 msgid "today" msgstr "täna" -#: template.php:93 +#: template.php:109 msgid "yesterday" msgstr "eile" -#: template.php:94 +#: template.php:110 #, php-format msgid "%d days ago" msgstr "%d päeva tagasi" -#: template.php:95 +#: template.php:111 msgid "last month" msgstr "eelmisel kuul" -#: template.php:96 -msgid "months ago" -msgstr "kuud tagasi" +#: template.php:112 +#, php-format +msgid "%d months ago" +msgstr "" -#: template.php:97 +#: template.php:113 msgid "last year" msgstr "eelmisel aastal" -#: template.php:98 +#: template.php:114 msgid "years ago" msgstr "aastat tagasi" -#: updater.php:66 +#: updater.php:75 #, php-format msgid "%s is available. Get more information" msgstr "%s on saadaval. Vaata lisainfot" -#: updater.php:68 +#: updater.php:77 msgid "up to date" msgstr "ajakohane" -#: updater.php:71 +#: updater.php:80 msgid "updates check is disabled" msgstr "uuenduste kontrollimine on välja lülitatud" + +#: vcategories.php:188 vcategories.php:249 +#, php-format +msgid "Could not find category \"%s\"" +msgstr "" diff --git a/l10n/et_EE/media.po b/l10n/et_EE/media.po deleted file mode 100644 index 8be81b35e4f27b33ad46248f298b25b2458e040a..0000000000000000000000000000000000000000 --- a/l10n/et_EE/media.po +++ /dev/null @@ -1,67 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Rivo Zängov , 2011. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-06-06 00:12+0200\n" -"PO-Revision-Date: 2012-06-05 22:15+0000\n" -"Last-Translator: icewind \n" -"Language-Team: Estonian (Estonia) (http://www.transifex.net/projects/p/owncloud/language/et_EE/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: et_EE\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: appinfo/app.php:32 templates/player.php:8 -msgid "Music" -msgstr "Muusika" - -#: js/music.js:18 -msgid "Add album to playlist" -msgstr "" - -#: templates/music.php:3 templates/player.php:12 -msgid "Play" -msgstr "Esita" - -#: templates/music.php:4 templates/music.php:26 templates/player.php:13 -msgid "Pause" -msgstr "Paus" - -#: templates/music.php:5 -msgid "Previous" -msgstr "Eelmine" - -#: templates/music.php:6 templates/player.php:14 -msgid "Next" -msgstr "Järgmine" - -#: templates/music.php:7 -msgid "Mute" -msgstr "Vaikseks" - -#: templates/music.php:8 -msgid "Unmute" -msgstr "Hääl tagasi" - -#: templates/music.php:25 -msgid "Rescan Collection" -msgstr "Skänni kollekttsiooni uuesti" - -#: templates/music.php:37 -msgid "Artist" -msgstr "Esitaja" - -#: templates/music.php:38 -msgid "Album" -msgstr "Album" - -#: templates/music.php:39 -msgid "Title" -msgstr "Pealkiri" diff --git a/l10n/et_EE/settings.po b/l10n/et_EE/settings.po index 38300967e5c411e1790787b7b512a6e77bbe30be..d758c91271da395cde9bd4d1eebed462b7505789 100644 --- a/l10n/et_EE/settings.po +++ b/l10n/et_EE/settings.po @@ -9,9 +9,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-09 02:03+0200\n" -"PO-Revision-Date: 2012-10-09 00:03+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-12-03 00:04+0100\n" +"PO-Revision-Date: 2012-12-02 03:18+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Estonian (Estonia) (http://www.transifex.com/projects/p/owncloud/language/et_EE/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -19,70 +19,73 @@ msgstr "" "Language: et_EE\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: ajax/apps/ocs.php:23 +#: ajax/apps/ocs.php:20 msgid "Unable to load list from App Store" msgstr "App Sotre'i nimekirja laadimine ebaõnnestus" -#: ajax/creategroup.php:9 ajax/removeuser.php:13 ajax/setquota.php:18 -#: ajax/togglegroups.php:15 -msgid "Authentication error" -msgstr "Autentimise viga" - -#: ajax/creategroup.php:19 +#: ajax/creategroup.php:10 msgid "Group already exists" msgstr "Grupp on juba olemas" -#: ajax/creategroup.php:28 +#: ajax/creategroup.php:19 msgid "Unable to add group" msgstr "Keela grupi lisamine" -#: ajax/enableapp.php:14 +#: ajax/enableapp.php:12 msgid "Could not enable app. " -msgstr "" +msgstr "Rakenduse sisselülitamine ebaõnnestus." -#: ajax/lostpassword.php:14 +#: ajax/lostpassword.php:12 msgid "Email saved" msgstr "Kiri on salvestatud" -#: ajax/lostpassword.php:16 +#: ajax/lostpassword.php:14 msgid "Invalid email" msgstr "Vigane e-post" -#: ajax/openid.php:16 +#: ajax/openid.php:13 msgid "OpenID Changed" msgstr "OpenID on muudetud" -#: ajax/openid.php:18 ajax/setlanguage.php:20 ajax/setlanguage.php:23 +#: ajax/openid.php:15 ajax/setlanguage.php:17 ajax/setlanguage.php:20 msgid "Invalid request" msgstr "Vigane päring" -#: ajax/removegroup.php:16 +#: ajax/removegroup.php:13 msgid "Unable to delete group" msgstr "Keela grupi kustutamine" -#: ajax/removeuser.php:22 +#: ajax/removeuser.php:15 ajax/setquota.php:15 ajax/togglegroups.php:18 +msgid "Authentication error" +msgstr "Autentimise viga" + +#: ajax/removeuser.php:24 msgid "Unable to delete user" msgstr "Keela kasutaja kustutamine" -#: ajax/setlanguage.php:18 +#: ajax/setlanguage.php:15 msgid "Language changed" msgstr "Keel on muudetud" -#: ajax/togglegroups.php:25 +#: ajax/togglegroups.php:12 +msgid "Admins can't remove themself from the admin group" +msgstr "" + +#: ajax/togglegroups.php:28 #, php-format msgid "Unable to add user to group %s" msgstr "Kasutajat ei saa lisada gruppi %s" -#: ajax/togglegroups.php:31 +#: ajax/togglegroups.php:34 #, php-format msgid "Unable to remove user from group %s" msgstr "Kasutajat ei saa eemaldada grupist %s" -#: js/apps.js:28 js/apps.js:65 +#: js/apps.js:28 js/apps.js:67 msgid "Disable" msgstr "Lülita välja" -#: js/apps.js:28 js/apps.js:54 +#: js/apps.js:28 js/apps.js:55 msgid "Enable" msgstr "Lülita sisse" @@ -90,104 +93,17 @@ msgstr "Lülita sisse" msgid "Saving..." msgstr "Salvestamine..." -#: personal.php:47 personal.php:48 +#: personal.php:42 personal.php:43 msgid "__language_name__" msgstr "Eesti" -#: templates/admin.php:14 -msgid "Security Warning" -msgstr "Turvahoiatus" - -#: templates/admin.php:17 -msgid "" -"Your data directory and your files are probably accessible from the " -"internet. The .htaccess file that ownCloud provides is not working. We " -"strongly suggest that you configure your webserver in a way that the data " -"directory is no longer accessible or you move the data directory outside the" -" webserver document root." -msgstr "" - -#: templates/admin.php:31 -msgid "Cron" -msgstr "Ajastatud töö" - -#: templates/admin.php:37 -msgid "Execute one task with each page loaded" -msgstr "" - -#: templates/admin.php:43 -msgid "" -"cron.php is registered at a webcron service. Call the cron.php page in the " -"owncloud root once a minute over http." -msgstr "" - -#: templates/admin.php:49 -msgid "" -"Use systems cron service. Call the cron.php file in the owncloud folder via " -"a system cronjob once a minute." -msgstr "" - -#: templates/admin.php:56 -msgid "Sharing" -msgstr "" - -#: templates/admin.php:61 -msgid "Enable Share API" -msgstr "Luba jagamise API" - -#: templates/admin.php:62 -msgid "Allow apps to use the Share API" -msgstr "Luba rakendustel kasutada jagamise API-t" - -#: templates/admin.php:67 -msgid "Allow links" -msgstr "Luba linke" - -#: templates/admin.php:68 -msgid "Allow users to share items to the public with links" -msgstr "Luba kasutajatel jagada kirjeid avalike linkidega" - -#: templates/admin.php:73 -msgid "Allow resharing" -msgstr "Luba edasijagamine" - -#: templates/admin.php:74 -msgid "Allow users to share items shared with them again" -msgstr "Luba kasutajatel jagada edasi kirjeid, mida on neile jagatud" - -#: templates/admin.php:79 -msgid "Allow users to share with anyone" -msgstr "Luba kasutajatel kõigiga jagada" - -#: templates/admin.php:81 -msgid "Allow users to only share with users in their groups" -msgstr "Luba kasutajatel jagada kirjeid ainult nende grupi liikmetele, millesse nad ise kuuluvad" - -#: templates/admin.php:88 -msgid "Log" -msgstr "Logi" - -#: templates/admin.php:116 -msgid "More" -msgstr "Veel" - -#: templates/admin.php:124 -msgid "" -"Developed by the ownCloud community, the source code is " -"licensed under the AGPL." -msgstr "" - #: templates/apps.php:10 msgid "Add your App" msgstr "Lisa oma rakendus" #: templates/apps.php:11 msgid "More Apps" -msgstr "" +msgstr "Veel rakendusi" #: templates/apps.php:27 msgid "Select an App" @@ -213,21 +129,21 @@ msgstr "Suurte failide haldamine" msgid "Ask a question" msgstr "Küsi küsimus" -#: templates/help.php:23 +#: templates/help.php:22 msgid "Problems connecting to help database." msgstr "Probleemid abiinfo andmebaasiga ühendumisel." -#: templates/help.php:24 +#: templates/help.php:23 msgid "Go there manually." msgstr "Mine sinna käsitsi." -#: templates/help.php:32 +#: templates/help.php:31 msgid "Answer" msgstr "Vasta" #: templates/personal.php:8 #, php-format -msgid "You have used %s of the available %s" +msgid "You have used %s of the available %s" msgstr "" #: templates/personal.php:12 @@ -240,7 +156,7 @@ msgstr "Lae alla" #: templates/personal.php:19 msgid "Your password was changed" -msgstr "" +msgstr "Sinu parooli on muudetud" #: templates/personal.php:20 msgid "Unable to change your password" @@ -286,6 +202,16 @@ msgstr "Aita tõlkida" msgid "use this address to connect to your ownCloud in your file manager" msgstr "kasuta seda aadressi oma ownCloudiga ühendamiseks failihalduriga" +#: templates/personal.php:61 +msgid "" +"Developed by the ownCloud community, the source code is " +"licensed under the AGPL." +msgstr "" + #: templates/users.php:21 templates/users.php:76 msgid "Name" msgstr "Nimi" diff --git a/l10n/et_EE/tasks.po b/l10n/et_EE/tasks.po deleted file mode 100644 index 042e2c4864fbc1775271a09ec822eb7bd4b4616c..0000000000000000000000000000000000000000 --- a/l10n/et_EE/tasks.po +++ /dev/null @@ -1,107 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Rivo Zängov , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-19 02:02+0200\n" -"PO-Revision-Date: 2012-08-18 06:36+0000\n" -"Last-Translator: Rivo Zängov \n" -"Language-Team: Estonian (Estonia) (http://www.transifex.com/projects/p/owncloud/language/et_EE/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: et_EE\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: ajax/update_property.php:51 lib/app.php:89 lib/app.php:101 -msgid "Invalid date/time" -msgstr "Vigane kuupäev/kellaaeg" - -#: appinfo/app.php:11 -msgid "Tasks" -msgstr "Ülesanded" - -#: js/tasks.js:415 -msgid "No category" -msgstr "Kategooriat pole" - -#: lib/app.php:33 -msgid "Unspecified" -msgstr "Määramata" - -#: lib/app.php:34 -msgid "1=highest" -msgstr "1=kõrgeim" - -#: lib/app.php:38 -msgid "5=medium" -msgstr "5=keskmine" - -#: lib/app.php:42 -msgid "9=lowest" -msgstr "9=madalaim" - -#: lib/app.php:81 -msgid "Empty Summary" -msgstr "Tühi kokkuvõte" - -#: lib/app.php:93 -msgid "Invalid percent complete" -msgstr "Vigane edenemise protsent" - -#: lib/app.php:107 -msgid "Invalid priority" -msgstr "Vigane tähtsus" - -#: templates/tasks.php:3 -msgid "Add Task" -msgstr "Lisa ülesanne" - -#: templates/tasks.php:4 -msgid "Order Due" -msgstr "Tähtaja järgi" - -#: templates/tasks.php:5 -msgid "Order List" -msgstr "Nimekirja järgi" - -#: templates/tasks.php:6 -msgid "Order Complete" -msgstr "Edenemise järgi" - -#: templates/tasks.php:7 -msgid "Order Location" -msgstr "Asukoha järgi" - -#: templates/tasks.php:8 -msgid "Order Priority" -msgstr "Tähtsuse järjekorras" - -#: templates/tasks.php:9 -msgid "Order Label" -msgstr "Sildi järgi" - -#: templates/tasks.php:16 -msgid "Loading tasks..." -msgstr "Ülesannete laadimine..." - -#: templates/tasks.php:20 -msgid "Important" -msgstr "Tähtis" - -#: templates/tasks.php:23 -msgid "More" -msgstr "Rohkem" - -#: templates/tasks.php:26 -msgid "Less" -msgstr "Vähem" - -#: templates/tasks.php:29 -msgid "Delete" -msgstr "Kustuta" diff --git a/l10n/et_EE/user_ldap.po b/l10n/et_EE/user_ldap.po index d955f91c9ddce25bbda67689748b575c5970ff66..ccccf7cb20ac799d049db889be1a3ab51e2964b1 100644 --- a/l10n/et_EE/user_ldap.po +++ b/l10n/et_EE/user_ldap.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-09-12 02:01+0200\n" -"PO-Revision-Date: 2012-09-11 10:46+0000\n" +"POT-Creation-Date: 2012-10-30 00:01+0100\n" +"PO-Revision-Date: 2012-10-29 22:48+0000\n" "Last-Translator: Rivo Zängov \n" "Language-Team: Estonian (Estonia) (http://www.transifex.com/projects/p/owncloud/language/et_EE/)\n" "MIME-Version: 1.0\n" @@ -25,7 +25,7 @@ msgstr "Host" #: templates/settings.php:8 msgid "" "You can omit the protocol, except you require SSL. Then start with ldaps://" -msgstr "" +msgstr "Sa ei saa protokolli ära jätta, välja arvatud siis, kui sa nõuad SSL-ühendust. Sel juhul alusta eesliitega ldaps://" #: templates/settings.php:9 msgid "Base DN" @@ -33,7 +33,7 @@ msgstr "Baas DN" #: templates/settings.php:9 msgid "You can specify Base DN for users and groups in the Advanced tab" -msgstr "" +msgstr "Sa saad kasutajate ja gruppide baas DN-i määrata lisavalikute vahekaardilt" #: templates/settings.php:10 msgid "User DN" @@ -44,7 +44,7 @@ msgid "" "The DN of the client user with which the bind shall be done, e.g. " "uid=agent,dc=example,dc=com. For anonymous access, leave DN and Password " "empty." -msgstr "" +msgstr "Klientkasutaja DN, kellega seotakse, nt. uid=agent,dc=näidis,dc=com. Anonüümseks ligipääsuks jäta DN ja parool tühjaks." #: templates/settings.php:11 msgid "Password" @@ -52,7 +52,7 @@ msgstr "Parool" #: templates/settings.php:11 msgid "For anonymous access, leave DN and Password empty." -msgstr "" +msgstr "Anonüümseks ligipääsuks jäta DN ja parool tühjaks." #: templates/settings.php:12 msgid "User Login Filter" @@ -63,7 +63,7 @@ msgstr "Kasutajanime filter" msgid "" "Defines the filter to apply, when login is attempted. %%uid replaces the " "username in the login action." -msgstr "" +msgstr "Määrab sisselogimisel kasutatava filtri. %%uid asendab sisselogimistegevuses kasutajanime." #: templates/settings.php:12 #, php-format @@ -130,7 +130,7 @@ msgstr "Lülita SSL sertifikaadi kontrollimine välja." msgid "" "If connection only works with this option, import the LDAP server's SSL " "certificate in your ownCloud server." -msgstr "" +msgstr "Kui ühendus toimib ainult selle valikuga, siis impordi LDAP serveri SSL sertifikaat oma ownCloud serverisse." #: templates/settings.php:23 msgid "Not recommended, use for testing only." diff --git a/l10n/et_EE/user_migrate.po b/l10n/et_EE/user_migrate.po deleted file mode 100644 index 88aea1413865941586c0d92d0c6bf2158588ef3f..0000000000000000000000000000000000000000 --- a/l10n/et_EE/user_migrate.po +++ /dev/null @@ -1,51 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:45+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Estonian (Estonia) (http://www.transifex.com/projects/p/owncloud/language/et_EE/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: et_EE\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: js/export.js:14 js/export.js:20 -msgid "Export" -msgstr "" - -#: js/export.js:19 -msgid "Something went wrong while the export file was being generated" -msgstr "" - -#: js/export.js:19 -msgid "An error has occurred" -msgstr "" - -#: templates/settings.php:2 -msgid "Export your user account" -msgstr "" - -#: templates/settings.php:3 -msgid "" -"This will create a compressed file that contains your ownCloud account." -msgstr "" - -#: templates/settings.php:13 -msgid "Import user account" -msgstr "" - -#: templates/settings.php:15 -msgid "ownCloud User Zip" -msgstr "" - -#: templates/settings.php:17 -msgid "Import" -msgstr "" diff --git a/l10n/et_EE/user_openid.po b/l10n/et_EE/user_openid.po deleted file mode 100644 index 8be57b5de20cb6dd7acef1ef73c79cb6c0a5d586..0000000000000000000000000000000000000000 --- a/l10n/et_EE/user_openid.po +++ /dev/null @@ -1,55 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Rivo Zängov , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-19 02:02+0200\n" -"PO-Revision-Date: 2012-08-18 06:48+0000\n" -"Last-Translator: Rivo Zängov \n" -"Language-Team: Estonian (Estonia) (http://www.transifex.com/projects/p/owncloud/language/et_EE/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: et_EE\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: templates/nomode.php:12 -msgid "This is an OpenID server endpoint. For more information, see " -msgstr "See on OpenID serveri lõpp-punkt. Lisainfot vaata" - -#: templates/nomode.php:14 -msgid "Identity: " -msgstr "Identiteet: " - -#: templates/nomode.php:15 -msgid "Realm: " -msgstr "Tsoon: " - -#: templates/nomode.php:16 -msgid "User: " -msgstr "" - -#: templates/nomode.php:17 -msgid "Login" -msgstr "" - -#: templates/nomode.php:22 -msgid "Error: No user Selected" -msgstr "" - -#: templates/settings.php:4 -msgid "you can authenticate to other sites with this address" -msgstr "" - -#: templates/settings.php:5 -msgid "Authorized OpenID provider" -msgstr "" - -#: templates/settings.php:6 -msgid "Your address at Wordpress, Identi.ca, …" -msgstr "" diff --git a/l10n/et_EE/files_odfviewer.po b/l10n/et_EE/user_webdavauth.po similarity index 61% rename from l10n/et_EE/files_odfviewer.po rename to l10n/et_EE/user_webdavauth.po index 986289e67a605c2946d711f33f92676b72a8275c..06fb9adc8f9067bed8fa6557aa8c2a2266a025c8 100644 --- a/l10n/et_EE/files_odfviewer.po +++ b/l10n/et_EE/user_webdavauth.po @@ -3,20 +3,21 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# Rivo Zängov , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 02:18+0200\n" -"PO-Revision-Date: 2012-08-26 00:19+0000\n" -"Last-Translator: FULL NAME \n" +"POT-Creation-Date: 2012-11-30 00:03+0100\n" +"PO-Revision-Date: 2012-11-29 21:18+0000\n" +"Last-Translator: Rivo Zängov \n" "Language-Team: Estonian (Estonia) (http://www.transifex.com/projects/p/owncloud/language/et_EE/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: et_EE\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: js/viewer.js:9 -msgid "Close" -msgstr "" +#: templates/settings.php:4 +msgid "WebDAV URL: http://" +msgstr "WebDAV URL: http://" diff --git a/l10n/eu/admin_dependencies_chk.po b/l10n/eu/admin_dependencies_chk.po deleted file mode 100644 index 92e7dfc1a3cb972e0e9fe48bca547b348b59b714..0000000000000000000000000000000000000000 --- a/l10n/eu/admin_dependencies_chk.po +++ /dev/null @@ -1,73 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:33+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Basque (http://www.transifex.com/projects/p/owncloud/language/eu/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: eu\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: settings.php:33 -msgid "" -"The php-json module is needed by the many applications for inter " -"communications" -msgstr "" - -#: settings.php:39 -msgid "" -"The php-curl modude is needed to fetch the page title when adding a " -"bookmarks" -msgstr "" - -#: settings.php:45 -msgid "The php-gd module is needed to create thumbnails of your images" -msgstr "" - -#: settings.php:51 -msgid "The php-ldap module is needed connect to your ldap server" -msgstr "" - -#: settings.php:57 -msgid "The php-zip module is needed download multiple files at once" -msgstr "" - -#: settings.php:63 -msgid "" -"The php-mb_multibyte module is needed to manage correctly the encoding." -msgstr "" - -#: settings.php:69 -msgid "The php-ctype module is needed validate data." -msgstr "" - -#: settings.php:75 -msgid "The php-xml module is needed to share files with webdav." -msgstr "" - -#: settings.php:81 -msgid "" -"The allow_url_fopen directive of your php.ini should be set to 1 to retrieve" -" knowledge base from OCS servers" -msgstr "" - -#: settings.php:87 -msgid "The php-pdo module is needed to store owncloud data into a database." -msgstr "" - -#: templates/settings.php:2 -msgid "Dependencies status" -msgstr "" - -#: templates/settings.php:7 -msgid "Used by :" -msgstr "" diff --git a/l10n/eu/admin_migrate.po b/l10n/eu/admin_migrate.po deleted file mode 100644 index c810a7d4520867d3cf8568ddacb1d858f0d90fec..0000000000000000000000000000000000000000 --- a/l10n/eu/admin_migrate.po +++ /dev/null @@ -1,32 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:32+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Basque (http://www.transifex.com/projects/p/owncloud/language/eu/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: eu\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: templates/settings.php:3 -msgid "Export this ownCloud instance" -msgstr "" - -#: templates/settings.php:4 -msgid "" -"This will create a compressed file that contains the data of this owncloud instance.\n" -" Please choose the export type:" -msgstr "" - -#: templates/settings.php:12 -msgid "Export" -msgstr "" diff --git a/l10n/eu/bookmarks.po b/l10n/eu/bookmarks.po deleted file mode 100644 index d443167a5bab75c36ef9a045687e71dbc35d85f5..0000000000000000000000000000000000000000 --- a/l10n/eu/bookmarks.po +++ /dev/null @@ -1,60 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-07-28 02:02+0200\n" -"PO-Revision-Date: 2012-07-27 22:17+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Basque (http://www.transifex.com/projects/p/owncloud/language/eu/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: eu\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: appinfo/app.php:14 -msgid "Bookmarks" -msgstr "" - -#: bookmarksHelper.php:99 -msgid "unnamed" -msgstr "" - -#: templates/bookmarklet.php:5 -msgid "" -"Drag this to your browser bookmarks and click it, when you want to bookmark " -"a webpage quickly:" -msgstr "" - -#: templates/bookmarklet.php:7 -msgid "Read later" -msgstr "" - -#: templates/list.php:13 -msgid "Address" -msgstr "" - -#: templates/list.php:14 -msgid "Title" -msgstr "" - -#: templates/list.php:15 -msgid "Tags" -msgstr "" - -#: templates/list.php:16 -msgid "Save bookmark" -msgstr "" - -#: templates/list.php:22 -msgid "You have no bookmarks" -msgstr "" - -#: templates/settings.php:11 -msgid "Bookmarklet
" -msgstr "" diff --git a/l10n/eu/calendar.po b/l10n/eu/calendar.po deleted file mode 100644 index 9617f72ac3bd36109b142819dbe514479b9f6850..0000000000000000000000000000000000000000 --- a/l10n/eu/calendar.po +++ /dev/null @@ -1,816 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# , 2012. -# Asier Urio Larrea , 2011. -# Piarres Beobide , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-11 02:02+0200\n" -"PO-Revision-Date: 2012-08-11 00:02+0000\n" -"Last-Translator: owncloud_robot \n" -"Language-Team: Basque (http://www.transifex.com/projects/p/owncloud/language/eu/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: eu\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: ajax/cache/status.php:19 -msgid "Not all calendars are completely cached" -msgstr "Egutegi guztiak ez daude guztiz cacheatuta" - -#: ajax/cache/status.php:21 -msgid "Everything seems to be completely cached" -msgstr "Dena guztiz cacheatuta dagoela dirudi" - -#: ajax/categories/rescan.php:29 -msgid "No calendars found." -msgstr "Ez da egutegirik aurkitu." - -#: ajax/categories/rescan.php:37 -msgid "No events found." -msgstr "Ez da gertaerarik aurkitu." - -#: ajax/event/edit.form.php:20 -msgid "Wrong calendar" -msgstr "Egutegi okerra" - -#: ajax/import/dropimport.php:29 ajax/import/import.php:64 -msgid "" -"The file contained either no events or all events are already saved in your " -"calendar." -msgstr "Fitxategiak ez zuen gertaerarik edo gertaera guztiak dagoeneko egutegian gordeta zeuden." - -#: ajax/import/dropimport.php:31 ajax/import/import.php:67 -msgid "events has been saved in the new calendar" -msgstr "gertaerak egutegi berrian gorde dira" - -#: ajax/import/import.php:56 -msgid "Import failed" -msgstr "Inportazioak huts egin du" - -#: ajax/import/import.php:69 -msgid "events has been saved in your calendar" -msgstr "gertaerak zure egutegian gorde dira" - -#: ajax/settings/guesstimezone.php:25 -msgid "New Timezone:" -msgstr "Ordu-zonalde berria" - -#: ajax/settings/settimezone.php:23 -msgid "Timezone changed" -msgstr "Ordu-zonaldea aldatuta" - -#: ajax/settings/settimezone.php:25 -msgid "Invalid request" -msgstr "Baliogabeko eskaera" - -#: appinfo/app.php:35 templates/calendar.php:15 -#: templates/part.eventform.php:33 templates/part.showevent.php:33 -msgid "Calendar" -msgstr "Egutegia" - -#: js/calendar.js:832 -msgid "ddd" -msgstr "" - -#: js/calendar.js:833 -msgid "ddd M/d" -msgstr "" - -#: js/calendar.js:834 -msgid "dddd M/d" -msgstr "" - -#: js/calendar.js:837 -msgid "MMMM yyyy" -msgstr "yyyy MMMM" - -#: js/calendar.js:839 -msgid "MMM d[ yyyy]{ '—'[ MMM] d yyyy}" -msgstr "" - -#: js/calendar.js:841 -msgid "dddd, MMM d, yyyy" -msgstr "" - -#: lib/app.php:121 -msgid "Birthday" -msgstr "Jaioteguna" - -#: lib/app.php:122 -msgid "Business" -msgstr "Negozioa" - -#: lib/app.php:123 -msgid "Call" -msgstr "Deia" - -#: lib/app.php:124 -msgid "Clients" -msgstr "Bezeroak" - -#: lib/app.php:125 -msgid "Deliverer" -msgstr "Banatzailea" - -#: lib/app.php:126 -msgid "Holidays" -msgstr "Oporrak" - -#: lib/app.php:127 -msgid "Ideas" -msgstr "Ideiak" - -#: lib/app.php:128 -msgid "Journey" -msgstr "Bidaia" - -#: lib/app.php:129 -msgid "Jubilee" -msgstr "Urteurrena" - -#: lib/app.php:130 -msgid "Meeting" -msgstr "Bilera" - -#: lib/app.php:131 -msgid "Other" -msgstr "Bestelakoa" - -#: lib/app.php:132 -msgid "Personal" -msgstr "Pertsonala" - -#: lib/app.php:133 -msgid "Projects" -msgstr "Proiektuak" - -#: lib/app.php:134 -msgid "Questions" -msgstr "Galderak" - -#: lib/app.php:135 -msgid "Work" -msgstr "Lana" - -#: lib/app.php:351 lib/app.php:361 -msgid "by" -msgstr "" - -#: lib/app.php:359 lib/app.php:399 -msgid "unnamed" -msgstr "izengabea" - -#: lib/import.php:184 templates/calendar.php:12 -#: templates/part.choosecalendar.php:22 -msgid "New Calendar" -msgstr "Egutegi berria" - -#: lib/object.php:372 -msgid "Does not repeat" -msgstr "Ez da errepikatzen" - -#: lib/object.php:373 -msgid "Daily" -msgstr "Egunero" - -#: lib/object.php:374 -msgid "Weekly" -msgstr "Astero" - -#: lib/object.php:375 -msgid "Every Weekday" -msgstr "Asteko egun guztietan" - -#: lib/object.php:376 -msgid "Bi-Weekly" -msgstr "Bi-Astero" - -#: lib/object.php:377 -msgid "Monthly" -msgstr "Hilabetero" - -#: lib/object.php:378 -msgid "Yearly" -msgstr "Urtero" - -#: lib/object.php:388 -msgid "never" -msgstr "inoiz" - -#: lib/object.php:389 -msgid "by occurrences" -msgstr "errepikapen kopuruagatik" - -#: lib/object.php:390 -msgid "by date" -msgstr "dataren arabera" - -#: lib/object.php:400 -msgid "by monthday" -msgstr "hileko egunaren arabera" - -#: lib/object.php:401 -msgid "by weekday" -msgstr "asteko egunaren arabera" - -#: lib/object.php:411 templates/calendar.php:5 templates/settings.php:69 -msgid "Monday" -msgstr "Astelehena" - -#: lib/object.php:412 templates/calendar.php:5 -msgid "Tuesday" -msgstr "Asteartea" - -#: lib/object.php:413 templates/calendar.php:5 -msgid "Wednesday" -msgstr "Asteazkena" - -#: lib/object.php:414 templates/calendar.php:5 -msgid "Thursday" -msgstr "Osteguna" - -#: lib/object.php:415 templates/calendar.php:5 -msgid "Friday" -msgstr "Ostirala" - -#: lib/object.php:416 templates/calendar.php:5 -msgid "Saturday" -msgstr "Larunbata" - -#: lib/object.php:417 templates/calendar.php:5 templates/settings.php:70 -msgid "Sunday" -msgstr "Igandea" - -#: lib/object.php:427 -msgid "events week of month" -msgstr "gertaeraren hilabeteko astea" - -#: lib/object.php:428 -msgid "first" -msgstr "lehenengoa" - -#: lib/object.php:429 -msgid "second" -msgstr "bigarrean" - -#: lib/object.php:430 -msgid "third" -msgstr "hirugarrena" - -#: lib/object.php:431 -msgid "fourth" -msgstr "laugarrena" - -#: lib/object.php:432 -msgid "fifth" -msgstr "bostgarrena" - -#: lib/object.php:433 -msgid "last" -msgstr "azkena" - -#: lib/object.php:467 templates/calendar.php:7 -msgid "January" -msgstr "Urtarrila" - -#: lib/object.php:468 templates/calendar.php:7 -msgid "February" -msgstr "Otsaila" - -#: lib/object.php:469 templates/calendar.php:7 -msgid "March" -msgstr "Martxoa" - -#: lib/object.php:470 templates/calendar.php:7 -msgid "April" -msgstr "Apirila" - -#: lib/object.php:471 templates/calendar.php:7 -msgid "May" -msgstr "Maiatza" - -#: lib/object.php:472 templates/calendar.php:7 -msgid "June" -msgstr "Ekaina" - -#: lib/object.php:473 templates/calendar.php:7 -msgid "July" -msgstr "Uztaila" - -#: lib/object.php:474 templates/calendar.php:7 -msgid "August" -msgstr "Abuztua" - -#: lib/object.php:475 templates/calendar.php:7 -msgid "September" -msgstr "Iraila" - -#: lib/object.php:476 templates/calendar.php:7 -msgid "October" -msgstr "Urria" - -#: lib/object.php:477 templates/calendar.php:7 -msgid "November" -msgstr "Azaroa" - -#: lib/object.php:478 templates/calendar.php:7 -msgid "December" -msgstr "Abendua" - -#: lib/object.php:488 -msgid "by events date" -msgstr "gertaeren dataren arabera" - -#: lib/object.php:489 -msgid "by yearday(s)" -msgstr "urteko egunaren arabera" - -#: lib/object.php:490 -msgid "by weeknumber(s)" -msgstr "aste zenbaki(ar)en arabera" - -#: lib/object.php:491 -msgid "by day and month" -msgstr "eguna eta hilabetearen arabera" - -#: lib/search.php:35 lib/search.php:37 lib/search.php:40 -msgid "Date" -msgstr "Data" - -#: lib/search.php:43 -msgid "Cal." -msgstr "Eg." - -#: templates/calendar.php:6 -msgid "Sun." -msgstr "ig." - -#: templates/calendar.php:6 -msgid "Mon." -msgstr "al." - -#: templates/calendar.php:6 -msgid "Tue." -msgstr "ar." - -#: templates/calendar.php:6 -msgid "Wed." -msgstr "az." - -#: templates/calendar.php:6 -msgid "Thu." -msgstr "og." - -#: templates/calendar.php:6 -msgid "Fri." -msgstr "ol." - -#: templates/calendar.php:6 -msgid "Sat." -msgstr "lr." - -#: templates/calendar.php:8 -msgid "Jan." -msgstr "urt." - -#: templates/calendar.php:8 -msgid "Feb." -msgstr "ots." - -#: templates/calendar.php:8 -msgid "Mar." -msgstr "mar." - -#: templates/calendar.php:8 -msgid "Apr." -msgstr "api." - -#: templates/calendar.php:8 -msgid "May." -msgstr "mai." - -#: templates/calendar.php:8 -msgid "Jun." -msgstr "eka." - -#: templates/calendar.php:8 -msgid "Jul." -msgstr "uzt." - -#: templates/calendar.php:8 -msgid "Aug." -msgstr "abu." - -#: templates/calendar.php:8 -msgid "Sep." -msgstr "ira." - -#: templates/calendar.php:8 -msgid "Oct." -msgstr "urr." - -#: templates/calendar.php:8 -msgid "Nov." -msgstr "aza." - -#: templates/calendar.php:8 -msgid "Dec." -msgstr "abe." - -#: templates/calendar.php:11 -msgid "All day" -msgstr "Egun guztia" - -#: templates/calendar.php:13 -msgid "Missing fields" -msgstr "Eremuak faltan" - -#: templates/calendar.php:14 templates/part.eventform.php:19 -#: templates/part.showevent.php:11 -msgid "Title" -msgstr "Izenburua" - -#: templates/calendar.php:16 -msgid "From Date" -msgstr "Hasierako Data" - -#: templates/calendar.php:17 -msgid "From Time" -msgstr "Hasierako Ordua" - -#: templates/calendar.php:18 -msgid "To Date" -msgstr "Bukaerako Data" - -#: templates/calendar.php:19 -msgid "To Time" -msgstr "Bukaerako Ordua" - -#: templates/calendar.php:20 -msgid "The event ends before it starts" -msgstr "Gertaera hasi baino lehen bukatzen da" - -#: templates/calendar.php:21 -msgid "There was a database fail" -msgstr "Datu-baseak huts egin du" - -#: templates/calendar.php:39 -msgid "Week" -msgstr "Astea" - -#: templates/calendar.php:40 -msgid "Month" -msgstr "Hilabetea" - -#: templates/calendar.php:41 -msgid "List" -msgstr "Zerrenda" - -#: templates/calendar.php:45 -msgid "Today" -msgstr "Gaur" - -#: templates/calendar.php:46 templates/calendar.php:47 -msgid "Settings" -msgstr "" - -#: templates/part.choosecalendar.php:2 -msgid "Your calendars" -msgstr "Zure egutegiak" - -#: templates/part.choosecalendar.php:27 -#: templates/part.choosecalendar.rowfields.php:11 -msgid "CalDav Link" -msgstr "CalDav lotura" - -#: templates/part.choosecalendar.php:31 -msgid "Shared calendars" -msgstr "Elkarbanatutako egutegiak" - -#: templates/part.choosecalendar.php:48 -msgid "No shared calendars" -msgstr "Ez dago elkarbanatutako egutegirik" - -#: templates/part.choosecalendar.rowfields.php:8 -msgid "Share Calendar" -msgstr "Elkarbanatu egutegia" - -#: templates/part.choosecalendar.rowfields.php:14 -msgid "Download" -msgstr "Deskargatu" - -#: templates/part.choosecalendar.rowfields.php:17 -msgid "Edit" -msgstr "Editatu" - -#: templates/part.choosecalendar.rowfields.php:20 -#: templates/part.editevent.php:9 -msgid "Delete" -msgstr "Ezabatu" - -#: templates/part.choosecalendar.rowfields.shared.php:4 -msgid "shared with you by" -msgstr "honek zurekin elkarbanatu du" - -#: templates/part.editcalendar.php:9 -msgid "New calendar" -msgstr "Egutegi berria" - -#: templates/part.editcalendar.php:9 -msgid "Edit calendar" -msgstr "Editatu egutegia" - -#: templates/part.editcalendar.php:12 -msgid "Displayname" -msgstr "Bistaratzeko izena" - -#: templates/part.editcalendar.php:23 -msgid "Active" -msgstr "Aktiboa" - -#: templates/part.editcalendar.php:29 -msgid "Calendar color" -msgstr "Egutegiaren kolorea" - -#: templates/part.editcalendar.php:42 -msgid "Save" -msgstr "Gorde" - -#: templates/part.editcalendar.php:42 templates/part.editevent.php:8 -#: templates/part.newevent.php:6 -msgid "Submit" -msgstr "Bidali" - -#: templates/part.editcalendar.php:43 -msgid "Cancel" -msgstr "Ezeztatu" - -#: templates/part.editevent.php:1 -msgid "Edit an event" -msgstr "Editatu gertaera" - -#: templates/part.editevent.php:10 -msgid "Export" -msgstr "Exportatu" - -#: templates/part.eventform.php:8 templates/part.showevent.php:3 -msgid "Eventinfo" -msgstr "Gertaeraren informazioa" - -#: templates/part.eventform.php:9 templates/part.showevent.php:4 -msgid "Repeating" -msgstr "Errepikapena" - -#: templates/part.eventform.php:10 templates/part.showevent.php:5 -msgid "Alarm" -msgstr "Alarma" - -#: templates/part.eventform.php:11 templates/part.showevent.php:6 -msgid "Attendees" -msgstr "Partaideak" - -#: templates/part.eventform.php:13 -msgid "Share" -msgstr "Elkarbanatu" - -#: templates/part.eventform.php:21 -msgid "Title of the Event" -msgstr "Gertaeraren izenburua" - -#: templates/part.eventform.php:27 templates/part.showevent.php:19 -msgid "Category" -msgstr "Kategoria" - -#: templates/part.eventform.php:29 -msgid "Separate categories with commas" -msgstr "Banatu kategoriak komekin" - -#: templates/part.eventform.php:30 -msgid "Edit categories" -msgstr "Editatu kategoriak" - -#: templates/part.eventform.php:56 templates/part.showevent.php:52 -msgid "All Day Event" -msgstr "Egun osoko gertaera" - -#: templates/part.eventform.php:60 templates/part.showevent.php:56 -msgid "From" -msgstr "Hasiera" - -#: templates/part.eventform.php:68 templates/part.showevent.php:64 -msgid "To" -msgstr "Bukaera" - -#: templates/part.eventform.php:76 templates/part.showevent.php:72 -msgid "Advanced options" -msgstr "Aukera aurreratuak" - -#: templates/part.eventform.php:81 templates/part.showevent.php:77 -msgid "Location" -msgstr "Kokalekua" - -#: templates/part.eventform.php:83 -msgid "Location of the Event" -msgstr "Gertaeraren kokalekua" - -#: templates/part.eventform.php:89 templates/part.showevent.php:85 -msgid "Description" -msgstr "Deskribapena" - -#: templates/part.eventform.php:91 -msgid "Description of the Event" -msgstr "Gertaeraren deskribapena" - -#: templates/part.eventform.php:100 templates/part.showevent.php:95 -msgid "Repeat" -msgstr "Errepikatu" - -#: templates/part.eventform.php:107 templates/part.showevent.php:102 -msgid "Advanced" -msgstr "Aurreratua" - -#: templates/part.eventform.php:151 templates/part.showevent.php:146 -msgid "Select weekdays" -msgstr "Hautatu asteko egunak" - -#: templates/part.eventform.php:164 templates/part.eventform.php:177 -#: templates/part.showevent.php:159 templates/part.showevent.php:172 -msgid "Select days" -msgstr "Hautatu egunak" - -#: templates/part.eventform.php:169 templates/part.showevent.php:164 -msgid "and the events day of year." -msgstr "eta gertaeraren urteko eguna." - -#: templates/part.eventform.php:182 templates/part.showevent.php:177 -msgid "and the events day of month." -msgstr "eta gertaeraren hilabeteko eguna." - -#: templates/part.eventform.php:190 templates/part.showevent.php:185 -msgid "Select months" -msgstr "Hautatu hilabeteak" - -#: templates/part.eventform.php:203 templates/part.showevent.php:198 -msgid "Select weeks" -msgstr "Hautatu asteak" - -#: templates/part.eventform.php:208 templates/part.showevent.php:203 -msgid "and the events week of year." -msgstr "eta gertaeraren urteko astea." - -#: templates/part.eventform.php:214 templates/part.showevent.php:209 -msgid "Interval" -msgstr "Tartea" - -#: templates/part.eventform.php:220 templates/part.showevent.php:215 -msgid "End" -msgstr "Amaiera" - -#: templates/part.eventform.php:233 templates/part.showevent.php:228 -msgid "occurrences" -msgstr "errepikapenak" - -#: templates/part.import.php:14 -msgid "create a new calendar" -msgstr "sortu egutegi berria" - -#: templates/part.import.php:17 -msgid "Import a calendar file" -msgstr "Inportatu egutegi fitxategi bat" - -#: templates/part.import.php:24 -msgid "Please choose a calendar" -msgstr "Mesedez aukeratu egutegi bat." - -#: templates/part.import.php:36 -msgid "Name of new calendar" -msgstr "Egutegi berriaren izena" - -#: templates/part.import.php:44 -msgid "Take an available name!" -msgstr "Hartu eskuragarri dagoen izen bat!" - -#: templates/part.import.php:45 -msgid "" -"A Calendar with this name already exists. If you continue anyhow, these " -"calendars will be merged." -msgstr "Izen hau duen egutegi bat dagoeneko existitzen da. Hala ere jarraitzen baduzu, egutegi hauek elkartuko dira." - -#: templates/part.import.php:47 -msgid "Import" -msgstr "Importatu" - -#: templates/part.import.php:56 -msgid "Close Dialog" -msgstr "Itxi lehioa" - -#: templates/part.newevent.php:1 -msgid "Create a new event" -msgstr "Sortu gertaera berria" - -#: templates/part.showevent.php:1 -msgid "View an event" -msgstr "Ikusi gertaera bat" - -#: templates/part.showevent.php:23 -msgid "No categories selected" -msgstr "Ez da kategoriarik hautatu" - -#: templates/part.showevent.php:37 -msgid "of" -msgstr "" - -#: templates/part.showevent.php:59 templates/part.showevent.php:67 -msgid "at" -msgstr "" - -#: templates/settings.php:10 -msgid "General" -msgstr "" - -#: templates/settings.php:15 -msgid "Timezone" -msgstr "Ordu-zonaldea" - -#: templates/settings.php:47 -msgid "Update timezone automatically" -msgstr "" - -#: templates/settings.php:52 -msgid "Time format" -msgstr "" - -#: templates/settings.php:57 -msgid "24h" -msgstr "24h" - -#: templates/settings.php:58 -msgid "12h" -msgstr "12h" - -#: templates/settings.php:64 -msgid "Start week on" -msgstr "" - -#: templates/settings.php:76 -msgid "Cache" -msgstr "Cache" - -#: templates/settings.php:80 -msgid "Clear cache for repeating events" -msgstr "Ezabatu gertaera errepikakorren cachea" - -#: templates/settings.php:85 -msgid "URLs" -msgstr "" - -#: templates/settings.php:87 -msgid "Calendar CalDAV syncing addresses" -msgstr "Egutegiaren CalDAV sinkronizazio helbideak" - -#: templates/settings.php:87 -msgid "more info" -msgstr "informazio gehiago" - -#: templates/settings.php:89 -msgid "Primary address (Kontact et al)" -msgstr "Helbide nagusia" - -#: templates/settings.php:91 -msgid "iOS/OS X" -msgstr "iOS/OS X" - -#: templates/settings.php:93 -msgid "Read only iCalendar link(s)" -msgstr "" - -#: templates/share.dropdown.php:20 -msgid "Users" -msgstr "Erabiltzaileak" - -#: templates/share.dropdown.php:21 -msgid "select users" -msgstr "hautatutako erabiltzaileak" - -#: templates/share.dropdown.php:36 templates/share.dropdown.php:62 -msgid "Editable" -msgstr "Editagarria" - -#: templates/share.dropdown.php:48 -msgid "Groups" -msgstr "Taldeak" - -#: templates/share.dropdown.php:49 -msgid "select groups" -msgstr "hautatutako taldeak" - -#: templates/share.dropdown.php:75 -msgid "make public" -msgstr "publikoa egin" diff --git a/l10n/eu/contacts.po b/l10n/eu/contacts.po deleted file mode 100644 index 3cb1eea28f00914c3f92c681adc7ef74e364cecb..0000000000000000000000000000000000000000 --- a/l10n/eu/contacts.po +++ /dev/null @@ -1,955 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# , 2012. -# Asier Urio Larrea , 2011. -# Piarres Beobide , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-24 02:02+0200\n" -"PO-Revision-Date: 2012-08-24 00:03+0000\n" -"Last-Translator: I Robot \n" -"Language-Team: Basque (http://www.transifex.com/projects/p/owncloud/language/eu/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: eu\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: ajax/addressbook/activate.php:24 ajax/addressbook/update.php:32 -msgid "Error (de)activating addressbook." -msgstr "Errore bat egon da helbide-liburua (des)gaitzen" - -#: ajax/addressbook/delete.php:31 ajax/addressbook/update.php:20 -#: ajax/contact/addproperty.php:42 ajax/contact/delete.php:32 -#: ajax/contact/saveproperty.php:39 -msgid "id is not set." -msgstr "IDa ez da ezarri." - -#: ajax/addressbook/update.php:24 -msgid "Cannot update addressbook with an empty name." -msgstr "Ezin da helbide liburua eguneratu izen huts batekin." - -#: ajax/addressbook/update.php:28 -msgid "Error updating addressbook." -msgstr "Errore bat egon da helbide liburua eguneratzen." - -#: ajax/categories/categoriesfor.php:17 -msgid "No ID provided" -msgstr "Ez da IDrik eman" - -#: ajax/categories/categoriesfor.php:34 -msgid "Error setting checksum." -msgstr "Errorea kontrol-batura ezartzean." - -#: ajax/categories/delete.php:19 -msgid "No categories selected for deletion." -msgstr "Ez dira ezabatzeko kategoriak hautatu." - -#: ajax/categories/delete.php:26 -msgid "No address books found." -msgstr "Ez da helbide libururik aurkitu." - -#: ajax/categories/delete.php:34 -msgid "No contacts found." -msgstr "Ez da kontakturik aurkitu." - -#: ajax/contact/add.php:47 -msgid "There was an error adding the contact." -msgstr "Errore bat egon da kontaktua gehitzerakoan" - -#: ajax/contact/addproperty.php:39 ajax/contact/saveproperty.php:36 -msgid "element name is not set." -msgstr "elementuaren izena ez da ezarri." - -#: ajax/contact/addproperty.php:46 -msgid "Could not parse contact: " -msgstr "Ezin izan da kontaktua analizatu:" - -#: ajax/contact/addproperty.php:56 -msgid "Cannot add empty property." -msgstr "Ezin da propieta hutsa gehitu." - -#: ajax/contact/addproperty.php:67 -msgid "At least one of the address fields has to be filled out." -msgstr "Behintzat helbide eremuetako bat bete behar da." - -#: ajax/contact/addproperty.php:76 -msgid "Trying to add duplicate property: " -msgstr "Propietate bikoiztuta gehitzen saiatzen ari zara:" - -#: ajax/contact/addproperty.php:115 ajax/contact/saveproperty.php:93 -msgid "Missing IM parameter." -msgstr "" - -#: ajax/contact/addproperty.php:119 ajax/contact/saveproperty.php:97 -msgid "Unknown IM: " -msgstr "" - -#: ajax/contact/deleteproperty.php:37 -msgid "Information about vCard is incorrect. Please reload the page." -msgstr "vCard-aren inguruko informazioa okerra da. Mesedez birkargatu orrialdea." - -#: ajax/contact/details.php:31 -msgid "Missing ID" -msgstr "ID falta da" - -#: ajax/contact/details.php:36 -msgid "Error parsing VCard for ID: \"" -msgstr "Errorea VCard analizatzean hurrengo IDrako: \"" - -#: ajax/contact/saveproperty.php:42 -msgid "checksum is not set." -msgstr "Kontrol-batura ezarri gabe dago." - -#: ajax/contact/saveproperty.php:62 -msgid "Information about vCard is incorrect. Please reload the page: " -msgstr "vCard honen informazioa ez da zuzena.Mezedez birkargatu orria:" - -#: ajax/contact/saveproperty.php:69 -msgid "Something went FUBAR. " -msgstr "" - -#: ajax/currentphoto.php:30 ajax/oc_photo.php:28 ajax/uploadphoto.php:36 -#: ajax/uploadphoto.php:68 -msgid "No contact ID was submitted." -msgstr "Ez da kontaktuaren IDrik eman." - -#: ajax/currentphoto.php:36 -msgid "Error reading contact photo." -msgstr "Errore bat izan da kontaktuaren argazkia igotzerakoan." - -#: ajax/currentphoto.php:48 -msgid "Error saving temporary file." -msgstr "Errore bat izan da aldi bateko fitxategia gordetzerakoan." - -#: ajax/currentphoto.php:51 -msgid "The loading photo is not valid." -msgstr "Kargatzen ari den argazkia ez da egokia." - -#: ajax/editname.php:31 -msgid "Contact ID is missing." -msgstr "Kontaktuaren IDa falta da." - -#: ajax/oc_photo.php:32 -msgid "No photo path was submitted." -msgstr "Ez da argazkiaren bide-izenik eman." - -#: ajax/oc_photo.php:39 -msgid "File doesn't exist:" -msgstr "Fitxategia ez da existitzen:" - -#: ajax/oc_photo.php:44 ajax/oc_photo.php:47 -msgid "Error loading image." -msgstr "Errore bat izan da irudia kargatzearkoan." - -#: ajax/savecrop.php:69 -msgid "Error getting contact object." -msgstr "Errore bat izan da kontaktu objetua lortzean." - -#: ajax/savecrop.php:79 -msgid "Error getting PHOTO property." -msgstr "Errore bat izan da PHOTO propietatea lortzean." - -#: ajax/savecrop.php:98 -msgid "Error saving contact." -msgstr "Errore bat izan da kontaktua gordetzean." - -#: ajax/savecrop.php:109 -msgid "Error resizing image" -msgstr "Errore bat izan da irudiaren tamaina aldatzean" - -#: ajax/savecrop.php:112 -msgid "Error cropping image" -msgstr "Errore bat izan da irudia mozten" - -#: ajax/savecrop.php:115 -msgid "Error creating temporary image" -msgstr "Errore bat izan da aldi bateko irudia sortzen" - -#: ajax/savecrop.php:118 -msgid "Error finding image: " -msgstr "Ezin izan da irudia aurkitu:" - -#: ajax/uploadimport.php:44 ajax/uploadimport.php:76 -msgid "Error uploading contacts to storage." -msgstr "Errore bat egon da kontaktuak biltegira igotzerakoan." - -#: ajax/uploadimport.php:61 ajax/uploadphoto.php:77 -msgid "There is no error, the file uploaded with success" -msgstr "Ez da errorerik egon, fitxategia ongi igo da" - -#: ajax/uploadimport.php:62 ajax/uploadphoto.php:78 -msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" -msgstr "Igotako fitxategia php.ini fitxategiko upload_max_filesize direktiba baino handiagoa da" - -#: ajax/uploadimport.php:63 ajax/uploadphoto.php:79 -msgid "" -"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " -"the HTML form" -msgstr "Igotako fitxategia HTML formularioan zehaztutako MAX_FILE_SIZE direktiba baino handidagoa da." - -#: ajax/uploadimport.php:64 ajax/uploadphoto.php:80 -msgid "The uploaded file was only partially uploaded" -msgstr "Igotako fitxategiaren zati bat bakarrik igo da" - -#: ajax/uploadimport.php:65 ajax/uploadphoto.php:81 -msgid "No file was uploaded" -msgstr "Ez da fitxategirik igo" - -#: ajax/uploadimport.php:66 ajax/uploadphoto.php:82 -msgid "Missing a temporary folder" -msgstr "Aldi bateko karpeta falta da" - -#: ajax/uploadphoto.php:59 ajax/uploadphoto.php:109 -msgid "Couldn't save temporary image: " -msgstr "Ezin izan da aldi bateko irudia gorde:" - -#: ajax/uploadphoto.php:62 ajax/uploadphoto.php:112 -msgid "Couldn't load temporary image: " -msgstr "Ezin izan da aldi bateko irudia kargatu:" - -#: ajax/uploadphoto.php:71 -msgid "No file was uploaded. Unknown error" -msgstr "Ez da fitxategirik igo. Errore ezezaguna" - -#: appinfo/app.php:21 -msgid "Contacts" -msgstr "Kontaktuak" - -#: js/contacts.js:71 -msgid "Sorry, this functionality has not been implemented yet" -msgstr "Barkatu, aukera hau ez da oriandik inplementatu" - -#: js/contacts.js:71 -msgid "Not implemented" -msgstr "Inplementatu gabe" - -#: js/contacts.js:76 -msgid "Couldn't get a valid address." -msgstr "Ezin izan da eposta baliagarri bat hartu." - -#: js/contacts.js:76 js/contacts.js:365 js/contacts.js:381 js/contacts.js:393 -#: js/contacts.js:723 js/contacts.js:763 js/contacts.js:789 js/contacts.js:921 -#: js/contacts.js:927 js/contacts.js:939 js/contacts.js:976 -#: js/contacts.js:1250 js/contacts.js:1258 js/contacts.js:1267 -#: js/contacts.js:1302 js/contacts.js:1338 js/contacts.js:1353 -#: js/contacts.js:1379 js/contacts.js:1609 js/contacts.js:1644 -#: js/contacts.js:1664 js/settings.js:26 js/settings.js:43 js/settings.js:68 -msgid "Error" -msgstr "Errorea" - -#: js/contacts.js:424 -msgid "You do not have permission to add contacts to " -msgstr "" - -#: js/contacts.js:425 -msgid "Please select one of your own address books." -msgstr "" - -#: js/contacts.js:425 -msgid "Permission error" -msgstr "" - -#: js/contacts.js:763 -msgid "This property has to be non-empty." -msgstr "Propietate hau ezin da hutsik egon." - -#: js/contacts.js:789 -msgid "Couldn't serialize elements." -msgstr "Ezin izan dira elementuak serializatu." - -#: js/contacts.js:921 js/contacts.js:939 -msgid "" -"'deleteProperty' called without type argument. Please report at " -"bugs.owncloud.org" -msgstr "'deleteProperty' argumenturik gabe deitu da. Mezedez abisatu bugs.owncloud.org-en" - -#: js/contacts.js:958 -msgid "Edit name" -msgstr "Editatu izena" - -#: js/contacts.js:1250 -msgid "No files selected for upload." -msgstr "Ez duzu igotzeko fitxategirik hautatu." - -#: js/contacts.js:1258 -msgid "" -"The file you are trying to upload exceed the maximum size for file uploads " -"on this server." -msgstr "Igo nahi duzun fitxategia zerbitzariak onartzen duen tamaina baino handiagoa da." - -#: js/contacts.js:1322 -msgid "Error loading profile picture." -msgstr "" - -#: js/contacts.js:1457 js/contacts.js:1498 js/contacts.js:1517 -#: js/contacts.js:1560 -msgid "Select type" -msgstr "Hautatu mota" - -#: js/contacts.js:1578 -msgid "" -"Some contacts are marked for deletion, but not deleted yet. Please wait for " -"them to be deleted." -msgstr "" - -#: js/contacts.js:1649 -msgid "Do you want to merge these address books?" -msgstr "" - -#: js/loader.js:49 -msgid "Result: " -msgstr "Emaitza:" - -#: js/loader.js:49 -msgid " imported, " -msgstr " inportatua, " - -#: js/loader.js:49 -msgid " failed." -msgstr "huts egin du." - -#: js/settings.js:68 -msgid "Displayname cannot be empty." -msgstr "" - -#: lib/app.php:36 -msgid "Addressbook not found: " -msgstr "" - -#: lib/app.php:52 -msgid "This is not your addressbook." -msgstr "Hau ez da zure helbide liburua." - -#: lib/app.php:71 -msgid "Contact could not be found." -msgstr "Ezin izan da kontaktua aurkitu." - -#: lib/app.php:116 -msgid "Jabber" -msgstr "" - -#: lib/app.php:121 -msgid "AIM" -msgstr "" - -#: lib/app.php:126 -msgid "MSN" -msgstr "" - -#: lib/app.php:131 -msgid "Twitter" -msgstr "" - -#: lib/app.php:136 -msgid "GoogleTalk" -msgstr "" - -#: lib/app.php:141 -msgid "Facebook" -msgstr "" - -#: lib/app.php:146 -msgid "XMPP" -msgstr "" - -#: lib/app.php:151 -msgid "ICQ" -msgstr "" - -#: lib/app.php:156 -msgid "Yahoo" -msgstr "" - -#: lib/app.php:161 -msgid "Skype" -msgstr "" - -#: lib/app.php:166 -msgid "QQ" -msgstr "" - -#: lib/app.php:171 -msgid "GaduGadu" -msgstr "" - -#: lib/app.php:194 lib/app.php:202 lib/app.php:213 lib/app.php:266 -msgid "Work" -msgstr "Lana" - -#: lib/app.php:195 lib/app.php:200 lib/app.php:214 -msgid "Home" -msgstr "Etxea" - -#: lib/app.php:196 lib/app.php:209 lib/app.php:262 lib/vcard.php:593 -msgid "Other" -msgstr "Bestelakoa" - -#: lib/app.php:201 -msgid "Mobile" -msgstr "Mugikorra" - -#: lib/app.php:203 -msgid "Text" -msgstr "Testua" - -#: lib/app.php:204 -msgid "Voice" -msgstr "Ahotsa" - -#: lib/app.php:205 -msgid "Message" -msgstr "Mezua" - -#: lib/app.php:206 -msgid "Fax" -msgstr "Fax-a" - -#: lib/app.php:207 -msgid "Video" -msgstr "Bideoa" - -#: lib/app.php:208 -msgid "Pager" -msgstr "Bilagailua" - -#: lib/app.php:215 -msgid "Internet" -msgstr "Internet" - -#: lib/app.php:252 templates/part.contact.php:45 -#: templates/part.contact.php:128 -msgid "Birthday" -msgstr "Jaioteguna" - -#: lib/app.php:253 -msgid "Business" -msgstr "" - -#: lib/app.php:254 -msgid "Call" -msgstr "Deia" - -#: lib/app.php:255 -msgid "Clients" -msgstr "Bezeroak" - -#: lib/app.php:256 -msgid "Deliverer" -msgstr "" - -#: lib/app.php:257 -msgid "Holidays" -msgstr "Oporrak" - -#: lib/app.php:258 -msgid "Ideas" -msgstr "Ideiak" - -#: lib/app.php:259 -msgid "Journey" -msgstr "Bidaia" - -#: lib/app.php:260 -msgid "Jubilee" -msgstr "" - -#: lib/app.php:261 -msgid "Meeting" -msgstr "Bilera" - -#: lib/app.php:263 -msgid "Personal" -msgstr "Pertsonala" - -#: lib/app.php:264 -msgid "Projects" -msgstr "Proiektuak" - -#: lib/app.php:265 -msgid "Questions" -msgstr "Galderak" - -#: lib/hooks.php:102 -msgid "{name}'s Birthday" -msgstr "{name}ren jaioteguna" - -#: lib/search.php:15 -msgid "Contact" -msgstr "Kontaktua" - -#: lib/vcard.php:408 -msgid "You do not have the permissions to edit this contact." -msgstr "" - -#: lib/vcard.php:483 -msgid "You do not have the permissions to delete this contact." -msgstr "" - -#: templates/index.php:14 -msgid "Add Contact" -msgstr "Gehitu kontaktua" - -#: templates/index.php:15 templates/index.php:16 templates/part.import.php:17 -msgid "Import" -msgstr "Inportatu" - -#: templates/index.php:18 -msgid "Settings" -msgstr "Ezarpenak" - -#: templates/index.php:18 templates/settings.php:9 -msgid "Addressbooks" -msgstr "Helbide Liburuak" - -#: templates/index.php:36 templates/part.import.php:24 -msgid "Close" -msgstr "Itxi" - -#: templates/index.php:37 -msgid "Keyboard shortcuts" -msgstr "Teklatuaren lasterbideak" - -#: templates/index.php:39 -msgid "Navigation" -msgstr "Nabigazioa" - -#: templates/index.php:42 -msgid "Next contact in list" -msgstr "Hurrengoa kontaktua zerrendan" - -#: templates/index.php:44 -msgid "Previous contact in list" -msgstr "Aurreko kontaktua zerrendan" - -#: templates/index.php:46 -msgid "Expand/collapse current addressbook" -msgstr "Zabaldu/tolestu uneko helbide-liburua" - -#: templates/index.php:48 -msgid "Next addressbook" -msgstr "" - -#: templates/index.php:50 -msgid "Previous addressbook" -msgstr "" - -#: templates/index.php:54 -msgid "Actions" -msgstr "Ekintzak" - -#: templates/index.php:57 -msgid "Refresh contacts list" -msgstr "Gaurkotu kontaktuen zerrenda" - -#: templates/index.php:59 -msgid "Add new contact" -msgstr "Gehitu kontaktu berria" - -#: templates/index.php:61 -msgid "Add new addressbook" -msgstr "Gehitu helbide-liburu berria" - -#: templates/index.php:63 -msgid "Delete current contact" -msgstr "Ezabatu uneko kontaktuak" - -#: templates/part.contact.php:17 -msgid "Drop photo to upload" -msgstr "Askatu argazkia igotzeko" - -#: templates/part.contact.php:19 -msgid "Delete current photo" -msgstr "Ezabatu oraingo argazkia" - -#: templates/part.contact.php:20 -msgid "Edit current photo" -msgstr "Editatu oraingo argazkia" - -#: templates/part.contact.php:21 -msgid "Upload new photo" -msgstr "Igo argazki berria" - -#: templates/part.contact.php:22 -msgid "Select photo from ownCloud" -msgstr "Hautatu argazki bat ownCloudetik" - -#: templates/part.contact.php:35 -msgid "Format custom, Short name, Full name, Reverse or Reverse with comma" -msgstr "" - -#: templates/part.contact.php:36 -msgid "Edit name details" -msgstr "Editatu izenaren zehaztasunak" - -#: templates/part.contact.php:39 templates/part.contact.php:40 -#: templates/part.contact.php:126 -msgid "Organization" -msgstr "Erakundea" - -#: templates/part.contact.php:40 templates/part.contact.php:42 -#: templates/part.contact.php:44 templates/part.contact.php:46 -#: templates/part.contact.php:50 templates/settings.php:36 -msgid "Delete" -msgstr "Ezabatu" - -#: templates/part.contact.php:41 templates/part.contact.php:127 -msgid "Nickname" -msgstr "Ezizena" - -#: templates/part.contact.php:42 -msgid "Enter nickname" -msgstr "Sartu ezizena" - -#: templates/part.contact.php:43 templates/part.contact.php:134 -msgid "Web site" -msgstr "Web orria" - -#: templates/part.contact.php:44 -msgid "http://www.somesite.com" -msgstr "http://www.webgunea.com" - -#: templates/part.contact.php:44 -msgid "Go to web site" -msgstr "Web orrira joan" - -#: templates/part.contact.php:46 -msgid "dd-mm-yyyy" -msgstr "yyyy-mm-dd" - -#: templates/part.contact.php:47 templates/part.contact.php:135 -msgid "Groups" -msgstr "Taldeak" - -#: templates/part.contact.php:49 -msgid "Separate groups with commas" -msgstr "Banatu taldeak komekin" - -#: templates/part.contact.php:50 -msgid "Edit groups" -msgstr "Editatu taldeak" - -#: templates/part.contact.php:59 templates/part.contact.php:73 -#: templates/part.contact.php:98 -msgid "Preferred" -msgstr "Hobetsia" - -#: templates/part.contact.php:60 -msgid "Please specify a valid email address." -msgstr "Mesedez sartu eposta helbide egoki bat" - -#: templates/part.contact.php:60 -msgid "Enter email address" -msgstr "Sartu eposta helbidea" - -#: templates/part.contact.php:64 -msgid "Mail to address" -msgstr "Bidali helbidera" - -#: templates/part.contact.php:65 -msgid "Delete email address" -msgstr "Ezabatu eposta helbidea" - -#: templates/part.contact.php:75 -msgid "Enter phone number" -msgstr "Sartu telefono zenbakia" - -#: templates/part.contact.php:79 -msgid "Delete phone number" -msgstr "Ezabatu telefono zenbakia" - -#: templates/part.contact.php:100 -msgid "Instant Messenger" -msgstr "" - -#: templates/part.contact.php:101 -msgid "Delete IM" -msgstr "" - -#: templates/part.contact.php:110 -msgid "View on map" -msgstr "Ikusi mapan" - -#: templates/part.contact.php:110 -msgid "Edit address details" -msgstr "Editatu helbidearen zehaztasunak" - -#: templates/part.contact.php:116 -msgid "Add notes here." -msgstr "Gehitu oharrak hemen." - -#: templates/part.contact.php:124 -msgid "Add field" -msgstr "Gehitu eremua" - -#: templates/part.contact.php:129 -msgid "Phone" -msgstr "Telefonoa" - -#: templates/part.contact.php:130 -msgid "Email" -msgstr "Eposta" - -#: templates/part.contact.php:131 -msgid "Instant Messaging" -msgstr "" - -#: templates/part.contact.php:132 -msgid "Address" -msgstr "Helbidea" - -#: templates/part.contact.php:133 -msgid "Note" -msgstr "Oharra" - -#: templates/part.contact.php:138 -msgid "Download contact" -msgstr "Deskargatu kontaktua" - -#: templates/part.contact.php:139 -msgid "Delete contact" -msgstr "Ezabatu kontaktua" - -#: templates/part.cropphoto.php:65 -msgid "The temporary image has been removed from cache." -msgstr "Aldi bateko irudia cachetik ezabatu da." - -#: templates/part.edit_address_dialog.php:6 -msgid "Edit address" -msgstr "Editatu helbidea" - -#: templates/part.edit_address_dialog.php:10 -msgid "Type" -msgstr "Mota" - -#: templates/part.edit_address_dialog.php:18 -#: templates/part.edit_address_dialog.php:21 -msgid "PO Box" -msgstr "Posta kutxa" - -#: templates/part.edit_address_dialog.php:24 -msgid "Street address" -msgstr "Kalearen helbidea" - -#: templates/part.edit_address_dialog.php:27 -msgid "Street and number" -msgstr "Kalea eta zenbakia" - -#: templates/part.edit_address_dialog.php:30 -msgid "Extended" -msgstr "Hedatua" - -#: templates/part.edit_address_dialog.php:33 -msgid "Apartment number etc." -msgstr "Etxe zenbakia eab." - -#: templates/part.edit_address_dialog.php:36 -#: templates/part.edit_address_dialog.php:39 -msgid "City" -msgstr "Hiria" - -#: templates/part.edit_address_dialog.php:42 -msgid "Region" -msgstr "Eskualdea" - -#: templates/part.edit_address_dialog.php:45 -msgid "E.g. state or province" -msgstr "" - -#: templates/part.edit_address_dialog.php:48 -msgid "Zipcode" -msgstr "Posta kodea" - -#: templates/part.edit_address_dialog.php:51 -msgid "Postal code" -msgstr "Posta kodea" - -#: templates/part.edit_address_dialog.php:54 -#: templates/part.edit_address_dialog.php:57 -msgid "Country" -msgstr "Herrialdea" - -#: templates/part.edit_name_dialog.php:16 -msgid "Addressbook" -msgstr "Helbide-liburua" - -#: templates/part.edit_name_dialog.php:23 -msgid "Hon. prefixes" -msgstr "" - -#: templates/part.edit_name_dialog.php:27 -msgid "Miss" -msgstr "" - -#: templates/part.edit_name_dialog.php:28 -msgid "Ms" -msgstr "" - -#: templates/part.edit_name_dialog.php:29 -msgid "Mr" -msgstr "" - -#: templates/part.edit_name_dialog.php:30 -msgid "Sir" -msgstr "" - -#: templates/part.edit_name_dialog.php:31 -msgid "Mrs" -msgstr "" - -#: templates/part.edit_name_dialog.php:32 -msgid "Dr" -msgstr "" - -#: templates/part.edit_name_dialog.php:35 -msgid "Given name" -msgstr "" - -#: templates/part.edit_name_dialog.php:37 -msgid "Additional names" -msgstr "" - -#: templates/part.edit_name_dialog.php:39 -msgid "Family name" -msgstr "" - -#: templates/part.edit_name_dialog.php:41 -msgid "Hon. suffixes" -msgstr "" - -#: templates/part.edit_name_dialog.php:45 -msgid "J.D." -msgstr "" - -#: templates/part.edit_name_dialog.php:46 -msgid "M.D." -msgstr "" - -#: templates/part.edit_name_dialog.php:47 -msgid "D.O." -msgstr "" - -#: templates/part.edit_name_dialog.php:48 -msgid "D.C." -msgstr "" - -#: templates/part.edit_name_dialog.php:49 -msgid "Ph.D." -msgstr "" - -#: templates/part.edit_name_dialog.php:50 -msgid "Esq." -msgstr "" - -#: templates/part.edit_name_dialog.php:51 -msgid "Jr." -msgstr "" - -#: templates/part.edit_name_dialog.php:52 -msgid "Sn." -msgstr "" - -#: templates/part.import.php:1 -msgid "Import a contacts file" -msgstr "Inporatu kontaktuen fitxategia" - -#: templates/part.import.php:6 -msgid "Please choose the addressbook" -msgstr "Mesedez, aukeratu helbide liburua" - -#: templates/part.import.php:10 -msgid "create a new addressbook" -msgstr "sortu helbide liburu berria" - -#: templates/part.import.php:15 -msgid "Name of new addressbook" -msgstr "Helbide liburuaren izena" - -#: templates/part.import.php:20 -msgid "Importing contacts" -msgstr "Kontaktuak inportatzen" - -#: templates/part.no_contacts.php:3 -msgid "You have no contacts in your addressbook." -msgstr "Ez duzu kontakturik zure helbide liburuan." - -#: templates/part.no_contacts.php:5 -msgid "Add contact" -msgstr "Gehitu kontaktua" - -#: templates/part.selectaddressbook.php:1 -msgid "Select Address Books" -msgstr "Hautatu helbide-liburuak" - -#: templates/part.selectaddressbook.php:27 -msgid "Enter name" -msgstr "Sartu izena" - -#: templates/part.selectaddressbook.php:29 -msgid "Enter description" -msgstr "Sartu deskribapena" - -#: templates/settings.php:3 -msgid "CardDAV syncing addresses" -msgstr "CardDAV sinkronizazio helbideak" - -#: templates/settings.php:3 -msgid "more info" -msgstr "informazio gehiago" - -#: templates/settings.php:5 -msgid "Primary address (Kontact et al)" -msgstr "Helbide nagusia" - -#: templates/settings.php:7 -msgid "iOS/OS X" -msgstr "iOS/OS X" - -#: templates/settings.php:20 -msgid "Show CardDav link" -msgstr "" - -#: templates/settings.php:23 -msgid "Show read-only VCF link" -msgstr "" - -#: templates/settings.php:26 -msgid "Share" -msgstr "" - -#: templates/settings.php:29 -msgid "Download" -msgstr "Deskargatu" - -#: templates/settings.php:33 -msgid "Edit" -msgstr "Editatu" - -#: templates/settings.php:43 -msgid "New Address Book" -msgstr "Helbide-liburu berria" - -#: templates/settings.php:44 -msgid "Name" -msgstr "" - -#: templates/settings.php:45 -msgid "Description" -msgstr "" - -#: templates/settings.php:46 -msgid "Save" -msgstr "Gorde" - -#: templates/settings.php:47 -msgid "Cancel" -msgstr "Ezeztatu" - -#: templates/settings.php:52 -msgid "More..." -msgstr "" diff --git a/l10n/eu/core.po b/l10n/eu/core.po index c72e8ac4949afde8c70bea51c5eb53a9d6536209..0aa8ffd8d17ff4694bf1ff40e324c5e2016204b3 100644 --- a/l10n/eu/core.po +++ b/l10n/eu/core.po @@ -9,9 +9,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-16 02:04+0200\n" -"PO-Revision-Date: 2012-10-16 00:05+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-11-27 00:10+0100\n" +"PO-Revision-Date: 2012-11-25 23:09+0000\n" +"Last-Translator: asieriko \n" "Language-Team: Basque (http://www.transifex.com/projects/p/owncloud/language/eu/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -19,209 +19,241 @@ msgstr "" "Language: eu\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: ajax/vcategories/add.php:23 ajax/vcategories/delete.php:23 -msgid "Application name not provided." -msgstr "Aplikazioaren izena falta da" +#: ajax/vcategories/add.php:26 ajax/vcategories/edit.php:25 +msgid "Category type not provided." +msgstr "Kategoria mota ez da zehaztu." -#: ajax/vcategories/add.php:29 +#: ajax/vcategories/add.php:30 msgid "No category to add?" msgstr "Ez dago gehitzeko kategoriarik?" -#: ajax/vcategories/add.php:36 +#: ajax/vcategories/add.php:37 msgid "This category already exists: " msgstr "Kategoria hau dagoeneko existitzen da:" -#: js/js.js:238 templates/layout.user.php:49 templates/layout.user.php:50 +#: ajax/vcategories/addToFavorites.php:26 ajax/vcategories/delete.php:27 +#: ajax/vcategories/favorites.php:24 +#: ajax/vcategories/removeFromFavorites.php:26 +msgid "Object type not provided." +msgstr "Objetu mota ez da zehaztu." + +#: ajax/vcategories/addToFavorites.php:30 +#: ajax/vcategories/removeFromFavorites.php:30 +#, php-format +msgid "%s ID not provided." +msgstr "%s ID mota ez da zehaztu." + +#: ajax/vcategories/addToFavorites.php:35 +#, php-format +msgid "Error adding %s to favorites." +msgstr "Errorea gertatu da %s gogokoetara gehitzean." + +#: ajax/vcategories/delete.php:35 js/oc-vcategories.js:136 +msgid "No categories selected for deletion." +msgstr "Ez da ezabatzeko kategoriarik hautatu." + +#: ajax/vcategories/removeFromFavorites.php:35 +#, php-format +msgid "Error removing %s from favorites." +msgstr "Errorea gertatu da %s gogokoetatik ezabatzean." + +#: js/js.js:259 templates/layout.user.php:60 templates/layout.user.php:61 msgid "Settings" msgstr "Ezarpenak" -#: js/js.js:670 -msgid "January" -msgstr "Urtarrila" +#: js/js.js:704 +msgid "seconds ago" +msgstr "segundu" -#: js/js.js:670 -msgid "February" -msgstr "Otsaila" +#: js/js.js:705 +msgid "1 minute ago" +msgstr "orain dela minutu 1" -#: js/js.js:670 -msgid "March" -msgstr "Martxoa" +#: js/js.js:706 +msgid "{minutes} minutes ago" +msgstr "orain dela {minutes} minutu" -#: js/js.js:670 -msgid "April" -msgstr "Apirila" +#: js/js.js:707 +msgid "1 hour ago" +msgstr "orain dela ordu bat" -#: js/js.js:670 -msgid "May" -msgstr "Maiatza" +#: js/js.js:708 +msgid "{hours} hours ago" +msgstr "orain dela {hours} ordu" -#: js/js.js:670 -msgid "June" -msgstr "Ekaina" +#: js/js.js:709 +msgid "today" +msgstr "gaur" -#: js/js.js:671 -msgid "July" -msgstr "Uztaila" +#: js/js.js:710 +msgid "yesterday" +msgstr "atzo" -#: js/js.js:671 -msgid "August" -msgstr "Abuztua" +#: js/js.js:711 +msgid "{days} days ago" +msgstr "orain dela {days} egun" -#: js/js.js:671 -msgid "September" -msgstr "Iraila" +#: js/js.js:712 +msgid "last month" +msgstr "joan den hilabetean" -#: js/js.js:671 -msgid "October" -msgstr "Urria" +#: js/js.js:713 +msgid "{months} months ago" +msgstr "orain dela {months} hilabete" -#: js/js.js:671 -msgid "November" -msgstr "Azaroa" +#: js/js.js:714 +msgid "months ago" +msgstr "hilabete" -#: js/js.js:671 -msgid "December" -msgstr "Abendua" +#: js/js.js:715 +msgid "last year" +msgstr "joan den urtean" -#: js/oc-dialogs.js:123 +#: js/js.js:716 +msgid "years ago" +msgstr "urte" + +#: js/oc-dialogs.js:126 msgid "Choose" msgstr "Aukeratu" -#: js/oc-dialogs.js:143 js/oc-dialogs.js:163 +#: js/oc-dialogs.js:146 js/oc-dialogs.js:166 msgid "Cancel" msgstr "Ezeztatu" -#: js/oc-dialogs.js:159 +#: js/oc-dialogs.js:162 msgid "No" msgstr "Ez" -#: js/oc-dialogs.js:160 +#: js/oc-dialogs.js:163 msgid "Yes" msgstr "Bai" -#: js/oc-dialogs.js:177 +#: js/oc-dialogs.js:180 msgid "Ok" msgstr "Ados" -#: js/oc-vcategories.js:68 -msgid "No categories selected for deletion." -msgstr "Ez da ezabatzeko kategoriarik hautatu." +#: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102 +#: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162 +msgid "The object type is not specified." +msgstr "Objetu mota ez dago zehaztuta." -#: js/oc-vcategories.js:68 js/share.js:114 js/share.js:121 js/share.js:497 -#: js/share.js:509 +#: js/oc-vcategories.js:95 js/oc-vcategories.js:125 js/oc-vcategories.js:136 +#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:533 +#: js/share.js:545 msgid "Error" msgstr "Errorea" -#: js/share.js:103 +#: js/oc-vcategories.js:179 +msgid "The app name is not specified." +msgstr "App izena ez dago zehaztuta." + +#: js/oc-vcategories.js:194 +msgid "The required file {file} is not installed!" +msgstr "Beharrezkoa den {file} fitxategia ez dago instalatuta!" + +#: js/share.js:124 msgid "Error while sharing" msgstr "Errore bat egon da elkarbanatzean" -#: js/share.js:114 +#: js/share.js:135 msgid "Error while unsharing" msgstr "Errore bat egon da elkarbanaketa desegitean" -#: js/share.js:121 +#: js/share.js:142 msgid "Error while changing permissions" msgstr "Errore bat egon da baimenak aldatzean" -#: js/share.js:130 -msgid "Shared with you and the group" -msgstr "Zurekin eta taldearekin elkarbanatuta" +#: js/share.js:151 +msgid "Shared with you and the group {group} by {owner}" +msgstr "{owner}-k zu eta {group} taldearekin partekatuta" -#: js/share.js:130 -msgid "by" -msgstr "" - -#: js/share.js:132 -msgid "Shared with you by" -msgstr "Honek zurekin elkarbanatuta:" +#: js/share.js:153 +msgid "Shared with you by {owner}" +msgstr "{owner}-k zurekin partekatuta" -#: js/share.js:137 +#: js/share.js:158 msgid "Share with" msgstr "Elkarbanatu honekin" -#: js/share.js:142 +#: js/share.js:163 msgid "Share with link" msgstr "Elkarbanatu lotura batekin" -#: js/share.js:143 +#: js/share.js:164 msgid "Password protect" msgstr "Babestu pasahitzarekin" -#: js/share.js:147 templates/installation.php:42 templates/login.php:24 +#: js/share.js:168 templates/installation.php:42 templates/login.php:24 #: templates/verify.php:13 msgid "Password" msgstr "Pasahitza" -#: js/share.js:152 +#: js/share.js:173 msgid "Set expiration date" msgstr "Ezarri muga data" -#: js/share.js:153 +#: js/share.js:174 msgid "Expiration date" msgstr "Muga data" -#: js/share.js:185 +#: js/share.js:206 msgid "Share via email:" msgstr "Elkarbanatu eposta bidez:" -#: js/share.js:187 +#: js/share.js:208 msgid "No people found" msgstr "Ez da inor aurkitu" -#: js/share.js:214 +#: js/share.js:235 msgid "Resharing is not allowed" msgstr "Berriz elkarbanatzea ez dago baimendua" -#: js/share.js:250 -msgid "Shared in" -msgstr "Elkarbanatua hemen:" - -#: js/share.js:250 -msgid "with" -msgstr "honekin" - #: js/share.js:271 +msgid "Shared in {item} with {user}" +msgstr "{user}ekin {item}-n partekatuta" + +#: js/share.js:292 msgid "Unshare" msgstr "Ez elkarbanatu" -#: js/share.js:283 +#: js/share.js:304 msgid "can edit" msgstr "editatu dezake" -#: js/share.js:285 +#: js/share.js:306 msgid "access control" msgstr "sarrera kontrola" -#: js/share.js:288 +#: js/share.js:309 msgid "create" msgstr "sortu" -#: js/share.js:291 +#: js/share.js:312 msgid "update" msgstr "eguneratu" -#: js/share.js:294 +#: js/share.js:315 msgid "delete" msgstr "ezabatu" -#: js/share.js:297 +#: js/share.js:318 msgid "share" msgstr "elkarbanatu" -#: js/share.js:322 js/share.js:484 +#: js/share.js:349 js/share.js:520 js/share.js:522 msgid "Password protected" msgstr "Pasahitzarekin babestuta" -#: js/share.js:497 +#: js/share.js:533 msgid "Error unsetting expiration date" msgstr "Errorea izan da muga data kentzean" -#: js/share.js:509 +#: js/share.js:545 msgid "Error setting expiration date" msgstr "Errore bat egon da muga data ezartzean" -#: lostpassword/index.php:26 +#: lostpassword/controller.php:47 msgid "ownCloud password reset" msgstr "ownCloud-en pasahitza berrezarri" @@ -234,12 +266,12 @@ msgid "You will receive a link to reset your password via Email." msgstr "Zure pashitza berrezartzeko lotura bat jasoko duzu Epostaren bidez." #: lostpassword/templates/lostpassword.php:5 -msgid "Requested" -msgstr "Eskatuta" +msgid "Reset email send." +msgstr "Berrezartzeko eposta bidali da." #: lostpassword/templates/lostpassword.php:8 -msgid "Login failed!" -msgstr "Saio hasierak huts egin du!" +msgid "Request failed!" +msgstr "Eskariak huts egin du!" #: lostpassword/templates/lostpassword.php:11 templates/installation.php:38 #: templates/login.php:20 @@ -298,25 +330,25 @@ msgstr "Ez da hodeia aurkitu" msgid "Edit categories" msgstr "Editatu kategoriak" -#: templates/edit_categories_dialog.php:14 +#: templates/edit_categories_dialog.php:16 msgid "Add" msgstr "Gehitu" #: templates/installation.php:23 templates/installation.php:31 msgid "Security Warning" -msgstr "" +msgstr "Segurtasun abisua" #: templates/installation.php:24 msgid "" "No secure random number generator is available, please enable the PHP " "OpenSSL extension." -msgstr "" +msgstr "Ez dago hausazko zenbaki sortzaile segururik eskuragarri, mesedez gatiu PHP OpenSSL extensioa." #: templates/installation.php:26 msgid "" "Without a secure random number generator an attacker may be able to predict " "password reset tokens and take over your account." -msgstr "" +msgstr "Hausazko zenbaki sortzaile segururik gabe erasotzaile batek pasahitza berrezartzeko kodeak iragarri ditzake eta zure kontuaz jabetu." #: templates/installation.php:32 msgid "" @@ -325,7 +357,7 @@ msgid "" "strongly suggest that you configure your webserver in a way that the data " "directory is no longer accessible or you move the data directory outside the" " webserver document root." -msgstr "" +msgstr "Zure data karpeta eta zure fitxategiak internetetik zuzenean eskuragarri egon daitezke. ownCloudek emandako .htaccess fitxategia ez du bere lana egiten. Aholkatzen dizugu zure web zerbitzaria ongi konfiguratzea data karpeta eskuragarri ez izateko edo data karpeta web zerbitzariaren dokumentu errotik mugitzea." #: templates/installation.php:36 msgid "Create an admin account" @@ -372,27 +404,103 @@ msgstr "Datubasearen hostalaria" msgid "Finish setup" msgstr "Bukatu konfigurazioa" -#: templates/layout.guest.php:38 +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Sunday" +msgstr "Igandea" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Monday" +msgstr "Astelehena" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Tuesday" +msgstr "Asteartea" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Wednesday" +msgstr "Asteazkena" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Thursday" +msgstr "Osteguna" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Friday" +msgstr "Ostirala" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Saturday" +msgstr "Larunbata" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "January" +msgstr "Urtarrila" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "February" +msgstr "Otsaila" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "March" +msgstr "Martxoa" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "April" +msgstr "Apirila" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "May" +msgstr "Maiatza" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "June" +msgstr "Ekaina" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "July" +msgstr "Uztaila" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "August" +msgstr "Abuztua" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "September" +msgstr "Iraila" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "October" +msgstr "Urria" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "November" +msgstr "Azaroa" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "December" +msgstr "Abendua" + +#: templates/layout.guest.php:42 msgid "web services under your control" msgstr "web zerbitzuak zure kontrolpean" -#: templates/layout.user.php:34 +#: templates/layout.user.php:45 msgid "Log out" msgstr "Saioa bukatu" #: templates/login.php:8 msgid "Automatic logon rejected!" -msgstr "" +msgstr "Saio hasiera automatikoa ez onartuta!" #: templates/login.php:9 msgid "" "If you did not change your password recently, your account may be " "compromised!" -msgstr "" +msgstr "Zure pasahitza orain dela gutxi ez baduzu aldatu, zure kontua arriskuan egon daiteke!" #: templates/login.php:10 msgid "Please change your password to secure your account again." -msgstr "" +msgstr "Mesedez aldatu zure pasahitza zure kontua berriz segurtatzeko." #: templates/login.php:15 msgid "Lost your password?" @@ -420,14 +528,14 @@ msgstr "hurrengoa" #: templates/verify.php:5 msgid "Security Warning!" -msgstr "" +msgstr "Segurtasun abisua" #: templates/verify.php:6 msgid "" "Please verify your password.
For security reasons you may be " "occasionally asked to enter your password again." -msgstr "" +msgstr "Mesedez egiaztatu zure pasahitza.
Segurtasun arrazoiengatik noizbehinka zure pasahitza berriz sartzea eska diezazukegu." #: templates/verify.php:16 msgid "Verify" -msgstr "" +msgstr "Egiaztatu" diff --git a/l10n/eu/files.po b/l10n/eu/files.po index 47d4c288f1a34cfb69e59b00d0f6334c5912ca47..31ff303707b0bce18dd4c4422d56362d2d047a4f 100644 --- a/l10n/eu/files.po +++ b/l10n/eu/files.po @@ -9,9 +9,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-04 02:04+0200\n" -"PO-Revision-Date: 2012-10-03 07:58+0000\n" -"Last-Translator: asieriko \n" +"POT-Creation-Date: 2012-12-01 00:01+0100\n" +"PO-Revision-Date: 2012-11-30 23:02+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Basque (http://www.transifex.com/projects/p/owncloud/language/eu/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -24,195 +24,166 @@ msgid "There is no error, the file uploaded with success" msgstr "Ez da arazorik izan, fitxategia ongi igo da" #: ajax/upload.php:21 -msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" -msgstr "Igotako fitxategiaren tamaina php.ini-ko upload_max_filesize direktiban adierazitakoa baino handiagoa da" +msgid "" +"The uploaded file exceeds the upload_max_filesize directive in php.ini: " +msgstr "" -#: ajax/upload.php:22 +#: ajax/upload.php:23 msgid "" "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " "the HTML form" msgstr "Igotako fitxategiaren tamaina HTML inprimakiko MAX_FILESIZE direktiban adierazitakoa baino handiagoa da" -#: ajax/upload.php:23 +#: ajax/upload.php:25 msgid "The uploaded file was only partially uploaded" msgstr "Igotako fitxategiaren zati bat baino gehiago ez da igo" -#: ajax/upload.php:24 +#: ajax/upload.php:26 msgid "No file was uploaded" msgstr "Ez da fitxategirik igo" -#: ajax/upload.php:25 +#: ajax/upload.php:27 msgid "Missing a temporary folder" msgstr "Aldi baterako karpeta falta da" -#: ajax/upload.php:26 +#: ajax/upload.php:28 msgid "Failed to write to disk" msgstr "Errore bat izan da diskoan idazterakoan" -#: appinfo/app.php:6 +#: appinfo/app.php:10 msgid "Files" msgstr "Fitxategiak" -#: js/fileactions.js:108 templates/index.php:62 +#: js/fileactions.js:117 templates/index.php:83 templates/index.php:84 msgid "Unshare" -msgstr "Ez partekatu" +msgstr "Ez elkarbanatu" -#: js/fileactions.js:110 templates/index.php:64 +#: js/fileactions.js:119 templates/index.php:89 templates/index.php:90 msgid "Delete" msgstr "Ezabatu" -#: js/fileactions.js:182 +#: js/fileactions.js:181 msgid "Rename" msgstr "Berrizendatu" -#: js/filelist.js:189 js/filelist.js:191 -msgid "already exists" -msgstr "dagoeneko existitzen da" +#: js/filelist.js:201 js/filelist.js:203 +msgid "{new_name} already exists" +msgstr "{new_name} dagoeneko existitzen da" -#: js/filelist.js:189 js/filelist.js:191 +#: js/filelist.js:201 js/filelist.js:203 msgid "replace" msgstr "ordeztu" -#: js/filelist.js:189 +#: js/filelist.js:201 msgid "suggest name" msgstr "aholkatu izena" -#: js/filelist.js:189 js/filelist.js:191 +#: js/filelist.js:201 js/filelist.js:203 msgid "cancel" msgstr "ezeztatu" -#: js/filelist.js:238 js/filelist.js:240 -msgid "replaced" -msgstr "ordeztua" +#: js/filelist.js:250 +msgid "replaced {new_name}" +msgstr "ordezkatua {new_name}" -#: js/filelist.js:238 js/filelist.js:240 js/filelist.js:272 js/filelist.js:274 +#: js/filelist.js:250 js/filelist.js:252 js/filelist.js:284 js/filelist.js:286 msgid "undo" msgstr "desegin" -#: js/filelist.js:240 -msgid "with" -msgstr "honekin" +#: js/filelist.js:252 +msgid "replaced {new_name} with {old_name}" +msgstr " {new_name}-k {old_name} ordezkatu du" -#: js/filelist.js:272 -msgid "unshared" -msgstr "Ez partekatuta" +#: js/filelist.js:284 +msgid "unshared {files}" +msgstr "elkarbanaketa utzita {files}" -#: js/filelist.js:274 -msgid "deleted" -msgstr "ezabatuta" +#: js/filelist.js:286 +msgid "deleted {files}" +msgstr "ezabatuta {files}" -#: js/files.js:179 +#: js/files.js:33 +msgid "" +"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not " +"allowed." +msgstr "IZen aliogabea, '\\', '/', '<', '>', ':', '\"', '|', '?' eta '*' ez daude baimenduta." + +#: js/files.js:183 msgid "generating ZIP-file, it may take some time." msgstr "ZIP-fitxategia sortzen ari da, denbora har dezake" -#: js/files.js:208 +#: js/files.js:218 msgid "Unable to upload your file as it is a directory or has 0 bytes" msgstr "Ezin da zure fitxategia igo, karpeta bat da edo 0 byt ditu" -#: js/files.js:208 +#: js/files.js:218 msgid "Upload Error" msgstr "Igotzean errore bat suertatu da" -#: js/files.js:236 js/files.js:341 js/files.js:371 +#: js/files.js:235 +msgid "Close" +msgstr "Itxi" + +#: js/files.js:254 js/files.js:368 js/files.js:398 msgid "Pending" msgstr "Zain" -#: js/files.js:256 +#: js/files.js:274 msgid "1 file uploading" msgstr "fitxategi 1 igotzen" -#: js/files.js:259 js/files.js:304 js/files.js:319 -msgid "files uploading" -msgstr "fitxategiak igotzen" +#: js/files.js:277 js/files.js:331 js/files.js:346 +msgid "{count} files uploading" +msgstr "{count} fitxategi igotzen" -#: js/files.js:322 js/files.js:355 +#: js/files.js:349 js/files.js:382 msgid "Upload cancelled." msgstr "Igoera ezeztatuta" -#: js/files.js:424 +#: js/files.js:451 msgid "" "File upload is in progress. Leaving the page now will cancel the upload." msgstr "Fitxategien igoera martxan da. Orria orain uzteak igoera ezeztatutko du." -#: js/files.js:494 -msgid "Invalid name, '/' is not allowed." -msgstr "Baliogabeko izena, '/' ezin da erabili. " +#: js/files.js:523 +msgid "Invalid folder name. Usage of \"Shared\" is reserved by Owncloud" +msgstr "Karpeta izen baliogabea. \"Shared\" karpetaren erabilera Owncloudek erreserbatuta dauka" -#: js/files.js:668 -msgid "files scanned" -msgstr "fitxategiak eskaneatuta" +#: js/files.js:704 +msgid "{count} files scanned" +msgstr "{count} fitxategi eskaneatuta" -#: js/files.js:676 +#: js/files.js:712 msgid "error while scanning" msgstr "errore bat egon da eskaneatzen zen bitartean" -#: js/files.js:749 templates/index.php:48 +#: js/files.js:785 templates/index.php:65 msgid "Name" msgstr "Izena" -#: js/files.js:750 templates/index.php:56 +#: js/files.js:786 templates/index.php:76 msgid "Size" msgstr "Tamaina" -#: js/files.js:751 templates/index.php:58 +#: js/files.js:787 templates/index.php:78 msgid "Modified" msgstr "Aldatuta" -#: js/files.js:778 -msgid "folder" -msgstr "karpeta" - -#: js/files.js:780 -msgid "folders" -msgstr "Karpetak" - -#: js/files.js:788 -msgid "file" -msgstr "fitxategia" - -#: js/files.js:790 -msgid "files" -msgstr "fitxategiak" - -#: js/files.js:834 -msgid "seconds ago" -msgstr "segundu" - -#: js/files.js:835 -msgid "minute ago" -msgstr "minutu" +#: js/files.js:814 +msgid "1 folder" +msgstr "karpeta bat" -#: js/files.js:836 -msgid "minutes ago" -msgstr "minutu" +#: js/files.js:816 +msgid "{count} folders" +msgstr "{count} karpeta" -#: js/files.js:839 -msgid "today" -msgstr "gaur" +#: js/files.js:824 +msgid "1 file" +msgstr "fitxategi bat" -#: js/files.js:840 -msgid "yesterday" -msgstr "atzo" - -#: js/files.js:841 -msgid "days ago" -msgstr "egun" - -#: js/files.js:842 -msgid "last month" -msgstr "joan den hilabetean" - -#: js/files.js:844 -msgid "months ago" -msgstr "hilabete" - -#: js/files.js:845 -msgid "last year" -msgstr "joan den urtean" - -#: js/files.js:846 -msgid "years ago" -msgstr "urte" +#: js/files.js:826 +msgid "{count} files" +msgstr "{count} fitxategi" #: templates/admin.php:5 msgid "File handling" @@ -222,27 +193,27 @@ msgstr "Fitxategien kudeaketa" msgid "Maximum upload size" msgstr "Igo daitekeen gehienezko tamaina" -#: templates/admin.php:7 +#: templates/admin.php:9 msgid "max. possible: " msgstr "max, posiblea:" -#: templates/admin.php:9 +#: templates/admin.php:12 msgid "Needed for multi-file and folder downloads." msgstr "Beharrezkoa fitxategi-anitz eta karpeten deskargarako." -#: templates/admin.php:9 +#: templates/admin.php:14 msgid "Enable ZIP-download" msgstr "Gaitu ZIP-deskarga" -#: templates/admin.php:11 +#: templates/admin.php:17 msgid "0 is unlimited" msgstr "0 mugarik gabe esan nahi du" -#: templates/admin.php:12 +#: templates/admin.php:19 msgid "Maximum input size for ZIP files" msgstr "ZIP fitxategien gehienezko tamaina" -#: templates/admin.php:14 +#: templates/admin.php:23 msgid "Save" msgstr "Gorde" @@ -250,52 +221,48 @@ msgstr "Gorde" msgid "New" msgstr "Berria" -#: templates/index.php:9 +#: templates/index.php:10 msgid "Text file" msgstr "Testu fitxategia" -#: templates/index.php:10 +#: templates/index.php:12 msgid "Folder" msgstr "Karpeta" -#: templates/index.php:11 -msgid "From url" -msgstr "URLtik" +#: templates/index.php:14 +msgid "From link" +msgstr "Estekatik" -#: templates/index.php:20 +#: templates/index.php:35 msgid "Upload" msgstr "Igo" -#: templates/index.php:27 +#: templates/index.php:43 msgid "Cancel upload" msgstr "Ezeztatu igoera" -#: templates/index.php:40 +#: templates/index.php:57 msgid "Nothing in here. Upload something!" msgstr "Ez dago ezer. Igo zerbait!" -#: templates/index.php:50 -msgid "Share" -msgstr "Elkarbanatu" - -#: templates/index.php:52 +#: templates/index.php:71 msgid "Download" msgstr "Deskargatu" -#: templates/index.php:75 +#: templates/index.php:103 msgid "Upload too large" msgstr "Igotakoa handiegia da" -#: templates/index.php:77 +#: templates/index.php:105 msgid "" "The files you are trying to upload exceed the maximum size for file uploads " "on this server." msgstr "Igotzen saiatzen ari zaren fitxategiak zerbitzari honek igotzeko onartzen duena baino handiagoak dira." -#: templates/index.php:82 +#: templates/index.php:110 msgid "Files are being scanned, please wait." msgstr "Fitxategiak eskaneatzen ari da, itxoin mezedez." -#: templates/index.php:85 +#: templates/index.php:113 msgid "Current scanning" msgstr "Orain eskaneatzen ari da" diff --git a/l10n/eu/files_external.po b/l10n/eu/files_external.po index 8cfcabccf3602f38ae9cf524f8f0665773cf0841..34c406e0b202e6f0e624d6a651db6376e7860b46 100644 --- a/l10n/eu/files_external.po +++ b/l10n/eu/files_external.po @@ -8,9 +8,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-07 02:03+0200\n" -"PO-Revision-Date: 2012-10-06 13:01+0000\n" -"Last-Translator: asieriko \n" +"POT-Creation-Date: 2012-12-12 00:12+0100\n" +"PO-Revision-Date: 2012-12-11 23:13+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Basque (http://www.transifex.com/projects/p/owncloud/language/eu/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -42,66 +42,80 @@ msgstr "Mesedez eman baliozkoa den Dropbox app giltza eta sekretua" msgid "Error configuring Google Drive storage" msgstr "Errore bat egon da Google Drive biltegiratzea konfiguratzean" +#: lib/config.php:434 +msgid "" +"Warning: \"smbclient\" is not installed. Mounting of CIFS/SMB shares " +"is not possible. Please ask your system administrator to install it." +msgstr "" + +#: lib/config.php:435 +msgid "" +"Warning: The FTP support in PHP is not enabled or installed. Mounting" +" of FTP shares is not possible. Please ask your system administrator to " +"install it." +msgstr "" + #: templates/settings.php:3 msgid "External Storage" msgstr "Kanpoko Biltegiratzea" -#: templates/settings.php:7 templates/settings.php:19 +#: templates/settings.php:8 templates/settings.php:22 msgid "Mount point" msgstr "Montatze puntua" -#: templates/settings.php:8 +#: templates/settings.php:9 msgid "Backend" msgstr "Motorra" -#: templates/settings.php:9 +#: templates/settings.php:10 msgid "Configuration" msgstr "Konfigurazioa" -#: templates/settings.php:10 +#: templates/settings.php:11 msgid "Options" msgstr "Aukerak" -#: templates/settings.php:11 +#: templates/settings.php:12 msgid "Applicable" msgstr "Aplikagarria" -#: templates/settings.php:23 +#: templates/settings.php:27 msgid "Add mount point" msgstr "Gehitu muntatze puntua" -#: templates/settings.php:54 templates/settings.php:62 +#: templates/settings.php:85 msgid "None set" msgstr "Ezarri gabe" -#: templates/settings.php:63 +#: templates/settings.php:86 msgid "All Users" msgstr "Erabiltzaile guztiak" -#: templates/settings.php:64 +#: templates/settings.php:87 msgid "Groups" msgstr "Taldeak" -#: templates/settings.php:69 +#: templates/settings.php:95 msgid "Users" msgstr "Erabiltzaileak" -#: templates/settings.php:77 templates/settings.php:107 +#: templates/settings.php:108 templates/settings.php:109 +#: templates/settings.php:149 templates/settings.php:150 msgid "Delete" msgstr "Ezabatu" -#: templates/settings.php:87 +#: templates/settings.php:124 msgid "Enable User External Storage" msgstr "Gaitu erabiltzaileentzako Kanpo Biltegiratzea" -#: templates/settings.php:88 +#: templates/settings.php:125 msgid "Allow users to mount their own external storage" msgstr "Baimendu erabiltzaileak bere kanpo biltegiratzeak muntatzen" -#: templates/settings.php:99 +#: templates/settings.php:139 msgid "SSL root certificates" msgstr "SSL erro ziurtagiriak" -#: templates/settings.php:113 +#: templates/settings.php:158 msgid "Import Root Certificate" msgstr "Inportatu Erro Ziurtagiria" diff --git a/l10n/eu/files_odfviewer.po b/l10n/eu/files_odfviewer.po deleted file mode 100644 index 3f9ec980ab341c5ab255f2e4dc9e5dea0074febc..0000000000000000000000000000000000000000 --- a/l10n/eu/files_odfviewer.po +++ /dev/null @@ -1,22 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 02:18+0200\n" -"PO-Revision-Date: 2012-08-26 00:19+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Basque (http://www.transifex.com/projects/p/owncloud/language/eu/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: eu\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: js/viewer.js:9 -msgid "Close" -msgstr "" diff --git a/l10n/eu/files_pdfviewer.po b/l10n/eu/files_pdfviewer.po deleted file mode 100644 index f45d8ef655eaa19ee05c4b5868bdc7d0a7ac7b55..0000000000000000000000000000000000000000 --- a/l10n/eu/files_pdfviewer.po +++ /dev/null @@ -1,42 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 02:18+0200\n" -"PO-Revision-Date: 2012-08-26 00:19+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Basque (http://www.transifex.com/projects/p/owncloud/language/eu/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: eu\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: js/viewer.js:22 -msgid "Previous" -msgstr "" - -#: js/viewer.js:23 -msgid "Next" -msgstr "" - -#: js/viewer.js:29 -msgid "Page Width" -msgstr "" - -#: js/viewer.js:29 -msgid "Page Fit" -msgstr "" - -#: js/viewer.js:30 -msgid "Print" -msgstr "" - -#: js/viewer.js:32 -msgid "Download" -msgstr "" diff --git a/l10n/eu/files_texteditor.po b/l10n/eu/files_texteditor.po deleted file mode 100644 index 859179f561dd323a8eb25ed87284874ba333063a..0000000000000000000000000000000000000000 --- a/l10n/eu/files_texteditor.po +++ /dev/null @@ -1,44 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 01:17+0200\n" -"PO-Revision-Date: 2012-08-25 23:18+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Basque (http://www.transifex.com/projects/p/owncloud/language/eu/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: eu\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: js/aceeditor/mode-coldfusion-uncompressed.js:1568 -#: js/aceeditor/mode-liquid-uncompressed.js:902 -#: js/aceeditor/mode-svg-uncompressed.js:1575 -msgid "regex" -msgstr "" - -#: js/editor.js:72 js/editor.js:156 js/editor.js:163 -msgid "Save" -msgstr "" - -#: js/editor.js:74 -msgid "Close" -msgstr "" - -#: js/editor.js:149 -msgid "Saving..." -msgstr "" - -#: js/editor.js:239 -msgid "An error occurred!" -msgstr "" - -#: js/editor.js:266 -msgid "There were unsaved changes, click here to go back" -msgstr "" diff --git a/l10n/eu/gallery.po b/l10n/eu/gallery.po deleted file mode 100644 index e9794f69fa3c6c37a737432ab9b4be34cfee0e35..0000000000000000000000000000000000000000 --- a/l10n/eu/gallery.po +++ /dev/null @@ -1,95 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-06-06 00:12+0200\n" -"PO-Revision-Date: 2012-06-05 22:15+0000\n" -"Last-Translator: icewind \n" -"Language-Team: Basque (http://www.transifex.net/projects/p/owncloud/language/eu/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: eu\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: appinfo/app.php:37 -msgid "Pictures" -msgstr "Argazkiak" - -#: js/album_cover.js:44 -msgid "Share gallery" -msgstr "" - -#: js/album_cover.js:64 js/album_cover.js:100 js/album_cover.js:133 -msgid "Error: " -msgstr "" - -#: js/album_cover.js:64 js/album_cover.js:100 -msgid "Internal error" -msgstr "" - -#: js/album_cover.js:114 -msgid "Scanning root" -msgstr "" - -#: js/album_cover.js:115 -msgid "Default order" -msgstr "" - -#: js/album_cover.js:116 -msgid "Ascending" -msgstr "" - -#: js/album_cover.js:116 -msgid "Descending" -msgstr "" - -#: js/album_cover.js:117 templates/index.php:19 -msgid "Settings" -msgstr "Ezarpenak" - -#: js/album_cover.js:122 -msgid "Scanning root cannot be empty" -msgstr "" - -#: js/album_cover.js:122 js/album_cover.js:133 -msgid "Error" -msgstr "" - -#: templates/index.php:16 -msgid "Rescan" -msgstr "Bireskaneatu" - -#: templates/index.php:17 -msgid "Stop" -msgstr "Gelditu" - -#: templates/index.php:18 -msgid "Share" -msgstr "Elkarbanatu" - -#: templates/view_album.php:19 -msgid "Back" -msgstr "Atzera" - -#: templates/view_album.php:36 -msgid "Remove confirmation" -msgstr "Ezabatu konfirmazioa" - -#: templates/view_album.php:37 -msgid "Do you want to remove album" -msgstr "Albuma ezabatu nahi al duzu" - -#: templates/view_album.php:40 -msgid "Change album name" -msgstr "Aldatu albumaren izena" - -#: templates/view_album.php:43 -msgid "New album name" -msgstr "Album berriaren izena" diff --git a/l10n/eu/lib.po b/l10n/eu/lib.po index 1fd4db54aa20dd03a8a3bd28783527ac3f024f12..9442caf83a921c3215d0b1d580081bdef59ba845 100644 --- a/l10n/eu/lib.po +++ b/l10n/eu/lib.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-09-04 02:01+0200\n" -"PO-Revision-Date: 2012-09-03 13:06+0000\n" +"POT-Creation-Date: 2012-11-27 00:10+0100\n" +"PO-Revision-Date: 2012-11-25 23:10+0000\n" "Last-Translator: asieriko \n" "Language-Team: Basque (http://www.transifex.com/projects/p/owncloud/language/eu/)\n" "MIME-Version: 1.0\n" @@ -18,43 +18,43 @@ msgstr "" "Language: eu\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: app.php:288 +#: app.php:285 msgid "Help" msgstr "Laguntza" -#: app.php:295 +#: app.php:292 msgid "Personal" msgstr "Pertsonala" -#: app.php:300 +#: app.php:297 msgid "Settings" msgstr "Ezarpenak" -#: app.php:305 +#: app.php:302 msgid "Users" msgstr "Erabiltzaileak" -#: app.php:312 +#: app.php:309 msgid "Apps" msgstr "Aplikazioak" -#: app.php:314 +#: app.php:311 msgid "Admin" msgstr "Admin" -#: files.php:280 +#: files.php:361 msgid "ZIP download is turned off." msgstr "ZIP deskarga ez dago gaituta." -#: files.php:281 +#: files.php:362 msgid "Files need to be downloaded one by one." msgstr "Fitxategiak banan-banan deskargatu behar dira." -#: files.php:281 files.php:306 +#: files.php:362 files.php:387 msgid "Back to Files" msgstr "Itzuli fitxategietara" -#: files.php:305 +#: files.php:386 msgid "Selected files too large to generate zip file." msgstr "Hautatuko fitxategiak oso handiak dira zip fitxategia sortzeko." @@ -62,7 +62,7 @@ msgstr "Hautatuko fitxategiak oso handiak dira zip fitxategia sortzeko." msgid "Application is not enabled" msgstr "Aplikazioa ez dago gaituta" -#: json.php:39 json.php:63 json.php:75 +#: json.php:39 json.php:64 json.php:77 json.php:89 msgid "Authentication error" msgstr "Autentikazio errorea" @@ -70,57 +70,84 @@ msgstr "Autentikazio errorea" msgid "Token expired. Please reload page." msgstr "Tokena iraungitu da. Mesedez birkargatu orria." -#: template.php:87 +#: search/provider/file.php:17 search/provider/file.php:35 +msgid "Files" +msgstr "Fitxategiak" + +#: search/provider/file.php:26 search/provider/file.php:33 +msgid "Text" +msgstr "Testua" + +#: search/provider/file.php:29 +msgid "Images" +msgstr "Irudiak" + +#: template.php:103 msgid "seconds ago" msgstr "orain dela segundu batzuk" -#: template.php:88 +#: template.php:104 msgid "1 minute ago" msgstr "orain dela minutu 1" -#: template.php:89 +#: template.php:105 #, php-format msgid "%d minutes ago" msgstr "orain dela %d minutu" -#: template.php:92 +#: template.php:106 +msgid "1 hour ago" +msgstr "orain dela ordu bat" + +#: template.php:107 +#, php-format +msgid "%d hours ago" +msgstr "orain dela %d ordu" + +#: template.php:108 msgid "today" msgstr "gaur" -#: template.php:93 +#: template.php:109 msgid "yesterday" msgstr "atzo" -#: template.php:94 +#: template.php:110 #, php-format msgid "%d days ago" msgstr "orain dela %d egun" -#: template.php:95 +#: template.php:111 msgid "last month" msgstr "joan den hilabetea" -#: template.php:96 -msgid "months ago" -msgstr "orain dela hilabete batzuk" +#: template.php:112 +#, php-format +msgid "%d months ago" +msgstr "orain dela %d hilabete" -#: template.php:97 +#: template.php:113 msgid "last year" msgstr "joan den urtea" -#: template.php:98 +#: template.php:114 msgid "years ago" msgstr "orain dela urte batzuk" -#: updater.php:66 +#: updater.php:75 #, php-format msgid "%s is available. Get more information" msgstr "%s eskuragarri dago. Lortu informazio gehiago" -#: updater.php:68 +#: updater.php:77 msgid "up to date" msgstr "eguneratuta" -#: updater.php:71 +#: updater.php:80 msgid "updates check is disabled" msgstr "eguneraketen egiaztapena ez dago gaituta" + +#: vcategories.php:188 vcategories.php:249 +#, php-format +msgid "Could not find category \"%s\"" +msgstr "Ezin da \"%s\" kategoria aurkitu" diff --git a/l10n/eu/media.po b/l10n/eu/media.po deleted file mode 100644 index 468d2fba323639658fad814ad1bfcbcab87a5516..0000000000000000000000000000000000000000 --- a/l10n/eu/media.po +++ /dev/null @@ -1,67 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Asier Urio Larrea , 2011. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-06-06 00:12+0200\n" -"PO-Revision-Date: 2012-06-05 22:15+0000\n" -"Last-Translator: icewind \n" -"Language-Team: Basque (http://www.transifex.net/projects/p/owncloud/language/eu/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: eu\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: appinfo/app.php:32 templates/player.php:8 -msgid "Music" -msgstr "Musika" - -#: js/music.js:18 -msgid "Add album to playlist" -msgstr "" - -#: templates/music.php:3 templates/player.php:12 -msgid "Play" -msgstr "Erreproduzitu" - -#: templates/music.php:4 templates/music.php:26 templates/player.php:13 -msgid "Pause" -msgstr "Pausarazi" - -#: templates/music.php:5 -msgid "Previous" -msgstr "Aurrekoa" - -#: templates/music.php:6 templates/player.php:14 -msgid "Next" -msgstr "Hurrengoa" - -#: templates/music.php:7 -msgid "Mute" -msgstr "Mututu" - -#: templates/music.php:8 -msgid "Unmute" -msgstr "Ez Mututu" - -#: templates/music.php:25 -msgid "Rescan Collection" -msgstr "Bireskaneatu Bilduma" - -#: templates/music.php:37 -msgid "Artist" -msgstr "Artista" - -#: templates/music.php:38 -msgid "Album" -msgstr "Albuma" - -#: templates/music.php:39 -msgid "Title" -msgstr "Izenburua" diff --git a/l10n/eu/settings.po b/l10n/eu/settings.po index 8c96b50fa57e719f931497007278623d063729d6..58ef06e8a6602a342440fb1b89eb805e6ea0a501 100644 --- a/l10n/eu/settings.po +++ b/l10n/eu/settings.po @@ -10,9 +10,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-09 02:03+0200\n" -"PO-Revision-Date: 2012-10-09 00:04+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-12-03 00:04+0100\n" +"PO-Revision-Date: 2012-12-02 03:18+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Basque (http://www.transifex.com/projects/p/owncloud/language/eu/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -20,70 +20,73 @@ msgstr "" "Language: eu\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: ajax/apps/ocs.php:23 +#: ajax/apps/ocs.php:20 msgid "Unable to load list from App Store" msgstr "Ezin izan da App Dendatik zerrenda kargatu" -#: ajax/creategroup.php:9 ajax/removeuser.php:13 ajax/setquota.php:18 -#: ajax/togglegroups.php:15 -msgid "Authentication error" -msgstr "Autentifikazio errorea" - -#: ajax/creategroup.php:19 +#: ajax/creategroup.php:10 msgid "Group already exists" msgstr "Taldea dagoeneko existitzenda" -#: ajax/creategroup.php:28 +#: ajax/creategroup.php:19 msgid "Unable to add group" msgstr "Ezin izan da taldea gehitu" -#: ajax/enableapp.php:14 +#: ajax/enableapp.php:12 msgid "Could not enable app. " msgstr "Ezin izan da aplikazioa gaitu." -#: ajax/lostpassword.php:14 +#: ajax/lostpassword.php:12 msgid "Email saved" msgstr "Eposta gorde da" -#: ajax/lostpassword.php:16 +#: ajax/lostpassword.php:14 msgid "Invalid email" msgstr "Baliogabeko eposta" -#: ajax/openid.php:16 +#: ajax/openid.php:13 msgid "OpenID Changed" msgstr "OpenID aldatuta" -#: ajax/openid.php:18 ajax/setlanguage.php:20 ajax/setlanguage.php:23 +#: ajax/openid.php:15 ajax/setlanguage.php:17 ajax/setlanguage.php:20 msgid "Invalid request" msgstr "Baliogabeko eskaria" -#: ajax/removegroup.php:16 +#: ajax/removegroup.php:13 msgid "Unable to delete group" msgstr "Ezin izan da taldea ezabatu" -#: ajax/removeuser.php:22 +#: ajax/removeuser.php:15 ajax/setquota.php:15 ajax/togglegroups.php:18 +msgid "Authentication error" +msgstr "Autentifikazio errorea" + +#: ajax/removeuser.php:24 msgid "Unable to delete user" msgstr "Ezin izan da erabiltzailea ezabatu" -#: ajax/setlanguage.php:18 +#: ajax/setlanguage.php:15 msgid "Language changed" msgstr "Hizkuntza aldatuta" -#: ajax/togglegroups.php:25 +#: ajax/togglegroups.php:12 +msgid "Admins can't remove themself from the admin group" +msgstr "" + +#: ajax/togglegroups.php:28 #, php-format msgid "Unable to add user to group %s" msgstr "Ezin izan da erabiltzailea %s taldera gehitu" -#: ajax/togglegroups.php:31 +#: ajax/togglegroups.php:34 #, php-format msgid "Unable to remove user from group %s" msgstr "Ezin izan da erabiltzailea %s taldetik ezabatu" -#: js/apps.js:28 js/apps.js:65 +#: js/apps.js:28 js/apps.js:67 msgid "Disable" msgstr "Ez-gaitu" -#: js/apps.js:28 js/apps.js:54 +#: js/apps.js:28 js/apps.js:55 msgid "Enable" msgstr "Gaitu" @@ -91,104 +94,17 @@ msgstr "Gaitu" msgid "Saving..." msgstr "Gordetzen..." -#: personal.php:47 personal.php:48 +#: personal.php:42 personal.php:43 msgid "__language_name__" msgstr "Euskera" -#: templates/admin.php:14 -msgid "Security Warning" -msgstr "Segurtasun abisua" - -#: templates/admin.php:17 -msgid "" -"Your data directory and your files are probably accessible from the " -"internet. The .htaccess file that ownCloud provides is not working. We " -"strongly suggest that you configure your webserver in a way that the data " -"directory is no longer accessible or you move the data directory outside the" -" webserver document root." -msgstr "Zure data karpeta eta zure fitxategiak internetetik zuzenean eskuragarri egon daitezke. ownCloudek emandako .htaccess fitxategia ez du bere lana egiten. Aholkatzen dizugu zure web zerbitzaria ongi konfiguratzea data karpeta eskuragarri ez izateko edo data karpeta web zerbitzariaren dokumentu errotik mugitzea." - -#: templates/admin.php:31 -msgid "Cron" -msgstr "Cron" - -#: templates/admin.php:37 -msgid "Execute one task with each page loaded" -msgstr "Exekutatu zeregin bat orri karga bakoitzean" - -#: templates/admin.php:43 -msgid "" -"cron.php is registered at a webcron service. Call the cron.php page in the " -"owncloud root once a minute over http." -msgstr "cron.php webcron zerbitzu batean erregistratua dago. Deitu cron.php orria ownclouden erroan minuturo http bidez." - -#: templates/admin.php:49 -msgid "" -"Use systems cron service. Call the cron.php file in the owncloud folder via " -"a system cronjob once a minute." -msgstr "Erabili sistemaren cron zerbitzua. Deitu cron.php fitxategia owncloud karpetan minuturo sistemaren cron lan baten bidez." - -#: templates/admin.php:56 -msgid "Sharing" -msgstr "Partekatzea" - -#: templates/admin.php:61 -msgid "Enable Share API" -msgstr "Gaitu Partekatze APIa" - -#: templates/admin.php:62 -msgid "Allow apps to use the Share API" -msgstr "Baimendu aplikazioak Partekatze APIa erabiltzeko" - -#: templates/admin.php:67 -msgid "Allow links" -msgstr "Baimendu loturak" - -#: templates/admin.php:68 -msgid "Allow users to share items to the public with links" -msgstr "Baimendu erabiltzaileak loturen bidez fitxategiak publikoki partekatzen" - -#: templates/admin.php:73 -msgid "Allow resharing" -msgstr "Baimendu birpartekatzea" - -#: templates/admin.php:74 -msgid "Allow users to share items shared with them again" -msgstr "Baimendu erabiltzaileak haiekin partekatutako fitxategiak berriz ere partekatzen" - -#: templates/admin.php:79 -msgid "Allow users to share with anyone" -msgstr "Baimendu erabiltzaileak edonorekin partekatzen" - -#: templates/admin.php:81 -msgid "Allow users to only share with users in their groups" -msgstr "Baimendu erabiltzaileak bakarrik bere taldeko erabiltzaileekin partekatzen" - -#: templates/admin.php:88 -msgid "Log" -msgstr "Egunkaria" - -#: templates/admin.php:116 -msgid "More" -msgstr "Gehiago" - -#: templates/admin.php:124 -msgid "" -"Developed by the ownCloud community, the source code is " -"licensed under the AGPL." -msgstr "ownCloud komunitateak garatuta, itubruru kodeaAGPL lizentziarekin banatzen da." - #: templates/apps.php:10 msgid "Add your App" msgstr "Gehitu zure aplikazioa" #: templates/apps.php:11 msgid "More Apps" -msgstr "" +msgstr "App gehiago" #: templates/apps.php:27 msgid "Select an App" @@ -214,22 +130,22 @@ msgstr "Fitxategi handien kudeaketa" msgid "Ask a question" msgstr "Egin galdera bat" -#: templates/help.php:23 +#: templates/help.php:22 msgid "Problems connecting to help database." msgstr "Arazoak daude laguntza datubasera konektatzeko." -#: templates/help.php:24 +#: templates/help.php:23 msgid "Go there manually." msgstr "Joan hara eskuz." -#: templates/help.php:32 +#: templates/help.php:31 msgid "Answer" msgstr "Erantzun" #: templates/personal.php:8 #, php-format -msgid "You have used %s of the available %s" -msgstr "Eskuragarri dituzun %setik %s erabili duzu" +msgid "You have used %s of the available %s" +msgstr "Dagoeneko %s erabili duzu eskuragarri duzun %setatik" #: templates/personal.php:12 msgid "Desktop and Mobile Syncing Clients" @@ -287,6 +203,16 @@ msgstr "Lagundu itzultzen" msgid "use this address to connect to your ownCloud in your file manager" msgstr "erabili helbide hau zure fitxategi kudeatzailean zure ownCloudera konektatzeko" +#: templates/personal.php:61 +msgid "" +"Developed by the ownCloud community, the source code is " +"licensed under the AGPL." +msgstr "ownCloud komunitateak garatuta, itubruru kodeaAGPL lizentziarekin banatzen da." + #: templates/users.php:21 templates/users.php:76 msgid "Name" msgstr "Izena" diff --git a/l10n/eu/tasks.po b/l10n/eu/tasks.po deleted file mode 100644 index 4ed8bae41d3ee3c858f353521cfb77e205e6fbe9..0000000000000000000000000000000000000000 --- a/l10n/eu/tasks.po +++ /dev/null @@ -1,106 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:44+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Basque (http://www.transifex.com/projects/p/owncloud/language/eu/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: eu\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: ajax/update_property.php:51 lib/app.php:89 lib/app.php:101 -msgid "Invalid date/time" -msgstr "" - -#: appinfo/app.php:11 -msgid "Tasks" -msgstr "" - -#: js/tasks.js:415 -msgid "No category" -msgstr "" - -#: lib/app.php:33 -msgid "Unspecified" -msgstr "" - -#: lib/app.php:34 -msgid "1=highest" -msgstr "" - -#: lib/app.php:38 -msgid "5=medium" -msgstr "" - -#: lib/app.php:42 -msgid "9=lowest" -msgstr "" - -#: lib/app.php:81 -msgid "Empty Summary" -msgstr "" - -#: lib/app.php:93 -msgid "Invalid percent complete" -msgstr "" - -#: lib/app.php:107 -msgid "Invalid priority" -msgstr "" - -#: templates/tasks.php:3 -msgid "Add Task" -msgstr "" - -#: templates/tasks.php:4 -msgid "Order Due" -msgstr "" - -#: templates/tasks.php:5 -msgid "Order List" -msgstr "" - -#: templates/tasks.php:6 -msgid "Order Complete" -msgstr "" - -#: templates/tasks.php:7 -msgid "Order Location" -msgstr "" - -#: templates/tasks.php:8 -msgid "Order Priority" -msgstr "" - -#: templates/tasks.php:9 -msgid "Order Label" -msgstr "" - -#: templates/tasks.php:16 -msgid "Loading tasks..." -msgstr "" - -#: templates/tasks.php:20 -msgid "Important" -msgstr "" - -#: templates/tasks.php:23 -msgid "More" -msgstr "" - -#: templates/tasks.php:26 -msgid "Less" -msgstr "" - -#: templates/tasks.php:29 -msgid "Delete" -msgstr "" diff --git a/l10n/eu/user_migrate.po b/l10n/eu/user_migrate.po deleted file mode 100644 index 395533a4806f0f50a1ddd9b9e42e85e03da75d90..0000000000000000000000000000000000000000 --- a/l10n/eu/user_migrate.po +++ /dev/null @@ -1,51 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:45+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Basque (http://www.transifex.com/projects/p/owncloud/language/eu/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: eu\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: js/export.js:14 js/export.js:20 -msgid "Export" -msgstr "" - -#: js/export.js:19 -msgid "Something went wrong while the export file was being generated" -msgstr "" - -#: js/export.js:19 -msgid "An error has occurred" -msgstr "" - -#: templates/settings.php:2 -msgid "Export your user account" -msgstr "" - -#: templates/settings.php:3 -msgid "" -"This will create a compressed file that contains your ownCloud account." -msgstr "" - -#: templates/settings.php:13 -msgid "Import user account" -msgstr "" - -#: templates/settings.php:15 -msgid "ownCloud User Zip" -msgstr "" - -#: templates/settings.php:17 -msgid "Import" -msgstr "" diff --git a/l10n/eu/user_openid.po b/l10n/eu/user_openid.po deleted file mode 100644 index 917f83859aadbf039634cdabd30ba4ecfc677931..0000000000000000000000000000000000000000 --- a/l10n/eu/user_openid.po +++ /dev/null @@ -1,54 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:45+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Basque (http://www.transifex.com/projects/p/owncloud/language/eu/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: eu\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: templates/nomode.php:12 -msgid "This is an OpenID server endpoint. For more information, see " -msgstr "" - -#: templates/nomode.php:14 -msgid "Identity: " -msgstr "" - -#: templates/nomode.php:15 -msgid "Realm: " -msgstr "" - -#: templates/nomode.php:16 -msgid "User: " -msgstr "" - -#: templates/nomode.php:17 -msgid "Login" -msgstr "" - -#: templates/nomode.php:22 -msgid "Error: No user Selected" -msgstr "" - -#: templates/settings.php:4 -msgid "you can authenticate to other sites with this address" -msgstr "" - -#: templates/settings.php:5 -msgid "Authorized OpenID provider" -msgstr "" - -#: templates/settings.php:6 -msgid "Your address at Wordpress, Identi.ca, …" -msgstr "" diff --git a/l10n/eu/impress.po b/l10n/eu/user_webdavauth.po similarity index 61% rename from l10n/eu/impress.po rename to l10n/eu/user_webdavauth.po index 29fd6a225e2ccdb54d7d04a4a7fa7ceeca1db59d..eca9edb6ff5683d30a51017eca7b7e4f733e8470 100644 --- a/l10n/eu/impress.po +++ b/l10n/eu/user_webdavauth.po @@ -3,20 +3,21 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 01:17+0200\n" -"PO-Revision-Date: 2012-08-25 23:18+0000\n" -"Last-Translator: FULL NAME \n" +"POT-Creation-Date: 2012-11-26 00:01+0100\n" +"PO-Revision-Date: 2012-11-25 22:56+0000\n" +"Last-Translator: asieriko \n" "Language-Team: Basque (http://www.transifex.com/projects/p/owncloud/language/eu/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: eu\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: templates/presentations.php:7 -msgid "Documentation" -msgstr "" +#: templates/settings.php:4 +msgid "WebDAV URL: http://" +msgstr "WebDAV URL: http://" diff --git a/l10n/eu_ES/admin_dependencies_chk.po b/l10n/eu_ES/admin_dependencies_chk.po deleted file mode 100644 index 931550cd288125e933e5bdd9cbd684937b284051..0000000000000000000000000000000000000000 --- a/l10n/eu_ES/admin_dependencies_chk.po +++ /dev/null @@ -1,73 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:33+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Basque (Spain) (http://www.transifex.com/projects/p/owncloud/language/eu_ES/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: eu_ES\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: settings.php:33 -msgid "" -"The php-json module is needed by the many applications for inter " -"communications" -msgstr "" - -#: settings.php:39 -msgid "" -"The php-curl modude is needed to fetch the page title when adding a " -"bookmarks" -msgstr "" - -#: settings.php:45 -msgid "The php-gd module is needed to create thumbnails of your images" -msgstr "" - -#: settings.php:51 -msgid "The php-ldap module is needed connect to your ldap server" -msgstr "" - -#: settings.php:57 -msgid "The php-zip module is needed download multiple files at once" -msgstr "" - -#: settings.php:63 -msgid "" -"The php-mb_multibyte module is needed to manage correctly the encoding." -msgstr "" - -#: settings.php:69 -msgid "The php-ctype module is needed validate data." -msgstr "" - -#: settings.php:75 -msgid "The php-xml module is needed to share files with webdav." -msgstr "" - -#: settings.php:81 -msgid "" -"The allow_url_fopen directive of your php.ini should be set to 1 to retrieve" -" knowledge base from OCS servers" -msgstr "" - -#: settings.php:87 -msgid "The php-pdo module is needed to store owncloud data into a database." -msgstr "" - -#: templates/settings.php:2 -msgid "Dependencies status" -msgstr "" - -#: templates/settings.php:7 -msgid "Used by :" -msgstr "" diff --git a/l10n/eu_ES/admin_migrate.po b/l10n/eu_ES/admin_migrate.po deleted file mode 100644 index 9bc05a4241eba2a4dd5b9de8b8918ca367882a90..0000000000000000000000000000000000000000 --- a/l10n/eu_ES/admin_migrate.po +++ /dev/null @@ -1,32 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:32+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Basque (Spain) (http://www.transifex.com/projects/p/owncloud/language/eu_ES/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: eu_ES\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: templates/settings.php:3 -msgid "Export this ownCloud instance" -msgstr "" - -#: templates/settings.php:4 -msgid "" -"This will create a compressed file that contains the data of this owncloud instance.\n" -" Please choose the export type:" -msgstr "" - -#: templates/settings.php:12 -msgid "Export" -msgstr "" diff --git a/l10n/eu_ES/bookmarks.po b/l10n/eu_ES/bookmarks.po deleted file mode 100644 index c012dfcd46508ed9ad474e828a2e897a3203f596..0000000000000000000000000000000000000000 --- a/l10n/eu_ES/bookmarks.po +++ /dev/null @@ -1,60 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-07-31 22:53+0200\n" -"PO-Revision-Date: 2012-07-27 22:17+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Basque (Spain) (http://www.transifex.com/projects/p/owncloud/language/eu_ES/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: eu_ES\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: appinfo/app.php:14 -msgid "Bookmarks" -msgstr "" - -#: bookmarksHelper.php:99 -msgid "unnamed" -msgstr "" - -#: templates/bookmarklet.php:5 -msgid "" -"Drag this to your browser bookmarks and click it, when you want to bookmark " -"a webpage quickly:" -msgstr "" - -#: templates/bookmarklet.php:7 -msgid "Read later" -msgstr "" - -#: templates/list.php:13 -msgid "Address" -msgstr "" - -#: templates/list.php:14 -msgid "Title" -msgstr "" - -#: templates/list.php:15 -msgid "Tags" -msgstr "" - -#: templates/list.php:16 -msgid "Save bookmark" -msgstr "" - -#: templates/list.php:22 -msgid "You have no bookmarks" -msgstr "" - -#: templates/settings.php:11 -msgid "Bookmarklet
" -msgstr "" diff --git a/l10n/eu_ES/calendar.po b/l10n/eu_ES/calendar.po deleted file mode 100644 index 24f487f526e2559fced41abb24650477c310bd88..0000000000000000000000000000000000000000 --- a/l10n/eu_ES/calendar.po +++ /dev/null @@ -1,813 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-11 02:02+0200\n" -"PO-Revision-Date: 2012-08-11 00:02+0000\n" -"Last-Translator: owncloud_robot \n" -"Language-Team: Basque (Spain) (http://www.transifex.com/projects/p/owncloud/language/eu_ES/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: eu_ES\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: ajax/cache/status.php:19 -msgid "Not all calendars are completely cached" -msgstr "" - -#: ajax/cache/status.php:21 -msgid "Everything seems to be completely cached" -msgstr "" - -#: ajax/categories/rescan.php:29 -msgid "No calendars found." -msgstr "" - -#: ajax/categories/rescan.php:37 -msgid "No events found." -msgstr "" - -#: ajax/event/edit.form.php:20 -msgid "Wrong calendar" -msgstr "" - -#: ajax/import/dropimport.php:29 ajax/import/import.php:64 -msgid "" -"The file contained either no events or all events are already saved in your " -"calendar." -msgstr "" - -#: ajax/import/dropimport.php:31 ajax/import/import.php:67 -msgid "events has been saved in the new calendar" -msgstr "" - -#: ajax/import/import.php:56 -msgid "Import failed" -msgstr "" - -#: ajax/import/import.php:69 -msgid "events has been saved in your calendar" -msgstr "" - -#: ajax/settings/guesstimezone.php:25 -msgid "New Timezone:" -msgstr "" - -#: ajax/settings/settimezone.php:23 -msgid "Timezone changed" -msgstr "" - -#: ajax/settings/settimezone.php:25 -msgid "Invalid request" -msgstr "" - -#: appinfo/app.php:35 templates/calendar.php:15 -#: templates/part.eventform.php:33 templates/part.showevent.php:33 -msgid "Calendar" -msgstr "" - -#: js/calendar.js:832 -msgid "ddd" -msgstr "" - -#: js/calendar.js:833 -msgid "ddd M/d" -msgstr "" - -#: js/calendar.js:834 -msgid "dddd M/d" -msgstr "" - -#: js/calendar.js:837 -msgid "MMMM yyyy" -msgstr "" - -#: js/calendar.js:839 -msgid "MMM d[ yyyy]{ '—'[ MMM] d yyyy}" -msgstr "" - -#: js/calendar.js:841 -msgid "dddd, MMM d, yyyy" -msgstr "" - -#: lib/app.php:121 -msgid "Birthday" -msgstr "" - -#: lib/app.php:122 -msgid "Business" -msgstr "" - -#: lib/app.php:123 -msgid "Call" -msgstr "" - -#: lib/app.php:124 -msgid "Clients" -msgstr "" - -#: lib/app.php:125 -msgid "Deliverer" -msgstr "" - -#: lib/app.php:126 -msgid "Holidays" -msgstr "" - -#: lib/app.php:127 -msgid "Ideas" -msgstr "" - -#: lib/app.php:128 -msgid "Journey" -msgstr "" - -#: lib/app.php:129 -msgid "Jubilee" -msgstr "" - -#: lib/app.php:130 -msgid "Meeting" -msgstr "" - -#: lib/app.php:131 -msgid "Other" -msgstr "" - -#: lib/app.php:132 -msgid "Personal" -msgstr "" - -#: lib/app.php:133 -msgid "Projects" -msgstr "" - -#: lib/app.php:134 -msgid "Questions" -msgstr "" - -#: lib/app.php:135 -msgid "Work" -msgstr "" - -#: lib/app.php:351 lib/app.php:361 -msgid "by" -msgstr "" - -#: lib/app.php:359 lib/app.php:399 -msgid "unnamed" -msgstr "" - -#: lib/import.php:184 templates/calendar.php:12 -#: templates/part.choosecalendar.php:22 -msgid "New Calendar" -msgstr "" - -#: lib/object.php:372 -msgid "Does not repeat" -msgstr "" - -#: lib/object.php:373 -msgid "Daily" -msgstr "" - -#: lib/object.php:374 -msgid "Weekly" -msgstr "" - -#: lib/object.php:375 -msgid "Every Weekday" -msgstr "" - -#: lib/object.php:376 -msgid "Bi-Weekly" -msgstr "" - -#: lib/object.php:377 -msgid "Monthly" -msgstr "" - -#: lib/object.php:378 -msgid "Yearly" -msgstr "" - -#: lib/object.php:388 -msgid "never" -msgstr "" - -#: lib/object.php:389 -msgid "by occurrences" -msgstr "" - -#: lib/object.php:390 -msgid "by date" -msgstr "" - -#: lib/object.php:400 -msgid "by monthday" -msgstr "" - -#: lib/object.php:401 -msgid "by weekday" -msgstr "" - -#: lib/object.php:411 templates/calendar.php:5 templates/settings.php:69 -msgid "Monday" -msgstr "" - -#: lib/object.php:412 templates/calendar.php:5 -msgid "Tuesday" -msgstr "" - -#: lib/object.php:413 templates/calendar.php:5 -msgid "Wednesday" -msgstr "" - -#: lib/object.php:414 templates/calendar.php:5 -msgid "Thursday" -msgstr "" - -#: lib/object.php:415 templates/calendar.php:5 -msgid "Friday" -msgstr "" - -#: lib/object.php:416 templates/calendar.php:5 -msgid "Saturday" -msgstr "" - -#: lib/object.php:417 templates/calendar.php:5 templates/settings.php:70 -msgid "Sunday" -msgstr "" - -#: lib/object.php:427 -msgid "events week of month" -msgstr "" - -#: lib/object.php:428 -msgid "first" -msgstr "" - -#: lib/object.php:429 -msgid "second" -msgstr "" - -#: lib/object.php:430 -msgid "third" -msgstr "" - -#: lib/object.php:431 -msgid "fourth" -msgstr "" - -#: lib/object.php:432 -msgid "fifth" -msgstr "" - -#: lib/object.php:433 -msgid "last" -msgstr "" - -#: lib/object.php:467 templates/calendar.php:7 -msgid "January" -msgstr "" - -#: lib/object.php:468 templates/calendar.php:7 -msgid "February" -msgstr "" - -#: lib/object.php:469 templates/calendar.php:7 -msgid "March" -msgstr "" - -#: lib/object.php:470 templates/calendar.php:7 -msgid "April" -msgstr "" - -#: lib/object.php:471 templates/calendar.php:7 -msgid "May" -msgstr "" - -#: lib/object.php:472 templates/calendar.php:7 -msgid "June" -msgstr "" - -#: lib/object.php:473 templates/calendar.php:7 -msgid "July" -msgstr "" - -#: lib/object.php:474 templates/calendar.php:7 -msgid "August" -msgstr "" - -#: lib/object.php:475 templates/calendar.php:7 -msgid "September" -msgstr "" - -#: lib/object.php:476 templates/calendar.php:7 -msgid "October" -msgstr "" - -#: lib/object.php:477 templates/calendar.php:7 -msgid "November" -msgstr "" - -#: lib/object.php:478 templates/calendar.php:7 -msgid "December" -msgstr "" - -#: lib/object.php:488 -msgid "by events date" -msgstr "" - -#: lib/object.php:489 -msgid "by yearday(s)" -msgstr "" - -#: lib/object.php:490 -msgid "by weeknumber(s)" -msgstr "" - -#: lib/object.php:491 -msgid "by day and month" -msgstr "" - -#: lib/search.php:35 lib/search.php:37 lib/search.php:40 -msgid "Date" -msgstr "" - -#: lib/search.php:43 -msgid "Cal." -msgstr "" - -#: templates/calendar.php:6 -msgid "Sun." -msgstr "" - -#: templates/calendar.php:6 -msgid "Mon." -msgstr "" - -#: templates/calendar.php:6 -msgid "Tue." -msgstr "" - -#: templates/calendar.php:6 -msgid "Wed." -msgstr "" - -#: templates/calendar.php:6 -msgid "Thu." -msgstr "" - -#: templates/calendar.php:6 -msgid "Fri." -msgstr "" - -#: templates/calendar.php:6 -msgid "Sat." -msgstr "" - -#: templates/calendar.php:8 -msgid "Jan." -msgstr "" - -#: templates/calendar.php:8 -msgid "Feb." -msgstr "" - -#: templates/calendar.php:8 -msgid "Mar." -msgstr "" - -#: templates/calendar.php:8 -msgid "Apr." -msgstr "" - -#: templates/calendar.php:8 -msgid "May." -msgstr "" - -#: templates/calendar.php:8 -msgid "Jun." -msgstr "" - -#: templates/calendar.php:8 -msgid "Jul." -msgstr "" - -#: templates/calendar.php:8 -msgid "Aug." -msgstr "" - -#: templates/calendar.php:8 -msgid "Sep." -msgstr "" - -#: templates/calendar.php:8 -msgid "Oct." -msgstr "" - -#: templates/calendar.php:8 -msgid "Nov." -msgstr "" - -#: templates/calendar.php:8 -msgid "Dec." -msgstr "" - -#: templates/calendar.php:11 -msgid "All day" -msgstr "" - -#: templates/calendar.php:13 -msgid "Missing fields" -msgstr "" - -#: templates/calendar.php:14 templates/part.eventform.php:19 -#: templates/part.showevent.php:11 -msgid "Title" -msgstr "" - -#: templates/calendar.php:16 -msgid "From Date" -msgstr "" - -#: templates/calendar.php:17 -msgid "From Time" -msgstr "" - -#: templates/calendar.php:18 -msgid "To Date" -msgstr "" - -#: templates/calendar.php:19 -msgid "To Time" -msgstr "" - -#: templates/calendar.php:20 -msgid "The event ends before it starts" -msgstr "" - -#: templates/calendar.php:21 -msgid "There was a database fail" -msgstr "" - -#: templates/calendar.php:39 -msgid "Week" -msgstr "" - -#: templates/calendar.php:40 -msgid "Month" -msgstr "" - -#: templates/calendar.php:41 -msgid "List" -msgstr "" - -#: templates/calendar.php:45 -msgid "Today" -msgstr "" - -#: templates/calendar.php:46 templates/calendar.php:47 -msgid "Settings" -msgstr "" - -#: templates/part.choosecalendar.php:2 -msgid "Your calendars" -msgstr "" - -#: templates/part.choosecalendar.php:27 -#: templates/part.choosecalendar.rowfields.php:11 -msgid "CalDav Link" -msgstr "" - -#: templates/part.choosecalendar.php:31 -msgid "Shared calendars" -msgstr "" - -#: templates/part.choosecalendar.php:48 -msgid "No shared calendars" -msgstr "" - -#: templates/part.choosecalendar.rowfields.php:8 -msgid "Share Calendar" -msgstr "" - -#: templates/part.choosecalendar.rowfields.php:14 -msgid "Download" -msgstr "" - -#: templates/part.choosecalendar.rowfields.php:17 -msgid "Edit" -msgstr "" - -#: templates/part.choosecalendar.rowfields.php:20 -#: templates/part.editevent.php:9 -msgid "Delete" -msgstr "" - -#: templates/part.choosecalendar.rowfields.shared.php:4 -msgid "shared with you by" -msgstr "" - -#: templates/part.editcalendar.php:9 -msgid "New calendar" -msgstr "" - -#: templates/part.editcalendar.php:9 -msgid "Edit calendar" -msgstr "" - -#: templates/part.editcalendar.php:12 -msgid "Displayname" -msgstr "" - -#: templates/part.editcalendar.php:23 -msgid "Active" -msgstr "" - -#: templates/part.editcalendar.php:29 -msgid "Calendar color" -msgstr "" - -#: templates/part.editcalendar.php:42 -msgid "Save" -msgstr "" - -#: templates/part.editcalendar.php:42 templates/part.editevent.php:8 -#: templates/part.newevent.php:6 -msgid "Submit" -msgstr "" - -#: templates/part.editcalendar.php:43 -msgid "Cancel" -msgstr "" - -#: templates/part.editevent.php:1 -msgid "Edit an event" -msgstr "" - -#: templates/part.editevent.php:10 -msgid "Export" -msgstr "" - -#: templates/part.eventform.php:8 templates/part.showevent.php:3 -msgid "Eventinfo" -msgstr "" - -#: templates/part.eventform.php:9 templates/part.showevent.php:4 -msgid "Repeating" -msgstr "" - -#: templates/part.eventform.php:10 templates/part.showevent.php:5 -msgid "Alarm" -msgstr "" - -#: templates/part.eventform.php:11 templates/part.showevent.php:6 -msgid "Attendees" -msgstr "" - -#: templates/part.eventform.php:13 -msgid "Share" -msgstr "" - -#: templates/part.eventform.php:21 -msgid "Title of the Event" -msgstr "" - -#: templates/part.eventform.php:27 templates/part.showevent.php:19 -msgid "Category" -msgstr "" - -#: templates/part.eventform.php:29 -msgid "Separate categories with commas" -msgstr "" - -#: templates/part.eventform.php:30 -msgid "Edit categories" -msgstr "" - -#: templates/part.eventform.php:56 templates/part.showevent.php:52 -msgid "All Day Event" -msgstr "" - -#: templates/part.eventform.php:60 templates/part.showevent.php:56 -msgid "From" -msgstr "" - -#: templates/part.eventform.php:68 templates/part.showevent.php:64 -msgid "To" -msgstr "" - -#: templates/part.eventform.php:76 templates/part.showevent.php:72 -msgid "Advanced options" -msgstr "" - -#: templates/part.eventform.php:81 templates/part.showevent.php:77 -msgid "Location" -msgstr "" - -#: templates/part.eventform.php:83 -msgid "Location of the Event" -msgstr "" - -#: templates/part.eventform.php:89 templates/part.showevent.php:85 -msgid "Description" -msgstr "" - -#: templates/part.eventform.php:91 -msgid "Description of the Event" -msgstr "" - -#: templates/part.eventform.php:100 templates/part.showevent.php:95 -msgid "Repeat" -msgstr "" - -#: templates/part.eventform.php:107 templates/part.showevent.php:102 -msgid "Advanced" -msgstr "" - -#: templates/part.eventform.php:151 templates/part.showevent.php:146 -msgid "Select weekdays" -msgstr "" - -#: templates/part.eventform.php:164 templates/part.eventform.php:177 -#: templates/part.showevent.php:159 templates/part.showevent.php:172 -msgid "Select days" -msgstr "" - -#: templates/part.eventform.php:169 templates/part.showevent.php:164 -msgid "and the events day of year." -msgstr "" - -#: templates/part.eventform.php:182 templates/part.showevent.php:177 -msgid "and the events day of month." -msgstr "" - -#: templates/part.eventform.php:190 templates/part.showevent.php:185 -msgid "Select months" -msgstr "" - -#: templates/part.eventform.php:203 templates/part.showevent.php:198 -msgid "Select weeks" -msgstr "" - -#: templates/part.eventform.php:208 templates/part.showevent.php:203 -msgid "and the events week of year." -msgstr "" - -#: templates/part.eventform.php:214 templates/part.showevent.php:209 -msgid "Interval" -msgstr "" - -#: templates/part.eventform.php:220 templates/part.showevent.php:215 -msgid "End" -msgstr "" - -#: templates/part.eventform.php:233 templates/part.showevent.php:228 -msgid "occurrences" -msgstr "" - -#: templates/part.import.php:14 -msgid "create a new calendar" -msgstr "" - -#: templates/part.import.php:17 -msgid "Import a calendar file" -msgstr "" - -#: templates/part.import.php:24 -msgid "Please choose a calendar" -msgstr "" - -#: templates/part.import.php:36 -msgid "Name of new calendar" -msgstr "" - -#: templates/part.import.php:44 -msgid "Take an available name!" -msgstr "" - -#: templates/part.import.php:45 -msgid "" -"A Calendar with this name already exists. If you continue anyhow, these " -"calendars will be merged." -msgstr "" - -#: templates/part.import.php:47 -msgid "Import" -msgstr "" - -#: templates/part.import.php:56 -msgid "Close Dialog" -msgstr "" - -#: templates/part.newevent.php:1 -msgid "Create a new event" -msgstr "" - -#: templates/part.showevent.php:1 -msgid "View an event" -msgstr "" - -#: templates/part.showevent.php:23 -msgid "No categories selected" -msgstr "" - -#: templates/part.showevent.php:37 -msgid "of" -msgstr "" - -#: templates/part.showevent.php:59 templates/part.showevent.php:67 -msgid "at" -msgstr "" - -#: templates/settings.php:10 -msgid "General" -msgstr "" - -#: templates/settings.php:15 -msgid "Timezone" -msgstr "" - -#: templates/settings.php:47 -msgid "Update timezone automatically" -msgstr "" - -#: templates/settings.php:52 -msgid "Time format" -msgstr "" - -#: templates/settings.php:57 -msgid "24h" -msgstr "" - -#: templates/settings.php:58 -msgid "12h" -msgstr "" - -#: templates/settings.php:64 -msgid "Start week on" -msgstr "" - -#: templates/settings.php:76 -msgid "Cache" -msgstr "" - -#: templates/settings.php:80 -msgid "Clear cache for repeating events" -msgstr "" - -#: templates/settings.php:85 -msgid "URLs" -msgstr "" - -#: templates/settings.php:87 -msgid "Calendar CalDAV syncing addresses" -msgstr "" - -#: templates/settings.php:87 -msgid "more info" -msgstr "" - -#: templates/settings.php:89 -msgid "Primary address (Kontact et al)" -msgstr "" - -#: templates/settings.php:91 -msgid "iOS/OS X" -msgstr "" - -#: templates/settings.php:93 -msgid "Read only iCalendar link(s)" -msgstr "" - -#: templates/share.dropdown.php:20 -msgid "Users" -msgstr "" - -#: templates/share.dropdown.php:21 -msgid "select users" -msgstr "" - -#: templates/share.dropdown.php:36 templates/share.dropdown.php:62 -msgid "Editable" -msgstr "" - -#: templates/share.dropdown.php:48 -msgid "Groups" -msgstr "" - -#: templates/share.dropdown.php:49 -msgid "select groups" -msgstr "" - -#: templates/share.dropdown.php:75 -msgid "make public" -msgstr "" diff --git a/l10n/eu_ES/contacts.po b/l10n/eu_ES/contacts.po deleted file mode 100644 index 0ef5f51a80f02b5db68de71b76c3b18f1a952555..0000000000000000000000000000000000000000 --- a/l10n/eu_ES/contacts.po +++ /dev/null @@ -1,952 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-24 02:02+0200\n" -"PO-Revision-Date: 2012-08-24 00:03+0000\n" -"Last-Translator: I Robot \n" -"Language-Team: Basque (Spain) (http://www.transifex.com/projects/p/owncloud/language/eu_ES/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: eu_ES\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: ajax/addressbook/activate.php:24 ajax/addressbook/update.php:32 -msgid "Error (de)activating addressbook." -msgstr "" - -#: ajax/addressbook/delete.php:31 ajax/addressbook/update.php:20 -#: ajax/contact/addproperty.php:42 ajax/contact/delete.php:32 -#: ajax/contact/saveproperty.php:39 -msgid "id is not set." -msgstr "" - -#: ajax/addressbook/update.php:24 -msgid "Cannot update addressbook with an empty name." -msgstr "" - -#: ajax/addressbook/update.php:28 -msgid "Error updating addressbook." -msgstr "" - -#: ajax/categories/categoriesfor.php:17 -msgid "No ID provided" -msgstr "" - -#: ajax/categories/categoriesfor.php:34 -msgid "Error setting checksum." -msgstr "" - -#: ajax/categories/delete.php:19 -msgid "No categories selected for deletion." -msgstr "" - -#: ajax/categories/delete.php:26 -msgid "No address books found." -msgstr "" - -#: ajax/categories/delete.php:34 -msgid "No contacts found." -msgstr "" - -#: ajax/contact/add.php:47 -msgid "There was an error adding the contact." -msgstr "" - -#: ajax/contact/addproperty.php:39 ajax/contact/saveproperty.php:36 -msgid "element name is not set." -msgstr "" - -#: ajax/contact/addproperty.php:46 -msgid "Could not parse contact: " -msgstr "" - -#: ajax/contact/addproperty.php:56 -msgid "Cannot add empty property." -msgstr "" - -#: ajax/contact/addproperty.php:67 -msgid "At least one of the address fields has to be filled out." -msgstr "" - -#: ajax/contact/addproperty.php:76 -msgid "Trying to add duplicate property: " -msgstr "" - -#: ajax/contact/addproperty.php:115 ajax/contact/saveproperty.php:93 -msgid "Missing IM parameter." -msgstr "" - -#: ajax/contact/addproperty.php:119 ajax/contact/saveproperty.php:97 -msgid "Unknown IM: " -msgstr "" - -#: ajax/contact/deleteproperty.php:37 -msgid "Information about vCard is incorrect. Please reload the page." -msgstr "" - -#: ajax/contact/details.php:31 -msgid "Missing ID" -msgstr "" - -#: ajax/contact/details.php:36 -msgid "Error parsing VCard for ID: \"" -msgstr "" - -#: ajax/contact/saveproperty.php:42 -msgid "checksum is not set." -msgstr "" - -#: ajax/contact/saveproperty.php:62 -msgid "Information about vCard is incorrect. Please reload the page: " -msgstr "" - -#: ajax/contact/saveproperty.php:69 -msgid "Something went FUBAR. " -msgstr "" - -#: ajax/currentphoto.php:30 ajax/oc_photo.php:28 ajax/uploadphoto.php:36 -#: ajax/uploadphoto.php:68 -msgid "No contact ID was submitted." -msgstr "" - -#: ajax/currentphoto.php:36 -msgid "Error reading contact photo." -msgstr "" - -#: ajax/currentphoto.php:48 -msgid "Error saving temporary file." -msgstr "" - -#: ajax/currentphoto.php:51 -msgid "The loading photo is not valid." -msgstr "" - -#: ajax/editname.php:31 -msgid "Contact ID is missing." -msgstr "" - -#: ajax/oc_photo.php:32 -msgid "No photo path was submitted." -msgstr "" - -#: ajax/oc_photo.php:39 -msgid "File doesn't exist:" -msgstr "" - -#: ajax/oc_photo.php:44 ajax/oc_photo.php:47 -msgid "Error loading image." -msgstr "" - -#: ajax/savecrop.php:69 -msgid "Error getting contact object." -msgstr "" - -#: ajax/savecrop.php:79 -msgid "Error getting PHOTO property." -msgstr "" - -#: ajax/savecrop.php:98 -msgid "Error saving contact." -msgstr "" - -#: ajax/savecrop.php:109 -msgid "Error resizing image" -msgstr "" - -#: ajax/savecrop.php:112 -msgid "Error cropping image" -msgstr "" - -#: ajax/savecrop.php:115 -msgid "Error creating temporary image" -msgstr "" - -#: ajax/savecrop.php:118 -msgid "Error finding image: " -msgstr "" - -#: ajax/uploadimport.php:44 ajax/uploadimport.php:76 -msgid "Error uploading contacts to storage." -msgstr "" - -#: ajax/uploadimport.php:61 ajax/uploadphoto.php:77 -msgid "There is no error, the file uploaded with success" -msgstr "" - -#: ajax/uploadimport.php:62 ajax/uploadphoto.php:78 -msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" -msgstr "" - -#: ajax/uploadimport.php:63 ajax/uploadphoto.php:79 -msgid "" -"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " -"the HTML form" -msgstr "" - -#: ajax/uploadimport.php:64 ajax/uploadphoto.php:80 -msgid "The uploaded file was only partially uploaded" -msgstr "" - -#: ajax/uploadimport.php:65 ajax/uploadphoto.php:81 -msgid "No file was uploaded" -msgstr "" - -#: ajax/uploadimport.php:66 ajax/uploadphoto.php:82 -msgid "Missing a temporary folder" -msgstr "" - -#: ajax/uploadphoto.php:59 ajax/uploadphoto.php:109 -msgid "Couldn't save temporary image: " -msgstr "" - -#: ajax/uploadphoto.php:62 ajax/uploadphoto.php:112 -msgid "Couldn't load temporary image: " -msgstr "" - -#: ajax/uploadphoto.php:71 -msgid "No file was uploaded. Unknown error" -msgstr "" - -#: appinfo/app.php:21 -msgid "Contacts" -msgstr "" - -#: js/contacts.js:71 -msgid "Sorry, this functionality has not been implemented yet" -msgstr "" - -#: js/contacts.js:71 -msgid "Not implemented" -msgstr "" - -#: js/contacts.js:76 -msgid "Couldn't get a valid address." -msgstr "" - -#: js/contacts.js:76 js/contacts.js:365 js/contacts.js:381 js/contacts.js:393 -#: js/contacts.js:723 js/contacts.js:763 js/contacts.js:789 js/contacts.js:921 -#: js/contacts.js:927 js/contacts.js:939 js/contacts.js:976 -#: js/contacts.js:1250 js/contacts.js:1258 js/contacts.js:1267 -#: js/contacts.js:1302 js/contacts.js:1338 js/contacts.js:1353 -#: js/contacts.js:1379 js/contacts.js:1609 js/contacts.js:1644 -#: js/contacts.js:1664 js/settings.js:26 js/settings.js:43 js/settings.js:68 -msgid "Error" -msgstr "" - -#: js/contacts.js:424 -msgid "You do not have permission to add contacts to " -msgstr "" - -#: js/contacts.js:425 -msgid "Please select one of your own address books." -msgstr "" - -#: js/contacts.js:425 -msgid "Permission error" -msgstr "" - -#: js/contacts.js:763 -msgid "This property has to be non-empty." -msgstr "" - -#: js/contacts.js:789 -msgid "Couldn't serialize elements." -msgstr "" - -#: js/contacts.js:921 js/contacts.js:939 -msgid "" -"'deleteProperty' called without type argument. Please report at " -"bugs.owncloud.org" -msgstr "" - -#: js/contacts.js:958 -msgid "Edit name" -msgstr "" - -#: js/contacts.js:1250 -msgid "No files selected for upload." -msgstr "" - -#: js/contacts.js:1258 -msgid "" -"The file you are trying to upload exceed the maximum size for file uploads " -"on this server." -msgstr "" - -#: js/contacts.js:1322 -msgid "Error loading profile picture." -msgstr "" - -#: js/contacts.js:1457 js/contacts.js:1498 js/contacts.js:1517 -#: js/contacts.js:1560 -msgid "Select type" -msgstr "" - -#: js/contacts.js:1578 -msgid "" -"Some contacts are marked for deletion, but not deleted yet. Please wait for " -"them to be deleted." -msgstr "" - -#: js/contacts.js:1649 -msgid "Do you want to merge these address books?" -msgstr "" - -#: js/loader.js:49 -msgid "Result: " -msgstr "" - -#: js/loader.js:49 -msgid " imported, " -msgstr "" - -#: js/loader.js:49 -msgid " failed." -msgstr "" - -#: js/settings.js:68 -msgid "Displayname cannot be empty." -msgstr "" - -#: lib/app.php:36 -msgid "Addressbook not found: " -msgstr "" - -#: lib/app.php:52 -msgid "This is not your addressbook." -msgstr "" - -#: lib/app.php:71 -msgid "Contact could not be found." -msgstr "" - -#: lib/app.php:116 -msgid "Jabber" -msgstr "" - -#: lib/app.php:121 -msgid "AIM" -msgstr "" - -#: lib/app.php:126 -msgid "MSN" -msgstr "" - -#: lib/app.php:131 -msgid "Twitter" -msgstr "" - -#: lib/app.php:136 -msgid "GoogleTalk" -msgstr "" - -#: lib/app.php:141 -msgid "Facebook" -msgstr "" - -#: lib/app.php:146 -msgid "XMPP" -msgstr "" - -#: lib/app.php:151 -msgid "ICQ" -msgstr "" - -#: lib/app.php:156 -msgid "Yahoo" -msgstr "" - -#: lib/app.php:161 -msgid "Skype" -msgstr "" - -#: lib/app.php:166 -msgid "QQ" -msgstr "" - -#: lib/app.php:171 -msgid "GaduGadu" -msgstr "" - -#: lib/app.php:194 lib/app.php:202 lib/app.php:213 lib/app.php:266 -msgid "Work" -msgstr "" - -#: lib/app.php:195 lib/app.php:200 lib/app.php:214 -msgid "Home" -msgstr "" - -#: lib/app.php:196 lib/app.php:209 lib/app.php:262 lib/vcard.php:593 -msgid "Other" -msgstr "" - -#: lib/app.php:201 -msgid "Mobile" -msgstr "" - -#: lib/app.php:203 -msgid "Text" -msgstr "" - -#: lib/app.php:204 -msgid "Voice" -msgstr "" - -#: lib/app.php:205 -msgid "Message" -msgstr "" - -#: lib/app.php:206 -msgid "Fax" -msgstr "" - -#: lib/app.php:207 -msgid "Video" -msgstr "" - -#: lib/app.php:208 -msgid "Pager" -msgstr "" - -#: lib/app.php:215 -msgid "Internet" -msgstr "" - -#: lib/app.php:252 templates/part.contact.php:45 -#: templates/part.contact.php:128 -msgid "Birthday" -msgstr "" - -#: lib/app.php:253 -msgid "Business" -msgstr "" - -#: lib/app.php:254 -msgid "Call" -msgstr "" - -#: lib/app.php:255 -msgid "Clients" -msgstr "" - -#: lib/app.php:256 -msgid "Deliverer" -msgstr "" - -#: lib/app.php:257 -msgid "Holidays" -msgstr "" - -#: lib/app.php:258 -msgid "Ideas" -msgstr "" - -#: lib/app.php:259 -msgid "Journey" -msgstr "" - -#: lib/app.php:260 -msgid "Jubilee" -msgstr "" - -#: lib/app.php:261 -msgid "Meeting" -msgstr "" - -#: lib/app.php:263 -msgid "Personal" -msgstr "" - -#: lib/app.php:264 -msgid "Projects" -msgstr "" - -#: lib/app.php:265 -msgid "Questions" -msgstr "" - -#: lib/hooks.php:102 -msgid "{name}'s Birthday" -msgstr "" - -#: lib/search.php:15 -msgid "Contact" -msgstr "" - -#: lib/vcard.php:408 -msgid "You do not have the permissions to edit this contact." -msgstr "" - -#: lib/vcard.php:483 -msgid "You do not have the permissions to delete this contact." -msgstr "" - -#: templates/index.php:14 -msgid "Add Contact" -msgstr "" - -#: templates/index.php:15 templates/index.php:16 templates/part.import.php:17 -msgid "Import" -msgstr "" - -#: templates/index.php:18 -msgid "Settings" -msgstr "" - -#: templates/index.php:18 templates/settings.php:9 -msgid "Addressbooks" -msgstr "" - -#: templates/index.php:36 templates/part.import.php:24 -msgid "Close" -msgstr "" - -#: templates/index.php:37 -msgid "Keyboard shortcuts" -msgstr "" - -#: templates/index.php:39 -msgid "Navigation" -msgstr "" - -#: templates/index.php:42 -msgid "Next contact in list" -msgstr "" - -#: templates/index.php:44 -msgid "Previous contact in list" -msgstr "" - -#: templates/index.php:46 -msgid "Expand/collapse current addressbook" -msgstr "" - -#: templates/index.php:48 -msgid "Next addressbook" -msgstr "" - -#: templates/index.php:50 -msgid "Previous addressbook" -msgstr "" - -#: templates/index.php:54 -msgid "Actions" -msgstr "" - -#: templates/index.php:57 -msgid "Refresh contacts list" -msgstr "" - -#: templates/index.php:59 -msgid "Add new contact" -msgstr "" - -#: templates/index.php:61 -msgid "Add new addressbook" -msgstr "" - -#: templates/index.php:63 -msgid "Delete current contact" -msgstr "" - -#: templates/part.contact.php:17 -msgid "Drop photo to upload" -msgstr "" - -#: templates/part.contact.php:19 -msgid "Delete current photo" -msgstr "" - -#: templates/part.contact.php:20 -msgid "Edit current photo" -msgstr "" - -#: templates/part.contact.php:21 -msgid "Upload new photo" -msgstr "" - -#: templates/part.contact.php:22 -msgid "Select photo from ownCloud" -msgstr "" - -#: templates/part.contact.php:35 -msgid "Format custom, Short name, Full name, Reverse or Reverse with comma" -msgstr "" - -#: templates/part.contact.php:36 -msgid "Edit name details" -msgstr "" - -#: templates/part.contact.php:39 templates/part.contact.php:40 -#: templates/part.contact.php:126 -msgid "Organization" -msgstr "" - -#: templates/part.contact.php:40 templates/part.contact.php:42 -#: templates/part.contact.php:44 templates/part.contact.php:46 -#: templates/part.contact.php:50 templates/settings.php:36 -msgid "Delete" -msgstr "" - -#: templates/part.contact.php:41 templates/part.contact.php:127 -msgid "Nickname" -msgstr "" - -#: templates/part.contact.php:42 -msgid "Enter nickname" -msgstr "" - -#: templates/part.contact.php:43 templates/part.contact.php:134 -msgid "Web site" -msgstr "" - -#: templates/part.contact.php:44 -msgid "http://www.somesite.com" -msgstr "" - -#: templates/part.contact.php:44 -msgid "Go to web site" -msgstr "" - -#: templates/part.contact.php:46 -msgid "dd-mm-yyyy" -msgstr "" - -#: templates/part.contact.php:47 templates/part.contact.php:135 -msgid "Groups" -msgstr "" - -#: templates/part.contact.php:49 -msgid "Separate groups with commas" -msgstr "" - -#: templates/part.contact.php:50 -msgid "Edit groups" -msgstr "" - -#: templates/part.contact.php:59 templates/part.contact.php:73 -#: templates/part.contact.php:98 -msgid "Preferred" -msgstr "" - -#: templates/part.contact.php:60 -msgid "Please specify a valid email address." -msgstr "" - -#: templates/part.contact.php:60 -msgid "Enter email address" -msgstr "" - -#: templates/part.contact.php:64 -msgid "Mail to address" -msgstr "" - -#: templates/part.contact.php:65 -msgid "Delete email address" -msgstr "" - -#: templates/part.contact.php:75 -msgid "Enter phone number" -msgstr "" - -#: templates/part.contact.php:79 -msgid "Delete phone number" -msgstr "" - -#: templates/part.contact.php:100 -msgid "Instant Messenger" -msgstr "" - -#: templates/part.contact.php:101 -msgid "Delete IM" -msgstr "" - -#: templates/part.contact.php:110 -msgid "View on map" -msgstr "" - -#: templates/part.contact.php:110 -msgid "Edit address details" -msgstr "" - -#: templates/part.contact.php:116 -msgid "Add notes here." -msgstr "" - -#: templates/part.contact.php:124 -msgid "Add field" -msgstr "" - -#: templates/part.contact.php:129 -msgid "Phone" -msgstr "" - -#: templates/part.contact.php:130 -msgid "Email" -msgstr "" - -#: templates/part.contact.php:131 -msgid "Instant Messaging" -msgstr "" - -#: templates/part.contact.php:132 -msgid "Address" -msgstr "" - -#: templates/part.contact.php:133 -msgid "Note" -msgstr "" - -#: templates/part.contact.php:138 -msgid "Download contact" -msgstr "" - -#: templates/part.contact.php:139 -msgid "Delete contact" -msgstr "" - -#: templates/part.cropphoto.php:65 -msgid "The temporary image has been removed from cache." -msgstr "" - -#: templates/part.edit_address_dialog.php:6 -msgid "Edit address" -msgstr "" - -#: templates/part.edit_address_dialog.php:10 -msgid "Type" -msgstr "" - -#: templates/part.edit_address_dialog.php:18 -#: templates/part.edit_address_dialog.php:21 -msgid "PO Box" -msgstr "" - -#: templates/part.edit_address_dialog.php:24 -msgid "Street address" -msgstr "" - -#: templates/part.edit_address_dialog.php:27 -msgid "Street and number" -msgstr "" - -#: templates/part.edit_address_dialog.php:30 -msgid "Extended" -msgstr "" - -#: templates/part.edit_address_dialog.php:33 -msgid "Apartment number etc." -msgstr "" - -#: templates/part.edit_address_dialog.php:36 -#: templates/part.edit_address_dialog.php:39 -msgid "City" -msgstr "" - -#: templates/part.edit_address_dialog.php:42 -msgid "Region" -msgstr "" - -#: templates/part.edit_address_dialog.php:45 -msgid "E.g. state or province" -msgstr "" - -#: templates/part.edit_address_dialog.php:48 -msgid "Zipcode" -msgstr "" - -#: templates/part.edit_address_dialog.php:51 -msgid "Postal code" -msgstr "" - -#: templates/part.edit_address_dialog.php:54 -#: templates/part.edit_address_dialog.php:57 -msgid "Country" -msgstr "" - -#: templates/part.edit_name_dialog.php:16 -msgid "Addressbook" -msgstr "" - -#: templates/part.edit_name_dialog.php:23 -msgid "Hon. prefixes" -msgstr "" - -#: templates/part.edit_name_dialog.php:27 -msgid "Miss" -msgstr "" - -#: templates/part.edit_name_dialog.php:28 -msgid "Ms" -msgstr "" - -#: templates/part.edit_name_dialog.php:29 -msgid "Mr" -msgstr "" - -#: templates/part.edit_name_dialog.php:30 -msgid "Sir" -msgstr "" - -#: templates/part.edit_name_dialog.php:31 -msgid "Mrs" -msgstr "" - -#: templates/part.edit_name_dialog.php:32 -msgid "Dr" -msgstr "" - -#: templates/part.edit_name_dialog.php:35 -msgid "Given name" -msgstr "" - -#: templates/part.edit_name_dialog.php:37 -msgid "Additional names" -msgstr "" - -#: templates/part.edit_name_dialog.php:39 -msgid "Family name" -msgstr "" - -#: templates/part.edit_name_dialog.php:41 -msgid "Hon. suffixes" -msgstr "" - -#: templates/part.edit_name_dialog.php:45 -msgid "J.D." -msgstr "" - -#: templates/part.edit_name_dialog.php:46 -msgid "M.D." -msgstr "" - -#: templates/part.edit_name_dialog.php:47 -msgid "D.O." -msgstr "" - -#: templates/part.edit_name_dialog.php:48 -msgid "D.C." -msgstr "" - -#: templates/part.edit_name_dialog.php:49 -msgid "Ph.D." -msgstr "" - -#: templates/part.edit_name_dialog.php:50 -msgid "Esq." -msgstr "" - -#: templates/part.edit_name_dialog.php:51 -msgid "Jr." -msgstr "" - -#: templates/part.edit_name_dialog.php:52 -msgid "Sn." -msgstr "" - -#: templates/part.import.php:1 -msgid "Import a contacts file" -msgstr "" - -#: templates/part.import.php:6 -msgid "Please choose the addressbook" -msgstr "" - -#: templates/part.import.php:10 -msgid "create a new addressbook" -msgstr "" - -#: templates/part.import.php:15 -msgid "Name of new addressbook" -msgstr "" - -#: templates/part.import.php:20 -msgid "Importing contacts" -msgstr "" - -#: templates/part.no_contacts.php:3 -msgid "You have no contacts in your addressbook." -msgstr "" - -#: templates/part.no_contacts.php:5 -msgid "Add contact" -msgstr "" - -#: templates/part.selectaddressbook.php:1 -msgid "Select Address Books" -msgstr "" - -#: templates/part.selectaddressbook.php:27 -msgid "Enter name" -msgstr "" - -#: templates/part.selectaddressbook.php:29 -msgid "Enter description" -msgstr "" - -#: templates/settings.php:3 -msgid "CardDAV syncing addresses" -msgstr "" - -#: templates/settings.php:3 -msgid "more info" -msgstr "" - -#: templates/settings.php:5 -msgid "Primary address (Kontact et al)" -msgstr "" - -#: templates/settings.php:7 -msgid "iOS/OS X" -msgstr "" - -#: templates/settings.php:20 -msgid "Show CardDav link" -msgstr "" - -#: templates/settings.php:23 -msgid "Show read-only VCF link" -msgstr "" - -#: templates/settings.php:26 -msgid "Share" -msgstr "" - -#: templates/settings.php:29 -msgid "Download" -msgstr "" - -#: templates/settings.php:33 -msgid "Edit" -msgstr "" - -#: templates/settings.php:43 -msgid "New Address Book" -msgstr "" - -#: templates/settings.php:44 -msgid "Name" -msgstr "" - -#: templates/settings.php:45 -msgid "Description" -msgstr "" - -#: templates/settings.php:46 -msgid "Save" -msgstr "" - -#: templates/settings.php:47 -msgid "Cancel" -msgstr "" - -#: templates/settings.php:52 -msgid "More..." -msgstr "" diff --git a/l10n/eu_ES/core.po b/l10n/eu_ES/core.po index a83a3117caf3b2dda491da3434c73d2cc7b3caa2..0bb862f9f47059a059912366d5142fc1a628e367 100644 --- a/l10n/eu_ES/core.po +++ b/l10n/eu_ES/core.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-16 02:04+0200\n" -"PO-Revision-Date: 2012-10-16 00:05+0000\n" +"POT-Creation-Date: 2012-10-18 02:03+0200\n" +"PO-Revision-Date: 2012-10-18 00:04+0000\n" "Last-Translator: I Robot \n" "Language-Team: Basque (Spain) (http://www.transifex.com/projects/p/owncloud/language/eu_ES/)\n" "MIME-Version: 1.0\n" @@ -123,15 +123,11 @@ msgid "Error while changing permissions" msgstr "" #: js/share.js:130 -msgid "Shared with you and the group" -msgstr "" - -#: js/share.js:130 -msgid "by" +msgid "Shared with you and the group {group} by {owner}" msgstr "" #: js/share.js:132 -msgid "Shared with you by" +msgid "Shared with you by {owner}" msgstr "" #: js/share.js:137 @@ -172,11 +168,7 @@ msgid "Resharing is not allowed" msgstr "" #: js/share.js:250 -msgid "Shared in" -msgstr "" - -#: js/share.js:250 -msgid "with" +msgid "Shared in {item} with {user}" msgstr "" #: js/share.js:271 diff --git a/l10n/eu_ES/files.po b/l10n/eu_ES/files.po index e697b9cd624592ae8717438ee202451578c13316..473f8ab054c92782400375a31590267f9f9bca09 100644 --- a/l10n/eu_ES/files.po +++ b/l10n/eu_ES/files.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-09-26 13:19+0200\n" -"PO-Revision-Date: 2012-09-26 11:20+0000\n" +"POT-Creation-Date: 2012-10-19 02:03+0200\n" +"PO-Revision-Date: 2012-10-19 00:04+0000\n" "Last-Translator: I Robot \n" "Language-Team: Basque (Spain) (http://www.transifex.com/projects/p/owncloud/language/eu_ES/)\n" "MIME-Version: 1.0\n" @@ -63,152 +63,152 @@ msgstr "" msgid "Rename" msgstr "" -#: js/filelist.js:190 js/filelist.js:192 -msgid "already exists" +#: js/filelist.js:194 js/filelist.js:196 +msgid "{new_name} already exists" msgstr "" -#: js/filelist.js:190 js/filelist.js:192 +#: js/filelist.js:194 js/filelist.js:196 msgid "replace" msgstr "" -#: js/filelist.js:190 +#: js/filelist.js:194 msgid "suggest name" msgstr "" -#: js/filelist.js:190 js/filelist.js:192 +#: js/filelist.js:194 js/filelist.js:196 msgid "cancel" msgstr "" -#: js/filelist.js:239 js/filelist.js:241 -msgid "replaced" +#: js/filelist.js:243 +msgid "replaced {new_name}" msgstr "" -#: js/filelist.js:239 js/filelist.js:241 js/filelist.js:273 js/filelist.js:275 +#: js/filelist.js:243 js/filelist.js:245 js/filelist.js:277 js/filelist.js:279 msgid "undo" msgstr "" -#: js/filelist.js:241 -msgid "with" +#: js/filelist.js:245 +msgid "replaced {new_name} with {old_name}" msgstr "" -#: js/filelist.js:273 -msgid "unshared" +#: js/filelist.js:277 +msgid "unshared {files}" msgstr "" -#: js/filelist.js:275 -msgid "deleted" +#: js/filelist.js:279 +msgid "deleted {files}" msgstr "" #: js/files.js:179 msgid "generating ZIP-file, it may take some time." msgstr "" -#: js/files.js:208 +#: js/files.js:214 msgid "Unable to upload your file as it is a directory or has 0 bytes" msgstr "" -#: js/files.js:208 +#: js/files.js:214 msgid "Upload Error" msgstr "" -#: js/files.js:236 js/files.js:341 js/files.js:371 +#: js/files.js:242 js/files.js:347 js/files.js:377 msgid "Pending" msgstr "" -#: js/files.js:256 +#: js/files.js:262 msgid "1 file uploading" msgstr "" -#: js/files.js:259 js/files.js:304 js/files.js:319 -msgid "files uploading" +#: js/files.js:265 js/files.js:310 js/files.js:325 +msgid "{count} files uploading" msgstr "" -#: js/files.js:322 js/files.js:355 +#: js/files.js:328 js/files.js:361 msgid "Upload cancelled." msgstr "" -#: js/files.js:424 +#: js/files.js:430 msgid "" "File upload is in progress. Leaving the page now will cancel the upload." msgstr "" -#: js/files.js:494 +#: js/files.js:500 msgid "Invalid name, '/' is not allowed." msgstr "" -#: js/files.js:667 -msgid "files scanned" +#: js/files.js:681 +msgid "{count} files scanned" msgstr "" -#: js/files.js:675 +#: js/files.js:689 msgid "error while scanning" msgstr "" -#: js/files.js:748 templates/index.php:48 +#: js/files.js:762 templates/index.php:48 msgid "Name" msgstr "" -#: js/files.js:749 templates/index.php:56 +#: js/files.js:763 templates/index.php:56 msgid "Size" msgstr "" -#: js/files.js:750 templates/index.php:58 +#: js/files.js:764 templates/index.php:58 msgid "Modified" msgstr "" -#: js/files.js:777 -msgid "folder" +#: js/files.js:791 +msgid "1 folder" msgstr "" -#: js/files.js:779 -msgid "folders" +#: js/files.js:793 +msgid "{count} folders" msgstr "" -#: js/files.js:787 -msgid "file" +#: js/files.js:801 +msgid "1 file" msgstr "" -#: js/files.js:789 -msgid "files" +#: js/files.js:803 +msgid "{count} files" msgstr "" -#: js/files.js:833 +#: js/files.js:846 msgid "seconds ago" msgstr "" -#: js/files.js:834 -msgid "minute ago" +#: js/files.js:847 +msgid "1 minute ago" msgstr "" -#: js/files.js:835 -msgid "minutes ago" +#: js/files.js:848 +msgid "{minutes} minutes ago" msgstr "" -#: js/files.js:838 +#: js/files.js:851 msgid "today" msgstr "" -#: js/files.js:839 +#: js/files.js:852 msgid "yesterday" msgstr "" -#: js/files.js:840 -msgid "days ago" +#: js/files.js:853 +msgid "{days} days ago" msgstr "" -#: js/files.js:841 +#: js/files.js:854 msgid "last month" msgstr "" -#: js/files.js:843 +#: js/files.js:856 msgid "months ago" msgstr "" -#: js/files.js:844 +#: js/files.js:857 msgid "last year" msgstr "" -#: js/files.js:845 +#: js/files.js:858 msgid "years ago" msgstr "" diff --git a/l10n/eu_ES/files_odfviewer.po b/l10n/eu_ES/files_odfviewer.po deleted file mode 100644 index ae252d7f3c18dcd1dec60f638bfcdda306664bb9..0000000000000000000000000000000000000000 --- a/l10n/eu_ES/files_odfviewer.po +++ /dev/null @@ -1,22 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 02:18+0200\n" -"PO-Revision-Date: 2012-08-26 00:19+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Basque (Spain) (http://www.transifex.com/projects/p/owncloud/language/eu_ES/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: eu_ES\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: js/viewer.js:9 -msgid "Close" -msgstr "" diff --git a/l10n/eu_ES/files_pdfviewer.po b/l10n/eu_ES/files_pdfviewer.po deleted file mode 100644 index 9dace38e4083f904c97301199817c2b6492f42fb..0000000000000000000000000000000000000000 --- a/l10n/eu_ES/files_pdfviewer.po +++ /dev/null @@ -1,42 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 02:18+0200\n" -"PO-Revision-Date: 2012-08-26 00:19+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Basque (Spain) (http://www.transifex.com/projects/p/owncloud/language/eu_ES/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: eu_ES\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: js/viewer.js:22 -msgid "Previous" -msgstr "" - -#: js/viewer.js:23 -msgid "Next" -msgstr "" - -#: js/viewer.js:29 -msgid "Page Width" -msgstr "" - -#: js/viewer.js:29 -msgid "Page Fit" -msgstr "" - -#: js/viewer.js:30 -msgid "Print" -msgstr "" - -#: js/viewer.js:32 -msgid "Download" -msgstr "" diff --git a/l10n/eu_ES/files_texteditor.po b/l10n/eu_ES/files_texteditor.po deleted file mode 100644 index f4fbf12ae54455d2d7d844ccf747a1795f2d1120..0000000000000000000000000000000000000000 --- a/l10n/eu_ES/files_texteditor.po +++ /dev/null @@ -1,44 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 01:17+0200\n" -"PO-Revision-Date: 2012-08-25 23:18+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Basque (Spain) (http://www.transifex.com/projects/p/owncloud/language/eu_ES/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: eu_ES\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: js/aceeditor/mode-coldfusion-uncompressed.js:1568 -#: js/aceeditor/mode-liquid-uncompressed.js:902 -#: js/aceeditor/mode-svg-uncompressed.js:1575 -msgid "regex" -msgstr "" - -#: js/editor.js:72 js/editor.js:156 js/editor.js:163 -msgid "Save" -msgstr "" - -#: js/editor.js:74 -msgid "Close" -msgstr "" - -#: js/editor.js:149 -msgid "Saving..." -msgstr "" - -#: js/editor.js:239 -msgid "An error occurred!" -msgstr "" - -#: js/editor.js:266 -msgid "There were unsaved changes, click here to go back" -msgstr "" diff --git a/l10n/eu_ES/gallery.po b/l10n/eu_ES/gallery.po deleted file mode 100644 index 54096c308b2797225d994c19b0287b11cee6aadd..0000000000000000000000000000000000000000 --- a/l10n/eu_ES/gallery.po +++ /dev/null @@ -1,58 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-07-31 22:53+0200\n" -"PO-Revision-Date: 2012-01-15 13:48+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Basque (Spain) (http://www.transifex.com/projects/p/owncloud/language/eu_ES/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: eu_ES\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: appinfo/app.php:39 -msgid "Pictures" -msgstr "" - -#: js/pictures.js:12 -msgid "Share gallery" -msgstr "" - -#: js/pictures.js:32 -msgid "Error: " -msgstr "" - -#: js/pictures.js:32 -msgid "Internal error" -msgstr "" - -#: templates/index.php:27 -msgid "Slideshow" -msgstr "" - -#: templates/view_album.php:19 -msgid "Back" -msgstr "" - -#: templates/view_album.php:36 -msgid "Remove confirmation" -msgstr "" - -#: templates/view_album.php:37 -msgid "Do you want to remove album" -msgstr "" - -#: templates/view_album.php:40 -msgid "Change album name" -msgstr "" - -#: templates/view_album.php:43 -msgid "New album name" -msgstr "" diff --git a/l10n/eu_ES/impress.po b/l10n/eu_ES/impress.po deleted file mode 100644 index f3819cec39ff0aa3eda424d5b6e436f84ba85776..0000000000000000000000000000000000000000 --- a/l10n/eu_ES/impress.po +++ /dev/null @@ -1,22 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 01:17+0200\n" -"PO-Revision-Date: 2012-08-25 23:18+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Basque (Spain) (http://www.transifex.com/projects/p/owncloud/language/eu_ES/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: eu_ES\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: templates/presentations.php:7 -msgid "Documentation" -msgstr "" diff --git a/l10n/eu_ES/media.po b/l10n/eu_ES/media.po deleted file mode 100644 index 7b6fee29b9cc2395960c243f8e4f12299e1a465a..0000000000000000000000000000000000000000 --- a/l10n/eu_ES/media.po +++ /dev/null @@ -1,66 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-07-31 22:53+0200\n" -"PO-Revision-Date: 2011-08-13 02:19+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Basque (Spain) (http://www.transifex.com/projects/p/owncloud/language/eu_ES/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: eu_ES\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: appinfo/app.php:45 templates/player.php:8 -msgid "Music" -msgstr "" - -#: js/music.js:18 -msgid "Add album to playlist" -msgstr "" - -#: templates/music.php:3 templates/player.php:12 -msgid "Play" -msgstr "" - -#: templates/music.php:4 templates/music.php:26 templates/player.php:13 -msgid "Pause" -msgstr "" - -#: templates/music.php:5 -msgid "Previous" -msgstr "" - -#: templates/music.php:6 templates/player.php:14 -msgid "Next" -msgstr "" - -#: templates/music.php:7 -msgid "Mute" -msgstr "" - -#: templates/music.php:8 -msgid "Unmute" -msgstr "" - -#: templates/music.php:25 -msgid "Rescan Collection" -msgstr "" - -#: templates/music.php:37 -msgid "Artist" -msgstr "" - -#: templates/music.php:38 -msgid "Album" -msgstr "" - -#: templates/music.php:39 -msgid "Title" -msgstr "" diff --git a/l10n/eu_ES/tasks.po b/l10n/eu_ES/tasks.po deleted file mode 100644 index aad5eb88c3160f4cffb3751b370c2dbae02b8404..0000000000000000000000000000000000000000 --- a/l10n/eu_ES/tasks.po +++ /dev/null @@ -1,106 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:44+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Basque (Spain) (http://www.transifex.com/projects/p/owncloud/language/eu_ES/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: eu_ES\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: ajax/update_property.php:51 lib/app.php:89 lib/app.php:101 -msgid "Invalid date/time" -msgstr "" - -#: appinfo/app.php:11 -msgid "Tasks" -msgstr "" - -#: js/tasks.js:415 -msgid "No category" -msgstr "" - -#: lib/app.php:33 -msgid "Unspecified" -msgstr "" - -#: lib/app.php:34 -msgid "1=highest" -msgstr "" - -#: lib/app.php:38 -msgid "5=medium" -msgstr "" - -#: lib/app.php:42 -msgid "9=lowest" -msgstr "" - -#: lib/app.php:81 -msgid "Empty Summary" -msgstr "" - -#: lib/app.php:93 -msgid "Invalid percent complete" -msgstr "" - -#: lib/app.php:107 -msgid "Invalid priority" -msgstr "" - -#: templates/tasks.php:3 -msgid "Add Task" -msgstr "" - -#: templates/tasks.php:4 -msgid "Order Due" -msgstr "" - -#: templates/tasks.php:5 -msgid "Order List" -msgstr "" - -#: templates/tasks.php:6 -msgid "Order Complete" -msgstr "" - -#: templates/tasks.php:7 -msgid "Order Location" -msgstr "" - -#: templates/tasks.php:8 -msgid "Order Priority" -msgstr "" - -#: templates/tasks.php:9 -msgid "Order Label" -msgstr "" - -#: templates/tasks.php:16 -msgid "Loading tasks..." -msgstr "" - -#: templates/tasks.php:20 -msgid "Important" -msgstr "" - -#: templates/tasks.php:23 -msgid "More" -msgstr "" - -#: templates/tasks.php:26 -msgid "Less" -msgstr "" - -#: templates/tasks.php:29 -msgid "Delete" -msgstr "" diff --git a/l10n/eu_ES/user_migrate.po b/l10n/eu_ES/user_migrate.po deleted file mode 100644 index 7a3cda2309630d285e47168bb6ade6955fc5c1d9..0000000000000000000000000000000000000000 --- a/l10n/eu_ES/user_migrate.po +++ /dev/null @@ -1,51 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:45+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Basque (Spain) (http://www.transifex.com/projects/p/owncloud/language/eu_ES/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: eu_ES\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: js/export.js:14 js/export.js:20 -msgid "Export" -msgstr "" - -#: js/export.js:19 -msgid "Something went wrong while the export file was being generated" -msgstr "" - -#: js/export.js:19 -msgid "An error has occurred" -msgstr "" - -#: templates/settings.php:2 -msgid "Export your user account" -msgstr "" - -#: templates/settings.php:3 -msgid "" -"This will create a compressed file that contains your ownCloud account." -msgstr "" - -#: templates/settings.php:13 -msgid "Import user account" -msgstr "" - -#: templates/settings.php:15 -msgid "ownCloud User Zip" -msgstr "" - -#: templates/settings.php:17 -msgid "Import" -msgstr "" diff --git a/l10n/eu_ES/user_openid.po b/l10n/eu_ES/user_openid.po deleted file mode 100644 index 7016da797dd9aba7bdc3fbf5347327b400e51255..0000000000000000000000000000000000000000 --- a/l10n/eu_ES/user_openid.po +++ /dev/null @@ -1,54 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:45+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Basque (Spain) (http://www.transifex.com/projects/p/owncloud/language/eu_ES/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: eu_ES\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: templates/nomode.php:12 -msgid "This is an OpenID server endpoint. For more information, see " -msgstr "" - -#: templates/nomode.php:14 -msgid "Identity: " -msgstr "" - -#: templates/nomode.php:15 -msgid "Realm: " -msgstr "" - -#: templates/nomode.php:16 -msgid "User: " -msgstr "" - -#: templates/nomode.php:17 -msgid "Login" -msgstr "" - -#: templates/nomode.php:22 -msgid "Error: No user Selected" -msgstr "" - -#: templates/settings.php:4 -msgid "you can authenticate to other sites with this address" -msgstr "" - -#: templates/settings.php:5 -msgid "Authorized OpenID provider" -msgstr "" - -#: templates/settings.php:6 -msgid "Your address at Wordpress, Identi.ca, …" -msgstr "" diff --git a/l10n/fa/admin_dependencies_chk.po b/l10n/fa/admin_dependencies_chk.po deleted file mode 100644 index 265e0c6cd7c704409c3a7f38bc468c5844999bcd..0000000000000000000000000000000000000000 --- a/l10n/fa/admin_dependencies_chk.po +++ /dev/null @@ -1,73 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:33+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Persian (http://www.transifex.com/projects/p/owncloud/language/fa/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: fa\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: settings.php:33 -msgid "" -"The php-json module is needed by the many applications for inter " -"communications" -msgstr "" - -#: settings.php:39 -msgid "" -"The php-curl modude is needed to fetch the page title when adding a " -"bookmarks" -msgstr "" - -#: settings.php:45 -msgid "The php-gd module is needed to create thumbnails of your images" -msgstr "" - -#: settings.php:51 -msgid "The php-ldap module is needed connect to your ldap server" -msgstr "" - -#: settings.php:57 -msgid "The php-zip module is needed download multiple files at once" -msgstr "" - -#: settings.php:63 -msgid "" -"The php-mb_multibyte module is needed to manage correctly the encoding." -msgstr "" - -#: settings.php:69 -msgid "The php-ctype module is needed validate data." -msgstr "" - -#: settings.php:75 -msgid "The php-xml module is needed to share files with webdav." -msgstr "" - -#: settings.php:81 -msgid "" -"The allow_url_fopen directive of your php.ini should be set to 1 to retrieve" -" knowledge base from OCS servers" -msgstr "" - -#: settings.php:87 -msgid "The php-pdo module is needed to store owncloud data into a database." -msgstr "" - -#: templates/settings.php:2 -msgid "Dependencies status" -msgstr "" - -#: templates/settings.php:7 -msgid "Used by :" -msgstr "" diff --git a/l10n/fa/bookmarks.po b/l10n/fa/bookmarks.po deleted file mode 100644 index c4649e206bb87c8c1c7151d0241fc25769da6596..0000000000000000000000000000000000000000 --- a/l10n/fa/bookmarks.po +++ /dev/null @@ -1,61 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Mohammad Dashtizadeh , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-24 02:02+0200\n" -"PO-Revision-Date: 2012-08-23 20:19+0000\n" -"Last-Translator: Mohammad Dashtizadeh \n" -"Language-Team: Persian (http://www.transifex.com/projects/p/owncloud/language/fa/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: fa\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: appinfo/app.php:14 -msgid "Bookmarks" -msgstr "نشانک‌ها" - -#: bookmarksHelper.php:99 -msgid "unnamed" -msgstr "بدون‌نام" - -#: templates/bookmarklet.php:5 -msgid "" -"Drag this to your browser bookmarks and click it, when you want to bookmark " -"a webpage quickly:" -msgstr "" - -#: templates/bookmarklet.php:7 -msgid "Read later" -msgstr "" - -#: templates/list.php:13 -msgid "Address" -msgstr "آدرس" - -#: templates/list.php:14 -msgid "Title" -msgstr "عنوان" - -#: templates/list.php:15 -msgid "Tags" -msgstr "" - -#: templates/list.php:16 -msgid "Save bookmark" -msgstr "ذخیره نشانک" - -#: templates/list.php:22 -msgid "You have no bookmarks" -msgstr "شما هیچ نشانکی ندارید" - -#: templates/settings.php:11 -msgid "Bookmarklet
" -msgstr "" diff --git a/l10n/fa/calendar.po b/l10n/fa/calendar.po deleted file mode 100644 index 1702670824e4762ccfca67c24a6f2e8803f7284f..0000000000000000000000000000000000000000 --- a/l10n/fa/calendar.po +++ /dev/null @@ -1,814 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Hossein nag , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-11 02:02+0200\n" -"PO-Revision-Date: 2012-08-11 00:02+0000\n" -"Last-Translator: owncloud_robot \n" -"Language-Team: Persian (http://www.transifex.com/projects/p/owncloud/language/fa/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: fa\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: ajax/cache/status.php:19 -msgid "Not all calendars are completely cached" -msgstr "" - -#: ajax/cache/status.php:21 -msgid "Everything seems to be completely cached" -msgstr "" - -#: ajax/categories/rescan.php:29 -msgid "No calendars found." -msgstr "هیچ تقویمی پیدا نشد" - -#: ajax/categories/rescan.php:37 -msgid "No events found." -msgstr "هیچ رویدادی پیدا نشد" - -#: ajax/event/edit.form.php:20 -msgid "Wrong calendar" -msgstr "تقویم اشتباه" - -#: ajax/import/dropimport.php:29 ajax/import/import.php:64 -msgid "" -"The file contained either no events or all events are already saved in your " -"calendar." -msgstr "" - -#: ajax/import/dropimport.php:31 ajax/import/import.php:67 -msgid "events has been saved in the new calendar" -msgstr "" - -#: ajax/import/import.php:56 -msgid "Import failed" -msgstr "" - -#: ajax/import/import.php:69 -msgid "events has been saved in your calendar" -msgstr "" - -#: ajax/settings/guesstimezone.php:25 -msgid "New Timezone:" -msgstr "زمان محلی جدید" - -#: ajax/settings/settimezone.php:23 -msgid "Timezone changed" -msgstr "زمان محلی تغییر یافت" - -#: ajax/settings/settimezone.php:25 -msgid "Invalid request" -msgstr "درخواست نامعتبر" - -#: appinfo/app.php:35 templates/calendar.php:15 -#: templates/part.eventform.php:33 templates/part.showevent.php:33 -msgid "Calendar" -msgstr "تقویم" - -#: js/calendar.js:832 -msgid "ddd" -msgstr "ddd" - -#: js/calendar.js:833 -msgid "ddd M/d" -msgstr "ddd M/d" - -#: js/calendar.js:834 -msgid "dddd M/d" -msgstr "dddd M/d" - -#: js/calendar.js:837 -msgid "MMMM yyyy" -msgstr "MMMM yyyy" - -#: js/calendar.js:839 -msgid "MMM d[ yyyy]{ '—'[ MMM] d yyyy}" -msgstr "DDD m[ yyyy]{ '—'[ DDD] m yyyy}" - -#: js/calendar.js:841 -msgid "dddd, MMM d, yyyy" -msgstr "dddd, MMM d, yyyy" - -#: lib/app.php:121 -msgid "Birthday" -msgstr "روزتولد" - -#: lib/app.php:122 -msgid "Business" -msgstr "تجارت" - -#: lib/app.php:123 -msgid "Call" -msgstr "تماس گرفتن" - -#: lib/app.php:124 -msgid "Clients" -msgstr "مشتریان" - -#: lib/app.php:125 -msgid "Deliverer" -msgstr "نجات" - -#: lib/app.php:126 -msgid "Holidays" -msgstr "روزهای تعطیل" - -#: lib/app.php:127 -msgid "Ideas" -msgstr "ایده ها" - -#: lib/app.php:128 -msgid "Journey" -msgstr "سفر" - -#: lib/app.php:129 -msgid "Jubilee" -msgstr "سالگرد" - -#: lib/app.php:130 -msgid "Meeting" -msgstr "ملاقات" - -#: lib/app.php:131 -msgid "Other" -msgstr "دیگر" - -#: lib/app.php:132 -msgid "Personal" -msgstr "شخصی" - -#: lib/app.php:133 -msgid "Projects" -msgstr "پروژه ها" - -#: lib/app.php:134 -msgid "Questions" -msgstr "سوالات" - -#: lib/app.php:135 -msgid "Work" -msgstr "کار" - -#: lib/app.php:351 lib/app.php:361 -msgid "by" -msgstr "" - -#: lib/app.php:359 lib/app.php:399 -msgid "unnamed" -msgstr "نام گذاری نشده" - -#: lib/import.php:184 templates/calendar.php:12 -#: templates/part.choosecalendar.php:22 -msgid "New Calendar" -msgstr "تقویم جدید" - -#: lib/object.php:372 -msgid "Does not repeat" -msgstr "تکرار نکنید" - -#: lib/object.php:373 -msgid "Daily" -msgstr "روزانه" - -#: lib/object.php:374 -msgid "Weekly" -msgstr "هفتهگی" - -#: lib/object.php:375 -msgid "Every Weekday" -msgstr "هرروز هفته" - -#: lib/object.php:376 -msgid "Bi-Weekly" -msgstr "دوهفته" - -#: lib/object.php:377 -msgid "Monthly" -msgstr "ماهانه" - -#: lib/object.php:378 -msgid "Yearly" -msgstr "سالانه" - -#: lib/object.php:388 -msgid "never" -msgstr "هرگز" - -#: lib/object.php:389 -msgid "by occurrences" -msgstr "به وسیله ظهور" - -#: lib/object.php:390 -msgid "by date" -msgstr "به وسیله تاریخ" - -#: lib/object.php:400 -msgid "by monthday" -msgstr "به وسیله روزهای ماه" - -#: lib/object.php:401 -msgid "by weekday" -msgstr "به وسیله روز های هفته" - -#: lib/object.php:411 templates/calendar.php:5 templates/settings.php:69 -msgid "Monday" -msgstr "دوشنبه" - -#: lib/object.php:412 templates/calendar.php:5 -msgid "Tuesday" -msgstr "سه شنبه" - -#: lib/object.php:413 templates/calendar.php:5 -msgid "Wednesday" -msgstr "چهارشنبه" - -#: lib/object.php:414 templates/calendar.php:5 -msgid "Thursday" -msgstr "پنجشنبه" - -#: lib/object.php:415 templates/calendar.php:5 -msgid "Friday" -msgstr "جمعه" - -#: lib/object.php:416 templates/calendar.php:5 -msgid "Saturday" -msgstr "شنبه" - -#: lib/object.php:417 templates/calendar.php:5 templates/settings.php:70 -msgid "Sunday" -msgstr "یکشنبه" - -#: lib/object.php:427 -msgid "events week of month" -msgstr "رویداد های هفته هایی از ماه" - -#: lib/object.php:428 -msgid "first" -msgstr "اولین" - -#: lib/object.php:429 -msgid "second" -msgstr "دومین" - -#: lib/object.php:430 -msgid "third" -msgstr "سومین" - -#: lib/object.php:431 -msgid "fourth" -msgstr "چهارمین" - -#: lib/object.php:432 -msgid "fifth" -msgstr "پنجمین" - -#: lib/object.php:433 -msgid "last" -msgstr "آخرین" - -#: lib/object.php:467 templates/calendar.php:7 -msgid "January" -msgstr "ژانویه" - -#: lib/object.php:468 templates/calendar.php:7 -msgid "February" -msgstr "فبریه" - -#: lib/object.php:469 templates/calendar.php:7 -msgid "March" -msgstr "مارس" - -#: lib/object.php:470 templates/calendar.php:7 -msgid "April" -msgstr "آوریل" - -#: lib/object.php:471 templates/calendar.php:7 -msgid "May" -msgstr "می" - -#: lib/object.php:472 templates/calendar.php:7 -msgid "June" -msgstr "ژوءن" - -#: lib/object.php:473 templates/calendar.php:7 -msgid "July" -msgstr "جولای" - -#: lib/object.php:474 templates/calendar.php:7 -msgid "August" -msgstr "آگوست" - -#: lib/object.php:475 templates/calendar.php:7 -msgid "September" -msgstr "سپتامبر" - -#: lib/object.php:476 templates/calendar.php:7 -msgid "October" -msgstr "اکتبر" - -#: lib/object.php:477 templates/calendar.php:7 -msgid "November" -msgstr "نوامبر" - -#: lib/object.php:478 templates/calendar.php:7 -msgid "December" -msgstr "دسامبر" - -#: lib/object.php:488 -msgid "by events date" -msgstr "به وسیله رویداد های روزانه" - -#: lib/object.php:489 -msgid "by yearday(s)" -msgstr "به وسیله روز های سال(ها)" - -#: lib/object.php:490 -msgid "by weeknumber(s)" -msgstr "به وسیله شماره هفته(ها)" - -#: lib/object.php:491 -msgid "by day and month" -msgstr "به وسیله روز و ماه" - -#: lib/search.php:35 lib/search.php:37 lib/search.php:40 -msgid "Date" -msgstr "تاریخ" - -#: lib/search.php:43 -msgid "Cal." -msgstr "تقویم." - -#: templates/calendar.php:6 -msgid "Sun." -msgstr "" - -#: templates/calendar.php:6 -msgid "Mon." -msgstr "" - -#: templates/calendar.php:6 -msgid "Tue." -msgstr "" - -#: templates/calendar.php:6 -msgid "Wed." -msgstr "" - -#: templates/calendar.php:6 -msgid "Thu." -msgstr "" - -#: templates/calendar.php:6 -msgid "Fri." -msgstr "" - -#: templates/calendar.php:6 -msgid "Sat." -msgstr "" - -#: templates/calendar.php:8 -msgid "Jan." -msgstr "" - -#: templates/calendar.php:8 -msgid "Feb." -msgstr "" - -#: templates/calendar.php:8 -msgid "Mar." -msgstr "" - -#: templates/calendar.php:8 -msgid "Apr." -msgstr "" - -#: templates/calendar.php:8 -msgid "May." -msgstr "" - -#: templates/calendar.php:8 -msgid "Jun." -msgstr "" - -#: templates/calendar.php:8 -msgid "Jul." -msgstr "" - -#: templates/calendar.php:8 -msgid "Aug." -msgstr "" - -#: templates/calendar.php:8 -msgid "Sep." -msgstr "" - -#: templates/calendar.php:8 -msgid "Oct." -msgstr "" - -#: templates/calendar.php:8 -msgid "Nov." -msgstr "" - -#: templates/calendar.php:8 -msgid "Dec." -msgstr "" - -#: templates/calendar.php:11 -msgid "All day" -msgstr "هرروز" - -#: templates/calendar.php:13 -msgid "Missing fields" -msgstr "فیلد های گم شده" - -#: templates/calendar.php:14 templates/part.eventform.php:19 -#: templates/part.showevent.php:11 -msgid "Title" -msgstr "عنوان" - -#: templates/calendar.php:16 -msgid "From Date" -msgstr "از تاریخ" - -#: templates/calendar.php:17 -msgid "From Time" -msgstr "از ساعت" - -#: templates/calendar.php:18 -msgid "To Date" -msgstr "به تاریخ" - -#: templates/calendar.php:19 -msgid "To Time" -msgstr "به ساعت" - -#: templates/calendar.php:20 -msgid "The event ends before it starts" -msgstr "رویداد قبل از شروع شدن تمام شده!" - -#: templates/calendar.php:21 -msgid "There was a database fail" -msgstr "یک پایگاه داده فرو مانده است" - -#: templates/calendar.php:39 -msgid "Week" -msgstr "هفته" - -#: templates/calendar.php:40 -msgid "Month" -msgstr "ماه" - -#: templates/calendar.php:41 -msgid "List" -msgstr "فهرست" - -#: templates/calendar.php:45 -msgid "Today" -msgstr "امروز" - -#: templates/calendar.php:46 templates/calendar.php:47 -msgid "Settings" -msgstr "" - -#: templates/part.choosecalendar.php:2 -msgid "Your calendars" -msgstr "تقویم های شما" - -#: templates/part.choosecalendar.php:27 -#: templates/part.choosecalendar.rowfields.php:11 -msgid "CalDav Link" -msgstr "CalDav Link" - -#: templates/part.choosecalendar.php:31 -msgid "Shared calendars" -msgstr "تقویمهای به اشترک گذاری شده" - -#: templates/part.choosecalendar.php:48 -msgid "No shared calendars" -msgstr "هیچ تقویمی به اشتراک گذارده نشده" - -#: templates/part.choosecalendar.rowfields.php:8 -msgid "Share Calendar" -msgstr "تقویم را به اشتراک بگذارید" - -#: templates/part.choosecalendar.rowfields.php:14 -msgid "Download" -msgstr "بارگیری" - -#: templates/part.choosecalendar.rowfields.php:17 -msgid "Edit" -msgstr "ویرایش" - -#: templates/part.choosecalendar.rowfields.php:20 -#: templates/part.editevent.php:9 -msgid "Delete" -msgstr "پاک کردن" - -#: templates/part.choosecalendar.rowfields.shared.php:4 -msgid "shared with you by" -msgstr "به اشتراک گذارده شده به وسیله" - -#: templates/part.editcalendar.php:9 -msgid "New calendar" -msgstr "تقویم جدید" - -#: templates/part.editcalendar.php:9 -msgid "Edit calendar" -msgstr "ویرایش تقویم" - -#: templates/part.editcalendar.php:12 -msgid "Displayname" -msgstr "نام برای نمایش" - -#: templates/part.editcalendar.php:23 -msgid "Active" -msgstr "فعال" - -#: templates/part.editcalendar.php:29 -msgid "Calendar color" -msgstr "رنگ تقویم" - -#: templates/part.editcalendar.php:42 -msgid "Save" -msgstr "ذخیره سازی" - -#: templates/part.editcalendar.php:42 templates/part.editevent.php:8 -#: templates/part.newevent.php:6 -msgid "Submit" -msgstr "ارسال" - -#: templates/part.editcalendar.php:43 -msgid "Cancel" -msgstr "انصراف" - -#: templates/part.editevent.php:1 -msgid "Edit an event" -msgstr "ویرایش رویداد" - -#: templates/part.editevent.php:10 -msgid "Export" -msgstr "خروجی گرفتن" - -#: templates/part.eventform.php:8 templates/part.showevent.php:3 -msgid "Eventinfo" -msgstr "اطلاعات رویداد" - -#: templates/part.eventform.php:9 templates/part.showevent.php:4 -msgid "Repeating" -msgstr "در حال تکرار کردن" - -#: templates/part.eventform.php:10 templates/part.showevent.php:5 -msgid "Alarm" -msgstr "هشدار" - -#: templates/part.eventform.php:11 templates/part.showevent.php:6 -msgid "Attendees" -msgstr "شرکت کنندگان" - -#: templates/part.eventform.php:13 -msgid "Share" -msgstr "به اشتراک گذاردن" - -#: templates/part.eventform.php:21 -msgid "Title of the Event" -msgstr "عنوان رویداد" - -#: templates/part.eventform.php:27 templates/part.showevent.php:19 -msgid "Category" -msgstr "نوع" - -#: templates/part.eventform.php:29 -msgid "Separate categories with commas" -msgstr "گروه ها را به وسیله درنگ نما از هم جدا کنید" - -#: templates/part.eventform.php:30 -msgid "Edit categories" -msgstr "ویرایش گروه" - -#: templates/part.eventform.php:56 templates/part.showevent.php:52 -msgid "All Day Event" -msgstr "رویداد های روزانه" - -#: templates/part.eventform.php:60 templates/part.showevent.php:56 -msgid "From" -msgstr "از" - -#: templates/part.eventform.php:68 templates/part.showevent.php:64 -msgid "To" -msgstr "به" - -#: templates/part.eventform.php:76 templates/part.showevent.php:72 -msgid "Advanced options" -msgstr "تنظیمات حرفه ای" - -#: templates/part.eventform.php:81 templates/part.showevent.php:77 -msgid "Location" -msgstr "منطقه" - -#: templates/part.eventform.php:83 -msgid "Location of the Event" -msgstr "منطقه رویداد" - -#: templates/part.eventform.php:89 templates/part.showevent.php:85 -msgid "Description" -msgstr "توضیحات" - -#: templates/part.eventform.php:91 -msgid "Description of the Event" -msgstr "توضیحات درباره رویداد" - -#: templates/part.eventform.php:100 templates/part.showevent.php:95 -msgid "Repeat" -msgstr "تکرار" - -#: templates/part.eventform.php:107 templates/part.showevent.php:102 -msgid "Advanced" -msgstr "پیشرفته" - -#: templates/part.eventform.php:151 templates/part.showevent.php:146 -msgid "Select weekdays" -msgstr "انتخاب روز های هفته " - -#: templates/part.eventform.php:164 templates/part.eventform.php:177 -#: templates/part.showevent.php:159 templates/part.showevent.php:172 -msgid "Select days" -msgstr "انتخاب روز ها" - -#: templates/part.eventform.php:169 templates/part.showevent.php:164 -msgid "and the events day of year." -msgstr "و رویداد های روز از سال" - -#: templates/part.eventform.php:182 templates/part.showevent.php:177 -msgid "and the events day of month." -msgstr "و رویداد های روز از ماه" - -#: templates/part.eventform.php:190 templates/part.showevent.php:185 -msgid "Select months" -msgstr "انتخاب ماه ها" - -#: templates/part.eventform.php:203 templates/part.showevent.php:198 -msgid "Select weeks" -msgstr "انتخاب هفته ها" - -#: templates/part.eventform.php:208 templates/part.showevent.php:203 -msgid "and the events week of year." -msgstr "و رویداد هفته ها از سال" - -#: templates/part.eventform.php:214 templates/part.showevent.php:209 -msgid "Interval" -msgstr "فاصله" - -#: templates/part.eventform.php:220 templates/part.showevent.php:215 -msgid "End" -msgstr "پایان" - -#: templates/part.eventform.php:233 templates/part.showevent.php:228 -msgid "occurrences" -msgstr "ظهور" - -#: templates/part.import.php:14 -msgid "create a new calendar" -msgstr "یک تقویم جدید ایجاد کنید" - -#: templates/part.import.php:17 -msgid "Import a calendar file" -msgstr "یک پرونده حاوی تقویم وارد کنید" - -#: templates/part.import.php:24 -msgid "Please choose a calendar" -msgstr "" - -#: templates/part.import.php:36 -msgid "Name of new calendar" -msgstr "نام تقویم جدید" - -#: templates/part.import.php:44 -msgid "Take an available name!" -msgstr "" - -#: templates/part.import.php:45 -msgid "" -"A Calendar with this name already exists. If you continue anyhow, these " -"calendars will be merged." -msgstr "" - -#: templates/part.import.php:47 -msgid "Import" -msgstr "ورودی دادن" - -#: templates/part.import.php:56 -msgid "Close Dialog" -msgstr "بستن دیالوگ" - -#: templates/part.newevent.php:1 -msgid "Create a new event" -msgstr "یک رویداد ایجاد کنید" - -#: templates/part.showevent.php:1 -msgid "View an event" -msgstr "دیدن یک رویداد" - -#: templates/part.showevent.php:23 -msgid "No categories selected" -msgstr "هیچ گروهی انتخاب نشده" - -#: templates/part.showevent.php:37 -msgid "of" -msgstr "از" - -#: templates/part.showevent.php:59 templates/part.showevent.php:67 -msgid "at" -msgstr "در" - -#: templates/settings.php:10 -msgid "General" -msgstr "" - -#: templates/settings.php:15 -msgid "Timezone" -msgstr "زمان محلی" - -#: templates/settings.php:47 -msgid "Update timezone automatically" -msgstr "" - -#: templates/settings.php:52 -msgid "Time format" -msgstr "" - -#: templates/settings.php:57 -msgid "24h" -msgstr "24 ساعت" - -#: templates/settings.php:58 -msgid "12h" -msgstr "12 ساعت" - -#: templates/settings.php:64 -msgid "Start week on" -msgstr "" - -#: templates/settings.php:76 -msgid "Cache" -msgstr "" - -#: templates/settings.php:80 -msgid "Clear cache for repeating events" -msgstr "" - -#: templates/settings.php:85 -msgid "URLs" -msgstr "" - -#: templates/settings.php:87 -msgid "Calendar CalDAV syncing addresses" -msgstr "" - -#: templates/settings.php:87 -msgid "more info" -msgstr "" - -#: templates/settings.php:89 -msgid "Primary address (Kontact et al)" -msgstr "" - -#: templates/settings.php:91 -msgid "iOS/OS X" -msgstr "" - -#: templates/settings.php:93 -msgid "Read only iCalendar link(s)" -msgstr "" - -#: templates/share.dropdown.php:20 -msgid "Users" -msgstr "کاربرها" - -#: templates/share.dropdown.php:21 -msgid "select users" -msgstr "انتخاب شناسه ها" - -#: templates/share.dropdown.php:36 templates/share.dropdown.php:62 -msgid "Editable" -msgstr "قابل ویرایش" - -#: templates/share.dropdown.php:48 -msgid "Groups" -msgstr "گروه ها" - -#: templates/share.dropdown.php:49 -msgid "select groups" -msgstr "انتخاب گروه ها" - -#: templates/share.dropdown.php:75 -msgid "make public" -msgstr "عمومی سازی" diff --git a/l10n/fa/contacts.po b/l10n/fa/contacts.po deleted file mode 100644 index 92daf2d9db21b3b331e6b276cf8ebcdc851507ac..0000000000000000000000000000000000000000 --- a/l10n/fa/contacts.po +++ /dev/null @@ -1,953 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Hossein nag , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-24 02:02+0200\n" -"PO-Revision-Date: 2012-08-24 00:03+0000\n" -"Last-Translator: I Robot \n" -"Language-Team: Persian (http://www.transifex.com/projects/p/owncloud/language/fa/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: fa\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: ajax/addressbook/activate.php:24 ajax/addressbook/update.php:32 -msgid "Error (de)activating addressbook." -msgstr "خطا در (غیر) فعال سازی کتابچه نشانه ها" - -#: ajax/addressbook/delete.php:31 ajax/addressbook/update.php:20 -#: ajax/contact/addproperty.php:42 ajax/contact/delete.php:32 -#: ajax/contact/saveproperty.php:39 -msgid "id is not set." -msgstr "شناسه تعیین نشده" - -#: ajax/addressbook/update.php:24 -msgid "Cannot update addressbook with an empty name." -msgstr "نمی توانید کتابچه نشانی ها را با یک نام خالی بروزرسانی کنید" - -#: ajax/addressbook/update.php:28 -msgid "Error updating addressbook." -msgstr "خطا در هنگام بروزرسانی کتابچه نشانی ها" - -#: ajax/categories/categoriesfor.php:17 -msgid "No ID provided" -msgstr "هیچ شناسه ای ارائه نشده" - -#: ajax/categories/categoriesfor.php:34 -msgid "Error setting checksum." -msgstr "خطا در تنظیم checksum" - -#: ajax/categories/delete.php:19 -msgid "No categories selected for deletion." -msgstr "هیچ گروهی برای حذف شدن در نظر گرفته نشده" - -#: ajax/categories/delete.php:26 -msgid "No address books found." -msgstr "هیچ کتابچه نشانی پیدا نشد" - -#: ajax/categories/delete.php:34 -msgid "No contacts found." -msgstr "هیچ شخصی پیدا نشد" - -#: ajax/contact/add.php:47 -msgid "There was an error adding the contact." -msgstr "یک خطا در افزودن اطلاعات شخص مورد نظر" - -#: ajax/contact/addproperty.php:39 ajax/contact/saveproperty.php:36 -msgid "element name is not set." -msgstr "نام اصلی تنظیم نشده است" - -#: ajax/contact/addproperty.php:46 -msgid "Could not parse contact: " -msgstr "" - -#: ajax/contact/addproperty.php:56 -msgid "Cannot add empty property." -msgstr "نمیتوان یک خاصیت خالی ایجاد کرد" - -#: ajax/contact/addproperty.php:67 -msgid "At least one of the address fields has to be filled out." -msgstr "At least one of the address fields has to be filled out. " - -#: ajax/contact/addproperty.php:76 -msgid "Trying to add duplicate property: " -msgstr "امتحان کردن برای وارد کردن مشخصات تکراری" - -#: ajax/contact/addproperty.php:115 ajax/contact/saveproperty.php:93 -msgid "Missing IM parameter." -msgstr "" - -#: ajax/contact/addproperty.php:119 ajax/contact/saveproperty.php:97 -msgid "Unknown IM: " -msgstr "" - -#: ajax/contact/deleteproperty.php:37 -msgid "Information about vCard is incorrect. Please reload the page." -msgstr "اطلاعات درمورد vCard شما اشتباه است لطفا صفحه را دوباره بار گذاری کنید" - -#: ajax/contact/details.php:31 -msgid "Missing ID" -msgstr "نشانی گم شده" - -#: ajax/contact/details.php:36 -msgid "Error parsing VCard for ID: \"" -msgstr "خطا در تجزیه کارت ویزا برای شناسه:" - -#: ajax/contact/saveproperty.php:42 -msgid "checksum is not set." -msgstr "checksum تنظیم شده نیست" - -#: ajax/contact/saveproperty.php:62 -msgid "Information about vCard is incorrect. Please reload the page: " -msgstr "اطلاعات کارت ویزا شما غلط است لطفا صفحه را دوباره بارگزاری کنید" - -#: ajax/contact/saveproperty.php:69 -msgid "Something went FUBAR. " -msgstr "چند چیز به FUBAR رفتند" - -#: ajax/currentphoto.php:30 ajax/oc_photo.php:28 ajax/uploadphoto.php:36 -#: ajax/uploadphoto.php:68 -msgid "No contact ID was submitted." -msgstr "هیچ اطلاعاتی راجع به شناسه ارسال نشده" - -#: ajax/currentphoto.php:36 -msgid "Error reading contact photo." -msgstr "خطا در خواندن اطلاعات تصویر" - -#: ajax/currentphoto.php:48 -msgid "Error saving temporary file." -msgstr "خطا در ذخیره پرونده موقت" - -#: ajax/currentphoto.php:51 -msgid "The loading photo is not valid." -msgstr "بارگزاری تصویر امکان پذیر نیست" - -#: ajax/editname.php:31 -msgid "Contact ID is missing." -msgstr "اطلاعات شناسه گم شده" - -#: ajax/oc_photo.php:32 -msgid "No photo path was submitted." -msgstr "هیچ نشانی از تصویرارسال نشده" - -#: ajax/oc_photo.php:39 -msgid "File doesn't exist:" -msgstr "پرونده وجود ندارد" - -#: ajax/oc_photo.php:44 ajax/oc_photo.php:47 -msgid "Error loading image." -msgstr "خطا در بارگزاری تصویر" - -#: ajax/savecrop.php:69 -msgid "Error getting contact object." -msgstr "خطا در گرفتن اطلاعات شخص" - -#: ajax/savecrop.php:79 -msgid "Error getting PHOTO property." -msgstr "خطا در دربافت تصویر ویژگی شخصی" - -#: ajax/savecrop.php:98 -msgid "Error saving contact." -msgstr "خطا در ذخیره سازی اطلاعات" - -#: ajax/savecrop.php:109 -msgid "Error resizing image" -msgstr "خطا در تغییر دادن اندازه تصویر" - -#: ajax/savecrop.php:112 -msgid "Error cropping image" -msgstr "خطا در برداشت تصویر" - -#: ajax/savecrop.php:115 -msgid "Error creating temporary image" -msgstr "خطا در ساخت تصویر temporary" - -#: ajax/savecrop.php:118 -msgid "Error finding image: " -msgstr "خطا در پیدا کردن تصویر:" - -#: ajax/uploadimport.php:44 ajax/uploadimport.php:76 -msgid "Error uploading contacts to storage." -msgstr "خطا در هنگام بارگذاری و ذخیره سازی" - -#: ajax/uploadimport.php:61 ajax/uploadphoto.php:77 -msgid "There is no error, the file uploaded with success" -msgstr "هیچ خطایی نیست بارگذاری پرونده موفقیت آمیز بود" - -#: ajax/uploadimport.php:62 ajax/uploadphoto.php:78 -msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" -msgstr "حجم آپلود از طریق Php.ini تعیین می شود" - -#: ajax/uploadimport.php:63 ajax/uploadphoto.php:79 -msgid "" -"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " -"the HTML form" -msgstr "حداکثر حجم قابل بار گذاری از طریق HTML MAX_FILE_SIZE است" - -#: ajax/uploadimport.php:64 ajax/uploadphoto.php:80 -msgid "The uploaded file was only partially uploaded" -msgstr "پرونده بارگذاری شده فقط تاحدودی بارگذاری شده" - -#: ajax/uploadimport.php:65 ajax/uploadphoto.php:81 -msgid "No file was uploaded" -msgstr "هیچ پروندهای بارگذاری نشده" - -#: ajax/uploadimport.php:66 ajax/uploadphoto.php:82 -msgid "Missing a temporary folder" -msgstr "یک پوشه موقت گم شده" - -#: ajax/uploadphoto.php:59 ajax/uploadphoto.php:109 -msgid "Couldn't save temporary image: " -msgstr "قابلیت ذخیره تصویر موقت وجود ندارد:" - -#: ajax/uploadphoto.php:62 ajax/uploadphoto.php:112 -msgid "Couldn't load temporary image: " -msgstr "قابلیت بارگذاری تصویر موقت وجود ندارد:" - -#: ajax/uploadphoto.php:71 -msgid "No file was uploaded. Unknown error" -msgstr "هیچ فایلی آپلود نشد.خطای ناشناس" - -#: appinfo/app.php:21 -msgid "Contacts" -msgstr "اشخاص" - -#: js/contacts.js:71 -msgid "Sorry, this functionality has not been implemented yet" -msgstr "با عرض پوزش،این قابلیت هنوز اجرا نشده است" - -#: js/contacts.js:71 -msgid "Not implemented" -msgstr "انجام نشد" - -#: js/contacts.js:76 -msgid "Couldn't get a valid address." -msgstr "Couldn't get a valid address." - -#: js/contacts.js:76 js/contacts.js:365 js/contacts.js:381 js/contacts.js:393 -#: js/contacts.js:723 js/contacts.js:763 js/contacts.js:789 js/contacts.js:921 -#: js/contacts.js:927 js/contacts.js:939 js/contacts.js:976 -#: js/contacts.js:1250 js/contacts.js:1258 js/contacts.js:1267 -#: js/contacts.js:1302 js/contacts.js:1338 js/contacts.js:1353 -#: js/contacts.js:1379 js/contacts.js:1609 js/contacts.js:1644 -#: js/contacts.js:1664 js/settings.js:26 js/settings.js:43 js/settings.js:68 -msgid "Error" -msgstr "خطا" - -#: js/contacts.js:424 -msgid "You do not have permission to add contacts to " -msgstr "" - -#: js/contacts.js:425 -msgid "Please select one of your own address books." -msgstr "" - -#: js/contacts.js:425 -msgid "Permission error" -msgstr "" - -#: js/contacts.js:763 -msgid "This property has to be non-empty." -msgstr "این ویژگی باید به صورت غیر تهی عمل کند" - -#: js/contacts.js:789 -msgid "Couldn't serialize elements." -msgstr "قابلیت مرتب سازی عناصر وجود ندارد" - -#: js/contacts.js:921 js/contacts.js:939 -msgid "" -"'deleteProperty' called without type argument. Please report at " -"bugs.owncloud.org" -msgstr "پاک کردن ویژگی بدون استدلال انجام شده.لطفا این مورد را گزارش دهید:bugs.owncloud.org" - -#: js/contacts.js:958 -msgid "Edit name" -msgstr "نام تغییر" - -#: js/contacts.js:1250 -msgid "No files selected for upload." -msgstr "هیچ فایلی برای آپلود انتخاب نشده است" - -#: js/contacts.js:1258 -msgid "" -"The file you are trying to upload exceed the maximum size for file uploads " -"on this server." -msgstr "حجم فایل بسیار بیشتر از حجم تنظیم شده در تنظیمات سرور است" - -#: js/contacts.js:1322 -msgid "Error loading profile picture." -msgstr "" - -#: js/contacts.js:1457 js/contacts.js:1498 js/contacts.js:1517 -#: js/contacts.js:1560 -msgid "Select type" -msgstr "نوع را انتخاب کنید" - -#: js/contacts.js:1578 -msgid "" -"Some contacts are marked for deletion, but not deleted yet. Please wait for " -"them to be deleted." -msgstr "" - -#: js/contacts.js:1649 -msgid "Do you want to merge these address books?" -msgstr "" - -#: js/loader.js:49 -msgid "Result: " -msgstr "نتیجه:" - -#: js/loader.js:49 -msgid " imported, " -msgstr "وارد شد،" - -#: js/loader.js:49 -msgid " failed." -msgstr "ناموفق" - -#: js/settings.js:68 -msgid "Displayname cannot be empty." -msgstr "" - -#: lib/app.php:36 -msgid "Addressbook not found: " -msgstr "" - -#: lib/app.php:52 -msgid "This is not your addressbook." -msgstr "این کتابچه ی نشانه های شما نیست" - -#: lib/app.php:71 -msgid "Contact could not be found." -msgstr "اتصال ویا تماسی یافت نشد" - -#: lib/app.php:116 -msgid "Jabber" -msgstr "" - -#: lib/app.php:121 -msgid "AIM" -msgstr "" - -#: lib/app.php:126 -msgid "MSN" -msgstr "" - -#: lib/app.php:131 -msgid "Twitter" -msgstr "" - -#: lib/app.php:136 -msgid "GoogleTalk" -msgstr "" - -#: lib/app.php:141 -msgid "Facebook" -msgstr "" - -#: lib/app.php:146 -msgid "XMPP" -msgstr "" - -#: lib/app.php:151 -msgid "ICQ" -msgstr "" - -#: lib/app.php:156 -msgid "Yahoo" -msgstr "" - -#: lib/app.php:161 -msgid "Skype" -msgstr "" - -#: lib/app.php:166 -msgid "QQ" -msgstr "" - -#: lib/app.php:171 -msgid "GaduGadu" -msgstr "" - -#: lib/app.php:194 lib/app.php:202 lib/app.php:213 lib/app.php:266 -msgid "Work" -msgstr "کار" - -#: lib/app.php:195 lib/app.php:200 lib/app.php:214 -msgid "Home" -msgstr "خانه" - -#: lib/app.php:196 lib/app.php:209 lib/app.php:262 lib/vcard.php:593 -msgid "Other" -msgstr "" - -#: lib/app.php:201 -msgid "Mobile" -msgstr "موبایل" - -#: lib/app.php:203 -msgid "Text" -msgstr "متن" - -#: lib/app.php:204 -msgid "Voice" -msgstr "صدا" - -#: lib/app.php:205 -msgid "Message" -msgstr "پیغام" - -#: lib/app.php:206 -msgid "Fax" -msgstr "دورنگار:" - -#: lib/app.php:207 -msgid "Video" -msgstr "رسانه تصویری" - -#: lib/app.php:208 -msgid "Pager" -msgstr "صفحه" - -#: lib/app.php:215 -msgid "Internet" -msgstr "اینترنت" - -#: lib/app.php:252 templates/part.contact.php:45 -#: templates/part.contact.php:128 -msgid "Birthday" -msgstr "روزتولد" - -#: lib/app.php:253 -msgid "Business" -msgstr "" - -#: lib/app.php:254 -msgid "Call" -msgstr "" - -#: lib/app.php:255 -msgid "Clients" -msgstr "" - -#: lib/app.php:256 -msgid "Deliverer" -msgstr "" - -#: lib/app.php:257 -msgid "Holidays" -msgstr "" - -#: lib/app.php:258 -msgid "Ideas" -msgstr "" - -#: lib/app.php:259 -msgid "Journey" -msgstr "" - -#: lib/app.php:260 -msgid "Jubilee" -msgstr "" - -#: lib/app.php:261 -msgid "Meeting" -msgstr "" - -#: lib/app.php:263 -msgid "Personal" -msgstr "" - -#: lib/app.php:264 -msgid "Projects" -msgstr "" - -#: lib/app.php:265 -msgid "Questions" -msgstr "" - -#: lib/hooks.php:102 -msgid "{name}'s Birthday" -msgstr "روز تولد {name} است" - -#: lib/search.php:15 -msgid "Contact" -msgstr "اشخاص" - -#: lib/vcard.php:408 -msgid "You do not have the permissions to edit this contact." -msgstr "" - -#: lib/vcard.php:483 -msgid "You do not have the permissions to delete this contact." -msgstr "" - -#: templates/index.php:14 -msgid "Add Contact" -msgstr "افزودن اطلاعات شخص مورد نظر" - -#: templates/index.php:15 templates/index.php:16 templates/part.import.php:17 -msgid "Import" -msgstr "وارد کردن" - -#: templates/index.php:18 -msgid "Settings" -msgstr "" - -#: templates/index.php:18 templates/settings.php:9 -msgid "Addressbooks" -msgstr "کتابچه ی نشانی ها" - -#: templates/index.php:36 templates/part.import.php:24 -msgid "Close" -msgstr "بستن" - -#: templates/index.php:37 -msgid "Keyboard shortcuts" -msgstr "" - -#: templates/index.php:39 -msgid "Navigation" -msgstr "" - -#: templates/index.php:42 -msgid "Next contact in list" -msgstr "" - -#: templates/index.php:44 -msgid "Previous contact in list" -msgstr "" - -#: templates/index.php:46 -msgid "Expand/collapse current addressbook" -msgstr "" - -#: templates/index.php:48 -msgid "Next addressbook" -msgstr "" - -#: templates/index.php:50 -msgid "Previous addressbook" -msgstr "" - -#: templates/index.php:54 -msgid "Actions" -msgstr "" - -#: templates/index.php:57 -msgid "Refresh contacts list" -msgstr "" - -#: templates/index.php:59 -msgid "Add new contact" -msgstr "" - -#: templates/index.php:61 -msgid "Add new addressbook" -msgstr "" - -#: templates/index.php:63 -msgid "Delete current contact" -msgstr "" - -#: templates/part.contact.php:17 -msgid "Drop photo to upload" -msgstr "تصویر را به اینجا بکشید تا بار گذازی شود" - -#: templates/part.contact.php:19 -msgid "Delete current photo" -msgstr "پاک کردن تصویر کنونی" - -#: templates/part.contact.php:20 -msgid "Edit current photo" -msgstr "ویرایش تصویر کنونی" - -#: templates/part.contact.php:21 -msgid "Upload new photo" -msgstr "بار گذاری یک تصویر جدید" - -#: templates/part.contact.php:22 -msgid "Select photo from ownCloud" -msgstr "انتخاب یک تصویر از ابر های شما" - -#: templates/part.contact.php:35 -msgid "Format custom, Short name, Full name, Reverse or Reverse with comma" -msgstr "Format custom, Short name, Full name, Reverse or Reverse with comma" - -#: templates/part.contact.php:36 -msgid "Edit name details" -msgstr "ویرایش نام جزئیات" - -#: templates/part.contact.php:39 templates/part.contact.php:40 -#: templates/part.contact.php:126 -msgid "Organization" -msgstr "نهاد(ارگان)" - -#: templates/part.contact.php:40 templates/part.contact.php:42 -#: templates/part.contact.php:44 templates/part.contact.php:46 -#: templates/part.contact.php:50 templates/settings.php:36 -msgid "Delete" -msgstr "پاک کردن" - -#: templates/part.contact.php:41 templates/part.contact.php:127 -msgid "Nickname" -msgstr "نام مستعار" - -#: templates/part.contact.php:42 -msgid "Enter nickname" -msgstr "یک نام مستعار وارد کنید" - -#: templates/part.contact.php:43 templates/part.contact.php:134 -msgid "Web site" -msgstr "" - -#: templates/part.contact.php:44 -msgid "http://www.somesite.com" -msgstr "" - -#: templates/part.contact.php:44 -msgid "Go to web site" -msgstr "" - -#: templates/part.contact.php:46 -msgid "dd-mm-yyyy" -msgstr "dd-mm-yyyy" - -#: templates/part.contact.php:47 templates/part.contact.php:135 -msgid "Groups" -msgstr "گروه ها" - -#: templates/part.contact.php:49 -msgid "Separate groups with commas" -msgstr "جدا کردن گروه ها به وسیله درنگ نما" - -#: templates/part.contact.php:50 -msgid "Edit groups" -msgstr "ویرایش گروه ها" - -#: templates/part.contact.php:59 templates/part.contact.php:73 -#: templates/part.contact.php:98 -msgid "Preferred" -msgstr "مقدم" - -#: templates/part.contact.php:60 -msgid "Please specify a valid email address." -msgstr "لطفا یک پست الکترونیکی معتبر وارد کنید" - -#: templates/part.contact.php:60 -msgid "Enter email address" -msgstr "یک پست الکترونیکی وارد کنید" - -#: templates/part.contact.php:64 -msgid "Mail to address" -msgstr "به نشانی ارسال شد" - -#: templates/part.contact.php:65 -msgid "Delete email address" -msgstr "پاک کردن نشانی پست الکترونیکی" - -#: templates/part.contact.php:75 -msgid "Enter phone number" -msgstr "شماره تلفن راوارد کنید" - -#: templates/part.contact.php:79 -msgid "Delete phone number" -msgstr "پاک کردن شماره تلفن" - -#: templates/part.contact.php:100 -msgid "Instant Messenger" -msgstr "" - -#: templates/part.contact.php:101 -msgid "Delete IM" -msgstr "" - -#: templates/part.contact.php:110 -msgid "View on map" -msgstr "دیدن روی نقشه" - -#: templates/part.contact.php:110 -msgid "Edit address details" -msgstr "ویرایش جزئیات نشانی ها" - -#: templates/part.contact.php:116 -msgid "Add notes here." -msgstr "اینجا یادداشت ها را بیافزایید" - -#: templates/part.contact.php:124 -msgid "Add field" -msgstr "اضافه کردن فیلد" - -#: templates/part.contact.php:129 -msgid "Phone" -msgstr "شماره تلفن" - -#: templates/part.contact.php:130 -msgid "Email" -msgstr "نشانی پست الکترنیک" - -#: templates/part.contact.php:131 -msgid "Instant Messaging" -msgstr "" - -#: templates/part.contact.php:132 -msgid "Address" -msgstr "نشانی" - -#: templates/part.contact.php:133 -msgid "Note" -msgstr "یادداشت" - -#: templates/part.contact.php:138 -msgid "Download contact" -msgstr "دانلود مشخصات اشخاص" - -#: templates/part.contact.php:139 -msgid "Delete contact" -msgstr "پاک کردن اطلاعات شخص مورد نظر" - -#: templates/part.cropphoto.php:65 -msgid "The temporary image has been removed from cache." -msgstr "تصویر موقت از کش پاک شد." - -#: templates/part.edit_address_dialog.php:6 -msgid "Edit address" -msgstr "ویرایش نشانی" - -#: templates/part.edit_address_dialog.php:10 -msgid "Type" -msgstr "نوع" - -#: templates/part.edit_address_dialog.php:18 -#: templates/part.edit_address_dialog.php:21 -msgid "PO Box" -msgstr "صندوق پستی" - -#: templates/part.edit_address_dialog.php:24 -msgid "Street address" -msgstr "" - -#: templates/part.edit_address_dialog.php:27 -msgid "Street and number" -msgstr "" - -#: templates/part.edit_address_dialog.php:30 -msgid "Extended" -msgstr "تمدید شده" - -#: templates/part.edit_address_dialog.php:33 -msgid "Apartment number etc." -msgstr "" - -#: templates/part.edit_address_dialog.php:36 -#: templates/part.edit_address_dialog.php:39 -msgid "City" -msgstr "شهر" - -#: templates/part.edit_address_dialog.php:42 -msgid "Region" -msgstr "ناحیه" - -#: templates/part.edit_address_dialog.php:45 -msgid "E.g. state or province" -msgstr "" - -#: templates/part.edit_address_dialog.php:48 -msgid "Zipcode" -msgstr "کد پستی" - -#: templates/part.edit_address_dialog.php:51 -msgid "Postal code" -msgstr "" - -#: templates/part.edit_address_dialog.php:54 -#: templates/part.edit_address_dialog.php:57 -msgid "Country" -msgstr "کشور" - -#: templates/part.edit_name_dialog.php:16 -msgid "Addressbook" -msgstr "کتابچه ی نشانی ها" - -#: templates/part.edit_name_dialog.php:23 -msgid "Hon. prefixes" -msgstr "پیشوند های محترمانه" - -#: templates/part.edit_name_dialog.php:27 -msgid "Miss" -msgstr "خانم" - -#: templates/part.edit_name_dialog.php:28 -msgid "Ms" -msgstr "خانم" - -#: templates/part.edit_name_dialog.php:29 -msgid "Mr" -msgstr "آقا" - -#: templates/part.edit_name_dialog.php:30 -msgid "Sir" -msgstr "آقا" - -#: templates/part.edit_name_dialog.php:31 -msgid "Mrs" -msgstr "خانم" - -#: templates/part.edit_name_dialog.php:32 -msgid "Dr" -msgstr "دکتر" - -#: templates/part.edit_name_dialog.php:35 -msgid "Given name" -msgstr "نام معلوم" - -#: templates/part.edit_name_dialog.php:37 -msgid "Additional names" -msgstr "نام های دیگر" - -#: templates/part.edit_name_dialog.php:39 -msgid "Family name" -msgstr "نام خانوادگی" - -#: templates/part.edit_name_dialog.php:41 -msgid "Hon. suffixes" -msgstr "پسوند های محترم" - -#: templates/part.edit_name_dialog.php:45 -msgid "J.D." -msgstr "J.D." - -#: templates/part.edit_name_dialog.php:46 -msgid "M.D." -msgstr "M.D." - -#: templates/part.edit_name_dialog.php:47 -msgid "D.O." -msgstr "D.O." - -#: templates/part.edit_name_dialog.php:48 -msgid "D.C." -msgstr "D.C." - -#: templates/part.edit_name_dialog.php:49 -msgid "Ph.D." -msgstr "دکتری" - -#: templates/part.edit_name_dialog.php:50 -msgid "Esq." -msgstr "Esq." - -#: templates/part.edit_name_dialog.php:51 -msgid "Jr." -msgstr "Jr." - -#: templates/part.edit_name_dialog.php:52 -msgid "Sn." -msgstr "Sn." - -#: templates/part.import.php:1 -msgid "Import a contacts file" -msgstr "وارد کردن پرونده حاوی اطلاعات" - -#: templates/part.import.php:6 -msgid "Please choose the addressbook" -msgstr "لطفا یک کتابچه نشانی انتخاب کنید" - -#: templates/part.import.php:10 -msgid "create a new addressbook" -msgstr "یک کتابچه نشانی بسازید" - -#: templates/part.import.php:15 -msgid "Name of new addressbook" -msgstr "نام کتابچه نشانی جدید" - -#: templates/part.import.php:20 -msgid "Importing contacts" -msgstr "وارد کردن اشخاص" - -#: templates/part.no_contacts.php:3 -msgid "You have no contacts in your addressbook." -msgstr "شماهیچ شخصی در کتابچه نشانی خود ندارید" - -#: templates/part.no_contacts.php:5 -msgid "Add contact" -msgstr "افزودن اطلاعات شخص مورد نظر" - -#: templates/part.selectaddressbook.php:1 -msgid "Select Address Books" -msgstr "" - -#: templates/part.selectaddressbook.php:27 -msgid "Enter name" -msgstr "" - -#: templates/part.selectaddressbook.php:29 -msgid "Enter description" -msgstr "" - -#: templates/settings.php:3 -msgid "CardDAV syncing addresses" -msgstr "CardDAV syncing addresses " - -#: templates/settings.php:3 -msgid "more info" -msgstr "اطلاعات بیشتر" - -#: templates/settings.php:5 -msgid "Primary address (Kontact et al)" -msgstr "نشانی اولیه" - -#: templates/settings.php:7 -msgid "iOS/OS X" -msgstr "iOS/OS X " - -#: templates/settings.php:20 -msgid "Show CardDav link" -msgstr "" - -#: templates/settings.php:23 -msgid "Show read-only VCF link" -msgstr "" - -#: templates/settings.php:26 -msgid "Share" -msgstr "" - -#: templates/settings.php:29 -msgid "Download" -msgstr "بارگیری" - -#: templates/settings.php:33 -msgid "Edit" -msgstr "ویرایش" - -#: templates/settings.php:43 -msgid "New Address Book" -msgstr "کتابچه نشانه های جدید" - -#: templates/settings.php:44 -msgid "Name" -msgstr "" - -#: templates/settings.php:45 -msgid "Description" -msgstr "" - -#: templates/settings.php:46 -msgid "Save" -msgstr "ذخیره سازی" - -#: templates/settings.php:47 -msgid "Cancel" -msgstr "انصراف" - -#: templates/settings.php:52 -msgid "More..." -msgstr "" diff --git a/l10n/fa/core.po b/l10n/fa/core.po index beb8c04f5ff591056b12ec09332699cb66e7be68..aaf10805b2317edef3b0e61d6e9b4aa0f1104b58 100644 --- a/l10n/fa/core.po +++ b/l10n/fa/core.po @@ -8,9 +8,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-16 02:04+0200\n" -"PO-Revision-Date: 2012-10-16 00:05+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-11-16 00:02+0100\n" +"PO-Revision-Date: 2012-11-14 23:13+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Persian (http://www.transifex.com/projects/p/owncloud/language/fa/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -18,209 +18,241 @@ msgstr "" "Language: fa\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: ajax/vcategories/add.php:23 ajax/vcategories/delete.php:23 -msgid "Application name not provided." -msgstr "نام برنامه پیدا نشد" +#: ajax/vcategories/add.php:26 ajax/vcategories/edit.php:25 +msgid "Category type not provided." +msgstr "" -#: ajax/vcategories/add.php:29 +#: ajax/vcategories/add.php:30 msgid "No category to add?" msgstr "آیا گروه دیگری برای افزودن ندارید" -#: ajax/vcategories/add.php:36 +#: ajax/vcategories/add.php:37 msgid "This category already exists: " msgstr "این گروه از قبل اضافه شده" -#: js/js.js:238 templates/layout.user.php:49 templates/layout.user.php:50 +#: ajax/vcategories/addToFavorites.php:26 ajax/vcategories/delete.php:27 +#: ajax/vcategories/favorites.php:24 +#: ajax/vcategories/removeFromFavorites.php:26 +msgid "Object type not provided." +msgstr "" + +#: ajax/vcategories/addToFavorites.php:30 +#: ajax/vcategories/removeFromFavorites.php:30 +#, php-format +msgid "%s ID not provided." +msgstr "" + +#: ajax/vcategories/addToFavorites.php:35 +#, php-format +msgid "Error adding %s to favorites." +msgstr "" + +#: ajax/vcategories/delete.php:35 js/oc-vcategories.js:136 +msgid "No categories selected for deletion." +msgstr "هیج دسته ای برای پاک شدن انتخاب نشده است" + +#: ajax/vcategories/removeFromFavorites.php:35 +#, php-format +msgid "Error removing %s from favorites." +msgstr "" + +#: js/js.js:243 templates/layout.user.php:59 templates/layout.user.php:60 msgid "Settings" msgstr "تنظیمات" -#: js/js.js:670 -msgid "January" -msgstr "ژانویه" +#: js/js.js:688 +msgid "seconds ago" +msgstr "ثانیه‌ها پیش" -#: js/js.js:670 -msgid "February" -msgstr "فبریه" +#: js/js.js:689 +msgid "1 minute ago" +msgstr "1 دقیقه پیش" -#: js/js.js:670 -msgid "March" -msgstr "مارس" +#: js/js.js:690 +msgid "{minutes} minutes ago" +msgstr "" -#: js/js.js:670 -msgid "April" -msgstr "آوریل" +#: js/js.js:691 +msgid "1 hour ago" +msgstr "" -#: js/js.js:670 -msgid "May" -msgstr "می" +#: js/js.js:692 +msgid "{hours} hours ago" +msgstr "" -#: js/js.js:670 -msgid "June" -msgstr "ژوئن" +#: js/js.js:693 +msgid "today" +msgstr "امروز" -#: js/js.js:671 -msgid "July" -msgstr "جولای" +#: js/js.js:694 +msgid "yesterday" +msgstr "دیروز" -#: js/js.js:671 -msgid "August" -msgstr "آگوست" +#: js/js.js:695 +msgid "{days} days ago" +msgstr "" -#: js/js.js:671 -msgid "September" -msgstr "سپتامبر" +#: js/js.js:696 +msgid "last month" +msgstr "ماه قبل" -#: js/js.js:671 -msgid "October" -msgstr "اکتبر" +#: js/js.js:697 +msgid "{months} months ago" +msgstr "" -#: js/js.js:671 -msgid "November" -msgstr "نوامبر" +#: js/js.js:698 +msgid "months ago" +msgstr "ماه‌های قبل" -#: js/js.js:671 -msgid "December" -msgstr "دسامبر" +#: js/js.js:699 +msgid "last year" +msgstr "سال قبل" + +#: js/js.js:700 +msgid "years ago" +msgstr "سال‌های قبل" -#: js/oc-dialogs.js:123 +#: js/oc-dialogs.js:126 msgid "Choose" msgstr "" -#: js/oc-dialogs.js:143 js/oc-dialogs.js:163 +#: js/oc-dialogs.js:146 js/oc-dialogs.js:166 msgid "Cancel" msgstr "منصرف شدن" -#: js/oc-dialogs.js:159 +#: js/oc-dialogs.js:162 msgid "No" msgstr "نه" -#: js/oc-dialogs.js:160 +#: js/oc-dialogs.js:163 msgid "Yes" msgstr "بله" -#: js/oc-dialogs.js:177 +#: js/oc-dialogs.js:180 msgid "Ok" msgstr "قبول" -#: js/oc-vcategories.js:68 -msgid "No categories selected for deletion." -msgstr "هیج دسته ای برای پاک شدن انتخاب نشده است" +#: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102 +#: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162 +msgid "The object type is not specified." +msgstr "" -#: js/oc-vcategories.js:68 js/share.js:114 js/share.js:121 js/share.js:497 -#: js/share.js:509 +#: js/oc-vcategories.js:95 js/oc-vcategories.js:125 js/oc-vcategories.js:136 +#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:525 +#: js/share.js:537 msgid "Error" msgstr "خطا" -#: js/share.js:103 +#: js/oc-vcategories.js:179 +msgid "The app name is not specified." +msgstr "" + +#: js/oc-vcategories.js:194 +msgid "The required file {file} is not installed!" +msgstr "" + +#: js/share.js:124 msgid "Error while sharing" msgstr "" -#: js/share.js:114 +#: js/share.js:135 msgid "Error while unsharing" msgstr "" -#: js/share.js:121 +#: js/share.js:142 msgid "Error while changing permissions" msgstr "" -#: js/share.js:130 -msgid "Shared with you and the group" +#: js/share.js:151 +msgid "Shared with you and the group {group} by {owner}" msgstr "" -#: js/share.js:130 -msgid "by" -msgstr "" - -#: js/share.js:132 -msgid "Shared with you by" +#: js/share.js:153 +msgid "Shared with you by {owner}" msgstr "" -#: js/share.js:137 +#: js/share.js:158 msgid "Share with" msgstr "" -#: js/share.js:142 +#: js/share.js:163 msgid "Share with link" msgstr "" -#: js/share.js:143 +#: js/share.js:164 msgid "Password protect" msgstr "" -#: js/share.js:147 templates/installation.php:42 templates/login.php:24 +#: js/share.js:168 templates/installation.php:42 templates/login.php:24 #: templates/verify.php:13 msgid "Password" msgstr "گذرواژه" -#: js/share.js:152 +#: js/share.js:173 msgid "Set expiration date" msgstr "" -#: js/share.js:153 +#: js/share.js:174 msgid "Expiration date" msgstr "" -#: js/share.js:185 +#: js/share.js:206 msgid "Share via email:" msgstr "" -#: js/share.js:187 +#: js/share.js:208 msgid "No people found" msgstr "" -#: js/share.js:214 +#: js/share.js:235 msgid "Resharing is not allowed" msgstr "" -#: js/share.js:250 -msgid "Shared in" -msgstr "" - -#: js/share.js:250 -msgid "with" +#: js/share.js:271 +msgid "Shared in {item} with {user}" msgstr "" -#: js/share.js:271 +#: js/share.js:292 msgid "Unshare" msgstr "" -#: js/share.js:283 +#: js/share.js:304 msgid "can edit" msgstr "" -#: js/share.js:285 +#: js/share.js:306 msgid "access control" msgstr "" -#: js/share.js:288 +#: js/share.js:309 msgid "create" -msgstr "" +msgstr "ایجاد" -#: js/share.js:291 +#: js/share.js:312 msgid "update" msgstr "" -#: js/share.js:294 +#: js/share.js:315 msgid "delete" msgstr "" -#: js/share.js:297 +#: js/share.js:318 msgid "share" msgstr "" -#: js/share.js:322 js/share.js:484 +#: js/share.js:343 js/share.js:512 js/share.js:514 msgid "Password protected" msgstr "" -#: js/share.js:497 +#: js/share.js:525 msgid "Error unsetting expiration date" msgstr "" -#: js/share.js:509 +#: js/share.js:537 msgid "Error setting expiration date" msgstr "" -#: lostpassword/index.php:26 +#: lostpassword/controller.php:47 msgid "ownCloud password reset" msgstr "پسورد ابرهای شما تغییرکرد" @@ -233,12 +265,12 @@ msgid "You will receive a link to reset your password via Email." msgstr "شما یک نامه الکترونیکی حاوی یک لینک جهت بازسازی گذرواژه دریافت خواهید کرد." #: lostpassword/templates/lostpassword.php:5 -msgid "Requested" -msgstr "درخواست" +msgid "Reset email send." +msgstr "" #: lostpassword/templates/lostpassword.php:8 -msgid "Login failed!" -msgstr "ورود ناموفق بود" +msgid "Request failed!" +msgstr "" #: lostpassword/templates/lostpassword.php:11 templates/installation.php:38 #: templates/login.php:20 @@ -297,13 +329,13 @@ msgstr "پیدا نشد" msgid "Edit categories" msgstr "ویرایش گروه ها" -#: templates/edit_categories_dialog.php:14 +#: templates/edit_categories_dialog.php:16 msgid "Add" msgstr "افزودن" #: templates/installation.php:23 templates/installation.php:31 msgid "Security Warning" -msgstr "" +msgstr "اخطار امنیتی" #: templates/installation.php:24 msgid "" @@ -371,11 +403,87 @@ msgstr "هاست پایگاه داده" msgid "Finish setup" msgstr "اتمام نصب" -#: templates/layout.guest.php:38 +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Sunday" +msgstr "یکشنبه" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Monday" +msgstr "دوشنبه" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Tuesday" +msgstr "سه شنبه" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Wednesday" +msgstr "چهارشنبه" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Thursday" +msgstr "پنجشنبه" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Friday" +msgstr "جمعه" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Saturday" +msgstr "شنبه" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "January" +msgstr "ژانویه" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "February" +msgstr "فبریه" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "March" +msgstr "مارس" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "April" +msgstr "آوریل" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "May" +msgstr "می" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "June" +msgstr "ژوئن" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "July" +msgstr "جولای" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "August" +msgstr "آگوست" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "September" +msgstr "سپتامبر" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "October" +msgstr "اکتبر" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "November" +msgstr "نوامبر" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "December" +msgstr "دسامبر" + +#: templates/layout.guest.php:41 msgid "web services under your control" msgstr "سرویس وب تحت کنترل شما" -#: templates/layout.user.php:34 +#: templates/layout.user.php:44 msgid "Log out" msgstr "خروج" diff --git a/l10n/fa/files.po b/l10n/fa/files.po index c5f1da76fed74767f42f4029ab5db736bce2b568..7e13f99c90f6630699b23e40b2594b3628c4a2ab 100644 --- a/l10n/fa/files.po +++ b/l10n/fa/files.po @@ -10,9 +10,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-09-26 13:19+0200\n" -"PO-Revision-Date: 2012-09-26 11:20+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-12-01 00:01+0100\n" +"PO-Revision-Date: 2012-11-30 23:02+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Persian (http://www.transifex.com/projects/p/owncloud/language/fa/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -25,194 +25,165 @@ msgid "There is no error, the file uploaded with success" msgstr "هیچ خطایی وجود ندارد فایل با موفقیت بار گذاری شد" #: ajax/upload.php:21 -msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" -msgstr "حداکثر حجم تعیین شده برای بارگذاری در php.ini قابل ویرایش است" +msgid "" +"The uploaded file exceeds the upload_max_filesize directive in php.ini: " +msgstr "" -#: ajax/upload.php:22 +#: ajax/upload.php:23 msgid "" "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " "the HTML form" msgstr "حداکثر حجم مجاز برای بارگذاری از طریق HTML \nMAX_FILE_SIZE" -#: ajax/upload.php:23 +#: ajax/upload.php:25 msgid "The uploaded file was only partially uploaded" msgstr "مقدار کمی از فایل بارگذاری شده" -#: ajax/upload.php:24 +#: ajax/upload.php:26 msgid "No file was uploaded" msgstr "هیچ فایلی بارگذاری نشده" -#: ajax/upload.php:25 +#: ajax/upload.php:27 msgid "Missing a temporary folder" msgstr "یک پوشه موقت گم شده است" -#: ajax/upload.php:26 +#: ajax/upload.php:28 msgid "Failed to write to disk" msgstr "نوشتن بر روی دیسک سخت ناموفق بود" -#: appinfo/app.php:6 +#: appinfo/app.php:10 msgid "Files" msgstr "فایل ها" -#: js/fileactions.js:108 templates/index.php:62 +#: js/fileactions.js:117 templates/index.php:83 templates/index.php:84 msgid "Unshare" msgstr "" -#: js/fileactions.js:110 templates/index.php:64 +#: js/fileactions.js:119 templates/index.php:89 templates/index.php:90 msgid "Delete" msgstr "پاک کردن" -#: js/fileactions.js:182 +#: js/fileactions.js:181 msgid "Rename" -msgstr "" +msgstr "تغییرنام" -#: js/filelist.js:190 js/filelist.js:192 -msgid "already exists" -msgstr "وجود دارد" +#: js/filelist.js:201 js/filelist.js:203 +msgid "{new_name} already exists" +msgstr "" -#: js/filelist.js:190 js/filelist.js:192 +#: js/filelist.js:201 js/filelist.js:203 msgid "replace" msgstr "جایگزین" -#: js/filelist.js:190 +#: js/filelist.js:201 msgid "suggest name" msgstr "" -#: js/filelist.js:190 js/filelist.js:192 +#: js/filelist.js:201 js/filelist.js:203 msgid "cancel" msgstr "لغو" -#: js/filelist.js:239 js/filelist.js:241 -msgid "replaced" -msgstr "جایگزین‌شده" +#: js/filelist.js:250 +msgid "replaced {new_name}" +msgstr "" -#: js/filelist.js:239 js/filelist.js:241 js/filelist.js:273 js/filelist.js:275 +#: js/filelist.js:250 js/filelist.js:252 js/filelist.js:284 js/filelist.js:286 msgid "undo" msgstr "بازگشت" -#: js/filelist.js:241 -msgid "with" -msgstr "همراه" +#: js/filelist.js:252 +msgid "replaced {new_name} with {old_name}" +msgstr "" + +#: js/filelist.js:284 +msgid "unshared {files}" +msgstr "" -#: js/filelist.js:273 -msgid "unshared" +#: js/filelist.js:286 +msgid "deleted {files}" msgstr "" -#: js/filelist.js:275 -msgid "deleted" -msgstr "حذف شده" +#: js/files.js:33 +msgid "" +"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not " +"allowed." +msgstr "" -#: js/files.js:179 +#: js/files.js:183 msgid "generating ZIP-file, it may take some time." msgstr "در حال ساخت فایل فشرده ممکن است زمان زیادی به طول بیانجامد" -#: js/files.js:208 +#: js/files.js:218 msgid "Unable to upload your file as it is a directory or has 0 bytes" msgstr "ناتوان در بارگذاری یا فایل یک پوشه است یا 0بایت دارد" -#: js/files.js:208 +#: js/files.js:218 msgid "Upload Error" msgstr "خطا در بار گذاری" -#: js/files.js:236 js/files.js:341 js/files.js:371 +#: js/files.js:235 +msgid "Close" +msgstr "بستن" + +#: js/files.js:254 js/files.js:368 js/files.js:398 msgid "Pending" msgstr "در انتظار" -#: js/files.js:256 +#: js/files.js:274 msgid "1 file uploading" msgstr "" -#: js/files.js:259 js/files.js:304 js/files.js:319 -msgid "files uploading" +#: js/files.js:277 js/files.js:331 js/files.js:346 +msgid "{count} files uploading" msgstr "" -#: js/files.js:322 js/files.js:355 +#: js/files.js:349 js/files.js:382 msgid "Upload cancelled." msgstr "بار گذاری لغو شد" -#: js/files.js:424 +#: js/files.js:451 msgid "" "File upload is in progress. Leaving the page now will cancel the upload." msgstr "" -#: js/files.js:494 -msgid "Invalid name, '/' is not allowed." -msgstr "نام نامناسب '/' غیرفعال است" +#: js/files.js:523 +msgid "Invalid folder name. Usage of \"Shared\" is reserved by Owncloud" +msgstr "" -#: js/files.js:667 -msgid "files scanned" +#: js/files.js:704 +msgid "{count} files scanned" msgstr "" -#: js/files.js:675 +#: js/files.js:712 msgid "error while scanning" msgstr "" -#: js/files.js:748 templates/index.php:48 +#: js/files.js:785 templates/index.php:65 msgid "Name" msgstr "نام" -#: js/files.js:749 templates/index.php:56 +#: js/files.js:786 templates/index.php:76 msgid "Size" msgstr "اندازه" -#: js/files.js:750 templates/index.php:58 +#: js/files.js:787 templates/index.php:78 msgid "Modified" msgstr "تغییر یافته" -#: js/files.js:777 -msgid "folder" -msgstr "پوشه" - -#: js/files.js:779 -msgid "folders" -msgstr "پوشه ها" - -#: js/files.js:787 -msgid "file" -msgstr "پرونده" - -#: js/files.js:789 -msgid "files" -msgstr "پرونده ها" - -#: js/files.js:833 -msgid "seconds ago" -msgstr "" - -#: js/files.js:834 -msgid "minute ago" -msgstr "" - -#: js/files.js:835 -msgid "minutes ago" -msgstr "" - -#: js/files.js:838 -msgid "today" -msgstr "" - -#: js/files.js:839 -msgid "yesterday" -msgstr "" - -#: js/files.js:840 -msgid "days ago" +#: js/files.js:814 +msgid "1 folder" msgstr "" -#: js/files.js:841 -msgid "last month" +#: js/files.js:816 +msgid "{count} folders" msgstr "" -#: js/files.js:843 -msgid "months ago" +#: js/files.js:824 +msgid "1 file" msgstr "" -#: js/files.js:844 -msgid "last year" -msgstr "" - -#: js/files.js:845 -msgid "years ago" +#: js/files.js:826 +msgid "{count} files" msgstr "" #: templates/admin.php:5 @@ -223,80 +194,76 @@ msgstr "اداره پرونده ها" msgid "Maximum upload size" msgstr "حداکثر اندازه بارگزاری" -#: templates/admin.php:7 +#: templates/admin.php:9 msgid "max. possible: " msgstr "حداکثرمقدارممکن:" -#: templates/admin.php:9 +#: templates/admin.php:12 msgid "Needed for multi-file and folder downloads." msgstr "احتیاج پیدا خواهد شد برای چند پوشه و پرونده" -#: templates/admin.php:9 +#: templates/admin.php:14 msgid "Enable ZIP-download" msgstr "فعال سازی بارگیری پرونده های فشرده" -#: templates/admin.php:11 +#: templates/admin.php:17 msgid "0 is unlimited" msgstr "0 نامحدود است" -#: templates/admin.php:12 +#: templates/admin.php:19 msgid "Maximum input size for ZIP files" msgstr "حداکثرمقدار برای بار گزاری پرونده های فشرده" -#: templates/admin.php:14 +#: templates/admin.php:23 msgid "Save" -msgstr "" +msgstr "ذخیره" #: templates/index.php:7 msgid "New" msgstr "جدید" -#: templates/index.php:9 +#: templates/index.php:10 msgid "Text file" msgstr "فایل متنی" -#: templates/index.php:10 +#: templates/index.php:12 msgid "Folder" msgstr "پوشه" -#: templates/index.php:11 -msgid "From url" -msgstr "از نشانی" +#: templates/index.php:14 +msgid "From link" +msgstr "" -#: templates/index.php:20 +#: templates/index.php:35 msgid "Upload" msgstr "بارگذاری" -#: templates/index.php:27 +#: templates/index.php:43 msgid "Cancel upload" msgstr "متوقف کردن بار گذاری" -#: templates/index.php:40 +#: templates/index.php:57 msgid "Nothing in here. Upload something!" msgstr "اینجا هیچ چیز نیست." -#: templates/index.php:50 -msgid "Share" -msgstr "به اشتراک گذاری" - -#: templates/index.php:52 +#: templates/index.php:71 msgid "Download" msgstr "بارگیری" -#: templates/index.php:75 +#: templates/index.php:103 msgid "Upload too large" msgstr "حجم بارگذاری بسیار زیاد است" -#: templates/index.php:77 +#: templates/index.php:105 msgid "" "The files you are trying to upload exceed the maximum size for file uploads " "on this server." msgstr "فایلها بیش از حد تعیین شده در این سرور هستند\nمترجم:با تغییر فایل php,ini میتوان این محدودیت را برطرف کرد" -#: templates/index.php:82 +#: templates/index.php:110 msgid "Files are being scanned, please wait." msgstr "پرونده ها در حال بازرسی هستند لطفا صبر کنید" -#: templates/index.php:85 +#: templates/index.php:113 msgid "Current scanning" msgstr "بازرسی کنونی" diff --git a/l10n/fa/files_encryption.po b/l10n/fa/files_encryption.po index d1409ea24bfb3f42d433b5e0423e9da273bb6da3..74f153d436e403f7f17a5da2a5cbb2d5034d438d 100644 --- a/l10n/fa/files_encryption.po +++ b/l10n/fa/files_encryption.po @@ -3,20 +3,21 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# , 2012. # Mohammad Dashtizadeh , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-24 02:02+0200\n" -"PO-Revision-Date: 2012-08-23 20:18+0000\n" -"Last-Translator: Mohammad Dashtizadeh \n" +"POT-Creation-Date: 2012-11-15 00:02+0100\n" +"PO-Revision-Date: 2012-11-14 08:31+0000\n" +"Last-Translator: basir \n" "Language-Team: Persian (http://www.transifex.com/projects/p/owncloud/language/fa/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: fa\n" -"Plural-Forms: nplurals=1; plural=0\n" +"Plural-Forms: nplurals=1; plural=0;\n" #: templates/settings.php:3 msgid "Encryption" @@ -24,7 +25,7 @@ msgstr "رمزگذاری" #: templates/settings.php:4 msgid "Exclude the following file types from encryption" -msgstr "" +msgstr "نادیده گرفتن فایل های زیر برای رمز گذاری" #: templates/settings.php:5 msgid "None" diff --git a/l10n/fa/files_external.po b/l10n/fa/files_external.po index 90b7be97d29a953d5efcbabd21ae841b1bdc66de..13b8e5c47bd2375b555231f89c56050ace771fa5 100644 --- a/l10n/fa/files_external.po +++ b/l10n/fa/files_external.po @@ -7,9 +7,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-02 23:16+0200\n" -"PO-Revision-Date: 2012-10-02 21:17+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-12-12 00:12+0100\n" +"PO-Revision-Date: 2012-12-11 23:13+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Persian (http://www.transifex.com/projects/p/owncloud/language/fa/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -41,66 +41,80 @@ msgstr "" msgid "Error configuring Google Drive storage" msgstr "" +#: lib/config.php:434 +msgid "" +"Warning: \"smbclient\" is not installed. Mounting of CIFS/SMB shares " +"is not possible. Please ask your system administrator to install it." +msgstr "" + +#: lib/config.php:435 +msgid "" +"Warning: The FTP support in PHP is not enabled or installed. Mounting" +" of FTP shares is not possible. Please ask your system administrator to " +"install it." +msgstr "" + #: templates/settings.php:3 msgid "External Storage" msgstr "" -#: templates/settings.php:7 templates/settings.php:19 +#: templates/settings.php:8 templates/settings.php:22 msgid "Mount point" msgstr "" -#: templates/settings.php:8 +#: templates/settings.php:9 msgid "Backend" msgstr "" -#: templates/settings.php:9 +#: templates/settings.php:10 msgid "Configuration" msgstr "" -#: templates/settings.php:10 +#: templates/settings.php:11 msgid "Options" msgstr "" -#: templates/settings.php:11 +#: templates/settings.php:12 msgid "Applicable" msgstr "" -#: templates/settings.php:23 +#: templates/settings.php:27 msgid "Add mount point" msgstr "" -#: templates/settings.php:54 templates/settings.php:62 +#: templates/settings.php:85 msgid "None set" msgstr "" -#: templates/settings.php:63 +#: templates/settings.php:86 msgid "All Users" msgstr "" -#: templates/settings.php:64 +#: templates/settings.php:87 msgid "Groups" msgstr "" -#: templates/settings.php:69 +#: templates/settings.php:95 msgid "Users" msgstr "" -#: templates/settings.php:77 templates/settings.php:107 +#: templates/settings.php:108 templates/settings.php:109 +#: templates/settings.php:149 templates/settings.php:150 msgid "Delete" msgstr "" -#: templates/settings.php:87 +#: templates/settings.php:124 msgid "Enable User External Storage" msgstr "" -#: templates/settings.php:88 +#: templates/settings.php:125 msgid "Allow users to mount their own external storage" msgstr "" -#: templates/settings.php:99 +#: templates/settings.php:139 msgid "SSL root certificates" msgstr "" -#: templates/settings.php:113 +#: templates/settings.php:158 msgid "Import Root Certificate" msgstr "" diff --git a/l10n/fa/files_pdfviewer.po b/l10n/fa/files_pdfviewer.po deleted file mode 100644 index bf8f950d5ea48301d8eadcb9a40253c1093a0338..0000000000000000000000000000000000000000 --- a/l10n/fa/files_pdfviewer.po +++ /dev/null @@ -1,42 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 02:18+0200\n" -"PO-Revision-Date: 2012-08-26 00:19+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Persian (http://www.transifex.com/projects/p/owncloud/language/fa/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: fa\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: js/viewer.js:22 -msgid "Previous" -msgstr "" - -#: js/viewer.js:23 -msgid "Next" -msgstr "" - -#: js/viewer.js:29 -msgid "Page Width" -msgstr "" - -#: js/viewer.js:29 -msgid "Page Fit" -msgstr "" - -#: js/viewer.js:30 -msgid "Print" -msgstr "" - -#: js/viewer.js:32 -msgid "Download" -msgstr "" diff --git a/l10n/fa/files_texteditor.po b/l10n/fa/files_texteditor.po deleted file mode 100644 index 2360c9358cc38488821f0931a37a4c9d1f2e0cb2..0000000000000000000000000000000000000000 --- a/l10n/fa/files_texteditor.po +++ /dev/null @@ -1,44 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 01:17+0200\n" -"PO-Revision-Date: 2012-08-25 23:18+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Persian (http://www.transifex.com/projects/p/owncloud/language/fa/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: fa\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: js/aceeditor/mode-coldfusion-uncompressed.js:1568 -#: js/aceeditor/mode-liquid-uncompressed.js:902 -#: js/aceeditor/mode-svg-uncompressed.js:1575 -msgid "regex" -msgstr "" - -#: js/editor.js:72 js/editor.js:156 js/editor.js:163 -msgid "Save" -msgstr "" - -#: js/editor.js:74 -msgid "Close" -msgstr "" - -#: js/editor.js:149 -msgid "Saving..." -msgstr "" - -#: js/editor.js:239 -msgid "An error occurred!" -msgstr "" - -#: js/editor.js:266 -msgid "There were unsaved changes, click here to go back" -msgstr "" diff --git a/l10n/fa/gallery.po b/l10n/fa/gallery.po deleted file mode 100644 index 72ce4351953bb023f0133f2d211236734a9f503b..0000000000000000000000000000000000000000 --- a/l10n/fa/gallery.po +++ /dev/null @@ -1,95 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Hossein nag , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-06-06 00:12+0200\n" -"PO-Revision-Date: 2012-06-05 22:15+0000\n" -"Last-Translator: icewind \n" -"Language-Team: Persian (http://www.transifex.net/projects/p/owncloud/language/fa/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: fa\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: appinfo/app.php:37 -msgid "Pictures" -msgstr "تصاویر" - -#: js/album_cover.js:44 -msgid "Share gallery" -msgstr "" - -#: js/album_cover.js:64 js/album_cover.js:100 js/album_cover.js:133 -msgid "Error: " -msgstr "" - -#: js/album_cover.js:64 js/album_cover.js:100 -msgid "Internal error" -msgstr "" - -#: js/album_cover.js:114 -msgid "Scanning root" -msgstr "" - -#: js/album_cover.js:115 -msgid "Default order" -msgstr "" - -#: js/album_cover.js:116 -msgid "Ascending" -msgstr "" - -#: js/album_cover.js:116 -msgid "Descending" -msgstr "" - -#: js/album_cover.js:117 templates/index.php:19 -msgid "Settings" -msgstr "تنظیمات" - -#: js/album_cover.js:122 -msgid "Scanning root cannot be empty" -msgstr "" - -#: js/album_cover.js:122 js/album_cover.js:133 -msgid "Error" -msgstr "" - -#: templates/index.php:16 -msgid "Rescan" -msgstr "بازرسی دوباره" - -#: templates/index.php:17 -msgid "Stop" -msgstr "توقف" - -#: templates/index.php:18 -msgid "Share" -msgstr "به اشتراک گذاری" - -#: templates/view_album.php:19 -msgid "Back" -msgstr "بازگشت" - -#: templates/view_album.php:36 -msgid "Remove confirmation" -msgstr "پاک کردن تصدیق" - -#: templates/view_album.php:37 -msgid "Do you want to remove album" -msgstr "آیا مایل به پاک کردن آلبوم هستید؟" - -#: templates/view_album.php:40 -msgid "Change album name" -msgstr "تغییر نام آلبوم" - -#: templates/view_album.php:43 -msgid "New album name" -msgstr "نام آلبوم جدید" diff --git a/l10n/fa/impress.po b/l10n/fa/impress.po deleted file mode 100644 index 7f9e9429ff5a4740890825797408e53fc85df952..0000000000000000000000000000000000000000 --- a/l10n/fa/impress.po +++ /dev/null @@ -1,22 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 01:17+0200\n" -"PO-Revision-Date: 2012-08-25 23:18+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Persian (http://www.transifex.com/projects/p/owncloud/language/fa/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: fa\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: templates/presentations.php:7 -msgid "Documentation" -msgstr "" diff --git a/l10n/fa/lib.po b/l10n/fa/lib.po index 589e967a94fc93de891d941da060f9e756d50e73..44408cc66f79f752cf5ad993cbcfc529c163425f 100644 --- a/l10n/fa/lib.po +++ b/l10n/fa/lib.po @@ -8,53 +8,53 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-09-01 02:01+0200\n" -"PO-Revision-Date: 2012-09-01 00:02+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-11-16 00:02+0100\n" +"PO-Revision-Date: 2012-11-14 23:13+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Persian (http://www.transifex.com/projects/p/owncloud/language/fa/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: fa\n" -"Plural-Forms: nplurals=1; plural=0\n" +"Plural-Forms: nplurals=1; plural=0;\n" -#: app.php:288 +#: app.php:285 msgid "Help" msgstr "راه‌نما" -#: app.php:295 +#: app.php:292 msgid "Personal" msgstr "شخصی" -#: app.php:300 +#: app.php:297 msgid "Settings" msgstr "تنظیمات" -#: app.php:305 +#: app.php:302 msgid "Users" msgstr "کاربران" -#: app.php:312 +#: app.php:309 msgid "Apps" msgstr "" -#: app.php:314 +#: app.php:311 msgid "Admin" msgstr "مدیر" -#: files.php:280 +#: files.php:332 msgid "ZIP download is turned off." msgstr "" -#: files.php:281 +#: files.php:333 msgid "Files need to be downloaded one by one." msgstr "" -#: files.php:281 files.php:306 +#: files.php:333 files.php:358 msgid "Back to Files" msgstr "" -#: files.php:305 +#: files.php:357 msgid "Selected files too large to generate zip file." msgstr "" @@ -62,65 +62,92 @@ msgstr "" msgid "Application is not enabled" msgstr "" -#: json.php:39 json.php:63 json.php:75 +#: json.php:39 json.php:64 json.php:77 json.php:89 msgid "Authentication error" -msgstr "" +msgstr "خطا در اعتبار سنجی" #: json.php:51 msgid "Token expired. Please reload page." msgstr "" -#: template.php:86 +#: search/provider/file.php:17 search/provider/file.php:35 +msgid "Files" +msgstr "پرونده‌ها" + +#: search/provider/file.php:26 search/provider/file.php:33 +msgid "Text" +msgstr "متن" + +#: search/provider/file.php:29 +msgid "Images" +msgstr "" + +#: template.php:103 msgid "seconds ago" msgstr "ثانیه‌ها پیش" -#: template.php:87 +#: template.php:104 msgid "1 minute ago" msgstr "1 دقیقه پیش" -#: template.php:88 +#: template.php:105 #, php-format msgid "%d minutes ago" msgstr "%d دقیقه پیش" -#: template.php:91 +#: template.php:106 +msgid "1 hour ago" +msgstr "" + +#: template.php:107 +#, php-format +msgid "%d hours ago" +msgstr "" + +#: template.php:108 msgid "today" msgstr "امروز" -#: template.php:92 +#: template.php:109 msgid "yesterday" msgstr "دیروز" -#: template.php:93 +#: template.php:110 #, php-format msgid "%d days ago" msgstr "" -#: template.php:94 +#: template.php:111 msgid "last month" msgstr "ماه قبل" -#: template.php:95 -msgid "months ago" -msgstr "ماه‌های قبل" +#: template.php:112 +#, php-format +msgid "%d months ago" +msgstr "" -#: template.php:96 +#: template.php:113 msgid "last year" msgstr "سال قبل" -#: template.php:97 +#: template.php:114 msgid "years ago" msgstr "سال‌های قبل" -#: updater.php:66 +#: updater.php:75 #, php-format msgid "%s is available. Get more information" msgstr "" -#: updater.php:68 +#: updater.php:77 msgid "up to date" msgstr "" -#: updater.php:71 +#: updater.php:80 msgid "updates check is disabled" msgstr "" + +#: vcategories.php:188 vcategories.php:249 +#, php-format +msgid "Could not find category \"%s\"" +msgstr "" diff --git a/l10n/fa/media.po b/l10n/fa/media.po deleted file mode 100644 index bd920337bac138a06416b857569e236903ccea8a..0000000000000000000000000000000000000000 --- a/l10n/fa/media.po +++ /dev/null @@ -1,67 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Hossein nag , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-06-06 00:12+0200\n" -"PO-Revision-Date: 2012-06-05 22:15+0000\n" -"Last-Translator: icewind \n" -"Language-Team: Persian (http://www.transifex.net/projects/p/owncloud/language/fa/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: fa\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: appinfo/app.php:32 templates/player.php:8 -msgid "Music" -msgstr "موسیقی" - -#: js/music.js:18 -msgid "Add album to playlist" -msgstr "" - -#: templates/music.php:3 templates/player.php:12 -msgid "Play" -msgstr "پخش کردن" - -#: templates/music.php:4 templates/music.php:26 templates/player.php:13 -msgid "Pause" -msgstr "توقف کوتاه" - -#: templates/music.php:5 -msgid "Previous" -msgstr "قبلی" - -#: templates/music.php:6 templates/player.php:14 -msgid "Next" -msgstr "بعدی" - -#: templates/music.php:7 -msgid "Mute" -msgstr "خفه کردن" - -#: templates/music.php:8 -msgid "Unmute" -msgstr "باز گشایی صدا" - -#: templates/music.php:25 -msgid "Rescan Collection" -msgstr "دوباره بازرسی مجموعه ها" - -#: templates/music.php:37 -msgid "Artist" -msgstr "هنرمند" - -#: templates/music.php:38 -msgid "Album" -msgstr "آلبوم" - -#: templates/music.php:39 -msgid "Title" -msgstr "عنوان" diff --git a/l10n/fa/settings.po b/l10n/fa/settings.po index 1d5a04b48a1ab7da633230c35837560ac80dd24a..e0c3b853c8997701dd14fb0b4765cb4e63e807fd 100644 --- a/l10n/fa/settings.po +++ b/l10n/fa/settings.po @@ -3,15 +3,17 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# , 2012. # Hossein nag , 2012. +# , 2012. # vahid chakoshy , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-09 02:03+0200\n" -"PO-Revision-Date: 2012-10-09 00:04+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-12-03 00:04+0100\n" +"PO-Revision-Date: 2012-12-02 03:18+0000\n" +"Last-Translator: ho2o2oo \n" "Language-Team: Persian (http://www.transifex.com/projects/p/owncloud/language/fa/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -19,70 +21,73 @@ msgstr "" "Language: fa\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: ajax/apps/ocs.php:23 +#: ajax/apps/ocs.php:20 msgid "Unable to load list from App Store" -msgstr "" +msgstr "قادر به بارگذاری لیست از فروشگاه اپ نیستم" -#: ajax/creategroup.php:9 ajax/removeuser.php:13 ajax/setquota.php:18 -#: ajax/togglegroups.php:15 -msgid "Authentication error" -msgstr "" - -#: ajax/creategroup.php:19 +#: ajax/creategroup.php:10 msgid "Group already exists" msgstr "" -#: ajax/creategroup.php:28 +#: ajax/creategroup.php:19 msgid "Unable to add group" msgstr "" -#: ajax/enableapp.php:14 +#: ajax/enableapp.php:12 msgid "Could not enable app. " msgstr "" -#: ajax/lostpassword.php:14 +#: ajax/lostpassword.php:12 msgid "Email saved" msgstr "ایمیل ذخیره شد" -#: ajax/lostpassword.php:16 +#: ajax/lostpassword.php:14 msgid "Invalid email" msgstr "ایمیل غیر قابل قبول" -#: ajax/openid.php:16 +#: ajax/openid.php:13 msgid "OpenID Changed" msgstr "OpenID تغییر کرد" -#: ajax/openid.php:18 ajax/setlanguage.php:20 ajax/setlanguage.php:23 +#: ajax/openid.php:15 ajax/setlanguage.php:17 ajax/setlanguage.php:20 msgid "Invalid request" msgstr "درخواست غیر قابل قبول" -#: ajax/removegroup.php:16 +#: ajax/removegroup.php:13 msgid "Unable to delete group" msgstr "" -#: ajax/removeuser.php:22 +#: ajax/removeuser.php:15 ajax/setquota.php:15 ajax/togglegroups.php:18 +msgid "Authentication error" +msgstr "خطا در اعتبار سنجی" + +#: ajax/removeuser.php:24 msgid "Unable to delete user" msgstr "" -#: ajax/setlanguage.php:18 +#: ajax/setlanguage.php:15 msgid "Language changed" msgstr "زبان تغییر کرد" -#: ajax/togglegroups.php:25 +#: ajax/togglegroups.php:12 +msgid "Admins can't remove themself from the admin group" +msgstr "" + +#: ajax/togglegroups.php:28 #, php-format msgid "Unable to add user to group %s" msgstr "" -#: ajax/togglegroups.php:31 +#: ajax/togglegroups.php:34 #, php-format msgid "Unable to remove user from group %s" msgstr "" -#: js/apps.js:28 js/apps.js:65 +#: js/apps.js:28 js/apps.js:67 msgid "Disable" msgstr "غیرفعال" -#: js/apps.js:28 js/apps.js:54 +#: js/apps.js:28 js/apps.js:55 msgid "Enable" msgstr "فعال" @@ -90,97 +95,10 @@ msgstr "فعال" msgid "Saving..." msgstr "درحال ذخیره ..." -#: personal.php:47 personal.php:48 +#: personal.php:42 personal.php:43 msgid "__language_name__" msgstr "__language_name__" -#: templates/admin.php:14 -msgid "Security Warning" -msgstr "اخطار امنیتی" - -#: templates/admin.php:17 -msgid "" -"Your data directory and your files are probably accessible from the " -"internet. The .htaccess file that ownCloud provides is not working. We " -"strongly suggest that you configure your webserver in a way that the data " -"directory is no longer accessible or you move the data directory outside the" -" webserver document root." -msgstr "" - -#: templates/admin.php:31 -msgid "Cron" -msgstr "" - -#: templates/admin.php:37 -msgid "Execute one task with each page loaded" -msgstr "" - -#: templates/admin.php:43 -msgid "" -"cron.php is registered at a webcron service. Call the cron.php page in the " -"owncloud root once a minute over http." -msgstr "" - -#: templates/admin.php:49 -msgid "" -"Use systems cron service. Call the cron.php file in the owncloud folder via " -"a system cronjob once a minute." -msgstr "" - -#: templates/admin.php:56 -msgid "Sharing" -msgstr "" - -#: templates/admin.php:61 -msgid "Enable Share API" -msgstr "" - -#: templates/admin.php:62 -msgid "Allow apps to use the Share API" -msgstr "" - -#: templates/admin.php:67 -msgid "Allow links" -msgstr "" - -#: templates/admin.php:68 -msgid "Allow users to share items to the public with links" -msgstr "" - -#: templates/admin.php:73 -msgid "Allow resharing" -msgstr "" - -#: templates/admin.php:74 -msgid "Allow users to share items shared with them again" -msgstr "" - -#: templates/admin.php:79 -msgid "Allow users to share with anyone" -msgstr "" - -#: templates/admin.php:81 -msgid "Allow users to only share with users in their groups" -msgstr "" - -#: templates/admin.php:88 -msgid "Log" -msgstr "کارنامه" - -#: templates/admin.php:116 -msgid "More" -msgstr "بیشتر" - -#: templates/admin.php:124 -msgid "" -"Developed by the ownCloud community, the source code is " -"licensed under the AGPL." -msgstr "" - #: templates/apps.php:10 msgid "Add your App" msgstr "برنامه خود را بیافزایید" @@ -213,21 +131,21 @@ msgstr "مدیریت پرونده های بزرگ" msgid "Ask a question" msgstr "یک سوال بپرسید" -#: templates/help.php:23 +#: templates/help.php:22 msgid "Problems connecting to help database." msgstr "مشکلاتی برای وصل شدن به پایگاه داده کمکی" -#: templates/help.php:24 +#: templates/help.php:23 msgid "Go there manually." msgstr "بروید آنجا به صورت دستی" -#: templates/help.php:32 +#: templates/help.php:31 msgid "Answer" msgstr "پاسخ" #: templates/personal.php:8 #, php-format -msgid "You have used %s of the available %s" +msgid "You have used %s of the available %s" msgstr "" #: templates/personal.php:12 @@ -240,7 +158,7 @@ msgstr "بارگیری" #: templates/personal.php:19 msgid "Your password was changed" -msgstr "" +msgstr "رمز عبور شما تغییر یافت" #: templates/personal.php:20 msgid "Unable to change your password" @@ -286,6 +204,16 @@ msgstr "به ترجمه آن کمک کنید" msgid "use this address to connect to your ownCloud in your file manager" msgstr "از این نشانی برای وصل شدن به ابرهایتان در مدیرپرونده استفاده کنید" +#: templates/personal.php:61 +msgid "" +"Developed by the ownCloud community, the source code is " +"licensed under the AGPL." +msgstr "" + #: templates/users.php:21 templates/users.php:76 msgid "Name" msgstr "نام" diff --git a/l10n/fa/tasks.po b/l10n/fa/tasks.po deleted file mode 100644 index 90c396946ba5456b9cd58416484dc7a09e7c5694..0000000000000000000000000000000000000000 --- a/l10n/fa/tasks.po +++ /dev/null @@ -1,107 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Mohammad Dashtizadeh , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-24 02:02+0200\n" -"PO-Revision-Date: 2012-08-23 19:59+0000\n" -"Last-Translator: Mohammad Dashtizadeh \n" -"Language-Team: Persian (http://www.transifex.com/projects/p/owncloud/language/fa/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: fa\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: ajax/update_property.php:51 lib/app.php:89 lib/app.php:101 -msgid "Invalid date/time" -msgstr "" - -#: appinfo/app.php:11 -msgid "Tasks" -msgstr "وظایف" - -#: js/tasks.js:415 -msgid "No category" -msgstr "" - -#: lib/app.php:33 -msgid "Unspecified" -msgstr "" - -#: lib/app.php:34 -msgid "1=highest" -msgstr "1=بیش‌ترین" - -#: lib/app.php:38 -msgid "5=medium" -msgstr "5=متوسط" - -#: lib/app.php:42 -msgid "9=lowest" -msgstr "9=کم‌ترین" - -#: lib/app.php:81 -msgid "Empty Summary" -msgstr "" - -#: lib/app.php:93 -msgid "Invalid percent complete" -msgstr "" - -#: lib/app.php:107 -msgid "Invalid priority" -msgstr "" - -#: templates/tasks.php:3 -msgid "Add Task" -msgstr "" - -#: templates/tasks.php:4 -msgid "Order Due" -msgstr "" - -#: templates/tasks.php:5 -msgid "Order List" -msgstr "" - -#: templates/tasks.php:6 -msgid "Order Complete" -msgstr "" - -#: templates/tasks.php:7 -msgid "Order Location" -msgstr "" - -#: templates/tasks.php:8 -msgid "Order Priority" -msgstr "" - -#: templates/tasks.php:9 -msgid "Order Label" -msgstr "" - -#: templates/tasks.php:16 -msgid "Loading tasks..." -msgstr "درحال بارگزاری وظایف" - -#: templates/tasks.php:20 -msgid "Important" -msgstr "مهم" - -#: templates/tasks.php:23 -msgid "More" -msgstr "بیش‌تر" - -#: templates/tasks.php:26 -msgid "Less" -msgstr "کم‌تر" - -#: templates/tasks.php:29 -msgid "Delete" -msgstr "حذف" diff --git a/l10n/fa/user_migrate.po b/l10n/fa/user_migrate.po deleted file mode 100644 index dbd3fc6600f21175de37a2a76e37144943c4a708..0000000000000000000000000000000000000000 --- a/l10n/fa/user_migrate.po +++ /dev/null @@ -1,51 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:45+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Persian (http://www.transifex.com/projects/p/owncloud/language/fa/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: fa\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: js/export.js:14 js/export.js:20 -msgid "Export" -msgstr "" - -#: js/export.js:19 -msgid "Something went wrong while the export file was being generated" -msgstr "" - -#: js/export.js:19 -msgid "An error has occurred" -msgstr "" - -#: templates/settings.php:2 -msgid "Export your user account" -msgstr "" - -#: templates/settings.php:3 -msgid "" -"This will create a compressed file that contains your ownCloud account." -msgstr "" - -#: templates/settings.php:13 -msgid "Import user account" -msgstr "" - -#: templates/settings.php:15 -msgid "ownCloud User Zip" -msgstr "" - -#: templates/settings.php:17 -msgid "Import" -msgstr "" diff --git a/l10n/fa/user_openid.po b/l10n/fa/user_openid.po deleted file mode 100644 index abfc372d3c7e6f75450f412c57a9da502be9da07..0000000000000000000000000000000000000000 --- a/l10n/fa/user_openid.po +++ /dev/null @@ -1,54 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:45+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Persian (http://www.transifex.com/projects/p/owncloud/language/fa/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: fa\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: templates/nomode.php:12 -msgid "This is an OpenID server endpoint. For more information, see " -msgstr "" - -#: templates/nomode.php:14 -msgid "Identity: " -msgstr "" - -#: templates/nomode.php:15 -msgid "Realm: " -msgstr "" - -#: templates/nomode.php:16 -msgid "User: " -msgstr "" - -#: templates/nomode.php:17 -msgid "Login" -msgstr "" - -#: templates/nomode.php:22 -msgid "Error: No user Selected" -msgstr "" - -#: templates/settings.php:4 -msgid "you can authenticate to other sites with this address" -msgstr "" - -#: templates/settings.php:5 -msgid "Authorized OpenID provider" -msgstr "" - -#: templates/settings.php:6 -msgid "Your address at Wordpress, Identi.ca, …" -msgstr "" diff --git a/l10n/fa/files_odfviewer.po b/l10n/fa/user_webdavauth.po similarity index 74% rename from l10n/fa/files_odfviewer.po rename to l10n/fa/user_webdavauth.po index 9a3288832d1c3e021e11a6ec1632a79b128df54c..aedbab154750225366189484279f7f15f0dba495 100644 --- a/l10n/fa/files_odfviewer.po +++ b/l10n/fa/user_webdavauth.po @@ -7,16 +7,16 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 02:18+0200\n" -"PO-Revision-Date: 2012-08-26 00:19+0000\n" +"POT-Creation-Date: 2012-11-09 10:06+0100\n" +"PO-Revision-Date: 2012-11-09 09:06+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: Persian (http://www.transifex.com/projects/p/owncloud/language/fa/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: fa\n" -"Plural-Forms: nplurals=1; plural=0\n" +"Plural-Forms: nplurals=1; plural=0;\n" -#: js/viewer.js:9 -msgid "Close" +#: templates/settings.php:4 +msgid "WebDAV URL: http://" msgstr "" diff --git a/l10n/fi/admin_dependencies_chk.po b/l10n/fi/admin_dependencies_chk.po deleted file mode 100644 index c3fe2f98228a40ea86871c56da5942729d8bda5c..0000000000000000000000000000000000000000 --- a/l10n/fi/admin_dependencies_chk.po +++ /dev/null @@ -1,73 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:33+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Finnish (http://www.transifex.com/projects/p/owncloud/language/fi/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: fi\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: settings.php:33 -msgid "" -"The php-json module is needed by the many applications for inter " -"communications" -msgstr "" - -#: settings.php:39 -msgid "" -"The php-curl modude is needed to fetch the page title when adding a " -"bookmarks" -msgstr "" - -#: settings.php:45 -msgid "The php-gd module is needed to create thumbnails of your images" -msgstr "" - -#: settings.php:51 -msgid "The php-ldap module is needed connect to your ldap server" -msgstr "" - -#: settings.php:57 -msgid "The php-zip module is needed download multiple files at once" -msgstr "" - -#: settings.php:63 -msgid "" -"The php-mb_multibyte module is needed to manage correctly the encoding." -msgstr "" - -#: settings.php:69 -msgid "The php-ctype module is needed validate data." -msgstr "" - -#: settings.php:75 -msgid "The php-xml module is needed to share files with webdav." -msgstr "" - -#: settings.php:81 -msgid "" -"The allow_url_fopen directive of your php.ini should be set to 1 to retrieve" -" knowledge base from OCS servers" -msgstr "" - -#: settings.php:87 -msgid "The php-pdo module is needed to store owncloud data into a database." -msgstr "" - -#: templates/settings.php:2 -msgid "Dependencies status" -msgstr "" - -#: templates/settings.php:7 -msgid "Used by :" -msgstr "" diff --git a/l10n/fi/admin_migrate.po b/l10n/fi/admin_migrate.po deleted file mode 100644 index 3aea7a7ce5d83b721195c82cf136e8d592a7c417..0000000000000000000000000000000000000000 --- a/l10n/fi/admin_migrate.po +++ /dev/null @@ -1,32 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:32+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Finnish (http://www.transifex.com/projects/p/owncloud/language/fi/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: fi\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: templates/settings.php:3 -msgid "Export this ownCloud instance" -msgstr "" - -#: templates/settings.php:4 -msgid "" -"This will create a compressed file that contains the data of this owncloud instance.\n" -" Please choose the export type:" -msgstr "" - -#: templates/settings.php:12 -msgid "Export" -msgstr "" diff --git a/l10n/fi/bookmarks.po b/l10n/fi/bookmarks.po deleted file mode 100644 index eb0373eb8ac688240698a3d7688566a45a408175..0000000000000000000000000000000000000000 --- a/l10n/fi/bookmarks.po +++ /dev/null @@ -1,60 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-09 02:02+0200\n" -"PO-Revision-Date: 2012-07-27 22:17+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Finnish (http://www.transifex.com/projects/p/owncloud/language/fi/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: fi\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: appinfo/app.php:14 -msgid "Bookmarks" -msgstr "" - -#: bookmarksHelper.php:99 -msgid "unnamed" -msgstr "" - -#: templates/bookmarklet.php:5 -msgid "" -"Drag this to your browser bookmarks and click it, when you want to bookmark " -"a webpage quickly:" -msgstr "" - -#: templates/bookmarklet.php:7 -msgid "Read later" -msgstr "" - -#: templates/list.php:13 -msgid "Address" -msgstr "" - -#: templates/list.php:14 -msgid "Title" -msgstr "" - -#: templates/list.php:15 -msgid "Tags" -msgstr "" - -#: templates/list.php:16 -msgid "Save bookmark" -msgstr "" - -#: templates/list.php:22 -msgid "You have no bookmarks" -msgstr "" - -#: templates/settings.php:11 -msgid "Bookmarklet
" -msgstr "" diff --git a/l10n/fi/calendar.po b/l10n/fi/calendar.po deleted file mode 100644 index 9b551fc88c9841f4b22d69acb9f55a1b63418dea..0000000000000000000000000000000000000000 --- a/l10n/fi/calendar.po +++ /dev/null @@ -1,813 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-11 02:02+0200\n" -"PO-Revision-Date: 2012-08-11 00:02+0000\n" -"Last-Translator: owncloud_robot \n" -"Language-Team: Finnish (http://www.transifex.com/projects/p/owncloud/language/fi/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: fi\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: ajax/cache/status.php:19 -msgid "Not all calendars are completely cached" -msgstr "" - -#: ajax/cache/status.php:21 -msgid "Everything seems to be completely cached" -msgstr "" - -#: ajax/categories/rescan.php:29 -msgid "No calendars found." -msgstr "" - -#: ajax/categories/rescan.php:37 -msgid "No events found." -msgstr "" - -#: ajax/event/edit.form.php:20 -msgid "Wrong calendar" -msgstr "" - -#: ajax/import/dropimport.php:29 ajax/import/import.php:64 -msgid "" -"The file contained either no events or all events are already saved in your " -"calendar." -msgstr "" - -#: ajax/import/dropimport.php:31 ajax/import/import.php:67 -msgid "events has been saved in the new calendar" -msgstr "" - -#: ajax/import/import.php:56 -msgid "Import failed" -msgstr "" - -#: ajax/import/import.php:69 -msgid "events has been saved in your calendar" -msgstr "" - -#: ajax/settings/guesstimezone.php:25 -msgid "New Timezone:" -msgstr "" - -#: ajax/settings/settimezone.php:23 -msgid "Timezone changed" -msgstr "" - -#: ajax/settings/settimezone.php:25 -msgid "Invalid request" -msgstr "" - -#: appinfo/app.php:35 templates/calendar.php:15 -#: templates/part.eventform.php:33 templates/part.showevent.php:33 -msgid "Calendar" -msgstr "" - -#: js/calendar.js:832 -msgid "ddd" -msgstr "" - -#: js/calendar.js:833 -msgid "ddd M/d" -msgstr "" - -#: js/calendar.js:834 -msgid "dddd M/d" -msgstr "" - -#: js/calendar.js:837 -msgid "MMMM yyyy" -msgstr "" - -#: js/calendar.js:839 -msgid "MMM d[ yyyy]{ '—'[ MMM] d yyyy}" -msgstr "" - -#: js/calendar.js:841 -msgid "dddd, MMM d, yyyy" -msgstr "" - -#: lib/app.php:121 -msgid "Birthday" -msgstr "" - -#: lib/app.php:122 -msgid "Business" -msgstr "" - -#: lib/app.php:123 -msgid "Call" -msgstr "" - -#: lib/app.php:124 -msgid "Clients" -msgstr "" - -#: lib/app.php:125 -msgid "Deliverer" -msgstr "" - -#: lib/app.php:126 -msgid "Holidays" -msgstr "" - -#: lib/app.php:127 -msgid "Ideas" -msgstr "" - -#: lib/app.php:128 -msgid "Journey" -msgstr "" - -#: lib/app.php:129 -msgid "Jubilee" -msgstr "" - -#: lib/app.php:130 -msgid "Meeting" -msgstr "" - -#: lib/app.php:131 -msgid "Other" -msgstr "" - -#: lib/app.php:132 -msgid "Personal" -msgstr "" - -#: lib/app.php:133 -msgid "Projects" -msgstr "" - -#: lib/app.php:134 -msgid "Questions" -msgstr "" - -#: lib/app.php:135 -msgid "Work" -msgstr "" - -#: lib/app.php:351 lib/app.php:361 -msgid "by" -msgstr "" - -#: lib/app.php:359 lib/app.php:399 -msgid "unnamed" -msgstr "" - -#: lib/import.php:184 templates/calendar.php:12 -#: templates/part.choosecalendar.php:22 -msgid "New Calendar" -msgstr "" - -#: lib/object.php:372 -msgid "Does not repeat" -msgstr "" - -#: lib/object.php:373 -msgid "Daily" -msgstr "" - -#: lib/object.php:374 -msgid "Weekly" -msgstr "" - -#: lib/object.php:375 -msgid "Every Weekday" -msgstr "" - -#: lib/object.php:376 -msgid "Bi-Weekly" -msgstr "" - -#: lib/object.php:377 -msgid "Monthly" -msgstr "" - -#: lib/object.php:378 -msgid "Yearly" -msgstr "" - -#: lib/object.php:388 -msgid "never" -msgstr "" - -#: lib/object.php:389 -msgid "by occurrences" -msgstr "" - -#: lib/object.php:390 -msgid "by date" -msgstr "" - -#: lib/object.php:400 -msgid "by monthday" -msgstr "" - -#: lib/object.php:401 -msgid "by weekday" -msgstr "" - -#: lib/object.php:411 templates/calendar.php:5 templates/settings.php:69 -msgid "Monday" -msgstr "" - -#: lib/object.php:412 templates/calendar.php:5 -msgid "Tuesday" -msgstr "" - -#: lib/object.php:413 templates/calendar.php:5 -msgid "Wednesday" -msgstr "" - -#: lib/object.php:414 templates/calendar.php:5 -msgid "Thursday" -msgstr "" - -#: lib/object.php:415 templates/calendar.php:5 -msgid "Friday" -msgstr "" - -#: lib/object.php:416 templates/calendar.php:5 -msgid "Saturday" -msgstr "" - -#: lib/object.php:417 templates/calendar.php:5 templates/settings.php:70 -msgid "Sunday" -msgstr "" - -#: lib/object.php:427 -msgid "events week of month" -msgstr "" - -#: lib/object.php:428 -msgid "first" -msgstr "" - -#: lib/object.php:429 -msgid "second" -msgstr "" - -#: lib/object.php:430 -msgid "third" -msgstr "" - -#: lib/object.php:431 -msgid "fourth" -msgstr "" - -#: lib/object.php:432 -msgid "fifth" -msgstr "" - -#: lib/object.php:433 -msgid "last" -msgstr "" - -#: lib/object.php:467 templates/calendar.php:7 -msgid "January" -msgstr "" - -#: lib/object.php:468 templates/calendar.php:7 -msgid "February" -msgstr "" - -#: lib/object.php:469 templates/calendar.php:7 -msgid "March" -msgstr "" - -#: lib/object.php:470 templates/calendar.php:7 -msgid "April" -msgstr "" - -#: lib/object.php:471 templates/calendar.php:7 -msgid "May" -msgstr "" - -#: lib/object.php:472 templates/calendar.php:7 -msgid "June" -msgstr "" - -#: lib/object.php:473 templates/calendar.php:7 -msgid "July" -msgstr "" - -#: lib/object.php:474 templates/calendar.php:7 -msgid "August" -msgstr "" - -#: lib/object.php:475 templates/calendar.php:7 -msgid "September" -msgstr "" - -#: lib/object.php:476 templates/calendar.php:7 -msgid "October" -msgstr "" - -#: lib/object.php:477 templates/calendar.php:7 -msgid "November" -msgstr "" - -#: lib/object.php:478 templates/calendar.php:7 -msgid "December" -msgstr "" - -#: lib/object.php:488 -msgid "by events date" -msgstr "" - -#: lib/object.php:489 -msgid "by yearday(s)" -msgstr "" - -#: lib/object.php:490 -msgid "by weeknumber(s)" -msgstr "" - -#: lib/object.php:491 -msgid "by day and month" -msgstr "" - -#: lib/search.php:35 lib/search.php:37 lib/search.php:40 -msgid "Date" -msgstr "" - -#: lib/search.php:43 -msgid "Cal." -msgstr "" - -#: templates/calendar.php:6 -msgid "Sun." -msgstr "" - -#: templates/calendar.php:6 -msgid "Mon." -msgstr "" - -#: templates/calendar.php:6 -msgid "Tue." -msgstr "" - -#: templates/calendar.php:6 -msgid "Wed." -msgstr "" - -#: templates/calendar.php:6 -msgid "Thu." -msgstr "" - -#: templates/calendar.php:6 -msgid "Fri." -msgstr "" - -#: templates/calendar.php:6 -msgid "Sat." -msgstr "" - -#: templates/calendar.php:8 -msgid "Jan." -msgstr "" - -#: templates/calendar.php:8 -msgid "Feb." -msgstr "" - -#: templates/calendar.php:8 -msgid "Mar." -msgstr "" - -#: templates/calendar.php:8 -msgid "Apr." -msgstr "" - -#: templates/calendar.php:8 -msgid "May." -msgstr "" - -#: templates/calendar.php:8 -msgid "Jun." -msgstr "" - -#: templates/calendar.php:8 -msgid "Jul." -msgstr "" - -#: templates/calendar.php:8 -msgid "Aug." -msgstr "" - -#: templates/calendar.php:8 -msgid "Sep." -msgstr "" - -#: templates/calendar.php:8 -msgid "Oct." -msgstr "" - -#: templates/calendar.php:8 -msgid "Nov." -msgstr "" - -#: templates/calendar.php:8 -msgid "Dec." -msgstr "" - -#: templates/calendar.php:11 -msgid "All day" -msgstr "" - -#: templates/calendar.php:13 -msgid "Missing fields" -msgstr "" - -#: templates/calendar.php:14 templates/part.eventform.php:19 -#: templates/part.showevent.php:11 -msgid "Title" -msgstr "" - -#: templates/calendar.php:16 -msgid "From Date" -msgstr "" - -#: templates/calendar.php:17 -msgid "From Time" -msgstr "" - -#: templates/calendar.php:18 -msgid "To Date" -msgstr "" - -#: templates/calendar.php:19 -msgid "To Time" -msgstr "" - -#: templates/calendar.php:20 -msgid "The event ends before it starts" -msgstr "" - -#: templates/calendar.php:21 -msgid "There was a database fail" -msgstr "" - -#: templates/calendar.php:39 -msgid "Week" -msgstr "" - -#: templates/calendar.php:40 -msgid "Month" -msgstr "" - -#: templates/calendar.php:41 -msgid "List" -msgstr "" - -#: templates/calendar.php:45 -msgid "Today" -msgstr "" - -#: templates/calendar.php:46 templates/calendar.php:47 -msgid "Settings" -msgstr "" - -#: templates/part.choosecalendar.php:2 -msgid "Your calendars" -msgstr "" - -#: templates/part.choosecalendar.php:27 -#: templates/part.choosecalendar.rowfields.php:11 -msgid "CalDav Link" -msgstr "" - -#: templates/part.choosecalendar.php:31 -msgid "Shared calendars" -msgstr "" - -#: templates/part.choosecalendar.php:48 -msgid "No shared calendars" -msgstr "" - -#: templates/part.choosecalendar.rowfields.php:8 -msgid "Share Calendar" -msgstr "" - -#: templates/part.choosecalendar.rowfields.php:14 -msgid "Download" -msgstr "" - -#: templates/part.choosecalendar.rowfields.php:17 -msgid "Edit" -msgstr "" - -#: templates/part.choosecalendar.rowfields.php:20 -#: templates/part.editevent.php:9 -msgid "Delete" -msgstr "" - -#: templates/part.choosecalendar.rowfields.shared.php:4 -msgid "shared with you by" -msgstr "" - -#: templates/part.editcalendar.php:9 -msgid "New calendar" -msgstr "" - -#: templates/part.editcalendar.php:9 -msgid "Edit calendar" -msgstr "" - -#: templates/part.editcalendar.php:12 -msgid "Displayname" -msgstr "" - -#: templates/part.editcalendar.php:23 -msgid "Active" -msgstr "" - -#: templates/part.editcalendar.php:29 -msgid "Calendar color" -msgstr "" - -#: templates/part.editcalendar.php:42 -msgid "Save" -msgstr "" - -#: templates/part.editcalendar.php:42 templates/part.editevent.php:8 -#: templates/part.newevent.php:6 -msgid "Submit" -msgstr "" - -#: templates/part.editcalendar.php:43 -msgid "Cancel" -msgstr "" - -#: templates/part.editevent.php:1 -msgid "Edit an event" -msgstr "" - -#: templates/part.editevent.php:10 -msgid "Export" -msgstr "" - -#: templates/part.eventform.php:8 templates/part.showevent.php:3 -msgid "Eventinfo" -msgstr "" - -#: templates/part.eventform.php:9 templates/part.showevent.php:4 -msgid "Repeating" -msgstr "" - -#: templates/part.eventform.php:10 templates/part.showevent.php:5 -msgid "Alarm" -msgstr "" - -#: templates/part.eventform.php:11 templates/part.showevent.php:6 -msgid "Attendees" -msgstr "" - -#: templates/part.eventform.php:13 -msgid "Share" -msgstr "" - -#: templates/part.eventform.php:21 -msgid "Title of the Event" -msgstr "" - -#: templates/part.eventform.php:27 templates/part.showevent.php:19 -msgid "Category" -msgstr "" - -#: templates/part.eventform.php:29 -msgid "Separate categories with commas" -msgstr "" - -#: templates/part.eventform.php:30 -msgid "Edit categories" -msgstr "" - -#: templates/part.eventform.php:56 templates/part.showevent.php:52 -msgid "All Day Event" -msgstr "" - -#: templates/part.eventform.php:60 templates/part.showevent.php:56 -msgid "From" -msgstr "" - -#: templates/part.eventform.php:68 templates/part.showevent.php:64 -msgid "To" -msgstr "" - -#: templates/part.eventform.php:76 templates/part.showevent.php:72 -msgid "Advanced options" -msgstr "" - -#: templates/part.eventform.php:81 templates/part.showevent.php:77 -msgid "Location" -msgstr "" - -#: templates/part.eventform.php:83 -msgid "Location of the Event" -msgstr "" - -#: templates/part.eventform.php:89 templates/part.showevent.php:85 -msgid "Description" -msgstr "" - -#: templates/part.eventform.php:91 -msgid "Description of the Event" -msgstr "" - -#: templates/part.eventform.php:100 templates/part.showevent.php:95 -msgid "Repeat" -msgstr "" - -#: templates/part.eventform.php:107 templates/part.showevent.php:102 -msgid "Advanced" -msgstr "" - -#: templates/part.eventform.php:151 templates/part.showevent.php:146 -msgid "Select weekdays" -msgstr "" - -#: templates/part.eventform.php:164 templates/part.eventform.php:177 -#: templates/part.showevent.php:159 templates/part.showevent.php:172 -msgid "Select days" -msgstr "" - -#: templates/part.eventform.php:169 templates/part.showevent.php:164 -msgid "and the events day of year." -msgstr "" - -#: templates/part.eventform.php:182 templates/part.showevent.php:177 -msgid "and the events day of month." -msgstr "" - -#: templates/part.eventform.php:190 templates/part.showevent.php:185 -msgid "Select months" -msgstr "" - -#: templates/part.eventform.php:203 templates/part.showevent.php:198 -msgid "Select weeks" -msgstr "" - -#: templates/part.eventform.php:208 templates/part.showevent.php:203 -msgid "and the events week of year." -msgstr "" - -#: templates/part.eventform.php:214 templates/part.showevent.php:209 -msgid "Interval" -msgstr "" - -#: templates/part.eventform.php:220 templates/part.showevent.php:215 -msgid "End" -msgstr "" - -#: templates/part.eventform.php:233 templates/part.showevent.php:228 -msgid "occurrences" -msgstr "" - -#: templates/part.import.php:14 -msgid "create a new calendar" -msgstr "" - -#: templates/part.import.php:17 -msgid "Import a calendar file" -msgstr "" - -#: templates/part.import.php:24 -msgid "Please choose a calendar" -msgstr "" - -#: templates/part.import.php:36 -msgid "Name of new calendar" -msgstr "" - -#: templates/part.import.php:44 -msgid "Take an available name!" -msgstr "" - -#: templates/part.import.php:45 -msgid "" -"A Calendar with this name already exists. If you continue anyhow, these " -"calendars will be merged." -msgstr "" - -#: templates/part.import.php:47 -msgid "Import" -msgstr "" - -#: templates/part.import.php:56 -msgid "Close Dialog" -msgstr "" - -#: templates/part.newevent.php:1 -msgid "Create a new event" -msgstr "" - -#: templates/part.showevent.php:1 -msgid "View an event" -msgstr "" - -#: templates/part.showevent.php:23 -msgid "No categories selected" -msgstr "" - -#: templates/part.showevent.php:37 -msgid "of" -msgstr "" - -#: templates/part.showevent.php:59 templates/part.showevent.php:67 -msgid "at" -msgstr "" - -#: templates/settings.php:10 -msgid "General" -msgstr "" - -#: templates/settings.php:15 -msgid "Timezone" -msgstr "" - -#: templates/settings.php:47 -msgid "Update timezone automatically" -msgstr "" - -#: templates/settings.php:52 -msgid "Time format" -msgstr "" - -#: templates/settings.php:57 -msgid "24h" -msgstr "" - -#: templates/settings.php:58 -msgid "12h" -msgstr "" - -#: templates/settings.php:64 -msgid "Start week on" -msgstr "" - -#: templates/settings.php:76 -msgid "Cache" -msgstr "" - -#: templates/settings.php:80 -msgid "Clear cache for repeating events" -msgstr "" - -#: templates/settings.php:85 -msgid "URLs" -msgstr "" - -#: templates/settings.php:87 -msgid "Calendar CalDAV syncing addresses" -msgstr "" - -#: templates/settings.php:87 -msgid "more info" -msgstr "" - -#: templates/settings.php:89 -msgid "Primary address (Kontact et al)" -msgstr "" - -#: templates/settings.php:91 -msgid "iOS/OS X" -msgstr "" - -#: templates/settings.php:93 -msgid "Read only iCalendar link(s)" -msgstr "" - -#: templates/share.dropdown.php:20 -msgid "Users" -msgstr "" - -#: templates/share.dropdown.php:21 -msgid "select users" -msgstr "" - -#: templates/share.dropdown.php:36 templates/share.dropdown.php:62 -msgid "Editable" -msgstr "" - -#: templates/share.dropdown.php:48 -msgid "Groups" -msgstr "" - -#: templates/share.dropdown.php:49 -msgid "select groups" -msgstr "" - -#: templates/share.dropdown.php:75 -msgid "make public" -msgstr "" diff --git a/l10n/fi/contacts.po b/l10n/fi/contacts.po deleted file mode 100644 index da37fef417417ddc89fb7f0107d5709e2b9d075d..0000000000000000000000000000000000000000 --- a/l10n/fi/contacts.po +++ /dev/null @@ -1,952 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-24 02:02+0200\n" -"PO-Revision-Date: 2012-08-24 00:03+0000\n" -"Last-Translator: I Robot \n" -"Language-Team: Finnish (http://www.transifex.com/projects/p/owncloud/language/fi/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: fi\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: ajax/addressbook/activate.php:24 ajax/addressbook/update.php:32 -msgid "Error (de)activating addressbook." -msgstr "" - -#: ajax/addressbook/delete.php:31 ajax/addressbook/update.php:20 -#: ajax/contact/addproperty.php:42 ajax/contact/delete.php:32 -#: ajax/contact/saveproperty.php:39 -msgid "id is not set." -msgstr "" - -#: ajax/addressbook/update.php:24 -msgid "Cannot update addressbook with an empty name." -msgstr "" - -#: ajax/addressbook/update.php:28 -msgid "Error updating addressbook." -msgstr "" - -#: ajax/categories/categoriesfor.php:17 -msgid "No ID provided" -msgstr "" - -#: ajax/categories/categoriesfor.php:34 -msgid "Error setting checksum." -msgstr "" - -#: ajax/categories/delete.php:19 -msgid "No categories selected for deletion." -msgstr "" - -#: ajax/categories/delete.php:26 -msgid "No address books found." -msgstr "" - -#: ajax/categories/delete.php:34 -msgid "No contacts found." -msgstr "" - -#: ajax/contact/add.php:47 -msgid "There was an error adding the contact." -msgstr "" - -#: ajax/contact/addproperty.php:39 ajax/contact/saveproperty.php:36 -msgid "element name is not set." -msgstr "" - -#: ajax/contact/addproperty.php:46 -msgid "Could not parse contact: " -msgstr "" - -#: ajax/contact/addproperty.php:56 -msgid "Cannot add empty property." -msgstr "" - -#: ajax/contact/addproperty.php:67 -msgid "At least one of the address fields has to be filled out." -msgstr "" - -#: ajax/contact/addproperty.php:76 -msgid "Trying to add duplicate property: " -msgstr "" - -#: ajax/contact/addproperty.php:115 ajax/contact/saveproperty.php:93 -msgid "Missing IM parameter." -msgstr "" - -#: ajax/contact/addproperty.php:119 ajax/contact/saveproperty.php:97 -msgid "Unknown IM: " -msgstr "" - -#: ajax/contact/deleteproperty.php:37 -msgid "Information about vCard is incorrect. Please reload the page." -msgstr "" - -#: ajax/contact/details.php:31 -msgid "Missing ID" -msgstr "" - -#: ajax/contact/details.php:36 -msgid "Error parsing VCard for ID: \"" -msgstr "" - -#: ajax/contact/saveproperty.php:42 -msgid "checksum is not set." -msgstr "" - -#: ajax/contact/saveproperty.php:62 -msgid "Information about vCard is incorrect. Please reload the page: " -msgstr "" - -#: ajax/contact/saveproperty.php:69 -msgid "Something went FUBAR. " -msgstr "" - -#: ajax/currentphoto.php:30 ajax/oc_photo.php:28 ajax/uploadphoto.php:36 -#: ajax/uploadphoto.php:68 -msgid "No contact ID was submitted." -msgstr "" - -#: ajax/currentphoto.php:36 -msgid "Error reading contact photo." -msgstr "" - -#: ajax/currentphoto.php:48 -msgid "Error saving temporary file." -msgstr "" - -#: ajax/currentphoto.php:51 -msgid "The loading photo is not valid." -msgstr "" - -#: ajax/editname.php:31 -msgid "Contact ID is missing." -msgstr "" - -#: ajax/oc_photo.php:32 -msgid "No photo path was submitted." -msgstr "" - -#: ajax/oc_photo.php:39 -msgid "File doesn't exist:" -msgstr "" - -#: ajax/oc_photo.php:44 ajax/oc_photo.php:47 -msgid "Error loading image." -msgstr "" - -#: ajax/savecrop.php:69 -msgid "Error getting contact object." -msgstr "" - -#: ajax/savecrop.php:79 -msgid "Error getting PHOTO property." -msgstr "" - -#: ajax/savecrop.php:98 -msgid "Error saving contact." -msgstr "" - -#: ajax/savecrop.php:109 -msgid "Error resizing image" -msgstr "" - -#: ajax/savecrop.php:112 -msgid "Error cropping image" -msgstr "" - -#: ajax/savecrop.php:115 -msgid "Error creating temporary image" -msgstr "" - -#: ajax/savecrop.php:118 -msgid "Error finding image: " -msgstr "" - -#: ajax/uploadimport.php:44 ajax/uploadimport.php:76 -msgid "Error uploading contacts to storage." -msgstr "" - -#: ajax/uploadimport.php:61 ajax/uploadphoto.php:77 -msgid "There is no error, the file uploaded with success" -msgstr "" - -#: ajax/uploadimport.php:62 ajax/uploadphoto.php:78 -msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" -msgstr "" - -#: ajax/uploadimport.php:63 ajax/uploadphoto.php:79 -msgid "" -"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " -"the HTML form" -msgstr "" - -#: ajax/uploadimport.php:64 ajax/uploadphoto.php:80 -msgid "The uploaded file was only partially uploaded" -msgstr "" - -#: ajax/uploadimport.php:65 ajax/uploadphoto.php:81 -msgid "No file was uploaded" -msgstr "" - -#: ajax/uploadimport.php:66 ajax/uploadphoto.php:82 -msgid "Missing a temporary folder" -msgstr "" - -#: ajax/uploadphoto.php:59 ajax/uploadphoto.php:109 -msgid "Couldn't save temporary image: " -msgstr "" - -#: ajax/uploadphoto.php:62 ajax/uploadphoto.php:112 -msgid "Couldn't load temporary image: " -msgstr "" - -#: ajax/uploadphoto.php:71 -msgid "No file was uploaded. Unknown error" -msgstr "" - -#: appinfo/app.php:21 -msgid "Contacts" -msgstr "" - -#: js/contacts.js:71 -msgid "Sorry, this functionality has not been implemented yet" -msgstr "" - -#: js/contacts.js:71 -msgid "Not implemented" -msgstr "" - -#: js/contacts.js:76 -msgid "Couldn't get a valid address." -msgstr "" - -#: js/contacts.js:76 js/contacts.js:365 js/contacts.js:381 js/contacts.js:393 -#: js/contacts.js:723 js/contacts.js:763 js/contacts.js:789 js/contacts.js:921 -#: js/contacts.js:927 js/contacts.js:939 js/contacts.js:976 -#: js/contacts.js:1250 js/contacts.js:1258 js/contacts.js:1267 -#: js/contacts.js:1302 js/contacts.js:1338 js/contacts.js:1353 -#: js/contacts.js:1379 js/contacts.js:1609 js/contacts.js:1644 -#: js/contacts.js:1664 js/settings.js:26 js/settings.js:43 js/settings.js:68 -msgid "Error" -msgstr "" - -#: js/contacts.js:424 -msgid "You do not have permission to add contacts to " -msgstr "" - -#: js/contacts.js:425 -msgid "Please select one of your own address books." -msgstr "" - -#: js/contacts.js:425 -msgid "Permission error" -msgstr "" - -#: js/contacts.js:763 -msgid "This property has to be non-empty." -msgstr "" - -#: js/contacts.js:789 -msgid "Couldn't serialize elements." -msgstr "" - -#: js/contacts.js:921 js/contacts.js:939 -msgid "" -"'deleteProperty' called without type argument. Please report at " -"bugs.owncloud.org" -msgstr "" - -#: js/contacts.js:958 -msgid "Edit name" -msgstr "" - -#: js/contacts.js:1250 -msgid "No files selected for upload." -msgstr "" - -#: js/contacts.js:1258 -msgid "" -"The file you are trying to upload exceed the maximum size for file uploads " -"on this server." -msgstr "" - -#: js/contacts.js:1322 -msgid "Error loading profile picture." -msgstr "" - -#: js/contacts.js:1457 js/contacts.js:1498 js/contacts.js:1517 -#: js/contacts.js:1560 -msgid "Select type" -msgstr "" - -#: js/contacts.js:1578 -msgid "" -"Some contacts are marked for deletion, but not deleted yet. Please wait for " -"them to be deleted." -msgstr "" - -#: js/contacts.js:1649 -msgid "Do you want to merge these address books?" -msgstr "" - -#: js/loader.js:49 -msgid "Result: " -msgstr "" - -#: js/loader.js:49 -msgid " imported, " -msgstr "" - -#: js/loader.js:49 -msgid " failed." -msgstr "" - -#: js/settings.js:68 -msgid "Displayname cannot be empty." -msgstr "" - -#: lib/app.php:36 -msgid "Addressbook not found: " -msgstr "" - -#: lib/app.php:52 -msgid "This is not your addressbook." -msgstr "" - -#: lib/app.php:71 -msgid "Contact could not be found." -msgstr "" - -#: lib/app.php:116 -msgid "Jabber" -msgstr "" - -#: lib/app.php:121 -msgid "AIM" -msgstr "" - -#: lib/app.php:126 -msgid "MSN" -msgstr "" - -#: lib/app.php:131 -msgid "Twitter" -msgstr "" - -#: lib/app.php:136 -msgid "GoogleTalk" -msgstr "" - -#: lib/app.php:141 -msgid "Facebook" -msgstr "" - -#: lib/app.php:146 -msgid "XMPP" -msgstr "" - -#: lib/app.php:151 -msgid "ICQ" -msgstr "" - -#: lib/app.php:156 -msgid "Yahoo" -msgstr "" - -#: lib/app.php:161 -msgid "Skype" -msgstr "" - -#: lib/app.php:166 -msgid "QQ" -msgstr "" - -#: lib/app.php:171 -msgid "GaduGadu" -msgstr "" - -#: lib/app.php:194 lib/app.php:202 lib/app.php:213 lib/app.php:266 -msgid "Work" -msgstr "" - -#: lib/app.php:195 lib/app.php:200 lib/app.php:214 -msgid "Home" -msgstr "" - -#: lib/app.php:196 lib/app.php:209 lib/app.php:262 lib/vcard.php:593 -msgid "Other" -msgstr "" - -#: lib/app.php:201 -msgid "Mobile" -msgstr "" - -#: lib/app.php:203 -msgid "Text" -msgstr "" - -#: lib/app.php:204 -msgid "Voice" -msgstr "" - -#: lib/app.php:205 -msgid "Message" -msgstr "" - -#: lib/app.php:206 -msgid "Fax" -msgstr "" - -#: lib/app.php:207 -msgid "Video" -msgstr "" - -#: lib/app.php:208 -msgid "Pager" -msgstr "" - -#: lib/app.php:215 -msgid "Internet" -msgstr "" - -#: lib/app.php:252 templates/part.contact.php:45 -#: templates/part.contact.php:128 -msgid "Birthday" -msgstr "" - -#: lib/app.php:253 -msgid "Business" -msgstr "" - -#: lib/app.php:254 -msgid "Call" -msgstr "" - -#: lib/app.php:255 -msgid "Clients" -msgstr "" - -#: lib/app.php:256 -msgid "Deliverer" -msgstr "" - -#: lib/app.php:257 -msgid "Holidays" -msgstr "" - -#: lib/app.php:258 -msgid "Ideas" -msgstr "" - -#: lib/app.php:259 -msgid "Journey" -msgstr "" - -#: lib/app.php:260 -msgid "Jubilee" -msgstr "" - -#: lib/app.php:261 -msgid "Meeting" -msgstr "" - -#: lib/app.php:263 -msgid "Personal" -msgstr "" - -#: lib/app.php:264 -msgid "Projects" -msgstr "" - -#: lib/app.php:265 -msgid "Questions" -msgstr "" - -#: lib/hooks.php:102 -msgid "{name}'s Birthday" -msgstr "" - -#: lib/search.php:15 -msgid "Contact" -msgstr "" - -#: lib/vcard.php:408 -msgid "You do not have the permissions to edit this contact." -msgstr "" - -#: lib/vcard.php:483 -msgid "You do not have the permissions to delete this contact." -msgstr "" - -#: templates/index.php:14 -msgid "Add Contact" -msgstr "" - -#: templates/index.php:15 templates/index.php:16 templates/part.import.php:17 -msgid "Import" -msgstr "" - -#: templates/index.php:18 -msgid "Settings" -msgstr "" - -#: templates/index.php:18 templates/settings.php:9 -msgid "Addressbooks" -msgstr "" - -#: templates/index.php:36 templates/part.import.php:24 -msgid "Close" -msgstr "" - -#: templates/index.php:37 -msgid "Keyboard shortcuts" -msgstr "" - -#: templates/index.php:39 -msgid "Navigation" -msgstr "" - -#: templates/index.php:42 -msgid "Next contact in list" -msgstr "" - -#: templates/index.php:44 -msgid "Previous contact in list" -msgstr "" - -#: templates/index.php:46 -msgid "Expand/collapse current addressbook" -msgstr "" - -#: templates/index.php:48 -msgid "Next addressbook" -msgstr "" - -#: templates/index.php:50 -msgid "Previous addressbook" -msgstr "" - -#: templates/index.php:54 -msgid "Actions" -msgstr "" - -#: templates/index.php:57 -msgid "Refresh contacts list" -msgstr "" - -#: templates/index.php:59 -msgid "Add new contact" -msgstr "" - -#: templates/index.php:61 -msgid "Add new addressbook" -msgstr "" - -#: templates/index.php:63 -msgid "Delete current contact" -msgstr "" - -#: templates/part.contact.php:17 -msgid "Drop photo to upload" -msgstr "" - -#: templates/part.contact.php:19 -msgid "Delete current photo" -msgstr "" - -#: templates/part.contact.php:20 -msgid "Edit current photo" -msgstr "" - -#: templates/part.contact.php:21 -msgid "Upload new photo" -msgstr "" - -#: templates/part.contact.php:22 -msgid "Select photo from ownCloud" -msgstr "" - -#: templates/part.contact.php:35 -msgid "Format custom, Short name, Full name, Reverse or Reverse with comma" -msgstr "" - -#: templates/part.contact.php:36 -msgid "Edit name details" -msgstr "" - -#: templates/part.contact.php:39 templates/part.contact.php:40 -#: templates/part.contact.php:126 -msgid "Organization" -msgstr "" - -#: templates/part.contact.php:40 templates/part.contact.php:42 -#: templates/part.contact.php:44 templates/part.contact.php:46 -#: templates/part.contact.php:50 templates/settings.php:36 -msgid "Delete" -msgstr "" - -#: templates/part.contact.php:41 templates/part.contact.php:127 -msgid "Nickname" -msgstr "" - -#: templates/part.contact.php:42 -msgid "Enter nickname" -msgstr "" - -#: templates/part.contact.php:43 templates/part.contact.php:134 -msgid "Web site" -msgstr "" - -#: templates/part.contact.php:44 -msgid "http://www.somesite.com" -msgstr "" - -#: templates/part.contact.php:44 -msgid "Go to web site" -msgstr "" - -#: templates/part.contact.php:46 -msgid "dd-mm-yyyy" -msgstr "" - -#: templates/part.contact.php:47 templates/part.contact.php:135 -msgid "Groups" -msgstr "" - -#: templates/part.contact.php:49 -msgid "Separate groups with commas" -msgstr "" - -#: templates/part.contact.php:50 -msgid "Edit groups" -msgstr "" - -#: templates/part.contact.php:59 templates/part.contact.php:73 -#: templates/part.contact.php:98 -msgid "Preferred" -msgstr "" - -#: templates/part.contact.php:60 -msgid "Please specify a valid email address." -msgstr "" - -#: templates/part.contact.php:60 -msgid "Enter email address" -msgstr "" - -#: templates/part.contact.php:64 -msgid "Mail to address" -msgstr "" - -#: templates/part.contact.php:65 -msgid "Delete email address" -msgstr "" - -#: templates/part.contact.php:75 -msgid "Enter phone number" -msgstr "" - -#: templates/part.contact.php:79 -msgid "Delete phone number" -msgstr "" - -#: templates/part.contact.php:100 -msgid "Instant Messenger" -msgstr "" - -#: templates/part.contact.php:101 -msgid "Delete IM" -msgstr "" - -#: templates/part.contact.php:110 -msgid "View on map" -msgstr "" - -#: templates/part.contact.php:110 -msgid "Edit address details" -msgstr "" - -#: templates/part.contact.php:116 -msgid "Add notes here." -msgstr "" - -#: templates/part.contact.php:124 -msgid "Add field" -msgstr "" - -#: templates/part.contact.php:129 -msgid "Phone" -msgstr "" - -#: templates/part.contact.php:130 -msgid "Email" -msgstr "" - -#: templates/part.contact.php:131 -msgid "Instant Messaging" -msgstr "" - -#: templates/part.contact.php:132 -msgid "Address" -msgstr "" - -#: templates/part.contact.php:133 -msgid "Note" -msgstr "" - -#: templates/part.contact.php:138 -msgid "Download contact" -msgstr "" - -#: templates/part.contact.php:139 -msgid "Delete contact" -msgstr "" - -#: templates/part.cropphoto.php:65 -msgid "The temporary image has been removed from cache." -msgstr "" - -#: templates/part.edit_address_dialog.php:6 -msgid "Edit address" -msgstr "" - -#: templates/part.edit_address_dialog.php:10 -msgid "Type" -msgstr "" - -#: templates/part.edit_address_dialog.php:18 -#: templates/part.edit_address_dialog.php:21 -msgid "PO Box" -msgstr "" - -#: templates/part.edit_address_dialog.php:24 -msgid "Street address" -msgstr "" - -#: templates/part.edit_address_dialog.php:27 -msgid "Street and number" -msgstr "" - -#: templates/part.edit_address_dialog.php:30 -msgid "Extended" -msgstr "" - -#: templates/part.edit_address_dialog.php:33 -msgid "Apartment number etc." -msgstr "" - -#: templates/part.edit_address_dialog.php:36 -#: templates/part.edit_address_dialog.php:39 -msgid "City" -msgstr "" - -#: templates/part.edit_address_dialog.php:42 -msgid "Region" -msgstr "" - -#: templates/part.edit_address_dialog.php:45 -msgid "E.g. state or province" -msgstr "" - -#: templates/part.edit_address_dialog.php:48 -msgid "Zipcode" -msgstr "" - -#: templates/part.edit_address_dialog.php:51 -msgid "Postal code" -msgstr "" - -#: templates/part.edit_address_dialog.php:54 -#: templates/part.edit_address_dialog.php:57 -msgid "Country" -msgstr "" - -#: templates/part.edit_name_dialog.php:16 -msgid "Addressbook" -msgstr "" - -#: templates/part.edit_name_dialog.php:23 -msgid "Hon. prefixes" -msgstr "" - -#: templates/part.edit_name_dialog.php:27 -msgid "Miss" -msgstr "" - -#: templates/part.edit_name_dialog.php:28 -msgid "Ms" -msgstr "" - -#: templates/part.edit_name_dialog.php:29 -msgid "Mr" -msgstr "" - -#: templates/part.edit_name_dialog.php:30 -msgid "Sir" -msgstr "" - -#: templates/part.edit_name_dialog.php:31 -msgid "Mrs" -msgstr "" - -#: templates/part.edit_name_dialog.php:32 -msgid "Dr" -msgstr "" - -#: templates/part.edit_name_dialog.php:35 -msgid "Given name" -msgstr "" - -#: templates/part.edit_name_dialog.php:37 -msgid "Additional names" -msgstr "" - -#: templates/part.edit_name_dialog.php:39 -msgid "Family name" -msgstr "" - -#: templates/part.edit_name_dialog.php:41 -msgid "Hon. suffixes" -msgstr "" - -#: templates/part.edit_name_dialog.php:45 -msgid "J.D." -msgstr "" - -#: templates/part.edit_name_dialog.php:46 -msgid "M.D." -msgstr "" - -#: templates/part.edit_name_dialog.php:47 -msgid "D.O." -msgstr "" - -#: templates/part.edit_name_dialog.php:48 -msgid "D.C." -msgstr "" - -#: templates/part.edit_name_dialog.php:49 -msgid "Ph.D." -msgstr "" - -#: templates/part.edit_name_dialog.php:50 -msgid "Esq." -msgstr "" - -#: templates/part.edit_name_dialog.php:51 -msgid "Jr." -msgstr "" - -#: templates/part.edit_name_dialog.php:52 -msgid "Sn." -msgstr "" - -#: templates/part.import.php:1 -msgid "Import a contacts file" -msgstr "" - -#: templates/part.import.php:6 -msgid "Please choose the addressbook" -msgstr "" - -#: templates/part.import.php:10 -msgid "create a new addressbook" -msgstr "" - -#: templates/part.import.php:15 -msgid "Name of new addressbook" -msgstr "" - -#: templates/part.import.php:20 -msgid "Importing contacts" -msgstr "" - -#: templates/part.no_contacts.php:3 -msgid "You have no contacts in your addressbook." -msgstr "" - -#: templates/part.no_contacts.php:5 -msgid "Add contact" -msgstr "" - -#: templates/part.selectaddressbook.php:1 -msgid "Select Address Books" -msgstr "" - -#: templates/part.selectaddressbook.php:27 -msgid "Enter name" -msgstr "" - -#: templates/part.selectaddressbook.php:29 -msgid "Enter description" -msgstr "" - -#: templates/settings.php:3 -msgid "CardDAV syncing addresses" -msgstr "" - -#: templates/settings.php:3 -msgid "more info" -msgstr "" - -#: templates/settings.php:5 -msgid "Primary address (Kontact et al)" -msgstr "" - -#: templates/settings.php:7 -msgid "iOS/OS X" -msgstr "" - -#: templates/settings.php:20 -msgid "Show CardDav link" -msgstr "" - -#: templates/settings.php:23 -msgid "Show read-only VCF link" -msgstr "" - -#: templates/settings.php:26 -msgid "Share" -msgstr "" - -#: templates/settings.php:29 -msgid "Download" -msgstr "" - -#: templates/settings.php:33 -msgid "Edit" -msgstr "" - -#: templates/settings.php:43 -msgid "New Address Book" -msgstr "" - -#: templates/settings.php:44 -msgid "Name" -msgstr "" - -#: templates/settings.php:45 -msgid "Description" -msgstr "" - -#: templates/settings.php:46 -msgid "Save" -msgstr "" - -#: templates/settings.php:47 -msgid "Cancel" -msgstr "" - -#: templates/settings.php:52 -msgid "More..." -msgstr "" diff --git a/l10n/fi/core.po b/l10n/fi/core.po index b8ba81334172735da165b21ea088880b8ce79af7..a291bd3898726ff638aec3508e04c014ace18000 100644 --- a/l10n/fi/core.po +++ b/l10n/fi/core.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-16 02:04+0200\n" -"PO-Revision-Date: 2012-10-16 00:05+0000\n" +"POT-Creation-Date: 2012-10-18 02:03+0200\n" +"PO-Revision-Date: 2012-10-18 00:04+0000\n" "Last-Translator: I Robot \n" "Language-Team: Finnish (http://www.transifex.com/projects/p/owncloud/language/fi/)\n" "MIME-Version: 1.0\n" @@ -123,15 +123,11 @@ msgid "Error while changing permissions" msgstr "" #: js/share.js:130 -msgid "Shared with you and the group" -msgstr "" - -#: js/share.js:130 -msgid "by" +msgid "Shared with you and the group {group} by {owner}" msgstr "" #: js/share.js:132 -msgid "Shared with you by" +msgid "Shared with you by {owner}" msgstr "" #: js/share.js:137 @@ -172,11 +168,7 @@ msgid "Resharing is not allowed" msgstr "" #: js/share.js:250 -msgid "Shared in" -msgstr "" - -#: js/share.js:250 -msgid "with" +msgid "Shared in {item} with {user}" msgstr "" #: js/share.js:271 diff --git a/l10n/fi/files.po b/l10n/fi/files.po index 5f2a86b485688f96e18c8c3e1de441591568eb8a..0c0826b0f8966e193a93d9eed623c8bf5ac2586e 100644 --- a/l10n/fi/files.po +++ b/l10n/fi/files.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-09-26 13:19+0200\n" -"PO-Revision-Date: 2012-09-26 11:20+0000\n" +"POT-Creation-Date: 2012-10-19 02:03+0200\n" +"PO-Revision-Date: 2012-10-19 00:04+0000\n" "Last-Translator: I Robot \n" "Language-Team: Finnish (http://www.transifex.com/projects/p/owncloud/language/fi/)\n" "MIME-Version: 1.0\n" @@ -63,152 +63,152 @@ msgstr "" msgid "Rename" msgstr "" -#: js/filelist.js:190 js/filelist.js:192 -msgid "already exists" +#: js/filelist.js:194 js/filelist.js:196 +msgid "{new_name} already exists" msgstr "" -#: js/filelist.js:190 js/filelist.js:192 +#: js/filelist.js:194 js/filelist.js:196 msgid "replace" msgstr "" -#: js/filelist.js:190 +#: js/filelist.js:194 msgid "suggest name" msgstr "" -#: js/filelist.js:190 js/filelist.js:192 +#: js/filelist.js:194 js/filelist.js:196 msgid "cancel" msgstr "" -#: js/filelist.js:239 js/filelist.js:241 -msgid "replaced" +#: js/filelist.js:243 +msgid "replaced {new_name}" msgstr "" -#: js/filelist.js:239 js/filelist.js:241 js/filelist.js:273 js/filelist.js:275 +#: js/filelist.js:243 js/filelist.js:245 js/filelist.js:277 js/filelist.js:279 msgid "undo" msgstr "" -#: js/filelist.js:241 -msgid "with" +#: js/filelist.js:245 +msgid "replaced {new_name} with {old_name}" msgstr "" -#: js/filelist.js:273 -msgid "unshared" +#: js/filelist.js:277 +msgid "unshared {files}" msgstr "" -#: js/filelist.js:275 -msgid "deleted" +#: js/filelist.js:279 +msgid "deleted {files}" msgstr "" #: js/files.js:179 msgid "generating ZIP-file, it may take some time." msgstr "" -#: js/files.js:208 +#: js/files.js:214 msgid "Unable to upload your file as it is a directory or has 0 bytes" msgstr "" -#: js/files.js:208 +#: js/files.js:214 msgid "Upload Error" msgstr "" -#: js/files.js:236 js/files.js:341 js/files.js:371 +#: js/files.js:242 js/files.js:347 js/files.js:377 msgid "Pending" msgstr "" -#: js/files.js:256 +#: js/files.js:262 msgid "1 file uploading" msgstr "" -#: js/files.js:259 js/files.js:304 js/files.js:319 -msgid "files uploading" +#: js/files.js:265 js/files.js:310 js/files.js:325 +msgid "{count} files uploading" msgstr "" -#: js/files.js:322 js/files.js:355 +#: js/files.js:328 js/files.js:361 msgid "Upload cancelled." msgstr "" -#: js/files.js:424 +#: js/files.js:430 msgid "" "File upload is in progress. Leaving the page now will cancel the upload." msgstr "" -#: js/files.js:494 +#: js/files.js:500 msgid "Invalid name, '/' is not allowed." msgstr "" -#: js/files.js:667 -msgid "files scanned" +#: js/files.js:681 +msgid "{count} files scanned" msgstr "" -#: js/files.js:675 +#: js/files.js:689 msgid "error while scanning" msgstr "" -#: js/files.js:748 templates/index.php:48 +#: js/files.js:762 templates/index.php:48 msgid "Name" msgstr "" -#: js/files.js:749 templates/index.php:56 +#: js/files.js:763 templates/index.php:56 msgid "Size" msgstr "" -#: js/files.js:750 templates/index.php:58 +#: js/files.js:764 templates/index.php:58 msgid "Modified" msgstr "" -#: js/files.js:777 -msgid "folder" +#: js/files.js:791 +msgid "1 folder" msgstr "" -#: js/files.js:779 -msgid "folders" +#: js/files.js:793 +msgid "{count} folders" msgstr "" -#: js/files.js:787 -msgid "file" +#: js/files.js:801 +msgid "1 file" msgstr "" -#: js/files.js:789 -msgid "files" +#: js/files.js:803 +msgid "{count} files" msgstr "" -#: js/files.js:833 +#: js/files.js:846 msgid "seconds ago" msgstr "" -#: js/files.js:834 -msgid "minute ago" +#: js/files.js:847 +msgid "1 minute ago" msgstr "" -#: js/files.js:835 -msgid "minutes ago" +#: js/files.js:848 +msgid "{minutes} minutes ago" msgstr "" -#: js/files.js:838 +#: js/files.js:851 msgid "today" msgstr "" -#: js/files.js:839 +#: js/files.js:852 msgid "yesterday" msgstr "" -#: js/files.js:840 -msgid "days ago" +#: js/files.js:853 +msgid "{days} days ago" msgstr "" -#: js/files.js:841 +#: js/files.js:854 msgid "last month" msgstr "" -#: js/files.js:843 +#: js/files.js:856 msgid "months ago" msgstr "" -#: js/files.js:844 +#: js/files.js:857 msgid "last year" msgstr "" -#: js/files.js:845 +#: js/files.js:858 msgid "years ago" msgstr "" diff --git a/l10n/fi/files_odfviewer.po b/l10n/fi/files_odfviewer.po deleted file mode 100644 index e64ad2105359d85ce6351ea65717d585a502ef44..0000000000000000000000000000000000000000 --- a/l10n/fi/files_odfviewer.po +++ /dev/null @@ -1,22 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 02:18+0200\n" -"PO-Revision-Date: 2012-08-26 00:19+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Finnish (http://www.transifex.com/projects/p/owncloud/language/fi/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: fi\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: js/viewer.js:9 -msgid "Close" -msgstr "" diff --git a/l10n/fi/files_pdfviewer.po b/l10n/fi/files_pdfviewer.po deleted file mode 100644 index 7e2c2ec64827fe029f6b02605568fec2a722ec5a..0000000000000000000000000000000000000000 --- a/l10n/fi/files_pdfviewer.po +++ /dev/null @@ -1,42 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 02:18+0200\n" -"PO-Revision-Date: 2012-08-26 00:19+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Finnish (http://www.transifex.com/projects/p/owncloud/language/fi/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: fi\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: js/viewer.js:22 -msgid "Previous" -msgstr "" - -#: js/viewer.js:23 -msgid "Next" -msgstr "" - -#: js/viewer.js:29 -msgid "Page Width" -msgstr "" - -#: js/viewer.js:29 -msgid "Page Fit" -msgstr "" - -#: js/viewer.js:30 -msgid "Print" -msgstr "" - -#: js/viewer.js:32 -msgid "Download" -msgstr "" diff --git a/l10n/fi/files_texteditor.po b/l10n/fi/files_texteditor.po deleted file mode 100644 index 07f6f6ca27bef0635830b0cd4c6a539f2789bc89..0000000000000000000000000000000000000000 --- a/l10n/fi/files_texteditor.po +++ /dev/null @@ -1,44 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 01:17+0200\n" -"PO-Revision-Date: 2012-08-25 23:18+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Finnish (http://www.transifex.com/projects/p/owncloud/language/fi/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: fi\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: js/aceeditor/mode-coldfusion-uncompressed.js:1568 -#: js/aceeditor/mode-liquid-uncompressed.js:902 -#: js/aceeditor/mode-svg-uncompressed.js:1575 -msgid "regex" -msgstr "" - -#: js/editor.js:72 js/editor.js:156 js/editor.js:163 -msgid "Save" -msgstr "" - -#: js/editor.js:74 -msgid "Close" -msgstr "" - -#: js/editor.js:149 -msgid "Saving..." -msgstr "" - -#: js/editor.js:239 -msgid "An error occurred!" -msgstr "" - -#: js/editor.js:266 -msgid "There were unsaved changes, click here to go back" -msgstr "" diff --git a/l10n/fi/gallery.po b/l10n/fi/gallery.po deleted file mode 100644 index 786216a0af1a1602f9413c695f916a92c7bf3c5b..0000000000000000000000000000000000000000 --- a/l10n/fi/gallery.po +++ /dev/null @@ -1,58 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-09 02:02+0200\n" -"PO-Revision-Date: 2012-01-15 13:48+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Finnish (http://www.transifex.com/projects/p/owncloud/language/fi/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: fi\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: appinfo/app.php:39 -msgid "Pictures" -msgstr "" - -#: js/pictures.js:12 -msgid "Share gallery" -msgstr "" - -#: js/pictures.js:32 -msgid "Error: " -msgstr "" - -#: js/pictures.js:32 -msgid "Internal error" -msgstr "" - -#: templates/index.php:27 -msgid "Slideshow" -msgstr "" - -#: templates/view_album.php:19 -msgid "Back" -msgstr "" - -#: templates/view_album.php:36 -msgid "Remove confirmation" -msgstr "" - -#: templates/view_album.php:37 -msgid "Do you want to remove album" -msgstr "" - -#: templates/view_album.php:40 -msgid "Change album name" -msgstr "" - -#: templates/view_album.php:43 -msgid "New album name" -msgstr "" diff --git a/l10n/fi/impress.po b/l10n/fi/impress.po deleted file mode 100644 index 60c70f400fdbceb1cf27e9c2f5b3eacf1d392ec4..0000000000000000000000000000000000000000 --- a/l10n/fi/impress.po +++ /dev/null @@ -1,22 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 01:17+0200\n" -"PO-Revision-Date: 2012-08-25 23:18+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Finnish (http://www.transifex.com/projects/p/owncloud/language/fi/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: fi\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: templates/presentations.php:7 -msgid "Documentation" -msgstr "" diff --git a/l10n/fi/media.po b/l10n/fi/media.po deleted file mode 100644 index d0e3eab9bdedd53289a09ecc7147a03df0e1117c..0000000000000000000000000000000000000000 --- a/l10n/fi/media.po +++ /dev/null @@ -1,66 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-09 02:02+0200\n" -"PO-Revision-Date: 2011-08-13 02:19+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Finnish (http://www.transifex.com/projects/p/owncloud/language/fi/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: fi\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: appinfo/app.php:45 templates/player.php:8 -msgid "Music" -msgstr "" - -#: js/music.js:18 -msgid "Add album to playlist" -msgstr "" - -#: templates/music.php:3 templates/player.php:12 -msgid "Play" -msgstr "" - -#: templates/music.php:4 templates/music.php:26 templates/player.php:13 -msgid "Pause" -msgstr "" - -#: templates/music.php:5 -msgid "Previous" -msgstr "" - -#: templates/music.php:6 templates/player.php:14 -msgid "Next" -msgstr "" - -#: templates/music.php:7 -msgid "Mute" -msgstr "" - -#: templates/music.php:8 -msgid "Unmute" -msgstr "" - -#: templates/music.php:25 -msgid "Rescan Collection" -msgstr "" - -#: templates/music.php:37 -msgid "Artist" -msgstr "" - -#: templates/music.php:38 -msgid "Album" -msgstr "" - -#: templates/music.php:39 -msgid "Title" -msgstr "" diff --git a/l10n/fi/tasks.po b/l10n/fi/tasks.po deleted file mode 100644 index 91f222dac375a105fe77cabe3166aaf5d474d241..0000000000000000000000000000000000000000 --- a/l10n/fi/tasks.po +++ /dev/null @@ -1,106 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:44+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Finnish (http://www.transifex.com/projects/p/owncloud/language/fi/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: fi\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: ajax/update_property.php:51 lib/app.php:89 lib/app.php:101 -msgid "Invalid date/time" -msgstr "" - -#: appinfo/app.php:11 -msgid "Tasks" -msgstr "" - -#: js/tasks.js:415 -msgid "No category" -msgstr "" - -#: lib/app.php:33 -msgid "Unspecified" -msgstr "" - -#: lib/app.php:34 -msgid "1=highest" -msgstr "" - -#: lib/app.php:38 -msgid "5=medium" -msgstr "" - -#: lib/app.php:42 -msgid "9=lowest" -msgstr "" - -#: lib/app.php:81 -msgid "Empty Summary" -msgstr "" - -#: lib/app.php:93 -msgid "Invalid percent complete" -msgstr "" - -#: lib/app.php:107 -msgid "Invalid priority" -msgstr "" - -#: templates/tasks.php:3 -msgid "Add Task" -msgstr "" - -#: templates/tasks.php:4 -msgid "Order Due" -msgstr "" - -#: templates/tasks.php:5 -msgid "Order List" -msgstr "" - -#: templates/tasks.php:6 -msgid "Order Complete" -msgstr "" - -#: templates/tasks.php:7 -msgid "Order Location" -msgstr "" - -#: templates/tasks.php:8 -msgid "Order Priority" -msgstr "" - -#: templates/tasks.php:9 -msgid "Order Label" -msgstr "" - -#: templates/tasks.php:16 -msgid "Loading tasks..." -msgstr "" - -#: templates/tasks.php:20 -msgid "Important" -msgstr "" - -#: templates/tasks.php:23 -msgid "More" -msgstr "" - -#: templates/tasks.php:26 -msgid "Less" -msgstr "" - -#: templates/tasks.php:29 -msgid "Delete" -msgstr "" diff --git a/l10n/fi/user_migrate.po b/l10n/fi/user_migrate.po deleted file mode 100644 index cd3ef8ef5a96adb3c326cf72b5e0f4cb44655b77..0000000000000000000000000000000000000000 --- a/l10n/fi/user_migrate.po +++ /dev/null @@ -1,51 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:45+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Finnish (http://www.transifex.com/projects/p/owncloud/language/fi/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: fi\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: js/export.js:14 js/export.js:20 -msgid "Export" -msgstr "" - -#: js/export.js:19 -msgid "Something went wrong while the export file was being generated" -msgstr "" - -#: js/export.js:19 -msgid "An error has occurred" -msgstr "" - -#: templates/settings.php:2 -msgid "Export your user account" -msgstr "" - -#: templates/settings.php:3 -msgid "" -"This will create a compressed file that contains your ownCloud account." -msgstr "" - -#: templates/settings.php:13 -msgid "Import user account" -msgstr "" - -#: templates/settings.php:15 -msgid "ownCloud User Zip" -msgstr "" - -#: templates/settings.php:17 -msgid "Import" -msgstr "" diff --git a/l10n/fi/user_openid.po b/l10n/fi/user_openid.po deleted file mode 100644 index a6f5b6048de246058d4768dede8418fe73a8e748..0000000000000000000000000000000000000000 --- a/l10n/fi/user_openid.po +++ /dev/null @@ -1,54 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:45+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Finnish (http://www.transifex.com/projects/p/owncloud/language/fi/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: fi\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: templates/nomode.php:12 -msgid "This is an OpenID server endpoint. For more information, see " -msgstr "" - -#: templates/nomode.php:14 -msgid "Identity: " -msgstr "" - -#: templates/nomode.php:15 -msgid "Realm: " -msgstr "" - -#: templates/nomode.php:16 -msgid "User: " -msgstr "" - -#: templates/nomode.php:17 -msgid "Login" -msgstr "" - -#: templates/nomode.php:22 -msgid "Error: No user Selected" -msgstr "" - -#: templates/settings.php:4 -msgid "you can authenticate to other sites with this address" -msgstr "" - -#: templates/settings.php:5 -msgid "Authorized OpenID provider" -msgstr "" - -#: templates/settings.php:6 -msgid "Your address at Wordpress, Identi.ca, …" -msgstr "" diff --git a/l10n/fi_FI/admin_dependencies_chk.po b/l10n/fi_FI/admin_dependencies_chk.po deleted file mode 100644 index a9a1eac7b0a062edf3f9fdf29b96a33a37535b45..0000000000000000000000000000000000000000 --- a/l10n/fi_FI/admin_dependencies_chk.po +++ /dev/null @@ -1,74 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Jiri Grönroos , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-24 02:01+0200\n" -"PO-Revision-Date: 2012-08-23 13:01+0000\n" -"Last-Translator: Jiri Grönroos \n" -"Language-Team: Finnish (Finland) (http://www.transifex.com/projects/p/owncloud/language/fi_FI/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: fi_FI\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: settings.php:33 -msgid "" -"The php-json module is needed by the many applications for inter " -"communications" -msgstr "" - -#: settings.php:39 -msgid "" -"The php-curl modude is needed to fetch the page title when adding a " -"bookmarks" -msgstr "" - -#: settings.php:45 -msgid "The php-gd module is needed to create thumbnails of your images" -msgstr "php-gd-moduuli vaaditaan, jotta kuvista on mahdollista luoda esikatselukuvia" - -#: settings.php:51 -msgid "The php-ldap module is needed connect to your ldap server" -msgstr "php-ldap-moduuli vaaditaan, jotta yhteys ldap-palvelimeen on mahdollista" - -#: settings.php:57 -msgid "The php-zip module is needed download multiple files at once" -msgstr "php-zip-moduuli vaaditaan, jotta useiden tiedostojen samanaikainen lataus on mahdollista" - -#: settings.php:63 -msgid "" -"The php-mb_multibyte module is needed to manage correctly the encoding." -msgstr "" - -#: settings.php:69 -msgid "The php-ctype module is needed validate data." -msgstr "" - -#: settings.php:75 -msgid "The php-xml module is needed to share files with webdav." -msgstr "php-xml-moduuli vaaditaan, jotta tiedostojen jako webdavia käyttäen on mahdollista" - -#: settings.php:81 -msgid "" -"The allow_url_fopen directive of your php.ini should be set to 1 to retrieve" -" knowledge base from OCS servers" -msgstr "" - -#: settings.php:87 -msgid "The php-pdo module is needed to store owncloud data into a database." -msgstr "php-pdo-moduuli tarvitaan, jotta ownCloud-tietojen tallennus tietokantaan on mahdollista" - -#: templates/settings.php:2 -msgid "Dependencies status" -msgstr "Riippuvuuksien tila" - -#: templates/settings.php:7 -msgid "Used by :" -msgstr "Käyttökohde:" diff --git a/l10n/fi_FI/admin_migrate.po b/l10n/fi_FI/admin_migrate.po deleted file mode 100644 index ce68f4275d70b8cde589a1bd160831d4b488900f..0000000000000000000000000000000000000000 --- a/l10n/fi_FI/admin_migrate.po +++ /dev/null @@ -1,33 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Jiri Grönroos , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-17 00:44+0200\n" -"PO-Revision-Date: 2012-08-16 10:55+0000\n" -"Last-Translator: Jiri Grönroos \n" -"Language-Team: Finnish (Finland) (http://www.transifex.com/projects/p/owncloud/language/fi_FI/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: fi_FI\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: templates/settings.php:3 -msgid "Export this ownCloud instance" -msgstr "Vie tämä ownCloud-istanssi" - -#: templates/settings.php:4 -msgid "" -"This will create a compressed file that contains the data of this owncloud instance.\n" -" Please choose the export type:" -msgstr "" - -#: templates/settings.php:12 -msgid "Export" -msgstr "Vie" diff --git a/l10n/fi_FI/bookmarks.po b/l10n/fi_FI/bookmarks.po deleted file mode 100644 index 70bd07ab62f1d2b18ac0f0c5e80a759bb8adb056..0000000000000000000000000000000000000000 --- a/l10n/fi_FI/bookmarks.po +++ /dev/null @@ -1,61 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Jiri Grönroos , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-07-28 02:02+0200\n" -"PO-Revision-Date: 2012-07-27 22:21+0000\n" -"Last-Translator: Jiri Grönroos \n" -"Language-Team: Finnish (Finland) (http://www.transifex.com/projects/p/owncloud/language/fi_FI/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: fi_FI\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: appinfo/app.php:14 -msgid "Bookmarks" -msgstr "Kirjanmerkit" - -#: bookmarksHelper.php:99 -msgid "unnamed" -msgstr "nimetön" - -#: templates/bookmarklet.php:5 -msgid "" -"Drag this to your browser bookmarks and click it, when you want to bookmark " -"a webpage quickly:" -msgstr "Vedä tämä selaimesi kirjanmerkkipalkkiin ja napsauta sitä, kun haluat lisätä kirjanmerkin nopeasti:" - -#: templates/bookmarklet.php:7 -msgid "Read later" -msgstr "Lue myöhemmin" - -#: templates/list.php:13 -msgid "Address" -msgstr "Osoite" - -#: templates/list.php:14 -msgid "Title" -msgstr "Otsikko" - -#: templates/list.php:15 -msgid "Tags" -msgstr "Tunnisteet" - -#: templates/list.php:16 -msgid "Save bookmark" -msgstr "Tallenna kirjanmerkki" - -#: templates/list.php:22 -msgid "You have no bookmarks" -msgstr "Sinulla ei ole kirjanmerkkejä" - -#: templates/settings.php:11 -msgid "Bookmarklet
" -msgstr "Kirjanmerkitsin
" diff --git a/l10n/fi_FI/calendar.po b/l10n/fi_FI/calendar.po deleted file mode 100644 index 6b129f3ee911b90480336a1815286f5ca63e1066..0000000000000000000000000000000000000000 --- a/l10n/fi_FI/calendar.po +++ /dev/null @@ -1,816 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Jiri Grönroos , 2012. -# Johannes Korpela <>, 2012. -# , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-24 02:02+0200\n" -"PO-Revision-Date: 2012-08-23 12:14+0000\n" -"Last-Translator: Jiri Grönroos \n" -"Language-Team: Finnish (Finland) (http://www.transifex.com/projects/p/owncloud/language/fi_FI/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: fi_FI\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: ajax/cache/status.php:19 -msgid "Not all calendars are completely cached" -msgstr "" - -#: ajax/cache/status.php:21 -msgid "Everything seems to be completely cached" -msgstr "" - -#: ajax/categories/rescan.php:29 -msgid "No calendars found." -msgstr "Kalentereita ei löytynyt" - -#: ajax/categories/rescan.php:37 -msgid "No events found." -msgstr "Tapahtumia ei löytynyt." - -#: ajax/event/edit.form.php:20 -msgid "Wrong calendar" -msgstr "Väärä kalenteri" - -#: ajax/import/dropimport.php:29 ajax/import/import.php:64 -msgid "" -"The file contained either no events or all events are already saved in your " -"calendar." -msgstr "Tiedosto ei joko sisältänyt tapahtumia tai vaihtoehtoisesti kaikki tapahtumat on jo tallennettu kalenteriisi." - -#: ajax/import/dropimport.php:31 ajax/import/import.php:67 -msgid "events has been saved in the new calendar" -msgstr "" - -#: ajax/import/import.php:56 -msgid "Import failed" -msgstr "Tuonti epäonnistui" - -#: ajax/import/import.php:69 -msgid "events has been saved in your calendar" -msgstr "tapahtumaa on tallennettu kalenteriisi" - -#: ajax/settings/guesstimezone.php:25 -msgid "New Timezone:" -msgstr "Uusi aikavyöhyke:" - -#: ajax/settings/settimezone.php:23 -msgid "Timezone changed" -msgstr "Aikavyöhyke vaihdettu" - -#: ajax/settings/settimezone.php:25 -msgid "Invalid request" -msgstr "Virheellinen pyyntö" - -#: appinfo/app.php:37 templates/calendar.php:15 -#: templates/part.eventform.php:33 templates/part.showevent.php:33 -msgid "Calendar" -msgstr "Kalenteri" - -#: js/calendar.js:832 -msgid "ddd" -msgstr "" - -#: js/calendar.js:833 -msgid "ddd M/d" -msgstr "" - -#: js/calendar.js:834 -msgid "dddd M/d" -msgstr "" - -#: js/calendar.js:837 -msgid "MMMM yyyy" -msgstr "" - -#: js/calendar.js:839 -msgid "MMM d[ yyyy]{ '—'[ MMM] d yyyy}" -msgstr "" - -#: js/calendar.js:841 -msgid "dddd, MMM d, yyyy" -msgstr "" - -#: lib/app.php:121 -msgid "Birthday" -msgstr "Syntymäpäivä" - -#: lib/app.php:122 -msgid "Business" -msgstr "" - -#: lib/app.php:123 -msgid "Call" -msgstr "Ota yhteyttä" - -#: lib/app.php:124 -msgid "Clients" -msgstr "Asiakkaat" - -#: lib/app.php:125 -msgid "Deliverer" -msgstr "Toimittaja" - -#: lib/app.php:126 -msgid "Holidays" -msgstr "Vapaapäivät" - -#: lib/app.php:127 -msgid "Ideas" -msgstr "Ideat" - -#: lib/app.php:128 -msgid "Journey" -msgstr "Matkustus" - -#: lib/app.php:129 -msgid "Jubilee" -msgstr "Vuosipäivät" - -#: lib/app.php:130 -msgid "Meeting" -msgstr "Tapaamiset" - -#: lib/app.php:131 -msgid "Other" -msgstr "Muut" - -#: lib/app.php:132 -msgid "Personal" -msgstr "Henkilökohtainen" - -#: lib/app.php:133 -msgid "Projects" -msgstr "Projektit" - -#: lib/app.php:134 -msgid "Questions" -msgstr "Kysymykset" - -#: lib/app.php:135 -msgid "Work" -msgstr "Työ" - -#: lib/app.php:351 lib/app.php:361 -msgid "by" -msgstr "" - -#: lib/app.php:359 lib/app.php:399 -msgid "unnamed" -msgstr "nimetön" - -#: lib/import.php:184 templates/calendar.php:12 -#: templates/part.choosecalendar.php:22 -msgid "New Calendar" -msgstr "Uusi kalenteri" - -#: lib/object.php:372 -msgid "Does not repeat" -msgstr "Ei toistoa" - -#: lib/object.php:373 -msgid "Daily" -msgstr "Päivittäin" - -#: lib/object.php:374 -msgid "Weekly" -msgstr "Viikottain" - -#: lib/object.php:375 -msgid "Every Weekday" -msgstr "Arkipäivisin" - -#: lib/object.php:376 -msgid "Bi-Weekly" -msgstr "Joka toinen viikko" - -#: lib/object.php:377 -msgid "Monthly" -msgstr "Kuukausittain" - -#: lib/object.php:378 -msgid "Yearly" -msgstr "Vuosittain" - -#: lib/object.php:388 -msgid "never" -msgstr "Ei koskaan" - -#: lib/object.php:389 -msgid "by occurrences" -msgstr "" - -#: lib/object.php:390 -msgid "by date" -msgstr "" - -#: lib/object.php:400 -msgid "by monthday" -msgstr "" - -#: lib/object.php:401 -msgid "by weekday" -msgstr "" - -#: lib/object.php:411 templates/calendar.php:5 templates/settings.php:69 -msgid "Monday" -msgstr "Maanantai" - -#: lib/object.php:412 templates/calendar.php:5 -msgid "Tuesday" -msgstr "Tiistai" - -#: lib/object.php:413 templates/calendar.php:5 -msgid "Wednesday" -msgstr "Keskiviikko" - -#: lib/object.php:414 templates/calendar.php:5 -msgid "Thursday" -msgstr "Torstai" - -#: lib/object.php:415 templates/calendar.php:5 -msgid "Friday" -msgstr "Perjantai" - -#: lib/object.php:416 templates/calendar.php:5 -msgid "Saturday" -msgstr "Lauantai" - -#: lib/object.php:417 templates/calendar.php:5 templates/settings.php:70 -msgid "Sunday" -msgstr "Sunnuntai" - -#: lib/object.php:427 -msgid "events week of month" -msgstr "" - -#: lib/object.php:428 -msgid "first" -msgstr "ensimmäinen" - -#: lib/object.php:429 -msgid "second" -msgstr "toinen" - -#: lib/object.php:430 -msgid "third" -msgstr "kolmas" - -#: lib/object.php:431 -msgid "fourth" -msgstr "neljäs" - -#: lib/object.php:432 -msgid "fifth" -msgstr "viides" - -#: lib/object.php:433 -msgid "last" -msgstr "viimeinen" - -#: lib/object.php:467 templates/calendar.php:7 -msgid "January" -msgstr "Tammikuu" - -#: lib/object.php:468 templates/calendar.php:7 -msgid "February" -msgstr "Helmikuu" - -#: lib/object.php:469 templates/calendar.php:7 -msgid "March" -msgstr "Maaliskuu" - -#: lib/object.php:470 templates/calendar.php:7 -msgid "April" -msgstr "Huhtikuu" - -#: lib/object.php:471 templates/calendar.php:7 -msgid "May" -msgstr "Toukokuu" - -#: lib/object.php:472 templates/calendar.php:7 -msgid "June" -msgstr "Kesäkuu" - -#: lib/object.php:473 templates/calendar.php:7 -msgid "July" -msgstr "Heinäkuu" - -#: lib/object.php:474 templates/calendar.php:7 -msgid "August" -msgstr "Elokuu" - -#: lib/object.php:475 templates/calendar.php:7 -msgid "September" -msgstr "Syyskuu" - -#: lib/object.php:476 templates/calendar.php:7 -msgid "October" -msgstr "Lokakuu" - -#: lib/object.php:477 templates/calendar.php:7 -msgid "November" -msgstr "Marraskuu" - -#: lib/object.php:478 templates/calendar.php:7 -msgid "December" -msgstr "Joulukuu" - -#: lib/object.php:488 -msgid "by events date" -msgstr "" - -#: lib/object.php:489 -msgid "by yearday(s)" -msgstr "" - -#: lib/object.php:490 -msgid "by weeknumber(s)" -msgstr "" - -#: lib/object.php:491 -msgid "by day and month" -msgstr "" - -#: lib/search.php:35 lib/search.php:37 lib/search.php:40 -msgid "Date" -msgstr "Päivämäärä" - -#: lib/search.php:43 -msgid "Cal." -msgstr "" - -#: templates/calendar.php:6 -msgid "Sun." -msgstr "Su" - -#: templates/calendar.php:6 -msgid "Mon." -msgstr "Ma" - -#: templates/calendar.php:6 -msgid "Tue." -msgstr "Ti" - -#: templates/calendar.php:6 -msgid "Wed." -msgstr "Ke" - -#: templates/calendar.php:6 -msgid "Thu." -msgstr "To" - -#: templates/calendar.php:6 -msgid "Fri." -msgstr "Pe" - -#: templates/calendar.php:6 -msgid "Sat." -msgstr "La" - -#: templates/calendar.php:8 -msgid "Jan." -msgstr "Tammi" - -#: templates/calendar.php:8 -msgid "Feb." -msgstr "Helmi" - -#: templates/calendar.php:8 -msgid "Mar." -msgstr "Maalis" - -#: templates/calendar.php:8 -msgid "Apr." -msgstr "Huhti" - -#: templates/calendar.php:8 -msgid "May." -msgstr "Touko" - -#: templates/calendar.php:8 -msgid "Jun." -msgstr "Kesä" - -#: templates/calendar.php:8 -msgid "Jul." -msgstr "Heinä" - -#: templates/calendar.php:8 -msgid "Aug." -msgstr "Elo" - -#: templates/calendar.php:8 -msgid "Sep." -msgstr "Syys" - -#: templates/calendar.php:8 -msgid "Oct." -msgstr "Loka" - -#: templates/calendar.php:8 -msgid "Nov." -msgstr "Marras" - -#: templates/calendar.php:8 -msgid "Dec." -msgstr "Joulu" - -#: templates/calendar.php:11 -msgid "All day" -msgstr "Koko päivä" - -#: templates/calendar.php:13 -msgid "Missing fields" -msgstr "Puuttuvat kentät" - -#: templates/calendar.php:14 templates/part.eventform.php:19 -#: templates/part.showevent.php:11 -msgid "Title" -msgstr "Otsikko" - -#: templates/calendar.php:16 -msgid "From Date" -msgstr "" - -#: templates/calendar.php:17 -msgid "From Time" -msgstr "" - -#: templates/calendar.php:18 -msgid "To Date" -msgstr "" - -#: templates/calendar.php:19 -msgid "To Time" -msgstr "" - -#: templates/calendar.php:20 -msgid "The event ends before it starts" -msgstr "Tapahtuma päättyy ennen alkamistaan" - -#: templates/calendar.php:21 -msgid "There was a database fail" -msgstr "Tapahtui tietokantavirhe" - -#: templates/calendar.php:39 -msgid "Week" -msgstr "Viikko" - -#: templates/calendar.php:40 -msgid "Month" -msgstr "Kuukausi" - -#: templates/calendar.php:41 -msgid "List" -msgstr "Lista" - -#: templates/calendar.php:45 -msgid "Today" -msgstr "Tänään" - -#: templates/calendar.php:46 templates/calendar.php:47 -msgid "Settings" -msgstr "Asetukset" - -#: templates/part.choosecalendar.php:2 -msgid "Your calendars" -msgstr "Omat kalenterisi" - -#: templates/part.choosecalendar.php:27 -#: templates/part.choosecalendar.rowfields.php:11 -msgid "CalDav Link" -msgstr "CalDav-linkki" - -#: templates/part.choosecalendar.php:31 -msgid "Shared calendars" -msgstr "Jaetut kalenterit" - -#: templates/part.choosecalendar.php:48 -msgid "No shared calendars" -msgstr "Ei jaettuja kalentereita" - -#: templates/part.choosecalendar.rowfields.php:8 -msgid "Share Calendar" -msgstr "Jaa kalenteri" - -#: templates/part.choosecalendar.rowfields.php:14 -msgid "Download" -msgstr "Lataa" - -#: templates/part.choosecalendar.rowfields.php:17 -msgid "Edit" -msgstr "Muokkaa" - -#: templates/part.choosecalendar.rowfields.php:20 -#: templates/part.editevent.php:9 -msgid "Delete" -msgstr "Poista" - -#: templates/part.choosecalendar.rowfields.shared.php:4 -msgid "shared with you by" -msgstr "kanssasi jaettu" - -#: templates/part.editcalendar.php:9 -msgid "New calendar" -msgstr "Uusi kalenteri" - -#: templates/part.editcalendar.php:9 -msgid "Edit calendar" -msgstr "Muokkaa kalenteria" - -#: templates/part.editcalendar.php:12 -msgid "Displayname" -msgstr "Kalenterin nimi" - -#: templates/part.editcalendar.php:23 -msgid "Active" -msgstr "Aktiivinen" - -#: templates/part.editcalendar.php:29 -msgid "Calendar color" -msgstr "Kalenterin väri" - -#: templates/part.editcalendar.php:42 -msgid "Save" -msgstr "Tallenna" - -#: templates/part.editcalendar.php:42 templates/part.editevent.php:8 -#: templates/part.newevent.php:6 -msgid "Submit" -msgstr "Talleta" - -#: templates/part.editcalendar.php:43 -msgid "Cancel" -msgstr "Peru" - -#: templates/part.editevent.php:1 -msgid "Edit an event" -msgstr "Muokkaa tapahtumaa" - -#: templates/part.editevent.php:10 -msgid "Export" -msgstr "Vie" - -#: templates/part.eventform.php:8 templates/part.showevent.php:3 -msgid "Eventinfo" -msgstr "Tapahtumatiedot" - -#: templates/part.eventform.php:9 templates/part.showevent.php:4 -msgid "Repeating" -msgstr "Toisto" - -#: templates/part.eventform.php:10 templates/part.showevent.php:5 -msgid "Alarm" -msgstr "Hälytys" - -#: templates/part.eventform.php:11 templates/part.showevent.php:6 -msgid "Attendees" -msgstr "Osallistujat" - -#: templates/part.eventform.php:13 -msgid "Share" -msgstr "Jaa" - -#: templates/part.eventform.php:21 -msgid "Title of the Event" -msgstr "Tapahtuman otsikko" - -#: templates/part.eventform.php:27 templates/part.showevent.php:19 -msgid "Category" -msgstr "Luokka" - -#: templates/part.eventform.php:29 -msgid "Separate categories with commas" -msgstr "Erota luokat pilkuilla" - -#: templates/part.eventform.php:30 -msgid "Edit categories" -msgstr "Muokkaa luokkia" - -#: templates/part.eventform.php:56 templates/part.showevent.php:52 -msgid "All Day Event" -msgstr "Koko päivän tapahtuma" - -#: templates/part.eventform.php:60 templates/part.showevent.php:56 -msgid "From" -msgstr "Alkaa" - -#: templates/part.eventform.php:68 templates/part.showevent.php:64 -msgid "To" -msgstr "Päättyy" - -#: templates/part.eventform.php:76 templates/part.showevent.php:72 -msgid "Advanced options" -msgstr "Tarkemmat asetukset" - -#: templates/part.eventform.php:81 templates/part.showevent.php:77 -msgid "Location" -msgstr "Sijainti" - -#: templates/part.eventform.php:83 -msgid "Location of the Event" -msgstr "Tapahtuman sijainti" - -#: templates/part.eventform.php:89 templates/part.showevent.php:85 -msgid "Description" -msgstr "Kuvaus" - -#: templates/part.eventform.php:91 -msgid "Description of the Event" -msgstr "Tapahtuman kuvaus" - -#: templates/part.eventform.php:100 templates/part.showevent.php:95 -msgid "Repeat" -msgstr "Toisto" - -#: templates/part.eventform.php:107 templates/part.showevent.php:102 -msgid "Advanced" -msgstr "" - -#: templates/part.eventform.php:151 templates/part.showevent.php:146 -msgid "Select weekdays" -msgstr "Valitse viikonpäivät" - -#: templates/part.eventform.php:164 templates/part.eventform.php:177 -#: templates/part.showevent.php:159 templates/part.showevent.php:172 -msgid "Select days" -msgstr "Valitse päivät" - -#: templates/part.eventform.php:169 templates/part.showevent.php:164 -msgid "and the events day of year." -msgstr "" - -#: templates/part.eventform.php:182 templates/part.showevent.php:177 -msgid "and the events day of month." -msgstr "" - -#: templates/part.eventform.php:190 templates/part.showevent.php:185 -msgid "Select months" -msgstr "Valitse kuukaudet" - -#: templates/part.eventform.php:203 templates/part.showevent.php:198 -msgid "Select weeks" -msgstr "Valitse viikot" - -#: templates/part.eventform.php:208 templates/part.showevent.php:203 -msgid "and the events week of year." -msgstr "" - -#: templates/part.eventform.php:214 templates/part.showevent.php:209 -msgid "Interval" -msgstr "Intervalli" - -#: templates/part.eventform.php:220 templates/part.showevent.php:215 -msgid "End" -msgstr "" - -#: templates/part.eventform.php:233 templates/part.showevent.php:228 -msgid "occurrences" -msgstr "" - -#: templates/part.import.php:14 -msgid "create a new calendar" -msgstr "luo uusi kalenteri" - -#: templates/part.import.php:17 -msgid "Import a calendar file" -msgstr "Tuo kalenteritiedosto" - -#: templates/part.import.php:24 -msgid "Please choose a calendar" -msgstr "Valitse kalenteri" - -#: templates/part.import.php:36 -msgid "Name of new calendar" -msgstr "Uuden kalenterin nimi" - -#: templates/part.import.php:44 -msgid "Take an available name!" -msgstr "" - -#: templates/part.import.php:45 -msgid "" -"A Calendar with this name already exists. If you continue anyhow, these " -"calendars will be merged." -msgstr "Samalla nimellä on jo olemassa kalenteri. Jos jatkat kaikesta huolimatta, kalenterit yhdistetään." - -#: templates/part.import.php:47 -msgid "Import" -msgstr "Tuo" - -#: templates/part.import.php:56 -msgid "Close Dialog" -msgstr "Sulje ikkuna" - -#: templates/part.newevent.php:1 -msgid "Create a new event" -msgstr "Luo uusi tapahtuma" - -#: templates/part.showevent.php:1 -msgid "View an event" -msgstr "Avaa tapahtuma" - -#: templates/part.showevent.php:23 -msgid "No categories selected" -msgstr "Luokkia ei ole valittu" - -#: templates/part.showevent.php:37 -msgid "of" -msgstr "" - -#: templates/part.showevent.php:59 templates/part.showevent.php:67 -msgid "at" -msgstr "" - -#: templates/settings.php:10 -msgid "General" -msgstr "Yleiset" - -#: templates/settings.php:15 -msgid "Timezone" -msgstr "Aikavyöhyke" - -#: templates/settings.php:47 -msgid "Update timezone automatically" -msgstr "Päivitä aikavyöhykkeet automaattisesti" - -#: templates/settings.php:52 -msgid "Time format" -msgstr "Ajan näyttömuoto" - -#: templates/settings.php:57 -msgid "24h" -msgstr "24 tuntia" - -#: templates/settings.php:58 -msgid "12h" -msgstr "12 tuntia" - -#: templates/settings.php:64 -msgid "Start week on" -msgstr "Viikon alkamispäivä" - -#: templates/settings.php:76 -msgid "Cache" -msgstr "" - -#: templates/settings.php:80 -msgid "Clear cache for repeating events" -msgstr "" - -#: templates/settings.php:85 -msgid "URLs" -msgstr "" - -#: templates/settings.php:87 -msgid "Calendar CalDAV syncing addresses" -msgstr "Kalenterin CalDAV-synkronointiosoitteet" - -#: templates/settings.php:87 -msgid "more info" -msgstr "" - -#: templates/settings.php:89 -msgid "Primary address (Kontact et al)" -msgstr "Ensisijainen osoite (Kontact ja muut vastaavat)" - -#: templates/settings.php:91 -msgid "iOS/OS X" -msgstr "iOS/OS X" - -#: templates/settings.php:93 -msgid "Read only iCalendar link(s)" -msgstr "" - -#: templates/share.dropdown.php:20 -msgid "Users" -msgstr "Käyttäjät" - -#: templates/share.dropdown.php:21 -msgid "select users" -msgstr "valitse käyttäjät" - -#: templates/share.dropdown.php:36 templates/share.dropdown.php:62 -msgid "Editable" -msgstr "Muoktattava" - -#: templates/share.dropdown.php:48 -msgid "Groups" -msgstr "Ryhmät" - -#: templates/share.dropdown.php:49 -msgid "select groups" -msgstr "valitse ryhmät" - -#: templates/share.dropdown.php:75 -msgid "make public" -msgstr "aseta julkiseksi" diff --git a/l10n/fi_FI/contacts.po b/l10n/fi_FI/contacts.po deleted file mode 100644 index a80843bf7e87562c8c289df146f001cba1cddd82..0000000000000000000000000000000000000000 --- a/l10n/fi_FI/contacts.po +++ /dev/null @@ -1,956 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Jesse Jaara , 2012. -# Jiri Grönroos , 2012. -# Johannes Korpela <>, 2012. -# , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-24 02:02+0200\n" -"PO-Revision-Date: 2012-08-24 00:03+0000\n" -"Last-Translator: I Robot \n" -"Language-Team: Finnish (Finland) (http://www.transifex.com/projects/p/owncloud/language/fi_FI/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: fi_FI\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: ajax/addressbook/activate.php:24 ajax/addressbook/update.php:32 -msgid "Error (de)activating addressbook." -msgstr "" - -#: ajax/addressbook/delete.php:31 ajax/addressbook/update.php:20 -#: ajax/contact/addproperty.php:42 ajax/contact/delete.php:32 -#: ajax/contact/saveproperty.php:39 -msgid "id is not set." -msgstr "" - -#: ajax/addressbook/update.php:24 -msgid "Cannot update addressbook with an empty name." -msgstr "" - -#: ajax/addressbook/update.php:28 -msgid "Error updating addressbook." -msgstr "Virhe päivitettäessä osoitekirjaa." - -#: ajax/categories/categoriesfor.php:17 -msgid "No ID provided" -msgstr "" - -#: ajax/categories/categoriesfor.php:34 -msgid "Error setting checksum." -msgstr "Virhe asettaessa tarkistussummaa." - -#: ajax/categories/delete.php:19 -msgid "No categories selected for deletion." -msgstr "Luokkia ei ole valittu poistettavaksi." - -#: ajax/categories/delete.php:26 -msgid "No address books found." -msgstr "Osoitekirjoja ei löytynyt." - -#: ajax/categories/delete.php:34 -msgid "No contacts found." -msgstr "Yhteystietoja ei löytynyt." - -#: ajax/contact/add.php:47 -msgid "There was an error adding the contact." -msgstr "Virhe yhteystietoa lisättäessä." - -#: ajax/contact/addproperty.php:39 ajax/contact/saveproperty.php:36 -msgid "element name is not set." -msgstr "" - -#: ajax/contact/addproperty.php:46 -msgid "Could not parse contact: " -msgstr "" - -#: ajax/contact/addproperty.php:56 -msgid "Cannot add empty property." -msgstr "Tyhjää ominaisuutta ei voi lisätä." - -#: ajax/contact/addproperty.php:67 -msgid "At least one of the address fields has to be filled out." -msgstr "Vähintään yksi osoitekenttä tulee täyttää." - -#: ajax/contact/addproperty.php:76 -msgid "Trying to add duplicate property: " -msgstr "" - -#: ajax/contact/addproperty.php:115 ajax/contact/saveproperty.php:93 -msgid "Missing IM parameter." -msgstr "" - -#: ajax/contact/addproperty.php:119 ajax/contact/saveproperty.php:97 -msgid "Unknown IM: " -msgstr "" - -#: ajax/contact/deleteproperty.php:37 -msgid "Information about vCard is incorrect. Please reload the page." -msgstr "vCardin tiedot eivät kelpaa. Lataa sivu uudelleen." - -#: ajax/contact/details.php:31 -msgid "Missing ID" -msgstr "" - -#: ajax/contact/details.php:36 -msgid "Error parsing VCard for ID: \"" -msgstr "Virhe jäsennettäessä vCardia tunnisteelle: \"" - -#: ajax/contact/saveproperty.php:42 -msgid "checksum is not set." -msgstr "" - -#: ajax/contact/saveproperty.php:62 -msgid "Information about vCard is incorrect. Please reload the page: " -msgstr "" - -#: ajax/contact/saveproperty.php:69 -msgid "Something went FUBAR. " -msgstr "" - -#: ajax/currentphoto.php:30 ajax/oc_photo.php:28 ajax/uploadphoto.php:36 -#: ajax/uploadphoto.php:68 -msgid "No contact ID was submitted." -msgstr "" - -#: ajax/currentphoto.php:36 -msgid "Error reading contact photo." -msgstr "" - -#: ajax/currentphoto.php:48 -msgid "Error saving temporary file." -msgstr "Virhe tallennettaessa tilapäistiedostoa." - -#: ajax/currentphoto.php:51 -msgid "The loading photo is not valid." -msgstr "" - -#: ajax/editname.php:31 -msgid "Contact ID is missing." -msgstr "" - -#: ajax/oc_photo.php:32 -msgid "No photo path was submitted." -msgstr "Kuvan polkua ei annettu." - -#: ajax/oc_photo.php:39 -msgid "File doesn't exist:" -msgstr "Tiedostoa ei ole olemassa:" - -#: ajax/oc_photo.php:44 ajax/oc_photo.php:47 -msgid "Error loading image." -msgstr "Virhe kuvaa ladatessa." - -#: ajax/savecrop.php:69 -msgid "Error getting contact object." -msgstr "" - -#: ajax/savecrop.php:79 -msgid "Error getting PHOTO property." -msgstr "" - -#: ajax/savecrop.php:98 -msgid "Error saving contact." -msgstr "Virhe yhteystietoa tallennettaessa." - -#: ajax/savecrop.php:109 -msgid "Error resizing image" -msgstr "Virhe asettaessa kuvaa uuteen kokoon" - -#: ajax/savecrop.php:112 -msgid "Error cropping image" -msgstr "Virhe rajatessa kuvaa" - -#: ajax/savecrop.php:115 -msgid "Error creating temporary image" -msgstr "Virhe luotaessa väliaikaista kuvaa" - -#: ajax/savecrop.php:118 -msgid "Error finding image: " -msgstr "" - -#: ajax/uploadimport.php:44 ajax/uploadimport.php:76 -msgid "Error uploading contacts to storage." -msgstr "" - -#: ajax/uploadimport.php:61 ajax/uploadphoto.php:77 -msgid "There is no error, the file uploaded with success" -msgstr "Ei virhettä, tiedosto lähetettiin onnistuneesti" - -#: ajax/uploadimport.php:62 ajax/uploadphoto.php:78 -msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" -msgstr "Lähetetyn tiedoston koko ylittää upload_max_filesize-asetuksen arvon php.ini-tiedostossa" - -#: ajax/uploadimport.php:63 ajax/uploadphoto.php:79 -msgid "" -"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " -"the HTML form" -msgstr "" - -#: ajax/uploadimport.php:64 ajax/uploadphoto.php:80 -msgid "The uploaded file was only partially uploaded" -msgstr "Lähetetty tiedosto lähetettiin vain osittain" - -#: ajax/uploadimport.php:65 ajax/uploadphoto.php:81 -msgid "No file was uploaded" -msgstr "Tiedostoa ei lähetetty" - -#: ajax/uploadimport.php:66 ajax/uploadphoto.php:82 -msgid "Missing a temporary folder" -msgstr "Tilapäiskansio puuttuu" - -#: ajax/uploadphoto.php:59 ajax/uploadphoto.php:109 -msgid "Couldn't save temporary image: " -msgstr "Väliaikaiskuvan tallennus epäonnistui:" - -#: ajax/uploadphoto.php:62 ajax/uploadphoto.php:112 -msgid "Couldn't load temporary image: " -msgstr "Väliaikaiskuvan lataus epäonnistui:" - -#: ajax/uploadphoto.php:71 -msgid "No file was uploaded. Unknown error" -msgstr "Tiedostoa ei lähetetty. Tuntematon virhe" - -#: appinfo/app.php:21 -msgid "Contacts" -msgstr "Yhteystiedot" - -#: js/contacts.js:71 -msgid "Sorry, this functionality has not been implemented yet" -msgstr "" - -#: js/contacts.js:71 -msgid "Not implemented" -msgstr "" - -#: js/contacts.js:76 -msgid "Couldn't get a valid address." -msgstr "" - -#: js/contacts.js:76 js/contacts.js:365 js/contacts.js:381 js/contacts.js:393 -#: js/contacts.js:723 js/contacts.js:763 js/contacts.js:789 js/contacts.js:921 -#: js/contacts.js:927 js/contacts.js:939 js/contacts.js:976 -#: js/contacts.js:1250 js/contacts.js:1258 js/contacts.js:1267 -#: js/contacts.js:1302 js/contacts.js:1338 js/contacts.js:1353 -#: js/contacts.js:1379 js/contacts.js:1609 js/contacts.js:1644 -#: js/contacts.js:1664 js/settings.js:26 js/settings.js:43 js/settings.js:68 -msgid "Error" -msgstr "Virhe" - -#: js/contacts.js:424 -msgid "You do not have permission to add contacts to " -msgstr "" - -#: js/contacts.js:425 -msgid "Please select one of your own address books." -msgstr "" - -#: js/contacts.js:425 -msgid "Permission error" -msgstr "" - -#: js/contacts.js:763 -msgid "This property has to be non-empty." -msgstr "" - -#: js/contacts.js:789 -msgid "Couldn't serialize elements." -msgstr "" - -#: js/contacts.js:921 js/contacts.js:939 -msgid "" -"'deleteProperty' called without type argument. Please report at " -"bugs.owncloud.org" -msgstr "" - -#: js/contacts.js:958 -msgid "Edit name" -msgstr "Muokkaa nimeä" - -#: js/contacts.js:1250 -msgid "No files selected for upload." -msgstr "Tiedostoja ei ole valittu lähetettäväksi." - -#: js/contacts.js:1258 -msgid "" -"The file you are trying to upload exceed the maximum size for file uploads " -"on this server." -msgstr "" - -#: js/contacts.js:1322 -msgid "Error loading profile picture." -msgstr "Virhe profiilikuvaa ladatessa." - -#: js/contacts.js:1457 js/contacts.js:1498 js/contacts.js:1517 -#: js/contacts.js:1560 -msgid "Select type" -msgstr "Valitse tyyppi" - -#: js/contacts.js:1578 -msgid "" -"Some contacts are marked for deletion, but not deleted yet. Please wait for " -"them to be deleted." -msgstr "Jotkin yhteystiedot on merkitty poistettaviksi, mutta niitä ei ole vielä poistettu. Odota hetki, että kyseiset yhteystiedot poistetaan." - -#: js/contacts.js:1649 -msgid "Do you want to merge these address books?" -msgstr "Haluatko yhdistää nämä osoitekirjat?" - -#: js/loader.js:49 -msgid "Result: " -msgstr "Tulos: " - -#: js/loader.js:49 -msgid " imported, " -msgstr " tuotu, " - -#: js/loader.js:49 -msgid " failed." -msgstr " epäonnistui." - -#: js/settings.js:68 -msgid "Displayname cannot be empty." -msgstr "Näyttönimi ei voi olla tyhjä." - -#: lib/app.php:36 -msgid "Addressbook not found: " -msgstr "Osoitekirjaa ei löytynyt:" - -#: lib/app.php:52 -msgid "This is not your addressbook." -msgstr "Tämä ei ole osoitekirjasi." - -#: lib/app.php:71 -msgid "Contact could not be found." -msgstr "Yhteystietoa ei löytynyt." - -#: lib/app.php:116 -msgid "Jabber" -msgstr "Jabber" - -#: lib/app.php:121 -msgid "AIM" -msgstr "AIM" - -#: lib/app.php:126 -msgid "MSN" -msgstr "MSN" - -#: lib/app.php:131 -msgid "Twitter" -msgstr "Twitter" - -#: lib/app.php:136 -msgid "GoogleTalk" -msgstr "Google Talk" - -#: lib/app.php:141 -msgid "Facebook" -msgstr "Facebook" - -#: lib/app.php:146 -msgid "XMPP" -msgstr "XMPP" - -#: lib/app.php:151 -msgid "ICQ" -msgstr "ICQ" - -#: lib/app.php:156 -msgid "Yahoo" -msgstr "Yahoo" - -#: lib/app.php:161 -msgid "Skype" -msgstr "Skype" - -#: lib/app.php:166 -msgid "QQ" -msgstr "QQ" - -#: lib/app.php:171 -msgid "GaduGadu" -msgstr "GaduGadu" - -#: lib/app.php:194 lib/app.php:202 lib/app.php:213 lib/app.php:266 -msgid "Work" -msgstr "Työ" - -#: lib/app.php:195 lib/app.php:200 lib/app.php:214 -msgid "Home" -msgstr "Koti" - -#: lib/app.php:196 lib/app.php:209 lib/app.php:262 lib/vcard.php:593 -msgid "Other" -msgstr "Muu" - -#: lib/app.php:201 -msgid "Mobile" -msgstr "Mobiili" - -#: lib/app.php:203 -msgid "Text" -msgstr "Teksti" - -#: lib/app.php:204 -msgid "Voice" -msgstr "Ääni" - -#: lib/app.php:205 -msgid "Message" -msgstr "Viesti" - -#: lib/app.php:206 -msgid "Fax" -msgstr "Faksi" - -#: lib/app.php:207 -msgid "Video" -msgstr "Video" - -#: lib/app.php:208 -msgid "Pager" -msgstr "Hakulaite" - -#: lib/app.php:215 -msgid "Internet" -msgstr "Internet" - -#: lib/app.php:252 templates/part.contact.php:45 -#: templates/part.contact.php:128 -msgid "Birthday" -msgstr "Syntymäpäivä" - -#: lib/app.php:253 -msgid "Business" -msgstr "Työ" - -#: lib/app.php:254 -msgid "Call" -msgstr "" - -#: lib/app.php:255 -msgid "Clients" -msgstr "" - -#: lib/app.php:256 -msgid "Deliverer" -msgstr "" - -#: lib/app.php:257 -msgid "Holidays" -msgstr "" - -#: lib/app.php:258 -msgid "Ideas" -msgstr "" - -#: lib/app.php:259 -msgid "Journey" -msgstr "" - -#: lib/app.php:260 -msgid "Jubilee" -msgstr "" - -#: lib/app.php:261 -msgid "Meeting" -msgstr "" - -#: lib/app.php:263 -msgid "Personal" -msgstr "" - -#: lib/app.php:264 -msgid "Projects" -msgstr "" - -#: lib/app.php:265 -msgid "Questions" -msgstr "Kysymykset" - -#: lib/hooks.php:102 -msgid "{name}'s Birthday" -msgstr "Henkilön {name} syntymäpäivä" - -#: lib/search.php:15 -msgid "Contact" -msgstr "Yhteystieto" - -#: lib/vcard.php:408 -msgid "You do not have the permissions to edit this contact." -msgstr "" - -#: lib/vcard.php:483 -msgid "You do not have the permissions to delete this contact." -msgstr "" - -#: templates/index.php:14 -msgid "Add Contact" -msgstr "Lisää yhteystieto" - -#: templates/index.php:15 templates/index.php:16 templates/part.import.php:17 -msgid "Import" -msgstr "Tuo" - -#: templates/index.php:18 -msgid "Settings" -msgstr "Asetukset" - -#: templates/index.php:18 templates/settings.php:9 -msgid "Addressbooks" -msgstr "Osoitekirjat" - -#: templates/index.php:36 templates/part.import.php:24 -msgid "Close" -msgstr "Sulje" - -#: templates/index.php:37 -msgid "Keyboard shortcuts" -msgstr "Pikanäppäimet" - -#: templates/index.php:39 -msgid "Navigation" -msgstr "" - -#: templates/index.php:42 -msgid "Next contact in list" -msgstr "Seuraava yhteystieto luettelossa" - -#: templates/index.php:44 -msgid "Previous contact in list" -msgstr "Edellinen yhteystieto luettelossa" - -#: templates/index.php:46 -msgid "Expand/collapse current addressbook" -msgstr "" - -#: templates/index.php:48 -msgid "Next addressbook" -msgstr "Seuraava osoitekirja" - -#: templates/index.php:50 -msgid "Previous addressbook" -msgstr "Edellinen osoitekirja" - -#: templates/index.php:54 -msgid "Actions" -msgstr "Toiminnot" - -#: templates/index.php:57 -msgid "Refresh contacts list" -msgstr "Päivitä yhteystietoluettelo" - -#: templates/index.php:59 -msgid "Add new contact" -msgstr "Lisää uusi yhteystieto" - -#: templates/index.php:61 -msgid "Add new addressbook" -msgstr "Lisää uusi osoitekirja" - -#: templates/index.php:63 -msgid "Delete current contact" -msgstr "Poista nykyinen yhteystieto" - -#: templates/part.contact.php:17 -msgid "Drop photo to upload" -msgstr "" - -#: templates/part.contact.php:19 -msgid "Delete current photo" -msgstr "Poista nykyinen valokuva" - -#: templates/part.contact.php:20 -msgid "Edit current photo" -msgstr "Muokkaa nykyistä valokuvaa" - -#: templates/part.contact.php:21 -msgid "Upload new photo" -msgstr "Lähetä uusi valokuva" - -#: templates/part.contact.php:22 -msgid "Select photo from ownCloud" -msgstr "Valitse valokuva ownCloudista" - -#: templates/part.contact.php:35 -msgid "Format custom, Short name, Full name, Reverse or Reverse with comma" -msgstr "" - -#: templates/part.contact.php:36 -msgid "Edit name details" -msgstr "Muokkaa nimitietoja" - -#: templates/part.contact.php:39 templates/part.contact.php:40 -#: templates/part.contact.php:126 -msgid "Organization" -msgstr "Organisaatio" - -#: templates/part.contact.php:40 templates/part.contact.php:42 -#: templates/part.contact.php:44 templates/part.contact.php:46 -#: templates/part.contact.php:50 templates/settings.php:36 -msgid "Delete" -msgstr "Poista" - -#: templates/part.contact.php:41 templates/part.contact.php:127 -msgid "Nickname" -msgstr "Kutsumanimi" - -#: templates/part.contact.php:42 -msgid "Enter nickname" -msgstr "Anna kutsumanimi" - -#: templates/part.contact.php:43 templates/part.contact.php:134 -msgid "Web site" -msgstr "Verkkosivu" - -#: templates/part.contact.php:44 -msgid "http://www.somesite.com" -msgstr "http://www.somesite.com" - -#: templates/part.contact.php:44 -msgid "Go to web site" -msgstr "Siirry verkkosivulle" - -#: templates/part.contact.php:46 -msgid "dd-mm-yyyy" -msgstr "" - -#: templates/part.contact.php:47 templates/part.contact.php:135 -msgid "Groups" -msgstr "Ryhmät" - -#: templates/part.contact.php:49 -msgid "Separate groups with commas" -msgstr "Erota ryhmät pilkuilla" - -#: templates/part.contact.php:50 -msgid "Edit groups" -msgstr "Muokkaa ryhmiä" - -#: templates/part.contact.php:59 templates/part.contact.php:73 -#: templates/part.contact.php:98 -msgid "Preferred" -msgstr "Ensisijainen" - -#: templates/part.contact.php:60 -msgid "Please specify a valid email address." -msgstr "Anna kelvollinen sähköpostiosoite." - -#: templates/part.contact.php:60 -msgid "Enter email address" -msgstr "Anna sähköpostiosoite" - -#: templates/part.contact.php:64 -msgid "Mail to address" -msgstr "Lähetä sähköpostia" - -#: templates/part.contact.php:65 -msgid "Delete email address" -msgstr "Poista sähköpostiosoite" - -#: templates/part.contact.php:75 -msgid "Enter phone number" -msgstr "Anna puhelinnumero" - -#: templates/part.contact.php:79 -msgid "Delete phone number" -msgstr "Poista puhelinnumero" - -#: templates/part.contact.php:100 -msgid "Instant Messenger" -msgstr "Pikaviestin" - -#: templates/part.contact.php:101 -msgid "Delete IM" -msgstr "" - -#: templates/part.contact.php:110 -msgid "View on map" -msgstr "Näytä kartalla" - -#: templates/part.contact.php:110 -msgid "Edit address details" -msgstr "Muokkaa osoitetietoja" - -#: templates/part.contact.php:116 -msgid "Add notes here." -msgstr "Lisää huomiot tähän." - -#: templates/part.contact.php:124 -msgid "Add field" -msgstr "Lisää kenttä" - -#: templates/part.contact.php:129 -msgid "Phone" -msgstr "Puhelin" - -#: templates/part.contact.php:130 -msgid "Email" -msgstr "Sähköposti" - -#: templates/part.contact.php:131 -msgid "Instant Messaging" -msgstr "" - -#: templates/part.contact.php:132 -msgid "Address" -msgstr "Osoite" - -#: templates/part.contact.php:133 -msgid "Note" -msgstr "Huomio" - -#: templates/part.contact.php:138 -msgid "Download contact" -msgstr "Lataa yhteystieto" - -#: templates/part.contact.php:139 -msgid "Delete contact" -msgstr "Poista yhteystieto" - -#: templates/part.cropphoto.php:65 -msgid "The temporary image has been removed from cache." -msgstr "Väliaikainen kuva on poistettu välimuistista." - -#: templates/part.edit_address_dialog.php:6 -msgid "Edit address" -msgstr "Muokkaa osoitetta" - -#: templates/part.edit_address_dialog.php:10 -msgid "Type" -msgstr "Tyyppi" - -#: templates/part.edit_address_dialog.php:18 -#: templates/part.edit_address_dialog.php:21 -msgid "PO Box" -msgstr "Postilokero" - -#: templates/part.edit_address_dialog.php:24 -msgid "Street address" -msgstr "Katuosoite" - -#: templates/part.edit_address_dialog.php:27 -msgid "Street and number" -msgstr "Katu ja numero" - -#: templates/part.edit_address_dialog.php:30 -msgid "Extended" -msgstr "Laajennettu" - -#: templates/part.edit_address_dialog.php:33 -msgid "Apartment number etc." -msgstr "Asunnon numero jne." - -#: templates/part.edit_address_dialog.php:36 -#: templates/part.edit_address_dialog.php:39 -msgid "City" -msgstr "Paikkakunta" - -#: templates/part.edit_address_dialog.php:42 -msgid "Region" -msgstr "Alue" - -#: templates/part.edit_address_dialog.php:45 -msgid "E.g. state or province" -msgstr "" - -#: templates/part.edit_address_dialog.php:48 -msgid "Zipcode" -msgstr "Postinumero" - -#: templates/part.edit_address_dialog.php:51 -msgid "Postal code" -msgstr "Postinumero" - -#: templates/part.edit_address_dialog.php:54 -#: templates/part.edit_address_dialog.php:57 -msgid "Country" -msgstr "Maa" - -#: templates/part.edit_name_dialog.php:16 -msgid "Addressbook" -msgstr "Osoitekirja" - -#: templates/part.edit_name_dialog.php:23 -msgid "Hon. prefixes" -msgstr "" - -#: templates/part.edit_name_dialog.php:27 -msgid "Miss" -msgstr "" - -#: templates/part.edit_name_dialog.php:28 -msgid "Ms" -msgstr "" - -#: templates/part.edit_name_dialog.php:29 -msgid "Mr" -msgstr "" - -#: templates/part.edit_name_dialog.php:30 -msgid "Sir" -msgstr "" - -#: templates/part.edit_name_dialog.php:31 -msgid "Mrs" -msgstr "" - -#: templates/part.edit_name_dialog.php:32 -msgid "Dr" -msgstr "" - -#: templates/part.edit_name_dialog.php:35 -msgid "Given name" -msgstr "Etunimi" - -#: templates/part.edit_name_dialog.php:37 -msgid "Additional names" -msgstr "Lisänimet" - -#: templates/part.edit_name_dialog.php:39 -msgid "Family name" -msgstr "Sukunimi" - -#: templates/part.edit_name_dialog.php:41 -msgid "Hon. suffixes" -msgstr "" - -#: templates/part.edit_name_dialog.php:45 -msgid "J.D." -msgstr "" - -#: templates/part.edit_name_dialog.php:46 -msgid "M.D." -msgstr "" - -#: templates/part.edit_name_dialog.php:47 -msgid "D.O." -msgstr "" - -#: templates/part.edit_name_dialog.php:48 -msgid "D.C." -msgstr "" - -#: templates/part.edit_name_dialog.php:49 -msgid "Ph.D." -msgstr "" - -#: templates/part.edit_name_dialog.php:50 -msgid "Esq." -msgstr "" - -#: templates/part.edit_name_dialog.php:51 -msgid "Jr." -msgstr "" - -#: templates/part.edit_name_dialog.php:52 -msgid "Sn." -msgstr "" - -#: templates/part.import.php:1 -msgid "Import a contacts file" -msgstr "Tuo yhteystiedon sisältävä tiedosto" - -#: templates/part.import.php:6 -msgid "Please choose the addressbook" -msgstr "Valitse osoitekirja" - -#: templates/part.import.php:10 -msgid "create a new addressbook" -msgstr "luo uusi osoitekirja" - -#: templates/part.import.php:15 -msgid "Name of new addressbook" -msgstr "Uuden osoitekirjan nimi" - -#: templates/part.import.php:20 -msgid "Importing contacts" -msgstr "Tuodaan yhteystietoja" - -#: templates/part.no_contacts.php:3 -msgid "You have no contacts in your addressbook." -msgstr "Osoitekirjassasi ei ole yhteystietoja." - -#: templates/part.no_contacts.php:5 -msgid "Add contact" -msgstr "Lisää yhteystieto" - -#: templates/part.selectaddressbook.php:1 -msgid "Select Address Books" -msgstr "Valitse osoitekirjat" - -#: templates/part.selectaddressbook.php:27 -msgid "Enter name" -msgstr "Anna nimi" - -#: templates/part.selectaddressbook.php:29 -msgid "Enter description" -msgstr "Anna kuvaus" - -#: templates/settings.php:3 -msgid "CardDAV syncing addresses" -msgstr "CardDAV-synkronointiosoitteet" - -#: templates/settings.php:3 -msgid "more info" -msgstr "" - -#: templates/settings.php:5 -msgid "Primary address (Kontact et al)" -msgstr "" - -#: templates/settings.php:7 -msgid "iOS/OS X" -msgstr "iOS/OS X" - -#: templates/settings.php:20 -msgid "Show CardDav link" -msgstr "Näytä CardDav-linkki" - -#: templates/settings.php:23 -msgid "Show read-only VCF link" -msgstr "Näytä vain luku -muodossa oleva VCF-linkki" - -#: templates/settings.php:26 -msgid "Share" -msgstr "Jaa" - -#: templates/settings.php:29 -msgid "Download" -msgstr "Lataa" - -#: templates/settings.php:33 -msgid "Edit" -msgstr "Muokkaa" - -#: templates/settings.php:43 -msgid "New Address Book" -msgstr "Uusi osoitekirja" - -#: templates/settings.php:44 -msgid "Name" -msgstr "Nimi" - -#: templates/settings.php:45 -msgid "Description" -msgstr "Kuvaus" - -#: templates/settings.php:46 -msgid "Save" -msgstr "Tallenna" - -#: templates/settings.php:47 -msgid "Cancel" -msgstr "Peru" - -#: templates/settings.php:52 -msgid "More..." -msgstr "Lisää..." diff --git a/l10n/fi_FI/core.po b/l10n/fi_FI/core.po index 313e7668c11ac490ad55496f443682a1372a966d..a5d1642b013cb632b19fd88b40001b6b4712c98a 100644 --- a/l10n/fi_FI/core.po +++ b/l10n/fi_FI/core.po @@ -14,9 +14,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-16 02:04+0200\n" -"PO-Revision-Date: 2012-10-16 00:05+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-11-16 00:02+0100\n" +"PO-Revision-Date: 2012-11-15 20:59+0000\n" +"Last-Translator: Jiri Grönroos \n" "Language-Team: Finnish (Finland) (http://www.transifex.com/projects/p/owncloud/language/fi_FI/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -24,209 +24,241 @@ msgstr "" "Language: fi_FI\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: ajax/vcategories/add.php:23 ajax/vcategories/delete.php:23 -msgid "Application name not provided." -msgstr "Sovelluksen nimeä ei määritelty." +#: ajax/vcategories/add.php:26 ajax/vcategories/edit.php:25 +msgid "Category type not provided." +msgstr "" -#: ajax/vcategories/add.php:29 +#: ajax/vcategories/add.php:30 msgid "No category to add?" msgstr "Ei lisättävää luokkaa?" -#: ajax/vcategories/add.php:36 +#: ajax/vcategories/add.php:37 msgid "This category already exists: " msgstr "Tämä luokka on jo olemassa: " -#: js/js.js:238 templates/layout.user.php:49 templates/layout.user.php:50 +#: ajax/vcategories/addToFavorites.php:26 ajax/vcategories/delete.php:27 +#: ajax/vcategories/favorites.php:24 +#: ajax/vcategories/removeFromFavorites.php:26 +msgid "Object type not provided." +msgstr "" + +#: ajax/vcategories/addToFavorites.php:30 +#: ajax/vcategories/removeFromFavorites.php:30 +#, php-format +msgid "%s ID not provided." +msgstr "" + +#: ajax/vcategories/addToFavorites.php:35 +#, php-format +msgid "Error adding %s to favorites." +msgstr "" + +#: ajax/vcategories/delete.php:35 js/oc-vcategories.js:136 +msgid "No categories selected for deletion." +msgstr "Luokkia ei valittu poistettavaksi." + +#: ajax/vcategories/removeFromFavorites.php:35 +#, php-format +msgid "Error removing %s from favorites." +msgstr "" + +#: js/js.js:243 templates/layout.user.php:59 templates/layout.user.php:60 msgid "Settings" msgstr "Asetukset" -#: js/js.js:670 -msgid "January" -msgstr "Tammikuu" +#: js/js.js:688 +msgid "seconds ago" +msgstr "sekuntia sitten" -#: js/js.js:670 -msgid "February" -msgstr "Helmikuu" +#: js/js.js:689 +msgid "1 minute ago" +msgstr "1 minuutti sitten" -#: js/js.js:670 -msgid "March" -msgstr "Maaliskuu" +#: js/js.js:690 +msgid "{minutes} minutes ago" +msgstr "{minutes} minuuttia sitten" -#: js/js.js:670 -msgid "April" -msgstr "Huhtikuu" +#: js/js.js:691 +msgid "1 hour ago" +msgstr "1 tunti sitten" -#: js/js.js:670 -msgid "May" -msgstr "Toukokuu" +#: js/js.js:692 +msgid "{hours} hours ago" +msgstr "{hours} tuntia sitten" -#: js/js.js:670 -msgid "June" -msgstr "Kesäkuu" +#: js/js.js:693 +msgid "today" +msgstr "tänään" -#: js/js.js:671 -msgid "July" -msgstr "Heinäkuu" +#: js/js.js:694 +msgid "yesterday" +msgstr "eilen" -#: js/js.js:671 -msgid "August" -msgstr "Elokuu" +#: js/js.js:695 +msgid "{days} days ago" +msgstr "{days} päivää sitten" -#: js/js.js:671 -msgid "September" -msgstr "Syyskuu" +#: js/js.js:696 +msgid "last month" +msgstr "viime kuussa" -#: js/js.js:671 -msgid "October" -msgstr "Lokakuu" +#: js/js.js:697 +msgid "{months} months ago" +msgstr "{months} kuukautta sitten" -#: js/js.js:671 -msgid "November" -msgstr "Marraskuu" +#: js/js.js:698 +msgid "months ago" +msgstr "kuukautta sitten" -#: js/js.js:671 -msgid "December" -msgstr "Joulukuu" +#: js/js.js:699 +msgid "last year" +msgstr "viime vuonna" -#: js/oc-dialogs.js:123 +#: js/js.js:700 +msgid "years ago" +msgstr "vuotta sitten" + +#: js/oc-dialogs.js:126 msgid "Choose" msgstr "Valitse" -#: js/oc-dialogs.js:143 js/oc-dialogs.js:163 +#: js/oc-dialogs.js:146 js/oc-dialogs.js:166 msgid "Cancel" msgstr "Peru" -#: js/oc-dialogs.js:159 +#: js/oc-dialogs.js:162 msgid "No" msgstr "Ei" -#: js/oc-dialogs.js:160 +#: js/oc-dialogs.js:163 msgid "Yes" msgstr "Kyllä" -#: js/oc-dialogs.js:177 +#: js/oc-dialogs.js:180 msgid "Ok" msgstr "Ok" -#: js/oc-vcategories.js:68 -msgid "No categories selected for deletion." -msgstr "Luokkia ei valittu poistettavaksi." +#: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102 +#: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162 +msgid "The object type is not specified." +msgstr "" -#: js/oc-vcategories.js:68 js/share.js:114 js/share.js:121 js/share.js:497 -#: js/share.js:509 +#: js/oc-vcategories.js:95 js/oc-vcategories.js:125 js/oc-vcategories.js:136 +#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:525 +#: js/share.js:537 msgid "Error" msgstr "Virhe" -#: js/share.js:103 +#: js/oc-vcategories.js:179 +msgid "The app name is not specified." +msgstr "Sovelluksen nimeä ei ole määritelty." + +#: js/oc-vcategories.js:194 +msgid "The required file {file} is not installed!" +msgstr "Vaadittua tiedostoa {file} ei ole asennettu!" + +#: js/share.js:124 msgid "Error while sharing" msgstr "Virhe jaettaessa" -#: js/share.js:114 +#: js/share.js:135 msgid "Error while unsharing" msgstr "Virhe jakoa peruttaessa" -#: js/share.js:121 +#: js/share.js:142 msgid "Error while changing permissions" msgstr "Virhe oikeuksia muuttaessa" -#: js/share.js:130 -msgid "Shared with you and the group" -msgstr "Jaettu sinulle ja ryhmälle" - -#: js/share.js:130 -msgid "by" +#: js/share.js:151 +msgid "Shared with you and the group {group} by {owner}" msgstr "" -#: js/share.js:132 -msgid "Shared with you by" +#: js/share.js:153 +msgid "Shared with you by {owner}" msgstr "" -#: js/share.js:137 +#: js/share.js:158 msgid "Share with" msgstr "" -#: js/share.js:142 +#: js/share.js:163 msgid "Share with link" msgstr "Jaa linkillä" -#: js/share.js:143 +#: js/share.js:164 msgid "Password protect" msgstr "Suojaa salasanalla" -#: js/share.js:147 templates/installation.php:42 templates/login.php:24 +#: js/share.js:168 templates/installation.php:42 templates/login.php:24 #: templates/verify.php:13 msgid "Password" msgstr "Salasana" -#: js/share.js:152 +#: js/share.js:173 msgid "Set expiration date" msgstr "Aseta päättymispäivä" -#: js/share.js:153 +#: js/share.js:174 msgid "Expiration date" msgstr "Päättymispäivä" -#: js/share.js:185 +#: js/share.js:206 msgid "Share via email:" msgstr "Jaa sähköpostilla:" -#: js/share.js:187 +#: js/share.js:208 msgid "No people found" msgstr "Henkilöitä ei löytynyt" -#: js/share.js:214 +#: js/share.js:235 msgid "Resharing is not allowed" msgstr "Jakaminen uudelleen ei ole salittu" -#: js/share.js:250 -msgid "Shared in" +#: js/share.js:271 +msgid "Shared in {item} with {user}" msgstr "" -#: js/share.js:250 -msgid "with" -msgstr "kanssa" - -#: js/share.js:271 +#: js/share.js:292 msgid "Unshare" msgstr "Peru jakaminen" -#: js/share.js:283 +#: js/share.js:304 msgid "can edit" msgstr "voi muokata" -#: js/share.js:285 +#: js/share.js:306 msgid "access control" msgstr "Pääsyn hallinta" -#: js/share.js:288 +#: js/share.js:309 msgid "create" msgstr "luo" -#: js/share.js:291 +#: js/share.js:312 msgid "update" msgstr "päivitä" -#: js/share.js:294 +#: js/share.js:315 msgid "delete" msgstr "poista" -#: js/share.js:297 +#: js/share.js:318 msgid "share" msgstr "jaa" -#: js/share.js:322 js/share.js:484 +#: js/share.js:343 js/share.js:512 js/share.js:514 msgid "Password protected" msgstr "Salasanasuojattu" -#: js/share.js:497 +#: js/share.js:525 msgid "Error unsetting expiration date" msgstr "Virhe purettaessa eräpäivää" -#: js/share.js:509 +#: js/share.js:537 msgid "Error setting expiration date" msgstr "Virhe päättymispäivää asettaessa" -#: lostpassword/index.php:26 +#: lostpassword/controller.php:47 msgid "ownCloud password reset" msgstr "ownCloud-salasanan nollaus" @@ -239,12 +271,12 @@ msgid "You will receive a link to reset your password via Email." msgstr "Saat sähköpostitse linkin nollataksesi salasanan." #: lostpassword/templates/lostpassword.php:5 -msgid "Requested" -msgstr "Tilattu" +msgid "Reset email send." +msgstr "" #: lostpassword/templates/lostpassword.php:8 -msgid "Login failed!" -msgstr "Kirjautuminen epäonnistui!" +msgid "Request failed!" +msgstr "Pyyntö epäonnistui!" #: lostpassword/templates/lostpassword.php:11 templates/installation.php:38 #: templates/login.php:20 @@ -303,13 +335,13 @@ msgstr "Pilveä ei löydy" msgid "Edit categories" msgstr "Muokkaa luokkia" -#: templates/edit_categories_dialog.php:14 +#: templates/edit_categories_dialog.php:16 msgid "Add" msgstr "Lisää" #: templates/installation.php:23 templates/installation.php:31 msgid "Security Warning" -msgstr "" +msgstr "Turvallisuusvaroitus" #: templates/installation.php:24 msgid "" @@ -330,7 +362,7 @@ msgid "" "strongly suggest that you configure your webserver in a way that the data " "directory is no longer accessible or you move the data directory outside the" " webserver document root." -msgstr "" +msgstr "Data-kansio ja tiedostot ovat ehkä saavutettavissa Internetistä. .htaccess-tiedosto, jolla kontrolloidaan pääsyä, ei toimi. Suosittelemme, että muutat web-palvelimesi asetukset niin ettei data-kansio ole enää pääsyä tai siirrät data-kansion pois web-palvelimen tiedostojen juuresta." #: templates/installation.php:36 msgid "Create an admin account" @@ -377,27 +409,103 @@ msgstr "Tietokantapalvelin" msgid "Finish setup" msgstr "Viimeistele asennus" -#: templates/layout.guest.php:38 +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Sunday" +msgstr "Sunnuntai" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Monday" +msgstr "Maanantai" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Tuesday" +msgstr "Tiistai" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Wednesday" +msgstr "Keskiviikko" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Thursday" +msgstr "Torstai" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Friday" +msgstr "Perjantai" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Saturday" +msgstr "Lauantai" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "January" +msgstr "Tammikuu" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "February" +msgstr "Helmikuu" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "March" +msgstr "Maaliskuu" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "April" +msgstr "Huhtikuu" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "May" +msgstr "Toukokuu" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "June" +msgstr "Kesäkuu" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "July" +msgstr "Heinäkuu" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "August" +msgstr "Elokuu" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "September" +msgstr "Syyskuu" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "October" +msgstr "Lokakuu" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "November" +msgstr "Marraskuu" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "December" +msgstr "Joulukuu" + +#: templates/layout.guest.php:41 msgid "web services under your control" msgstr "verkkopalvelut hallinnassasi" -#: templates/layout.user.php:34 +#: templates/layout.user.php:44 msgid "Log out" msgstr "Kirjaudu ulos" #: templates/login.php:8 msgid "Automatic logon rejected!" -msgstr "" +msgstr "Automaattinen sisäänkirjautuminen hylättiin!" #: templates/login.php:9 msgid "" "If you did not change your password recently, your account may be " "compromised!" -msgstr "" +msgstr "Jos et vaihtanut salasanaasi äskettäin, tilisi saattaa olla murrettu." #: templates/login.php:10 msgid "Please change your password to secure your account again." -msgstr "" +msgstr "Vaihda salasanasi suojataksesi tilisi uudelleen." #: templates/login.php:15 msgid "Lost your password?" @@ -425,14 +533,14 @@ msgstr "seuraava" #: templates/verify.php:5 msgid "Security Warning!" -msgstr "" +msgstr "Turvallisuusvaroitus!" #: templates/verify.php:6 msgid "" "Please verify your password.
For security reasons you may be " "occasionally asked to enter your password again." -msgstr "" +msgstr "Vahvista salasanasi.
Turvallisuussyistä sinulta saatetaan ajoittain kysyä salasanasi uudelleen." #: templates/verify.php:16 msgid "Verify" -msgstr "" +msgstr "Vahvista" diff --git a/l10n/fi_FI/files.po b/l10n/fi_FI/files.po index 361afe1ce0c8420862f700949df02ca1d626191c..e96dbeabb503903537ee8dabaf23102ffcb660a7 100644 --- a/l10n/fi_FI/files.po +++ b/l10n/fi_FI/files.po @@ -12,9 +12,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-09-27 02:01+0200\n" -"PO-Revision-Date: 2012-09-26 12:21+0000\n" -"Last-Translator: Jiri Grönroos \n" +"POT-Creation-Date: 2012-12-01 00:01+0100\n" +"PO-Revision-Date: 2012-11-30 23:02+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Finnish (Finland) (http://www.transifex.com/projects/p/owncloud/language/fi_FI/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -27,195 +27,166 @@ msgid "There is no error, the file uploaded with success" msgstr "Ei virheitä, tiedosto lähetettiin onnistuneesti" #: ajax/upload.php:21 -msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" -msgstr "Lähetetty tiedosto ylittää upload_max_filesize-arvon rajan php.ini-tiedostossa" +msgid "" +"The uploaded file exceeds the upload_max_filesize directive in php.ini: " +msgstr "" -#: ajax/upload.php:22 +#: ajax/upload.php:23 msgid "" "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " "the HTML form" msgstr "Lähetetty tiedosto ylittää HTML-lomakkeessa määritetyn MAX_FILE_SIZE-arvon ylärajan" -#: ajax/upload.php:23 +#: ajax/upload.php:25 msgid "The uploaded file was only partially uploaded" msgstr "Tiedoston lähetys onnistui vain osittain" -#: ajax/upload.php:24 +#: ajax/upload.php:26 msgid "No file was uploaded" msgstr "Yhtäkään tiedostoa ei lähetetty" -#: ajax/upload.php:25 +#: ajax/upload.php:27 msgid "Missing a temporary folder" msgstr "Väliaikaiskansiota ei ole olemassa" -#: ajax/upload.php:26 +#: ajax/upload.php:28 msgid "Failed to write to disk" msgstr "Levylle kirjoitus epäonnistui" -#: appinfo/app.php:6 +#: appinfo/app.php:10 msgid "Files" msgstr "Tiedostot" -#: js/fileactions.js:108 templates/index.php:62 +#: js/fileactions.js:117 templates/index.php:83 templates/index.php:84 msgid "Unshare" -msgstr "" +msgstr "Peru jakaminen" -#: js/fileactions.js:110 templates/index.php:64 +#: js/fileactions.js:119 templates/index.php:89 templates/index.php:90 msgid "Delete" msgstr "Poista" -#: js/fileactions.js:182 +#: js/fileactions.js:181 msgid "Rename" msgstr "Nimeä uudelleen" -#: js/filelist.js:190 js/filelist.js:192 -msgid "already exists" -msgstr "on jo olemassa" +#: js/filelist.js:201 js/filelist.js:203 +msgid "{new_name} already exists" +msgstr "{new_name} on jo olemassa" -#: js/filelist.js:190 js/filelist.js:192 +#: js/filelist.js:201 js/filelist.js:203 msgid "replace" msgstr "korvaa" -#: js/filelist.js:190 +#: js/filelist.js:201 msgid "suggest name" msgstr "ehdota nimeä" -#: js/filelist.js:190 js/filelist.js:192 +#: js/filelist.js:201 js/filelist.js:203 msgid "cancel" msgstr "peru" -#: js/filelist.js:239 js/filelist.js:241 -msgid "replaced" -msgstr "korvattu" +#: js/filelist.js:250 +msgid "replaced {new_name}" +msgstr "" -#: js/filelist.js:239 js/filelist.js:241 js/filelist.js:273 js/filelist.js:275 +#: js/filelist.js:250 js/filelist.js:252 js/filelist.js:284 js/filelist.js:286 msgid "undo" msgstr "kumoa" -#: js/filelist.js:241 -msgid "with" -msgstr "käyttäen" +#: js/filelist.js:252 +msgid "replaced {new_name} with {old_name}" +msgstr "" -#: js/filelist.js:273 -msgid "unshared" +#: js/filelist.js:284 +msgid "unshared {files}" msgstr "" -#: js/filelist.js:275 -msgid "deleted" -msgstr "poistettu" +#: js/filelist.js:286 +msgid "deleted {files}" +msgstr "" -#: js/files.js:179 +#: js/files.js:33 +msgid "" +"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not " +"allowed." +msgstr "Virheellinen nimi, merkit '\\', '/', '<', '>', ':', '\"', '|', '?' ja '*' eivät ole sallittuja." + +#: js/files.js:183 msgid "generating ZIP-file, it may take some time." msgstr "luodaan ZIP-tiedostoa, tämä saattaa kestää hetken." -#: js/files.js:208 +#: js/files.js:218 msgid "Unable to upload your file as it is a directory or has 0 bytes" msgstr "Tiedoston lähetys epäonnistui, koska sen koko on 0 tavua tai kyseessä on kansio" -#: js/files.js:208 +#: js/files.js:218 msgid "Upload Error" msgstr "Lähetysvirhe." -#: js/files.js:236 js/files.js:341 js/files.js:371 +#: js/files.js:235 +msgid "Close" +msgstr "Sulje" + +#: js/files.js:254 js/files.js:368 js/files.js:398 msgid "Pending" msgstr "Odottaa" -#: js/files.js:256 +#: js/files.js:274 msgid "1 file uploading" msgstr "" -#: js/files.js:259 js/files.js:304 js/files.js:319 -msgid "files uploading" +#: js/files.js:277 js/files.js:331 js/files.js:346 +msgid "{count} files uploading" msgstr "" -#: js/files.js:322 js/files.js:355 +#: js/files.js:349 js/files.js:382 msgid "Upload cancelled." msgstr "Lähetys peruttu." -#: js/files.js:424 +#: js/files.js:451 msgid "" "File upload is in progress. Leaving the page now will cancel the upload." msgstr "Tiedoston lähetys on meneillään. Sivulta poistuminen nyt peruu tiedoston lähetyksen." -#: js/files.js:494 -msgid "Invalid name, '/' is not allowed." -msgstr "Virheellinen nimi, merkki '/' ei ole sallittu." +#: js/files.js:523 +msgid "Invalid folder name. Usage of \"Shared\" is reserved by Owncloud" +msgstr "" -#: js/files.js:668 -msgid "files scanned" +#: js/files.js:704 +msgid "{count} files scanned" msgstr "" -#: js/files.js:676 +#: js/files.js:712 msgid "error while scanning" msgstr "" -#: js/files.js:749 templates/index.php:48 +#: js/files.js:785 templates/index.php:65 msgid "Name" msgstr "Nimi" -#: js/files.js:750 templates/index.php:56 +#: js/files.js:786 templates/index.php:76 msgid "Size" msgstr "Koko" -#: js/files.js:751 templates/index.php:58 +#: js/files.js:787 templates/index.php:78 msgid "Modified" msgstr "Muutettu" -#: js/files.js:778 -msgid "folder" -msgstr "kansio" - -#: js/files.js:780 -msgid "folders" -msgstr "kansiota" - -#: js/files.js:788 -msgid "file" -msgstr "tiedosto" - -#: js/files.js:790 -msgid "files" -msgstr "tiedostoa" +#: js/files.js:814 +msgid "1 folder" +msgstr "1 kansio" -#: js/files.js:834 -msgid "seconds ago" -msgstr "sekuntia sitten" +#: js/files.js:816 +msgid "{count} folders" +msgstr "{count} kansiota" -#: js/files.js:835 -msgid "minute ago" -msgstr "minuutti sitten" +#: js/files.js:824 +msgid "1 file" +msgstr "1 tiedosto" -#: js/files.js:836 -msgid "minutes ago" -msgstr "minuuttia sitten" - -#: js/files.js:839 -msgid "today" -msgstr "tänään" - -#: js/files.js:840 -msgid "yesterday" -msgstr "eilen" - -#: js/files.js:841 -msgid "days ago" -msgstr "päivää sitten" - -#: js/files.js:842 -msgid "last month" -msgstr "viime kuussa" - -#: js/files.js:844 -msgid "months ago" -msgstr "kuukautta sitten" - -#: js/files.js:845 -msgid "last year" -msgstr "viime vuonna" - -#: js/files.js:846 -msgid "years ago" -msgstr "vuotta sitten" +#: js/files.js:826 +msgid "{count} files" +msgstr "{count} tiedostoa" #: templates/admin.php:5 msgid "File handling" @@ -225,27 +196,27 @@ msgstr "Tiedostonhallinta" msgid "Maximum upload size" msgstr "Lähetettävän tiedoston suurin sallittu koko" -#: templates/admin.php:7 +#: templates/admin.php:9 msgid "max. possible: " msgstr "suurin mahdollinen:" -#: templates/admin.php:9 +#: templates/admin.php:12 msgid "Needed for multi-file and folder downloads." msgstr "Tarvitaan useampien tiedostojen ja kansioiden latausta varten." -#: templates/admin.php:9 +#: templates/admin.php:14 msgid "Enable ZIP-download" msgstr "Ota ZIP-paketin lataaminen käytöön" -#: templates/admin.php:11 +#: templates/admin.php:17 msgid "0 is unlimited" msgstr "0 on rajoittamaton" -#: templates/admin.php:12 +#: templates/admin.php:19 msgid "Maximum input size for ZIP files" msgstr "ZIP-tiedostojen enimmäiskoko" -#: templates/admin.php:14 +#: templates/admin.php:23 msgid "Save" msgstr "Tallenna" @@ -253,52 +224,48 @@ msgstr "Tallenna" msgid "New" msgstr "Uusi" -#: templates/index.php:9 +#: templates/index.php:10 msgid "Text file" msgstr "Tekstitiedosto" -#: templates/index.php:10 +#: templates/index.php:12 msgid "Folder" msgstr "Kansio" -#: templates/index.php:11 -msgid "From url" -msgstr "Verkko-osoitteesta" +#: templates/index.php:14 +msgid "From link" +msgstr "" -#: templates/index.php:20 +#: templates/index.php:35 msgid "Upload" msgstr "Lähetä" -#: templates/index.php:27 +#: templates/index.php:43 msgid "Cancel upload" msgstr "Peru lähetys" -#: templates/index.php:40 +#: templates/index.php:57 msgid "Nothing in here. Upload something!" msgstr "Täällä ei ole mitään. Lähetä tänne jotakin!" -#: templates/index.php:50 -msgid "Share" -msgstr "Jaa" - -#: templates/index.php:52 +#: templates/index.php:71 msgid "Download" msgstr "Lataa" -#: templates/index.php:75 +#: templates/index.php:103 msgid "Upload too large" msgstr "Lähetettävä tiedosto on liian suuri" -#: templates/index.php:77 +#: templates/index.php:105 msgid "" "The files you are trying to upload exceed the maximum size for file uploads " "on this server." msgstr "Lähetettäväksi valitsemasi tiedostot ylittävät palvelimen salliman tiedostokoon rajan." -#: templates/index.php:82 +#: templates/index.php:110 msgid "Files are being scanned, please wait." msgstr "Tiedostoja tarkistetaan, odota hetki." -#: templates/index.php:85 +#: templates/index.php:113 msgid "Current scanning" msgstr "Tämänhetkinen tutkinta" diff --git a/l10n/fi_FI/files_external.po b/l10n/fi_FI/files_external.po index 54f2df01a0db795faa12eb57a90f7ab7d8e9291e..e9d7e697e0269f6b0a359f5b3e0edf77bfe57d6e 100644 --- a/l10n/fi_FI/files_external.po +++ b/l10n/fi_FI/files_external.po @@ -10,9 +10,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-12 02:03+0200\n" -"PO-Revision-Date: 2012-10-11 17:55+0000\n" -"Last-Translator: variaatiox \n" +"POT-Creation-Date: 2012-12-12 00:12+0100\n" +"PO-Revision-Date: 2012-12-11 23:13+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Finnish (Finland) (http://www.transifex.com/projects/p/owncloud/language/fi_FI/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -44,66 +44,80 @@ msgstr "" msgid "Error configuring Google Drive storage" msgstr "Virhe Google Drive levyn asetuksia tehtäessä" +#: lib/config.php:434 +msgid "" +"Warning: \"smbclient\" is not installed. Mounting of CIFS/SMB shares " +"is not possible. Please ask your system administrator to install it." +msgstr "" + +#: lib/config.php:435 +msgid "" +"Warning: The FTP support in PHP is not enabled or installed. Mounting" +" of FTP shares is not possible. Please ask your system administrator to " +"install it." +msgstr "" + #: templates/settings.php:3 msgid "External Storage" msgstr "Erillinen tallennusväline" -#: templates/settings.php:7 templates/settings.php:19 +#: templates/settings.php:8 templates/settings.php:22 msgid "Mount point" msgstr "Liitospiste" -#: templates/settings.php:8 +#: templates/settings.php:9 msgid "Backend" msgstr "Taustaosa" -#: templates/settings.php:9 +#: templates/settings.php:10 msgid "Configuration" msgstr "Asetukset" -#: templates/settings.php:10 +#: templates/settings.php:11 msgid "Options" msgstr "Valinnat" -#: templates/settings.php:11 +#: templates/settings.php:12 msgid "Applicable" msgstr "Sovellettavissa" -#: templates/settings.php:23 +#: templates/settings.php:27 msgid "Add mount point" msgstr "Lisää liitospiste" -#: templates/settings.php:54 templates/settings.php:62 +#: templates/settings.php:85 msgid "None set" msgstr "Ei asetettu" -#: templates/settings.php:63 +#: templates/settings.php:86 msgid "All Users" msgstr "Kaikki käyttäjät" -#: templates/settings.php:64 +#: templates/settings.php:87 msgid "Groups" msgstr "Ryhmät" -#: templates/settings.php:69 +#: templates/settings.php:95 msgid "Users" msgstr "Käyttäjät" -#: templates/settings.php:77 templates/settings.php:107 +#: templates/settings.php:108 templates/settings.php:109 +#: templates/settings.php:149 templates/settings.php:150 msgid "Delete" msgstr "Poista" -#: templates/settings.php:87 +#: templates/settings.php:124 msgid "Enable User External Storage" msgstr "Ota käyttöön ulkopuoliset tallennuspaikat" -#: templates/settings.php:88 +#: templates/settings.php:125 msgid "Allow users to mount their own external storage" msgstr "Salli käyttäjien liittää omia erillisiä tallennusvälineitä" -#: templates/settings.php:99 +#: templates/settings.php:139 msgid "SSL root certificates" msgstr "SSL-juurivarmenteet" -#: templates/settings.php:113 +#: templates/settings.php:158 msgid "Import Root Certificate" msgstr "Tuo juurivarmenne" diff --git a/l10n/fi_FI/files_pdfviewer.po b/l10n/fi_FI/files_pdfviewer.po deleted file mode 100644 index cdccaec4c78f2fb32bf4aada216fafcd0dfd0056..0000000000000000000000000000000000000000 --- a/l10n/fi_FI/files_pdfviewer.po +++ /dev/null @@ -1,42 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 02:18+0200\n" -"PO-Revision-Date: 2012-08-26 00:19+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Finnish (Finland) (http://www.transifex.com/projects/p/owncloud/language/fi_FI/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: fi_FI\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: js/viewer.js:22 -msgid "Previous" -msgstr "" - -#: js/viewer.js:23 -msgid "Next" -msgstr "" - -#: js/viewer.js:29 -msgid "Page Width" -msgstr "" - -#: js/viewer.js:29 -msgid "Page Fit" -msgstr "" - -#: js/viewer.js:30 -msgid "Print" -msgstr "" - -#: js/viewer.js:32 -msgid "Download" -msgstr "" diff --git a/l10n/fi_FI/files_texteditor.po b/l10n/fi_FI/files_texteditor.po deleted file mode 100644 index 69c3672db6f2d0a3207bc57137a841916767cb7f..0000000000000000000000000000000000000000 --- a/l10n/fi_FI/files_texteditor.po +++ /dev/null @@ -1,44 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 01:17+0200\n" -"PO-Revision-Date: 2012-08-25 23:18+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Finnish (Finland) (http://www.transifex.com/projects/p/owncloud/language/fi_FI/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: fi_FI\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: js/aceeditor/mode-coldfusion-uncompressed.js:1568 -#: js/aceeditor/mode-liquid-uncompressed.js:902 -#: js/aceeditor/mode-svg-uncompressed.js:1575 -msgid "regex" -msgstr "" - -#: js/editor.js:72 js/editor.js:156 js/editor.js:163 -msgid "Save" -msgstr "" - -#: js/editor.js:74 -msgid "Close" -msgstr "" - -#: js/editor.js:149 -msgid "Saving..." -msgstr "" - -#: js/editor.js:239 -msgid "An error occurred!" -msgstr "" - -#: js/editor.js:266 -msgid "There were unsaved changes, click here to go back" -msgstr "" diff --git a/l10n/fi_FI/gallery.po b/l10n/fi_FI/gallery.po deleted file mode 100644 index 275d7d08abee5e35db3637e37647cff28a3b8e4a..0000000000000000000000000000000000000000 --- a/l10n/fi_FI/gallery.po +++ /dev/null @@ -1,60 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Jesse Jaara , 2012. -# Jiri Grönroos , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-07-27 02:02+0200\n" -"PO-Revision-Date: 2012-07-26 10:43+0000\n" -"Last-Translator: Jiri Grönroos \n" -"Language-Team: Finnish (Finland) (http://www.transifex.com/projects/p/owncloud/language/fi_FI/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: fi_FI\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: appinfo/app.php:39 -msgid "Pictures" -msgstr "Kuvat" - -#: js/pictures.js:12 -msgid "Share gallery" -msgstr "Jaa galleria" - -#: js/pictures.js:32 -msgid "Error: " -msgstr "Virhe: " - -#: js/pictures.js:32 -msgid "Internal error" -msgstr "Sisäinen virhe" - -#: templates/index.php:27 -msgid "Slideshow" -msgstr "Diaesitys" - -#: templates/view_album.php:19 -msgid "Back" -msgstr "Takaisin" - -#: templates/view_album.php:36 -msgid "Remove confirmation" -msgstr "Poiston vahvistus" - -#: templates/view_album.php:37 -msgid "Do you want to remove album" -msgstr "Tahdotko poistaa albumin" - -#: templates/view_album.php:40 -msgid "Change album name" -msgstr "Muuta albumin nimeä" - -#: templates/view_album.php:43 -msgid "New album name" -msgstr "Uuden albumin nimi" diff --git a/l10n/fi_FI/impress.po b/l10n/fi_FI/impress.po deleted file mode 100644 index ccf18fac855c5425a21d2fcdfffa1c76cee7bd3a..0000000000000000000000000000000000000000 --- a/l10n/fi_FI/impress.po +++ /dev/null @@ -1,22 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 01:17+0200\n" -"PO-Revision-Date: 2012-08-25 23:18+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Finnish (Finland) (http://www.transifex.com/projects/p/owncloud/language/fi_FI/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: fi_FI\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: templates/presentations.php:7 -msgid "Documentation" -msgstr "" diff --git a/l10n/fi_FI/lib.po b/l10n/fi_FI/lib.po index 961500dae1ee34e049bd8565f99d70a48367566e..0669c281cf6bd7d4d5b5e6856b594e1fe59f71b3 100644 --- a/l10n/fi_FI/lib.po +++ b/l10n/fi_FI/lib.po @@ -8,53 +8,53 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-09-01 13:35+0200\n" -"PO-Revision-Date: 2012-09-01 10:01+0000\n" +"POT-Creation-Date: 2012-11-16 00:02+0100\n" +"PO-Revision-Date: 2012-11-15 20:58+0000\n" "Last-Translator: Jiri Grönroos \n" "Language-Team: Finnish (Finland) (http://www.transifex.com/projects/p/owncloud/language/fi_FI/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: fi_FI\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: app.php:288 +#: app.php:285 msgid "Help" msgstr "Ohje" -#: app.php:295 +#: app.php:292 msgid "Personal" msgstr "Henkilökohtainen" -#: app.php:300 +#: app.php:297 msgid "Settings" msgstr "Asetukset" -#: app.php:305 +#: app.php:302 msgid "Users" msgstr "Käyttäjät" -#: app.php:312 +#: app.php:309 msgid "Apps" msgstr "Sovellukset" -#: app.php:314 +#: app.php:311 msgid "Admin" msgstr "Ylläpitäjä" -#: files.php:280 +#: files.php:332 msgid "ZIP download is turned off." msgstr "ZIP-lataus on poistettu käytöstä." -#: files.php:281 +#: files.php:333 msgid "Files need to be downloaded one by one." msgstr "Tiedostot on ladattava yksittäin." -#: files.php:281 files.php:306 +#: files.php:333 files.php:358 msgid "Back to Files" msgstr "Takaisin tiedostoihin" -#: files.php:305 +#: files.php:357 msgid "Selected files too large to generate zip file." msgstr "Valitut tiedostot ovat liian suurikokoisia mahtuakseen zip-tiedostoon." @@ -62,7 +62,7 @@ msgstr "Valitut tiedostot ovat liian suurikokoisia mahtuakseen zip-tiedostoon." msgid "Application is not enabled" msgstr "Sovellusta ei ole otettu käyttöön" -#: json.php:39 json.php:63 json.php:75 +#: json.php:39 json.php:64 json.php:77 json.php:89 msgid "Authentication error" msgstr "Todennusvirhe" @@ -70,57 +70,84 @@ msgstr "Todennusvirhe" msgid "Token expired. Please reload page." msgstr "Valtuutus vanheni. Lataa sivu uudelleen." -#: template.php:86 +#: search/provider/file.php:17 search/provider/file.php:35 +msgid "Files" +msgstr "Tiedostot" + +#: search/provider/file.php:26 search/provider/file.php:33 +msgid "Text" +msgstr "Teksti" + +#: search/provider/file.php:29 +msgid "Images" +msgstr "Kuvat" + +#: template.php:103 msgid "seconds ago" msgstr "sekuntia sitten" -#: template.php:87 +#: template.php:104 msgid "1 minute ago" msgstr "1 minuutti sitten" -#: template.php:88 +#: template.php:105 #, php-format msgid "%d minutes ago" msgstr "%d minuuttia sitten" -#: template.php:91 +#: template.php:106 +msgid "1 hour ago" +msgstr "1 tunti sitten" + +#: template.php:107 +#, php-format +msgid "%d hours ago" +msgstr "%d tuntia sitten" + +#: template.php:108 msgid "today" msgstr "tänään" -#: template.php:92 +#: template.php:109 msgid "yesterday" msgstr "eilen" -#: template.php:93 +#: template.php:110 #, php-format msgid "%d days ago" msgstr "%d päivää sitten" -#: template.php:94 +#: template.php:111 msgid "last month" msgstr "viime kuussa" -#: template.php:95 -msgid "months ago" -msgstr "kuukautta sitten" +#: template.php:112 +#, php-format +msgid "%d months ago" +msgstr "%d kuukautta sitten" -#: template.php:96 +#: template.php:113 msgid "last year" msgstr "viime vuonna" -#: template.php:97 +#: template.php:114 msgid "years ago" msgstr "vuotta sitten" -#: updater.php:66 +#: updater.php:75 #, php-format msgid "%s is available. Get more information" msgstr "%s on saatavilla. Lue lisätietoja" -#: updater.php:68 +#: updater.php:77 msgid "up to date" msgstr "ajan tasalla" -#: updater.php:71 +#: updater.php:80 msgid "updates check is disabled" msgstr "päivitysten tarkistus on pois käytöstä" + +#: vcategories.php:188 vcategories.php:249 +#, php-format +msgid "Could not find category \"%s\"" +msgstr "Luokkaa \"%s\" ei löytynyt" diff --git a/l10n/fi_FI/media.po b/l10n/fi_FI/media.po deleted file mode 100644 index 86efa19e5d3e915fd1de8e8b7f5514996b873e1b..0000000000000000000000000000000000000000 --- a/l10n/fi_FI/media.po +++ /dev/null @@ -1,67 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Jesse Jaara , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-06-06 00:12+0200\n" -"PO-Revision-Date: 2012-06-05 22:15+0000\n" -"Last-Translator: icewind \n" -"Language-Team: Finnish (Finland) (http://www.transifex.net/projects/p/owncloud/language/fi_FI/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: fi_FI\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: appinfo/app.php:32 templates/player.php:8 -msgid "Music" -msgstr "Musiikki" - -#: js/music.js:18 -msgid "Add album to playlist" -msgstr "" - -#: templates/music.php:3 templates/player.php:12 -msgid "Play" -msgstr "Toista" - -#: templates/music.php:4 templates/music.php:26 templates/player.php:13 -msgid "Pause" -msgstr "Tauko" - -#: templates/music.php:5 -msgid "Previous" -msgstr "Edellinen" - -#: templates/music.php:6 templates/player.php:14 -msgid "Next" -msgstr "Seuraava" - -#: templates/music.php:7 -msgid "Mute" -msgstr "Mykistä" - -#: templates/music.php:8 -msgid "Unmute" -msgstr "Palauta äänet" - -#: templates/music.php:25 -msgid "Rescan Collection" -msgstr "Etsi uusia kappaleita" - -#: templates/music.php:37 -msgid "Artist" -msgstr "Esittäjä" - -#: templates/music.php:38 -msgid "Album" -msgstr "Albumi" - -#: templates/music.php:39 -msgid "Title" -msgstr "Nimi" diff --git a/l10n/fi_FI/settings.po b/l10n/fi_FI/settings.po index 98dc0286ad0a3120cdc6f5fdc89edd166fe70e4e..bfb17285b22b67dc644e29ef7592ec0be1033b52 100644 --- a/l10n/fi_FI/settings.po +++ b/l10n/fi_FI/settings.po @@ -10,9 +10,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-09 02:03+0200\n" -"PO-Revision-Date: 2012-10-09 00:04+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-12-06 00:11+0100\n" +"PO-Revision-Date: 2012-12-05 10:40+0000\n" +"Last-Translator: Jiri Grönroos \n" "Language-Team: Finnish (Finland) (http://www.transifex.com/projects/p/owncloud/language/fi_FI/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -20,70 +20,73 @@ msgstr "" "Language: fi_FI\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: ajax/apps/ocs.php:23 +#: ajax/apps/ocs.php:20 msgid "Unable to load list from App Store" msgstr "Ei pystytä lataamaan listaa sovellusvarastosta (App Store)" -#: ajax/creategroup.php:9 ajax/removeuser.php:13 ajax/setquota.php:18 -#: ajax/togglegroups.php:15 -msgid "Authentication error" -msgstr "Todennusvirhe" - -#: ajax/creategroup.php:19 +#: ajax/creategroup.php:10 msgid "Group already exists" msgstr "Ryhmä on jo olemassa" -#: ajax/creategroup.php:28 +#: ajax/creategroup.php:19 msgid "Unable to add group" msgstr "Ryhmän lisäys epäonnistui" -#: ajax/enableapp.php:14 +#: ajax/enableapp.php:12 msgid "Could not enable app. " msgstr "Sovelluksen käyttöönotto epäonnistui." -#: ajax/lostpassword.php:14 +#: ajax/lostpassword.php:12 msgid "Email saved" msgstr "Sähköposti tallennettu" -#: ajax/lostpassword.php:16 +#: ajax/lostpassword.php:14 msgid "Invalid email" msgstr "Virheellinen sähköposti" -#: ajax/openid.php:16 +#: ajax/openid.php:13 msgid "OpenID Changed" msgstr "OpenID on vaihdettu" -#: ajax/openid.php:18 ajax/setlanguage.php:20 ajax/setlanguage.php:23 +#: ajax/openid.php:15 ajax/setlanguage.php:17 ajax/setlanguage.php:20 msgid "Invalid request" msgstr "Virheellinen pyyntö" -#: ajax/removegroup.php:16 +#: ajax/removegroup.php:13 msgid "Unable to delete group" msgstr "Ryhmän poisto epäonnistui" -#: ajax/removeuser.php:22 +#: ajax/removeuser.php:15 ajax/setquota.php:15 ajax/togglegroups.php:18 +msgid "Authentication error" +msgstr "Todennusvirhe" + +#: ajax/removeuser.php:24 msgid "Unable to delete user" msgstr "Käyttäjän poisto epäonnistui" -#: ajax/setlanguage.php:18 +#: ajax/setlanguage.php:15 msgid "Language changed" msgstr "Kieli on vaihdettu" -#: ajax/togglegroups.php:25 +#: ajax/togglegroups.php:12 +msgid "Admins can't remove themself from the admin group" +msgstr "Ylläpitäjät eivät poistaa omia tunnuksiaan ylläpitäjien ryhmästä" + +#: ajax/togglegroups.php:28 #, php-format msgid "Unable to add user to group %s" msgstr "Käyttäjän tai ryhmän %s lisääminen ei onnistu" -#: ajax/togglegroups.php:31 +#: ajax/togglegroups.php:34 #, php-format msgid "Unable to remove user from group %s" msgstr "Käyttäjän poistaminen ryhmästä %s ei onnistu" -#: js/apps.js:28 js/apps.js:65 +#: js/apps.js:28 js/apps.js:67 msgid "Disable" msgstr "Poista käytöstä" -#: js/apps.js:28 js/apps.js:54 +#: js/apps.js:28 js/apps.js:55 msgid "Enable" msgstr "Käytä" @@ -91,108 +94,21 @@ msgstr "Käytä" msgid "Saving..." msgstr "Tallennetaan..." -#: personal.php:47 personal.php:48 +#: personal.php:42 personal.php:43 msgid "__language_name__" msgstr "_kielen_nimi_" -#: templates/admin.php:14 -msgid "Security Warning" -msgstr "Turvallisuusvaroitus" - -#: templates/admin.php:17 -msgid "" -"Your data directory and your files are probably accessible from the " -"internet. The .htaccess file that ownCloud provides is not working. We " -"strongly suggest that you configure your webserver in a way that the data " -"directory is no longer accessible or you move the data directory outside the" -" webserver document root." -msgstr "Data-kansio ja tiedostot ovat ehkä saavutettavissa Internetistä. .htaccess-tiedosto, jolla kontrolloidaan pääsyä, ei toimi. Suosittelemme, että muutat web-palvelimesi asetukset niin ettei data-kansio ole enää pääsyä tai siirrät data-kansion pois web-palvelimen tiedostojen juuresta." - -#: templates/admin.php:31 -msgid "Cron" -msgstr "Cron" - -#: templates/admin.php:37 -msgid "Execute one task with each page loaded" -msgstr "" - -#: templates/admin.php:43 -msgid "" -"cron.php is registered at a webcron service. Call the cron.php page in the " -"owncloud root once a minute over http." -msgstr "" - -#: templates/admin.php:49 -msgid "" -"Use systems cron service. Call the cron.php file in the owncloud folder via " -"a system cronjob once a minute." -msgstr "" - -#: templates/admin.php:56 -msgid "Sharing" -msgstr "Jakaminen" - -#: templates/admin.php:61 -msgid "Enable Share API" -msgstr "Ota käyttöön jaon ohjelmoitirajapinta (Share API)" - -#: templates/admin.php:62 -msgid "Allow apps to use the Share API" -msgstr "Salli sovellusten käyttää jaon ohjelmointirajapintaa (Share API)" - -#: templates/admin.php:67 -msgid "Allow links" -msgstr "Salli linkit" - -#: templates/admin.php:68 -msgid "Allow users to share items to the public with links" -msgstr "Salli käyttäjien jakaa kohteita julkisesti linkkejä käyttäen" - -#: templates/admin.php:73 -msgid "Allow resharing" -msgstr "Salli uudelleenjako" - -#: templates/admin.php:74 -msgid "Allow users to share items shared with them again" -msgstr "Salli käyttäjien jakaa heille itselleen jaettuja tietoja edelleen" - -#: templates/admin.php:79 -msgid "Allow users to share with anyone" -msgstr "Salli käyttäjien jakaa kohteita kenen tahansa kanssa" - -#: templates/admin.php:81 -msgid "Allow users to only share with users in their groups" -msgstr "Salli käyttäjien jakaa kohteita vain omien ryhmien jäsenten kesken" - -#: templates/admin.php:88 -msgid "Log" -msgstr "Loki" - -#: templates/admin.php:116 -msgid "More" -msgstr "Lisää" - -#: templates/admin.php:124 -msgid "" -"Developed by the ownCloud community, the source code is " -"licensed under the AGPL." -msgstr "Kehityksestä on vastannut ownCloud-yhteisö, lähdekoodi on julkaistu lisenssin AGPL alaisena." - #: templates/apps.php:10 msgid "Add your App" -msgstr "Lisää ohjelmasi" +msgstr "Lisää sovelluksesi" #: templates/apps.php:11 msgid "More Apps" -msgstr "" +msgstr "Lisää sovelluksia" #: templates/apps.php:27 msgid "Select an App" -msgstr "Valitse ohjelma" +msgstr "Valitse sovellus" #: templates/apps.php:31 msgid "See application page at apps.owncloud.com" @@ -214,22 +130,22 @@ msgstr "Suurten tiedostojen hallinta" msgid "Ask a question" msgstr "Kysy jotain" -#: templates/help.php:23 +#: templates/help.php:22 msgid "Problems connecting to help database." msgstr "Virhe yhdistettäessä tietokantaan." -#: templates/help.php:24 +#: templates/help.php:23 msgid "Go there manually." -msgstr "Ohje löytyy sieltä." +msgstr "Siirry sinne itse." -#: templates/help.php:32 +#: templates/help.php:31 msgid "Answer" msgstr "Vastaus" #: templates/personal.php:8 #, php-format -msgid "You have used %s of the available %s" -msgstr "Käytössäsi on %s/%s" +msgid "You have used %s of the available %s" +msgstr "Käytössäsi on %s/%s" #: templates/personal.php:12 msgid "Desktop and Mobile Syncing Clients" @@ -287,6 +203,16 @@ msgstr "Auta kääntämisessä" msgid "use this address to connect to your ownCloud in your file manager" msgstr "voit yhdistää tiedostonhallintasovelluksellasi ownCloudiin käyttämällä tätä osoitetta" +#: templates/personal.php:61 +msgid "" +"Developed by the ownCloud community, the source code is " +"licensed under the AGPL." +msgstr "Kehityksestä on vastannut ownCloud-yhteisö, lähdekoodi on julkaistu lisenssin AGPL alaisena." + #: templates/users.php:21 templates/users.php:76 msgid "Name" msgstr "Nimi" diff --git a/l10n/fi_FI/tasks.po b/l10n/fi_FI/tasks.po deleted file mode 100644 index b8857baee6d5415ed0951a39d82290ccf9483707..0000000000000000000000000000000000000000 --- a/l10n/fi_FI/tasks.po +++ /dev/null @@ -1,107 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Jiri Grönroos , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-24 02:02+0200\n" -"PO-Revision-Date: 2012-08-23 13:23+0000\n" -"Last-Translator: Jiri Grönroos \n" -"Language-Team: Finnish (Finland) (http://www.transifex.com/projects/p/owncloud/language/fi_FI/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: fi_FI\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: ajax/update_property.php:51 lib/app.php:89 lib/app.php:101 -msgid "Invalid date/time" -msgstr "Virheellinen päivä tai aika" - -#: appinfo/app.php:11 -msgid "Tasks" -msgstr "Tehtävät" - -#: js/tasks.js:415 -msgid "No category" -msgstr "Ei luokkaa" - -#: lib/app.php:33 -msgid "Unspecified" -msgstr "Määrittelemätön" - -#: lib/app.php:34 -msgid "1=highest" -msgstr "1=korkein" - -#: lib/app.php:38 -msgid "5=medium" -msgstr "5=keskitaso" - -#: lib/app.php:42 -msgid "9=lowest" -msgstr "9=matalin" - -#: lib/app.php:81 -msgid "Empty Summary" -msgstr "Tyhjä yhteenveto" - -#: lib/app.php:93 -msgid "Invalid percent complete" -msgstr "" - -#: lib/app.php:107 -msgid "Invalid priority" -msgstr "Virheellinen prioriteetti" - -#: templates/tasks.php:3 -msgid "Add Task" -msgstr "Lisää tehtävä" - -#: templates/tasks.php:4 -msgid "Order Due" -msgstr "" - -#: templates/tasks.php:5 -msgid "Order List" -msgstr "" - -#: templates/tasks.php:6 -msgid "Order Complete" -msgstr "" - -#: templates/tasks.php:7 -msgid "Order Location" -msgstr "" - -#: templates/tasks.php:8 -msgid "Order Priority" -msgstr "" - -#: templates/tasks.php:9 -msgid "Order Label" -msgstr "" - -#: templates/tasks.php:16 -msgid "Loading tasks..." -msgstr "Ladataan tehtäviä..." - -#: templates/tasks.php:20 -msgid "Important" -msgstr "Tärkeä" - -#: templates/tasks.php:23 -msgid "More" -msgstr "Enemmän" - -#: templates/tasks.php:26 -msgid "Less" -msgstr "Vähemmän" - -#: templates/tasks.php:29 -msgid "Delete" -msgstr "Poista" diff --git a/l10n/fi_FI/user_migrate.po b/l10n/fi_FI/user_migrate.po deleted file mode 100644 index b0ab6824519f903092fd8228d1b3209b0d9d6fab..0000000000000000000000000000000000000000 --- a/l10n/fi_FI/user_migrate.po +++ /dev/null @@ -1,52 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Jiri Grönroos , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-17 00:44+0200\n" -"PO-Revision-Date: 2012-08-16 11:06+0000\n" -"Last-Translator: Jiri Grönroos \n" -"Language-Team: Finnish (Finland) (http://www.transifex.com/projects/p/owncloud/language/fi_FI/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: fi_FI\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: js/export.js:14 js/export.js:20 -msgid "Export" -msgstr "Vie" - -#: js/export.js:19 -msgid "Something went wrong while the export file was being generated" -msgstr "Jokin meni pieleen vientiä suorittaessa" - -#: js/export.js:19 -msgid "An error has occurred" -msgstr "Tapahtui virhe" - -#: templates/settings.php:2 -msgid "Export your user account" -msgstr "Vie käyttäjätilisi" - -#: templates/settings.php:3 -msgid "" -"This will create a compressed file that contains your ownCloud account." -msgstr "Tämä luo ownCloud-käyttäjätilisi sisältävän pakatun tiedoston." - -#: templates/settings.php:13 -msgid "Import user account" -msgstr "Tuo käyttäjätili" - -#: templates/settings.php:15 -msgid "ownCloud User Zip" -msgstr "" - -#: templates/settings.php:17 -msgid "Import" -msgstr "Tuo" diff --git a/l10n/fi_FI/user_openid.po b/l10n/fi_FI/user_openid.po deleted file mode 100644 index 36900815c79bdeab7a3f02fae8bd6579e52a1f59..0000000000000000000000000000000000000000 --- a/l10n/fi_FI/user_openid.po +++ /dev/null @@ -1,55 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Jiri Grönroos , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-24 02:02+0200\n" -"PO-Revision-Date: 2012-08-23 11:37+0000\n" -"Last-Translator: Jiri Grönroos \n" -"Language-Team: Finnish (Finland) (http://www.transifex.com/projects/p/owncloud/language/fi_FI/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: fi_FI\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: templates/nomode.php:12 -msgid "This is an OpenID server endpoint. For more information, see " -msgstr "" - -#: templates/nomode.php:14 -msgid "Identity: " -msgstr "Identiteetti: " - -#: templates/nomode.php:15 -msgid "Realm: " -msgstr "Alue: " - -#: templates/nomode.php:16 -msgid "User: " -msgstr "Käyttäjä: " - -#: templates/nomode.php:17 -msgid "Login" -msgstr "Kirjaudu" - -#: templates/nomode.php:22 -msgid "Error: No user Selected" -msgstr "Virhe: Käyttäjää ei valittu" - -#: templates/settings.php:4 -msgid "you can authenticate to other sites with this address" -msgstr "" - -#: templates/settings.php:5 -msgid "Authorized OpenID provider" -msgstr "" - -#: templates/settings.php:6 -msgid "Your address at Wordpress, Identi.ca, …" -msgstr "" diff --git a/l10n/fi_FI/files_odfviewer.po b/l10n/fi_FI/user_webdavauth.po similarity index 60% rename from l10n/fi_FI/files_odfviewer.po rename to l10n/fi_FI/user_webdavauth.po index b6ab6054fe6eafec4615e4af46ebba11eae6511f..b3fa002d0f33d98c7fd49f8ce4cadbb2268ec3bd 100644 --- a/l10n/fi_FI/files_odfviewer.po +++ b/l10n/fi_FI/user_webdavauth.po @@ -3,20 +3,21 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# Jiri Grönroos , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 02:18+0200\n" -"PO-Revision-Date: 2012-08-26 00:19+0000\n" -"Last-Translator: FULL NAME \n" +"POT-Creation-Date: 2012-11-10 00:01+0100\n" +"PO-Revision-Date: 2012-11-09 11:43+0000\n" +"Last-Translator: Jiri Grönroos \n" "Language-Team: Finnish (Finland) (http://www.transifex.com/projects/p/owncloud/language/fi_FI/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: fi_FI\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: js/viewer.js:9 -msgid "Close" -msgstr "" +#: templates/settings.php:4 +msgid "WebDAV URL: http://" +msgstr "WebDAV-osoite: http://" diff --git a/l10n/fr/admin_dependencies_chk.po b/l10n/fr/admin_dependencies_chk.po deleted file mode 100644 index 36480849becb51b093e4c560e5c5fec2178e236b..0000000000000000000000000000000000000000 --- a/l10n/fr/admin_dependencies_chk.po +++ /dev/null @@ -1,74 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Romain DEP. , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-15 02:02+0200\n" -"PO-Revision-Date: 2012-08-14 15:59+0000\n" -"Last-Translator: Romain DEP. \n" -"Language-Team: French (http://www.transifex.com/projects/p/owncloud/language/fr/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: fr\n" -"Plural-Forms: nplurals=2; plural=(n > 1)\n" - -#: settings.php:33 -msgid "" -"The php-json module is needed by the many applications for inter " -"communications" -msgstr "Le module php-json est requis pour l'inter-communication de nombreux modules." - -#: settings.php:39 -msgid "" -"The php-curl modude is needed to fetch the page title when adding a " -"bookmarks" -msgstr "Le module php-curl est requis afin de rapatrier le titre des pages lorsque vous ajoutez un marque-pages." - -#: settings.php:45 -msgid "The php-gd module is needed to create thumbnails of your images" -msgstr "Le module php-gd est requis afin de permettre la création d'aperçus pour vos images." - -#: settings.php:51 -msgid "The php-ldap module is needed connect to your ldap server" -msgstr "Le module php-ldap est requis afin de permettre la connexion à votre serveur ldap." - -#: settings.php:57 -msgid "The php-zip module is needed download multiple files at once" -msgstr "Le module php-zip est requis pour le téléchargement simultané de plusieurs fichiers." - -#: settings.php:63 -msgid "" -"The php-mb_multibyte module is needed to manage correctly the encoding." -msgstr "Le module php-mb_multibyte est requis pour une gestion correcte des encodages." - -#: settings.php:69 -msgid "The php-ctype module is needed validate data." -msgstr "Le module php-ctype est requis pour la validation des données." - -#: settings.php:75 -msgid "The php-xml module is needed to share files with webdav." -msgstr "Le module php-xml est requis pour le partage de fichiers via webdav." - -#: settings.php:81 -msgid "" -"The allow_url_fopen directive of your php.ini should be set to 1 to retrieve" -" knowledge base from OCS servers" -msgstr "La directive allow_url_fopen de votre fichier php.ini doit être à la valeur 1 afin de permettre le rapatriement de la base de connaissance depuis les serveurs OCS." - -#: settings.php:87 -msgid "The php-pdo module is needed to store owncloud data into a database." -msgstr "le module php-pdo est requis pour le stockage des données ownCloud en base de données." - -#: templates/settings.php:2 -msgid "Dependencies status" -msgstr "Statut des dépendances" - -#: templates/settings.php:7 -msgid "Used by :" -msgstr "Utilisé par :" diff --git a/l10n/fr/admin_migrate.po b/l10n/fr/admin_migrate.po deleted file mode 100644 index a3f34310cc100595880d6a0850669602f90c9455..0000000000000000000000000000000000000000 --- a/l10n/fr/admin_migrate.po +++ /dev/null @@ -1,33 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Romain DEP. , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-15 02:02+0200\n" -"PO-Revision-Date: 2012-08-14 15:51+0000\n" -"Last-Translator: Romain DEP. \n" -"Language-Team: French (http://www.transifex.com/projects/p/owncloud/language/fr/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: fr\n" -"Plural-Forms: nplurals=2; plural=(n > 1)\n" - -#: templates/settings.php:3 -msgid "Export this ownCloud instance" -msgstr "Exporter cette instance ownCloud" - -#: templates/settings.php:4 -msgid "" -"This will create a compressed file that contains the data of this owncloud instance.\n" -" Please choose the export type:" -msgstr "Ceci va créer une archive compressée contenant les données de cette instance ownCloud.\n Veuillez choisir le type d'export :" - -#: templates/settings.php:12 -msgid "Export" -msgstr "Exporter" diff --git a/l10n/fr/bookmarks.po b/l10n/fr/bookmarks.po deleted file mode 100644 index f3f172409f29d966efe1141629cb8a53015bd480..0000000000000000000000000000000000000000 --- a/l10n/fr/bookmarks.po +++ /dev/null @@ -1,62 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Geoffrey Guerrier , 2012. -# Romain DEP. , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-07-31 22:53+0200\n" -"PO-Revision-Date: 2012-07-31 00:26+0000\n" -"Last-Translator: Romain DEP. \n" -"Language-Team: French (http://www.transifex.com/projects/p/owncloud/language/fr/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: fr\n" -"Plural-Forms: nplurals=2; plural=(n > 1)\n" - -#: appinfo/app.php:14 -msgid "Bookmarks" -msgstr "Favoris" - -#: bookmarksHelper.php:99 -msgid "unnamed" -msgstr "sans titre" - -#: templates/bookmarklet.php:5 -msgid "" -"Drag this to your browser bookmarks and click it, when you want to bookmark " -"a webpage quickly:" -msgstr "Glissez ceci dans les favoris de votre navigateur, et cliquer dessus lorsque vous souhaitez ajouter la page en cours à vos marques-pages :" - -#: templates/bookmarklet.php:7 -msgid "Read later" -msgstr "Lire plus tard" - -#: templates/list.php:13 -msgid "Address" -msgstr "Adresse" - -#: templates/list.php:14 -msgid "Title" -msgstr "Titre" - -#: templates/list.php:15 -msgid "Tags" -msgstr "Étiquettes" - -#: templates/list.php:16 -msgid "Save bookmark" -msgstr "Sauvegarder le favori" - -#: templates/list.php:22 -msgid "You have no bookmarks" -msgstr "Vous n'avez aucun favori" - -#: templates/settings.php:11 -msgid "Bookmarklet
" -msgstr "Gestionnaire de favoris
" diff --git a/l10n/fr/calendar.po b/l10n/fr/calendar.po deleted file mode 100644 index c69485641c7de9f4076498925a397acee1c69521..0000000000000000000000000000000000000000 --- a/l10n/fr/calendar.po +++ /dev/null @@ -1,822 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# , 2011. -# , 2011. -# Jan-Christoph Borchardt , 2011. -# Nahir Mohamed , 2012. -# Nicolas , 2012. -# , 2012. -# , 2011, 2012. -# Romain DEP. , 2012. -# Yann Yann , 2011. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-11 02:02+0200\n" -"PO-Revision-Date: 2012-08-11 00:02+0000\n" -"Last-Translator: owncloud_robot \n" -"Language-Team: French (http://www.transifex.com/projects/p/owncloud/language/fr/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: fr\n" -"Plural-Forms: nplurals=2; plural=(n > 1)\n" - -#: ajax/cache/status.php:19 -msgid "Not all calendars are completely cached" -msgstr "Tous les calendriers ne sont pas mis en cache" - -#: ajax/cache/status.php:21 -msgid "Everything seems to be completely cached" -msgstr "Tout semble être en cache" - -#: ajax/categories/rescan.php:29 -msgid "No calendars found." -msgstr "Aucun calendrier n'a été trouvé." - -#: ajax/categories/rescan.php:37 -msgid "No events found." -msgstr "Aucun événement n'a été trouvé." - -#: ajax/event/edit.form.php:20 -msgid "Wrong calendar" -msgstr "Mauvais calendrier" - -#: ajax/import/dropimport.php:29 ajax/import/import.php:64 -msgid "" -"The file contained either no events or all events are already saved in your " -"calendar." -msgstr "Soit le fichier ne contient aucun événement soit tous les événements sont déjà enregistrés dans votre calendrier." - -#: ajax/import/dropimport.php:31 ajax/import/import.php:67 -msgid "events has been saved in the new calendar" -msgstr "Les événements ont été enregistrés dans le nouveau calendrier" - -#: ajax/import/import.php:56 -msgid "Import failed" -msgstr "Échec de l'import" - -#: ajax/import/import.php:69 -msgid "events has been saved in your calendar" -msgstr "Les événements ont été enregistrés dans votre calendrier" - -#: ajax/settings/guesstimezone.php:25 -msgid "New Timezone:" -msgstr "Nouveau fuseau horaire :" - -#: ajax/settings/settimezone.php:23 -msgid "Timezone changed" -msgstr "Fuseau horaire modifié" - -#: ajax/settings/settimezone.php:25 -msgid "Invalid request" -msgstr "Requête invalide" - -#: appinfo/app.php:35 templates/calendar.php:15 -#: templates/part.eventform.php:33 templates/part.showevent.php:33 -msgid "Calendar" -msgstr "Calendrier" - -#: js/calendar.js:832 -msgid "ddd" -msgstr "ddd" - -#: js/calendar.js:833 -msgid "ddd M/d" -msgstr "ddd d/M" - -#: js/calendar.js:834 -msgid "dddd M/d" -msgstr "dddd d/M" - -#: js/calendar.js:837 -msgid "MMMM yyyy" -msgstr "MMMM yyyy" - -#: js/calendar.js:839 -msgid "MMM d[ yyyy]{ '—'[ MMM] d yyyy}" -msgstr "MMM d[ yyyy]{ '—'[ MMM] d yyyy}" - -#: js/calendar.js:841 -msgid "dddd, MMM d, yyyy" -msgstr "dddd, d MMM, yyyy" - -#: lib/app.php:121 -msgid "Birthday" -msgstr "Anniversaire" - -#: lib/app.php:122 -msgid "Business" -msgstr "Professionnel" - -#: lib/app.php:123 -msgid "Call" -msgstr "Appel" - -#: lib/app.php:124 -msgid "Clients" -msgstr "Clientèle" - -#: lib/app.php:125 -msgid "Deliverer" -msgstr "Livraison" - -#: lib/app.php:126 -msgid "Holidays" -msgstr "Vacances" - -#: lib/app.php:127 -msgid "Ideas" -msgstr "Idées" - -#: lib/app.php:128 -msgid "Journey" -msgstr "Déplacement" - -#: lib/app.php:129 -msgid "Jubilee" -msgstr "Jubilé" - -#: lib/app.php:130 -msgid "Meeting" -msgstr "Meeting" - -#: lib/app.php:131 -msgid "Other" -msgstr "Autre" - -#: lib/app.php:132 -msgid "Personal" -msgstr "Personnel" - -#: lib/app.php:133 -msgid "Projects" -msgstr "Projets" - -#: lib/app.php:134 -msgid "Questions" -msgstr "Questions" - -#: lib/app.php:135 -msgid "Work" -msgstr "Travail" - -#: lib/app.php:351 lib/app.php:361 -msgid "by" -msgstr "par" - -#: lib/app.php:359 lib/app.php:399 -msgid "unnamed" -msgstr "sans-nom" - -#: lib/import.php:184 templates/calendar.php:12 -#: templates/part.choosecalendar.php:22 -msgid "New Calendar" -msgstr "Nouveau Calendrier" - -#: lib/object.php:372 -msgid "Does not repeat" -msgstr "Pas de répétition" - -#: lib/object.php:373 -msgid "Daily" -msgstr "Tous les jours" - -#: lib/object.php:374 -msgid "Weekly" -msgstr "Hebdomadaire" - -#: lib/object.php:375 -msgid "Every Weekday" -msgstr "Quotidien" - -#: lib/object.php:376 -msgid "Bi-Weekly" -msgstr "Bi-hebdomadaire" - -#: lib/object.php:377 -msgid "Monthly" -msgstr "Mensuel" - -#: lib/object.php:378 -msgid "Yearly" -msgstr "Annuel" - -#: lib/object.php:388 -msgid "never" -msgstr "jamais" - -#: lib/object.php:389 -msgid "by occurrences" -msgstr "par occurrences" - -#: lib/object.php:390 -msgid "by date" -msgstr "par date" - -#: lib/object.php:400 -msgid "by monthday" -msgstr "par jour du mois" - -#: lib/object.php:401 -msgid "by weekday" -msgstr "par jour de la semaine" - -#: lib/object.php:411 templates/calendar.php:5 templates/settings.php:69 -msgid "Monday" -msgstr "Lundi" - -#: lib/object.php:412 templates/calendar.php:5 -msgid "Tuesday" -msgstr "Mardi" - -#: lib/object.php:413 templates/calendar.php:5 -msgid "Wednesday" -msgstr "Mercredi" - -#: lib/object.php:414 templates/calendar.php:5 -msgid "Thursday" -msgstr "Jeudi" - -#: lib/object.php:415 templates/calendar.php:5 -msgid "Friday" -msgstr "Vendredi" - -#: lib/object.php:416 templates/calendar.php:5 -msgid "Saturday" -msgstr "Samedi" - -#: lib/object.php:417 templates/calendar.php:5 templates/settings.php:70 -msgid "Sunday" -msgstr "Dimanche" - -#: lib/object.php:427 -msgid "events week of month" -msgstr "événements du mois par semaine" - -#: lib/object.php:428 -msgid "first" -msgstr "premier" - -#: lib/object.php:429 -msgid "second" -msgstr "deuxième" - -#: lib/object.php:430 -msgid "third" -msgstr "troisième" - -#: lib/object.php:431 -msgid "fourth" -msgstr "quatrième" - -#: lib/object.php:432 -msgid "fifth" -msgstr "cinquième" - -#: lib/object.php:433 -msgid "last" -msgstr "dernier" - -#: lib/object.php:467 templates/calendar.php:7 -msgid "January" -msgstr "Janvier" - -#: lib/object.php:468 templates/calendar.php:7 -msgid "February" -msgstr "Février" - -#: lib/object.php:469 templates/calendar.php:7 -msgid "March" -msgstr "Mars" - -#: lib/object.php:470 templates/calendar.php:7 -msgid "April" -msgstr "Avril" - -#: lib/object.php:471 templates/calendar.php:7 -msgid "May" -msgstr "Mai" - -#: lib/object.php:472 templates/calendar.php:7 -msgid "June" -msgstr "Juin" - -#: lib/object.php:473 templates/calendar.php:7 -msgid "July" -msgstr "Juillet" - -#: lib/object.php:474 templates/calendar.php:7 -msgid "August" -msgstr "Août" - -#: lib/object.php:475 templates/calendar.php:7 -msgid "September" -msgstr "Septembre" - -#: lib/object.php:476 templates/calendar.php:7 -msgid "October" -msgstr "Octobre" - -#: lib/object.php:477 templates/calendar.php:7 -msgid "November" -msgstr "Novembre" - -#: lib/object.php:478 templates/calendar.php:7 -msgid "December" -msgstr "Décembre" - -#: lib/object.php:488 -msgid "by events date" -msgstr "par date d’événements" - -#: lib/object.php:489 -msgid "by yearday(s)" -msgstr "par jour(s) de l'année" - -#: lib/object.php:490 -msgid "by weeknumber(s)" -msgstr "par numéro de semaine(s)" - -#: lib/object.php:491 -msgid "by day and month" -msgstr "par jour et mois" - -#: lib/search.php:35 lib/search.php:37 lib/search.php:40 -msgid "Date" -msgstr "Date" - -#: lib/search.php:43 -msgid "Cal." -msgstr "Cal." - -#: templates/calendar.php:6 -msgid "Sun." -msgstr "Dim." - -#: templates/calendar.php:6 -msgid "Mon." -msgstr "Lun." - -#: templates/calendar.php:6 -msgid "Tue." -msgstr "Mar." - -#: templates/calendar.php:6 -msgid "Wed." -msgstr "Mer." - -#: templates/calendar.php:6 -msgid "Thu." -msgstr "Jeu" - -#: templates/calendar.php:6 -msgid "Fri." -msgstr "Ven." - -#: templates/calendar.php:6 -msgid "Sat." -msgstr "Sam." - -#: templates/calendar.php:8 -msgid "Jan." -msgstr "Jan." - -#: templates/calendar.php:8 -msgid "Feb." -msgstr "Fév." - -#: templates/calendar.php:8 -msgid "Mar." -msgstr "Mars" - -#: templates/calendar.php:8 -msgid "Apr." -msgstr "Avr." - -#: templates/calendar.php:8 -msgid "May." -msgstr "Mai" - -#: templates/calendar.php:8 -msgid "Jun." -msgstr "Juin" - -#: templates/calendar.php:8 -msgid "Jul." -msgstr "Juil." - -#: templates/calendar.php:8 -msgid "Aug." -msgstr "Août" - -#: templates/calendar.php:8 -msgid "Sep." -msgstr "Sep." - -#: templates/calendar.php:8 -msgid "Oct." -msgstr "Oct." - -#: templates/calendar.php:8 -msgid "Nov." -msgstr "Nov." - -#: templates/calendar.php:8 -msgid "Dec." -msgstr "Déc." - -#: templates/calendar.php:11 -msgid "All day" -msgstr "Journée entière" - -#: templates/calendar.php:13 -msgid "Missing fields" -msgstr "Champs manquants" - -#: templates/calendar.php:14 templates/part.eventform.php:19 -#: templates/part.showevent.php:11 -msgid "Title" -msgstr "Titre" - -#: templates/calendar.php:16 -msgid "From Date" -msgstr "De la date" - -#: templates/calendar.php:17 -msgid "From Time" -msgstr "De l'heure" - -#: templates/calendar.php:18 -msgid "To Date" -msgstr "A la date" - -#: templates/calendar.php:19 -msgid "To Time" -msgstr "A l'heure" - -#: templates/calendar.php:20 -msgid "The event ends before it starts" -msgstr "L'évènement s'est terminé avant qu'il ne commence" - -#: templates/calendar.php:21 -msgid "There was a database fail" -msgstr "Il y a eu un échec dans la base de donnée" - -#: templates/calendar.php:39 -msgid "Week" -msgstr "Semaine" - -#: templates/calendar.php:40 -msgid "Month" -msgstr "Mois" - -#: templates/calendar.php:41 -msgid "List" -msgstr "Liste" - -#: templates/calendar.php:45 -msgid "Today" -msgstr "Aujourd'hui" - -#: templates/calendar.php:46 templates/calendar.php:47 -msgid "Settings" -msgstr "" - -#: templates/part.choosecalendar.php:2 -msgid "Your calendars" -msgstr "Vos calendriers" - -#: templates/part.choosecalendar.php:27 -#: templates/part.choosecalendar.rowfields.php:11 -msgid "CalDav Link" -msgstr "Lien CalDav" - -#: templates/part.choosecalendar.php:31 -msgid "Shared calendars" -msgstr "Calendriers partagés" - -#: templates/part.choosecalendar.php:48 -msgid "No shared calendars" -msgstr "Aucun calendrier partagé" - -#: templates/part.choosecalendar.rowfields.php:8 -msgid "Share Calendar" -msgstr "Partager le calendrier" - -#: templates/part.choosecalendar.rowfields.php:14 -msgid "Download" -msgstr "Télécharger" - -#: templates/part.choosecalendar.rowfields.php:17 -msgid "Edit" -msgstr "Éditer" - -#: templates/part.choosecalendar.rowfields.php:20 -#: templates/part.editevent.php:9 -msgid "Delete" -msgstr "Supprimer" - -#: templates/part.choosecalendar.rowfields.shared.php:4 -msgid "shared with you by" -msgstr "partagé avec vous par" - -#: templates/part.editcalendar.php:9 -msgid "New calendar" -msgstr "Nouveau calendrier" - -#: templates/part.editcalendar.php:9 -msgid "Edit calendar" -msgstr "Éditer le calendrier" - -#: templates/part.editcalendar.php:12 -msgid "Displayname" -msgstr "Nom d'affichage" - -#: templates/part.editcalendar.php:23 -msgid "Active" -msgstr "Actif" - -#: templates/part.editcalendar.php:29 -msgid "Calendar color" -msgstr "Couleur du calendrier" - -#: templates/part.editcalendar.php:42 -msgid "Save" -msgstr "Sauvegarder" - -#: templates/part.editcalendar.php:42 templates/part.editevent.php:8 -#: templates/part.newevent.php:6 -msgid "Submit" -msgstr "Soumettre" - -#: templates/part.editcalendar.php:43 -msgid "Cancel" -msgstr "Annuler" - -#: templates/part.editevent.php:1 -msgid "Edit an event" -msgstr "Éditer un événement" - -#: templates/part.editevent.php:10 -msgid "Export" -msgstr "Exporter" - -#: templates/part.eventform.php:8 templates/part.showevent.php:3 -msgid "Eventinfo" -msgstr "Événement" - -#: templates/part.eventform.php:9 templates/part.showevent.php:4 -msgid "Repeating" -msgstr "Occurences" - -#: templates/part.eventform.php:10 templates/part.showevent.php:5 -msgid "Alarm" -msgstr "Alarmes" - -#: templates/part.eventform.php:11 templates/part.showevent.php:6 -msgid "Attendees" -msgstr "Participants" - -#: templates/part.eventform.php:13 -msgid "Share" -msgstr "Partage" - -#: templates/part.eventform.php:21 -msgid "Title of the Event" -msgstr "Titre de l'événement" - -#: templates/part.eventform.php:27 templates/part.showevent.php:19 -msgid "Category" -msgstr "Catégorie" - -#: templates/part.eventform.php:29 -msgid "Separate categories with commas" -msgstr "Séparer les catégories par des virgules" - -#: templates/part.eventform.php:30 -msgid "Edit categories" -msgstr "Modifier les catégories" - -#: templates/part.eventform.php:56 templates/part.showevent.php:52 -msgid "All Day Event" -msgstr "Journée entière" - -#: templates/part.eventform.php:60 templates/part.showevent.php:56 -msgid "From" -msgstr "De" - -#: templates/part.eventform.php:68 templates/part.showevent.php:64 -msgid "To" -msgstr "À" - -#: templates/part.eventform.php:76 templates/part.showevent.php:72 -msgid "Advanced options" -msgstr "Options avancées" - -#: templates/part.eventform.php:81 templates/part.showevent.php:77 -msgid "Location" -msgstr "Emplacement" - -#: templates/part.eventform.php:83 -msgid "Location of the Event" -msgstr "Emplacement de l'événement" - -#: templates/part.eventform.php:89 templates/part.showevent.php:85 -msgid "Description" -msgstr "Description" - -#: templates/part.eventform.php:91 -msgid "Description of the Event" -msgstr "Description de l'événement" - -#: templates/part.eventform.php:100 templates/part.showevent.php:95 -msgid "Repeat" -msgstr "Répétition" - -#: templates/part.eventform.php:107 templates/part.showevent.php:102 -msgid "Advanced" -msgstr "Avancé" - -#: templates/part.eventform.php:151 templates/part.showevent.php:146 -msgid "Select weekdays" -msgstr "Sélection des jours de la semaine" - -#: templates/part.eventform.php:164 templates/part.eventform.php:177 -#: templates/part.showevent.php:159 templates/part.showevent.php:172 -msgid "Select days" -msgstr "Sélection des jours" - -#: templates/part.eventform.php:169 templates/part.showevent.php:164 -msgid "and the events day of year." -msgstr "et les événements de l'année par jour." - -#: templates/part.eventform.php:182 templates/part.showevent.php:177 -msgid "and the events day of month." -msgstr "et les événements du mois par jour." - -#: templates/part.eventform.php:190 templates/part.showevent.php:185 -msgid "Select months" -msgstr "Sélection des mois" - -#: templates/part.eventform.php:203 templates/part.showevent.php:198 -msgid "Select weeks" -msgstr "Sélection des semaines" - -#: templates/part.eventform.php:208 templates/part.showevent.php:203 -msgid "and the events week of year." -msgstr "et les événements de l'année par semaine." - -#: templates/part.eventform.php:214 templates/part.showevent.php:209 -msgid "Interval" -msgstr "Intervalle" - -#: templates/part.eventform.php:220 templates/part.showevent.php:215 -msgid "End" -msgstr "Fin" - -#: templates/part.eventform.php:233 templates/part.showevent.php:228 -msgid "occurrences" -msgstr "occurrences" - -#: templates/part.import.php:14 -msgid "create a new calendar" -msgstr "Créer un nouveau calendrier" - -#: templates/part.import.php:17 -msgid "Import a calendar file" -msgstr "Importer un fichier de calendriers" - -#: templates/part.import.php:24 -msgid "Please choose a calendar" -msgstr "Veuillez sélectionner un calendrier" - -#: templates/part.import.php:36 -msgid "Name of new calendar" -msgstr "Nom pour le nouveau calendrier" - -#: templates/part.import.php:44 -msgid "Take an available name!" -msgstr "Choisissez un nom disponible !" - -#: templates/part.import.php:45 -msgid "" -"A Calendar with this name already exists. If you continue anyhow, these " -"calendars will be merged." -msgstr "Un calendrier de ce nom existe déjà. Si vous choisissez de continuer les calendriers seront fusionnés." - -#: templates/part.import.php:47 -msgid "Import" -msgstr "Importer" - -#: templates/part.import.php:56 -msgid "Close Dialog" -msgstr "Fermer la fenêtre" - -#: templates/part.newevent.php:1 -msgid "Create a new event" -msgstr "Créer un nouvel événement" - -#: templates/part.showevent.php:1 -msgid "View an event" -msgstr "Voir un événement" - -#: templates/part.showevent.php:23 -msgid "No categories selected" -msgstr "Aucune catégorie sélectionnée" - -#: templates/part.showevent.php:37 -msgid "of" -msgstr "de" - -#: templates/part.showevent.php:59 templates/part.showevent.php:67 -msgid "at" -msgstr "à" - -#: templates/settings.php:10 -msgid "General" -msgstr "" - -#: templates/settings.php:15 -msgid "Timezone" -msgstr "Fuseau horaire" - -#: templates/settings.php:47 -msgid "Update timezone automatically" -msgstr "" - -#: templates/settings.php:52 -msgid "Time format" -msgstr "" - -#: templates/settings.php:57 -msgid "24h" -msgstr "24h" - -#: templates/settings.php:58 -msgid "12h" -msgstr "12h" - -#: templates/settings.php:64 -msgid "Start week on" -msgstr "" - -#: templates/settings.php:76 -msgid "Cache" -msgstr "Cache" - -#: templates/settings.php:80 -msgid "Clear cache for repeating events" -msgstr "Nettoyer le cache des événements répétitifs" - -#: templates/settings.php:85 -msgid "URLs" -msgstr "" - -#: templates/settings.php:87 -msgid "Calendar CalDAV syncing addresses" -msgstr "Adresses de synchronisation des calendriers CalDAV" - -#: templates/settings.php:87 -msgid "more info" -msgstr "plus d'infos" - -#: templates/settings.php:89 -msgid "Primary address (Kontact et al)" -msgstr "Adresses principales (Kontact et assimilés)" - -#: templates/settings.php:91 -msgid "iOS/OS X" -msgstr "iOS/OS X" - -#: templates/settings.php:93 -msgid "Read only iCalendar link(s)" -msgstr "lien(s) iCalendar en lecture seule" - -#: templates/share.dropdown.php:20 -msgid "Users" -msgstr "Utilisateurs" - -#: templates/share.dropdown.php:21 -msgid "select users" -msgstr "sélectionner les utilisateurs" - -#: templates/share.dropdown.php:36 templates/share.dropdown.php:62 -msgid "Editable" -msgstr "Modifiable" - -#: templates/share.dropdown.php:48 -msgid "Groups" -msgstr "Groupes" - -#: templates/share.dropdown.php:49 -msgid "select groups" -msgstr "sélectionner les groupes" - -#: templates/share.dropdown.php:75 -msgid "make public" -msgstr "rendre public" diff --git a/l10n/fr/contacts.po b/l10n/fr/contacts.po deleted file mode 100644 index 3415f7b733aa9c090049fa64e6d66ae71a4c89d7..0000000000000000000000000000000000000000 --- a/l10n/fr/contacts.po +++ /dev/null @@ -1,964 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Borjan Tchakaloff , 2012. -# Cyril Glapa , 2012. -# , 2011. -# , 2011, 2012. -# , 2012. -# Jan-Christoph Borchardt , 2011. -# , 2012. -# Nahir Mohamed , 2012. -# Nicolas , 2012. -# Robert Di Rosa <>, 2012. -# , 2011, 2012. -# Romain DEP. , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-25 02:04+0200\n" -"PO-Revision-Date: 2012-08-24 13:55+0000\n" -"Last-Translator: MathieuP \n" -"Language-Team: French (http://www.transifex.com/projects/p/owncloud/language/fr/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: fr\n" -"Plural-Forms: nplurals=2; plural=(n > 1)\n" - -#: ajax/addressbook/activate.php:24 ajax/addressbook/update.php:32 -msgid "Error (de)activating addressbook." -msgstr "Des erreurs se sont produites lors de l'activation/désactivation du carnet d'adresses." - -#: ajax/addressbook/delete.php:31 ajax/addressbook/update.php:20 -#: ajax/contact/addproperty.php:42 ajax/contact/delete.php:32 -#: ajax/contact/saveproperty.php:39 -msgid "id is not set." -msgstr "L'ID n'est pas défini." - -#: ajax/addressbook/update.php:24 -msgid "Cannot update addressbook with an empty name." -msgstr "Impossible de mettre à jour le carnet d'adresses avec un nom vide." - -#: ajax/addressbook/update.php:28 -msgid "Error updating addressbook." -msgstr "Erreur lors de la mise à jour du carnet d'adresses." - -#: ajax/categories/categoriesfor.php:17 -msgid "No ID provided" -msgstr "Aucun ID fourni" - -#: ajax/categories/categoriesfor.php:34 -msgid "Error setting checksum." -msgstr "Erreur lors du paramétrage du hachage." - -#: ajax/categories/delete.php:19 -msgid "No categories selected for deletion." -msgstr "Pas de catégories sélectionnées pour la suppression." - -#: ajax/categories/delete.php:26 -msgid "No address books found." -msgstr "Pas de carnet d'adresses trouvé." - -#: ajax/categories/delete.php:34 -msgid "No contacts found." -msgstr "Aucun contact trouvé." - -#: ajax/contact/add.php:47 -msgid "There was an error adding the contact." -msgstr "Une erreur s'est produite lors de l'ajout du contact." - -#: ajax/contact/addproperty.php:39 ajax/contact/saveproperty.php:36 -msgid "element name is not set." -msgstr "Le champ Nom n'est pas défini." - -#: ajax/contact/addproperty.php:46 -msgid "Could not parse contact: " -msgstr "Impossible de lire le contact :" - -#: ajax/contact/addproperty.php:56 -msgid "Cannot add empty property." -msgstr "Impossible d'ajouter un champ vide." - -#: ajax/contact/addproperty.php:67 -msgid "At least one of the address fields has to be filled out." -msgstr "Au moins un des champs d'adresses doit être complété." - -#: ajax/contact/addproperty.php:76 -msgid "Trying to add duplicate property: " -msgstr "Ajout d'une propriété en double:" - -#: ajax/contact/addproperty.php:115 ajax/contact/saveproperty.php:93 -msgid "Missing IM parameter." -msgstr "Paramètre de Messagerie Instantanée manquants." - -#: ajax/contact/addproperty.php:119 ajax/contact/saveproperty.php:97 -msgid "Unknown IM: " -msgstr "Messagerie Instantanée inconnue" - -#: ajax/contact/deleteproperty.php:37 -msgid "Information about vCard is incorrect. Please reload the page." -msgstr "Les informations relatives à cette vCard sont incorrectes. Veuillez recharger la page." - -#: ajax/contact/details.php:31 -msgid "Missing ID" -msgstr "ID manquant" - -#: ajax/contact/details.php:36 -msgid "Error parsing VCard for ID: \"" -msgstr "Erreur lors de l'analyse du VCard pour l'ID: \"" - -#: ajax/contact/saveproperty.php:42 -msgid "checksum is not set." -msgstr "L'hachage n'est pas défini." - -#: ajax/contact/saveproperty.php:62 -msgid "Information about vCard is incorrect. Please reload the page: " -msgstr "L'informatiion à propos de la vCard est incorrect. Merci de rafraichir la page:" - -#: ajax/contact/saveproperty.php:69 -msgid "Something went FUBAR. " -msgstr "Quelque chose est FUBAR." - -#: ajax/currentphoto.php:30 ajax/oc_photo.php:28 ajax/uploadphoto.php:36 -#: ajax/uploadphoto.php:68 -msgid "No contact ID was submitted." -msgstr "Aucun ID de contact envoyé" - -#: ajax/currentphoto.php:36 -msgid "Error reading contact photo." -msgstr "Erreur de lecture de la photo du contact." - -#: ajax/currentphoto.php:48 -msgid "Error saving temporary file." -msgstr "Erreur de sauvegarde du fichier temporaire." - -#: ajax/currentphoto.php:51 -msgid "The loading photo is not valid." -msgstr "La photo chargée est invalide." - -#: ajax/editname.php:31 -msgid "Contact ID is missing." -msgstr "L'ID du contact est manquant." - -#: ajax/oc_photo.php:32 -msgid "No photo path was submitted." -msgstr "Le chemin de la photo n'a pas été envoyé." - -#: ajax/oc_photo.php:39 -msgid "File doesn't exist:" -msgstr "Fichier inexistant:" - -#: ajax/oc_photo.php:44 ajax/oc_photo.php:47 -msgid "Error loading image." -msgstr "Erreur lors du chargement de l'image." - -#: ajax/savecrop.php:69 -msgid "Error getting contact object." -msgstr "Erreur lors de l'obtention de l'objet contact" - -#: ajax/savecrop.php:79 -msgid "Error getting PHOTO property." -msgstr "Erreur lors de l'obtention des propriétés de la photo" - -#: ajax/savecrop.php:98 -msgid "Error saving contact." -msgstr "Erreur de sauvegarde du contact" - -#: ajax/savecrop.php:109 -msgid "Error resizing image" -msgstr "Erreur de redimensionnement de l'image" - -#: ajax/savecrop.php:112 -msgid "Error cropping image" -msgstr "Erreur lors du rognage de l'image" - -#: ajax/savecrop.php:115 -msgid "Error creating temporary image" -msgstr "Erreur de création de l'image temporaire" - -#: ajax/savecrop.php:118 -msgid "Error finding image: " -msgstr "Erreur pour trouver l'image :" - -#: ajax/uploadimport.php:44 ajax/uploadimport.php:76 -msgid "Error uploading contacts to storage." -msgstr "Erreur lors de l'envoi des contacts vers le stockage." - -#: ajax/uploadimport.php:61 ajax/uploadphoto.php:77 -msgid "There is no error, the file uploaded with success" -msgstr "Il n'y a pas d'erreur, le fichier a été envoyé avec succes." - -#: ajax/uploadimport.php:62 ajax/uploadphoto.php:78 -msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" -msgstr "Le fichier envoyé dépasse la directive upload_max_filesize dans php.ini" - -#: ajax/uploadimport.php:63 ajax/uploadphoto.php:79 -msgid "" -"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " -"the HTML form" -msgstr "Le fichier envoyé dépasse la directive MAX_FILE_SIZE qui est spécifiée dans le formulaire HTML." - -#: ajax/uploadimport.php:64 ajax/uploadphoto.php:80 -msgid "The uploaded file was only partially uploaded" -msgstr "Le fichier envoyé n'a été que partiellement envoyé." - -#: ajax/uploadimport.php:65 ajax/uploadphoto.php:81 -msgid "No file was uploaded" -msgstr "Pas de fichier envoyé." - -#: ajax/uploadimport.php:66 ajax/uploadphoto.php:82 -msgid "Missing a temporary folder" -msgstr "Absence de dossier temporaire." - -#: ajax/uploadphoto.php:59 ajax/uploadphoto.php:109 -msgid "Couldn't save temporary image: " -msgstr "Impossible de sauvegarder l'image temporaire :" - -#: ajax/uploadphoto.php:62 ajax/uploadphoto.php:112 -msgid "Couldn't load temporary image: " -msgstr "Impossible de charger l'image temporaire :" - -#: ajax/uploadphoto.php:71 -msgid "No file was uploaded. Unknown error" -msgstr "Aucun fichier n'a été chargé. Erreur inconnue" - -#: appinfo/app.php:25 -msgid "Contacts" -msgstr "Contacts" - -#: js/contacts.js:71 -msgid "Sorry, this functionality has not been implemented yet" -msgstr "Désolé cette fonctionnalité n'a pas encore été implémentée" - -#: js/contacts.js:71 -msgid "Not implemented" -msgstr "Pas encore implémenté" - -#: js/contacts.js:76 -msgid "Couldn't get a valid address." -msgstr "Impossible de trouver une adresse valide." - -#: js/contacts.js:76 js/contacts.js:365 js/contacts.js:381 js/contacts.js:393 -#: js/contacts.js:723 js/contacts.js:763 js/contacts.js:789 js/contacts.js:921 -#: js/contacts.js:927 js/contacts.js:939 js/contacts.js:976 -#: js/contacts.js:1250 js/contacts.js:1258 js/contacts.js:1267 -#: js/contacts.js:1302 js/contacts.js:1338 js/contacts.js:1353 -#: js/contacts.js:1379 js/contacts.js:1609 js/contacts.js:1644 -#: js/contacts.js:1664 js/settings.js:26 js/settings.js:43 js/settings.js:68 -msgid "Error" -msgstr "Erreur" - -#: js/contacts.js:424 -msgid "You do not have permission to add contacts to " -msgstr "Vous n'avez pas l'autorisation d'ajouter des contacts à" - -#: js/contacts.js:425 -msgid "Please select one of your own address books." -msgstr "Veuillez sélectionner l'un de vos carnets d'adresses." - -#: js/contacts.js:425 -msgid "Permission error" -msgstr "Erreur de permission" - -#: js/contacts.js:763 -msgid "This property has to be non-empty." -msgstr "Cette valeur ne doit pas être vide" - -#: js/contacts.js:789 -msgid "Couldn't serialize elements." -msgstr "Impossible de sérialiser les éléments." - -#: js/contacts.js:921 js/contacts.js:939 -msgid "" -"'deleteProperty' called without type argument. Please report at " -"bugs.owncloud.org" -msgstr "'deleteProperty' a été appelé sans type d'arguments. Merci de rapporter un bug à bugs.owncloud.org" - -#: js/contacts.js:958 -msgid "Edit name" -msgstr "Éditer le nom" - -#: js/contacts.js:1250 -msgid "No files selected for upload." -msgstr "Aucun fichiers choisis pour être chargés" - -#: js/contacts.js:1258 -msgid "" -"The file you are trying to upload exceed the maximum size for file uploads " -"on this server." -msgstr "Le fichier que vous tentez de charger dépasse la taille maximum de fichier autorisée sur ce serveur." - -#: js/contacts.js:1322 -msgid "Error loading profile picture." -msgstr "Erreur pendant le chargement de la photo de profil." - -#: js/contacts.js:1457 js/contacts.js:1498 js/contacts.js:1517 -#: js/contacts.js:1560 -msgid "Select type" -msgstr "Sélectionner un type" - -#: js/contacts.js:1578 -msgid "" -"Some contacts are marked for deletion, but not deleted yet. Please wait for " -"them to be deleted." -msgstr "Certains contacts sont marqués pour être supprimés, mais ne le sont pas encore. Veuillez attendre que l'opération se termine." - -#: js/contacts.js:1649 -msgid "Do you want to merge these address books?" -msgstr "Voulez-vous fusionner ces carnets d'adresses ?" - -#: js/loader.js:49 -msgid "Result: " -msgstr "Résultat :" - -#: js/loader.js:49 -msgid " imported, " -msgstr "importé," - -#: js/loader.js:49 -msgid " failed." -msgstr "échoué." - -#: js/settings.js:68 -msgid "Displayname cannot be empty." -msgstr "Le nom d'affichage ne peut pas être vide." - -#: lib/app.php:36 -msgid "Addressbook not found: " -msgstr "Carnet d'adresse introuvable : " - -#: lib/app.php:52 -msgid "This is not your addressbook." -msgstr "Ce n'est pas votre carnet d'adresses." - -#: lib/app.php:71 -msgid "Contact could not be found." -msgstr "Ce contact n'a pu être trouvé." - -#: lib/app.php:116 -msgid "Jabber" -msgstr "Jabber" - -#: lib/app.php:121 -msgid "AIM" -msgstr "Messagerie Instantanée" - -#: lib/app.php:126 -msgid "MSN" -msgstr "MSN" - -#: lib/app.php:131 -msgid "Twitter" -msgstr "Twitter" - -#: lib/app.php:136 -msgid "GoogleTalk" -msgstr "GoogleTalk" - -#: lib/app.php:141 -msgid "Facebook" -msgstr "Facebook" - -#: lib/app.php:146 -msgid "XMPP" -msgstr "XMPP" - -#: lib/app.php:151 -msgid "ICQ" -msgstr "ICQ" - -#: lib/app.php:156 -msgid "Yahoo" -msgstr "Yahoo" - -#: lib/app.php:161 -msgid "Skype" -msgstr "Skype" - -#: lib/app.php:166 -msgid "QQ" -msgstr "QQ" - -#: lib/app.php:171 -msgid "GaduGadu" -msgstr "GaduGadu" - -#: lib/app.php:194 lib/app.php:202 lib/app.php:213 lib/app.php:266 -msgid "Work" -msgstr "Travail" - -#: lib/app.php:195 lib/app.php:200 lib/app.php:214 -msgid "Home" -msgstr "Domicile" - -#: lib/app.php:196 lib/app.php:209 lib/app.php:262 lib/vcard.php:593 -msgid "Other" -msgstr "Autre" - -#: lib/app.php:201 -msgid "Mobile" -msgstr "Mobile" - -#: lib/app.php:203 -msgid "Text" -msgstr "Texte" - -#: lib/app.php:204 -msgid "Voice" -msgstr "Voix" - -#: lib/app.php:205 -msgid "Message" -msgstr "Message" - -#: lib/app.php:206 -msgid "Fax" -msgstr "Fax" - -#: lib/app.php:207 -msgid "Video" -msgstr "Vidéo" - -#: lib/app.php:208 -msgid "Pager" -msgstr "Bipeur" - -#: lib/app.php:215 -msgid "Internet" -msgstr "Internet" - -#: lib/app.php:252 templates/part.contact.php:45 -#: templates/part.contact.php:128 -msgid "Birthday" -msgstr "Anniversaire" - -#: lib/app.php:253 -msgid "Business" -msgstr "Business" - -#: lib/app.php:254 -msgid "Call" -msgstr "Appel" - -#: lib/app.php:255 -msgid "Clients" -msgstr "Clients" - -#: lib/app.php:256 -msgid "Deliverer" -msgstr "Livreur" - -#: lib/app.php:257 -msgid "Holidays" -msgstr "Vacances" - -#: lib/app.php:258 -msgid "Ideas" -msgstr "Idées" - -#: lib/app.php:259 -msgid "Journey" -msgstr "Trajet" - -#: lib/app.php:260 -msgid "Jubilee" -msgstr "Jubilé" - -#: lib/app.php:261 -msgid "Meeting" -msgstr "Rendez-vous" - -#: lib/app.php:263 -msgid "Personal" -msgstr "Personnel" - -#: lib/app.php:264 -msgid "Projects" -msgstr "Projets" - -#: lib/app.php:265 -msgid "Questions" -msgstr "Questions" - -#: lib/hooks.php:102 -msgid "{name}'s Birthday" -msgstr "Anniversaire de {name}" - -#: lib/search.php:15 -msgid "Contact" -msgstr "Contact" - -#: lib/vcard.php:408 -msgid "You do not have the permissions to edit this contact." -msgstr "Vous n'avez pas l'autorisation de modifier ce contact." - -#: lib/vcard.php:483 -msgid "You do not have the permissions to delete this contact." -msgstr "Vous n'avez pas l'autorisation de supprimer ce contact." - -#: templates/index.php:14 -msgid "Add Contact" -msgstr "Ajouter un Contact" - -#: templates/index.php:15 templates/index.php:16 templates/part.import.php:17 -msgid "Import" -msgstr "Importer" - -#: templates/index.php:18 -msgid "Settings" -msgstr "Paramètres" - -#: templates/index.php:18 templates/settings.php:9 -msgid "Addressbooks" -msgstr "Carnets d'adresses" - -#: templates/index.php:36 templates/part.import.php:24 -msgid "Close" -msgstr "Fermer" - -#: templates/index.php:37 -msgid "Keyboard shortcuts" -msgstr "Raccourcis clavier" - -#: templates/index.php:39 -msgid "Navigation" -msgstr "Navigation" - -#: templates/index.php:42 -msgid "Next contact in list" -msgstr "Contact suivant dans la liste" - -#: templates/index.php:44 -msgid "Previous contact in list" -msgstr "Contact précédent dans la liste" - -#: templates/index.php:46 -msgid "Expand/collapse current addressbook" -msgstr "Dé/Replier le carnet d'adresses courant" - -#: templates/index.php:48 -msgid "Next addressbook" -msgstr "Carnet d'adresses suivant" - -#: templates/index.php:50 -msgid "Previous addressbook" -msgstr "Carnet d'adresses précédent" - -#: templates/index.php:54 -msgid "Actions" -msgstr "Actions" - -#: templates/index.php:57 -msgid "Refresh contacts list" -msgstr "Actualiser la liste des contacts" - -#: templates/index.php:59 -msgid "Add new contact" -msgstr "Ajouter un nouveau contact" - -#: templates/index.php:61 -msgid "Add new addressbook" -msgstr "Ajouter un nouveau carnet d'adresses" - -#: templates/index.php:63 -msgid "Delete current contact" -msgstr "Effacer le contact sélectionné" - -#: templates/part.contact.php:17 -msgid "Drop photo to upload" -msgstr "Glisser une photo pour l'envoi" - -#: templates/part.contact.php:19 -msgid "Delete current photo" -msgstr "Supprimer la photo actuelle" - -#: templates/part.contact.php:20 -msgid "Edit current photo" -msgstr "Editer la photo actuelle" - -#: templates/part.contact.php:21 -msgid "Upload new photo" -msgstr "Envoyer une nouvelle photo" - -#: templates/part.contact.php:22 -msgid "Select photo from ownCloud" -msgstr "Sélectionner une photo depuis ownCloud" - -#: templates/part.contact.php:35 -msgid "Format custom, Short name, Full name, Reverse or Reverse with comma" -msgstr "Formatage personnalisé, Nom court, Nom complet, Inversé, Inversé avec virgule" - -#: templates/part.contact.php:36 -msgid "Edit name details" -msgstr "Editer les noms" - -#: templates/part.contact.php:39 templates/part.contact.php:40 -#: templates/part.contact.php:126 -msgid "Organization" -msgstr "Société" - -#: templates/part.contact.php:40 templates/part.contact.php:42 -#: templates/part.contact.php:44 templates/part.contact.php:46 -#: templates/part.contact.php:50 templates/settings.php:36 -msgid "Delete" -msgstr "Supprimer" - -#: templates/part.contact.php:41 templates/part.contact.php:127 -msgid "Nickname" -msgstr "Surnom" - -#: templates/part.contact.php:42 -msgid "Enter nickname" -msgstr "Entrer un surnom" - -#: templates/part.contact.php:43 templates/part.contact.php:134 -msgid "Web site" -msgstr "Page web" - -#: templates/part.contact.php:44 -msgid "http://www.somesite.com" -msgstr "http://www.somesite.com" - -#: templates/part.contact.php:44 -msgid "Go to web site" -msgstr "Allez à la page web" - -#: templates/part.contact.php:46 -msgid "dd-mm-yyyy" -msgstr "jj-mm-aaaa" - -#: templates/part.contact.php:47 templates/part.contact.php:135 -msgid "Groups" -msgstr "Groupes" - -#: templates/part.contact.php:49 -msgid "Separate groups with commas" -msgstr "Séparer les groupes avec des virgules" - -#: templates/part.contact.php:50 -msgid "Edit groups" -msgstr "Editer les groupes" - -#: templates/part.contact.php:59 templates/part.contact.php:73 -#: templates/part.contact.php:98 -msgid "Preferred" -msgstr "Préféré" - -#: templates/part.contact.php:60 -msgid "Please specify a valid email address." -msgstr "Merci d'entrer une adresse e-mail valide." - -#: templates/part.contact.php:60 -msgid "Enter email address" -msgstr "Entrer une adresse e-mail" - -#: templates/part.contact.php:64 -msgid "Mail to address" -msgstr "Envoyer à l'adresse" - -#: templates/part.contact.php:65 -msgid "Delete email address" -msgstr "Supprimer l'adresse e-mail" - -#: templates/part.contact.php:75 -msgid "Enter phone number" -msgstr "Entrer un numéro de téléphone" - -#: templates/part.contact.php:79 -msgid "Delete phone number" -msgstr "Supprimer le numéro de téléphone" - -#: templates/part.contact.php:100 -msgid "Instant Messenger" -msgstr "Instant Messenger" - -#: templates/part.contact.php:101 -msgid "Delete IM" -msgstr "Supprimer la Messagerie Instantanée" - -#: templates/part.contact.php:110 -msgid "View on map" -msgstr "Voir sur une carte" - -#: templates/part.contact.php:110 -msgid "Edit address details" -msgstr "Editer les adresses" - -#: templates/part.contact.php:116 -msgid "Add notes here." -msgstr "Ajouter des notes ici." - -#: templates/part.contact.php:124 -msgid "Add field" -msgstr "Ajouter un champ." - -#: templates/part.contact.php:129 -msgid "Phone" -msgstr "Téléphone" - -#: templates/part.contact.php:130 -msgid "Email" -msgstr "E-mail" - -#: templates/part.contact.php:131 -msgid "Instant Messaging" -msgstr "Messagerie instantanée" - -#: templates/part.contact.php:132 -msgid "Address" -msgstr "Adresse" - -#: templates/part.contact.php:133 -msgid "Note" -msgstr "Note" - -#: templates/part.contact.php:138 -msgid "Download contact" -msgstr "Télécharger le contact" - -#: templates/part.contact.php:139 -msgid "Delete contact" -msgstr "Supprimer le contact" - -#: templates/part.cropphoto.php:65 -msgid "The temporary image has been removed from cache." -msgstr "L'image temporaire a été supprimée du cache." - -#: templates/part.edit_address_dialog.php:6 -msgid "Edit address" -msgstr "Editer l'adresse" - -#: templates/part.edit_address_dialog.php:10 -msgid "Type" -msgstr "Type" - -#: templates/part.edit_address_dialog.php:18 -#: templates/part.edit_address_dialog.php:21 -msgid "PO Box" -msgstr "Boîte postale" - -#: templates/part.edit_address_dialog.php:24 -msgid "Street address" -msgstr "Adresse postale" - -#: templates/part.edit_address_dialog.php:27 -msgid "Street and number" -msgstr "Rue et numéro" - -#: templates/part.edit_address_dialog.php:30 -msgid "Extended" -msgstr "Étendu" - -#: templates/part.edit_address_dialog.php:33 -msgid "Apartment number etc." -msgstr "Numéro d'appartement, etc." - -#: templates/part.edit_address_dialog.php:36 -#: templates/part.edit_address_dialog.php:39 -msgid "City" -msgstr "Ville" - -#: templates/part.edit_address_dialog.php:42 -msgid "Region" -msgstr "Région" - -#: templates/part.edit_address_dialog.php:45 -msgid "E.g. state or province" -msgstr "Ex: état ou province" - -#: templates/part.edit_address_dialog.php:48 -msgid "Zipcode" -msgstr "Code postal" - -#: templates/part.edit_address_dialog.php:51 -msgid "Postal code" -msgstr "Code postal" - -#: templates/part.edit_address_dialog.php:54 -#: templates/part.edit_address_dialog.php:57 -msgid "Country" -msgstr "Pays" - -#: templates/part.edit_name_dialog.php:16 -msgid "Addressbook" -msgstr "Carnet d'adresses" - -#: templates/part.edit_name_dialog.php:23 -msgid "Hon. prefixes" -msgstr "Préfixe hon." - -#: templates/part.edit_name_dialog.php:27 -msgid "Miss" -msgstr "Mlle" - -#: templates/part.edit_name_dialog.php:28 -msgid "Ms" -msgstr "Mme" - -#: templates/part.edit_name_dialog.php:29 -msgid "Mr" -msgstr "M." - -#: templates/part.edit_name_dialog.php:30 -msgid "Sir" -msgstr "Sir" - -#: templates/part.edit_name_dialog.php:31 -msgid "Mrs" -msgstr "Mme" - -#: templates/part.edit_name_dialog.php:32 -msgid "Dr" -msgstr "Dr" - -#: templates/part.edit_name_dialog.php:35 -msgid "Given name" -msgstr "Prénom" - -#: templates/part.edit_name_dialog.php:37 -msgid "Additional names" -msgstr "Nom supplémentaires" - -#: templates/part.edit_name_dialog.php:39 -msgid "Family name" -msgstr "Nom de famille" - -#: templates/part.edit_name_dialog.php:41 -msgid "Hon. suffixes" -msgstr "Suffixes hon." - -#: templates/part.edit_name_dialog.php:45 -msgid "J.D." -msgstr "J.D." - -#: templates/part.edit_name_dialog.php:46 -msgid "M.D." -msgstr "Dr." - -#: templates/part.edit_name_dialog.php:47 -msgid "D.O." -msgstr "D.O." - -#: templates/part.edit_name_dialog.php:48 -msgid "D.C." -msgstr "D.C." - -#: templates/part.edit_name_dialog.php:49 -msgid "Ph.D." -msgstr "Dr" - -#: templates/part.edit_name_dialog.php:50 -msgid "Esq." -msgstr "Esq." - -#: templates/part.edit_name_dialog.php:51 -msgid "Jr." -msgstr "Jr." - -#: templates/part.edit_name_dialog.php:52 -msgid "Sn." -msgstr "Sn." - -#: templates/part.import.php:1 -msgid "Import a contacts file" -msgstr "Importer un fichier de contacts" - -#: templates/part.import.php:6 -msgid "Please choose the addressbook" -msgstr "Choisissez le carnet d'adresses SVP" - -#: templates/part.import.php:10 -msgid "create a new addressbook" -msgstr "Créer un nouveau carnet d'adresses" - -#: templates/part.import.php:15 -msgid "Name of new addressbook" -msgstr "Nom du nouveau carnet d'adresses" - -#: templates/part.import.php:20 -msgid "Importing contacts" -msgstr "Importation des contacts" - -#: templates/part.no_contacts.php:3 -msgid "You have no contacts in your addressbook." -msgstr "Il n'y a pas de contact dans votre carnet d'adresses." - -#: templates/part.no_contacts.php:5 -msgid "Add contact" -msgstr "Ajouter un contact" - -#: templates/part.selectaddressbook.php:1 -msgid "Select Address Books" -msgstr "Choix du carnet d'adresses" - -#: templates/part.selectaddressbook.php:27 -msgid "Enter name" -msgstr "Saisissez le nom" - -#: templates/part.selectaddressbook.php:29 -msgid "Enter description" -msgstr "Saisissez une description" - -#: templates/settings.php:3 -msgid "CardDAV syncing addresses" -msgstr "Synchronisation des contacts CardDAV" - -#: templates/settings.php:3 -msgid "more info" -msgstr "Plus d'infos" - -#: templates/settings.php:5 -msgid "Primary address (Kontact et al)" -msgstr "Adresse principale" - -#: templates/settings.php:7 -msgid "iOS/OS X" -msgstr "iOS/OS X" - -#: templates/settings.php:20 -msgid "Show CardDav link" -msgstr "Afficher le lien CardDav" - -#: templates/settings.php:23 -msgid "Show read-only VCF link" -msgstr "Afficher les liens VCF en lecture seule" - -#: templates/settings.php:26 -msgid "Share" -msgstr "Partager" - -#: templates/settings.php:29 -msgid "Download" -msgstr "Télécharger" - -#: templates/settings.php:33 -msgid "Edit" -msgstr "Modifier" - -#: templates/settings.php:43 -msgid "New Address Book" -msgstr "Nouveau Carnet d'adresses" - -#: templates/settings.php:44 -msgid "Name" -msgstr "Nom" - -#: templates/settings.php:45 -msgid "Description" -msgstr "Description" - -#: templates/settings.php:46 -msgid "Save" -msgstr "Sauvegarder" - -#: templates/settings.php:47 -msgid "Cancel" -msgstr "Annuler" - -#: templates/settings.php:52 -msgid "More..." -msgstr "Plus…" diff --git a/l10n/fr/core.po b/l10n/fr/core.po index fa5216a87617476e942a086145cf9fa9f6be8dce..28f66a6fa27c030779373947756a7ea12fdf83d6 100644 --- a/l10n/fr/core.po +++ b/l10n/fr/core.po @@ -4,6 +4,7 @@ # # Translators: # Christophe Lherieau , 2012. +# , 2012. # , 2012. # Guillaume Paumier , 2012. # Nahir Mohamed , 2012. @@ -14,9 +15,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-16 02:04+0200\n" -"PO-Revision-Date: 2012-10-16 00:05+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-11-26 00:01+0100\n" +"PO-Revision-Date: 2012-11-25 00:59+0000\n" +"Last-Translator: Romain DEP. \n" "Language-Team: French (http://www.transifex.com/projects/p/owncloud/language/fr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -24,209 +25,241 @@ msgstr "" "Language: fr\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: ajax/vcategories/add.php:23 ajax/vcategories/delete.php:23 -msgid "Application name not provided." -msgstr "Nom de l'application non fourni." +#: ajax/vcategories/add.php:26 ajax/vcategories/edit.php:25 +msgid "Category type not provided." +msgstr "Type de catégorie non spécifié." -#: ajax/vcategories/add.php:29 +#: ajax/vcategories/add.php:30 msgid "No category to add?" msgstr "Pas de catégorie à ajouter ?" -#: ajax/vcategories/add.php:36 +#: ajax/vcategories/add.php:37 msgid "This category already exists: " msgstr "Cette catégorie existe déjà : " -#: js/js.js:238 templates/layout.user.php:49 templates/layout.user.php:50 +#: ajax/vcategories/addToFavorites.php:26 ajax/vcategories/delete.php:27 +#: ajax/vcategories/favorites.php:24 +#: ajax/vcategories/removeFromFavorites.php:26 +msgid "Object type not provided." +msgstr "Type d'objet non spécifié." + +#: ajax/vcategories/addToFavorites.php:30 +#: ajax/vcategories/removeFromFavorites.php:30 +#, php-format +msgid "%s ID not provided." +msgstr "L'identifiant de %s n'est pas spécifié." + +#: ajax/vcategories/addToFavorites.php:35 +#, php-format +msgid "Error adding %s to favorites." +msgstr "Erreur lors de l'ajout de %s aux favoris." + +#: ajax/vcategories/delete.php:35 js/oc-vcategories.js:136 +msgid "No categories selected for deletion." +msgstr "Aucune catégorie sélectionnée pour suppression" + +#: ajax/vcategories/removeFromFavorites.php:35 +#, php-format +msgid "Error removing %s from favorites." +msgstr "Erreur lors de la suppression de %s des favoris." + +#: js/js.js:259 templates/layout.user.php:60 templates/layout.user.php:61 msgid "Settings" msgstr "Paramètres" -#: js/js.js:670 -msgid "January" -msgstr "janvier" +#: js/js.js:704 +msgid "seconds ago" +msgstr "il y a quelques secondes" -#: js/js.js:670 -msgid "February" -msgstr "février" +#: js/js.js:705 +msgid "1 minute ago" +msgstr "il y a une minute" -#: js/js.js:670 -msgid "March" -msgstr "mars" +#: js/js.js:706 +msgid "{minutes} minutes ago" +msgstr "il y a {minutes} minutes" -#: js/js.js:670 -msgid "April" -msgstr "avril" +#: js/js.js:707 +msgid "1 hour ago" +msgstr "Il y a une heure" -#: js/js.js:670 -msgid "May" -msgstr "mai" +#: js/js.js:708 +msgid "{hours} hours ago" +msgstr "Il y a {hours} heures" -#: js/js.js:670 -msgid "June" -msgstr "juin" +#: js/js.js:709 +msgid "today" +msgstr "aujourd'hui" -#: js/js.js:671 -msgid "July" -msgstr "juillet" +#: js/js.js:710 +msgid "yesterday" +msgstr "hier" -#: js/js.js:671 -msgid "August" -msgstr "août" +#: js/js.js:711 +msgid "{days} days ago" +msgstr "il y a {days} jours" -#: js/js.js:671 -msgid "September" -msgstr "septembre" +#: js/js.js:712 +msgid "last month" +msgstr "le mois dernier" -#: js/js.js:671 -msgid "October" -msgstr "octobre" +#: js/js.js:713 +msgid "{months} months ago" +msgstr "Il y a {months} mois" -#: js/js.js:671 -msgid "November" -msgstr "novembre" +#: js/js.js:714 +msgid "months ago" +msgstr "il y a plusieurs mois" -#: js/js.js:671 -msgid "December" -msgstr "décembre" +#: js/js.js:715 +msgid "last year" +msgstr "l'année dernière" + +#: js/js.js:716 +msgid "years ago" +msgstr "il y a plusieurs années" -#: js/oc-dialogs.js:123 +#: js/oc-dialogs.js:126 msgid "Choose" msgstr "Choisir" -#: js/oc-dialogs.js:143 js/oc-dialogs.js:163 +#: js/oc-dialogs.js:146 js/oc-dialogs.js:166 msgid "Cancel" msgstr "Annuler" -#: js/oc-dialogs.js:159 +#: js/oc-dialogs.js:162 msgid "No" msgstr "Non" -#: js/oc-dialogs.js:160 +#: js/oc-dialogs.js:163 msgid "Yes" msgstr "Oui" -#: js/oc-dialogs.js:177 +#: js/oc-dialogs.js:180 msgid "Ok" msgstr "Ok" -#: js/oc-vcategories.js:68 -msgid "No categories selected for deletion." -msgstr "Aucune catégorie sélectionnée pour suppression" +#: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102 +#: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162 +msgid "The object type is not specified." +msgstr "Le type d'objet n'est pas spécifié." -#: js/oc-vcategories.js:68 js/share.js:114 js/share.js:121 js/share.js:497 -#: js/share.js:509 +#: js/oc-vcategories.js:95 js/oc-vcategories.js:125 js/oc-vcategories.js:136 +#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:527 +#: js/share.js:539 msgid "Error" msgstr "Erreur" -#: js/share.js:103 +#: js/oc-vcategories.js:179 +msgid "The app name is not specified." +msgstr "Le nom de l'application n'est pas spécifié." + +#: js/oc-vcategories.js:194 +msgid "The required file {file} is not installed!" +msgstr "Le fichier requis {file} n'est pas installé !" + +#: js/share.js:124 msgid "Error while sharing" msgstr "Erreur lors de la mise en partage" -#: js/share.js:114 +#: js/share.js:135 msgid "Error while unsharing" msgstr "Erreur lors de l'annulation du partage" -#: js/share.js:121 +#: js/share.js:142 msgid "Error while changing permissions" msgstr "Erreur lors du changement des permissions" -#: js/share.js:130 -msgid "Shared with you and the group" -msgstr "Partagé avec vous ainsi qu'avec le groupe" - -#: js/share.js:130 -msgid "by" -msgstr "par" +#: js/share.js:151 +msgid "Shared with you and the group {group} by {owner}" +msgstr "Partagé par {owner} avec vous et le groupe {group}" -#: js/share.js:132 -msgid "Shared with you by" -msgstr "Partagé avec vous par" +#: js/share.js:153 +msgid "Shared with you by {owner}" +msgstr "Partagé avec vous par {owner}" -#: js/share.js:137 +#: js/share.js:158 msgid "Share with" msgstr "Partager avec" -#: js/share.js:142 +#: js/share.js:163 msgid "Share with link" msgstr "Partager via lien" -#: js/share.js:143 +#: js/share.js:164 msgid "Password protect" msgstr "Protéger par un mot de passe" -#: js/share.js:147 templates/installation.php:42 templates/login.php:24 +#: js/share.js:168 templates/installation.php:42 templates/login.php:24 #: templates/verify.php:13 msgid "Password" msgstr "Mot de passe" -#: js/share.js:152 +#: js/share.js:173 msgid "Set expiration date" msgstr "Spécifier la date d'expiration" -#: js/share.js:153 +#: js/share.js:174 msgid "Expiration date" msgstr "Date d'expiration" -#: js/share.js:185 +#: js/share.js:206 msgid "Share via email:" msgstr "Partager via e-mail :" -#: js/share.js:187 +#: js/share.js:208 msgid "No people found" msgstr "Aucun utilisateur trouvé" -#: js/share.js:214 +#: js/share.js:235 msgid "Resharing is not allowed" msgstr "Le repartage n'est pas autorisé" -#: js/share.js:250 -msgid "Shared in" -msgstr "Partagé dans" - -#: js/share.js:250 -msgid "with" -msgstr "avec" - #: js/share.js:271 +msgid "Shared in {item} with {user}" +msgstr "Partagé dans {item} avec {user}" + +#: js/share.js:292 msgid "Unshare" msgstr "Ne plus partager" -#: js/share.js:283 +#: js/share.js:304 msgid "can edit" msgstr "édition autorisée" -#: js/share.js:285 +#: js/share.js:306 msgid "access control" msgstr "contrôle des accès" -#: js/share.js:288 +#: js/share.js:309 msgid "create" msgstr "créer" -#: js/share.js:291 +#: js/share.js:312 msgid "update" msgstr "mettre à jour" -#: js/share.js:294 +#: js/share.js:315 msgid "delete" msgstr "supprimer" -#: js/share.js:297 +#: js/share.js:318 msgid "share" msgstr "partager" -#: js/share.js:322 js/share.js:484 +#: js/share.js:343 js/share.js:514 js/share.js:516 msgid "Password protected" msgstr "Protégé par un mot de passe" -#: js/share.js:497 +#: js/share.js:527 msgid "Error unsetting expiration date" msgstr "Un erreur est survenue pendant la suppression de la date d'expiration" -#: js/share.js:509 +#: js/share.js:539 msgid "Error setting expiration date" msgstr "Erreur lors de la spécification de la date d'expiration" -#: lostpassword/index.php:26 +#: lostpassword/controller.php:47 msgid "ownCloud password reset" msgstr "Réinitialisation de votre mot de passe Owncloud" @@ -239,12 +272,12 @@ msgid "You will receive a link to reset your password via Email." msgstr "Vous allez recevoir un e-mail contenant un lien pour réinitialiser votre mot de passe." #: lostpassword/templates/lostpassword.php:5 -msgid "Requested" -msgstr "Demande envoyée" +msgid "Reset email send." +msgstr "Mail de réinitialisation envoyé." #: lostpassword/templates/lostpassword.php:8 -msgid "Login failed!" -msgstr "Nom d'utilisateur ou e-mail invalide" +msgid "Request failed!" +msgstr "La requête a échoué !" #: lostpassword/templates/lostpassword.php:11 templates/installation.php:38 #: templates/login.php:20 @@ -303,7 +336,7 @@ msgstr "Introuvable" msgid "Edit categories" msgstr "Modifier les catégories" -#: templates/edit_categories_dialog.php:14 +#: templates/edit_categories_dialog.php:16 msgid "Add" msgstr "Ajouter" @@ -330,7 +363,7 @@ msgid "" "strongly suggest that you configure your webserver in a way that the data " "directory is no longer accessible or you move the data directory outside the" " webserver document root." -msgstr "" +msgstr "Votre dossier data et vos fichiers sont probablement accessibles depuis internet. Le fichier .htaccess fourni par ownCloud ne fonctionne pas. Nous vous recommandons vivement de configurer votre serveur web de manière à ce que le dossier data ne soit plus accessible ou bien de déplacer le dossier data en dehors du dossier racine des documents du serveur web." #: templates/installation.php:36 msgid "Create an admin account" @@ -377,27 +410,103 @@ msgstr "Serveur de la base de données" msgid "Finish setup" msgstr "Terminer l'installation" -#: templates/layout.guest.php:38 +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Sunday" +msgstr "Dimanche" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Monday" +msgstr "Lundi" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Tuesday" +msgstr "Mardi" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Wednesday" +msgstr "Mercredi" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Thursday" +msgstr "Jeudi" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Friday" +msgstr "Vendredi" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Saturday" +msgstr "Samedi" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "January" +msgstr "janvier" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "February" +msgstr "février" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "March" +msgstr "mars" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "April" +msgstr "avril" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "May" +msgstr "mai" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "June" +msgstr "juin" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "July" +msgstr "juillet" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "August" +msgstr "août" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "September" +msgstr "septembre" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "October" +msgstr "octobre" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "November" +msgstr "novembre" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "December" +msgstr "décembre" + +#: templates/layout.guest.php:42 msgid "web services under your control" msgstr "services web sous votre contrôle" -#: templates/layout.user.php:34 +#: templates/layout.user.php:45 msgid "Log out" msgstr "Se déconnecter" #: templates/login.php:8 msgid "Automatic logon rejected!" -msgstr "" +msgstr "Connexion automatique rejetée !" #: templates/login.php:9 msgid "" "If you did not change your password recently, your account may be " "compromised!" -msgstr "" +msgstr "Si vous n'avez pas changé votre mot de passe récemment, votre compte risque d'être compromis !" #: templates/login.php:10 msgid "Please change your password to secure your account again." -msgstr "" +msgstr "Veuillez changer votre mot de passe pour sécuriser à nouveau votre compte." #: templates/login.php:15 msgid "Lost your password?" @@ -425,14 +534,14 @@ msgstr "suivant" #: templates/verify.php:5 msgid "Security Warning!" -msgstr "" +msgstr "Alerte de sécurité !" #: templates/verify.php:6 msgid "" "Please verify your password.
For security reasons you may be " "occasionally asked to enter your password again." -msgstr "" +msgstr "Veuillez vérifier votre mot de passe.
Par sécurité il vous sera occasionnellement demandé d'entrer votre mot de passe de nouveau." #: templates/verify.php:16 msgid "Verify" -msgstr "" +msgstr "Vérification" diff --git a/l10n/fr/files.po b/l10n/fr/files.po index b4ed9df3a69b7ebcbd4e767debbf58c83b341d18..b0fb5e1a70e5f65b788ecee4d7d16e8c5794dede 100644 --- a/l10n/fr/files.po +++ b/l10n/fr/files.po @@ -11,15 +11,16 @@ # Guillaume Paumier , 2012. # , 2012. # Nahir Mohamed , 2012. +# Robert Di Rosa <>, 2012. # , 2011. # Romain DEP. , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-09-27 02:01+0200\n" -"PO-Revision-Date: 2012-09-26 12:42+0000\n" -"Last-Translator: Christophe Lherieau \n" +"POT-Creation-Date: 2012-12-05 00:04+0100\n" +"PO-Revision-Date: 2012-12-04 10:24+0000\n" +"Last-Translator: Robert Di Rosa <>\n" "Language-Team: French (http://www.transifex.com/projects/p/owncloud/language/fr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -32,195 +33,166 @@ msgid "There is no error, the file uploaded with success" msgstr "Aucune erreur, le fichier a été téléversé avec succès" #: ajax/upload.php:21 -msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" -msgstr "Le fichier téléversé excède la valeur de upload_max_filesize spécifiée dans php.ini" +msgid "" +"The uploaded file exceeds the upload_max_filesize directive in php.ini: " +msgstr "Le fichier envoyé dépasse la valeur upload_max_filesize située dans le fichier php.ini:" -#: ajax/upload.php:22 +#: ajax/upload.php:23 msgid "" "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " "the HTML form" msgstr "Le fichier téléversé excède la valeur de MAX_FILE_SIZE spécifiée dans le formulaire HTML" -#: ajax/upload.php:23 +#: ajax/upload.php:25 msgid "The uploaded file was only partially uploaded" msgstr "Le fichier n'a été que partiellement téléversé" -#: ajax/upload.php:24 +#: ajax/upload.php:26 msgid "No file was uploaded" msgstr "Aucun fichier n'a été téléversé" -#: ajax/upload.php:25 +#: ajax/upload.php:27 msgid "Missing a temporary folder" msgstr "Il manque un répertoire temporaire" -#: ajax/upload.php:26 +#: ajax/upload.php:28 msgid "Failed to write to disk" msgstr "Erreur d'écriture sur le disque" -#: appinfo/app.php:6 +#: appinfo/app.php:10 msgid "Files" msgstr "Fichiers" -#: js/fileactions.js:108 templates/index.php:62 +#: js/fileactions.js:117 templates/index.php:83 templates/index.php:84 msgid "Unshare" msgstr "Ne plus partager" -#: js/fileactions.js:110 templates/index.php:64 +#: js/fileactions.js:119 templates/index.php:89 templates/index.php:90 msgid "Delete" msgstr "Supprimer" -#: js/fileactions.js:182 +#: js/fileactions.js:181 msgid "Rename" msgstr "Renommer" -#: js/filelist.js:190 js/filelist.js:192 -msgid "already exists" -msgstr "existe déjà" +#: js/filelist.js:201 js/filelist.js:203 +msgid "{new_name} already exists" +msgstr "{new_name} existe déjà" -#: js/filelist.js:190 js/filelist.js:192 +#: js/filelist.js:201 js/filelist.js:203 msgid "replace" msgstr "remplacer" -#: js/filelist.js:190 +#: js/filelist.js:201 msgid "suggest name" msgstr "Suggérer un nom" -#: js/filelist.js:190 js/filelist.js:192 +#: js/filelist.js:201 js/filelist.js:203 msgid "cancel" msgstr "annuler" -#: js/filelist.js:239 js/filelist.js:241 -msgid "replaced" -msgstr "remplacé" +#: js/filelist.js:250 +msgid "replaced {new_name}" +msgstr "{new_name} a été replacé" -#: js/filelist.js:239 js/filelist.js:241 js/filelist.js:273 js/filelist.js:275 +#: js/filelist.js:250 js/filelist.js:252 js/filelist.js:284 js/filelist.js:286 msgid "undo" msgstr "annuler" -#: js/filelist.js:241 -msgid "with" -msgstr "avec" +#: js/filelist.js:252 +msgid "replaced {new_name} with {old_name}" +msgstr "{new_name} a été remplacé par {old_name}" + +#: js/filelist.js:284 +msgid "unshared {files}" +msgstr "Fichiers non partagés : {files}" -#: js/filelist.js:273 -msgid "unshared" -msgstr "non partagée" +#: js/filelist.js:286 +msgid "deleted {files}" +msgstr "Fichiers supprimés : {files}" -#: js/filelist.js:275 -msgid "deleted" -msgstr "supprimé" +#: js/files.js:33 +msgid "" +"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not " +"allowed." +msgstr "Nom invalide, les caractères '\\', '/', '<', '>', ':', '\"', '|', '?' et '*' ne sont pas autorisés." -#: js/files.js:179 +#: js/files.js:183 msgid "generating ZIP-file, it may take some time." msgstr "Fichier ZIP en cours d'assemblage ; cela peut prendre du temps." -#: js/files.js:208 +#: js/files.js:218 msgid "Unable to upload your file as it is a directory or has 0 bytes" msgstr "Impossible de charger vos fichiers car il s'agit d'un dossier ou le fichier fait 0 octet." -#: js/files.js:208 +#: js/files.js:218 msgid "Upload Error" msgstr "Erreur de chargement" -#: js/files.js:236 js/files.js:341 js/files.js:371 +#: js/files.js:235 +msgid "Close" +msgstr "Fermer" + +#: js/files.js:254 js/files.js:368 js/files.js:398 msgid "Pending" msgstr "En cours" -#: js/files.js:256 +#: js/files.js:274 msgid "1 file uploading" msgstr "1 fichier en cours de téléchargement" -#: js/files.js:259 js/files.js:304 js/files.js:319 -msgid "files uploading" -msgstr "fichiers en cours de téléchargement" +#: js/files.js:277 js/files.js:331 js/files.js:346 +msgid "{count} files uploading" +msgstr "{count} fichiers téléversés" -#: js/files.js:322 js/files.js:355 +#: js/files.js:349 js/files.js:382 msgid "Upload cancelled." msgstr "Chargement annulé." -#: js/files.js:424 +#: js/files.js:451 msgid "" "File upload is in progress. Leaving the page now will cancel the upload." msgstr "L'envoi du fichier est en cours. Quitter cette page maintenant annulera l'envoi du fichier." -#: js/files.js:494 -msgid "Invalid name, '/' is not allowed." -msgstr "Nom invalide, '/' n'est pas autorisé." +#: js/files.js:523 +msgid "Invalid folder name. Usage of \"Shared\" is reserved by Owncloud" +msgstr "Nom de répertoire invalide. \"Shared\" est réservé par ownCloud" -#: js/files.js:668 -msgid "files scanned" -msgstr "fichiers indexés" +#: js/files.js:704 +msgid "{count} files scanned" +msgstr "{count} fichiers indexés" -#: js/files.js:676 +#: js/files.js:712 msgid "error while scanning" msgstr "erreur lors de l'indexation" -#: js/files.js:749 templates/index.php:48 +#: js/files.js:785 templates/index.php:65 msgid "Name" msgstr "Nom" -#: js/files.js:750 templates/index.php:56 +#: js/files.js:786 templates/index.php:76 msgid "Size" msgstr "Taille" -#: js/files.js:751 templates/index.php:58 +#: js/files.js:787 templates/index.php:78 msgid "Modified" msgstr "Modifié" -#: js/files.js:778 -msgid "folder" -msgstr "dossier" - -#: js/files.js:780 -msgid "folders" -msgstr "dossiers" - -#: js/files.js:788 -msgid "file" -msgstr "fichier" - -#: js/files.js:790 -msgid "files" -msgstr "fichiers" - -#: js/files.js:834 -msgid "seconds ago" -msgstr "secondes passées" - -#: js/files.js:835 -msgid "minute ago" -msgstr "minute passée" - -#: js/files.js:836 -msgid "minutes ago" -msgstr "minutes passées" +#: js/files.js:814 +msgid "1 folder" +msgstr "1 dossier" -#: js/files.js:839 -msgid "today" -msgstr "aujourd'hui" +#: js/files.js:816 +msgid "{count} folders" +msgstr "{count} dossiers" -#: js/files.js:840 -msgid "yesterday" -msgstr "hier" +#: js/files.js:824 +msgid "1 file" +msgstr "1 fichier" -#: js/files.js:841 -msgid "days ago" -msgstr "jours passés" - -#: js/files.js:842 -msgid "last month" -msgstr "mois dernier" - -#: js/files.js:844 -msgid "months ago" -msgstr "mois passés" - -#: js/files.js:845 -msgid "last year" -msgstr "année dernière" - -#: js/files.js:846 -msgid "years ago" -msgstr "années passées" +#: js/files.js:826 +msgid "{count} files" +msgstr "{count} fichiers" #: templates/admin.php:5 msgid "File handling" @@ -230,27 +202,27 @@ msgstr "Gestion des fichiers" msgid "Maximum upload size" msgstr "Taille max. d'envoi" -#: templates/admin.php:7 +#: templates/admin.php:9 msgid "max. possible: " msgstr "Max. possible :" -#: templates/admin.php:9 +#: templates/admin.php:12 msgid "Needed for multi-file and folder downloads." msgstr "Nécessaire pour le téléchargement de plusieurs fichiers et de dossiers." -#: templates/admin.php:9 +#: templates/admin.php:14 msgid "Enable ZIP-download" msgstr "Activer le téléchargement ZIP" -#: templates/admin.php:11 +#: templates/admin.php:17 msgid "0 is unlimited" msgstr "0 est illimité" -#: templates/admin.php:12 +#: templates/admin.php:19 msgid "Maximum input size for ZIP files" msgstr "Taille maximale pour les fichiers ZIP" -#: templates/admin.php:14 +#: templates/admin.php:23 msgid "Save" msgstr "Sauvegarder" @@ -258,52 +230,48 @@ msgstr "Sauvegarder" msgid "New" msgstr "Nouveau" -#: templates/index.php:9 +#: templates/index.php:10 msgid "Text file" msgstr "Fichier texte" -#: templates/index.php:10 +#: templates/index.php:12 msgid "Folder" msgstr "Dossier" -#: templates/index.php:11 -msgid "From url" -msgstr "Depuis URL" +#: templates/index.php:14 +msgid "From link" +msgstr "Depuis le lien" -#: templates/index.php:20 +#: templates/index.php:35 msgid "Upload" msgstr "Envoyer" -#: templates/index.php:27 +#: templates/index.php:43 msgid "Cancel upload" msgstr "Annuler l'envoi" -#: templates/index.php:40 +#: templates/index.php:57 msgid "Nothing in here. Upload something!" msgstr "Il n'y a rien ici ! Envoyez donc quelque chose :)" -#: templates/index.php:50 -msgid "Share" -msgstr "Partager" - -#: templates/index.php:52 +#: templates/index.php:71 msgid "Download" msgstr "Téléchargement" -#: templates/index.php:75 +#: templates/index.php:103 msgid "Upload too large" msgstr "Fichier trop volumineux" -#: templates/index.php:77 +#: templates/index.php:105 msgid "" "The files you are trying to upload exceed the maximum size for file uploads " "on this server." msgstr "Les fichiers que vous essayez d'envoyer dépassent la taille maximale permise par ce serveur." -#: templates/index.php:82 +#: templates/index.php:110 msgid "Files are being scanned, please wait." msgstr "Les fichiers sont en cours d'analyse, veuillez patienter." -#: templates/index.php:85 +#: templates/index.php:113 msgid "Current scanning" msgstr "Analyse en cours" diff --git a/l10n/fr/files_external.po b/l10n/fr/files_external.po index f7d30e969a98c339a27c566b0a2d92d2b2b6ca10..1618d648734744f494b0b47914ffa008b711255f 100644 --- a/l10n/fr/files_external.po +++ b/l10n/fr/files_external.po @@ -8,9 +8,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-04 02:04+0200\n" -"PO-Revision-Date: 2012-10-03 19:39+0000\n" -"Last-Translator: Romain DEP. \n" +"POT-Creation-Date: 2012-12-12 00:12+0100\n" +"PO-Revision-Date: 2012-12-11 23:13+0000\n" +"Last-Translator: I Robot \n" "Language-Team: French (http://www.transifex.com/projects/p/owncloud/language/fr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -42,66 +42,80 @@ msgstr "Veuillez fournir une clé d'application (app key) ainsi qu'un mot de pas msgid "Error configuring Google Drive storage" msgstr "Erreur lors de la configuration du support de stockage Google Drive" +#: lib/config.php:434 +msgid "" +"Warning: \"smbclient\" is not installed. Mounting of CIFS/SMB shares " +"is not possible. Please ask your system administrator to install it." +msgstr "" + +#: lib/config.php:435 +msgid "" +"Warning: The FTP support in PHP is not enabled or installed. Mounting" +" of FTP shares is not possible. Please ask your system administrator to " +"install it." +msgstr "" + #: templates/settings.php:3 msgid "External Storage" msgstr "Stockage externe" -#: templates/settings.php:7 templates/settings.php:19 +#: templates/settings.php:8 templates/settings.php:22 msgid "Mount point" msgstr "Point de montage" -#: templates/settings.php:8 +#: templates/settings.php:9 msgid "Backend" msgstr "Infrastructure" -#: templates/settings.php:9 +#: templates/settings.php:10 msgid "Configuration" msgstr "Configuration" -#: templates/settings.php:10 +#: templates/settings.php:11 msgid "Options" msgstr "Options" -#: templates/settings.php:11 +#: templates/settings.php:12 msgid "Applicable" msgstr "Disponible" -#: templates/settings.php:23 +#: templates/settings.php:27 msgid "Add mount point" msgstr "Ajouter un point de montage" -#: templates/settings.php:54 templates/settings.php:62 +#: templates/settings.php:85 msgid "None set" msgstr "Aucun spécifié" -#: templates/settings.php:63 +#: templates/settings.php:86 msgid "All Users" msgstr "Tous les utilisateurs" -#: templates/settings.php:64 +#: templates/settings.php:87 msgid "Groups" msgstr "Groupes" -#: templates/settings.php:69 +#: templates/settings.php:95 msgid "Users" msgstr "Utilisateurs" -#: templates/settings.php:77 templates/settings.php:107 +#: templates/settings.php:108 templates/settings.php:109 +#: templates/settings.php:149 templates/settings.php:150 msgid "Delete" msgstr "Supprimer" -#: templates/settings.php:87 +#: templates/settings.php:124 msgid "Enable User External Storage" msgstr "Activer le stockage externe pour les utilisateurs" -#: templates/settings.php:88 +#: templates/settings.php:125 msgid "Allow users to mount their own external storage" msgstr "Autoriser les utilisateurs à monter leur propre stockage externe" -#: templates/settings.php:99 +#: templates/settings.php:139 msgid "SSL root certificates" msgstr "Certificats racine SSL" -#: templates/settings.php:113 +#: templates/settings.php:158 msgid "Import Root Certificate" msgstr "Importer un certificat racine" diff --git a/l10n/fr/files_pdfviewer.po b/l10n/fr/files_pdfviewer.po deleted file mode 100644 index ce9bb24515ad87595d8df7f33d3c642885455306..0000000000000000000000000000000000000000 --- a/l10n/fr/files_pdfviewer.po +++ /dev/null @@ -1,42 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 02:18+0200\n" -"PO-Revision-Date: 2012-08-26 00:19+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: French (http://www.transifex.com/projects/p/owncloud/language/fr/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: fr\n" -"Plural-Forms: nplurals=2; plural=(n > 1)\n" - -#: js/viewer.js:22 -msgid "Previous" -msgstr "" - -#: js/viewer.js:23 -msgid "Next" -msgstr "" - -#: js/viewer.js:29 -msgid "Page Width" -msgstr "" - -#: js/viewer.js:29 -msgid "Page Fit" -msgstr "" - -#: js/viewer.js:30 -msgid "Print" -msgstr "" - -#: js/viewer.js:32 -msgid "Download" -msgstr "" diff --git a/l10n/fr/files_texteditor.po b/l10n/fr/files_texteditor.po deleted file mode 100644 index 3b4cb02d2c13e112d83da357e538e522bd997dce..0000000000000000000000000000000000000000 --- a/l10n/fr/files_texteditor.po +++ /dev/null @@ -1,44 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 01:17+0200\n" -"PO-Revision-Date: 2012-08-25 23:18+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: French (http://www.transifex.com/projects/p/owncloud/language/fr/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: fr\n" -"Plural-Forms: nplurals=2; plural=(n > 1)\n" - -#: js/aceeditor/mode-coldfusion-uncompressed.js:1568 -#: js/aceeditor/mode-liquid-uncompressed.js:902 -#: js/aceeditor/mode-svg-uncompressed.js:1575 -msgid "regex" -msgstr "" - -#: js/editor.js:72 js/editor.js:156 js/editor.js:163 -msgid "Save" -msgstr "" - -#: js/editor.js:74 -msgid "Close" -msgstr "" - -#: js/editor.js:149 -msgid "Saving..." -msgstr "" - -#: js/editor.js:239 -msgid "An error occurred!" -msgstr "" - -#: js/editor.js:266 -msgid "There were unsaved changes, click here to go back" -msgstr "" diff --git a/l10n/fr/gallery.po b/l10n/fr/gallery.po deleted file mode 100644 index ea45c42e53b45c76213ff7075755c483ff5a0558..0000000000000000000000000000000000000000 --- a/l10n/fr/gallery.po +++ /dev/null @@ -1,62 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Nahir Mohamed , 2012. -# , 2012. -# Romain DEP. , 2012. -# Soul Kim , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-07-27 02:02+0200\n" -"PO-Revision-Date: 2012-07-26 09:05+0000\n" -"Last-Translator: Romain DEP. \n" -"Language-Team: French (http://www.transifex.com/projects/p/owncloud/language/fr/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: fr\n" -"Plural-Forms: nplurals=2; plural=(n > 1)\n" - -#: appinfo/app.php:39 -msgid "Pictures" -msgstr "Images" - -#: js/pictures.js:12 -msgid "Share gallery" -msgstr "Partager la galerie" - -#: js/pictures.js:32 -msgid "Error: " -msgstr "Erreur :" - -#: js/pictures.js:32 -msgid "Internal error" -msgstr "Erreur interne" - -#: templates/index.php:27 -msgid "Slideshow" -msgstr "Diaporama" - -#: templates/view_album.php:19 -msgid "Back" -msgstr "Retour" - -#: templates/view_album.php:36 -msgid "Remove confirmation" -msgstr "Enlever la confirmation" - -#: templates/view_album.php:37 -msgid "Do you want to remove album" -msgstr "Voulez-vous supprimer l'album" - -#: templates/view_album.php:40 -msgid "Change album name" -msgstr "Modifier le nom de l'album" - -#: templates/view_album.php:43 -msgid "New album name" -msgstr "Nouveau nom de l'album" diff --git a/l10n/fr/impress.po b/l10n/fr/impress.po deleted file mode 100644 index 3323106c6ef9b63a25c47d4a088e5fc9ceb87fae..0000000000000000000000000000000000000000 --- a/l10n/fr/impress.po +++ /dev/null @@ -1,22 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 01:17+0200\n" -"PO-Revision-Date: 2012-08-25 23:18+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: French (http://www.transifex.com/projects/p/owncloud/language/fr/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: fr\n" -"Plural-Forms: nplurals=2; plural=(n > 1)\n" - -#: templates/presentations.php:7 -msgid "Documentation" -msgstr "" diff --git a/l10n/fr/lib.po b/l10n/fr/lib.po index 7eaa311dfdaf6ad2f4b12af398ee6c6d9a7a1977..7617ac30e7ddf2ff45d6f7ecabd6e2e06465011e 100644 --- a/l10n/fr/lib.po +++ b/l10n/fr/lib.po @@ -9,53 +9,53 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-09-02 02:01+0200\n" -"PO-Revision-Date: 2012-09-01 16:36+0000\n" +"POT-Creation-Date: 2012-11-26 00:01+0100\n" +"PO-Revision-Date: 2012-11-25 00:56+0000\n" "Last-Translator: Romain DEP. \n" "Language-Team: French (http://www.transifex.com/projects/p/owncloud/language/fr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: fr\n" -"Plural-Forms: nplurals=2; plural=(n > 1)\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: app.php:288 +#: app.php:285 msgid "Help" msgstr "Aide" -#: app.php:295 +#: app.php:292 msgid "Personal" msgstr "Personnel" -#: app.php:300 +#: app.php:297 msgid "Settings" msgstr "Paramètres" -#: app.php:305 +#: app.php:302 msgid "Users" msgstr "Utilisateurs" -#: app.php:312 +#: app.php:309 msgid "Apps" msgstr "Applications" -#: app.php:314 +#: app.php:311 msgid "Admin" msgstr "Administration" -#: files.php:280 +#: files.php:361 msgid "ZIP download is turned off." msgstr "Téléchargement ZIP désactivé." -#: files.php:281 +#: files.php:362 msgid "Files need to be downloaded one by one." msgstr "Les fichiers nécessitent d'être téléchargés un par un." -#: files.php:281 files.php:306 +#: files.php:362 files.php:387 msgid "Back to Files" msgstr "Retour aux Fichiers" -#: files.php:305 +#: files.php:386 msgid "Selected files too large to generate zip file." msgstr "Les fichiers sélectionnés sont trop volumineux pour être compressés." @@ -63,7 +63,7 @@ msgstr "Les fichiers sélectionnés sont trop volumineux pour être compressés. msgid "Application is not enabled" msgstr "L'application n'est pas activée" -#: json.php:39 json.php:63 json.php:75 +#: json.php:39 json.php:64 json.php:77 json.php:89 msgid "Authentication error" msgstr "Erreur d'authentification" @@ -71,57 +71,84 @@ msgstr "Erreur d'authentification" msgid "Token expired. Please reload page." msgstr "La session a expiré. Veuillez recharger la page." -#: template.php:86 +#: search/provider/file.php:17 search/provider/file.php:35 +msgid "Files" +msgstr "Fichiers" + +#: search/provider/file.php:26 search/provider/file.php:33 +msgid "Text" +msgstr "Texte" + +#: search/provider/file.php:29 +msgid "Images" +msgstr "Images" + +#: template.php:103 msgid "seconds ago" msgstr "à l'instant" -#: template.php:87 +#: template.php:104 msgid "1 minute ago" msgstr "il y a 1 minute" -#: template.php:88 +#: template.php:105 #, php-format msgid "%d minutes ago" msgstr "il y a %d minutes" -#: template.php:91 +#: template.php:106 +msgid "1 hour ago" +msgstr "Il y a une heure" + +#: template.php:107 +#, php-format +msgid "%d hours ago" +msgstr "Il y a %d heures" + +#: template.php:108 msgid "today" msgstr "aujourd'hui" -#: template.php:92 +#: template.php:109 msgid "yesterday" msgstr "hier" -#: template.php:93 +#: template.php:110 #, php-format msgid "%d days ago" msgstr "il y a %d jours" -#: template.php:94 +#: template.php:111 msgid "last month" msgstr "le mois dernier" -#: template.php:95 -msgid "months ago" -msgstr "il y a plusieurs mois" +#: template.php:112 +#, php-format +msgid "%d months ago" +msgstr "Il y a %d mois" -#: template.php:96 +#: template.php:113 msgid "last year" msgstr "l'année dernière" -#: template.php:97 +#: template.php:114 msgid "years ago" msgstr "il y a plusieurs années" -#: updater.php:66 +#: updater.php:75 #, php-format msgid "%s is available. Get more information" msgstr "%s est disponible. Obtenez plus d'informations" -#: updater.php:68 +#: updater.php:77 msgid "up to date" msgstr "À jour" -#: updater.php:71 +#: updater.php:80 msgid "updates check is disabled" msgstr "la vérification des mises à jour est désactivée" + +#: vcategories.php:188 vcategories.php:249 +#, php-format +msgid "Could not find category \"%s\"" +msgstr "Impossible de trouver la catégorie \"%s\"" diff --git a/l10n/fr/media.po b/l10n/fr/media.po deleted file mode 100644 index 9f757f487cffc2aef79b91485ae3a3fbba3b12f8..0000000000000000000000000000000000000000 --- a/l10n/fr/media.po +++ /dev/null @@ -1,69 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# , 2012. -# Nahir Mohamed , 2012. -# , 2011. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-24 02:02+0200\n" -"PO-Revision-Date: 2012-08-23 11:57+0000\n" -"Last-Translator: MathieuP \n" -"Language-Team: French (http://www.transifex.com/projects/p/owncloud/language/fr/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: fr\n" -"Plural-Forms: nplurals=2; plural=(n > 1)\n" - -#: appinfo/app.php:45 templates/player.php:8 -msgid "Music" -msgstr "Musique" - -#: js/music.js:18 -msgid "Add album to playlist" -msgstr "Ajouter l'album à la playlist" - -#: templates/music.php:3 templates/player.php:12 -msgid "Play" -msgstr "Lire" - -#: templates/music.php:4 templates/music.php:26 templates/player.php:13 -msgid "Pause" -msgstr "Pause" - -#: templates/music.php:5 -msgid "Previous" -msgstr "Précédent" - -#: templates/music.php:6 templates/player.php:14 -msgid "Next" -msgstr "Suivant" - -#: templates/music.php:7 -msgid "Mute" -msgstr "Muet" - -#: templates/music.php:8 -msgid "Unmute" -msgstr "Audible" - -#: templates/music.php:25 -msgid "Rescan Collection" -msgstr "Réanalyser la Collection" - -#: templates/music.php:37 -msgid "Artist" -msgstr "Artiste" - -#: templates/music.php:38 -msgid "Album" -msgstr "Album" - -#: templates/music.php:39 -msgid "Title" -msgstr "Titre" diff --git a/l10n/fr/settings.po b/l10n/fr/settings.po index 881d3febfb9b2023b672e9c4eec0978e94ef6717..c3e8712f322a1d477b9343a1a8eaad18e5c4d56a 100644 --- a/l10n/fr/settings.po +++ b/l10n/fr/settings.po @@ -13,15 +13,16 @@ # , 2012. # Nahir Mohamed , 2012. # , 2012. +# Robert Di Rosa <>, 2012. # , 2011, 2012. # Romain DEP. , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-16 02:04+0200\n" -"PO-Revision-Date: 2012-10-15 15:26+0000\n" -"Last-Translator: Romain DEP. \n" +"POT-Creation-Date: 2012-12-05 00:04+0100\n" +"PO-Revision-Date: 2012-12-04 10:26+0000\n" +"Last-Translator: Robert Di Rosa <>\n" "Language-Team: French (http://www.transifex.com/projects/p/owncloud/language/fr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -29,69 +30,73 @@ msgstr "" "Language: fr\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: ajax/apps/ocs.php:23 +#: ajax/apps/ocs.php:20 msgid "Unable to load list from App Store" msgstr "Impossible de charger la liste depuis l'App Store" -#: ajax/creategroup.php:12 +#: ajax/creategroup.php:10 msgid "Group already exists" msgstr "Ce groupe existe déjà" -#: ajax/creategroup.php:21 +#: ajax/creategroup.php:19 msgid "Unable to add group" msgstr "Impossible d'ajouter le groupe" -#: ajax/enableapp.php:14 +#: ajax/enableapp.php:12 msgid "Could not enable app. " msgstr "Impossible d'activer l'Application" -#: ajax/lostpassword.php:14 +#: ajax/lostpassword.php:12 msgid "Email saved" msgstr "E-mail sauvegardé" -#: ajax/lostpassword.php:16 +#: ajax/lostpassword.php:14 msgid "Invalid email" msgstr "E-mail invalide" -#: ajax/openid.php:16 +#: ajax/openid.php:13 msgid "OpenID Changed" msgstr "Identifiant OpenID changé" -#: ajax/openid.php:18 ajax/setlanguage.php:20 ajax/setlanguage.php:23 +#: ajax/openid.php:15 ajax/setlanguage.php:17 ajax/setlanguage.php:20 msgid "Invalid request" msgstr "Requête invalide" -#: ajax/removegroup.php:16 +#: ajax/removegroup.php:13 msgid "Unable to delete group" msgstr "Impossible de supprimer le groupe" -#: ajax/removeuser.php:18 ajax/setquota.php:18 ajax/togglegroups.php:15 +#: ajax/removeuser.php:15 ajax/setquota.php:15 ajax/togglegroups.php:18 msgid "Authentication error" msgstr "Erreur d'authentification" -#: ajax/removeuser.php:27 +#: ajax/removeuser.php:24 msgid "Unable to delete user" msgstr "Impossible de supprimer l'utilisateur" -#: ajax/setlanguage.php:18 +#: ajax/setlanguage.php:15 msgid "Language changed" msgstr "Langue changée" -#: ajax/togglegroups.php:25 +#: ajax/togglegroups.php:12 +msgid "Admins can't remove themself from the admin group" +msgstr "Les administrateurs ne peuvent pas se retirer eux-mêmes du groupe admin" + +#: ajax/togglegroups.php:28 #, php-format msgid "Unable to add user to group %s" msgstr "Impossible d'ajouter l'utilisateur au groupe %s" -#: ajax/togglegroups.php:31 +#: ajax/togglegroups.php:34 #, php-format msgid "Unable to remove user from group %s" msgstr "Impossible de supprimer l'utilisateur du groupe %s" -#: js/apps.js:28 js/apps.js:65 +#: js/apps.js:28 js/apps.js:67 msgid "Disable" msgstr "Désactiver" -#: js/apps.js:28 js/apps.js:54 +#: js/apps.js:28 js/apps.js:55 msgid "Enable" msgstr "Activer" @@ -103,93 +108,6 @@ msgstr "Sauvegarde..." msgid "__language_name__" msgstr "Français" -#: templates/admin.php:14 -msgid "Security Warning" -msgstr "Alertes de sécurité" - -#: templates/admin.php:17 -msgid "" -"Your data directory and your files are probably accessible from the " -"internet. The .htaccess file that ownCloud provides is not working. We " -"strongly suggest that you configure your webserver in a way that the data " -"directory is no longer accessible or you move the data directory outside the" -" webserver document root." -msgstr "Votre répertoire de données et vos fichiers sont probablement accessibles depuis internet. Le fichier .htaccess fourni avec ownCloud ne fonctionne pas. Nous vous recommandons vivement de configurer votre serveur web de façon à ce que ce répertoire ne soit plus accessible, ou bien de déplacer le répertoire de données à l'extérieur de la racine du serveur web." - -#: templates/admin.php:31 -msgid "Cron" -msgstr "Cron" - -#: templates/admin.php:37 -msgid "Execute one task with each page loaded" -msgstr "Exécute une tâche à chaque chargement de page" - -#: templates/admin.php:43 -msgid "" -"cron.php is registered at a webcron service. Call the cron.php page in the " -"owncloud root once a minute over http." -msgstr "cron.php est enregistré en tant que service webcron. Veuillez appeler la page cron.php située à la racine du serveur ownCoud via http toute les minutes." - -#: templates/admin.php:49 -msgid "" -"Use systems cron service. Call the cron.php file in the owncloud folder via " -"a system cronjob once a minute." -msgstr "Utilise le service cron du système. Appelle le fichier cron.php du répertoire owncloud toutes les minutes grâce à une tâche cron du système." - -#: templates/admin.php:56 -msgid "Sharing" -msgstr "Partage" - -#: templates/admin.php:61 -msgid "Enable Share API" -msgstr "Activer l'API de partage" - -#: templates/admin.php:62 -msgid "Allow apps to use the Share API" -msgstr "Autoriser les applications à utiliser l'API de partage" - -#: templates/admin.php:67 -msgid "Allow links" -msgstr "Autoriser les liens" - -#: templates/admin.php:68 -msgid "Allow users to share items to the public with links" -msgstr "Autoriser les utilisateurs à partager du contenu public avec des liens" - -#: templates/admin.php:73 -msgid "Allow resharing" -msgstr "Autoriser le re-partage" - -#: templates/admin.php:74 -msgid "Allow users to share items shared with them again" -msgstr "Autoriser les utilisateurs à partager des éléments déjà partagés entre eux" - -#: templates/admin.php:79 -msgid "Allow users to share with anyone" -msgstr "Autoriser les utilisateurs à partager avec tout le monde" - -#: templates/admin.php:81 -msgid "Allow users to only share with users in their groups" -msgstr "Autoriser les utilisateurs à ne partager qu'avec les utilisateurs dans leurs groupes" - -#: templates/admin.php:88 -msgid "Log" -msgstr "Journaux" - -#: templates/admin.php:116 -msgid "More" -msgstr "Plus" - -#: templates/admin.php:124 -msgid "" -"Developed by the ownCloud community, the source code is " -"licensed under the AGPL." -msgstr "Développé par la communauté ownCloud, le code source est publié sous license AGPL." - #: templates/apps.php:10 msgid "Add your App" msgstr "Ajoutez votre application" @@ -222,21 +140,21 @@ msgstr "Gérer les gros fichiers" msgid "Ask a question" msgstr "Poser une question" -#: templates/help.php:23 +#: templates/help.php:22 msgid "Problems connecting to help database." msgstr "Problème de connexion à la base de données d'aide." -#: templates/help.php:24 +#: templates/help.php:23 msgid "Go there manually." msgstr "S'y rendre manuellement." -#: templates/help.php:32 +#: templates/help.php:31 msgid "Answer" msgstr "Réponse" #: templates/personal.php:8 #, php-format -msgid "You have used %s of the available %s" +msgid "You have used %s of the available %s" msgstr "Vous avez utilisé %s des %s disponibles" #: templates/personal.php:12 @@ -295,6 +213,16 @@ msgstr "Aidez à traduire" msgid "use this address to connect to your ownCloud in your file manager" msgstr "utilisez cette adresse pour vous connecter à votre ownCloud depuis un explorateur de fichiers" +#: templates/personal.php:61 +msgid "" +"Developed by the ownCloud community, the source code is " +"licensed under the AGPL." +msgstr "Développé par la communauté ownCloud, le code source est publié sous license AGPL." + #: templates/users.php:21 templates/users.php:76 msgid "Name" msgstr "Nom" diff --git a/l10n/fr/tasks.po b/l10n/fr/tasks.po deleted file mode 100644 index 8bb451354c8e6e8a5c9759865d7e081bcbee888c..0000000000000000000000000000000000000000 --- a/l10n/fr/tasks.po +++ /dev/null @@ -1,109 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# , 2012. -# Romain DEP. , 2012. -# Xavier BOUTEVILLAIN , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-24 02:02+0200\n" -"PO-Revision-Date: 2012-08-23 12:01+0000\n" -"Last-Translator: MathieuP \n" -"Language-Team: French (http://www.transifex.com/projects/p/owncloud/language/fr/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: fr\n" -"Plural-Forms: nplurals=2; plural=(n > 1)\n" - -#: ajax/update_property.php:51 lib/app.php:89 lib/app.php:101 -msgid "Invalid date/time" -msgstr "date/heure invalide" - -#: appinfo/app.php:11 -msgid "Tasks" -msgstr "Tâches" - -#: js/tasks.js:415 -msgid "No category" -msgstr "Sans catégorie" - -#: lib/app.php:33 -msgid "Unspecified" -msgstr "Non spécifié" - -#: lib/app.php:34 -msgid "1=highest" -msgstr "1=le plus important" - -#: lib/app.php:38 -msgid "5=medium" -msgstr "5=importance moyenne" - -#: lib/app.php:42 -msgid "9=lowest" -msgstr "9=le moins important" - -#: lib/app.php:81 -msgid "Empty Summary" -msgstr "Résumé vide" - -#: lib/app.php:93 -msgid "Invalid percent complete" -msgstr "Pourcentage d'achèvement invalide" - -#: lib/app.php:107 -msgid "Invalid priority" -msgstr "Priorité invalide" - -#: templates/tasks.php:3 -msgid "Add Task" -msgstr "Ajouter une tâche" - -#: templates/tasks.php:4 -msgid "Order Due" -msgstr "Echéance tâche" - -#: templates/tasks.php:5 -msgid "Order List" -msgstr "Liste tâche" - -#: templates/tasks.php:6 -msgid "Order Complete" -msgstr "Tâche réalisée" - -#: templates/tasks.php:7 -msgid "Order Location" -msgstr "Lieu" - -#: templates/tasks.php:8 -msgid "Order Priority" -msgstr "Priorité" - -#: templates/tasks.php:9 -msgid "Order Label" -msgstr "Etiquette tâche" - -#: templates/tasks.php:16 -msgid "Loading tasks..." -msgstr "Chargement des tâches…" - -#: templates/tasks.php:20 -msgid "Important" -msgstr "Important" - -#: templates/tasks.php:23 -msgid "More" -msgstr "Plus" - -#: templates/tasks.php:26 -msgid "Less" -msgstr "Moins" - -#: templates/tasks.php:29 -msgid "Delete" -msgstr "Supprimer" diff --git a/l10n/fr/user_migrate.po b/l10n/fr/user_migrate.po deleted file mode 100644 index 2b2802bbc837508dda933a7fed4e21280e264c9a..0000000000000000000000000000000000000000 --- a/l10n/fr/user_migrate.po +++ /dev/null @@ -1,53 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# , 2012. -# Romain DEP. , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-24 02:02+0200\n" -"PO-Revision-Date: 2012-08-23 12:00+0000\n" -"Last-Translator: MathieuP \n" -"Language-Team: French (http://www.transifex.com/projects/p/owncloud/language/fr/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: fr\n" -"Plural-Forms: nplurals=2; plural=(n > 1)\n" - -#: js/export.js:14 js/export.js:20 -msgid "Export" -msgstr "Exporter" - -#: js/export.js:19 -msgid "Something went wrong while the export file was being generated" -msgstr "Une erreur s'est produite pendant la génération du fichier d'export" - -#: js/export.js:19 -msgid "An error has occurred" -msgstr "Une erreur s'est produite" - -#: templates/settings.php:2 -msgid "Export your user account" -msgstr "Exportez votre compte utilisateur" - -#: templates/settings.php:3 -msgid "" -"This will create a compressed file that contains your ownCloud account." -msgstr "Cette action va créer une archive compressée qui contiendra les données de votre compte ownCloud." - -#: templates/settings.php:13 -msgid "Import user account" -msgstr "Importer un compte utilisateur" - -#: templates/settings.php:15 -msgid "ownCloud User Zip" -msgstr "Archive Zip de l'utilisateur" - -#: templates/settings.php:17 -msgid "Import" -msgstr "Importer" diff --git a/l10n/fr/user_openid.po b/l10n/fr/user_openid.po deleted file mode 100644 index df7952aa7ccea706eabc4198adf99b6c075ad129..0000000000000000000000000000000000000000 --- a/l10n/fr/user_openid.po +++ /dev/null @@ -1,55 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Romain DEP. , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-15 02:03+0200\n" -"PO-Revision-Date: 2012-08-14 16:05+0000\n" -"Last-Translator: Romain DEP. \n" -"Language-Team: French (http://www.transifex.com/projects/p/owncloud/language/fr/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: fr\n" -"Plural-Forms: nplurals=2; plural=(n > 1)\n" - -#: templates/nomode.php:12 -msgid "This is an OpenID server endpoint. For more information, see " -msgstr "Ce serveur est un point d'accès OpenID. Pour plus d'informations, veuillez consulter" - -#: templates/nomode.php:14 -msgid "Identity: " -msgstr "Identité : " - -#: templates/nomode.php:15 -msgid "Realm: " -msgstr "Domaine : " - -#: templates/nomode.php:16 -msgid "User: " -msgstr "Utilisateur : " - -#: templates/nomode.php:17 -msgid "Login" -msgstr "Connexion" - -#: templates/nomode.php:22 -msgid "Error: No user Selected" -msgstr "Erreur : Aucun nom d'utilisateur n'a été saisi" - -#: templates/settings.php:4 -msgid "you can authenticate to other sites with this address" -msgstr "vous pouvez vous authentifier sur d'autres sites grâce à cette adresse" - -#: templates/settings.php:5 -msgid "Authorized OpenID provider" -msgstr "Fournisseur d'identité OpenID autorisé" - -#: templates/settings.php:6 -msgid "Your address at Wordpress, Identi.ca, …" -msgstr "Votre adresse Wordpress, Identi.ca, …" diff --git a/l10n/fr/files_odfviewer.po b/l10n/fr/user_webdavauth.po similarity index 58% rename from l10n/fr/files_odfviewer.po rename to l10n/fr/user_webdavauth.po index 43bbf42f0f8e5bdf99375222e23d003a6c493ab2..ef3cebf77049a6de2e6e7c8f5444ee5199c25dd4 100644 --- a/l10n/fr/files_odfviewer.po +++ b/l10n/fr/user_webdavauth.po @@ -3,20 +3,22 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# Robert Di Rosa <>, 2012. +# Romain DEP. , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 02:18+0200\n" -"PO-Revision-Date: 2012-08-26 00:19+0000\n" -"Last-Translator: FULL NAME \n" +"POT-Creation-Date: 2012-11-26 00:01+0100\n" +"PO-Revision-Date: 2012-11-25 00:28+0000\n" +"Last-Translator: Romain DEP. \n" "Language-Team: French (http://www.transifex.com/projects/p/owncloud/language/fr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: fr\n" -"Plural-Forms: nplurals=2; plural=(n > 1)\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: js/viewer.js:9 -msgid "Close" -msgstr "" +#: templates/settings.php:4 +msgid "WebDAV URL: http://" +msgstr "URL WebDAV : http://" diff --git a/l10n/gl/admin_dependencies_chk.po b/l10n/gl/admin_dependencies_chk.po deleted file mode 100644 index 09e5576eba141bae578e4333f335b96723464937..0000000000000000000000000000000000000000 --- a/l10n/gl/admin_dependencies_chk.po +++ /dev/null @@ -1,73 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:33+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Galician (http://www.transifex.com/projects/p/owncloud/language/gl/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: gl\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: settings.php:33 -msgid "" -"The php-json module is needed by the many applications for inter " -"communications" -msgstr "" - -#: settings.php:39 -msgid "" -"The php-curl modude is needed to fetch the page title when adding a " -"bookmarks" -msgstr "" - -#: settings.php:45 -msgid "The php-gd module is needed to create thumbnails of your images" -msgstr "" - -#: settings.php:51 -msgid "The php-ldap module is needed connect to your ldap server" -msgstr "" - -#: settings.php:57 -msgid "The php-zip module is needed download multiple files at once" -msgstr "" - -#: settings.php:63 -msgid "" -"The php-mb_multibyte module is needed to manage correctly the encoding." -msgstr "" - -#: settings.php:69 -msgid "The php-ctype module is needed validate data." -msgstr "" - -#: settings.php:75 -msgid "The php-xml module is needed to share files with webdav." -msgstr "" - -#: settings.php:81 -msgid "" -"The allow_url_fopen directive of your php.ini should be set to 1 to retrieve" -" knowledge base from OCS servers" -msgstr "" - -#: settings.php:87 -msgid "The php-pdo module is needed to store owncloud data into a database." -msgstr "" - -#: templates/settings.php:2 -msgid "Dependencies status" -msgstr "" - -#: templates/settings.php:7 -msgid "Used by :" -msgstr "" diff --git a/l10n/gl/admin_migrate.po b/l10n/gl/admin_migrate.po deleted file mode 100644 index 7684dc62ca7abbe05717a7c694df4488522c6690..0000000000000000000000000000000000000000 --- a/l10n/gl/admin_migrate.po +++ /dev/null @@ -1,33 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Xosé M. Lamas , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-13 06:27+0000\n" -"Last-Translator: Xosé M. Lamas \n" -"Language-Team: Galician (http://www.transifex.com/projects/p/owncloud/language/gl/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: gl\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: templates/settings.php:3 -msgid "Export this ownCloud instance" -msgstr "Exporta esta instancia de ownCloud" - -#: templates/settings.php:4 -msgid "" -"This will create a compressed file that contains the data of this owncloud instance.\n" -" Please choose the export type:" -msgstr "Esto creará un ficheiro comprimido que contén os datos de esta instancia de ownCloud.\nPor favor escolla o modo de exportación:" - -#: templates/settings.php:12 -msgid "Export" -msgstr "Exportar" diff --git a/l10n/gl/bookmarks.po b/l10n/gl/bookmarks.po deleted file mode 100644 index 9086620a94e9f611b2c7227b7bd9449603d21fb5..0000000000000000000000000000000000000000 --- a/l10n/gl/bookmarks.po +++ /dev/null @@ -1,60 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-07-28 02:02+0200\n" -"PO-Revision-Date: 2012-07-27 22:17+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Galician (http://www.transifex.com/projects/p/owncloud/language/gl/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: gl\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: appinfo/app.php:14 -msgid "Bookmarks" -msgstr "" - -#: bookmarksHelper.php:99 -msgid "unnamed" -msgstr "" - -#: templates/bookmarklet.php:5 -msgid "" -"Drag this to your browser bookmarks and click it, when you want to bookmark " -"a webpage quickly:" -msgstr "" - -#: templates/bookmarklet.php:7 -msgid "Read later" -msgstr "" - -#: templates/list.php:13 -msgid "Address" -msgstr "" - -#: templates/list.php:14 -msgid "Title" -msgstr "" - -#: templates/list.php:15 -msgid "Tags" -msgstr "" - -#: templates/list.php:16 -msgid "Save bookmark" -msgstr "" - -#: templates/list.php:22 -msgid "You have no bookmarks" -msgstr "" - -#: templates/settings.php:11 -msgid "Bookmarklet
" -msgstr "" diff --git a/l10n/gl/calendar.po b/l10n/gl/calendar.po deleted file mode 100644 index d9a060f2dc23fa401093198a0749b3bab3550eca..0000000000000000000000000000000000000000 --- a/l10n/gl/calendar.po +++ /dev/null @@ -1,815 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# antiparvos , 2012. -# Xosé M. Lamas , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-11 02:02+0200\n" -"PO-Revision-Date: 2012-08-11 00:02+0000\n" -"Last-Translator: owncloud_robot \n" -"Language-Team: Galician (http://www.transifex.com/projects/p/owncloud/language/gl/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: gl\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: ajax/cache/status.php:19 -msgid "Not all calendars are completely cached" -msgstr "" - -#: ajax/cache/status.php:21 -msgid "Everything seems to be completely cached" -msgstr "" - -#: ajax/categories/rescan.php:29 -msgid "No calendars found." -msgstr "Non se atoparon calendarios." - -#: ajax/categories/rescan.php:37 -msgid "No events found." -msgstr "Non se atoparon eventos." - -#: ajax/event/edit.form.php:20 -msgid "Wrong calendar" -msgstr "Calendario equivocado" - -#: ajax/import/dropimport.php:29 ajax/import/import.php:64 -msgid "" -"The file contained either no events or all events are already saved in your " -"calendar." -msgstr "" - -#: ajax/import/dropimport.php:31 ajax/import/import.php:67 -msgid "events has been saved in the new calendar" -msgstr "" - -#: ajax/import/import.php:56 -msgid "Import failed" -msgstr "" - -#: ajax/import/import.php:69 -msgid "events has been saved in your calendar" -msgstr "" - -#: ajax/settings/guesstimezone.php:25 -msgid "New Timezone:" -msgstr "Novo fuso horario:" - -#: ajax/settings/settimezone.php:23 -msgid "Timezone changed" -msgstr "Fuso horario trocado" - -#: ajax/settings/settimezone.php:25 -msgid "Invalid request" -msgstr "Petición non válida" - -#: appinfo/app.php:35 templates/calendar.php:15 -#: templates/part.eventform.php:33 templates/part.showevent.php:33 -msgid "Calendar" -msgstr "Calendario" - -#: js/calendar.js:832 -msgid "ddd" -msgstr "ddd" - -#: js/calendar.js:833 -msgid "ddd M/d" -msgstr "ddd M/d" - -#: js/calendar.js:834 -msgid "dddd M/d" -msgstr "dddd M/d" - -#: js/calendar.js:837 -msgid "MMMM yyyy" -msgstr "MMMM yyyy" - -#: js/calendar.js:839 -msgid "MMM d[ yyyy]{ '—'[ MMM] d yyyy}" -msgstr "d MMM[ yyyy]{ '—'d [ MMM] yyyy}" - -#: js/calendar.js:841 -msgid "dddd, MMM d, yyyy" -msgstr "dddd, MMM d,yyyy" - -#: lib/app.php:121 -msgid "Birthday" -msgstr "Aniversario" - -#: lib/app.php:122 -msgid "Business" -msgstr "Traballo" - -#: lib/app.php:123 -msgid "Call" -msgstr "Chamada" - -#: lib/app.php:124 -msgid "Clients" -msgstr "Clientes" - -#: lib/app.php:125 -msgid "Deliverer" -msgstr "Remitente" - -#: lib/app.php:126 -msgid "Holidays" -msgstr "Vacacións" - -#: lib/app.php:127 -msgid "Ideas" -msgstr "Ideas" - -#: lib/app.php:128 -msgid "Journey" -msgstr "Viaxe" - -#: lib/app.php:129 -msgid "Jubilee" -msgstr "Aniversario especial" - -#: lib/app.php:130 -msgid "Meeting" -msgstr "Reunión" - -#: lib/app.php:131 -msgid "Other" -msgstr "Outro" - -#: lib/app.php:132 -msgid "Personal" -msgstr "Persoal" - -#: lib/app.php:133 -msgid "Projects" -msgstr "Proxectos" - -#: lib/app.php:134 -msgid "Questions" -msgstr "Preguntas" - -#: lib/app.php:135 -msgid "Work" -msgstr "Traballo" - -#: lib/app.php:351 lib/app.php:361 -msgid "by" -msgstr "" - -#: lib/app.php:359 lib/app.php:399 -msgid "unnamed" -msgstr "sen nome" - -#: lib/import.php:184 templates/calendar.php:12 -#: templates/part.choosecalendar.php:22 -msgid "New Calendar" -msgstr "Novo calendario" - -#: lib/object.php:372 -msgid "Does not repeat" -msgstr "Non se repite" - -#: lib/object.php:373 -msgid "Daily" -msgstr "A diario" - -#: lib/object.php:374 -msgid "Weekly" -msgstr "Semanalmente" - -#: lib/object.php:375 -msgid "Every Weekday" -msgstr "Todas as semanas" - -#: lib/object.php:376 -msgid "Bi-Weekly" -msgstr "Cada dúas semanas" - -#: lib/object.php:377 -msgid "Monthly" -msgstr "Mensual" - -#: lib/object.php:378 -msgid "Yearly" -msgstr "Anual" - -#: lib/object.php:388 -msgid "never" -msgstr "nunca" - -#: lib/object.php:389 -msgid "by occurrences" -msgstr "por acontecementos" - -#: lib/object.php:390 -msgid "by date" -msgstr "por data" - -#: lib/object.php:400 -msgid "by monthday" -msgstr "por día do mes" - -#: lib/object.php:401 -msgid "by weekday" -msgstr "por día da semana" - -#: lib/object.php:411 templates/calendar.php:5 templates/settings.php:69 -msgid "Monday" -msgstr "Luns" - -#: lib/object.php:412 templates/calendar.php:5 -msgid "Tuesday" -msgstr "Martes" - -#: lib/object.php:413 templates/calendar.php:5 -msgid "Wednesday" -msgstr "Mércores" - -#: lib/object.php:414 templates/calendar.php:5 -msgid "Thursday" -msgstr "Xoves" - -#: lib/object.php:415 templates/calendar.php:5 -msgid "Friday" -msgstr "Venres" - -#: lib/object.php:416 templates/calendar.php:5 -msgid "Saturday" -msgstr "Sábado" - -#: lib/object.php:417 templates/calendar.php:5 templates/settings.php:70 -msgid "Sunday" -msgstr "Domingo" - -#: lib/object.php:427 -msgid "events week of month" -msgstr "semana dos eventos no mes" - -#: lib/object.php:428 -msgid "first" -msgstr "primeiro" - -#: lib/object.php:429 -msgid "second" -msgstr "segundo" - -#: lib/object.php:430 -msgid "third" -msgstr "terceiro" - -#: lib/object.php:431 -msgid "fourth" -msgstr "cuarto" - -#: lib/object.php:432 -msgid "fifth" -msgstr "quinto" - -#: lib/object.php:433 -msgid "last" -msgstr "último" - -#: lib/object.php:467 templates/calendar.php:7 -msgid "January" -msgstr "Xaneiro" - -#: lib/object.php:468 templates/calendar.php:7 -msgid "February" -msgstr "Febreiro" - -#: lib/object.php:469 templates/calendar.php:7 -msgid "March" -msgstr "Marzo" - -#: lib/object.php:470 templates/calendar.php:7 -msgid "April" -msgstr "Abril" - -#: lib/object.php:471 templates/calendar.php:7 -msgid "May" -msgstr "Maio" - -#: lib/object.php:472 templates/calendar.php:7 -msgid "June" -msgstr "Xuño" - -#: lib/object.php:473 templates/calendar.php:7 -msgid "July" -msgstr "Xullo" - -#: lib/object.php:474 templates/calendar.php:7 -msgid "August" -msgstr "Agosto" - -#: lib/object.php:475 templates/calendar.php:7 -msgid "September" -msgstr "Setembro" - -#: lib/object.php:476 templates/calendar.php:7 -msgid "October" -msgstr "Outubro" - -#: lib/object.php:477 templates/calendar.php:7 -msgid "November" -msgstr "Novembro" - -#: lib/object.php:478 templates/calendar.php:7 -msgid "December" -msgstr "Decembro" - -#: lib/object.php:488 -msgid "by events date" -msgstr "por data dos eventos" - -#: lib/object.php:489 -msgid "by yearday(s)" -msgstr "por dia(s) do ano" - -#: lib/object.php:490 -msgid "by weeknumber(s)" -msgstr "por número(s) de semana" - -#: lib/object.php:491 -msgid "by day and month" -msgstr "por día e mes" - -#: lib/search.php:35 lib/search.php:37 lib/search.php:40 -msgid "Date" -msgstr "Data" - -#: lib/search.php:43 -msgid "Cal." -msgstr "Cal." - -#: templates/calendar.php:6 -msgid "Sun." -msgstr "" - -#: templates/calendar.php:6 -msgid "Mon." -msgstr "" - -#: templates/calendar.php:6 -msgid "Tue." -msgstr "" - -#: templates/calendar.php:6 -msgid "Wed." -msgstr "" - -#: templates/calendar.php:6 -msgid "Thu." -msgstr "" - -#: templates/calendar.php:6 -msgid "Fri." -msgstr "" - -#: templates/calendar.php:6 -msgid "Sat." -msgstr "" - -#: templates/calendar.php:8 -msgid "Jan." -msgstr "" - -#: templates/calendar.php:8 -msgid "Feb." -msgstr "" - -#: templates/calendar.php:8 -msgid "Mar." -msgstr "" - -#: templates/calendar.php:8 -msgid "Apr." -msgstr "" - -#: templates/calendar.php:8 -msgid "May." -msgstr "" - -#: templates/calendar.php:8 -msgid "Jun." -msgstr "" - -#: templates/calendar.php:8 -msgid "Jul." -msgstr "" - -#: templates/calendar.php:8 -msgid "Aug." -msgstr "" - -#: templates/calendar.php:8 -msgid "Sep." -msgstr "" - -#: templates/calendar.php:8 -msgid "Oct." -msgstr "" - -#: templates/calendar.php:8 -msgid "Nov." -msgstr "" - -#: templates/calendar.php:8 -msgid "Dec." -msgstr "" - -#: templates/calendar.php:11 -msgid "All day" -msgstr "Todo o dia" - -#: templates/calendar.php:13 -msgid "Missing fields" -msgstr "Faltan campos" - -#: templates/calendar.php:14 templates/part.eventform.php:19 -#: templates/part.showevent.php:11 -msgid "Title" -msgstr "Título" - -#: templates/calendar.php:16 -msgid "From Date" -msgstr "Desde a data" - -#: templates/calendar.php:17 -msgid "From Time" -msgstr "Desde a hora" - -#: templates/calendar.php:18 -msgid "To Date" -msgstr "á data" - -#: templates/calendar.php:19 -msgid "To Time" -msgstr "á hora" - -#: templates/calendar.php:20 -msgid "The event ends before it starts" -msgstr "O evento remata antes de iniciarse" - -#: templates/calendar.php:21 -msgid "There was a database fail" -msgstr "Produciuse un erro na base de datos" - -#: templates/calendar.php:39 -msgid "Week" -msgstr "Semana" - -#: templates/calendar.php:40 -msgid "Month" -msgstr "Mes" - -#: templates/calendar.php:41 -msgid "List" -msgstr "Lista" - -#: templates/calendar.php:45 -msgid "Today" -msgstr "Hoxe" - -#: templates/calendar.php:46 templates/calendar.php:47 -msgid "Settings" -msgstr "" - -#: templates/part.choosecalendar.php:2 -msgid "Your calendars" -msgstr "Os seus calendarios" - -#: templates/part.choosecalendar.php:27 -#: templates/part.choosecalendar.rowfields.php:11 -msgid "CalDav Link" -msgstr "Ligazón CalDav" - -#: templates/part.choosecalendar.php:31 -msgid "Shared calendars" -msgstr "Calendarios compartidos" - -#: templates/part.choosecalendar.php:48 -msgid "No shared calendars" -msgstr "Sen calendarios compartidos" - -#: templates/part.choosecalendar.rowfields.php:8 -msgid "Share Calendar" -msgstr "Compartir calendario" - -#: templates/part.choosecalendar.rowfields.php:14 -msgid "Download" -msgstr "Descargar" - -#: templates/part.choosecalendar.rowfields.php:17 -msgid "Edit" -msgstr "Editar" - -#: templates/part.choosecalendar.rowfields.php:20 -#: templates/part.editevent.php:9 -msgid "Delete" -msgstr "Borrar" - -#: templates/part.choosecalendar.rowfields.shared.php:4 -msgid "shared with you by" -msgstr "compartido con vostede por" - -#: templates/part.editcalendar.php:9 -msgid "New calendar" -msgstr "Novo calendario" - -#: templates/part.editcalendar.php:9 -msgid "Edit calendar" -msgstr "Editar calendario" - -#: templates/part.editcalendar.php:12 -msgid "Displayname" -msgstr "Mostrar nome" - -#: templates/part.editcalendar.php:23 -msgid "Active" -msgstr "Activo" - -#: templates/part.editcalendar.php:29 -msgid "Calendar color" -msgstr "Cor do calendario" - -#: templates/part.editcalendar.php:42 -msgid "Save" -msgstr "Gardar" - -#: templates/part.editcalendar.php:42 templates/part.editevent.php:8 -#: templates/part.newevent.php:6 -msgid "Submit" -msgstr "Enviar" - -#: templates/part.editcalendar.php:43 -msgid "Cancel" -msgstr "Cancelar" - -#: templates/part.editevent.php:1 -msgid "Edit an event" -msgstr "Editar un evento" - -#: templates/part.editevent.php:10 -msgid "Export" -msgstr "Exportar" - -#: templates/part.eventform.php:8 templates/part.showevent.php:3 -msgid "Eventinfo" -msgstr "Info do evento" - -#: templates/part.eventform.php:9 templates/part.showevent.php:4 -msgid "Repeating" -msgstr "Repetido" - -#: templates/part.eventform.php:10 templates/part.showevent.php:5 -msgid "Alarm" -msgstr "Alarma" - -#: templates/part.eventform.php:11 templates/part.showevent.php:6 -msgid "Attendees" -msgstr "Participantes" - -#: templates/part.eventform.php:13 -msgid "Share" -msgstr "Compartir" - -#: templates/part.eventform.php:21 -msgid "Title of the Event" -msgstr "Título do evento" - -#: templates/part.eventform.php:27 templates/part.showevent.php:19 -msgid "Category" -msgstr "Categoría" - -#: templates/part.eventform.php:29 -msgid "Separate categories with commas" -msgstr "Separe as categorías con comas" - -#: templates/part.eventform.php:30 -msgid "Edit categories" -msgstr "Editar categorías" - -#: templates/part.eventform.php:56 templates/part.showevent.php:52 -msgid "All Day Event" -msgstr "Eventos do día" - -#: templates/part.eventform.php:60 templates/part.showevent.php:56 -msgid "From" -msgstr "Desde" - -#: templates/part.eventform.php:68 templates/part.showevent.php:64 -msgid "To" -msgstr "a" - -#: templates/part.eventform.php:76 templates/part.showevent.php:72 -msgid "Advanced options" -msgstr "Opcións avanzadas" - -#: templates/part.eventform.php:81 templates/part.showevent.php:77 -msgid "Location" -msgstr "Localización" - -#: templates/part.eventform.php:83 -msgid "Location of the Event" -msgstr "Localización do evento" - -#: templates/part.eventform.php:89 templates/part.showevent.php:85 -msgid "Description" -msgstr "Descrición" - -#: templates/part.eventform.php:91 -msgid "Description of the Event" -msgstr "Descrición do evento" - -#: templates/part.eventform.php:100 templates/part.showevent.php:95 -msgid "Repeat" -msgstr "Repetir" - -#: templates/part.eventform.php:107 templates/part.showevent.php:102 -msgid "Advanced" -msgstr "Avanzado" - -#: templates/part.eventform.php:151 templates/part.showevent.php:146 -msgid "Select weekdays" -msgstr "Seleccionar días da semana" - -#: templates/part.eventform.php:164 templates/part.eventform.php:177 -#: templates/part.showevent.php:159 templates/part.showevent.php:172 -msgid "Select days" -msgstr "Seleccionar días" - -#: templates/part.eventform.php:169 templates/part.showevent.php:164 -msgid "and the events day of year." -msgstr "e día dos eventos no ano." - -#: templates/part.eventform.php:182 templates/part.showevent.php:177 -msgid "and the events day of month." -msgstr "e día dos eventos no mes." - -#: templates/part.eventform.php:190 templates/part.showevent.php:185 -msgid "Select months" -msgstr "Seleccione meses" - -#: templates/part.eventform.php:203 templates/part.showevent.php:198 -msgid "Select weeks" -msgstr "Seleccionar semanas" - -#: templates/part.eventform.php:208 templates/part.showevent.php:203 -msgid "and the events week of year." -msgstr "e semana dos eventos no ano." - -#: templates/part.eventform.php:214 templates/part.showevent.php:209 -msgid "Interval" -msgstr "Intervalo" - -#: templates/part.eventform.php:220 templates/part.showevent.php:215 -msgid "End" -msgstr "Fin" - -#: templates/part.eventform.php:233 templates/part.showevent.php:228 -msgid "occurrences" -msgstr "acontecementos" - -#: templates/part.import.php:14 -msgid "create a new calendar" -msgstr "crear un novo calendario" - -#: templates/part.import.php:17 -msgid "Import a calendar file" -msgstr "Importar un ficheiro de calendario" - -#: templates/part.import.php:24 -msgid "Please choose a calendar" -msgstr "" - -#: templates/part.import.php:36 -msgid "Name of new calendar" -msgstr "Nome do novo calendario" - -#: templates/part.import.php:44 -msgid "Take an available name!" -msgstr "" - -#: templates/part.import.php:45 -msgid "" -"A Calendar with this name already exists. If you continue anyhow, these " -"calendars will be merged." -msgstr "" - -#: templates/part.import.php:47 -msgid "Import" -msgstr "Importar" - -#: templates/part.import.php:56 -msgid "Close Dialog" -msgstr "Pechar diálogo" - -#: templates/part.newevent.php:1 -msgid "Create a new event" -msgstr "Crear un novo evento" - -#: templates/part.showevent.php:1 -msgid "View an event" -msgstr "Ver un evento" - -#: templates/part.showevent.php:23 -msgid "No categories selected" -msgstr "Non seleccionou as categorías" - -#: templates/part.showevent.php:37 -msgid "of" -msgstr "de" - -#: templates/part.showevent.php:59 templates/part.showevent.php:67 -msgid "at" -msgstr "a" - -#: templates/settings.php:10 -msgid "General" -msgstr "" - -#: templates/settings.php:15 -msgid "Timezone" -msgstr "Fuso horario" - -#: templates/settings.php:47 -msgid "Update timezone automatically" -msgstr "" - -#: templates/settings.php:52 -msgid "Time format" -msgstr "" - -#: templates/settings.php:57 -msgid "24h" -msgstr "24h" - -#: templates/settings.php:58 -msgid "12h" -msgstr "12h" - -#: templates/settings.php:64 -msgid "Start week on" -msgstr "" - -#: templates/settings.php:76 -msgid "Cache" -msgstr "" - -#: templates/settings.php:80 -msgid "Clear cache for repeating events" -msgstr "" - -#: templates/settings.php:85 -msgid "URLs" -msgstr "" - -#: templates/settings.php:87 -msgid "Calendar CalDAV syncing addresses" -msgstr "" - -#: templates/settings.php:87 -msgid "more info" -msgstr "" - -#: templates/settings.php:89 -msgid "Primary address (Kontact et al)" -msgstr "" - -#: templates/settings.php:91 -msgid "iOS/OS X" -msgstr "" - -#: templates/settings.php:93 -msgid "Read only iCalendar link(s)" -msgstr "" - -#: templates/share.dropdown.php:20 -msgid "Users" -msgstr "Usuarios" - -#: templates/share.dropdown.php:21 -msgid "select users" -msgstr "escoller usuarios" - -#: templates/share.dropdown.php:36 templates/share.dropdown.php:62 -msgid "Editable" -msgstr "Editable" - -#: templates/share.dropdown.php:48 -msgid "Groups" -msgstr "Grupos" - -#: templates/share.dropdown.php:49 -msgid "select groups" -msgstr "escoller grupos" - -#: templates/share.dropdown.php:75 -msgid "make public" -msgstr "facer público" diff --git a/l10n/gl/contacts.po b/l10n/gl/contacts.po deleted file mode 100644 index 5ee98a039df05992d68f3560700410b10db0e19a..0000000000000000000000000000000000000000 --- a/l10n/gl/contacts.po +++ /dev/null @@ -1,954 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# antiparvos , 2012. -# Xosé M. Lamas , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-24 02:02+0200\n" -"PO-Revision-Date: 2012-08-24 00:03+0000\n" -"Last-Translator: I Robot \n" -"Language-Team: Galician (http://www.transifex.com/projects/p/owncloud/language/gl/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: gl\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: ajax/addressbook/activate.php:24 ajax/addressbook/update.php:32 -msgid "Error (de)activating addressbook." -msgstr "Produciuse un erro (des)activando a axenda." - -#: ajax/addressbook/delete.php:31 ajax/addressbook/update.php:20 -#: ajax/contact/addproperty.php:42 ajax/contact/delete.php:32 -#: ajax/contact/saveproperty.php:39 -msgid "id is not set." -msgstr "non se estableceu o id." - -#: ajax/addressbook/update.php:24 -msgid "Cannot update addressbook with an empty name." -msgstr "Non se pode actualizar a libreta de enderezos sen completar o nome." - -#: ajax/addressbook/update.php:28 -msgid "Error updating addressbook." -msgstr "Produciuse un erro actualizando a axenda." - -#: ajax/categories/categoriesfor.php:17 -msgid "No ID provided" -msgstr "Non se proveeu ID" - -#: ajax/categories/categoriesfor.php:34 -msgid "Error setting checksum." -msgstr "Erro establecendo a suma de verificación" - -#: ajax/categories/delete.php:19 -msgid "No categories selected for deletion." -msgstr "Non se seleccionaron categorías para borrado." - -#: ajax/categories/delete.php:26 -msgid "No address books found." -msgstr "Non se atoparon libretas de enderezos." - -#: ajax/categories/delete.php:34 -msgid "No contacts found." -msgstr "Non se atoparon contactos." - -#: ajax/contact/add.php:47 -msgid "There was an error adding the contact." -msgstr "Produciuse un erro engadindo o contacto." - -#: ajax/contact/addproperty.php:39 ajax/contact/saveproperty.php:36 -msgid "element name is not set." -msgstr "non se nomeou o elemento." - -#: ajax/contact/addproperty.php:46 -msgid "Could not parse contact: " -msgstr "" - -#: ajax/contact/addproperty.php:56 -msgid "Cannot add empty property." -msgstr "Non se pode engadir unha propiedade baleira." - -#: ajax/contact/addproperty.php:67 -msgid "At least one of the address fields has to be filled out." -msgstr "Polo menos un dos campos do enderezo ten que ser cuberto." - -#: ajax/contact/addproperty.php:76 -msgid "Trying to add duplicate property: " -msgstr "Tentando engadir propiedade duplicada: " - -#: ajax/contact/addproperty.php:115 ajax/contact/saveproperty.php:93 -msgid "Missing IM parameter." -msgstr "" - -#: ajax/contact/addproperty.php:119 ajax/contact/saveproperty.php:97 -msgid "Unknown IM: " -msgstr "" - -#: ajax/contact/deleteproperty.php:37 -msgid "Information about vCard is incorrect. Please reload the page." -msgstr "A información sobre a vCard é incorrecta. Por favor volva cargar a páxina." - -#: ajax/contact/details.php:31 -msgid "Missing ID" -msgstr "ID perdido" - -#: ajax/contact/details.php:36 -msgid "Error parsing VCard for ID: \"" -msgstr "Erro procesando a VCard para o ID: \"" - -#: ajax/contact/saveproperty.php:42 -msgid "checksum is not set." -msgstr "non se estableceu a suma de verificación." - -#: ajax/contact/saveproperty.php:62 -msgid "Information about vCard is incorrect. Please reload the page: " -msgstr "A información sobre a vCard é incorrecta. Por favor, recargue a páxina: " - -#: ajax/contact/saveproperty.php:69 -msgid "Something went FUBAR. " -msgstr "" - -#: ajax/currentphoto.php:30 ajax/oc_photo.php:28 ajax/uploadphoto.php:36 -#: ajax/uploadphoto.php:68 -msgid "No contact ID was submitted." -msgstr "Non se enviou ningún ID de contacto." - -#: ajax/currentphoto.php:36 -msgid "Error reading contact photo." -msgstr "Erro lendo a fotografía do contacto." - -#: ajax/currentphoto.php:48 -msgid "Error saving temporary file." -msgstr "Erro gardando o ficheiro temporal." - -#: ajax/currentphoto.php:51 -msgid "The loading photo is not valid." -msgstr "A fotografía cargada non é válida." - -#: ajax/editname.php:31 -msgid "Contact ID is missing." -msgstr "Falta o ID do contacto." - -#: ajax/oc_photo.php:32 -msgid "No photo path was submitted." -msgstr "Non se enviou a ruta a unha foto." - -#: ajax/oc_photo.php:39 -msgid "File doesn't exist:" -msgstr "O ficheiro non existe:" - -#: ajax/oc_photo.php:44 ajax/oc_photo.php:47 -msgid "Error loading image." -msgstr "Erro cargando imaxe." - -#: ajax/savecrop.php:69 -msgid "Error getting contact object." -msgstr "Erro obtendo o obxeto contacto." - -#: ajax/savecrop.php:79 -msgid "Error getting PHOTO property." -msgstr "Erro obtendo a propiedade PHOTO." - -#: ajax/savecrop.php:98 -msgid "Error saving contact." -msgstr "Erro gardando o contacto." - -#: ajax/savecrop.php:109 -msgid "Error resizing image" -msgstr "Erro cambiando o tamaño da imaxe" - -#: ajax/savecrop.php:112 -msgid "Error cropping image" -msgstr "Erro recortando a imaxe" - -#: ajax/savecrop.php:115 -msgid "Error creating temporary image" -msgstr "Erro creando a imaxe temporal" - -#: ajax/savecrop.php:118 -msgid "Error finding image: " -msgstr "Erro buscando a imaxe: " - -#: ajax/uploadimport.php:44 ajax/uploadimport.php:76 -msgid "Error uploading contacts to storage." -msgstr "Erro subindo os contactos ao almacén." - -#: ajax/uploadimport.php:61 ajax/uploadphoto.php:77 -msgid "There is no error, the file uploaded with success" -msgstr "Non houbo erros, o ficheiro subeuse con éxito" - -#: ajax/uploadimport.php:62 ajax/uploadphoto.php:78 -msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" -msgstr "O ficheiro subido supera a directiva upload_max_filesize no php.ini" - -#: ajax/uploadimport.php:63 ajax/uploadphoto.php:79 -msgid "" -"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " -"the HTML form" -msgstr "O ficheiro subido supera a directiva MAX_FILE_SIZE especificada no formulario HTML" - -#: ajax/uploadimport.php:64 ajax/uploadphoto.php:80 -msgid "The uploaded file was only partially uploaded" -msgstr "O ficheiro so foi parcialmente subido" - -#: ajax/uploadimport.php:65 ajax/uploadphoto.php:81 -msgid "No file was uploaded" -msgstr "Non se subeu ningún ficheiro" - -#: ajax/uploadimport.php:66 ajax/uploadphoto.php:82 -msgid "Missing a temporary folder" -msgstr "Falta o cartafol temporal" - -#: ajax/uploadphoto.php:59 ajax/uploadphoto.php:109 -msgid "Couldn't save temporary image: " -msgstr "Non se puido gardar a imaxe temporal: " - -#: ajax/uploadphoto.php:62 ajax/uploadphoto.php:112 -msgid "Couldn't load temporary image: " -msgstr "Non se puido cargar a imaxe temporal: " - -#: ajax/uploadphoto.php:71 -msgid "No file was uploaded. Unknown error" -msgstr "Non se subeu ningún ficheiro. Erro descoñecido." - -#: appinfo/app.php:21 -msgid "Contacts" -msgstr "Contactos" - -#: js/contacts.js:71 -msgid "Sorry, this functionality has not been implemented yet" -msgstr "Sentímolo, esta función aínda non foi implementada." - -#: js/contacts.js:71 -msgid "Not implemented" -msgstr "Non implementada." - -#: js/contacts.js:76 -msgid "Couldn't get a valid address." -msgstr "Non se puido obter un enderezo de correo válido." - -#: js/contacts.js:76 js/contacts.js:365 js/contacts.js:381 js/contacts.js:393 -#: js/contacts.js:723 js/contacts.js:763 js/contacts.js:789 js/contacts.js:921 -#: js/contacts.js:927 js/contacts.js:939 js/contacts.js:976 -#: js/contacts.js:1250 js/contacts.js:1258 js/contacts.js:1267 -#: js/contacts.js:1302 js/contacts.js:1338 js/contacts.js:1353 -#: js/contacts.js:1379 js/contacts.js:1609 js/contacts.js:1644 -#: js/contacts.js:1664 js/settings.js:26 js/settings.js:43 js/settings.js:68 -msgid "Error" -msgstr "Erro" - -#: js/contacts.js:424 -msgid "You do not have permission to add contacts to " -msgstr "" - -#: js/contacts.js:425 -msgid "Please select one of your own address books." -msgstr "" - -#: js/contacts.js:425 -msgid "Permission error" -msgstr "" - -#: js/contacts.js:763 -msgid "This property has to be non-empty." -msgstr "Esta propiedade non pode quedar baldeira." - -#: js/contacts.js:789 -msgid "Couldn't serialize elements." -msgstr "Non se puido serializar os elementos." - -#: js/contacts.js:921 js/contacts.js:939 -msgid "" -"'deleteProperty' called without type argument. Please report at " -"bugs.owncloud.org" -msgstr "'deleteProperty' chamado sen argumento. Por favor, informe en bugs.owncloud.org" - -#: js/contacts.js:958 -msgid "Edit name" -msgstr "Editar nome" - -#: js/contacts.js:1250 -msgid "No files selected for upload." -msgstr "Sen ficheiros escollidos para subir." - -#: js/contacts.js:1258 -msgid "" -"The file you are trying to upload exceed the maximum size for file uploads " -"on this server." -msgstr "O ficheiro que tenta subir supera o tamaño máximo permitido neste servidor." - -#: js/contacts.js:1322 -msgid "Error loading profile picture." -msgstr "" - -#: js/contacts.js:1457 js/contacts.js:1498 js/contacts.js:1517 -#: js/contacts.js:1560 -msgid "Select type" -msgstr "Seleccione tipo" - -#: js/contacts.js:1578 -msgid "" -"Some contacts are marked for deletion, but not deleted yet. Please wait for " -"them to be deleted." -msgstr "" - -#: js/contacts.js:1649 -msgid "Do you want to merge these address books?" -msgstr "" - -#: js/loader.js:49 -msgid "Result: " -msgstr "Resultado: " - -#: js/loader.js:49 -msgid " imported, " -msgstr " importado, " - -#: js/loader.js:49 -msgid " failed." -msgstr " fallou." - -#: js/settings.js:68 -msgid "Displayname cannot be empty." -msgstr "" - -#: lib/app.php:36 -msgid "Addressbook not found: " -msgstr "" - -#: lib/app.php:52 -msgid "This is not your addressbook." -msgstr "Esta non é a súa axenda." - -#: lib/app.php:71 -msgid "Contact could not be found." -msgstr "Non se atopou o contacto." - -#: lib/app.php:116 -msgid "Jabber" -msgstr "" - -#: lib/app.php:121 -msgid "AIM" -msgstr "" - -#: lib/app.php:126 -msgid "MSN" -msgstr "" - -#: lib/app.php:131 -msgid "Twitter" -msgstr "" - -#: lib/app.php:136 -msgid "GoogleTalk" -msgstr "" - -#: lib/app.php:141 -msgid "Facebook" -msgstr "" - -#: lib/app.php:146 -msgid "XMPP" -msgstr "" - -#: lib/app.php:151 -msgid "ICQ" -msgstr "" - -#: lib/app.php:156 -msgid "Yahoo" -msgstr "" - -#: lib/app.php:161 -msgid "Skype" -msgstr "" - -#: lib/app.php:166 -msgid "QQ" -msgstr "" - -#: lib/app.php:171 -msgid "GaduGadu" -msgstr "" - -#: lib/app.php:194 lib/app.php:202 lib/app.php:213 lib/app.php:266 -msgid "Work" -msgstr "Traballo" - -#: lib/app.php:195 lib/app.php:200 lib/app.php:214 -msgid "Home" -msgstr "Casa" - -#: lib/app.php:196 lib/app.php:209 lib/app.php:262 lib/vcard.php:593 -msgid "Other" -msgstr "" - -#: lib/app.php:201 -msgid "Mobile" -msgstr "Móbil" - -#: lib/app.php:203 -msgid "Text" -msgstr "Texto" - -#: lib/app.php:204 -msgid "Voice" -msgstr "Voz" - -#: lib/app.php:205 -msgid "Message" -msgstr "Mensaxe" - -#: lib/app.php:206 -msgid "Fax" -msgstr "Fax" - -#: lib/app.php:207 -msgid "Video" -msgstr "Vídeo" - -#: lib/app.php:208 -msgid "Pager" -msgstr "Paxinador" - -#: lib/app.php:215 -msgid "Internet" -msgstr "Internet" - -#: lib/app.php:252 templates/part.contact.php:45 -#: templates/part.contact.php:128 -msgid "Birthday" -msgstr "Aniversario" - -#: lib/app.php:253 -msgid "Business" -msgstr "" - -#: lib/app.php:254 -msgid "Call" -msgstr "" - -#: lib/app.php:255 -msgid "Clients" -msgstr "" - -#: lib/app.php:256 -msgid "Deliverer" -msgstr "" - -#: lib/app.php:257 -msgid "Holidays" -msgstr "" - -#: lib/app.php:258 -msgid "Ideas" -msgstr "" - -#: lib/app.php:259 -msgid "Journey" -msgstr "" - -#: lib/app.php:260 -msgid "Jubilee" -msgstr "" - -#: lib/app.php:261 -msgid "Meeting" -msgstr "" - -#: lib/app.php:263 -msgid "Personal" -msgstr "" - -#: lib/app.php:264 -msgid "Projects" -msgstr "" - -#: lib/app.php:265 -msgid "Questions" -msgstr "" - -#: lib/hooks.php:102 -msgid "{name}'s Birthday" -msgstr "Cumpleanos de {name}" - -#: lib/search.php:15 -msgid "Contact" -msgstr "Contacto" - -#: lib/vcard.php:408 -msgid "You do not have the permissions to edit this contact." -msgstr "" - -#: lib/vcard.php:483 -msgid "You do not have the permissions to delete this contact." -msgstr "" - -#: templates/index.php:14 -msgid "Add Contact" -msgstr "Engadir contacto" - -#: templates/index.php:15 templates/index.php:16 templates/part.import.php:17 -msgid "Import" -msgstr "Importar" - -#: templates/index.php:18 -msgid "Settings" -msgstr "" - -#: templates/index.php:18 templates/settings.php:9 -msgid "Addressbooks" -msgstr "Axendas" - -#: templates/index.php:36 templates/part.import.php:24 -msgid "Close" -msgstr "Pechar" - -#: templates/index.php:37 -msgid "Keyboard shortcuts" -msgstr "" - -#: templates/index.php:39 -msgid "Navigation" -msgstr "" - -#: templates/index.php:42 -msgid "Next contact in list" -msgstr "" - -#: templates/index.php:44 -msgid "Previous contact in list" -msgstr "" - -#: templates/index.php:46 -msgid "Expand/collapse current addressbook" -msgstr "" - -#: templates/index.php:48 -msgid "Next addressbook" -msgstr "" - -#: templates/index.php:50 -msgid "Previous addressbook" -msgstr "" - -#: templates/index.php:54 -msgid "Actions" -msgstr "" - -#: templates/index.php:57 -msgid "Refresh contacts list" -msgstr "" - -#: templates/index.php:59 -msgid "Add new contact" -msgstr "" - -#: templates/index.php:61 -msgid "Add new addressbook" -msgstr "" - -#: templates/index.php:63 -msgid "Delete current contact" -msgstr "" - -#: templates/part.contact.php:17 -msgid "Drop photo to upload" -msgstr "Solte a foto a subir" - -#: templates/part.contact.php:19 -msgid "Delete current photo" -msgstr "Borrar foto actual" - -#: templates/part.contact.php:20 -msgid "Edit current photo" -msgstr "Editar a foto actual" - -#: templates/part.contact.php:21 -msgid "Upload new photo" -msgstr "Subir unha nova foto" - -#: templates/part.contact.php:22 -msgid "Select photo from ownCloud" -msgstr "Escoller foto desde ownCloud" - -#: templates/part.contact.php:35 -msgid "Format custom, Short name, Full name, Reverse or Reverse with comma" -msgstr "Formato personalizado, Nome corto, Nome completo, Inverso ou Inverso con coma" - -#: templates/part.contact.php:36 -msgid "Edit name details" -msgstr "Editar detalles do nome" - -#: templates/part.contact.php:39 templates/part.contact.php:40 -#: templates/part.contact.php:126 -msgid "Organization" -msgstr "Organización" - -#: templates/part.contact.php:40 templates/part.contact.php:42 -#: templates/part.contact.php:44 templates/part.contact.php:46 -#: templates/part.contact.php:50 templates/settings.php:36 -msgid "Delete" -msgstr "Eliminar" - -#: templates/part.contact.php:41 templates/part.contact.php:127 -msgid "Nickname" -msgstr "Apodo" - -#: templates/part.contact.php:42 -msgid "Enter nickname" -msgstr "Introuza apodo" - -#: templates/part.contact.php:43 templates/part.contact.php:134 -msgid "Web site" -msgstr "" - -#: templates/part.contact.php:44 -msgid "http://www.somesite.com" -msgstr "" - -#: templates/part.contact.php:44 -msgid "Go to web site" -msgstr "" - -#: templates/part.contact.php:46 -msgid "dd-mm-yyyy" -msgstr "dd-mm-yyyy" - -#: templates/part.contact.php:47 templates/part.contact.php:135 -msgid "Groups" -msgstr "Grupos" - -#: templates/part.contact.php:49 -msgid "Separate groups with commas" -msgstr "Separe grupos con comas" - -#: templates/part.contact.php:50 -msgid "Edit groups" -msgstr "Editar grupos" - -#: templates/part.contact.php:59 templates/part.contact.php:73 -#: templates/part.contact.php:98 -msgid "Preferred" -msgstr "Preferido" - -#: templates/part.contact.php:60 -msgid "Please specify a valid email address." -msgstr "Por favor indique un enderezo de correo electrónico válido." - -#: templates/part.contact.php:60 -msgid "Enter email address" -msgstr "Introduza enderezo de correo electrónico" - -#: templates/part.contact.php:64 -msgid "Mail to address" -msgstr "Correo ao enderezo" - -#: templates/part.contact.php:65 -msgid "Delete email address" -msgstr "Borrar enderezo de correo electrónico" - -#: templates/part.contact.php:75 -msgid "Enter phone number" -msgstr "Introducir número de teléfono" - -#: templates/part.contact.php:79 -msgid "Delete phone number" -msgstr "Borrar número de teléfono" - -#: templates/part.contact.php:100 -msgid "Instant Messenger" -msgstr "" - -#: templates/part.contact.php:101 -msgid "Delete IM" -msgstr "" - -#: templates/part.contact.php:110 -msgid "View on map" -msgstr "Ver no mapa" - -#: templates/part.contact.php:110 -msgid "Edit address details" -msgstr "Editar detalles do enderezo" - -#: templates/part.contact.php:116 -msgid "Add notes here." -msgstr "Engadir aquí as notas." - -#: templates/part.contact.php:124 -msgid "Add field" -msgstr "Engadir campo" - -#: templates/part.contact.php:129 -msgid "Phone" -msgstr "Teléfono" - -#: templates/part.contact.php:130 -msgid "Email" -msgstr "Correo electrónico" - -#: templates/part.contact.php:131 -msgid "Instant Messaging" -msgstr "" - -#: templates/part.contact.php:132 -msgid "Address" -msgstr "Enderezo" - -#: templates/part.contact.php:133 -msgid "Note" -msgstr "Nota" - -#: templates/part.contact.php:138 -msgid "Download contact" -msgstr "Descargar contacto" - -#: templates/part.contact.php:139 -msgid "Delete contact" -msgstr "Borrar contacto" - -#: templates/part.cropphoto.php:65 -msgid "The temporary image has been removed from cache." -msgstr "A imaxe temporal foi eliminada da caché." - -#: templates/part.edit_address_dialog.php:6 -msgid "Edit address" -msgstr "Editar enderezo" - -#: templates/part.edit_address_dialog.php:10 -msgid "Type" -msgstr "Escribir" - -#: templates/part.edit_address_dialog.php:18 -#: templates/part.edit_address_dialog.php:21 -msgid "PO Box" -msgstr "Apartado de correos" - -#: templates/part.edit_address_dialog.php:24 -msgid "Street address" -msgstr "" - -#: templates/part.edit_address_dialog.php:27 -msgid "Street and number" -msgstr "" - -#: templates/part.edit_address_dialog.php:30 -msgid "Extended" -msgstr "Ampliado" - -#: templates/part.edit_address_dialog.php:33 -msgid "Apartment number etc." -msgstr "" - -#: templates/part.edit_address_dialog.php:36 -#: templates/part.edit_address_dialog.php:39 -msgid "City" -msgstr "Cidade" - -#: templates/part.edit_address_dialog.php:42 -msgid "Region" -msgstr "Autonomía" - -#: templates/part.edit_address_dialog.php:45 -msgid "E.g. state or province" -msgstr "" - -#: templates/part.edit_address_dialog.php:48 -msgid "Zipcode" -msgstr "Código postal" - -#: templates/part.edit_address_dialog.php:51 -msgid "Postal code" -msgstr "" - -#: templates/part.edit_address_dialog.php:54 -#: templates/part.edit_address_dialog.php:57 -msgid "Country" -msgstr "País" - -#: templates/part.edit_name_dialog.php:16 -msgid "Addressbook" -msgstr "Axenda" - -#: templates/part.edit_name_dialog.php:23 -msgid "Hon. prefixes" -msgstr "Prefixos honoríficos" - -#: templates/part.edit_name_dialog.php:27 -msgid "Miss" -msgstr "Srta" - -#: templates/part.edit_name_dialog.php:28 -msgid "Ms" -msgstr "Sra/Srta" - -#: templates/part.edit_name_dialog.php:29 -msgid "Mr" -msgstr "Sr" - -#: templates/part.edit_name_dialog.php:30 -msgid "Sir" -msgstr "Sir" - -#: templates/part.edit_name_dialog.php:31 -msgid "Mrs" -msgstr "Sra" - -#: templates/part.edit_name_dialog.php:32 -msgid "Dr" -msgstr "Dr" - -#: templates/part.edit_name_dialog.php:35 -msgid "Given name" -msgstr "Apodo" - -#: templates/part.edit_name_dialog.php:37 -msgid "Additional names" -msgstr "Nomes adicionais" - -#: templates/part.edit_name_dialog.php:39 -msgid "Family name" -msgstr "Nome familiar" - -#: templates/part.edit_name_dialog.php:41 -msgid "Hon. suffixes" -msgstr "Sufixos honorarios" - -#: templates/part.edit_name_dialog.php:45 -msgid "J.D." -msgstr "J.D." - -#: templates/part.edit_name_dialog.php:46 -msgid "M.D." -msgstr "M.D." - -#: templates/part.edit_name_dialog.php:47 -msgid "D.O." -msgstr "D.O." - -#: templates/part.edit_name_dialog.php:48 -msgid "D.C." -msgstr "D.C." - -#: templates/part.edit_name_dialog.php:49 -msgid "Ph.D." -msgstr "Ph.D." - -#: templates/part.edit_name_dialog.php:50 -msgid "Esq." -msgstr "Esq." - -#: templates/part.edit_name_dialog.php:51 -msgid "Jr." -msgstr "Jr." - -#: templates/part.edit_name_dialog.php:52 -msgid "Sn." -msgstr "Sn." - -#: templates/part.import.php:1 -msgid "Import a contacts file" -msgstr "Importar un ficheiro de contactos" - -#: templates/part.import.php:6 -msgid "Please choose the addressbook" -msgstr "Por favor escolla unha libreta de enderezos" - -#: templates/part.import.php:10 -msgid "create a new addressbook" -msgstr "crear unha nova libreta de enderezos" - -#: templates/part.import.php:15 -msgid "Name of new addressbook" -msgstr "Nome da nova libreta de enderezos" - -#: templates/part.import.php:20 -msgid "Importing contacts" -msgstr "Importando contactos" - -#: templates/part.no_contacts.php:3 -msgid "You have no contacts in your addressbook." -msgstr "Non ten contactos na súa libreta de enderezos." - -#: templates/part.no_contacts.php:5 -msgid "Add contact" -msgstr "Engadir contacto" - -#: templates/part.selectaddressbook.php:1 -msgid "Select Address Books" -msgstr "" - -#: templates/part.selectaddressbook.php:27 -msgid "Enter name" -msgstr "" - -#: templates/part.selectaddressbook.php:29 -msgid "Enter description" -msgstr "" - -#: templates/settings.php:3 -msgid "CardDAV syncing addresses" -msgstr "Enderezos CardDAV a sincronizar" - -#: templates/settings.php:3 -msgid "more info" -msgstr "máis información" - -#: templates/settings.php:5 -msgid "Primary address (Kontact et al)" -msgstr "Enderezo primario (Kontact et al)" - -#: templates/settings.php:7 -msgid "iOS/OS X" -msgstr "iOS/OS X" - -#: templates/settings.php:20 -msgid "Show CardDav link" -msgstr "" - -#: templates/settings.php:23 -msgid "Show read-only VCF link" -msgstr "" - -#: templates/settings.php:26 -msgid "Share" -msgstr "" - -#: templates/settings.php:29 -msgid "Download" -msgstr "Descargar" - -#: templates/settings.php:33 -msgid "Edit" -msgstr "Editar" - -#: templates/settings.php:43 -msgid "New Address Book" -msgstr "Nova axenda" - -#: templates/settings.php:44 -msgid "Name" -msgstr "" - -#: templates/settings.php:45 -msgid "Description" -msgstr "" - -#: templates/settings.php:46 -msgid "Save" -msgstr "Gardar" - -#: templates/settings.php:47 -msgid "Cancel" -msgstr "Cancelar" - -#: templates/settings.php:52 -msgid "More..." -msgstr "" diff --git a/l10n/gl/core.po b/l10n/gl/core.po index ba2c90991a2d06230b8cb9b6ca96a9ec43de6dfa..fa4fed8860859c3171600aaff95d6a5f74835d46 100644 --- a/l10n/gl/core.po +++ b/l10n/gl/core.po @@ -9,9 +9,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-16 02:04+0200\n" -"PO-Revision-Date: 2012-10-16 00:05+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-11-21 00:01+0100\n" +"PO-Revision-Date: 2012-11-20 22:35+0000\n" +"Last-Translator: Miguel Branco \n" "Language-Team: Galician (http://www.transifex.com/projects/p/owncloud/language/gl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -19,227 +19,259 @@ msgstr "" "Language: gl\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: ajax/vcategories/add.php:23 ajax/vcategories/delete.php:23 -msgid "Application name not provided." -msgstr "Non se indicou o nome do aplicativo." +#: ajax/vcategories/add.php:26 ajax/vcategories/edit.php:25 +msgid "Category type not provided." +msgstr "Non se indicou o tipo de categoría" -#: ajax/vcategories/add.php:29 +#: ajax/vcategories/add.php:30 msgid "No category to add?" msgstr "Sen categoría que engadir?" -#: ajax/vcategories/add.php:36 +#: ajax/vcategories/add.php:37 msgid "This category already exists: " msgstr "Esta categoría xa existe: " -#: js/js.js:238 templates/layout.user.php:49 templates/layout.user.php:50 +#: ajax/vcategories/addToFavorites.php:26 ajax/vcategories/delete.php:27 +#: ajax/vcategories/favorites.php:24 +#: ajax/vcategories/removeFromFavorites.php:26 +msgid "Object type not provided." +msgstr "Non se forneceu o tipo de obxecto." + +#: ajax/vcategories/addToFavorites.php:30 +#: ajax/vcategories/removeFromFavorites.php:30 +#, php-format +msgid "%s ID not provided." +msgstr "Non se deu o ID %s." + +#: ajax/vcategories/addToFavorites.php:35 +#, php-format +msgid "Error adding %s to favorites." +msgstr "Erro ao engadir %s aos favoritos." + +#: ajax/vcategories/delete.php:35 js/oc-vcategories.js:136 +msgid "No categories selected for deletion." +msgstr "Non hai categorías seleccionadas para eliminar." + +#: ajax/vcategories/removeFromFavorites.php:35 +#, php-format +msgid "Error removing %s from favorites." +msgstr "Erro ao eliminar %s dos favoritos." + +#: js/js.js:259 templates/layout.user.php:60 templates/layout.user.php:61 msgid "Settings" -msgstr "Preferencias" +msgstr "Configuracións" -#: js/js.js:670 -msgid "January" -msgstr "Xaneiro" +#: js/js.js:704 +msgid "seconds ago" +msgstr "segundos atrás" -#: js/js.js:670 -msgid "February" -msgstr "Febreiro" +#: js/js.js:705 +msgid "1 minute ago" +msgstr "hai 1 minuto" -#: js/js.js:670 -msgid "March" -msgstr "Marzo" +#: js/js.js:706 +msgid "{minutes} minutes ago" +msgstr "{minutes} minutos atrás" -#: js/js.js:670 -msgid "April" -msgstr "Abril" +#: js/js.js:707 +msgid "1 hour ago" +msgstr "hai 1 hora" -#: js/js.js:670 -msgid "May" -msgstr "Maio" +#: js/js.js:708 +msgid "{hours} hours ago" +msgstr "{hours} horas atrás" -#: js/js.js:670 -msgid "June" -msgstr "Xuño" +#: js/js.js:709 +msgid "today" +msgstr "hoxe" -#: js/js.js:671 -msgid "July" -msgstr "Xullo" +#: js/js.js:710 +msgid "yesterday" +msgstr "onte" -#: js/js.js:671 -msgid "August" -msgstr "Agosto" +#: js/js.js:711 +msgid "{days} days ago" +msgstr "{days} días atrás" -#: js/js.js:671 -msgid "September" -msgstr "Setembro" +#: js/js.js:712 +msgid "last month" +msgstr "último mes" -#: js/js.js:671 -msgid "October" -msgstr "Outubro" +#: js/js.js:713 +msgid "{months} months ago" +msgstr "{months} meses atrás" -#: js/js.js:671 -msgid "November" -msgstr "Novembro" +#: js/js.js:714 +msgid "months ago" +msgstr "meses atrás" -#: js/js.js:671 -msgid "December" -msgstr "Nadal" +#: js/js.js:715 +msgid "last year" +msgstr "último ano" + +#: js/js.js:716 +msgid "years ago" +msgstr "anos atrás" -#: js/oc-dialogs.js:123 +#: js/oc-dialogs.js:126 msgid "Choose" -msgstr "" +msgstr "Escoller" -#: js/oc-dialogs.js:143 js/oc-dialogs.js:163 +#: js/oc-dialogs.js:146 js/oc-dialogs.js:166 msgid "Cancel" msgstr "Cancelar" -#: js/oc-dialogs.js:159 +#: js/oc-dialogs.js:162 msgid "No" msgstr "Non" -#: js/oc-dialogs.js:160 +#: js/oc-dialogs.js:163 msgid "Yes" msgstr "Si" -#: js/oc-dialogs.js:177 +#: js/oc-dialogs.js:180 msgid "Ok" -msgstr "Ok" +msgstr "Aceptar" -#: js/oc-vcategories.js:68 -msgid "No categories selected for deletion." -msgstr "Non hai categorías seleccionadas para eliminar." +#: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102 +#: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162 +msgid "The object type is not specified." +msgstr "Non se especificou o tipo de obxecto." -#: js/oc-vcategories.js:68 js/share.js:114 js/share.js:121 js/share.js:497 -#: js/share.js:509 +#: js/oc-vcategories.js:95 js/oc-vcategories.js:125 js/oc-vcategories.js:136 +#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:527 +#: js/share.js:539 msgid "Error" msgstr "Erro" -#: js/share.js:103 +#: js/oc-vcategories.js:179 +msgid "The app name is not specified." +msgstr "Non se especificou o nome do aplicativo." + +#: js/oc-vcategories.js:194 +msgid "The required file {file} is not installed!" +msgstr "Non está instalado o ficheiro {file} que se precisa" + +#: js/share.js:124 msgid "Error while sharing" -msgstr "" +msgstr "Erro compartindo" -#: js/share.js:114 +#: js/share.js:135 msgid "Error while unsharing" -msgstr "" +msgstr "Erro ao deixar de compartir" -#: js/share.js:121 +#: js/share.js:142 msgid "Error while changing permissions" -msgstr "" - -#: js/share.js:130 -msgid "Shared with you and the group" -msgstr "" +msgstr "Erro ao cambiar os permisos" -#: js/share.js:130 -msgid "by" -msgstr "" +#: js/share.js:151 +msgid "Shared with you and the group {group} by {owner}" +msgstr "Compartido contigo e co grupo {group} de {owner}" -#: js/share.js:132 -msgid "Shared with you by" -msgstr "" +#: js/share.js:153 +msgid "Shared with you by {owner}" +msgstr "Compartido contigo por {owner}" -#: js/share.js:137 +#: js/share.js:158 msgid "Share with" -msgstr "" +msgstr "Compartir con" -#: js/share.js:142 +#: js/share.js:163 msgid "Share with link" -msgstr "" +msgstr "Compartir ca ligazón" -#: js/share.js:143 +#: js/share.js:164 msgid "Password protect" -msgstr "" +msgstr "Protexido con contrasinais" -#: js/share.js:147 templates/installation.php:42 templates/login.php:24 +#: js/share.js:168 templates/installation.php:42 templates/login.php:24 #: templates/verify.php:13 msgid "Password" msgstr "Contrasinal" -#: js/share.js:152 +#: js/share.js:173 msgid "Set expiration date" -msgstr "" +msgstr "Definir a data de caducidade" -#: js/share.js:153 +#: js/share.js:174 msgid "Expiration date" -msgstr "" +msgstr "Data de caducidade" -#: js/share.js:185 +#: js/share.js:206 msgid "Share via email:" -msgstr "" +msgstr "Compartir por correo electrónico:" -#: js/share.js:187 +#: js/share.js:208 msgid "No people found" -msgstr "" +msgstr "Non se atopou xente" -#: js/share.js:214 +#: js/share.js:235 msgid "Resharing is not allowed" -msgstr "" - -#: js/share.js:250 -msgid "Shared in" -msgstr "" - -#: js/share.js:250 -msgid "with" -msgstr "" +msgstr "Non se acepta volver a compartir" #: js/share.js:271 +msgid "Shared in {item} with {user}" +msgstr "Compartido en {item} con {user}" + +#: js/share.js:292 msgid "Unshare" -msgstr "" +msgstr "Deixar de compartir" -#: js/share.js:283 +#: js/share.js:304 msgid "can edit" -msgstr "" +msgstr "pode editar" -#: js/share.js:285 +#: js/share.js:306 msgid "access control" -msgstr "" +msgstr "control de acceso" -#: js/share.js:288 +#: js/share.js:309 msgid "create" -msgstr "" +msgstr "crear" -#: js/share.js:291 +#: js/share.js:312 msgid "update" -msgstr "" +msgstr "actualizar" -#: js/share.js:294 +#: js/share.js:315 msgid "delete" -msgstr "" +msgstr "borrar" -#: js/share.js:297 +#: js/share.js:318 msgid "share" -msgstr "" +msgstr "compartir" -#: js/share.js:322 js/share.js:484 +#: js/share.js:343 js/share.js:514 js/share.js:516 msgid "Password protected" -msgstr "" +msgstr "Protexido con contrasinal" -#: js/share.js:497 +#: js/share.js:527 msgid "Error unsetting expiration date" -msgstr "" +msgstr "Erro ao quitar a data de caducidade" -#: js/share.js:509 +#: js/share.js:539 msgid "Error setting expiration date" -msgstr "" +msgstr "Erro ao definir a data de caducidade" -#: lostpassword/index.php:26 +#: lostpassword/controller.php:47 msgid "ownCloud password reset" msgstr "Restablecer contrasinal de ownCloud" #: lostpassword/templates/email.php:2 msgid "Use the following link to reset your password: {link}" -msgstr "Use a seguinte ligazón para restablecer o contrasinal: {link}" +msgstr "Usa a seguinte ligazón para restablecer o contrasinal: {link}" #: lostpassword/templates/lostpassword.php:3 msgid "You will receive a link to reset your password via Email." msgstr "Recibirá unha ligazón por correo electrónico para restablecer o contrasinal" #: lostpassword/templates/lostpassword.php:5 -msgid "Requested" -msgstr "Solicitado" +msgid "Reset email send." +msgstr "Restablecer o envío por correo." #: lostpassword/templates/lostpassword.php:8 -msgid "Login failed!" -msgstr "Fallou a conexión." +msgid "Request failed!" +msgstr "Fallo na petición" #: lostpassword/templates/lostpassword.php:11 templates/installation.php:38 #: templates/login.php:20 @@ -296,27 +328,27 @@ msgstr "Nube non atopada" #: templates/edit_categories_dialog.php:4 msgid "Edit categories" -msgstr "Editar categorias" +msgstr "Editar categorías" -#: templates/edit_categories_dialog.php:14 +#: templates/edit_categories_dialog.php:16 msgid "Add" msgstr "Engadir" #: templates/installation.php:23 templates/installation.php:31 msgid "Security Warning" -msgstr "" +msgstr "Aviso de seguridade" #: templates/installation.php:24 msgid "" "No secure random number generator is available, please enable the PHP " "OpenSSL extension." -msgstr "" +msgstr "Non hai un xerador de números aleatorios dispoñíbel. Activa o engadido de OpenSSL para PHP." #: templates/installation.php:26 msgid "" "Without a secure random number generator an attacker may be able to predict " "password reset tokens and take over your account." -msgstr "" +msgstr "Sen un xerador de números aleatorios seguro podería acontecer que predicindo as cadeas de texto de reinicio de contrasinais se afagan coa túa conta." #: templates/installation.php:32 msgid "" @@ -325,7 +357,7 @@ msgid "" "strongly suggest that you configure your webserver in a way that the data " "directory is no longer accessible or you move the data directory outside the" " webserver document root." -msgstr "" +msgstr "O teu cartafol de datos e os teus ficheiros son seguramente accesibles a través de internet. O ficheiro .htaccess que ownCloud fornece non está empregándose. Suxírese que configures o teu servidor web de tal maneira que o cartafol de datos non estea accesíbel ou movas o cartafol de datos fóra do root do directorio de datos do servidor web." #: templates/installation.php:36 msgid "Create an admin account" @@ -362,7 +394,7 @@ msgstr "Nome da base de datos" #: templates/installation.php:121 msgid "Database tablespace" -msgstr "" +msgstr "Táboa de espazos da base de datos" #: templates/installation.php:127 msgid "Database host" @@ -370,29 +402,105 @@ msgstr "Servidor da base de datos" #: templates/installation.php:132 msgid "Finish setup" -msgstr "Rematar configuración" +msgstr "Rematar a configuración" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Sunday" +msgstr "Domingo" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Monday" +msgstr "Luns" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Tuesday" +msgstr "Martes" -#: templates/layout.guest.php:38 +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Wednesday" +msgstr "Mércores" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Thursday" +msgstr "Xoves" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Friday" +msgstr "Venres" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Saturday" +msgstr "Sábado" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "January" +msgstr "Xaneiro" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "February" +msgstr "Febreiro" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "March" +msgstr "Marzo" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "April" +msgstr "Abril" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "May" +msgstr "Maio" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "June" +msgstr "Xuño" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "July" +msgstr "Xullo" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "August" +msgstr "Agosto" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "September" +msgstr "Setembro" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "October" +msgstr "Outubro" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "November" +msgstr "Novembro" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "December" +msgstr "Decembro" + +#: templates/layout.guest.php:42 msgid "web services under your control" msgstr "servizos web baixo o seu control" -#: templates/layout.user.php:34 +#: templates/layout.user.php:45 msgid "Log out" msgstr "Desconectar" #: templates/login.php:8 msgid "Automatic logon rejected!" -msgstr "" +msgstr "Rexeitouse a entrada automática" #: templates/login.php:9 msgid "" "If you did not change your password recently, your account may be " "compromised!" -msgstr "" +msgstr "Se non fixeches cambios de contrasinal recentemente é posíbel que a túa conta estea comprometida!" #: templates/login.php:10 msgid "Please change your password to secure your account again." -msgstr "" +msgstr "Cambia de novo o teu contrasinal para asegurar a túa conta." #: templates/login.php:15 msgid "Lost your password?" @@ -420,14 +528,14 @@ msgstr "seguinte" #: templates/verify.php:5 msgid "Security Warning!" -msgstr "" +msgstr "Advertencia de seguranza" #: templates/verify.php:6 msgid "" "Please verify your password.
For security reasons you may be " "occasionally asked to enter your password again." -msgstr "" +msgstr "Verifica o teu contrasinal.
Por motivos de seguridade pode que ocasionalmente se che pregunte de novo polo teu contrasinal." #: templates/verify.php:16 msgid "Verify" -msgstr "" +msgstr "Verificar" diff --git a/l10n/gl/files.po b/l10n/gl/files.po index d55fcad4c60ff5f313929d128817be2ce4f05f79..d44302b22d10ae60adaf613c0ca382880a90a77e 100644 --- a/l10n/gl/files.po +++ b/l10n/gl/files.po @@ -9,9 +9,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-09-26 13:19+0200\n" -"PO-Revision-Date: 2012-09-26 11:20+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-12-03 00:04+0100\n" +"PO-Revision-Date: 2012-12-02 21:51+0000\n" +"Last-Translator: Miguel Branco \n" "Language-Team: Galician (http://www.transifex.com/projects/p/owncloud/language/gl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -21,198 +21,169 @@ msgstr "" #: ajax/upload.php:20 msgid "There is no error, the file uploaded with success" -msgstr "Non hai erros, o ficheiro enviouse correctamente" +msgstr "Non hai erros. O ficheiro enviouse correctamente" #: ajax/upload.php:21 -msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" -msgstr "O ficheiro enviado supera a directiva upload_max_filesize no php.ini" +msgid "" +"The uploaded file exceeds the upload_max_filesize directive in php.ini: " +msgstr "O ficheiro subido excede a directiva indicada polo tamaño_máximo_de_subida de php.ini" -#: ajax/upload.php:22 +#: ajax/upload.php:23 msgid "" "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " "the HTML form" msgstr "O ficheiro enviado supera a directiva MAX_FILE_SIZE que foi indicada no formulario HTML" -#: ajax/upload.php:23 +#: ajax/upload.php:25 msgid "The uploaded file was only partially uploaded" msgstr "O ficheiro enviado foi só parcialmente enviado" -#: ajax/upload.php:24 +#: ajax/upload.php:26 msgid "No file was uploaded" msgstr "Non se enviou ningún ficheiro" -#: ajax/upload.php:25 +#: ajax/upload.php:27 msgid "Missing a temporary folder" msgstr "Falta un cartafol temporal" -#: ajax/upload.php:26 +#: ajax/upload.php:28 msgid "Failed to write to disk" msgstr "Erro ao escribir no disco" -#: appinfo/app.php:6 +#: appinfo/app.php:10 msgid "Files" msgstr "Ficheiros" -#: js/fileactions.js:108 templates/index.php:62 +#: js/fileactions.js:117 templates/index.php:83 templates/index.php:84 msgid "Unshare" msgstr "Deixar de compartir" -#: js/fileactions.js:110 templates/index.php:64 +#: js/fileactions.js:119 templates/index.php:89 templates/index.php:90 msgid "Delete" msgstr "Eliminar" -#: js/fileactions.js:182 +#: js/fileactions.js:181 msgid "Rename" -msgstr "" +msgstr "Mudar o nome" -#: js/filelist.js:190 js/filelist.js:192 -msgid "already exists" -msgstr "xa existe" +#: js/filelist.js:201 js/filelist.js:203 +msgid "{new_name} already exists" +msgstr "xa existe un {new_name}" -#: js/filelist.js:190 js/filelist.js:192 +#: js/filelist.js:201 js/filelist.js:203 msgid "replace" msgstr "substituír" -#: js/filelist.js:190 +#: js/filelist.js:201 msgid "suggest name" -msgstr "suxira nome" +msgstr "suxerir nome" -#: js/filelist.js:190 js/filelist.js:192 +#: js/filelist.js:201 js/filelist.js:203 msgid "cancel" msgstr "cancelar" -#: js/filelist.js:239 js/filelist.js:241 -msgid "replaced" -msgstr "substituído" +#: js/filelist.js:250 +msgid "replaced {new_name}" +msgstr "substituír {new_name}" -#: js/filelist.js:239 js/filelist.js:241 js/filelist.js:273 js/filelist.js:275 +#: js/filelist.js:250 js/filelist.js:252 js/filelist.js:284 js/filelist.js:286 msgid "undo" msgstr "desfacer" -#: js/filelist.js:241 -msgid "with" -msgstr "con" +#: js/filelist.js:252 +msgid "replaced {new_name} with {old_name}" +msgstr "substituír {new_name} polo {old_name}" -#: js/filelist.js:273 -msgid "unshared" -msgstr "non compartido" +#: js/filelist.js:284 +msgid "unshared {files}" +msgstr "{files} sen compartir" -#: js/filelist.js:275 -msgid "deleted" -msgstr "eliminado" +#: js/filelist.js:286 +msgid "deleted {files}" +msgstr "{files} eliminados" -#: js/files.js:179 +#: js/files.js:33 +msgid "" +"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not " +"allowed." +msgstr "Nome non válido, '\\', '/', '<', '>', ':', '\"', '|', '?' e '*' non se permiten." + +#: js/files.js:183 msgid "generating ZIP-file, it may take some time." -msgstr "xerando ficheiro ZIP, pode levar un anaco." +msgstr "xerando un ficheiro ZIP, o que pode levar un anaco." -#: js/files.js:208 +#: js/files.js:218 msgid "Unable to upload your file as it is a directory or has 0 bytes" msgstr "Non se puido subir o ficheiro pois ou é un directorio ou ten 0 bytes" -#: js/files.js:208 +#: js/files.js:218 msgid "Upload Error" msgstr "Erro na subida" -#: js/files.js:236 js/files.js:341 js/files.js:371 +#: js/files.js:235 +msgid "Close" +msgstr "Pechar" + +#: js/files.js:254 js/files.js:368 js/files.js:398 msgid "Pending" msgstr "Pendentes" -#: js/files.js:256 +#: js/files.js:274 msgid "1 file uploading" -msgstr "" +msgstr "1 ficheiro subíndose" -#: js/files.js:259 js/files.js:304 js/files.js:319 -msgid "files uploading" -msgstr "" +#: js/files.js:277 js/files.js:331 js/files.js:346 +msgid "{count} files uploading" +msgstr "{count} ficheiros subíndose" -#: js/files.js:322 js/files.js:355 +#: js/files.js:349 js/files.js:382 msgid "Upload cancelled." msgstr "Subida cancelada." -#: js/files.js:424 +#: js/files.js:451 msgid "" "File upload is in progress. Leaving the page now will cancel the upload." msgstr "A subida do ficheiro está en curso. Saír agora da páxina cancelará a subida." -#: js/files.js:494 -msgid "Invalid name, '/' is not allowed." -msgstr "Nome non válido, '/' non está permitido." +#: js/files.js:523 +msgid "Invalid folder name. Usage of \"Shared\" is reserved by Owncloud" +msgstr "Nome de cartafol non válido. O uso de \"compartido\" está reservado exclusivamente para ownCloud" -#: js/files.js:667 -msgid "files scanned" -msgstr "ficheiros analizados" +#: js/files.js:704 +msgid "{count} files scanned" +msgstr "{count} ficheiros escaneados" -#: js/files.js:675 +#: js/files.js:712 msgid "error while scanning" -msgstr "erro mentras analizaba" +msgstr "erro mentres analizaba" -#: js/files.js:748 templates/index.php:48 +#: js/files.js:785 templates/index.php:65 msgid "Name" msgstr "Nome" -#: js/files.js:749 templates/index.php:56 +#: js/files.js:786 templates/index.php:76 msgid "Size" msgstr "Tamaño" -#: js/files.js:750 templates/index.php:58 +#: js/files.js:787 templates/index.php:78 msgid "Modified" msgstr "Modificado" -#: js/files.js:777 -msgid "folder" -msgstr "cartafol" - -#: js/files.js:779 -msgid "folders" -msgstr "cartafoles" - -#: js/files.js:787 -msgid "file" -msgstr "ficheiro" - -#: js/files.js:789 -msgid "files" -msgstr "ficheiros" - -#: js/files.js:833 -msgid "seconds ago" -msgstr "" - -#: js/files.js:834 -msgid "minute ago" -msgstr "" - -#: js/files.js:835 -msgid "minutes ago" -msgstr "" - -#: js/files.js:838 -msgid "today" -msgstr "" - -#: js/files.js:839 -msgid "yesterday" -msgstr "" +#: js/files.js:814 +msgid "1 folder" +msgstr "1 cartafol" -#: js/files.js:840 -msgid "days ago" -msgstr "" +#: js/files.js:816 +msgid "{count} folders" +msgstr "{count} cartafoles" -#: js/files.js:841 -msgid "last month" -msgstr "" +#: js/files.js:824 +msgid "1 file" +msgstr "1 ficheiro" -#: js/files.js:843 -msgid "months ago" -msgstr "" - -#: js/files.js:844 -msgid "last year" -msgstr "" - -#: js/files.js:845 -msgid "years ago" -msgstr "" +#: js/files.js:826 +msgid "{count} files" +msgstr "{count} ficheiros" #: templates/admin.php:5 msgid "File handling" @@ -222,27 +193,27 @@ msgstr "Manexo de ficheiro" msgid "Maximum upload size" msgstr "Tamaño máximo de envío" -#: templates/admin.php:7 +#: templates/admin.php:9 msgid "max. possible: " msgstr "máx. posible: " -#: templates/admin.php:9 +#: templates/admin.php:12 msgid "Needed for multi-file and folder downloads." -msgstr "Preciso para descarga de varios ficheiros e cartafoles." +msgstr "Precísase para a descarga de varios ficheiros e cartafoles." -#: templates/admin.php:9 +#: templates/admin.php:14 msgid "Enable ZIP-download" msgstr "Habilitar a descarga-ZIP" -#: templates/admin.php:11 +#: templates/admin.php:17 msgid "0 is unlimited" msgstr "0 significa ilimitado" -#: templates/admin.php:12 +#: templates/admin.php:19 msgid "Maximum input size for ZIP files" msgstr "Tamaño máximo de descarga para os ZIP" -#: templates/admin.php:14 +#: templates/admin.php:23 msgid "Save" msgstr "Gardar" @@ -250,52 +221,48 @@ msgstr "Gardar" msgid "New" msgstr "Novo" -#: templates/index.php:9 +#: templates/index.php:10 msgid "Text file" msgstr "Ficheiro de texto" -#: templates/index.php:10 +#: templates/index.php:12 msgid "Folder" msgstr "Cartafol" -#: templates/index.php:11 -msgid "From url" -msgstr "Desde url" +#: templates/index.php:14 +msgid "From link" +msgstr "Dende a ligazón" -#: templates/index.php:20 +#: templates/index.php:35 msgid "Upload" msgstr "Enviar" -#: templates/index.php:27 +#: templates/index.php:43 msgid "Cancel upload" -msgstr "Cancelar subida" +msgstr "Cancelar a subida" -#: templates/index.php:40 +#: templates/index.php:57 msgid "Nothing in here. Upload something!" -msgstr "Nada por aquí. Envíe algo." - -#: templates/index.php:50 -msgid "Share" -msgstr "Compartir" +msgstr "Nada por aquí. Envía algo." -#: templates/index.php:52 +#: templates/index.php:71 msgid "Download" msgstr "Descargar" -#: templates/index.php:75 +#: templates/index.php:103 msgid "Upload too large" msgstr "Envío demasiado grande" -#: templates/index.php:77 +#: templates/index.php:105 msgid "" "The files you are trying to upload exceed the maximum size for file uploads " "on this server." msgstr "Os ficheiros que trata de subir superan o tamaño máximo permitido neste servidor" -#: templates/index.php:82 +#: templates/index.php:110 msgid "Files are being scanned, please wait." -msgstr "Estanse analizando os ficheiros, espere por favor." +msgstr "Estanse analizando os ficheiros. Agarda." -#: templates/index.php:85 +#: templates/index.php:113 msgid "Current scanning" -msgstr "Análise actual." +msgstr "Análise actual" diff --git a/l10n/gl/files_encryption.po b/l10n/gl/files_encryption.po index 42f3744efd33f39b3b95bce2e09f8f734b0dad44..367cd2cd0637af76eeebdabbbb91e7129f070226 100644 --- a/l10n/gl/files_encryption.po +++ b/l10n/gl/files_encryption.po @@ -8,9 +8,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-09-19 02:02+0200\n" -"PO-Revision-Date: 2012-09-18 10:02+0000\n" -"Last-Translator: Xosé M. Lamas \n" +"POT-Creation-Date: 2012-11-21 00:01+0100\n" +"PO-Revision-Date: 2012-11-20 22:19+0000\n" +"Last-Translator: Miguel Branco \n" "Language-Team: Galician (http://www.transifex.com/projects/p/owncloud/language/gl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -20,11 +20,11 @@ msgstr "" #: templates/settings.php:3 msgid "Encryption" -msgstr "Encriptado" +msgstr "Cifrado" #: templates/settings.php:4 msgid "Exclude the following file types from encryption" -msgstr "Excluír os seguintes tipos de ficheiro da encriptación" +msgstr "Excluír os seguintes tipos de ficheiro do cifrado" #: templates/settings.php:5 msgid "None" @@ -32,4 +32,4 @@ msgstr "Nada" #: templates/settings.php:10 msgid "Enable Encryption" -msgstr "Habilitar encriptación" +msgstr "Activar o cifrado" diff --git a/l10n/gl/files_external.po b/l10n/gl/files_external.po index 27bf750eeb0b5351aac16e526f170294410f6a05..0ff694389566d297f7b9cd172c429eb64dd6ef8e 100644 --- a/l10n/gl/files_external.po +++ b/l10n/gl/files_external.po @@ -3,14 +3,15 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# , 2012. # Xosé M. Lamas , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-02 23:16+0200\n" -"PO-Revision-Date: 2012-10-02 21:17+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-12-12 00:12+0100\n" +"PO-Revision-Date: 2012-12-11 23:13+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Galician (http://www.transifex.com/projects/p/owncloud/language/gl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -20,88 +21,102 @@ msgstr "" #: js/dropbox.js:7 js/dropbox.js:25 js/google.js:7 js/google.js:23 msgid "Access granted" -msgstr "" +msgstr "Concedeuse acceso" #: js/dropbox.js:28 js/dropbox.js:74 js/dropbox.js:79 js/dropbox.js:86 msgid "Error configuring Dropbox storage" -msgstr "" +msgstr "Produciuse un erro ao configurar o almacenamento en Dropbox" #: js/dropbox.js:34 js/dropbox.js:45 js/google.js:31 js/google.js:40 msgid "Grant access" -msgstr "" +msgstr "Permitir o acceso" #: js/dropbox.js:73 js/google.js:72 msgid "Fill out all required fields" -msgstr "" +msgstr "Cubrir todos os campos obrigatorios" #: js/dropbox.js:85 msgid "Please provide a valid Dropbox app key and secret." -msgstr "" +msgstr "Dá o segredo e a chave correcta do aplicativo de Dropbox." #: js/google.js:26 js/google.js:73 js/google.js:78 msgid "Error configuring Google Drive storage" +msgstr "Produciuse un erro ao configurar o almacenamento en Google Drive" + +#: lib/config.php:434 +msgid "" +"Warning: \"smbclient\" is not installed. Mounting of CIFS/SMB shares " +"is not possible. Please ask your system administrator to install it." +msgstr "" + +#: lib/config.php:435 +msgid "" +"Warning: The FTP support in PHP is not enabled or installed. Mounting" +" of FTP shares is not possible. Please ask your system administrator to " +"install it." msgstr "" #: templates/settings.php:3 msgid "External Storage" msgstr "Almacenamento externo" -#: templates/settings.php:7 templates/settings.php:19 +#: templates/settings.php:8 templates/settings.php:22 msgid "Mount point" msgstr "Punto de montaxe" -#: templates/settings.php:8 +#: templates/settings.php:9 msgid "Backend" -msgstr "Almacén" +msgstr "Infraestrutura" -#: templates/settings.php:9 +#: templates/settings.php:10 msgid "Configuration" msgstr "Configuración" -#: templates/settings.php:10 +#: templates/settings.php:11 msgid "Options" msgstr "Opcións" -#: templates/settings.php:11 +#: templates/settings.php:12 msgid "Applicable" -msgstr "Aplicable" +msgstr "Aplicábel" -#: templates/settings.php:23 +#: templates/settings.php:27 msgid "Add mount point" -msgstr "Engadir punto de montaxe" +msgstr "Engadir un punto de montaxe" -#: templates/settings.php:54 templates/settings.php:62 +#: templates/settings.php:85 msgid "None set" -msgstr "Non establecido" +msgstr "Ningún definido" -#: templates/settings.php:63 +#: templates/settings.php:86 msgid "All Users" -msgstr "Tódolos usuarios" +msgstr "Todos os usuarios" -#: templates/settings.php:64 +#: templates/settings.php:87 msgid "Groups" msgstr "Grupos" -#: templates/settings.php:69 +#: templates/settings.php:95 msgid "Users" msgstr "Usuarios" -#: templates/settings.php:77 templates/settings.php:107 +#: templates/settings.php:108 templates/settings.php:109 +#: templates/settings.php:149 templates/settings.php:150 msgid "Delete" msgstr "Eliminar" -#: templates/settings.php:87 +#: templates/settings.php:124 msgid "Enable User External Storage" -msgstr "Habilitar almacenamento externo do usuario" +msgstr "Activar o almacenamento externo do usuario" -#: templates/settings.php:88 +#: templates/settings.php:125 msgid "Allow users to mount their own external storage" msgstr "Permitir aos usuarios montar os seus propios almacenamentos externos" -#: templates/settings.php:99 +#: templates/settings.php:139 msgid "SSL root certificates" -msgstr "Certificados raíz SSL" +msgstr "Certificados SSL root" -#: templates/settings.php:113 +#: templates/settings.php:158 msgid "Import Root Certificate" -msgstr "Importar Certificado Raíz" +msgstr "Importar o certificado root" diff --git a/l10n/gl/files_pdfviewer.po b/l10n/gl/files_pdfviewer.po deleted file mode 100644 index c9dc9eb36b86dc1824a0008be3e7136c31c854de..0000000000000000000000000000000000000000 --- a/l10n/gl/files_pdfviewer.po +++ /dev/null @@ -1,42 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 02:18+0200\n" -"PO-Revision-Date: 2012-08-26 00:19+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Galician (http://www.transifex.com/projects/p/owncloud/language/gl/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: gl\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: js/viewer.js:22 -msgid "Previous" -msgstr "" - -#: js/viewer.js:23 -msgid "Next" -msgstr "" - -#: js/viewer.js:29 -msgid "Page Width" -msgstr "" - -#: js/viewer.js:29 -msgid "Page Fit" -msgstr "" - -#: js/viewer.js:30 -msgid "Print" -msgstr "" - -#: js/viewer.js:32 -msgid "Download" -msgstr "" diff --git a/l10n/gl/files_sharing.po b/l10n/gl/files_sharing.po index 4fdd23736cdba72b99dae6a07de26b0a4d118d09..f6b83fbd6548c6a18eaad847114f7cef4446f6f0 100644 --- a/l10n/gl/files_sharing.po +++ b/l10n/gl/files_sharing.po @@ -3,14 +3,15 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# , 2012. # Xosé M. Lamas , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-09-22 01:14+0200\n" -"PO-Revision-Date: 2012-09-21 23:15+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-11-30 00:03+0100\n" +"PO-Revision-Date: 2012-11-29 16:08+0000\n" +"Last-Translator: mbouzada \n" "Language-Team: Galician (http://www.transifex.com/projects/p/owncloud/language/gl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -26,24 +27,24 @@ msgstr "Contrasinal" msgid "Submit" msgstr "Enviar" -#: templates/public.php:9 +#: templates/public.php:17 #, php-format msgid "%s shared the folder %s with you" -msgstr "" +msgstr "%s compartiu o cartafol %s con vostede" -#: templates/public.php:11 +#: templates/public.php:19 #, php-format msgid "%s shared the file %s with you" -msgstr "" +msgstr "%s compartiu o ficheiro %s con vostede" -#: templates/public.php:14 templates/public.php:30 +#: templates/public.php:22 templates/public.php:38 msgid "Download" -msgstr "Baixar" +msgstr "Descargar" -#: templates/public.php:29 +#: templates/public.php:37 msgid "No preview available for" -msgstr "Sen vista previa dispoñible para " +msgstr "Sen vista previa dispoñíbel para" -#: templates/public.php:37 +#: templates/public.php:43 msgid "web services under your control" msgstr "servizos web baixo o seu control" diff --git a/l10n/gl/files_texteditor.po b/l10n/gl/files_texteditor.po deleted file mode 100644 index a6074b2906eaf263f6cccdb5f99eeef467cb8221..0000000000000000000000000000000000000000 --- a/l10n/gl/files_texteditor.po +++ /dev/null @@ -1,44 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 01:17+0200\n" -"PO-Revision-Date: 2012-08-25 23:18+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Galician (http://www.transifex.com/projects/p/owncloud/language/gl/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: gl\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: js/aceeditor/mode-coldfusion-uncompressed.js:1568 -#: js/aceeditor/mode-liquid-uncompressed.js:902 -#: js/aceeditor/mode-svg-uncompressed.js:1575 -msgid "regex" -msgstr "" - -#: js/editor.js:72 js/editor.js:156 js/editor.js:163 -msgid "Save" -msgstr "" - -#: js/editor.js:74 -msgid "Close" -msgstr "" - -#: js/editor.js:149 -msgid "Saving..." -msgstr "" - -#: js/editor.js:239 -msgid "An error occurred!" -msgstr "" - -#: js/editor.js:266 -msgid "There were unsaved changes, click here to go back" -msgstr "" diff --git a/l10n/gl/files_versions.po b/l10n/gl/files_versions.po index 05d15205747d7ef79d75fe57b13d578e2c270abc..aeb062c08df14b98a799220ad6c9ee19f54a3c69 100644 --- a/l10n/gl/files_versions.po +++ b/l10n/gl/files_versions.po @@ -3,14 +3,16 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# , 2012. +# Miguel Branco , 2012. # Xosé M. Lamas , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-09-22 01:14+0200\n" -"PO-Revision-Date: 2012-09-21 23:15+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-11-30 00:03+0100\n" +"PO-Revision-Date: 2012-11-29 16:08+0000\n" +"Last-Translator: mbouzada \n" "Language-Team: Galician (http://www.transifex.com/projects/p/owncloud/language/gl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -20,11 +22,11 @@ msgstr "" #: js/settings-personal.js:31 templates/settings-personal.php:10 msgid "Expire all versions" -msgstr "Caducar todas as versións" +msgstr "Caducan todas as versións" #: js/versions.js:16 msgid "History" -msgstr "" +msgstr "Historial" #: templates/settings-personal.php:4 msgid "Versions" @@ -32,12 +34,12 @@ msgstr "Versións" #: templates/settings-personal.php:7 msgid "This will delete all existing backup versions of your files" -msgstr "Esto eliminará todas as copias de respaldo existentes dos seus ficheiros" +msgstr "Isto eliminará todas as copias de seguranza que haxa dos seus ficheiros" #: templates/settings.php:3 msgid "Files Versioning" -msgstr "Versionado de ficheiros" +msgstr "Sistema de versión de ficheiros" #: templates/settings.php:4 msgid "Enable" -msgstr "Habilitar" +msgstr "Activar" diff --git a/l10n/gl/gallery.po b/l10n/gl/gallery.po deleted file mode 100644 index 2a62856bb0f512266989ff1a826e85b650275654..0000000000000000000000000000000000000000 --- a/l10n/gl/gallery.po +++ /dev/null @@ -1,96 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# antiparvos , 2012. -# Xosé M. Lamas , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-06-06 00:12+0200\n" -"PO-Revision-Date: 2012-06-05 22:15+0000\n" -"Last-Translator: icewind \n" -"Language-Team: Galician (http://www.transifex.net/projects/p/owncloud/language/gl/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: gl\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: appinfo/app.php:37 -msgid "Pictures" -msgstr "Fotografías" - -#: js/album_cover.js:44 -msgid "Share gallery" -msgstr "" - -#: js/album_cover.js:64 js/album_cover.js:100 js/album_cover.js:133 -msgid "Error: " -msgstr "" - -#: js/album_cover.js:64 js/album_cover.js:100 -msgid "Internal error" -msgstr "" - -#: js/album_cover.js:114 -msgid "Scanning root" -msgstr "" - -#: js/album_cover.js:115 -msgid "Default order" -msgstr "" - -#: js/album_cover.js:116 -msgid "Ascending" -msgstr "" - -#: js/album_cover.js:116 -msgid "Descending" -msgstr "" - -#: js/album_cover.js:117 templates/index.php:19 -msgid "Settings" -msgstr "Configuración" - -#: js/album_cover.js:122 -msgid "Scanning root cannot be empty" -msgstr "" - -#: js/album_cover.js:122 js/album_cover.js:133 -msgid "Error" -msgstr "" - -#: templates/index.php:16 -msgid "Rescan" -msgstr "Analizar de novo" - -#: templates/index.php:17 -msgid "Stop" -msgstr "Parar" - -#: templates/index.php:18 -msgid "Share" -msgstr "Compartir" - -#: templates/view_album.php:19 -msgid "Back" -msgstr "Atrás" - -#: templates/view_album.php:36 -msgid "Remove confirmation" -msgstr "Eliminar confirmación" - -#: templates/view_album.php:37 -msgid "Do you want to remove album" -msgstr "Quere eliminar o album" - -#: templates/view_album.php:40 -msgid "Change album name" -msgstr "Trocar o nome do album" - -#: templates/view_album.php:43 -msgid "New album name" -msgstr "Novo nome do album" diff --git a/l10n/gl/impress.po b/l10n/gl/impress.po deleted file mode 100644 index fe806d8cc67516c7c2537f11b08a28b1323af89b..0000000000000000000000000000000000000000 --- a/l10n/gl/impress.po +++ /dev/null @@ -1,22 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 01:17+0200\n" -"PO-Revision-Date: 2012-08-25 23:18+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Galician (http://www.transifex.com/projects/p/owncloud/language/gl/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: gl\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: templates/presentations.php:7 -msgid "Documentation" -msgstr "" diff --git a/l10n/gl/lib.po b/l10n/gl/lib.po index 677bba794df922633517a7121af99b848198593a..739b0ba67ff2c7293869d675374527c9ee7320df 100644 --- a/l10n/gl/lib.po +++ b/l10n/gl/lib.po @@ -3,14 +3,16 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# , 2012. +# Miguel Branco , 2012. # Xosé M. Lamas , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-09-19 02:02+0200\n" -"PO-Revision-Date: 2012-09-18 09:28+0000\n" -"Last-Translator: Xosé M. Lamas \n" +"POT-Creation-Date: 2012-12-08 00:10+0100\n" +"PO-Revision-Date: 2012-12-06 11:56+0000\n" +"Last-Translator: mbouzada \n" "Language-Team: Galician (http://www.transifex.com/projects/p/owncloud/language/gl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -18,109 +20,136 @@ msgstr "" "Language: gl\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: app.php:285 +#: app.php:287 msgid "Help" msgstr "Axuda" -#: app.php:292 +#: app.php:294 msgid "Personal" -msgstr "Personal" +msgstr "Persoal" -#: app.php:297 +#: app.php:299 msgid "Settings" -msgstr "Preferencias" +msgstr "Configuracións" -#: app.php:302 +#: app.php:304 msgid "Users" msgstr "Usuarios" -#: app.php:309 +#: app.php:311 msgid "Apps" -msgstr "Apps" +msgstr "Aplicativos" -#: app.php:311 +#: app.php:313 msgid "Admin" msgstr "Administración" -#: files.php:280 +#: files.php:361 msgid "ZIP download is turned off." -msgstr "Descargas ZIP está deshabilitadas" +msgstr "As descargas ZIP están desactivadas" -#: files.php:281 +#: files.php:362 msgid "Files need to be downloaded one by one." -msgstr "Os ficheiros necesitan ser descargados de un en un" +msgstr "Os ficheiros necesitan seren descargados de un en un." -#: files.php:281 files.php:306 +#: files.php:362 files.php:387 msgid "Back to Files" -msgstr "Voltar a ficheiros" +msgstr "Volver aos ficheiros" -#: files.php:305 +#: files.php:386 msgid "Selected files too large to generate zip file." -msgstr "Os ficheiros seleccionados son demasiado grandes para xerar un ficheiro ZIP" +msgstr "Os ficheiros seleccionados son demasiado grandes como para xerar un ficheiro zip." #: json.php:28 msgid "Application is not enabled" -msgstr "O aplicativo non está habilitado" +msgstr "O aplicativo non está activado" -#: json.php:39 json.php:63 json.php:75 +#: json.php:39 json.php:64 json.php:77 json.php:89 msgid "Authentication error" -msgstr "Erro na autenticación" +msgstr "Produciuse un erro na autenticación" #: json.php:51 msgid "Token expired. Please reload page." -msgstr "Testemuño caducado. Por favor recargue a páxina." +msgstr "Testemuña caducada. Recargue a páxina." + +#: search/provider/file.php:17 search/provider/file.php:35 +msgid "Files" +msgstr "Ficheiros" -#: template.php:87 +#: search/provider/file.php:26 search/provider/file.php:33 +msgid "Text" +msgstr "Texto" + +#: search/provider/file.php:29 +msgid "Images" +msgstr "Imaxes" + +#: template.php:103 msgid "seconds ago" msgstr "hai segundos" -#: template.php:88 +#: template.php:104 msgid "1 minute ago" msgstr "hai 1 minuto" -#: template.php:89 +#: template.php:105 #, php-format msgid "%d minutes ago" msgstr "hai %d minutos" -#: template.php:92 +#: template.php:106 +msgid "1 hour ago" +msgstr "Vai 1 hora" + +#: template.php:107 +#, php-format +msgid "%d hours ago" +msgstr "Vai %d horas" + +#: template.php:108 msgid "today" msgstr "hoxe" -#: template.php:93 +#: template.php:109 msgid "yesterday" msgstr "onte" -#: template.php:94 +#: template.php:110 #, php-format msgid "%d days ago" msgstr "hai %d días" -#: template.php:95 +#: template.php:111 msgid "last month" msgstr "último mes" -#: template.php:96 -msgid "months ago" -msgstr "meses atrás" +#: template.php:112 +#, php-format +msgid "%d months ago" +msgstr "Vai %d meses" -#: template.php:97 +#: template.php:113 msgid "last year" msgstr "último ano" -#: template.php:98 +#: template.php:114 msgid "years ago" msgstr "anos atrás" -#: updater.php:66 +#: updater.php:75 #, php-format msgid "%s is available. Get more information" -msgstr "%s está dispoñible. Obteña máis información" +msgstr "%s está dispoñíbel. Obtéña máis información" -#: updater.php:68 +#: updater.php:77 msgid "up to date" msgstr "ao día" -#: updater.php:71 +#: updater.php:80 msgid "updates check is disabled" -msgstr "comprobación de actualizacións está deshabilitada" +msgstr "a comprobación de actualizacións está desactivada" + +#: vcategories.php:188 vcategories.php:249 +#, php-format +msgid "Could not find category \"%s\"" +msgstr "Non foi posíbel atopar a categoría «%s»" diff --git a/l10n/gl/media.po b/l10n/gl/media.po deleted file mode 100644 index 16f55e5225d5275b7c2149e5106b18e08449b447..0000000000000000000000000000000000000000 --- a/l10n/gl/media.po +++ /dev/null @@ -1,68 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# antiparvos , 2012. -# Xosé M. Lamas , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-06-06 00:12+0200\n" -"PO-Revision-Date: 2012-06-05 22:15+0000\n" -"Last-Translator: icewind \n" -"Language-Team: Galician (http://www.transifex.net/projects/p/owncloud/language/gl/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: gl\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: appinfo/app.php:32 templates/player.php:8 -msgid "Music" -msgstr "Música" - -#: js/music.js:18 -msgid "Add album to playlist" -msgstr "" - -#: templates/music.php:3 templates/player.php:12 -msgid "Play" -msgstr "Reproducir" - -#: templates/music.php:4 templates/music.php:26 templates/player.php:13 -msgid "Pause" -msgstr "Pausar" - -#: templates/music.php:5 -msgid "Previous" -msgstr "Anterior" - -#: templates/music.php:6 templates/player.php:14 -msgid "Next" -msgstr "Seguinte" - -#: templates/music.php:7 -msgid "Mute" -msgstr "Silenciar" - -#: templates/music.php:8 -msgid "Unmute" -msgstr "Restaurar volume" - -#: templates/music.php:25 -msgid "Rescan Collection" -msgstr "Analizar a colección de novo" - -#: templates/music.php:37 -msgid "Artist" -msgstr "Artista" - -#: templates/music.php:38 -msgid "Album" -msgstr "Álbun" - -#: templates/music.php:39 -msgid "Title" -msgstr "Título" diff --git a/l10n/gl/settings.po b/l10n/gl/settings.po index 276b7836779ee1791088f0c3b704842016672f47..335d35593ba6145e3448b980ae0d1cea6fe56631 100644 --- a/l10n/gl/settings.po +++ b/l10n/gl/settings.po @@ -9,9 +9,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-09 02:03+0200\n" -"PO-Revision-Date: 2012-10-09 00:04+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-12-03 00:04+0100\n" +"PO-Revision-Date: 2012-12-02 21:49+0000\n" +"Last-Translator: Miguel Branco \n" "Language-Team: Galician (http://www.transifex.com/projects/p/owncloud/language/gl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -19,175 +19,91 @@ msgstr "" "Language: gl\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: ajax/apps/ocs.php:23 +#: ajax/apps/ocs.php:20 msgid "Unable to load list from App Store" msgstr "Non se puido cargar a lista desde a App Store" -#: ajax/creategroup.php:9 ajax/removeuser.php:13 ajax/setquota.php:18 -#: ajax/togglegroups.php:15 -msgid "Authentication error" -msgstr "Erro na autenticación" - -#: ajax/creategroup.php:19 +#: ajax/creategroup.php:10 msgid "Group already exists" -msgstr "" +msgstr "O grupo xa existe" -#: ajax/creategroup.php:28 +#: ajax/creategroup.php:19 msgid "Unable to add group" -msgstr "" +msgstr "Non se pode engadir o grupo" -#: ajax/enableapp.php:14 +#: ajax/enableapp.php:12 msgid "Could not enable app. " -msgstr "" +msgstr "Con se puido activar o aplicativo." -#: ajax/lostpassword.php:14 +#: ajax/lostpassword.php:12 msgid "Email saved" msgstr "Correo electrónico gardado" -#: ajax/lostpassword.php:16 +#: ajax/lostpassword.php:14 msgid "Invalid email" msgstr "correo electrónico non válido" -#: ajax/openid.php:16 +#: ajax/openid.php:13 msgid "OpenID Changed" msgstr "Mudou o OpenID" -#: ajax/openid.php:18 ajax/setlanguage.php:20 ajax/setlanguage.php:23 +#: ajax/openid.php:15 ajax/setlanguage.php:17 ajax/setlanguage.php:20 msgid "Invalid request" msgstr "Petición incorrecta" -#: ajax/removegroup.php:16 +#: ajax/removegroup.php:13 msgid "Unable to delete group" -msgstr "" +msgstr "Non se pode eliminar o grupo." -#: ajax/removeuser.php:22 +#: ajax/removeuser.php:15 ajax/setquota.php:15 ajax/togglegroups.php:18 +msgid "Authentication error" +msgstr "Erro na autenticación" + +#: ajax/removeuser.php:24 msgid "Unable to delete user" -msgstr "" +msgstr "Non se pode eliminar o usuario" -#: ajax/setlanguage.php:18 +#: ajax/setlanguage.php:15 msgid "Language changed" msgstr "O idioma mudou" -#: ajax/togglegroups.php:25 +#: ajax/togglegroups.php:12 +msgid "Admins can't remove themself from the admin group" +msgstr "Os administradores non se pode eliminar a si mesmos do grupo admin" + +#: ajax/togglegroups.php:28 #, php-format msgid "Unable to add user to group %s" -msgstr "" +msgstr "Non se puido engadir o usuario ao grupo %s" -#: ajax/togglegroups.php:31 +#: ajax/togglegroups.php:34 #, php-format msgid "Unable to remove user from group %s" -msgstr "" +msgstr "Non se puido eliminar o usuario do grupo %s" -#: js/apps.js:28 js/apps.js:65 +#: js/apps.js:28 js/apps.js:67 msgid "Disable" -msgstr "Deshabilitar" +msgstr "Desactivar" -#: js/apps.js:28 js/apps.js:54 +#: js/apps.js:28 js/apps.js:55 msgid "Enable" -msgstr "Habilitar" +msgstr "Activar" #: js/personal.js:69 msgid "Saving..." msgstr "Gardando..." -#: personal.php:47 personal.php:48 +#: personal.php:42 personal.php:43 msgid "__language_name__" msgstr "Galego" -#: templates/admin.php:14 -msgid "Security Warning" -msgstr "Aviso de seguridade" - -#: templates/admin.php:17 -msgid "" -"Your data directory and your files are probably accessible from the " -"internet. The .htaccess file that ownCloud provides is not working. We " -"strongly suggest that you configure your webserver in a way that the data " -"directory is no longer accessible or you move the data directory outside the" -" webserver document root." -msgstr "" - -#: templates/admin.php:31 -msgid "Cron" -msgstr "Cron" - -#: templates/admin.php:37 -msgid "Execute one task with each page loaded" -msgstr "" - -#: templates/admin.php:43 -msgid "" -"cron.php is registered at a webcron service. Call the cron.php page in the " -"owncloud root once a minute over http." -msgstr "" - -#: templates/admin.php:49 -msgid "" -"Use systems cron service. Call the cron.php file in the owncloud folder via " -"a system cronjob once a minute." -msgstr "" - -#: templates/admin.php:56 -msgid "Sharing" -msgstr "" - -#: templates/admin.php:61 -msgid "Enable Share API" -msgstr "" - -#: templates/admin.php:62 -msgid "Allow apps to use the Share API" -msgstr "" - -#: templates/admin.php:67 -msgid "Allow links" -msgstr "" - -#: templates/admin.php:68 -msgid "Allow users to share items to the public with links" -msgstr "" - -#: templates/admin.php:73 -msgid "Allow resharing" -msgstr "" - -#: templates/admin.php:74 -msgid "Allow users to share items shared with them again" -msgstr "" - -#: templates/admin.php:79 -msgid "Allow users to share with anyone" -msgstr "" - -#: templates/admin.php:81 -msgid "Allow users to only share with users in their groups" -msgstr "" - -#: templates/admin.php:88 -msgid "Log" -msgstr "Conectar" - -#: templates/admin.php:116 -msgid "More" -msgstr "Máis" - -#: templates/admin.php:124 -msgid "" -"Developed by the ownCloud community, the source code is " -"licensed under the AGPL." -msgstr "" - #: templates/apps.php:10 msgid "Add your App" msgstr "Engade o teu aplicativo" #: templates/apps.php:11 msgid "More Apps" -msgstr "" +msgstr "Máis aplicativos" #: templates/apps.php:27 msgid "Select an App" @@ -199,7 +115,7 @@ msgstr "Vexa a páxina do aplicativo en apps.owncloud.com" #: templates/apps.php:32 msgid "-licensed by " -msgstr "" +msgstr "-licenciado por" #: templates/help.php:9 msgid "Documentation" @@ -213,22 +129,22 @@ msgstr "Xestionar Grandes Ficheiros" msgid "Ask a question" msgstr "Pregunte" -#: templates/help.php:23 +#: templates/help.php:22 msgid "Problems connecting to help database." msgstr "Problemas conectando coa base de datos de axuda" -#: templates/help.php:24 +#: templates/help.php:23 msgid "Go there manually." msgstr "Ir manualmente." -#: templates/help.php:32 +#: templates/help.php:31 msgid "Answer" msgstr "Resposta" #: templates/personal.php:8 #, php-format -msgid "You have used %s of the available %s" -msgstr "" +msgid "You have used %s of the available %s" +msgstr "Tes usados %s do total dispoñíbel de %s" #: templates/personal.php:12 msgid "Desktop and Mobile Syncing Clients" @@ -240,7 +156,7 @@ msgstr "Descargar" #: templates/personal.php:19 msgid "Your password was changed" -msgstr "" +msgstr "O seu contrasinal foi cambiado" #: templates/personal.php:20 msgid "Unable to change your password" @@ -286,6 +202,16 @@ msgstr "Axude na tradución" msgid "use this address to connect to your ownCloud in your file manager" msgstr "utilice este enderezo para conectar ao seu ownCloud no xestor de ficheiros" +#: templates/personal.php:61 +msgid "" +"Developed by the ownCloud community, the source code is " +"licensed under the AGPL." +msgstr "Desenvolvido pola comunidade ownCloud, o código fonte está baixo a licenza AGPL." + #: templates/users.php:21 templates/users.php:76 msgid "Name" msgstr "Nome" @@ -304,7 +230,7 @@ msgstr "Crear" #: templates/users.php:35 msgid "Default Quota" -msgstr "Cuota por omisión" +msgstr "Cota por omisión" #: templates/users.php:55 templates/users.php:138 msgid "Other" @@ -312,7 +238,7 @@ msgstr "Outro" #: templates/users.php:80 templates/users.php:112 msgid "Group Admin" -msgstr "" +msgstr "Grupo Admin" #: templates/users.php:82 msgid "Quota" diff --git a/l10n/gl/tasks.po b/l10n/gl/tasks.po deleted file mode 100644 index 39ebfcde7c505e745056c20184727114837916df..0000000000000000000000000000000000000000 --- a/l10n/gl/tasks.po +++ /dev/null @@ -1,106 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:44+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Galician (http://www.transifex.com/projects/p/owncloud/language/gl/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: gl\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: ajax/update_property.php:51 lib/app.php:89 lib/app.php:101 -msgid "Invalid date/time" -msgstr "" - -#: appinfo/app.php:11 -msgid "Tasks" -msgstr "" - -#: js/tasks.js:415 -msgid "No category" -msgstr "" - -#: lib/app.php:33 -msgid "Unspecified" -msgstr "" - -#: lib/app.php:34 -msgid "1=highest" -msgstr "" - -#: lib/app.php:38 -msgid "5=medium" -msgstr "" - -#: lib/app.php:42 -msgid "9=lowest" -msgstr "" - -#: lib/app.php:81 -msgid "Empty Summary" -msgstr "" - -#: lib/app.php:93 -msgid "Invalid percent complete" -msgstr "" - -#: lib/app.php:107 -msgid "Invalid priority" -msgstr "" - -#: templates/tasks.php:3 -msgid "Add Task" -msgstr "" - -#: templates/tasks.php:4 -msgid "Order Due" -msgstr "" - -#: templates/tasks.php:5 -msgid "Order List" -msgstr "" - -#: templates/tasks.php:6 -msgid "Order Complete" -msgstr "" - -#: templates/tasks.php:7 -msgid "Order Location" -msgstr "" - -#: templates/tasks.php:8 -msgid "Order Priority" -msgstr "" - -#: templates/tasks.php:9 -msgid "Order Label" -msgstr "" - -#: templates/tasks.php:16 -msgid "Loading tasks..." -msgstr "" - -#: templates/tasks.php:20 -msgid "Important" -msgstr "" - -#: templates/tasks.php:23 -msgid "More" -msgstr "" - -#: templates/tasks.php:26 -msgid "Less" -msgstr "" - -#: templates/tasks.php:29 -msgid "Delete" -msgstr "" diff --git a/l10n/gl/user_ldap.po b/l10n/gl/user_ldap.po index 84304f7f0a9247c71923886248095f7f3fa263da..8f640a984aacb8eef8483e0d5bb081e80e2e0d4b 100644 --- a/l10n/gl/user_ldap.po +++ b/l10n/gl/user_ldap.po @@ -3,168 +3,170 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# , 2012. +# Miguel Branco, 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-29 02:01+0200\n" -"PO-Revision-Date: 2012-08-29 00:03+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-12-08 00:09+0100\n" +"PO-Revision-Date: 2012-12-06 11:45+0000\n" +"Last-Translator: mbouzada \n" "Language-Team: Galician (http://www.transifex.com/projects/p/owncloud/language/gl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: gl\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" #: templates/settings.php:8 msgid "Host" -msgstr "" +msgstr "Servidor" #: templates/settings.php:8 msgid "" "You can omit the protocol, except you require SSL. Then start with ldaps://" -msgstr "" +msgstr "Pode omitir o protocolo agás que precise de SSL. Nese caso comece con ldaps://" #: templates/settings.php:9 msgid "Base DN" -msgstr "" +msgstr "DN base" #: templates/settings.php:9 msgid "You can specify Base DN for users and groups in the Advanced tab" -msgstr "" +msgstr "Pode especificar a DN base para usuarios e grupos na lapela de «Avanzado»" #: templates/settings.php:10 msgid "User DN" -msgstr "" +msgstr "DN do usuario" #: templates/settings.php:10 msgid "" "The DN of the client user with which the bind shall be done, e.g. " "uid=agent,dc=example,dc=com. For anonymous access, leave DN and Password " "empty." -msgstr "" +msgstr "O DN do cliente do usuario co que hai que estabelecer unha conexión, p.ex uid=axente, dc=exemplo, dc=com. Para o acceso en anónimo de o DN e o contrasinal baleiros." #: templates/settings.php:11 msgid "Password" -msgstr "" +msgstr "Contrasinal" #: templates/settings.php:11 msgid "For anonymous access, leave DN and Password empty." -msgstr "" +msgstr "Para o acceso anónimo deixe o DN e o contrasinal baleiros." #: templates/settings.php:12 msgid "User Login Filter" -msgstr "" +msgstr "Filtro de acceso de usuarios" #: templates/settings.php:12 #, php-format msgid "" "Defines the filter to apply, when login is attempted. %%uid replaces the " "username in the login action." -msgstr "" +msgstr "Define o filtro que se aplica cando se intenta o acceso. %%uid substitúe o nome de usuario e a acción de acceso." #: templates/settings.php:12 #, php-format msgid "use %%uid placeholder, e.g. \"uid=%%uid\"" -msgstr "" +msgstr "usar a marca de posición %%uid, p.ex «uid=%%uid»" #: templates/settings.php:13 msgid "User List Filter" -msgstr "" +msgstr "Filtro da lista de usuarios" #: templates/settings.php:13 msgid "Defines the filter to apply, when retrieving users." -msgstr "" +msgstr "Define o filtro a aplicar cando se recompilan os usuarios." #: templates/settings.php:13 msgid "without any placeholder, e.g. \"objectClass=person\"." -msgstr "" +msgstr "sen ningunha marca de posición, como p.ex «objectClass=persoa»." #: templates/settings.php:14 msgid "Group Filter" -msgstr "" +msgstr "Filtro de grupo" #: templates/settings.php:14 msgid "Defines the filter to apply, when retrieving groups." -msgstr "" +msgstr "Define o filtro a aplicar cando se recompilan os grupos." #: templates/settings.php:14 msgid "without any placeholder, e.g. \"objectClass=posixGroup\"." -msgstr "" +msgstr "sen ningunha marca de posición, como p.ex «objectClass=grupoPosix»." #: templates/settings.php:17 msgid "Port" -msgstr "" +msgstr "Porto" #: templates/settings.php:18 msgid "Base User Tree" -msgstr "" +msgstr "Base da árbore de usuarios" #: templates/settings.php:19 msgid "Base Group Tree" -msgstr "" +msgstr "Base da árbore de grupo" #: templates/settings.php:20 msgid "Group-Member association" -msgstr "" +msgstr "Asociación de grupos e membros" #: templates/settings.php:21 msgid "Use TLS" -msgstr "" +msgstr "Usar TLS" #: templates/settings.php:21 msgid "Do not use it for SSL connections, it will fail." -msgstr "" +msgstr "Non empregualo para conexións SSL: fallará." #: templates/settings.php:22 msgid "Case insensitve LDAP server (Windows)" -msgstr "" +msgstr "Servidor LDAP que non distingue entre maiúsculas e minúsculas (Windows)" #: templates/settings.php:23 msgid "Turn off SSL certificate validation." -msgstr "" +msgstr "Desactiva a validación do certificado SSL." #: templates/settings.php:23 msgid "" "If connection only works with this option, import the LDAP server's SSL " "certificate in your ownCloud server." -msgstr "" +msgstr "Se a conexión só funciona con esta opción importa o certificado SSL do servidor LDAP no seu servidor ownCloud." #: templates/settings.php:23 msgid "Not recommended, use for testing only." -msgstr "" +msgstr "Non se recomenda. Só para probas." #: templates/settings.php:24 msgid "User Display Name Field" -msgstr "" +msgstr "Campo de mostra do nome de usuario" #: templates/settings.php:24 msgid "The LDAP attribute to use to generate the user`s ownCloud name." -msgstr "" +msgstr "O atributo LDAP a empregar para xerar o nome de usuario de ownCloud." #: templates/settings.php:25 msgid "Group Display Name Field" -msgstr "" +msgstr "Campo de mostra do nome de grupo" #: templates/settings.php:25 msgid "The LDAP attribute to use to generate the groups`s ownCloud name." -msgstr "" +msgstr "O atributo LDAP úsase para xerar os nomes dos grupos de ownCloud." #: templates/settings.php:27 msgid "in bytes" -msgstr "" +msgstr "en bytes" #: templates/settings.php:29 msgid "in seconds. A change empties the cache." -msgstr "" +msgstr "en segundos. Calquera cambio baleira a caché." #: templates/settings.php:30 msgid "" "Leave empty for user name (default). Otherwise, specify an LDAP/AD " "attribute." -msgstr "" +msgstr "Deixar baleiro para o nome de usuario (predeterminado). Noutro caso, especifique un atributo LDAP/AD." #: templates/settings.php:32 msgid "Help" -msgstr "" +msgstr "Axuda" diff --git a/l10n/gl/user_migrate.po b/l10n/gl/user_migrate.po deleted file mode 100644 index b36741c479ecbcae86f6fc8b2db22eaa3f85b3de..0000000000000000000000000000000000000000 --- a/l10n/gl/user_migrate.po +++ /dev/null @@ -1,51 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:45+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Galician (http://www.transifex.com/projects/p/owncloud/language/gl/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: gl\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: js/export.js:14 js/export.js:20 -msgid "Export" -msgstr "" - -#: js/export.js:19 -msgid "Something went wrong while the export file was being generated" -msgstr "" - -#: js/export.js:19 -msgid "An error has occurred" -msgstr "" - -#: templates/settings.php:2 -msgid "Export your user account" -msgstr "" - -#: templates/settings.php:3 -msgid "" -"This will create a compressed file that contains your ownCloud account." -msgstr "" - -#: templates/settings.php:13 -msgid "Import user account" -msgstr "" - -#: templates/settings.php:15 -msgid "ownCloud User Zip" -msgstr "" - -#: templates/settings.php:17 -msgid "Import" -msgstr "" diff --git a/l10n/gl/user_openid.po b/l10n/gl/user_openid.po deleted file mode 100644 index 6566b274dfeb17fa4d1df05881326441f0259bd9..0000000000000000000000000000000000000000 --- a/l10n/gl/user_openid.po +++ /dev/null @@ -1,54 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:45+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Galician (http://www.transifex.com/projects/p/owncloud/language/gl/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: gl\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: templates/nomode.php:12 -msgid "This is an OpenID server endpoint. For more information, see " -msgstr "" - -#: templates/nomode.php:14 -msgid "Identity: " -msgstr "" - -#: templates/nomode.php:15 -msgid "Realm: " -msgstr "" - -#: templates/nomode.php:16 -msgid "User: " -msgstr "" - -#: templates/nomode.php:17 -msgid "Login" -msgstr "" - -#: templates/nomode.php:22 -msgid "Error: No user Selected" -msgstr "" - -#: templates/settings.php:4 -msgid "you can authenticate to other sites with this address" -msgstr "" - -#: templates/settings.php:5 -msgid "Authorized OpenID provider" -msgstr "" - -#: templates/settings.php:6 -msgid "Your address at Wordpress, Identi.ca, …" -msgstr "" diff --git a/l10n/gl/files_odfviewer.po b/l10n/gl/user_webdavauth.po similarity index 61% rename from l10n/gl/files_odfviewer.po rename to l10n/gl/user_webdavauth.po index 8508ffbb8eb735346b5b3c91cac48eae82300a01..f2bbfc16c9166dc6dbee4f18db184816edb83370 100644 --- a/l10n/gl/files_odfviewer.po +++ b/l10n/gl/user_webdavauth.po @@ -3,20 +3,21 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# Miguel Branco, 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 02:18+0200\n" -"PO-Revision-Date: 2012-08-26 00:19+0000\n" -"Last-Translator: FULL NAME \n" +"POT-Creation-Date: 2012-11-21 00:01+0100\n" +"PO-Revision-Date: 2012-11-20 16:27+0000\n" +"Last-Translator: Miguel Branco \n" "Language-Team: Galician (http://www.transifex.com/projects/p/owncloud/language/gl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: gl\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: js/viewer.js:9 -msgid "Close" -msgstr "" +#: templates/settings.php:4 +msgid "WebDAV URL: http://" +msgstr "URL WebDAV: http://" diff --git a/l10n/he/admin_dependencies_chk.po b/l10n/he/admin_dependencies_chk.po deleted file mode 100644 index 01c45eae4c9a67d70e86b5094b4982ad65b75460..0000000000000000000000000000000000000000 --- a/l10n/he/admin_dependencies_chk.po +++ /dev/null @@ -1,73 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:33+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Hebrew (http://www.transifex.com/projects/p/owncloud/language/he/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: he\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: settings.php:33 -msgid "" -"The php-json module is needed by the many applications for inter " -"communications" -msgstr "" - -#: settings.php:39 -msgid "" -"The php-curl modude is needed to fetch the page title when adding a " -"bookmarks" -msgstr "" - -#: settings.php:45 -msgid "The php-gd module is needed to create thumbnails of your images" -msgstr "" - -#: settings.php:51 -msgid "The php-ldap module is needed connect to your ldap server" -msgstr "" - -#: settings.php:57 -msgid "The php-zip module is needed download multiple files at once" -msgstr "" - -#: settings.php:63 -msgid "" -"The php-mb_multibyte module is needed to manage correctly the encoding." -msgstr "" - -#: settings.php:69 -msgid "The php-ctype module is needed validate data." -msgstr "" - -#: settings.php:75 -msgid "The php-xml module is needed to share files with webdav." -msgstr "" - -#: settings.php:81 -msgid "" -"The allow_url_fopen directive of your php.ini should be set to 1 to retrieve" -" knowledge base from OCS servers" -msgstr "" - -#: settings.php:87 -msgid "The php-pdo module is needed to store owncloud data into a database." -msgstr "" - -#: templates/settings.php:2 -msgid "Dependencies status" -msgstr "" - -#: templates/settings.php:7 -msgid "Used by :" -msgstr "" diff --git a/l10n/he/admin_migrate.po b/l10n/he/admin_migrate.po deleted file mode 100644 index 6968c6351efc6aca3fc7825fe1498b023e8279ec..0000000000000000000000000000000000000000 --- a/l10n/he/admin_migrate.po +++ /dev/null @@ -1,32 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:32+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Hebrew (http://www.transifex.com/projects/p/owncloud/language/he/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: he\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: templates/settings.php:3 -msgid "Export this ownCloud instance" -msgstr "" - -#: templates/settings.php:4 -msgid "" -"This will create a compressed file that contains the data of this owncloud instance.\n" -" Please choose the export type:" -msgstr "" - -#: templates/settings.php:12 -msgid "Export" -msgstr "" diff --git a/l10n/he/bookmarks.po b/l10n/he/bookmarks.po deleted file mode 100644 index 14546978e037bd5cd6e05313d089075095a1d8b2..0000000000000000000000000000000000000000 --- a/l10n/he/bookmarks.po +++ /dev/null @@ -1,60 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-07-28 02:02+0200\n" -"PO-Revision-Date: 2012-07-27 22:17+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Hebrew (http://www.transifex.com/projects/p/owncloud/language/he/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: he\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: appinfo/app.php:14 -msgid "Bookmarks" -msgstr "" - -#: bookmarksHelper.php:99 -msgid "unnamed" -msgstr "" - -#: templates/bookmarklet.php:5 -msgid "" -"Drag this to your browser bookmarks and click it, when you want to bookmark " -"a webpage quickly:" -msgstr "" - -#: templates/bookmarklet.php:7 -msgid "Read later" -msgstr "" - -#: templates/list.php:13 -msgid "Address" -msgstr "" - -#: templates/list.php:14 -msgid "Title" -msgstr "" - -#: templates/list.php:15 -msgid "Tags" -msgstr "" - -#: templates/list.php:16 -msgid "Save bookmark" -msgstr "" - -#: templates/list.php:22 -msgid "You have no bookmarks" -msgstr "" - -#: templates/settings.php:11 -msgid "Bookmarklet
" -msgstr "" diff --git a/l10n/he/calendar.po b/l10n/he/calendar.po deleted file mode 100644 index 2cbab15c82820594bf4fef771034a0e058ca1ae4..0000000000000000000000000000000000000000 --- a/l10n/he/calendar.po +++ /dev/null @@ -1,817 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Elad Alfassa , 2011. -# , 2012. -# , 2011. -# Yaron Shahrabani , 2011, 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-11 02:02+0200\n" -"PO-Revision-Date: 2012-08-11 00:02+0000\n" -"Last-Translator: owncloud_robot \n" -"Language-Team: Hebrew (http://www.transifex.com/projects/p/owncloud/language/he/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: he\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: ajax/cache/status.php:19 -msgid "Not all calendars are completely cached" -msgstr "" - -#: ajax/cache/status.php:21 -msgid "Everything seems to be completely cached" -msgstr "" - -#: ajax/categories/rescan.php:29 -msgid "No calendars found." -msgstr "לא נמצאו לוחות שנה." - -#: ajax/categories/rescan.php:37 -msgid "No events found." -msgstr "לא נמצאו אירועים." - -#: ajax/event/edit.form.php:20 -msgid "Wrong calendar" -msgstr "לוח שנה לא נכון" - -#: ajax/import/dropimport.php:29 ajax/import/import.php:64 -msgid "" -"The file contained either no events or all events are already saved in your " -"calendar." -msgstr "" - -#: ajax/import/dropimport.php:31 ajax/import/import.php:67 -msgid "events has been saved in the new calendar" -msgstr "" - -#: ajax/import/import.php:56 -msgid "Import failed" -msgstr "" - -#: ajax/import/import.php:69 -msgid "events has been saved in your calendar" -msgstr "" - -#: ajax/settings/guesstimezone.php:25 -msgid "New Timezone:" -msgstr "אזור זמן חדש:" - -#: ajax/settings/settimezone.php:23 -msgid "Timezone changed" -msgstr "אזור זמן השתנה" - -#: ajax/settings/settimezone.php:25 -msgid "Invalid request" -msgstr "בקשה לא חוקית" - -#: appinfo/app.php:35 templates/calendar.php:15 -#: templates/part.eventform.php:33 templates/part.showevent.php:33 -msgid "Calendar" -msgstr "ח שנה" - -#: js/calendar.js:832 -msgid "ddd" -msgstr "ddd" - -#: js/calendar.js:833 -msgid "ddd M/d" -msgstr "ddd M/d" - -#: js/calendar.js:834 -msgid "dddd M/d" -msgstr "dddd M/d" - -#: js/calendar.js:837 -msgid "MMMM yyyy" -msgstr "MMMM yyyy" - -#: js/calendar.js:839 -msgid "MMM d[ yyyy]{ '—'[ MMM] d yyyy}" -msgstr "d MMM [ yyyy]{ '—'d[ MMM] yyyy}" - -#: js/calendar.js:841 -msgid "dddd, MMM d, yyyy" -msgstr "dddd, MMM d, yyyy" - -#: lib/app.php:121 -msgid "Birthday" -msgstr "יום הולדת" - -#: lib/app.php:122 -msgid "Business" -msgstr "עסקים" - -#: lib/app.php:123 -msgid "Call" -msgstr "שיחה" - -#: lib/app.php:124 -msgid "Clients" -msgstr "לקוחות" - -#: lib/app.php:125 -msgid "Deliverer" -msgstr "משלוח" - -#: lib/app.php:126 -msgid "Holidays" -msgstr "חגים" - -#: lib/app.php:127 -msgid "Ideas" -msgstr "רעיונות" - -#: lib/app.php:128 -msgid "Journey" -msgstr "מסע" - -#: lib/app.php:129 -msgid "Jubilee" -msgstr "יובל" - -#: lib/app.php:130 -msgid "Meeting" -msgstr "פגישה" - -#: lib/app.php:131 -msgid "Other" -msgstr "אחר" - -#: lib/app.php:132 -msgid "Personal" -msgstr "אישי" - -#: lib/app.php:133 -msgid "Projects" -msgstr "פרוייקטים" - -#: lib/app.php:134 -msgid "Questions" -msgstr "שאלות" - -#: lib/app.php:135 -msgid "Work" -msgstr "עבודה" - -#: lib/app.php:351 lib/app.php:361 -msgid "by" -msgstr "" - -#: lib/app.php:359 lib/app.php:399 -msgid "unnamed" -msgstr "ללא שם" - -#: lib/import.php:184 templates/calendar.php:12 -#: templates/part.choosecalendar.php:22 -msgid "New Calendar" -msgstr "לוח שנה חדש" - -#: lib/object.php:372 -msgid "Does not repeat" -msgstr "ללא חזרה" - -#: lib/object.php:373 -msgid "Daily" -msgstr "יומי" - -#: lib/object.php:374 -msgid "Weekly" -msgstr "שבועי" - -#: lib/object.php:375 -msgid "Every Weekday" -msgstr "כל יום עבודה" - -#: lib/object.php:376 -msgid "Bi-Weekly" -msgstr "דו שבועי" - -#: lib/object.php:377 -msgid "Monthly" -msgstr "חודשי" - -#: lib/object.php:378 -msgid "Yearly" -msgstr "שנתי" - -#: lib/object.php:388 -msgid "never" -msgstr "לעולם לא" - -#: lib/object.php:389 -msgid "by occurrences" -msgstr "לפי מופעים" - -#: lib/object.php:390 -msgid "by date" -msgstr "לפי תאריך" - -#: lib/object.php:400 -msgid "by monthday" -msgstr "לפי היום בחודש" - -#: lib/object.php:401 -msgid "by weekday" -msgstr "לפי היום בשבוע" - -#: lib/object.php:411 templates/calendar.php:5 templates/settings.php:69 -msgid "Monday" -msgstr "יום שני" - -#: lib/object.php:412 templates/calendar.php:5 -msgid "Tuesday" -msgstr "יום שלישי" - -#: lib/object.php:413 templates/calendar.php:5 -msgid "Wednesday" -msgstr "יום רביעי" - -#: lib/object.php:414 templates/calendar.php:5 -msgid "Thursday" -msgstr "יום חמישי" - -#: lib/object.php:415 templates/calendar.php:5 -msgid "Friday" -msgstr "יום שישי" - -#: lib/object.php:416 templates/calendar.php:5 -msgid "Saturday" -msgstr "שבת" - -#: lib/object.php:417 templates/calendar.php:5 templates/settings.php:70 -msgid "Sunday" -msgstr "יום ראשון" - -#: lib/object.php:427 -msgid "events week of month" -msgstr "שבוע בחודש לציון הפעילות" - -#: lib/object.php:428 -msgid "first" -msgstr "ראשון" - -#: lib/object.php:429 -msgid "second" -msgstr "שני" - -#: lib/object.php:430 -msgid "third" -msgstr "שלישי" - -#: lib/object.php:431 -msgid "fourth" -msgstr "רביעי" - -#: lib/object.php:432 -msgid "fifth" -msgstr "חמישי" - -#: lib/object.php:433 -msgid "last" -msgstr "אחרון" - -#: lib/object.php:467 templates/calendar.php:7 -msgid "January" -msgstr "ינואר" - -#: lib/object.php:468 templates/calendar.php:7 -msgid "February" -msgstr "פברואר" - -#: lib/object.php:469 templates/calendar.php:7 -msgid "March" -msgstr "מרץ" - -#: lib/object.php:470 templates/calendar.php:7 -msgid "April" -msgstr "אפריל" - -#: lib/object.php:471 templates/calendar.php:7 -msgid "May" -msgstr "מאי" - -#: lib/object.php:472 templates/calendar.php:7 -msgid "June" -msgstr "יוני" - -#: lib/object.php:473 templates/calendar.php:7 -msgid "July" -msgstr "יולי" - -#: lib/object.php:474 templates/calendar.php:7 -msgid "August" -msgstr "אוגוסט" - -#: lib/object.php:475 templates/calendar.php:7 -msgid "September" -msgstr "ספטמבר" - -#: lib/object.php:476 templates/calendar.php:7 -msgid "October" -msgstr "אוקטובר" - -#: lib/object.php:477 templates/calendar.php:7 -msgid "November" -msgstr "נובמבר" - -#: lib/object.php:478 templates/calendar.php:7 -msgid "December" -msgstr "דצמבר" - -#: lib/object.php:488 -msgid "by events date" -msgstr "לפי תאריכי האירועים" - -#: lib/object.php:489 -msgid "by yearday(s)" -msgstr "לפי ימים בשנה" - -#: lib/object.php:490 -msgid "by weeknumber(s)" -msgstr "לפי מספרי השבועות" - -#: lib/object.php:491 -msgid "by day and month" -msgstr "לפי יום וחודש" - -#: lib/search.php:35 lib/search.php:37 lib/search.php:40 -msgid "Date" -msgstr "תאריך" - -#: lib/search.php:43 -msgid "Cal." -msgstr "לוח שנה" - -#: templates/calendar.php:6 -msgid "Sun." -msgstr "" - -#: templates/calendar.php:6 -msgid "Mon." -msgstr "" - -#: templates/calendar.php:6 -msgid "Tue." -msgstr "" - -#: templates/calendar.php:6 -msgid "Wed." -msgstr "" - -#: templates/calendar.php:6 -msgid "Thu." -msgstr "" - -#: templates/calendar.php:6 -msgid "Fri." -msgstr "" - -#: templates/calendar.php:6 -msgid "Sat." -msgstr "" - -#: templates/calendar.php:8 -msgid "Jan." -msgstr "" - -#: templates/calendar.php:8 -msgid "Feb." -msgstr "" - -#: templates/calendar.php:8 -msgid "Mar." -msgstr "" - -#: templates/calendar.php:8 -msgid "Apr." -msgstr "" - -#: templates/calendar.php:8 -msgid "May." -msgstr "" - -#: templates/calendar.php:8 -msgid "Jun." -msgstr "" - -#: templates/calendar.php:8 -msgid "Jul." -msgstr "" - -#: templates/calendar.php:8 -msgid "Aug." -msgstr "" - -#: templates/calendar.php:8 -msgid "Sep." -msgstr "" - -#: templates/calendar.php:8 -msgid "Oct." -msgstr "" - -#: templates/calendar.php:8 -msgid "Nov." -msgstr "" - -#: templates/calendar.php:8 -msgid "Dec." -msgstr "" - -#: templates/calendar.php:11 -msgid "All day" -msgstr "היום" - -#: templates/calendar.php:13 -msgid "Missing fields" -msgstr "שדות חסרים" - -#: templates/calendar.php:14 templates/part.eventform.php:19 -#: templates/part.showevent.php:11 -msgid "Title" -msgstr "כותרת" - -#: templates/calendar.php:16 -msgid "From Date" -msgstr "מתאריך" - -#: templates/calendar.php:17 -msgid "From Time" -msgstr "משעה" - -#: templates/calendar.php:18 -msgid "To Date" -msgstr "עד תאריך" - -#: templates/calendar.php:19 -msgid "To Time" -msgstr "עד שעה" - -#: templates/calendar.php:20 -msgid "The event ends before it starts" -msgstr "האירוע מסתיים עוד לפני שהתחיל" - -#: templates/calendar.php:21 -msgid "There was a database fail" -msgstr "אירע כשל במסד הנתונים" - -#: templates/calendar.php:39 -msgid "Week" -msgstr "שבוע" - -#: templates/calendar.php:40 -msgid "Month" -msgstr "חודש" - -#: templates/calendar.php:41 -msgid "List" -msgstr "רשימה" - -#: templates/calendar.php:45 -msgid "Today" -msgstr "היום" - -#: templates/calendar.php:46 templates/calendar.php:47 -msgid "Settings" -msgstr "" - -#: templates/part.choosecalendar.php:2 -msgid "Your calendars" -msgstr "לוחות השנה שלך" - -#: templates/part.choosecalendar.php:27 -#: templates/part.choosecalendar.rowfields.php:11 -msgid "CalDav Link" -msgstr "קישור CalDav" - -#: templates/part.choosecalendar.php:31 -msgid "Shared calendars" -msgstr "לוחות שנה מושתפים" - -#: templates/part.choosecalendar.php:48 -msgid "No shared calendars" -msgstr "אין לוחות שנה משותפים" - -#: templates/part.choosecalendar.rowfields.php:8 -msgid "Share Calendar" -msgstr "שיתוף לוח שנה" - -#: templates/part.choosecalendar.rowfields.php:14 -msgid "Download" -msgstr "הורדה" - -#: templates/part.choosecalendar.rowfields.php:17 -msgid "Edit" -msgstr "עריכה" - -#: templates/part.choosecalendar.rowfields.php:20 -#: templates/part.editevent.php:9 -msgid "Delete" -msgstr "מחיקה" - -#: templates/part.choosecalendar.rowfields.shared.php:4 -msgid "shared with you by" -msgstr "שותף אתך על ידי" - -#: templates/part.editcalendar.php:9 -msgid "New calendar" -msgstr "לוח שנה חדש" - -#: templates/part.editcalendar.php:9 -msgid "Edit calendar" -msgstr "עריכת לוח שנה" - -#: templates/part.editcalendar.php:12 -msgid "Displayname" -msgstr "שם תצוגה" - -#: templates/part.editcalendar.php:23 -msgid "Active" -msgstr "פעיל" - -#: templates/part.editcalendar.php:29 -msgid "Calendar color" -msgstr "צבע לוח שנה" - -#: templates/part.editcalendar.php:42 -msgid "Save" -msgstr "שמירה" - -#: templates/part.editcalendar.php:42 templates/part.editevent.php:8 -#: templates/part.newevent.php:6 -msgid "Submit" -msgstr "שליחה" - -#: templates/part.editcalendar.php:43 -msgid "Cancel" -msgstr "ביטול" - -#: templates/part.editevent.php:1 -msgid "Edit an event" -msgstr "עריכת אירוע" - -#: templates/part.editevent.php:10 -msgid "Export" -msgstr "יצוא" - -#: templates/part.eventform.php:8 templates/part.showevent.php:3 -msgid "Eventinfo" -msgstr "פרטי האירוע" - -#: templates/part.eventform.php:9 templates/part.showevent.php:4 -msgid "Repeating" -msgstr "חוזר" - -#: templates/part.eventform.php:10 templates/part.showevent.php:5 -msgid "Alarm" -msgstr "תזכורת" - -#: templates/part.eventform.php:11 templates/part.showevent.php:6 -msgid "Attendees" -msgstr "משתתפים" - -#: templates/part.eventform.php:13 -msgid "Share" -msgstr "שיתוף" - -#: templates/part.eventform.php:21 -msgid "Title of the Event" -msgstr "כותרת האירוע" - -#: templates/part.eventform.php:27 templates/part.showevent.php:19 -msgid "Category" -msgstr "קטגוריה" - -#: templates/part.eventform.php:29 -msgid "Separate categories with commas" -msgstr "הפרדת קטגוריות בפסיק" - -#: templates/part.eventform.php:30 -msgid "Edit categories" -msgstr "עריכת קטגוריות" - -#: templates/part.eventform.php:56 templates/part.showevent.php:52 -msgid "All Day Event" -msgstr "אירוע של כל היום" - -#: templates/part.eventform.php:60 templates/part.showevent.php:56 -msgid "From" -msgstr "מאת" - -#: templates/part.eventform.php:68 templates/part.showevent.php:64 -msgid "To" -msgstr "עבור" - -#: templates/part.eventform.php:76 templates/part.showevent.php:72 -msgid "Advanced options" -msgstr "אפשרויות מתקדמות" - -#: templates/part.eventform.php:81 templates/part.showevent.php:77 -msgid "Location" -msgstr "מיקום" - -#: templates/part.eventform.php:83 -msgid "Location of the Event" -msgstr "מיקום האירוע" - -#: templates/part.eventform.php:89 templates/part.showevent.php:85 -msgid "Description" -msgstr "תיאור" - -#: templates/part.eventform.php:91 -msgid "Description of the Event" -msgstr "תיאור האירוע" - -#: templates/part.eventform.php:100 templates/part.showevent.php:95 -msgid "Repeat" -msgstr "חזרה" - -#: templates/part.eventform.php:107 templates/part.showevent.php:102 -msgid "Advanced" -msgstr "מתקדם" - -#: templates/part.eventform.php:151 templates/part.showevent.php:146 -msgid "Select weekdays" -msgstr "יש לבחור ימים בשבוע" - -#: templates/part.eventform.php:164 templates/part.eventform.php:177 -#: templates/part.showevent.php:159 templates/part.showevent.php:172 -msgid "Select days" -msgstr "יש לבחור בימים" - -#: templates/part.eventform.php:169 templates/part.showevent.php:164 -msgid "and the events day of year." -msgstr "ויום האירוע בשנה." - -#: templates/part.eventform.php:182 templates/part.showevent.php:177 -msgid "and the events day of month." -msgstr "ויום האירוע בחודש." - -#: templates/part.eventform.php:190 templates/part.showevent.php:185 -msgid "Select months" -msgstr "יש לבחור בחודשים" - -#: templates/part.eventform.php:203 templates/part.showevent.php:198 -msgid "Select weeks" -msgstr "יש לבחור בשבועות" - -#: templates/part.eventform.php:208 templates/part.showevent.php:203 -msgid "and the events week of year." -msgstr "ומספור השבוע הפעיל בשנה." - -#: templates/part.eventform.php:214 templates/part.showevent.php:209 -msgid "Interval" -msgstr "משך" - -#: templates/part.eventform.php:220 templates/part.showevent.php:215 -msgid "End" -msgstr "סיום" - -#: templates/part.eventform.php:233 templates/part.showevent.php:228 -msgid "occurrences" -msgstr "מופעים" - -#: templates/part.import.php:14 -msgid "create a new calendar" -msgstr "יצירת לוח שנה חדש" - -#: templates/part.import.php:17 -msgid "Import a calendar file" -msgstr "יבוא קובץ לוח שנה" - -#: templates/part.import.php:24 -msgid "Please choose a calendar" -msgstr "" - -#: templates/part.import.php:36 -msgid "Name of new calendar" -msgstr "שם לוח השנה החדש" - -#: templates/part.import.php:44 -msgid "Take an available name!" -msgstr "" - -#: templates/part.import.php:45 -msgid "" -"A Calendar with this name already exists. If you continue anyhow, these " -"calendars will be merged." -msgstr "" - -#: templates/part.import.php:47 -msgid "Import" -msgstr "יבוא" - -#: templates/part.import.php:56 -msgid "Close Dialog" -msgstr "סגירת הדו־שיח" - -#: templates/part.newevent.php:1 -msgid "Create a new event" -msgstr "יצירת אירוע חדש" - -#: templates/part.showevent.php:1 -msgid "View an event" -msgstr "צפייה באירוע" - -#: templates/part.showevent.php:23 -msgid "No categories selected" -msgstr "לא נבחרו קטגוריות" - -#: templates/part.showevent.php:37 -msgid "of" -msgstr "מתוך" - -#: templates/part.showevent.php:59 templates/part.showevent.php:67 -msgid "at" -msgstr "בשנה" - -#: templates/settings.php:10 -msgid "General" -msgstr "" - -#: templates/settings.php:15 -msgid "Timezone" -msgstr "אזור זמן" - -#: templates/settings.php:47 -msgid "Update timezone automatically" -msgstr "" - -#: templates/settings.php:52 -msgid "Time format" -msgstr "" - -#: templates/settings.php:57 -msgid "24h" -msgstr "24 שעות" - -#: templates/settings.php:58 -msgid "12h" -msgstr "12 שעות" - -#: templates/settings.php:64 -msgid "Start week on" -msgstr "" - -#: templates/settings.php:76 -msgid "Cache" -msgstr "" - -#: templates/settings.php:80 -msgid "Clear cache for repeating events" -msgstr "" - -#: templates/settings.php:85 -msgid "URLs" -msgstr "" - -#: templates/settings.php:87 -msgid "Calendar CalDAV syncing addresses" -msgstr "" - -#: templates/settings.php:87 -msgid "more info" -msgstr "" - -#: templates/settings.php:89 -msgid "Primary address (Kontact et al)" -msgstr "" - -#: templates/settings.php:91 -msgid "iOS/OS X" -msgstr "" - -#: templates/settings.php:93 -msgid "Read only iCalendar link(s)" -msgstr "" - -#: templates/share.dropdown.php:20 -msgid "Users" -msgstr "משתמשים" - -#: templates/share.dropdown.php:21 -msgid "select users" -msgstr "נא לבחור במשתמשים" - -#: templates/share.dropdown.php:36 templates/share.dropdown.php:62 -msgid "Editable" -msgstr "ניתן לעריכה" - -#: templates/share.dropdown.php:48 -msgid "Groups" -msgstr "קבוצות" - -#: templates/share.dropdown.php:49 -msgid "select groups" -msgstr "בחירת קבוצות" - -#: templates/share.dropdown.php:75 -msgid "make public" -msgstr "הפיכה לציבורי" diff --git a/l10n/he/contacts.po b/l10n/he/contacts.po deleted file mode 100644 index df2a4bdc4e74a32a7ad5b0e608e6b488b6172ea8..0000000000000000000000000000000000000000 --- a/l10n/he/contacts.po +++ /dev/null @@ -1,955 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# , 2012. -# , 2011. -# Yaron Shahrabani , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-24 02:02+0200\n" -"PO-Revision-Date: 2012-08-24 00:03+0000\n" -"Last-Translator: I Robot \n" -"Language-Team: Hebrew (http://www.transifex.com/projects/p/owncloud/language/he/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: he\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: ajax/addressbook/activate.php:24 ajax/addressbook/update.php:32 -msgid "Error (de)activating addressbook." -msgstr "שגיאה בהפעלה או בנטרול פנקס הכתובות." - -#: ajax/addressbook/delete.php:31 ajax/addressbook/update.php:20 -#: ajax/contact/addproperty.php:42 ajax/contact/delete.php:32 -#: ajax/contact/saveproperty.php:39 -msgid "id is not set." -msgstr "מספר מזהה לא נקבע." - -#: ajax/addressbook/update.php:24 -msgid "Cannot update addressbook with an empty name." -msgstr "אי אפשר לעדכן ספר כתובות ללא שם" - -#: ajax/addressbook/update.php:28 -msgid "Error updating addressbook." -msgstr "שגיאה בעדכון פנקס הכתובות." - -#: ajax/categories/categoriesfor.php:17 -msgid "No ID provided" -msgstr "לא צוין מזהה" - -#: ajax/categories/categoriesfor.php:34 -msgid "Error setting checksum." -msgstr "שגיאה בהגדרת נתוני הביקורת." - -#: ajax/categories/delete.php:19 -msgid "No categories selected for deletion." -msgstr "לא נבחור קטגוריות למחיקה." - -#: ajax/categories/delete.php:26 -msgid "No address books found." -msgstr "לא נמצאו פנקסי כתובות." - -#: ajax/categories/delete.php:34 -msgid "No contacts found." -msgstr "לא נמצאו אנשי קשר." - -#: ajax/contact/add.php:47 -msgid "There was an error adding the contact." -msgstr "אירעה שגיאה בעת הוספת איש הקשר." - -#: ajax/contact/addproperty.php:39 ajax/contact/saveproperty.php:36 -msgid "element name is not set." -msgstr "שם האלמנט לא נקבע." - -#: ajax/contact/addproperty.php:46 -msgid "Could not parse contact: " -msgstr "" - -#: ajax/contact/addproperty.php:56 -msgid "Cannot add empty property." -msgstr "לא ניתן להוסיף מאפיין ריק." - -#: ajax/contact/addproperty.php:67 -msgid "At least one of the address fields has to be filled out." -msgstr "יש למלא לפחות אחד משדות הכתובת." - -#: ajax/contact/addproperty.php:76 -msgid "Trying to add duplicate property: " -msgstr "ניסיון להוספת מאפיין כפול: " - -#: ajax/contact/addproperty.php:115 ajax/contact/saveproperty.php:93 -msgid "Missing IM parameter." -msgstr "" - -#: ajax/contact/addproperty.php:119 ajax/contact/saveproperty.php:97 -msgid "Unknown IM: " -msgstr "" - -#: ajax/contact/deleteproperty.php:37 -msgid "Information about vCard is incorrect. Please reload the page." -msgstr "המידע אודות vCard אינו נכון. נא לטעון מחדש את הדף." - -#: ajax/contact/details.php:31 -msgid "Missing ID" -msgstr "מזהה חסר" - -#: ajax/contact/details.php:36 -msgid "Error parsing VCard for ID: \"" -msgstr "שגיאה בפענוח ה VCard עבור מספר המזהה: \"" - -#: ajax/contact/saveproperty.php:42 -msgid "checksum is not set." -msgstr "סיכום ביקורת לא נקבע." - -#: ajax/contact/saveproperty.php:62 -msgid "Information about vCard is incorrect. Please reload the page: " -msgstr "המידע עבור ה vCard אינו נכון. אנא טען את העמוד: " - -#: ajax/contact/saveproperty.php:69 -msgid "Something went FUBAR. " -msgstr "משהו לא התנהל כצפוי." - -#: ajax/currentphoto.php:30 ajax/oc_photo.php:28 ajax/uploadphoto.php:36 -#: ajax/uploadphoto.php:68 -msgid "No contact ID was submitted." -msgstr "מספר מזהה של אישר הקשר לא נשלח." - -#: ajax/currentphoto.php:36 -msgid "Error reading contact photo." -msgstr "שגיאה בקריאת תמונת איש הקשר." - -#: ajax/currentphoto.php:48 -msgid "Error saving temporary file." -msgstr "שגיאה בשמירת קובץ זמני." - -#: ajax/currentphoto.php:51 -msgid "The loading photo is not valid." -msgstr "התמונה הנטענת אינה תקנית." - -#: ajax/editname.php:31 -msgid "Contact ID is missing." -msgstr "מספר מזהה של אישר הקשר חסר." - -#: ajax/oc_photo.php:32 -msgid "No photo path was submitted." -msgstr "כתובת התמונה לא נשלחה" - -#: ajax/oc_photo.php:39 -msgid "File doesn't exist:" -msgstr "קובץ לא קיים:" - -#: ajax/oc_photo.php:44 ajax/oc_photo.php:47 -msgid "Error loading image." -msgstr "שגיאה בטעינת התמונה." - -#: ajax/savecrop.php:69 -msgid "Error getting contact object." -msgstr "שגיאה בקבלת אוביאקט איש הקשר" - -#: ajax/savecrop.php:79 -msgid "Error getting PHOTO property." -msgstr "שגיאה בקבלת מידע של תמונה" - -#: ajax/savecrop.php:98 -msgid "Error saving contact." -msgstr "שגיאה בשמירת איש הקשר" - -#: ajax/savecrop.php:109 -msgid "Error resizing image" -msgstr "שגיאה בשינוי גודל התמונה" - -#: ajax/savecrop.php:112 -msgid "Error cropping image" -msgstr "" - -#: ajax/savecrop.php:115 -msgid "Error creating temporary image" -msgstr "" - -#: ajax/savecrop.php:118 -msgid "Error finding image: " -msgstr "" - -#: ajax/uploadimport.php:44 ajax/uploadimport.php:76 -msgid "Error uploading contacts to storage." -msgstr "התרשה שגיאה בהעלאת אנשי הקשר לאכסון." - -#: ajax/uploadimport.php:61 ajax/uploadphoto.php:77 -msgid "There is no error, the file uploaded with success" -msgstr "לא התרחשה שגיאה, הקובץ הועלה בהצלחה" - -#: ajax/uploadimport.php:62 ajax/uploadphoto.php:78 -msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" -msgstr "גודל הקובץ שהועלה גדול מהערך upload_max_filesize שמוגדר בקובץ php.ini" - -#: ajax/uploadimport.php:63 ajax/uploadphoto.php:79 -msgid "" -"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " -"the HTML form" -msgstr "הקובץ שהועלה גדוך מהערך MAX_FILE_SIZE שהוגדר בתופס HTML" - -#: ajax/uploadimport.php:64 ajax/uploadphoto.php:80 -msgid "The uploaded file was only partially uploaded" -msgstr "הקובץ הועלה באופן חלקי בלבד" - -#: ajax/uploadimport.php:65 ajax/uploadphoto.php:81 -msgid "No file was uploaded" -msgstr "שום קובץ לא הועלה" - -#: ajax/uploadimport.php:66 ajax/uploadphoto.php:82 -msgid "Missing a temporary folder" -msgstr "תקיה זמנית חסרה" - -#: ajax/uploadphoto.php:59 ajax/uploadphoto.php:109 -msgid "Couldn't save temporary image: " -msgstr "" - -#: ajax/uploadphoto.php:62 ajax/uploadphoto.php:112 -msgid "Couldn't load temporary image: " -msgstr "" - -#: ajax/uploadphoto.php:71 -msgid "No file was uploaded. Unknown error" -msgstr "" - -#: appinfo/app.php:21 -msgid "Contacts" -msgstr "אנשי קשר" - -#: js/contacts.js:71 -msgid "Sorry, this functionality has not been implemented yet" -msgstr "" - -#: js/contacts.js:71 -msgid "Not implemented" -msgstr "" - -#: js/contacts.js:76 -msgid "Couldn't get a valid address." -msgstr "" - -#: js/contacts.js:76 js/contacts.js:365 js/contacts.js:381 js/contacts.js:393 -#: js/contacts.js:723 js/contacts.js:763 js/contacts.js:789 js/contacts.js:921 -#: js/contacts.js:927 js/contacts.js:939 js/contacts.js:976 -#: js/contacts.js:1250 js/contacts.js:1258 js/contacts.js:1267 -#: js/contacts.js:1302 js/contacts.js:1338 js/contacts.js:1353 -#: js/contacts.js:1379 js/contacts.js:1609 js/contacts.js:1644 -#: js/contacts.js:1664 js/settings.js:26 js/settings.js:43 js/settings.js:68 -msgid "Error" -msgstr "" - -#: js/contacts.js:424 -msgid "You do not have permission to add contacts to " -msgstr "" - -#: js/contacts.js:425 -msgid "Please select one of your own address books." -msgstr "" - -#: js/contacts.js:425 -msgid "Permission error" -msgstr "" - -#: js/contacts.js:763 -msgid "This property has to be non-empty." -msgstr "" - -#: js/contacts.js:789 -msgid "Couldn't serialize elements." -msgstr "" - -#: js/contacts.js:921 js/contacts.js:939 -msgid "" -"'deleteProperty' called without type argument. Please report at " -"bugs.owncloud.org" -msgstr "" - -#: js/contacts.js:958 -msgid "Edit name" -msgstr "" - -#: js/contacts.js:1250 -msgid "No files selected for upload." -msgstr "" - -#: js/contacts.js:1258 -msgid "" -"The file you are trying to upload exceed the maximum size for file uploads " -"on this server." -msgstr "" - -#: js/contacts.js:1322 -msgid "Error loading profile picture." -msgstr "" - -#: js/contacts.js:1457 js/contacts.js:1498 js/contacts.js:1517 -#: js/contacts.js:1560 -msgid "Select type" -msgstr "" - -#: js/contacts.js:1578 -msgid "" -"Some contacts are marked for deletion, but not deleted yet. Please wait for " -"them to be deleted." -msgstr "" - -#: js/contacts.js:1649 -msgid "Do you want to merge these address books?" -msgstr "" - -#: js/loader.js:49 -msgid "Result: " -msgstr "" - -#: js/loader.js:49 -msgid " imported, " -msgstr "" - -#: js/loader.js:49 -msgid " failed." -msgstr "" - -#: js/settings.js:68 -msgid "Displayname cannot be empty." -msgstr "" - -#: lib/app.php:36 -msgid "Addressbook not found: " -msgstr "" - -#: lib/app.php:52 -msgid "This is not your addressbook." -msgstr "זהו אינו ספר הכתובות שלך" - -#: lib/app.php:71 -msgid "Contact could not be found." -msgstr "לא ניתן לאתר איש קשר" - -#: lib/app.php:116 -msgid "Jabber" -msgstr "" - -#: lib/app.php:121 -msgid "AIM" -msgstr "" - -#: lib/app.php:126 -msgid "MSN" -msgstr "" - -#: lib/app.php:131 -msgid "Twitter" -msgstr "" - -#: lib/app.php:136 -msgid "GoogleTalk" -msgstr "" - -#: lib/app.php:141 -msgid "Facebook" -msgstr "" - -#: lib/app.php:146 -msgid "XMPP" -msgstr "" - -#: lib/app.php:151 -msgid "ICQ" -msgstr "" - -#: lib/app.php:156 -msgid "Yahoo" -msgstr "" - -#: lib/app.php:161 -msgid "Skype" -msgstr "" - -#: lib/app.php:166 -msgid "QQ" -msgstr "" - -#: lib/app.php:171 -msgid "GaduGadu" -msgstr "" - -#: lib/app.php:194 lib/app.php:202 lib/app.php:213 lib/app.php:266 -msgid "Work" -msgstr "עבודה" - -#: lib/app.php:195 lib/app.php:200 lib/app.php:214 -msgid "Home" -msgstr "בית" - -#: lib/app.php:196 lib/app.php:209 lib/app.php:262 lib/vcard.php:593 -msgid "Other" -msgstr "" - -#: lib/app.php:201 -msgid "Mobile" -msgstr "נייד" - -#: lib/app.php:203 -msgid "Text" -msgstr "טקסט" - -#: lib/app.php:204 -msgid "Voice" -msgstr "קולי" - -#: lib/app.php:205 -msgid "Message" -msgstr "הודעה" - -#: lib/app.php:206 -msgid "Fax" -msgstr "פקס" - -#: lib/app.php:207 -msgid "Video" -msgstr "וידאו" - -#: lib/app.php:208 -msgid "Pager" -msgstr "זימונית" - -#: lib/app.php:215 -msgid "Internet" -msgstr "אינטרנט" - -#: lib/app.php:252 templates/part.contact.php:45 -#: templates/part.contact.php:128 -msgid "Birthday" -msgstr "יום הולדת" - -#: lib/app.php:253 -msgid "Business" -msgstr "" - -#: lib/app.php:254 -msgid "Call" -msgstr "" - -#: lib/app.php:255 -msgid "Clients" -msgstr "" - -#: lib/app.php:256 -msgid "Deliverer" -msgstr "" - -#: lib/app.php:257 -msgid "Holidays" -msgstr "" - -#: lib/app.php:258 -msgid "Ideas" -msgstr "" - -#: lib/app.php:259 -msgid "Journey" -msgstr "" - -#: lib/app.php:260 -msgid "Jubilee" -msgstr "" - -#: lib/app.php:261 -msgid "Meeting" -msgstr "" - -#: lib/app.php:263 -msgid "Personal" -msgstr "" - -#: lib/app.php:264 -msgid "Projects" -msgstr "" - -#: lib/app.php:265 -msgid "Questions" -msgstr "" - -#: lib/hooks.php:102 -msgid "{name}'s Birthday" -msgstr "יום ההולדת של {name}" - -#: lib/search.php:15 -msgid "Contact" -msgstr "איש קשר" - -#: lib/vcard.php:408 -msgid "You do not have the permissions to edit this contact." -msgstr "" - -#: lib/vcard.php:483 -msgid "You do not have the permissions to delete this contact." -msgstr "" - -#: templates/index.php:14 -msgid "Add Contact" -msgstr "הוספת איש קשר" - -#: templates/index.php:15 templates/index.php:16 templates/part.import.php:17 -msgid "Import" -msgstr "יבא" - -#: templates/index.php:18 -msgid "Settings" -msgstr "" - -#: templates/index.php:18 templates/settings.php:9 -msgid "Addressbooks" -msgstr "פנקסי כתובות" - -#: templates/index.php:36 templates/part.import.php:24 -msgid "Close" -msgstr "" - -#: templates/index.php:37 -msgid "Keyboard shortcuts" -msgstr "" - -#: templates/index.php:39 -msgid "Navigation" -msgstr "" - -#: templates/index.php:42 -msgid "Next contact in list" -msgstr "" - -#: templates/index.php:44 -msgid "Previous contact in list" -msgstr "" - -#: templates/index.php:46 -msgid "Expand/collapse current addressbook" -msgstr "" - -#: templates/index.php:48 -msgid "Next addressbook" -msgstr "" - -#: templates/index.php:50 -msgid "Previous addressbook" -msgstr "" - -#: templates/index.php:54 -msgid "Actions" -msgstr "" - -#: templates/index.php:57 -msgid "Refresh contacts list" -msgstr "" - -#: templates/index.php:59 -msgid "Add new contact" -msgstr "" - -#: templates/index.php:61 -msgid "Add new addressbook" -msgstr "" - -#: templates/index.php:63 -msgid "Delete current contact" -msgstr "" - -#: templates/part.contact.php:17 -msgid "Drop photo to upload" -msgstr "גרור ושחרר תמונה בשביל להעלות" - -#: templates/part.contact.php:19 -msgid "Delete current photo" -msgstr "מחק תמונה נוכחית" - -#: templates/part.contact.php:20 -msgid "Edit current photo" -msgstr "ערוך תמונה נוכחית" - -#: templates/part.contact.php:21 -msgid "Upload new photo" -msgstr "העלה תמונה חדשה" - -#: templates/part.contact.php:22 -msgid "Select photo from ownCloud" -msgstr "בחר תמונה מ ownCloud" - -#: templates/part.contact.php:35 -msgid "Format custom, Short name, Full name, Reverse or Reverse with comma" -msgstr "" - -#: templates/part.contact.php:36 -msgid "Edit name details" -msgstr "ערוך פרטי שם" - -#: templates/part.contact.php:39 templates/part.contact.php:40 -#: templates/part.contact.php:126 -msgid "Organization" -msgstr "ארגון" - -#: templates/part.contact.php:40 templates/part.contact.php:42 -#: templates/part.contact.php:44 templates/part.contact.php:46 -#: templates/part.contact.php:50 templates/settings.php:36 -msgid "Delete" -msgstr "מחיקה" - -#: templates/part.contact.php:41 templates/part.contact.php:127 -msgid "Nickname" -msgstr "כינוי" - -#: templates/part.contact.php:42 -msgid "Enter nickname" -msgstr "הכנס כינוי" - -#: templates/part.contact.php:43 templates/part.contact.php:134 -msgid "Web site" -msgstr "" - -#: templates/part.contact.php:44 -msgid "http://www.somesite.com" -msgstr "" - -#: templates/part.contact.php:44 -msgid "Go to web site" -msgstr "" - -#: templates/part.contact.php:46 -msgid "dd-mm-yyyy" -msgstr "dd-mm-yyyy" - -#: templates/part.contact.php:47 templates/part.contact.php:135 -msgid "Groups" -msgstr "קבוצות" - -#: templates/part.contact.php:49 -msgid "Separate groups with commas" -msgstr "הפרד קבוצות עם פסיקים" - -#: templates/part.contact.php:50 -msgid "Edit groups" -msgstr "ערוך קבוצות" - -#: templates/part.contact.php:59 templates/part.contact.php:73 -#: templates/part.contact.php:98 -msgid "Preferred" -msgstr "מועדף" - -#: templates/part.contact.php:60 -msgid "Please specify a valid email address." -msgstr "אנא הזן כתובת דוא\"ל חוקית" - -#: templates/part.contact.php:60 -msgid "Enter email address" -msgstr "הזן כתובת דוא\"ל" - -#: templates/part.contact.php:64 -msgid "Mail to address" -msgstr "כתובת" - -#: templates/part.contact.php:65 -msgid "Delete email address" -msgstr "מחק כתובת דוא\"ל" - -#: templates/part.contact.php:75 -msgid "Enter phone number" -msgstr "הכנס מספר טלפון" - -#: templates/part.contact.php:79 -msgid "Delete phone number" -msgstr "מחק מספר טלפון" - -#: templates/part.contact.php:100 -msgid "Instant Messenger" -msgstr "" - -#: templates/part.contact.php:101 -msgid "Delete IM" -msgstr "" - -#: templates/part.contact.php:110 -msgid "View on map" -msgstr "ראה במפה" - -#: templates/part.contact.php:110 -msgid "Edit address details" -msgstr "ערוך פרטי כתובת" - -#: templates/part.contact.php:116 -msgid "Add notes here." -msgstr "הוסף הערות כאן." - -#: templates/part.contact.php:124 -msgid "Add field" -msgstr "הוסף שדה" - -#: templates/part.contact.php:129 -msgid "Phone" -msgstr "טלפון" - -#: templates/part.contact.php:130 -msgid "Email" -msgstr "דואר אלקטרוני" - -#: templates/part.contact.php:131 -msgid "Instant Messaging" -msgstr "" - -#: templates/part.contact.php:132 -msgid "Address" -msgstr "כתובת" - -#: templates/part.contact.php:133 -msgid "Note" -msgstr "הערה" - -#: templates/part.contact.php:138 -msgid "Download contact" -msgstr "הורדת איש קשר" - -#: templates/part.contact.php:139 -msgid "Delete contact" -msgstr "מחיקת איש קשר" - -#: templates/part.cropphoto.php:65 -msgid "The temporary image has been removed from cache." -msgstr "" - -#: templates/part.edit_address_dialog.php:6 -msgid "Edit address" -msgstr "ערוך כתובת" - -#: templates/part.edit_address_dialog.php:10 -msgid "Type" -msgstr "סוג" - -#: templates/part.edit_address_dialog.php:18 -#: templates/part.edit_address_dialog.php:21 -msgid "PO Box" -msgstr "תא דואר" - -#: templates/part.edit_address_dialog.php:24 -msgid "Street address" -msgstr "" - -#: templates/part.edit_address_dialog.php:27 -msgid "Street and number" -msgstr "" - -#: templates/part.edit_address_dialog.php:30 -msgid "Extended" -msgstr "מורחב" - -#: templates/part.edit_address_dialog.php:33 -msgid "Apartment number etc." -msgstr "" - -#: templates/part.edit_address_dialog.php:36 -#: templates/part.edit_address_dialog.php:39 -msgid "City" -msgstr "עיר" - -#: templates/part.edit_address_dialog.php:42 -msgid "Region" -msgstr "אזור" - -#: templates/part.edit_address_dialog.php:45 -msgid "E.g. state or province" -msgstr "" - -#: templates/part.edit_address_dialog.php:48 -msgid "Zipcode" -msgstr "מיקוד" - -#: templates/part.edit_address_dialog.php:51 -msgid "Postal code" -msgstr "" - -#: templates/part.edit_address_dialog.php:54 -#: templates/part.edit_address_dialog.php:57 -msgid "Country" -msgstr "מדינה" - -#: templates/part.edit_name_dialog.php:16 -msgid "Addressbook" -msgstr "פנקס כתובות" - -#: templates/part.edit_name_dialog.php:23 -msgid "Hon. prefixes" -msgstr "קידומות שם" - -#: templates/part.edit_name_dialog.php:27 -msgid "Miss" -msgstr "גב'" - -#: templates/part.edit_name_dialog.php:28 -msgid "Ms" -msgstr "גב'" - -#: templates/part.edit_name_dialog.php:29 -msgid "Mr" -msgstr "מר'" - -#: templates/part.edit_name_dialog.php:30 -msgid "Sir" -msgstr "אדון" - -#: templates/part.edit_name_dialog.php:31 -msgid "Mrs" -msgstr "גב'" - -#: templates/part.edit_name_dialog.php:32 -msgid "Dr" -msgstr "ד\"ר" - -#: templates/part.edit_name_dialog.php:35 -msgid "Given name" -msgstr "שם" - -#: templates/part.edit_name_dialog.php:37 -msgid "Additional names" -msgstr "שמות נוספים" - -#: templates/part.edit_name_dialog.php:39 -msgid "Family name" -msgstr "שם משפחה" - -#: templates/part.edit_name_dialog.php:41 -msgid "Hon. suffixes" -msgstr "סיומות שם" - -#: templates/part.edit_name_dialog.php:45 -msgid "J.D." -msgstr "J.D." - -#: templates/part.edit_name_dialog.php:46 -msgid "M.D." -msgstr "M.D." - -#: templates/part.edit_name_dialog.php:47 -msgid "D.O." -msgstr "D.O." - -#: templates/part.edit_name_dialog.php:48 -msgid "D.C." -msgstr "D.C." - -#: templates/part.edit_name_dialog.php:49 -msgid "Ph.D." -msgstr "Ph.D." - -#: templates/part.edit_name_dialog.php:50 -msgid "Esq." -msgstr "Esq." - -#: templates/part.edit_name_dialog.php:51 -msgid "Jr." -msgstr "Jr." - -#: templates/part.edit_name_dialog.php:52 -msgid "Sn." -msgstr "Sn." - -#: templates/part.import.php:1 -msgid "Import a contacts file" -msgstr "יבא קובץ אנשי קשר" - -#: templates/part.import.php:6 -msgid "Please choose the addressbook" -msgstr "אנא בחר ספר כתובות" - -#: templates/part.import.php:10 -msgid "create a new addressbook" -msgstr "צור ספר כתובות חדש" - -#: templates/part.import.php:15 -msgid "Name of new addressbook" -msgstr "שם ספר כתובות החדש" - -#: templates/part.import.php:20 -msgid "Importing contacts" -msgstr "מיבא אנשי קשר" - -#: templates/part.no_contacts.php:3 -msgid "You have no contacts in your addressbook." -msgstr "איך לך אנשי קשר בספר הכתובות" - -#: templates/part.no_contacts.php:5 -msgid "Add contact" -msgstr "הוסף איש קשר" - -#: templates/part.selectaddressbook.php:1 -msgid "Select Address Books" -msgstr "" - -#: templates/part.selectaddressbook.php:27 -msgid "Enter name" -msgstr "" - -#: templates/part.selectaddressbook.php:29 -msgid "Enter description" -msgstr "" - -#: templates/settings.php:3 -msgid "CardDAV syncing addresses" -msgstr "CardDAV מסנכרן כתובות" - -#: templates/settings.php:3 -msgid "more info" -msgstr "מידע נוסף" - -#: templates/settings.php:5 -msgid "Primary address (Kontact et al)" -msgstr "כתובת ראשית" - -#: templates/settings.php:7 -msgid "iOS/OS X" -msgstr "iOS/OS X" - -#: templates/settings.php:20 -msgid "Show CardDav link" -msgstr "" - -#: templates/settings.php:23 -msgid "Show read-only VCF link" -msgstr "" - -#: templates/settings.php:26 -msgid "Share" -msgstr "" - -#: templates/settings.php:29 -msgid "Download" -msgstr "הורדה" - -#: templates/settings.php:33 -msgid "Edit" -msgstr "עריכה" - -#: templates/settings.php:43 -msgid "New Address Book" -msgstr "פנקס כתובות חדש" - -#: templates/settings.php:44 -msgid "Name" -msgstr "" - -#: templates/settings.php:45 -msgid "Description" -msgstr "" - -#: templates/settings.php:46 -msgid "Save" -msgstr "שמירה" - -#: templates/settings.php:47 -msgid "Cancel" -msgstr "ביטול" - -#: templates/settings.php:52 -msgid "More..." -msgstr "" diff --git a/l10n/he/core.po b/l10n/he/core.po index ba5968dffacf8a9f3b7b3d293112a99d8903cd0e..7595b432486d2e73b08f25deab438a98353f8161 100644 --- a/l10n/he/core.po +++ b/l10n/he/core.po @@ -6,14 +6,14 @@ # Dovix Dovix , 2012. # , 2012. # , 2011. -# Yaron Shahrabani , 2011, 2012. +# Yaron Shahrabani , 2011-2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-16 02:04+0200\n" -"PO-Revision-Date: 2012-10-16 00:05+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-12-02 00:02+0100\n" +"PO-Revision-Date: 2012-12-01 06:47+0000\n" +"Last-Translator: Yaron Shahrabani \n" "Language-Team: Hebrew (http://www.transifex.com/projects/p/owncloud/language/he/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -21,209 +21,241 @@ msgstr "" "Language: he\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: ajax/vcategories/add.php:23 ajax/vcategories/delete.php:23 -msgid "Application name not provided." -msgstr "שם היישום לא סופק." +#: ajax/vcategories/add.php:26 ajax/vcategories/edit.php:25 +msgid "Category type not provided." +msgstr "סוג הקטגוריה לא סופק." -#: ajax/vcategories/add.php:29 +#: ajax/vcategories/add.php:30 msgid "No category to add?" msgstr "אין קטגוריה להוספה?" -#: ajax/vcategories/add.php:36 +#: ajax/vcategories/add.php:37 msgid "This category already exists: " msgstr "קטגוריה זאת כבר קיימת: " -#: js/js.js:238 templates/layout.user.php:49 templates/layout.user.php:50 +#: ajax/vcategories/addToFavorites.php:26 ajax/vcategories/delete.php:27 +#: ajax/vcategories/favorites.php:24 +#: ajax/vcategories/removeFromFavorites.php:26 +msgid "Object type not provided." +msgstr "סוג הפריט לא סופק." + +#: ajax/vcategories/addToFavorites.php:30 +#: ajax/vcategories/removeFromFavorites.php:30 +#, php-format +msgid "%s ID not provided." +msgstr "מזהה %s לא סופק." + +#: ajax/vcategories/addToFavorites.php:35 +#, php-format +msgid "Error adding %s to favorites." +msgstr "אירעה שגיאה בעת הוספת %s למועדפים." + +#: ajax/vcategories/delete.php:35 js/oc-vcategories.js:136 +msgid "No categories selected for deletion." +msgstr "לא נבחרו קטגוריות למחיקה" + +#: ajax/vcategories/removeFromFavorites.php:35 +#, php-format +msgid "Error removing %s from favorites." +msgstr "שגיאה בהסרת %s מהמועדפים." + +#: js/js.js:259 templates/layout.user.php:60 templates/layout.user.php:61 msgid "Settings" msgstr "הגדרות" -#: js/js.js:670 -msgid "January" -msgstr "ינואר" +#: js/js.js:704 +msgid "seconds ago" +msgstr "שניות" -#: js/js.js:670 -msgid "February" -msgstr "פברואר" +#: js/js.js:705 +msgid "1 minute ago" +msgstr "לפני דקה אחת" -#: js/js.js:670 -msgid "March" -msgstr "מרץ" +#: js/js.js:706 +msgid "{minutes} minutes ago" +msgstr "לפני {minutes} דקות" -#: js/js.js:670 -msgid "April" -msgstr "אפריל" +#: js/js.js:707 +msgid "1 hour ago" +msgstr "לפני שעה" -#: js/js.js:670 -msgid "May" -msgstr "מאי" +#: js/js.js:708 +msgid "{hours} hours ago" +msgstr "לפני {hours} שעות" -#: js/js.js:670 -msgid "June" -msgstr "יוני" +#: js/js.js:709 +msgid "today" +msgstr "היום" -#: js/js.js:671 -msgid "July" -msgstr "יולי" +#: js/js.js:710 +msgid "yesterday" +msgstr "אתמול" -#: js/js.js:671 -msgid "August" -msgstr "אוגוסט" +#: js/js.js:711 +msgid "{days} days ago" +msgstr "לפני {days} ימים" -#: js/js.js:671 -msgid "September" -msgstr "ספטמבר" +#: js/js.js:712 +msgid "last month" +msgstr "חודש שעבר" -#: js/js.js:671 -msgid "October" -msgstr "אוקטובר" +#: js/js.js:713 +msgid "{months} months ago" +msgstr "לפני {months} חודשים" -#: js/js.js:671 -msgid "November" -msgstr "נובמבר" +#: js/js.js:714 +msgid "months ago" +msgstr "חודשים" -#: js/js.js:671 -msgid "December" -msgstr "דצמבר" +#: js/js.js:715 +msgid "last year" +msgstr "שנה שעברה" -#: js/oc-dialogs.js:123 +#: js/js.js:716 +msgid "years ago" +msgstr "שנים" + +#: js/oc-dialogs.js:126 msgid "Choose" -msgstr "" +msgstr "בחירה" -#: js/oc-dialogs.js:143 js/oc-dialogs.js:163 +#: js/oc-dialogs.js:146 js/oc-dialogs.js:166 msgid "Cancel" msgstr "ביטול" -#: js/oc-dialogs.js:159 +#: js/oc-dialogs.js:162 msgid "No" msgstr "לא" -#: js/oc-dialogs.js:160 +#: js/oc-dialogs.js:163 msgid "Yes" msgstr "כן" -#: js/oc-dialogs.js:177 +#: js/oc-dialogs.js:180 msgid "Ok" msgstr "בסדר" -#: js/oc-vcategories.js:68 -msgid "No categories selected for deletion." -msgstr "לא נבחרו קטגוריות למחיקה" +#: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102 +#: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162 +msgid "The object type is not specified." +msgstr "סוג הפריט לא צוין." -#: js/oc-vcategories.js:68 js/share.js:114 js/share.js:121 js/share.js:497 -#: js/share.js:509 +#: js/oc-vcategories.js:95 js/oc-vcategories.js:125 js/oc-vcategories.js:136 +#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:533 +#: js/share.js:545 msgid "Error" msgstr "שגיאה" -#: js/share.js:103 +#: js/oc-vcategories.js:179 +msgid "The app name is not specified." +msgstr "שם היישום לא צוין." + +#: js/oc-vcategories.js:194 +msgid "The required file {file} is not installed!" +msgstr "הקובץ הנדרש {file} אינו מותקן!" + +#: js/share.js:124 msgid "Error while sharing" -msgstr "" +msgstr "שגיאה במהלך השיתוף" -#: js/share.js:114 +#: js/share.js:135 msgid "Error while unsharing" -msgstr "" +msgstr "שגיאה במהלך ביטול השיתוף" -#: js/share.js:121 +#: js/share.js:142 msgid "Error while changing permissions" -msgstr "" - -#: js/share.js:130 -msgid "Shared with you and the group" -msgstr "" +msgstr "שגיאה במהלך שינוי ההגדרות" -#: js/share.js:130 -msgid "by" -msgstr "" +#: js/share.js:151 +msgid "Shared with you and the group {group} by {owner}" +msgstr "שותף אתך ועם הקבוצה {group} שבבעלות {owner}" -#: js/share.js:132 -msgid "Shared with you by" -msgstr "" +#: js/share.js:153 +msgid "Shared with you by {owner}" +msgstr "שותף אתך על ידי {owner}" -#: js/share.js:137 +#: js/share.js:158 msgid "Share with" -msgstr "" +msgstr "שיתוף עם" -#: js/share.js:142 +#: js/share.js:163 msgid "Share with link" -msgstr "" +msgstr "שיתוף עם קישור" -#: js/share.js:143 +#: js/share.js:164 msgid "Password protect" -msgstr "" +msgstr "הגנה בססמה" -#: js/share.js:147 templates/installation.php:42 templates/login.php:24 +#: js/share.js:168 templates/installation.php:42 templates/login.php:24 #: templates/verify.php:13 msgid "Password" msgstr "ססמה" -#: js/share.js:152 +#: js/share.js:173 msgid "Set expiration date" -msgstr "" +msgstr "הגדרת תאריך תפוגה" -#: js/share.js:153 +#: js/share.js:174 msgid "Expiration date" -msgstr "" +msgstr "תאריך התפוגה" -#: js/share.js:185 +#: js/share.js:206 msgid "Share via email:" -msgstr "" +msgstr "שיתוף באמצעות דוא״ל:" -#: js/share.js:187 +#: js/share.js:208 msgid "No people found" -msgstr "" +msgstr "לא נמצאו אנשים" -#: js/share.js:214 +#: js/share.js:235 msgid "Resharing is not allowed" -msgstr "" - -#: js/share.js:250 -msgid "Shared in" -msgstr "" - -#: js/share.js:250 -msgid "with" -msgstr "" +msgstr "אסור לעשות שיתוף מחדש" #: js/share.js:271 +msgid "Shared in {item} with {user}" +msgstr "שותף תחת {item} עם {user}" + +#: js/share.js:292 msgid "Unshare" -msgstr "" +msgstr "הסר שיתוף" -#: js/share.js:283 +#: js/share.js:304 msgid "can edit" -msgstr "" +msgstr "ניתן לערוך" -#: js/share.js:285 +#: js/share.js:306 msgid "access control" -msgstr "" +msgstr "בקרת גישה" -#: js/share.js:288 +#: js/share.js:309 msgid "create" -msgstr "" +msgstr "יצירה" -#: js/share.js:291 +#: js/share.js:312 msgid "update" -msgstr "" +msgstr "עדכון" -#: js/share.js:294 +#: js/share.js:315 msgid "delete" -msgstr "" +msgstr "מחיקה" -#: js/share.js:297 +#: js/share.js:318 msgid "share" -msgstr "" +msgstr "שיתוף" -#: js/share.js:322 js/share.js:484 +#: js/share.js:349 js/share.js:520 js/share.js:522 msgid "Password protected" -msgstr "" +msgstr "מוגן בססמה" -#: js/share.js:497 +#: js/share.js:533 msgid "Error unsetting expiration date" -msgstr "" +msgstr "אירעה שגיאה בביטול תאריך התפוגה" -#: js/share.js:509 +#: js/share.js:545 msgid "Error setting expiration date" -msgstr "" +msgstr "אירעה שגיאה בעת הגדרת תאריך התפוגה" -#: lostpassword/index.php:26 +#: lostpassword/controller.php:47 msgid "ownCloud password reset" msgstr "איפוס הססמה של ownCloud" @@ -236,12 +268,12 @@ msgid "You will receive a link to reset your password via Email." msgstr "יישלח לתיבת הדוא״ל שלך קישור לאיפוס הססמה." #: lostpassword/templates/lostpassword.php:5 -msgid "Requested" -msgstr "נדרש" +msgid "Reset email send." +msgstr "איפוס שליחת דוא״ל." #: lostpassword/templates/lostpassword.php:8 -msgid "Login failed!" -msgstr "הכניסה נכשלה!" +msgid "Request failed!" +msgstr "הבקשה נכשלה!" #: lostpassword/templates/lostpassword.php:11 templates/installation.php:38 #: templates/login.php:20 @@ -300,25 +332,25 @@ msgstr "ענן לא נמצא" msgid "Edit categories" msgstr "עריכת הקטגוריות" -#: templates/edit_categories_dialog.php:14 +#: templates/edit_categories_dialog.php:16 msgid "Add" msgstr "הוספה" #: templates/installation.php:23 templates/installation.php:31 msgid "Security Warning" -msgstr "" +msgstr "אזהרת אבטחה" #: templates/installation.php:24 msgid "" "No secure random number generator is available, please enable the PHP " "OpenSSL extension." -msgstr "" +msgstr "אין מחולל מספרים אקראיים מאובטח, נא להפעיל את ההרחבה OpenSSL ב־PHP." #: templates/installation.php:26 msgid "" "Without a secure random number generator an attacker may be able to predict " "password reset tokens and take over your account." -msgstr "" +msgstr "ללא מחולל מספרים אקראיים מאובטח תוקף יכול לנבא את מחרוזות איפוס הססמה ולהשתלט על החשבון שלך." #: templates/installation.php:32 msgid "" @@ -327,7 +359,7 @@ msgid "" "strongly suggest that you configure your webserver in a way that the data " "directory is no longer accessible or you move the data directory outside the" " webserver document root." -msgstr "" +msgstr "יתכן שתיקיית הנתונים והקבצים שלך נגישים דרך האינטרנט. קובץ ה־‎.htaccess שמסופק על ידי ownCloud כנראה אינו עובד. אנו ממליצים בחום להגדיר את שרת האינטרנט שלך בדרך שבה תיקיית הנתונים לא תהיה זמינה עוד או להעביר את תיקיית הנתונים מחוץ לספריית העל של שרת האינטרנט." #: templates/installation.php:36 msgid "Create an admin account" @@ -374,27 +406,103 @@ msgstr "שרת בסיס נתונים" msgid "Finish setup" msgstr "סיום התקנה" -#: templates/layout.guest.php:38 +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Sunday" +msgstr "יום ראשון" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Monday" +msgstr "יום שני" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Tuesday" +msgstr "יום שלישי" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Wednesday" +msgstr "יום רביעי" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Thursday" +msgstr "יום חמישי" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Friday" +msgstr "יום שישי" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Saturday" +msgstr "שבת" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "January" +msgstr "ינואר" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "February" +msgstr "פברואר" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "March" +msgstr "מרץ" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "April" +msgstr "אפריל" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "May" +msgstr "מאי" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "June" +msgstr "יוני" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "July" +msgstr "יולי" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "August" +msgstr "אוגוסט" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "September" +msgstr "ספטמבר" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "October" +msgstr "אוקטובר" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "November" +msgstr "נובמבר" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "December" +msgstr "דצמבר" + +#: templates/layout.guest.php:42 msgid "web services under your control" msgstr "שירותי רשת בשליטתך" -#: templates/layout.user.php:34 +#: templates/layout.user.php:45 msgid "Log out" msgstr "התנתקות" #: templates/login.php:8 msgid "Automatic logon rejected!" -msgstr "" +msgstr "בקשת הכניסה האוטומטית נדחתה!" #: templates/login.php:9 msgid "" "If you did not change your password recently, your account may be " "compromised!" -msgstr "" +msgstr "אם לא שינית את ססמתך לאחרונה, יתכן שחשבונך נפגע!" #: templates/login.php:10 msgid "Please change your password to secure your account again." -msgstr "" +msgstr "נא לשנות את הססמה שלך כדי לאבטח את חשבונך מחדש." #: templates/login.php:15 msgid "Lost your password?" @@ -422,14 +530,14 @@ msgstr "הבא" #: templates/verify.php:5 msgid "Security Warning!" -msgstr "" +msgstr "אזהרת אבטחה!" #: templates/verify.php:6 msgid "" "Please verify your password.
For security reasons you may be " "occasionally asked to enter your password again." -msgstr "" +msgstr "נא לאמת את הססמה שלך.
מטעמי אבטחה יתכן שתופיע בקשה להזין את הססמה שוב." #: templates/verify.php:16 msgid "Verify" -msgstr "" +msgstr "אימות" diff --git a/l10n/he/files.po b/l10n/he/files.po index 2e585d9a6704ecb26f6c0bb31587945fbd03fa8e..2d18545dbb65a2280722f3938cbc68538fbc6b14 100644 --- a/l10n/he/files.po +++ b/l10n/he/files.po @@ -11,9 +11,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-09-26 13:19+0200\n" -"PO-Revision-Date: 2012-09-26 11:20+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-12-02 00:02+0100\n" +"PO-Revision-Date: 2012-12-01 06:37+0000\n" +"Last-Translator: Yaron Shahrabani \n" "Language-Team: Hebrew (http://www.transifex.com/projects/p/owncloud/language/he/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -26,195 +26,166 @@ msgid "There is no error, the file uploaded with success" msgstr "לא אירעה תקלה, הקבצים הועלו בהצלחה" #: ajax/upload.php:21 -msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" -msgstr "הקובץ שהועלה חרג מההנחיה upload_max_filesize בקובץ php.ini" +msgid "" +"The uploaded file exceeds the upload_max_filesize directive in php.ini: " +msgstr "הקבצים שנשלחו חורגים מהגודל שצוין בהגדרה upload_max_filesize שבקובץ php.ini:" -#: ajax/upload.php:22 +#: ajax/upload.php:23 msgid "" "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " "the HTML form" msgstr "הקובץ שהועלה חרג מההנחיה MAX_FILE_SIZE שצוינה בטופס ה־HTML" -#: ajax/upload.php:23 +#: ajax/upload.php:25 msgid "The uploaded file was only partially uploaded" msgstr "הקובץ שהועלה הועלה בצורה חלקית" -#: ajax/upload.php:24 +#: ajax/upload.php:26 msgid "No file was uploaded" msgstr "לא הועלו קבצים" -#: ajax/upload.php:25 +#: ajax/upload.php:27 msgid "Missing a temporary folder" msgstr "תיקייה זמנית חסרה" -#: ajax/upload.php:26 +#: ajax/upload.php:28 msgid "Failed to write to disk" msgstr "הכתיבה לכונן נכשלה" -#: appinfo/app.php:6 +#: appinfo/app.php:10 msgid "Files" msgstr "קבצים" -#: js/fileactions.js:108 templates/index.php:62 +#: js/fileactions.js:117 templates/index.php:83 templates/index.php:84 msgid "Unshare" -msgstr "" +msgstr "הסר שיתוף" -#: js/fileactions.js:110 templates/index.php:64 +#: js/fileactions.js:119 templates/index.php:89 templates/index.php:90 msgid "Delete" msgstr "מחיקה" -#: js/fileactions.js:182 +#: js/fileactions.js:181 msgid "Rename" -msgstr "" +msgstr "שינוי שם" -#: js/filelist.js:190 js/filelist.js:192 -msgid "already exists" -msgstr "כבר קיים" +#: js/filelist.js:201 js/filelist.js:203 +msgid "{new_name} already exists" +msgstr "{new_name} כבר קיים" -#: js/filelist.js:190 js/filelist.js:192 +#: js/filelist.js:201 js/filelist.js:203 msgid "replace" -msgstr "" +msgstr "החלפה" -#: js/filelist.js:190 +#: js/filelist.js:201 msgid "suggest name" -msgstr "" +msgstr "הצעת שם" -#: js/filelist.js:190 js/filelist.js:192 +#: js/filelist.js:201 js/filelist.js:203 msgid "cancel" -msgstr "" +msgstr "ביטול" -#: js/filelist.js:239 js/filelist.js:241 -msgid "replaced" -msgstr "" +#: js/filelist.js:250 +msgid "replaced {new_name}" +msgstr "{new_name} הוחלף" -#: js/filelist.js:239 js/filelist.js:241 js/filelist.js:273 js/filelist.js:275 +#: js/filelist.js:250 js/filelist.js:252 js/filelist.js:284 js/filelist.js:286 msgid "undo" -msgstr "" +msgstr "ביטול" -#: js/filelist.js:241 -msgid "with" -msgstr "" +#: js/filelist.js:252 +msgid "replaced {new_name} with {old_name}" +msgstr "{new_name} הוחלף ב־{old_name}" -#: js/filelist.js:273 -msgid "unshared" -msgstr "" +#: js/filelist.js:284 +msgid "unshared {files}" +msgstr "בוטל שיתופם של {files}" -#: js/filelist.js:275 -msgid "deleted" -msgstr "" +#: js/filelist.js:286 +msgid "deleted {files}" +msgstr "{files} נמחקו" + +#: js/files.js:33 +msgid "" +"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not " +"allowed." +msgstr "השם שגוי, אסור להשתמש בתווים '\\', '/', '<', '>', ':', '\"', '|', '?' ו־'*'." -#: js/files.js:179 +#: js/files.js:183 msgid "generating ZIP-file, it may take some time." msgstr "יוצר קובץ ZIP, אנא המתן." -#: js/files.js:208 +#: js/files.js:218 msgid "Unable to upload your file as it is a directory or has 0 bytes" msgstr "לא יכול להעלות את הקובץ מכיוון שזו תקיה או שמשקל הקובץ 0 בתים" -#: js/files.js:208 +#: js/files.js:218 msgid "Upload Error" msgstr "שגיאת העלאה" -#: js/files.js:236 js/files.js:341 js/files.js:371 +#: js/files.js:235 +msgid "Close" +msgstr "סגירה" + +#: js/files.js:254 js/files.js:368 js/files.js:398 msgid "Pending" msgstr "ממתין" -#: js/files.js:256 +#: js/files.js:274 msgid "1 file uploading" -msgstr "" +msgstr "קובץ אחד נשלח" -#: js/files.js:259 js/files.js:304 js/files.js:319 -msgid "files uploading" -msgstr "" +#: js/files.js:277 js/files.js:331 js/files.js:346 +msgid "{count} files uploading" +msgstr "{count} קבצים נשלחים" -#: js/files.js:322 js/files.js:355 +#: js/files.js:349 js/files.js:382 msgid "Upload cancelled." msgstr "ההעלאה בוטלה." -#: js/files.js:424 +#: js/files.js:451 msgid "" "File upload is in progress. Leaving the page now will cancel the upload." -msgstr "" +msgstr "מתבצעת כעת העלאת קבצים. עזיבה של העמוד תבטל את ההעלאה." -#: js/files.js:494 -msgid "Invalid name, '/' is not allowed." -msgstr "שם לא חוקי, '/' אסור לשימוש." +#: js/files.js:523 +msgid "Invalid folder name. Usage of \"Shared\" is reserved by Owncloud" +msgstr "שם התיקייה שגוי. השימוש בשם „Shared“ שמור לטובת Owncloud" -#: js/files.js:667 -msgid "files scanned" -msgstr "" +#: js/files.js:704 +msgid "{count} files scanned" +msgstr "{count} קבצים נסרקו" -#: js/files.js:675 +#: js/files.js:712 msgid "error while scanning" -msgstr "" +msgstr "אירעה שגיאה במהלך הסריקה" -#: js/files.js:748 templates/index.php:48 +#: js/files.js:785 templates/index.php:65 msgid "Name" msgstr "שם" -#: js/files.js:749 templates/index.php:56 +#: js/files.js:786 templates/index.php:76 msgid "Size" msgstr "גודל" -#: js/files.js:750 templates/index.php:58 +#: js/files.js:787 templates/index.php:78 msgid "Modified" msgstr "זמן שינוי" -#: js/files.js:777 -msgid "folder" -msgstr "תקיה" - -#: js/files.js:779 -msgid "folders" -msgstr "תקיות" - -#: js/files.js:787 -msgid "file" -msgstr "קובץ" - -#: js/files.js:789 -msgid "files" -msgstr "קבצים" - -#: js/files.js:833 -msgid "seconds ago" -msgstr "" - -#: js/files.js:834 -msgid "minute ago" -msgstr "" - -#: js/files.js:835 -msgid "minutes ago" -msgstr "" +#: js/files.js:814 +msgid "1 folder" +msgstr "תיקייה אחת" -#: js/files.js:838 -msgid "today" -msgstr "" +#: js/files.js:816 +msgid "{count} folders" +msgstr "{count} תיקיות" -#: js/files.js:839 -msgid "yesterday" -msgstr "" +#: js/files.js:824 +msgid "1 file" +msgstr "קובץ אחד" -#: js/files.js:840 -msgid "days ago" -msgstr "" - -#: js/files.js:841 -msgid "last month" -msgstr "" - -#: js/files.js:843 -msgid "months ago" -msgstr "" - -#: js/files.js:844 -msgid "last year" -msgstr "" - -#: js/files.js:845 -msgid "years ago" -msgstr "" +#: js/files.js:826 +msgid "{count} files" +msgstr "{count} קבצים" #: templates/admin.php:5 msgid "File handling" @@ -224,80 +195,76 @@ msgstr "טיפול בקבצים" msgid "Maximum upload size" msgstr "גודל העלאה מקסימלי" -#: templates/admin.php:7 +#: templates/admin.php:9 msgid "max. possible: " msgstr "המרבי האפשרי: " -#: templates/admin.php:9 +#: templates/admin.php:12 msgid "Needed for multi-file and folder downloads." msgstr "נחוץ להורדה של ריבוי קבצים או תיקיות." -#: templates/admin.php:9 +#: templates/admin.php:14 msgid "Enable ZIP-download" msgstr "הפעלת הורדת ZIP" -#: templates/admin.php:11 +#: templates/admin.php:17 msgid "0 is unlimited" msgstr "0 - ללא הגבלה" -#: templates/admin.php:12 +#: templates/admin.php:19 msgid "Maximum input size for ZIP files" msgstr "גודל הקלט המרבי לקובצי ZIP" -#: templates/admin.php:14 +#: templates/admin.php:23 msgid "Save" -msgstr "" +msgstr "שמירה" #: templates/index.php:7 msgid "New" msgstr "חדש" -#: templates/index.php:9 +#: templates/index.php:10 msgid "Text file" msgstr "קובץ טקסט" -#: templates/index.php:10 +#: templates/index.php:12 msgid "Folder" msgstr "תיקייה" -#: templates/index.php:11 -msgid "From url" -msgstr "מכתובת" +#: templates/index.php:14 +msgid "From link" +msgstr "מקישור" -#: templates/index.php:20 +#: templates/index.php:35 msgid "Upload" msgstr "העלאה" -#: templates/index.php:27 +#: templates/index.php:43 msgid "Cancel upload" msgstr "ביטול ההעלאה" -#: templates/index.php:40 +#: templates/index.php:57 msgid "Nothing in here. Upload something!" msgstr "אין כאן שום דבר. אולי ברצונך להעלות משהו?" -#: templates/index.php:50 -msgid "Share" -msgstr "שיתוף" - -#: templates/index.php:52 +#: templates/index.php:71 msgid "Download" msgstr "הורדה" -#: templates/index.php:75 +#: templates/index.php:103 msgid "Upload too large" msgstr "העלאה גדולה מידי" -#: templates/index.php:77 +#: templates/index.php:105 msgid "" "The files you are trying to upload exceed the maximum size for file uploads " "on this server." msgstr "הקבצים שניסית להעלות חרגו מהגודל המקסימלי להעלאת קבצים על שרת זה." -#: templates/index.php:82 +#: templates/index.php:110 msgid "Files are being scanned, please wait." msgstr "הקבצים נסרקים, נא להמתין." -#: templates/index.php:85 +#: templates/index.php:113 msgid "Current scanning" msgstr "הסריקה הנוכחית" diff --git a/l10n/he/files_external.po b/l10n/he/files_external.po index 0b3be3a33b99b820e9f1dd1d3679ee32c7235500..2b42ff706dc0480fe3b755776e3c4c8b9026b9b7 100644 --- a/l10n/he/files_external.po +++ b/l10n/he/files_external.po @@ -4,13 +4,14 @@ # # Translators: # Tomer Cohen , 2012. +# Yaron Shahrabani , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-02 23:16+0200\n" -"PO-Revision-Date: 2012-10-02 21:17+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-12-12 00:12+0100\n" +"PO-Revision-Date: 2012-12-11 23:13+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Hebrew (http://www.transifex.com/projects/p/owncloud/language/he/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -20,88 +21,102 @@ msgstr "" #: js/dropbox.js:7 js/dropbox.js:25 js/google.js:7 js/google.js:23 msgid "Access granted" -msgstr "" +msgstr "הוענקה גישה" #: js/dropbox.js:28 js/dropbox.js:74 js/dropbox.js:79 js/dropbox.js:86 msgid "Error configuring Dropbox storage" -msgstr "" +msgstr "אירעה שגיאה בעת הגדרת אחסון ב־Dropbox" #: js/dropbox.js:34 js/dropbox.js:45 js/google.js:31 js/google.js:40 msgid "Grant access" -msgstr "" +msgstr "הענקת גישה" #: js/dropbox.js:73 js/google.js:72 msgid "Fill out all required fields" -msgstr "" +msgstr "נא למלא את כל השדות הנדרשים" #: js/dropbox.js:85 msgid "Please provide a valid Dropbox app key and secret." -msgstr "" +msgstr "נא לספק קוד יישום וסוד תקניים של Dropbox." #: js/google.js:26 js/google.js:73 js/google.js:78 msgid "Error configuring Google Drive storage" +msgstr "אירעה שגיאה בעת הגדרת אחסון ב־Google Drive" + +#: lib/config.php:434 +msgid "" +"Warning: \"smbclient\" is not installed. Mounting of CIFS/SMB shares " +"is not possible. Please ask your system administrator to install it." +msgstr "" + +#: lib/config.php:435 +msgid "" +"Warning: The FTP support in PHP is not enabled or installed. Mounting" +" of FTP shares is not possible. Please ask your system administrator to " +"install it." msgstr "" #: templates/settings.php:3 msgid "External Storage" msgstr "אחסון חיצוני" -#: templates/settings.php:7 templates/settings.php:19 +#: templates/settings.php:8 templates/settings.php:22 msgid "Mount point" -msgstr "" +msgstr "נקודת עגינה" -#: templates/settings.php:8 +#: templates/settings.php:9 msgid "Backend" -msgstr "" +msgstr "מנגנון" -#: templates/settings.php:9 +#: templates/settings.php:10 msgid "Configuration" msgstr "הגדרות" -#: templates/settings.php:10 +#: templates/settings.php:11 msgid "Options" msgstr "אפשרויות" -#: templates/settings.php:11 +#: templates/settings.php:12 msgid "Applicable" -msgstr "" +msgstr "ניתן ליישום" -#: templates/settings.php:23 +#: templates/settings.php:27 msgid "Add mount point" -msgstr "" +msgstr "הוספת נקודת עגינה" -#: templates/settings.php:54 templates/settings.php:62 +#: templates/settings.php:85 msgid "None set" -msgstr "" +msgstr "לא הוגדרה" -#: templates/settings.php:63 +#: templates/settings.php:86 msgid "All Users" msgstr "כל המשתמשים" -#: templates/settings.php:64 +#: templates/settings.php:87 msgid "Groups" msgstr "קבוצות" -#: templates/settings.php:69 +#: templates/settings.php:95 msgid "Users" msgstr "משתמשים" -#: templates/settings.php:77 templates/settings.php:107 +#: templates/settings.php:108 templates/settings.php:109 +#: templates/settings.php:149 templates/settings.php:150 msgid "Delete" msgstr "מחיקה" -#: templates/settings.php:87 +#: templates/settings.php:124 msgid "Enable User External Storage" msgstr "הפעלת אחסון חיצוני למשתמשים" -#: templates/settings.php:88 +#: templates/settings.php:125 msgid "Allow users to mount their own external storage" msgstr "יאפשר למשתמשים לעגן את האחסון החיצוני שלהם" -#: templates/settings.php:99 +#: templates/settings.php:139 msgid "SSL root certificates" msgstr "שורש אישורי אבטחת SSL " -#: templates/settings.php:113 +#: templates/settings.php:158 msgid "Import Root Certificate" msgstr "ייבוא אישור אבטחת שורש" diff --git a/l10n/he/files_pdfviewer.po b/l10n/he/files_pdfviewer.po deleted file mode 100644 index 5ae16f8b58686bdfa3ed5ef3875200f4a4c28ae1..0000000000000000000000000000000000000000 --- a/l10n/he/files_pdfviewer.po +++ /dev/null @@ -1,42 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 02:18+0200\n" -"PO-Revision-Date: 2012-08-26 00:19+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Hebrew (http://www.transifex.com/projects/p/owncloud/language/he/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: he\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: js/viewer.js:22 -msgid "Previous" -msgstr "" - -#: js/viewer.js:23 -msgid "Next" -msgstr "" - -#: js/viewer.js:29 -msgid "Page Width" -msgstr "" - -#: js/viewer.js:29 -msgid "Page Fit" -msgstr "" - -#: js/viewer.js:30 -msgid "Print" -msgstr "" - -#: js/viewer.js:32 -msgid "Download" -msgstr "" diff --git a/l10n/he/files_texteditor.po b/l10n/he/files_texteditor.po deleted file mode 100644 index 1992f89c84c80743add5eb5501c22d46bd9cdabf..0000000000000000000000000000000000000000 --- a/l10n/he/files_texteditor.po +++ /dev/null @@ -1,44 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 01:17+0200\n" -"PO-Revision-Date: 2012-08-25 23:18+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Hebrew (http://www.transifex.com/projects/p/owncloud/language/he/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: he\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: js/aceeditor/mode-coldfusion-uncompressed.js:1568 -#: js/aceeditor/mode-liquid-uncompressed.js:902 -#: js/aceeditor/mode-svg-uncompressed.js:1575 -msgid "regex" -msgstr "" - -#: js/editor.js:72 js/editor.js:156 js/editor.js:163 -msgid "Save" -msgstr "" - -#: js/editor.js:74 -msgid "Close" -msgstr "" - -#: js/editor.js:149 -msgid "Saving..." -msgstr "" - -#: js/editor.js:239 -msgid "An error occurred!" -msgstr "" - -#: js/editor.js:266 -msgid "There were unsaved changes, click here to go back" -msgstr "" diff --git a/l10n/he/files_versions.po b/l10n/he/files_versions.po index 20cfd9e7379561c3d913acb03fa37f88fc66fd85..6c4367359de3f204c48541f0fa96bf65d0fc2ff1 100644 --- a/l10n/he/files_versions.po +++ b/l10n/he/files_versions.po @@ -4,13 +4,14 @@ # # Translators: # Tomer Cohen , 2012. +# Yaron Shahrabani , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-09-22 01:14+0200\n" -"PO-Revision-Date: 2012-09-21 23:15+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-12-02 00:02+0100\n" +"PO-Revision-Date: 2012-12-01 07:21+0000\n" +"Last-Translator: Yaron Shahrabani \n" "Language-Team: Hebrew (http://www.transifex.com/projects/p/owncloud/language/he/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -24,7 +25,7 @@ msgstr "הפגת תוקף כל הגרסאות" #: js/versions.js:16 msgid "History" -msgstr "" +msgstr "היסטוריה" #: templates/settings-personal.php:4 msgid "Versions" @@ -36,8 +37,8 @@ msgstr "פעולה זו תמחק את כל גיבויי הגרסאות הקיי #: templates/settings.php:3 msgid "Files Versioning" -msgstr "" +msgstr "שמירת הבדלי גרסאות של קבצים" #: templates/settings.php:4 msgid "Enable" -msgstr "" +msgstr "הפעלה" diff --git a/l10n/he/gallery.po b/l10n/he/gallery.po deleted file mode 100644 index d2e1ed419a3cabee27af556be9982aab07d9ad4b..0000000000000000000000000000000000000000 --- a/l10n/he/gallery.po +++ /dev/null @@ -1,94 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-06-06 00:12+0200\n" -"PO-Revision-Date: 2012-06-05 22:15+0000\n" -"Last-Translator: icewind \n" -"Language-Team: Hebrew (http://www.transifex.net/projects/p/owncloud/language/he/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: he\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: appinfo/app.php:37 -msgid "Pictures" -msgstr "" - -#: js/album_cover.js:44 -msgid "Share gallery" -msgstr "" - -#: js/album_cover.js:64 js/album_cover.js:100 js/album_cover.js:133 -msgid "Error: " -msgstr "" - -#: js/album_cover.js:64 js/album_cover.js:100 -msgid "Internal error" -msgstr "" - -#: js/album_cover.js:114 -msgid "Scanning root" -msgstr "" - -#: js/album_cover.js:115 -msgid "Default order" -msgstr "" - -#: js/album_cover.js:116 -msgid "Ascending" -msgstr "" - -#: js/album_cover.js:116 -msgid "Descending" -msgstr "" - -#: js/album_cover.js:117 templates/index.php:19 -msgid "Settings" -msgstr "" - -#: js/album_cover.js:122 -msgid "Scanning root cannot be empty" -msgstr "" - -#: js/album_cover.js:122 js/album_cover.js:133 -msgid "Error" -msgstr "" - -#: templates/index.php:16 -msgid "Rescan" -msgstr "" - -#: templates/index.php:17 -msgid "Stop" -msgstr "" - -#: templates/index.php:18 -msgid "Share" -msgstr "" - -#: templates/view_album.php:19 -msgid "Back" -msgstr "" - -#: templates/view_album.php:36 -msgid "Remove confirmation" -msgstr "" - -#: templates/view_album.php:37 -msgid "Do you want to remove album" -msgstr "" - -#: templates/view_album.php:40 -msgid "Change album name" -msgstr "" - -#: templates/view_album.php:43 -msgid "New album name" -msgstr "" diff --git a/l10n/he/impress.po b/l10n/he/impress.po deleted file mode 100644 index 722a7c44e18efd3ebff510f9849dcb27e31d1e8c..0000000000000000000000000000000000000000 --- a/l10n/he/impress.po +++ /dev/null @@ -1,22 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 01:17+0200\n" -"PO-Revision-Date: 2012-08-25 23:18+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Hebrew (http://www.transifex.com/projects/p/owncloud/language/he/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: he\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: templates/presentations.php:7 -msgid "Documentation" -msgstr "" diff --git a/l10n/he/lib.po b/l10n/he/lib.po index d85313a6ab8cd1cf61417e99b6c4604dda65edd9..de97f2df8845d53a76057c7f4538cd0e25d79e68 100644 --- a/l10n/he/lib.po +++ b/l10n/he/lib.po @@ -4,13 +4,14 @@ # # Translators: # Tomer Cohen , 2012. +# Yaron Shahrabani , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-09-05 02:01+0200\n" -"PO-Revision-Date: 2012-09-04 23:19+0000\n" -"Last-Translator: Tomer Cohen \n" +"POT-Creation-Date: 2012-12-02 00:02+0100\n" +"PO-Revision-Date: 2012-12-01 06:32+0000\n" +"Last-Translator: Yaron Shahrabani \n" "Language-Team: Hebrew (http://www.transifex.com/projects/p/owncloud/language/he/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -18,43 +19,43 @@ msgstr "" "Language: he\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: app.php:288 +#: app.php:285 msgid "Help" msgstr "עזרה" -#: app.php:295 +#: app.php:292 msgid "Personal" msgstr "אישי" -#: app.php:300 +#: app.php:297 msgid "Settings" msgstr "הגדרות" -#: app.php:305 +#: app.php:302 msgid "Users" msgstr "משתמשים" -#: app.php:312 +#: app.php:309 msgid "Apps" msgstr "יישומים" -#: app.php:314 +#: app.php:311 msgid "Admin" msgstr "מנהל" -#: files.php:280 +#: files.php:361 msgid "ZIP download is turned off." msgstr "הורדת ZIP כבויה" -#: files.php:281 +#: files.php:362 msgid "Files need to be downloaded one by one." msgstr "יש להוריד את הקבצים אחד אחרי השני." -#: files.php:281 files.php:306 +#: files.php:362 files.php:387 msgid "Back to Files" msgstr "חזרה לקבצים" -#: files.php:305 +#: files.php:386 msgid "Selected files too large to generate zip file." msgstr "הקבצים הנבחרים גדולים מידי ליצירת קובץ zip." @@ -62,7 +63,7 @@ msgstr "הקבצים הנבחרים גדולים מידי ליצירת קובץ msgid "Application is not enabled" msgstr "יישומים אינם מופעלים" -#: json.php:39 json.php:63 json.php:75 +#: json.php:39 json.php:64 json.php:77 json.php:89 msgid "Authentication error" msgstr "שגיאת הזדהות" @@ -70,57 +71,84 @@ msgstr "שגיאת הזדהות" msgid "Token expired. Please reload page." msgstr "פג תוקף. נא לטעון שוב את הדף." -#: template.php:87 +#: search/provider/file.php:17 search/provider/file.php:35 +msgid "Files" +msgstr "קבצים" + +#: search/provider/file.php:26 search/provider/file.php:33 +msgid "Text" +msgstr "טקסט" + +#: search/provider/file.php:29 +msgid "Images" +msgstr "תמונות" + +#: template.php:103 msgid "seconds ago" msgstr "שניות" -#: template.php:88 +#: template.php:104 msgid "1 minute ago" msgstr "לפני דקה אחת" -#: template.php:89 +#: template.php:105 #, php-format msgid "%d minutes ago" msgstr "לפני %d דקות" -#: template.php:92 +#: template.php:106 +msgid "1 hour ago" +msgstr "לפני שעה" + +#: template.php:107 +#, php-format +msgid "%d hours ago" +msgstr "לפני %d שעות" + +#: template.php:108 msgid "today" msgstr "היום" -#: template.php:93 +#: template.php:109 msgid "yesterday" msgstr "אתמול" -#: template.php:94 +#: template.php:110 #, php-format msgid "%d days ago" msgstr "לפני %d ימים" -#: template.php:95 +#: template.php:111 msgid "last month" msgstr "חודש שעבר" -#: template.php:96 -msgid "months ago" -msgstr "חודשים" +#: template.php:112 +#, php-format +msgid "%d months ago" +msgstr "לפני %d חודשים" -#: template.php:97 +#: template.php:113 msgid "last year" msgstr "שנה שעברה" -#: template.php:98 +#: template.php:114 msgid "years ago" msgstr "שנים" -#: updater.php:66 +#: updater.php:75 #, php-format msgid "%s is available. Get more information" msgstr "%s זמין. קבלת מידע נוסף" -#: updater.php:68 +#: updater.php:77 msgid "up to date" msgstr "עדכני" -#: updater.php:71 +#: updater.php:80 msgid "updates check is disabled" msgstr "בדיקת עדכונים מנוטרלת" + +#: vcategories.php:188 vcategories.php:249 +#, php-format +msgid "Could not find category \"%s\"" +msgstr "לא ניתן למצוא את הקטגוריה „%s“" diff --git a/l10n/he/media.po b/l10n/he/media.po deleted file mode 100644 index 993c46955ba1bf526130a3aed72a0c6548d48438..0000000000000000000000000000000000000000 --- a/l10n/he/media.po +++ /dev/null @@ -1,67 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# , 2011. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-06-06 00:12+0200\n" -"PO-Revision-Date: 2012-06-05 22:15+0000\n" -"Last-Translator: icewind \n" -"Language-Team: Hebrew (http://www.transifex.net/projects/p/owncloud/language/he/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: he\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: appinfo/app.php:32 templates/player.php:8 -msgid "Music" -msgstr "מוזיקה" - -#: js/music.js:18 -msgid "Add album to playlist" -msgstr "" - -#: templates/music.php:3 templates/player.php:12 -msgid "Play" -msgstr "נגן" - -#: templates/music.php:4 templates/music.php:26 templates/player.php:13 -msgid "Pause" -msgstr "השהה" - -#: templates/music.php:5 -msgid "Previous" -msgstr "קודם" - -#: templates/music.php:6 templates/player.php:14 -msgid "Next" -msgstr "הבא" - -#: templates/music.php:7 -msgid "Mute" -msgstr "השתק" - -#: templates/music.php:8 -msgid "Unmute" -msgstr "בטל השתקה" - -#: templates/music.php:25 -msgid "Rescan Collection" -msgstr "סריקת אוסף מחדש" - -#: templates/music.php:37 -msgid "Artist" -msgstr "מבצע" - -#: templates/music.php:38 -msgid "Album" -msgstr "אלבום" - -#: templates/music.php:39 -msgid "Title" -msgstr "כותרת" diff --git a/l10n/he/settings.po b/l10n/he/settings.po index 28b90c629a24e187a9b14b84ab2df1110b42cb75..50e610dd37102893f0031b1eeecc5e92c31b6955 100644 --- a/l10n/he/settings.po +++ b/l10n/he/settings.po @@ -10,9 +10,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-09 02:03+0200\n" -"PO-Revision-Date: 2012-10-09 00:04+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-12-03 00:04+0100\n" +"PO-Revision-Date: 2012-12-02 03:18+0000\n" +"Last-Translator: Yaron Shahrabani \n" "Language-Team: Hebrew (http://www.transifex.com/projects/p/owncloud/language/he/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -20,70 +20,73 @@ msgstr "" "Language: he\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: ajax/apps/ocs.php:23 +#: ajax/apps/ocs.php:20 msgid "Unable to load list from App Store" -msgstr "" +msgstr "לא ניתן לטעון רשימה מה־App Store" -#: ajax/creategroup.php:9 ajax/removeuser.php:13 ajax/setquota.php:18 -#: ajax/togglegroups.php:15 -msgid "Authentication error" -msgstr "" - -#: ajax/creategroup.php:19 +#: ajax/creategroup.php:10 msgid "Group already exists" -msgstr "" +msgstr "הקבוצה כבר קיימת" -#: ajax/creategroup.php:28 +#: ajax/creategroup.php:19 msgid "Unable to add group" -msgstr "" +msgstr "לא ניתן להוסיף קבוצה" -#: ajax/enableapp.php:14 +#: ajax/enableapp.php:12 msgid "Could not enable app. " -msgstr "" +msgstr "לא ניתן להפעיל את היישום" -#: ajax/lostpassword.php:14 +#: ajax/lostpassword.php:12 msgid "Email saved" msgstr "הדוא״ל נשמר" -#: ajax/lostpassword.php:16 +#: ajax/lostpassword.php:14 msgid "Invalid email" msgstr "דוא״ל לא חוקי" -#: ajax/openid.php:16 +#: ajax/openid.php:13 msgid "OpenID Changed" msgstr "OpenID השתנה" -#: ajax/openid.php:18 ajax/setlanguage.php:20 ajax/setlanguage.php:23 +#: ajax/openid.php:15 ajax/setlanguage.php:17 ajax/setlanguage.php:20 msgid "Invalid request" msgstr "בקשה לא חוקית" -#: ajax/removegroup.php:16 +#: ajax/removegroup.php:13 msgid "Unable to delete group" -msgstr "" +msgstr "לא ניתן למחוק את הקבוצה" -#: ajax/removeuser.php:22 +#: ajax/removeuser.php:15 ajax/setquota.php:15 ajax/togglegroups.php:18 +msgid "Authentication error" +msgstr "שגיאת הזדהות" + +#: ajax/removeuser.php:24 msgid "Unable to delete user" -msgstr "" +msgstr "לא ניתן למחוק את המשתמש" -#: ajax/setlanguage.php:18 +#: ajax/setlanguage.php:15 msgid "Language changed" msgstr "שפה השתנתה" -#: ajax/togglegroups.php:25 +#: ajax/togglegroups.php:12 +msgid "Admins can't remove themself from the admin group" +msgstr "מנהלים לא יכולים להסיר את עצמם מקבוצת המנהלים" + +#: ajax/togglegroups.php:28 #, php-format msgid "Unable to add user to group %s" -msgstr "" +msgstr "לא ניתן להוסיף משתמש לקבוצה %s" -#: ajax/togglegroups.php:31 +#: ajax/togglegroups.php:34 #, php-format msgid "Unable to remove user from group %s" -msgstr "" +msgstr "לא ניתן להסיר משתמש מהקבוצה %s" -#: js/apps.js:28 js/apps.js:65 +#: js/apps.js:28 js/apps.js:67 msgid "Disable" msgstr "בטל" -#: js/apps.js:28 js/apps.js:54 +#: js/apps.js:28 js/apps.js:55 msgid "Enable" msgstr "הפעל" @@ -91,104 +94,17 @@ msgstr "הפעל" msgid "Saving..." msgstr "שומר.." -#: personal.php:47 personal.php:48 +#: personal.php:42 personal.php:43 msgid "__language_name__" msgstr "עברית" -#: templates/admin.php:14 -msgid "Security Warning" -msgstr "" - -#: templates/admin.php:17 -msgid "" -"Your data directory and your files are probably accessible from the " -"internet. The .htaccess file that ownCloud provides is not working. We " -"strongly suggest that you configure your webserver in a way that the data " -"directory is no longer accessible or you move the data directory outside the" -" webserver document root." -msgstr "" - -#: templates/admin.php:31 -msgid "Cron" -msgstr "" - -#: templates/admin.php:37 -msgid "Execute one task with each page loaded" -msgstr "" - -#: templates/admin.php:43 -msgid "" -"cron.php is registered at a webcron service. Call the cron.php page in the " -"owncloud root once a minute over http." -msgstr "" - -#: templates/admin.php:49 -msgid "" -"Use systems cron service. Call the cron.php file in the owncloud folder via " -"a system cronjob once a minute." -msgstr "" - -#: templates/admin.php:56 -msgid "Sharing" -msgstr "" - -#: templates/admin.php:61 -msgid "Enable Share API" -msgstr "" - -#: templates/admin.php:62 -msgid "Allow apps to use the Share API" -msgstr "" - -#: templates/admin.php:67 -msgid "Allow links" -msgstr "" - -#: templates/admin.php:68 -msgid "Allow users to share items to the public with links" -msgstr "" - -#: templates/admin.php:73 -msgid "Allow resharing" -msgstr "" - -#: templates/admin.php:74 -msgid "Allow users to share items shared with them again" -msgstr "" - -#: templates/admin.php:79 -msgid "Allow users to share with anyone" -msgstr "" - -#: templates/admin.php:81 -msgid "Allow users to only share with users in their groups" -msgstr "" - -#: templates/admin.php:88 -msgid "Log" -msgstr "יומן" - -#: templates/admin.php:116 -msgid "More" -msgstr "עוד" - -#: templates/admin.php:124 -msgid "" -"Developed by the ownCloud community, the source code is " -"licensed under the AGPL." -msgstr "" - #: templates/apps.php:10 msgid "Add your App" msgstr "הוספת היישום שלך" #: templates/apps.php:11 msgid "More Apps" -msgstr "" +msgstr "יישומים נוספים" #: templates/apps.php:27 msgid "Select an App" @@ -200,7 +116,7 @@ msgstr "צפה בעמוד הישום ב apps.owncloud.com" #: templates/apps.php:32 msgid "-licensed by " -msgstr "" +msgstr "ברישיון לטובת " #: templates/help.php:9 msgid "Documentation" @@ -214,22 +130,22 @@ msgstr "ניהול קבצים גדולים" msgid "Ask a question" msgstr "שאל שאלה" -#: templates/help.php:23 +#: templates/help.php:22 msgid "Problems connecting to help database." msgstr "בעיות בהתחברות לבסיס נתוני העזרה" -#: templates/help.php:24 +#: templates/help.php:23 msgid "Go there manually." msgstr "גש לשם באופן ידני" -#: templates/help.php:32 +#: templates/help.php:31 msgid "Answer" msgstr "מענה" #: templates/personal.php:8 #, php-format -msgid "You have used %s of the available %s" -msgstr "" +msgid "You have used %s of the available %s" +msgstr "השתמשת ב־%s מתוך %s הזמינים לך" #: templates/personal.php:12 msgid "Desktop and Mobile Syncing Clients" @@ -241,7 +157,7 @@ msgstr "הורדה" #: templates/personal.php:19 msgid "Your password was changed" -msgstr "" +msgstr "הססמה שלך הוחלפה" #: templates/personal.php:20 msgid "Unable to change your password" @@ -287,6 +203,16 @@ msgstr "עזרה בתרגום" msgid "use this address to connect to your ownCloud in your file manager" msgstr "השתמש בכתובת זו כדי להתחבר ל־ownCloude שלך ממנהל הקבצים" +#: templates/personal.php:61 +msgid "" +"Developed by the ownCloud community, the source code is " +"licensed under the AGPL." +msgstr "פותח על די קהילתownCloud, קוד המקור מוגן ברישיון AGPL." + #: templates/users.php:21 templates/users.php:76 msgid "Name" msgstr "שם" @@ -313,7 +239,7 @@ msgstr "אחר" #: templates/users.php:80 templates/users.php:112 msgid "Group Admin" -msgstr "" +msgstr "מנהל הקבוצה" #: templates/users.php:82 msgid "Quota" diff --git a/l10n/he/tasks.po b/l10n/he/tasks.po deleted file mode 100644 index 7f26426e1cd8da09b1cdc99bcdc2438f39a47631..0000000000000000000000000000000000000000 --- a/l10n/he/tasks.po +++ /dev/null @@ -1,106 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:44+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Hebrew (http://www.transifex.com/projects/p/owncloud/language/he/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: he\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: ajax/update_property.php:51 lib/app.php:89 lib/app.php:101 -msgid "Invalid date/time" -msgstr "" - -#: appinfo/app.php:11 -msgid "Tasks" -msgstr "" - -#: js/tasks.js:415 -msgid "No category" -msgstr "" - -#: lib/app.php:33 -msgid "Unspecified" -msgstr "" - -#: lib/app.php:34 -msgid "1=highest" -msgstr "" - -#: lib/app.php:38 -msgid "5=medium" -msgstr "" - -#: lib/app.php:42 -msgid "9=lowest" -msgstr "" - -#: lib/app.php:81 -msgid "Empty Summary" -msgstr "" - -#: lib/app.php:93 -msgid "Invalid percent complete" -msgstr "" - -#: lib/app.php:107 -msgid "Invalid priority" -msgstr "" - -#: templates/tasks.php:3 -msgid "Add Task" -msgstr "" - -#: templates/tasks.php:4 -msgid "Order Due" -msgstr "" - -#: templates/tasks.php:5 -msgid "Order List" -msgstr "" - -#: templates/tasks.php:6 -msgid "Order Complete" -msgstr "" - -#: templates/tasks.php:7 -msgid "Order Location" -msgstr "" - -#: templates/tasks.php:8 -msgid "Order Priority" -msgstr "" - -#: templates/tasks.php:9 -msgid "Order Label" -msgstr "" - -#: templates/tasks.php:16 -msgid "Loading tasks..." -msgstr "" - -#: templates/tasks.php:20 -msgid "Important" -msgstr "" - -#: templates/tasks.php:23 -msgid "More" -msgstr "" - -#: templates/tasks.php:26 -msgid "Less" -msgstr "" - -#: templates/tasks.php:29 -msgid "Delete" -msgstr "" diff --git a/l10n/he/user_migrate.po b/l10n/he/user_migrate.po deleted file mode 100644 index 0a4f2c67393e0d68cbe0b186b540b5e80ed3f8d6..0000000000000000000000000000000000000000 --- a/l10n/he/user_migrate.po +++ /dev/null @@ -1,51 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:45+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Hebrew (http://www.transifex.com/projects/p/owncloud/language/he/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: he\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: js/export.js:14 js/export.js:20 -msgid "Export" -msgstr "" - -#: js/export.js:19 -msgid "Something went wrong while the export file was being generated" -msgstr "" - -#: js/export.js:19 -msgid "An error has occurred" -msgstr "" - -#: templates/settings.php:2 -msgid "Export your user account" -msgstr "" - -#: templates/settings.php:3 -msgid "" -"This will create a compressed file that contains your ownCloud account." -msgstr "" - -#: templates/settings.php:13 -msgid "Import user account" -msgstr "" - -#: templates/settings.php:15 -msgid "ownCloud User Zip" -msgstr "" - -#: templates/settings.php:17 -msgid "Import" -msgstr "" diff --git a/l10n/he/user_openid.po b/l10n/he/user_openid.po deleted file mode 100644 index 58c09141c7a0d76b6cefe2bc78ec4ca29b5c4b1a..0000000000000000000000000000000000000000 --- a/l10n/he/user_openid.po +++ /dev/null @@ -1,54 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:45+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Hebrew (http://www.transifex.com/projects/p/owncloud/language/he/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: he\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: templates/nomode.php:12 -msgid "This is an OpenID server endpoint. For more information, see " -msgstr "" - -#: templates/nomode.php:14 -msgid "Identity: " -msgstr "" - -#: templates/nomode.php:15 -msgid "Realm: " -msgstr "" - -#: templates/nomode.php:16 -msgid "User: " -msgstr "" - -#: templates/nomode.php:17 -msgid "Login" -msgstr "" - -#: templates/nomode.php:22 -msgid "Error: No user Selected" -msgstr "" - -#: templates/settings.php:4 -msgid "you can authenticate to other sites with this address" -msgstr "" - -#: templates/settings.php:5 -msgid "Authorized OpenID provider" -msgstr "" - -#: templates/settings.php:6 -msgid "Your address at Wordpress, Identi.ca, …" -msgstr "" diff --git a/l10n/he/files_odfviewer.po b/l10n/he/user_webdavauth.po similarity index 73% rename from l10n/he/files_odfviewer.po rename to l10n/he/user_webdavauth.po index e493bf5cb56bf60f80aa3287fd47d49b1e5409a8..a47de1367d9cafd0bb66d58f7fa5485b69921f8e 100644 --- a/l10n/he/files_odfviewer.po +++ b/l10n/he/user_webdavauth.po @@ -7,16 +7,16 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 02:18+0200\n" -"PO-Revision-Date: 2012-08-26 00:19+0000\n" +"POT-Creation-Date: 2012-11-09 10:06+0100\n" +"PO-Revision-Date: 2012-11-09 09:06+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: Hebrew (http://www.transifex.com/projects/p/owncloud/language/he/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: he\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: js/viewer.js:9 -msgid "Close" +#: templates/settings.php:4 +msgid "WebDAV URL: http://" msgstr "" diff --git a/l10n/hi/core.po b/l10n/hi/core.po index 9f9f0bf08237c14f6ee5a0fd9ff0b453c4d29a82..70a515c30935b79c16b7525ff64be8b55f76c408 100644 --- a/l10n/hi/core.po +++ b/l10n/hi/core.po @@ -3,14 +3,15 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# Omkar Tapale , 2012. # Sanjay Rabidas , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-16 02:04+0200\n" -"PO-Revision-Date: 2012-10-16 00:05+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-11-16 00:02+0100\n" +"PO-Revision-Date: 2012-11-14 23:13+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Hindi (http://www.transifex.com/projects/p/owncloud/language/hi/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -18,226 +19,258 @@ msgstr "" "Language: hi\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: ajax/vcategories/add.php:23 ajax/vcategories/delete.php:23 -msgid "Application name not provided." +#: ajax/vcategories/add.php:26 ajax/vcategories/edit.php:25 +msgid "Category type not provided." msgstr "" -#: ajax/vcategories/add.php:29 +#: ajax/vcategories/add.php:30 msgid "No category to add?" msgstr "" -#: ajax/vcategories/add.php:36 +#: ajax/vcategories/add.php:37 msgid "This category already exists: " msgstr "" -#: js/js.js:238 templates/layout.user.php:49 templates/layout.user.php:50 +#: ajax/vcategories/addToFavorites.php:26 ajax/vcategories/delete.php:27 +#: ajax/vcategories/favorites.php:24 +#: ajax/vcategories/removeFromFavorites.php:26 +msgid "Object type not provided." +msgstr "" + +#: ajax/vcategories/addToFavorites.php:30 +#: ajax/vcategories/removeFromFavorites.php:30 +#, php-format +msgid "%s ID not provided." +msgstr "" + +#: ajax/vcategories/addToFavorites.php:35 +#, php-format +msgid "Error adding %s to favorites." +msgstr "" + +#: ajax/vcategories/delete.php:35 js/oc-vcategories.js:136 +msgid "No categories selected for deletion." +msgstr "" + +#: ajax/vcategories/removeFromFavorites.php:35 +#, php-format +msgid "Error removing %s from favorites." +msgstr "" + +#: js/js.js:243 templates/layout.user.php:59 templates/layout.user.php:60 msgid "Settings" msgstr "" -#: js/js.js:670 -msgid "January" +#: js/js.js:688 +msgid "seconds ago" msgstr "" -#: js/js.js:670 -msgid "February" +#: js/js.js:689 +msgid "1 minute ago" msgstr "" -#: js/js.js:670 -msgid "March" +#: js/js.js:690 +msgid "{minutes} minutes ago" msgstr "" -#: js/js.js:670 -msgid "April" +#: js/js.js:691 +msgid "1 hour ago" msgstr "" -#: js/js.js:670 -msgid "May" +#: js/js.js:692 +msgid "{hours} hours ago" msgstr "" -#: js/js.js:670 -msgid "June" +#: js/js.js:693 +msgid "today" msgstr "" -#: js/js.js:671 -msgid "July" +#: js/js.js:694 +msgid "yesterday" msgstr "" -#: js/js.js:671 -msgid "August" +#: js/js.js:695 +msgid "{days} days ago" msgstr "" -#: js/js.js:671 -msgid "September" +#: js/js.js:696 +msgid "last month" msgstr "" -#: js/js.js:671 -msgid "October" +#: js/js.js:697 +msgid "{months} months ago" msgstr "" -#: js/js.js:671 -msgid "November" +#: js/js.js:698 +msgid "months ago" msgstr "" -#: js/js.js:671 -msgid "December" +#: js/js.js:699 +msgid "last year" msgstr "" -#: js/oc-dialogs.js:123 +#: js/js.js:700 +msgid "years ago" +msgstr "" + +#: js/oc-dialogs.js:126 msgid "Choose" msgstr "" -#: js/oc-dialogs.js:143 js/oc-dialogs.js:163 +#: js/oc-dialogs.js:146 js/oc-dialogs.js:166 msgid "Cancel" msgstr "" -#: js/oc-dialogs.js:159 +#: js/oc-dialogs.js:162 msgid "No" msgstr "" -#: js/oc-dialogs.js:160 +#: js/oc-dialogs.js:163 msgid "Yes" msgstr "" -#: js/oc-dialogs.js:177 +#: js/oc-dialogs.js:180 msgid "Ok" msgstr "" -#: js/oc-vcategories.js:68 -msgid "No categories selected for deletion." +#: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102 +#: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162 +msgid "The object type is not specified." msgstr "" -#: js/oc-vcategories.js:68 js/share.js:114 js/share.js:121 js/share.js:497 -#: js/share.js:509 +#: js/oc-vcategories.js:95 js/oc-vcategories.js:125 js/oc-vcategories.js:136 +#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:525 +#: js/share.js:537 msgid "Error" msgstr "" -#: js/share.js:103 +#: js/oc-vcategories.js:179 +msgid "The app name is not specified." +msgstr "" + +#: js/oc-vcategories.js:194 +msgid "The required file {file} is not installed!" +msgstr "" + +#: js/share.js:124 msgid "Error while sharing" msgstr "" -#: js/share.js:114 +#: js/share.js:135 msgid "Error while unsharing" msgstr "" -#: js/share.js:121 +#: js/share.js:142 msgid "Error while changing permissions" msgstr "" -#: js/share.js:130 -msgid "Shared with you and the group" -msgstr "" - -#: js/share.js:130 -msgid "by" +#: js/share.js:151 +msgid "Shared with you and the group {group} by {owner}" msgstr "" -#: js/share.js:132 -msgid "Shared with you by" +#: js/share.js:153 +msgid "Shared with you by {owner}" msgstr "" -#: js/share.js:137 +#: js/share.js:158 msgid "Share with" msgstr "" -#: js/share.js:142 +#: js/share.js:163 msgid "Share with link" msgstr "" -#: js/share.js:143 +#: js/share.js:164 msgid "Password protect" msgstr "" -#: js/share.js:147 templates/installation.php:42 templates/login.php:24 +#: js/share.js:168 templates/installation.php:42 templates/login.php:24 #: templates/verify.php:13 msgid "Password" msgstr "पासवर्ड" -#: js/share.js:152 +#: js/share.js:173 msgid "Set expiration date" msgstr "" -#: js/share.js:153 +#: js/share.js:174 msgid "Expiration date" msgstr "" -#: js/share.js:185 +#: js/share.js:206 msgid "Share via email:" msgstr "" -#: js/share.js:187 +#: js/share.js:208 msgid "No people found" msgstr "" -#: js/share.js:214 +#: js/share.js:235 msgid "Resharing is not allowed" msgstr "" -#: js/share.js:250 -msgid "Shared in" -msgstr "" - -#: js/share.js:250 -msgid "with" +#: js/share.js:271 +msgid "Shared in {item} with {user}" msgstr "" -#: js/share.js:271 +#: js/share.js:292 msgid "Unshare" msgstr "" -#: js/share.js:283 +#: js/share.js:304 msgid "can edit" msgstr "" -#: js/share.js:285 +#: js/share.js:306 msgid "access control" msgstr "" -#: js/share.js:288 +#: js/share.js:309 msgid "create" msgstr "" -#: js/share.js:291 +#: js/share.js:312 msgid "update" msgstr "" -#: js/share.js:294 +#: js/share.js:315 msgid "delete" msgstr "" -#: js/share.js:297 +#: js/share.js:318 msgid "share" msgstr "" -#: js/share.js:322 js/share.js:484 +#: js/share.js:343 js/share.js:512 js/share.js:514 msgid "Password protected" msgstr "" -#: js/share.js:497 +#: js/share.js:525 msgid "Error unsetting expiration date" msgstr "" -#: js/share.js:509 +#: js/share.js:537 msgid "Error setting expiration date" msgstr "" -#: lostpassword/index.php:26 +#: lostpassword/controller.php:47 msgid "ownCloud password reset" msgstr "" #: lostpassword/templates/email.php:2 msgid "Use the following link to reset your password: {link}" -msgstr "" +msgstr "आगे दिये गये लिंक का उपयोग पासवर्ड बदलने के लिये किजीये: {link}" #: lostpassword/templates/lostpassword.php:3 msgid "You will receive a link to reset your password via Email." -msgstr "" +msgstr "पासवर्ड बदलने कि लिंक आपको ई-मेल द्वारा भेजी जायेगी|" #: lostpassword/templates/lostpassword.php:5 -msgid "Requested" +msgid "Reset email send." msgstr "" #: lostpassword/templates/lostpassword.php:8 -msgid "Login failed!" +msgid "Request failed!" msgstr "" #: lostpassword/templates/lostpassword.php:11 templates/installation.php:38 @@ -251,7 +284,7 @@ msgstr "" #: lostpassword/templates/resetpassword.php:4 msgid "Your password was reset" -msgstr "" +msgstr "आपका पासवर्ड बदला गया है" #: lostpassword/templates/resetpassword.php:5 msgid "To login page" @@ -259,7 +292,7 @@ msgstr "" #: lostpassword/templates/resetpassword.php:8 msgid "New password" -msgstr "" +msgstr "नया पासवर्ड" #: lostpassword/templates/resetpassword.php:11 msgid "Reset password" @@ -297,7 +330,7 @@ msgstr "क्लौड नहीं मिला " msgid "Edit categories" msgstr "" -#: templates/edit_categories_dialog.php:14 +#: templates/edit_categories_dialog.php:16 msgid "Add" msgstr "" @@ -371,11 +404,87 @@ msgstr "" msgid "Finish setup" msgstr "सेटअप समाप्त करे" -#: templates/layout.guest.php:38 +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Sunday" +msgstr "" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Monday" +msgstr "" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Tuesday" +msgstr "" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Wednesday" +msgstr "" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Thursday" +msgstr "" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Friday" +msgstr "" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Saturday" +msgstr "" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "January" +msgstr "" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "February" +msgstr "" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "March" +msgstr "" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "April" +msgstr "" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "May" +msgstr "" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "June" +msgstr "" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "July" +msgstr "" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "August" +msgstr "" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "September" +msgstr "" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "October" +msgstr "" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "November" +msgstr "" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "December" +msgstr "" + +#: templates/layout.guest.php:41 msgid "web services under your control" msgstr "" -#: templates/layout.user.php:34 +#: templates/layout.user.php:44 msgid "Log out" msgstr "" diff --git a/l10n/hi/files.po b/l10n/hi/files.po index cc9c0f501ffaab72f6d8f80245861d1281c545a5..1c494c435f9ca233660b3ad99204837923267544 100644 --- a/l10n/hi/files.po +++ b/l10n/hi/files.po @@ -7,9 +7,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-09-26 13:19+0200\n" -"PO-Revision-Date: 2012-09-26 11:20+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-12-01 00:01+0100\n" +"PO-Revision-Date: 2012-11-30 23:02+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Hindi (http://www.transifex.com/projects/p/owncloud/language/hi/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -22,194 +22,165 @@ msgid "There is no error, the file uploaded with success" msgstr "" #: ajax/upload.php:21 -msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" +msgid "" +"The uploaded file exceeds the upload_max_filesize directive in php.ini: " msgstr "" -#: ajax/upload.php:22 +#: ajax/upload.php:23 msgid "" "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " "the HTML form" msgstr "" -#: ajax/upload.php:23 +#: ajax/upload.php:25 msgid "The uploaded file was only partially uploaded" msgstr "" -#: ajax/upload.php:24 +#: ajax/upload.php:26 msgid "No file was uploaded" msgstr "" -#: ajax/upload.php:25 +#: ajax/upload.php:27 msgid "Missing a temporary folder" msgstr "" -#: ajax/upload.php:26 +#: ajax/upload.php:28 msgid "Failed to write to disk" msgstr "" -#: appinfo/app.php:6 +#: appinfo/app.php:10 msgid "Files" msgstr "" -#: js/fileactions.js:108 templates/index.php:62 +#: js/fileactions.js:117 templates/index.php:83 templates/index.php:84 msgid "Unshare" msgstr "" -#: js/fileactions.js:110 templates/index.php:64 +#: js/fileactions.js:119 templates/index.php:89 templates/index.php:90 msgid "Delete" msgstr "" -#: js/fileactions.js:182 +#: js/fileactions.js:181 msgid "Rename" msgstr "" -#: js/filelist.js:190 js/filelist.js:192 -msgid "already exists" +#: js/filelist.js:201 js/filelist.js:203 +msgid "{new_name} already exists" msgstr "" -#: js/filelist.js:190 js/filelist.js:192 +#: js/filelist.js:201 js/filelist.js:203 msgid "replace" msgstr "" -#: js/filelist.js:190 +#: js/filelist.js:201 msgid "suggest name" msgstr "" -#: js/filelist.js:190 js/filelist.js:192 +#: js/filelist.js:201 js/filelist.js:203 msgid "cancel" msgstr "" -#: js/filelist.js:239 js/filelist.js:241 -msgid "replaced" +#: js/filelist.js:250 +msgid "replaced {new_name}" msgstr "" -#: js/filelist.js:239 js/filelist.js:241 js/filelist.js:273 js/filelist.js:275 +#: js/filelist.js:250 js/filelist.js:252 js/filelist.js:284 js/filelist.js:286 msgid "undo" msgstr "" -#: js/filelist.js:241 -msgid "with" +#: js/filelist.js:252 +msgid "replaced {new_name} with {old_name}" msgstr "" -#: js/filelist.js:273 -msgid "unshared" +#: js/filelist.js:284 +msgid "unshared {files}" msgstr "" -#: js/filelist.js:275 -msgid "deleted" +#: js/filelist.js:286 +msgid "deleted {files}" msgstr "" -#: js/files.js:179 +#: js/files.js:33 +msgid "" +"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not " +"allowed." +msgstr "" + +#: js/files.js:183 msgid "generating ZIP-file, it may take some time." msgstr "" -#: js/files.js:208 +#: js/files.js:218 msgid "Unable to upload your file as it is a directory or has 0 bytes" msgstr "" -#: js/files.js:208 +#: js/files.js:218 msgid "Upload Error" msgstr "" -#: js/files.js:236 js/files.js:341 js/files.js:371 +#: js/files.js:235 +msgid "Close" +msgstr "" + +#: js/files.js:254 js/files.js:368 js/files.js:398 msgid "Pending" msgstr "" -#: js/files.js:256 +#: js/files.js:274 msgid "1 file uploading" msgstr "" -#: js/files.js:259 js/files.js:304 js/files.js:319 -msgid "files uploading" +#: js/files.js:277 js/files.js:331 js/files.js:346 +msgid "{count} files uploading" msgstr "" -#: js/files.js:322 js/files.js:355 +#: js/files.js:349 js/files.js:382 msgid "Upload cancelled." msgstr "" -#: js/files.js:424 +#: js/files.js:451 msgid "" "File upload is in progress. Leaving the page now will cancel the upload." msgstr "" -#: js/files.js:494 -msgid "Invalid name, '/' is not allowed." +#: js/files.js:523 +msgid "Invalid folder name. Usage of \"Shared\" is reserved by Owncloud" msgstr "" -#: js/files.js:667 -msgid "files scanned" +#: js/files.js:704 +msgid "{count} files scanned" msgstr "" -#: js/files.js:675 +#: js/files.js:712 msgid "error while scanning" msgstr "" -#: js/files.js:748 templates/index.php:48 +#: js/files.js:785 templates/index.php:65 msgid "Name" msgstr "" -#: js/files.js:749 templates/index.php:56 +#: js/files.js:786 templates/index.php:76 msgid "Size" msgstr "" -#: js/files.js:750 templates/index.php:58 +#: js/files.js:787 templates/index.php:78 msgid "Modified" msgstr "" -#: js/files.js:777 -msgid "folder" -msgstr "" - -#: js/files.js:779 -msgid "folders" -msgstr "" - -#: js/files.js:787 -msgid "file" -msgstr "" - -#: js/files.js:789 -msgid "files" -msgstr "" - -#: js/files.js:833 -msgid "seconds ago" -msgstr "" - -#: js/files.js:834 -msgid "minute ago" +#: js/files.js:814 +msgid "1 folder" msgstr "" -#: js/files.js:835 -msgid "minutes ago" +#: js/files.js:816 +msgid "{count} folders" msgstr "" -#: js/files.js:838 -msgid "today" +#: js/files.js:824 +msgid "1 file" msgstr "" -#: js/files.js:839 -msgid "yesterday" -msgstr "" - -#: js/files.js:840 -msgid "days ago" -msgstr "" - -#: js/files.js:841 -msgid "last month" -msgstr "" - -#: js/files.js:843 -msgid "months ago" -msgstr "" - -#: js/files.js:844 -msgid "last year" -msgstr "" - -#: js/files.js:845 -msgid "years ago" +#: js/files.js:826 +msgid "{count} files" msgstr "" #: templates/admin.php:5 @@ -220,27 +191,27 @@ msgstr "" msgid "Maximum upload size" msgstr "" -#: templates/admin.php:7 +#: templates/admin.php:9 msgid "max. possible: " msgstr "" -#: templates/admin.php:9 +#: templates/admin.php:12 msgid "Needed for multi-file and folder downloads." msgstr "" -#: templates/admin.php:9 +#: templates/admin.php:14 msgid "Enable ZIP-download" msgstr "" -#: templates/admin.php:11 +#: templates/admin.php:17 msgid "0 is unlimited" msgstr "" -#: templates/admin.php:12 +#: templates/admin.php:19 msgid "Maximum input size for ZIP files" msgstr "" -#: templates/admin.php:14 +#: templates/admin.php:23 msgid "Save" msgstr "" @@ -248,52 +219,48 @@ msgstr "" msgid "New" msgstr "" -#: templates/index.php:9 +#: templates/index.php:10 msgid "Text file" msgstr "" -#: templates/index.php:10 +#: templates/index.php:12 msgid "Folder" msgstr "" -#: templates/index.php:11 -msgid "From url" +#: templates/index.php:14 +msgid "From link" msgstr "" -#: templates/index.php:20 +#: templates/index.php:35 msgid "Upload" msgstr "" -#: templates/index.php:27 +#: templates/index.php:43 msgid "Cancel upload" msgstr "" -#: templates/index.php:40 +#: templates/index.php:57 msgid "Nothing in here. Upload something!" msgstr "" -#: templates/index.php:50 -msgid "Share" -msgstr "" - -#: templates/index.php:52 +#: templates/index.php:71 msgid "Download" msgstr "" -#: templates/index.php:75 +#: templates/index.php:103 msgid "Upload too large" msgstr "" -#: templates/index.php:77 +#: templates/index.php:105 msgid "" "The files you are trying to upload exceed the maximum size for file uploads " "on this server." msgstr "" -#: templates/index.php:82 +#: templates/index.php:110 msgid "Files are being scanned, please wait." msgstr "" -#: templates/index.php:85 +#: templates/index.php:113 msgid "Current scanning" msgstr "" diff --git a/l10n/hi/files_external.po b/l10n/hi/files_external.po index ffd95d4096830e2a8d5546d62efecb7600bec73a..f93e40c83d0e67b6ddd5f29b53723f2b26ab4cb1 100644 --- a/l10n/hi/files_external.po +++ b/l10n/hi/files_external.po @@ -7,9 +7,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-02 23:16+0200\n" -"PO-Revision-Date: 2012-10-02 21:17+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-12-12 00:12+0100\n" +"PO-Revision-Date: 2012-12-11 23:13+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Hindi (http://www.transifex.com/projects/p/owncloud/language/hi/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -41,66 +41,80 @@ msgstr "" msgid "Error configuring Google Drive storage" msgstr "" +#: lib/config.php:434 +msgid "" +"Warning: \"smbclient\" is not installed. Mounting of CIFS/SMB shares " +"is not possible. Please ask your system administrator to install it." +msgstr "" + +#: lib/config.php:435 +msgid "" +"Warning: The FTP support in PHP is not enabled or installed. Mounting" +" of FTP shares is not possible. Please ask your system administrator to " +"install it." +msgstr "" + #: templates/settings.php:3 msgid "External Storage" msgstr "" -#: templates/settings.php:7 templates/settings.php:19 +#: templates/settings.php:8 templates/settings.php:22 msgid "Mount point" msgstr "" -#: templates/settings.php:8 +#: templates/settings.php:9 msgid "Backend" msgstr "" -#: templates/settings.php:9 +#: templates/settings.php:10 msgid "Configuration" msgstr "" -#: templates/settings.php:10 +#: templates/settings.php:11 msgid "Options" msgstr "" -#: templates/settings.php:11 +#: templates/settings.php:12 msgid "Applicable" msgstr "" -#: templates/settings.php:23 +#: templates/settings.php:27 msgid "Add mount point" msgstr "" -#: templates/settings.php:54 templates/settings.php:62 +#: templates/settings.php:85 msgid "None set" msgstr "" -#: templates/settings.php:63 +#: templates/settings.php:86 msgid "All Users" msgstr "" -#: templates/settings.php:64 +#: templates/settings.php:87 msgid "Groups" msgstr "" -#: templates/settings.php:69 +#: templates/settings.php:95 msgid "Users" msgstr "" -#: templates/settings.php:77 templates/settings.php:107 +#: templates/settings.php:108 templates/settings.php:109 +#: templates/settings.php:149 templates/settings.php:150 msgid "Delete" msgstr "" -#: templates/settings.php:87 +#: templates/settings.php:124 msgid "Enable User External Storage" msgstr "" -#: templates/settings.php:88 +#: templates/settings.php:125 msgid "Allow users to mount their own external storage" msgstr "" -#: templates/settings.php:99 +#: templates/settings.php:139 msgid "SSL root certificates" msgstr "" -#: templates/settings.php:113 +#: templates/settings.php:158 msgid "Import Root Certificate" msgstr "" diff --git a/l10n/hi/lib.po b/l10n/hi/lib.po index c7209b64c42ff334689ac7dc8be686706996cb1e..310d410a6e996bf71e02404c143d33f4637d92ec 100644 --- a/l10n/hi/lib.po +++ b/l10n/hi/lib.po @@ -7,53 +7,53 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-09-01 02:01+0200\n" -"PO-Revision-Date: 2012-09-01 00:02+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-11-16 00:02+0100\n" +"PO-Revision-Date: 2012-11-14 23:13+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Hindi (http://www.transifex.com/projects/p/owncloud/language/hi/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: hi\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: app.php:288 +#: app.php:285 msgid "Help" msgstr "" -#: app.php:295 +#: app.php:292 msgid "Personal" msgstr "" -#: app.php:300 +#: app.php:297 msgid "Settings" msgstr "" -#: app.php:305 +#: app.php:302 msgid "Users" msgstr "" -#: app.php:312 +#: app.php:309 msgid "Apps" msgstr "" -#: app.php:314 +#: app.php:311 msgid "Admin" msgstr "" -#: files.php:280 +#: files.php:332 msgid "ZIP download is turned off." msgstr "" -#: files.php:281 +#: files.php:333 msgid "Files need to be downloaded one by one." msgstr "" -#: files.php:281 files.php:306 +#: files.php:333 files.php:358 msgid "Back to Files" msgstr "" -#: files.php:305 +#: files.php:357 msgid "Selected files too large to generate zip file." msgstr "" @@ -61,7 +61,7 @@ msgstr "" msgid "Application is not enabled" msgstr "" -#: json.php:39 json.php:63 json.php:75 +#: json.php:39 json.php:64 json.php:77 json.php:89 msgid "Authentication error" msgstr "" @@ -69,57 +69,84 @@ msgstr "" msgid "Token expired. Please reload page." msgstr "" -#: template.php:86 +#: search/provider/file.php:17 search/provider/file.php:35 +msgid "Files" +msgstr "" + +#: search/provider/file.php:26 search/provider/file.php:33 +msgid "Text" +msgstr "" + +#: search/provider/file.php:29 +msgid "Images" +msgstr "" + +#: template.php:103 msgid "seconds ago" msgstr "" -#: template.php:87 +#: template.php:104 msgid "1 minute ago" msgstr "" -#: template.php:88 +#: template.php:105 #, php-format msgid "%d minutes ago" msgstr "" -#: template.php:91 +#: template.php:106 +msgid "1 hour ago" +msgstr "" + +#: template.php:107 +#, php-format +msgid "%d hours ago" +msgstr "" + +#: template.php:108 msgid "today" msgstr "" -#: template.php:92 +#: template.php:109 msgid "yesterday" msgstr "" -#: template.php:93 +#: template.php:110 #, php-format msgid "%d days ago" msgstr "" -#: template.php:94 +#: template.php:111 msgid "last month" msgstr "" -#: template.php:95 -msgid "months ago" +#: template.php:112 +#, php-format +msgid "%d months ago" msgstr "" -#: template.php:96 +#: template.php:113 msgid "last year" msgstr "" -#: template.php:97 +#: template.php:114 msgid "years ago" msgstr "" -#: updater.php:66 +#: updater.php:75 #, php-format msgid "%s is available. Get more information" msgstr "" -#: updater.php:68 +#: updater.php:77 msgid "up to date" msgstr "" -#: updater.php:71 +#: updater.php:80 msgid "updates check is disabled" msgstr "" + +#: vcategories.php:188 vcategories.php:249 +#, php-format +msgid "Could not find category \"%s\"" +msgstr "" diff --git a/l10n/hi/settings.po b/l10n/hi/settings.po index b18f3570c50b7d39a9653603482cd2135c95163f..4f0ccd14335f85deca6a400c3c2ba2e51cd651c0 100644 --- a/l10n/hi/settings.po +++ b/l10n/hi/settings.po @@ -7,9 +7,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-09 02:03+0200\n" -"PO-Revision-Date: 2012-10-09 00:04+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-12-03 00:04+0100\n" +"PO-Revision-Date: 2012-12-02 03:18+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Hindi (http://www.transifex.com/projects/p/owncloud/language/hi/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -17,70 +17,73 @@ msgstr "" "Language: hi\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: ajax/apps/ocs.php:23 +#: ajax/apps/ocs.php:20 msgid "Unable to load list from App Store" msgstr "" -#: ajax/creategroup.php:9 ajax/removeuser.php:13 ajax/setquota.php:18 -#: ajax/togglegroups.php:15 -msgid "Authentication error" -msgstr "" - -#: ajax/creategroup.php:19 +#: ajax/creategroup.php:10 msgid "Group already exists" msgstr "" -#: ajax/creategroup.php:28 +#: ajax/creategroup.php:19 msgid "Unable to add group" msgstr "" -#: ajax/enableapp.php:14 +#: ajax/enableapp.php:12 msgid "Could not enable app. " msgstr "" -#: ajax/lostpassword.php:14 +#: ajax/lostpassword.php:12 msgid "Email saved" msgstr "" -#: ajax/lostpassword.php:16 +#: ajax/lostpassword.php:14 msgid "Invalid email" msgstr "" -#: ajax/openid.php:16 +#: ajax/openid.php:13 msgid "OpenID Changed" msgstr "" -#: ajax/openid.php:18 ajax/setlanguage.php:20 ajax/setlanguage.php:23 +#: ajax/openid.php:15 ajax/setlanguage.php:17 ajax/setlanguage.php:20 msgid "Invalid request" msgstr "" -#: ajax/removegroup.php:16 +#: ajax/removegroup.php:13 msgid "Unable to delete group" msgstr "" -#: ajax/removeuser.php:22 +#: ajax/removeuser.php:15 ajax/setquota.php:15 ajax/togglegroups.php:18 +msgid "Authentication error" +msgstr "" + +#: ajax/removeuser.php:24 msgid "Unable to delete user" msgstr "" -#: ajax/setlanguage.php:18 +#: ajax/setlanguage.php:15 msgid "Language changed" msgstr "" -#: ajax/togglegroups.php:25 +#: ajax/togglegroups.php:12 +msgid "Admins can't remove themself from the admin group" +msgstr "" + +#: ajax/togglegroups.php:28 #, php-format msgid "Unable to add user to group %s" msgstr "" -#: ajax/togglegroups.php:31 +#: ajax/togglegroups.php:34 #, php-format msgid "Unable to remove user from group %s" msgstr "" -#: js/apps.js:28 js/apps.js:65 +#: js/apps.js:28 js/apps.js:67 msgid "Disable" msgstr "" -#: js/apps.js:28 js/apps.js:54 +#: js/apps.js:28 js/apps.js:55 msgid "Enable" msgstr "" @@ -88,97 +91,10 @@ msgstr "" msgid "Saving..." msgstr "" -#: personal.php:47 personal.php:48 +#: personal.php:42 personal.php:43 msgid "__language_name__" msgstr "" -#: templates/admin.php:14 -msgid "Security Warning" -msgstr "" - -#: templates/admin.php:17 -msgid "" -"Your data directory and your files are probably accessible from the " -"internet. The .htaccess file that ownCloud provides is not working. We " -"strongly suggest that you configure your webserver in a way that the data " -"directory is no longer accessible or you move the data directory outside the" -" webserver document root." -msgstr "" - -#: templates/admin.php:31 -msgid "Cron" -msgstr "" - -#: templates/admin.php:37 -msgid "Execute one task with each page loaded" -msgstr "" - -#: templates/admin.php:43 -msgid "" -"cron.php is registered at a webcron service. Call the cron.php page in the " -"owncloud root once a minute over http." -msgstr "" - -#: templates/admin.php:49 -msgid "" -"Use systems cron service. Call the cron.php file in the owncloud folder via " -"a system cronjob once a minute." -msgstr "" - -#: templates/admin.php:56 -msgid "Sharing" -msgstr "" - -#: templates/admin.php:61 -msgid "Enable Share API" -msgstr "" - -#: templates/admin.php:62 -msgid "Allow apps to use the Share API" -msgstr "" - -#: templates/admin.php:67 -msgid "Allow links" -msgstr "" - -#: templates/admin.php:68 -msgid "Allow users to share items to the public with links" -msgstr "" - -#: templates/admin.php:73 -msgid "Allow resharing" -msgstr "" - -#: templates/admin.php:74 -msgid "Allow users to share items shared with them again" -msgstr "" - -#: templates/admin.php:79 -msgid "Allow users to share with anyone" -msgstr "" - -#: templates/admin.php:81 -msgid "Allow users to only share with users in their groups" -msgstr "" - -#: templates/admin.php:88 -msgid "Log" -msgstr "" - -#: templates/admin.php:116 -msgid "More" -msgstr "" - -#: templates/admin.php:124 -msgid "" -"Developed by the ownCloud community, the source code is " -"licensed under the AGPL." -msgstr "" - #: templates/apps.php:10 msgid "Add your App" msgstr "" @@ -211,21 +127,21 @@ msgstr "" msgid "Ask a question" msgstr "" -#: templates/help.php:23 +#: templates/help.php:22 msgid "Problems connecting to help database." msgstr "" -#: templates/help.php:24 +#: templates/help.php:23 msgid "Go there manually." msgstr "" -#: templates/help.php:32 +#: templates/help.php:31 msgid "Answer" msgstr "" #: templates/personal.php:8 #, php-format -msgid "You have used %s of the available %s" +msgid "You have used %s of the available %s" msgstr "" #: templates/personal.php:12 @@ -250,7 +166,7 @@ msgstr "" #: templates/personal.php:22 msgid "New password" -msgstr "" +msgstr "नया पासवर्ड" #: templates/personal.php:23 msgid "show" @@ -284,13 +200,23 @@ msgstr "" msgid "use this address to connect to your ownCloud in your file manager" msgstr "" +#: templates/personal.php:61 +msgid "" +"Developed by the ownCloud community, the source code is " +"licensed under the AGPL." +msgstr "" + #: templates/users.php:21 templates/users.php:76 msgid "Name" msgstr "" #: templates/users.php:23 templates/users.php:77 msgid "Password" -msgstr "" +msgstr "पासवर्ड" #: templates/users.php:26 templates/users.php:78 templates/users.php:98 msgid "Groups" diff --git a/l10n/ar_SA/files_odfviewer.po b/l10n/hi/user_webdavauth.po similarity index 59% rename from l10n/ar_SA/files_odfviewer.po rename to l10n/hi/user_webdavauth.po index abff78f829aff9a72f85ed68776dc0e1be01628d..d4e892dd4b4b666a5ea3a61e4af93efc72120b47 100644 --- a/l10n/ar_SA/files_odfviewer.po +++ b/l10n/hi/user_webdavauth.po @@ -7,16 +7,16 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 02:18+0200\n" -"PO-Revision-Date: 2012-08-26 00:19+0000\n" +"POT-Creation-Date: 2012-11-09 10:06+0100\n" +"PO-Revision-Date: 2012-11-09 09:06+0000\n" "Last-Translator: FULL NAME \n" -"Language-Team: Arabic (Saudi Arabia) (http://www.transifex.com/projects/p/owncloud/language/ar_SA/)\n" +"Language-Team: Hindi (http://www.transifex.com/projects/p/owncloud/language/hi/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: ar_SA\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"Language: hi\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: js/viewer.js:9 -msgid "Close" +#: templates/settings.php:4 +msgid "WebDAV URL: http://" msgstr "" diff --git a/l10n/hr/admin_dependencies_chk.po b/l10n/hr/admin_dependencies_chk.po deleted file mode 100644 index 5278ae63b010a4a51d5a41b016ceccdf8b4186e5..0000000000000000000000000000000000000000 --- a/l10n/hr/admin_dependencies_chk.po +++ /dev/null @@ -1,73 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:33+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Croatian (http://www.transifex.com/projects/p/owncloud/language/hr/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: hr\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" - -#: settings.php:33 -msgid "" -"The php-json module is needed by the many applications for inter " -"communications" -msgstr "" - -#: settings.php:39 -msgid "" -"The php-curl modude is needed to fetch the page title when adding a " -"bookmarks" -msgstr "" - -#: settings.php:45 -msgid "The php-gd module is needed to create thumbnails of your images" -msgstr "" - -#: settings.php:51 -msgid "The php-ldap module is needed connect to your ldap server" -msgstr "" - -#: settings.php:57 -msgid "The php-zip module is needed download multiple files at once" -msgstr "" - -#: settings.php:63 -msgid "" -"The php-mb_multibyte module is needed to manage correctly the encoding." -msgstr "" - -#: settings.php:69 -msgid "The php-ctype module is needed validate data." -msgstr "" - -#: settings.php:75 -msgid "The php-xml module is needed to share files with webdav." -msgstr "" - -#: settings.php:81 -msgid "" -"The allow_url_fopen directive of your php.ini should be set to 1 to retrieve" -" knowledge base from OCS servers" -msgstr "" - -#: settings.php:87 -msgid "The php-pdo module is needed to store owncloud data into a database." -msgstr "" - -#: templates/settings.php:2 -msgid "Dependencies status" -msgstr "" - -#: templates/settings.php:7 -msgid "Used by :" -msgstr "" diff --git a/l10n/hr/admin_migrate.po b/l10n/hr/admin_migrate.po deleted file mode 100644 index 6b445e7e51d8d1d0a6093f122a1a805eba74fe76..0000000000000000000000000000000000000000 --- a/l10n/hr/admin_migrate.po +++ /dev/null @@ -1,32 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:32+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Croatian (http://www.transifex.com/projects/p/owncloud/language/hr/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: hr\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" - -#: templates/settings.php:3 -msgid "Export this ownCloud instance" -msgstr "" - -#: templates/settings.php:4 -msgid "" -"This will create a compressed file that contains the data of this owncloud instance.\n" -" Please choose the export type:" -msgstr "" - -#: templates/settings.php:12 -msgid "Export" -msgstr "" diff --git a/l10n/hr/bookmarks.po b/l10n/hr/bookmarks.po deleted file mode 100644 index b9e98477cfefcc7934d818250f51ae3d6d86674e..0000000000000000000000000000000000000000 --- a/l10n/hr/bookmarks.po +++ /dev/null @@ -1,60 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-07-28 02:02+0200\n" -"PO-Revision-Date: 2012-07-27 22:17+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Croatian (http://www.transifex.com/projects/p/owncloud/language/hr/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: hr\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" - -#: appinfo/app.php:14 -msgid "Bookmarks" -msgstr "" - -#: bookmarksHelper.php:99 -msgid "unnamed" -msgstr "" - -#: templates/bookmarklet.php:5 -msgid "" -"Drag this to your browser bookmarks and click it, when you want to bookmark " -"a webpage quickly:" -msgstr "" - -#: templates/bookmarklet.php:7 -msgid "Read later" -msgstr "" - -#: templates/list.php:13 -msgid "Address" -msgstr "" - -#: templates/list.php:14 -msgid "Title" -msgstr "" - -#: templates/list.php:15 -msgid "Tags" -msgstr "" - -#: templates/list.php:16 -msgid "Save bookmark" -msgstr "" - -#: templates/list.php:22 -msgid "You have no bookmarks" -msgstr "" - -#: templates/settings.php:11 -msgid "Bookmarklet
" -msgstr "" diff --git a/l10n/hr/calendar.po b/l10n/hr/calendar.po deleted file mode 100644 index e848e042a0028c7a39b5882be389a412c84b9875..0000000000000000000000000000000000000000 --- a/l10n/hr/calendar.po +++ /dev/null @@ -1,816 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Davor Kustec , 2011. -# Domagoj Delimar , 2012. -# Thomas Silađi , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-11 02:02+0200\n" -"PO-Revision-Date: 2012-08-11 00:02+0000\n" -"Last-Translator: owncloud_robot \n" -"Language-Team: Croatian (http://www.transifex.com/projects/p/owncloud/language/hr/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: hr\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" - -#: ajax/cache/status.php:19 -msgid "Not all calendars are completely cached" -msgstr "" - -#: ajax/cache/status.php:21 -msgid "Everything seems to be completely cached" -msgstr "" - -#: ajax/categories/rescan.php:29 -msgid "No calendars found." -msgstr "Nisu pronađeni kalendari" - -#: ajax/categories/rescan.php:37 -msgid "No events found." -msgstr "Događaj nije pronađen." - -#: ajax/event/edit.form.php:20 -msgid "Wrong calendar" -msgstr "Pogrešan kalendar" - -#: ajax/import/dropimport.php:29 ajax/import/import.php:64 -msgid "" -"The file contained either no events or all events are already saved in your " -"calendar." -msgstr "" - -#: ajax/import/dropimport.php:31 ajax/import/import.php:67 -msgid "events has been saved in the new calendar" -msgstr "" - -#: ajax/import/import.php:56 -msgid "Import failed" -msgstr "" - -#: ajax/import/import.php:69 -msgid "events has been saved in your calendar" -msgstr "" - -#: ajax/settings/guesstimezone.php:25 -msgid "New Timezone:" -msgstr "Nova vremenska zona:" - -#: ajax/settings/settimezone.php:23 -msgid "Timezone changed" -msgstr "Vremenska zona promijenjena" - -#: ajax/settings/settimezone.php:25 -msgid "Invalid request" -msgstr "Neispravan zahtjev" - -#: appinfo/app.php:35 templates/calendar.php:15 -#: templates/part.eventform.php:33 templates/part.showevent.php:33 -msgid "Calendar" -msgstr "Kalendar" - -#: js/calendar.js:832 -msgid "ddd" -msgstr "" - -#: js/calendar.js:833 -msgid "ddd M/d" -msgstr "" - -#: js/calendar.js:834 -msgid "dddd M/d" -msgstr "" - -#: js/calendar.js:837 -msgid "MMMM yyyy" -msgstr "" - -#: js/calendar.js:839 -msgid "MMM d[ yyyy]{ '—'[ MMM] d yyyy}" -msgstr "MMM d[ yyyy]{ '—'[ MMM] d yyyy}" - -#: js/calendar.js:841 -msgid "dddd, MMM d, yyyy" -msgstr "" - -#: lib/app.php:121 -msgid "Birthday" -msgstr "Rođendan" - -#: lib/app.php:122 -msgid "Business" -msgstr "Poslovno" - -#: lib/app.php:123 -msgid "Call" -msgstr "Poziv" - -#: lib/app.php:124 -msgid "Clients" -msgstr "Klijenti" - -#: lib/app.php:125 -msgid "Deliverer" -msgstr "Dostavljač" - -#: lib/app.php:126 -msgid "Holidays" -msgstr "Praznici" - -#: lib/app.php:127 -msgid "Ideas" -msgstr "Ideje" - -#: lib/app.php:128 -msgid "Journey" -msgstr "Putovanje" - -#: lib/app.php:129 -msgid "Jubilee" -msgstr "Obljetnica" - -#: lib/app.php:130 -msgid "Meeting" -msgstr "Sastanak" - -#: lib/app.php:131 -msgid "Other" -msgstr "Ostalo" - -#: lib/app.php:132 -msgid "Personal" -msgstr "Osobno" - -#: lib/app.php:133 -msgid "Projects" -msgstr "Projekti" - -#: lib/app.php:134 -msgid "Questions" -msgstr "Pitanja" - -#: lib/app.php:135 -msgid "Work" -msgstr "Posao" - -#: lib/app.php:351 lib/app.php:361 -msgid "by" -msgstr "" - -#: lib/app.php:359 lib/app.php:399 -msgid "unnamed" -msgstr "bezimeno" - -#: lib/import.php:184 templates/calendar.php:12 -#: templates/part.choosecalendar.php:22 -msgid "New Calendar" -msgstr "Novi kalendar" - -#: lib/object.php:372 -msgid "Does not repeat" -msgstr "Ne ponavlja se" - -#: lib/object.php:373 -msgid "Daily" -msgstr "Dnevno" - -#: lib/object.php:374 -msgid "Weekly" -msgstr "Tjedno" - -#: lib/object.php:375 -msgid "Every Weekday" -msgstr "Svakog radnog dana" - -#: lib/object.php:376 -msgid "Bi-Weekly" -msgstr "Dvotjedno" - -#: lib/object.php:377 -msgid "Monthly" -msgstr "Mjesečno" - -#: lib/object.php:378 -msgid "Yearly" -msgstr "Godišnje" - -#: lib/object.php:388 -msgid "never" -msgstr "nikad" - -#: lib/object.php:389 -msgid "by occurrences" -msgstr "po pojavama" - -#: lib/object.php:390 -msgid "by date" -msgstr "po datum" - -#: lib/object.php:400 -msgid "by monthday" -msgstr "po dana mjeseca" - -#: lib/object.php:401 -msgid "by weekday" -msgstr "po tjednu" - -#: lib/object.php:411 templates/calendar.php:5 templates/settings.php:69 -msgid "Monday" -msgstr "ponedeljak" - -#: lib/object.php:412 templates/calendar.php:5 -msgid "Tuesday" -msgstr "utorak" - -#: lib/object.php:413 templates/calendar.php:5 -msgid "Wednesday" -msgstr "srijeda" - -#: lib/object.php:414 templates/calendar.php:5 -msgid "Thursday" -msgstr "četvrtak" - -#: lib/object.php:415 templates/calendar.php:5 -msgid "Friday" -msgstr "petak" - -#: lib/object.php:416 templates/calendar.php:5 -msgid "Saturday" -msgstr "subota" - -#: lib/object.php:417 templates/calendar.php:5 templates/settings.php:70 -msgid "Sunday" -msgstr "nedelja" - -#: lib/object.php:427 -msgid "events week of month" -msgstr "" - -#: lib/object.php:428 -msgid "first" -msgstr "prvi" - -#: lib/object.php:429 -msgid "second" -msgstr "drugi" - -#: lib/object.php:430 -msgid "third" -msgstr "treći" - -#: lib/object.php:431 -msgid "fourth" -msgstr "četvrti" - -#: lib/object.php:432 -msgid "fifth" -msgstr "peti" - -#: lib/object.php:433 -msgid "last" -msgstr "zadnji" - -#: lib/object.php:467 templates/calendar.php:7 -msgid "January" -msgstr "siječanj" - -#: lib/object.php:468 templates/calendar.php:7 -msgid "February" -msgstr "veljača" - -#: lib/object.php:469 templates/calendar.php:7 -msgid "March" -msgstr "ožujak" - -#: lib/object.php:470 templates/calendar.php:7 -msgid "April" -msgstr "travanj" - -#: lib/object.php:471 templates/calendar.php:7 -msgid "May" -msgstr "svibanj" - -#: lib/object.php:472 templates/calendar.php:7 -msgid "June" -msgstr "lipanj" - -#: lib/object.php:473 templates/calendar.php:7 -msgid "July" -msgstr "srpanj" - -#: lib/object.php:474 templates/calendar.php:7 -msgid "August" -msgstr "kolovoz" - -#: lib/object.php:475 templates/calendar.php:7 -msgid "September" -msgstr "rujan" - -#: lib/object.php:476 templates/calendar.php:7 -msgid "October" -msgstr "listopad" - -#: lib/object.php:477 templates/calendar.php:7 -msgid "November" -msgstr "studeni" - -#: lib/object.php:478 templates/calendar.php:7 -msgid "December" -msgstr "prosinac" - -#: lib/object.php:488 -msgid "by events date" -msgstr "po datumu događaja" - -#: lib/object.php:489 -msgid "by yearday(s)" -msgstr "po godini(-nama)" - -#: lib/object.php:490 -msgid "by weeknumber(s)" -msgstr "po broju tjedna(-ana)" - -#: lib/object.php:491 -msgid "by day and month" -msgstr "po danu i mjeseca" - -#: lib/search.php:35 lib/search.php:37 lib/search.php:40 -msgid "Date" -msgstr "datum" - -#: lib/search.php:43 -msgid "Cal." -msgstr "Kal." - -#: templates/calendar.php:6 -msgid "Sun." -msgstr "" - -#: templates/calendar.php:6 -msgid "Mon." -msgstr "" - -#: templates/calendar.php:6 -msgid "Tue." -msgstr "" - -#: templates/calendar.php:6 -msgid "Wed." -msgstr "" - -#: templates/calendar.php:6 -msgid "Thu." -msgstr "" - -#: templates/calendar.php:6 -msgid "Fri." -msgstr "" - -#: templates/calendar.php:6 -msgid "Sat." -msgstr "" - -#: templates/calendar.php:8 -msgid "Jan." -msgstr "" - -#: templates/calendar.php:8 -msgid "Feb." -msgstr "" - -#: templates/calendar.php:8 -msgid "Mar." -msgstr "" - -#: templates/calendar.php:8 -msgid "Apr." -msgstr "" - -#: templates/calendar.php:8 -msgid "May." -msgstr "" - -#: templates/calendar.php:8 -msgid "Jun." -msgstr "" - -#: templates/calendar.php:8 -msgid "Jul." -msgstr "" - -#: templates/calendar.php:8 -msgid "Aug." -msgstr "" - -#: templates/calendar.php:8 -msgid "Sep." -msgstr "" - -#: templates/calendar.php:8 -msgid "Oct." -msgstr "" - -#: templates/calendar.php:8 -msgid "Nov." -msgstr "" - -#: templates/calendar.php:8 -msgid "Dec." -msgstr "" - -#: templates/calendar.php:11 -msgid "All day" -msgstr "Cijeli dan" - -#: templates/calendar.php:13 -msgid "Missing fields" -msgstr "Nedostaju polja" - -#: templates/calendar.php:14 templates/part.eventform.php:19 -#: templates/part.showevent.php:11 -msgid "Title" -msgstr "Naslov" - -#: templates/calendar.php:16 -msgid "From Date" -msgstr "Datum od" - -#: templates/calendar.php:17 -msgid "From Time" -msgstr "Vrijeme od" - -#: templates/calendar.php:18 -msgid "To Date" -msgstr "Datum do" - -#: templates/calendar.php:19 -msgid "To Time" -msgstr "Vrijeme do" - -#: templates/calendar.php:20 -msgid "The event ends before it starts" -msgstr "Događaj završava prije nego počinje" - -#: templates/calendar.php:21 -msgid "There was a database fail" -msgstr "Pogreška u bazi podataka" - -#: templates/calendar.php:39 -msgid "Week" -msgstr "Tjedan" - -#: templates/calendar.php:40 -msgid "Month" -msgstr "Mjesec" - -#: templates/calendar.php:41 -msgid "List" -msgstr "Lista" - -#: templates/calendar.php:45 -msgid "Today" -msgstr "Danas" - -#: templates/calendar.php:46 templates/calendar.php:47 -msgid "Settings" -msgstr "" - -#: templates/part.choosecalendar.php:2 -msgid "Your calendars" -msgstr "Vaši kalendari" - -#: templates/part.choosecalendar.php:27 -#: templates/part.choosecalendar.rowfields.php:11 -msgid "CalDav Link" -msgstr "CalDav poveznica" - -#: templates/part.choosecalendar.php:31 -msgid "Shared calendars" -msgstr "Podijeljeni kalendari" - -#: templates/part.choosecalendar.php:48 -msgid "No shared calendars" -msgstr "Nema zajedničkih kalendara" - -#: templates/part.choosecalendar.rowfields.php:8 -msgid "Share Calendar" -msgstr "Podjeli kalendar" - -#: templates/part.choosecalendar.rowfields.php:14 -msgid "Download" -msgstr "Spremi lokalno" - -#: templates/part.choosecalendar.rowfields.php:17 -msgid "Edit" -msgstr "Uredi" - -#: templates/part.choosecalendar.rowfields.php:20 -#: templates/part.editevent.php:9 -msgid "Delete" -msgstr "Briši" - -#: templates/part.choosecalendar.rowfields.shared.php:4 -msgid "shared with you by" -msgstr "podijeljeno s vama od " - -#: templates/part.editcalendar.php:9 -msgid "New calendar" -msgstr "Novi kalendar" - -#: templates/part.editcalendar.php:9 -msgid "Edit calendar" -msgstr "Uredi kalendar" - -#: templates/part.editcalendar.php:12 -msgid "Displayname" -msgstr "Naziv" - -#: templates/part.editcalendar.php:23 -msgid "Active" -msgstr "Aktivan" - -#: templates/part.editcalendar.php:29 -msgid "Calendar color" -msgstr "Boja kalendara" - -#: templates/part.editcalendar.php:42 -msgid "Save" -msgstr "Spremi" - -#: templates/part.editcalendar.php:42 templates/part.editevent.php:8 -#: templates/part.newevent.php:6 -msgid "Submit" -msgstr "Potvrdi" - -#: templates/part.editcalendar.php:43 -msgid "Cancel" -msgstr "Odustani" - -#: templates/part.editevent.php:1 -msgid "Edit an event" -msgstr "Uredi događaj" - -#: templates/part.editevent.php:10 -msgid "Export" -msgstr "Izvoz" - -#: templates/part.eventform.php:8 templates/part.showevent.php:3 -msgid "Eventinfo" -msgstr "Informacije o događaju" - -#: templates/part.eventform.php:9 templates/part.showevent.php:4 -msgid "Repeating" -msgstr "Ponavljanje" - -#: templates/part.eventform.php:10 templates/part.showevent.php:5 -msgid "Alarm" -msgstr "Alarm" - -#: templates/part.eventform.php:11 templates/part.showevent.php:6 -msgid "Attendees" -msgstr "Polaznici" - -#: templates/part.eventform.php:13 -msgid "Share" -msgstr "Podijeli" - -#: templates/part.eventform.php:21 -msgid "Title of the Event" -msgstr "Naslov događaja" - -#: templates/part.eventform.php:27 templates/part.showevent.php:19 -msgid "Category" -msgstr "Kategorija" - -#: templates/part.eventform.php:29 -msgid "Separate categories with commas" -msgstr "Odvoji kategorije zarezima" - -#: templates/part.eventform.php:30 -msgid "Edit categories" -msgstr "Uredi kategorije" - -#: templates/part.eventform.php:56 templates/part.showevent.php:52 -msgid "All Day Event" -msgstr "Cjelodnevni događaj" - -#: templates/part.eventform.php:60 templates/part.showevent.php:56 -msgid "From" -msgstr "Od" - -#: templates/part.eventform.php:68 templates/part.showevent.php:64 -msgid "To" -msgstr "Za" - -#: templates/part.eventform.php:76 templates/part.showevent.php:72 -msgid "Advanced options" -msgstr "Napredne mogućnosti" - -#: templates/part.eventform.php:81 templates/part.showevent.php:77 -msgid "Location" -msgstr "Lokacija" - -#: templates/part.eventform.php:83 -msgid "Location of the Event" -msgstr "Lokacija događaja" - -#: templates/part.eventform.php:89 templates/part.showevent.php:85 -msgid "Description" -msgstr "Opis" - -#: templates/part.eventform.php:91 -msgid "Description of the Event" -msgstr "Opis događaja" - -#: templates/part.eventform.php:100 templates/part.showevent.php:95 -msgid "Repeat" -msgstr "Ponavljanje" - -#: templates/part.eventform.php:107 templates/part.showevent.php:102 -msgid "Advanced" -msgstr "Napredno" - -#: templates/part.eventform.php:151 templates/part.showevent.php:146 -msgid "Select weekdays" -msgstr "Odaberi dane u tjednu" - -#: templates/part.eventform.php:164 templates/part.eventform.php:177 -#: templates/part.showevent.php:159 templates/part.showevent.php:172 -msgid "Select days" -msgstr "Odaberi dane" - -#: templates/part.eventform.php:169 templates/part.showevent.php:164 -msgid "and the events day of year." -msgstr "" - -#: templates/part.eventform.php:182 templates/part.showevent.php:177 -msgid "and the events day of month." -msgstr "" - -#: templates/part.eventform.php:190 templates/part.showevent.php:185 -msgid "Select months" -msgstr "Odaberi mjesece" - -#: templates/part.eventform.php:203 templates/part.showevent.php:198 -msgid "Select weeks" -msgstr "Odaberi tjedne" - -#: templates/part.eventform.php:208 templates/part.showevent.php:203 -msgid "and the events week of year." -msgstr "" - -#: templates/part.eventform.php:214 templates/part.showevent.php:209 -msgid "Interval" -msgstr "Interval" - -#: templates/part.eventform.php:220 templates/part.showevent.php:215 -msgid "End" -msgstr "Kraj" - -#: templates/part.eventform.php:233 templates/part.showevent.php:228 -msgid "occurrences" -msgstr "pojave" - -#: templates/part.import.php:14 -msgid "create a new calendar" -msgstr "stvori novi kalendar" - -#: templates/part.import.php:17 -msgid "Import a calendar file" -msgstr "Uvozite datoteku kalendara" - -#: templates/part.import.php:24 -msgid "Please choose a calendar" -msgstr "" - -#: templates/part.import.php:36 -msgid "Name of new calendar" -msgstr "Ime novog kalendara" - -#: templates/part.import.php:44 -msgid "Take an available name!" -msgstr "" - -#: templates/part.import.php:45 -msgid "" -"A Calendar with this name already exists. If you continue anyhow, these " -"calendars will be merged." -msgstr "" - -#: templates/part.import.php:47 -msgid "Import" -msgstr "Uvoz" - -#: templates/part.import.php:56 -msgid "Close Dialog" -msgstr "Zatvori dijalog" - -#: templates/part.newevent.php:1 -msgid "Create a new event" -msgstr "Unesi novi događaj" - -#: templates/part.showevent.php:1 -msgid "View an event" -msgstr "Vidjeti događaj" - -#: templates/part.showevent.php:23 -msgid "No categories selected" -msgstr "Nema odabranih kategorija" - -#: templates/part.showevent.php:37 -msgid "of" -msgstr "od" - -#: templates/part.showevent.php:59 templates/part.showevent.php:67 -msgid "at" -msgstr "na" - -#: templates/settings.php:10 -msgid "General" -msgstr "" - -#: templates/settings.php:15 -msgid "Timezone" -msgstr "Vremenska zona" - -#: templates/settings.php:47 -msgid "Update timezone automatically" -msgstr "" - -#: templates/settings.php:52 -msgid "Time format" -msgstr "" - -#: templates/settings.php:57 -msgid "24h" -msgstr "24h" - -#: templates/settings.php:58 -msgid "12h" -msgstr "12h" - -#: templates/settings.php:64 -msgid "Start week on" -msgstr "" - -#: templates/settings.php:76 -msgid "Cache" -msgstr "" - -#: templates/settings.php:80 -msgid "Clear cache for repeating events" -msgstr "" - -#: templates/settings.php:85 -msgid "URLs" -msgstr "" - -#: templates/settings.php:87 -msgid "Calendar CalDAV syncing addresses" -msgstr "" - -#: templates/settings.php:87 -msgid "more info" -msgstr "" - -#: templates/settings.php:89 -msgid "Primary address (Kontact et al)" -msgstr "" - -#: templates/settings.php:91 -msgid "iOS/OS X" -msgstr "" - -#: templates/settings.php:93 -msgid "Read only iCalendar link(s)" -msgstr "" - -#: templates/share.dropdown.php:20 -msgid "Users" -msgstr "Korisnici" - -#: templates/share.dropdown.php:21 -msgid "select users" -msgstr "odaberi korisnike" - -#: templates/share.dropdown.php:36 templates/share.dropdown.php:62 -msgid "Editable" -msgstr "Može se uređivati" - -#: templates/share.dropdown.php:48 -msgid "Groups" -msgstr "Grupe" - -#: templates/share.dropdown.php:49 -msgid "select groups" -msgstr "izaberite grupe" - -#: templates/share.dropdown.php:75 -msgid "make public" -msgstr "podjeli s javnošću" diff --git a/l10n/hr/contacts.po b/l10n/hr/contacts.po deleted file mode 100644 index 1e98b0080737ae7487434665502b103f378f3790..0000000000000000000000000000000000000000 --- a/l10n/hr/contacts.po +++ /dev/null @@ -1,954 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Davor Kustec , 2011, 2012. -# Domagoj Delimar , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-24 02:02+0200\n" -"PO-Revision-Date: 2012-08-24 00:03+0000\n" -"Last-Translator: I Robot \n" -"Language-Team: Croatian (http://www.transifex.com/projects/p/owncloud/language/hr/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: hr\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" - -#: ajax/addressbook/activate.php:24 ajax/addressbook/update.php:32 -msgid "Error (de)activating addressbook." -msgstr "Pogreška pri (de)aktivaciji adresara." - -#: ajax/addressbook/delete.php:31 ajax/addressbook/update.php:20 -#: ajax/contact/addproperty.php:42 ajax/contact/delete.php:32 -#: ajax/contact/saveproperty.php:39 -msgid "id is not set." -msgstr "id nije postavljen." - -#: ajax/addressbook/update.php:24 -msgid "Cannot update addressbook with an empty name." -msgstr "Ne mogu ažurirati adresar sa praznim nazivom." - -#: ajax/addressbook/update.php:28 -msgid "Error updating addressbook." -msgstr "Pogreška pri ažuriranju adresara." - -#: ajax/categories/categoriesfor.php:17 -msgid "No ID provided" -msgstr "Nema dodijeljenog ID identifikatora" - -#: ajax/categories/categoriesfor.php:34 -msgid "Error setting checksum." -msgstr "Pogreška pri postavljanju checksuma." - -#: ajax/categories/delete.php:19 -msgid "No categories selected for deletion." -msgstr "Niti jedna kategorija nije odabrana za brisanje." - -#: ajax/categories/delete.php:26 -msgid "No address books found." -msgstr "Nema adresara." - -#: ajax/categories/delete.php:34 -msgid "No contacts found." -msgstr "Nema kontakata." - -#: ajax/contact/add.php:47 -msgid "There was an error adding the contact." -msgstr "Dogodila se pogreška prilikom dodavanja kontakta." - -#: ajax/contact/addproperty.php:39 ajax/contact/saveproperty.php:36 -msgid "element name is not set." -msgstr "naziv elementa nije postavljen." - -#: ajax/contact/addproperty.php:46 -msgid "Could not parse contact: " -msgstr "" - -#: ajax/contact/addproperty.php:56 -msgid "Cannot add empty property." -msgstr "Prazno svojstvo se ne može dodati." - -#: ajax/contact/addproperty.php:67 -msgid "At least one of the address fields has to be filled out." -msgstr "Morate ispuniti barem jedno od adresnih polja." - -#: ajax/contact/addproperty.php:76 -msgid "Trying to add duplicate property: " -msgstr "Pokušali ste dodati duplo svojstvo:" - -#: ajax/contact/addproperty.php:115 ajax/contact/saveproperty.php:93 -msgid "Missing IM parameter." -msgstr "" - -#: ajax/contact/addproperty.php:119 ajax/contact/saveproperty.php:97 -msgid "Unknown IM: " -msgstr "" - -#: ajax/contact/deleteproperty.php:37 -msgid "Information about vCard is incorrect. Please reload the page." -msgstr "Informacija o vCard je neispravna. Osvježite stranicu." - -#: ajax/contact/details.php:31 -msgid "Missing ID" -msgstr "Nedostupan ID identifikator" - -#: ajax/contact/details.php:36 -msgid "Error parsing VCard for ID: \"" -msgstr "Pogreška pri raščlanjivanju VCard za ID:" - -#: ajax/contact/saveproperty.php:42 -msgid "checksum is not set." -msgstr "checksum nije postavljen." - -#: ajax/contact/saveproperty.php:62 -msgid "Information about vCard is incorrect. Please reload the page: " -msgstr "Informacije o VCard su pogrešne. Molimo, učitajte ponovno stranicu:" - -#: ajax/contact/saveproperty.php:69 -msgid "Something went FUBAR. " -msgstr "Nešto je otišlo... krivo..." - -#: ajax/currentphoto.php:30 ajax/oc_photo.php:28 ajax/uploadphoto.php:36 -#: ajax/uploadphoto.php:68 -msgid "No contact ID was submitted." -msgstr "ID kontakta nije podnešen." - -#: ajax/currentphoto.php:36 -msgid "Error reading contact photo." -msgstr "Pogreška pri čitanju kontakt fotografije." - -#: ajax/currentphoto.php:48 -msgid "Error saving temporary file." -msgstr "Pogreška pri spremanju privremene datoteke." - -#: ajax/currentphoto.php:51 -msgid "The loading photo is not valid." -msgstr "Fotografija nije valjana." - -#: ajax/editname.php:31 -msgid "Contact ID is missing." -msgstr "ID kontakta nije dostupan." - -#: ajax/oc_photo.php:32 -msgid "No photo path was submitted." -msgstr "Putanja do fotografije nije podnešena." - -#: ajax/oc_photo.php:39 -msgid "File doesn't exist:" -msgstr "Datoteka ne postoji:" - -#: ajax/oc_photo.php:44 ajax/oc_photo.php:47 -msgid "Error loading image." -msgstr "Pogreška pri učitavanju slike." - -#: ajax/savecrop.php:69 -msgid "Error getting contact object." -msgstr "" - -#: ajax/savecrop.php:79 -msgid "Error getting PHOTO property." -msgstr "" - -#: ajax/savecrop.php:98 -msgid "Error saving contact." -msgstr "" - -#: ajax/savecrop.php:109 -msgid "Error resizing image" -msgstr "" - -#: ajax/savecrop.php:112 -msgid "Error cropping image" -msgstr "" - -#: ajax/savecrop.php:115 -msgid "Error creating temporary image" -msgstr "" - -#: ajax/savecrop.php:118 -msgid "Error finding image: " -msgstr "" - -#: ajax/uploadimport.php:44 ajax/uploadimport.php:76 -msgid "Error uploading contacts to storage." -msgstr "Pogreška pri slanju kontakata." - -#: ajax/uploadimport.php:61 ajax/uploadphoto.php:77 -msgid "There is no error, the file uploaded with success" -msgstr "Nema pogreške, datoteka je poslana uspješno." - -#: ajax/uploadimport.php:62 ajax/uploadphoto.php:78 -msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" -msgstr "Veličina poslane datoteke prelazi veličinu prikazanu u upload_max_filesize direktivi u konfiguracijskoj datoteci php.ini" - -#: ajax/uploadimport.php:63 ajax/uploadphoto.php:79 -msgid "" -"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " -"the HTML form" -msgstr "Poslana datoteka prelazi veličinu prikazanu u MAX_FILE_SIZE direktivi u HTML formi" - -#: ajax/uploadimport.php:64 ajax/uploadphoto.php:80 -msgid "The uploaded file was only partially uploaded" -msgstr "Poslana datoteka je parcijalno poslana" - -#: ajax/uploadimport.php:65 ajax/uploadphoto.php:81 -msgid "No file was uploaded" -msgstr "Datoteka nije poslana" - -#: ajax/uploadimport.php:66 ajax/uploadphoto.php:82 -msgid "Missing a temporary folder" -msgstr "Nedostaje privremeni direktorij" - -#: ajax/uploadphoto.php:59 ajax/uploadphoto.php:109 -msgid "Couldn't save temporary image: " -msgstr "" - -#: ajax/uploadphoto.php:62 ajax/uploadphoto.php:112 -msgid "Couldn't load temporary image: " -msgstr "" - -#: ajax/uploadphoto.php:71 -msgid "No file was uploaded. Unknown error" -msgstr "" - -#: appinfo/app.php:21 -msgid "Contacts" -msgstr "Kontakti" - -#: js/contacts.js:71 -msgid "Sorry, this functionality has not been implemented yet" -msgstr "" - -#: js/contacts.js:71 -msgid "Not implemented" -msgstr "" - -#: js/contacts.js:76 -msgid "Couldn't get a valid address." -msgstr "" - -#: js/contacts.js:76 js/contacts.js:365 js/contacts.js:381 js/contacts.js:393 -#: js/contacts.js:723 js/contacts.js:763 js/contacts.js:789 js/contacts.js:921 -#: js/contacts.js:927 js/contacts.js:939 js/contacts.js:976 -#: js/contacts.js:1250 js/contacts.js:1258 js/contacts.js:1267 -#: js/contacts.js:1302 js/contacts.js:1338 js/contacts.js:1353 -#: js/contacts.js:1379 js/contacts.js:1609 js/contacts.js:1644 -#: js/contacts.js:1664 js/settings.js:26 js/settings.js:43 js/settings.js:68 -msgid "Error" -msgstr "" - -#: js/contacts.js:424 -msgid "You do not have permission to add contacts to " -msgstr "" - -#: js/contacts.js:425 -msgid "Please select one of your own address books." -msgstr "" - -#: js/contacts.js:425 -msgid "Permission error" -msgstr "" - -#: js/contacts.js:763 -msgid "This property has to be non-empty." -msgstr "" - -#: js/contacts.js:789 -msgid "Couldn't serialize elements." -msgstr "" - -#: js/contacts.js:921 js/contacts.js:939 -msgid "" -"'deleteProperty' called without type argument. Please report at " -"bugs.owncloud.org" -msgstr "" - -#: js/contacts.js:958 -msgid "Edit name" -msgstr "" - -#: js/contacts.js:1250 -msgid "No files selected for upload." -msgstr "" - -#: js/contacts.js:1258 -msgid "" -"The file you are trying to upload exceed the maximum size for file uploads " -"on this server." -msgstr "" - -#: js/contacts.js:1322 -msgid "Error loading profile picture." -msgstr "" - -#: js/contacts.js:1457 js/contacts.js:1498 js/contacts.js:1517 -#: js/contacts.js:1560 -msgid "Select type" -msgstr "" - -#: js/contacts.js:1578 -msgid "" -"Some contacts are marked for deletion, but not deleted yet. Please wait for " -"them to be deleted." -msgstr "" - -#: js/contacts.js:1649 -msgid "Do you want to merge these address books?" -msgstr "" - -#: js/loader.js:49 -msgid "Result: " -msgstr "" - -#: js/loader.js:49 -msgid " imported, " -msgstr "" - -#: js/loader.js:49 -msgid " failed." -msgstr "" - -#: js/settings.js:68 -msgid "Displayname cannot be empty." -msgstr "" - -#: lib/app.php:36 -msgid "Addressbook not found: " -msgstr "" - -#: lib/app.php:52 -msgid "This is not your addressbook." -msgstr "Ovo nije vaš adresar." - -#: lib/app.php:71 -msgid "Contact could not be found." -msgstr "Kontakt ne postoji." - -#: lib/app.php:116 -msgid "Jabber" -msgstr "" - -#: lib/app.php:121 -msgid "AIM" -msgstr "" - -#: lib/app.php:126 -msgid "MSN" -msgstr "" - -#: lib/app.php:131 -msgid "Twitter" -msgstr "" - -#: lib/app.php:136 -msgid "GoogleTalk" -msgstr "" - -#: lib/app.php:141 -msgid "Facebook" -msgstr "" - -#: lib/app.php:146 -msgid "XMPP" -msgstr "" - -#: lib/app.php:151 -msgid "ICQ" -msgstr "" - -#: lib/app.php:156 -msgid "Yahoo" -msgstr "" - -#: lib/app.php:161 -msgid "Skype" -msgstr "" - -#: lib/app.php:166 -msgid "QQ" -msgstr "" - -#: lib/app.php:171 -msgid "GaduGadu" -msgstr "" - -#: lib/app.php:194 lib/app.php:202 lib/app.php:213 lib/app.php:266 -msgid "Work" -msgstr "Posao" - -#: lib/app.php:195 lib/app.php:200 lib/app.php:214 -msgid "Home" -msgstr "Kuća" - -#: lib/app.php:196 lib/app.php:209 lib/app.php:262 lib/vcard.php:593 -msgid "Other" -msgstr "" - -#: lib/app.php:201 -msgid "Mobile" -msgstr "Mobitel" - -#: lib/app.php:203 -msgid "Text" -msgstr "Tekst" - -#: lib/app.php:204 -msgid "Voice" -msgstr "Glasovno" - -#: lib/app.php:205 -msgid "Message" -msgstr "Poruka" - -#: lib/app.php:206 -msgid "Fax" -msgstr "Fax" - -#: lib/app.php:207 -msgid "Video" -msgstr "Video" - -#: lib/app.php:208 -msgid "Pager" -msgstr "Pager" - -#: lib/app.php:215 -msgid "Internet" -msgstr "Internet" - -#: lib/app.php:252 templates/part.contact.php:45 -#: templates/part.contact.php:128 -msgid "Birthday" -msgstr "Rođendan" - -#: lib/app.php:253 -msgid "Business" -msgstr "" - -#: lib/app.php:254 -msgid "Call" -msgstr "" - -#: lib/app.php:255 -msgid "Clients" -msgstr "" - -#: lib/app.php:256 -msgid "Deliverer" -msgstr "" - -#: lib/app.php:257 -msgid "Holidays" -msgstr "" - -#: lib/app.php:258 -msgid "Ideas" -msgstr "" - -#: lib/app.php:259 -msgid "Journey" -msgstr "" - -#: lib/app.php:260 -msgid "Jubilee" -msgstr "" - -#: lib/app.php:261 -msgid "Meeting" -msgstr "" - -#: lib/app.php:263 -msgid "Personal" -msgstr "" - -#: lib/app.php:264 -msgid "Projects" -msgstr "" - -#: lib/app.php:265 -msgid "Questions" -msgstr "" - -#: lib/hooks.php:102 -msgid "{name}'s Birthday" -msgstr "{name} Rođendan" - -#: lib/search.php:15 -msgid "Contact" -msgstr "Kontakt" - -#: lib/vcard.php:408 -msgid "You do not have the permissions to edit this contact." -msgstr "" - -#: lib/vcard.php:483 -msgid "You do not have the permissions to delete this contact." -msgstr "" - -#: templates/index.php:14 -msgid "Add Contact" -msgstr "Dodaj kontakt" - -#: templates/index.php:15 templates/index.php:16 templates/part.import.php:17 -msgid "Import" -msgstr "Uvezi" - -#: templates/index.php:18 -msgid "Settings" -msgstr "" - -#: templates/index.php:18 templates/settings.php:9 -msgid "Addressbooks" -msgstr "Adresari" - -#: templates/index.php:36 templates/part.import.php:24 -msgid "Close" -msgstr "" - -#: templates/index.php:37 -msgid "Keyboard shortcuts" -msgstr "" - -#: templates/index.php:39 -msgid "Navigation" -msgstr "" - -#: templates/index.php:42 -msgid "Next contact in list" -msgstr "" - -#: templates/index.php:44 -msgid "Previous contact in list" -msgstr "" - -#: templates/index.php:46 -msgid "Expand/collapse current addressbook" -msgstr "" - -#: templates/index.php:48 -msgid "Next addressbook" -msgstr "" - -#: templates/index.php:50 -msgid "Previous addressbook" -msgstr "" - -#: templates/index.php:54 -msgid "Actions" -msgstr "" - -#: templates/index.php:57 -msgid "Refresh contacts list" -msgstr "" - -#: templates/index.php:59 -msgid "Add new contact" -msgstr "" - -#: templates/index.php:61 -msgid "Add new addressbook" -msgstr "" - -#: templates/index.php:63 -msgid "Delete current contact" -msgstr "" - -#: templates/part.contact.php:17 -msgid "Drop photo to upload" -msgstr "Dovucite fotografiju za slanje" - -#: templates/part.contact.php:19 -msgid "Delete current photo" -msgstr "" - -#: templates/part.contact.php:20 -msgid "Edit current photo" -msgstr "Uredi trenutnu sliku" - -#: templates/part.contact.php:21 -msgid "Upload new photo" -msgstr "" - -#: templates/part.contact.php:22 -msgid "Select photo from ownCloud" -msgstr "" - -#: templates/part.contact.php:35 -msgid "Format custom, Short name, Full name, Reverse or Reverse with comma" -msgstr "" - -#: templates/part.contact.php:36 -msgid "Edit name details" -msgstr "Uredi detalje imena" - -#: templates/part.contact.php:39 templates/part.contact.php:40 -#: templates/part.contact.php:126 -msgid "Organization" -msgstr "Organizacija" - -#: templates/part.contact.php:40 templates/part.contact.php:42 -#: templates/part.contact.php:44 templates/part.contact.php:46 -#: templates/part.contact.php:50 templates/settings.php:36 -msgid "Delete" -msgstr "Obriši" - -#: templates/part.contact.php:41 templates/part.contact.php:127 -msgid "Nickname" -msgstr "Nadimak" - -#: templates/part.contact.php:42 -msgid "Enter nickname" -msgstr "Unesi nadimank" - -#: templates/part.contact.php:43 templates/part.contact.php:134 -msgid "Web site" -msgstr "" - -#: templates/part.contact.php:44 -msgid "http://www.somesite.com" -msgstr "" - -#: templates/part.contact.php:44 -msgid "Go to web site" -msgstr "" - -#: templates/part.contact.php:46 -msgid "dd-mm-yyyy" -msgstr "dd-mm-yyyy" - -#: templates/part.contact.php:47 templates/part.contact.php:135 -msgid "Groups" -msgstr "Grupe" - -#: templates/part.contact.php:49 -msgid "Separate groups with commas" -msgstr "" - -#: templates/part.contact.php:50 -msgid "Edit groups" -msgstr "Uredi grupe" - -#: templates/part.contact.php:59 templates/part.contact.php:73 -#: templates/part.contact.php:98 -msgid "Preferred" -msgstr "Preferirano" - -#: templates/part.contact.php:60 -msgid "Please specify a valid email address." -msgstr "" - -#: templates/part.contact.php:60 -msgid "Enter email address" -msgstr "Unesi email adresu" - -#: templates/part.contact.php:64 -msgid "Mail to address" -msgstr "" - -#: templates/part.contact.php:65 -msgid "Delete email address" -msgstr "" - -#: templates/part.contact.php:75 -msgid "Enter phone number" -msgstr "Unesi broj telefona" - -#: templates/part.contact.php:79 -msgid "Delete phone number" -msgstr "" - -#: templates/part.contact.php:100 -msgid "Instant Messenger" -msgstr "" - -#: templates/part.contact.php:101 -msgid "Delete IM" -msgstr "" - -#: templates/part.contact.php:110 -msgid "View on map" -msgstr "Prikaži na karti" - -#: templates/part.contact.php:110 -msgid "Edit address details" -msgstr "Uredi detalje adrese" - -#: templates/part.contact.php:116 -msgid "Add notes here." -msgstr "Dodaj bilješke ovdje." - -#: templates/part.contact.php:124 -msgid "Add field" -msgstr "Dodaj polje" - -#: templates/part.contact.php:129 -msgid "Phone" -msgstr "Telefon" - -#: templates/part.contact.php:130 -msgid "Email" -msgstr "E-mail" - -#: templates/part.contact.php:131 -msgid "Instant Messaging" -msgstr "" - -#: templates/part.contact.php:132 -msgid "Address" -msgstr "Adresa" - -#: templates/part.contact.php:133 -msgid "Note" -msgstr "Bilješka" - -#: templates/part.contact.php:138 -msgid "Download contact" -msgstr "Preuzmi kontakt" - -#: templates/part.contact.php:139 -msgid "Delete contact" -msgstr "Izbriši kontakt" - -#: templates/part.cropphoto.php:65 -msgid "The temporary image has been removed from cache." -msgstr "" - -#: templates/part.edit_address_dialog.php:6 -msgid "Edit address" -msgstr "Uredi adresu" - -#: templates/part.edit_address_dialog.php:10 -msgid "Type" -msgstr "Tip" - -#: templates/part.edit_address_dialog.php:18 -#: templates/part.edit_address_dialog.php:21 -msgid "PO Box" -msgstr "Poštanski Pretinac" - -#: templates/part.edit_address_dialog.php:24 -msgid "Street address" -msgstr "" - -#: templates/part.edit_address_dialog.php:27 -msgid "Street and number" -msgstr "" - -#: templates/part.edit_address_dialog.php:30 -msgid "Extended" -msgstr "Prošireno" - -#: templates/part.edit_address_dialog.php:33 -msgid "Apartment number etc." -msgstr "" - -#: templates/part.edit_address_dialog.php:36 -#: templates/part.edit_address_dialog.php:39 -msgid "City" -msgstr "Grad" - -#: templates/part.edit_address_dialog.php:42 -msgid "Region" -msgstr "Regija" - -#: templates/part.edit_address_dialog.php:45 -msgid "E.g. state or province" -msgstr "" - -#: templates/part.edit_address_dialog.php:48 -msgid "Zipcode" -msgstr "Poštanski broj" - -#: templates/part.edit_address_dialog.php:51 -msgid "Postal code" -msgstr "" - -#: templates/part.edit_address_dialog.php:54 -#: templates/part.edit_address_dialog.php:57 -msgid "Country" -msgstr "Država" - -#: templates/part.edit_name_dialog.php:16 -msgid "Addressbook" -msgstr "Adresar" - -#: templates/part.edit_name_dialog.php:23 -msgid "Hon. prefixes" -msgstr "" - -#: templates/part.edit_name_dialog.php:27 -msgid "Miss" -msgstr "" - -#: templates/part.edit_name_dialog.php:28 -msgid "Ms" -msgstr "" - -#: templates/part.edit_name_dialog.php:29 -msgid "Mr" -msgstr "" - -#: templates/part.edit_name_dialog.php:30 -msgid "Sir" -msgstr "" - -#: templates/part.edit_name_dialog.php:31 -msgid "Mrs" -msgstr "" - -#: templates/part.edit_name_dialog.php:32 -msgid "Dr" -msgstr "" - -#: templates/part.edit_name_dialog.php:35 -msgid "Given name" -msgstr "" - -#: templates/part.edit_name_dialog.php:37 -msgid "Additional names" -msgstr "" - -#: templates/part.edit_name_dialog.php:39 -msgid "Family name" -msgstr "" - -#: templates/part.edit_name_dialog.php:41 -msgid "Hon. suffixes" -msgstr "" - -#: templates/part.edit_name_dialog.php:45 -msgid "J.D." -msgstr "" - -#: templates/part.edit_name_dialog.php:46 -msgid "M.D." -msgstr "" - -#: templates/part.edit_name_dialog.php:47 -msgid "D.O." -msgstr "" - -#: templates/part.edit_name_dialog.php:48 -msgid "D.C." -msgstr "" - -#: templates/part.edit_name_dialog.php:49 -msgid "Ph.D." -msgstr "" - -#: templates/part.edit_name_dialog.php:50 -msgid "Esq." -msgstr "" - -#: templates/part.edit_name_dialog.php:51 -msgid "Jr." -msgstr "" - -#: templates/part.edit_name_dialog.php:52 -msgid "Sn." -msgstr "" - -#: templates/part.import.php:1 -msgid "Import a contacts file" -msgstr "" - -#: templates/part.import.php:6 -msgid "Please choose the addressbook" -msgstr "" - -#: templates/part.import.php:10 -msgid "create a new addressbook" -msgstr "" - -#: templates/part.import.php:15 -msgid "Name of new addressbook" -msgstr "" - -#: templates/part.import.php:20 -msgid "Importing contacts" -msgstr "" - -#: templates/part.no_contacts.php:3 -msgid "You have no contacts in your addressbook." -msgstr "" - -#: templates/part.no_contacts.php:5 -msgid "Add contact" -msgstr "" - -#: templates/part.selectaddressbook.php:1 -msgid "Select Address Books" -msgstr "" - -#: templates/part.selectaddressbook.php:27 -msgid "Enter name" -msgstr "" - -#: templates/part.selectaddressbook.php:29 -msgid "Enter description" -msgstr "" - -#: templates/settings.php:3 -msgid "CardDAV syncing addresses" -msgstr "" - -#: templates/settings.php:3 -msgid "more info" -msgstr "" - -#: templates/settings.php:5 -msgid "Primary address (Kontact et al)" -msgstr "" - -#: templates/settings.php:7 -msgid "iOS/OS X" -msgstr "" - -#: templates/settings.php:20 -msgid "Show CardDav link" -msgstr "" - -#: templates/settings.php:23 -msgid "Show read-only VCF link" -msgstr "" - -#: templates/settings.php:26 -msgid "Share" -msgstr "" - -#: templates/settings.php:29 -msgid "Download" -msgstr "Preuzimanje" - -#: templates/settings.php:33 -msgid "Edit" -msgstr "Uredi" - -#: templates/settings.php:43 -msgid "New Address Book" -msgstr "Novi adresar" - -#: templates/settings.php:44 -msgid "Name" -msgstr "" - -#: templates/settings.php:45 -msgid "Description" -msgstr "" - -#: templates/settings.php:46 -msgid "Save" -msgstr "Spremi" - -#: templates/settings.php:47 -msgid "Cancel" -msgstr "Prekini" - -#: templates/settings.php:52 -msgid "More..." -msgstr "" diff --git a/l10n/hr/core.po b/l10n/hr/core.po index 9ab1d15928b0ea462204382c1037b973a755fb97..981e11e0d1e70832f25979fa47a5ea19b355c97c 100644 --- a/l10n/hr/core.po +++ b/l10n/hr/core.po @@ -11,9 +11,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-16 02:04+0200\n" -"PO-Revision-Date: 2012-10-16 00:05+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-11-16 00:02+0100\n" +"PO-Revision-Date: 2012-11-14 23:13+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Croatian (http://www.transifex.com/projects/p/owncloud/language/hr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -21,209 +21,241 @@ msgstr "" "Language: hr\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" -#: ajax/vcategories/add.php:23 ajax/vcategories/delete.php:23 -msgid "Application name not provided." -msgstr "Ime aplikacije nije pribavljeno." +#: ajax/vcategories/add.php:26 ajax/vcategories/edit.php:25 +msgid "Category type not provided." +msgstr "" -#: ajax/vcategories/add.php:29 +#: ajax/vcategories/add.php:30 msgid "No category to add?" msgstr "Nemate kategorija koje možete dodati?" -#: ajax/vcategories/add.php:36 +#: ajax/vcategories/add.php:37 msgid "This category already exists: " msgstr "Ova kategorija već postoji: " -#: js/js.js:238 templates/layout.user.php:49 templates/layout.user.php:50 +#: ajax/vcategories/addToFavorites.php:26 ajax/vcategories/delete.php:27 +#: ajax/vcategories/favorites.php:24 +#: ajax/vcategories/removeFromFavorites.php:26 +msgid "Object type not provided." +msgstr "" + +#: ajax/vcategories/addToFavorites.php:30 +#: ajax/vcategories/removeFromFavorites.php:30 +#, php-format +msgid "%s ID not provided." +msgstr "" + +#: ajax/vcategories/addToFavorites.php:35 +#, php-format +msgid "Error adding %s to favorites." +msgstr "" + +#: ajax/vcategories/delete.php:35 js/oc-vcategories.js:136 +msgid "No categories selected for deletion." +msgstr "Nema odabranih kategorija za brisanje." + +#: ajax/vcategories/removeFromFavorites.php:35 +#, php-format +msgid "Error removing %s from favorites." +msgstr "" + +#: js/js.js:243 templates/layout.user.php:59 templates/layout.user.php:60 msgid "Settings" msgstr "Postavke" -#: js/js.js:670 -msgid "January" -msgstr "Siječanj" +#: js/js.js:688 +msgid "seconds ago" +msgstr "sekundi prije" -#: js/js.js:670 -msgid "February" -msgstr "Veljača" +#: js/js.js:689 +msgid "1 minute ago" +msgstr "" -#: js/js.js:670 -msgid "March" -msgstr "Ožujak" +#: js/js.js:690 +msgid "{minutes} minutes ago" +msgstr "" -#: js/js.js:670 -msgid "April" -msgstr "Travanj" +#: js/js.js:691 +msgid "1 hour ago" +msgstr "" -#: js/js.js:670 -msgid "May" -msgstr "Svibanj" +#: js/js.js:692 +msgid "{hours} hours ago" +msgstr "" -#: js/js.js:670 -msgid "June" -msgstr "Lipanj" +#: js/js.js:693 +msgid "today" +msgstr "danas" -#: js/js.js:671 -msgid "July" -msgstr "Srpanj" +#: js/js.js:694 +msgid "yesterday" +msgstr "jučer" -#: js/js.js:671 -msgid "August" -msgstr "Kolovoz" +#: js/js.js:695 +msgid "{days} days ago" +msgstr "" -#: js/js.js:671 -msgid "September" -msgstr "Rujan" +#: js/js.js:696 +msgid "last month" +msgstr "prošli mjesec" -#: js/js.js:671 -msgid "October" -msgstr "Listopad" +#: js/js.js:697 +msgid "{months} months ago" +msgstr "" -#: js/js.js:671 -msgid "November" -msgstr "Studeni" +#: js/js.js:698 +msgid "months ago" +msgstr "mjeseci" -#: js/js.js:671 -msgid "December" -msgstr "Prosinac" +#: js/js.js:699 +msgid "last year" +msgstr "prošlu godinu" -#: js/oc-dialogs.js:123 +#: js/js.js:700 +msgid "years ago" +msgstr "godina" + +#: js/oc-dialogs.js:126 msgid "Choose" msgstr "Izaberi" -#: js/oc-dialogs.js:143 js/oc-dialogs.js:163 +#: js/oc-dialogs.js:146 js/oc-dialogs.js:166 msgid "Cancel" msgstr "Odustani" -#: js/oc-dialogs.js:159 +#: js/oc-dialogs.js:162 msgid "No" msgstr "Ne" -#: js/oc-dialogs.js:160 +#: js/oc-dialogs.js:163 msgid "Yes" msgstr "Da" -#: js/oc-dialogs.js:177 +#: js/oc-dialogs.js:180 msgid "Ok" msgstr "U redu" -#: js/oc-vcategories.js:68 -msgid "No categories selected for deletion." -msgstr "Nema odabranih kategorija za brisanje." +#: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102 +#: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162 +msgid "The object type is not specified." +msgstr "" -#: js/oc-vcategories.js:68 js/share.js:114 js/share.js:121 js/share.js:497 -#: js/share.js:509 +#: js/oc-vcategories.js:95 js/oc-vcategories.js:125 js/oc-vcategories.js:136 +#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:525 +#: js/share.js:537 msgid "Error" msgstr "Pogreška" -#: js/share.js:103 +#: js/oc-vcategories.js:179 +msgid "The app name is not specified." +msgstr "" + +#: js/oc-vcategories.js:194 +msgid "The required file {file} is not installed!" +msgstr "" + +#: js/share.js:124 msgid "Error while sharing" msgstr "Greška prilikom djeljenja" -#: js/share.js:114 +#: js/share.js:135 msgid "Error while unsharing" msgstr "Greška prilikom isključivanja djeljenja" -#: js/share.js:121 +#: js/share.js:142 msgid "Error while changing permissions" msgstr "Greška prilikom promjena prava" -#: js/share.js:130 -msgid "Shared with you and the group" -msgstr "Dijeli sa tobom i grupom" - -#: js/share.js:130 -msgid "by" -msgstr "preko" +#: js/share.js:151 +msgid "Shared with you and the group {group} by {owner}" +msgstr "" -#: js/share.js:132 -msgid "Shared with you by" -msgstr "Dijeljeno sa tobom preko " +#: js/share.js:153 +msgid "Shared with you by {owner}" +msgstr "" -#: js/share.js:137 +#: js/share.js:158 msgid "Share with" msgstr "Djeli sa" -#: js/share.js:142 +#: js/share.js:163 msgid "Share with link" msgstr "Djeli preko link-a" -#: js/share.js:143 +#: js/share.js:164 msgid "Password protect" msgstr "Zaštiti lozinkom" -#: js/share.js:147 templates/installation.php:42 templates/login.php:24 +#: js/share.js:168 templates/installation.php:42 templates/login.php:24 #: templates/verify.php:13 msgid "Password" msgstr "Lozinka" -#: js/share.js:152 +#: js/share.js:173 msgid "Set expiration date" msgstr "Postavi datum isteka" -#: js/share.js:153 +#: js/share.js:174 msgid "Expiration date" msgstr "Datum isteka" -#: js/share.js:185 +#: js/share.js:206 msgid "Share via email:" msgstr "Dijeli preko email-a:" -#: js/share.js:187 +#: js/share.js:208 msgid "No people found" msgstr "Osobe nisu pronađene" -#: js/share.js:214 +#: js/share.js:235 msgid "Resharing is not allowed" msgstr "Ponovo dijeljenje nije dopušteno" -#: js/share.js:250 -msgid "Shared in" -msgstr "Dijeljeno u" - -#: js/share.js:250 -msgid "with" -msgstr "sa" - #: js/share.js:271 +msgid "Shared in {item} with {user}" +msgstr "" + +#: js/share.js:292 msgid "Unshare" msgstr "Makni djeljenje" -#: js/share.js:283 +#: js/share.js:304 msgid "can edit" msgstr "može mjenjat" -#: js/share.js:285 +#: js/share.js:306 msgid "access control" msgstr "kontrola pristupa" -#: js/share.js:288 +#: js/share.js:309 msgid "create" msgstr "kreiraj" -#: js/share.js:291 +#: js/share.js:312 msgid "update" msgstr "ažuriraj" -#: js/share.js:294 +#: js/share.js:315 msgid "delete" msgstr "izbriši" -#: js/share.js:297 +#: js/share.js:318 msgid "share" msgstr "djeli" -#: js/share.js:322 js/share.js:484 +#: js/share.js:343 js/share.js:512 js/share.js:514 msgid "Password protected" msgstr "Zaštita lozinkom" -#: js/share.js:497 +#: js/share.js:525 msgid "Error unsetting expiration date" msgstr "Greška prilikom brisanja datuma isteka" -#: js/share.js:509 +#: js/share.js:537 msgid "Error setting expiration date" msgstr "Greška prilikom postavljanja datuma isteka" -#: lostpassword/index.php:26 +#: lostpassword/controller.php:47 msgid "ownCloud password reset" msgstr "ownCloud resetiranje lozinke" @@ -236,12 +268,12 @@ msgid "You will receive a link to reset your password via Email." msgstr "Primit ćete link kako biste poništili zaporku putem e-maila." #: lostpassword/templates/lostpassword.php:5 -msgid "Requested" -msgstr "Zahtijevano" +msgid "Reset email send." +msgstr "" #: lostpassword/templates/lostpassword.php:8 -msgid "Login failed!" -msgstr "Prijava nije uspjela!" +msgid "Request failed!" +msgstr "" #: lostpassword/templates/lostpassword.php:11 templates/installation.php:38 #: templates/login.php:20 @@ -300,7 +332,7 @@ msgstr "Cloud nije pronađen" msgid "Edit categories" msgstr "Uredi kategorije" -#: templates/edit_categories_dialog.php:14 +#: templates/edit_categories_dialog.php:16 msgid "Add" msgstr "Dodaj" @@ -374,11 +406,87 @@ msgstr "Poslužitelj baze podataka" msgid "Finish setup" msgstr "Završi postavljanje" -#: templates/layout.guest.php:38 +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Sunday" +msgstr "nedelja" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Monday" +msgstr "ponedeljak" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Tuesday" +msgstr "utorak" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Wednesday" +msgstr "srijeda" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Thursday" +msgstr "četvrtak" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Friday" +msgstr "petak" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Saturday" +msgstr "subota" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "January" +msgstr "Siječanj" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "February" +msgstr "Veljača" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "March" +msgstr "Ožujak" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "April" +msgstr "Travanj" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "May" +msgstr "Svibanj" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "June" +msgstr "Lipanj" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "July" +msgstr "Srpanj" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "August" +msgstr "Kolovoz" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "September" +msgstr "Rujan" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "October" +msgstr "Listopad" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "November" +msgstr "Studeni" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "December" +msgstr "Prosinac" + +#: templates/layout.guest.php:41 msgid "web services under your control" msgstr "web usluge pod vašom kontrolom" -#: templates/layout.user.php:34 +#: templates/layout.user.php:44 msgid "Log out" msgstr "Odjava" diff --git a/l10n/hr/files.po b/l10n/hr/files.po index 5cdd0eb8894b4a1a4e9ea7c68b5dc9c4ae5fca26..7a1464ff148b6fa6b668e8d3a4757b944aebef9f 100644 --- a/l10n/hr/files.po +++ b/l10n/hr/files.po @@ -10,9 +10,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-08 02:02+0200\n" -"PO-Revision-Date: 2012-10-07 16:01+0000\n" -"Last-Translator: fposavec \n" +"POT-Creation-Date: 2012-12-01 00:01+0100\n" +"PO-Revision-Date: 2012-11-30 23:02+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Croatian (http://www.transifex.com/projects/p/owncloud/language/hr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -25,195 +25,166 @@ msgid "There is no error, the file uploaded with success" msgstr "Datoteka je poslana uspješno i bez pogrešaka" #: ajax/upload.php:21 -msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" -msgstr "Poslana datoteka izlazi iz okvira upload_max_size direktive postavljene u php.ini konfiguracijskoj datoteci" +msgid "" +"The uploaded file exceeds the upload_max_filesize directive in php.ini: " +msgstr "" -#: ajax/upload.php:22 +#: ajax/upload.php:23 msgid "" "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " "the HTML form" msgstr "Poslana datoteka izlazi iz okvira MAX_FILE_SIZE direktive postavljene u HTML obrascu" -#: ajax/upload.php:23 +#: ajax/upload.php:25 msgid "The uploaded file was only partially uploaded" msgstr "Datoteka je poslana samo djelomično" -#: ajax/upload.php:24 +#: ajax/upload.php:26 msgid "No file was uploaded" msgstr "Ni jedna datoteka nije poslana" -#: ajax/upload.php:25 +#: ajax/upload.php:27 msgid "Missing a temporary folder" msgstr "Nedostaje privremena mapa" -#: ajax/upload.php:26 +#: ajax/upload.php:28 msgid "Failed to write to disk" msgstr "Neuspjelo pisanje na disk" -#: appinfo/app.php:6 +#: appinfo/app.php:10 msgid "Files" msgstr "Datoteke" -#: js/fileactions.js:108 templates/index.php:62 +#: js/fileactions.js:117 templates/index.php:83 templates/index.php:84 msgid "Unshare" msgstr "Prekini djeljenje" -#: js/fileactions.js:110 templates/index.php:64 +#: js/fileactions.js:119 templates/index.php:89 templates/index.php:90 msgid "Delete" msgstr "Briši" -#: js/fileactions.js:182 +#: js/fileactions.js:181 msgid "Rename" msgstr "Promjeni ime" -#: js/filelist.js:189 js/filelist.js:191 -msgid "already exists" -msgstr "već postoji" +#: js/filelist.js:201 js/filelist.js:203 +msgid "{new_name} already exists" +msgstr "" -#: js/filelist.js:189 js/filelist.js:191 +#: js/filelist.js:201 js/filelist.js:203 msgid "replace" msgstr "zamjeni" -#: js/filelist.js:189 +#: js/filelist.js:201 msgid "suggest name" msgstr "predloži ime" -#: js/filelist.js:189 js/filelist.js:191 +#: js/filelist.js:201 js/filelist.js:203 msgid "cancel" msgstr "odustani" -#: js/filelist.js:238 js/filelist.js:240 -msgid "replaced" -msgstr "zamjenjeno" +#: js/filelist.js:250 +msgid "replaced {new_name}" +msgstr "" -#: js/filelist.js:238 js/filelist.js:240 js/filelist.js:272 js/filelist.js:274 +#: js/filelist.js:250 js/filelist.js:252 js/filelist.js:284 js/filelist.js:286 msgid "undo" msgstr "vrati" -#: js/filelist.js:240 -msgid "with" -msgstr "sa" +#: js/filelist.js:252 +msgid "replaced {new_name} with {old_name}" +msgstr "" + +#: js/filelist.js:284 +msgid "unshared {files}" +msgstr "" -#: js/filelist.js:272 -msgid "unshared" -msgstr "maknuto djeljenje" +#: js/filelist.js:286 +msgid "deleted {files}" +msgstr "" -#: js/filelist.js:274 -msgid "deleted" -msgstr "izbrisano" +#: js/files.js:33 +msgid "" +"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not " +"allowed." +msgstr "" -#: js/files.js:179 +#: js/files.js:183 msgid "generating ZIP-file, it may take some time." msgstr "generiranje ZIP datoteke, ovo može potrajati." -#: js/files.js:213 +#: js/files.js:218 msgid "Unable to upload your file as it is a directory or has 0 bytes" msgstr "Nemoguće poslati datoteku jer je prazna ili je direktorij" -#: js/files.js:213 +#: js/files.js:218 msgid "Upload Error" msgstr "Pogreška pri slanju" -#: js/files.js:241 js/files.js:346 js/files.js:376 +#: js/files.js:235 +msgid "Close" +msgstr "Zatvori" + +#: js/files.js:254 js/files.js:368 js/files.js:398 msgid "Pending" msgstr "U tijeku" -#: js/files.js:261 +#: js/files.js:274 msgid "1 file uploading" msgstr "1 datoteka se učitava" -#: js/files.js:264 js/files.js:309 js/files.js:324 -msgid "files uploading" -msgstr "datoteke se učitavaju" +#: js/files.js:277 js/files.js:331 js/files.js:346 +msgid "{count} files uploading" +msgstr "" -#: js/files.js:327 js/files.js:360 +#: js/files.js:349 js/files.js:382 msgid "Upload cancelled." msgstr "Slanje poništeno." -#: js/files.js:429 +#: js/files.js:451 msgid "" "File upload is in progress. Leaving the page now will cancel the upload." msgstr "Učitavanje datoteke. Napuštanjem stranice će prekinuti učitavanje." -#: js/files.js:499 -msgid "Invalid name, '/' is not allowed." -msgstr "Neispravan naziv, znak '/' nije dozvoljen." +#: js/files.js:523 +msgid "Invalid folder name. Usage of \"Shared\" is reserved by Owncloud" +msgstr "" -#: js/files.js:676 -msgid "files scanned" -msgstr "datoteka skenirana" +#: js/files.js:704 +msgid "{count} files scanned" +msgstr "" -#: js/files.js:684 +#: js/files.js:712 msgid "error while scanning" msgstr "grečka prilikom skeniranja" -#: js/files.js:757 templates/index.php:48 +#: js/files.js:785 templates/index.php:65 msgid "Name" msgstr "Naziv" -#: js/files.js:758 templates/index.php:56 +#: js/files.js:786 templates/index.php:76 msgid "Size" msgstr "Veličina" -#: js/files.js:759 templates/index.php:58 +#: js/files.js:787 templates/index.php:78 msgid "Modified" msgstr "Zadnja promjena" -#: js/files.js:786 -msgid "folder" -msgstr "mapa" - -#: js/files.js:788 -msgid "folders" -msgstr "mape" - -#: js/files.js:796 -msgid "file" -msgstr "datoteka" - -#: js/files.js:798 -msgid "files" -msgstr "datoteke" - -#: js/files.js:842 -msgid "seconds ago" -msgstr "sekundi prije" - -#: js/files.js:843 -msgid "minute ago" -msgstr "minutu" - -#: js/files.js:844 -msgid "minutes ago" -msgstr "minuta" - -#: js/files.js:847 -msgid "today" -msgstr "danas" - -#: js/files.js:848 -msgid "yesterday" -msgstr "jučer" - -#: js/files.js:849 -msgid "days ago" -msgstr "dana" - -#: js/files.js:850 -msgid "last month" -msgstr "prošli mjesec" +#: js/files.js:814 +msgid "1 folder" +msgstr "" -#: js/files.js:852 -msgid "months ago" -msgstr "mjeseci" +#: js/files.js:816 +msgid "{count} folders" +msgstr "" -#: js/files.js:853 -msgid "last year" -msgstr "prošlu godinu" +#: js/files.js:824 +msgid "1 file" +msgstr "" -#: js/files.js:854 -msgid "years ago" -msgstr "godina" +#: js/files.js:826 +msgid "{count} files" +msgstr "" #: templates/admin.php:5 msgid "File handling" @@ -223,27 +194,27 @@ msgstr "datoteka za rukovanje" msgid "Maximum upload size" msgstr "Maksimalna veličina prijenosa" -#: templates/admin.php:7 +#: templates/admin.php:9 msgid "max. possible: " msgstr "maksimalna moguća: " -#: templates/admin.php:9 +#: templates/admin.php:12 msgid "Needed for multi-file and folder downloads." msgstr "Potrebno za preuzimanje više datoteke i mape" -#: templates/admin.php:9 +#: templates/admin.php:14 msgid "Enable ZIP-download" msgstr "Omogući ZIP-preuzimanje" -#: templates/admin.php:11 +#: templates/admin.php:17 msgid "0 is unlimited" msgstr "0 je \"bez limita\"" -#: templates/admin.php:12 +#: templates/admin.php:19 msgid "Maximum input size for ZIP files" msgstr "Maksimalna veličina za ZIP datoteke" -#: templates/admin.php:14 +#: templates/admin.php:23 msgid "Save" msgstr "Snimi" @@ -251,52 +222,48 @@ msgstr "Snimi" msgid "New" msgstr "novo" -#: templates/index.php:9 +#: templates/index.php:10 msgid "Text file" msgstr "tekstualna datoteka" -#: templates/index.php:10 +#: templates/index.php:12 msgid "Folder" msgstr "mapa" -#: templates/index.php:11 -msgid "From url" -msgstr "od URL-a" +#: templates/index.php:14 +msgid "From link" +msgstr "" -#: templates/index.php:20 +#: templates/index.php:35 msgid "Upload" msgstr "Pošalji" -#: templates/index.php:27 +#: templates/index.php:43 msgid "Cancel upload" msgstr "Prekini upload" -#: templates/index.php:40 +#: templates/index.php:57 msgid "Nothing in here. Upload something!" msgstr "Nema ničega u ovoj mapi. Pošalji nešto!" -#: templates/index.php:50 -msgid "Share" -msgstr "podjeli" - -#: templates/index.php:52 +#: templates/index.php:71 msgid "Download" msgstr "Preuzmi" -#: templates/index.php:75 +#: templates/index.php:103 msgid "Upload too large" msgstr "Prijenos je preobiman" -#: templates/index.php:77 +#: templates/index.php:105 msgid "" "The files you are trying to upload exceed the maximum size for file uploads " "on this server." msgstr "Datoteke koje pokušavate prenijeti prelaze maksimalnu veličinu za prijenos datoteka na ovom poslužitelju." -#: templates/index.php:82 +#: templates/index.php:110 msgid "Files are being scanned, please wait." msgstr "Datoteke se skeniraju, molimo pričekajte." -#: templates/index.php:85 +#: templates/index.php:113 msgid "Current scanning" msgstr "Trenutno skeniranje" diff --git a/l10n/hr/files_external.po b/l10n/hr/files_external.po index 1fdf2d381040f628f54822267365bad003100fe4..0c806b0f1df3e3c3cdc45df6161864550736ba13 100644 --- a/l10n/hr/files_external.po +++ b/l10n/hr/files_external.po @@ -7,9 +7,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-02 23:16+0200\n" -"PO-Revision-Date: 2012-10-02 21:17+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-12-12 00:12+0100\n" +"PO-Revision-Date: 2012-12-11 23:13+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Croatian (http://www.transifex.com/projects/p/owncloud/language/hr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -41,66 +41,80 @@ msgstr "" msgid "Error configuring Google Drive storage" msgstr "" +#: lib/config.php:434 +msgid "" +"Warning: \"smbclient\" is not installed. Mounting of CIFS/SMB shares " +"is not possible. Please ask your system administrator to install it." +msgstr "" + +#: lib/config.php:435 +msgid "" +"Warning: The FTP support in PHP is not enabled or installed. Mounting" +" of FTP shares is not possible. Please ask your system administrator to " +"install it." +msgstr "" + #: templates/settings.php:3 msgid "External Storage" msgstr "" -#: templates/settings.php:7 templates/settings.php:19 +#: templates/settings.php:8 templates/settings.php:22 msgid "Mount point" msgstr "" -#: templates/settings.php:8 +#: templates/settings.php:9 msgid "Backend" msgstr "" -#: templates/settings.php:9 +#: templates/settings.php:10 msgid "Configuration" msgstr "" -#: templates/settings.php:10 +#: templates/settings.php:11 msgid "Options" msgstr "" -#: templates/settings.php:11 +#: templates/settings.php:12 msgid "Applicable" msgstr "" -#: templates/settings.php:23 +#: templates/settings.php:27 msgid "Add mount point" msgstr "" -#: templates/settings.php:54 templates/settings.php:62 +#: templates/settings.php:85 msgid "None set" msgstr "" -#: templates/settings.php:63 +#: templates/settings.php:86 msgid "All Users" msgstr "" -#: templates/settings.php:64 +#: templates/settings.php:87 msgid "Groups" msgstr "" -#: templates/settings.php:69 +#: templates/settings.php:95 msgid "Users" msgstr "" -#: templates/settings.php:77 templates/settings.php:107 +#: templates/settings.php:108 templates/settings.php:109 +#: templates/settings.php:149 templates/settings.php:150 msgid "Delete" msgstr "" -#: templates/settings.php:87 +#: templates/settings.php:124 msgid "Enable User External Storage" msgstr "" -#: templates/settings.php:88 +#: templates/settings.php:125 msgid "Allow users to mount their own external storage" msgstr "" -#: templates/settings.php:99 +#: templates/settings.php:139 msgid "SSL root certificates" msgstr "" -#: templates/settings.php:113 +#: templates/settings.php:158 msgid "Import Root Certificate" msgstr "" diff --git a/l10n/hr/files_pdfviewer.po b/l10n/hr/files_pdfviewer.po deleted file mode 100644 index 711c71bc86453f4e701e38cd7ebdbee83d9dc797..0000000000000000000000000000000000000000 --- a/l10n/hr/files_pdfviewer.po +++ /dev/null @@ -1,42 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 02:18+0200\n" -"PO-Revision-Date: 2012-08-26 00:19+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Croatian (http://www.transifex.com/projects/p/owncloud/language/hr/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: hr\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" - -#: js/viewer.js:22 -msgid "Previous" -msgstr "" - -#: js/viewer.js:23 -msgid "Next" -msgstr "" - -#: js/viewer.js:29 -msgid "Page Width" -msgstr "" - -#: js/viewer.js:29 -msgid "Page Fit" -msgstr "" - -#: js/viewer.js:30 -msgid "Print" -msgstr "" - -#: js/viewer.js:32 -msgid "Download" -msgstr "" diff --git a/l10n/hr/files_texteditor.po b/l10n/hr/files_texteditor.po deleted file mode 100644 index 31c7b3bc4e2c9118e3f69043a4c5df8ef3120362..0000000000000000000000000000000000000000 --- a/l10n/hr/files_texteditor.po +++ /dev/null @@ -1,44 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 01:17+0200\n" -"PO-Revision-Date: 2012-08-25 23:18+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Croatian (http://www.transifex.com/projects/p/owncloud/language/hr/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: hr\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" - -#: js/aceeditor/mode-coldfusion-uncompressed.js:1568 -#: js/aceeditor/mode-liquid-uncompressed.js:902 -#: js/aceeditor/mode-svg-uncompressed.js:1575 -msgid "regex" -msgstr "" - -#: js/editor.js:72 js/editor.js:156 js/editor.js:163 -msgid "Save" -msgstr "" - -#: js/editor.js:74 -msgid "Close" -msgstr "" - -#: js/editor.js:149 -msgid "Saving..." -msgstr "" - -#: js/editor.js:239 -msgid "An error occurred!" -msgstr "" - -#: js/editor.js:266 -msgid "There were unsaved changes, click here to go back" -msgstr "" diff --git a/l10n/hr/gallery.po b/l10n/hr/gallery.po deleted file mode 100644 index 3bfe413c2855b3cea3eb5194c578eb6b1f9333c8..0000000000000000000000000000000000000000 --- a/l10n/hr/gallery.po +++ /dev/null @@ -1,95 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Domagoj Delimar , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-06-06 00:12+0200\n" -"PO-Revision-Date: 2012-06-05 22:15+0000\n" -"Last-Translator: icewind \n" -"Language-Team: Croatian (http://www.transifex.net/projects/p/owncloud/language/hr/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: hr\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" - -#: appinfo/app.php:37 -msgid "Pictures" -msgstr "Slike" - -#: js/album_cover.js:44 -msgid "Share gallery" -msgstr "" - -#: js/album_cover.js:64 js/album_cover.js:100 js/album_cover.js:133 -msgid "Error: " -msgstr "" - -#: js/album_cover.js:64 js/album_cover.js:100 -msgid "Internal error" -msgstr "" - -#: js/album_cover.js:114 -msgid "Scanning root" -msgstr "" - -#: js/album_cover.js:115 -msgid "Default order" -msgstr "" - -#: js/album_cover.js:116 -msgid "Ascending" -msgstr "" - -#: js/album_cover.js:116 -msgid "Descending" -msgstr "" - -#: js/album_cover.js:117 templates/index.php:19 -msgid "Settings" -msgstr "Postavke" - -#: js/album_cover.js:122 -msgid "Scanning root cannot be empty" -msgstr "" - -#: js/album_cover.js:122 js/album_cover.js:133 -msgid "Error" -msgstr "" - -#: templates/index.php:16 -msgid "Rescan" -msgstr "Ponovo očitaj" - -#: templates/index.php:17 -msgid "Stop" -msgstr "Zaustavi" - -#: templates/index.php:18 -msgid "Share" -msgstr "Podijeli" - -#: templates/view_album.php:19 -msgid "Back" -msgstr "Natrag" - -#: templates/view_album.php:36 -msgid "Remove confirmation" -msgstr "Ukloni potvrdu" - -#: templates/view_album.php:37 -msgid "Do you want to remove album" -msgstr "Želite li ukloniti album" - -#: templates/view_album.php:40 -msgid "Change album name" -msgstr "Promijeni ime albuma" - -#: templates/view_album.php:43 -msgid "New album name" -msgstr "Novo ime albuma" diff --git a/l10n/hr/impress.po b/l10n/hr/impress.po deleted file mode 100644 index b66fc94ed8e9bce26b0f33005e49f999043bdf70..0000000000000000000000000000000000000000 --- a/l10n/hr/impress.po +++ /dev/null @@ -1,22 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 01:17+0200\n" -"PO-Revision-Date: 2012-08-25 23:18+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Croatian (http://www.transifex.com/projects/p/owncloud/language/hr/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: hr\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" - -#: templates/presentations.php:7 -msgid "Documentation" -msgstr "" diff --git a/l10n/hr/lib.po b/l10n/hr/lib.po index a9682726b85ac2e3d5df173d3b5322517bcace57..80301078e43298af288527ebab9b4dbbd3317a69 100644 --- a/l10n/hr/lib.po +++ b/l10n/hr/lib.po @@ -7,53 +7,53 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-09-01 02:01+0200\n" -"PO-Revision-Date: 2012-09-01 00:02+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-11-16 00:02+0100\n" +"PO-Revision-Date: 2012-11-14 23:13+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Croatian (http://www.transifex.com/projects/p/owncloud/language/hr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: hr\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" +"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" -#: app.php:288 +#: app.php:285 msgid "Help" -msgstr "" +msgstr "Pomoć" -#: app.php:295 +#: app.php:292 msgid "Personal" -msgstr "" +msgstr "Osobno" -#: app.php:300 +#: app.php:297 msgid "Settings" -msgstr "" +msgstr "Postavke" -#: app.php:305 +#: app.php:302 msgid "Users" -msgstr "" +msgstr "Korisnici" -#: app.php:312 +#: app.php:309 msgid "Apps" msgstr "" -#: app.php:314 +#: app.php:311 msgid "Admin" msgstr "" -#: files.php:280 +#: files.php:332 msgid "ZIP download is turned off." msgstr "" -#: files.php:281 +#: files.php:333 msgid "Files need to be downloaded one by one." msgstr "" -#: files.php:281 files.php:306 +#: files.php:333 files.php:358 msgid "Back to Files" msgstr "" -#: files.php:305 +#: files.php:357 msgid "Selected files too large to generate zip file." msgstr "" @@ -61,65 +61,92 @@ msgstr "" msgid "Application is not enabled" msgstr "" -#: json.php:39 json.php:63 json.php:75 +#: json.php:39 json.php:64 json.php:77 json.php:89 msgid "Authentication error" -msgstr "" +msgstr "Greška kod autorizacije" #: json.php:51 msgid "Token expired. Please reload page." msgstr "" -#: template.php:86 -msgid "seconds ago" +#: search/provider/file.php:17 search/provider/file.php:35 +msgid "Files" +msgstr "Datoteke" + +#: search/provider/file.php:26 search/provider/file.php:33 +msgid "Text" +msgstr "Tekst" + +#: search/provider/file.php:29 +msgid "Images" msgstr "" -#: template.php:87 +#: template.php:103 +msgid "seconds ago" +msgstr "sekundi prije" + +#: template.php:104 msgid "1 minute ago" msgstr "" -#: template.php:88 +#: template.php:105 #, php-format msgid "%d minutes ago" msgstr "" -#: template.php:91 -msgid "today" +#: template.php:106 +msgid "1 hour ago" msgstr "" -#: template.php:92 -msgid "yesterday" +#: template.php:107 +#, php-format +msgid "%d hours ago" msgstr "" -#: template.php:93 +#: template.php:108 +msgid "today" +msgstr "danas" + +#: template.php:109 +msgid "yesterday" +msgstr "jučer" + +#: template.php:110 #, php-format msgid "%d days ago" msgstr "" -#: template.php:94 +#: template.php:111 msgid "last month" -msgstr "" +msgstr "prošli mjesec" -#: template.php:95 -msgid "months ago" +#: template.php:112 +#, php-format +msgid "%d months ago" msgstr "" -#: template.php:96 +#: template.php:113 msgid "last year" -msgstr "" +msgstr "prošlu godinu" -#: template.php:97 +#: template.php:114 msgid "years ago" -msgstr "" +msgstr "godina" -#: updater.php:66 +#: updater.php:75 #, php-format msgid "%s is available. Get more information" msgstr "" -#: updater.php:68 +#: updater.php:77 msgid "up to date" msgstr "" -#: updater.php:71 +#: updater.php:80 msgid "updates check is disabled" msgstr "" + +#: vcategories.php:188 vcategories.php:249 +#, php-format +msgid "Could not find category \"%s\"" +msgstr "" diff --git a/l10n/hr/media.po b/l10n/hr/media.po deleted file mode 100644 index aa4711f5d5d663ef2a80cb4b76db7381072ede96..0000000000000000000000000000000000000000 --- a/l10n/hr/media.po +++ /dev/null @@ -1,67 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Davor Kustec , 2011. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-06-06 00:12+0200\n" -"PO-Revision-Date: 2012-06-05 22:15+0000\n" -"Last-Translator: icewind \n" -"Language-Team: Croatian (http://www.transifex.net/projects/p/owncloud/language/hr/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: hr\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" - -#: appinfo/app.php:32 templates/player.php:8 -msgid "Music" -msgstr "Glazba" - -#: js/music.js:18 -msgid "Add album to playlist" -msgstr "" - -#: templates/music.php:3 templates/player.php:12 -msgid "Play" -msgstr "Reprodukcija" - -#: templates/music.php:4 templates/music.php:26 templates/player.php:13 -msgid "Pause" -msgstr "Pauza" - -#: templates/music.php:5 -msgid "Previous" -msgstr "Prethodna" - -#: templates/music.php:6 templates/player.php:14 -msgid "Next" -msgstr "Sljedeća" - -#: templates/music.php:7 -msgid "Mute" -msgstr "Utišaj zvuk" - -#: templates/music.php:8 -msgid "Unmute" -msgstr "Uključi zvuk" - -#: templates/music.php:25 -msgid "Rescan Collection" -msgstr "Ponovi skeniranje kolekcije" - -#: templates/music.php:37 -msgid "Artist" -msgstr "Izvođač" - -#: templates/music.php:38 -msgid "Album" -msgstr "Album" - -#: templates/music.php:39 -msgid "Title" -msgstr "Naslov" diff --git a/l10n/hr/settings.po b/l10n/hr/settings.po index 3be9de17ecbcdd938e5ed2ab680f06bdbe53821b..5410216db219ce20d2ef08d860a69d4092d99dec 100644 --- a/l10n/hr/settings.po +++ b/l10n/hr/settings.po @@ -10,9 +10,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-09 02:03+0200\n" -"PO-Revision-Date: 2012-10-09 00:04+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-12-03 00:04+0100\n" +"PO-Revision-Date: 2012-12-02 03:18+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Croatian (http://www.transifex.com/projects/p/owncloud/language/hr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -20,70 +20,73 @@ msgstr "" "Language: hr\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" -#: ajax/apps/ocs.php:23 +#: ajax/apps/ocs.php:20 msgid "Unable to load list from App Store" msgstr "Nemogićnost učitavanja liste sa Apps Stora" -#: ajax/creategroup.php:9 ajax/removeuser.php:13 ajax/setquota.php:18 -#: ajax/togglegroups.php:15 -msgid "Authentication error" -msgstr "Greška kod autorizacije" - -#: ajax/creategroup.php:19 +#: ajax/creategroup.php:10 msgid "Group already exists" msgstr "" -#: ajax/creategroup.php:28 +#: ajax/creategroup.php:19 msgid "Unable to add group" msgstr "" -#: ajax/enableapp.php:14 +#: ajax/enableapp.php:12 msgid "Could not enable app. " msgstr "" -#: ajax/lostpassword.php:14 +#: ajax/lostpassword.php:12 msgid "Email saved" msgstr "Email spremljen" -#: ajax/lostpassword.php:16 +#: ajax/lostpassword.php:14 msgid "Invalid email" msgstr "Neispravan email" -#: ajax/openid.php:16 +#: ajax/openid.php:13 msgid "OpenID Changed" msgstr "OpenID promijenjen" -#: ajax/openid.php:18 ajax/setlanguage.php:20 ajax/setlanguage.php:23 +#: ajax/openid.php:15 ajax/setlanguage.php:17 ajax/setlanguage.php:20 msgid "Invalid request" msgstr "Neispravan zahtjev" -#: ajax/removegroup.php:16 +#: ajax/removegroup.php:13 msgid "Unable to delete group" msgstr "" -#: ajax/removeuser.php:22 +#: ajax/removeuser.php:15 ajax/setquota.php:15 ajax/togglegroups.php:18 +msgid "Authentication error" +msgstr "Greška kod autorizacije" + +#: ajax/removeuser.php:24 msgid "Unable to delete user" msgstr "" -#: ajax/setlanguage.php:18 +#: ajax/setlanguage.php:15 msgid "Language changed" msgstr "Jezik promijenjen" -#: ajax/togglegroups.php:25 +#: ajax/togglegroups.php:12 +msgid "Admins can't remove themself from the admin group" +msgstr "" + +#: ajax/togglegroups.php:28 #, php-format msgid "Unable to add user to group %s" msgstr "" -#: ajax/togglegroups.php:31 +#: ajax/togglegroups.php:34 #, php-format msgid "Unable to remove user from group %s" msgstr "" -#: js/apps.js:28 js/apps.js:65 +#: js/apps.js:28 js/apps.js:67 msgid "Disable" msgstr "Isključi" -#: js/apps.js:28 js/apps.js:54 +#: js/apps.js:28 js/apps.js:55 msgid "Enable" msgstr "Uključi" @@ -91,97 +94,10 @@ msgstr "Uključi" msgid "Saving..." msgstr "Spremanje..." -#: personal.php:47 personal.php:48 +#: personal.php:42 personal.php:43 msgid "__language_name__" msgstr "__ime_jezika__" -#: templates/admin.php:14 -msgid "Security Warning" -msgstr "" - -#: templates/admin.php:17 -msgid "" -"Your data directory and your files are probably accessible from the " -"internet. The .htaccess file that ownCloud provides is not working. We " -"strongly suggest that you configure your webserver in a way that the data " -"directory is no longer accessible or you move the data directory outside the" -" webserver document root." -msgstr "" - -#: templates/admin.php:31 -msgid "Cron" -msgstr "Cron" - -#: templates/admin.php:37 -msgid "Execute one task with each page loaded" -msgstr "" - -#: templates/admin.php:43 -msgid "" -"cron.php is registered at a webcron service. Call the cron.php page in the " -"owncloud root once a minute over http." -msgstr "" - -#: templates/admin.php:49 -msgid "" -"Use systems cron service. Call the cron.php file in the owncloud folder via " -"a system cronjob once a minute." -msgstr "" - -#: templates/admin.php:56 -msgid "Sharing" -msgstr "" - -#: templates/admin.php:61 -msgid "Enable Share API" -msgstr "" - -#: templates/admin.php:62 -msgid "Allow apps to use the Share API" -msgstr "" - -#: templates/admin.php:67 -msgid "Allow links" -msgstr "" - -#: templates/admin.php:68 -msgid "Allow users to share items to the public with links" -msgstr "" - -#: templates/admin.php:73 -msgid "Allow resharing" -msgstr "" - -#: templates/admin.php:74 -msgid "Allow users to share items shared with them again" -msgstr "" - -#: templates/admin.php:79 -msgid "Allow users to share with anyone" -msgstr "" - -#: templates/admin.php:81 -msgid "Allow users to only share with users in their groups" -msgstr "" - -#: templates/admin.php:88 -msgid "Log" -msgstr "dnevnik" - -#: templates/admin.php:116 -msgid "More" -msgstr "više" - -#: templates/admin.php:124 -msgid "" -"Developed by the ownCloud community, the source code is " -"licensed under the AGPL." -msgstr "" - #: templates/apps.php:10 msgid "Add your App" msgstr "Dodajte vašu aplikaciju" @@ -214,21 +130,21 @@ msgstr "Upravljanje velikih datoteka" msgid "Ask a question" msgstr "Postavite pitanje" -#: templates/help.php:23 +#: templates/help.php:22 msgid "Problems connecting to help database." msgstr "Problem pri spajanju na bazu podataka pomoći" -#: templates/help.php:24 +#: templates/help.php:23 msgid "Go there manually." msgstr "Idite tamo ručno." -#: templates/help.php:32 +#: templates/help.php:31 msgid "Answer" msgstr "Odgovor" #: templates/personal.php:8 #, php-format -msgid "You have used %s of the available %s" +msgid "You have used %s of the available %s" msgstr "" #: templates/personal.php:12 @@ -287,6 +203,16 @@ msgstr "Pomoć prevesti" msgid "use this address to connect to your ownCloud in your file manager" msgstr "koristite ovu adresu za spajanje na Cloud u vašem upravitelju datoteka" +#: templates/personal.php:61 +msgid "" +"Developed by the ownCloud community, the source code is " +"licensed under the AGPL." +msgstr "" + #: templates/users.php:21 templates/users.php:76 msgid "Name" msgstr "Ime" diff --git a/l10n/hr/tasks.po b/l10n/hr/tasks.po deleted file mode 100644 index 210a819f64c98d54c7a42734427f822349f1067c..0000000000000000000000000000000000000000 --- a/l10n/hr/tasks.po +++ /dev/null @@ -1,106 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:44+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Croatian (http://www.transifex.com/projects/p/owncloud/language/hr/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: hr\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" - -#: ajax/update_property.php:51 lib/app.php:89 lib/app.php:101 -msgid "Invalid date/time" -msgstr "" - -#: appinfo/app.php:11 -msgid "Tasks" -msgstr "" - -#: js/tasks.js:415 -msgid "No category" -msgstr "" - -#: lib/app.php:33 -msgid "Unspecified" -msgstr "" - -#: lib/app.php:34 -msgid "1=highest" -msgstr "" - -#: lib/app.php:38 -msgid "5=medium" -msgstr "" - -#: lib/app.php:42 -msgid "9=lowest" -msgstr "" - -#: lib/app.php:81 -msgid "Empty Summary" -msgstr "" - -#: lib/app.php:93 -msgid "Invalid percent complete" -msgstr "" - -#: lib/app.php:107 -msgid "Invalid priority" -msgstr "" - -#: templates/tasks.php:3 -msgid "Add Task" -msgstr "" - -#: templates/tasks.php:4 -msgid "Order Due" -msgstr "" - -#: templates/tasks.php:5 -msgid "Order List" -msgstr "" - -#: templates/tasks.php:6 -msgid "Order Complete" -msgstr "" - -#: templates/tasks.php:7 -msgid "Order Location" -msgstr "" - -#: templates/tasks.php:8 -msgid "Order Priority" -msgstr "" - -#: templates/tasks.php:9 -msgid "Order Label" -msgstr "" - -#: templates/tasks.php:16 -msgid "Loading tasks..." -msgstr "" - -#: templates/tasks.php:20 -msgid "Important" -msgstr "" - -#: templates/tasks.php:23 -msgid "More" -msgstr "" - -#: templates/tasks.php:26 -msgid "Less" -msgstr "" - -#: templates/tasks.php:29 -msgid "Delete" -msgstr "" diff --git a/l10n/hr/user_migrate.po b/l10n/hr/user_migrate.po deleted file mode 100644 index edbfa8b17645821b89ee3df2ba2e849af4af7e74..0000000000000000000000000000000000000000 --- a/l10n/hr/user_migrate.po +++ /dev/null @@ -1,51 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:45+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Croatian (http://www.transifex.com/projects/p/owncloud/language/hr/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: hr\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" - -#: js/export.js:14 js/export.js:20 -msgid "Export" -msgstr "" - -#: js/export.js:19 -msgid "Something went wrong while the export file was being generated" -msgstr "" - -#: js/export.js:19 -msgid "An error has occurred" -msgstr "" - -#: templates/settings.php:2 -msgid "Export your user account" -msgstr "" - -#: templates/settings.php:3 -msgid "" -"This will create a compressed file that contains your ownCloud account." -msgstr "" - -#: templates/settings.php:13 -msgid "Import user account" -msgstr "" - -#: templates/settings.php:15 -msgid "ownCloud User Zip" -msgstr "" - -#: templates/settings.php:17 -msgid "Import" -msgstr "" diff --git a/l10n/hr/user_openid.po b/l10n/hr/user_openid.po deleted file mode 100644 index 1f9e7c5ad595e9111a7889e3212b31de456e60ed..0000000000000000000000000000000000000000 --- a/l10n/hr/user_openid.po +++ /dev/null @@ -1,54 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:45+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Croatian (http://www.transifex.com/projects/p/owncloud/language/hr/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: hr\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" - -#: templates/nomode.php:12 -msgid "This is an OpenID server endpoint. For more information, see " -msgstr "" - -#: templates/nomode.php:14 -msgid "Identity: " -msgstr "" - -#: templates/nomode.php:15 -msgid "Realm: " -msgstr "" - -#: templates/nomode.php:16 -msgid "User: " -msgstr "" - -#: templates/nomode.php:17 -msgid "Login" -msgstr "" - -#: templates/nomode.php:22 -msgid "Error: No user Selected" -msgstr "" - -#: templates/settings.php:4 -msgid "you can authenticate to other sites with this address" -msgstr "" - -#: templates/settings.php:5 -msgid "Authorized OpenID provider" -msgstr "" - -#: templates/settings.php:6 -msgid "Your address at Wordpress, Identi.ca, …" -msgstr "" diff --git a/l10n/hr/files_odfviewer.po b/l10n/hr/user_webdavauth.po similarity index 75% rename from l10n/hr/files_odfviewer.po rename to l10n/hr/user_webdavauth.po index ad4066e3f624e68b7d7e8b3fab307094d81c622c..8837bf71d7321fc24605bf6f0d56f556134f1361 100644 --- a/l10n/hr/files_odfviewer.po +++ b/l10n/hr/user_webdavauth.po @@ -7,16 +7,16 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 02:18+0200\n" -"PO-Revision-Date: 2012-08-26 00:19+0000\n" +"POT-Creation-Date: 2012-11-09 10:06+0100\n" +"PO-Revision-Date: 2012-11-09 09:06+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: Croatian (http://www.transifex.com/projects/p/owncloud/language/hr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: hr\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" +"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" -#: js/viewer.js:9 -msgid "Close" +#: templates/settings.php:4 +msgid "WebDAV URL: http://" msgstr "" diff --git a/l10n/hu_HU/admin_dependencies_chk.po b/l10n/hu_HU/admin_dependencies_chk.po deleted file mode 100644 index 1dad50f27ac8b0990773c2b43eeb3a20f55eb001..0000000000000000000000000000000000000000 --- a/l10n/hu_HU/admin_dependencies_chk.po +++ /dev/null @@ -1,73 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:33+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Hungarian (Hungary) (http://www.transifex.com/projects/p/owncloud/language/hu_HU/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: hu_HU\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: settings.php:33 -msgid "" -"The php-json module is needed by the many applications for inter " -"communications" -msgstr "" - -#: settings.php:39 -msgid "" -"The php-curl modude is needed to fetch the page title when adding a " -"bookmarks" -msgstr "" - -#: settings.php:45 -msgid "The php-gd module is needed to create thumbnails of your images" -msgstr "" - -#: settings.php:51 -msgid "The php-ldap module is needed connect to your ldap server" -msgstr "" - -#: settings.php:57 -msgid "The php-zip module is needed download multiple files at once" -msgstr "" - -#: settings.php:63 -msgid "" -"The php-mb_multibyte module is needed to manage correctly the encoding." -msgstr "" - -#: settings.php:69 -msgid "The php-ctype module is needed validate data." -msgstr "" - -#: settings.php:75 -msgid "The php-xml module is needed to share files with webdav." -msgstr "" - -#: settings.php:81 -msgid "" -"The allow_url_fopen directive of your php.ini should be set to 1 to retrieve" -" knowledge base from OCS servers" -msgstr "" - -#: settings.php:87 -msgid "The php-pdo module is needed to store owncloud data into a database." -msgstr "" - -#: templates/settings.php:2 -msgid "Dependencies status" -msgstr "" - -#: templates/settings.php:7 -msgid "Used by :" -msgstr "" diff --git a/l10n/hu_HU/admin_migrate.po b/l10n/hu_HU/admin_migrate.po deleted file mode 100644 index f23b87abaa34a868bb9ef245d539bac996c99e75..0000000000000000000000000000000000000000 --- a/l10n/hu_HU/admin_migrate.po +++ /dev/null @@ -1,32 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:32+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Hungarian (Hungary) (http://www.transifex.com/projects/p/owncloud/language/hu_HU/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: hu_HU\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: templates/settings.php:3 -msgid "Export this ownCloud instance" -msgstr "" - -#: templates/settings.php:4 -msgid "" -"This will create a compressed file that contains the data of this owncloud instance.\n" -" Please choose the export type:" -msgstr "" - -#: templates/settings.php:12 -msgid "Export" -msgstr "" diff --git a/l10n/hu_HU/bookmarks.po b/l10n/hu_HU/bookmarks.po deleted file mode 100644 index 4fe0e566ab13f56bc560a001dd8e81215d867de7..0000000000000000000000000000000000000000 --- a/l10n/hu_HU/bookmarks.po +++ /dev/null @@ -1,60 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-07-28 02:02+0200\n" -"PO-Revision-Date: 2012-07-27 22:17+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Hungarian (Hungary) (http://www.transifex.com/projects/p/owncloud/language/hu_HU/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: hu_HU\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: appinfo/app.php:14 -msgid "Bookmarks" -msgstr "" - -#: bookmarksHelper.php:99 -msgid "unnamed" -msgstr "" - -#: templates/bookmarklet.php:5 -msgid "" -"Drag this to your browser bookmarks and click it, when you want to bookmark " -"a webpage quickly:" -msgstr "" - -#: templates/bookmarklet.php:7 -msgid "Read later" -msgstr "" - -#: templates/list.php:13 -msgid "Address" -msgstr "" - -#: templates/list.php:14 -msgid "Title" -msgstr "" - -#: templates/list.php:15 -msgid "Tags" -msgstr "" - -#: templates/list.php:16 -msgid "Save bookmark" -msgstr "" - -#: templates/list.php:22 -msgid "You have no bookmarks" -msgstr "" - -#: templates/settings.php:11 -msgid "Bookmarklet
" -msgstr "" diff --git a/l10n/hu_HU/calendar.po b/l10n/hu_HU/calendar.po deleted file mode 100644 index 4e689ee90eb853543457b3d982f9cf7b9efc9c10..0000000000000000000000000000000000000000 --- a/l10n/hu_HU/calendar.po +++ /dev/null @@ -1,815 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Adam Toth , 2012. -# Peter Borsa , 2011. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-11 02:02+0200\n" -"PO-Revision-Date: 2012-08-11 00:02+0000\n" -"Last-Translator: owncloud_robot \n" -"Language-Team: Hungarian (Hungary) (http://www.transifex.com/projects/p/owncloud/language/hu_HU/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: hu_HU\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: ajax/cache/status.php:19 -msgid "Not all calendars are completely cached" -msgstr "" - -#: ajax/cache/status.php:21 -msgid "Everything seems to be completely cached" -msgstr "" - -#: ajax/categories/rescan.php:29 -msgid "No calendars found." -msgstr "Nem található naptár" - -#: ajax/categories/rescan.php:37 -msgid "No events found." -msgstr "Nem található esemény" - -#: ajax/event/edit.form.php:20 -msgid "Wrong calendar" -msgstr "Hibás naptár" - -#: ajax/import/dropimport.php:29 ajax/import/import.php:64 -msgid "" -"The file contained either no events or all events are already saved in your " -"calendar." -msgstr "" - -#: ajax/import/dropimport.php:31 ajax/import/import.php:67 -msgid "events has been saved in the new calendar" -msgstr "" - -#: ajax/import/import.php:56 -msgid "Import failed" -msgstr "" - -#: ajax/import/import.php:69 -msgid "events has been saved in your calendar" -msgstr "" - -#: ajax/settings/guesstimezone.php:25 -msgid "New Timezone:" -msgstr "Új időzóna" - -#: ajax/settings/settimezone.php:23 -msgid "Timezone changed" -msgstr "Időzóna megváltozott" - -#: ajax/settings/settimezone.php:25 -msgid "Invalid request" -msgstr "Érvénytelen kérés" - -#: appinfo/app.php:35 templates/calendar.php:15 -#: templates/part.eventform.php:33 templates/part.showevent.php:33 -msgid "Calendar" -msgstr "Naptár" - -#: js/calendar.js:832 -msgid "ddd" -msgstr "nnn" - -#: js/calendar.js:833 -msgid "ddd M/d" -msgstr "nnn H/n" - -#: js/calendar.js:834 -msgid "dddd M/d" -msgstr "nnnn H/n" - -#: js/calendar.js:837 -msgid "MMMM yyyy" -msgstr "HHHH éééé" - -#: js/calendar.js:839 -msgid "MMM d[ yyyy]{ '—'[ MMM] d yyyy}" -msgstr "MMM d[ yyyy]{ '—'[ MMM] d yyyy}" - -#: js/calendar.js:841 -msgid "dddd, MMM d, yyyy" -msgstr "nnnn, HHH n, éééé" - -#: lib/app.php:121 -msgid "Birthday" -msgstr "Születésap" - -#: lib/app.php:122 -msgid "Business" -msgstr "Üzlet" - -#: lib/app.php:123 -msgid "Call" -msgstr "Hívás" - -#: lib/app.php:124 -msgid "Clients" -msgstr "Kliensek" - -#: lib/app.php:125 -msgid "Deliverer" -msgstr "Szállító" - -#: lib/app.php:126 -msgid "Holidays" -msgstr "Ünnepek" - -#: lib/app.php:127 -msgid "Ideas" -msgstr "Ötletek" - -#: lib/app.php:128 -msgid "Journey" -msgstr "Utazás" - -#: lib/app.php:129 -msgid "Jubilee" -msgstr "Évforduló" - -#: lib/app.php:130 -msgid "Meeting" -msgstr "Találkozó" - -#: lib/app.php:131 -msgid "Other" -msgstr "Egyéb" - -#: lib/app.php:132 -msgid "Personal" -msgstr "Személyes" - -#: lib/app.php:133 -msgid "Projects" -msgstr "Projektek" - -#: lib/app.php:134 -msgid "Questions" -msgstr "Kérdések" - -#: lib/app.php:135 -msgid "Work" -msgstr "Munka" - -#: lib/app.php:351 lib/app.php:361 -msgid "by" -msgstr "" - -#: lib/app.php:359 lib/app.php:399 -msgid "unnamed" -msgstr "névtelen" - -#: lib/import.php:184 templates/calendar.php:12 -#: templates/part.choosecalendar.php:22 -msgid "New Calendar" -msgstr "Új naptár" - -#: lib/object.php:372 -msgid "Does not repeat" -msgstr "Nem ismétlődik" - -#: lib/object.php:373 -msgid "Daily" -msgstr "Napi" - -#: lib/object.php:374 -msgid "Weekly" -msgstr "Heti" - -#: lib/object.php:375 -msgid "Every Weekday" -msgstr "Minden hétköznap" - -#: lib/object.php:376 -msgid "Bi-Weekly" -msgstr "Kéthetente" - -#: lib/object.php:377 -msgid "Monthly" -msgstr "Havi" - -#: lib/object.php:378 -msgid "Yearly" -msgstr "Évi" - -#: lib/object.php:388 -msgid "never" -msgstr "soha" - -#: lib/object.php:389 -msgid "by occurrences" -msgstr "előfordulás szerint" - -#: lib/object.php:390 -msgid "by date" -msgstr "dátum szerint" - -#: lib/object.php:400 -msgid "by monthday" -msgstr "hónap napja szerint" - -#: lib/object.php:401 -msgid "by weekday" -msgstr "hét napja szerint" - -#: lib/object.php:411 templates/calendar.php:5 templates/settings.php:69 -msgid "Monday" -msgstr "Hétfő" - -#: lib/object.php:412 templates/calendar.php:5 -msgid "Tuesday" -msgstr "Kedd" - -#: lib/object.php:413 templates/calendar.php:5 -msgid "Wednesday" -msgstr "Szerda" - -#: lib/object.php:414 templates/calendar.php:5 -msgid "Thursday" -msgstr "Csütörtök" - -#: lib/object.php:415 templates/calendar.php:5 -msgid "Friday" -msgstr "Péntek" - -#: lib/object.php:416 templates/calendar.php:5 -msgid "Saturday" -msgstr "Szombat" - -#: lib/object.php:417 templates/calendar.php:5 templates/settings.php:70 -msgid "Sunday" -msgstr "Vasárnap" - -#: lib/object.php:427 -msgid "events week of month" -msgstr "hónap heteinek sorszáma" - -#: lib/object.php:428 -msgid "first" -msgstr "első" - -#: lib/object.php:429 -msgid "second" -msgstr "második" - -#: lib/object.php:430 -msgid "third" -msgstr "harmadik" - -#: lib/object.php:431 -msgid "fourth" -msgstr "negyedik" - -#: lib/object.php:432 -msgid "fifth" -msgstr "ötödik" - -#: lib/object.php:433 -msgid "last" -msgstr "utolsó" - -#: lib/object.php:467 templates/calendar.php:7 -msgid "January" -msgstr "Január" - -#: lib/object.php:468 templates/calendar.php:7 -msgid "February" -msgstr "Február" - -#: lib/object.php:469 templates/calendar.php:7 -msgid "March" -msgstr "Március" - -#: lib/object.php:470 templates/calendar.php:7 -msgid "April" -msgstr "Április" - -#: lib/object.php:471 templates/calendar.php:7 -msgid "May" -msgstr "Május" - -#: lib/object.php:472 templates/calendar.php:7 -msgid "June" -msgstr "Június" - -#: lib/object.php:473 templates/calendar.php:7 -msgid "July" -msgstr "Július" - -#: lib/object.php:474 templates/calendar.php:7 -msgid "August" -msgstr "Augusztus" - -#: lib/object.php:475 templates/calendar.php:7 -msgid "September" -msgstr "Szeptember" - -#: lib/object.php:476 templates/calendar.php:7 -msgid "October" -msgstr "Október" - -#: lib/object.php:477 templates/calendar.php:7 -msgid "November" -msgstr "November" - -#: lib/object.php:478 templates/calendar.php:7 -msgid "December" -msgstr "December" - -#: lib/object.php:488 -msgid "by events date" -msgstr "az esemény napja szerint" - -#: lib/object.php:489 -msgid "by yearday(s)" -msgstr "az év napja(i) szerint" - -#: lib/object.php:490 -msgid "by weeknumber(s)" -msgstr "a hét sorszáma szerint" - -#: lib/object.php:491 -msgid "by day and month" -msgstr "nap és hónap szerint" - -#: lib/search.php:35 lib/search.php:37 lib/search.php:40 -msgid "Date" -msgstr "Dátum" - -#: lib/search.php:43 -msgid "Cal." -msgstr "Naptár" - -#: templates/calendar.php:6 -msgid "Sun." -msgstr "" - -#: templates/calendar.php:6 -msgid "Mon." -msgstr "" - -#: templates/calendar.php:6 -msgid "Tue." -msgstr "" - -#: templates/calendar.php:6 -msgid "Wed." -msgstr "" - -#: templates/calendar.php:6 -msgid "Thu." -msgstr "" - -#: templates/calendar.php:6 -msgid "Fri." -msgstr "" - -#: templates/calendar.php:6 -msgid "Sat." -msgstr "" - -#: templates/calendar.php:8 -msgid "Jan." -msgstr "" - -#: templates/calendar.php:8 -msgid "Feb." -msgstr "" - -#: templates/calendar.php:8 -msgid "Mar." -msgstr "" - -#: templates/calendar.php:8 -msgid "Apr." -msgstr "" - -#: templates/calendar.php:8 -msgid "May." -msgstr "" - -#: templates/calendar.php:8 -msgid "Jun." -msgstr "" - -#: templates/calendar.php:8 -msgid "Jul." -msgstr "" - -#: templates/calendar.php:8 -msgid "Aug." -msgstr "" - -#: templates/calendar.php:8 -msgid "Sep." -msgstr "" - -#: templates/calendar.php:8 -msgid "Oct." -msgstr "" - -#: templates/calendar.php:8 -msgid "Nov." -msgstr "" - -#: templates/calendar.php:8 -msgid "Dec." -msgstr "" - -#: templates/calendar.php:11 -msgid "All day" -msgstr "Egész nap" - -#: templates/calendar.php:13 -msgid "Missing fields" -msgstr "Hiányzó mezők" - -#: templates/calendar.php:14 templates/part.eventform.php:19 -#: templates/part.showevent.php:11 -msgid "Title" -msgstr "Cím" - -#: templates/calendar.php:16 -msgid "From Date" -msgstr "Napjától" - -#: templates/calendar.php:17 -msgid "From Time" -msgstr "Időtől" - -#: templates/calendar.php:18 -msgid "To Date" -msgstr "Napig" - -#: templates/calendar.php:19 -msgid "To Time" -msgstr "Ideig" - -#: templates/calendar.php:20 -msgid "The event ends before it starts" -msgstr "Az esemény véget ér a kezdés előtt." - -#: templates/calendar.php:21 -msgid "There was a database fail" -msgstr "Adatbázis hiba történt" - -#: templates/calendar.php:39 -msgid "Week" -msgstr "Hét" - -#: templates/calendar.php:40 -msgid "Month" -msgstr "Hónap" - -#: templates/calendar.php:41 -msgid "List" -msgstr "Lista" - -#: templates/calendar.php:45 -msgid "Today" -msgstr "Ma" - -#: templates/calendar.php:46 templates/calendar.php:47 -msgid "Settings" -msgstr "" - -#: templates/part.choosecalendar.php:2 -msgid "Your calendars" -msgstr "Naptárjaid" - -#: templates/part.choosecalendar.php:27 -#: templates/part.choosecalendar.rowfields.php:11 -msgid "CalDav Link" -msgstr "CalDAV link" - -#: templates/part.choosecalendar.php:31 -msgid "Shared calendars" -msgstr "Megosztott naptárak" - -#: templates/part.choosecalendar.php:48 -msgid "No shared calendars" -msgstr "Nincs megosztott naptár" - -#: templates/part.choosecalendar.rowfields.php:8 -msgid "Share Calendar" -msgstr "Naptármegosztás" - -#: templates/part.choosecalendar.rowfields.php:14 -msgid "Download" -msgstr "Letöltés" - -#: templates/part.choosecalendar.rowfields.php:17 -msgid "Edit" -msgstr "Szerkesztés" - -#: templates/part.choosecalendar.rowfields.php:20 -#: templates/part.editevent.php:9 -msgid "Delete" -msgstr "Törlés" - -#: templates/part.choosecalendar.rowfields.shared.php:4 -msgid "shared with you by" -msgstr "megosztotta veled: " - -#: templates/part.editcalendar.php:9 -msgid "New calendar" -msgstr "Új naptár" - -#: templates/part.editcalendar.php:9 -msgid "Edit calendar" -msgstr "Naptár szerkesztése" - -#: templates/part.editcalendar.php:12 -msgid "Displayname" -msgstr "Megjelenítési név" - -#: templates/part.editcalendar.php:23 -msgid "Active" -msgstr "Aktív" - -#: templates/part.editcalendar.php:29 -msgid "Calendar color" -msgstr "Naptár szín" - -#: templates/part.editcalendar.php:42 -msgid "Save" -msgstr "Mentés" - -#: templates/part.editcalendar.php:42 templates/part.editevent.php:8 -#: templates/part.newevent.php:6 -msgid "Submit" -msgstr "Beküldés" - -#: templates/part.editcalendar.php:43 -msgid "Cancel" -msgstr "Mégse" - -#: templates/part.editevent.php:1 -msgid "Edit an event" -msgstr "Esemény szerkesztése" - -#: templates/part.editevent.php:10 -msgid "Export" -msgstr "Export" - -#: templates/part.eventform.php:8 templates/part.showevent.php:3 -msgid "Eventinfo" -msgstr "Eseményinfó" - -#: templates/part.eventform.php:9 templates/part.showevent.php:4 -msgid "Repeating" -msgstr "Ismétlődő" - -#: templates/part.eventform.php:10 templates/part.showevent.php:5 -msgid "Alarm" -msgstr "Riasztás" - -#: templates/part.eventform.php:11 templates/part.showevent.php:6 -msgid "Attendees" -msgstr "Résztvevők" - -#: templates/part.eventform.php:13 -msgid "Share" -msgstr "Megosztás" - -#: templates/part.eventform.php:21 -msgid "Title of the Event" -msgstr "Az esemény címe" - -#: templates/part.eventform.php:27 templates/part.showevent.php:19 -msgid "Category" -msgstr "Kategória" - -#: templates/part.eventform.php:29 -msgid "Separate categories with commas" -msgstr "Vesszővel válaszd el a kategóriákat" - -#: templates/part.eventform.php:30 -msgid "Edit categories" -msgstr "Kategóriák szerkesztése" - -#: templates/part.eventform.php:56 templates/part.showevent.php:52 -msgid "All Day Event" -msgstr "Egész napos esemény" - -#: templates/part.eventform.php:60 templates/part.showevent.php:56 -msgid "From" -msgstr "Ettől" - -#: templates/part.eventform.php:68 templates/part.showevent.php:64 -msgid "To" -msgstr "Eddig" - -#: templates/part.eventform.php:76 templates/part.showevent.php:72 -msgid "Advanced options" -msgstr "Haladó beállítások" - -#: templates/part.eventform.php:81 templates/part.showevent.php:77 -msgid "Location" -msgstr "Hely" - -#: templates/part.eventform.php:83 -msgid "Location of the Event" -msgstr "Az esemény helyszíne" - -#: templates/part.eventform.php:89 templates/part.showevent.php:85 -msgid "Description" -msgstr "Leírás" - -#: templates/part.eventform.php:91 -msgid "Description of the Event" -msgstr "Az esemény leírása" - -#: templates/part.eventform.php:100 templates/part.showevent.php:95 -msgid "Repeat" -msgstr "Ismétlés" - -#: templates/part.eventform.php:107 templates/part.showevent.php:102 -msgid "Advanced" -msgstr "Haladó" - -#: templates/part.eventform.php:151 templates/part.showevent.php:146 -msgid "Select weekdays" -msgstr "Hétköznapok kiválasztása" - -#: templates/part.eventform.php:164 templates/part.eventform.php:177 -#: templates/part.showevent.php:159 templates/part.showevent.php:172 -msgid "Select days" -msgstr "Napok kiválasztása" - -#: templates/part.eventform.php:169 templates/part.showevent.php:164 -msgid "and the events day of year." -msgstr "és az éves esemény napja." - -#: templates/part.eventform.php:182 templates/part.showevent.php:177 -msgid "and the events day of month." -msgstr "és a havi esemény napja." - -#: templates/part.eventform.php:190 templates/part.showevent.php:185 -msgid "Select months" -msgstr "Hónapok kiválasztása" - -#: templates/part.eventform.php:203 templates/part.showevent.php:198 -msgid "Select weeks" -msgstr "Hetek kiválasztása" - -#: templates/part.eventform.php:208 templates/part.showevent.php:203 -msgid "and the events week of year." -msgstr "és az heti esemény napja." - -#: templates/part.eventform.php:214 templates/part.showevent.php:209 -msgid "Interval" -msgstr "Időköz" - -#: templates/part.eventform.php:220 templates/part.showevent.php:215 -msgid "End" -msgstr "Vége" - -#: templates/part.eventform.php:233 templates/part.showevent.php:228 -msgid "occurrences" -msgstr "előfordulások" - -#: templates/part.import.php:14 -msgid "create a new calendar" -msgstr "új naptár létrehozása" - -#: templates/part.import.php:17 -msgid "Import a calendar file" -msgstr "Naptár-fájl importálása" - -#: templates/part.import.php:24 -msgid "Please choose a calendar" -msgstr "" - -#: templates/part.import.php:36 -msgid "Name of new calendar" -msgstr "Új naptár neve" - -#: templates/part.import.php:44 -msgid "Take an available name!" -msgstr "" - -#: templates/part.import.php:45 -msgid "" -"A Calendar with this name already exists. If you continue anyhow, these " -"calendars will be merged." -msgstr "" - -#: templates/part.import.php:47 -msgid "Import" -msgstr "Importálás" - -#: templates/part.import.php:56 -msgid "Close Dialog" -msgstr "Párbeszédablak bezárása" - -#: templates/part.newevent.php:1 -msgid "Create a new event" -msgstr "Új esemény létrehozása" - -#: templates/part.showevent.php:1 -msgid "View an event" -msgstr "Esemény megtekintése" - -#: templates/part.showevent.php:23 -msgid "No categories selected" -msgstr "Nincs kiválasztott kategória" - -#: templates/part.showevent.php:37 -msgid "of" -msgstr ", tulaj " - -#: templates/part.showevent.php:59 templates/part.showevent.php:67 -msgid "at" -msgstr ", " - -#: templates/settings.php:10 -msgid "General" -msgstr "" - -#: templates/settings.php:15 -msgid "Timezone" -msgstr "Időzóna" - -#: templates/settings.php:47 -msgid "Update timezone automatically" -msgstr "" - -#: templates/settings.php:52 -msgid "Time format" -msgstr "" - -#: templates/settings.php:57 -msgid "24h" -msgstr "24h" - -#: templates/settings.php:58 -msgid "12h" -msgstr "12h" - -#: templates/settings.php:64 -msgid "Start week on" -msgstr "" - -#: templates/settings.php:76 -msgid "Cache" -msgstr "" - -#: templates/settings.php:80 -msgid "Clear cache for repeating events" -msgstr "" - -#: templates/settings.php:85 -msgid "URLs" -msgstr "" - -#: templates/settings.php:87 -msgid "Calendar CalDAV syncing addresses" -msgstr "" - -#: templates/settings.php:87 -msgid "more info" -msgstr "" - -#: templates/settings.php:89 -msgid "Primary address (Kontact et al)" -msgstr "" - -#: templates/settings.php:91 -msgid "iOS/OS X" -msgstr "" - -#: templates/settings.php:93 -msgid "Read only iCalendar link(s)" -msgstr "" - -#: templates/share.dropdown.php:20 -msgid "Users" -msgstr "Felhasználók" - -#: templates/share.dropdown.php:21 -msgid "select users" -msgstr "válassz felhasználókat" - -#: templates/share.dropdown.php:36 templates/share.dropdown.php:62 -msgid "Editable" -msgstr "Szerkeszthető" - -#: templates/share.dropdown.php:48 -msgid "Groups" -msgstr "Csoportok" - -#: templates/share.dropdown.php:49 -msgid "select groups" -msgstr "válassz csoportokat" - -#: templates/share.dropdown.php:75 -msgid "make public" -msgstr "nyilvánossá tétel" diff --git a/l10n/hu_HU/contacts.po b/l10n/hu_HU/contacts.po deleted file mode 100644 index e1ab92a5a44343a563628b6219c28063dd6999d6..0000000000000000000000000000000000000000 --- a/l10n/hu_HU/contacts.po +++ /dev/null @@ -1,956 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Adam Toth , 2012. -# , 2011. -# Peter Borsa , 2011. -# Tamas Nagy , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-24 02:02+0200\n" -"PO-Revision-Date: 2012-08-24 00:03+0000\n" -"Last-Translator: I Robot \n" -"Language-Team: Hungarian (Hungary) (http://www.transifex.com/projects/p/owncloud/language/hu_HU/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: hu_HU\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: ajax/addressbook/activate.php:24 ajax/addressbook/update.php:32 -msgid "Error (de)activating addressbook." -msgstr "Címlista (de)aktiválása sikertelen" - -#: ajax/addressbook/delete.php:31 ajax/addressbook/update.php:20 -#: ajax/contact/addproperty.php:42 ajax/contact/delete.php:32 -#: ajax/contact/saveproperty.php:39 -msgid "id is not set." -msgstr "ID nincs beállítva" - -#: ajax/addressbook/update.php:24 -msgid "Cannot update addressbook with an empty name." -msgstr "Üres névvel nem frissíthető a címlista" - -#: ajax/addressbook/update.php:28 -msgid "Error updating addressbook." -msgstr "Hiba a címlista frissítésekor" - -#: ajax/categories/categoriesfor.php:17 -msgid "No ID provided" -msgstr "Nincs ID megadva" - -#: ajax/categories/categoriesfor.php:34 -msgid "Error setting checksum." -msgstr "Hiba az ellenőrzőösszeg beállításakor" - -#: ajax/categories/delete.php:19 -msgid "No categories selected for deletion." -msgstr "Nincs kiválasztva törlendő kategória" - -#: ajax/categories/delete.php:26 -msgid "No address books found." -msgstr "Nem található címlista" - -#: ajax/categories/delete.php:34 -msgid "No contacts found." -msgstr "Nem található kontakt" - -#: ajax/contact/add.php:47 -msgid "There was an error adding the contact." -msgstr "Hiba a kapcsolat hozzáadásakor" - -#: ajax/contact/addproperty.php:39 ajax/contact/saveproperty.php:36 -msgid "element name is not set." -msgstr "az elem neve nincs beállítva" - -#: ajax/contact/addproperty.php:46 -msgid "Could not parse contact: " -msgstr "" - -#: ajax/contact/addproperty.php:56 -msgid "Cannot add empty property." -msgstr "Nem adható hozzá üres tulajdonság" - -#: ajax/contact/addproperty.php:67 -msgid "At least one of the address fields has to be filled out." -msgstr "Legalább egy címmező kitöltendő" - -#: ajax/contact/addproperty.php:76 -msgid "Trying to add duplicate property: " -msgstr "Kísérlet dupla tulajdonság hozzáadására: " - -#: ajax/contact/addproperty.php:115 ajax/contact/saveproperty.php:93 -msgid "Missing IM parameter." -msgstr "" - -#: ajax/contact/addproperty.php:119 ajax/contact/saveproperty.php:97 -msgid "Unknown IM: " -msgstr "" - -#: ajax/contact/deleteproperty.php:37 -msgid "Information about vCard is incorrect. Please reload the page." -msgstr "A vCardról szóló információ helytelen. Töltsd újra az oldalt." - -#: ajax/contact/details.php:31 -msgid "Missing ID" -msgstr "Hiányzó ID" - -#: ajax/contact/details.php:36 -msgid "Error parsing VCard for ID: \"" -msgstr "VCard elemzése sikertelen a következő ID-hoz: \"" - -#: ajax/contact/saveproperty.php:42 -msgid "checksum is not set." -msgstr "az ellenőrzőösszeg nincs beállítva" - -#: ajax/contact/saveproperty.php:62 -msgid "Information about vCard is incorrect. Please reload the page: " -msgstr "Helytelen információ a vCardról. Töltse újra az oldalt: " - -#: ajax/contact/saveproperty.php:69 -msgid "Something went FUBAR. " -msgstr "Valami balul sült el." - -#: ajax/currentphoto.php:30 ajax/oc_photo.php:28 ajax/uploadphoto.php:36 -#: ajax/uploadphoto.php:68 -msgid "No contact ID was submitted." -msgstr "Nincs ID megadva a kontakthoz" - -#: ajax/currentphoto.php:36 -msgid "Error reading contact photo." -msgstr "A kontakt képének beolvasása sikertelen" - -#: ajax/currentphoto.php:48 -msgid "Error saving temporary file." -msgstr "Ideiglenes fájl mentése sikertelen" - -#: ajax/currentphoto.php:51 -msgid "The loading photo is not valid." -msgstr "A kép érvénytelen" - -#: ajax/editname.php:31 -msgid "Contact ID is missing." -msgstr "Hiányzik a kapcsolat ID" - -#: ajax/oc_photo.php:32 -msgid "No photo path was submitted." -msgstr "Nincs fénykép-útvonal megadva" - -#: ajax/oc_photo.php:39 -msgid "File doesn't exist:" -msgstr "A fájl nem létezik:" - -#: ajax/oc_photo.php:44 ajax/oc_photo.php:47 -msgid "Error loading image." -msgstr "Kép betöltése sikertelen" - -#: ajax/savecrop.php:69 -msgid "Error getting contact object." -msgstr "A kontakt-objektum feldolgozása sikertelen" - -#: ajax/savecrop.php:79 -msgid "Error getting PHOTO property." -msgstr "A PHOTO-tulajdonság feldolgozása sikertelen" - -#: ajax/savecrop.php:98 -msgid "Error saving contact." -msgstr "A kontakt mentése sikertelen" - -#: ajax/savecrop.php:109 -msgid "Error resizing image" -msgstr "Képméretezés sikertelen" - -#: ajax/savecrop.php:112 -msgid "Error cropping image" -msgstr "Képvágás sikertelen" - -#: ajax/savecrop.php:115 -msgid "Error creating temporary image" -msgstr "Ideiglenes kép létrehozása sikertelen" - -#: ajax/savecrop.php:118 -msgid "Error finding image: " -msgstr "A kép nem található" - -#: ajax/uploadimport.php:44 ajax/uploadimport.php:76 -msgid "Error uploading contacts to storage." -msgstr "Hiba a kapcsolatok feltöltésekor" - -#: ajax/uploadimport.php:61 ajax/uploadphoto.php:77 -msgid "There is no error, the file uploaded with success" -msgstr "Nincs hiba, a fájl sikeresen feltöltődött" - -#: ajax/uploadimport.php:62 ajax/uploadphoto.php:78 -msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" -msgstr "A feltöltött fájl mérete meghaladja az upload_max_filesize értéket a php.ini-ben" - -#: ajax/uploadimport.php:63 ajax/uploadphoto.php:79 -msgid "" -"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " -"the HTML form" -msgstr "A feltöltött fájl mérete meghaladja a HTML form-ban megadott MAX_FILE_SIZE értéket" - -#: ajax/uploadimport.php:64 ajax/uploadphoto.php:80 -msgid "The uploaded file was only partially uploaded" -msgstr "A fájl csak részlegesen lett feltöltve" - -#: ajax/uploadimport.php:65 ajax/uploadphoto.php:81 -msgid "No file was uploaded" -msgstr "Nincs feltöltött fájl" - -#: ajax/uploadimport.php:66 ajax/uploadphoto.php:82 -msgid "Missing a temporary folder" -msgstr "Hiányzik az ideiglenes könyvtár" - -#: ajax/uploadphoto.php:59 ajax/uploadphoto.php:109 -msgid "Couldn't save temporary image: " -msgstr "Ideiglenes kép létrehozása sikertelen" - -#: ajax/uploadphoto.php:62 ajax/uploadphoto.php:112 -msgid "Couldn't load temporary image: " -msgstr "Ideiglenes kép betöltése sikertelen" - -#: ajax/uploadphoto.php:71 -msgid "No file was uploaded. Unknown error" -msgstr "Nem történt feltöltés. Ismeretlen hiba" - -#: appinfo/app.php:21 -msgid "Contacts" -msgstr "Kapcsolatok" - -#: js/contacts.js:71 -msgid "Sorry, this functionality has not been implemented yet" -msgstr "Sajnáljuk, ez a funkció még nem támogatott" - -#: js/contacts.js:71 -msgid "Not implemented" -msgstr "Nem támogatott" - -#: js/contacts.js:76 -msgid "Couldn't get a valid address." -msgstr "Érvényes cím lekérése sikertelen" - -#: js/contacts.js:76 js/contacts.js:365 js/contacts.js:381 js/contacts.js:393 -#: js/contacts.js:723 js/contacts.js:763 js/contacts.js:789 js/contacts.js:921 -#: js/contacts.js:927 js/contacts.js:939 js/contacts.js:976 -#: js/contacts.js:1250 js/contacts.js:1258 js/contacts.js:1267 -#: js/contacts.js:1302 js/contacts.js:1338 js/contacts.js:1353 -#: js/contacts.js:1379 js/contacts.js:1609 js/contacts.js:1644 -#: js/contacts.js:1664 js/settings.js:26 js/settings.js:43 js/settings.js:68 -msgid "Error" -msgstr "Hiba" - -#: js/contacts.js:424 -msgid "You do not have permission to add contacts to " -msgstr "" - -#: js/contacts.js:425 -msgid "Please select one of your own address books." -msgstr "" - -#: js/contacts.js:425 -msgid "Permission error" -msgstr "" - -#: js/contacts.js:763 -msgid "This property has to be non-empty." -msgstr "Ezt a tulajdonságot muszáj kitölteni" - -#: js/contacts.js:789 -msgid "Couldn't serialize elements." -msgstr "Sorbarakás sikertelen" - -#: js/contacts.js:921 js/contacts.js:939 -msgid "" -"'deleteProperty' called without type argument. Please report at " -"bugs.owncloud.org" -msgstr "A 'deleteProperty' argumentum nélkül lett meghívva. Kérjük, jelezze a hibát." - -#: js/contacts.js:958 -msgid "Edit name" -msgstr "Név szerkesztése" - -#: js/contacts.js:1250 -msgid "No files selected for upload." -msgstr "Nincs kiválasztva feltöltendő fájl" - -#: js/contacts.js:1258 -msgid "" -"The file you are trying to upload exceed the maximum size for file uploads " -"on this server." -msgstr "A feltöltendő fájl mérete meghaladja a megengedett mértéket" - -#: js/contacts.js:1322 -msgid "Error loading profile picture." -msgstr "" - -#: js/contacts.js:1457 js/contacts.js:1498 js/contacts.js:1517 -#: js/contacts.js:1560 -msgid "Select type" -msgstr "Típus kiválasztása" - -#: js/contacts.js:1578 -msgid "" -"Some contacts are marked for deletion, but not deleted yet. Please wait for " -"them to be deleted." -msgstr "" - -#: js/contacts.js:1649 -msgid "Do you want to merge these address books?" -msgstr "" - -#: js/loader.js:49 -msgid "Result: " -msgstr "Eredmény: " - -#: js/loader.js:49 -msgid " imported, " -msgstr " beimportálva, " - -#: js/loader.js:49 -msgid " failed." -msgstr " sikertelen" - -#: js/settings.js:68 -msgid "Displayname cannot be empty." -msgstr "" - -#: lib/app.php:36 -msgid "Addressbook not found: " -msgstr "" - -#: lib/app.php:52 -msgid "This is not your addressbook." -msgstr "Ez nem a te címjegyzéked." - -#: lib/app.php:71 -msgid "Contact could not be found." -msgstr "Kapcsolat nem található." - -#: lib/app.php:116 -msgid "Jabber" -msgstr "" - -#: lib/app.php:121 -msgid "AIM" -msgstr "" - -#: lib/app.php:126 -msgid "MSN" -msgstr "" - -#: lib/app.php:131 -msgid "Twitter" -msgstr "" - -#: lib/app.php:136 -msgid "GoogleTalk" -msgstr "" - -#: lib/app.php:141 -msgid "Facebook" -msgstr "" - -#: lib/app.php:146 -msgid "XMPP" -msgstr "" - -#: lib/app.php:151 -msgid "ICQ" -msgstr "" - -#: lib/app.php:156 -msgid "Yahoo" -msgstr "" - -#: lib/app.php:161 -msgid "Skype" -msgstr "" - -#: lib/app.php:166 -msgid "QQ" -msgstr "" - -#: lib/app.php:171 -msgid "GaduGadu" -msgstr "" - -#: lib/app.php:194 lib/app.php:202 lib/app.php:213 lib/app.php:266 -msgid "Work" -msgstr "Munkahelyi" - -#: lib/app.php:195 lib/app.php:200 lib/app.php:214 -msgid "Home" -msgstr "Otthoni" - -#: lib/app.php:196 lib/app.php:209 lib/app.php:262 lib/vcard.php:593 -msgid "Other" -msgstr "" - -#: lib/app.php:201 -msgid "Mobile" -msgstr "Mobiltelefonszám" - -#: lib/app.php:203 -msgid "Text" -msgstr "Szöveg" - -#: lib/app.php:204 -msgid "Voice" -msgstr "Hang" - -#: lib/app.php:205 -msgid "Message" -msgstr "Üzenet" - -#: lib/app.php:206 -msgid "Fax" -msgstr "Fax" - -#: lib/app.php:207 -msgid "Video" -msgstr "Video" - -#: lib/app.php:208 -msgid "Pager" -msgstr "Személyhívó" - -#: lib/app.php:215 -msgid "Internet" -msgstr "Internet" - -#: lib/app.php:252 templates/part.contact.php:45 -#: templates/part.contact.php:128 -msgid "Birthday" -msgstr "Születésnap" - -#: lib/app.php:253 -msgid "Business" -msgstr "" - -#: lib/app.php:254 -msgid "Call" -msgstr "" - -#: lib/app.php:255 -msgid "Clients" -msgstr "" - -#: lib/app.php:256 -msgid "Deliverer" -msgstr "" - -#: lib/app.php:257 -msgid "Holidays" -msgstr "" - -#: lib/app.php:258 -msgid "Ideas" -msgstr "" - -#: lib/app.php:259 -msgid "Journey" -msgstr "" - -#: lib/app.php:260 -msgid "Jubilee" -msgstr "" - -#: lib/app.php:261 -msgid "Meeting" -msgstr "" - -#: lib/app.php:263 -msgid "Personal" -msgstr "" - -#: lib/app.php:264 -msgid "Projects" -msgstr "" - -#: lib/app.php:265 -msgid "Questions" -msgstr "" - -#: lib/hooks.php:102 -msgid "{name}'s Birthday" -msgstr "{name} születésnapja" - -#: lib/search.php:15 -msgid "Contact" -msgstr "Kapcsolat" - -#: lib/vcard.php:408 -msgid "You do not have the permissions to edit this contact." -msgstr "" - -#: lib/vcard.php:483 -msgid "You do not have the permissions to delete this contact." -msgstr "" - -#: templates/index.php:14 -msgid "Add Contact" -msgstr "Kapcsolat hozzáadása" - -#: templates/index.php:15 templates/index.php:16 templates/part.import.php:17 -msgid "Import" -msgstr "Import" - -#: templates/index.php:18 -msgid "Settings" -msgstr "" - -#: templates/index.php:18 templates/settings.php:9 -msgid "Addressbooks" -msgstr "Címlisták" - -#: templates/index.php:36 templates/part.import.php:24 -msgid "Close" -msgstr "Bezár" - -#: templates/index.php:37 -msgid "Keyboard shortcuts" -msgstr "" - -#: templates/index.php:39 -msgid "Navigation" -msgstr "" - -#: templates/index.php:42 -msgid "Next contact in list" -msgstr "" - -#: templates/index.php:44 -msgid "Previous contact in list" -msgstr "" - -#: templates/index.php:46 -msgid "Expand/collapse current addressbook" -msgstr "" - -#: templates/index.php:48 -msgid "Next addressbook" -msgstr "" - -#: templates/index.php:50 -msgid "Previous addressbook" -msgstr "" - -#: templates/index.php:54 -msgid "Actions" -msgstr "" - -#: templates/index.php:57 -msgid "Refresh contacts list" -msgstr "" - -#: templates/index.php:59 -msgid "Add new contact" -msgstr "" - -#: templates/index.php:61 -msgid "Add new addressbook" -msgstr "" - -#: templates/index.php:63 -msgid "Delete current contact" -msgstr "" - -#: templates/part.contact.php:17 -msgid "Drop photo to upload" -msgstr "Húzza ide a feltöltendő képet" - -#: templates/part.contact.php:19 -msgid "Delete current photo" -msgstr "Aktuális kép törlése" - -#: templates/part.contact.php:20 -msgid "Edit current photo" -msgstr "Aktuális kép szerkesztése" - -#: templates/part.contact.php:21 -msgid "Upload new photo" -msgstr "Új kép feltöltése" - -#: templates/part.contact.php:22 -msgid "Select photo from ownCloud" -msgstr "Kép kiválasztása ownCloud-ból" - -#: templates/part.contact.php:35 -msgid "Format custom, Short name, Full name, Reverse or Reverse with comma" -msgstr "Formátum egyedi, Rövid név, Teljes név, Visszafelé vagy Visszafelé vesszővel" - -#: templates/part.contact.php:36 -msgid "Edit name details" -msgstr "Név részleteinek szerkesztése" - -#: templates/part.contact.php:39 templates/part.contact.php:40 -#: templates/part.contact.php:126 -msgid "Organization" -msgstr "Szervezet" - -#: templates/part.contact.php:40 templates/part.contact.php:42 -#: templates/part.contact.php:44 templates/part.contact.php:46 -#: templates/part.contact.php:50 templates/settings.php:36 -msgid "Delete" -msgstr "Törlés" - -#: templates/part.contact.php:41 templates/part.contact.php:127 -msgid "Nickname" -msgstr "Becenév" - -#: templates/part.contact.php:42 -msgid "Enter nickname" -msgstr "Becenév megadása" - -#: templates/part.contact.php:43 templates/part.contact.php:134 -msgid "Web site" -msgstr "" - -#: templates/part.contact.php:44 -msgid "http://www.somesite.com" -msgstr "" - -#: templates/part.contact.php:44 -msgid "Go to web site" -msgstr "" - -#: templates/part.contact.php:46 -msgid "dd-mm-yyyy" -msgstr "yyyy-mm-dd" - -#: templates/part.contact.php:47 templates/part.contact.php:135 -msgid "Groups" -msgstr "Csoportok" - -#: templates/part.contact.php:49 -msgid "Separate groups with commas" -msgstr "Vesszővel válassza el a csoportokat" - -#: templates/part.contact.php:50 -msgid "Edit groups" -msgstr "Csoportok szerkesztése" - -#: templates/part.contact.php:59 templates/part.contact.php:73 -#: templates/part.contact.php:98 -msgid "Preferred" -msgstr "Előnyben részesített" - -#: templates/part.contact.php:60 -msgid "Please specify a valid email address." -msgstr "Adjon meg érvényes email címet" - -#: templates/part.contact.php:60 -msgid "Enter email address" -msgstr "Adja meg az email címet" - -#: templates/part.contact.php:64 -msgid "Mail to address" -msgstr "Postai cím" - -#: templates/part.contact.php:65 -msgid "Delete email address" -msgstr "Email cím törlése" - -#: templates/part.contact.php:75 -msgid "Enter phone number" -msgstr "Adja meg a telefonszámot" - -#: templates/part.contact.php:79 -msgid "Delete phone number" -msgstr "Telefonszám törlése" - -#: templates/part.contact.php:100 -msgid "Instant Messenger" -msgstr "" - -#: templates/part.contact.php:101 -msgid "Delete IM" -msgstr "" - -#: templates/part.contact.php:110 -msgid "View on map" -msgstr "Megtekintés a térképen" - -#: templates/part.contact.php:110 -msgid "Edit address details" -msgstr "Cím részleteinek szerkesztése" - -#: templates/part.contact.php:116 -msgid "Add notes here." -msgstr "Megjegyzések" - -#: templates/part.contact.php:124 -msgid "Add field" -msgstr "Mező hozzáadása" - -#: templates/part.contact.php:129 -msgid "Phone" -msgstr "Telefonszám" - -#: templates/part.contact.php:130 -msgid "Email" -msgstr "E-mail" - -#: templates/part.contact.php:131 -msgid "Instant Messaging" -msgstr "" - -#: templates/part.contact.php:132 -msgid "Address" -msgstr "Cím" - -#: templates/part.contact.php:133 -msgid "Note" -msgstr "Jegyzet" - -#: templates/part.contact.php:138 -msgid "Download contact" -msgstr "Kapcsolat letöltése" - -#: templates/part.contact.php:139 -msgid "Delete contact" -msgstr "Kapcsolat törlése" - -#: templates/part.cropphoto.php:65 -msgid "The temporary image has been removed from cache." -msgstr "Az ideiglenes kép el lett távolítva a gyorsítótárból" - -#: templates/part.edit_address_dialog.php:6 -msgid "Edit address" -msgstr "Cím szerkesztése" - -#: templates/part.edit_address_dialog.php:10 -msgid "Type" -msgstr "Típus" - -#: templates/part.edit_address_dialog.php:18 -#: templates/part.edit_address_dialog.php:21 -msgid "PO Box" -msgstr "Postafiók" - -#: templates/part.edit_address_dialog.php:24 -msgid "Street address" -msgstr "" - -#: templates/part.edit_address_dialog.php:27 -msgid "Street and number" -msgstr "" - -#: templates/part.edit_address_dialog.php:30 -msgid "Extended" -msgstr "Kiterjesztett" - -#: templates/part.edit_address_dialog.php:33 -msgid "Apartment number etc." -msgstr "" - -#: templates/part.edit_address_dialog.php:36 -#: templates/part.edit_address_dialog.php:39 -msgid "City" -msgstr "Város" - -#: templates/part.edit_address_dialog.php:42 -msgid "Region" -msgstr "Megye" - -#: templates/part.edit_address_dialog.php:45 -msgid "E.g. state or province" -msgstr "" - -#: templates/part.edit_address_dialog.php:48 -msgid "Zipcode" -msgstr "Irányítószám" - -#: templates/part.edit_address_dialog.php:51 -msgid "Postal code" -msgstr "" - -#: templates/part.edit_address_dialog.php:54 -#: templates/part.edit_address_dialog.php:57 -msgid "Country" -msgstr "Ország" - -#: templates/part.edit_name_dialog.php:16 -msgid "Addressbook" -msgstr "Címlista" - -#: templates/part.edit_name_dialog.php:23 -msgid "Hon. prefixes" -msgstr "Előtag" - -#: templates/part.edit_name_dialog.php:27 -msgid "Miss" -msgstr "Miss" - -#: templates/part.edit_name_dialog.php:28 -msgid "Ms" -msgstr "Ms" - -#: templates/part.edit_name_dialog.php:29 -msgid "Mr" -msgstr "Mr" - -#: templates/part.edit_name_dialog.php:30 -msgid "Sir" -msgstr "Sir" - -#: templates/part.edit_name_dialog.php:31 -msgid "Mrs" -msgstr "Mrs" - -#: templates/part.edit_name_dialog.php:32 -msgid "Dr" -msgstr "Dr." - -#: templates/part.edit_name_dialog.php:35 -msgid "Given name" -msgstr "Teljes név" - -#: templates/part.edit_name_dialog.php:37 -msgid "Additional names" -msgstr "További nevek" - -#: templates/part.edit_name_dialog.php:39 -msgid "Family name" -msgstr "Családnév" - -#: templates/part.edit_name_dialog.php:41 -msgid "Hon. suffixes" -msgstr "Utótag" - -#: templates/part.edit_name_dialog.php:45 -msgid "J.D." -msgstr "J.D." - -#: templates/part.edit_name_dialog.php:46 -msgid "M.D." -msgstr "M.D." - -#: templates/part.edit_name_dialog.php:47 -msgid "D.O." -msgstr "D.O." - -#: templates/part.edit_name_dialog.php:48 -msgid "D.C." -msgstr "D.C." - -#: templates/part.edit_name_dialog.php:49 -msgid "Ph.D." -msgstr "Ph.D." - -#: templates/part.edit_name_dialog.php:50 -msgid "Esq." -msgstr "Esq." - -#: templates/part.edit_name_dialog.php:51 -msgid "Jr." -msgstr "Ifj." - -#: templates/part.edit_name_dialog.php:52 -msgid "Sn." -msgstr "Id." - -#: templates/part.import.php:1 -msgid "Import a contacts file" -msgstr "Kapcsolat-fájl importálása" - -#: templates/part.import.php:6 -msgid "Please choose the addressbook" -msgstr "Válassza ki a címlistát" - -#: templates/part.import.php:10 -msgid "create a new addressbook" -msgstr "Címlista létrehozása" - -#: templates/part.import.php:15 -msgid "Name of new addressbook" -msgstr "Új címlista neve" - -#: templates/part.import.php:20 -msgid "Importing contacts" -msgstr "Kapcsolatok importálása" - -#: templates/part.no_contacts.php:3 -msgid "You have no contacts in your addressbook." -msgstr "Nincsenek kapcsolatok a címlistában" - -#: templates/part.no_contacts.php:5 -msgid "Add contact" -msgstr "Kapcsolat hozzáadása" - -#: templates/part.selectaddressbook.php:1 -msgid "Select Address Books" -msgstr "" - -#: templates/part.selectaddressbook.php:27 -msgid "Enter name" -msgstr "" - -#: templates/part.selectaddressbook.php:29 -msgid "Enter description" -msgstr "" - -#: templates/settings.php:3 -msgid "CardDAV syncing addresses" -msgstr "CardDAV szinkronizációs címek" - -#: templates/settings.php:3 -msgid "more info" -msgstr "további információ" - -#: templates/settings.php:5 -msgid "Primary address (Kontact et al)" -msgstr "Elsődleges cím" - -#: templates/settings.php:7 -msgid "iOS/OS X" -msgstr "iOS/OS X" - -#: templates/settings.php:20 -msgid "Show CardDav link" -msgstr "" - -#: templates/settings.php:23 -msgid "Show read-only VCF link" -msgstr "" - -#: templates/settings.php:26 -msgid "Share" -msgstr "" - -#: templates/settings.php:29 -msgid "Download" -msgstr "Letöltés" - -#: templates/settings.php:33 -msgid "Edit" -msgstr "Szerkesztés" - -#: templates/settings.php:43 -msgid "New Address Book" -msgstr "Új címlista" - -#: templates/settings.php:44 -msgid "Name" -msgstr "" - -#: templates/settings.php:45 -msgid "Description" -msgstr "" - -#: templates/settings.php:46 -msgid "Save" -msgstr "Mentés" - -#: templates/settings.php:47 -msgid "Cancel" -msgstr "Mégsem" - -#: templates/settings.php:52 -msgid "More..." -msgstr "" diff --git a/l10n/hu_HU/core.po b/l10n/hu_HU/core.po index 20cf6de2f5d92b2b8e29717bad3854950cdefa53..7f656a4ac7ff3dba5f0afe626a8f7e47b4bc31cb 100644 --- a/l10n/hu_HU/core.po +++ b/l10n/hu_HU/core.po @@ -10,9 +10,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-16 02:04+0200\n" -"PO-Revision-Date: 2012-10-16 00:05+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-11-16 00:02+0100\n" +"PO-Revision-Date: 2012-11-14 23:13+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Hungarian (Hungary) (http://www.transifex.com/projects/p/owncloud/language/hu_HU/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -20,209 +20,241 @@ msgstr "" "Language: hu_HU\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: ajax/vcategories/add.php:23 ajax/vcategories/delete.php:23 -msgid "Application name not provided." -msgstr "Alkalmazásnév hiányzik" +#: ajax/vcategories/add.php:26 ajax/vcategories/edit.php:25 +msgid "Category type not provided." +msgstr "" -#: ajax/vcategories/add.php:29 +#: ajax/vcategories/add.php:30 msgid "No category to add?" msgstr "Nincs hozzáadandó kategória?" -#: ajax/vcategories/add.php:36 +#: ajax/vcategories/add.php:37 msgid "This category already exists: " msgstr "Ez a kategória már létezik" -#: js/js.js:238 templates/layout.user.php:49 templates/layout.user.php:50 +#: ajax/vcategories/addToFavorites.php:26 ajax/vcategories/delete.php:27 +#: ajax/vcategories/favorites.php:24 +#: ajax/vcategories/removeFromFavorites.php:26 +msgid "Object type not provided." +msgstr "" + +#: ajax/vcategories/addToFavorites.php:30 +#: ajax/vcategories/removeFromFavorites.php:30 +#, php-format +msgid "%s ID not provided." +msgstr "" + +#: ajax/vcategories/addToFavorites.php:35 +#, php-format +msgid "Error adding %s to favorites." +msgstr "" + +#: ajax/vcategories/delete.php:35 js/oc-vcategories.js:136 +msgid "No categories selected for deletion." +msgstr "Nincs törlésre jelölt kategória" + +#: ajax/vcategories/removeFromFavorites.php:35 +#, php-format +msgid "Error removing %s from favorites." +msgstr "" + +#: js/js.js:243 templates/layout.user.php:59 templates/layout.user.php:60 msgid "Settings" msgstr "Beállítások" -#: js/js.js:670 -msgid "January" -msgstr "Január" +#: js/js.js:688 +msgid "seconds ago" +msgstr "másodperccel ezelőtt" -#: js/js.js:670 -msgid "February" -msgstr "Február" +#: js/js.js:689 +msgid "1 minute ago" +msgstr "1 perccel ezelőtt" -#: js/js.js:670 -msgid "March" -msgstr "Március" +#: js/js.js:690 +msgid "{minutes} minutes ago" +msgstr "" -#: js/js.js:670 -msgid "April" -msgstr "Április" +#: js/js.js:691 +msgid "1 hour ago" +msgstr "" -#: js/js.js:670 -msgid "May" -msgstr "Május" +#: js/js.js:692 +msgid "{hours} hours ago" +msgstr "" -#: js/js.js:670 -msgid "June" -msgstr "Június" +#: js/js.js:693 +msgid "today" +msgstr "ma" -#: js/js.js:671 -msgid "July" -msgstr "Július" +#: js/js.js:694 +msgid "yesterday" +msgstr "tegnap" -#: js/js.js:671 -msgid "August" -msgstr "Augusztus" +#: js/js.js:695 +msgid "{days} days ago" +msgstr "" -#: js/js.js:671 -msgid "September" -msgstr "Szeptember" +#: js/js.js:696 +msgid "last month" +msgstr "múlt hónapban" -#: js/js.js:671 -msgid "October" -msgstr "Október" +#: js/js.js:697 +msgid "{months} months ago" +msgstr "" -#: js/js.js:671 -msgid "November" -msgstr "November" +#: js/js.js:698 +msgid "months ago" +msgstr "hónappal ezelőtt" -#: js/js.js:671 -msgid "December" -msgstr "December" +#: js/js.js:699 +msgid "last year" +msgstr "tavaly" -#: js/oc-dialogs.js:123 +#: js/js.js:700 +msgid "years ago" +msgstr "évvel ezelőtt" + +#: js/oc-dialogs.js:126 msgid "Choose" msgstr "" -#: js/oc-dialogs.js:143 js/oc-dialogs.js:163 +#: js/oc-dialogs.js:146 js/oc-dialogs.js:166 msgid "Cancel" msgstr "Mégse" -#: js/oc-dialogs.js:159 +#: js/oc-dialogs.js:162 msgid "No" msgstr "Nem" -#: js/oc-dialogs.js:160 +#: js/oc-dialogs.js:163 msgid "Yes" msgstr "Igen" -#: js/oc-dialogs.js:177 +#: js/oc-dialogs.js:180 msgid "Ok" msgstr "Ok" -#: js/oc-vcategories.js:68 -msgid "No categories selected for deletion." -msgstr "Nincs törlésre jelölt kategória" +#: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102 +#: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162 +msgid "The object type is not specified." +msgstr "" -#: js/oc-vcategories.js:68 js/share.js:114 js/share.js:121 js/share.js:497 -#: js/share.js:509 +#: js/oc-vcategories.js:95 js/oc-vcategories.js:125 js/oc-vcategories.js:136 +#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:525 +#: js/share.js:537 msgid "Error" msgstr "Hiba" -#: js/share.js:103 +#: js/oc-vcategories.js:179 +msgid "The app name is not specified." +msgstr "" + +#: js/oc-vcategories.js:194 +msgid "The required file {file} is not installed!" +msgstr "" + +#: js/share.js:124 msgid "Error while sharing" msgstr "" -#: js/share.js:114 +#: js/share.js:135 msgid "Error while unsharing" msgstr "" -#: js/share.js:121 +#: js/share.js:142 msgid "Error while changing permissions" msgstr "" -#: js/share.js:130 -msgid "Shared with you and the group" -msgstr "" - -#: js/share.js:130 -msgid "by" +#: js/share.js:151 +msgid "Shared with you and the group {group} by {owner}" msgstr "" -#: js/share.js:132 -msgid "Shared with you by" +#: js/share.js:153 +msgid "Shared with you by {owner}" msgstr "" -#: js/share.js:137 +#: js/share.js:158 msgid "Share with" msgstr "" -#: js/share.js:142 +#: js/share.js:163 msgid "Share with link" msgstr "" -#: js/share.js:143 +#: js/share.js:164 msgid "Password protect" msgstr "" -#: js/share.js:147 templates/installation.php:42 templates/login.php:24 +#: js/share.js:168 templates/installation.php:42 templates/login.php:24 #: templates/verify.php:13 msgid "Password" msgstr "Jelszó" -#: js/share.js:152 +#: js/share.js:173 msgid "Set expiration date" msgstr "" -#: js/share.js:153 +#: js/share.js:174 msgid "Expiration date" msgstr "" -#: js/share.js:185 +#: js/share.js:206 msgid "Share via email:" msgstr "" -#: js/share.js:187 +#: js/share.js:208 msgid "No people found" msgstr "" -#: js/share.js:214 +#: js/share.js:235 msgid "Resharing is not allowed" msgstr "" -#: js/share.js:250 -msgid "Shared in" -msgstr "" - -#: js/share.js:250 -msgid "with" +#: js/share.js:271 +msgid "Shared in {item} with {user}" msgstr "" -#: js/share.js:271 +#: js/share.js:292 msgid "Unshare" -msgstr "" +msgstr "Nem oszt meg" -#: js/share.js:283 +#: js/share.js:304 msgid "can edit" msgstr "" -#: js/share.js:285 +#: js/share.js:306 msgid "access control" msgstr "" -#: js/share.js:288 +#: js/share.js:309 msgid "create" -msgstr "" +msgstr "létrehozás" -#: js/share.js:291 +#: js/share.js:312 msgid "update" msgstr "" -#: js/share.js:294 +#: js/share.js:315 msgid "delete" msgstr "" -#: js/share.js:297 +#: js/share.js:318 msgid "share" msgstr "" -#: js/share.js:322 js/share.js:484 +#: js/share.js:343 js/share.js:512 js/share.js:514 msgid "Password protected" msgstr "" -#: js/share.js:497 +#: js/share.js:525 msgid "Error unsetting expiration date" msgstr "" -#: js/share.js:509 +#: js/share.js:537 msgid "Error setting expiration date" msgstr "" -#: lostpassword/index.php:26 +#: lostpassword/controller.php:47 msgid "ownCloud password reset" msgstr "ownCloud jelszó-visszaállítás" @@ -235,12 +267,12 @@ msgid "You will receive a link to reset your password via Email." msgstr "Egy e-mailben kap értesítést a jelszóváltoztatás módjáról." #: lostpassword/templates/lostpassword.php:5 -msgid "Requested" -msgstr "Kérés elküldve" +msgid "Reset email send." +msgstr "" #: lostpassword/templates/lostpassword.php:8 -msgid "Login failed!" -msgstr "Belépés sikertelen!" +msgid "Request failed!" +msgstr "" #: lostpassword/templates/lostpassword.php:11 templates/installation.php:38 #: templates/login.php:20 @@ -299,13 +331,13 @@ msgstr "A felhő nem található" msgid "Edit categories" msgstr "Kategóriák szerkesztése" -#: templates/edit_categories_dialog.php:14 +#: templates/edit_categories_dialog.php:16 msgid "Add" msgstr "Hozzáadás" #: templates/installation.php:23 templates/installation.php:31 msgid "Security Warning" -msgstr "" +msgstr "Biztonsági figyelmeztetés" #: templates/installation.php:24 msgid "" @@ -373,11 +405,87 @@ msgstr "Adatbázis szerver" msgid "Finish setup" msgstr "Beállítás befejezése" -#: templates/layout.guest.php:38 +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Sunday" +msgstr "Vasárnap" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Monday" +msgstr "Hétfő" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Tuesday" +msgstr "Kedd" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Wednesday" +msgstr "Szerda" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Thursday" +msgstr "Csütörtök" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Friday" +msgstr "Péntek" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Saturday" +msgstr "Szombat" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "January" +msgstr "Január" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "February" +msgstr "Február" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "March" +msgstr "Március" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "April" +msgstr "Április" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "May" +msgstr "Május" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "June" +msgstr "Június" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "July" +msgstr "Július" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "August" +msgstr "Augusztus" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "September" +msgstr "Szeptember" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "October" +msgstr "Október" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "November" +msgstr "November" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "December" +msgstr "December" + +#: templates/layout.guest.php:41 msgid "web services under your control" msgstr "webszolgáltatások az irányításod alatt" -#: templates/layout.user.php:34 +#: templates/layout.user.php:44 msgid "Log out" msgstr "Kilépés" diff --git a/l10n/hu_HU/files.po b/l10n/hu_HU/files.po index bd28c3b21e4abe710848bbfcaf182660ed879704..cddd901f0787dc12153f3ee13de35f8016244c2f 100644 --- a/l10n/hu_HU/files.po +++ b/l10n/hu_HU/files.po @@ -10,9 +10,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-09-26 13:19+0200\n" -"PO-Revision-Date: 2012-09-26 11:20+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-12-01 00:01+0100\n" +"PO-Revision-Date: 2012-11-30 23:02+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Hungarian (Hungary) (http://www.transifex.com/projects/p/owncloud/language/hu_HU/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -25,194 +25,165 @@ msgid "There is no error, the file uploaded with success" msgstr "Nincs hiba, a fájl sikeresen feltöltve." #: ajax/upload.php:21 -msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" -msgstr "A feltöltött file meghaladja az upload_max_filesize direktívát a php.ini-ben." +msgid "" +"The uploaded file exceeds the upload_max_filesize directive in php.ini: " +msgstr "" -#: ajax/upload.php:22 +#: ajax/upload.php:23 msgid "" "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " "the HTML form" msgstr "A feltöltött fájl meghaladja a MAX_FILE_SIZE direktívát ami meghatározott a HTML form-ban." -#: ajax/upload.php:23 +#: ajax/upload.php:25 msgid "The uploaded file was only partially uploaded" msgstr "Az eredeti fájl csak részlegesen van feltöltve." -#: ajax/upload.php:24 +#: ajax/upload.php:26 msgid "No file was uploaded" msgstr "Nem lett fájl feltöltve." -#: ajax/upload.php:25 +#: ajax/upload.php:27 msgid "Missing a temporary folder" msgstr "Hiányzik az ideiglenes könyvtár" -#: ajax/upload.php:26 +#: ajax/upload.php:28 msgid "Failed to write to disk" msgstr "Nem írható lemezre" -#: appinfo/app.php:6 +#: appinfo/app.php:10 msgid "Files" msgstr "Fájlok" -#: js/fileactions.js:108 templates/index.php:62 +#: js/fileactions.js:117 templates/index.php:83 templates/index.php:84 msgid "Unshare" -msgstr "" +msgstr "Nem oszt meg" -#: js/fileactions.js:110 templates/index.php:64 +#: js/fileactions.js:119 templates/index.php:89 templates/index.php:90 msgid "Delete" msgstr "Törlés" -#: js/fileactions.js:182 +#: js/fileactions.js:181 msgid "Rename" msgstr "" -#: js/filelist.js:190 js/filelist.js:192 -msgid "already exists" -msgstr "már létezik" +#: js/filelist.js:201 js/filelist.js:203 +msgid "{new_name} already exists" +msgstr "" -#: js/filelist.js:190 js/filelist.js:192 +#: js/filelist.js:201 js/filelist.js:203 msgid "replace" msgstr "cserél" -#: js/filelist.js:190 +#: js/filelist.js:201 msgid "suggest name" msgstr "" -#: js/filelist.js:190 js/filelist.js:192 +#: js/filelist.js:201 js/filelist.js:203 msgid "cancel" msgstr "mégse" -#: js/filelist.js:239 js/filelist.js:241 -msgid "replaced" -msgstr "kicserélve" +#: js/filelist.js:250 +msgid "replaced {new_name}" +msgstr "" -#: js/filelist.js:239 js/filelist.js:241 js/filelist.js:273 js/filelist.js:275 +#: js/filelist.js:250 js/filelist.js:252 js/filelist.js:284 js/filelist.js:286 msgid "undo" msgstr "visszavon" -#: js/filelist.js:241 -msgid "with" -msgstr "-val/-vel" +#: js/filelist.js:252 +msgid "replaced {new_name} with {old_name}" +msgstr "" + +#: js/filelist.js:284 +msgid "unshared {files}" +msgstr "" -#: js/filelist.js:273 -msgid "unshared" +#: js/filelist.js:286 +msgid "deleted {files}" msgstr "" -#: js/filelist.js:275 -msgid "deleted" -msgstr "törölve" +#: js/files.js:33 +msgid "" +"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not " +"allowed." +msgstr "" -#: js/files.js:179 +#: js/files.js:183 msgid "generating ZIP-file, it may take some time." msgstr "ZIP-fájl generálása, ez eltarthat egy ideig." -#: js/files.js:208 +#: js/files.js:218 msgid "Unable to upload your file as it is a directory or has 0 bytes" msgstr "Nem tölthető fel, mert mappa volt, vagy 0 byte méretű" -#: js/files.js:208 +#: js/files.js:218 msgid "Upload Error" msgstr "Feltöltési hiba" -#: js/files.js:236 js/files.js:341 js/files.js:371 +#: js/files.js:235 +msgid "Close" +msgstr "Bezár" + +#: js/files.js:254 js/files.js:368 js/files.js:398 msgid "Pending" msgstr "Folyamatban" -#: js/files.js:256 +#: js/files.js:274 msgid "1 file uploading" msgstr "" -#: js/files.js:259 js/files.js:304 js/files.js:319 -msgid "files uploading" +#: js/files.js:277 js/files.js:331 js/files.js:346 +msgid "{count} files uploading" msgstr "" -#: js/files.js:322 js/files.js:355 +#: js/files.js:349 js/files.js:382 msgid "Upload cancelled." msgstr "Feltöltés megszakítva" -#: js/files.js:424 +#: js/files.js:451 msgid "" "File upload is in progress. Leaving the page now will cancel the upload." msgstr "" -#: js/files.js:494 -msgid "Invalid name, '/' is not allowed." -msgstr "Érvénytelen név, a '/' nem megengedett" +#: js/files.js:523 +msgid "Invalid folder name. Usage of \"Shared\" is reserved by Owncloud" +msgstr "" -#: js/files.js:667 -msgid "files scanned" +#: js/files.js:704 +msgid "{count} files scanned" msgstr "" -#: js/files.js:675 +#: js/files.js:712 msgid "error while scanning" msgstr "" -#: js/files.js:748 templates/index.php:48 +#: js/files.js:785 templates/index.php:65 msgid "Name" msgstr "Név" -#: js/files.js:749 templates/index.php:56 +#: js/files.js:786 templates/index.php:76 msgid "Size" msgstr "Méret" -#: js/files.js:750 templates/index.php:58 +#: js/files.js:787 templates/index.php:78 msgid "Modified" msgstr "Módosítva" -#: js/files.js:777 -msgid "folder" -msgstr "mappa" - -#: js/files.js:779 -msgid "folders" -msgstr "mappák" - -#: js/files.js:787 -msgid "file" -msgstr "fájl" - -#: js/files.js:789 -msgid "files" -msgstr "fájlok" - -#: js/files.js:833 -msgid "seconds ago" -msgstr "" - -#: js/files.js:834 -msgid "minute ago" +#: js/files.js:814 +msgid "1 folder" msgstr "" -#: js/files.js:835 -msgid "minutes ago" +#: js/files.js:816 +msgid "{count} folders" msgstr "" -#: js/files.js:838 -msgid "today" +#: js/files.js:824 +msgid "1 file" msgstr "" -#: js/files.js:839 -msgid "yesterday" -msgstr "" - -#: js/files.js:840 -msgid "days ago" -msgstr "" - -#: js/files.js:841 -msgid "last month" -msgstr "" - -#: js/files.js:843 -msgid "months ago" -msgstr "" - -#: js/files.js:844 -msgid "last year" -msgstr "" - -#: js/files.js:845 -msgid "years ago" +#: js/files.js:826 +msgid "{count} files" msgstr "" #: templates/admin.php:5 @@ -223,80 +194,76 @@ msgstr "Fájlkezelés" msgid "Maximum upload size" msgstr "Maximális feltölthető fájlméret" -#: templates/admin.php:7 +#: templates/admin.php:9 msgid "max. possible: " msgstr "max. lehetséges" -#: templates/admin.php:9 +#: templates/admin.php:12 msgid "Needed for multi-file and folder downloads." msgstr "Kötegelt file- vagy mappaletöltéshez szükséges" -#: templates/admin.php:9 +#: templates/admin.php:14 msgid "Enable ZIP-download" msgstr "ZIP-letöltés engedélyezése" -#: templates/admin.php:11 +#: templates/admin.php:17 msgid "0 is unlimited" msgstr "0 = korlátlan" -#: templates/admin.php:12 +#: templates/admin.php:19 msgid "Maximum input size for ZIP files" msgstr "ZIP file-ok maximum mérete" -#: templates/admin.php:14 +#: templates/admin.php:23 msgid "Save" -msgstr "" +msgstr "Mentés" #: templates/index.php:7 msgid "New" msgstr "Új" -#: templates/index.php:9 +#: templates/index.php:10 msgid "Text file" msgstr "Szövegfájl" -#: templates/index.php:10 +#: templates/index.php:12 msgid "Folder" msgstr "Mappa" -#: templates/index.php:11 -msgid "From url" -msgstr "URL-ből" +#: templates/index.php:14 +msgid "From link" +msgstr "" -#: templates/index.php:20 +#: templates/index.php:35 msgid "Upload" msgstr "Feltöltés" -#: templates/index.php:27 +#: templates/index.php:43 msgid "Cancel upload" msgstr "Feltöltés megszakítása" -#: templates/index.php:40 +#: templates/index.php:57 msgid "Nothing in here. Upload something!" msgstr "Töltsön fel egy fájlt." -#: templates/index.php:50 -msgid "Share" -msgstr "Megosztás" - -#: templates/index.php:52 +#: templates/index.php:71 msgid "Download" msgstr "Letöltés" -#: templates/index.php:75 +#: templates/index.php:103 msgid "Upload too large" msgstr "Feltöltés túl nagy" -#: templates/index.php:77 +#: templates/index.php:105 msgid "" "The files you are trying to upload exceed the maximum size for file uploads " "on this server." msgstr "A fájlokat amit próbálsz feltölteni meghaladta a legnagyobb fájlméretet ezen a szerveren." -#: templates/index.php:82 +#: templates/index.php:110 msgid "Files are being scanned, please wait." msgstr "File-ok vizsgálata, kis türelmet" -#: templates/index.php:85 +#: templates/index.php:113 msgid "Current scanning" msgstr "Aktuális vizsgálat" diff --git a/l10n/hu_HU/files_external.po b/l10n/hu_HU/files_external.po index 8ba04f108460f88ec174e36003b7ac6f1a368d2d..15e23eff92ccaf75f27efd6813e5ff12606d4997 100644 --- a/l10n/hu_HU/files_external.po +++ b/l10n/hu_HU/files_external.po @@ -7,9 +7,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-02 23:16+0200\n" -"PO-Revision-Date: 2012-10-02 21:17+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-12-12 00:12+0100\n" +"PO-Revision-Date: 2012-12-11 23:13+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Hungarian (Hungary) (http://www.transifex.com/projects/p/owncloud/language/hu_HU/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -41,66 +41,80 @@ msgstr "" msgid "Error configuring Google Drive storage" msgstr "" +#: lib/config.php:434 +msgid "" +"Warning: \"smbclient\" is not installed. Mounting of CIFS/SMB shares " +"is not possible. Please ask your system administrator to install it." +msgstr "" + +#: lib/config.php:435 +msgid "" +"Warning: The FTP support in PHP is not enabled or installed. Mounting" +" of FTP shares is not possible. Please ask your system administrator to " +"install it." +msgstr "" + #: templates/settings.php:3 msgid "External Storage" msgstr "" -#: templates/settings.php:7 templates/settings.php:19 +#: templates/settings.php:8 templates/settings.php:22 msgid "Mount point" msgstr "" -#: templates/settings.php:8 +#: templates/settings.php:9 msgid "Backend" msgstr "" -#: templates/settings.php:9 +#: templates/settings.php:10 msgid "Configuration" msgstr "" -#: templates/settings.php:10 +#: templates/settings.php:11 msgid "Options" msgstr "" -#: templates/settings.php:11 +#: templates/settings.php:12 msgid "Applicable" msgstr "" -#: templates/settings.php:23 +#: templates/settings.php:27 msgid "Add mount point" msgstr "" -#: templates/settings.php:54 templates/settings.php:62 +#: templates/settings.php:85 msgid "None set" msgstr "" -#: templates/settings.php:63 +#: templates/settings.php:86 msgid "All Users" msgstr "" -#: templates/settings.php:64 +#: templates/settings.php:87 msgid "Groups" msgstr "" -#: templates/settings.php:69 +#: templates/settings.php:95 msgid "Users" msgstr "" -#: templates/settings.php:77 templates/settings.php:107 +#: templates/settings.php:108 templates/settings.php:109 +#: templates/settings.php:149 templates/settings.php:150 msgid "Delete" msgstr "" -#: templates/settings.php:87 +#: templates/settings.php:124 msgid "Enable User External Storage" msgstr "" -#: templates/settings.php:88 +#: templates/settings.php:125 msgid "Allow users to mount their own external storage" msgstr "" -#: templates/settings.php:99 +#: templates/settings.php:139 msgid "SSL root certificates" msgstr "" -#: templates/settings.php:113 +#: templates/settings.php:158 msgid "Import Root Certificate" msgstr "" diff --git a/l10n/hu_HU/files_pdfviewer.po b/l10n/hu_HU/files_pdfviewer.po deleted file mode 100644 index 1499ece9d1547e8a58436c1ed9ad203f57961120..0000000000000000000000000000000000000000 --- a/l10n/hu_HU/files_pdfviewer.po +++ /dev/null @@ -1,42 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 02:18+0200\n" -"PO-Revision-Date: 2012-08-26 00:19+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Hungarian (Hungary) (http://www.transifex.com/projects/p/owncloud/language/hu_HU/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: hu_HU\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: js/viewer.js:22 -msgid "Previous" -msgstr "" - -#: js/viewer.js:23 -msgid "Next" -msgstr "" - -#: js/viewer.js:29 -msgid "Page Width" -msgstr "" - -#: js/viewer.js:29 -msgid "Page Fit" -msgstr "" - -#: js/viewer.js:30 -msgid "Print" -msgstr "" - -#: js/viewer.js:32 -msgid "Download" -msgstr "" diff --git a/l10n/hu_HU/files_texteditor.po b/l10n/hu_HU/files_texteditor.po deleted file mode 100644 index bf2f4e4b51c2c4b7540864c213217ae6f4c5fb98..0000000000000000000000000000000000000000 --- a/l10n/hu_HU/files_texteditor.po +++ /dev/null @@ -1,44 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 01:17+0200\n" -"PO-Revision-Date: 2012-08-25 23:18+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Hungarian (Hungary) (http://www.transifex.com/projects/p/owncloud/language/hu_HU/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: hu_HU\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: js/aceeditor/mode-coldfusion-uncompressed.js:1568 -#: js/aceeditor/mode-liquid-uncompressed.js:902 -#: js/aceeditor/mode-svg-uncompressed.js:1575 -msgid "regex" -msgstr "" - -#: js/editor.js:72 js/editor.js:156 js/editor.js:163 -msgid "Save" -msgstr "" - -#: js/editor.js:74 -msgid "Close" -msgstr "" - -#: js/editor.js:149 -msgid "Saving..." -msgstr "" - -#: js/editor.js:239 -msgid "An error occurred!" -msgstr "" - -#: js/editor.js:266 -msgid "There were unsaved changes, click here to go back" -msgstr "" diff --git a/l10n/hu_HU/gallery.po b/l10n/hu_HU/gallery.po deleted file mode 100644 index 2953d7adda80b12f0db746dbf8b19d5d182f9420..0000000000000000000000000000000000000000 --- a/l10n/hu_HU/gallery.po +++ /dev/null @@ -1,95 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Adam Toth , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-06-06 00:12+0200\n" -"PO-Revision-Date: 2012-06-05 22:15+0000\n" -"Last-Translator: icewind \n" -"Language-Team: Hungarian (Hungary) (http://www.transifex.net/projects/p/owncloud/language/hu_HU/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: hu_HU\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: appinfo/app.php:37 -msgid "Pictures" -msgstr "Képek" - -#: js/album_cover.js:44 -msgid "Share gallery" -msgstr "" - -#: js/album_cover.js:64 js/album_cover.js:100 js/album_cover.js:133 -msgid "Error: " -msgstr "" - -#: js/album_cover.js:64 js/album_cover.js:100 -msgid "Internal error" -msgstr "" - -#: js/album_cover.js:114 -msgid "Scanning root" -msgstr "" - -#: js/album_cover.js:115 -msgid "Default order" -msgstr "" - -#: js/album_cover.js:116 -msgid "Ascending" -msgstr "" - -#: js/album_cover.js:116 -msgid "Descending" -msgstr "" - -#: js/album_cover.js:117 templates/index.php:19 -msgid "Settings" -msgstr "Beállítások" - -#: js/album_cover.js:122 -msgid "Scanning root cannot be empty" -msgstr "" - -#: js/album_cover.js:122 js/album_cover.js:133 -msgid "Error" -msgstr "" - -#: templates/index.php:16 -msgid "Rescan" -msgstr "Újravizsgálás" - -#: templates/index.php:17 -msgid "Stop" -msgstr "Állj" - -#: templates/index.php:18 -msgid "Share" -msgstr "Megosztás" - -#: templates/view_album.php:19 -msgid "Back" -msgstr "Vissza" - -#: templates/view_album.php:36 -msgid "Remove confirmation" -msgstr "Megerősítés eltávolítása" - -#: templates/view_album.php:37 -msgid "Do you want to remove album" -msgstr "El akarja távolítani az albumot?" - -#: templates/view_album.php:40 -msgid "Change album name" -msgstr "Albumnév megváltoztatása" - -#: templates/view_album.php:43 -msgid "New album name" -msgstr "Új albumnév" diff --git a/l10n/hu_HU/impress.po b/l10n/hu_HU/impress.po deleted file mode 100644 index 4c5473d27ed772f64274ceb705f8de8db6f7f6e0..0000000000000000000000000000000000000000 --- a/l10n/hu_HU/impress.po +++ /dev/null @@ -1,22 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 01:17+0200\n" -"PO-Revision-Date: 2012-08-25 23:18+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Hungarian (Hungary) (http://www.transifex.com/projects/p/owncloud/language/hu_HU/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: hu_HU\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: templates/presentations.php:7 -msgid "Documentation" -msgstr "" diff --git a/l10n/hu_HU/lib.po b/l10n/hu_HU/lib.po index ddbcd4f2d02937a237aa3e69178167a5662c210f..18f4e74d072f2d3af51b17f2dbb313e9841aeac3 100644 --- a/l10n/hu_HU/lib.po +++ b/l10n/hu_HU/lib.po @@ -8,53 +8,53 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-09-01 02:01+0200\n" -"PO-Revision-Date: 2012-09-01 00:02+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-11-16 00:02+0100\n" +"PO-Revision-Date: 2012-11-14 23:13+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Hungarian (Hungary) (http://www.transifex.com/projects/p/owncloud/language/hu_HU/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: hu_HU\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: app.php:288 +#: app.php:285 msgid "Help" msgstr "Súgó" -#: app.php:295 +#: app.php:292 msgid "Personal" msgstr "Személyes" -#: app.php:300 +#: app.php:297 msgid "Settings" msgstr "Beállítások" -#: app.php:305 +#: app.php:302 msgid "Users" msgstr "Felhasználók" -#: app.php:312 +#: app.php:309 msgid "Apps" msgstr "Alkalmazások" -#: app.php:314 +#: app.php:311 msgid "Admin" msgstr "Admin" -#: files.php:280 +#: files.php:332 msgid "ZIP download is turned off." msgstr "ZIP-letöltés letiltva" -#: files.php:281 +#: files.php:333 msgid "Files need to be downloaded one by one." msgstr "A file-okat egyenként kell letölteni" -#: files.php:281 files.php:306 +#: files.php:333 files.php:358 msgid "Back to Files" msgstr "Vissza a File-okhoz" -#: files.php:305 +#: files.php:357 msgid "Selected files too large to generate zip file." msgstr "Túl nagy file-ok a zip-generáláshoz" @@ -62,7 +62,7 @@ msgstr "Túl nagy file-ok a zip-generáláshoz" msgid "Application is not enabled" msgstr "Az alkalmazás nincs engedélyezve" -#: json.php:39 json.php:63 json.php:75 +#: json.php:39 json.php:64 json.php:77 json.php:89 msgid "Authentication error" msgstr "Hitelesítési hiba" @@ -70,57 +70,84 @@ msgstr "Hitelesítési hiba" msgid "Token expired. Please reload page." msgstr "A token lejárt. Frissítsd az oldalt." -#: template.php:86 +#: search/provider/file.php:17 search/provider/file.php:35 +msgid "Files" +msgstr "Fájlok" + +#: search/provider/file.php:26 search/provider/file.php:33 +msgid "Text" +msgstr "Szöveg" + +#: search/provider/file.php:29 +msgid "Images" +msgstr "" + +#: template.php:103 msgid "seconds ago" msgstr "másodperccel ezelőtt" -#: template.php:87 +#: template.php:104 msgid "1 minute ago" msgstr "1 perccel ezelőtt" -#: template.php:88 +#: template.php:105 #, php-format msgid "%d minutes ago" msgstr "%d perccel ezelőtt" -#: template.php:91 +#: template.php:106 +msgid "1 hour ago" +msgstr "" + +#: template.php:107 +#, php-format +msgid "%d hours ago" +msgstr "" + +#: template.php:108 msgid "today" msgstr "ma" -#: template.php:92 +#: template.php:109 msgid "yesterday" msgstr "tegnap" -#: template.php:93 +#: template.php:110 #, php-format msgid "%d days ago" msgstr "%d évvel ezelőtt" -#: template.php:94 +#: template.php:111 msgid "last month" msgstr "múlt hónapban" -#: template.php:95 -msgid "months ago" -msgstr "hónappal ezelőtt" +#: template.php:112 +#, php-format +msgid "%d months ago" +msgstr "" -#: template.php:96 +#: template.php:113 msgid "last year" msgstr "tavaly" -#: template.php:97 +#: template.php:114 msgid "years ago" msgstr "évvel ezelőtt" -#: updater.php:66 +#: updater.php:75 #, php-format msgid "%s is available. Get more information" msgstr "" -#: updater.php:68 +#: updater.php:77 msgid "up to date" msgstr "" -#: updater.php:71 +#: updater.php:80 msgid "updates check is disabled" msgstr "" + +#: vcategories.php:188 vcategories.php:249 +#, php-format +msgid "Could not find category \"%s\"" +msgstr "" diff --git a/l10n/hu_HU/media.po b/l10n/hu_HU/media.po deleted file mode 100644 index aead2550d9b507770d5530dcee56707fc041ded3..0000000000000000000000000000000000000000 --- a/l10n/hu_HU/media.po +++ /dev/null @@ -1,68 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Adam Toth , 2012. -# Peter Borsa , 2011. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-06-06 00:12+0200\n" -"PO-Revision-Date: 2012-06-05 22:15+0000\n" -"Last-Translator: icewind \n" -"Language-Team: Hungarian (Hungary) (http://www.transifex.net/projects/p/owncloud/language/hu_HU/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: hu_HU\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: appinfo/app.php:32 templates/player.php:8 -msgid "Music" -msgstr "Zene" - -#: js/music.js:18 -msgid "Add album to playlist" -msgstr "" - -#: templates/music.php:3 templates/player.php:12 -msgid "Play" -msgstr "Lejátszás" - -#: templates/music.php:4 templates/music.php:26 templates/player.php:13 -msgid "Pause" -msgstr "Szünet" - -#: templates/music.php:5 -msgid "Previous" -msgstr "Előző" - -#: templates/music.php:6 templates/player.php:14 -msgid "Next" -msgstr "Következő" - -#: templates/music.php:7 -msgid "Mute" -msgstr "Némítás" - -#: templates/music.php:8 -msgid "Unmute" -msgstr "Némítás megszüntetése" - -#: templates/music.php:25 -msgid "Rescan Collection" -msgstr "Gyűjtemény újraolvasása" - -#: templates/music.php:37 -msgid "Artist" -msgstr "Előadó" - -#: templates/music.php:38 -msgid "Album" -msgstr "Album" - -#: templates/music.php:39 -msgid "Title" -msgstr "Cím" diff --git a/l10n/hu_HU/settings.po b/l10n/hu_HU/settings.po index b465fe6a335f2d1f438378eec9024a4841fac364..f83e6251d1b3c7d67804add2d72eeb894064971d 100644 --- a/l10n/hu_HU/settings.po +++ b/l10n/hu_HU/settings.po @@ -9,9 +9,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-09 02:03+0200\n" -"PO-Revision-Date: 2012-10-09 00:04+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-12-03 00:04+0100\n" +"PO-Revision-Date: 2012-12-02 03:18+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Hungarian (Hungary) (http://www.transifex.com/projects/p/owncloud/language/hu_HU/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -19,70 +19,73 @@ msgstr "" "Language: hu_HU\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: ajax/apps/ocs.php:23 +#: ajax/apps/ocs.php:20 msgid "Unable to load list from App Store" msgstr "Nem tölthető le a lista az App Store-ból" -#: ajax/creategroup.php:9 ajax/removeuser.php:13 ajax/setquota.php:18 -#: ajax/togglegroups.php:15 -msgid "Authentication error" -msgstr "Hitelesítési hiba" - -#: ajax/creategroup.php:19 +#: ajax/creategroup.php:10 msgid "Group already exists" msgstr "" -#: ajax/creategroup.php:28 +#: ajax/creategroup.php:19 msgid "Unable to add group" msgstr "" -#: ajax/enableapp.php:14 +#: ajax/enableapp.php:12 msgid "Could not enable app. " msgstr "" -#: ajax/lostpassword.php:14 +#: ajax/lostpassword.php:12 msgid "Email saved" msgstr "Email mentve" -#: ajax/lostpassword.php:16 +#: ajax/lostpassword.php:14 msgid "Invalid email" msgstr "Hibás email" -#: ajax/openid.php:16 +#: ajax/openid.php:13 msgid "OpenID Changed" msgstr "OpenID megváltozott" -#: ajax/openid.php:18 ajax/setlanguage.php:20 ajax/setlanguage.php:23 +#: ajax/openid.php:15 ajax/setlanguage.php:17 ajax/setlanguage.php:20 msgid "Invalid request" msgstr "Érvénytelen kérés" -#: ajax/removegroup.php:16 +#: ajax/removegroup.php:13 msgid "Unable to delete group" msgstr "" -#: ajax/removeuser.php:22 +#: ajax/removeuser.php:15 ajax/setquota.php:15 ajax/togglegroups.php:18 +msgid "Authentication error" +msgstr "Hitelesítési hiba" + +#: ajax/removeuser.php:24 msgid "Unable to delete user" msgstr "" -#: ajax/setlanguage.php:18 +#: ajax/setlanguage.php:15 msgid "Language changed" msgstr "A nyelv megváltozott" -#: ajax/togglegroups.php:25 +#: ajax/togglegroups.php:12 +msgid "Admins can't remove themself from the admin group" +msgstr "" + +#: ajax/togglegroups.php:28 #, php-format msgid "Unable to add user to group %s" msgstr "" -#: ajax/togglegroups.php:31 +#: ajax/togglegroups.php:34 #, php-format msgid "Unable to remove user from group %s" msgstr "" -#: js/apps.js:28 js/apps.js:65 +#: js/apps.js:28 js/apps.js:67 msgid "Disable" msgstr "Letiltás" -#: js/apps.js:28 js/apps.js:54 +#: js/apps.js:28 js/apps.js:55 msgid "Enable" msgstr "Engedélyezés" @@ -90,97 +93,10 @@ msgstr "Engedélyezés" msgid "Saving..." msgstr "Mentés..." -#: personal.php:47 personal.php:48 +#: personal.php:42 personal.php:43 msgid "__language_name__" msgstr "__language_name__" -#: templates/admin.php:14 -msgid "Security Warning" -msgstr "Biztonsági figyelmeztetés" - -#: templates/admin.php:17 -msgid "" -"Your data directory and your files are probably accessible from the " -"internet. The .htaccess file that ownCloud provides is not working. We " -"strongly suggest that you configure your webserver in a way that the data " -"directory is no longer accessible or you move the data directory outside the" -" webserver document root." -msgstr "" - -#: templates/admin.php:31 -msgid "Cron" -msgstr "" - -#: templates/admin.php:37 -msgid "Execute one task with each page loaded" -msgstr "" - -#: templates/admin.php:43 -msgid "" -"cron.php is registered at a webcron service. Call the cron.php page in the " -"owncloud root once a minute over http." -msgstr "" - -#: templates/admin.php:49 -msgid "" -"Use systems cron service. Call the cron.php file in the owncloud folder via " -"a system cronjob once a minute." -msgstr "" - -#: templates/admin.php:56 -msgid "Sharing" -msgstr "" - -#: templates/admin.php:61 -msgid "Enable Share API" -msgstr "" - -#: templates/admin.php:62 -msgid "Allow apps to use the Share API" -msgstr "" - -#: templates/admin.php:67 -msgid "Allow links" -msgstr "" - -#: templates/admin.php:68 -msgid "Allow users to share items to the public with links" -msgstr "" - -#: templates/admin.php:73 -msgid "Allow resharing" -msgstr "" - -#: templates/admin.php:74 -msgid "Allow users to share items shared with them again" -msgstr "" - -#: templates/admin.php:79 -msgid "Allow users to share with anyone" -msgstr "" - -#: templates/admin.php:81 -msgid "Allow users to only share with users in their groups" -msgstr "" - -#: templates/admin.php:88 -msgid "Log" -msgstr "Napló" - -#: templates/admin.php:116 -msgid "More" -msgstr "Tovább" - -#: templates/admin.php:124 -msgid "" -"Developed by the ownCloud community, the source code is " -"licensed under the AGPL." -msgstr "" - #: templates/apps.php:10 msgid "Add your App" msgstr "App hozzáadása" @@ -213,21 +129,21 @@ msgstr "Nagy fájlok kezelése" msgid "Ask a question" msgstr "Tégy fel egy kérdést" -#: templates/help.php:23 +#: templates/help.php:22 msgid "Problems connecting to help database." msgstr "Sikertelen csatlakozás a Súgó adatbázishoz" -#: templates/help.php:24 +#: templates/help.php:23 msgid "Go there manually." msgstr "Menj oda kézzel" -#: templates/help.php:32 +#: templates/help.php:31 msgid "Answer" msgstr "Válasz" #: templates/personal.php:8 #, php-format -msgid "You have used %s of the available %s" +msgid "You have used %s of the available %s" msgstr "" #: templates/personal.php:12 @@ -286,6 +202,16 @@ msgstr "Segíts lefordítani!" msgid "use this address to connect to your ownCloud in your file manager" msgstr "Használd ezt a címet hogy csatlakozz a saját ownCloud rendszeredhez a fájlkezelődben" +#: templates/personal.php:61 +msgid "" +"Developed by the ownCloud community, the source code is " +"licensed under the AGPL." +msgstr "" + #: templates/users.php:21 templates/users.php:76 msgid "Name" msgstr "Név" diff --git a/l10n/hu_HU/tasks.po b/l10n/hu_HU/tasks.po deleted file mode 100644 index 73f8d611037e19d0b243036cdc3ac501b75eba8d..0000000000000000000000000000000000000000 --- a/l10n/hu_HU/tasks.po +++ /dev/null @@ -1,106 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:44+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Hungarian (Hungary) (http://www.transifex.com/projects/p/owncloud/language/hu_HU/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: hu_HU\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: ajax/update_property.php:51 lib/app.php:89 lib/app.php:101 -msgid "Invalid date/time" -msgstr "" - -#: appinfo/app.php:11 -msgid "Tasks" -msgstr "" - -#: js/tasks.js:415 -msgid "No category" -msgstr "" - -#: lib/app.php:33 -msgid "Unspecified" -msgstr "" - -#: lib/app.php:34 -msgid "1=highest" -msgstr "" - -#: lib/app.php:38 -msgid "5=medium" -msgstr "" - -#: lib/app.php:42 -msgid "9=lowest" -msgstr "" - -#: lib/app.php:81 -msgid "Empty Summary" -msgstr "" - -#: lib/app.php:93 -msgid "Invalid percent complete" -msgstr "" - -#: lib/app.php:107 -msgid "Invalid priority" -msgstr "" - -#: templates/tasks.php:3 -msgid "Add Task" -msgstr "" - -#: templates/tasks.php:4 -msgid "Order Due" -msgstr "" - -#: templates/tasks.php:5 -msgid "Order List" -msgstr "" - -#: templates/tasks.php:6 -msgid "Order Complete" -msgstr "" - -#: templates/tasks.php:7 -msgid "Order Location" -msgstr "" - -#: templates/tasks.php:8 -msgid "Order Priority" -msgstr "" - -#: templates/tasks.php:9 -msgid "Order Label" -msgstr "" - -#: templates/tasks.php:16 -msgid "Loading tasks..." -msgstr "" - -#: templates/tasks.php:20 -msgid "Important" -msgstr "" - -#: templates/tasks.php:23 -msgid "More" -msgstr "" - -#: templates/tasks.php:26 -msgid "Less" -msgstr "" - -#: templates/tasks.php:29 -msgid "Delete" -msgstr "" diff --git a/l10n/hu_HU/user_migrate.po b/l10n/hu_HU/user_migrate.po deleted file mode 100644 index ba51abb24d95d30d3c21d2469c122e3646f93c6b..0000000000000000000000000000000000000000 --- a/l10n/hu_HU/user_migrate.po +++ /dev/null @@ -1,51 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:45+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Hungarian (Hungary) (http://www.transifex.com/projects/p/owncloud/language/hu_HU/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: hu_HU\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: js/export.js:14 js/export.js:20 -msgid "Export" -msgstr "" - -#: js/export.js:19 -msgid "Something went wrong while the export file was being generated" -msgstr "" - -#: js/export.js:19 -msgid "An error has occurred" -msgstr "" - -#: templates/settings.php:2 -msgid "Export your user account" -msgstr "" - -#: templates/settings.php:3 -msgid "" -"This will create a compressed file that contains your ownCloud account." -msgstr "" - -#: templates/settings.php:13 -msgid "Import user account" -msgstr "" - -#: templates/settings.php:15 -msgid "ownCloud User Zip" -msgstr "" - -#: templates/settings.php:17 -msgid "Import" -msgstr "" diff --git a/l10n/hu_HU/user_openid.po b/l10n/hu_HU/user_openid.po deleted file mode 100644 index bc86ad58968e77c5a08b75e58f8635db6d1058c7..0000000000000000000000000000000000000000 --- a/l10n/hu_HU/user_openid.po +++ /dev/null @@ -1,54 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:45+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Hungarian (Hungary) (http://www.transifex.com/projects/p/owncloud/language/hu_HU/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: hu_HU\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: templates/nomode.php:12 -msgid "This is an OpenID server endpoint. For more information, see " -msgstr "" - -#: templates/nomode.php:14 -msgid "Identity: " -msgstr "" - -#: templates/nomode.php:15 -msgid "Realm: " -msgstr "" - -#: templates/nomode.php:16 -msgid "User: " -msgstr "" - -#: templates/nomode.php:17 -msgid "Login" -msgstr "" - -#: templates/nomode.php:22 -msgid "Error: No user Selected" -msgstr "" - -#: templates/settings.php:4 -msgid "you can authenticate to other sites with this address" -msgstr "" - -#: templates/settings.php:5 -msgid "Authorized OpenID provider" -msgstr "" - -#: templates/settings.php:6 -msgid "Your address at Wordpress, Identi.ca, …" -msgstr "" diff --git a/l10n/hu_HU/files_odfviewer.po b/l10n/hu_HU/user_webdavauth.po similarity index 74% rename from l10n/hu_HU/files_odfviewer.po rename to l10n/hu_HU/user_webdavauth.po index 159ec8745238ae828ff4e2a2af45c63295d7129f..cdb772c8e4671248f321c4cf5363a420c131c9b8 100644 --- a/l10n/hu_HU/files_odfviewer.po +++ b/l10n/hu_HU/user_webdavauth.po @@ -7,16 +7,16 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 02:18+0200\n" -"PO-Revision-Date: 2012-08-26 00:19+0000\n" +"POT-Creation-Date: 2012-11-09 10:06+0100\n" +"PO-Revision-Date: 2012-11-09 09:06+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: Hungarian (Hungary) (http://www.transifex.com/projects/p/owncloud/language/hu_HU/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: hu_HU\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: js/viewer.js:9 -msgid "Close" +#: templates/settings.php:4 +msgid "WebDAV URL: http://" msgstr "" diff --git a/l10n/hy/admin_dependencies_chk.po b/l10n/hy/admin_dependencies_chk.po deleted file mode 100644 index c649d0fc44d59f232752da59f14dc0b805de0165..0000000000000000000000000000000000000000 --- a/l10n/hy/admin_dependencies_chk.po +++ /dev/null @@ -1,73 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:33+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Armenian (http://www.transifex.com/projects/p/owncloud/language/hy/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: hy\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: settings.php:33 -msgid "" -"The php-json module is needed by the many applications for inter " -"communications" -msgstr "" - -#: settings.php:39 -msgid "" -"The php-curl modude is needed to fetch the page title when adding a " -"bookmarks" -msgstr "" - -#: settings.php:45 -msgid "The php-gd module is needed to create thumbnails of your images" -msgstr "" - -#: settings.php:51 -msgid "The php-ldap module is needed connect to your ldap server" -msgstr "" - -#: settings.php:57 -msgid "The php-zip module is needed download multiple files at once" -msgstr "" - -#: settings.php:63 -msgid "" -"The php-mb_multibyte module is needed to manage correctly the encoding." -msgstr "" - -#: settings.php:69 -msgid "The php-ctype module is needed validate data." -msgstr "" - -#: settings.php:75 -msgid "The php-xml module is needed to share files with webdav." -msgstr "" - -#: settings.php:81 -msgid "" -"The allow_url_fopen directive of your php.ini should be set to 1 to retrieve" -" knowledge base from OCS servers" -msgstr "" - -#: settings.php:87 -msgid "The php-pdo module is needed to store owncloud data into a database." -msgstr "" - -#: templates/settings.php:2 -msgid "Dependencies status" -msgstr "" - -#: templates/settings.php:7 -msgid "Used by :" -msgstr "" diff --git a/l10n/hy/admin_migrate.po b/l10n/hy/admin_migrate.po deleted file mode 100644 index 2affc03615a0f5d02b5957b0fbc5b12e6c2f8fd8..0000000000000000000000000000000000000000 --- a/l10n/hy/admin_migrate.po +++ /dev/null @@ -1,32 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:32+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Armenian (http://www.transifex.com/projects/p/owncloud/language/hy/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: hy\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: templates/settings.php:3 -msgid "Export this ownCloud instance" -msgstr "" - -#: templates/settings.php:4 -msgid "" -"This will create a compressed file that contains the data of this owncloud instance.\n" -" Please choose the export type:" -msgstr "" - -#: templates/settings.php:12 -msgid "Export" -msgstr "" diff --git a/l10n/hy/bookmarks.po b/l10n/hy/bookmarks.po deleted file mode 100644 index 74aef2630193c66083ce91e652c8d4baebcb1424..0000000000000000000000000000000000000000 --- a/l10n/hy/bookmarks.po +++ /dev/null @@ -1,60 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-07-28 02:02+0200\n" -"PO-Revision-Date: 2012-07-27 22:17+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Armenian (http://www.transifex.com/projects/p/owncloud/language/hy/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: hy\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: appinfo/app.php:14 -msgid "Bookmarks" -msgstr "" - -#: bookmarksHelper.php:99 -msgid "unnamed" -msgstr "" - -#: templates/bookmarklet.php:5 -msgid "" -"Drag this to your browser bookmarks and click it, when you want to bookmark " -"a webpage quickly:" -msgstr "" - -#: templates/bookmarklet.php:7 -msgid "Read later" -msgstr "" - -#: templates/list.php:13 -msgid "Address" -msgstr "" - -#: templates/list.php:14 -msgid "Title" -msgstr "" - -#: templates/list.php:15 -msgid "Tags" -msgstr "" - -#: templates/list.php:16 -msgid "Save bookmark" -msgstr "" - -#: templates/list.php:22 -msgid "You have no bookmarks" -msgstr "" - -#: templates/settings.php:11 -msgid "Bookmarklet
" -msgstr "" diff --git a/l10n/hy/calendar.po b/l10n/hy/calendar.po deleted file mode 100644 index 2187e755864c3fb9c9ad9eaf17272f1bfa42f3ec..0000000000000000000000000000000000000000 --- a/l10n/hy/calendar.po +++ /dev/null @@ -1,814 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Arman Poghosyan , 2011. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-11 02:02+0200\n" -"PO-Revision-Date: 2012-08-11 00:02+0000\n" -"Last-Translator: owncloud_robot \n" -"Language-Team: Armenian (http://www.transifex.com/projects/p/owncloud/language/hy/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: hy\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: ajax/cache/status.php:19 -msgid "Not all calendars are completely cached" -msgstr "" - -#: ajax/cache/status.php:21 -msgid "Everything seems to be completely cached" -msgstr "" - -#: ajax/categories/rescan.php:29 -msgid "No calendars found." -msgstr "" - -#: ajax/categories/rescan.php:37 -msgid "No events found." -msgstr "" - -#: ajax/event/edit.form.php:20 -msgid "Wrong calendar" -msgstr "" - -#: ajax/import/dropimport.php:29 ajax/import/import.php:64 -msgid "" -"The file contained either no events or all events are already saved in your " -"calendar." -msgstr "" - -#: ajax/import/dropimport.php:31 ajax/import/import.php:67 -msgid "events has been saved in the new calendar" -msgstr "" - -#: ajax/import/import.php:56 -msgid "Import failed" -msgstr "" - -#: ajax/import/import.php:69 -msgid "events has been saved in your calendar" -msgstr "" - -#: ajax/settings/guesstimezone.php:25 -msgid "New Timezone:" -msgstr "" - -#: ajax/settings/settimezone.php:23 -msgid "Timezone changed" -msgstr "" - -#: ajax/settings/settimezone.php:25 -msgid "Invalid request" -msgstr "" - -#: appinfo/app.php:35 templates/calendar.php:15 -#: templates/part.eventform.php:33 templates/part.showevent.php:33 -msgid "Calendar" -msgstr "Օրացույց" - -#: js/calendar.js:832 -msgid "ddd" -msgstr "" - -#: js/calendar.js:833 -msgid "ddd M/d" -msgstr "" - -#: js/calendar.js:834 -msgid "dddd M/d" -msgstr "" - -#: js/calendar.js:837 -msgid "MMMM yyyy" -msgstr "" - -#: js/calendar.js:839 -msgid "MMM d[ yyyy]{ '—'[ MMM] d yyyy}" -msgstr "" - -#: js/calendar.js:841 -msgid "dddd, MMM d, yyyy" -msgstr "" - -#: lib/app.php:121 -msgid "Birthday" -msgstr "" - -#: lib/app.php:122 -msgid "Business" -msgstr "" - -#: lib/app.php:123 -msgid "Call" -msgstr "" - -#: lib/app.php:124 -msgid "Clients" -msgstr "" - -#: lib/app.php:125 -msgid "Deliverer" -msgstr "" - -#: lib/app.php:126 -msgid "Holidays" -msgstr "" - -#: lib/app.php:127 -msgid "Ideas" -msgstr "" - -#: lib/app.php:128 -msgid "Journey" -msgstr "" - -#: lib/app.php:129 -msgid "Jubilee" -msgstr "" - -#: lib/app.php:130 -msgid "Meeting" -msgstr "" - -#: lib/app.php:131 -msgid "Other" -msgstr "Այլ" - -#: lib/app.php:132 -msgid "Personal" -msgstr "" - -#: lib/app.php:133 -msgid "Projects" -msgstr "" - -#: lib/app.php:134 -msgid "Questions" -msgstr "" - -#: lib/app.php:135 -msgid "Work" -msgstr "" - -#: lib/app.php:351 lib/app.php:361 -msgid "by" -msgstr "" - -#: lib/app.php:359 lib/app.php:399 -msgid "unnamed" -msgstr "" - -#: lib/import.php:184 templates/calendar.php:12 -#: templates/part.choosecalendar.php:22 -msgid "New Calendar" -msgstr "" - -#: lib/object.php:372 -msgid "Does not repeat" -msgstr "" - -#: lib/object.php:373 -msgid "Daily" -msgstr "" - -#: lib/object.php:374 -msgid "Weekly" -msgstr "" - -#: lib/object.php:375 -msgid "Every Weekday" -msgstr "" - -#: lib/object.php:376 -msgid "Bi-Weekly" -msgstr "" - -#: lib/object.php:377 -msgid "Monthly" -msgstr "" - -#: lib/object.php:378 -msgid "Yearly" -msgstr "" - -#: lib/object.php:388 -msgid "never" -msgstr "" - -#: lib/object.php:389 -msgid "by occurrences" -msgstr "" - -#: lib/object.php:390 -msgid "by date" -msgstr "" - -#: lib/object.php:400 -msgid "by monthday" -msgstr "" - -#: lib/object.php:401 -msgid "by weekday" -msgstr "" - -#: lib/object.php:411 templates/calendar.php:5 templates/settings.php:69 -msgid "Monday" -msgstr "" - -#: lib/object.php:412 templates/calendar.php:5 -msgid "Tuesday" -msgstr "" - -#: lib/object.php:413 templates/calendar.php:5 -msgid "Wednesday" -msgstr "" - -#: lib/object.php:414 templates/calendar.php:5 -msgid "Thursday" -msgstr "" - -#: lib/object.php:415 templates/calendar.php:5 -msgid "Friday" -msgstr "" - -#: lib/object.php:416 templates/calendar.php:5 -msgid "Saturday" -msgstr "" - -#: lib/object.php:417 templates/calendar.php:5 templates/settings.php:70 -msgid "Sunday" -msgstr "" - -#: lib/object.php:427 -msgid "events week of month" -msgstr "" - -#: lib/object.php:428 -msgid "first" -msgstr "" - -#: lib/object.php:429 -msgid "second" -msgstr "" - -#: lib/object.php:430 -msgid "third" -msgstr "" - -#: lib/object.php:431 -msgid "fourth" -msgstr "" - -#: lib/object.php:432 -msgid "fifth" -msgstr "" - -#: lib/object.php:433 -msgid "last" -msgstr "" - -#: lib/object.php:467 templates/calendar.php:7 -msgid "January" -msgstr "" - -#: lib/object.php:468 templates/calendar.php:7 -msgid "February" -msgstr "" - -#: lib/object.php:469 templates/calendar.php:7 -msgid "March" -msgstr "" - -#: lib/object.php:470 templates/calendar.php:7 -msgid "April" -msgstr "" - -#: lib/object.php:471 templates/calendar.php:7 -msgid "May" -msgstr "" - -#: lib/object.php:472 templates/calendar.php:7 -msgid "June" -msgstr "" - -#: lib/object.php:473 templates/calendar.php:7 -msgid "July" -msgstr "" - -#: lib/object.php:474 templates/calendar.php:7 -msgid "August" -msgstr "" - -#: lib/object.php:475 templates/calendar.php:7 -msgid "September" -msgstr "" - -#: lib/object.php:476 templates/calendar.php:7 -msgid "October" -msgstr "" - -#: lib/object.php:477 templates/calendar.php:7 -msgid "November" -msgstr "" - -#: lib/object.php:478 templates/calendar.php:7 -msgid "December" -msgstr "" - -#: lib/object.php:488 -msgid "by events date" -msgstr "" - -#: lib/object.php:489 -msgid "by yearday(s)" -msgstr "" - -#: lib/object.php:490 -msgid "by weeknumber(s)" -msgstr "" - -#: lib/object.php:491 -msgid "by day and month" -msgstr "" - -#: lib/search.php:35 lib/search.php:37 lib/search.php:40 -msgid "Date" -msgstr "" - -#: lib/search.php:43 -msgid "Cal." -msgstr "" - -#: templates/calendar.php:6 -msgid "Sun." -msgstr "" - -#: templates/calendar.php:6 -msgid "Mon." -msgstr "" - -#: templates/calendar.php:6 -msgid "Tue." -msgstr "" - -#: templates/calendar.php:6 -msgid "Wed." -msgstr "" - -#: templates/calendar.php:6 -msgid "Thu." -msgstr "" - -#: templates/calendar.php:6 -msgid "Fri." -msgstr "" - -#: templates/calendar.php:6 -msgid "Sat." -msgstr "" - -#: templates/calendar.php:8 -msgid "Jan." -msgstr "" - -#: templates/calendar.php:8 -msgid "Feb." -msgstr "" - -#: templates/calendar.php:8 -msgid "Mar." -msgstr "" - -#: templates/calendar.php:8 -msgid "Apr." -msgstr "" - -#: templates/calendar.php:8 -msgid "May." -msgstr "" - -#: templates/calendar.php:8 -msgid "Jun." -msgstr "" - -#: templates/calendar.php:8 -msgid "Jul." -msgstr "" - -#: templates/calendar.php:8 -msgid "Aug." -msgstr "" - -#: templates/calendar.php:8 -msgid "Sep." -msgstr "" - -#: templates/calendar.php:8 -msgid "Oct." -msgstr "" - -#: templates/calendar.php:8 -msgid "Nov." -msgstr "" - -#: templates/calendar.php:8 -msgid "Dec." -msgstr "" - -#: templates/calendar.php:11 -msgid "All day" -msgstr "" - -#: templates/calendar.php:13 -msgid "Missing fields" -msgstr "" - -#: templates/calendar.php:14 templates/part.eventform.php:19 -#: templates/part.showevent.php:11 -msgid "Title" -msgstr "" - -#: templates/calendar.php:16 -msgid "From Date" -msgstr "" - -#: templates/calendar.php:17 -msgid "From Time" -msgstr "" - -#: templates/calendar.php:18 -msgid "To Date" -msgstr "" - -#: templates/calendar.php:19 -msgid "To Time" -msgstr "" - -#: templates/calendar.php:20 -msgid "The event ends before it starts" -msgstr "" - -#: templates/calendar.php:21 -msgid "There was a database fail" -msgstr "" - -#: templates/calendar.php:39 -msgid "Week" -msgstr "" - -#: templates/calendar.php:40 -msgid "Month" -msgstr "Ամիս" - -#: templates/calendar.php:41 -msgid "List" -msgstr "" - -#: templates/calendar.php:45 -msgid "Today" -msgstr "Այսօր" - -#: templates/calendar.php:46 templates/calendar.php:47 -msgid "Settings" -msgstr "" - -#: templates/part.choosecalendar.php:2 -msgid "Your calendars" -msgstr "" - -#: templates/part.choosecalendar.php:27 -#: templates/part.choosecalendar.rowfields.php:11 -msgid "CalDav Link" -msgstr "" - -#: templates/part.choosecalendar.php:31 -msgid "Shared calendars" -msgstr "" - -#: templates/part.choosecalendar.php:48 -msgid "No shared calendars" -msgstr "" - -#: templates/part.choosecalendar.rowfields.php:8 -msgid "Share Calendar" -msgstr "" - -#: templates/part.choosecalendar.rowfields.php:14 -msgid "Download" -msgstr "Բեռնել" - -#: templates/part.choosecalendar.rowfields.php:17 -msgid "Edit" -msgstr "" - -#: templates/part.choosecalendar.rowfields.php:20 -#: templates/part.editevent.php:9 -msgid "Delete" -msgstr "Ջնջել" - -#: templates/part.choosecalendar.rowfields.shared.php:4 -msgid "shared with you by" -msgstr "" - -#: templates/part.editcalendar.php:9 -msgid "New calendar" -msgstr "" - -#: templates/part.editcalendar.php:9 -msgid "Edit calendar" -msgstr "" - -#: templates/part.editcalendar.php:12 -msgid "Displayname" -msgstr "" - -#: templates/part.editcalendar.php:23 -msgid "Active" -msgstr "" - -#: templates/part.editcalendar.php:29 -msgid "Calendar color" -msgstr "" - -#: templates/part.editcalendar.php:42 -msgid "Save" -msgstr "Պահպանել" - -#: templates/part.editcalendar.php:42 templates/part.editevent.php:8 -#: templates/part.newevent.php:6 -msgid "Submit" -msgstr "Հաստատել" - -#: templates/part.editcalendar.php:43 -msgid "Cancel" -msgstr "" - -#: templates/part.editevent.php:1 -msgid "Edit an event" -msgstr "" - -#: templates/part.editevent.php:10 -msgid "Export" -msgstr "" - -#: templates/part.eventform.php:8 templates/part.showevent.php:3 -msgid "Eventinfo" -msgstr "" - -#: templates/part.eventform.php:9 templates/part.showevent.php:4 -msgid "Repeating" -msgstr "" - -#: templates/part.eventform.php:10 templates/part.showevent.php:5 -msgid "Alarm" -msgstr "" - -#: templates/part.eventform.php:11 templates/part.showevent.php:6 -msgid "Attendees" -msgstr "" - -#: templates/part.eventform.php:13 -msgid "Share" -msgstr "" - -#: templates/part.eventform.php:21 -msgid "Title of the Event" -msgstr "" - -#: templates/part.eventform.php:27 templates/part.showevent.php:19 -msgid "Category" -msgstr "" - -#: templates/part.eventform.php:29 -msgid "Separate categories with commas" -msgstr "" - -#: templates/part.eventform.php:30 -msgid "Edit categories" -msgstr "" - -#: templates/part.eventform.php:56 templates/part.showevent.php:52 -msgid "All Day Event" -msgstr "" - -#: templates/part.eventform.php:60 templates/part.showevent.php:56 -msgid "From" -msgstr "" - -#: templates/part.eventform.php:68 templates/part.showevent.php:64 -msgid "To" -msgstr "" - -#: templates/part.eventform.php:76 templates/part.showevent.php:72 -msgid "Advanced options" -msgstr "" - -#: templates/part.eventform.php:81 templates/part.showevent.php:77 -msgid "Location" -msgstr "" - -#: templates/part.eventform.php:83 -msgid "Location of the Event" -msgstr "" - -#: templates/part.eventform.php:89 templates/part.showevent.php:85 -msgid "Description" -msgstr "Նկարագրություն" - -#: templates/part.eventform.php:91 -msgid "Description of the Event" -msgstr "" - -#: templates/part.eventform.php:100 templates/part.showevent.php:95 -msgid "Repeat" -msgstr "" - -#: templates/part.eventform.php:107 templates/part.showevent.php:102 -msgid "Advanced" -msgstr "" - -#: templates/part.eventform.php:151 templates/part.showevent.php:146 -msgid "Select weekdays" -msgstr "" - -#: templates/part.eventform.php:164 templates/part.eventform.php:177 -#: templates/part.showevent.php:159 templates/part.showevent.php:172 -msgid "Select days" -msgstr "" - -#: templates/part.eventform.php:169 templates/part.showevent.php:164 -msgid "and the events day of year." -msgstr "" - -#: templates/part.eventform.php:182 templates/part.showevent.php:177 -msgid "and the events day of month." -msgstr "" - -#: templates/part.eventform.php:190 templates/part.showevent.php:185 -msgid "Select months" -msgstr "" - -#: templates/part.eventform.php:203 templates/part.showevent.php:198 -msgid "Select weeks" -msgstr "" - -#: templates/part.eventform.php:208 templates/part.showevent.php:203 -msgid "and the events week of year." -msgstr "" - -#: templates/part.eventform.php:214 templates/part.showevent.php:209 -msgid "Interval" -msgstr "" - -#: templates/part.eventform.php:220 templates/part.showevent.php:215 -msgid "End" -msgstr "" - -#: templates/part.eventform.php:233 templates/part.showevent.php:228 -msgid "occurrences" -msgstr "" - -#: templates/part.import.php:14 -msgid "create a new calendar" -msgstr "" - -#: templates/part.import.php:17 -msgid "Import a calendar file" -msgstr "" - -#: templates/part.import.php:24 -msgid "Please choose a calendar" -msgstr "" - -#: templates/part.import.php:36 -msgid "Name of new calendar" -msgstr "" - -#: templates/part.import.php:44 -msgid "Take an available name!" -msgstr "" - -#: templates/part.import.php:45 -msgid "" -"A Calendar with this name already exists. If you continue anyhow, these " -"calendars will be merged." -msgstr "" - -#: templates/part.import.php:47 -msgid "Import" -msgstr "" - -#: templates/part.import.php:56 -msgid "Close Dialog" -msgstr "" - -#: templates/part.newevent.php:1 -msgid "Create a new event" -msgstr "" - -#: templates/part.showevent.php:1 -msgid "View an event" -msgstr "" - -#: templates/part.showevent.php:23 -msgid "No categories selected" -msgstr "" - -#: templates/part.showevent.php:37 -msgid "of" -msgstr "" - -#: templates/part.showevent.php:59 templates/part.showevent.php:67 -msgid "at" -msgstr "" - -#: templates/settings.php:10 -msgid "General" -msgstr "" - -#: templates/settings.php:15 -msgid "Timezone" -msgstr "" - -#: templates/settings.php:47 -msgid "Update timezone automatically" -msgstr "" - -#: templates/settings.php:52 -msgid "Time format" -msgstr "" - -#: templates/settings.php:57 -msgid "24h" -msgstr "" - -#: templates/settings.php:58 -msgid "12h" -msgstr "" - -#: templates/settings.php:64 -msgid "Start week on" -msgstr "" - -#: templates/settings.php:76 -msgid "Cache" -msgstr "" - -#: templates/settings.php:80 -msgid "Clear cache for repeating events" -msgstr "" - -#: templates/settings.php:85 -msgid "URLs" -msgstr "" - -#: templates/settings.php:87 -msgid "Calendar CalDAV syncing addresses" -msgstr "" - -#: templates/settings.php:87 -msgid "more info" -msgstr "" - -#: templates/settings.php:89 -msgid "Primary address (Kontact et al)" -msgstr "" - -#: templates/settings.php:91 -msgid "iOS/OS X" -msgstr "" - -#: templates/settings.php:93 -msgid "Read only iCalendar link(s)" -msgstr "" - -#: templates/share.dropdown.php:20 -msgid "Users" -msgstr "" - -#: templates/share.dropdown.php:21 -msgid "select users" -msgstr "" - -#: templates/share.dropdown.php:36 templates/share.dropdown.php:62 -msgid "Editable" -msgstr "" - -#: templates/share.dropdown.php:48 -msgid "Groups" -msgstr "" - -#: templates/share.dropdown.php:49 -msgid "select groups" -msgstr "" - -#: templates/share.dropdown.php:75 -msgid "make public" -msgstr "" diff --git a/l10n/hy/contacts.po b/l10n/hy/contacts.po deleted file mode 100644 index 4cffb4779e5a06971cf132c322f371c27ad36f82..0000000000000000000000000000000000000000 --- a/l10n/hy/contacts.po +++ /dev/null @@ -1,952 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-24 02:02+0200\n" -"PO-Revision-Date: 2012-08-24 00:03+0000\n" -"Last-Translator: I Robot \n" -"Language-Team: Armenian (http://www.transifex.com/projects/p/owncloud/language/hy/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: hy\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: ajax/addressbook/activate.php:24 ajax/addressbook/update.php:32 -msgid "Error (de)activating addressbook." -msgstr "" - -#: ajax/addressbook/delete.php:31 ajax/addressbook/update.php:20 -#: ajax/contact/addproperty.php:42 ajax/contact/delete.php:32 -#: ajax/contact/saveproperty.php:39 -msgid "id is not set." -msgstr "" - -#: ajax/addressbook/update.php:24 -msgid "Cannot update addressbook with an empty name." -msgstr "" - -#: ajax/addressbook/update.php:28 -msgid "Error updating addressbook." -msgstr "" - -#: ajax/categories/categoriesfor.php:17 -msgid "No ID provided" -msgstr "" - -#: ajax/categories/categoriesfor.php:34 -msgid "Error setting checksum." -msgstr "" - -#: ajax/categories/delete.php:19 -msgid "No categories selected for deletion." -msgstr "" - -#: ajax/categories/delete.php:26 -msgid "No address books found." -msgstr "" - -#: ajax/categories/delete.php:34 -msgid "No contacts found." -msgstr "" - -#: ajax/contact/add.php:47 -msgid "There was an error adding the contact." -msgstr "" - -#: ajax/contact/addproperty.php:39 ajax/contact/saveproperty.php:36 -msgid "element name is not set." -msgstr "" - -#: ajax/contact/addproperty.php:46 -msgid "Could not parse contact: " -msgstr "" - -#: ajax/contact/addproperty.php:56 -msgid "Cannot add empty property." -msgstr "" - -#: ajax/contact/addproperty.php:67 -msgid "At least one of the address fields has to be filled out." -msgstr "" - -#: ajax/contact/addproperty.php:76 -msgid "Trying to add duplicate property: " -msgstr "" - -#: ajax/contact/addproperty.php:115 ajax/contact/saveproperty.php:93 -msgid "Missing IM parameter." -msgstr "" - -#: ajax/contact/addproperty.php:119 ajax/contact/saveproperty.php:97 -msgid "Unknown IM: " -msgstr "" - -#: ajax/contact/deleteproperty.php:37 -msgid "Information about vCard is incorrect. Please reload the page." -msgstr "" - -#: ajax/contact/details.php:31 -msgid "Missing ID" -msgstr "" - -#: ajax/contact/details.php:36 -msgid "Error parsing VCard for ID: \"" -msgstr "" - -#: ajax/contact/saveproperty.php:42 -msgid "checksum is not set." -msgstr "" - -#: ajax/contact/saveproperty.php:62 -msgid "Information about vCard is incorrect. Please reload the page: " -msgstr "" - -#: ajax/contact/saveproperty.php:69 -msgid "Something went FUBAR. " -msgstr "" - -#: ajax/currentphoto.php:30 ajax/oc_photo.php:28 ajax/uploadphoto.php:36 -#: ajax/uploadphoto.php:68 -msgid "No contact ID was submitted." -msgstr "" - -#: ajax/currentphoto.php:36 -msgid "Error reading contact photo." -msgstr "" - -#: ajax/currentphoto.php:48 -msgid "Error saving temporary file." -msgstr "" - -#: ajax/currentphoto.php:51 -msgid "The loading photo is not valid." -msgstr "" - -#: ajax/editname.php:31 -msgid "Contact ID is missing." -msgstr "" - -#: ajax/oc_photo.php:32 -msgid "No photo path was submitted." -msgstr "" - -#: ajax/oc_photo.php:39 -msgid "File doesn't exist:" -msgstr "" - -#: ajax/oc_photo.php:44 ajax/oc_photo.php:47 -msgid "Error loading image." -msgstr "" - -#: ajax/savecrop.php:69 -msgid "Error getting contact object." -msgstr "" - -#: ajax/savecrop.php:79 -msgid "Error getting PHOTO property." -msgstr "" - -#: ajax/savecrop.php:98 -msgid "Error saving contact." -msgstr "" - -#: ajax/savecrop.php:109 -msgid "Error resizing image" -msgstr "" - -#: ajax/savecrop.php:112 -msgid "Error cropping image" -msgstr "" - -#: ajax/savecrop.php:115 -msgid "Error creating temporary image" -msgstr "" - -#: ajax/savecrop.php:118 -msgid "Error finding image: " -msgstr "" - -#: ajax/uploadimport.php:44 ajax/uploadimport.php:76 -msgid "Error uploading contacts to storage." -msgstr "" - -#: ajax/uploadimport.php:61 ajax/uploadphoto.php:77 -msgid "There is no error, the file uploaded with success" -msgstr "" - -#: ajax/uploadimport.php:62 ajax/uploadphoto.php:78 -msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" -msgstr "" - -#: ajax/uploadimport.php:63 ajax/uploadphoto.php:79 -msgid "" -"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " -"the HTML form" -msgstr "" - -#: ajax/uploadimport.php:64 ajax/uploadphoto.php:80 -msgid "The uploaded file was only partially uploaded" -msgstr "" - -#: ajax/uploadimport.php:65 ajax/uploadphoto.php:81 -msgid "No file was uploaded" -msgstr "" - -#: ajax/uploadimport.php:66 ajax/uploadphoto.php:82 -msgid "Missing a temporary folder" -msgstr "" - -#: ajax/uploadphoto.php:59 ajax/uploadphoto.php:109 -msgid "Couldn't save temporary image: " -msgstr "" - -#: ajax/uploadphoto.php:62 ajax/uploadphoto.php:112 -msgid "Couldn't load temporary image: " -msgstr "" - -#: ajax/uploadphoto.php:71 -msgid "No file was uploaded. Unknown error" -msgstr "" - -#: appinfo/app.php:21 -msgid "Contacts" -msgstr "" - -#: js/contacts.js:71 -msgid "Sorry, this functionality has not been implemented yet" -msgstr "" - -#: js/contacts.js:71 -msgid "Not implemented" -msgstr "" - -#: js/contacts.js:76 -msgid "Couldn't get a valid address." -msgstr "" - -#: js/contacts.js:76 js/contacts.js:365 js/contacts.js:381 js/contacts.js:393 -#: js/contacts.js:723 js/contacts.js:763 js/contacts.js:789 js/contacts.js:921 -#: js/contacts.js:927 js/contacts.js:939 js/contacts.js:976 -#: js/contacts.js:1250 js/contacts.js:1258 js/contacts.js:1267 -#: js/contacts.js:1302 js/contacts.js:1338 js/contacts.js:1353 -#: js/contacts.js:1379 js/contacts.js:1609 js/contacts.js:1644 -#: js/contacts.js:1664 js/settings.js:26 js/settings.js:43 js/settings.js:68 -msgid "Error" -msgstr "" - -#: js/contacts.js:424 -msgid "You do not have permission to add contacts to " -msgstr "" - -#: js/contacts.js:425 -msgid "Please select one of your own address books." -msgstr "" - -#: js/contacts.js:425 -msgid "Permission error" -msgstr "" - -#: js/contacts.js:763 -msgid "This property has to be non-empty." -msgstr "" - -#: js/contacts.js:789 -msgid "Couldn't serialize elements." -msgstr "" - -#: js/contacts.js:921 js/contacts.js:939 -msgid "" -"'deleteProperty' called without type argument. Please report at " -"bugs.owncloud.org" -msgstr "" - -#: js/contacts.js:958 -msgid "Edit name" -msgstr "" - -#: js/contacts.js:1250 -msgid "No files selected for upload." -msgstr "" - -#: js/contacts.js:1258 -msgid "" -"The file you are trying to upload exceed the maximum size for file uploads " -"on this server." -msgstr "" - -#: js/contacts.js:1322 -msgid "Error loading profile picture." -msgstr "" - -#: js/contacts.js:1457 js/contacts.js:1498 js/contacts.js:1517 -#: js/contacts.js:1560 -msgid "Select type" -msgstr "" - -#: js/contacts.js:1578 -msgid "" -"Some contacts are marked for deletion, but not deleted yet. Please wait for " -"them to be deleted." -msgstr "" - -#: js/contacts.js:1649 -msgid "Do you want to merge these address books?" -msgstr "" - -#: js/loader.js:49 -msgid "Result: " -msgstr "" - -#: js/loader.js:49 -msgid " imported, " -msgstr "" - -#: js/loader.js:49 -msgid " failed." -msgstr "" - -#: js/settings.js:68 -msgid "Displayname cannot be empty." -msgstr "" - -#: lib/app.php:36 -msgid "Addressbook not found: " -msgstr "" - -#: lib/app.php:52 -msgid "This is not your addressbook." -msgstr "" - -#: lib/app.php:71 -msgid "Contact could not be found." -msgstr "" - -#: lib/app.php:116 -msgid "Jabber" -msgstr "" - -#: lib/app.php:121 -msgid "AIM" -msgstr "" - -#: lib/app.php:126 -msgid "MSN" -msgstr "" - -#: lib/app.php:131 -msgid "Twitter" -msgstr "" - -#: lib/app.php:136 -msgid "GoogleTalk" -msgstr "" - -#: lib/app.php:141 -msgid "Facebook" -msgstr "" - -#: lib/app.php:146 -msgid "XMPP" -msgstr "" - -#: lib/app.php:151 -msgid "ICQ" -msgstr "" - -#: lib/app.php:156 -msgid "Yahoo" -msgstr "" - -#: lib/app.php:161 -msgid "Skype" -msgstr "" - -#: lib/app.php:166 -msgid "QQ" -msgstr "" - -#: lib/app.php:171 -msgid "GaduGadu" -msgstr "" - -#: lib/app.php:194 lib/app.php:202 lib/app.php:213 lib/app.php:266 -msgid "Work" -msgstr "" - -#: lib/app.php:195 lib/app.php:200 lib/app.php:214 -msgid "Home" -msgstr "" - -#: lib/app.php:196 lib/app.php:209 lib/app.php:262 lib/vcard.php:593 -msgid "Other" -msgstr "" - -#: lib/app.php:201 -msgid "Mobile" -msgstr "" - -#: lib/app.php:203 -msgid "Text" -msgstr "" - -#: lib/app.php:204 -msgid "Voice" -msgstr "" - -#: lib/app.php:205 -msgid "Message" -msgstr "" - -#: lib/app.php:206 -msgid "Fax" -msgstr "" - -#: lib/app.php:207 -msgid "Video" -msgstr "" - -#: lib/app.php:208 -msgid "Pager" -msgstr "" - -#: lib/app.php:215 -msgid "Internet" -msgstr "" - -#: lib/app.php:252 templates/part.contact.php:45 -#: templates/part.contact.php:128 -msgid "Birthday" -msgstr "" - -#: lib/app.php:253 -msgid "Business" -msgstr "" - -#: lib/app.php:254 -msgid "Call" -msgstr "" - -#: lib/app.php:255 -msgid "Clients" -msgstr "" - -#: lib/app.php:256 -msgid "Deliverer" -msgstr "" - -#: lib/app.php:257 -msgid "Holidays" -msgstr "" - -#: lib/app.php:258 -msgid "Ideas" -msgstr "" - -#: lib/app.php:259 -msgid "Journey" -msgstr "" - -#: lib/app.php:260 -msgid "Jubilee" -msgstr "" - -#: lib/app.php:261 -msgid "Meeting" -msgstr "" - -#: lib/app.php:263 -msgid "Personal" -msgstr "" - -#: lib/app.php:264 -msgid "Projects" -msgstr "" - -#: lib/app.php:265 -msgid "Questions" -msgstr "" - -#: lib/hooks.php:102 -msgid "{name}'s Birthday" -msgstr "" - -#: lib/search.php:15 -msgid "Contact" -msgstr "" - -#: lib/vcard.php:408 -msgid "You do not have the permissions to edit this contact." -msgstr "" - -#: lib/vcard.php:483 -msgid "You do not have the permissions to delete this contact." -msgstr "" - -#: templates/index.php:14 -msgid "Add Contact" -msgstr "" - -#: templates/index.php:15 templates/index.php:16 templates/part.import.php:17 -msgid "Import" -msgstr "" - -#: templates/index.php:18 -msgid "Settings" -msgstr "" - -#: templates/index.php:18 templates/settings.php:9 -msgid "Addressbooks" -msgstr "" - -#: templates/index.php:36 templates/part.import.php:24 -msgid "Close" -msgstr "" - -#: templates/index.php:37 -msgid "Keyboard shortcuts" -msgstr "" - -#: templates/index.php:39 -msgid "Navigation" -msgstr "" - -#: templates/index.php:42 -msgid "Next contact in list" -msgstr "" - -#: templates/index.php:44 -msgid "Previous contact in list" -msgstr "" - -#: templates/index.php:46 -msgid "Expand/collapse current addressbook" -msgstr "" - -#: templates/index.php:48 -msgid "Next addressbook" -msgstr "" - -#: templates/index.php:50 -msgid "Previous addressbook" -msgstr "" - -#: templates/index.php:54 -msgid "Actions" -msgstr "" - -#: templates/index.php:57 -msgid "Refresh contacts list" -msgstr "" - -#: templates/index.php:59 -msgid "Add new contact" -msgstr "" - -#: templates/index.php:61 -msgid "Add new addressbook" -msgstr "" - -#: templates/index.php:63 -msgid "Delete current contact" -msgstr "" - -#: templates/part.contact.php:17 -msgid "Drop photo to upload" -msgstr "" - -#: templates/part.contact.php:19 -msgid "Delete current photo" -msgstr "" - -#: templates/part.contact.php:20 -msgid "Edit current photo" -msgstr "" - -#: templates/part.contact.php:21 -msgid "Upload new photo" -msgstr "" - -#: templates/part.contact.php:22 -msgid "Select photo from ownCloud" -msgstr "" - -#: templates/part.contact.php:35 -msgid "Format custom, Short name, Full name, Reverse or Reverse with comma" -msgstr "" - -#: templates/part.contact.php:36 -msgid "Edit name details" -msgstr "" - -#: templates/part.contact.php:39 templates/part.contact.php:40 -#: templates/part.contact.php:126 -msgid "Organization" -msgstr "" - -#: templates/part.contact.php:40 templates/part.contact.php:42 -#: templates/part.contact.php:44 templates/part.contact.php:46 -#: templates/part.contact.php:50 templates/settings.php:36 -msgid "Delete" -msgstr "" - -#: templates/part.contact.php:41 templates/part.contact.php:127 -msgid "Nickname" -msgstr "" - -#: templates/part.contact.php:42 -msgid "Enter nickname" -msgstr "" - -#: templates/part.contact.php:43 templates/part.contact.php:134 -msgid "Web site" -msgstr "" - -#: templates/part.contact.php:44 -msgid "http://www.somesite.com" -msgstr "" - -#: templates/part.contact.php:44 -msgid "Go to web site" -msgstr "" - -#: templates/part.contact.php:46 -msgid "dd-mm-yyyy" -msgstr "" - -#: templates/part.contact.php:47 templates/part.contact.php:135 -msgid "Groups" -msgstr "" - -#: templates/part.contact.php:49 -msgid "Separate groups with commas" -msgstr "" - -#: templates/part.contact.php:50 -msgid "Edit groups" -msgstr "" - -#: templates/part.contact.php:59 templates/part.contact.php:73 -#: templates/part.contact.php:98 -msgid "Preferred" -msgstr "" - -#: templates/part.contact.php:60 -msgid "Please specify a valid email address." -msgstr "" - -#: templates/part.contact.php:60 -msgid "Enter email address" -msgstr "" - -#: templates/part.contact.php:64 -msgid "Mail to address" -msgstr "" - -#: templates/part.contact.php:65 -msgid "Delete email address" -msgstr "" - -#: templates/part.contact.php:75 -msgid "Enter phone number" -msgstr "" - -#: templates/part.contact.php:79 -msgid "Delete phone number" -msgstr "" - -#: templates/part.contact.php:100 -msgid "Instant Messenger" -msgstr "" - -#: templates/part.contact.php:101 -msgid "Delete IM" -msgstr "" - -#: templates/part.contact.php:110 -msgid "View on map" -msgstr "" - -#: templates/part.contact.php:110 -msgid "Edit address details" -msgstr "" - -#: templates/part.contact.php:116 -msgid "Add notes here." -msgstr "" - -#: templates/part.contact.php:124 -msgid "Add field" -msgstr "" - -#: templates/part.contact.php:129 -msgid "Phone" -msgstr "" - -#: templates/part.contact.php:130 -msgid "Email" -msgstr "" - -#: templates/part.contact.php:131 -msgid "Instant Messaging" -msgstr "" - -#: templates/part.contact.php:132 -msgid "Address" -msgstr "" - -#: templates/part.contact.php:133 -msgid "Note" -msgstr "" - -#: templates/part.contact.php:138 -msgid "Download contact" -msgstr "" - -#: templates/part.contact.php:139 -msgid "Delete contact" -msgstr "" - -#: templates/part.cropphoto.php:65 -msgid "The temporary image has been removed from cache." -msgstr "" - -#: templates/part.edit_address_dialog.php:6 -msgid "Edit address" -msgstr "" - -#: templates/part.edit_address_dialog.php:10 -msgid "Type" -msgstr "" - -#: templates/part.edit_address_dialog.php:18 -#: templates/part.edit_address_dialog.php:21 -msgid "PO Box" -msgstr "" - -#: templates/part.edit_address_dialog.php:24 -msgid "Street address" -msgstr "" - -#: templates/part.edit_address_dialog.php:27 -msgid "Street and number" -msgstr "" - -#: templates/part.edit_address_dialog.php:30 -msgid "Extended" -msgstr "" - -#: templates/part.edit_address_dialog.php:33 -msgid "Apartment number etc." -msgstr "" - -#: templates/part.edit_address_dialog.php:36 -#: templates/part.edit_address_dialog.php:39 -msgid "City" -msgstr "" - -#: templates/part.edit_address_dialog.php:42 -msgid "Region" -msgstr "" - -#: templates/part.edit_address_dialog.php:45 -msgid "E.g. state or province" -msgstr "" - -#: templates/part.edit_address_dialog.php:48 -msgid "Zipcode" -msgstr "" - -#: templates/part.edit_address_dialog.php:51 -msgid "Postal code" -msgstr "" - -#: templates/part.edit_address_dialog.php:54 -#: templates/part.edit_address_dialog.php:57 -msgid "Country" -msgstr "" - -#: templates/part.edit_name_dialog.php:16 -msgid "Addressbook" -msgstr "" - -#: templates/part.edit_name_dialog.php:23 -msgid "Hon. prefixes" -msgstr "" - -#: templates/part.edit_name_dialog.php:27 -msgid "Miss" -msgstr "" - -#: templates/part.edit_name_dialog.php:28 -msgid "Ms" -msgstr "" - -#: templates/part.edit_name_dialog.php:29 -msgid "Mr" -msgstr "" - -#: templates/part.edit_name_dialog.php:30 -msgid "Sir" -msgstr "" - -#: templates/part.edit_name_dialog.php:31 -msgid "Mrs" -msgstr "" - -#: templates/part.edit_name_dialog.php:32 -msgid "Dr" -msgstr "" - -#: templates/part.edit_name_dialog.php:35 -msgid "Given name" -msgstr "" - -#: templates/part.edit_name_dialog.php:37 -msgid "Additional names" -msgstr "" - -#: templates/part.edit_name_dialog.php:39 -msgid "Family name" -msgstr "" - -#: templates/part.edit_name_dialog.php:41 -msgid "Hon. suffixes" -msgstr "" - -#: templates/part.edit_name_dialog.php:45 -msgid "J.D." -msgstr "" - -#: templates/part.edit_name_dialog.php:46 -msgid "M.D." -msgstr "" - -#: templates/part.edit_name_dialog.php:47 -msgid "D.O." -msgstr "" - -#: templates/part.edit_name_dialog.php:48 -msgid "D.C." -msgstr "" - -#: templates/part.edit_name_dialog.php:49 -msgid "Ph.D." -msgstr "" - -#: templates/part.edit_name_dialog.php:50 -msgid "Esq." -msgstr "" - -#: templates/part.edit_name_dialog.php:51 -msgid "Jr." -msgstr "" - -#: templates/part.edit_name_dialog.php:52 -msgid "Sn." -msgstr "" - -#: templates/part.import.php:1 -msgid "Import a contacts file" -msgstr "" - -#: templates/part.import.php:6 -msgid "Please choose the addressbook" -msgstr "" - -#: templates/part.import.php:10 -msgid "create a new addressbook" -msgstr "" - -#: templates/part.import.php:15 -msgid "Name of new addressbook" -msgstr "" - -#: templates/part.import.php:20 -msgid "Importing contacts" -msgstr "" - -#: templates/part.no_contacts.php:3 -msgid "You have no contacts in your addressbook." -msgstr "" - -#: templates/part.no_contacts.php:5 -msgid "Add contact" -msgstr "" - -#: templates/part.selectaddressbook.php:1 -msgid "Select Address Books" -msgstr "" - -#: templates/part.selectaddressbook.php:27 -msgid "Enter name" -msgstr "" - -#: templates/part.selectaddressbook.php:29 -msgid "Enter description" -msgstr "" - -#: templates/settings.php:3 -msgid "CardDAV syncing addresses" -msgstr "" - -#: templates/settings.php:3 -msgid "more info" -msgstr "" - -#: templates/settings.php:5 -msgid "Primary address (Kontact et al)" -msgstr "" - -#: templates/settings.php:7 -msgid "iOS/OS X" -msgstr "" - -#: templates/settings.php:20 -msgid "Show CardDav link" -msgstr "" - -#: templates/settings.php:23 -msgid "Show read-only VCF link" -msgstr "" - -#: templates/settings.php:26 -msgid "Share" -msgstr "" - -#: templates/settings.php:29 -msgid "Download" -msgstr "" - -#: templates/settings.php:33 -msgid "Edit" -msgstr "" - -#: templates/settings.php:43 -msgid "New Address Book" -msgstr "" - -#: templates/settings.php:44 -msgid "Name" -msgstr "" - -#: templates/settings.php:45 -msgid "Description" -msgstr "" - -#: templates/settings.php:46 -msgid "Save" -msgstr "" - -#: templates/settings.php:47 -msgid "Cancel" -msgstr "" - -#: templates/settings.php:52 -msgid "More..." -msgstr "" diff --git a/l10n/hy/core.po b/l10n/hy/core.po index 92b68ed29b008f9b27a68610cc57d08e76d4820d..868a6e0e91c3950b3ad24df3b04694fbaf70b6bb 100644 --- a/l10n/hy/core.po +++ b/l10n/hy/core.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-16 02:04+0200\n" -"PO-Revision-Date: 2012-10-16 00:05+0000\n" +"POT-Creation-Date: 2012-10-18 02:03+0200\n" +"PO-Revision-Date: 2012-10-18 00:04+0000\n" "Last-Translator: I Robot \n" "Language-Team: Armenian (http://www.transifex.com/projects/p/owncloud/language/hy/)\n" "MIME-Version: 1.0\n" @@ -123,15 +123,11 @@ msgid "Error while changing permissions" msgstr "" #: js/share.js:130 -msgid "Shared with you and the group" -msgstr "" - -#: js/share.js:130 -msgid "by" +msgid "Shared with you and the group {group} by {owner}" msgstr "" #: js/share.js:132 -msgid "Shared with you by" +msgid "Shared with you by {owner}" msgstr "" #: js/share.js:137 @@ -172,11 +168,7 @@ msgid "Resharing is not allowed" msgstr "" #: js/share.js:250 -msgid "Shared in" -msgstr "" - -#: js/share.js:250 -msgid "with" +msgid "Shared in {item} with {user}" msgstr "" #: js/share.js:271 diff --git a/l10n/hy/files.po b/l10n/hy/files.po index c512f61b7853650f387935379461a7cd1b79d3ea..57f0d5ce5f88bce2835e13999c40ec96754c572c 100644 --- a/l10n/hy/files.po +++ b/l10n/hy/files.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-09-26 13:19+0200\n" -"PO-Revision-Date: 2012-09-26 11:20+0000\n" +"POT-Creation-Date: 2012-10-19 02:03+0200\n" +"PO-Revision-Date: 2012-10-19 00:04+0000\n" "Last-Translator: I Robot \n" "Language-Team: Armenian (http://www.transifex.com/projects/p/owncloud/language/hy/)\n" "MIME-Version: 1.0\n" @@ -63,152 +63,152 @@ msgstr "" msgid "Rename" msgstr "" -#: js/filelist.js:190 js/filelist.js:192 -msgid "already exists" +#: js/filelist.js:194 js/filelist.js:196 +msgid "{new_name} already exists" msgstr "" -#: js/filelist.js:190 js/filelist.js:192 +#: js/filelist.js:194 js/filelist.js:196 msgid "replace" msgstr "" -#: js/filelist.js:190 +#: js/filelist.js:194 msgid "suggest name" msgstr "" -#: js/filelist.js:190 js/filelist.js:192 +#: js/filelist.js:194 js/filelist.js:196 msgid "cancel" msgstr "" -#: js/filelist.js:239 js/filelist.js:241 -msgid "replaced" +#: js/filelist.js:243 +msgid "replaced {new_name}" msgstr "" -#: js/filelist.js:239 js/filelist.js:241 js/filelist.js:273 js/filelist.js:275 +#: js/filelist.js:243 js/filelist.js:245 js/filelist.js:277 js/filelist.js:279 msgid "undo" msgstr "" -#: js/filelist.js:241 -msgid "with" +#: js/filelist.js:245 +msgid "replaced {new_name} with {old_name}" msgstr "" -#: js/filelist.js:273 -msgid "unshared" +#: js/filelist.js:277 +msgid "unshared {files}" msgstr "" -#: js/filelist.js:275 -msgid "deleted" +#: js/filelist.js:279 +msgid "deleted {files}" msgstr "" #: js/files.js:179 msgid "generating ZIP-file, it may take some time." msgstr "" -#: js/files.js:208 +#: js/files.js:214 msgid "Unable to upload your file as it is a directory or has 0 bytes" msgstr "" -#: js/files.js:208 +#: js/files.js:214 msgid "Upload Error" msgstr "" -#: js/files.js:236 js/files.js:341 js/files.js:371 +#: js/files.js:242 js/files.js:347 js/files.js:377 msgid "Pending" msgstr "" -#: js/files.js:256 +#: js/files.js:262 msgid "1 file uploading" msgstr "" -#: js/files.js:259 js/files.js:304 js/files.js:319 -msgid "files uploading" +#: js/files.js:265 js/files.js:310 js/files.js:325 +msgid "{count} files uploading" msgstr "" -#: js/files.js:322 js/files.js:355 +#: js/files.js:328 js/files.js:361 msgid "Upload cancelled." msgstr "" -#: js/files.js:424 +#: js/files.js:430 msgid "" "File upload is in progress. Leaving the page now will cancel the upload." msgstr "" -#: js/files.js:494 +#: js/files.js:500 msgid "Invalid name, '/' is not allowed." msgstr "" -#: js/files.js:667 -msgid "files scanned" +#: js/files.js:681 +msgid "{count} files scanned" msgstr "" -#: js/files.js:675 +#: js/files.js:689 msgid "error while scanning" msgstr "" -#: js/files.js:748 templates/index.php:48 +#: js/files.js:762 templates/index.php:48 msgid "Name" msgstr "" -#: js/files.js:749 templates/index.php:56 +#: js/files.js:763 templates/index.php:56 msgid "Size" msgstr "" -#: js/files.js:750 templates/index.php:58 +#: js/files.js:764 templates/index.php:58 msgid "Modified" msgstr "" -#: js/files.js:777 -msgid "folder" +#: js/files.js:791 +msgid "1 folder" msgstr "" -#: js/files.js:779 -msgid "folders" +#: js/files.js:793 +msgid "{count} folders" msgstr "" -#: js/files.js:787 -msgid "file" +#: js/files.js:801 +msgid "1 file" msgstr "" -#: js/files.js:789 -msgid "files" +#: js/files.js:803 +msgid "{count} files" msgstr "" -#: js/files.js:833 +#: js/files.js:846 msgid "seconds ago" msgstr "" -#: js/files.js:834 -msgid "minute ago" +#: js/files.js:847 +msgid "1 minute ago" msgstr "" -#: js/files.js:835 -msgid "minutes ago" +#: js/files.js:848 +msgid "{minutes} minutes ago" msgstr "" -#: js/files.js:838 +#: js/files.js:851 msgid "today" msgstr "" -#: js/files.js:839 +#: js/files.js:852 msgid "yesterday" msgstr "" -#: js/files.js:840 -msgid "days ago" +#: js/files.js:853 +msgid "{days} days ago" msgstr "" -#: js/files.js:841 +#: js/files.js:854 msgid "last month" msgstr "" -#: js/files.js:843 +#: js/files.js:856 msgid "months ago" msgstr "" -#: js/files.js:844 +#: js/files.js:857 msgid "last year" msgstr "" -#: js/files.js:845 +#: js/files.js:858 msgid "years ago" msgstr "" diff --git a/l10n/hy/files_odfviewer.po b/l10n/hy/files_odfviewer.po deleted file mode 100644 index bdc26a3a67acd2fa433feb74dccec30e26db5363..0000000000000000000000000000000000000000 --- a/l10n/hy/files_odfviewer.po +++ /dev/null @@ -1,22 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 02:18+0200\n" -"PO-Revision-Date: 2012-08-26 00:19+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Armenian (http://www.transifex.com/projects/p/owncloud/language/hy/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: hy\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: js/viewer.js:9 -msgid "Close" -msgstr "" diff --git a/l10n/hy/files_pdfviewer.po b/l10n/hy/files_pdfviewer.po deleted file mode 100644 index 7b725e07b84839146b155b1e2d2bb2ef1ae3e732..0000000000000000000000000000000000000000 --- a/l10n/hy/files_pdfviewer.po +++ /dev/null @@ -1,42 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 02:18+0200\n" -"PO-Revision-Date: 2012-08-26 00:19+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Armenian (http://www.transifex.com/projects/p/owncloud/language/hy/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: hy\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: js/viewer.js:22 -msgid "Previous" -msgstr "" - -#: js/viewer.js:23 -msgid "Next" -msgstr "" - -#: js/viewer.js:29 -msgid "Page Width" -msgstr "" - -#: js/viewer.js:29 -msgid "Page Fit" -msgstr "" - -#: js/viewer.js:30 -msgid "Print" -msgstr "" - -#: js/viewer.js:32 -msgid "Download" -msgstr "" diff --git a/l10n/hy/files_texteditor.po b/l10n/hy/files_texteditor.po deleted file mode 100644 index e9e8f856c93008d137c872590900fe52577a56cb..0000000000000000000000000000000000000000 --- a/l10n/hy/files_texteditor.po +++ /dev/null @@ -1,44 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 01:17+0200\n" -"PO-Revision-Date: 2012-08-25 23:18+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Armenian (http://www.transifex.com/projects/p/owncloud/language/hy/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: hy\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: js/aceeditor/mode-coldfusion-uncompressed.js:1568 -#: js/aceeditor/mode-liquid-uncompressed.js:902 -#: js/aceeditor/mode-svg-uncompressed.js:1575 -msgid "regex" -msgstr "" - -#: js/editor.js:72 js/editor.js:156 js/editor.js:163 -msgid "Save" -msgstr "" - -#: js/editor.js:74 -msgid "Close" -msgstr "" - -#: js/editor.js:149 -msgid "Saving..." -msgstr "" - -#: js/editor.js:239 -msgid "An error occurred!" -msgstr "" - -#: js/editor.js:266 -msgid "There were unsaved changes, click here to go back" -msgstr "" diff --git a/l10n/hy/gallery.po b/l10n/hy/gallery.po deleted file mode 100644 index c9eb3b260a826958f67040e71cc89aa0a79ff701..0000000000000000000000000000000000000000 --- a/l10n/hy/gallery.po +++ /dev/null @@ -1,94 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-06-06 00:12+0200\n" -"PO-Revision-Date: 2012-06-05 22:15+0000\n" -"Last-Translator: icewind \n" -"Language-Team: Armenian (http://www.transifex.net/projects/p/owncloud/language/hy/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: hy\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: appinfo/app.php:37 -msgid "Pictures" -msgstr "" - -#: js/album_cover.js:44 -msgid "Share gallery" -msgstr "" - -#: js/album_cover.js:64 js/album_cover.js:100 js/album_cover.js:133 -msgid "Error: " -msgstr "" - -#: js/album_cover.js:64 js/album_cover.js:100 -msgid "Internal error" -msgstr "" - -#: js/album_cover.js:114 -msgid "Scanning root" -msgstr "" - -#: js/album_cover.js:115 -msgid "Default order" -msgstr "" - -#: js/album_cover.js:116 -msgid "Ascending" -msgstr "" - -#: js/album_cover.js:116 -msgid "Descending" -msgstr "" - -#: js/album_cover.js:117 templates/index.php:19 -msgid "Settings" -msgstr "" - -#: js/album_cover.js:122 -msgid "Scanning root cannot be empty" -msgstr "" - -#: js/album_cover.js:122 js/album_cover.js:133 -msgid "Error" -msgstr "" - -#: templates/index.php:16 -msgid "Rescan" -msgstr "" - -#: templates/index.php:17 -msgid "Stop" -msgstr "" - -#: templates/index.php:18 -msgid "Share" -msgstr "" - -#: templates/view_album.php:19 -msgid "Back" -msgstr "" - -#: templates/view_album.php:36 -msgid "Remove confirmation" -msgstr "" - -#: templates/view_album.php:37 -msgid "Do you want to remove album" -msgstr "" - -#: templates/view_album.php:40 -msgid "Change album name" -msgstr "" - -#: templates/view_album.php:43 -msgid "New album name" -msgstr "" diff --git a/l10n/hy/impress.po b/l10n/hy/impress.po deleted file mode 100644 index 78bcd125e1a8be817e2190f94874760124d8628b..0000000000000000000000000000000000000000 --- a/l10n/hy/impress.po +++ /dev/null @@ -1,22 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 01:17+0200\n" -"PO-Revision-Date: 2012-08-25 23:18+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Armenian (http://www.transifex.com/projects/p/owncloud/language/hy/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: hy\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: templates/presentations.php:7 -msgid "Documentation" -msgstr "" diff --git a/l10n/hy/media.po b/l10n/hy/media.po deleted file mode 100644 index fb40ed0755f536428bfbb6fa1adf3a6d0bb1bb02..0000000000000000000000000000000000000000 --- a/l10n/hy/media.po +++ /dev/null @@ -1,66 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-06-06 00:12+0200\n" -"PO-Revision-Date: 2012-06-05 22:15+0000\n" -"Last-Translator: icewind \n" -"Language-Team: Armenian (http://www.transifex.net/projects/p/owncloud/language/hy/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: hy\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: appinfo/app.php:32 templates/player.php:8 -msgid "Music" -msgstr "" - -#: js/music.js:18 -msgid "Add album to playlist" -msgstr "" - -#: templates/music.php:3 templates/player.php:12 -msgid "Play" -msgstr "" - -#: templates/music.php:4 templates/music.php:26 templates/player.php:13 -msgid "Pause" -msgstr "" - -#: templates/music.php:5 -msgid "Previous" -msgstr "" - -#: templates/music.php:6 templates/player.php:14 -msgid "Next" -msgstr "" - -#: templates/music.php:7 -msgid "Mute" -msgstr "" - -#: templates/music.php:8 -msgid "Unmute" -msgstr "" - -#: templates/music.php:25 -msgid "Rescan Collection" -msgstr "" - -#: templates/music.php:37 -msgid "Artist" -msgstr "" - -#: templates/music.php:38 -msgid "Album" -msgstr "" - -#: templates/music.php:39 -msgid "Title" -msgstr "" diff --git a/l10n/hy/tasks.po b/l10n/hy/tasks.po deleted file mode 100644 index d459a98917c377fb752b5e22ced51fe0e88ce5ba..0000000000000000000000000000000000000000 --- a/l10n/hy/tasks.po +++ /dev/null @@ -1,106 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:44+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Armenian (http://www.transifex.com/projects/p/owncloud/language/hy/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: hy\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: ajax/update_property.php:51 lib/app.php:89 lib/app.php:101 -msgid "Invalid date/time" -msgstr "" - -#: appinfo/app.php:11 -msgid "Tasks" -msgstr "" - -#: js/tasks.js:415 -msgid "No category" -msgstr "" - -#: lib/app.php:33 -msgid "Unspecified" -msgstr "" - -#: lib/app.php:34 -msgid "1=highest" -msgstr "" - -#: lib/app.php:38 -msgid "5=medium" -msgstr "" - -#: lib/app.php:42 -msgid "9=lowest" -msgstr "" - -#: lib/app.php:81 -msgid "Empty Summary" -msgstr "" - -#: lib/app.php:93 -msgid "Invalid percent complete" -msgstr "" - -#: lib/app.php:107 -msgid "Invalid priority" -msgstr "" - -#: templates/tasks.php:3 -msgid "Add Task" -msgstr "" - -#: templates/tasks.php:4 -msgid "Order Due" -msgstr "" - -#: templates/tasks.php:5 -msgid "Order List" -msgstr "" - -#: templates/tasks.php:6 -msgid "Order Complete" -msgstr "" - -#: templates/tasks.php:7 -msgid "Order Location" -msgstr "" - -#: templates/tasks.php:8 -msgid "Order Priority" -msgstr "" - -#: templates/tasks.php:9 -msgid "Order Label" -msgstr "" - -#: templates/tasks.php:16 -msgid "Loading tasks..." -msgstr "" - -#: templates/tasks.php:20 -msgid "Important" -msgstr "" - -#: templates/tasks.php:23 -msgid "More" -msgstr "" - -#: templates/tasks.php:26 -msgid "Less" -msgstr "" - -#: templates/tasks.php:29 -msgid "Delete" -msgstr "" diff --git a/l10n/hy/user_migrate.po b/l10n/hy/user_migrate.po deleted file mode 100644 index b834f8ceeeef7aaec4975e249272eea240cbd5e8..0000000000000000000000000000000000000000 --- a/l10n/hy/user_migrate.po +++ /dev/null @@ -1,51 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:45+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Armenian (http://www.transifex.com/projects/p/owncloud/language/hy/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: hy\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: js/export.js:14 js/export.js:20 -msgid "Export" -msgstr "" - -#: js/export.js:19 -msgid "Something went wrong while the export file was being generated" -msgstr "" - -#: js/export.js:19 -msgid "An error has occurred" -msgstr "" - -#: templates/settings.php:2 -msgid "Export your user account" -msgstr "" - -#: templates/settings.php:3 -msgid "" -"This will create a compressed file that contains your ownCloud account." -msgstr "" - -#: templates/settings.php:13 -msgid "Import user account" -msgstr "" - -#: templates/settings.php:15 -msgid "ownCloud User Zip" -msgstr "" - -#: templates/settings.php:17 -msgid "Import" -msgstr "" diff --git a/l10n/hy/user_openid.po b/l10n/hy/user_openid.po deleted file mode 100644 index ccf243a3aa0e37ee6fb4ee34ed23258c6051640a..0000000000000000000000000000000000000000 --- a/l10n/hy/user_openid.po +++ /dev/null @@ -1,54 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:45+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Armenian (http://www.transifex.com/projects/p/owncloud/language/hy/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: hy\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: templates/nomode.php:12 -msgid "This is an OpenID server endpoint. For more information, see " -msgstr "" - -#: templates/nomode.php:14 -msgid "Identity: " -msgstr "" - -#: templates/nomode.php:15 -msgid "Realm: " -msgstr "" - -#: templates/nomode.php:16 -msgid "User: " -msgstr "" - -#: templates/nomode.php:17 -msgid "Login" -msgstr "" - -#: templates/nomode.php:22 -msgid "Error: No user Selected" -msgstr "" - -#: templates/settings.php:4 -msgid "you can authenticate to other sites with this address" -msgstr "" - -#: templates/settings.php:5 -msgid "Authorized OpenID provider" -msgstr "" - -#: templates/settings.php:6 -msgid "Your address at Wordpress, Identi.ca, …" -msgstr "" diff --git a/l10n/ia/admin_dependencies_chk.po b/l10n/ia/admin_dependencies_chk.po deleted file mode 100644 index 1ac2e890832ff18dc24777c1327767fa5b72abb7..0000000000000000000000000000000000000000 --- a/l10n/ia/admin_dependencies_chk.po +++ /dev/null @@ -1,73 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:33+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Interlingua (http://www.transifex.com/projects/p/owncloud/language/ia/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ia\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: settings.php:33 -msgid "" -"The php-json module is needed by the many applications for inter " -"communications" -msgstr "" - -#: settings.php:39 -msgid "" -"The php-curl modude is needed to fetch the page title when adding a " -"bookmarks" -msgstr "" - -#: settings.php:45 -msgid "The php-gd module is needed to create thumbnails of your images" -msgstr "" - -#: settings.php:51 -msgid "The php-ldap module is needed connect to your ldap server" -msgstr "" - -#: settings.php:57 -msgid "The php-zip module is needed download multiple files at once" -msgstr "" - -#: settings.php:63 -msgid "" -"The php-mb_multibyte module is needed to manage correctly the encoding." -msgstr "" - -#: settings.php:69 -msgid "The php-ctype module is needed validate data." -msgstr "" - -#: settings.php:75 -msgid "The php-xml module is needed to share files with webdav." -msgstr "" - -#: settings.php:81 -msgid "" -"The allow_url_fopen directive of your php.ini should be set to 1 to retrieve" -" knowledge base from OCS servers" -msgstr "" - -#: settings.php:87 -msgid "The php-pdo module is needed to store owncloud data into a database." -msgstr "" - -#: templates/settings.php:2 -msgid "Dependencies status" -msgstr "" - -#: templates/settings.php:7 -msgid "Used by :" -msgstr "" diff --git a/l10n/ia/admin_migrate.po b/l10n/ia/admin_migrate.po deleted file mode 100644 index c767ecf34f8a20aaa8531cb7faf614bf7121c62d..0000000000000000000000000000000000000000 --- a/l10n/ia/admin_migrate.po +++ /dev/null @@ -1,32 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:32+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Interlingua (http://www.transifex.com/projects/p/owncloud/language/ia/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ia\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: templates/settings.php:3 -msgid "Export this ownCloud instance" -msgstr "" - -#: templates/settings.php:4 -msgid "" -"This will create a compressed file that contains the data of this owncloud instance.\n" -" Please choose the export type:" -msgstr "" - -#: templates/settings.php:12 -msgid "Export" -msgstr "" diff --git a/l10n/ia/bookmarks.po b/l10n/ia/bookmarks.po deleted file mode 100644 index 1848a204c0a4c45a448e68de67fc216929c4d77a..0000000000000000000000000000000000000000 --- a/l10n/ia/bookmarks.po +++ /dev/null @@ -1,60 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-07-28 02:02+0200\n" -"PO-Revision-Date: 2012-07-27 22:17+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Interlingua (http://www.transifex.com/projects/p/owncloud/language/ia/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ia\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: appinfo/app.php:14 -msgid "Bookmarks" -msgstr "" - -#: bookmarksHelper.php:99 -msgid "unnamed" -msgstr "" - -#: templates/bookmarklet.php:5 -msgid "" -"Drag this to your browser bookmarks and click it, when you want to bookmark " -"a webpage quickly:" -msgstr "" - -#: templates/bookmarklet.php:7 -msgid "Read later" -msgstr "" - -#: templates/list.php:13 -msgid "Address" -msgstr "" - -#: templates/list.php:14 -msgid "Title" -msgstr "" - -#: templates/list.php:15 -msgid "Tags" -msgstr "" - -#: templates/list.php:16 -msgid "Save bookmark" -msgstr "" - -#: templates/list.php:22 -msgid "You have no bookmarks" -msgstr "" - -#: templates/settings.php:11 -msgid "Bookmarklet
" -msgstr "" diff --git a/l10n/ia/calendar.po b/l10n/ia/calendar.po deleted file mode 100644 index 1f9814996359efdacaf1136585e86c9bc301ff1a..0000000000000000000000000000000000000000 --- a/l10n/ia/calendar.po +++ /dev/null @@ -1,814 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Emilio Sepúlveda , 2011. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-11 02:02+0200\n" -"PO-Revision-Date: 2012-08-11 00:02+0000\n" -"Last-Translator: owncloud_robot \n" -"Language-Team: Interlingua (http://www.transifex.com/projects/p/owncloud/language/ia/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ia\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: ajax/cache/status.php:19 -msgid "Not all calendars are completely cached" -msgstr "" - -#: ajax/cache/status.php:21 -msgid "Everything seems to be completely cached" -msgstr "" - -#: ajax/categories/rescan.php:29 -msgid "No calendars found." -msgstr "Necun calendarios trovate." - -#: ajax/categories/rescan.php:37 -msgid "No events found." -msgstr "Nulle eventos trovate." - -#: ajax/event/edit.form.php:20 -msgid "Wrong calendar" -msgstr "" - -#: ajax/import/dropimport.php:29 ajax/import/import.php:64 -msgid "" -"The file contained either no events or all events are already saved in your " -"calendar." -msgstr "" - -#: ajax/import/dropimport.php:31 ajax/import/import.php:67 -msgid "events has been saved in the new calendar" -msgstr "" - -#: ajax/import/import.php:56 -msgid "Import failed" -msgstr "" - -#: ajax/import/import.php:69 -msgid "events has been saved in your calendar" -msgstr "" - -#: ajax/settings/guesstimezone.php:25 -msgid "New Timezone:" -msgstr "Nove fuso horari" - -#: ajax/settings/settimezone.php:23 -msgid "Timezone changed" -msgstr "" - -#: ajax/settings/settimezone.php:25 -msgid "Invalid request" -msgstr "Requesta invalide." - -#: appinfo/app.php:35 templates/calendar.php:15 -#: templates/part.eventform.php:33 templates/part.showevent.php:33 -msgid "Calendar" -msgstr "Calendario" - -#: js/calendar.js:832 -msgid "ddd" -msgstr "" - -#: js/calendar.js:833 -msgid "ddd M/d" -msgstr "" - -#: js/calendar.js:834 -msgid "dddd M/d" -msgstr "" - -#: js/calendar.js:837 -msgid "MMMM yyyy" -msgstr "" - -#: js/calendar.js:839 -msgid "MMM d[ yyyy]{ '—'[ MMM] d yyyy}" -msgstr "" - -#: js/calendar.js:841 -msgid "dddd, MMM d, yyyy" -msgstr "" - -#: lib/app.php:121 -msgid "Birthday" -msgstr "Anniversario de nativitate" - -#: lib/app.php:122 -msgid "Business" -msgstr "Affaires" - -#: lib/app.php:123 -msgid "Call" -msgstr "Appello" - -#: lib/app.php:124 -msgid "Clients" -msgstr "Clientes" - -#: lib/app.php:125 -msgid "Deliverer" -msgstr "" - -#: lib/app.php:126 -msgid "Holidays" -msgstr "Dies feriate" - -#: lib/app.php:127 -msgid "Ideas" -msgstr "" - -#: lib/app.php:128 -msgid "Journey" -msgstr "" - -#: lib/app.php:129 -msgid "Jubilee" -msgstr "" - -#: lib/app.php:130 -msgid "Meeting" -msgstr "Incontro" - -#: lib/app.php:131 -msgid "Other" -msgstr "Altere" - -#: lib/app.php:132 -msgid "Personal" -msgstr "Personal" - -#: lib/app.php:133 -msgid "Projects" -msgstr "Projectos" - -#: lib/app.php:134 -msgid "Questions" -msgstr "Demandas" - -#: lib/app.php:135 -msgid "Work" -msgstr "Travalio" - -#: lib/app.php:351 lib/app.php:361 -msgid "by" -msgstr "" - -#: lib/app.php:359 lib/app.php:399 -msgid "unnamed" -msgstr "sin nomine" - -#: lib/import.php:184 templates/calendar.php:12 -#: templates/part.choosecalendar.php:22 -msgid "New Calendar" -msgstr "Nove calendario" - -#: lib/object.php:372 -msgid "Does not repeat" -msgstr "Non repite" - -#: lib/object.php:373 -msgid "Daily" -msgstr "Quotidian" - -#: lib/object.php:374 -msgid "Weekly" -msgstr "Septimanal" - -#: lib/object.php:375 -msgid "Every Weekday" -msgstr "Cata die" - -#: lib/object.php:376 -msgid "Bi-Weekly" -msgstr "" - -#: lib/object.php:377 -msgid "Monthly" -msgstr "Mensual" - -#: lib/object.php:378 -msgid "Yearly" -msgstr "Cata anno" - -#: lib/object.php:388 -msgid "never" -msgstr "nunquam" - -#: lib/object.php:389 -msgid "by occurrences" -msgstr "" - -#: lib/object.php:390 -msgid "by date" -msgstr "per data" - -#: lib/object.php:400 -msgid "by monthday" -msgstr "" - -#: lib/object.php:401 -msgid "by weekday" -msgstr "" - -#: lib/object.php:411 templates/calendar.php:5 templates/settings.php:69 -msgid "Monday" -msgstr "Lunedi" - -#: lib/object.php:412 templates/calendar.php:5 -msgid "Tuesday" -msgstr "Martedi" - -#: lib/object.php:413 templates/calendar.php:5 -msgid "Wednesday" -msgstr "Mercuridi" - -#: lib/object.php:414 templates/calendar.php:5 -msgid "Thursday" -msgstr "Jovedi" - -#: lib/object.php:415 templates/calendar.php:5 -msgid "Friday" -msgstr "Venerdi" - -#: lib/object.php:416 templates/calendar.php:5 -msgid "Saturday" -msgstr "Sabbato" - -#: lib/object.php:417 templates/calendar.php:5 templates/settings.php:70 -msgid "Sunday" -msgstr "Dominica" - -#: lib/object.php:427 -msgid "events week of month" -msgstr "" - -#: lib/object.php:428 -msgid "first" -msgstr "prime" - -#: lib/object.php:429 -msgid "second" -msgstr "secunde" - -#: lib/object.php:430 -msgid "third" -msgstr "tertie" - -#: lib/object.php:431 -msgid "fourth" -msgstr "" - -#: lib/object.php:432 -msgid "fifth" -msgstr "" - -#: lib/object.php:433 -msgid "last" -msgstr "ultime" - -#: lib/object.php:467 templates/calendar.php:7 -msgid "January" -msgstr "januario" - -#: lib/object.php:468 templates/calendar.php:7 -msgid "February" -msgstr "Februario" - -#: lib/object.php:469 templates/calendar.php:7 -msgid "March" -msgstr "Martio" - -#: lib/object.php:470 templates/calendar.php:7 -msgid "April" -msgstr "April" - -#: lib/object.php:471 templates/calendar.php:7 -msgid "May" -msgstr "Mai" - -#: lib/object.php:472 templates/calendar.php:7 -msgid "June" -msgstr "Junio" - -#: lib/object.php:473 templates/calendar.php:7 -msgid "July" -msgstr "Julio" - -#: lib/object.php:474 templates/calendar.php:7 -msgid "August" -msgstr "Augusto" - -#: lib/object.php:475 templates/calendar.php:7 -msgid "September" -msgstr "Septembre" - -#: lib/object.php:476 templates/calendar.php:7 -msgid "October" -msgstr "Octobre" - -#: lib/object.php:477 templates/calendar.php:7 -msgid "November" -msgstr "Novembre" - -#: lib/object.php:478 templates/calendar.php:7 -msgid "December" -msgstr "Decembre" - -#: lib/object.php:488 -msgid "by events date" -msgstr "per data de eventos" - -#: lib/object.php:489 -msgid "by yearday(s)" -msgstr "" - -#: lib/object.php:490 -msgid "by weeknumber(s)" -msgstr "" - -#: lib/object.php:491 -msgid "by day and month" -msgstr "per dia e mense" - -#: lib/search.php:35 lib/search.php:37 lib/search.php:40 -msgid "Date" -msgstr "Data" - -#: lib/search.php:43 -msgid "Cal." -msgstr "" - -#: templates/calendar.php:6 -msgid "Sun." -msgstr "" - -#: templates/calendar.php:6 -msgid "Mon." -msgstr "" - -#: templates/calendar.php:6 -msgid "Tue." -msgstr "" - -#: templates/calendar.php:6 -msgid "Wed." -msgstr "" - -#: templates/calendar.php:6 -msgid "Thu." -msgstr "" - -#: templates/calendar.php:6 -msgid "Fri." -msgstr "" - -#: templates/calendar.php:6 -msgid "Sat." -msgstr "" - -#: templates/calendar.php:8 -msgid "Jan." -msgstr "" - -#: templates/calendar.php:8 -msgid "Feb." -msgstr "" - -#: templates/calendar.php:8 -msgid "Mar." -msgstr "" - -#: templates/calendar.php:8 -msgid "Apr." -msgstr "" - -#: templates/calendar.php:8 -msgid "May." -msgstr "" - -#: templates/calendar.php:8 -msgid "Jun." -msgstr "" - -#: templates/calendar.php:8 -msgid "Jul." -msgstr "" - -#: templates/calendar.php:8 -msgid "Aug." -msgstr "" - -#: templates/calendar.php:8 -msgid "Sep." -msgstr "" - -#: templates/calendar.php:8 -msgid "Oct." -msgstr "" - -#: templates/calendar.php:8 -msgid "Nov." -msgstr "" - -#: templates/calendar.php:8 -msgid "Dec." -msgstr "" - -#: templates/calendar.php:11 -msgid "All day" -msgstr "Omne die" - -#: templates/calendar.php:13 -msgid "Missing fields" -msgstr "Campos incomplete" - -#: templates/calendar.php:14 templates/part.eventform.php:19 -#: templates/part.showevent.php:11 -msgid "Title" -msgstr "Titulo" - -#: templates/calendar.php:16 -msgid "From Date" -msgstr "Data de initio" - -#: templates/calendar.php:17 -msgid "From Time" -msgstr "Hora de initio" - -#: templates/calendar.php:18 -msgid "To Date" -msgstr "Data de fin" - -#: templates/calendar.php:19 -msgid "To Time" -msgstr "Hora de fin" - -#: templates/calendar.php:20 -msgid "The event ends before it starts" -msgstr "" - -#: templates/calendar.php:21 -msgid "There was a database fail" -msgstr "" - -#: templates/calendar.php:39 -msgid "Week" -msgstr "Septimana" - -#: templates/calendar.php:40 -msgid "Month" -msgstr "Mense" - -#: templates/calendar.php:41 -msgid "List" -msgstr "Lista" - -#: templates/calendar.php:45 -msgid "Today" -msgstr "Hodie" - -#: templates/calendar.php:46 templates/calendar.php:47 -msgid "Settings" -msgstr "" - -#: templates/part.choosecalendar.php:2 -msgid "Your calendars" -msgstr "Tu calendarios" - -#: templates/part.choosecalendar.php:27 -#: templates/part.choosecalendar.rowfields.php:11 -msgid "CalDav Link" -msgstr "" - -#: templates/part.choosecalendar.php:31 -msgid "Shared calendars" -msgstr "" - -#: templates/part.choosecalendar.php:48 -msgid "No shared calendars" -msgstr "" - -#: templates/part.choosecalendar.rowfields.php:8 -msgid "Share Calendar" -msgstr "" - -#: templates/part.choosecalendar.rowfields.php:14 -msgid "Download" -msgstr "Discarga" - -#: templates/part.choosecalendar.rowfields.php:17 -msgid "Edit" -msgstr "Modificar" - -#: templates/part.choosecalendar.rowfields.php:20 -#: templates/part.editevent.php:9 -msgid "Delete" -msgstr "Deler" - -#: templates/part.choosecalendar.rowfields.shared.php:4 -msgid "shared with you by" -msgstr "" - -#: templates/part.editcalendar.php:9 -msgid "New calendar" -msgstr "Nove calendario" - -#: templates/part.editcalendar.php:9 -msgid "Edit calendar" -msgstr "Modificar calendario" - -#: templates/part.editcalendar.php:12 -msgid "Displayname" -msgstr "" - -#: templates/part.editcalendar.php:23 -msgid "Active" -msgstr "Active" - -#: templates/part.editcalendar.php:29 -msgid "Calendar color" -msgstr "Color de calendario" - -#: templates/part.editcalendar.php:42 -msgid "Save" -msgstr "Salveguardar" - -#: templates/part.editcalendar.php:42 templates/part.editevent.php:8 -#: templates/part.newevent.php:6 -msgid "Submit" -msgstr "Inviar" - -#: templates/part.editcalendar.php:43 -msgid "Cancel" -msgstr "Cancellar" - -#: templates/part.editevent.php:1 -msgid "Edit an event" -msgstr "Modificar evento" - -#: templates/part.editevent.php:10 -msgid "Export" -msgstr "Exportar" - -#: templates/part.eventform.php:8 templates/part.showevent.php:3 -msgid "Eventinfo" -msgstr "" - -#: templates/part.eventform.php:9 templates/part.showevent.php:4 -msgid "Repeating" -msgstr "" - -#: templates/part.eventform.php:10 templates/part.showevent.php:5 -msgid "Alarm" -msgstr "" - -#: templates/part.eventform.php:11 templates/part.showevent.php:6 -msgid "Attendees" -msgstr "" - -#: templates/part.eventform.php:13 -msgid "Share" -msgstr "Compartir" - -#: templates/part.eventform.php:21 -msgid "Title of the Event" -msgstr "Titulo del evento." - -#: templates/part.eventform.php:27 templates/part.showevent.php:19 -msgid "Category" -msgstr "Categoria" - -#: templates/part.eventform.php:29 -msgid "Separate categories with commas" -msgstr "" - -#: templates/part.eventform.php:30 -msgid "Edit categories" -msgstr "Modificar categorias" - -#: templates/part.eventform.php:56 templates/part.showevent.php:52 -msgid "All Day Event" -msgstr "" - -#: templates/part.eventform.php:60 templates/part.showevent.php:56 -msgid "From" -msgstr "Ab" - -#: templates/part.eventform.php:68 templates/part.showevent.php:64 -msgid "To" -msgstr "A" - -#: templates/part.eventform.php:76 templates/part.showevent.php:72 -msgid "Advanced options" -msgstr "Optiones avantiate" - -#: templates/part.eventform.php:81 templates/part.showevent.php:77 -msgid "Location" -msgstr "Loco" - -#: templates/part.eventform.php:83 -msgid "Location of the Event" -msgstr "Loco del evento." - -#: templates/part.eventform.php:89 templates/part.showevent.php:85 -msgid "Description" -msgstr "Description" - -#: templates/part.eventform.php:91 -msgid "Description of the Event" -msgstr "Description del evento" - -#: templates/part.eventform.php:100 templates/part.showevent.php:95 -msgid "Repeat" -msgstr "Repeter" - -#: templates/part.eventform.php:107 templates/part.showevent.php:102 -msgid "Advanced" -msgstr "Avantiate" - -#: templates/part.eventform.php:151 templates/part.showevent.php:146 -msgid "Select weekdays" -msgstr "Seliger dies del septimana" - -#: templates/part.eventform.php:164 templates/part.eventform.php:177 -#: templates/part.showevent.php:159 templates/part.showevent.php:172 -msgid "Select days" -msgstr "Seliger dies" - -#: templates/part.eventform.php:169 templates/part.showevent.php:164 -msgid "and the events day of year." -msgstr "" - -#: templates/part.eventform.php:182 templates/part.showevent.php:177 -msgid "and the events day of month." -msgstr "" - -#: templates/part.eventform.php:190 templates/part.showevent.php:185 -msgid "Select months" -msgstr "Seliger menses" - -#: templates/part.eventform.php:203 templates/part.showevent.php:198 -msgid "Select weeks" -msgstr "Seliger septimanas" - -#: templates/part.eventform.php:208 templates/part.showevent.php:203 -msgid "and the events week of year." -msgstr "" - -#: templates/part.eventform.php:214 templates/part.showevent.php:209 -msgid "Interval" -msgstr "Intervallo" - -#: templates/part.eventform.php:220 templates/part.showevent.php:215 -msgid "End" -msgstr "Fin" - -#: templates/part.eventform.php:233 templates/part.showevent.php:228 -msgid "occurrences" -msgstr "" - -#: templates/part.import.php:14 -msgid "create a new calendar" -msgstr "crear un nove calendario" - -#: templates/part.import.php:17 -msgid "Import a calendar file" -msgstr "Importar un file de calendario" - -#: templates/part.import.php:24 -msgid "Please choose a calendar" -msgstr "" - -#: templates/part.import.php:36 -msgid "Name of new calendar" -msgstr "Nomine del calendario" - -#: templates/part.import.php:44 -msgid "Take an available name!" -msgstr "" - -#: templates/part.import.php:45 -msgid "" -"A Calendar with this name already exists. If you continue anyhow, these " -"calendars will be merged." -msgstr "" - -#: templates/part.import.php:47 -msgid "Import" -msgstr "Importar" - -#: templates/part.import.php:56 -msgid "Close Dialog" -msgstr "Clauder dialogo" - -#: templates/part.newevent.php:1 -msgid "Create a new event" -msgstr "Crear un nove evento" - -#: templates/part.showevent.php:1 -msgid "View an event" -msgstr "Vide un evento" - -#: templates/part.showevent.php:23 -msgid "No categories selected" -msgstr "Nulle categorias seligite" - -#: templates/part.showevent.php:37 -msgid "of" -msgstr "de" - -#: templates/part.showevent.php:59 templates/part.showevent.php:67 -msgid "at" -msgstr "in" - -#: templates/settings.php:10 -msgid "General" -msgstr "" - -#: templates/settings.php:15 -msgid "Timezone" -msgstr "Fuso horari" - -#: templates/settings.php:47 -msgid "Update timezone automatically" -msgstr "" - -#: templates/settings.php:52 -msgid "Time format" -msgstr "" - -#: templates/settings.php:57 -msgid "24h" -msgstr "" - -#: templates/settings.php:58 -msgid "12h" -msgstr "" - -#: templates/settings.php:64 -msgid "Start week on" -msgstr "" - -#: templates/settings.php:76 -msgid "Cache" -msgstr "" - -#: templates/settings.php:80 -msgid "Clear cache for repeating events" -msgstr "" - -#: templates/settings.php:85 -msgid "URLs" -msgstr "" - -#: templates/settings.php:87 -msgid "Calendar CalDAV syncing addresses" -msgstr "" - -#: templates/settings.php:87 -msgid "more info" -msgstr "" - -#: templates/settings.php:89 -msgid "Primary address (Kontact et al)" -msgstr "" - -#: templates/settings.php:91 -msgid "iOS/OS X" -msgstr "" - -#: templates/settings.php:93 -msgid "Read only iCalendar link(s)" -msgstr "" - -#: templates/share.dropdown.php:20 -msgid "Users" -msgstr "Usatores" - -#: templates/share.dropdown.php:21 -msgid "select users" -msgstr "" - -#: templates/share.dropdown.php:36 templates/share.dropdown.php:62 -msgid "Editable" -msgstr "" - -#: templates/share.dropdown.php:48 -msgid "Groups" -msgstr "Gruppos" - -#: templates/share.dropdown.php:49 -msgid "select groups" -msgstr "" - -#: templates/share.dropdown.php:75 -msgid "make public" -msgstr "" diff --git a/l10n/ia/contacts.po b/l10n/ia/contacts.po deleted file mode 100644 index 8b6bbeb6752f0b493142436aac77ade0ab1c0359..0000000000000000000000000000000000000000 --- a/l10n/ia/contacts.po +++ /dev/null @@ -1,954 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Emilio Sepúlveda , 2011. -# Emilio Sepúlveda , 2011. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-24 02:02+0200\n" -"PO-Revision-Date: 2012-08-24 00:03+0000\n" -"Last-Translator: I Robot \n" -"Language-Team: Interlingua (http://www.transifex.com/projects/p/owncloud/language/ia/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ia\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: ajax/addressbook/activate.php:24 ajax/addressbook/update.php:32 -msgid "Error (de)activating addressbook." -msgstr "" - -#: ajax/addressbook/delete.php:31 ajax/addressbook/update.php:20 -#: ajax/contact/addproperty.php:42 ajax/contact/delete.php:32 -#: ajax/contact/saveproperty.php:39 -msgid "id is not set." -msgstr "" - -#: ajax/addressbook/update.php:24 -msgid "Cannot update addressbook with an empty name." -msgstr "" - -#: ajax/addressbook/update.php:28 -msgid "Error updating addressbook." -msgstr "" - -#: ajax/categories/categoriesfor.php:17 -msgid "No ID provided" -msgstr "" - -#: ajax/categories/categoriesfor.php:34 -msgid "Error setting checksum." -msgstr "" - -#: ajax/categories/delete.php:19 -msgid "No categories selected for deletion." -msgstr "" - -#: ajax/categories/delete.php:26 -msgid "No address books found." -msgstr "Nulle adressario trovate" - -#: ajax/categories/delete.php:34 -msgid "No contacts found." -msgstr "Nulle contactos trovate." - -#: ajax/contact/add.php:47 -msgid "There was an error adding the contact." -msgstr "" - -#: ajax/contact/addproperty.php:39 ajax/contact/saveproperty.php:36 -msgid "element name is not set." -msgstr "" - -#: ajax/contact/addproperty.php:46 -msgid "Could not parse contact: " -msgstr "" - -#: ajax/contact/addproperty.php:56 -msgid "Cannot add empty property." -msgstr "Non pote adder proprietate vacue." - -#: ajax/contact/addproperty.php:67 -msgid "At least one of the address fields has to be filled out." -msgstr "" - -#: ajax/contact/addproperty.php:76 -msgid "Trying to add duplicate property: " -msgstr "" - -#: ajax/contact/addproperty.php:115 ajax/contact/saveproperty.php:93 -msgid "Missing IM parameter." -msgstr "" - -#: ajax/contact/addproperty.php:119 ajax/contact/saveproperty.php:97 -msgid "Unknown IM: " -msgstr "" - -#: ajax/contact/deleteproperty.php:37 -msgid "Information about vCard is incorrect. Please reload the page." -msgstr "" - -#: ajax/contact/details.php:31 -msgid "Missing ID" -msgstr "" - -#: ajax/contact/details.php:36 -msgid "Error parsing VCard for ID: \"" -msgstr "" - -#: ajax/contact/saveproperty.php:42 -msgid "checksum is not set." -msgstr "" - -#: ajax/contact/saveproperty.php:62 -msgid "Information about vCard is incorrect. Please reload the page: " -msgstr "" - -#: ajax/contact/saveproperty.php:69 -msgid "Something went FUBAR. " -msgstr "" - -#: ajax/currentphoto.php:30 ajax/oc_photo.php:28 ajax/uploadphoto.php:36 -#: ajax/uploadphoto.php:68 -msgid "No contact ID was submitted." -msgstr "" - -#: ajax/currentphoto.php:36 -msgid "Error reading contact photo." -msgstr "" - -#: ajax/currentphoto.php:48 -msgid "Error saving temporary file." -msgstr "Error durante le scriptura in le file temporari" - -#: ajax/currentphoto.php:51 -msgid "The loading photo is not valid." -msgstr "" - -#: ajax/editname.php:31 -msgid "Contact ID is missing." -msgstr "" - -#: ajax/oc_photo.php:32 -msgid "No photo path was submitted." -msgstr "" - -#: ajax/oc_photo.php:39 -msgid "File doesn't exist:" -msgstr "" - -#: ajax/oc_photo.php:44 ajax/oc_photo.php:47 -msgid "Error loading image." -msgstr "Il habeva un error durante le cargamento del imagine." - -#: ajax/savecrop.php:69 -msgid "Error getting contact object." -msgstr "" - -#: ajax/savecrop.php:79 -msgid "Error getting PHOTO property." -msgstr "" - -#: ajax/savecrop.php:98 -msgid "Error saving contact." -msgstr "" - -#: ajax/savecrop.php:109 -msgid "Error resizing image" -msgstr "" - -#: ajax/savecrop.php:112 -msgid "Error cropping image" -msgstr "" - -#: ajax/savecrop.php:115 -msgid "Error creating temporary image" -msgstr "" - -#: ajax/savecrop.php:118 -msgid "Error finding image: " -msgstr "" - -#: ajax/uploadimport.php:44 ajax/uploadimport.php:76 -msgid "Error uploading contacts to storage." -msgstr "" - -#: ajax/uploadimport.php:61 ajax/uploadphoto.php:77 -msgid "There is no error, the file uploaded with success" -msgstr "" - -#: ajax/uploadimport.php:62 ajax/uploadphoto.php:78 -msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" -msgstr "" - -#: ajax/uploadimport.php:63 ajax/uploadphoto.php:79 -msgid "" -"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " -"the HTML form" -msgstr "" - -#: ajax/uploadimport.php:64 ajax/uploadphoto.php:80 -msgid "The uploaded file was only partially uploaded" -msgstr "" - -#: ajax/uploadimport.php:65 ajax/uploadphoto.php:81 -msgid "No file was uploaded" -msgstr "Nulle file esseva incargate." - -#: ajax/uploadimport.php:66 ajax/uploadphoto.php:82 -msgid "Missing a temporary folder" -msgstr "Manca un dossier temporari" - -#: ajax/uploadphoto.php:59 ajax/uploadphoto.php:109 -msgid "Couldn't save temporary image: " -msgstr "" - -#: ajax/uploadphoto.php:62 ajax/uploadphoto.php:112 -msgid "Couldn't load temporary image: " -msgstr "" - -#: ajax/uploadphoto.php:71 -msgid "No file was uploaded. Unknown error" -msgstr "" - -#: appinfo/app.php:21 -msgid "Contacts" -msgstr "Contactos" - -#: js/contacts.js:71 -msgid "Sorry, this functionality has not been implemented yet" -msgstr "" - -#: js/contacts.js:71 -msgid "Not implemented" -msgstr "" - -#: js/contacts.js:76 -msgid "Couldn't get a valid address." -msgstr "" - -#: js/contacts.js:76 js/contacts.js:365 js/contacts.js:381 js/contacts.js:393 -#: js/contacts.js:723 js/contacts.js:763 js/contacts.js:789 js/contacts.js:921 -#: js/contacts.js:927 js/contacts.js:939 js/contacts.js:976 -#: js/contacts.js:1250 js/contacts.js:1258 js/contacts.js:1267 -#: js/contacts.js:1302 js/contacts.js:1338 js/contacts.js:1353 -#: js/contacts.js:1379 js/contacts.js:1609 js/contacts.js:1644 -#: js/contacts.js:1664 js/settings.js:26 js/settings.js:43 js/settings.js:68 -msgid "Error" -msgstr "" - -#: js/contacts.js:424 -msgid "You do not have permission to add contacts to " -msgstr "" - -#: js/contacts.js:425 -msgid "Please select one of your own address books." -msgstr "" - -#: js/contacts.js:425 -msgid "Permission error" -msgstr "" - -#: js/contacts.js:763 -msgid "This property has to be non-empty." -msgstr "" - -#: js/contacts.js:789 -msgid "Couldn't serialize elements." -msgstr "" - -#: js/contacts.js:921 js/contacts.js:939 -msgid "" -"'deleteProperty' called without type argument. Please report at " -"bugs.owncloud.org" -msgstr "" - -#: js/contacts.js:958 -msgid "Edit name" -msgstr "" - -#: js/contacts.js:1250 -msgid "No files selected for upload." -msgstr "" - -#: js/contacts.js:1258 -msgid "" -"The file you are trying to upload exceed the maximum size for file uploads " -"on this server." -msgstr "" - -#: js/contacts.js:1322 -msgid "Error loading profile picture." -msgstr "" - -#: js/contacts.js:1457 js/contacts.js:1498 js/contacts.js:1517 -#: js/contacts.js:1560 -msgid "Select type" -msgstr "" - -#: js/contacts.js:1578 -msgid "" -"Some contacts are marked for deletion, but not deleted yet. Please wait for " -"them to be deleted." -msgstr "" - -#: js/contacts.js:1649 -msgid "Do you want to merge these address books?" -msgstr "" - -#: js/loader.js:49 -msgid "Result: " -msgstr "" - -#: js/loader.js:49 -msgid " imported, " -msgstr "" - -#: js/loader.js:49 -msgid " failed." -msgstr "" - -#: js/settings.js:68 -msgid "Displayname cannot be empty." -msgstr "" - -#: lib/app.php:36 -msgid "Addressbook not found: " -msgstr "" - -#: lib/app.php:52 -msgid "This is not your addressbook." -msgstr "Iste non es tu libro de adresses" - -#: lib/app.php:71 -msgid "Contact could not be found." -msgstr "Contacto non poterea esser legite" - -#: lib/app.php:116 -msgid "Jabber" -msgstr "" - -#: lib/app.php:121 -msgid "AIM" -msgstr "" - -#: lib/app.php:126 -msgid "MSN" -msgstr "" - -#: lib/app.php:131 -msgid "Twitter" -msgstr "" - -#: lib/app.php:136 -msgid "GoogleTalk" -msgstr "" - -#: lib/app.php:141 -msgid "Facebook" -msgstr "" - -#: lib/app.php:146 -msgid "XMPP" -msgstr "" - -#: lib/app.php:151 -msgid "ICQ" -msgstr "" - -#: lib/app.php:156 -msgid "Yahoo" -msgstr "" - -#: lib/app.php:161 -msgid "Skype" -msgstr "" - -#: lib/app.php:166 -msgid "QQ" -msgstr "" - -#: lib/app.php:171 -msgid "GaduGadu" -msgstr "" - -#: lib/app.php:194 lib/app.php:202 lib/app.php:213 lib/app.php:266 -msgid "Work" -msgstr "Travalio" - -#: lib/app.php:195 lib/app.php:200 lib/app.php:214 -msgid "Home" -msgstr "Domo" - -#: lib/app.php:196 lib/app.php:209 lib/app.php:262 lib/vcard.php:593 -msgid "Other" -msgstr "" - -#: lib/app.php:201 -msgid "Mobile" -msgstr "Mobile" - -#: lib/app.php:203 -msgid "Text" -msgstr "Texto" - -#: lib/app.php:204 -msgid "Voice" -msgstr "Voce" - -#: lib/app.php:205 -msgid "Message" -msgstr "Message" - -#: lib/app.php:206 -msgid "Fax" -msgstr "Fax" - -#: lib/app.php:207 -msgid "Video" -msgstr "Video" - -#: lib/app.php:208 -msgid "Pager" -msgstr "Pager" - -#: lib/app.php:215 -msgid "Internet" -msgstr "Internet" - -#: lib/app.php:252 templates/part.contact.php:45 -#: templates/part.contact.php:128 -msgid "Birthday" -msgstr "Anniversario" - -#: lib/app.php:253 -msgid "Business" -msgstr "" - -#: lib/app.php:254 -msgid "Call" -msgstr "" - -#: lib/app.php:255 -msgid "Clients" -msgstr "" - -#: lib/app.php:256 -msgid "Deliverer" -msgstr "" - -#: lib/app.php:257 -msgid "Holidays" -msgstr "" - -#: lib/app.php:258 -msgid "Ideas" -msgstr "" - -#: lib/app.php:259 -msgid "Journey" -msgstr "" - -#: lib/app.php:260 -msgid "Jubilee" -msgstr "" - -#: lib/app.php:261 -msgid "Meeting" -msgstr "" - -#: lib/app.php:263 -msgid "Personal" -msgstr "" - -#: lib/app.php:264 -msgid "Projects" -msgstr "" - -#: lib/app.php:265 -msgid "Questions" -msgstr "" - -#: lib/hooks.php:102 -msgid "{name}'s Birthday" -msgstr "" - -#: lib/search.php:15 -msgid "Contact" -msgstr "Contacto" - -#: lib/vcard.php:408 -msgid "You do not have the permissions to edit this contact." -msgstr "" - -#: lib/vcard.php:483 -msgid "You do not have the permissions to delete this contact." -msgstr "" - -#: templates/index.php:14 -msgid "Add Contact" -msgstr "Adder contacto" - -#: templates/index.php:15 templates/index.php:16 templates/part.import.php:17 -msgid "Import" -msgstr "Importar" - -#: templates/index.php:18 -msgid "Settings" -msgstr "" - -#: templates/index.php:18 templates/settings.php:9 -msgid "Addressbooks" -msgstr "Adressarios" - -#: templates/index.php:36 templates/part.import.php:24 -msgid "Close" -msgstr "" - -#: templates/index.php:37 -msgid "Keyboard shortcuts" -msgstr "" - -#: templates/index.php:39 -msgid "Navigation" -msgstr "" - -#: templates/index.php:42 -msgid "Next contact in list" -msgstr "" - -#: templates/index.php:44 -msgid "Previous contact in list" -msgstr "" - -#: templates/index.php:46 -msgid "Expand/collapse current addressbook" -msgstr "" - -#: templates/index.php:48 -msgid "Next addressbook" -msgstr "" - -#: templates/index.php:50 -msgid "Previous addressbook" -msgstr "" - -#: templates/index.php:54 -msgid "Actions" -msgstr "" - -#: templates/index.php:57 -msgid "Refresh contacts list" -msgstr "" - -#: templates/index.php:59 -msgid "Add new contact" -msgstr "" - -#: templates/index.php:61 -msgid "Add new addressbook" -msgstr "" - -#: templates/index.php:63 -msgid "Delete current contact" -msgstr "" - -#: templates/part.contact.php:17 -msgid "Drop photo to upload" -msgstr "" - -#: templates/part.contact.php:19 -msgid "Delete current photo" -msgstr "Deler photo currente" - -#: templates/part.contact.php:20 -msgid "Edit current photo" -msgstr "Modificar photo currente" - -#: templates/part.contact.php:21 -msgid "Upload new photo" -msgstr "Incargar nove photo" - -#: templates/part.contact.php:22 -msgid "Select photo from ownCloud" -msgstr "Seliger photo ex ownCloud" - -#: templates/part.contact.php:35 -msgid "Format custom, Short name, Full name, Reverse or Reverse with comma" -msgstr "" - -#: templates/part.contact.php:36 -msgid "Edit name details" -msgstr "" - -#: templates/part.contact.php:39 templates/part.contact.php:40 -#: templates/part.contact.php:126 -msgid "Organization" -msgstr "Organisation" - -#: templates/part.contact.php:40 templates/part.contact.php:42 -#: templates/part.contact.php:44 templates/part.contact.php:46 -#: templates/part.contact.php:50 templates/settings.php:36 -msgid "Delete" -msgstr "Deler" - -#: templates/part.contact.php:41 templates/part.contact.php:127 -msgid "Nickname" -msgstr "Pseudonymo" - -#: templates/part.contact.php:42 -msgid "Enter nickname" -msgstr "Inserer pseudonymo" - -#: templates/part.contact.php:43 templates/part.contact.php:134 -msgid "Web site" -msgstr "" - -#: templates/part.contact.php:44 -msgid "http://www.somesite.com" -msgstr "" - -#: templates/part.contact.php:44 -msgid "Go to web site" -msgstr "" - -#: templates/part.contact.php:46 -msgid "dd-mm-yyyy" -msgstr "" - -#: templates/part.contact.php:47 templates/part.contact.php:135 -msgid "Groups" -msgstr "Gruppos" - -#: templates/part.contact.php:49 -msgid "Separate groups with commas" -msgstr "" - -#: templates/part.contact.php:50 -msgid "Edit groups" -msgstr "Modificar gruppos" - -#: templates/part.contact.php:59 templates/part.contact.php:73 -#: templates/part.contact.php:98 -msgid "Preferred" -msgstr "Preferite" - -#: templates/part.contact.php:60 -msgid "Please specify a valid email address." -msgstr "" - -#: templates/part.contact.php:60 -msgid "Enter email address" -msgstr "Entrar un adresse de e-posta" - -#: templates/part.contact.php:64 -msgid "Mail to address" -msgstr "" - -#: templates/part.contact.php:65 -msgid "Delete email address" -msgstr "Deler adresse de E-posta" - -#: templates/part.contact.php:75 -msgid "Enter phone number" -msgstr "Entrar un numero de telephono" - -#: templates/part.contact.php:79 -msgid "Delete phone number" -msgstr "Deler numero de telephono" - -#: templates/part.contact.php:100 -msgid "Instant Messenger" -msgstr "" - -#: templates/part.contact.php:101 -msgid "Delete IM" -msgstr "" - -#: templates/part.contact.php:110 -msgid "View on map" -msgstr "Vider in un carta" - -#: templates/part.contact.php:110 -msgid "Edit address details" -msgstr "" - -#: templates/part.contact.php:116 -msgid "Add notes here." -msgstr "Adder notas hic" - -#: templates/part.contact.php:124 -msgid "Add field" -msgstr "Adder campo" - -#: templates/part.contact.php:129 -msgid "Phone" -msgstr "Phono" - -#: templates/part.contact.php:130 -msgid "Email" -msgstr "E-posta" - -#: templates/part.contact.php:131 -msgid "Instant Messaging" -msgstr "" - -#: templates/part.contact.php:132 -msgid "Address" -msgstr "Adresse" - -#: templates/part.contact.php:133 -msgid "Note" -msgstr "Nota" - -#: templates/part.contact.php:138 -msgid "Download contact" -msgstr "Discargar contacto" - -#: templates/part.contact.php:139 -msgid "Delete contact" -msgstr "Deler contacto" - -#: templates/part.cropphoto.php:65 -msgid "The temporary image has been removed from cache." -msgstr "" - -#: templates/part.edit_address_dialog.php:6 -msgid "Edit address" -msgstr "Modificar adresses" - -#: templates/part.edit_address_dialog.php:10 -msgid "Type" -msgstr "Typo" - -#: templates/part.edit_address_dialog.php:18 -#: templates/part.edit_address_dialog.php:21 -msgid "PO Box" -msgstr "Cassa postal" - -#: templates/part.edit_address_dialog.php:24 -msgid "Street address" -msgstr "" - -#: templates/part.edit_address_dialog.php:27 -msgid "Street and number" -msgstr "" - -#: templates/part.edit_address_dialog.php:30 -msgid "Extended" -msgstr "Extendite" - -#: templates/part.edit_address_dialog.php:33 -msgid "Apartment number etc." -msgstr "" - -#: templates/part.edit_address_dialog.php:36 -#: templates/part.edit_address_dialog.php:39 -msgid "City" -msgstr "Citate" - -#: templates/part.edit_address_dialog.php:42 -msgid "Region" -msgstr "Region" - -#: templates/part.edit_address_dialog.php:45 -msgid "E.g. state or province" -msgstr "" - -#: templates/part.edit_address_dialog.php:48 -msgid "Zipcode" -msgstr "Codice postal" - -#: templates/part.edit_address_dialog.php:51 -msgid "Postal code" -msgstr "" - -#: templates/part.edit_address_dialog.php:54 -#: templates/part.edit_address_dialog.php:57 -msgid "Country" -msgstr "Pais" - -#: templates/part.edit_name_dialog.php:16 -msgid "Addressbook" -msgstr "Adressario" - -#: templates/part.edit_name_dialog.php:23 -msgid "Hon. prefixes" -msgstr "Prefixos honorific" - -#: templates/part.edit_name_dialog.php:27 -msgid "Miss" -msgstr "Senioretta" - -#: templates/part.edit_name_dialog.php:28 -msgid "Ms" -msgstr "" - -#: templates/part.edit_name_dialog.php:29 -msgid "Mr" -msgstr "Sr." - -#: templates/part.edit_name_dialog.php:30 -msgid "Sir" -msgstr "" - -#: templates/part.edit_name_dialog.php:31 -msgid "Mrs" -msgstr "Sra." - -#: templates/part.edit_name_dialog.php:32 -msgid "Dr" -msgstr "Dr." - -#: templates/part.edit_name_dialog.php:35 -msgid "Given name" -msgstr "Nomine date" - -#: templates/part.edit_name_dialog.php:37 -msgid "Additional names" -msgstr "Nomines additional" - -#: templates/part.edit_name_dialog.php:39 -msgid "Family name" -msgstr "Nomine de familia" - -#: templates/part.edit_name_dialog.php:41 -msgid "Hon. suffixes" -msgstr "Suffixos honorific" - -#: templates/part.edit_name_dialog.php:45 -msgid "J.D." -msgstr "" - -#: templates/part.edit_name_dialog.php:46 -msgid "M.D." -msgstr "" - -#: templates/part.edit_name_dialog.php:47 -msgid "D.O." -msgstr "" - -#: templates/part.edit_name_dialog.php:48 -msgid "D.C." -msgstr "" - -#: templates/part.edit_name_dialog.php:49 -msgid "Ph.D." -msgstr "" - -#: templates/part.edit_name_dialog.php:50 -msgid "Esq." -msgstr "" - -#: templates/part.edit_name_dialog.php:51 -msgid "Jr." -msgstr "" - -#: templates/part.edit_name_dialog.php:52 -msgid "Sn." -msgstr "" - -#: templates/part.import.php:1 -msgid "Import a contacts file" -msgstr "Importar un file de contactos" - -#: templates/part.import.php:6 -msgid "Please choose the addressbook" -msgstr "Per favor selige le adressario" - -#: templates/part.import.php:10 -msgid "create a new addressbook" -msgstr "Crear un nove adressario" - -#: templates/part.import.php:15 -msgid "Name of new addressbook" -msgstr "Nomine del nove gruppo:" - -#: templates/part.import.php:20 -msgid "Importing contacts" -msgstr "" - -#: templates/part.no_contacts.php:3 -msgid "You have no contacts in your addressbook." -msgstr "" - -#: templates/part.no_contacts.php:5 -msgid "Add contact" -msgstr "Adder adressario" - -#: templates/part.selectaddressbook.php:1 -msgid "Select Address Books" -msgstr "" - -#: templates/part.selectaddressbook.php:27 -msgid "Enter name" -msgstr "" - -#: templates/part.selectaddressbook.php:29 -msgid "Enter description" -msgstr "" - -#: templates/settings.php:3 -msgid "CardDAV syncing addresses" -msgstr "" - -#: templates/settings.php:3 -msgid "more info" -msgstr "plus info" - -#: templates/settings.php:5 -msgid "Primary address (Kontact et al)" -msgstr "" - -#: templates/settings.php:7 -msgid "iOS/OS X" -msgstr "iOS/OS X" - -#: templates/settings.php:20 -msgid "Show CardDav link" -msgstr "" - -#: templates/settings.php:23 -msgid "Show read-only VCF link" -msgstr "" - -#: templates/settings.php:26 -msgid "Share" -msgstr "" - -#: templates/settings.php:29 -msgid "Download" -msgstr "Discargar" - -#: templates/settings.php:33 -msgid "Edit" -msgstr "Modificar" - -#: templates/settings.php:43 -msgid "New Address Book" -msgstr "Nove adressario" - -#: templates/settings.php:44 -msgid "Name" -msgstr "" - -#: templates/settings.php:45 -msgid "Description" -msgstr "" - -#: templates/settings.php:46 -msgid "Save" -msgstr "Salveguardar" - -#: templates/settings.php:47 -msgid "Cancel" -msgstr "Cancellar" - -#: templates/settings.php:52 -msgid "More..." -msgstr "" diff --git a/l10n/ia/core.po b/l10n/ia/core.po index f194ff40eb68626bd837585326c8e3e6992bbbbf..f068f3fb585d13f55c4e45d2e0ca675dadd134fc 100644 --- a/l10n/ia/core.po +++ b/l10n/ia/core.po @@ -8,9 +8,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-16 02:04+0200\n" -"PO-Revision-Date: 2012-10-16 00:05+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-11-16 00:02+0100\n" +"PO-Revision-Date: 2012-11-14 23:13+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Interlingua (http://www.transifex.com/projects/p/owncloud/language/ia/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -18,209 +18,241 @@ msgstr "" "Language: ia\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: ajax/vcategories/add.php:23 ajax/vcategories/delete.php:23 -msgid "Application name not provided." +#: ajax/vcategories/add.php:26 ajax/vcategories/edit.php:25 +msgid "Category type not provided." msgstr "" -#: ajax/vcategories/add.php:29 +#: ajax/vcategories/add.php:30 msgid "No category to add?" msgstr "" -#: ajax/vcategories/add.php:36 +#: ajax/vcategories/add.php:37 msgid "This category already exists: " msgstr "Iste categoria jam existe:" -#: js/js.js:238 templates/layout.user.php:49 templates/layout.user.php:50 +#: ajax/vcategories/addToFavorites.php:26 ajax/vcategories/delete.php:27 +#: ajax/vcategories/favorites.php:24 +#: ajax/vcategories/removeFromFavorites.php:26 +msgid "Object type not provided." +msgstr "" + +#: ajax/vcategories/addToFavorites.php:30 +#: ajax/vcategories/removeFromFavorites.php:30 +#, php-format +msgid "%s ID not provided." +msgstr "" + +#: ajax/vcategories/addToFavorites.php:35 +#, php-format +msgid "Error adding %s to favorites." +msgstr "" + +#: ajax/vcategories/delete.php:35 js/oc-vcategories.js:136 +msgid "No categories selected for deletion." +msgstr "" + +#: ajax/vcategories/removeFromFavorites.php:35 +#, php-format +msgid "Error removing %s from favorites." +msgstr "" + +#: js/js.js:243 templates/layout.user.php:59 templates/layout.user.php:60 msgid "Settings" msgstr "Configurationes" -#: js/js.js:670 -msgid "January" +#: js/js.js:688 +msgid "seconds ago" msgstr "" -#: js/js.js:670 -msgid "February" +#: js/js.js:689 +msgid "1 minute ago" msgstr "" -#: js/js.js:670 -msgid "March" +#: js/js.js:690 +msgid "{minutes} minutes ago" msgstr "" -#: js/js.js:670 -msgid "April" +#: js/js.js:691 +msgid "1 hour ago" msgstr "" -#: js/js.js:670 -msgid "May" +#: js/js.js:692 +msgid "{hours} hours ago" msgstr "" -#: js/js.js:670 -msgid "June" +#: js/js.js:693 +msgid "today" msgstr "" -#: js/js.js:671 -msgid "July" +#: js/js.js:694 +msgid "yesterday" msgstr "" -#: js/js.js:671 -msgid "August" +#: js/js.js:695 +msgid "{days} days ago" msgstr "" -#: js/js.js:671 -msgid "September" +#: js/js.js:696 +msgid "last month" msgstr "" -#: js/js.js:671 -msgid "October" +#: js/js.js:697 +msgid "{months} months ago" msgstr "" -#: js/js.js:671 -msgid "November" +#: js/js.js:698 +msgid "months ago" msgstr "" -#: js/js.js:671 -msgid "December" +#: js/js.js:699 +msgid "last year" msgstr "" -#: js/oc-dialogs.js:123 +#: js/js.js:700 +msgid "years ago" +msgstr "" + +#: js/oc-dialogs.js:126 msgid "Choose" msgstr "" -#: js/oc-dialogs.js:143 js/oc-dialogs.js:163 +#: js/oc-dialogs.js:146 js/oc-dialogs.js:166 msgid "Cancel" -msgstr "" +msgstr "Cancellar" -#: js/oc-dialogs.js:159 +#: js/oc-dialogs.js:162 msgid "No" msgstr "" -#: js/oc-dialogs.js:160 +#: js/oc-dialogs.js:163 msgid "Yes" msgstr "" -#: js/oc-dialogs.js:177 +#: js/oc-dialogs.js:180 msgid "Ok" msgstr "" -#: js/oc-vcategories.js:68 -msgid "No categories selected for deletion." +#: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102 +#: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162 +msgid "The object type is not specified." msgstr "" -#: js/oc-vcategories.js:68 js/share.js:114 js/share.js:121 js/share.js:497 -#: js/share.js:509 +#: js/oc-vcategories.js:95 js/oc-vcategories.js:125 js/oc-vcategories.js:136 +#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:525 +#: js/share.js:537 msgid "Error" msgstr "" -#: js/share.js:103 +#: js/oc-vcategories.js:179 +msgid "The app name is not specified." +msgstr "" + +#: js/oc-vcategories.js:194 +msgid "The required file {file} is not installed!" +msgstr "" + +#: js/share.js:124 msgid "Error while sharing" msgstr "" -#: js/share.js:114 +#: js/share.js:135 msgid "Error while unsharing" msgstr "" -#: js/share.js:121 +#: js/share.js:142 msgid "Error while changing permissions" msgstr "" -#: js/share.js:130 -msgid "Shared with you and the group" +#: js/share.js:151 +msgid "Shared with you and the group {group} by {owner}" msgstr "" -#: js/share.js:130 -msgid "by" -msgstr "" - -#: js/share.js:132 -msgid "Shared with you by" +#: js/share.js:153 +msgid "Shared with you by {owner}" msgstr "" -#: js/share.js:137 +#: js/share.js:158 msgid "Share with" msgstr "" -#: js/share.js:142 +#: js/share.js:163 msgid "Share with link" msgstr "" -#: js/share.js:143 +#: js/share.js:164 msgid "Password protect" msgstr "" -#: js/share.js:147 templates/installation.php:42 templates/login.php:24 +#: js/share.js:168 templates/installation.php:42 templates/login.php:24 #: templates/verify.php:13 msgid "Password" msgstr "Contrasigno" -#: js/share.js:152 +#: js/share.js:173 msgid "Set expiration date" msgstr "" -#: js/share.js:153 +#: js/share.js:174 msgid "Expiration date" msgstr "" -#: js/share.js:185 +#: js/share.js:206 msgid "Share via email:" msgstr "" -#: js/share.js:187 +#: js/share.js:208 msgid "No people found" msgstr "" -#: js/share.js:214 +#: js/share.js:235 msgid "Resharing is not allowed" msgstr "" -#: js/share.js:250 -msgid "Shared in" -msgstr "" - -#: js/share.js:250 -msgid "with" +#: js/share.js:271 +msgid "Shared in {item} with {user}" msgstr "" -#: js/share.js:271 +#: js/share.js:292 msgid "Unshare" msgstr "" -#: js/share.js:283 +#: js/share.js:304 msgid "can edit" msgstr "" -#: js/share.js:285 +#: js/share.js:306 msgid "access control" msgstr "" -#: js/share.js:288 +#: js/share.js:309 msgid "create" msgstr "" -#: js/share.js:291 +#: js/share.js:312 msgid "update" msgstr "" -#: js/share.js:294 +#: js/share.js:315 msgid "delete" msgstr "" -#: js/share.js:297 +#: js/share.js:318 msgid "share" msgstr "" -#: js/share.js:322 js/share.js:484 +#: js/share.js:343 js/share.js:512 js/share.js:514 msgid "Password protected" msgstr "" -#: js/share.js:497 +#: js/share.js:525 msgid "Error unsetting expiration date" msgstr "" -#: js/share.js:509 +#: js/share.js:537 msgid "Error setting expiration date" msgstr "" -#: lostpassword/index.php:26 +#: lostpassword/controller.php:47 msgid "ownCloud password reset" msgstr "Reinitialisation del contrasigno de ownCLoud" @@ -233,12 +265,12 @@ msgid "You will receive a link to reset your password via Email." msgstr "" #: lostpassword/templates/lostpassword.php:5 -msgid "Requested" -msgstr "Requestate" +msgid "Reset email send." +msgstr "" #: lostpassword/templates/lostpassword.php:8 -msgid "Login failed!" -msgstr "Initio de session fallite!" +msgid "Request failed!" +msgstr "" #: lostpassword/templates/lostpassword.php:11 templates/installation.php:38 #: templates/login.php:20 @@ -297,7 +329,7 @@ msgstr "Nube non trovate" msgid "Edit categories" msgstr "Modificar categorias" -#: templates/edit_categories_dialog.php:14 +#: templates/edit_categories_dialog.php:16 msgid "Add" msgstr "Adder" @@ -371,11 +403,87 @@ msgstr "Hospite de base de datos" msgid "Finish setup" msgstr "" -#: templates/layout.guest.php:38 +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Sunday" +msgstr "Dominica" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Monday" +msgstr "Lunedi" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Tuesday" +msgstr "Martedi" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Wednesday" +msgstr "Mercuridi" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Thursday" +msgstr "Jovedi" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Friday" +msgstr "Venerdi" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Saturday" +msgstr "Sabbato" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "January" +msgstr "januario" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "February" +msgstr "Februario" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "March" +msgstr "Martio" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "April" +msgstr "April" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "May" +msgstr "Mai" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "June" +msgstr "Junio" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "July" +msgstr "Julio" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "August" +msgstr "Augusto" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "September" +msgstr "Septembre" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "October" +msgstr "Octobre" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "November" +msgstr "Novembre" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "December" +msgstr "Decembre" + +#: templates/layout.guest.php:41 msgid "web services under your control" msgstr "servicios web sub tu controlo" -#: templates/layout.user.php:34 +#: templates/layout.user.php:44 msgid "Log out" msgstr "Clauder le session" diff --git a/l10n/ia/files.po b/l10n/ia/files.po index 193354c48b257c183b2e158038b7661183399400..3f93aeb396137ebf5a4e219e9a3ca1894a5348b7 100644 --- a/l10n/ia/files.po +++ b/l10n/ia/files.po @@ -9,9 +9,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-09-26 13:19+0200\n" -"PO-Revision-Date: 2012-09-26 11:20+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-12-01 00:01+0100\n" +"PO-Revision-Date: 2012-11-30 23:02+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Interlingua (http://www.transifex.com/projects/p/owncloud/language/ia/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -24,194 +24,165 @@ msgid "There is no error, the file uploaded with success" msgstr "" #: ajax/upload.php:21 -msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" +msgid "" +"The uploaded file exceeds the upload_max_filesize directive in php.ini: " msgstr "" -#: ajax/upload.php:22 +#: ajax/upload.php:23 msgid "" "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " "the HTML form" msgstr "" -#: ajax/upload.php:23 +#: ajax/upload.php:25 msgid "The uploaded file was only partially uploaded" msgstr "Le file incargate solmente esseva incargate partialmente" -#: ajax/upload.php:24 +#: ajax/upload.php:26 msgid "No file was uploaded" msgstr "Nulle file esseva incargate" -#: ajax/upload.php:25 +#: ajax/upload.php:27 msgid "Missing a temporary folder" -msgstr "" +msgstr "Manca un dossier temporari" -#: ajax/upload.php:26 +#: ajax/upload.php:28 msgid "Failed to write to disk" msgstr "" -#: appinfo/app.php:6 +#: appinfo/app.php:10 msgid "Files" msgstr "Files" -#: js/fileactions.js:108 templates/index.php:62 +#: js/fileactions.js:117 templates/index.php:83 templates/index.php:84 msgid "Unshare" msgstr "" -#: js/fileactions.js:110 templates/index.php:64 +#: js/fileactions.js:119 templates/index.php:89 templates/index.php:90 msgid "Delete" msgstr "Deler" -#: js/fileactions.js:182 +#: js/fileactions.js:181 msgid "Rename" msgstr "" -#: js/filelist.js:190 js/filelist.js:192 -msgid "already exists" +#: js/filelist.js:201 js/filelist.js:203 +msgid "{new_name} already exists" msgstr "" -#: js/filelist.js:190 js/filelist.js:192 +#: js/filelist.js:201 js/filelist.js:203 msgid "replace" msgstr "" -#: js/filelist.js:190 +#: js/filelist.js:201 msgid "suggest name" msgstr "" -#: js/filelist.js:190 js/filelist.js:192 +#: js/filelist.js:201 js/filelist.js:203 msgid "cancel" msgstr "" -#: js/filelist.js:239 js/filelist.js:241 -msgid "replaced" +#: js/filelist.js:250 +msgid "replaced {new_name}" msgstr "" -#: js/filelist.js:239 js/filelist.js:241 js/filelist.js:273 js/filelist.js:275 +#: js/filelist.js:250 js/filelist.js:252 js/filelist.js:284 js/filelist.js:286 msgid "undo" msgstr "" -#: js/filelist.js:241 -msgid "with" +#: js/filelist.js:252 +msgid "replaced {new_name} with {old_name}" +msgstr "" + +#: js/filelist.js:284 +msgid "unshared {files}" msgstr "" -#: js/filelist.js:273 -msgid "unshared" +#: js/filelist.js:286 +msgid "deleted {files}" msgstr "" -#: js/filelist.js:275 -msgid "deleted" +#: js/files.js:33 +msgid "" +"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not " +"allowed." msgstr "" -#: js/files.js:179 +#: js/files.js:183 msgid "generating ZIP-file, it may take some time." msgstr "" -#: js/files.js:208 +#: js/files.js:218 msgid "Unable to upload your file as it is a directory or has 0 bytes" msgstr "" -#: js/files.js:208 +#: js/files.js:218 msgid "Upload Error" msgstr "" -#: js/files.js:236 js/files.js:341 js/files.js:371 +#: js/files.js:235 +msgid "Close" +msgstr "Clauder" + +#: js/files.js:254 js/files.js:368 js/files.js:398 msgid "Pending" msgstr "" -#: js/files.js:256 +#: js/files.js:274 msgid "1 file uploading" msgstr "" -#: js/files.js:259 js/files.js:304 js/files.js:319 -msgid "files uploading" +#: js/files.js:277 js/files.js:331 js/files.js:346 +msgid "{count} files uploading" msgstr "" -#: js/files.js:322 js/files.js:355 +#: js/files.js:349 js/files.js:382 msgid "Upload cancelled." msgstr "" -#: js/files.js:424 +#: js/files.js:451 msgid "" "File upload is in progress. Leaving the page now will cancel the upload." msgstr "" -#: js/files.js:494 -msgid "Invalid name, '/' is not allowed." +#: js/files.js:523 +msgid "Invalid folder name. Usage of \"Shared\" is reserved by Owncloud" msgstr "" -#: js/files.js:667 -msgid "files scanned" +#: js/files.js:704 +msgid "{count} files scanned" msgstr "" -#: js/files.js:675 +#: js/files.js:712 msgid "error while scanning" msgstr "" -#: js/files.js:748 templates/index.php:48 +#: js/files.js:785 templates/index.php:65 msgid "Name" msgstr "Nomine" -#: js/files.js:749 templates/index.php:56 +#: js/files.js:786 templates/index.php:76 msgid "Size" msgstr "Dimension" -#: js/files.js:750 templates/index.php:58 +#: js/files.js:787 templates/index.php:78 msgid "Modified" msgstr "Modificate" -#: js/files.js:777 -msgid "folder" +#: js/files.js:814 +msgid "1 folder" msgstr "" -#: js/files.js:779 -msgid "folders" +#: js/files.js:816 +msgid "{count} folders" msgstr "" -#: js/files.js:787 -msgid "file" +#: js/files.js:824 +msgid "1 file" msgstr "" -#: js/files.js:789 -msgid "files" -msgstr "" - -#: js/files.js:833 -msgid "seconds ago" -msgstr "" - -#: js/files.js:834 -msgid "minute ago" -msgstr "" - -#: js/files.js:835 -msgid "minutes ago" -msgstr "" - -#: js/files.js:838 -msgid "today" -msgstr "" - -#: js/files.js:839 -msgid "yesterday" -msgstr "" - -#: js/files.js:840 -msgid "days ago" -msgstr "" - -#: js/files.js:841 -msgid "last month" -msgstr "" - -#: js/files.js:843 -msgid "months ago" -msgstr "" - -#: js/files.js:844 -msgid "last year" -msgstr "" - -#: js/files.js:845 -msgid "years ago" +#: js/files.js:826 +msgid "{count} files" msgstr "" #: templates/admin.php:5 @@ -222,80 +193,76 @@ msgstr "" msgid "Maximum upload size" msgstr "Dimension maxime de incargamento" -#: templates/admin.php:7 +#: templates/admin.php:9 msgid "max. possible: " msgstr "" -#: templates/admin.php:9 +#: templates/admin.php:12 msgid "Needed for multi-file and folder downloads." msgstr "" -#: templates/admin.php:9 +#: templates/admin.php:14 msgid "Enable ZIP-download" msgstr "" -#: templates/admin.php:11 +#: templates/admin.php:17 msgid "0 is unlimited" msgstr "" -#: templates/admin.php:12 +#: templates/admin.php:19 msgid "Maximum input size for ZIP files" msgstr "" -#: templates/admin.php:14 +#: templates/admin.php:23 msgid "Save" -msgstr "" +msgstr "Salveguardar" #: templates/index.php:7 msgid "New" msgstr "Nove" -#: templates/index.php:9 +#: templates/index.php:10 msgid "Text file" msgstr "File de texto" -#: templates/index.php:10 +#: templates/index.php:12 msgid "Folder" msgstr "Dossier" -#: templates/index.php:11 -msgid "From url" +#: templates/index.php:14 +msgid "From link" msgstr "" -#: templates/index.php:20 +#: templates/index.php:35 msgid "Upload" msgstr "Incargar" -#: templates/index.php:27 +#: templates/index.php:43 msgid "Cancel upload" msgstr "" -#: templates/index.php:40 +#: templates/index.php:57 msgid "Nothing in here. Upload something!" msgstr "Nihil hic. Incarga alcun cosa!" -#: templates/index.php:50 -msgid "Share" -msgstr "" - -#: templates/index.php:52 +#: templates/index.php:71 msgid "Download" msgstr "Discargar" -#: templates/index.php:75 +#: templates/index.php:103 msgid "Upload too large" msgstr "Incargamento troppo longe" -#: templates/index.php:77 +#: templates/index.php:105 msgid "" "The files you are trying to upload exceed the maximum size for file uploads " "on this server." msgstr "" -#: templates/index.php:82 +#: templates/index.php:110 msgid "Files are being scanned, please wait." msgstr "" -#: templates/index.php:85 +#: templates/index.php:113 msgid "Current scanning" msgstr "" diff --git a/l10n/ia/files_external.po b/l10n/ia/files_external.po index e8fbb159c34a6086e4531197939451eaba1cb88d..de137eb4b158aafcea56d6beb0f78c2fb000ad5d 100644 --- a/l10n/ia/files_external.po +++ b/l10n/ia/files_external.po @@ -7,9 +7,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-02 23:16+0200\n" -"PO-Revision-Date: 2012-10-02 21:17+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-12-12 00:12+0100\n" +"PO-Revision-Date: 2012-12-11 23:13+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Interlingua (http://www.transifex.com/projects/p/owncloud/language/ia/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -41,66 +41,80 @@ msgstr "" msgid "Error configuring Google Drive storage" msgstr "" +#: lib/config.php:434 +msgid "" +"Warning: \"smbclient\" is not installed. Mounting of CIFS/SMB shares " +"is not possible. Please ask your system administrator to install it." +msgstr "" + +#: lib/config.php:435 +msgid "" +"Warning: The FTP support in PHP is not enabled or installed. Mounting" +" of FTP shares is not possible. Please ask your system administrator to " +"install it." +msgstr "" + #: templates/settings.php:3 msgid "External Storage" msgstr "" -#: templates/settings.php:7 templates/settings.php:19 +#: templates/settings.php:8 templates/settings.php:22 msgid "Mount point" msgstr "" -#: templates/settings.php:8 +#: templates/settings.php:9 msgid "Backend" msgstr "" -#: templates/settings.php:9 +#: templates/settings.php:10 msgid "Configuration" msgstr "" -#: templates/settings.php:10 +#: templates/settings.php:11 msgid "Options" msgstr "" -#: templates/settings.php:11 +#: templates/settings.php:12 msgid "Applicable" msgstr "" -#: templates/settings.php:23 +#: templates/settings.php:27 msgid "Add mount point" msgstr "" -#: templates/settings.php:54 templates/settings.php:62 +#: templates/settings.php:85 msgid "None set" msgstr "" -#: templates/settings.php:63 +#: templates/settings.php:86 msgid "All Users" msgstr "" -#: templates/settings.php:64 +#: templates/settings.php:87 msgid "Groups" msgstr "" -#: templates/settings.php:69 +#: templates/settings.php:95 msgid "Users" msgstr "" -#: templates/settings.php:77 templates/settings.php:107 +#: templates/settings.php:108 templates/settings.php:109 +#: templates/settings.php:149 templates/settings.php:150 msgid "Delete" msgstr "" -#: templates/settings.php:87 +#: templates/settings.php:124 msgid "Enable User External Storage" msgstr "" -#: templates/settings.php:88 +#: templates/settings.php:125 msgid "Allow users to mount their own external storage" msgstr "" -#: templates/settings.php:99 +#: templates/settings.php:139 msgid "SSL root certificates" msgstr "" -#: templates/settings.php:113 +#: templates/settings.php:158 msgid "Import Root Certificate" msgstr "" diff --git a/l10n/ia/files_pdfviewer.po b/l10n/ia/files_pdfviewer.po deleted file mode 100644 index 46c46d9c816edfd6521cd2ad1017b42b877c8e0b..0000000000000000000000000000000000000000 --- a/l10n/ia/files_pdfviewer.po +++ /dev/null @@ -1,42 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 02:18+0200\n" -"PO-Revision-Date: 2012-08-26 00:19+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Interlingua (http://www.transifex.com/projects/p/owncloud/language/ia/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ia\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: js/viewer.js:22 -msgid "Previous" -msgstr "" - -#: js/viewer.js:23 -msgid "Next" -msgstr "" - -#: js/viewer.js:29 -msgid "Page Width" -msgstr "" - -#: js/viewer.js:29 -msgid "Page Fit" -msgstr "" - -#: js/viewer.js:30 -msgid "Print" -msgstr "" - -#: js/viewer.js:32 -msgid "Download" -msgstr "" diff --git a/l10n/ia/files_texteditor.po b/l10n/ia/files_texteditor.po deleted file mode 100644 index a7f1af65067826186cd8ddb8d929cba7166aa90d..0000000000000000000000000000000000000000 --- a/l10n/ia/files_texteditor.po +++ /dev/null @@ -1,44 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 01:17+0200\n" -"PO-Revision-Date: 2012-08-25 23:18+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Interlingua (http://www.transifex.com/projects/p/owncloud/language/ia/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ia\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: js/aceeditor/mode-coldfusion-uncompressed.js:1568 -#: js/aceeditor/mode-liquid-uncompressed.js:902 -#: js/aceeditor/mode-svg-uncompressed.js:1575 -msgid "regex" -msgstr "" - -#: js/editor.js:72 js/editor.js:156 js/editor.js:163 -msgid "Save" -msgstr "" - -#: js/editor.js:74 -msgid "Close" -msgstr "" - -#: js/editor.js:149 -msgid "Saving..." -msgstr "" - -#: js/editor.js:239 -msgid "An error occurred!" -msgstr "" - -#: js/editor.js:266 -msgid "There were unsaved changes, click here to go back" -msgstr "" diff --git a/l10n/ia/gallery.po b/l10n/ia/gallery.po deleted file mode 100644 index 3e8249066f6a7e6cc8fb58dcaca154e06ca1e6e0..0000000000000000000000000000000000000000 --- a/l10n/ia/gallery.po +++ /dev/null @@ -1,95 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Emilio Sepúlveda , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-06-06 00:12+0200\n" -"PO-Revision-Date: 2012-06-05 22:15+0000\n" -"Last-Translator: icewind \n" -"Language-Team: Interlingua (http://www.transifex.net/projects/p/owncloud/language/ia/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ia\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: appinfo/app.php:37 -msgid "Pictures" -msgstr "" - -#: js/album_cover.js:44 -msgid "Share gallery" -msgstr "" - -#: js/album_cover.js:64 js/album_cover.js:100 js/album_cover.js:133 -msgid "Error: " -msgstr "" - -#: js/album_cover.js:64 js/album_cover.js:100 -msgid "Internal error" -msgstr "" - -#: js/album_cover.js:114 -msgid "Scanning root" -msgstr "" - -#: js/album_cover.js:115 -msgid "Default order" -msgstr "" - -#: js/album_cover.js:116 -msgid "Ascending" -msgstr "" - -#: js/album_cover.js:116 -msgid "Descending" -msgstr "" - -#: js/album_cover.js:117 templates/index.php:19 -msgid "Settings" -msgstr "" - -#: js/album_cover.js:122 -msgid "Scanning root cannot be empty" -msgstr "" - -#: js/album_cover.js:122 js/album_cover.js:133 -msgid "Error" -msgstr "" - -#: templates/index.php:16 -msgid "Rescan" -msgstr "Rescannar" - -#: templates/index.php:17 -msgid "Stop" -msgstr "" - -#: templates/index.php:18 -msgid "Share" -msgstr "" - -#: templates/view_album.php:19 -msgid "Back" -msgstr "Retro" - -#: templates/view_album.php:36 -msgid "Remove confirmation" -msgstr "" - -#: templates/view_album.php:37 -msgid "Do you want to remove album" -msgstr "" - -#: templates/view_album.php:40 -msgid "Change album name" -msgstr "" - -#: templates/view_album.php:43 -msgid "New album name" -msgstr "" diff --git a/l10n/ia/impress.po b/l10n/ia/impress.po deleted file mode 100644 index 0f36f5ce300554d66f0a4146254d3cdf8c0bf2d3..0000000000000000000000000000000000000000 --- a/l10n/ia/impress.po +++ /dev/null @@ -1,22 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 01:17+0200\n" -"PO-Revision-Date: 2012-08-25 23:18+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Interlingua (http://www.transifex.com/projects/p/owncloud/language/ia/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ia\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: templates/presentations.php:7 -msgid "Documentation" -msgstr "" diff --git a/l10n/ia/lib.po b/l10n/ia/lib.po index ea036a2639920b49c7842199679e2e6ec4c9e022..ac4ffabd499c1dc587ae63cc850073c0ddf9ed16 100644 --- a/l10n/ia/lib.po +++ b/l10n/ia/lib.po @@ -7,53 +7,53 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-09-01 02:01+0200\n" -"PO-Revision-Date: 2012-09-01 00:02+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-11-16 00:02+0100\n" +"PO-Revision-Date: 2012-11-14 23:13+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Interlingua (http://www.transifex.com/projects/p/owncloud/language/ia/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: ia\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: app.php:288 +#: app.php:285 msgid "Help" -msgstr "" +msgstr "Adjuta" -#: app.php:295 +#: app.php:292 msgid "Personal" -msgstr "" +msgstr "Personal" -#: app.php:300 +#: app.php:297 msgid "Settings" -msgstr "" +msgstr "Configurationes" -#: app.php:305 +#: app.php:302 msgid "Users" -msgstr "" +msgstr "Usatores" -#: app.php:312 +#: app.php:309 msgid "Apps" msgstr "" -#: app.php:314 +#: app.php:311 msgid "Admin" msgstr "" -#: files.php:280 +#: files.php:332 msgid "ZIP download is turned off." msgstr "" -#: files.php:281 +#: files.php:333 msgid "Files need to be downloaded one by one." msgstr "" -#: files.php:281 files.php:306 +#: files.php:333 files.php:358 msgid "Back to Files" msgstr "" -#: files.php:305 +#: files.php:357 msgid "Selected files too large to generate zip file." msgstr "" @@ -61,7 +61,7 @@ msgstr "" msgid "Application is not enabled" msgstr "" -#: json.php:39 json.php:63 json.php:75 +#: json.php:39 json.php:64 json.php:77 json.php:89 msgid "Authentication error" msgstr "" @@ -69,57 +69,84 @@ msgstr "" msgid "Token expired. Please reload page." msgstr "" -#: template.php:86 +#: search/provider/file.php:17 search/provider/file.php:35 +msgid "Files" +msgstr "Files" + +#: search/provider/file.php:26 search/provider/file.php:33 +msgid "Text" +msgstr "Texto" + +#: search/provider/file.php:29 +msgid "Images" +msgstr "" + +#: template.php:103 msgid "seconds ago" msgstr "" -#: template.php:87 +#: template.php:104 msgid "1 minute ago" msgstr "" -#: template.php:88 +#: template.php:105 #, php-format msgid "%d minutes ago" msgstr "" -#: template.php:91 +#: template.php:106 +msgid "1 hour ago" +msgstr "" + +#: template.php:107 +#, php-format +msgid "%d hours ago" +msgstr "" + +#: template.php:108 msgid "today" msgstr "" -#: template.php:92 +#: template.php:109 msgid "yesterday" msgstr "" -#: template.php:93 +#: template.php:110 #, php-format msgid "%d days ago" msgstr "" -#: template.php:94 +#: template.php:111 msgid "last month" msgstr "" -#: template.php:95 -msgid "months ago" +#: template.php:112 +#, php-format +msgid "%d months ago" msgstr "" -#: template.php:96 +#: template.php:113 msgid "last year" msgstr "" -#: template.php:97 +#: template.php:114 msgid "years ago" msgstr "" -#: updater.php:66 +#: updater.php:75 #, php-format msgid "%s is available. Get more information" msgstr "" -#: updater.php:68 +#: updater.php:77 msgid "up to date" msgstr "" -#: updater.php:71 +#: updater.php:80 msgid "updates check is disabled" msgstr "" + +#: vcategories.php:188 vcategories.php:249 +#, php-format +msgid "Could not find category \"%s\"" +msgstr "" diff --git a/l10n/ia/media.po b/l10n/ia/media.po deleted file mode 100644 index 4da59fbd03d7a50060ee99a322016a5ce8c6e34a..0000000000000000000000000000000000000000 --- a/l10n/ia/media.po +++ /dev/null @@ -1,67 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Emilio Sepúlveda , 2011. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-06-06 00:12+0200\n" -"PO-Revision-Date: 2012-06-05 22:15+0000\n" -"Last-Translator: icewind \n" -"Language-Team: Interlingua (http://www.transifex.net/projects/p/owncloud/language/ia/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ia\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: appinfo/app.php:32 templates/player.php:8 -msgid "Music" -msgstr "Musica" - -#: js/music.js:18 -msgid "Add album to playlist" -msgstr "" - -#: templates/music.php:3 templates/player.php:12 -msgid "Play" -msgstr "Reproducer" - -#: templates/music.php:4 templates/music.php:26 templates/player.php:13 -msgid "Pause" -msgstr "Pausa" - -#: templates/music.php:5 -msgid "Previous" -msgstr "Previe" - -#: templates/music.php:6 templates/player.php:14 -msgid "Next" -msgstr "Proxime" - -#: templates/music.php:7 -msgid "Mute" -msgstr "Mute" - -#: templates/music.php:8 -msgid "Unmute" -msgstr "Con sono" - -#: templates/music.php:25 -msgid "Rescan Collection" -msgstr "Rescannar collection" - -#: templates/music.php:37 -msgid "Artist" -msgstr "Artista" - -#: templates/music.php:38 -msgid "Album" -msgstr "Album" - -#: templates/music.php:39 -msgid "Title" -msgstr "Titulo" diff --git a/l10n/ia/settings.po b/l10n/ia/settings.po index 2e3506c56926d3137797dd74a0764369b95450f7..45647784aedb0cc3619956ffcafd5cb1e4b87ab5 100644 --- a/l10n/ia/settings.po +++ b/l10n/ia/settings.po @@ -9,9 +9,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-09 02:03+0200\n" -"PO-Revision-Date: 2012-10-09 00:04+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-12-03 00:04+0100\n" +"PO-Revision-Date: 2012-12-02 03:18+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Interlingua (http://www.transifex.com/projects/p/owncloud/language/ia/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -19,70 +19,73 @@ msgstr "" "Language: ia\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: ajax/apps/ocs.php:23 +#: ajax/apps/ocs.php:20 msgid "Unable to load list from App Store" msgstr "" -#: ajax/creategroup.php:9 ajax/removeuser.php:13 ajax/setquota.php:18 -#: ajax/togglegroups.php:15 -msgid "Authentication error" -msgstr "" - -#: ajax/creategroup.php:19 +#: ajax/creategroup.php:10 msgid "Group already exists" msgstr "" -#: ajax/creategroup.php:28 +#: ajax/creategroup.php:19 msgid "Unable to add group" msgstr "" -#: ajax/enableapp.php:14 +#: ajax/enableapp.php:12 msgid "Could not enable app. " msgstr "" -#: ajax/lostpassword.php:14 +#: ajax/lostpassword.php:12 msgid "Email saved" msgstr "" -#: ajax/lostpassword.php:16 +#: ajax/lostpassword.php:14 msgid "Invalid email" msgstr "" -#: ajax/openid.php:16 +#: ajax/openid.php:13 msgid "OpenID Changed" msgstr "OpenID cambiate" -#: ajax/openid.php:18 ajax/setlanguage.php:20 ajax/setlanguage.php:23 +#: ajax/openid.php:15 ajax/setlanguage.php:17 ajax/setlanguage.php:20 msgid "Invalid request" msgstr "Requesta invalide" -#: ajax/removegroup.php:16 +#: ajax/removegroup.php:13 msgid "Unable to delete group" msgstr "" -#: ajax/removeuser.php:22 +#: ajax/removeuser.php:15 ajax/setquota.php:15 ajax/togglegroups.php:18 +msgid "Authentication error" +msgstr "" + +#: ajax/removeuser.php:24 msgid "Unable to delete user" msgstr "" -#: ajax/setlanguage.php:18 +#: ajax/setlanguage.php:15 msgid "Language changed" msgstr "Linguage cambiate" -#: ajax/togglegroups.php:25 +#: ajax/togglegroups.php:12 +msgid "Admins can't remove themself from the admin group" +msgstr "" + +#: ajax/togglegroups.php:28 #, php-format msgid "Unable to add user to group %s" msgstr "" -#: ajax/togglegroups.php:31 +#: ajax/togglegroups.php:34 #, php-format msgid "Unable to remove user from group %s" msgstr "" -#: js/apps.js:28 js/apps.js:65 +#: js/apps.js:28 js/apps.js:67 msgid "Disable" msgstr "" -#: js/apps.js:28 js/apps.js:54 +#: js/apps.js:28 js/apps.js:55 msgid "Enable" msgstr "" @@ -90,97 +93,10 @@ msgstr "" msgid "Saving..." msgstr "" -#: personal.php:47 personal.php:48 +#: personal.php:42 personal.php:43 msgid "__language_name__" msgstr "Interlingua" -#: templates/admin.php:14 -msgid "Security Warning" -msgstr "" - -#: templates/admin.php:17 -msgid "" -"Your data directory and your files are probably accessible from the " -"internet. The .htaccess file that ownCloud provides is not working. We " -"strongly suggest that you configure your webserver in a way that the data " -"directory is no longer accessible or you move the data directory outside the" -" webserver document root." -msgstr "" - -#: templates/admin.php:31 -msgid "Cron" -msgstr "" - -#: templates/admin.php:37 -msgid "Execute one task with each page loaded" -msgstr "" - -#: templates/admin.php:43 -msgid "" -"cron.php is registered at a webcron service. Call the cron.php page in the " -"owncloud root once a minute over http." -msgstr "" - -#: templates/admin.php:49 -msgid "" -"Use systems cron service. Call the cron.php file in the owncloud folder via " -"a system cronjob once a minute." -msgstr "" - -#: templates/admin.php:56 -msgid "Sharing" -msgstr "" - -#: templates/admin.php:61 -msgid "Enable Share API" -msgstr "" - -#: templates/admin.php:62 -msgid "Allow apps to use the Share API" -msgstr "" - -#: templates/admin.php:67 -msgid "Allow links" -msgstr "" - -#: templates/admin.php:68 -msgid "Allow users to share items to the public with links" -msgstr "" - -#: templates/admin.php:73 -msgid "Allow resharing" -msgstr "" - -#: templates/admin.php:74 -msgid "Allow users to share items shared with them again" -msgstr "" - -#: templates/admin.php:79 -msgid "Allow users to share with anyone" -msgstr "" - -#: templates/admin.php:81 -msgid "Allow users to only share with users in their groups" -msgstr "" - -#: templates/admin.php:88 -msgid "Log" -msgstr "Registro" - -#: templates/admin.php:116 -msgid "More" -msgstr "Plus" - -#: templates/admin.php:124 -msgid "" -"Developed by the ownCloud community, the source code is " -"licensed under the AGPL." -msgstr "" - #: templates/apps.php:10 msgid "Add your App" msgstr "Adder tu application" @@ -213,21 +129,21 @@ msgstr "" msgid "Ask a question" msgstr "Facer un question" -#: templates/help.php:23 +#: templates/help.php:22 msgid "Problems connecting to help database." msgstr "" -#: templates/help.php:24 +#: templates/help.php:23 msgid "Go there manually." msgstr "" -#: templates/help.php:32 +#: templates/help.php:31 msgid "Answer" msgstr "Responsa" #: templates/personal.php:8 #, php-format -msgid "You have used %s of the available %s" +msgid "You have used %s of the available %s" msgstr "" #: templates/personal.php:12 @@ -286,6 +202,16 @@ msgstr "Adjuta a traducer" msgid "use this address to connect to your ownCloud in your file manager" msgstr "usa iste addresse pro connecter a tu ownCloud in tu administrator de files" +#: templates/personal.php:61 +msgid "" +"Developed by the ownCloud community, the source code is " +"licensed under the AGPL." +msgstr "" + #: templates/users.php:21 templates/users.php:76 msgid "Name" msgstr "Nomine" diff --git a/l10n/ia/tasks.po b/l10n/ia/tasks.po deleted file mode 100644 index be00099555c15b3e2a266ad4b58a966a60c4f139..0000000000000000000000000000000000000000 --- a/l10n/ia/tasks.po +++ /dev/null @@ -1,106 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:44+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Interlingua (http://www.transifex.com/projects/p/owncloud/language/ia/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ia\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: ajax/update_property.php:51 lib/app.php:89 lib/app.php:101 -msgid "Invalid date/time" -msgstr "" - -#: appinfo/app.php:11 -msgid "Tasks" -msgstr "" - -#: js/tasks.js:415 -msgid "No category" -msgstr "" - -#: lib/app.php:33 -msgid "Unspecified" -msgstr "" - -#: lib/app.php:34 -msgid "1=highest" -msgstr "" - -#: lib/app.php:38 -msgid "5=medium" -msgstr "" - -#: lib/app.php:42 -msgid "9=lowest" -msgstr "" - -#: lib/app.php:81 -msgid "Empty Summary" -msgstr "" - -#: lib/app.php:93 -msgid "Invalid percent complete" -msgstr "" - -#: lib/app.php:107 -msgid "Invalid priority" -msgstr "" - -#: templates/tasks.php:3 -msgid "Add Task" -msgstr "" - -#: templates/tasks.php:4 -msgid "Order Due" -msgstr "" - -#: templates/tasks.php:5 -msgid "Order List" -msgstr "" - -#: templates/tasks.php:6 -msgid "Order Complete" -msgstr "" - -#: templates/tasks.php:7 -msgid "Order Location" -msgstr "" - -#: templates/tasks.php:8 -msgid "Order Priority" -msgstr "" - -#: templates/tasks.php:9 -msgid "Order Label" -msgstr "" - -#: templates/tasks.php:16 -msgid "Loading tasks..." -msgstr "" - -#: templates/tasks.php:20 -msgid "Important" -msgstr "" - -#: templates/tasks.php:23 -msgid "More" -msgstr "" - -#: templates/tasks.php:26 -msgid "Less" -msgstr "" - -#: templates/tasks.php:29 -msgid "Delete" -msgstr "" diff --git a/l10n/ia/user_migrate.po b/l10n/ia/user_migrate.po deleted file mode 100644 index b581cb2029f4eae35a4ab4ad3e64ca0e28cd4ee0..0000000000000000000000000000000000000000 --- a/l10n/ia/user_migrate.po +++ /dev/null @@ -1,51 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:45+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Interlingua (http://www.transifex.com/projects/p/owncloud/language/ia/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ia\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: js/export.js:14 js/export.js:20 -msgid "Export" -msgstr "" - -#: js/export.js:19 -msgid "Something went wrong while the export file was being generated" -msgstr "" - -#: js/export.js:19 -msgid "An error has occurred" -msgstr "" - -#: templates/settings.php:2 -msgid "Export your user account" -msgstr "" - -#: templates/settings.php:3 -msgid "" -"This will create a compressed file that contains your ownCloud account." -msgstr "" - -#: templates/settings.php:13 -msgid "Import user account" -msgstr "" - -#: templates/settings.php:15 -msgid "ownCloud User Zip" -msgstr "" - -#: templates/settings.php:17 -msgid "Import" -msgstr "" diff --git a/l10n/ia/user_openid.po b/l10n/ia/user_openid.po deleted file mode 100644 index a3e999d4377ae9a6b2d76f8e633f450c621cba78..0000000000000000000000000000000000000000 --- a/l10n/ia/user_openid.po +++ /dev/null @@ -1,54 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:45+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Interlingua (http://www.transifex.com/projects/p/owncloud/language/ia/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ia\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: templates/nomode.php:12 -msgid "This is an OpenID server endpoint. For more information, see " -msgstr "" - -#: templates/nomode.php:14 -msgid "Identity: " -msgstr "" - -#: templates/nomode.php:15 -msgid "Realm: " -msgstr "" - -#: templates/nomode.php:16 -msgid "User: " -msgstr "" - -#: templates/nomode.php:17 -msgid "Login" -msgstr "" - -#: templates/nomode.php:22 -msgid "Error: No user Selected" -msgstr "" - -#: templates/settings.php:4 -msgid "you can authenticate to other sites with this address" -msgstr "" - -#: templates/settings.php:5 -msgid "Authorized OpenID provider" -msgstr "" - -#: templates/settings.php:6 -msgid "Your address at Wordpress, Identi.ca, …" -msgstr "" diff --git a/l10n/ia/files_odfviewer.po b/l10n/ia/user_webdavauth.po similarity index 73% rename from l10n/ia/files_odfviewer.po rename to l10n/ia/user_webdavauth.po index 566f1c5b671573f1d659faf9de601a735ec81602..7a2ab1d26f292aca5905a857abb1dd5a93749f7b 100644 --- a/l10n/ia/files_odfviewer.po +++ b/l10n/ia/user_webdavauth.po @@ -7,16 +7,16 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 02:18+0200\n" -"PO-Revision-Date: 2012-08-26 00:19+0000\n" +"POT-Creation-Date: 2012-11-09 10:06+0100\n" +"PO-Revision-Date: 2012-11-09 09:06+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: Interlingua (http://www.transifex.com/projects/p/owncloud/language/ia/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: ia\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: js/viewer.js:9 -msgid "Close" +#: templates/settings.php:4 +msgid "WebDAV URL: http://" msgstr "" diff --git a/l10n/id/admin_dependencies_chk.po b/l10n/id/admin_dependencies_chk.po deleted file mode 100644 index ae358d17af8160b10bbf82d387fab32c28c6919f..0000000000000000000000000000000000000000 --- a/l10n/id/admin_dependencies_chk.po +++ /dev/null @@ -1,73 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:33+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Indonesian (http://www.transifex.com/projects/p/owncloud/language/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: settings.php:33 -msgid "" -"The php-json module is needed by the many applications for inter " -"communications" -msgstr "" - -#: settings.php:39 -msgid "" -"The php-curl modude is needed to fetch the page title when adding a " -"bookmarks" -msgstr "" - -#: settings.php:45 -msgid "The php-gd module is needed to create thumbnails of your images" -msgstr "" - -#: settings.php:51 -msgid "The php-ldap module is needed connect to your ldap server" -msgstr "" - -#: settings.php:57 -msgid "The php-zip module is needed download multiple files at once" -msgstr "" - -#: settings.php:63 -msgid "" -"The php-mb_multibyte module is needed to manage correctly the encoding." -msgstr "" - -#: settings.php:69 -msgid "The php-ctype module is needed validate data." -msgstr "" - -#: settings.php:75 -msgid "The php-xml module is needed to share files with webdav." -msgstr "" - -#: settings.php:81 -msgid "" -"The allow_url_fopen directive of your php.ini should be set to 1 to retrieve" -" knowledge base from OCS servers" -msgstr "" - -#: settings.php:87 -msgid "The php-pdo module is needed to store owncloud data into a database." -msgstr "" - -#: templates/settings.php:2 -msgid "Dependencies status" -msgstr "" - -#: templates/settings.php:7 -msgid "Used by :" -msgstr "" diff --git a/l10n/id/bookmarks.po b/l10n/id/bookmarks.po deleted file mode 100644 index d9e1fba3acad03560ecc205ce466b7f488954676..0000000000000000000000000000000000000000 --- a/l10n/id/bookmarks.po +++ /dev/null @@ -1,60 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-07-28 02:02+0200\n" -"PO-Revision-Date: 2012-07-27 22:17+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Indonesian (http://www.transifex.com/projects/p/owncloud/language/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: appinfo/app.php:14 -msgid "Bookmarks" -msgstr "" - -#: bookmarksHelper.php:99 -msgid "unnamed" -msgstr "" - -#: templates/bookmarklet.php:5 -msgid "" -"Drag this to your browser bookmarks and click it, when you want to bookmark " -"a webpage quickly:" -msgstr "" - -#: templates/bookmarklet.php:7 -msgid "Read later" -msgstr "" - -#: templates/list.php:13 -msgid "Address" -msgstr "" - -#: templates/list.php:14 -msgid "Title" -msgstr "" - -#: templates/list.php:15 -msgid "Tags" -msgstr "" - -#: templates/list.php:16 -msgid "Save bookmark" -msgstr "" - -#: templates/list.php:22 -msgid "You have no bookmarks" -msgstr "" - -#: templates/settings.php:11 -msgid "Bookmarklet
" -msgstr "" diff --git a/l10n/id/calendar.po b/l10n/id/calendar.po deleted file mode 100644 index 9b2e6aaf97c83b73af2c9631b868f5f1431abb19..0000000000000000000000000000000000000000 --- a/l10n/id/calendar.po +++ /dev/null @@ -1,814 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Muhammad Radifar , 2011. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-11 02:02+0200\n" -"PO-Revision-Date: 2012-08-11 00:02+0000\n" -"Last-Translator: owncloud_robot \n" -"Language-Team: Indonesian (http://www.transifex.com/projects/p/owncloud/language/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: ajax/cache/status.php:19 -msgid "Not all calendars are completely cached" -msgstr "" - -#: ajax/cache/status.php:21 -msgid "Everything seems to be completely cached" -msgstr "" - -#: ajax/categories/rescan.php:29 -msgid "No calendars found." -msgstr "" - -#: ajax/categories/rescan.php:37 -msgid "No events found." -msgstr "" - -#: ajax/event/edit.form.php:20 -msgid "Wrong calendar" -msgstr "" - -#: ajax/import/dropimport.php:29 ajax/import/import.php:64 -msgid "" -"The file contained either no events or all events are already saved in your " -"calendar." -msgstr "" - -#: ajax/import/dropimport.php:31 ajax/import/import.php:67 -msgid "events has been saved in the new calendar" -msgstr "" - -#: ajax/import/import.php:56 -msgid "Import failed" -msgstr "" - -#: ajax/import/import.php:69 -msgid "events has been saved in your calendar" -msgstr "" - -#: ajax/settings/guesstimezone.php:25 -msgid "New Timezone:" -msgstr "" - -#: ajax/settings/settimezone.php:23 -msgid "Timezone changed" -msgstr "Zona waktu telah diubah" - -#: ajax/settings/settimezone.php:25 -msgid "Invalid request" -msgstr "Permintaan tidak sah" - -#: appinfo/app.php:35 templates/calendar.php:15 -#: templates/part.eventform.php:33 templates/part.showevent.php:33 -msgid "Calendar" -msgstr "Kalender" - -#: js/calendar.js:832 -msgid "ddd" -msgstr "" - -#: js/calendar.js:833 -msgid "ddd M/d" -msgstr "" - -#: js/calendar.js:834 -msgid "dddd M/d" -msgstr "" - -#: js/calendar.js:837 -msgid "MMMM yyyy" -msgstr "" - -#: js/calendar.js:839 -msgid "MMM d[ yyyy]{ '—'[ MMM] d yyyy}" -msgstr "" - -#: js/calendar.js:841 -msgid "dddd, MMM d, yyyy" -msgstr "" - -#: lib/app.php:121 -msgid "Birthday" -msgstr "" - -#: lib/app.php:122 -msgid "Business" -msgstr "" - -#: lib/app.php:123 -msgid "Call" -msgstr "" - -#: lib/app.php:124 -msgid "Clients" -msgstr "" - -#: lib/app.php:125 -msgid "Deliverer" -msgstr "" - -#: lib/app.php:126 -msgid "Holidays" -msgstr "" - -#: lib/app.php:127 -msgid "Ideas" -msgstr "" - -#: lib/app.php:128 -msgid "Journey" -msgstr "" - -#: lib/app.php:129 -msgid "Jubilee" -msgstr "" - -#: lib/app.php:130 -msgid "Meeting" -msgstr "" - -#: lib/app.php:131 -msgid "Other" -msgstr "" - -#: lib/app.php:132 -msgid "Personal" -msgstr "" - -#: lib/app.php:133 -msgid "Projects" -msgstr "" - -#: lib/app.php:134 -msgid "Questions" -msgstr "" - -#: lib/app.php:135 -msgid "Work" -msgstr "" - -#: lib/app.php:351 lib/app.php:361 -msgid "by" -msgstr "" - -#: lib/app.php:359 lib/app.php:399 -msgid "unnamed" -msgstr "" - -#: lib/import.php:184 templates/calendar.php:12 -#: templates/part.choosecalendar.php:22 -msgid "New Calendar" -msgstr "" - -#: lib/object.php:372 -msgid "Does not repeat" -msgstr "Tidak akan mengulangi" - -#: lib/object.php:373 -msgid "Daily" -msgstr "Harian" - -#: lib/object.php:374 -msgid "Weekly" -msgstr "Mingguan" - -#: lib/object.php:375 -msgid "Every Weekday" -msgstr "Setiap Hari Minggu" - -#: lib/object.php:376 -msgid "Bi-Weekly" -msgstr "Dwi-mingguan" - -#: lib/object.php:377 -msgid "Monthly" -msgstr "Bulanan" - -#: lib/object.php:378 -msgid "Yearly" -msgstr "Tahunan" - -#: lib/object.php:388 -msgid "never" -msgstr "" - -#: lib/object.php:389 -msgid "by occurrences" -msgstr "" - -#: lib/object.php:390 -msgid "by date" -msgstr "" - -#: lib/object.php:400 -msgid "by monthday" -msgstr "" - -#: lib/object.php:401 -msgid "by weekday" -msgstr "" - -#: lib/object.php:411 templates/calendar.php:5 templates/settings.php:69 -msgid "Monday" -msgstr "" - -#: lib/object.php:412 templates/calendar.php:5 -msgid "Tuesday" -msgstr "" - -#: lib/object.php:413 templates/calendar.php:5 -msgid "Wednesday" -msgstr "" - -#: lib/object.php:414 templates/calendar.php:5 -msgid "Thursday" -msgstr "" - -#: lib/object.php:415 templates/calendar.php:5 -msgid "Friday" -msgstr "" - -#: lib/object.php:416 templates/calendar.php:5 -msgid "Saturday" -msgstr "" - -#: lib/object.php:417 templates/calendar.php:5 templates/settings.php:70 -msgid "Sunday" -msgstr "" - -#: lib/object.php:427 -msgid "events week of month" -msgstr "" - -#: lib/object.php:428 -msgid "first" -msgstr "" - -#: lib/object.php:429 -msgid "second" -msgstr "" - -#: lib/object.php:430 -msgid "third" -msgstr "" - -#: lib/object.php:431 -msgid "fourth" -msgstr "" - -#: lib/object.php:432 -msgid "fifth" -msgstr "" - -#: lib/object.php:433 -msgid "last" -msgstr "" - -#: lib/object.php:467 templates/calendar.php:7 -msgid "January" -msgstr "" - -#: lib/object.php:468 templates/calendar.php:7 -msgid "February" -msgstr "" - -#: lib/object.php:469 templates/calendar.php:7 -msgid "March" -msgstr "" - -#: lib/object.php:470 templates/calendar.php:7 -msgid "April" -msgstr "" - -#: lib/object.php:471 templates/calendar.php:7 -msgid "May" -msgstr "" - -#: lib/object.php:472 templates/calendar.php:7 -msgid "June" -msgstr "" - -#: lib/object.php:473 templates/calendar.php:7 -msgid "July" -msgstr "" - -#: lib/object.php:474 templates/calendar.php:7 -msgid "August" -msgstr "" - -#: lib/object.php:475 templates/calendar.php:7 -msgid "September" -msgstr "" - -#: lib/object.php:476 templates/calendar.php:7 -msgid "October" -msgstr "" - -#: lib/object.php:477 templates/calendar.php:7 -msgid "November" -msgstr "" - -#: lib/object.php:478 templates/calendar.php:7 -msgid "December" -msgstr "" - -#: lib/object.php:488 -msgid "by events date" -msgstr "" - -#: lib/object.php:489 -msgid "by yearday(s)" -msgstr "" - -#: lib/object.php:490 -msgid "by weeknumber(s)" -msgstr "" - -#: lib/object.php:491 -msgid "by day and month" -msgstr "" - -#: lib/search.php:35 lib/search.php:37 lib/search.php:40 -msgid "Date" -msgstr "" - -#: lib/search.php:43 -msgid "Cal." -msgstr "" - -#: templates/calendar.php:6 -msgid "Sun." -msgstr "" - -#: templates/calendar.php:6 -msgid "Mon." -msgstr "" - -#: templates/calendar.php:6 -msgid "Tue." -msgstr "" - -#: templates/calendar.php:6 -msgid "Wed." -msgstr "" - -#: templates/calendar.php:6 -msgid "Thu." -msgstr "" - -#: templates/calendar.php:6 -msgid "Fri." -msgstr "" - -#: templates/calendar.php:6 -msgid "Sat." -msgstr "" - -#: templates/calendar.php:8 -msgid "Jan." -msgstr "" - -#: templates/calendar.php:8 -msgid "Feb." -msgstr "" - -#: templates/calendar.php:8 -msgid "Mar." -msgstr "" - -#: templates/calendar.php:8 -msgid "Apr." -msgstr "" - -#: templates/calendar.php:8 -msgid "May." -msgstr "" - -#: templates/calendar.php:8 -msgid "Jun." -msgstr "" - -#: templates/calendar.php:8 -msgid "Jul." -msgstr "" - -#: templates/calendar.php:8 -msgid "Aug." -msgstr "" - -#: templates/calendar.php:8 -msgid "Sep." -msgstr "" - -#: templates/calendar.php:8 -msgid "Oct." -msgstr "" - -#: templates/calendar.php:8 -msgid "Nov." -msgstr "" - -#: templates/calendar.php:8 -msgid "Dec." -msgstr "" - -#: templates/calendar.php:11 -msgid "All day" -msgstr "Semua Hari" - -#: templates/calendar.php:13 -msgid "Missing fields" -msgstr "" - -#: templates/calendar.php:14 templates/part.eventform.php:19 -#: templates/part.showevent.php:11 -msgid "Title" -msgstr "Judul" - -#: templates/calendar.php:16 -msgid "From Date" -msgstr "" - -#: templates/calendar.php:17 -msgid "From Time" -msgstr "" - -#: templates/calendar.php:18 -msgid "To Date" -msgstr "" - -#: templates/calendar.php:19 -msgid "To Time" -msgstr "" - -#: templates/calendar.php:20 -msgid "The event ends before it starts" -msgstr "" - -#: templates/calendar.php:21 -msgid "There was a database fail" -msgstr "" - -#: templates/calendar.php:39 -msgid "Week" -msgstr "Minggu" - -#: templates/calendar.php:40 -msgid "Month" -msgstr "Bulan" - -#: templates/calendar.php:41 -msgid "List" -msgstr "" - -#: templates/calendar.php:45 -msgid "Today" -msgstr "Hari ini" - -#: templates/calendar.php:46 templates/calendar.php:47 -msgid "Settings" -msgstr "" - -#: templates/part.choosecalendar.php:2 -msgid "Your calendars" -msgstr "" - -#: templates/part.choosecalendar.php:27 -#: templates/part.choosecalendar.rowfields.php:11 -msgid "CalDav Link" -msgstr "" - -#: templates/part.choosecalendar.php:31 -msgid "Shared calendars" -msgstr "" - -#: templates/part.choosecalendar.php:48 -msgid "No shared calendars" -msgstr "" - -#: templates/part.choosecalendar.rowfields.php:8 -msgid "Share Calendar" -msgstr "" - -#: templates/part.choosecalendar.rowfields.php:14 -msgid "Download" -msgstr "Unduh" - -#: templates/part.choosecalendar.rowfields.php:17 -msgid "Edit" -msgstr "Sunting" - -#: templates/part.choosecalendar.rowfields.php:20 -#: templates/part.editevent.php:9 -msgid "Delete" -msgstr "" - -#: templates/part.choosecalendar.rowfields.shared.php:4 -msgid "shared with you by" -msgstr "" - -#: templates/part.editcalendar.php:9 -msgid "New calendar" -msgstr "" - -#: templates/part.editcalendar.php:9 -msgid "Edit calendar" -msgstr "Sunting kalender" - -#: templates/part.editcalendar.php:12 -msgid "Displayname" -msgstr "Namatampilan" - -#: templates/part.editcalendar.php:23 -msgid "Active" -msgstr "Aktif" - -#: templates/part.editcalendar.php:29 -msgid "Calendar color" -msgstr "Warna kalender" - -#: templates/part.editcalendar.php:42 -msgid "Save" -msgstr "" - -#: templates/part.editcalendar.php:42 templates/part.editevent.php:8 -#: templates/part.newevent.php:6 -msgid "Submit" -msgstr "Sampaikan" - -#: templates/part.editcalendar.php:43 -msgid "Cancel" -msgstr "" - -#: templates/part.editevent.php:1 -msgid "Edit an event" -msgstr "Sunting agenda" - -#: templates/part.editevent.php:10 -msgid "Export" -msgstr "" - -#: templates/part.eventform.php:8 templates/part.showevent.php:3 -msgid "Eventinfo" -msgstr "" - -#: templates/part.eventform.php:9 templates/part.showevent.php:4 -msgid "Repeating" -msgstr "" - -#: templates/part.eventform.php:10 templates/part.showevent.php:5 -msgid "Alarm" -msgstr "" - -#: templates/part.eventform.php:11 templates/part.showevent.php:6 -msgid "Attendees" -msgstr "" - -#: templates/part.eventform.php:13 -msgid "Share" -msgstr "" - -#: templates/part.eventform.php:21 -msgid "Title of the Event" -msgstr "Judul Agenda" - -#: templates/part.eventform.php:27 templates/part.showevent.php:19 -msgid "Category" -msgstr "Kategori" - -#: templates/part.eventform.php:29 -msgid "Separate categories with commas" -msgstr "" - -#: templates/part.eventform.php:30 -msgid "Edit categories" -msgstr "" - -#: templates/part.eventform.php:56 templates/part.showevent.php:52 -msgid "All Day Event" -msgstr "Agenda di Semua Hari" - -#: templates/part.eventform.php:60 templates/part.showevent.php:56 -msgid "From" -msgstr "Dari" - -#: templates/part.eventform.php:68 templates/part.showevent.php:64 -msgid "To" -msgstr "Ke" - -#: templates/part.eventform.php:76 templates/part.showevent.php:72 -msgid "Advanced options" -msgstr "" - -#: templates/part.eventform.php:81 templates/part.showevent.php:77 -msgid "Location" -msgstr "Lokasi" - -#: templates/part.eventform.php:83 -msgid "Location of the Event" -msgstr "Lokasi Agenda" - -#: templates/part.eventform.php:89 templates/part.showevent.php:85 -msgid "Description" -msgstr "Deskripsi" - -#: templates/part.eventform.php:91 -msgid "Description of the Event" -msgstr "Deskripsi dari Agenda" - -#: templates/part.eventform.php:100 templates/part.showevent.php:95 -msgid "Repeat" -msgstr "Ulangi" - -#: templates/part.eventform.php:107 templates/part.showevent.php:102 -msgid "Advanced" -msgstr "" - -#: templates/part.eventform.php:151 templates/part.showevent.php:146 -msgid "Select weekdays" -msgstr "" - -#: templates/part.eventform.php:164 templates/part.eventform.php:177 -#: templates/part.showevent.php:159 templates/part.showevent.php:172 -msgid "Select days" -msgstr "" - -#: templates/part.eventform.php:169 templates/part.showevent.php:164 -msgid "and the events day of year." -msgstr "" - -#: templates/part.eventform.php:182 templates/part.showevent.php:177 -msgid "and the events day of month." -msgstr "" - -#: templates/part.eventform.php:190 templates/part.showevent.php:185 -msgid "Select months" -msgstr "" - -#: templates/part.eventform.php:203 templates/part.showevent.php:198 -msgid "Select weeks" -msgstr "" - -#: templates/part.eventform.php:208 templates/part.showevent.php:203 -msgid "and the events week of year." -msgstr "" - -#: templates/part.eventform.php:214 templates/part.showevent.php:209 -msgid "Interval" -msgstr "" - -#: templates/part.eventform.php:220 templates/part.showevent.php:215 -msgid "End" -msgstr "" - -#: templates/part.eventform.php:233 templates/part.showevent.php:228 -msgid "occurrences" -msgstr "" - -#: templates/part.import.php:14 -msgid "create a new calendar" -msgstr "" - -#: templates/part.import.php:17 -msgid "Import a calendar file" -msgstr "" - -#: templates/part.import.php:24 -msgid "Please choose a calendar" -msgstr "" - -#: templates/part.import.php:36 -msgid "Name of new calendar" -msgstr "" - -#: templates/part.import.php:44 -msgid "Take an available name!" -msgstr "" - -#: templates/part.import.php:45 -msgid "" -"A Calendar with this name already exists. If you continue anyhow, these " -"calendars will be merged." -msgstr "" - -#: templates/part.import.php:47 -msgid "Import" -msgstr "" - -#: templates/part.import.php:56 -msgid "Close Dialog" -msgstr "" - -#: templates/part.newevent.php:1 -msgid "Create a new event" -msgstr "Buat agenda baru" - -#: templates/part.showevent.php:1 -msgid "View an event" -msgstr "" - -#: templates/part.showevent.php:23 -msgid "No categories selected" -msgstr "" - -#: templates/part.showevent.php:37 -msgid "of" -msgstr "" - -#: templates/part.showevent.php:59 templates/part.showevent.php:67 -msgid "at" -msgstr "" - -#: templates/settings.php:10 -msgid "General" -msgstr "" - -#: templates/settings.php:15 -msgid "Timezone" -msgstr "Zonawaktu" - -#: templates/settings.php:47 -msgid "Update timezone automatically" -msgstr "" - -#: templates/settings.php:52 -msgid "Time format" -msgstr "" - -#: templates/settings.php:57 -msgid "24h" -msgstr "" - -#: templates/settings.php:58 -msgid "12h" -msgstr "" - -#: templates/settings.php:64 -msgid "Start week on" -msgstr "" - -#: templates/settings.php:76 -msgid "Cache" -msgstr "" - -#: templates/settings.php:80 -msgid "Clear cache for repeating events" -msgstr "" - -#: templates/settings.php:85 -msgid "URLs" -msgstr "" - -#: templates/settings.php:87 -msgid "Calendar CalDAV syncing addresses" -msgstr "" - -#: templates/settings.php:87 -msgid "more info" -msgstr "" - -#: templates/settings.php:89 -msgid "Primary address (Kontact et al)" -msgstr "" - -#: templates/settings.php:91 -msgid "iOS/OS X" -msgstr "" - -#: templates/settings.php:93 -msgid "Read only iCalendar link(s)" -msgstr "" - -#: templates/share.dropdown.php:20 -msgid "Users" -msgstr "" - -#: templates/share.dropdown.php:21 -msgid "select users" -msgstr "" - -#: templates/share.dropdown.php:36 templates/share.dropdown.php:62 -msgid "Editable" -msgstr "" - -#: templates/share.dropdown.php:48 -msgid "Groups" -msgstr "" - -#: templates/share.dropdown.php:49 -msgid "select groups" -msgstr "" - -#: templates/share.dropdown.php:75 -msgid "make public" -msgstr "" diff --git a/l10n/id/contacts.po b/l10n/id/contacts.po deleted file mode 100644 index 0b3df912c24ad1cab5604eaafd8489f0de207198..0000000000000000000000000000000000000000 --- a/l10n/id/contacts.po +++ /dev/null @@ -1,952 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-24 02:02+0200\n" -"PO-Revision-Date: 2012-08-24 00:02+0000\n" -"Last-Translator: I Robot \n" -"Language-Team: Indonesian (http://www.transifex.com/projects/p/owncloud/language/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: ajax/addressbook/activate.php:24 ajax/addressbook/update.php:32 -msgid "Error (de)activating addressbook." -msgstr "" - -#: ajax/addressbook/delete.php:31 ajax/addressbook/update.php:20 -#: ajax/contact/addproperty.php:42 ajax/contact/delete.php:32 -#: ajax/contact/saveproperty.php:39 -msgid "id is not set." -msgstr "" - -#: ajax/addressbook/update.php:24 -msgid "Cannot update addressbook with an empty name." -msgstr "" - -#: ajax/addressbook/update.php:28 -msgid "Error updating addressbook." -msgstr "" - -#: ajax/categories/categoriesfor.php:17 -msgid "No ID provided" -msgstr "" - -#: ajax/categories/categoriesfor.php:34 -msgid "Error setting checksum." -msgstr "" - -#: ajax/categories/delete.php:19 -msgid "No categories selected for deletion." -msgstr "" - -#: ajax/categories/delete.php:26 -msgid "No address books found." -msgstr "" - -#: ajax/categories/delete.php:34 -msgid "No contacts found." -msgstr "" - -#: ajax/contact/add.php:47 -msgid "There was an error adding the contact." -msgstr "" - -#: ajax/contact/addproperty.php:39 ajax/contact/saveproperty.php:36 -msgid "element name is not set." -msgstr "" - -#: ajax/contact/addproperty.php:46 -msgid "Could not parse contact: " -msgstr "" - -#: ajax/contact/addproperty.php:56 -msgid "Cannot add empty property." -msgstr "" - -#: ajax/contact/addproperty.php:67 -msgid "At least one of the address fields has to be filled out." -msgstr "" - -#: ajax/contact/addproperty.php:76 -msgid "Trying to add duplicate property: " -msgstr "" - -#: ajax/contact/addproperty.php:115 ajax/contact/saveproperty.php:93 -msgid "Missing IM parameter." -msgstr "" - -#: ajax/contact/addproperty.php:119 ajax/contact/saveproperty.php:97 -msgid "Unknown IM: " -msgstr "" - -#: ajax/contact/deleteproperty.php:37 -msgid "Information about vCard is incorrect. Please reload the page." -msgstr "" - -#: ajax/contact/details.php:31 -msgid "Missing ID" -msgstr "" - -#: ajax/contact/details.php:36 -msgid "Error parsing VCard for ID: \"" -msgstr "" - -#: ajax/contact/saveproperty.php:42 -msgid "checksum is not set." -msgstr "" - -#: ajax/contact/saveproperty.php:62 -msgid "Information about vCard is incorrect. Please reload the page: " -msgstr "" - -#: ajax/contact/saveproperty.php:69 -msgid "Something went FUBAR. " -msgstr "" - -#: ajax/currentphoto.php:30 ajax/oc_photo.php:28 ajax/uploadphoto.php:36 -#: ajax/uploadphoto.php:68 -msgid "No contact ID was submitted." -msgstr "" - -#: ajax/currentphoto.php:36 -msgid "Error reading contact photo." -msgstr "" - -#: ajax/currentphoto.php:48 -msgid "Error saving temporary file." -msgstr "" - -#: ajax/currentphoto.php:51 -msgid "The loading photo is not valid." -msgstr "" - -#: ajax/editname.php:31 -msgid "Contact ID is missing." -msgstr "" - -#: ajax/oc_photo.php:32 -msgid "No photo path was submitted." -msgstr "" - -#: ajax/oc_photo.php:39 -msgid "File doesn't exist:" -msgstr "" - -#: ajax/oc_photo.php:44 ajax/oc_photo.php:47 -msgid "Error loading image." -msgstr "" - -#: ajax/savecrop.php:69 -msgid "Error getting contact object." -msgstr "" - -#: ajax/savecrop.php:79 -msgid "Error getting PHOTO property." -msgstr "" - -#: ajax/savecrop.php:98 -msgid "Error saving contact." -msgstr "" - -#: ajax/savecrop.php:109 -msgid "Error resizing image" -msgstr "" - -#: ajax/savecrop.php:112 -msgid "Error cropping image" -msgstr "" - -#: ajax/savecrop.php:115 -msgid "Error creating temporary image" -msgstr "" - -#: ajax/savecrop.php:118 -msgid "Error finding image: " -msgstr "" - -#: ajax/uploadimport.php:44 ajax/uploadimport.php:76 -msgid "Error uploading contacts to storage." -msgstr "" - -#: ajax/uploadimport.php:61 ajax/uploadphoto.php:77 -msgid "There is no error, the file uploaded with success" -msgstr "" - -#: ajax/uploadimport.php:62 ajax/uploadphoto.php:78 -msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" -msgstr "" - -#: ajax/uploadimport.php:63 ajax/uploadphoto.php:79 -msgid "" -"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " -"the HTML form" -msgstr "" - -#: ajax/uploadimport.php:64 ajax/uploadphoto.php:80 -msgid "The uploaded file was only partially uploaded" -msgstr "" - -#: ajax/uploadimport.php:65 ajax/uploadphoto.php:81 -msgid "No file was uploaded" -msgstr "" - -#: ajax/uploadimport.php:66 ajax/uploadphoto.php:82 -msgid "Missing a temporary folder" -msgstr "" - -#: ajax/uploadphoto.php:59 ajax/uploadphoto.php:109 -msgid "Couldn't save temporary image: " -msgstr "" - -#: ajax/uploadphoto.php:62 ajax/uploadphoto.php:112 -msgid "Couldn't load temporary image: " -msgstr "" - -#: ajax/uploadphoto.php:71 -msgid "No file was uploaded. Unknown error" -msgstr "" - -#: appinfo/app.php:21 -msgid "Contacts" -msgstr "" - -#: js/contacts.js:71 -msgid "Sorry, this functionality has not been implemented yet" -msgstr "" - -#: js/contacts.js:71 -msgid "Not implemented" -msgstr "" - -#: js/contacts.js:76 -msgid "Couldn't get a valid address." -msgstr "" - -#: js/contacts.js:76 js/contacts.js:365 js/contacts.js:381 js/contacts.js:393 -#: js/contacts.js:723 js/contacts.js:763 js/contacts.js:789 js/contacts.js:921 -#: js/contacts.js:927 js/contacts.js:939 js/contacts.js:976 -#: js/contacts.js:1250 js/contacts.js:1258 js/contacts.js:1267 -#: js/contacts.js:1302 js/contacts.js:1338 js/contacts.js:1353 -#: js/contacts.js:1379 js/contacts.js:1609 js/contacts.js:1644 -#: js/contacts.js:1664 js/settings.js:26 js/settings.js:43 js/settings.js:68 -msgid "Error" -msgstr "" - -#: js/contacts.js:424 -msgid "You do not have permission to add contacts to " -msgstr "" - -#: js/contacts.js:425 -msgid "Please select one of your own address books." -msgstr "" - -#: js/contacts.js:425 -msgid "Permission error" -msgstr "" - -#: js/contacts.js:763 -msgid "This property has to be non-empty." -msgstr "" - -#: js/contacts.js:789 -msgid "Couldn't serialize elements." -msgstr "" - -#: js/contacts.js:921 js/contacts.js:939 -msgid "" -"'deleteProperty' called without type argument. Please report at " -"bugs.owncloud.org" -msgstr "" - -#: js/contacts.js:958 -msgid "Edit name" -msgstr "" - -#: js/contacts.js:1250 -msgid "No files selected for upload." -msgstr "" - -#: js/contacts.js:1258 -msgid "" -"The file you are trying to upload exceed the maximum size for file uploads " -"on this server." -msgstr "" - -#: js/contacts.js:1322 -msgid "Error loading profile picture." -msgstr "" - -#: js/contacts.js:1457 js/contacts.js:1498 js/contacts.js:1517 -#: js/contacts.js:1560 -msgid "Select type" -msgstr "" - -#: js/contacts.js:1578 -msgid "" -"Some contacts are marked for deletion, but not deleted yet. Please wait for " -"them to be deleted." -msgstr "" - -#: js/contacts.js:1649 -msgid "Do you want to merge these address books?" -msgstr "" - -#: js/loader.js:49 -msgid "Result: " -msgstr "" - -#: js/loader.js:49 -msgid " imported, " -msgstr "" - -#: js/loader.js:49 -msgid " failed." -msgstr "" - -#: js/settings.js:68 -msgid "Displayname cannot be empty." -msgstr "" - -#: lib/app.php:36 -msgid "Addressbook not found: " -msgstr "" - -#: lib/app.php:52 -msgid "This is not your addressbook." -msgstr "" - -#: lib/app.php:71 -msgid "Contact could not be found." -msgstr "" - -#: lib/app.php:116 -msgid "Jabber" -msgstr "" - -#: lib/app.php:121 -msgid "AIM" -msgstr "" - -#: lib/app.php:126 -msgid "MSN" -msgstr "" - -#: lib/app.php:131 -msgid "Twitter" -msgstr "" - -#: lib/app.php:136 -msgid "GoogleTalk" -msgstr "" - -#: lib/app.php:141 -msgid "Facebook" -msgstr "" - -#: lib/app.php:146 -msgid "XMPP" -msgstr "" - -#: lib/app.php:151 -msgid "ICQ" -msgstr "" - -#: lib/app.php:156 -msgid "Yahoo" -msgstr "" - -#: lib/app.php:161 -msgid "Skype" -msgstr "" - -#: lib/app.php:166 -msgid "QQ" -msgstr "" - -#: lib/app.php:171 -msgid "GaduGadu" -msgstr "" - -#: lib/app.php:194 lib/app.php:202 lib/app.php:213 lib/app.php:266 -msgid "Work" -msgstr "" - -#: lib/app.php:195 lib/app.php:200 lib/app.php:214 -msgid "Home" -msgstr "" - -#: lib/app.php:196 lib/app.php:209 lib/app.php:262 lib/vcard.php:593 -msgid "Other" -msgstr "" - -#: lib/app.php:201 -msgid "Mobile" -msgstr "" - -#: lib/app.php:203 -msgid "Text" -msgstr "" - -#: lib/app.php:204 -msgid "Voice" -msgstr "" - -#: lib/app.php:205 -msgid "Message" -msgstr "" - -#: lib/app.php:206 -msgid "Fax" -msgstr "" - -#: lib/app.php:207 -msgid "Video" -msgstr "" - -#: lib/app.php:208 -msgid "Pager" -msgstr "" - -#: lib/app.php:215 -msgid "Internet" -msgstr "" - -#: lib/app.php:252 templates/part.contact.php:45 -#: templates/part.contact.php:128 -msgid "Birthday" -msgstr "" - -#: lib/app.php:253 -msgid "Business" -msgstr "" - -#: lib/app.php:254 -msgid "Call" -msgstr "" - -#: lib/app.php:255 -msgid "Clients" -msgstr "" - -#: lib/app.php:256 -msgid "Deliverer" -msgstr "" - -#: lib/app.php:257 -msgid "Holidays" -msgstr "" - -#: lib/app.php:258 -msgid "Ideas" -msgstr "" - -#: lib/app.php:259 -msgid "Journey" -msgstr "" - -#: lib/app.php:260 -msgid "Jubilee" -msgstr "" - -#: lib/app.php:261 -msgid "Meeting" -msgstr "" - -#: lib/app.php:263 -msgid "Personal" -msgstr "" - -#: lib/app.php:264 -msgid "Projects" -msgstr "" - -#: lib/app.php:265 -msgid "Questions" -msgstr "" - -#: lib/hooks.php:102 -msgid "{name}'s Birthday" -msgstr "" - -#: lib/search.php:15 -msgid "Contact" -msgstr "" - -#: lib/vcard.php:408 -msgid "You do not have the permissions to edit this contact." -msgstr "" - -#: lib/vcard.php:483 -msgid "You do not have the permissions to delete this contact." -msgstr "" - -#: templates/index.php:14 -msgid "Add Contact" -msgstr "" - -#: templates/index.php:15 templates/index.php:16 templates/part.import.php:17 -msgid "Import" -msgstr "" - -#: templates/index.php:18 -msgid "Settings" -msgstr "" - -#: templates/index.php:18 templates/settings.php:9 -msgid "Addressbooks" -msgstr "" - -#: templates/index.php:36 templates/part.import.php:24 -msgid "Close" -msgstr "" - -#: templates/index.php:37 -msgid "Keyboard shortcuts" -msgstr "" - -#: templates/index.php:39 -msgid "Navigation" -msgstr "" - -#: templates/index.php:42 -msgid "Next contact in list" -msgstr "" - -#: templates/index.php:44 -msgid "Previous contact in list" -msgstr "" - -#: templates/index.php:46 -msgid "Expand/collapse current addressbook" -msgstr "" - -#: templates/index.php:48 -msgid "Next addressbook" -msgstr "" - -#: templates/index.php:50 -msgid "Previous addressbook" -msgstr "" - -#: templates/index.php:54 -msgid "Actions" -msgstr "" - -#: templates/index.php:57 -msgid "Refresh contacts list" -msgstr "" - -#: templates/index.php:59 -msgid "Add new contact" -msgstr "" - -#: templates/index.php:61 -msgid "Add new addressbook" -msgstr "" - -#: templates/index.php:63 -msgid "Delete current contact" -msgstr "" - -#: templates/part.contact.php:17 -msgid "Drop photo to upload" -msgstr "" - -#: templates/part.contact.php:19 -msgid "Delete current photo" -msgstr "" - -#: templates/part.contact.php:20 -msgid "Edit current photo" -msgstr "" - -#: templates/part.contact.php:21 -msgid "Upload new photo" -msgstr "" - -#: templates/part.contact.php:22 -msgid "Select photo from ownCloud" -msgstr "" - -#: templates/part.contact.php:35 -msgid "Format custom, Short name, Full name, Reverse or Reverse with comma" -msgstr "" - -#: templates/part.contact.php:36 -msgid "Edit name details" -msgstr "" - -#: templates/part.contact.php:39 templates/part.contact.php:40 -#: templates/part.contact.php:126 -msgid "Organization" -msgstr "" - -#: templates/part.contact.php:40 templates/part.contact.php:42 -#: templates/part.contact.php:44 templates/part.contact.php:46 -#: templates/part.contact.php:50 templates/settings.php:36 -msgid "Delete" -msgstr "" - -#: templates/part.contact.php:41 templates/part.contact.php:127 -msgid "Nickname" -msgstr "" - -#: templates/part.contact.php:42 -msgid "Enter nickname" -msgstr "" - -#: templates/part.contact.php:43 templates/part.contact.php:134 -msgid "Web site" -msgstr "" - -#: templates/part.contact.php:44 -msgid "http://www.somesite.com" -msgstr "" - -#: templates/part.contact.php:44 -msgid "Go to web site" -msgstr "" - -#: templates/part.contact.php:46 -msgid "dd-mm-yyyy" -msgstr "" - -#: templates/part.contact.php:47 templates/part.contact.php:135 -msgid "Groups" -msgstr "" - -#: templates/part.contact.php:49 -msgid "Separate groups with commas" -msgstr "" - -#: templates/part.contact.php:50 -msgid "Edit groups" -msgstr "" - -#: templates/part.contact.php:59 templates/part.contact.php:73 -#: templates/part.contact.php:98 -msgid "Preferred" -msgstr "" - -#: templates/part.contact.php:60 -msgid "Please specify a valid email address." -msgstr "" - -#: templates/part.contact.php:60 -msgid "Enter email address" -msgstr "" - -#: templates/part.contact.php:64 -msgid "Mail to address" -msgstr "" - -#: templates/part.contact.php:65 -msgid "Delete email address" -msgstr "" - -#: templates/part.contact.php:75 -msgid "Enter phone number" -msgstr "" - -#: templates/part.contact.php:79 -msgid "Delete phone number" -msgstr "" - -#: templates/part.contact.php:100 -msgid "Instant Messenger" -msgstr "" - -#: templates/part.contact.php:101 -msgid "Delete IM" -msgstr "" - -#: templates/part.contact.php:110 -msgid "View on map" -msgstr "" - -#: templates/part.contact.php:110 -msgid "Edit address details" -msgstr "" - -#: templates/part.contact.php:116 -msgid "Add notes here." -msgstr "" - -#: templates/part.contact.php:124 -msgid "Add field" -msgstr "" - -#: templates/part.contact.php:129 -msgid "Phone" -msgstr "" - -#: templates/part.contact.php:130 -msgid "Email" -msgstr "" - -#: templates/part.contact.php:131 -msgid "Instant Messaging" -msgstr "" - -#: templates/part.contact.php:132 -msgid "Address" -msgstr "" - -#: templates/part.contact.php:133 -msgid "Note" -msgstr "" - -#: templates/part.contact.php:138 -msgid "Download contact" -msgstr "" - -#: templates/part.contact.php:139 -msgid "Delete contact" -msgstr "" - -#: templates/part.cropphoto.php:65 -msgid "The temporary image has been removed from cache." -msgstr "" - -#: templates/part.edit_address_dialog.php:6 -msgid "Edit address" -msgstr "" - -#: templates/part.edit_address_dialog.php:10 -msgid "Type" -msgstr "" - -#: templates/part.edit_address_dialog.php:18 -#: templates/part.edit_address_dialog.php:21 -msgid "PO Box" -msgstr "" - -#: templates/part.edit_address_dialog.php:24 -msgid "Street address" -msgstr "" - -#: templates/part.edit_address_dialog.php:27 -msgid "Street and number" -msgstr "" - -#: templates/part.edit_address_dialog.php:30 -msgid "Extended" -msgstr "" - -#: templates/part.edit_address_dialog.php:33 -msgid "Apartment number etc." -msgstr "" - -#: templates/part.edit_address_dialog.php:36 -#: templates/part.edit_address_dialog.php:39 -msgid "City" -msgstr "" - -#: templates/part.edit_address_dialog.php:42 -msgid "Region" -msgstr "" - -#: templates/part.edit_address_dialog.php:45 -msgid "E.g. state or province" -msgstr "" - -#: templates/part.edit_address_dialog.php:48 -msgid "Zipcode" -msgstr "" - -#: templates/part.edit_address_dialog.php:51 -msgid "Postal code" -msgstr "" - -#: templates/part.edit_address_dialog.php:54 -#: templates/part.edit_address_dialog.php:57 -msgid "Country" -msgstr "" - -#: templates/part.edit_name_dialog.php:16 -msgid "Addressbook" -msgstr "" - -#: templates/part.edit_name_dialog.php:23 -msgid "Hon. prefixes" -msgstr "" - -#: templates/part.edit_name_dialog.php:27 -msgid "Miss" -msgstr "" - -#: templates/part.edit_name_dialog.php:28 -msgid "Ms" -msgstr "" - -#: templates/part.edit_name_dialog.php:29 -msgid "Mr" -msgstr "" - -#: templates/part.edit_name_dialog.php:30 -msgid "Sir" -msgstr "" - -#: templates/part.edit_name_dialog.php:31 -msgid "Mrs" -msgstr "" - -#: templates/part.edit_name_dialog.php:32 -msgid "Dr" -msgstr "" - -#: templates/part.edit_name_dialog.php:35 -msgid "Given name" -msgstr "" - -#: templates/part.edit_name_dialog.php:37 -msgid "Additional names" -msgstr "" - -#: templates/part.edit_name_dialog.php:39 -msgid "Family name" -msgstr "" - -#: templates/part.edit_name_dialog.php:41 -msgid "Hon. suffixes" -msgstr "" - -#: templates/part.edit_name_dialog.php:45 -msgid "J.D." -msgstr "" - -#: templates/part.edit_name_dialog.php:46 -msgid "M.D." -msgstr "" - -#: templates/part.edit_name_dialog.php:47 -msgid "D.O." -msgstr "" - -#: templates/part.edit_name_dialog.php:48 -msgid "D.C." -msgstr "" - -#: templates/part.edit_name_dialog.php:49 -msgid "Ph.D." -msgstr "" - -#: templates/part.edit_name_dialog.php:50 -msgid "Esq." -msgstr "" - -#: templates/part.edit_name_dialog.php:51 -msgid "Jr." -msgstr "" - -#: templates/part.edit_name_dialog.php:52 -msgid "Sn." -msgstr "" - -#: templates/part.import.php:1 -msgid "Import a contacts file" -msgstr "" - -#: templates/part.import.php:6 -msgid "Please choose the addressbook" -msgstr "" - -#: templates/part.import.php:10 -msgid "create a new addressbook" -msgstr "" - -#: templates/part.import.php:15 -msgid "Name of new addressbook" -msgstr "" - -#: templates/part.import.php:20 -msgid "Importing contacts" -msgstr "" - -#: templates/part.no_contacts.php:3 -msgid "You have no contacts in your addressbook." -msgstr "" - -#: templates/part.no_contacts.php:5 -msgid "Add contact" -msgstr "" - -#: templates/part.selectaddressbook.php:1 -msgid "Select Address Books" -msgstr "" - -#: templates/part.selectaddressbook.php:27 -msgid "Enter name" -msgstr "" - -#: templates/part.selectaddressbook.php:29 -msgid "Enter description" -msgstr "" - -#: templates/settings.php:3 -msgid "CardDAV syncing addresses" -msgstr "" - -#: templates/settings.php:3 -msgid "more info" -msgstr "" - -#: templates/settings.php:5 -msgid "Primary address (Kontact et al)" -msgstr "" - -#: templates/settings.php:7 -msgid "iOS/OS X" -msgstr "" - -#: templates/settings.php:20 -msgid "Show CardDav link" -msgstr "" - -#: templates/settings.php:23 -msgid "Show read-only VCF link" -msgstr "" - -#: templates/settings.php:26 -msgid "Share" -msgstr "" - -#: templates/settings.php:29 -msgid "Download" -msgstr "" - -#: templates/settings.php:33 -msgid "Edit" -msgstr "" - -#: templates/settings.php:43 -msgid "New Address Book" -msgstr "" - -#: templates/settings.php:44 -msgid "Name" -msgstr "" - -#: templates/settings.php:45 -msgid "Description" -msgstr "" - -#: templates/settings.php:46 -msgid "Save" -msgstr "" - -#: templates/settings.php:47 -msgid "Cancel" -msgstr "" - -#: templates/settings.php:52 -msgid "More..." -msgstr "" diff --git a/l10n/id/core.po b/l10n/id/core.po index 2f45fed4aaf99ad150141532878de79274f6c715..f6cf57fdffc3eeab0c2b9b9be624faffc7beadc5 100644 --- a/l10n/id/core.po +++ b/l10n/id/core.po @@ -3,6 +3,7 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# , 2012. # Muhammad Fauzan , 2012. # Muhammad Panji , 2012. # Muhammad Radifar , 2011. @@ -10,9 +11,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-16 02:04+0200\n" -"PO-Revision-Date: 2012-10-16 00:05+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-11-16 00:02+0100\n" +"PO-Revision-Date: 2012-11-14 23:13+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Indonesian (http://www.transifex.com/projects/p/owncloud/language/id/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -20,209 +21,241 @@ msgstr "" "Language: id\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: ajax/vcategories/add.php:23 ajax/vcategories/delete.php:23 -msgid "Application name not provided." -msgstr "Nama aplikasi tidak diberikan." +#: ajax/vcategories/add.php:26 ajax/vcategories/edit.php:25 +msgid "Category type not provided." +msgstr "" -#: ajax/vcategories/add.php:29 +#: ajax/vcategories/add.php:30 msgid "No category to add?" msgstr "Tidak ada kategori yang akan ditambahkan?" -#: ajax/vcategories/add.php:36 +#: ajax/vcategories/add.php:37 msgid "This category already exists: " msgstr "Kategori ini sudah ada:" -#: js/js.js:238 templates/layout.user.php:49 templates/layout.user.php:50 +#: ajax/vcategories/addToFavorites.php:26 ajax/vcategories/delete.php:27 +#: ajax/vcategories/favorites.php:24 +#: ajax/vcategories/removeFromFavorites.php:26 +msgid "Object type not provided." +msgstr "" + +#: ajax/vcategories/addToFavorites.php:30 +#: ajax/vcategories/removeFromFavorites.php:30 +#, php-format +msgid "%s ID not provided." +msgstr "" + +#: ajax/vcategories/addToFavorites.php:35 +#, php-format +msgid "Error adding %s to favorites." +msgstr "" + +#: ajax/vcategories/delete.php:35 js/oc-vcategories.js:136 +msgid "No categories selected for deletion." +msgstr "Tidak ada kategori terpilih untuk penghapusan." + +#: ajax/vcategories/removeFromFavorites.php:35 +#, php-format +msgid "Error removing %s from favorites." +msgstr "" + +#: js/js.js:243 templates/layout.user.php:59 templates/layout.user.php:60 msgid "Settings" msgstr "Setelan" -#: js/js.js:670 -msgid "January" -msgstr "Januari" +#: js/js.js:688 +msgid "seconds ago" +msgstr "beberapa detik yang lalu" -#: js/js.js:670 -msgid "February" -msgstr "Februari" +#: js/js.js:689 +msgid "1 minute ago" +msgstr "1 menit lalu" -#: js/js.js:670 -msgid "March" -msgstr "Maret" +#: js/js.js:690 +msgid "{minutes} minutes ago" +msgstr "" -#: js/js.js:670 -msgid "April" -msgstr "April" +#: js/js.js:691 +msgid "1 hour ago" +msgstr "" -#: js/js.js:670 -msgid "May" -msgstr "Mei" +#: js/js.js:692 +msgid "{hours} hours ago" +msgstr "" -#: js/js.js:670 -msgid "June" -msgstr "Juni" +#: js/js.js:693 +msgid "today" +msgstr "hari ini" -#: js/js.js:671 -msgid "July" -msgstr "Juli" +#: js/js.js:694 +msgid "yesterday" +msgstr "kemarin" -#: js/js.js:671 -msgid "August" -msgstr "Agustus" +#: js/js.js:695 +msgid "{days} days ago" +msgstr "" -#: js/js.js:671 -msgid "September" -msgstr "September" +#: js/js.js:696 +msgid "last month" +msgstr "bulan kemarin" -#: js/js.js:671 -msgid "October" -msgstr "Oktober" +#: js/js.js:697 +msgid "{months} months ago" +msgstr "" -#: js/js.js:671 -msgid "November" -msgstr "Nopember" +#: js/js.js:698 +msgid "months ago" +msgstr "beberapa bulan lalu" -#: js/js.js:671 -msgid "December" -msgstr "Desember" +#: js/js.js:699 +msgid "last year" +msgstr "tahun kemarin" + +#: js/js.js:700 +msgid "years ago" +msgstr "beberapa tahun lalu" -#: js/oc-dialogs.js:123 +#: js/oc-dialogs.js:126 msgid "Choose" -msgstr "" +msgstr "pilih" -#: js/oc-dialogs.js:143 js/oc-dialogs.js:163 +#: js/oc-dialogs.js:146 js/oc-dialogs.js:166 msgid "Cancel" msgstr "Batalkan" -#: js/oc-dialogs.js:159 +#: js/oc-dialogs.js:162 msgid "No" msgstr "Tidak" -#: js/oc-dialogs.js:160 +#: js/oc-dialogs.js:163 msgid "Yes" msgstr "Ya" -#: js/oc-dialogs.js:177 +#: js/oc-dialogs.js:180 msgid "Ok" msgstr "Oke" -#: js/oc-vcategories.js:68 -msgid "No categories selected for deletion." -msgstr "Tidak ada kategori terpilih untuk penghapusan." +#: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102 +#: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162 +msgid "The object type is not specified." +msgstr "" -#: js/oc-vcategories.js:68 js/share.js:114 js/share.js:121 js/share.js:497 -#: js/share.js:509 +#: js/oc-vcategories.js:95 js/oc-vcategories.js:125 js/oc-vcategories.js:136 +#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:525 +#: js/share.js:537 msgid "Error" +msgstr "gagal" + +#: js/oc-vcategories.js:179 +msgid "The app name is not specified." msgstr "" -#: js/share.js:103 -msgid "Error while sharing" +#: js/oc-vcategories.js:194 +msgid "The required file {file} is not installed!" msgstr "" -#: js/share.js:114 +#: js/share.js:124 +msgid "Error while sharing" +msgstr "gagal ketika membagikan" + +#: js/share.js:135 msgid "Error while unsharing" -msgstr "" +msgstr "gagal ketika membatalkan pembagian" -#: js/share.js:121 +#: js/share.js:142 msgid "Error while changing permissions" -msgstr "" +msgstr "gagal ketika merubah perijinan" -#: js/share.js:130 -msgid "Shared with you and the group" -msgstr "" +#: js/share.js:151 +msgid "Shared with you and the group {group} by {owner}" +msgstr "dibagikan dengan anda dan grup {group} oleh {owner}" -#: js/share.js:130 -msgid "by" -msgstr "" - -#: js/share.js:132 -msgid "Shared with you by" -msgstr "" +#: js/share.js:153 +msgid "Shared with you by {owner}" +msgstr "dibagikan dengan anda oleh {owner}" -#: js/share.js:137 +#: js/share.js:158 msgid "Share with" -msgstr "" +msgstr "bagikan dengan" -#: js/share.js:142 +#: js/share.js:163 msgid "Share with link" -msgstr "" +msgstr "bagikan dengan tautan" -#: js/share.js:143 +#: js/share.js:164 msgid "Password protect" -msgstr "" +msgstr "lindungi dengan kata kunci" -#: js/share.js:147 templates/installation.php:42 templates/login.php:24 +#: js/share.js:168 templates/installation.php:42 templates/login.php:24 #: templates/verify.php:13 msgid "Password" msgstr "Password" -#: js/share.js:152 +#: js/share.js:173 msgid "Set expiration date" -msgstr "" +msgstr "set tanggal kadaluarsa" -#: js/share.js:153 +#: js/share.js:174 msgid "Expiration date" -msgstr "" +msgstr "tanggal kadaluarsa" -#: js/share.js:185 +#: js/share.js:206 msgid "Share via email:" -msgstr "" +msgstr "berbagi memlalui surel:" -#: js/share.js:187 +#: js/share.js:208 msgid "No people found" -msgstr "" +msgstr "tidak ada orang ditemukan" -#: js/share.js:214 +#: js/share.js:235 msgid "Resharing is not allowed" -msgstr "" - -#: js/share.js:250 -msgid "Shared in" -msgstr "" - -#: js/share.js:250 -msgid "with" -msgstr "" +msgstr "berbagi ulang tidak diperbolehkan" #: js/share.js:271 +msgid "Shared in {item} with {user}" +msgstr "dibagikan dalam {item} dengan {user}" + +#: js/share.js:292 msgid "Unshare" -msgstr "" +msgstr "batalkan berbagi" -#: js/share.js:283 +#: js/share.js:304 msgid "can edit" -msgstr "" +msgstr "dapat merubah" -#: js/share.js:285 +#: js/share.js:306 msgid "access control" -msgstr "" +msgstr "kontrol akses" -#: js/share.js:288 +#: js/share.js:309 msgid "create" -msgstr "" +msgstr "buat baru" -#: js/share.js:291 +#: js/share.js:312 msgid "update" -msgstr "" +msgstr "baharui" -#: js/share.js:294 +#: js/share.js:315 msgid "delete" -msgstr "" +msgstr "hapus" -#: js/share.js:297 +#: js/share.js:318 msgid "share" -msgstr "" +msgstr "bagikan" -#: js/share.js:322 js/share.js:484 +#: js/share.js:343 js/share.js:512 js/share.js:514 msgid "Password protected" -msgstr "" +msgstr "dilindungi kata kunci" -#: js/share.js:497 +#: js/share.js:525 msgid "Error unsetting expiration date" -msgstr "" +msgstr "gagal melepas tanggal kadaluarsa" -#: js/share.js:509 +#: js/share.js:537 msgid "Error setting expiration date" -msgstr "" +msgstr "gagal memasang tanggal kadaluarsa" -#: lostpassword/index.php:26 +#: lostpassword/controller.php:47 msgid "ownCloud password reset" msgstr "reset password ownCloud" @@ -235,12 +268,12 @@ msgid "You will receive a link to reset your password via Email." msgstr "Anda akan mendapatkan link untuk mereset password anda lewat Email." #: lostpassword/templates/lostpassword.php:5 -msgid "Requested" -msgstr "Telah diminta" +msgid "Reset email send." +msgstr "" #: lostpassword/templates/lostpassword.php:8 -msgid "Login failed!" -msgstr "Login gagal!" +msgid "Request failed!" +msgstr "" #: lostpassword/templates/lostpassword.php:11 templates/installation.php:38 #: templates/login.php:20 @@ -299,13 +332,13 @@ msgstr "Cloud tidak ditemukan" msgid "Edit categories" msgstr "Edit kategori" -#: templates/edit_categories_dialog.php:14 +#: templates/edit_categories_dialog.php:16 msgid "Add" msgstr "Tambahkan" #: templates/installation.php:23 templates/installation.php:31 msgid "Security Warning" -msgstr "" +msgstr "peringatan keamanan" #: templates/installation.php:24 msgid "" @@ -317,7 +350,7 @@ msgstr "" msgid "" "Without a secure random number generator an attacker may be able to predict " "password reset tokens and take over your account." -msgstr "" +msgstr "tanpa generator angka acak, penyerang mungkin dapat menebak token reset kata kunci dan mengambil alih akun anda." #: templates/installation.php:32 msgid "" @@ -363,7 +396,7 @@ msgstr "Nama database" #: templates/installation.php:121 msgid "Database tablespace" -msgstr "" +msgstr "tablespace basis data" #: templates/installation.php:127 msgid "Database host" @@ -373,27 +406,103 @@ msgstr "Host database" msgid "Finish setup" msgstr "Selesaikan instalasi" -#: templates/layout.guest.php:38 +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Sunday" +msgstr "minggu" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Monday" +msgstr "senin" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Tuesday" +msgstr "selasa" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Wednesday" +msgstr "rabu" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Thursday" +msgstr "kamis" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Friday" +msgstr "jumat" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Saturday" +msgstr "sabtu" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "January" +msgstr "Januari" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "February" +msgstr "Februari" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "March" +msgstr "Maret" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "April" +msgstr "April" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "May" +msgstr "Mei" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "June" +msgstr "Juni" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "July" +msgstr "Juli" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "August" +msgstr "Agustus" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "September" +msgstr "September" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "October" +msgstr "Oktober" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "November" +msgstr "Nopember" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "December" +msgstr "Desember" + +#: templates/layout.guest.php:41 msgid "web services under your control" msgstr "web service dibawah kontrol anda" -#: templates/layout.user.php:34 +#: templates/layout.user.php:44 msgid "Log out" msgstr "Keluar" #: templates/login.php:8 msgid "Automatic logon rejected!" -msgstr "" +msgstr "login otomatis ditolak!" #: templates/login.php:9 msgid "" "If you did not change your password recently, your account may be " "compromised!" -msgstr "" +msgstr "apabila anda tidak merubah kata kunci belakangan ini, akun anda dapat di gunakan orang lain!" #: templates/login.php:10 msgid "Please change your password to secure your account again." -msgstr "" +msgstr "mohon ubah kata kunci untuk mengamankan akun anda" #: templates/login.php:15 msgid "Lost your password?" @@ -421,14 +530,14 @@ msgstr "selanjutnya" #: templates/verify.php:5 msgid "Security Warning!" -msgstr "" +msgstr "peringatan keamanan!" #: templates/verify.php:6 msgid "" "Please verify your password.
For security reasons you may be " "occasionally asked to enter your password again." -msgstr "" +msgstr "mohon periksa kembali kata kunci anda.
untuk alasan keamanan,anda akan sesekali diminta untuk memasukan kata kunci lagi." #: templates/verify.php:16 msgid "Verify" -msgstr "" +msgstr "periksa kembali" diff --git a/l10n/id/files.po b/l10n/id/files.po index a24bba4147a2b21b4c9a436e0d2672631c443f22..4c752ed6c0b898afa744de61bd201aaa40621259 100644 --- a/l10n/id/files.po +++ b/l10n/id/files.po @@ -10,9 +10,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-09-26 13:19+0200\n" -"PO-Revision-Date: 2012-09-26 11:20+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-12-01 00:01+0100\n" +"PO-Revision-Date: 2012-11-30 23:02+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Indonesian (http://www.transifex.com/projects/p/owncloud/language/id/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -25,194 +25,165 @@ msgid "There is no error, the file uploaded with success" msgstr "Tidak ada galat, berkas sukses diunggah" #: ajax/upload.php:21 -msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" -msgstr "File yang diunggah melampaui directive upload_max_filesize di php.ini" +msgid "" +"The uploaded file exceeds the upload_max_filesize directive in php.ini: " +msgstr "" -#: ajax/upload.php:22 +#: ajax/upload.php:23 msgid "" "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " "the HTML form" msgstr "File yang diunggah melampaui directive MAX_FILE_SIZE yang disebutan dalam form HTML." -#: ajax/upload.php:23 +#: ajax/upload.php:25 msgid "The uploaded file was only partially uploaded" msgstr "Berkas hanya diunggah sebagian" -#: ajax/upload.php:24 +#: ajax/upload.php:26 msgid "No file was uploaded" msgstr "Tidak ada berkas yang diunggah" -#: ajax/upload.php:25 +#: ajax/upload.php:27 msgid "Missing a temporary folder" msgstr "Kehilangan folder temporer" -#: ajax/upload.php:26 +#: ajax/upload.php:28 msgid "Failed to write to disk" msgstr "Gagal menulis ke disk" -#: appinfo/app.php:6 +#: appinfo/app.php:10 msgid "Files" msgstr "Berkas" -#: js/fileactions.js:108 templates/index.php:62 +#: js/fileactions.js:117 templates/index.php:83 templates/index.php:84 msgid "Unshare" -msgstr "" +msgstr "batalkan berbagi" -#: js/fileactions.js:110 templates/index.php:64 +#: js/fileactions.js:119 templates/index.php:89 templates/index.php:90 msgid "Delete" msgstr "Hapus" -#: js/fileactions.js:182 +#: js/fileactions.js:181 msgid "Rename" msgstr "" -#: js/filelist.js:190 js/filelist.js:192 -msgid "already exists" -msgstr "sudah ada" +#: js/filelist.js:201 js/filelist.js:203 +msgid "{new_name} already exists" +msgstr "" -#: js/filelist.js:190 js/filelist.js:192 +#: js/filelist.js:201 js/filelist.js:203 msgid "replace" msgstr "mengganti" -#: js/filelist.js:190 +#: js/filelist.js:201 msgid "suggest name" msgstr "" -#: js/filelist.js:190 js/filelist.js:192 +#: js/filelist.js:201 js/filelist.js:203 msgid "cancel" msgstr "batalkan" -#: js/filelist.js:239 js/filelist.js:241 -msgid "replaced" -msgstr "diganti" +#: js/filelist.js:250 +msgid "replaced {new_name}" +msgstr "" -#: js/filelist.js:239 js/filelist.js:241 js/filelist.js:273 js/filelist.js:275 +#: js/filelist.js:250 js/filelist.js:252 js/filelist.js:284 js/filelist.js:286 msgid "undo" msgstr "batal dikerjakan" -#: js/filelist.js:241 -msgid "with" -msgstr "dengan" +#: js/filelist.js:252 +msgid "replaced {new_name} with {old_name}" +msgstr "" + +#: js/filelist.js:284 +msgid "unshared {files}" +msgstr "" -#: js/filelist.js:273 -msgid "unshared" +#: js/filelist.js:286 +msgid "deleted {files}" msgstr "" -#: js/filelist.js:275 -msgid "deleted" -msgstr "dihapus" +#: js/files.js:33 +msgid "" +"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not " +"allowed." +msgstr "" -#: js/files.js:179 +#: js/files.js:183 msgid "generating ZIP-file, it may take some time." msgstr "membuat berkas ZIP, ini mungkin memakan waktu." -#: js/files.js:208 +#: js/files.js:218 msgid "Unable to upload your file as it is a directory or has 0 bytes" msgstr "Gagal mengunggah berkas anda karena berupa direktori atau mempunyai ukuran 0 byte" -#: js/files.js:208 +#: js/files.js:218 msgid "Upload Error" msgstr "Terjadi Galat Pengunggahan" -#: js/files.js:236 js/files.js:341 js/files.js:371 +#: js/files.js:235 +msgid "Close" +msgstr "tutup" + +#: js/files.js:254 js/files.js:368 js/files.js:398 msgid "Pending" msgstr "Menunggu" -#: js/files.js:256 +#: js/files.js:274 msgid "1 file uploading" msgstr "" -#: js/files.js:259 js/files.js:304 js/files.js:319 -msgid "files uploading" +#: js/files.js:277 js/files.js:331 js/files.js:346 +msgid "{count} files uploading" msgstr "" -#: js/files.js:322 js/files.js:355 +#: js/files.js:349 js/files.js:382 msgid "Upload cancelled." msgstr "Pengunggahan dibatalkan." -#: js/files.js:424 +#: js/files.js:451 msgid "" "File upload is in progress. Leaving the page now will cancel the upload." msgstr "" -#: js/files.js:494 -msgid "Invalid name, '/' is not allowed." -msgstr "Kesalahan nama, '/' tidak diijinkan." +#: js/files.js:523 +msgid "Invalid folder name. Usage of \"Shared\" is reserved by Owncloud" +msgstr "" -#: js/files.js:667 -msgid "files scanned" +#: js/files.js:704 +msgid "{count} files scanned" msgstr "" -#: js/files.js:675 +#: js/files.js:712 msgid "error while scanning" msgstr "" -#: js/files.js:748 templates/index.php:48 +#: js/files.js:785 templates/index.php:65 msgid "Name" msgstr "Nama" -#: js/files.js:749 templates/index.php:56 +#: js/files.js:786 templates/index.php:76 msgid "Size" msgstr "Ukuran" -#: js/files.js:750 templates/index.php:58 +#: js/files.js:787 templates/index.php:78 msgid "Modified" msgstr "Dimodifikasi" -#: js/files.js:777 -msgid "folder" -msgstr "folder" - -#: js/files.js:779 -msgid "folders" -msgstr "folder-folder" - -#: js/files.js:787 -msgid "file" -msgstr "berkas" - -#: js/files.js:789 -msgid "files" -msgstr "berkas-berkas" - -#: js/files.js:833 -msgid "seconds ago" -msgstr "" - -#: js/files.js:834 -msgid "minute ago" +#: js/files.js:814 +msgid "1 folder" msgstr "" -#: js/files.js:835 -msgid "minutes ago" +#: js/files.js:816 +msgid "{count} folders" msgstr "" -#: js/files.js:838 -msgid "today" +#: js/files.js:824 +msgid "1 file" msgstr "" -#: js/files.js:839 -msgid "yesterday" -msgstr "" - -#: js/files.js:840 -msgid "days ago" -msgstr "" - -#: js/files.js:841 -msgid "last month" -msgstr "" - -#: js/files.js:843 -msgid "months ago" -msgstr "" - -#: js/files.js:844 -msgid "last year" -msgstr "" - -#: js/files.js:845 -msgid "years ago" +#: js/files.js:826 +msgid "{count} files" msgstr "" #: templates/admin.php:5 @@ -223,80 +194,76 @@ msgstr "Penanganan berkas" msgid "Maximum upload size" msgstr "Ukuran unggah maksimum" -#: templates/admin.php:7 +#: templates/admin.php:9 msgid "max. possible: " msgstr "Kemungkinan maks:" -#: templates/admin.php:9 +#: templates/admin.php:12 msgid "Needed for multi-file and folder downloads." msgstr "Dibutuhkan untuk multi-berkas dan unduhan folder" -#: templates/admin.php:9 +#: templates/admin.php:14 msgid "Enable ZIP-download" msgstr "Aktifkan unduhan ZIP" -#: templates/admin.php:11 +#: templates/admin.php:17 msgid "0 is unlimited" msgstr "0 adalah tidak terbatas" -#: templates/admin.php:12 +#: templates/admin.php:19 msgid "Maximum input size for ZIP files" msgstr "Ukuran masukan maksimal untuk berkas ZIP" -#: templates/admin.php:14 +#: templates/admin.php:23 msgid "Save" -msgstr "" +msgstr "simpan" #: templates/index.php:7 msgid "New" msgstr "Baru" -#: templates/index.php:9 +#: templates/index.php:10 msgid "Text file" msgstr "Berkas teks" -#: templates/index.php:10 +#: templates/index.php:12 msgid "Folder" msgstr "Folder" -#: templates/index.php:11 -msgid "From url" -msgstr "Dari url" +#: templates/index.php:14 +msgid "From link" +msgstr "" -#: templates/index.php:20 +#: templates/index.php:35 msgid "Upload" msgstr "Unggah" -#: templates/index.php:27 +#: templates/index.php:43 msgid "Cancel upload" msgstr "Batal mengunggah" -#: templates/index.php:40 +#: templates/index.php:57 msgid "Nothing in here. Upload something!" msgstr "Tidak ada apa-apa di sini. Unggah sesuatu!" -#: templates/index.php:50 -msgid "Share" -msgstr "Bagikan" - -#: templates/index.php:52 +#: templates/index.php:71 msgid "Download" msgstr "Unduh" -#: templates/index.php:75 +#: templates/index.php:103 msgid "Upload too large" msgstr "Unggahan terlalu besar" -#: templates/index.php:77 +#: templates/index.php:105 msgid "" "The files you are trying to upload exceed the maximum size for file uploads " "on this server." msgstr "Berkas yang anda coba unggah melebihi ukuran maksimum untuk pengunggahan berkas di server ini." -#: templates/index.php:82 +#: templates/index.php:110 msgid "Files are being scanned, please wait." msgstr "Berkas sedang dipindai, silahkan tunggu." -#: templates/index.php:85 +#: templates/index.php:113 msgid "Current scanning" msgstr "Sedang memindai" diff --git a/l10n/id/files_encryption.po b/l10n/id/files_encryption.po index 82e011fadab484232f71fba2991dc17765c74664..5ab924354cbc2440169f1a73eae44d1ebf8f6f92 100644 --- a/l10n/id/files_encryption.po +++ b/l10n/id/files_encryption.po @@ -3,32 +3,33 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:33+0000\n" -"Last-Translator: FULL NAME \n" +"POT-Creation-Date: 2012-10-21 02:03+0200\n" +"PO-Revision-Date: 2012-10-20 23:08+0000\n" +"Last-Translator: elmakong \n" "Language-Team: Indonesian (http://www.transifex.com/projects/p/owncloud/language/id/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: id\n" -"Plural-Forms: nplurals=1; plural=0\n" +"Plural-Forms: nplurals=1; plural=0;\n" #: templates/settings.php:3 msgid "Encryption" -msgstr "" +msgstr "enkripsi" #: templates/settings.php:4 msgid "Exclude the following file types from encryption" -msgstr "" +msgstr "pengecualian untuk tipe file berikut dari enkripsi" #: templates/settings.php:5 msgid "None" -msgstr "" +msgstr "tidak ada" #: templates/settings.php:10 msgid "Enable Encryption" -msgstr "" +msgstr "aktifkan enkripsi" diff --git a/l10n/id/files_external.po b/l10n/id/files_external.po index f9773aeb643356726687a317fd0acd5aa105bd55..022a94be89498c290d45acc396b35c5206f5f360 100644 --- a/l10n/id/files_external.po +++ b/l10n/id/files_external.po @@ -3,13 +3,14 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-02 23:16+0200\n" -"PO-Revision-Date: 2012-10-02 21:17+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-12-12 00:12+0100\n" +"PO-Revision-Date: 2012-12-11 23:13+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Indonesian (http://www.transifex.com/projects/p/owncloud/language/id/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -19,7 +20,7 @@ msgstr "" #: js/dropbox.js:7 js/dropbox.js:25 js/google.js:7 js/google.js:23 msgid "Access granted" -msgstr "" +msgstr "akses diberikan" #: js/dropbox.js:28 js/dropbox.js:74 js/dropbox.js:79 js/dropbox.js:86 msgid "Error configuring Dropbox storage" @@ -27,11 +28,11 @@ msgstr "" #: js/dropbox.js:34 js/dropbox.js:45 js/google.js:31 js/google.js:40 msgid "Grant access" -msgstr "" +msgstr "berikan hak akses" #: js/dropbox.js:73 js/google.js:72 msgid "Fill out all required fields" -msgstr "" +msgstr "isi semua field yang dibutuhkan" #: js/dropbox.js:85 msgid "Please provide a valid Dropbox app key and secret." @@ -41,66 +42,80 @@ msgstr "" msgid "Error configuring Google Drive storage" msgstr "" +#: lib/config.php:434 +msgid "" +"Warning: \"smbclient\" is not installed. Mounting of CIFS/SMB shares " +"is not possible. Please ask your system administrator to install it." +msgstr "" + +#: lib/config.php:435 +msgid "" +"Warning: The FTP support in PHP is not enabled or installed. Mounting" +" of FTP shares is not possible. Please ask your system administrator to " +"install it." +msgstr "" + #: templates/settings.php:3 msgid "External Storage" -msgstr "" +msgstr "penyimpanan eksternal" -#: templates/settings.php:7 templates/settings.php:19 +#: templates/settings.php:8 templates/settings.php:22 msgid "Mount point" msgstr "" -#: templates/settings.php:8 +#: templates/settings.php:9 msgid "Backend" msgstr "" -#: templates/settings.php:9 +#: templates/settings.php:10 msgid "Configuration" -msgstr "" +msgstr "konfigurasi" -#: templates/settings.php:10 +#: templates/settings.php:11 msgid "Options" -msgstr "" +msgstr "pilihan" -#: templates/settings.php:11 +#: templates/settings.php:12 msgid "Applicable" -msgstr "" +msgstr "berlaku" -#: templates/settings.php:23 +#: templates/settings.php:27 msgid "Add mount point" msgstr "" -#: templates/settings.php:54 templates/settings.php:62 +#: templates/settings.php:85 msgid "None set" -msgstr "" +msgstr "tidak satupun di set" -#: templates/settings.php:63 +#: templates/settings.php:86 msgid "All Users" -msgstr "" +msgstr "semua pengguna" -#: templates/settings.php:64 +#: templates/settings.php:87 msgid "Groups" -msgstr "" +msgstr "grup" -#: templates/settings.php:69 +#: templates/settings.php:95 msgid "Users" -msgstr "" +msgstr "pengguna" -#: templates/settings.php:77 templates/settings.php:107 +#: templates/settings.php:108 templates/settings.php:109 +#: templates/settings.php:149 templates/settings.php:150 msgid "Delete" -msgstr "" +msgstr "hapus" -#: templates/settings.php:87 +#: templates/settings.php:124 msgid "Enable User External Storage" msgstr "" -#: templates/settings.php:88 +#: templates/settings.php:125 msgid "Allow users to mount their own external storage" msgstr "" -#: templates/settings.php:99 +#: templates/settings.php:139 msgid "SSL root certificates" msgstr "" -#: templates/settings.php:113 +#: templates/settings.php:158 msgid "Import Root Certificate" msgstr "" diff --git a/l10n/id/files_pdfviewer.po b/l10n/id/files_pdfviewer.po deleted file mode 100644 index a9fc081e1854bd3cce1affa9637eee4cc1647e18..0000000000000000000000000000000000000000 --- a/l10n/id/files_pdfviewer.po +++ /dev/null @@ -1,42 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 02:18+0200\n" -"PO-Revision-Date: 2012-08-26 00:19+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Indonesian (http://www.transifex.com/projects/p/owncloud/language/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: js/viewer.js:22 -msgid "Previous" -msgstr "" - -#: js/viewer.js:23 -msgid "Next" -msgstr "" - -#: js/viewer.js:29 -msgid "Page Width" -msgstr "" - -#: js/viewer.js:29 -msgid "Page Fit" -msgstr "" - -#: js/viewer.js:30 -msgid "Print" -msgstr "" - -#: js/viewer.js:32 -msgid "Download" -msgstr "" diff --git a/l10n/id/files_sharing.po b/l10n/id/files_sharing.po index 8acea84a1ef327a255d01182f07d1bf7e6ef284d..95854936367c856715936d98e41c0b86c1d183ca 100644 --- a/l10n/id/files_sharing.po +++ b/l10n/id/files_sharing.po @@ -3,13 +3,14 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-09-22 01:14+0200\n" -"PO-Revision-Date: 2012-09-21 23:15+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-10-21 02:03+0200\n" +"PO-Revision-Date: 2012-10-20 23:29+0000\n" +"Last-Translator: elmakong \n" "Language-Team: Indonesian (http://www.transifex.com/projects/p/owncloud/language/id/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -19,30 +20,30 @@ msgstr "" #: templates/authenticate.php:4 msgid "Password" -msgstr "" +msgstr "kata kunci" #: templates/authenticate.php:6 msgid "Submit" -msgstr "" +msgstr "kirim" #: templates/public.php:9 #, php-format msgid "%s shared the folder %s with you" -msgstr "" +msgstr "%s membagikan folder %s dengan anda" #: templates/public.php:11 #, php-format msgid "%s shared the file %s with you" -msgstr "" +msgstr "%s membagikan file %s dengan anda" #: templates/public.php:14 templates/public.php:30 msgid "Download" -msgstr "" +msgstr "unduh" #: templates/public.php:29 msgid "No preview available for" -msgstr "" +msgstr "tidak ada pratinjau tersedia untuk" -#: templates/public.php:37 +#: templates/public.php:35 msgid "web services under your control" -msgstr "" +msgstr "servis web dibawah kendali anda" diff --git a/l10n/id/files_texteditor.po b/l10n/id/files_texteditor.po deleted file mode 100644 index 754e5072994361f014d05b68073534f83d138d6c..0000000000000000000000000000000000000000 --- a/l10n/id/files_texteditor.po +++ /dev/null @@ -1,44 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 01:17+0200\n" -"PO-Revision-Date: 2012-08-25 23:18+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Indonesian (http://www.transifex.com/projects/p/owncloud/language/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: js/aceeditor/mode-coldfusion-uncompressed.js:1568 -#: js/aceeditor/mode-liquid-uncompressed.js:902 -#: js/aceeditor/mode-svg-uncompressed.js:1575 -msgid "regex" -msgstr "" - -#: js/editor.js:72 js/editor.js:156 js/editor.js:163 -msgid "Save" -msgstr "" - -#: js/editor.js:74 -msgid "Close" -msgstr "" - -#: js/editor.js:149 -msgid "Saving..." -msgstr "" - -#: js/editor.js:239 -msgid "An error occurred!" -msgstr "" - -#: js/editor.js:266 -msgid "There were unsaved changes, click here to go back" -msgstr "" diff --git a/l10n/id/files_versions.po b/l10n/id/files_versions.po index 41ffd9c7525438facb68140938ff9e9770c37056..5b9201c347e79240d06eb1c8c5dcadc45c5a6d27 100644 --- a/l10n/id/files_versions.po +++ b/l10n/id/files_versions.po @@ -3,13 +3,14 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-09-22 01:14+0200\n" -"PO-Revision-Date: 2012-09-21 23:15+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-10-21 02:03+0200\n" +"PO-Revision-Date: 2012-10-20 23:40+0000\n" +"Last-Translator: elmakong \n" "Language-Team: Indonesian (http://www.transifex.com/projects/p/owncloud/language/id/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -19,24 +20,24 @@ msgstr "" #: js/settings-personal.js:31 templates/settings-personal.php:10 msgid "Expire all versions" -msgstr "" +msgstr "kadaluarsakan semua versi" #: js/versions.js:16 msgid "History" -msgstr "" +msgstr "riwayat" #: templates/settings-personal.php:4 msgid "Versions" -msgstr "" +msgstr "versi" #: templates/settings-personal.php:7 msgid "This will delete all existing backup versions of your files" -msgstr "" +msgstr "ini akan menghapus semua versi backup yang ada dari file anda" #: templates/settings.php:3 msgid "Files Versioning" -msgstr "" +msgstr "pembuatan versi file" #: templates/settings.php:4 msgid "Enable" -msgstr "" +msgstr "aktifkan" diff --git a/l10n/id/gallery.po b/l10n/id/gallery.po deleted file mode 100644 index 6b4c75eae942adfe99fd2b633426afd92f7a0882..0000000000000000000000000000000000000000 --- a/l10n/id/gallery.po +++ /dev/null @@ -1,95 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Muhammad Panji , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-06-06 00:12+0200\n" -"PO-Revision-Date: 2012-06-05 22:15+0000\n" -"Last-Translator: icewind \n" -"Language-Team: Indonesian (http://www.transifex.net/projects/p/owncloud/language/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: appinfo/app.php:37 -msgid "Pictures" -msgstr "Gambar" - -#: js/album_cover.js:44 -msgid "Share gallery" -msgstr "" - -#: js/album_cover.js:64 js/album_cover.js:100 js/album_cover.js:133 -msgid "Error: " -msgstr "" - -#: js/album_cover.js:64 js/album_cover.js:100 -msgid "Internal error" -msgstr "" - -#: js/album_cover.js:114 -msgid "Scanning root" -msgstr "" - -#: js/album_cover.js:115 -msgid "Default order" -msgstr "" - -#: js/album_cover.js:116 -msgid "Ascending" -msgstr "" - -#: js/album_cover.js:116 -msgid "Descending" -msgstr "" - -#: js/album_cover.js:117 templates/index.php:19 -msgid "Settings" -msgstr "Setting" - -#: js/album_cover.js:122 -msgid "Scanning root cannot be empty" -msgstr "" - -#: js/album_cover.js:122 js/album_cover.js:133 -msgid "Error" -msgstr "" - -#: templates/index.php:16 -msgid "Rescan" -msgstr "Scan ulang" - -#: templates/index.php:17 -msgid "Stop" -msgstr "Berhenti" - -#: templates/index.php:18 -msgid "Share" -msgstr "Bagikan" - -#: templates/view_album.php:19 -msgid "Back" -msgstr "Kembali" - -#: templates/view_album.php:36 -msgid "Remove confirmation" -msgstr "Hapus konfirmasi" - -#: templates/view_album.php:37 -msgid "Do you want to remove album" -msgstr "Apakah anda ingin menghapus album" - -#: templates/view_album.php:40 -msgid "Change album name" -msgstr "Ubah nama album" - -#: templates/view_album.php:43 -msgid "New album name" -msgstr "Nama album baru" diff --git a/l10n/id/impress.po b/l10n/id/impress.po deleted file mode 100644 index dfec96ea44fe70924d767d0ba3664e03b0fe788b..0000000000000000000000000000000000000000 --- a/l10n/id/impress.po +++ /dev/null @@ -1,22 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 01:17+0200\n" -"PO-Revision-Date: 2012-08-25 23:18+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Indonesian (http://www.transifex.com/projects/p/owncloud/language/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: templates/presentations.php:7 -msgid "Documentation" -msgstr "" diff --git a/l10n/id/lib.po b/l10n/id/lib.po index 3193d5c4dd2ca9be5dfaccfd0c20f74938884f1d..4987faad0d443e426cadc292110a73d66b23441b 100644 --- a/l10n/id/lib.po +++ b/l10n/id/lib.po @@ -3,123 +3,151 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-09-01 02:01+0200\n" -"PO-Revision-Date: 2012-09-01 00:02+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-11-16 00:02+0100\n" +"PO-Revision-Date: 2012-11-14 23:13+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Indonesian (http://www.transifex.com/projects/p/owncloud/language/id/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: id\n" -"Plural-Forms: nplurals=1; plural=0\n" +"Plural-Forms: nplurals=1; plural=0;\n" -#: app.php:288 +#: app.php:285 msgid "Help" -msgstr "" +msgstr "bantu" -#: app.php:295 +#: app.php:292 msgid "Personal" -msgstr "" +msgstr "perseorangan" -#: app.php:300 +#: app.php:297 msgid "Settings" -msgstr "" +msgstr "pengaturan" -#: app.php:305 +#: app.php:302 msgid "Users" -msgstr "" +msgstr "pengguna" -#: app.php:312 +#: app.php:309 msgid "Apps" -msgstr "" +msgstr "aplikasi" -#: app.php:314 +#: app.php:311 msgid "Admin" -msgstr "" +msgstr "admin" -#: files.php:280 +#: files.php:332 msgid "ZIP download is turned off." -msgstr "" +msgstr "download ZIP sedang dimatikan" -#: files.php:281 +#: files.php:333 msgid "Files need to be downloaded one by one." -msgstr "" +msgstr "file harus di unduh satu persatu" -#: files.php:281 files.php:306 +#: files.php:333 files.php:358 msgid "Back to Files" -msgstr "" +msgstr "kembali ke daftar file" -#: files.php:305 +#: files.php:357 msgid "Selected files too large to generate zip file." -msgstr "" +msgstr "file yang dipilih terlalu besar untuk membuat file zip" #: json.php:28 msgid "Application is not enabled" -msgstr "" +msgstr "aplikasi tidak diaktifkan" -#: json.php:39 json.php:63 json.php:75 +#: json.php:39 json.php:64 json.php:77 json.php:89 msgid "Authentication error" -msgstr "" +msgstr "autentikasi bermasalah" #: json.php:51 msgid "Token expired. Please reload page." +msgstr "token kadaluarsa.mohon perbaharui laman." + +#: search/provider/file.php:17 search/provider/file.php:35 +msgid "Files" msgstr "" -#: template.php:86 -msgid "seconds ago" +#: search/provider/file.php:26 search/provider/file.php:33 +msgid "Text" +msgstr "teks" + +#: search/provider/file.php:29 +msgid "Images" msgstr "" -#: template.php:87 +#: template.php:103 +msgid "seconds ago" +msgstr "beberapa detik yang lalu" + +#: template.php:104 msgid "1 minute ago" -msgstr "" +msgstr "1 menit lalu" -#: template.php:88 +#: template.php:105 #, php-format msgid "%d minutes ago" +msgstr "%d menit lalu" + +#: template.php:106 +msgid "1 hour ago" msgstr "" -#: template.php:91 -msgid "today" +#: template.php:107 +#, php-format +msgid "%d hours ago" msgstr "" -#: template.php:92 +#: template.php:108 +msgid "today" +msgstr "hari ini" + +#: template.php:109 msgid "yesterday" -msgstr "" +msgstr "kemarin" -#: template.php:93 +#: template.php:110 #, php-format msgid "%d days ago" -msgstr "" +msgstr "%d hari lalu" -#: template.php:94 +#: template.php:111 msgid "last month" -msgstr "" +msgstr "bulan kemarin" -#: template.php:95 -msgid "months ago" +#: template.php:112 +#, php-format +msgid "%d months ago" msgstr "" -#: template.php:96 +#: template.php:113 msgid "last year" -msgstr "" +msgstr "tahun kemarin" -#: template.php:97 +#: template.php:114 msgid "years ago" -msgstr "" +msgstr "beberapa tahun lalu" -#: updater.php:66 +#: updater.php:75 #, php-format msgid "%s is available. Get more information" -msgstr "" +msgstr "%s tersedia. dapatkan info lebih lanjut" -#: updater.php:68 +#: updater.php:77 msgid "up to date" -msgstr "" +msgstr "terbaru" -#: updater.php:71 +#: updater.php:80 msgid "updates check is disabled" +msgstr "pengecekan pembaharuan sedang non-aktifkan" + +#: vcategories.php:188 vcategories.php:249 +#, php-format +msgid "Could not find category \"%s\"" msgstr "" diff --git a/l10n/id/media.po b/l10n/id/media.po deleted file mode 100644 index 5d6c3e38ec1d9d4a24cdc47781f35bf93f189789..0000000000000000000000000000000000000000 --- a/l10n/id/media.po +++ /dev/null @@ -1,67 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Muhammad Radifar , 2011. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-06-06 00:12+0200\n" -"PO-Revision-Date: 2012-06-05 22:15+0000\n" -"Last-Translator: icewind \n" -"Language-Team: Indonesian (http://www.transifex.net/projects/p/owncloud/language/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: appinfo/app.php:32 templates/player.php:8 -msgid "Music" -msgstr "Musik" - -#: js/music.js:18 -msgid "Add album to playlist" -msgstr "" - -#: templates/music.php:3 templates/player.php:12 -msgid "Play" -msgstr "Mainkan" - -#: templates/music.php:4 templates/music.php:26 templates/player.php:13 -msgid "Pause" -msgstr "Jeda" - -#: templates/music.php:5 -msgid "Previous" -msgstr "Sebelumnya" - -#: templates/music.php:6 templates/player.php:14 -msgid "Next" -msgstr "Selanjutnya" - -#: templates/music.php:7 -msgid "Mute" -msgstr "Nonaktifkan suara" - -#: templates/music.php:8 -msgid "Unmute" -msgstr "Aktifkan suara" - -#: templates/music.php:25 -msgid "Rescan Collection" -msgstr "Pindai ulang Koleksi" - -#: templates/music.php:37 -msgid "Artist" -msgstr "Artis" - -#: templates/music.php:38 -msgid "Album" -msgstr "Album" - -#: templates/music.php:39 -msgid "Title" -msgstr "Judul" diff --git a/l10n/id/settings.po b/l10n/id/settings.po index 500bd511e869c575dd2b1e8b274a1000bf44c327..478557f09e06f2472703d69a347675b2a8385e64 100644 --- a/l10n/id/settings.po +++ b/l10n/id/settings.po @@ -3,6 +3,7 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# , 2012. # Muhammad Fauzan , 2012. # Muhammad Panji , 2012. # Muhammad Radifar , 2011. @@ -10,9 +11,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-09 02:03+0200\n" -"PO-Revision-Date: 2012-10-09 00:04+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-12-03 00:04+0100\n" +"PO-Revision-Date: 2012-12-02 03:18+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Indonesian (http://www.transifex.com/projects/p/owncloud/language/id/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -20,70 +21,73 @@ msgstr "" "Language: id\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: ajax/apps/ocs.php:23 +#: ajax/apps/ocs.php:20 msgid "Unable to load list from App Store" msgstr "" -#: ajax/creategroup.php:9 ajax/removeuser.php:13 ajax/setquota.php:18 -#: ajax/togglegroups.php:15 -msgid "Authentication error" -msgstr "" - -#: ajax/creategroup.php:19 +#: ajax/creategroup.php:10 msgid "Group already exists" msgstr "" -#: ajax/creategroup.php:28 +#: ajax/creategroup.php:19 msgid "Unable to add group" msgstr "" -#: ajax/enableapp.php:14 +#: ajax/enableapp.php:12 msgid "Could not enable app. " msgstr "" -#: ajax/lostpassword.php:14 +#: ajax/lostpassword.php:12 msgid "Email saved" msgstr "Email tersimpan" -#: ajax/lostpassword.php:16 +#: ajax/lostpassword.php:14 msgid "Invalid email" msgstr "Email tidak sah" -#: ajax/openid.php:16 +#: ajax/openid.php:13 msgid "OpenID Changed" msgstr "OpenID telah dirubah" -#: ajax/openid.php:18 ajax/setlanguage.php:20 ajax/setlanguage.php:23 +#: ajax/openid.php:15 ajax/setlanguage.php:17 ajax/setlanguage.php:20 msgid "Invalid request" msgstr "Permintaan tidak valid" -#: ajax/removegroup.php:16 +#: ajax/removegroup.php:13 msgid "Unable to delete group" msgstr "" -#: ajax/removeuser.php:22 +#: ajax/removeuser.php:15 ajax/setquota.php:15 ajax/togglegroups.php:18 +msgid "Authentication error" +msgstr "autentikasi bermasalah" + +#: ajax/removeuser.php:24 msgid "Unable to delete user" msgstr "" -#: ajax/setlanguage.php:18 +#: ajax/setlanguage.php:15 msgid "Language changed" msgstr "Bahasa telah diganti" -#: ajax/togglegroups.php:25 +#: ajax/togglegroups.php:12 +msgid "Admins can't remove themself from the admin group" +msgstr "" + +#: ajax/togglegroups.php:28 #, php-format msgid "Unable to add user to group %s" msgstr "" -#: ajax/togglegroups.php:31 +#: ajax/togglegroups.php:34 #, php-format msgid "Unable to remove user from group %s" msgstr "" -#: js/apps.js:28 js/apps.js:65 +#: js/apps.js:28 js/apps.js:67 msgid "Disable" msgstr "NonAktifkan" -#: js/apps.js:28 js/apps.js:54 +#: js/apps.js:28 js/apps.js:55 msgid "Enable" msgstr "Aktifkan" @@ -91,97 +95,10 @@ msgstr "Aktifkan" msgid "Saving..." msgstr "Menyimpan..." -#: personal.php:47 personal.php:48 +#: personal.php:42 personal.php:43 msgid "__language_name__" msgstr "__language_name__" -#: templates/admin.php:14 -msgid "Security Warning" -msgstr "Peringatan Keamanan" - -#: templates/admin.php:17 -msgid "" -"Your data directory and your files are probably accessible from the " -"internet. The .htaccess file that ownCloud provides is not working. We " -"strongly suggest that you configure your webserver in a way that the data " -"directory is no longer accessible or you move the data directory outside the" -" webserver document root." -msgstr "" - -#: templates/admin.php:31 -msgid "Cron" -msgstr "" - -#: templates/admin.php:37 -msgid "Execute one task with each page loaded" -msgstr "" - -#: templates/admin.php:43 -msgid "" -"cron.php is registered at a webcron service. Call the cron.php page in the " -"owncloud root once a minute over http." -msgstr "" - -#: templates/admin.php:49 -msgid "" -"Use systems cron service. Call the cron.php file in the owncloud folder via " -"a system cronjob once a minute." -msgstr "" - -#: templates/admin.php:56 -msgid "Sharing" -msgstr "" - -#: templates/admin.php:61 -msgid "Enable Share API" -msgstr "" - -#: templates/admin.php:62 -msgid "Allow apps to use the Share API" -msgstr "" - -#: templates/admin.php:67 -msgid "Allow links" -msgstr "" - -#: templates/admin.php:68 -msgid "Allow users to share items to the public with links" -msgstr "" - -#: templates/admin.php:73 -msgid "Allow resharing" -msgstr "" - -#: templates/admin.php:74 -msgid "Allow users to share items shared with them again" -msgstr "" - -#: templates/admin.php:79 -msgid "Allow users to share with anyone" -msgstr "" - -#: templates/admin.php:81 -msgid "Allow users to only share with users in their groups" -msgstr "" - -#: templates/admin.php:88 -msgid "Log" -msgstr "Log" - -#: templates/admin.php:116 -msgid "More" -msgstr "Lebih" - -#: templates/admin.php:124 -msgid "" -"Developed by the ownCloud community, the source code is " -"licensed under the AGPL." -msgstr "" - #: templates/apps.php:10 msgid "Add your App" msgstr "Tambahkan App anda" @@ -214,21 +131,21 @@ msgstr "Mengelola berkas besar" msgid "Ask a question" msgstr "Ajukan pertanyaan" -#: templates/help.php:23 +#: templates/help.php:22 msgid "Problems connecting to help database." msgstr "Bermasalah saat menghubungi database bantuan." -#: templates/help.php:24 +#: templates/help.php:23 msgid "Go there manually." msgstr "Pergi kesana secara manual." -#: templates/help.php:32 +#: templates/help.php:31 msgid "Answer" msgstr "Jawab" #: templates/personal.php:8 #, php-format -msgid "You have used %s of the available %s" +msgid "You have used %s of the available %s" msgstr "" #: templates/personal.php:12 @@ -253,7 +170,7 @@ msgstr "Password saat ini" #: templates/personal.php:22 msgid "New password" -msgstr "Password baru" +msgstr "kata kunci baru" #: templates/personal.php:23 msgid "show" @@ -287,6 +204,16 @@ msgstr "Bantu menerjemahkan" msgid "use this address to connect to your ownCloud in your file manager" msgstr "gunakan alamat ini untuk terhubung dengan ownCloud anda dalam file manager anda" +#: templates/personal.php:61 +msgid "" +"Developed by the ownCloud community, the source code is " +"licensed under the AGPL." +msgstr "" + #: templates/users.php:21 templates/users.php:76 msgid "Name" msgstr "Nama" diff --git a/l10n/id/tasks.po b/l10n/id/tasks.po deleted file mode 100644 index bea6e2596fe4bf4775253acdf881852e4ceef6ae..0000000000000000000000000000000000000000 --- a/l10n/id/tasks.po +++ /dev/null @@ -1,106 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:44+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Indonesian (http://www.transifex.com/projects/p/owncloud/language/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: ajax/update_property.php:51 lib/app.php:89 lib/app.php:101 -msgid "Invalid date/time" -msgstr "" - -#: appinfo/app.php:11 -msgid "Tasks" -msgstr "" - -#: js/tasks.js:415 -msgid "No category" -msgstr "" - -#: lib/app.php:33 -msgid "Unspecified" -msgstr "" - -#: lib/app.php:34 -msgid "1=highest" -msgstr "" - -#: lib/app.php:38 -msgid "5=medium" -msgstr "" - -#: lib/app.php:42 -msgid "9=lowest" -msgstr "" - -#: lib/app.php:81 -msgid "Empty Summary" -msgstr "" - -#: lib/app.php:93 -msgid "Invalid percent complete" -msgstr "" - -#: lib/app.php:107 -msgid "Invalid priority" -msgstr "" - -#: templates/tasks.php:3 -msgid "Add Task" -msgstr "" - -#: templates/tasks.php:4 -msgid "Order Due" -msgstr "" - -#: templates/tasks.php:5 -msgid "Order List" -msgstr "" - -#: templates/tasks.php:6 -msgid "Order Complete" -msgstr "" - -#: templates/tasks.php:7 -msgid "Order Location" -msgstr "" - -#: templates/tasks.php:8 -msgid "Order Priority" -msgstr "" - -#: templates/tasks.php:9 -msgid "Order Label" -msgstr "" - -#: templates/tasks.php:16 -msgid "Loading tasks..." -msgstr "" - -#: templates/tasks.php:20 -msgid "Important" -msgstr "" - -#: templates/tasks.php:23 -msgid "More" -msgstr "" - -#: templates/tasks.php:26 -msgid "Less" -msgstr "" - -#: templates/tasks.php:29 -msgid "Delete" -msgstr "" diff --git a/l10n/id/user_ldap.po b/l10n/id/user_ldap.po index 5d7f42dc6af9d18dbe6cc9427cd6773966b84280..8069104219ec3b62fbcbbf68052a4cc73d4d7247 100644 --- a/l10n/id/user_ldap.po +++ b/l10n/id/user_ldap.po @@ -3,23 +3,24 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-29 02:01+0200\n" -"PO-Revision-Date: 2012-08-29 00:03+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-10-22 02:02+0200\n" +"PO-Revision-Date: 2012-10-21 05:36+0000\n" +"Last-Translator: elmakong \n" "Language-Team: Indonesian (http://www.transifex.com/projects/p/owncloud/language/id/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: id\n" -"Plural-Forms: nplurals=1; plural=0\n" +"Plural-Forms: nplurals=1; plural=0;\n" #: templates/settings.php:8 msgid "Host" -msgstr "" +msgstr "host" #: templates/settings.php:8 msgid "" @@ -47,7 +48,7 @@ msgstr "" #: templates/settings.php:11 msgid "Password" -msgstr "" +msgstr "kata kunci" #: templates/settings.php:11 msgid "For anonymous access, leave DN and Password empty." @@ -55,7 +56,7 @@ msgstr "" #: templates/settings.php:12 msgid "User Login Filter" -msgstr "" +msgstr "gunakan saringan login" #: templates/settings.php:12 #, php-format @@ -83,7 +84,7 @@ msgstr "" #: templates/settings.php:14 msgid "Group Filter" -msgstr "" +msgstr "saringan grup" #: templates/settings.php:14 msgid "Defines the filter to apply, when retrieving groups." @@ -95,7 +96,7 @@ msgstr "" #: templates/settings.php:17 msgid "Port" -msgstr "" +msgstr "port" #: templates/settings.php:18 msgid "Base User Tree" @@ -111,11 +112,11 @@ msgstr "" #: templates/settings.php:21 msgid "Use TLS" -msgstr "" +msgstr "gunakan TLS" #: templates/settings.php:21 msgid "Do not use it for SSL connections, it will fail." -msgstr "" +msgstr "jangan gunakan untuk koneksi SSL, itu akan gagal." #: templates/settings.php:22 msgid "Case insensitve LDAP server (Windows)" @@ -123,7 +124,7 @@ msgstr "" #: templates/settings.php:23 msgid "Turn off SSL certificate validation." -msgstr "" +msgstr "matikan validasi sertivikat SSL" #: templates/settings.php:23 msgid "" @@ -133,7 +134,7 @@ msgstr "" #: templates/settings.php:23 msgid "Not recommended, use for testing only." -msgstr "" +msgstr "tidak disarankan, gunakan hanya untuk pengujian." #: templates/settings.php:24 msgid "User Display Name Field" @@ -153,11 +154,11 @@ msgstr "" #: templates/settings.php:27 msgid "in bytes" -msgstr "" +msgstr "dalam bytes" #: templates/settings.php:29 msgid "in seconds. A change empties the cache." -msgstr "" +msgstr "dalam detik. perubahan mengosongkan cache" #: templates/settings.php:30 msgid "" @@ -167,4 +168,4 @@ msgstr "" #: templates/settings.php:32 msgid "Help" -msgstr "" +msgstr "bantuan" diff --git a/l10n/id/user_migrate.po b/l10n/id/user_migrate.po deleted file mode 100644 index 8ff8940b53f7055b8f896dffdf7daf80f4c2d864..0000000000000000000000000000000000000000 --- a/l10n/id/user_migrate.po +++ /dev/null @@ -1,51 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:45+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Indonesian (http://www.transifex.com/projects/p/owncloud/language/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: js/export.js:14 js/export.js:20 -msgid "Export" -msgstr "" - -#: js/export.js:19 -msgid "Something went wrong while the export file was being generated" -msgstr "" - -#: js/export.js:19 -msgid "An error has occurred" -msgstr "" - -#: templates/settings.php:2 -msgid "Export your user account" -msgstr "" - -#: templates/settings.php:3 -msgid "" -"This will create a compressed file that contains your ownCloud account." -msgstr "" - -#: templates/settings.php:13 -msgid "Import user account" -msgstr "" - -#: templates/settings.php:15 -msgid "ownCloud User Zip" -msgstr "" - -#: templates/settings.php:17 -msgid "Import" -msgstr "" diff --git a/l10n/id/user_openid.po b/l10n/id/user_openid.po deleted file mode 100644 index 426a6396684f71e3818762f047f62e0d026d0193..0000000000000000000000000000000000000000 --- a/l10n/id/user_openid.po +++ /dev/null @@ -1,54 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:45+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Indonesian (http://www.transifex.com/projects/p/owncloud/language/id/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: templates/nomode.php:12 -msgid "This is an OpenID server endpoint. For more information, see " -msgstr "" - -#: templates/nomode.php:14 -msgid "Identity: " -msgstr "" - -#: templates/nomode.php:15 -msgid "Realm: " -msgstr "" - -#: templates/nomode.php:16 -msgid "User: " -msgstr "" - -#: templates/nomode.php:17 -msgid "Login" -msgstr "" - -#: templates/nomode.php:22 -msgid "Error: No user Selected" -msgstr "" - -#: templates/settings.php:4 -msgid "you can authenticate to other sites with this address" -msgstr "" - -#: templates/settings.php:5 -msgid "Authorized OpenID provider" -msgstr "" - -#: templates/settings.php:6 -msgid "Your address at Wordpress, Identi.ca, …" -msgstr "" diff --git a/l10n/id/files_odfviewer.po b/l10n/id/user_webdavauth.po similarity index 74% rename from l10n/id/files_odfviewer.po rename to l10n/id/user_webdavauth.po index 7680253aef3fa998189004d09f64fdddf90b10cd..68181d4405cb81b228a1fdcda925d0952bd1c3d7 100644 --- a/l10n/id/files_odfviewer.po +++ b/l10n/id/user_webdavauth.po @@ -7,16 +7,16 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 02:18+0200\n" -"PO-Revision-Date: 2012-08-26 00:19+0000\n" +"POT-Creation-Date: 2012-11-09 10:06+0100\n" +"PO-Revision-Date: 2012-11-09 09:06+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: Indonesian (http://www.transifex.com/projects/p/owncloud/language/id/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: id\n" -"Plural-Forms: nplurals=1; plural=0\n" +"Plural-Forms: nplurals=1; plural=0;\n" -#: js/viewer.js:9 -msgid "Close" +#: templates/settings.php:4 +msgid "WebDAV URL: http://" msgstr "" diff --git a/l10n/id_ID/admin_dependencies_chk.po b/l10n/id_ID/admin_dependencies_chk.po deleted file mode 100644 index 359c14556bb001745d2077b562c73f0f0ffb3600..0000000000000000000000000000000000000000 --- a/l10n/id_ID/admin_dependencies_chk.po +++ /dev/null @@ -1,73 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:33+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Indonesian (Indonesia) (http://www.transifex.com/projects/p/owncloud/language/id_ID/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id_ID\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: settings.php:33 -msgid "" -"The php-json module is needed by the many applications for inter " -"communications" -msgstr "" - -#: settings.php:39 -msgid "" -"The php-curl modude is needed to fetch the page title when adding a " -"bookmarks" -msgstr "" - -#: settings.php:45 -msgid "The php-gd module is needed to create thumbnails of your images" -msgstr "" - -#: settings.php:51 -msgid "The php-ldap module is needed connect to your ldap server" -msgstr "" - -#: settings.php:57 -msgid "The php-zip module is needed download multiple files at once" -msgstr "" - -#: settings.php:63 -msgid "" -"The php-mb_multibyte module is needed to manage correctly the encoding." -msgstr "" - -#: settings.php:69 -msgid "The php-ctype module is needed validate data." -msgstr "" - -#: settings.php:75 -msgid "The php-xml module is needed to share files with webdav." -msgstr "" - -#: settings.php:81 -msgid "" -"The allow_url_fopen directive of your php.ini should be set to 1 to retrieve" -" knowledge base from OCS servers" -msgstr "" - -#: settings.php:87 -msgid "The php-pdo module is needed to store owncloud data into a database." -msgstr "" - -#: templates/settings.php:2 -msgid "Dependencies status" -msgstr "" - -#: templates/settings.php:7 -msgid "Used by :" -msgstr "" diff --git a/l10n/id_ID/admin_migrate.po b/l10n/id_ID/admin_migrate.po deleted file mode 100644 index 129c39c8d73513b4e74bd2c33be8012204e9ca1c..0000000000000000000000000000000000000000 --- a/l10n/id_ID/admin_migrate.po +++ /dev/null @@ -1,32 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:32+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Indonesian (Indonesia) (http://www.transifex.com/projects/p/owncloud/language/id_ID/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id_ID\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: templates/settings.php:3 -msgid "Export this ownCloud instance" -msgstr "" - -#: templates/settings.php:4 -msgid "" -"This will create a compressed file that contains the data of this owncloud instance.\n" -" Please choose the export type:" -msgstr "" - -#: templates/settings.php:12 -msgid "Export" -msgstr "" diff --git a/l10n/id_ID/bookmarks.po b/l10n/id_ID/bookmarks.po deleted file mode 100644 index f954c1e8a4c31dca75331c4dc0110992933205be..0000000000000000000000000000000000000000 --- a/l10n/id_ID/bookmarks.po +++ /dev/null @@ -1,60 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-07-28 02:02+0200\n" -"PO-Revision-Date: 2012-07-27 22:17+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Indonesian (Indonesia) (http://www.transifex.com/projects/p/owncloud/language/id_ID/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id_ID\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: appinfo/app.php:14 -msgid "Bookmarks" -msgstr "" - -#: bookmarksHelper.php:99 -msgid "unnamed" -msgstr "" - -#: templates/bookmarklet.php:5 -msgid "" -"Drag this to your browser bookmarks and click it, when you want to bookmark " -"a webpage quickly:" -msgstr "" - -#: templates/bookmarklet.php:7 -msgid "Read later" -msgstr "" - -#: templates/list.php:13 -msgid "Address" -msgstr "" - -#: templates/list.php:14 -msgid "Title" -msgstr "" - -#: templates/list.php:15 -msgid "Tags" -msgstr "" - -#: templates/list.php:16 -msgid "Save bookmark" -msgstr "" - -#: templates/list.php:22 -msgid "You have no bookmarks" -msgstr "" - -#: templates/settings.php:11 -msgid "Bookmarklet
" -msgstr "" diff --git a/l10n/id_ID/calendar.po b/l10n/id_ID/calendar.po deleted file mode 100644 index ebef9b9adec1fc2f5164ef2bc029ec08426987ce..0000000000000000000000000000000000000000 --- a/l10n/id_ID/calendar.po +++ /dev/null @@ -1,813 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-11 02:02+0200\n" -"PO-Revision-Date: 2012-08-11 00:02+0000\n" -"Last-Translator: owncloud_robot \n" -"Language-Team: Indonesian (Indonesia) (http://www.transifex.com/projects/p/owncloud/language/id_ID/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id_ID\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: ajax/cache/status.php:19 -msgid "Not all calendars are completely cached" -msgstr "" - -#: ajax/cache/status.php:21 -msgid "Everything seems to be completely cached" -msgstr "" - -#: ajax/categories/rescan.php:29 -msgid "No calendars found." -msgstr "" - -#: ajax/categories/rescan.php:37 -msgid "No events found." -msgstr "" - -#: ajax/event/edit.form.php:20 -msgid "Wrong calendar" -msgstr "" - -#: ajax/import/dropimport.php:29 ajax/import/import.php:64 -msgid "" -"The file contained either no events or all events are already saved in your " -"calendar." -msgstr "" - -#: ajax/import/dropimport.php:31 ajax/import/import.php:67 -msgid "events has been saved in the new calendar" -msgstr "" - -#: ajax/import/import.php:56 -msgid "Import failed" -msgstr "" - -#: ajax/import/import.php:69 -msgid "events has been saved in your calendar" -msgstr "" - -#: ajax/settings/guesstimezone.php:25 -msgid "New Timezone:" -msgstr "" - -#: ajax/settings/settimezone.php:23 -msgid "Timezone changed" -msgstr "" - -#: ajax/settings/settimezone.php:25 -msgid "Invalid request" -msgstr "" - -#: appinfo/app.php:35 templates/calendar.php:15 -#: templates/part.eventform.php:33 templates/part.showevent.php:33 -msgid "Calendar" -msgstr "" - -#: js/calendar.js:832 -msgid "ddd" -msgstr "" - -#: js/calendar.js:833 -msgid "ddd M/d" -msgstr "" - -#: js/calendar.js:834 -msgid "dddd M/d" -msgstr "" - -#: js/calendar.js:837 -msgid "MMMM yyyy" -msgstr "" - -#: js/calendar.js:839 -msgid "MMM d[ yyyy]{ '—'[ MMM] d yyyy}" -msgstr "" - -#: js/calendar.js:841 -msgid "dddd, MMM d, yyyy" -msgstr "" - -#: lib/app.php:121 -msgid "Birthday" -msgstr "" - -#: lib/app.php:122 -msgid "Business" -msgstr "" - -#: lib/app.php:123 -msgid "Call" -msgstr "" - -#: lib/app.php:124 -msgid "Clients" -msgstr "" - -#: lib/app.php:125 -msgid "Deliverer" -msgstr "" - -#: lib/app.php:126 -msgid "Holidays" -msgstr "" - -#: lib/app.php:127 -msgid "Ideas" -msgstr "" - -#: lib/app.php:128 -msgid "Journey" -msgstr "" - -#: lib/app.php:129 -msgid "Jubilee" -msgstr "" - -#: lib/app.php:130 -msgid "Meeting" -msgstr "" - -#: lib/app.php:131 -msgid "Other" -msgstr "" - -#: lib/app.php:132 -msgid "Personal" -msgstr "" - -#: lib/app.php:133 -msgid "Projects" -msgstr "" - -#: lib/app.php:134 -msgid "Questions" -msgstr "" - -#: lib/app.php:135 -msgid "Work" -msgstr "" - -#: lib/app.php:351 lib/app.php:361 -msgid "by" -msgstr "" - -#: lib/app.php:359 lib/app.php:399 -msgid "unnamed" -msgstr "" - -#: lib/import.php:184 templates/calendar.php:12 -#: templates/part.choosecalendar.php:22 -msgid "New Calendar" -msgstr "" - -#: lib/object.php:372 -msgid "Does not repeat" -msgstr "" - -#: lib/object.php:373 -msgid "Daily" -msgstr "" - -#: lib/object.php:374 -msgid "Weekly" -msgstr "" - -#: lib/object.php:375 -msgid "Every Weekday" -msgstr "" - -#: lib/object.php:376 -msgid "Bi-Weekly" -msgstr "" - -#: lib/object.php:377 -msgid "Monthly" -msgstr "" - -#: lib/object.php:378 -msgid "Yearly" -msgstr "" - -#: lib/object.php:388 -msgid "never" -msgstr "" - -#: lib/object.php:389 -msgid "by occurrences" -msgstr "" - -#: lib/object.php:390 -msgid "by date" -msgstr "" - -#: lib/object.php:400 -msgid "by monthday" -msgstr "" - -#: lib/object.php:401 -msgid "by weekday" -msgstr "" - -#: lib/object.php:411 templates/calendar.php:5 templates/settings.php:69 -msgid "Monday" -msgstr "" - -#: lib/object.php:412 templates/calendar.php:5 -msgid "Tuesday" -msgstr "" - -#: lib/object.php:413 templates/calendar.php:5 -msgid "Wednesday" -msgstr "" - -#: lib/object.php:414 templates/calendar.php:5 -msgid "Thursday" -msgstr "" - -#: lib/object.php:415 templates/calendar.php:5 -msgid "Friday" -msgstr "" - -#: lib/object.php:416 templates/calendar.php:5 -msgid "Saturday" -msgstr "" - -#: lib/object.php:417 templates/calendar.php:5 templates/settings.php:70 -msgid "Sunday" -msgstr "" - -#: lib/object.php:427 -msgid "events week of month" -msgstr "" - -#: lib/object.php:428 -msgid "first" -msgstr "" - -#: lib/object.php:429 -msgid "second" -msgstr "" - -#: lib/object.php:430 -msgid "third" -msgstr "" - -#: lib/object.php:431 -msgid "fourth" -msgstr "" - -#: lib/object.php:432 -msgid "fifth" -msgstr "" - -#: lib/object.php:433 -msgid "last" -msgstr "" - -#: lib/object.php:467 templates/calendar.php:7 -msgid "January" -msgstr "" - -#: lib/object.php:468 templates/calendar.php:7 -msgid "February" -msgstr "" - -#: lib/object.php:469 templates/calendar.php:7 -msgid "March" -msgstr "" - -#: lib/object.php:470 templates/calendar.php:7 -msgid "April" -msgstr "" - -#: lib/object.php:471 templates/calendar.php:7 -msgid "May" -msgstr "" - -#: lib/object.php:472 templates/calendar.php:7 -msgid "June" -msgstr "" - -#: lib/object.php:473 templates/calendar.php:7 -msgid "July" -msgstr "" - -#: lib/object.php:474 templates/calendar.php:7 -msgid "August" -msgstr "" - -#: lib/object.php:475 templates/calendar.php:7 -msgid "September" -msgstr "" - -#: lib/object.php:476 templates/calendar.php:7 -msgid "October" -msgstr "" - -#: lib/object.php:477 templates/calendar.php:7 -msgid "November" -msgstr "" - -#: lib/object.php:478 templates/calendar.php:7 -msgid "December" -msgstr "" - -#: lib/object.php:488 -msgid "by events date" -msgstr "" - -#: lib/object.php:489 -msgid "by yearday(s)" -msgstr "" - -#: lib/object.php:490 -msgid "by weeknumber(s)" -msgstr "" - -#: lib/object.php:491 -msgid "by day and month" -msgstr "" - -#: lib/search.php:35 lib/search.php:37 lib/search.php:40 -msgid "Date" -msgstr "" - -#: lib/search.php:43 -msgid "Cal." -msgstr "" - -#: templates/calendar.php:6 -msgid "Sun." -msgstr "" - -#: templates/calendar.php:6 -msgid "Mon." -msgstr "" - -#: templates/calendar.php:6 -msgid "Tue." -msgstr "" - -#: templates/calendar.php:6 -msgid "Wed." -msgstr "" - -#: templates/calendar.php:6 -msgid "Thu." -msgstr "" - -#: templates/calendar.php:6 -msgid "Fri." -msgstr "" - -#: templates/calendar.php:6 -msgid "Sat." -msgstr "" - -#: templates/calendar.php:8 -msgid "Jan." -msgstr "" - -#: templates/calendar.php:8 -msgid "Feb." -msgstr "" - -#: templates/calendar.php:8 -msgid "Mar." -msgstr "" - -#: templates/calendar.php:8 -msgid "Apr." -msgstr "" - -#: templates/calendar.php:8 -msgid "May." -msgstr "" - -#: templates/calendar.php:8 -msgid "Jun." -msgstr "" - -#: templates/calendar.php:8 -msgid "Jul." -msgstr "" - -#: templates/calendar.php:8 -msgid "Aug." -msgstr "" - -#: templates/calendar.php:8 -msgid "Sep." -msgstr "" - -#: templates/calendar.php:8 -msgid "Oct." -msgstr "" - -#: templates/calendar.php:8 -msgid "Nov." -msgstr "" - -#: templates/calendar.php:8 -msgid "Dec." -msgstr "" - -#: templates/calendar.php:11 -msgid "All day" -msgstr "" - -#: templates/calendar.php:13 -msgid "Missing fields" -msgstr "" - -#: templates/calendar.php:14 templates/part.eventform.php:19 -#: templates/part.showevent.php:11 -msgid "Title" -msgstr "" - -#: templates/calendar.php:16 -msgid "From Date" -msgstr "" - -#: templates/calendar.php:17 -msgid "From Time" -msgstr "" - -#: templates/calendar.php:18 -msgid "To Date" -msgstr "" - -#: templates/calendar.php:19 -msgid "To Time" -msgstr "" - -#: templates/calendar.php:20 -msgid "The event ends before it starts" -msgstr "" - -#: templates/calendar.php:21 -msgid "There was a database fail" -msgstr "" - -#: templates/calendar.php:39 -msgid "Week" -msgstr "" - -#: templates/calendar.php:40 -msgid "Month" -msgstr "" - -#: templates/calendar.php:41 -msgid "List" -msgstr "" - -#: templates/calendar.php:45 -msgid "Today" -msgstr "" - -#: templates/calendar.php:46 templates/calendar.php:47 -msgid "Settings" -msgstr "" - -#: templates/part.choosecalendar.php:2 -msgid "Your calendars" -msgstr "" - -#: templates/part.choosecalendar.php:27 -#: templates/part.choosecalendar.rowfields.php:11 -msgid "CalDav Link" -msgstr "" - -#: templates/part.choosecalendar.php:31 -msgid "Shared calendars" -msgstr "" - -#: templates/part.choosecalendar.php:48 -msgid "No shared calendars" -msgstr "" - -#: templates/part.choosecalendar.rowfields.php:8 -msgid "Share Calendar" -msgstr "" - -#: templates/part.choosecalendar.rowfields.php:14 -msgid "Download" -msgstr "" - -#: templates/part.choosecalendar.rowfields.php:17 -msgid "Edit" -msgstr "" - -#: templates/part.choosecalendar.rowfields.php:20 -#: templates/part.editevent.php:9 -msgid "Delete" -msgstr "" - -#: templates/part.choosecalendar.rowfields.shared.php:4 -msgid "shared with you by" -msgstr "" - -#: templates/part.editcalendar.php:9 -msgid "New calendar" -msgstr "" - -#: templates/part.editcalendar.php:9 -msgid "Edit calendar" -msgstr "" - -#: templates/part.editcalendar.php:12 -msgid "Displayname" -msgstr "" - -#: templates/part.editcalendar.php:23 -msgid "Active" -msgstr "" - -#: templates/part.editcalendar.php:29 -msgid "Calendar color" -msgstr "" - -#: templates/part.editcalendar.php:42 -msgid "Save" -msgstr "" - -#: templates/part.editcalendar.php:42 templates/part.editevent.php:8 -#: templates/part.newevent.php:6 -msgid "Submit" -msgstr "" - -#: templates/part.editcalendar.php:43 -msgid "Cancel" -msgstr "" - -#: templates/part.editevent.php:1 -msgid "Edit an event" -msgstr "" - -#: templates/part.editevent.php:10 -msgid "Export" -msgstr "" - -#: templates/part.eventform.php:8 templates/part.showevent.php:3 -msgid "Eventinfo" -msgstr "" - -#: templates/part.eventform.php:9 templates/part.showevent.php:4 -msgid "Repeating" -msgstr "" - -#: templates/part.eventform.php:10 templates/part.showevent.php:5 -msgid "Alarm" -msgstr "" - -#: templates/part.eventform.php:11 templates/part.showevent.php:6 -msgid "Attendees" -msgstr "" - -#: templates/part.eventform.php:13 -msgid "Share" -msgstr "" - -#: templates/part.eventform.php:21 -msgid "Title of the Event" -msgstr "" - -#: templates/part.eventform.php:27 templates/part.showevent.php:19 -msgid "Category" -msgstr "" - -#: templates/part.eventform.php:29 -msgid "Separate categories with commas" -msgstr "" - -#: templates/part.eventform.php:30 -msgid "Edit categories" -msgstr "" - -#: templates/part.eventform.php:56 templates/part.showevent.php:52 -msgid "All Day Event" -msgstr "" - -#: templates/part.eventform.php:60 templates/part.showevent.php:56 -msgid "From" -msgstr "" - -#: templates/part.eventform.php:68 templates/part.showevent.php:64 -msgid "To" -msgstr "" - -#: templates/part.eventform.php:76 templates/part.showevent.php:72 -msgid "Advanced options" -msgstr "" - -#: templates/part.eventform.php:81 templates/part.showevent.php:77 -msgid "Location" -msgstr "" - -#: templates/part.eventform.php:83 -msgid "Location of the Event" -msgstr "" - -#: templates/part.eventform.php:89 templates/part.showevent.php:85 -msgid "Description" -msgstr "" - -#: templates/part.eventform.php:91 -msgid "Description of the Event" -msgstr "" - -#: templates/part.eventform.php:100 templates/part.showevent.php:95 -msgid "Repeat" -msgstr "" - -#: templates/part.eventform.php:107 templates/part.showevent.php:102 -msgid "Advanced" -msgstr "" - -#: templates/part.eventform.php:151 templates/part.showevent.php:146 -msgid "Select weekdays" -msgstr "" - -#: templates/part.eventform.php:164 templates/part.eventform.php:177 -#: templates/part.showevent.php:159 templates/part.showevent.php:172 -msgid "Select days" -msgstr "" - -#: templates/part.eventform.php:169 templates/part.showevent.php:164 -msgid "and the events day of year." -msgstr "" - -#: templates/part.eventform.php:182 templates/part.showevent.php:177 -msgid "and the events day of month." -msgstr "" - -#: templates/part.eventform.php:190 templates/part.showevent.php:185 -msgid "Select months" -msgstr "" - -#: templates/part.eventform.php:203 templates/part.showevent.php:198 -msgid "Select weeks" -msgstr "" - -#: templates/part.eventform.php:208 templates/part.showevent.php:203 -msgid "and the events week of year." -msgstr "" - -#: templates/part.eventform.php:214 templates/part.showevent.php:209 -msgid "Interval" -msgstr "" - -#: templates/part.eventform.php:220 templates/part.showevent.php:215 -msgid "End" -msgstr "" - -#: templates/part.eventform.php:233 templates/part.showevent.php:228 -msgid "occurrences" -msgstr "" - -#: templates/part.import.php:14 -msgid "create a new calendar" -msgstr "" - -#: templates/part.import.php:17 -msgid "Import a calendar file" -msgstr "" - -#: templates/part.import.php:24 -msgid "Please choose a calendar" -msgstr "" - -#: templates/part.import.php:36 -msgid "Name of new calendar" -msgstr "" - -#: templates/part.import.php:44 -msgid "Take an available name!" -msgstr "" - -#: templates/part.import.php:45 -msgid "" -"A Calendar with this name already exists. If you continue anyhow, these " -"calendars will be merged." -msgstr "" - -#: templates/part.import.php:47 -msgid "Import" -msgstr "" - -#: templates/part.import.php:56 -msgid "Close Dialog" -msgstr "" - -#: templates/part.newevent.php:1 -msgid "Create a new event" -msgstr "" - -#: templates/part.showevent.php:1 -msgid "View an event" -msgstr "" - -#: templates/part.showevent.php:23 -msgid "No categories selected" -msgstr "" - -#: templates/part.showevent.php:37 -msgid "of" -msgstr "" - -#: templates/part.showevent.php:59 templates/part.showevent.php:67 -msgid "at" -msgstr "" - -#: templates/settings.php:10 -msgid "General" -msgstr "" - -#: templates/settings.php:15 -msgid "Timezone" -msgstr "" - -#: templates/settings.php:47 -msgid "Update timezone automatically" -msgstr "" - -#: templates/settings.php:52 -msgid "Time format" -msgstr "" - -#: templates/settings.php:57 -msgid "24h" -msgstr "" - -#: templates/settings.php:58 -msgid "12h" -msgstr "" - -#: templates/settings.php:64 -msgid "Start week on" -msgstr "" - -#: templates/settings.php:76 -msgid "Cache" -msgstr "" - -#: templates/settings.php:80 -msgid "Clear cache for repeating events" -msgstr "" - -#: templates/settings.php:85 -msgid "URLs" -msgstr "" - -#: templates/settings.php:87 -msgid "Calendar CalDAV syncing addresses" -msgstr "" - -#: templates/settings.php:87 -msgid "more info" -msgstr "" - -#: templates/settings.php:89 -msgid "Primary address (Kontact et al)" -msgstr "" - -#: templates/settings.php:91 -msgid "iOS/OS X" -msgstr "" - -#: templates/settings.php:93 -msgid "Read only iCalendar link(s)" -msgstr "" - -#: templates/share.dropdown.php:20 -msgid "Users" -msgstr "" - -#: templates/share.dropdown.php:21 -msgid "select users" -msgstr "" - -#: templates/share.dropdown.php:36 templates/share.dropdown.php:62 -msgid "Editable" -msgstr "" - -#: templates/share.dropdown.php:48 -msgid "Groups" -msgstr "" - -#: templates/share.dropdown.php:49 -msgid "select groups" -msgstr "" - -#: templates/share.dropdown.php:75 -msgid "make public" -msgstr "" diff --git a/l10n/id_ID/contacts.po b/l10n/id_ID/contacts.po deleted file mode 100644 index a7964324daacedfe1d52b6f5699d1a018da72fa3..0000000000000000000000000000000000000000 --- a/l10n/id_ID/contacts.po +++ /dev/null @@ -1,952 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-24 02:02+0200\n" -"PO-Revision-Date: 2012-08-24 00:03+0000\n" -"Last-Translator: I Robot \n" -"Language-Team: Indonesian (Indonesia) (http://www.transifex.com/projects/p/owncloud/language/id_ID/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id_ID\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: ajax/addressbook/activate.php:24 ajax/addressbook/update.php:32 -msgid "Error (de)activating addressbook." -msgstr "" - -#: ajax/addressbook/delete.php:31 ajax/addressbook/update.php:20 -#: ajax/contact/addproperty.php:42 ajax/contact/delete.php:32 -#: ajax/contact/saveproperty.php:39 -msgid "id is not set." -msgstr "" - -#: ajax/addressbook/update.php:24 -msgid "Cannot update addressbook with an empty name." -msgstr "" - -#: ajax/addressbook/update.php:28 -msgid "Error updating addressbook." -msgstr "" - -#: ajax/categories/categoriesfor.php:17 -msgid "No ID provided" -msgstr "" - -#: ajax/categories/categoriesfor.php:34 -msgid "Error setting checksum." -msgstr "" - -#: ajax/categories/delete.php:19 -msgid "No categories selected for deletion." -msgstr "" - -#: ajax/categories/delete.php:26 -msgid "No address books found." -msgstr "" - -#: ajax/categories/delete.php:34 -msgid "No contacts found." -msgstr "" - -#: ajax/contact/add.php:47 -msgid "There was an error adding the contact." -msgstr "" - -#: ajax/contact/addproperty.php:39 ajax/contact/saveproperty.php:36 -msgid "element name is not set." -msgstr "" - -#: ajax/contact/addproperty.php:46 -msgid "Could not parse contact: " -msgstr "" - -#: ajax/contact/addproperty.php:56 -msgid "Cannot add empty property." -msgstr "" - -#: ajax/contact/addproperty.php:67 -msgid "At least one of the address fields has to be filled out." -msgstr "" - -#: ajax/contact/addproperty.php:76 -msgid "Trying to add duplicate property: " -msgstr "" - -#: ajax/contact/addproperty.php:115 ajax/contact/saveproperty.php:93 -msgid "Missing IM parameter." -msgstr "" - -#: ajax/contact/addproperty.php:119 ajax/contact/saveproperty.php:97 -msgid "Unknown IM: " -msgstr "" - -#: ajax/contact/deleteproperty.php:37 -msgid "Information about vCard is incorrect. Please reload the page." -msgstr "" - -#: ajax/contact/details.php:31 -msgid "Missing ID" -msgstr "" - -#: ajax/contact/details.php:36 -msgid "Error parsing VCard for ID: \"" -msgstr "" - -#: ajax/contact/saveproperty.php:42 -msgid "checksum is not set." -msgstr "" - -#: ajax/contact/saveproperty.php:62 -msgid "Information about vCard is incorrect. Please reload the page: " -msgstr "" - -#: ajax/contact/saveproperty.php:69 -msgid "Something went FUBAR. " -msgstr "" - -#: ajax/currentphoto.php:30 ajax/oc_photo.php:28 ajax/uploadphoto.php:36 -#: ajax/uploadphoto.php:68 -msgid "No contact ID was submitted." -msgstr "" - -#: ajax/currentphoto.php:36 -msgid "Error reading contact photo." -msgstr "" - -#: ajax/currentphoto.php:48 -msgid "Error saving temporary file." -msgstr "" - -#: ajax/currentphoto.php:51 -msgid "The loading photo is not valid." -msgstr "" - -#: ajax/editname.php:31 -msgid "Contact ID is missing." -msgstr "" - -#: ajax/oc_photo.php:32 -msgid "No photo path was submitted." -msgstr "" - -#: ajax/oc_photo.php:39 -msgid "File doesn't exist:" -msgstr "" - -#: ajax/oc_photo.php:44 ajax/oc_photo.php:47 -msgid "Error loading image." -msgstr "" - -#: ajax/savecrop.php:69 -msgid "Error getting contact object." -msgstr "" - -#: ajax/savecrop.php:79 -msgid "Error getting PHOTO property." -msgstr "" - -#: ajax/savecrop.php:98 -msgid "Error saving contact." -msgstr "" - -#: ajax/savecrop.php:109 -msgid "Error resizing image" -msgstr "" - -#: ajax/savecrop.php:112 -msgid "Error cropping image" -msgstr "" - -#: ajax/savecrop.php:115 -msgid "Error creating temporary image" -msgstr "" - -#: ajax/savecrop.php:118 -msgid "Error finding image: " -msgstr "" - -#: ajax/uploadimport.php:44 ajax/uploadimport.php:76 -msgid "Error uploading contacts to storage." -msgstr "" - -#: ajax/uploadimport.php:61 ajax/uploadphoto.php:77 -msgid "There is no error, the file uploaded with success" -msgstr "" - -#: ajax/uploadimport.php:62 ajax/uploadphoto.php:78 -msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" -msgstr "" - -#: ajax/uploadimport.php:63 ajax/uploadphoto.php:79 -msgid "" -"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " -"the HTML form" -msgstr "" - -#: ajax/uploadimport.php:64 ajax/uploadphoto.php:80 -msgid "The uploaded file was only partially uploaded" -msgstr "" - -#: ajax/uploadimport.php:65 ajax/uploadphoto.php:81 -msgid "No file was uploaded" -msgstr "" - -#: ajax/uploadimport.php:66 ajax/uploadphoto.php:82 -msgid "Missing a temporary folder" -msgstr "" - -#: ajax/uploadphoto.php:59 ajax/uploadphoto.php:109 -msgid "Couldn't save temporary image: " -msgstr "" - -#: ajax/uploadphoto.php:62 ajax/uploadphoto.php:112 -msgid "Couldn't load temporary image: " -msgstr "" - -#: ajax/uploadphoto.php:71 -msgid "No file was uploaded. Unknown error" -msgstr "" - -#: appinfo/app.php:21 -msgid "Contacts" -msgstr "" - -#: js/contacts.js:71 -msgid "Sorry, this functionality has not been implemented yet" -msgstr "" - -#: js/contacts.js:71 -msgid "Not implemented" -msgstr "" - -#: js/contacts.js:76 -msgid "Couldn't get a valid address." -msgstr "" - -#: js/contacts.js:76 js/contacts.js:365 js/contacts.js:381 js/contacts.js:393 -#: js/contacts.js:723 js/contacts.js:763 js/contacts.js:789 js/contacts.js:921 -#: js/contacts.js:927 js/contacts.js:939 js/contacts.js:976 -#: js/contacts.js:1250 js/contacts.js:1258 js/contacts.js:1267 -#: js/contacts.js:1302 js/contacts.js:1338 js/contacts.js:1353 -#: js/contacts.js:1379 js/contacts.js:1609 js/contacts.js:1644 -#: js/contacts.js:1664 js/settings.js:26 js/settings.js:43 js/settings.js:68 -msgid "Error" -msgstr "" - -#: js/contacts.js:424 -msgid "You do not have permission to add contacts to " -msgstr "" - -#: js/contacts.js:425 -msgid "Please select one of your own address books." -msgstr "" - -#: js/contacts.js:425 -msgid "Permission error" -msgstr "" - -#: js/contacts.js:763 -msgid "This property has to be non-empty." -msgstr "" - -#: js/contacts.js:789 -msgid "Couldn't serialize elements." -msgstr "" - -#: js/contacts.js:921 js/contacts.js:939 -msgid "" -"'deleteProperty' called without type argument. Please report at " -"bugs.owncloud.org" -msgstr "" - -#: js/contacts.js:958 -msgid "Edit name" -msgstr "" - -#: js/contacts.js:1250 -msgid "No files selected for upload." -msgstr "" - -#: js/contacts.js:1258 -msgid "" -"The file you are trying to upload exceed the maximum size for file uploads " -"on this server." -msgstr "" - -#: js/contacts.js:1322 -msgid "Error loading profile picture." -msgstr "" - -#: js/contacts.js:1457 js/contacts.js:1498 js/contacts.js:1517 -#: js/contacts.js:1560 -msgid "Select type" -msgstr "" - -#: js/contacts.js:1578 -msgid "" -"Some contacts are marked for deletion, but not deleted yet. Please wait for " -"them to be deleted." -msgstr "" - -#: js/contacts.js:1649 -msgid "Do you want to merge these address books?" -msgstr "" - -#: js/loader.js:49 -msgid "Result: " -msgstr "" - -#: js/loader.js:49 -msgid " imported, " -msgstr "" - -#: js/loader.js:49 -msgid " failed." -msgstr "" - -#: js/settings.js:68 -msgid "Displayname cannot be empty." -msgstr "" - -#: lib/app.php:36 -msgid "Addressbook not found: " -msgstr "" - -#: lib/app.php:52 -msgid "This is not your addressbook." -msgstr "" - -#: lib/app.php:71 -msgid "Contact could not be found." -msgstr "" - -#: lib/app.php:116 -msgid "Jabber" -msgstr "" - -#: lib/app.php:121 -msgid "AIM" -msgstr "" - -#: lib/app.php:126 -msgid "MSN" -msgstr "" - -#: lib/app.php:131 -msgid "Twitter" -msgstr "" - -#: lib/app.php:136 -msgid "GoogleTalk" -msgstr "" - -#: lib/app.php:141 -msgid "Facebook" -msgstr "" - -#: lib/app.php:146 -msgid "XMPP" -msgstr "" - -#: lib/app.php:151 -msgid "ICQ" -msgstr "" - -#: lib/app.php:156 -msgid "Yahoo" -msgstr "" - -#: lib/app.php:161 -msgid "Skype" -msgstr "" - -#: lib/app.php:166 -msgid "QQ" -msgstr "" - -#: lib/app.php:171 -msgid "GaduGadu" -msgstr "" - -#: lib/app.php:194 lib/app.php:202 lib/app.php:213 lib/app.php:266 -msgid "Work" -msgstr "" - -#: lib/app.php:195 lib/app.php:200 lib/app.php:214 -msgid "Home" -msgstr "" - -#: lib/app.php:196 lib/app.php:209 lib/app.php:262 lib/vcard.php:593 -msgid "Other" -msgstr "" - -#: lib/app.php:201 -msgid "Mobile" -msgstr "" - -#: lib/app.php:203 -msgid "Text" -msgstr "" - -#: lib/app.php:204 -msgid "Voice" -msgstr "" - -#: lib/app.php:205 -msgid "Message" -msgstr "" - -#: lib/app.php:206 -msgid "Fax" -msgstr "" - -#: lib/app.php:207 -msgid "Video" -msgstr "" - -#: lib/app.php:208 -msgid "Pager" -msgstr "" - -#: lib/app.php:215 -msgid "Internet" -msgstr "" - -#: lib/app.php:252 templates/part.contact.php:45 -#: templates/part.contact.php:128 -msgid "Birthday" -msgstr "" - -#: lib/app.php:253 -msgid "Business" -msgstr "" - -#: lib/app.php:254 -msgid "Call" -msgstr "" - -#: lib/app.php:255 -msgid "Clients" -msgstr "" - -#: lib/app.php:256 -msgid "Deliverer" -msgstr "" - -#: lib/app.php:257 -msgid "Holidays" -msgstr "" - -#: lib/app.php:258 -msgid "Ideas" -msgstr "" - -#: lib/app.php:259 -msgid "Journey" -msgstr "" - -#: lib/app.php:260 -msgid "Jubilee" -msgstr "" - -#: lib/app.php:261 -msgid "Meeting" -msgstr "" - -#: lib/app.php:263 -msgid "Personal" -msgstr "" - -#: lib/app.php:264 -msgid "Projects" -msgstr "" - -#: lib/app.php:265 -msgid "Questions" -msgstr "" - -#: lib/hooks.php:102 -msgid "{name}'s Birthday" -msgstr "" - -#: lib/search.php:15 -msgid "Contact" -msgstr "" - -#: lib/vcard.php:408 -msgid "You do not have the permissions to edit this contact." -msgstr "" - -#: lib/vcard.php:483 -msgid "You do not have the permissions to delete this contact." -msgstr "" - -#: templates/index.php:14 -msgid "Add Contact" -msgstr "" - -#: templates/index.php:15 templates/index.php:16 templates/part.import.php:17 -msgid "Import" -msgstr "" - -#: templates/index.php:18 -msgid "Settings" -msgstr "" - -#: templates/index.php:18 templates/settings.php:9 -msgid "Addressbooks" -msgstr "" - -#: templates/index.php:36 templates/part.import.php:24 -msgid "Close" -msgstr "" - -#: templates/index.php:37 -msgid "Keyboard shortcuts" -msgstr "" - -#: templates/index.php:39 -msgid "Navigation" -msgstr "" - -#: templates/index.php:42 -msgid "Next contact in list" -msgstr "" - -#: templates/index.php:44 -msgid "Previous contact in list" -msgstr "" - -#: templates/index.php:46 -msgid "Expand/collapse current addressbook" -msgstr "" - -#: templates/index.php:48 -msgid "Next addressbook" -msgstr "" - -#: templates/index.php:50 -msgid "Previous addressbook" -msgstr "" - -#: templates/index.php:54 -msgid "Actions" -msgstr "" - -#: templates/index.php:57 -msgid "Refresh contacts list" -msgstr "" - -#: templates/index.php:59 -msgid "Add new contact" -msgstr "" - -#: templates/index.php:61 -msgid "Add new addressbook" -msgstr "" - -#: templates/index.php:63 -msgid "Delete current contact" -msgstr "" - -#: templates/part.contact.php:17 -msgid "Drop photo to upload" -msgstr "" - -#: templates/part.contact.php:19 -msgid "Delete current photo" -msgstr "" - -#: templates/part.contact.php:20 -msgid "Edit current photo" -msgstr "" - -#: templates/part.contact.php:21 -msgid "Upload new photo" -msgstr "" - -#: templates/part.contact.php:22 -msgid "Select photo from ownCloud" -msgstr "" - -#: templates/part.contact.php:35 -msgid "Format custom, Short name, Full name, Reverse or Reverse with comma" -msgstr "" - -#: templates/part.contact.php:36 -msgid "Edit name details" -msgstr "" - -#: templates/part.contact.php:39 templates/part.contact.php:40 -#: templates/part.contact.php:126 -msgid "Organization" -msgstr "" - -#: templates/part.contact.php:40 templates/part.contact.php:42 -#: templates/part.contact.php:44 templates/part.contact.php:46 -#: templates/part.contact.php:50 templates/settings.php:36 -msgid "Delete" -msgstr "" - -#: templates/part.contact.php:41 templates/part.contact.php:127 -msgid "Nickname" -msgstr "" - -#: templates/part.contact.php:42 -msgid "Enter nickname" -msgstr "" - -#: templates/part.contact.php:43 templates/part.contact.php:134 -msgid "Web site" -msgstr "" - -#: templates/part.contact.php:44 -msgid "http://www.somesite.com" -msgstr "" - -#: templates/part.contact.php:44 -msgid "Go to web site" -msgstr "" - -#: templates/part.contact.php:46 -msgid "dd-mm-yyyy" -msgstr "" - -#: templates/part.contact.php:47 templates/part.contact.php:135 -msgid "Groups" -msgstr "" - -#: templates/part.contact.php:49 -msgid "Separate groups with commas" -msgstr "" - -#: templates/part.contact.php:50 -msgid "Edit groups" -msgstr "" - -#: templates/part.contact.php:59 templates/part.contact.php:73 -#: templates/part.contact.php:98 -msgid "Preferred" -msgstr "" - -#: templates/part.contact.php:60 -msgid "Please specify a valid email address." -msgstr "" - -#: templates/part.contact.php:60 -msgid "Enter email address" -msgstr "" - -#: templates/part.contact.php:64 -msgid "Mail to address" -msgstr "" - -#: templates/part.contact.php:65 -msgid "Delete email address" -msgstr "" - -#: templates/part.contact.php:75 -msgid "Enter phone number" -msgstr "" - -#: templates/part.contact.php:79 -msgid "Delete phone number" -msgstr "" - -#: templates/part.contact.php:100 -msgid "Instant Messenger" -msgstr "" - -#: templates/part.contact.php:101 -msgid "Delete IM" -msgstr "" - -#: templates/part.contact.php:110 -msgid "View on map" -msgstr "" - -#: templates/part.contact.php:110 -msgid "Edit address details" -msgstr "" - -#: templates/part.contact.php:116 -msgid "Add notes here." -msgstr "" - -#: templates/part.contact.php:124 -msgid "Add field" -msgstr "" - -#: templates/part.contact.php:129 -msgid "Phone" -msgstr "" - -#: templates/part.contact.php:130 -msgid "Email" -msgstr "" - -#: templates/part.contact.php:131 -msgid "Instant Messaging" -msgstr "" - -#: templates/part.contact.php:132 -msgid "Address" -msgstr "" - -#: templates/part.contact.php:133 -msgid "Note" -msgstr "" - -#: templates/part.contact.php:138 -msgid "Download contact" -msgstr "" - -#: templates/part.contact.php:139 -msgid "Delete contact" -msgstr "" - -#: templates/part.cropphoto.php:65 -msgid "The temporary image has been removed from cache." -msgstr "" - -#: templates/part.edit_address_dialog.php:6 -msgid "Edit address" -msgstr "" - -#: templates/part.edit_address_dialog.php:10 -msgid "Type" -msgstr "" - -#: templates/part.edit_address_dialog.php:18 -#: templates/part.edit_address_dialog.php:21 -msgid "PO Box" -msgstr "" - -#: templates/part.edit_address_dialog.php:24 -msgid "Street address" -msgstr "" - -#: templates/part.edit_address_dialog.php:27 -msgid "Street and number" -msgstr "" - -#: templates/part.edit_address_dialog.php:30 -msgid "Extended" -msgstr "" - -#: templates/part.edit_address_dialog.php:33 -msgid "Apartment number etc." -msgstr "" - -#: templates/part.edit_address_dialog.php:36 -#: templates/part.edit_address_dialog.php:39 -msgid "City" -msgstr "" - -#: templates/part.edit_address_dialog.php:42 -msgid "Region" -msgstr "" - -#: templates/part.edit_address_dialog.php:45 -msgid "E.g. state or province" -msgstr "" - -#: templates/part.edit_address_dialog.php:48 -msgid "Zipcode" -msgstr "" - -#: templates/part.edit_address_dialog.php:51 -msgid "Postal code" -msgstr "" - -#: templates/part.edit_address_dialog.php:54 -#: templates/part.edit_address_dialog.php:57 -msgid "Country" -msgstr "" - -#: templates/part.edit_name_dialog.php:16 -msgid "Addressbook" -msgstr "" - -#: templates/part.edit_name_dialog.php:23 -msgid "Hon. prefixes" -msgstr "" - -#: templates/part.edit_name_dialog.php:27 -msgid "Miss" -msgstr "" - -#: templates/part.edit_name_dialog.php:28 -msgid "Ms" -msgstr "" - -#: templates/part.edit_name_dialog.php:29 -msgid "Mr" -msgstr "" - -#: templates/part.edit_name_dialog.php:30 -msgid "Sir" -msgstr "" - -#: templates/part.edit_name_dialog.php:31 -msgid "Mrs" -msgstr "" - -#: templates/part.edit_name_dialog.php:32 -msgid "Dr" -msgstr "" - -#: templates/part.edit_name_dialog.php:35 -msgid "Given name" -msgstr "" - -#: templates/part.edit_name_dialog.php:37 -msgid "Additional names" -msgstr "" - -#: templates/part.edit_name_dialog.php:39 -msgid "Family name" -msgstr "" - -#: templates/part.edit_name_dialog.php:41 -msgid "Hon. suffixes" -msgstr "" - -#: templates/part.edit_name_dialog.php:45 -msgid "J.D." -msgstr "" - -#: templates/part.edit_name_dialog.php:46 -msgid "M.D." -msgstr "" - -#: templates/part.edit_name_dialog.php:47 -msgid "D.O." -msgstr "" - -#: templates/part.edit_name_dialog.php:48 -msgid "D.C." -msgstr "" - -#: templates/part.edit_name_dialog.php:49 -msgid "Ph.D." -msgstr "" - -#: templates/part.edit_name_dialog.php:50 -msgid "Esq." -msgstr "" - -#: templates/part.edit_name_dialog.php:51 -msgid "Jr." -msgstr "" - -#: templates/part.edit_name_dialog.php:52 -msgid "Sn." -msgstr "" - -#: templates/part.import.php:1 -msgid "Import a contacts file" -msgstr "" - -#: templates/part.import.php:6 -msgid "Please choose the addressbook" -msgstr "" - -#: templates/part.import.php:10 -msgid "create a new addressbook" -msgstr "" - -#: templates/part.import.php:15 -msgid "Name of new addressbook" -msgstr "" - -#: templates/part.import.php:20 -msgid "Importing contacts" -msgstr "" - -#: templates/part.no_contacts.php:3 -msgid "You have no contacts in your addressbook." -msgstr "" - -#: templates/part.no_contacts.php:5 -msgid "Add contact" -msgstr "" - -#: templates/part.selectaddressbook.php:1 -msgid "Select Address Books" -msgstr "" - -#: templates/part.selectaddressbook.php:27 -msgid "Enter name" -msgstr "" - -#: templates/part.selectaddressbook.php:29 -msgid "Enter description" -msgstr "" - -#: templates/settings.php:3 -msgid "CardDAV syncing addresses" -msgstr "" - -#: templates/settings.php:3 -msgid "more info" -msgstr "" - -#: templates/settings.php:5 -msgid "Primary address (Kontact et al)" -msgstr "" - -#: templates/settings.php:7 -msgid "iOS/OS X" -msgstr "" - -#: templates/settings.php:20 -msgid "Show CardDav link" -msgstr "" - -#: templates/settings.php:23 -msgid "Show read-only VCF link" -msgstr "" - -#: templates/settings.php:26 -msgid "Share" -msgstr "" - -#: templates/settings.php:29 -msgid "Download" -msgstr "" - -#: templates/settings.php:33 -msgid "Edit" -msgstr "" - -#: templates/settings.php:43 -msgid "New Address Book" -msgstr "" - -#: templates/settings.php:44 -msgid "Name" -msgstr "" - -#: templates/settings.php:45 -msgid "Description" -msgstr "" - -#: templates/settings.php:46 -msgid "Save" -msgstr "" - -#: templates/settings.php:47 -msgid "Cancel" -msgstr "" - -#: templates/settings.php:52 -msgid "More..." -msgstr "" diff --git a/l10n/id_ID/core.po b/l10n/id_ID/core.po index bda0015060e82d3d3a9bc55e15a2e521254c7136..0b89da36b9feb46360d7270cb68300ce60a3fb17 100644 --- a/l10n/id_ID/core.po +++ b/l10n/id_ID/core.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-16 02:04+0200\n" -"PO-Revision-Date: 2012-10-16 00:05+0000\n" +"POT-Creation-Date: 2012-10-18 02:03+0200\n" +"PO-Revision-Date: 2012-10-18 00:04+0000\n" "Last-Translator: I Robot \n" "Language-Team: Indonesian (Indonesia) (http://www.transifex.com/projects/p/owncloud/language/id_ID/)\n" "MIME-Version: 1.0\n" @@ -123,15 +123,11 @@ msgid "Error while changing permissions" msgstr "" #: js/share.js:130 -msgid "Shared with you and the group" -msgstr "" - -#: js/share.js:130 -msgid "by" +msgid "Shared with you and the group {group} by {owner}" msgstr "" #: js/share.js:132 -msgid "Shared with you by" +msgid "Shared with you by {owner}" msgstr "" #: js/share.js:137 @@ -172,11 +168,7 @@ msgid "Resharing is not allowed" msgstr "" #: js/share.js:250 -msgid "Shared in" -msgstr "" - -#: js/share.js:250 -msgid "with" +msgid "Shared in {item} with {user}" msgstr "" #: js/share.js:271 diff --git a/l10n/id_ID/files.po b/l10n/id_ID/files.po index a4212970ad40f89d968d1cf5a2ffe47797e6bfe4..02959503b9d1cf912271f98e56e9ecb4f109e2e7 100644 --- a/l10n/id_ID/files.po +++ b/l10n/id_ID/files.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-09-26 13:19+0200\n" -"PO-Revision-Date: 2012-09-26 11:20+0000\n" +"POT-Creation-Date: 2012-10-19 02:03+0200\n" +"PO-Revision-Date: 2012-10-19 00:04+0000\n" "Last-Translator: I Robot \n" "Language-Team: Indonesian (Indonesia) (http://www.transifex.com/projects/p/owncloud/language/id_ID/)\n" "MIME-Version: 1.0\n" @@ -63,152 +63,152 @@ msgstr "" msgid "Rename" msgstr "" -#: js/filelist.js:190 js/filelist.js:192 -msgid "already exists" +#: js/filelist.js:194 js/filelist.js:196 +msgid "{new_name} already exists" msgstr "" -#: js/filelist.js:190 js/filelist.js:192 +#: js/filelist.js:194 js/filelist.js:196 msgid "replace" msgstr "" -#: js/filelist.js:190 +#: js/filelist.js:194 msgid "suggest name" msgstr "" -#: js/filelist.js:190 js/filelist.js:192 +#: js/filelist.js:194 js/filelist.js:196 msgid "cancel" msgstr "" -#: js/filelist.js:239 js/filelist.js:241 -msgid "replaced" +#: js/filelist.js:243 +msgid "replaced {new_name}" msgstr "" -#: js/filelist.js:239 js/filelist.js:241 js/filelist.js:273 js/filelist.js:275 +#: js/filelist.js:243 js/filelist.js:245 js/filelist.js:277 js/filelist.js:279 msgid "undo" msgstr "" -#: js/filelist.js:241 -msgid "with" +#: js/filelist.js:245 +msgid "replaced {new_name} with {old_name}" msgstr "" -#: js/filelist.js:273 -msgid "unshared" +#: js/filelist.js:277 +msgid "unshared {files}" msgstr "" -#: js/filelist.js:275 -msgid "deleted" +#: js/filelist.js:279 +msgid "deleted {files}" msgstr "" #: js/files.js:179 msgid "generating ZIP-file, it may take some time." msgstr "" -#: js/files.js:208 +#: js/files.js:214 msgid "Unable to upload your file as it is a directory or has 0 bytes" msgstr "" -#: js/files.js:208 +#: js/files.js:214 msgid "Upload Error" msgstr "" -#: js/files.js:236 js/files.js:341 js/files.js:371 +#: js/files.js:242 js/files.js:347 js/files.js:377 msgid "Pending" msgstr "" -#: js/files.js:256 +#: js/files.js:262 msgid "1 file uploading" msgstr "" -#: js/files.js:259 js/files.js:304 js/files.js:319 -msgid "files uploading" +#: js/files.js:265 js/files.js:310 js/files.js:325 +msgid "{count} files uploading" msgstr "" -#: js/files.js:322 js/files.js:355 +#: js/files.js:328 js/files.js:361 msgid "Upload cancelled." msgstr "" -#: js/files.js:424 +#: js/files.js:430 msgid "" "File upload is in progress. Leaving the page now will cancel the upload." msgstr "" -#: js/files.js:494 +#: js/files.js:500 msgid "Invalid name, '/' is not allowed." msgstr "" -#: js/files.js:667 -msgid "files scanned" +#: js/files.js:681 +msgid "{count} files scanned" msgstr "" -#: js/files.js:675 +#: js/files.js:689 msgid "error while scanning" msgstr "" -#: js/files.js:748 templates/index.php:48 +#: js/files.js:762 templates/index.php:48 msgid "Name" msgstr "" -#: js/files.js:749 templates/index.php:56 +#: js/files.js:763 templates/index.php:56 msgid "Size" msgstr "" -#: js/files.js:750 templates/index.php:58 +#: js/files.js:764 templates/index.php:58 msgid "Modified" msgstr "" -#: js/files.js:777 -msgid "folder" +#: js/files.js:791 +msgid "1 folder" msgstr "" -#: js/files.js:779 -msgid "folders" +#: js/files.js:793 +msgid "{count} folders" msgstr "" -#: js/files.js:787 -msgid "file" +#: js/files.js:801 +msgid "1 file" msgstr "" -#: js/files.js:789 -msgid "files" +#: js/files.js:803 +msgid "{count} files" msgstr "" -#: js/files.js:833 +#: js/files.js:846 msgid "seconds ago" msgstr "" -#: js/files.js:834 -msgid "minute ago" +#: js/files.js:847 +msgid "1 minute ago" msgstr "" -#: js/files.js:835 -msgid "minutes ago" +#: js/files.js:848 +msgid "{minutes} minutes ago" msgstr "" -#: js/files.js:838 +#: js/files.js:851 msgid "today" msgstr "" -#: js/files.js:839 +#: js/files.js:852 msgid "yesterday" msgstr "" -#: js/files.js:840 -msgid "days ago" +#: js/files.js:853 +msgid "{days} days ago" msgstr "" -#: js/files.js:841 +#: js/files.js:854 msgid "last month" msgstr "" -#: js/files.js:843 +#: js/files.js:856 msgid "months ago" msgstr "" -#: js/files.js:844 +#: js/files.js:857 msgid "last year" msgstr "" -#: js/files.js:845 +#: js/files.js:858 msgid "years ago" msgstr "" diff --git a/l10n/id_ID/files_odfviewer.po b/l10n/id_ID/files_odfviewer.po deleted file mode 100644 index 0f3cc53112bc521eef9f6efdd20b8ceed774d1fa..0000000000000000000000000000000000000000 --- a/l10n/id_ID/files_odfviewer.po +++ /dev/null @@ -1,22 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 02:18+0200\n" -"PO-Revision-Date: 2012-08-26 00:19+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Indonesian (Indonesia) (http://www.transifex.com/projects/p/owncloud/language/id_ID/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id_ID\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: js/viewer.js:9 -msgid "Close" -msgstr "" diff --git a/l10n/id_ID/files_pdfviewer.po b/l10n/id_ID/files_pdfviewer.po deleted file mode 100644 index 395dc8b4c1288eb9813a1dd8629b782845de89f6..0000000000000000000000000000000000000000 --- a/l10n/id_ID/files_pdfviewer.po +++ /dev/null @@ -1,42 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 02:18+0200\n" -"PO-Revision-Date: 2012-08-26 00:19+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Indonesian (Indonesia) (http://www.transifex.com/projects/p/owncloud/language/id_ID/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id_ID\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: js/viewer.js:22 -msgid "Previous" -msgstr "" - -#: js/viewer.js:23 -msgid "Next" -msgstr "" - -#: js/viewer.js:29 -msgid "Page Width" -msgstr "" - -#: js/viewer.js:29 -msgid "Page Fit" -msgstr "" - -#: js/viewer.js:30 -msgid "Print" -msgstr "" - -#: js/viewer.js:32 -msgid "Download" -msgstr "" diff --git a/l10n/id_ID/files_texteditor.po b/l10n/id_ID/files_texteditor.po deleted file mode 100644 index a94adcdcf361710384a180de10cbd843878e86ee..0000000000000000000000000000000000000000 --- a/l10n/id_ID/files_texteditor.po +++ /dev/null @@ -1,44 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 01:17+0200\n" -"PO-Revision-Date: 2012-08-25 23:18+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Indonesian (Indonesia) (http://www.transifex.com/projects/p/owncloud/language/id_ID/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id_ID\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: js/aceeditor/mode-coldfusion-uncompressed.js:1568 -#: js/aceeditor/mode-liquid-uncompressed.js:902 -#: js/aceeditor/mode-svg-uncompressed.js:1575 -msgid "regex" -msgstr "" - -#: js/editor.js:72 js/editor.js:156 js/editor.js:163 -msgid "Save" -msgstr "" - -#: js/editor.js:74 -msgid "Close" -msgstr "" - -#: js/editor.js:149 -msgid "Saving..." -msgstr "" - -#: js/editor.js:239 -msgid "An error occurred!" -msgstr "" - -#: js/editor.js:266 -msgid "There were unsaved changes, click here to go back" -msgstr "" diff --git a/l10n/id_ID/gallery.po b/l10n/id_ID/gallery.po deleted file mode 100644 index 6d62fde891dea3d3ff2a16cf6b0bbf68abcf1429..0000000000000000000000000000000000000000 --- a/l10n/id_ID/gallery.po +++ /dev/null @@ -1,58 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-07-26 08:03+0200\n" -"PO-Revision-Date: 2012-07-25 19:30+0000\n" -"Last-Translator: owncloud_robot \n" -"Language-Team: Indonesian (Indonesia) (http://www.transifex.com/projects/p/owncloud/language/id_ID/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id_ID\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: appinfo/app.php:39 -msgid "Pictures" -msgstr "" - -#: js/pictures.js:12 -msgid "Share gallery" -msgstr "" - -#: js/pictures.js:32 -msgid "Error: " -msgstr "" - -#: js/pictures.js:32 -msgid "Internal error" -msgstr "" - -#: templates/index.php:27 -msgid "Slideshow" -msgstr "" - -#: templates/view_album.php:19 -msgid "Back" -msgstr "" - -#: templates/view_album.php:36 -msgid "Remove confirmation" -msgstr "" - -#: templates/view_album.php:37 -msgid "Do you want to remove album" -msgstr "" - -#: templates/view_album.php:40 -msgid "Change album name" -msgstr "" - -#: templates/view_album.php:43 -msgid "New album name" -msgstr "" diff --git a/l10n/id_ID/impress.po b/l10n/id_ID/impress.po deleted file mode 100644 index d5c02597729e1f35df85aa86937ffc5cb80ab01d..0000000000000000000000000000000000000000 --- a/l10n/id_ID/impress.po +++ /dev/null @@ -1,22 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 01:17+0200\n" -"PO-Revision-Date: 2012-08-25 23:18+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Indonesian (Indonesia) (http://www.transifex.com/projects/p/owncloud/language/id_ID/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id_ID\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: templates/presentations.php:7 -msgid "Documentation" -msgstr "" diff --git a/l10n/id_ID/media.po b/l10n/id_ID/media.po deleted file mode 100644 index 1db3e2f400f0858cc57dcec255ff39377fb3536a..0000000000000000000000000000000000000000 --- a/l10n/id_ID/media.po +++ /dev/null @@ -1,66 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-07-26 08:03+0200\n" -"PO-Revision-Date: 2011-08-13 02:19+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Indonesian (Indonesia) (http://www.transifex.com/projects/p/owncloud/language/id_ID/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id_ID\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: appinfo/app.php:45 templates/player.php:8 -msgid "Music" -msgstr "" - -#: js/music.js:18 -msgid "Add album to playlist" -msgstr "" - -#: templates/music.php:3 templates/player.php:12 -msgid "Play" -msgstr "" - -#: templates/music.php:4 templates/music.php:26 templates/player.php:13 -msgid "Pause" -msgstr "" - -#: templates/music.php:5 -msgid "Previous" -msgstr "" - -#: templates/music.php:6 templates/player.php:14 -msgid "Next" -msgstr "" - -#: templates/music.php:7 -msgid "Mute" -msgstr "" - -#: templates/music.php:8 -msgid "Unmute" -msgstr "" - -#: templates/music.php:25 -msgid "Rescan Collection" -msgstr "" - -#: templates/music.php:37 -msgid "Artist" -msgstr "" - -#: templates/music.php:38 -msgid "Album" -msgstr "" - -#: templates/music.php:39 -msgid "Title" -msgstr "" diff --git a/l10n/id_ID/tasks.po b/l10n/id_ID/tasks.po deleted file mode 100644 index cf74571c756aa8b4603691044da0d8ed60ac1192..0000000000000000000000000000000000000000 --- a/l10n/id_ID/tasks.po +++ /dev/null @@ -1,106 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:44+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Indonesian (Indonesia) (http://www.transifex.com/projects/p/owncloud/language/id_ID/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id_ID\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: ajax/update_property.php:51 lib/app.php:89 lib/app.php:101 -msgid "Invalid date/time" -msgstr "" - -#: appinfo/app.php:11 -msgid "Tasks" -msgstr "" - -#: js/tasks.js:415 -msgid "No category" -msgstr "" - -#: lib/app.php:33 -msgid "Unspecified" -msgstr "" - -#: lib/app.php:34 -msgid "1=highest" -msgstr "" - -#: lib/app.php:38 -msgid "5=medium" -msgstr "" - -#: lib/app.php:42 -msgid "9=lowest" -msgstr "" - -#: lib/app.php:81 -msgid "Empty Summary" -msgstr "" - -#: lib/app.php:93 -msgid "Invalid percent complete" -msgstr "" - -#: lib/app.php:107 -msgid "Invalid priority" -msgstr "" - -#: templates/tasks.php:3 -msgid "Add Task" -msgstr "" - -#: templates/tasks.php:4 -msgid "Order Due" -msgstr "" - -#: templates/tasks.php:5 -msgid "Order List" -msgstr "" - -#: templates/tasks.php:6 -msgid "Order Complete" -msgstr "" - -#: templates/tasks.php:7 -msgid "Order Location" -msgstr "" - -#: templates/tasks.php:8 -msgid "Order Priority" -msgstr "" - -#: templates/tasks.php:9 -msgid "Order Label" -msgstr "" - -#: templates/tasks.php:16 -msgid "Loading tasks..." -msgstr "" - -#: templates/tasks.php:20 -msgid "Important" -msgstr "" - -#: templates/tasks.php:23 -msgid "More" -msgstr "" - -#: templates/tasks.php:26 -msgid "Less" -msgstr "" - -#: templates/tasks.php:29 -msgid "Delete" -msgstr "" diff --git a/l10n/id_ID/user_migrate.po b/l10n/id_ID/user_migrate.po deleted file mode 100644 index fd3779f871c946840c2452ed04ec74c539d827a0..0000000000000000000000000000000000000000 --- a/l10n/id_ID/user_migrate.po +++ /dev/null @@ -1,51 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:45+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Indonesian (Indonesia) (http://www.transifex.com/projects/p/owncloud/language/id_ID/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id_ID\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: js/export.js:14 js/export.js:20 -msgid "Export" -msgstr "" - -#: js/export.js:19 -msgid "Something went wrong while the export file was being generated" -msgstr "" - -#: js/export.js:19 -msgid "An error has occurred" -msgstr "" - -#: templates/settings.php:2 -msgid "Export your user account" -msgstr "" - -#: templates/settings.php:3 -msgid "" -"This will create a compressed file that contains your ownCloud account." -msgstr "" - -#: templates/settings.php:13 -msgid "Import user account" -msgstr "" - -#: templates/settings.php:15 -msgid "ownCloud User Zip" -msgstr "" - -#: templates/settings.php:17 -msgid "Import" -msgstr "" diff --git a/l10n/id_ID/user_openid.po b/l10n/id_ID/user_openid.po deleted file mode 100644 index 42b92de9fa085a3abe6014fa032a2e661c55d02c..0000000000000000000000000000000000000000 --- a/l10n/id_ID/user_openid.po +++ /dev/null @@ -1,54 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:45+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Indonesian (Indonesia) (http://www.transifex.com/projects/p/owncloud/language/id_ID/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: id_ID\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: templates/nomode.php:12 -msgid "This is an OpenID server endpoint. For more information, see " -msgstr "" - -#: templates/nomode.php:14 -msgid "Identity: " -msgstr "" - -#: templates/nomode.php:15 -msgid "Realm: " -msgstr "" - -#: templates/nomode.php:16 -msgid "User: " -msgstr "" - -#: templates/nomode.php:17 -msgid "Login" -msgstr "" - -#: templates/nomode.php:22 -msgid "Error: No user Selected" -msgstr "" - -#: templates/settings.php:4 -msgid "you can authenticate to other sites with this address" -msgstr "" - -#: templates/settings.php:5 -msgid "Authorized OpenID provider" -msgstr "" - -#: templates/settings.php:6 -msgid "Your address at Wordpress, Identi.ca, …" -msgstr "" diff --git a/l10n/is/core.po b/l10n/is/core.po new file mode 100644 index 0000000000000000000000000000000000000000..cb50d8be8899f2a358ba212a63f7c265bd392943 --- /dev/null +++ b/l10n/is/core.po @@ -0,0 +1,540 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# , 2012. +msgid "" +msgstr "" +"Project-Id-Version: ownCloud\n" +"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" +"POT-Creation-Date: 2012-12-06 00:11+0100\n" +"PO-Revision-Date: 2012-12-05 14:23+0000\n" +"Last-Translator: kaztraz \n" +"Language-Team: Icelandic (http://www.transifex.com/projects/p/owncloud/language/is/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: is\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ajax/vcategories/add.php:26 ajax/vcategories/edit.php:25 +msgid "Category type not provided." +msgstr "Flokkur ekki gefin" + +#: ajax/vcategories/add.php:30 +msgid "No category to add?" +msgstr "" + +#: ajax/vcategories/add.php:37 +msgid "This category already exists: " +msgstr "" + +#: ajax/vcategories/addToFavorites.php:26 ajax/vcategories/delete.php:27 +#: ajax/vcategories/favorites.php:24 +#: ajax/vcategories/removeFromFavorites.php:26 +msgid "Object type not provided." +msgstr "" + +#: ajax/vcategories/addToFavorites.php:30 +#: ajax/vcategories/removeFromFavorites.php:30 +#, php-format +msgid "%s ID not provided." +msgstr "" + +#: ajax/vcategories/addToFavorites.php:35 +#, php-format +msgid "Error adding %s to favorites." +msgstr "" + +#: ajax/vcategories/delete.php:35 js/oc-vcategories.js:136 +msgid "No categories selected for deletion." +msgstr "" + +#: ajax/vcategories/removeFromFavorites.php:35 +#, php-format +msgid "Error removing %s from favorites." +msgstr "" + +#: js/js.js:259 templates/layout.user.php:60 templates/layout.user.php:61 +msgid "Settings" +msgstr "" + +#: js/js.js:704 +msgid "seconds ago" +msgstr "sek síðan" + +#: js/js.js:705 +msgid "1 minute ago" +msgstr "1 min síðan" + +#: js/js.js:706 +msgid "{minutes} minutes ago" +msgstr "{minutes} min síðan" + +#: js/js.js:707 +msgid "1 hour ago" +msgstr "" + +#: js/js.js:708 +msgid "{hours} hours ago" +msgstr "" + +#: js/js.js:709 +msgid "today" +msgstr "í dag" + +#: js/js.js:710 +msgid "yesterday" +msgstr "í gær" + +#: js/js.js:711 +msgid "{days} days ago" +msgstr "{days} dagar síðan" + +#: js/js.js:712 +msgid "last month" +msgstr "síðasta mánuði" + +#: js/js.js:713 +msgid "{months} months ago" +msgstr "" + +#: js/js.js:714 +msgid "months ago" +msgstr "mánuðir síðan" + +#: js/js.js:715 +msgid "last year" +msgstr "síðasta ári" + +#: js/js.js:716 +msgid "years ago" +msgstr "árum síðan" + +#: js/oc-dialogs.js:126 +msgid "Choose" +msgstr "" + +#: js/oc-dialogs.js:146 js/oc-dialogs.js:166 +msgid "Cancel" +msgstr "" + +#: js/oc-dialogs.js:162 +msgid "No" +msgstr "" + +#: js/oc-dialogs.js:163 +msgid "Yes" +msgstr "" + +#: js/oc-dialogs.js:180 +msgid "Ok" +msgstr "" + +#: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102 +#: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162 +msgid "The object type is not specified." +msgstr "" + +#: js/oc-vcategories.js:95 js/oc-vcategories.js:125 js/oc-vcategories.js:136 +#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:533 +#: js/share.js:545 +msgid "Error" +msgstr "" + +#: js/oc-vcategories.js:179 +msgid "The app name is not specified." +msgstr "" + +#: js/oc-vcategories.js:194 +msgid "The required file {file} is not installed!" +msgstr "" + +#: js/share.js:124 +msgid "Error while sharing" +msgstr "" + +#: js/share.js:135 +msgid "Error while unsharing" +msgstr "" + +#: js/share.js:142 +msgid "Error while changing permissions" +msgstr "" + +#: js/share.js:151 +msgid "Shared with you and the group {group} by {owner}" +msgstr "" + +#: js/share.js:153 +msgid "Shared with you by {owner}" +msgstr "" + +#: js/share.js:158 +msgid "Share with" +msgstr "" + +#: js/share.js:163 +msgid "Share with link" +msgstr "" + +#: js/share.js:164 +msgid "Password protect" +msgstr "" + +#: js/share.js:168 templates/installation.php:42 templates/login.php:24 +#: templates/verify.php:13 +msgid "Password" +msgstr "Lykilorð" + +#: js/share.js:173 +msgid "Set expiration date" +msgstr "" + +#: js/share.js:174 +msgid "Expiration date" +msgstr "" + +#: js/share.js:206 +msgid "Share via email:" +msgstr "" + +#: js/share.js:208 +msgid "No people found" +msgstr "" + +#: js/share.js:235 +msgid "Resharing is not allowed" +msgstr "" + +#: js/share.js:271 +msgid "Shared in {item} with {user}" +msgstr "" + +#: js/share.js:292 +msgid "Unshare" +msgstr "" + +#: js/share.js:304 +msgid "can edit" +msgstr "" + +#: js/share.js:306 +msgid "access control" +msgstr "" + +#: js/share.js:309 +msgid "create" +msgstr "" + +#: js/share.js:312 +msgid "update" +msgstr "" + +#: js/share.js:315 +msgid "delete" +msgstr "" + +#: js/share.js:318 +msgid "share" +msgstr "" + +#: js/share.js:349 js/share.js:520 js/share.js:522 +msgid "Password protected" +msgstr "" + +#: js/share.js:533 +msgid "Error unsetting expiration date" +msgstr "" + +#: js/share.js:545 +msgid "Error setting expiration date" +msgstr "" + +#: lostpassword/controller.php:47 +msgid "ownCloud password reset" +msgstr "" + +#: lostpassword/templates/email.php:2 +msgid "Use the following link to reset your password: {link}" +msgstr "" + +#: lostpassword/templates/lostpassword.php:3 +msgid "You will receive a link to reset your password via Email." +msgstr "" + +#: lostpassword/templates/lostpassword.php:5 +msgid "Reset email send." +msgstr "" + +#: lostpassword/templates/lostpassword.php:8 +msgid "Request failed!" +msgstr "" + +#: lostpassword/templates/lostpassword.php:11 templates/installation.php:38 +#: templates/login.php:20 +msgid "Username" +msgstr "Notendanafn" + +#: lostpassword/templates/lostpassword.php:14 +msgid "Request reset" +msgstr "" + +#: lostpassword/templates/resetpassword.php:4 +msgid "Your password was reset" +msgstr "" + +#: lostpassword/templates/resetpassword.php:5 +msgid "To login page" +msgstr "" + +#: lostpassword/templates/resetpassword.php:8 +msgid "New password" +msgstr "" + +#: lostpassword/templates/resetpassword.php:11 +msgid "Reset password" +msgstr "" + +#: strings.php:5 +msgid "Personal" +msgstr "Persónustillingar" + +#: strings.php:6 +msgid "Users" +msgstr "" + +#: strings.php:7 +msgid "Apps" +msgstr "" + +#: strings.php:8 +msgid "Admin" +msgstr "Vefstjórn" + +#: strings.php:9 +msgid "Help" +msgstr "Help" + +#: templates/403.php:12 +msgid "Access forbidden" +msgstr "" + +#: templates/404.php:12 +msgid "Cloud not found" +msgstr "Skýið finnst eigi" + +#: templates/edit_categories_dialog.php:4 +msgid "Edit categories" +msgstr "Breyta flokkum" + +#: templates/edit_categories_dialog.php:16 +msgid "Add" +msgstr "Bæta" + +#: templates/installation.php:23 templates/installation.php:31 +msgid "Security Warning" +msgstr "" + +#: templates/installation.php:24 +msgid "" +"No secure random number generator is available, please enable the PHP " +"OpenSSL extension." +msgstr "" + +#: templates/installation.php:26 +msgid "" +"Without a secure random number generator an attacker may be able to predict " +"password reset tokens and take over your account." +msgstr "" + +#: templates/installation.php:32 +msgid "" +"Your data directory and your files are probably accessible from the " +"internet. The .htaccess file that ownCloud provides is not working. We " +"strongly suggest that you configure your webserver in a way that the data " +"directory is no longer accessible or you move the data directory outside the" +" webserver document root." +msgstr "" + +#: templates/installation.php:36 +msgid "Create an admin account" +msgstr "Útbúa vefstjóra aðgang" + +#: templates/installation.php:48 +msgid "Advanced" +msgstr "" + +#: templates/installation.php:50 +msgid "Data folder" +msgstr "" + +#: templates/installation.php:57 +msgid "Configure the database" +msgstr "" + +#: templates/installation.php:62 templates/installation.php:73 +#: templates/installation.php:83 templates/installation.php:93 +msgid "will be used" +msgstr "" + +#: templates/installation.php:105 +msgid "Database user" +msgstr "" + +#: templates/installation.php:109 +msgid "Database password" +msgstr "" + +#: templates/installation.php:113 +msgid "Database name" +msgstr "" + +#: templates/installation.php:121 +msgid "Database tablespace" +msgstr "" + +#: templates/installation.php:127 +msgid "Database host" +msgstr "" + +#: templates/installation.php:132 +msgid "Finish setup" +msgstr "" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Sunday" +msgstr "" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Monday" +msgstr "" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Tuesday" +msgstr "" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Wednesday" +msgstr "" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Thursday" +msgstr "" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Friday" +msgstr "" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Saturday" +msgstr "" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "January" +msgstr "Janúar" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "February" +msgstr "Febrúar" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "March" +msgstr "Mars" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "April" +msgstr "Apríl" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "May" +msgstr "Maí" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "June" +msgstr "Júní" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "July" +msgstr "Júlí" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "August" +msgstr "Ágúst" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "September" +msgstr "September" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "October" +msgstr "Október" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "November" +msgstr "" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "December" +msgstr "" + +#: templates/layout.guest.php:42 +msgid "web services under your control" +msgstr "" + +#: templates/layout.user.php:45 +msgid "Log out" +msgstr "Útskrá" + +#: templates/login.php:8 +msgid "Automatic logon rejected!" +msgstr "" + +#: templates/login.php:9 +msgid "" +"If you did not change your password recently, your account may be " +"compromised!" +msgstr "" + +#: templates/login.php:10 +msgid "Please change your password to secure your account again." +msgstr "" + +#: templates/login.php:15 +msgid "Lost your password?" +msgstr "" + +#: templates/login.php:27 +msgid "remember" +msgstr "" + +#: templates/login.php:28 +msgid "Log in" +msgstr "" + +#: templates/logout.php:1 +msgid "You are logged out." +msgstr "Þú ert útskráð(ur)." + +#: templates/part.pagenavi.php:3 +msgid "prev" +msgstr "fyrra" + +#: templates/part.pagenavi.php:20 +msgid "next" +msgstr "næsta" + +#: templates/verify.php:5 +msgid "Security Warning!" +msgstr "" + +#: templates/verify.php:6 +msgid "" +"Please verify your password.
For security reasons you may be " +"occasionally asked to enter your password again." +msgstr "" + +#: templates/verify.php:16 +msgid "Verify" +msgstr "" diff --git a/l10n/is/files.po b/l10n/is/files.po new file mode 100644 index 0000000000000000000000000000000000000000..094b80b04e41f249c56a9c3b1279c7b0a526f433 --- /dev/null +++ b/l10n/is/files.po @@ -0,0 +1,266 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: ownCloud\n" +"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" +"POT-Creation-Date: 2012-12-06 00:11+0100\n" +"PO-Revision-Date: 2011-08-13 02:19+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Icelandic (http://www.transifex.com/projects/p/owncloud/language/is/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: is\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ajax/upload.php:20 +msgid "There is no error, the file uploaded with success" +msgstr "" + +#: ajax/upload.php:21 +msgid "" +"The uploaded file exceeds the upload_max_filesize directive in php.ini: " +msgstr "" + +#: ajax/upload.php:23 +msgid "" +"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " +"the HTML form" +msgstr "" + +#: ajax/upload.php:25 +msgid "The uploaded file was only partially uploaded" +msgstr "" + +#: ajax/upload.php:26 +msgid "No file was uploaded" +msgstr "" + +#: ajax/upload.php:27 +msgid "Missing a temporary folder" +msgstr "" + +#: ajax/upload.php:28 +msgid "Failed to write to disk" +msgstr "" + +#: appinfo/app.php:10 +msgid "Files" +msgstr "" + +#: js/fileactions.js:117 templates/index.php:83 templates/index.php:84 +msgid "Unshare" +msgstr "" + +#: js/fileactions.js:119 templates/index.php:89 templates/index.php:90 +msgid "Delete" +msgstr "" + +#: js/fileactions.js:181 +msgid "Rename" +msgstr "" + +#: js/filelist.js:201 js/filelist.js:203 +msgid "{new_name} already exists" +msgstr "" + +#: js/filelist.js:201 js/filelist.js:203 +msgid "replace" +msgstr "" + +#: js/filelist.js:201 +msgid "suggest name" +msgstr "" + +#: js/filelist.js:201 js/filelist.js:203 +msgid "cancel" +msgstr "" + +#: js/filelist.js:250 +msgid "replaced {new_name}" +msgstr "" + +#: js/filelist.js:250 js/filelist.js:252 js/filelist.js:284 js/filelist.js:286 +msgid "undo" +msgstr "" + +#: js/filelist.js:252 +msgid "replaced {new_name} with {old_name}" +msgstr "" + +#: js/filelist.js:284 +msgid "unshared {files}" +msgstr "" + +#: js/filelist.js:286 +msgid "deleted {files}" +msgstr "" + +#: js/files.js:33 +msgid "" +"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not " +"allowed." +msgstr "" + +#: js/files.js:183 +msgid "generating ZIP-file, it may take some time." +msgstr "" + +#: js/files.js:218 +msgid "Unable to upload your file as it is a directory or has 0 bytes" +msgstr "" + +#: js/files.js:218 +msgid "Upload Error" +msgstr "" + +#: js/files.js:235 +msgid "Close" +msgstr "" + +#: js/files.js:254 js/files.js:368 js/files.js:398 +msgid "Pending" +msgstr "" + +#: js/files.js:274 +msgid "1 file uploading" +msgstr "" + +#: js/files.js:277 js/files.js:331 js/files.js:346 +msgid "{count} files uploading" +msgstr "" + +#: js/files.js:349 js/files.js:382 +msgid "Upload cancelled." +msgstr "" + +#: js/files.js:451 +msgid "" +"File upload is in progress. Leaving the page now will cancel the upload." +msgstr "" + +#: js/files.js:523 +msgid "Invalid folder name. Usage of \"Shared\" is reserved by Owncloud" +msgstr "" + +#: js/files.js:704 +msgid "{count} files scanned" +msgstr "" + +#: js/files.js:712 +msgid "error while scanning" +msgstr "" + +#: js/files.js:785 templates/index.php:65 +msgid "Name" +msgstr "" + +#: js/files.js:786 templates/index.php:76 +msgid "Size" +msgstr "" + +#: js/files.js:787 templates/index.php:78 +msgid "Modified" +msgstr "" + +#: js/files.js:814 +msgid "1 folder" +msgstr "" + +#: js/files.js:816 +msgid "{count} folders" +msgstr "" + +#: js/files.js:824 +msgid "1 file" +msgstr "" + +#: js/files.js:826 +msgid "{count} files" +msgstr "" + +#: templates/admin.php:5 +msgid "File handling" +msgstr "" + +#: templates/admin.php:7 +msgid "Maximum upload size" +msgstr "" + +#: templates/admin.php:9 +msgid "max. possible: " +msgstr "" + +#: templates/admin.php:12 +msgid "Needed for multi-file and folder downloads." +msgstr "" + +#: templates/admin.php:14 +msgid "Enable ZIP-download" +msgstr "" + +#: templates/admin.php:17 +msgid "0 is unlimited" +msgstr "" + +#: templates/admin.php:19 +msgid "Maximum input size for ZIP files" +msgstr "" + +#: templates/admin.php:23 +msgid "Save" +msgstr "" + +#: templates/index.php:7 +msgid "New" +msgstr "" + +#: templates/index.php:10 +msgid "Text file" +msgstr "" + +#: templates/index.php:12 +msgid "Folder" +msgstr "" + +#: templates/index.php:14 +msgid "From link" +msgstr "" + +#: templates/index.php:35 +msgid "Upload" +msgstr "" + +#: templates/index.php:43 +msgid "Cancel upload" +msgstr "" + +#: templates/index.php:57 +msgid "Nothing in here. Upload something!" +msgstr "" + +#: templates/index.php:71 +msgid "Download" +msgstr "" + +#: templates/index.php:103 +msgid "Upload too large" +msgstr "" + +#: templates/index.php:105 +msgid "" +"The files you are trying to upload exceed the maximum size for file uploads " +"on this server." +msgstr "" + +#: templates/index.php:110 +msgid "Files are being scanned, please wait." +msgstr "" + +#: templates/index.php:113 +msgid "Current scanning" +msgstr "" diff --git a/l10n/ko/admin_migrate.po b/l10n/is/files_encryption.po similarity index 55% rename from l10n/ko/admin_migrate.po rename to l10n/is/files_encryption.po index 65b1d84b61936d478666877b71921278bf244eaf..aba8a60b74f059ceb51ef93a963e360883b26e74 100644 --- a/l10n/ko/admin_migrate.po +++ b/l10n/is/files_encryption.po @@ -7,26 +7,28 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:32+0000\n" +"POT-Creation-Date: 2012-12-06 00:11+0100\n" +"PO-Revision-Date: 2012-08-12 22:33+0000\n" "Last-Translator: FULL NAME \n" -"Language-Team: Korean (http://www.transifex.com/projects/p/owncloud/language/ko/)\n" +"Language-Team: Icelandic (http://www.transifex.com/projects/p/owncloud/language/is/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: ko\n" -"Plural-Forms: nplurals=1; plural=0\n" +"Language: is\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" #: templates/settings.php:3 -msgid "Export this ownCloud instance" +msgid "Encryption" msgstr "" #: templates/settings.php:4 -msgid "" -"This will create a compressed file that contains the data of this owncloud instance.\n" -" Please choose the export type:" +msgid "Exclude the following file types from encryption" +msgstr "" + +#: templates/settings.php:5 +msgid "None" msgstr "" #: templates/settings.php:12 -msgid "Export" +msgid "Enable Encryption" msgstr "" diff --git a/l10n/is/files_external.po b/l10n/is/files_external.po new file mode 100644 index 0000000000000000000000000000000000000000..0be8d4ee7987c639b54711f48e622000f4dc0784 --- /dev/null +++ b/l10n/is/files_external.po @@ -0,0 +1,120 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: ownCloud\n" +"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" +"POT-Creation-Date: 2012-12-12 00:12+0100\n" +"PO-Revision-Date: 2012-12-11 23:13+0000\n" +"Last-Translator: I Robot \n" +"Language-Team: Icelandic (http://www.transifex.com/projects/p/owncloud/language/is/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: is\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: js/dropbox.js:7 js/dropbox.js:25 js/google.js:7 js/google.js:23 +msgid "Access granted" +msgstr "" + +#: js/dropbox.js:28 js/dropbox.js:74 js/dropbox.js:79 js/dropbox.js:86 +msgid "Error configuring Dropbox storage" +msgstr "" + +#: js/dropbox.js:34 js/dropbox.js:45 js/google.js:31 js/google.js:40 +msgid "Grant access" +msgstr "" + +#: js/dropbox.js:73 js/google.js:72 +msgid "Fill out all required fields" +msgstr "" + +#: js/dropbox.js:85 +msgid "Please provide a valid Dropbox app key and secret." +msgstr "" + +#: js/google.js:26 js/google.js:73 js/google.js:78 +msgid "Error configuring Google Drive storage" +msgstr "" + +#: lib/config.php:434 +msgid "" +"Warning: \"smbclient\" is not installed. Mounting of CIFS/SMB shares " +"is not possible. Please ask your system administrator to install it." +msgstr "" + +#: lib/config.php:435 +msgid "" +"Warning: The FTP support in PHP is not enabled or installed. Mounting" +" of FTP shares is not possible. Please ask your system administrator to " +"install it." +msgstr "" + +#: templates/settings.php:3 +msgid "External Storage" +msgstr "" + +#: templates/settings.php:8 templates/settings.php:22 +msgid "Mount point" +msgstr "" + +#: templates/settings.php:9 +msgid "Backend" +msgstr "" + +#: templates/settings.php:10 +msgid "Configuration" +msgstr "" + +#: templates/settings.php:11 +msgid "Options" +msgstr "" + +#: templates/settings.php:12 +msgid "Applicable" +msgstr "" + +#: templates/settings.php:27 +msgid "Add mount point" +msgstr "" + +#: templates/settings.php:85 +msgid "None set" +msgstr "" + +#: templates/settings.php:86 +msgid "All Users" +msgstr "" + +#: templates/settings.php:87 +msgid "Groups" +msgstr "" + +#: templates/settings.php:95 +msgid "Users" +msgstr "" + +#: templates/settings.php:108 templates/settings.php:109 +#: templates/settings.php:149 templates/settings.php:150 +msgid "Delete" +msgstr "" + +#: templates/settings.php:124 +msgid "Enable User External Storage" +msgstr "" + +#: templates/settings.php:125 +msgid "Allow users to mount their own external storage" +msgstr "" + +#: templates/settings.php:139 +msgid "SSL root certificates" +msgstr "" + +#: templates/settings.php:158 +msgid "Import Root Certificate" +msgstr "" diff --git a/l10n/is/files_sharing.po b/l10n/is/files_sharing.po new file mode 100644 index 0000000000000000000000000000000000000000..1d9102f08498bec9d307a2054f7d7e6acb6f4490 --- /dev/null +++ b/l10n/is/files_sharing.po @@ -0,0 +1,48 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: ownCloud\n" +"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" +"POT-Creation-Date: 2012-12-06 00:11+0100\n" +"PO-Revision-Date: 2012-08-12 22:35+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Icelandic (http://www.transifex.com/projects/p/owncloud/language/is/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: is\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: templates/authenticate.php:4 +msgid "Password" +msgstr "" + +#: templates/authenticate.php:6 +msgid "Submit" +msgstr "" + +#: templates/public.php:17 +#, php-format +msgid "%s shared the folder %s with you" +msgstr "" + +#: templates/public.php:19 +#, php-format +msgid "%s shared the file %s with you" +msgstr "" + +#: templates/public.php:22 templates/public.php:38 +msgid "Download" +msgstr "" + +#: templates/public.php:37 +msgid "No preview available for" +msgstr "" + +#: templates/public.php:43 +msgid "web services under your control" +msgstr "" diff --git a/l10n/is/files_versions.po b/l10n/is/files_versions.po new file mode 100644 index 0000000000000000000000000000000000000000..82fb03584754205e12c4c622f868abae4104296a --- /dev/null +++ b/l10n/is/files_versions.po @@ -0,0 +1,42 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: ownCloud\n" +"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" +"POT-Creation-Date: 2012-12-06 00:11+0100\n" +"PO-Revision-Date: 2012-08-12 22:37+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Icelandic (http://www.transifex.com/projects/p/owncloud/language/is/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: is\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: js/settings-personal.js:31 templates/settings-personal.php:10 +msgid "Expire all versions" +msgstr "" + +#: js/versions.js:16 +msgid "History" +msgstr "" + +#: templates/settings-personal.php:4 +msgid "Versions" +msgstr "" + +#: templates/settings-personal.php:7 +msgid "This will delete all existing backup versions of your files" +msgstr "" + +#: templates/settings.php:3 +msgid "Files Versioning" +msgstr "" + +#: templates/settings.php:4 +msgid "Enable" +msgstr "" diff --git a/l10n/is/lib.po b/l10n/is/lib.po new file mode 100644 index 0000000000000000000000000000000000000000..8531c69aa27253cb0a8a44f1a826abaf51097ad2 --- /dev/null +++ b/l10n/is/lib.po @@ -0,0 +1,152 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: ownCloud\n" +"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" +"POT-Creation-Date: 2012-12-06 00:11+0100\n" +"PO-Revision-Date: 2012-07-27 22:23+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Icelandic (http://www.transifex.com/projects/p/owncloud/language/is/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: is\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: app.php:287 +msgid "Help" +msgstr "" + +#: app.php:294 +msgid "Personal" +msgstr "" + +#: app.php:299 +msgid "Settings" +msgstr "" + +#: app.php:304 +msgid "Users" +msgstr "" + +#: app.php:311 +msgid "Apps" +msgstr "" + +#: app.php:313 +msgid "Admin" +msgstr "" + +#: files.php:361 +msgid "ZIP download is turned off." +msgstr "" + +#: files.php:362 +msgid "Files need to be downloaded one by one." +msgstr "" + +#: files.php:362 files.php:387 +msgid "Back to Files" +msgstr "" + +#: files.php:386 +msgid "Selected files too large to generate zip file." +msgstr "" + +#: json.php:28 +msgid "Application is not enabled" +msgstr "" + +#: json.php:39 json.php:64 json.php:77 json.php:89 +msgid "Authentication error" +msgstr "" + +#: json.php:51 +msgid "Token expired. Please reload page." +msgstr "" + +#: search/provider/file.php:17 search/provider/file.php:35 +msgid "Files" +msgstr "" + +#: search/provider/file.php:26 search/provider/file.php:33 +msgid "Text" +msgstr "" + +#: search/provider/file.php:29 +msgid "Images" +msgstr "" + +#: template.php:103 +msgid "seconds ago" +msgstr "" + +#: template.php:104 +msgid "1 minute ago" +msgstr "" + +#: template.php:105 +#, php-format +msgid "%d minutes ago" +msgstr "" + +#: template.php:106 +msgid "1 hour ago" +msgstr "" + +#: template.php:107 +#, php-format +msgid "%d hours ago" +msgstr "" + +#: template.php:108 +msgid "today" +msgstr "" + +#: template.php:109 +msgid "yesterday" +msgstr "" + +#: template.php:110 +#, php-format +msgid "%d days ago" +msgstr "" + +#: template.php:111 +msgid "last month" +msgstr "" + +#: template.php:112 +#, php-format +msgid "%d months ago" +msgstr "" + +#: template.php:113 +msgid "last year" +msgstr "" + +#: template.php:114 +msgid "years ago" +msgstr "" + +#: updater.php:75 +#, php-format +msgid "%s is available. Get more information" +msgstr "" + +#: updater.php:77 +msgid "up to date" +msgstr "" + +#: updater.php:80 +msgid "updates check is disabled" +msgstr "" + +#: vcategories.php:188 vcategories.php:249 +#, php-format +msgid "Could not find category \"%s\"" +msgstr "" diff --git a/l10n/is/settings.po b/l10n/is/settings.po new file mode 100644 index 0000000000000000000000000000000000000000..fadc3690e0abe76ef502f4982220e9d3b7454f5f --- /dev/null +++ b/l10n/is/settings.po @@ -0,0 +1,247 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: ownCloud\n" +"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" +"POT-Creation-Date: 2012-12-06 00:11+0100\n" +"PO-Revision-Date: 2011-07-25 16:05+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Icelandic (http://www.transifex.com/projects/p/owncloud/language/is/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: is\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ajax/apps/ocs.php:20 +msgid "Unable to load list from App Store" +msgstr "" + +#: ajax/creategroup.php:10 +msgid "Group already exists" +msgstr "" + +#: ajax/creategroup.php:19 +msgid "Unable to add group" +msgstr "" + +#: ajax/enableapp.php:12 +msgid "Could not enable app. " +msgstr "" + +#: ajax/lostpassword.php:12 +msgid "Email saved" +msgstr "" + +#: ajax/lostpassword.php:14 +msgid "Invalid email" +msgstr "" + +#: ajax/openid.php:13 +msgid "OpenID Changed" +msgstr "" + +#: ajax/openid.php:15 ajax/setlanguage.php:17 ajax/setlanguage.php:20 +msgid "Invalid request" +msgstr "" + +#: ajax/removegroup.php:13 +msgid "Unable to delete group" +msgstr "" + +#: ajax/removeuser.php:15 ajax/setquota.php:15 ajax/togglegroups.php:18 +msgid "Authentication error" +msgstr "" + +#: ajax/removeuser.php:24 +msgid "Unable to delete user" +msgstr "" + +#: ajax/setlanguage.php:15 +msgid "Language changed" +msgstr "" + +#: ajax/togglegroups.php:12 +msgid "Admins can't remove themself from the admin group" +msgstr "" + +#: ajax/togglegroups.php:28 +#, php-format +msgid "Unable to add user to group %s" +msgstr "" + +#: ajax/togglegroups.php:34 +#, php-format +msgid "Unable to remove user from group %s" +msgstr "" + +#: js/apps.js:28 js/apps.js:67 +msgid "Disable" +msgstr "" + +#: js/apps.js:28 js/apps.js:55 +msgid "Enable" +msgstr "" + +#: js/personal.js:69 +msgid "Saving..." +msgstr "" + +#: personal.php:42 personal.php:43 +msgid "__language_name__" +msgstr "" + +#: templates/apps.php:10 +msgid "Add your App" +msgstr "" + +#: templates/apps.php:11 +msgid "More Apps" +msgstr "" + +#: templates/apps.php:27 +msgid "Select an App" +msgstr "" + +#: templates/apps.php:31 +msgid "See application page at apps.owncloud.com" +msgstr "" + +#: templates/apps.php:32 +msgid "-licensed by " +msgstr "" + +#: templates/help.php:9 +msgid "Documentation" +msgstr "" + +#: templates/help.php:10 +msgid "Managing Big Files" +msgstr "" + +#: templates/help.php:11 +msgid "Ask a question" +msgstr "" + +#: templates/help.php:22 +msgid "Problems connecting to help database." +msgstr "" + +#: templates/help.php:23 +msgid "Go there manually." +msgstr "" + +#: templates/help.php:31 +msgid "Answer" +msgstr "" + +#: templates/personal.php:8 +#, php-format +msgid "You have used %s of the available %s" +msgstr "" + +#: templates/personal.php:12 +msgid "Desktop and Mobile Syncing Clients" +msgstr "" + +#: templates/personal.php:13 +msgid "Download" +msgstr "" + +#: templates/personal.php:19 +msgid "Your password was changed" +msgstr "" + +#: templates/personal.php:20 +msgid "Unable to change your password" +msgstr "" + +#: templates/personal.php:21 +msgid "Current password" +msgstr "" + +#: templates/personal.php:22 +msgid "New password" +msgstr "" + +#: templates/personal.php:23 +msgid "show" +msgstr "" + +#: templates/personal.php:24 +msgid "Change password" +msgstr "" + +#: templates/personal.php:30 +msgid "Email" +msgstr "" + +#: templates/personal.php:31 +msgid "Your email address" +msgstr "" + +#: templates/personal.php:32 +msgid "Fill in an email address to enable password recovery" +msgstr "" + +#: templates/personal.php:38 templates/personal.php:39 +msgid "Language" +msgstr "" + +#: templates/personal.php:44 +msgid "Help translate" +msgstr "" + +#: templates/personal.php:51 +msgid "use this address to connect to your ownCloud in your file manager" +msgstr "" + +#: templates/personal.php:61 +msgid "" +"Developed by the ownCloud community, the source code is " +"licensed under the AGPL." +msgstr "" + +#: templates/users.php:21 templates/users.php:76 +msgid "Name" +msgstr "" + +#: templates/users.php:23 templates/users.php:77 +msgid "Password" +msgstr "" + +#: templates/users.php:26 templates/users.php:78 templates/users.php:98 +msgid "Groups" +msgstr "" + +#: templates/users.php:32 +msgid "Create" +msgstr "" + +#: templates/users.php:35 +msgid "Default Quota" +msgstr "" + +#: templates/users.php:55 templates/users.php:138 +msgid "Other" +msgstr "" + +#: templates/users.php:80 templates/users.php:112 +msgid "Group Admin" +msgstr "" + +#: templates/users.php:82 +msgid "Quota" +msgstr "" + +#: templates/users.php:146 +msgid "Delete" +msgstr "" diff --git a/l10n/is/user_ldap.po b/l10n/is/user_ldap.po new file mode 100644 index 0000000000000000000000000000000000000000..469ae8a332d3e02f362509fb7c60729a2b65856d --- /dev/null +++ b/l10n/is/user_ldap.po @@ -0,0 +1,170 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: ownCloud\n" +"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" +"POT-Creation-Date: 2012-12-06 00:11+0100\n" +"PO-Revision-Date: 2012-08-12 22:45+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Icelandic (http://www.transifex.com/projects/p/owncloud/language/is/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: is\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: templates/settings.php:8 +msgid "Host" +msgstr "" + +#: templates/settings.php:8 +msgid "" +"You can omit the protocol, except you require SSL. Then start with ldaps://" +msgstr "" + +#: templates/settings.php:9 +msgid "Base DN" +msgstr "" + +#: templates/settings.php:9 +msgid "You can specify Base DN for users and groups in the Advanced tab" +msgstr "" + +#: templates/settings.php:10 +msgid "User DN" +msgstr "" + +#: templates/settings.php:10 +msgid "" +"The DN of the client user with which the bind shall be done, e.g. " +"uid=agent,dc=example,dc=com. For anonymous access, leave DN and Password " +"empty." +msgstr "" + +#: templates/settings.php:11 +msgid "Password" +msgstr "" + +#: templates/settings.php:11 +msgid "For anonymous access, leave DN and Password empty." +msgstr "" + +#: templates/settings.php:12 +msgid "User Login Filter" +msgstr "" + +#: templates/settings.php:12 +#, php-format +msgid "" +"Defines the filter to apply, when login is attempted. %%uid replaces the " +"username in the login action." +msgstr "" + +#: templates/settings.php:12 +#, php-format +msgid "use %%uid placeholder, e.g. \"uid=%%uid\"" +msgstr "" + +#: templates/settings.php:13 +msgid "User List Filter" +msgstr "" + +#: templates/settings.php:13 +msgid "Defines the filter to apply, when retrieving users." +msgstr "" + +#: templates/settings.php:13 +msgid "without any placeholder, e.g. \"objectClass=person\"." +msgstr "" + +#: templates/settings.php:14 +msgid "Group Filter" +msgstr "" + +#: templates/settings.php:14 +msgid "Defines the filter to apply, when retrieving groups." +msgstr "" + +#: templates/settings.php:14 +msgid "without any placeholder, e.g. \"objectClass=posixGroup\"." +msgstr "" + +#: templates/settings.php:17 +msgid "Port" +msgstr "" + +#: templates/settings.php:18 +msgid "Base User Tree" +msgstr "" + +#: templates/settings.php:19 +msgid "Base Group Tree" +msgstr "" + +#: templates/settings.php:20 +msgid "Group-Member association" +msgstr "" + +#: templates/settings.php:21 +msgid "Use TLS" +msgstr "" + +#: templates/settings.php:21 +msgid "Do not use it for SSL connections, it will fail." +msgstr "" + +#: templates/settings.php:22 +msgid "Case insensitve LDAP server (Windows)" +msgstr "" + +#: templates/settings.php:23 +msgid "Turn off SSL certificate validation." +msgstr "" + +#: templates/settings.php:23 +msgid "" +"If connection only works with this option, import the LDAP server's SSL " +"certificate in your ownCloud server." +msgstr "" + +#: templates/settings.php:23 +msgid "Not recommended, use for testing only." +msgstr "" + +#: templates/settings.php:24 +msgid "User Display Name Field" +msgstr "" + +#: templates/settings.php:24 +msgid "The LDAP attribute to use to generate the user`s ownCloud name." +msgstr "" + +#: templates/settings.php:25 +msgid "Group Display Name Field" +msgstr "" + +#: templates/settings.php:25 +msgid "The LDAP attribute to use to generate the groups`s ownCloud name." +msgstr "" + +#: templates/settings.php:27 +msgid "in bytes" +msgstr "" + +#: templates/settings.php:29 +msgid "in seconds. A change empties the cache." +msgstr "" + +#: templates/settings.php:30 +msgid "" +"Leave empty for user name (default). Otherwise, specify an LDAP/AD " +"attribute." +msgstr "" + +#: templates/settings.php:32 +msgid "Help" +msgstr "" diff --git a/l10n/af/files_odfviewer.po b/l10n/is/user_webdavauth.po similarity index 59% rename from l10n/af/files_odfviewer.po rename to l10n/is/user_webdavauth.po index ec66648874b39049a3c707ddba594ef14d939ee8..94c92bbb7dbc73397048fad28e31539d988a7460 100644 --- a/l10n/af/files_odfviewer.po +++ b/l10n/is/user_webdavauth.po @@ -7,16 +7,16 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 02:18+0200\n" -"PO-Revision-Date: 2012-08-26 00:19+0000\n" +"POT-Creation-Date: 2012-12-06 00:11+0100\n" +"PO-Revision-Date: 2012-11-09 09:06+0000\n" "Last-Translator: FULL NAME \n" -"Language-Team: Afrikaans (http://www.transifex.com/projects/p/owncloud/language/af/)\n" +"Language-Team: Icelandic (http://www.transifex.com/projects/p/owncloud/language/is/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: af\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"Language: is\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: js/viewer.js:9 -msgid "Close" +#: templates/settings.php:4 +msgid "WebDAV URL: http://" msgstr "" diff --git a/l10n/it/admin_dependencies_chk.po b/l10n/it/admin_dependencies_chk.po deleted file mode 100644 index 46d1082e634f81bac9328206a2a0f1d1661fdd3c..0000000000000000000000000000000000000000 --- a/l10n/it/admin_dependencies_chk.po +++ /dev/null @@ -1,74 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Vincenzo Reale , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-19 02:02+0200\n" -"PO-Revision-Date: 2012-08-18 05:51+0000\n" -"Last-Translator: Vincenzo Reale \n" -"Language-Team: Italian (http://www.transifex.com/projects/p/owncloud/language/it/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: it\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: settings.php:33 -msgid "" -"The php-json module is needed by the many applications for inter " -"communications" -msgstr "Il modulo php-json è richiesto per l'intercomunicazione di diverse applicazioni" - -#: settings.php:39 -msgid "" -"The php-curl modude is needed to fetch the page title when adding a " -"bookmarks" -msgstr "Il modulo php-curl è richiesto per scaricare il titolo della pagina quando si aggiunge un segnalibro" - -#: settings.php:45 -msgid "The php-gd module is needed to create thumbnails of your images" -msgstr "Il modulo php-gd è richiesto per creare miniature delle tue immagini" - -#: settings.php:51 -msgid "The php-ldap module is needed connect to your ldap server" -msgstr "Il modulo php-ldap è richiesto per collegarsi a un server ldap" - -#: settings.php:57 -msgid "The php-zip module is needed download multiple files at once" -msgstr "Il modulo php-zip è richiesto per scaricare diversi file contemporaneamente" - -#: settings.php:63 -msgid "" -"The php-mb_multibyte module is needed to manage correctly the encoding." -msgstr "Il modulo php-mb_multibyte è richiesto per gestire correttamente la codifica." - -#: settings.php:69 -msgid "The php-ctype module is needed validate data." -msgstr "Il modulo php-ctype è richiesto per la validazione dei dati." - -#: settings.php:75 -msgid "The php-xml module is needed to share files with webdav." -msgstr "Il modulo php-xml è richiesto per condividere i file con webdav." - -#: settings.php:81 -msgid "" -"The allow_url_fopen directive of your php.ini should be set to 1 to retrieve" -" knowledge base from OCS servers" -msgstr "La direttiva allow_url_fopen del tuo php.ini deve essere impostata a 1 per recuperare la base di conoscenza dai server di OCS" - -#: settings.php:87 -msgid "The php-pdo module is needed to store owncloud data into a database." -msgstr "Il modulo php-pdo è richiesto per archiviare i dati di ownCloud in un database." - -#: templates/settings.php:2 -msgid "Dependencies status" -msgstr "Stato delle dipendenze" - -#: templates/settings.php:7 -msgid "Used by :" -msgstr "Usato da:" diff --git a/l10n/it/admin_migrate.po b/l10n/it/admin_migrate.po deleted file mode 100644 index 2da23d877f83029fd3db6364265ecab573ea2ac1..0000000000000000000000000000000000000000 --- a/l10n/it/admin_migrate.po +++ /dev/null @@ -1,33 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Vincenzo Reale , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-19 02:02+0200\n" -"PO-Revision-Date: 2012-08-18 05:47+0000\n" -"Last-Translator: Vincenzo Reale \n" -"Language-Team: Italian (http://www.transifex.com/projects/p/owncloud/language/it/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: it\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: templates/settings.php:3 -msgid "Export this ownCloud instance" -msgstr "Esporta questa istanza di ownCloud" - -#: templates/settings.php:4 -msgid "" -"This will create a compressed file that contains the data of this owncloud instance.\n" -" Please choose the export type:" -msgstr "Questa operazione creerà un file compresso che contiene i dati dell'istanza di ownCloud. Scegli il tipo di esportazione:" - -#: templates/settings.php:12 -msgid "Export" -msgstr "Esporta" diff --git a/l10n/it/bookmarks.po b/l10n/it/bookmarks.po deleted file mode 100644 index 7ed1ded6a77cab558984ec1000347462424cc276..0000000000000000000000000000000000000000 --- a/l10n/it/bookmarks.po +++ /dev/null @@ -1,61 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Vincenzo Reale , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-07-31 22:53+0200\n" -"PO-Revision-Date: 2012-07-30 08:36+0000\n" -"Last-Translator: Vincenzo Reale \n" -"Language-Team: Italian (http://www.transifex.com/projects/p/owncloud/language/it/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: it\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: appinfo/app.php:14 -msgid "Bookmarks" -msgstr "Segnalibri" - -#: bookmarksHelper.php:99 -msgid "unnamed" -msgstr "senza nome" - -#: templates/bookmarklet.php:5 -msgid "" -"Drag this to your browser bookmarks and click it, when you want to bookmark " -"a webpage quickly:" -msgstr "Quando vuoi creare rapidamente un segnalibro, trascinalo sui segnalibri del browser e fai clic su di esso:" - -#: templates/bookmarklet.php:7 -msgid "Read later" -msgstr "Leggi dopo" - -#: templates/list.php:13 -msgid "Address" -msgstr "Indirizzo" - -#: templates/list.php:14 -msgid "Title" -msgstr "Titolo" - -#: templates/list.php:15 -msgid "Tags" -msgstr "Tag" - -#: templates/list.php:16 -msgid "Save bookmark" -msgstr "Salva segnalibro" - -#: templates/list.php:22 -msgid "You have no bookmarks" -msgstr "Non hai segnalibri" - -#: templates/settings.php:11 -msgid "Bookmarklet
" -msgstr "Bookmarklet
" diff --git a/l10n/it/calendar.po b/l10n/it/calendar.po deleted file mode 100644 index efdc82532d89cc3defcd69aa1e07a541c62ef5f8..0000000000000000000000000000000000000000 --- a/l10n/it/calendar.po +++ /dev/null @@ -1,821 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Andrea Scarpino , 2011. -# , 2011. -# , 2012. -# Francesco Apruzzese , 2011. -# Lorenzo Beltrami , 2011. -# , 2011, 2012. -# , 2011. -# Vincenzo Reale , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-12 02:02+0200\n" -"PO-Revision-Date: 2012-08-11 07:01+0000\n" -"Last-Translator: Vincenzo Reale \n" -"Language-Team: Italian (http://www.transifex.com/projects/p/owncloud/language/it/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: it\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: ajax/cache/status.php:19 -msgid "Not all calendars are completely cached" -msgstr "Non tutti i calendari sono mantenuti completamente in cache" - -#: ajax/cache/status.php:21 -msgid "Everything seems to be completely cached" -msgstr "Tutto sembra essere mantenuto completamente in cache" - -#: ajax/categories/rescan.php:29 -msgid "No calendars found." -msgstr "Nessun calendario trovato." - -#: ajax/categories/rescan.php:37 -msgid "No events found." -msgstr "Nessun evento trovato." - -#: ajax/event/edit.form.php:20 -msgid "Wrong calendar" -msgstr "Calendario sbagliato" - -#: ajax/import/dropimport.php:29 ajax/import/import.php:64 -msgid "" -"The file contained either no events or all events are already saved in your " -"calendar." -msgstr "Il file non conteneva alcun evento o tutti gli eventi erano già salvati nel tuo calendario." - -#: ajax/import/dropimport.php:31 ajax/import/import.php:67 -msgid "events has been saved in the new calendar" -msgstr "gli eventi sono stati salvati nel nuovo calendario" - -#: ajax/import/import.php:56 -msgid "Import failed" -msgstr "Importazione non riuscita" - -#: ajax/import/import.php:69 -msgid "events has been saved in your calendar" -msgstr "gli eventi sono stati salvati nel tuo calendario" - -#: ajax/settings/guesstimezone.php:25 -msgid "New Timezone:" -msgstr "Nuovo fuso orario:" - -#: ajax/settings/settimezone.php:23 -msgid "Timezone changed" -msgstr "Fuso orario cambiato" - -#: ajax/settings/settimezone.php:25 -msgid "Invalid request" -msgstr "Richiesta non valida" - -#: appinfo/app.php:35 templates/calendar.php:15 -#: templates/part.eventform.php:33 templates/part.showevent.php:33 -msgid "Calendar" -msgstr "Calendario" - -#: js/calendar.js:832 -msgid "ddd" -msgstr "ddd" - -#: js/calendar.js:833 -msgid "ddd M/d" -msgstr "ddd d/M" - -#: js/calendar.js:834 -msgid "dddd M/d" -msgstr "dddd d/M" - -#: js/calendar.js:837 -msgid "MMMM yyyy" -msgstr "MMMM yyyy" - -#: js/calendar.js:839 -msgid "MMM d[ yyyy]{ '—'[ MMM] d yyyy}" -msgstr "MMM d[ yyyy]{ '—'[ MMM] d yyyy}" - -#: js/calendar.js:841 -msgid "dddd, MMM d, yyyy" -msgstr "dddd, d MMM yyyy" - -#: lib/app.php:121 -msgid "Birthday" -msgstr "Compleanno" - -#: lib/app.php:122 -msgid "Business" -msgstr "Azienda" - -#: lib/app.php:123 -msgid "Call" -msgstr "Chiama" - -#: lib/app.php:124 -msgid "Clients" -msgstr "Clienti" - -#: lib/app.php:125 -msgid "Deliverer" -msgstr "Consegna" - -#: lib/app.php:126 -msgid "Holidays" -msgstr "Vacanze" - -#: lib/app.php:127 -msgid "Ideas" -msgstr "Idee" - -#: lib/app.php:128 -msgid "Journey" -msgstr "Viaggio" - -#: lib/app.php:129 -msgid "Jubilee" -msgstr "Anniversario" - -#: lib/app.php:130 -msgid "Meeting" -msgstr "Riunione" - -#: lib/app.php:131 -msgid "Other" -msgstr "Altro" - -#: lib/app.php:132 -msgid "Personal" -msgstr "Personale" - -#: lib/app.php:133 -msgid "Projects" -msgstr "Progetti" - -#: lib/app.php:134 -msgid "Questions" -msgstr "Domande" - -#: lib/app.php:135 -msgid "Work" -msgstr "Lavoro" - -#: lib/app.php:351 lib/app.php:361 -msgid "by" -msgstr "da" - -#: lib/app.php:359 lib/app.php:399 -msgid "unnamed" -msgstr "senza nome" - -#: lib/import.php:184 templates/calendar.php:12 -#: templates/part.choosecalendar.php:22 -msgid "New Calendar" -msgstr "Nuovo calendario" - -#: lib/object.php:372 -msgid "Does not repeat" -msgstr "Non ripetere" - -#: lib/object.php:373 -msgid "Daily" -msgstr "Giornaliero" - -#: lib/object.php:374 -msgid "Weekly" -msgstr "Settimanale" - -#: lib/object.php:375 -msgid "Every Weekday" -msgstr "Ogni giorno della settimana" - -#: lib/object.php:376 -msgid "Bi-Weekly" -msgstr "Ogni due settimane" - -#: lib/object.php:377 -msgid "Monthly" -msgstr "Mensile" - -#: lib/object.php:378 -msgid "Yearly" -msgstr "Annuale" - -#: lib/object.php:388 -msgid "never" -msgstr "mai" - -#: lib/object.php:389 -msgid "by occurrences" -msgstr "per occorrenze" - -#: lib/object.php:390 -msgid "by date" -msgstr "per data" - -#: lib/object.php:400 -msgid "by monthday" -msgstr "per giorno del mese" - -#: lib/object.php:401 -msgid "by weekday" -msgstr "per giorno della settimana" - -#: lib/object.php:411 templates/calendar.php:5 templates/settings.php:69 -msgid "Monday" -msgstr "Lunedì" - -#: lib/object.php:412 templates/calendar.php:5 -msgid "Tuesday" -msgstr "Martedì" - -#: lib/object.php:413 templates/calendar.php:5 -msgid "Wednesday" -msgstr "Mercoledì" - -#: lib/object.php:414 templates/calendar.php:5 -msgid "Thursday" -msgstr "Giovedì" - -#: lib/object.php:415 templates/calendar.php:5 -msgid "Friday" -msgstr "Venerdì" - -#: lib/object.php:416 templates/calendar.php:5 -msgid "Saturday" -msgstr "Sabato" - -#: lib/object.php:417 templates/calendar.php:5 templates/settings.php:70 -msgid "Sunday" -msgstr "Domenica" - -#: lib/object.php:427 -msgid "events week of month" -msgstr "settimana del mese degli eventi" - -#: lib/object.php:428 -msgid "first" -msgstr "primo" - -#: lib/object.php:429 -msgid "second" -msgstr "secondo" - -#: lib/object.php:430 -msgid "third" -msgstr "terzo" - -#: lib/object.php:431 -msgid "fourth" -msgstr "quarto" - -#: lib/object.php:432 -msgid "fifth" -msgstr "quinto" - -#: lib/object.php:433 -msgid "last" -msgstr "ultimo" - -#: lib/object.php:467 templates/calendar.php:7 -msgid "January" -msgstr "Gennaio" - -#: lib/object.php:468 templates/calendar.php:7 -msgid "February" -msgstr "Febbraio" - -#: lib/object.php:469 templates/calendar.php:7 -msgid "March" -msgstr "Marzo" - -#: lib/object.php:470 templates/calendar.php:7 -msgid "April" -msgstr "Aprile" - -#: lib/object.php:471 templates/calendar.php:7 -msgid "May" -msgstr "Maggio" - -#: lib/object.php:472 templates/calendar.php:7 -msgid "June" -msgstr "Giugno" - -#: lib/object.php:473 templates/calendar.php:7 -msgid "July" -msgstr "Luglio" - -#: lib/object.php:474 templates/calendar.php:7 -msgid "August" -msgstr "Agosto" - -#: lib/object.php:475 templates/calendar.php:7 -msgid "September" -msgstr "Settembre" - -#: lib/object.php:476 templates/calendar.php:7 -msgid "October" -msgstr "Ottobre" - -#: lib/object.php:477 templates/calendar.php:7 -msgid "November" -msgstr "Novembre" - -#: lib/object.php:478 templates/calendar.php:7 -msgid "December" -msgstr "Dicembre" - -#: lib/object.php:488 -msgid "by events date" -msgstr "per data evento" - -#: lib/object.php:489 -msgid "by yearday(s)" -msgstr "per giorno/i dell'anno" - -#: lib/object.php:490 -msgid "by weeknumber(s)" -msgstr "per numero/i settimana" - -#: lib/object.php:491 -msgid "by day and month" -msgstr "per giorno e mese" - -#: lib/search.php:35 lib/search.php:37 lib/search.php:40 -msgid "Date" -msgstr "Data" - -#: lib/search.php:43 -msgid "Cal." -msgstr "Cal." - -#: templates/calendar.php:6 -msgid "Sun." -msgstr "Dom." - -#: templates/calendar.php:6 -msgid "Mon." -msgstr "Lun." - -#: templates/calendar.php:6 -msgid "Tue." -msgstr "Mar." - -#: templates/calendar.php:6 -msgid "Wed." -msgstr "Mer." - -#: templates/calendar.php:6 -msgid "Thu." -msgstr "Gio." - -#: templates/calendar.php:6 -msgid "Fri." -msgstr "Ven." - -#: templates/calendar.php:6 -msgid "Sat." -msgstr "Sab." - -#: templates/calendar.php:8 -msgid "Jan." -msgstr "Gen." - -#: templates/calendar.php:8 -msgid "Feb." -msgstr "Feb." - -#: templates/calendar.php:8 -msgid "Mar." -msgstr "Mar." - -#: templates/calendar.php:8 -msgid "Apr." -msgstr "Apr." - -#: templates/calendar.php:8 -msgid "May." -msgstr "Mag." - -#: templates/calendar.php:8 -msgid "Jun." -msgstr "Giu." - -#: templates/calendar.php:8 -msgid "Jul." -msgstr "Lug." - -#: templates/calendar.php:8 -msgid "Aug." -msgstr "Ago." - -#: templates/calendar.php:8 -msgid "Sep." -msgstr "Set." - -#: templates/calendar.php:8 -msgid "Oct." -msgstr "Ott." - -#: templates/calendar.php:8 -msgid "Nov." -msgstr "Nov." - -#: templates/calendar.php:8 -msgid "Dec." -msgstr "Dic." - -#: templates/calendar.php:11 -msgid "All day" -msgstr "Tutti il giorno" - -#: templates/calendar.php:13 -msgid "Missing fields" -msgstr "Campi mancanti" - -#: templates/calendar.php:14 templates/part.eventform.php:19 -#: templates/part.showevent.php:11 -msgid "Title" -msgstr "Titolo" - -#: templates/calendar.php:16 -msgid "From Date" -msgstr "Dal giorno" - -#: templates/calendar.php:17 -msgid "From Time" -msgstr "Ora iniziale" - -#: templates/calendar.php:18 -msgid "To Date" -msgstr "Al giorno" - -#: templates/calendar.php:19 -msgid "To Time" -msgstr "Ora finale" - -#: templates/calendar.php:20 -msgid "The event ends before it starts" -msgstr "L'evento finisce prima d'iniziare" - -#: templates/calendar.php:21 -msgid "There was a database fail" -msgstr "Si è verificato un errore del database" - -#: templates/calendar.php:39 -msgid "Week" -msgstr "Settimana" - -#: templates/calendar.php:40 -msgid "Month" -msgstr "Mese" - -#: templates/calendar.php:41 -msgid "List" -msgstr "Elenco" - -#: templates/calendar.php:45 -msgid "Today" -msgstr "Oggi" - -#: templates/calendar.php:46 templates/calendar.php:47 -msgid "Settings" -msgstr "Impostazioni" - -#: templates/part.choosecalendar.php:2 -msgid "Your calendars" -msgstr "I tuoi calendari" - -#: templates/part.choosecalendar.php:27 -#: templates/part.choosecalendar.rowfields.php:11 -msgid "CalDav Link" -msgstr "Collegamento CalDav" - -#: templates/part.choosecalendar.php:31 -msgid "Shared calendars" -msgstr "Calendari condivisi" - -#: templates/part.choosecalendar.php:48 -msgid "No shared calendars" -msgstr "Nessun calendario condiviso" - -#: templates/part.choosecalendar.rowfields.php:8 -msgid "Share Calendar" -msgstr "Condividi calendario" - -#: templates/part.choosecalendar.rowfields.php:14 -msgid "Download" -msgstr "Scarica" - -#: templates/part.choosecalendar.rowfields.php:17 -msgid "Edit" -msgstr "Modifica" - -#: templates/part.choosecalendar.rowfields.php:20 -#: templates/part.editevent.php:9 -msgid "Delete" -msgstr "Elimina" - -#: templates/part.choosecalendar.rowfields.shared.php:4 -msgid "shared with you by" -msgstr "condiviso con te da" - -#: templates/part.editcalendar.php:9 -msgid "New calendar" -msgstr "Nuovo calendario" - -#: templates/part.editcalendar.php:9 -msgid "Edit calendar" -msgstr "Modifica calendario" - -#: templates/part.editcalendar.php:12 -msgid "Displayname" -msgstr "Nome visualizzato" - -#: templates/part.editcalendar.php:23 -msgid "Active" -msgstr "Attivo" - -#: templates/part.editcalendar.php:29 -msgid "Calendar color" -msgstr "Colore calendario" - -#: templates/part.editcalendar.php:42 -msgid "Save" -msgstr "Salva" - -#: templates/part.editcalendar.php:42 templates/part.editevent.php:8 -#: templates/part.newevent.php:6 -msgid "Submit" -msgstr "Invia" - -#: templates/part.editcalendar.php:43 -msgid "Cancel" -msgstr "Annulla" - -#: templates/part.editevent.php:1 -msgid "Edit an event" -msgstr "Modifica un evento" - -#: templates/part.editevent.php:10 -msgid "Export" -msgstr "Esporta" - -#: templates/part.eventform.php:8 templates/part.showevent.php:3 -msgid "Eventinfo" -msgstr "Informazioni evento" - -#: templates/part.eventform.php:9 templates/part.showevent.php:4 -msgid "Repeating" -msgstr "Ripetizione" - -#: templates/part.eventform.php:10 templates/part.showevent.php:5 -msgid "Alarm" -msgstr "Avviso" - -#: templates/part.eventform.php:11 templates/part.showevent.php:6 -msgid "Attendees" -msgstr "Partecipanti" - -#: templates/part.eventform.php:13 -msgid "Share" -msgstr "Condividi" - -#: templates/part.eventform.php:21 -msgid "Title of the Event" -msgstr "Titolo dell'evento" - -#: templates/part.eventform.php:27 templates/part.showevent.php:19 -msgid "Category" -msgstr "Categoria" - -#: templates/part.eventform.php:29 -msgid "Separate categories with commas" -msgstr "Categorie separate da virgole" - -#: templates/part.eventform.php:30 -msgid "Edit categories" -msgstr "Modifica le categorie" - -#: templates/part.eventform.php:56 templates/part.showevent.php:52 -msgid "All Day Event" -msgstr "Evento che occupa tutta la giornata" - -#: templates/part.eventform.php:60 templates/part.showevent.php:56 -msgid "From" -msgstr "Da" - -#: templates/part.eventform.php:68 templates/part.showevent.php:64 -msgid "To" -msgstr "A" - -#: templates/part.eventform.php:76 templates/part.showevent.php:72 -msgid "Advanced options" -msgstr "Opzioni avanzate" - -#: templates/part.eventform.php:81 templates/part.showevent.php:77 -msgid "Location" -msgstr "Luogo" - -#: templates/part.eventform.php:83 -msgid "Location of the Event" -msgstr "Luogo dell'evento" - -#: templates/part.eventform.php:89 templates/part.showevent.php:85 -msgid "Description" -msgstr "Descrizione" - -#: templates/part.eventform.php:91 -msgid "Description of the Event" -msgstr "Descrizione dell'evento" - -#: templates/part.eventform.php:100 templates/part.showevent.php:95 -msgid "Repeat" -msgstr "Ripeti" - -#: templates/part.eventform.php:107 templates/part.showevent.php:102 -msgid "Advanced" -msgstr "Avanzato" - -#: templates/part.eventform.php:151 templates/part.showevent.php:146 -msgid "Select weekdays" -msgstr "Seleziona i giorni della settimana" - -#: templates/part.eventform.php:164 templates/part.eventform.php:177 -#: templates/part.showevent.php:159 templates/part.showevent.php:172 -msgid "Select days" -msgstr "Seleziona i giorni" - -#: templates/part.eventform.php:169 templates/part.showevent.php:164 -msgid "and the events day of year." -msgstr "e il giorno dell'anno degli eventi." - -#: templates/part.eventform.php:182 templates/part.showevent.php:177 -msgid "and the events day of month." -msgstr "e il giorno del mese degli eventi." - -#: templates/part.eventform.php:190 templates/part.showevent.php:185 -msgid "Select months" -msgstr "Seleziona i mesi" - -#: templates/part.eventform.php:203 templates/part.showevent.php:198 -msgid "Select weeks" -msgstr "Seleziona le settimane" - -#: templates/part.eventform.php:208 templates/part.showevent.php:203 -msgid "and the events week of year." -msgstr "e la settimana dell'anno degli eventi." - -#: templates/part.eventform.php:214 templates/part.showevent.php:209 -msgid "Interval" -msgstr "Intervallo" - -#: templates/part.eventform.php:220 templates/part.showevent.php:215 -msgid "End" -msgstr "Fine" - -#: templates/part.eventform.php:233 templates/part.showevent.php:228 -msgid "occurrences" -msgstr "occorrenze" - -#: templates/part.import.php:14 -msgid "create a new calendar" -msgstr "Crea un nuovo calendario" - -#: templates/part.import.php:17 -msgid "Import a calendar file" -msgstr "Importa un file di calendario" - -#: templates/part.import.php:24 -msgid "Please choose a calendar" -msgstr "Scegli un calendario" - -#: templates/part.import.php:36 -msgid "Name of new calendar" -msgstr "Nome del nuovo calendario" - -#: templates/part.import.php:44 -msgid "Take an available name!" -msgstr "Usa un nome disponibile!" - -#: templates/part.import.php:45 -msgid "" -"A Calendar with this name already exists. If you continue anyhow, these " -"calendars will be merged." -msgstr "Un calendario con questo nome esiste già. Se continui, i due calendari saranno uniti." - -#: templates/part.import.php:47 -msgid "Import" -msgstr "Importa" - -#: templates/part.import.php:56 -msgid "Close Dialog" -msgstr "Chiudi la finestra di dialogo" - -#: templates/part.newevent.php:1 -msgid "Create a new event" -msgstr "Crea un nuovo evento" - -#: templates/part.showevent.php:1 -msgid "View an event" -msgstr "Visualizza un evento" - -#: templates/part.showevent.php:23 -msgid "No categories selected" -msgstr "Nessuna categoria selezionata" - -#: templates/part.showevent.php:37 -msgid "of" -msgstr "di" - -#: templates/part.showevent.php:59 templates/part.showevent.php:67 -msgid "at" -msgstr "alle" - -#: templates/settings.php:10 -msgid "General" -msgstr "Generale" - -#: templates/settings.php:15 -msgid "Timezone" -msgstr "Fuso orario" - -#: templates/settings.php:47 -msgid "Update timezone automatically" -msgstr "Aggiorna automaticamente il fuso orario" - -#: templates/settings.php:52 -msgid "Time format" -msgstr "Formato orario" - -#: templates/settings.php:57 -msgid "24h" -msgstr "24h" - -#: templates/settings.php:58 -msgid "12h" -msgstr "12h" - -#: templates/settings.php:64 -msgid "Start week on" -msgstr "La settimana inizia il" - -#: templates/settings.php:76 -msgid "Cache" -msgstr "Cache" - -#: templates/settings.php:80 -msgid "Clear cache for repeating events" -msgstr "Cancella gli eventi che si ripetono dalla cache" - -#: templates/settings.php:85 -msgid "URLs" -msgstr "URL" - -#: templates/settings.php:87 -msgid "Calendar CalDAV syncing addresses" -msgstr "Indirizzi di sincronizzazione calendari CalDAV" - -#: templates/settings.php:87 -msgid "more info" -msgstr "ulteriori informazioni" - -#: templates/settings.php:89 -msgid "Primary address (Kontact et al)" -msgstr "Indirizzo principale (Kontact e altri)" - -#: templates/settings.php:91 -msgid "iOS/OS X" -msgstr "iOS/OS X" - -#: templates/settings.php:93 -msgid "Read only iCalendar link(s)" -msgstr "Collegamento(i) iCalendar sola lettura" - -#: templates/share.dropdown.php:20 -msgid "Users" -msgstr "Utenti" - -#: templates/share.dropdown.php:21 -msgid "select users" -msgstr "seleziona utenti" - -#: templates/share.dropdown.php:36 templates/share.dropdown.php:62 -msgid "Editable" -msgstr "Modificabile" - -#: templates/share.dropdown.php:48 -msgid "Groups" -msgstr "Gruppi" - -#: templates/share.dropdown.php:49 -msgid "select groups" -msgstr "seleziona gruppi" - -#: templates/share.dropdown.php:75 -msgid "make public" -msgstr "rendi pubblico" diff --git a/l10n/it/contacts.po b/l10n/it/contacts.po deleted file mode 100644 index 3512cf8d11c0965e898954fa922b5fbc6430afc2..0000000000000000000000000000000000000000 --- a/l10n/it/contacts.po +++ /dev/null @@ -1,956 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# , 2012. -# Francesco Apruzzese , 2011. -# , 2011, 2012. -# Vincenzo Reale , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-25 02:04+0200\n" -"PO-Revision-Date: 2012-08-24 05:41+0000\n" -"Last-Translator: Vincenzo Reale \n" -"Language-Team: Italian (http://www.transifex.com/projects/p/owncloud/language/it/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: it\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: ajax/addressbook/activate.php:24 ajax/addressbook/update.php:32 -msgid "Error (de)activating addressbook." -msgstr "Errore nel (dis)attivare la rubrica." - -#: ajax/addressbook/delete.php:31 ajax/addressbook/update.php:20 -#: ajax/contact/addproperty.php:42 ajax/contact/delete.php:32 -#: ajax/contact/saveproperty.php:39 -msgid "id is not set." -msgstr "ID non impostato." - -#: ajax/addressbook/update.php:24 -msgid "Cannot update addressbook with an empty name." -msgstr "Impossibile aggiornare una rubrica senza nome." - -#: ajax/addressbook/update.php:28 -msgid "Error updating addressbook." -msgstr "Errore durante l'aggiornamento della rubrica." - -#: ajax/categories/categoriesfor.php:17 -msgid "No ID provided" -msgstr "Nessun ID fornito" - -#: ajax/categories/categoriesfor.php:34 -msgid "Error setting checksum." -msgstr "Errore di impostazione del codice di controllo." - -#: ajax/categories/delete.php:19 -msgid "No categories selected for deletion." -msgstr "Nessuna categoria selezionata per l'eliminazione." - -#: ajax/categories/delete.php:26 -msgid "No address books found." -msgstr "Nessuna rubrica trovata." - -#: ajax/categories/delete.php:34 -msgid "No contacts found." -msgstr "Nessun contatto trovato." - -#: ajax/contact/add.php:47 -msgid "There was an error adding the contact." -msgstr "Si è verificato un errore nell'aggiunta del contatto." - -#: ajax/contact/addproperty.php:39 ajax/contact/saveproperty.php:36 -msgid "element name is not set." -msgstr "il nome dell'elemento non è impostato." - -#: ajax/contact/addproperty.php:46 -msgid "Could not parse contact: " -msgstr "Impossibile elaborare il contatto: " - -#: ajax/contact/addproperty.php:56 -msgid "Cannot add empty property." -msgstr "Impossibile aggiungere una proprietà vuota." - -#: ajax/contact/addproperty.php:67 -msgid "At least one of the address fields has to be filled out." -msgstr "Deve essere inserito almeno un indirizzo." - -#: ajax/contact/addproperty.php:76 -msgid "Trying to add duplicate property: " -msgstr "P" - -#: ajax/contact/addproperty.php:115 ajax/contact/saveproperty.php:93 -msgid "Missing IM parameter." -msgstr "Parametro IM mancante." - -#: ajax/contact/addproperty.php:119 ajax/contact/saveproperty.php:97 -msgid "Unknown IM: " -msgstr "IM sconosciuto:" - -#: ajax/contact/deleteproperty.php:37 -msgid "Information about vCard is incorrect. Please reload the page." -msgstr "Informazioni sulla vCard non corrette. Ricarica la pagina." - -#: ajax/contact/details.php:31 -msgid "Missing ID" -msgstr "ID mancante" - -#: ajax/contact/details.php:36 -msgid "Error parsing VCard for ID: \"" -msgstr "Errore in fase di elaborazione del file VCard per l'ID: \"" - -#: ajax/contact/saveproperty.php:42 -msgid "checksum is not set." -msgstr "il codice di controllo non è impostato." - -#: ajax/contact/saveproperty.php:62 -msgid "Information about vCard is incorrect. Please reload the page: " -msgstr "Le informazioni della vCard non sono corrette. Ricarica la pagina: " - -#: ajax/contact/saveproperty.php:69 -msgid "Something went FUBAR. " -msgstr "Qualcosa è andato storto. " - -#: ajax/currentphoto.php:30 ajax/oc_photo.php:28 ajax/uploadphoto.php:36 -#: ajax/uploadphoto.php:68 -msgid "No contact ID was submitted." -msgstr "Nessun ID di contatto inviato." - -#: ajax/currentphoto.php:36 -msgid "Error reading contact photo." -msgstr "Errore di lettura della foto del contatto." - -#: ajax/currentphoto.php:48 -msgid "Error saving temporary file." -msgstr "Errore di salvataggio del file temporaneo." - -#: ajax/currentphoto.php:51 -msgid "The loading photo is not valid." -msgstr "La foto caricata non è valida." - -#: ajax/editname.php:31 -msgid "Contact ID is missing." -msgstr "Manca l'ID del contatto." - -#: ajax/oc_photo.php:32 -msgid "No photo path was submitted." -msgstr "Non è stato inviato alcun percorso a una foto." - -#: ajax/oc_photo.php:39 -msgid "File doesn't exist:" -msgstr "Il file non esiste:" - -#: ajax/oc_photo.php:44 ajax/oc_photo.php:47 -msgid "Error loading image." -msgstr "Errore di caricamento immagine." - -#: ajax/savecrop.php:69 -msgid "Error getting contact object." -msgstr "Errore di recupero dell'oggetto contatto." - -#: ajax/savecrop.php:79 -msgid "Error getting PHOTO property." -msgstr "Errore di recupero della proprietà FOTO." - -#: ajax/savecrop.php:98 -msgid "Error saving contact." -msgstr "Errore di salvataggio del contatto." - -#: ajax/savecrop.php:109 -msgid "Error resizing image" -msgstr "Errore di ridimensionamento dell'immagine" - -#: ajax/savecrop.php:112 -msgid "Error cropping image" -msgstr "Errore di ritaglio dell'immagine" - -#: ajax/savecrop.php:115 -msgid "Error creating temporary image" -msgstr "Errore durante la creazione dell'immagine temporanea" - -#: ajax/savecrop.php:118 -msgid "Error finding image: " -msgstr "Errore durante la ricerca dell'immagine: " - -#: ajax/uploadimport.php:44 ajax/uploadimport.php:76 -msgid "Error uploading contacts to storage." -msgstr "Errore di invio dei contatti in archivio." - -#: ajax/uploadimport.php:61 ajax/uploadphoto.php:77 -msgid "There is no error, the file uploaded with success" -msgstr "Non ci sono errori, il file è stato inviato correttamente" - -#: ajax/uploadimport.php:62 ajax/uploadphoto.php:78 -msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" -msgstr "Il file inviato supera la direttiva upload_max_filesize nel php.ini" - -#: ajax/uploadimport.php:63 ajax/uploadphoto.php:79 -msgid "" -"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " -"the HTML form" -msgstr "Il file inviato supera la direttiva MAX_FILE_SIZE specificata nel modulo HTML" - -#: ajax/uploadimport.php:64 ajax/uploadphoto.php:80 -msgid "The uploaded file was only partially uploaded" -msgstr "Il file è stato inviato solo parzialmente" - -#: ajax/uploadimport.php:65 ajax/uploadphoto.php:81 -msgid "No file was uploaded" -msgstr "Nessun file è stato inviato" - -#: ajax/uploadimport.php:66 ajax/uploadphoto.php:82 -msgid "Missing a temporary folder" -msgstr "Manca una cartella temporanea" - -#: ajax/uploadphoto.php:59 ajax/uploadphoto.php:109 -msgid "Couldn't save temporary image: " -msgstr "Impossibile salvare l'immagine temporanea: " - -#: ajax/uploadphoto.php:62 ajax/uploadphoto.php:112 -msgid "Couldn't load temporary image: " -msgstr "Impossibile caricare l'immagine temporanea: " - -#: ajax/uploadphoto.php:71 -msgid "No file was uploaded. Unknown error" -msgstr "Nessun file è stato inviato. Errore sconosciuto" - -#: appinfo/app.php:25 -msgid "Contacts" -msgstr "Contatti" - -#: js/contacts.js:71 -msgid "Sorry, this functionality has not been implemented yet" -msgstr "Siamo spiacenti, questa funzionalità non è stata ancora implementata" - -#: js/contacts.js:71 -msgid "Not implemented" -msgstr "Non implementata" - -#: js/contacts.js:76 -msgid "Couldn't get a valid address." -msgstr "Impossibile ottenere un indirizzo valido." - -#: js/contacts.js:76 js/contacts.js:365 js/contacts.js:381 js/contacts.js:393 -#: js/contacts.js:723 js/contacts.js:763 js/contacts.js:789 js/contacts.js:921 -#: js/contacts.js:927 js/contacts.js:939 js/contacts.js:976 -#: js/contacts.js:1250 js/contacts.js:1258 js/contacts.js:1267 -#: js/contacts.js:1302 js/contacts.js:1338 js/contacts.js:1353 -#: js/contacts.js:1379 js/contacts.js:1609 js/contacts.js:1644 -#: js/contacts.js:1664 js/settings.js:26 js/settings.js:43 js/settings.js:68 -msgid "Error" -msgstr "Errore" - -#: js/contacts.js:424 -msgid "You do not have permission to add contacts to " -msgstr "Non hai i permessi per aggiungere contatti a" - -#: js/contacts.js:425 -msgid "Please select one of your own address books." -msgstr "Seleziona una delle tue rubriche." - -#: js/contacts.js:425 -msgid "Permission error" -msgstr "Errore relativo ai permessi" - -#: js/contacts.js:763 -msgid "This property has to be non-empty." -msgstr "Questa proprietà non può essere vuota." - -#: js/contacts.js:789 -msgid "Couldn't serialize elements." -msgstr "Impossibile serializzare gli elementi." - -#: js/contacts.js:921 js/contacts.js:939 -msgid "" -"'deleteProperty' called without type argument. Please report at " -"bugs.owncloud.org" -msgstr "'deleteProperty' invocata senza l'argomento di tipo. Segnalalo a bugs.owncloud.org" - -#: js/contacts.js:958 -msgid "Edit name" -msgstr "Modifica il nome" - -#: js/contacts.js:1250 -msgid "No files selected for upload." -msgstr "Nessun file selezionato per l'invio" - -#: js/contacts.js:1258 -msgid "" -"The file you are trying to upload exceed the maximum size for file uploads " -"on this server." -msgstr "Il file che stai cercando di inviare supera la dimensione massima per l'invio dei file su questo server." - -#: js/contacts.js:1322 -msgid "Error loading profile picture." -msgstr "Errore durante il caricamento dell'immagine di profilo." - -#: js/contacts.js:1457 js/contacts.js:1498 js/contacts.js:1517 -#: js/contacts.js:1560 -msgid "Select type" -msgstr "Seleziona il tipo" - -#: js/contacts.js:1578 -msgid "" -"Some contacts are marked for deletion, but not deleted yet. Please wait for " -"them to be deleted." -msgstr "Alcuni contatti sono marcati per l'eliminazione, ma non sono stati ancora rimossi. Attendi fino al completamento dell'operazione." - -#: js/contacts.js:1649 -msgid "Do you want to merge these address books?" -msgstr "Vuoi unire queste rubriche?" - -#: js/loader.js:49 -msgid "Result: " -msgstr "Risultato: " - -#: js/loader.js:49 -msgid " imported, " -msgstr " importato, " - -#: js/loader.js:49 -msgid " failed." -msgstr " non riuscito." - -#: js/settings.js:68 -msgid "Displayname cannot be empty." -msgstr "Il nome visualizzato non può essere vuoto." - -#: lib/app.php:36 -msgid "Addressbook not found: " -msgstr "Rubrica non trovata:" - -#: lib/app.php:52 -msgid "This is not your addressbook." -msgstr "Questa non è la tua rubrica." - -#: lib/app.php:71 -msgid "Contact could not be found." -msgstr "Il contatto non può essere trovato." - -#: lib/app.php:116 -msgid "Jabber" -msgstr "Jabber" - -#: lib/app.php:121 -msgid "AIM" -msgstr "AIM" - -#: lib/app.php:126 -msgid "MSN" -msgstr "MSN" - -#: lib/app.php:131 -msgid "Twitter" -msgstr "Twitter" - -#: lib/app.php:136 -msgid "GoogleTalk" -msgstr "GoogleTalk" - -#: lib/app.php:141 -msgid "Facebook" -msgstr "Facebook" - -#: lib/app.php:146 -msgid "XMPP" -msgstr "XMPP" - -#: lib/app.php:151 -msgid "ICQ" -msgstr "ICQ" - -#: lib/app.php:156 -msgid "Yahoo" -msgstr "Yahoo" - -#: lib/app.php:161 -msgid "Skype" -msgstr "Skype" - -#: lib/app.php:166 -msgid "QQ" -msgstr "QQ" - -#: lib/app.php:171 -msgid "GaduGadu" -msgstr "GaduGadu" - -#: lib/app.php:194 lib/app.php:202 lib/app.php:213 lib/app.php:266 -msgid "Work" -msgstr "Lavoro" - -#: lib/app.php:195 lib/app.php:200 lib/app.php:214 -msgid "Home" -msgstr "Casa" - -#: lib/app.php:196 lib/app.php:209 lib/app.php:262 lib/vcard.php:593 -msgid "Other" -msgstr "Altro" - -#: lib/app.php:201 -msgid "Mobile" -msgstr "Cellulare" - -#: lib/app.php:203 -msgid "Text" -msgstr "Testo" - -#: lib/app.php:204 -msgid "Voice" -msgstr "Voce" - -#: lib/app.php:205 -msgid "Message" -msgstr "Messaggio" - -#: lib/app.php:206 -msgid "Fax" -msgstr "Fax" - -#: lib/app.php:207 -msgid "Video" -msgstr "Video" - -#: lib/app.php:208 -msgid "Pager" -msgstr "Cercapersone" - -#: lib/app.php:215 -msgid "Internet" -msgstr "Internet" - -#: lib/app.php:252 templates/part.contact.php:45 -#: templates/part.contact.php:128 -msgid "Birthday" -msgstr "Compleanno" - -#: lib/app.php:253 -msgid "Business" -msgstr "Lavoro" - -#: lib/app.php:254 -msgid "Call" -msgstr "Chiama" - -#: lib/app.php:255 -msgid "Clients" -msgstr "Client" - -#: lib/app.php:256 -msgid "Deliverer" -msgstr "Corriere" - -#: lib/app.php:257 -msgid "Holidays" -msgstr "Festività" - -#: lib/app.php:258 -msgid "Ideas" -msgstr "Idee" - -#: lib/app.php:259 -msgid "Journey" -msgstr "Viaggio" - -#: lib/app.php:260 -msgid "Jubilee" -msgstr "Anniversario" - -#: lib/app.php:261 -msgid "Meeting" -msgstr "Riunione" - -#: lib/app.php:263 -msgid "Personal" -msgstr "Personale" - -#: lib/app.php:264 -msgid "Projects" -msgstr "Progetti" - -#: lib/app.php:265 -msgid "Questions" -msgstr "Domande" - -#: lib/hooks.php:102 -msgid "{name}'s Birthday" -msgstr "Data di nascita di {name}" - -#: lib/search.php:15 -msgid "Contact" -msgstr "Contatto" - -#: lib/vcard.php:408 -msgid "You do not have the permissions to edit this contact." -msgstr "Non hai i permessi per modificare questo contatto." - -#: lib/vcard.php:483 -msgid "You do not have the permissions to delete this contact." -msgstr "Non hai i permessi per eliminare questo contatto." - -#: templates/index.php:14 -msgid "Add Contact" -msgstr "Aggiungi contatto" - -#: templates/index.php:15 templates/index.php:16 templates/part.import.php:17 -msgid "Import" -msgstr "Importa" - -#: templates/index.php:18 -msgid "Settings" -msgstr "Impostazioni" - -#: templates/index.php:18 templates/settings.php:9 -msgid "Addressbooks" -msgstr "Rubriche" - -#: templates/index.php:36 templates/part.import.php:24 -msgid "Close" -msgstr "Chiudi" - -#: templates/index.php:37 -msgid "Keyboard shortcuts" -msgstr "Scorciatoie da tastiera" - -#: templates/index.php:39 -msgid "Navigation" -msgstr "Navigazione" - -#: templates/index.php:42 -msgid "Next contact in list" -msgstr "Contatto successivo in elenco" - -#: templates/index.php:44 -msgid "Previous contact in list" -msgstr "Contatto precedente in elenco" - -#: templates/index.php:46 -msgid "Expand/collapse current addressbook" -msgstr "Espandi/Contrai la rubrica corrente" - -#: templates/index.php:48 -msgid "Next addressbook" -msgstr "Rubrica successiva" - -#: templates/index.php:50 -msgid "Previous addressbook" -msgstr "Rubrica precedente" - -#: templates/index.php:54 -msgid "Actions" -msgstr "Azioni" - -#: templates/index.php:57 -msgid "Refresh contacts list" -msgstr "Aggiorna l'elenco dei contatti" - -#: templates/index.php:59 -msgid "Add new contact" -msgstr "Aggiungi un nuovo contatto" - -#: templates/index.php:61 -msgid "Add new addressbook" -msgstr "Aggiungi una nuova rubrica" - -#: templates/index.php:63 -msgid "Delete current contact" -msgstr "Elimina il contatto corrente" - -#: templates/part.contact.php:17 -msgid "Drop photo to upload" -msgstr "Rilascia una foto da inviare" - -#: templates/part.contact.php:19 -msgid "Delete current photo" -msgstr "Elimina la foto corrente" - -#: templates/part.contact.php:20 -msgid "Edit current photo" -msgstr "Modifica la foto corrente" - -#: templates/part.contact.php:21 -msgid "Upload new photo" -msgstr "Invia una nuova foto" - -#: templates/part.contact.php:22 -msgid "Select photo from ownCloud" -msgstr "Seleziona la foto da ownCloud" - -#: templates/part.contact.php:35 -msgid "Format custom, Short name, Full name, Reverse or Reverse with comma" -msgstr "Formato personalizzato, nome breve, nome completo, invertito o invertito con virgola" - -#: templates/part.contact.php:36 -msgid "Edit name details" -msgstr "Modifica dettagli del nome" - -#: templates/part.contact.php:39 templates/part.contact.php:40 -#: templates/part.contact.php:126 -msgid "Organization" -msgstr "Organizzazione" - -#: templates/part.contact.php:40 templates/part.contact.php:42 -#: templates/part.contact.php:44 templates/part.contact.php:46 -#: templates/part.contact.php:50 templates/settings.php:36 -msgid "Delete" -msgstr "Elimina" - -#: templates/part.contact.php:41 templates/part.contact.php:127 -msgid "Nickname" -msgstr "Pseudonimo" - -#: templates/part.contact.php:42 -msgid "Enter nickname" -msgstr "Inserisci pseudonimo" - -#: templates/part.contact.php:43 templates/part.contact.php:134 -msgid "Web site" -msgstr "Sito web" - -#: templates/part.contact.php:44 -msgid "http://www.somesite.com" -msgstr "http://www.somesite.com" - -#: templates/part.contact.php:44 -msgid "Go to web site" -msgstr "Vai al sito web" - -#: templates/part.contact.php:46 -msgid "dd-mm-yyyy" -msgstr "gg-mm-aaaa" - -#: templates/part.contact.php:47 templates/part.contact.php:135 -msgid "Groups" -msgstr "Gruppi" - -#: templates/part.contact.php:49 -msgid "Separate groups with commas" -msgstr "Separa i gruppi con virgole" - -#: templates/part.contact.php:50 -msgid "Edit groups" -msgstr "Modifica gruppi" - -#: templates/part.contact.php:59 templates/part.contact.php:73 -#: templates/part.contact.php:98 -msgid "Preferred" -msgstr "Preferito" - -#: templates/part.contact.php:60 -msgid "Please specify a valid email address." -msgstr "Specifica un indirizzo email valido" - -#: templates/part.contact.php:60 -msgid "Enter email address" -msgstr "Inserisci indirizzo email" - -#: templates/part.contact.php:64 -msgid "Mail to address" -msgstr "Invia per email" - -#: templates/part.contact.php:65 -msgid "Delete email address" -msgstr "Elimina l'indirizzo email" - -#: templates/part.contact.php:75 -msgid "Enter phone number" -msgstr "Inserisci il numero di telefono" - -#: templates/part.contact.php:79 -msgid "Delete phone number" -msgstr "Elimina il numero di telefono" - -#: templates/part.contact.php:100 -msgid "Instant Messenger" -msgstr "Client di messaggistica istantanea" - -#: templates/part.contact.php:101 -msgid "Delete IM" -msgstr "Elimina IM" - -#: templates/part.contact.php:110 -msgid "View on map" -msgstr "Visualizza sulla mappa" - -#: templates/part.contact.php:110 -msgid "Edit address details" -msgstr "Modifica dettagli dell'indirizzo" - -#: templates/part.contact.php:116 -msgid "Add notes here." -msgstr "Aggiungi qui le note." - -#: templates/part.contact.php:124 -msgid "Add field" -msgstr "Aggiungi campo" - -#: templates/part.contact.php:129 -msgid "Phone" -msgstr "Telefono" - -#: templates/part.contact.php:130 -msgid "Email" -msgstr "Email" - -#: templates/part.contact.php:131 -msgid "Instant Messaging" -msgstr "Messaggistica istantanea" - -#: templates/part.contact.php:132 -msgid "Address" -msgstr "Indirizzo" - -#: templates/part.contact.php:133 -msgid "Note" -msgstr "Nota" - -#: templates/part.contact.php:138 -msgid "Download contact" -msgstr "Scarica contatto" - -#: templates/part.contact.php:139 -msgid "Delete contact" -msgstr "Elimina contatto" - -#: templates/part.cropphoto.php:65 -msgid "The temporary image has been removed from cache." -msgstr "L'immagine temporanea è stata rimossa dalla cache." - -#: templates/part.edit_address_dialog.php:6 -msgid "Edit address" -msgstr "Modifica indirizzo" - -#: templates/part.edit_address_dialog.php:10 -msgid "Type" -msgstr "Tipo" - -#: templates/part.edit_address_dialog.php:18 -#: templates/part.edit_address_dialog.php:21 -msgid "PO Box" -msgstr "Casella postale" - -#: templates/part.edit_address_dialog.php:24 -msgid "Street address" -msgstr "Indirizzo" - -#: templates/part.edit_address_dialog.php:27 -msgid "Street and number" -msgstr "Via e numero" - -#: templates/part.edit_address_dialog.php:30 -msgid "Extended" -msgstr "Esteso" - -#: templates/part.edit_address_dialog.php:33 -msgid "Apartment number etc." -msgstr "Numero appartamento ecc." - -#: templates/part.edit_address_dialog.php:36 -#: templates/part.edit_address_dialog.php:39 -msgid "City" -msgstr "Città" - -#: templates/part.edit_address_dialog.php:42 -msgid "Region" -msgstr "Regione" - -#: templates/part.edit_address_dialog.php:45 -msgid "E.g. state or province" -msgstr "Ad es. stato o provincia" - -#: templates/part.edit_address_dialog.php:48 -msgid "Zipcode" -msgstr "CAP" - -#: templates/part.edit_address_dialog.php:51 -msgid "Postal code" -msgstr "CAP" - -#: templates/part.edit_address_dialog.php:54 -#: templates/part.edit_address_dialog.php:57 -msgid "Country" -msgstr "Stato" - -#: templates/part.edit_name_dialog.php:16 -msgid "Addressbook" -msgstr "Rubrica" - -#: templates/part.edit_name_dialog.php:23 -msgid "Hon. prefixes" -msgstr "Prefissi onorifici" - -#: templates/part.edit_name_dialog.php:27 -msgid "Miss" -msgstr "Sig.na" - -#: templates/part.edit_name_dialog.php:28 -msgid "Ms" -msgstr "Sig.ra" - -#: templates/part.edit_name_dialog.php:29 -msgid "Mr" -msgstr "Sig." - -#: templates/part.edit_name_dialog.php:30 -msgid "Sir" -msgstr "Sig." - -#: templates/part.edit_name_dialog.php:31 -msgid "Mrs" -msgstr "Sig.ra" - -#: templates/part.edit_name_dialog.php:32 -msgid "Dr" -msgstr "Dott." - -#: templates/part.edit_name_dialog.php:35 -msgid "Given name" -msgstr "Nome" - -#: templates/part.edit_name_dialog.php:37 -msgid "Additional names" -msgstr "Nomi aggiuntivi" - -#: templates/part.edit_name_dialog.php:39 -msgid "Family name" -msgstr "Cognome" - -#: templates/part.edit_name_dialog.php:41 -msgid "Hon. suffixes" -msgstr "Suffissi onorifici" - -#: templates/part.edit_name_dialog.php:45 -msgid "J.D." -msgstr "J.D." - -#: templates/part.edit_name_dialog.php:46 -msgid "M.D." -msgstr "M.D." - -#: templates/part.edit_name_dialog.php:47 -msgid "D.O." -msgstr "D.O." - -#: templates/part.edit_name_dialog.php:48 -msgid "D.C." -msgstr "D.C." - -#: templates/part.edit_name_dialog.php:49 -msgid "Ph.D." -msgstr "Ph.D." - -#: templates/part.edit_name_dialog.php:50 -msgid "Esq." -msgstr "Esq." - -#: templates/part.edit_name_dialog.php:51 -msgid "Jr." -msgstr "Jr." - -#: templates/part.edit_name_dialog.php:52 -msgid "Sn." -msgstr "Sn." - -#: templates/part.import.php:1 -msgid "Import a contacts file" -msgstr "Importa un file di contatti" - -#: templates/part.import.php:6 -msgid "Please choose the addressbook" -msgstr "Scegli la rubrica" - -#: templates/part.import.php:10 -msgid "create a new addressbook" -msgstr "crea una nuova rubrica" - -#: templates/part.import.php:15 -msgid "Name of new addressbook" -msgstr "Nome della nuova rubrica" - -#: templates/part.import.php:20 -msgid "Importing contacts" -msgstr "Importazione contatti" - -#: templates/part.no_contacts.php:3 -msgid "You have no contacts in your addressbook." -msgstr "Non hai contatti nella rubrica." - -#: templates/part.no_contacts.php:5 -msgid "Add contact" -msgstr "Aggiungi contatto" - -#: templates/part.selectaddressbook.php:1 -msgid "Select Address Books" -msgstr "Seleziona rubriche" - -#: templates/part.selectaddressbook.php:27 -msgid "Enter name" -msgstr "Inserisci il nome" - -#: templates/part.selectaddressbook.php:29 -msgid "Enter description" -msgstr "Inserisci una descrizione" - -#: templates/settings.php:3 -msgid "CardDAV syncing addresses" -msgstr "Indirizzi di sincronizzazione CardDAV" - -#: templates/settings.php:3 -msgid "more info" -msgstr "altre informazioni" - -#: templates/settings.php:5 -msgid "Primary address (Kontact et al)" -msgstr "Indirizzo principale (Kontact e altri)" - -#: templates/settings.php:7 -msgid "iOS/OS X" -msgstr "iOS/OS X" - -#: templates/settings.php:20 -msgid "Show CardDav link" -msgstr "Mostra collegamento CardDav" - -#: templates/settings.php:23 -msgid "Show read-only VCF link" -msgstr "Mostra collegamento VCF in sola lettura" - -#: templates/settings.php:26 -msgid "Share" -msgstr "Condividi" - -#: templates/settings.php:29 -msgid "Download" -msgstr "Scarica" - -#: templates/settings.php:33 -msgid "Edit" -msgstr "Modifica" - -#: templates/settings.php:43 -msgid "New Address Book" -msgstr "Nuova rubrica" - -#: templates/settings.php:44 -msgid "Name" -msgstr "Nome" - -#: templates/settings.php:45 -msgid "Description" -msgstr "Descrizione" - -#: templates/settings.php:46 -msgid "Save" -msgstr "Salva" - -#: templates/settings.php:47 -msgid "Cancel" -msgstr "Annulla" - -#: templates/settings.php:52 -msgid "More..." -msgstr "Altro..." diff --git a/l10n/it/core.po b/l10n/it/core.po index 656400c8b7d92c64bf6b7bccb7e7df8bc9e81a4f..9dc57ce2eaaf8d89298544a703c161c6303b8e5d 100644 --- a/l10n/it/core.po +++ b/l10n/it/core.po @@ -12,9 +12,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-16 02:04+0200\n" -"PO-Revision-Date: 2012-10-16 00:05+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-11-17 00:01+0100\n" +"PO-Revision-Date: 2012-11-15 23:19+0000\n" +"Last-Translator: Vincenzo Reale \n" "Language-Team: Italian (http://www.transifex.com/projects/p/owncloud/language/it/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -22,209 +22,241 @@ msgstr "" "Language: it\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: ajax/vcategories/add.php:23 ajax/vcategories/delete.php:23 -msgid "Application name not provided." -msgstr "Nome dell'applicazione non fornito." +#: ajax/vcategories/add.php:26 ajax/vcategories/edit.php:25 +msgid "Category type not provided." +msgstr "Tipo di categoria non fornito." -#: ajax/vcategories/add.php:29 +#: ajax/vcategories/add.php:30 msgid "No category to add?" msgstr "Nessuna categoria da aggiungere?" -#: ajax/vcategories/add.php:36 +#: ajax/vcategories/add.php:37 msgid "This category already exists: " msgstr "Questa categoria esiste già: " -#: js/js.js:238 templates/layout.user.php:49 templates/layout.user.php:50 +#: ajax/vcategories/addToFavorites.php:26 ajax/vcategories/delete.php:27 +#: ajax/vcategories/favorites.php:24 +#: ajax/vcategories/removeFromFavorites.php:26 +msgid "Object type not provided." +msgstr "Tipo di oggetto non fornito." + +#: ajax/vcategories/addToFavorites.php:30 +#: ajax/vcategories/removeFromFavorites.php:30 +#, php-format +msgid "%s ID not provided." +msgstr "ID %s non fornito." + +#: ajax/vcategories/addToFavorites.php:35 +#, php-format +msgid "Error adding %s to favorites." +msgstr "Errore durante l'aggiunta di %s ai preferiti." + +#: ajax/vcategories/delete.php:35 js/oc-vcategories.js:136 +msgid "No categories selected for deletion." +msgstr "Nessuna categoria selezionata per l'eliminazione." + +#: ajax/vcategories/removeFromFavorites.php:35 +#, php-format +msgid "Error removing %s from favorites." +msgstr "Errore durante la rimozione di %s dai preferiti." + +#: js/js.js:259 templates/layout.user.php:60 templates/layout.user.php:61 msgid "Settings" msgstr "Impostazioni" -#: js/js.js:670 -msgid "January" -msgstr "Gennaio" +#: js/js.js:704 +msgid "seconds ago" +msgstr "secondi fa" -#: js/js.js:670 -msgid "February" -msgstr "Febbraio" +#: js/js.js:705 +msgid "1 minute ago" +msgstr "Un minuto fa" -#: js/js.js:670 -msgid "March" -msgstr "Marzo" +#: js/js.js:706 +msgid "{minutes} minutes ago" +msgstr "{minutes} minuti fa" -#: js/js.js:670 -msgid "April" -msgstr "Aprile" +#: js/js.js:707 +msgid "1 hour ago" +msgstr "1 ora fa" -#: js/js.js:670 -msgid "May" -msgstr "Maggio" +#: js/js.js:708 +msgid "{hours} hours ago" +msgstr "{hours} ore fa" -#: js/js.js:670 -msgid "June" -msgstr "Giugno" +#: js/js.js:709 +msgid "today" +msgstr "oggi" -#: js/js.js:671 -msgid "July" -msgstr "Luglio" +#: js/js.js:710 +msgid "yesterday" +msgstr "ieri" -#: js/js.js:671 -msgid "August" -msgstr "Agosto" +#: js/js.js:711 +msgid "{days} days ago" +msgstr "{days} giorni fa" -#: js/js.js:671 -msgid "September" -msgstr "Settembre" +#: js/js.js:712 +msgid "last month" +msgstr "mese scorso" -#: js/js.js:671 -msgid "October" -msgstr "Ottobre" +#: js/js.js:713 +msgid "{months} months ago" +msgstr "{months} mesi fa" -#: js/js.js:671 -msgid "November" -msgstr "Novembre" +#: js/js.js:714 +msgid "months ago" +msgstr "mesi fa" -#: js/js.js:671 -msgid "December" -msgstr "Dicembre" +#: js/js.js:715 +msgid "last year" +msgstr "anno scorso" + +#: js/js.js:716 +msgid "years ago" +msgstr "anni fa" -#: js/oc-dialogs.js:123 +#: js/oc-dialogs.js:126 msgid "Choose" msgstr "Scegli" -#: js/oc-dialogs.js:143 js/oc-dialogs.js:163 +#: js/oc-dialogs.js:146 js/oc-dialogs.js:166 msgid "Cancel" msgstr "Annulla" -#: js/oc-dialogs.js:159 +#: js/oc-dialogs.js:162 msgid "No" msgstr "No" -#: js/oc-dialogs.js:160 +#: js/oc-dialogs.js:163 msgid "Yes" msgstr "Sì" -#: js/oc-dialogs.js:177 +#: js/oc-dialogs.js:180 msgid "Ok" msgstr "Ok" -#: js/oc-vcategories.js:68 -msgid "No categories selected for deletion." -msgstr "Nessuna categoria selezionata per l'eliminazione." +#: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102 +#: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162 +msgid "The object type is not specified." +msgstr "Il tipo di oggetto non è specificato." -#: js/oc-vcategories.js:68 js/share.js:114 js/share.js:121 js/share.js:497 -#: js/share.js:509 +#: js/oc-vcategories.js:95 js/oc-vcategories.js:125 js/oc-vcategories.js:136 +#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:525 +#: js/share.js:537 msgid "Error" msgstr "Errore" -#: js/share.js:103 +#: js/oc-vcategories.js:179 +msgid "The app name is not specified." +msgstr "Il nome dell'applicazione non è specificato." + +#: js/oc-vcategories.js:194 +msgid "The required file {file} is not installed!" +msgstr "Il file richiesto {file} non è installato!" + +#: js/share.js:124 msgid "Error while sharing" msgstr "Errore durante la condivisione" -#: js/share.js:114 +#: js/share.js:135 msgid "Error while unsharing" msgstr "Errore durante la rimozione della condivisione" -#: js/share.js:121 +#: js/share.js:142 msgid "Error while changing permissions" msgstr "Errore durante la modifica dei permessi" -#: js/share.js:130 -msgid "Shared with you and the group" -msgstr "Condiviso con te e con il gruppo" - -#: js/share.js:130 -msgid "by" -msgstr "da" +#: js/share.js:151 +msgid "Shared with you and the group {group} by {owner}" +msgstr "Condiviso con te e con il gruppo {group} da {owner}" -#: js/share.js:132 -msgid "Shared with you by" -msgstr "Condiviso con te da" +#: js/share.js:153 +msgid "Shared with you by {owner}" +msgstr "Condiviso con te da {owner}" -#: js/share.js:137 +#: js/share.js:158 msgid "Share with" msgstr "Condividi con" -#: js/share.js:142 +#: js/share.js:163 msgid "Share with link" msgstr "Condividi con collegamento" -#: js/share.js:143 +#: js/share.js:164 msgid "Password protect" msgstr "Proteggi con password" -#: js/share.js:147 templates/installation.php:42 templates/login.php:24 +#: js/share.js:168 templates/installation.php:42 templates/login.php:24 #: templates/verify.php:13 msgid "Password" msgstr "Password" -#: js/share.js:152 +#: js/share.js:173 msgid "Set expiration date" msgstr "Imposta data di scadenza" -#: js/share.js:153 +#: js/share.js:174 msgid "Expiration date" msgstr "Data di scadenza" -#: js/share.js:185 +#: js/share.js:206 msgid "Share via email:" msgstr "Condividi tramite email:" -#: js/share.js:187 +#: js/share.js:208 msgid "No people found" msgstr "Non sono state trovate altre persone" -#: js/share.js:214 +#: js/share.js:235 msgid "Resharing is not allowed" msgstr "La ri-condivisione non è consentita" -#: js/share.js:250 -msgid "Shared in" -msgstr "Condiviso in" - -#: js/share.js:250 -msgid "with" -msgstr "con" - #: js/share.js:271 +msgid "Shared in {item} with {user}" +msgstr "Condiviso in {item} con {user}" + +#: js/share.js:292 msgid "Unshare" msgstr "Rimuovi condivisione" -#: js/share.js:283 +#: js/share.js:304 msgid "can edit" msgstr "può modificare" -#: js/share.js:285 +#: js/share.js:306 msgid "access control" msgstr "controllo d'accesso" -#: js/share.js:288 +#: js/share.js:309 msgid "create" msgstr "creare" -#: js/share.js:291 +#: js/share.js:312 msgid "update" msgstr "aggiornare" -#: js/share.js:294 +#: js/share.js:315 msgid "delete" msgstr "eliminare" -#: js/share.js:297 +#: js/share.js:318 msgid "share" msgstr "condividere" -#: js/share.js:322 js/share.js:484 +#: js/share.js:343 js/share.js:512 js/share.js:514 msgid "Password protected" msgstr "Protetta da password" -#: js/share.js:497 +#: js/share.js:525 msgid "Error unsetting expiration date" msgstr "Errore durante la rimozione della data di scadenza" -#: js/share.js:509 +#: js/share.js:537 msgid "Error setting expiration date" msgstr "Errore durante l'impostazione della data di scadenza" -#: lostpassword/index.php:26 +#: lostpassword/controller.php:47 msgid "ownCloud password reset" msgstr "Ripristino password di ownCloud" @@ -237,12 +269,12 @@ msgid "You will receive a link to reset your password via Email." msgstr "Riceverai un collegamento per ripristinare la tua password via email" #: lostpassword/templates/lostpassword.php:5 -msgid "Requested" -msgstr "Richiesto" +msgid "Reset email send." +msgstr "Email di ripristino inviata." #: lostpassword/templates/lostpassword.php:8 -msgid "Login failed!" -msgstr "Accesso non riuscito!" +msgid "Request failed!" +msgstr "Richiesta non riuscita!" #: lostpassword/templates/lostpassword.php:11 templates/installation.php:38 #: templates/login.php:20 @@ -301,7 +333,7 @@ msgstr "Nuvola non trovata" msgid "Edit categories" msgstr "Modifica le categorie" -#: templates/edit_categories_dialog.php:14 +#: templates/edit_categories_dialog.php:16 msgid "Add" msgstr "Aggiungi" @@ -328,7 +360,7 @@ msgid "" "strongly suggest that you configure your webserver in a way that the data " "directory is no longer accessible or you move the data directory outside the" " webserver document root." -msgstr "" +msgstr "La cartella dei dati e i tuoi file sono probabilmente accessibili da Internet. Il file .htaccess fornito da ownCloud non funziona. Ti suggeriamo vivamente di configurare il server web in modo che la cartella dei dati non sia più accessibile o sposta tale cartella fuori dalla radice del sito." #: templates/installation.php:36 msgid "Create an admin account" @@ -375,27 +407,103 @@ msgstr "Host del database" msgid "Finish setup" msgstr "Termina la configurazione" -#: templates/layout.guest.php:38 +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Sunday" +msgstr "Domenica" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Monday" +msgstr "Lunedì" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Tuesday" +msgstr "Martedì" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Wednesday" +msgstr "Mercoledì" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Thursday" +msgstr "Giovedì" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Friday" +msgstr "Venerdì" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Saturday" +msgstr "Sabato" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "January" +msgstr "Gennaio" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "February" +msgstr "Febbraio" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "March" +msgstr "Marzo" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "April" +msgstr "Aprile" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "May" +msgstr "Maggio" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "June" +msgstr "Giugno" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "July" +msgstr "Luglio" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "August" +msgstr "Agosto" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "September" +msgstr "Settembre" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "October" +msgstr "Ottobre" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "November" +msgstr "Novembre" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "December" +msgstr "Dicembre" + +#: templates/layout.guest.php:42 msgid "web services under your control" msgstr "servizi web nelle tue mani" -#: templates/layout.user.php:34 +#: templates/layout.user.php:45 msgid "Log out" msgstr "Esci" #: templates/login.php:8 msgid "Automatic logon rejected!" -msgstr "" +msgstr "Accesso automatico rifiutato." #: templates/login.php:9 msgid "" "If you did not change your password recently, your account may be " "compromised!" -msgstr "" +msgstr "Se non hai cambiato la password recentemente, il tuo account potrebbe essere stato compromesso." #: templates/login.php:10 msgid "Please change your password to secure your account again." -msgstr "" +msgstr "Cambia la password per rendere nuovamente sicuro il tuo account." #: templates/login.php:15 msgid "Lost your password?" @@ -423,14 +531,14 @@ msgstr "successivo" #: templates/verify.php:5 msgid "Security Warning!" -msgstr "" +msgstr "Avviso di sicurezza" #: templates/verify.php:6 msgid "" "Please verify your password.
For security reasons you may be " "occasionally asked to enter your password again." -msgstr "" +msgstr "Verifica la tua password.
Per motivi di sicurezza, potresti ricevere una richiesta di digitare nuovamente la password." #: templates/verify.php:16 msgid "Verify" -msgstr "" +msgstr "Verifica" diff --git a/l10n/it/files.po b/l10n/it/files.po index 0677f2ddd4413cb5498fc19d3c3340c199c29197..062fa2906fdfbeeaf9fa9acf4373dbf22838a958 100644 --- a/l10n/it/files.po +++ b/l10n/it/files.po @@ -11,8 +11,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-09-27 02:01+0200\n" -"PO-Revision-Date: 2012-09-26 12:00+0000\n" +"POT-Creation-Date: 2012-12-02 00:02+0100\n" +"PO-Revision-Date: 2012-12-01 01:41+0000\n" "Last-Translator: Vincenzo Reale \n" "Language-Team: Italian (http://www.transifex.com/projects/p/owncloud/language/it/)\n" "MIME-Version: 1.0\n" @@ -26,195 +26,166 @@ msgid "There is no error, the file uploaded with success" msgstr "Non ci sono errori, file caricato con successo" #: ajax/upload.php:21 -msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" -msgstr "Il file caricato supera il valore upload_max_filesize in php.ini" +msgid "" +"The uploaded file exceeds the upload_max_filesize directive in php.ini: " +msgstr "Il file caricato supera la direttiva upload_max_filesize in php.ini:" -#: ajax/upload.php:22 +#: ajax/upload.php:23 msgid "" "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " "the HTML form" msgstr "Il file caricato supera il valore MAX_FILE_SIZE definito nel form HTML" -#: ajax/upload.php:23 +#: ajax/upload.php:25 msgid "The uploaded file was only partially uploaded" msgstr "Il file è stato parzialmente caricato" -#: ajax/upload.php:24 +#: ajax/upload.php:26 msgid "No file was uploaded" msgstr "Nessun file è stato caricato" -#: ajax/upload.php:25 +#: ajax/upload.php:27 msgid "Missing a temporary folder" msgstr "Cartella temporanea mancante" -#: ajax/upload.php:26 +#: ajax/upload.php:28 msgid "Failed to write to disk" msgstr "Scrittura su disco non riuscita" -#: appinfo/app.php:6 +#: appinfo/app.php:10 msgid "Files" msgstr "File" -#: js/fileactions.js:108 templates/index.php:62 +#: js/fileactions.js:117 templates/index.php:83 templates/index.php:84 msgid "Unshare" msgstr "Rimuovi condivisione" -#: js/fileactions.js:110 templates/index.php:64 +#: js/fileactions.js:119 templates/index.php:89 templates/index.php:90 msgid "Delete" msgstr "Elimina" -#: js/fileactions.js:182 +#: js/fileactions.js:181 msgid "Rename" msgstr "Rinomina" -#: js/filelist.js:190 js/filelist.js:192 -msgid "already exists" -msgstr "esiste già" +#: js/filelist.js:201 js/filelist.js:203 +msgid "{new_name} already exists" +msgstr "{new_name} esiste già" -#: js/filelist.js:190 js/filelist.js:192 +#: js/filelist.js:201 js/filelist.js:203 msgid "replace" msgstr "sostituisci" -#: js/filelist.js:190 +#: js/filelist.js:201 msgid "suggest name" msgstr "suggerisci nome" -#: js/filelist.js:190 js/filelist.js:192 +#: js/filelist.js:201 js/filelist.js:203 msgid "cancel" msgstr "annulla" -#: js/filelist.js:239 js/filelist.js:241 -msgid "replaced" -msgstr "sostituito" +#: js/filelist.js:250 +msgid "replaced {new_name}" +msgstr "sostituito {new_name}" -#: js/filelist.js:239 js/filelist.js:241 js/filelist.js:273 js/filelist.js:275 +#: js/filelist.js:250 js/filelist.js:252 js/filelist.js:284 js/filelist.js:286 msgid "undo" msgstr "annulla" -#: js/filelist.js:241 -msgid "with" -msgstr "con" +#: js/filelist.js:252 +msgid "replaced {new_name} with {old_name}" +msgstr "sostituito {new_name} con {old_name}" + +#: js/filelist.js:284 +msgid "unshared {files}" +msgstr "non condivisi {files}" -#: js/filelist.js:273 -msgid "unshared" -msgstr "condivisione rimossa" +#: js/filelist.js:286 +msgid "deleted {files}" +msgstr "eliminati {files}" -#: js/filelist.js:275 -msgid "deleted" -msgstr "eliminati" +#: js/files.js:33 +msgid "" +"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not " +"allowed." +msgstr "Nome non valido, '\\', '/', '<', '>', ':', '\"', '|', '?' e '*' non sono consentiti." -#: js/files.js:179 +#: js/files.js:183 msgid "generating ZIP-file, it may take some time." msgstr "creazione file ZIP, potrebbe richiedere del tempo." -#: js/files.js:208 +#: js/files.js:218 msgid "Unable to upload your file as it is a directory or has 0 bytes" msgstr "Impossibile inviare il file poiché è una cartella o ha dimensione 0 byte" -#: js/files.js:208 +#: js/files.js:218 msgid "Upload Error" msgstr "Errore di invio" -#: js/files.js:236 js/files.js:341 js/files.js:371 +#: js/files.js:235 +msgid "Close" +msgstr "Chiudi" + +#: js/files.js:254 js/files.js:368 js/files.js:398 msgid "Pending" msgstr "In corso" -#: js/files.js:256 +#: js/files.js:274 msgid "1 file uploading" msgstr "1 file in fase di caricamento" -#: js/files.js:259 js/files.js:304 js/files.js:319 -msgid "files uploading" -msgstr "file in fase di caricamento" +#: js/files.js:277 js/files.js:331 js/files.js:346 +msgid "{count} files uploading" +msgstr "{count} file in fase di caricamentoe" -#: js/files.js:322 js/files.js:355 +#: js/files.js:349 js/files.js:382 msgid "Upload cancelled." msgstr "Invio annullato" -#: js/files.js:424 +#: js/files.js:451 msgid "" "File upload is in progress. Leaving the page now will cancel the upload." msgstr "Caricamento del file in corso. La chiusura della pagina annullerà il caricamento." -#: js/files.js:494 -msgid "Invalid name, '/' is not allowed." -msgstr "Nome non valido" +#: js/files.js:523 +msgid "Invalid folder name. Usage of \"Shared\" is reserved by Owncloud" +msgstr "Nome della cartella non valido. L'uso di \"Shared\" è riservato a ownCloud" -#: js/files.js:668 -msgid "files scanned" -msgstr "file analizzati" +#: js/files.js:704 +msgid "{count} files scanned" +msgstr "{count} file analizzati" -#: js/files.js:676 +#: js/files.js:712 msgid "error while scanning" msgstr "errore durante la scansione" -#: js/files.js:749 templates/index.php:48 +#: js/files.js:785 templates/index.php:65 msgid "Name" msgstr "Nome" -#: js/files.js:750 templates/index.php:56 +#: js/files.js:786 templates/index.php:76 msgid "Size" msgstr "Dimensione" -#: js/files.js:751 templates/index.php:58 +#: js/files.js:787 templates/index.php:78 msgid "Modified" msgstr "Modificato" -#: js/files.js:778 -msgid "folder" -msgstr "cartella" - -#: js/files.js:780 -msgid "folders" -msgstr "cartelle" - -#: js/files.js:788 -msgid "file" -msgstr "file" - -#: js/files.js:790 -msgid "files" -msgstr "file" - -#: js/files.js:834 -msgid "seconds ago" -msgstr "secondi fa" - -#: js/files.js:835 -msgid "minute ago" -msgstr "minuto fa" - -#: js/files.js:836 -msgid "minutes ago" -msgstr "minuti fa" +#: js/files.js:814 +msgid "1 folder" +msgstr "1 cartella" -#: js/files.js:839 -msgid "today" -msgstr "oggi" +#: js/files.js:816 +msgid "{count} folders" +msgstr "{count} cartelle" -#: js/files.js:840 -msgid "yesterday" -msgstr "ieri" +#: js/files.js:824 +msgid "1 file" +msgstr "1 file" -#: js/files.js:841 -msgid "days ago" -msgstr "giorni fa" - -#: js/files.js:842 -msgid "last month" -msgstr "mese scorso" - -#: js/files.js:844 -msgid "months ago" -msgstr "mesi fa" - -#: js/files.js:845 -msgid "last year" -msgstr "anno scorso" - -#: js/files.js:846 -msgid "years ago" -msgstr "anni fa" +#: js/files.js:826 +msgid "{count} files" +msgstr "{count} file" #: templates/admin.php:5 msgid "File handling" @@ -224,27 +195,27 @@ msgstr "Gestione file" msgid "Maximum upload size" msgstr "Dimensione massima upload" -#: templates/admin.php:7 +#: templates/admin.php:9 msgid "max. possible: " msgstr "numero mass.: " -#: templates/admin.php:9 +#: templates/admin.php:12 msgid "Needed for multi-file and folder downloads." msgstr "Necessario per lo scaricamento di file multipli e cartelle." -#: templates/admin.php:9 +#: templates/admin.php:14 msgid "Enable ZIP-download" msgstr "Abilita scaricamento ZIP" -#: templates/admin.php:11 +#: templates/admin.php:17 msgid "0 is unlimited" msgstr "0 è illimitato" -#: templates/admin.php:12 +#: templates/admin.php:19 msgid "Maximum input size for ZIP files" msgstr "Dimensione massima per i file ZIP" -#: templates/admin.php:14 +#: templates/admin.php:23 msgid "Save" msgstr "Salva" @@ -252,52 +223,48 @@ msgstr "Salva" msgid "New" msgstr "Nuovo" -#: templates/index.php:9 +#: templates/index.php:10 msgid "Text file" msgstr "File di testo" -#: templates/index.php:10 +#: templates/index.php:12 msgid "Folder" msgstr "Cartella" -#: templates/index.php:11 -msgid "From url" -msgstr "Da URL" +#: templates/index.php:14 +msgid "From link" +msgstr "Da collegamento" -#: templates/index.php:20 +#: templates/index.php:35 msgid "Upload" msgstr "Carica" -#: templates/index.php:27 +#: templates/index.php:43 msgid "Cancel upload" msgstr "Annulla invio" -#: templates/index.php:40 +#: templates/index.php:57 msgid "Nothing in here. Upload something!" msgstr "Non c'è niente qui. Carica qualcosa!" -#: templates/index.php:50 -msgid "Share" -msgstr "Condividi" - -#: templates/index.php:52 +#: templates/index.php:71 msgid "Download" msgstr "Scarica" -#: templates/index.php:75 +#: templates/index.php:103 msgid "Upload too large" msgstr "Il file caricato è troppo grande" -#: templates/index.php:77 +#: templates/index.php:105 msgid "" "The files you are trying to upload exceed the maximum size for file uploads " "on this server." msgstr "I file che stai provando a caricare superano la dimensione massima consentita su questo server." -#: templates/index.php:82 +#: templates/index.php:110 msgid "Files are being scanned, please wait." msgstr "Scansione dei file in corso, attendi" -#: templates/index.php:85 +#: templates/index.php:113 msgid "Current scanning" msgstr "Scansione corrente" diff --git a/l10n/it/files_external.po b/l10n/it/files_external.po index bcae09b3e0f3de1a3a5d41eb5314d237713a0a21..8b98af50d48aaf246a2cbc40fd5f95d616937d36 100644 --- a/l10n/it/files_external.po +++ b/l10n/it/files_external.po @@ -9,9 +9,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-04 02:04+0200\n" -"PO-Revision-Date: 2012-10-03 05:50+0000\n" -"Last-Translator: Vincenzo Reale \n" +"POT-Creation-Date: 2012-12-12 00:12+0100\n" +"PO-Revision-Date: 2012-12-11 23:13+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Italian (http://www.transifex.com/projects/p/owncloud/language/it/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -43,66 +43,80 @@ msgstr "Fornisci chiave di applicazione e segreto di Dropbox validi." msgid "Error configuring Google Drive storage" msgstr "Errore durante la configurazione dell'archivio Google Drive" +#: lib/config.php:434 +msgid "" +"Warning: \"smbclient\" is not installed. Mounting of CIFS/SMB shares " +"is not possible. Please ask your system administrator to install it." +msgstr "" + +#: lib/config.php:435 +msgid "" +"Warning: The FTP support in PHP is not enabled or installed. Mounting" +" of FTP shares is not possible. Please ask your system administrator to " +"install it." +msgstr "" + #: templates/settings.php:3 msgid "External Storage" msgstr "Archiviazione esterna" -#: templates/settings.php:7 templates/settings.php:19 +#: templates/settings.php:8 templates/settings.php:22 msgid "Mount point" msgstr "Punto di mount" -#: templates/settings.php:8 +#: templates/settings.php:9 msgid "Backend" msgstr "Motore" -#: templates/settings.php:9 +#: templates/settings.php:10 msgid "Configuration" msgstr "Configurazione" -#: templates/settings.php:10 +#: templates/settings.php:11 msgid "Options" msgstr "Opzioni" -#: templates/settings.php:11 +#: templates/settings.php:12 msgid "Applicable" msgstr "Applicabile" -#: templates/settings.php:23 +#: templates/settings.php:27 msgid "Add mount point" msgstr "Aggiungi punto di mount" -#: templates/settings.php:54 templates/settings.php:62 +#: templates/settings.php:85 msgid "None set" msgstr "Nessuna impostazione" -#: templates/settings.php:63 +#: templates/settings.php:86 msgid "All Users" msgstr "Tutti gli utenti" -#: templates/settings.php:64 +#: templates/settings.php:87 msgid "Groups" msgstr "Gruppi" -#: templates/settings.php:69 +#: templates/settings.php:95 msgid "Users" msgstr "Utenti" -#: templates/settings.php:77 templates/settings.php:107 +#: templates/settings.php:108 templates/settings.php:109 +#: templates/settings.php:149 templates/settings.php:150 msgid "Delete" msgstr "Elimina" -#: templates/settings.php:87 +#: templates/settings.php:124 msgid "Enable User External Storage" msgstr "Abilita la memoria esterna dell'utente" -#: templates/settings.php:88 +#: templates/settings.php:125 msgid "Allow users to mount their own external storage" msgstr "Consenti agli utenti di montare la propria memoria esterna" -#: templates/settings.php:99 +#: templates/settings.php:139 msgid "SSL root certificates" msgstr "Certificati SSL radice" -#: templates/settings.php:113 +#: templates/settings.php:158 msgid "Import Root Certificate" msgstr "Importa certificato radice" diff --git a/l10n/it/files_pdfviewer.po b/l10n/it/files_pdfviewer.po deleted file mode 100644 index 3f4595ffe2ae31a8227be4728aa0a3b6fd114980..0000000000000000000000000000000000000000 --- a/l10n/it/files_pdfviewer.po +++ /dev/null @@ -1,42 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 02:18+0200\n" -"PO-Revision-Date: 2012-08-26 00:19+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Italian (http://www.transifex.com/projects/p/owncloud/language/it/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: it\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: js/viewer.js:22 -msgid "Previous" -msgstr "" - -#: js/viewer.js:23 -msgid "Next" -msgstr "" - -#: js/viewer.js:29 -msgid "Page Width" -msgstr "" - -#: js/viewer.js:29 -msgid "Page Fit" -msgstr "" - -#: js/viewer.js:30 -msgid "Print" -msgstr "" - -#: js/viewer.js:32 -msgid "Download" -msgstr "" diff --git a/l10n/it/files_texteditor.po b/l10n/it/files_texteditor.po deleted file mode 100644 index 747a70244c9b70207b4194695f929d2e45e06cdc..0000000000000000000000000000000000000000 --- a/l10n/it/files_texteditor.po +++ /dev/null @@ -1,44 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 01:17+0200\n" -"PO-Revision-Date: 2012-08-25 23:18+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Italian (http://www.transifex.com/projects/p/owncloud/language/it/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: it\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: js/aceeditor/mode-coldfusion-uncompressed.js:1568 -#: js/aceeditor/mode-liquid-uncompressed.js:902 -#: js/aceeditor/mode-svg-uncompressed.js:1575 -msgid "regex" -msgstr "" - -#: js/editor.js:72 js/editor.js:156 js/editor.js:163 -msgid "Save" -msgstr "" - -#: js/editor.js:74 -msgid "Close" -msgstr "" - -#: js/editor.js:149 -msgid "Saving..." -msgstr "" - -#: js/editor.js:239 -msgid "An error occurred!" -msgstr "" - -#: js/editor.js:266 -msgid "There were unsaved changes, click here to go back" -msgstr "" diff --git a/l10n/it/gallery.po b/l10n/it/gallery.po deleted file mode 100644 index d60292cea1537bd7530717aa8e24b52750ba1762..0000000000000000000000000000000000000000 --- a/l10n/it/gallery.po +++ /dev/null @@ -1,61 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# , 2012. -# , 2012. -# Vincenzo Reale , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-07-26 02:01+0200\n" -"PO-Revision-Date: 2012-07-25 20:36+0000\n" -"Last-Translator: Vincenzo Reale \n" -"Language-Team: Italian (http://www.transifex.com/projects/p/owncloud/language/it/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: it\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: appinfo/app.php:39 -msgid "Pictures" -msgstr "Immagini" - -#: js/pictures.js:12 -msgid "Share gallery" -msgstr "Condividi la galleria" - -#: js/pictures.js:32 -msgid "Error: " -msgstr "Errore: " - -#: js/pictures.js:32 -msgid "Internal error" -msgstr "Errore interno" - -#: templates/index.php:27 -msgid "Slideshow" -msgstr "Presentazione" - -#: templates/view_album.php:19 -msgid "Back" -msgstr "Indietro" - -#: templates/view_album.php:36 -msgid "Remove confirmation" -msgstr "Rimuovi conferma" - -#: templates/view_album.php:37 -msgid "Do you want to remove album" -msgstr "Vuoi rimuovere l'album" - -#: templates/view_album.php:40 -msgid "Change album name" -msgstr "Cambia il nome dell'album" - -#: templates/view_album.php:43 -msgid "New album name" -msgstr "Nuovo nome dell'album" diff --git a/l10n/it/impress.po b/l10n/it/impress.po deleted file mode 100644 index 31e6171b4d5c95c985f7d2e8cc6f12adfb6ab26a..0000000000000000000000000000000000000000 --- a/l10n/it/impress.po +++ /dev/null @@ -1,22 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 01:17+0200\n" -"PO-Revision-Date: 2012-08-25 23:18+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Italian (http://www.transifex.com/projects/p/owncloud/language/it/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: it\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: templates/presentations.php:7 -msgid "Documentation" -msgstr "" diff --git a/l10n/it/lib.po b/l10n/it/lib.po index c8853c8257d6634c00ebe552488a41a42dc768ef..093eca463d15c92df299c1dc0b90561068dc7b82 100644 --- a/l10n/it/lib.po +++ b/l10n/it/lib.po @@ -8,53 +8,53 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-09-01 13:35+0200\n" -"PO-Revision-Date: 2012-09-01 08:39+0000\n" +"POT-Creation-Date: 2012-11-17 00:01+0100\n" +"PO-Revision-Date: 2012-11-15 23:21+0000\n" "Last-Translator: Vincenzo Reale \n" "Language-Team: Italian (http://www.transifex.com/projects/p/owncloud/language/it/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: it\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: app.php:288 +#: app.php:285 msgid "Help" msgstr "Aiuto" -#: app.php:295 +#: app.php:292 msgid "Personal" msgstr "Personale" -#: app.php:300 +#: app.php:297 msgid "Settings" msgstr "Impostazioni" -#: app.php:305 +#: app.php:302 msgid "Users" msgstr "Utenti" -#: app.php:312 +#: app.php:309 msgid "Apps" msgstr "Applicazioni" -#: app.php:314 +#: app.php:311 msgid "Admin" msgstr "Admin" -#: files.php:280 +#: files.php:332 msgid "ZIP download is turned off." msgstr "Lo scaricamento in formato ZIP è stato disabilitato." -#: files.php:281 +#: files.php:333 msgid "Files need to be downloaded one by one." msgstr "I file devono essere scaricati uno alla volta." -#: files.php:281 files.php:306 +#: files.php:333 files.php:358 msgid "Back to Files" msgstr "Torna ai file" -#: files.php:305 +#: files.php:357 msgid "Selected files too large to generate zip file." msgstr "I file selezionati sono troppo grandi per generare un file zip." @@ -62,7 +62,7 @@ msgstr "I file selezionati sono troppo grandi per generare un file zip." msgid "Application is not enabled" msgstr "L'applicazione non è abilitata" -#: json.php:39 json.php:63 json.php:75 +#: json.php:39 json.php:64 json.php:77 json.php:89 msgid "Authentication error" msgstr "Errore di autenticazione" @@ -70,57 +70,84 @@ msgstr "Errore di autenticazione" msgid "Token expired. Please reload page." msgstr "Token scaduto. Ricarica la pagina." -#: template.php:86 +#: search/provider/file.php:17 search/provider/file.php:35 +msgid "Files" +msgstr "File" + +#: search/provider/file.php:26 search/provider/file.php:33 +msgid "Text" +msgstr "Testo" + +#: search/provider/file.php:29 +msgid "Images" +msgstr "Immagini" + +#: template.php:103 msgid "seconds ago" msgstr "secondi fa" -#: template.php:87 +#: template.php:104 msgid "1 minute ago" msgstr "1 minuto fa" -#: template.php:88 +#: template.php:105 #, php-format msgid "%d minutes ago" msgstr "%d minuti fa" -#: template.php:91 +#: template.php:106 +msgid "1 hour ago" +msgstr "1 ora fa" + +#: template.php:107 +#, php-format +msgid "%d hours ago" +msgstr "%d ore fa" + +#: template.php:108 msgid "today" msgstr "oggi" -#: template.php:92 +#: template.php:109 msgid "yesterday" msgstr "ieri" -#: template.php:93 +#: template.php:110 #, php-format msgid "%d days ago" msgstr "%d giorni fa" -#: template.php:94 +#: template.php:111 msgid "last month" msgstr "il mese scorso" -#: template.php:95 -msgid "months ago" -msgstr "mesi fa" +#: template.php:112 +#, php-format +msgid "%d months ago" +msgstr "%d mesi fa" -#: template.php:96 +#: template.php:113 msgid "last year" msgstr "l'anno scorso" -#: template.php:97 +#: template.php:114 msgid "years ago" msgstr "anni fa" -#: updater.php:66 +#: updater.php:75 #, php-format msgid "%s is available. Get more information" msgstr "%s è disponibile. Ottieni ulteriori informazioni" -#: updater.php:68 +#: updater.php:77 msgid "up to date" msgstr "aggiornato" -#: updater.php:71 +#: updater.php:80 msgid "updates check is disabled" msgstr "il controllo degli aggiornamenti è disabilitato" + +#: vcategories.php:188 vcategories.php:249 +#, php-format +msgid "Could not find category \"%s\"" +msgstr "Impossibile trovare la categoria \"%s\"" diff --git a/l10n/it/media.po b/l10n/it/media.po deleted file mode 100644 index 054877623e527c5f31800df75a4bd0e976780876..0000000000000000000000000000000000000000 --- a/l10n/it/media.po +++ /dev/null @@ -1,69 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Francesco Apruzzese , 2011. -# , 2011. -# Vincenzo Reale , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-06-06 00:12+0200\n" -"PO-Revision-Date: 2012-06-05 22:15+0000\n" -"Last-Translator: icewind \n" -"Language-Team: Italian (http://www.transifex.net/projects/p/owncloud/language/it/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: it\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: appinfo/app.php:32 templates/player.php:8 -msgid "Music" -msgstr "Musica" - -#: js/music.js:18 -msgid "Add album to playlist" -msgstr "" - -#: templates/music.php:3 templates/player.php:12 -msgid "Play" -msgstr "Riproduci" - -#: templates/music.php:4 templates/music.php:26 templates/player.php:13 -msgid "Pause" -msgstr "Pausa" - -#: templates/music.php:5 -msgid "Previous" -msgstr "Precedente" - -#: templates/music.php:6 templates/player.php:14 -msgid "Next" -msgstr "Successivo" - -#: templates/music.php:7 -msgid "Mute" -msgstr "Disattiva audio" - -#: templates/music.php:8 -msgid "Unmute" -msgstr "Riattiva audio" - -#: templates/music.php:25 -msgid "Rescan Collection" -msgstr "Nuova scansione collezione" - -#: templates/music.php:37 -msgid "Artist" -msgstr "Artista" - -#: templates/music.php:38 -msgid "Album" -msgstr "Album" - -#: templates/music.php:39 -msgid "Title" -msgstr "Titolo" diff --git a/l10n/it/settings.po b/l10n/it/settings.po index b79343b9d118e50799f89acbc3d404a88f7c996f..2313377614a5c57c7a40de49c002f48cbe2d1392 100644 --- a/l10n/it/settings.po +++ b/l10n/it/settings.po @@ -14,8 +14,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-10 02:05+0200\n" -"PO-Revision-Date: 2012-10-09 00:10+0000\n" +"POT-Creation-Date: 2012-12-03 00:04+0100\n" +"PO-Revision-Date: 2012-12-02 03:18+0000\n" "Last-Translator: Vincenzo Reale \n" "Language-Team: Italian (http://www.transifex.com/projects/p/owncloud/language/it/)\n" "MIME-Version: 1.0\n" @@ -24,70 +24,73 @@ msgstr "" "Language: it\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: ajax/apps/ocs.php:23 +#: ajax/apps/ocs.php:20 msgid "Unable to load list from App Store" msgstr "Impossibile caricare l'elenco dall'App Store" -#: ajax/creategroup.php:9 ajax/removeuser.php:13 ajax/setquota.php:18 -#: ajax/togglegroups.php:15 -msgid "Authentication error" -msgstr "Errore di autenticazione" - -#: ajax/creategroup.php:19 +#: ajax/creategroup.php:10 msgid "Group already exists" msgstr "Il gruppo esiste già" -#: ajax/creategroup.php:28 +#: ajax/creategroup.php:19 msgid "Unable to add group" msgstr "Impossibile aggiungere il gruppo" -#: ajax/enableapp.php:14 +#: ajax/enableapp.php:12 msgid "Could not enable app. " msgstr "Impossibile abilitare l'applicazione." -#: ajax/lostpassword.php:14 +#: ajax/lostpassword.php:12 msgid "Email saved" msgstr "Email salvata" -#: ajax/lostpassword.php:16 +#: ajax/lostpassword.php:14 msgid "Invalid email" msgstr "Email non valida" -#: ajax/openid.php:16 +#: ajax/openid.php:13 msgid "OpenID Changed" msgstr "OpenID modificato" -#: ajax/openid.php:18 ajax/setlanguage.php:20 ajax/setlanguage.php:23 +#: ajax/openid.php:15 ajax/setlanguage.php:17 ajax/setlanguage.php:20 msgid "Invalid request" msgstr "Richiesta non valida" -#: ajax/removegroup.php:16 +#: ajax/removegroup.php:13 msgid "Unable to delete group" msgstr "Impossibile eliminare il gruppo" -#: ajax/removeuser.php:22 +#: ajax/removeuser.php:15 ajax/setquota.php:15 ajax/togglegroups.php:18 +msgid "Authentication error" +msgstr "Errore di autenticazione" + +#: ajax/removeuser.php:24 msgid "Unable to delete user" msgstr "Impossibile eliminare l'utente" -#: ajax/setlanguage.php:18 +#: ajax/setlanguage.php:15 msgid "Language changed" msgstr "Lingua modificata" -#: ajax/togglegroups.php:25 +#: ajax/togglegroups.php:12 +msgid "Admins can't remove themself from the admin group" +msgstr "Gli amministratori non possono rimuovere se stessi dal gruppo di amministrazione" + +#: ajax/togglegroups.php:28 #, php-format msgid "Unable to add user to group %s" msgstr "Impossibile aggiungere l'utente al gruppo %s" -#: ajax/togglegroups.php:31 +#: ajax/togglegroups.php:34 #, php-format msgid "Unable to remove user from group %s" msgstr "Impossibile rimuovere l'utente dal gruppo %s" -#: js/apps.js:28 js/apps.js:65 +#: js/apps.js:28 js/apps.js:67 msgid "Disable" msgstr "Disabilita" -#: js/apps.js:28 js/apps.js:54 +#: js/apps.js:28 js/apps.js:55 msgid "Enable" msgstr "Abilita" @@ -95,97 +98,10 @@ msgstr "Abilita" msgid "Saving..." msgstr "Salvataggio in corso..." -#: personal.php:47 personal.php:48 +#: personal.php:42 personal.php:43 msgid "__language_name__" msgstr "Italiano" -#: templates/admin.php:14 -msgid "Security Warning" -msgstr "Avviso di sicurezza" - -#: templates/admin.php:17 -msgid "" -"Your data directory and your files are probably accessible from the " -"internet. The .htaccess file that ownCloud provides is not working. We " -"strongly suggest that you configure your webserver in a way that the data " -"directory is no longer accessible or you move the data directory outside the" -" webserver document root." -msgstr "La cartella dei dati e i tuoi file sono probabilmente accessibili da Internet.\nIl file .htaccess fornito da ownCloud non funziona. Ti consigliamo vivamente di configurare il server web in modo che la cartella dei dati non sia più accessibile e spostare la cartella fuori dalla radice del server web." - -#: templates/admin.php:31 -msgid "Cron" -msgstr "Cron" - -#: templates/admin.php:37 -msgid "Execute one task with each page loaded" -msgstr "Esegui un'operazione per ogni pagina caricata" - -#: templates/admin.php:43 -msgid "" -"cron.php is registered at a webcron service. Call the cron.php page in the " -"owncloud root once a minute over http." -msgstr "cron.php è registrato su un servizio webcron. Chiama la pagina cron.php nella radice di owncloud ogni minuto su http." - -#: templates/admin.php:49 -msgid "" -"Use systems cron service. Call the cron.php file in the owncloud folder via " -"a system cronjob once a minute." -msgstr "Usa il servizio cron di sistema. Chiama il file cron.php nella cartella di owncloud tramite una pianificazione del cron di sistema ogni minuto." - -#: templates/admin.php:56 -msgid "Sharing" -msgstr "Condivisione" - -#: templates/admin.php:61 -msgid "Enable Share API" -msgstr "Abilita API di condivisione" - -#: templates/admin.php:62 -msgid "Allow apps to use the Share API" -msgstr "Consenti alle applicazioni di utilizzare le API di condivisione" - -#: templates/admin.php:67 -msgid "Allow links" -msgstr "Consenti collegamenti" - -#: templates/admin.php:68 -msgid "Allow users to share items to the public with links" -msgstr "Consenti agli utenti di condividere elementi al pubblico con collegamenti" - -#: templates/admin.php:73 -msgid "Allow resharing" -msgstr "Consenti la ri-condivisione" - -#: templates/admin.php:74 -msgid "Allow users to share items shared with them again" -msgstr "Consenti agli utenti di condividere elementi già condivisi" - -#: templates/admin.php:79 -msgid "Allow users to share with anyone" -msgstr "Consenti agli utenti di condividere con chiunque" - -#: templates/admin.php:81 -msgid "Allow users to only share with users in their groups" -msgstr "Consenti agli utenti di condividere con gli utenti del proprio gruppo" - -#: templates/admin.php:88 -msgid "Log" -msgstr "Registro" - -#: templates/admin.php:116 -msgid "More" -msgstr "Altro" - -#: templates/admin.php:124 -msgid "" -"Developed by the ownCloud community, the source code is " -"licensed under the AGPL." -msgstr "Sviluppato dalla comunità di ownCloud, il codice sorgente è licenziato nei termini della AGPL." - #: templates/apps.php:10 msgid "Add your App" msgstr "Aggiungi la tua applicazione" @@ -218,22 +134,22 @@ msgstr "Gestione file grandi" msgid "Ask a question" msgstr "Fai una domanda" -#: templates/help.php:23 +#: templates/help.php:22 msgid "Problems connecting to help database." msgstr "Problemi di connessione al database di supporto." -#: templates/help.php:24 +#: templates/help.php:23 msgid "Go there manually." msgstr "Raggiungilo manualmente." -#: templates/help.php:32 +#: templates/help.php:31 msgid "Answer" msgstr "Risposta" #: templates/personal.php:8 #, php-format -msgid "You have used %s of the available %s" -msgstr "Hai utilizzato %s dei %s disponibili" +msgid "You have used %s of the available %s" +msgstr "Hai utilizzato %s dei %s disponibili" #: templates/personal.php:12 msgid "Desktop and Mobile Syncing Clients" @@ -291,6 +207,16 @@ msgstr "Migliora la traduzione" msgid "use this address to connect to your ownCloud in your file manager" msgstr "usa questo indirizzo per connetterti al tuo ownCloud dal gestore file" +#: templates/personal.php:61 +msgid "" +"Developed by the ownCloud community, the source code is " +"licensed under the AGPL." +msgstr "Sviluppato dalla comunità di ownCloud, il codice sorgente è licenziato nei termini della AGPL." + #: templates/users.php:21 templates/users.php:76 msgid "Name" msgstr "Nome" diff --git a/l10n/it/tasks.po b/l10n/it/tasks.po deleted file mode 100644 index 6e5f07a0873a6d896cec5ecee4ec28ee3c549c86..0000000000000000000000000000000000000000 --- a/l10n/it/tasks.po +++ /dev/null @@ -1,107 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Vincenzo Reale , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-19 02:02+0200\n" -"PO-Revision-Date: 2012-08-18 06:00+0000\n" -"Last-Translator: Vincenzo Reale \n" -"Language-Team: Italian (http://www.transifex.com/projects/p/owncloud/language/it/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: it\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: ajax/update_property.php:51 lib/app.php:89 lib/app.php:101 -msgid "Invalid date/time" -msgstr "Ora/Data non valida" - -#: appinfo/app.php:11 -msgid "Tasks" -msgstr "Attività" - -#: js/tasks.js:415 -msgid "No category" -msgstr "Nessuna categoria" - -#: lib/app.php:33 -msgid "Unspecified" -msgstr "Non specificata" - -#: lib/app.php:34 -msgid "1=highest" -msgstr "1=massima" - -#: lib/app.php:38 -msgid "5=medium" -msgstr "5=media" - -#: lib/app.php:42 -msgid "9=lowest" -msgstr "9=minima" - -#: lib/app.php:81 -msgid "Empty Summary" -msgstr "Riepilogo vuoto" - -#: lib/app.php:93 -msgid "Invalid percent complete" -msgstr "Percentuale di completamento non valida" - -#: lib/app.php:107 -msgid "Invalid priority" -msgstr "Priorità non valida" - -#: templates/tasks.php:3 -msgid "Add Task" -msgstr "Aggiungi attività" - -#: templates/tasks.php:4 -msgid "Order Due" -msgstr "Ordina per scadenza" - -#: templates/tasks.php:5 -msgid "Order List" -msgstr "Ordina per elenco" - -#: templates/tasks.php:6 -msgid "Order Complete" -msgstr "Ordina per completamento" - -#: templates/tasks.php:7 -msgid "Order Location" -msgstr "Ordina per posizione" - -#: templates/tasks.php:8 -msgid "Order Priority" -msgstr "Ordina per priorità" - -#: templates/tasks.php:9 -msgid "Order Label" -msgstr "Ordina per etichetta" - -#: templates/tasks.php:16 -msgid "Loading tasks..." -msgstr "Caricamento attività in corso..." - -#: templates/tasks.php:20 -msgid "Important" -msgstr "Importante" - -#: templates/tasks.php:23 -msgid "More" -msgstr "Più" - -#: templates/tasks.php:26 -msgid "Less" -msgstr "Meno" - -#: templates/tasks.php:29 -msgid "Delete" -msgstr "Elimina" diff --git a/l10n/it/user_migrate.po b/l10n/it/user_migrate.po deleted file mode 100644 index 9c918e027c5d5e582879d7344ce534ad7050ee63..0000000000000000000000000000000000000000 --- a/l10n/it/user_migrate.po +++ /dev/null @@ -1,52 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Vincenzo Reale , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-15 02:03+0200\n" -"PO-Revision-Date: 2012-08-14 11:55+0000\n" -"Last-Translator: Vincenzo Reale \n" -"Language-Team: Italian (http://www.transifex.com/projects/p/owncloud/language/it/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: it\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: js/export.js:14 js/export.js:20 -msgid "Export" -msgstr "Esporta" - -#: js/export.js:19 -msgid "Something went wrong while the export file was being generated" -msgstr "Si è verificato un errore durante la creazione del file di esportazione" - -#: js/export.js:19 -msgid "An error has occurred" -msgstr "Si è verificato un errore" - -#: templates/settings.php:2 -msgid "Export your user account" -msgstr "Esporta il tuo account utente" - -#: templates/settings.php:3 -msgid "" -"This will create a compressed file that contains your ownCloud account." -msgstr "Questa operazione creerà un file compresso che contiene il tuo account ownCloud." - -#: templates/settings.php:13 -msgid "Import user account" -msgstr "Importa account utente" - -#: templates/settings.php:15 -msgid "ownCloud User Zip" -msgstr "Zip account utente" - -#: templates/settings.php:17 -msgid "Import" -msgstr "Importa" diff --git a/l10n/it/user_openid.po b/l10n/it/user_openid.po deleted file mode 100644 index b8036426bc97f4123f5cb241a04bf2a13c895d70..0000000000000000000000000000000000000000 --- a/l10n/it/user_openid.po +++ /dev/null @@ -1,55 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Vincenzo Reale , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-23 02:03+0200\n" -"PO-Revision-Date: 2012-08-22 20:39+0000\n" -"Last-Translator: Vincenzo Reale \n" -"Language-Team: Italian (http://www.transifex.com/projects/p/owncloud/language/it/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: it\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: templates/nomode.php:12 -msgid "This is an OpenID server endpoint. For more information, see " -msgstr "Questo è un server OpenID. Per ulteriori informazioni, vedi " - -#: templates/nomode.php:14 -msgid "Identity: " -msgstr "Identità: " - -#: templates/nomode.php:15 -msgid "Realm: " -msgstr "Dominio: " - -#: templates/nomode.php:16 -msgid "User: " -msgstr "Utente: " - -#: templates/nomode.php:17 -msgid "Login" -msgstr "Accesso" - -#: templates/nomode.php:22 -msgid "Error: No user Selected" -msgstr "Errore: nessun utente selezionato" - -#: templates/settings.php:4 -msgid "you can authenticate to other sites with this address" -msgstr "puoi autenticarti ad altri siti con questo indirizzo" - -#: templates/settings.php:5 -msgid "Authorized OpenID provider" -msgstr "Fornitore OpenID autorizzato" - -#: templates/settings.php:6 -msgid "Your address at Wordpress, Identi.ca, …" -msgstr "Il tuo indirizzo su Wordpress, Identi.ca, …" diff --git a/l10n/it/files_odfviewer.po b/l10n/it/user_webdavauth.po similarity index 59% rename from l10n/it/files_odfviewer.po rename to l10n/it/user_webdavauth.po index 0fae9bc23f9902d4ba5912359a5721d130e39bd1..a2580c8fe863ed6668d2340545afc2e529218d40 100644 --- a/l10n/it/files_odfviewer.po +++ b/l10n/it/user_webdavauth.po @@ -3,20 +3,21 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# Vincenzo Reale , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 02:18+0200\n" -"PO-Revision-Date: 2012-08-26 00:19+0000\n" -"Last-Translator: FULL NAME \n" +"POT-Creation-Date: 2012-11-10 00:01+0100\n" +"PO-Revision-Date: 2012-11-09 14:45+0000\n" +"Last-Translator: Vincenzo Reale \n" "Language-Team: Italian (http://www.transifex.com/projects/p/owncloud/language/it/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: it\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: js/viewer.js:9 -msgid "Close" -msgstr "" +#: templates/settings.php:4 +msgid "WebDAV URL: http://" +msgstr "URL WebDAV: http://" diff --git a/l10n/ja_JP/admin_dependencies_chk.po b/l10n/ja_JP/admin_dependencies_chk.po deleted file mode 100644 index be8f217eba16999201c034616960e85d71c350ac..0000000000000000000000000000000000000000 --- a/l10n/ja_JP/admin_dependencies_chk.po +++ /dev/null @@ -1,74 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Daisuke Deguchi , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-16 02:04+0200\n" -"PO-Revision-Date: 2012-08-15 03:08+0000\n" -"Last-Translator: Daisuke Deguchi \n" -"Language-Team: Japanese (Japan) (http://www.transifex.com/projects/p/owncloud/language/ja_JP/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ja_JP\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: settings.php:33 -msgid "" -"The php-json module is needed by the many applications for inter " -"communications" -msgstr "php-jsonモジュールはアプリケーション間の内部通信に必要です" - -#: settings.php:39 -msgid "" -"The php-curl modude is needed to fetch the page title when adding a " -"bookmarks" -msgstr "php-curlモジュールはブックマーク追加時のページタイトル取得に必要です" - -#: settings.php:45 -msgid "The php-gd module is needed to create thumbnails of your images" -msgstr "php-gdモジュールはサムネイル画像の生成に必要です" - -#: settings.php:51 -msgid "The php-ldap module is needed connect to your ldap server" -msgstr "php-ldapモジュールはLDAPサーバへの接続に必要です" - -#: settings.php:57 -msgid "The php-zip module is needed download multiple files at once" -msgstr "php-zipモジュールは複数ファイルの同時ダウンロードに必要です" - -#: settings.php:63 -msgid "" -"The php-mb_multibyte module is needed to manage correctly the encoding." -msgstr "php-mb_multibyteモジュールはエンコードを正しく扱うために必要です" - -#: settings.php:69 -msgid "The php-ctype module is needed validate data." -msgstr "php-ctypeモジュールはデータのバリデーションに必要です" - -#: settings.php:75 -msgid "The php-xml module is needed to share files with webdav." -msgstr "php-xmlモジュールはWebDAVでのファイル共有に必要です" - -#: settings.php:81 -msgid "" -"The allow_url_fopen directive of your php.ini should be set to 1 to retrieve" -" knowledge base from OCS servers" -msgstr "php.iniのallow_url_fopenはOCSサーバから知識ベースを取得するために1に設定しなくてはなりません" - -#: settings.php:87 -msgid "The php-pdo module is needed to store owncloud data into a database." -msgstr "php-pdoモジュールはデータベースにownCloudのデータを格納するために必要です" - -#: templates/settings.php:2 -msgid "Dependencies status" -msgstr "依存関係の状況" - -#: templates/settings.php:7 -msgid "Used by :" -msgstr "利用先 :" diff --git a/l10n/ja_JP/admin_migrate.po b/l10n/ja_JP/admin_migrate.po deleted file mode 100644 index 4411d9e77cda2e25803426ee48a0600d8d98f29d..0000000000000000000000000000000000000000 --- a/l10n/ja_JP/admin_migrate.po +++ /dev/null @@ -1,33 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Daisuke Deguchi , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-17 00:44+0200\n" -"PO-Revision-Date: 2012-08-16 05:29+0000\n" -"Last-Translator: Daisuke Deguchi \n" -"Language-Team: Japanese (Japan) (http://www.transifex.com/projects/p/owncloud/language/ja_JP/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ja_JP\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: templates/settings.php:3 -msgid "Export this ownCloud instance" -msgstr "ownCloudをエクスポート" - -#: templates/settings.php:4 -msgid "" -"This will create a compressed file that contains the data of this owncloud instance.\n" -" Please choose the export type:" -msgstr "このownCloudのデータを含む圧縮ファイルを生成します。\nエクスポートの種類を選択してください:" - -#: templates/settings.php:12 -msgid "Export" -msgstr "エクスポート" diff --git a/l10n/ja_JP/bookmarks.po b/l10n/ja_JP/bookmarks.po deleted file mode 100644 index a708697103daada4555b39dd3257d77ba9c985c7..0000000000000000000000000000000000000000 --- a/l10n/ja_JP/bookmarks.po +++ /dev/null @@ -1,60 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-07-28 02:02+0200\n" -"PO-Revision-Date: 2012-07-27 22:17+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Japanese (Japan) (http://www.transifex.com/projects/p/owncloud/language/ja_JP/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ja_JP\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: appinfo/app.php:14 -msgid "Bookmarks" -msgstr "" - -#: bookmarksHelper.php:99 -msgid "unnamed" -msgstr "" - -#: templates/bookmarklet.php:5 -msgid "" -"Drag this to your browser bookmarks and click it, when you want to bookmark " -"a webpage quickly:" -msgstr "" - -#: templates/bookmarklet.php:7 -msgid "Read later" -msgstr "" - -#: templates/list.php:13 -msgid "Address" -msgstr "" - -#: templates/list.php:14 -msgid "Title" -msgstr "" - -#: templates/list.php:15 -msgid "Tags" -msgstr "" - -#: templates/list.php:16 -msgid "Save bookmark" -msgstr "" - -#: templates/list.php:22 -msgid "You have no bookmarks" -msgstr "" - -#: templates/settings.php:11 -msgid "Bookmarklet
" -msgstr "" diff --git a/l10n/ja_JP/calendar.po b/l10n/ja_JP/calendar.po deleted file mode 100644 index 605bf02d2ef3f0f85783c93b81b698d258363dc3..0000000000000000000000000000000000000000 --- a/l10n/ja_JP/calendar.po +++ /dev/null @@ -1,815 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Daisuke Deguchi , 2012. -# , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-22 02:03+0200\n" -"PO-Revision-Date: 2012-08-21 02:29+0000\n" -"Last-Translator: Daisuke Deguchi \n" -"Language-Team: Japanese (Japan) (http://www.transifex.com/projects/p/owncloud/language/ja_JP/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ja_JP\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: ajax/cache/status.php:19 -msgid "Not all calendars are completely cached" -msgstr "すべてのカレンダーは完全にキャッシュされていません" - -#: ajax/cache/status.php:21 -msgid "Everything seems to be completely cached" -msgstr "すべて完全にキャッシュされていると思われます" - -#: ajax/categories/rescan.php:29 -msgid "No calendars found." -msgstr "カレンダーが見つかりませんでした。" - -#: ajax/categories/rescan.php:37 -msgid "No events found." -msgstr "イベントが見つかりませんでした。" - -#: ajax/event/edit.form.php:20 -msgid "Wrong calendar" -msgstr "誤ったカレンダーです" - -#: ajax/import/dropimport.php:29 ajax/import/import.php:64 -msgid "" -"The file contained either no events or all events are already saved in your " -"calendar." -msgstr "イベントの無いもしくはすべてのイベントを含むファイルは既にあなたのカレンダーに保存されています。" - -#: ajax/import/dropimport.php:31 ajax/import/import.php:67 -msgid "events has been saved in the new calendar" -msgstr "イベントは新しいカレンダーに保存されました" - -#: ajax/import/import.php:56 -msgid "Import failed" -msgstr "インポートに失敗" - -#: ajax/import/import.php:69 -msgid "events has been saved in your calendar" -msgstr "イベントはあなたのカレンダーに保存されました" - -#: ajax/settings/guesstimezone.php:25 -msgid "New Timezone:" -msgstr "新しいタイムゾーン:" - -#: ajax/settings/settimezone.php:23 -msgid "Timezone changed" -msgstr "タイムゾーンが変更されました" - -#: ajax/settings/settimezone.php:25 -msgid "Invalid request" -msgstr "無効なリクエストです" - -#: appinfo/app.php:37 templates/calendar.php:15 -#: templates/part.eventform.php:33 templates/part.showevent.php:33 -msgid "Calendar" -msgstr "カレンダー" - -#: js/calendar.js:832 -msgid "ddd" -msgstr "dddd" - -#: js/calendar.js:833 -msgid "ddd M/d" -msgstr "M月d日 (dddd)" - -#: js/calendar.js:834 -msgid "dddd M/d" -msgstr "M月d日 (dddd)" - -#: js/calendar.js:837 -msgid "MMMM yyyy" -msgstr "yyyy年M月" - -#: js/calendar.js:839 -msgid "MMM d[ yyyy]{ '—'[ MMM] d yyyy}" -msgstr "yyyy年M月d日{ '~' [yyyy年][M月]d日}" - -#: js/calendar.js:841 -msgid "dddd, MMM d, yyyy" -msgstr "yyyy年M月d日 (dddd)" - -#: lib/app.php:121 -msgid "Birthday" -msgstr "誕生日" - -#: lib/app.php:122 -msgid "Business" -msgstr "ビジネス" - -#: lib/app.php:123 -msgid "Call" -msgstr "電話をかける" - -#: lib/app.php:124 -msgid "Clients" -msgstr "顧客" - -#: lib/app.php:125 -msgid "Deliverer" -msgstr "運送会社" - -#: lib/app.php:126 -msgid "Holidays" -msgstr "休日" - -#: lib/app.php:127 -msgid "Ideas" -msgstr "アイデア" - -#: lib/app.php:128 -msgid "Journey" -msgstr "旅行" - -#: lib/app.php:129 -msgid "Jubilee" -msgstr "記念祭" - -#: lib/app.php:130 -msgid "Meeting" -msgstr "ミーティング" - -#: lib/app.php:131 -msgid "Other" -msgstr "その他" - -#: lib/app.php:132 -msgid "Personal" -msgstr "個人" - -#: lib/app.php:133 -msgid "Projects" -msgstr "プロジェクト" - -#: lib/app.php:134 -msgid "Questions" -msgstr "質問事項" - -#: lib/app.php:135 -msgid "Work" -msgstr "週の始まり" - -#: lib/app.php:351 lib/app.php:361 -msgid "by" -msgstr "による" - -#: lib/app.php:359 lib/app.php:399 -msgid "unnamed" -msgstr "無名" - -#: lib/import.php:184 templates/calendar.php:12 -#: templates/part.choosecalendar.php:22 -msgid "New Calendar" -msgstr "新しくカレンダーを作成" - -#: lib/object.php:372 -msgid "Does not repeat" -msgstr "繰り返さない" - -#: lib/object.php:373 -msgid "Daily" -msgstr "毎日" - -#: lib/object.php:374 -msgid "Weekly" -msgstr "毎週" - -#: lib/object.php:375 -msgid "Every Weekday" -msgstr "毎平日" - -#: lib/object.php:376 -msgid "Bi-Weekly" -msgstr "2週間ごと" - -#: lib/object.php:377 -msgid "Monthly" -msgstr "毎月" - -#: lib/object.php:378 -msgid "Yearly" -msgstr "毎年" - -#: lib/object.php:388 -msgid "never" -msgstr "無し" - -#: lib/object.php:389 -msgid "by occurrences" -msgstr "回数で指定" - -#: lib/object.php:390 -msgid "by date" -msgstr "日付で指定" - -#: lib/object.php:400 -msgid "by monthday" -msgstr "日にちで指定" - -#: lib/object.php:401 -msgid "by weekday" -msgstr "曜日で指定" - -#: lib/object.php:411 templates/calendar.php:5 templates/settings.php:69 -msgid "Monday" -msgstr "月" - -#: lib/object.php:412 templates/calendar.php:5 -msgid "Tuesday" -msgstr "火" - -#: lib/object.php:413 templates/calendar.php:5 -msgid "Wednesday" -msgstr "水" - -#: lib/object.php:414 templates/calendar.php:5 -msgid "Thursday" -msgstr "木" - -#: lib/object.php:415 templates/calendar.php:5 -msgid "Friday" -msgstr "金" - -#: lib/object.php:416 templates/calendar.php:5 -msgid "Saturday" -msgstr "土" - -#: lib/object.php:417 templates/calendar.php:5 templates/settings.php:70 -msgid "Sunday" -msgstr "日" - -#: lib/object.php:427 -msgid "events week of month" -msgstr "予定のある週を指定" - -#: lib/object.php:428 -msgid "first" -msgstr "1週目" - -#: lib/object.php:429 -msgid "second" -msgstr "2週目" - -#: lib/object.php:430 -msgid "third" -msgstr "3週目" - -#: lib/object.php:431 -msgid "fourth" -msgstr "4週目" - -#: lib/object.php:432 -msgid "fifth" -msgstr "5週目" - -#: lib/object.php:433 -msgid "last" -msgstr "最終週" - -#: lib/object.php:467 templates/calendar.php:7 -msgid "January" -msgstr "1月" - -#: lib/object.php:468 templates/calendar.php:7 -msgid "February" -msgstr "2月" - -#: lib/object.php:469 templates/calendar.php:7 -msgid "March" -msgstr "3月" - -#: lib/object.php:470 templates/calendar.php:7 -msgid "April" -msgstr "4月" - -#: lib/object.php:471 templates/calendar.php:7 -msgid "May" -msgstr "5月" - -#: lib/object.php:472 templates/calendar.php:7 -msgid "June" -msgstr "6月" - -#: lib/object.php:473 templates/calendar.php:7 -msgid "July" -msgstr "7月" - -#: lib/object.php:474 templates/calendar.php:7 -msgid "August" -msgstr "8月" - -#: lib/object.php:475 templates/calendar.php:7 -msgid "September" -msgstr "9月" - -#: lib/object.php:476 templates/calendar.php:7 -msgid "October" -msgstr "10月" - -#: lib/object.php:477 templates/calendar.php:7 -msgid "November" -msgstr "11月" - -#: lib/object.php:478 templates/calendar.php:7 -msgid "December" -msgstr "12月" - -#: lib/object.php:488 -msgid "by events date" -msgstr "日付で指定" - -#: lib/object.php:489 -msgid "by yearday(s)" -msgstr "日番号で指定" - -#: lib/object.php:490 -msgid "by weeknumber(s)" -msgstr "週番号で指定" - -#: lib/object.php:491 -msgid "by day and month" -msgstr "月と日で指定" - -#: lib/search.php:35 lib/search.php:37 lib/search.php:40 -msgid "Date" -msgstr "日付" - -#: lib/search.php:43 -msgid "Cal." -msgstr "カレンダー" - -#: templates/calendar.php:6 -msgid "Sun." -msgstr "日" - -#: templates/calendar.php:6 -msgid "Mon." -msgstr "月" - -#: templates/calendar.php:6 -msgid "Tue." -msgstr "火" - -#: templates/calendar.php:6 -msgid "Wed." -msgstr "水" - -#: templates/calendar.php:6 -msgid "Thu." -msgstr "木" - -#: templates/calendar.php:6 -msgid "Fri." -msgstr "金" - -#: templates/calendar.php:6 -msgid "Sat." -msgstr "土" - -#: templates/calendar.php:8 -msgid "Jan." -msgstr "1月" - -#: templates/calendar.php:8 -msgid "Feb." -msgstr "2月" - -#: templates/calendar.php:8 -msgid "Mar." -msgstr "3月" - -#: templates/calendar.php:8 -msgid "Apr." -msgstr "4月" - -#: templates/calendar.php:8 -msgid "May." -msgstr "5月" - -#: templates/calendar.php:8 -msgid "Jun." -msgstr "6月" - -#: templates/calendar.php:8 -msgid "Jul." -msgstr "7月" - -#: templates/calendar.php:8 -msgid "Aug." -msgstr "8月" - -#: templates/calendar.php:8 -msgid "Sep." -msgstr "9月" - -#: templates/calendar.php:8 -msgid "Oct." -msgstr "10月" - -#: templates/calendar.php:8 -msgid "Nov." -msgstr "11月" - -#: templates/calendar.php:8 -msgid "Dec." -msgstr "12月" - -#: templates/calendar.php:11 -msgid "All day" -msgstr "終日" - -#: templates/calendar.php:13 -msgid "Missing fields" -msgstr "項目がありません" - -#: templates/calendar.php:14 templates/part.eventform.php:19 -#: templates/part.showevent.php:11 -msgid "Title" -msgstr "タイトル" - -#: templates/calendar.php:16 -msgid "From Date" -msgstr "開始日" - -#: templates/calendar.php:17 -msgid "From Time" -msgstr "開始時間" - -#: templates/calendar.php:18 -msgid "To Date" -msgstr "終了日" - -#: templates/calendar.php:19 -msgid "To Time" -msgstr "終了時間" - -#: templates/calendar.php:20 -msgid "The event ends before it starts" -msgstr "イベント終了時間が開始時間より先です" - -#: templates/calendar.php:21 -msgid "There was a database fail" -msgstr "データベースのエラーがありました" - -#: templates/calendar.php:39 -msgid "Week" -msgstr "週" - -#: templates/calendar.php:40 -msgid "Month" -msgstr "月" - -#: templates/calendar.php:41 -msgid "List" -msgstr "予定リスト" - -#: templates/calendar.php:45 -msgid "Today" -msgstr "今日" - -#: templates/calendar.php:46 templates/calendar.php:47 -msgid "Settings" -msgstr "設定" - -#: templates/part.choosecalendar.php:2 -msgid "Your calendars" -msgstr "あなたのカレンダー" - -#: templates/part.choosecalendar.php:27 -#: templates/part.choosecalendar.rowfields.php:11 -msgid "CalDav Link" -msgstr "CalDavへのリンク" - -#: templates/part.choosecalendar.php:31 -msgid "Shared calendars" -msgstr "共有カレンダー" - -#: templates/part.choosecalendar.php:48 -msgid "No shared calendars" -msgstr "共有カレンダーはありません" - -#: templates/part.choosecalendar.rowfields.php:8 -msgid "Share Calendar" -msgstr "カレンダーを共有する" - -#: templates/part.choosecalendar.rowfields.php:14 -msgid "Download" -msgstr "ダウンロード" - -#: templates/part.choosecalendar.rowfields.php:17 -msgid "Edit" -msgstr "編集" - -#: templates/part.choosecalendar.rowfields.php:20 -#: templates/part.editevent.php:9 -msgid "Delete" -msgstr "削除" - -#: templates/part.choosecalendar.rowfields.shared.php:4 -msgid "shared with you by" -msgstr "共有者" - -#: templates/part.editcalendar.php:9 -msgid "New calendar" -msgstr "新しいカレンダー" - -#: templates/part.editcalendar.php:9 -msgid "Edit calendar" -msgstr "カレンダーを編集" - -#: templates/part.editcalendar.php:12 -msgid "Displayname" -msgstr "表示名" - -#: templates/part.editcalendar.php:23 -msgid "Active" -msgstr "アクティブ" - -#: templates/part.editcalendar.php:29 -msgid "Calendar color" -msgstr "カレンダーの色" - -#: templates/part.editcalendar.php:42 -msgid "Save" -msgstr "保存" - -#: templates/part.editcalendar.php:42 templates/part.editevent.php:8 -#: templates/part.newevent.php:6 -msgid "Submit" -msgstr "完了" - -#: templates/part.editcalendar.php:43 -msgid "Cancel" -msgstr "キャンセル" - -#: templates/part.editevent.php:1 -msgid "Edit an event" -msgstr "イベントを編集" - -#: templates/part.editevent.php:10 -msgid "Export" -msgstr "エクスポート" - -#: templates/part.eventform.php:8 templates/part.showevent.php:3 -msgid "Eventinfo" -msgstr "イベント情報" - -#: templates/part.eventform.php:9 templates/part.showevent.php:4 -msgid "Repeating" -msgstr "繰り返し" - -#: templates/part.eventform.php:10 templates/part.showevent.php:5 -msgid "Alarm" -msgstr "アラーム" - -#: templates/part.eventform.php:11 templates/part.showevent.php:6 -msgid "Attendees" -msgstr "参加者" - -#: templates/part.eventform.php:13 -msgid "Share" -msgstr "共有" - -#: templates/part.eventform.php:21 -msgid "Title of the Event" -msgstr "イベントのタイトル" - -#: templates/part.eventform.php:27 templates/part.showevent.php:19 -msgid "Category" -msgstr "カテゴリー" - -#: templates/part.eventform.php:29 -msgid "Separate categories with commas" -msgstr "カテゴリをコンマで区切る" - -#: templates/part.eventform.php:30 -msgid "Edit categories" -msgstr "カテゴリを編集" - -#: templates/part.eventform.php:56 templates/part.showevent.php:52 -msgid "All Day Event" -msgstr "終日イベント" - -#: templates/part.eventform.php:60 templates/part.showevent.php:56 -msgid "From" -msgstr "開始" - -#: templates/part.eventform.php:68 templates/part.showevent.php:64 -msgid "To" -msgstr "終了" - -#: templates/part.eventform.php:76 templates/part.showevent.php:72 -msgid "Advanced options" -msgstr "詳細設定" - -#: templates/part.eventform.php:81 templates/part.showevent.php:77 -msgid "Location" -msgstr "場所" - -#: templates/part.eventform.php:83 -msgid "Location of the Event" -msgstr "イベントの場所" - -#: templates/part.eventform.php:89 templates/part.showevent.php:85 -msgid "Description" -msgstr "メモ" - -#: templates/part.eventform.php:91 -msgid "Description of the Event" -msgstr "イベントの説明" - -#: templates/part.eventform.php:100 templates/part.showevent.php:95 -msgid "Repeat" -msgstr "繰り返し" - -#: templates/part.eventform.php:107 templates/part.showevent.php:102 -msgid "Advanced" -msgstr "詳細設定" - -#: templates/part.eventform.php:151 templates/part.showevent.php:146 -msgid "Select weekdays" -msgstr "曜日を指定" - -#: templates/part.eventform.php:164 templates/part.eventform.php:177 -#: templates/part.showevent.php:159 templates/part.showevent.php:172 -msgid "Select days" -msgstr "日付を指定" - -#: templates/part.eventform.php:169 templates/part.showevent.php:164 -msgid "and the events day of year." -msgstr "対象の年を選択する。" - -#: templates/part.eventform.php:182 templates/part.showevent.php:177 -msgid "and the events day of month." -msgstr "対象の月を選択する。" - -#: templates/part.eventform.php:190 templates/part.showevent.php:185 -msgid "Select months" -msgstr "月を指定する" - -#: templates/part.eventform.php:203 templates/part.showevent.php:198 -msgid "Select weeks" -msgstr "週を指定する" - -#: templates/part.eventform.php:208 templates/part.showevent.php:203 -msgid "and the events week of year." -msgstr "対象の週を選択する。" - -#: templates/part.eventform.php:214 templates/part.showevent.php:209 -msgid "Interval" -msgstr "間隔" - -#: templates/part.eventform.php:220 templates/part.showevent.php:215 -msgid "End" -msgstr "繰り返す期間" - -#: templates/part.eventform.php:233 templates/part.showevent.php:228 -msgid "occurrences" -msgstr "回繰り返す" - -#: templates/part.import.php:14 -msgid "create a new calendar" -msgstr "新規カレンダーの作成" - -#: templates/part.import.php:17 -msgid "Import a calendar file" -msgstr "カレンダーファイルをインポート" - -#: templates/part.import.php:24 -msgid "Please choose a calendar" -msgstr "カレンダーを選択してください" - -#: templates/part.import.php:36 -msgid "Name of new calendar" -msgstr "新規カレンダーの名称" - -#: templates/part.import.php:44 -msgid "Take an available name!" -msgstr "利用可能な名前を指定してください!" - -#: templates/part.import.php:45 -msgid "" -"A Calendar with this name already exists. If you continue anyhow, these " -"calendars will be merged." -msgstr "このカレンダー名はすでに使われています。もし続行する場合は、これらのカレンダーはマージされます。" - -#: templates/part.import.php:47 -msgid "Import" -msgstr "インポート" - -#: templates/part.import.php:56 -msgid "Close Dialog" -msgstr "ダイアログを閉じる" - -#: templates/part.newevent.php:1 -msgid "Create a new event" -msgstr "新しいイベントを作成" - -#: templates/part.showevent.php:1 -msgid "View an event" -msgstr "イベントを閲覧" - -#: templates/part.showevent.php:23 -msgid "No categories selected" -msgstr "カテゴリが選択されていません" - -#: templates/part.showevent.php:37 -msgid "of" -msgstr "of" - -#: templates/part.showevent.php:59 templates/part.showevent.php:67 -msgid "at" -msgstr "at" - -#: templates/settings.php:10 -msgid "General" -msgstr "一般" - -#: templates/settings.php:15 -msgid "Timezone" -msgstr "タイムゾーン" - -#: templates/settings.php:47 -msgid "Update timezone automatically" -msgstr "自動的にタイムゾーンを更新" - -#: templates/settings.php:52 -msgid "Time format" -msgstr "時刻の表示形式" - -#: templates/settings.php:57 -msgid "24h" -msgstr "24h" - -#: templates/settings.php:58 -msgid "12h" -msgstr "12h" - -#: templates/settings.php:64 -msgid "Start week on" -msgstr "1週間の初めの曜日" - -#: templates/settings.php:76 -msgid "Cache" -msgstr "キャッシュ" - -#: templates/settings.php:80 -msgid "Clear cache for repeating events" -msgstr "繰り返しイベントのキャッシュをクリア" - -#: templates/settings.php:85 -msgid "URLs" -msgstr "URL" - -#: templates/settings.php:87 -msgid "Calendar CalDAV syncing addresses" -msgstr "CalDAVカレンダーの同期用アドレス" - -#: templates/settings.php:87 -msgid "more info" -msgstr "さらに" - -#: templates/settings.php:89 -msgid "Primary address (Kontact et al)" -msgstr "プライマリアドレス(コンタクト等)" - -#: templates/settings.php:91 -msgid "iOS/OS X" -msgstr "iOS/OS X" - -#: templates/settings.php:93 -msgid "Read only iCalendar link(s)" -msgstr "読み取り専用のiCalendarリンク" - -#: templates/share.dropdown.php:20 -msgid "Users" -msgstr "ユーザ" - -#: templates/share.dropdown.php:21 -msgid "select users" -msgstr "ユーザを選択" - -#: templates/share.dropdown.php:36 templates/share.dropdown.php:62 -msgid "Editable" -msgstr "編集可能" - -#: templates/share.dropdown.php:48 -msgid "Groups" -msgstr "グループ" - -#: templates/share.dropdown.php:49 -msgid "select groups" -msgstr "グループを選択" - -#: templates/share.dropdown.php:75 -msgid "make public" -msgstr "公開する" diff --git a/l10n/ja_JP/contacts.po b/l10n/ja_JP/contacts.po deleted file mode 100644 index 0cf04a8a0a9c7f042a8aa2d561fe33f9a373c592..0000000000000000000000000000000000000000 --- a/l10n/ja_JP/contacts.po +++ /dev/null @@ -1,954 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Daisuke Deguchi , 2012. -# , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-25 02:04+0200\n" -"PO-Revision-Date: 2012-08-24 02:39+0000\n" -"Last-Translator: ttyn \n" -"Language-Team: Japanese (Japan) (http://www.transifex.com/projects/p/owncloud/language/ja_JP/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ja_JP\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: ajax/addressbook/activate.php:24 ajax/addressbook/update.php:32 -msgid "Error (de)activating addressbook." -msgstr "アドレス帳の有効/無効化に失敗しました。" - -#: ajax/addressbook/delete.php:31 ajax/addressbook/update.php:20 -#: ajax/contact/addproperty.php:42 ajax/contact/delete.php:32 -#: ajax/contact/saveproperty.php:39 -msgid "id is not set." -msgstr "idが設定されていません。" - -#: ajax/addressbook/update.php:24 -msgid "Cannot update addressbook with an empty name." -msgstr "空白の名前でアドレス帳を更新することはできません。" - -#: ajax/addressbook/update.php:28 -msgid "Error updating addressbook." -msgstr "アドレス帳の更新に失敗しました。" - -#: ajax/categories/categoriesfor.php:17 -msgid "No ID provided" -msgstr "IDが提供されていません" - -#: ajax/categories/categoriesfor.php:34 -msgid "Error setting checksum." -msgstr "チェックサムの設定エラー。" - -#: ajax/categories/delete.php:19 -msgid "No categories selected for deletion." -msgstr "削除するカテゴリが選択されていません。" - -#: ajax/categories/delete.php:26 -msgid "No address books found." -msgstr "アドレス帳が見つかりません。" - -#: ajax/categories/delete.php:34 -msgid "No contacts found." -msgstr "連絡先が見つかりません。" - -#: ajax/contact/add.php:47 -msgid "There was an error adding the contact." -msgstr "連絡先の追加でエラーが発生しました。" - -#: ajax/contact/addproperty.php:39 ajax/contact/saveproperty.php:36 -msgid "element name is not set." -msgstr "要素名が設定されていません。" - -#: ajax/contact/addproperty.php:46 -msgid "Could not parse contact: " -msgstr "連絡先を解析できませんでした:" - -#: ajax/contact/addproperty.php:56 -msgid "Cannot add empty property." -msgstr "項目の新規追加に失敗しました。" - -#: ajax/contact/addproperty.php:67 -msgid "At least one of the address fields has to be filled out." -msgstr "住所の項目のうち1つは入力して下さい。" - -#: ajax/contact/addproperty.php:76 -msgid "Trying to add duplicate property: " -msgstr "重複する属性を追加: " - -#: ajax/contact/addproperty.php:115 ajax/contact/saveproperty.php:93 -msgid "Missing IM parameter." -msgstr "IMのパラメータが不足しています。" - -#: ajax/contact/addproperty.php:119 ajax/contact/saveproperty.php:97 -msgid "Unknown IM: " -msgstr "不明なIM:" - -#: ajax/contact/deleteproperty.php:37 -msgid "Information about vCard is incorrect. Please reload the page." -msgstr "vCardの情報に誤りがあります。ページをリロードして下さい。" - -#: ajax/contact/details.php:31 -msgid "Missing ID" -msgstr "IDが見つかりません" - -#: ajax/contact/details.php:36 -msgid "Error parsing VCard for ID: \"" -msgstr "VCardからIDの抽出エラー: \"" - -#: ajax/contact/saveproperty.php:42 -msgid "checksum is not set." -msgstr "チェックサムが設定されていません。" - -#: ajax/contact/saveproperty.php:62 -msgid "Information about vCard is incorrect. Please reload the page: " -msgstr "vCardの情報が正しくありません。ページを再読み込みしてください: " - -#: ajax/contact/saveproperty.php:69 -msgid "Something went FUBAR. " -msgstr "何かがFUBARへ移動しました。" - -#: ajax/currentphoto.php:30 ajax/oc_photo.php:28 ajax/uploadphoto.php:36 -#: ajax/uploadphoto.php:68 -msgid "No contact ID was submitted." -msgstr "連絡先IDは登録されませんでした。" - -#: ajax/currentphoto.php:36 -msgid "Error reading contact photo." -msgstr "連絡先写真の読み込みエラー。" - -#: ajax/currentphoto.php:48 -msgid "Error saving temporary file." -msgstr "一時ファイルの保存エラー。" - -#: ajax/currentphoto.php:51 -msgid "The loading photo is not valid." -msgstr "写真の読み込みは無効です。" - -#: ajax/editname.php:31 -msgid "Contact ID is missing." -msgstr "連絡先 IDが見つかりません。" - -#: ajax/oc_photo.php:32 -msgid "No photo path was submitted." -msgstr "写真のパスが登録されていません。" - -#: ajax/oc_photo.php:39 -msgid "File doesn't exist:" -msgstr "ファイルが存在しません:" - -#: ajax/oc_photo.php:44 ajax/oc_photo.php:47 -msgid "Error loading image." -msgstr "画像の読み込みエラー。" - -#: ajax/savecrop.php:69 -msgid "Error getting contact object." -msgstr "連絡先オブジェクトの取得エラー。" - -#: ajax/savecrop.php:79 -msgid "Error getting PHOTO property." -msgstr "写真属性の取得エラー。" - -#: ajax/savecrop.php:98 -msgid "Error saving contact." -msgstr "連絡先の保存エラー。" - -#: ajax/savecrop.php:109 -msgid "Error resizing image" -msgstr "画像のリサイズエラー" - -#: ajax/savecrop.php:112 -msgid "Error cropping image" -msgstr "画像の切り抜きエラー" - -#: ajax/savecrop.php:115 -msgid "Error creating temporary image" -msgstr "一時画像の生成エラー" - -#: ajax/savecrop.php:118 -msgid "Error finding image: " -msgstr "画像検索エラー: " - -#: ajax/uploadimport.php:44 ajax/uploadimport.php:76 -msgid "Error uploading contacts to storage." -msgstr "ストレージへの連絡先のアップロードエラー。" - -#: ajax/uploadimport.php:61 ajax/uploadphoto.php:77 -msgid "There is no error, the file uploaded with success" -msgstr "エラーはありません。ファイルのアップロードは成功しました" - -#: ajax/uploadimport.php:62 ajax/uploadphoto.php:78 -msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" -msgstr "アップロードファイルは php.ini 内の upload_max_filesize の制限を超えています" - -#: ajax/uploadimport.php:63 ajax/uploadphoto.php:79 -msgid "" -"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " -"the HTML form" -msgstr "アップロードファイルはHTMLフォームで指定された MAX_FILE_SIZE の制限を超えています" - -#: ajax/uploadimport.php:64 ajax/uploadphoto.php:80 -msgid "The uploaded file was only partially uploaded" -msgstr "アップロードファイルは一部分だけアップロードされました" - -#: ajax/uploadimport.php:65 ajax/uploadphoto.php:81 -msgid "No file was uploaded" -msgstr "ファイルはアップロードされませんでした" - -#: ajax/uploadimport.php:66 ajax/uploadphoto.php:82 -msgid "Missing a temporary folder" -msgstr "一時保存フォルダが見つかりません" - -#: ajax/uploadphoto.php:59 ajax/uploadphoto.php:109 -msgid "Couldn't save temporary image: " -msgstr "一時的な画像の保存ができませんでした: " - -#: ajax/uploadphoto.php:62 ajax/uploadphoto.php:112 -msgid "Couldn't load temporary image: " -msgstr "一時的な画像の読み込みができませんでした: " - -#: ajax/uploadphoto.php:71 -msgid "No file was uploaded. Unknown error" -msgstr "ファイルは何もアップロードされていません。不明なエラー" - -#: appinfo/app.php:25 -msgid "Contacts" -msgstr "連絡先" - -#: js/contacts.js:71 -msgid "Sorry, this functionality has not been implemented yet" -msgstr "申し訳ありません。この機能はまだ実装されていません" - -#: js/contacts.js:71 -msgid "Not implemented" -msgstr "未実装" - -#: js/contacts.js:76 -msgid "Couldn't get a valid address." -msgstr "有効なアドレスを取得できませんでした。" - -#: js/contacts.js:76 js/contacts.js:365 js/contacts.js:381 js/contacts.js:393 -#: js/contacts.js:723 js/contacts.js:763 js/contacts.js:789 js/contacts.js:921 -#: js/contacts.js:927 js/contacts.js:939 js/contacts.js:976 -#: js/contacts.js:1250 js/contacts.js:1258 js/contacts.js:1267 -#: js/contacts.js:1302 js/contacts.js:1338 js/contacts.js:1353 -#: js/contacts.js:1379 js/contacts.js:1609 js/contacts.js:1644 -#: js/contacts.js:1664 js/settings.js:26 js/settings.js:43 js/settings.js:68 -msgid "Error" -msgstr "エラー" - -#: js/contacts.js:424 -msgid "You do not have permission to add contacts to " -msgstr "連絡先を追加する権限がありません" - -#: js/contacts.js:425 -msgid "Please select one of your own address books." -msgstr "アドレス帳を一つ選択してください" - -#: js/contacts.js:425 -msgid "Permission error" -msgstr "権限エラー" - -#: js/contacts.js:763 -msgid "This property has to be non-empty." -msgstr "この属性は空にできません。" - -#: js/contacts.js:789 -msgid "Couldn't serialize elements." -msgstr "要素をシリアライズできませんでした。" - -#: js/contacts.js:921 js/contacts.js:939 -msgid "" -"'deleteProperty' called without type argument. Please report at " -"bugs.owncloud.org" -msgstr "'deleteProperty' は型の引数無しで呼び出されました。bugs.owncloud.org へ報告してください。" - -#: js/contacts.js:958 -msgid "Edit name" -msgstr "名前を編集" - -#: js/contacts.js:1250 -msgid "No files selected for upload." -msgstr "アップロードするファイルが選択されていません。" - -#: js/contacts.js:1258 -msgid "" -"The file you are trying to upload exceed the maximum size for file uploads " -"on this server." -msgstr "アップロードしようとしているファイルは、このサーバの最大ファイルアップロードサイズを超えています。" - -#: js/contacts.js:1322 -msgid "Error loading profile picture." -msgstr "プロファイルの画像の読み込みエラー" - -#: js/contacts.js:1457 js/contacts.js:1498 js/contacts.js:1517 -#: js/contacts.js:1560 -msgid "Select type" -msgstr "タイプを選択" - -#: js/contacts.js:1578 -msgid "" -"Some contacts are marked for deletion, but not deleted yet. Please wait for " -"them to be deleted." -msgstr "いくつかの連絡先が削除とマークされていますが、まだ削除されていません。削除するまでお待ちください。" - -#: js/contacts.js:1649 -msgid "Do you want to merge these address books?" -msgstr "これらのアドレス帳をマージしてもよろしいですか?" - -#: js/loader.js:49 -msgid "Result: " -msgstr "結果: " - -#: js/loader.js:49 -msgid " imported, " -msgstr " をインポート、 " - -#: js/loader.js:49 -msgid " failed." -msgstr " は失敗しました。" - -#: js/settings.js:68 -msgid "Displayname cannot be empty." -msgstr "表示名は空にできません。" - -#: lib/app.php:36 -msgid "Addressbook not found: " -msgstr "アドレス帳が見つかりません:" - -#: lib/app.php:52 -msgid "This is not your addressbook." -msgstr "これはあなたの電話帳ではありません。" - -#: lib/app.php:71 -msgid "Contact could not be found." -msgstr "連絡先を見つける事ができません。" - -#: lib/app.php:116 -msgid "Jabber" -msgstr "Jabber" - -#: lib/app.php:121 -msgid "AIM" -msgstr "AIM" - -#: lib/app.php:126 -msgid "MSN" -msgstr "MSN" - -#: lib/app.php:131 -msgid "Twitter" -msgstr "Twitter" - -#: lib/app.php:136 -msgid "GoogleTalk" -msgstr "Googleトーク" - -#: lib/app.php:141 -msgid "Facebook" -msgstr "Facebook" - -#: lib/app.php:146 -msgid "XMPP" -msgstr "XMPP" - -#: lib/app.php:151 -msgid "ICQ" -msgstr "ICQ" - -#: lib/app.php:156 -msgid "Yahoo" -msgstr "Yahoo" - -#: lib/app.php:161 -msgid "Skype" -msgstr "Skype" - -#: lib/app.php:166 -msgid "QQ" -msgstr "QQ" - -#: lib/app.php:171 -msgid "GaduGadu" -msgstr "GaduGadu" - -#: lib/app.php:194 lib/app.php:202 lib/app.php:213 lib/app.php:266 -msgid "Work" -msgstr "勤務先" - -#: lib/app.php:195 lib/app.php:200 lib/app.php:214 -msgid "Home" -msgstr "住居" - -#: lib/app.php:196 lib/app.php:209 lib/app.php:262 lib/vcard.php:593 -msgid "Other" -msgstr "その他" - -#: lib/app.php:201 -msgid "Mobile" -msgstr "携帯電話" - -#: lib/app.php:203 -msgid "Text" -msgstr "TTY TDD" - -#: lib/app.php:204 -msgid "Voice" -msgstr "音声番号" - -#: lib/app.php:205 -msgid "Message" -msgstr "メッセージ" - -#: lib/app.php:206 -msgid "Fax" -msgstr "FAX" - -#: lib/app.php:207 -msgid "Video" -msgstr "テレビ電話" - -#: lib/app.php:208 -msgid "Pager" -msgstr "ポケベル" - -#: lib/app.php:215 -msgid "Internet" -msgstr "インターネット" - -#: lib/app.php:252 templates/part.contact.php:45 -#: templates/part.contact.php:128 -msgid "Birthday" -msgstr "誕生日" - -#: lib/app.php:253 -msgid "Business" -msgstr "ビジネス" - -#: lib/app.php:254 -msgid "Call" -msgstr "電話" - -#: lib/app.php:255 -msgid "Clients" -msgstr "顧客" - -#: lib/app.php:256 -msgid "Deliverer" -msgstr "運送会社" - -#: lib/app.php:257 -msgid "Holidays" -msgstr "休日" - -#: lib/app.php:258 -msgid "Ideas" -msgstr "アイデア" - -#: lib/app.php:259 -msgid "Journey" -msgstr "旅行" - -#: lib/app.php:260 -msgid "Jubilee" -msgstr "記念祭" - -#: lib/app.php:261 -msgid "Meeting" -msgstr "打ち合わせ" - -#: lib/app.php:263 -msgid "Personal" -msgstr "個人" - -#: lib/app.php:264 -msgid "Projects" -msgstr "プロジェクト" - -#: lib/app.php:265 -msgid "Questions" -msgstr "質問" - -#: lib/hooks.php:102 -msgid "{name}'s Birthday" -msgstr "{name}の誕生日" - -#: lib/search.php:15 -msgid "Contact" -msgstr "連絡先" - -#: lib/vcard.php:408 -msgid "You do not have the permissions to edit this contact." -msgstr "この連絡先を編集する権限がありません" - -#: lib/vcard.php:483 -msgid "You do not have the permissions to delete this contact." -msgstr "この連絡先を削除する権限がありません" - -#: templates/index.php:14 -msgid "Add Contact" -msgstr "連絡先の追加" - -#: templates/index.php:15 templates/index.php:16 templates/part.import.php:17 -msgid "Import" -msgstr "インポート" - -#: templates/index.php:18 -msgid "Settings" -msgstr "設定" - -#: templates/index.php:18 templates/settings.php:9 -msgid "Addressbooks" -msgstr "アドレス帳" - -#: templates/index.php:36 templates/part.import.php:24 -msgid "Close" -msgstr "閉じる" - -#: templates/index.php:37 -msgid "Keyboard shortcuts" -msgstr "キーボードショートカット" - -#: templates/index.php:39 -msgid "Navigation" -msgstr "ナビゲーション" - -#: templates/index.php:42 -msgid "Next contact in list" -msgstr "リスト内の次の連絡先" - -#: templates/index.php:44 -msgid "Previous contact in list" -msgstr "リスト内の前の連絡先" - -#: templates/index.php:46 -msgid "Expand/collapse current addressbook" -msgstr "現在のアドレス帳を展開する/折りたたむ" - -#: templates/index.php:48 -msgid "Next addressbook" -msgstr "次のアドレス帳" - -#: templates/index.php:50 -msgid "Previous addressbook" -msgstr "前のアドレス帳" - -#: templates/index.php:54 -msgid "Actions" -msgstr "アクション" - -#: templates/index.php:57 -msgid "Refresh contacts list" -msgstr "連絡先リストを再読込する" - -#: templates/index.php:59 -msgid "Add new contact" -msgstr "新しい連絡先を追加" - -#: templates/index.php:61 -msgid "Add new addressbook" -msgstr "新しいアドレス帳を追加" - -#: templates/index.php:63 -msgid "Delete current contact" -msgstr "現在の連絡先を削除" - -#: templates/part.contact.php:17 -msgid "Drop photo to upload" -msgstr "写真をドロップしてアップロード" - -#: templates/part.contact.php:19 -msgid "Delete current photo" -msgstr "現在の写真を削除" - -#: templates/part.contact.php:20 -msgid "Edit current photo" -msgstr "現在の写真を編集" - -#: templates/part.contact.php:21 -msgid "Upload new photo" -msgstr "新しい写真をアップロード" - -#: templates/part.contact.php:22 -msgid "Select photo from ownCloud" -msgstr "ownCloudから写真を選択" - -#: templates/part.contact.php:35 -msgid "Format custom, Short name, Full name, Reverse or Reverse with comma" -msgstr "編集フォーマット、ショートネーム、フルネーム、逆順、カンマ区切りの逆順" - -#: templates/part.contact.php:36 -msgid "Edit name details" -msgstr "名前の詳細を編集" - -#: templates/part.contact.php:39 templates/part.contact.php:40 -#: templates/part.contact.php:126 -msgid "Organization" -msgstr "所属" - -#: templates/part.contact.php:40 templates/part.contact.php:42 -#: templates/part.contact.php:44 templates/part.contact.php:46 -#: templates/part.contact.php:50 templates/settings.php:36 -msgid "Delete" -msgstr "削除" - -#: templates/part.contact.php:41 templates/part.contact.php:127 -msgid "Nickname" -msgstr "ニックネーム" - -#: templates/part.contact.php:42 -msgid "Enter nickname" -msgstr "ニックネームを入力" - -#: templates/part.contact.php:43 templates/part.contact.php:134 -msgid "Web site" -msgstr "ウェブサイト" - -#: templates/part.contact.php:44 -msgid "http://www.somesite.com" -msgstr "http://www.somesite.com" - -#: templates/part.contact.php:44 -msgid "Go to web site" -msgstr "Webサイトへ移動" - -#: templates/part.contact.php:46 -msgid "dd-mm-yyyy" -msgstr "yyyy-mm-dd" - -#: templates/part.contact.php:47 templates/part.contact.php:135 -msgid "Groups" -msgstr "グループ" - -#: templates/part.contact.php:49 -msgid "Separate groups with commas" -msgstr "コンマでグループを分割" - -#: templates/part.contact.php:50 -msgid "Edit groups" -msgstr "グループを編集" - -#: templates/part.contact.php:59 templates/part.contact.php:73 -#: templates/part.contact.php:98 -msgid "Preferred" -msgstr "推奨" - -#: templates/part.contact.php:60 -msgid "Please specify a valid email address." -msgstr "有効なメールアドレスを指定してください。" - -#: templates/part.contact.php:60 -msgid "Enter email address" -msgstr "メールアドレスを入力" - -#: templates/part.contact.php:64 -msgid "Mail to address" -msgstr "アドレスへメールを送る" - -#: templates/part.contact.php:65 -msgid "Delete email address" -msgstr "メールアドレスを削除" - -#: templates/part.contact.php:75 -msgid "Enter phone number" -msgstr "電話番号を入力" - -#: templates/part.contact.php:79 -msgid "Delete phone number" -msgstr "電話番号を削除" - -#: templates/part.contact.php:100 -msgid "Instant Messenger" -msgstr "インスタントメッセンジャー" - -#: templates/part.contact.php:101 -msgid "Delete IM" -msgstr "IMを削除" - -#: templates/part.contact.php:110 -msgid "View on map" -msgstr "地図で表示" - -#: templates/part.contact.php:110 -msgid "Edit address details" -msgstr "住所の詳細を編集" - -#: templates/part.contact.php:116 -msgid "Add notes here." -msgstr "ここにメモを追加。" - -#: templates/part.contact.php:124 -msgid "Add field" -msgstr "項目を追加" - -#: templates/part.contact.php:129 -msgid "Phone" -msgstr "電話番号" - -#: templates/part.contact.php:130 -msgid "Email" -msgstr "メールアドレス" - -#: templates/part.contact.php:131 -msgid "Instant Messaging" -msgstr "インスタントメッセージ" - -#: templates/part.contact.php:132 -msgid "Address" -msgstr "住所" - -#: templates/part.contact.php:133 -msgid "Note" -msgstr "メモ" - -#: templates/part.contact.php:138 -msgid "Download contact" -msgstr "連絡先のダウンロード" - -#: templates/part.contact.php:139 -msgid "Delete contact" -msgstr "連絡先の削除" - -#: templates/part.cropphoto.php:65 -msgid "The temporary image has been removed from cache." -msgstr "一時画像はキャッシュから削除されました。" - -#: templates/part.edit_address_dialog.php:6 -msgid "Edit address" -msgstr "住所を編集" - -#: templates/part.edit_address_dialog.php:10 -msgid "Type" -msgstr "種類" - -#: templates/part.edit_address_dialog.php:18 -#: templates/part.edit_address_dialog.php:21 -msgid "PO Box" -msgstr "私書箱" - -#: templates/part.edit_address_dialog.php:24 -msgid "Street address" -msgstr "住所1" - -#: templates/part.edit_address_dialog.php:27 -msgid "Street and number" -msgstr "番地" - -#: templates/part.edit_address_dialog.php:30 -msgid "Extended" -msgstr "住所2" - -#: templates/part.edit_address_dialog.php:33 -msgid "Apartment number etc." -msgstr "アパート名等" - -#: templates/part.edit_address_dialog.php:36 -#: templates/part.edit_address_dialog.php:39 -msgid "City" -msgstr "都市" - -#: templates/part.edit_address_dialog.php:42 -msgid "Region" -msgstr "都道府県" - -#: templates/part.edit_address_dialog.php:45 -msgid "E.g. state or province" -msgstr "例:東京都、大阪府" - -#: templates/part.edit_address_dialog.php:48 -msgid "Zipcode" -msgstr "郵便番号" - -#: templates/part.edit_address_dialog.php:51 -msgid "Postal code" -msgstr "郵便番号" - -#: templates/part.edit_address_dialog.php:54 -#: templates/part.edit_address_dialog.php:57 -msgid "Country" -msgstr "国名" - -#: templates/part.edit_name_dialog.php:16 -msgid "Addressbook" -msgstr "アドレス帳" - -#: templates/part.edit_name_dialog.php:23 -msgid "Hon. prefixes" -msgstr "敬称" - -#: templates/part.edit_name_dialog.php:27 -msgid "Miss" -msgstr "Miss" - -#: templates/part.edit_name_dialog.php:28 -msgid "Ms" -msgstr "Ms" - -#: templates/part.edit_name_dialog.php:29 -msgid "Mr" -msgstr "Mr" - -#: templates/part.edit_name_dialog.php:30 -msgid "Sir" -msgstr "Sir" - -#: templates/part.edit_name_dialog.php:31 -msgid "Mrs" -msgstr "Mrs" - -#: templates/part.edit_name_dialog.php:32 -msgid "Dr" -msgstr "Dr" - -#: templates/part.edit_name_dialog.php:35 -msgid "Given name" -msgstr "名" - -#: templates/part.edit_name_dialog.php:37 -msgid "Additional names" -msgstr "ミドルネーム" - -#: templates/part.edit_name_dialog.php:39 -msgid "Family name" -msgstr "姓" - -#: templates/part.edit_name_dialog.php:41 -msgid "Hon. suffixes" -msgstr "称号" - -#: templates/part.edit_name_dialog.php:45 -msgid "J.D." -msgstr "J.D." - -#: templates/part.edit_name_dialog.php:46 -msgid "M.D." -msgstr "M.D." - -#: templates/part.edit_name_dialog.php:47 -msgid "D.O." -msgstr "D.O." - -#: templates/part.edit_name_dialog.php:48 -msgid "D.C." -msgstr "D.C." - -#: templates/part.edit_name_dialog.php:49 -msgid "Ph.D." -msgstr "Ph.D." - -#: templates/part.edit_name_dialog.php:50 -msgid "Esq." -msgstr "Esq." - -#: templates/part.edit_name_dialog.php:51 -msgid "Jr." -msgstr "Jr." - -#: templates/part.edit_name_dialog.php:52 -msgid "Sn." -msgstr "Sn." - -#: templates/part.import.php:1 -msgid "Import a contacts file" -msgstr "連絡先ファイルをインポート" - -#: templates/part.import.php:6 -msgid "Please choose the addressbook" -msgstr "アドレス帳を選択してください" - -#: templates/part.import.php:10 -msgid "create a new addressbook" -msgstr "新しいアドレス帳を作成" - -#: templates/part.import.php:15 -msgid "Name of new addressbook" -msgstr "新しいアドレスブックの名前" - -#: templates/part.import.php:20 -msgid "Importing contacts" -msgstr "連絡先をインポート" - -#: templates/part.no_contacts.php:3 -msgid "You have no contacts in your addressbook." -msgstr "アドレス帳に連絡先が登録されていません。" - -#: templates/part.no_contacts.php:5 -msgid "Add contact" -msgstr "連絡先を追加" - -#: templates/part.selectaddressbook.php:1 -msgid "Select Address Books" -msgstr "アドレス帳を選択してください" - -#: templates/part.selectaddressbook.php:27 -msgid "Enter name" -msgstr "名前を入力" - -#: templates/part.selectaddressbook.php:29 -msgid "Enter description" -msgstr "説明を入力してください" - -#: templates/settings.php:3 -msgid "CardDAV syncing addresses" -msgstr "CardDAV同期アドレス" - -#: templates/settings.php:3 -msgid "more info" -msgstr "詳細情報" - -#: templates/settings.php:5 -msgid "Primary address (Kontact et al)" -msgstr "プライマリアドレス(Kontact 他)" - -#: templates/settings.php:7 -msgid "iOS/OS X" -msgstr "iOS/OS X" - -#: templates/settings.php:20 -msgid "Show CardDav link" -msgstr "CarDavリンクを表示" - -#: templates/settings.php:23 -msgid "Show read-only VCF link" -msgstr "読み取り専用のVCFリンクを表示" - -#: templates/settings.php:26 -msgid "Share" -msgstr "共有" - -#: templates/settings.php:29 -msgid "Download" -msgstr "ダウンロード" - -#: templates/settings.php:33 -msgid "Edit" -msgstr "編集" - -#: templates/settings.php:43 -msgid "New Address Book" -msgstr "新規のアドレス帳" - -#: templates/settings.php:44 -msgid "Name" -msgstr "名前" - -#: templates/settings.php:45 -msgid "Description" -msgstr "説明" - -#: templates/settings.php:46 -msgid "Save" -msgstr "保存" - -#: templates/settings.php:47 -msgid "Cancel" -msgstr "取り消し" - -#: templates/settings.php:52 -msgid "More..." -msgstr "もっと..." diff --git a/l10n/ja_JP/core.po b/l10n/ja_JP/core.po index 4e57760cc557638ad9005fa822f848568f09a045..571d8a38dc75b756ccc3b67900687492a85506a5 100644 --- a/l10n/ja_JP/core.po +++ b/l10n/ja_JP/core.po @@ -9,9 +9,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-16 02:04+0200\n" -"PO-Revision-Date: 2012-10-16 00:05+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-11-23 00:01+0100\n" +"PO-Revision-Date: 2012-11-22 08:03+0000\n" +"Last-Translator: Daisuke Deguchi \n" "Language-Team: Japanese (Japan) (http://www.transifex.com/projects/p/owncloud/language/ja_JP/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -19,209 +19,241 @@ msgstr "" "Language: ja_JP\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: ajax/vcategories/add.php:23 ajax/vcategories/delete.php:23 -msgid "Application name not provided." -msgstr "アプリケーション名は提供されていません。" +#: ajax/vcategories/add.php:26 ajax/vcategories/edit.php:25 +msgid "Category type not provided." +msgstr "カテゴリタイプは提供されていません。" -#: ajax/vcategories/add.php:29 +#: ajax/vcategories/add.php:30 msgid "No category to add?" msgstr "追加するカテゴリはありませんか?" -#: ajax/vcategories/add.php:36 +#: ajax/vcategories/add.php:37 msgid "This category already exists: " msgstr "このカテゴリはすでに存在します: " -#: js/js.js:238 templates/layout.user.php:49 templates/layout.user.php:50 +#: ajax/vcategories/addToFavorites.php:26 ajax/vcategories/delete.php:27 +#: ajax/vcategories/favorites.php:24 +#: ajax/vcategories/removeFromFavorites.php:26 +msgid "Object type not provided." +msgstr "オブジェクトタイプは提供されていません。" + +#: ajax/vcategories/addToFavorites.php:30 +#: ajax/vcategories/removeFromFavorites.php:30 +#, php-format +msgid "%s ID not provided." +msgstr "%s ID は提供されていません。" + +#: ajax/vcategories/addToFavorites.php:35 +#, php-format +msgid "Error adding %s to favorites." +msgstr "お気に入りに %s を追加エラー" + +#: ajax/vcategories/delete.php:35 js/oc-vcategories.js:136 +msgid "No categories selected for deletion." +msgstr "削除するカテゴリが選択されていません。" + +#: ajax/vcategories/removeFromFavorites.php:35 +#, php-format +msgid "Error removing %s from favorites." +msgstr "お気に入りから %s の削除エラー" + +#: js/js.js:259 templates/layout.user.php:60 templates/layout.user.php:61 msgid "Settings" msgstr "設定" -#: js/js.js:670 -msgid "January" -msgstr "1月" +#: js/js.js:704 +msgid "seconds ago" +msgstr "秒前" -#: js/js.js:670 -msgid "February" -msgstr "2月" +#: js/js.js:705 +msgid "1 minute ago" +msgstr "1 分前" -#: js/js.js:670 -msgid "March" -msgstr "3月" +#: js/js.js:706 +msgid "{minutes} minutes ago" +msgstr "{minutes} 分前" -#: js/js.js:670 -msgid "April" -msgstr "4月" +#: js/js.js:707 +msgid "1 hour ago" +msgstr "1 時間前" -#: js/js.js:670 -msgid "May" -msgstr "5月" +#: js/js.js:708 +msgid "{hours} hours ago" +msgstr "{hours} 時間前" -#: js/js.js:670 -msgid "June" -msgstr "6月" +#: js/js.js:709 +msgid "today" +msgstr "今日" -#: js/js.js:671 -msgid "July" -msgstr "7月" +#: js/js.js:710 +msgid "yesterday" +msgstr "昨日" -#: js/js.js:671 -msgid "August" -msgstr "8月" +#: js/js.js:711 +msgid "{days} days ago" +msgstr "{days} 日前" -#: js/js.js:671 -msgid "September" -msgstr "9月" +#: js/js.js:712 +msgid "last month" +msgstr "一月前" -#: js/js.js:671 -msgid "October" -msgstr "10月" +#: js/js.js:713 +msgid "{months} months ago" +msgstr "{months} 月前" -#: js/js.js:671 -msgid "November" -msgstr "11月" +#: js/js.js:714 +msgid "months ago" +msgstr "月前" -#: js/js.js:671 -msgid "December" -msgstr "12月" +#: js/js.js:715 +msgid "last year" +msgstr "一年前" + +#: js/js.js:716 +msgid "years ago" +msgstr "年前" -#: js/oc-dialogs.js:123 +#: js/oc-dialogs.js:126 msgid "Choose" msgstr "選択" -#: js/oc-dialogs.js:143 js/oc-dialogs.js:163 +#: js/oc-dialogs.js:146 js/oc-dialogs.js:166 msgid "Cancel" msgstr "キャンセル" -#: js/oc-dialogs.js:159 +#: js/oc-dialogs.js:162 msgid "No" msgstr "いいえ" -#: js/oc-dialogs.js:160 +#: js/oc-dialogs.js:163 msgid "Yes" msgstr "はい" -#: js/oc-dialogs.js:177 +#: js/oc-dialogs.js:180 msgid "Ok" msgstr "OK" -#: js/oc-vcategories.js:68 -msgid "No categories selected for deletion." -msgstr "削除するカテゴリが選択されていません。" +#: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102 +#: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162 +msgid "The object type is not specified." +msgstr "オブジェクタイプが指定されていません。" -#: js/oc-vcategories.js:68 js/share.js:114 js/share.js:121 js/share.js:497 -#: js/share.js:509 +#: js/oc-vcategories.js:95 js/oc-vcategories.js:125 js/oc-vcategories.js:136 +#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:527 +#: js/share.js:539 msgid "Error" msgstr "エラー" -#: js/share.js:103 +#: js/oc-vcategories.js:179 +msgid "The app name is not specified." +msgstr "アプリ名がしていされていません。" + +#: js/oc-vcategories.js:194 +msgid "The required file {file} is not installed!" +msgstr "必要なファイル {file} がインストールされていません!" + +#: js/share.js:124 msgid "Error while sharing" msgstr "共有でエラー発生" -#: js/share.js:114 +#: js/share.js:135 msgid "Error while unsharing" msgstr "共有解除でエラー発生" -#: js/share.js:121 +#: js/share.js:142 msgid "Error while changing permissions" msgstr "権限変更でエラー発生" -#: js/share.js:130 -msgid "Shared with you and the group" -msgstr "あなたとグループで共有中" - -#: js/share.js:130 -msgid "by" -msgstr "により" +#: js/share.js:151 +msgid "Shared with you and the group {group} by {owner}" +msgstr "あなたと {owner} のグループ {group} で共有中" -#: js/share.js:132 -msgid "Shared with you by" -msgstr "あなたと共有" +#: js/share.js:153 +msgid "Shared with you by {owner}" +msgstr "{owner} と共有中" -#: js/share.js:137 +#: js/share.js:158 msgid "Share with" msgstr "共有者" -#: js/share.js:142 +#: js/share.js:163 msgid "Share with link" msgstr "URLリンクで共有" -#: js/share.js:143 +#: js/share.js:164 msgid "Password protect" msgstr "パスワード保護" -#: js/share.js:147 templates/installation.php:42 templates/login.php:24 +#: js/share.js:168 templates/installation.php:42 templates/login.php:24 #: templates/verify.php:13 msgid "Password" msgstr "パスワード" -#: js/share.js:152 +#: js/share.js:173 msgid "Set expiration date" msgstr "有効期限を設定" -#: js/share.js:153 +#: js/share.js:174 msgid "Expiration date" msgstr "有効期限" -#: js/share.js:185 +#: js/share.js:206 msgid "Share via email:" msgstr "メール経由で共有:" -#: js/share.js:187 +#: js/share.js:208 msgid "No people found" msgstr "ユーザーが見つかりません" -#: js/share.js:214 +#: js/share.js:235 msgid "Resharing is not allowed" msgstr "再共有は許可されていません" -#: js/share.js:250 -msgid "Shared in" -msgstr "の中で共有中" - -#: js/share.js:250 -msgid "with" -msgstr "と" - #: js/share.js:271 +msgid "Shared in {item} with {user}" +msgstr "{item} 内で {user} と共有中" + +#: js/share.js:292 msgid "Unshare" msgstr "共有解除" -#: js/share.js:283 +#: js/share.js:304 msgid "can edit" msgstr "編集可能" -#: js/share.js:285 +#: js/share.js:306 msgid "access control" msgstr "アクセス権限" -#: js/share.js:288 +#: js/share.js:309 msgid "create" msgstr "作成" -#: js/share.js:291 +#: js/share.js:312 msgid "update" msgstr "更新" -#: js/share.js:294 +#: js/share.js:315 msgid "delete" msgstr "削除" -#: js/share.js:297 +#: js/share.js:318 msgid "share" msgstr "共有" -#: js/share.js:322 js/share.js:484 +#: js/share.js:343 js/share.js:514 js/share.js:516 msgid "Password protected" msgstr "パスワード保護" -#: js/share.js:497 +#: js/share.js:527 msgid "Error unsetting expiration date" msgstr "有効期限の未設定エラー" -#: js/share.js:509 +#: js/share.js:539 msgid "Error setting expiration date" msgstr "有効期限の設定でエラー発生" -#: lostpassword/index.php:26 +#: lostpassword/controller.php:47 msgid "ownCloud password reset" msgstr "ownCloudのパスワードをリセットします" @@ -234,12 +266,12 @@ msgid "You will receive a link to reset your password via Email." msgstr "メールでパスワードをリセットするリンクが届きます。" #: lostpassword/templates/lostpassword.php:5 -msgid "Requested" -msgstr "送信されました" +msgid "Reset email send." +msgstr "リセットメールを送信します。" #: lostpassword/templates/lostpassword.php:8 -msgid "Login failed!" -msgstr "ログインに失敗しました!" +msgid "Request failed!" +msgstr "リクエスト失敗!" #: lostpassword/templates/lostpassword.php:11 templates/installation.php:38 #: templates/login.php:20 @@ -298,7 +330,7 @@ msgstr "見つかりません" msgid "Edit categories" msgstr "カテゴリを編集" -#: templates/edit_categories_dialog.php:14 +#: templates/edit_categories_dialog.php:16 msgid "Add" msgstr "追加" @@ -325,7 +357,7 @@ msgid "" "strongly suggest that you configure your webserver in a way that the data " "directory is no longer accessible or you move the data directory outside the" " webserver document root." -msgstr "" +msgstr "データディレクトリとファイルが恐らくインターネットからアクセスできるようになっています。ownCloudが提供する .htaccessファイルが機能していません。データディレクトリを全くアクセスできないようにするか、データディレクトリをウェブサーバのドキュメントルートの外に置くようにウェブサーバを設定することを強くお勧めします。 " #: templates/installation.php:36 msgid "Create an admin account" @@ -372,27 +404,103 @@ msgstr "データベースのホスト名" msgid "Finish setup" msgstr "セットアップを完了します" -#: templates/layout.guest.php:38 +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Sunday" +msgstr "日" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Monday" +msgstr "月" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Tuesday" +msgstr "火" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Wednesday" +msgstr "水" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Thursday" +msgstr "木" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Friday" +msgstr "金" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Saturday" +msgstr "土" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "January" +msgstr "1月" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "February" +msgstr "2月" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "March" +msgstr "3月" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "April" +msgstr "4月" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "May" +msgstr "5月" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "June" +msgstr "6月" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "July" +msgstr "7月" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "August" +msgstr "8月" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "September" +msgstr "9月" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "October" +msgstr "10月" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "November" +msgstr "11月" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "December" +msgstr "12月" + +#: templates/layout.guest.php:42 msgid "web services under your control" msgstr "管理下にあるウェブサービス" -#: templates/layout.user.php:34 +#: templates/layout.user.php:45 msgid "Log out" msgstr "ログアウト" #: templates/login.php:8 msgid "Automatic logon rejected!" -msgstr "" +msgstr "自動ログインは拒否されました!" #: templates/login.php:9 msgid "" "If you did not change your password recently, your account may be " "compromised!" -msgstr "" +msgstr "最近パスワードを変更していない場合、あなたのアカウントは危険にさらされているかもしれません。" #: templates/login.php:10 msgid "Please change your password to secure your account again." -msgstr "" +msgstr "アカウント保護の為、パスワードを再度の変更をお願いいたします。" #: templates/login.php:15 msgid "Lost your password?" @@ -420,14 +528,14 @@ msgstr "次" #: templates/verify.php:5 msgid "Security Warning!" -msgstr "" +msgstr "セキュリティ警告!" #: templates/verify.php:6 msgid "" "Please verify your password.
For security reasons you may be " "occasionally asked to enter your password again." -msgstr "" +msgstr "パスワードの確認
セキュリティ上の理由によりパスワードの再入力をお願いします。" #: templates/verify.php:16 msgid "Verify" -msgstr "" +msgstr "確認" diff --git a/l10n/ja_JP/files.po b/l10n/ja_JP/files.po index 786548648ce6c4db947847e2e9f077fdd954714c..3f253361a8a512123fe79156419bd76cac499dbc 100644 --- a/l10n/ja_JP/files.po +++ b/l10n/ja_JP/files.po @@ -4,14 +4,16 @@ # # Translators: # Daisuke Deguchi , 2012. +# Daisuke Deguchi , 2012. +# , 2012. # , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-09-28 02:02+0200\n" -"PO-Revision-Date: 2012-09-27 00:51+0000\n" -"Last-Translator: Daisuke Deguchi \n" +"POT-Creation-Date: 2012-12-04 00:06+0100\n" +"PO-Revision-Date: 2012-12-03 01:53+0000\n" +"Last-Translator: Daisuke Deguchi \n" "Language-Team: Japanese (Japan) (http://www.transifex.com/projects/p/owncloud/language/ja_JP/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -24,195 +26,166 @@ msgid "There is no error, the file uploaded with success" msgstr "エラーはありません。ファイルのアップロードは成功しました" #: ajax/upload.php:21 -msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" -msgstr "アップロードされたファイルはphp.iniのupload_max_filesizeに設定されたサイズを超えています" +msgid "" +"The uploaded file exceeds the upload_max_filesize directive in php.ini: " +msgstr "アップロードされたファイルはphp.ini の upload_max_filesize に設定されたサイズを超えています:" -#: ajax/upload.php:22 +#: ajax/upload.php:23 msgid "" "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " "the HTML form" msgstr "アップロードされたファイルはHTMLのフォームに設定されたMAX_FILE_SIZEに設定されたサイズを超えています" -#: ajax/upload.php:23 +#: ajax/upload.php:25 msgid "The uploaded file was only partially uploaded" msgstr "ファイルは一部分しかアップロードされませんでした" -#: ajax/upload.php:24 +#: ajax/upload.php:26 msgid "No file was uploaded" msgstr "ファイルはアップロードされませんでした" -#: ajax/upload.php:25 +#: ajax/upload.php:27 msgid "Missing a temporary folder" msgstr "テンポラリフォルダが見つかりません" -#: ajax/upload.php:26 +#: ajax/upload.php:28 msgid "Failed to write to disk" msgstr "ディスクへの書き込みに失敗しました" -#: appinfo/app.php:6 +#: appinfo/app.php:10 msgid "Files" msgstr "ファイル" -#: js/fileactions.js:108 templates/index.php:62 +#: js/fileactions.js:117 templates/index.php:83 templates/index.php:84 msgid "Unshare" msgstr "共有しない" -#: js/fileactions.js:110 templates/index.php:64 +#: js/fileactions.js:119 templates/index.php:89 templates/index.php:90 msgid "Delete" msgstr "削除" -#: js/fileactions.js:182 +#: js/fileactions.js:181 msgid "Rename" msgstr "名前の変更" -#: js/filelist.js:190 js/filelist.js:192 -msgid "already exists" -msgstr "既に存在します" +#: js/filelist.js:201 js/filelist.js:203 +msgid "{new_name} already exists" +msgstr "{new_name} はすでに存在しています" -#: js/filelist.js:190 js/filelist.js:192 +#: js/filelist.js:201 js/filelist.js:203 msgid "replace" msgstr "置き換え" -#: js/filelist.js:190 +#: js/filelist.js:201 msgid "suggest name" msgstr "推奨名称" -#: js/filelist.js:190 js/filelist.js:192 +#: js/filelist.js:201 js/filelist.js:203 msgid "cancel" msgstr "キャンセル" -#: js/filelist.js:239 js/filelist.js:241 -msgid "replaced" -msgstr "置換:" +#: js/filelist.js:250 +msgid "replaced {new_name}" +msgstr "{new_name} を置換" -#: js/filelist.js:239 js/filelist.js:241 js/filelist.js:273 js/filelist.js:275 +#: js/filelist.js:250 js/filelist.js:252 js/filelist.js:284 js/filelist.js:286 msgid "undo" msgstr "元に戻す" -#: js/filelist.js:241 -msgid "with" -msgstr "←" +#: js/filelist.js:252 +msgid "replaced {new_name} with {old_name}" +msgstr "{old_name} を {new_name} に置換" -#: js/filelist.js:273 -msgid "unshared" -msgstr "未共有" +#: js/filelist.js:284 +msgid "unshared {files}" +msgstr "未共有 {files}" -#: js/filelist.js:275 -msgid "deleted" -msgstr "削除" +#: js/filelist.js:286 +msgid "deleted {files}" +msgstr "削除 {files}" + +#: js/files.js:33 +msgid "" +"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not " +"allowed." +msgstr "無効な名前、'\\', '/', '<', '>', ':', '\"', '|', '?', '*' は使用できません。" -#: js/files.js:179 +#: js/files.js:183 msgid "generating ZIP-file, it may take some time." msgstr "ZIPファイルを生成中です、しばらくお待ちください。" -#: js/files.js:208 +#: js/files.js:218 msgid "Unable to upload your file as it is a directory or has 0 bytes" -msgstr "アップロード使用としているファイルがディレクトリ、もしくはサイズが0バイトのため、アップロードできません。" +msgstr "ディレクトリもしくは0バイトのファイルはアップロードできません" -#: js/files.js:208 +#: js/files.js:218 msgid "Upload Error" msgstr "アップロードエラー" -#: js/files.js:236 js/files.js:341 js/files.js:371 +#: js/files.js:235 +msgid "Close" +msgstr "閉じる" + +#: js/files.js:254 js/files.js:368 js/files.js:398 msgid "Pending" msgstr "保留" -#: js/files.js:256 +#: js/files.js:274 msgid "1 file uploading" msgstr "ファイルを1つアップロード中" -#: js/files.js:259 js/files.js:304 js/files.js:319 -msgid "files uploading" -msgstr "ファイルをアップロード中" +#: js/files.js:277 js/files.js:331 js/files.js:346 +msgid "{count} files uploading" +msgstr "{count} ファイルをアップロード中" -#: js/files.js:322 js/files.js:355 +#: js/files.js:349 js/files.js:382 msgid "Upload cancelled." msgstr "アップロードはキャンセルされました。" -#: js/files.js:424 +#: js/files.js:451 msgid "" "File upload is in progress. Leaving the page now will cancel the upload." msgstr "ファイル転送を実行中です。今このページから移動するとアップロードが中止されます。" -#: js/files.js:494 -msgid "Invalid name, '/' is not allowed." -msgstr "無効な名前、'/' は使用できません。" +#: js/files.js:523 +msgid "Invalid folder name. Usage of \"Shared\" is reserved by Owncloud" +msgstr "無効なフォルダ名です。\"Shared\" の利用は ownCloud が予約済みです。" -#: js/files.js:668 -msgid "files scanned" -msgstr "ファイルをスキャンしました" +#: js/files.js:704 +msgid "{count} files scanned" +msgstr "{count} ファイルをスキャン" -#: js/files.js:676 +#: js/files.js:712 msgid "error while scanning" msgstr "スキャン中のエラー" -#: js/files.js:749 templates/index.php:48 +#: js/files.js:785 templates/index.php:65 msgid "Name" msgstr "名前" -#: js/files.js:750 templates/index.php:56 +#: js/files.js:786 templates/index.php:76 msgid "Size" msgstr "サイズ" -#: js/files.js:751 templates/index.php:58 +#: js/files.js:787 templates/index.php:78 msgid "Modified" msgstr "更新日時" -#: js/files.js:778 -msgid "folder" -msgstr "フォルダ" - -#: js/files.js:780 -msgid "folders" -msgstr "フォルダ" - -#: js/files.js:788 -msgid "file" -msgstr "ファイル" - -#: js/files.js:790 -msgid "files" -msgstr "ファイル" - -#: js/files.js:834 -msgid "seconds ago" -msgstr "秒前" - -#: js/files.js:835 -msgid "minute ago" -msgstr "分前" - -#: js/files.js:836 -msgid "minutes ago" -msgstr "分前" - -#: js/files.js:839 -msgid "today" -msgstr "今日" - -#: js/files.js:840 -msgid "yesterday" -msgstr "昨日" +#: js/files.js:814 +msgid "1 folder" +msgstr "1 フォルダ" -#: js/files.js:841 -msgid "days ago" -msgstr "日前" +#: js/files.js:816 +msgid "{count} folders" +msgstr "{count} フォルダ" -#: js/files.js:842 -msgid "last month" -msgstr "一月前" +#: js/files.js:824 +msgid "1 file" +msgstr "1 ファイル" -#: js/files.js:844 -msgid "months ago" -msgstr "月前" - -#: js/files.js:845 -msgid "last year" -msgstr "一年前" - -#: js/files.js:846 -msgid "years ago" -msgstr "年前" +#: js/files.js:826 +msgid "{count} files" +msgstr "{count} ファイル" #: templates/admin.php:5 msgid "File handling" @@ -222,27 +195,27 @@ msgstr "ファイル操作" msgid "Maximum upload size" msgstr "最大アップロードサイズ" -#: templates/admin.php:7 +#: templates/admin.php:9 msgid "max. possible: " msgstr "最大容量: " -#: templates/admin.php:9 +#: templates/admin.php:12 msgid "Needed for multi-file and folder downloads." msgstr "複数ファイルおよびフォルダのダウンロードに必要" -#: templates/admin.php:9 +#: templates/admin.php:14 msgid "Enable ZIP-download" msgstr "ZIP形式のダウンロードを有効にする" -#: templates/admin.php:11 +#: templates/admin.php:17 msgid "0 is unlimited" msgstr "0を指定した場合は無制限" -#: templates/admin.php:12 +#: templates/admin.php:19 msgid "Maximum input size for ZIP files" msgstr "ZIPファイルへの最大入力サイズ" -#: templates/admin.php:14 +#: templates/admin.php:23 msgid "Save" msgstr "保存" @@ -250,52 +223,48 @@ msgstr "保存" msgid "New" msgstr "新規" -#: templates/index.php:9 +#: templates/index.php:10 msgid "Text file" msgstr "テキストファイル" -#: templates/index.php:10 +#: templates/index.php:12 msgid "Folder" msgstr "フォルダ" -#: templates/index.php:11 -msgid "From url" -msgstr "URL" +#: templates/index.php:14 +msgid "From link" +msgstr "リンク" -#: templates/index.php:20 +#: templates/index.php:35 msgid "Upload" msgstr "アップロード" -#: templates/index.php:27 +#: templates/index.php:43 msgid "Cancel upload" msgstr "アップロードをキャンセル" -#: templates/index.php:40 +#: templates/index.php:57 msgid "Nothing in here. Upload something!" msgstr "ここには何もありません。何かアップロードしてください。" -#: templates/index.php:50 -msgid "Share" -msgstr "共有" - -#: templates/index.php:52 +#: templates/index.php:71 msgid "Download" msgstr "ダウンロード" -#: templates/index.php:75 +#: templates/index.php:103 msgid "Upload too large" msgstr "ファイルサイズが大きすぎます" -#: templates/index.php:77 +#: templates/index.php:105 msgid "" "The files you are trying to upload exceed the maximum size for file uploads " "on this server." msgstr "アップロードしようとしているファイルは、サーバで規定された最大サイズを超えています。" -#: templates/index.php:82 +#: templates/index.php:110 msgid "Files are being scanned, please wait." msgstr "ファイルをスキャンしています、しばらくお待ちください。" -#: templates/index.php:85 +#: templates/index.php:113 msgid "Current scanning" msgstr "スキャン中" diff --git a/l10n/ja_JP/files_external.po b/l10n/ja_JP/files_external.po index c857478540bfe96722e69508f87d7c247031a52e..7ddb01d4fa6bbe555c9eaaef700570f11fbc96a9 100644 --- a/l10n/ja_JP/files_external.po +++ b/l10n/ja_JP/files_external.po @@ -8,9 +8,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-04 02:04+0200\n" -"PO-Revision-Date: 2012-10-03 02:12+0000\n" -"Last-Translator: Daisuke Deguchi \n" +"POT-Creation-Date: 2012-12-12 00:12+0100\n" +"PO-Revision-Date: 2012-12-11 23:13+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Japanese (Japan) (http://www.transifex.com/projects/p/owncloud/language/ja_JP/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -42,66 +42,80 @@ msgstr "有効なDropboxアプリのキーとパスワードを入力して下 msgid "Error configuring Google Drive storage" msgstr "Googleドライブストレージの設定エラー" +#: lib/config.php:434 +msgid "" +"Warning: \"smbclient\" is not installed. Mounting of CIFS/SMB shares " +"is not possible. Please ask your system administrator to install it." +msgstr "" + +#: lib/config.php:435 +msgid "" +"Warning: The FTP support in PHP is not enabled or installed. Mounting" +" of FTP shares is not possible. Please ask your system administrator to " +"install it." +msgstr "" + #: templates/settings.php:3 msgid "External Storage" msgstr "外部ストレージ" -#: templates/settings.php:7 templates/settings.php:19 +#: templates/settings.php:8 templates/settings.php:22 msgid "Mount point" msgstr "マウントポイント" -#: templates/settings.php:8 +#: templates/settings.php:9 msgid "Backend" msgstr "バックエンド" -#: templates/settings.php:9 +#: templates/settings.php:10 msgid "Configuration" msgstr "設定" -#: templates/settings.php:10 +#: templates/settings.php:11 msgid "Options" msgstr "オプション" -#: templates/settings.php:11 +#: templates/settings.php:12 msgid "Applicable" msgstr "適用範囲" -#: templates/settings.php:23 +#: templates/settings.php:27 msgid "Add mount point" msgstr "マウントポイントを追加" -#: templates/settings.php:54 templates/settings.php:62 +#: templates/settings.php:85 msgid "None set" msgstr "未設定" -#: templates/settings.php:63 +#: templates/settings.php:86 msgid "All Users" msgstr "すべてのユーザ" -#: templates/settings.php:64 +#: templates/settings.php:87 msgid "Groups" msgstr "グループ" -#: templates/settings.php:69 +#: templates/settings.php:95 msgid "Users" msgstr "ユーザ" -#: templates/settings.php:77 templates/settings.php:107 +#: templates/settings.php:108 templates/settings.php:109 +#: templates/settings.php:149 templates/settings.php:150 msgid "Delete" msgstr "削除" -#: templates/settings.php:87 +#: templates/settings.php:124 msgid "Enable User External Storage" msgstr "ユーザの外部ストレージを有効にする" -#: templates/settings.php:88 +#: templates/settings.php:125 msgid "Allow users to mount their own external storage" msgstr "ユーザに外部ストレージのマウントを許可する" -#: templates/settings.php:99 +#: templates/settings.php:139 msgid "SSL root certificates" msgstr "SSLルート証明書" -#: templates/settings.php:113 +#: templates/settings.php:158 msgid "Import Root Certificate" msgstr "ルート証明書をインポート" diff --git a/l10n/ja_JP/files_pdfviewer.po b/l10n/ja_JP/files_pdfviewer.po deleted file mode 100644 index 910d0963593a5276120d64452b53ba03a342cbbb..0000000000000000000000000000000000000000 --- a/l10n/ja_JP/files_pdfviewer.po +++ /dev/null @@ -1,42 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 02:18+0200\n" -"PO-Revision-Date: 2012-08-26 00:19+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Japanese (Japan) (http://www.transifex.com/projects/p/owncloud/language/ja_JP/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ja_JP\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: js/viewer.js:22 -msgid "Previous" -msgstr "" - -#: js/viewer.js:23 -msgid "Next" -msgstr "" - -#: js/viewer.js:29 -msgid "Page Width" -msgstr "" - -#: js/viewer.js:29 -msgid "Page Fit" -msgstr "" - -#: js/viewer.js:30 -msgid "Print" -msgstr "" - -#: js/viewer.js:32 -msgid "Download" -msgstr "" diff --git a/l10n/ja_JP/files_sharing.po b/l10n/ja_JP/files_sharing.po index 0fc95c194485f06c617e1e740a03d2be90548ef2..28be75107c8229b68f9d0b692f0e460ec3b7df04 100644 --- a/l10n/ja_JP/files_sharing.po +++ b/l10n/ja_JP/files_sharing.po @@ -9,9 +9,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-09-23 02:01+0200\n" -"PO-Revision-Date: 2012-09-22 00:56+0000\n" -"Last-Translator: ttyn \n" +"POT-Creation-Date: 2012-10-23 02:02+0200\n" +"PO-Revision-Date: 2012-10-22 11:01+0000\n" +"Last-Translator: Daisuke Deguchi \n" "Language-Team: Japanese (Japan) (http://www.transifex.com/projects/p/owncloud/language/ja_JP/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -30,12 +30,12 @@ msgstr "送信" #: templates/public.php:9 #, php-format msgid "%s shared the folder %s with you" -msgstr "%s はフォルダー %s をあなたと共有" +msgstr "%s はフォルダー %s をあなたと共有中です" #: templates/public.php:11 #, php-format msgid "%s shared the file %s with you" -msgstr "%s はファイル %s をあなたと共有" +msgstr "%s はファイル %s をあなたと共有中です" #: templates/public.php:14 templates/public.php:30 msgid "Download" @@ -45,6 +45,6 @@ msgstr "ダウンロード" msgid "No preview available for" msgstr "プレビューはありません" -#: templates/public.php:37 +#: templates/public.php:35 msgid "web services under your control" msgstr "管理下のウェブサービス" diff --git a/l10n/ja_JP/files_texteditor.po b/l10n/ja_JP/files_texteditor.po deleted file mode 100644 index ab61c0af522f4660a827c177fe4beb2a9eaa7f1d..0000000000000000000000000000000000000000 --- a/l10n/ja_JP/files_texteditor.po +++ /dev/null @@ -1,44 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 01:17+0200\n" -"PO-Revision-Date: 2012-08-25 23:18+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Japanese (Japan) (http://www.transifex.com/projects/p/owncloud/language/ja_JP/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ja_JP\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: js/aceeditor/mode-coldfusion-uncompressed.js:1568 -#: js/aceeditor/mode-liquid-uncompressed.js:902 -#: js/aceeditor/mode-svg-uncompressed.js:1575 -msgid "regex" -msgstr "" - -#: js/editor.js:72 js/editor.js:156 js/editor.js:163 -msgid "Save" -msgstr "" - -#: js/editor.js:74 -msgid "Close" -msgstr "" - -#: js/editor.js:149 -msgid "Saving..." -msgstr "" - -#: js/editor.js:239 -msgid "An error occurred!" -msgstr "" - -#: js/editor.js:266 -msgid "There were unsaved changes, click here to go back" -msgstr "" diff --git a/l10n/ja_JP/gallery.po b/l10n/ja_JP/gallery.po deleted file mode 100644 index 75913ac9a7a7f24a6e6f31b2c359ff6c6740a1c4..0000000000000000000000000000000000000000 --- a/l10n/ja_JP/gallery.po +++ /dev/null @@ -1,95 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Daisuke Deguchi , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-06-06 00:12+0200\n" -"PO-Revision-Date: 2012-06-05 22:15+0000\n" -"Last-Translator: icewind \n" -"Language-Team: Japanese (Japan) (http://www.transifex.net/projects/p/owncloud/language/ja_JP/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ja_JP\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: appinfo/app.php:37 -msgid "Pictures" -msgstr "写真" - -#: js/album_cover.js:44 -msgid "Share gallery" -msgstr "" - -#: js/album_cover.js:64 js/album_cover.js:100 js/album_cover.js:133 -msgid "Error: " -msgstr "" - -#: js/album_cover.js:64 js/album_cover.js:100 -msgid "Internal error" -msgstr "" - -#: js/album_cover.js:114 -msgid "Scanning root" -msgstr "" - -#: js/album_cover.js:115 -msgid "Default order" -msgstr "" - -#: js/album_cover.js:116 -msgid "Ascending" -msgstr "" - -#: js/album_cover.js:116 -msgid "Descending" -msgstr "" - -#: js/album_cover.js:117 templates/index.php:19 -msgid "Settings" -msgstr "設定" - -#: js/album_cover.js:122 -msgid "Scanning root cannot be empty" -msgstr "" - -#: js/album_cover.js:122 js/album_cover.js:133 -msgid "Error" -msgstr "" - -#: templates/index.php:16 -msgid "Rescan" -msgstr "再スキャン" - -#: templates/index.php:17 -msgid "Stop" -msgstr "停止" - -#: templates/index.php:18 -msgid "Share" -msgstr "共有" - -#: templates/view_album.php:19 -msgid "Back" -msgstr "戻る" - -#: templates/view_album.php:36 -msgid "Remove confirmation" -msgstr "承認を取りやめ" - -#: templates/view_album.php:37 -msgid "Do you want to remove album" -msgstr "アルバムを削除しますか?" - -#: templates/view_album.php:40 -msgid "Change album name" -msgstr "アルバム名を変更する" - -#: templates/view_album.php:43 -msgid "New album name" -msgstr "新しいアルバム名" diff --git a/l10n/ja_JP/impress.po b/l10n/ja_JP/impress.po deleted file mode 100644 index 360c0eca04e2ecd44dffda3f3c08256c14ad1b03..0000000000000000000000000000000000000000 --- a/l10n/ja_JP/impress.po +++ /dev/null @@ -1,22 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 01:17+0200\n" -"PO-Revision-Date: 2012-08-25 23:18+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Japanese (Japan) (http://www.transifex.com/projects/p/owncloud/language/ja_JP/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ja_JP\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: templates/presentations.php:7 -msgid "Documentation" -msgstr "" diff --git a/l10n/ja_JP/lib.po b/l10n/ja_JP/lib.po index d9b410fa885f3e4a4f4e6c7800a4ea79b5975959..2f16f6575407be20ac8e5086499e8f06c0a3a6a9 100644 --- a/l10n/ja_JP/lib.po +++ b/l10n/ja_JP/lib.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-09-04 02:01+0200\n" -"PO-Revision-Date: 2012-09-03 15:55+0000\n" +"POT-Creation-Date: 2012-11-16 00:02+0100\n" +"PO-Revision-Date: 2012-11-15 00:37+0000\n" "Last-Translator: Daisuke Deguchi \n" "Language-Team: Japanese (Japan) (http://www.transifex.com/projects/p/owncloud/language/ja_JP/)\n" "MIME-Version: 1.0\n" @@ -18,43 +18,43 @@ msgstr "" "Language: ja_JP\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: app.php:288 +#: app.php:285 msgid "Help" msgstr "ヘルプ" -#: app.php:295 +#: app.php:292 msgid "Personal" msgstr "個人設定" -#: app.php:300 +#: app.php:297 msgid "Settings" msgstr "設定" -#: app.php:305 +#: app.php:302 msgid "Users" msgstr "ユーザ" -#: app.php:312 +#: app.php:309 msgid "Apps" msgstr "アプリ" -#: app.php:314 +#: app.php:311 msgid "Admin" msgstr "管理者" -#: files.php:280 +#: files.php:332 msgid "ZIP download is turned off." msgstr "ZIPダウンロードは無効です。" -#: files.php:281 +#: files.php:333 msgid "Files need to be downloaded one by one." msgstr "ファイルは1つずつダウンロードする必要があります。" -#: files.php:281 files.php:306 +#: files.php:333 files.php:358 msgid "Back to Files" msgstr "ファイルに戻る" -#: files.php:305 +#: files.php:357 msgid "Selected files too large to generate zip file." msgstr "選択したファイルはZIPファイルの生成には大きすぎます。" @@ -62,7 +62,7 @@ msgstr "選択したファイルはZIPファイルの生成には大きすぎま msgid "Application is not enabled" msgstr "アプリケーションは無効です" -#: json.php:39 json.php:63 json.php:75 +#: json.php:39 json.php:64 json.php:77 json.php:89 msgid "Authentication error" msgstr "認証エラー" @@ -70,57 +70,84 @@ msgstr "認証エラー" msgid "Token expired. Please reload page." msgstr "トークンが無効になりました。ページを再読込してください。" -#: template.php:87 +#: search/provider/file.php:17 search/provider/file.php:35 +msgid "Files" +msgstr "ファイル" + +#: search/provider/file.php:26 search/provider/file.php:33 +msgid "Text" +msgstr "TTY TDD" + +#: search/provider/file.php:29 +msgid "Images" +msgstr "画像" + +#: template.php:103 msgid "seconds ago" msgstr "秒前" -#: template.php:88 +#: template.php:104 msgid "1 minute ago" msgstr "1分前" -#: template.php:89 +#: template.php:105 #, php-format msgid "%d minutes ago" msgstr "%d 分前" -#: template.php:92 +#: template.php:106 +msgid "1 hour ago" +msgstr "1 時間前" + +#: template.php:107 +#, php-format +msgid "%d hours ago" +msgstr "%d 時間前" + +#: template.php:108 msgid "today" msgstr "今日" -#: template.php:93 +#: template.php:109 msgid "yesterday" msgstr "昨日" -#: template.php:94 +#: template.php:110 #, php-format msgid "%d days ago" msgstr "%d 日前" -#: template.php:95 +#: template.php:111 msgid "last month" msgstr "先月" -#: template.php:96 -msgid "months ago" -msgstr "月前" +#: template.php:112 +#, php-format +msgid "%d months ago" +msgstr "%d 分前" -#: template.php:97 +#: template.php:113 msgid "last year" msgstr "昨年" -#: template.php:98 +#: template.php:114 msgid "years ago" msgstr "年前" -#: updater.php:66 +#: updater.php:75 #, php-format msgid "%s is available. Get more information" msgstr "%s が利用可能です。詳細情報 を確認ください" -#: updater.php:68 +#: updater.php:77 msgid "up to date" msgstr "最新です" -#: updater.php:71 +#: updater.php:80 msgid "updates check is disabled" msgstr "更新チェックは無効です" + +#: vcategories.php:188 vcategories.php:249 +#, php-format +msgid "Could not find category \"%s\"" +msgstr "カテゴリ \"%s\" が見つかりませんでした" diff --git a/l10n/ja_JP/media.po b/l10n/ja_JP/media.po deleted file mode 100644 index ef58f5e08792ec3242ec9b773782696dac162ec8..0000000000000000000000000000000000000000 --- a/l10n/ja_JP/media.po +++ /dev/null @@ -1,67 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Daisuke Deguchi , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-06-06 00:12+0200\n" -"PO-Revision-Date: 2012-06-05 22:15+0000\n" -"Last-Translator: icewind \n" -"Language-Team: Japanese (Japan) (http://www.transifex.net/projects/p/owncloud/language/ja_JP/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ja_JP\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: appinfo/app.php:32 templates/player.php:8 -msgid "Music" -msgstr "ミュージック" - -#: js/music.js:18 -msgid "Add album to playlist" -msgstr "" - -#: templates/music.php:3 templates/player.php:12 -msgid "Play" -msgstr "再生" - -#: templates/music.php:4 templates/music.php:26 templates/player.php:13 -msgid "Pause" -msgstr "一時停止" - -#: templates/music.php:5 -msgid "Previous" -msgstr "前" - -#: templates/music.php:6 templates/player.php:14 -msgid "Next" -msgstr "次" - -#: templates/music.php:7 -msgid "Mute" -msgstr "ミュート" - -#: templates/music.php:8 -msgid "Unmute" -msgstr "ミュート解除" - -#: templates/music.php:25 -msgid "Rescan Collection" -msgstr "コレクションの再スキャン" - -#: templates/music.php:37 -msgid "Artist" -msgstr "アーティスト" - -#: templates/music.php:38 -msgid "Album" -msgstr "アルバム" - -#: templates/music.php:39 -msgid "Title" -msgstr "曲名" diff --git a/l10n/ja_JP/settings.po b/l10n/ja_JP/settings.po index 88c1e5402c1ba4d468df333335820f05fbd04736..8d92134dba54dacf94a959c22de59226f1b9e5f6 100644 --- a/l10n/ja_JP/settings.po +++ b/l10n/ja_JP/settings.po @@ -4,14 +4,15 @@ # # Translators: # Daisuke Deguchi , 2012. +# , 2012. # , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-16 02:04+0200\n" -"PO-Revision-Date: 2012-10-15 07:29+0000\n" -"Last-Translator: Daisuke Deguchi \n" +"POT-Creation-Date: 2012-12-03 00:04+0100\n" +"PO-Revision-Date: 2012-12-02 03:18+0000\n" +"Last-Translator: Daisuke Deguchi \n" "Language-Team: Japanese (Japan) (http://www.transifex.com/projects/p/owncloud/language/ja_JP/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -19,69 +20,73 @@ msgstr "" "Language: ja_JP\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: ajax/apps/ocs.php:23 +#: ajax/apps/ocs.php:20 msgid "Unable to load list from App Store" msgstr "アプリストアからリストをロードできません" -#: ajax/creategroup.php:12 +#: ajax/creategroup.php:10 msgid "Group already exists" msgstr "グループは既に存在しています" -#: ajax/creategroup.php:21 +#: ajax/creategroup.php:19 msgid "Unable to add group" msgstr "グループを追加できません" -#: ajax/enableapp.php:14 +#: ajax/enableapp.php:12 msgid "Could not enable app. " msgstr "アプリを有効にできませんでした。" -#: ajax/lostpassword.php:14 +#: ajax/lostpassword.php:12 msgid "Email saved" msgstr "メールアドレスを保存しました" -#: ajax/lostpassword.php:16 +#: ajax/lostpassword.php:14 msgid "Invalid email" msgstr "無効なメールアドレス" -#: ajax/openid.php:16 +#: ajax/openid.php:13 msgid "OpenID Changed" msgstr "OpenIDが変更されました" -#: ajax/openid.php:18 ajax/setlanguage.php:20 ajax/setlanguage.php:23 +#: ajax/openid.php:15 ajax/setlanguage.php:17 ajax/setlanguage.php:20 msgid "Invalid request" msgstr "無効なリクエストです" -#: ajax/removegroup.php:16 +#: ajax/removegroup.php:13 msgid "Unable to delete group" msgstr "グループを削除できません" -#: ajax/removeuser.php:18 ajax/setquota.php:18 ajax/togglegroups.php:15 +#: ajax/removeuser.php:15 ajax/setquota.php:15 ajax/togglegroups.php:18 msgid "Authentication error" msgstr "認証エラー" -#: ajax/removeuser.php:27 +#: ajax/removeuser.php:24 msgid "Unable to delete user" msgstr "ユーザを削除できません" -#: ajax/setlanguage.php:18 +#: ajax/setlanguage.php:15 msgid "Language changed" msgstr "言語が変更されました" -#: ajax/togglegroups.php:25 +#: ajax/togglegroups.php:12 +msgid "Admins can't remove themself from the admin group" +msgstr "管理者は自身を管理者グループから削除できません。" + +#: ajax/togglegroups.php:28 #, php-format msgid "Unable to add user to group %s" msgstr "ユーザをグループ %s に追加できません" -#: ajax/togglegroups.php:31 +#: ajax/togglegroups.php:34 #, php-format msgid "Unable to remove user from group %s" msgstr "ユーザをグループ %s から削除できません" -#: js/apps.js:28 js/apps.js:65 +#: js/apps.js:28 js/apps.js:67 msgid "Disable" msgstr "無効" -#: js/apps.js:28 js/apps.js:54 +#: js/apps.js:28 js/apps.js:55 msgid "Enable" msgstr "有効" @@ -93,93 +98,6 @@ msgstr "保存中..." msgid "__language_name__" msgstr "Japanese (日本語)" -#: templates/admin.php:14 -msgid "Security Warning" -msgstr "セキュリティ警告" - -#: templates/admin.php:17 -msgid "" -"Your data directory and your files are probably accessible from the " -"internet. The .htaccess file that ownCloud provides is not working. We " -"strongly suggest that you configure your webserver in a way that the data " -"directory is no longer accessible or you move the data directory outside the" -" webserver document root." -msgstr "データディレクトリとファイルが恐らくインターネットからアクセスできるようになっています。ownCloudが提供する .htaccessファイルが機能していません。データディレクトリを全くアクセスできないようにするか、データディレクトリをウェブサーバのドキュメントルートの外に置くようにウェブサーバを設定することを強くお勧めします。" - -#: templates/admin.php:31 -msgid "Cron" -msgstr "cron(自動定期実行)" - -#: templates/admin.php:37 -msgid "Execute one task with each page loaded" -msgstr "各ページの読み込み時にタスクを1つ実行する" - -#: templates/admin.php:43 -msgid "" -"cron.php is registered at a webcron service. Call the cron.php page in the " -"owncloud root once a minute over http." -msgstr "cron.php は webcron サービスとして登録されています。HTTP経由で1分間に1回の頻度で owncloud のルートページ内の cron.php ページを呼び出します。" - -#: templates/admin.php:49 -msgid "" -"Use systems cron service. Call the cron.php file in the owncloud folder via " -"a system cronjob once a minute." -msgstr "システムのcronサービスを利用する。1分に1回の頻度でシステムのcronジョブによりowncloudフォルダ内のcron.phpファイルを呼び出してください。" - -#: templates/admin.php:56 -msgid "Sharing" -msgstr "共有中" - -#: templates/admin.php:61 -msgid "Enable Share API" -msgstr "Share APIを有効" - -#: templates/admin.php:62 -msgid "Allow apps to use the Share API" -msgstr "Share APIの使用をアプリケーションに許可" - -#: templates/admin.php:67 -msgid "Allow links" -msgstr "リンクを許可" - -#: templates/admin.php:68 -msgid "Allow users to share items to the public with links" -msgstr "ユーザーがリンクによる公開でアイテムを共有することが出来るようにする" - -#: templates/admin.php:73 -msgid "Allow resharing" -msgstr "再共有を許可" - -#: templates/admin.php:74 -msgid "Allow users to share items shared with them again" -msgstr "ユーザーが共有されているアイテムをさらに共有することが出来るようにする" - -#: templates/admin.php:79 -msgid "Allow users to share with anyone" -msgstr "ユーザーが誰にでも共有出来るようにする" - -#: templates/admin.php:81 -msgid "Allow users to only share with users in their groups" -msgstr "ユーザーがグループの人にしか共有出来ないようにする" - -#: templates/admin.php:88 -msgid "Log" -msgstr "ログ" - -#: templates/admin.php:116 -msgid "More" -msgstr "もっと" - -#: templates/admin.php:124 -msgid "" -"Developed by the ownCloud community, the source code is " -"licensed under the AGPL." -msgstr "ownCloud communityにより開発されています、ソースコードライセンスは、AGPL ライセンスにより提供されています。" - #: templates/apps.php:10 msgid "Add your App" msgstr "アプリを追加" @@ -212,22 +130,22 @@ msgstr "大きなファイルを扱うには" msgid "Ask a question" msgstr "質問してください" -#: templates/help.php:23 +#: templates/help.php:22 msgid "Problems connecting to help database." msgstr "ヘルプデータベースへの接続時に問題が発生しました" -#: templates/help.php:24 +#: templates/help.php:23 msgid "Go there manually." msgstr "手動で移動してください。" -#: templates/help.php:32 +#: templates/help.php:31 msgid "Answer" msgstr "解答" #: templates/personal.php:8 #, php-format -msgid "You have used %s of the available %s" -msgstr "現在、 %s / %s を利用しています" +msgid "You have used %s of the available %s" +msgstr "現在、%s / %s を利用しています" #: templates/personal.php:12 msgid "Desktop and Mobile Syncing Clients" @@ -285,6 +203,16 @@ msgstr "翻訳に協力する" msgid "use this address to connect to your ownCloud in your file manager" msgstr "ファイルマネージャーであなたのownCloudに接続する際は、このアドレスを使用してください" +#: templates/personal.php:61 +msgid "" +"Developed by the ownCloud community, the source code is " +"licensed under the AGPL." +msgstr "ownCloud communityにより開発されています、ソースコードライセンスは、AGPL ライセンスにより提供されています。" + #: templates/users.php:21 templates/users.php:76 msgid "Name" msgstr "名前" diff --git a/l10n/ja_JP/tasks.po b/l10n/ja_JP/tasks.po deleted file mode 100644 index 13b0423ca16beec7dfbcdd5ef207314e99b81818..0000000000000000000000000000000000000000 --- a/l10n/ja_JP/tasks.po +++ /dev/null @@ -1,108 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Daisuke Deguchi , 2012. -# , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-16 02:04+0200\n" -"PO-Revision-Date: 2012-08-15 03:40+0000\n" -"Last-Translator: ttyn \n" -"Language-Team: Japanese (Japan) (http://www.transifex.com/projects/p/owncloud/language/ja_JP/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ja_JP\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: ajax/update_property.php:51 lib/app.php:89 lib/app.php:101 -msgid "Invalid date/time" -msgstr "無効な日付/時刻" - -#: appinfo/app.php:11 -msgid "Tasks" -msgstr "タスク" - -#: js/tasks.js:415 -msgid "No category" -msgstr "カテゴリ無し" - -#: lib/app.php:33 -msgid "Unspecified" -msgstr "未指定" - -#: lib/app.php:34 -msgid "1=highest" -msgstr "1=高" - -#: lib/app.php:38 -msgid "5=medium" -msgstr "5=中" - -#: lib/app.php:42 -msgid "9=lowest" -msgstr "9=低" - -#: lib/app.php:81 -msgid "Empty Summary" -msgstr "要旨が未記入" - -#: lib/app.php:93 -msgid "Invalid percent complete" -msgstr "進捗%が不正" - -#: lib/app.php:107 -msgid "Invalid priority" -msgstr "無効な優先度" - -#: templates/tasks.php:3 -msgid "Add Task" -msgstr "タスクを追加" - -#: templates/tasks.php:4 -msgid "Order Due" -msgstr "期日で並べ替え" - -#: templates/tasks.php:5 -msgid "Order List" -msgstr "リストで並び替え" - -#: templates/tasks.php:6 -msgid "Order Complete" -msgstr "完了で並べ替え" - -#: templates/tasks.php:7 -msgid "Order Location" -msgstr "場所で並べ替え" - -#: templates/tasks.php:8 -msgid "Order Priority" -msgstr "優先度で並べ替え" - -#: templates/tasks.php:9 -msgid "Order Label" -msgstr "ラベルで並べ替え" - -#: templates/tasks.php:16 -msgid "Loading tasks..." -msgstr "タスクをロード中..." - -#: templates/tasks.php:20 -msgid "Important" -msgstr "重要" - -#: templates/tasks.php:23 -msgid "More" -msgstr "詳細" - -#: templates/tasks.php:26 -msgid "Less" -msgstr "閉じる" - -#: templates/tasks.php:29 -msgid "Delete" -msgstr "削除" diff --git a/l10n/ja_JP/user_migrate.po b/l10n/ja_JP/user_migrate.po deleted file mode 100644 index 71b2c612ed61c79839f6f9445a359a0c9bb4422f..0000000000000000000000000000000000000000 --- a/l10n/ja_JP/user_migrate.po +++ /dev/null @@ -1,52 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Daisuke Deguchi , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-17 00:44+0200\n" -"PO-Revision-Date: 2012-08-16 05:28+0000\n" -"Last-Translator: Daisuke Deguchi \n" -"Language-Team: Japanese (Japan) (http://www.transifex.com/projects/p/owncloud/language/ja_JP/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ja_JP\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: js/export.js:14 js/export.js:20 -msgid "Export" -msgstr "エクスポート" - -#: js/export.js:19 -msgid "Something went wrong while the export file was being generated" -msgstr "エクスポートファイルの生成時に何か不具合が発生しました。" - -#: js/export.js:19 -msgid "An error has occurred" -msgstr "エラーが発生しました" - -#: templates/settings.php:2 -msgid "Export your user account" -msgstr "ユーザアカウントのエクスポート" - -#: templates/settings.php:3 -msgid "" -"This will create a compressed file that contains your ownCloud account." -msgstr "あなたのownCloudアカウントを含む圧縮ファイルを生成します。" - -#: templates/settings.php:13 -msgid "Import user account" -msgstr "ユーザアカウントをインポート" - -#: templates/settings.php:15 -msgid "ownCloud User Zip" -msgstr "ownCloudユーザZip" - -#: templates/settings.php:17 -msgid "Import" -msgstr "インポート" diff --git a/l10n/ja_JP/user_openid.po b/l10n/ja_JP/user_openid.po deleted file mode 100644 index 5fe4094e68341f74c486a9e167c0207cb6c8afe2..0000000000000000000000000000000000000000 --- a/l10n/ja_JP/user_openid.po +++ /dev/null @@ -1,55 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Daisuke Deguchi , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-16 02:04+0200\n" -"PO-Revision-Date: 2012-08-15 06:36+0000\n" -"Last-Translator: Daisuke Deguchi \n" -"Language-Team: Japanese (Japan) (http://www.transifex.com/projects/p/owncloud/language/ja_JP/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ja_JP\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: templates/nomode.php:12 -msgid "This is an OpenID server endpoint. For more information, see " -msgstr "これはOpenIDサーバのエンドポイントです。詳細は下記をチェックしてください。" - -#: templates/nomode.php:14 -msgid "Identity: " -msgstr "識別子: " - -#: templates/nomode.php:15 -msgid "Realm: " -msgstr "レルム: " - -#: templates/nomode.php:16 -msgid "User: " -msgstr "ユーザ: " - -#: templates/nomode.php:17 -msgid "Login" -msgstr "ログイン" - -#: templates/nomode.php:22 -msgid "Error: No user Selected" -msgstr "エラー: ユーザが選択されていません" - -#: templates/settings.php:4 -msgid "you can authenticate to other sites with this address" -msgstr "他のサイトにこのアドレスで認証することができます" - -#: templates/settings.php:5 -msgid "Authorized OpenID provider" -msgstr "認証されたOpenIDプロバイダ" - -#: templates/settings.php:6 -msgid "Your address at Wordpress, Identi.ca, …" -msgstr "Wordpressのアドレス、Identi.ca、…" diff --git a/l10n/ja_JP/files_odfviewer.po b/l10n/ja_JP/user_webdavauth.po similarity index 59% rename from l10n/ja_JP/files_odfviewer.po rename to l10n/ja_JP/user_webdavauth.po index 75c2c65bbfa33770aeb863c150f8ca60c840f752..7cf5205b76d4c681679a75396007a5f571e0c04a 100644 --- a/l10n/ja_JP/files_odfviewer.po +++ b/l10n/ja_JP/user_webdavauth.po @@ -3,20 +3,21 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# Daisuke Deguchi , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 02:18+0200\n" -"PO-Revision-Date: 2012-08-26 00:19+0000\n" -"Last-Translator: FULL NAME \n" +"POT-Creation-Date: 2012-11-14 00:02+0100\n" +"PO-Revision-Date: 2012-11-13 03:13+0000\n" +"Last-Translator: Daisuke Deguchi \n" "Language-Team: Japanese (Japan) (http://www.transifex.com/projects/p/owncloud/language/ja_JP/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: ja_JP\n" -"Plural-Forms: nplurals=1; plural=0\n" +"Plural-Forms: nplurals=1; plural=0;\n" -#: js/viewer.js:9 -msgid "Close" -msgstr "" +#: templates/settings.php:4 +msgid "WebDAV URL: http://" +msgstr "WebDAV URL: http://" diff --git a/l10n/ka_GE/core.po b/l10n/ka_GE/core.po new file mode 100644 index 0000000000000000000000000000000000000000..3e4540171a4ef6a771e96cc7aa1e4403018b1821 --- /dev/null +++ b/l10n/ka_GE/core.po @@ -0,0 +1,540 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# , 2012. +msgid "" +msgstr "" +"Project-Id-Version: ownCloud\n" +"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" +"POT-Creation-Date: 2012-11-16 00:02+0100\n" +"PO-Revision-Date: 2012-11-14 23:13+0000\n" +"Last-Translator: I Robot \n" +"Language-Team: Georgian (Georgia) (http://www.transifex.com/projects/p/owncloud/language/ka_GE/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ka_GE\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: ajax/vcategories/add.php:26 ajax/vcategories/edit.php:25 +msgid "Category type not provided." +msgstr "" + +#: ajax/vcategories/add.php:30 +msgid "No category to add?" +msgstr "არ არის კატეგორია დასამატებლად?" + +#: ajax/vcategories/add.php:37 +msgid "This category already exists: " +msgstr "კატეგორია უკვე არსებობს" + +#: ajax/vcategories/addToFavorites.php:26 ajax/vcategories/delete.php:27 +#: ajax/vcategories/favorites.php:24 +#: ajax/vcategories/removeFromFavorites.php:26 +msgid "Object type not provided." +msgstr "" + +#: ajax/vcategories/addToFavorites.php:30 +#: ajax/vcategories/removeFromFavorites.php:30 +#, php-format +msgid "%s ID not provided." +msgstr "" + +#: ajax/vcategories/addToFavorites.php:35 +#, php-format +msgid "Error adding %s to favorites." +msgstr "" + +#: ajax/vcategories/delete.php:35 js/oc-vcategories.js:136 +msgid "No categories selected for deletion." +msgstr "სარედაქტირებელი კატეგორია არ არის არჩეული " + +#: ajax/vcategories/removeFromFavorites.php:35 +#, php-format +msgid "Error removing %s from favorites." +msgstr "" + +#: js/js.js:243 templates/layout.user.php:59 templates/layout.user.php:60 +msgid "Settings" +msgstr "პარამეტრები" + +#: js/js.js:688 +msgid "seconds ago" +msgstr "წამის წინ" + +#: js/js.js:689 +msgid "1 minute ago" +msgstr "1 წუთის წინ" + +#: js/js.js:690 +msgid "{minutes} minutes ago" +msgstr "{minutes} წუთის წინ" + +#: js/js.js:691 +msgid "1 hour ago" +msgstr "" + +#: js/js.js:692 +msgid "{hours} hours ago" +msgstr "" + +#: js/js.js:693 +msgid "today" +msgstr "დღეს" + +#: js/js.js:694 +msgid "yesterday" +msgstr "გუშინ" + +#: js/js.js:695 +msgid "{days} days ago" +msgstr "{days} დღის წინ" + +#: js/js.js:696 +msgid "last month" +msgstr "გასულ თვეში" + +#: js/js.js:697 +msgid "{months} months ago" +msgstr "" + +#: js/js.js:698 +msgid "months ago" +msgstr "თვის წინ" + +#: js/js.js:699 +msgid "last year" +msgstr "ბოლო წელს" + +#: js/js.js:700 +msgid "years ago" +msgstr "წლის წინ" + +#: js/oc-dialogs.js:126 +msgid "Choose" +msgstr "არჩევა" + +#: js/oc-dialogs.js:146 js/oc-dialogs.js:166 +msgid "Cancel" +msgstr "უარყოფა" + +#: js/oc-dialogs.js:162 +msgid "No" +msgstr "არა" + +#: js/oc-dialogs.js:163 +msgid "Yes" +msgstr "კი" + +#: js/oc-dialogs.js:180 +msgid "Ok" +msgstr "დიახ" + +#: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102 +#: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162 +msgid "The object type is not specified." +msgstr "" + +#: js/oc-vcategories.js:95 js/oc-vcategories.js:125 js/oc-vcategories.js:136 +#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:525 +#: js/share.js:537 +msgid "Error" +msgstr "შეცდომა" + +#: js/oc-vcategories.js:179 +msgid "The app name is not specified." +msgstr "" + +#: js/oc-vcategories.js:194 +msgid "The required file {file} is not installed!" +msgstr "" + +#: js/share.js:124 +msgid "Error while sharing" +msgstr "შეცდომა გაზიარების დროს" + +#: js/share.js:135 +msgid "Error while unsharing" +msgstr "შეცდომა გაზიარების გაუქმების დროს" + +#: js/share.js:142 +msgid "Error while changing permissions" +msgstr "შეცდომა დაშვების ცვლილების დროს" + +#: js/share.js:151 +msgid "Shared with you and the group {group} by {owner}" +msgstr "" + +#: js/share.js:153 +msgid "Shared with you by {owner}" +msgstr "" + +#: js/share.js:158 +msgid "Share with" +msgstr "გაუზიარე" + +#: js/share.js:163 +msgid "Share with link" +msgstr "გაუზიარე ლინკით" + +#: js/share.js:164 +msgid "Password protect" +msgstr "პაროლით დაცვა" + +#: js/share.js:168 templates/installation.php:42 templates/login.php:24 +#: templates/verify.php:13 +msgid "Password" +msgstr "პაროლი" + +#: js/share.js:173 +msgid "Set expiration date" +msgstr "მიუთითე ვადის გასვლის დრო" + +#: js/share.js:174 +msgid "Expiration date" +msgstr "ვადის გასვლის დრო" + +#: js/share.js:206 +msgid "Share via email:" +msgstr "გააზიარე მეილზე" + +#: js/share.js:208 +msgid "No people found" +msgstr "გვერდი არ არის ნაპოვნი" + +#: js/share.js:235 +msgid "Resharing is not allowed" +msgstr "მეორეჯერ გაზიარება არ არის დაშვებული" + +#: js/share.js:271 +msgid "Shared in {item} with {user}" +msgstr "" + +#: js/share.js:292 +msgid "Unshare" +msgstr "გაზიარების მოხსნა" + +#: js/share.js:304 +msgid "can edit" +msgstr "შეგიძლია შეცვლა" + +#: js/share.js:306 +msgid "access control" +msgstr "დაშვების კონტროლი" + +#: js/share.js:309 +msgid "create" +msgstr "შექმნა" + +#: js/share.js:312 +msgid "update" +msgstr "განახლება" + +#: js/share.js:315 +msgid "delete" +msgstr "წაშლა" + +#: js/share.js:318 +msgid "share" +msgstr "გაზიარება" + +#: js/share.js:343 js/share.js:512 js/share.js:514 +msgid "Password protected" +msgstr "პაროლით დაცული" + +#: js/share.js:525 +msgid "Error unsetting expiration date" +msgstr "შეცდომა ვადის გასვლის მოხსნის დროს" + +#: js/share.js:537 +msgid "Error setting expiration date" +msgstr "შეცდომა ვადის გასვლის მითითების დროს" + +#: lostpassword/controller.php:47 +msgid "ownCloud password reset" +msgstr "ownCloud პაროლის შეცვლა" + +#: lostpassword/templates/email.php:2 +msgid "Use the following link to reset your password: {link}" +msgstr "გამოიყენე შემდეგი ლინკი პაროლის შესაცვლელად: {link}" + +#: lostpassword/templates/lostpassword.php:3 +msgid "You will receive a link to reset your password via Email." +msgstr "თქვენ მოგივათ პაროლის შესაცვლელი ლინკი მეილზე" + +#: lostpassword/templates/lostpassword.php:5 +msgid "Reset email send." +msgstr "" + +#: lostpassword/templates/lostpassword.php:8 +msgid "Request failed!" +msgstr "" + +#: lostpassword/templates/lostpassword.php:11 templates/installation.php:38 +#: templates/login.php:20 +msgid "Username" +msgstr "მომხმარებელი" + +#: lostpassword/templates/lostpassword.php:14 +msgid "Request reset" +msgstr "რესეტის მოთხოვნა" + +#: lostpassword/templates/resetpassword.php:4 +msgid "Your password was reset" +msgstr "თქვენი პაროლი შეცვლილია" + +#: lostpassword/templates/resetpassword.php:5 +msgid "To login page" +msgstr "შესვლის გვერდზე" + +#: lostpassword/templates/resetpassword.php:8 +msgid "New password" +msgstr "ახალი პაროლი" + +#: lostpassword/templates/resetpassword.php:11 +msgid "Reset password" +msgstr "პაროლის რესეტი" + +#: strings.php:5 +msgid "Personal" +msgstr "პირადი" + +#: strings.php:6 +msgid "Users" +msgstr "მომხმარებლები" + +#: strings.php:7 +msgid "Apps" +msgstr "აპლიკაციები" + +#: strings.php:8 +msgid "Admin" +msgstr "ადმინი" + +#: strings.php:9 +msgid "Help" +msgstr "დახმარება" + +#: templates/403.php:12 +msgid "Access forbidden" +msgstr "წვდომა აკრძალულია" + +#: templates/404.php:12 +msgid "Cloud not found" +msgstr "ღრუბელი არ არსებობს" + +#: templates/edit_categories_dialog.php:4 +msgid "Edit categories" +msgstr "კატეგორიების რედაქტირება" + +#: templates/edit_categories_dialog.php:16 +msgid "Add" +msgstr "დამატება" + +#: templates/installation.php:23 templates/installation.php:31 +msgid "Security Warning" +msgstr "უსაფრთხოების გაფრთხილება" + +#: templates/installation.php:24 +msgid "" +"No secure random number generator is available, please enable the PHP " +"OpenSSL extension." +msgstr "შემთხვევითი სიმბოლოების გენერატორი არ არსებობს, გთხოვთ ჩართოთ PHP OpenSSL გაფართოება." + +#: templates/installation.php:26 +msgid "" +"Without a secure random number generator an attacker may be able to predict " +"password reset tokens and take over your account." +msgstr "შემთხვევითი სიმბოლოების გენერატორის გარეშე, შემტევმა შეიძლება ამოიცნოს თქვენი პაროლი შეგიცვალოთ ის და დაეუფლოს თქვენს ექაუნთს." + +#: templates/installation.php:32 +msgid "" +"Your data directory and your files are probably accessible from the " +"internet. The .htaccess file that ownCloud provides is not working. We " +"strongly suggest that you configure your webserver in a way that the data " +"directory is no longer accessible or you move the data directory outside the" +" webserver document root." +msgstr "" + +#: templates/installation.php:36 +msgid "Create an admin account" +msgstr "შექმენი ადმინ ექაუნტი" + +#: templates/installation.php:48 +msgid "Advanced" +msgstr "Advanced" + +#: templates/installation.php:50 +msgid "Data folder" +msgstr "მონაცემთა საქაღალდე" + +#: templates/installation.php:57 +msgid "Configure the database" +msgstr "ბაზის კონფიგურირება" + +#: templates/installation.php:62 templates/installation.php:73 +#: templates/installation.php:83 templates/installation.php:93 +msgid "will be used" +msgstr "გამოყენებული იქნება" + +#: templates/installation.php:105 +msgid "Database user" +msgstr "ბაზის მომხმარებელი" + +#: templates/installation.php:109 +msgid "Database password" +msgstr "ბაზის პაროლი" + +#: templates/installation.php:113 +msgid "Database name" +msgstr "ბაზის სახელი" + +#: templates/installation.php:121 +msgid "Database tablespace" +msgstr "ბაზის ცხრილის ზომა" + +#: templates/installation.php:127 +msgid "Database host" +msgstr "ბაზის ჰოსტი" + +#: templates/installation.php:132 +msgid "Finish setup" +msgstr "კონფიგურაციის დასრულება" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Sunday" +msgstr "კვირა" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Monday" +msgstr "ორშაბათი" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Tuesday" +msgstr "სამშაბათი" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Wednesday" +msgstr "ოთხშაბათი" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Thursday" +msgstr "ხუთშაბათი" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Friday" +msgstr "პარასკევი" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Saturday" +msgstr "შაბათი" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "January" +msgstr "იანვარი" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "February" +msgstr "თებერვალი" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "March" +msgstr "მარტი" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "April" +msgstr "აპრილი" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "May" +msgstr "მაისი" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "June" +msgstr "ივნისი" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "July" +msgstr "ივლისი" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "August" +msgstr "აგვისტო" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "September" +msgstr "სექტემბერი" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "October" +msgstr "ოქტომბერი" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "November" +msgstr "ნოემბერი" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "December" +msgstr "დეკემბერი" + +#: templates/layout.guest.php:41 +msgid "web services under your control" +msgstr "თქვენი კონტროლის ქვეშ მყოფი ვებ სერვისები" + +#: templates/layout.user.php:44 +msgid "Log out" +msgstr "გამოსვლა" + +#: templates/login.php:8 +msgid "Automatic logon rejected!" +msgstr "ავტომატური შესვლა უარყოფილია!" + +#: templates/login.php:9 +msgid "" +"If you did not change your password recently, your account may be " +"compromised!" +msgstr "" + +#: templates/login.php:10 +msgid "Please change your password to secure your account again." +msgstr "" + +#: templates/login.php:15 +msgid "Lost your password?" +msgstr "დაგავიწყდათ პაროლი?" + +#: templates/login.php:27 +msgid "remember" +msgstr "დამახსოვრება" + +#: templates/login.php:28 +msgid "Log in" +msgstr "შესვლა" + +#: templates/logout.php:1 +msgid "You are logged out." +msgstr "თქვენ გამოხვედით სისტემიდან" + +#: templates/part.pagenavi.php:3 +msgid "prev" +msgstr "წინა" + +#: templates/part.pagenavi.php:20 +msgid "next" +msgstr "შემდეგი" + +#: templates/verify.php:5 +msgid "Security Warning!" +msgstr "უსაფრთხოების გაფრთხილება!" + +#: templates/verify.php:6 +msgid "" +"Please verify your password.
For security reasons you may be " +"occasionally asked to enter your password again." +msgstr "" + +#: templates/verify.php:16 +msgid "Verify" +msgstr "შემოწმება" diff --git a/l10n/ka_GE/files.po b/l10n/ka_GE/files.po new file mode 100644 index 0000000000000000000000000000000000000000..5e3078f50485ba10ce23eafe4b335d158f93360d --- /dev/null +++ b/l10n/ka_GE/files.po @@ -0,0 +1,267 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# , 2012. +msgid "" +msgstr "" +"Project-Id-Version: ownCloud\n" +"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" +"POT-Creation-Date: 2012-12-01 00:01+0100\n" +"PO-Revision-Date: 2012-11-30 23:02+0000\n" +"Last-Translator: I Robot \n" +"Language-Team: Georgian (Georgia) (http://www.transifex.com/projects/p/owncloud/language/ka_GE/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ka_GE\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: ajax/upload.php:20 +msgid "There is no error, the file uploaded with success" +msgstr "ჭოცდომა არ დაფიქსირდა, ფაილი წარმატებით აიტვირთა" + +#: ajax/upload.php:21 +msgid "" +"The uploaded file exceeds the upload_max_filesize directive in php.ini: " +msgstr "" + +#: ajax/upload.php:23 +msgid "" +"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " +"the HTML form" +msgstr "ატვირთული ფაილი აჭარბებს MAX_FILE_SIZE დირექტივას, რომელიც მითითებულია HTML ფორმაში" + +#: ajax/upload.php:25 +msgid "The uploaded file was only partially uploaded" +msgstr "ატვირთული ფაილი მხოლოდ ნაწილობრივ აიტვირთა" + +#: ajax/upload.php:26 +msgid "No file was uploaded" +msgstr "ფაილი არ აიტვირთა" + +#: ajax/upload.php:27 +msgid "Missing a temporary folder" +msgstr "დროებითი საქაღალდე არ არსებობს" + +#: ajax/upload.php:28 +msgid "Failed to write to disk" +msgstr "შეცდომა დისკზე ჩაწერისას" + +#: appinfo/app.php:10 +msgid "Files" +msgstr "ფაილები" + +#: js/fileactions.js:117 templates/index.php:83 templates/index.php:84 +msgid "Unshare" +msgstr "გაზიარების მოხსნა" + +#: js/fileactions.js:119 templates/index.php:89 templates/index.php:90 +msgid "Delete" +msgstr "წაშლა" + +#: js/fileactions.js:181 +msgid "Rename" +msgstr "გადარქმევა" + +#: js/filelist.js:201 js/filelist.js:203 +msgid "{new_name} already exists" +msgstr "{new_name} უკვე არსებობს" + +#: js/filelist.js:201 js/filelist.js:203 +msgid "replace" +msgstr "შეცვლა" + +#: js/filelist.js:201 +msgid "suggest name" +msgstr "სახელის შემოთავაზება" + +#: js/filelist.js:201 js/filelist.js:203 +msgid "cancel" +msgstr "უარყოფა" + +#: js/filelist.js:250 +msgid "replaced {new_name}" +msgstr "{new_name} შეცვლილია" + +#: js/filelist.js:250 js/filelist.js:252 js/filelist.js:284 js/filelist.js:286 +msgid "undo" +msgstr "დაბრუნება" + +#: js/filelist.js:252 +msgid "replaced {new_name} with {old_name}" +msgstr "{new_name} შეცვლილია {old_name}–ით" + +#: js/filelist.js:284 +msgid "unshared {files}" +msgstr "გაზიარება მოხსნილი {files}" + +#: js/filelist.js:286 +msgid "deleted {files}" +msgstr "წაშლილი {files}" + +#: js/files.js:33 +msgid "" +"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not " +"allowed." +msgstr "" + +#: js/files.js:183 +msgid "generating ZIP-file, it may take some time." +msgstr "ZIP-ფაილის გენერირება, ამას ჭირდება გარკვეული დრო." + +#: js/files.js:218 +msgid "Unable to upload your file as it is a directory or has 0 bytes" +msgstr "თქვენი ფაილის ატვირთვა ვერ მოხერხდა. ის არის საქაღალდე და შეიცავს 0 ბაიტს" + +#: js/files.js:218 +msgid "Upload Error" +msgstr "შეცდომა ატვირთვისას" + +#: js/files.js:235 +msgid "Close" +msgstr "დახურვა" + +#: js/files.js:254 js/files.js:368 js/files.js:398 +msgid "Pending" +msgstr "მოცდის რეჟიმში" + +#: js/files.js:274 +msgid "1 file uploading" +msgstr "1 ფაილის ატვირთვა" + +#: js/files.js:277 js/files.js:331 js/files.js:346 +msgid "{count} files uploading" +msgstr "{count} ფაილი იტვირთება" + +#: js/files.js:349 js/files.js:382 +msgid "Upload cancelled." +msgstr "ატვირთვა შეჩერებულ იქნა." + +#: js/files.js:451 +msgid "" +"File upload is in progress. Leaving the page now will cancel the upload." +msgstr "მიმდინარეობს ფაილის ატვირთვა. სხვა გვერდზე გადასვლა გამოიწვევს ატვირთვის შეჩერებას" + +#: js/files.js:523 +msgid "Invalid folder name. Usage of \"Shared\" is reserved by Owncloud" +msgstr "" + +#: js/files.js:704 +msgid "{count} files scanned" +msgstr "{count} ფაილი სკანირებულია" + +#: js/files.js:712 +msgid "error while scanning" +msgstr "შეცდომა სკანირებისას" + +#: js/files.js:785 templates/index.php:65 +msgid "Name" +msgstr "სახელი" + +#: js/files.js:786 templates/index.php:76 +msgid "Size" +msgstr "ზომა" + +#: js/files.js:787 templates/index.php:78 +msgid "Modified" +msgstr "შეცვლილია" + +#: js/files.js:814 +msgid "1 folder" +msgstr "1 საქაღალდე" + +#: js/files.js:816 +msgid "{count} folders" +msgstr "{count} საქაღალდე" + +#: js/files.js:824 +msgid "1 file" +msgstr "1 ფაილი" + +#: js/files.js:826 +msgid "{count} files" +msgstr "{count} ფაილი" + +#: templates/admin.php:5 +msgid "File handling" +msgstr "ფაილის დამუშავება" + +#: templates/admin.php:7 +msgid "Maximum upload size" +msgstr "მაქსიმუმ ატვირთის ზომა" + +#: templates/admin.php:9 +msgid "max. possible: " +msgstr "მაქს. შესაძლებელი:" + +#: templates/admin.php:12 +msgid "Needed for multi-file and folder downloads." +msgstr "საჭიროა მულტი ფაილ ან საქაღალდის ჩამოტვირთვა." + +#: templates/admin.php:14 +msgid "Enable ZIP-download" +msgstr "ZIP-Download–ის ჩართვა" + +#: templates/admin.php:17 +msgid "0 is unlimited" +msgstr "0 is unlimited" + +#: templates/admin.php:19 +msgid "Maximum input size for ZIP files" +msgstr "ZIP ფაილების მაქსიმუმ დასაშვები ზომა" + +#: templates/admin.php:23 +msgid "Save" +msgstr "შენახვა" + +#: templates/index.php:7 +msgid "New" +msgstr "ახალი" + +#: templates/index.php:10 +msgid "Text file" +msgstr "ტექსტური ფაილი" + +#: templates/index.php:12 +msgid "Folder" +msgstr "საქაღალდე" + +#: templates/index.php:14 +msgid "From link" +msgstr "" + +#: templates/index.php:35 +msgid "Upload" +msgstr "ატვირთვა" + +#: templates/index.php:43 +msgid "Cancel upload" +msgstr "ატვირთვის გაუქმება" + +#: templates/index.php:57 +msgid "Nothing in here. Upload something!" +msgstr "აქ არაფერი არ არის. ატვირთე რამე!" + +#: templates/index.php:71 +msgid "Download" +msgstr "ჩამოტვირთვა" + +#: templates/index.php:103 +msgid "Upload too large" +msgstr "ასატვირთი ფაილი ძალიან დიდია" + +#: templates/index.php:105 +msgid "" +"The files you are trying to upload exceed the maximum size for file uploads " +"on this server." +msgstr "ფაილის ზომა რომლის ატვირთვასაც თქვენ აპირებთ, აჭარბებს სერვერზე დაშვებულ მაქსიმუმს." + +#: templates/index.php:110 +msgid "Files are being scanned, please wait." +msgstr "მიმდინარეობს ფაილების სკანირება, გთხოვთ დაელოდოთ." + +#: templates/index.php:113 +msgid "Current scanning" +msgstr "მიმდინარე სკანირება" diff --git a/l10n/tr/admin_migrate.po b/l10n/ka_GE/files_encryption.po similarity index 52% rename from l10n/tr/admin_migrate.po rename to l10n/ka_GE/files_encryption.po index ab3ee34d97f08d94b354ed5d4dcb3693920f92de..3cdf3ae4e91573ddbe67e013787cfff11399b095 100644 --- a/l10n/tr/admin_migrate.po +++ b/l10n/ka_GE/files_encryption.po @@ -7,26 +7,28 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:32+0000\n" +"POT-Creation-Date: 2012-10-22 02:02+0200\n" +"PO-Revision-Date: 2012-08-12 22:33+0000\n" "Last-Translator: FULL NAME \n" -"Language-Team: Turkish (http://www.transifex.com/projects/p/owncloud/language/tr/)\n" +"Language-Team: Georgian (Georgia) (http://www.transifex.com/projects/p/owncloud/language/ka_GE/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: tr\n" -"Plural-Forms: nplurals=1; plural=0\n" +"Language: ka_GE\n" +"Plural-Forms: nplurals=1; plural=0;\n" #: templates/settings.php:3 -msgid "Export this ownCloud instance" +msgid "Encryption" msgstr "" #: templates/settings.php:4 -msgid "" -"This will create a compressed file that contains the data of this owncloud instance.\n" -" Please choose the export type:" +msgid "Exclude the following file types from encryption" +msgstr "" + +#: templates/settings.php:5 +msgid "None" msgstr "" -#: templates/settings.php:12 -msgid "Export" +#: templates/settings.php:10 +msgid "Enable Encryption" msgstr "" diff --git a/l10n/ka_GE/files_external.po b/l10n/ka_GE/files_external.po new file mode 100644 index 0000000000000000000000000000000000000000..e92df815c988e33a4ada2bd4f66c9c1e4a21725a --- /dev/null +++ b/l10n/ka_GE/files_external.po @@ -0,0 +1,120 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: ownCloud\n" +"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" +"POT-Creation-Date: 2012-12-12 00:12+0100\n" +"PO-Revision-Date: 2012-12-11 23:13+0000\n" +"Last-Translator: I Robot \n" +"Language-Team: Georgian (Georgia) (http://www.transifex.com/projects/p/owncloud/language/ka_GE/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ka_GE\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: js/dropbox.js:7 js/dropbox.js:25 js/google.js:7 js/google.js:23 +msgid "Access granted" +msgstr "" + +#: js/dropbox.js:28 js/dropbox.js:74 js/dropbox.js:79 js/dropbox.js:86 +msgid "Error configuring Dropbox storage" +msgstr "" + +#: js/dropbox.js:34 js/dropbox.js:45 js/google.js:31 js/google.js:40 +msgid "Grant access" +msgstr "" + +#: js/dropbox.js:73 js/google.js:72 +msgid "Fill out all required fields" +msgstr "" + +#: js/dropbox.js:85 +msgid "Please provide a valid Dropbox app key and secret." +msgstr "" + +#: js/google.js:26 js/google.js:73 js/google.js:78 +msgid "Error configuring Google Drive storage" +msgstr "" + +#: lib/config.php:434 +msgid "" +"Warning: \"smbclient\" is not installed. Mounting of CIFS/SMB shares " +"is not possible. Please ask your system administrator to install it." +msgstr "" + +#: lib/config.php:435 +msgid "" +"Warning: The FTP support in PHP is not enabled or installed. Mounting" +" of FTP shares is not possible. Please ask your system administrator to " +"install it." +msgstr "" + +#: templates/settings.php:3 +msgid "External Storage" +msgstr "" + +#: templates/settings.php:8 templates/settings.php:22 +msgid "Mount point" +msgstr "" + +#: templates/settings.php:9 +msgid "Backend" +msgstr "" + +#: templates/settings.php:10 +msgid "Configuration" +msgstr "" + +#: templates/settings.php:11 +msgid "Options" +msgstr "" + +#: templates/settings.php:12 +msgid "Applicable" +msgstr "" + +#: templates/settings.php:27 +msgid "Add mount point" +msgstr "" + +#: templates/settings.php:85 +msgid "None set" +msgstr "" + +#: templates/settings.php:86 +msgid "All Users" +msgstr "" + +#: templates/settings.php:87 +msgid "Groups" +msgstr "" + +#: templates/settings.php:95 +msgid "Users" +msgstr "" + +#: templates/settings.php:108 templates/settings.php:109 +#: templates/settings.php:149 templates/settings.php:150 +msgid "Delete" +msgstr "" + +#: templates/settings.php:124 +msgid "Enable User External Storage" +msgstr "" + +#: templates/settings.php:125 +msgid "Allow users to mount their own external storage" +msgstr "" + +#: templates/settings.php:139 +msgid "SSL root certificates" +msgstr "" + +#: templates/settings.php:158 +msgid "Import Root Certificate" +msgstr "" diff --git a/l10n/ka_GE/files_sharing.po b/l10n/ka_GE/files_sharing.po new file mode 100644 index 0000000000000000000000000000000000000000..8b33377df96078b2716c263771ec1712a6649a2d --- /dev/null +++ b/l10n/ka_GE/files_sharing.po @@ -0,0 +1,49 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# , 2012. +msgid "" +msgstr "" +"Project-Id-Version: ownCloud\n" +"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" +"POT-Creation-Date: 2012-10-27 00:01+0200\n" +"PO-Revision-Date: 2012-10-26 12:58+0000\n" +"Last-Translator: drlinux64 \n" +"Language-Team: Georgian (Georgia) (http://www.transifex.com/projects/p/owncloud/language/ka_GE/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ka_GE\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: templates/authenticate.php:4 +msgid "Password" +msgstr "პაროლი" + +#: templates/authenticate.php:6 +msgid "Submit" +msgstr "გაგზავნა" + +#: templates/public.php:9 +#, php-format +msgid "%s shared the folder %s with you" +msgstr "" + +#: templates/public.php:11 +#, php-format +msgid "%s shared the file %s with you" +msgstr "" + +#: templates/public.php:14 templates/public.php:30 +msgid "Download" +msgstr "ჩამოტვირთვა" + +#: templates/public.php:29 +msgid "No preview available for" +msgstr "" + +#: templates/public.php:35 +msgid "web services under your control" +msgstr "web services under your control" diff --git a/l10n/ka_GE/files_versions.po b/l10n/ka_GE/files_versions.po new file mode 100644 index 0000000000000000000000000000000000000000..8d38b072b0fa7fe7bb40269aa03adfd3c60429ad --- /dev/null +++ b/l10n/ka_GE/files_versions.po @@ -0,0 +1,42 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: ownCloud\n" +"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" +"POT-Creation-Date: 2012-10-22 02:02+0200\n" +"PO-Revision-Date: 2012-08-12 22:37+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Georgian (Georgia) (http://www.transifex.com/projects/p/owncloud/language/ka_GE/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ka_GE\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: js/settings-personal.js:31 templates/settings-personal.php:10 +msgid "Expire all versions" +msgstr "" + +#: js/versions.js:16 +msgid "History" +msgstr "" + +#: templates/settings-personal.php:4 +msgid "Versions" +msgstr "" + +#: templates/settings-personal.php:7 +msgid "This will delete all existing backup versions of your files" +msgstr "" + +#: templates/settings.php:3 +msgid "Files Versioning" +msgstr "" + +#: templates/settings.php:4 +msgid "Enable" +msgstr "" diff --git a/l10n/ka_GE/lib.po b/l10n/ka_GE/lib.po new file mode 100644 index 0000000000000000000000000000000000000000..3011c8854f700d77dc4ad88d655f026f975cf421 --- /dev/null +++ b/l10n/ka_GE/lib.po @@ -0,0 +1,153 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# , 2012. +msgid "" +msgstr "" +"Project-Id-Version: ownCloud\n" +"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" +"POT-Creation-Date: 2012-11-16 00:02+0100\n" +"PO-Revision-Date: 2012-11-14 23:13+0000\n" +"Last-Translator: I Robot \n" +"Language-Team: Georgian (Georgia) (http://www.transifex.com/projects/p/owncloud/language/ka_GE/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ka_GE\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: app.php:285 +msgid "Help" +msgstr "დახმარება" + +#: app.php:292 +msgid "Personal" +msgstr "პირადი" + +#: app.php:297 +msgid "Settings" +msgstr "პარამეტრები" + +#: app.php:302 +msgid "Users" +msgstr "მომხმარებელი" + +#: app.php:309 +msgid "Apps" +msgstr "აპლიკაციები" + +#: app.php:311 +msgid "Admin" +msgstr "ადმინისტრატორი" + +#: files.php:332 +msgid "ZIP download is turned off." +msgstr "" + +#: files.php:333 +msgid "Files need to be downloaded one by one." +msgstr "" + +#: files.php:333 files.php:358 +msgid "Back to Files" +msgstr "" + +#: files.php:357 +msgid "Selected files too large to generate zip file." +msgstr "" + +#: json.php:28 +msgid "Application is not enabled" +msgstr "" + +#: json.php:39 json.php:64 json.php:77 json.php:89 +msgid "Authentication error" +msgstr "ავთენტიფიკაციის შეცდომა" + +#: json.php:51 +msgid "Token expired. Please reload page." +msgstr "" + +#: search/provider/file.php:17 search/provider/file.php:35 +msgid "Files" +msgstr "ფაილები" + +#: search/provider/file.php:26 search/provider/file.php:33 +msgid "Text" +msgstr "ტექსტი" + +#: search/provider/file.php:29 +msgid "Images" +msgstr "" + +#: template.php:103 +msgid "seconds ago" +msgstr "წამის წინ" + +#: template.php:104 +msgid "1 minute ago" +msgstr "1 წუთის წინ" + +#: template.php:105 +#, php-format +msgid "%d minutes ago" +msgstr "" + +#: template.php:106 +msgid "1 hour ago" +msgstr "" + +#: template.php:107 +#, php-format +msgid "%d hours ago" +msgstr "" + +#: template.php:108 +msgid "today" +msgstr "დღეს" + +#: template.php:109 +msgid "yesterday" +msgstr "გუშინ" + +#: template.php:110 +#, php-format +msgid "%d days ago" +msgstr "" + +#: template.php:111 +msgid "last month" +msgstr "გასულ თვეში" + +#: template.php:112 +#, php-format +msgid "%d months ago" +msgstr "" + +#: template.php:113 +msgid "last year" +msgstr "ბოლო წელს" + +#: template.php:114 +msgid "years ago" +msgstr "წლის წინ" + +#: updater.php:75 +#, php-format +msgid "%s is available. Get more information" +msgstr "" + +#: updater.php:77 +msgid "up to date" +msgstr "განახლებულია" + +#: updater.php:80 +msgid "updates check is disabled" +msgstr "განახლების ძებნა გათიშულია" + +#: vcategories.php:188 vcategories.php:249 +#, php-format +msgid "Could not find category \"%s\"" +msgstr "" diff --git a/l10n/ka_GE/settings.po b/l10n/ka_GE/settings.po new file mode 100644 index 0000000000000000000000000000000000000000..b957617cec3435ec1ad0ee45ae402e93920fe792 --- /dev/null +++ b/l10n/ka_GE/settings.po @@ -0,0 +1,248 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# , 2012. +msgid "" +msgstr "" +"Project-Id-Version: ownCloud\n" +"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" +"POT-Creation-Date: 2012-12-03 00:04+0100\n" +"PO-Revision-Date: 2012-12-02 03:18+0000\n" +"Last-Translator: I Robot \n" +"Language-Team: Georgian (Georgia) (http://www.transifex.com/projects/p/owncloud/language/ka_GE/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ka_GE\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: ajax/apps/ocs.php:20 +msgid "Unable to load list from App Store" +msgstr "აპლიკაციების სია ვერ ჩამოიტვირთა App Store" + +#: ajax/creategroup.php:10 +msgid "Group already exists" +msgstr "ჯგუფი უკვე არსებობს" + +#: ajax/creategroup.php:19 +msgid "Unable to add group" +msgstr "ჯგუფის დამატება ვერ მოხერხდა" + +#: ajax/enableapp.php:12 +msgid "Could not enable app. " +msgstr "ვერ მოხერხდა აპლიკაციის ჩართვა." + +#: ajax/lostpassword.php:12 +msgid "Email saved" +msgstr "იმეილი შენახულია" + +#: ajax/lostpassword.php:14 +msgid "Invalid email" +msgstr "არასწორი იმეილი" + +#: ajax/openid.php:13 +msgid "OpenID Changed" +msgstr "OpenID შეცვლილია" + +#: ajax/openid.php:15 ajax/setlanguage.php:17 ajax/setlanguage.php:20 +msgid "Invalid request" +msgstr "არასწორი მოთხოვნა" + +#: ajax/removegroup.php:13 +msgid "Unable to delete group" +msgstr "ჯგუფის წაშლა ვერ მოხერხდა" + +#: ajax/removeuser.php:15 ajax/setquota.php:15 ajax/togglegroups.php:18 +msgid "Authentication error" +msgstr "ავთენტიფიკაციის შეცდომა" + +#: ajax/removeuser.php:24 +msgid "Unable to delete user" +msgstr "მომხმარებლის წაშლა ვერ მოხერხდა" + +#: ajax/setlanguage.php:15 +msgid "Language changed" +msgstr "ენა შეცვლილია" + +#: ajax/togglegroups.php:12 +msgid "Admins can't remove themself from the admin group" +msgstr "" + +#: ajax/togglegroups.php:28 +#, php-format +msgid "Unable to add user to group %s" +msgstr "მომხმარებლის დამატება ვერ მოხეხდა ჯგუფში %s" + +#: ajax/togglegroups.php:34 +#, php-format +msgid "Unable to remove user from group %s" +msgstr "მომხმარებლის წაშლა ვერ მოხეხდა ჯგუფიდან %s" + +#: js/apps.js:28 js/apps.js:67 +msgid "Disable" +msgstr "გამორთვა" + +#: js/apps.js:28 js/apps.js:55 +msgid "Enable" +msgstr "ჩართვა" + +#: js/personal.js:69 +msgid "Saving..." +msgstr "შენახვა..." + +#: personal.php:42 personal.php:43 +msgid "__language_name__" +msgstr "__language_name__" + +#: templates/apps.php:10 +msgid "Add your App" +msgstr "დაამატე შენი აპლიკაცია" + +#: templates/apps.php:11 +msgid "More Apps" +msgstr "უფრო მეტი აპლიკაციები" + +#: templates/apps.php:27 +msgid "Select an App" +msgstr "აირჩიეთ აპლიკაცია" + +#: templates/apps.php:31 +msgid "See application page at apps.owncloud.com" +msgstr "ნახეთ აპლიკაციის გვერდი apps.owncloud.com –ზე" + +#: templates/apps.php:32 +msgid "-licensed by " +msgstr "-ლიცენსირებულია " + +#: templates/help.php:9 +msgid "Documentation" +msgstr "დოკუმენტაცია" + +#: templates/help.php:10 +msgid "Managing Big Files" +msgstr "დიდი ფაილების მენეჯმენტი" + +#: templates/help.php:11 +msgid "Ask a question" +msgstr "დასვით შეკითხვა" + +#: templates/help.php:22 +msgid "Problems connecting to help database." +msgstr "დახმარების ბაზასთან წვდომის პრობლემა" + +#: templates/help.php:23 +msgid "Go there manually." +msgstr "წადი იქ შენით." + +#: templates/help.php:31 +msgid "Answer" +msgstr "პასუხი" + +#: templates/personal.php:8 +#, php-format +msgid "You have used %s of the available %s" +msgstr "" + +#: templates/personal.php:12 +msgid "Desktop and Mobile Syncing Clients" +msgstr "დესკტოპ და მობილური კლიენტების სინქრონიზაცია" + +#: templates/personal.php:13 +msgid "Download" +msgstr "ჩამოტვირთვა" + +#: templates/personal.php:19 +msgid "Your password was changed" +msgstr "თქვენი პაროლი შეიცვალა" + +#: templates/personal.php:20 +msgid "Unable to change your password" +msgstr "თქვენი პაროლი არ შეიცვალა" + +#: templates/personal.php:21 +msgid "Current password" +msgstr "მიმდინარე პაროლი" + +#: templates/personal.php:22 +msgid "New password" +msgstr "ახალი პაროლი" + +#: templates/personal.php:23 +msgid "show" +msgstr "გამოაჩინე" + +#: templates/personal.php:24 +msgid "Change password" +msgstr "პაროლის შეცვლა" + +#: templates/personal.php:30 +msgid "Email" +msgstr "იმეილი" + +#: templates/personal.php:31 +msgid "Your email address" +msgstr "თქვენი იმეილ მისამართი" + +#: templates/personal.php:32 +msgid "Fill in an email address to enable password recovery" +msgstr "შეავსეთ იმეილ მისამართის ველი პაროლის აღსადგენად" + +#: templates/personal.php:38 templates/personal.php:39 +msgid "Language" +msgstr "ენა" + +#: templates/personal.php:44 +msgid "Help translate" +msgstr "თარგმნის დახმარება" + +#: templates/personal.php:51 +msgid "use this address to connect to your ownCloud in your file manager" +msgstr "გამოიყენე შემდეგი მისამართი ownCloud–თან დასაკავშირებლად შენს ფაილმენეჯერში" + +#: templates/personal.php:61 +msgid "" +"Developed by the ownCloud community, the source code is " +"licensed under the AGPL." +msgstr "" + +#: templates/users.php:21 templates/users.php:76 +msgid "Name" +msgstr "სახელი" + +#: templates/users.php:23 templates/users.php:77 +msgid "Password" +msgstr "პაროლი" + +#: templates/users.php:26 templates/users.php:78 templates/users.php:98 +msgid "Groups" +msgstr "ჯგუფი" + +#: templates/users.php:32 +msgid "Create" +msgstr "შექმნა" + +#: templates/users.php:35 +msgid "Default Quota" +msgstr "საწყისი ქვოტა" + +#: templates/users.php:55 templates/users.php:138 +msgid "Other" +msgstr "სხვა" + +#: templates/users.php:80 templates/users.php:112 +msgid "Group Admin" +msgstr "ჯგუფის ადმინისტრატორი" + +#: templates/users.php:82 +msgid "Quota" +msgstr "ქვოტა" + +#: templates/users.php:146 +msgid "Delete" +msgstr "წაშლა" diff --git a/l10n/ka_GE/user_ldap.po b/l10n/ka_GE/user_ldap.po new file mode 100644 index 0000000000000000000000000000000000000000..bdf29a00b31ff1f25fe03e705e461e2755f6db71 --- /dev/null +++ b/l10n/ka_GE/user_ldap.po @@ -0,0 +1,170 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: ownCloud\n" +"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" +"POT-Creation-Date: 2012-10-22 02:02+0200\n" +"PO-Revision-Date: 2012-08-12 22:45+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Georgian (Georgia) (http://www.transifex.com/projects/p/owncloud/language/ka_GE/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ka_GE\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: templates/settings.php:8 +msgid "Host" +msgstr "" + +#: templates/settings.php:8 +msgid "" +"You can omit the protocol, except you require SSL. Then start with ldaps://" +msgstr "" + +#: templates/settings.php:9 +msgid "Base DN" +msgstr "" + +#: templates/settings.php:9 +msgid "You can specify Base DN for users and groups in the Advanced tab" +msgstr "" + +#: templates/settings.php:10 +msgid "User DN" +msgstr "" + +#: templates/settings.php:10 +msgid "" +"The DN of the client user with which the bind shall be done, e.g. " +"uid=agent,dc=example,dc=com. For anonymous access, leave DN and Password " +"empty." +msgstr "" + +#: templates/settings.php:11 +msgid "Password" +msgstr "" + +#: templates/settings.php:11 +msgid "For anonymous access, leave DN and Password empty." +msgstr "" + +#: templates/settings.php:12 +msgid "User Login Filter" +msgstr "" + +#: templates/settings.php:12 +#, php-format +msgid "" +"Defines the filter to apply, when login is attempted. %%uid replaces the " +"username in the login action." +msgstr "" + +#: templates/settings.php:12 +#, php-format +msgid "use %%uid placeholder, e.g. \"uid=%%uid\"" +msgstr "" + +#: templates/settings.php:13 +msgid "User List Filter" +msgstr "" + +#: templates/settings.php:13 +msgid "Defines the filter to apply, when retrieving users." +msgstr "" + +#: templates/settings.php:13 +msgid "without any placeholder, e.g. \"objectClass=person\"." +msgstr "" + +#: templates/settings.php:14 +msgid "Group Filter" +msgstr "" + +#: templates/settings.php:14 +msgid "Defines the filter to apply, when retrieving groups." +msgstr "" + +#: templates/settings.php:14 +msgid "without any placeholder, e.g. \"objectClass=posixGroup\"." +msgstr "" + +#: templates/settings.php:17 +msgid "Port" +msgstr "" + +#: templates/settings.php:18 +msgid "Base User Tree" +msgstr "" + +#: templates/settings.php:19 +msgid "Base Group Tree" +msgstr "" + +#: templates/settings.php:20 +msgid "Group-Member association" +msgstr "" + +#: templates/settings.php:21 +msgid "Use TLS" +msgstr "" + +#: templates/settings.php:21 +msgid "Do not use it for SSL connections, it will fail." +msgstr "" + +#: templates/settings.php:22 +msgid "Case insensitve LDAP server (Windows)" +msgstr "" + +#: templates/settings.php:23 +msgid "Turn off SSL certificate validation." +msgstr "" + +#: templates/settings.php:23 +msgid "" +"If connection only works with this option, import the LDAP server's SSL " +"certificate in your ownCloud server." +msgstr "" + +#: templates/settings.php:23 +msgid "Not recommended, use for testing only." +msgstr "" + +#: templates/settings.php:24 +msgid "User Display Name Field" +msgstr "" + +#: templates/settings.php:24 +msgid "The LDAP attribute to use to generate the user`s ownCloud name." +msgstr "" + +#: templates/settings.php:25 +msgid "Group Display Name Field" +msgstr "" + +#: templates/settings.php:25 +msgid "The LDAP attribute to use to generate the groups`s ownCloud name." +msgstr "" + +#: templates/settings.php:27 +msgid "in bytes" +msgstr "" + +#: templates/settings.php:29 +msgid "in seconds. A change empties the cache." +msgstr "" + +#: templates/settings.php:30 +msgid "" +"Leave empty for user name (default). Otherwise, specify an LDAP/AD " +"attribute." +msgstr "" + +#: templates/settings.php:32 +msgid "Help" +msgstr "" diff --git a/l10n/ka_GE/user_webdavauth.po b/l10n/ka_GE/user_webdavauth.po new file mode 100644 index 0000000000000000000000000000000000000000..16ce800e33b02226ea3d63366e7f110be702945f --- /dev/null +++ b/l10n/ka_GE/user_webdavauth.po @@ -0,0 +1,22 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: ownCloud\n" +"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" +"POT-Creation-Date: 2012-11-09 10:06+0100\n" +"PO-Revision-Date: 2012-11-09 09:06+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Georgian (Georgia) (http://www.transifex.com/projects/p/owncloud/language/ka_GE/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ka_GE\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: templates/settings.php:4 +msgid "WebDAV URL: http://" +msgstr "" diff --git a/l10n/ko/admin_dependencies_chk.po b/l10n/ko/admin_dependencies_chk.po deleted file mode 100644 index a6510ce3a87ec3a086efc85261f0ed3127cb043f..0000000000000000000000000000000000000000 --- a/l10n/ko/admin_dependencies_chk.po +++ /dev/null @@ -1,73 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:33+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Korean (http://www.transifex.com/projects/p/owncloud/language/ko/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ko\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: settings.php:33 -msgid "" -"The php-json module is needed by the many applications for inter " -"communications" -msgstr "" - -#: settings.php:39 -msgid "" -"The php-curl modude is needed to fetch the page title when adding a " -"bookmarks" -msgstr "" - -#: settings.php:45 -msgid "The php-gd module is needed to create thumbnails of your images" -msgstr "" - -#: settings.php:51 -msgid "The php-ldap module is needed connect to your ldap server" -msgstr "" - -#: settings.php:57 -msgid "The php-zip module is needed download multiple files at once" -msgstr "" - -#: settings.php:63 -msgid "" -"The php-mb_multibyte module is needed to manage correctly the encoding." -msgstr "" - -#: settings.php:69 -msgid "The php-ctype module is needed validate data." -msgstr "" - -#: settings.php:75 -msgid "The php-xml module is needed to share files with webdav." -msgstr "" - -#: settings.php:81 -msgid "" -"The allow_url_fopen directive of your php.ini should be set to 1 to retrieve" -" knowledge base from OCS servers" -msgstr "" - -#: settings.php:87 -msgid "The php-pdo module is needed to store owncloud data into a database." -msgstr "" - -#: templates/settings.php:2 -msgid "Dependencies status" -msgstr "" - -#: templates/settings.php:7 -msgid "Used by :" -msgstr "" diff --git a/l10n/ko/bookmarks.po b/l10n/ko/bookmarks.po deleted file mode 100644 index 1992ba3b141844bc413ae911b94d89b556cc2104..0000000000000000000000000000000000000000 --- a/l10n/ko/bookmarks.po +++ /dev/null @@ -1,60 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-07-28 02:02+0200\n" -"PO-Revision-Date: 2012-07-27 22:17+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Korean (http://www.transifex.com/projects/p/owncloud/language/ko/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ko\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: appinfo/app.php:14 -msgid "Bookmarks" -msgstr "" - -#: bookmarksHelper.php:99 -msgid "unnamed" -msgstr "" - -#: templates/bookmarklet.php:5 -msgid "" -"Drag this to your browser bookmarks and click it, when you want to bookmark " -"a webpage quickly:" -msgstr "" - -#: templates/bookmarklet.php:7 -msgid "Read later" -msgstr "" - -#: templates/list.php:13 -msgid "Address" -msgstr "" - -#: templates/list.php:14 -msgid "Title" -msgstr "" - -#: templates/list.php:15 -msgid "Tags" -msgstr "" - -#: templates/list.php:16 -msgid "Save bookmark" -msgstr "" - -#: templates/list.php:22 -msgid "You have no bookmarks" -msgstr "" - -#: templates/settings.php:11 -msgid "Bookmarklet
" -msgstr "" diff --git a/l10n/ko/calendar.po b/l10n/ko/calendar.po deleted file mode 100644 index 89b070aa85893590656c6596701c975f9b5260d0..0000000000000000000000000000000000000000 --- a/l10n/ko/calendar.po +++ /dev/null @@ -1,815 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# , 2012. -# Shinjo Park , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-11 02:02+0200\n" -"PO-Revision-Date: 2012-08-11 00:02+0000\n" -"Last-Translator: owncloud_robot \n" -"Language-Team: Korean (http://www.transifex.com/projects/p/owncloud/language/ko/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ko\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: ajax/cache/status.php:19 -msgid "Not all calendars are completely cached" -msgstr "" - -#: ajax/cache/status.php:21 -msgid "Everything seems to be completely cached" -msgstr "" - -#: ajax/categories/rescan.php:29 -msgid "No calendars found." -msgstr "달력이 없습니다" - -#: ajax/categories/rescan.php:37 -msgid "No events found." -msgstr "일정이 없습니다" - -#: ajax/event/edit.form.php:20 -msgid "Wrong calendar" -msgstr "잘못된 달력" - -#: ajax/import/dropimport.php:29 ajax/import/import.php:64 -msgid "" -"The file contained either no events or all events are already saved in your " -"calendar." -msgstr "" - -#: ajax/import/dropimport.php:31 ajax/import/import.php:67 -msgid "events has been saved in the new calendar" -msgstr "" - -#: ajax/import/import.php:56 -msgid "Import failed" -msgstr "" - -#: ajax/import/import.php:69 -msgid "events has been saved in your calendar" -msgstr "" - -#: ajax/settings/guesstimezone.php:25 -msgid "New Timezone:" -msgstr "새로운 시간대 설정" - -#: ajax/settings/settimezone.php:23 -msgid "Timezone changed" -msgstr "시간대 변경됨" - -#: ajax/settings/settimezone.php:25 -msgid "Invalid request" -msgstr "잘못된 요청" - -#: appinfo/app.php:35 templates/calendar.php:15 -#: templates/part.eventform.php:33 templates/part.showevent.php:33 -msgid "Calendar" -msgstr "달력" - -#: js/calendar.js:832 -msgid "ddd" -msgstr "ddd" - -#: js/calendar.js:833 -msgid "ddd M/d" -msgstr "ddd M/d" - -#: js/calendar.js:834 -msgid "dddd M/d" -msgstr "dddd M/d" - -#: js/calendar.js:837 -msgid "MMMM yyyy" -msgstr "MMMM yyyy" - -#: js/calendar.js:839 -msgid "MMM d[ yyyy]{ '—'[ MMM] d yyyy}" -msgstr "MMM d[ yyyy]{ '—'[ MMM] d yyyy}" - -#: js/calendar.js:841 -msgid "dddd, MMM d, yyyy" -msgstr "dddd, MMM d, yyyy" - -#: lib/app.php:121 -msgid "Birthday" -msgstr "생일" - -#: lib/app.php:122 -msgid "Business" -msgstr "사업" - -#: lib/app.php:123 -msgid "Call" -msgstr "통화" - -#: lib/app.php:124 -msgid "Clients" -msgstr "클라이언트" - -#: lib/app.php:125 -msgid "Deliverer" -msgstr "배송" - -#: lib/app.php:126 -msgid "Holidays" -msgstr "공휴일" - -#: lib/app.php:127 -msgid "Ideas" -msgstr "생각" - -#: lib/app.php:128 -msgid "Journey" -msgstr "여행" - -#: lib/app.php:129 -msgid "Jubilee" -msgstr "기념일" - -#: lib/app.php:130 -msgid "Meeting" -msgstr "미팅" - -#: lib/app.php:131 -msgid "Other" -msgstr "기타" - -#: lib/app.php:132 -msgid "Personal" -msgstr "개인" - -#: lib/app.php:133 -msgid "Projects" -msgstr "프로젝트" - -#: lib/app.php:134 -msgid "Questions" -msgstr "질문" - -#: lib/app.php:135 -msgid "Work" -msgstr "작업" - -#: lib/app.php:351 lib/app.php:361 -msgid "by" -msgstr "" - -#: lib/app.php:359 lib/app.php:399 -msgid "unnamed" -msgstr "익명의" - -#: lib/import.php:184 templates/calendar.php:12 -#: templates/part.choosecalendar.php:22 -msgid "New Calendar" -msgstr "새로운 달력" - -#: lib/object.php:372 -msgid "Does not repeat" -msgstr "반복 없음" - -#: lib/object.php:373 -msgid "Daily" -msgstr "매일" - -#: lib/object.php:374 -msgid "Weekly" -msgstr "매주" - -#: lib/object.php:375 -msgid "Every Weekday" -msgstr "매주 특정 요일" - -#: lib/object.php:376 -msgid "Bi-Weekly" -msgstr "2주마다" - -#: lib/object.php:377 -msgid "Monthly" -msgstr "매월" - -#: lib/object.php:378 -msgid "Yearly" -msgstr "매년" - -#: lib/object.php:388 -msgid "never" -msgstr "전혀" - -#: lib/object.php:389 -msgid "by occurrences" -msgstr "번 이후" - -#: lib/object.php:390 -msgid "by date" -msgstr "날짜" - -#: lib/object.php:400 -msgid "by monthday" -msgstr "월" - -#: lib/object.php:401 -msgid "by weekday" -msgstr "주" - -#: lib/object.php:411 templates/calendar.php:5 templates/settings.php:69 -msgid "Monday" -msgstr "월요일" - -#: lib/object.php:412 templates/calendar.php:5 -msgid "Tuesday" -msgstr "화요일" - -#: lib/object.php:413 templates/calendar.php:5 -msgid "Wednesday" -msgstr "수요일" - -#: lib/object.php:414 templates/calendar.php:5 -msgid "Thursday" -msgstr "목요일" - -#: lib/object.php:415 templates/calendar.php:5 -msgid "Friday" -msgstr "금요일" - -#: lib/object.php:416 templates/calendar.php:5 -msgid "Saturday" -msgstr "토요일" - -#: lib/object.php:417 templates/calendar.php:5 templates/settings.php:70 -msgid "Sunday" -msgstr "일요일" - -#: lib/object.php:427 -msgid "events week of month" -msgstr "이달의 한 주 일정" - -#: lib/object.php:428 -msgid "first" -msgstr "첫번째" - -#: lib/object.php:429 -msgid "second" -msgstr "두번째" - -#: lib/object.php:430 -msgid "third" -msgstr "세번째" - -#: lib/object.php:431 -msgid "fourth" -msgstr "네번째" - -#: lib/object.php:432 -msgid "fifth" -msgstr "다섯번째" - -#: lib/object.php:433 -msgid "last" -msgstr "마지막" - -#: lib/object.php:467 templates/calendar.php:7 -msgid "January" -msgstr "1월" - -#: lib/object.php:468 templates/calendar.php:7 -msgid "February" -msgstr "2월" - -#: lib/object.php:469 templates/calendar.php:7 -msgid "March" -msgstr "3월" - -#: lib/object.php:470 templates/calendar.php:7 -msgid "April" -msgstr "4월" - -#: lib/object.php:471 templates/calendar.php:7 -msgid "May" -msgstr "5월" - -#: lib/object.php:472 templates/calendar.php:7 -msgid "June" -msgstr "6월" - -#: lib/object.php:473 templates/calendar.php:7 -msgid "July" -msgstr "7월" - -#: lib/object.php:474 templates/calendar.php:7 -msgid "August" -msgstr "8월" - -#: lib/object.php:475 templates/calendar.php:7 -msgid "September" -msgstr "9월" - -#: lib/object.php:476 templates/calendar.php:7 -msgid "October" -msgstr "10월" - -#: lib/object.php:477 templates/calendar.php:7 -msgid "November" -msgstr "11월" - -#: lib/object.php:478 templates/calendar.php:7 -msgid "December" -msgstr "12월" - -#: lib/object.php:488 -msgid "by events date" -msgstr "이벤트 날짜 순" - -#: lib/object.php:489 -msgid "by yearday(s)" -msgstr "날짜 번호 순" - -#: lib/object.php:490 -msgid "by weeknumber(s)" -msgstr "주 번호 순" - -#: lib/object.php:491 -msgid "by day and month" -msgstr "날짜 순" - -#: lib/search.php:35 lib/search.php:37 lib/search.php:40 -msgid "Date" -msgstr "날짜" - -#: lib/search.php:43 -msgid "Cal." -msgstr "달력" - -#: templates/calendar.php:6 -msgid "Sun." -msgstr "" - -#: templates/calendar.php:6 -msgid "Mon." -msgstr "" - -#: templates/calendar.php:6 -msgid "Tue." -msgstr "" - -#: templates/calendar.php:6 -msgid "Wed." -msgstr "" - -#: templates/calendar.php:6 -msgid "Thu." -msgstr "" - -#: templates/calendar.php:6 -msgid "Fri." -msgstr "" - -#: templates/calendar.php:6 -msgid "Sat." -msgstr "" - -#: templates/calendar.php:8 -msgid "Jan." -msgstr "" - -#: templates/calendar.php:8 -msgid "Feb." -msgstr "" - -#: templates/calendar.php:8 -msgid "Mar." -msgstr "" - -#: templates/calendar.php:8 -msgid "Apr." -msgstr "" - -#: templates/calendar.php:8 -msgid "May." -msgstr "" - -#: templates/calendar.php:8 -msgid "Jun." -msgstr "" - -#: templates/calendar.php:8 -msgid "Jul." -msgstr "" - -#: templates/calendar.php:8 -msgid "Aug." -msgstr "" - -#: templates/calendar.php:8 -msgid "Sep." -msgstr "" - -#: templates/calendar.php:8 -msgid "Oct." -msgstr "" - -#: templates/calendar.php:8 -msgid "Nov." -msgstr "" - -#: templates/calendar.php:8 -msgid "Dec." -msgstr "" - -#: templates/calendar.php:11 -msgid "All day" -msgstr "매일" - -#: templates/calendar.php:13 -msgid "Missing fields" -msgstr "기입란이 비어있습니다" - -#: templates/calendar.php:14 templates/part.eventform.php:19 -#: templates/part.showevent.php:11 -msgid "Title" -msgstr "제목" - -#: templates/calendar.php:16 -msgid "From Date" -msgstr "시작날짜" - -#: templates/calendar.php:17 -msgid "From Time" -msgstr "시작시간" - -#: templates/calendar.php:18 -msgid "To Date" -msgstr "마침 날짜" - -#: templates/calendar.php:19 -msgid "To Time" -msgstr "마침 시간" - -#: templates/calendar.php:20 -msgid "The event ends before it starts" -msgstr "마침일정이 시작일정 보다 빠릅니다. " - -#: templates/calendar.php:21 -msgid "There was a database fail" -msgstr "데이터베이스 에러입니다." - -#: templates/calendar.php:39 -msgid "Week" -msgstr "주" - -#: templates/calendar.php:40 -msgid "Month" -msgstr "달" - -#: templates/calendar.php:41 -msgid "List" -msgstr "목록" - -#: templates/calendar.php:45 -msgid "Today" -msgstr "오늘" - -#: templates/calendar.php:46 templates/calendar.php:47 -msgid "Settings" -msgstr "" - -#: templates/part.choosecalendar.php:2 -msgid "Your calendars" -msgstr "내 달력" - -#: templates/part.choosecalendar.php:27 -#: templates/part.choosecalendar.rowfields.php:11 -msgid "CalDav Link" -msgstr "CalDav 링크" - -#: templates/part.choosecalendar.php:31 -msgid "Shared calendars" -msgstr "공유 달력" - -#: templates/part.choosecalendar.php:48 -msgid "No shared calendars" -msgstr "달력 공유하지 않음" - -#: templates/part.choosecalendar.rowfields.php:8 -msgid "Share Calendar" -msgstr "달력 공유" - -#: templates/part.choosecalendar.rowfields.php:14 -msgid "Download" -msgstr "다운로드" - -#: templates/part.choosecalendar.rowfields.php:17 -msgid "Edit" -msgstr "편집" - -#: templates/part.choosecalendar.rowfields.php:20 -#: templates/part.editevent.php:9 -msgid "Delete" -msgstr "삭제" - -#: templates/part.choosecalendar.rowfields.shared.php:4 -msgid "shared with you by" -msgstr "로 인해 당신과 함께 공유" - -#: templates/part.editcalendar.php:9 -msgid "New calendar" -msgstr "새로운 달력" - -#: templates/part.editcalendar.php:9 -msgid "Edit calendar" -msgstr "달력 편집" - -#: templates/part.editcalendar.php:12 -msgid "Displayname" -msgstr "표시 이름" - -#: templates/part.editcalendar.php:23 -msgid "Active" -msgstr "활성" - -#: templates/part.editcalendar.php:29 -msgid "Calendar color" -msgstr "달력 색상" - -#: templates/part.editcalendar.php:42 -msgid "Save" -msgstr "저장" - -#: templates/part.editcalendar.php:42 templates/part.editevent.php:8 -#: templates/part.newevent.php:6 -msgid "Submit" -msgstr "보내기" - -#: templates/part.editcalendar.php:43 -msgid "Cancel" -msgstr "취소" - -#: templates/part.editevent.php:1 -msgid "Edit an event" -msgstr "이벤트 편집" - -#: templates/part.editevent.php:10 -msgid "Export" -msgstr "출력" - -#: templates/part.eventform.php:8 templates/part.showevent.php:3 -msgid "Eventinfo" -msgstr "일정 정보" - -#: templates/part.eventform.php:9 templates/part.showevent.php:4 -msgid "Repeating" -msgstr "반복" - -#: templates/part.eventform.php:10 templates/part.showevent.php:5 -msgid "Alarm" -msgstr "알람" - -#: templates/part.eventform.php:11 templates/part.showevent.php:6 -msgid "Attendees" -msgstr "참석자" - -#: templates/part.eventform.php:13 -msgid "Share" -msgstr "공유" - -#: templates/part.eventform.php:21 -msgid "Title of the Event" -msgstr "이벤트 제목" - -#: templates/part.eventform.php:27 templates/part.showevent.php:19 -msgid "Category" -msgstr "분류" - -#: templates/part.eventform.php:29 -msgid "Separate categories with commas" -msgstr "쉼표로 카테고리 구분" - -#: templates/part.eventform.php:30 -msgid "Edit categories" -msgstr "카테고리 수정" - -#: templates/part.eventform.php:56 templates/part.showevent.php:52 -msgid "All Day Event" -msgstr "종일 이벤트" - -#: templates/part.eventform.php:60 templates/part.showevent.php:56 -msgid "From" -msgstr "시작" - -#: templates/part.eventform.php:68 templates/part.showevent.php:64 -msgid "To" -msgstr "끝" - -#: templates/part.eventform.php:76 templates/part.showevent.php:72 -msgid "Advanced options" -msgstr "고급 설정" - -#: templates/part.eventform.php:81 templates/part.showevent.php:77 -msgid "Location" -msgstr "위치" - -#: templates/part.eventform.php:83 -msgid "Location of the Event" -msgstr "이벤트 위치" - -#: templates/part.eventform.php:89 templates/part.showevent.php:85 -msgid "Description" -msgstr "설명" - -#: templates/part.eventform.php:91 -msgid "Description of the Event" -msgstr "이벤트 설명" - -#: templates/part.eventform.php:100 templates/part.showevent.php:95 -msgid "Repeat" -msgstr "반복" - -#: templates/part.eventform.php:107 templates/part.showevent.php:102 -msgid "Advanced" -msgstr "고급" - -#: templates/part.eventform.php:151 templates/part.showevent.php:146 -msgid "Select weekdays" -msgstr "요일 선택" - -#: templates/part.eventform.php:164 templates/part.eventform.php:177 -#: templates/part.showevent.php:159 templates/part.showevent.php:172 -msgid "Select days" -msgstr "날짜 선택" - -#: templates/part.eventform.php:169 templates/part.showevent.php:164 -msgid "and the events day of year." -msgstr "그리고 이 해의 일정" - -#: templates/part.eventform.php:182 templates/part.showevent.php:177 -msgid "and the events day of month." -msgstr "그리고 이 달의 일정" - -#: templates/part.eventform.php:190 templates/part.showevent.php:185 -msgid "Select months" -msgstr "달 선택" - -#: templates/part.eventform.php:203 templates/part.showevent.php:198 -msgid "Select weeks" -msgstr "주 선택" - -#: templates/part.eventform.php:208 templates/part.showevent.php:203 -msgid "and the events week of year." -msgstr "그리고 이 해의 주간 일정" - -#: templates/part.eventform.php:214 templates/part.showevent.php:209 -msgid "Interval" -msgstr "간격" - -#: templates/part.eventform.php:220 templates/part.showevent.php:215 -msgid "End" -msgstr "끝" - -#: templates/part.eventform.php:233 templates/part.showevent.php:228 -msgid "occurrences" -msgstr "번 이후" - -#: templates/part.import.php:14 -msgid "create a new calendar" -msgstr "새 달력 만들기" - -#: templates/part.import.php:17 -msgid "Import a calendar file" -msgstr "달력 파일 가져오기" - -#: templates/part.import.php:24 -msgid "Please choose a calendar" -msgstr "" - -#: templates/part.import.php:36 -msgid "Name of new calendar" -msgstr "새 달력 이름" - -#: templates/part.import.php:44 -msgid "Take an available name!" -msgstr "" - -#: templates/part.import.php:45 -msgid "" -"A Calendar with this name already exists. If you continue anyhow, these " -"calendars will be merged." -msgstr "" - -#: templates/part.import.php:47 -msgid "Import" -msgstr "입력" - -#: templates/part.import.php:56 -msgid "Close Dialog" -msgstr "대화 마침" - -#: templates/part.newevent.php:1 -msgid "Create a new event" -msgstr "새 이벤트 만들기" - -#: templates/part.showevent.php:1 -msgid "View an event" -msgstr "일정 보기" - -#: templates/part.showevent.php:23 -msgid "No categories selected" -msgstr "선택된 카테고리 없음" - -#: templates/part.showevent.php:37 -msgid "of" -msgstr "의" - -#: templates/part.showevent.php:59 templates/part.showevent.php:67 -msgid "at" -msgstr "에서" - -#: templates/settings.php:10 -msgid "General" -msgstr "" - -#: templates/settings.php:15 -msgid "Timezone" -msgstr "시간대" - -#: templates/settings.php:47 -msgid "Update timezone automatically" -msgstr "" - -#: templates/settings.php:52 -msgid "Time format" -msgstr "" - -#: templates/settings.php:57 -msgid "24h" -msgstr "24시간" - -#: templates/settings.php:58 -msgid "12h" -msgstr "12시간" - -#: templates/settings.php:64 -msgid "Start week on" -msgstr "" - -#: templates/settings.php:76 -msgid "Cache" -msgstr "" - -#: templates/settings.php:80 -msgid "Clear cache for repeating events" -msgstr "" - -#: templates/settings.php:85 -msgid "URLs" -msgstr "" - -#: templates/settings.php:87 -msgid "Calendar CalDAV syncing addresses" -msgstr "" - -#: templates/settings.php:87 -msgid "more info" -msgstr "" - -#: templates/settings.php:89 -msgid "Primary address (Kontact et al)" -msgstr "" - -#: templates/settings.php:91 -msgid "iOS/OS X" -msgstr "" - -#: templates/settings.php:93 -msgid "Read only iCalendar link(s)" -msgstr "" - -#: templates/share.dropdown.php:20 -msgid "Users" -msgstr "사용자" - -#: templates/share.dropdown.php:21 -msgid "select users" -msgstr "사용자 선택" - -#: templates/share.dropdown.php:36 templates/share.dropdown.php:62 -msgid "Editable" -msgstr "편집 가능" - -#: templates/share.dropdown.php:48 -msgid "Groups" -msgstr "그룹" - -#: templates/share.dropdown.php:49 -msgid "select groups" -msgstr "선택 그룹" - -#: templates/share.dropdown.php:75 -msgid "make public" -msgstr "공개" diff --git a/l10n/ko/contacts.po b/l10n/ko/contacts.po deleted file mode 100644 index 410011e08251b7cfb4314d78cc41f22c261b5f78..0000000000000000000000000000000000000000 --- a/l10n/ko/contacts.po +++ /dev/null @@ -1,954 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# , 2012. -# Shinjo Park , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-24 02:02+0200\n" -"PO-Revision-Date: 2012-08-24 00:03+0000\n" -"Last-Translator: I Robot \n" -"Language-Team: Korean (http://www.transifex.com/projects/p/owncloud/language/ko/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ko\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: ajax/addressbook/activate.php:24 ajax/addressbook/update.php:32 -msgid "Error (de)activating addressbook." -msgstr "주소록을 (비)활성화하는 데 실패했습니다." - -#: ajax/addressbook/delete.php:31 ajax/addressbook/update.php:20 -#: ajax/contact/addproperty.php:42 ajax/contact/delete.php:32 -#: ajax/contact/saveproperty.php:39 -msgid "id is not set." -msgstr "아이디가 설정되어 있지 않습니다. " - -#: ajax/addressbook/update.php:24 -msgid "Cannot update addressbook with an empty name." -msgstr "주소록에 이름란이 비어있으면 업데이트를 할 수 없습니다. " - -#: ajax/addressbook/update.php:28 -msgid "Error updating addressbook." -msgstr "주소록을 업데이트할 수 없습니다." - -#: ajax/categories/categoriesfor.php:17 -msgid "No ID provided" -msgstr "제공되는 아이디 없음" - -#: ajax/categories/categoriesfor.php:34 -msgid "Error setting checksum." -msgstr "오류 검사합계 설정" - -#: ajax/categories/delete.php:19 -msgid "No categories selected for deletion." -msgstr "삭제 카테고리를 선택하지 않았습니다. " - -#: ajax/categories/delete.php:26 -msgid "No address books found." -msgstr "주소록을 찾을 수 없습니다." - -#: ajax/categories/delete.php:34 -msgid "No contacts found." -msgstr "연락처를 찾을 수 없습니다." - -#: ajax/contact/add.php:47 -msgid "There was an error adding the contact." -msgstr "연락처를 추가하는 중 오류가 발생하였습니다." - -#: ajax/contact/addproperty.php:39 ajax/contact/saveproperty.php:36 -msgid "element name is not set." -msgstr "element 이름이 설정되지 않았습니다." - -#: ajax/contact/addproperty.php:46 -msgid "Could not parse contact: " -msgstr "" - -#: ajax/contact/addproperty.php:56 -msgid "Cannot add empty property." -msgstr "빈 속성을 추가할 수 없습니다." - -#: ajax/contact/addproperty.php:67 -msgid "At least one of the address fields has to be filled out." -msgstr "최소한 하나의 주소록 항목을 입력해야 합니다." - -#: ajax/contact/addproperty.php:76 -msgid "Trying to add duplicate property: " -msgstr "중복 속성 추가 시도: " - -#: ajax/contact/addproperty.php:115 ajax/contact/saveproperty.php:93 -msgid "Missing IM parameter." -msgstr "" - -#: ajax/contact/addproperty.php:119 ajax/contact/saveproperty.php:97 -msgid "Unknown IM: " -msgstr "" - -#: ajax/contact/deleteproperty.php:37 -msgid "Information about vCard is incorrect. Please reload the page." -msgstr "vCard 정보가 올바르지 않습니다. 페이지를 새로 고치십시오." - -#: ajax/contact/details.php:31 -msgid "Missing ID" -msgstr "아이디 분실" - -#: ajax/contact/details.php:36 -msgid "Error parsing VCard for ID: \"" -msgstr "아이디에 대한 VCard 분석 오류" - -#: ajax/contact/saveproperty.php:42 -msgid "checksum is not set." -msgstr "체크섬이 설정되지 않았습니다." - -#: ajax/contact/saveproperty.php:62 -msgid "Information about vCard is incorrect. Please reload the page: " -msgstr " vCard에 대한 정보가 잘못되었습니다. 페이지를 다시 로드하세요:" - -#: ajax/contact/saveproperty.php:69 -msgid "Something went FUBAR. " -msgstr "" - -#: ajax/currentphoto.php:30 ajax/oc_photo.php:28 ajax/uploadphoto.php:36 -#: ajax/uploadphoto.php:68 -msgid "No contact ID was submitted." -msgstr "접속 아이디가 기입되지 않았습니다." - -#: ajax/currentphoto.php:36 -msgid "Error reading contact photo." -msgstr "사진 읽기 오류" - -#: ajax/currentphoto.php:48 -msgid "Error saving temporary file." -msgstr "임시 파일을 저장하는 동안 오류가 발생했습니다. " - -#: ajax/currentphoto.php:51 -msgid "The loading photo is not valid." -msgstr "로딩 사진이 유효하지 않습니다. " - -#: ajax/editname.php:31 -msgid "Contact ID is missing." -msgstr "접속 아이디가 없습니다. " - -#: ajax/oc_photo.php:32 -msgid "No photo path was submitted." -msgstr "사진 경로가 제출되지 않았습니다. " - -#: ajax/oc_photo.php:39 -msgid "File doesn't exist:" -msgstr "파일이 존재하지 않습니다. " - -#: ajax/oc_photo.php:44 ajax/oc_photo.php:47 -msgid "Error loading image." -msgstr "로딩 이미지 오류입니다." - -#: ajax/savecrop.php:69 -msgid "Error getting contact object." -msgstr "연락처 개체를 가져오는 중 오류가 발생했습니다. " - -#: ajax/savecrop.php:79 -msgid "Error getting PHOTO property." -msgstr "사진 속성을 가져오는 중 오류가 발생했습니다. " - -#: ajax/savecrop.php:98 -msgid "Error saving contact." -msgstr "연락처 저장 중 오류가 발생했습니다." - -#: ajax/savecrop.php:109 -msgid "Error resizing image" -msgstr "이미지 크기 조정 중 오류가 발생했습니다." - -#: ajax/savecrop.php:112 -msgid "Error cropping image" -msgstr "이미지를 자르던 중 오류가 발생했습니다." - -#: ajax/savecrop.php:115 -msgid "Error creating temporary image" -msgstr "임시 이미지를 생성 중 오류가 발생했습니다." - -#: ajax/savecrop.php:118 -msgid "Error finding image: " -msgstr "이미지를 찾던 중 오류가 발생했습니다:" - -#: ajax/uploadimport.php:44 ajax/uploadimport.php:76 -msgid "Error uploading contacts to storage." -msgstr "스토리지 에러 업로드 연락처." - -#: ajax/uploadimport.php:61 ajax/uploadphoto.php:77 -msgid "There is no error, the file uploaded with success" -msgstr "오류없이 파일업로드 성공." - -#: ajax/uploadimport.php:62 ajax/uploadphoto.php:78 -msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" -msgstr "php.ini 형식으로 업로드 된 이 파일은 MAX_FILE_SIZE를 초과하였다." - -#: ajax/uploadimport.php:63 ajax/uploadphoto.php:79 -msgid "" -"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " -"the HTML form" -msgstr "HTML형식으로 업로드 된 이 파일은 MAX_FILE_SIZE를 초과하였다." - -#: ajax/uploadimport.php:64 ajax/uploadphoto.php:80 -msgid "The uploaded file was only partially uploaded" -msgstr "이 업로드된 파일은 부분적으로만 업로드 되었습니다." - -#: ajax/uploadimport.php:65 ajax/uploadphoto.php:81 -msgid "No file was uploaded" -msgstr "파일이 업로드 되어있지 않습니다" - -#: ajax/uploadimport.php:66 ajax/uploadphoto.php:82 -msgid "Missing a temporary folder" -msgstr "임시 폴더 분실" - -#: ajax/uploadphoto.php:59 ajax/uploadphoto.php:109 -msgid "Couldn't save temporary image: " -msgstr "임시 이미지를 저장할 수 없습니다:" - -#: ajax/uploadphoto.php:62 ajax/uploadphoto.php:112 -msgid "Couldn't load temporary image: " -msgstr "임시 이미지를 불러올 수 없습니다. " - -#: ajax/uploadphoto.php:71 -msgid "No file was uploaded. Unknown error" -msgstr "파일이 업로드 되지 않았습니다. 알 수 없는 오류." - -#: appinfo/app.php:21 -msgid "Contacts" -msgstr "연락처" - -#: js/contacts.js:71 -msgid "Sorry, this functionality has not been implemented yet" -msgstr "죄송합니다. 이 기능은 아직 구현되지 않았습니다. " - -#: js/contacts.js:71 -msgid "Not implemented" -msgstr "구현되지 않음" - -#: js/contacts.js:76 -msgid "Couldn't get a valid address." -msgstr "유효한 주소를 얻을 수 없습니다." - -#: js/contacts.js:76 js/contacts.js:365 js/contacts.js:381 js/contacts.js:393 -#: js/contacts.js:723 js/contacts.js:763 js/contacts.js:789 js/contacts.js:921 -#: js/contacts.js:927 js/contacts.js:939 js/contacts.js:976 -#: js/contacts.js:1250 js/contacts.js:1258 js/contacts.js:1267 -#: js/contacts.js:1302 js/contacts.js:1338 js/contacts.js:1353 -#: js/contacts.js:1379 js/contacts.js:1609 js/contacts.js:1644 -#: js/contacts.js:1664 js/settings.js:26 js/settings.js:43 js/settings.js:68 -msgid "Error" -msgstr "오류" - -#: js/contacts.js:424 -msgid "You do not have permission to add contacts to " -msgstr "" - -#: js/contacts.js:425 -msgid "Please select one of your own address books." -msgstr "" - -#: js/contacts.js:425 -msgid "Permission error" -msgstr "" - -#: js/contacts.js:763 -msgid "This property has to be non-empty." -msgstr "" - -#: js/contacts.js:789 -msgid "Couldn't serialize elements." -msgstr "요소를 직렬화 할 수 없습니다." - -#: js/contacts.js:921 js/contacts.js:939 -msgid "" -"'deleteProperty' called without type argument. Please report at " -"bugs.owncloud.org" -msgstr "'deleteProperty'가 문서형식이 없이 불려왔습니다. bugs.owncloud.org에 보고해주세요. " - -#: js/contacts.js:958 -msgid "Edit name" -msgstr "이름 편집" - -#: js/contacts.js:1250 -msgid "No files selected for upload." -msgstr "업로드를 위한 파일이 선택되지 않았습니다. " - -#: js/contacts.js:1258 -msgid "" -"The file you are trying to upload exceed the maximum size for file uploads " -"on this server." -msgstr "이 파일은 이 서버 파일 업로드 최대 용량을 초과 합니다. " - -#: js/contacts.js:1322 -msgid "Error loading profile picture." -msgstr "" - -#: js/contacts.js:1457 js/contacts.js:1498 js/contacts.js:1517 -#: js/contacts.js:1560 -msgid "Select type" -msgstr "유형 선택" - -#: js/contacts.js:1578 -msgid "" -"Some contacts are marked for deletion, but not deleted yet. Please wait for " -"them to be deleted." -msgstr "" - -#: js/contacts.js:1649 -msgid "Do you want to merge these address books?" -msgstr "" - -#: js/loader.js:49 -msgid "Result: " -msgstr "결과:" - -#: js/loader.js:49 -msgid " imported, " -msgstr "불러오기," - -#: js/loader.js:49 -msgid " failed." -msgstr "실패." - -#: js/settings.js:68 -msgid "Displayname cannot be empty." -msgstr "" - -#: lib/app.php:36 -msgid "Addressbook not found: " -msgstr "" - -#: lib/app.php:52 -msgid "This is not your addressbook." -msgstr "내 주소록이 아닙니다." - -#: lib/app.php:71 -msgid "Contact could not be found." -msgstr "연락처를 찾을 수 없습니다." - -#: lib/app.php:116 -msgid "Jabber" -msgstr "" - -#: lib/app.php:121 -msgid "AIM" -msgstr "" - -#: lib/app.php:126 -msgid "MSN" -msgstr "" - -#: lib/app.php:131 -msgid "Twitter" -msgstr "" - -#: lib/app.php:136 -msgid "GoogleTalk" -msgstr "" - -#: lib/app.php:141 -msgid "Facebook" -msgstr "" - -#: lib/app.php:146 -msgid "XMPP" -msgstr "" - -#: lib/app.php:151 -msgid "ICQ" -msgstr "" - -#: lib/app.php:156 -msgid "Yahoo" -msgstr "" - -#: lib/app.php:161 -msgid "Skype" -msgstr "" - -#: lib/app.php:166 -msgid "QQ" -msgstr "" - -#: lib/app.php:171 -msgid "GaduGadu" -msgstr "" - -#: lib/app.php:194 lib/app.php:202 lib/app.php:213 lib/app.php:266 -msgid "Work" -msgstr "직장" - -#: lib/app.php:195 lib/app.php:200 lib/app.php:214 -msgid "Home" -msgstr "자택" - -#: lib/app.php:196 lib/app.php:209 lib/app.php:262 lib/vcard.php:593 -msgid "Other" -msgstr "" - -#: lib/app.php:201 -msgid "Mobile" -msgstr "휴대폰" - -#: lib/app.php:203 -msgid "Text" -msgstr "문자 번호" - -#: lib/app.php:204 -msgid "Voice" -msgstr "음성 번호" - -#: lib/app.php:205 -msgid "Message" -msgstr "메세지" - -#: lib/app.php:206 -msgid "Fax" -msgstr "팩스 번호" - -#: lib/app.php:207 -msgid "Video" -msgstr "영상 번호" - -#: lib/app.php:208 -msgid "Pager" -msgstr "호출기" - -#: lib/app.php:215 -msgid "Internet" -msgstr "인터넷" - -#: lib/app.php:252 templates/part.contact.php:45 -#: templates/part.contact.php:128 -msgid "Birthday" -msgstr "생일" - -#: lib/app.php:253 -msgid "Business" -msgstr "" - -#: lib/app.php:254 -msgid "Call" -msgstr "" - -#: lib/app.php:255 -msgid "Clients" -msgstr "" - -#: lib/app.php:256 -msgid "Deliverer" -msgstr "" - -#: lib/app.php:257 -msgid "Holidays" -msgstr "" - -#: lib/app.php:258 -msgid "Ideas" -msgstr "" - -#: lib/app.php:259 -msgid "Journey" -msgstr "" - -#: lib/app.php:260 -msgid "Jubilee" -msgstr "" - -#: lib/app.php:261 -msgid "Meeting" -msgstr "" - -#: lib/app.php:263 -msgid "Personal" -msgstr "" - -#: lib/app.php:264 -msgid "Projects" -msgstr "" - -#: lib/app.php:265 -msgid "Questions" -msgstr "" - -#: lib/hooks.php:102 -msgid "{name}'s Birthday" -msgstr "{이름}의 생일" - -#: lib/search.php:15 -msgid "Contact" -msgstr "연락처" - -#: lib/vcard.php:408 -msgid "You do not have the permissions to edit this contact." -msgstr "" - -#: lib/vcard.php:483 -msgid "You do not have the permissions to delete this contact." -msgstr "" - -#: templates/index.php:14 -msgid "Add Contact" -msgstr "연락처 추가" - -#: templates/index.php:15 templates/index.php:16 templates/part.import.php:17 -msgid "Import" -msgstr "입력" - -#: templates/index.php:18 -msgid "Settings" -msgstr "" - -#: templates/index.php:18 templates/settings.php:9 -msgid "Addressbooks" -msgstr "주소록" - -#: templates/index.php:36 templates/part.import.php:24 -msgid "Close" -msgstr "닫기" - -#: templates/index.php:37 -msgid "Keyboard shortcuts" -msgstr "" - -#: templates/index.php:39 -msgid "Navigation" -msgstr "" - -#: templates/index.php:42 -msgid "Next contact in list" -msgstr "" - -#: templates/index.php:44 -msgid "Previous contact in list" -msgstr "" - -#: templates/index.php:46 -msgid "Expand/collapse current addressbook" -msgstr "" - -#: templates/index.php:48 -msgid "Next addressbook" -msgstr "" - -#: templates/index.php:50 -msgid "Previous addressbook" -msgstr "" - -#: templates/index.php:54 -msgid "Actions" -msgstr "" - -#: templates/index.php:57 -msgid "Refresh contacts list" -msgstr "" - -#: templates/index.php:59 -msgid "Add new contact" -msgstr "" - -#: templates/index.php:61 -msgid "Add new addressbook" -msgstr "" - -#: templates/index.php:63 -msgid "Delete current contact" -msgstr "" - -#: templates/part.contact.php:17 -msgid "Drop photo to upload" -msgstr "Drop photo to upload" - -#: templates/part.contact.php:19 -msgid "Delete current photo" -msgstr "현재 사진 삭제" - -#: templates/part.contact.php:20 -msgid "Edit current photo" -msgstr "현재 사진 편집" - -#: templates/part.contact.php:21 -msgid "Upload new photo" -msgstr "새로운 사진 업로드" - -#: templates/part.contact.php:22 -msgid "Select photo from ownCloud" -msgstr "ownCloud에서 사진 선택" - -#: templates/part.contact.php:35 -msgid "Format custom, Short name, Full name, Reverse or Reverse with comma" -msgstr "Format custom, Short name, Full name, Reverse or Reverse with comma" - -#: templates/part.contact.php:36 -msgid "Edit name details" -msgstr "이름 세부사항을 편집합니다. " - -#: templates/part.contact.php:39 templates/part.contact.php:40 -#: templates/part.contact.php:126 -msgid "Organization" -msgstr "조직" - -#: templates/part.contact.php:40 templates/part.contact.php:42 -#: templates/part.contact.php:44 templates/part.contact.php:46 -#: templates/part.contact.php:50 templates/settings.php:36 -msgid "Delete" -msgstr "삭제" - -#: templates/part.contact.php:41 templates/part.contact.php:127 -msgid "Nickname" -msgstr "별명" - -#: templates/part.contact.php:42 -msgid "Enter nickname" -msgstr "별명 입력" - -#: templates/part.contact.php:43 templates/part.contact.php:134 -msgid "Web site" -msgstr "" - -#: templates/part.contact.php:44 -msgid "http://www.somesite.com" -msgstr "" - -#: templates/part.contact.php:44 -msgid "Go to web site" -msgstr "" - -#: templates/part.contact.php:46 -msgid "dd-mm-yyyy" -msgstr "일-월-년" - -#: templates/part.contact.php:47 templates/part.contact.php:135 -msgid "Groups" -msgstr "그룹" - -#: templates/part.contact.php:49 -msgid "Separate groups with commas" -msgstr "쉼표로 그룹 구분" - -#: templates/part.contact.php:50 -msgid "Edit groups" -msgstr "그룹 편집" - -#: templates/part.contact.php:59 templates/part.contact.php:73 -#: templates/part.contact.php:98 -msgid "Preferred" -msgstr "선호함" - -#: templates/part.contact.php:60 -msgid "Please specify a valid email address." -msgstr "올바른 이메일 주소를 입력하세요." - -#: templates/part.contact.php:60 -msgid "Enter email address" -msgstr "이메일 주소 입력" - -#: templates/part.contact.php:64 -msgid "Mail to address" -msgstr "" - -#: templates/part.contact.php:65 -msgid "Delete email address" -msgstr "이메일 주소 삭제" - -#: templates/part.contact.php:75 -msgid "Enter phone number" -msgstr "전화번호 입력" - -#: templates/part.contact.php:79 -msgid "Delete phone number" -msgstr "전화번호 삭제" - -#: templates/part.contact.php:100 -msgid "Instant Messenger" -msgstr "" - -#: templates/part.contact.php:101 -msgid "Delete IM" -msgstr "" - -#: templates/part.contact.php:110 -msgid "View on map" -msgstr "지도에서 보기" - -#: templates/part.contact.php:110 -msgid "Edit address details" -msgstr "상세 주소 수정" - -#: templates/part.contact.php:116 -msgid "Add notes here." -msgstr "여기에 노트 추가." - -#: templates/part.contact.php:124 -msgid "Add field" -msgstr "파일 추가" - -#: templates/part.contact.php:129 -msgid "Phone" -msgstr "전화 번호" - -#: templates/part.contact.php:130 -msgid "Email" -msgstr "전자 우편" - -#: templates/part.contact.php:131 -msgid "Instant Messaging" -msgstr "" - -#: templates/part.contact.php:132 -msgid "Address" -msgstr "주소" - -#: templates/part.contact.php:133 -msgid "Note" -msgstr "노트" - -#: templates/part.contact.php:138 -msgid "Download contact" -msgstr "연락처 다운로드" - -#: templates/part.contact.php:139 -msgid "Delete contact" -msgstr "연락처 삭제" - -#: templates/part.cropphoto.php:65 -msgid "The temporary image has been removed from cache." -msgstr "임시 이미지가 캐시에서 제거 되었습니다. " - -#: templates/part.edit_address_dialog.php:6 -msgid "Edit address" -msgstr "주소 수정" - -#: templates/part.edit_address_dialog.php:10 -msgid "Type" -msgstr "종류" - -#: templates/part.edit_address_dialog.php:18 -#: templates/part.edit_address_dialog.php:21 -msgid "PO Box" -msgstr "사서함" - -#: templates/part.edit_address_dialog.php:24 -msgid "Street address" -msgstr "" - -#: templates/part.edit_address_dialog.php:27 -msgid "Street and number" -msgstr "" - -#: templates/part.edit_address_dialog.php:30 -msgid "Extended" -msgstr "확장" - -#: templates/part.edit_address_dialog.php:33 -msgid "Apartment number etc." -msgstr "" - -#: templates/part.edit_address_dialog.php:36 -#: templates/part.edit_address_dialog.php:39 -msgid "City" -msgstr "도시" - -#: templates/part.edit_address_dialog.php:42 -msgid "Region" -msgstr "지역" - -#: templates/part.edit_address_dialog.php:45 -msgid "E.g. state or province" -msgstr "" - -#: templates/part.edit_address_dialog.php:48 -msgid "Zipcode" -msgstr "우편 번호" - -#: templates/part.edit_address_dialog.php:51 -msgid "Postal code" -msgstr "" - -#: templates/part.edit_address_dialog.php:54 -#: templates/part.edit_address_dialog.php:57 -msgid "Country" -msgstr "국가" - -#: templates/part.edit_name_dialog.php:16 -msgid "Addressbook" -msgstr "주소록" - -#: templates/part.edit_name_dialog.php:23 -msgid "Hon. prefixes" -msgstr "Hon. prefixes" - -#: templates/part.edit_name_dialog.php:27 -msgid "Miss" -msgstr "Miss" - -#: templates/part.edit_name_dialog.php:28 -msgid "Ms" -msgstr "Ms" - -#: templates/part.edit_name_dialog.php:29 -msgid "Mr" -msgstr "Mr" - -#: templates/part.edit_name_dialog.php:30 -msgid "Sir" -msgstr "Sir" - -#: templates/part.edit_name_dialog.php:31 -msgid "Mrs" -msgstr "Mrs" - -#: templates/part.edit_name_dialog.php:32 -msgid "Dr" -msgstr "Dr" - -#: templates/part.edit_name_dialog.php:35 -msgid "Given name" -msgstr "Given name" - -#: templates/part.edit_name_dialog.php:37 -msgid "Additional names" -msgstr "추가 이름" - -#: templates/part.edit_name_dialog.php:39 -msgid "Family name" -msgstr "성" - -#: templates/part.edit_name_dialog.php:41 -msgid "Hon. suffixes" -msgstr "Hon. suffixes" - -#: templates/part.edit_name_dialog.php:45 -msgid "J.D." -msgstr "J.D." - -#: templates/part.edit_name_dialog.php:46 -msgid "M.D." -msgstr "M.D." - -#: templates/part.edit_name_dialog.php:47 -msgid "D.O." -msgstr "D.O." - -#: templates/part.edit_name_dialog.php:48 -msgid "D.C." -msgstr "D.C." - -#: templates/part.edit_name_dialog.php:49 -msgid "Ph.D." -msgstr "Ph.D." - -#: templates/part.edit_name_dialog.php:50 -msgid "Esq." -msgstr "Esq." - -#: templates/part.edit_name_dialog.php:51 -msgid "Jr." -msgstr "Jr." - -#: templates/part.edit_name_dialog.php:52 -msgid "Sn." -msgstr "Sn." - -#: templates/part.import.php:1 -msgid "Import a contacts file" -msgstr "연락처 파일 입력" - -#: templates/part.import.php:6 -msgid "Please choose the addressbook" -msgstr "주소록을 선택해 주세요." - -#: templates/part.import.php:10 -msgid "create a new addressbook" -msgstr "새 주소록 만들기" - -#: templates/part.import.php:15 -msgid "Name of new addressbook" -msgstr "새 주소록 이름" - -#: templates/part.import.php:20 -msgid "Importing contacts" -msgstr "연락처 입력" - -#: templates/part.no_contacts.php:3 -msgid "You have no contacts in your addressbook." -msgstr "당신의 주소록에는 연락처가 없습니다. " - -#: templates/part.no_contacts.php:5 -msgid "Add contact" -msgstr "연락처 추가" - -#: templates/part.selectaddressbook.php:1 -msgid "Select Address Books" -msgstr "" - -#: templates/part.selectaddressbook.php:27 -msgid "Enter name" -msgstr "" - -#: templates/part.selectaddressbook.php:29 -msgid "Enter description" -msgstr "" - -#: templates/settings.php:3 -msgid "CardDAV syncing addresses" -msgstr "CardDAV 주소 동기화" - -#: templates/settings.php:3 -msgid "more info" -msgstr "더 많은 정보" - -#: templates/settings.php:5 -msgid "Primary address (Kontact et al)" -msgstr "기본 주소 (Kontact et al)" - -#: templates/settings.php:7 -msgid "iOS/OS X" -msgstr "iOS/OS X" - -#: templates/settings.php:20 -msgid "Show CardDav link" -msgstr "" - -#: templates/settings.php:23 -msgid "Show read-only VCF link" -msgstr "" - -#: templates/settings.php:26 -msgid "Share" -msgstr "" - -#: templates/settings.php:29 -msgid "Download" -msgstr "다운로드" - -#: templates/settings.php:33 -msgid "Edit" -msgstr "편집" - -#: templates/settings.php:43 -msgid "New Address Book" -msgstr "새 주소록" - -#: templates/settings.php:44 -msgid "Name" -msgstr "" - -#: templates/settings.php:45 -msgid "Description" -msgstr "" - -#: templates/settings.php:46 -msgid "Save" -msgstr "저장" - -#: templates/settings.php:47 -msgid "Cancel" -msgstr "취소" - -#: templates/settings.php:52 -msgid "More..." -msgstr "" diff --git a/l10n/ko/core.po b/l10n/ko/core.po index 79125bc4578451b0201f99823d7add35f382bbb7..11331b588a89a879c7e51725423f11b5304f2018 100644 --- a/l10n/ko/core.po +++ b/l10n/ko/core.po @@ -3,15 +3,16 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# 남자사람 , 2012. # , 2012. # Shinjo Park , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-16 02:04+0200\n" -"PO-Revision-Date: 2012-10-16 00:05+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-12-10 00:11+0100\n" +"PO-Revision-Date: 2012-12-09 06:08+0000\n" +"Last-Translator: Shinjo Park \n" "Language-Team: Korean (http://www.transifex.com/projects/p/owncloud/language/ko/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -19,227 +20,259 @@ msgstr "" "Language: ko\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: ajax/vcategories/add.php:23 ajax/vcategories/delete.php:23 -msgid "Application name not provided." -msgstr "응용 프로그램의 이름이 규정되어 있지 않습니다. " +#: ajax/vcategories/add.php:26 ajax/vcategories/edit.php:25 +msgid "Category type not provided." +msgstr "분류 형식이 제공되지 않았습니다." -#: ajax/vcategories/add.php:29 +#: ajax/vcategories/add.php:30 msgid "No category to add?" -msgstr "추가할 카테고리가 없습니까?" +msgstr "추가할 분류가 없습니까?" -#: ajax/vcategories/add.php:36 +#: ajax/vcategories/add.php:37 msgid "This category already exists: " -msgstr "이 카테고리는 이미 존재합니다:" +msgstr "이 분류는 이미 존재합니다:" + +#: ajax/vcategories/addToFavorites.php:26 ajax/vcategories/delete.php:27 +#: ajax/vcategories/favorites.php:24 +#: ajax/vcategories/removeFromFavorites.php:26 +msgid "Object type not provided." +msgstr "객체 형식이 제공되지 않았습니다." + +#: ajax/vcategories/addToFavorites.php:30 +#: ajax/vcategories/removeFromFavorites.php:30 +#, php-format +msgid "%s ID not provided." +msgstr "%s ID가 제공되지 않았습니다." + +#: ajax/vcategories/addToFavorites.php:35 +#, php-format +msgid "Error adding %s to favorites." +msgstr "책갈피에 %s을(를) 추가할 수 없었습니다." + +#: ajax/vcategories/delete.php:35 js/oc-vcategories.js:136 +msgid "No categories selected for deletion." +msgstr "삭제할 분류를 선택하지 않았습니다." + +#: ajax/vcategories/removeFromFavorites.php:35 +#, php-format +msgid "Error removing %s from favorites." +msgstr "책갈피에서 %s을(를) 삭제할 수 없었습니다." -#: js/js.js:238 templates/layout.user.php:49 templates/layout.user.php:50 +#: js/js.js:259 templates/layout.user.php:60 templates/layout.user.php:61 msgid "Settings" msgstr "설정" -#: js/js.js:670 -msgid "January" -msgstr "1월" +#: js/js.js:704 +msgid "seconds ago" +msgstr "초 전" -#: js/js.js:670 -msgid "February" -msgstr "2월" +#: js/js.js:705 +msgid "1 minute ago" +msgstr "1분 전" -#: js/js.js:670 -msgid "March" -msgstr "3월" +#: js/js.js:706 +msgid "{minutes} minutes ago" +msgstr "{minutes}분 전" -#: js/js.js:670 -msgid "April" -msgstr "4월" +#: js/js.js:707 +msgid "1 hour ago" +msgstr "1시간 전" -#: js/js.js:670 -msgid "May" -msgstr "5월" +#: js/js.js:708 +msgid "{hours} hours ago" +msgstr "{hours}시간 전" -#: js/js.js:670 -msgid "June" -msgstr "6월" +#: js/js.js:709 +msgid "today" +msgstr "오늘" -#: js/js.js:671 -msgid "July" -msgstr "7월" +#: js/js.js:710 +msgid "yesterday" +msgstr "어제" -#: js/js.js:671 -msgid "August" -msgstr "8월" +#: js/js.js:711 +msgid "{days} days ago" +msgstr "{days}일 전" -#: js/js.js:671 -msgid "September" -msgstr "9월" +#: js/js.js:712 +msgid "last month" +msgstr "지난 달" -#: js/js.js:671 -msgid "October" -msgstr "10월" +#: js/js.js:713 +msgid "{months} months ago" +msgstr "{months}개월 전" -#: js/js.js:671 -msgid "November" -msgstr "11월" +#: js/js.js:714 +msgid "months ago" +msgstr "개월 전" -#: js/js.js:671 -msgid "December" -msgstr "12월" +#: js/js.js:715 +msgid "last year" +msgstr "작년" + +#: js/js.js:716 +msgid "years ago" +msgstr "년 전" -#: js/oc-dialogs.js:123 +#: js/oc-dialogs.js:126 msgid "Choose" -msgstr "" +msgstr "선택" -#: js/oc-dialogs.js:143 js/oc-dialogs.js:163 +#: js/oc-dialogs.js:146 js/oc-dialogs.js:166 msgid "Cancel" msgstr "취소" -#: js/oc-dialogs.js:159 +#: js/oc-dialogs.js:162 msgid "No" -msgstr "아니오" +msgstr "아니요" -#: js/oc-dialogs.js:160 +#: js/oc-dialogs.js:163 msgid "Yes" msgstr "예" -#: js/oc-dialogs.js:177 +#: js/oc-dialogs.js:180 msgid "Ok" msgstr "승락" -#: js/oc-vcategories.js:68 -msgid "No categories selected for deletion." -msgstr "삭제 카테고리를 선택하지 않았습니다." +#: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102 +#: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162 +msgid "The object type is not specified." +msgstr "객체 유형이 지정되지 않았습니다." -#: js/oc-vcategories.js:68 js/share.js:114 js/share.js:121 js/share.js:497 -#: js/share.js:509 +#: js/oc-vcategories.js:95 js/oc-vcategories.js:125 js/oc-vcategories.js:136 +#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:533 +#: js/share.js:545 msgid "Error" -msgstr "에러" +msgstr "오류" + +#: js/oc-vcategories.js:179 +msgid "The app name is not specified." +msgstr "앱 이름이 지정되지 않았습니다." -#: js/share.js:103 +#: js/oc-vcategories.js:194 +msgid "The required file {file} is not installed!" +msgstr "필요한 파일 {file}이(가) 설치되지 않았습니다!" + +#: js/share.js:124 msgid "Error while sharing" -msgstr "" +msgstr "공유하는 중 오류 발생" -#: js/share.js:114 +#: js/share.js:135 msgid "Error while unsharing" -msgstr "" +msgstr "공유 해제하는 중 오류 발생" -#: js/share.js:121 +#: js/share.js:142 msgid "Error while changing permissions" -msgstr "" - -#: js/share.js:130 -msgid "Shared with you and the group" -msgstr "" +msgstr "권한 변경하는 중 오류 발생" -#: js/share.js:130 -msgid "by" -msgstr "" +#: js/share.js:151 +msgid "Shared with you and the group {group} by {owner}" +msgstr "{owner} 님이 여러분 및 그룹 {group}와(과) 공유 중" -#: js/share.js:132 -msgid "Shared with you by" -msgstr "" +#: js/share.js:153 +msgid "Shared with you by {owner}" +msgstr "{owner} 님이 공유 중" -#: js/share.js:137 +#: js/share.js:158 msgid "Share with" -msgstr "" +msgstr "다음으로 공유" -#: js/share.js:142 +#: js/share.js:163 msgid "Share with link" -msgstr "" +msgstr "URL 링크로 공유" -#: js/share.js:143 +#: js/share.js:164 msgid "Password protect" -msgstr "" +msgstr "암호 보호" -#: js/share.js:147 templates/installation.php:42 templates/login.php:24 +#: js/share.js:168 templates/installation.php:42 templates/login.php:24 #: templates/verify.php:13 msgid "Password" msgstr "암호" -#: js/share.js:152 +#: js/share.js:173 msgid "Set expiration date" -msgstr "" +msgstr "만료 날짜 설정" -#: js/share.js:153 +#: js/share.js:174 msgid "Expiration date" -msgstr "" +msgstr "만료 날짜" -#: js/share.js:185 +#: js/share.js:206 msgid "Share via email:" -msgstr "" +msgstr "이메일로 공유:" -#: js/share.js:187 +#: js/share.js:208 msgid "No people found" -msgstr "" +msgstr "발견된 사람 없음" -#: js/share.js:214 +#: js/share.js:235 msgid "Resharing is not allowed" -msgstr "" - -#: js/share.js:250 -msgid "Shared in" -msgstr "" - -#: js/share.js:250 -msgid "with" -msgstr "" +msgstr "다시 공유할 수 없습니다" #: js/share.js:271 +msgid "Shared in {item} with {user}" +msgstr "{user} 님과 {item}에서 공유 중" + +#: js/share.js:292 msgid "Unshare" -msgstr "" +msgstr "공유 해제" -#: js/share.js:283 +#: js/share.js:304 msgid "can edit" -msgstr "" +msgstr "편집 가능" -#: js/share.js:285 +#: js/share.js:306 msgid "access control" -msgstr "" +msgstr "접근 제어" -#: js/share.js:288 +#: js/share.js:309 msgid "create" -msgstr "" +msgstr "만들기" -#: js/share.js:291 +#: js/share.js:312 msgid "update" -msgstr "" +msgstr "업데이트" -#: js/share.js:294 +#: js/share.js:315 msgid "delete" -msgstr "" +msgstr "삭제" -#: js/share.js:297 +#: js/share.js:318 msgid "share" -msgstr "" +msgstr "공유" -#: js/share.js:322 js/share.js:484 +#: js/share.js:349 js/share.js:520 js/share.js:522 msgid "Password protected" -msgstr "" +msgstr "암호로 보호됨" -#: js/share.js:497 +#: js/share.js:533 msgid "Error unsetting expiration date" -msgstr "" +msgstr "만료 날짜 해제 오류" -#: js/share.js:509 +#: js/share.js:545 msgid "Error setting expiration date" -msgstr "" +msgstr "만료 날짜 설정 오류" -#: lostpassword/index.php:26 +#: lostpassword/controller.php:47 msgid "ownCloud password reset" -msgstr "ownCloud 비밀번호 재설정" +msgstr "ownCloud 암호 재설정" #: lostpassword/templates/email.php:2 msgid "Use the following link to reset your password: {link}" -msgstr "다음 링크를 사용하여 암호를 초기화할 수 있습니다: {link}" +msgstr "다음 링크를 사용하여 암호를 재설정할 수 있습니다: {link}" #: lostpassword/templates/lostpassword.php:3 msgid "You will receive a link to reset your password via Email." -msgstr "전자 우편으로 암호 재설정 링크를 보냈습니다." +msgstr "이메일로 암호 재설정 링크를 보냈습니다." #: lostpassword/templates/lostpassword.php:5 -msgid "Requested" -msgstr "요청함" +msgid "Reset email send." +msgstr "초기화 이메일을 보냈습니다." #: lostpassword/templates/lostpassword.php:8 -msgid "Login failed!" -msgstr "로그인 실패!" +msgid "Request failed!" +msgstr "요청이 실패했습니다!" #: lostpassword/templates/lostpassword.php:11 templates/installation.php:38 #: templates/login.php:20 @@ -276,7 +309,7 @@ msgstr "사용자" #: strings.php:7 msgid "Apps" -msgstr "프로그램" +msgstr "앱" #: strings.php:8 msgid "Admin" @@ -288,7 +321,7 @@ msgstr "도움말" #: templates/403.php:12 msgid "Access forbidden" -msgstr "접근 금지" +msgstr "접근 금지됨" #: templates/404.php:12 msgid "Cloud not found" @@ -296,27 +329,27 @@ msgstr "클라우드를 찾을 수 없습니다" #: templates/edit_categories_dialog.php:4 msgid "Edit categories" -msgstr "카테고리 편집" +msgstr "분류 편집" -#: templates/edit_categories_dialog.php:14 +#: templates/edit_categories_dialog.php:16 msgid "Add" msgstr "추가" #: templates/installation.php:23 templates/installation.php:31 msgid "Security Warning" -msgstr "" +msgstr "보안 경고" #: templates/installation.php:24 msgid "" "No secure random number generator is available, please enable the PHP " "OpenSSL extension." -msgstr "" +msgstr "안전한 난수 생성기를 사용할 수 없습니다. PHP의 OpenSSL 확장을 활성화해 주십시오." #: templates/installation.php:26 msgid "" "Without a secure random number generator an attacker may be able to predict " "password reset tokens and take over your account." -msgstr "" +msgstr "안전한 난수 생성기를 사용하지 않으면 공격자가 암호 초기화 토큰을 추측하여 계정을 탈취할 수 있습니다." #: templates/installation.php:32 msgid "" @@ -325,11 +358,11 @@ msgid "" "strongly suggest that you configure your webserver in a way that the data " "directory is no longer accessible or you move the data directory outside the" " webserver document root." -msgstr "" +msgstr "데이터 디렉터리와 파일을 인터넷에서 접근할 수 있는 것 같습니다. ownCloud에서 제공한 .htaccess 파일이 작동하지 않습니다. 웹 서버를 다시 설정하여 데이터 디렉터리에 접근할 수 없도록 하거나 문서 루트 바깥쪽으로 옮기는 것을 추천합니다." #: templates/installation.php:36 msgid "Create an admin account" -msgstr "관리자 계정을 만드십시오" +msgstr "관리자 계정 만들기" #: templates/installation.php:48 msgid "Advanced" @@ -337,16 +370,16 @@ msgstr "고급" #: templates/installation.php:50 msgid "Data folder" -msgstr "자료 폴더" +msgstr "데이터 폴더" #: templates/installation.php:57 msgid "Configure the database" -msgstr "데이터베이스 구성" +msgstr "데이터베이스 설정" #: templates/installation.php:62 templates/installation.php:73 #: templates/installation.php:83 templates/installation.php:93 msgid "will be used" -msgstr "사용 될 것임" +msgstr "사용될 예정" #: templates/installation.php:105 msgid "Database user" @@ -362,7 +395,7 @@ msgstr "데이터베이스 이름" #: templates/installation.php:121 msgid "Database tablespace" -msgstr "" +msgstr "데이터베이스 테이블 공간" #: templates/installation.php:127 msgid "Database host" @@ -372,27 +405,103 @@ msgstr "데이터베이스 호스트" msgid "Finish setup" msgstr "설치 완료" -#: templates/layout.guest.php:38 +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Sunday" +msgstr "일요일" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Monday" +msgstr "월요일" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Tuesday" +msgstr "화요일" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Wednesday" +msgstr "수요일" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Thursday" +msgstr "목요일" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Friday" +msgstr "금요일" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Saturday" +msgstr "토요일" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "January" +msgstr "1월" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "February" +msgstr "2월" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "March" +msgstr "3월" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "April" +msgstr "4월" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "May" +msgstr "5월" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "June" +msgstr "6월" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "July" +msgstr "7월" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "August" +msgstr "8월" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "September" +msgstr "9월" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "October" +msgstr "10월" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "November" +msgstr "11월" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "December" +msgstr "12월" + +#: templates/layout.guest.php:42 msgid "web services under your control" msgstr "내가 관리하는 웹 서비스" -#: templates/layout.user.php:34 +#: templates/layout.user.php:45 msgid "Log out" msgstr "로그아웃" #: templates/login.php:8 msgid "Automatic logon rejected!" -msgstr "" +msgstr "자동 로그인이 거부되었습니다!" #: templates/login.php:9 msgid "" "If you did not change your password recently, your account may be " "compromised!" -msgstr "" +msgstr "최근에 암호를 변경하지 않았다면 계정이 탈취되었을 수도 있습니다!" #: templates/login.php:10 msgid "Please change your password to secure your account again." -msgstr "" +msgstr "계정의 안전을 위하여 암호를 변경하십시오." #: templates/login.php:15 msgid "Lost your password?" @@ -408,7 +517,7 @@ msgstr "로그인" #: templates/logout.php:1 msgid "You are logged out." -msgstr "로그아웃 하셨습니다." +msgstr "로그아웃되었습니다." #: templates/part.pagenavi.php:3 msgid "prev" @@ -420,14 +529,14 @@ msgstr "다음" #: templates/verify.php:5 msgid "Security Warning!" -msgstr "" +msgstr "보안 경고!" #: templates/verify.php:6 msgid "" "Please verify your password.
For security reasons you may be " "occasionally asked to enter your password again." -msgstr "" +msgstr "암호를 확인해 주십시오.
보안상의 이유로 종종 암호를 물어볼 것입니다." #: templates/verify.php:16 msgid "Verify" -msgstr "" +msgstr "확인" diff --git a/l10n/ko/files.po b/l10n/ko/files.po index fdbc75250d43bde2bac9a4a02464c80d5d405365..0fcb15b44b470d2084686fb7badb1b6cff2aba05 100644 --- a/l10n/ko/files.po +++ b/l10n/ko/files.po @@ -3,15 +3,16 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# 남자사람 , 2012. # , 2012. # Shinjo Park , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-09-26 13:19+0200\n" -"PO-Revision-Date: 2012-09-26 11:20+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-12-10 00:11+0100\n" +"PO-Revision-Date: 2012-12-09 05:40+0000\n" +"Last-Translator: Shinjo Park \n" "Language-Team: Korean (http://www.transifex.com/projects/p/owncloud/language/ko/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -24,195 +25,166 @@ msgid "There is no error, the file uploaded with success" msgstr "업로드에 성공하였습니다." #: ajax/upload.php:21 -msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" -msgstr "업로드한 파일이 php.ini에서 지정한 upload_max_filesize보다 더 큼" +msgid "" +"The uploaded file exceeds the upload_max_filesize directive in php.ini: " +msgstr "업로드한 파일이 php.ini의 upload_max_filesize보다 큽니다:" -#: ajax/upload.php:22 +#: ajax/upload.php:23 msgid "" "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " "the HTML form" msgstr "업로드한 파일이 HTML 문서에 지정한 MAX_FILE_SIZE보다 더 큼" -#: ajax/upload.php:23 +#: ajax/upload.php:25 msgid "The uploaded file was only partially uploaded" msgstr "파일이 부분적으로 업로드됨" -#: ajax/upload.php:24 +#: ajax/upload.php:26 msgid "No file was uploaded" msgstr "업로드된 파일 없음" -#: ajax/upload.php:25 +#: ajax/upload.php:27 msgid "Missing a temporary folder" msgstr "임시 폴더가 사라짐" -#: ajax/upload.php:26 +#: ajax/upload.php:28 msgid "Failed to write to disk" msgstr "디스크에 쓰지 못했습니다" -#: appinfo/app.php:6 +#: appinfo/app.php:10 msgid "Files" msgstr "파일" -#: js/fileactions.js:108 templates/index.php:62 +#: js/fileactions.js:117 templates/index.php:84 templates/index.php:85 msgid "Unshare" -msgstr "" +msgstr "공유 해제" -#: js/fileactions.js:110 templates/index.php:64 +#: js/fileactions.js:119 templates/index.php:90 templates/index.php:91 msgid "Delete" msgstr "삭제" -#: js/fileactions.js:182 +#: js/fileactions.js:181 msgid "Rename" -msgstr "" +msgstr "이름 바꾸기" -#: js/filelist.js:190 js/filelist.js:192 -msgid "already exists" -msgstr "이미 존재 합니다" +#: js/filelist.js:199 js/filelist.js:201 +msgid "{new_name} already exists" +msgstr "{new_name}이(가) 이미 존재함" -#: js/filelist.js:190 js/filelist.js:192 +#: js/filelist.js:199 js/filelist.js:201 msgid "replace" -msgstr "대체" +msgstr "바꾸기" -#: js/filelist.js:190 +#: js/filelist.js:199 msgid "suggest name" -msgstr "" +msgstr "이름 제안" -#: js/filelist.js:190 js/filelist.js:192 +#: js/filelist.js:199 js/filelist.js:201 msgid "cancel" msgstr "취소" -#: js/filelist.js:239 js/filelist.js:241 -msgid "replaced" -msgstr "대체됨" +#: js/filelist.js:248 +msgid "replaced {new_name}" +msgstr "{new_name}을(를) 대체함" -#: js/filelist.js:239 js/filelist.js:241 js/filelist.js:273 js/filelist.js:275 +#: js/filelist.js:248 js/filelist.js:250 js/filelist.js:282 js/filelist.js:284 msgid "undo" -msgstr "복구" +msgstr "실행 취소" -#: js/filelist.js:241 -msgid "with" -msgstr "와" +#: js/filelist.js:250 +msgid "replaced {new_name} with {old_name}" +msgstr "{old_name}이(가) {new_name}(으)로 대체됨" -#: js/filelist.js:273 -msgid "unshared" -msgstr "" +#: js/filelist.js:282 +msgid "unshared {files}" +msgstr "{files} 공유 해제됨" -#: js/filelist.js:275 -msgid "deleted" -msgstr "삭제" +#: js/filelist.js:284 +msgid "deleted {files}" +msgstr "{files} 삭제됨" + +#: js/files.js:33 +msgid "" +"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not " +"allowed." +msgstr "폴더 이름이 올바르지 않습니다. 이름에 문자 '\\', '/', '<', '>', ':', '\"', '|', '? ', '*'는 사용할 수 없습니다." -#: js/files.js:179 +#: js/files.js:174 msgid "generating ZIP-file, it may take some time." -msgstr "ZIP파일 생성에 시간이 걸릴 수 있습니다." +msgstr "ZIP 파일을 생성하고 있습니다. 시간이 걸릴 수도 있습니다." -#: js/files.js:208 +#: js/files.js:209 msgid "Unable to upload your file as it is a directory or has 0 bytes" -msgstr "이 파일은 디렉토리이거나 0 바이트이기 때문에 업로드 할 수 없습니다." +msgstr "이 파일은 디렉터리이거나 비어 있기 때문에 업로드할 수 없습니다" -#: js/files.js:208 +#: js/files.js:209 msgid "Upload Error" -msgstr "업로드 에러" +msgstr "업로드 오류" -#: js/files.js:236 js/files.js:341 js/files.js:371 +#: js/files.js:226 +msgid "Close" +msgstr "닫기" + +#: js/files.js:245 js/files.js:359 js/files.js:389 msgid "Pending" msgstr "보류 중" -#: js/files.js:256 +#: js/files.js:265 msgid "1 file uploading" -msgstr "" +msgstr "파일 1개 업로드 중" -#: js/files.js:259 js/files.js:304 js/files.js:319 -msgid "files uploading" -msgstr "" +#: js/files.js:268 js/files.js:322 js/files.js:337 +msgid "{count} files uploading" +msgstr "파일 {count}개 업로드 중" -#: js/files.js:322 js/files.js:355 +#: js/files.js:340 js/files.js:373 msgid "Upload cancelled." -msgstr "업로드 취소." +msgstr "업로드가 취소되었습니다." -#: js/files.js:424 +#: js/files.js:442 msgid "" "File upload is in progress. Leaving the page now will cancel the upload." -msgstr "" +msgstr "파일 업로드가 진행 중입니다. 이 페이지를 벗어나면 업로드가 취소됩니다." -#: js/files.js:494 -msgid "Invalid name, '/' is not allowed." -msgstr "잘못된 이름, '/' 은 허용이 되지 않습니다." +#: js/files.js:512 +msgid "Invalid folder name. Usage of \"Shared\" is reserved by Owncloud" +msgstr "폴더 이름이 올바르지 않습니다. \"Shared\" 폴더는 ownCloud에서 예약되었습니다." -#: js/files.js:667 -msgid "files scanned" -msgstr "" +#: js/files.js:693 +msgid "{count} files scanned" +msgstr "파일 {count}개 검색됨" -#: js/files.js:675 +#: js/files.js:701 msgid "error while scanning" -msgstr "" +msgstr "검색 중 오류 발생" -#: js/files.js:748 templates/index.php:48 +#: js/files.js:774 templates/index.php:66 msgid "Name" msgstr "이름" -#: js/files.js:749 templates/index.php:56 +#: js/files.js:775 templates/index.php:77 msgid "Size" msgstr "크기" -#: js/files.js:750 templates/index.php:58 +#: js/files.js:776 templates/index.php:79 msgid "Modified" msgstr "수정됨" -#: js/files.js:777 -msgid "folder" -msgstr "폴더" - -#: js/files.js:779 -msgid "folders" -msgstr "폴더" - -#: js/files.js:787 -msgid "file" -msgstr "파일" - -#: js/files.js:789 -msgid "files" -msgstr "파일" - -#: js/files.js:833 -msgid "seconds ago" -msgstr "" - -#: js/files.js:834 -msgid "minute ago" -msgstr "" - -#: js/files.js:835 -msgid "minutes ago" -msgstr "" - -#: js/files.js:838 -msgid "today" -msgstr "" +#: js/files.js:803 +msgid "1 folder" +msgstr "폴더 1개" -#: js/files.js:839 -msgid "yesterday" -msgstr "" - -#: js/files.js:840 -msgid "days ago" -msgstr "" - -#: js/files.js:841 -msgid "last month" -msgstr "" - -#: js/files.js:843 -msgid "months ago" -msgstr "" +#: js/files.js:805 +msgid "{count} folders" +msgstr "폴더 {count}개" -#: js/files.js:844 -msgid "last year" -msgstr "" +#: js/files.js:813 +msgid "1 file" +msgstr "파일 1개" -#: js/files.js:845 -msgid "years ago" -msgstr "" +#: js/files.js:815 +msgid "{count} files" +msgstr "파일 {count}개" #: templates/admin.php:5 msgid "File handling" @@ -222,80 +194,76 @@ msgstr "파일 처리" msgid "Maximum upload size" msgstr "최대 업로드 크기" -#: templates/admin.php:7 +#: templates/admin.php:9 msgid "max. possible: " -msgstr "최대. 가능한:" +msgstr "최대 가능:" -#: templates/admin.php:9 +#: templates/admin.php:12 msgid "Needed for multi-file and folder downloads." -msgstr "멀티 파일 및 폴더 다운로드에 필요." +msgstr "다중 파일 및 폴더 다운로드에 필요합니다." -#: templates/admin.php:9 +#: templates/admin.php:14 msgid "Enable ZIP-download" -msgstr "ZIP- 다운로드 허용" +msgstr "ZIP 다운로드 허용" -#: templates/admin.php:11 +#: templates/admin.php:17 msgid "0 is unlimited" -msgstr "0은 무제한 입니다" +msgstr "0은 무제한입니다" -#: templates/admin.php:12 +#: templates/admin.php:19 msgid "Maximum input size for ZIP files" -msgstr "ZIP 파일에 대한 최대 입력 크기" +msgstr "ZIP 파일 최대 크기" -#: templates/admin.php:14 +#: templates/admin.php:23 msgid "Save" -msgstr "" +msgstr "저장" #: templates/index.php:7 msgid "New" msgstr "새로 만들기" -#: templates/index.php:9 +#: templates/index.php:10 msgid "Text file" msgstr "텍스트 파일" -#: templates/index.php:10 +#: templates/index.php:12 msgid "Folder" msgstr "폴더" -#: templates/index.php:11 -msgid "From url" -msgstr "URL 에서" +#: templates/index.php:14 +msgid "From link" +msgstr "링크에서" -#: templates/index.php:20 +#: templates/index.php:35 msgid "Upload" msgstr "업로드" -#: templates/index.php:27 +#: templates/index.php:43 msgid "Cancel upload" msgstr "업로드 취소" -#: templates/index.php:40 +#: templates/index.php:58 msgid "Nothing in here. Upload something!" msgstr "내용이 없습니다. 업로드할 수 있습니다!" -#: templates/index.php:50 -msgid "Share" -msgstr "공유" - -#: templates/index.php:52 +#: templates/index.php:72 msgid "Download" msgstr "다운로드" -#: templates/index.php:75 +#: templates/index.php:104 msgid "Upload too large" msgstr "업로드 용량 초과" -#: templates/index.php:77 +#: templates/index.php:106 msgid "" "The files you are trying to upload exceed the maximum size for file uploads " "on this server." msgstr "이 파일이 서버에서 허용하는 최대 업로드 가능 용량보다 큽니다." -#: templates/index.php:82 +#: templates/index.php:111 msgid "Files are being scanned, please wait." -msgstr "파일을 검색중입니다, 기다려 주십시오." +msgstr "파일을 검색하고 있습니다. 기다려 주십시오." -#: templates/index.php:85 +#: templates/index.php:114 msgid "Current scanning" -msgstr "커런트 스캐닝" +msgstr "현재 검색" diff --git a/l10n/ko/files_encryption.po b/l10n/ko/files_encryption.po index 4f31caefbd762cd1035c2b602fe68dd6e682947f..7317bd55f1de90aefef208fe2e23136148ba30fa 100644 --- a/l10n/ko/files_encryption.po +++ b/l10n/ko/files_encryption.po @@ -3,32 +3,34 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# 남자사람 , 2012. +# Shinjo Park , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:33+0000\n" -"Last-Translator: FULL NAME \n" +"POT-Creation-Date: 2012-12-10 00:11+0100\n" +"PO-Revision-Date: 2012-12-09 06:13+0000\n" +"Last-Translator: Shinjo Park \n" "Language-Team: Korean (http://www.transifex.com/projects/p/owncloud/language/ko/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: ko\n" -"Plural-Forms: nplurals=1; plural=0\n" +"Plural-Forms: nplurals=1; plural=0;\n" #: templates/settings.php:3 msgid "Encryption" -msgstr "" +msgstr "암호화" #: templates/settings.php:4 msgid "Exclude the following file types from encryption" -msgstr "" +msgstr "다음 파일 형식은 암호화하지 않음" #: templates/settings.php:5 msgid "None" -msgstr "" +msgstr "없음" -#: templates/settings.php:10 +#: templates/settings.php:12 msgid "Enable Encryption" -msgstr "" +msgstr "암호화 사용" diff --git a/l10n/ko/files_external.po b/l10n/ko/files_external.po index ada8ee0b4684965a4b70b77ce8f627ba61d7bb5e..88c2336d39d3261704bd7035858feb11da1c54a9 100644 --- a/l10n/ko/files_external.po +++ b/l10n/ko/files_external.po @@ -3,13 +3,15 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# 남자사람 , 2012. +# Shinjo Park , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-02 23:16+0200\n" -"PO-Revision-Date: 2012-10-02 21:17+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-12-12 00:12+0100\n" +"PO-Revision-Date: 2012-12-11 23:13+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Korean (http://www.transifex.com/projects/p/owncloud/language/ko/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -19,88 +21,102 @@ msgstr "" #: js/dropbox.js:7 js/dropbox.js:25 js/google.js:7 js/google.js:23 msgid "Access granted" -msgstr "" +msgstr "접근 허가됨" #: js/dropbox.js:28 js/dropbox.js:74 js/dropbox.js:79 js/dropbox.js:86 msgid "Error configuring Dropbox storage" -msgstr "" +msgstr "Dropbox 저장소 설정 오류" #: js/dropbox.js:34 js/dropbox.js:45 js/google.js:31 js/google.js:40 msgid "Grant access" -msgstr "" +msgstr "접근 권한 부여" #: js/dropbox.js:73 js/google.js:72 msgid "Fill out all required fields" -msgstr "" +msgstr "모든 필수 항목을 입력하십시오" #: js/dropbox.js:85 msgid "Please provide a valid Dropbox app key and secret." -msgstr "" +msgstr "올바른 Dropbox 앱 키와 암호를 입력하십시오." #: js/google.js:26 js/google.js:73 js/google.js:78 msgid "Error configuring Google Drive storage" +msgstr "Google 드라이브 저장소 설정 오류" + +#: lib/config.php:434 +msgid "" +"Warning: \"smbclient\" is not installed. Mounting of CIFS/SMB shares " +"is not possible. Please ask your system administrator to install it." +msgstr "" + +#: lib/config.php:435 +msgid "" +"Warning: The FTP support in PHP is not enabled or installed. Mounting" +" of FTP shares is not possible. Please ask your system administrator to " +"install it." msgstr "" #: templates/settings.php:3 msgid "External Storage" -msgstr "" +msgstr "외부 저장소" -#: templates/settings.php:7 templates/settings.php:19 +#: templates/settings.php:8 templates/settings.php:22 msgid "Mount point" -msgstr "" +msgstr "마운트 지점" -#: templates/settings.php:8 +#: templates/settings.php:9 msgid "Backend" -msgstr "" +msgstr "백엔드" -#: templates/settings.php:9 +#: templates/settings.php:10 msgid "Configuration" -msgstr "" +msgstr "설정" -#: templates/settings.php:10 +#: templates/settings.php:11 msgid "Options" -msgstr "" +msgstr "옵션" -#: templates/settings.php:11 +#: templates/settings.php:12 msgid "Applicable" -msgstr "" +msgstr "적용 가능" -#: templates/settings.php:23 +#: templates/settings.php:27 msgid "Add mount point" -msgstr "" +msgstr "마운트 지점 추가" -#: templates/settings.php:54 templates/settings.php:62 +#: templates/settings.php:85 msgid "None set" -msgstr "" +msgstr "설정되지 않음" -#: templates/settings.php:63 +#: templates/settings.php:86 msgid "All Users" -msgstr "" +msgstr "모든 사용자" -#: templates/settings.php:64 +#: templates/settings.php:87 msgid "Groups" -msgstr "" +msgstr "그룹" -#: templates/settings.php:69 +#: templates/settings.php:95 msgid "Users" -msgstr "" +msgstr "사용자" -#: templates/settings.php:77 templates/settings.php:107 +#: templates/settings.php:108 templates/settings.php:109 +#: templates/settings.php:149 templates/settings.php:150 msgid "Delete" -msgstr "" +msgstr "삭제" -#: templates/settings.php:87 +#: templates/settings.php:124 msgid "Enable User External Storage" -msgstr "" +msgstr "사용자 외부 저장소 사용" -#: templates/settings.php:88 +#: templates/settings.php:125 msgid "Allow users to mount their own external storage" -msgstr "" +msgstr "사용자별 외부 저장소 마운트 허용" -#: templates/settings.php:99 +#: templates/settings.php:139 msgid "SSL root certificates" -msgstr "" +msgstr "SSL 루트 인증서" -#: templates/settings.php:113 +#: templates/settings.php:158 msgid "Import Root Certificate" -msgstr "" +msgstr "루트 인증서 가져오기" diff --git a/l10n/ko/files_pdfviewer.po b/l10n/ko/files_pdfviewer.po deleted file mode 100644 index a29b407be8a460bcb05bbb44498c8e37b1d6d1d0..0000000000000000000000000000000000000000 --- a/l10n/ko/files_pdfviewer.po +++ /dev/null @@ -1,42 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 02:18+0200\n" -"PO-Revision-Date: 2012-08-26 00:19+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Korean (http://www.transifex.com/projects/p/owncloud/language/ko/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ko\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: js/viewer.js:22 -msgid "Previous" -msgstr "" - -#: js/viewer.js:23 -msgid "Next" -msgstr "" - -#: js/viewer.js:29 -msgid "Page Width" -msgstr "" - -#: js/viewer.js:29 -msgid "Page Fit" -msgstr "" - -#: js/viewer.js:30 -msgid "Print" -msgstr "" - -#: js/viewer.js:32 -msgid "Download" -msgstr "" diff --git a/l10n/ko/files_sharing.po b/l10n/ko/files_sharing.po index 3b01080f8d54fc1a9fba38b73ce1f6bcde4a20ff..0190903ffa085cb835a9aa05a02666af147c002a 100644 --- a/l10n/ko/files_sharing.po +++ b/l10n/ko/files_sharing.po @@ -3,13 +3,15 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# 남자사람 , 2012. +# Shinjo Park , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-09-22 01:14+0200\n" -"PO-Revision-Date: 2012-09-21 23:15+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-12-10 00:11+0100\n" +"PO-Revision-Date: 2012-12-09 06:12+0000\n" +"Last-Translator: Shinjo Park \n" "Language-Team: Korean (http://www.transifex.com/projects/p/owncloud/language/ko/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -19,30 +21,30 @@ msgstr "" #: templates/authenticate.php:4 msgid "Password" -msgstr "" +msgstr "암호" #: templates/authenticate.php:6 msgid "Submit" -msgstr "" +msgstr "제출" -#: templates/public.php:9 +#: templates/public.php:17 #, php-format msgid "%s shared the folder %s with you" -msgstr "" +msgstr "%s 님이 폴더 %s을(를) 공유하였습니다" -#: templates/public.php:11 +#: templates/public.php:19 #, php-format msgid "%s shared the file %s with you" -msgstr "" +msgstr "%s 님이 파일 %s을(를) 공유하였습니다" -#: templates/public.php:14 templates/public.php:30 +#: templates/public.php:22 templates/public.php:38 msgid "Download" -msgstr "" +msgstr "다운로드" -#: templates/public.php:29 +#: templates/public.php:37 msgid "No preview available for" -msgstr "" +msgstr "다음 항목을 미리 볼 수 없음:" -#: templates/public.php:37 +#: templates/public.php:43 msgid "web services under your control" -msgstr "" +msgstr "내가 관리하는 웹 서비스" diff --git a/l10n/ko/files_texteditor.po b/l10n/ko/files_texteditor.po deleted file mode 100644 index 6beeb686b9e72da6e54bf23ab251dd90f6961738..0000000000000000000000000000000000000000 --- a/l10n/ko/files_texteditor.po +++ /dev/null @@ -1,44 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 01:17+0200\n" -"PO-Revision-Date: 2012-08-25 23:18+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Korean (http://www.transifex.com/projects/p/owncloud/language/ko/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ko\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: js/aceeditor/mode-coldfusion-uncompressed.js:1568 -#: js/aceeditor/mode-liquid-uncompressed.js:902 -#: js/aceeditor/mode-svg-uncompressed.js:1575 -msgid "regex" -msgstr "" - -#: js/editor.js:72 js/editor.js:156 js/editor.js:163 -msgid "Save" -msgstr "" - -#: js/editor.js:74 -msgid "Close" -msgstr "" - -#: js/editor.js:149 -msgid "Saving..." -msgstr "" - -#: js/editor.js:239 -msgid "An error occurred!" -msgstr "" - -#: js/editor.js:266 -msgid "There were unsaved changes, click here to go back" -msgstr "" diff --git a/l10n/ko/files_versions.po b/l10n/ko/files_versions.po index 58730e41e0bb3b7eb98a33cf2890c954f8cdcfad..20d3071b54853e3b87266c2e2b02742e2ac6986c 100644 --- a/l10n/ko/files_versions.po +++ b/l10n/ko/files_versions.po @@ -3,13 +3,15 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# 남자사람 , 2012. +# Shinjo Park , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-09-22 01:14+0200\n" -"PO-Revision-Date: 2012-09-21 23:15+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-12-10 00:11+0100\n" +"PO-Revision-Date: 2012-12-09 06:11+0000\n" +"Last-Translator: Shinjo Park \n" "Language-Team: Korean (http://www.transifex.com/projects/p/owncloud/language/ko/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -19,24 +21,24 @@ msgstr "" #: js/settings-personal.js:31 templates/settings-personal.php:10 msgid "Expire all versions" -msgstr "" +msgstr "모든 버전 삭제" #: js/versions.js:16 msgid "History" -msgstr "" +msgstr "역사" #: templates/settings-personal.php:4 msgid "Versions" -msgstr "" +msgstr "버전" #: templates/settings-personal.php:7 msgid "This will delete all existing backup versions of your files" -msgstr "" +msgstr "이 파일의 모든 백업 버전을 삭제합니다" #: templates/settings.php:3 msgid "Files Versioning" -msgstr "" +msgstr "파일 버전 관리" #: templates/settings.php:4 msgid "Enable" -msgstr "" +msgstr "사용함" diff --git a/l10n/ko/gallery.po b/l10n/ko/gallery.po deleted file mode 100644 index 8a972e4ec9a2a0992f1d25fdf14b38cbd39074e7..0000000000000000000000000000000000000000 --- a/l10n/ko/gallery.po +++ /dev/null @@ -1,96 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# , 2012. -# Shinjo Park , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-06-06 00:12+0200\n" -"PO-Revision-Date: 2012-06-05 22:15+0000\n" -"Last-Translator: icewind \n" -"Language-Team: Korean (http://www.transifex.net/projects/p/owncloud/language/ko/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ko\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: appinfo/app.php:37 -msgid "Pictures" -msgstr "사진" - -#: js/album_cover.js:44 -msgid "Share gallery" -msgstr "" - -#: js/album_cover.js:64 js/album_cover.js:100 js/album_cover.js:133 -msgid "Error: " -msgstr "" - -#: js/album_cover.js:64 js/album_cover.js:100 -msgid "Internal error" -msgstr "" - -#: js/album_cover.js:114 -msgid "Scanning root" -msgstr "" - -#: js/album_cover.js:115 -msgid "Default order" -msgstr "" - -#: js/album_cover.js:116 -msgid "Ascending" -msgstr "" - -#: js/album_cover.js:116 -msgid "Descending" -msgstr "" - -#: js/album_cover.js:117 templates/index.php:19 -msgid "Settings" -msgstr "세팅" - -#: js/album_cover.js:122 -msgid "Scanning root cannot be empty" -msgstr "" - -#: js/album_cover.js:122 js/album_cover.js:133 -msgid "Error" -msgstr "" - -#: templates/index.php:16 -msgid "Rescan" -msgstr "재검색" - -#: templates/index.php:17 -msgid "Stop" -msgstr "정지" - -#: templates/index.php:18 -msgid "Share" -msgstr "공유" - -#: templates/view_album.php:19 -msgid "Back" -msgstr "뒤로" - -#: templates/view_album.php:36 -msgid "Remove confirmation" -msgstr "삭제 승인" - -#: templates/view_album.php:37 -msgid "Do you want to remove album" -msgstr "앨범을 삭제하시겠습니까" - -#: templates/view_album.php:40 -msgid "Change album name" -msgstr "앨범 이름 변경" - -#: templates/view_album.php:43 -msgid "New album name" -msgstr "새로운 앨범 이름" diff --git a/l10n/ko/impress.po b/l10n/ko/impress.po deleted file mode 100644 index c7be0756da3f0c3d05ab10994d4e0b9abfc3d496..0000000000000000000000000000000000000000 --- a/l10n/ko/impress.po +++ /dev/null @@ -1,22 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 01:17+0200\n" -"PO-Revision-Date: 2012-08-25 23:18+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Korean (http://www.transifex.com/projects/p/owncloud/language/ko/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ko\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: templates/presentations.php:7 -msgid "Documentation" -msgstr "" diff --git a/l10n/ko/lib.po b/l10n/ko/lib.po index bf494197c62c90590eb5230ed9022a015d96dfcb..3870ebda87f69c05aa591224c41202d171008352 100644 --- a/l10n/ko/lib.po +++ b/l10n/ko/lib.po @@ -3,123 +3,152 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# 남자사람 , 2012. +# Shinjo Park , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-09-01 02:01+0200\n" -"PO-Revision-Date: 2012-09-01 00:02+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-12-10 00:11+0100\n" +"PO-Revision-Date: 2012-12-09 06:06+0000\n" +"Last-Translator: Shinjo Park \n" "Language-Team: Korean (http://www.transifex.com/projects/p/owncloud/language/ko/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: ko\n" -"Plural-Forms: nplurals=1; plural=0\n" +"Plural-Forms: nplurals=1; plural=0;\n" -#: app.php:288 +#: app.php:287 msgid "Help" -msgstr "" +msgstr "도움말" -#: app.php:295 +#: app.php:294 msgid "Personal" -msgstr "" +msgstr "개인" -#: app.php:300 +#: app.php:299 msgid "Settings" -msgstr "" +msgstr "설정" -#: app.php:305 +#: app.php:304 msgid "Users" -msgstr "" +msgstr "사용자" -#: app.php:312 +#: app.php:311 msgid "Apps" -msgstr "" +msgstr "앱" -#: app.php:314 +#: app.php:313 msgid "Admin" -msgstr "" +msgstr "관리자" -#: files.php:280 +#: files.php:361 msgid "ZIP download is turned off." -msgstr "" +msgstr "ZIP 다운로드가 비활성화되었습니다." -#: files.php:281 +#: files.php:362 msgid "Files need to be downloaded one by one." -msgstr "" +msgstr "파일을 개별적으로 다운로드해야 합니다." -#: files.php:281 files.php:306 +#: files.php:362 files.php:387 msgid "Back to Files" -msgstr "" +msgstr "파일로 돌아가기" -#: files.php:305 +#: files.php:386 msgid "Selected files too large to generate zip file." -msgstr "" +msgstr "선택한 파일들은 ZIP 파일을 생성하기에 너무 큽니다." #: json.php:28 msgid "Application is not enabled" -msgstr "" +msgstr "앱이 활성화되지 않았습니다" -#: json.php:39 json.php:63 json.php:75 +#: json.php:39 json.php:64 json.php:77 json.php:89 msgid "Authentication error" -msgstr "" +msgstr "인증 오류" #: json.php:51 msgid "Token expired. Please reload page." -msgstr "" +msgstr "토큰이 만료되었습니다. 페이지를 새로 고치십시오." + +#: search/provider/file.php:17 search/provider/file.php:35 +msgid "Files" +msgstr "파일" -#: template.php:86 +#: search/provider/file.php:26 search/provider/file.php:33 +msgid "Text" +msgstr "텍스트" + +#: search/provider/file.php:29 +msgid "Images" +msgstr "그림" + +#: template.php:103 msgid "seconds ago" -msgstr "" +msgstr "초 전" -#: template.php:87 +#: template.php:104 msgid "1 minute ago" -msgstr "" +msgstr "1분 전" -#: template.php:88 +#: template.php:105 #, php-format msgid "%d minutes ago" -msgstr "" +msgstr "%d분 전" + +#: template.php:106 +msgid "1 hour ago" +msgstr "1시간 전" -#: template.php:91 +#: template.php:107 +#, php-format +msgid "%d hours ago" +msgstr "%d시간 전" + +#: template.php:108 msgid "today" -msgstr "" +msgstr "오늘" -#: template.php:92 +#: template.php:109 msgid "yesterday" -msgstr "" +msgstr "어제" -#: template.php:93 +#: template.php:110 #, php-format msgid "%d days ago" -msgstr "" +msgstr "%d일 전" -#: template.php:94 +#: template.php:111 msgid "last month" -msgstr "" +msgstr "지난 달" -#: template.php:95 -msgid "months ago" -msgstr "" +#: template.php:112 +#, php-format +msgid "%d months ago" +msgstr "%d개월 전" -#: template.php:96 +#: template.php:113 msgid "last year" -msgstr "" +msgstr "작년" -#: template.php:97 +#: template.php:114 msgid "years ago" -msgstr "" +msgstr "년 전" -#: updater.php:66 +#: updater.php:75 #, php-format msgid "%s is available. Get more information" -msgstr "" +msgstr "%s을(를) 사용할 수 있습니다. 자세한 정보 보기" -#: updater.php:68 +#: updater.php:77 msgid "up to date" -msgstr "" +msgstr "최신" -#: updater.php:71 +#: updater.php:80 msgid "updates check is disabled" -msgstr "" +msgstr "업데이트 확인이 비활성화됨" + +#: vcategories.php:188 vcategories.php:249 +#, php-format +msgid "Could not find category \"%s\"" +msgstr "분류 \"%s\"을(를) 찾을 수 없습니다." diff --git a/l10n/ko/media.po b/l10n/ko/media.po deleted file mode 100644 index 5b1734b80726b9a1b74404c0e0ad35dd4103f6de..0000000000000000000000000000000000000000 --- a/l10n/ko/media.po +++ /dev/null @@ -1,67 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Shinjo Park , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-06-06 00:12+0200\n" -"PO-Revision-Date: 2012-06-05 22:15+0000\n" -"Last-Translator: icewind \n" -"Language-Team: Korean (http://www.transifex.net/projects/p/owncloud/language/ko/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ko\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: appinfo/app.php:32 templates/player.php:8 -msgid "Music" -msgstr "음악" - -#: js/music.js:18 -msgid "Add album to playlist" -msgstr "" - -#: templates/music.php:3 templates/player.php:12 -msgid "Play" -msgstr "재생" - -#: templates/music.php:4 templates/music.php:26 templates/player.php:13 -msgid "Pause" -msgstr "일시 정지" - -#: templates/music.php:5 -msgid "Previous" -msgstr "이전" - -#: templates/music.php:6 templates/player.php:14 -msgid "Next" -msgstr "다음" - -#: templates/music.php:7 -msgid "Mute" -msgstr "음소거" - -#: templates/music.php:8 -msgid "Unmute" -msgstr "음소거 해제" - -#: templates/music.php:25 -msgid "Rescan Collection" -msgstr "모음집 재검색" - -#: templates/music.php:37 -msgid "Artist" -msgstr "음악가" - -#: templates/music.php:38 -msgid "Album" -msgstr "앨범" - -#: templates/music.php:39 -msgid "Title" -msgstr "제목" diff --git a/l10n/ko/settings.po b/l10n/ko/settings.po index 96159fb9e9373ad03b68c9ad3964cc8c94d33e9d..5cf547ad047c5e81dd86bde84fc17c974c9d9cf5 100644 --- a/l10n/ko/settings.po +++ b/l10n/ko/settings.po @@ -3,15 +3,16 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# 남자사람 , 2012. # , 2012. # Shinjo Park , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-09 02:03+0200\n" -"PO-Revision-Date: 2012-10-09 00:04+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-12-10 00:11+0100\n" +"PO-Revision-Date: 2012-12-09 05:40+0000\n" +"Last-Translator: Shinjo Park \n" "Language-Team: Korean (http://www.transifex.com/projects/p/owncloud/language/ko/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -19,187 +20,103 @@ msgstr "" "Language: ko\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: ajax/apps/ocs.php:23 +#: ajax/apps/ocs.php:20 msgid "Unable to load list from App Store" msgstr "앱 스토어에서 목록을 가져올 수 없습니다" -#: ajax/creategroup.php:9 ajax/removeuser.php:13 ajax/setquota.php:18 -#: ajax/togglegroups.php:15 -msgid "Authentication error" -msgstr "인증 오류" - -#: ajax/creategroup.php:19 +#: ajax/creategroup.php:10 msgid "Group already exists" -msgstr "" +msgstr "그룹이 이미 존재합니다." -#: ajax/creategroup.php:28 +#: ajax/creategroup.php:19 msgid "Unable to add group" -msgstr "" +msgstr "그룹을 추가할 수 없습니다." -#: ajax/enableapp.php:14 +#: ajax/enableapp.php:12 msgid "Could not enable app. " -msgstr "" +msgstr "앱을 활성화할 수 없습니다." -#: ajax/lostpassword.php:14 +#: ajax/lostpassword.php:12 msgid "Email saved" -msgstr "이메일 저장" +msgstr "이메일 저장됨" -#: ajax/lostpassword.php:16 +#: ajax/lostpassword.php:14 msgid "Invalid email" -msgstr "잘못된 이메일" +msgstr "잘못된 이메일 주소" -#: ajax/openid.php:16 +#: ajax/openid.php:13 msgid "OpenID Changed" msgstr "OpenID 변경됨" -#: ajax/openid.php:18 ajax/setlanguage.php:20 ajax/setlanguage.php:23 +#: ajax/openid.php:15 ajax/setlanguage.php:17 ajax/setlanguage.php:20 msgid "Invalid request" msgstr "잘못된 요청" -#: ajax/removegroup.php:16 +#: ajax/removegroup.php:13 msgid "Unable to delete group" -msgstr "" +msgstr "그룹을 삭제할 수 없습니다." -#: ajax/removeuser.php:22 +#: ajax/removeuser.php:15 ajax/setquota.php:15 ajax/togglegroups.php:18 +msgid "Authentication error" +msgstr "인증 오류" + +#: ajax/removeuser.php:24 msgid "Unable to delete user" -msgstr "" +msgstr "사용자를 삭제할 수 없습니다." -#: ajax/setlanguage.php:18 +#: ajax/setlanguage.php:15 msgid "Language changed" msgstr "언어가 변경되었습니다" -#: ajax/togglegroups.php:25 +#: ajax/togglegroups.php:12 +msgid "Admins can't remove themself from the admin group" +msgstr "관리자 자신을 관리자 그룹에서 삭제할 수 없습니다" + +#: ajax/togglegroups.php:28 #, php-format msgid "Unable to add user to group %s" -msgstr "" +msgstr "그룹 %s에 사용자를 추가할 수 없습니다." -#: ajax/togglegroups.php:31 +#: ajax/togglegroups.php:34 #, php-format msgid "Unable to remove user from group %s" -msgstr "" +msgstr "그룹 %s에서 사용자를 삭제할 수 없습니다." -#: js/apps.js:28 js/apps.js:65 +#: js/apps.js:28 js/apps.js:67 msgid "Disable" msgstr "비활성화" -#: js/apps.js:28 js/apps.js:54 +#: js/apps.js:28 js/apps.js:55 msgid "Enable" msgstr "활성화" #: js/personal.js:69 msgid "Saving..." -msgstr "저장..." +msgstr "저장 중..." -#: personal.php:47 personal.php:48 +#: personal.php:42 personal.php:43 msgid "__language_name__" msgstr "한국어" -#: templates/admin.php:14 -msgid "Security Warning" -msgstr "보안 경고" - -#: templates/admin.php:17 -msgid "" -"Your data directory and your files are probably accessible from the " -"internet. The .htaccess file that ownCloud provides is not working. We " -"strongly suggest that you configure your webserver in a way that the data " -"directory is no longer accessible or you move the data directory outside the" -" webserver document root." -msgstr "" - -#: templates/admin.php:31 -msgid "Cron" -msgstr "크론" - -#: templates/admin.php:37 -msgid "Execute one task with each page loaded" -msgstr "" - -#: templates/admin.php:43 -msgid "" -"cron.php is registered at a webcron service. Call the cron.php page in the " -"owncloud root once a minute over http." -msgstr "" - -#: templates/admin.php:49 -msgid "" -"Use systems cron service. Call the cron.php file in the owncloud folder via " -"a system cronjob once a minute." -msgstr "" - -#: templates/admin.php:56 -msgid "Sharing" -msgstr "" - -#: templates/admin.php:61 -msgid "Enable Share API" -msgstr "" - -#: templates/admin.php:62 -msgid "Allow apps to use the Share API" -msgstr "" - -#: templates/admin.php:67 -msgid "Allow links" -msgstr "" - -#: templates/admin.php:68 -msgid "Allow users to share items to the public with links" -msgstr "" - -#: templates/admin.php:73 -msgid "Allow resharing" -msgstr "" - -#: templates/admin.php:74 -msgid "Allow users to share items shared with them again" -msgstr "" - -#: templates/admin.php:79 -msgid "Allow users to share with anyone" -msgstr "" - -#: templates/admin.php:81 -msgid "Allow users to only share with users in their groups" -msgstr "" - -#: templates/admin.php:88 -msgid "Log" -msgstr "로그" - -#: templates/admin.php:116 -msgid "More" -msgstr "더" - -#: templates/admin.php:124 -msgid "" -"Developed by the ownCloud community, the source code is " -"licensed under the AGPL." -msgstr "" - #: templates/apps.php:10 msgid "Add your App" msgstr "앱 추가" #: templates/apps.php:11 msgid "More Apps" -msgstr "" +msgstr "더 많은 앱" #: templates/apps.php:27 msgid "Select an App" -msgstr "프로그램 선택" +msgstr "앱 선택" #: templates/apps.php:31 msgid "See application page at apps.owncloud.com" -msgstr "application page at apps.owncloud.com을 보시오." +msgstr "apps.owncloud.com에 있는 앱 페이지를 참고하십시오" #: templates/apps.php:32 msgid "-licensed by " -msgstr "" +msgstr "-라이선스 보유자 " #: templates/help.php:9 msgid "Documentation" @@ -213,26 +130,26 @@ msgstr "큰 파일 관리" msgid "Ask a question" msgstr "질문하기" -#: templates/help.php:23 +#: templates/help.php:22 msgid "Problems connecting to help database." msgstr "데이터베이스에 연결하는 데 문제가 발생하였습니다." -#: templates/help.php:24 +#: templates/help.php:23 msgid "Go there manually." msgstr "직접 갈 수 있습니다." -#: templates/help.php:32 +#: templates/help.php:31 msgid "Answer" msgstr "대답" #: templates/personal.php:8 #, php-format -msgid "You have used %s of the available %s" -msgstr "" +msgid "You have used %s of the available %s" +msgstr "현재 공간 %s/%s을(를) 사용 중입니다" #: templates/personal.php:12 msgid "Desktop and Mobile Syncing Clients" -msgstr "데스크탑 및 모바일 동기화 클라이언트" +msgstr "데스크톱 및 모바일 동기화 클라이언트" #: templates/personal.php:13 msgid "Download" @@ -240,7 +157,7 @@ msgstr "다운로드" #: templates/personal.php:19 msgid "Your password was changed" -msgstr "" +msgstr "암호가 변경되었습니다" #: templates/personal.php:20 msgid "Unable to change your password" @@ -264,15 +181,15 @@ msgstr "암호 변경" #: templates/personal.php:30 msgid "Email" -msgstr "전자 우편" +msgstr "이메일" #: templates/personal.php:31 msgid "Your email address" -msgstr "전자 우편 주소" +msgstr "이메일 주소" #: templates/personal.php:32 msgid "Fill in an email address to enable password recovery" -msgstr "암호 찾기 기능을 사용하려면 전자 우편 주소를 입력하십시오." +msgstr "암호 찾기 기능을 사용하려면 이메일 주소를 입력하십시오." #: templates/personal.php:38 templates/personal.php:39 msgid "Language" @@ -286,6 +203,16 @@ msgstr "번역 돕기" msgid "use this address to connect to your ownCloud in your file manager" msgstr "파일 관리자에서 내 ownCloud에 연결할 때 이 주소를 사용하십시오" +#: templates/personal.php:61 +msgid "" +"Developed by the ownCloud community, the source code is " +"licensed under the AGPL." +msgstr "ownCloud 커뮤니티에 의해서 개발되었습니다. 원본 코드AGPL에 따라 사용이 허가됩니다." + #: templates/users.php:21 templates/users.php:76 msgid "Name" msgstr "이름" @@ -308,7 +235,7 @@ msgstr "기본 할당량" #: templates/users.php:55 templates/users.php:138 msgid "Other" -msgstr "다른" +msgstr "기타" #: templates/users.php:80 templates/users.php:112 msgid "Group Admin" diff --git a/l10n/ko/tasks.po b/l10n/ko/tasks.po deleted file mode 100644 index 58c447717b42b04d77acd69be22e1b0684fe9db0..0000000000000000000000000000000000000000 --- a/l10n/ko/tasks.po +++ /dev/null @@ -1,106 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:44+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Korean (http://www.transifex.com/projects/p/owncloud/language/ko/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ko\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: ajax/update_property.php:51 lib/app.php:89 lib/app.php:101 -msgid "Invalid date/time" -msgstr "" - -#: appinfo/app.php:11 -msgid "Tasks" -msgstr "" - -#: js/tasks.js:415 -msgid "No category" -msgstr "" - -#: lib/app.php:33 -msgid "Unspecified" -msgstr "" - -#: lib/app.php:34 -msgid "1=highest" -msgstr "" - -#: lib/app.php:38 -msgid "5=medium" -msgstr "" - -#: lib/app.php:42 -msgid "9=lowest" -msgstr "" - -#: lib/app.php:81 -msgid "Empty Summary" -msgstr "" - -#: lib/app.php:93 -msgid "Invalid percent complete" -msgstr "" - -#: lib/app.php:107 -msgid "Invalid priority" -msgstr "" - -#: templates/tasks.php:3 -msgid "Add Task" -msgstr "" - -#: templates/tasks.php:4 -msgid "Order Due" -msgstr "" - -#: templates/tasks.php:5 -msgid "Order List" -msgstr "" - -#: templates/tasks.php:6 -msgid "Order Complete" -msgstr "" - -#: templates/tasks.php:7 -msgid "Order Location" -msgstr "" - -#: templates/tasks.php:8 -msgid "Order Priority" -msgstr "" - -#: templates/tasks.php:9 -msgid "Order Label" -msgstr "" - -#: templates/tasks.php:16 -msgid "Loading tasks..." -msgstr "" - -#: templates/tasks.php:20 -msgid "Important" -msgstr "" - -#: templates/tasks.php:23 -msgid "More" -msgstr "" - -#: templates/tasks.php:26 -msgid "Less" -msgstr "" - -#: templates/tasks.php:29 -msgid "Delete" -msgstr "" diff --git a/l10n/ko/user_ldap.po b/l10n/ko/user_ldap.po index cf6aa7842daa0e1db72bf99bee95a1b67640123a..f9102c199e2dfc36493fe7c553a6d151e2249aa9 100644 --- a/l10n/ko/user_ldap.po +++ b/l10n/ko/user_ldap.po @@ -3,168 +3,170 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# 남자사람 , 2012. +# Shinjo Park , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-29 02:01+0200\n" -"PO-Revision-Date: 2012-08-29 00:03+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-12-10 00:11+0100\n" +"PO-Revision-Date: 2012-12-09 06:10+0000\n" +"Last-Translator: Shinjo Park \n" "Language-Team: Korean (http://www.transifex.com/projects/p/owncloud/language/ko/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: ko\n" -"Plural-Forms: nplurals=1; plural=0\n" +"Plural-Forms: nplurals=1; plural=0;\n" #: templates/settings.php:8 msgid "Host" -msgstr "" +msgstr "호스트" #: templates/settings.php:8 msgid "" "You can omit the protocol, except you require SSL. Then start with ldaps://" -msgstr "" +msgstr "SSL을 사용하는 경우가 아니라면 프로토콜을 입력하지 않아도 됩니다. SSL을 사용하려면 ldaps://를 입력하십시오." #: templates/settings.php:9 msgid "Base DN" -msgstr "" +msgstr "기본 DN" #: templates/settings.php:9 msgid "You can specify Base DN for users and groups in the Advanced tab" -msgstr "" +msgstr "고급 탭에서 사용자 및 그룹에 대한 기본 DN을 지정할 수 있습니다." #: templates/settings.php:10 msgid "User DN" -msgstr "" +msgstr "사용자 DN" #: templates/settings.php:10 msgid "" "The DN of the client user with which the bind shall be done, e.g. " "uid=agent,dc=example,dc=com. For anonymous access, leave DN and Password " "empty." -msgstr "" +msgstr "바인딩 작업을 수행할 클라이언트 사용자 DN입니다. 예를 들어서 uid=agent,dc=example,dc=com입니다. 익명 접근을 허용하려면 DN과 암호를 비워 두십시오." #: templates/settings.php:11 msgid "Password" -msgstr "" +msgstr "암호" #: templates/settings.php:11 msgid "For anonymous access, leave DN and Password empty." -msgstr "" +msgstr "익명 접근을 허용하려면 DN과 암호를 비워 두십시오." #: templates/settings.php:12 msgid "User Login Filter" -msgstr "" +msgstr "사용자 로그인 필터" #: templates/settings.php:12 #, php-format msgid "" "Defines the filter to apply, when login is attempted. %%uid replaces the " "username in the login action." -msgstr "" +msgstr "로그인을 시도할 때 적용할 필터입니다. %%uid는 로그인 작업에서의 사용자 이름으로 대체됩니다." #: templates/settings.php:12 #, php-format msgid "use %%uid placeholder, e.g. \"uid=%%uid\"" -msgstr "" +msgstr "%%uid 자리 비움자를 사용하십시오. 예제: \"uid=%%uid\"\"" #: templates/settings.php:13 msgid "User List Filter" -msgstr "" +msgstr "사용자 목록 필터" #: templates/settings.php:13 msgid "Defines the filter to apply, when retrieving users." -msgstr "" +msgstr "사용자를 검색할 때 적용할 필터를 정의합니다." #: templates/settings.php:13 msgid "without any placeholder, e.g. \"objectClass=person\"." -msgstr "" +msgstr "자리 비움자를 사용할 수 없습니다. 예제: \"objectClass=person\"" #: templates/settings.php:14 msgid "Group Filter" -msgstr "" +msgstr "그룹 필터" #: templates/settings.php:14 msgid "Defines the filter to apply, when retrieving groups." -msgstr "" +msgstr "그룹을 검색할 때 적용할 필터를 정의합니다." #: templates/settings.php:14 msgid "without any placeholder, e.g. \"objectClass=posixGroup\"." -msgstr "" +msgstr "자리 비움자를 사용할 수 없습니다. 예제: \"objectClass=posixGroup\"" #: templates/settings.php:17 msgid "Port" -msgstr "" +msgstr "포트" #: templates/settings.php:18 msgid "Base User Tree" -msgstr "" +msgstr "기본 사용자 트리" #: templates/settings.php:19 msgid "Base Group Tree" -msgstr "" +msgstr "기본 그룹 트리" #: templates/settings.php:20 msgid "Group-Member association" -msgstr "" +msgstr "그룹-회원 연결" #: templates/settings.php:21 msgid "Use TLS" -msgstr "" +msgstr "TLS 사용" #: templates/settings.php:21 msgid "Do not use it for SSL connections, it will fail." -msgstr "" +msgstr "SSL 연결 시 사용하는 경우 연결되지 않습니다." #: templates/settings.php:22 msgid "Case insensitve LDAP server (Windows)" -msgstr "" +msgstr "서버에서 대소문자를 구분하지 않음 (Windows)" #: templates/settings.php:23 msgid "Turn off SSL certificate validation." -msgstr "" +msgstr "SSL 인증서 유효성 검사를 해제합니다." #: templates/settings.php:23 msgid "" "If connection only works with this option, import the LDAP server's SSL " "certificate in your ownCloud server." -msgstr "" +msgstr "이 옵션을 사용해야 연결할 수 있는 경우에는 LDAP 서버의 SSL 인증서를 ownCloud로 가져올 수 있습니다." #: templates/settings.php:23 msgid "Not recommended, use for testing only." -msgstr "" +msgstr "추천하지 않음, 테스트로만 사용하십시오." #: templates/settings.php:24 msgid "User Display Name Field" -msgstr "" +msgstr "사용자의 표시 이름 필드" #: templates/settings.php:24 msgid "The LDAP attribute to use to generate the user`s ownCloud name." -msgstr "" +msgstr "LDAP 속성은 사용자의 ownCloud 이름을 생성하기 위해 사용합니다." #: templates/settings.php:25 msgid "Group Display Name Field" -msgstr "" +msgstr "그룹의 표시 이름 필드" #: templates/settings.php:25 msgid "The LDAP attribute to use to generate the groups`s ownCloud name." -msgstr "" +msgstr "LDAP 속성은 그룹의 ownCloud 이름을 생성하기 위해 사용합니다." #: templates/settings.php:27 msgid "in bytes" -msgstr "" +msgstr "바이트" #: templates/settings.php:29 msgid "in seconds. A change empties the cache." -msgstr "" +msgstr "초. 항목 변경 시 캐시가 갱신됩니다." #: templates/settings.php:30 msgid "" "Leave empty for user name (default). Otherwise, specify an LDAP/AD " "attribute." -msgstr "" +msgstr "사용자 이름을 사용하려면 비워 두십시오(기본값). 기타 경우 LDAP/AD 속성을 지정하십시오." #: templates/settings.php:32 msgid "Help" -msgstr "" +msgstr "도움말" diff --git a/l10n/ko/user_migrate.po b/l10n/ko/user_migrate.po deleted file mode 100644 index 5d9886e7058f0bd76059f04a7b9c0f548e71d940..0000000000000000000000000000000000000000 --- a/l10n/ko/user_migrate.po +++ /dev/null @@ -1,51 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:45+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Korean (http://www.transifex.com/projects/p/owncloud/language/ko/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ko\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: js/export.js:14 js/export.js:20 -msgid "Export" -msgstr "" - -#: js/export.js:19 -msgid "Something went wrong while the export file was being generated" -msgstr "" - -#: js/export.js:19 -msgid "An error has occurred" -msgstr "" - -#: templates/settings.php:2 -msgid "Export your user account" -msgstr "" - -#: templates/settings.php:3 -msgid "" -"This will create a compressed file that contains your ownCloud account." -msgstr "" - -#: templates/settings.php:13 -msgid "Import user account" -msgstr "" - -#: templates/settings.php:15 -msgid "ownCloud User Zip" -msgstr "" - -#: templates/settings.php:17 -msgid "Import" -msgstr "" diff --git a/l10n/ko/user_openid.po b/l10n/ko/user_openid.po deleted file mode 100644 index aaa8bf48371c20dc31a843d16945450c8db01e48..0000000000000000000000000000000000000000 --- a/l10n/ko/user_openid.po +++ /dev/null @@ -1,54 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:45+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Korean (http://www.transifex.com/projects/p/owncloud/language/ko/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ko\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: templates/nomode.php:12 -msgid "This is an OpenID server endpoint. For more information, see " -msgstr "" - -#: templates/nomode.php:14 -msgid "Identity: " -msgstr "" - -#: templates/nomode.php:15 -msgid "Realm: " -msgstr "" - -#: templates/nomode.php:16 -msgid "User: " -msgstr "" - -#: templates/nomode.php:17 -msgid "Login" -msgstr "" - -#: templates/nomode.php:22 -msgid "Error: No user Selected" -msgstr "" - -#: templates/settings.php:4 -msgid "you can authenticate to other sites with this address" -msgstr "" - -#: templates/settings.php:5 -msgid "Authorized OpenID provider" -msgstr "" - -#: templates/settings.php:6 -msgid "Your address at Wordpress, Identi.ca, …" -msgstr "" diff --git a/l10n/ko/files_odfviewer.po b/l10n/ko/user_webdavauth.po similarity index 60% rename from l10n/ko/files_odfviewer.po rename to l10n/ko/user_webdavauth.po index 2be8c176ae87d7fac2cd0bf810872e851b2b9313..8eb43e9a757f6f80571112e675d23733d2a19568 100644 --- a/l10n/ko/files_odfviewer.po +++ b/l10n/ko/user_webdavauth.po @@ -3,20 +3,21 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# 남자사람 , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 02:18+0200\n" -"PO-Revision-Date: 2012-08-26 00:19+0000\n" -"Last-Translator: FULL NAME \n" +"POT-Creation-Date: 2012-12-10 00:11+0100\n" +"PO-Revision-Date: 2012-12-09 05:57+0000\n" +"Last-Translator: Shinjo Park \n" "Language-Team: Korean (http://www.transifex.com/projects/p/owncloud/language/ko/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: ko\n" -"Plural-Forms: nplurals=1; plural=0\n" +"Plural-Forms: nplurals=1; plural=0;\n" -#: js/viewer.js:9 -msgid "Close" -msgstr "" +#: templates/settings.php:4 +msgid "WebDAV URL: http://" +msgstr "WebDAV URL: http://" diff --git a/l10n/ku_IQ/core.po b/l10n/ku_IQ/core.po index 56a268f7ba1fa05ae4dc76dfd4cf0f23d3beea72..158446fd52122912692102f2577ae482912a992e 100644 --- a/l10n/ku_IQ/core.po +++ b/l10n/ku_IQ/core.po @@ -8,9 +8,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-16 02:04+0200\n" -"PO-Revision-Date: 2012-10-16 00:05+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-11-16 00:02+0100\n" +"PO-Revision-Date: 2012-11-14 23:13+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Kurdish (Iraq) (http://www.transifex.com/projects/p/owncloud/language/ku_IQ/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -18,209 +18,241 @@ msgstr "" "Language: ku_IQ\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: ajax/vcategories/add.php:23 ajax/vcategories/delete.php:23 -msgid "Application name not provided." +#: ajax/vcategories/add.php:26 ajax/vcategories/edit.php:25 +msgid "Category type not provided." msgstr "" -#: ajax/vcategories/add.php:29 +#: ajax/vcategories/add.php:30 msgid "No category to add?" msgstr "" -#: ajax/vcategories/add.php:36 +#: ajax/vcategories/add.php:37 msgid "This category already exists: " msgstr "" -#: js/js.js:238 templates/layout.user.php:49 templates/layout.user.php:50 +#: ajax/vcategories/addToFavorites.php:26 ajax/vcategories/delete.php:27 +#: ajax/vcategories/favorites.php:24 +#: ajax/vcategories/removeFromFavorites.php:26 +msgid "Object type not provided." +msgstr "" + +#: ajax/vcategories/addToFavorites.php:30 +#: ajax/vcategories/removeFromFavorites.php:30 +#, php-format +msgid "%s ID not provided." +msgstr "" + +#: ajax/vcategories/addToFavorites.php:35 +#, php-format +msgid "Error adding %s to favorites." +msgstr "" + +#: ajax/vcategories/delete.php:35 js/oc-vcategories.js:136 +msgid "No categories selected for deletion." +msgstr "" + +#: ajax/vcategories/removeFromFavorites.php:35 +#, php-format +msgid "Error removing %s from favorites." +msgstr "" + +#: js/js.js:243 templates/layout.user.php:59 templates/layout.user.php:60 msgid "Settings" msgstr "ده‌ستكاری" -#: js/js.js:670 -msgid "January" +#: js/js.js:688 +msgid "seconds ago" msgstr "" -#: js/js.js:670 -msgid "February" +#: js/js.js:689 +msgid "1 minute ago" msgstr "" -#: js/js.js:670 -msgid "March" +#: js/js.js:690 +msgid "{minutes} minutes ago" msgstr "" -#: js/js.js:670 -msgid "April" +#: js/js.js:691 +msgid "1 hour ago" msgstr "" -#: js/js.js:670 -msgid "May" +#: js/js.js:692 +msgid "{hours} hours ago" msgstr "" -#: js/js.js:670 -msgid "June" +#: js/js.js:693 +msgid "today" msgstr "" -#: js/js.js:671 -msgid "July" +#: js/js.js:694 +msgid "yesterday" msgstr "" -#: js/js.js:671 -msgid "August" +#: js/js.js:695 +msgid "{days} days ago" msgstr "" -#: js/js.js:671 -msgid "September" +#: js/js.js:696 +msgid "last month" msgstr "" -#: js/js.js:671 -msgid "October" +#: js/js.js:697 +msgid "{months} months ago" msgstr "" -#: js/js.js:671 -msgid "November" +#: js/js.js:698 +msgid "months ago" msgstr "" -#: js/js.js:671 -msgid "December" +#: js/js.js:699 +msgid "last year" msgstr "" -#: js/oc-dialogs.js:123 +#: js/js.js:700 +msgid "years ago" +msgstr "" + +#: js/oc-dialogs.js:126 msgid "Choose" msgstr "" -#: js/oc-dialogs.js:143 js/oc-dialogs.js:163 +#: js/oc-dialogs.js:146 js/oc-dialogs.js:166 msgid "Cancel" msgstr "" -#: js/oc-dialogs.js:159 +#: js/oc-dialogs.js:162 msgid "No" msgstr "" -#: js/oc-dialogs.js:160 +#: js/oc-dialogs.js:163 msgid "Yes" msgstr "" -#: js/oc-dialogs.js:177 +#: js/oc-dialogs.js:180 msgid "Ok" msgstr "" -#: js/oc-vcategories.js:68 -msgid "No categories selected for deletion." +#: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102 +#: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162 +msgid "The object type is not specified." msgstr "" -#: js/oc-vcategories.js:68 js/share.js:114 js/share.js:121 js/share.js:497 -#: js/share.js:509 +#: js/oc-vcategories.js:95 js/oc-vcategories.js:125 js/oc-vcategories.js:136 +#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:525 +#: js/share.js:537 msgid "Error" +msgstr "هه‌ڵه" + +#: js/oc-vcategories.js:179 +msgid "The app name is not specified." +msgstr "" + +#: js/oc-vcategories.js:194 +msgid "The required file {file} is not installed!" msgstr "" -#: js/share.js:103 +#: js/share.js:124 msgid "Error while sharing" msgstr "" -#: js/share.js:114 +#: js/share.js:135 msgid "Error while unsharing" msgstr "" -#: js/share.js:121 +#: js/share.js:142 msgid "Error while changing permissions" msgstr "" -#: js/share.js:130 -msgid "Shared with you and the group" -msgstr "" - -#: js/share.js:130 -msgid "by" +#: js/share.js:151 +msgid "Shared with you and the group {group} by {owner}" msgstr "" -#: js/share.js:132 -msgid "Shared with you by" +#: js/share.js:153 +msgid "Shared with you by {owner}" msgstr "" -#: js/share.js:137 +#: js/share.js:158 msgid "Share with" msgstr "" -#: js/share.js:142 +#: js/share.js:163 msgid "Share with link" msgstr "" -#: js/share.js:143 +#: js/share.js:164 msgid "Password protect" msgstr "" -#: js/share.js:147 templates/installation.php:42 templates/login.php:24 +#: js/share.js:168 templates/installation.php:42 templates/login.php:24 #: templates/verify.php:13 msgid "Password" msgstr "وشەی تێپەربو" -#: js/share.js:152 +#: js/share.js:173 msgid "Set expiration date" msgstr "" -#: js/share.js:153 +#: js/share.js:174 msgid "Expiration date" msgstr "" -#: js/share.js:185 +#: js/share.js:206 msgid "Share via email:" msgstr "" -#: js/share.js:187 +#: js/share.js:208 msgid "No people found" msgstr "" -#: js/share.js:214 +#: js/share.js:235 msgid "Resharing is not allowed" msgstr "" -#: js/share.js:250 -msgid "Shared in" -msgstr "" - -#: js/share.js:250 -msgid "with" +#: js/share.js:271 +msgid "Shared in {item} with {user}" msgstr "" -#: js/share.js:271 +#: js/share.js:292 msgid "Unshare" msgstr "" -#: js/share.js:283 +#: js/share.js:304 msgid "can edit" msgstr "" -#: js/share.js:285 +#: js/share.js:306 msgid "access control" msgstr "" -#: js/share.js:288 +#: js/share.js:309 msgid "create" msgstr "" -#: js/share.js:291 +#: js/share.js:312 msgid "update" msgstr "" -#: js/share.js:294 +#: js/share.js:315 msgid "delete" msgstr "" -#: js/share.js:297 +#: js/share.js:318 msgid "share" msgstr "" -#: js/share.js:322 js/share.js:484 +#: js/share.js:343 js/share.js:512 js/share.js:514 msgid "Password protected" msgstr "" -#: js/share.js:497 +#: js/share.js:525 msgid "Error unsetting expiration date" msgstr "" -#: js/share.js:509 +#: js/share.js:537 msgid "Error setting expiration date" msgstr "" -#: lostpassword/index.php:26 +#: lostpassword/controller.php:47 msgid "ownCloud password reset" msgstr "" @@ -233,17 +265,17 @@ msgid "You will receive a link to reset your password via Email." msgstr "" #: lostpassword/templates/lostpassword.php:5 -msgid "Requested" +msgid "Reset email send." msgstr "" #: lostpassword/templates/lostpassword.php:8 -msgid "Login failed!" +msgid "Request failed!" msgstr "" #: lostpassword/templates/lostpassword.php:11 templates/installation.php:38 #: templates/login.php:20 msgid "Username" -msgstr "" +msgstr "ناوی به‌کارهێنه‌ر" #: lostpassword/templates/lostpassword.php:14 msgid "Request reset" @@ -297,9 +329,9 @@ msgstr "هیچ نه‌دۆزرایه‌وه‌" msgid "Edit categories" msgstr "" -#: templates/edit_categories_dialog.php:14 +#: templates/edit_categories_dialog.php:16 msgid "Add" -msgstr "" +msgstr "زیادکردن" #: templates/installation.php:23 templates/installation.php:31 msgid "Security Warning" @@ -371,11 +403,87 @@ msgstr "هۆستی داتابه‌یس" msgid "Finish setup" msgstr "كۆتایی هات ده‌ستكاریه‌كان" -#: templates/layout.guest.php:38 -msgid "web services under your control" +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Sunday" +msgstr "" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Monday" +msgstr "" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Tuesday" msgstr "" -#: templates/layout.user.php:34 +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Wednesday" +msgstr "" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Thursday" +msgstr "" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Friday" +msgstr "" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Saturday" +msgstr "" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "January" +msgstr "" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "February" +msgstr "" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "March" +msgstr "" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "April" +msgstr "" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "May" +msgstr "" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "June" +msgstr "" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "July" +msgstr "" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "August" +msgstr "" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "September" +msgstr "" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "October" +msgstr "" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "November" +msgstr "" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "December" +msgstr "" + +#: templates/layout.guest.php:41 +msgid "web services under your control" +msgstr "ڕاژه‌ی وێب له‌ژێر چاودێریت دایه" + +#: templates/layout.user.php:44 msgid "Log out" msgstr "چوونەدەرەوە" diff --git a/l10n/ku_IQ/files.po b/l10n/ku_IQ/files.po index 49231949ee84101c0b04280e39cce5105d78555f..749a057b1c181c5106137c1205b01a496b28dc9c 100644 --- a/l10n/ku_IQ/files.po +++ b/l10n/ku_IQ/files.po @@ -7,9 +7,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-07 02:03+0200\n" -"PO-Revision-Date: 2011-08-13 02:19+0000\n" -"Last-Translator: FULL NAME \n" +"POT-Creation-Date: 2012-12-01 00:01+0100\n" +"PO-Revision-Date: 2012-11-30 23:02+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Kurdish (Iraq) (http://www.transifex.com/projects/p/owncloud/language/ku_IQ/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -22,194 +22,165 @@ msgid "There is no error, the file uploaded with success" msgstr "" #: ajax/upload.php:21 -msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" +msgid "" +"The uploaded file exceeds the upload_max_filesize directive in php.ini: " msgstr "" -#: ajax/upload.php:22 +#: ajax/upload.php:23 msgid "" "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " "the HTML form" msgstr "" -#: ajax/upload.php:23 +#: ajax/upload.php:25 msgid "The uploaded file was only partially uploaded" msgstr "" -#: ajax/upload.php:24 +#: ajax/upload.php:26 msgid "No file was uploaded" msgstr "" -#: ajax/upload.php:25 +#: ajax/upload.php:27 msgid "Missing a temporary folder" msgstr "" -#: ajax/upload.php:26 +#: ajax/upload.php:28 msgid "Failed to write to disk" msgstr "" -#: appinfo/app.php:6 +#: appinfo/app.php:10 msgid "Files" msgstr "" -#: js/fileactions.js:108 templates/index.php:62 +#: js/fileactions.js:117 templates/index.php:83 templates/index.php:84 msgid "Unshare" msgstr "" -#: js/fileactions.js:110 templates/index.php:64 +#: js/fileactions.js:119 templates/index.php:89 templates/index.php:90 msgid "Delete" msgstr "" -#: js/fileactions.js:182 +#: js/fileactions.js:181 msgid "Rename" msgstr "" -#: js/filelist.js:189 js/filelist.js:191 -msgid "already exists" +#: js/filelist.js:201 js/filelist.js:203 +msgid "{new_name} already exists" msgstr "" -#: js/filelist.js:189 js/filelist.js:191 +#: js/filelist.js:201 js/filelist.js:203 msgid "replace" msgstr "" -#: js/filelist.js:189 +#: js/filelist.js:201 msgid "suggest name" msgstr "" -#: js/filelist.js:189 js/filelist.js:191 +#: js/filelist.js:201 js/filelist.js:203 msgid "cancel" msgstr "" -#: js/filelist.js:238 js/filelist.js:240 -msgid "replaced" +#: js/filelist.js:250 +msgid "replaced {new_name}" msgstr "" -#: js/filelist.js:238 js/filelist.js:240 js/filelist.js:272 js/filelist.js:274 +#: js/filelist.js:250 js/filelist.js:252 js/filelist.js:284 js/filelist.js:286 msgid "undo" msgstr "" -#: js/filelist.js:240 -msgid "with" +#: js/filelist.js:252 +msgid "replaced {new_name} with {old_name}" +msgstr "" + +#: js/filelist.js:284 +msgid "unshared {files}" msgstr "" -#: js/filelist.js:272 -msgid "unshared" +#: js/filelist.js:286 +msgid "deleted {files}" msgstr "" -#: js/filelist.js:274 -msgid "deleted" +#: js/files.js:33 +msgid "" +"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not " +"allowed." msgstr "" -#: js/files.js:179 +#: js/files.js:183 msgid "generating ZIP-file, it may take some time." msgstr "" -#: js/files.js:215 +#: js/files.js:218 msgid "Unable to upload your file as it is a directory or has 0 bytes" msgstr "" -#: js/files.js:215 +#: js/files.js:218 msgid "Upload Error" msgstr "" -#: js/files.js:243 js/files.js:348 js/files.js:378 +#: js/files.js:235 +msgid "Close" +msgstr "داخستن" + +#: js/files.js:254 js/files.js:368 js/files.js:398 msgid "Pending" msgstr "" -#: js/files.js:263 +#: js/files.js:274 msgid "1 file uploading" msgstr "" -#: js/files.js:266 js/files.js:311 js/files.js:326 -msgid "files uploading" +#: js/files.js:277 js/files.js:331 js/files.js:346 +msgid "{count} files uploading" msgstr "" -#: js/files.js:329 js/files.js:362 +#: js/files.js:349 js/files.js:382 msgid "Upload cancelled." msgstr "" -#: js/files.js:432 +#: js/files.js:451 msgid "" "File upload is in progress. Leaving the page now will cancel the upload." msgstr "" -#: js/files.js:502 -msgid "Invalid name, '/' is not allowed." +#: js/files.js:523 +msgid "Invalid folder name. Usage of \"Shared\" is reserved by Owncloud" msgstr "" -#: js/files.js:679 -msgid "files scanned" +#: js/files.js:704 +msgid "{count} files scanned" msgstr "" -#: js/files.js:687 +#: js/files.js:712 msgid "error while scanning" msgstr "" -#: js/files.js:760 templates/index.php:48 +#: js/files.js:785 templates/index.php:65 msgid "Name" -msgstr "" +msgstr "ناو" -#: js/files.js:761 templates/index.php:56 +#: js/files.js:786 templates/index.php:76 msgid "Size" msgstr "" -#: js/files.js:762 templates/index.php:58 +#: js/files.js:787 templates/index.php:78 msgid "Modified" msgstr "" -#: js/files.js:789 -msgid "folder" -msgstr "" - -#: js/files.js:791 -msgid "folders" -msgstr "" - -#: js/files.js:799 -msgid "file" -msgstr "" - -#: js/files.js:801 -msgid "files" -msgstr "" - -#: js/files.js:845 -msgid "seconds ago" -msgstr "" - -#: js/files.js:846 -msgid "minute ago" -msgstr "" - -#: js/files.js:847 -msgid "minutes ago" +#: js/files.js:814 +msgid "1 folder" msgstr "" -#: js/files.js:850 -msgid "today" +#: js/files.js:816 +msgid "{count} folders" msgstr "" -#: js/files.js:851 -msgid "yesterday" +#: js/files.js:824 +msgid "1 file" msgstr "" -#: js/files.js:852 -msgid "days ago" -msgstr "" - -#: js/files.js:853 -msgid "last month" -msgstr "" - -#: js/files.js:855 -msgid "months ago" -msgstr "" - -#: js/files.js:856 -msgid "last year" -msgstr "" - -#: js/files.js:857 -msgid "years ago" +#: js/files.js:826 +msgid "{count} files" msgstr "" #: templates/admin.php:5 @@ -220,80 +191,76 @@ msgstr "" msgid "Maximum upload size" msgstr "" -#: templates/admin.php:7 +#: templates/admin.php:9 msgid "max. possible: " msgstr "" -#: templates/admin.php:9 +#: templates/admin.php:12 msgid "Needed for multi-file and folder downloads." msgstr "" -#: templates/admin.php:9 +#: templates/admin.php:14 msgid "Enable ZIP-download" msgstr "" -#: templates/admin.php:11 +#: templates/admin.php:17 msgid "0 is unlimited" msgstr "" -#: templates/admin.php:12 +#: templates/admin.php:19 msgid "Maximum input size for ZIP files" msgstr "" -#: templates/admin.php:14 +#: templates/admin.php:23 msgid "Save" -msgstr "" +msgstr "پاشکه‌وتکردن" #: templates/index.php:7 msgid "New" msgstr "" -#: templates/index.php:9 +#: templates/index.php:10 msgid "Text file" msgstr "" -#: templates/index.php:10 +#: templates/index.php:12 msgid "Folder" -msgstr "" +msgstr "بوخچه" -#: templates/index.php:11 -msgid "From url" +#: templates/index.php:14 +msgid "From link" msgstr "" -#: templates/index.php:20 +#: templates/index.php:35 msgid "Upload" -msgstr "" +msgstr "بارکردن" -#: templates/index.php:27 +#: templates/index.php:43 msgid "Cancel upload" msgstr "" -#: templates/index.php:40 +#: templates/index.php:57 msgid "Nothing in here. Upload something!" msgstr "" -#: templates/index.php:50 -msgid "Share" -msgstr "" - -#: templates/index.php:52 +#: templates/index.php:71 msgid "Download" -msgstr "" +msgstr "داگرتن" -#: templates/index.php:75 +#: templates/index.php:103 msgid "Upload too large" msgstr "" -#: templates/index.php:77 +#: templates/index.php:105 msgid "" "The files you are trying to upload exceed the maximum size for file uploads " "on this server." msgstr "" -#: templates/index.php:82 +#: templates/index.php:110 msgid "Files are being scanned, please wait." msgstr "" -#: templates/index.php:85 +#: templates/index.php:113 msgid "Current scanning" msgstr "" diff --git a/l10n/ku_IQ/files_external.po b/l10n/ku_IQ/files_external.po index 4089687b0334c9be1d828280358e44077a97f3e9..19e1b53ebbc1d00c249942c3539a123eceabd4a7 100644 --- a/l10n/ku_IQ/files_external.po +++ b/l10n/ku_IQ/files_external.po @@ -7,9 +7,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-07 02:03+0200\n" -"PO-Revision-Date: 2012-08-12 22:34+0000\n" -"Last-Translator: FULL NAME \n" +"POT-Creation-Date: 2012-12-12 00:12+0100\n" +"PO-Revision-Date: 2012-12-11 23:13+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Kurdish (Iraq) (http://www.transifex.com/projects/p/owncloud/language/ku_IQ/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -41,66 +41,80 @@ msgstr "" msgid "Error configuring Google Drive storage" msgstr "" +#: lib/config.php:434 +msgid "" +"Warning: \"smbclient\" is not installed. Mounting of CIFS/SMB shares " +"is not possible. Please ask your system administrator to install it." +msgstr "" + +#: lib/config.php:435 +msgid "" +"Warning: The FTP support in PHP is not enabled or installed. Mounting" +" of FTP shares is not possible. Please ask your system administrator to " +"install it." +msgstr "" + #: templates/settings.php:3 msgid "External Storage" msgstr "" -#: templates/settings.php:7 templates/settings.php:19 +#: templates/settings.php:8 templates/settings.php:22 msgid "Mount point" msgstr "" -#: templates/settings.php:8 +#: templates/settings.php:9 msgid "Backend" msgstr "" -#: templates/settings.php:9 +#: templates/settings.php:10 msgid "Configuration" msgstr "" -#: templates/settings.php:10 +#: templates/settings.php:11 msgid "Options" msgstr "" -#: templates/settings.php:11 +#: templates/settings.php:12 msgid "Applicable" msgstr "" -#: templates/settings.php:23 +#: templates/settings.php:27 msgid "Add mount point" msgstr "" -#: templates/settings.php:54 templates/settings.php:62 +#: templates/settings.php:85 msgid "None set" msgstr "" -#: templates/settings.php:63 +#: templates/settings.php:86 msgid "All Users" msgstr "" -#: templates/settings.php:64 +#: templates/settings.php:87 msgid "Groups" msgstr "" -#: templates/settings.php:69 +#: templates/settings.php:95 msgid "Users" msgstr "" -#: templates/settings.php:77 templates/settings.php:107 +#: templates/settings.php:108 templates/settings.php:109 +#: templates/settings.php:149 templates/settings.php:150 msgid "Delete" msgstr "" -#: templates/settings.php:87 +#: templates/settings.php:124 msgid "Enable User External Storage" msgstr "" -#: templates/settings.php:88 +#: templates/settings.php:125 msgid "Allow users to mount their own external storage" msgstr "" -#: templates/settings.php:99 +#: templates/settings.php:139 msgid "SSL root certificates" msgstr "" -#: templates/settings.php:113 +#: templates/settings.php:158 msgid "Import Root Certificate" msgstr "" diff --git a/l10n/ku_IQ/lib.po b/l10n/ku_IQ/lib.po index d1f55c8d5ea2baaeae1d0001227d59f99af5766a..ab5cb3ada24d3db306d1d908566d61bffcfcc4b1 100644 --- a/l10n/ku_IQ/lib.po +++ b/l10n/ku_IQ/lib.po @@ -7,9 +7,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-07 02:04+0200\n" -"PO-Revision-Date: 2012-07-27 22:23+0000\n" -"Last-Translator: FULL NAME \n" +"POT-Creation-Date: 2012-11-16 00:02+0100\n" +"PO-Revision-Date: 2012-11-14 23:13+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Kurdish (Iraq) (http://www.transifex.com/projects/p/owncloud/language/ku_IQ/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -19,7 +19,7 @@ msgstr "" #: app.php:285 msgid "Help" -msgstr "" +msgstr "یارمەتی" #: app.php:292 msgid "Personal" @@ -27,11 +27,11 @@ msgstr "" #: app.php:297 msgid "Settings" -msgstr "" +msgstr "ده‌ستكاری" #: app.php:302 msgid "Users" -msgstr "" +msgstr "به‌كارهێنه‌ر" #: app.php:309 msgid "Apps" @@ -41,19 +41,19 @@ msgstr "" msgid "Admin" msgstr "" -#: files.php:327 +#: files.php:332 msgid "ZIP download is turned off." msgstr "" -#: files.php:328 +#: files.php:333 msgid "Files need to be downloaded one by one." msgstr "" -#: files.php:328 files.php:353 +#: files.php:333 files.php:358 msgid "Back to Files" msgstr "" -#: files.php:352 +#: files.php:357 msgid "Selected files too large to generate zip file." msgstr "" @@ -61,7 +61,7 @@ msgstr "" msgid "Application is not enabled" msgstr "" -#: json.php:39 json.php:63 json.php:75 +#: json.php:39 json.php:64 json.php:77 json.php:89 msgid "Authentication error" msgstr "" @@ -69,57 +69,84 @@ msgstr "" msgid "Token expired. Please reload page." msgstr "" -#: template.php:87 +#: search/provider/file.php:17 search/provider/file.php:35 +msgid "Files" +msgstr "" + +#: search/provider/file.php:26 search/provider/file.php:33 +msgid "Text" +msgstr "" + +#: search/provider/file.php:29 +msgid "Images" +msgstr "" + +#: template.php:103 msgid "seconds ago" msgstr "" -#: template.php:88 +#: template.php:104 msgid "1 minute ago" msgstr "" -#: template.php:89 +#: template.php:105 #, php-format msgid "%d minutes ago" msgstr "" -#: template.php:92 +#: template.php:106 +msgid "1 hour ago" +msgstr "" + +#: template.php:107 +#, php-format +msgid "%d hours ago" +msgstr "" + +#: template.php:108 msgid "today" msgstr "" -#: template.php:93 +#: template.php:109 msgid "yesterday" msgstr "" -#: template.php:94 +#: template.php:110 #, php-format msgid "%d days ago" msgstr "" -#: template.php:95 +#: template.php:111 msgid "last month" msgstr "" -#: template.php:96 -msgid "months ago" +#: template.php:112 +#, php-format +msgid "%d months ago" msgstr "" -#: template.php:97 +#: template.php:113 msgid "last year" msgstr "" -#: template.php:98 +#: template.php:114 msgid "years ago" msgstr "" -#: updater.php:66 +#: updater.php:75 #, php-format msgid "%s is available. Get more information" msgstr "" -#: updater.php:68 +#: updater.php:77 msgid "up to date" msgstr "" -#: updater.php:71 +#: updater.php:80 msgid "updates check is disabled" msgstr "" + +#: vcategories.php:188 vcategories.php:249 +#, php-format +msgid "Could not find category \"%s\"" +msgstr "" diff --git a/l10n/ku_IQ/settings.po b/l10n/ku_IQ/settings.po index 2865e2d0f7b82c96c5187312b14c2d3481ddc0c9..c64763c9cfc2621044c98b7d281d0e975ad5ca33 100644 --- a/l10n/ku_IQ/settings.po +++ b/l10n/ku_IQ/settings.po @@ -7,9 +7,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-09 02:03+0200\n" -"PO-Revision-Date: 2012-10-09 00:04+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-12-03 00:04+0100\n" +"PO-Revision-Date: 2012-12-02 03:18+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Kurdish (Iraq) (http://www.transifex.com/projects/p/owncloud/language/ku_IQ/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -17,168 +17,84 @@ msgstr "" "Language: ku_IQ\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: ajax/apps/ocs.php:23 +#: ajax/apps/ocs.php:20 msgid "Unable to load list from App Store" msgstr "" -#: ajax/creategroup.php:9 ajax/removeuser.php:13 ajax/setquota.php:18 -#: ajax/togglegroups.php:15 -msgid "Authentication error" -msgstr "" - -#: ajax/creategroup.php:19 +#: ajax/creategroup.php:10 msgid "Group already exists" msgstr "" -#: ajax/creategroup.php:28 +#: ajax/creategroup.php:19 msgid "Unable to add group" msgstr "" -#: ajax/enableapp.php:14 +#: ajax/enableapp.php:12 msgid "Could not enable app. " msgstr "" -#: ajax/lostpassword.php:14 +#: ajax/lostpassword.php:12 msgid "Email saved" msgstr "" -#: ajax/lostpassword.php:16 +#: ajax/lostpassword.php:14 msgid "Invalid email" msgstr "" -#: ajax/openid.php:16 +#: ajax/openid.php:13 msgid "OpenID Changed" msgstr "" -#: ajax/openid.php:18 ajax/setlanguage.php:20 ajax/setlanguage.php:23 +#: ajax/openid.php:15 ajax/setlanguage.php:17 ajax/setlanguage.php:20 msgid "Invalid request" msgstr "" -#: ajax/removegroup.php:16 +#: ajax/removegroup.php:13 msgid "Unable to delete group" msgstr "" -#: ajax/removeuser.php:22 +#: ajax/removeuser.php:15 ajax/setquota.php:15 ajax/togglegroups.php:18 +msgid "Authentication error" +msgstr "" + +#: ajax/removeuser.php:24 msgid "Unable to delete user" msgstr "" -#: ajax/setlanguage.php:18 +#: ajax/setlanguage.php:15 msgid "Language changed" msgstr "" -#: ajax/togglegroups.php:25 +#: ajax/togglegroups.php:12 +msgid "Admins can't remove themself from the admin group" +msgstr "" + +#: ajax/togglegroups.php:28 #, php-format msgid "Unable to add user to group %s" msgstr "" -#: ajax/togglegroups.php:31 +#: ajax/togglegroups.php:34 #, php-format msgid "Unable to remove user from group %s" msgstr "" -#: js/apps.js:28 js/apps.js:65 +#: js/apps.js:28 js/apps.js:67 msgid "Disable" msgstr "" -#: js/apps.js:28 js/apps.js:54 +#: js/apps.js:28 js/apps.js:55 msgid "Enable" -msgstr "" +msgstr "چالاککردن" #: js/personal.js:69 msgid "Saving..." -msgstr "" +msgstr "پاشکه‌وتده‌کات..." -#: personal.php:47 personal.php:48 +#: personal.php:42 personal.php:43 msgid "__language_name__" msgstr "" -#: templates/admin.php:14 -msgid "Security Warning" -msgstr "" - -#: templates/admin.php:17 -msgid "" -"Your data directory and your files are probably accessible from the " -"internet. The .htaccess file that ownCloud provides is not working. We " -"strongly suggest that you configure your webserver in a way that the data " -"directory is no longer accessible or you move the data directory outside the" -" webserver document root." -msgstr "" - -#: templates/admin.php:31 -msgid "Cron" -msgstr "" - -#: templates/admin.php:37 -msgid "Execute one task with each page loaded" -msgstr "" - -#: templates/admin.php:43 -msgid "" -"cron.php is registered at a webcron service. Call the cron.php page in the " -"owncloud root once a minute over http." -msgstr "" - -#: templates/admin.php:49 -msgid "" -"Use systems cron service. Call the cron.php file in the owncloud folder via " -"a system cronjob once a minute." -msgstr "" - -#: templates/admin.php:56 -msgid "Sharing" -msgstr "" - -#: templates/admin.php:61 -msgid "Enable Share API" -msgstr "" - -#: templates/admin.php:62 -msgid "Allow apps to use the Share API" -msgstr "" - -#: templates/admin.php:67 -msgid "Allow links" -msgstr "" - -#: templates/admin.php:68 -msgid "Allow users to share items to the public with links" -msgstr "" - -#: templates/admin.php:73 -msgid "Allow resharing" -msgstr "" - -#: templates/admin.php:74 -msgid "Allow users to share items shared with them again" -msgstr "" - -#: templates/admin.php:79 -msgid "Allow users to share with anyone" -msgstr "" - -#: templates/admin.php:81 -msgid "Allow users to only share with users in their groups" -msgstr "" - -#: templates/admin.php:88 -msgid "Log" -msgstr "" - -#: templates/admin.php:116 -msgid "More" -msgstr "" - -#: templates/admin.php:124 -msgid "" -"Developed by the ownCloud community, the source code is " -"licensed under the AGPL." -msgstr "" - #: templates/apps.php:10 msgid "Add your App" msgstr "" @@ -201,7 +117,7 @@ msgstr "" #: templates/help.php:9 msgid "Documentation" -msgstr "" +msgstr "به‌ڵگه‌نامه" #: templates/help.php:10 msgid "Managing Big Files" @@ -211,21 +127,21 @@ msgstr "" msgid "Ask a question" msgstr "" -#: templates/help.php:23 +#: templates/help.php:22 msgid "Problems connecting to help database." msgstr "" -#: templates/help.php:24 +#: templates/help.php:23 msgid "Go there manually." msgstr "" -#: templates/help.php:32 +#: templates/help.php:31 msgid "Answer" msgstr "" #: templates/personal.php:8 #, php-format -msgid "You have used %s of the available %s" +msgid "You have used %s of the available %s" msgstr "" #: templates/personal.php:12 @@ -234,7 +150,7 @@ msgstr "" #: templates/personal.php:13 msgid "Download" -msgstr "" +msgstr "داگرتن" #: templates/personal.php:19 msgid "Your password was changed" @@ -250,7 +166,7 @@ msgstr "" #: templates/personal.php:22 msgid "New password" -msgstr "" +msgstr "وشەی نهێنی نوێ" #: templates/personal.php:23 msgid "show" @@ -262,7 +178,7 @@ msgstr "" #: templates/personal.php:30 msgid "Email" -msgstr "" +msgstr "ئیمه‌یل" #: templates/personal.php:31 msgid "Your email address" @@ -284,13 +200,23 @@ msgstr "" msgid "use this address to connect to your ownCloud in your file manager" msgstr "" +#: templates/personal.php:61 +msgid "" +"Developed by the ownCloud community, the source code is " +"licensed under the AGPL." +msgstr "" + #: templates/users.php:21 templates/users.php:76 msgid "Name" -msgstr "" +msgstr "ناو" #: templates/users.php:23 templates/users.php:77 msgid "Password" -msgstr "" +msgstr "وشەی تێپەربو" #: templates/users.php:26 templates/users.php:78 templates/users.php:98 msgid "Groups" diff --git a/l10n/ku_IQ/user_webdavauth.po b/l10n/ku_IQ/user_webdavauth.po new file mode 100644 index 0000000000000000000000000000000000000000..c600370b57188c56af635f390779fcd14a43e41e --- /dev/null +++ b/l10n/ku_IQ/user_webdavauth.po @@ -0,0 +1,22 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: ownCloud\n" +"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" +"POT-Creation-Date: 2012-11-09 10:06+0100\n" +"PO-Revision-Date: 2012-11-09 09:06+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Kurdish (Iraq) (http://www.transifex.com/projects/p/owncloud/language/ku_IQ/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ku_IQ\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: templates/settings.php:4 +msgid "WebDAV URL: http://" +msgstr "" diff --git a/l10n/lb/admin_dependencies_chk.po b/l10n/lb/admin_dependencies_chk.po deleted file mode 100644 index f49abb281402180c23976b811d0572e4fd5242cf..0000000000000000000000000000000000000000 --- a/l10n/lb/admin_dependencies_chk.po +++ /dev/null @@ -1,73 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:33+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Luxembourgish (http://www.transifex.com/projects/p/owncloud/language/lb/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: lb\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: settings.php:33 -msgid "" -"The php-json module is needed by the many applications for inter " -"communications" -msgstr "" - -#: settings.php:39 -msgid "" -"The php-curl modude is needed to fetch the page title when adding a " -"bookmarks" -msgstr "" - -#: settings.php:45 -msgid "The php-gd module is needed to create thumbnails of your images" -msgstr "" - -#: settings.php:51 -msgid "The php-ldap module is needed connect to your ldap server" -msgstr "" - -#: settings.php:57 -msgid "The php-zip module is needed download multiple files at once" -msgstr "" - -#: settings.php:63 -msgid "" -"The php-mb_multibyte module is needed to manage correctly the encoding." -msgstr "" - -#: settings.php:69 -msgid "The php-ctype module is needed validate data." -msgstr "" - -#: settings.php:75 -msgid "The php-xml module is needed to share files with webdav." -msgstr "" - -#: settings.php:81 -msgid "" -"The allow_url_fopen directive of your php.ini should be set to 1 to retrieve" -" knowledge base from OCS servers" -msgstr "" - -#: settings.php:87 -msgid "The php-pdo module is needed to store owncloud data into a database." -msgstr "" - -#: templates/settings.php:2 -msgid "Dependencies status" -msgstr "" - -#: templates/settings.php:7 -msgid "Used by :" -msgstr "" diff --git a/l10n/lb/admin_migrate.po b/l10n/lb/admin_migrate.po deleted file mode 100644 index a4912b42c8372a590f63f571b59e34311bb612b3..0000000000000000000000000000000000000000 --- a/l10n/lb/admin_migrate.po +++ /dev/null @@ -1,32 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:32+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Luxembourgish (http://www.transifex.com/projects/p/owncloud/language/lb/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: lb\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: templates/settings.php:3 -msgid "Export this ownCloud instance" -msgstr "" - -#: templates/settings.php:4 -msgid "" -"This will create a compressed file that contains the data of this owncloud instance.\n" -" Please choose the export type:" -msgstr "" - -#: templates/settings.php:12 -msgid "Export" -msgstr "" diff --git a/l10n/lb/bookmarks.po b/l10n/lb/bookmarks.po deleted file mode 100644 index 024a705e2433f2731476312733a5b3adac9b8466..0000000000000000000000000000000000000000 --- a/l10n/lb/bookmarks.po +++ /dev/null @@ -1,60 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-07-28 02:02+0200\n" -"PO-Revision-Date: 2012-07-27 22:17+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Luxembourgish (http://www.transifex.com/projects/p/owncloud/language/lb/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: lb\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: appinfo/app.php:14 -msgid "Bookmarks" -msgstr "" - -#: bookmarksHelper.php:99 -msgid "unnamed" -msgstr "" - -#: templates/bookmarklet.php:5 -msgid "" -"Drag this to your browser bookmarks and click it, when you want to bookmark " -"a webpage quickly:" -msgstr "" - -#: templates/bookmarklet.php:7 -msgid "Read later" -msgstr "" - -#: templates/list.php:13 -msgid "Address" -msgstr "" - -#: templates/list.php:14 -msgid "Title" -msgstr "" - -#: templates/list.php:15 -msgid "Tags" -msgstr "" - -#: templates/list.php:16 -msgid "Save bookmark" -msgstr "" - -#: templates/list.php:22 -msgid "You have no bookmarks" -msgstr "" - -#: templates/settings.php:11 -msgid "Bookmarklet
" -msgstr "" diff --git a/l10n/lb/calendar.po b/l10n/lb/calendar.po deleted file mode 100644 index 389711175964cd0aeb59ee5d16de259915a277bc..0000000000000000000000000000000000000000 --- a/l10n/lb/calendar.po +++ /dev/null @@ -1,814 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# , 2011, 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-11 02:02+0200\n" -"PO-Revision-Date: 2012-08-11 00:02+0000\n" -"Last-Translator: owncloud_robot \n" -"Language-Team: Luxembourgish (http://www.transifex.com/projects/p/owncloud/language/lb/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: lb\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: ajax/cache/status.php:19 -msgid "Not all calendars are completely cached" -msgstr "" - -#: ajax/cache/status.php:21 -msgid "Everything seems to be completely cached" -msgstr "" - -#: ajax/categories/rescan.php:29 -msgid "No calendars found." -msgstr "Keng Kalenner fonnt." - -#: ajax/categories/rescan.php:37 -msgid "No events found." -msgstr "Keng Evenementer fonnt." - -#: ajax/event/edit.form.php:20 -msgid "Wrong calendar" -msgstr "Falschen Kalenner" - -#: ajax/import/dropimport.php:29 ajax/import/import.php:64 -msgid "" -"The file contained either no events or all events are already saved in your " -"calendar." -msgstr "" - -#: ajax/import/dropimport.php:31 ajax/import/import.php:67 -msgid "events has been saved in the new calendar" -msgstr "" - -#: ajax/import/import.php:56 -msgid "Import failed" -msgstr "" - -#: ajax/import/import.php:69 -msgid "events has been saved in your calendar" -msgstr "" - -#: ajax/settings/guesstimezone.php:25 -msgid "New Timezone:" -msgstr "Nei Zäitzone:" - -#: ajax/settings/settimezone.php:23 -msgid "Timezone changed" -msgstr "Zäitzon geännert" - -#: ajax/settings/settimezone.php:25 -msgid "Invalid request" -msgstr "Ongülteg Requête" - -#: appinfo/app.php:35 templates/calendar.php:15 -#: templates/part.eventform.php:33 templates/part.showevent.php:33 -msgid "Calendar" -msgstr "Kalenner" - -#: js/calendar.js:832 -msgid "ddd" -msgstr "" - -#: js/calendar.js:833 -msgid "ddd M/d" -msgstr "" - -#: js/calendar.js:834 -msgid "dddd M/d" -msgstr "" - -#: js/calendar.js:837 -msgid "MMMM yyyy" -msgstr "" - -#: js/calendar.js:839 -msgid "MMM d[ yyyy]{ '—'[ MMM] d yyyy}" -msgstr "MMM d[ yyyy]{ '—'[ MMM] d yyyy}" - -#: js/calendar.js:841 -msgid "dddd, MMM d, yyyy" -msgstr "" - -#: lib/app.php:121 -msgid "Birthday" -msgstr "Gebuertsdag" - -#: lib/app.php:122 -msgid "Business" -msgstr "Geschäftlech" - -#: lib/app.php:123 -msgid "Call" -msgstr "Uruff" - -#: lib/app.php:124 -msgid "Clients" -msgstr "Clienten" - -#: lib/app.php:125 -msgid "Deliverer" -msgstr "Liwwerant" - -#: lib/app.php:126 -msgid "Holidays" -msgstr "Vakanzen" - -#: lib/app.php:127 -msgid "Ideas" -msgstr "Ideeën" - -#: lib/app.php:128 -msgid "Journey" -msgstr "Dag" - -#: lib/app.php:129 -msgid "Jubilee" -msgstr "Jubiläum" - -#: lib/app.php:130 -msgid "Meeting" -msgstr "Meeting" - -#: lib/app.php:131 -msgid "Other" -msgstr "Aner" - -#: lib/app.php:132 -msgid "Personal" -msgstr "Perséinlech" - -#: lib/app.php:133 -msgid "Projects" -msgstr "Projeten" - -#: lib/app.php:134 -msgid "Questions" -msgstr "Froen" - -#: lib/app.php:135 -msgid "Work" -msgstr "Aarbecht" - -#: lib/app.php:351 lib/app.php:361 -msgid "by" -msgstr "" - -#: lib/app.php:359 lib/app.php:399 -msgid "unnamed" -msgstr "" - -#: lib/import.php:184 templates/calendar.php:12 -#: templates/part.choosecalendar.php:22 -msgid "New Calendar" -msgstr "Neien Kalenner" - -#: lib/object.php:372 -msgid "Does not repeat" -msgstr "Widderhëlt sech net" - -#: lib/object.php:373 -msgid "Daily" -msgstr "Deeglech" - -#: lib/object.php:374 -msgid "Weekly" -msgstr "All Woch" - -#: lib/object.php:375 -msgid "Every Weekday" -msgstr "All Wochendag" - -#: lib/object.php:376 -msgid "Bi-Weekly" -msgstr "All zweet Woch" - -#: lib/object.php:377 -msgid "Monthly" -msgstr "All Mount" - -#: lib/object.php:378 -msgid "Yearly" -msgstr "All Joer" - -#: lib/object.php:388 -msgid "never" -msgstr "ni" - -#: lib/object.php:389 -msgid "by occurrences" -msgstr "no Virkommes" - -#: lib/object.php:390 -msgid "by date" -msgstr "no Datum" - -#: lib/object.php:400 -msgid "by monthday" -msgstr "no Mount-Dag" - -#: lib/object.php:401 -msgid "by weekday" -msgstr "no Wochendag" - -#: lib/object.php:411 templates/calendar.php:5 templates/settings.php:69 -msgid "Monday" -msgstr "Méindes" - -#: lib/object.php:412 templates/calendar.php:5 -msgid "Tuesday" -msgstr "Dënschdes" - -#: lib/object.php:413 templates/calendar.php:5 -msgid "Wednesday" -msgstr "Mëttwoch" - -#: lib/object.php:414 templates/calendar.php:5 -msgid "Thursday" -msgstr "Donneschdes" - -#: lib/object.php:415 templates/calendar.php:5 -msgid "Friday" -msgstr "Freides" - -#: lib/object.php:416 templates/calendar.php:5 -msgid "Saturday" -msgstr "Samschdes" - -#: lib/object.php:417 templates/calendar.php:5 templates/settings.php:70 -msgid "Sunday" -msgstr "Sonndes" - -#: lib/object.php:427 -msgid "events week of month" -msgstr "" - -#: lib/object.php:428 -msgid "first" -msgstr "éischt" - -#: lib/object.php:429 -msgid "second" -msgstr "Sekonn" - -#: lib/object.php:430 -msgid "third" -msgstr "Drëtt" - -#: lib/object.php:431 -msgid "fourth" -msgstr "Féiert" - -#: lib/object.php:432 -msgid "fifth" -msgstr "Fënneft" - -#: lib/object.php:433 -msgid "last" -msgstr "Läscht" - -#: lib/object.php:467 templates/calendar.php:7 -msgid "January" -msgstr "Januar" - -#: lib/object.php:468 templates/calendar.php:7 -msgid "February" -msgstr "Februar" - -#: lib/object.php:469 templates/calendar.php:7 -msgid "March" -msgstr "Mäerz" - -#: lib/object.php:470 templates/calendar.php:7 -msgid "April" -msgstr "Abrëll" - -#: lib/object.php:471 templates/calendar.php:7 -msgid "May" -msgstr "Mee" - -#: lib/object.php:472 templates/calendar.php:7 -msgid "June" -msgstr "Juni" - -#: lib/object.php:473 templates/calendar.php:7 -msgid "July" -msgstr "Juli" - -#: lib/object.php:474 templates/calendar.php:7 -msgid "August" -msgstr "August" - -#: lib/object.php:475 templates/calendar.php:7 -msgid "September" -msgstr "September" - -#: lib/object.php:476 templates/calendar.php:7 -msgid "October" -msgstr "Oktober" - -#: lib/object.php:477 templates/calendar.php:7 -msgid "November" -msgstr "November" - -#: lib/object.php:478 templates/calendar.php:7 -msgid "December" -msgstr "Dezember" - -#: lib/object.php:488 -msgid "by events date" -msgstr "" - -#: lib/object.php:489 -msgid "by yearday(s)" -msgstr "" - -#: lib/object.php:490 -msgid "by weeknumber(s)" -msgstr "" - -#: lib/object.php:491 -msgid "by day and month" -msgstr "" - -#: lib/search.php:35 lib/search.php:37 lib/search.php:40 -msgid "Date" -msgstr "Datum" - -#: lib/search.php:43 -msgid "Cal." -msgstr "Cal." - -#: templates/calendar.php:6 -msgid "Sun." -msgstr "" - -#: templates/calendar.php:6 -msgid "Mon." -msgstr "" - -#: templates/calendar.php:6 -msgid "Tue." -msgstr "" - -#: templates/calendar.php:6 -msgid "Wed." -msgstr "" - -#: templates/calendar.php:6 -msgid "Thu." -msgstr "" - -#: templates/calendar.php:6 -msgid "Fri." -msgstr "" - -#: templates/calendar.php:6 -msgid "Sat." -msgstr "" - -#: templates/calendar.php:8 -msgid "Jan." -msgstr "" - -#: templates/calendar.php:8 -msgid "Feb." -msgstr "" - -#: templates/calendar.php:8 -msgid "Mar." -msgstr "" - -#: templates/calendar.php:8 -msgid "Apr." -msgstr "" - -#: templates/calendar.php:8 -msgid "May." -msgstr "" - -#: templates/calendar.php:8 -msgid "Jun." -msgstr "" - -#: templates/calendar.php:8 -msgid "Jul." -msgstr "" - -#: templates/calendar.php:8 -msgid "Aug." -msgstr "" - -#: templates/calendar.php:8 -msgid "Sep." -msgstr "" - -#: templates/calendar.php:8 -msgid "Oct." -msgstr "" - -#: templates/calendar.php:8 -msgid "Nov." -msgstr "" - -#: templates/calendar.php:8 -msgid "Dec." -msgstr "" - -#: templates/calendar.php:11 -msgid "All day" -msgstr "All Dag" - -#: templates/calendar.php:13 -msgid "Missing fields" -msgstr "Felder déi feelen" - -#: templates/calendar.php:14 templates/part.eventform.php:19 -#: templates/part.showevent.php:11 -msgid "Title" -msgstr "Titel" - -#: templates/calendar.php:16 -msgid "From Date" -msgstr "Vun Datum" - -#: templates/calendar.php:17 -msgid "From Time" -msgstr "Vun Zäit" - -#: templates/calendar.php:18 -msgid "To Date" -msgstr "Bis Datum" - -#: templates/calendar.php:19 -msgid "To Time" -msgstr "Bis Zäit" - -#: templates/calendar.php:20 -msgid "The event ends before it starts" -msgstr "D'Evenement hält op ier et ufänkt" - -#: templates/calendar.php:21 -msgid "There was a database fail" -msgstr "En Datebank Feeler ass opgetrueden" - -#: templates/calendar.php:39 -msgid "Week" -msgstr "Woch" - -#: templates/calendar.php:40 -msgid "Month" -msgstr "Mount" - -#: templates/calendar.php:41 -msgid "List" -msgstr "Lescht" - -#: templates/calendar.php:45 -msgid "Today" -msgstr "Haut" - -#: templates/calendar.php:46 templates/calendar.php:47 -msgid "Settings" -msgstr "" - -#: templates/part.choosecalendar.php:2 -msgid "Your calendars" -msgstr "Deng Kalenneren" - -#: templates/part.choosecalendar.php:27 -#: templates/part.choosecalendar.rowfields.php:11 -msgid "CalDav Link" -msgstr "CalDav Link" - -#: templates/part.choosecalendar.php:31 -msgid "Shared calendars" -msgstr "Gedeelte Kalenneren" - -#: templates/part.choosecalendar.php:48 -msgid "No shared calendars" -msgstr "Keng gedeelten Kalenneren" - -#: templates/part.choosecalendar.rowfields.php:8 -msgid "Share Calendar" -msgstr "" - -#: templates/part.choosecalendar.rowfields.php:14 -msgid "Download" -msgstr "Eroflueden" - -#: templates/part.choosecalendar.rowfields.php:17 -msgid "Edit" -msgstr "Editéieren" - -#: templates/part.choosecalendar.rowfields.php:20 -#: templates/part.editevent.php:9 -msgid "Delete" -msgstr "Läschen" - -#: templates/part.choosecalendar.rowfields.shared.php:4 -msgid "shared with you by" -msgstr "" - -#: templates/part.editcalendar.php:9 -msgid "New calendar" -msgstr "Neien Kalenner" - -#: templates/part.editcalendar.php:9 -msgid "Edit calendar" -msgstr "Kalenner editéieren" - -#: templates/part.editcalendar.php:12 -msgid "Displayname" -msgstr "Numm" - -#: templates/part.editcalendar.php:23 -msgid "Active" -msgstr "Aktiv" - -#: templates/part.editcalendar.php:29 -msgid "Calendar color" -msgstr "Fuerf vum Kalenner" - -#: templates/part.editcalendar.php:42 -msgid "Save" -msgstr "Späicheren" - -#: templates/part.editcalendar.php:42 templates/part.editevent.php:8 -#: templates/part.newevent.php:6 -msgid "Submit" -msgstr "Fortschécken" - -#: templates/part.editcalendar.php:43 -msgid "Cancel" -msgstr "Ofbriechen" - -#: templates/part.editevent.php:1 -msgid "Edit an event" -msgstr "Evenement editéieren" - -#: templates/part.editevent.php:10 -msgid "Export" -msgstr "Export" - -#: templates/part.eventform.php:8 templates/part.showevent.php:3 -msgid "Eventinfo" -msgstr "" - -#: templates/part.eventform.php:9 templates/part.showevent.php:4 -msgid "Repeating" -msgstr "" - -#: templates/part.eventform.php:10 templates/part.showevent.php:5 -msgid "Alarm" -msgstr "" - -#: templates/part.eventform.php:11 templates/part.showevent.php:6 -msgid "Attendees" -msgstr "" - -#: templates/part.eventform.php:13 -msgid "Share" -msgstr "" - -#: templates/part.eventform.php:21 -msgid "Title of the Event" -msgstr "Titel vum Evenement" - -#: templates/part.eventform.php:27 templates/part.showevent.php:19 -msgid "Category" -msgstr "Kategorie" - -#: templates/part.eventform.php:29 -msgid "Separate categories with commas" -msgstr "" - -#: templates/part.eventform.php:30 -msgid "Edit categories" -msgstr "" - -#: templates/part.eventform.php:56 templates/part.showevent.php:52 -msgid "All Day Event" -msgstr "Ganz-Dag Evenement" - -#: templates/part.eventform.php:60 templates/part.showevent.php:56 -msgid "From" -msgstr "Vun" - -#: templates/part.eventform.php:68 templates/part.showevent.php:64 -msgid "To" -msgstr "Fir" - -#: templates/part.eventform.php:76 templates/part.showevent.php:72 -msgid "Advanced options" -msgstr "Avancéiert Optiounen" - -#: templates/part.eventform.php:81 templates/part.showevent.php:77 -msgid "Location" -msgstr "Uert" - -#: templates/part.eventform.php:83 -msgid "Location of the Event" -msgstr "Uert vum Evenement" - -#: templates/part.eventform.php:89 templates/part.showevent.php:85 -msgid "Description" -msgstr "Beschreiwung" - -#: templates/part.eventform.php:91 -msgid "Description of the Event" -msgstr "Beschreiwung vum Evenement" - -#: templates/part.eventform.php:100 templates/part.showevent.php:95 -msgid "Repeat" -msgstr "Widderhuelen" - -#: templates/part.eventform.php:107 templates/part.showevent.php:102 -msgid "Advanced" -msgstr "Erweidert" - -#: templates/part.eventform.php:151 templates/part.showevent.php:146 -msgid "Select weekdays" -msgstr "Wochendeeg auswielen" - -#: templates/part.eventform.php:164 templates/part.eventform.php:177 -#: templates/part.showevent.php:159 templates/part.showevent.php:172 -msgid "Select days" -msgstr "Deeg auswielen" - -#: templates/part.eventform.php:169 templates/part.showevent.php:164 -msgid "and the events day of year." -msgstr "" - -#: templates/part.eventform.php:182 templates/part.showevent.php:177 -msgid "and the events day of month." -msgstr "" - -#: templates/part.eventform.php:190 templates/part.showevent.php:185 -msgid "Select months" -msgstr "Méint auswielen" - -#: templates/part.eventform.php:203 templates/part.showevent.php:198 -msgid "Select weeks" -msgstr "Wochen auswielen" - -#: templates/part.eventform.php:208 templates/part.showevent.php:203 -msgid "and the events week of year." -msgstr "" - -#: templates/part.eventform.php:214 templates/part.showevent.php:209 -msgid "Interval" -msgstr "Intervall" - -#: templates/part.eventform.php:220 templates/part.showevent.php:215 -msgid "End" -msgstr "Enn" - -#: templates/part.eventform.php:233 templates/part.showevent.php:228 -msgid "occurrences" -msgstr "Virkommes" - -#: templates/part.import.php:14 -msgid "create a new calendar" -msgstr "E neie Kalenner uleeën" - -#: templates/part.import.php:17 -msgid "Import a calendar file" -msgstr "E Kalenner Fichier importéieren" - -#: templates/part.import.php:24 -msgid "Please choose a calendar" -msgstr "" - -#: templates/part.import.php:36 -msgid "Name of new calendar" -msgstr "Numm vum neie Kalenner" - -#: templates/part.import.php:44 -msgid "Take an available name!" -msgstr "" - -#: templates/part.import.php:45 -msgid "" -"A Calendar with this name already exists. If you continue anyhow, these " -"calendars will be merged." -msgstr "" - -#: templates/part.import.php:47 -msgid "Import" -msgstr "Import" - -#: templates/part.import.php:56 -msgid "Close Dialog" -msgstr "Dialog zoumaachen" - -#: templates/part.newevent.php:1 -msgid "Create a new event" -msgstr "En Evenement maachen" - -#: templates/part.showevent.php:1 -msgid "View an event" -msgstr "" - -#: templates/part.showevent.php:23 -msgid "No categories selected" -msgstr "" - -#: templates/part.showevent.php:37 -msgid "of" -msgstr "" - -#: templates/part.showevent.php:59 templates/part.showevent.php:67 -msgid "at" -msgstr "" - -#: templates/settings.php:10 -msgid "General" -msgstr "" - -#: templates/settings.php:15 -msgid "Timezone" -msgstr "Zäitzon" - -#: templates/settings.php:47 -msgid "Update timezone automatically" -msgstr "" - -#: templates/settings.php:52 -msgid "Time format" -msgstr "" - -#: templates/settings.php:57 -msgid "24h" -msgstr "24h" - -#: templates/settings.php:58 -msgid "12h" -msgstr "12h" - -#: templates/settings.php:64 -msgid "Start week on" -msgstr "" - -#: templates/settings.php:76 -msgid "Cache" -msgstr "" - -#: templates/settings.php:80 -msgid "Clear cache for repeating events" -msgstr "" - -#: templates/settings.php:85 -msgid "URLs" -msgstr "" - -#: templates/settings.php:87 -msgid "Calendar CalDAV syncing addresses" -msgstr "" - -#: templates/settings.php:87 -msgid "more info" -msgstr "" - -#: templates/settings.php:89 -msgid "Primary address (Kontact et al)" -msgstr "" - -#: templates/settings.php:91 -msgid "iOS/OS X" -msgstr "" - -#: templates/settings.php:93 -msgid "Read only iCalendar link(s)" -msgstr "" - -#: templates/share.dropdown.php:20 -msgid "Users" -msgstr "" - -#: templates/share.dropdown.php:21 -msgid "select users" -msgstr "" - -#: templates/share.dropdown.php:36 templates/share.dropdown.php:62 -msgid "Editable" -msgstr "" - -#: templates/share.dropdown.php:48 -msgid "Groups" -msgstr "" - -#: templates/share.dropdown.php:49 -msgid "select groups" -msgstr "" - -#: templates/share.dropdown.php:75 -msgid "make public" -msgstr "" diff --git a/l10n/lb/contacts.po b/l10n/lb/contacts.po deleted file mode 100644 index 2d22dc6b1e6e8a6769b5dedc2f2a9dbad1d8a40c..0000000000000000000000000000000000000000 --- a/l10n/lb/contacts.po +++ /dev/null @@ -1,953 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# , 2011, 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-24 02:02+0200\n" -"PO-Revision-Date: 2012-08-24 00:02+0000\n" -"Last-Translator: I Robot \n" -"Language-Team: Luxembourgish (http://www.transifex.com/projects/p/owncloud/language/lb/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: lb\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: ajax/addressbook/activate.php:24 ajax/addressbook/update.php:32 -msgid "Error (de)activating addressbook." -msgstr "Fehler beim (de)aktivéieren vum Adressbuch." - -#: ajax/addressbook/delete.php:31 ajax/addressbook/update.php:20 -#: ajax/contact/addproperty.php:42 ajax/contact/delete.php:32 -#: ajax/contact/saveproperty.php:39 -msgid "id is not set." -msgstr "ID ass net gesat." - -#: ajax/addressbook/update.php:24 -msgid "Cannot update addressbook with an empty name." -msgstr "" - -#: ajax/addressbook/update.php:28 -msgid "Error updating addressbook." -msgstr "Fehler beim updaten vum Adressbuch." - -#: ajax/categories/categoriesfor.php:17 -msgid "No ID provided" -msgstr "Keng ID uginn" - -#: ajax/categories/categoriesfor.php:34 -msgid "Error setting checksum." -msgstr "Fehler beim setzen vun der Checksum." - -#: ajax/categories/delete.php:19 -msgid "No categories selected for deletion." -msgstr "Keng Kategorien fir ze läschen ausgewielt." - -#: ajax/categories/delete.php:26 -msgid "No address books found." -msgstr "Keen Adressbuch fonnt." - -#: ajax/categories/delete.php:34 -msgid "No contacts found." -msgstr "Keng Kontakter fonnt." - -#: ajax/contact/add.php:47 -msgid "There was an error adding the contact." -msgstr "Fehler beim bäisetzen vun engem Kontakt." - -#: ajax/contact/addproperty.php:39 ajax/contact/saveproperty.php:36 -msgid "element name is not set." -msgstr "" - -#: ajax/contact/addproperty.php:46 -msgid "Could not parse contact: " -msgstr "" - -#: ajax/contact/addproperty.php:56 -msgid "Cannot add empty property." -msgstr "Ka keng eidel Proprietéit bäisetzen." - -#: ajax/contact/addproperty.php:67 -msgid "At least one of the address fields has to be filled out." -msgstr "" - -#: ajax/contact/addproperty.php:76 -msgid "Trying to add duplicate property: " -msgstr "Probéieren duebel Proprietéit bäi ze setzen:" - -#: ajax/contact/addproperty.php:115 ajax/contact/saveproperty.php:93 -msgid "Missing IM parameter." -msgstr "" - -#: ajax/contact/addproperty.php:119 ajax/contact/saveproperty.php:97 -msgid "Unknown IM: " -msgstr "" - -#: ajax/contact/deleteproperty.php:37 -msgid "Information about vCard is incorrect. Please reload the page." -msgstr "Informatioun iwwert vCard ass net richteg. Lued d'Säit wegl nei." - -#: ajax/contact/details.php:31 -msgid "Missing ID" -msgstr "ID fehlt" - -#: ajax/contact/details.php:36 -msgid "Error parsing VCard for ID: \"" -msgstr "" - -#: ajax/contact/saveproperty.php:42 -msgid "checksum is not set." -msgstr "" - -#: ajax/contact/saveproperty.php:62 -msgid "Information about vCard is incorrect. Please reload the page: " -msgstr "" - -#: ajax/contact/saveproperty.php:69 -msgid "Something went FUBAR. " -msgstr "" - -#: ajax/currentphoto.php:30 ajax/oc_photo.php:28 ajax/uploadphoto.php:36 -#: ajax/uploadphoto.php:68 -msgid "No contact ID was submitted." -msgstr "Kontakt ID ass net mat geschéckt ginn." - -#: ajax/currentphoto.php:36 -msgid "Error reading contact photo." -msgstr "Fehler beim liesen vun der Kontakt Photo." - -#: ajax/currentphoto.php:48 -msgid "Error saving temporary file." -msgstr "Fehler beim späicheren vum temporäre Fichier." - -#: ajax/currentphoto.php:51 -msgid "The loading photo is not valid." -msgstr "Déi geluede Photo ass net gülteg." - -#: ajax/editname.php:31 -msgid "Contact ID is missing." -msgstr "Kontakt ID fehlt." - -#: ajax/oc_photo.php:32 -msgid "No photo path was submitted." -msgstr "" - -#: ajax/oc_photo.php:39 -msgid "File doesn't exist:" -msgstr "Fichier existéiert net:" - -#: ajax/oc_photo.php:44 ajax/oc_photo.php:47 -msgid "Error loading image." -msgstr "Fehler beim lueden vum Bild." - -#: ajax/savecrop.php:69 -msgid "Error getting contact object." -msgstr "" - -#: ajax/savecrop.php:79 -msgid "Error getting PHOTO property." -msgstr "" - -#: ajax/savecrop.php:98 -msgid "Error saving contact." -msgstr "" - -#: ajax/savecrop.php:109 -msgid "Error resizing image" -msgstr "" - -#: ajax/savecrop.php:112 -msgid "Error cropping image" -msgstr "" - -#: ajax/savecrop.php:115 -msgid "Error creating temporary image" -msgstr "" - -#: ajax/savecrop.php:118 -msgid "Error finding image: " -msgstr "" - -#: ajax/uploadimport.php:44 ajax/uploadimport.php:76 -msgid "Error uploading contacts to storage." -msgstr "" - -#: ajax/uploadimport.php:61 ajax/uploadphoto.php:77 -msgid "There is no error, the file uploaded with success" -msgstr "" - -#: ajax/uploadimport.php:62 ajax/uploadphoto.php:78 -msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" -msgstr "" - -#: ajax/uploadimport.php:63 ajax/uploadphoto.php:79 -msgid "" -"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " -"the HTML form" -msgstr "" - -#: ajax/uploadimport.php:64 ajax/uploadphoto.php:80 -msgid "The uploaded file was only partially uploaded" -msgstr "" - -#: ajax/uploadimport.php:65 ajax/uploadphoto.php:81 -msgid "No file was uploaded" -msgstr "Et ass kee Fichier ropgeluede ginn" - -#: ajax/uploadimport.php:66 ajax/uploadphoto.php:82 -msgid "Missing a temporary folder" -msgstr "" - -#: ajax/uploadphoto.php:59 ajax/uploadphoto.php:109 -msgid "Couldn't save temporary image: " -msgstr "" - -#: ajax/uploadphoto.php:62 ajax/uploadphoto.php:112 -msgid "Couldn't load temporary image: " -msgstr "" - -#: ajax/uploadphoto.php:71 -msgid "No file was uploaded. Unknown error" -msgstr "" - -#: appinfo/app.php:21 -msgid "Contacts" -msgstr "Kontakter" - -#: js/contacts.js:71 -msgid "Sorry, this functionality has not been implemented yet" -msgstr "" - -#: js/contacts.js:71 -msgid "Not implemented" -msgstr "" - -#: js/contacts.js:76 -msgid "Couldn't get a valid address." -msgstr "" - -#: js/contacts.js:76 js/contacts.js:365 js/contacts.js:381 js/contacts.js:393 -#: js/contacts.js:723 js/contacts.js:763 js/contacts.js:789 js/contacts.js:921 -#: js/contacts.js:927 js/contacts.js:939 js/contacts.js:976 -#: js/contacts.js:1250 js/contacts.js:1258 js/contacts.js:1267 -#: js/contacts.js:1302 js/contacts.js:1338 js/contacts.js:1353 -#: js/contacts.js:1379 js/contacts.js:1609 js/contacts.js:1644 -#: js/contacts.js:1664 js/settings.js:26 js/settings.js:43 js/settings.js:68 -msgid "Error" -msgstr "Fehler" - -#: js/contacts.js:424 -msgid "You do not have permission to add contacts to " -msgstr "" - -#: js/contacts.js:425 -msgid "Please select one of your own address books." -msgstr "" - -#: js/contacts.js:425 -msgid "Permission error" -msgstr "" - -#: js/contacts.js:763 -msgid "This property has to be non-empty." -msgstr "" - -#: js/contacts.js:789 -msgid "Couldn't serialize elements." -msgstr "" - -#: js/contacts.js:921 js/contacts.js:939 -msgid "" -"'deleteProperty' called without type argument. Please report at " -"bugs.owncloud.org" -msgstr "" - -#: js/contacts.js:958 -msgid "Edit name" -msgstr "" - -#: js/contacts.js:1250 -msgid "No files selected for upload." -msgstr "" - -#: js/contacts.js:1258 -msgid "" -"The file you are trying to upload exceed the maximum size for file uploads " -"on this server." -msgstr "" - -#: js/contacts.js:1322 -msgid "Error loading profile picture." -msgstr "" - -#: js/contacts.js:1457 js/contacts.js:1498 js/contacts.js:1517 -#: js/contacts.js:1560 -msgid "Select type" -msgstr "" - -#: js/contacts.js:1578 -msgid "" -"Some contacts are marked for deletion, but not deleted yet. Please wait for " -"them to be deleted." -msgstr "" - -#: js/contacts.js:1649 -msgid "Do you want to merge these address books?" -msgstr "" - -#: js/loader.js:49 -msgid "Result: " -msgstr "Resultat: " - -#: js/loader.js:49 -msgid " imported, " -msgstr " importéiert, " - -#: js/loader.js:49 -msgid " failed." -msgstr "" - -#: js/settings.js:68 -msgid "Displayname cannot be empty." -msgstr "" - -#: lib/app.php:36 -msgid "Addressbook not found: " -msgstr "" - -#: lib/app.php:52 -msgid "This is not your addressbook." -msgstr "Dat do ass net däin Adressbuch." - -#: lib/app.php:71 -msgid "Contact could not be found." -msgstr "Konnt den Kontakt net fannen." - -#: lib/app.php:116 -msgid "Jabber" -msgstr "" - -#: lib/app.php:121 -msgid "AIM" -msgstr "" - -#: lib/app.php:126 -msgid "MSN" -msgstr "" - -#: lib/app.php:131 -msgid "Twitter" -msgstr "" - -#: lib/app.php:136 -msgid "GoogleTalk" -msgstr "" - -#: lib/app.php:141 -msgid "Facebook" -msgstr "" - -#: lib/app.php:146 -msgid "XMPP" -msgstr "" - -#: lib/app.php:151 -msgid "ICQ" -msgstr "" - -#: lib/app.php:156 -msgid "Yahoo" -msgstr "" - -#: lib/app.php:161 -msgid "Skype" -msgstr "" - -#: lib/app.php:166 -msgid "QQ" -msgstr "" - -#: lib/app.php:171 -msgid "GaduGadu" -msgstr "" - -#: lib/app.php:194 lib/app.php:202 lib/app.php:213 lib/app.php:266 -msgid "Work" -msgstr "Aarbecht" - -#: lib/app.php:195 lib/app.php:200 lib/app.php:214 -msgid "Home" -msgstr "Doheem" - -#: lib/app.php:196 lib/app.php:209 lib/app.php:262 lib/vcard.php:593 -msgid "Other" -msgstr "" - -#: lib/app.php:201 -msgid "Mobile" -msgstr "GSM" - -#: lib/app.php:203 -msgid "Text" -msgstr "SMS" - -#: lib/app.php:204 -msgid "Voice" -msgstr "Voice" - -#: lib/app.php:205 -msgid "Message" -msgstr "Message" - -#: lib/app.php:206 -msgid "Fax" -msgstr "Fax" - -#: lib/app.php:207 -msgid "Video" -msgstr "Video" - -#: lib/app.php:208 -msgid "Pager" -msgstr "Pager" - -#: lib/app.php:215 -msgid "Internet" -msgstr "Internet" - -#: lib/app.php:252 templates/part.contact.php:45 -#: templates/part.contact.php:128 -msgid "Birthday" -msgstr "Gebuertsdag" - -#: lib/app.php:253 -msgid "Business" -msgstr "" - -#: lib/app.php:254 -msgid "Call" -msgstr "" - -#: lib/app.php:255 -msgid "Clients" -msgstr "" - -#: lib/app.php:256 -msgid "Deliverer" -msgstr "" - -#: lib/app.php:257 -msgid "Holidays" -msgstr "" - -#: lib/app.php:258 -msgid "Ideas" -msgstr "" - -#: lib/app.php:259 -msgid "Journey" -msgstr "" - -#: lib/app.php:260 -msgid "Jubilee" -msgstr "" - -#: lib/app.php:261 -msgid "Meeting" -msgstr "" - -#: lib/app.php:263 -msgid "Personal" -msgstr "" - -#: lib/app.php:264 -msgid "Projects" -msgstr "" - -#: lib/app.php:265 -msgid "Questions" -msgstr "" - -#: lib/hooks.php:102 -msgid "{name}'s Birthday" -msgstr "{name} säi Gebuertsdag" - -#: lib/search.php:15 -msgid "Contact" -msgstr "Kontakt" - -#: lib/vcard.php:408 -msgid "You do not have the permissions to edit this contact." -msgstr "" - -#: lib/vcard.php:483 -msgid "You do not have the permissions to delete this contact." -msgstr "" - -#: templates/index.php:14 -msgid "Add Contact" -msgstr "Kontakt bäisetzen" - -#: templates/index.php:15 templates/index.php:16 templates/part.import.php:17 -msgid "Import" -msgstr "" - -#: templates/index.php:18 -msgid "Settings" -msgstr "" - -#: templates/index.php:18 templates/settings.php:9 -msgid "Addressbooks" -msgstr "Adressbicher " - -#: templates/index.php:36 templates/part.import.php:24 -msgid "Close" -msgstr "Zoumaachen" - -#: templates/index.php:37 -msgid "Keyboard shortcuts" -msgstr "" - -#: templates/index.php:39 -msgid "Navigation" -msgstr "" - -#: templates/index.php:42 -msgid "Next contact in list" -msgstr "" - -#: templates/index.php:44 -msgid "Previous contact in list" -msgstr "" - -#: templates/index.php:46 -msgid "Expand/collapse current addressbook" -msgstr "" - -#: templates/index.php:48 -msgid "Next addressbook" -msgstr "" - -#: templates/index.php:50 -msgid "Previous addressbook" -msgstr "" - -#: templates/index.php:54 -msgid "Actions" -msgstr "" - -#: templates/index.php:57 -msgid "Refresh contacts list" -msgstr "" - -#: templates/index.php:59 -msgid "Add new contact" -msgstr "" - -#: templates/index.php:61 -msgid "Add new addressbook" -msgstr "" - -#: templates/index.php:63 -msgid "Delete current contact" -msgstr "" - -#: templates/part.contact.php:17 -msgid "Drop photo to upload" -msgstr "" - -#: templates/part.contact.php:19 -msgid "Delete current photo" -msgstr "" - -#: templates/part.contact.php:20 -msgid "Edit current photo" -msgstr "" - -#: templates/part.contact.php:21 -msgid "Upload new photo" -msgstr "" - -#: templates/part.contact.php:22 -msgid "Select photo from ownCloud" -msgstr "" - -#: templates/part.contact.php:35 -msgid "Format custom, Short name, Full name, Reverse or Reverse with comma" -msgstr "" - -#: templates/part.contact.php:36 -msgid "Edit name details" -msgstr "" - -#: templates/part.contact.php:39 templates/part.contact.php:40 -#: templates/part.contact.php:126 -msgid "Organization" -msgstr "Firma" - -#: templates/part.contact.php:40 templates/part.contact.php:42 -#: templates/part.contact.php:44 templates/part.contact.php:46 -#: templates/part.contact.php:50 templates/settings.php:36 -msgid "Delete" -msgstr "Läschen" - -#: templates/part.contact.php:41 templates/part.contact.php:127 -msgid "Nickname" -msgstr "Spëtznumm" - -#: templates/part.contact.php:42 -msgid "Enter nickname" -msgstr "Gëff e Spëtznumm an" - -#: templates/part.contact.php:43 templates/part.contact.php:134 -msgid "Web site" -msgstr "" - -#: templates/part.contact.php:44 -msgid "http://www.somesite.com" -msgstr "" - -#: templates/part.contact.php:44 -msgid "Go to web site" -msgstr "" - -#: templates/part.contact.php:46 -msgid "dd-mm-yyyy" -msgstr "dd-mm-yyyy" - -#: templates/part.contact.php:47 templates/part.contact.php:135 -msgid "Groups" -msgstr "Gruppen" - -#: templates/part.contact.php:49 -msgid "Separate groups with commas" -msgstr "" - -#: templates/part.contact.php:50 -msgid "Edit groups" -msgstr "Gruppen editéieren" - -#: templates/part.contact.php:59 templates/part.contact.php:73 -#: templates/part.contact.php:98 -msgid "Preferred" -msgstr "" - -#: templates/part.contact.php:60 -msgid "Please specify a valid email address." -msgstr "" - -#: templates/part.contact.php:60 -msgid "Enter email address" -msgstr "" - -#: templates/part.contact.php:64 -msgid "Mail to address" -msgstr "" - -#: templates/part.contact.php:65 -msgid "Delete email address" -msgstr "" - -#: templates/part.contact.php:75 -msgid "Enter phone number" -msgstr "Telefonsnummer aginn" - -#: templates/part.contact.php:79 -msgid "Delete phone number" -msgstr "Telefonsnummer läschen" - -#: templates/part.contact.php:100 -msgid "Instant Messenger" -msgstr "" - -#: templates/part.contact.php:101 -msgid "Delete IM" -msgstr "" - -#: templates/part.contact.php:110 -msgid "View on map" -msgstr "Op da Kaart uweisen" - -#: templates/part.contact.php:110 -msgid "Edit address details" -msgstr "Adress Detailer editéieren" - -#: templates/part.contact.php:116 -msgid "Add notes here." -msgstr "" - -#: templates/part.contact.php:124 -msgid "Add field" -msgstr "" - -#: templates/part.contact.php:129 -msgid "Phone" -msgstr "Telefon" - -#: templates/part.contact.php:130 -msgid "Email" -msgstr "Email" - -#: templates/part.contact.php:131 -msgid "Instant Messaging" -msgstr "" - -#: templates/part.contact.php:132 -msgid "Address" -msgstr "Adress" - -#: templates/part.contact.php:133 -msgid "Note" -msgstr "Note" - -#: templates/part.contact.php:138 -msgid "Download contact" -msgstr "Kontakt eroflueden" - -#: templates/part.contact.php:139 -msgid "Delete contact" -msgstr "Kontakt läschen" - -#: templates/part.cropphoto.php:65 -msgid "The temporary image has been removed from cache." -msgstr "" - -#: templates/part.edit_address_dialog.php:6 -msgid "Edit address" -msgstr "" - -#: templates/part.edit_address_dialog.php:10 -msgid "Type" -msgstr "Typ" - -#: templates/part.edit_address_dialog.php:18 -#: templates/part.edit_address_dialog.php:21 -msgid "PO Box" -msgstr "Postleetzuel" - -#: templates/part.edit_address_dialog.php:24 -msgid "Street address" -msgstr "" - -#: templates/part.edit_address_dialog.php:27 -msgid "Street and number" -msgstr "" - -#: templates/part.edit_address_dialog.php:30 -msgid "Extended" -msgstr "Erweidert" - -#: templates/part.edit_address_dialog.php:33 -msgid "Apartment number etc." -msgstr "" - -#: templates/part.edit_address_dialog.php:36 -#: templates/part.edit_address_dialog.php:39 -msgid "City" -msgstr "Staat" - -#: templates/part.edit_address_dialog.php:42 -msgid "Region" -msgstr "Regioun" - -#: templates/part.edit_address_dialog.php:45 -msgid "E.g. state or province" -msgstr "" - -#: templates/part.edit_address_dialog.php:48 -msgid "Zipcode" -msgstr "Postleetzuel" - -#: templates/part.edit_address_dialog.php:51 -msgid "Postal code" -msgstr "" - -#: templates/part.edit_address_dialog.php:54 -#: templates/part.edit_address_dialog.php:57 -msgid "Country" -msgstr "Land" - -#: templates/part.edit_name_dialog.php:16 -msgid "Addressbook" -msgstr "Adressbuch" - -#: templates/part.edit_name_dialog.php:23 -msgid "Hon. prefixes" -msgstr "" - -#: templates/part.edit_name_dialog.php:27 -msgid "Miss" -msgstr "" - -#: templates/part.edit_name_dialog.php:28 -msgid "Ms" -msgstr "" - -#: templates/part.edit_name_dialog.php:29 -msgid "Mr" -msgstr "M" - -#: templates/part.edit_name_dialog.php:30 -msgid "Sir" -msgstr "Sir" - -#: templates/part.edit_name_dialog.php:31 -msgid "Mrs" -msgstr "Mme" - -#: templates/part.edit_name_dialog.php:32 -msgid "Dr" -msgstr "Dr" - -#: templates/part.edit_name_dialog.php:35 -msgid "Given name" -msgstr "Virnumm" - -#: templates/part.edit_name_dialog.php:37 -msgid "Additional names" -msgstr "Weider Nimm" - -#: templates/part.edit_name_dialog.php:39 -msgid "Family name" -msgstr "Famillje Numm" - -#: templates/part.edit_name_dialog.php:41 -msgid "Hon. suffixes" -msgstr "" - -#: templates/part.edit_name_dialog.php:45 -msgid "J.D." -msgstr "" - -#: templates/part.edit_name_dialog.php:46 -msgid "M.D." -msgstr "" - -#: templates/part.edit_name_dialog.php:47 -msgid "D.O." -msgstr "" - -#: templates/part.edit_name_dialog.php:48 -msgid "D.C." -msgstr "" - -#: templates/part.edit_name_dialog.php:49 -msgid "Ph.D." -msgstr "Ph.D." - -#: templates/part.edit_name_dialog.php:50 -msgid "Esq." -msgstr "" - -#: templates/part.edit_name_dialog.php:51 -msgid "Jr." -msgstr "Jr." - -#: templates/part.edit_name_dialog.php:52 -msgid "Sn." -msgstr "Sn." - -#: templates/part.import.php:1 -msgid "Import a contacts file" -msgstr "" - -#: templates/part.import.php:6 -msgid "Please choose the addressbook" -msgstr "" - -#: templates/part.import.php:10 -msgid "create a new addressbook" -msgstr "" - -#: templates/part.import.php:15 -msgid "Name of new addressbook" -msgstr "" - -#: templates/part.import.php:20 -msgid "Importing contacts" -msgstr "" - -#: templates/part.no_contacts.php:3 -msgid "You have no contacts in your addressbook." -msgstr "" - -#: templates/part.no_contacts.php:5 -msgid "Add contact" -msgstr "" - -#: templates/part.selectaddressbook.php:1 -msgid "Select Address Books" -msgstr "" - -#: templates/part.selectaddressbook.php:27 -msgid "Enter name" -msgstr "" - -#: templates/part.selectaddressbook.php:29 -msgid "Enter description" -msgstr "" - -#: templates/settings.php:3 -msgid "CardDAV syncing addresses" -msgstr "" - -#: templates/settings.php:3 -msgid "more info" -msgstr "" - -#: templates/settings.php:5 -msgid "Primary address (Kontact et al)" -msgstr "" - -#: templates/settings.php:7 -msgid "iOS/OS X" -msgstr "iOS/OS X" - -#: templates/settings.php:20 -msgid "Show CardDav link" -msgstr "" - -#: templates/settings.php:23 -msgid "Show read-only VCF link" -msgstr "" - -#: templates/settings.php:26 -msgid "Share" -msgstr "" - -#: templates/settings.php:29 -msgid "Download" -msgstr "Download" - -#: templates/settings.php:33 -msgid "Edit" -msgstr "Editéieren" - -#: templates/settings.php:43 -msgid "New Address Book" -msgstr "Neit Adressbuch" - -#: templates/settings.php:44 -msgid "Name" -msgstr "" - -#: templates/settings.php:45 -msgid "Description" -msgstr "" - -#: templates/settings.php:46 -msgid "Save" -msgstr "Späicheren" - -#: templates/settings.php:47 -msgid "Cancel" -msgstr "Ofbriechen" - -#: templates/settings.php:52 -msgid "More..." -msgstr "" diff --git a/l10n/lb/core.po b/l10n/lb/core.po index eeafec6d3bd4cb83269a5d8c0bed809470265ac9..89fe2cfec9dfb4adc2a274ad86565bbf9b0fae79 100644 --- a/l10n/lb/core.po +++ b/l10n/lb/core.po @@ -8,9 +8,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-16 02:04+0200\n" -"PO-Revision-Date: 2012-10-16 00:05+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-11-16 00:02+0100\n" +"PO-Revision-Date: 2012-11-14 23:13+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Luxembourgish (http://www.transifex.com/projects/p/owncloud/language/lb/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -18,209 +18,241 @@ msgstr "" "Language: lb\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: ajax/vcategories/add.php:23 ajax/vcategories/delete.php:23 -msgid "Application name not provided." -msgstr "Numm vun der Applikatioun ass net uginn." +#: ajax/vcategories/add.php:26 ajax/vcategories/edit.php:25 +msgid "Category type not provided." +msgstr "" -#: ajax/vcategories/add.php:29 +#: ajax/vcategories/add.php:30 msgid "No category to add?" msgstr "Keng Kategorie fir bäizesetzen?" -#: ajax/vcategories/add.php:36 +#: ajax/vcategories/add.php:37 msgid "This category already exists: " msgstr "Des Kategorie existéiert schonn:" -#: js/js.js:238 templates/layout.user.php:49 templates/layout.user.php:50 +#: ajax/vcategories/addToFavorites.php:26 ajax/vcategories/delete.php:27 +#: ajax/vcategories/favorites.php:24 +#: ajax/vcategories/removeFromFavorites.php:26 +msgid "Object type not provided." +msgstr "" + +#: ajax/vcategories/addToFavorites.php:30 +#: ajax/vcategories/removeFromFavorites.php:30 +#, php-format +msgid "%s ID not provided." +msgstr "" + +#: ajax/vcategories/addToFavorites.php:35 +#, php-format +msgid "Error adding %s to favorites." +msgstr "" + +#: ajax/vcategories/delete.php:35 js/oc-vcategories.js:136 +msgid "No categories selected for deletion." +msgstr "Keng Kategorien ausgewielt fir ze läschen." + +#: ajax/vcategories/removeFromFavorites.php:35 +#, php-format +msgid "Error removing %s from favorites." +msgstr "" + +#: js/js.js:243 templates/layout.user.php:59 templates/layout.user.php:60 msgid "Settings" msgstr "Astellungen" -#: js/js.js:670 -msgid "January" -msgstr "Januar" +#: js/js.js:688 +msgid "seconds ago" +msgstr "" -#: js/js.js:670 -msgid "February" -msgstr "Februar" +#: js/js.js:689 +msgid "1 minute ago" +msgstr "" -#: js/js.js:670 -msgid "March" -msgstr "Mäerz" +#: js/js.js:690 +msgid "{minutes} minutes ago" +msgstr "" -#: js/js.js:670 -msgid "April" -msgstr "Abrëll" +#: js/js.js:691 +msgid "1 hour ago" +msgstr "" -#: js/js.js:670 -msgid "May" -msgstr "Mee" +#: js/js.js:692 +msgid "{hours} hours ago" +msgstr "" -#: js/js.js:670 -msgid "June" -msgstr "Juni" +#: js/js.js:693 +msgid "today" +msgstr "" -#: js/js.js:671 -msgid "July" -msgstr "Juli" +#: js/js.js:694 +msgid "yesterday" +msgstr "" -#: js/js.js:671 -msgid "August" -msgstr "August" +#: js/js.js:695 +msgid "{days} days ago" +msgstr "" -#: js/js.js:671 -msgid "September" -msgstr "September" +#: js/js.js:696 +msgid "last month" +msgstr "" -#: js/js.js:671 -msgid "October" -msgstr "Oktober" +#: js/js.js:697 +msgid "{months} months ago" +msgstr "" -#: js/js.js:671 -msgid "November" -msgstr "November" +#: js/js.js:698 +msgid "months ago" +msgstr "" -#: js/js.js:671 -msgid "December" -msgstr "Dezember" +#: js/js.js:699 +msgid "last year" +msgstr "" + +#: js/js.js:700 +msgid "years ago" +msgstr "" -#: js/oc-dialogs.js:123 +#: js/oc-dialogs.js:126 msgid "Choose" msgstr "" -#: js/oc-dialogs.js:143 js/oc-dialogs.js:163 +#: js/oc-dialogs.js:146 js/oc-dialogs.js:166 msgid "Cancel" msgstr "Ofbriechen" -#: js/oc-dialogs.js:159 +#: js/oc-dialogs.js:162 msgid "No" msgstr "Nee" -#: js/oc-dialogs.js:160 +#: js/oc-dialogs.js:163 msgid "Yes" msgstr "Jo" -#: js/oc-dialogs.js:177 +#: js/oc-dialogs.js:180 msgid "Ok" msgstr "OK" -#: js/oc-vcategories.js:68 -msgid "No categories selected for deletion." -msgstr "Keng Kategorien ausgewielt fir ze läschen." +#: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102 +#: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162 +msgid "The object type is not specified." +msgstr "" -#: js/oc-vcategories.js:68 js/share.js:114 js/share.js:121 js/share.js:497 -#: js/share.js:509 +#: js/oc-vcategories.js:95 js/oc-vcategories.js:125 js/oc-vcategories.js:136 +#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:525 +#: js/share.js:537 msgid "Error" msgstr "Fehler" -#: js/share.js:103 +#: js/oc-vcategories.js:179 +msgid "The app name is not specified." +msgstr "" + +#: js/oc-vcategories.js:194 +msgid "The required file {file} is not installed!" +msgstr "" + +#: js/share.js:124 msgid "Error while sharing" msgstr "" -#: js/share.js:114 +#: js/share.js:135 msgid "Error while unsharing" msgstr "" -#: js/share.js:121 +#: js/share.js:142 msgid "Error while changing permissions" msgstr "" -#: js/share.js:130 -msgid "Shared with you and the group" -msgstr "" - -#: js/share.js:130 -msgid "by" +#: js/share.js:151 +msgid "Shared with you and the group {group} by {owner}" msgstr "" -#: js/share.js:132 -msgid "Shared with you by" +#: js/share.js:153 +msgid "Shared with you by {owner}" msgstr "" -#: js/share.js:137 +#: js/share.js:158 msgid "Share with" msgstr "" -#: js/share.js:142 +#: js/share.js:163 msgid "Share with link" msgstr "" -#: js/share.js:143 +#: js/share.js:164 msgid "Password protect" msgstr "" -#: js/share.js:147 templates/installation.php:42 templates/login.php:24 +#: js/share.js:168 templates/installation.php:42 templates/login.php:24 #: templates/verify.php:13 msgid "Password" msgstr "Passwuert" -#: js/share.js:152 +#: js/share.js:173 msgid "Set expiration date" msgstr "" -#: js/share.js:153 +#: js/share.js:174 msgid "Expiration date" msgstr "" -#: js/share.js:185 +#: js/share.js:206 msgid "Share via email:" msgstr "" -#: js/share.js:187 +#: js/share.js:208 msgid "No people found" msgstr "" -#: js/share.js:214 +#: js/share.js:235 msgid "Resharing is not allowed" msgstr "" -#: js/share.js:250 -msgid "Shared in" -msgstr "" - -#: js/share.js:250 -msgid "with" +#: js/share.js:271 +msgid "Shared in {item} with {user}" msgstr "" -#: js/share.js:271 +#: js/share.js:292 msgid "Unshare" msgstr "" -#: js/share.js:283 +#: js/share.js:304 msgid "can edit" msgstr "" -#: js/share.js:285 +#: js/share.js:306 msgid "access control" msgstr "" -#: js/share.js:288 +#: js/share.js:309 msgid "create" -msgstr "" +msgstr "erstellen" -#: js/share.js:291 +#: js/share.js:312 msgid "update" msgstr "" -#: js/share.js:294 +#: js/share.js:315 msgid "delete" msgstr "" -#: js/share.js:297 +#: js/share.js:318 msgid "share" msgstr "" -#: js/share.js:322 js/share.js:484 +#: js/share.js:343 js/share.js:512 js/share.js:514 msgid "Password protected" msgstr "" -#: js/share.js:497 +#: js/share.js:525 msgid "Error unsetting expiration date" msgstr "" -#: js/share.js:509 +#: js/share.js:537 msgid "Error setting expiration date" msgstr "" -#: lostpassword/index.php:26 +#: lostpassword/controller.php:47 msgid "ownCloud password reset" msgstr "ownCloud Passwuert reset" @@ -233,12 +265,12 @@ msgid "You will receive a link to reset your password via Email." msgstr "Du kriss en Link fir däin Passwuert nei ze setzen via Email geschéckt." #: lostpassword/templates/lostpassword.php:5 -msgid "Requested" -msgstr "Gefrot" +msgid "Reset email send." +msgstr "" #: lostpassword/templates/lostpassword.php:8 -msgid "Login failed!" -msgstr "Falschen Login!" +msgid "Request failed!" +msgstr "" #: lostpassword/templates/lostpassword.php:11 templates/installation.php:38 #: templates/login.php:20 @@ -297,13 +329,13 @@ msgstr "Cloud net fonnt" msgid "Edit categories" msgstr "Kategorien editéieren" -#: templates/edit_categories_dialog.php:14 +#: templates/edit_categories_dialog.php:16 msgid "Add" msgstr "Bäisetzen" #: templates/installation.php:23 templates/installation.php:31 msgid "Security Warning" -msgstr "" +msgstr "Sécherheets Warnung" #: templates/installation.php:24 msgid "" @@ -371,11 +403,87 @@ msgstr "Datebank Server" msgid "Finish setup" msgstr "Installatioun ofschléissen" -#: templates/layout.guest.php:38 +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Sunday" +msgstr "Sonndes" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Monday" +msgstr "Méindes" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Tuesday" +msgstr "Dënschdes" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Wednesday" +msgstr "Mëttwoch" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Thursday" +msgstr "Donneschdes" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Friday" +msgstr "Freides" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Saturday" +msgstr "Samschdes" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "January" +msgstr "Januar" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "February" +msgstr "Februar" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "March" +msgstr "Mäerz" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "April" +msgstr "Abrëll" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "May" +msgstr "Mee" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "June" +msgstr "Juni" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "July" +msgstr "Juli" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "August" +msgstr "August" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "September" +msgstr "September" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "October" +msgstr "Oktober" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "November" +msgstr "November" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "December" +msgstr "Dezember" + +#: templates/layout.guest.php:41 msgid "web services under your control" msgstr "Web Servicer ënnert denger Kontroll" -#: templates/layout.user.php:34 +#: templates/layout.user.php:44 msgid "Log out" msgstr "Ausloggen" diff --git a/l10n/lb/files.po b/l10n/lb/files.po index 582e344c385e469effce09fb37fd86af9f5fee92..d4f89d14eac95770a6a419c63f17313ee4ed7bee 100644 --- a/l10n/lb/files.po +++ b/l10n/lb/files.po @@ -8,9 +8,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-09-26 13:19+0200\n" -"PO-Revision-Date: 2012-09-26 11:20+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-12-01 00:01+0100\n" +"PO-Revision-Date: 2012-11-30 23:02+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Luxembourgish (http://www.transifex.com/projects/p/owncloud/language/lb/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -23,194 +23,165 @@ msgid "There is no error, the file uploaded with success" msgstr "Keen Feeler, Datei ass komplett ropgelueden ginn" #: ajax/upload.php:21 -msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" -msgstr "Déi ropgelueden Datei ass méi grouss wei d'upload_max_filesize Eegenschaft an der php.ini" +msgid "" +"The uploaded file exceeds the upload_max_filesize directive in php.ini: " +msgstr "" -#: ajax/upload.php:22 +#: ajax/upload.php:23 msgid "" "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " "the HTML form" msgstr "Déi ropgelueden Datei ass méi grouss wei d'MAX_FILE_SIZE Eegenschaft déi an der HTML form uginn ass" -#: ajax/upload.php:23 +#: ajax/upload.php:25 msgid "The uploaded file was only partially uploaded" msgstr "Déi ropgelueden Datei ass nëmmen hallef ropgelueden ginn" -#: ajax/upload.php:24 +#: ajax/upload.php:26 msgid "No file was uploaded" msgstr "Et ass keng Datei ropgelueden ginn" -#: ajax/upload.php:25 +#: ajax/upload.php:27 msgid "Missing a temporary folder" msgstr "Et feelt en temporären Dossier" -#: ajax/upload.php:26 +#: ajax/upload.php:28 msgid "Failed to write to disk" msgstr "Konnt net op den Disk schreiwen" -#: appinfo/app.php:6 +#: appinfo/app.php:10 msgid "Files" msgstr "Dateien" -#: js/fileactions.js:108 templates/index.php:62 +#: js/fileactions.js:117 templates/index.php:83 templates/index.php:84 msgid "Unshare" msgstr "" -#: js/fileactions.js:110 templates/index.php:64 +#: js/fileactions.js:119 templates/index.php:89 templates/index.php:90 msgid "Delete" msgstr "Läschen" -#: js/fileactions.js:182 +#: js/fileactions.js:181 msgid "Rename" msgstr "" -#: js/filelist.js:190 js/filelist.js:192 -msgid "already exists" -msgstr "existéiert schonn" +#: js/filelist.js:201 js/filelist.js:203 +msgid "{new_name} already exists" +msgstr "" -#: js/filelist.js:190 js/filelist.js:192 +#: js/filelist.js:201 js/filelist.js:203 msgid "replace" msgstr "ersetzen" -#: js/filelist.js:190 +#: js/filelist.js:201 msgid "suggest name" msgstr "" -#: js/filelist.js:190 js/filelist.js:192 +#: js/filelist.js:201 js/filelist.js:203 msgid "cancel" msgstr "ofbriechen" -#: js/filelist.js:239 js/filelist.js:241 -msgid "replaced" -msgstr "ersat" +#: js/filelist.js:250 +msgid "replaced {new_name}" +msgstr "" -#: js/filelist.js:239 js/filelist.js:241 js/filelist.js:273 js/filelist.js:275 +#: js/filelist.js:250 js/filelist.js:252 js/filelist.js:284 js/filelist.js:286 msgid "undo" msgstr "réckgängeg man" -#: js/filelist.js:241 -msgid "with" -msgstr "mat" +#: js/filelist.js:252 +msgid "replaced {new_name} with {old_name}" +msgstr "" + +#: js/filelist.js:284 +msgid "unshared {files}" +msgstr "" -#: js/filelist.js:273 -msgid "unshared" +#: js/filelist.js:286 +msgid "deleted {files}" msgstr "" -#: js/filelist.js:275 -msgid "deleted" -msgstr "geläscht" +#: js/files.js:33 +msgid "" +"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not " +"allowed." +msgstr "" -#: js/files.js:179 +#: js/files.js:183 msgid "generating ZIP-file, it may take some time." msgstr "Et gëtt eng ZIP-File generéiert, dëst ka bëssen daueren." -#: js/files.js:208 +#: js/files.js:218 msgid "Unable to upload your file as it is a directory or has 0 bytes" msgstr "Kann deng Datei net eroplueden well et en Dossier ass oder 0 byte grouss ass." -#: js/files.js:208 +#: js/files.js:218 msgid "Upload Error" msgstr "Fehler beim eroplueden" -#: js/files.js:236 js/files.js:341 js/files.js:371 +#: js/files.js:235 +msgid "Close" +msgstr "Zoumaachen" + +#: js/files.js:254 js/files.js:368 js/files.js:398 msgid "Pending" msgstr "" -#: js/files.js:256 +#: js/files.js:274 msgid "1 file uploading" msgstr "" -#: js/files.js:259 js/files.js:304 js/files.js:319 -msgid "files uploading" +#: js/files.js:277 js/files.js:331 js/files.js:346 +msgid "{count} files uploading" msgstr "" -#: js/files.js:322 js/files.js:355 +#: js/files.js:349 js/files.js:382 msgid "Upload cancelled." msgstr "Upload ofgebrach." -#: js/files.js:424 +#: js/files.js:451 msgid "" "File upload is in progress. Leaving the page now will cancel the upload." msgstr "File Upload am gaang. Wann's de des Säit verléiss gëtt den Upload ofgebrach." -#: js/files.js:494 -msgid "Invalid name, '/' is not allowed." -msgstr "Ongültege Numm, '/' net erlaabt." +#: js/files.js:523 +msgid "Invalid folder name. Usage of \"Shared\" is reserved by Owncloud" +msgstr "" -#: js/files.js:667 -msgid "files scanned" +#: js/files.js:704 +msgid "{count} files scanned" msgstr "" -#: js/files.js:675 +#: js/files.js:712 msgid "error while scanning" msgstr "" -#: js/files.js:748 templates/index.php:48 +#: js/files.js:785 templates/index.php:65 msgid "Name" msgstr "Numm" -#: js/files.js:749 templates/index.php:56 +#: js/files.js:786 templates/index.php:76 msgid "Size" msgstr "Gréisst" -#: js/files.js:750 templates/index.php:58 +#: js/files.js:787 templates/index.php:78 msgid "Modified" msgstr "Geännert" -#: js/files.js:777 -msgid "folder" -msgstr "Dossier" - -#: js/files.js:779 -msgid "folders" -msgstr "Dossieren" - -#: js/files.js:787 -msgid "file" -msgstr "Datei" - -#: js/files.js:789 -msgid "files" -msgstr "Dateien" - -#: js/files.js:833 -msgid "seconds ago" -msgstr "" - -#: js/files.js:834 -msgid "minute ago" -msgstr "" - -#: js/files.js:835 -msgid "minutes ago" -msgstr "" - -#: js/files.js:838 -msgid "today" -msgstr "" - -#: js/files.js:839 -msgid "yesterday" -msgstr "" - -#: js/files.js:840 -msgid "days ago" +#: js/files.js:814 +msgid "1 folder" msgstr "" -#: js/files.js:841 -msgid "last month" +#: js/files.js:816 +msgid "{count} folders" msgstr "" -#: js/files.js:843 -msgid "months ago" +#: js/files.js:824 +msgid "1 file" msgstr "" -#: js/files.js:844 -msgid "last year" -msgstr "" - -#: js/files.js:845 -msgid "years ago" +#: js/files.js:826 +msgid "{count} files" msgstr "" #: templates/admin.php:5 @@ -221,80 +192,76 @@ msgstr "Fichier handling" msgid "Maximum upload size" msgstr "Maximum Upload Gréisst " -#: templates/admin.php:7 +#: templates/admin.php:9 msgid "max. possible: " msgstr "max. méiglech:" -#: templates/admin.php:9 +#: templates/admin.php:12 msgid "Needed for multi-file and folder downloads." msgstr "Gett gebraucht fir multi-Fichier an Dossier Downloads." -#: templates/admin.php:9 +#: templates/admin.php:14 msgid "Enable ZIP-download" msgstr "ZIP-download erlaben" -#: templates/admin.php:11 +#: templates/admin.php:17 msgid "0 is unlimited" msgstr "0 ass onlimitéiert" -#: templates/admin.php:12 +#: templates/admin.php:19 msgid "Maximum input size for ZIP files" msgstr "Maximal Gréisst fir ZIP Fichieren" -#: templates/admin.php:14 +#: templates/admin.php:23 msgid "Save" -msgstr "" +msgstr "Späicheren" #: templates/index.php:7 msgid "New" msgstr "Nei" -#: templates/index.php:9 +#: templates/index.php:10 msgid "Text file" msgstr "Text Fichier" -#: templates/index.php:10 +#: templates/index.php:12 msgid "Folder" msgstr "Dossier" -#: templates/index.php:11 -msgid "From url" -msgstr "From URL" +#: templates/index.php:14 +msgid "From link" +msgstr "" -#: templates/index.php:20 +#: templates/index.php:35 msgid "Upload" msgstr "Eroplueden" -#: templates/index.php:27 +#: templates/index.php:43 msgid "Cancel upload" msgstr "Upload ofbriechen" -#: templates/index.php:40 +#: templates/index.php:57 msgid "Nothing in here. Upload something!" msgstr "Hei ass näischt. Lued eppes rop!" -#: templates/index.php:50 -msgid "Share" -msgstr "Share" - -#: templates/index.php:52 +#: templates/index.php:71 msgid "Download" msgstr "Eroflueden" -#: templates/index.php:75 +#: templates/index.php:103 msgid "Upload too large" msgstr "Upload ze grouss" -#: templates/index.php:77 +#: templates/index.php:105 msgid "" "The files you are trying to upload exceed the maximum size for file uploads " "on this server." msgstr "Déi Dateien déi Dir probéiert erop ze lueden sinn méi grouss wei déi Maximal Gréisst déi op dësem Server erlaabt ass." -#: templates/index.php:82 +#: templates/index.php:110 msgid "Files are being scanned, please wait." msgstr "Fichieren gi gescannt, war weg." -#: templates/index.php:85 +#: templates/index.php:113 msgid "Current scanning" msgstr "Momentane Scan" diff --git a/l10n/lb/files_external.po b/l10n/lb/files_external.po index 4a00f6bb30d5e1f6b6099f625c7755cd2830c20d..e0a2ceb1af4bfaaf511961985b2959545a79dbf0 100644 --- a/l10n/lb/files_external.po +++ b/l10n/lb/files_external.po @@ -7,9 +7,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-02 23:16+0200\n" -"PO-Revision-Date: 2012-10-02 21:17+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-12-12 00:12+0100\n" +"PO-Revision-Date: 2012-12-11 23:13+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Luxembourgish (http://www.transifex.com/projects/p/owncloud/language/lb/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -41,66 +41,80 @@ msgstr "" msgid "Error configuring Google Drive storage" msgstr "" +#: lib/config.php:434 +msgid "" +"Warning: \"smbclient\" is not installed. Mounting of CIFS/SMB shares " +"is not possible. Please ask your system administrator to install it." +msgstr "" + +#: lib/config.php:435 +msgid "" +"Warning: The FTP support in PHP is not enabled or installed. Mounting" +" of FTP shares is not possible. Please ask your system administrator to " +"install it." +msgstr "" + #: templates/settings.php:3 msgid "External Storage" msgstr "" -#: templates/settings.php:7 templates/settings.php:19 +#: templates/settings.php:8 templates/settings.php:22 msgid "Mount point" msgstr "" -#: templates/settings.php:8 +#: templates/settings.php:9 msgid "Backend" msgstr "" -#: templates/settings.php:9 +#: templates/settings.php:10 msgid "Configuration" msgstr "" -#: templates/settings.php:10 +#: templates/settings.php:11 msgid "Options" msgstr "" -#: templates/settings.php:11 +#: templates/settings.php:12 msgid "Applicable" msgstr "" -#: templates/settings.php:23 +#: templates/settings.php:27 msgid "Add mount point" msgstr "" -#: templates/settings.php:54 templates/settings.php:62 +#: templates/settings.php:85 msgid "None set" msgstr "" -#: templates/settings.php:63 +#: templates/settings.php:86 msgid "All Users" msgstr "" -#: templates/settings.php:64 +#: templates/settings.php:87 msgid "Groups" msgstr "" -#: templates/settings.php:69 +#: templates/settings.php:95 msgid "Users" msgstr "" -#: templates/settings.php:77 templates/settings.php:107 +#: templates/settings.php:108 templates/settings.php:109 +#: templates/settings.php:149 templates/settings.php:150 msgid "Delete" msgstr "" -#: templates/settings.php:87 +#: templates/settings.php:124 msgid "Enable User External Storage" msgstr "" -#: templates/settings.php:88 +#: templates/settings.php:125 msgid "Allow users to mount their own external storage" msgstr "" -#: templates/settings.php:99 +#: templates/settings.php:139 msgid "SSL root certificates" msgstr "" -#: templates/settings.php:113 +#: templates/settings.php:158 msgid "Import Root Certificate" msgstr "" diff --git a/l10n/lb/files_pdfviewer.po b/l10n/lb/files_pdfviewer.po deleted file mode 100644 index a7665ab24e838e91dfedff65a2741d1cef894ddb..0000000000000000000000000000000000000000 --- a/l10n/lb/files_pdfviewer.po +++ /dev/null @@ -1,42 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 02:18+0200\n" -"PO-Revision-Date: 2012-08-26 00:19+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Luxembourgish (http://www.transifex.com/projects/p/owncloud/language/lb/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: lb\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: js/viewer.js:22 -msgid "Previous" -msgstr "" - -#: js/viewer.js:23 -msgid "Next" -msgstr "" - -#: js/viewer.js:29 -msgid "Page Width" -msgstr "" - -#: js/viewer.js:29 -msgid "Page Fit" -msgstr "" - -#: js/viewer.js:30 -msgid "Print" -msgstr "" - -#: js/viewer.js:32 -msgid "Download" -msgstr "" diff --git a/l10n/lb/files_texteditor.po b/l10n/lb/files_texteditor.po deleted file mode 100644 index abffc55df0638b5d07b3f5d685bb103f703297b8..0000000000000000000000000000000000000000 --- a/l10n/lb/files_texteditor.po +++ /dev/null @@ -1,44 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 01:17+0200\n" -"PO-Revision-Date: 2012-08-25 23:18+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Luxembourgish (http://www.transifex.com/projects/p/owncloud/language/lb/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: lb\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: js/aceeditor/mode-coldfusion-uncompressed.js:1568 -#: js/aceeditor/mode-liquid-uncompressed.js:902 -#: js/aceeditor/mode-svg-uncompressed.js:1575 -msgid "regex" -msgstr "" - -#: js/editor.js:72 js/editor.js:156 js/editor.js:163 -msgid "Save" -msgstr "" - -#: js/editor.js:74 -msgid "Close" -msgstr "" - -#: js/editor.js:149 -msgid "Saving..." -msgstr "" - -#: js/editor.js:239 -msgid "An error occurred!" -msgstr "" - -#: js/editor.js:266 -msgid "There were unsaved changes, click here to go back" -msgstr "" diff --git a/l10n/lb/gallery.po b/l10n/lb/gallery.po deleted file mode 100644 index 933f3228917519386e3fc2adf569ab374ee59d97..0000000000000000000000000000000000000000 --- a/l10n/lb/gallery.po +++ /dev/null @@ -1,95 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-06-06 00:12+0200\n" -"PO-Revision-Date: 2012-06-05 22:15+0000\n" -"Last-Translator: icewind \n" -"Language-Team: Luxembourgish (http://www.transifex.net/projects/p/owncloud/language/lb/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: lb\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: appinfo/app.php:37 -msgid "Pictures" -msgstr "Fotoen" - -#: js/album_cover.js:44 -msgid "Share gallery" -msgstr "" - -#: js/album_cover.js:64 js/album_cover.js:100 js/album_cover.js:133 -msgid "Error: " -msgstr "" - -#: js/album_cover.js:64 js/album_cover.js:100 -msgid "Internal error" -msgstr "" - -#: js/album_cover.js:114 -msgid "Scanning root" -msgstr "" - -#: js/album_cover.js:115 -msgid "Default order" -msgstr "" - -#: js/album_cover.js:116 -msgid "Ascending" -msgstr "" - -#: js/album_cover.js:116 -msgid "Descending" -msgstr "" - -#: js/album_cover.js:117 templates/index.php:19 -msgid "Settings" -msgstr "Astellungen" - -#: js/album_cover.js:122 -msgid "Scanning root cannot be empty" -msgstr "" - -#: js/album_cover.js:122 js/album_cover.js:133 -msgid "Error" -msgstr "" - -#: templates/index.php:16 -msgid "Rescan" -msgstr "Nei scannen" - -#: templates/index.php:17 -msgid "Stop" -msgstr "Stop" - -#: templates/index.php:18 -msgid "Share" -msgstr "Deelen" - -#: templates/view_album.php:19 -msgid "Back" -msgstr "Zeréck" - -#: templates/view_album.php:36 -msgid "Remove confirmation" -msgstr "Konfirmatioun läschen" - -#: templates/view_album.php:37 -msgid "Do you want to remove album" -msgstr "Wëlls de den Album läschen" - -#: templates/view_album.php:40 -msgid "Change album name" -msgstr "Album Numm änneren" - -#: templates/view_album.php:43 -msgid "New album name" -msgstr "Neien Numm fir den Album" diff --git a/l10n/lb/impress.po b/l10n/lb/impress.po deleted file mode 100644 index a03f893b0f703704b9bcba4f13bac530392c5213..0000000000000000000000000000000000000000 --- a/l10n/lb/impress.po +++ /dev/null @@ -1,22 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 01:17+0200\n" -"PO-Revision-Date: 2012-08-25 23:18+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Luxembourgish (http://www.transifex.com/projects/p/owncloud/language/lb/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: lb\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: templates/presentations.php:7 -msgid "Documentation" -msgstr "" diff --git a/l10n/lb/lib.po b/l10n/lb/lib.po index 8aa81edb8f7865bab131d32be0cd7d69f0083ee5..b164e98f222dd52110c48475fcc9f1d4f0d71286 100644 --- a/l10n/lb/lib.po +++ b/l10n/lb/lib.po @@ -7,53 +7,53 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-09-01 02:01+0200\n" -"PO-Revision-Date: 2012-09-01 00:02+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-11-16 00:02+0100\n" +"PO-Revision-Date: 2012-11-14 23:13+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Luxembourgish (http://www.transifex.com/projects/p/owncloud/language/lb/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: lb\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: app.php:288 +#: app.php:285 msgid "Help" msgstr "" -#: app.php:295 +#: app.php:292 msgid "Personal" -msgstr "" +msgstr "Perséinlech" -#: app.php:300 +#: app.php:297 msgid "Settings" -msgstr "" +msgstr "Astellungen" -#: app.php:305 +#: app.php:302 msgid "Users" msgstr "" -#: app.php:312 +#: app.php:309 msgid "Apps" msgstr "" -#: app.php:314 +#: app.php:311 msgid "Admin" msgstr "" -#: files.php:280 +#: files.php:332 msgid "ZIP download is turned off." msgstr "" -#: files.php:281 +#: files.php:333 msgid "Files need to be downloaded one by one." msgstr "" -#: files.php:281 files.php:306 +#: files.php:333 files.php:358 msgid "Back to Files" msgstr "" -#: files.php:305 +#: files.php:357 msgid "Selected files too large to generate zip file." msgstr "" @@ -61,65 +61,92 @@ msgstr "" msgid "Application is not enabled" msgstr "" -#: json.php:39 json.php:63 json.php:75 +#: json.php:39 json.php:64 json.php:77 json.php:89 msgid "Authentication error" -msgstr "" +msgstr "Authentifikatioun's Fehler" #: json.php:51 msgid "Token expired. Please reload page." msgstr "" -#: template.php:86 +#: search/provider/file.php:17 search/provider/file.php:35 +msgid "Files" +msgstr "" + +#: search/provider/file.php:26 search/provider/file.php:33 +msgid "Text" +msgstr "SMS" + +#: search/provider/file.php:29 +msgid "Images" +msgstr "" + +#: template.php:103 msgid "seconds ago" msgstr "" -#: template.php:87 +#: template.php:104 msgid "1 minute ago" msgstr "" -#: template.php:88 +#: template.php:105 #, php-format msgid "%d minutes ago" msgstr "" -#: template.php:91 +#: template.php:106 +msgid "1 hour ago" +msgstr "" + +#: template.php:107 +#, php-format +msgid "%d hours ago" +msgstr "" + +#: template.php:108 msgid "today" msgstr "" -#: template.php:92 +#: template.php:109 msgid "yesterday" msgstr "" -#: template.php:93 +#: template.php:110 #, php-format msgid "%d days ago" msgstr "" -#: template.php:94 +#: template.php:111 msgid "last month" msgstr "" -#: template.php:95 -msgid "months ago" +#: template.php:112 +#, php-format +msgid "%d months ago" msgstr "" -#: template.php:96 +#: template.php:113 msgid "last year" msgstr "" -#: template.php:97 +#: template.php:114 msgid "years ago" msgstr "" -#: updater.php:66 +#: updater.php:75 #, php-format msgid "%s is available. Get more information" msgstr "" -#: updater.php:68 +#: updater.php:77 msgid "up to date" msgstr "" -#: updater.php:71 +#: updater.php:80 msgid "updates check is disabled" msgstr "" + +#: vcategories.php:188 vcategories.php:249 +#, php-format +msgid "Could not find category \"%s\"" +msgstr "" diff --git a/l10n/lb/media.po b/l10n/lb/media.po deleted file mode 100644 index cd44542ece05f37078ff4f51e43a3537e6c89abc..0000000000000000000000000000000000000000 --- a/l10n/lb/media.po +++ /dev/null @@ -1,67 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# , 2011. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-06-06 00:12+0200\n" -"PO-Revision-Date: 2012-06-05 22:15+0000\n" -"Last-Translator: icewind \n" -"Language-Team: Luxembourgish (http://www.transifex.net/projects/p/owncloud/language/lb/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: lb\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: appinfo/app.php:32 templates/player.php:8 -msgid "Music" -msgstr "Musek" - -#: js/music.js:18 -msgid "Add album to playlist" -msgstr "" - -#: templates/music.php:3 templates/player.php:12 -msgid "Play" -msgstr "Ofspillen" - -#: templates/music.php:4 templates/music.php:26 templates/player.php:13 -msgid "Pause" -msgstr "Paus" - -#: templates/music.php:5 -msgid "Previous" -msgstr "Zeréck" - -#: templates/music.php:6 templates/player.php:14 -msgid "Next" -msgstr "Weider" - -#: templates/music.php:7 -msgid "Mute" -msgstr "Toun ausmaachen" - -#: templates/music.php:8 -msgid "Unmute" -msgstr "Toun umaachen" - -#: templates/music.php:25 -msgid "Rescan Collection" -msgstr "Kollektioun nei scannen" - -#: templates/music.php:37 -msgid "Artist" -msgstr "Artist" - -#: templates/music.php:38 -msgid "Album" -msgstr "Album" - -#: templates/music.php:39 -msgid "Title" -msgstr "Titel" diff --git a/l10n/lb/settings.po b/l10n/lb/settings.po index c3137a61f32907cb7f07667fa8c411cb605caf8f..2b969101b5fd579efe0100dcd734a80e5fa09b7e 100644 --- a/l10n/lb/settings.po +++ b/l10n/lb/settings.po @@ -8,9 +8,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-09 02:03+0200\n" -"PO-Revision-Date: 2012-10-09 00:04+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-12-03 00:04+0100\n" +"PO-Revision-Date: 2012-12-02 03:18+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Luxembourgish (http://www.transifex.com/projects/p/owncloud/language/lb/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -18,70 +18,73 @@ msgstr "" "Language: lb\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: ajax/apps/ocs.php:23 +#: ajax/apps/ocs.php:20 msgid "Unable to load list from App Store" msgstr "Konnt Lescht net vum App Store lueden" -#: ajax/creategroup.php:9 ajax/removeuser.php:13 ajax/setquota.php:18 -#: ajax/togglegroups.php:15 -msgid "Authentication error" -msgstr "Authentifikatioun's Fehler" - -#: ajax/creategroup.php:19 +#: ajax/creategroup.php:10 msgid "Group already exists" msgstr "" -#: ajax/creategroup.php:28 +#: ajax/creategroup.php:19 msgid "Unable to add group" msgstr "" -#: ajax/enableapp.php:14 +#: ajax/enableapp.php:12 msgid "Could not enable app. " msgstr "" -#: ajax/lostpassword.php:14 +#: ajax/lostpassword.php:12 msgid "Email saved" msgstr "E-mail gespäichert" -#: ajax/lostpassword.php:16 +#: ajax/lostpassword.php:14 msgid "Invalid email" msgstr "Ongülteg e-mail" -#: ajax/openid.php:16 +#: ajax/openid.php:13 msgid "OpenID Changed" msgstr "OpenID huet geännert" -#: ajax/openid.php:18 ajax/setlanguage.php:20 ajax/setlanguage.php:23 +#: ajax/openid.php:15 ajax/setlanguage.php:17 ajax/setlanguage.php:20 msgid "Invalid request" msgstr "Ongülteg Requête" -#: ajax/removegroup.php:16 +#: ajax/removegroup.php:13 msgid "Unable to delete group" msgstr "" -#: ajax/removeuser.php:22 +#: ajax/removeuser.php:15 ajax/setquota.php:15 ajax/togglegroups.php:18 +msgid "Authentication error" +msgstr "Authentifikatioun's Fehler" + +#: ajax/removeuser.php:24 msgid "Unable to delete user" msgstr "" -#: ajax/setlanguage.php:18 +#: ajax/setlanguage.php:15 msgid "Language changed" msgstr "Sprooch huet geännert" -#: ajax/togglegroups.php:25 +#: ajax/togglegroups.php:12 +msgid "Admins can't remove themself from the admin group" +msgstr "" + +#: ajax/togglegroups.php:28 #, php-format msgid "Unable to add user to group %s" msgstr "" -#: ajax/togglegroups.php:31 +#: ajax/togglegroups.php:34 #, php-format msgid "Unable to remove user from group %s" msgstr "" -#: js/apps.js:28 js/apps.js:65 +#: js/apps.js:28 js/apps.js:67 msgid "Disable" msgstr "Ofschalten" -#: js/apps.js:28 js/apps.js:54 +#: js/apps.js:28 js/apps.js:55 msgid "Enable" msgstr "Aschalten" @@ -89,97 +92,10 @@ msgstr "Aschalten" msgid "Saving..." msgstr "Speicheren..." -#: personal.php:47 personal.php:48 +#: personal.php:42 personal.php:43 msgid "__language_name__" msgstr "__language_name__" -#: templates/admin.php:14 -msgid "Security Warning" -msgstr "Sécherheets Warnung" - -#: templates/admin.php:17 -msgid "" -"Your data directory and your files are probably accessible from the " -"internet. The .htaccess file that ownCloud provides is not working. We " -"strongly suggest that you configure your webserver in a way that the data " -"directory is no longer accessible or you move the data directory outside the" -" webserver document root." -msgstr "" - -#: templates/admin.php:31 -msgid "Cron" -msgstr "Cron" - -#: templates/admin.php:37 -msgid "Execute one task with each page loaded" -msgstr "" - -#: templates/admin.php:43 -msgid "" -"cron.php is registered at a webcron service. Call the cron.php page in the " -"owncloud root once a minute over http." -msgstr "" - -#: templates/admin.php:49 -msgid "" -"Use systems cron service. Call the cron.php file in the owncloud folder via " -"a system cronjob once a minute." -msgstr "" - -#: templates/admin.php:56 -msgid "Sharing" -msgstr "" - -#: templates/admin.php:61 -msgid "Enable Share API" -msgstr "Share API aschalten" - -#: templates/admin.php:62 -msgid "Allow apps to use the Share API" -msgstr "Erlab Apps d'Share API ze benotzen" - -#: templates/admin.php:67 -msgid "Allow links" -msgstr "Links erlaben" - -#: templates/admin.php:68 -msgid "Allow users to share items to the public with links" -msgstr "" - -#: templates/admin.php:73 -msgid "Allow resharing" -msgstr "Resharing erlaben" - -#: templates/admin.php:74 -msgid "Allow users to share items shared with them again" -msgstr "" - -#: templates/admin.php:79 -msgid "Allow users to share with anyone" -msgstr "Useren erlaben mat egal wiem ze sharen" - -#: templates/admin.php:81 -msgid "Allow users to only share with users in their groups" -msgstr "Useren nëmmen erlaben mat Useren aus hirer Grupp ze sharen" - -#: templates/admin.php:88 -msgid "Log" -msgstr "Log" - -#: templates/admin.php:116 -msgid "More" -msgstr "Méi" - -#: templates/admin.php:124 -msgid "" -"Developed by the ownCloud community, the source code is " -"licensed under the AGPL." -msgstr "" - #: templates/apps.php:10 msgid "Add your App" msgstr "Setz deng App bei" @@ -212,21 +128,21 @@ msgstr "Grouss Fichieren verwalten" msgid "Ask a question" msgstr "Stell eng Fro" -#: templates/help.php:23 +#: templates/help.php:22 msgid "Problems connecting to help database." msgstr "Problemer sinn opgetrueden beim Versuch sech un d'Hëllef Datebank ze verbannen." -#: templates/help.php:24 +#: templates/help.php:23 msgid "Go there manually." msgstr "Gei manuell dohinner." -#: templates/help.php:32 +#: templates/help.php:31 msgid "Answer" msgstr "Äntwert" #: templates/personal.php:8 #, php-format -msgid "You have used %s of the available %s" +msgid "You have used %s of the available %s" msgstr "" #: templates/personal.php:12 @@ -285,6 +201,16 @@ msgstr "Hëllef iwwersetzen" msgid "use this address to connect to your ownCloud in your file manager" msgstr "benotz dës Adress fir dech un deng ownCloud iwwert däin Datei Manager ze verbannen" +#: templates/personal.php:61 +msgid "" +"Developed by the ownCloud community, the source code is " +"licensed under the AGPL." +msgstr "" + #: templates/users.php:21 templates/users.php:76 msgid "Name" msgstr "Numm" diff --git a/l10n/lb/tasks.po b/l10n/lb/tasks.po deleted file mode 100644 index 62a9a4b722b71567bcb44aab2af95473b5c62063..0000000000000000000000000000000000000000 --- a/l10n/lb/tasks.po +++ /dev/null @@ -1,106 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:44+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Luxembourgish (http://www.transifex.com/projects/p/owncloud/language/lb/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: lb\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: ajax/update_property.php:51 lib/app.php:89 lib/app.php:101 -msgid "Invalid date/time" -msgstr "" - -#: appinfo/app.php:11 -msgid "Tasks" -msgstr "" - -#: js/tasks.js:415 -msgid "No category" -msgstr "" - -#: lib/app.php:33 -msgid "Unspecified" -msgstr "" - -#: lib/app.php:34 -msgid "1=highest" -msgstr "" - -#: lib/app.php:38 -msgid "5=medium" -msgstr "" - -#: lib/app.php:42 -msgid "9=lowest" -msgstr "" - -#: lib/app.php:81 -msgid "Empty Summary" -msgstr "" - -#: lib/app.php:93 -msgid "Invalid percent complete" -msgstr "" - -#: lib/app.php:107 -msgid "Invalid priority" -msgstr "" - -#: templates/tasks.php:3 -msgid "Add Task" -msgstr "" - -#: templates/tasks.php:4 -msgid "Order Due" -msgstr "" - -#: templates/tasks.php:5 -msgid "Order List" -msgstr "" - -#: templates/tasks.php:6 -msgid "Order Complete" -msgstr "" - -#: templates/tasks.php:7 -msgid "Order Location" -msgstr "" - -#: templates/tasks.php:8 -msgid "Order Priority" -msgstr "" - -#: templates/tasks.php:9 -msgid "Order Label" -msgstr "" - -#: templates/tasks.php:16 -msgid "Loading tasks..." -msgstr "" - -#: templates/tasks.php:20 -msgid "Important" -msgstr "" - -#: templates/tasks.php:23 -msgid "More" -msgstr "" - -#: templates/tasks.php:26 -msgid "Less" -msgstr "" - -#: templates/tasks.php:29 -msgid "Delete" -msgstr "" diff --git a/l10n/lb/user_migrate.po b/l10n/lb/user_migrate.po deleted file mode 100644 index 7ecbf9a92b6f5be66bcb2d133d2ffc31f83a879d..0000000000000000000000000000000000000000 --- a/l10n/lb/user_migrate.po +++ /dev/null @@ -1,51 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:45+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Luxembourgish (http://www.transifex.com/projects/p/owncloud/language/lb/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: lb\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: js/export.js:14 js/export.js:20 -msgid "Export" -msgstr "" - -#: js/export.js:19 -msgid "Something went wrong while the export file was being generated" -msgstr "" - -#: js/export.js:19 -msgid "An error has occurred" -msgstr "" - -#: templates/settings.php:2 -msgid "Export your user account" -msgstr "" - -#: templates/settings.php:3 -msgid "" -"This will create a compressed file that contains your ownCloud account." -msgstr "" - -#: templates/settings.php:13 -msgid "Import user account" -msgstr "" - -#: templates/settings.php:15 -msgid "ownCloud User Zip" -msgstr "" - -#: templates/settings.php:17 -msgid "Import" -msgstr "" diff --git a/l10n/lb/user_openid.po b/l10n/lb/user_openid.po deleted file mode 100644 index 785483e735099541faf2517634c7119fc2c906a1..0000000000000000000000000000000000000000 --- a/l10n/lb/user_openid.po +++ /dev/null @@ -1,54 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:45+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Luxembourgish (http://www.transifex.com/projects/p/owncloud/language/lb/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: lb\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: templates/nomode.php:12 -msgid "This is an OpenID server endpoint. For more information, see " -msgstr "" - -#: templates/nomode.php:14 -msgid "Identity: " -msgstr "" - -#: templates/nomode.php:15 -msgid "Realm: " -msgstr "" - -#: templates/nomode.php:16 -msgid "User: " -msgstr "" - -#: templates/nomode.php:17 -msgid "Login" -msgstr "" - -#: templates/nomode.php:22 -msgid "Error: No user Selected" -msgstr "" - -#: templates/settings.php:4 -msgid "you can authenticate to other sites with this address" -msgstr "" - -#: templates/settings.php:5 -msgid "Authorized OpenID provider" -msgstr "" - -#: templates/settings.php:6 -msgid "Your address at Wordpress, Identi.ca, …" -msgstr "" diff --git a/l10n/lb/files_odfviewer.po b/l10n/lb/user_webdavauth.po similarity index 73% rename from l10n/lb/files_odfviewer.po rename to l10n/lb/user_webdavauth.po index 1ce99cf81a85b45d7e43ec31a8b971199a60c98c..242212f8edc5b13688787c1808c4b80c2ff8b19e 100644 --- a/l10n/lb/files_odfviewer.po +++ b/l10n/lb/user_webdavauth.po @@ -7,16 +7,16 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 02:18+0200\n" -"PO-Revision-Date: 2012-08-26 00:19+0000\n" +"POT-Creation-Date: 2012-11-09 10:06+0100\n" +"PO-Revision-Date: 2012-11-09 09:06+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: Luxembourgish (http://www.transifex.com/projects/p/owncloud/language/lb/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: lb\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: js/viewer.js:9 -msgid "Close" +#: templates/settings.php:4 +msgid "WebDAV URL: http://" msgstr "" diff --git a/l10n/lt_LT/admin_dependencies_chk.po b/l10n/lt_LT/admin_dependencies_chk.po deleted file mode 100644 index 3cf43f2491e273b507df1809da987a1d42139248..0000000000000000000000000000000000000000 --- a/l10n/lt_LT/admin_dependencies_chk.po +++ /dev/null @@ -1,74 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Dr. ROX , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-23 02:02+0200\n" -"PO-Revision-Date: 2012-08-22 13:30+0000\n" -"Last-Translator: Dr. ROX \n" -"Language-Team: Lithuanian (Lithuania) (http://www.transifex.com/projects/p/owncloud/language/lt_LT/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: lt_LT\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2)\n" - -#: settings.php:33 -msgid "" -"The php-json module is needed by the many applications for inter " -"communications" -msgstr "Php-json modulis yra reikalingas duomenų keitimuisi tarp programų" - -#: settings.php:39 -msgid "" -"The php-curl modude is needed to fetch the page title when adding a " -"bookmarks" -msgstr "Php-curl modulis automatiškai nuskaito tinklapio pavadinimą kuomet išsaugoma žymelė." - -#: settings.php:45 -msgid "The php-gd module is needed to create thumbnails of your images" -msgstr "Php-gd modulis yra naudojamas paveikslėlių miniatiūroms kurti." - -#: settings.php:51 -msgid "The php-ldap module is needed connect to your ldap server" -msgstr "Php-ldap modulis yra reikalingas prisijungimui prie jūsų ldap serverio" - -#: settings.php:57 -msgid "The php-zip module is needed download multiple files at once" -msgstr "Php-zip modulis yra reikalingas kelių failų atsiuntimui iš karto." - -#: settings.php:63 -msgid "" -"The php-mb_multibyte module is needed to manage correctly the encoding." -msgstr "Php-mb_multibyte modulis yra naudojamas apdoroti įvairius teksto kodavimo formatus." - -#: settings.php:69 -msgid "The php-ctype module is needed validate data." -msgstr "Php-ctype modulis yra reikalingas duomenų tikrinimui." - -#: settings.php:75 -msgid "The php-xml module is needed to share files with webdav." -msgstr "Php-xml modulis yra reikalingas failų dalinimuisi naudojant webdav." - -#: settings.php:81 -msgid "" -"The allow_url_fopen directive of your php.ini should be set to 1 to retrieve" -" knowledge base from OCS servers" -msgstr "allow_url_fopen direktyva turėtų būti nustatyta į \"1\" jei norite automatiškai gauti žinių bazės informaciją iš OCS serverių." - -#: settings.php:87 -msgid "The php-pdo module is needed to store owncloud data into a database." -msgstr "Php-pdo modulis yra reikalingas duomenų saugojimui į owncloud duomenų bazę." - -#: templates/settings.php:2 -msgid "Dependencies status" -msgstr "Priklausomybės" - -#: templates/settings.php:7 -msgid "Used by :" -msgstr "Naudojama:" diff --git a/l10n/lt_LT/admin_migrate.po b/l10n/lt_LT/admin_migrate.po deleted file mode 100644 index 8f3d5927fff5b1eb5e36581e4c010fc18b95ee38..0000000000000000000000000000000000000000 --- a/l10n/lt_LT/admin_migrate.po +++ /dev/null @@ -1,33 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Dr. ROX , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-23 02:02+0200\n" -"PO-Revision-Date: 2012-08-22 14:12+0000\n" -"Last-Translator: Dr. ROX \n" -"Language-Team: Lithuanian (Lithuania) (http://www.transifex.com/projects/p/owncloud/language/lt_LT/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: lt_LT\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2)\n" - -#: templates/settings.php:3 -msgid "Export this ownCloud instance" -msgstr "Eksportuoti šią ownCloud instaliaciją" - -#: templates/settings.php:4 -msgid "" -"This will create a compressed file that contains the data of this owncloud instance.\n" -" Please choose the export type:" -msgstr "Bus sukurtas archyvas su visais owncloud duomenimis ir failais.\n Pasirinkite eksportavimo tipą:" - -#: templates/settings.php:12 -msgid "Export" -msgstr "Eksportuoti" diff --git a/l10n/lt_LT/bookmarks.po b/l10n/lt_LT/bookmarks.po deleted file mode 100644 index 4593ae1ec6fa3228619fcf616dce3cc7510a5413..0000000000000000000000000000000000000000 --- a/l10n/lt_LT/bookmarks.po +++ /dev/null @@ -1,61 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Dr. ROX , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-23 02:02+0200\n" -"PO-Revision-Date: 2012-08-22 12:36+0000\n" -"Last-Translator: Dr. ROX \n" -"Language-Team: Lithuanian (Lithuania) (http://www.transifex.com/projects/p/owncloud/language/lt_LT/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: lt_LT\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2)\n" - -#: appinfo/app.php:14 -msgid "Bookmarks" -msgstr "" - -#: bookmarksHelper.php:99 -msgid "unnamed" -msgstr "be pavadinimo" - -#: templates/bookmarklet.php:5 -msgid "" -"Drag this to your browser bookmarks and click it, when you want to bookmark " -"a webpage quickly:" -msgstr "" - -#: templates/bookmarklet.php:7 -msgid "Read later" -msgstr "" - -#: templates/list.php:13 -msgid "Address" -msgstr "" - -#: templates/list.php:14 -msgid "Title" -msgstr "" - -#: templates/list.php:15 -msgid "Tags" -msgstr "" - -#: templates/list.php:16 -msgid "Save bookmark" -msgstr "" - -#: templates/list.php:22 -msgid "You have no bookmarks" -msgstr "" - -#: templates/settings.php:11 -msgid "Bookmarklet
" -msgstr "" diff --git a/l10n/lt_LT/calendar.po b/l10n/lt_LT/calendar.po deleted file mode 100644 index 9d116aac12f63fd606ea3e55c53e0c5d600638e4..0000000000000000000000000000000000000000 --- a/l10n/lt_LT/calendar.po +++ /dev/null @@ -1,814 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Dr. ROX , 2011, 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-11 02:02+0200\n" -"PO-Revision-Date: 2012-08-11 00:02+0000\n" -"Last-Translator: owncloud_robot \n" -"Language-Team: Lithuanian (Lithuania) (http://www.transifex.com/projects/p/owncloud/language/lt_LT/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: lt_LT\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2)\n" - -#: ajax/cache/status.php:19 -msgid "Not all calendars are completely cached" -msgstr "" - -#: ajax/cache/status.php:21 -msgid "Everything seems to be completely cached" -msgstr "" - -#: ajax/categories/rescan.php:29 -msgid "No calendars found." -msgstr "Kalendorių nerasta." - -#: ajax/categories/rescan.php:37 -msgid "No events found." -msgstr "Įvykių nerasta." - -#: ajax/event/edit.form.php:20 -msgid "Wrong calendar" -msgstr "Ne tas kalendorius" - -#: ajax/import/dropimport.php:29 ajax/import/import.php:64 -msgid "" -"The file contained either no events or all events are already saved in your " -"calendar." -msgstr "" - -#: ajax/import/dropimport.php:31 ajax/import/import.php:67 -msgid "events has been saved in the new calendar" -msgstr "" - -#: ajax/import/import.php:56 -msgid "Import failed" -msgstr "" - -#: ajax/import/import.php:69 -msgid "events has been saved in your calendar" -msgstr "" - -#: ajax/settings/guesstimezone.php:25 -msgid "New Timezone:" -msgstr "Nauja laiko juosta:" - -#: ajax/settings/settimezone.php:23 -msgid "Timezone changed" -msgstr "Laiko zona pakeista" - -#: ajax/settings/settimezone.php:25 -msgid "Invalid request" -msgstr "Klaidinga užklausa" - -#: appinfo/app.php:35 templates/calendar.php:15 -#: templates/part.eventform.php:33 templates/part.showevent.php:33 -msgid "Calendar" -msgstr "Kalendorius" - -#: js/calendar.js:832 -msgid "ddd" -msgstr "" - -#: js/calendar.js:833 -msgid "ddd M/d" -msgstr "" - -#: js/calendar.js:834 -msgid "dddd M/d" -msgstr "" - -#: js/calendar.js:837 -msgid "MMMM yyyy" -msgstr "" - -#: js/calendar.js:839 -msgid "MMM d[ yyyy]{ '—'[ MMM] d yyyy}" -msgstr "MMM d[ yyyy]{ '—'[ MMM] d yyyy}" - -#: js/calendar.js:841 -msgid "dddd, MMM d, yyyy" -msgstr "" - -#: lib/app.php:121 -msgid "Birthday" -msgstr "Gimtadienis" - -#: lib/app.php:122 -msgid "Business" -msgstr "Verslas" - -#: lib/app.php:123 -msgid "Call" -msgstr "Skambučiai" - -#: lib/app.php:124 -msgid "Clients" -msgstr "Klientai" - -#: lib/app.php:125 -msgid "Deliverer" -msgstr "Vykdytojas" - -#: lib/app.php:126 -msgid "Holidays" -msgstr "Išeiginės" - -#: lib/app.php:127 -msgid "Ideas" -msgstr "Idėjos" - -#: lib/app.php:128 -msgid "Journey" -msgstr "Kelionė" - -#: lib/app.php:129 -msgid "Jubilee" -msgstr "Jubiliejus" - -#: lib/app.php:130 -msgid "Meeting" -msgstr "Susitikimas" - -#: lib/app.php:131 -msgid "Other" -msgstr "Kiti" - -#: lib/app.php:132 -msgid "Personal" -msgstr "Asmeniniai" - -#: lib/app.php:133 -msgid "Projects" -msgstr "Projektai" - -#: lib/app.php:134 -msgid "Questions" -msgstr "Klausimai" - -#: lib/app.php:135 -msgid "Work" -msgstr "Darbas" - -#: lib/app.php:351 lib/app.php:361 -msgid "by" -msgstr "" - -#: lib/app.php:359 lib/app.php:399 -msgid "unnamed" -msgstr "be pavadinimo" - -#: lib/import.php:184 templates/calendar.php:12 -#: templates/part.choosecalendar.php:22 -msgid "New Calendar" -msgstr "Naujas kalendorius" - -#: lib/object.php:372 -msgid "Does not repeat" -msgstr "Nekartoti" - -#: lib/object.php:373 -msgid "Daily" -msgstr "Kasdien" - -#: lib/object.php:374 -msgid "Weekly" -msgstr "Kiekvieną savaitę" - -#: lib/object.php:375 -msgid "Every Weekday" -msgstr "Kiekvieną savaitės dieną" - -#: lib/object.php:376 -msgid "Bi-Weekly" -msgstr "Kas dvi savaites" - -#: lib/object.php:377 -msgid "Monthly" -msgstr "Kiekvieną mėnesį" - -#: lib/object.php:378 -msgid "Yearly" -msgstr "Kiekvienais metais" - -#: lib/object.php:388 -msgid "never" -msgstr "niekada" - -#: lib/object.php:389 -msgid "by occurrences" -msgstr "" - -#: lib/object.php:390 -msgid "by date" -msgstr "pagal datą" - -#: lib/object.php:400 -msgid "by monthday" -msgstr "pagal mėnesio dieną" - -#: lib/object.php:401 -msgid "by weekday" -msgstr "pagal savaitės dieną" - -#: lib/object.php:411 templates/calendar.php:5 templates/settings.php:69 -msgid "Monday" -msgstr "Pirmadienis" - -#: lib/object.php:412 templates/calendar.php:5 -msgid "Tuesday" -msgstr "Antradienis" - -#: lib/object.php:413 templates/calendar.php:5 -msgid "Wednesday" -msgstr "Trečiadienis" - -#: lib/object.php:414 templates/calendar.php:5 -msgid "Thursday" -msgstr "Ketvirtadienis" - -#: lib/object.php:415 templates/calendar.php:5 -msgid "Friday" -msgstr "Penktadienis" - -#: lib/object.php:416 templates/calendar.php:5 -msgid "Saturday" -msgstr "Šeštadienis" - -#: lib/object.php:417 templates/calendar.php:5 templates/settings.php:70 -msgid "Sunday" -msgstr "Sekmadienis" - -#: lib/object.php:427 -msgid "events week of month" -msgstr "" - -#: lib/object.php:428 -msgid "first" -msgstr "" - -#: lib/object.php:429 -msgid "second" -msgstr "" - -#: lib/object.php:430 -msgid "third" -msgstr "" - -#: lib/object.php:431 -msgid "fourth" -msgstr "" - -#: lib/object.php:432 -msgid "fifth" -msgstr "" - -#: lib/object.php:433 -msgid "last" -msgstr "" - -#: lib/object.php:467 templates/calendar.php:7 -msgid "January" -msgstr "Sausis" - -#: lib/object.php:468 templates/calendar.php:7 -msgid "February" -msgstr "Vasaris" - -#: lib/object.php:469 templates/calendar.php:7 -msgid "March" -msgstr "Kovas" - -#: lib/object.php:470 templates/calendar.php:7 -msgid "April" -msgstr "Balandis" - -#: lib/object.php:471 templates/calendar.php:7 -msgid "May" -msgstr "Gegužė" - -#: lib/object.php:472 templates/calendar.php:7 -msgid "June" -msgstr "Birželis" - -#: lib/object.php:473 templates/calendar.php:7 -msgid "July" -msgstr "Liepa" - -#: lib/object.php:474 templates/calendar.php:7 -msgid "August" -msgstr "Rugpjūtis" - -#: lib/object.php:475 templates/calendar.php:7 -msgid "September" -msgstr "Rugsėjis" - -#: lib/object.php:476 templates/calendar.php:7 -msgid "October" -msgstr "Spalis" - -#: lib/object.php:477 templates/calendar.php:7 -msgid "November" -msgstr "Lapkritis" - -#: lib/object.php:478 templates/calendar.php:7 -msgid "December" -msgstr "Gruodis" - -#: lib/object.php:488 -msgid "by events date" -msgstr "" - -#: lib/object.php:489 -msgid "by yearday(s)" -msgstr "" - -#: lib/object.php:490 -msgid "by weeknumber(s)" -msgstr "" - -#: lib/object.php:491 -msgid "by day and month" -msgstr "" - -#: lib/search.php:35 lib/search.php:37 lib/search.php:40 -msgid "Date" -msgstr "Data" - -#: lib/search.php:43 -msgid "Cal." -msgstr "Kal." - -#: templates/calendar.php:6 -msgid "Sun." -msgstr "" - -#: templates/calendar.php:6 -msgid "Mon." -msgstr "" - -#: templates/calendar.php:6 -msgid "Tue." -msgstr "" - -#: templates/calendar.php:6 -msgid "Wed." -msgstr "" - -#: templates/calendar.php:6 -msgid "Thu." -msgstr "" - -#: templates/calendar.php:6 -msgid "Fri." -msgstr "" - -#: templates/calendar.php:6 -msgid "Sat." -msgstr "" - -#: templates/calendar.php:8 -msgid "Jan." -msgstr "" - -#: templates/calendar.php:8 -msgid "Feb." -msgstr "" - -#: templates/calendar.php:8 -msgid "Mar." -msgstr "" - -#: templates/calendar.php:8 -msgid "Apr." -msgstr "" - -#: templates/calendar.php:8 -msgid "May." -msgstr "" - -#: templates/calendar.php:8 -msgid "Jun." -msgstr "" - -#: templates/calendar.php:8 -msgid "Jul." -msgstr "" - -#: templates/calendar.php:8 -msgid "Aug." -msgstr "" - -#: templates/calendar.php:8 -msgid "Sep." -msgstr "" - -#: templates/calendar.php:8 -msgid "Oct." -msgstr "" - -#: templates/calendar.php:8 -msgid "Nov." -msgstr "" - -#: templates/calendar.php:8 -msgid "Dec." -msgstr "" - -#: templates/calendar.php:11 -msgid "All day" -msgstr "Visa diena" - -#: templates/calendar.php:13 -msgid "Missing fields" -msgstr "Trūkstami laukai" - -#: templates/calendar.php:14 templates/part.eventform.php:19 -#: templates/part.showevent.php:11 -msgid "Title" -msgstr "Pavadinimas" - -#: templates/calendar.php:16 -msgid "From Date" -msgstr "Nuo datos" - -#: templates/calendar.php:17 -msgid "From Time" -msgstr "Nuo laiko" - -#: templates/calendar.php:18 -msgid "To Date" -msgstr "Iki datos" - -#: templates/calendar.php:19 -msgid "To Time" -msgstr "Iki laiko" - -#: templates/calendar.php:20 -msgid "The event ends before it starts" -msgstr "Įvykis baigiasi anksčiau nei jis prasideda" - -#: templates/calendar.php:21 -msgid "There was a database fail" -msgstr "Įvyko duomenų bazės klaida" - -#: templates/calendar.php:39 -msgid "Week" -msgstr "Savaitė" - -#: templates/calendar.php:40 -msgid "Month" -msgstr "Mėnuo" - -#: templates/calendar.php:41 -msgid "List" -msgstr "Sąrašas" - -#: templates/calendar.php:45 -msgid "Today" -msgstr "Šiandien" - -#: templates/calendar.php:46 templates/calendar.php:47 -msgid "Settings" -msgstr "" - -#: templates/part.choosecalendar.php:2 -msgid "Your calendars" -msgstr "Jūsų kalendoriai" - -#: templates/part.choosecalendar.php:27 -#: templates/part.choosecalendar.rowfields.php:11 -msgid "CalDav Link" -msgstr "CalDav adresas" - -#: templates/part.choosecalendar.php:31 -msgid "Shared calendars" -msgstr "Bendri kalendoriai" - -#: templates/part.choosecalendar.php:48 -msgid "No shared calendars" -msgstr "Bendrų kalendorių nėra" - -#: templates/part.choosecalendar.rowfields.php:8 -msgid "Share Calendar" -msgstr "Dalintis kalendoriumi" - -#: templates/part.choosecalendar.rowfields.php:14 -msgid "Download" -msgstr "Atsisiųsti" - -#: templates/part.choosecalendar.rowfields.php:17 -msgid "Edit" -msgstr "Keisti" - -#: templates/part.choosecalendar.rowfields.php:20 -#: templates/part.editevent.php:9 -msgid "Delete" -msgstr "Trinti" - -#: templates/part.choosecalendar.rowfields.shared.php:4 -msgid "shared with you by" -msgstr "" - -#: templates/part.editcalendar.php:9 -msgid "New calendar" -msgstr "Naujas kalendorius" - -#: templates/part.editcalendar.php:9 -msgid "Edit calendar" -msgstr "Taisyti kalendorių" - -#: templates/part.editcalendar.php:12 -msgid "Displayname" -msgstr "Pavadinimas" - -#: templates/part.editcalendar.php:23 -msgid "Active" -msgstr "Naudojamas" - -#: templates/part.editcalendar.php:29 -msgid "Calendar color" -msgstr "Kalendoriaus spalva" - -#: templates/part.editcalendar.php:42 -msgid "Save" -msgstr "Išsaugoti" - -#: templates/part.editcalendar.php:42 templates/part.editevent.php:8 -#: templates/part.newevent.php:6 -msgid "Submit" -msgstr "Išsaugoti" - -#: templates/part.editcalendar.php:43 -msgid "Cancel" -msgstr "Atšaukti" - -#: templates/part.editevent.php:1 -msgid "Edit an event" -msgstr "Taisyti įvykį" - -#: templates/part.editevent.php:10 -msgid "Export" -msgstr "Eksportuoti" - -#: templates/part.eventform.php:8 templates/part.showevent.php:3 -msgid "Eventinfo" -msgstr "Informacija" - -#: templates/part.eventform.php:9 templates/part.showevent.php:4 -msgid "Repeating" -msgstr "Pasikartojantis" - -#: templates/part.eventform.php:10 templates/part.showevent.php:5 -msgid "Alarm" -msgstr "Priminimas" - -#: templates/part.eventform.php:11 templates/part.showevent.php:6 -msgid "Attendees" -msgstr "Dalyviai" - -#: templates/part.eventform.php:13 -msgid "Share" -msgstr "Dalintis" - -#: templates/part.eventform.php:21 -msgid "Title of the Event" -msgstr "Įvykio pavadinimas" - -#: templates/part.eventform.php:27 templates/part.showevent.php:19 -msgid "Category" -msgstr "Kategorija" - -#: templates/part.eventform.php:29 -msgid "Separate categories with commas" -msgstr "Atskirkite kategorijas kableliais" - -#: templates/part.eventform.php:30 -msgid "Edit categories" -msgstr "Redaguoti kategorijas" - -#: templates/part.eventform.php:56 templates/part.showevent.php:52 -msgid "All Day Event" -msgstr "Visos dienos įvykis" - -#: templates/part.eventform.php:60 templates/part.showevent.php:56 -msgid "From" -msgstr "Nuo" - -#: templates/part.eventform.php:68 templates/part.showevent.php:64 -msgid "To" -msgstr "Iki" - -#: templates/part.eventform.php:76 templates/part.showevent.php:72 -msgid "Advanced options" -msgstr "Papildomi nustatymai" - -#: templates/part.eventform.php:81 templates/part.showevent.php:77 -msgid "Location" -msgstr "Vieta" - -#: templates/part.eventform.php:83 -msgid "Location of the Event" -msgstr "Įvykio vieta" - -#: templates/part.eventform.php:89 templates/part.showevent.php:85 -msgid "Description" -msgstr "Aprašymas" - -#: templates/part.eventform.php:91 -msgid "Description of the Event" -msgstr "Įvykio aprašymas" - -#: templates/part.eventform.php:100 templates/part.showevent.php:95 -msgid "Repeat" -msgstr "Kartoti" - -#: templates/part.eventform.php:107 templates/part.showevent.php:102 -msgid "Advanced" -msgstr "" - -#: templates/part.eventform.php:151 templates/part.showevent.php:146 -msgid "Select weekdays" -msgstr "Pasirinkite savaitės dienas" - -#: templates/part.eventform.php:164 templates/part.eventform.php:177 -#: templates/part.showevent.php:159 templates/part.showevent.php:172 -msgid "Select days" -msgstr "Pasirinkite dienas" - -#: templates/part.eventform.php:169 templates/part.showevent.php:164 -msgid "and the events day of year." -msgstr "" - -#: templates/part.eventform.php:182 templates/part.showevent.php:177 -msgid "and the events day of month." -msgstr "" - -#: templates/part.eventform.php:190 templates/part.showevent.php:185 -msgid "Select months" -msgstr "Pasirinkite mėnesius" - -#: templates/part.eventform.php:203 templates/part.showevent.php:198 -msgid "Select weeks" -msgstr "Pasirinkite savaites" - -#: templates/part.eventform.php:208 templates/part.showevent.php:203 -msgid "and the events week of year." -msgstr "" - -#: templates/part.eventform.php:214 templates/part.showevent.php:209 -msgid "Interval" -msgstr "Intervalas" - -#: templates/part.eventform.php:220 templates/part.showevent.php:215 -msgid "End" -msgstr "Pabaiga" - -#: templates/part.eventform.php:233 templates/part.showevent.php:228 -msgid "occurrences" -msgstr "" - -#: templates/part.import.php:14 -msgid "create a new calendar" -msgstr "sukurti naują kalendorių" - -#: templates/part.import.php:17 -msgid "Import a calendar file" -msgstr "Importuoti kalendoriaus failą" - -#: templates/part.import.php:24 -msgid "Please choose a calendar" -msgstr "" - -#: templates/part.import.php:36 -msgid "Name of new calendar" -msgstr "Naujo kalendoriaus pavadinimas" - -#: templates/part.import.php:44 -msgid "Take an available name!" -msgstr "" - -#: templates/part.import.php:45 -msgid "" -"A Calendar with this name already exists. If you continue anyhow, these " -"calendars will be merged." -msgstr "" - -#: templates/part.import.php:47 -msgid "Import" -msgstr "Importuoti" - -#: templates/part.import.php:56 -msgid "Close Dialog" -msgstr "Uždaryti" - -#: templates/part.newevent.php:1 -msgid "Create a new event" -msgstr "Sukurti naują įvykį" - -#: templates/part.showevent.php:1 -msgid "View an event" -msgstr "Peržiūrėti įvykį" - -#: templates/part.showevent.php:23 -msgid "No categories selected" -msgstr "Nepasirinktos jokios katagorijos" - -#: templates/part.showevent.php:37 -msgid "of" -msgstr "" - -#: templates/part.showevent.php:59 templates/part.showevent.php:67 -msgid "at" -msgstr "" - -#: templates/settings.php:10 -msgid "General" -msgstr "" - -#: templates/settings.php:15 -msgid "Timezone" -msgstr "Laiko juosta" - -#: templates/settings.php:47 -msgid "Update timezone automatically" -msgstr "" - -#: templates/settings.php:52 -msgid "Time format" -msgstr "" - -#: templates/settings.php:57 -msgid "24h" -msgstr "24val" - -#: templates/settings.php:58 -msgid "12h" -msgstr "12val" - -#: templates/settings.php:64 -msgid "Start week on" -msgstr "" - -#: templates/settings.php:76 -msgid "Cache" -msgstr "" - -#: templates/settings.php:80 -msgid "Clear cache for repeating events" -msgstr "" - -#: templates/settings.php:85 -msgid "URLs" -msgstr "" - -#: templates/settings.php:87 -msgid "Calendar CalDAV syncing addresses" -msgstr "" - -#: templates/settings.php:87 -msgid "more info" -msgstr "" - -#: templates/settings.php:89 -msgid "Primary address (Kontact et al)" -msgstr "" - -#: templates/settings.php:91 -msgid "iOS/OS X" -msgstr "" - -#: templates/settings.php:93 -msgid "Read only iCalendar link(s)" -msgstr "" - -#: templates/share.dropdown.php:20 -msgid "Users" -msgstr "Vartotojai" - -#: templates/share.dropdown.php:21 -msgid "select users" -msgstr "pasirinkti vartotojus" - -#: templates/share.dropdown.php:36 templates/share.dropdown.php:62 -msgid "Editable" -msgstr "Redaguojamas" - -#: templates/share.dropdown.php:48 -msgid "Groups" -msgstr "Grupės" - -#: templates/share.dropdown.php:49 -msgid "select groups" -msgstr "pasirinkti grupes" - -#: templates/share.dropdown.php:75 -msgid "make public" -msgstr "viešinti" diff --git a/l10n/lt_LT/contacts.po b/l10n/lt_LT/contacts.po deleted file mode 100644 index 963907b29745c2d0abb2e567982b00450000bf0c..0000000000000000000000000000000000000000 --- a/l10n/lt_LT/contacts.po +++ /dev/null @@ -1,953 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Dr. ROX , 2011, 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-24 02:02+0200\n" -"PO-Revision-Date: 2012-08-24 00:03+0000\n" -"Last-Translator: I Robot \n" -"Language-Team: Lithuanian (Lithuania) (http://www.transifex.com/projects/p/owncloud/language/lt_LT/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: lt_LT\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2)\n" - -#: ajax/addressbook/activate.php:24 ajax/addressbook/update.php:32 -msgid "Error (de)activating addressbook." -msgstr "Klaida (de)aktyvuojant adresų knygą." - -#: ajax/addressbook/delete.php:31 ajax/addressbook/update.php:20 -#: ajax/contact/addproperty.php:42 ajax/contact/delete.php:32 -#: ajax/contact/saveproperty.php:39 -msgid "id is not set." -msgstr "" - -#: ajax/addressbook/update.php:24 -msgid "Cannot update addressbook with an empty name." -msgstr "" - -#: ajax/addressbook/update.php:28 -msgid "Error updating addressbook." -msgstr "" - -#: ajax/categories/categoriesfor.php:17 -msgid "No ID provided" -msgstr "" - -#: ajax/categories/categoriesfor.php:34 -msgid "Error setting checksum." -msgstr "" - -#: ajax/categories/delete.php:19 -msgid "No categories selected for deletion." -msgstr "" - -#: ajax/categories/delete.php:26 -msgid "No address books found." -msgstr "" - -#: ajax/categories/delete.php:34 -msgid "No contacts found." -msgstr "Kontaktų nerasta." - -#: ajax/contact/add.php:47 -msgid "There was an error adding the contact." -msgstr "Pridedant kontaktą įvyko klaida." - -#: ajax/contact/addproperty.php:39 ajax/contact/saveproperty.php:36 -msgid "element name is not set." -msgstr "" - -#: ajax/contact/addproperty.php:46 -msgid "Could not parse contact: " -msgstr "" - -#: ajax/contact/addproperty.php:56 -msgid "Cannot add empty property." -msgstr "" - -#: ajax/contact/addproperty.php:67 -msgid "At least one of the address fields has to be filled out." -msgstr "" - -#: ajax/contact/addproperty.php:76 -msgid "Trying to add duplicate property: " -msgstr "" - -#: ajax/contact/addproperty.php:115 ajax/contact/saveproperty.php:93 -msgid "Missing IM parameter." -msgstr "" - -#: ajax/contact/addproperty.php:119 ajax/contact/saveproperty.php:97 -msgid "Unknown IM: " -msgstr "" - -#: ajax/contact/deleteproperty.php:37 -msgid "Information about vCard is incorrect. Please reload the page." -msgstr "Informacija apie vCard yra neteisinga. " - -#: ajax/contact/details.php:31 -msgid "Missing ID" -msgstr "" - -#: ajax/contact/details.php:36 -msgid "Error parsing VCard for ID: \"" -msgstr "" - -#: ajax/contact/saveproperty.php:42 -msgid "checksum is not set." -msgstr "" - -#: ajax/contact/saveproperty.php:62 -msgid "Information about vCard is incorrect. Please reload the page: " -msgstr "" - -#: ajax/contact/saveproperty.php:69 -msgid "Something went FUBAR. " -msgstr "" - -#: ajax/currentphoto.php:30 ajax/oc_photo.php:28 ajax/uploadphoto.php:36 -#: ajax/uploadphoto.php:68 -msgid "No contact ID was submitted." -msgstr "" - -#: ajax/currentphoto.php:36 -msgid "Error reading contact photo." -msgstr "Klaida skaitant kontakto nuotrauką." - -#: ajax/currentphoto.php:48 -msgid "Error saving temporary file." -msgstr "" - -#: ajax/currentphoto.php:51 -msgid "The loading photo is not valid." -msgstr "Netinkama įkeliama nuotrauka." - -#: ajax/editname.php:31 -msgid "Contact ID is missing." -msgstr "" - -#: ajax/oc_photo.php:32 -msgid "No photo path was submitted." -msgstr "" - -#: ajax/oc_photo.php:39 -msgid "File doesn't exist:" -msgstr "Failas neegzistuoja:" - -#: ajax/oc_photo.php:44 ajax/oc_photo.php:47 -msgid "Error loading image." -msgstr "Klaida įkeliant nuotrauką." - -#: ajax/savecrop.php:69 -msgid "Error getting contact object." -msgstr "" - -#: ajax/savecrop.php:79 -msgid "Error getting PHOTO property." -msgstr "" - -#: ajax/savecrop.php:98 -msgid "Error saving contact." -msgstr "" - -#: ajax/savecrop.php:109 -msgid "Error resizing image" -msgstr "" - -#: ajax/savecrop.php:112 -msgid "Error cropping image" -msgstr "" - -#: ajax/savecrop.php:115 -msgid "Error creating temporary image" -msgstr "" - -#: ajax/savecrop.php:118 -msgid "Error finding image: " -msgstr "" - -#: ajax/uploadimport.php:44 ajax/uploadimport.php:76 -msgid "Error uploading contacts to storage." -msgstr "" - -#: ajax/uploadimport.php:61 ajax/uploadphoto.php:77 -msgid "There is no error, the file uploaded with success" -msgstr "Failas įkeltas sėkmingai, be klaidų" - -#: ajax/uploadimport.php:62 ajax/uploadphoto.php:78 -msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" -msgstr "Įkeliamo failo dydis viršija upload_max_filesize nustatymą php.ini" - -#: ajax/uploadimport.php:63 ajax/uploadphoto.php:79 -msgid "" -"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " -"the HTML form" -msgstr "Įkeliamo failo dydis viršija MAX_FILE_SIZE nustatymą, kuris naudojamas HTML formoje." - -#: ajax/uploadimport.php:64 ajax/uploadphoto.php:80 -msgid "The uploaded file was only partially uploaded" -msgstr "Failas buvo įkeltas tik dalinai" - -#: ajax/uploadimport.php:65 ajax/uploadphoto.php:81 -msgid "No file was uploaded" -msgstr "Nebuvo įkeltas joks failas" - -#: ajax/uploadimport.php:66 ajax/uploadphoto.php:82 -msgid "Missing a temporary folder" -msgstr "" - -#: ajax/uploadphoto.php:59 ajax/uploadphoto.php:109 -msgid "Couldn't save temporary image: " -msgstr "" - -#: ajax/uploadphoto.php:62 ajax/uploadphoto.php:112 -msgid "Couldn't load temporary image: " -msgstr "" - -#: ajax/uploadphoto.php:71 -msgid "No file was uploaded. Unknown error" -msgstr "" - -#: appinfo/app.php:21 -msgid "Contacts" -msgstr "Kontaktai" - -#: js/contacts.js:71 -msgid "Sorry, this functionality has not been implemented yet" -msgstr "" - -#: js/contacts.js:71 -msgid "Not implemented" -msgstr "" - -#: js/contacts.js:76 -msgid "Couldn't get a valid address." -msgstr "" - -#: js/contacts.js:76 js/contacts.js:365 js/contacts.js:381 js/contacts.js:393 -#: js/contacts.js:723 js/contacts.js:763 js/contacts.js:789 js/contacts.js:921 -#: js/contacts.js:927 js/contacts.js:939 js/contacts.js:976 -#: js/contacts.js:1250 js/contacts.js:1258 js/contacts.js:1267 -#: js/contacts.js:1302 js/contacts.js:1338 js/contacts.js:1353 -#: js/contacts.js:1379 js/contacts.js:1609 js/contacts.js:1644 -#: js/contacts.js:1664 js/settings.js:26 js/settings.js:43 js/settings.js:68 -msgid "Error" -msgstr "" - -#: js/contacts.js:424 -msgid "You do not have permission to add contacts to " -msgstr "" - -#: js/contacts.js:425 -msgid "Please select one of your own address books." -msgstr "" - -#: js/contacts.js:425 -msgid "Permission error" -msgstr "" - -#: js/contacts.js:763 -msgid "This property has to be non-empty." -msgstr "" - -#: js/contacts.js:789 -msgid "Couldn't serialize elements." -msgstr "" - -#: js/contacts.js:921 js/contacts.js:939 -msgid "" -"'deleteProperty' called without type argument. Please report at " -"bugs.owncloud.org" -msgstr "" - -#: js/contacts.js:958 -msgid "Edit name" -msgstr "" - -#: js/contacts.js:1250 -msgid "No files selected for upload." -msgstr "" - -#: js/contacts.js:1258 -msgid "" -"The file you are trying to upload exceed the maximum size for file uploads " -"on this server." -msgstr "" - -#: js/contacts.js:1322 -msgid "Error loading profile picture." -msgstr "" - -#: js/contacts.js:1457 js/contacts.js:1498 js/contacts.js:1517 -#: js/contacts.js:1560 -msgid "Select type" -msgstr "" - -#: js/contacts.js:1578 -msgid "" -"Some contacts are marked for deletion, but not deleted yet. Please wait for " -"them to be deleted." -msgstr "" - -#: js/contacts.js:1649 -msgid "Do you want to merge these address books?" -msgstr "" - -#: js/loader.js:49 -msgid "Result: " -msgstr "" - -#: js/loader.js:49 -msgid " imported, " -msgstr "" - -#: js/loader.js:49 -msgid " failed." -msgstr "" - -#: js/settings.js:68 -msgid "Displayname cannot be empty." -msgstr "" - -#: lib/app.php:36 -msgid "Addressbook not found: " -msgstr "" - -#: lib/app.php:52 -msgid "This is not your addressbook." -msgstr "Tai ne jūsų adresų knygelė." - -#: lib/app.php:71 -msgid "Contact could not be found." -msgstr "Kontaktas nerastas" - -#: lib/app.php:116 -msgid "Jabber" -msgstr "" - -#: lib/app.php:121 -msgid "AIM" -msgstr "" - -#: lib/app.php:126 -msgid "MSN" -msgstr "" - -#: lib/app.php:131 -msgid "Twitter" -msgstr "" - -#: lib/app.php:136 -msgid "GoogleTalk" -msgstr "" - -#: lib/app.php:141 -msgid "Facebook" -msgstr "" - -#: lib/app.php:146 -msgid "XMPP" -msgstr "" - -#: lib/app.php:151 -msgid "ICQ" -msgstr "" - -#: lib/app.php:156 -msgid "Yahoo" -msgstr "" - -#: lib/app.php:161 -msgid "Skype" -msgstr "" - -#: lib/app.php:166 -msgid "QQ" -msgstr "" - -#: lib/app.php:171 -msgid "GaduGadu" -msgstr "" - -#: lib/app.php:194 lib/app.php:202 lib/app.php:213 lib/app.php:266 -msgid "Work" -msgstr "Darbo" - -#: lib/app.php:195 lib/app.php:200 lib/app.php:214 -msgid "Home" -msgstr "Namų" - -#: lib/app.php:196 lib/app.php:209 lib/app.php:262 lib/vcard.php:593 -msgid "Other" -msgstr "" - -#: lib/app.php:201 -msgid "Mobile" -msgstr "Mobilusis" - -#: lib/app.php:203 -msgid "Text" -msgstr "Žinučių" - -#: lib/app.php:204 -msgid "Voice" -msgstr "Balso" - -#: lib/app.php:205 -msgid "Message" -msgstr "Žinutė" - -#: lib/app.php:206 -msgid "Fax" -msgstr "Faksas" - -#: lib/app.php:207 -msgid "Video" -msgstr "Vaizdo" - -#: lib/app.php:208 -msgid "Pager" -msgstr "Pranešimų gaviklis" - -#: lib/app.php:215 -msgid "Internet" -msgstr "Internetas" - -#: lib/app.php:252 templates/part.contact.php:45 -#: templates/part.contact.php:128 -msgid "Birthday" -msgstr "Gimtadienis" - -#: lib/app.php:253 -msgid "Business" -msgstr "" - -#: lib/app.php:254 -msgid "Call" -msgstr "" - -#: lib/app.php:255 -msgid "Clients" -msgstr "" - -#: lib/app.php:256 -msgid "Deliverer" -msgstr "" - -#: lib/app.php:257 -msgid "Holidays" -msgstr "" - -#: lib/app.php:258 -msgid "Ideas" -msgstr "" - -#: lib/app.php:259 -msgid "Journey" -msgstr "" - -#: lib/app.php:260 -msgid "Jubilee" -msgstr "" - -#: lib/app.php:261 -msgid "Meeting" -msgstr "" - -#: lib/app.php:263 -msgid "Personal" -msgstr "" - -#: lib/app.php:264 -msgid "Projects" -msgstr "" - -#: lib/app.php:265 -msgid "Questions" -msgstr "" - -#: lib/hooks.php:102 -msgid "{name}'s Birthday" -msgstr "" - -#: lib/search.php:15 -msgid "Contact" -msgstr "Kontaktas" - -#: lib/vcard.php:408 -msgid "You do not have the permissions to edit this contact." -msgstr "" - -#: lib/vcard.php:483 -msgid "You do not have the permissions to delete this contact." -msgstr "" - -#: templates/index.php:14 -msgid "Add Contact" -msgstr "Pridėti kontaktą" - -#: templates/index.php:15 templates/index.php:16 templates/part.import.php:17 -msgid "Import" -msgstr "" - -#: templates/index.php:18 -msgid "Settings" -msgstr "" - -#: templates/index.php:18 templates/settings.php:9 -msgid "Addressbooks" -msgstr "Adresų knygos" - -#: templates/index.php:36 templates/part.import.php:24 -msgid "Close" -msgstr "" - -#: templates/index.php:37 -msgid "Keyboard shortcuts" -msgstr "" - -#: templates/index.php:39 -msgid "Navigation" -msgstr "" - -#: templates/index.php:42 -msgid "Next contact in list" -msgstr "" - -#: templates/index.php:44 -msgid "Previous contact in list" -msgstr "" - -#: templates/index.php:46 -msgid "Expand/collapse current addressbook" -msgstr "" - -#: templates/index.php:48 -msgid "Next addressbook" -msgstr "" - -#: templates/index.php:50 -msgid "Previous addressbook" -msgstr "" - -#: templates/index.php:54 -msgid "Actions" -msgstr "" - -#: templates/index.php:57 -msgid "Refresh contacts list" -msgstr "" - -#: templates/index.php:59 -msgid "Add new contact" -msgstr "" - -#: templates/index.php:61 -msgid "Add new addressbook" -msgstr "" - -#: templates/index.php:63 -msgid "Delete current contact" -msgstr "" - -#: templates/part.contact.php:17 -msgid "Drop photo to upload" -msgstr "" - -#: templates/part.contact.php:19 -msgid "Delete current photo" -msgstr "" - -#: templates/part.contact.php:20 -msgid "Edit current photo" -msgstr "" - -#: templates/part.contact.php:21 -msgid "Upload new photo" -msgstr "" - -#: templates/part.contact.php:22 -msgid "Select photo from ownCloud" -msgstr "" - -#: templates/part.contact.php:35 -msgid "Format custom, Short name, Full name, Reverse or Reverse with comma" -msgstr "" - -#: templates/part.contact.php:36 -msgid "Edit name details" -msgstr "" - -#: templates/part.contact.php:39 templates/part.contact.php:40 -#: templates/part.contact.php:126 -msgid "Organization" -msgstr "Organizacija" - -#: templates/part.contact.php:40 templates/part.contact.php:42 -#: templates/part.contact.php:44 templates/part.contact.php:46 -#: templates/part.contact.php:50 templates/settings.php:36 -msgid "Delete" -msgstr "Trinti" - -#: templates/part.contact.php:41 templates/part.contact.php:127 -msgid "Nickname" -msgstr "Slapyvardis" - -#: templates/part.contact.php:42 -msgid "Enter nickname" -msgstr "Įveskite slapyvardį" - -#: templates/part.contact.php:43 templates/part.contact.php:134 -msgid "Web site" -msgstr "" - -#: templates/part.contact.php:44 -msgid "http://www.somesite.com" -msgstr "" - -#: templates/part.contact.php:44 -msgid "Go to web site" -msgstr "" - -#: templates/part.contact.php:46 -msgid "dd-mm-yyyy" -msgstr "" - -#: templates/part.contact.php:47 templates/part.contact.php:135 -msgid "Groups" -msgstr "" - -#: templates/part.contact.php:49 -msgid "Separate groups with commas" -msgstr "" - -#: templates/part.contact.php:50 -msgid "Edit groups" -msgstr "" - -#: templates/part.contact.php:59 templates/part.contact.php:73 -#: templates/part.contact.php:98 -msgid "Preferred" -msgstr "" - -#: templates/part.contact.php:60 -msgid "Please specify a valid email address." -msgstr "" - -#: templates/part.contact.php:60 -msgid "Enter email address" -msgstr "" - -#: templates/part.contact.php:64 -msgid "Mail to address" -msgstr "" - -#: templates/part.contact.php:65 -msgid "Delete email address" -msgstr "" - -#: templates/part.contact.php:75 -msgid "Enter phone number" -msgstr "" - -#: templates/part.contact.php:79 -msgid "Delete phone number" -msgstr "" - -#: templates/part.contact.php:100 -msgid "Instant Messenger" -msgstr "" - -#: templates/part.contact.php:101 -msgid "Delete IM" -msgstr "" - -#: templates/part.contact.php:110 -msgid "View on map" -msgstr "" - -#: templates/part.contact.php:110 -msgid "Edit address details" -msgstr "" - -#: templates/part.contact.php:116 -msgid "Add notes here." -msgstr "" - -#: templates/part.contact.php:124 -msgid "Add field" -msgstr "" - -#: templates/part.contact.php:129 -msgid "Phone" -msgstr "Telefonas" - -#: templates/part.contact.php:130 -msgid "Email" -msgstr "El. paštas" - -#: templates/part.contact.php:131 -msgid "Instant Messaging" -msgstr "" - -#: templates/part.contact.php:132 -msgid "Address" -msgstr "Adresas" - -#: templates/part.contact.php:133 -msgid "Note" -msgstr "" - -#: templates/part.contact.php:138 -msgid "Download contact" -msgstr "Atsisųsti kontaktą" - -#: templates/part.contact.php:139 -msgid "Delete contact" -msgstr "Ištrinti kontaktą" - -#: templates/part.cropphoto.php:65 -msgid "The temporary image has been removed from cache." -msgstr "" - -#: templates/part.edit_address_dialog.php:6 -msgid "Edit address" -msgstr "" - -#: templates/part.edit_address_dialog.php:10 -msgid "Type" -msgstr "Tipas" - -#: templates/part.edit_address_dialog.php:18 -#: templates/part.edit_address_dialog.php:21 -msgid "PO Box" -msgstr "Pašto dėžutė" - -#: templates/part.edit_address_dialog.php:24 -msgid "Street address" -msgstr "" - -#: templates/part.edit_address_dialog.php:27 -msgid "Street and number" -msgstr "" - -#: templates/part.edit_address_dialog.php:30 -msgid "Extended" -msgstr "" - -#: templates/part.edit_address_dialog.php:33 -msgid "Apartment number etc." -msgstr "" - -#: templates/part.edit_address_dialog.php:36 -#: templates/part.edit_address_dialog.php:39 -msgid "City" -msgstr "Miestas" - -#: templates/part.edit_address_dialog.php:42 -msgid "Region" -msgstr "Regionas" - -#: templates/part.edit_address_dialog.php:45 -msgid "E.g. state or province" -msgstr "" - -#: templates/part.edit_address_dialog.php:48 -msgid "Zipcode" -msgstr "Pašto indeksas" - -#: templates/part.edit_address_dialog.php:51 -msgid "Postal code" -msgstr "" - -#: templates/part.edit_address_dialog.php:54 -#: templates/part.edit_address_dialog.php:57 -msgid "Country" -msgstr "Šalis" - -#: templates/part.edit_name_dialog.php:16 -msgid "Addressbook" -msgstr "Adresų knyga" - -#: templates/part.edit_name_dialog.php:23 -msgid "Hon. prefixes" -msgstr "" - -#: templates/part.edit_name_dialog.php:27 -msgid "Miss" -msgstr "" - -#: templates/part.edit_name_dialog.php:28 -msgid "Ms" -msgstr "" - -#: templates/part.edit_name_dialog.php:29 -msgid "Mr" -msgstr "" - -#: templates/part.edit_name_dialog.php:30 -msgid "Sir" -msgstr "" - -#: templates/part.edit_name_dialog.php:31 -msgid "Mrs" -msgstr "" - -#: templates/part.edit_name_dialog.php:32 -msgid "Dr" -msgstr "" - -#: templates/part.edit_name_dialog.php:35 -msgid "Given name" -msgstr "" - -#: templates/part.edit_name_dialog.php:37 -msgid "Additional names" -msgstr "" - -#: templates/part.edit_name_dialog.php:39 -msgid "Family name" -msgstr "" - -#: templates/part.edit_name_dialog.php:41 -msgid "Hon. suffixes" -msgstr "" - -#: templates/part.edit_name_dialog.php:45 -msgid "J.D." -msgstr "" - -#: templates/part.edit_name_dialog.php:46 -msgid "M.D." -msgstr "" - -#: templates/part.edit_name_dialog.php:47 -msgid "D.O." -msgstr "" - -#: templates/part.edit_name_dialog.php:48 -msgid "D.C." -msgstr "" - -#: templates/part.edit_name_dialog.php:49 -msgid "Ph.D." -msgstr "" - -#: templates/part.edit_name_dialog.php:50 -msgid "Esq." -msgstr "" - -#: templates/part.edit_name_dialog.php:51 -msgid "Jr." -msgstr "" - -#: templates/part.edit_name_dialog.php:52 -msgid "Sn." -msgstr "" - -#: templates/part.import.php:1 -msgid "Import a contacts file" -msgstr "" - -#: templates/part.import.php:6 -msgid "Please choose the addressbook" -msgstr "" - -#: templates/part.import.php:10 -msgid "create a new addressbook" -msgstr "" - -#: templates/part.import.php:15 -msgid "Name of new addressbook" -msgstr "" - -#: templates/part.import.php:20 -msgid "Importing contacts" -msgstr "" - -#: templates/part.no_contacts.php:3 -msgid "You have no contacts in your addressbook." -msgstr "" - -#: templates/part.no_contacts.php:5 -msgid "Add contact" -msgstr "" - -#: templates/part.selectaddressbook.php:1 -msgid "Select Address Books" -msgstr "" - -#: templates/part.selectaddressbook.php:27 -msgid "Enter name" -msgstr "" - -#: templates/part.selectaddressbook.php:29 -msgid "Enter description" -msgstr "" - -#: templates/settings.php:3 -msgid "CardDAV syncing addresses" -msgstr "" - -#: templates/settings.php:3 -msgid "more info" -msgstr "" - -#: templates/settings.php:5 -msgid "Primary address (Kontact et al)" -msgstr "" - -#: templates/settings.php:7 -msgid "iOS/OS X" -msgstr "" - -#: templates/settings.php:20 -msgid "Show CardDav link" -msgstr "" - -#: templates/settings.php:23 -msgid "Show read-only VCF link" -msgstr "" - -#: templates/settings.php:26 -msgid "Share" -msgstr "" - -#: templates/settings.php:29 -msgid "Download" -msgstr "Atsisiųsti" - -#: templates/settings.php:33 -msgid "Edit" -msgstr "Keisti" - -#: templates/settings.php:43 -msgid "New Address Book" -msgstr "Nauja adresų knyga" - -#: templates/settings.php:44 -msgid "Name" -msgstr "" - -#: templates/settings.php:45 -msgid "Description" -msgstr "" - -#: templates/settings.php:46 -msgid "Save" -msgstr "Išsaugoti" - -#: templates/settings.php:47 -msgid "Cancel" -msgstr "Atšaukti" - -#: templates/settings.php:52 -msgid "More..." -msgstr "" diff --git a/l10n/lt_LT/core.po b/l10n/lt_LT/core.po index 529ba10793d5cecfb11c5f0a5499ee018c331843..6354588982752574dd19ed9ed64ce63f93069e34 100644 --- a/l10n/lt_LT/core.po +++ b/l10n/lt_LT/core.po @@ -3,14 +3,15 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# , 2012. # Dr. ROX , 2011, 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-16 02:04+0200\n" -"PO-Revision-Date: 2012-10-16 00:05+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-11-16 00:02+0100\n" +"PO-Revision-Date: 2012-11-14 23:13+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Lithuanian (Lithuania) (http://www.transifex.com/projects/p/owncloud/language/lt_LT/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -18,209 +19,241 @@ msgstr "" "Language: lt_LT\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -#: ajax/vcategories/add.php:23 ajax/vcategories/delete.php:23 -msgid "Application name not provided." -msgstr "Nepateiktas programos pavadinimas." +#: ajax/vcategories/add.php:26 ajax/vcategories/edit.php:25 +msgid "Category type not provided." +msgstr "" -#: ajax/vcategories/add.php:29 +#: ajax/vcategories/add.php:30 msgid "No category to add?" msgstr "Nepridėsite jokios kategorijos?" -#: ajax/vcategories/add.php:36 +#: ajax/vcategories/add.php:37 msgid "This category already exists: " msgstr "Tokia kategorija jau yra:" -#: js/js.js:238 templates/layout.user.php:49 templates/layout.user.php:50 +#: ajax/vcategories/addToFavorites.php:26 ajax/vcategories/delete.php:27 +#: ajax/vcategories/favorites.php:24 +#: ajax/vcategories/removeFromFavorites.php:26 +msgid "Object type not provided." +msgstr "" + +#: ajax/vcategories/addToFavorites.php:30 +#: ajax/vcategories/removeFromFavorites.php:30 +#, php-format +msgid "%s ID not provided." +msgstr "" + +#: ajax/vcategories/addToFavorites.php:35 +#, php-format +msgid "Error adding %s to favorites." +msgstr "" + +#: ajax/vcategories/delete.php:35 js/oc-vcategories.js:136 +msgid "No categories selected for deletion." +msgstr "Trynimui nepasirinkta jokia kategorija." + +#: ajax/vcategories/removeFromFavorites.php:35 +#, php-format +msgid "Error removing %s from favorites." +msgstr "" + +#: js/js.js:243 templates/layout.user.php:59 templates/layout.user.php:60 msgid "Settings" msgstr "Nustatymai" -#: js/js.js:670 -msgid "January" -msgstr "Sausis" +#: js/js.js:688 +msgid "seconds ago" +msgstr "prieš sekundę" -#: js/js.js:670 -msgid "February" -msgstr "Vasaris" +#: js/js.js:689 +msgid "1 minute ago" +msgstr "Prieš 1 minutę" -#: js/js.js:670 -msgid "March" -msgstr "Kovas" +#: js/js.js:690 +msgid "{minutes} minutes ago" +msgstr "Prieš {count} minutes" -#: js/js.js:670 -msgid "April" -msgstr "Balandis" +#: js/js.js:691 +msgid "1 hour ago" +msgstr "" -#: js/js.js:670 -msgid "May" -msgstr "Gegužė" +#: js/js.js:692 +msgid "{hours} hours ago" +msgstr "" -#: js/js.js:670 -msgid "June" -msgstr "Birželis" +#: js/js.js:693 +msgid "today" +msgstr "šiandien" -#: js/js.js:671 -msgid "July" -msgstr "Liepa" +#: js/js.js:694 +msgid "yesterday" +msgstr "vakar" -#: js/js.js:671 -msgid "August" -msgstr "Rugpjūtis" +#: js/js.js:695 +msgid "{days} days ago" +msgstr "Prieš {days} dienas" -#: js/js.js:671 -msgid "September" -msgstr "Rugsėjis" +#: js/js.js:696 +msgid "last month" +msgstr "praeitą mėnesį" -#: js/js.js:671 -msgid "October" -msgstr "Spalis" +#: js/js.js:697 +msgid "{months} months ago" +msgstr "" -#: js/js.js:671 -msgid "November" -msgstr "Lapkritis" +#: js/js.js:698 +msgid "months ago" +msgstr "prieš mėnesį" -#: js/js.js:671 -msgid "December" -msgstr "Gruodis" +#: js/js.js:699 +msgid "last year" +msgstr "praeitais metais" + +#: js/js.js:700 +msgid "years ago" +msgstr "prieš metus" -#: js/oc-dialogs.js:123 +#: js/oc-dialogs.js:126 msgid "Choose" -msgstr "" +msgstr "Pasirinkite" -#: js/oc-dialogs.js:143 js/oc-dialogs.js:163 +#: js/oc-dialogs.js:146 js/oc-dialogs.js:166 msgid "Cancel" msgstr "Atšaukti" -#: js/oc-dialogs.js:159 +#: js/oc-dialogs.js:162 msgid "No" msgstr "Ne" -#: js/oc-dialogs.js:160 +#: js/oc-dialogs.js:163 msgid "Yes" msgstr "Taip" -#: js/oc-dialogs.js:177 +#: js/oc-dialogs.js:180 msgid "Ok" msgstr "Gerai" -#: js/oc-vcategories.js:68 -msgid "No categories selected for deletion." -msgstr "Trynimui nepasirinkta jokia kategorija." +#: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102 +#: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162 +msgid "The object type is not specified." +msgstr "" -#: js/oc-vcategories.js:68 js/share.js:114 js/share.js:121 js/share.js:497 -#: js/share.js:509 +#: js/oc-vcategories.js:95 js/oc-vcategories.js:125 js/oc-vcategories.js:136 +#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:525 +#: js/share.js:537 msgid "Error" msgstr "Klaida" -#: js/share.js:103 -msgid "Error while sharing" +#: js/oc-vcategories.js:179 +msgid "The app name is not specified." msgstr "" -#: js/share.js:114 -msgid "Error while unsharing" +#: js/oc-vcategories.js:194 +msgid "The required file {file} is not installed!" msgstr "" -#: js/share.js:121 -msgid "Error while changing permissions" -msgstr "" +#: js/share.js:124 +msgid "Error while sharing" +msgstr "Klaida, dalijimosi metu" -#: js/share.js:130 -msgid "Shared with you and the group" -msgstr "" +#: js/share.js:135 +msgid "Error while unsharing" +msgstr "Klaida, kai atšaukiamas dalijimasis" -#: js/share.js:130 -msgid "by" -msgstr "" +#: js/share.js:142 +msgid "Error while changing permissions" +msgstr "Klaida, keičiant privilegijas" -#: js/share.js:132 -msgid "Shared with you by" -msgstr "" +#: js/share.js:151 +msgid "Shared with you and the group {group} by {owner}" +msgstr "Pasidalino su Jumis ir {group} grupe {owner}" + +#: js/share.js:153 +msgid "Shared with you by {owner}" +msgstr "Pasidalino su Jumis {owner}" -#: js/share.js:137 +#: js/share.js:158 msgid "Share with" -msgstr "" +msgstr "Dalintis su" -#: js/share.js:142 +#: js/share.js:163 msgid "Share with link" -msgstr "" +msgstr "Dalintis nuoroda" -#: js/share.js:143 +#: js/share.js:164 msgid "Password protect" -msgstr "" +msgstr "Apsaugotas slaptažodžiu" -#: js/share.js:147 templates/installation.php:42 templates/login.php:24 +#: js/share.js:168 templates/installation.php:42 templates/login.php:24 #: templates/verify.php:13 msgid "Password" msgstr "Slaptažodis" -#: js/share.js:152 +#: js/share.js:173 msgid "Set expiration date" -msgstr "" +msgstr "Nustatykite galiojimo laiką" -#: js/share.js:153 +#: js/share.js:174 msgid "Expiration date" -msgstr "" +msgstr "Galiojimo laikas" -#: js/share.js:185 +#: js/share.js:206 msgid "Share via email:" -msgstr "" +msgstr "Dalintis per el. paštą:" -#: js/share.js:187 +#: js/share.js:208 msgid "No people found" -msgstr "" +msgstr "Žmonių nerasta" -#: js/share.js:214 +#: js/share.js:235 msgid "Resharing is not allowed" -msgstr "" - -#: js/share.js:250 -msgid "Shared in" -msgstr "" - -#: js/share.js:250 -msgid "with" -msgstr "" +msgstr "Dalijinasis išnaujo negalimas" #: js/share.js:271 +msgid "Shared in {item} with {user}" +msgstr "Pasidalino {item} su {user}" + +#: js/share.js:292 msgid "Unshare" -msgstr "" +msgstr "Nesidalinti" -#: js/share.js:283 +#: js/share.js:304 msgid "can edit" -msgstr "" +msgstr "gali redaguoti" -#: js/share.js:285 +#: js/share.js:306 msgid "access control" -msgstr "" +msgstr "priėjimo kontrolė" -#: js/share.js:288 +#: js/share.js:309 msgid "create" -msgstr "" +msgstr "sukurti" -#: js/share.js:291 +#: js/share.js:312 msgid "update" -msgstr "" +msgstr "atnaujinti" -#: js/share.js:294 +#: js/share.js:315 msgid "delete" -msgstr "" +msgstr "ištrinti" -#: js/share.js:297 +#: js/share.js:318 msgid "share" -msgstr "" +msgstr "dalintis" -#: js/share.js:322 js/share.js:484 +#: js/share.js:343 js/share.js:512 js/share.js:514 msgid "Password protected" -msgstr "" +msgstr "Apsaugota slaptažodžiu" -#: js/share.js:497 +#: js/share.js:525 msgid "Error unsetting expiration date" -msgstr "" +msgstr "Klaida nuimant galiojimo laiką" -#: js/share.js:509 +#: js/share.js:537 msgid "Error setting expiration date" -msgstr "" +msgstr "Klaida nustatant galiojimo laiką" -#: lostpassword/index.php:26 +#: lostpassword/controller.php:47 msgid "ownCloud password reset" msgstr "ownCloud slaptažodžio atkūrimas" @@ -233,12 +266,12 @@ msgid "You will receive a link to reset your password via Email." msgstr "Elektroniniu paštu gausite nuorodą, su kuria galėsite iš naujo nustatyti slaptažodį." #: lostpassword/templates/lostpassword.php:5 -msgid "Requested" -msgstr "Užklausta" +msgid "Reset email send." +msgstr "" #: lostpassword/templates/lostpassword.php:8 -msgid "Login failed!" -msgstr "Prisijungti nepavyko!" +msgid "Request failed!" +msgstr "" #: lostpassword/templates/lostpassword.php:11 templates/installation.php:38 #: templates/login.php:20 @@ -297,25 +330,25 @@ msgstr "Negalima rasti" msgid "Edit categories" msgstr "Redaguoti kategorijas" -#: templates/edit_categories_dialog.php:14 +#: templates/edit_categories_dialog.php:16 msgid "Add" msgstr "Pridėti" #: templates/installation.php:23 templates/installation.php:31 msgid "Security Warning" -msgstr "" +msgstr "Saugumo pranešimas" #: templates/installation.php:24 msgid "" "No secure random number generator is available, please enable the PHP " "OpenSSL extension." -msgstr "" +msgstr "Saugaus atsitiktinių skaičių generatoriaus nėra, prašome įjungti PHP OpenSSL modulį." #: templates/installation.php:26 msgid "" "Without a secure random number generator an attacker may be able to predict " "password reset tokens and take over your account." -msgstr "" +msgstr "Be saugaus atsitiktinių skaičių generatoriaus, piktavaliai gali atspėti Jūsų slaptažodį ir pasisavinti paskyrą." #: templates/installation.php:32 msgid "" @@ -324,7 +357,7 @@ msgid "" "strongly suggest that you configure your webserver in a way that the data " "directory is no longer accessible or you move the data directory outside the" " webserver document root." -msgstr "" +msgstr "Jūsų duomenų aplankalas ir Jūsų failai turbūt yra pasiekiami per internetą. Failas .htaccess, kuris duodamas, neveikia. Mes rekomenduojame susitvarkyti savo nustatymsu taip, kad failai nebūtų pasiekiami per internetą, arba persikelti juos kitur." #: templates/installation.php:36 msgid "Create an admin account" @@ -361,7 +394,7 @@ msgstr "Duomenų bazės pavadinimas" #: templates/installation.php:121 msgid "Database tablespace" -msgstr "" +msgstr "Duomenų bazės loginis saugojimas" #: templates/installation.php:127 msgid "Database host" @@ -371,27 +404,103 @@ msgstr "Duomenų bazės serveris" msgid "Finish setup" msgstr "Baigti diegimą" -#: templates/layout.guest.php:38 +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Sunday" +msgstr "Sekmadienis" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Monday" +msgstr "Pirmadienis" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Tuesday" +msgstr "Antradienis" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Wednesday" +msgstr "Trečiadienis" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Thursday" +msgstr "Ketvirtadienis" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Friday" +msgstr "Penktadienis" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Saturday" +msgstr "Šeštadienis" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "January" +msgstr "Sausis" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "February" +msgstr "Vasaris" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "March" +msgstr "Kovas" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "April" +msgstr "Balandis" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "May" +msgstr "Gegužė" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "June" +msgstr "Birželis" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "July" +msgstr "Liepa" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "August" +msgstr "Rugpjūtis" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "September" +msgstr "Rugsėjis" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "October" +msgstr "Spalis" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "November" +msgstr "Lapkritis" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "December" +msgstr "Gruodis" + +#: templates/layout.guest.php:41 msgid "web services under your control" msgstr "jūsų valdomos web paslaugos" -#: templates/layout.user.php:34 +#: templates/layout.user.php:44 msgid "Log out" msgstr "Atsijungti" #: templates/login.php:8 msgid "Automatic logon rejected!" -msgstr "" +msgstr "Automatinis prisijungimas atmestas!" #: templates/login.php:9 msgid "" "If you did not change your password recently, your account may be " "compromised!" -msgstr "" +msgstr "Jei paskutinių metu nekeitėte savo slaptažodžio, Jūsų paskyra gali būti pavojuje!" #: templates/login.php:10 msgid "Please change your password to secure your account again." -msgstr "" +msgstr "Prašome pasikeisti slaptažodį dar kartą, dėl paskyros saugumo." #: templates/login.php:15 msgid "Lost your password?" @@ -419,14 +528,14 @@ msgstr "kitas" #: templates/verify.php:5 msgid "Security Warning!" -msgstr "" +msgstr "Saugumo pranešimas!" #: templates/verify.php:6 msgid "" "Please verify your password.
For security reasons you may be " "occasionally asked to enter your password again." -msgstr "" +msgstr "Prašome patvirtinti savo vartotoją.
Dėl saugumo, slaptažodžio patvirtinimas bus reikalaujamas įvesti kas kiek laiko." #: templates/verify.php:16 msgid "Verify" -msgstr "" +msgstr "Patvirtinti" diff --git a/l10n/lt_LT/files.po b/l10n/lt_LT/files.po index 60cfe9abe22acb66ce4fbd8ca69177b7c7d50718..ef30d7726ce86adc1ccd3173a0661a194045d6bf 100644 --- a/l10n/lt_LT/files.po +++ b/l10n/lt_LT/files.po @@ -3,15 +3,16 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# , 2012. # Denisas Kulumbegašvili <>, 2012. # Dr. ROX , 2011, 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-09-26 13:19+0200\n" -"PO-Revision-Date: 2012-09-26 11:20+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-12-01 00:01+0100\n" +"PO-Revision-Date: 2012-11-30 23:02+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Lithuanian (Lithuania) (http://www.transifex.com/projects/p/owncloud/language/lt_LT/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -24,195 +25,166 @@ msgid "There is no error, the file uploaded with success" msgstr "Klaidų nėra, failas įkeltas sėkmingai" #: ajax/upload.php:21 -msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" -msgstr "Įkeliamo failo dydis viršija upload_max_filesize parametrą php.ini" +msgid "" +"The uploaded file exceeds the upload_max_filesize directive in php.ini: " +msgstr "" -#: ajax/upload.php:22 +#: ajax/upload.php:23 msgid "" "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " "the HTML form" msgstr "Įkeliamo failo dydis viršija MAX_FILE_SIZE parametrą, kuris yra nustatytas HTML formoje" -#: ajax/upload.php:23 +#: ajax/upload.php:25 msgid "The uploaded file was only partially uploaded" msgstr "Failas buvo įkeltas tik dalinai" -#: ajax/upload.php:24 +#: ajax/upload.php:26 msgid "No file was uploaded" msgstr "Nebuvo įkeltas nė vienas failas" -#: ajax/upload.php:25 +#: ajax/upload.php:27 msgid "Missing a temporary folder" msgstr "Nėra laikinojo katalogo" -#: ajax/upload.php:26 +#: ajax/upload.php:28 msgid "Failed to write to disk" msgstr "Nepavyko įrašyti į diską" -#: appinfo/app.php:6 +#: appinfo/app.php:10 msgid "Files" msgstr "Failai" -#: js/fileactions.js:108 templates/index.php:62 +#: js/fileactions.js:117 templates/index.php:83 templates/index.php:84 msgid "Unshare" -msgstr "" +msgstr "Nebesidalinti" -#: js/fileactions.js:110 templates/index.php:64 +#: js/fileactions.js:119 templates/index.php:89 templates/index.php:90 msgid "Delete" msgstr "Ištrinti" -#: js/fileactions.js:182 +#: js/fileactions.js:181 msgid "Rename" -msgstr "" +msgstr "Pervadinti" -#: js/filelist.js:190 js/filelist.js:192 -msgid "already exists" -msgstr "" +#: js/filelist.js:201 js/filelist.js:203 +msgid "{new_name} already exists" +msgstr "{new_name} jau egzistuoja" -#: js/filelist.js:190 js/filelist.js:192 +#: js/filelist.js:201 js/filelist.js:203 msgid "replace" -msgstr "" +msgstr "pakeisti" -#: js/filelist.js:190 +#: js/filelist.js:201 msgid "suggest name" -msgstr "" +msgstr "pasiūlyti pavadinimą" -#: js/filelist.js:190 js/filelist.js:192 +#: js/filelist.js:201 js/filelist.js:203 msgid "cancel" msgstr "atšaukti" -#: js/filelist.js:239 js/filelist.js:241 -msgid "replaced" -msgstr "" +#: js/filelist.js:250 +msgid "replaced {new_name}" +msgstr "pakeiskite {new_name}" -#: js/filelist.js:239 js/filelist.js:241 js/filelist.js:273 js/filelist.js:275 +#: js/filelist.js:250 js/filelist.js:252 js/filelist.js:284 js/filelist.js:286 msgid "undo" -msgstr "" +msgstr "anuliuoti" -#: js/filelist.js:241 -msgid "with" -msgstr "" +#: js/filelist.js:252 +msgid "replaced {new_name} with {old_name}" +msgstr "pakeiskite {new_name} į {old_name}" -#: js/filelist.js:273 -msgid "unshared" -msgstr "" +#: js/filelist.js:284 +msgid "unshared {files}" +msgstr "nebesidalinti {files}" + +#: js/filelist.js:286 +msgid "deleted {files}" +msgstr "ištrinti {files}" -#: js/filelist.js:275 -msgid "deleted" +#: js/files.js:33 +msgid "" +"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not " +"allowed." msgstr "" -#: js/files.js:179 +#: js/files.js:183 msgid "generating ZIP-file, it may take some time." msgstr "kuriamas ZIP archyvas, tai gali užtrukti šiek tiek laiko." -#: js/files.js:208 +#: js/files.js:218 msgid "Unable to upload your file as it is a directory or has 0 bytes" msgstr "Neįmanoma įkelti failo - jo dydis gali būti 0 bitų arba tai katalogas" -#: js/files.js:208 +#: js/files.js:218 msgid "Upload Error" msgstr "Įkėlimo klaida" -#: js/files.js:236 js/files.js:341 js/files.js:371 +#: js/files.js:235 +msgid "Close" +msgstr "Užverti" + +#: js/files.js:254 js/files.js:368 js/files.js:398 msgid "Pending" msgstr "Laukiantis" -#: js/files.js:256 +#: js/files.js:274 msgid "1 file uploading" -msgstr "" +msgstr "įkeliamas 1 failas" -#: js/files.js:259 js/files.js:304 js/files.js:319 -msgid "files uploading" -msgstr "" +#: js/files.js:277 js/files.js:331 js/files.js:346 +msgid "{count} files uploading" +msgstr "{count} įkeliami failai" -#: js/files.js:322 js/files.js:355 +#: js/files.js:349 js/files.js:382 msgid "Upload cancelled." msgstr "Įkėlimas atšauktas." -#: js/files.js:424 +#: js/files.js:451 msgid "" "File upload is in progress. Leaving the page now will cancel the upload." -msgstr "" - -#: js/files.js:494 -msgid "Invalid name, '/' is not allowed." -msgstr "Pavadinime negali būti naudojamas ženklas \"/\"." +msgstr "Failo įkėlimas pradėtas. Jei paliksite šį puslapį, įkėlimas nutrūks." -#: js/files.js:667 -msgid "files scanned" +#: js/files.js:523 +msgid "Invalid folder name. Usage of \"Shared\" is reserved by Owncloud" msgstr "" -#: js/files.js:675 +#: js/files.js:704 +msgid "{count} files scanned" +msgstr "{count} praskanuoti failai" + +#: js/files.js:712 msgid "error while scanning" -msgstr "" +msgstr "klaida skanuojant" -#: js/files.js:748 templates/index.php:48 +#: js/files.js:785 templates/index.php:65 msgid "Name" msgstr "Pavadinimas" -#: js/files.js:749 templates/index.php:56 +#: js/files.js:786 templates/index.php:76 msgid "Size" msgstr "Dydis" -#: js/files.js:750 templates/index.php:58 +#: js/files.js:787 templates/index.php:78 msgid "Modified" msgstr "Pakeista" -#: js/files.js:777 -msgid "folder" -msgstr "katalogas" +#: js/files.js:814 +msgid "1 folder" +msgstr "1 aplankalas" -#: js/files.js:779 -msgid "folders" -msgstr "katalogai" +#: js/files.js:816 +msgid "{count} folders" +msgstr "{count} aplankalai" -#: js/files.js:787 -msgid "file" -msgstr "failas" +#: js/files.js:824 +msgid "1 file" +msgstr "1 failas" -#: js/files.js:789 -msgid "files" -msgstr "failai" - -#: js/files.js:833 -msgid "seconds ago" -msgstr "" - -#: js/files.js:834 -msgid "minute ago" -msgstr "" - -#: js/files.js:835 -msgid "minutes ago" -msgstr "" - -#: js/files.js:838 -msgid "today" -msgstr "" - -#: js/files.js:839 -msgid "yesterday" -msgstr "" - -#: js/files.js:840 -msgid "days ago" -msgstr "" - -#: js/files.js:841 -msgid "last month" -msgstr "" - -#: js/files.js:843 -msgid "months ago" -msgstr "" - -#: js/files.js:844 -msgid "last year" -msgstr "" - -#: js/files.js:845 -msgid "years ago" -msgstr "" +#: js/files.js:826 +msgid "{count} files" +msgstr "{count} failai" #: templates/admin.php:5 msgid "File handling" @@ -222,80 +194,76 @@ msgstr "Failų tvarkymas" msgid "Maximum upload size" msgstr "Maksimalus įkeliamo failo dydis" -#: templates/admin.php:7 +#: templates/admin.php:9 msgid "max. possible: " -msgstr "" +msgstr "maks. galima:" -#: templates/admin.php:9 +#: templates/admin.php:12 msgid "Needed for multi-file and folder downloads." -msgstr "" +msgstr "Reikalinga daugybinui failų ir aplankalų atsisiuntimui." -#: templates/admin.php:9 +#: templates/admin.php:14 msgid "Enable ZIP-download" msgstr "Įjungti atsisiuntimą ZIP archyvu" -#: templates/admin.php:11 +#: templates/admin.php:17 msgid "0 is unlimited" msgstr "0 yra neribotas" -#: templates/admin.php:12 +#: templates/admin.php:19 msgid "Maximum input size for ZIP files" msgstr "Maksimalus ZIP archyvo failo dydis" -#: templates/admin.php:14 +#: templates/admin.php:23 msgid "Save" -msgstr "" +msgstr "Išsaugoti" #: templates/index.php:7 msgid "New" msgstr "Naujas" -#: templates/index.php:9 +#: templates/index.php:10 msgid "Text file" msgstr "Teksto failas" -#: templates/index.php:10 +#: templates/index.php:12 msgid "Folder" msgstr "Katalogas" -#: templates/index.php:11 -msgid "From url" -msgstr "Iš adreso" +#: templates/index.php:14 +msgid "From link" +msgstr "" -#: templates/index.php:20 +#: templates/index.php:35 msgid "Upload" msgstr "Įkelti" -#: templates/index.php:27 +#: templates/index.php:43 msgid "Cancel upload" msgstr "Atšaukti siuntimą" -#: templates/index.php:40 +#: templates/index.php:57 msgid "Nothing in here. Upload something!" msgstr "Čia tuščia. Įkelkite ką nors!" -#: templates/index.php:50 -msgid "Share" -msgstr "Dalintis" - -#: templates/index.php:52 +#: templates/index.php:71 msgid "Download" msgstr "Atsisiųsti" -#: templates/index.php:75 +#: templates/index.php:103 msgid "Upload too large" msgstr "Įkėlimui failas per didelis" -#: templates/index.php:77 +#: templates/index.php:105 msgid "" "The files you are trying to upload exceed the maximum size for file uploads " "on this server." msgstr "Bandomų įkelti failų dydis viršija maksimalų leidžiamą šiame serveryje" -#: templates/index.php:82 +#: templates/index.php:110 msgid "Files are being scanned, please wait." msgstr "Skenuojami failai, prašome palaukti." -#: templates/index.php:85 +#: templates/index.php:113 msgid "Current scanning" msgstr "Šiuo metu skenuojama" diff --git a/l10n/lt_LT/files_external.po b/l10n/lt_LT/files_external.po index db97f6a46ad73ee07ee1465c67bc7115377029ce..baf294943a44182d551b2631c587a04aabeb49d6 100644 --- a/l10n/lt_LT/files_external.po +++ b/l10n/lt_LT/files_external.po @@ -3,14 +3,15 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# , 2012. # Dr. ROX , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-02 23:16+0200\n" -"PO-Revision-Date: 2012-10-02 21:17+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-12-12 00:12+0100\n" +"PO-Revision-Date: 2012-12-11 23:13+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Lithuanian (Lithuania) (http://www.transifex.com/projects/p/owncloud/language/lt_LT/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -20,88 +21,102 @@ msgstr "" #: js/dropbox.js:7 js/dropbox.js:25 js/google.js:7 js/google.js:23 msgid "Access granted" -msgstr "" +msgstr "Priėjimas suteiktas" #: js/dropbox.js:28 js/dropbox.js:74 js/dropbox.js:79 js/dropbox.js:86 msgid "Error configuring Dropbox storage" -msgstr "" +msgstr "Klaida nustatinėjant Dropbox talpyklą" #: js/dropbox.js:34 js/dropbox.js:45 js/google.js:31 js/google.js:40 msgid "Grant access" -msgstr "" +msgstr "Suteikti priėjimą" #: js/dropbox.js:73 js/google.js:72 msgid "Fill out all required fields" -msgstr "" +msgstr "Užpildykite visus reikalingus laukelius" #: js/dropbox.js:85 msgid "Please provide a valid Dropbox app key and secret." -msgstr "" +msgstr "Prašome įvesti teisingus Dropbox \"app key\" ir \"secret\"." #: js/google.js:26 js/google.js:73 js/google.js:78 msgid "Error configuring Google Drive storage" +msgstr "Klaida nustatinėjant Google Drive talpyklą" + +#: lib/config.php:434 +msgid "" +"Warning: \"smbclient\" is not installed. Mounting of CIFS/SMB shares " +"is not possible. Please ask your system administrator to install it." +msgstr "" + +#: lib/config.php:435 +msgid "" +"Warning: The FTP support in PHP is not enabled or installed. Mounting" +" of FTP shares is not possible. Please ask your system administrator to " +"install it." msgstr "" #: templates/settings.php:3 msgid "External Storage" -msgstr "" +msgstr "Išorinės saugyklos" -#: templates/settings.php:7 templates/settings.php:19 +#: templates/settings.php:8 templates/settings.php:22 msgid "Mount point" -msgstr "" +msgstr "Saugyklos pavadinimas" -#: templates/settings.php:8 +#: templates/settings.php:9 msgid "Backend" -msgstr "" +msgstr "Posistemės pavadinimas" -#: templates/settings.php:9 +#: templates/settings.php:10 msgid "Configuration" msgstr "Konfigūracija" -#: templates/settings.php:10 +#: templates/settings.php:11 msgid "Options" msgstr "Nustatymai" -#: templates/settings.php:11 +#: templates/settings.php:12 msgid "Applicable" -msgstr "" +msgstr "Pritaikyti" -#: templates/settings.php:23 +#: templates/settings.php:27 msgid "Add mount point" -msgstr "" +msgstr "Pridėti išorinę saugyklą" -#: templates/settings.php:54 templates/settings.php:62 +#: templates/settings.php:85 msgid "None set" msgstr "Nieko nepasirinkta" -#: templates/settings.php:63 +#: templates/settings.php:86 msgid "All Users" msgstr "Visi vartotojai" -#: templates/settings.php:64 +#: templates/settings.php:87 msgid "Groups" msgstr "Grupės" -#: templates/settings.php:69 +#: templates/settings.php:95 msgid "Users" msgstr "Vartotojai" -#: templates/settings.php:77 templates/settings.php:107 +#: templates/settings.php:108 templates/settings.php:109 +#: templates/settings.php:149 templates/settings.php:150 msgid "Delete" msgstr "Ištrinti" -#: templates/settings.php:87 +#: templates/settings.php:124 msgid "Enable User External Storage" -msgstr "" +msgstr "Įjungti vartotojų išorines saugyklas" -#: templates/settings.php:88 +#: templates/settings.php:125 msgid "Allow users to mount their own external storage" -msgstr "" +msgstr "Leisti vartotojams pridėti savo išorines saugyklas" -#: templates/settings.php:99 +#: templates/settings.php:139 msgid "SSL root certificates" -msgstr "" +msgstr "SSL sertifikatas" -#: templates/settings.php:113 +#: templates/settings.php:158 msgid "Import Root Certificate" -msgstr "" +msgstr "Įkelti pagrindinį sertifikatą" diff --git a/l10n/lt_LT/files_pdfviewer.po b/l10n/lt_LT/files_pdfviewer.po deleted file mode 100644 index e224f4ccb57a7e7dc4dbd9d49d4b93e1d32ce804..0000000000000000000000000000000000000000 --- a/l10n/lt_LT/files_pdfviewer.po +++ /dev/null @@ -1,42 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 02:18+0200\n" -"PO-Revision-Date: 2012-08-26 00:19+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Lithuanian (Lithuania) (http://www.transifex.com/projects/p/owncloud/language/lt_LT/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: lt_LT\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2)\n" - -#: js/viewer.js:22 -msgid "Previous" -msgstr "" - -#: js/viewer.js:23 -msgid "Next" -msgstr "" - -#: js/viewer.js:29 -msgid "Page Width" -msgstr "" - -#: js/viewer.js:29 -msgid "Page Fit" -msgstr "" - -#: js/viewer.js:30 -msgid "Print" -msgstr "" - -#: js/viewer.js:32 -msgid "Download" -msgstr "" diff --git a/l10n/lt_LT/files_texteditor.po b/l10n/lt_LT/files_texteditor.po deleted file mode 100644 index bd2a8dbff169e1c819e21815a0852c9965d910cf..0000000000000000000000000000000000000000 --- a/l10n/lt_LT/files_texteditor.po +++ /dev/null @@ -1,44 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 01:17+0200\n" -"PO-Revision-Date: 2012-08-25 23:18+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Lithuanian (Lithuania) (http://www.transifex.com/projects/p/owncloud/language/lt_LT/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: lt_LT\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2)\n" - -#: js/aceeditor/mode-coldfusion-uncompressed.js:1568 -#: js/aceeditor/mode-liquid-uncompressed.js:902 -#: js/aceeditor/mode-svg-uncompressed.js:1575 -msgid "regex" -msgstr "" - -#: js/editor.js:72 js/editor.js:156 js/editor.js:163 -msgid "Save" -msgstr "" - -#: js/editor.js:74 -msgid "Close" -msgstr "" - -#: js/editor.js:149 -msgid "Saving..." -msgstr "" - -#: js/editor.js:239 -msgid "An error occurred!" -msgstr "" - -#: js/editor.js:266 -msgid "There were unsaved changes, click here to go back" -msgstr "" diff --git a/l10n/lt_LT/files_versions.po b/l10n/lt_LT/files_versions.po index 9e25e32816896436f8bd69e13574c9ea50f25c02..2e5b37e12fcf5a99bf335edcacd76f1d320b4963 100644 --- a/l10n/lt_LT/files_versions.po +++ b/l10n/lt_LT/files_versions.po @@ -3,14 +3,15 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# , 2012. # Dr. ROX , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-09-22 01:14+0200\n" -"PO-Revision-Date: 2012-09-21 23:15+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-10-23 02:02+0200\n" +"PO-Revision-Date: 2012-10-22 16:56+0000\n" +"Last-Translator: andrejuseu \n" "Language-Team: Lithuanian (Lithuania) (http://www.transifex.com/projects/p/owncloud/language/lt_LT/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -24,20 +25,20 @@ msgstr "Panaikinti visų versijų galiojimą" #: js/versions.js:16 msgid "History" -msgstr "" +msgstr "Istorija" #: templates/settings-personal.php:4 msgid "Versions" -msgstr "" +msgstr "Versijos" #: templates/settings-personal.php:7 msgid "This will delete all existing backup versions of your files" -msgstr "" +msgstr "Tai ištrins visas esamas failo versijas" #: templates/settings.php:3 msgid "Files Versioning" -msgstr "" +msgstr "Failų versijos" #: templates/settings.php:4 msgid "Enable" -msgstr "" +msgstr "Įjungti" diff --git a/l10n/lt_LT/gallery.po b/l10n/lt_LT/gallery.po deleted file mode 100644 index 383e3cf66f931d9b450f9d75d39e25eec13ba65b..0000000000000000000000000000000000000000 --- a/l10n/lt_LT/gallery.po +++ /dev/null @@ -1,95 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Dr. ROX , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-06-06 00:12+0200\n" -"PO-Revision-Date: 2012-06-05 22:15+0000\n" -"Last-Translator: icewind \n" -"Language-Team: Lithuanian (Lithuania) (http://www.transifex.net/projects/p/owncloud/language/lt_LT/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: lt_LT\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2)\n" - -#: appinfo/app.php:37 -msgid "Pictures" -msgstr "Nuotraukos" - -#: js/album_cover.js:44 -msgid "Share gallery" -msgstr "" - -#: js/album_cover.js:64 js/album_cover.js:100 js/album_cover.js:133 -msgid "Error: " -msgstr "" - -#: js/album_cover.js:64 js/album_cover.js:100 -msgid "Internal error" -msgstr "" - -#: js/album_cover.js:114 -msgid "Scanning root" -msgstr "" - -#: js/album_cover.js:115 -msgid "Default order" -msgstr "" - -#: js/album_cover.js:116 -msgid "Ascending" -msgstr "" - -#: js/album_cover.js:116 -msgid "Descending" -msgstr "" - -#: js/album_cover.js:117 templates/index.php:19 -msgid "Settings" -msgstr "Nustatymai" - -#: js/album_cover.js:122 -msgid "Scanning root cannot be empty" -msgstr "" - -#: js/album_cover.js:122 js/album_cover.js:133 -msgid "Error" -msgstr "" - -#: templates/index.php:16 -msgid "Rescan" -msgstr "Atnaujinti" - -#: templates/index.php:17 -msgid "Stop" -msgstr "Sustabdyti" - -#: templates/index.php:18 -msgid "Share" -msgstr "Dalintis" - -#: templates/view_album.php:19 -msgid "Back" -msgstr "Atgal" - -#: templates/view_album.php:36 -msgid "Remove confirmation" -msgstr "Išjungti patvirtinimą" - -#: templates/view_album.php:37 -msgid "Do you want to remove album" -msgstr "Ar tikrai norite pašalinti albumą" - -#: templates/view_album.php:40 -msgid "Change album name" -msgstr "Keisti albumo pavadinimą" - -#: templates/view_album.php:43 -msgid "New album name" -msgstr "Naujo albumo pavadinimas" diff --git a/l10n/lt_LT/lib.po b/l10n/lt_LT/lib.po index 4240cfb1d2e7c4412dee1bfb4284096e15551aac..8ef5110cd74133cfbec86e588b4ec87adef2ed3d 100644 --- a/l10n/lt_LT/lib.po +++ b/l10n/lt_LT/lib.po @@ -3,58 +3,59 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# , 2012. # Dr. ROX , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-09-01 02:01+0200\n" -"PO-Revision-Date: 2012-09-01 00:02+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-11-16 00:02+0100\n" +"PO-Revision-Date: 2012-11-14 23:13+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Lithuanian (Lithuania) (http://www.transifex.com/projects/p/owncloud/language/lt_LT/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: lt_LT\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2)\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -#: app.php:288 +#: app.php:285 msgid "Help" msgstr "Pagalba" -#: app.php:295 +#: app.php:292 msgid "Personal" msgstr "Asmeniniai" -#: app.php:300 +#: app.php:297 msgid "Settings" msgstr "Nustatymai" -#: app.php:305 +#: app.php:302 msgid "Users" msgstr "Vartotojai" -#: app.php:312 +#: app.php:309 msgid "Apps" msgstr "Programos" -#: app.php:314 +#: app.php:311 msgid "Admin" msgstr "Administravimas" -#: files.php:280 +#: files.php:332 msgid "ZIP download is turned off." msgstr "ZIP atsisiuntimo galimybė yra išjungta." -#: files.php:281 +#: files.php:333 msgid "Files need to be downloaded one by one." msgstr "Failai turi būti parsiunčiami vienas po kito." -#: files.php:281 files.php:306 +#: files.php:333 files.php:358 msgid "Back to Files" msgstr "Atgal į Failus" -#: files.php:305 +#: files.php:357 msgid "Selected files too large to generate zip file." msgstr "Pasirinkti failai per dideli archyvavimui į ZIP." @@ -62,65 +63,92 @@ msgstr "Pasirinkti failai per dideli archyvavimui į ZIP." msgid "Application is not enabled" msgstr "Programa neįjungta" -#: json.php:39 json.php:63 json.php:75 +#: json.php:39 json.php:64 json.php:77 json.php:89 msgid "Authentication error" msgstr "Autentikacijos klaida" #: json.php:51 msgid "Token expired. Please reload page." +msgstr "Sesija baigėsi. Prašome perkrauti puslapį." + +#: search/provider/file.php:17 search/provider/file.php:35 +msgid "Files" +msgstr "Failai" + +#: search/provider/file.php:26 search/provider/file.php:33 +msgid "Text" +msgstr "Žinučių" + +#: search/provider/file.php:29 +msgid "Images" msgstr "" -#: template.php:86 +#: template.php:103 msgid "seconds ago" -msgstr "" +msgstr "prieš kelias sekundes" -#: template.php:87 +#: template.php:104 msgid "1 minute ago" msgstr "prieš 1 minutę" -#: template.php:88 +#: template.php:105 #, php-format msgid "%d minutes ago" msgstr "prieš %d minučių" -#: template.php:91 +#: template.php:106 +msgid "1 hour ago" +msgstr "" + +#: template.php:107 +#, php-format +msgid "%d hours ago" +msgstr "" + +#: template.php:108 msgid "today" msgstr "šiandien" -#: template.php:92 +#: template.php:109 msgid "yesterday" msgstr "vakar" -#: template.php:93 +#: template.php:110 #, php-format msgid "%d days ago" msgstr "prieš %d dienų" -#: template.php:94 +#: template.php:111 msgid "last month" msgstr "praėjusį mėnesį" -#: template.php:95 -msgid "months ago" +#: template.php:112 +#, php-format +msgid "%d months ago" msgstr "" -#: template.php:96 +#: template.php:113 msgid "last year" msgstr "pereitais metais" -#: template.php:97 +#: template.php:114 msgid "years ago" -msgstr "" +msgstr "prieš metus" -#: updater.php:66 +#: updater.php:75 #, php-format msgid "%s is available. Get more information" -msgstr "" +msgstr "%s yra galimas. Platesnė informacija čia" -#: updater.php:68 +#: updater.php:77 msgid "up to date" -msgstr "" +msgstr "pilnai atnaujinta" -#: updater.php:71 +#: updater.php:80 msgid "updates check is disabled" +msgstr "atnaujinimų tikrinimas išjungtas" + +#: vcategories.php:188 vcategories.php:249 +#, php-format +msgid "Could not find category \"%s\"" msgstr "" diff --git a/l10n/lt_LT/media.po b/l10n/lt_LT/media.po deleted file mode 100644 index c466de33beb73da3f484c349e62401a43376f53f..0000000000000000000000000000000000000000 --- a/l10n/lt_LT/media.po +++ /dev/null @@ -1,67 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Dr. ROX , 2011. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-06-06 00:12+0200\n" -"PO-Revision-Date: 2012-06-05 22:15+0000\n" -"Last-Translator: icewind \n" -"Language-Team: Lithuanian (Lithuania) (http://www.transifex.net/projects/p/owncloud/language/lt_LT/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: lt_LT\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2)\n" - -#: appinfo/app.php:32 templates/player.php:8 -msgid "Music" -msgstr "Muzika" - -#: js/music.js:18 -msgid "Add album to playlist" -msgstr "" - -#: templates/music.php:3 templates/player.php:12 -msgid "Play" -msgstr "Groti" - -#: templates/music.php:4 templates/music.php:26 templates/player.php:13 -msgid "Pause" -msgstr "Pristabdyti" - -#: templates/music.php:5 -msgid "Previous" -msgstr "Atgal" - -#: templates/music.php:6 templates/player.php:14 -msgid "Next" -msgstr "Kitas" - -#: templates/music.php:7 -msgid "Mute" -msgstr "Nutildyti" - -#: templates/music.php:8 -msgid "Unmute" -msgstr "Įjungti garsą" - -#: templates/music.php:25 -msgid "Rescan Collection" -msgstr "Atnaujinti kolekciją" - -#: templates/music.php:37 -msgid "Artist" -msgstr "Atlikėjas" - -#: templates/music.php:38 -msgid "Album" -msgstr "Albumas" - -#: templates/music.php:39 -msgid "Title" -msgstr "Pavadinimas" diff --git a/l10n/lt_LT/settings.po b/l10n/lt_LT/settings.po index 621a2aa61a1fcdffc4ac89fc0d3777e615c783a8..10dd1bb7eb1883c1794c517fadfbd919d0779a69 100644 --- a/l10n/lt_LT/settings.po +++ b/l10n/lt_LT/settings.po @@ -3,14 +3,15 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# , 2012. # Dr. ROX , 2011, 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-09 02:03+0200\n" -"PO-Revision-Date: 2012-10-09 00:04+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-12-03 00:04+0100\n" +"PO-Revision-Date: 2012-12-02 03:18+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Lithuanian (Lithuania) (http://www.transifex.com/projects/p/owncloud/language/lt_LT/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -18,70 +19,73 @@ msgstr "" "Language: lt_LT\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -#: ajax/apps/ocs.php:23 +#: ajax/apps/ocs.php:20 msgid "Unable to load list from App Store" msgstr "Neįmanoma įkelti sąrašo iš Programų Katalogo" -#: ajax/creategroup.php:9 ajax/removeuser.php:13 ajax/setquota.php:18 -#: ajax/togglegroups.php:15 -msgid "Authentication error" -msgstr "" - -#: ajax/creategroup.php:19 +#: ajax/creategroup.php:10 msgid "Group already exists" msgstr "" -#: ajax/creategroup.php:28 +#: ajax/creategroup.php:19 msgid "Unable to add group" msgstr "" -#: ajax/enableapp.php:14 +#: ajax/enableapp.php:12 msgid "Could not enable app. " -msgstr "" +msgstr "Nepavyksta įjungti aplikacijos." -#: ajax/lostpassword.php:14 +#: ajax/lostpassword.php:12 msgid "Email saved" msgstr "El. paštas išsaugotas" -#: ajax/lostpassword.php:16 +#: ajax/lostpassword.php:14 msgid "Invalid email" msgstr "Netinkamas el. paštas" -#: ajax/openid.php:16 +#: ajax/openid.php:13 msgid "OpenID Changed" msgstr "OpenID pakeistas" -#: ajax/openid.php:18 ajax/setlanguage.php:20 ajax/setlanguage.php:23 +#: ajax/openid.php:15 ajax/setlanguage.php:17 ajax/setlanguage.php:20 msgid "Invalid request" msgstr "Klaidinga užklausa" -#: ajax/removegroup.php:16 +#: ajax/removegroup.php:13 msgid "Unable to delete group" msgstr "" -#: ajax/removeuser.php:22 +#: ajax/removeuser.php:15 ajax/setquota.php:15 ajax/togglegroups.php:18 +msgid "Authentication error" +msgstr "Autentikacijos klaida" + +#: ajax/removeuser.php:24 msgid "Unable to delete user" msgstr "" -#: ajax/setlanguage.php:18 +#: ajax/setlanguage.php:15 msgid "Language changed" msgstr "Kalba pakeista" -#: ajax/togglegroups.php:25 +#: ajax/togglegroups.php:12 +msgid "Admins can't remove themself from the admin group" +msgstr "" + +#: ajax/togglegroups.php:28 #, php-format msgid "Unable to add user to group %s" msgstr "" -#: ajax/togglegroups.php:31 +#: ajax/togglegroups.php:34 #, php-format msgid "Unable to remove user from group %s" msgstr "" -#: js/apps.js:28 js/apps.js:65 +#: js/apps.js:28 js/apps.js:67 msgid "Disable" msgstr "Išjungti" -#: js/apps.js:28 js/apps.js:54 +#: js/apps.js:28 js/apps.js:55 msgid "Enable" msgstr "Įjungti" @@ -89,104 +93,17 @@ msgstr "Įjungti" msgid "Saving..." msgstr "Saugoma.." -#: personal.php:47 personal.php:48 +#: personal.php:42 personal.php:43 msgid "__language_name__" msgstr "Kalba" -#: templates/admin.php:14 -msgid "Security Warning" -msgstr "Saugumo įspėjimas" - -#: templates/admin.php:17 -msgid "" -"Your data directory and your files are probably accessible from the " -"internet. The .htaccess file that ownCloud provides is not working. We " -"strongly suggest that you configure your webserver in a way that the data " -"directory is no longer accessible or you move the data directory outside the" -" webserver document root." -msgstr "" - -#: templates/admin.php:31 -msgid "Cron" -msgstr "Cron" - -#: templates/admin.php:37 -msgid "Execute one task with each page loaded" -msgstr "" - -#: templates/admin.php:43 -msgid "" -"cron.php is registered at a webcron service. Call the cron.php page in the " -"owncloud root once a minute over http." -msgstr "" - -#: templates/admin.php:49 -msgid "" -"Use systems cron service. Call the cron.php file in the owncloud folder via " -"a system cronjob once a minute." -msgstr "" - -#: templates/admin.php:56 -msgid "Sharing" -msgstr "" - -#: templates/admin.php:61 -msgid "Enable Share API" -msgstr "" - -#: templates/admin.php:62 -msgid "Allow apps to use the Share API" -msgstr "" - -#: templates/admin.php:67 -msgid "Allow links" -msgstr "" - -#: templates/admin.php:68 -msgid "Allow users to share items to the public with links" -msgstr "" - -#: templates/admin.php:73 -msgid "Allow resharing" -msgstr "" - -#: templates/admin.php:74 -msgid "Allow users to share items shared with them again" -msgstr "" - -#: templates/admin.php:79 -msgid "Allow users to share with anyone" -msgstr "" - -#: templates/admin.php:81 -msgid "Allow users to only share with users in their groups" -msgstr "" - -#: templates/admin.php:88 -msgid "Log" -msgstr "Žurnalas" - -#: templates/admin.php:116 -msgid "More" -msgstr "Daugiau" - -#: templates/admin.php:124 -msgid "" -"Developed by the ownCloud community, the source code is " -"licensed under the AGPL." -msgstr "" - #: templates/apps.php:10 msgid "Add your App" msgstr "Pridėti programėlę" #: templates/apps.php:11 msgid "More Apps" -msgstr "" +msgstr "Daugiau aplikacijų" #: templates/apps.php:27 msgid "Select an App" @@ -198,7 +115,7 @@ msgstr "" #: templates/apps.php:32 msgid "-licensed by " -msgstr "" +msgstr "- autorius" #: templates/help.php:9 msgid "Documentation" @@ -212,21 +129,21 @@ msgstr "" msgid "Ask a question" msgstr "Užduoti klausimą" -#: templates/help.php:23 +#: templates/help.php:22 msgid "Problems connecting to help database." msgstr "Problemos jungiantis prie duomenų bazės" -#: templates/help.php:24 +#: templates/help.php:23 msgid "Go there manually." msgstr "" -#: templates/help.php:32 +#: templates/help.php:31 msgid "Answer" msgstr "Atsakyti" #: templates/personal.php:8 #, php-format -msgid "You have used %s of the available %s" +msgid "You have used %s of the available %s" msgstr "" #: templates/personal.php:12 @@ -239,7 +156,7 @@ msgstr "Atsisiųsti" #: templates/personal.php:19 msgid "Your password was changed" -msgstr "" +msgstr "Jūsų slaptažodis buvo pakeistas" #: templates/personal.php:20 msgid "Unable to change your password" @@ -285,6 +202,16 @@ msgstr "Padėkite išversti" msgid "use this address to connect to your ownCloud in your file manager" msgstr "naudokite šį adresą, jei norite pasiekti savo ownCloud per failų tvarkyklę" +#: templates/personal.php:61 +msgid "" +"Developed by the ownCloud community, the source code is " +"licensed under the AGPL." +msgstr "" + #: templates/users.php:21 templates/users.php:76 msgid "Name" msgstr "Vardas" diff --git a/l10n/lt_LT/tasks.po b/l10n/lt_LT/tasks.po deleted file mode 100644 index 4d53aef5a79ca1e94611b081bde09a8e0c570791..0000000000000000000000000000000000000000 --- a/l10n/lt_LT/tasks.po +++ /dev/null @@ -1,107 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Dr. ROX , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-23 02:03+0200\n" -"PO-Revision-Date: 2012-08-22 14:05+0000\n" -"Last-Translator: Dr. ROX \n" -"Language-Team: Lithuanian (Lithuania) (http://www.transifex.com/projects/p/owncloud/language/lt_LT/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: lt_LT\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2)\n" - -#: ajax/update_property.php:51 lib/app.php:89 lib/app.php:101 -msgid "Invalid date/time" -msgstr "Netinkama data/laikas" - -#: appinfo/app.php:11 -msgid "Tasks" -msgstr "" - -#: js/tasks.js:415 -msgid "No category" -msgstr "Be kategorijos" - -#: lib/app.php:33 -msgid "Unspecified" -msgstr "" - -#: lib/app.php:34 -msgid "1=highest" -msgstr "" - -#: lib/app.php:38 -msgid "5=medium" -msgstr "" - -#: lib/app.php:42 -msgid "9=lowest" -msgstr "" - -#: lib/app.php:81 -msgid "Empty Summary" -msgstr "Tuščias aprašymas" - -#: lib/app.php:93 -msgid "Invalid percent complete" -msgstr "Netinkamas baigimo procentas" - -#: lib/app.php:107 -msgid "Invalid priority" -msgstr "" - -#: templates/tasks.php:3 -msgid "Add Task" -msgstr "" - -#: templates/tasks.php:4 -msgid "Order Due" -msgstr "" - -#: templates/tasks.php:5 -msgid "Order List" -msgstr "" - -#: templates/tasks.php:6 -msgid "Order Complete" -msgstr "" - -#: templates/tasks.php:7 -msgid "Order Location" -msgstr "" - -#: templates/tasks.php:8 -msgid "Order Priority" -msgstr "" - -#: templates/tasks.php:9 -msgid "Order Label" -msgstr "" - -#: templates/tasks.php:16 -msgid "Loading tasks..." -msgstr "" - -#: templates/tasks.php:20 -msgid "Important" -msgstr "Svarbūs" - -#: templates/tasks.php:23 -msgid "More" -msgstr "Daugiau" - -#: templates/tasks.php:26 -msgid "Less" -msgstr "Mažiau" - -#: templates/tasks.php:29 -msgid "Delete" -msgstr "Ištrinti" diff --git a/l10n/lt_LT/user_migrate.po b/l10n/lt_LT/user_migrate.po deleted file mode 100644 index a0c8819f796d4b9afd470ca2b52fa3279d2317d6..0000000000000000000000000000000000000000 --- a/l10n/lt_LT/user_migrate.po +++ /dev/null @@ -1,52 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Dr. ROX , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-23 02:03+0200\n" -"PO-Revision-Date: 2012-08-22 13:34+0000\n" -"Last-Translator: Dr. ROX \n" -"Language-Team: Lithuanian (Lithuania) (http://www.transifex.com/projects/p/owncloud/language/lt_LT/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: lt_LT\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2)\n" - -#: js/export.js:14 js/export.js:20 -msgid "Export" -msgstr "Eksportuoti" - -#: js/export.js:19 -msgid "Something went wrong while the export file was being generated" -msgstr "Įvyko klaida kuriant eksportuojamą failą" - -#: js/export.js:19 -msgid "An error has occurred" -msgstr "Įvyko klaida" - -#: templates/settings.php:2 -msgid "Export your user account" -msgstr "Eksportuoti jūsų vartotojo paskyrą" - -#: templates/settings.php:3 -msgid "" -"This will create a compressed file that contains your ownCloud account." -msgstr "Bus sukurtas suglaudintas failas su jūsų ownCloud vartotojo paskyra." - -#: templates/settings.php:13 -msgid "Import user account" -msgstr "Importuoti vartotojo paskyrą" - -#: templates/settings.php:15 -msgid "ownCloud User Zip" -msgstr "ownCloud vartotojo paskyros Zip archyvas" - -#: templates/settings.php:17 -msgid "Import" -msgstr "Importuoti" diff --git a/l10n/lt_LT/user_openid.po b/l10n/lt_LT/user_openid.po deleted file mode 100644 index 9567cf6ec3a0da29e29cb5f11bf9512bf513eb8e..0000000000000000000000000000000000000000 --- a/l10n/lt_LT/user_openid.po +++ /dev/null @@ -1,54 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:45+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Lithuanian (Lithuania) (http://www.transifex.com/projects/p/owncloud/language/lt_LT/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: lt_LT\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2)\n" - -#: templates/nomode.php:12 -msgid "This is an OpenID server endpoint. For more information, see " -msgstr "" - -#: templates/nomode.php:14 -msgid "Identity: " -msgstr "" - -#: templates/nomode.php:15 -msgid "Realm: " -msgstr "" - -#: templates/nomode.php:16 -msgid "User: " -msgstr "" - -#: templates/nomode.php:17 -msgid "Login" -msgstr "" - -#: templates/nomode.php:22 -msgid "Error: No user Selected" -msgstr "" - -#: templates/settings.php:4 -msgid "you can authenticate to other sites with this address" -msgstr "" - -#: templates/settings.php:5 -msgid "Authorized OpenID provider" -msgstr "" - -#: templates/settings.php:6 -msgid "Your address at Wordpress, Identi.ca, …" -msgstr "" diff --git a/l10n/lt_LT/files_odfviewer.po b/l10n/lt_LT/user_webdavauth.po similarity index 76% rename from l10n/lt_LT/files_odfviewer.po rename to l10n/lt_LT/user_webdavauth.po index 9fdcfb4a0c0e355dab53ec2d7846e94e513bd5eb..1b326476bf53abdca2b4db11809daad52e2940e6 100644 --- a/l10n/lt_LT/files_odfviewer.po +++ b/l10n/lt_LT/user_webdavauth.po @@ -7,16 +7,16 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 02:18+0200\n" -"PO-Revision-Date: 2012-08-26 00:19+0000\n" +"POT-Creation-Date: 2012-11-09 10:06+0100\n" +"PO-Revision-Date: 2012-11-09 09:06+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: Lithuanian (Lithuania) (http://www.transifex.com/projects/p/owncloud/language/lt_LT/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: lt_LT\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2)\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -#: js/viewer.js:9 -msgid "Close" +#: templates/settings.php:4 +msgid "WebDAV URL: http://" msgstr "" diff --git a/l10n/lv/admin_dependencies_chk.po b/l10n/lv/admin_dependencies_chk.po deleted file mode 100644 index 0ad70f3449105be5ef98c4cf0fdac9837ea7c839..0000000000000000000000000000000000000000 --- a/l10n/lv/admin_dependencies_chk.po +++ /dev/null @@ -1,73 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:33+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Latvian (http://www.transifex.com/projects/p/owncloud/language/lv/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: lv\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2)\n" - -#: settings.php:33 -msgid "" -"The php-json module is needed by the many applications for inter " -"communications" -msgstr "" - -#: settings.php:39 -msgid "" -"The php-curl modude is needed to fetch the page title when adding a " -"bookmarks" -msgstr "" - -#: settings.php:45 -msgid "The php-gd module is needed to create thumbnails of your images" -msgstr "" - -#: settings.php:51 -msgid "The php-ldap module is needed connect to your ldap server" -msgstr "" - -#: settings.php:57 -msgid "The php-zip module is needed download multiple files at once" -msgstr "" - -#: settings.php:63 -msgid "" -"The php-mb_multibyte module is needed to manage correctly the encoding." -msgstr "" - -#: settings.php:69 -msgid "The php-ctype module is needed validate data." -msgstr "" - -#: settings.php:75 -msgid "The php-xml module is needed to share files with webdav." -msgstr "" - -#: settings.php:81 -msgid "" -"The allow_url_fopen directive of your php.ini should be set to 1 to retrieve" -" knowledge base from OCS servers" -msgstr "" - -#: settings.php:87 -msgid "The php-pdo module is needed to store owncloud data into a database." -msgstr "" - -#: templates/settings.php:2 -msgid "Dependencies status" -msgstr "" - -#: templates/settings.php:7 -msgid "Used by :" -msgstr "" diff --git a/l10n/lv/admin_migrate.po b/l10n/lv/admin_migrate.po deleted file mode 100644 index 2be34daece467d5a9f9f278443462303652ccb50..0000000000000000000000000000000000000000 --- a/l10n/lv/admin_migrate.po +++ /dev/null @@ -1,32 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:32+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Latvian (http://www.transifex.com/projects/p/owncloud/language/lv/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: lv\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2)\n" - -#: templates/settings.php:3 -msgid "Export this ownCloud instance" -msgstr "" - -#: templates/settings.php:4 -msgid "" -"This will create a compressed file that contains the data of this owncloud instance.\n" -" Please choose the export type:" -msgstr "" - -#: templates/settings.php:12 -msgid "Export" -msgstr "" diff --git a/l10n/lv/bookmarks.po b/l10n/lv/bookmarks.po deleted file mode 100644 index 2114fcd31a9a7ee5fe776ce7aae5957e3d5d2bf5..0000000000000000000000000000000000000000 --- a/l10n/lv/bookmarks.po +++ /dev/null @@ -1,60 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-07-28 02:02+0200\n" -"PO-Revision-Date: 2012-07-27 22:17+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Latvian (http://www.transifex.com/projects/p/owncloud/language/lv/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: lv\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2)\n" - -#: appinfo/app.php:14 -msgid "Bookmarks" -msgstr "" - -#: bookmarksHelper.php:99 -msgid "unnamed" -msgstr "" - -#: templates/bookmarklet.php:5 -msgid "" -"Drag this to your browser bookmarks and click it, when you want to bookmark " -"a webpage quickly:" -msgstr "" - -#: templates/bookmarklet.php:7 -msgid "Read later" -msgstr "" - -#: templates/list.php:13 -msgid "Address" -msgstr "" - -#: templates/list.php:14 -msgid "Title" -msgstr "" - -#: templates/list.php:15 -msgid "Tags" -msgstr "" - -#: templates/list.php:16 -msgid "Save bookmark" -msgstr "" - -#: templates/list.php:22 -msgid "You have no bookmarks" -msgstr "" - -#: templates/settings.php:11 -msgid "Bookmarklet
" -msgstr "" diff --git a/l10n/lv/calendar.po b/l10n/lv/calendar.po deleted file mode 100644 index f3a17a29c46467c6c13a30c8faa427e0c6bc72be..0000000000000000000000000000000000000000 --- a/l10n/lv/calendar.po +++ /dev/null @@ -1,813 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-11 02:02+0200\n" -"PO-Revision-Date: 2012-08-11 00:02+0000\n" -"Last-Translator: owncloud_robot \n" -"Language-Team: Latvian (http://www.transifex.com/projects/p/owncloud/language/lv/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: lv\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2)\n" - -#: ajax/cache/status.php:19 -msgid "Not all calendars are completely cached" -msgstr "" - -#: ajax/cache/status.php:21 -msgid "Everything seems to be completely cached" -msgstr "" - -#: ajax/categories/rescan.php:29 -msgid "No calendars found." -msgstr "" - -#: ajax/categories/rescan.php:37 -msgid "No events found." -msgstr "" - -#: ajax/event/edit.form.php:20 -msgid "Wrong calendar" -msgstr "" - -#: ajax/import/dropimport.php:29 ajax/import/import.php:64 -msgid "" -"The file contained either no events or all events are already saved in your " -"calendar." -msgstr "" - -#: ajax/import/dropimport.php:31 ajax/import/import.php:67 -msgid "events has been saved in the new calendar" -msgstr "" - -#: ajax/import/import.php:56 -msgid "Import failed" -msgstr "" - -#: ajax/import/import.php:69 -msgid "events has been saved in your calendar" -msgstr "" - -#: ajax/settings/guesstimezone.php:25 -msgid "New Timezone:" -msgstr "" - -#: ajax/settings/settimezone.php:23 -msgid "Timezone changed" -msgstr "" - -#: ajax/settings/settimezone.php:25 -msgid "Invalid request" -msgstr "" - -#: appinfo/app.php:35 templates/calendar.php:15 -#: templates/part.eventform.php:33 templates/part.showevent.php:33 -msgid "Calendar" -msgstr "" - -#: js/calendar.js:832 -msgid "ddd" -msgstr "" - -#: js/calendar.js:833 -msgid "ddd M/d" -msgstr "" - -#: js/calendar.js:834 -msgid "dddd M/d" -msgstr "" - -#: js/calendar.js:837 -msgid "MMMM yyyy" -msgstr "" - -#: js/calendar.js:839 -msgid "MMM d[ yyyy]{ '—'[ MMM] d yyyy}" -msgstr "" - -#: js/calendar.js:841 -msgid "dddd, MMM d, yyyy" -msgstr "" - -#: lib/app.php:121 -msgid "Birthday" -msgstr "" - -#: lib/app.php:122 -msgid "Business" -msgstr "" - -#: lib/app.php:123 -msgid "Call" -msgstr "" - -#: lib/app.php:124 -msgid "Clients" -msgstr "" - -#: lib/app.php:125 -msgid "Deliverer" -msgstr "" - -#: lib/app.php:126 -msgid "Holidays" -msgstr "" - -#: lib/app.php:127 -msgid "Ideas" -msgstr "" - -#: lib/app.php:128 -msgid "Journey" -msgstr "" - -#: lib/app.php:129 -msgid "Jubilee" -msgstr "" - -#: lib/app.php:130 -msgid "Meeting" -msgstr "" - -#: lib/app.php:131 -msgid "Other" -msgstr "" - -#: lib/app.php:132 -msgid "Personal" -msgstr "" - -#: lib/app.php:133 -msgid "Projects" -msgstr "" - -#: lib/app.php:134 -msgid "Questions" -msgstr "" - -#: lib/app.php:135 -msgid "Work" -msgstr "" - -#: lib/app.php:351 lib/app.php:361 -msgid "by" -msgstr "" - -#: lib/app.php:359 lib/app.php:399 -msgid "unnamed" -msgstr "" - -#: lib/import.php:184 templates/calendar.php:12 -#: templates/part.choosecalendar.php:22 -msgid "New Calendar" -msgstr "" - -#: lib/object.php:372 -msgid "Does not repeat" -msgstr "" - -#: lib/object.php:373 -msgid "Daily" -msgstr "" - -#: lib/object.php:374 -msgid "Weekly" -msgstr "" - -#: lib/object.php:375 -msgid "Every Weekday" -msgstr "" - -#: lib/object.php:376 -msgid "Bi-Weekly" -msgstr "" - -#: lib/object.php:377 -msgid "Monthly" -msgstr "" - -#: lib/object.php:378 -msgid "Yearly" -msgstr "" - -#: lib/object.php:388 -msgid "never" -msgstr "" - -#: lib/object.php:389 -msgid "by occurrences" -msgstr "" - -#: lib/object.php:390 -msgid "by date" -msgstr "" - -#: lib/object.php:400 -msgid "by monthday" -msgstr "" - -#: lib/object.php:401 -msgid "by weekday" -msgstr "" - -#: lib/object.php:411 templates/calendar.php:5 templates/settings.php:69 -msgid "Monday" -msgstr "" - -#: lib/object.php:412 templates/calendar.php:5 -msgid "Tuesday" -msgstr "" - -#: lib/object.php:413 templates/calendar.php:5 -msgid "Wednesday" -msgstr "" - -#: lib/object.php:414 templates/calendar.php:5 -msgid "Thursday" -msgstr "" - -#: lib/object.php:415 templates/calendar.php:5 -msgid "Friday" -msgstr "" - -#: lib/object.php:416 templates/calendar.php:5 -msgid "Saturday" -msgstr "" - -#: lib/object.php:417 templates/calendar.php:5 templates/settings.php:70 -msgid "Sunday" -msgstr "" - -#: lib/object.php:427 -msgid "events week of month" -msgstr "" - -#: lib/object.php:428 -msgid "first" -msgstr "" - -#: lib/object.php:429 -msgid "second" -msgstr "" - -#: lib/object.php:430 -msgid "third" -msgstr "" - -#: lib/object.php:431 -msgid "fourth" -msgstr "" - -#: lib/object.php:432 -msgid "fifth" -msgstr "" - -#: lib/object.php:433 -msgid "last" -msgstr "" - -#: lib/object.php:467 templates/calendar.php:7 -msgid "January" -msgstr "" - -#: lib/object.php:468 templates/calendar.php:7 -msgid "February" -msgstr "" - -#: lib/object.php:469 templates/calendar.php:7 -msgid "March" -msgstr "" - -#: lib/object.php:470 templates/calendar.php:7 -msgid "April" -msgstr "" - -#: lib/object.php:471 templates/calendar.php:7 -msgid "May" -msgstr "" - -#: lib/object.php:472 templates/calendar.php:7 -msgid "June" -msgstr "" - -#: lib/object.php:473 templates/calendar.php:7 -msgid "July" -msgstr "" - -#: lib/object.php:474 templates/calendar.php:7 -msgid "August" -msgstr "" - -#: lib/object.php:475 templates/calendar.php:7 -msgid "September" -msgstr "" - -#: lib/object.php:476 templates/calendar.php:7 -msgid "October" -msgstr "" - -#: lib/object.php:477 templates/calendar.php:7 -msgid "November" -msgstr "" - -#: lib/object.php:478 templates/calendar.php:7 -msgid "December" -msgstr "" - -#: lib/object.php:488 -msgid "by events date" -msgstr "" - -#: lib/object.php:489 -msgid "by yearday(s)" -msgstr "" - -#: lib/object.php:490 -msgid "by weeknumber(s)" -msgstr "" - -#: lib/object.php:491 -msgid "by day and month" -msgstr "" - -#: lib/search.php:35 lib/search.php:37 lib/search.php:40 -msgid "Date" -msgstr "" - -#: lib/search.php:43 -msgid "Cal." -msgstr "" - -#: templates/calendar.php:6 -msgid "Sun." -msgstr "" - -#: templates/calendar.php:6 -msgid "Mon." -msgstr "" - -#: templates/calendar.php:6 -msgid "Tue." -msgstr "" - -#: templates/calendar.php:6 -msgid "Wed." -msgstr "" - -#: templates/calendar.php:6 -msgid "Thu." -msgstr "" - -#: templates/calendar.php:6 -msgid "Fri." -msgstr "" - -#: templates/calendar.php:6 -msgid "Sat." -msgstr "" - -#: templates/calendar.php:8 -msgid "Jan." -msgstr "" - -#: templates/calendar.php:8 -msgid "Feb." -msgstr "" - -#: templates/calendar.php:8 -msgid "Mar." -msgstr "" - -#: templates/calendar.php:8 -msgid "Apr." -msgstr "" - -#: templates/calendar.php:8 -msgid "May." -msgstr "" - -#: templates/calendar.php:8 -msgid "Jun." -msgstr "" - -#: templates/calendar.php:8 -msgid "Jul." -msgstr "" - -#: templates/calendar.php:8 -msgid "Aug." -msgstr "" - -#: templates/calendar.php:8 -msgid "Sep." -msgstr "" - -#: templates/calendar.php:8 -msgid "Oct." -msgstr "" - -#: templates/calendar.php:8 -msgid "Nov." -msgstr "" - -#: templates/calendar.php:8 -msgid "Dec." -msgstr "" - -#: templates/calendar.php:11 -msgid "All day" -msgstr "" - -#: templates/calendar.php:13 -msgid "Missing fields" -msgstr "" - -#: templates/calendar.php:14 templates/part.eventform.php:19 -#: templates/part.showevent.php:11 -msgid "Title" -msgstr "" - -#: templates/calendar.php:16 -msgid "From Date" -msgstr "" - -#: templates/calendar.php:17 -msgid "From Time" -msgstr "" - -#: templates/calendar.php:18 -msgid "To Date" -msgstr "" - -#: templates/calendar.php:19 -msgid "To Time" -msgstr "" - -#: templates/calendar.php:20 -msgid "The event ends before it starts" -msgstr "" - -#: templates/calendar.php:21 -msgid "There was a database fail" -msgstr "" - -#: templates/calendar.php:39 -msgid "Week" -msgstr "" - -#: templates/calendar.php:40 -msgid "Month" -msgstr "" - -#: templates/calendar.php:41 -msgid "List" -msgstr "" - -#: templates/calendar.php:45 -msgid "Today" -msgstr "" - -#: templates/calendar.php:46 templates/calendar.php:47 -msgid "Settings" -msgstr "" - -#: templates/part.choosecalendar.php:2 -msgid "Your calendars" -msgstr "" - -#: templates/part.choosecalendar.php:27 -#: templates/part.choosecalendar.rowfields.php:11 -msgid "CalDav Link" -msgstr "" - -#: templates/part.choosecalendar.php:31 -msgid "Shared calendars" -msgstr "" - -#: templates/part.choosecalendar.php:48 -msgid "No shared calendars" -msgstr "" - -#: templates/part.choosecalendar.rowfields.php:8 -msgid "Share Calendar" -msgstr "" - -#: templates/part.choosecalendar.rowfields.php:14 -msgid "Download" -msgstr "" - -#: templates/part.choosecalendar.rowfields.php:17 -msgid "Edit" -msgstr "" - -#: templates/part.choosecalendar.rowfields.php:20 -#: templates/part.editevent.php:9 -msgid "Delete" -msgstr "" - -#: templates/part.choosecalendar.rowfields.shared.php:4 -msgid "shared with you by" -msgstr "" - -#: templates/part.editcalendar.php:9 -msgid "New calendar" -msgstr "" - -#: templates/part.editcalendar.php:9 -msgid "Edit calendar" -msgstr "" - -#: templates/part.editcalendar.php:12 -msgid "Displayname" -msgstr "" - -#: templates/part.editcalendar.php:23 -msgid "Active" -msgstr "" - -#: templates/part.editcalendar.php:29 -msgid "Calendar color" -msgstr "" - -#: templates/part.editcalendar.php:42 -msgid "Save" -msgstr "" - -#: templates/part.editcalendar.php:42 templates/part.editevent.php:8 -#: templates/part.newevent.php:6 -msgid "Submit" -msgstr "" - -#: templates/part.editcalendar.php:43 -msgid "Cancel" -msgstr "" - -#: templates/part.editevent.php:1 -msgid "Edit an event" -msgstr "" - -#: templates/part.editevent.php:10 -msgid "Export" -msgstr "" - -#: templates/part.eventform.php:8 templates/part.showevent.php:3 -msgid "Eventinfo" -msgstr "" - -#: templates/part.eventform.php:9 templates/part.showevent.php:4 -msgid "Repeating" -msgstr "" - -#: templates/part.eventform.php:10 templates/part.showevent.php:5 -msgid "Alarm" -msgstr "" - -#: templates/part.eventform.php:11 templates/part.showevent.php:6 -msgid "Attendees" -msgstr "" - -#: templates/part.eventform.php:13 -msgid "Share" -msgstr "" - -#: templates/part.eventform.php:21 -msgid "Title of the Event" -msgstr "" - -#: templates/part.eventform.php:27 templates/part.showevent.php:19 -msgid "Category" -msgstr "" - -#: templates/part.eventform.php:29 -msgid "Separate categories with commas" -msgstr "" - -#: templates/part.eventform.php:30 -msgid "Edit categories" -msgstr "" - -#: templates/part.eventform.php:56 templates/part.showevent.php:52 -msgid "All Day Event" -msgstr "" - -#: templates/part.eventform.php:60 templates/part.showevent.php:56 -msgid "From" -msgstr "" - -#: templates/part.eventform.php:68 templates/part.showevent.php:64 -msgid "To" -msgstr "" - -#: templates/part.eventform.php:76 templates/part.showevent.php:72 -msgid "Advanced options" -msgstr "" - -#: templates/part.eventform.php:81 templates/part.showevent.php:77 -msgid "Location" -msgstr "" - -#: templates/part.eventform.php:83 -msgid "Location of the Event" -msgstr "" - -#: templates/part.eventform.php:89 templates/part.showevent.php:85 -msgid "Description" -msgstr "" - -#: templates/part.eventform.php:91 -msgid "Description of the Event" -msgstr "" - -#: templates/part.eventform.php:100 templates/part.showevent.php:95 -msgid "Repeat" -msgstr "" - -#: templates/part.eventform.php:107 templates/part.showevent.php:102 -msgid "Advanced" -msgstr "" - -#: templates/part.eventform.php:151 templates/part.showevent.php:146 -msgid "Select weekdays" -msgstr "" - -#: templates/part.eventform.php:164 templates/part.eventform.php:177 -#: templates/part.showevent.php:159 templates/part.showevent.php:172 -msgid "Select days" -msgstr "" - -#: templates/part.eventform.php:169 templates/part.showevent.php:164 -msgid "and the events day of year." -msgstr "" - -#: templates/part.eventform.php:182 templates/part.showevent.php:177 -msgid "and the events day of month." -msgstr "" - -#: templates/part.eventform.php:190 templates/part.showevent.php:185 -msgid "Select months" -msgstr "" - -#: templates/part.eventform.php:203 templates/part.showevent.php:198 -msgid "Select weeks" -msgstr "" - -#: templates/part.eventform.php:208 templates/part.showevent.php:203 -msgid "and the events week of year." -msgstr "" - -#: templates/part.eventform.php:214 templates/part.showevent.php:209 -msgid "Interval" -msgstr "" - -#: templates/part.eventform.php:220 templates/part.showevent.php:215 -msgid "End" -msgstr "" - -#: templates/part.eventform.php:233 templates/part.showevent.php:228 -msgid "occurrences" -msgstr "" - -#: templates/part.import.php:14 -msgid "create a new calendar" -msgstr "" - -#: templates/part.import.php:17 -msgid "Import a calendar file" -msgstr "" - -#: templates/part.import.php:24 -msgid "Please choose a calendar" -msgstr "" - -#: templates/part.import.php:36 -msgid "Name of new calendar" -msgstr "" - -#: templates/part.import.php:44 -msgid "Take an available name!" -msgstr "" - -#: templates/part.import.php:45 -msgid "" -"A Calendar with this name already exists. If you continue anyhow, these " -"calendars will be merged." -msgstr "" - -#: templates/part.import.php:47 -msgid "Import" -msgstr "" - -#: templates/part.import.php:56 -msgid "Close Dialog" -msgstr "" - -#: templates/part.newevent.php:1 -msgid "Create a new event" -msgstr "" - -#: templates/part.showevent.php:1 -msgid "View an event" -msgstr "" - -#: templates/part.showevent.php:23 -msgid "No categories selected" -msgstr "" - -#: templates/part.showevent.php:37 -msgid "of" -msgstr "" - -#: templates/part.showevent.php:59 templates/part.showevent.php:67 -msgid "at" -msgstr "" - -#: templates/settings.php:10 -msgid "General" -msgstr "" - -#: templates/settings.php:15 -msgid "Timezone" -msgstr "" - -#: templates/settings.php:47 -msgid "Update timezone automatically" -msgstr "" - -#: templates/settings.php:52 -msgid "Time format" -msgstr "" - -#: templates/settings.php:57 -msgid "24h" -msgstr "" - -#: templates/settings.php:58 -msgid "12h" -msgstr "" - -#: templates/settings.php:64 -msgid "Start week on" -msgstr "" - -#: templates/settings.php:76 -msgid "Cache" -msgstr "" - -#: templates/settings.php:80 -msgid "Clear cache for repeating events" -msgstr "" - -#: templates/settings.php:85 -msgid "URLs" -msgstr "" - -#: templates/settings.php:87 -msgid "Calendar CalDAV syncing addresses" -msgstr "" - -#: templates/settings.php:87 -msgid "more info" -msgstr "" - -#: templates/settings.php:89 -msgid "Primary address (Kontact et al)" -msgstr "" - -#: templates/settings.php:91 -msgid "iOS/OS X" -msgstr "" - -#: templates/settings.php:93 -msgid "Read only iCalendar link(s)" -msgstr "" - -#: templates/share.dropdown.php:20 -msgid "Users" -msgstr "" - -#: templates/share.dropdown.php:21 -msgid "select users" -msgstr "" - -#: templates/share.dropdown.php:36 templates/share.dropdown.php:62 -msgid "Editable" -msgstr "" - -#: templates/share.dropdown.php:48 -msgid "Groups" -msgstr "" - -#: templates/share.dropdown.php:49 -msgid "select groups" -msgstr "" - -#: templates/share.dropdown.php:75 -msgid "make public" -msgstr "" diff --git a/l10n/lv/contacts.po b/l10n/lv/contacts.po deleted file mode 100644 index 206e0cb05d45188516e5eccd552297e55dcefb4f..0000000000000000000000000000000000000000 --- a/l10n/lv/contacts.po +++ /dev/null @@ -1,952 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-24 02:02+0200\n" -"PO-Revision-Date: 2012-08-24 00:03+0000\n" -"Last-Translator: I Robot \n" -"Language-Team: Latvian (http://www.transifex.com/projects/p/owncloud/language/lv/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: lv\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2)\n" - -#: ajax/addressbook/activate.php:24 ajax/addressbook/update.php:32 -msgid "Error (de)activating addressbook." -msgstr "" - -#: ajax/addressbook/delete.php:31 ajax/addressbook/update.php:20 -#: ajax/contact/addproperty.php:42 ajax/contact/delete.php:32 -#: ajax/contact/saveproperty.php:39 -msgid "id is not set." -msgstr "" - -#: ajax/addressbook/update.php:24 -msgid "Cannot update addressbook with an empty name." -msgstr "" - -#: ajax/addressbook/update.php:28 -msgid "Error updating addressbook." -msgstr "" - -#: ajax/categories/categoriesfor.php:17 -msgid "No ID provided" -msgstr "" - -#: ajax/categories/categoriesfor.php:34 -msgid "Error setting checksum." -msgstr "" - -#: ajax/categories/delete.php:19 -msgid "No categories selected for deletion." -msgstr "" - -#: ajax/categories/delete.php:26 -msgid "No address books found." -msgstr "" - -#: ajax/categories/delete.php:34 -msgid "No contacts found." -msgstr "" - -#: ajax/contact/add.php:47 -msgid "There was an error adding the contact." -msgstr "" - -#: ajax/contact/addproperty.php:39 ajax/contact/saveproperty.php:36 -msgid "element name is not set." -msgstr "" - -#: ajax/contact/addproperty.php:46 -msgid "Could not parse contact: " -msgstr "" - -#: ajax/contact/addproperty.php:56 -msgid "Cannot add empty property." -msgstr "" - -#: ajax/contact/addproperty.php:67 -msgid "At least one of the address fields has to be filled out." -msgstr "" - -#: ajax/contact/addproperty.php:76 -msgid "Trying to add duplicate property: " -msgstr "" - -#: ajax/contact/addproperty.php:115 ajax/contact/saveproperty.php:93 -msgid "Missing IM parameter." -msgstr "" - -#: ajax/contact/addproperty.php:119 ajax/contact/saveproperty.php:97 -msgid "Unknown IM: " -msgstr "" - -#: ajax/contact/deleteproperty.php:37 -msgid "Information about vCard is incorrect. Please reload the page." -msgstr "" - -#: ajax/contact/details.php:31 -msgid "Missing ID" -msgstr "" - -#: ajax/contact/details.php:36 -msgid "Error parsing VCard for ID: \"" -msgstr "" - -#: ajax/contact/saveproperty.php:42 -msgid "checksum is not set." -msgstr "" - -#: ajax/contact/saveproperty.php:62 -msgid "Information about vCard is incorrect. Please reload the page: " -msgstr "" - -#: ajax/contact/saveproperty.php:69 -msgid "Something went FUBAR. " -msgstr "" - -#: ajax/currentphoto.php:30 ajax/oc_photo.php:28 ajax/uploadphoto.php:36 -#: ajax/uploadphoto.php:68 -msgid "No contact ID was submitted." -msgstr "" - -#: ajax/currentphoto.php:36 -msgid "Error reading contact photo." -msgstr "" - -#: ajax/currentphoto.php:48 -msgid "Error saving temporary file." -msgstr "" - -#: ajax/currentphoto.php:51 -msgid "The loading photo is not valid." -msgstr "" - -#: ajax/editname.php:31 -msgid "Contact ID is missing." -msgstr "" - -#: ajax/oc_photo.php:32 -msgid "No photo path was submitted." -msgstr "" - -#: ajax/oc_photo.php:39 -msgid "File doesn't exist:" -msgstr "" - -#: ajax/oc_photo.php:44 ajax/oc_photo.php:47 -msgid "Error loading image." -msgstr "" - -#: ajax/savecrop.php:69 -msgid "Error getting contact object." -msgstr "" - -#: ajax/savecrop.php:79 -msgid "Error getting PHOTO property." -msgstr "" - -#: ajax/savecrop.php:98 -msgid "Error saving contact." -msgstr "" - -#: ajax/savecrop.php:109 -msgid "Error resizing image" -msgstr "" - -#: ajax/savecrop.php:112 -msgid "Error cropping image" -msgstr "" - -#: ajax/savecrop.php:115 -msgid "Error creating temporary image" -msgstr "" - -#: ajax/savecrop.php:118 -msgid "Error finding image: " -msgstr "" - -#: ajax/uploadimport.php:44 ajax/uploadimport.php:76 -msgid "Error uploading contacts to storage." -msgstr "" - -#: ajax/uploadimport.php:61 ajax/uploadphoto.php:77 -msgid "There is no error, the file uploaded with success" -msgstr "" - -#: ajax/uploadimport.php:62 ajax/uploadphoto.php:78 -msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" -msgstr "" - -#: ajax/uploadimport.php:63 ajax/uploadphoto.php:79 -msgid "" -"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " -"the HTML form" -msgstr "" - -#: ajax/uploadimport.php:64 ajax/uploadphoto.php:80 -msgid "The uploaded file was only partially uploaded" -msgstr "" - -#: ajax/uploadimport.php:65 ajax/uploadphoto.php:81 -msgid "No file was uploaded" -msgstr "" - -#: ajax/uploadimport.php:66 ajax/uploadphoto.php:82 -msgid "Missing a temporary folder" -msgstr "" - -#: ajax/uploadphoto.php:59 ajax/uploadphoto.php:109 -msgid "Couldn't save temporary image: " -msgstr "" - -#: ajax/uploadphoto.php:62 ajax/uploadphoto.php:112 -msgid "Couldn't load temporary image: " -msgstr "" - -#: ajax/uploadphoto.php:71 -msgid "No file was uploaded. Unknown error" -msgstr "" - -#: appinfo/app.php:21 -msgid "Contacts" -msgstr "" - -#: js/contacts.js:71 -msgid "Sorry, this functionality has not been implemented yet" -msgstr "" - -#: js/contacts.js:71 -msgid "Not implemented" -msgstr "" - -#: js/contacts.js:76 -msgid "Couldn't get a valid address." -msgstr "" - -#: js/contacts.js:76 js/contacts.js:365 js/contacts.js:381 js/contacts.js:393 -#: js/contacts.js:723 js/contacts.js:763 js/contacts.js:789 js/contacts.js:921 -#: js/contacts.js:927 js/contacts.js:939 js/contacts.js:976 -#: js/contacts.js:1250 js/contacts.js:1258 js/contacts.js:1267 -#: js/contacts.js:1302 js/contacts.js:1338 js/contacts.js:1353 -#: js/contacts.js:1379 js/contacts.js:1609 js/contacts.js:1644 -#: js/contacts.js:1664 js/settings.js:26 js/settings.js:43 js/settings.js:68 -msgid "Error" -msgstr "" - -#: js/contacts.js:424 -msgid "You do not have permission to add contacts to " -msgstr "" - -#: js/contacts.js:425 -msgid "Please select one of your own address books." -msgstr "" - -#: js/contacts.js:425 -msgid "Permission error" -msgstr "" - -#: js/contacts.js:763 -msgid "This property has to be non-empty." -msgstr "" - -#: js/contacts.js:789 -msgid "Couldn't serialize elements." -msgstr "" - -#: js/contacts.js:921 js/contacts.js:939 -msgid "" -"'deleteProperty' called without type argument. Please report at " -"bugs.owncloud.org" -msgstr "" - -#: js/contacts.js:958 -msgid "Edit name" -msgstr "" - -#: js/contacts.js:1250 -msgid "No files selected for upload." -msgstr "" - -#: js/contacts.js:1258 -msgid "" -"The file you are trying to upload exceed the maximum size for file uploads " -"on this server." -msgstr "" - -#: js/contacts.js:1322 -msgid "Error loading profile picture." -msgstr "" - -#: js/contacts.js:1457 js/contacts.js:1498 js/contacts.js:1517 -#: js/contacts.js:1560 -msgid "Select type" -msgstr "" - -#: js/contacts.js:1578 -msgid "" -"Some contacts are marked for deletion, but not deleted yet. Please wait for " -"them to be deleted." -msgstr "" - -#: js/contacts.js:1649 -msgid "Do you want to merge these address books?" -msgstr "" - -#: js/loader.js:49 -msgid "Result: " -msgstr "" - -#: js/loader.js:49 -msgid " imported, " -msgstr "" - -#: js/loader.js:49 -msgid " failed." -msgstr "" - -#: js/settings.js:68 -msgid "Displayname cannot be empty." -msgstr "" - -#: lib/app.php:36 -msgid "Addressbook not found: " -msgstr "" - -#: lib/app.php:52 -msgid "This is not your addressbook." -msgstr "" - -#: lib/app.php:71 -msgid "Contact could not be found." -msgstr "" - -#: lib/app.php:116 -msgid "Jabber" -msgstr "" - -#: lib/app.php:121 -msgid "AIM" -msgstr "" - -#: lib/app.php:126 -msgid "MSN" -msgstr "" - -#: lib/app.php:131 -msgid "Twitter" -msgstr "" - -#: lib/app.php:136 -msgid "GoogleTalk" -msgstr "" - -#: lib/app.php:141 -msgid "Facebook" -msgstr "" - -#: lib/app.php:146 -msgid "XMPP" -msgstr "" - -#: lib/app.php:151 -msgid "ICQ" -msgstr "" - -#: lib/app.php:156 -msgid "Yahoo" -msgstr "" - -#: lib/app.php:161 -msgid "Skype" -msgstr "" - -#: lib/app.php:166 -msgid "QQ" -msgstr "" - -#: lib/app.php:171 -msgid "GaduGadu" -msgstr "" - -#: lib/app.php:194 lib/app.php:202 lib/app.php:213 lib/app.php:266 -msgid "Work" -msgstr "" - -#: lib/app.php:195 lib/app.php:200 lib/app.php:214 -msgid "Home" -msgstr "" - -#: lib/app.php:196 lib/app.php:209 lib/app.php:262 lib/vcard.php:593 -msgid "Other" -msgstr "" - -#: lib/app.php:201 -msgid "Mobile" -msgstr "" - -#: lib/app.php:203 -msgid "Text" -msgstr "" - -#: lib/app.php:204 -msgid "Voice" -msgstr "" - -#: lib/app.php:205 -msgid "Message" -msgstr "" - -#: lib/app.php:206 -msgid "Fax" -msgstr "" - -#: lib/app.php:207 -msgid "Video" -msgstr "" - -#: lib/app.php:208 -msgid "Pager" -msgstr "" - -#: lib/app.php:215 -msgid "Internet" -msgstr "" - -#: lib/app.php:252 templates/part.contact.php:45 -#: templates/part.contact.php:128 -msgid "Birthday" -msgstr "" - -#: lib/app.php:253 -msgid "Business" -msgstr "" - -#: lib/app.php:254 -msgid "Call" -msgstr "" - -#: lib/app.php:255 -msgid "Clients" -msgstr "" - -#: lib/app.php:256 -msgid "Deliverer" -msgstr "" - -#: lib/app.php:257 -msgid "Holidays" -msgstr "" - -#: lib/app.php:258 -msgid "Ideas" -msgstr "" - -#: lib/app.php:259 -msgid "Journey" -msgstr "" - -#: lib/app.php:260 -msgid "Jubilee" -msgstr "" - -#: lib/app.php:261 -msgid "Meeting" -msgstr "" - -#: lib/app.php:263 -msgid "Personal" -msgstr "" - -#: lib/app.php:264 -msgid "Projects" -msgstr "" - -#: lib/app.php:265 -msgid "Questions" -msgstr "" - -#: lib/hooks.php:102 -msgid "{name}'s Birthday" -msgstr "" - -#: lib/search.php:15 -msgid "Contact" -msgstr "" - -#: lib/vcard.php:408 -msgid "You do not have the permissions to edit this contact." -msgstr "" - -#: lib/vcard.php:483 -msgid "You do not have the permissions to delete this contact." -msgstr "" - -#: templates/index.php:14 -msgid "Add Contact" -msgstr "" - -#: templates/index.php:15 templates/index.php:16 templates/part.import.php:17 -msgid "Import" -msgstr "" - -#: templates/index.php:18 -msgid "Settings" -msgstr "" - -#: templates/index.php:18 templates/settings.php:9 -msgid "Addressbooks" -msgstr "" - -#: templates/index.php:36 templates/part.import.php:24 -msgid "Close" -msgstr "" - -#: templates/index.php:37 -msgid "Keyboard shortcuts" -msgstr "" - -#: templates/index.php:39 -msgid "Navigation" -msgstr "" - -#: templates/index.php:42 -msgid "Next contact in list" -msgstr "" - -#: templates/index.php:44 -msgid "Previous contact in list" -msgstr "" - -#: templates/index.php:46 -msgid "Expand/collapse current addressbook" -msgstr "" - -#: templates/index.php:48 -msgid "Next addressbook" -msgstr "" - -#: templates/index.php:50 -msgid "Previous addressbook" -msgstr "" - -#: templates/index.php:54 -msgid "Actions" -msgstr "" - -#: templates/index.php:57 -msgid "Refresh contacts list" -msgstr "" - -#: templates/index.php:59 -msgid "Add new contact" -msgstr "" - -#: templates/index.php:61 -msgid "Add new addressbook" -msgstr "" - -#: templates/index.php:63 -msgid "Delete current contact" -msgstr "" - -#: templates/part.contact.php:17 -msgid "Drop photo to upload" -msgstr "" - -#: templates/part.contact.php:19 -msgid "Delete current photo" -msgstr "" - -#: templates/part.contact.php:20 -msgid "Edit current photo" -msgstr "" - -#: templates/part.contact.php:21 -msgid "Upload new photo" -msgstr "" - -#: templates/part.contact.php:22 -msgid "Select photo from ownCloud" -msgstr "" - -#: templates/part.contact.php:35 -msgid "Format custom, Short name, Full name, Reverse or Reverse with comma" -msgstr "" - -#: templates/part.contact.php:36 -msgid "Edit name details" -msgstr "" - -#: templates/part.contact.php:39 templates/part.contact.php:40 -#: templates/part.contact.php:126 -msgid "Organization" -msgstr "" - -#: templates/part.contact.php:40 templates/part.contact.php:42 -#: templates/part.contact.php:44 templates/part.contact.php:46 -#: templates/part.contact.php:50 templates/settings.php:36 -msgid "Delete" -msgstr "" - -#: templates/part.contact.php:41 templates/part.contact.php:127 -msgid "Nickname" -msgstr "" - -#: templates/part.contact.php:42 -msgid "Enter nickname" -msgstr "" - -#: templates/part.contact.php:43 templates/part.contact.php:134 -msgid "Web site" -msgstr "" - -#: templates/part.contact.php:44 -msgid "http://www.somesite.com" -msgstr "" - -#: templates/part.contact.php:44 -msgid "Go to web site" -msgstr "" - -#: templates/part.contact.php:46 -msgid "dd-mm-yyyy" -msgstr "" - -#: templates/part.contact.php:47 templates/part.contact.php:135 -msgid "Groups" -msgstr "" - -#: templates/part.contact.php:49 -msgid "Separate groups with commas" -msgstr "" - -#: templates/part.contact.php:50 -msgid "Edit groups" -msgstr "" - -#: templates/part.contact.php:59 templates/part.contact.php:73 -#: templates/part.contact.php:98 -msgid "Preferred" -msgstr "" - -#: templates/part.contact.php:60 -msgid "Please specify a valid email address." -msgstr "" - -#: templates/part.contact.php:60 -msgid "Enter email address" -msgstr "" - -#: templates/part.contact.php:64 -msgid "Mail to address" -msgstr "" - -#: templates/part.contact.php:65 -msgid "Delete email address" -msgstr "" - -#: templates/part.contact.php:75 -msgid "Enter phone number" -msgstr "" - -#: templates/part.contact.php:79 -msgid "Delete phone number" -msgstr "" - -#: templates/part.contact.php:100 -msgid "Instant Messenger" -msgstr "" - -#: templates/part.contact.php:101 -msgid "Delete IM" -msgstr "" - -#: templates/part.contact.php:110 -msgid "View on map" -msgstr "" - -#: templates/part.contact.php:110 -msgid "Edit address details" -msgstr "" - -#: templates/part.contact.php:116 -msgid "Add notes here." -msgstr "" - -#: templates/part.contact.php:124 -msgid "Add field" -msgstr "" - -#: templates/part.contact.php:129 -msgid "Phone" -msgstr "" - -#: templates/part.contact.php:130 -msgid "Email" -msgstr "" - -#: templates/part.contact.php:131 -msgid "Instant Messaging" -msgstr "" - -#: templates/part.contact.php:132 -msgid "Address" -msgstr "" - -#: templates/part.contact.php:133 -msgid "Note" -msgstr "" - -#: templates/part.contact.php:138 -msgid "Download contact" -msgstr "" - -#: templates/part.contact.php:139 -msgid "Delete contact" -msgstr "" - -#: templates/part.cropphoto.php:65 -msgid "The temporary image has been removed from cache." -msgstr "" - -#: templates/part.edit_address_dialog.php:6 -msgid "Edit address" -msgstr "" - -#: templates/part.edit_address_dialog.php:10 -msgid "Type" -msgstr "" - -#: templates/part.edit_address_dialog.php:18 -#: templates/part.edit_address_dialog.php:21 -msgid "PO Box" -msgstr "" - -#: templates/part.edit_address_dialog.php:24 -msgid "Street address" -msgstr "" - -#: templates/part.edit_address_dialog.php:27 -msgid "Street and number" -msgstr "" - -#: templates/part.edit_address_dialog.php:30 -msgid "Extended" -msgstr "" - -#: templates/part.edit_address_dialog.php:33 -msgid "Apartment number etc." -msgstr "" - -#: templates/part.edit_address_dialog.php:36 -#: templates/part.edit_address_dialog.php:39 -msgid "City" -msgstr "" - -#: templates/part.edit_address_dialog.php:42 -msgid "Region" -msgstr "" - -#: templates/part.edit_address_dialog.php:45 -msgid "E.g. state or province" -msgstr "" - -#: templates/part.edit_address_dialog.php:48 -msgid "Zipcode" -msgstr "" - -#: templates/part.edit_address_dialog.php:51 -msgid "Postal code" -msgstr "" - -#: templates/part.edit_address_dialog.php:54 -#: templates/part.edit_address_dialog.php:57 -msgid "Country" -msgstr "" - -#: templates/part.edit_name_dialog.php:16 -msgid "Addressbook" -msgstr "" - -#: templates/part.edit_name_dialog.php:23 -msgid "Hon. prefixes" -msgstr "" - -#: templates/part.edit_name_dialog.php:27 -msgid "Miss" -msgstr "" - -#: templates/part.edit_name_dialog.php:28 -msgid "Ms" -msgstr "" - -#: templates/part.edit_name_dialog.php:29 -msgid "Mr" -msgstr "" - -#: templates/part.edit_name_dialog.php:30 -msgid "Sir" -msgstr "" - -#: templates/part.edit_name_dialog.php:31 -msgid "Mrs" -msgstr "" - -#: templates/part.edit_name_dialog.php:32 -msgid "Dr" -msgstr "" - -#: templates/part.edit_name_dialog.php:35 -msgid "Given name" -msgstr "" - -#: templates/part.edit_name_dialog.php:37 -msgid "Additional names" -msgstr "" - -#: templates/part.edit_name_dialog.php:39 -msgid "Family name" -msgstr "" - -#: templates/part.edit_name_dialog.php:41 -msgid "Hon. suffixes" -msgstr "" - -#: templates/part.edit_name_dialog.php:45 -msgid "J.D." -msgstr "" - -#: templates/part.edit_name_dialog.php:46 -msgid "M.D." -msgstr "" - -#: templates/part.edit_name_dialog.php:47 -msgid "D.O." -msgstr "" - -#: templates/part.edit_name_dialog.php:48 -msgid "D.C." -msgstr "" - -#: templates/part.edit_name_dialog.php:49 -msgid "Ph.D." -msgstr "" - -#: templates/part.edit_name_dialog.php:50 -msgid "Esq." -msgstr "" - -#: templates/part.edit_name_dialog.php:51 -msgid "Jr." -msgstr "" - -#: templates/part.edit_name_dialog.php:52 -msgid "Sn." -msgstr "" - -#: templates/part.import.php:1 -msgid "Import a contacts file" -msgstr "" - -#: templates/part.import.php:6 -msgid "Please choose the addressbook" -msgstr "" - -#: templates/part.import.php:10 -msgid "create a new addressbook" -msgstr "" - -#: templates/part.import.php:15 -msgid "Name of new addressbook" -msgstr "" - -#: templates/part.import.php:20 -msgid "Importing contacts" -msgstr "" - -#: templates/part.no_contacts.php:3 -msgid "You have no contacts in your addressbook." -msgstr "" - -#: templates/part.no_contacts.php:5 -msgid "Add contact" -msgstr "" - -#: templates/part.selectaddressbook.php:1 -msgid "Select Address Books" -msgstr "" - -#: templates/part.selectaddressbook.php:27 -msgid "Enter name" -msgstr "" - -#: templates/part.selectaddressbook.php:29 -msgid "Enter description" -msgstr "" - -#: templates/settings.php:3 -msgid "CardDAV syncing addresses" -msgstr "" - -#: templates/settings.php:3 -msgid "more info" -msgstr "" - -#: templates/settings.php:5 -msgid "Primary address (Kontact et al)" -msgstr "" - -#: templates/settings.php:7 -msgid "iOS/OS X" -msgstr "" - -#: templates/settings.php:20 -msgid "Show CardDav link" -msgstr "" - -#: templates/settings.php:23 -msgid "Show read-only VCF link" -msgstr "" - -#: templates/settings.php:26 -msgid "Share" -msgstr "" - -#: templates/settings.php:29 -msgid "Download" -msgstr "" - -#: templates/settings.php:33 -msgid "Edit" -msgstr "" - -#: templates/settings.php:43 -msgid "New Address Book" -msgstr "" - -#: templates/settings.php:44 -msgid "Name" -msgstr "" - -#: templates/settings.php:45 -msgid "Description" -msgstr "" - -#: templates/settings.php:46 -msgid "Save" -msgstr "" - -#: templates/settings.php:47 -msgid "Cancel" -msgstr "" - -#: templates/settings.php:52 -msgid "More..." -msgstr "" diff --git a/l10n/lv/core.po b/l10n/lv/core.po index dbc6b29788ee24d36fb3424bf98c37a215f07d09..673a73d1da684204f90a0dfbb56601dc8f23f8eb 100644 --- a/l10n/lv/core.po +++ b/l10n/lv/core.po @@ -8,9 +8,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-16 02:04+0200\n" -"PO-Revision-Date: 2012-10-16 00:05+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-11-16 00:02+0100\n" +"PO-Revision-Date: 2012-11-14 23:13+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Latvian (http://www.transifex.com/projects/p/owncloud/language/lv/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -18,209 +18,241 @@ msgstr "" "Language: lv\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);\n" -#: ajax/vcategories/add.php:23 ajax/vcategories/delete.php:23 -msgid "Application name not provided." +#: ajax/vcategories/add.php:26 ajax/vcategories/edit.php:25 +msgid "Category type not provided." msgstr "" -#: ajax/vcategories/add.php:29 +#: ajax/vcategories/add.php:30 msgid "No category to add?" msgstr "" -#: ajax/vcategories/add.php:36 +#: ajax/vcategories/add.php:37 msgid "This category already exists: " msgstr "" -#: js/js.js:238 templates/layout.user.php:49 templates/layout.user.php:50 +#: ajax/vcategories/addToFavorites.php:26 ajax/vcategories/delete.php:27 +#: ajax/vcategories/favorites.php:24 +#: ajax/vcategories/removeFromFavorites.php:26 +msgid "Object type not provided." +msgstr "" + +#: ajax/vcategories/addToFavorites.php:30 +#: ajax/vcategories/removeFromFavorites.php:30 +#, php-format +msgid "%s ID not provided." +msgstr "" + +#: ajax/vcategories/addToFavorites.php:35 +#, php-format +msgid "Error adding %s to favorites." +msgstr "" + +#: ajax/vcategories/delete.php:35 js/oc-vcategories.js:136 +msgid "No categories selected for deletion." +msgstr "" + +#: ajax/vcategories/removeFromFavorites.php:35 +#, php-format +msgid "Error removing %s from favorites." +msgstr "" + +#: js/js.js:243 templates/layout.user.php:59 templates/layout.user.php:60 msgid "Settings" msgstr "Iestatījumi" -#: js/js.js:670 -msgid "January" +#: js/js.js:688 +msgid "seconds ago" msgstr "" -#: js/js.js:670 -msgid "February" +#: js/js.js:689 +msgid "1 minute ago" msgstr "" -#: js/js.js:670 -msgid "March" +#: js/js.js:690 +msgid "{minutes} minutes ago" msgstr "" -#: js/js.js:670 -msgid "April" +#: js/js.js:691 +msgid "1 hour ago" msgstr "" -#: js/js.js:670 -msgid "May" +#: js/js.js:692 +msgid "{hours} hours ago" msgstr "" -#: js/js.js:670 -msgid "June" +#: js/js.js:693 +msgid "today" msgstr "" -#: js/js.js:671 -msgid "July" +#: js/js.js:694 +msgid "yesterday" msgstr "" -#: js/js.js:671 -msgid "August" +#: js/js.js:695 +msgid "{days} days ago" msgstr "" -#: js/js.js:671 -msgid "September" +#: js/js.js:696 +msgid "last month" msgstr "" -#: js/js.js:671 -msgid "October" +#: js/js.js:697 +msgid "{months} months ago" msgstr "" -#: js/js.js:671 -msgid "November" +#: js/js.js:698 +msgid "months ago" msgstr "" -#: js/js.js:671 -msgid "December" +#: js/js.js:699 +msgid "last year" msgstr "" -#: js/oc-dialogs.js:123 +#: js/js.js:700 +msgid "years ago" +msgstr "" + +#: js/oc-dialogs.js:126 msgid "Choose" msgstr "" -#: js/oc-dialogs.js:143 js/oc-dialogs.js:163 +#: js/oc-dialogs.js:146 js/oc-dialogs.js:166 msgid "Cancel" msgstr "" -#: js/oc-dialogs.js:159 +#: js/oc-dialogs.js:162 msgid "No" msgstr "" -#: js/oc-dialogs.js:160 +#: js/oc-dialogs.js:163 msgid "Yes" msgstr "" -#: js/oc-dialogs.js:177 +#: js/oc-dialogs.js:180 msgid "Ok" msgstr "" -#: js/oc-vcategories.js:68 -msgid "No categories selected for deletion." +#: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102 +#: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162 +msgid "The object type is not specified." msgstr "" -#: js/oc-vcategories.js:68 js/share.js:114 js/share.js:121 js/share.js:497 -#: js/share.js:509 +#: js/oc-vcategories.js:95 js/oc-vcategories.js:125 js/oc-vcategories.js:136 +#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:525 +#: js/share.js:537 msgid "Error" +msgstr "Kļūme" + +#: js/oc-vcategories.js:179 +msgid "The app name is not specified." msgstr "" -#: js/share.js:103 +#: js/oc-vcategories.js:194 +msgid "The required file {file} is not installed!" +msgstr "" + +#: js/share.js:124 msgid "Error while sharing" msgstr "" -#: js/share.js:114 +#: js/share.js:135 msgid "Error while unsharing" msgstr "" -#: js/share.js:121 +#: js/share.js:142 msgid "Error while changing permissions" msgstr "" -#: js/share.js:130 -msgid "Shared with you and the group" +#: js/share.js:151 +msgid "Shared with you and the group {group} by {owner}" msgstr "" -#: js/share.js:130 -msgid "by" -msgstr "" - -#: js/share.js:132 -msgid "Shared with you by" +#: js/share.js:153 +msgid "Shared with you by {owner}" msgstr "" -#: js/share.js:137 +#: js/share.js:158 msgid "Share with" msgstr "" -#: js/share.js:142 +#: js/share.js:163 msgid "Share with link" msgstr "" -#: js/share.js:143 +#: js/share.js:164 msgid "Password protect" msgstr "" -#: js/share.js:147 templates/installation.php:42 templates/login.php:24 +#: js/share.js:168 templates/installation.php:42 templates/login.php:24 #: templates/verify.php:13 msgid "Password" msgstr "Parole" -#: js/share.js:152 +#: js/share.js:173 msgid "Set expiration date" msgstr "" -#: js/share.js:153 +#: js/share.js:174 msgid "Expiration date" msgstr "" -#: js/share.js:185 +#: js/share.js:206 msgid "Share via email:" msgstr "" -#: js/share.js:187 +#: js/share.js:208 msgid "No people found" msgstr "" -#: js/share.js:214 +#: js/share.js:235 msgid "Resharing is not allowed" msgstr "" -#: js/share.js:250 -msgid "Shared in" -msgstr "" - -#: js/share.js:250 -msgid "with" +#: js/share.js:271 +msgid "Shared in {item} with {user}" msgstr "" -#: js/share.js:271 +#: js/share.js:292 msgid "Unshare" -msgstr "" +msgstr "Pārtraukt līdzdalīšanu" -#: js/share.js:283 +#: js/share.js:304 msgid "can edit" msgstr "" -#: js/share.js:285 +#: js/share.js:306 msgid "access control" msgstr "" -#: js/share.js:288 +#: js/share.js:309 msgid "create" msgstr "" -#: js/share.js:291 +#: js/share.js:312 msgid "update" msgstr "" -#: js/share.js:294 +#: js/share.js:315 msgid "delete" msgstr "" -#: js/share.js:297 +#: js/share.js:318 msgid "share" msgstr "" -#: js/share.js:322 js/share.js:484 +#: js/share.js:343 js/share.js:512 js/share.js:514 msgid "Password protected" msgstr "" -#: js/share.js:497 +#: js/share.js:525 msgid "Error unsetting expiration date" msgstr "" -#: js/share.js:509 +#: js/share.js:537 msgid "Error setting expiration date" msgstr "" -#: lostpassword/index.php:26 +#: lostpassword/controller.php:47 msgid "ownCloud password reset" msgstr "" @@ -233,12 +265,12 @@ msgid "You will receive a link to reset your password via Email." msgstr "Jūs savā epastā saņemsiet interneta saiti, caur kuru varēsiet atjaunot paroli." #: lostpassword/templates/lostpassword.php:5 -msgid "Requested" -msgstr "Obligāts" +msgid "Reset email send." +msgstr "" #: lostpassword/templates/lostpassword.php:8 -msgid "Login failed!" -msgstr "Neizdevās ielogoties." +msgid "Request failed!" +msgstr "" #: lostpassword/templates/lostpassword.php:11 templates/installation.php:38 #: templates/login.php:20 @@ -297,13 +329,13 @@ msgstr "Mākonis netika atrasts" msgid "Edit categories" msgstr "" -#: templates/edit_categories_dialog.php:14 +#: templates/edit_categories_dialog.php:16 msgid "Add" msgstr "" #: templates/installation.php:23 templates/installation.php:31 msgid "Security Warning" -msgstr "" +msgstr "Brīdinājums par drošību" #: templates/installation.php:24 msgid "" @@ -371,11 +403,87 @@ msgstr "Datubāzes mājvieta" msgid "Finish setup" msgstr "Pabeigt uzstādījumus" -#: templates/layout.guest.php:38 +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Sunday" +msgstr "" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Monday" +msgstr "" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Tuesday" +msgstr "" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Wednesday" +msgstr "" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Thursday" +msgstr "" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Friday" +msgstr "" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Saturday" +msgstr "" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "January" +msgstr "" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "February" +msgstr "" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "March" +msgstr "" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "April" +msgstr "" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "May" +msgstr "" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "June" +msgstr "" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "July" +msgstr "" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "August" +msgstr "" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "September" +msgstr "" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "October" +msgstr "" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "November" +msgstr "" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "December" +msgstr "" + +#: templates/layout.guest.php:41 msgid "web services under your control" msgstr "" -#: templates/layout.user.php:34 +#: templates/layout.user.php:44 msgid "Log out" msgstr "Izlogoties" diff --git a/l10n/lv/files.po b/l10n/lv/files.po index ae81cbe59e03b9d4694a114409a560db8f8da14c..09760c280aa8858296b450da5f8b861568f9401e 100644 --- a/l10n/lv/files.po +++ b/l10n/lv/files.po @@ -4,13 +4,14 @@ # # Translators: # , 2012. +# Imants Liepiņš , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-09-26 13:19+0200\n" -"PO-Revision-Date: 2012-09-26 11:20+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-12-01 00:01+0100\n" +"PO-Revision-Date: 2012-11-30 23:02+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Latvian (http://www.transifex.com/projects/p/owncloud/language/lv/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -20,281 +21,248 @@ msgstr "" #: ajax/upload.php:20 msgid "There is no error, the file uploaded with success" -msgstr "" +msgstr "Viss kārtībā, augšupielāde veiksmīga" #: ajax/upload.php:21 -msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" +msgid "" +"The uploaded file exceeds the upload_max_filesize directive in php.ini: " msgstr "" -#: ajax/upload.php:22 +#: ajax/upload.php:23 msgid "" "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " "the HTML form" msgstr "" -#: ajax/upload.php:23 +#: ajax/upload.php:25 msgid "The uploaded file was only partially uploaded" msgstr "" -#: ajax/upload.php:24 +#: ajax/upload.php:26 msgid "No file was uploaded" msgstr "Neviens fails netika augšuplādēts" -#: ajax/upload.php:25 +#: ajax/upload.php:27 msgid "Missing a temporary folder" -msgstr "" +msgstr "Trūkst pagaidu mapes" -#: ajax/upload.php:26 +#: ajax/upload.php:28 msgid "Failed to write to disk" msgstr "Nav iespējams saglabāt" -#: appinfo/app.php:6 +#: appinfo/app.php:10 msgid "Files" msgstr "Faili" -#: js/fileactions.js:108 templates/index.php:62 +#: js/fileactions.js:117 templates/index.php:83 templates/index.php:84 msgid "Unshare" -msgstr "" +msgstr "Pārtraukt līdzdalīšanu" -#: js/fileactions.js:110 templates/index.php:64 +#: js/fileactions.js:119 templates/index.php:89 templates/index.php:90 msgid "Delete" msgstr "Izdzēst" -#: js/fileactions.js:182 +#: js/fileactions.js:181 msgid "Rename" -msgstr "" +msgstr "Pārdēvēt" -#: js/filelist.js:190 js/filelist.js:192 -msgid "already exists" -msgstr "tāds fails jau eksistē" +#: js/filelist.js:201 js/filelist.js:203 +msgid "{new_name} already exists" +msgstr "" -#: js/filelist.js:190 js/filelist.js:192 +#: js/filelist.js:201 js/filelist.js:203 msgid "replace" msgstr "aizvietot" -#: js/filelist.js:190 +#: js/filelist.js:201 msgid "suggest name" -msgstr "" +msgstr "Ieteiktais nosaukums" -#: js/filelist.js:190 js/filelist.js:192 +#: js/filelist.js:201 js/filelist.js:203 msgid "cancel" msgstr "atcelt" -#: js/filelist.js:239 js/filelist.js:241 -msgid "replaced" -msgstr "aizvietots" +#: js/filelist.js:250 +msgid "replaced {new_name}" +msgstr "" -#: js/filelist.js:239 js/filelist.js:241 js/filelist.js:273 js/filelist.js:275 +#: js/filelist.js:250 js/filelist.js:252 js/filelist.js:284 js/filelist.js:286 msgid "undo" msgstr "vienu soli atpakaļ" -#: js/filelist.js:241 -msgid "with" -msgstr "ar" +#: js/filelist.js:252 +msgid "replaced {new_name} with {old_name}" +msgstr "" -#: js/filelist.js:273 -msgid "unshared" +#: js/filelist.js:284 +msgid "unshared {files}" msgstr "" -#: js/filelist.js:275 -msgid "deleted" -msgstr "izdzests" +#: js/filelist.js:286 +msgid "deleted {files}" +msgstr "" -#: js/files.js:179 +#: js/files.js:33 +msgid "" +"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not " +"allowed." +msgstr "" + +#: js/files.js:183 msgid "generating ZIP-file, it may take some time." msgstr "lai uzģenerētu ZIP failu, kāds brīdis ir jāpagaida" -#: js/files.js:208 +#: js/files.js:218 msgid "Unable to upload your file as it is a directory or has 0 bytes" msgstr "Nav iespējams augšuplādēt jūsu failu, jo tāds jau eksistē vai arī failam nav izmēra (0 baiti)" -#: js/files.js:208 +#: js/files.js:218 msgid "Upload Error" msgstr "Augšuplādēšanas laikā radās kļūda" -#: js/files.js:236 js/files.js:341 js/files.js:371 +#: js/files.js:235 +msgid "Close" +msgstr "" + +#: js/files.js:254 js/files.js:368 js/files.js:398 msgid "Pending" msgstr "Gaida savu kārtu" -#: js/files.js:256 +#: js/files.js:274 msgid "1 file uploading" msgstr "" -#: js/files.js:259 js/files.js:304 js/files.js:319 -msgid "files uploading" +#: js/files.js:277 js/files.js:331 js/files.js:346 +msgid "{count} files uploading" msgstr "" -#: js/files.js:322 js/files.js:355 +#: js/files.js:349 js/files.js:382 msgid "Upload cancelled." msgstr "Augšuplāde ir atcelta" -#: js/files.js:424 +#: js/files.js:451 msgid "" "File upload is in progress. Leaving the page now will cancel the upload." -msgstr "" +msgstr "Notiek augšupielāde. Pametot lapu tagad, tiks atcelta augšupielāde." -#: js/files.js:494 -msgid "Invalid name, '/' is not allowed." -msgstr "Šis simbols '/', nav atļauts." +#: js/files.js:523 +msgid "Invalid folder name. Usage of \"Shared\" is reserved by Owncloud" +msgstr "" -#: js/files.js:667 -msgid "files scanned" +#: js/files.js:704 +msgid "{count} files scanned" msgstr "" -#: js/files.js:675 +#: js/files.js:712 msgid "error while scanning" msgstr "" -#: js/files.js:748 templates/index.php:48 +#: js/files.js:785 templates/index.php:65 msgid "Name" msgstr "Nosaukums" -#: js/files.js:749 templates/index.php:56 +#: js/files.js:786 templates/index.php:76 msgid "Size" msgstr "Izmērs" -#: js/files.js:750 templates/index.php:58 +#: js/files.js:787 templates/index.php:78 msgid "Modified" msgstr "Izmainīts" -#: js/files.js:777 -msgid "folder" -msgstr "mape" - -#: js/files.js:779 -msgid "folders" -msgstr "mapes" - -#: js/files.js:787 -msgid "file" -msgstr "fails" - -#: js/files.js:789 -msgid "files" -msgstr "faili" - -#: js/files.js:833 -msgid "seconds ago" +#: js/files.js:814 +msgid "1 folder" msgstr "" -#: js/files.js:834 -msgid "minute ago" +#: js/files.js:816 +msgid "{count} folders" msgstr "" -#: js/files.js:835 -msgid "minutes ago" +#: js/files.js:824 +msgid "1 file" msgstr "" -#: js/files.js:838 -msgid "today" -msgstr "" - -#: js/files.js:839 -msgid "yesterday" -msgstr "" - -#: js/files.js:840 -msgid "days ago" -msgstr "" - -#: js/files.js:841 -msgid "last month" -msgstr "" - -#: js/files.js:843 -msgid "months ago" -msgstr "" - -#: js/files.js:844 -msgid "last year" -msgstr "" - -#: js/files.js:845 -msgid "years ago" +#: js/files.js:826 +msgid "{count} files" msgstr "" #: templates/admin.php:5 msgid "File handling" -msgstr "" +msgstr "Failu pārvaldība" #: templates/admin.php:7 msgid "Maximum upload size" msgstr "Maksimālais failu augšuplādes apjoms" -#: templates/admin.php:7 +#: templates/admin.php:9 msgid "max. possible: " msgstr "maksīmālais iespējamais:" -#: templates/admin.php:9 +#: templates/admin.php:12 msgid "Needed for multi-file and folder downloads." -msgstr "" +msgstr "Vajadzīgs vairāku failu un mapju lejuplādei" -#: templates/admin.php:9 +#: templates/admin.php:14 msgid "Enable ZIP-download" msgstr "Iespējot ZIP lejuplādi" -#: templates/admin.php:11 +#: templates/admin.php:17 msgid "0 is unlimited" msgstr "0 ir neierobežots" -#: templates/admin.php:12 +#: templates/admin.php:19 msgid "Maximum input size for ZIP files" msgstr "" -#: templates/admin.php:14 +#: templates/admin.php:23 msgid "Save" -msgstr "" +msgstr "Saglabāt" #: templates/index.php:7 msgid "New" msgstr "Jauns" -#: templates/index.php:9 +#: templates/index.php:10 msgid "Text file" msgstr "Teksta fails" -#: templates/index.php:10 +#: templates/index.php:12 msgid "Folder" msgstr "Mape" -#: templates/index.php:11 -msgid "From url" -msgstr "No URL saites" +#: templates/index.php:14 +msgid "From link" +msgstr "" -#: templates/index.php:20 +#: templates/index.php:35 msgid "Upload" msgstr "Augšuplādet" -#: templates/index.php:27 +#: templates/index.php:43 msgid "Cancel upload" msgstr "Atcelt augšuplādi" -#: templates/index.php:40 +#: templates/index.php:57 msgid "Nothing in here. Upload something!" msgstr "Te vēl nekas nav. Rīkojies, sāc augšuplādēt" -#: templates/index.php:50 -msgid "Share" -msgstr "Līdzdalīt" - -#: templates/index.php:52 +#: templates/index.php:71 msgid "Download" msgstr "Lejuplādēt" -#: templates/index.php:75 +#: templates/index.php:103 msgid "Upload too large" msgstr "Fails ir par lielu lai to augšuplādetu" -#: templates/index.php:77 +#: templates/index.php:105 msgid "" "The files you are trying to upload exceed the maximum size for file uploads " "on this server." -msgstr "" +msgstr "Jūsu augšuplādējamie faili pārsniedz servera pieļaujamo failu augšupielādes apjomu" -#: templates/index.php:82 +#: templates/index.php:110 msgid "Files are being scanned, please wait." msgstr "Faili šobrīd tiek caurskatīti, nedaudz jāpagaida." -#: templates/index.php:85 +#: templates/index.php:113 msgid "Current scanning" msgstr "Šobrīd tiek pārbaudīti" diff --git a/l10n/lv/files_external.po b/l10n/lv/files_external.po index 81da66c079112d60e03b79ab249bfac1db13ac11..742960675be4dc08a301651bb98f452dc4917942 100644 --- a/l10n/lv/files_external.po +++ b/l10n/lv/files_external.po @@ -7,9 +7,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-02 23:16+0200\n" -"PO-Revision-Date: 2012-10-02 21:17+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-12-12 00:12+0100\n" +"PO-Revision-Date: 2012-12-11 23:13+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Latvian (http://www.transifex.com/projects/p/owncloud/language/lv/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -41,66 +41,80 @@ msgstr "" msgid "Error configuring Google Drive storage" msgstr "" +#: lib/config.php:434 +msgid "" +"Warning: \"smbclient\" is not installed. Mounting of CIFS/SMB shares " +"is not possible. Please ask your system administrator to install it." +msgstr "" + +#: lib/config.php:435 +msgid "" +"Warning: The FTP support in PHP is not enabled or installed. Mounting" +" of FTP shares is not possible. Please ask your system administrator to " +"install it." +msgstr "" + #: templates/settings.php:3 msgid "External Storage" msgstr "" -#: templates/settings.php:7 templates/settings.php:19 +#: templates/settings.php:8 templates/settings.php:22 msgid "Mount point" msgstr "" -#: templates/settings.php:8 +#: templates/settings.php:9 msgid "Backend" msgstr "" -#: templates/settings.php:9 +#: templates/settings.php:10 msgid "Configuration" msgstr "" -#: templates/settings.php:10 +#: templates/settings.php:11 msgid "Options" msgstr "" -#: templates/settings.php:11 +#: templates/settings.php:12 msgid "Applicable" msgstr "" -#: templates/settings.php:23 +#: templates/settings.php:27 msgid "Add mount point" msgstr "" -#: templates/settings.php:54 templates/settings.php:62 +#: templates/settings.php:85 msgid "None set" msgstr "" -#: templates/settings.php:63 +#: templates/settings.php:86 msgid "All Users" msgstr "" -#: templates/settings.php:64 +#: templates/settings.php:87 msgid "Groups" msgstr "" -#: templates/settings.php:69 +#: templates/settings.php:95 msgid "Users" msgstr "" -#: templates/settings.php:77 templates/settings.php:107 +#: templates/settings.php:108 templates/settings.php:109 +#: templates/settings.php:149 templates/settings.php:150 msgid "Delete" msgstr "" -#: templates/settings.php:87 +#: templates/settings.php:124 msgid "Enable User External Storage" msgstr "" -#: templates/settings.php:88 +#: templates/settings.php:125 msgid "Allow users to mount their own external storage" msgstr "" -#: templates/settings.php:99 +#: templates/settings.php:139 msgid "SSL root certificates" msgstr "" -#: templates/settings.php:113 +#: templates/settings.php:158 msgid "Import Root Certificate" msgstr "" diff --git a/l10n/lv/files_pdfviewer.po b/l10n/lv/files_pdfviewer.po deleted file mode 100644 index 06441aecdabcd4d06882671b30d1c8e4b9e1d965..0000000000000000000000000000000000000000 --- a/l10n/lv/files_pdfviewer.po +++ /dev/null @@ -1,42 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 02:18+0200\n" -"PO-Revision-Date: 2012-08-26 00:19+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Latvian (http://www.transifex.com/projects/p/owncloud/language/lv/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: lv\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2)\n" - -#: js/viewer.js:22 -msgid "Previous" -msgstr "" - -#: js/viewer.js:23 -msgid "Next" -msgstr "" - -#: js/viewer.js:29 -msgid "Page Width" -msgstr "" - -#: js/viewer.js:29 -msgid "Page Fit" -msgstr "" - -#: js/viewer.js:30 -msgid "Print" -msgstr "" - -#: js/viewer.js:32 -msgid "Download" -msgstr "" diff --git a/l10n/lv/files_texteditor.po b/l10n/lv/files_texteditor.po deleted file mode 100644 index e0c9f6755086a9e09cbe694c5751cddf61a4a09d..0000000000000000000000000000000000000000 --- a/l10n/lv/files_texteditor.po +++ /dev/null @@ -1,44 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 01:17+0200\n" -"PO-Revision-Date: 2012-08-25 23:18+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Latvian (http://www.transifex.com/projects/p/owncloud/language/lv/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: lv\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2)\n" - -#: js/aceeditor/mode-coldfusion-uncompressed.js:1568 -#: js/aceeditor/mode-liquid-uncompressed.js:902 -#: js/aceeditor/mode-svg-uncompressed.js:1575 -msgid "regex" -msgstr "" - -#: js/editor.js:72 js/editor.js:156 js/editor.js:163 -msgid "Save" -msgstr "" - -#: js/editor.js:74 -msgid "Close" -msgstr "" - -#: js/editor.js:149 -msgid "Saving..." -msgstr "" - -#: js/editor.js:239 -msgid "An error occurred!" -msgstr "" - -#: js/editor.js:266 -msgid "There were unsaved changes, click here to go back" -msgstr "" diff --git a/l10n/lv/gallery.po b/l10n/lv/gallery.po deleted file mode 100644 index 03b337f7da5e9e94c6a77f22bf825676c3c17969..0000000000000000000000000000000000000000 --- a/l10n/lv/gallery.po +++ /dev/null @@ -1,58 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-07-27 02:02+0200\n" -"PO-Revision-Date: 2012-01-15 13:48+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Latvian (http://www.transifex.com/projects/p/owncloud/language/lv/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: lv\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2)\n" - -#: appinfo/app.php:39 -msgid "Pictures" -msgstr "" - -#: js/pictures.js:12 -msgid "Share gallery" -msgstr "" - -#: js/pictures.js:32 -msgid "Error: " -msgstr "" - -#: js/pictures.js:32 -msgid "Internal error" -msgstr "" - -#: templates/index.php:27 -msgid "Slideshow" -msgstr "" - -#: templates/view_album.php:19 -msgid "Back" -msgstr "" - -#: templates/view_album.php:36 -msgid "Remove confirmation" -msgstr "" - -#: templates/view_album.php:37 -msgid "Do you want to remove album" -msgstr "" - -#: templates/view_album.php:40 -msgid "Change album name" -msgstr "" - -#: templates/view_album.php:43 -msgid "New album name" -msgstr "" diff --git a/l10n/lv/impress.po b/l10n/lv/impress.po deleted file mode 100644 index 1685472a3e540177292e6888d477e6ade82d8533..0000000000000000000000000000000000000000 --- a/l10n/lv/impress.po +++ /dev/null @@ -1,22 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 01:17+0200\n" -"PO-Revision-Date: 2012-08-25 23:18+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Latvian (http://www.transifex.com/projects/p/owncloud/language/lv/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: lv\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2)\n" - -#: templates/presentations.php:7 -msgid "Documentation" -msgstr "" diff --git a/l10n/lv/lib.po b/l10n/lv/lib.po index b7c5c4178093ec671287c64254c293391036f197..8ef8b7d506081c4a52daa882cc297744b719361f 100644 --- a/l10n/lv/lib.po +++ b/l10n/lv/lib.po @@ -7,53 +7,53 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-09-01 02:01+0200\n" -"PO-Revision-Date: 2012-09-01 00:02+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-11-16 00:02+0100\n" +"PO-Revision-Date: 2012-11-14 23:13+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Latvian (http://www.transifex.com/projects/p/owncloud/language/lv/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: lv\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2)\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);\n" -#: app.php:288 +#: app.php:285 msgid "Help" -msgstr "" +msgstr "Palīdzība" -#: app.php:295 +#: app.php:292 msgid "Personal" -msgstr "" +msgstr "Personīgi" -#: app.php:300 +#: app.php:297 msgid "Settings" -msgstr "" +msgstr "Iestatījumi" -#: app.php:305 +#: app.php:302 msgid "Users" -msgstr "" +msgstr "Lietotāji" -#: app.php:312 +#: app.php:309 msgid "Apps" msgstr "" -#: app.php:314 +#: app.php:311 msgid "Admin" msgstr "" -#: files.php:280 +#: files.php:332 msgid "ZIP download is turned off." msgstr "" -#: files.php:281 +#: files.php:333 msgid "Files need to be downloaded one by one." msgstr "" -#: files.php:281 files.php:306 +#: files.php:333 files.php:358 msgid "Back to Files" msgstr "" -#: files.php:305 +#: files.php:357 msgid "Selected files too large to generate zip file." msgstr "" @@ -61,65 +61,92 @@ msgstr "" msgid "Application is not enabled" msgstr "" -#: json.php:39 json.php:63 json.php:75 +#: json.php:39 json.php:64 json.php:77 json.php:89 msgid "Authentication error" -msgstr "" +msgstr "Ielogošanās kļūme" #: json.php:51 msgid "Token expired. Please reload page." msgstr "" -#: template.php:86 +#: search/provider/file.php:17 search/provider/file.php:35 +msgid "Files" +msgstr "Faili" + +#: search/provider/file.php:26 search/provider/file.php:33 +msgid "Text" +msgstr "" + +#: search/provider/file.php:29 +msgid "Images" +msgstr "" + +#: template.php:103 msgid "seconds ago" msgstr "" -#: template.php:87 +#: template.php:104 msgid "1 minute ago" msgstr "" -#: template.php:88 +#: template.php:105 #, php-format msgid "%d minutes ago" msgstr "" -#: template.php:91 +#: template.php:106 +msgid "1 hour ago" +msgstr "" + +#: template.php:107 +#, php-format +msgid "%d hours ago" +msgstr "" + +#: template.php:108 msgid "today" msgstr "" -#: template.php:92 +#: template.php:109 msgid "yesterday" msgstr "" -#: template.php:93 +#: template.php:110 #, php-format msgid "%d days ago" msgstr "" -#: template.php:94 +#: template.php:111 msgid "last month" msgstr "" -#: template.php:95 -msgid "months ago" +#: template.php:112 +#, php-format +msgid "%d months ago" msgstr "" -#: template.php:96 +#: template.php:113 msgid "last year" msgstr "" -#: template.php:97 +#: template.php:114 msgid "years ago" msgstr "" -#: updater.php:66 +#: updater.php:75 #, php-format msgid "%s is available. Get more information" msgstr "" -#: updater.php:68 +#: updater.php:77 msgid "up to date" msgstr "" -#: updater.php:71 +#: updater.php:80 msgid "updates check is disabled" msgstr "" + +#: vcategories.php:188 vcategories.php:249 +#, php-format +msgid "Could not find category \"%s\"" +msgstr "" diff --git a/l10n/lv/media.po b/l10n/lv/media.po deleted file mode 100644 index 8f717c8e6ef5be738245d4946f589827a7d83009..0000000000000000000000000000000000000000 --- a/l10n/lv/media.po +++ /dev/null @@ -1,66 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-07-27 02:02+0200\n" -"PO-Revision-Date: 2011-08-13 02:19+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Latvian (http://www.transifex.com/projects/p/owncloud/language/lv/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: lv\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2)\n" - -#: appinfo/app.php:45 templates/player.php:8 -msgid "Music" -msgstr "" - -#: js/music.js:18 -msgid "Add album to playlist" -msgstr "" - -#: templates/music.php:3 templates/player.php:12 -msgid "Play" -msgstr "" - -#: templates/music.php:4 templates/music.php:26 templates/player.php:13 -msgid "Pause" -msgstr "" - -#: templates/music.php:5 -msgid "Previous" -msgstr "" - -#: templates/music.php:6 templates/player.php:14 -msgid "Next" -msgstr "" - -#: templates/music.php:7 -msgid "Mute" -msgstr "" - -#: templates/music.php:8 -msgid "Unmute" -msgstr "" - -#: templates/music.php:25 -msgid "Rescan Collection" -msgstr "" - -#: templates/music.php:37 -msgid "Artist" -msgstr "" - -#: templates/music.php:38 -msgid "Album" -msgstr "" - -#: templates/music.php:39 -msgid "Title" -msgstr "" diff --git a/l10n/lv/settings.po b/l10n/lv/settings.po index f5872cc17bb39fcc1adb4c1e31c58f57905cd3b0..bb71a36d28ae8ab64fbeb1d45d5b24a25e30bef5 100644 --- a/l10n/lv/settings.po +++ b/l10n/lv/settings.po @@ -4,13 +4,14 @@ # # Translators: # , 2012. +# , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-09 02:03+0200\n" -"PO-Revision-Date: 2012-10-09 00:04+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-12-03 00:04+0100\n" +"PO-Revision-Date: 2012-12-02 03:18+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Latvian (http://www.transifex.com/projects/p/owncloud/language/lv/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -18,70 +19,73 @@ msgstr "" "Language: lv\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);\n" -#: ajax/apps/ocs.php:23 +#: ajax/apps/ocs.php:20 msgid "Unable to load list from App Store" msgstr "Nebija iespējams lejuplādēt sarakstu no aplikāciju veikala" -#: ajax/creategroup.php:9 ajax/removeuser.php:13 ajax/setquota.php:18 -#: ajax/togglegroups.php:15 -msgid "Authentication error" -msgstr "Ielogošanās kļūme" - -#: ajax/creategroup.php:19 +#: ajax/creategroup.php:10 msgid "Group already exists" -msgstr "" +msgstr "Grupa jau eksistē" -#: ajax/creategroup.php:28 +#: ajax/creategroup.php:19 msgid "Unable to add group" -msgstr "" +msgstr "Nevar pievienot grupu" -#: ajax/enableapp.php:14 +#: ajax/enableapp.php:12 msgid "Could not enable app. " -msgstr "" +msgstr "Nevar ieslēgt aplikāciju." -#: ajax/lostpassword.php:14 +#: ajax/lostpassword.php:12 msgid "Email saved" msgstr "Epasts tika saglabāts" -#: ajax/lostpassword.php:16 +#: ajax/lostpassword.php:14 msgid "Invalid email" msgstr "Nepareizs epasts" -#: ajax/openid.php:16 +#: ajax/openid.php:13 msgid "OpenID Changed" msgstr "OpenID nomainīts" -#: ajax/openid.php:18 ajax/setlanguage.php:20 ajax/setlanguage.php:23 +#: ajax/openid.php:15 ajax/setlanguage.php:17 ajax/setlanguage.php:20 msgid "Invalid request" msgstr "Nepareizs vaicājums" -#: ajax/removegroup.php:16 +#: ajax/removegroup.php:13 msgid "Unable to delete group" -msgstr "" +msgstr "Nevar izdzēst grupu" -#: ajax/removeuser.php:22 +#: ajax/removeuser.php:15 ajax/setquota.php:15 ajax/togglegroups.php:18 +msgid "Authentication error" +msgstr "Ielogošanās kļūme" + +#: ajax/removeuser.php:24 msgid "Unable to delete user" -msgstr "" +msgstr "Nevar izdzēst lietotāju" -#: ajax/setlanguage.php:18 +#: ajax/setlanguage.php:15 msgid "Language changed" msgstr "Valoda tika nomainīta" -#: ajax/togglegroups.php:25 +#: ajax/togglegroups.php:12 +msgid "Admins can't remove themself from the admin group" +msgstr "" + +#: ajax/togglegroups.php:28 #, php-format msgid "Unable to add user to group %s" -msgstr "" +msgstr "Nevar pievienot lietotāju grupai %s" -#: ajax/togglegroups.php:31 +#: ajax/togglegroups.php:34 #, php-format msgid "Unable to remove user from group %s" -msgstr "" +msgstr "Nevar noņemt lietotāju no grupas %s" -#: js/apps.js:28 js/apps.js:65 +#: js/apps.js:28 js/apps.js:67 msgid "Disable" msgstr "Atvienot" -#: js/apps.js:28 js/apps.js:54 +#: js/apps.js:28 js/apps.js:55 msgid "Enable" msgstr "Pievienot" @@ -89,104 +93,17 @@ msgstr "Pievienot" msgid "Saving..." msgstr "Saglabā..." -#: personal.php:47 personal.php:48 +#: personal.php:42 personal.php:43 msgid "__language_name__" msgstr "__valodas_nosaukums__" -#: templates/admin.php:14 -msgid "Security Warning" -msgstr "Brīdinājums par drošību" - -#: templates/admin.php:17 -msgid "" -"Your data directory and your files are probably accessible from the " -"internet. The .htaccess file that ownCloud provides is not working. We " -"strongly suggest that you configure your webserver in a way that the data " -"directory is no longer accessible or you move the data directory outside the" -" webserver document root." -msgstr "" - -#: templates/admin.php:31 -msgid "Cron" -msgstr "Cron" - -#: templates/admin.php:37 -msgid "Execute one task with each page loaded" -msgstr "" - -#: templates/admin.php:43 -msgid "" -"cron.php is registered at a webcron service. Call the cron.php page in the " -"owncloud root once a minute over http." -msgstr "" - -#: templates/admin.php:49 -msgid "" -"Use systems cron service. Call the cron.php file in the owncloud folder via " -"a system cronjob once a minute." -msgstr "" - -#: templates/admin.php:56 -msgid "Sharing" -msgstr "" - -#: templates/admin.php:61 -msgid "Enable Share API" -msgstr "" - -#: templates/admin.php:62 -msgid "Allow apps to use the Share API" -msgstr "" - -#: templates/admin.php:67 -msgid "Allow links" -msgstr "" - -#: templates/admin.php:68 -msgid "Allow users to share items to the public with links" -msgstr "" - -#: templates/admin.php:73 -msgid "Allow resharing" -msgstr "" - -#: templates/admin.php:74 -msgid "Allow users to share items shared with them again" -msgstr "" - -#: templates/admin.php:79 -msgid "Allow users to share with anyone" -msgstr "" - -#: templates/admin.php:81 -msgid "Allow users to only share with users in their groups" -msgstr "" - -#: templates/admin.php:88 -msgid "Log" -msgstr "Log" - -#: templates/admin.php:116 -msgid "More" -msgstr "Vairāk" - -#: templates/admin.php:124 -msgid "" -"Developed by the ownCloud community, the source code is " -"licensed under the AGPL." -msgstr "" - #: templates/apps.php:10 msgid "Add your App" msgstr "Pievieno savu aplikāciju" #: templates/apps.php:11 msgid "More Apps" -msgstr "" +msgstr "Vairāk aplikāciju" #: templates/apps.php:27 msgid "Select an App" @@ -198,7 +115,7 @@ msgstr "Apskatie aplikāciju lapu - apps.owncloud.com" #: templates/apps.php:32 msgid "-licensed by " -msgstr "" +msgstr "-licencēts no " #: templates/help.php:9 msgid "Documentation" @@ -212,22 +129,22 @@ msgstr "Rīkoties ar apjomīgiem failiem" msgid "Ask a question" msgstr "Uzdod jautajumu" -#: templates/help.php:23 +#: templates/help.php:22 msgid "Problems connecting to help database." msgstr "Problēmas ar datubāzes savienojumu" -#: templates/help.php:24 +#: templates/help.php:23 msgid "Go there manually." msgstr "Nokļūt tur pašrocīgi" -#: templates/help.php:32 +#: templates/help.php:31 msgid "Answer" msgstr "Atbildēt" #: templates/personal.php:8 #, php-format -msgid "You have used %s of the available %s" -msgstr "" +msgid "You have used %s of the available %s" +msgstr "Jūs lietojat %s no pieejamajiem %s" #: templates/personal.php:12 msgid "Desktop and Mobile Syncing Clients" @@ -239,7 +156,7 @@ msgstr "Lejuplādēt" #: templates/personal.php:19 msgid "Your password was changed" -msgstr "" +msgstr "Jūru parole tika nomainīta" #: templates/personal.php:20 msgid "Unable to change your password" @@ -285,6 +202,16 @@ msgstr "Palīdzi tulkot" msgid "use this address to connect to your ownCloud in your file manager" msgstr "izmanto šo adresi lai ielogotos ownCloud no sava failu pārlūka" +#: templates/personal.php:61 +msgid "" +"Developed by the ownCloud community, the source code is " +"licensed under the AGPL." +msgstr "IzstrādājusiownCloud kopiena,pirmkodukurš ir licencēts zem AGPL." + #: templates/users.php:21 templates/users.php:76 msgid "Name" msgstr "Vārds" diff --git a/l10n/lv/tasks.po b/l10n/lv/tasks.po deleted file mode 100644 index 20b56238ac7fe6370ea87e875c84646bef752df9..0000000000000000000000000000000000000000 --- a/l10n/lv/tasks.po +++ /dev/null @@ -1,106 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:44+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Latvian (http://www.transifex.com/projects/p/owncloud/language/lv/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: lv\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2)\n" - -#: ajax/update_property.php:51 lib/app.php:89 lib/app.php:101 -msgid "Invalid date/time" -msgstr "" - -#: appinfo/app.php:11 -msgid "Tasks" -msgstr "" - -#: js/tasks.js:415 -msgid "No category" -msgstr "" - -#: lib/app.php:33 -msgid "Unspecified" -msgstr "" - -#: lib/app.php:34 -msgid "1=highest" -msgstr "" - -#: lib/app.php:38 -msgid "5=medium" -msgstr "" - -#: lib/app.php:42 -msgid "9=lowest" -msgstr "" - -#: lib/app.php:81 -msgid "Empty Summary" -msgstr "" - -#: lib/app.php:93 -msgid "Invalid percent complete" -msgstr "" - -#: lib/app.php:107 -msgid "Invalid priority" -msgstr "" - -#: templates/tasks.php:3 -msgid "Add Task" -msgstr "" - -#: templates/tasks.php:4 -msgid "Order Due" -msgstr "" - -#: templates/tasks.php:5 -msgid "Order List" -msgstr "" - -#: templates/tasks.php:6 -msgid "Order Complete" -msgstr "" - -#: templates/tasks.php:7 -msgid "Order Location" -msgstr "" - -#: templates/tasks.php:8 -msgid "Order Priority" -msgstr "" - -#: templates/tasks.php:9 -msgid "Order Label" -msgstr "" - -#: templates/tasks.php:16 -msgid "Loading tasks..." -msgstr "" - -#: templates/tasks.php:20 -msgid "Important" -msgstr "" - -#: templates/tasks.php:23 -msgid "More" -msgstr "" - -#: templates/tasks.php:26 -msgid "Less" -msgstr "" - -#: templates/tasks.php:29 -msgid "Delete" -msgstr "" diff --git a/l10n/lv/user_migrate.po b/l10n/lv/user_migrate.po deleted file mode 100644 index d54da6a081a64100a2dfcf045a0e0f0007a1597c..0000000000000000000000000000000000000000 --- a/l10n/lv/user_migrate.po +++ /dev/null @@ -1,51 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:45+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Latvian (http://www.transifex.com/projects/p/owncloud/language/lv/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: lv\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2)\n" - -#: js/export.js:14 js/export.js:20 -msgid "Export" -msgstr "" - -#: js/export.js:19 -msgid "Something went wrong while the export file was being generated" -msgstr "" - -#: js/export.js:19 -msgid "An error has occurred" -msgstr "" - -#: templates/settings.php:2 -msgid "Export your user account" -msgstr "" - -#: templates/settings.php:3 -msgid "" -"This will create a compressed file that contains your ownCloud account." -msgstr "" - -#: templates/settings.php:13 -msgid "Import user account" -msgstr "" - -#: templates/settings.php:15 -msgid "ownCloud User Zip" -msgstr "" - -#: templates/settings.php:17 -msgid "Import" -msgstr "" diff --git a/l10n/lv/user_openid.po b/l10n/lv/user_openid.po deleted file mode 100644 index 2dbaa488ad754e8b8579e91e0a5a563a9aa65ae6..0000000000000000000000000000000000000000 --- a/l10n/lv/user_openid.po +++ /dev/null @@ -1,54 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:45+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Latvian (http://www.transifex.com/projects/p/owncloud/language/lv/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: lv\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2)\n" - -#: templates/nomode.php:12 -msgid "This is an OpenID server endpoint. For more information, see " -msgstr "" - -#: templates/nomode.php:14 -msgid "Identity: " -msgstr "" - -#: templates/nomode.php:15 -msgid "Realm: " -msgstr "" - -#: templates/nomode.php:16 -msgid "User: " -msgstr "" - -#: templates/nomode.php:17 -msgid "Login" -msgstr "" - -#: templates/nomode.php:22 -msgid "Error: No user Selected" -msgstr "" - -#: templates/settings.php:4 -msgid "you can authenticate to other sites with this address" -msgstr "" - -#: templates/settings.php:5 -msgid "Authorized OpenID provider" -msgstr "" - -#: templates/settings.php:6 -msgid "Your address at Wordpress, Identi.ca, …" -msgstr "" diff --git a/l10n/lv/files_odfviewer.po b/l10n/lv/user_webdavauth.po similarity index 78% rename from l10n/lv/files_odfviewer.po rename to l10n/lv/user_webdavauth.po index ef357e02f1e59279b8798c969f9d671471acd765..afb2045c92c6acfa1414f9ad02ac565c835dd6c2 100644 --- a/l10n/lv/files_odfviewer.po +++ b/l10n/lv/user_webdavauth.po @@ -7,16 +7,16 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 02:18+0200\n" -"PO-Revision-Date: 2012-08-26 00:19+0000\n" +"POT-Creation-Date: 2012-11-09 10:06+0100\n" +"PO-Revision-Date: 2012-11-09 09:06+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: Latvian (http://www.transifex.com/projects/p/owncloud/language/lv/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: lv\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2)\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);\n" -#: js/viewer.js:9 -msgid "Close" +#: templates/settings.php:4 +msgid "WebDAV URL: http://" msgstr "" diff --git a/l10n/mk/admin_dependencies_chk.po b/l10n/mk/admin_dependencies_chk.po deleted file mode 100644 index 18aee717b6da6d284297aeb4909dedf3e40849d5..0000000000000000000000000000000000000000 --- a/l10n/mk/admin_dependencies_chk.po +++ /dev/null @@ -1,73 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:33+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Macedonian (http://www.transifex.com/projects/p/owncloud/language/mk/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: mk\n" -"Plural-Forms: nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1\n" - -#: settings.php:33 -msgid "" -"The php-json module is needed by the many applications for inter " -"communications" -msgstr "" - -#: settings.php:39 -msgid "" -"The php-curl modude is needed to fetch the page title when adding a " -"bookmarks" -msgstr "" - -#: settings.php:45 -msgid "The php-gd module is needed to create thumbnails of your images" -msgstr "" - -#: settings.php:51 -msgid "The php-ldap module is needed connect to your ldap server" -msgstr "" - -#: settings.php:57 -msgid "The php-zip module is needed download multiple files at once" -msgstr "" - -#: settings.php:63 -msgid "" -"The php-mb_multibyte module is needed to manage correctly the encoding." -msgstr "" - -#: settings.php:69 -msgid "The php-ctype module is needed validate data." -msgstr "" - -#: settings.php:75 -msgid "The php-xml module is needed to share files with webdav." -msgstr "" - -#: settings.php:81 -msgid "" -"The allow_url_fopen directive of your php.ini should be set to 1 to retrieve" -" knowledge base from OCS servers" -msgstr "" - -#: settings.php:87 -msgid "The php-pdo module is needed to store owncloud data into a database." -msgstr "" - -#: templates/settings.php:2 -msgid "Dependencies status" -msgstr "" - -#: templates/settings.php:7 -msgid "Used by :" -msgstr "" diff --git a/l10n/mk/admin_migrate.po b/l10n/mk/admin_migrate.po deleted file mode 100644 index f692f219857fd595a1e34813c1bd2f04c0e6c446..0000000000000000000000000000000000000000 --- a/l10n/mk/admin_migrate.po +++ /dev/null @@ -1,32 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:32+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Macedonian (http://www.transifex.com/projects/p/owncloud/language/mk/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: mk\n" -"Plural-Forms: nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1\n" - -#: templates/settings.php:3 -msgid "Export this ownCloud instance" -msgstr "" - -#: templates/settings.php:4 -msgid "" -"This will create a compressed file that contains the data of this owncloud instance.\n" -" Please choose the export type:" -msgstr "" - -#: templates/settings.php:12 -msgid "Export" -msgstr "" diff --git a/l10n/mk/bookmarks.po b/l10n/mk/bookmarks.po deleted file mode 100644 index 547a2c5da28afc295dc5766992ae21f496a9e7fe..0000000000000000000000000000000000000000 --- a/l10n/mk/bookmarks.po +++ /dev/null @@ -1,60 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-07-28 02:02+0200\n" -"PO-Revision-Date: 2012-07-27 22:17+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Macedonian (http://www.transifex.com/projects/p/owncloud/language/mk/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: mk\n" -"Plural-Forms: nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1\n" - -#: appinfo/app.php:14 -msgid "Bookmarks" -msgstr "" - -#: bookmarksHelper.php:99 -msgid "unnamed" -msgstr "" - -#: templates/bookmarklet.php:5 -msgid "" -"Drag this to your browser bookmarks and click it, when you want to bookmark " -"a webpage quickly:" -msgstr "" - -#: templates/bookmarklet.php:7 -msgid "Read later" -msgstr "" - -#: templates/list.php:13 -msgid "Address" -msgstr "" - -#: templates/list.php:14 -msgid "Title" -msgstr "" - -#: templates/list.php:15 -msgid "Tags" -msgstr "" - -#: templates/list.php:16 -msgid "Save bookmark" -msgstr "" - -#: templates/list.php:22 -msgid "You have no bookmarks" -msgstr "" - -#: templates/settings.php:11 -msgid "Bookmarklet
" -msgstr "" diff --git a/l10n/mk/calendar.po b/l10n/mk/calendar.po deleted file mode 100644 index 6dfc90153f108280acf127cd0b921c84f0a093db..0000000000000000000000000000000000000000 --- a/l10n/mk/calendar.po +++ /dev/null @@ -1,815 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Miroslav Jovanovic , 2012. -# Miroslav Jovanovic , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-11 02:02+0200\n" -"PO-Revision-Date: 2012-08-11 00:02+0000\n" -"Last-Translator: owncloud_robot \n" -"Language-Team: Macedonian (http://www.transifex.com/projects/p/owncloud/language/mk/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: mk\n" -"Plural-Forms: nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1\n" - -#: ajax/cache/status.php:19 -msgid "Not all calendars are completely cached" -msgstr "" - -#: ajax/cache/status.php:21 -msgid "Everything seems to be completely cached" -msgstr "" - -#: ajax/categories/rescan.php:29 -msgid "No calendars found." -msgstr "Не се најдени календари." - -#: ajax/categories/rescan.php:37 -msgid "No events found." -msgstr "Не се најдени настани." - -#: ajax/event/edit.form.php:20 -msgid "Wrong calendar" -msgstr "Погрешен календар" - -#: ajax/import/dropimport.php:29 ajax/import/import.php:64 -msgid "" -"The file contained either no events or all events are already saved in your " -"calendar." -msgstr "" - -#: ajax/import/dropimport.php:31 ajax/import/import.php:67 -msgid "events has been saved in the new calendar" -msgstr "" - -#: ajax/import/import.php:56 -msgid "Import failed" -msgstr "" - -#: ajax/import/import.php:69 -msgid "events has been saved in your calendar" -msgstr "" - -#: ajax/settings/guesstimezone.php:25 -msgid "New Timezone:" -msgstr "Нова временска зона:" - -#: ajax/settings/settimezone.php:23 -msgid "Timezone changed" -msgstr "Временската зона е променета" - -#: ajax/settings/settimezone.php:25 -msgid "Invalid request" -msgstr "Неправилно барање" - -#: appinfo/app.php:35 templates/calendar.php:15 -#: templates/part.eventform.php:33 templates/part.showevent.php:33 -msgid "Calendar" -msgstr "Календар" - -#: js/calendar.js:832 -msgid "ddd" -msgstr "ддд" - -#: js/calendar.js:833 -msgid "ddd M/d" -msgstr "ддд М/д" - -#: js/calendar.js:834 -msgid "dddd M/d" -msgstr "дддд М/д" - -#: js/calendar.js:837 -msgid "MMMM yyyy" -msgstr "ММММ гггг" - -#: js/calendar.js:839 -msgid "MMM d[ yyyy]{ '—'[ MMM] d yyyy}" -msgstr "MMM d[ yyyy]{ '—'[ MMM] d yyyy}" - -#: js/calendar.js:841 -msgid "dddd, MMM d, yyyy" -msgstr "дддд, МММ д, гггг" - -#: lib/app.php:121 -msgid "Birthday" -msgstr "Роденден" - -#: lib/app.php:122 -msgid "Business" -msgstr "Деловно" - -#: lib/app.php:123 -msgid "Call" -msgstr "Повикај" - -#: lib/app.php:124 -msgid "Clients" -msgstr "Клиенти" - -#: lib/app.php:125 -msgid "Deliverer" -msgstr "Доставувач" - -#: lib/app.php:126 -msgid "Holidays" -msgstr "Празници" - -#: lib/app.php:127 -msgid "Ideas" -msgstr "Идеи" - -#: lib/app.php:128 -msgid "Journey" -msgstr "Патување" - -#: lib/app.php:129 -msgid "Jubilee" -msgstr "Јубилеј" - -#: lib/app.php:130 -msgid "Meeting" -msgstr "Состанок" - -#: lib/app.php:131 -msgid "Other" -msgstr "Останато" - -#: lib/app.php:132 -msgid "Personal" -msgstr "Лично" - -#: lib/app.php:133 -msgid "Projects" -msgstr "Проекти" - -#: lib/app.php:134 -msgid "Questions" -msgstr "Прашања" - -#: lib/app.php:135 -msgid "Work" -msgstr "Работа" - -#: lib/app.php:351 lib/app.php:361 -msgid "by" -msgstr "" - -#: lib/app.php:359 lib/app.php:399 -msgid "unnamed" -msgstr "неименувано" - -#: lib/import.php:184 templates/calendar.php:12 -#: templates/part.choosecalendar.php:22 -msgid "New Calendar" -msgstr "Нов календар" - -#: lib/object.php:372 -msgid "Does not repeat" -msgstr "Не се повторува" - -#: lib/object.php:373 -msgid "Daily" -msgstr "Дневно" - -#: lib/object.php:374 -msgid "Weekly" -msgstr "Седмично" - -#: lib/object.php:375 -msgid "Every Weekday" -msgstr "Секој работен ден" - -#: lib/object.php:376 -msgid "Bi-Weekly" -msgstr "Дво-седмично" - -#: lib/object.php:377 -msgid "Monthly" -msgstr "Месечно" - -#: lib/object.php:378 -msgid "Yearly" -msgstr "Годишно" - -#: lib/object.php:388 -msgid "never" -msgstr "никогаш" - -#: lib/object.php:389 -msgid "by occurrences" -msgstr "по настан" - -#: lib/object.php:390 -msgid "by date" -msgstr "по датум" - -#: lib/object.php:400 -msgid "by monthday" -msgstr "по ден во месецот" - -#: lib/object.php:401 -msgid "by weekday" -msgstr "по работен ден" - -#: lib/object.php:411 templates/calendar.php:5 templates/settings.php:69 -msgid "Monday" -msgstr "Понеделник" - -#: lib/object.php:412 templates/calendar.php:5 -msgid "Tuesday" -msgstr "Вторник" - -#: lib/object.php:413 templates/calendar.php:5 -msgid "Wednesday" -msgstr "Среда" - -#: lib/object.php:414 templates/calendar.php:5 -msgid "Thursday" -msgstr "Четврток" - -#: lib/object.php:415 templates/calendar.php:5 -msgid "Friday" -msgstr "Петок" - -#: lib/object.php:416 templates/calendar.php:5 -msgid "Saturday" -msgstr "Сабота" - -#: lib/object.php:417 templates/calendar.php:5 templates/settings.php:70 -msgid "Sunday" -msgstr "Недела" - -#: lib/object.php:427 -msgid "events week of month" -msgstr "седмични настани од месец" - -#: lib/object.php:428 -msgid "first" -msgstr "прв" - -#: lib/object.php:429 -msgid "second" -msgstr "втор" - -#: lib/object.php:430 -msgid "third" -msgstr "трет" - -#: lib/object.php:431 -msgid "fourth" -msgstr "четврт" - -#: lib/object.php:432 -msgid "fifth" -msgstr "пет" - -#: lib/object.php:433 -msgid "last" -msgstr "последен" - -#: lib/object.php:467 templates/calendar.php:7 -msgid "January" -msgstr "Јануари" - -#: lib/object.php:468 templates/calendar.php:7 -msgid "February" -msgstr "Февруари" - -#: lib/object.php:469 templates/calendar.php:7 -msgid "March" -msgstr "Март" - -#: lib/object.php:470 templates/calendar.php:7 -msgid "April" -msgstr "Април" - -#: lib/object.php:471 templates/calendar.php:7 -msgid "May" -msgstr "Мај" - -#: lib/object.php:472 templates/calendar.php:7 -msgid "June" -msgstr "Јуни" - -#: lib/object.php:473 templates/calendar.php:7 -msgid "July" -msgstr "Јули" - -#: lib/object.php:474 templates/calendar.php:7 -msgid "August" -msgstr "Август" - -#: lib/object.php:475 templates/calendar.php:7 -msgid "September" -msgstr "Септември" - -#: lib/object.php:476 templates/calendar.php:7 -msgid "October" -msgstr "Октомври" - -#: lib/object.php:477 templates/calendar.php:7 -msgid "November" -msgstr "Ноември" - -#: lib/object.php:478 templates/calendar.php:7 -msgid "December" -msgstr "Декември" - -#: lib/object.php:488 -msgid "by events date" -msgstr "по датумот на настанот" - -#: lib/object.php:489 -msgid "by yearday(s)" -msgstr "по вчерашните" - -#: lib/object.php:490 -msgid "by weeknumber(s)" -msgstr "по број на седмицата" - -#: lib/object.php:491 -msgid "by day and month" -msgstr "по ден и месец" - -#: lib/search.php:35 lib/search.php:37 lib/search.php:40 -msgid "Date" -msgstr "Датум" - -#: lib/search.php:43 -msgid "Cal." -msgstr "Кал." - -#: templates/calendar.php:6 -msgid "Sun." -msgstr "" - -#: templates/calendar.php:6 -msgid "Mon." -msgstr "" - -#: templates/calendar.php:6 -msgid "Tue." -msgstr "" - -#: templates/calendar.php:6 -msgid "Wed." -msgstr "" - -#: templates/calendar.php:6 -msgid "Thu." -msgstr "" - -#: templates/calendar.php:6 -msgid "Fri." -msgstr "" - -#: templates/calendar.php:6 -msgid "Sat." -msgstr "" - -#: templates/calendar.php:8 -msgid "Jan." -msgstr "" - -#: templates/calendar.php:8 -msgid "Feb." -msgstr "" - -#: templates/calendar.php:8 -msgid "Mar." -msgstr "" - -#: templates/calendar.php:8 -msgid "Apr." -msgstr "" - -#: templates/calendar.php:8 -msgid "May." -msgstr "" - -#: templates/calendar.php:8 -msgid "Jun." -msgstr "" - -#: templates/calendar.php:8 -msgid "Jul." -msgstr "" - -#: templates/calendar.php:8 -msgid "Aug." -msgstr "" - -#: templates/calendar.php:8 -msgid "Sep." -msgstr "" - -#: templates/calendar.php:8 -msgid "Oct." -msgstr "" - -#: templates/calendar.php:8 -msgid "Nov." -msgstr "" - -#: templates/calendar.php:8 -msgid "Dec." -msgstr "" - -#: templates/calendar.php:11 -msgid "All day" -msgstr "Цел ден" - -#: templates/calendar.php:13 -msgid "Missing fields" -msgstr "Полиња кои недостасуваат" - -#: templates/calendar.php:14 templates/part.eventform.php:19 -#: templates/part.showevent.php:11 -msgid "Title" -msgstr "Наслов" - -#: templates/calendar.php:16 -msgid "From Date" -msgstr "Од датум" - -#: templates/calendar.php:17 -msgid "From Time" -msgstr "Од време" - -#: templates/calendar.php:18 -msgid "To Date" -msgstr "До датум" - -#: templates/calendar.php:19 -msgid "To Time" -msgstr "До време" - -#: templates/calendar.php:20 -msgid "The event ends before it starts" -msgstr "Овој настан завршува пред за почне" - -#: templates/calendar.php:21 -msgid "There was a database fail" -msgstr "Имаше проблем со базата" - -#: templates/calendar.php:39 -msgid "Week" -msgstr "Седмица" - -#: templates/calendar.php:40 -msgid "Month" -msgstr "Месец" - -#: templates/calendar.php:41 -msgid "List" -msgstr "Листа" - -#: templates/calendar.php:45 -msgid "Today" -msgstr "Денеска" - -#: templates/calendar.php:46 templates/calendar.php:47 -msgid "Settings" -msgstr "" - -#: templates/part.choosecalendar.php:2 -msgid "Your calendars" -msgstr "Ваши календари" - -#: templates/part.choosecalendar.php:27 -#: templates/part.choosecalendar.rowfields.php:11 -msgid "CalDav Link" -msgstr "Врска за CalDav" - -#: templates/part.choosecalendar.php:31 -msgid "Shared calendars" -msgstr "Споделени календари" - -#: templates/part.choosecalendar.php:48 -msgid "No shared calendars" -msgstr "Нема споделени календари" - -#: templates/part.choosecalendar.rowfields.php:8 -msgid "Share Calendar" -msgstr "Сподели календар" - -#: templates/part.choosecalendar.rowfields.php:14 -msgid "Download" -msgstr "Преземи" - -#: templates/part.choosecalendar.rowfields.php:17 -msgid "Edit" -msgstr "Уреди" - -#: templates/part.choosecalendar.rowfields.php:20 -#: templates/part.editevent.php:9 -msgid "Delete" -msgstr "Избриши" - -#: templates/part.choosecalendar.rowfields.shared.php:4 -msgid "shared with you by" -msgstr "Споделен со вас од" - -#: templates/part.editcalendar.php:9 -msgid "New calendar" -msgstr "Нов календар" - -#: templates/part.editcalendar.php:9 -msgid "Edit calendar" -msgstr "Уреди календар" - -#: templates/part.editcalendar.php:12 -msgid "Displayname" -msgstr "Име за приказ" - -#: templates/part.editcalendar.php:23 -msgid "Active" -msgstr "Активен" - -#: templates/part.editcalendar.php:29 -msgid "Calendar color" -msgstr "Боја на календарот" - -#: templates/part.editcalendar.php:42 -msgid "Save" -msgstr "Сними" - -#: templates/part.editcalendar.php:42 templates/part.editevent.php:8 -#: templates/part.newevent.php:6 -msgid "Submit" -msgstr "Прати" - -#: templates/part.editcalendar.php:43 -msgid "Cancel" -msgstr "Откажи" - -#: templates/part.editevent.php:1 -msgid "Edit an event" -msgstr "Уреди настан" - -#: templates/part.editevent.php:10 -msgid "Export" -msgstr "Извези" - -#: templates/part.eventform.php:8 templates/part.showevent.php:3 -msgid "Eventinfo" -msgstr "Инфо за настан" - -#: templates/part.eventform.php:9 templates/part.showevent.php:4 -msgid "Repeating" -msgstr "Повторување" - -#: templates/part.eventform.php:10 templates/part.showevent.php:5 -msgid "Alarm" -msgstr "Аларм" - -#: templates/part.eventform.php:11 templates/part.showevent.php:6 -msgid "Attendees" -msgstr "Присутни" - -#: templates/part.eventform.php:13 -msgid "Share" -msgstr "Сподели" - -#: templates/part.eventform.php:21 -msgid "Title of the Event" -msgstr "Наслов на настанот" - -#: templates/part.eventform.php:27 templates/part.showevent.php:19 -msgid "Category" -msgstr "Категорија" - -#: templates/part.eventform.php:29 -msgid "Separate categories with commas" -msgstr "Одвоете ги категориите со запирка" - -#: templates/part.eventform.php:30 -msgid "Edit categories" -msgstr "Уреди категории" - -#: templates/part.eventform.php:56 templates/part.showevent.php:52 -msgid "All Day Event" -msgstr "Целодневен настан" - -#: templates/part.eventform.php:60 templates/part.showevent.php:56 -msgid "From" -msgstr "Од" - -#: templates/part.eventform.php:68 templates/part.showevent.php:64 -msgid "To" -msgstr "До" - -#: templates/part.eventform.php:76 templates/part.showevent.php:72 -msgid "Advanced options" -msgstr "Напредни опции" - -#: templates/part.eventform.php:81 templates/part.showevent.php:77 -msgid "Location" -msgstr "Локација" - -#: templates/part.eventform.php:83 -msgid "Location of the Event" -msgstr "Локација на настанот" - -#: templates/part.eventform.php:89 templates/part.showevent.php:85 -msgid "Description" -msgstr "Опис" - -#: templates/part.eventform.php:91 -msgid "Description of the Event" -msgstr "Опис на настанот" - -#: templates/part.eventform.php:100 templates/part.showevent.php:95 -msgid "Repeat" -msgstr "Повтори" - -#: templates/part.eventform.php:107 templates/part.showevent.php:102 -msgid "Advanced" -msgstr "Напредно" - -#: templates/part.eventform.php:151 templates/part.showevent.php:146 -msgid "Select weekdays" -msgstr "Избери работни денови" - -#: templates/part.eventform.php:164 templates/part.eventform.php:177 -#: templates/part.showevent.php:159 templates/part.showevent.php:172 -msgid "Select days" -msgstr "Избери денови" - -#: templates/part.eventform.php:169 templates/part.showevent.php:164 -msgid "and the events day of year." -msgstr "и настаните ден од година." - -#: templates/part.eventform.php:182 templates/part.showevent.php:177 -msgid "and the events day of month." -msgstr "и настаните ден од месец." - -#: templates/part.eventform.php:190 templates/part.showevent.php:185 -msgid "Select months" -msgstr "Избери месеци" - -#: templates/part.eventform.php:203 templates/part.showevent.php:198 -msgid "Select weeks" -msgstr "Избери седмици" - -#: templates/part.eventform.php:208 templates/part.showevent.php:203 -msgid "and the events week of year." -msgstr "и настаните седмица од година." - -#: templates/part.eventform.php:214 templates/part.showevent.php:209 -msgid "Interval" -msgstr "интервал" - -#: templates/part.eventform.php:220 templates/part.showevent.php:215 -msgid "End" -msgstr "Крај" - -#: templates/part.eventform.php:233 templates/part.showevent.php:228 -msgid "occurrences" -msgstr "повторувања" - -#: templates/part.import.php:14 -msgid "create a new calendar" -msgstr "создади нов календар" - -#: templates/part.import.php:17 -msgid "Import a calendar file" -msgstr "Внеси календар од датотека " - -#: templates/part.import.php:24 -msgid "Please choose a calendar" -msgstr "" - -#: templates/part.import.php:36 -msgid "Name of new calendar" -msgstr "Име на новиот календар" - -#: templates/part.import.php:44 -msgid "Take an available name!" -msgstr "" - -#: templates/part.import.php:45 -msgid "" -"A Calendar with this name already exists. If you continue anyhow, these " -"calendars will be merged." -msgstr "" - -#: templates/part.import.php:47 -msgid "Import" -msgstr "Увези" - -#: templates/part.import.php:56 -msgid "Close Dialog" -msgstr "Затвори дијалог" - -#: templates/part.newevent.php:1 -msgid "Create a new event" -msgstr "Создади нов настан" - -#: templates/part.showevent.php:1 -msgid "View an event" -msgstr "Погледај настан" - -#: templates/part.showevent.php:23 -msgid "No categories selected" -msgstr "Нема избрано категории" - -#: templates/part.showevent.php:37 -msgid "of" -msgstr "од" - -#: templates/part.showevent.php:59 templates/part.showevent.php:67 -msgid "at" -msgstr "на" - -#: templates/settings.php:10 -msgid "General" -msgstr "" - -#: templates/settings.php:15 -msgid "Timezone" -msgstr "Временска зона" - -#: templates/settings.php:47 -msgid "Update timezone automatically" -msgstr "" - -#: templates/settings.php:52 -msgid "Time format" -msgstr "" - -#: templates/settings.php:57 -msgid "24h" -msgstr "24ч" - -#: templates/settings.php:58 -msgid "12h" -msgstr "12ч" - -#: templates/settings.php:64 -msgid "Start week on" -msgstr "" - -#: templates/settings.php:76 -msgid "Cache" -msgstr "" - -#: templates/settings.php:80 -msgid "Clear cache for repeating events" -msgstr "" - -#: templates/settings.php:85 -msgid "URLs" -msgstr "" - -#: templates/settings.php:87 -msgid "Calendar CalDAV syncing addresses" -msgstr "" - -#: templates/settings.php:87 -msgid "more info" -msgstr "" - -#: templates/settings.php:89 -msgid "Primary address (Kontact et al)" -msgstr "" - -#: templates/settings.php:91 -msgid "iOS/OS X" -msgstr "" - -#: templates/settings.php:93 -msgid "Read only iCalendar link(s)" -msgstr "" - -#: templates/share.dropdown.php:20 -msgid "Users" -msgstr "Корисници" - -#: templates/share.dropdown.php:21 -msgid "select users" -msgstr "избери корисници" - -#: templates/share.dropdown.php:36 templates/share.dropdown.php:62 -msgid "Editable" -msgstr "Изменливо" - -#: templates/share.dropdown.php:48 -msgid "Groups" -msgstr "Групи" - -#: templates/share.dropdown.php:49 -msgid "select groups" -msgstr "избери групи" - -#: templates/share.dropdown.php:75 -msgid "make public" -msgstr "направи јавно" diff --git a/l10n/mk/contacts.po b/l10n/mk/contacts.po deleted file mode 100644 index 5ad0cf28317c6353b2758113dc21e1979e63c89a..0000000000000000000000000000000000000000 --- a/l10n/mk/contacts.po +++ /dev/null @@ -1,954 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Miroslav Jovanovic , 2012. -# Miroslav Jovanovic , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-24 02:02+0200\n" -"PO-Revision-Date: 2012-08-24 00:03+0000\n" -"Last-Translator: I Robot \n" -"Language-Team: Macedonian (http://www.transifex.com/projects/p/owncloud/language/mk/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: mk\n" -"Plural-Forms: nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1\n" - -#: ajax/addressbook/activate.php:24 ajax/addressbook/update.php:32 -msgid "Error (de)activating addressbook." -msgstr "Грешка (де)активирање на адресарот." - -#: ajax/addressbook/delete.php:31 ajax/addressbook/update.php:20 -#: ajax/contact/addproperty.php:42 ajax/contact/delete.php:32 -#: ajax/contact/saveproperty.php:39 -msgid "id is not set." -msgstr "ид не е поставено." - -#: ajax/addressbook/update.php:24 -msgid "Cannot update addressbook with an empty name." -msgstr "Неможе да се ажурира адресар со празно име." - -#: ajax/addressbook/update.php:28 -msgid "Error updating addressbook." -msgstr "Грешка при ажурирање на адресарот." - -#: ajax/categories/categoriesfor.php:17 -msgid "No ID provided" -msgstr "Нема доставено ИД" - -#: ajax/categories/categoriesfor.php:34 -msgid "Error setting checksum." -msgstr "Грешка во поставување сума за проверка." - -#: ajax/categories/delete.php:19 -msgid "No categories selected for deletion." -msgstr "Нема избрано категории за бришење." - -#: ajax/categories/delete.php:26 -msgid "No address books found." -msgstr "Не се најдени адресари." - -#: ajax/categories/delete.php:34 -msgid "No contacts found." -msgstr "Не се најдени контакти." - -#: ajax/contact/add.php:47 -msgid "There was an error adding the contact." -msgstr "Имаше грешка при додавање на контактот." - -#: ajax/contact/addproperty.php:39 ajax/contact/saveproperty.php:36 -msgid "element name is not set." -msgstr "име за елементот не е поставена." - -#: ajax/contact/addproperty.php:46 -msgid "Could not parse contact: " -msgstr "" - -#: ajax/contact/addproperty.php:56 -msgid "Cannot add empty property." -msgstr "Неможе да се додаде празна вредност." - -#: ajax/contact/addproperty.php:67 -msgid "At least one of the address fields has to be filled out." -msgstr "Барем една од полињата за адреса треба да биде пополнето." - -#: ajax/contact/addproperty.php:76 -msgid "Trying to add duplicate property: " -msgstr "Се обидовте да внесете дупликат вредност:" - -#: ajax/contact/addproperty.php:115 ajax/contact/saveproperty.php:93 -msgid "Missing IM parameter." -msgstr "" - -#: ajax/contact/addproperty.php:119 ajax/contact/saveproperty.php:97 -msgid "Unknown IM: " -msgstr "" - -#: ajax/contact/deleteproperty.php:37 -msgid "Information about vCard is incorrect. Please reload the page." -msgstr "Информацијата за vCard не е точна. Ве молам превчитајте ја страницава." - -#: ajax/contact/details.php:31 -msgid "Missing ID" -msgstr "Недостасува ИД" - -#: ajax/contact/details.php:36 -msgid "Error parsing VCard for ID: \"" -msgstr "Грешка при парсирање VCard за ИД: \"" - -#: ajax/contact/saveproperty.php:42 -msgid "checksum is not set." -msgstr "сумата за проверка не е поставена." - -#: ajax/contact/saveproperty.php:62 -msgid "Information about vCard is incorrect. Please reload the page: " -msgstr "Информацијата за vCard не е точна. Ве молам превчитајте ја страницава:" - -#: ajax/contact/saveproperty.php:69 -msgid "Something went FUBAR. " -msgstr "Нешто се расипа." - -#: ajax/currentphoto.php:30 ajax/oc_photo.php:28 ajax/uploadphoto.php:36 -#: ajax/uploadphoto.php:68 -msgid "No contact ID was submitted." -msgstr "Не беше доставено ИД за контакт." - -#: ajax/currentphoto.php:36 -msgid "Error reading contact photo." -msgstr "Грешка во читање на контакт фотографија." - -#: ajax/currentphoto.php:48 -msgid "Error saving temporary file." -msgstr "Грешка во снимање на привремена датотека." - -#: ajax/currentphoto.php:51 -msgid "The loading photo is not valid." -msgstr "Фотографијата која се вчитува е невалидна." - -#: ajax/editname.php:31 -msgid "Contact ID is missing." -msgstr "ИД за контакт недостасува." - -#: ajax/oc_photo.php:32 -msgid "No photo path was submitted." -msgstr "Не беше поднесена патека за фотографија." - -#: ajax/oc_photo.php:39 -msgid "File doesn't exist:" -msgstr "Не постои датотеката:" - -#: ajax/oc_photo.php:44 ajax/oc_photo.php:47 -msgid "Error loading image." -msgstr "Грешка во вчитување на слика." - -#: ajax/savecrop.php:69 -msgid "Error getting contact object." -msgstr "Грешка при преземањето на контакт објектот," - -#: ajax/savecrop.php:79 -msgid "Error getting PHOTO property." -msgstr "Грешка при утврдувањето на карактеристиките на фотографијата." - -#: ajax/savecrop.php:98 -msgid "Error saving contact." -msgstr "Грешка при снимање на контактите." - -#: ajax/savecrop.php:109 -msgid "Error resizing image" -msgstr "Грешка при скалирање на фотографијата" - -#: ajax/savecrop.php:112 -msgid "Error cropping image" -msgstr "Грешка при сечење на фотографијата" - -#: ajax/savecrop.php:115 -msgid "Error creating temporary image" -msgstr "Грешка при креирањето на привремената фотографија" - -#: ajax/savecrop.php:118 -msgid "Error finding image: " -msgstr "Грешка при наоѓањето на фотографијата:" - -#: ajax/uploadimport.php:44 ajax/uploadimport.php:76 -msgid "Error uploading contacts to storage." -msgstr "Грешка во снимање на контактите на диск." - -#: ajax/uploadimport.php:61 ajax/uploadphoto.php:77 -msgid "There is no error, the file uploaded with success" -msgstr "Датотеката беше успешно подигната." - -#: ajax/uploadimport.php:62 ajax/uploadphoto.php:78 -msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" -msgstr "Големината на датотеката ја надминува upload_max_filesize директивата во php.ini" - -#: ajax/uploadimport.php:63 ajax/uploadphoto.php:79 -msgid "" -"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " -"the HTML form" -msgstr "Големината на датотеката ја надминува MAX_FILE_SIZE директивата која беше специфицирана во HTML формата" - -#: ajax/uploadimport.php:64 ajax/uploadphoto.php:80 -msgid "The uploaded file was only partially uploaded" -msgstr "Датотеката беше само делумно подигната." - -#: ajax/uploadimport.php:65 ajax/uploadphoto.php:81 -msgid "No file was uploaded" -msgstr "Не беше подигната датотека." - -#: ajax/uploadimport.php:66 ajax/uploadphoto.php:82 -msgid "Missing a temporary folder" -msgstr "Недостасува привремена папка" - -#: ajax/uploadphoto.php:59 ajax/uploadphoto.php:109 -msgid "Couldn't save temporary image: " -msgstr "Не можеше да се сними привремената фотографија:" - -#: ajax/uploadphoto.php:62 ajax/uploadphoto.php:112 -msgid "Couldn't load temporary image: " -msgstr "Не можеше да се вчита привремената фотографија:" - -#: ajax/uploadphoto.php:71 -msgid "No file was uploaded. Unknown error" -msgstr "Ниту еден фајл не се вчита. Непозната грешка" - -#: appinfo/app.php:21 -msgid "Contacts" -msgstr "Контакти" - -#: js/contacts.js:71 -msgid "Sorry, this functionality has not been implemented yet" -msgstr "Жалам, оваа функционалност уште не е имплементирана" - -#: js/contacts.js:71 -msgid "Not implemented" -msgstr "Не е имплементирано" - -#: js/contacts.js:76 -msgid "Couldn't get a valid address." -msgstr "Не можев да добијам исправна адреса." - -#: js/contacts.js:76 js/contacts.js:365 js/contacts.js:381 js/contacts.js:393 -#: js/contacts.js:723 js/contacts.js:763 js/contacts.js:789 js/contacts.js:921 -#: js/contacts.js:927 js/contacts.js:939 js/contacts.js:976 -#: js/contacts.js:1250 js/contacts.js:1258 js/contacts.js:1267 -#: js/contacts.js:1302 js/contacts.js:1338 js/contacts.js:1353 -#: js/contacts.js:1379 js/contacts.js:1609 js/contacts.js:1644 -#: js/contacts.js:1664 js/settings.js:26 js/settings.js:43 js/settings.js:68 -msgid "Error" -msgstr "Грешка" - -#: js/contacts.js:424 -msgid "You do not have permission to add contacts to " -msgstr "" - -#: js/contacts.js:425 -msgid "Please select one of your own address books." -msgstr "" - -#: js/contacts.js:425 -msgid "Permission error" -msgstr "" - -#: js/contacts.js:763 -msgid "This property has to be non-empty." -msgstr "Својството не смее да биде празно." - -#: js/contacts.js:789 -msgid "Couldn't serialize elements." -msgstr "Не може да се серијализираат елементите." - -#: js/contacts.js:921 js/contacts.js:939 -msgid "" -"'deleteProperty' called without type argument. Please report at " -"bugs.owncloud.org" -msgstr "'deleteProperty' повикан без тип на аргументот. Пријавете грешка/проблем на bugs.owncloud.org" - -#: js/contacts.js:958 -msgid "Edit name" -msgstr "Уреди го името" - -#: js/contacts.js:1250 -msgid "No files selected for upload." -msgstr "Ниту еден фајл не е избран за вчитување." - -#: js/contacts.js:1258 -msgid "" -"The file you are trying to upload exceed the maximum size for file uploads " -"on this server." -msgstr "Датотеката која се обидувате да ја префрлите ја надминува максималната големина дефинирана за пренос на овој сервер." - -#: js/contacts.js:1322 -msgid "Error loading profile picture." -msgstr "" - -#: js/contacts.js:1457 js/contacts.js:1498 js/contacts.js:1517 -#: js/contacts.js:1560 -msgid "Select type" -msgstr "Одбери тип" - -#: js/contacts.js:1578 -msgid "" -"Some contacts are marked for deletion, but not deleted yet. Please wait for " -"them to be deleted." -msgstr "" - -#: js/contacts.js:1649 -msgid "Do you want to merge these address books?" -msgstr "" - -#: js/loader.js:49 -msgid "Result: " -msgstr "Резултат: " - -#: js/loader.js:49 -msgid " imported, " -msgstr "увезено," - -#: js/loader.js:49 -msgid " failed." -msgstr "неуспешно." - -#: js/settings.js:68 -msgid "Displayname cannot be empty." -msgstr "" - -#: lib/app.php:36 -msgid "Addressbook not found: " -msgstr "" - -#: lib/app.php:52 -msgid "This is not your addressbook." -msgstr "Ова не е во Вашиот адресар." - -#: lib/app.php:71 -msgid "Contact could not be found." -msgstr "Контактот неможе да биде најден." - -#: lib/app.php:116 -msgid "Jabber" -msgstr "" - -#: lib/app.php:121 -msgid "AIM" -msgstr "" - -#: lib/app.php:126 -msgid "MSN" -msgstr "" - -#: lib/app.php:131 -msgid "Twitter" -msgstr "" - -#: lib/app.php:136 -msgid "GoogleTalk" -msgstr "" - -#: lib/app.php:141 -msgid "Facebook" -msgstr "" - -#: lib/app.php:146 -msgid "XMPP" -msgstr "" - -#: lib/app.php:151 -msgid "ICQ" -msgstr "" - -#: lib/app.php:156 -msgid "Yahoo" -msgstr "" - -#: lib/app.php:161 -msgid "Skype" -msgstr "" - -#: lib/app.php:166 -msgid "QQ" -msgstr "" - -#: lib/app.php:171 -msgid "GaduGadu" -msgstr "" - -#: lib/app.php:194 lib/app.php:202 lib/app.php:213 lib/app.php:266 -msgid "Work" -msgstr "Работа" - -#: lib/app.php:195 lib/app.php:200 lib/app.php:214 -msgid "Home" -msgstr "Дома" - -#: lib/app.php:196 lib/app.php:209 lib/app.php:262 lib/vcard.php:593 -msgid "Other" -msgstr "" - -#: lib/app.php:201 -msgid "Mobile" -msgstr "Мобилен" - -#: lib/app.php:203 -msgid "Text" -msgstr "Текст" - -#: lib/app.php:204 -msgid "Voice" -msgstr "Глас" - -#: lib/app.php:205 -msgid "Message" -msgstr "Порака" - -#: lib/app.php:206 -msgid "Fax" -msgstr "Факс" - -#: lib/app.php:207 -msgid "Video" -msgstr "Видео" - -#: lib/app.php:208 -msgid "Pager" -msgstr "Пејџер" - -#: lib/app.php:215 -msgid "Internet" -msgstr "Интернет" - -#: lib/app.php:252 templates/part.contact.php:45 -#: templates/part.contact.php:128 -msgid "Birthday" -msgstr "Роденден" - -#: lib/app.php:253 -msgid "Business" -msgstr "" - -#: lib/app.php:254 -msgid "Call" -msgstr "" - -#: lib/app.php:255 -msgid "Clients" -msgstr "" - -#: lib/app.php:256 -msgid "Deliverer" -msgstr "" - -#: lib/app.php:257 -msgid "Holidays" -msgstr "" - -#: lib/app.php:258 -msgid "Ideas" -msgstr "" - -#: lib/app.php:259 -msgid "Journey" -msgstr "" - -#: lib/app.php:260 -msgid "Jubilee" -msgstr "" - -#: lib/app.php:261 -msgid "Meeting" -msgstr "" - -#: lib/app.php:263 -msgid "Personal" -msgstr "" - -#: lib/app.php:264 -msgid "Projects" -msgstr "" - -#: lib/app.php:265 -msgid "Questions" -msgstr "" - -#: lib/hooks.php:102 -msgid "{name}'s Birthday" -msgstr "Роденден на {name}" - -#: lib/search.php:15 -msgid "Contact" -msgstr "Контакт" - -#: lib/vcard.php:408 -msgid "You do not have the permissions to edit this contact." -msgstr "" - -#: lib/vcard.php:483 -msgid "You do not have the permissions to delete this contact." -msgstr "" - -#: templates/index.php:14 -msgid "Add Contact" -msgstr "Додади контакт" - -#: templates/index.php:15 templates/index.php:16 templates/part.import.php:17 -msgid "Import" -msgstr "Внеси" - -#: templates/index.php:18 -msgid "Settings" -msgstr "" - -#: templates/index.php:18 templates/settings.php:9 -msgid "Addressbooks" -msgstr "Адресари" - -#: templates/index.php:36 templates/part.import.php:24 -msgid "Close" -msgstr "Затвои" - -#: templates/index.php:37 -msgid "Keyboard shortcuts" -msgstr "" - -#: templates/index.php:39 -msgid "Navigation" -msgstr "" - -#: templates/index.php:42 -msgid "Next contact in list" -msgstr "" - -#: templates/index.php:44 -msgid "Previous contact in list" -msgstr "" - -#: templates/index.php:46 -msgid "Expand/collapse current addressbook" -msgstr "" - -#: templates/index.php:48 -msgid "Next addressbook" -msgstr "" - -#: templates/index.php:50 -msgid "Previous addressbook" -msgstr "" - -#: templates/index.php:54 -msgid "Actions" -msgstr "" - -#: templates/index.php:57 -msgid "Refresh contacts list" -msgstr "" - -#: templates/index.php:59 -msgid "Add new contact" -msgstr "" - -#: templates/index.php:61 -msgid "Add new addressbook" -msgstr "" - -#: templates/index.php:63 -msgid "Delete current contact" -msgstr "" - -#: templates/part.contact.php:17 -msgid "Drop photo to upload" -msgstr "Довлечкај фотографија за да се подигне" - -#: templates/part.contact.php:19 -msgid "Delete current photo" -msgstr "Избриши моментална фотографија" - -#: templates/part.contact.php:20 -msgid "Edit current photo" -msgstr "Уреди моментална фотографија" - -#: templates/part.contact.php:21 -msgid "Upload new photo" -msgstr "Подигни нова фотографија" - -#: templates/part.contact.php:22 -msgid "Select photo from ownCloud" -msgstr "Изберете фотографија од ownCloud" - -#: templates/part.contact.php:35 -msgid "Format custom, Short name, Full name, Reverse or Reverse with comma" -msgstr "Прилагоден формат, кратко име, цело име, обратно или обратно со запирка" - -#: templates/part.contact.php:36 -msgid "Edit name details" -msgstr "Уреди детали за име" - -#: templates/part.contact.php:39 templates/part.contact.php:40 -#: templates/part.contact.php:126 -msgid "Organization" -msgstr "Организација" - -#: templates/part.contact.php:40 templates/part.contact.php:42 -#: templates/part.contact.php:44 templates/part.contact.php:46 -#: templates/part.contact.php:50 templates/settings.php:36 -msgid "Delete" -msgstr "Избриши" - -#: templates/part.contact.php:41 templates/part.contact.php:127 -msgid "Nickname" -msgstr "Прекар" - -#: templates/part.contact.php:42 -msgid "Enter nickname" -msgstr "Внеси прекар" - -#: templates/part.contact.php:43 templates/part.contact.php:134 -msgid "Web site" -msgstr "" - -#: templates/part.contact.php:44 -msgid "http://www.somesite.com" -msgstr "" - -#: templates/part.contact.php:44 -msgid "Go to web site" -msgstr "" - -#: templates/part.contact.php:46 -msgid "dd-mm-yyyy" -msgstr "dd-mm-yyyy" - -#: templates/part.contact.php:47 templates/part.contact.php:135 -msgid "Groups" -msgstr "Групи" - -#: templates/part.contact.php:49 -msgid "Separate groups with commas" -msgstr "Одвоете ги групите со запирка" - -#: templates/part.contact.php:50 -msgid "Edit groups" -msgstr "Уреди групи" - -#: templates/part.contact.php:59 templates/part.contact.php:73 -#: templates/part.contact.php:98 -msgid "Preferred" -msgstr "Претпочитано" - -#: templates/part.contact.php:60 -msgid "Please specify a valid email address." -msgstr "Ве молам внесете правилна адреса за е-пошта." - -#: templates/part.contact.php:60 -msgid "Enter email address" -msgstr "Внесете е-пошта" - -#: templates/part.contact.php:64 -msgid "Mail to address" -msgstr "Прати порака до адреса" - -#: templates/part.contact.php:65 -msgid "Delete email address" -msgstr "Избриши адреса за е-пошта" - -#: templates/part.contact.php:75 -msgid "Enter phone number" -msgstr "Внесете телефонски број" - -#: templates/part.contact.php:79 -msgid "Delete phone number" -msgstr "Избриши телефонски број" - -#: templates/part.contact.php:100 -msgid "Instant Messenger" -msgstr "" - -#: templates/part.contact.php:101 -msgid "Delete IM" -msgstr "" - -#: templates/part.contact.php:110 -msgid "View on map" -msgstr "Погледајте на мапа" - -#: templates/part.contact.php:110 -msgid "Edit address details" -msgstr "Уреди детали за адреса" - -#: templates/part.contact.php:116 -msgid "Add notes here." -msgstr "Внесете забелешки тука." - -#: templates/part.contact.php:124 -msgid "Add field" -msgstr "Додади поле" - -#: templates/part.contact.php:129 -msgid "Phone" -msgstr "Телефон" - -#: templates/part.contact.php:130 -msgid "Email" -msgstr "Е-пошта" - -#: templates/part.contact.php:131 -msgid "Instant Messaging" -msgstr "" - -#: templates/part.contact.php:132 -msgid "Address" -msgstr "Адреса" - -#: templates/part.contact.php:133 -msgid "Note" -msgstr "Забелешка" - -#: templates/part.contact.php:138 -msgid "Download contact" -msgstr "Преземи го контактот" - -#: templates/part.contact.php:139 -msgid "Delete contact" -msgstr "Избриши го контактот" - -#: templates/part.cropphoto.php:65 -msgid "The temporary image has been removed from cache." -msgstr "Привремената слика е отстранета од кешот." - -#: templates/part.edit_address_dialog.php:6 -msgid "Edit address" -msgstr "Уреди адреса" - -#: templates/part.edit_address_dialog.php:10 -msgid "Type" -msgstr "Тип" - -#: templates/part.edit_address_dialog.php:18 -#: templates/part.edit_address_dialog.php:21 -msgid "PO Box" -msgstr "Поштенски фах" - -#: templates/part.edit_address_dialog.php:24 -msgid "Street address" -msgstr "" - -#: templates/part.edit_address_dialog.php:27 -msgid "Street and number" -msgstr "" - -#: templates/part.edit_address_dialog.php:30 -msgid "Extended" -msgstr "Дополнително" - -#: templates/part.edit_address_dialog.php:33 -msgid "Apartment number etc." -msgstr "" - -#: templates/part.edit_address_dialog.php:36 -#: templates/part.edit_address_dialog.php:39 -msgid "City" -msgstr "Град" - -#: templates/part.edit_address_dialog.php:42 -msgid "Region" -msgstr "Регион" - -#: templates/part.edit_address_dialog.php:45 -msgid "E.g. state or province" -msgstr "" - -#: templates/part.edit_address_dialog.php:48 -msgid "Zipcode" -msgstr "Поштенски код" - -#: templates/part.edit_address_dialog.php:51 -msgid "Postal code" -msgstr "" - -#: templates/part.edit_address_dialog.php:54 -#: templates/part.edit_address_dialog.php:57 -msgid "Country" -msgstr "Држава" - -#: templates/part.edit_name_dialog.php:16 -msgid "Addressbook" -msgstr "Адресар" - -#: templates/part.edit_name_dialog.php:23 -msgid "Hon. prefixes" -msgstr "Префикси за титула" - -#: templates/part.edit_name_dialog.php:27 -msgid "Miss" -msgstr "Г-ца" - -#: templates/part.edit_name_dialog.php:28 -msgid "Ms" -msgstr "Г-ѓа" - -#: templates/part.edit_name_dialog.php:29 -msgid "Mr" -msgstr "Г-дин" - -#: templates/part.edit_name_dialog.php:30 -msgid "Sir" -msgstr "Сер" - -#: templates/part.edit_name_dialog.php:31 -msgid "Mrs" -msgstr "Г-ѓа" - -#: templates/part.edit_name_dialog.php:32 -msgid "Dr" -msgstr "Др" - -#: templates/part.edit_name_dialog.php:35 -msgid "Given name" -msgstr "Лично име" - -#: templates/part.edit_name_dialog.php:37 -msgid "Additional names" -msgstr "Дополнителни имиња" - -#: templates/part.edit_name_dialog.php:39 -msgid "Family name" -msgstr "Презиме" - -#: templates/part.edit_name_dialog.php:41 -msgid "Hon. suffixes" -msgstr "Суфикси за титула" - -#: templates/part.edit_name_dialog.php:45 -msgid "J.D." -msgstr "J.D." - -#: templates/part.edit_name_dialog.php:46 -msgid "M.D." -msgstr "Д.М." - -#: templates/part.edit_name_dialog.php:47 -msgid "D.O." -msgstr "D.O." - -#: templates/part.edit_name_dialog.php:48 -msgid "D.C." -msgstr "D.C." - -#: templates/part.edit_name_dialog.php:49 -msgid "Ph.D." -msgstr "Д-р" - -#: templates/part.edit_name_dialog.php:50 -msgid "Esq." -msgstr "Esq." - -#: templates/part.edit_name_dialog.php:51 -msgid "Jr." -msgstr "Помлад." - -#: templates/part.edit_name_dialog.php:52 -msgid "Sn." -msgstr "Постар." - -#: templates/part.import.php:1 -msgid "Import a contacts file" -msgstr "Внеси датотека со контакти" - -#: templates/part.import.php:6 -msgid "Please choose the addressbook" -msgstr "Ве молам изберете адресар" - -#: templates/part.import.php:10 -msgid "create a new addressbook" -msgstr "креирај нов адресар" - -#: templates/part.import.php:15 -msgid "Name of new addressbook" -msgstr "Име на новиот адресар" - -#: templates/part.import.php:20 -msgid "Importing contacts" -msgstr "Внесување контакти" - -#: templates/part.no_contacts.php:3 -msgid "You have no contacts in your addressbook." -msgstr "Немате контакти во Вашиот адресар." - -#: templates/part.no_contacts.php:5 -msgid "Add contact" -msgstr "Додади контакт" - -#: templates/part.selectaddressbook.php:1 -msgid "Select Address Books" -msgstr "" - -#: templates/part.selectaddressbook.php:27 -msgid "Enter name" -msgstr "" - -#: templates/part.selectaddressbook.php:29 -msgid "Enter description" -msgstr "" - -#: templates/settings.php:3 -msgid "CardDAV syncing addresses" -msgstr "Адреса за синхронизација со CardDAV" - -#: templates/settings.php:3 -msgid "more info" -msgstr "повеќе информации" - -#: templates/settings.php:5 -msgid "Primary address (Kontact et al)" -msgstr "Примарна адреса" - -#: templates/settings.php:7 -msgid "iOS/OS X" -msgstr "iOS/OS X" - -#: templates/settings.php:20 -msgid "Show CardDav link" -msgstr "" - -#: templates/settings.php:23 -msgid "Show read-only VCF link" -msgstr "" - -#: templates/settings.php:26 -msgid "Share" -msgstr "" - -#: templates/settings.php:29 -msgid "Download" -msgstr "Преземи" - -#: templates/settings.php:33 -msgid "Edit" -msgstr "Уреди" - -#: templates/settings.php:43 -msgid "New Address Book" -msgstr "Нов адресар" - -#: templates/settings.php:44 -msgid "Name" -msgstr "" - -#: templates/settings.php:45 -msgid "Description" -msgstr "" - -#: templates/settings.php:46 -msgid "Save" -msgstr "Сними" - -#: templates/settings.php:47 -msgid "Cancel" -msgstr "Откажи" - -#: templates/settings.php:52 -msgid "More..." -msgstr "" diff --git a/l10n/mk/core.po b/l10n/mk/core.po index e3ef1875d1353d96fb84bdf3229c4914760d5be9..d2948b19cf0c2a7183d2383efa3354d9dc27f13c 100644 --- a/l10n/mk/core.po +++ b/l10n/mk/core.po @@ -10,9 +10,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-16 02:04+0200\n" -"PO-Revision-Date: 2012-10-16 00:05+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-11-16 00:02+0100\n" +"PO-Revision-Date: 2012-11-14 23:13+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Macedonian (http://www.transifex.com/projects/p/owncloud/language/mk/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -20,209 +20,241 @@ msgstr "" "Language: mk\n" "Plural-Forms: nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;\n" -#: ajax/vcategories/add.php:23 ajax/vcategories/delete.php:23 -msgid "Application name not provided." -msgstr "Име за апликацијата не е доставено." +#: ajax/vcategories/add.php:26 ajax/vcategories/edit.php:25 +msgid "Category type not provided." +msgstr "" -#: ajax/vcategories/add.php:29 +#: ajax/vcategories/add.php:30 msgid "No category to add?" msgstr "Нема категорија да се додаде?" -#: ajax/vcategories/add.php:36 +#: ajax/vcategories/add.php:37 msgid "This category already exists: " msgstr "Оваа категорија веќе постои:" -#: js/js.js:238 templates/layout.user.php:49 templates/layout.user.php:50 +#: ajax/vcategories/addToFavorites.php:26 ajax/vcategories/delete.php:27 +#: ajax/vcategories/favorites.php:24 +#: ajax/vcategories/removeFromFavorites.php:26 +msgid "Object type not provided." +msgstr "" + +#: ajax/vcategories/addToFavorites.php:30 +#: ajax/vcategories/removeFromFavorites.php:30 +#, php-format +msgid "%s ID not provided." +msgstr "" + +#: ajax/vcategories/addToFavorites.php:35 +#, php-format +msgid "Error adding %s to favorites." +msgstr "" + +#: ajax/vcategories/delete.php:35 js/oc-vcategories.js:136 +msgid "No categories selected for deletion." +msgstr "Не е одбрана категорија за бришење." + +#: ajax/vcategories/removeFromFavorites.php:35 +#, php-format +msgid "Error removing %s from favorites." +msgstr "" + +#: js/js.js:243 templates/layout.user.php:59 templates/layout.user.php:60 msgid "Settings" msgstr "Поставки" -#: js/js.js:670 -msgid "January" -msgstr "Јануари" +#: js/js.js:688 +msgid "seconds ago" +msgstr "" -#: js/js.js:670 -msgid "February" -msgstr "Февруари" +#: js/js.js:689 +msgid "1 minute ago" +msgstr "" -#: js/js.js:670 -msgid "March" -msgstr "Март" +#: js/js.js:690 +msgid "{minutes} minutes ago" +msgstr "" -#: js/js.js:670 -msgid "April" -msgstr "Април" +#: js/js.js:691 +msgid "1 hour ago" +msgstr "" -#: js/js.js:670 -msgid "May" -msgstr "Мај" +#: js/js.js:692 +msgid "{hours} hours ago" +msgstr "" -#: js/js.js:670 -msgid "June" -msgstr "Јуни" +#: js/js.js:693 +msgid "today" +msgstr "" -#: js/js.js:671 -msgid "July" -msgstr "Јули" +#: js/js.js:694 +msgid "yesterday" +msgstr "" -#: js/js.js:671 -msgid "August" -msgstr "Август" +#: js/js.js:695 +msgid "{days} days ago" +msgstr "" -#: js/js.js:671 -msgid "September" -msgstr "Септември" +#: js/js.js:696 +msgid "last month" +msgstr "" -#: js/js.js:671 -msgid "October" -msgstr "Октомври" +#: js/js.js:697 +msgid "{months} months ago" +msgstr "" -#: js/js.js:671 -msgid "November" -msgstr "Ноември" +#: js/js.js:698 +msgid "months ago" +msgstr "" -#: js/js.js:671 -msgid "December" -msgstr "Декември" +#: js/js.js:699 +msgid "last year" +msgstr "" + +#: js/js.js:700 +msgid "years ago" +msgstr "" -#: js/oc-dialogs.js:123 +#: js/oc-dialogs.js:126 msgid "Choose" msgstr "" -#: js/oc-dialogs.js:143 js/oc-dialogs.js:163 +#: js/oc-dialogs.js:146 js/oc-dialogs.js:166 msgid "Cancel" msgstr "Откажи" -#: js/oc-dialogs.js:159 +#: js/oc-dialogs.js:162 msgid "No" msgstr "Не" -#: js/oc-dialogs.js:160 +#: js/oc-dialogs.js:163 msgid "Yes" msgstr "Да" -#: js/oc-dialogs.js:177 +#: js/oc-dialogs.js:180 msgid "Ok" msgstr "Во ред" -#: js/oc-vcategories.js:68 -msgid "No categories selected for deletion." -msgstr "Не е одбрана категорија за бришење." +#: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102 +#: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162 +msgid "The object type is not specified." +msgstr "" -#: js/oc-vcategories.js:68 js/share.js:114 js/share.js:121 js/share.js:497 -#: js/share.js:509 +#: js/oc-vcategories.js:95 js/oc-vcategories.js:125 js/oc-vcategories.js:136 +#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:525 +#: js/share.js:537 msgid "Error" msgstr "Грешка" -#: js/share.js:103 +#: js/oc-vcategories.js:179 +msgid "The app name is not specified." +msgstr "" + +#: js/oc-vcategories.js:194 +msgid "The required file {file} is not installed!" +msgstr "" + +#: js/share.js:124 msgid "Error while sharing" msgstr "" -#: js/share.js:114 +#: js/share.js:135 msgid "Error while unsharing" msgstr "" -#: js/share.js:121 +#: js/share.js:142 msgid "Error while changing permissions" msgstr "" -#: js/share.js:130 -msgid "Shared with you and the group" -msgstr "" - -#: js/share.js:130 -msgid "by" +#: js/share.js:151 +msgid "Shared with you and the group {group} by {owner}" msgstr "" -#: js/share.js:132 -msgid "Shared with you by" +#: js/share.js:153 +msgid "Shared with you by {owner}" msgstr "" -#: js/share.js:137 +#: js/share.js:158 msgid "Share with" msgstr "" -#: js/share.js:142 +#: js/share.js:163 msgid "Share with link" msgstr "" -#: js/share.js:143 +#: js/share.js:164 msgid "Password protect" msgstr "" -#: js/share.js:147 templates/installation.php:42 templates/login.php:24 +#: js/share.js:168 templates/installation.php:42 templates/login.php:24 #: templates/verify.php:13 msgid "Password" msgstr "Лозинка" -#: js/share.js:152 +#: js/share.js:173 msgid "Set expiration date" msgstr "" -#: js/share.js:153 +#: js/share.js:174 msgid "Expiration date" msgstr "" -#: js/share.js:185 +#: js/share.js:206 msgid "Share via email:" msgstr "" -#: js/share.js:187 +#: js/share.js:208 msgid "No people found" msgstr "" -#: js/share.js:214 +#: js/share.js:235 msgid "Resharing is not allowed" msgstr "" -#: js/share.js:250 -msgid "Shared in" -msgstr "" - -#: js/share.js:250 -msgid "with" +#: js/share.js:271 +msgid "Shared in {item} with {user}" msgstr "" -#: js/share.js:271 +#: js/share.js:292 msgid "Unshare" msgstr "" -#: js/share.js:283 +#: js/share.js:304 msgid "can edit" msgstr "" -#: js/share.js:285 +#: js/share.js:306 msgid "access control" msgstr "" -#: js/share.js:288 +#: js/share.js:309 msgid "create" -msgstr "" +msgstr "креирај" -#: js/share.js:291 +#: js/share.js:312 msgid "update" msgstr "" -#: js/share.js:294 +#: js/share.js:315 msgid "delete" msgstr "" -#: js/share.js:297 +#: js/share.js:318 msgid "share" msgstr "" -#: js/share.js:322 js/share.js:484 +#: js/share.js:343 js/share.js:512 js/share.js:514 msgid "Password protected" msgstr "" -#: js/share.js:497 +#: js/share.js:525 msgid "Error unsetting expiration date" msgstr "" -#: js/share.js:509 +#: js/share.js:537 msgid "Error setting expiration date" msgstr "" -#: lostpassword/index.php:26 +#: lostpassword/controller.php:47 msgid "ownCloud password reset" msgstr "ресетирање на лозинка за ownCloud" @@ -235,12 +267,12 @@ msgid "You will receive a link to reset your password via Email." msgstr "Ќе добиете врска по е-пошта за да може да ја ресетирате Вашата лозинка." #: lostpassword/templates/lostpassword.php:5 -msgid "Requested" -msgstr "Побарано" +msgid "Reset email send." +msgstr "" #: lostpassword/templates/lostpassword.php:8 -msgid "Login failed!" -msgstr "Најавата не успеа!" +msgid "Request failed!" +msgstr "" #: lostpassword/templates/lostpassword.php:11 templates/installation.php:38 #: templates/login.php:20 @@ -299,7 +331,7 @@ msgstr "Облакот не е најден" msgid "Edit categories" msgstr "Уреди категории" -#: templates/edit_categories_dialog.php:14 +#: templates/edit_categories_dialog.php:16 msgid "Add" msgstr "Додади" @@ -373,11 +405,87 @@ msgstr "Сервер со база" msgid "Finish setup" msgstr "Заврши го подесувањето" -#: templates/layout.guest.php:38 +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Sunday" +msgstr "Недела" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Monday" +msgstr "Понеделник" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Tuesday" +msgstr "Вторник" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Wednesday" +msgstr "Среда" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Thursday" +msgstr "Четврток" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Friday" +msgstr "Петок" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Saturday" +msgstr "Сабота" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "January" +msgstr "Јануари" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "February" +msgstr "Февруари" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "March" +msgstr "Март" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "April" +msgstr "Април" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "May" +msgstr "Мај" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "June" +msgstr "Јуни" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "July" +msgstr "Јули" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "August" +msgstr "Август" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "September" +msgstr "Септември" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "October" +msgstr "Октомври" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "November" +msgstr "Ноември" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "December" +msgstr "Декември" + +#: templates/layout.guest.php:41 msgid "web services under your control" msgstr "веб сервиси под Ваша контрола" -#: templates/layout.user.php:34 +#: templates/layout.user.php:44 msgid "Log out" msgstr "Одјава" diff --git a/l10n/mk/files.po b/l10n/mk/files.po index c04e3640bb65d46b544fd34846808f4167707b38..6ff02992220575b76e37cd1debd8fca3184d46ff 100644 --- a/l10n/mk/files.po +++ b/l10n/mk/files.po @@ -10,9 +10,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-09-26 13:19+0200\n" -"PO-Revision-Date: 2012-09-26 11:20+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-12-01 00:01+0100\n" +"PO-Revision-Date: 2012-11-30 23:02+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Macedonian (http://www.transifex.com/projects/p/owncloud/language/mk/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -25,194 +25,165 @@ msgid "There is no error, the file uploaded with success" msgstr "Нема грешка, датотеката беше подигната успешно" #: ajax/upload.php:21 -msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" -msgstr "Подигнатата датотека ја надминува upload_max_filesize директивата во php.ini" +msgid "" +"The uploaded file exceeds the upload_max_filesize directive in php.ini: " +msgstr "" -#: ajax/upload.php:22 +#: ajax/upload.php:23 msgid "" "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " "the HTML form" msgstr "Подигнатата датотеката ја надминува MAX_FILE_SIZE директивата која беше поставена во HTML формата" -#: ajax/upload.php:23 +#: ajax/upload.php:25 msgid "The uploaded file was only partially uploaded" msgstr "Датотеката беше само делумно подигната." -#: ajax/upload.php:24 +#: ajax/upload.php:26 msgid "No file was uploaded" msgstr "Не беше подигната датотека" -#: ajax/upload.php:25 +#: ajax/upload.php:27 msgid "Missing a temporary folder" msgstr "Не постои привремена папка" -#: ajax/upload.php:26 +#: ajax/upload.php:28 msgid "Failed to write to disk" msgstr "Неуспеав да запишам на диск" -#: appinfo/app.php:6 +#: appinfo/app.php:10 msgid "Files" msgstr "Датотеки" -#: js/fileactions.js:108 templates/index.php:62 +#: js/fileactions.js:117 templates/index.php:83 templates/index.php:84 msgid "Unshare" msgstr "" -#: js/fileactions.js:110 templates/index.php:64 +#: js/fileactions.js:119 templates/index.php:89 templates/index.php:90 msgid "Delete" msgstr "Избриши" -#: js/fileactions.js:182 +#: js/fileactions.js:181 msgid "Rename" msgstr "" -#: js/filelist.js:190 js/filelist.js:192 -msgid "already exists" +#: js/filelist.js:201 js/filelist.js:203 +msgid "{new_name} already exists" msgstr "" -#: js/filelist.js:190 js/filelist.js:192 +#: js/filelist.js:201 js/filelist.js:203 msgid "replace" msgstr "" -#: js/filelist.js:190 +#: js/filelist.js:201 msgid "suggest name" msgstr "" -#: js/filelist.js:190 js/filelist.js:192 +#: js/filelist.js:201 js/filelist.js:203 msgid "cancel" msgstr "" -#: js/filelist.js:239 js/filelist.js:241 -msgid "replaced" +#: js/filelist.js:250 +msgid "replaced {new_name}" msgstr "" -#: js/filelist.js:239 js/filelist.js:241 js/filelist.js:273 js/filelist.js:275 +#: js/filelist.js:250 js/filelist.js:252 js/filelist.js:284 js/filelist.js:286 msgid "undo" msgstr "" -#: js/filelist.js:241 -msgid "with" +#: js/filelist.js:252 +msgid "replaced {new_name} with {old_name}" msgstr "" -#: js/filelist.js:273 -msgid "unshared" +#: js/filelist.js:284 +msgid "unshared {files}" msgstr "" -#: js/filelist.js:275 -msgid "deleted" +#: js/filelist.js:286 +msgid "deleted {files}" +msgstr "" + +#: js/files.js:33 +msgid "" +"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not " +"allowed." msgstr "" -#: js/files.js:179 +#: js/files.js:183 msgid "generating ZIP-file, it may take some time." msgstr "Се генерира ZIP фајлот, ќе треба извесно време." -#: js/files.js:208 +#: js/files.js:218 msgid "Unable to upload your file as it is a directory or has 0 bytes" msgstr "Не може да се преземе вашата датотека бидејќи фолдерот во кој се наоѓа фајлот има големина од 0 бајти" -#: js/files.js:208 +#: js/files.js:218 msgid "Upload Error" msgstr "Грешка при преземање" -#: js/files.js:236 js/files.js:341 js/files.js:371 +#: js/files.js:235 +msgid "Close" +msgstr "Затвои" + +#: js/files.js:254 js/files.js:368 js/files.js:398 msgid "Pending" msgstr "Чека" -#: js/files.js:256 +#: js/files.js:274 msgid "1 file uploading" msgstr "" -#: js/files.js:259 js/files.js:304 js/files.js:319 -msgid "files uploading" +#: js/files.js:277 js/files.js:331 js/files.js:346 +msgid "{count} files uploading" msgstr "" -#: js/files.js:322 js/files.js:355 +#: js/files.js:349 js/files.js:382 msgid "Upload cancelled." msgstr "Преземањето е прекинато." -#: js/files.js:424 +#: js/files.js:451 msgid "" "File upload is in progress. Leaving the page now will cancel the upload." msgstr "" -#: js/files.js:494 -msgid "Invalid name, '/' is not allowed." -msgstr "неисправно име, '/' не е дозволено." +#: js/files.js:523 +msgid "Invalid folder name. Usage of \"Shared\" is reserved by Owncloud" +msgstr "" -#: js/files.js:667 -msgid "files scanned" +#: js/files.js:704 +msgid "{count} files scanned" msgstr "" -#: js/files.js:675 +#: js/files.js:712 msgid "error while scanning" msgstr "" -#: js/files.js:748 templates/index.php:48 +#: js/files.js:785 templates/index.php:65 msgid "Name" msgstr "Име" -#: js/files.js:749 templates/index.php:56 +#: js/files.js:786 templates/index.php:76 msgid "Size" msgstr "Големина" -#: js/files.js:750 templates/index.php:58 +#: js/files.js:787 templates/index.php:78 msgid "Modified" msgstr "Променето" -#: js/files.js:777 -msgid "folder" -msgstr "фолдер" - -#: js/files.js:779 -msgid "folders" -msgstr "фолдери" - -#: js/files.js:787 -msgid "file" -msgstr "датотека" - -#: js/files.js:789 -msgid "files" -msgstr "датотеки" - -#: js/files.js:833 -msgid "seconds ago" -msgstr "" - -#: js/files.js:834 -msgid "minute ago" -msgstr "" - -#: js/files.js:835 -msgid "minutes ago" +#: js/files.js:814 +msgid "1 folder" msgstr "" -#: js/files.js:838 -msgid "today" +#: js/files.js:816 +msgid "{count} folders" msgstr "" -#: js/files.js:839 -msgid "yesterday" +#: js/files.js:824 +msgid "1 file" msgstr "" -#: js/files.js:840 -msgid "days ago" -msgstr "" - -#: js/files.js:841 -msgid "last month" -msgstr "" - -#: js/files.js:843 -msgid "months ago" -msgstr "" - -#: js/files.js:844 -msgid "last year" -msgstr "" - -#: js/files.js:845 -msgid "years ago" +#: js/files.js:826 +msgid "{count} files" msgstr "" #: templates/admin.php:5 @@ -223,80 +194,76 @@ msgstr "Ракување со датотеки" msgid "Maximum upload size" msgstr "Максимална големина за подигање" -#: templates/admin.php:7 +#: templates/admin.php:9 msgid "max. possible: " msgstr "макс. можно:" -#: templates/admin.php:9 +#: templates/admin.php:12 msgid "Needed for multi-file and folder downloads." msgstr "Потребно за симнување повеќе-датотеки и папки." -#: templates/admin.php:9 +#: templates/admin.php:14 msgid "Enable ZIP-download" msgstr "Овозможи ZIP симнување " -#: templates/admin.php:11 +#: templates/admin.php:17 msgid "0 is unlimited" msgstr "0 е неограничено" -#: templates/admin.php:12 +#: templates/admin.php:19 msgid "Maximum input size for ZIP files" msgstr "Максимална големина за внес на ZIP датотеки" -#: templates/admin.php:14 +#: templates/admin.php:23 msgid "Save" -msgstr "" +msgstr "Сними" #: templates/index.php:7 msgid "New" msgstr "Ново" -#: templates/index.php:9 +#: templates/index.php:10 msgid "Text file" msgstr "Текстуална датотека" -#: templates/index.php:10 +#: templates/index.php:12 msgid "Folder" msgstr "Папка" -#: templates/index.php:11 -msgid "From url" -msgstr "Од адреса" +#: templates/index.php:14 +msgid "From link" +msgstr "" -#: templates/index.php:20 +#: templates/index.php:35 msgid "Upload" msgstr "Подигни" -#: templates/index.php:27 +#: templates/index.php:43 msgid "Cancel upload" msgstr "Откажи прикачување" -#: templates/index.php:40 +#: templates/index.php:57 msgid "Nothing in here. Upload something!" msgstr "Тука нема ништо. Снимете нешто!" -#: templates/index.php:50 -msgid "Share" -msgstr "Сподели" - -#: templates/index.php:52 +#: templates/index.php:71 msgid "Download" msgstr "Преземи" -#: templates/index.php:75 +#: templates/index.php:103 msgid "Upload too large" msgstr "Датотеката е премногу голема" -#: templates/index.php:77 +#: templates/index.php:105 msgid "" "The files you are trying to upload exceed the maximum size for file uploads " "on this server." msgstr "Датотеките кои се обидувате да ги подигнете ја надминуваат максималната големина за подигнување датотеки на овој сервер." -#: templates/index.php:82 +#: templates/index.php:110 msgid "Files are being scanned, please wait." msgstr "Се скенираат датотеки, ве молам почекајте." -#: templates/index.php:85 +#: templates/index.php:113 msgid "Current scanning" msgstr "Моментално скенирам" diff --git a/l10n/mk/files_external.po b/l10n/mk/files_external.po index 21928cfd6f06624a5df79e6c4527a58075964796..645256ddc1ffc534c8e640cbd828ef923261528e 100644 --- a/l10n/mk/files_external.po +++ b/l10n/mk/files_external.po @@ -7,9 +7,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-02 23:16+0200\n" -"PO-Revision-Date: 2012-10-02 21:17+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-12-12 00:12+0100\n" +"PO-Revision-Date: 2012-12-11 23:13+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Macedonian (http://www.transifex.com/projects/p/owncloud/language/mk/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -41,66 +41,80 @@ msgstr "" msgid "Error configuring Google Drive storage" msgstr "" +#: lib/config.php:434 +msgid "" +"Warning: \"smbclient\" is not installed. Mounting of CIFS/SMB shares " +"is not possible. Please ask your system administrator to install it." +msgstr "" + +#: lib/config.php:435 +msgid "" +"Warning: The FTP support in PHP is not enabled or installed. Mounting" +" of FTP shares is not possible. Please ask your system administrator to " +"install it." +msgstr "" + #: templates/settings.php:3 msgid "External Storage" msgstr "" -#: templates/settings.php:7 templates/settings.php:19 +#: templates/settings.php:8 templates/settings.php:22 msgid "Mount point" msgstr "" -#: templates/settings.php:8 +#: templates/settings.php:9 msgid "Backend" msgstr "" -#: templates/settings.php:9 +#: templates/settings.php:10 msgid "Configuration" msgstr "" -#: templates/settings.php:10 +#: templates/settings.php:11 msgid "Options" msgstr "" -#: templates/settings.php:11 +#: templates/settings.php:12 msgid "Applicable" msgstr "" -#: templates/settings.php:23 +#: templates/settings.php:27 msgid "Add mount point" msgstr "" -#: templates/settings.php:54 templates/settings.php:62 +#: templates/settings.php:85 msgid "None set" msgstr "" -#: templates/settings.php:63 +#: templates/settings.php:86 msgid "All Users" msgstr "" -#: templates/settings.php:64 +#: templates/settings.php:87 msgid "Groups" msgstr "" -#: templates/settings.php:69 +#: templates/settings.php:95 msgid "Users" msgstr "" -#: templates/settings.php:77 templates/settings.php:107 +#: templates/settings.php:108 templates/settings.php:109 +#: templates/settings.php:149 templates/settings.php:150 msgid "Delete" msgstr "" -#: templates/settings.php:87 +#: templates/settings.php:124 msgid "Enable User External Storage" msgstr "" -#: templates/settings.php:88 +#: templates/settings.php:125 msgid "Allow users to mount their own external storage" msgstr "" -#: templates/settings.php:99 +#: templates/settings.php:139 msgid "SSL root certificates" msgstr "" -#: templates/settings.php:113 +#: templates/settings.php:158 msgid "Import Root Certificate" msgstr "" diff --git a/l10n/mk/files_pdfviewer.po b/l10n/mk/files_pdfviewer.po deleted file mode 100644 index a6cb756a0a237dc63ab3e3723d4d357a57a78446..0000000000000000000000000000000000000000 --- a/l10n/mk/files_pdfviewer.po +++ /dev/null @@ -1,42 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 02:18+0200\n" -"PO-Revision-Date: 2012-08-26 00:19+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Macedonian (http://www.transifex.com/projects/p/owncloud/language/mk/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: mk\n" -"Plural-Forms: nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1\n" - -#: js/viewer.js:22 -msgid "Previous" -msgstr "" - -#: js/viewer.js:23 -msgid "Next" -msgstr "" - -#: js/viewer.js:29 -msgid "Page Width" -msgstr "" - -#: js/viewer.js:29 -msgid "Page Fit" -msgstr "" - -#: js/viewer.js:30 -msgid "Print" -msgstr "" - -#: js/viewer.js:32 -msgid "Download" -msgstr "" diff --git a/l10n/mk/files_texteditor.po b/l10n/mk/files_texteditor.po deleted file mode 100644 index 0164432b9091c5a1eab1559f22b57d21bc8cc763..0000000000000000000000000000000000000000 --- a/l10n/mk/files_texteditor.po +++ /dev/null @@ -1,44 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 01:17+0200\n" -"PO-Revision-Date: 2012-08-25 23:18+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Macedonian (http://www.transifex.com/projects/p/owncloud/language/mk/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: mk\n" -"Plural-Forms: nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1\n" - -#: js/aceeditor/mode-coldfusion-uncompressed.js:1568 -#: js/aceeditor/mode-liquid-uncompressed.js:902 -#: js/aceeditor/mode-svg-uncompressed.js:1575 -msgid "regex" -msgstr "" - -#: js/editor.js:72 js/editor.js:156 js/editor.js:163 -msgid "Save" -msgstr "" - -#: js/editor.js:74 -msgid "Close" -msgstr "" - -#: js/editor.js:149 -msgid "Saving..." -msgstr "" - -#: js/editor.js:239 -msgid "An error occurred!" -msgstr "" - -#: js/editor.js:266 -msgid "There were unsaved changes, click here to go back" -msgstr "" diff --git a/l10n/mk/gallery.po b/l10n/mk/gallery.po deleted file mode 100644 index ec987f8a1d2822351f7516c4a3c196fff697649b..0000000000000000000000000000000000000000 --- a/l10n/mk/gallery.po +++ /dev/null @@ -1,95 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Miroslav Jovanovic , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-06-06 00:12+0200\n" -"PO-Revision-Date: 2012-06-05 22:15+0000\n" -"Last-Translator: icewind \n" -"Language-Team: Macedonian (http://www.transifex.net/projects/p/owncloud/language/mk/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: mk\n" -"Plural-Forms: nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1\n" - -#: appinfo/app.php:37 -msgid "Pictures" -msgstr "Слики" - -#: js/album_cover.js:44 -msgid "Share gallery" -msgstr "" - -#: js/album_cover.js:64 js/album_cover.js:100 js/album_cover.js:133 -msgid "Error: " -msgstr "" - -#: js/album_cover.js:64 js/album_cover.js:100 -msgid "Internal error" -msgstr "" - -#: js/album_cover.js:114 -msgid "Scanning root" -msgstr "" - -#: js/album_cover.js:115 -msgid "Default order" -msgstr "" - -#: js/album_cover.js:116 -msgid "Ascending" -msgstr "" - -#: js/album_cover.js:116 -msgid "Descending" -msgstr "" - -#: js/album_cover.js:117 templates/index.php:19 -msgid "Settings" -msgstr "Параметри" - -#: js/album_cover.js:122 -msgid "Scanning root cannot be empty" -msgstr "" - -#: js/album_cover.js:122 js/album_cover.js:133 -msgid "Error" -msgstr "" - -#: templates/index.php:16 -msgid "Rescan" -msgstr "Рескенирај" - -#: templates/index.php:17 -msgid "Stop" -msgstr "Стоп" - -#: templates/index.php:18 -msgid "Share" -msgstr "Сподели" - -#: templates/view_album.php:19 -msgid "Back" -msgstr "Назад" - -#: templates/view_album.php:36 -msgid "Remove confirmation" -msgstr "Тргни потврда" - -#: templates/view_album.php:37 -msgid "Do you want to remove album" -msgstr "Дали сакате да го отстраните албумот" - -#: templates/view_album.php:40 -msgid "Change album name" -msgstr "Измени име на албумот" - -#: templates/view_album.php:43 -msgid "New album name" -msgstr "Ново има на албумот" diff --git a/l10n/mk/impress.po b/l10n/mk/impress.po deleted file mode 100644 index 5948fc5ec3c89b7816ca557494708ad48c433256..0000000000000000000000000000000000000000 --- a/l10n/mk/impress.po +++ /dev/null @@ -1,22 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 01:17+0200\n" -"PO-Revision-Date: 2012-08-25 23:18+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Macedonian (http://www.transifex.com/projects/p/owncloud/language/mk/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: mk\n" -"Plural-Forms: nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1\n" - -#: templates/presentations.php:7 -msgid "Documentation" -msgstr "" diff --git a/l10n/mk/lib.po b/l10n/mk/lib.po index 626e9dc54f20dd675085df392cd5442091ddcc20..4be426c9be1e209f36000905b0cc2acf948a30b5 100644 --- a/l10n/mk/lib.po +++ b/l10n/mk/lib.po @@ -7,53 +7,53 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-09-01 02:01+0200\n" -"PO-Revision-Date: 2012-09-01 00:02+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-11-16 00:02+0100\n" +"PO-Revision-Date: 2012-11-14 23:13+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Macedonian (http://www.transifex.com/projects/p/owncloud/language/mk/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: mk\n" -"Plural-Forms: nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1\n" +"Plural-Forms: nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;\n" -#: app.php:288 +#: app.php:285 msgid "Help" -msgstr "" +msgstr "Помош" -#: app.php:295 +#: app.php:292 msgid "Personal" -msgstr "" +msgstr "Лично" -#: app.php:300 +#: app.php:297 msgid "Settings" -msgstr "" +msgstr "Параметри" -#: app.php:305 +#: app.php:302 msgid "Users" -msgstr "" +msgstr "Корисници" -#: app.php:312 +#: app.php:309 msgid "Apps" msgstr "" -#: app.php:314 +#: app.php:311 msgid "Admin" msgstr "" -#: files.php:280 +#: files.php:332 msgid "ZIP download is turned off." msgstr "" -#: files.php:281 +#: files.php:333 msgid "Files need to be downloaded one by one." msgstr "" -#: files.php:281 files.php:306 +#: files.php:333 files.php:358 msgid "Back to Files" msgstr "" -#: files.php:305 +#: files.php:357 msgid "Selected files too large to generate zip file." msgstr "" @@ -61,7 +61,7 @@ msgstr "" msgid "Application is not enabled" msgstr "" -#: json.php:39 json.php:63 json.php:75 +#: json.php:39 json.php:64 json.php:77 json.php:89 msgid "Authentication error" msgstr "" @@ -69,57 +69,84 @@ msgstr "" msgid "Token expired. Please reload page." msgstr "" -#: template.php:86 +#: search/provider/file.php:17 search/provider/file.php:35 +msgid "Files" +msgstr "Датотеки" + +#: search/provider/file.php:26 search/provider/file.php:33 +msgid "Text" +msgstr "Текст" + +#: search/provider/file.php:29 +msgid "Images" +msgstr "" + +#: template.php:103 msgid "seconds ago" msgstr "" -#: template.php:87 +#: template.php:104 msgid "1 minute ago" msgstr "" -#: template.php:88 +#: template.php:105 #, php-format msgid "%d minutes ago" msgstr "" -#: template.php:91 +#: template.php:106 +msgid "1 hour ago" +msgstr "" + +#: template.php:107 +#, php-format +msgid "%d hours ago" +msgstr "" + +#: template.php:108 msgid "today" msgstr "" -#: template.php:92 +#: template.php:109 msgid "yesterday" msgstr "" -#: template.php:93 +#: template.php:110 #, php-format msgid "%d days ago" msgstr "" -#: template.php:94 +#: template.php:111 msgid "last month" msgstr "" -#: template.php:95 -msgid "months ago" +#: template.php:112 +#, php-format +msgid "%d months ago" msgstr "" -#: template.php:96 +#: template.php:113 msgid "last year" msgstr "" -#: template.php:97 +#: template.php:114 msgid "years ago" msgstr "" -#: updater.php:66 +#: updater.php:75 #, php-format msgid "%s is available. Get more information" msgstr "" -#: updater.php:68 +#: updater.php:77 msgid "up to date" msgstr "" -#: updater.php:71 +#: updater.php:80 msgid "updates check is disabled" msgstr "" + +#: vcategories.php:188 vcategories.php:249 +#, php-format +msgid "Could not find category \"%s\"" +msgstr "" diff --git a/l10n/mk/media.po b/l10n/mk/media.po deleted file mode 100644 index 70a02ba7a64adabb28c7571747b400daf21ddb9d..0000000000000000000000000000000000000000 --- a/l10n/mk/media.po +++ /dev/null @@ -1,69 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Georgi Stanojevski , 2012. -# , 2012. -# Miroslav Jovanovic , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-06-06 00:12+0200\n" -"PO-Revision-Date: 2012-06-05 22:15+0000\n" -"Last-Translator: icewind \n" -"Language-Team: Macedonian (http://www.transifex.net/projects/p/owncloud/language/mk/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: mk\n" -"Plural-Forms: nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1\n" - -#: appinfo/app.php:32 templates/player.php:8 -msgid "Music" -msgstr "Музика" - -#: js/music.js:18 -msgid "Add album to playlist" -msgstr "" - -#: templates/music.php:3 templates/player.php:12 -msgid "Play" -msgstr "Пушти" - -#: templates/music.php:4 templates/music.php:26 templates/player.php:13 -msgid "Pause" -msgstr "Пауза" - -#: templates/music.php:5 -msgid "Previous" -msgstr "Претходно" - -#: templates/music.php:6 templates/player.php:14 -msgid "Next" -msgstr "Следно" - -#: templates/music.php:7 -msgid "Mute" -msgstr "Занеми" - -#: templates/music.php:8 -msgid "Unmute" -msgstr "Пушти глас" - -#: templates/music.php:25 -msgid "Rescan Collection" -msgstr "Рескенирај ја колекцијата" - -#: templates/music.php:37 -msgid "Artist" -msgstr "Изведувач" - -#: templates/music.php:38 -msgid "Album" -msgstr "Албум" - -#: templates/music.php:39 -msgid "Title" -msgstr "Наслов" diff --git a/l10n/mk/settings.po b/l10n/mk/settings.po index 5711a85b378b6c6a1f57d6306a3f9d9c867cc4f3..b295cb7b667585c9f85246495c15152ac57ec022 100644 --- a/l10n/mk/settings.po +++ b/l10n/mk/settings.po @@ -9,9 +9,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-09 02:03+0200\n" -"PO-Revision-Date: 2012-10-09 00:04+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-12-03 00:04+0100\n" +"PO-Revision-Date: 2012-12-02 03:18+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Macedonian (http://www.transifex.com/projects/p/owncloud/language/mk/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -19,70 +19,73 @@ msgstr "" "Language: mk\n" "Plural-Forms: nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;\n" -#: ajax/apps/ocs.php:23 +#: ajax/apps/ocs.php:20 msgid "Unable to load list from App Store" msgstr "" -#: ajax/creategroup.php:9 ajax/removeuser.php:13 ajax/setquota.php:18 -#: ajax/togglegroups.php:15 -msgid "Authentication error" -msgstr "" - -#: ajax/creategroup.php:19 +#: ajax/creategroup.php:10 msgid "Group already exists" msgstr "" -#: ajax/creategroup.php:28 +#: ajax/creategroup.php:19 msgid "Unable to add group" msgstr "" -#: ajax/enableapp.php:14 +#: ajax/enableapp.php:12 msgid "Could not enable app. " msgstr "" -#: ajax/lostpassword.php:14 +#: ajax/lostpassword.php:12 msgid "Email saved" msgstr "Електронската пошта е снимена" -#: ajax/lostpassword.php:16 +#: ajax/lostpassword.php:14 msgid "Invalid email" msgstr "Неисправна електронска пошта" -#: ajax/openid.php:16 +#: ajax/openid.php:13 msgid "OpenID Changed" msgstr "OpenID сменето" -#: ajax/openid.php:18 ajax/setlanguage.php:20 ajax/setlanguage.php:23 +#: ajax/openid.php:15 ajax/setlanguage.php:17 ajax/setlanguage.php:20 msgid "Invalid request" msgstr "неправилно барање" -#: ajax/removegroup.php:16 +#: ajax/removegroup.php:13 msgid "Unable to delete group" msgstr "" -#: ajax/removeuser.php:22 +#: ajax/removeuser.php:15 ajax/setquota.php:15 ajax/togglegroups.php:18 +msgid "Authentication error" +msgstr "" + +#: ajax/removeuser.php:24 msgid "Unable to delete user" msgstr "" -#: ajax/setlanguage.php:18 +#: ajax/setlanguage.php:15 msgid "Language changed" msgstr "Јазикот е сменет" -#: ajax/togglegroups.php:25 +#: ajax/togglegroups.php:12 +msgid "Admins can't remove themself from the admin group" +msgstr "" + +#: ajax/togglegroups.php:28 #, php-format msgid "Unable to add user to group %s" msgstr "" -#: ajax/togglegroups.php:31 +#: ajax/togglegroups.php:34 #, php-format msgid "Unable to remove user from group %s" msgstr "" -#: js/apps.js:28 js/apps.js:65 +#: js/apps.js:28 js/apps.js:67 msgid "Disable" msgstr "Оневозможи" -#: js/apps.js:28 js/apps.js:54 +#: js/apps.js:28 js/apps.js:55 msgid "Enable" msgstr "Овозможи" @@ -90,97 +93,10 @@ msgstr "Овозможи" msgid "Saving..." msgstr "Снимам..." -#: personal.php:47 personal.php:48 +#: personal.php:42 personal.php:43 msgid "__language_name__" msgstr "__language_name__" -#: templates/admin.php:14 -msgid "Security Warning" -msgstr "" - -#: templates/admin.php:17 -msgid "" -"Your data directory and your files are probably accessible from the " -"internet. The .htaccess file that ownCloud provides is not working. We " -"strongly suggest that you configure your webserver in a way that the data " -"directory is no longer accessible or you move the data directory outside the" -" webserver document root." -msgstr "" - -#: templates/admin.php:31 -msgid "Cron" -msgstr "" - -#: templates/admin.php:37 -msgid "Execute one task with each page loaded" -msgstr "" - -#: templates/admin.php:43 -msgid "" -"cron.php is registered at a webcron service. Call the cron.php page in the " -"owncloud root once a minute over http." -msgstr "" - -#: templates/admin.php:49 -msgid "" -"Use systems cron service. Call the cron.php file in the owncloud folder via " -"a system cronjob once a minute." -msgstr "" - -#: templates/admin.php:56 -msgid "Sharing" -msgstr "" - -#: templates/admin.php:61 -msgid "Enable Share API" -msgstr "" - -#: templates/admin.php:62 -msgid "Allow apps to use the Share API" -msgstr "" - -#: templates/admin.php:67 -msgid "Allow links" -msgstr "" - -#: templates/admin.php:68 -msgid "Allow users to share items to the public with links" -msgstr "" - -#: templates/admin.php:73 -msgid "Allow resharing" -msgstr "" - -#: templates/admin.php:74 -msgid "Allow users to share items shared with them again" -msgstr "" - -#: templates/admin.php:79 -msgid "Allow users to share with anyone" -msgstr "" - -#: templates/admin.php:81 -msgid "Allow users to only share with users in their groups" -msgstr "" - -#: templates/admin.php:88 -msgid "Log" -msgstr "Записник" - -#: templates/admin.php:116 -msgid "More" -msgstr "Повеќе" - -#: templates/admin.php:124 -msgid "" -"Developed by the ownCloud community, the source code is " -"licensed under the AGPL." -msgstr "" - #: templates/apps.php:10 msgid "Add your App" msgstr "Додадете ја Вашата апликација" @@ -213,21 +129,21 @@ msgstr "Управување со големи датотеки" msgid "Ask a question" msgstr "Постави прашање" -#: templates/help.php:23 +#: templates/help.php:22 msgid "Problems connecting to help database." msgstr "Проблем при поврзување со базата за помош" -#: templates/help.php:24 +#: templates/help.php:23 msgid "Go there manually." msgstr "Оди таму рачно." -#: templates/help.php:32 +#: templates/help.php:31 msgid "Answer" msgstr "Одговор" #: templates/personal.php:8 #, php-format -msgid "You have used %s of the available %s" +msgid "You have used %s of the available %s" msgstr "" #: templates/personal.php:12 @@ -286,6 +202,16 @@ msgstr "Помогни во преводот" msgid "use this address to connect to your ownCloud in your file manager" msgstr "користете ја оваа адреса во менаџерот за датотеки да се поврзете со Вашиот ownCloud" +#: templates/personal.php:61 +msgid "" +"Developed by the ownCloud community, the source code is " +"licensed under the AGPL." +msgstr "" + #: templates/users.php:21 templates/users.php:76 msgid "Name" msgstr "Име" diff --git a/l10n/mk/tasks.po b/l10n/mk/tasks.po deleted file mode 100644 index f06174892d7a010745cbf0d0f9577c111b72aeda..0000000000000000000000000000000000000000 --- a/l10n/mk/tasks.po +++ /dev/null @@ -1,106 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:44+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Macedonian (http://www.transifex.com/projects/p/owncloud/language/mk/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: mk\n" -"Plural-Forms: nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1\n" - -#: ajax/update_property.php:51 lib/app.php:89 lib/app.php:101 -msgid "Invalid date/time" -msgstr "" - -#: appinfo/app.php:11 -msgid "Tasks" -msgstr "" - -#: js/tasks.js:415 -msgid "No category" -msgstr "" - -#: lib/app.php:33 -msgid "Unspecified" -msgstr "" - -#: lib/app.php:34 -msgid "1=highest" -msgstr "" - -#: lib/app.php:38 -msgid "5=medium" -msgstr "" - -#: lib/app.php:42 -msgid "9=lowest" -msgstr "" - -#: lib/app.php:81 -msgid "Empty Summary" -msgstr "" - -#: lib/app.php:93 -msgid "Invalid percent complete" -msgstr "" - -#: lib/app.php:107 -msgid "Invalid priority" -msgstr "" - -#: templates/tasks.php:3 -msgid "Add Task" -msgstr "" - -#: templates/tasks.php:4 -msgid "Order Due" -msgstr "" - -#: templates/tasks.php:5 -msgid "Order List" -msgstr "" - -#: templates/tasks.php:6 -msgid "Order Complete" -msgstr "" - -#: templates/tasks.php:7 -msgid "Order Location" -msgstr "" - -#: templates/tasks.php:8 -msgid "Order Priority" -msgstr "" - -#: templates/tasks.php:9 -msgid "Order Label" -msgstr "" - -#: templates/tasks.php:16 -msgid "Loading tasks..." -msgstr "" - -#: templates/tasks.php:20 -msgid "Important" -msgstr "" - -#: templates/tasks.php:23 -msgid "More" -msgstr "" - -#: templates/tasks.php:26 -msgid "Less" -msgstr "" - -#: templates/tasks.php:29 -msgid "Delete" -msgstr "" diff --git a/l10n/mk/user_migrate.po b/l10n/mk/user_migrate.po deleted file mode 100644 index 06c88c2599fc7a4592de51830c3888fc7444f2e1..0000000000000000000000000000000000000000 --- a/l10n/mk/user_migrate.po +++ /dev/null @@ -1,51 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:45+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Macedonian (http://www.transifex.com/projects/p/owncloud/language/mk/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: mk\n" -"Plural-Forms: nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1\n" - -#: js/export.js:14 js/export.js:20 -msgid "Export" -msgstr "" - -#: js/export.js:19 -msgid "Something went wrong while the export file was being generated" -msgstr "" - -#: js/export.js:19 -msgid "An error has occurred" -msgstr "" - -#: templates/settings.php:2 -msgid "Export your user account" -msgstr "" - -#: templates/settings.php:3 -msgid "" -"This will create a compressed file that contains your ownCloud account." -msgstr "" - -#: templates/settings.php:13 -msgid "Import user account" -msgstr "" - -#: templates/settings.php:15 -msgid "ownCloud User Zip" -msgstr "" - -#: templates/settings.php:17 -msgid "Import" -msgstr "" diff --git a/l10n/mk/user_openid.po b/l10n/mk/user_openid.po deleted file mode 100644 index 3636c401f61c144b583e9edd4a7fb12a0ec4de87..0000000000000000000000000000000000000000 --- a/l10n/mk/user_openid.po +++ /dev/null @@ -1,54 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:45+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Macedonian (http://www.transifex.com/projects/p/owncloud/language/mk/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: mk\n" -"Plural-Forms: nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1\n" - -#: templates/nomode.php:12 -msgid "This is an OpenID server endpoint. For more information, see " -msgstr "" - -#: templates/nomode.php:14 -msgid "Identity: " -msgstr "" - -#: templates/nomode.php:15 -msgid "Realm: " -msgstr "" - -#: templates/nomode.php:16 -msgid "User: " -msgstr "" - -#: templates/nomode.php:17 -msgid "Login" -msgstr "" - -#: templates/nomode.php:22 -msgid "Error: No user Selected" -msgstr "" - -#: templates/settings.php:4 -msgid "you can authenticate to other sites with this address" -msgstr "" - -#: templates/settings.php:5 -msgid "Authorized OpenID provider" -msgstr "" - -#: templates/settings.php:6 -msgid "Your address at Wordpress, Identi.ca, …" -msgstr "" diff --git a/l10n/mk/files_odfviewer.po b/l10n/mk/user_webdavauth.po similarity index 79% rename from l10n/mk/files_odfviewer.po rename to l10n/mk/user_webdavauth.po index 77205c755f2df1c5cb3d50c60f25a9e430d3c391..7392ade6853070e3fb3223632bc48befa783649a 100644 --- a/l10n/mk/files_odfviewer.po +++ b/l10n/mk/user_webdavauth.po @@ -7,16 +7,16 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 02:18+0200\n" -"PO-Revision-Date: 2012-08-26 00:19+0000\n" +"POT-Creation-Date: 2012-11-09 10:06+0100\n" +"PO-Revision-Date: 2012-11-09 09:06+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: Macedonian (http://www.transifex.com/projects/p/owncloud/language/mk/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: mk\n" -"Plural-Forms: nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1\n" +"Plural-Forms: nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;\n" -#: js/viewer.js:9 -msgid "Close" +#: templates/settings.php:4 +msgid "WebDAV URL: http://" msgstr "" diff --git a/l10n/ms_MY/admin_dependencies_chk.po b/l10n/ms_MY/admin_dependencies_chk.po deleted file mode 100644 index 00564b0cf2ac383bc6f91d8d53ef838b7b03d4de..0000000000000000000000000000000000000000 --- a/l10n/ms_MY/admin_dependencies_chk.po +++ /dev/null @@ -1,73 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:33+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Malay (Malaysia) (http://www.transifex.com/projects/p/owncloud/language/ms_MY/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ms_MY\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: settings.php:33 -msgid "" -"The php-json module is needed by the many applications for inter " -"communications" -msgstr "" - -#: settings.php:39 -msgid "" -"The php-curl modude is needed to fetch the page title when adding a " -"bookmarks" -msgstr "" - -#: settings.php:45 -msgid "The php-gd module is needed to create thumbnails of your images" -msgstr "" - -#: settings.php:51 -msgid "The php-ldap module is needed connect to your ldap server" -msgstr "" - -#: settings.php:57 -msgid "The php-zip module is needed download multiple files at once" -msgstr "" - -#: settings.php:63 -msgid "" -"The php-mb_multibyte module is needed to manage correctly the encoding." -msgstr "" - -#: settings.php:69 -msgid "The php-ctype module is needed validate data." -msgstr "" - -#: settings.php:75 -msgid "The php-xml module is needed to share files with webdav." -msgstr "" - -#: settings.php:81 -msgid "" -"The allow_url_fopen directive of your php.ini should be set to 1 to retrieve" -" knowledge base from OCS servers" -msgstr "" - -#: settings.php:87 -msgid "The php-pdo module is needed to store owncloud data into a database." -msgstr "" - -#: templates/settings.php:2 -msgid "Dependencies status" -msgstr "" - -#: templates/settings.php:7 -msgid "Used by :" -msgstr "" diff --git a/l10n/ms_MY/admin_migrate.po b/l10n/ms_MY/admin_migrate.po deleted file mode 100644 index 30cd1e1be644a91be4b78d55330bb32b3bac4656..0000000000000000000000000000000000000000 --- a/l10n/ms_MY/admin_migrate.po +++ /dev/null @@ -1,32 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:32+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Malay (Malaysia) (http://www.transifex.com/projects/p/owncloud/language/ms_MY/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ms_MY\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: templates/settings.php:3 -msgid "Export this ownCloud instance" -msgstr "" - -#: templates/settings.php:4 -msgid "" -"This will create a compressed file that contains the data of this owncloud instance.\n" -" Please choose the export type:" -msgstr "" - -#: templates/settings.php:12 -msgid "Export" -msgstr "" diff --git a/l10n/ms_MY/bookmarks.po b/l10n/ms_MY/bookmarks.po deleted file mode 100644 index 06c58f9a8687ddf23b4ce625401c889e3e8260e0..0000000000000000000000000000000000000000 --- a/l10n/ms_MY/bookmarks.po +++ /dev/null @@ -1,60 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-07-28 02:02+0200\n" -"PO-Revision-Date: 2012-07-27 22:17+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Malay (Malaysia) (http://www.transifex.com/projects/p/owncloud/language/ms_MY/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ms_MY\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: appinfo/app.php:14 -msgid "Bookmarks" -msgstr "" - -#: bookmarksHelper.php:99 -msgid "unnamed" -msgstr "" - -#: templates/bookmarklet.php:5 -msgid "" -"Drag this to your browser bookmarks and click it, when you want to bookmark " -"a webpage quickly:" -msgstr "" - -#: templates/bookmarklet.php:7 -msgid "Read later" -msgstr "" - -#: templates/list.php:13 -msgid "Address" -msgstr "" - -#: templates/list.php:14 -msgid "Title" -msgstr "" - -#: templates/list.php:15 -msgid "Tags" -msgstr "" - -#: templates/list.php:16 -msgid "Save bookmark" -msgstr "" - -#: templates/list.php:22 -msgid "You have no bookmarks" -msgstr "" - -#: templates/settings.php:11 -msgid "Bookmarklet
" -msgstr "" diff --git a/l10n/ms_MY/calendar.po b/l10n/ms_MY/calendar.po deleted file mode 100644 index b7b41176326ba28d681dda4b58a7793af96ca164..0000000000000000000000000000000000000000 --- a/l10n/ms_MY/calendar.po +++ /dev/null @@ -1,818 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Ahmed Noor Kader Mustajir Md Eusoff , 2012. -# , 2011, 2012. -# Hadri Hilmi , 2012. -# Hafiz Ismail , 2012. -# Zulhilmi Rosnin , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-11 02:02+0200\n" -"PO-Revision-Date: 2012-08-11 00:02+0000\n" -"Last-Translator: owncloud_robot \n" -"Language-Team: Malay (Malaysia) (http://www.transifex.com/projects/p/owncloud/language/ms_MY/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ms_MY\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: ajax/cache/status.php:19 -msgid "Not all calendars are completely cached" -msgstr "" - -#: ajax/cache/status.php:21 -msgid "Everything seems to be completely cached" -msgstr "" - -#: ajax/categories/rescan.php:29 -msgid "No calendars found." -msgstr "Tiada kalendar dijumpai." - -#: ajax/categories/rescan.php:37 -msgid "No events found." -msgstr "Tiada agenda dijumpai." - -#: ajax/event/edit.form.php:20 -msgid "Wrong calendar" -msgstr "Silap kalendar" - -#: ajax/import/dropimport.php:29 ajax/import/import.php:64 -msgid "" -"The file contained either no events or all events are already saved in your " -"calendar." -msgstr "" - -#: ajax/import/dropimport.php:31 ajax/import/import.php:67 -msgid "events has been saved in the new calendar" -msgstr "" - -#: ajax/import/import.php:56 -msgid "Import failed" -msgstr "" - -#: ajax/import/import.php:69 -msgid "events has been saved in your calendar" -msgstr "" - -#: ajax/settings/guesstimezone.php:25 -msgid "New Timezone:" -msgstr "Timezone Baru" - -#: ajax/settings/settimezone.php:23 -msgid "Timezone changed" -msgstr "Zon waktu diubah" - -#: ajax/settings/settimezone.php:25 -msgid "Invalid request" -msgstr "Permintaan tidak sah" - -#: appinfo/app.php:35 templates/calendar.php:15 -#: templates/part.eventform.php:33 templates/part.showevent.php:33 -msgid "Calendar" -msgstr "Kalendar" - -#: js/calendar.js:832 -msgid "ddd" -msgstr "ddd" - -#: js/calendar.js:833 -msgid "ddd M/d" -msgstr "dd M/d" - -#: js/calendar.js:834 -msgid "dddd M/d" -msgstr "dddd M/d" - -#: js/calendar.js:837 -msgid "MMMM yyyy" -msgstr "MMMM yyyy" - -#: js/calendar.js:839 -msgid "MMM d[ yyyy]{ '—'[ MMM] d yyyy}" -msgstr "MMM d[ yyyy]{ '—'[ MMM] d yyyy}" - -#: js/calendar.js:841 -msgid "dddd, MMM d, yyyy" -msgstr "dddd, MMM d, yyy" - -#: lib/app.php:121 -msgid "Birthday" -msgstr "Hari lahir" - -#: lib/app.php:122 -msgid "Business" -msgstr "Perniagaan" - -#: lib/app.php:123 -msgid "Call" -msgstr "Panggilan" - -#: lib/app.php:124 -msgid "Clients" -msgstr "Klien" - -#: lib/app.php:125 -msgid "Deliverer" -msgstr "Penghantar" - -#: lib/app.php:126 -msgid "Holidays" -msgstr "Cuti" - -#: lib/app.php:127 -msgid "Ideas" -msgstr "Idea" - -#: lib/app.php:128 -msgid "Journey" -msgstr "Perjalanan" - -#: lib/app.php:129 -msgid "Jubilee" -msgstr "Jubli" - -#: lib/app.php:130 -msgid "Meeting" -msgstr "Perjumpaan" - -#: lib/app.php:131 -msgid "Other" -msgstr "Lain" - -#: lib/app.php:132 -msgid "Personal" -msgstr "Peribadi" - -#: lib/app.php:133 -msgid "Projects" -msgstr "Projek" - -#: lib/app.php:134 -msgid "Questions" -msgstr "Soalan" - -#: lib/app.php:135 -msgid "Work" -msgstr "Kerja" - -#: lib/app.php:351 lib/app.php:361 -msgid "by" -msgstr "" - -#: lib/app.php:359 lib/app.php:399 -msgid "unnamed" -msgstr "tiada nama" - -#: lib/import.php:184 templates/calendar.php:12 -#: templates/part.choosecalendar.php:22 -msgid "New Calendar" -msgstr "Kalendar baru" - -#: lib/object.php:372 -msgid "Does not repeat" -msgstr "Tidak berulang" - -#: lib/object.php:373 -msgid "Daily" -msgstr "Harian" - -#: lib/object.php:374 -msgid "Weekly" -msgstr "Mingguan" - -#: lib/object.php:375 -msgid "Every Weekday" -msgstr "Setiap hari minggu" - -#: lib/object.php:376 -msgid "Bi-Weekly" -msgstr "Dua kali seminggu" - -#: lib/object.php:377 -msgid "Monthly" -msgstr "Bulanan" - -#: lib/object.php:378 -msgid "Yearly" -msgstr "Tahunan" - -#: lib/object.php:388 -msgid "never" -msgstr "jangan" - -#: lib/object.php:389 -msgid "by occurrences" -msgstr "dari kekerapan" - -#: lib/object.php:390 -msgid "by date" -msgstr "dari tarikh" - -#: lib/object.php:400 -msgid "by monthday" -msgstr "dari haribulan" - -#: lib/object.php:401 -msgid "by weekday" -msgstr "dari hari minggu" - -#: lib/object.php:411 templates/calendar.php:5 templates/settings.php:69 -msgid "Monday" -msgstr "Isnin" - -#: lib/object.php:412 templates/calendar.php:5 -msgid "Tuesday" -msgstr "Selasa" - -#: lib/object.php:413 templates/calendar.php:5 -msgid "Wednesday" -msgstr "Rabu" - -#: lib/object.php:414 templates/calendar.php:5 -msgid "Thursday" -msgstr "Khamis" - -#: lib/object.php:415 templates/calendar.php:5 -msgid "Friday" -msgstr "Jumaat" - -#: lib/object.php:416 templates/calendar.php:5 -msgid "Saturday" -msgstr "Sabtu" - -#: lib/object.php:417 templates/calendar.php:5 templates/settings.php:70 -msgid "Sunday" -msgstr "Ahad" - -#: lib/object.php:427 -msgid "events week of month" -msgstr "event minggu dari bulan" - -#: lib/object.php:428 -msgid "first" -msgstr "pertama" - -#: lib/object.php:429 -msgid "second" -msgstr "kedua" - -#: lib/object.php:430 -msgid "third" -msgstr "ketiga" - -#: lib/object.php:431 -msgid "fourth" -msgstr "keempat" - -#: lib/object.php:432 -msgid "fifth" -msgstr "kelima" - -#: lib/object.php:433 -msgid "last" -msgstr "akhir" - -#: lib/object.php:467 templates/calendar.php:7 -msgid "January" -msgstr "Januari" - -#: lib/object.php:468 templates/calendar.php:7 -msgid "February" -msgstr "Februari" - -#: lib/object.php:469 templates/calendar.php:7 -msgid "March" -msgstr "Mac" - -#: lib/object.php:470 templates/calendar.php:7 -msgid "April" -msgstr "April" - -#: lib/object.php:471 templates/calendar.php:7 -msgid "May" -msgstr "Mei" - -#: lib/object.php:472 templates/calendar.php:7 -msgid "June" -msgstr "Jun" - -#: lib/object.php:473 templates/calendar.php:7 -msgid "July" -msgstr "Julai" - -#: lib/object.php:474 templates/calendar.php:7 -msgid "August" -msgstr "Ogos" - -#: lib/object.php:475 templates/calendar.php:7 -msgid "September" -msgstr "September" - -#: lib/object.php:476 templates/calendar.php:7 -msgid "October" -msgstr "Oktober" - -#: lib/object.php:477 templates/calendar.php:7 -msgid "November" -msgstr "November" - -#: lib/object.php:478 templates/calendar.php:7 -msgid "December" -msgstr "Disember" - -#: lib/object.php:488 -msgid "by events date" -msgstr "dari tarikh event" - -#: lib/object.php:489 -msgid "by yearday(s)" -msgstr "dari tahun" - -#: lib/object.php:490 -msgid "by weeknumber(s)" -msgstr "dari nombor minggu" - -#: lib/object.php:491 -msgid "by day and month" -msgstr "dari hari dan bulan" - -#: lib/search.php:35 lib/search.php:37 lib/search.php:40 -msgid "Date" -msgstr "Tarikh" - -#: lib/search.php:43 -msgid "Cal." -msgstr "Kalendar" - -#: templates/calendar.php:6 -msgid "Sun." -msgstr "" - -#: templates/calendar.php:6 -msgid "Mon." -msgstr "" - -#: templates/calendar.php:6 -msgid "Tue." -msgstr "" - -#: templates/calendar.php:6 -msgid "Wed." -msgstr "" - -#: templates/calendar.php:6 -msgid "Thu." -msgstr "" - -#: templates/calendar.php:6 -msgid "Fri." -msgstr "" - -#: templates/calendar.php:6 -msgid "Sat." -msgstr "" - -#: templates/calendar.php:8 -msgid "Jan." -msgstr "" - -#: templates/calendar.php:8 -msgid "Feb." -msgstr "" - -#: templates/calendar.php:8 -msgid "Mar." -msgstr "" - -#: templates/calendar.php:8 -msgid "Apr." -msgstr "" - -#: templates/calendar.php:8 -msgid "May." -msgstr "" - -#: templates/calendar.php:8 -msgid "Jun." -msgstr "" - -#: templates/calendar.php:8 -msgid "Jul." -msgstr "" - -#: templates/calendar.php:8 -msgid "Aug." -msgstr "" - -#: templates/calendar.php:8 -msgid "Sep." -msgstr "" - -#: templates/calendar.php:8 -msgid "Oct." -msgstr "" - -#: templates/calendar.php:8 -msgid "Nov." -msgstr "" - -#: templates/calendar.php:8 -msgid "Dec." -msgstr "" - -#: templates/calendar.php:11 -msgid "All day" -msgstr "Sepanjang hari" - -#: templates/calendar.php:13 -msgid "Missing fields" -msgstr "Ruangan tertinggal" - -#: templates/calendar.php:14 templates/part.eventform.php:19 -#: templates/part.showevent.php:11 -msgid "Title" -msgstr "Tajuk" - -#: templates/calendar.php:16 -msgid "From Date" -msgstr "Dari tarikh" - -#: templates/calendar.php:17 -msgid "From Time" -msgstr "Masa Dari" - -#: templates/calendar.php:18 -msgid "To Date" -msgstr "Sehingga kini" - -#: templates/calendar.php:19 -msgid "To Time" -msgstr "Semasa" - -#: templates/calendar.php:20 -msgid "The event ends before it starts" -msgstr "Peristiwa berakhir sebelum bermula" - -#: templates/calendar.php:21 -msgid "There was a database fail" -msgstr "Terdapat kegagalan pada pengkalan data" - -#: templates/calendar.php:39 -msgid "Week" -msgstr "Minggu" - -#: templates/calendar.php:40 -msgid "Month" -msgstr "Bulan" - -#: templates/calendar.php:41 -msgid "List" -msgstr "Senarai" - -#: templates/calendar.php:45 -msgid "Today" -msgstr "Hari ini" - -#: templates/calendar.php:46 templates/calendar.php:47 -msgid "Settings" -msgstr "" - -#: templates/part.choosecalendar.php:2 -msgid "Your calendars" -msgstr "Kalendar anda" - -#: templates/part.choosecalendar.php:27 -#: templates/part.choosecalendar.rowfields.php:11 -msgid "CalDav Link" -msgstr "Pautan CalDav" - -#: templates/part.choosecalendar.php:31 -msgid "Shared calendars" -msgstr "Kalendar Kongsian" - -#: templates/part.choosecalendar.php:48 -msgid "No shared calendars" -msgstr "Tiada kalendar kongsian" - -#: templates/part.choosecalendar.rowfields.php:8 -msgid "Share Calendar" -msgstr "Kongsi Kalendar" - -#: templates/part.choosecalendar.rowfields.php:14 -msgid "Download" -msgstr "Muat turun" - -#: templates/part.choosecalendar.rowfields.php:17 -msgid "Edit" -msgstr "Edit" - -#: templates/part.choosecalendar.rowfields.php:20 -#: templates/part.editevent.php:9 -msgid "Delete" -msgstr "Hapus" - -#: templates/part.choosecalendar.rowfields.shared.php:4 -msgid "shared with you by" -msgstr "dikongsi dengan kamu oleh" - -#: templates/part.editcalendar.php:9 -msgid "New calendar" -msgstr "Kalendar baru" - -#: templates/part.editcalendar.php:9 -msgid "Edit calendar" -msgstr "Edit kalendar" - -#: templates/part.editcalendar.php:12 -msgid "Displayname" -msgstr "Paparan nama" - -#: templates/part.editcalendar.php:23 -msgid "Active" -msgstr "Aktif" - -#: templates/part.editcalendar.php:29 -msgid "Calendar color" -msgstr "Warna kalendar" - -#: templates/part.editcalendar.php:42 -msgid "Save" -msgstr "Simpan" - -#: templates/part.editcalendar.php:42 templates/part.editevent.php:8 -#: templates/part.newevent.php:6 -msgid "Submit" -msgstr "Hantar" - -#: templates/part.editcalendar.php:43 -msgid "Cancel" -msgstr "Batal" - -#: templates/part.editevent.php:1 -msgid "Edit an event" -msgstr "Edit agenda" - -#: templates/part.editevent.php:10 -msgid "Export" -msgstr "Export" - -#: templates/part.eventform.php:8 templates/part.showevent.php:3 -msgid "Eventinfo" -msgstr "Maklumat agenda" - -#: templates/part.eventform.php:9 templates/part.showevent.php:4 -msgid "Repeating" -msgstr "Pengulangan" - -#: templates/part.eventform.php:10 templates/part.showevent.php:5 -msgid "Alarm" -msgstr "Penggera" - -#: templates/part.eventform.php:11 templates/part.showevent.php:6 -msgid "Attendees" -msgstr "Jemputan" - -#: templates/part.eventform.php:13 -msgid "Share" -msgstr "Berkongsi" - -#: templates/part.eventform.php:21 -msgid "Title of the Event" -msgstr "Tajuk agenda" - -#: templates/part.eventform.php:27 templates/part.showevent.php:19 -msgid "Category" -msgstr "kategori" - -#: templates/part.eventform.php:29 -msgid "Separate categories with commas" -msgstr "Asingkan kategori dengan koma" - -#: templates/part.eventform.php:30 -msgid "Edit categories" -msgstr "Sunting Kategori" - -#: templates/part.eventform.php:56 templates/part.showevent.php:52 -msgid "All Day Event" -msgstr "Agenda di sepanjang hari " - -#: templates/part.eventform.php:60 templates/part.showevent.php:56 -msgid "From" -msgstr "Dari" - -#: templates/part.eventform.php:68 templates/part.showevent.php:64 -msgid "To" -msgstr "ke" - -#: templates/part.eventform.php:76 templates/part.showevent.php:72 -msgid "Advanced options" -msgstr "Pilihan maju" - -#: templates/part.eventform.php:81 templates/part.showevent.php:77 -msgid "Location" -msgstr "Lokasi" - -#: templates/part.eventform.php:83 -msgid "Location of the Event" -msgstr "Lokasi agenda" - -#: templates/part.eventform.php:89 templates/part.showevent.php:85 -msgid "Description" -msgstr "Huraian" - -#: templates/part.eventform.php:91 -msgid "Description of the Event" -msgstr "Huraian agenda" - -#: templates/part.eventform.php:100 templates/part.showevent.php:95 -msgid "Repeat" -msgstr "Ulang" - -#: templates/part.eventform.php:107 templates/part.showevent.php:102 -msgid "Advanced" -msgstr "Maju" - -#: templates/part.eventform.php:151 templates/part.showevent.php:146 -msgid "Select weekdays" -msgstr "Pilih hari minggu" - -#: templates/part.eventform.php:164 templates/part.eventform.php:177 -#: templates/part.showevent.php:159 templates/part.showevent.php:172 -msgid "Select days" -msgstr "Pilih hari" - -#: templates/part.eventform.php:169 templates/part.showevent.php:164 -msgid "and the events day of year." -msgstr "dan hari event dalam tahun." - -#: templates/part.eventform.php:182 templates/part.showevent.php:177 -msgid "and the events day of month." -msgstr "dan hari event dalam bulan." - -#: templates/part.eventform.php:190 templates/part.showevent.php:185 -msgid "Select months" -msgstr "Pilih bulan" - -#: templates/part.eventform.php:203 templates/part.showevent.php:198 -msgid "Select weeks" -msgstr "Pilih minggu" - -#: templates/part.eventform.php:208 templates/part.showevent.php:203 -msgid "and the events week of year." -msgstr "dan event mingguan dalam setahun." - -#: templates/part.eventform.php:214 templates/part.showevent.php:209 -msgid "Interval" -msgstr "Tempoh" - -#: templates/part.eventform.php:220 templates/part.showevent.php:215 -msgid "End" -msgstr "Tamat" - -#: templates/part.eventform.php:233 templates/part.showevent.php:228 -msgid "occurrences" -msgstr "Peristiwa" - -#: templates/part.import.php:14 -msgid "create a new calendar" -msgstr "Cipta kalendar baru" - -#: templates/part.import.php:17 -msgid "Import a calendar file" -msgstr "Import fail kalendar" - -#: templates/part.import.php:24 -msgid "Please choose a calendar" -msgstr "" - -#: templates/part.import.php:36 -msgid "Name of new calendar" -msgstr "Nama kalendar baru" - -#: templates/part.import.php:44 -msgid "Take an available name!" -msgstr "" - -#: templates/part.import.php:45 -msgid "" -"A Calendar with this name already exists. If you continue anyhow, these " -"calendars will be merged." -msgstr "" - -#: templates/part.import.php:47 -msgid "Import" -msgstr "Import" - -#: templates/part.import.php:56 -msgid "Close Dialog" -msgstr "Tutup dialog" - -#: templates/part.newevent.php:1 -msgid "Create a new event" -msgstr "Buat agenda baru" - -#: templates/part.showevent.php:1 -msgid "View an event" -msgstr "Papar peristiwa" - -#: templates/part.showevent.php:23 -msgid "No categories selected" -msgstr "Tiada kategori dipilih" - -#: templates/part.showevent.php:37 -msgid "of" -msgstr "dari" - -#: templates/part.showevent.php:59 templates/part.showevent.php:67 -msgid "at" -msgstr "di" - -#: templates/settings.php:10 -msgid "General" -msgstr "" - -#: templates/settings.php:15 -msgid "Timezone" -msgstr "Zon waktu" - -#: templates/settings.php:47 -msgid "Update timezone automatically" -msgstr "" - -#: templates/settings.php:52 -msgid "Time format" -msgstr "" - -#: templates/settings.php:57 -msgid "24h" -msgstr "24h" - -#: templates/settings.php:58 -msgid "12h" -msgstr "12h" - -#: templates/settings.php:64 -msgid "Start week on" -msgstr "" - -#: templates/settings.php:76 -msgid "Cache" -msgstr "" - -#: templates/settings.php:80 -msgid "Clear cache for repeating events" -msgstr "" - -#: templates/settings.php:85 -msgid "URLs" -msgstr "" - -#: templates/settings.php:87 -msgid "Calendar CalDAV syncing addresses" -msgstr "" - -#: templates/settings.php:87 -msgid "more info" -msgstr "" - -#: templates/settings.php:89 -msgid "Primary address (Kontact et al)" -msgstr "" - -#: templates/settings.php:91 -msgid "iOS/OS X" -msgstr "" - -#: templates/settings.php:93 -msgid "Read only iCalendar link(s)" -msgstr "" - -#: templates/share.dropdown.php:20 -msgid "Users" -msgstr "Pengguna" - -#: templates/share.dropdown.php:21 -msgid "select users" -msgstr "Pilih pengguna" - -#: templates/share.dropdown.php:36 templates/share.dropdown.php:62 -msgid "Editable" -msgstr "Boleh disunting" - -#: templates/share.dropdown.php:48 -msgid "Groups" -msgstr "Kumpulan-kumpulan" - -#: templates/share.dropdown.php:49 -msgid "select groups" -msgstr "pilih kumpulan-kumpulan" - -#: templates/share.dropdown.php:75 -msgid "make public" -msgstr "jadikan tontonan awam" diff --git a/l10n/ms_MY/contacts.po b/l10n/ms_MY/contacts.po deleted file mode 100644 index f3b425c71f262671b025ff920ef9849a727cd7a2..0000000000000000000000000000000000000000 --- a/l10n/ms_MY/contacts.po +++ /dev/null @@ -1,957 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Ahmed Noor Kader Mustajir Md Eusoff , 2012. -# , 2012. -# Hadri Hilmi , 2012. -# Hafiz Ismail , 2012. -# Zulhilmi Rosnin , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-24 02:02+0200\n" -"PO-Revision-Date: 2012-08-24 00:02+0000\n" -"Last-Translator: I Robot \n" -"Language-Team: Malay (Malaysia) (http://www.transifex.com/projects/p/owncloud/language/ms_MY/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ms_MY\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: ajax/addressbook/activate.php:24 ajax/addressbook/update.php:32 -msgid "Error (de)activating addressbook." -msgstr "Ralat nyahaktif buku alamat." - -#: ajax/addressbook/delete.php:31 ajax/addressbook/update.php:20 -#: ajax/contact/addproperty.php:42 ajax/contact/delete.php:32 -#: ajax/contact/saveproperty.php:39 -msgid "id is not set." -msgstr "ID tidak ditetapkan." - -#: ajax/addressbook/update.php:24 -msgid "Cannot update addressbook with an empty name." -msgstr "Tidak boleh kemaskini buku alamat dengan nama yang kosong." - -#: ajax/addressbook/update.php:28 -msgid "Error updating addressbook." -msgstr "Masalah mengemaskini buku alamat." - -#: ajax/categories/categoriesfor.php:17 -msgid "No ID provided" -msgstr "tiada ID diberi" - -#: ajax/categories/categoriesfor.php:34 -msgid "Error setting checksum." -msgstr "Ralat menetapkan checksum." - -#: ajax/categories/delete.php:19 -msgid "No categories selected for deletion." -msgstr "Tiada kategori dipilih untuk dibuang." - -#: ajax/categories/delete.php:26 -msgid "No address books found." -msgstr "Tiada buku alamat dijumpai." - -#: ajax/categories/delete.php:34 -msgid "No contacts found." -msgstr "Tiada kenalan dijumpai." - -#: ajax/contact/add.php:47 -msgid "There was an error adding the contact." -msgstr "Terdapat masalah menambah maklumat." - -#: ajax/contact/addproperty.php:39 ajax/contact/saveproperty.php:36 -msgid "element name is not set." -msgstr "nama elemen tidak ditetapkan." - -#: ajax/contact/addproperty.php:46 -msgid "Could not parse contact: " -msgstr "" - -#: ajax/contact/addproperty.php:56 -msgid "Cannot add empty property." -msgstr "Tidak boleh menambah ruang kosong." - -#: ajax/contact/addproperty.php:67 -msgid "At least one of the address fields has to be filled out." -msgstr "Sekurangnya satu ruangan alamat perlu diisikan." - -#: ajax/contact/addproperty.php:76 -msgid "Trying to add duplicate property: " -msgstr "Cuba untuk letak nilai duplikasi:" - -#: ajax/contact/addproperty.php:115 ajax/contact/saveproperty.php:93 -msgid "Missing IM parameter." -msgstr "" - -#: ajax/contact/addproperty.php:119 ajax/contact/saveproperty.php:97 -msgid "Unknown IM: " -msgstr "" - -#: ajax/contact/deleteproperty.php:37 -msgid "Information about vCard is incorrect. Please reload the page." -msgstr "Maklumat vCard tidak tepat. Sila reload semula halaman ini." - -#: ajax/contact/details.php:31 -msgid "Missing ID" -msgstr "ID Hilang" - -#: ajax/contact/details.php:36 -msgid "Error parsing VCard for ID: \"" -msgstr "Ralat VCard untuk ID: \"" - -#: ajax/contact/saveproperty.php:42 -msgid "checksum is not set." -msgstr "checksum tidak ditetapkan." - -#: ajax/contact/saveproperty.php:62 -msgid "Information about vCard is incorrect. Please reload the page: " -msgstr "Maklumat tentang vCard tidak betul." - -#: ajax/contact/saveproperty.php:69 -msgid "Something went FUBAR. " -msgstr "Sesuatu tidak betul." - -#: ajax/currentphoto.php:30 ajax/oc_photo.php:28 ajax/uploadphoto.php:36 -#: ajax/uploadphoto.php:68 -msgid "No contact ID was submitted." -msgstr "Tiada ID kenalan yang diberi." - -#: ajax/currentphoto.php:36 -msgid "Error reading contact photo." -msgstr "Ralat pada foto kenalan." - -#: ajax/currentphoto.php:48 -msgid "Error saving temporary file." -msgstr "Ralat menyimpan fail sementara" - -#: ajax/currentphoto.php:51 -msgid "The loading photo is not valid." -msgstr "Foto muatan tidak sah." - -#: ajax/editname.php:31 -msgid "Contact ID is missing." -msgstr "ID Kenalan telah hilang." - -#: ajax/oc_photo.php:32 -msgid "No photo path was submitted." -msgstr "Tiada direktori gambar yang diberi." - -#: ajax/oc_photo.php:39 -msgid "File doesn't exist:" -msgstr "Fail tidak wujud:" - -#: ajax/oc_photo.php:44 ajax/oc_photo.php:47 -msgid "Error loading image." -msgstr "Ralat pada muatan imej." - -#: ajax/savecrop.php:69 -msgid "Error getting contact object." -msgstr "Ralat mendapatkan objek pada kenalan." - -#: ajax/savecrop.php:79 -msgid "Error getting PHOTO property." -msgstr "Ralat mendapatkan maklumat gambar." - -#: ajax/savecrop.php:98 -msgid "Error saving contact." -msgstr "Ralat menyimpan kenalan." - -#: ajax/savecrop.php:109 -msgid "Error resizing image" -msgstr "Ralat mengubah saiz imej" - -#: ajax/savecrop.php:112 -msgid "Error cropping image" -msgstr "Ralat memotong imej" - -#: ajax/savecrop.php:115 -msgid "Error creating temporary image" -msgstr "Ralat mencipta imej sementara" - -#: ajax/savecrop.php:118 -msgid "Error finding image: " -msgstr "Ralat mencari imej: " - -#: ajax/uploadimport.php:44 ajax/uploadimport.php:76 -msgid "Error uploading contacts to storage." -msgstr "Ralat memuatnaik senarai kenalan." - -#: ajax/uploadimport.php:61 ajax/uploadphoto.php:77 -msgid "There is no error, the file uploaded with success" -msgstr "Tiada ralat berlaku, fail berjaya dimuatnaik" - -#: ajax/uploadimport.php:62 ajax/uploadphoto.php:78 -msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" -msgstr "Saiz fail yang dimuatnaik melebihi upload_max_filesize yang ditetapkan dalam php.ini" - -#: ajax/uploadimport.php:63 ajax/uploadphoto.php:79 -msgid "" -"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " -"the HTML form" -msgstr "Saiz fail yang dimuatnaik melebihi MAX_FILE_SIZE yang ditetapkan dalam borang HTML" - -#: ajax/uploadimport.php:64 ajax/uploadphoto.php:80 -msgid "The uploaded file was only partially uploaded" -msgstr "Fail yang dimuatnaik tidak lengkap" - -#: ajax/uploadimport.php:65 ajax/uploadphoto.php:81 -msgid "No file was uploaded" -msgstr "Tiada fail dimuatnaik" - -#: ajax/uploadimport.php:66 ajax/uploadphoto.php:82 -msgid "Missing a temporary folder" -msgstr "Direktori sementara hilang" - -#: ajax/uploadphoto.php:59 ajax/uploadphoto.php:109 -msgid "Couldn't save temporary image: " -msgstr "Tidak boleh menyimpan imej sementara: " - -#: ajax/uploadphoto.php:62 ajax/uploadphoto.php:112 -msgid "Couldn't load temporary image: " -msgstr "Tidak boleh membuka imej sementara: " - -#: ajax/uploadphoto.php:71 -msgid "No file was uploaded. Unknown error" -msgstr "Tiada fail dimuatnaik. Ralat tidak diketahui." - -#: appinfo/app.php:21 -msgid "Contacts" -msgstr "Hubungan-hubungan" - -#: js/contacts.js:71 -msgid "Sorry, this functionality has not been implemented yet" -msgstr "Maaf, fungsi ini masih belum boleh diguna lagi" - -#: js/contacts.js:71 -msgid "Not implemented" -msgstr "Tidak digunakan" - -#: js/contacts.js:76 -msgid "Couldn't get a valid address." -msgstr "Tidak boleh mendapat alamat yang sah." - -#: js/contacts.js:76 js/contacts.js:365 js/contacts.js:381 js/contacts.js:393 -#: js/contacts.js:723 js/contacts.js:763 js/contacts.js:789 js/contacts.js:921 -#: js/contacts.js:927 js/contacts.js:939 js/contacts.js:976 -#: js/contacts.js:1250 js/contacts.js:1258 js/contacts.js:1267 -#: js/contacts.js:1302 js/contacts.js:1338 js/contacts.js:1353 -#: js/contacts.js:1379 js/contacts.js:1609 js/contacts.js:1644 -#: js/contacts.js:1664 js/settings.js:26 js/settings.js:43 js/settings.js:68 -msgid "Error" -msgstr "Ralat" - -#: js/contacts.js:424 -msgid "You do not have permission to add contacts to " -msgstr "" - -#: js/contacts.js:425 -msgid "Please select one of your own address books." -msgstr "" - -#: js/contacts.js:425 -msgid "Permission error" -msgstr "" - -#: js/contacts.js:763 -msgid "This property has to be non-empty." -msgstr "Nilai ini tidak boleh kosong." - -#: js/contacts.js:789 -msgid "Couldn't serialize elements." -msgstr "Tidak boleh menggabungkan elemen." - -#: js/contacts.js:921 js/contacts.js:939 -msgid "" -"'deleteProperty' called without type argument. Please report at " -"bugs.owncloud.org" -msgstr "'deleteProperty' dipanggil tanpa argumen taip. Sila maklumkan di bugs.owncloud.org" - -#: js/contacts.js:958 -msgid "Edit name" -msgstr "Ubah nama" - -#: js/contacts.js:1250 -msgid "No files selected for upload." -msgstr "Tiada fail dipilih untuk muatnaik." - -#: js/contacts.js:1258 -msgid "" -"The file you are trying to upload exceed the maximum size for file uploads " -"on this server." -msgstr "Fail yang ingin dimuatnaik melebihi saiz yang dibenarkan." - -#: js/contacts.js:1322 -msgid "Error loading profile picture." -msgstr "" - -#: js/contacts.js:1457 js/contacts.js:1498 js/contacts.js:1517 -#: js/contacts.js:1560 -msgid "Select type" -msgstr "PIlih jenis" - -#: js/contacts.js:1578 -msgid "" -"Some contacts are marked for deletion, but not deleted yet. Please wait for " -"them to be deleted." -msgstr "" - -#: js/contacts.js:1649 -msgid "Do you want to merge these address books?" -msgstr "" - -#: js/loader.js:49 -msgid "Result: " -msgstr "Hasil: " - -#: js/loader.js:49 -msgid " imported, " -msgstr " import, " - -#: js/loader.js:49 -msgid " failed." -msgstr " gagal." - -#: js/settings.js:68 -msgid "Displayname cannot be empty." -msgstr "" - -#: lib/app.php:36 -msgid "Addressbook not found: " -msgstr "Buku alamat tidak ditemui:" - -#: lib/app.php:52 -msgid "This is not your addressbook." -msgstr "Ini bukan buku alamat anda." - -#: lib/app.php:71 -msgid "Contact could not be found." -msgstr "Hubungan tidak dapat ditemui" - -#: lib/app.php:116 -msgid "Jabber" -msgstr "" - -#: lib/app.php:121 -msgid "AIM" -msgstr "" - -#: lib/app.php:126 -msgid "MSN" -msgstr "" - -#: lib/app.php:131 -msgid "Twitter" -msgstr "" - -#: lib/app.php:136 -msgid "GoogleTalk" -msgstr "" - -#: lib/app.php:141 -msgid "Facebook" -msgstr "" - -#: lib/app.php:146 -msgid "XMPP" -msgstr "" - -#: lib/app.php:151 -msgid "ICQ" -msgstr "" - -#: lib/app.php:156 -msgid "Yahoo" -msgstr "" - -#: lib/app.php:161 -msgid "Skype" -msgstr "" - -#: lib/app.php:166 -msgid "QQ" -msgstr "" - -#: lib/app.php:171 -msgid "GaduGadu" -msgstr "" - -#: lib/app.php:194 lib/app.php:202 lib/app.php:213 lib/app.php:266 -msgid "Work" -msgstr "Kerja" - -#: lib/app.php:195 lib/app.php:200 lib/app.php:214 -msgid "Home" -msgstr "Rumah" - -#: lib/app.php:196 lib/app.php:209 lib/app.php:262 lib/vcard.php:593 -msgid "Other" -msgstr "Lain" - -#: lib/app.php:201 -msgid "Mobile" -msgstr "Mudah alih" - -#: lib/app.php:203 -msgid "Text" -msgstr "Teks" - -#: lib/app.php:204 -msgid "Voice" -msgstr "Suara" - -#: lib/app.php:205 -msgid "Message" -msgstr "Mesej" - -#: lib/app.php:206 -msgid "Fax" -msgstr "Fax" - -#: lib/app.php:207 -msgid "Video" -msgstr "Video" - -#: lib/app.php:208 -msgid "Pager" -msgstr "Alat Kelui" - -#: lib/app.php:215 -msgid "Internet" -msgstr "Internet" - -#: lib/app.php:252 templates/part.contact.php:45 -#: templates/part.contact.php:128 -msgid "Birthday" -msgstr "Hari lahir" - -#: lib/app.php:253 -msgid "Business" -msgstr "Perniagaan" - -#: lib/app.php:254 -msgid "Call" -msgstr "" - -#: lib/app.php:255 -msgid "Clients" -msgstr "klien" - -#: lib/app.php:256 -msgid "Deliverer" -msgstr "" - -#: lib/app.php:257 -msgid "Holidays" -msgstr "Hari kelepasan" - -#: lib/app.php:258 -msgid "Ideas" -msgstr "Idea" - -#: lib/app.php:259 -msgid "Journey" -msgstr "Perjalanan" - -#: lib/app.php:260 -msgid "Jubilee" -msgstr "Jubli" - -#: lib/app.php:261 -msgid "Meeting" -msgstr "Mesyuarat" - -#: lib/app.php:263 -msgid "Personal" -msgstr "Peribadi" - -#: lib/app.php:264 -msgid "Projects" -msgstr "Projek" - -#: lib/app.php:265 -msgid "Questions" -msgstr "" - -#: lib/hooks.php:102 -msgid "{name}'s Birthday" -msgstr "Hari Lahir {name}" - -#: lib/search.php:15 -msgid "Contact" -msgstr "Hubungan" - -#: lib/vcard.php:408 -msgid "You do not have the permissions to edit this contact." -msgstr "" - -#: lib/vcard.php:483 -msgid "You do not have the permissions to delete this contact." -msgstr "" - -#: templates/index.php:14 -msgid "Add Contact" -msgstr "Tambah kenalan" - -#: templates/index.php:15 templates/index.php:16 templates/part.import.php:17 -msgid "Import" -msgstr "Import" - -#: templates/index.php:18 -msgid "Settings" -msgstr "Tetapan" - -#: templates/index.php:18 templates/settings.php:9 -msgid "Addressbooks" -msgstr "Senarai Buku Alamat" - -#: templates/index.php:36 templates/part.import.php:24 -msgid "Close" -msgstr "Tutup" - -#: templates/index.php:37 -msgid "Keyboard shortcuts" -msgstr "" - -#: templates/index.php:39 -msgid "Navigation" -msgstr "" - -#: templates/index.php:42 -msgid "Next contact in list" -msgstr "" - -#: templates/index.php:44 -msgid "Previous contact in list" -msgstr "" - -#: templates/index.php:46 -msgid "Expand/collapse current addressbook" -msgstr "" - -#: templates/index.php:48 -msgid "Next addressbook" -msgstr "Buku alamat seterusnya" - -#: templates/index.php:50 -msgid "Previous addressbook" -msgstr "Buku alamat sebelumnya" - -#: templates/index.php:54 -msgid "Actions" -msgstr "" - -#: templates/index.php:57 -msgid "Refresh contacts list" -msgstr "" - -#: templates/index.php:59 -msgid "Add new contact" -msgstr "" - -#: templates/index.php:61 -msgid "Add new addressbook" -msgstr "" - -#: templates/index.php:63 -msgid "Delete current contact" -msgstr "" - -#: templates/part.contact.php:17 -msgid "Drop photo to upload" -msgstr "Letak foto disini untuk muatnaik" - -#: templates/part.contact.php:19 -msgid "Delete current photo" -msgstr "Padam foto semasa" - -#: templates/part.contact.php:20 -msgid "Edit current photo" -msgstr "Ubah foto semasa" - -#: templates/part.contact.php:21 -msgid "Upload new photo" -msgstr "Muatnaik foto baru" - -#: templates/part.contact.php:22 -msgid "Select photo from ownCloud" -msgstr "Pilih foto dari ownCloud" - -#: templates/part.contact.php:35 -msgid "Format custom, Short name, Full name, Reverse or Reverse with comma" -msgstr "Format bebas, Nama pendek, Nama penuh, Unduran dengan koma" - -#: templates/part.contact.php:36 -msgid "Edit name details" -msgstr "Ubah butiran nama" - -#: templates/part.contact.php:39 templates/part.contact.php:40 -#: templates/part.contact.php:126 -msgid "Organization" -msgstr "Organisasi" - -#: templates/part.contact.php:40 templates/part.contact.php:42 -#: templates/part.contact.php:44 templates/part.contact.php:46 -#: templates/part.contact.php:50 templates/settings.php:36 -msgid "Delete" -msgstr "Padam" - -#: templates/part.contact.php:41 templates/part.contact.php:127 -msgid "Nickname" -msgstr "Nama Samaran" - -#: templates/part.contact.php:42 -msgid "Enter nickname" -msgstr "Masukkan nama samaran" - -#: templates/part.contact.php:43 templates/part.contact.php:134 -msgid "Web site" -msgstr "" - -#: templates/part.contact.php:44 -msgid "http://www.somesite.com" -msgstr "" - -#: templates/part.contact.php:44 -msgid "Go to web site" -msgstr "" - -#: templates/part.contact.php:46 -msgid "dd-mm-yyyy" -msgstr "dd-mm-yyyy" - -#: templates/part.contact.php:47 templates/part.contact.php:135 -msgid "Groups" -msgstr "Kumpulan" - -#: templates/part.contact.php:49 -msgid "Separate groups with commas" -msgstr "Asingkan kumpulan dengan koma" - -#: templates/part.contact.php:50 -msgid "Edit groups" -msgstr "Ubah kumpulan" - -#: templates/part.contact.php:59 templates/part.contact.php:73 -#: templates/part.contact.php:98 -msgid "Preferred" -msgstr "Pilihan" - -#: templates/part.contact.php:60 -msgid "Please specify a valid email address." -msgstr "Berikan alamat emel yang sah." - -#: templates/part.contact.php:60 -msgid "Enter email address" -msgstr "Masukkan alamat emel" - -#: templates/part.contact.php:64 -msgid "Mail to address" -msgstr "Hantar ke alamat" - -#: templates/part.contact.php:65 -msgid "Delete email address" -msgstr "Padam alamat emel" - -#: templates/part.contact.php:75 -msgid "Enter phone number" -msgstr "Masukkan nombor telefon" - -#: templates/part.contact.php:79 -msgid "Delete phone number" -msgstr "Padam nombor telefon" - -#: templates/part.contact.php:100 -msgid "Instant Messenger" -msgstr "" - -#: templates/part.contact.php:101 -msgid "Delete IM" -msgstr "" - -#: templates/part.contact.php:110 -msgid "View on map" -msgstr "Lihat pada peta" - -#: templates/part.contact.php:110 -msgid "Edit address details" -msgstr "Ubah butiran alamat" - -#: templates/part.contact.php:116 -msgid "Add notes here." -msgstr "Letak nota disini." - -#: templates/part.contact.php:124 -msgid "Add field" -msgstr "Letak ruangan" - -#: templates/part.contact.php:129 -msgid "Phone" -msgstr "Telefon" - -#: templates/part.contact.php:130 -msgid "Email" -msgstr "Emel" - -#: templates/part.contact.php:131 -msgid "Instant Messaging" -msgstr "" - -#: templates/part.contact.php:132 -msgid "Address" -msgstr "Alamat" - -#: templates/part.contact.php:133 -msgid "Note" -msgstr "Nota" - -#: templates/part.contact.php:138 -msgid "Download contact" -msgstr "Muat turun hubungan" - -#: templates/part.contact.php:139 -msgid "Delete contact" -msgstr "Padam hubungan" - -#: templates/part.cropphoto.php:65 -msgid "The temporary image has been removed from cache." -msgstr "Imej sementara telah dibuang dari cache." - -#: templates/part.edit_address_dialog.php:6 -msgid "Edit address" -msgstr "Ubah alamat" - -#: templates/part.edit_address_dialog.php:10 -msgid "Type" -msgstr "Jenis" - -#: templates/part.edit_address_dialog.php:18 -#: templates/part.edit_address_dialog.php:21 -msgid "PO Box" -msgstr "Peti surat" - -#: templates/part.edit_address_dialog.php:24 -msgid "Street address" -msgstr "" - -#: templates/part.edit_address_dialog.php:27 -msgid "Street and number" -msgstr "" - -#: templates/part.edit_address_dialog.php:30 -msgid "Extended" -msgstr "Sambungan" - -#: templates/part.edit_address_dialog.php:33 -msgid "Apartment number etc." -msgstr "" - -#: templates/part.edit_address_dialog.php:36 -#: templates/part.edit_address_dialog.php:39 -msgid "City" -msgstr "bandar" - -#: templates/part.edit_address_dialog.php:42 -msgid "Region" -msgstr "Wilayah" - -#: templates/part.edit_address_dialog.php:45 -msgid "E.g. state or province" -msgstr "" - -#: templates/part.edit_address_dialog.php:48 -msgid "Zipcode" -msgstr "Poskod" - -#: templates/part.edit_address_dialog.php:51 -msgid "Postal code" -msgstr "" - -#: templates/part.edit_address_dialog.php:54 -#: templates/part.edit_address_dialog.php:57 -msgid "Country" -msgstr "Negara" - -#: templates/part.edit_name_dialog.php:16 -msgid "Addressbook" -msgstr "Buku alamat" - -#: templates/part.edit_name_dialog.php:23 -msgid "Hon. prefixes" -msgstr "Awalan nama" - -#: templates/part.edit_name_dialog.php:27 -msgid "Miss" -msgstr "Cik" - -#: templates/part.edit_name_dialog.php:28 -msgid "Ms" -msgstr "Cik" - -#: templates/part.edit_name_dialog.php:29 -msgid "Mr" -msgstr "Encik" - -#: templates/part.edit_name_dialog.php:30 -msgid "Sir" -msgstr "Tuan" - -#: templates/part.edit_name_dialog.php:31 -msgid "Mrs" -msgstr "Puan" - -#: templates/part.edit_name_dialog.php:32 -msgid "Dr" -msgstr "Dr" - -#: templates/part.edit_name_dialog.php:35 -msgid "Given name" -msgstr "Nama diberi" - -#: templates/part.edit_name_dialog.php:37 -msgid "Additional names" -msgstr "Nama tambahan" - -#: templates/part.edit_name_dialog.php:39 -msgid "Family name" -msgstr "Nama keluarga" - -#: templates/part.edit_name_dialog.php:41 -msgid "Hon. suffixes" -msgstr "Awalan nama" - -#: templates/part.edit_name_dialog.php:45 -msgid "J.D." -msgstr "J.D." - -#: templates/part.edit_name_dialog.php:46 -msgid "M.D." -msgstr "M.D." - -#: templates/part.edit_name_dialog.php:47 -msgid "D.O." -msgstr "D.O." - -#: templates/part.edit_name_dialog.php:48 -msgid "D.C." -msgstr "D.C." - -#: templates/part.edit_name_dialog.php:49 -msgid "Ph.D." -msgstr "Ph.D." - -#: templates/part.edit_name_dialog.php:50 -msgid "Esq." -msgstr "Esq." - -#: templates/part.edit_name_dialog.php:51 -msgid "Jr." -msgstr "Jr." - -#: templates/part.edit_name_dialog.php:52 -msgid "Sn." -msgstr "Sn." - -#: templates/part.import.php:1 -msgid "Import a contacts file" -msgstr "Import fail kenalan" - -#: templates/part.import.php:6 -msgid "Please choose the addressbook" -msgstr "Sila pilih buku alamat" - -#: templates/part.import.php:10 -msgid "create a new addressbook" -msgstr "Cipta buku alamat baru" - -#: templates/part.import.php:15 -msgid "Name of new addressbook" -msgstr "Nama buku alamat" - -#: templates/part.import.php:20 -msgid "Importing contacts" -msgstr "Import senarai kenalan" - -#: templates/part.no_contacts.php:3 -msgid "You have no contacts in your addressbook." -msgstr "Anda tidak mempunyai sebarang kenalan didalam buku alamat." - -#: templates/part.no_contacts.php:5 -msgid "Add contact" -msgstr "Letak kenalan" - -#: templates/part.selectaddressbook.php:1 -msgid "Select Address Books" -msgstr "Pilih Buku Alamat" - -#: templates/part.selectaddressbook.php:27 -msgid "Enter name" -msgstr "Masukkan nama" - -#: templates/part.selectaddressbook.php:29 -msgid "Enter description" -msgstr "Masukkan keterangan" - -#: templates/settings.php:3 -msgid "CardDAV syncing addresses" -msgstr "alamat selarian CardDAV" - -#: templates/settings.php:3 -msgid "more info" -msgstr "maklumat lanjut" - -#: templates/settings.php:5 -msgid "Primary address (Kontact et al)" -msgstr "Alamat utama" - -#: templates/settings.php:7 -msgid "iOS/OS X" -msgstr "iOS/OS X" - -#: templates/settings.php:20 -msgid "Show CardDav link" -msgstr "" - -#: templates/settings.php:23 -msgid "Show read-only VCF link" -msgstr "" - -#: templates/settings.php:26 -msgid "Share" -msgstr "" - -#: templates/settings.php:29 -msgid "Download" -msgstr "Muat naik" - -#: templates/settings.php:33 -msgid "Edit" -msgstr "Sunting" - -#: templates/settings.php:43 -msgid "New Address Book" -msgstr "Buku Alamat Baru" - -#: templates/settings.php:44 -msgid "Name" -msgstr "Nama" - -#: templates/settings.php:45 -msgid "Description" -msgstr "Keterangan" - -#: templates/settings.php:46 -msgid "Save" -msgstr "Simpan" - -#: templates/settings.php:47 -msgid "Cancel" -msgstr "Batal" - -#: templates/settings.php:52 -msgid "More..." -msgstr "Lagi..." diff --git a/l10n/ms_MY/core.po b/l10n/ms_MY/core.po index d336f9d5447c9de12b0cbda4353db7c6aca17f52..d333a3793792723c62580e2ed005b7f0aecfaaa9 100644 --- a/l10n/ms_MY/core.po +++ b/l10n/ms_MY/core.po @@ -10,9 +10,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-16 02:04+0200\n" -"PO-Revision-Date: 2012-10-16 00:05+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-11-16 00:02+0100\n" +"PO-Revision-Date: 2012-11-14 23:13+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Malay (Malaysia) (http://www.transifex.com/projects/p/owncloud/language/ms_MY/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -20,209 +20,241 @@ msgstr "" "Language: ms_MY\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: ajax/vcategories/add.php:23 ajax/vcategories/delete.php:23 -msgid "Application name not provided." -msgstr "nama applikasi tidak disediakan" +#: ajax/vcategories/add.php:26 ajax/vcategories/edit.php:25 +msgid "Category type not provided." +msgstr "" -#: ajax/vcategories/add.php:29 +#: ajax/vcategories/add.php:30 msgid "No category to add?" msgstr "Tiada kategori untuk di tambah?" -#: ajax/vcategories/add.php:36 +#: ajax/vcategories/add.php:37 msgid "This category already exists: " msgstr "Kategori ini telah wujud" -#: js/js.js:238 templates/layout.user.php:49 templates/layout.user.php:50 +#: ajax/vcategories/addToFavorites.php:26 ajax/vcategories/delete.php:27 +#: ajax/vcategories/favorites.php:24 +#: ajax/vcategories/removeFromFavorites.php:26 +msgid "Object type not provided." +msgstr "" + +#: ajax/vcategories/addToFavorites.php:30 +#: ajax/vcategories/removeFromFavorites.php:30 +#, php-format +msgid "%s ID not provided." +msgstr "" + +#: ajax/vcategories/addToFavorites.php:35 +#, php-format +msgid "Error adding %s to favorites." +msgstr "" + +#: ajax/vcategories/delete.php:35 js/oc-vcategories.js:136 +msgid "No categories selected for deletion." +msgstr "tiada kategori dipilih untuk penghapusan" + +#: ajax/vcategories/removeFromFavorites.php:35 +#, php-format +msgid "Error removing %s from favorites." +msgstr "" + +#: js/js.js:243 templates/layout.user.php:59 templates/layout.user.php:60 msgid "Settings" msgstr "Tetapan" -#: js/js.js:670 -msgid "January" -msgstr "Januari" +#: js/js.js:688 +msgid "seconds ago" +msgstr "" -#: js/js.js:670 -msgid "February" -msgstr "Februari" +#: js/js.js:689 +msgid "1 minute ago" +msgstr "" -#: js/js.js:670 -msgid "March" -msgstr "Mac" +#: js/js.js:690 +msgid "{minutes} minutes ago" +msgstr "" -#: js/js.js:670 -msgid "April" -msgstr "April" +#: js/js.js:691 +msgid "1 hour ago" +msgstr "" -#: js/js.js:670 -msgid "May" -msgstr "Mei" +#: js/js.js:692 +msgid "{hours} hours ago" +msgstr "" -#: js/js.js:670 -msgid "June" -msgstr "Jun" +#: js/js.js:693 +msgid "today" +msgstr "" -#: js/js.js:671 -msgid "July" -msgstr "Julai" +#: js/js.js:694 +msgid "yesterday" +msgstr "" -#: js/js.js:671 -msgid "August" -msgstr "Ogos" +#: js/js.js:695 +msgid "{days} days ago" +msgstr "" -#: js/js.js:671 -msgid "September" -msgstr "September" +#: js/js.js:696 +msgid "last month" +msgstr "" -#: js/js.js:671 -msgid "October" -msgstr "Oktober" +#: js/js.js:697 +msgid "{months} months ago" +msgstr "" -#: js/js.js:671 -msgid "November" -msgstr "November" +#: js/js.js:698 +msgid "months ago" +msgstr "" -#: js/js.js:671 -msgid "December" -msgstr "Disember" +#: js/js.js:699 +msgid "last year" +msgstr "" + +#: js/js.js:700 +msgid "years ago" +msgstr "" -#: js/oc-dialogs.js:123 +#: js/oc-dialogs.js:126 msgid "Choose" msgstr "" -#: js/oc-dialogs.js:143 js/oc-dialogs.js:163 +#: js/oc-dialogs.js:146 js/oc-dialogs.js:166 msgid "Cancel" msgstr "Batal" -#: js/oc-dialogs.js:159 +#: js/oc-dialogs.js:162 msgid "No" msgstr "Tidak" -#: js/oc-dialogs.js:160 +#: js/oc-dialogs.js:163 msgid "Yes" msgstr "Ya" -#: js/oc-dialogs.js:177 +#: js/oc-dialogs.js:180 msgid "Ok" msgstr "Ok" -#: js/oc-vcategories.js:68 -msgid "No categories selected for deletion." -msgstr "tiada kategori dipilih untuk penghapusan" +#: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102 +#: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162 +msgid "The object type is not specified." +msgstr "" -#: js/oc-vcategories.js:68 js/share.js:114 js/share.js:121 js/share.js:497 -#: js/share.js:509 +#: js/oc-vcategories.js:95 js/oc-vcategories.js:125 js/oc-vcategories.js:136 +#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:525 +#: js/share.js:537 msgid "Error" msgstr "Ralat" -#: js/share.js:103 +#: js/oc-vcategories.js:179 +msgid "The app name is not specified." +msgstr "" + +#: js/oc-vcategories.js:194 +msgid "The required file {file} is not installed!" +msgstr "" + +#: js/share.js:124 msgid "Error while sharing" msgstr "" -#: js/share.js:114 +#: js/share.js:135 msgid "Error while unsharing" msgstr "" -#: js/share.js:121 +#: js/share.js:142 msgid "Error while changing permissions" msgstr "" -#: js/share.js:130 -msgid "Shared with you and the group" -msgstr "" - -#: js/share.js:130 -msgid "by" +#: js/share.js:151 +msgid "Shared with you and the group {group} by {owner}" msgstr "" -#: js/share.js:132 -msgid "Shared with you by" +#: js/share.js:153 +msgid "Shared with you by {owner}" msgstr "" -#: js/share.js:137 +#: js/share.js:158 msgid "Share with" msgstr "" -#: js/share.js:142 +#: js/share.js:163 msgid "Share with link" msgstr "" -#: js/share.js:143 +#: js/share.js:164 msgid "Password protect" msgstr "" -#: js/share.js:147 templates/installation.php:42 templates/login.php:24 +#: js/share.js:168 templates/installation.php:42 templates/login.php:24 #: templates/verify.php:13 msgid "Password" msgstr "Kata laluan" -#: js/share.js:152 +#: js/share.js:173 msgid "Set expiration date" msgstr "" -#: js/share.js:153 +#: js/share.js:174 msgid "Expiration date" msgstr "" -#: js/share.js:185 +#: js/share.js:206 msgid "Share via email:" msgstr "" -#: js/share.js:187 +#: js/share.js:208 msgid "No people found" msgstr "" -#: js/share.js:214 +#: js/share.js:235 msgid "Resharing is not allowed" msgstr "" -#: js/share.js:250 -msgid "Shared in" -msgstr "" - -#: js/share.js:250 -msgid "with" +#: js/share.js:271 +msgid "Shared in {item} with {user}" msgstr "" -#: js/share.js:271 +#: js/share.js:292 msgid "Unshare" msgstr "" -#: js/share.js:283 +#: js/share.js:304 msgid "can edit" msgstr "" -#: js/share.js:285 +#: js/share.js:306 msgid "access control" msgstr "" -#: js/share.js:288 +#: js/share.js:309 msgid "create" msgstr "" -#: js/share.js:291 +#: js/share.js:312 msgid "update" msgstr "" -#: js/share.js:294 +#: js/share.js:315 msgid "delete" msgstr "" -#: js/share.js:297 +#: js/share.js:318 msgid "share" msgstr "" -#: js/share.js:322 js/share.js:484 +#: js/share.js:343 js/share.js:512 js/share.js:514 msgid "Password protected" msgstr "" -#: js/share.js:497 +#: js/share.js:525 msgid "Error unsetting expiration date" msgstr "" -#: js/share.js:509 +#: js/share.js:537 msgid "Error setting expiration date" msgstr "" -#: lostpassword/index.php:26 +#: lostpassword/controller.php:47 msgid "ownCloud password reset" msgstr "Set semula kata lalaun ownCloud" @@ -235,12 +267,12 @@ msgid "You will receive a link to reset your password via Email." msgstr "Anda akan menerima pautan untuk menetapkan semula kata laluan anda melalui emel" #: lostpassword/templates/lostpassword.php:5 -msgid "Requested" -msgstr "Meminta" +msgid "Reset email send." +msgstr "" #: lostpassword/templates/lostpassword.php:8 -msgid "Login failed!" -msgstr "Log masuk gagal!" +msgid "Request failed!" +msgstr "" #: lostpassword/templates/lostpassword.php:11 templates/installation.php:38 #: templates/login.php:20 @@ -299,13 +331,13 @@ msgstr "Awan tidak dijumpai" msgid "Edit categories" msgstr "Edit kategori" -#: templates/edit_categories_dialog.php:14 +#: templates/edit_categories_dialog.php:16 msgid "Add" msgstr "Tambah" #: templates/installation.php:23 templates/installation.php:31 msgid "Security Warning" -msgstr "" +msgstr "Amaran keselamatan" #: templates/installation.php:24 msgid "" @@ -373,11 +405,87 @@ msgstr "Hos pangkalan data" msgid "Finish setup" msgstr "Setup selesai" -#: templates/layout.guest.php:38 +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Sunday" +msgstr "Ahad" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Monday" +msgstr "Isnin" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Tuesday" +msgstr "Selasa" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Wednesday" +msgstr "Rabu" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Thursday" +msgstr "Khamis" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Friday" +msgstr "Jumaat" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Saturday" +msgstr "Sabtu" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "January" +msgstr "Januari" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "February" +msgstr "Februari" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "March" +msgstr "Mac" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "April" +msgstr "April" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "May" +msgstr "Mei" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "June" +msgstr "Jun" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "July" +msgstr "Julai" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "August" +msgstr "Ogos" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "September" +msgstr "September" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "October" +msgstr "Oktober" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "November" +msgstr "November" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "December" +msgstr "Disember" + +#: templates/layout.guest.php:41 msgid "web services under your control" msgstr "Perkhidmatan web di bawah kawalan anda" -#: templates/layout.user.php:34 +#: templates/layout.user.php:44 msgid "Log out" msgstr "Log keluar" diff --git a/l10n/ms_MY/files.po b/l10n/ms_MY/files.po index 49c390d75c49e5982f91fa94312f89956c6729c8..02844fd34d338a1c560727e120dfe2f2f9f50203 100644 --- a/l10n/ms_MY/files.po +++ b/l10n/ms_MY/files.po @@ -11,9 +11,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-09-26 13:19+0200\n" -"PO-Revision-Date: 2012-09-26 11:20+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-12-01 00:01+0100\n" +"PO-Revision-Date: 2012-11-30 23:02+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Malay (Malaysia) (http://www.transifex.com/projects/p/owncloud/language/ms_MY/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -26,194 +26,165 @@ msgid "There is no error, the file uploaded with success" msgstr "Tiada ralat, fail berjaya dimuat naik." #: ajax/upload.php:21 -msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" -msgstr "Fail yang dimuat naik melebihi penyata upload_max_filesize dalam php.ini" +msgid "" +"The uploaded file exceeds the upload_max_filesize directive in php.ini: " +msgstr "" -#: ajax/upload.php:22 +#: ajax/upload.php:23 msgid "" "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " "the HTML form" msgstr "Fail yang dimuat naik melebihi MAX_FILE_SIZE yang dinyatakan dalam form HTML " -#: ajax/upload.php:23 +#: ajax/upload.php:25 msgid "The uploaded file was only partially uploaded" msgstr "Sebahagian daripada fail telah dimuat naik. " -#: ajax/upload.php:24 +#: ajax/upload.php:26 msgid "No file was uploaded" msgstr "Tiada fail yang dimuat naik" -#: ajax/upload.php:25 +#: ajax/upload.php:27 msgid "Missing a temporary folder" msgstr "Folder sementara hilang" -#: ajax/upload.php:26 +#: ajax/upload.php:28 msgid "Failed to write to disk" msgstr "Gagal untuk disimpan" -#: appinfo/app.php:6 +#: appinfo/app.php:10 msgid "Files" msgstr "fail" -#: js/fileactions.js:108 templates/index.php:62 +#: js/fileactions.js:117 templates/index.php:83 templates/index.php:84 msgid "Unshare" msgstr "" -#: js/fileactions.js:110 templates/index.php:64 +#: js/fileactions.js:119 templates/index.php:89 templates/index.php:90 msgid "Delete" msgstr "Padam" -#: js/fileactions.js:182 +#: js/fileactions.js:181 msgid "Rename" msgstr "" -#: js/filelist.js:190 js/filelist.js:192 -msgid "already exists" -msgstr "Sudah wujud" +#: js/filelist.js:201 js/filelist.js:203 +msgid "{new_name} already exists" +msgstr "" -#: js/filelist.js:190 js/filelist.js:192 +#: js/filelist.js:201 js/filelist.js:203 msgid "replace" msgstr "ganti" -#: js/filelist.js:190 +#: js/filelist.js:201 msgid "suggest name" msgstr "" -#: js/filelist.js:190 js/filelist.js:192 +#: js/filelist.js:201 js/filelist.js:203 msgid "cancel" msgstr "Batal" -#: js/filelist.js:239 js/filelist.js:241 -msgid "replaced" -msgstr "diganti" +#: js/filelist.js:250 +msgid "replaced {new_name}" +msgstr "" -#: js/filelist.js:239 js/filelist.js:241 js/filelist.js:273 js/filelist.js:275 +#: js/filelist.js:250 js/filelist.js:252 js/filelist.js:284 js/filelist.js:286 msgid "undo" msgstr "" -#: js/filelist.js:241 -msgid "with" -msgstr "dengan" +#: js/filelist.js:252 +msgid "replaced {new_name} with {old_name}" +msgstr "" + +#: js/filelist.js:284 +msgid "unshared {files}" +msgstr "" -#: js/filelist.js:273 -msgid "unshared" +#: js/filelist.js:286 +msgid "deleted {files}" msgstr "" -#: js/filelist.js:275 -msgid "deleted" -msgstr "dihapus" +#: js/files.js:33 +msgid "" +"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not " +"allowed." +msgstr "" -#: js/files.js:179 +#: js/files.js:183 msgid "generating ZIP-file, it may take some time." msgstr "sedang menghasilkan fail ZIP, mungkin mengambil sedikit masa." -#: js/files.js:208 +#: js/files.js:218 msgid "Unable to upload your file as it is a directory or has 0 bytes" msgstr "Tidak boleh memuatnaik fail anda kerana mungkin ianya direktori atau saiz fail 0 bytes" -#: js/files.js:208 +#: js/files.js:218 msgid "Upload Error" msgstr "Muat naik ralat" -#: js/files.js:236 js/files.js:341 js/files.js:371 +#: js/files.js:235 +msgid "Close" +msgstr "Tutup" + +#: js/files.js:254 js/files.js:368 js/files.js:398 msgid "Pending" msgstr "Dalam proses" -#: js/files.js:256 +#: js/files.js:274 msgid "1 file uploading" msgstr "" -#: js/files.js:259 js/files.js:304 js/files.js:319 -msgid "files uploading" +#: js/files.js:277 js/files.js:331 js/files.js:346 +msgid "{count} files uploading" msgstr "" -#: js/files.js:322 js/files.js:355 +#: js/files.js:349 js/files.js:382 msgid "Upload cancelled." msgstr "Muatnaik dibatalkan." -#: js/files.js:424 +#: js/files.js:451 msgid "" "File upload is in progress. Leaving the page now will cancel the upload." msgstr "" -#: js/files.js:494 -msgid "Invalid name, '/' is not allowed." -msgstr "penggunaa nama tidak sah, '/' tidak dibenarkan." +#: js/files.js:523 +msgid "Invalid folder name. Usage of \"Shared\" is reserved by Owncloud" +msgstr "" -#: js/files.js:667 -msgid "files scanned" +#: js/files.js:704 +msgid "{count} files scanned" msgstr "" -#: js/files.js:675 +#: js/files.js:712 msgid "error while scanning" msgstr "" -#: js/files.js:748 templates/index.php:48 +#: js/files.js:785 templates/index.php:65 msgid "Name" msgstr "Nama " -#: js/files.js:749 templates/index.php:56 +#: js/files.js:786 templates/index.php:76 msgid "Size" msgstr "Saiz" -#: js/files.js:750 templates/index.php:58 +#: js/files.js:787 templates/index.php:78 msgid "Modified" msgstr "Dimodifikasi" -#: js/files.js:777 -msgid "folder" -msgstr "direktori" - -#: js/files.js:779 -msgid "folders" -msgstr "direktori" - -#: js/files.js:787 -msgid "file" -msgstr "fail" - -#: js/files.js:789 -msgid "files" -msgstr "fail" - -#: js/files.js:833 -msgid "seconds ago" -msgstr "" - -#: js/files.js:834 -msgid "minute ago" -msgstr "" - -#: js/files.js:835 -msgid "minutes ago" -msgstr "" - -#: js/files.js:838 -msgid "today" -msgstr "" - -#: js/files.js:839 -msgid "yesterday" -msgstr "" - -#: js/files.js:840 -msgid "days ago" +#: js/files.js:814 +msgid "1 folder" msgstr "" -#: js/files.js:841 -msgid "last month" +#: js/files.js:816 +msgid "{count} folders" msgstr "" -#: js/files.js:843 -msgid "months ago" +#: js/files.js:824 +msgid "1 file" msgstr "" -#: js/files.js:844 -msgid "last year" -msgstr "" - -#: js/files.js:845 -msgid "years ago" +#: js/files.js:826 +msgid "{count} files" msgstr "" #: templates/admin.php:5 @@ -224,80 +195,76 @@ msgstr "Pengendalian fail" msgid "Maximum upload size" msgstr "Saiz maksimum muat naik" -#: templates/admin.php:7 +#: templates/admin.php:9 msgid "max. possible: " msgstr "maksimum:" -#: templates/admin.php:9 +#: templates/admin.php:12 msgid "Needed for multi-file and folder downloads." msgstr "Diperlukan untuk muatturun fail pelbagai " -#: templates/admin.php:9 +#: templates/admin.php:14 msgid "Enable ZIP-download" msgstr "Aktifkan muatturun ZIP" -#: templates/admin.php:11 +#: templates/admin.php:17 msgid "0 is unlimited" msgstr "0 adalah tanpa had" -#: templates/admin.php:12 +#: templates/admin.php:19 msgid "Maximum input size for ZIP files" msgstr "Saiz maksimum input untuk fail ZIP" -#: templates/admin.php:14 +#: templates/admin.php:23 msgid "Save" -msgstr "" +msgstr "Simpan" #: templates/index.php:7 msgid "New" msgstr "Baru" -#: templates/index.php:9 +#: templates/index.php:10 msgid "Text file" msgstr "Fail teks" -#: templates/index.php:10 +#: templates/index.php:12 msgid "Folder" msgstr "Folder" -#: templates/index.php:11 -msgid "From url" -msgstr "Dari url" +#: templates/index.php:14 +msgid "From link" +msgstr "" -#: templates/index.php:20 +#: templates/index.php:35 msgid "Upload" msgstr "Muat naik" -#: templates/index.php:27 +#: templates/index.php:43 msgid "Cancel upload" msgstr "Batal muat naik" -#: templates/index.php:40 +#: templates/index.php:57 msgid "Nothing in here. Upload something!" msgstr "Tiada apa-apa di sini. Muat naik sesuatu!" -#: templates/index.php:50 -msgid "Share" -msgstr "Kongsi" - -#: templates/index.php:52 +#: templates/index.php:71 msgid "Download" msgstr "Muat turun" -#: templates/index.php:75 +#: templates/index.php:103 msgid "Upload too large" msgstr "Muat naik terlalu besar" -#: templates/index.php:77 +#: templates/index.php:105 msgid "" "The files you are trying to upload exceed the maximum size for file uploads " "on this server." msgstr "Fail yang cuba dimuat naik melebihi saiz maksimum fail upload server" -#: templates/index.php:82 +#: templates/index.php:110 msgid "Files are being scanned, please wait." msgstr "Fail sedang diimbas, harap bersabar." -#: templates/index.php:85 +#: templates/index.php:113 msgid "Current scanning" msgstr "Imbasan semasa" diff --git a/l10n/ms_MY/files_external.po b/l10n/ms_MY/files_external.po index 42da08f27e43c527bb112747423cefb2493ee281..7bca6897dff209399a37bd6114d6ad1efbbcb5c7 100644 --- a/l10n/ms_MY/files_external.po +++ b/l10n/ms_MY/files_external.po @@ -7,9 +7,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-02 23:16+0200\n" -"PO-Revision-Date: 2012-10-02 21:17+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-12-12 00:12+0100\n" +"PO-Revision-Date: 2012-12-11 23:13+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Malay (Malaysia) (http://www.transifex.com/projects/p/owncloud/language/ms_MY/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -41,66 +41,80 @@ msgstr "" msgid "Error configuring Google Drive storage" msgstr "" +#: lib/config.php:434 +msgid "" +"Warning: \"smbclient\" is not installed. Mounting of CIFS/SMB shares " +"is not possible. Please ask your system administrator to install it." +msgstr "" + +#: lib/config.php:435 +msgid "" +"Warning: The FTP support in PHP is not enabled or installed. Mounting" +" of FTP shares is not possible. Please ask your system administrator to " +"install it." +msgstr "" + #: templates/settings.php:3 msgid "External Storage" msgstr "" -#: templates/settings.php:7 templates/settings.php:19 +#: templates/settings.php:8 templates/settings.php:22 msgid "Mount point" msgstr "" -#: templates/settings.php:8 +#: templates/settings.php:9 msgid "Backend" msgstr "" -#: templates/settings.php:9 +#: templates/settings.php:10 msgid "Configuration" msgstr "" -#: templates/settings.php:10 +#: templates/settings.php:11 msgid "Options" msgstr "" -#: templates/settings.php:11 +#: templates/settings.php:12 msgid "Applicable" msgstr "" -#: templates/settings.php:23 +#: templates/settings.php:27 msgid "Add mount point" msgstr "" -#: templates/settings.php:54 templates/settings.php:62 +#: templates/settings.php:85 msgid "None set" msgstr "" -#: templates/settings.php:63 +#: templates/settings.php:86 msgid "All Users" msgstr "" -#: templates/settings.php:64 +#: templates/settings.php:87 msgid "Groups" msgstr "" -#: templates/settings.php:69 +#: templates/settings.php:95 msgid "Users" msgstr "" -#: templates/settings.php:77 templates/settings.php:107 +#: templates/settings.php:108 templates/settings.php:109 +#: templates/settings.php:149 templates/settings.php:150 msgid "Delete" msgstr "" -#: templates/settings.php:87 +#: templates/settings.php:124 msgid "Enable User External Storage" msgstr "" -#: templates/settings.php:88 +#: templates/settings.php:125 msgid "Allow users to mount their own external storage" msgstr "" -#: templates/settings.php:99 +#: templates/settings.php:139 msgid "SSL root certificates" msgstr "" -#: templates/settings.php:113 +#: templates/settings.php:158 msgid "Import Root Certificate" msgstr "" diff --git a/l10n/ms_MY/files_pdfviewer.po b/l10n/ms_MY/files_pdfviewer.po deleted file mode 100644 index b0e03a94e5160a00637e1f5493c62d6e04aa6931..0000000000000000000000000000000000000000 --- a/l10n/ms_MY/files_pdfviewer.po +++ /dev/null @@ -1,42 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 02:18+0200\n" -"PO-Revision-Date: 2012-08-26 00:19+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Malay (Malaysia) (http://www.transifex.com/projects/p/owncloud/language/ms_MY/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ms_MY\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: js/viewer.js:22 -msgid "Previous" -msgstr "" - -#: js/viewer.js:23 -msgid "Next" -msgstr "" - -#: js/viewer.js:29 -msgid "Page Width" -msgstr "" - -#: js/viewer.js:29 -msgid "Page Fit" -msgstr "" - -#: js/viewer.js:30 -msgid "Print" -msgstr "" - -#: js/viewer.js:32 -msgid "Download" -msgstr "" diff --git a/l10n/ms_MY/files_texteditor.po b/l10n/ms_MY/files_texteditor.po deleted file mode 100644 index f2549258136d19ce8c4c9996d5d65594ee7153fc..0000000000000000000000000000000000000000 --- a/l10n/ms_MY/files_texteditor.po +++ /dev/null @@ -1,44 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 01:17+0200\n" -"PO-Revision-Date: 2012-08-25 23:18+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Malay (Malaysia) (http://www.transifex.com/projects/p/owncloud/language/ms_MY/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ms_MY\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: js/aceeditor/mode-coldfusion-uncompressed.js:1568 -#: js/aceeditor/mode-liquid-uncompressed.js:902 -#: js/aceeditor/mode-svg-uncompressed.js:1575 -msgid "regex" -msgstr "" - -#: js/editor.js:72 js/editor.js:156 js/editor.js:163 -msgid "Save" -msgstr "" - -#: js/editor.js:74 -msgid "Close" -msgstr "" - -#: js/editor.js:149 -msgid "Saving..." -msgstr "" - -#: js/editor.js:239 -msgid "An error occurred!" -msgstr "" - -#: js/editor.js:266 -msgid "There were unsaved changes, click here to go back" -msgstr "" diff --git a/l10n/ms_MY/gallery.po b/l10n/ms_MY/gallery.po deleted file mode 100644 index 7dbe8487c18c1e990d7eec6d30b76e47f2ec89d9..0000000000000000000000000000000000000000 --- a/l10n/ms_MY/gallery.po +++ /dev/null @@ -1,96 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# , 2012. -# Hafiz Ismail , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-06-06 00:12+0200\n" -"PO-Revision-Date: 2012-06-05 22:15+0000\n" -"Last-Translator: icewind \n" -"Language-Team: Malay (Malaysia) (http://www.transifex.net/projects/p/owncloud/language/ms_MY/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ms_MY\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: appinfo/app.php:37 -msgid "Pictures" -msgstr "" - -#: js/album_cover.js:44 -msgid "Share gallery" -msgstr "" - -#: js/album_cover.js:64 js/album_cover.js:100 js/album_cover.js:133 -msgid "Error: " -msgstr "" - -#: js/album_cover.js:64 js/album_cover.js:100 -msgid "Internal error" -msgstr "" - -#: js/album_cover.js:114 -msgid "Scanning root" -msgstr "" - -#: js/album_cover.js:115 -msgid "Default order" -msgstr "" - -#: js/album_cover.js:116 -msgid "Ascending" -msgstr "" - -#: js/album_cover.js:116 -msgid "Descending" -msgstr "" - -#: js/album_cover.js:117 templates/index.php:19 -msgid "Settings" -msgstr "" - -#: js/album_cover.js:122 -msgid "Scanning root cannot be empty" -msgstr "" - -#: js/album_cover.js:122 js/album_cover.js:133 -msgid "Error" -msgstr "" - -#: templates/index.php:16 -msgid "Rescan" -msgstr "Imbas semula" - -#: templates/index.php:17 -msgid "Stop" -msgstr "" - -#: templates/index.php:18 -msgid "Share" -msgstr "" - -#: templates/view_album.php:19 -msgid "Back" -msgstr "Kembali" - -#: templates/view_album.php:36 -msgid "Remove confirmation" -msgstr "" - -#: templates/view_album.php:37 -msgid "Do you want to remove album" -msgstr "" - -#: templates/view_album.php:40 -msgid "Change album name" -msgstr "" - -#: templates/view_album.php:43 -msgid "New album name" -msgstr "" diff --git a/l10n/ms_MY/impress.po b/l10n/ms_MY/impress.po deleted file mode 100644 index a7a5b4117aed17eac3819bc16323c3298188d9c9..0000000000000000000000000000000000000000 --- a/l10n/ms_MY/impress.po +++ /dev/null @@ -1,22 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 01:17+0200\n" -"PO-Revision-Date: 2012-08-25 23:18+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Malay (Malaysia) (http://www.transifex.com/projects/p/owncloud/language/ms_MY/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ms_MY\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: templates/presentations.php:7 -msgid "Documentation" -msgstr "" diff --git a/l10n/ms_MY/lib.po b/l10n/ms_MY/lib.po index 35fe79aada3f20c4e6fe8878297162a09ac74945..57990c29b6bc0bacb38c7b7d34014f9eb391942c 100644 --- a/l10n/ms_MY/lib.po +++ b/l10n/ms_MY/lib.po @@ -7,53 +7,53 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-09-01 02:01+0200\n" -"PO-Revision-Date: 2012-09-01 00:02+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-11-16 00:02+0100\n" +"PO-Revision-Date: 2012-11-14 23:13+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Malay (Malaysia) (http://www.transifex.com/projects/p/owncloud/language/ms_MY/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: ms_MY\n" -"Plural-Forms: nplurals=1; plural=0\n" +"Plural-Forms: nplurals=1; plural=0;\n" -#: app.php:288 +#: app.php:285 msgid "Help" msgstr "" -#: app.php:295 +#: app.php:292 msgid "Personal" -msgstr "" +msgstr "Peribadi" -#: app.php:300 +#: app.php:297 msgid "Settings" -msgstr "" +msgstr "Tetapan" -#: app.php:305 +#: app.php:302 msgid "Users" -msgstr "" +msgstr "Pengguna" -#: app.php:312 +#: app.php:309 msgid "Apps" msgstr "" -#: app.php:314 +#: app.php:311 msgid "Admin" msgstr "" -#: files.php:280 +#: files.php:332 msgid "ZIP download is turned off." msgstr "" -#: files.php:281 +#: files.php:333 msgid "Files need to be downloaded one by one." msgstr "" -#: files.php:281 files.php:306 +#: files.php:333 files.php:358 msgid "Back to Files" msgstr "" -#: files.php:305 +#: files.php:357 msgid "Selected files too large to generate zip file." msgstr "" @@ -61,65 +61,92 @@ msgstr "" msgid "Application is not enabled" msgstr "" -#: json.php:39 json.php:63 json.php:75 +#: json.php:39 json.php:64 json.php:77 json.php:89 msgid "Authentication error" -msgstr "" +msgstr "Ralat pengesahan" #: json.php:51 msgid "Token expired. Please reload page." msgstr "" -#: template.php:86 +#: search/provider/file.php:17 search/provider/file.php:35 +msgid "Files" +msgstr "Fail-fail" + +#: search/provider/file.php:26 search/provider/file.php:33 +msgid "Text" +msgstr "Teks" + +#: search/provider/file.php:29 +msgid "Images" +msgstr "" + +#: template.php:103 msgid "seconds ago" msgstr "" -#: template.php:87 +#: template.php:104 msgid "1 minute ago" msgstr "" -#: template.php:88 +#: template.php:105 #, php-format msgid "%d minutes ago" msgstr "" -#: template.php:91 +#: template.php:106 +msgid "1 hour ago" +msgstr "" + +#: template.php:107 +#, php-format +msgid "%d hours ago" +msgstr "" + +#: template.php:108 msgid "today" msgstr "" -#: template.php:92 +#: template.php:109 msgid "yesterday" msgstr "" -#: template.php:93 +#: template.php:110 #, php-format msgid "%d days ago" msgstr "" -#: template.php:94 +#: template.php:111 msgid "last month" msgstr "" -#: template.php:95 -msgid "months ago" +#: template.php:112 +#, php-format +msgid "%d months ago" msgstr "" -#: template.php:96 +#: template.php:113 msgid "last year" msgstr "" -#: template.php:97 +#: template.php:114 msgid "years ago" msgstr "" -#: updater.php:66 +#: updater.php:75 #, php-format msgid "%s is available. Get more information" msgstr "" -#: updater.php:68 +#: updater.php:77 msgid "up to date" msgstr "" -#: updater.php:71 +#: updater.php:80 msgid "updates check is disabled" msgstr "" + +#: vcategories.php:188 vcategories.php:249 +#, php-format +msgid "Could not find category \"%s\"" +msgstr "" diff --git a/l10n/ms_MY/media.po b/l10n/ms_MY/media.po deleted file mode 100644 index 50375f61fe877fbae8212d2eb1c4cf5486181f6f..0000000000000000000000000000000000000000 --- a/l10n/ms_MY/media.po +++ /dev/null @@ -1,67 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# , 2011. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-06-06 00:12+0200\n" -"PO-Revision-Date: 2012-06-05 22:15+0000\n" -"Last-Translator: icewind \n" -"Language-Team: Malay (Malaysia) (http://www.transifex.net/projects/p/owncloud/language/ms_MY/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ms_MY\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: appinfo/app.php:32 templates/player.php:8 -msgid "Music" -msgstr "Muzik" - -#: js/music.js:18 -msgid "Add album to playlist" -msgstr "" - -#: templates/music.php:3 templates/player.php:12 -msgid "Play" -msgstr "Main" - -#: templates/music.php:4 templates/music.php:26 templates/player.php:13 -msgid "Pause" -msgstr "Jeda" - -#: templates/music.php:5 -msgid "Previous" -msgstr "Sebelum" - -#: templates/music.php:6 templates/player.php:14 -msgid "Next" -msgstr "Seterus" - -#: templates/music.php:7 -msgid "Mute" -msgstr "Bisu" - -#: templates/music.php:8 -msgid "Unmute" -msgstr "Nyahbisu" - -#: templates/music.php:25 -msgid "Rescan Collection" -msgstr "Imbas semula koleksi" - -#: templates/music.php:37 -msgid "Artist" -msgstr "Artis" - -#: templates/music.php:38 -msgid "Album" -msgstr "Album" - -#: templates/music.php:39 -msgid "Title" -msgstr "Judul" diff --git a/l10n/ms_MY/settings.po b/l10n/ms_MY/settings.po index 05cfde61facdb2671901a2ff4932c6394f313c88..1de42e3e9c3ddc135d7fcba2d77cec1c47d5db48 100644 --- a/l10n/ms_MY/settings.po +++ b/l10n/ms_MY/settings.po @@ -11,9 +11,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-09 02:03+0200\n" -"PO-Revision-Date: 2012-10-09 00:04+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-12-03 00:04+0100\n" +"PO-Revision-Date: 2012-12-02 03:18+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Malay (Malaysia) (http://www.transifex.com/projects/p/owncloud/language/ms_MY/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -21,70 +21,73 @@ msgstr "" "Language: ms_MY\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: ajax/apps/ocs.php:23 +#: ajax/apps/ocs.php:20 msgid "Unable to load list from App Store" msgstr "" -#: ajax/creategroup.php:9 ajax/removeuser.php:13 ajax/setquota.php:18 -#: ajax/togglegroups.php:15 -msgid "Authentication error" -msgstr "Ralat pengesahan" - -#: ajax/creategroup.php:19 +#: ajax/creategroup.php:10 msgid "Group already exists" msgstr "" -#: ajax/creategroup.php:28 +#: ajax/creategroup.php:19 msgid "Unable to add group" msgstr "" -#: ajax/enableapp.php:14 +#: ajax/enableapp.php:12 msgid "Could not enable app. " msgstr "" -#: ajax/lostpassword.php:14 +#: ajax/lostpassword.php:12 msgid "Email saved" msgstr "Emel disimpan" -#: ajax/lostpassword.php:16 +#: ajax/lostpassword.php:14 msgid "Invalid email" msgstr "Emel tidak sah" -#: ajax/openid.php:16 +#: ajax/openid.php:13 msgid "OpenID Changed" msgstr "OpenID diubah" -#: ajax/openid.php:18 ajax/setlanguage.php:20 ajax/setlanguage.php:23 +#: ajax/openid.php:15 ajax/setlanguage.php:17 ajax/setlanguage.php:20 msgid "Invalid request" msgstr "Permintaan tidak sah" -#: ajax/removegroup.php:16 +#: ajax/removegroup.php:13 msgid "Unable to delete group" msgstr "" -#: ajax/removeuser.php:22 +#: ajax/removeuser.php:15 ajax/setquota.php:15 ajax/togglegroups.php:18 +msgid "Authentication error" +msgstr "Ralat pengesahan" + +#: ajax/removeuser.php:24 msgid "Unable to delete user" msgstr "" -#: ajax/setlanguage.php:18 +#: ajax/setlanguage.php:15 msgid "Language changed" msgstr "Bahasa diubah" -#: ajax/togglegroups.php:25 +#: ajax/togglegroups.php:12 +msgid "Admins can't remove themself from the admin group" +msgstr "" + +#: ajax/togglegroups.php:28 #, php-format msgid "Unable to add user to group %s" msgstr "" -#: ajax/togglegroups.php:31 +#: ajax/togglegroups.php:34 #, php-format msgid "Unable to remove user from group %s" msgstr "" -#: js/apps.js:28 js/apps.js:65 +#: js/apps.js:28 js/apps.js:67 msgid "Disable" msgstr "Nyahaktif" -#: js/apps.js:28 js/apps.js:54 +#: js/apps.js:28 js/apps.js:55 msgid "Enable" msgstr "Aktif" @@ -92,97 +95,10 @@ msgstr "Aktif" msgid "Saving..." msgstr "Simpan..." -#: personal.php:47 personal.php:48 +#: personal.php:42 personal.php:43 msgid "__language_name__" msgstr "_nama_bahasa_" -#: templates/admin.php:14 -msgid "Security Warning" -msgstr "Amaran keselamatan" - -#: templates/admin.php:17 -msgid "" -"Your data directory and your files are probably accessible from the " -"internet. The .htaccess file that ownCloud provides is not working. We " -"strongly suggest that you configure your webserver in a way that the data " -"directory is no longer accessible or you move the data directory outside the" -" webserver document root." -msgstr "" - -#: templates/admin.php:31 -msgid "Cron" -msgstr "" - -#: templates/admin.php:37 -msgid "Execute one task with each page loaded" -msgstr "" - -#: templates/admin.php:43 -msgid "" -"cron.php is registered at a webcron service. Call the cron.php page in the " -"owncloud root once a minute over http." -msgstr "" - -#: templates/admin.php:49 -msgid "" -"Use systems cron service. Call the cron.php file in the owncloud folder via " -"a system cronjob once a minute." -msgstr "" - -#: templates/admin.php:56 -msgid "Sharing" -msgstr "" - -#: templates/admin.php:61 -msgid "Enable Share API" -msgstr "" - -#: templates/admin.php:62 -msgid "Allow apps to use the Share API" -msgstr "" - -#: templates/admin.php:67 -msgid "Allow links" -msgstr "" - -#: templates/admin.php:68 -msgid "Allow users to share items to the public with links" -msgstr "" - -#: templates/admin.php:73 -msgid "Allow resharing" -msgstr "" - -#: templates/admin.php:74 -msgid "Allow users to share items shared with them again" -msgstr "" - -#: templates/admin.php:79 -msgid "Allow users to share with anyone" -msgstr "" - -#: templates/admin.php:81 -msgid "Allow users to only share with users in their groups" -msgstr "" - -#: templates/admin.php:88 -msgid "Log" -msgstr "Log" - -#: templates/admin.php:116 -msgid "More" -msgstr "Lanjutan" - -#: templates/admin.php:124 -msgid "" -"Developed by the ownCloud community, the source code is " -"licensed under the AGPL." -msgstr "" - #: templates/apps.php:10 msgid "Add your App" msgstr "Tambah apps anda" @@ -215,21 +131,21 @@ msgstr "Mengurus Fail Besar" msgid "Ask a question" msgstr "Tanya soalan" -#: templates/help.php:23 +#: templates/help.php:22 msgid "Problems connecting to help database." msgstr "Masalah menghubung untuk membantu pengkalan data" -#: templates/help.php:24 +#: templates/help.php:23 msgid "Go there manually." msgstr "Pergi ke sana secara manual" -#: templates/help.php:32 +#: templates/help.php:31 msgid "Answer" msgstr "Jawapan" #: templates/personal.php:8 #, php-format -msgid "You have used %s of the available %s" +msgid "You have used %s of the available %s" msgstr "" #: templates/personal.php:12 @@ -288,6 +204,16 @@ msgstr "Bantu terjemah" msgid "use this address to connect to your ownCloud in your file manager" msgstr "guna alamat ini untuk menyambung owncloud anda dalam pengurus fail anda" +#: templates/personal.php:61 +msgid "" +"Developed by the ownCloud community, the source code is " +"licensed under the AGPL." +msgstr "" + #: templates/users.php:21 templates/users.php:76 msgid "Name" msgstr "Nama" diff --git a/l10n/ms_MY/tasks.po b/l10n/ms_MY/tasks.po deleted file mode 100644 index 6a67235eeee1ab9db6ae37bd4d8de5e0d7339587..0000000000000000000000000000000000000000 --- a/l10n/ms_MY/tasks.po +++ /dev/null @@ -1,106 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:44+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Malay (Malaysia) (http://www.transifex.com/projects/p/owncloud/language/ms_MY/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ms_MY\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: ajax/update_property.php:51 lib/app.php:89 lib/app.php:101 -msgid "Invalid date/time" -msgstr "" - -#: appinfo/app.php:11 -msgid "Tasks" -msgstr "" - -#: js/tasks.js:415 -msgid "No category" -msgstr "" - -#: lib/app.php:33 -msgid "Unspecified" -msgstr "" - -#: lib/app.php:34 -msgid "1=highest" -msgstr "" - -#: lib/app.php:38 -msgid "5=medium" -msgstr "" - -#: lib/app.php:42 -msgid "9=lowest" -msgstr "" - -#: lib/app.php:81 -msgid "Empty Summary" -msgstr "" - -#: lib/app.php:93 -msgid "Invalid percent complete" -msgstr "" - -#: lib/app.php:107 -msgid "Invalid priority" -msgstr "" - -#: templates/tasks.php:3 -msgid "Add Task" -msgstr "" - -#: templates/tasks.php:4 -msgid "Order Due" -msgstr "" - -#: templates/tasks.php:5 -msgid "Order List" -msgstr "" - -#: templates/tasks.php:6 -msgid "Order Complete" -msgstr "" - -#: templates/tasks.php:7 -msgid "Order Location" -msgstr "" - -#: templates/tasks.php:8 -msgid "Order Priority" -msgstr "" - -#: templates/tasks.php:9 -msgid "Order Label" -msgstr "" - -#: templates/tasks.php:16 -msgid "Loading tasks..." -msgstr "" - -#: templates/tasks.php:20 -msgid "Important" -msgstr "" - -#: templates/tasks.php:23 -msgid "More" -msgstr "" - -#: templates/tasks.php:26 -msgid "Less" -msgstr "" - -#: templates/tasks.php:29 -msgid "Delete" -msgstr "" diff --git a/l10n/ms_MY/user_migrate.po b/l10n/ms_MY/user_migrate.po deleted file mode 100644 index f4e730b7c83544800b23b6bd0e3986a0452c678c..0000000000000000000000000000000000000000 --- a/l10n/ms_MY/user_migrate.po +++ /dev/null @@ -1,51 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:45+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Malay (Malaysia) (http://www.transifex.com/projects/p/owncloud/language/ms_MY/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ms_MY\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: js/export.js:14 js/export.js:20 -msgid "Export" -msgstr "" - -#: js/export.js:19 -msgid "Something went wrong while the export file was being generated" -msgstr "" - -#: js/export.js:19 -msgid "An error has occurred" -msgstr "" - -#: templates/settings.php:2 -msgid "Export your user account" -msgstr "" - -#: templates/settings.php:3 -msgid "" -"This will create a compressed file that contains your ownCloud account." -msgstr "" - -#: templates/settings.php:13 -msgid "Import user account" -msgstr "" - -#: templates/settings.php:15 -msgid "ownCloud User Zip" -msgstr "" - -#: templates/settings.php:17 -msgid "Import" -msgstr "" diff --git a/l10n/ms_MY/user_openid.po b/l10n/ms_MY/user_openid.po deleted file mode 100644 index 867a3bb737071277578681631a7434d25bab9fc8..0000000000000000000000000000000000000000 --- a/l10n/ms_MY/user_openid.po +++ /dev/null @@ -1,54 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:45+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Malay (Malaysia) (http://www.transifex.com/projects/p/owncloud/language/ms_MY/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ms_MY\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: templates/nomode.php:12 -msgid "This is an OpenID server endpoint. For more information, see " -msgstr "" - -#: templates/nomode.php:14 -msgid "Identity: " -msgstr "" - -#: templates/nomode.php:15 -msgid "Realm: " -msgstr "" - -#: templates/nomode.php:16 -msgid "User: " -msgstr "" - -#: templates/nomode.php:17 -msgid "Login" -msgstr "" - -#: templates/nomode.php:22 -msgid "Error: No user Selected" -msgstr "" - -#: templates/settings.php:4 -msgid "you can authenticate to other sites with this address" -msgstr "" - -#: templates/settings.php:5 -msgid "Authorized OpenID provider" -msgstr "" - -#: templates/settings.php:6 -msgid "Your address at Wordpress, Identi.ca, …" -msgstr "" diff --git a/l10n/ms_MY/files_odfviewer.po b/l10n/ms_MY/user_webdavauth.po similarity index 74% rename from l10n/ms_MY/files_odfviewer.po rename to l10n/ms_MY/user_webdavauth.po index 0aa22023e5cfa44bec8ea7360e5a9bdf14a665fd..b0d74e1bab31a87a1477117d354a5d7a0ab1c501 100644 --- a/l10n/ms_MY/files_odfviewer.po +++ b/l10n/ms_MY/user_webdavauth.po @@ -7,16 +7,16 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 02:18+0200\n" -"PO-Revision-Date: 2012-08-26 00:19+0000\n" +"POT-Creation-Date: 2012-11-09 10:06+0100\n" +"PO-Revision-Date: 2012-11-09 09:06+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: Malay (Malaysia) (http://www.transifex.com/projects/p/owncloud/language/ms_MY/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: ms_MY\n" -"Plural-Forms: nplurals=1; plural=0\n" +"Plural-Forms: nplurals=1; plural=0;\n" -#: js/viewer.js:9 -msgid "Close" +#: templates/settings.php:4 +msgid "WebDAV URL: http://" msgstr "" diff --git a/l10n/nb_NO/admin_dependencies_chk.po b/l10n/nb_NO/admin_dependencies_chk.po deleted file mode 100644 index 94de202861f18a406e0d661df8706cb6c19fcf3a..0000000000000000000000000000000000000000 --- a/l10n/nb_NO/admin_dependencies_chk.po +++ /dev/null @@ -1,74 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 01:17+0200\n" -"PO-Revision-Date: 2012-08-25 22:55+0000\n" -"Last-Translator: runesudden \n" -"Language-Team: Norwegian Bokmål (Norway) (http://www.transifex.com/projects/p/owncloud/language/nb_NO/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: nb_NO\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: settings.php:33 -msgid "" -"The php-json module is needed by the many applications for inter " -"communications" -msgstr "Modulen php-jason blir benyttet til inter kommunikasjon" - -#: settings.php:39 -msgid "" -"The php-curl modude is needed to fetch the page title when adding a " -"bookmarks" -msgstr "Modulen php-curl blir brukt til å hente sidetittelen når bokmerke blir lagt til" - -#: settings.php:45 -msgid "The php-gd module is needed to create thumbnails of your images" -msgstr "Modulen php-gd blir benyttet til å lage miniatyr av bildene dine" - -#: settings.php:51 -msgid "The php-ldap module is needed connect to your ldap server" -msgstr "Modulen php-ldap benyttes for å koble til din ldapserver" - -#: settings.php:57 -msgid "The php-zip module is needed download multiple files at once" -msgstr "Modulen php-zup benyttes til å laste ned flere filer på en gang." - -#: settings.php:63 -msgid "" -"The php-mb_multibyte module is needed to manage correctly the encoding." -msgstr "Modulen php-mb_multibyte benyttes til å håndtere korrekt tegnkoding." - -#: settings.php:69 -msgid "The php-ctype module is needed validate data." -msgstr "Modulen php-ctype benyttes til å validere data." - -#: settings.php:75 -msgid "The php-xml module is needed to share files with webdav." -msgstr "Modulen php-xml benyttes til å dele filer med webdav" - -#: settings.php:81 -msgid "" -"The allow_url_fopen directive of your php.ini should be set to 1 to retrieve" -" knowledge base from OCS servers" -msgstr "Direktivet allow_url_fopen i php.ini bør settes til 1 for å kunne hente kunnskapsbasen fra OCS-servere" - -#: settings.php:87 -msgid "The php-pdo module is needed to store owncloud data into a database." -msgstr "Modulen php-pdo benyttes til å lagre ownCloud data i en database." - -#: templates/settings.php:2 -msgid "Dependencies status" -msgstr "Avhengighetsstatus" - -#: templates/settings.php:7 -msgid "Used by :" -msgstr "Benyttes av:" diff --git a/l10n/nb_NO/admin_migrate.po b/l10n/nb_NO/admin_migrate.po deleted file mode 100644 index 12728fa65ed17ace69f83a1b37a64dcacf98db0a..0000000000000000000000000000000000000000 --- a/l10n/nb_NO/admin_migrate.po +++ /dev/null @@ -1,33 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Arvid Nornes , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-24 02:01+0200\n" -"PO-Revision-Date: 2012-08-23 17:37+0000\n" -"Last-Translator: Arvid Nornes \n" -"Language-Team: Norwegian Bokmål (Norway) (http://www.transifex.com/projects/p/owncloud/language/nb_NO/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: nb_NO\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: templates/settings.php:3 -msgid "Export this ownCloud instance" -msgstr "Eksporter denne ownCloud forekomsten" - -#: templates/settings.php:4 -msgid "" -"This will create a compressed file that contains the data of this owncloud instance.\n" -" Please choose the export type:" -msgstr "Dette vil opprette en komprimert fil som inneholder dataene fra denne ownCloud forekomsten.⏎ Vennligst velg eksporttype:" - -#: templates/settings.php:12 -msgid "Export" -msgstr "Eksport" diff --git a/l10n/nb_NO/bookmarks.po b/l10n/nb_NO/bookmarks.po deleted file mode 100644 index 6ab8bac5805d14429f2ae0041d0059d5530313d4..0000000000000000000000000000000000000000 --- a/l10n/nb_NO/bookmarks.po +++ /dev/null @@ -1,62 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Arvid Nornes , 2012. -# , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 01:17+0200\n" -"PO-Revision-Date: 2012-08-25 22:58+0000\n" -"Last-Translator: runesudden \n" -"Language-Team: Norwegian Bokmål (Norway) (http://www.transifex.com/projects/p/owncloud/language/nb_NO/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: nb_NO\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: appinfo/app.php:14 -msgid "Bookmarks" -msgstr "Bokmerker" - -#: bookmarksHelper.php:99 -msgid "unnamed" -msgstr "uten navn" - -#: templates/bookmarklet.php:5 -msgid "" -"Drag this to your browser bookmarks and click it, when you want to bookmark " -"a webpage quickly:" -msgstr "Dra denne over din nettlesers bokmerker og klikk den, hvis du ønsker å hurtig legge til bokmerke for en nettside" - -#: templates/bookmarklet.php:7 -msgid "Read later" -msgstr "Les senere" - -#: templates/list.php:13 -msgid "Address" -msgstr "Adresse" - -#: templates/list.php:14 -msgid "Title" -msgstr "Tittel" - -#: templates/list.php:15 -msgid "Tags" -msgstr "Etikett" - -#: templates/list.php:16 -msgid "Save bookmark" -msgstr "Lagre bokmerke" - -#: templates/list.php:22 -msgid "You have no bookmarks" -msgstr "Du har ingen bokmerker" - -#: templates/settings.php:11 -msgid "Bookmarklet
" -msgstr "Bokmerke
" diff --git a/l10n/nb_NO/calendar.po b/l10n/nb_NO/calendar.po deleted file mode 100644 index b001de5a2621e7b6d254dc084ba2b8239681c599..0000000000000000000000000000000000000000 --- a/l10n/nb_NO/calendar.po +++ /dev/null @@ -1,818 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# , 2011, 2012. -# Arvid Nornes , 2012. -# Christer Eriksson , 2012. -# , 2012. -# , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-11 02:02+0200\n" -"PO-Revision-Date: 2012-08-11 00:02+0000\n" -"Last-Translator: owncloud_robot \n" -"Language-Team: Norwegian Bokmål (Norway) (http://www.transifex.com/projects/p/owncloud/language/nb_NO/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: nb_NO\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: ajax/cache/status.php:19 -msgid "Not all calendars are completely cached" -msgstr "" - -#: ajax/cache/status.php:21 -msgid "Everything seems to be completely cached" -msgstr "" - -#: ajax/categories/rescan.php:29 -msgid "No calendars found." -msgstr "Ingen kalendere funnet" - -#: ajax/categories/rescan.php:37 -msgid "No events found." -msgstr "Ingen hendelser funnet" - -#: ajax/event/edit.form.php:20 -msgid "Wrong calendar" -msgstr "Feil kalender" - -#: ajax/import/dropimport.php:29 ajax/import/import.php:64 -msgid "" -"The file contained either no events or all events are already saved in your " -"calendar." -msgstr "" - -#: ajax/import/dropimport.php:31 ajax/import/import.php:67 -msgid "events has been saved in the new calendar" -msgstr "" - -#: ajax/import/import.php:56 -msgid "Import failed" -msgstr "" - -#: ajax/import/import.php:69 -msgid "events has been saved in your calendar" -msgstr "" - -#: ajax/settings/guesstimezone.php:25 -msgid "New Timezone:" -msgstr "Ny tidssone:" - -#: ajax/settings/settimezone.php:23 -msgid "Timezone changed" -msgstr "Tidssone endret" - -#: ajax/settings/settimezone.php:25 -msgid "Invalid request" -msgstr "Ugyldig forespørsel" - -#: appinfo/app.php:35 templates/calendar.php:15 -#: templates/part.eventform.php:33 templates/part.showevent.php:33 -msgid "Calendar" -msgstr "Kalender" - -#: js/calendar.js:832 -msgid "ddd" -msgstr "" - -#: js/calendar.js:833 -msgid "ddd M/d" -msgstr "" - -#: js/calendar.js:834 -msgid "dddd M/d" -msgstr "" - -#: js/calendar.js:837 -msgid "MMMM yyyy" -msgstr "" - -#: js/calendar.js:839 -msgid "MMM d[ yyyy]{ '—'[ MMM] d yyyy}" -msgstr "" - -#: js/calendar.js:841 -msgid "dddd, MMM d, yyyy" -msgstr "" - -#: lib/app.php:121 -msgid "Birthday" -msgstr "Bursdag" - -#: lib/app.php:122 -msgid "Business" -msgstr "Forretninger" - -#: lib/app.php:123 -msgid "Call" -msgstr "Ring" - -#: lib/app.php:124 -msgid "Clients" -msgstr "Kunder" - -#: lib/app.php:125 -msgid "Deliverer" -msgstr "" - -#: lib/app.php:126 -msgid "Holidays" -msgstr "Ferie" - -#: lib/app.php:127 -msgid "Ideas" -msgstr "Ideér" - -#: lib/app.php:128 -msgid "Journey" -msgstr "Reise" - -#: lib/app.php:129 -msgid "Jubilee" -msgstr "Jubileum" - -#: lib/app.php:130 -msgid "Meeting" -msgstr "Møte" - -#: lib/app.php:131 -msgid "Other" -msgstr "Annet" - -#: lib/app.php:132 -msgid "Personal" -msgstr "ersonlig" - -#: lib/app.php:133 -msgid "Projects" -msgstr "Prosjekter" - -#: lib/app.php:134 -msgid "Questions" -msgstr "Spørsmål" - -#: lib/app.php:135 -msgid "Work" -msgstr "Arbeid" - -#: lib/app.php:351 lib/app.php:361 -msgid "by" -msgstr "" - -#: lib/app.php:359 lib/app.php:399 -msgid "unnamed" -msgstr "uten navn" - -#: lib/import.php:184 templates/calendar.php:12 -#: templates/part.choosecalendar.php:22 -msgid "New Calendar" -msgstr "Ny kalender" - -#: lib/object.php:372 -msgid "Does not repeat" -msgstr "Gjentas ikke" - -#: lib/object.php:373 -msgid "Daily" -msgstr "Daglig" - -#: lib/object.php:374 -msgid "Weekly" -msgstr "Ukentlig" - -#: lib/object.php:375 -msgid "Every Weekday" -msgstr "Hver ukedag" - -#: lib/object.php:376 -msgid "Bi-Weekly" -msgstr "Annenhver uke" - -#: lib/object.php:377 -msgid "Monthly" -msgstr "Månedlig" - -#: lib/object.php:378 -msgid "Yearly" -msgstr "Årlig" - -#: lib/object.php:388 -msgid "never" -msgstr "aldri" - -#: lib/object.php:389 -msgid "by occurrences" -msgstr "etter hyppighet" - -#: lib/object.php:390 -msgid "by date" -msgstr "etter dato" - -#: lib/object.php:400 -msgid "by monthday" -msgstr "etter dag i måned" - -#: lib/object.php:401 -msgid "by weekday" -msgstr "etter ukedag" - -#: lib/object.php:411 templates/calendar.php:5 templates/settings.php:69 -msgid "Monday" -msgstr "Mandag" - -#: lib/object.php:412 templates/calendar.php:5 -msgid "Tuesday" -msgstr "Tirsdag" - -#: lib/object.php:413 templates/calendar.php:5 -msgid "Wednesday" -msgstr "Onsdag" - -#: lib/object.php:414 templates/calendar.php:5 -msgid "Thursday" -msgstr "Torsdag" - -#: lib/object.php:415 templates/calendar.php:5 -msgid "Friday" -msgstr "Fredag" - -#: lib/object.php:416 templates/calendar.php:5 -msgid "Saturday" -msgstr "Lørdag" - -#: lib/object.php:417 templates/calendar.php:5 templates/settings.php:70 -msgid "Sunday" -msgstr "Søndag" - -#: lib/object.php:427 -msgid "events week of month" -msgstr "begivenhetens uke denne måneden" - -#: lib/object.php:428 -msgid "first" -msgstr "første" - -#: lib/object.php:429 -msgid "second" -msgstr "andre" - -#: lib/object.php:430 -msgid "third" -msgstr "tredje" - -#: lib/object.php:431 -msgid "fourth" -msgstr "fjerde" - -#: lib/object.php:432 -msgid "fifth" -msgstr "femte" - -#: lib/object.php:433 -msgid "last" -msgstr "siste" - -#: lib/object.php:467 templates/calendar.php:7 -msgid "January" -msgstr "Januar" - -#: lib/object.php:468 templates/calendar.php:7 -msgid "February" -msgstr "Februar" - -#: lib/object.php:469 templates/calendar.php:7 -msgid "March" -msgstr "Mars" - -#: lib/object.php:470 templates/calendar.php:7 -msgid "April" -msgstr "April" - -#: lib/object.php:471 templates/calendar.php:7 -msgid "May" -msgstr "Mai" - -#: lib/object.php:472 templates/calendar.php:7 -msgid "June" -msgstr "Juni" - -#: lib/object.php:473 templates/calendar.php:7 -msgid "July" -msgstr "Juli" - -#: lib/object.php:474 templates/calendar.php:7 -msgid "August" -msgstr "August" - -#: lib/object.php:475 templates/calendar.php:7 -msgid "September" -msgstr "September" - -#: lib/object.php:476 templates/calendar.php:7 -msgid "October" -msgstr "Oktober" - -#: lib/object.php:477 templates/calendar.php:7 -msgid "November" -msgstr "November" - -#: lib/object.php:478 templates/calendar.php:7 -msgid "December" -msgstr "Desember" - -#: lib/object.php:488 -msgid "by events date" -msgstr "etter hendelsenes dato" - -#: lib/object.php:489 -msgid "by yearday(s)" -msgstr "etter dag i året" - -#: lib/object.php:490 -msgid "by weeknumber(s)" -msgstr "etter ukenummer/-numre" - -#: lib/object.php:491 -msgid "by day and month" -msgstr "etter dag og måned" - -#: lib/search.php:35 lib/search.php:37 lib/search.php:40 -msgid "Date" -msgstr "Dato" - -#: lib/search.php:43 -msgid "Cal." -msgstr "Kal." - -#: templates/calendar.php:6 -msgid "Sun." -msgstr "" - -#: templates/calendar.php:6 -msgid "Mon." -msgstr "" - -#: templates/calendar.php:6 -msgid "Tue." -msgstr "" - -#: templates/calendar.php:6 -msgid "Wed." -msgstr "" - -#: templates/calendar.php:6 -msgid "Thu." -msgstr "" - -#: templates/calendar.php:6 -msgid "Fri." -msgstr "" - -#: templates/calendar.php:6 -msgid "Sat." -msgstr "" - -#: templates/calendar.php:8 -msgid "Jan." -msgstr "" - -#: templates/calendar.php:8 -msgid "Feb." -msgstr "" - -#: templates/calendar.php:8 -msgid "Mar." -msgstr "" - -#: templates/calendar.php:8 -msgid "Apr." -msgstr "" - -#: templates/calendar.php:8 -msgid "May." -msgstr "" - -#: templates/calendar.php:8 -msgid "Jun." -msgstr "" - -#: templates/calendar.php:8 -msgid "Jul." -msgstr "" - -#: templates/calendar.php:8 -msgid "Aug." -msgstr "" - -#: templates/calendar.php:8 -msgid "Sep." -msgstr "" - -#: templates/calendar.php:8 -msgid "Oct." -msgstr "" - -#: templates/calendar.php:8 -msgid "Nov." -msgstr "" - -#: templates/calendar.php:8 -msgid "Dec." -msgstr "" - -#: templates/calendar.php:11 -msgid "All day" -msgstr "Hele dagen " - -#: templates/calendar.php:13 -msgid "Missing fields" -msgstr "Manglende felt" - -#: templates/calendar.php:14 templates/part.eventform.php:19 -#: templates/part.showevent.php:11 -msgid "Title" -msgstr "Tittel" - -#: templates/calendar.php:16 -msgid "From Date" -msgstr "Fra dato" - -#: templates/calendar.php:17 -msgid "From Time" -msgstr "Fra tidspunkt" - -#: templates/calendar.php:18 -msgid "To Date" -msgstr "Til dato" - -#: templates/calendar.php:19 -msgid "To Time" -msgstr "Til tidspunkt" - -#: templates/calendar.php:20 -msgid "The event ends before it starts" -msgstr "En hendelse kan ikke slutte før den har begynt." - -#: templates/calendar.php:21 -msgid "There was a database fail" -msgstr "Det oppstod en databasefeil." - -#: templates/calendar.php:39 -msgid "Week" -msgstr "Uke" - -#: templates/calendar.php:40 -msgid "Month" -msgstr "ned" - -#: templates/calendar.php:41 -msgid "List" -msgstr "Liste" - -#: templates/calendar.php:45 -msgid "Today" -msgstr "I dag" - -#: templates/calendar.php:46 templates/calendar.php:47 -msgid "Settings" -msgstr "" - -#: templates/part.choosecalendar.php:2 -msgid "Your calendars" -msgstr "Dine kalendere" - -#: templates/part.choosecalendar.php:27 -#: templates/part.choosecalendar.rowfields.php:11 -msgid "CalDav Link" -msgstr "CalDav-lenke" - -#: templates/part.choosecalendar.php:31 -msgid "Shared calendars" -msgstr "Delte kalendere" - -#: templates/part.choosecalendar.php:48 -msgid "No shared calendars" -msgstr "Ingen delte kalendere" - -#: templates/part.choosecalendar.rowfields.php:8 -msgid "Share Calendar" -msgstr "Del Kalender" - -#: templates/part.choosecalendar.rowfields.php:14 -msgid "Download" -msgstr "Last ned" - -#: templates/part.choosecalendar.rowfields.php:17 -msgid "Edit" -msgstr "Endre" - -#: templates/part.choosecalendar.rowfields.php:20 -#: templates/part.editevent.php:9 -msgid "Delete" -msgstr "Slett" - -#: templates/part.choosecalendar.rowfields.shared.php:4 -msgid "shared with you by" -msgstr "delt med deg" - -#: templates/part.editcalendar.php:9 -msgid "New calendar" -msgstr "Ny kalender" - -#: templates/part.editcalendar.php:9 -msgid "Edit calendar" -msgstr "Rediger kalender" - -#: templates/part.editcalendar.php:12 -msgid "Displayname" -msgstr "Visningsnavn" - -#: templates/part.editcalendar.php:23 -msgid "Active" -msgstr "Aktiv" - -#: templates/part.editcalendar.php:29 -msgid "Calendar color" -msgstr "Kalenderfarge" - -#: templates/part.editcalendar.php:42 -msgid "Save" -msgstr "Lagre" - -#: templates/part.editcalendar.php:42 templates/part.editevent.php:8 -#: templates/part.newevent.php:6 -msgid "Submit" -msgstr "Lagre" - -#: templates/part.editcalendar.php:43 -msgid "Cancel" -msgstr "Avbryt" - -#: templates/part.editevent.php:1 -msgid "Edit an event" -msgstr "Rediger en hendelse" - -#: templates/part.editevent.php:10 -msgid "Export" -msgstr "Eksporter" - -#: templates/part.eventform.php:8 templates/part.showevent.php:3 -msgid "Eventinfo" -msgstr "Hendelsesinformasjon" - -#: templates/part.eventform.php:9 templates/part.showevent.php:4 -msgid "Repeating" -msgstr "Gjentas" - -#: templates/part.eventform.php:10 templates/part.showevent.php:5 -msgid "Alarm" -msgstr "Alarm" - -#: templates/part.eventform.php:11 templates/part.showevent.php:6 -msgid "Attendees" -msgstr "Deltakere" - -#: templates/part.eventform.php:13 -msgid "Share" -msgstr "Del" - -#: templates/part.eventform.php:21 -msgid "Title of the Event" -msgstr "Hendelsestittel" - -#: templates/part.eventform.php:27 templates/part.showevent.php:19 -msgid "Category" -msgstr "Kategori" - -#: templates/part.eventform.php:29 -msgid "Separate categories with commas" -msgstr "Separer kategorier med komma" - -#: templates/part.eventform.php:30 -msgid "Edit categories" -msgstr "Rediger kategorier" - -#: templates/part.eventform.php:56 templates/part.showevent.php:52 -msgid "All Day Event" -msgstr "Hele dagen-hendelse" - -#: templates/part.eventform.php:60 templates/part.showevent.php:56 -msgid "From" -msgstr "Fra" - -#: templates/part.eventform.php:68 templates/part.showevent.php:64 -msgid "To" -msgstr "Til" - -#: templates/part.eventform.php:76 templates/part.showevent.php:72 -msgid "Advanced options" -msgstr "Avanserte innstillinger" - -#: templates/part.eventform.php:81 templates/part.showevent.php:77 -msgid "Location" -msgstr "Sted" - -#: templates/part.eventform.php:83 -msgid "Location of the Event" -msgstr "Hendelsessted" - -#: templates/part.eventform.php:89 templates/part.showevent.php:85 -msgid "Description" -msgstr "Beskrivelse" - -#: templates/part.eventform.php:91 -msgid "Description of the Event" -msgstr "Hendelesebeskrivelse" - -#: templates/part.eventform.php:100 templates/part.showevent.php:95 -msgid "Repeat" -msgstr "Gjenta" - -#: templates/part.eventform.php:107 templates/part.showevent.php:102 -msgid "Advanced" -msgstr "Avansert" - -#: templates/part.eventform.php:151 templates/part.showevent.php:146 -msgid "Select weekdays" -msgstr "Velg ukedager" - -#: templates/part.eventform.php:164 templates/part.eventform.php:177 -#: templates/part.showevent.php:159 templates/part.showevent.php:172 -msgid "Select days" -msgstr "Velg dager" - -#: templates/part.eventform.php:169 templates/part.showevent.php:164 -msgid "and the events day of year." -msgstr "og hendelsenes dag i året." - -#: templates/part.eventform.php:182 templates/part.showevent.php:177 -msgid "and the events day of month." -msgstr "og hendelsenes dag i måneden." - -#: templates/part.eventform.php:190 templates/part.showevent.php:185 -msgid "Select months" -msgstr "Velg måneder" - -#: templates/part.eventform.php:203 templates/part.showevent.php:198 -msgid "Select weeks" -msgstr "Velg uker" - -#: templates/part.eventform.php:208 templates/part.showevent.php:203 -msgid "and the events week of year." -msgstr "og hendelsenes uke i året." - -#: templates/part.eventform.php:214 templates/part.showevent.php:209 -msgid "Interval" -msgstr "Intervall" - -#: templates/part.eventform.php:220 templates/part.showevent.php:215 -msgid "End" -msgstr "Slutt" - -#: templates/part.eventform.php:233 templates/part.showevent.php:228 -msgid "occurrences" -msgstr "forekomster" - -#: templates/part.import.php:14 -msgid "create a new calendar" -msgstr "Lag en ny kalender" - -#: templates/part.import.php:17 -msgid "Import a calendar file" -msgstr "Importer en kalenderfil" - -#: templates/part.import.php:24 -msgid "Please choose a calendar" -msgstr "" - -#: templates/part.import.php:36 -msgid "Name of new calendar" -msgstr "Navn på ny kalender:" - -#: templates/part.import.php:44 -msgid "Take an available name!" -msgstr "" - -#: templates/part.import.php:45 -msgid "" -"A Calendar with this name already exists. If you continue anyhow, these " -"calendars will be merged." -msgstr "" - -#: templates/part.import.php:47 -msgid "Import" -msgstr "Importer" - -#: templates/part.import.php:56 -msgid "Close Dialog" -msgstr "Lukk dialog" - -#: templates/part.newevent.php:1 -msgid "Create a new event" -msgstr "Opprett en ny hendelse" - -#: templates/part.showevent.php:1 -msgid "View an event" -msgstr "Se på hendelse" - -#: templates/part.showevent.php:23 -msgid "No categories selected" -msgstr "Ingen kategorier valgt" - -#: templates/part.showevent.php:37 -msgid "of" -msgstr "" - -#: templates/part.showevent.php:59 templates/part.showevent.php:67 -msgid "at" -msgstr "" - -#: templates/settings.php:10 -msgid "General" -msgstr "" - -#: templates/settings.php:15 -msgid "Timezone" -msgstr "Tidssone" - -#: templates/settings.php:47 -msgid "Update timezone automatically" -msgstr "" - -#: templates/settings.php:52 -msgid "Time format" -msgstr "" - -#: templates/settings.php:57 -msgid "24h" -msgstr "24 t" - -#: templates/settings.php:58 -msgid "12h" -msgstr "12 t" - -#: templates/settings.php:64 -msgid "Start week on" -msgstr "" - -#: templates/settings.php:76 -msgid "Cache" -msgstr "" - -#: templates/settings.php:80 -msgid "Clear cache for repeating events" -msgstr "" - -#: templates/settings.php:85 -msgid "URLs" -msgstr "" - -#: templates/settings.php:87 -msgid "Calendar CalDAV syncing addresses" -msgstr "" - -#: templates/settings.php:87 -msgid "more info" -msgstr "" - -#: templates/settings.php:89 -msgid "Primary address (Kontact et al)" -msgstr "" - -#: templates/settings.php:91 -msgid "iOS/OS X" -msgstr "" - -#: templates/settings.php:93 -msgid "Read only iCalendar link(s)" -msgstr "" - -#: templates/share.dropdown.php:20 -msgid "Users" -msgstr "Brukere" - -#: templates/share.dropdown.php:21 -msgid "select users" -msgstr "valgte brukere" - -#: templates/share.dropdown.php:36 templates/share.dropdown.php:62 -msgid "Editable" -msgstr "Redigerbar" - -#: templates/share.dropdown.php:48 -msgid "Groups" -msgstr "Grupper" - -#: templates/share.dropdown.php:49 -msgid "select groups" -msgstr "velg grupper" - -#: templates/share.dropdown.php:75 -msgid "make public" -msgstr "gjør offentlig" diff --git a/l10n/nb_NO/contacts.po b/l10n/nb_NO/contacts.po deleted file mode 100644 index 524dec3bd0d5aa7a79c753508fd273eedb93b1be..0000000000000000000000000000000000000000 --- a/l10n/nb_NO/contacts.po +++ /dev/null @@ -1,956 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# , 2012. -# Christer Eriksson , 2012. -# Daniel , 2012. -# , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-24 02:02+0200\n" -"PO-Revision-Date: 2012-08-24 00:02+0000\n" -"Last-Translator: I Robot \n" -"Language-Team: Norwegian Bokmål (Norway) (http://www.transifex.com/projects/p/owncloud/language/nb_NO/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: nb_NO\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: ajax/addressbook/activate.php:24 ajax/addressbook/update.php:32 -msgid "Error (de)activating addressbook." -msgstr "Et problem oppsto med å (de)aktivere adresseboken." - -#: ajax/addressbook/delete.php:31 ajax/addressbook/update.php:20 -#: ajax/contact/addproperty.php:42 ajax/contact/delete.php:32 -#: ajax/contact/saveproperty.php:39 -msgid "id is not set." -msgstr "id er ikke satt." - -#: ajax/addressbook/update.php:24 -msgid "Cannot update addressbook with an empty name." -msgstr "Kan ikke oppdatere adressebøker uten navn." - -#: ajax/addressbook/update.php:28 -msgid "Error updating addressbook." -msgstr "Et problem oppsto med å oppdatere adresseboken." - -#: ajax/categories/categoriesfor.php:17 -msgid "No ID provided" -msgstr "Ingen ID angitt" - -#: ajax/categories/categoriesfor.php:34 -msgid "Error setting checksum." -msgstr "" - -#: ajax/categories/delete.php:19 -msgid "No categories selected for deletion." -msgstr "Ingen kategorier valgt for sletting." - -#: ajax/categories/delete.php:26 -msgid "No address books found." -msgstr "Ingen adressebok funnet." - -#: ajax/categories/delete.php:34 -msgid "No contacts found." -msgstr "Ingen kontakter funnet." - -#: ajax/contact/add.php:47 -msgid "There was an error adding the contact." -msgstr "Et problem oppsto med å legge til kontakten." - -#: ajax/contact/addproperty.php:39 ajax/contact/saveproperty.php:36 -msgid "element name is not set." -msgstr "" - -#: ajax/contact/addproperty.php:46 -msgid "Could not parse contact: " -msgstr "" - -#: ajax/contact/addproperty.php:56 -msgid "Cannot add empty property." -msgstr "Kan ikke legge til tomt felt." - -#: ajax/contact/addproperty.php:67 -msgid "At least one of the address fields has to be filled out." -msgstr "Minst en av adressefeltene må oppgis." - -#: ajax/contact/addproperty.php:76 -msgid "Trying to add duplicate property: " -msgstr "" - -#: ajax/contact/addproperty.php:115 ajax/contact/saveproperty.php:93 -msgid "Missing IM parameter." -msgstr "" - -#: ajax/contact/addproperty.php:119 ajax/contact/saveproperty.php:97 -msgid "Unknown IM: " -msgstr "" - -#: ajax/contact/deleteproperty.php:37 -msgid "Information about vCard is incorrect. Please reload the page." -msgstr "Informasjonen om vCard-filen er ikke riktig. Last inn siden på nytt." - -#: ajax/contact/details.php:31 -msgid "Missing ID" -msgstr "Manglende ID" - -#: ajax/contact/details.php:36 -msgid "Error parsing VCard for ID: \"" -msgstr "" - -#: ajax/contact/saveproperty.php:42 -msgid "checksum is not set." -msgstr "" - -#: ajax/contact/saveproperty.php:62 -msgid "Information about vCard is incorrect. Please reload the page: " -msgstr "" - -#: ajax/contact/saveproperty.php:69 -msgid "Something went FUBAR. " -msgstr "Noe gikk fryktelig galt." - -#: ajax/currentphoto.php:30 ajax/oc_photo.php:28 ajax/uploadphoto.php:36 -#: ajax/uploadphoto.php:68 -msgid "No contact ID was submitted." -msgstr "" - -#: ajax/currentphoto.php:36 -msgid "Error reading contact photo." -msgstr "Klarte ikke å lese kontaktbilde." - -#: ajax/currentphoto.php:48 -msgid "Error saving temporary file." -msgstr "Klarte ikke å lagre midlertidig fil." - -#: ajax/currentphoto.php:51 -msgid "The loading photo is not valid." -msgstr "Bildet som lastes inn er ikke gyldig." - -#: ajax/editname.php:31 -msgid "Contact ID is missing." -msgstr "Kontakt-ID mangler." - -#: ajax/oc_photo.php:32 -msgid "No photo path was submitted." -msgstr "Ingen filsti ble lagt inn." - -#: ajax/oc_photo.php:39 -msgid "File doesn't exist:" -msgstr "Filen eksisterer ikke:" - -#: ajax/oc_photo.php:44 ajax/oc_photo.php:47 -msgid "Error loading image." -msgstr "Klarte ikke å laste bilde." - -#: ajax/savecrop.php:69 -msgid "Error getting contact object." -msgstr "" - -#: ajax/savecrop.php:79 -msgid "Error getting PHOTO property." -msgstr "" - -#: ajax/savecrop.php:98 -msgid "Error saving contact." -msgstr "Klarte ikke å lagre kontakt." - -#: ajax/savecrop.php:109 -msgid "Error resizing image" -msgstr "Klarte ikke å endre størrelse på bildet" - -#: ajax/savecrop.php:112 -msgid "Error cropping image" -msgstr "Klarte ikke å beskjære bildet" - -#: ajax/savecrop.php:115 -msgid "Error creating temporary image" -msgstr "Klarte ikke å lage et midlertidig bilde" - -#: ajax/savecrop.php:118 -msgid "Error finding image: " -msgstr "Kunne ikke finne bilde:" - -#: ajax/uploadimport.php:44 ajax/uploadimport.php:76 -msgid "Error uploading contacts to storage." -msgstr "Klarte ikke å laste opp kontakter til lagringsplassen" - -#: ajax/uploadimport.php:61 ajax/uploadphoto.php:77 -msgid "There is no error, the file uploaded with success" -msgstr "Pust ut, ingen feil. Filen ble lastet opp problemfritt" - -#: ajax/uploadimport.php:62 ajax/uploadphoto.php:78 -msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" -msgstr "Filen du prøvde å laste opp var større enn grensen upload_max_filesize i php.ini" - -#: ajax/uploadimport.php:63 ajax/uploadphoto.php:79 -msgid "" -"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " -"the HTML form" -msgstr "Filen du prøvde å laste opp var større enn grensen satt i MAX_FILE_SIZE i HTML-skjemaet." - -#: ajax/uploadimport.php:64 ajax/uploadphoto.php:80 -msgid "The uploaded file was only partially uploaded" -msgstr "Filen du prøvde å laste opp ble kun delvis lastet opp" - -#: ajax/uploadimport.php:65 ajax/uploadphoto.php:81 -msgid "No file was uploaded" -msgstr "Ingen filer ble lastet opp" - -#: ajax/uploadimport.php:66 ajax/uploadphoto.php:82 -msgid "Missing a temporary folder" -msgstr "Mangler midlertidig mappe" - -#: ajax/uploadphoto.php:59 ajax/uploadphoto.php:109 -msgid "Couldn't save temporary image: " -msgstr "Kunne ikke lagre midlertidig bilde:" - -#: ajax/uploadphoto.php:62 ajax/uploadphoto.php:112 -msgid "Couldn't load temporary image: " -msgstr "Kunne ikke laste midlertidig bilde:" - -#: ajax/uploadphoto.php:71 -msgid "No file was uploaded. Unknown error" -msgstr "Ingen filer ble lastet opp. Ukjent feil." - -#: appinfo/app.php:21 -msgid "Contacts" -msgstr "Kontakter" - -#: js/contacts.js:71 -msgid "Sorry, this functionality has not been implemented yet" -msgstr "" - -#: js/contacts.js:71 -msgid "Not implemented" -msgstr "" - -#: js/contacts.js:76 -msgid "Couldn't get a valid address." -msgstr "" - -#: js/contacts.js:76 js/contacts.js:365 js/contacts.js:381 js/contacts.js:393 -#: js/contacts.js:723 js/contacts.js:763 js/contacts.js:789 js/contacts.js:921 -#: js/contacts.js:927 js/contacts.js:939 js/contacts.js:976 -#: js/contacts.js:1250 js/contacts.js:1258 js/contacts.js:1267 -#: js/contacts.js:1302 js/contacts.js:1338 js/contacts.js:1353 -#: js/contacts.js:1379 js/contacts.js:1609 js/contacts.js:1644 -#: js/contacts.js:1664 js/settings.js:26 js/settings.js:43 js/settings.js:68 -msgid "Error" -msgstr "Feil" - -#: js/contacts.js:424 -msgid "You do not have permission to add contacts to " -msgstr "" - -#: js/contacts.js:425 -msgid "Please select one of your own address books." -msgstr "" - -#: js/contacts.js:425 -msgid "Permission error" -msgstr "" - -#: js/contacts.js:763 -msgid "This property has to be non-empty." -msgstr "" - -#: js/contacts.js:789 -msgid "Couldn't serialize elements." -msgstr "" - -#: js/contacts.js:921 js/contacts.js:939 -msgid "" -"'deleteProperty' called without type argument. Please report at " -"bugs.owncloud.org" -msgstr "" - -#: js/contacts.js:958 -msgid "Edit name" -msgstr "Endre navn" - -#: js/contacts.js:1250 -msgid "No files selected for upload." -msgstr "Ingen filer valgt for opplasting." - -#: js/contacts.js:1258 -msgid "" -"The file you are trying to upload exceed the maximum size for file uploads " -"on this server." -msgstr "Filen du prøver å laste opp er for stor." - -#: js/contacts.js:1322 -msgid "Error loading profile picture." -msgstr "" - -#: js/contacts.js:1457 js/contacts.js:1498 js/contacts.js:1517 -#: js/contacts.js:1560 -msgid "Select type" -msgstr "Velg type" - -#: js/contacts.js:1578 -msgid "" -"Some contacts are marked for deletion, but not deleted yet. Please wait for " -"them to be deleted." -msgstr "" - -#: js/contacts.js:1649 -msgid "Do you want to merge these address books?" -msgstr "" - -#: js/loader.js:49 -msgid "Result: " -msgstr "Resultat:" - -#: js/loader.js:49 -msgid " imported, " -msgstr "importert," - -#: js/loader.js:49 -msgid " failed." -msgstr "feilet." - -#: js/settings.js:68 -msgid "Displayname cannot be empty." -msgstr "" - -#: lib/app.php:36 -msgid "Addressbook not found: " -msgstr "" - -#: lib/app.php:52 -msgid "This is not your addressbook." -msgstr "Dette er ikke dine adressebok." - -#: lib/app.php:71 -msgid "Contact could not be found." -msgstr "Kontakten ble ikke funnet." - -#: lib/app.php:116 -msgid "Jabber" -msgstr "" - -#: lib/app.php:121 -msgid "AIM" -msgstr "" - -#: lib/app.php:126 -msgid "MSN" -msgstr "" - -#: lib/app.php:131 -msgid "Twitter" -msgstr "" - -#: lib/app.php:136 -msgid "GoogleTalk" -msgstr "" - -#: lib/app.php:141 -msgid "Facebook" -msgstr "" - -#: lib/app.php:146 -msgid "XMPP" -msgstr "" - -#: lib/app.php:151 -msgid "ICQ" -msgstr "" - -#: lib/app.php:156 -msgid "Yahoo" -msgstr "" - -#: lib/app.php:161 -msgid "Skype" -msgstr "" - -#: lib/app.php:166 -msgid "QQ" -msgstr "" - -#: lib/app.php:171 -msgid "GaduGadu" -msgstr "" - -#: lib/app.php:194 lib/app.php:202 lib/app.php:213 lib/app.php:266 -msgid "Work" -msgstr "Arbeid" - -#: lib/app.php:195 lib/app.php:200 lib/app.php:214 -msgid "Home" -msgstr "Hjem" - -#: lib/app.php:196 lib/app.php:209 lib/app.php:262 lib/vcard.php:593 -msgid "Other" -msgstr "" - -#: lib/app.php:201 -msgid "Mobile" -msgstr "Mobil" - -#: lib/app.php:203 -msgid "Text" -msgstr "Tekst" - -#: lib/app.php:204 -msgid "Voice" -msgstr "Svarer" - -#: lib/app.php:205 -msgid "Message" -msgstr "Melding" - -#: lib/app.php:206 -msgid "Fax" -msgstr "Faks" - -#: lib/app.php:207 -msgid "Video" -msgstr "Video" - -#: lib/app.php:208 -msgid "Pager" -msgstr "Pager" - -#: lib/app.php:215 -msgid "Internet" -msgstr "Internett" - -#: lib/app.php:252 templates/part.contact.php:45 -#: templates/part.contact.php:128 -msgid "Birthday" -msgstr "Bursdag" - -#: lib/app.php:253 -msgid "Business" -msgstr "" - -#: lib/app.php:254 -msgid "Call" -msgstr "" - -#: lib/app.php:255 -msgid "Clients" -msgstr "" - -#: lib/app.php:256 -msgid "Deliverer" -msgstr "" - -#: lib/app.php:257 -msgid "Holidays" -msgstr "" - -#: lib/app.php:258 -msgid "Ideas" -msgstr "" - -#: lib/app.php:259 -msgid "Journey" -msgstr "" - -#: lib/app.php:260 -msgid "Jubilee" -msgstr "" - -#: lib/app.php:261 -msgid "Meeting" -msgstr "" - -#: lib/app.php:263 -msgid "Personal" -msgstr "" - -#: lib/app.php:264 -msgid "Projects" -msgstr "" - -#: lib/app.php:265 -msgid "Questions" -msgstr "" - -#: lib/hooks.php:102 -msgid "{name}'s Birthday" -msgstr "{name}s bursdag" - -#: lib/search.php:15 -msgid "Contact" -msgstr "Kontakt" - -#: lib/vcard.php:408 -msgid "You do not have the permissions to edit this contact." -msgstr "" - -#: lib/vcard.php:483 -msgid "You do not have the permissions to delete this contact." -msgstr "" - -#: templates/index.php:14 -msgid "Add Contact" -msgstr "Ny kontakt" - -#: templates/index.php:15 templates/index.php:16 templates/part.import.php:17 -msgid "Import" -msgstr "Importer" - -#: templates/index.php:18 -msgid "Settings" -msgstr "" - -#: templates/index.php:18 templates/settings.php:9 -msgid "Addressbooks" -msgstr "Adressebøker" - -#: templates/index.php:36 templates/part.import.php:24 -msgid "Close" -msgstr "Lukk" - -#: templates/index.php:37 -msgid "Keyboard shortcuts" -msgstr "" - -#: templates/index.php:39 -msgid "Navigation" -msgstr "" - -#: templates/index.php:42 -msgid "Next contact in list" -msgstr "" - -#: templates/index.php:44 -msgid "Previous contact in list" -msgstr "" - -#: templates/index.php:46 -msgid "Expand/collapse current addressbook" -msgstr "" - -#: templates/index.php:48 -msgid "Next addressbook" -msgstr "" - -#: templates/index.php:50 -msgid "Previous addressbook" -msgstr "" - -#: templates/index.php:54 -msgid "Actions" -msgstr "" - -#: templates/index.php:57 -msgid "Refresh contacts list" -msgstr "" - -#: templates/index.php:59 -msgid "Add new contact" -msgstr "" - -#: templates/index.php:61 -msgid "Add new addressbook" -msgstr "" - -#: templates/index.php:63 -msgid "Delete current contact" -msgstr "" - -#: templates/part.contact.php:17 -msgid "Drop photo to upload" -msgstr "Dra bilder hit for å laste opp" - -#: templates/part.contact.php:19 -msgid "Delete current photo" -msgstr "Fjern nåværende bilde" - -#: templates/part.contact.php:20 -msgid "Edit current photo" -msgstr "Rediger nåværende bilde" - -#: templates/part.contact.php:21 -msgid "Upload new photo" -msgstr "Last opp nytt bilde" - -#: templates/part.contact.php:22 -msgid "Select photo from ownCloud" -msgstr "Velg bilde fra ownCloud" - -#: templates/part.contact.php:35 -msgid "Format custom, Short name, Full name, Reverse or Reverse with comma" -msgstr "" - -#: templates/part.contact.php:36 -msgid "Edit name details" -msgstr "Endre detaljer rundt navn" - -#: templates/part.contact.php:39 templates/part.contact.php:40 -#: templates/part.contact.php:126 -msgid "Organization" -msgstr "Organisasjon" - -#: templates/part.contact.php:40 templates/part.contact.php:42 -#: templates/part.contact.php:44 templates/part.contact.php:46 -#: templates/part.contact.php:50 templates/settings.php:36 -msgid "Delete" -msgstr "Slett" - -#: templates/part.contact.php:41 templates/part.contact.php:127 -msgid "Nickname" -msgstr "Kallenavn" - -#: templates/part.contact.php:42 -msgid "Enter nickname" -msgstr "Skriv inn kallenavn" - -#: templates/part.contact.php:43 templates/part.contact.php:134 -msgid "Web site" -msgstr "" - -#: templates/part.contact.php:44 -msgid "http://www.somesite.com" -msgstr "" - -#: templates/part.contact.php:44 -msgid "Go to web site" -msgstr "" - -#: templates/part.contact.php:46 -msgid "dd-mm-yyyy" -msgstr "dd-mm-åååå" - -#: templates/part.contact.php:47 templates/part.contact.php:135 -msgid "Groups" -msgstr "Grupper" - -#: templates/part.contact.php:49 -msgid "Separate groups with commas" -msgstr "Skill gruppene med komma" - -#: templates/part.contact.php:50 -msgid "Edit groups" -msgstr "Endre grupper" - -#: templates/part.contact.php:59 templates/part.contact.php:73 -#: templates/part.contact.php:98 -msgid "Preferred" -msgstr "Foretrukket" - -#: templates/part.contact.php:60 -msgid "Please specify a valid email address." -msgstr "Vennligst angi en gyldig e-postadresse." - -#: templates/part.contact.php:60 -msgid "Enter email address" -msgstr "Skriv inn e-postadresse" - -#: templates/part.contact.php:64 -msgid "Mail to address" -msgstr "Send e-post til adresse" - -#: templates/part.contact.php:65 -msgid "Delete email address" -msgstr "Fjern e-postadresse" - -#: templates/part.contact.php:75 -msgid "Enter phone number" -msgstr "Skriv inn telefonnummer" - -#: templates/part.contact.php:79 -msgid "Delete phone number" -msgstr "Fjern telefonnummer" - -#: templates/part.contact.php:100 -msgid "Instant Messenger" -msgstr "" - -#: templates/part.contact.php:101 -msgid "Delete IM" -msgstr "" - -#: templates/part.contact.php:110 -msgid "View on map" -msgstr "Se på kart" - -#: templates/part.contact.php:110 -msgid "Edit address details" -msgstr "Endre detaljer rundt adresse" - -#: templates/part.contact.php:116 -msgid "Add notes here." -msgstr "Legg inn notater her." - -#: templates/part.contact.php:124 -msgid "Add field" -msgstr "Legg til felt" - -#: templates/part.contact.php:129 -msgid "Phone" -msgstr "Telefon" - -#: templates/part.contact.php:130 -msgid "Email" -msgstr "E-post" - -#: templates/part.contact.php:131 -msgid "Instant Messaging" -msgstr "" - -#: templates/part.contact.php:132 -msgid "Address" -msgstr "Adresse" - -#: templates/part.contact.php:133 -msgid "Note" -msgstr "Notat" - -#: templates/part.contact.php:138 -msgid "Download contact" -msgstr "Hend ned kontakten" - -#: templates/part.contact.php:139 -msgid "Delete contact" -msgstr "Slett kontakt" - -#: templates/part.cropphoto.php:65 -msgid "The temporary image has been removed from cache." -msgstr "Det midlertidige bildet er fjernet fra cache." - -#: templates/part.edit_address_dialog.php:6 -msgid "Edit address" -msgstr "Endre adresse" - -#: templates/part.edit_address_dialog.php:10 -msgid "Type" -msgstr "Type" - -#: templates/part.edit_address_dialog.php:18 -#: templates/part.edit_address_dialog.php:21 -msgid "PO Box" -msgstr "Postboks" - -#: templates/part.edit_address_dialog.php:24 -msgid "Street address" -msgstr "" - -#: templates/part.edit_address_dialog.php:27 -msgid "Street and number" -msgstr "" - -#: templates/part.edit_address_dialog.php:30 -msgid "Extended" -msgstr "Utvidet" - -#: templates/part.edit_address_dialog.php:33 -msgid "Apartment number etc." -msgstr "" - -#: templates/part.edit_address_dialog.php:36 -#: templates/part.edit_address_dialog.php:39 -msgid "City" -msgstr "By" - -#: templates/part.edit_address_dialog.php:42 -msgid "Region" -msgstr "Området" - -#: templates/part.edit_address_dialog.php:45 -msgid "E.g. state or province" -msgstr "" - -#: templates/part.edit_address_dialog.php:48 -msgid "Zipcode" -msgstr "Postnummer" - -#: templates/part.edit_address_dialog.php:51 -msgid "Postal code" -msgstr "" - -#: templates/part.edit_address_dialog.php:54 -#: templates/part.edit_address_dialog.php:57 -msgid "Country" -msgstr "Land" - -#: templates/part.edit_name_dialog.php:16 -msgid "Addressbook" -msgstr "Adressebok" - -#: templates/part.edit_name_dialog.php:23 -msgid "Hon. prefixes" -msgstr "Ærestitler" - -#: templates/part.edit_name_dialog.php:27 -msgid "Miss" -msgstr "Frøken" - -#: templates/part.edit_name_dialog.php:28 -msgid "Ms" -msgstr "" - -#: templates/part.edit_name_dialog.php:29 -msgid "Mr" -msgstr "Herr" - -#: templates/part.edit_name_dialog.php:30 -msgid "Sir" -msgstr "" - -#: templates/part.edit_name_dialog.php:31 -msgid "Mrs" -msgstr "Fru" - -#: templates/part.edit_name_dialog.php:32 -msgid "Dr" -msgstr "Dr" - -#: templates/part.edit_name_dialog.php:35 -msgid "Given name" -msgstr "Fornavn" - -#: templates/part.edit_name_dialog.php:37 -msgid "Additional names" -msgstr "Ev. mellomnavn" - -#: templates/part.edit_name_dialog.php:39 -msgid "Family name" -msgstr "Etternavn" - -#: templates/part.edit_name_dialog.php:41 -msgid "Hon. suffixes" -msgstr "Titler" - -#: templates/part.edit_name_dialog.php:45 -msgid "J.D." -msgstr "" - -#: templates/part.edit_name_dialog.php:46 -msgid "M.D." -msgstr "" - -#: templates/part.edit_name_dialog.php:47 -msgid "D.O." -msgstr "" - -#: templates/part.edit_name_dialog.php:48 -msgid "D.C." -msgstr "" - -#: templates/part.edit_name_dialog.php:49 -msgid "Ph.D." -msgstr "Stipendiat" - -#: templates/part.edit_name_dialog.php:50 -msgid "Esq." -msgstr "" - -#: templates/part.edit_name_dialog.php:51 -msgid "Jr." -msgstr "Jr." - -#: templates/part.edit_name_dialog.php:52 -msgid "Sn." -msgstr "Sr." - -#: templates/part.import.php:1 -msgid "Import a contacts file" -msgstr "Importer en fil med kontakter." - -#: templates/part.import.php:6 -msgid "Please choose the addressbook" -msgstr "Vennligst velg adressebok" - -#: templates/part.import.php:10 -msgid "create a new addressbook" -msgstr "Lag ny adressebok" - -#: templates/part.import.php:15 -msgid "Name of new addressbook" -msgstr "Navn på ny adressebok" - -#: templates/part.import.php:20 -msgid "Importing contacts" -msgstr "Importerer kontakter" - -#: templates/part.no_contacts.php:3 -msgid "You have no contacts in your addressbook." -msgstr "Du har ingen kontakter i din adressebok" - -#: templates/part.no_contacts.php:5 -msgid "Add contact" -msgstr "Ny kontakt" - -#: templates/part.selectaddressbook.php:1 -msgid "Select Address Books" -msgstr "" - -#: templates/part.selectaddressbook.php:27 -msgid "Enter name" -msgstr "" - -#: templates/part.selectaddressbook.php:29 -msgid "Enter description" -msgstr "" - -#: templates/settings.php:3 -msgid "CardDAV syncing addresses" -msgstr "Synkroniseringsadresse for CardDAV" - -#: templates/settings.php:3 -msgid "more info" -msgstr "mer info" - -#: templates/settings.php:5 -msgid "Primary address (Kontact et al)" -msgstr "" - -#: templates/settings.php:7 -msgid "iOS/OS X" -msgstr "iOS/OS X" - -#: templates/settings.php:20 -msgid "Show CardDav link" -msgstr "" - -#: templates/settings.php:23 -msgid "Show read-only VCF link" -msgstr "" - -#: templates/settings.php:26 -msgid "Share" -msgstr "" - -#: templates/settings.php:29 -msgid "Download" -msgstr "Hent ned" - -#: templates/settings.php:33 -msgid "Edit" -msgstr "Rediger" - -#: templates/settings.php:43 -msgid "New Address Book" -msgstr "Ny adressebok" - -#: templates/settings.php:44 -msgid "Name" -msgstr "" - -#: templates/settings.php:45 -msgid "Description" -msgstr "" - -#: templates/settings.php:46 -msgid "Save" -msgstr "Lagre" - -#: templates/settings.php:47 -msgid "Cancel" -msgstr "Avbryt" - -#: templates/settings.php:52 -msgid "More..." -msgstr "" diff --git a/l10n/nb_NO/core.po b/l10n/nb_NO/core.po index baab6b280d886230562f6329a47cd66792cdb328..97332c4a8a25441114068ad3f21f256d40123dfd 100644 --- a/l10n/nb_NO/core.po +++ b/l10n/nb_NO/core.po @@ -6,15 +6,16 @@ # , 2011, 2012. # Christer Eriksson , 2012. # Daniel , 2012. +# , 2012. # , 2012. # , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-16 02:04+0200\n" -"PO-Revision-Date: 2012-10-16 00:05+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-11-16 00:02+0100\n" +"PO-Revision-Date: 2012-11-14 23:13+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Norwegian Bokmål (Norway) (http://www.transifex.com/projects/p/owncloud/language/nb_NO/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -22,209 +23,241 @@ msgstr "" "Language: nb_NO\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: ajax/vcategories/add.php:23 ajax/vcategories/delete.php:23 -msgid "Application name not provided." -msgstr "Applikasjonsnavn ikke angitt." +#: ajax/vcategories/add.php:26 ajax/vcategories/edit.php:25 +msgid "Category type not provided." +msgstr "" -#: ajax/vcategories/add.php:29 +#: ajax/vcategories/add.php:30 msgid "No category to add?" msgstr "Ingen kategorier å legge til?" -#: ajax/vcategories/add.php:36 +#: ajax/vcategories/add.php:37 msgid "This category already exists: " msgstr "Denne kategorien finnes allerede:" -#: js/js.js:238 templates/layout.user.php:49 templates/layout.user.php:50 +#: ajax/vcategories/addToFavorites.php:26 ajax/vcategories/delete.php:27 +#: ajax/vcategories/favorites.php:24 +#: ajax/vcategories/removeFromFavorites.php:26 +msgid "Object type not provided." +msgstr "" + +#: ajax/vcategories/addToFavorites.php:30 +#: ajax/vcategories/removeFromFavorites.php:30 +#, php-format +msgid "%s ID not provided." +msgstr "" + +#: ajax/vcategories/addToFavorites.php:35 +#, php-format +msgid "Error adding %s to favorites." +msgstr "" + +#: ajax/vcategories/delete.php:35 js/oc-vcategories.js:136 +msgid "No categories selected for deletion." +msgstr "Ingen kategorier merket for sletting." + +#: ajax/vcategories/removeFromFavorites.php:35 +#, php-format +msgid "Error removing %s from favorites." +msgstr "" + +#: js/js.js:243 templates/layout.user.php:59 templates/layout.user.php:60 msgid "Settings" msgstr "Innstillinger" -#: js/js.js:670 -msgid "January" -msgstr "Januar" +#: js/js.js:688 +msgid "seconds ago" +msgstr "sekunder siden" -#: js/js.js:670 -msgid "February" -msgstr "Februar" +#: js/js.js:689 +msgid "1 minute ago" +msgstr "1 minutt siden" -#: js/js.js:670 -msgid "March" -msgstr "Mars" +#: js/js.js:690 +msgid "{minutes} minutes ago" +msgstr "{minutes} minutter siden" -#: js/js.js:670 -msgid "April" -msgstr "April" +#: js/js.js:691 +msgid "1 hour ago" +msgstr "" -#: js/js.js:670 -msgid "May" -msgstr "Mai" +#: js/js.js:692 +msgid "{hours} hours ago" +msgstr "" -#: js/js.js:670 -msgid "June" -msgstr "Juni" +#: js/js.js:693 +msgid "today" +msgstr "i dag" -#: js/js.js:671 -msgid "July" -msgstr "Juli" +#: js/js.js:694 +msgid "yesterday" +msgstr "i går" -#: js/js.js:671 -msgid "August" -msgstr "August" +#: js/js.js:695 +msgid "{days} days ago" +msgstr "{days} dager siden" -#: js/js.js:671 -msgid "September" -msgstr "September" +#: js/js.js:696 +msgid "last month" +msgstr "forrige måned" -#: js/js.js:671 -msgid "October" -msgstr "Oktober" +#: js/js.js:697 +msgid "{months} months ago" +msgstr "" -#: js/js.js:671 -msgid "November" -msgstr "November" +#: js/js.js:698 +msgid "months ago" +msgstr "måneder siden" -#: js/js.js:671 -msgid "December" -msgstr "Desember" +#: js/js.js:699 +msgid "last year" +msgstr "forrige år" + +#: js/js.js:700 +msgid "years ago" +msgstr "år siden" -#: js/oc-dialogs.js:123 +#: js/oc-dialogs.js:126 msgid "Choose" -msgstr "" +msgstr "Velg" -#: js/oc-dialogs.js:143 js/oc-dialogs.js:163 +#: js/oc-dialogs.js:146 js/oc-dialogs.js:166 msgid "Cancel" msgstr "Avbryt" -#: js/oc-dialogs.js:159 +#: js/oc-dialogs.js:162 msgid "No" msgstr "Nei" -#: js/oc-dialogs.js:160 +#: js/oc-dialogs.js:163 msgid "Yes" msgstr "Ja" -#: js/oc-dialogs.js:177 +#: js/oc-dialogs.js:180 msgid "Ok" msgstr "Ok" -#: js/oc-vcategories.js:68 -msgid "No categories selected for deletion." -msgstr "Ingen kategorier merket for sletting." +#: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102 +#: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162 +msgid "The object type is not specified." +msgstr "" -#: js/oc-vcategories.js:68 js/share.js:114 js/share.js:121 js/share.js:497 -#: js/share.js:509 +#: js/oc-vcategories.js:95 js/oc-vcategories.js:125 js/oc-vcategories.js:136 +#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:525 +#: js/share.js:537 msgid "Error" msgstr "Feil" -#: js/share.js:103 -msgid "Error while sharing" +#: js/oc-vcategories.js:179 +msgid "The app name is not specified." msgstr "" -#: js/share.js:114 -msgid "Error while unsharing" +#: js/oc-vcategories.js:194 +msgid "The required file {file} is not installed!" msgstr "" -#: js/share.js:121 -msgid "Error while changing permissions" +#: js/share.js:124 +msgid "Error while sharing" +msgstr "Feil under deling" + +#: js/share.js:135 +msgid "Error while unsharing" msgstr "" -#: js/share.js:130 -msgid "Shared with you and the group" +#: js/share.js:142 +msgid "Error while changing permissions" msgstr "" -#: js/share.js:130 -msgid "by" +#: js/share.js:151 +msgid "Shared with you and the group {group} by {owner}" msgstr "" -#: js/share.js:132 -msgid "Shared with you by" +#: js/share.js:153 +msgid "Shared with you by {owner}" msgstr "" -#: js/share.js:137 +#: js/share.js:158 msgid "Share with" -msgstr "" +msgstr "Del med" -#: js/share.js:142 +#: js/share.js:163 msgid "Share with link" -msgstr "" +msgstr "Del med link" -#: js/share.js:143 +#: js/share.js:164 msgid "Password protect" -msgstr "" +msgstr "Passordbeskyttet" -#: js/share.js:147 templates/installation.php:42 templates/login.php:24 +#: js/share.js:168 templates/installation.php:42 templates/login.php:24 #: templates/verify.php:13 msgid "Password" msgstr "Passord" -#: js/share.js:152 +#: js/share.js:173 msgid "Set expiration date" -msgstr "" +msgstr "Set utløpsdato" -#: js/share.js:153 +#: js/share.js:174 msgid "Expiration date" -msgstr "" +msgstr "Utløpsdato" -#: js/share.js:185 +#: js/share.js:206 msgid "Share via email:" -msgstr "" +msgstr "Del på epost" -#: js/share.js:187 +#: js/share.js:208 msgid "No people found" -msgstr "" +msgstr "Ingen personer funnet" -#: js/share.js:214 +#: js/share.js:235 msgid "Resharing is not allowed" msgstr "" -#: js/share.js:250 -msgid "Shared in" -msgstr "" - -#: js/share.js:250 -msgid "with" +#: js/share.js:271 +msgid "Shared in {item} with {user}" msgstr "" -#: js/share.js:271 +#: js/share.js:292 msgid "Unshare" -msgstr "" +msgstr "Avslutt deling" -#: js/share.js:283 +#: js/share.js:304 msgid "can edit" -msgstr "" +msgstr "kan endre" -#: js/share.js:285 +#: js/share.js:306 msgid "access control" -msgstr "" +msgstr "tilgangskontroll" -#: js/share.js:288 +#: js/share.js:309 msgid "create" -msgstr "" +msgstr "opprett" -#: js/share.js:291 +#: js/share.js:312 msgid "update" -msgstr "" +msgstr "oppdater" -#: js/share.js:294 +#: js/share.js:315 msgid "delete" -msgstr "" +msgstr "slett" -#: js/share.js:297 +#: js/share.js:318 msgid "share" -msgstr "" +msgstr "del" -#: js/share.js:322 js/share.js:484 +#: js/share.js:343 js/share.js:512 js/share.js:514 msgid "Password protected" -msgstr "" +msgstr "Passordbeskyttet" -#: js/share.js:497 +#: js/share.js:525 msgid "Error unsetting expiration date" msgstr "" -#: js/share.js:509 +#: js/share.js:537 msgid "Error setting expiration date" -msgstr "" +msgstr "Kan ikke sette utløpsdato" -#: lostpassword/index.php:26 +#: lostpassword/controller.php:47 msgid "ownCloud password reset" msgstr "Tilbakestill ownCloud passord" @@ -237,12 +270,12 @@ msgid "You will receive a link to reset your password via Email." msgstr "Du burde motta detaljer om å tilbakestille passordet ditt via epost." #: lostpassword/templates/lostpassword.php:5 -msgid "Requested" -msgstr "Anmodning" +msgid "Reset email send." +msgstr "" #: lostpassword/templates/lostpassword.php:8 -msgid "Login failed!" -msgstr "Innloggingen var ikke vellykket." +msgid "Request failed!" +msgstr "" #: lostpassword/templates/lostpassword.php:11 templates/installation.php:38 #: templates/login.php:20 @@ -301,13 +334,13 @@ msgstr "Sky ikke funnet" msgid "Edit categories" msgstr "Rediger kategorier" -#: templates/edit_categories_dialog.php:14 +#: templates/edit_categories_dialog.php:16 msgid "Add" msgstr "Legg til" #: templates/installation.php:23 templates/installation.php:31 msgid "Security Warning" -msgstr "" +msgstr "Sikkerhetsadvarsel" #: templates/installation.php:24 msgid "" @@ -365,7 +398,7 @@ msgstr "Databasenavn" #: templates/installation.php:121 msgid "Database tablespace" -msgstr "" +msgstr "Database tabellområde" #: templates/installation.php:127 msgid "Database host" @@ -375,27 +408,103 @@ msgstr "Databasevert" msgid "Finish setup" msgstr "Fullfør oppsetting" -#: templates/layout.guest.php:38 +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Sunday" +msgstr "Søndag" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Monday" +msgstr "Mandag" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Tuesday" +msgstr "Tirsdag" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Wednesday" +msgstr "Onsdag" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Thursday" +msgstr "Torsdag" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Friday" +msgstr "Fredag" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Saturday" +msgstr "Lørdag" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "January" +msgstr "Januar" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "February" +msgstr "Februar" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "March" +msgstr "Mars" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "April" +msgstr "April" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "May" +msgstr "Mai" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "June" +msgstr "Juni" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "July" +msgstr "Juli" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "August" +msgstr "August" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "September" +msgstr "September" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "October" +msgstr "Oktober" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "November" +msgstr "November" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "December" +msgstr "Desember" + +#: templates/layout.guest.php:41 msgid "web services under your control" msgstr "nettjenester under din kontroll" -#: templates/layout.user.php:34 +#: templates/layout.user.php:44 msgid "Log out" msgstr "Logg ut" #: templates/login.php:8 msgid "Automatic logon rejected!" -msgstr "" +msgstr "Automatisk pålogging avvist!" #: templates/login.php:9 msgid "" "If you did not change your password recently, your account may be " "compromised!" -msgstr "" +msgstr "Hvis du ikke har endret passordet ditt nylig kan kontoen din være kompromitert" #: templates/login.php:10 msgid "Please change your password to secure your account again." -msgstr "" +msgstr "Vennligst skift passord for å gjøre kontoen din sikker igjen." #: templates/login.php:15 msgid "Lost your password?" @@ -423,7 +532,7 @@ msgstr "neste" #: templates/verify.php:5 msgid "Security Warning!" -msgstr "" +msgstr "Sikkerhetsadvarsel!" #: templates/verify.php:6 msgid "" @@ -433,4 +542,4 @@ msgstr "" #: templates/verify.php:16 msgid "Verify" -msgstr "" +msgstr "Verifiser" diff --git a/l10n/nb_NO/files.po b/l10n/nb_NO/files.po index 3a28425725c2873993be08b0559fbc1aca89263a..ad0cf919ea0019b5e0e9e0164cd5eef68fc8e5dd 100644 --- a/l10n/nb_NO/files.po +++ b/l10n/nb_NO/files.po @@ -7,15 +7,17 @@ # Arvid Nornes , 2012. # Christer Eriksson , 2012. # Daniel , 2012. +# , 2012. # , 2012. # , 2012. +# , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-09-26 13:19+0200\n" -"PO-Revision-Date: 2012-09-26 11:20+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-12-01 00:01+0100\n" +"PO-Revision-Date: 2012-11-30 23:02+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Norwegian Bokmål (Norway) (http://www.transifex.com/projects/p/owncloud/language/nb_NO/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -28,195 +30,166 @@ msgid "There is no error, the file uploaded with success" msgstr "Det er ingen feil. Filen ble lastet opp." #: ajax/upload.php:21 -msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" -msgstr "Filstørrelsen overskrider maksgrensedirektivet upload_max_filesize i php.ini-konfigurasjonen." +msgid "" +"The uploaded file exceeds the upload_max_filesize directive in php.ini: " +msgstr "" -#: ajax/upload.php:22 +#: ajax/upload.php:23 msgid "" "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " "the HTML form" msgstr "Filstørrelsen overskrider maksgrensen på MAX_FILE_SIZE som ble oppgitt i HTML-skjemaet" -#: ajax/upload.php:23 +#: ajax/upload.php:25 msgid "The uploaded file was only partially uploaded" msgstr "Filopplastningen ble bare delvis gjennomført" -#: ajax/upload.php:24 +#: ajax/upload.php:26 msgid "No file was uploaded" msgstr "Ingen fil ble lastet opp" -#: ajax/upload.php:25 +#: ajax/upload.php:27 msgid "Missing a temporary folder" msgstr "Mangler en midlertidig mappe" -#: ajax/upload.php:26 +#: ajax/upload.php:28 msgid "Failed to write to disk" msgstr "Klarte ikke å skrive til disk" -#: appinfo/app.php:6 +#: appinfo/app.php:10 msgid "Files" msgstr "Filer" -#: js/fileactions.js:108 templates/index.php:62 +#: js/fileactions.js:117 templates/index.php:83 templates/index.php:84 msgid "Unshare" -msgstr "" +msgstr "Avslutt deling" -#: js/fileactions.js:110 templates/index.php:64 +#: js/fileactions.js:119 templates/index.php:89 templates/index.php:90 msgid "Delete" msgstr "Slett" -#: js/fileactions.js:182 +#: js/fileactions.js:181 msgid "Rename" -msgstr "" +msgstr "Omdøp" -#: js/filelist.js:190 js/filelist.js:192 -msgid "already exists" -msgstr "eksisterer allerede" +#: js/filelist.js:201 js/filelist.js:203 +msgid "{new_name} already exists" +msgstr "{new_name} finnes allerede" -#: js/filelist.js:190 js/filelist.js:192 +#: js/filelist.js:201 js/filelist.js:203 msgid "replace" msgstr "erstatt" -#: js/filelist.js:190 +#: js/filelist.js:201 msgid "suggest name" -msgstr "" +msgstr "foreslå navn" -#: js/filelist.js:190 js/filelist.js:192 +#: js/filelist.js:201 js/filelist.js:203 msgid "cancel" msgstr "avbryt" -#: js/filelist.js:239 js/filelist.js:241 -msgid "replaced" -msgstr "erstattet" +#: js/filelist.js:250 +msgid "replaced {new_name}" +msgstr "erstatt {new_name}" -#: js/filelist.js:239 js/filelist.js:241 js/filelist.js:273 js/filelist.js:275 +#: js/filelist.js:250 js/filelist.js:252 js/filelist.js:284 js/filelist.js:286 msgid "undo" msgstr "angre" -#: js/filelist.js:241 -msgid "with" -msgstr "med" +#: js/filelist.js:252 +msgid "replaced {new_name} with {old_name}" +msgstr "erstatt {new_name} med {old_name}" -#: js/filelist.js:273 -msgid "unshared" +#: js/filelist.js:284 +msgid "unshared {files}" msgstr "" -#: js/filelist.js:275 -msgid "deleted" -msgstr "slettet" +#: js/filelist.js:286 +msgid "deleted {files}" +msgstr "slettet {files}" + +#: js/files.js:33 +msgid "" +"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not " +"allowed." +msgstr "" -#: js/files.js:179 +#: js/files.js:183 msgid "generating ZIP-file, it may take some time." msgstr "opprettet ZIP-fil, dette kan ta litt tid" -#: js/files.js:208 +#: js/files.js:218 msgid "Unable to upload your file as it is a directory or has 0 bytes" msgstr "Kan ikke laste opp filen din siden det er en mappe eller den har 0 bytes" -#: js/files.js:208 +#: js/files.js:218 msgid "Upload Error" msgstr "Opplasting feilet" -#: js/files.js:236 js/files.js:341 js/files.js:371 +#: js/files.js:235 +msgid "Close" +msgstr "Lukk" + +#: js/files.js:254 js/files.js:368 js/files.js:398 msgid "Pending" msgstr "Ventende" -#: js/files.js:256 +#: js/files.js:274 msgid "1 file uploading" -msgstr "" +msgstr "1 fil lastes opp" -#: js/files.js:259 js/files.js:304 js/files.js:319 -msgid "files uploading" -msgstr "" +#: js/files.js:277 js/files.js:331 js/files.js:346 +msgid "{count} files uploading" +msgstr "{count} filer laster opp" -#: js/files.js:322 js/files.js:355 +#: js/files.js:349 js/files.js:382 msgid "Upload cancelled." msgstr "Opplasting avbrutt." -#: js/files.js:424 +#: js/files.js:451 msgid "" "File upload is in progress. Leaving the page now will cancel the upload." -msgstr "" +msgstr "Filopplasting pågår. Forlater du siden nå avbrytes opplastingen." -#: js/files.js:494 -msgid "Invalid name, '/' is not allowed." -msgstr "Ugyldig navn, '/' er ikke tillatt. " - -#: js/files.js:667 -msgid "files scanned" +#: js/files.js:523 +msgid "Invalid folder name. Usage of \"Shared\" is reserved by Owncloud" msgstr "" -#: js/files.js:675 +#: js/files.js:704 +msgid "{count} files scanned" +msgstr "{count} filer lest inn" + +#: js/files.js:712 msgid "error while scanning" -msgstr "" +msgstr "feil under skanning" -#: js/files.js:748 templates/index.php:48 +#: js/files.js:785 templates/index.php:65 msgid "Name" msgstr "Navn" -#: js/files.js:749 templates/index.php:56 +#: js/files.js:786 templates/index.php:76 msgid "Size" msgstr "Størrelse" -#: js/files.js:750 templates/index.php:58 +#: js/files.js:787 templates/index.php:78 msgid "Modified" msgstr "Endret" -#: js/files.js:777 -msgid "folder" -msgstr "mappe" +#: js/files.js:814 +msgid "1 folder" +msgstr "1 mappe" -#: js/files.js:779 -msgid "folders" -msgstr "mapper" +#: js/files.js:816 +msgid "{count} folders" +msgstr "{count} mapper" -#: js/files.js:787 -msgid "file" -msgstr "fil" +#: js/files.js:824 +msgid "1 file" +msgstr "1 fil" -#: js/files.js:789 -msgid "files" -msgstr "filer" - -#: js/files.js:833 -msgid "seconds ago" -msgstr "" - -#: js/files.js:834 -msgid "minute ago" -msgstr "" - -#: js/files.js:835 -msgid "minutes ago" -msgstr "" - -#: js/files.js:838 -msgid "today" -msgstr "" - -#: js/files.js:839 -msgid "yesterday" -msgstr "" - -#: js/files.js:840 -msgid "days ago" -msgstr "" - -#: js/files.js:841 -msgid "last month" -msgstr "" - -#: js/files.js:843 -msgid "months ago" -msgstr "" - -#: js/files.js:844 -msgid "last year" -msgstr "" - -#: js/files.js:845 -msgid "years ago" -msgstr "" +#: js/files.js:826 +msgid "{count} files" +msgstr "{count} filer" #: templates/admin.php:5 msgid "File handling" @@ -226,27 +199,27 @@ msgstr "Filhåndtering" msgid "Maximum upload size" msgstr "Maksimum opplastingsstørrelse" -#: templates/admin.php:7 +#: templates/admin.php:9 msgid "max. possible: " msgstr "max. mulige:" -#: templates/admin.php:9 +#: templates/admin.php:12 msgid "Needed for multi-file and folder downloads." msgstr "Nødvendig for å laste ned mapper og mer enn én fil om gangen." -#: templates/admin.php:9 +#: templates/admin.php:14 msgid "Enable ZIP-download" msgstr "Aktiver nedlasting av ZIP" -#: templates/admin.php:11 +#: templates/admin.php:17 msgid "0 is unlimited" msgstr "0 er ubegrenset" -#: templates/admin.php:12 +#: templates/admin.php:19 msgid "Maximum input size for ZIP files" msgstr "Maksimal størrelse på ZIP-filer" -#: templates/admin.php:14 +#: templates/admin.php:23 msgid "Save" msgstr "Lagre" @@ -254,52 +227,48 @@ msgstr "Lagre" msgid "New" msgstr "Ny" -#: templates/index.php:9 +#: templates/index.php:10 msgid "Text file" msgstr "Tekstfil" -#: templates/index.php:10 +#: templates/index.php:12 msgid "Folder" msgstr "Mappe" -#: templates/index.php:11 -msgid "From url" -msgstr "Fra url" +#: templates/index.php:14 +msgid "From link" +msgstr "" -#: templates/index.php:20 +#: templates/index.php:35 msgid "Upload" msgstr "Last opp" -#: templates/index.php:27 +#: templates/index.php:43 msgid "Cancel upload" msgstr "Avbryt opplasting" -#: templates/index.php:40 +#: templates/index.php:57 msgid "Nothing in here. Upload something!" msgstr "Ingenting her. Last opp noe!" -#: templates/index.php:50 -msgid "Share" -msgstr "Del" - -#: templates/index.php:52 +#: templates/index.php:71 msgid "Download" msgstr "Last ned" -#: templates/index.php:75 +#: templates/index.php:103 msgid "Upload too large" msgstr "Opplasting for stor" -#: templates/index.php:77 +#: templates/index.php:105 msgid "" "The files you are trying to upload exceed the maximum size for file uploads " "on this server." msgstr "Filene du prøver å laste opp er for store for å laste opp til denne serveren." -#: templates/index.php:82 +#: templates/index.php:110 msgid "Files are being scanned, please wait." msgstr "Skanner etter filer, vennligst vent." -#: templates/index.php:85 +#: templates/index.php:113 msgid "Current scanning" msgstr "Pågående skanning" diff --git a/l10n/nb_NO/files_external.po b/l10n/nb_NO/files_external.po index 95af4ebb24db2f9a62f3ab1b6d5158a88ced08da..f5a90c0da839bd82c349497f81b3bb5a2b6b434f 100644 --- a/l10n/nb_NO/files_external.po +++ b/l10n/nb_NO/files_external.po @@ -8,9 +8,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-02 23:16+0200\n" -"PO-Revision-Date: 2012-10-02 21:17+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-12-12 00:12+0100\n" +"PO-Revision-Date: 2012-12-11 23:13+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Norwegian Bokmål (Norway) (http://www.transifex.com/projects/p/owncloud/language/nb_NO/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -42,66 +42,80 @@ msgstr "" msgid "Error configuring Google Drive storage" msgstr "" +#: lib/config.php:434 +msgid "" +"Warning: \"smbclient\" is not installed. Mounting of CIFS/SMB shares " +"is not possible. Please ask your system administrator to install it." +msgstr "" + +#: lib/config.php:435 +msgid "" +"Warning: The FTP support in PHP is not enabled or installed. Mounting" +" of FTP shares is not possible. Please ask your system administrator to " +"install it." +msgstr "" + #: templates/settings.php:3 msgid "External Storage" msgstr "" -#: templates/settings.php:7 templates/settings.php:19 +#: templates/settings.php:8 templates/settings.php:22 msgid "Mount point" msgstr "" -#: templates/settings.php:8 +#: templates/settings.php:9 msgid "Backend" msgstr "" -#: templates/settings.php:9 +#: templates/settings.php:10 msgid "Configuration" msgstr "Konfigurasjon" -#: templates/settings.php:10 +#: templates/settings.php:11 msgid "Options" msgstr "Innstillinger" -#: templates/settings.php:11 +#: templates/settings.php:12 msgid "Applicable" msgstr "" -#: templates/settings.php:23 +#: templates/settings.php:27 msgid "Add mount point" msgstr "" -#: templates/settings.php:54 templates/settings.php:62 +#: templates/settings.php:85 msgid "None set" msgstr "" -#: templates/settings.php:63 +#: templates/settings.php:86 msgid "All Users" msgstr "Alle brukere" -#: templates/settings.php:64 +#: templates/settings.php:87 msgid "Groups" msgstr "Grupper" -#: templates/settings.php:69 +#: templates/settings.php:95 msgid "Users" msgstr "Brukere" -#: templates/settings.php:77 templates/settings.php:107 +#: templates/settings.php:108 templates/settings.php:109 +#: templates/settings.php:149 templates/settings.php:150 msgid "Delete" msgstr "Slett" -#: templates/settings.php:87 +#: templates/settings.php:124 msgid "Enable User External Storage" msgstr "" -#: templates/settings.php:88 +#: templates/settings.php:125 msgid "Allow users to mount their own external storage" msgstr "" -#: templates/settings.php:99 +#: templates/settings.php:139 msgid "SSL root certificates" msgstr "" -#: templates/settings.php:113 +#: templates/settings.php:158 msgid "Import Root Certificate" msgstr "" diff --git a/l10n/nb_NO/files_pdfviewer.po b/l10n/nb_NO/files_pdfviewer.po deleted file mode 100644 index e036a75c1b4373666c2e031cfed54624fe3d4be7..0000000000000000000000000000000000000000 --- a/l10n/nb_NO/files_pdfviewer.po +++ /dev/null @@ -1,42 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 02:18+0200\n" -"PO-Revision-Date: 2012-08-26 00:19+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Norwegian Bokmål (Norway) (http://www.transifex.com/projects/p/owncloud/language/nb_NO/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: nb_NO\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: js/viewer.js:22 -msgid "Previous" -msgstr "" - -#: js/viewer.js:23 -msgid "Next" -msgstr "" - -#: js/viewer.js:29 -msgid "Page Width" -msgstr "" - -#: js/viewer.js:29 -msgid "Page Fit" -msgstr "" - -#: js/viewer.js:30 -msgid "Print" -msgstr "" - -#: js/viewer.js:32 -msgid "Download" -msgstr "" diff --git a/l10n/nb_NO/files_sharing.po b/l10n/nb_NO/files_sharing.po index f449d2b5d8df83345a2adfffa25187506bfa2323..8f4798597a079a1a6755cb7a9c93b7c48965550b 100644 --- a/l10n/nb_NO/files_sharing.po +++ b/l10n/nb_NO/files_sharing.po @@ -4,13 +4,14 @@ # # Translators: # Arvid Nornes , 2012. +# , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-09-22 01:14+0200\n" -"PO-Revision-Date: 2012-09-21 23:15+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-10-31 00:01+0100\n" +"PO-Revision-Date: 2012-10-30 12:47+0000\n" +"Last-Translator: hdalgrav \n" "Language-Team: Norwegian Bokmål (Norway) (http://www.transifex.com/projects/p/owncloud/language/nb_NO/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -20,30 +21,30 @@ msgstr "" #: templates/authenticate.php:4 msgid "Password" -msgstr "" +msgstr "Passord" #: templates/authenticate.php:6 msgid "Submit" -msgstr "" +msgstr "Send inn" #: templates/public.php:9 #, php-format msgid "%s shared the folder %s with you" -msgstr "" +msgstr "%s delte mappen %s med deg" #: templates/public.php:11 #, php-format msgid "%s shared the file %s with you" -msgstr "" +msgstr "%s delte filen %s med deg" #: templates/public.php:14 templates/public.php:30 msgid "Download" -msgstr "" +msgstr "Last ned" #: templates/public.php:29 msgid "No preview available for" -msgstr "" +msgstr "Forhåndsvisning ikke tilgjengelig for" -#: templates/public.php:37 +#: templates/public.php:35 msgid "web services under your control" -msgstr "" +msgstr "web tjenester du kontrollerer" diff --git a/l10n/nb_NO/files_texteditor.po b/l10n/nb_NO/files_texteditor.po deleted file mode 100644 index 0086fe9d648cd4cd40dfc18608401ee647f7c7b5..0000000000000000000000000000000000000000 --- a/l10n/nb_NO/files_texteditor.po +++ /dev/null @@ -1,44 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 01:17+0200\n" -"PO-Revision-Date: 2012-08-25 23:18+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Norwegian Bokmål (Norway) (http://www.transifex.com/projects/p/owncloud/language/nb_NO/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: nb_NO\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: js/aceeditor/mode-coldfusion-uncompressed.js:1568 -#: js/aceeditor/mode-liquid-uncompressed.js:902 -#: js/aceeditor/mode-svg-uncompressed.js:1575 -msgid "regex" -msgstr "" - -#: js/editor.js:72 js/editor.js:156 js/editor.js:163 -msgid "Save" -msgstr "" - -#: js/editor.js:74 -msgid "Close" -msgstr "" - -#: js/editor.js:149 -msgid "Saving..." -msgstr "" - -#: js/editor.js:239 -msgid "An error occurred!" -msgstr "" - -#: js/editor.js:266 -msgid "There were unsaved changes, click here to go back" -msgstr "" diff --git a/l10n/nb_NO/files_versions.po b/l10n/nb_NO/files_versions.po index de2fd2c9766330843393111a3673cf853af3d7ee..bd8d0fed59ef59c93426e575f811fa626e8c08b7 100644 --- a/l10n/nb_NO/files_versions.po +++ b/l10n/nb_NO/files_versions.po @@ -4,13 +4,14 @@ # # Translators: # Arvid Nornes , 2012. +# , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-09-22 01:14+0200\n" -"PO-Revision-Date: 2012-09-21 23:15+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-10-31 00:01+0100\n" +"PO-Revision-Date: 2012-10-30 12:48+0000\n" +"Last-Translator: hdalgrav \n" "Language-Team: Norwegian Bokmål (Norway) (http://www.transifex.com/projects/p/owncloud/language/nb_NO/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -24,20 +25,20 @@ msgstr "" #: js/versions.js:16 msgid "History" -msgstr "" +msgstr "Historie" #: templates/settings-personal.php:4 msgid "Versions" -msgstr "" +msgstr "Versjoner" #: templates/settings-personal.php:7 msgid "This will delete all existing backup versions of your files" -msgstr "" +msgstr "Dette vil slette alle tidligere versjoner av alle filene dine" #: templates/settings.php:3 msgid "Files Versioning" -msgstr "" +msgstr "Fil versjonering" #: templates/settings.php:4 msgid "Enable" -msgstr "" +msgstr "Aktiver" diff --git a/l10n/nb_NO/gallery.po b/l10n/nb_NO/gallery.po deleted file mode 100644 index cf8525c3105e0d75eb9eb787f3a90fe513ba2738..0000000000000000000000000000000000000000 --- a/l10n/nb_NO/gallery.po +++ /dev/null @@ -1,42 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# , 2012. -# Christer Eriksson , 2012. -# Daniel , 2012. -# , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 01:17+0200\n" -"PO-Revision-Date: 2012-08-25 23:01+0000\n" -"Last-Translator: runesudden \n" -"Language-Team: Norwegian Bokmål (Norway) (http://www.transifex.com/projects/p/owncloud/language/nb_NO/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: nb_NO\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: appinfo/app.php:42 -msgid "Pictures" -msgstr "Bilder" - -#: js/pictures.js:12 -msgid "Share gallery" -msgstr "Del galleri" - -#: js/pictures.js:32 -msgid "Error: " -msgstr "Feil:" - -#: js/pictures.js:32 -msgid "Internal error" -msgstr "Intern feil" - -#: templates/index.php:27 -msgid "Slideshow" -msgstr "Lysbildefremvisning" diff --git a/l10n/nb_NO/impress.po b/l10n/nb_NO/impress.po deleted file mode 100644 index 8222542fcc3cfcd78c0830c73d0d0f14df439ec4..0000000000000000000000000000000000000000 --- a/l10n/nb_NO/impress.po +++ /dev/null @@ -1,22 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 01:17+0200\n" -"PO-Revision-Date: 2012-08-25 23:18+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Norwegian Bokmål (Norway) (http://www.transifex.com/projects/p/owncloud/language/nb_NO/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: nb_NO\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: templates/presentations.php:7 -msgid "Documentation" -msgstr "" diff --git a/l10n/nb_NO/lib.po b/l10n/nb_NO/lib.po index 4a78161719d0d6898146cd667ee1180e1e69bdd8..266ba36b0692bebc0224369136d04737cbd90b1a 100644 --- a/l10n/nb_NO/lib.po +++ b/l10n/nb_NO/lib.po @@ -4,58 +4,60 @@ # # Translators: # Arvid Nornes , 2012. +# , 2012. # , 2012. +# , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-09-01 02:01+0200\n" -"PO-Revision-Date: 2012-09-01 00:02+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-11-16 00:02+0100\n" +"PO-Revision-Date: 2012-11-14 23:13+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Norwegian Bokmål (Norway) (http://www.transifex.com/projects/p/owncloud/language/nb_NO/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: nb_NO\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: app.php:288 +#: app.php:285 msgid "Help" msgstr "Hjelp" -#: app.php:295 +#: app.php:292 msgid "Personal" msgstr "Personlig" -#: app.php:300 +#: app.php:297 msgid "Settings" msgstr "Innstillinger" -#: app.php:305 +#: app.php:302 msgid "Users" msgstr "Brukere" -#: app.php:312 +#: app.php:309 msgid "Apps" msgstr "Apper" -#: app.php:314 +#: app.php:311 msgid "Admin" msgstr "Admin" -#: files.php:280 +#: files.php:332 msgid "ZIP download is turned off." msgstr "ZIP-nedlasting av avslått" -#: files.php:281 +#: files.php:333 msgid "Files need to be downloaded one by one." msgstr "Filene må lastes ned en om gangen" -#: files.php:281 files.php:306 +#: files.php:333 files.php:358 msgid "Back to Files" msgstr "Tilbake til filer" -#: files.php:305 +#: files.php:357 msgid "Selected files too large to generate zip file." msgstr "De valgte filene er for store til å kunne generere ZIP-fil" @@ -63,7 +65,7 @@ msgstr "De valgte filene er for store til å kunne generere ZIP-fil" msgid "Application is not enabled" msgstr "Applikasjon er ikke påslått" -#: json.php:39 json.php:63 json.php:75 +#: json.php:39 json.php:64 json.php:77 json.php:89 msgid "Authentication error" msgstr "Autentiseringsfeil" @@ -71,57 +73,84 @@ msgstr "Autentiseringsfeil" msgid "Token expired. Please reload page." msgstr "Symbol utløpt. Vennligst last inn siden på nytt." -#: template.php:86 +#: search/provider/file.php:17 search/provider/file.php:35 +msgid "Files" +msgstr "Filer" + +#: search/provider/file.php:26 search/provider/file.php:33 +msgid "Text" +msgstr "Tekst" + +#: search/provider/file.php:29 +msgid "Images" +msgstr "Bilder" + +#: template.php:103 msgid "seconds ago" msgstr "sekunder siden" -#: template.php:87 +#: template.php:104 msgid "1 minute ago" msgstr "1 minuitt siden" -#: template.php:88 +#: template.php:105 #, php-format msgid "%d minutes ago" msgstr "%d minutter siden" -#: template.php:91 +#: template.php:106 +msgid "1 hour ago" +msgstr "" + +#: template.php:107 +#, php-format +msgid "%d hours ago" +msgstr "" + +#: template.php:108 msgid "today" msgstr "i dag" -#: template.php:92 +#: template.php:109 msgid "yesterday" msgstr "i går" -#: template.php:93 +#: template.php:110 #, php-format msgid "%d days ago" msgstr "%d dager siden" -#: template.php:94 +#: template.php:111 msgid "last month" msgstr "forrige måned" -#: template.php:95 -msgid "months ago" -msgstr "måneder siden" +#: template.php:112 +#, php-format +msgid "%d months ago" +msgstr "" -#: template.php:96 +#: template.php:113 msgid "last year" msgstr "i fjor" -#: template.php:97 +#: template.php:114 msgid "years ago" msgstr "år siden" -#: updater.php:66 +#: updater.php:75 #, php-format msgid "%s is available. Get more information" -msgstr "" +msgstr "%s er tilgjengelig. Få mer informasjon" -#: updater.php:68 +#: updater.php:77 msgid "up to date" -msgstr "" +msgstr "oppdatert" -#: updater.php:71 +#: updater.php:80 msgid "updates check is disabled" +msgstr "versjonssjekk er avslått" + +#: vcategories.php:188 vcategories.php:249 +#, php-format +msgid "Could not find category \"%s\"" msgstr "" diff --git a/l10n/nb_NO/media.po b/l10n/nb_NO/media.po deleted file mode 100644 index b6d932f8772127d79d1a76d34485d2aceb49069a..0000000000000000000000000000000000000000 --- a/l10n/nb_NO/media.po +++ /dev/null @@ -1,67 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# , 2011. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-06-06 00:12+0200\n" -"PO-Revision-Date: 2012-06-05 22:15+0000\n" -"Last-Translator: icewind \n" -"Language-Team: Norwegian Bokmål (Norway) (http://www.transifex.net/projects/p/owncloud/language/nb_NO/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: nb_NO\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: appinfo/app.php:32 templates/player.php:8 -msgid "Music" -msgstr "Musikk" - -#: js/music.js:18 -msgid "Add album to playlist" -msgstr "" - -#: templates/music.php:3 templates/player.php:12 -msgid "Play" -msgstr "Spill" - -#: templates/music.php:4 templates/music.php:26 templates/player.php:13 -msgid "Pause" -msgstr "Pause" - -#: templates/music.php:5 -msgid "Previous" -msgstr "Forrige" - -#: templates/music.php:6 templates/player.php:14 -msgid "Next" -msgstr "Neste" - -#: templates/music.php:7 -msgid "Mute" -msgstr "Demp" - -#: templates/music.php:8 -msgid "Unmute" -msgstr "Skru på lyd" - -#: templates/music.php:25 -msgid "Rescan Collection" -msgstr "Skan samling på nytt" - -#: templates/music.php:37 -msgid "Artist" -msgstr "Artist" - -#: templates/music.php:38 -msgid "Album" -msgstr "Album" - -#: templates/music.php:39 -msgid "Title" -msgstr "Tittel" diff --git a/l10n/nb_NO/settings.po b/l10n/nb_NO/settings.po index 0089568671f98ba8aa022f8b7ed7569d2a300319..ab234540e2573735e6e87576c051f162a2248078 100644 --- a/l10n/nb_NO/settings.po +++ b/l10n/nb_NO/settings.po @@ -7,15 +7,16 @@ # Arvid Nornes , 2012. # Christer Eriksson , 2012. # Daniel , 2012. +# , 2012. # , 2012. # , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-09 02:03+0200\n" -"PO-Revision-Date: 2012-10-09 00:04+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-12-03 00:04+0100\n" +"PO-Revision-Date: 2012-12-02 03:18+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Norwegian Bokmål (Norway) (http://www.transifex.com/projects/p/owncloud/language/nb_NO/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -23,70 +24,73 @@ msgstr "" "Language: nb_NO\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: ajax/apps/ocs.php:23 +#: ajax/apps/ocs.php:20 msgid "Unable to load list from App Store" msgstr "Lasting av liste fra App Store feilet." -#: ajax/creategroup.php:9 ajax/removeuser.php:13 ajax/setquota.php:18 -#: ajax/togglegroups.php:15 -msgid "Authentication error" -msgstr "Autentikasjonsfeil" - -#: ajax/creategroup.php:19 +#: ajax/creategroup.php:10 msgid "Group already exists" -msgstr "" +msgstr "Gruppen finnes allerede" -#: ajax/creategroup.php:28 +#: ajax/creategroup.php:19 msgid "Unable to add group" -msgstr "" +msgstr "Kan ikke legge til gruppe" -#: ajax/enableapp.php:14 +#: ajax/enableapp.php:12 msgid "Could not enable app. " -msgstr "" +msgstr "Kan ikke aktivere app." -#: ajax/lostpassword.php:14 +#: ajax/lostpassword.php:12 msgid "Email saved" msgstr "Epost lagret" -#: ajax/lostpassword.php:16 +#: ajax/lostpassword.php:14 msgid "Invalid email" msgstr "Ugyldig epost" -#: ajax/openid.php:16 +#: ajax/openid.php:13 msgid "OpenID Changed" msgstr "OpenID endret" -#: ajax/openid.php:18 ajax/setlanguage.php:20 ajax/setlanguage.php:23 +#: ajax/openid.php:15 ajax/setlanguage.php:17 ajax/setlanguage.php:20 msgid "Invalid request" msgstr "Ugyldig forespørsel" -#: ajax/removegroup.php:16 +#: ajax/removegroup.php:13 msgid "Unable to delete group" -msgstr "" +msgstr "Kan ikke slette gruppe" -#: ajax/removeuser.php:22 +#: ajax/removeuser.php:15 ajax/setquota.php:15 ajax/togglegroups.php:18 +msgid "Authentication error" +msgstr "Autentikasjonsfeil" + +#: ajax/removeuser.php:24 msgid "Unable to delete user" -msgstr "" +msgstr "Kan ikke slette bruker" -#: ajax/setlanguage.php:18 +#: ajax/setlanguage.php:15 msgid "Language changed" msgstr "Språk endret" -#: ajax/togglegroups.php:25 +#: ajax/togglegroups.php:12 +msgid "Admins can't remove themself from the admin group" +msgstr "" + +#: ajax/togglegroups.php:28 #, php-format msgid "Unable to add user to group %s" -msgstr "" +msgstr "Kan ikke legge bruker til gruppen %s" -#: ajax/togglegroups.php:31 +#: ajax/togglegroups.php:34 #, php-format msgid "Unable to remove user from group %s" -msgstr "" +msgstr "Kan ikke slette bruker fra gruppen %s" -#: js/apps.js:28 js/apps.js:65 +#: js/apps.js:28 js/apps.js:67 msgid "Disable" msgstr "Slå avBehandle " -#: js/apps.js:28 js/apps.js:54 +#: js/apps.js:28 js/apps.js:55 msgid "Enable" msgstr "Slå på" @@ -94,104 +98,17 @@ msgstr "Slå på" msgid "Saving..." msgstr "Lagrer..." -#: personal.php:47 personal.php:48 +#: personal.php:42 personal.php:43 msgid "__language_name__" msgstr "__language_name__" -#: templates/admin.php:14 -msgid "Security Warning" -msgstr "Sikkerhetsadvarsel" - -#: templates/admin.php:17 -msgid "" -"Your data directory and your files are probably accessible from the " -"internet. The .htaccess file that ownCloud provides is not working. We " -"strongly suggest that you configure your webserver in a way that the data " -"directory is no longer accessible or you move the data directory outside the" -" webserver document root." -msgstr "" - -#: templates/admin.php:31 -msgid "Cron" -msgstr "Cron" - -#: templates/admin.php:37 -msgid "Execute one task with each page loaded" -msgstr "" - -#: templates/admin.php:43 -msgid "" -"cron.php is registered at a webcron service. Call the cron.php page in the " -"owncloud root once a minute over http." -msgstr "" - -#: templates/admin.php:49 -msgid "" -"Use systems cron service. Call the cron.php file in the owncloud folder via " -"a system cronjob once a minute." -msgstr "" - -#: templates/admin.php:56 -msgid "Sharing" -msgstr "" - -#: templates/admin.php:61 -msgid "Enable Share API" -msgstr "" - -#: templates/admin.php:62 -msgid "Allow apps to use the Share API" -msgstr "" - -#: templates/admin.php:67 -msgid "Allow links" -msgstr "" - -#: templates/admin.php:68 -msgid "Allow users to share items to the public with links" -msgstr "" - -#: templates/admin.php:73 -msgid "Allow resharing" -msgstr "" - -#: templates/admin.php:74 -msgid "Allow users to share items shared with them again" -msgstr "" - -#: templates/admin.php:79 -msgid "Allow users to share with anyone" -msgstr "" - -#: templates/admin.php:81 -msgid "Allow users to only share with users in their groups" -msgstr "" - -#: templates/admin.php:88 -msgid "Log" -msgstr "Logg" - -#: templates/admin.php:116 -msgid "More" -msgstr "Mer" - -#: templates/admin.php:124 -msgid "" -"Developed by the ownCloud community, the source code is " -"licensed under the AGPL." -msgstr "" - #: templates/apps.php:10 msgid "Add your App" msgstr "Legg til din App" #: templates/apps.php:11 msgid "More Apps" -msgstr "" +msgstr "Flere Apps" #: templates/apps.php:27 msgid "Select an App" @@ -217,21 +134,21 @@ msgstr "Håndtere store filer" msgid "Ask a question" msgstr "Still et spørsmål" -#: templates/help.php:23 +#: templates/help.php:22 msgid "Problems connecting to help database." msgstr "Problemer med å koble til hjelp-databasen" -#: templates/help.php:24 +#: templates/help.php:23 msgid "Go there manually." msgstr "Gå dit manuelt" -#: templates/help.php:32 +#: templates/help.php:31 msgid "Answer" msgstr "Svar" #: templates/personal.php:8 #, php-format -msgid "You have used %s of the available %s" +msgid "You have used %s of the available %s" msgstr "" #: templates/personal.php:12 @@ -244,7 +161,7 @@ msgstr "Last ned" #: templates/personal.php:19 msgid "Your password was changed" -msgstr "" +msgstr "Passord har blitt endret" #: templates/personal.php:20 msgid "Unable to change your password" @@ -290,6 +207,16 @@ msgstr "Bidra til oversettelsen" msgid "use this address to connect to your ownCloud in your file manager" msgstr "bruk denne adressen for å koble til din ownCloud gjennom filhåndtereren" +#: templates/personal.php:61 +msgid "" +"Developed by the ownCloud community, the source code is " +"licensed under the AGPL." +msgstr "" + #: templates/users.php:21 templates/users.php:76 msgid "Name" msgstr "Navn" diff --git a/l10n/nb_NO/tasks.po b/l10n/nb_NO/tasks.po deleted file mode 100644 index bf07aa76d0eace4b748862d5cd3771baf7ddda28..0000000000000000000000000000000000000000 --- a/l10n/nb_NO/tasks.po +++ /dev/null @@ -1,107 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Arvid Nornes , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-24 02:02+0200\n" -"PO-Revision-Date: 2012-08-23 17:17+0000\n" -"Last-Translator: Arvid Nornes \n" -"Language-Team: Norwegian Bokmål (Norway) (http://www.transifex.com/projects/p/owncloud/language/nb_NO/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: nb_NO\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: ajax/update_property.php:51 lib/app.php:89 lib/app.php:101 -msgid "Invalid date/time" -msgstr "feil i dato/klokkeslett" - -#: appinfo/app.php:11 -msgid "Tasks" -msgstr "Oppgaver" - -#: js/tasks.js:415 -msgid "No category" -msgstr "Ingen kategori" - -#: lib/app.php:33 -msgid "Unspecified" -msgstr "Uspesifisert" - -#: lib/app.php:34 -msgid "1=highest" -msgstr "1=høyest" - -#: lib/app.php:38 -msgid "5=medium" -msgstr "5=middels" - -#: lib/app.php:42 -msgid "9=lowest" -msgstr "9=lavest" - -#: lib/app.php:81 -msgid "Empty Summary" -msgstr "" - -#: lib/app.php:93 -msgid "Invalid percent complete" -msgstr "Feil i prosent fullført" - -#: lib/app.php:107 -msgid "Invalid priority" -msgstr "Ulovlig prioritet" - -#: templates/tasks.php:3 -msgid "Add Task" -msgstr "Legg til oppgave" - -#: templates/tasks.php:4 -msgid "Order Due" -msgstr "" - -#: templates/tasks.php:5 -msgid "Order List" -msgstr "" - -#: templates/tasks.php:6 -msgid "Order Complete" -msgstr "" - -#: templates/tasks.php:7 -msgid "Order Location" -msgstr "" - -#: templates/tasks.php:8 -msgid "Order Priority" -msgstr "" - -#: templates/tasks.php:9 -msgid "Order Label" -msgstr "" - -#: templates/tasks.php:16 -msgid "Loading tasks..." -msgstr "Henter oppgaver..." - -#: templates/tasks.php:20 -msgid "Important" -msgstr "Viktig" - -#: templates/tasks.php:23 -msgid "More" -msgstr "Mer" - -#: templates/tasks.php:26 -msgid "Less" -msgstr "Mindre" - -#: templates/tasks.php:29 -msgid "Delete" -msgstr "Slett" diff --git a/l10n/nb_NO/user_ldap.po b/l10n/nb_NO/user_ldap.po index 2208bdc9acd06c37bead17eb869f731168698714..1ebfbe8b54464c6ccd3e489432617d318e43f248 100644 --- a/l10n/nb_NO/user_ldap.po +++ b/l10n/nb_NO/user_ldap.po @@ -3,19 +3,20 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-29 02:01+0200\n" -"PO-Revision-Date: 2012-08-29 00:03+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-10-31 00:01+0100\n" +"PO-Revision-Date: 2012-10-30 13:08+0000\n" +"Last-Translator: hdalgrav \n" "Language-Team: Norwegian Bokmål (Norway) (http://www.transifex.com/projects/p/owncloud/language/nb_NO/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: nb_NO\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" #: templates/settings.php:8 msgid "Host" @@ -47,7 +48,7 @@ msgstr "" #: templates/settings.php:11 msgid "Password" -msgstr "" +msgstr "Passord" #: templates/settings.php:11 msgid "For anonymous access, leave DN and Password empty." @@ -83,7 +84,7 @@ msgstr "" #: templates/settings.php:14 msgid "Group Filter" -msgstr "" +msgstr "Gruppefilter" #: templates/settings.php:14 msgid "Defines the filter to apply, when retrieving groups." @@ -95,7 +96,7 @@ msgstr "" #: templates/settings.php:17 msgid "Port" -msgstr "" +msgstr "Port" #: templates/settings.php:18 msgid "Base User Tree" @@ -111,11 +112,11 @@ msgstr "" #: templates/settings.php:21 msgid "Use TLS" -msgstr "" +msgstr "Bruk TLS" #: templates/settings.php:21 msgid "Do not use it for SSL connections, it will fail." -msgstr "" +msgstr "Ikke bruk for SSL tilkoblinger, dette vil ikke fungere." #: templates/settings.php:22 msgid "Case insensitve LDAP server (Windows)" @@ -133,7 +134,7 @@ msgstr "" #: templates/settings.php:23 msgid "Not recommended, use for testing only." -msgstr "" +msgstr "Ikke anbefalt, bruk kun for testing" #: templates/settings.php:24 msgid "User Display Name Field" @@ -153,11 +154,11 @@ msgstr "" #: templates/settings.php:27 msgid "in bytes" -msgstr "" +msgstr "i bytes" #: templates/settings.php:29 msgid "in seconds. A change empties the cache." -msgstr "" +msgstr "i sekunder. En endring tømmer bufferen." #: templates/settings.php:30 msgid "" @@ -167,4 +168,4 @@ msgstr "" #: templates/settings.php:32 msgid "Help" -msgstr "" +msgstr "Hjelp" diff --git a/l10n/nb_NO/user_migrate.po b/l10n/nb_NO/user_migrate.po deleted file mode 100644 index 2e2605cb75e8f8b3520e3eb59da35c2ab5b13248..0000000000000000000000000000000000000000 --- a/l10n/nb_NO/user_migrate.po +++ /dev/null @@ -1,51 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:45+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Norwegian Bokmål (Norway) (http://www.transifex.com/projects/p/owncloud/language/nb_NO/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: nb_NO\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: js/export.js:14 js/export.js:20 -msgid "Export" -msgstr "" - -#: js/export.js:19 -msgid "Something went wrong while the export file was being generated" -msgstr "" - -#: js/export.js:19 -msgid "An error has occurred" -msgstr "" - -#: templates/settings.php:2 -msgid "Export your user account" -msgstr "" - -#: templates/settings.php:3 -msgid "" -"This will create a compressed file that contains your ownCloud account." -msgstr "" - -#: templates/settings.php:13 -msgid "Import user account" -msgstr "" - -#: templates/settings.php:15 -msgid "ownCloud User Zip" -msgstr "" - -#: templates/settings.php:17 -msgid "Import" -msgstr "" diff --git a/l10n/nb_NO/user_openid.po b/l10n/nb_NO/user_openid.po deleted file mode 100644 index cf98d889a4970e60cbae1376efd30a122053cc85..0000000000000000000000000000000000000000 --- a/l10n/nb_NO/user_openid.po +++ /dev/null @@ -1,54 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:45+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Norwegian Bokmål (Norway) (http://www.transifex.com/projects/p/owncloud/language/nb_NO/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: nb_NO\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: templates/nomode.php:12 -msgid "This is an OpenID server endpoint. For more information, see " -msgstr "" - -#: templates/nomode.php:14 -msgid "Identity: " -msgstr "" - -#: templates/nomode.php:15 -msgid "Realm: " -msgstr "" - -#: templates/nomode.php:16 -msgid "User: " -msgstr "" - -#: templates/nomode.php:17 -msgid "Login" -msgstr "" - -#: templates/nomode.php:22 -msgid "Error: No user Selected" -msgstr "" - -#: templates/settings.php:4 -msgid "you can authenticate to other sites with this address" -msgstr "" - -#: templates/settings.php:5 -msgid "Authorized OpenID provider" -msgstr "" - -#: templates/settings.php:6 -msgid "Your address at Wordpress, Identi.ca, …" -msgstr "" diff --git a/l10n/nb_NO/files_odfviewer.po b/l10n/nb_NO/user_webdavauth.po similarity index 74% rename from l10n/nb_NO/files_odfviewer.po rename to l10n/nb_NO/user_webdavauth.po index 61ad61a7fe921636cb5b1aaf1e065e409f93b4b2..8029f4ff58a2de1e6a5aff2ff53e6218990a320a 100644 --- a/l10n/nb_NO/files_odfviewer.po +++ b/l10n/nb_NO/user_webdavauth.po @@ -7,16 +7,16 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 02:18+0200\n" -"PO-Revision-Date: 2012-08-26 00:19+0000\n" +"POT-Creation-Date: 2012-11-09 10:06+0100\n" +"PO-Revision-Date: 2012-11-09 09:06+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: Norwegian Bokmål (Norway) (http://www.transifex.com/projects/p/owncloud/language/nb_NO/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: nb_NO\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: js/viewer.js:9 -msgid "Close" +#: templates/settings.php:4 +msgid "WebDAV URL: http://" msgstr "" diff --git a/l10n/nl/admin_dependencies_chk.po b/l10n/nl/admin_dependencies_chk.po deleted file mode 100644 index 436ece1cdef7c534ebb2138237cf8f27e2a9ab2a..0000000000000000000000000000000000000000 --- a/l10n/nl/admin_dependencies_chk.po +++ /dev/null @@ -1,73 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:33+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Dutch (http://www.transifex.com/projects/p/owncloud/language/nl/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: nl\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: settings.php:33 -msgid "" -"The php-json module is needed by the many applications for inter " -"communications" -msgstr "" - -#: settings.php:39 -msgid "" -"The php-curl modude is needed to fetch the page title when adding a " -"bookmarks" -msgstr "" - -#: settings.php:45 -msgid "The php-gd module is needed to create thumbnails of your images" -msgstr "" - -#: settings.php:51 -msgid "The php-ldap module is needed connect to your ldap server" -msgstr "" - -#: settings.php:57 -msgid "The php-zip module is needed download multiple files at once" -msgstr "" - -#: settings.php:63 -msgid "" -"The php-mb_multibyte module is needed to manage correctly the encoding." -msgstr "" - -#: settings.php:69 -msgid "The php-ctype module is needed validate data." -msgstr "" - -#: settings.php:75 -msgid "The php-xml module is needed to share files with webdav." -msgstr "" - -#: settings.php:81 -msgid "" -"The allow_url_fopen directive of your php.ini should be set to 1 to retrieve" -" knowledge base from OCS servers" -msgstr "" - -#: settings.php:87 -msgid "The php-pdo module is needed to store owncloud data into a database." -msgstr "" - -#: templates/settings.php:2 -msgid "Dependencies status" -msgstr "" - -#: templates/settings.php:7 -msgid "Used by :" -msgstr "" diff --git a/l10n/nl/admin_migrate.po b/l10n/nl/admin_migrate.po deleted file mode 100644 index aa9f340dcd5647e1aafe9b62bd9eb3b12e1852a1..0000000000000000000000000000000000000000 --- a/l10n/nl/admin_migrate.po +++ /dev/null @@ -1,33 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Richard Bos , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-25 02:04+0200\n" -"PO-Revision-Date: 2012-08-24 16:56+0000\n" -"Last-Translator: Richard Bos \n" -"Language-Team: Dutch (http://www.transifex.com/projects/p/owncloud/language/nl/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: nl\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: templates/settings.php:3 -msgid "Export this ownCloud instance" -msgstr "Exporteer deze ownCloud instantie" - -#: templates/settings.php:4 -msgid "" -"This will create a compressed file that contains the data of this owncloud instance.\n" -" Please choose the export type:" -msgstr "Dit maakt een gecomprimeerd bestand, met de inhoud van deze ownCloud instantie. Kies het export type:" - -#: templates/settings.php:12 -msgid "Export" -msgstr "Exporteer" diff --git a/l10n/nl/bookmarks.po b/l10n/nl/bookmarks.po deleted file mode 100644 index 598af3f83a9b3def01af499b588f98586b8c9baf..0000000000000000000000000000000000000000 --- a/l10n/nl/bookmarks.po +++ /dev/null @@ -1,61 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Richard Bos , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-25 02:04+0200\n" -"PO-Revision-Date: 2012-08-24 19:06+0000\n" -"Last-Translator: Richard Bos \n" -"Language-Team: Dutch (http://www.transifex.com/projects/p/owncloud/language/nl/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: nl\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: appinfo/app.php:14 -msgid "Bookmarks" -msgstr "Bladwijzers" - -#: bookmarksHelper.php:99 -msgid "unnamed" -msgstr "geen naam" - -#: templates/bookmarklet.php:5 -msgid "" -"Drag this to your browser bookmarks and click it, when you want to bookmark " -"a webpage quickly:" -msgstr "Sleep dit naar uw browser bladwijzers en klik erop, wanneer u een webpagina snel wilt voorzien van een bladwijzer:" - -#: templates/bookmarklet.php:7 -msgid "Read later" -msgstr "Lees later" - -#: templates/list.php:13 -msgid "Address" -msgstr "Adres" - -#: templates/list.php:14 -msgid "Title" -msgstr "Titel" - -#: templates/list.php:15 -msgid "Tags" -msgstr "Tags" - -#: templates/list.php:16 -msgid "Save bookmark" -msgstr "Bewaar bookmark" - -#: templates/list.php:22 -msgid "You have no bookmarks" -msgstr "U heeft geen bookmarks" - -#: templates/settings.php:11 -msgid "Bookmarklet
" -msgstr "" diff --git a/l10n/nl/calendar.po b/l10n/nl/calendar.po deleted file mode 100644 index 5c283653c4871f2869f57a8efc5f0886443f9678..0000000000000000000000000000000000000000 --- a/l10n/nl/calendar.po +++ /dev/null @@ -1,820 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# , 2011. -# , 2011. -# Erik Bent , 2012. -# , 2012. -# , 2012. -# , 2012. -# Richard Bos , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-25 02:04+0200\n" -"PO-Revision-Date: 2012-08-24 08:53+0000\n" -"Last-Translator: Richard Bos \n" -"Language-Team: Dutch (http://www.transifex.com/projects/p/owncloud/language/nl/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: nl\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: ajax/cache/status.php:19 -msgid "Not all calendars are completely cached" -msgstr "Niet alle agenda's zijn volledig gecached" - -#: ajax/cache/status.php:21 -msgid "Everything seems to be completely cached" -msgstr "Alles lijkt volledig gecached te zijn" - -#: ajax/categories/rescan.php:29 -msgid "No calendars found." -msgstr "Geen kalenders gevonden." - -#: ajax/categories/rescan.php:37 -msgid "No events found." -msgstr "Geen gebeurtenissen gevonden." - -#: ajax/event/edit.form.php:20 -msgid "Wrong calendar" -msgstr "Verkeerde kalender" - -#: ajax/import/dropimport.php:29 ajax/import/import.php:64 -msgid "" -"The file contained either no events or all events are already saved in your " -"calendar." -msgstr "Het bestand bevat geen gebeurtenissen of alle gebeurtenissen worden al in uw agenda bewaard." - -#: ajax/import/dropimport.php:31 ajax/import/import.php:67 -msgid "events has been saved in the new calendar" -msgstr "De gebeurtenissen worden in de nieuwe agenda bewaard" - -#: ajax/import/import.php:56 -msgid "Import failed" -msgstr "import is gefaald" - -#: ajax/import/import.php:69 -msgid "events has been saved in your calendar" -msgstr "de gebeurtenissen zijn in uw agenda opgeslagen " - -#: ajax/settings/guesstimezone.php:25 -msgid "New Timezone:" -msgstr "Nieuwe tijdszone:" - -#: ajax/settings/settimezone.php:23 -msgid "Timezone changed" -msgstr "Tijdzone is veranderd" - -#: ajax/settings/settimezone.php:25 -msgid "Invalid request" -msgstr "Ongeldige aanvraag" - -#: appinfo/app.php:41 templates/calendar.php:15 -#: templates/part.eventform.php:33 templates/part.showevent.php:33 -msgid "Calendar" -msgstr "Kalender" - -#: js/calendar.js:832 -msgid "ddd" -msgstr "ddd" - -#: js/calendar.js:833 -msgid "ddd M/d" -msgstr "ddd d.M" - -#: js/calendar.js:834 -msgid "dddd M/d" -msgstr "dddd d.M" - -#: js/calendar.js:837 -msgid "MMMM yyyy" -msgstr "MMMM yyyy" - -#: js/calendar.js:839 -msgid "MMM d[ yyyy]{ '—'[ MMM] d yyyy}" -msgstr "d[ MMM][ yyyy]{ '—' d MMM yyyy}" - -#: js/calendar.js:841 -msgid "dddd, MMM d, yyyy" -msgstr "dddd, d. MMM yyyy" - -#: lib/app.php:121 -msgid "Birthday" -msgstr "Verjaardag" - -#: lib/app.php:122 -msgid "Business" -msgstr "Zakelijk" - -#: lib/app.php:123 -msgid "Call" -msgstr "Bellen" - -#: lib/app.php:124 -msgid "Clients" -msgstr "Klanten" - -#: lib/app.php:125 -msgid "Deliverer" -msgstr "Leverancier" - -#: lib/app.php:126 -msgid "Holidays" -msgstr "Vakantie" - -#: lib/app.php:127 -msgid "Ideas" -msgstr "Ideeën" - -#: lib/app.php:128 -msgid "Journey" -msgstr "Reis" - -#: lib/app.php:129 -msgid "Jubilee" -msgstr "Jubileum" - -#: lib/app.php:130 -msgid "Meeting" -msgstr "Vergadering" - -#: lib/app.php:131 -msgid "Other" -msgstr "Ander" - -#: lib/app.php:132 -msgid "Personal" -msgstr "Persoonlijk" - -#: lib/app.php:133 -msgid "Projects" -msgstr "Projecten" - -#: lib/app.php:134 -msgid "Questions" -msgstr "Vragen" - -#: lib/app.php:135 -msgid "Work" -msgstr "Werk" - -#: lib/app.php:351 lib/app.php:361 -msgid "by" -msgstr "door" - -#: lib/app.php:359 lib/app.php:399 -msgid "unnamed" -msgstr "onbekend" - -#: lib/import.php:184 templates/calendar.php:12 -#: templates/part.choosecalendar.php:22 -msgid "New Calendar" -msgstr "Nieuwe Kalender" - -#: lib/object.php:372 -msgid "Does not repeat" -msgstr "Wordt niet herhaald" - -#: lib/object.php:373 -msgid "Daily" -msgstr "Dagelijks" - -#: lib/object.php:374 -msgid "Weekly" -msgstr "Wekelijks" - -#: lib/object.php:375 -msgid "Every Weekday" -msgstr "Elke weekdag" - -#: lib/object.php:376 -msgid "Bi-Weekly" -msgstr "Tweewekelijks" - -#: lib/object.php:377 -msgid "Monthly" -msgstr "Maandelijks" - -#: lib/object.php:378 -msgid "Yearly" -msgstr "Jaarlijks" - -#: lib/object.php:388 -msgid "never" -msgstr "nooit meer" - -#: lib/object.php:389 -msgid "by occurrences" -msgstr "volgens gebeurtenissen" - -#: lib/object.php:390 -msgid "by date" -msgstr "op datum" - -#: lib/object.php:400 -msgid "by monthday" -msgstr "per dag van de maand" - -#: lib/object.php:401 -msgid "by weekday" -msgstr "op weekdag" - -#: lib/object.php:411 templates/calendar.php:5 templates/settings.php:69 -msgid "Monday" -msgstr "Maandag" - -#: lib/object.php:412 templates/calendar.php:5 -msgid "Tuesday" -msgstr "Dinsdag" - -#: lib/object.php:413 templates/calendar.php:5 -msgid "Wednesday" -msgstr "Woensdag" - -#: lib/object.php:414 templates/calendar.php:5 -msgid "Thursday" -msgstr "Donderdag" - -#: lib/object.php:415 templates/calendar.php:5 -msgid "Friday" -msgstr "Vrijdag" - -#: lib/object.php:416 templates/calendar.php:5 -msgid "Saturday" -msgstr "Zaterdag" - -#: lib/object.php:417 templates/calendar.php:5 templates/settings.php:70 -msgid "Sunday" -msgstr "Zondag" - -#: lib/object.php:427 -msgid "events week of month" -msgstr "gebeurtenissen week van maand" - -#: lib/object.php:428 -msgid "first" -msgstr "eerste" - -#: lib/object.php:429 -msgid "second" -msgstr "tweede" - -#: lib/object.php:430 -msgid "third" -msgstr "derde" - -#: lib/object.php:431 -msgid "fourth" -msgstr "vierde" - -#: lib/object.php:432 -msgid "fifth" -msgstr "vijfde" - -#: lib/object.php:433 -msgid "last" -msgstr "laatste" - -#: lib/object.php:467 templates/calendar.php:7 -msgid "January" -msgstr "Januari" - -#: lib/object.php:468 templates/calendar.php:7 -msgid "February" -msgstr "Februari" - -#: lib/object.php:469 templates/calendar.php:7 -msgid "March" -msgstr "Maart" - -#: lib/object.php:470 templates/calendar.php:7 -msgid "April" -msgstr "April" - -#: lib/object.php:471 templates/calendar.php:7 -msgid "May" -msgstr "Mei" - -#: lib/object.php:472 templates/calendar.php:7 -msgid "June" -msgstr "Juni" - -#: lib/object.php:473 templates/calendar.php:7 -msgid "July" -msgstr "Juli" - -#: lib/object.php:474 templates/calendar.php:7 -msgid "August" -msgstr "Augustus" - -#: lib/object.php:475 templates/calendar.php:7 -msgid "September" -msgstr "September" - -#: lib/object.php:476 templates/calendar.php:7 -msgid "October" -msgstr "Oktober" - -#: lib/object.php:477 templates/calendar.php:7 -msgid "November" -msgstr "November" - -#: lib/object.php:478 templates/calendar.php:7 -msgid "December" -msgstr "December" - -#: lib/object.php:488 -msgid "by events date" -msgstr "volgens evenementsdatum" - -#: lib/object.php:489 -msgid "by yearday(s)" -msgstr "volgens jaardag(en)" - -#: lib/object.php:490 -msgid "by weeknumber(s)" -msgstr "volgens weeknummer(s)" - -#: lib/object.php:491 -msgid "by day and month" -msgstr "per dag en maand" - -#: lib/search.php:35 lib/search.php:37 lib/search.php:40 -msgid "Date" -msgstr "Datum" - -#: lib/search.php:43 -msgid "Cal." -msgstr "Cal." - -#: templates/calendar.php:6 -msgid "Sun." -msgstr "Zon." - -#: templates/calendar.php:6 -msgid "Mon." -msgstr "Maa." - -#: templates/calendar.php:6 -msgid "Tue." -msgstr "Din." - -#: templates/calendar.php:6 -msgid "Wed." -msgstr "Woe." - -#: templates/calendar.php:6 -msgid "Thu." -msgstr "Don." - -#: templates/calendar.php:6 -msgid "Fri." -msgstr "Vrij." - -#: templates/calendar.php:6 -msgid "Sat." -msgstr "Zat." - -#: templates/calendar.php:8 -msgid "Jan." -msgstr "Jan." - -#: templates/calendar.php:8 -msgid "Feb." -msgstr "Feb." - -#: templates/calendar.php:8 -msgid "Mar." -msgstr "Maa." - -#: templates/calendar.php:8 -msgid "Apr." -msgstr "Apr." - -#: templates/calendar.php:8 -msgid "May." -msgstr "Mei." - -#: templates/calendar.php:8 -msgid "Jun." -msgstr "Jun." - -#: templates/calendar.php:8 -msgid "Jul." -msgstr "Jul." - -#: templates/calendar.php:8 -msgid "Aug." -msgstr "Aug." - -#: templates/calendar.php:8 -msgid "Sep." -msgstr "Sep." - -#: templates/calendar.php:8 -msgid "Oct." -msgstr "Okt." - -#: templates/calendar.php:8 -msgid "Nov." -msgstr "Nov." - -#: templates/calendar.php:8 -msgid "Dec." -msgstr "Dec." - -#: templates/calendar.php:11 -msgid "All day" -msgstr "Hele dag" - -#: templates/calendar.php:13 -msgid "Missing fields" -msgstr "missende velden" - -#: templates/calendar.php:14 templates/part.eventform.php:19 -#: templates/part.showevent.php:11 -msgid "Title" -msgstr "Titel" - -#: templates/calendar.php:16 -msgid "From Date" -msgstr "Begindatum" - -#: templates/calendar.php:17 -msgid "From Time" -msgstr "Begintijd" - -#: templates/calendar.php:18 -msgid "To Date" -msgstr "Einddatum" - -#: templates/calendar.php:19 -msgid "To Time" -msgstr "Eindtijd" - -#: templates/calendar.php:20 -msgid "The event ends before it starts" -msgstr "Het evenement eindigt voordat het begint" - -#: templates/calendar.php:21 -msgid "There was a database fail" -msgstr "Er was een databasefout" - -#: templates/calendar.php:39 -msgid "Week" -msgstr "Week" - -#: templates/calendar.php:40 -msgid "Month" -msgstr "Maand" - -#: templates/calendar.php:41 -msgid "List" -msgstr "Lijst" - -#: templates/calendar.php:45 -msgid "Today" -msgstr "Vandaag" - -#: templates/calendar.php:46 templates/calendar.php:47 -msgid "Settings" -msgstr "Instellingen" - -#: templates/part.choosecalendar.php:2 -msgid "Your calendars" -msgstr "Je kalenders" - -#: templates/part.choosecalendar.php:27 -#: templates/part.choosecalendar.rowfields.php:11 -msgid "CalDav Link" -msgstr "CalDav Link" - -#: templates/part.choosecalendar.php:31 -msgid "Shared calendars" -msgstr "Gedeelde kalenders" - -#: templates/part.choosecalendar.php:48 -msgid "No shared calendars" -msgstr "Geen gedeelde kalenders" - -#: templates/part.choosecalendar.rowfields.php:8 -msgid "Share Calendar" -msgstr "Deel kalender" - -#: templates/part.choosecalendar.rowfields.php:14 -msgid "Download" -msgstr "Download" - -#: templates/part.choosecalendar.rowfields.php:17 -msgid "Edit" -msgstr "Bewerken" - -#: templates/part.choosecalendar.rowfields.php:20 -#: templates/part.editevent.php:9 -msgid "Delete" -msgstr "Verwijderen" - -#: templates/part.choosecalendar.rowfields.shared.php:4 -msgid "shared with you by" -msgstr "gedeeld met jou door" - -#: templates/part.editcalendar.php:9 -msgid "New calendar" -msgstr "Nieuwe kalender" - -#: templates/part.editcalendar.php:9 -msgid "Edit calendar" -msgstr "Bewerk kalender" - -#: templates/part.editcalendar.php:12 -msgid "Displayname" -msgstr "Weergavenaam" - -#: templates/part.editcalendar.php:23 -msgid "Active" -msgstr "Actief" - -#: templates/part.editcalendar.php:29 -msgid "Calendar color" -msgstr "Kalender kleur" - -#: templates/part.editcalendar.php:42 -msgid "Save" -msgstr "Opslaan" - -#: templates/part.editcalendar.php:42 templates/part.editevent.php:8 -#: templates/part.newevent.php:6 -msgid "Submit" -msgstr "Opslaan" - -#: templates/part.editcalendar.php:43 -msgid "Cancel" -msgstr "Annuleren" - -#: templates/part.editevent.php:1 -msgid "Edit an event" -msgstr "Bewerken van een afspraak" - -#: templates/part.editevent.php:10 -msgid "Export" -msgstr "Exporteren" - -#: templates/part.eventform.php:8 templates/part.showevent.php:3 -msgid "Eventinfo" -msgstr "Geberurtenisinformatie" - -#: templates/part.eventform.php:9 templates/part.showevent.php:4 -msgid "Repeating" -msgstr "Herhalend" - -#: templates/part.eventform.php:10 templates/part.showevent.php:5 -msgid "Alarm" -msgstr "Alarm" - -#: templates/part.eventform.php:11 templates/part.showevent.php:6 -msgid "Attendees" -msgstr "Deelnemers" - -#: templates/part.eventform.php:13 -msgid "Share" -msgstr "Delen" - -#: templates/part.eventform.php:21 -msgid "Title of the Event" -msgstr "Titel van de afspraak" - -#: templates/part.eventform.php:27 templates/part.showevent.php:19 -msgid "Category" -msgstr "Categorie" - -#: templates/part.eventform.php:29 -msgid "Separate categories with commas" -msgstr "Gescheiden door komma's" - -#: templates/part.eventform.php:30 -msgid "Edit categories" -msgstr "Wijzig categorieën" - -#: templates/part.eventform.php:56 templates/part.showevent.php:52 -msgid "All Day Event" -msgstr "Hele dag" - -#: templates/part.eventform.php:60 templates/part.showevent.php:56 -msgid "From" -msgstr "Van" - -#: templates/part.eventform.php:68 templates/part.showevent.php:64 -msgid "To" -msgstr "Aan" - -#: templates/part.eventform.php:76 templates/part.showevent.php:72 -msgid "Advanced options" -msgstr "Geavanceerde opties" - -#: templates/part.eventform.php:81 templates/part.showevent.php:77 -msgid "Location" -msgstr "Locatie" - -#: templates/part.eventform.php:83 -msgid "Location of the Event" -msgstr "Locatie van de afspraak" - -#: templates/part.eventform.php:89 templates/part.showevent.php:85 -msgid "Description" -msgstr "Beschrijving" - -#: templates/part.eventform.php:91 -msgid "Description of the Event" -msgstr "Beschrijving van het evenement" - -#: templates/part.eventform.php:100 templates/part.showevent.php:95 -msgid "Repeat" -msgstr "Herhalen" - -#: templates/part.eventform.php:107 templates/part.showevent.php:102 -msgid "Advanced" -msgstr "Geavanceerd" - -#: templates/part.eventform.php:151 templates/part.showevent.php:146 -msgid "Select weekdays" -msgstr "Selecteer weekdagen" - -#: templates/part.eventform.php:164 templates/part.eventform.php:177 -#: templates/part.showevent.php:159 templates/part.showevent.php:172 -msgid "Select days" -msgstr "Selecteer dagen" - -#: templates/part.eventform.php:169 templates/part.showevent.php:164 -msgid "and the events day of year." -msgstr "en de gebeurtenissen dag van het jaar" - -#: templates/part.eventform.php:182 templates/part.showevent.php:177 -msgid "and the events day of month." -msgstr "en de gebeurtenissen dag van de maand" - -#: templates/part.eventform.php:190 templates/part.showevent.php:185 -msgid "Select months" -msgstr "Selecteer maanden" - -#: templates/part.eventform.php:203 templates/part.showevent.php:198 -msgid "Select weeks" -msgstr "Selecteer weken" - -#: templates/part.eventform.php:208 templates/part.showevent.php:203 -msgid "and the events week of year." -msgstr "en de gebeurtenissen week van het jaar" - -#: templates/part.eventform.php:214 templates/part.showevent.php:209 -msgid "Interval" -msgstr "Interval" - -#: templates/part.eventform.php:220 templates/part.showevent.php:215 -msgid "End" -msgstr "Einde" - -#: templates/part.eventform.php:233 templates/part.showevent.php:228 -msgid "occurrences" -msgstr "gebeurtenissen" - -#: templates/part.import.php:14 -msgid "create a new calendar" -msgstr "Maak een nieuw agenda" - -#: templates/part.import.php:17 -msgid "Import a calendar file" -msgstr "Importeer een agenda bestand" - -#: templates/part.import.php:24 -msgid "Please choose a calendar" -msgstr "Kies een agenda" - -#: templates/part.import.php:36 -msgid "Name of new calendar" -msgstr "Naam van de nieuwe agenda" - -#: templates/part.import.php:44 -msgid "Take an available name!" -msgstr "Kies een beschikbare naam!" - -#: templates/part.import.php:45 -msgid "" -"A Calendar with this name already exists. If you continue anyhow, these " -"calendars will be merged." -msgstr "Een agenda met deze naam bestaat al. Als u doorgaat, worden deze agenda's samengevoegd" - -#: templates/part.import.php:47 -msgid "Import" -msgstr "Importeer" - -#: templates/part.import.php:56 -msgid "Close Dialog" -msgstr "Sluit venster" - -#: templates/part.newevent.php:1 -msgid "Create a new event" -msgstr "Maak een nieuwe afspraak" - -#: templates/part.showevent.php:1 -msgid "View an event" -msgstr "Bekijk een gebeurtenis" - -#: templates/part.showevent.php:23 -msgid "No categories selected" -msgstr "Geen categorieën geselecteerd" - -#: templates/part.showevent.php:37 -msgid "of" -msgstr "van" - -#: templates/part.showevent.php:59 templates/part.showevent.php:67 -msgid "at" -msgstr "op" - -#: templates/settings.php:10 -msgid "General" -msgstr "Algemeen" - -#: templates/settings.php:15 -msgid "Timezone" -msgstr "Tijdzone" - -#: templates/settings.php:47 -msgid "Update timezone automatically" -msgstr "Werk de tijdzone automatisch bij" - -#: templates/settings.php:52 -msgid "Time format" -msgstr "Tijd formaat" - -#: templates/settings.php:57 -msgid "24h" -msgstr "24uur" - -#: templates/settings.php:58 -msgid "12h" -msgstr "12uur" - -#: templates/settings.php:64 -msgid "Start week on" -msgstr "Begin de week op" - -#: templates/settings.php:76 -msgid "Cache" -msgstr "Cache" - -#: templates/settings.php:80 -msgid "Clear cache for repeating events" -msgstr "Leeg cache voor repeterende gebeurtenissen" - -#: templates/settings.php:85 -msgid "URLs" -msgstr "URLs" - -#: templates/settings.php:87 -msgid "Calendar CalDAV syncing addresses" -msgstr "Agenda CalDAV synchronisatie adres" - -#: templates/settings.php:87 -msgid "more info" -msgstr "meer informatie" - -#: templates/settings.php:89 -msgid "Primary address (Kontact et al)" -msgstr "Primary adres (voor Kontact en dergelijke)" - -#: templates/settings.php:91 -msgid "iOS/OS X" -msgstr "iOS/OS X" - -#: templates/settings.php:93 -msgid "Read only iCalendar link(s)" -msgstr "Alleen lezen iCalendar link(en)" - -#: templates/share.dropdown.php:20 -msgid "Users" -msgstr "Gebruikers" - -#: templates/share.dropdown.php:21 -msgid "select users" -msgstr "kies gebruikers" - -#: templates/share.dropdown.php:36 templates/share.dropdown.php:62 -msgid "Editable" -msgstr "Te wijzigen" - -#: templates/share.dropdown.php:48 -msgid "Groups" -msgstr "Groepen" - -#: templates/share.dropdown.php:49 -msgid "select groups" -msgstr "kies groep" - -#: templates/share.dropdown.php:75 -msgid "make public" -msgstr "maak publiek" diff --git a/l10n/nl/contacts.po b/l10n/nl/contacts.po deleted file mode 100644 index fd2159c7acbcc89d2ad41ac28ba5b9d913cd7e40..0000000000000000000000000000000000000000 --- a/l10n/nl/contacts.po +++ /dev/null @@ -1,958 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# , 2011. -# , 2011. -# Erik Bent , 2012. -# , 2012. -# , 2012. -# Richard Bos , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-25 02:04+0200\n" -"PO-Revision-Date: 2012-08-24 16:50+0000\n" -"Last-Translator: Richard Bos \n" -"Language-Team: Dutch (http://www.transifex.com/projects/p/owncloud/language/nl/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: nl\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: ajax/addressbook/activate.php:24 ajax/addressbook/update.php:32 -msgid "Error (de)activating addressbook." -msgstr "Fout bij het (de)activeren van het adresboek." - -#: ajax/addressbook/delete.php:31 ajax/addressbook/update.php:20 -#: ajax/contact/addproperty.php:42 ajax/contact/delete.php:32 -#: ajax/contact/saveproperty.php:39 -msgid "id is not set." -msgstr "id is niet ingesteld." - -#: ajax/addressbook/update.php:24 -msgid "Cannot update addressbook with an empty name." -msgstr "Kan adresboek zonder naam niet wijzigen" - -#: ajax/addressbook/update.php:28 -msgid "Error updating addressbook." -msgstr "Fout bij het updaten van het adresboek." - -#: ajax/categories/categoriesfor.php:17 -msgid "No ID provided" -msgstr "Geen ID opgegeven" - -#: ajax/categories/categoriesfor.php:34 -msgid "Error setting checksum." -msgstr "Instellen controlegetal mislukt" - -#: ajax/categories/delete.php:19 -msgid "No categories selected for deletion." -msgstr "Geen categorieën geselecteerd om te verwijderen." - -#: ajax/categories/delete.php:26 -msgid "No address books found." -msgstr "Geen adresboek gevonden" - -#: ajax/categories/delete.php:34 -msgid "No contacts found." -msgstr "Geen contracten gevonden" - -#: ajax/contact/add.php:47 -msgid "There was an error adding the contact." -msgstr "Er was een fout bij het toevoegen van het contact." - -#: ajax/contact/addproperty.php:39 ajax/contact/saveproperty.php:36 -msgid "element name is not set." -msgstr "onderdeel naam is niet opgegeven." - -#: ajax/contact/addproperty.php:46 -msgid "Could not parse contact: " -msgstr "Kon het contact niet verwerken" - -#: ajax/contact/addproperty.php:56 -msgid "Cannot add empty property." -msgstr "Kan geen lege eigenschap toevoegen." - -#: ajax/contact/addproperty.php:67 -msgid "At least one of the address fields has to be filled out." -msgstr "Minstens één van de adresvelden moet ingevuld worden." - -#: ajax/contact/addproperty.php:76 -msgid "Trying to add duplicate property: " -msgstr "Eigenschap bestaat al: " - -#: ajax/contact/addproperty.php:115 ajax/contact/saveproperty.php:93 -msgid "Missing IM parameter." -msgstr "IM parameter ontbreekt" - -#: ajax/contact/addproperty.php:119 ajax/contact/saveproperty.php:97 -msgid "Unknown IM: " -msgstr "Onbekende IM:" - -#: ajax/contact/deleteproperty.php:37 -msgid "Information about vCard is incorrect. Please reload the page." -msgstr "Informatie over de vCard is onjuist. Herlaad de pagina." - -#: ajax/contact/details.php:31 -msgid "Missing ID" -msgstr "Ontbrekend ID" - -#: ajax/contact/details.php:36 -msgid "Error parsing VCard for ID: \"" -msgstr "Fout bij inlezen VCard voor ID: \"" - -#: ajax/contact/saveproperty.php:42 -msgid "checksum is not set." -msgstr "controlegetal is niet opgegeven." - -#: ajax/contact/saveproperty.php:62 -msgid "Information about vCard is incorrect. Please reload the page: " -msgstr "Informatie over vCard is fout. Herlaad de pagina: " - -#: ajax/contact/saveproperty.php:69 -msgid "Something went FUBAR. " -msgstr "Er ging iets totaal verkeerd. " - -#: ajax/currentphoto.php:30 ajax/oc_photo.php:28 ajax/uploadphoto.php:36 -#: ajax/uploadphoto.php:68 -msgid "No contact ID was submitted." -msgstr "Geen contact ID opgestuurd." - -#: ajax/currentphoto.php:36 -msgid "Error reading contact photo." -msgstr "Lezen van contact foto mislukt." - -#: ajax/currentphoto.php:48 -msgid "Error saving temporary file." -msgstr "Tijdelijk bestand opslaan mislukt." - -#: ajax/currentphoto.php:51 -msgid "The loading photo is not valid." -msgstr "De geladen foto is niet goed." - -#: ajax/editname.php:31 -msgid "Contact ID is missing." -msgstr "Contact ID ontbreekt." - -#: ajax/oc_photo.php:32 -msgid "No photo path was submitted." -msgstr "Geen fotopad opgestuurd." - -#: ajax/oc_photo.php:39 -msgid "File doesn't exist:" -msgstr "Bestand bestaat niet:" - -#: ajax/oc_photo.php:44 ajax/oc_photo.php:47 -msgid "Error loading image." -msgstr "Fout bij laden plaatje." - -#: ajax/savecrop.php:69 -msgid "Error getting contact object." -msgstr "Fout om contact object te verkrijgen" - -#: ajax/savecrop.php:79 -msgid "Error getting PHOTO property." -msgstr "Fout om PHOTO eigenschap te verkrijgen" - -#: ajax/savecrop.php:98 -msgid "Error saving contact." -msgstr "Fout om contact op te slaan" - -#: ajax/savecrop.php:109 -msgid "Error resizing image" -msgstr "Fout tijdens aanpassen plaatje" - -#: ajax/savecrop.php:112 -msgid "Error cropping image" -msgstr "Fout tijdens aanpassen plaatje" - -#: ajax/savecrop.php:115 -msgid "Error creating temporary image" -msgstr "Fout om een tijdelijk plaatje te maken" - -#: ajax/savecrop.php:118 -msgid "Error finding image: " -msgstr "Fout kan plaatje niet vinden:" - -#: ajax/uploadimport.php:44 ajax/uploadimport.php:76 -msgid "Error uploading contacts to storage." -msgstr "Fout bij opslaan van contacten." - -#: ajax/uploadimport.php:61 ajax/uploadphoto.php:77 -msgid "There is no error, the file uploaded with success" -msgstr "De upload van het bestand is goedgegaan." - -#: ajax/uploadimport.php:62 ajax/uploadphoto.php:78 -msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" -msgstr "Het bestand overschrijdt de upload_max_filesize instelling in php.ini" - -#: ajax/uploadimport.php:63 ajax/uploadphoto.php:79 -msgid "" -"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " -"the HTML form" -msgstr "Het bestand overschrijdt de MAX_FILE_SIZE instelling dat is opgegeven in het HTML formulier" - -#: ajax/uploadimport.php:64 ajax/uploadphoto.php:80 -msgid "The uploaded file was only partially uploaded" -msgstr "Het bestand is gedeeltelijk geüpload" - -#: ajax/uploadimport.php:65 ajax/uploadphoto.php:81 -msgid "No file was uploaded" -msgstr "Er is geen bestand geüpload" - -#: ajax/uploadimport.php:66 ajax/uploadphoto.php:82 -msgid "Missing a temporary folder" -msgstr "Er ontbreekt een tijdelijke map" - -#: ajax/uploadphoto.php:59 ajax/uploadphoto.php:109 -msgid "Couldn't save temporary image: " -msgstr "Kan tijdelijk plaatje niet op slaan:" - -#: ajax/uploadphoto.php:62 ajax/uploadphoto.php:112 -msgid "Couldn't load temporary image: " -msgstr "Kan tijdelijk plaatje niet op laden:" - -#: ajax/uploadphoto.php:71 -msgid "No file was uploaded. Unknown error" -msgstr "Er was geen bestand geladen. Onbekende fout" - -#: appinfo/app.php:25 -msgid "Contacts" -msgstr "Contacten" - -#: js/contacts.js:71 -msgid "Sorry, this functionality has not been implemented yet" -msgstr "Sorry, deze functionaliteit is nog niet geïmplementeerd" - -#: js/contacts.js:71 -msgid "Not implemented" -msgstr "Niet geïmplementeerd" - -#: js/contacts.js:76 -msgid "Couldn't get a valid address." -msgstr "Kan geen geldig adres krijgen" - -#: js/contacts.js:76 js/contacts.js:365 js/contacts.js:381 js/contacts.js:393 -#: js/contacts.js:723 js/contacts.js:763 js/contacts.js:789 js/contacts.js:921 -#: js/contacts.js:927 js/contacts.js:939 js/contacts.js:976 -#: js/contacts.js:1250 js/contacts.js:1258 js/contacts.js:1267 -#: js/contacts.js:1302 js/contacts.js:1338 js/contacts.js:1353 -#: js/contacts.js:1379 js/contacts.js:1609 js/contacts.js:1644 -#: js/contacts.js:1664 js/settings.js:26 js/settings.js:43 js/settings.js:68 -msgid "Error" -msgstr "Fout" - -#: js/contacts.js:424 -msgid "You do not have permission to add contacts to " -msgstr "U hebt geen permissie om contacten toe te voegen aan" - -#: js/contacts.js:425 -msgid "Please select one of your own address books." -msgstr "Selecteer één van uw eigen adresboeken" - -#: js/contacts.js:425 -msgid "Permission error" -msgstr "Permissie fout" - -#: js/contacts.js:763 -msgid "This property has to be non-empty." -msgstr "Dit veld mag niet leeg blijven" - -#: js/contacts.js:789 -msgid "Couldn't serialize elements." -msgstr "Kan de elementen niet serializen" - -#: js/contacts.js:921 js/contacts.js:939 -msgid "" -"'deleteProperty' called without type argument. Please report at " -"bugs.owncloud.org" -msgstr "'deleteProperty' aangeroepen zonder type argument. Rapporteer dit a.u.b. via http://bugs.owncloud.org" - -#: js/contacts.js:958 -msgid "Edit name" -msgstr "Pas naam aan" - -#: js/contacts.js:1250 -msgid "No files selected for upload." -msgstr "Geen bestanden geselecteerd voor upload." - -#: js/contacts.js:1258 -msgid "" -"The file you are trying to upload exceed the maximum size for file uploads " -"on this server." -msgstr "Het bestand dat u probeert te uploaden overschrijdt de maximale bestand grootte voor bestand uploads voor deze server." - -#: js/contacts.js:1322 -msgid "Error loading profile picture." -msgstr "Fout profiel plaatje kan niet worden geladen." - -#: js/contacts.js:1457 js/contacts.js:1498 js/contacts.js:1517 -#: js/contacts.js:1560 -msgid "Select type" -msgstr "Selecteer type" - -#: js/contacts.js:1578 -msgid "" -"Some contacts are marked for deletion, but not deleted yet. Please wait for " -"them to be deleted." -msgstr "Enkele contacten zijn gemarkeerd om verwijderd te worden, maar zijn nog niet verwijderd. Wacht totdat ze zijn verwijderd." - -#: js/contacts.js:1649 -msgid "Do you want to merge these address books?" -msgstr "Wilt u deze adresboeken samenvoegen?" - -#: js/loader.js:49 -msgid "Result: " -msgstr "Resultaat:" - -#: js/loader.js:49 -msgid " imported, " -msgstr "geïmporteerd," - -#: js/loader.js:49 -msgid " failed." -msgstr "gefaald." - -#: js/settings.js:68 -msgid "Displayname cannot be empty." -msgstr "Displaynaam mag niet leeg zijn." - -#: lib/app.php:36 -msgid "Addressbook not found: " -msgstr "Adresboek niet gevonden:" - -#: lib/app.php:52 -msgid "This is not your addressbook." -msgstr "Dit is niet uw adresboek." - -#: lib/app.php:71 -msgid "Contact could not be found." -msgstr "Contact kon niet worden gevonden." - -#: lib/app.php:116 -msgid "Jabber" -msgstr "Jabber" - -#: lib/app.php:121 -msgid "AIM" -msgstr "AIM" - -#: lib/app.php:126 -msgid "MSN" -msgstr "MSN" - -#: lib/app.php:131 -msgid "Twitter" -msgstr "Twitter" - -#: lib/app.php:136 -msgid "GoogleTalk" -msgstr "GoogleTalk" - -#: lib/app.php:141 -msgid "Facebook" -msgstr "Facebook" - -#: lib/app.php:146 -msgid "XMPP" -msgstr "XMPP" - -#: lib/app.php:151 -msgid "ICQ" -msgstr "ICQ" - -#: lib/app.php:156 -msgid "Yahoo" -msgstr "Yahoo" - -#: lib/app.php:161 -msgid "Skype" -msgstr "Skype" - -#: lib/app.php:166 -msgid "QQ" -msgstr "QQ" - -#: lib/app.php:171 -msgid "GaduGadu" -msgstr "GaduGadu" - -#: lib/app.php:194 lib/app.php:202 lib/app.php:213 lib/app.php:266 -msgid "Work" -msgstr "Werk" - -#: lib/app.php:195 lib/app.php:200 lib/app.php:214 -msgid "Home" -msgstr "Thuis" - -#: lib/app.php:196 lib/app.php:209 lib/app.php:262 lib/vcard.php:593 -msgid "Other" -msgstr "Anders" - -#: lib/app.php:201 -msgid "Mobile" -msgstr "Mobiel" - -#: lib/app.php:203 -msgid "Text" -msgstr "Tekst" - -#: lib/app.php:204 -msgid "Voice" -msgstr "Stem" - -#: lib/app.php:205 -msgid "Message" -msgstr "Bericht" - -#: lib/app.php:206 -msgid "Fax" -msgstr "Fax" - -#: lib/app.php:207 -msgid "Video" -msgstr "Video" - -#: lib/app.php:208 -msgid "Pager" -msgstr "Pieper" - -#: lib/app.php:215 -msgid "Internet" -msgstr "Internet" - -#: lib/app.php:252 templates/part.contact.php:45 -#: templates/part.contact.php:128 -msgid "Birthday" -msgstr "Verjaardag" - -#: lib/app.php:253 -msgid "Business" -msgstr "Business" - -#: lib/app.php:254 -msgid "Call" -msgstr "Bel" - -#: lib/app.php:255 -msgid "Clients" -msgstr "Klanten" - -#: lib/app.php:256 -msgid "Deliverer" -msgstr "Leverancier" - -#: lib/app.php:257 -msgid "Holidays" -msgstr "Vakanties" - -#: lib/app.php:258 -msgid "Ideas" -msgstr "Ideeën" - -#: lib/app.php:259 -msgid "Journey" -msgstr "Reis" - -#: lib/app.php:260 -msgid "Jubilee" -msgstr "Jubileum" - -#: lib/app.php:261 -msgid "Meeting" -msgstr "Vergadering" - -#: lib/app.php:263 -msgid "Personal" -msgstr "Persoonlijk" - -#: lib/app.php:264 -msgid "Projects" -msgstr "Projecten" - -#: lib/app.php:265 -msgid "Questions" -msgstr "Vragen" - -#: lib/hooks.php:102 -msgid "{name}'s Birthday" -msgstr "{name}'s verjaardag" - -#: lib/search.php:15 -msgid "Contact" -msgstr "Contact" - -#: lib/vcard.php:408 -msgid "You do not have the permissions to edit this contact." -msgstr "U heeft geen permissie om dit contact te bewerken." - -#: lib/vcard.php:483 -msgid "You do not have the permissions to delete this contact." -msgstr "U heeft geen permissie om dit contact te verwijderen." - -#: templates/index.php:14 -msgid "Add Contact" -msgstr "Contact toevoegen" - -#: templates/index.php:15 templates/index.php:16 templates/part.import.php:17 -msgid "Import" -msgstr "Importeer" - -#: templates/index.php:18 -msgid "Settings" -msgstr "Instellingen" - -#: templates/index.php:18 templates/settings.php:9 -msgid "Addressbooks" -msgstr "Adresboeken" - -#: templates/index.php:36 templates/part.import.php:24 -msgid "Close" -msgstr "Sluiten" - -#: templates/index.php:37 -msgid "Keyboard shortcuts" -msgstr "Sneltoetsen" - -#: templates/index.php:39 -msgid "Navigation" -msgstr "Navigatie" - -#: templates/index.php:42 -msgid "Next contact in list" -msgstr "Volgende contact in de lijst" - -#: templates/index.php:44 -msgid "Previous contact in list" -msgstr "Vorige contact in de lijst" - -#: templates/index.php:46 -msgid "Expand/collapse current addressbook" -msgstr "Uitklappen / inklappen huidig adresboek" - -#: templates/index.php:48 -msgid "Next addressbook" -msgstr "Volgende adresboek" - -#: templates/index.php:50 -msgid "Previous addressbook" -msgstr "Vorige adresboek" - -#: templates/index.php:54 -msgid "Actions" -msgstr "Acties" - -#: templates/index.php:57 -msgid "Refresh contacts list" -msgstr "Vernieuw contact lijst" - -#: templates/index.php:59 -msgid "Add new contact" -msgstr "Voeg nieuw contact toe" - -#: templates/index.php:61 -msgid "Add new addressbook" -msgstr "Voeg nieuw adresboek toe" - -#: templates/index.php:63 -msgid "Delete current contact" -msgstr "Verwijder huidig contact" - -#: templates/part.contact.php:17 -msgid "Drop photo to upload" -msgstr "Verwijder foto uit upload" - -#: templates/part.contact.php:19 -msgid "Delete current photo" -msgstr "Verwijdere huidige foto" - -#: templates/part.contact.php:20 -msgid "Edit current photo" -msgstr "Wijzig huidige foto" - -#: templates/part.contact.php:21 -msgid "Upload new photo" -msgstr "Upload nieuwe foto" - -#: templates/part.contact.php:22 -msgid "Select photo from ownCloud" -msgstr "Selecteer foto uit ownCloud" - -#: templates/part.contact.php:35 -msgid "Format custom, Short name, Full name, Reverse or Reverse with comma" -msgstr "Formateer aangepast, Korte naam, Volledige naam, Achteruit of Achteruit met komma" - -#: templates/part.contact.php:36 -msgid "Edit name details" -msgstr "Wijzig naam gegevens" - -#: templates/part.contact.php:39 templates/part.contact.php:40 -#: templates/part.contact.php:126 -msgid "Organization" -msgstr "Organisatie" - -#: templates/part.contact.php:40 templates/part.contact.php:42 -#: templates/part.contact.php:44 templates/part.contact.php:46 -#: templates/part.contact.php:50 templates/settings.php:36 -msgid "Delete" -msgstr "Verwijderen" - -#: templates/part.contact.php:41 templates/part.contact.php:127 -msgid "Nickname" -msgstr "Roepnaam" - -#: templates/part.contact.php:42 -msgid "Enter nickname" -msgstr "Voer roepnaam in" - -#: templates/part.contact.php:43 templates/part.contact.php:134 -msgid "Web site" -msgstr "Website" - -#: templates/part.contact.php:44 -msgid "http://www.somesite.com" -msgstr "http://www.willekeurigesite.com" - -#: templates/part.contact.php:44 -msgid "Go to web site" -msgstr "Ga naar website" - -#: templates/part.contact.php:46 -msgid "dd-mm-yyyy" -msgstr "dd-mm-yyyy" - -#: templates/part.contact.php:47 templates/part.contact.php:135 -msgid "Groups" -msgstr "Groepen" - -#: templates/part.contact.php:49 -msgid "Separate groups with commas" -msgstr "Gebruik komma bij meerder groepen" - -#: templates/part.contact.php:50 -msgid "Edit groups" -msgstr "Wijzig groepen" - -#: templates/part.contact.php:59 templates/part.contact.php:73 -#: templates/part.contact.php:98 -msgid "Preferred" -msgstr "Voorkeur" - -#: templates/part.contact.php:60 -msgid "Please specify a valid email address." -msgstr "Geef een geldig email adres op." - -#: templates/part.contact.php:60 -msgid "Enter email address" -msgstr "Voer email adres in" - -#: templates/part.contact.php:64 -msgid "Mail to address" -msgstr "Mail naar adres" - -#: templates/part.contact.php:65 -msgid "Delete email address" -msgstr "Verwijder email adres" - -#: templates/part.contact.php:75 -msgid "Enter phone number" -msgstr "Voer telefoonnummer in" - -#: templates/part.contact.php:79 -msgid "Delete phone number" -msgstr "Verwijdere telefoonnummer" - -#: templates/part.contact.php:100 -msgid "Instant Messenger" -msgstr "Instant Messenger" - -#: templates/part.contact.php:101 -msgid "Delete IM" -msgstr "Verwijder IM" - -#: templates/part.contact.php:110 -msgid "View on map" -msgstr "Bekijk op een kaart" - -#: templates/part.contact.php:110 -msgid "Edit address details" -msgstr "Wijzig adres gegevens" - -#: templates/part.contact.php:116 -msgid "Add notes here." -msgstr "Voeg notitie toe" - -#: templates/part.contact.php:124 -msgid "Add field" -msgstr "Voeg veld toe" - -#: templates/part.contact.php:129 -msgid "Phone" -msgstr "Telefoon" - -#: templates/part.contact.php:130 -msgid "Email" -msgstr "E-mail" - -#: templates/part.contact.php:131 -msgid "Instant Messaging" -msgstr "Instant Messaging" - -#: templates/part.contact.php:132 -msgid "Address" -msgstr "Adres" - -#: templates/part.contact.php:133 -msgid "Note" -msgstr "Notitie" - -#: templates/part.contact.php:138 -msgid "Download contact" -msgstr "Download contact" - -#: templates/part.contact.php:139 -msgid "Delete contact" -msgstr "Verwijder contact" - -#: templates/part.cropphoto.php:65 -msgid "The temporary image has been removed from cache." -msgstr "Het tijdelijke plaatje is uit de cache verwijderd." - -#: templates/part.edit_address_dialog.php:6 -msgid "Edit address" -msgstr "Wijzig adres" - -#: templates/part.edit_address_dialog.php:10 -msgid "Type" -msgstr "Type" - -#: templates/part.edit_address_dialog.php:18 -#: templates/part.edit_address_dialog.php:21 -msgid "PO Box" -msgstr "Postbus" - -#: templates/part.edit_address_dialog.php:24 -msgid "Street address" -msgstr "Adres" - -#: templates/part.edit_address_dialog.php:27 -msgid "Street and number" -msgstr "Straat en nummer" - -#: templates/part.edit_address_dialog.php:30 -msgid "Extended" -msgstr "Uitgebreide" - -#: templates/part.edit_address_dialog.php:33 -msgid "Apartment number etc." -msgstr "Apartement nummer" - -#: templates/part.edit_address_dialog.php:36 -#: templates/part.edit_address_dialog.php:39 -msgid "City" -msgstr "Stad" - -#: templates/part.edit_address_dialog.php:42 -msgid "Region" -msgstr "Regio" - -#: templates/part.edit_address_dialog.php:45 -msgid "E.g. state or province" -msgstr "Provincie" - -#: templates/part.edit_address_dialog.php:48 -msgid "Zipcode" -msgstr "Postcode" - -#: templates/part.edit_address_dialog.php:51 -msgid "Postal code" -msgstr "Postcode" - -#: templates/part.edit_address_dialog.php:54 -#: templates/part.edit_address_dialog.php:57 -msgid "Country" -msgstr "Land" - -#: templates/part.edit_name_dialog.php:16 -msgid "Addressbook" -msgstr "Adresboek" - -#: templates/part.edit_name_dialog.php:23 -msgid "Hon. prefixes" -msgstr "Hon. prefixes" - -#: templates/part.edit_name_dialog.php:27 -msgid "Miss" -msgstr "Mw" - -#: templates/part.edit_name_dialog.php:28 -msgid "Ms" -msgstr "Mw" - -#: templates/part.edit_name_dialog.php:29 -msgid "Mr" -msgstr "M" - -#: templates/part.edit_name_dialog.php:30 -msgid "Sir" -msgstr "M" - -#: templates/part.edit_name_dialog.php:31 -msgid "Mrs" -msgstr "Mw" - -#: templates/part.edit_name_dialog.php:32 -msgid "Dr" -msgstr "M" - -#: templates/part.edit_name_dialog.php:35 -msgid "Given name" -msgstr "Voornaam" - -#: templates/part.edit_name_dialog.php:37 -msgid "Additional names" -msgstr "Extra namen" - -#: templates/part.edit_name_dialog.php:39 -msgid "Family name" -msgstr "Achternaam" - -#: templates/part.edit_name_dialog.php:41 -msgid "Hon. suffixes" -msgstr "" - -#: templates/part.edit_name_dialog.php:45 -msgid "J.D." -msgstr "" - -#: templates/part.edit_name_dialog.php:46 -msgid "M.D." -msgstr "" - -#: templates/part.edit_name_dialog.php:47 -msgid "D.O." -msgstr "" - -#: templates/part.edit_name_dialog.php:48 -msgid "D.C." -msgstr "" - -#: templates/part.edit_name_dialog.php:49 -msgid "Ph.D." -msgstr "" - -#: templates/part.edit_name_dialog.php:50 -msgid "Esq." -msgstr "" - -#: templates/part.edit_name_dialog.php:51 -msgid "Jr." -msgstr "" - -#: templates/part.edit_name_dialog.php:52 -msgid "Sn." -msgstr "" - -#: templates/part.import.php:1 -msgid "Import a contacts file" -msgstr "Importeer een contacten bestand" - -#: templates/part.import.php:6 -msgid "Please choose the addressbook" -msgstr "Kies een adresboek" - -#: templates/part.import.php:10 -msgid "create a new addressbook" -msgstr "Maak een nieuw adresboek" - -#: templates/part.import.php:15 -msgid "Name of new addressbook" -msgstr "Naam van nieuw adresboek" - -#: templates/part.import.php:20 -msgid "Importing contacts" -msgstr "Importeren van contacten" - -#: templates/part.no_contacts.php:3 -msgid "You have no contacts in your addressbook." -msgstr "Je hebt geen contacten in je adresboek" - -#: templates/part.no_contacts.php:5 -msgid "Add contact" -msgstr "Contactpersoon toevoegen" - -#: templates/part.selectaddressbook.php:1 -msgid "Select Address Books" -msgstr "Selecteer adresboeken" - -#: templates/part.selectaddressbook.php:27 -msgid "Enter name" -msgstr "Naam" - -#: templates/part.selectaddressbook.php:29 -msgid "Enter description" -msgstr "Beschrijving" - -#: templates/settings.php:3 -msgid "CardDAV syncing addresses" -msgstr "CardDAV synchroniseert de adressen" - -#: templates/settings.php:3 -msgid "more info" -msgstr "meer informatie" - -#: templates/settings.php:5 -msgid "Primary address (Kontact et al)" -msgstr "Standaardadres" - -#: templates/settings.php:7 -msgid "iOS/OS X" -msgstr "IOS/OS X" - -#: templates/settings.php:20 -msgid "Show CardDav link" -msgstr "Laat CardDav link zien" - -#: templates/settings.php:23 -msgid "Show read-only VCF link" -msgstr "Laat alleen lezen VCF link zien" - -#: templates/settings.php:26 -msgid "Share" -msgstr "Deel" - -#: templates/settings.php:29 -msgid "Download" -msgstr "Download" - -#: templates/settings.php:33 -msgid "Edit" -msgstr "Bewerken" - -#: templates/settings.php:43 -msgid "New Address Book" -msgstr "Nieuw Adresboek" - -#: templates/settings.php:44 -msgid "Name" -msgstr "Naam" - -#: templates/settings.php:45 -msgid "Description" -msgstr "Beschrijving" - -#: templates/settings.php:46 -msgid "Save" -msgstr "Opslaan" - -#: templates/settings.php:47 -msgid "Cancel" -msgstr "Anuleren" - -#: templates/settings.php:52 -msgid "More..." -msgstr "Meer..." diff --git a/l10n/nl/core.po b/l10n/nl/core.po index b4220820df5dffc101a66e8ebc51b67b18f5e96c..5eeb0f021c8a76fc5095ef904bc5a8f6a15971c9 100644 --- a/l10n/nl/core.po +++ b/l10n/nl/core.po @@ -3,21 +3,27 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# André Koot , 2012. # , 2011. # , 2012. # Erik Bent , 2012. # , 2011. # , 2012. # , 2011. +# , 2012. +# Martin Wildeman , 2012. # , 2012. # Richard Bos , 2012. +# , 2012. +# , 2012. +# , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-16 02:04+0200\n" -"PO-Revision-Date: 2012-10-16 00:05+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-11-19 00:01+0100\n" +"PO-Revision-Date: 2012-11-18 13:25+0000\n" +"Last-Translator: Len \n" "Language-Team: Dutch (http://www.transifex.com/projects/p/owncloud/language/nl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -25,209 +31,241 @@ msgstr "" "Language: nl\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: ajax/vcategories/add.php:23 ajax/vcategories/delete.php:23 -msgid "Application name not provided." -msgstr "Applicatie naam niet gegeven." +#: ajax/vcategories/add.php:26 ajax/vcategories/edit.php:25 +msgid "Category type not provided." +msgstr "Categorie type niet opgegeven." -#: ajax/vcategories/add.php:29 +#: ajax/vcategories/add.php:30 msgid "No category to add?" msgstr "Geen categorie toevoegen?" -#: ajax/vcategories/add.php:36 +#: ajax/vcategories/add.php:37 msgid "This category already exists: " -msgstr "De categorie bestaat al." +msgstr "Deze categorie bestaat al." + +#: ajax/vcategories/addToFavorites.php:26 ajax/vcategories/delete.php:27 +#: ajax/vcategories/favorites.php:24 +#: ajax/vcategories/removeFromFavorites.php:26 +msgid "Object type not provided." +msgstr "Object type niet opgegeven." + +#: ajax/vcategories/addToFavorites.php:30 +#: ajax/vcategories/removeFromFavorites.php:30 +#, php-format +msgid "%s ID not provided." +msgstr "%s ID niet opgegeven." + +#: ajax/vcategories/addToFavorites.php:35 +#, php-format +msgid "Error adding %s to favorites." +msgstr "Toevoegen van %s aan favorieten is mislukt." + +#: ajax/vcategories/delete.php:35 js/oc-vcategories.js:136 +msgid "No categories selected for deletion." +msgstr "Geen categorie geselecteerd voor verwijdering." + +#: ajax/vcategories/removeFromFavorites.php:35 +#, php-format +msgid "Error removing %s from favorites." +msgstr "Verwijderen %s van favorieten is mislukt." -#: js/js.js:238 templates/layout.user.php:49 templates/layout.user.php:50 +#: js/js.js:259 templates/layout.user.php:60 templates/layout.user.php:61 msgid "Settings" msgstr "Instellingen" -#: js/js.js:670 -msgid "January" -msgstr "Januari" +#: js/js.js:704 +msgid "seconds ago" +msgstr "seconden geleden" -#: js/js.js:670 -msgid "February" -msgstr "Februari" +#: js/js.js:705 +msgid "1 minute ago" +msgstr "1 minuut geleden" -#: js/js.js:670 -msgid "March" -msgstr "Maart" +#: js/js.js:706 +msgid "{minutes} minutes ago" +msgstr "{minutes} minuten geleden" -#: js/js.js:670 -msgid "April" -msgstr "April" +#: js/js.js:707 +msgid "1 hour ago" +msgstr "1 uur geleden" -#: js/js.js:670 -msgid "May" -msgstr "Mei" +#: js/js.js:708 +msgid "{hours} hours ago" +msgstr "{hours} uren geleden" -#: js/js.js:670 -msgid "June" -msgstr "Juni" +#: js/js.js:709 +msgid "today" +msgstr "vandaag" -#: js/js.js:671 -msgid "July" -msgstr "Juli" +#: js/js.js:710 +msgid "yesterday" +msgstr "gisteren" -#: js/js.js:671 -msgid "August" -msgstr "Augustus" +#: js/js.js:711 +msgid "{days} days ago" +msgstr "{days} dagen geleden" -#: js/js.js:671 -msgid "September" -msgstr "September" +#: js/js.js:712 +msgid "last month" +msgstr "vorige maand" -#: js/js.js:671 -msgid "October" -msgstr "Oktober" +#: js/js.js:713 +msgid "{months} months ago" +msgstr "{months} maanden geleden" -#: js/js.js:671 -msgid "November" -msgstr "November" +#: js/js.js:714 +msgid "months ago" +msgstr "maanden geleden" -#: js/js.js:671 -msgid "December" -msgstr "December" +#: js/js.js:715 +msgid "last year" +msgstr "vorig jaar" + +#: js/js.js:716 +msgid "years ago" +msgstr "jaar geleden" -#: js/oc-dialogs.js:123 +#: js/oc-dialogs.js:126 msgid "Choose" msgstr "Kies" -#: js/oc-dialogs.js:143 js/oc-dialogs.js:163 +#: js/oc-dialogs.js:146 js/oc-dialogs.js:166 msgid "Cancel" msgstr "Annuleren" -#: js/oc-dialogs.js:159 +#: js/oc-dialogs.js:162 msgid "No" msgstr "Nee" -#: js/oc-dialogs.js:160 +#: js/oc-dialogs.js:163 msgid "Yes" msgstr "Ja" -#: js/oc-dialogs.js:177 +#: js/oc-dialogs.js:180 msgid "Ok" msgstr "Ok" -#: js/oc-vcategories.js:68 -msgid "No categories selected for deletion." -msgstr "Geen categorie geselecteerd voor verwijdering." +#: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102 +#: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162 +msgid "The object type is not specified." +msgstr "Het object type is niet gespecificeerd." -#: js/oc-vcategories.js:68 js/share.js:114 js/share.js:121 js/share.js:497 -#: js/share.js:509 +#: js/oc-vcategories.js:95 js/oc-vcategories.js:125 js/oc-vcategories.js:136 +#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:527 +#: js/share.js:539 msgid "Error" msgstr "Fout" -#: js/share.js:103 +#: js/oc-vcategories.js:179 +msgid "The app name is not specified." +msgstr "De app naam is niet gespecificeerd." + +#: js/oc-vcategories.js:194 +msgid "The required file {file} is not installed!" +msgstr "Het vereiste bestand {file} is niet geïnstalleerd!" + +#: js/share.js:124 msgid "Error while sharing" msgstr "Fout tijdens het delen" -#: js/share.js:114 +#: js/share.js:135 msgid "Error while unsharing" msgstr "Fout tijdens het stoppen met delen" -#: js/share.js:121 +#: js/share.js:142 msgid "Error while changing permissions" msgstr "Fout tijdens het veranderen van permissies" -#: js/share.js:130 -msgid "Shared with you and the group" -msgstr "Gedeeld me u en de groep" +#: js/share.js:151 +msgid "Shared with you and the group {group} by {owner}" +msgstr "Gedeeld met u en de groep {group} door {owner}" -#: js/share.js:130 -msgid "by" -msgstr "door" - -#: js/share.js:132 -msgid "Shared with you by" -msgstr "Gedeeld met u door" +#: js/share.js:153 +msgid "Shared with you by {owner}" +msgstr "Gedeeld met u door {owner}" -#: js/share.js:137 +#: js/share.js:158 msgid "Share with" msgstr "Deel met" -#: js/share.js:142 +#: js/share.js:163 msgid "Share with link" msgstr "Deel met link" -#: js/share.js:143 +#: js/share.js:164 msgid "Password protect" -msgstr "Passeerwoord beveiliging" +msgstr "Wachtwoord beveiliging" -#: js/share.js:147 templates/installation.php:42 templates/login.php:24 +#: js/share.js:168 templates/installation.php:42 templates/login.php:24 #: templates/verify.php:13 msgid "Password" msgstr "Wachtwoord" -#: js/share.js:152 +#: js/share.js:173 msgid "Set expiration date" -msgstr "Zet vervaldatum" +msgstr "Stel vervaldatum in" -#: js/share.js:153 +#: js/share.js:174 msgid "Expiration date" msgstr "Vervaldatum" -#: js/share.js:185 +#: js/share.js:206 msgid "Share via email:" msgstr "Deel via email:" -#: js/share.js:187 +#: js/share.js:208 msgid "No people found" msgstr "Geen mensen gevonden" -#: js/share.js:214 +#: js/share.js:235 msgid "Resharing is not allowed" msgstr "Verder delen is niet toegestaan" -#: js/share.js:250 -msgid "Shared in" -msgstr "Gedeeld in" - -#: js/share.js:250 -msgid "with" -msgstr "met" - #: js/share.js:271 +msgid "Shared in {item} with {user}" +msgstr "Gedeeld in {item} met {user}" + +#: js/share.js:292 msgid "Unshare" msgstr "Stop met delen" -#: js/share.js:283 +#: js/share.js:304 msgid "can edit" msgstr "kan wijzigen" -#: js/share.js:285 +#: js/share.js:306 msgid "access control" msgstr "toegangscontrole" -#: js/share.js:288 +#: js/share.js:309 msgid "create" msgstr "maak" -#: js/share.js:291 +#: js/share.js:312 msgid "update" msgstr "bijwerken" -#: js/share.js:294 +#: js/share.js:315 msgid "delete" msgstr "verwijderen" -#: js/share.js:297 +#: js/share.js:318 msgid "share" msgstr "deel" -#: js/share.js:322 js/share.js:484 +#: js/share.js:343 js/share.js:514 js/share.js:516 msgid "Password protected" -msgstr "Passeerwoord beveiligd" +msgstr "Wachtwoord beveiligd" -#: js/share.js:497 +#: js/share.js:527 msgid "Error unsetting expiration date" msgstr "Fout tijdens het verwijderen van de verval datum" -#: js/share.js:509 +#: js/share.js:539 msgid "Error setting expiration date" -msgstr "Fout tijdens het configureren van de vervaldatum" +msgstr "Fout tijdens het instellen van de vervaldatum" -#: lostpassword/index.php:26 +#: lostpassword/controller.php:47 msgid "ownCloud password reset" msgstr "ownCloud wachtwoord herstellen" @@ -237,15 +275,15 @@ msgstr "Gebruik de volgende link om je wachtwoord te resetten: {link}" #: lostpassword/templates/lostpassword.php:3 msgid "You will receive a link to reset your password via Email." -msgstr "U ontvangt een link om je wachtwoord opnieuw in te stellen via e-mail." +msgstr "U ontvangt een link om uw wachtwoord opnieuw in te stellen via e-mail." #: lostpassword/templates/lostpassword.php:5 -msgid "Requested" -msgstr "Gevraagd" +msgid "Reset email send." +msgstr "Reset e-mail verstuurd." #: lostpassword/templates/lostpassword.php:8 -msgid "Login failed!" -msgstr "Login mislukt!" +msgid "Request failed!" +msgstr "Verzoek mislukt!" #: lostpassword/templates/lostpassword.php:11 templates/installation.php:38 #: templates/login.php:20 @@ -304,25 +342,25 @@ msgstr "Cloud niet gevonden" msgid "Edit categories" msgstr "Wijzigen categorieën" -#: templates/edit_categories_dialog.php:14 +#: templates/edit_categories_dialog.php:16 msgid "Add" msgstr "Toevoegen" #: templates/installation.php:23 templates/installation.php:31 msgid "Security Warning" -msgstr "" +msgstr "Beveiligingswaarschuwing" #: templates/installation.php:24 msgid "" "No secure random number generator is available, please enable the PHP " "OpenSSL extension." -msgstr "" +msgstr "Er kon geen willekeurig nummer worden gegenereerd. Zet de PHP OpenSSL extentie aan." #: templates/installation.php:26 msgid "" "Without a secure random number generator an attacker may be able to predict " "password reset tokens and take over your account." -msgstr "" +msgstr "Zonder random nummer generator is het mogelijk voor een aanvaller om de reset tokens van wachtwoorden te voorspellen. Dit kan leiden tot het inbreken op uw account." #: templates/installation.php:32 msgid "" @@ -331,7 +369,7 @@ msgid "" "strongly suggest that you configure your webserver in a way that the data " "directory is no longer accessible or you move the data directory outside the" " webserver document root." -msgstr "" +msgstr "Uw data is waarschijnlijk toegankelijk vanaf net internet. Het .htaccess bestand dat ownCloud levert werkt niet goed. U wordt aangeraden om de configuratie van uw webserver zodanig aan te passen dat de data folders niet meer publiekelijk toegankelijk zijn. U kunt ook de data folder verplaatsen naar een folder buiten de webserver document folder." #: templates/installation.php:36 msgid "Create an admin account" @@ -347,7 +385,7 @@ msgstr "Gegevensmap" #: templates/installation.php:57 msgid "Configure the database" -msgstr "Configureer de databank" +msgstr "Configureer de database" #: templates/installation.php:62 templates/installation.php:73 #: templates/installation.php:83 templates/installation.php:93 @@ -356,15 +394,15 @@ msgstr "zal gebruikt worden" #: templates/installation.php:105 msgid "Database user" -msgstr "Gebruiker databank" +msgstr "Gebruiker database" #: templates/installation.php:109 msgid "Database password" -msgstr "Wachtwoord databank" +msgstr "Wachtwoord database" #: templates/installation.php:113 msgid "Database name" -msgstr "Naam databank" +msgstr "Naam database" #: templates/installation.php:121 msgid "Database tablespace" @@ -378,27 +416,103 @@ msgstr "Database server" msgid "Finish setup" msgstr "Installatie afronden" -#: templates/layout.guest.php:38 +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Sunday" +msgstr "Zondag" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Monday" +msgstr "Maandag" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Tuesday" +msgstr "Dinsdag" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Wednesday" +msgstr "Woensdag" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Thursday" +msgstr "Donderdag" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Friday" +msgstr "Vrijdag" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Saturday" +msgstr "Zaterdag" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "January" +msgstr "januari" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "February" +msgstr "februari" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "March" +msgstr "maart" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "April" +msgstr "april" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "May" +msgstr "mei" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "June" +msgstr "juni" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "July" +msgstr "juli" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "August" +msgstr "augustus" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "September" +msgstr "september" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "October" +msgstr "oktober" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "November" +msgstr "november" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "December" +msgstr "december" + +#: templates/layout.guest.php:42 msgid "web services under your control" -msgstr "webdiensten die je beheerst" +msgstr "Webdiensten in eigen beheer" -#: templates/layout.user.php:34 +#: templates/layout.user.php:45 msgid "Log out" msgstr "Afmelden" #: templates/login.php:8 msgid "Automatic logon rejected!" -msgstr "" +msgstr "Automatische aanmelding geweigerd!" #: templates/login.php:9 msgid "" "If you did not change your password recently, your account may be " "compromised!" -msgstr "" +msgstr "Als u uw wachtwoord niet onlangs heeft aangepast, kan uw account overgenomen zijn!" #: templates/login.php:10 msgid "Please change your password to secure your account again." -msgstr "" +msgstr "Wijzig uw wachtwoord zodat uw account weer beveiligd is." #: templates/login.php:15 msgid "Lost your password?" @@ -426,14 +540,14 @@ msgstr "volgende" #: templates/verify.php:5 msgid "Security Warning!" -msgstr "" +msgstr "Beveiligingswaarschuwing!" #: templates/verify.php:6 msgid "" "Please verify your password.
For security reasons you may be " "occasionally asked to enter your password again." -msgstr "" +msgstr "Verifieer uw wachtwoord!
Om veiligheidsredenen wordt u regelmatig gevraagd uw wachtwoord in te geven." #: templates/verify.php:16 msgid "Verify" -msgstr "" +msgstr "Verifieer" diff --git a/l10n/nl/files.po b/l10n/nl/files.po index cae768deb5d8084c1b0859630db71ed5c424fc17..bb78a69078c1fb7cccfbda2edb4b097f5439e664 100644 --- a/l10n/nl/files.po +++ b/l10n/nl/files.po @@ -3,6 +3,7 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# André Koot , 2012. # , 2011. # , 2011. # , 2012. @@ -10,15 +11,16 @@ # , 2011. # , 2012. # , 2011. +# , 2012. # , 2012. # Richard Bos , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-14 02:05+0200\n" -"PO-Revision-Date: 2012-10-13 08:51+0000\n" -"Last-Translator: Richard Bos \n" +"POT-Creation-Date: 2012-12-04 00:06+0100\n" +"PO-Revision-Date: 2012-12-03 09:15+0000\n" +"Last-Translator: Len \n" "Language-Team: Dutch (http://www.transifex.com/projects/p/owncloud/language/nl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -31,195 +33,166 @@ msgid "There is no error, the file uploaded with success" msgstr "Geen fout opgetreden, bestand successvol geupload." #: ajax/upload.php:21 -msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" -msgstr "Het geüploade bestand is groter dan de upload_max_filesize instelling in php.ini" +msgid "" +"The uploaded file exceeds the upload_max_filesize directive in php.ini: " +msgstr "Het geüploade bestand overscheidt de upload_max_filesize optie in php.ini:" -#: ajax/upload.php:22 +#: ajax/upload.php:23 msgid "" "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " "the HTML form" msgstr "Het geüploade bestand is groter dan de MAX_FILE_SIZE richtlijn die is opgegeven in de HTML-formulier" -#: ajax/upload.php:23 +#: ajax/upload.php:25 msgid "The uploaded file was only partially uploaded" msgstr "Het bestand is slechts gedeeltelijk geupload" -#: ajax/upload.php:24 +#: ajax/upload.php:26 msgid "No file was uploaded" msgstr "Geen bestand geüpload" -#: ajax/upload.php:25 +#: ajax/upload.php:27 msgid "Missing a temporary folder" msgstr "Een tijdelijke map mist" -#: ajax/upload.php:26 +#: ajax/upload.php:28 msgid "Failed to write to disk" msgstr "Schrijven naar schijf mislukt" -#: appinfo/app.php:6 +#: appinfo/app.php:10 msgid "Files" msgstr "Bestanden" -#: js/fileactions.js:108 templates/index.php:62 +#: js/fileactions.js:117 templates/index.php:83 templates/index.php:84 msgid "Unshare" msgstr "Stop delen" -#: js/fileactions.js:110 templates/index.php:64 +#: js/fileactions.js:119 templates/index.php:89 templates/index.php:90 msgid "Delete" msgstr "Verwijder" -#: js/fileactions.js:182 +#: js/fileactions.js:181 msgid "Rename" msgstr "Hernoem" -#: js/filelist.js:192 js/filelist.js:194 -msgid "already exists" -msgstr "bestaat al" +#: js/filelist.js:201 js/filelist.js:203 +msgid "{new_name} already exists" +msgstr "{new_name} bestaat al" -#: js/filelist.js:192 js/filelist.js:194 +#: js/filelist.js:201 js/filelist.js:203 msgid "replace" msgstr "vervang" -#: js/filelist.js:192 +#: js/filelist.js:201 msgid "suggest name" msgstr "Stel een naam voor" -#: js/filelist.js:192 js/filelist.js:194 +#: js/filelist.js:201 js/filelist.js:203 msgid "cancel" msgstr "annuleren" -#: js/filelist.js:241 js/filelist.js:243 -msgid "replaced" -msgstr "vervangen" +#: js/filelist.js:250 +msgid "replaced {new_name}" +msgstr "verving {new_name}" -#: js/filelist.js:241 js/filelist.js:243 js/filelist.js:275 js/filelist.js:277 +#: js/filelist.js:250 js/filelist.js:252 js/filelist.js:284 js/filelist.js:286 msgid "undo" msgstr "ongedaan maken" -#: js/filelist.js:243 -msgid "with" -msgstr "door" +#: js/filelist.js:252 +msgid "replaced {new_name} with {old_name}" +msgstr "verving {new_name} met {old_name}" + +#: js/filelist.js:284 +msgid "unshared {files}" +msgstr "delen gestopt {files}" -#: js/filelist.js:275 -msgid "unshared" -msgstr "niet gedeeld" +#: js/filelist.js:286 +msgid "deleted {files}" +msgstr "verwijderde {files}" -#: js/filelist.js:277 -msgid "deleted" -msgstr "verwijderd" +#: js/files.js:33 +msgid "" +"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not " +"allowed." +msgstr "Onjuiste naam; '\\', '/', '<', '>', ':', '\"', '|', '?' en '*' zijn niet toegestaan." -#: js/files.js:179 +#: js/files.js:183 msgid "generating ZIP-file, it may take some time." msgstr "aanmaken ZIP-file, dit kan enige tijd duren." -#: js/files.js:214 +#: js/files.js:218 msgid "Unable to upload your file as it is a directory or has 0 bytes" msgstr "uploaden van de file mislukt, het is of een directory of de bestandsgrootte is 0 bytes" -#: js/files.js:214 +#: js/files.js:218 msgid "Upload Error" msgstr "Upload Fout" -#: js/files.js:242 js/files.js:347 js/files.js:377 +#: js/files.js:235 +msgid "Close" +msgstr "Sluit" + +#: js/files.js:254 js/files.js:368 js/files.js:398 msgid "Pending" msgstr "Wachten" -#: js/files.js:262 +#: js/files.js:274 msgid "1 file uploading" msgstr "1 bestand wordt ge-upload" -#: js/files.js:265 js/files.js:310 js/files.js:325 -msgid "files uploading" -msgstr "Bestanden aan het uploaden" +#: js/files.js:277 js/files.js:331 js/files.js:346 +msgid "{count} files uploading" +msgstr "{count} bestanden aan het uploaden" -#: js/files.js:328 js/files.js:361 +#: js/files.js:349 js/files.js:382 msgid "Upload cancelled." msgstr "Uploaden geannuleerd." -#: js/files.js:430 +#: js/files.js:451 msgid "" "File upload is in progress. Leaving the page now will cancel the upload." -msgstr "Bestands upload is bezig. Wanneer de pagina nu verlaten wordt, stopt de upload." +msgstr "Bestandsupload is bezig. Wanneer de pagina nu verlaten wordt, stopt de upload." -#: js/files.js:500 -msgid "Invalid name, '/' is not allowed." -msgstr "Ongeldige naam, '/' is niet toegestaan." +#: js/files.js:523 +msgid "Invalid folder name. Usage of \"Shared\" is reserved by Owncloud" +msgstr "Folder naam niet toegestaan. Het gebruik van \"Shared\" is aan Owncloud voorbehouden" -#: js/files.js:681 -msgid "files scanned" -msgstr "Gescande bestanden" +#: js/files.js:704 +msgid "{count} files scanned" +msgstr "{count} bestanden gescanned" -#: js/files.js:689 +#: js/files.js:712 msgid "error while scanning" msgstr "Fout tijdens het scannen" -#: js/files.js:762 templates/index.php:48 +#: js/files.js:785 templates/index.php:65 msgid "Name" msgstr "Naam" -#: js/files.js:763 templates/index.php:56 +#: js/files.js:786 templates/index.php:76 msgid "Size" msgstr "Bestandsgrootte" -#: js/files.js:764 templates/index.php:58 +#: js/files.js:787 templates/index.php:78 msgid "Modified" msgstr "Laatst aangepast" -#: js/files.js:791 -msgid "folder" -msgstr "map" - -#: js/files.js:793 -msgid "folders" -msgstr "mappen" - -#: js/files.js:801 -msgid "file" -msgstr "bestand" - -#: js/files.js:803 -msgid "files" -msgstr "bestanden" - -#: js/files.js:847 -msgid "seconds ago" -msgstr "seconden geleden" - -#: js/files.js:848 -msgid "minute ago" -msgstr "minuut geleden" - -#: js/files.js:849 -msgid "minutes ago" -msgstr "minuten geleden" +#: js/files.js:814 +msgid "1 folder" +msgstr "1 map" -#: js/files.js:852 -msgid "today" -msgstr "vandaag" +#: js/files.js:816 +msgid "{count} folders" +msgstr "{count} mappen" -#: js/files.js:853 -msgid "yesterday" -msgstr "gisteren" +#: js/files.js:824 +msgid "1 file" +msgstr "1 bestand" -#: js/files.js:854 -msgid "days ago" -msgstr "dagen geleden" - -#: js/files.js:855 -msgid "last month" -msgstr "vorige maand" - -#: js/files.js:857 -msgid "months ago" -msgstr "maanden geleden" - -#: js/files.js:858 -msgid "last year" -msgstr "vorig jaar" - -#: js/files.js:859 -msgid "years ago" -msgstr "jaar geleden" +#: js/files.js:826 +msgid "{count} files" +msgstr "{count} bestanden" #: templates/admin.php:5 msgid "File handling" @@ -229,27 +202,27 @@ msgstr "Bestand" msgid "Maximum upload size" msgstr "Maximale bestandsgrootte voor uploads" -#: templates/admin.php:7 +#: templates/admin.php:9 msgid "max. possible: " msgstr "max. mogelijk: " -#: templates/admin.php:9 +#: templates/admin.php:12 msgid "Needed for multi-file and folder downloads." msgstr "Nodig voor meerdere bestanden en mappen downloads." -#: templates/admin.php:9 +#: templates/admin.php:14 msgid "Enable ZIP-download" msgstr "Zet ZIP-download aan" -#: templates/admin.php:11 +#: templates/admin.php:17 msgid "0 is unlimited" msgstr "0 is ongelimiteerd" -#: templates/admin.php:12 +#: templates/admin.php:19 msgid "Maximum input size for ZIP files" msgstr "Maximale grootte voor ZIP bestanden" -#: templates/admin.php:14 +#: templates/admin.php:23 msgid "Save" msgstr "Opslaan" @@ -257,52 +230,48 @@ msgstr "Opslaan" msgid "New" msgstr "Nieuw" -#: templates/index.php:9 +#: templates/index.php:10 msgid "Text file" msgstr "Tekstbestand" -#: templates/index.php:10 +#: templates/index.php:12 msgid "Folder" msgstr "Map" -#: templates/index.php:11 -msgid "From url" -msgstr "Van hyperlink" +#: templates/index.php:14 +msgid "From link" +msgstr "Vanaf link" -#: templates/index.php:20 +#: templates/index.php:35 msgid "Upload" msgstr "Upload" -#: templates/index.php:27 +#: templates/index.php:43 msgid "Cancel upload" msgstr "Upload afbreken" -#: templates/index.php:40 +#: templates/index.php:57 msgid "Nothing in here. Upload something!" msgstr "Er bevindt zich hier niets. Upload een bestand!" -#: templates/index.php:50 -msgid "Share" -msgstr "Delen" - -#: templates/index.php:52 +#: templates/index.php:71 msgid "Download" msgstr "Download" -#: templates/index.php:75 +#: templates/index.php:103 msgid "Upload too large" msgstr "Bestanden te groot" -#: templates/index.php:77 +#: templates/index.php:105 msgid "" "The files you are trying to upload exceed the maximum size for file uploads " "on this server." msgstr "De bestanden die u probeert te uploaden zijn groter dan de maximaal toegestane bestandsgrootte voor deze server." -#: templates/index.php:82 +#: templates/index.php:110 msgid "Files are being scanned, please wait." msgstr "Bestanden worden gescand, even wachten." -#: templates/index.php:85 +#: templates/index.php:113 msgid "Current scanning" msgstr "Er wordt gescand" diff --git a/l10n/nl/files_external.po b/l10n/nl/files_external.po index a3bf337db111566ccb0e5c6f34206faad485857c..316f4a787028b35df9a70a8ad7225c1d27b40c26 100644 --- a/l10n/nl/files_external.po +++ b/l10n/nl/files_external.po @@ -8,9 +8,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-13 02:04+0200\n" -"PO-Revision-Date: 2012-10-12 19:43+0000\n" -"Last-Translator: Richard Bos \n" +"POT-Creation-Date: 2012-12-12 00:12+0100\n" +"PO-Revision-Date: 2012-12-11 23:13+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Dutch (http://www.transifex.com/projects/p/owncloud/language/nl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -42,66 +42,80 @@ msgstr "Geef een geldige Dropbox key en secret." msgid "Error configuring Google Drive storage" msgstr "Fout tijdens het configureren van Google Drive opslag" +#: lib/config.php:434 +msgid "" +"Warning: \"smbclient\" is not installed. Mounting of CIFS/SMB shares " +"is not possible. Please ask your system administrator to install it." +msgstr "" + +#: lib/config.php:435 +msgid "" +"Warning: The FTP support in PHP is not enabled or installed. Mounting" +" of FTP shares is not possible. Please ask your system administrator to " +"install it." +msgstr "" + #: templates/settings.php:3 msgid "External Storage" msgstr "Externe opslag" -#: templates/settings.php:7 templates/settings.php:19 +#: templates/settings.php:8 templates/settings.php:22 msgid "Mount point" msgstr "Aankoppelpunt" -#: templates/settings.php:8 +#: templates/settings.php:9 msgid "Backend" msgstr "Backend" -#: templates/settings.php:9 +#: templates/settings.php:10 msgid "Configuration" msgstr "Configuratie" -#: templates/settings.php:10 +#: templates/settings.php:11 msgid "Options" msgstr "Opties" -#: templates/settings.php:11 +#: templates/settings.php:12 msgid "Applicable" msgstr "Van toepassing" -#: templates/settings.php:23 +#: templates/settings.php:27 msgid "Add mount point" -msgstr "Voeg aankoppelpunt toe" +msgstr "Aankoppelpunt toevoegen" -#: templates/settings.php:54 templates/settings.php:62 +#: templates/settings.php:85 msgid "None set" msgstr "Niets ingesteld" -#: templates/settings.php:63 +#: templates/settings.php:86 msgid "All Users" msgstr "Alle gebruikers" -#: templates/settings.php:64 +#: templates/settings.php:87 msgid "Groups" msgstr "Groepen" -#: templates/settings.php:69 +#: templates/settings.php:95 msgid "Users" msgstr "Gebruikers" -#: templates/settings.php:77 templates/settings.php:107 +#: templates/settings.php:108 templates/settings.php:109 +#: templates/settings.php:149 templates/settings.php:150 msgid "Delete" msgstr "Verwijder" -#: templates/settings.php:87 +#: templates/settings.php:124 msgid "Enable User External Storage" -msgstr "Zet gebruiker's externe opslag aan" +msgstr "Externe opslag voor gebruikers activeren" -#: templates/settings.php:88 +#: templates/settings.php:125 msgid "Allow users to mount their own external storage" msgstr "Sta gebruikers toe om hun eigen externe opslag aan te koppelen" -#: templates/settings.php:99 +#: templates/settings.php:139 msgid "SSL root certificates" msgstr "SSL root certificaten" -#: templates/settings.php:113 +#: templates/settings.php:158 msgid "Import Root Certificate" msgstr "Importeer root certificaat" diff --git a/l10n/nl/files_pdfviewer.po b/l10n/nl/files_pdfviewer.po deleted file mode 100644 index ff6e8c5e201202271f5cefd9392a412a5c276739..0000000000000000000000000000000000000000 --- a/l10n/nl/files_pdfviewer.po +++ /dev/null @@ -1,42 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 02:18+0200\n" -"PO-Revision-Date: 2012-08-26 00:19+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Dutch (http://www.transifex.com/projects/p/owncloud/language/nl/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: nl\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: js/viewer.js:22 -msgid "Previous" -msgstr "" - -#: js/viewer.js:23 -msgid "Next" -msgstr "" - -#: js/viewer.js:29 -msgid "Page Width" -msgstr "" - -#: js/viewer.js:29 -msgid "Page Fit" -msgstr "" - -#: js/viewer.js:30 -msgid "Print" -msgstr "" - -#: js/viewer.js:32 -msgid "Download" -msgstr "" diff --git a/l10n/nl/files_texteditor.po b/l10n/nl/files_texteditor.po deleted file mode 100644 index c73a062cdbb5d9f7c47a2aed6d5fced61b75dcca..0000000000000000000000000000000000000000 --- a/l10n/nl/files_texteditor.po +++ /dev/null @@ -1,44 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 01:17+0200\n" -"PO-Revision-Date: 2012-08-25 23:18+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Dutch (http://www.transifex.com/projects/p/owncloud/language/nl/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: nl\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: js/aceeditor/mode-coldfusion-uncompressed.js:1568 -#: js/aceeditor/mode-liquid-uncompressed.js:902 -#: js/aceeditor/mode-svg-uncompressed.js:1575 -msgid "regex" -msgstr "" - -#: js/editor.js:72 js/editor.js:156 js/editor.js:163 -msgid "Save" -msgstr "" - -#: js/editor.js:74 -msgid "Close" -msgstr "" - -#: js/editor.js:149 -msgid "Saving..." -msgstr "" - -#: js/editor.js:239 -msgid "An error occurred!" -msgstr "" - -#: js/editor.js:266 -msgid "There were unsaved changes, click here to go back" -msgstr "" diff --git a/l10n/nl/files_versions.po b/l10n/nl/files_versions.po index 5db59a412264143697a40165742fab0779e52e3f..0328e198c572bbcfb679767d0cb607dab3308805 100644 --- a/l10n/nl/files_versions.po +++ b/l10n/nl/files_versions.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-09-24 02:01+0200\n" -"PO-Revision-Date: 2012-09-23 14:45+0000\n" +"POT-Creation-Date: 2012-10-28 00:01+0200\n" +"PO-Revision-Date: 2012-10-27 08:43+0000\n" "Last-Translator: Richard Bos \n" "Language-Team: Dutch (http://www.transifex.com/projects/p/owncloud/language/nl/)\n" "MIME-Version: 1.0\n" @@ -40,4 +40,4 @@ msgstr "Bestand versies" #: templates/settings.php:4 msgid "Enable" -msgstr "Zet aan" +msgstr "Activeer" diff --git a/l10n/nl/gallery.po b/l10n/nl/gallery.po deleted file mode 100644 index 4297c4c4792418baf75d41966f302fb3151dacaf..0000000000000000000000000000000000000000 --- a/l10n/nl/gallery.po +++ /dev/null @@ -1,41 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Erik Bent , 2012. -# , 2012. -# Richard Bos , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-25 02:04+0200\n" -"PO-Revision-Date: 2012-08-24 16:54+0000\n" -"Last-Translator: Richard Bos \n" -"Language-Team: Dutch (http://www.transifex.com/projects/p/owncloud/language/nl/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: nl\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: appinfo/app.php:42 -msgid "Pictures" -msgstr "Plaatjes" - -#: js/pictures.js:12 -msgid "Share gallery" -msgstr "Deel gallerie" - -#: js/pictures.js:32 -msgid "Error: " -msgstr "Fout:" - -#: js/pictures.js:32 -msgid "Internal error" -msgstr "Interne fout" - -#: templates/index.php:27 -msgid "Slideshow" -msgstr "Diashow" diff --git a/l10n/nl/impress.po b/l10n/nl/impress.po deleted file mode 100644 index 2232e105985522cff37fa460602525030d2f47c8..0000000000000000000000000000000000000000 --- a/l10n/nl/impress.po +++ /dev/null @@ -1,22 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 01:17+0200\n" -"PO-Revision-Date: 2012-08-25 23:18+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Dutch (http://www.transifex.com/projects/p/owncloud/language/nl/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: nl\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: templates/presentations.php:7 -msgid "Documentation" -msgstr "" diff --git a/l10n/nl/lib.po b/l10n/nl/lib.po index 421ed25800fad4ad82b36a54af99922bbbfa7043..f8ebea3c492ef47cbc23d737e3c9990a44753922 100644 --- a/l10n/nl/lib.po +++ b/l10n/nl/lib.po @@ -3,14 +3,16 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# , 2012. # Richard Bos , 2012. +# , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-14 02:05+0200\n" -"PO-Revision-Date: 2012-10-13 09:09+0000\n" -"Last-Translator: Richard Bos \n" +"POT-Creation-Date: 2012-11-17 00:01+0100\n" +"PO-Revision-Date: 2012-11-16 05:45+0000\n" +"Last-Translator: Len \n" "Language-Team: Dutch (http://www.transifex.com/projects/p/owncloud/language/nl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -42,19 +44,19 @@ msgstr "Apps" msgid "Admin" msgstr "Beheerder" -#: files.php:328 +#: files.php:332 msgid "ZIP download is turned off." msgstr "ZIP download is uitgeschakeld." -#: files.php:329 +#: files.php:333 msgid "Files need to be downloaded one by one." msgstr "Bestanden moeten één voor één worden gedownload." -#: files.php:329 files.php:354 +#: files.php:333 files.php:358 msgid "Back to Files" msgstr "Terug naar bestanden" -#: files.php:353 +#: files.php:357 msgid "Selected files too large to generate zip file." msgstr "De geselecteerde bestanden zijn te groot om een zip bestand te maken." @@ -62,7 +64,7 @@ msgstr "De geselecteerde bestanden zijn te groot om een zip bestand te maken." msgid "Application is not enabled" msgstr "De applicatie is niet actief" -#: json.php:39 json.php:63 json.php:75 +#: json.php:39 json.php:64 json.php:77 json.php:89 msgid "Authentication error" msgstr "Authenticatie fout" @@ -70,45 +72,67 @@ msgstr "Authenticatie fout" msgid "Token expired. Please reload page." msgstr "Token verlopen. Herlaad de pagina." -#: template.php:87 +#: search/provider/file.php:17 search/provider/file.php:35 +msgid "Files" +msgstr "Bestanden" + +#: search/provider/file.php:26 search/provider/file.php:33 +msgid "Text" +msgstr "Tekst" + +#: search/provider/file.php:29 +msgid "Images" +msgstr "Afbeeldingen" + +#: template.php:103 msgid "seconds ago" msgstr "seconden geleden" -#: template.php:88 +#: template.php:104 msgid "1 minute ago" msgstr "1 minuut geleden" -#: template.php:89 +#: template.php:105 #, php-format msgid "%d minutes ago" msgstr "%d minuten geleden" -#: template.php:92 +#: template.php:106 +msgid "1 hour ago" +msgstr "1 uur geleden" + +#: template.php:107 +#, php-format +msgid "%d hours ago" +msgstr "%d uren geleden" + +#: template.php:108 msgid "today" msgstr "vandaag" -#: template.php:93 +#: template.php:109 msgid "yesterday" msgstr "gisteren" -#: template.php:94 +#: template.php:110 #, php-format msgid "%d days ago" msgstr "%d dagen geleden" -#: template.php:95 +#: template.php:111 msgid "last month" msgstr "vorige maand" -#: template.php:96 -msgid "months ago" -msgstr "maanden geleden" +#: template.php:112 +#, php-format +msgid "%d months ago" +msgstr "%d maanden geleden" -#: template.php:97 +#: template.php:113 msgid "last year" msgstr "vorig jaar" -#: template.php:98 +#: template.php:114 msgid "years ago" msgstr "jaar geleden" @@ -124,3 +148,8 @@ msgstr "bijgewerkt" #: updater.php:80 msgid "updates check is disabled" msgstr "Meest recente versie controle is uitgeschakeld" + +#: vcategories.php:188 vcategories.php:249 +#, php-format +msgid "Could not find category \"%s\"" +msgstr "Kon categorie \"%s\" niet vinden" diff --git a/l10n/nl/media.po b/l10n/nl/media.po deleted file mode 100644 index f06251189b0e868cd1b60f8c05a2668a2e166350..0000000000000000000000000000000000000000 --- a/l10n/nl/media.po +++ /dev/null @@ -1,69 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# , 2011. -# , 2011. -# , 2011. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-06-06 00:12+0200\n" -"PO-Revision-Date: 2012-06-05 22:15+0000\n" -"Last-Translator: icewind \n" -"Language-Team: Dutch (http://www.transifex.net/projects/p/owncloud/language/nl/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: nl\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: appinfo/app.php:32 templates/player.php:8 -msgid "Music" -msgstr "Muziek" - -#: js/music.js:18 -msgid "Add album to playlist" -msgstr "" - -#: templates/music.php:3 templates/player.php:12 -msgid "Play" -msgstr "Afspelen" - -#: templates/music.php:4 templates/music.php:26 templates/player.php:13 -msgid "Pause" -msgstr "Pauzeer" - -#: templates/music.php:5 -msgid "Previous" -msgstr "Vorige" - -#: templates/music.php:6 templates/player.php:14 -msgid "Next" -msgstr "Volgende" - -#: templates/music.php:7 -msgid "Mute" -msgstr "Dempen" - -#: templates/music.php:8 -msgid "Unmute" -msgstr "Dempen uit" - -#: templates/music.php:25 -msgid "Rescan Collection" -msgstr "Collectie opnieuw scannen" - -#: templates/music.php:37 -msgid "Artist" -msgstr "Artiest" - -#: templates/music.php:38 -msgid "Album" -msgstr "Album" - -#: templates/music.php:39 -msgid "Title" -msgstr "Titel" diff --git a/l10n/nl/settings.po b/l10n/nl/settings.po index 3decc2999c2afd52f7777c59e7502587c8ea08bb..1b28da61ba6c59845971b772224a72e0a0ebf360 100644 --- a/l10n/nl/settings.po +++ b/l10n/nl/settings.po @@ -10,15 +10,16 @@ # , 2011, 2012. # , 2012. # , 2011. +# , 2012. # , 2012. # Richard Bos , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-14 02:05+0200\n" -"PO-Revision-Date: 2012-10-13 09:09+0000\n" -"Last-Translator: Richard Bos \n" +"POT-Creation-Date: 2012-12-03 00:04+0100\n" +"PO-Revision-Date: 2012-12-02 03:18+0000\n" +"Last-Translator: Len \n" "Language-Team: Dutch (http://www.transifex.com/projects/p/owncloud/language/nl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -26,70 +27,73 @@ msgstr "" "Language: nl\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: ajax/apps/ocs.php:23 +#: ajax/apps/ocs.php:20 msgid "Unable to load list from App Store" msgstr "Kan de lijst niet van de App store laden" -#: ajax/creategroup.php:9 ajax/removeuser.php:18 ajax/setquota.php:18 -#: ajax/togglegroups.php:15 -msgid "Authentication error" -msgstr "Authenticatie fout" - -#: ajax/creategroup.php:19 +#: ajax/creategroup.php:10 msgid "Group already exists" msgstr "Groep bestaat al" -#: ajax/creategroup.php:28 +#: ajax/creategroup.php:19 msgid "Unable to add group" msgstr "Niet in staat om groep toe te voegen" -#: ajax/enableapp.php:14 +#: ajax/enableapp.php:12 msgid "Could not enable app. " msgstr "Kan de app. niet activeren" -#: ajax/lostpassword.php:14 +#: ajax/lostpassword.php:12 msgid "Email saved" msgstr "E-mail bewaard" -#: ajax/lostpassword.php:16 +#: ajax/lostpassword.php:14 msgid "Invalid email" msgstr "Ongeldige e-mail" -#: ajax/openid.php:16 +#: ajax/openid.php:13 msgid "OpenID Changed" msgstr "OpenID is aangepast" -#: ajax/openid.php:18 ajax/setlanguage.php:20 ajax/setlanguage.php:23 +#: ajax/openid.php:15 ajax/setlanguage.php:17 ajax/setlanguage.php:20 msgid "Invalid request" msgstr "Ongeldig verzoek" -#: ajax/removegroup.php:16 +#: ajax/removegroup.php:13 msgid "Unable to delete group" msgstr "Niet in staat om groep te verwijderen" -#: ajax/removeuser.php:27 +#: ajax/removeuser.php:15 ajax/setquota.php:15 ajax/togglegroups.php:18 +msgid "Authentication error" +msgstr "Authenticatie fout" + +#: ajax/removeuser.php:24 msgid "Unable to delete user" msgstr "Niet in staat om gebruiker te verwijderen" -#: ajax/setlanguage.php:18 +#: ajax/setlanguage.php:15 msgid "Language changed" msgstr "Taal aangepast" -#: ajax/togglegroups.php:25 +#: ajax/togglegroups.php:12 +msgid "Admins can't remove themself from the admin group" +msgstr "Admins kunnen zichzelf niet uit de admin groep verwijderen" + +#: ajax/togglegroups.php:28 #, php-format msgid "Unable to add user to group %s" msgstr "Niet in staat om gebruiker toe te voegen aan groep %s" -#: ajax/togglegroups.php:31 +#: ajax/togglegroups.php:34 #, php-format msgid "Unable to remove user from group %s" msgstr "Niet in staat om gebruiker te verwijderen uit groep %s" -#: js/apps.js:28 js/apps.js:65 +#: js/apps.js:28 js/apps.js:67 msgid "Disable" msgstr "Uitschakelen" -#: js/apps.js:28 js/apps.js:54 +#: js/apps.js:28 js/apps.js:55 msgid "Enable" msgstr "Inschakelen" @@ -101,96 +105,9 @@ msgstr "Aan het bewaren....." msgid "__language_name__" msgstr "Nederlands" -#: templates/admin.php:14 -msgid "Security Warning" -msgstr "Veiligheidswaarschuwing" - -#: templates/admin.php:17 -msgid "" -"Your data directory and your files are probably accessible from the " -"internet. The .htaccess file that ownCloud provides is not working. We " -"strongly suggest that you configure your webserver in a way that the data " -"directory is no longer accessible or you move the data directory outside the" -" webserver document root." -msgstr "Uw data folder en uw bestanden zijn hoogst waarschijnlijk vanaf het internet bereikbaar. Het .htaccess bestand dat ownCloud meelevert werkt niet. Het is ten zeerste aangeraden om uw webserver zodanig te configureren, dat de data folder niet bereikbaar is vanaf het internet of verplaatst uw data folder naar een locatie buiten de webserver document root." - -#: templates/admin.php:31 -msgid "Cron" -msgstr "Cron" - -#: templates/admin.php:37 -msgid "Execute one task with each page loaded" -msgstr "Voer één taak uit met elke pagina die wordt geladen" - -#: templates/admin.php:43 -msgid "" -"cron.php is registered at a webcron service. Call the cron.php page in the " -"owncloud root once a minute over http." -msgstr "cron.php is bij een webcron dienst geregistreerd. Roep de cron.php pagina in de owncloud root via http één maal per minuut op." - -#: templates/admin.php:49 -msgid "" -"Use systems cron service. Call the cron.php file in the owncloud folder via " -"a system cronjob once a minute." -msgstr "Gebruik de systeem cron dienst. Gebruik, eens per minuut, het bestand cron.php in de owncloud map via de systeem cronjob." - -#: templates/admin.php:56 -msgid "Sharing" -msgstr "Delen" - -#: templates/admin.php:61 -msgid "Enable Share API" -msgstr "Zet de Deel API aan" - -#: templates/admin.php:62 -msgid "Allow apps to use the Share API" -msgstr "Sta apps toe om de Deel API te gebruiken" - -#: templates/admin.php:67 -msgid "Allow links" -msgstr "Sta links toe" - -#: templates/admin.php:68 -msgid "Allow users to share items to the public with links" -msgstr "Sta gebruikers toe om items via links publiekelijk te maken" - -#: templates/admin.php:73 -msgid "Allow resharing" -msgstr "Sta verder delen toe" - -#: templates/admin.php:74 -msgid "Allow users to share items shared with them again" -msgstr "Sta gebruikers toe om items nogmaals te delen" - -#: templates/admin.php:79 -msgid "Allow users to share with anyone" -msgstr "Sta gebruikers toe om met iedereen te delen" - -#: templates/admin.php:81 -msgid "Allow users to only share with users in their groups" -msgstr "Sta gebruikers toe om alleen met gebruikers in hun groepen te delen" - -#: templates/admin.php:88 -msgid "Log" -msgstr "Log" - -#: templates/admin.php:116 -msgid "More" -msgstr "Meer" - -#: templates/admin.php:124 -msgid "" -"Developed by the ownCloud community, the source code is " -"licensed under the AGPL." -msgstr "Ontwikkeld door de ownCloud gemeenschap, de bron code is gelicenseerd onder de AGPL." - #: templates/apps.php:10 msgid "Add your App" -msgstr "Voeg je App toe" +msgstr "App toevoegen" #: templates/apps.php:11 msgid "More Apps" @@ -214,32 +131,32 @@ msgstr "Documentatie" #: templates/help.php:10 msgid "Managing Big Files" -msgstr "Onderhoud van grote bestanden" +msgstr "Instellingen voor grote bestanden" #: templates/help.php:11 msgid "Ask a question" msgstr "Stel een vraag" -#: templates/help.php:23 +#: templates/help.php:22 msgid "Problems connecting to help database." msgstr "Problemen bij het verbinden met de helpdatabank." -#: templates/help.php:24 +#: templates/help.php:23 msgid "Go there manually." msgstr "Ga er zelf heen." -#: templates/help.php:32 +#: templates/help.php:31 msgid "Answer" msgstr "Beantwoord" #: templates/personal.php:8 #, php-format -msgid "You have used %s of the available %s" -msgstr "Je hebt %s gebruikt van de beschikbare %s" +msgid "You have used %s of the available %s" +msgstr "U heeft %s van de %s beschikbaren gebruikt" #: templates/personal.php:12 msgid "Desktop and Mobile Syncing Clients" -msgstr "Desktop en mobiele synchronisatie apparaten" +msgstr "Desktop en mobiele synchronisatie applicaties" #: templates/personal.php:13 msgid "Download" @@ -271,15 +188,15 @@ msgstr "Wijzig wachtwoord" #: templates/personal.php:30 msgid "Email" -msgstr "mailadres" +msgstr "E-mailadres" #: templates/personal.php:31 msgid "Your email address" -msgstr "Jouw mailadres" +msgstr "Uw e-mailadres" #: templates/personal.php:32 msgid "Fill in an email address to enable password recovery" -msgstr "Vul een mailadres in om je wachtwoord te kunnen herstellen" +msgstr "Vul een e-mailadres in om wachtwoord reset uit te kunnen voeren" #: templates/personal.php:38 templates/personal.php:39 msgid "Language" @@ -291,7 +208,17 @@ msgstr "Help met vertalen" #: templates/personal.php:51 msgid "use this address to connect to your ownCloud in your file manager" -msgstr "gebruik dit adres om verbinding te maken met ownCloud in uw bestandsbeheerprogramma" +msgstr "Gebruik het bovenstaande adres om verbinding te maken met ownCloud in uw bestandbeheerprogramma" + +#: templates/personal.php:61 +msgid "" +"Developed by the ownCloud community, the source code is " +"licensed under the AGPL." +msgstr "Ontwikkeld door de ownCloud gemeenschap, de bron code is gelicenseerd onder de AGPL." #: templates/users.php:21 templates/users.php:76 msgid "Name" diff --git a/l10n/nl/tasks.po b/l10n/nl/tasks.po deleted file mode 100644 index f413e75158dfafae832789d42e1adb7c3f23d861..0000000000000000000000000000000000000000 --- a/l10n/nl/tasks.po +++ /dev/null @@ -1,106 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:44+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Dutch (http://www.transifex.com/projects/p/owncloud/language/nl/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: nl\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: ajax/update_property.php:51 lib/app.php:89 lib/app.php:101 -msgid "Invalid date/time" -msgstr "" - -#: appinfo/app.php:11 -msgid "Tasks" -msgstr "" - -#: js/tasks.js:415 -msgid "No category" -msgstr "" - -#: lib/app.php:33 -msgid "Unspecified" -msgstr "" - -#: lib/app.php:34 -msgid "1=highest" -msgstr "" - -#: lib/app.php:38 -msgid "5=medium" -msgstr "" - -#: lib/app.php:42 -msgid "9=lowest" -msgstr "" - -#: lib/app.php:81 -msgid "Empty Summary" -msgstr "" - -#: lib/app.php:93 -msgid "Invalid percent complete" -msgstr "" - -#: lib/app.php:107 -msgid "Invalid priority" -msgstr "" - -#: templates/tasks.php:3 -msgid "Add Task" -msgstr "" - -#: templates/tasks.php:4 -msgid "Order Due" -msgstr "" - -#: templates/tasks.php:5 -msgid "Order List" -msgstr "" - -#: templates/tasks.php:6 -msgid "Order Complete" -msgstr "" - -#: templates/tasks.php:7 -msgid "Order Location" -msgstr "" - -#: templates/tasks.php:8 -msgid "Order Priority" -msgstr "" - -#: templates/tasks.php:9 -msgid "Order Label" -msgstr "" - -#: templates/tasks.php:16 -msgid "Loading tasks..." -msgstr "" - -#: templates/tasks.php:20 -msgid "Important" -msgstr "" - -#: templates/tasks.php:23 -msgid "More" -msgstr "" - -#: templates/tasks.php:26 -msgid "Less" -msgstr "" - -#: templates/tasks.php:29 -msgid "Delete" -msgstr "" diff --git a/l10n/nl/user_ldap.po b/l10n/nl/user_ldap.po index e40f9e685f10e7206cf87195a4c23b1eb2425ae5..e6819a7693788a1345cbeb2a91d1a7d132c031d5 100644 --- a/l10n/nl/user_ldap.po +++ b/l10n/nl/user_ldap.po @@ -3,168 +3,169 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-29 02:01+0200\n" -"PO-Revision-Date: 2012-08-29 00:03+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-11-13 00:05+0100\n" +"PO-Revision-Date: 2012-11-12 09:35+0000\n" +"Last-Translator: Len \n" "Language-Team: Dutch (http://www.transifex.com/projects/p/owncloud/language/nl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: nl\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" #: templates/settings.php:8 msgid "Host" -msgstr "" +msgstr "Host" #: templates/settings.php:8 msgid "" "You can omit the protocol, except you require SSL. Then start with ldaps://" -msgstr "" +msgstr "Je kunt het protocol weglaten, tenzij je SSL vereist. Start in dat geval met ldaps://" #: templates/settings.php:9 msgid "Base DN" -msgstr "" +msgstr "Basis DN" #: templates/settings.php:9 msgid "You can specify Base DN for users and groups in the Advanced tab" -msgstr "" +msgstr "Je kunt het standaard DN voor gebruikers en groepen specificeren in het tab Geavanceerd." #: templates/settings.php:10 msgid "User DN" -msgstr "" +msgstr "Gebruikers DN" #: templates/settings.php:10 msgid "" "The DN of the client user with which the bind shall be done, e.g. " "uid=agent,dc=example,dc=com. For anonymous access, leave DN and Password " "empty." -msgstr "" +msgstr "De DN van de client gebruiker waarmee de verbinding zal worden gemaakt, bijv. uid=agent,dc=example,dc=com. Voor anonieme toegang laat je het DN en het wachtwoord leeg." #: templates/settings.php:11 msgid "Password" -msgstr "" +msgstr "Wachtwoord" #: templates/settings.php:11 msgid "For anonymous access, leave DN and Password empty." -msgstr "" +msgstr "Voor anonieme toegang, laat de DN en het wachtwoord leeg." #: templates/settings.php:12 msgid "User Login Filter" -msgstr "" +msgstr "Gebruikers Login Filter" #: templates/settings.php:12 #, php-format msgid "" "Defines the filter to apply, when login is attempted. %%uid replaces the " "username in the login action." -msgstr "" +msgstr "Definiëerd de toe te passen filter indien er geprobeerd wordt in te loggen. %%uid vervangt de gebruikersnaam in de login actie." #: templates/settings.php:12 #, php-format msgid "use %%uid placeholder, e.g. \"uid=%%uid\"" -msgstr "" +msgstr "gebruik %%uid placeholder, bijv. \"uid=%%uid\"" #: templates/settings.php:13 msgid "User List Filter" -msgstr "" +msgstr "Gebruikers Lijst Filter" #: templates/settings.php:13 msgid "Defines the filter to apply, when retrieving users." -msgstr "" +msgstr "Definiëerd de toe te passen filter voor het ophalen van gebruikers." #: templates/settings.php:13 msgid "without any placeholder, e.g. \"objectClass=person\"." -msgstr "" +msgstr "zonder een placeholder, bijv. \"objectClass=person\"" #: templates/settings.php:14 msgid "Group Filter" -msgstr "" +msgstr "Groep Filter" #: templates/settings.php:14 msgid "Defines the filter to apply, when retrieving groups." -msgstr "" +msgstr "Definiëerd de toe te passen filter voor het ophalen van groepen." #: templates/settings.php:14 msgid "without any placeholder, e.g. \"objectClass=posixGroup\"." -msgstr "" +msgstr "zonder een placeholder, bijv. \"objectClass=posixGroup\"" #: templates/settings.php:17 msgid "Port" -msgstr "" +msgstr "Poort" #: templates/settings.php:18 msgid "Base User Tree" -msgstr "" +msgstr "Basis Gebruikers Structuur" #: templates/settings.php:19 msgid "Base Group Tree" -msgstr "" +msgstr "Basis Groupen Structuur" #: templates/settings.php:20 msgid "Group-Member association" -msgstr "" +msgstr "Groepslid associatie" #: templates/settings.php:21 msgid "Use TLS" -msgstr "" +msgstr "Gebruik TLS" #: templates/settings.php:21 msgid "Do not use it for SSL connections, it will fail." -msgstr "" +msgstr "Gebruik niet voor SSL connecties, deze mislukken." #: templates/settings.php:22 msgid "Case insensitve LDAP server (Windows)" -msgstr "" +msgstr "Niet-hoofdlettergevoelige LDAP server (Windows)" #: templates/settings.php:23 msgid "Turn off SSL certificate validation." -msgstr "" +msgstr "Schakel SSL certificaat validatie uit." #: templates/settings.php:23 msgid "" "If connection only works with this option, import the LDAP server's SSL " "certificate in your ownCloud server." -msgstr "" +msgstr "Als de connectie alleen werkt met deze optie, importeer dan het LDAP server SSL certificaat naar je ownCloud server." #: templates/settings.php:23 msgid "Not recommended, use for testing only." -msgstr "" +msgstr "Niet aangeraden, gebruik alleen voor test doeleinden." #: templates/settings.php:24 msgid "User Display Name Field" -msgstr "" +msgstr "Gebruikers Schermnaam Veld" #: templates/settings.php:24 msgid "The LDAP attribute to use to generate the user`s ownCloud name." -msgstr "" +msgstr "Het te gebruiken LDAP attribuut voor het genereren van de ownCloud naam voor de gebruikers." #: templates/settings.php:25 msgid "Group Display Name Field" -msgstr "" +msgstr "Groep Schermnaam Veld" #: templates/settings.php:25 msgid "The LDAP attribute to use to generate the groups`s ownCloud name." -msgstr "" +msgstr "Het te gebruiken LDAP attribuut voor het genereren van de ownCloud naam voor de groepen." #: templates/settings.php:27 msgid "in bytes" -msgstr "" +msgstr "in bytes" #: templates/settings.php:29 msgid "in seconds. A change empties the cache." -msgstr "" +msgstr "in seconden. Een verandering maakt de cache leeg." #: templates/settings.php:30 msgid "" "Leave empty for user name (default). Otherwise, specify an LDAP/AD " "attribute." -msgstr "" +msgstr "Laat leeg voor de gebruikersnaam (standaard). Of, specificeer een LDAP/AD attribuut." #: templates/settings.php:32 msgid "Help" -msgstr "" +msgstr "Help" diff --git a/l10n/nl/user_migrate.po b/l10n/nl/user_migrate.po deleted file mode 100644 index cf6e2f0cd31c06ed3f5ec8341356481c067a8e38..0000000000000000000000000000000000000000 --- a/l10n/nl/user_migrate.po +++ /dev/null @@ -1,51 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:45+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Dutch (http://www.transifex.com/projects/p/owncloud/language/nl/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: nl\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: js/export.js:14 js/export.js:20 -msgid "Export" -msgstr "" - -#: js/export.js:19 -msgid "Something went wrong while the export file was being generated" -msgstr "" - -#: js/export.js:19 -msgid "An error has occurred" -msgstr "" - -#: templates/settings.php:2 -msgid "Export your user account" -msgstr "" - -#: templates/settings.php:3 -msgid "" -"This will create a compressed file that contains your ownCloud account." -msgstr "" - -#: templates/settings.php:13 -msgid "Import user account" -msgstr "" - -#: templates/settings.php:15 -msgid "ownCloud User Zip" -msgstr "" - -#: templates/settings.php:17 -msgid "Import" -msgstr "" diff --git a/l10n/nl/user_openid.po b/l10n/nl/user_openid.po deleted file mode 100644 index 4b7c8f7370fa91b9f6b7577f65c60f187635a4f8..0000000000000000000000000000000000000000 --- a/l10n/nl/user_openid.po +++ /dev/null @@ -1,55 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Richard Bos , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-25 02:04+0200\n" -"PO-Revision-Date: 2012-08-24 19:20+0000\n" -"Last-Translator: Richard Bos \n" -"Language-Team: Dutch (http://www.transifex.com/projects/p/owncloud/language/nl/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: nl\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: templates/nomode.php:12 -msgid "This is an OpenID server endpoint. For more information, see " -msgstr "Dit is een OpenID server. Voor meer informatie, zie" - -#: templates/nomode.php:14 -msgid "Identity: " -msgstr "Identiteit: " - -#: templates/nomode.php:15 -msgid "Realm: " -msgstr "Realm: " - -#: templates/nomode.php:16 -msgid "User: " -msgstr "Gebruiker: " - -#: templates/nomode.php:17 -msgid "Login" -msgstr "Login" - -#: templates/nomode.php:22 -msgid "Error: No user Selected" -msgstr "Fout: Geen gebruiker geselecteerd" - -#: templates/settings.php:4 -msgid "you can authenticate to other sites with this address" -msgstr "u kan met dit adres bij andere sites authenticeren" - -#: templates/settings.php:5 -msgid "Authorized OpenID provider" -msgstr "Geautoriseerde OpenID provider" - -#: templates/settings.php:6 -msgid "Your address at Wordpress, Identi.ca, …" -msgstr "Uw adres bij Wordpress, Identi.ca, …" diff --git a/l10n/nl/files_odfviewer.po b/l10n/nl/user_webdavauth.po similarity index 60% rename from l10n/nl/files_odfviewer.po rename to l10n/nl/user_webdavauth.po index 5825a94a3fd117f4fca743dc5b373d8ced2dfbe0..a9532440298ce8809bae55bd7c9aa82a4569144b 100644 --- a/l10n/nl/files_odfviewer.po +++ b/l10n/nl/user_webdavauth.po @@ -3,20 +3,21 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# Richard Bos , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 02:18+0200\n" -"PO-Revision-Date: 2012-08-26 00:19+0000\n" -"Last-Translator: FULL NAME \n" +"POT-Creation-Date: 2012-11-10 00:01+0100\n" +"PO-Revision-Date: 2012-11-09 15:21+0000\n" +"Last-Translator: Richard Bos \n" "Language-Team: Dutch (http://www.transifex.com/projects/p/owncloud/language/nl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: nl\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: js/viewer.js:9 -msgid "Close" -msgstr "" +#: templates/settings.php:4 +msgid "WebDAV URL: http://" +msgstr "WebDAV URL: http://" diff --git a/l10n/nn_NO/admin_dependencies_chk.po b/l10n/nn_NO/admin_dependencies_chk.po deleted file mode 100644 index e15c7820ec8fe0b4f756434c033735e4d15d617b..0000000000000000000000000000000000000000 --- a/l10n/nn_NO/admin_dependencies_chk.po +++ /dev/null @@ -1,73 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:33+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Norwegian Nynorsk (Norway) (http://www.transifex.com/projects/p/owncloud/language/nn_NO/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: nn_NO\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: settings.php:33 -msgid "" -"The php-json module is needed by the many applications for inter " -"communications" -msgstr "" - -#: settings.php:39 -msgid "" -"The php-curl modude is needed to fetch the page title when adding a " -"bookmarks" -msgstr "" - -#: settings.php:45 -msgid "The php-gd module is needed to create thumbnails of your images" -msgstr "" - -#: settings.php:51 -msgid "The php-ldap module is needed connect to your ldap server" -msgstr "" - -#: settings.php:57 -msgid "The php-zip module is needed download multiple files at once" -msgstr "" - -#: settings.php:63 -msgid "" -"The php-mb_multibyte module is needed to manage correctly the encoding." -msgstr "" - -#: settings.php:69 -msgid "The php-ctype module is needed validate data." -msgstr "" - -#: settings.php:75 -msgid "The php-xml module is needed to share files with webdav." -msgstr "" - -#: settings.php:81 -msgid "" -"The allow_url_fopen directive of your php.ini should be set to 1 to retrieve" -" knowledge base from OCS servers" -msgstr "" - -#: settings.php:87 -msgid "The php-pdo module is needed to store owncloud data into a database." -msgstr "" - -#: templates/settings.php:2 -msgid "Dependencies status" -msgstr "" - -#: templates/settings.php:7 -msgid "Used by :" -msgstr "" diff --git a/l10n/nn_NO/admin_migrate.po b/l10n/nn_NO/admin_migrate.po deleted file mode 100644 index 5509000343735faa659e81ec90bdd28f347dcccf..0000000000000000000000000000000000000000 --- a/l10n/nn_NO/admin_migrate.po +++ /dev/null @@ -1,32 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:32+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Norwegian Nynorsk (Norway) (http://www.transifex.com/projects/p/owncloud/language/nn_NO/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: nn_NO\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: templates/settings.php:3 -msgid "Export this ownCloud instance" -msgstr "" - -#: templates/settings.php:4 -msgid "" -"This will create a compressed file that contains the data of this owncloud instance.\n" -" Please choose the export type:" -msgstr "" - -#: templates/settings.php:12 -msgid "Export" -msgstr "" diff --git a/l10n/nn_NO/bookmarks.po b/l10n/nn_NO/bookmarks.po deleted file mode 100644 index 0eb3cfe7ed46048e31f7ab0e54a44f5bd2cce57a..0000000000000000000000000000000000000000 --- a/l10n/nn_NO/bookmarks.po +++ /dev/null @@ -1,60 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-07-28 02:02+0200\n" -"PO-Revision-Date: 2012-07-27 22:17+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Norwegian Nynorsk (Norway) (http://www.transifex.com/projects/p/owncloud/language/nn_NO/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: nn_NO\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: appinfo/app.php:14 -msgid "Bookmarks" -msgstr "" - -#: bookmarksHelper.php:99 -msgid "unnamed" -msgstr "" - -#: templates/bookmarklet.php:5 -msgid "" -"Drag this to your browser bookmarks and click it, when you want to bookmark " -"a webpage quickly:" -msgstr "" - -#: templates/bookmarklet.php:7 -msgid "Read later" -msgstr "" - -#: templates/list.php:13 -msgid "Address" -msgstr "" - -#: templates/list.php:14 -msgid "Title" -msgstr "" - -#: templates/list.php:15 -msgid "Tags" -msgstr "" - -#: templates/list.php:16 -msgid "Save bookmark" -msgstr "" - -#: templates/list.php:22 -msgid "You have no bookmarks" -msgstr "" - -#: templates/settings.php:11 -msgid "Bookmarklet
" -msgstr "" diff --git a/l10n/nn_NO/calendar.po b/l10n/nn_NO/calendar.po deleted file mode 100644 index 97f56855aecef4017c1895c9a353c3a829a34013..0000000000000000000000000000000000000000 --- a/l10n/nn_NO/calendar.po +++ /dev/null @@ -1,815 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# , 2011. -# , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-11 02:02+0200\n" -"PO-Revision-Date: 2012-08-11 00:02+0000\n" -"Last-Translator: owncloud_robot \n" -"Language-Team: Norwegian Nynorsk (Norway) (http://www.transifex.com/projects/p/owncloud/language/nn_NO/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: nn_NO\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: ajax/cache/status.php:19 -msgid "Not all calendars are completely cached" -msgstr "" - -#: ajax/cache/status.php:21 -msgid "Everything seems to be completely cached" -msgstr "" - -#: ajax/categories/rescan.php:29 -msgid "No calendars found." -msgstr "" - -#: ajax/categories/rescan.php:37 -msgid "No events found." -msgstr "" - -#: ajax/event/edit.form.php:20 -msgid "Wrong calendar" -msgstr "Feil kalender" - -#: ajax/import/dropimport.php:29 ajax/import/import.php:64 -msgid "" -"The file contained either no events or all events are already saved in your " -"calendar." -msgstr "" - -#: ajax/import/dropimport.php:31 ajax/import/import.php:67 -msgid "events has been saved in the new calendar" -msgstr "" - -#: ajax/import/import.php:56 -msgid "Import failed" -msgstr "" - -#: ajax/import/import.php:69 -msgid "events has been saved in your calendar" -msgstr "" - -#: ajax/settings/guesstimezone.php:25 -msgid "New Timezone:" -msgstr "Ny tidssone:" - -#: ajax/settings/settimezone.php:23 -msgid "Timezone changed" -msgstr "Endra tidssone" - -#: ajax/settings/settimezone.php:25 -msgid "Invalid request" -msgstr "Ugyldig førespurnad" - -#: appinfo/app.php:35 templates/calendar.php:15 -#: templates/part.eventform.php:33 templates/part.showevent.php:33 -msgid "Calendar" -msgstr "Kalender" - -#: js/calendar.js:832 -msgid "ddd" -msgstr "" - -#: js/calendar.js:833 -msgid "ddd M/d" -msgstr "" - -#: js/calendar.js:834 -msgid "dddd M/d" -msgstr "" - -#: js/calendar.js:837 -msgid "MMMM yyyy" -msgstr "" - -#: js/calendar.js:839 -msgid "MMM d[ yyyy]{ '—'[ MMM] d yyyy}" -msgstr "" - -#: js/calendar.js:841 -msgid "dddd, MMM d, yyyy" -msgstr "" - -#: lib/app.php:121 -msgid "Birthday" -msgstr "Bursdag" - -#: lib/app.php:122 -msgid "Business" -msgstr "Forretning" - -#: lib/app.php:123 -msgid "Call" -msgstr "Telefonsamtale" - -#: lib/app.php:124 -msgid "Clients" -msgstr "Klientar" - -#: lib/app.php:125 -msgid "Deliverer" -msgstr "Forsending" - -#: lib/app.php:126 -msgid "Holidays" -msgstr "Høgtid" - -#: lib/app.php:127 -msgid "Ideas" -msgstr "Idear" - -#: lib/app.php:128 -msgid "Journey" -msgstr "Reise" - -#: lib/app.php:129 -msgid "Jubilee" -msgstr "Jubileum" - -#: lib/app.php:130 -msgid "Meeting" -msgstr "Møte" - -#: lib/app.php:131 -msgid "Other" -msgstr "Anna" - -#: lib/app.php:132 -msgid "Personal" -msgstr "Personleg" - -#: lib/app.php:133 -msgid "Projects" -msgstr "Prosjekt" - -#: lib/app.php:134 -msgid "Questions" -msgstr "Spørsmål" - -#: lib/app.php:135 -msgid "Work" -msgstr "Arbeid" - -#: lib/app.php:351 lib/app.php:361 -msgid "by" -msgstr "" - -#: lib/app.php:359 lib/app.php:399 -msgid "unnamed" -msgstr "" - -#: lib/import.php:184 templates/calendar.php:12 -#: templates/part.choosecalendar.php:22 -msgid "New Calendar" -msgstr "Ny kalender" - -#: lib/object.php:372 -msgid "Does not repeat" -msgstr "Ikkje gjenta" - -#: lib/object.php:373 -msgid "Daily" -msgstr "Kvar dag" - -#: lib/object.php:374 -msgid "Weekly" -msgstr "Kvar veke" - -#: lib/object.php:375 -msgid "Every Weekday" -msgstr "Kvar vekedag" - -#: lib/object.php:376 -msgid "Bi-Weekly" -msgstr "Annakvar veke" - -#: lib/object.php:377 -msgid "Monthly" -msgstr "Kvar månad" - -#: lib/object.php:378 -msgid "Yearly" -msgstr "Kvart år" - -#: lib/object.php:388 -msgid "never" -msgstr "aldri" - -#: lib/object.php:389 -msgid "by occurrences" -msgstr "av førekomstar" - -#: lib/object.php:390 -msgid "by date" -msgstr "av dato" - -#: lib/object.php:400 -msgid "by monthday" -msgstr "av månadsdag" - -#: lib/object.php:401 -msgid "by weekday" -msgstr "av vekedag" - -#: lib/object.php:411 templates/calendar.php:5 templates/settings.php:69 -msgid "Monday" -msgstr "Måndag" - -#: lib/object.php:412 templates/calendar.php:5 -msgid "Tuesday" -msgstr "Tysdag" - -#: lib/object.php:413 templates/calendar.php:5 -msgid "Wednesday" -msgstr "Onsdag" - -#: lib/object.php:414 templates/calendar.php:5 -msgid "Thursday" -msgstr "Torsdag" - -#: lib/object.php:415 templates/calendar.php:5 -msgid "Friday" -msgstr "Fredag" - -#: lib/object.php:416 templates/calendar.php:5 -msgid "Saturday" -msgstr "Laurdag" - -#: lib/object.php:417 templates/calendar.php:5 templates/settings.php:70 -msgid "Sunday" -msgstr "Søndag" - -#: lib/object.php:427 -msgid "events week of month" -msgstr "hendingas veke av månad" - -#: lib/object.php:428 -msgid "first" -msgstr "første" - -#: lib/object.php:429 -msgid "second" -msgstr "andre" - -#: lib/object.php:430 -msgid "third" -msgstr "tredje" - -#: lib/object.php:431 -msgid "fourth" -msgstr "fjerde" - -#: lib/object.php:432 -msgid "fifth" -msgstr "femte" - -#: lib/object.php:433 -msgid "last" -msgstr "siste" - -#: lib/object.php:467 templates/calendar.php:7 -msgid "January" -msgstr "Januar" - -#: lib/object.php:468 templates/calendar.php:7 -msgid "February" -msgstr "Februar" - -#: lib/object.php:469 templates/calendar.php:7 -msgid "March" -msgstr "Mars" - -#: lib/object.php:470 templates/calendar.php:7 -msgid "April" -msgstr "April" - -#: lib/object.php:471 templates/calendar.php:7 -msgid "May" -msgstr "Mai" - -#: lib/object.php:472 templates/calendar.php:7 -msgid "June" -msgstr "Juni" - -#: lib/object.php:473 templates/calendar.php:7 -msgid "July" -msgstr "Juli" - -#: lib/object.php:474 templates/calendar.php:7 -msgid "August" -msgstr "August" - -#: lib/object.php:475 templates/calendar.php:7 -msgid "September" -msgstr "September" - -#: lib/object.php:476 templates/calendar.php:7 -msgid "October" -msgstr "Oktober" - -#: lib/object.php:477 templates/calendar.php:7 -msgid "November" -msgstr "November" - -#: lib/object.php:478 templates/calendar.php:7 -msgid "December" -msgstr "Desember" - -#: lib/object.php:488 -msgid "by events date" -msgstr "av hendingsdato" - -#: lib/object.php:489 -msgid "by yearday(s)" -msgstr "av årsdag(ar)" - -#: lib/object.php:490 -msgid "by weeknumber(s)" -msgstr "av vekenummer" - -#: lib/object.php:491 -msgid "by day and month" -msgstr "av dag og månad" - -#: lib/search.php:35 lib/search.php:37 lib/search.php:40 -msgid "Date" -msgstr "Dato" - -#: lib/search.php:43 -msgid "Cal." -msgstr "Kal." - -#: templates/calendar.php:6 -msgid "Sun." -msgstr "" - -#: templates/calendar.php:6 -msgid "Mon." -msgstr "" - -#: templates/calendar.php:6 -msgid "Tue." -msgstr "" - -#: templates/calendar.php:6 -msgid "Wed." -msgstr "" - -#: templates/calendar.php:6 -msgid "Thu." -msgstr "" - -#: templates/calendar.php:6 -msgid "Fri." -msgstr "" - -#: templates/calendar.php:6 -msgid "Sat." -msgstr "" - -#: templates/calendar.php:8 -msgid "Jan." -msgstr "" - -#: templates/calendar.php:8 -msgid "Feb." -msgstr "" - -#: templates/calendar.php:8 -msgid "Mar." -msgstr "" - -#: templates/calendar.php:8 -msgid "Apr." -msgstr "" - -#: templates/calendar.php:8 -msgid "May." -msgstr "" - -#: templates/calendar.php:8 -msgid "Jun." -msgstr "" - -#: templates/calendar.php:8 -msgid "Jul." -msgstr "" - -#: templates/calendar.php:8 -msgid "Aug." -msgstr "" - -#: templates/calendar.php:8 -msgid "Sep." -msgstr "" - -#: templates/calendar.php:8 -msgid "Oct." -msgstr "" - -#: templates/calendar.php:8 -msgid "Nov." -msgstr "" - -#: templates/calendar.php:8 -msgid "Dec." -msgstr "" - -#: templates/calendar.php:11 -msgid "All day" -msgstr "Heile dagen" - -#: templates/calendar.php:13 -msgid "Missing fields" -msgstr "Manglande felt" - -#: templates/calendar.php:14 templates/part.eventform.php:19 -#: templates/part.showevent.php:11 -msgid "Title" -msgstr "Tittel" - -#: templates/calendar.php:16 -msgid "From Date" -msgstr "Frå dato" - -#: templates/calendar.php:17 -msgid "From Time" -msgstr "Frå tid" - -#: templates/calendar.php:18 -msgid "To Date" -msgstr "Til dato" - -#: templates/calendar.php:19 -msgid "To Time" -msgstr "Til tid" - -#: templates/calendar.php:20 -msgid "The event ends before it starts" -msgstr "Hendinga endar før den startar" - -#: templates/calendar.php:21 -msgid "There was a database fail" -msgstr "Det oppstod ein databasefeil" - -#: templates/calendar.php:39 -msgid "Week" -msgstr "Veke" - -#: templates/calendar.php:40 -msgid "Month" -msgstr "Månad" - -#: templates/calendar.php:41 -msgid "List" -msgstr "Liste" - -#: templates/calendar.php:45 -msgid "Today" -msgstr "I dag" - -#: templates/calendar.php:46 templates/calendar.php:47 -msgid "Settings" -msgstr "" - -#: templates/part.choosecalendar.php:2 -msgid "Your calendars" -msgstr "" - -#: templates/part.choosecalendar.php:27 -#: templates/part.choosecalendar.rowfields.php:11 -msgid "CalDav Link" -msgstr "CalDav-lenkje" - -#: templates/part.choosecalendar.php:31 -msgid "Shared calendars" -msgstr "" - -#: templates/part.choosecalendar.php:48 -msgid "No shared calendars" -msgstr "" - -#: templates/part.choosecalendar.rowfields.php:8 -msgid "Share Calendar" -msgstr "" - -#: templates/part.choosecalendar.rowfields.php:14 -msgid "Download" -msgstr "Last ned" - -#: templates/part.choosecalendar.rowfields.php:17 -msgid "Edit" -msgstr "Endra" - -#: templates/part.choosecalendar.rowfields.php:20 -#: templates/part.editevent.php:9 -msgid "Delete" -msgstr "Slett" - -#: templates/part.choosecalendar.rowfields.shared.php:4 -msgid "shared with you by" -msgstr "" - -#: templates/part.editcalendar.php:9 -msgid "New calendar" -msgstr "Ny kalender" - -#: templates/part.editcalendar.php:9 -msgid "Edit calendar" -msgstr "Endra kalendarar" - -#: templates/part.editcalendar.php:12 -msgid "Displayname" -msgstr "Visingsnamn" - -#: templates/part.editcalendar.php:23 -msgid "Active" -msgstr "Aktiv" - -#: templates/part.editcalendar.php:29 -msgid "Calendar color" -msgstr "Kalenderfarge" - -#: templates/part.editcalendar.php:42 -msgid "Save" -msgstr "Lagra" - -#: templates/part.editcalendar.php:42 templates/part.editevent.php:8 -#: templates/part.newevent.php:6 -msgid "Submit" -msgstr "Lagra" - -#: templates/part.editcalendar.php:43 -msgid "Cancel" -msgstr "Avbryt" - -#: templates/part.editevent.php:1 -msgid "Edit an event" -msgstr "Endra ein hending" - -#: templates/part.editevent.php:10 -msgid "Export" -msgstr "Eksporter" - -#: templates/part.eventform.php:8 templates/part.showevent.php:3 -msgid "Eventinfo" -msgstr "" - -#: templates/part.eventform.php:9 templates/part.showevent.php:4 -msgid "Repeating" -msgstr "" - -#: templates/part.eventform.php:10 templates/part.showevent.php:5 -msgid "Alarm" -msgstr "" - -#: templates/part.eventform.php:11 templates/part.showevent.php:6 -msgid "Attendees" -msgstr "" - -#: templates/part.eventform.php:13 -msgid "Share" -msgstr "" - -#: templates/part.eventform.php:21 -msgid "Title of the Event" -msgstr "Tittel på hendinga" - -#: templates/part.eventform.php:27 templates/part.showevent.php:19 -msgid "Category" -msgstr "Kategori" - -#: templates/part.eventform.php:29 -msgid "Separate categories with commas" -msgstr "" - -#: templates/part.eventform.php:30 -msgid "Edit categories" -msgstr "" - -#: templates/part.eventform.php:56 templates/part.showevent.php:52 -msgid "All Day Event" -msgstr "Heildagshending" - -#: templates/part.eventform.php:60 templates/part.showevent.php:56 -msgid "From" -msgstr "Frå" - -#: templates/part.eventform.php:68 templates/part.showevent.php:64 -msgid "To" -msgstr "Til" - -#: templates/part.eventform.php:76 templates/part.showevent.php:72 -msgid "Advanced options" -msgstr "Avanserte alternativ" - -#: templates/part.eventform.php:81 templates/part.showevent.php:77 -msgid "Location" -msgstr "Stad" - -#: templates/part.eventform.php:83 -msgid "Location of the Event" -msgstr "Stad for hendinga" - -#: templates/part.eventform.php:89 templates/part.showevent.php:85 -msgid "Description" -msgstr "Skildring" - -#: templates/part.eventform.php:91 -msgid "Description of the Event" -msgstr "Skildring av hendinga" - -#: templates/part.eventform.php:100 templates/part.showevent.php:95 -msgid "Repeat" -msgstr "Gjenta" - -#: templates/part.eventform.php:107 templates/part.showevent.php:102 -msgid "Advanced" -msgstr "Avansert" - -#: templates/part.eventform.php:151 templates/part.showevent.php:146 -msgid "Select weekdays" -msgstr "Vel vekedagar" - -#: templates/part.eventform.php:164 templates/part.eventform.php:177 -#: templates/part.showevent.php:159 templates/part.showevent.php:172 -msgid "Select days" -msgstr "Vel dagar" - -#: templates/part.eventform.php:169 templates/part.showevent.php:164 -msgid "and the events day of year." -msgstr "og hendingane dag for år." - -#: templates/part.eventform.php:182 templates/part.showevent.php:177 -msgid "and the events day of month." -msgstr "og hendingane dag for månad." - -#: templates/part.eventform.php:190 templates/part.showevent.php:185 -msgid "Select months" -msgstr "Vel månedar" - -#: templates/part.eventform.php:203 templates/part.showevent.php:198 -msgid "Select weeks" -msgstr "Vel veker" - -#: templates/part.eventform.php:208 templates/part.showevent.php:203 -msgid "and the events week of year." -msgstr "og hendingane veke av året." - -#: templates/part.eventform.php:214 templates/part.showevent.php:209 -msgid "Interval" -msgstr "Intervall" - -#: templates/part.eventform.php:220 templates/part.showevent.php:215 -msgid "End" -msgstr "Ende" - -#: templates/part.eventform.php:233 templates/part.showevent.php:228 -msgid "occurrences" -msgstr "førekomstar" - -#: templates/part.import.php:14 -msgid "create a new calendar" -msgstr "Lag ny kalender" - -#: templates/part.import.php:17 -msgid "Import a calendar file" -msgstr "Importer ei kalenderfil" - -#: templates/part.import.php:24 -msgid "Please choose a calendar" -msgstr "" - -#: templates/part.import.php:36 -msgid "Name of new calendar" -msgstr "Namn for ny kalender" - -#: templates/part.import.php:44 -msgid "Take an available name!" -msgstr "" - -#: templates/part.import.php:45 -msgid "" -"A Calendar with this name already exists. If you continue anyhow, these " -"calendars will be merged." -msgstr "" - -#: templates/part.import.php:47 -msgid "Import" -msgstr "Importer" - -#: templates/part.import.php:56 -msgid "Close Dialog" -msgstr "Steng dialog" - -#: templates/part.newevent.php:1 -msgid "Create a new event" -msgstr "Opprett ei ny hending" - -#: templates/part.showevent.php:1 -msgid "View an event" -msgstr "" - -#: templates/part.showevent.php:23 -msgid "No categories selected" -msgstr "" - -#: templates/part.showevent.php:37 -msgid "of" -msgstr "" - -#: templates/part.showevent.php:59 templates/part.showevent.php:67 -msgid "at" -msgstr "" - -#: templates/settings.php:10 -msgid "General" -msgstr "" - -#: templates/settings.php:15 -msgid "Timezone" -msgstr "Tidssone" - -#: templates/settings.php:47 -msgid "Update timezone automatically" -msgstr "" - -#: templates/settings.php:52 -msgid "Time format" -msgstr "" - -#: templates/settings.php:57 -msgid "24h" -msgstr "24t" - -#: templates/settings.php:58 -msgid "12h" -msgstr "12t" - -#: templates/settings.php:64 -msgid "Start week on" -msgstr "" - -#: templates/settings.php:76 -msgid "Cache" -msgstr "" - -#: templates/settings.php:80 -msgid "Clear cache for repeating events" -msgstr "" - -#: templates/settings.php:85 -msgid "URLs" -msgstr "" - -#: templates/settings.php:87 -msgid "Calendar CalDAV syncing addresses" -msgstr "" - -#: templates/settings.php:87 -msgid "more info" -msgstr "" - -#: templates/settings.php:89 -msgid "Primary address (Kontact et al)" -msgstr "" - -#: templates/settings.php:91 -msgid "iOS/OS X" -msgstr "" - -#: templates/settings.php:93 -msgid "Read only iCalendar link(s)" -msgstr "" - -#: templates/share.dropdown.php:20 -msgid "Users" -msgstr "" - -#: templates/share.dropdown.php:21 -msgid "select users" -msgstr "" - -#: templates/share.dropdown.php:36 templates/share.dropdown.php:62 -msgid "Editable" -msgstr "" - -#: templates/share.dropdown.php:48 -msgid "Groups" -msgstr "" - -#: templates/share.dropdown.php:49 -msgid "select groups" -msgstr "" - -#: templates/share.dropdown.php:75 -msgid "make public" -msgstr "" diff --git a/l10n/nn_NO/contacts.po b/l10n/nn_NO/contacts.po deleted file mode 100644 index aee7e8725621197d9c772efed9e745922b957778..0000000000000000000000000000000000000000 --- a/l10n/nn_NO/contacts.po +++ /dev/null @@ -1,954 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# , 2011. -# , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-24 02:02+0200\n" -"PO-Revision-Date: 2012-08-24 00:03+0000\n" -"Last-Translator: I Robot \n" -"Language-Team: Norwegian Nynorsk (Norway) (http://www.transifex.com/projects/p/owncloud/language/nn_NO/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: nn_NO\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: ajax/addressbook/activate.php:24 ajax/addressbook/update.php:32 -msgid "Error (de)activating addressbook." -msgstr "Ein feil oppstod ved (de)aktivering av adressebok." - -#: ajax/addressbook/delete.php:31 ajax/addressbook/update.php:20 -#: ajax/contact/addproperty.php:42 ajax/contact/delete.php:32 -#: ajax/contact/saveproperty.php:39 -msgid "id is not set." -msgstr "" - -#: ajax/addressbook/update.php:24 -msgid "Cannot update addressbook with an empty name." -msgstr "" - -#: ajax/addressbook/update.php:28 -msgid "Error updating addressbook." -msgstr "Eit problem oppstod ved å oppdatere adresseboka." - -#: ajax/categories/categoriesfor.php:17 -msgid "No ID provided" -msgstr "" - -#: ajax/categories/categoriesfor.php:34 -msgid "Error setting checksum." -msgstr "" - -#: ajax/categories/delete.php:19 -msgid "No categories selected for deletion." -msgstr "" - -#: ajax/categories/delete.php:26 -msgid "No address books found." -msgstr "" - -#: ajax/categories/delete.php:34 -msgid "No contacts found." -msgstr "" - -#: ajax/contact/add.php:47 -msgid "There was an error adding the contact." -msgstr "Det kom ei feilmelding då kontakta vart lagt til." - -#: ajax/contact/addproperty.php:39 ajax/contact/saveproperty.php:36 -msgid "element name is not set." -msgstr "" - -#: ajax/contact/addproperty.php:46 -msgid "Could not parse contact: " -msgstr "" - -#: ajax/contact/addproperty.php:56 -msgid "Cannot add empty property." -msgstr "Kan ikkje leggja til tomt felt." - -#: ajax/contact/addproperty.php:67 -msgid "At least one of the address fields has to be filled out." -msgstr "Minst eit av adressefelta må fyllast ut." - -#: ajax/contact/addproperty.php:76 -msgid "Trying to add duplicate property: " -msgstr "" - -#: ajax/contact/addproperty.php:115 ajax/contact/saveproperty.php:93 -msgid "Missing IM parameter." -msgstr "" - -#: ajax/contact/addproperty.php:119 ajax/contact/saveproperty.php:97 -msgid "Unknown IM: " -msgstr "" - -#: ajax/contact/deleteproperty.php:37 -msgid "Information about vCard is incorrect. Please reload the page." -msgstr "Informasjonen om vCard-et er feil, ver venleg og last sida på nytt." - -#: ajax/contact/details.php:31 -msgid "Missing ID" -msgstr "" - -#: ajax/contact/details.php:36 -msgid "Error parsing VCard for ID: \"" -msgstr "" - -#: ajax/contact/saveproperty.php:42 -msgid "checksum is not set." -msgstr "" - -#: ajax/contact/saveproperty.php:62 -msgid "Information about vCard is incorrect. Please reload the page: " -msgstr "" - -#: ajax/contact/saveproperty.php:69 -msgid "Something went FUBAR. " -msgstr "" - -#: ajax/currentphoto.php:30 ajax/oc_photo.php:28 ajax/uploadphoto.php:36 -#: ajax/uploadphoto.php:68 -msgid "No contact ID was submitted." -msgstr "" - -#: ajax/currentphoto.php:36 -msgid "Error reading contact photo." -msgstr "" - -#: ajax/currentphoto.php:48 -msgid "Error saving temporary file." -msgstr "" - -#: ajax/currentphoto.php:51 -msgid "The loading photo is not valid." -msgstr "" - -#: ajax/editname.php:31 -msgid "Contact ID is missing." -msgstr "" - -#: ajax/oc_photo.php:32 -msgid "No photo path was submitted." -msgstr "" - -#: ajax/oc_photo.php:39 -msgid "File doesn't exist:" -msgstr "" - -#: ajax/oc_photo.php:44 ajax/oc_photo.php:47 -msgid "Error loading image." -msgstr "" - -#: ajax/savecrop.php:69 -msgid "Error getting contact object." -msgstr "" - -#: ajax/savecrop.php:79 -msgid "Error getting PHOTO property." -msgstr "" - -#: ajax/savecrop.php:98 -msgid "Error saving contact." -msgstr "" - -#: ajax/savecrop.php:109 -msgid "Error resizing image" -msgstr "" - -#: ajax/savecrop.php:112 -msgid "Error cropping image" -msgstr "" - -#: ajax/savecrop.php:115 -msgid "Error creating temporary image" -msgstr "" - -#: ajax/savecrop.php:118 -msgid "Error finding image: " -msgstr "" - -#: ajax/uploadimport.php:44 ajax/uploadimport.php:76 -msgid "Error uploading contacts to storage." -msgstr "" - -#: ajax/uploadimport.php:61 ajax/uploadphoto.php:77 -msgid "There is no error, the file uploaded with success" -msgstr "" - -#: ajax/uploadimport.php:62 ajax/uploadphoto.php:78 -msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" -msgstr "" - -#: ajax/uploadimport.php:63 ajax/uploadphoto.php:79 -msgid "" -"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " -"the HTML form" -msgstr "" - -#: ajax/uploadimport.php:64 ajax/uploadphoto.php:80 -msgid "The uploaded file was only partially uploaded" -msgstr "" - -#: ajax/uploadimport.php:65 ajax/uploadphoto.php:81 -msgid "No file was uploaded" -msgstr "" - -#: ajax/uploadimport.php:66 ajax/uploadphoto.php:82 -msgid "Missing a temporary folder" -msgstr "" - -#: ajax/uploadphoto.php:59 ajax/uploadphoto.php:109 -msgid "Couldn't save temporary image: " -msgstr "" - -#: ajax/uploadphoto.php:62 ajax/uploadphoto.php:112 -msgid "Couldn't load temporary image: " -msgstr "" - -#: ajax/uploadphoto.php:71 -msgid "No file was uploaded. Unknown error" -msgstr "" - -#: appinfo/app.php:21 -msgid "Contacts" -msgstr "Kotaktar" - -#: js/contacts.js:71 -msgid "Sorry, this functionality has not been implemented yet" -msgstr "" - -#: js/contacts.js:71 -msgid "Not implemented" -msgstr "" - -#: js/contacts.js:76 -msgid "Couldn't get a valid address." -msgstr "" - -#: js/contacts.js:76 js/contacts.js:365 js/contacts.js:381 js/contacts.js:393 -#: js/contacts.js:723 js/contacts.js:763 js/contacts.js:789 js/contacts.js:921 -#: js/contacts.js:927 js/contacts.js:939 js/contacts.js:976 -#: js/contacts.js:1250 js/contacts.js:1258 js/contacts.js:1267 -#: js/contacts.js:1302 js/contacts.js:1338 js/contacts.js:1353 -#: js/contacts.js:1379 js/contacts.js:1609 js/contacts.js:1644 -#: js/contacts.js:1664 js/settings.js:26 js/settings.js:43 js/settings.js:68 -msgid "Error" -msgstr "" - -#: js/contacts.js:424 -msgid "You do not have permission to add contacts to " -msgstr "" - -#: js/contacts.js:425 -msgid "Please select one of your own address books." -msgstr "" - -#: js/contacts.js:425 -msgid "Permission error" -msgstr "" - -#: js/contacts.js:763 -msgid "This property has to be non-empty." -msgstr "" - -#: js/contacts.js:789 -msgid "Couldn't serialize elements." -msgstr "" - -#: js/contacts.js:921 js/contacts.js:939 -msgid "" -"'deleteProperty' called without type argument. Please report at " -"bugs.owncloud.org" -msgstr "" - -#: js/contacts.js:958 -msgid "Edit name" -msgstr "" - -#: js/contacts.js:1250 -msgid "No files selected for upload." -msgstr "" - -#: js/contacts.js:1258 -msgid "" -"The file you are trying to upload exceed the maximum size for file uploads " -"on this server." -msgstr "" - -#: js/contacts.js:1322 -msgid "Error loading profile picture." -msgstr "" - -#: js/contacts.js:1457 js/contacts.js:1498 js/contacts.js:1517 -#: js/contacts.js:1560 -msgid "Select type" -msgstr "" - -#: js/contacts.js:1578 -msgid "" -"Some contacts are marked for deletion, but not deleted yet. Please wait for " -"them to be deleted." -msgstr "" - -#: js/contacts.js:1649 -msgid "Do you want to merge these address books?" -msgstr "" - -#: js/loader.js:49 -msgid "Result: " -msgstr "" - -#: js/loader.js:49 -msgid " imported, " -msgstr "" - -#: js/loader.js:49 -msgid " failed." -msgstr "" - -#: js/settings.js:68 -msgid "Displayname cannot be empty." -msgstr "" - -#: lib/app.php:36 -msgid "Addressbook not found: " -msgstr "" - -#: lib/app.php:52 -msgid "This is not your addressbook." -msgstr "Dette er ikkje di adressebok." - -#: lib/app.php:71 -msgid "Contact could not be found." -msgstr "Fann ikkje kontakten." - -#: lib/app.php:116 -msgid "Jabber" -msgstr "" - -#: lib/app.php:121 -msgid "AIM" -msgstr "" - -#: lib/app.php:126 -msgid "MSN" -msgstr "" - -#: lib/app.php:131 -msgid "Twitter" -msgstr "" - -#: lib/app.php:136 -msgid "GoogleTalk" -msgstr "" - -#: lib/app.php:141 -msgid "Facebook" -msgstr "" - -#: lib/app.php:146 -msgid "XMPP" -msgstr "" - -#: lib/app.php:151 -msgid "ICQ" -msgstr "" - -#: lib/app.php:156 -msgid "Yahoo" -msgstr "" - -#: lib/app.php:161 -msgid "Skype" -msgstr "" - -#: lib/app.php:166 -msgid "QQ" -msgstr "" - -#: lib/app.php:171 -msgid "GaduGadu" -msgstr "" - -#: lib/app.php:194 lib/app.php:202 lib/app.php:213 lib/app.php:266 -msgid "Work" -msgstr "Arbeid" - -#: lib/app.php:195 lib/app.php:200 lib/app.php:214 -msgid "Home" -msgstr "Heime" - -#: lib/app.php:196 lib/app.php:209 lib/app.php:262 lib/vcard.php:593 -msgid "Other" -msgstr "" - -#: lib/app.php:201 -msgid "Mobile" -msgstr "Mobil" - -#: lib/app.php:203 -msgid "Text" -msgstr "Tekst" - -#: lib/app.php:204 -msgid "Voice" -msgstr "Tale" - -#: lib/app.php:205 -msgid "Message" -msgstr "" - -#: lib/app.php:206 -msgid "Fax" -msgstr "Faks" - -#: lib/app.php:207 -msgid "Video" -msgstr "Video" - -#: lib/app.php:208 -msgid "Pager" -msgstr "Personsøkjar" - -#: lib/app.php:215 -msgid "Internet" -msgstr "" - -#: lib/app.php:252 templates/part.contact.php:45 -#: templates/part.contact.php:128 -msgid "Birthday" -msgstr "Bursdag" - -#: lib/app.php:253 -msgid "Business" -msgstr "" - -#: lib/app.php:254 -msgid "Call" -msgstr "" - -#: lib/app.php:255 -msgid "Clients" -msgstr "" - -#: lib/app.php:256 -msgid "Deliverer" -msgstr "" - -#: lib/app.php:257 -msgid "Holidays" -msgstr "" - -#: lib/app.php:258 -msgid "Ideas" -msgstr "" - -#: lib/app.php:259 -msgid "Journey" -msgstr "" - -#: lib/app.php:260 -msgid "Jubilee" -msgstr "" - -#: lib/app.php:261 -msgid "Meeting" -msgstr "" - -#: lib/app.php:263 -msgid "Personal" -msgstr "" - -#: lib/app.php:264 -msgid "Projects" -msgstr "" - -#: lib/app.php:265 -msgid "Questions" -msgstr "" - -#: lib/hooks.php:102 -msgid "{name}'s Birthday" -msgstr "" - -#: lib/search.php:15 -msgid "Contact" -msgstr "Kontakt" - -#: lib/vcard.php:408 -msgid "You do not have the permissions to edit this contact." -msgstr "" - -#: lib/vcard.php:483 -msgid "You do not have the permissions to delete this contact." -msgstr "" - -#: templates/index.php:14 -msgid "Add Contact" -msgstr "Legg til kontakt" - -#: templates/index.php:15 templates/index.php:16 templates/part.import.php:17 -msgid "Import" -msgstr "" - -#: templates/index.php:18 -msgid "Settings" -msgstr "" - -#: templates/index.php:18 templates/settings.php:9 -msgid "Addressbooks" -msgstr "Adressebøker" - -#: templates/index.php:36 templates/part.import.php:24 -msgid "Close" -msgstr "" - -#: templates/index.php:37 -msgid "Keyboard shortcuts" -msgstr "" - -#: templates/index.php:39 -msgid "Navigation" -msgstr "" - -#: templates/index.php:42 -msgid "Next contact in list" -msgstr "" - -#: templates/index.php:44 -msgid "Previous contact in list" -msgstr "" - -#: templates/index.php:46 -msgid "Expand/collapse current addressbook" -msgstr "" - -#: templates/index.php:48 -msgid "Next addressbook" -msgstr "" - -#: templates/index.php:50 -msgid "Previous addressbook" -msgstr "" - -#: templates/index.php:54 -msgid "Actions" -msgstr "" - -#: templates/index.php:57 -msgid "Refresh contacts list" -msgstr "" - -#: templates/index.php:59 -msgid "Add new contact" -msgstr "" - -#: templates/index.php:61 -msgid "Add new addressbook" -msgstr "" - -#: templates/index.php:63 -msgid "Delete current contact" -msgstr "" - -#: templates/part.contact.php:17 -msgid "Drop photo to upload" -msgstr "" - -#: templates/part.contact.php:19 -msgid "Delete current photo" -msgstr "" - -#: templates/part.contact.php:20 -msgid "Edit current photo" -msgstr "" - -#: templates/part.contact.php:21 -msgid "Upload new photo" -msgstr "" - -#: templates/part.contact.php:22 -msgid "Select photo from ownCloud" -msgstr "" - -#: templates/part.contact.php:35 -msgid "Format custom, Short name, Full name, Reverse or Reverse with comma" -msgstr "" - -#: templates/part.contact.php:36 -msgid "Edit name details" -msgstr "" - -#: templates/part.contact.php:39 templates/part.contact.php:40 -#: templates/part.contact.php:126 -msgid "Organization" -msgstr "Organisasjon" - -#: templates/part.contact.php:40 templates/part.contact.php:42 -#: templates/part.contact.php:44 templates/part.contact.php:46 -#: templates/part.contact.php:50 templates/settings.php:36 -msgid "Delete" -msgstr "Slett" - -#: templates/part.contact.php:41 templates/part.contact.php:127 -msgid "Nickname" -msgstr "" - -#: templates/part.contact.php:42 -msgid "Enter nickname" -msgstr "" - -#: templates/part.contact.php:43 templates/part.contact.php:134 -msgid "Web site" -msgstr "" - -#: templates/part.contact.php:44 -msgid "http://www.somesite.com" -msgstr "" - -#: templates/part.contact.php:44 -msgid "Go to web site" -msgstr "" - -#: templates/part.contact.php:46 -msgid "dd-mm-yyyy" -msgstr "" - -#: templates/part.contact.php:47 templates/part.contact.php:135 -msgid "Groups" -msgstr "" - -#: templates/part.contact.php:49 -msgid "Separate groups with commas" -msgstr "" - -#: templates/part.contact.php:50 -msgid "Edit groups" -msgstr "" - -#: templates/part.contact.php:59 templates/part.contact.php:73 -#: templates/part.contact.php:98 -msgid "Preferred" -msgstr "Føretrekt" - -#: templates/part.contact.php:60 -msgid "Please specify a valid email address." -msgstr "" - -#: templates/part.contact.php:60 -msgid "Enter email address" -msgstr "" - -#: templates/part.contact.php:64 -msgid "Mail to address" -msgstr "" - -#: templates/part.contact.php:65 -msgid "Delete email address" -msgstr "" - -#: templates/part.contact.php:75 -msgid "Enter phone number" -msgstr "" - -#: templates/part.contact.php:79 -msgid "Delete phone number" -msgstr "" - -#: templates/part.contact.php:100 -msgid "Instant Messenger" -msgstr "" - -#: templates/part.contact.php:101 -msgid "Delete IM" -msgstr "" - -#: templates/part.contact.php:110 -msgid "View on map" -msgstr "" - -#: templates/part.contact.php:110 -msgid "Edit address details" -msgstr "" - -#: templates/part.contact.php:116 -msgid "Add notes here." -msgstr "" - -#: templates/part.contact.php:124 -msgid "Add field" -msgstr "" - -#: templates/part.contact.php:129 -msgid "Phone" -msgstr "Telefonnummer" - -#: templates/part.contact.php:130 -msgid "Email" -msgstr "Epost" - -#: templates/part.contact.php:131 -msgid "Instant Messaging" -msgstr "" - -#: templates/part.contact.php:132 -msgid "Address" -msgstr "Adresse" - -#: templates/part.contact.php:133 -msgid "Note" -msgstr "" - -#: templates/part.contact.php:138 -msgid "Download contact" -msgstr "Last ned kontakt" - -#: templates/part.contact.php:139 -msgid "Delete contact" -msgstr "Slett kontakt" - -#: templates/part.cropphoto.php:65 -msgid "The temporary image has been removed from cache." -msgstr "" - -#: templates/part.edit_address_dialog.php:6 -msgid "Edit address" -msgstr "" - -#: templates/part.edit_address_dialog.php:10 -msgid "Type" -msgstr "Skriv" - -#: templates/part.edit_address_dialog.php:18 -#: templates/part.edit_address_dialog.php:21 -msgid "PO Box" -msgstr "Postboks" - -#: templates/part.edit_address_dialog.php:24 -msgid "Street address" -msgstr "" - -#: templates/part.edit_address_dialog.php:27 -msgid "Street and number" -msgstr "" - -#: templates/part.edit_address_dialog.php:30 -msgid "Extended" -msgstr "Utvida" - -#: templates/part.edit_address_dialog.php:33 -msgid "Apartment number etc." -msgstr "" - -#: templates/part.edit_address_dialog.php:36 -#: templates/part.edit_address_dialog.php:39 -msgid "City" -msgstr "Stad" - -#: templates/part.edit_address_dialog.php:42 -msgid "Region" -msgstr "Region/fylke" - -#: templates/part.edit_address_dialog.php:45 -msgid "E.g. state or province" -msgstr "" - -#: templates/part.edit_address_dialog.php:48 -msgid "Zipcode" -msgstr "Postnummer" - -#: templates/part.edit_address_dialog.php:51 -msgid "Postal code" -msgstr "" - -#: templates/part.edit_address_dialog.php:54 -#: templates/part.edit_address_dialog.php:57 -msgid "Country" -msgstr "Land" - -#: templates/part.edit_name_dialog.php:16 -msgid "Addressbook" -msgstr "Adressebok" - -#: templates/part.edit_name_dialog.php:23 -msgid "Hon. prefixes" -msgstr "" - -#: templates/part.edit_name_dialog.php:27 -msgid "Miss" -msgstr "" - -#: templates/part.edit_name_dialog.php:28 -msgid "Ms" -msgstr "" - -#: templates/part.edit_name_dialog.php:29 -msgid "Mr" -msgstr "" - -#: templates/part.edit_name_dialog.php:30 -msgid "Sir" -msgstr "" - -#: templates/part.edit_name_dialog.php:31 -msgid "Mrs" -msgstr "" - -#: templates/part.edit_name_dialog.php:32 -msgid "Dr" -msgstr "" - -#: templates/part.edit_name_dialog.php:35 -msgid "Given name" -msgstr "" - -#: templates/part.edit_name_dialog.php:37 -msgid "Additional names" -msgstr "" - -#: templates/part.edit_name_dialog.php:39 -msgid "Family name" -msgstr "" - -#: templates/part.edit_name_dialog.php:41 -msgid "Hon. suffixes" -msgstr "" - -#: templates/part.edit_name_dialog.php:45 -msgid "J.D." -msgstr "" - -#: templates/part.edit_name_dialog.php:46 -msgid "M.D." -msgstr "" - -#: templates/part.edit_name_dialog.php:47 -msgid "D.O." -msgstr "" - -#: templates/part.edit_name_dialog.php:48 -msgid "D.C." -msgstr "" - -#: templates/part.edit_name_dialog.php:49 -msgid "Ph.D." -msgstr "" - -#: templates/part.edit_name_dialog.php:50 -msgid "Esq." -msgstr "" - -#: templates/part.edit_name_dialog.php:51 -msgid "Jr." -msgstr "" - -#: templates/part.edit_name_dialog.php:52 -msgid "Sn." -msgstr "" - -#: templates/part.import.php:1 -msgid "Import a contacts file" -msgstr "" - -#: templates/part.import.php:6 -msgid "Please choose the addressbook" -msgstr "" - -#: templates/part.import.php:10 -msgid "create a new addressbook" -msgstr "" - -#: templates/part.import.php:15 -msgid "Name of new addressbook" -msgstr "" - -#: templates/part.import.php:20 -msgid "Importing contacts" -msgstr "" - -#: templates/part.no_contacts.php:3 -msgid "You have no contacts in your addressbook." -msgstr "" - -#: templates/part.no_contacts.php:5 -msgid "Add contact" -msgstr "" - -#: templates/part.selectaddressbook.php:1 -msgid "Select Address Books" -msgstr "" - -#: templates/part.selectaddressbook.php:27 -msgid "Enter name" -msgstr "" - -#: templates/part.selectaddressbook.php:29 -msgid "Enter description" -msgstr "" - -#: templates/settings.php:3 -msgid "CardDAV syncing addresses" -msgstr "" - -#: templates/settings.php:3 -msgid "more info" -msgstr "" - -#: templates/settings.php:5 -msgid "Primary address (Kontact et al)" -msgstr "" - -#: templates/settings.php:7 -msgid "iOS/OS X" -msgstr "" - -#: templates/settings.php:20 -msgid "Show CardDav link" -msgstr "" - -#: templates/settings.php:23 -msgid "Show read-only VCF link" -msgstr "" - -#: templates/settings.php:26 -msgid "Share" -msgstr "" - -#: templates/settings.php:29 -msgid "Download" -msgstr "Last ned" - -#: templates/settings.php:33 -msgid "Edit" -msgstr "Endra" - -#: templates/settings.php:43 -msgid "New Address Book" -msgstr "Ny adressebok" - -#: templates/settings.php:44 -msgid "Name" -msgstr "" - -#: templates/settings.php:45 -msgid "Description" -msgstr "" - -#: templates/settings.php:46 -msgid "Save" -msgstr "Lagre" - -#: templates/settings.php:47 -msgid "Cancel" -msgstr "Kanseller" - -#: templates/settings.php:52 -msgid "More..." -msgstr "" diff --git a/l10n/nn_NO/core.po b/l10n/nn_NO/core.po index 36653dc6fb7c2bcc10f113f343fca4ddaf2d17d6..9102a6e6a3d83b066de1f3a6645f1814389c024d 100644 --- a/l10n/nn_NO/core.po +++ b/l10n/nn_NO/core.po @@ -9,9 +9,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-16 02:04+0200\n" -"PO-Revision-Date: 2012-10-16 00:05+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-11-16 00:02+0100\n" +"PO-Revision-Date: 2012-11-14 23:13+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Norwegian Nynorsk (Norway) (http://www.transifex.com/projects/p/owncloud/language/nn_NO/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -19,209 +19,241 @@ msgstr "" "Language: nn_NO\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: ajax/vcategories/add.php:23 ajax/vcategories/delete.php:23 -msgid "Application name not provided." +#: ajax/vcategories/add.php:26 ajax/vcategories/edit.php:25 +msgid "Category type not provided." msgstr "" -#: ajax/vcategories/add.php:29 +#: ajax/vcategories/add.php:30 msgid "No category to add?" msgstr "" -#: ajax/vcategories/add.php:36 +#: ajax/vcategories/add.php:37 msgid "This category already exists: " msgstr "" -#: js/js.js:238 templates/layout.user.php:49 templates/layout.user.php:50 +#: ajax/vcategories/addToFavorites.php:26 ajax/vcategories/delete.php:27 +#: ajax/vcategories/favorites.php:24 +#: ajax/vcategories/removeFromFavorites.php:26 +msgid "Object type not provided." +msgstr "" + +#: ajax/vcategories/addToFavorites.php:30 +#: ajax/vcategories/removeFromFavorites.php:30 +#, php-format +msgid "%s ID not provided." +msgstr "" + +#: ajax/vcategories/addToFavorites.php:35 +#, php-format +msgid "Error adding %s to favorites." +msgstr "" + +#: ajax/vcategories/delete.php:35 js/oc-vcategories.js:136 +msgid "No categories selected for deletion." +msgstr "" + +#: ajax/vcategories/removeFromFavorites.php:35 +#, php-format +msgid "Error removing %s from favorites." +msgstr "" + +#: js/js.js:243 templates/layout.user.php:59 templates/layout.user.php:60 msgid "Settings" msgstr "Innstillingar" -#: js/js.js:670 -msgid "January" +#: js/js.js:688 +msgid "seconds ago" msgstr "" -#: js/js.js:670 -msgid "February" +#: js/js.js:689 +msgid "1 minute ago" msgstr "" -#: js/js.js:670 -msgid "March" +#: js/js.js:690 +msgid "{minutes} minutes ago" msgstr "" -#: js/js.js:670 -msgid "April" +#: js/js.js:691 +msgid "1 hour ago" msgstr "" -#: js/js.js:670 -msgid "May" +#: js/js.js:692 +msgid "{hours} hours ago" msgstr "" -#: js/js.js:670 -msgid "June" +#: js/js.js:693 +msgid "today" msgstr "" -#: js/js.js:671 -msgid "July" +#: js/js.js:694 +msgid "yesterday" msgstr "" -#: js/js.js:671 -msgid "August" +#: js/js.js:695 +msgid "{days} days ago" msgstr "" -#: js/js.js:671 -msgid "September" +#: js/js.js:696 +msgid "last month" msgstr "" -#: js/js.js:671 -msgid "October" +#: js/js.js:697 +msgid "{months} months ago" msgstr "" -#: js/js.js:671 -msgid "November" +#: js/js.js:698 +msgid "months ago" msgstr "" -#: js/js.js:671 -msgid "December" +#: js/js.js:699 +msgid "last year" msgstr "" -#: js/oc-dialogs.js:123 +#: js/js.js:700 +msgid "years ago" +msgstr "" + +#: js/oc-dialogs.js:126 msgid "Choose" msgstr "" -#: js/oc-dialogs.js:143 js/oc-dialogs.js:163 +#: js/oc-dialogs.js:146 js/oc-dialogs.js:166 msgid "Cancel" -msgstr "" +msgstr "Kanseller" -#: js/oc-dialogs.js:159 +#: js/oc-dialogs.js:162 msgid "No" msgstr "" -#: js/oc-dialogs.js:160 +#: js/oc-dialogs.js:163 msgid "Yes" msgstr "" -#: js/oc-dialogs.js:177 +#: js/oc-dialogs.js:180 msgid "Ok" msgstr "" -#: js/oc-vcategories.js:68 -msgid "No categories selected for deletion." +#: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102 +#: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162 +msgid "The object type is not specified." msgstr "" -#: js/oc-vcategories.js:68 js/share.js:114 js/share.js:121 js/share.js:497 -#: js/share.js:509 +#: js/oc-vcategories.js:95 js/oc-vcategories.js:125 js/oc-vcategories.js:136 +#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:525 +#: js/share.js:537 msgid "Error" +msgstr "Feil" + +#: js/oc-vcategories.js:179 +msgid "The app name is not specified." msgstr "" -#: js/share.js:103 +#: js/oc-vcategories.js:194 +msgid "The required file {file} is not installed!" +msgstr "" + +#: js/share.js:124 msgid "Error while sharing" msgstr "" -#: js/share.js:114 +#: js/share.js:135 msgid "Error while unsharing" msgstr "" -#: js/share.js:121 +#: js/share.js:142 msgid "Error while changing permissions" msgstr "" -#: js/share.js:130 -msgid "Shared with you and the group" -msgstr "" - -#: js/share.js:130 -msgid "by" +#: js/share.js:151 +msgid "Shared with you and the group {group} by {owner}" msgstr "" -#: js/share.js:132 -msgid "Shared with you by" +#: js/share.js:153 +msgid "Shared with you by {owner}" msgstr "" -#: js/share.js:137 +#: js/share.js:158 msgid "Share with" msgstr "" -#: js/share.js:142 +#: js/share.js:163 msgid "Share with link" msgstr "" -#: js/share.js:143 +#: js/share.js:164 msgid "Password protect" msgstr "" -#: js/share.js:147 templates/installation.php:42 templates/login.php:24 +#: js/share.js:168 templates/installation.php:42 templates/login.php:24 #: templates/verify.php:13 msgid "Password" msgstr "Passord" -#: js/share.js:152 +#: js/share.js:173 msgid "Set expiration date" msgstr "" -#: js/share.js:153 +#: js/share.js:174 msgid "Expiration date" msgstr "" -#: js/share.js:185 +#: js/share.js:206 msgid "Share via email:" msgstr "" -#: js/share.js:187 +#: js/share.js:208 msgid "No people found" msgstr "" -#: js/share.js:214 +#: js/share.js:235 msgid "Resharing is not allowed" msgstr "" -#: js/share.js:250 -msgid "Shared in" -msgstr "" - -#: js/share.js:250 -msgid "with" +#: js/share.js:271 +msgid "Shared in {item} with {user}" msgstr "" -#: js/share.js:271 +#: js/share.js:292 msgid "Unshare" msgstr "" -#: js/share.js:283 +#: js/share.js:304 msgid "can edit" msgstr "" -#: js/share.js:285 +#: js/share.js:306 msgid "access control" msgstr "" -#: js/share.js:288 +#: js/share.js:309 msgid "create" msgstr "" -#: js/share.js:291 +#: js/share.js:312 msgid "update" msgstr "" -#: js/share.js:294 +#: js/share.js:315 msgid "delete" msgstr "" -#: js/share.js:297 +#: js/share.js:318 msgid "share" msgstr "" -#: js/share.js:322 js/share.js:484 +#: js/share.js:343 js/share.js:512 js/share.js:514 msgid "Password protected" msgstr "" -#: js/share.js:497 +#: js/share.js:525 msgid "Error unsetting expiration date" msgstr "" -#: js/share.js:509 +#: js/share.js:537 msgid "Error setting expiration date" msgstr "" -#: lostpassword/index.php:26 +#: lostpassword/controller.php:47 msgid "ownCloud password reset" msgstr "" @@ -234,12 +266,12 @@ msgid "You will receive a link to reset your password via Email." msgstr "Du vil få ei lenkje for å nullstilla passordet via epost." #: lostpassword/templates/lostpassword.php:5 -msgid "Requested" -msgstr "Førespurt" +msgid "Reset email send." +msgstr "" #: lostpassword/templates/lostpassword.php:8 -msgid "Login failed!" -msgstr "Feil ved innlogging!" +msgid "Request failed!" +msgstr "" #: lostpassword/templates/lostpassword.php:11 templates/installation.php:38 #: templates/login.php:20 @@ -298,9 +330,9 @@ msgstr "Fann ikkje skyen" msgid "Edit categories" msgstr "" -#: templates/edit_categories_dialog.php:14 +#: templates/edit_categories_dialog.php:16 msgid "Add" -msgstr "" +msgstr "Legg til" #: templates/installation.php:23 templates/installation.php:31 msgid "Security Warning" @@ -372,11 +404,87 @@ msgstr "Databasetenar" msgid "Finish setup" msgstr "Fullfør oppsettet" -#: templates/layout.guest.php:38 +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Sunday" +msgstr "Søndag" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Monday" +msgstr "Måndag" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Tuesday" +msgstr "Tysdag" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Wednesday" +msgstr "Onsdag" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Thursday" +msgstr "Torsdag" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Friday" +msgstr "Fredag" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Saturday" +msgstr "Laurdag" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "January" +msgstr "Januar" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "February" +msgstr "Februar" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "March" +msgstr "Mars" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "April" +msgstr "April" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "May" +msgstr "Mai" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "June" +msgstr "Juni" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "July" +msgstr "Juli" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "August" +msgstr "August" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "September" +msgstr "September" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "October" +msgstr "Oktober" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "November" +msgstr "November" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "December" +msgstr "Desember" + +#: templates/layout.guest.php:41 msgid "web services under your control" msgstr "Vev tjenester under din kontroll" -#: templates/layout.user.php:34 +#: templates/layout.user.php:44 msgid "Log out" msgstr "Logg ut" diff --git a/l10n/nn_NO/files.po b/l10n/nn_NO/files.po index 7dc3daff6d21f113d03f6a3fbdffa6a741098ef5..4fb42612d8240b247ccdcd6237dc1b0ebc28e8f0 100644 --- a/l10n/nn_NO/files.po +++ b/l10n/nn_NO/files.po @@ -9,9 +9,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-09-26 13:19+0200\n" -"PO-Revision-Date: 2012-09-26 11:20+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-12-01 00:01+0100\n" +"PO-Revision-Date: 2012-11-30 23:02+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Norwegian Nynorsk (Norway) (http://www.transifex.com/projects/p/owncloud/language/nn_NO/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -24,194 +24,165 @@ msgid "There is no error, the file uploaded with success" msgstr "Ingen feil, fila vart lasta opp" #: ajax/upload.php:21 -msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" -msgstr "Den opplasta fila er større enn variabelen upload_max_filesize i php.ini" +msgid "" +"The uploaded file exceeds the upload_max_filesize directive in php.ini: " +msgstr "" -#: ajax/upload.php:22 +#: ajax/upload.php:23 msgid "" "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " "the HTML form" msgstr "Den opplasta fila er større enn variabelen MAX_FILE_SIZE i HTML-skjemaet" -#: ajax/upload.php:23 +#: ajax/upload.php:25 msgid "The uploaded file was only partially uploaded" msgstr "Fila vart berre delvis lasta opp" -#: ajax/upload.php:24 +#: ajax/upload.php:26 msgid "No file was uploaded" msgstr "Ingen filer vart lasta opp" -#: ajax/upload.php:25 +#: ajax/upload.php:27 msgid "Missing a temporary folder" msgstr "Manglar ei mellombels mappe" -#: ajax/upload.php:26 +#: ajax/upload.php:28 msgid "Failed to write to disk" msgstr "" -#: appinfo/app.php:6 +#: appinfo/app.php:10 msgid "Files" msgstr "Filer" -#: js/fileactions.js:108 templates/index.php:62 +#: js/fileactions.js:117 templates/index.php:83 templates/index.php:84 msgid "Unshare" msgstr "" -#: js/fileactions.js:110 templates/index.php:64 +#: js/fileactions.js:119 templates/index.php:89 templates/index.php:90 msgid "Delete" msgstr "Slett" -#: js/fileactions.js:182 +#: js/fileactions.js:181 msgid "Rename" msgstr "" -#: js/filelist.js:190 js/filelist.js:192 -msgid "already exists" +#: js/filelist.js:201 js/filelist.js:203 +msgid "{new_name} already exists" msgstr "" -#: js/filelist.js:190 js/filelist.js:192 +#: js/filelist.js:201 js/filelist.js:203 msgid "replace" msgstr "" -#: js/filelist.js:190 +#: js/filelist.js:201 msgid "suggest name" msgstr "" -#: js/filelist.js:190 js/filelist.js:192 +#: js/filelist.js:201 js/filelist.js:203 msgid "cancel" msgstr "" -#: js/filelist.js:239 js/filelist.js:241 -msgid "replaced" +#: js/filelist.js:250 +msgid "replaced {new_name}" msgstr "" -#: js/filelist.js:239 js/filelist.js:241 js/filelist.js:273 js/filelist.js:275 +#: js/filelist.js:250 js/filelist.js:252 js/filelist.js:284 js/filelist.js:286 msgid "undo" msgstr "" -#: js/filelist.js:241 -msgid "with" +#: js/filelist.js:252 +msgid "replaced {new_name} with {old_name}" +msgstr "" + +#: js/filelist.js:284 +msgid "unshared {files}" msgstr "" -#: js/filelist.js:273 -msgid "unshared" +#: js/filelist.js:286 +msgid "deleted {files}" msgstr "" -#: js/filelist.js:275 -msgid "deleted" +#: js/files.js:33 +msgid "" +"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not " +"allowed." msgstr "" -#: js/files.js:179 +#: js/files.js:183 msgid "generating ZIP-file, it may take some time." msgstr "" -#: js/files.js:208 +#: js/files.js:218 msgid "Unable to upload your file as it is a directory or has 0 bytes" msgstr "" -#: js/files.js:208 +#: js/files.js:218 msgid "Upload Error" msgstr "" -#: js/files.js:236 js/files.js:341 js/files.js:371 +#: js/files.js:235 +msgid "Close" +msgstr "Lukk" + +#: js/files.js:254 js/files.js:368 js/files.js:398 msgid "Pending" msgstr "" -#: js/files.js:256 +#: js/files.js:274 msgid "1 file uploading" msgstr "" -#: js/files.js:259 js/files.js:304 js/files.js:319 -msgid "files uploading" +#: js/files.js:277 js/files.js:331 js/files.js:346 +msgid "{count} files uploading" msgstr "" -#: js/files.js:322 js/files.js:355 +#: js/files.js:349 js/files.js:382 msgid "Upload cancelled." msgstr "" -#: js/files.js:424 +#: js/files.js:451 msgid "" "File upload is in progress. Leaving the page now will cancel the upload." msgstr "" -#: js/files.js:494 -msgid "Invalid name, '/' is not allowed." +#: js/files.js:523 +msgid "Invalid folder name. Usage of \"Shared\" is reserved by Owncloud" msgstr "" -#: js/files.js:667 -msgid "files scanned" +#: js/files.js:704 +msgid "{count} files scanned" msgstr "" -#: js/files.js:675 +#: js/files.js:712 msgid "error while scanning" msgstr "" -#: js/files.js:748 templates/index.php:48 +#: js/files.js:785 templates/index.php:65 msgid "Name" msgstr "Namn" -#: js/files.js:749 templates/index.php:56 +#: js/files.js:786 templates/index.php:76 msgid "Size" msgstr "Storleik" -#: js/files.js:750 templates/index.php:58 +#: js/files.js:787 templates/index.php:78 msgid "Modified" msgstr "Endra" -#: js/files.js:777 -msgid "folder" +#: js/files.js:814 +msgid "1 folder" msgstr "" -#: js/files.js:779 -msgid "folders" +#: js/files.js:816 +msgid "{count} folders" msgstr "" -#: js/files.js:787 -msgid "file" +#: js/files.js:824 +msgid "1 file" msgstr "" -#: js/files.js:789 -msgid "files" -msgstr "" - -#: js/files.js:833 -msgid "seconds ago" -msgstr "" - -#: js/files.js:834 -msgid "minute ago" -msgstr "" - -#: js/files.js:835 -msgid "minutes ago" -msgstr "" - -#: js/files.js:838 -msgid "today" -msgstr "" - -#: js/files.js:839 -msgid "yesterday" -msgstr "" - -#: js/files.js:840 -msgid "days ago" -msgstr "" - -#: js/files.js:841 -msgid "last month" -msgstr "" - -#: js/files.js:843 -msgid "months ago" -msgstr "" - -#: js/files.js:844 -msgid "last year" -msgstr "" - -#: js/files.js:845 -msgid "years ago" +#: js/files.js:826 +msgid "{count} files" msgstr "" #: templates/admin.php:5 @@ -222,80 +193,76 @@ msgstr "" msgid "Maximum upload size" msgstr "Maksimal opplastingsstorleik" -#: templates/admin.php:7 +#: templates/admin.php:9 msgid "max. possible: " msgstr "" -#: templates/admin.php:9 +#: templates/admin.php:12 msgid "Needed for multi-file and folder downloads." msgstr "" -#: templates/admin.php:9 +#: templates/admin.php:14 msgid "Enable ZIP-download" msgstr "" -#: templates/admin.php:11 +#: templates/admin.php:17 msgid "0 is unlimited" msgstr "" -#: templates/admin.php:12 +#: templates/admin.php:19 msgid "Maximum input size for ZIP files" msgstr "" -#: templates/admin.php:14 +#: templates/admin.php:23 msgid "Save" -msgstr "" +msgstr "Lagre" #: templates/index.php:7 msgid "New" msgstr "Ny" -#: templates/index.php:9 +#: templates/index.php:10 msgid "Text file" msgstr "Tekst fil" -#: templates/index.php:10 +#: templates/index.php:12 msgid "Folder" msgstr "Mappe" -#: templates/index.php:11 -msgid "From url" +#: templates/index.php:14 +msgid "From link" msgstr "" -#: templates/index.php:20 +#: templates/index.php:35 msgid "Upload" msgstr "Last opp" -#: templates/index.php:27 +#: templates/index.php:43 msgid "Cancel upload" msgstr "" -#: templates/index.php:40 +#: templates/index.php:57 msgid "Nothing in here. Upload something!" msgstr "Ingenting her. Last noko opp!" -#: templates/index.php:50 -msgid "Share" -msgstr "" - -#: templates/index.php:52 +#: templates/index.php:71 msgid "Download" msgstr "Last ned" -#: templates/index.php:75 +#: templates/index.php:103 msgid "Upload too large" msgstr "For stor opplasting" -#: templates/index.php:77 +#: templates/index.php:105 msgid "" "The files you are trying to upload exceed the maximum size for file uploads " "on this server." msgstr "Filene du prøver å laste opp er større enn maksgrensa til denne tenaren." -#: templates/index.php:82 +#: templates/index.php:110 msgid "Files are being scanned, please wait." msgstr "" -#: templates/index.php:85 +#: templates/index.php:113 msgid "Current scanning" msgstr "" diff --git a/l10n/nn_NO/files_external.po b/l10n/nn_NO/files_external.po index ec4986c92e1c8672d5a4a45b04f8a8bb957c6489..5655e1ba166ea7c99ad774827d30a8d22ea9d48b 100644 --- a/l10n/nn_NO/files_external.po +++ b/l10n/nn_NO/files_external.po @@ -7,9 +7,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-02 23:16+0200\n" -"PO-Revision-Date: 2012-10-02 21:17+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-12-12 00:12+0100\n" +"PO-Revision-Date: 2012-12-11 23:13+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Norwegian Nynorsk (Norway) (http://www.transifex.com/projects/p/owncloud/language/nn_NO/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -41,66 +41,80 @@ msgstr "" msgid "Error configuring Google Drive storage" msgstr "" +#: lib/config.php:434 +msgid "" +"Warning: \"smbclient\" is not installed. Mounting of CIFS/SMB shares " +"is not possible. Please ask your system administrator to install it." +msgstr "" + +#: lib/config.php:435 +msgid "" +"Warning: The FTP support in PHP is not enabled or installed. Mounting" +" of FTP shares is not possible. Please ask your system administrator to " +"install it." +msgstr "" + #: templates/settings.php:3 msgid "External Storage" msgstr "" -#: templates/settings.php:7 templates/settings.php:19 +#: templates/settings.php:8 templates/settings.php:22 msgid "Mount point" msgstr "" -#: templates/settings.php:8 +#: templates/settings.php:9 msgid "Backend" msgstr "" -#: templates/settings.php:9 +#: templates/settings.php:10 msgid "Configuration" msgstr "" -#: templates/settings.php:10 +#: templates/settings.php:11 msgid "Options" msgstr "" -#: templates/settings.php:11 +#: templates/settings.php:12 msgid "Applicable" msgstr "" -#: templates/settings.php:23 +#: templates/settings.php:27 msgid "Add mount point" msgstr "" -#: templates/settings.php:54 templates/settings.php:62 +#: templates/settings.php:85 msgid "None set" msgstr "" -#: templates/settings.php:63 +#: templates/settings.php:86 msgid "All Users" msgstr "" -#: templates/settings.php:64 +#: templates/settings.php:87 msgid "Groups" msgstr "" -#: templates/settings.php:69 +#: templates/settings.php:95 msgid "Users" msgstr "" -#: templates/settings.php:77 templates/settings.php:107 +#: templates/settings.php:108 templates/settings.php:109 +#: templates/settings.php:149 templates/settings.php:150 msgid "Delete" msgstr "" -#: templates/settings.php:87 +#: templates/settings.php:124 msgid "Enable User External Storage" msgstr "" -#: templates/settings.php:88 +#: templates/settings.php:125 msgid "Allow users to mount their own external storage" msgstr "" -#: templates/settings.php:99 +#: templates/settings.php:139 msgid "SSL root certificates" msgstr "" -#: templates/settings.php:113 +#: templates/settings.php:158 msgid "Import Root Certificate" msgstr "" diff --git a/l10n/nn_NO/files_pdfviewer.po b/l10n/nn_NO/files_pdfviewer.po deleted file mode 100644 index 4933207f3aba1a6d8d84e288c2b7e7d426167b15..0000000000000000000000000000000000000000 --- a/l10n/nn_NO/files_pdfviewer.po +++ /dev/null @@ -1,42 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 02:18+0200\n" -"PO-Revision-Date: 2012-08-26 00:19+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Norwegian Nynorsk (Norway) (http://www.transifex.com/projects/p/owncloud/language/nn_NO/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: nn_NO\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: js/viewer.js:22 -msgid "Previous" -msgstr "" - -#: js/viewer.js:23 -msgid "Next" -msgstr "" - -#: js/viewer.js:29 -msgid "Page Width" -msgstr "" - -#: js/viewer.js:29 -msgid "Page Fit" -msgstr "" - -#: js/viewer.js:30 -msgid "Print" -msgstr "" - -#: js/viewer.js:32 -msgid "Download" -msgstr "" diff --git a/l10n/nn_NO/files_texteditor.po b/l10n/nn_NO/files_texteditor.po deleted file mode 100644 index 1b89b35f6a89668b7bc6c01a2279c7b2fbc51563..0000000000000000000000000000000000000000 --- a/l10n/nn_NO/files_texteditor.po +++ /dev/null @@ -1,44 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 01:17+0200\n" -"PO-Revision-Date: 2012-08-25 23:18+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Norwegian Nynorsk (Norway) (http://www.transifex.com/projects/p/owncloud/language/nn_NO/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: nn_NO\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: js/aceeditor/mode-coldfusion-uncompressed.js:1568 -#: js/aceeditor/mode-liquid-uncompressed.js:902 -#: js/aceeditor/mode-svg-uncompressed.js:1575 -msgid "regex" -msgstr "" - -#: js/editor.js:72 js/editor.js:156 js/editor.js:163 -msgid "Save" -msgstr "" - -#: js/editor.js:74 -msgid "Close" -msgstr "" - -#: js/editor.js:149 -msgid "Saving..." -msgstr "" - -#: js/editor.js:239 -msgid "An error occurred!" -msgstr "" - -#: js/editor.js:266 -msgid "There were unsaved changes, click here to go back" -msgstr "" diff --git a/l10n/nn_NO/gallery.po b/l10n/nn_NO/gallery.po deleted file mode 100644 index 3d4eedd0ef08366773522b9f454c420038af3859..0000000000000000000000000000000000000000 --- a/l10n/nn_NO/gallery.po +++ /dev/null @@ -1,95 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-06-06 00:12+0200\n" -"PO-Revision-Date: 2012-06-05 22:15+0000\n" -"Last-Translator: icewind \n" -"Language-Team: Norwegian Nynorsk (Norway) (http://www.transifex.net/projects/p/owncloud/language/nn_NO/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: nn_NO\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: appinfo/app.php:37 -msgid "Pictures" -msgstr "" - -#: js/album_cover.js:44 -msgid "Share gallery" -msgstr "" - -#: js/album_cover.js:64 js/album_cover.js:100 js/album_cover.js:133 -msgid "Error: " -msgstr "" - -#: js/album_cover.js:64 js/album_cover.js:100 -msgid "Internal error" -msgstr "" - -#: js/album_cover.js:114 -msgid "Scanning root" -msgstr "" - -#: js/album_cover.js:115 -msgid "Default order" -msgstr "" - -#: js/album_cover.js:116 -msgid "Ascending" -msgstr "" - -#: js/album_cover.js:116 -msgid "Descending" -msgstr "" - -#: js/album_cover.js:117 templates/index.php:19 -msgid "Settings" -msgstr "" - -#: js/album_cover.js:122 -msgid "Scanning root cannot be empty" -msgstr "" - -#: js/album_cover.js:122 js/album_cover.js:133 -msgid "Error" -msgstr "" - -#: templates/index.php:16 -msgid "Rescan" -msgstr "Søk på nytt" - -#: templates/index.php:17 -msgid "Stop" -msgstr "" - -#: templates/index.php:18 -msgid "Share" -msgstr "" - -#: templates/view_album.php:19 -msgid "Back" -msgstr "Tilbake" - -#: templates/view_album.php:36 -msgid "Remove confirmation" -msgstr "" - -#: templates/view_album.php:37 -msgid "Do you want to remove album" -msgstr "" - -#: templates/view_album.php:40 -msgid "Change album name" -msgstr "" - -#: templates/view_album.php:43 -msgid "New album name" -msgstr "" diff --git a/l10n/nn_NO/impress.po b/l10n/nn_NO/impress.po deleted file mode 100644 index e14be1cd5ba085ca92ca25ccbd08a1f65d8cc5bb..0000000000000000000000000000000000000000 --- a/l10n/nn_NO/impress.po +++ /dev/null @@ -1,22 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 01:17+0200\n" -"PO-Revision-Date: 2012-08-25 23:18+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Norwegian Nynorsk (Norway) (http://www.transifex.com/projects/p/owncloud/language/nn_NO/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: nn_NO\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: templates/presentations.php:7 -msgid "Documentation" -msgstr "" diff --git a/l10n/nn_NO/lib.po b/l10n/nn_NO/lib.po index aa993826b379f15e52e0d303df5477efc4cbae69..ee2fd61fe0257ca5913edfdb266023843da083a1 100644 --- a/l10n/nn_NO/lib.po +++ b/l10n/nn_NO/lib.po @@ -7,53 +7,53 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-09-01 02:01+0200\n" -"PO-Revision-Date: 2012-09-01 00:02+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-11-16 00:02+0100\n" +"PO-Revision-Date: 2012-11-14 23:13+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Norwegian Nynorsk (Norway) (http://www.transifex.com/projects/p/owncloud/language/nn_NO/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: nn_NO\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: app.php:288 +#: app.php:285 msgid "Help" -msgstr "" +msgstr "Hjelp" -#: app.php:295 +#: app.php:292 msgid "Personal" -msgstr "" +msgstr "Personleg" -#: app.php:300 +#: app.php:297 msgid "Settings" -msgstr "" +msgstr "Innstillingar" -#: app.php:305 +#: app.php:302 msgid "Users" -msgstr "" +msgstr "Brukarar" -#: app.php:312 +#: app.php:309 msgid "Apps" msgstr "" -#: app.php:314 +#: app.php:311 msgid "Admin" msgstr "" -#: files.php:280 +#: files.php:332 msgid "ZIP download is turned off." msgstr "" -#: files.php:281 +#: files.php:333 msgid "Files need to be downloaded one by one." msgstr "" -#: files.php:281 files.php:306 +#: files.php:333 files.php:358 msgid "Back to Files" msgstr "" -#: files.php:305 +#: files.php:357 msgid "Selected files too large to generate zip file." msgstr "" @@ -61,65 +61,92 @@ msgstr "" msgid "Application is not enabled" msgstr "" -#: json.php:39 json.php:63 json.php:75 +#: json.php:39 json.php:64 json.php:77 json.php:89 msgid "Authentication error" -msgstr "" +msgstr "Feil i autentisering" #: json.php:51 msgid "Token expired. Please reload page." msgstr "" -#: template.php:86 +#: search/provider/file.php:17 search/provider/file.php:35 +msgid "Files" +msgstr "Filer" + +#: search/provider/file.php:26 search/provider/file.php:33 +msgid "Text" +msgstr "Tekst" + +#: search/provider/file.php:29 +msgid "Images" +msgstr "" + +#: template.php:103 msgid "seconds ago" msgstr "" -#: template.php:87 +#: template.php:104 msgid "1 minute ago" msgstr "" -#: template.php:88 +#: template.php:105 #, php-format msgid "%d minutes ago" msgstr "" -#: template.php:91 +#: template.php:106 +msgid "1 hour ago" +msgstr "" + +#: template.php:107 +#, php-format +msgid "%d hours ago" +msgstr "" + +#: template.php:108 msgid "today" msgstr "" -#: template.php:92 +#: template.php:109 msgid "yesterday" msgstr "" -#: template.php:93 +#: template.php:110 #, php-format msgid "%d days ago" msgstr "" -#: template.php:94 +#: template.php:111 msgid "last month" msgstr "" -#: template.php:95 -msgid "months ago" +#: template.php:112 +#, php-format +msgid "%d months ago" msgstr "" -#: template.php:96 +#: template.php:113 msgid "last year" msgstr "" -#: template.php:97 +#: template.php:114 msgid "years ago" msgstr "" -#: updater.php:66 +#: updater.php:75 #, php-format msgid "%s is available. Get more information" msgstr "" -#: updater.php:68 +#: updater.php:77 msgid "up to date" msgstr "" -#: updater.php:71 +#: updater.php:80 msgid "updates check is disabled" msgstr "" + +#: vcategories.php:188 vcategories.php:249 +#, php-format +msgid "Could not find category \"%s\"" +msgstr "" diff --git a/l10n/nn_NO/media.po b/l10n/nn_NO/media.po deleted file mode 100644 index a5f4d0d1d3c52b1cfed0bfe486d8b1244e446181..0000000000000000000000000000000000000000 --- a/l10n/nn_NO/media.po +++ /dev/null @@ -1,67 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# , 2011. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-06-06 00:12+0200\n" -"PO-Revision-Date: 2012-06-05 22:15+0000\n" -"Last-Translator: icewind \n" -"Language-Team: Norwegian Nynorsk (Norway) (http://www.transifex.net/projects/p/owncloud/language/nn_NO/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: nn_NO\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: appinfo/app.php:32 templates/player.php:8 -msgid "Music" -msgstr "Musikk" - -#: js/music.js:18 -msgid "Add album to playlist" -msgstr "" - -#: templates/music.php:3 templates/player.php:12 -msgid "Play" -msgstr "Spel" - -#: templates/music.php:4 templates/music.php:26 templates/player.php:13 -msgid "Pause" -msgstr "Pause" - -#: templates/music.php:5 -msgid "Previous" -msgstr "Førre" - -#: templates/music.php:6 templates/player.php:14 -msgid "Next" -msgstr "Neste" - -#: templates/music.php:7 -msgid "Mute" -msgstr "Demp" - -#: templates/music.php:8 -msgid "Unmute" -msgstr "Skru på lyd" - -#: templates/music.php:25 -msgid "Rescan Collection" -msgstr "Skann samlinga på nytt" - -#: templates/music.php:37 -msgid "Artist" -msgstr "Artist" - -#: templates/music.php:38 -msgid "Album" -msgstr "Album" - -#: templates/music.php:39 -msgid "Title" -msgstr "Tittel" diff --git a/l10n/nn_NO/settings.po b/l10n/nn_NO/settings.po index fe6db9eb5f07d81a98e21977801c91fd38d2610c..b38152f949c45a444bb749a003ce57eacf5eea5c 100644 --- a/l10n/nn_NO/settings.po +++ b/l10n/nn_NO/settings.po @@ -9,9 +9,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-09 02:03+0200\n" -"PO-Revision-Date: 2012-10-09 00:04+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-12-03 00:04+0100\n" +"PO-Revision-Date: 2012-12-02 03:18+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Norwegian Nynorsk (Norway) (http://www.transifex.com/projects/p/owncloud/language/nn_NO/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -19,70 +19,73 @@ msgstr "" "Language: nn_NO\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: ajax/apps/ocs.php:23 +#: ajax/apps/ocs.php:20 msgid "Unable to load list from App Store" msgstr "Klarer ikkje å laste inn liste fra App Store" -#: ajax/creategroup.php:9 ajax/removeuser.php:13 ajax/setquota.php:18 -#: ajax/togglegroups.php:15 -msgid "Authentication error" -msgstr "Feil i autentisering" - -#: ajax/creategroup.php:19 +#: ajax/creategroup.php:10 msgid "Group already exists" msgstr "" -#: ajax/creategroup.php:28 +#: ajax/creategroup.php:19 msgid "Unable to add group" msgstr "" -#: ajax/enableapp.php:14 +#: ajax/enableapp.php:12 msgid "Could not enable app. " msgstr "" -#: ajax/lostpassword.php:14 +#: ajax/lostpassword.php:12 msgid "Email saved" msgstr "E-postadresse lagra" -#: ajax/lostpassword.php:16 +#: ajax/lostpassword.php:14 msgid "Invalid email" msgstr "Ugyldig e-postadresse" -#: ajax/openid.php:16 +#: ajax/openid.php:13 msgid "OpenID Changed" msgstr "OpenID endra" -#: ajax/openid.php:18 ajax/setlanguage.php:20 ajax/setlanguage.php:23 +#: ajax/openid.php:15 ajax/setlanguage.php:17 ajax/setlanguage.php:20 msgid "Invalid request" msgstr "Ugyldig førespurnad" -#: ajax/removegroup.php:16 +#: ajax/removegroup.php:13 msgid "Unable to delete group" msgstr "" -#: ajax/removeuser.php:22 +#: ajax/removeuser.php:15 ajax/setquota.php:15 ajax/togglegroups.php:18 +msgid "Authentication error" +msgstr "Feil i autentisering" + +#: ajax/removeuser.php:24 msgid "Unable to delete user" msgstr "" -#: ajax/setlanguage.php:18 +#: ajax/setlanguage.php:15 msgid "Language changed" msgstr "Språk endra" -#: ajax/togglegroups.php:25 +#: ajax/togglegroups.php:12 +msgid "Admins can't remove themself from the admin group" +msgstr "" + +#: ajax/togglegroups.php:28 #, php-format msgid "Unable to add user to group %s" msgstr "" -#: ajax/togglegroups.php:31 +#: ajax/togglegroups.php:34 #, php-format msgid "Unable to remove user from group %s" msgstr "" -#: js/apps.js:28 js/apps.js:65 +#: js/apps.js:28 js/apps.js:67 msgid "Disable" msgstr "Slå av" -#: js/apps.js:28 js/apps.js:54 +#: js/apps.js:28 js/apps.js:55 msgid "Enable" msgstr "Slå på" @@ -90,97 +93,10 @@ msgstr "Slå på" msgid "Saving..." msgstr "" -#: personal.php:47 personal.php:48 +#: personal.php:42 personal.php:43 msgid "__language_name__" msgstr "Nynorsk" -#: templates/admin.php:14 -msgid "Security Warning" -msgstr "" - -#: templates/admin.php:17 -msgid "" -"Your data directory and your files are probably accessible from the " -"internet. The .htaccess file that ownCloud provides is not working. We " -"strongly suggest that you configure your webserver in a way that the data " -"directory is no longer accessible or you move the data directory outside the" -" webserver document root." -msgstr "" - -#: templates/admin.php:31 -msgid "Cron" -msgstr "" - -#: templates/admin.php:37 -msgid "Execute one task with each page loaded" -msgstr "" - -#: templates/admin.php:43 -msgid "" -"cron.php is registered at a webcron service. Call the cron.php page in the " -"owncloud root once a minute over http." -msgstr "" - -#: templates/admin.php:49 -msgid "" -"Use systems cron service. Call the cron.php file in the owncloud folder via " -"a system cronjob once a minute." -msgstr "" - -#: templates/admin.php:56 -msgid "Sharing" -msgstr "" - -#: templates/admin.php:61 -msgid "Enable Share API" -msgstr "" - -#: templates/admin.php:62 -msgid "Allow apps to use the Share API" -msgstr "" - -#: templates/admin.php:67 -msgid "Allow links" -msgstr "" - -#: templates/admin.php:68 -msgid "Allow users to share items to the public with links" -msgstr "" - -#: templates/admin.php:73 -msgid "Allow resharing" -msgstr "" - -#: templates/admin.php:74 -msgid "Allow users to share items shared with them again" -msgstr "" - -#: templates/admin.php:79 -msgid "Allow users to share with anyone" -msgstr "" - -#: templates/admin.php:81 -msgid "Allow users to only share with users in their groups" -msgstr "" - -#: templates/admin.php:88 -msgid "Log" -msgstr "" - -#: templates/admin.php:116 -msgid "More" -msgstr "" - -#: templates/admin.php:124 -msgid "" -"Developed by the ownCloud community, the source code is " -"licensed under the AGPL." -msgstr "" - #: templates/apps.php:10 msgid "Add your App" msgstr "" @@ -213,21 +129,21 @@ msgstr "" msgid "Ask a question" msgstr "Spør om noko" -#: templates/help.php:23 +#: templates/help.php:22 msgid "Problems connecting to help database." msgstr "Problem ved tilkopling til hjelpedatabasen." -#: templates/help.php:24 +#: templates/help.php:23 msgid "Go there manually." msgstr "Gå der på eigen hand." -#: templates/help.php:32 +#: templates/help.php:31 msgid "Answer" msgstr "Svar" #: templates/personal.php:8 #, php-format -msgid "You have used %s of the available %s" +msgid "You have used %s of the available %s" msgstr "" #: templates/personal.php:12 @@ -236,7 +152,7 @@ msgstr "" #: templates/personal.php:13 msgid "Download" -msgstr "" +msgstr "Last ned" #: templates/personal.php:19 msgid "Your password was changed" @@ -286,6 +202,16 @@ msgstr "Hjelp oss å oversett" msgid "use this address to connect to your ownCloud in your file manager" msgstr "bruk denne adressa for å kopla til ownCloud i filhandsamaren din" +#: templates/personal.php:61 +msgid "" +"Developed by the ownCloud community, the source code is " +"licensed under the AGPL." +msgstr "" + #: templates/users.php:21 templates/users.php:76 msgid "Name" msgstr "Namn" @@ -308,7 +234,7 @@ msgstr "" #: templates/users.php:55 templates/users.php:138 msgid "Other" -msgstr "" +msgstr "Anna" #: templates/users.php:80 templates/users.php:112 msgid "Group Admin" diff --git a/l10n/nn_NO/tasks.po b/l10n/nn_NO/tasks.po deleted file mode 100644 index 9ebb58b030c9ee66508cc87cad266f4966721fc6..0000000000000000000000000000000000000000 --- a/l10n/nn_NO/tasks.po +++ /dev/null @@ -1,106 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:44+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Norwegian Nynorsk (Norway) (http://www.transifex.com/projects/p/owncloud/language/nn_NO/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: nn_NO\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: ajax/update_property.php:51 lib/app.php:89 lib/app.php:101 -msgid "Invalid date/time" -msgstr "" - -#: appinfo/app.php:11 -msgid "Tasks" -msgstr "" - -#: js/tasks.js:415 -msgid "No category" -msgstr "" - -#: lib/app.php:33 -msgid "Unspecified" -msgstr "" - -#: lib/app.php:34 -msgid "1=highest" -msgstr "" - -#: lib/app.php:38 -msgid "5=medium" -msgstr "" - -#: lib/app.php:42 -msgid "9=lowest" -msgstr "" - -#: lib/app.php:81 -msgid "Empty Summary" -msgstr "" - -#: lib/app.php:93 -msgid "Invalid percent complete" -msgstr "" - -#: lib/app.php:107 -msgid "Invalid priority" -msgstr "" - -#: templates/tasks.php:3 -msgid "Add Task" -msgstr "" - -#: templates/tasks.php:4 -msgid "Order Due" -msgstr "" - -#: templates/tasks.php:5 -msgid "Order List" -msgstr "" - -#: templates/tasks.php:6 -msgid "Order Complete" -msgstr "" - -#: templates/tasks.php:7 -msgid "Order Location" -msgstr "" - -#: templates/tasks.php:8 -msgid "Order Priority" -msgstr "" - -#: templates/tasks.php:9 -msgid "Order Label" -msgstr "" - -#: templates/tasks.php:16 -msgid "Loading tasks..." -msgstr "" - -#: templates/tasks.php:20 -msgid "Important" -msgstr "" - -#: templates/tasks.php:23 -msgid "More" -msgstr "" - -#: templates/tasks.php:26 -msgid "Less" -msgstr "" - -#: templates/tasks.php:29 -msgid "Delete" -msgstr "" diff --git a/l10n/nn_NO/user_migrate.po b/l10n/nn_NO/user_migrate.po deleted file mode 100644 index 40d6c0dac7ad6d5a8df8be9b62dd654a406b5423..0000000000000000000000000000000000000000 --- a/l10n/nn_NO/user_migrate.po +++ /dev/null @@ -1,51 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:45+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Norwegian Nynorsk (Norway) (http://www.transifex.com/projects/p/owncloud/language/nn_NO/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: nn_NO\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: js/export.js:14 js/export.js:20 -msgid "Export" -msgstr "" - -#: js/export.js:19 -msgid "Something went wrong while the export file was being generated" -msgstr "" - -#: js/export.js:19 -msgid "An error has occurred" -msgstr "" - -#: templates/settings.php:2 -msgid "Export your user account" -msgstr "" - -#: templates/settings.php:3 -msgid "" -"This will create a compressed file that contains your ownCloud account." -msgstr "" - -#: templates/settings.php:13 -msgid "Import user account" -msgstr "" - -#: templates/settings.php:15 -msgid "ownCloud User Zip" -msgstr "" - -#: templates/settings.php:17 -msgid "Import" -msgstr "" diff --git a/l10n/nn_NO/user_openid.po b/l10n/nn_NO/user_openid.po deleted file mode 100644 index eb58b25dcb4e64d43cc02e258003b9e78af68c3e..0000000000000000000000000000000000000000 --- a/l10n/nn_NO/user_openid.po +++ /dev/null @@ -1,54 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:45+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Norwegian Nynorsk (Norway) (http://www.transifex.com/projects/p/owncloud/language/nn_NO/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: nn_NO\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: templates/nomode.php:12 -msgid "This is an OpenID server endpoint. For more information, see " -msgstr "" - -#: templates/nomode.php:14 -msgid "Identity: " -msgstr "" - -#: templates/nomode.php:15 -msgid "Realm: " -msgstr "" - -#: templates/nomode.php:16 -msgid "User: " -msgstr "" - -#: templates/nomode.php:17 -msgid "Login" -msgstr "" - -#: templates/nomode.php:22 -msgid "Error: No user Selected" -msgstr "" - -#: templates/settings.php:4 -msgid "you can authenticate to other sites with this address" -msgstr "" - -#: templates/settings.php:5 -msgid "Authorized OpenID provider" -msgstr "" - -#: templates/settings.php:6 -msgid "Your address at Wordpress, Identi.ca, …" -msgstr "" diff --git a/l10n/nn_NO/files_odfviewer.po b/l10n/nn_NO/user_webdavauth.po similarity index 74% rename from l10n/nn_NO/files_odfviewer.po rename to l10n/nn_NO/user_webdavauth.po index dfc0447df64d3a6d5335d4b9b9154d4b1ae3130a..417e761a7891dcc1307aa8e98af81d3cbcac8992 100644 --- a/l10n/nn_NO/files_odfviewer.po +++ b/l10n/nn_NO/user_webdavauth.po @@ -7,16 +7,16 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 02:18+0200\n" -"PO-Revision-Date: 2012-08-26 00:19+0000\n" +"POT-Creation-Date: 2012-11-09 10:06+0100\n" +"PO-Revision-Date: 2012-11-09 09:06+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: Norwegian Nynorsk (Norway) (http://www.transifex.com/projects/p/owncloud/language/nn_NO/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: nn_NO\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: js/viewer.js:9 -msgid "Close" +#: templates/settings.php:4 +msgid "WebDAV URL: http://" msgstr "" diff --git a/l10n/oc/core.po b/l10n/oc/core.po index 2e89d694c3092072d5ed6e0c87f29bd102deba15..47c795e20b2cf673d5cbc7dbcc9edfe71c24d23c 100644 --- a/l10n/oc/core.po +++ b/l10n/oc/core.po @@ -8,9 +8,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-16 02:04+0200\n" -"PO-Revision-Date: 2012-10-16 00:05+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-11-16 00:02+0100\n" +"PO-Revision-Date: 2012-11-14 23:13+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Occitan (post 1500) (http://www.transifex.com/projects/p/owncloud/language/oc/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -18,209 +18,241 @@ msgstr "" "Language: oc\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: ajax/vcategories/add.php:23 ajax/vcategories/delete.php:23 -msgid "Application name not provided." -msgstr "Nom d'applicacion pas donat." +#: ajax/vcategories/add.php:26 ajax/vcategories/edit.php:25 +msgid "Category type not provided." +msgstr "" -#: ajax/vcategories/add.php:29 +#: ajax/vcategories/add.php:30 msgid "No category to add?" msgstr "Pas de categoria d'ajustar ?" -#: ajax/vcategories/add.php:36 +#: ajax/vcategories/add.php:37 msgid "This category already exists: " msgstr "La categoria exista ja :" -#: js/js.js:238 templates/layout.user.php:49 templates/layout.user.php:50 +#: ajax/vcategories/addToFavorites.php:26 ajax/vcategories/delete.php:27 +#: ajax/vcategories/favorites.php:24 +#: ajax/vcategories/removeFromFavorites.php:26 +msgid "Object type not provided." +msgstr "" + +#: ajax/vcategories/addToFavorites.php:30 +#: ajax/vcategories/removeFromFavorites.php:30 +#, php-format +msgid "%s ID not provided." +msgstr "" + +#: ajax/vcategories/addToFavorites.php:35 +#, php-format +msgid "Error adding %s to favorites." +msgstr "" + +#: ajax/vcategories/delete.php:35 js/oc-vcategories.js:136 +msgid "No categories selected for deletion." +msgstr "Pas de categorias seleccionadas per escafar." + +#: ajax/vcategories/removeFromFavorites.php:35 +#, php-format +msgid "Error removing %s from favorites." +msgstr "" + +#: js/js.js:243 templates/layout.user.php:59 templates/layout.user.php:60 msgid "Settings" msgstr "Configuracion" -#: js/js.js:670 -msgid "January" -msgstr "Genièr" +#: js/js.js:688 +msgid "seconds ago" +msgstr "segonda a" -#: js/js.js:670 -msgid "February" -msgstr "Febrièr" +#: js/js.js:689 +msgid "1 minute ago" +msgstr "1 minuta a" -#: js/js.js:670 -msgid "March" -msgstr "Març" +#: js/js.js:690 +msgid "{minutes} minutes ago" +msgstr "" -#: js/js.js:670 -msgid "April" -msgstr "Abril" +#: js/js.js:691 +msgid "1 hour ago" +msgstr "" -#: js/js.js:670 -msgid "May" -msgstr "Mai" +#: js/js.js:692 +msgid "{hours} hours ago" +msgstr "" -#: js/js.js:670 -msgid "June" -msgstr "Junh" +#: js/js.js:693 +msgid "today" +msgstr "uèi" -#: js/js.js:671 -msgid "July" -msgstr "Julhet" +#: js/js.js:694 +msgid "yesterday" +msgstr "ièr" -#: js/js.js:671 -msgid "August" -msgstr "Agost" +#: js/js.js:695 +msgid "{days} days ago" +msgstr "" -#: js/js.js:671 -msgid "September" -msgstr "Septembre" +#: js/js.js:696 +msgid "last month" +msgstr "mes passat" -#: js/js.js:671 -msgid "October" -msgstr "Octobre" +#: js/js.js:697 +msgid "{months} months ago" +msgstr "" -#: js/js.js:671 -msgid "November" -msgstr "Novembre" +#: js/js.js:698 +msgid "months ago" +msgstr "meses a" -#: js/js.js:671 -msgid "December" -msgstr "Decembre" +#: js/js.js:699 +msgid "last year" +msgstr "an passat" + +#: js/js.js:700 +msgid "years ago" +msgstr "ans a" -#: js/oc-dialogs.js:123 +#: js/oc-dialogs.js:126 msgid "Choose" msgstr "Causís" -#: js/oc-dialogs.js:143 js/oc-dialogs.js:163 +#: js/oc-dialogs.js:146 js/oc-dialogs.js:166 msgid "Cancel" msgstr "Anulla" -#: js/oc-dialogs.js:159 +#: js/oc-dialogs.js:162 msgid "No" msgstr "Non" -#: js/oc-dialogs.js:160 +#: js/oc-dialogs.js:163 msgid "Yes" msgstr "Òc" -#: js/oc-dialogs.js:177 +#: js/oc-dialogs.js:180 msgid "Ok" msgstr "D'accòrdi" -#: js/oc-vcategories.js:68 -msgid "No categories selected for deletion." -msgstr "Pas de categorias seleccionadas per escafar." +#: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102 +#: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162 +msgid "The object type is not specified." +msgstr "" -#: js/oc-vcategories.js:68 js/share.js:114 js/share.js:121 js/share.js:497 -#: js/share.js:509 +#: js/oc-vcategories.js:95 js/oc-vcategories.js:125 js/oc-vcategories.js:136 +#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:525 +#: js/share.js:537 msgid "Error" msgstr "Error" -#: js/share.js:103 +#: js/oc-vcategories.js:179 +msgid "The app name is not specified." +msgstr "" + +#: js/oc-vcategories.js:194 +msgid "The required file {file} is not installed!" +msgstr "" + +#: js/share.js:124 msgid "Error while sharing" msgstr "Error al partejar" -#: js/share.js:114 +#: js/share.js:135 msgid "Error while unsharing" msgstr "Error al non partejar" -#: js/share.js:121 +#: js/share.js:142 msgid "Error while changing permissions" msgstr "Error al cambiar permissions" -#: js/share.js:130 -msgid "Shared with you and the group" -msgstr "Partejat amb tu e lo grop" - -#: js/share.js:130 -msgid "by" -msgstr "per" +#: js/share.js:151 +msgid "Shared with you and the group {group} by {owner}" +msgstr "" -#: js/share.js:132 -msgid "Shared with you by" -msgstr "Partejat amb tu per" +#: js/share.js:153 +msgid "Shared with you by {owner}" +msgstr "" -#: js/share.js:137 +#: js/share.js:158 msgid "Share with" msgstr "Parteja amb" -#: js/share.js:142 +#: js/share.js:163 msgid "Share with link" msgstr "Parteja amb lo ligam" -#: js/share.js:143 +#: js/share.js:164 msgid "Password protect" msgstr "Parat per senhal" -#: js/share.js:147 templates/installation.php:42 templates/login.php:24 +#: js/share.js:168 templates/installation.php:42 templates/login.php:24 #: templates/verify.php:13 msgid "Password" msgstr "Senhal" -#: js/share.js:152 +#: js/share.js:173 msgid "Set expiration date" msgstr "Met la data d'expiracion" -#: js/share.js:153 +#: js/share.js:174 msgid "Expiration date" msgstr "Data d'expiracion" -#: js/share.js:185 +#: js/share.js:206 msgid "Share via email:" msgstr "Parteja tras corrièl :" -#: js/share.js:187 +#: js/share.js:208 msgid "No people found" msgstr "Deguns trobat" -#: js/share.js:214 +#: js/share.js:235 msgid "Resharing is not allowed" msgstr "Tornar partejar es pas permis" -#: js/share.js:250 -msgid "Shared in" -msgstr "Partejat dins" - -#: js/share.js:250 -msgid "with" -msgstr "amb" - #: js/share.js:271 +msgid "Shared in {item} with {user}" +msgstr "" + +#: js/share.js:292 msgid "Unshare" msgstr "Non parteje" -#: js/share.js:283 +#: js/share.js:304 msgid "can edit" msgstr "pòt modificar" -#: js/share.js:285 +#: js/share.js:306 msgid "access control" msgstr "Contraròtle d'acces" -#: js/share.js:288 +#: js/share.js:309 msgid "create" msgstr "crea" -#: js/share.js:291 +#: js/share.js:312 msgid "update" msgstr "met a jorn" -#: js/share.js:294 +#: js/share.js:315 msgid "delete" msgstr "escafa" -#: js/share.js:297 +#: js/share.js:318 msgid "share" msgstr "parteja" -#: js/share.js:322 js/share.js:484 +#: js/share.js:343 js/share.js:512 js/share.js:514 msgid "Password protected" msgstr "Parat per senhal" -#: js/share.js:497 +#: js/share.js:525 msgid "Error unsetting expiration date" msgstr "Error al metre de la data d'expiracion" -#: js/share.js:509 +#: js/share.js:537 msgid "Error setting expiration date" msgstr "Error setting expiration date" -#: lostpassword/index.php:26 +#: lostpassword/controller.php:47 msgid "ownCloud password reset" msgstr "senhal d'ownCloud tornat botar" @@ -233,12 +265,12 @@ msgid "You will receive a link to reset your password via Email." msgstr "Reçaupràs un ligam per tornar botar ton senhal via corrièl." #: lostpassword/templates/lostpassword.php:5 -msgid "Requested" -msgstr "Requesit" +msgid "Reset email send." +msgstr "" #: lostpassword/templates/lostpassword.php:8 -msgid "Login failed!" -msgstr "Fracàs de login" +msgid "Request failed!" +msgstr "" #: lostpassword/templates/lostpassword.php:11 templates/installation.php:38 #: templates/login.php:20 @@ -297,13 +329,13 @@ msgstr "Nívol pas trobada" msgid "Edit categories" msgstr "Edita categorias" -#: templates/edit_categories_dialog.php:14 +#: templates/edit_categories_dialog.php:16 msgid "Add" msgstr "Ajusta" #: templates/installation.php:23 templates/installation.php:31 msgid "Security Warning" -msgstr "" +msgstr "Avertiment de securitat" #: templates/installation.php:24 msgid "" @@ -371,11 +403,87 @@ msgstr "Òste de basa de donadas" msgid "Finish setup" msgstr "Configuracion acabada" -#: templates/layout.guest.php:38 +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Sunday" +msgstr "Dimenge" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Monday" +msgstr "Diluns" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Tuesday" +msgstr "Dimarç" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Wednesday" +msgstr "Dimecres" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Thursday" +msgstr "Dijòus" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Friday" +msgstr "Divendres" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Saturday" +msgstr "Dissabte" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "January" +msgstr "Genièr" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "February" +msgstr "Febrièr" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "March" +msgstr "Març" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "April" +msgstr "Abril" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "May" +msgstr "Mai" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "June" +msgstr "Junh" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "July" +msgstr "Julhet" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "August" +msgstr "Agost" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "September" +msgstr "Septembre" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "October" +msgstr "Octobre" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "November" +msgstr "Novembre" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "December" +msgstr "Decembre" + +#: templates/layout.guest.php:41 msgid "web services under your control" msgstr "Services web jos ton contraròtle" -#: templates/layout.user.php:34 +#: templates/layout.user.php:44 msgid "Log out" msgstr "Sortida" diff --git a/l10n/oc/files.po b/l10n/oc/files.po index 1e4cc9832bcc8113157b43a64ba43ec79cafc072..a433382c7ce6331a1f15462699e650a6098d735e 100644 --- a/l10n/oc/files.po +++ b/l10n/oc/files.po @@ -8,9 +8,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-09-28 23:34+0200\n" -"PO-Revision-Date: 2012-09-28 11:55+0000\n" -"Last-Translator: tartafione \n" +"POT-Creation-Date: 2012-12-01 00:01+0100\n" +"PO-Revision-Date: 2012-11-30 23:02+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Occitan (post 1500) (http://www.transifex.com/projects/p/owncloud/language/oc/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -23,195 +23,166 @@ msgid "There is no error, the file uploaded with success" msgstr "Amontcargament capitat, pas d'errors" #: ajax/upload.php:21 -msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" -msgstr "Lo fichièr amontcargat es tròp bèl per la directiva «upload_max_filesize » del php.ini" +msgid "" +"The uploaded file exceeds the upload_max_filesize directive in php.ini: " +msgstr "" -#: ajax/upload.php:22 +#: ajax/upload.php:23 msgid "" "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " "the HTML form" msgstr "Lo fichièr amontcargat es mai gròs que la directiva «MAX_FILE_SIZE» especifiada dins lo formulari HTML" -#: ajax/upload.php:23 +#: ajax/upload.php:25 msgid "The uploaded file was only partially uploaded" msgstr "Lo fichièr foguèt pas completament amontcargat" -#: ajax/upload.php:24 +#: ajax/upload.php:26 msgid "No file was uploaded" msgstr "Cap de fichièrs son estats amontcargats" -#: ajax/upload.php:25 +#: ajax/upload.php:27 msgid "Missing a temporary folder" msgstr "Un dorsièr temporari manca" -#: ajax/upload.php:26 +#: ajax/upload.php:28 msgid "Failed to write to disk" msgstr "L'escriptura sul disc a fracassat" -#: appinfo/app.php:6 +#: appinfo/app.php:10 msgid "Files" msgstr "Fichièrs" -#: js/fileactions.js:108 templates/index.php:62 +#: js/fileactions.js:117 templates/index.php:83 templates/index.php:84 msgid "Unshare" msgstr "Non parteja" -#: js/fileactions.js:110 templates/index.php:64 +#: js/fileactions.js:119 templates/index.php:89 templates/index.php:90 msgid "Delete" msgstr "Escafa" -#: js/fileactions.js:182 +#: js/fileactions.js:181 msgid "Rename" msgstr "Torna nomenar" -#: js/filelist.js:190 js/filelist.js:192 -msgid "already exists" -msgstr "existís jà" +#: js/filelist.js:201 js/filelist.js:203 +msgid "{new_name} already exists" +msgstr "" -#: js/filelist.js:190 js/filelist.js:192 +#: js/filelist.js:201 js/filelist.js:203 msgid "replace" msgstr "remplaça" -#: js/filelist.js:190 +#: js/filelist.js:201 msgid "suggest name" msgstr "nom prepausat" -#: js/filelist.js:190 js/filelist.js:192 +#: js/filelist.js:201 js/filelist.js:203 msgid "cancel" msgstr "anulla" -#: js/filelist.js:239 js/filelist.js:241 -msgid "replaced" -msgstr "remplaçat" +#: js/filelist.js:250 +msgid "replaced {new_name}" +msgstr "" -#: js/filelist.js:239 js/filelist.js:241 js/filelist.js:273 js/filelist.js:275 +#: js/filelist.js:250 js/filelist.js:252 js/filelist.js:284 js/filelist.js:286 msgid "undo" msgstr "defar" -#: js/filelist.js:241 -msgid "with" -msgstr "amb" +#: js/filelist.js:252 +msgid "replaced {new_name} with {old_name}" +msgstr "" + +#: js/filelist.js:284 +msgid "unshared {files}" +msgstr "" -#: js/filelist.js:273 -msgid "unshared" -msgstr "Non partejat" +#: js/filelist.js:286 +msgid "deleted {files}" +msgstr "" -#: js/filelist.js:275 -msgid "deleted" -msgstr "escafat" +#: js/files.js:33 +msgid "" +"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not " +"allowed." +msgstr "" -#: js/files.js:179 +#: js/files.js:183 msgid "generating ZIP-file, it may take some time." msgstr "Fichièr ZIP a se far, aquò pòt trigar un briu." -#: js/files.js:208 +#: js/files.js:218 msgid "Unable to upload your file as it is a directory or has 0 bytes" msgstr "Impossible d'amontcargar lo teu fichièr qu'es un repertòri o que ten pas que 0 octet." -#: js/files.js:208 +#: js/files.js:218 msgid "Upload Error" msgstr "Error d'amontcargar" -#: js/files.js:236 js/files.js:341 js/files.js:371 +#: js/files.js:235 +msgid "Close" +msgstr "" + +#: js/files.js:254 js/files.js:368 js/files.js:398 msgid "Pending" msgstr "Al esperar" -#: js/files.js:256 +#: js/files.js:274 msgid "1 file uploading" msgstr "1 fichièr al amontcargar" -#: js/files.js:259 js/files.js:304 js/files.js:319 -msgid "files uploading" -msgstr "fichièrs al amontcargar" +#: js/files.js:277 js/files.js:331 js/files.js:346 +msgid "{count} files uploading" +msgstr "" -#: js/files.js:322 js/files.js:355 +#: js/files.js:349 js/files.js:382 msgid "Upload cancelled." msgstr "Amontcargar anullat." -#: js/files.js:424 +#: js/files.js:451 msgid "" "File upload is in progress. Leaving the page now will cancel the upload." msgstr "Un amontcargar es a se far. Daissar aquesta pagina ara tamparà lo cargament. " -#: js/files.js:494 -msgid "Invalid name, '/' is not allowed." -msgstr "Nom invalid, '/' es pas permis." +#: js/files.js:523 +msgid "Invalid folder name. Usage of \"Shared\" is reserved by Owncloud" +msgstr "" -#: js/files.js:668 -msgid "files scanned" -msgstr "Fichièr explorat" +#: js/files.js:704 +msgid "{count} files scanned" +msgstr "" -#: js/files.js:676 +#: js/files.js:712 msgid "error while scanning" msgstr "error pendant l'exploracion" -#: js/files.js:749 templates/index.php:48 +#: js/files.js:785 templates/index.php:65 msgid "Name" msgstr "Nom" -#: js/files.js:750 templates/index.php:56 +#: js/files.js:786 templates/index.php:76 msgid "Size" msgstr "Talha" -#: js/files.js:751 templates/index.php:58 +#: js/files.js:787 templates/index.php:78 msgid "Modified" msgstr "Modificat" -#: js/files.js:778 -msgid "folder" -msgstr "Dorsièr" - -#: js/files.js:780 -msgid "folders" -msgstr "Dorsièrs" - -#: js/files.js:788 -msgid "file" -msgstr "fichièr" - -#: js/files.js:790 -msgid "files" -msgstr "fichièrs" - -#: js/files.js:834 -msgid "seconds ago" -msgstr "secondas" - -#: js/files.js:835 -msgid "minute ago" -msgstr "minuta" - -#: js/files.js:836 -msgid "minutes ago" -msgstr "minutas" - -#: js/files.js:839 -msgid "today" -msgstr "uèi" - -#: js/files.js:840 -msgid "yesterday" -msgstr "ièr" - -#: js/files.js:841 -msgid "days ago" -msgstr "jorns" - -#: js/files.js:842 -msgid "last month" -msgstr "mes passat" +#: js/files.js:814 +msgid "1 folder" +msgstr "" -#: js/files.js:844 -msgid "months ago" -msgstr "meses" +#: js/files.js:816 +msgid "{count} folders" +msgstr "" -#: js/files.js:845 -msgid "last year" -msgstr "an passat" +#: js/files.js:824 +msgid "1 file" +msgstr "" -#: js/files.js:846 -msgid "years ago" -msgstr "ans" +#: js/files.js:826 +msgid "{count} files" +msgstr "" #: templates/admin.php:5 msgid "File handling" @@ -221,27 +192,27 @@ msgstr "Manejament de fichièr" msgid "Maximum upload size" msgstr "Talha maximum d'amontcargament" -#: templates/admin.php:7 +#: templates/admin.php:9 msgid "max. possible: " msgstr "max. possible: " -#: templates/admin.php:9 +#: templates/admin.php:12 msgid "Needed for multi-file and folder downloads." msgstr "Requesit per avalcargar gropat de fichièrs e dorsièr" -#: templates/admin.php:9 +#: templates/admin.php:14 msgid "Enable ZIP-download" msgstr "Activa l'avalcargament de ZIP" -#: templates/admin.php:11 +#: templates/admin.php:17 msgid "0 is unlimited" msgstr "0 es pas limitat" -#: templates/admin.php:12 +#: templates/admin.php:19 msgid "Maximum input size for ZIP files" msgstr "Talha maximum de dintrada per fichièrs ZIP" -#: templates/admin.php:14 +#: templates/admin.php:23 msgid "Save" msgstr "Enregistra" @@ -249,52 +220,48 @@ msgstr "Enregistra" msgid "New" msgstr "Nòu" -#: templates/index.php:9 +#: templates/index.php:10 msgid "Text file" msgstr "Fichièr de tèxte" -#: templates/index.php:10 +#: templates/index.php:12 msgid "Folder" msgstr "Dorsièr" -#: templates/index.php:11 -msgid "From url" -msgstr "Dempuèi l'URL" +#: templates/index.php:14 +msgid "From link" +msgstr "" -#: templates/index.php:20 +#: templates/index.php:35 msgid "Upload" msgstr "Amontcarga" -#: templates/index.php:27 +#: templates/index.php:43 msgid "Cancel upload" msgstr " Anulla l'amontcargar" -#: templates/index.php:40 +#: templates/index.php:57 msgid "Nothing in here. Upload something!" msgstr "Pas res dedins. Amontcarga qualquaren" -#: templates/index.php:50 -msgid "Share" -msgstr "Parteja" - -#: templates/index.php:52 +#: templates/index.php:71 msgid "Download" msgstr "Avalcarga" -#: templates/index.php:75 +#: templates/index.php:103 msgid "Upload too large" msgstr "Amontcargament tròp gròs" -#: templates/index.php:77 +#: templates/index.php:105 msgid "" "The files you are trying to upload exceed the maximum size for file uploads " "on this server." msgstr "Los fichièrs que sias a amontcargar son tròp pesucs per la talha maxi pel servidor." -#: templates/index.php:82 +#: templates/index.php:110 msgid "Files are being scanned, please wait." msgstr "Los fiichièrs son a èsser explorats, " -#: templates/index.php:85 +#: templates/index.php:113 msgid "Current scanning" msgstr "Exploracion en cors" diff --git a/l10n/oc/files_external.po b/l10n/oc/files_external.po index 926c07eac68b709f234279ae62220e28710cfbbf..9c12334dac52814c6177f8210d6dc07ab95a756f 100644 --- a/l10n/oc/files_external.po +++ b/l10n/oc/files_external.po @@ -7,9 +7,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-02 23:16+0200\n" -"PO-Revision-Date: 2012-10-02 21:17+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-12-12 00:12+0100\n" +"PO-Revision-Date: 2012-12-11 23:13+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Occitan (post 1500) (http://www.transifex.com/projects/p/owncloud/language/oc/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -41,66 +41,80 @@ msgstr "" msgid "Error configuring Google Drive storage" msgstr "" +#: lib/config.php:434 +msgid "" +"Warning: \"smbclient\" is not installed. Mounting of CIFS/SMB shares " +"is not possible. Please ask your system administrator to install it." +msgstr "" + +#: lib/config.php:435 +msgid "" +"Warning: The FTP support in PHP is not enabled or installed. Mounting" +" of FTP shares is not possible. Please ask your system administrator to " +"install it." +msgstr "" + #: templates/settings.php:3 msgid "External Storage" msgstr "" -#: templates/settings.php:7 templates/settings.php:19 +#: templates/settings.php:8 templates/settings.php:22 msgid "Mount point" msgstr "" -#: templates/settings.php:8 +#: templates/settings.php:9 msgid "Backend" msgstr "" -#: templates/settings.php:9 +#: templates/settings.php:10 msgid "Configuration" msgstr "" -#: templates/settings.php:10 +#: templates/settings.php:11 msgid "Options" msgstr "" -#: templates/settings.php:11 +#: templates/settings.php:12 msgid "Applicable" msgstr "" -#: templates/settings.php:23 +#: templates/settings.php:27 msgid "Add mount point" msgstr "" -#: templates/settings.php:54 templates/settings.php:62 +#: templates/settings.php:85 msgid "None set" msgstr "" -#: templates/settings.php:63 +#: templates/settings.php:86 msgid "All Users" msgstr "" -#: templates/settings.php:64 +#: templates/settings.php:87 msgid "Groups" msgstr "" -#: templates/settings.php:69 +#: templates/settings.php:95 msgid "Users" msgstr "" -#: templates/settings.php:77 templates/settings.php:107 +#: templates/settings.php:108 templates/settings.php:109 +#: templates/settings.php:149 templates/settings.php:150 msgid "Delete" msgstr "" -#: templates/settings.php:87 +#: templates/settings.php:124 msgid "Enable User External Storage" msgstr "" -#: templates/settings.php:88 +#: templates/settings.php:125 msgid "Allow users to mount their own external storage" msgstr "" -#: templates/settings.php:99 +#: templates/settings.php:139 msgid "SSL root certificates" msgstr "" -#: templates/settings.php:113 +#: templates/settings.php:158 msgid "Import Root Certificate" msgstr "" diff --git a/l10n/oc/lib.po b/l10n/oc/lib.po index e3081d2cff9481d193a57d8f0aa973ec7f1c4752..150704cd23513bbdeb7154ee433e123c4d81e2e3 100644 --- a/l10n/oc/lib.po +++ b/l10n/oc/lib.po @@ -8,9 +8,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-09-29 02:02+0200\n" -"PO-Revision-Date: 2012-09-28 22:27+0000\n" -"Last-Translator: tartafione \n" +"POT-Creation-Date: 2012-11-16 00:02+0100\n" +"PO-Revision-Date: 2012-11-14 23:13+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Occitan (post 1500) (http://www.transifex.com/projects/p/owncloud/language/oc/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -42,19 +42,19 @@ msgstr "Apps" msgid "Admin" msgstr "Admin" -#: files.php:327 +#: files.php:332 msgid "ZIP download is turned off." msgstr "Avalcargar los ZIP es inactiu." -#: files.php:328 +#: files.php:333 msgid "Files need to be downloaded one by one." msgstr "Los fichièrs devan èsser avalcargats un per un." -#: files.php:328 files.php:353 +#: files.php:333 files.php:358 msgid "Back to Files" msgstr "Torna cap als fichièrs" -#: files.php:352 +#: files.php:357 msgid "Selected files too large to generate zip file." msgstr "" @@ -62,7 +62,7 @@ msgstr "" msgid "Application is not enabled" msgstr "" -#: json.php:39 json.php:63 json.php:75 +#: json.php:39 json.php:64 json.php:77 json.php:89 msgid "Authentication error" msgstr "Error d'autentificacion" @@ -70,57 +70,84 @@ msgstr "Error d'autentificacion" msgid "Token expired. Please reload page." msgstr "" -#: template.php:87 +#: search/provider/file.php:17 search/provider/file.php:35 +msgid "Files" +msgstr "Fichièrs" + +#: search/provider/file.php:26 search/provider/file.php:33 +msgid "Text" +msgstr "" + +#: search/provider/file.php:29 +msgid "Images" +msgstr "" + +#: template.php:103 msgid "seconds ago" msgstr "segonda a" -#: template.php:88 +#: template.php:104 msgid "1 minute ago" msgstr "1 minuta a" -#: template.php:89 +#: template.php:105 #, php-format msgid "%d minutes ago" msgstr "%d minutas a" -#: template.php:92 +#: template.php:106 +msgid "1 hour ago" +msgstr "" + +#: template.php:107 +#, php-format +msgid "%d hours ago" +msgstr "" + +#: template.php:108 msgid "today" msgstr "uèi" -#: template.php:93 +#: template.php:109 msgid "yesterday" msgstr "ièr" -#: template.php:94 +#: template.php:110 #, php-format msgid "%d days ago" msgstr "%d jorns a" -#: template.php:95 +#: template.php:111 msgid "last month" msgstr "mes passat" -#: template.php:96 -msgid "months ago" -msgstr "meses a" +#: template.php:112 +#, php-format +msgid "%d months ago" +msgstr "" -#: template.php:97 +#: template.php:113 msgid "last year" msgstr "an passat" -#: template.php:98 +#: template.php:114 msgid "years ago" msgstr "ans a" -#: updater.php:66 +#: updater.php:75 #, php-format msgid "%s is available. Get more information" msgstr "" -#: updater.php:68 +#: updater.php:77 msgid "up to date" msgstr "a jorn" -#: updater.php:71 +#: updater.php:80 msgid "updates check is disabled" msgstr "la verificacion de mesa a jorn es inactiva" + +#: vcategories.php:188 vcategories.php:249 +#, php-format +msgid "Could not find category \"%s\"" +msgstr "" diff --git a/l10n/oc/settings.po b/l10n/oc/settings.po index ee1c36f5c817211ecfe9f701522b6b71a53d451a..a4f159a9c57c12aec840662749a7a07b1895d789 100644 --- a/l10n/oc/settings.po +++ b/l10n/oc/settings.po @@ -8,9 +8,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-09 02:03+0200\n" -"PO-Revision-Date: 2012-10-09 00:04+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-12-03 00:04+0100\n" +"PO-Revision-Date: 2012-12-02 03:18+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Occitan (post 1500) (http://www.transifex.com/projects/p/owncloud/language/oc/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -18,70 +18,73 @@ msgstr "" "Language: oc\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: ajax/apps/ocs.php:23 +#: ajax/apps/ocs.php:20 msgid "Unable to load list from App Store" msgstr "Pas possible de cargar la tièra dempuèi App Store" -#: ajax/creategroup.php:9 ajax/removeuser.php:13 ajax/setquota.php:18 -#: ajax/togglegroups.php:15 -msgid "Authentication error" -msgstr "Error d'autentificacion" - -#: ajax/creategroup.php:19 +#: ajax/creategroup.php:10 msgid "Group already exists" msgstr "Lo grop existís ja" -#: ajax/creategroup.php:28 +#: ajax/creategroup.php:19 msgid "Unable to add group" msgstr "Pas capable d'apondre un grop" -#: ajax/enableapp.php:14 +#: ajax/enableapp.php:12 msgid "Could not enable app. " msgstr "Pòt pas activar app. " -#: ajax/lostpassword.php:14 +#: ajax/lostpassword.php:12 msgid "Email saved" msgstr "Corrièl enregistrat" -#: ajax/lostpassword.php:16 +#: ajax/lostpassword.php:14 msgid "Invalid email" msgstr "Corrièl incorrècte" -#: ajax/openid.php:16 +#: ajax/openid.php:13 msgid "OpenID Changed" msgstr "OpenID cambiat" -#: ajax/openid.php:18 ajax/setlanguage.php:20 ajax/setlanguage.php:23 +#: ajax/openid.php:15 ajax/setlanguage.php:17 ajax/setlanguage.php:20 msgid "Invalid request" msgstr "Demanda invalida" -#: ajax/removegroup.php:16 +#: ajax/removegroup.php:13 msgid "Unable to delete group" msgstr "Pas capable d'escafar un grop" -#: ajax/removeuser.php:22 +#: ajax/removeuser.php:15 ajax/setquota.php:15 ajax/togglegroups.php:18 +msgid "Authentication error" +msgstr "Error d'autentificacion" + +#: ajax/removeuser.php:24 msgid "Unable to delete user" msgstr "Pas capable d'escafar un usancièr" -#: ajax/setlanguage.php:18 +#: ajax/setlanguage.php:15 msgid "Language changed" msgstr "Lengas cambiadas" -#: ajax/togglegroups.php:25 +#: ajax/togglegroups.php:12 +msgid "Admins can't remove themself from the admin group" +msgstr "" + +#: ajax/togglegroups.php:28 #, php-format msgid "Unable to add user to group %s" msgstr "Pas capable d'apondre un usancièr al grop %s" -#: ajax/togglegroups.php:31 +#: ajax/togglegroups.php:34 #, php-format msgid "Unable to remove user from group %s" msgstr "Pas capable de tira un usancièr del grop %s" -#: js/apps.js:28 js/apps.js:65 +#: js/apps.js:28 js/apps.js:67 msgid "Disable" msgstr "Desactiva" -#: js/apps.js:28 js/apps.js:54 +#: js/apps.js:28 js/apps.js:55 msgid "Enable" msgstr "Activa" @@ -89,97 +92,10 @@ msgstr "Activa" msgid "Saving..." msgstr "Enregistra..." -#: personal.php:47 personal.php:48 +#: personal.php:42 personal.php:43 msgid "__language_name__" msgstr "__language_name__" -#: templates/admin.php:14 -msgid "Security Warning" -msgstr "Avertiment de securitat" - -#: templates/admin.php:17 -msgid "" -"Your data directory and your files are probably accessible from the " -"internet. The .htaccess file that ownCloud provides is not working. We " -"strongly suggest that you configure your webserver in a way that the data " -"directory is no longer accessible or you move the data directory outside the" -" webserver document root." -msgstr "" - -#: templates/admin.php:31 -msgid "Cron" -msgstr "Cron" - -#: templates/admin.php:37 -msgid "Execute one task with each page loaded" -msgstr "Executa un prètfach amb cada pagina cargada" - -#: templates/admin.php:43 -msgid "" -"cron.php is registered at a webcron service. Call the cron.php page in the " -"owncloud root once a minute over http." -msgstr "" - -#: templates/admin.php:49 -msgid "" -"Use systems cron service. Call the cron.php file in the owncloud folder via " -"a system cronjob once a minute." -msgstr "Utiliza lo servici cron de ton sistèm operatiu. Executa lo fichièr cron.php dins lo dorsier owncloud tras cronjob del sistèm cada minuta." - -#: templates/admin.php:56 -msgid "Sharing" -msgstr "Al partejar" - -#: templates/admin.php:61 -msgid "Enable Share API" -msgstr "Activa API partejada" - -#: templates/admin.php:62 -msgid "Allow apps to use the Share API" -msgstr "" - -#: templates/admin.php:67 -msgid "Allow links" -msgstr "" - -#: templates/admin.php:68 -msgid "Allow users to share items to the public with links" -msgstr "" - -#: templates/admin.php:73 -msgid "Allow resharing" -msgstr "" - -#: templates/admin.php:74 -msgid "Allow users to share items shared with them again" -msgstr "" - -#: templates/admin.php:79 -msgid "Allow users to share with anyone" -msgstr "" - -#: templates/admin.php:81 -msgid "Allow users to only share with users in their groups" -msgstr "" - -#: templates/admin.php:88 -msgid "Log" -msgstr "Jornal" - -#: templates/admin.php:116 -msgid "More" -msgstr "Mai d'aquò" - -#: templates/admin.php:124 -msgid "" -"Developed by the ownCloud community, the source code is " -"licensed under the AGPL." -msgstr "" - #: templates/apps.php:10 msgid "Add your App" msgstr "Ajusta ton App" @@ -212,22 +128,22 @@ msgstr "Al bailejar de fichièrs pesucasses" msgid "Ask a question" msgstr "Respond a una question" -#: templates/help.php:23 +#: templates/help.php:22 msgid "Problems connecting to help database." msgstr "Problemas al connectar de la basa de donadas d'ajuda" -#: templates/help.php:24 +#: templates/help.php:23 msgid "Go there manually." msgstr "Vas çai manualament" -#: templates/help.php:32 +#: templates/help.php:31 msgid "Answer" msgstr "Responsa" #: templates/personal.php:8 #, php-format -msgid "You have used %s of the available %s" -msgstr "As utilizat %s dels %s disponibles" +msgid "You have used %s of the available %s" +msgstr "" #: templates/personal.php:12 msgid "Desktop and Mobile Syncing Clients" @@ -285,6 +201,16 @@ msgstr "Ajuda a la revirada" msgid "use this address to connect to your ownCloud in your file manager" msgstr "utiliza aquela adreiça per te connectar al ownCloud amb ton explorator de fichièrs" +#: templates/personal.php:61 +msgid "" +"Developed by the ownCloud community, the source code is " +"licensed under the AGPL." +msgstr "" + #: templates/users.php:21 templates/users.php:76 msgid "Name" msgstr "Nom" diff --git a/l10n/oc/user_webdavauth.po b/l10n/oc/user_webdavauth.po new file mode 100644 index 0000000000000000000000000000000000000000..c7f850ce1797ee330bda8e36c828bc7db4af7a43 --- /dev/null +++ b/l10n/oc/user_webdavauth.po @@ -0,0 +1,22 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: ownCloud\n" +"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" +"POT-Creation-Date: 2012-11-09 10:06+0100\n" +"PO-Revision-Date: 2012-11-09 09:06+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Occitan (post 1500) (http://www.transifex.com/projects/p/owncloud/language/oc/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: oc\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#: templates/settings.php:4 +msgid "WebDAV URL: http://" +msgstr "" diff --git a/l10n/pl/admin_dependencies_chk.po b/l10n/pl/admin_dependencies_chk.po deleted file mode 100644 index 952d2fda7b41d7284d428329cd3a7076d4c616cf..0000000000000000000000000000000000000000 --- a/l10n/pl/admin_dependencies_chk.po +++ /dev/null @@ -1,74 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Cyryl Sochacki <>, 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-21 02:03+0200\n" -"PO-Revision-Date: 2012-08-20 09:01+0000\n" -"Last-Translator: Cyryl Sochacki <>\n" -"Language-Team: Polish (http://www.transifex.com/projects/p/owncloud/language/pl/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: pl\n" -"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)\n" - -#: settings.php:33 -msgid "" -"The php-json module is needed by the many applications for inter " -"communications" -msgstr "Moduł php-json jest wymagane przez wiele aplikacji do wewnętrznej łączności" - -#: settings.php:39 -msgid "" -"The php-curl modude is needed to fetch the page title when adding a " -"bookmarks" -msgstr "Modude php-curl jest wymagany do pobrania tytułu strony podczas dodawania zakładki" - -#: settings.php:45 -msgid "The php-gd module is needed to create thumbnails of your images" -msgstr "Moduł php-gd jest wymagany do tworzenia miniatury obrazów" - -#: settings.php:51 -msgid "The php-ldap module is needed connect to your ldap server" -msgstr "Moduł php-ldap jest wymagany aby połączyć się z serwerem ldap" - -#: settings.php:57 -msgid "The php-zip module is needed download multiple files at once" -msgstr "Moduł php-zip jest wymagany aby pobrać wiele plików na raz" - -#: settings.php:63 -msgid "" -"The php-mb_multibyte module is needed to manage correctly the encoding." -msgstr "Moduł php-mb_multibyte jest wymagany do poprawnego zarządzania kodowaniem." - -#: settings.php:69 -msgid "The php-ctype module is needed validate data." -msgstr "Moduł php-ctype jest wymagany do sprawdzania poprawności danych." - -#: settings.php:75 -msgid "The php-xml module is needed to share files with webdav." -msgstr "Moduł php-xml jest wymagany do udostępniania plików przy użyciu protokołu webdav." - -#: settings.php:81 -msgid "" -"The allow_url_fopen directive of your php.ini should be set to 1 to retrieve" -" knowledge base from OCS servers" -msgstr "Dyrektywy allow_url_fopen użytkownika php.ini powinna być ustawiona na 1 do pobierania bazy wiedzy z serwerów OCS" - -#: settings.php:87 -msgid "The php-pdo module is needed to store owncloud data into a database." -msgstr "Moduł php-pdo jest wymagany do przechowywania danych owncloud w bazie danych." - -#: templates/settings.php:2 -msgid "Dependencies status" -msgstr "Stan zależności" - -#: templates/settings.php:7 -msgid "Used by :" -msgstr "Używane przez:" diff --git a/l10n/pl/admin_migrate.po b/l10n/pl/admin_migrate.po deleted file mode 100644 index 096d746c63f51fab9e48a72525265bc8a2f609b9..0000000000000000000000000000000000000000 --- a/l10n/pl/admin_migrate.po +++ /dev/null @@ -1,33 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Cyryl Sochacki <>, 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-13 12:31+0000\n" -"Last-Translator: Cyryl Sochacki <>\n" -"Language-Team: Polish (http://www.transifex.com/projects/p/owncloud/language/pl/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: pl\n" -"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)\n" - -#: templates/settings.php:3 -msgid "Export this ownCloud instance" -msgstr "Eksportuj instancję ownCloud" - -#: templates/settings.php:4 -msgid "" -"This will create a compressed file that contains the data of this owncloud instance.\n" -" Please choose the export type:" -msgstr "Spowoduje to utworzenie pliku skompresowanego, który zawiera dane tej instancji ownCloud.⏎ proszę wybrać typ eksportu:" - -#: templates/settings.php:12 -msgid "Export" -msgstr "Eksport" diff --git a/l10n/pl/bookmarks.po b/l10n/pl/bookmarks.po deleted file mode 100644 index 4eee7979454c6559bc10f7bd103daeab56a242ed..0000000000000000000000000000000000000000 --- a/l10n/pl/bookmarks.po +++ /dev/null @@ -1,60 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-07-28 02:02+0200\n" -"PO-Revision-Date: 2012-07-27 22:17+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Polish (http://www.transifex.com/projects/p/owncloud/language/pl/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: pl\n" -"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)\n" - -#: appinfo/app.php:14 -msgid "Bookmarks" -msgstr "" - -#: bookmarksHelper.php:99 -msgid "unnamed" -msgstr "" - -#: templates/bookmarklet.php:5 -msgid "" -"Drag this to your browser bookmarks and click it, when you want to bookmark " -"a webpage quickly:" -msgstr "" - -#: templates/bookmarklet.php:7 -msgid "Read later" -msgstr "" - -#: templates/list.php:13 -msgid "Address" -msgstr "" - -#: templates/list.php:14 -msgid "Title" -msgstr "" - -#: templates/list.php:15 -msgid "Tags" -msgstr "" - -#: templates/list.php:16 -msgid "Save bookmark" -msgstr "" - -#: templates/list.php:22 -msgid "You have no bookmarks" -msgstr "" - -#: templates/settings.php:11 -msgid "Bookmarklet
" -msgstr "" diff --git a/l10n/pl/calendar.po b/l10n/pl/calendar.po deleted file mode 100644 index 8039d555b5804cd1ebb9b12fa8a3f24c3de5e7d8..0000000000000000000000000000000000000000 --- a/l10n/pl/calendar.po +++ /dev/null @@ -1,816 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Cyryl Sochacki <>, 2012. -# Marcin Małecki , 2011, 2012. -# Piotr Sokół , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-11 02:02+0200\n" -"PO-Revision-Date: 2012-08-11 00:02+0000\n" -"Last-Translator: owncloud_robot \n" -"Language-Team: Polish (http://www.transifex.com/projects/p/owncloud/language/pl/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: pl\n" -"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)\n" - -#: ajax/cache/status.php:19 -msgid "Not all calendars are completely cached" -msgstr "" - -#: ajax/cache/status.php:21 -msgid "Everything seems to be completely cached" -msgstr "" - -#: ajax/categories/rescan.php:29 -msgid "No calendars found." -msgstr "Brak kalendarzy" - -#: ajax/categories/rescan.php:37 -msgid "No events found." -msgstr "Brak wydzarzeń" - -#: ajax/event/edit.form.php:20 -msgid "Wrong calendar" -msgstr "Nieprawidłowy kalendarz" - -#: ajax/import/dropimport.php:29 ajax/import/import.php:64 -msgid "" -"The file contained either no events or all events are already saved in your " -"calendar." -msgstr "" - -#: ajax/import/dropimport.php:31 ajax/import/import.php:67 -msgid "events has been saved in the new calendar" -msgstr "" - -#: ajax/import/import.php:56 -msgid "Import failed" -msgstr "Import nieudany" - -#: ajax/import/import.php:69 -msgid "events has been saved in your calendar" -msgstr "zdarzenie zostało zapisane w twoim kalendarzu" - -#: ajax/settings/guesstimezone.php:25 -msgid "New Timezone:" -msgstr "Nowa strefa czasowa:" - -#: ajax/settings/settimezone.php:23 -msgid "Timezone changed" -msgstr "Zmieniono strefę czasową" - -#: ajax/settings/settimezone.php:25 -msgid "Invalid request" -msgstr "Nieprawidłowe żądanie" - -#: appinfo/app.php:35 templates/calendar.php:15 -#: templates/part.eventform.php:33 templates/part.showevent.php:33 -msgid "Calendar" -msgstr "Kalendarz" - -#: js/calendar.js:832 -msgid "ddd" -msgstr "ddd" - -#: js/calendar.js:833 -msgid "ddd M/d" -msgstr "ddd M/d" - -#: js/calendar.js:834 -msgid "dddd M/d" -msgstr "dddd M/d" - -#: js/calendar.js:837 -msgid "MMMM yyyy" -msgstr "MMMM rrrr" - -#: js/calendar.js:839 -msgid "MMM d[ yyyy]{ '—'[ MMM] d yyyy}" -msgstr "MMM d[ yyyy]{ '—'[ MMM] d yyyy}" - -#: js/calendar.js:841 -msgid "dddd, MMM d, yyyy" -msgstr "dddd, MMM d, rrrr" - -#: lib/app.php:121 -msgid "Birthday" -msgstr "Urodziny" - -#: lib/app.php:122 -msgid "Business" -msgstr "Interesy" - -#: lib/app.php:123 -msgid "Call" -msgstr "Rozmowy" - -#: lib/app.php:124 -msgid "Clients" -msgstr "Klienci" - -#: lib/app.php:125 -msgid "Deliverer" -msgstr "Dostawcy" - -#: lib/app.php:126 -msgid "Holidays" -msgstr "Święta" - -#: lib/app.php:127 -msgid "Ideas" -msgstr "Pomysły" - -#: lib/app.php:128 -msgid "Journey" -msgstr "Podróże" - -#: lib/app.php:129 -msgid "Jubilee" -msgstr "Jubileusze" - -#: lib/app.php:130 -msgid "Meeting" -msgstr "Spotkania" - -#: lib/app.php:131 -msgid "Other" -msgstr "Inne" - -#: lib/app.php:132 -msgid "Personal" -msgstr "Osobiste" - -#: lib/app.php:133 -msgid "Projects" -msgstr "Projekty" - -#: lib/app.php:134 -msgid "Questions" -msgstr "Pytania" - -#: lib/app.php:135 -msgid "Work" -msgstr "Zawodowe" - -#: lib/app.php:351 lib/app.php:361 -msgid "by" -msgstr "przez" - -#: lib/app.php:359 lib/app.php:399 -msgid "unnamed" -msgstr "nienazwany" - -#: lib/import.php:184 templates/calendar.php:12 -#: templates/part.choosecalendar.php:22 -msgid "New Calendar" -msgstr "Nowy kalendarz" - -#: lib/object.php:372 -msgid "Does not repeat" -msgstr "Brak" - -#: lib/object.php:373 -msgid "Daily" -msgstr "Codziennie" - -#: lib/object.php:374 -msgid "Weekly" -msgstr "Tygodniowo" - -#: lib/object.php:375 -msgid "Every Weekday" -msgstr "Każdego dnia tygodnia" - -#: lib/object.php:376 -msgid "Bi-Weekly" -msgstr "Dwa razy w tygodniu" - -#: lib/object.php:377 -msgid "Monthly" -msgstr "Miesięcznie" - -#: lib/object.php:378 -msgid "Yearly" -msgstr "Rocznie" - -#: lib/object.php:388 -msgid "never" -msgstr "nigdy" - -#: lib/object.php:389 -msgid "by occurrences" -msgstr "przez wydarzenia" - -#: lib/object.php:390 -msgid "by date" -msgstr "po dacie" - -#: lib/object.php:400 -msgid "by monthday" -msgstr "miesięcznie" - -#: lib/object.php:401 -msgid "by weekday" -msgstr "tygodniowo" - -#: lib/object.php:411 templates/calendar.php:5 templates/settings.php:69 -msgid "Monday" -msgstr "Poniedziałek" - -#: lib/object.php:412 templates/calendar.php:5 -msgid "Tuesday" -msgstr "Wtorek" - -#: lib/object.php:413 templates/calendar.php:5 -msgid "Wednesday" -msgstr "Środa" - -#: lib/object.php:414 templates/calendar.php:5 -msgid "Thursday" -msgstr "Czwartek" - -#: lib/object.php:415 templates/calendar.php:5 -msgid "Friday" -msgstr "Piątek" - -#: lib/object.php:416 templates/calendar.php:5 -msgid "Saturday" -msgstr "Sobota" - -#: lib/object.php:417 templates/calendar.php:5 templates/settings.php:70 -msgid "Sunday" -msgstr "Niedziela" - -#: lib/object.php:427 -msgid "events week of month" -msgstr "wydarzenia miesiąca" - -#: lib/object.php:428 -msgid "first" -msgstr "pierwszy" - -#: lib/object.php:429 -msgid "second" -msgstr "drugi" - -#: lib/object.php:430 -msgid "third" -msgstr "trzeci" - -#: lib/object.php:431 -msgid "fourth" -msgstr "czwarty" - -#: lib/object.php:432 -msgid "fifth" -msgstr "piąty" - -#: lib/object.php:433 -msgid "last" -msgstr "ostatni" - -#: lib/object.php:467 templates/calendar.php:7 -msgid "January" -msgstr "Styczeń" - -#: lib/object.php:468 templates/calendar.php:7 -msgid "February" -msgstr "Luty" - -#: lib/object.php:469 templates/calendar.php:7 -msgid "March" -msgstr "Marzec" - -#: lib/object.php:470 templates/calendar.php:7 -msgid "April" -msgstr "Kwiecień" - -#: lib/object.php:471 templates/calendar.php:7 -msgid "May" -msgstr "Maj" - -#: lib/object.php:472 templates/calendar.php:7 -msgid "June" -msgstr "Czerwiec" - -#: lib/object.php:473 templates/calendar.php:7 -msgid "July" -msgstr "Lipiec" - -#: lib/object.php:474 templates/calendar.php:7 -msgid "August" -msgstr "Sierpień" - -#: lib/object.php:475 templates/calendar.php:7 -msgid "September" -msgstr "Wrzesień" - -#: lib/object.php:476 templates/calendar.php:7 -msgid "October" -msgstr "Październik" - -#: lib/object.php:477 templates/calendar.php:7 -msgid "November" -msgstr "Listopad" - -#: lib/object.php:478 templates/calendar.php:7 -msgid "December" -msgstr "Grudzień" - -#: lib/object.php:488 -msgid "by events date" -msgstr "po datach wydarzeń" - -#: lib/object.php:489 -msgid "by yearday(s)" -msgstr "po dniach roku" - -#: lib/object.php:490 -msgid "by weeknumber(s)" -msgstr "po tygodniach" - -#: lib/object.php:491 -msgid "by day and month" -msgstr "przez dzień i miesiąc" - -#: lib/search.php:35 lib/search.php:37 lib/search.php:40 -msgid "Date" -msgstr "Data" - -#: lib/search.php:43 -msgid "Cal." -msgstr "Kal." - -#: templates/calendar.php:6 -msgid "Sun." -msgstr "N." - -#: templates/calendar.php:6 -msgid "Mon." -msgstr "Pn." - -#: templates/calendar.php:6 -msgid "Tue." -msgstr "Wt." - -#: templates/calendar.php:6 -msgid "Wed." -msgstr "Śr." - -#: templates/calendar.php:6 -msgid "Thu." -msgstr "Cz." - -#: templates/calendar.php:6 -msgid "Fri." -msgstr "Pt." - -#: templates/calendar.php:6 -msgid "Sat." -msgstr "S." - -#: templates/calendar.php:8 -msgid "Jan." -msgstr "Sty." - -#: templates/calendar.php:8 -msgid "Feb." -msgstr "Lut." - -#: templates/calendar.php:8 -msgid "Mar." -msgstr "Mar." - -#: templates/calendar.php:8 -msgid "Apr." -msgstr "Kwi." - -#: templates/calendar.php:8 -msgid "May." -msgstr "Maj." - -#: templates/calendar.php:8 -msgid "Jun." -msgstr "Cze." - -#: templates/calendar.php:8 -msgid "Jul." -msgstr "Lip." - -#: templates/calendar.php:8 -msgid "Aug." -msgstr "Sie." - -#: templates/calendar.php:8 -msgid "Sep." -msgstr "Wrz." - -#: templates/calendar.php:8 -msgid "Oct." -msgstr "Paź." - -#: templates/calendar.php:8 -msgid "Nov." -msgstr "Lis." - -#: templates/calendar.php:8 -msgid "Dec." -msgstr "Gru." - -#: templates/calendar.php:11 -msgid "All day" -msgstr "Cały dzień" - -#: templates/calendar.php:13 -msgid "Missing fields" -msgstr "Brakujące pola" - -#: templates/calendar.php:14 templates/part.eventform.php:19 -#: templates/part.showevent.php:11 -msgid "Title" -msgstr "Nazwa" - -#: templates/calendar.php:16 -msgid "From Date" -msgstr "Od daty" - -#: templates/calendar.php:17 -msgid "From Time" -msgstr "Od czasu" - -#: templates/calendar.php:18 -msgid "To Date" -msgstr "Do daty" - -#: templates/calendar.php:19 -msgid "To Time" -msgstr "Do czasu" - -#: templates/calendar.php:20 -msgid "The event ends before it starts" -msgstr "Wydarzenie kończy się przed rozpoczęciem" - -#: templates/calendar.php:21 -msgid "There was a database fail" -msgstr "Awaria bazy danych" - -#: templates/calendar.php:39 -msgid "Week" -msgstr "Tydzień" - -#: templates/calendar.php:40 -msgid "Month" -msgstr "Miesiąc" - -#: templates/calendar.php:41 -msgid "List" -msgstr "Lista" - -#: templates/calendar.php:45 -msgid "Today" -msgstr "Dzisiaj" - -#: templates/calendar.php:46 templates/calendar.php:47 -msgid "Settings" -msgstr "" - -#: templates/part.choosecalendar.php:2 -msgid "Your calendars" -msgstr "Twoje kalendarze" - -#: templates/part.choosecalendar.php:27 -#: templates/part.choosecalendar.rowfields.php:11 -msgid "CalDav Link" -msgstr "Wyświetla odnośnik CalDAV" - -#: templates/part.choosecalendar.php:31 -msgid "Shared calendars" -msgstr "Współdzielone kalendarze" - -#: templates/part.choosecalendar.php:48 -msgid "No shared calendars" -msgstr "Brak współdzielonych kalendarzy" - -#: templates/part.choosecalendar.rowfields.php:8 -msgid "Share Calendar" -msgstr "Współdziel kalendarz" - -#: templates/part.choosecalendar.rowfields.php:14 -msgid "Download" -msgstr "Pobiera kalendarz" - -#: templates/part.choosecalendar.rowfields.php:17 -msgid "Edit" -msgstr "Edytuje kalendarz" - -#: templates/part.choosecalendar.rowfields.php:20 -#: templates/part.editevent.php:9 -msgid "Delete" -msgstr "Usuwa kalendarz" - -#: templates/part.choosecalendar.rowfields.shared.php:4 -msgid "shared with you by" -msgstr "współdzielisz z" - -#: templates/part.editcalendar.php:9 -msgid "New calendar" -msgstr "Nowy kalendarz" - -#: templates/part.editcalendar.php:9 -msgid "Edit calendar" -msgstr "Edytowanie kalendarza" - -#: templates/part.editcalendar.php:12 -msgid "Displayname" -msgstr "Wyświetlana nazwa" - -#: templates/part.editcalendar.php:23 -msgid "Active" -msgstr "Aktywny" - -#: templates/part.editcalendar.php:29 -msgid "Calendar color" -msgstr "Kolor" - -#: templates/part.editcalendar.php:42 -msgid "Save" -msgstr "Zapisz" - -#: templates/part.editcalendar.php:42 templates/part.editevent.php:8 -#: templates/part.newevent.php:6 -msgid "Submit" -msgstr "Prześlij" - -#: templates/part.editcalendar.php:43 -msgid "Cancel" -msgstr "Anuluj" - -#: templates/part.editevent.php:1 -msgid "Edit an event" -msgstr "Edytowanie wydarzenia" - -#: templates/part.editevent.php:10 -msgid "Export" -msgstr "Wyeksportuj" - -#: templates/part.eventform.php:8 templates/part.showevent.php:3 -msgid "Eventinfo" -msgstr "Informacja o wydarzeniach" - -#: templates/part.eventform.php:9 templates/part.showevent.php:4 -msgid "Repeating" -msgstr "Powtarzanie" - -#: templates/part.eventform.php:10 templates/part.showevent.php:5 -msgid "Alarm" -msgstr "Alarm" - -#: templates/part.eventform.php:11 templates/part.showevent.php:6 -msgid "Attendees" -msgstr "Uczestnicy" - -#: templates/part.eventform.php:13 -msgid "Share" -msgstr "Współdziel" - -#: templates/part.eventform.php:21 -msgid "Title of the Event" -msgstr "Nazwa wydarzenia" - -#: templates/part.eventform.php:27 templates/part.showevent.php:19 -msgid "Category" -msgstr "Kategoria" - -#: templates/part.eventform.php:29 -msgid "Separate categories with commas" -msgstr "Oddziel kategorie przecinkami" - -#: templates/part.eventform.php:30 -msgid "Edit categories" -msgstr "Edytuj kategorie" - -#: templates/part.eventform.php:56 templates/part.showevent.php:52 -msgid "All Day Event" -msgstr "Wydarzenie całodniowe" - -#: templates/part.eventform.php:60 templates/part.showevent.php:56 -msgid "From" -msgstr "Od" - -#: templates/part.eventform.php:68 templates/part.showevent.php:64 -msgid "To" -msgstr "Do" - -#: templates/part.eventform.php:76 templates/part.showevent.php:72 -msgid "Advanced options" -msgstr "Opcje zaawansowane" - -#: templates/part.eventform.php:81 templates/part.showevent.php:77 -msgid "Location" -msgstr "Lokalizacja" - -#: templates/part.eventform.php:83 -msgid "Location of the Event" -msgstr "Lokalizacja wydarzenia" - -#: templates/part.eventform.php:89 templates/part.showevent.php:85 -msgid "Description" -msgstr "Opis" - -#: templates/part.eventform.php:91 -msgid "Description of the Event" -msgstr "Opis wydarzenia" - -#: templates/part.eventform.php:100 templates/part.showevent.php:95 -msgid "Repeat" -msgstr "Powtarzanie" - -#: templates/part.eventform.php:107 templates/part.showevent.php:102 -msgid "Advanced" -msgstr "Zaawansowane" - -#: templates/part.eventform.php:151 templates/part.showevent.php:146 -msgid "Select weekdays" -msgstr "Wybierz dni powszechne" - -#: templates/part.eventform.php:164 templates/part.eventform.php:177 -#: templates/part.showevent.php:159 templates/part.showevent.php:172 -msgid "Select days" -msgstr "Wybierz dni" - -#: templates/part.eventform.php:169 templates/part.showevent.php:164 -msgid "and the events day of year." -msgstr "oraz wydarzenia roku" - -#: templates/part.eventform.php:182 templates/part.showevent.php:177 -msgid "and the events day of month." -msgstr "oraz wydarzenia miesiąca" - -#: templates/part.eventform.php:190 templates/part.showevent.php:185 -msgid "Select months" -msgstr "Wybierz miesiące" - -#: templates/part.eventform.php:203 templates/part.showevent.php:198 -msgid "Select weeks" -msgstr "Wybierz tygodnie" - -#: templates/part.eventform.php:208 templates/part.showevent.php:203 -msgid "and the events week of year." -msgstr "oraz wydarzenia roku." - -#: templates/part.eventform.php:214 templates/part.showevent.php:209 -msgid "Interval" -msgstr "Interwał" - -#: templates/part.eventform.php:220 templates/part.showevent.php:215 -msgid "End" -msgstr "Koniec" - -#: templates/part.eventform.php:233 templates/part.showevent.php:228 -msgid "occurrences" -msgstr "wystąpienia" - -#: templates/part.import.php:14 -msgid "create a new calendar" -msgstr "stwórz nowy kalendarz" - -#: templates/part.import.php:17 -msgid "Import a calendar file" -msgstr "Zaimportuj plik kalendarza" - -#: templates/part.import.php:24 -msgid "Please choose a calendar" -msgstr "Proszę wybierz kalendarz" - -#: templates/part.import.php:36 -msgid "Name of new calendar" -msgstr "Nazwa kalendarza" - -#: templates/part.import.php:44 -msgid "Take an available name!" -msgstr "" - -#: templates/part.import.php:45 -msgid "" -"A Calendar with this name already exists. If you continue anyhow, these " -"calendars will be merged." -msgstr "" - -#: templates/part.import.php:47 -msgid "Import" -msgstr "Import" - -#: templates/part.import.php:56 -msgid "Close Dialog" -msgstr "Zamknij okno" - -#: templates/part.newevent.php:1 -msgid "Create a new event" -msgstr "Tworzenie nowego wydarzenia" - -#: templates/part.showevent.php:1 -msgid "View an event" -msgstr "Zobacz wydarzenie" - -#: templates/part.showevent.php:23 -msgid "No categories selected" -msgstr "nie zaznaczono kategorii" - -#: templates/part.showevent.php:37 -msgid "of" -msgstr "z" - -#: templates/part.showevent.php:59 templates/part.showevent.php:67 -msgid "at" -msgstr "w" - -#: templates/settings.php:10 -msgid "General" -msgstr "" - -#: templates/settings.php:15 -msgid "Timezone" -msgstr "Strefa czasowa" - -#: templates/settings.php:47 -msgid "Update timezone automatically" -msgstr "" - -#: templates/settings.php:52 -msgid "Time format" -msgstr "" - -#: templates/settings.php:57 -msgid "24h" -msgstr "24h" - -#: templates/settings.php:58 -msgid "12h" -msgstr "12h" - -#: templates/settings.php:64 -msgid "Start week on" -msgstr "" - -#: templates/settings.php:76 -msgid "Cache" -msgstr "" - -#: templates/settings.php:80 -msgid "Clear cache for repeating events" -msgstr "" - -#: templates/settings.php:85 -msgid "URLs" -msgstr "" - -#: templates/settings.php:87 -msgid "Calendar CalDAV syncing addresses" -msgstr "" - -#: templates/settings.php:87 -msgid "more info" -msgstr "więcej informacji" - -#: templates/settings.php:89 -msgid "Primary address (Kontact et al)" -msgstr "" - -#: templates/settings.php:91 -msgid "iOS/OS X" -msgstr "iOS/OS X" - -#: templates/settings.php:93 -msgid "Read only iCalendar link(s)" -msgstr "Odczytać tylko linki iCalendar" - -#: templates/share.dropdown.php:20 -msgid "Users" -msgstr "Użytkownicy" - -#: templates/share.dropdown.php:21 -msgid "select users" -msgstr "wybierz użytkowników" - -#: templates/share.dropdown.php:36 templates/share.dropdown.php:62 -msgid "Editable" -msgstr "Edytowalne" - -#: templates/share.dropdown.php:48 -msgid "Groups" -msgstr "Grupy" - -#: templates/share.dropdown.php:49 -msgid "select groups" -msgstr "wybierz grupy" - -#: templates/share.dropdown.php:75 -msgid "make public" -msgstr "uczyń publicznym" diff --git a/l10n/pl/contacts.po b/l10n/pl/contacts.po deleted file mode 100644 index c0d1d34b6924722bc4b96034493a1f9ed2e47b5e..0000000000000000000000000000000000000000 --- a/l10n/pl/contacts.po +++ /dev/null @@ -1,957 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Bartek , 2012. -# Cyryl Sochacki <>, 2012. -# , 2012. -# Marcin Małecki , 2011, 2012. -# Piotr Sokół , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-24 02:02+0200\n" -"PO-Revision-Date: 2012-08-24 00:02+0000\n" -"Last-Translator: I Robot \n" -"Language-Team: Polish (http://www.transifex.com/projects/p/owncloud/language/pl/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: pl\n" -"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)\n" - -#: ajax/addressbook/activate.php:24 ajax/addressbook/update.php:32 -msgid "Error (de)activating addressbook." -msgstr "Błąd (de)aktywowania książki adresowej." - -#: ajax/addressbook/delete.php:31 ajax/addressbook/update.php:20 -#: ajax/contact/addproperty.php:42 ajax/contact/delete.php:32 -#: ajax/contact/saveproperty.php:39 -msgid "id is not set." -msgstr "id nie ustawione." - -#: ajax/addressbook/update.php:24 -msgid "Cannot update addressbook with an empty name." -msgstr "Nie można zaktualizować książki adresowej z pustą nazwą." - -#: ajax/addressbook/update.php:28 -msgid "Error updating addressbook." -msgstr "Błąd uaktualniania książki adresowej." - -#: ajax/categories/categoriesfor.php:17 -msgid "No ID provided" -msgstr "Brak opatrzonego ID " - -#: ajax/categories/categoriesfor.php:34 -msgid "Error setting checksum." -msgstr "Błąd ustawień sumy kontrolnej" - -#: ajax/categories/delete.php:19 -msgid "No categories selected for deletion." -msgstr "Nie zaznaczono kategorii do usunięcia" - -#: ajax/categories/delete.php:26 -msgid "No address books found." -msgstr "Nie znaleziono książek adresowych" - -#: ajax/categories/delete.php:34 -msgid "No contacts found." -msgstr "Nie znaleziono kontaktów." - -#: ajax/contact/add.php:47 -msgid "There was an error adding the contact." -msgstr "Wystąpił błąd podczas dodawania kontaktu." - -#: ajax/contact/addproperty.php:39 ajax/contact/saveproperty.php:36 -msgid "element name is not set." -msgstr "nazwa elementu nie jest ustawiona." - -#: ajax/contact/addproperty.php:46 -msgid "Could not parse contact: " -msgstr "Nie można parsować kontaktu:" - -#: ajax/contact/addproperty.php:56 -msgid "Cannot add empty property." -msgstr "Nie można dodać pustego elementu." - -#: ajax/contact/addproperty.php:67 -msgid "At least one of the address fields has to be filled out." -msgstr "Należy wypełnić przynajmniej jedno pole adresu." - -#: ajax/contact/addproperty.php:76 -msgid "Trying to add duplicate property: " -msgstr "Próba dodania z duplikowanej właściwości:" - -#: ajax/contact/addproperty.php:115 ajax/contact/saveproperty.php:93 -msgid "Missing IM parameter." -msgstr "" - -#: ajax/contact/addproperty.php:119 ajax/contact/saveproperty.php:97 -msgid "Unknown IM: " -msgstr "" - -#: ajax/contact/deleteproperty.php:37 -msgid "Information about vCard is incorrect. Please reload the page." -msgstr "Informacje o vCard są nieprawidłowe. Proszę odświeżyć stronę." - -#: ajax/contact/details.php:31 -msgid "Missing ID" -msgstr "Brak ID" - -#: ajax/contact/details.php:36 -msgid "Error parsing VCard for ID: \"" -msgstr "Wystąpił błąd podczas przetwarzania VCard ID: \"" - -#: ajax/contact/saveproperty.php:42 -msgid "checksum is not set." -msgstr "checksum-a nie ustawiona" - -#: ajax/contact/saveproperty.php:62 -msgid "Information about vCard is incorrect. Please reload the page: " -msgstr "Informacje na temat vCard są niepoprawne. Proszę przeładuj stronę:" - -#: ajax/contact/saveproperty.php:69 -msgid "Something went FUBAR. " -msgstr "Gdyby coś poszło FUBAR." - -#: ajax/currentphoto.php:30 ajax/oc_photo.php:28 ajax/uploadphoto.php:36 -#: ajax/uploadphoto.php:68 -msgid "No contact ID was submitted." -msgstr "ID kontaktu nie został utworzony." - -#: ajax/currentphoto.php:36 -msgid "Error reading contact photo." -msgstr "Błąd odczytu zdjęcia kontaktu." - -#: ajax/currentphoto.php:48 -msgid "Error saving temporary file." -msgstr "Wystąpił błąd podczas zapisywania pliku tymczasowego." - -#: ajax/currentphoto.php:51 -msgid "The loading photo is not valid." -msgstr "Wczytywane zdjęcie nie jest poprawne." - -#: ajax/editname.php:31 -msgid "Contact ID is missing." -msgstr "Brak kontaktu id." - -#: ajax/oc_photo.php:32 -msgid "No photo path was submitted." -msgstr "Ścieżka do zdjęcia nie została podana." - -#: ajax/oc_photo.php:39 -msgid "File doesn't exist:" -msgstr "Plik nie istnieje:" - -#: ajax/oc_photo.php:44 ajax/oc_photo.php:47 -msgid "Error loading image." -msgstr "Błąd ładowania obrazu." - -#: ajax/savecrop.php:69 -msgid "Error getting contact object." -msgstr "Błąd pobrania kontaktu." - -#: ajax/savecrop.php:79 -msgid "Error getting PHOTO property." -msgstr "Błąd uzyskiwania właściwości ZDJĘCIA." - -#: ajax/savecrop.php:98 -msgid "Error saving contact." -msgstr "Błąd zapisu kontaktu." - -#: ajax/savecrop.php:109 -msgid "Error resizing image" -msgstr "Błąd zmiany rozmiaru obrazu" - -#: ajax/savecrop.php:112 -msgid "Error cropping image" -msgstr "Błąd przycinania obrazu" - -#: ajax/savecrop.php:115 -msgid "Error creating temporary image" -msgstr "Błąd utworzenia obrazu tymczasowego" - -#: ajax/savecrop.php:118 -msgid "Error finding image: " -msgstr "Błąd znajdowanie obrazu: " - -#: ajax/uploadimport.php:44 ajax/uploadimport.php:76 -msgid "Error uploading contacts to storage." -msgstr "Wystąpił błąd podczas wysyłania kontaktów do magazynu." - -#: ajax/uploadimport.php:61 ajax/uploadphoto.php:77 -msgid "There is no error, the file uploaded with success" -msgstr "Nie było błędów, plik wyczytano poprawnie." - -#: ajax/uploadimport.php:62 ajax/uploadphoto.php:78 -msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" -msgstr "Załadowany plik przekracza wielkość upload_max_filesize w php.ini " - -#: ajax/uploadimport.php:63 ajax/uploadphoto.php:79 -msgid "" -"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " -"the HTML form" -msgstr "Wczytywany plik przekracza wielkość MAX_FILE_SIZE, która została określona w formularzu HTML" - -#: ajax/uploadimport.php:64 ajax/uploadphoto.php:80 -msgid "The uploaded file was only partially uploaded" -msgstr "Załadowany plik tylko częściowo został wysłany." - -#: ajax/uploadimport.php:65 ajax/uploadphoto.php:81 -msgid "No file was uploaded" -msgstr "Plik nie został załadowany" - -#: ajax/uploadimport.php:66 ajax/uploadphoto.php:82 -msgid "Missing a temporary folder" -msgstr "Brak folderu tymczasowego" - -#: ajax/uploadphoto.php:59 ajax/uploadphoto.php:109 -msgid "Couldn't save temporary image: " -msgstr "Nie można zapisać obrazu tymczasowego: " - -#: ajax/uploadphoto.php:62 ajax/uploadphoto.php:112 -msgid "Couldn't load temporary image: " -msgstr "Nie można wczytać obrazu tymczasowego: " - -#: ajax/uploadphoto.php:71 -msgid "No file was uploaded. Unknown error" -msgstr "Plik nie został załadowany. Nieznany błąd" - -#: appinfo/app.php:21 -msgid "Contacts" -msgstr "Kontakty" - -#: js/contacts.js:71 -msgid "Sorry, this functionality has not been implemented yet" -msgstr "Niestety, ta funkcja nie została jeszcze zaimplementowana" - -#: js/contacts.js:71 -msgid "Not implemented" -msgstr "Nie wdrożono" - -#: js/contacts.js:76 -msgid "Couldn't get a valid address." -msgstr "Nie można pobrać prawidłowego adresu." - -#: js/contacts.js:76 js/contacts.js:365 js/contacts.js:381 js/contacts.js:393 -#: js/contacts.js:723 js/contacts.js:763 js/contacts.js:789 js/contacts.js:921 -#: js/contacts.js:927 js/contacts.js:939 js/contacts.js:976 -#: js/contacts.js:1250 js/contacts.js:1258 js/contacts.js:1267 -#: js/contacts.js:1302 js/contacts.js:1338 js/contacts.js:1353 -#: js/contacts.js:1379 js/contacts.js:1609 js/contacts.js:1644 -#: js/contacts.js:1664 js/settings.js:26 js/settings.js:43 js/settings.js:68 -msgid "Error" -msgstr "Błąd" - -#: js/contacts.js:424 -msgid "You do not have permission to add contacts to " -msgstr "" - -#: js/contacts.js:425 -msgid "Please select one of your own address books." -msgstr "" - -#: js/contacts.js:425 -msgid "Permission error" -msgstr "" - -#: js/contacts.js:763 -msgid "This property has to be non-empty." -msgstr "Ta właściwość nie może być pusta." - -#: js/contacts.js:789 -msgid "Couldn't serialize elements." -msgstr "Nie można serializować elementów." - -#: js/contacts.js:921 js/contacts.js:939 -msgid "" -"'deleteProperty' called without type argument. Please report at " -"bugs.owncloud.org" -msgstr "\"deleteProperty' wywołana bez argumentu typu. Proszę raportuj na bugs.owncloud.org" - -#: js/contacts.js:958 -msgid "Edit name" -msgstr "Zmień nazwę" - -#: js/contacts.js:1250 -msgid "No files selected for upload." -msgstr "Żadne pliki nie zostały zaznaczone do wysłania." - -#: js/contacts.js:1258 -msgid "" -"The file you are trying to upload exceed the maximum size for file uploads " -"on this server." -msgstr "Plik, który próbujesz wysłać przekracza maksymalny rozmiar pliku przekazywania na tym serwerze." - -#: js/contacts.js:1322 -msgid "Error loading profile picture." -msgstr "Błąd wczytywania zdjęcia profilu." - -#: js/contacts.js:1457 js/contacts.js:1498 js/contacts.js:1517 -#: js/contacts.js:1560 -msgid "Select type" -msgstr "Wybierz typ" - -#: js/contacts.js:1578 -msgid "" -"Some contacts are marked for deletion, but not deleted yet. Please wait for " -"them to be deleted." -msgstr "Niektóre kontakty są zaznaczone do usunięcia, ale nie są usunięte jeszcze. Proszę czekać na ich usunięcie." - -#: js/contacts.js:1649 -msgid "Do you want to merge these address books?" -msgstr "Czy chcesz scalić te książki adresowe?" - -#: js/loader.js:49 -msgid "Result: " -msgstr "Wynik: " - -#: js/loader.js:49 -msgid " imported, " -msgstr " importowane, " - -#: js/loader.js:49 -msgid " failed." -msgstr " nie powiodło się." - -#: js/settings.js:68 -msgid "Displayname cannot be empty." -msgstr "Nazwa nie może być pusta." - -#: lib/app.php:36 -msgid "Addressbook not found: " -msgstr "Nie znaleziono książki adresowej:" - -#: lib/app.php:52 -msgid "This is not your addressbook." -msgstr "To nie jest Twoja książka adresowa." - -#: lib/app.php:71 -msgid "Contact could not be found." -msgstr "Nie można odnaleźć kontaktu." - -#: lib/app.php:116 -msgid "Jabber" -msgstr "Jabber" - -#: lib/app.php:121 -msgid "AIM" -msgstr "AIM" - -#: lib/app.php:126 -msgid "MSN" -msgstr "MSN" - -#: lib/app.php:131 -msgid "Twitter" -msgstr "Twitter" - -#: lib/app.php:136 -msgid "GoogleTalk" -msgstr "GoogleTalk" - -#: lib/app.php:141 -msgid "Facebook" -msgstr "Facebook" - -#: lib/app.php:146 -msgid "XMPP" -msgstr "XMPP" - -#: lib/app.php:151 -msgid "ICQ" -msgstr "ICQ" - -#: lib/app.php:156 -msgid "Yahoo" -msgstr "Yahoo" - -#: lib/app.php:161 -msgid "Skype" -msgstr "Skype" - -#: lib/app.php:166 -msgid "QQ" -msgstr "QQ" - -#: lib/app.php:171 -msgid "GaduGadu" -msgstr "GG" - -#: lib/app.php:194 lib/app.php:202 lib/app.php:213 lib/app.php:266 -msgid "Work" -msgstr "Praca" - -#: lib/app.php:195 lib/app.php:200 lib/app.php:214 -msgid "Home" -msgstr "Dom" - -#: lib/app.php:196 lib/app.php:209 lib/app.php:262 lib/vcard.php:593 -msgid "Other" -msgstr "Inne" - -#: lib/app.php:201 -msgid "Mobile" -msgstr "Komórka" - -#: lib/app.php:203 -msgid "Text" -msgstr "Połączenie tekstowe" - -#: lib/app.php:204 -msgid "Voice" -msgstr "Połączenie głosowe" - -#: lib/app.php:205 -msgid "Message" -msgstr "Wiadomość" - -#: lib/app.php:206 -msgid "Fax" -msgstr "Faks" - -#: lib/app.php:207 -msgid "Video" -msgstr "Połączenie wideo" - -#: lib/app.php:208 -msgid "Pager" -msgstr "Pager" - -#: lib/app.php:215 -msgid "Internet" -msgstr "Internet" - -#: lib/app.php:252 templates/part.contact.php:45 -#: templates/part.contact.php:128 -msgid "Birthday" -msgstr "Urodziny" - -#: lib/app.php:253 -msgid "Business" -msgstr "Biznesowe" - -#: lib/app.php:254 -msgid "Call" -msgstr "Wywołanie" - -#: lib/app.php:255 -msgid "Clients" -msgstr "Klienci" - -#: lib/app.php:256 -msgid "Deliverer" -msgstr "Doręczanie" - -#: lib/app.php:257 -msgid "Holidays" -msgstr "Święta" - -#: lib/app.php:258 -msgid "Ideas" -msgstr "Pomysły" - -#: lib/app.php:259 -msgid "Journey" -msgstr "Podróż" - -#: lib/app.php:260 -msgid "Jubilee" -msgstr "Jubileusz" - -#: lib/app.php:261 -msgid "Meeting" -msgstr "Spotkanie" - -#: lib/app.php:263 -msgid "Personal" -msgstr "Osobiste" - -#: lib/app.php:264 -msgid "Projects" -msgstr "Projekty" - -#: lib/app.php:265 -msgid "Questions" -msgstr "Pytania" - -#: lib/hooks.php:102 -msgid "{name}'s Birthday" -msgstr "{name} Urodzony" - -#: lib/search.php:15 -msgid "Contact" -msgstr "Kontakt" - -#: lib/vcard.php:408 -msgid "You do not have the permissions to edit this contact." -msgstr "" - -#: lib/vcard.php:483 -msgid "You do not have the permissions to delete this contact." -msgstr "" - -#: templates/index.php:14 -msgid "Add Contact" -msgstr "Dodaj kontakt" - -#: templates/index.php:15 templates/index.php:16 templates/part.import.php:17 -msgid "Import" -msgstr "Import" - -#: templates/index.php:18 -msgid "Settings" -msgstr "Ustawienia" - -#: templates/index.php:18 templates/settings.php:9 -msgid "Addressbooks" -msgstr "Książki adresowe" - -#: templates/index.php:36 templates/part.import.php:24 -msgid "Close" -msgstr "Zamknij" - -#: templates/index.php:37 -msgid "Keyboard shortcuts" -msgstr "Skróty klawiatury" - -#: templates/index.php:39 -msgid "Navigation" -msgstr "Nawigacja" - -#: templates/index.php:42 -msgid "Next contact in list" -msgstr "Następny kontakt na liście" - -#: templates/index.php:44 -msgid "Previous contact in list" -msgstr "Poprzedni kontakt na liście" - -#: templates/index.php:46 -msgid "Expand/collapse current addressbook" -msgstr "Rozwiń/Zwiń bieżącą książkę adresową" - -#: templates/index.php:48 -msgid "Next addressbook" -msgstr "Następna książka adresowa" - -#: templates/index.php:50 -msgid "Previous addressbook" -msgstr "Poprzednia książka adresowa" - -#: templates/index.php:54 -msgid "Actions" -msgstr "Akcje" - -#: templates/index.php:57 -msgid "Refresh contacts list" -msgstr "Odśwież listę kontaktów" - -#: templates/index.php:59 -msgid "Add new contact" -msgstr "Dodaj nowy kontakt" - -#: templates/index.php:61 -msgid "Add new addressbook" -msgstr "Dodaj nowa książkę adresową" - -#: templates/index.php:63 -msgid "Delete current contact" -msgstr "Usuń obecny kontakt" - -#: templates/part.contact.php:17 -msgid "Drop photo to upload" -msgstr "Upuść fotografię aby załadować" - -#: templates/part.contact.php:19 -msgid "Delete current photo" -msgstr "Usuń aktualne zdjęcie" - -#: templates/part.contact.php:20 -msgid "Edit current photo" -msgstr "Edytuj aktualne zdjęcie" - -#: templates/part.contact.php:21 -msgid "Upload new photo" -msgstr "Wczytaj nowe zdjęcie" - -#: templates/part.contact.php:22 -msgid "Select photo from ownCloud" -msgstr "Wybierz zdjęcie z ownCloud" - -#: templates/part.contact.php:35 -msgid "Format custom, Short name, Full name, Reverse or Reverse with comma" -msgstr "Format niestandardowy, krótkie nazwy, imię i nazwisko, Odwracać lub Odwrócić z przecinkiem" - -#: templates/part.contact.php:36 -msgid "Edit name details" -msgstr "Edytuj szczegóły nazwy" - -#: templates/part.contact.php:39 templates/part.contact.php:40 -#: templates/part.contact.php:126 -msgid "Organization" -msgstr "Organizacja" - -#: templates/part.contact.php:40 templates/part.contact.php:42 -#: templates/part.contact.php:44 templates/part.contact.php:46 -#: templates/part.contact.php:50 templates/settings.php:36 -msgid "Delete" -msgstr "Usuwa książkę adresową" - -#: templates/part.contact.php:41 templates/part.contact.php:127 -msgid "Nickname" -msgstr "Nazwa" - -#: templates/part.contact.php:42 -msgid "Enter nickname" -msgstr "Wpisz nazwę" - -#: templates/part.contact.php:43 templates/part.contact.php:134 -msgid "Web site" -msgstr "Strona www" - -#: templates/part.contact.php:44 -msgid "http://www.somesite.com" -msgstr "http://www.jakasstrona.pl" - -#: templates/part.contact.php:44 -msgid "Go to web site" -msgstr "Idż do strony www" - -#: templates/part.contact.php:46 -msgid "dd-mm-yyyy" -msgstr "dd-mm-rrrr" - -#: templates/part.contact.php:47 templates/part.contact.php:135 -msgid "Groups" -msgstr "Grupy" - -#: templates/part.contact.php:49 -msgid "Separate groups with commas" -msgstr "Oddziel grupy przecinkami" - -#: templates/part.contact.php:50 -msgid "Edit groups" -msgstr "Edytuj grupy" - -#: templates/part.contact.php:59 templates/part.contact.php:73 -#: templates/part.contact.php:98 -msgid "Preferred" -msgstr "Preferowane" - -#: templates/part.contact.php:60 -msgid "Please specify a valid email address." -msgstr "Określ prawidłowy adres e-mail." - -#: templates/part.contact.php:60 -msgid "Enter email address" -msgstr "Wpisz adres email" - -#: templates/part.contact.php:64 -msgid "Mail to address" -msgstr "Mail na adres" - -#: templates/part.contact.php:65 -msgid "Delete email address" -msgstr "Usuń adres mailowy" - -#: templates/part.contact.php:75 -msgid "Enter phone number" -msgstr "Wpisz numer telefonu" - -#: templates/part.contact.php:79 -msgid "Delete phone number" -msgstr "Usuń numer telefonu" - -#: templates/part.contact.php:100 -msgid "Instant Messenger" -msgstr "" - -#: templates/part.contact.php:101 -msgid "Delete IM" -msgstr "" - -#: templates/part.contact.php:110 -msgid "View on map" -msgstr "Zobacz na mapie" - -#: templates/part.contact.php:110 -msgid "Edit address details" -msgstr "Edytuj szczegóły adresu" - -#: templates/part.contact.php:116 -msgid "Add notes here." -msgstr "Dodaj notatkę tutaj." - -#: templates/part.contact.php:124 -msgid "Add field" -msgstr "Dodaj pole" - -#: templates/part.contact.php:129 -msgid "Phone" -msgstr "Telefon" - -#: templates/part.contact.php:130 -msgid "Email" -msgstr "E-mail" - -#: templates/part.contact.php:131 -msgid "Instant Messaging" -msgstr "" - -#: templates/part.contact.php:132 -msgid "Address" -msgstr "Adres" - -#: templates/part.contact.php:133 -msgid "Note" -msgstr "Uwaga" - -#: templates/part.contact.php:138 -msgid "Download contact" -msgstr "Pobiera kontakt" - -#: templates/part.contact.php:139 -msgid "Delete contact" -msgstr "Usuwa kontakt" - -#: templates/part.cropphoto.php:65 -msgid "The temporary image has been removed from cache." -msgstr "Tymczasowy obraz został usunięty z pamięci podręcznej." - -#: templates/part.edit_address_dialog.php:6 -msgid "Edit address" -msgstr "Edytuj adres" - -#: templates/part.edit_address_dialog.php:10 -msgid "Type" -msgstr "Typ" - -#: templates/part.edit_address_dialog.php:18 -#: templates/part.edit_address_dialog.php:21 -msgid "PO Box" -msgstr "Skrzynka pocztowa" - -#: templates/part.edit_address_dialog.php:24 -msgid "Street address" -msgstr "Ulica" - -#: templates/part.edit_address_dialog.php:27 -msgid "Street and number" -msgstr "Ulica i numer" - -#: templates/part.edit_address_dialog.php:30 -msgid "Extended" -msgstr "Rozszerzony" - -#: templates/part.edit_address_dialog.php:33 -msgid "Apartment number etc." -msgstr "Numer lokalu" - -#: templates/part.edit_address_dialog.php:36 -#: templates/part.edit_address_dialog.php:39 -msgid "City" -msgstr "Miasto" - -#: templates/part.edit_address_dialog.php:42 -msgid "Region" -msgstr "Region" - -#: templates/part.edit_address_dialog.php:45 -msgid "E.g. state or province" -msgstr "Np. stanu lub prowincji" - -#: templates/part.edit_address_dialog.php:48 -msgid "Zipcode" -msgstr "Kod pocztowy" - -#: templates/part.edit_address_dialog.php:51 -msgid "Postal code" -msgstr "Kod pocztowy" - -#: templates/part.edit_address_dialog.php:54 -#: templates/part.edit_address_dialog.php:57 -msgid "Country" -msgstr "Kraj" - -#: templates/part.edit_name_dialog.php:16 -msgid "Addressbook" -msgstr "Książka adresowa" - -#: templates/part.edit_name_dialog.php:23 -msgid "Hon. prefixes" -msgstr "Prefiksy Hon." - -#: templates/part.edit_name_dialog.php:27 -msgid "Miss" -msgstr "Panna" - -#: templates/part.edit_name_dialog.php:28 -msgid "Ms" -msgstr "Ms" - -#: templates/part.edit_name_dialog.php:29 -msgid "Mr" -msgstr "Pan" - -#: templates/part.edit_name_dialog.php:30 -msgid "Sir" -msgstr "Sir" - -#: templates/part.edit_name_dialog.php:31 -msgid "Mrs" -msgstr "Pani" - -#: templates/part.edit_name_dialog.php:32 -msgid "Dr" -msgstr "Dr" - -#: templates/part.edit_name_dialog.php:35 -msgid "Given name" -msgstr "Podaj imię" - -#: templates/part.edit_name_dialog.php:37 -msgid "Additional names" -msgstr "Dodatkowe nazwy" - -#: templates/part.edit_name_dialog.php:39 -msgid "Family name" -msgstr "Nazwa rodziny" - -#: templates/part.edit_name_dialog.php:41 -msgid "Hon. suffixes" -msgstr "Sufiksy Hon." - -#: templates/part.edit_name_dialog.php:45 -msgid "J.D." -msgstr "J.D." - -#: templates/part.edit_name_dialog.php:46 -msgid "M.D." -msgstr "M.D." - -#: templates/part.edit_name_dialog.php:47 -msgid "D.O." -msgstr "D.O." - -#: templates/part.edit_name_dialog.php:48 -msgid "D.C." -msgstr "D.C." - -#: templates/part.edit_name_dialog.php:49 -msgid "Ph.D." -msgstr "Ph.D." - -#: templates/part.edit_name_dialog.php:50 -msgid "Esq." -msgstr "Esq." - -#: templates/part.edit_name_dialog.php:51 -msgid "Jr." -msgstr "Jr." - -#: templates/part.edit_name_dialog.php:52 -msgid "Sn." -msgstr "Sn." - -#: templates/part.import.php:1 -msgid "Import a contacts file" -msgstr "Importuj plik z kontaktami" - -#: templates/part.import.php:6 -msgid "Please choose the addressbook" -msgstr "Proszę wybrać książkę adresową" - -#: templates/part.import.php:10 -msgid "create a new addressbook" -msgstr "utwórz nową książkę adresową" - -#: templates/part.import.php:15 -msgid "Name of new addressbook" -msgstr "Nazwa nowej książki adresowej" - -#: templates/part.import.php:20 -msgid "Importing contacts" -msgstr "importuj kontakty" - -#: templates/part.no_contacts.php:3 -msgid "You have no contacts in your addressbook." -msgstr "Nie masz żadnych kontaktów w swojej książce adresowej." - -#: templates/part.no_contacts.php:5 -msgid "Add contact" -msgstr "Dodaj kontakt" - -#: templates/part.selectaddressbook.php:1 -msgid "Select Address Books" -msgstr "Wybierz książki adresowe" - -#: templates/part.selectaddressbook.php:27 -msgid "Enter name" -msgstr "Wpisz nazwę" - -#: templates/part.selectaddressbook.php:29 -msgid "Enter description" -msgstr "Wprowadź opis" - -#: templates/settings.php:3 -msgid "CardDAV syncing addresses" -msgstr "adres do synchronizacji CardDAV" - -#: templates/settings.php:3 -msgid "more info" -msgstr "więcej informacji" - -#: templates/settings.php:5 -msgid "Primary address (Kontact et al)" -msgstr "Pierwszy adres" - -#: templates/settings.php:7 -msgid "iOS/OS X" -msgstr "iOS/OS X" - -#: templates/settings.php:20 -msgid "Show CardDav link" -msgstr "Pokaż link CardDAV" - -#: templates/settings.php:23 -msgid "Show read-only VCF link" -msgstr "Pokaż tylko do odczytu łącze VCF" - -#: templates/settings.php:26 -msgid "Share" -msgstr "Udostępnij" - -#: templates/settings.php:29 -msgid "Download" -msgstr "Pobiera książkę adresową" - -#: templates/settings.php:33 -msgid "Edit" -msgstr "Edytuje książkę adresową" - -#: templates/settings.php:43 -msgid "New Address Book" -msgstr "Nowa książka adresowa" - -#: templates/settings.php:44 -msgid "Name" -msgstr "Nazwa" - -#: templates/settings.php:45 -msgid "Description" -msgstr "Opis" - -#: templates/settings.php:46 -msgid "Save" -msgstr "Zapisz" - -#: templates/settings.php:47 -msgid "Cancel" -msgstr "Anuluj" - -#: templates/settings.php:52 -msgid "More..." -msgstr "Więcej..." diff --git a/l10n/pl/core.po b/l10n/pl/core.po index 7e47de56d83d08717548c2ba786752f42c2cedab..d4a3154242d8f0a981e266d15ecf7e0f32571dbf 100644 --- a/l10n/pl/core.po +++ b/l10n/pl/core.po @@ -6,18 +6,20 @@ # Cyryl Sochacki <>, 2012. # Cyryl Sochacki , 2012. # Kamil Domański , 2011. +# , 2012. # Marcin Małecki , 2011, 2012. # Marcin Małecki , 2011. # , 2011. # , 2012. # Piotr Sokół , 2012. +# , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-16 02:04+0200\n" -"PO-Revision-Date: 2012-10-16 00:05+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-11-28 00:10+0100\n" +"PO-Revision-Date: 2012-11-27 08:53+0000\n" +"Last-Translator: Cyryl Sochacki \n" "Language-Team: Polish (http://www.transifex.com/projects/p/owncloud/language/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -25,209 +27,241 @@ msgstr "" "Language: pl\n" "Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -#: ajax/vcategories/add.php:23 ajax/vcategories/delete.php:23 -msgid "Application name not provided." -msgstr "Brak nazwy dla aplikacji" +#: ajax/vcategories/add.php:26 ajax/vcategories/edit.php:25 +msgid "Category type not provided." +msgstr "Typ kategorii nie podany." -#: ajax/vcategories/add.php:29 +#: ajax/vcategories/add.php:30 msgid "No category to add?" msgstr "Brak kategorii" -#: ajax/vcategories/add.php:36 +#: ajax/vcategories/add.php:37 msgid "This category already exists: " msgstr "Ta kategoria już istnieje" -#: js/js.js:238 templates/layout.user.php:49 templates/layout.user.php:50 +#: ajax/vcategories/addToFavorites.php:26 ajax/vcategories/delete.php:27 +#: ajax/vcategories/favorites.php:24 +#: ajax/vcategories/removeFromFavorites.php:26 +msgid "Object type not provided." +msgstr "Typ obiektu nie podany." + +#: ajax/vcategories/addToFavorites.php:30 +#: ajax/vcategories/removeFromFavorites.php:30 +#, php-format +msgid "%s ID not provided." +msgstr "%s ID nie podany." + +#: ajax/vcategories/addToFavorites.php:35 +#, php-format +msgid "Error adding %s to favorites." +msgstr "Błąd dodania %s do ulubionych." + +#: ajax/vcategories/delete.php:35 js/oc-vcategories.js:136 +msgid "No categories selected for deletion." +msgstr "Nie ma kategorii zaznaczonych do usunięcia." + +#: ajax/vcategories/removeFromFavorites.php:35 +#, php-format +msgid "Error removing %s from favorites." +msgstr "Błąd usunięcia %s z ulubionych." + +#: js/js.js:259 templates/layout.user.php:60 templates/layout.user.php:61 msgid "Settings" msgstr "Ustawienia" -#: js/js.js:670 -msgid "January" -msgstr "Styczeń" +#: js/js.js:704 +msgid "seconds ago" +msgstr "sekund temu" -#: js/js.js:670 -msgid "February" -msgstr "Luty" +#: js/js.js:705 +msgid "1 minute ago" +msgstr "1 minute temu" -#: js/js.js:670 -msgid "March" -msgstr "Marzec" +#: js/js.js:706 +msgid "{minutes} minutes ago" +msgstr "{minutes} minut temu" -#: js/js.js:670 -msgid "April" -msgstr "Kwiecień" +#: js/js.js:707 +msgid "1 hour ago" +msgstr "1 godzine temu" -#: js/js.js:670 -msgid "May" -msgstr "Maj" +#: js/js.js:708 +msgid "{hours} hours ago" +msgstr "{hours} godzin temu" -#: js/js.js:670 -msgid "June" -msgstr "Czerwiec" +#: js/js.js:709 +msgid "today" +msgstr "dziś" -#: js/js.js:671 -msgid "July" -msgstr "Lipiec" +#: js/js.js:710 +msgid "yesterday" +msgstr "wczoraj" -#: js/js.js:671 -msgid "August" -msgstr "Sierpień" +#: js/js.js:711 +msgid "{days} days ago" +msgstr "{days} dni temu" -#: js/js.js:671 -msgid "September" -msgstr "Wrzesień" +#: js/js.js:712 +msgid "last month" +msgstr "ostani miesiąc" -#: js/js.js:671 -msgid "October" -msgstr "Październik" +#: js/js.js:713 +msgid "{months} months ago" +msgstr "{months} miesięcy temu" -#: js/js.js:671 -msgid "November" -msgstr "Listopad" +#: js/js.js:714 +msgid "months ago" +msgstr "miesięcy temu" -#: js/js.js:671 -msgid "December" -msgstr "Grudzień" +#: js/js.js:715 +msgid "last year" +msgstr "ostatni rok" -#: js/oc-dialogs.js:123 +#: js/js.js:716 +msgid "years ago" +msgstr "lat temu" + +#: js/oc-dialogs.js:126 msgid "Choose" msgstr "Wybierz" -#: js/oc-dialogs.js:143 js/oc-dialogs.js:163 +#: js/oc-dialogs.js:146 js/oc-dialogs.js:166 msgid "Cancel" msgstr "Anuluj" -#: js/oc-dialogs.js:159 +#: js/oc-dialogs.js:162 msgid "No" msgstr "Nie" -#: js/oc-dialogs.js:160 +#: js/oc-dialogs.js:163 msgid "Yes" msgstr "Tak" -#: js/oc-dialogs.js:177 +#: js/oc-dialogs.js:180 msgid "Ok" msgstr "Ok" -#: js/oc-vcategories.js:68 -msgid "No categories selected for deletion." -msgstr "Nie ma kategorii zaznaczonych do usunięcia." +#: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102 +#: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162 +msgid "The object type is not specified." +msgstr "Typ obiektu nie jest określony." -#: js/oc-vcategories.js:68 js/share.js:114 js/share.js:121 js/share.js:497 -#: js/share.js:509 +#: js/oc-vcategories.js:95 js/oc-vcategories.js:125 js/oc-vcategories.js:136 +#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:533 +#: js/share.js:545 msgid "Error" msgstr "Błąd" -#: js/share.js:103 +#: js/oc-vcategories.js:179 +msgid "The app name is not specified." +msgstr "Nazwa aplikacji nie jest określona." + +#: js/oc-vcategories.js:194 +msgid "The required file {file} is not installed!" +msgstr "Żądany plik {file} nie jest zainstalowany!" + +#: js/share.js:124 msgid "Error while sharing" msgstr "Błąd podczas współdzielenia" -#: js/share.js:114 +#: js/share.js:135 msgid "Error while unsharing" msgstr "Błąd podczas zatrzymywania współdzielenia" -#: js/share.js:121 +#: js/share.js:142 msgid "Error while changing permissions" msgstr "Błąd przy zmianie uprawnień" -#: js/share.js:130 -msgid "Shared with you and the group" -msgstr "Współdzielony z tobą i grupą" +#: js/share.js:151 +msgid "Shared with you and the group {group} by {owner}" +msgstr "Udostępnione Tobie i grupie {group} przez {owner}" -#: js/share.js:130 -msgid "by" -msgstr "przez" - -#: js/share.js:132 -msgid "Shared with you by" -msgstr "Współdzielone z taba przez" +#: js/share.js:153 +msgid "Shared with you by {owner}" +msgstr "Udostępnione Ci przez {owner}" -#: js/share.js:137 +#: js/share.js:158 msgid "Share with" msgstr "Współdziel z" -#: js/share.js:142 +#: js/share.js:163 msgid "Share with link" msgstr "Współdziel z link" -#: js/share.js:143 +#: js/share.js:164 msgid "Password protect" msgstr "Zabezpieczone hasłem" -#: js/share.js:147 templates/installation.php:42 templates/login.php:24 +#: js/share.js:168 templates/installation.php:42 templates/login.php:24 #: templates/verify.php:13 msgid "Password" msgstr "Hasło" -#: js/share.js:152 +#: js/share.js:173 msgid "Set expiration date" msgstr "Ustaw datę wygaśnięcia" -#: js/share.js:153 +#: js/share.js:174 msgid "Expiration date" msgstr "Data wygaśnięcia" -#: js/share.js:185 +#: js/share.js:206 msgid "Share via email:" msgstr "Współdziel poprzez maila" -#: js/share.js:187 +#: js/share.js:208 msgid "No people found" msgstr "Nie znaleziono ludzi" -#: js/share.js:214 +#: js/share.js:235 msgid "Resharing is not allowed" msgstr "Współdzielenie nie jest możliwe" -#: js/share.js:250 -msgid "Shared in" -msgstr "Współdziel w" - -#: js/share.js:250 -msgid "with" -msgstr "z" - #: js/share.js:271 +msgid "Shared in {item} with {user}" +msgstr "Współdzielone w {item} z {user}" + +#: js/share.js:292 msgid "Unshare" msgstr "Zatrzymaj współdzielenie" -#: js/share.js:283 +#: js/share.js:304 msgid "can edit" msgstr "można edytować" -#: js/share.js:285 +#: js/share.js:306 msgid "access control" msgstr "kontrola dostępu" -#: js/share.js:288 +#: js/share.js:309 msgid "create" msgstr "utwórz" -#: js/share.js:291 +#: js/share.js:312 msgid "update" msgstr "uaktualnij" -#: js/share.js:294 +#: js/share.js:315 msgid "delete" msgstr "usuń" -#: js/share.js:297 +#: js/share.js:318 msgid "share" msgstr "współdziel" -#: js/share.js:322 js/share.js:484 +#: js/share.js:349 js/share.js:520 js/share.js:522 msgid "Password protected" msgstr "Zabezpieczone hasłem" -#: js/share.js:497 +#: js/share.js:533 msgid "Error unsetting expiration date" msgstr "Błąd niszczenie daty wygaśnięcia" -#: js/share.js:509 +#: js/share.js:545 msgid "Error setting expiration date" msgstr "Błąd podczas ustawiania daty wygaśnięcia" -#: lostpassword/index.php:26 +#: lostpassword/controller.php:47 msgid "ownCloud password reset" msgstr "restart hasła" @@ -240,12 +274,12 @@ msgid "You will receive a link to reset your password via Email." msgstr "Odnośnik służący do resetowania hasła zostanie wysłany na adres e-mail." #: lostpassword/templates/lostpassword.php:5 -msgid "Requested" -msgstr "Żądane" +msgid "Reset email send." +msgstr "Wyślij zresetowany email." #: lostpassword/templates/lostpassword.php:8 -msgid "Login failed!" -msgstr "Nie udało się zalogować!" +msgid "Request failed!" +msgstr "Próba nieudana!" #: lostpassword/templates/lostpassword.php:11 templates/installation.php:38 #: templates/login.php:20 @@ -304,25 +338,25 @@ msgstr "Nie odnaleziono chmury" msgid "Edit categories" msgstr "Edytuj kategorię" -#: templates/edit_categories_dialog.php:14 +#: templates/edit_categories_dialog.php:16 msgid "Add" msgstr "Dodaj" #: templates/installation.php:23 templates/installation.php:31 msgid "Security Warning" -msgstr "" +msgstr "Ostrzeżenie o zabezpieczeniach" #: templates/installation.php:24 msgid "" "No secure random number generator is available, please enable the PHP " "OpenSSL extension." -msgstr "" +msgstr "Niedostępny bezpieczny generator liczb losowych, należy włączyć rozszerzenie OpenSSL w PHP." #: templates/installation.php:26 msgid "" "Without a secure random number generator an attacker may be able to predict " "password reset tokens and take over your account." -msgstr "" +msgstr "Bez bezpiecznego generatora liczb losowych, osoba atakująca może być w stanie przewidzieć resetujące hasło tokena i przejąć kontrolę nad swoim kontem." #: templates/installation.php:32 msgid "" @@ -331,7 +365,7 @@ msgid "" "strongly suggest that you configure your webserver in a way that the data " "directory is no longer accessible or you move the data directory outside the" " webserver document root." -msgstr "" +msgstr "Katalog danych (data) i pliki są prawdopodobnie dostępnego z Internetu. Sprawdź plik .htaccess oraz konfigurację serwera (hosta). Sugerujemy, skonfiguruj swój serwer w taki sposób, żeby dane katalogu nie były dostępne lub przenieść katalog danych spoza głównego dokumentu webserwera." #: templates/installation.php:36 msgid "Create an admin account" @@ -378,27 +412,103 @@ msgstr "Komputer bazy danych" msgid "Finish setup" msgstr "Zakończ konfigurowanie" -#: templates/layout.guest.php:38 +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Sunday" +msgstr "Niedziela" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Monday" +msgstr "Poniedziałek" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Tuesday" +msgstr "Wtorek" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Wednesday" +msgstr "Środa" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Thursday" +msgstr "Czwartek" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Friday" +msgstr "Piątek" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Saturday" +msgstr "Sobota" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "January" +msgstr "Styczeń" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "February" +msgstr "Luty" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "March" +msgstr "Marzec" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "April" +msgstr "Kwiecień" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "May" +msgstr "Maj" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "June" +msgstr "Czerwiec" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "July" +msgstr "Lipiec" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "August" +msgstr "Sierpień" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "September" +msgstr "Wrzesień" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "October" +msgstr "Październik" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "November" +msgstr "Listopad" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "December" +msgstr "Grudzień" + +#: templates/layout.guest.php:42 msgid "web services under your control" msgstr "usługi internetowe pod kontrolą" -#: templates/layout.user.php:34 +#: templates/layout.user.php:45 msgid "Log out" msgstr "Wylogowuje użytkownika" #: templates/login.php:8 msgid "Automatic logon rejected!" -msgstr "" +msgstr "Automatyczne logowanie odrzucone!" #: templates/login.php:9 msgid "" "If you did not change your password recently, your account may be " "compromised!" -msgstr "" +msgstr "Jeśli nie było zmianie niedawno hasło, Twoje konto może być zagrożone!" #: templates/login.php:10 msgid "Please change your password to secure your account again." -msgstr "" +msgstr "Proszę zmienić swoje hasło, aby zabezpieczyć swoje konto ponownie." #: templates/login.php:15 msgid "Lost your password?" @@ -426,14 +536,14 @@ msgstr "naprzód" #: templates/verify.php:5 msgid "Security Warning!" -msgstr "" +msgstr "Ostrzeżenie o zabezpieczeniach!" #: templates/verify.php:6 msgid "" "Please verify your password.
For security reasons you may be " "occasionally asked to enter your password again." -msgstr "" +msgstr "Sprawdź swoje hasło.
Ze względów bezpieczeństwa możesz zostać czasami poproszony o wprowadzenie hasła ponownie." #: templates/verify.php:16 msgid "Verify" -msgstr "" +msgstr "Zweryfikowane" diff --git a/l10n/pl/files.po b/l10n/pl/files.po index 5cae59fb451f6ea57a317e3c07173d759ca74afc..8c9563a58e4e52ac31e6a8570387f2395eafef57 100644 --- a/l10n/pl/files.po +++ b/l10n/pl/files.po @@ -9,13 +9,14 @@ # , 2011. # , 2012. # Piotr Sokół , 2012. +# , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-06 02:02+0200\n" -"PO-Revision-Date: 2012-10-05 21:03+0000\n" -"Last-Translator: Cyryl Sochacki \n" +"POT-Creation-Date: 2012-12-04 00:06+0100\n" +"PO-Revision-Date: 2012-12-03 10:15+0000\n" +"Last-Translator: Thomasso \n" "Language-Team: Polish (http://www.transifex.com/projects/p/owncloud/language/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -28,195 +29,166 @@ msgid "There is no error, the file uploaded with success" msgstr "Przesłano plik" #: ajax/upload.php:21 -msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" -msgstr "Rozmiar przesłanego pliku przekracza maksymalną wartość dyrektywy upload_max_filesize, zawartą w pliku php.ini" +msgid "" +"The uploaded file exceeds the upload_max_filesize directive in php.ini: " +msgstr "Wgrany plik przekracza wartość upload_max_filesize zdefiniowaną w php.ini: " -#: ajax/upload.php:22 +#: ajax/upload.php:23 msgid "" "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " "the HTML form" msgstr "Rozmiar przesłanego pliku przekracza maksymalną wartość dyrektywy upload_max_filesize, zawartą formularzu HTML" -#: ajax/upload.php:23 +#: ajax/upload.php:25 msgid "The uploaded file was only partially uploaded" msgstr "Plik przesłano tylko częściowo" -#: ajax/upload.php:24 +#: ajax/upload.php:26 msgid "No file was uploaded" msgstr "Nie przesłano żadnego pliku" -#: ajax/upload.php:25 +#: ajax/upload.php:27 msgid "Missing a temporary folder" msgstr "Brak katalogu tymczasowego" -#: ajax/upload.php:26 +#: ajax/upload.php:28 msgid "Failed to write to disk" msgstr "Błąd zapisu na dysk" -#: appinfo/app.php:6 +#: appinfo/app.php:10 msgid "Files" msgstr "Pliki" -#: js/fileactions.js:108 templates/index.php:62 +#: js/fileactions.js:117 templates/index.php:83 templates/index.php:84 msgid "Unshare" msgstr "Nie udostępniaj" -#: js/fileactions.js:110 templates/index.php:64 +#: js/fileactions.js:119 templates/index.php:89 templates/index.php:90 msgid "Delete" msgstr "Usuwa element" -#: js/fileactions.js:182 +#: js/fileactions.js:181 msgid "Rename" msgstr "Zmień nazwę" -#: js/filelist.js:189 js/filelist.js:191 -msgid "already exists" -msgstr "Już istnieje" +#: js/filelist.js:201 js/filelist.js:203 +msgid "{new_name} already exists" +msgstr "{new_name} już istnieje" -#: js/filelist.js:189 js/filelist.js:191 +#: js/filelist.js:201 js/filelist.js:203 msgid "replace" msgstr "zastap" -#: js/filelist.js:189 +#: js/filelist.js:201 msgid "suggest name" msgstr "zasugeruj nazwę" -#: js/filelist.js:189 js/filelist.js:191 +#: js/filelist.js:201 js/filelist.js:203 msgid "cancel" msgstr "anuluj" -#: js/filelist.js:238 js/filelist.js:240 -msgid "replaced" -msgstr "zastąpione" +#: js/filelist.js:250 +msgid "replaced {new_name}" +msgstr "zastąpiony {new_name}" -#: js/filelist.js:238 js/filelist.js:240 js/filelist.js:272 js/filelist.js:274 +#: js/filelist.js:250 js/filelist.js:252 js/filelist.js:284 js/filelist.js:286 msgid "undo" msgstr "wróć" -#: js/filelist.js:240 -msgid "with" -msgstr "z" +#: js/filelist.js:252 +msgid "replaced {new_name} with {old_name}" +msgstr "zastąpiony {new_name} z {old_name}" + +#: js/filelist.js:284 +msgid "unshared {files}" +msgstr "Udostępniane wstrzymane {files}" -#: js/filelist.js:272 -msgid "unshared" -msgstr "Nie udostępnione" +#: js/filelist.js:286 +msgid "deleted {files}" +msgstr "usunięto {files}" -#: js/filelist.js:274 -msgid "deleted" -msgstr "skasuj" +#: js/files.js:33 +msgid "" +"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not " +"allowed." +msgstr "Niepoprawna nazwa, Znaki '\\', '/', '<', '>', ':', '\"', '|', '?' oraz '*'są niedozwolone." -#: js/files.js:179 +#: js/files.js:183 msgid "generating ZIP-file, it may take some time." msgstr "Generowanie pliku ZIP, może potrwać pewien czas." -#: js/files.js:215 +#: js/files.js:218 msgid "Unable to upload your file as it is a directory or has 0 bytes" msgstr "Nie można wczytać pliku jeśli jest katalogiem lub ma 0 bajtów" -#: js/files.js:215 +#: js/files.js:218 msgid "Upload Error" msgstr "Błąd wczytywania" -#: js/files.js:243 js/files.js:348 js/files.js:378 +#: js/files.js:235 +msgid "Close" +msgstr "Zamknij" + +#: js/files.js:254 js/files.js:368 js/files.js:398 msgid "Pending" msgstr "Oczekujące" -#: js/files.js:263 +#: js/files.js:274 msgid "1 file uploading" msgstr "1 plik wczytany" -#: js/files.js:266 js/files.js:311 js/files.js:326 -msgid "files uploading" -msgstr "pliki wczytane" +#: js/files.js:277 js/files.js:331 js/files.js:346 +msgid "{count} files uploading" +msgstr "{count} przesyłanie plików" -#: js/files.js:329 js/files.js:362 +#: js/files.js:349 js/files.js:382 msgid "Upload cancelled." msgstr "Wczytywanie anulowane." -#: js/files.js:432 +#: js/files.js:451 msgid "" "File upload is in progress. Leaving the page now will cancel the upload." msgstr "Wysyłanie pliku jest w toku. Teraz opuszczając stronę wysyłanie zostanie anulowane." -#: js/files.js:502 -msgid "Invalid name, '/' is not allowed." -msgstr "Nieprawidłowa nazwa '/' jest niedozwolone." +#: js/files.js:523 +msgid "Invalid folder name. Usage of \"Shared\" is reserved by Owncloud" +msgstr "Błędna nazwa folderu. Nazwa \"Shared\" jest zarezerwowana dla Owncloud" -#: js/files.js:679 -msgid "files scanned" -msgstr "Pliki skanowane" +#: js/files.js:704 +msgid "{count} files scanned" +msgstr "{count} pliki skanowane" -#: js/files.js:687 +#: js/files.js:712 msgid "error while scanning" msgstr "Wystąpił błąd podczas skanowania" -#: js/files.js:760 templates/index.php:48 +#: js/files.js:785 templates/index.php:65 msgid "Name" msgstr "Nazwa" -#: js/files.js:761 templates/index.php:56 +#: js/files.js:786 templates/index.php:76 msgid "Size" msgstr "Rozmiar" -#: js/files.js:762 templates/index.php:58 +#: js/files.js:787 templates/index.php:78 msgid "Modified" msgstr "Czas modyfikacji" -#: js/files.js:789 -msgid "folder" -msgstr "folder" - -#: js/files.js:791 -msgid "folders" -msgstr "foldery" - -#: js/files.js:799 -msgid "file" -msgstr "plik" - -#: js/files.js:801 -msgid "files" -msgstr "pliki" - -#: js/files.js:845 -msgid "seconds ago" -msgstr "sekund temu" - -#: js/files.js:846 -msgid "minute ago" -msgstr "minutę temu" - -#: js/files.js:847 -msgid "minutes ago" -msgstr "minut temu" +#: js/files.js:814 +msgid "1 folder" +msgstr "1 folder" -#: js/files.js:850 -msgid "today" -msgstr "dziś" +#: js/files.js:816 +msgid "{count} folders" +msgstr "{count} foldery" -#: js/files.js:851 -msgid "yesterday" -msgstr "wczoraj" +#: js/files.js:824 +msgid "1 file" +msgstr "1 plik" -#: js/files.js:852 -msgid "days ago" -msgstr "dni temu" - -#: js/files.js:853 -msgid "last month" -msgstr "ostani miesiąc" - -#: js/files.js:855 -msgid "months ago" -msgstr "miesięcy temu" - -#: js/files.js:856 -msgid "last year" -msgstr "ostatni rok" - -#: js/files.js:857 -msgid "years ago" -msgstr "lat temu" +#: js/files.js:826 +msgid "{count} files" +msgstr "{count} pliki" #: templates/admin.php:5 msgid "File handling" @@ -226,27 +198,27 @@ msgstr "Zarządzanie plikami" msgid "Maximum upload size" msgstr "Maksymalny rozmiar wysyłanego pliku" -#: templates/admin.php:7 +#: templates/admin.php:9 msgid "max. possible: " msgstr "max. możliwych" -#: templates/admin.php:9 +#: templates/admin.php:12 msgid "Needed for multi-file and folder downloads." msgstr "Wymagany do pobierania wielu plików i folderów" -#: templates/admin.php:9 +#: templates/admin.php:14 msgid "Enable ZIP-download" msgstr "Włącz pobieranie ZIP-paczki" -#: templates/admin.php:11 +#: templates/admin.php:17 msgid "0 is unlimited" msgstr "0 jest nielimitowane" -#: templates/admin.php:12 +#: templates/admin.php:19 msgid "Maximum input size for ZIP files" msgstr "Maksymalna wielkość pliku wejściowego ZIP " -#: templates/admin.php:14 +#: templates/admin.php:23 msgid "Save" msgstr "Zapisz" @@ -254,52 +226,48 @@ msgstr "Zapisz" msgid "New" msgstr "Nowy" -#: templates/index.php:9 +#: templates/index.php:10 msgid "Text file" msgstr "Plik tekstowy" -#: templates/index.php:10 +#: templates/index.php:12 msgid "Folder" msgstr "Katalog" -#: templates/index.php:11 -msgid "From url" -msgstr "Z adresu" +#: templates/index.php:14 +msgid "From link" +msgstr "Z linku" -#: templates/index.php:20 +#: templates/index.php:35 msgid "Upload" msgstr "Prześlij" -#: templates/index.php:27 +#: templates/index.php:43 msgid "Cancel upload" msgstr "Przestań wysyłać" -#: templates/index.php:40 +#: templates/index.php:57 msgid "Nothing in here. Upload something!" msgstr "Brak zawartości. Proszę wysłać pliki!" -#: templates/index.php:50 -msgid "Share" -msgstr "Współdziel" - -#: templates/index.php:52 +#: templates/index.php:71 msgid "Download" msgstr "Pobiera element" -#: templates/index.php:75 +#: templates/index.php:103 msgid "Upload too large" msgstr "Wysyłany plik ma za duży rozmiar" -#: templates/index.php:77 +#: templates/index.php:105 msgid "" "The files you are trying to upload exceed the maximum size for file uploads " "on this server." msgstr "Pliki które próbujesz przesłać, przekraczają maksymalną, dopuszczalną wielkość." -#: templates/index.php:82 +#: templates/index.php:110 msgid "Files are being scanned, please wait." msgstr "Skanowanie plików, proszę czekać." -#: templates/index.php:85 +#: templates/index.php:113 msgid "Current scanning" msgstr "Aktualnie skanowane" diff --git a/l10n/pl/files_external.po b/l10n/pl/files_external.po index ae3676ade7c35349f64e6e88c84e87aa6553be82..858bef67e1715e2af70d508b40d49538d51ba5a3 100644 --- a/l10n/pl/files_external.po +++ b/l10n/pl/files_external.po @@ -9,9 +9,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-06 02:03+0200\n" -"PO-Revision-Date: 2012-10-05 20:54+0000\n" -"Last-Translator: Cyryl Sochacki \n" +"POT-Creation-Date: 2012-12-12 00:12+0100\n" +"PO-Revision-Date: 2012-12-11 23:13+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Polish (http://www.transifex.com/projects/p/owncloud/language/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -43,66 +43,80 @@ msgstr "Proszę podać prawidłowy klucz aplikacji Dropbox i klucz sekretny." msgid "Error configuring Google Drive storage" msgstr "Wystąpił błąd podczas konfigurowania zasobu Google Drive" +#: lib/config.php:434 +msgid "" +"Warning: \"smbclient\" is not installed. Mounting of CIFS/SMB shares " +"is not possible. Please ask your system administrator to install it." +msgstr "" + +#: lib/config.php:435 +msgid "" +"Warning: The FTP support in PHP is not enabled or installed. Mounting" +" of FTP shares is not possible. Please ask your system administrator to " +"install it." +msgstr "" + #: templates/settings.php:3 msgid "External Storage" msgstr "Zewnętrzna zasoby dyskowe" -#: templates/settings.php:7 templates/settings.php:19 +#: templates/settings.php:8 templates/settings.php:22 msgid "Mount point" msgstr "Punkt montowania" -#: templates/settings.php:8 +#: templates/settings.php:9 msgid "Backend" msgstr "Zaplecze" -#: templates/settings.php:9 +#: templates/settings.php:10 msgid "Configuration" msgstr "Konfiguracja" -#: templates/settings.php:10 +#: templates/settings.php:11 msgid "Options" msgstr "Opcje" -#: templates/settings.php:11 +#: templates/settings.php:12 msgid "Applicable" msgstr "Zastosowanie" -#: templates/settings.php:23 +#: templates/settings.php:27 msgid "Add mount point" msgstr "Dodaj punkt montowania" -#: templates/settings.php:54 templates/settings.php:62 +#: templates/settings.php:85 msgid "None set" msgstr "Nie ustawione" -#: templates/settings.php:63 +#: templates/settings.php:86 msgid "All Users" msgstr "Wszyscy uzytkownicy" -#: templates/settings.php:64 +#: templates/settings.php:87 msgid "Groups" msgstr "Grupy" -#: templates/settings.php:69 +#: templates/settings.php:95 msgid "Users" msgstr "Użytkownicy" -#: templates/settings.php:77 templates/settings.php:107 +#: templates/settings.php:108 templates/settings.php:109 +#: templates/settings.php:149 templates/settings.php:150 msgid "Delete" msgstr "Usuń" -#: templates/settings.php:87 +#: templates/settings.php:124 msgid "Enable User External Storage" msgstr "Włącz zewnętrzne zasoby dyskowe użytkownika" -#: templates/settings.php:88 +#: templates/settings.php:125 msgid "Allow users to mount their own external storage" msgstr "Zezwalaj użytkownikom na montowanie ich własnych zewnętrznych zasobów dyskowych" -#: templates/settings.php:99 +#: templates/settings.php:139 msgid "SSL root certificates" msgstr "Główny certyfikat SSL" -#: templates/settings.php:113 +#: templates/settings.php:158 msgid "Import Root Certificate" msgstr "Importuj główny certyfikat" diff --git a/l10n/pl/files_pdfviewer.po b/l10n/pl/files_pdfviewer.po deleted file mode 100644 index 00b45cf929595e87e45de87a08dfb62499237b5c..0000000000000000000000000000000000000000 --- a/l10n/pl/files_pdfviewer.po +++ /dev/null @@ -1,42 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 02:18+0200\n" -"PO-Revision-Date: 2012-08-26 00:19+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Polish (http://www.transifex.com/projects/p/owncloud/language/pl/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: pl\n" -"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)\n" - -#: js/viewer.js:22 -msgid "Previous" -msgstr "" - -#: js/viewer.js:23 -msgid "Next" -msgstr "" - -#: js/viewer.js:29 -msgid "Page Width" -msgstr "" - -#: js/viewer.js:29 -msgid "Page Fit" -msgstr "" - -#: js/viewer.js:30 -msgid "Print" -msgstr "" - -#: js/viewer.js:32 -msgid "Download" -msgstr "" diff --git a/l10n/pl/files_texteditor.po b/l10n/pl/files_texteditor.po deleted file mode 100644 index 039282380a63385c9c543ad1908d2e317dac0508..0000000000000000000000000000000000000000 --- a/l10n/pl/files_texteditor.po +++ /dev/null @@ -1,44 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 01:17+0200\n" -"PO-Revision-Date: 2012-08-25 23:18+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Polish (http://www.transifex.com/projects/p/owncloud/language/pl/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: pl\n" -"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)\n" - -#: js/aceeditor/mode-coldfusion-uncompressed.js:1568 -#: js/aceeditor/mode-liquid-uncompressed.js:902 -#: js/aceeditor/mode-svg-uncompressed.js:1575 -msgid "regex" -msgstr "" - -#: js/editor.js:72 js/editor.js:156 js/editor.js:163 -msgid "Save" -msgstr "" - -#: js/editor.js:74 -msgid "Close" -msgstr "" - -#: js/editor.js:149 -msgid "Saving..." -msgstr "" - -#: js/editor.js:239 -msgid "An error occurred!" -msgstr "" - -#: js/editor.js:266 -msgid "There were unsaved changes, click here to go back" -msgstr "" diff --git a/l10n/pl/gallery.po b/l10n/pl/gallery.po deleted file mode 100644 index ff5aef8d74e233158b0e90174dbfe03bc3c09757..0000000000000000000000000000000000000000 --- a/l10n/pl/gallery.po +++ /dev/null @@ -1,62 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Bartek , 2012. -# Cyryl Sochacki <>, 2012. -# Marcin Małecki , 2012. -# Piotr Sokół , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-07-31 22:53+0200\n" -"PO-Revision-Date: 2012-07-30 10:41+0000\n" -"Last-Translator: Marcin Małecki \n" -"Language-Team: Polish (http://www.transifex.com/projects/p/owncloud/language/pl/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: pl\n" -"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)\n" - -#: appinfo/app.php:39 -msgid "Pictures" -msgstr "Zdjęcia" - -#: js/pictures.js:12 -msgid "Share gallery" -msgstr "Udostępnij galerię" - -#: js/pictures.js:32 -msgid "Error: " -msgstr "Błąd: " - -#: js/pictures.js:32 -msgid "Internal error" -msgstr "Błąd wewnętrzny" - -#: templates/index.php:27 -msgid "Slideshow" -msgstr "Pokaz slajdów" - -#: templates/view_album.php:19 -msgid "Back" -msgstr "Wróć" - -#: templates/view_album.php:36 -msgid "Remove confirmation" -msgstr "Usuń potwierdzenie" - -#: templates/view_album.php:37 -msgid "Do you want to remove album" -msgstr "Czy chcesz usunąć album" - -#: templates/view_album.php:40 -msgid "Change album name" -msgstr "Zmień nazwę albumu" - -#: templates/view_album.php:43 -msgid "New album name" -msgstr "Nowa nazwa albumu" diff --git a/l10n/pl/lib.po b/l10n/pl/lib.po index 09263ad142cde1bc8148086c79b7faa94c5696c2..0cebd731831151bfba1e27fa497fb371d3fa9c77 100644 --- a/l10n/pl/lib.po +++ b/l10n/pl/lib.po @@ -4,13 +4,15 @@ # # Translators: # Cyryl Sochacki <>, 2012. +# Cyryl Sochacki , 2012. +# Marcin Małecki , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-09-04 02:01+0200\n" -"PO-Revision-Date: 2012-09-03 07:02+0000\n" -"Last-Translator: Cyryl Sochacki <>\n" +"POT-Creation-Date: 2012-11-28 00:10+0100\n" +"PO-Revision-Date: 2012-11-27 08:54+0000\n" +"Last-Translator: Cyryl Sochacki \n" "Language-Team: Polish (http://www.transifex.com/projects/p/owncloud/language/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -18,43 +20,43 @@ msgstr "" "Language: pl\n" "Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -#: app.php:288 +#: app.php:285 msgid "Help" msgstr "Pomoc" -#: app.php:295 +#: app.php:292 msgid "Personal" msgstr "Osobiste" -#: app.php:300 +#: app.php:297 msgid "Settings" msgstr "Ustawienia" -#: app.php:305 +#: app.php:302 msgid "Users" msgstr "Użytkownicy" -#: app.php:312 +#: app.php:309 msgid "Apps" msgstr "Aplikacje" -#: app.php:314 +#: app.php:311 msgid "Admin" msgstr "Administrator" -#: files.php:280 +#: files.php:361 msgid "ZIP download is turned off." msgstr "Pobieranie ZIP jest wyłączone." -#: files.php:281 +#: files.php:362 msgid "Files need to be downloaded one by one." msgstr "Pliki muszą zostać pobrane pojedynczo." -#: files.php:281 files.php:306 +#: files.php:362 files.php:387 msgid "Back to Files" msgstr "Wróć do plików" -#: files.php:305 +#: files.php:386 msgid "Selected files too large to generate zip file." msgstr "Wybrane pliki są zbyt duże, aby wygenerować plik zip." @@ -62,7 +64,7 @@ msgstr "Wybrane pliki są zbyt duże, aby wygenerować plik zip." msgid "Application is not enabled" msgstr "Aplikacja nie jest włączona" -#: json.php:39 json.php:63 json.php:75 +#: json.php:39 json.php:64 json.php:77 json.php:89 msgid "Authentication error" msgstr "Błąd uwierzytelniania" @@ -70,57 +72,84 @@ msgstr "Błąd uwierzytelniania" msgid "Token expired. Please reload page." msgstr "Token wygasł. Proszę ponownie załadować stronę." -#: template.php:87 +#: search/provider/file.php:17 search/provider/file.php:35 +msgid "Files" +msgstr "Pliki" + +#: search/provider/file.php:26 search/provider/file.php:33 +msgid "Text" +msgstr "Połączenie tekstowe" + +#: search/provider/file.php:29 +msgid "Images" +msgstr "Obrazy" + +#: template.php:103 msgid "seconds ago" msgstr "sekund temu" -#: template.php:88 +#: template.php:104 msgid "1 minute ago" msgstr "1 minutę temu" -#: template.php:89 +#: template.php:105 #, php-format msgid "%d minutes ago" msgstr "%d minut temu" -#: template.php:92 +#: template.php:106 +msgid "1 hour ago" +msgstr "1 godzine temu" + +#: template.php:107 +#, php-format +msgid "%d hours ago" +msgstr "%d godzin temu" + +#: template.php:108 msgid "today" msgstr "dzisiaj" -#: template.php:93 +#: template.php:109 msgid "yesterday" msgstr "wczoraj" -#: template.php:94 +#: template.php:110 #, php-format msgid "%d days ago" msgstr "%d dni temu" -#: template.php:95 +#: template.php:111 msgid "last month" msgstr "ostatni miesiąc" -#: template.php:96 -msgid "months ago" -msgstr "miesięcy temu" +#: template.php:112 +#, php-format +msgid "%d months ago" +msgstr "%d miesiecy temu" -#: template.php:97 +#: template.php:113 msgid "last year" msgstr "ostatni rok" -#: template.php:98 +#: template.php:114 msgid "years ago" msgstr "lat temu" -#: updater.php:66 +#: updater.php:75 #, php-format msgid "%s is available. Get more information" msgstr "%s jest dostępna. Uzyskaj więcej informacji" -#: updater.php:68 +#: updater.php:77 msgid "up to date" msgstr "Aktualne" -#: updater.php:71 +#: updater.php:80 msgid "updates check is disabled" msgstr "wybór aktualizacji jest wyłączony" + +#: vcategories.php:188 vcategories.php:249 +#, php-format +msgid "Could not find category \"%s\"" +msgstr "Nie można odnaleźć kategorii \"%s\"" diff --git a/l10n/pl/media.po b/l10n/pl/media.po deleted file mode 100644 index d8f1ee9e41035266843c7cf23354d8d940416b3d..0000000000000000000000000000000000000000 --- a/l10n/pl/media.po +++ /dev/null @@ -1,69 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Marcin Małecki , 2011. -# , 2011. -# Piotr Sokół , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-06-06 00:12+0200\n" -"PO-Revision-Date: 2012-06-05 22:15+0000\n" -"Last-Translator: icewind \n" -"Language-Team: Polish (http://www.transifex.net/projects/p/owncloud/language/pl/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: pl\n" -"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)\n" - -#: appinfo/app.php:32 templates/player.php:8 -msgid "Music" -msgstr "Muzyka" - -#: js/music.js:18 -msgid "Add album to playlist" -msgstr "" - -#: templates/music.php:3 templates/player.php:12 -msgid "Play" -msgstr "Odtwarzaj" - -#: templates/music.php:4 templates/music.php:26 templates/player.php:13 -msgid "Pause" -msgstr "Wstrzymaj" - -#: templates/music.php:5 -msgid "Previous" -msgstr "Poprzedni" - -#: templates/music.php:6 templates/player.php:14 -msgid "Next" -msgstr "Następny" - -#: templates/music.php:7 -msgid "Mute" -msgstr "Wycisz" - -#: templates/music.php:8 -msgid "Unmute" -msgstr "Wyłącz wyciszenie" - -#: templates/music.php:25 -msgid "Rescan Collection" -msgstr "Przeszukaj kolekcję" - -#: templates/music.php:37 -msgid "Artist" -msgstr "Wykonawca" - -#: templates/music.php:38 -msgid "Album" -msgstr "Album" - -#: templates/music.php:39 -msgid "Title" -msgstr "Tytuł" diff --git a/l10n/pl/settings.po b/l10n/pl/settings.po index 6210dabfa580280443db4cbfaf1ad71a95e74021..beb685551e5476fcd7943474575ecc6ebf3e2a7d 100644 --- a/l10n/pl/settings.po +++ b/l10n/pl/settings.po @@ -12,13 +12,14 @@ # , 2011. # , 2012. # Piotr Sokół , 2012. +# , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-11 02:04+0200\n" -"PO-Revision-Date: 2012-10-10 06:42+0000\n" -"Last-Translator: Cyryl Sochacki \n" +"POT-Creation-Date: 2012-12-04 00:06+0100\n" +"PO-Revision-Date: 2012-12-03 10:16+0000\n" +"Last-Translator: Thomasso \n" "Language-Team: Polish (http://www.transifex.com/projects/p/owncloud/language/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -26,70 +27,73 @@ msgstr "" "Language: pl\n" "Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -#: ajax/apps/ocs.php:23 +#: ajax/apps/ocs.php:20 msgid "Unable to load list from App Store" msgstr "Nie mogę załadować listy aplikacji" -#: ajax/creategroup.php:9 ajax/removeuser.php:18 ajax/setquota.php:18 -#: ajax/togglegroups.php:15 -msgid "Authentication error" -msgstr "Błąd uwierzytelniania" - -#: ajax/creategroup.php:19 +#: ajax/creategroup.php:10 msgid "Group already exists" msgstr "Grupa już istnieje" -#: ajax/creategroup.php:28 +#: ajax/creategroup.php:19 msgid "Unable to add group" msgstr "Nie można dodać grupy" -#: ajax/enableapp.php:14 +#: ajax/enableapp.php:12 msgid "Could not enable app. " msgstr "Nie można włączyć aplikacji." -#: ajax/lostpassword.php:14 +#: ajax/lostpassword.php:12 msgid "Email saved" msgstr "Email zapisany" -#: ajax/lostpassword.php:16 +#: ajax/lostpassword.php:14 msgid "Invalid email" msgstr "Niepoprawny email" -#: ajax/openid.php:16 +#: ajax/openid.php:13 msgid "OpenID Changed" msgstr "Zmieniono OpenID" -#: ajax/openid.php:18 ajax/setlanguage.php:20 ajax/setlanguage.php:23 +#: ajax/openid.php:15 ajax/setlanguage.php:17 ajax/setlanguage.php:20 msgid "Invalid request" msgstr "Nieprawidłowe żądanie" -#: ajax/removegroup.php:16 +#: ajax/removegroup.php:13 msgid "Unable to delete group" msgstr "Nie można usunąć grupy" -#: ajax/removeuser.php:27 +#: ajax/removeuser.php:15 ajax/setquota.php:15 ajax/togglegroups.php:18 +msgid "Authentication error" +msgstr "Błąd uwierzytelniania" + +#: ajax/removeuser.php:24 msgid "Unable to delete user" msgstr "Nie można usunąć użytkownika" -#: ajax/setlanguage.php:18 +#: ajax/setlanguage.php:15 msgid "Language changed" msgstr "Język zmieniony" -#: ajax/togglegroups.php:25 +#: ajax/togglegroups.php:12 +msgid "Admins can't remove themself from the admin group" +msgstr "Administratorzy nie mogą usunąć się sami z grupy administratorów." + +#: ajax/togglegroups.php:28 #, php-format msgid "Unable to add user to group %s" msgstr "Nie można dodać użytkownika do grupy %s" -#: ajax/togglegroups.php:31 +#: ajax/togglegroups.php:34 #, php-format msgid "Unable to remove user from group %s" msgstr "Nie można usunąć użytkownika z grupy %s" -#: js/apps.js:28 js/apps.js:65 +#: js/apps.js:28 js/apps.js:67 msgid "Disable" msgstr "Wyłącz" -#: js/apps.js:28 js/apps.js:54 +#: js/apps.js:28 js/apps.js:55 msgid "Enable" msgstr "Włącz" @@ -97,97 +101,10 @@ msgstr "Włącz" msgid "Saving..." msgstr "Zapisywanie..." -#: personal.php:47 personal.php:48 +#: personal.php:42 personal.php:43 msgid "__language_name__" msgstr "Polski" -#: templates/admin.php:14 -msgid "Security Warning" -msgstr "Ostrzeżenia bezpieczeństwa" - -#: templates/admin.php:17 -msgid "" -"Your data directory and your files are probably accessible from the " -"internet. The .htaccess file that ownCloud provides is not working. We " -"strongly suggest that you configure your webserver in a way that the data " -"directory is no longer accessible or you move the data directory outside the" -" webserver document root." -msgstr "Twój katalog danych i pliki są prawdopodobnie dostępne z Internetu. Plik .htaccess, który dostarcza ownCloud nie działa. Sugerujemy, aby skonfigurować serwer WWW w taki sposób, aby katalog danych nie był dostępny lub przenieść katalog danych poza główny katalog serwera WWW." - -#: templates/admin.php:31 -msgid "Cron" -msgstr "Cron" - -#: templates/admin.php:37 -msgid "Execute one task with each page loaded" -msgstr "Wykonanie jednego zadania z każdej strony wczytywania" - -#: templates/admin.php:43 -msgid "" -"cron.php is registered at a webcron service. Call the cron.php page in the " -"owncloud root once a minute over http." -msgstr "cron.php jest zarejestrowany w usłudze webcron. Przywołaj stronę cron.php w katalogu głównym owncloud raz na minute przez http." - -#: templates/admin.php:49 -msgid "" -"Use systems cron service. Call the cron.php file in the owncloud folder via " -"a system cronjob once a minute." -msgstr "Użyj usługi systemowej cron. Przywołaj plik cron.php z katalogu owncloud przez systemowe cronjob raz na minute." - -#: templates/admin.php:56 -msgid "Sharing" -msgstr "Udostępnianij" - -#: templates/admin.php:61 -msgid "Enable Share API" -msgstr "Włącz udostępniane API" - -#: templates/admin.php:62 -msgid "Allow apps to use the Share API" -msgstr "Zezwalaj aplikacjom na używanie API" - -#: templates/admin.php:67 -msgid "Allow links" -msgstr "Zezwalaj na łącza" - -#: templates/admin.php:68 -msgid "Allow users to share items to the public with links" -msgstr "Zezwalaj użytkownikom na puliczne współdzielenie elementów za pomocą linków" - -#: templates/admin.php:73 -msgid "Allow resharing" -msgstr "Zezwól na ponowne udostępnianie" - -#: templates/admin.php:74 -msgid "Allow users to share items shared with them again" -msgstr "Zezwalaj użytkownikom na ponowne współdzielenie elementów już z nimi współdzilonych" - -#: templates/admin.php:79 -msgid "Allow users to share with anyone" -msgstr "Zezwalaj użytkownikom na współdzielenie z kimkolwiek" - -#: templates/admin.php:81 -msgid "Allow users to only share with users in their groups" -msgstr "Zezwalaj użytkownikom współdzielić z użytkownikami ze swoich grup" - -#: templates/admin.php:88 -msgid "Log" -msgstr "Log" - -#: templates/admin.php:116 -msgid "More" -msgstr "Więcej" - -#: templates/admin.php:124 -msgid "" -"Developed by the ownCloud community, the source code is " -"licensed under the AGPL." -msgstr "Stwirzone przez społeczność ownCloud, the kod źródłowy na licencji AGPL." - #: templates/apps.php:10 msgid "Add your App" msgstr "Dodaj aplikacje" @@ -220,22 +137,22 @@ msgstr "Zarządzanie dużymi plikami" msgid "Ask a question" msgstr "Zadaj pytanie" -#: templates/help.php:23 +#: templates/help.php:22 msgid "Problems connecting to help database." msgstr "Problem z połączeniem z bazą danych." -#: templates/help.php:24 +#: templates/help.php:23 msgid "Go there manually." msgstr "Przejdź na stronę ręcznie." -#: templates/help.php:32 +#: templates/help.php:31 msgid "Answer" msgstr "Odpowiedź" #: templates/personal.php:8 #, php-format -msgid "You have used %s of the available %s" -msgstr "Używasz %s z dostępnych %s" +msgid "You have used %s of the available %s" +msgstr "Korzystasz z %s z dostępnych %s" #: templates/personal.php:12 msgid "Desktop and Mobile Syncing Clients" @@ -293,6 +210,16 @@ msgstr "Pomóż w tłumaczeniu" msgid "use this address to connect to your ownCloud in your file manager" msgstr "Proszę użyć tego adresu, aby uzyskać dostęp do usługi ownCloud w menedżerze plików." +#: templates/personal.php:61 +msgid "" +"Developed by the ownCloud community, the source code is " +"licensed under the AGPL." +msgstr "Stwirzone przez społeczność ownCloud, the kod źródłowy na licencji AGPL." + #: templates/users.php:21 templates/users.php:76 msgid "Name" msgstr "Nazwa" diff --git a/l10n/pl/tasks.po b/l10n/pl/tasks.po deleted file mode 100644 index 39026f902095149510bd1a6ba67c9df564b1e373..0000000000000000000000000000000000000000 --- a/l10n/pl/tasks.po +++ /dev/null @@ -1,107 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Cyryl Sochacki <>, 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-21 02:03+0200\n" -"PO-Revision-Date: 2012-08-20 09:20+0000\n" -"Last-Translator: Cyryl Sochacki <>\n" -"Language-Team: Polish (http://www.transifex.com/projects/p/owncloud/language/pl/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: pl\n" -"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)\n" - -#: ajax/update_property.php:51 lib/app.php:89 lib/app.php:101 -msgid "Invalid date/time" -msgstr "Zła data/czas" - -#: appinfo/app.php:11 -msgid "Tasks" -msgstr "Zadania" - -#: js/tasks.js:415 -msgid "No category" -msgstr "Brak kategorii" - -#: lib/app.php:33 -msgid "Unspecified" -msgstr "Nieokreślona" - -#: lib/app.php:34 -msgid "1=highest" -msgstr "1=najwyższy" - -#: lib/app.php:38 -msgid "5=medium" -msgstr "5=średni" - -#: lib/app.php:42 -msgid "9=lowest" -msgstr "9=mało ważny " - -#: lib/app.php:81 -msgid "Empty Summary" -msgstr "Podsumowanie puste" - -#: lib/app.php:93 -msgid "Invalid percent complete" -msgstr "Nieprawidłowy procent wykonania" - -#: lib/app.php:107 -msgid "Invalid priority" -msgstr "Nieprawidłowy priorytet" - -#: templates/tasks.php:3 -msgid "Add Task" -msgstr "Dodaj zadanie" - -#: templates/tasks.php:4 -msgid "Order Due" -msgstr "Kolejność - domyślna" - -#: templates/tasks.php:5 -msgid "Order List" -msgstr "Kolejność - wg lista" - -#: templates/tasks.php:6 -msgid "Order Complete" -msgstr "Kolejność - wg kompletności" - -#: templates/tasks.php:7 -msgid "Order Location" -msgstr "Kolejność - wg lokalizacja" - -#: templates/tasks.php:8 -msgid "Order Priority" -msgstr "Kolejność - wg priorytetu" - -#: templates/tasks.php:9 -msgid "Order Label" -msgstr "Kolejność - wg nazywy" - -#: templates/tasks.php:16 -msgid "Loading tasks..." -msgstr "Ładuję zadania" - -#: templates/tasks.php:20 -msgid "Important" -msgstr "Ważne" - -#: templates/tasks.php:23 -msgid "More" -msgstr "Więcej" - -#: templates/tasks.php:26 -msgid "Less" -msgstr "Mniej" - -#: templates/tasks.php:29 -msgid "Delete" -msgstr "Usuń" diff --git a/l10n/pl/user_migrate.po b/l10n/pl/user_migrate.po deleted file mode 100644 index 4b85ca025a20f63b5b24694dfa3cd2d879e574b8..0000000000000000000000000000000000000000 --- a/l10n/pl/user_migrate.po +++ /dev/null @@ -1,52 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Cyryl Sochacki <>, 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-21 02:03+0200\n" -"PO-Revision-Date: 2012-08-20 09:09+0000\n" -"Last-Translator: Cyryl Sochacki <>\n" -"Language-Team: Polish (http://www.transifex.com/projects/p/owncloud/language/pl/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: pl\n" -"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)\n" - -#: js/export.js:14 js/export.js:20 -msgid "Export" -msgstr "Eksport" - -#: js/export.js:19 -msgid "Something went wrong while the export file was being generated" -msgstr "Coś poszło źle, podczas generowania pliku eksportu" - -#: js/export.js:19 -msgid "An error has occurred" -msgstr "Wystąpił błąd" - -#: templates/settings.php:2 -msgid "Export your user account" -msgstr "Eksportuj konto użytkownika" - -#: templates/settings.php:3 -msgid "" -"This will create a compressed file that contains your ownCloud account." -msgstr "Spowoduje to utworzenie pliku skompresowanego, który zawiera konto ownCloud." - -#: templates/settings.php:13 -msgid "Import user account" -msgstr "Importuj konto użytkownika" - -#: templates/settings.php:15 -msgid "ownCloud User Zip" -msgstr "paczka Zip użytkownika ownCloud" - -#: templates/settings.php:17 -msgid "Import" -msgstr "Importuj" diff --git a/l10n/pl/user_openid.po b/l10n/pl/user_openid.po deleted file mode 100644 index c199a51dcb2d4591ffdb4a73bd074f19c1423e79..0000000000000000000000000000000000000000 --- a/l10n/pl/user_openid.po +++ /dev/null @@ -1,55 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Cyryl Sochacki <>, 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-21 02:03+0200\n" -"PO-Revision-Date: 2012-08-20 09:12+0000\n" -"Last-Translator: Cyryl Sochacki <>\n" -"Language-Team: Polish (http://www.transifex.com/projects/p/owncloud/language/pl/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: pl\n" -"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)\n" - -#: templates/nomode.php:12 -msgid "This is an OpenID server endpoint. For more information, see " -msgstr "To jest punkt końcowy serwera OpenID. Aby uzyskać więcej informacji zobacz" - -#: templates/nomode.php:14 -msgid "Identity: " -msgstr "Tożsamość: " - -#: templates/nomode.php:15 -msgid "Realm: " -msgstr "Obszar: " - -#: templates/nomode.php:16 -msgid "User: " -msgstr "Użytkownik: " - -#: templates/nomode.php:17 -msgid "Login" -msgstr "Login" - -#: templates/nomode.php:22 -msgid "Error: No user Selected" -msgstr "Błąd:Nie wybrano użytkownika" - -#: templates/settings.php:4 -msgid "you can authenticate to other sites with this address" -msgstr "można uwierzytelniać do innych witryn z tego adresu" - -#: templates/settings.php:5 -msgid "Authorized OpenID provider" -msgstr "Autoryzowani dostawcy OpenID" - -#: templates/settings.php:6 -msgid "Your address at Wordpress, Identi.ca, …" -msgstr "Twój adres na Wordpress, Identi.ca, …" diff --git a/l10n/pl/files_odfviewer.po b/l10n/pl/user_webdavauth.po similarity index 62% rename from l10n/pl/files_odfviewer.po rename to l10n/pl/user_webdavauth.po index 0c090a229ff8d8649c64a51c53f9c36c6fc6c31f..9b783571dfb6c208a8d7fa860fd0af3787906858 100644 --- a/l10n/pl/files_odfviewer.po +++ b/l10n/pl/user_webdavauth.po @@ -3,20 +3,21 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# Cyryl Sochacki , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 02:18+0200\n" -"PO-Revision-Date: 2012-08-26 00:19+0000\n" -"Last-Translator: FULL NAME \n" +"POT-Creation-Date: 2012-11-10 00:01+0100\n" +"PO-Revision-Date: 2012-11-09 13:30+0000\n" +"Last-Translator: Cyryl Sochacki \n" "Language-Team: Polish (http://www.transifex.com/projects/p/owncloud/language/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: pl\n" -"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -#: js/viewer.js:9 -msgid "Close" -msgstr "" +#: templates/settings.php:4 +msgid "WebDAV URL: http://" +msgstr "WebDAV URL: http://" diff --git a/l10n/pl_PL/core.po b/l10n/pl_PL/core.po index 8cf58274487f2f48e4af959b6260e33027fa600e..020d06551d08b5776b8902cb04e5bdf5e2216d74 100644 --- a/l10n/pl_PL/core.po +++ b/l10n/pl_PL/core.po @@ -7,9 +7,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-16 02:04+0200\n" -"PO-Revision-Date: 2012-10-16 00:05+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-11-16 00:02+0100\n" +"PO-Revision-Date: 2012-11-14 23:13+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Polish (Poland) (http://www.transifex.com/projects/p/owncloud/language/pl_PL/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -17,209 +17,241 @@ msgstr "" "Language: pl_PL\n" "Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -#: ajax/vcategories/add.php:23 ajax/vcategories/delete.php:23 -msgid "Application name not provided." +#: ajax/vcategories/add.php:26 ajax/vcategories/edit.php:25 +msgid "Category type not provided." msgstr "" -#: ajax/vcategories/add.php:29 +#: ajax/vcategories/add.php:30 msgid "No category to add?" msgstr "" -#: ajax/vcategories/add.php:36 +#: ajax/vcategories/add.php:37 msgid "This category already exists: " msgstr "" -#: js/js.js:238 templates/layout.user.php:49 templates/layout.user.php:50 +#: ajax/vcategories/addToFavorites.php:26 ajax/vcategories/delete.php:27 +#: ajax/vcategories/favorites.php:24 +#: ajax/vcategories/removeFromFavorites.php:26 +msgid "Object type not provided." +msgstr "" + +#: ajax/vcategories/addToFavorites.php:30 +#: ajax/vcategories/removeFromFavorites.php:30 +#, php-format +msgid "%s ID not provided." +msgstr "" + +#: ajax/vcategories/addToFavorites.php:35 +#, php-format +msgid "Error adding %s to favorites." +msgstr "" + +#: ajax/vcategories/delete.php:35 js/oc-vcategories.js:136 +msgid "No categories selected for deletion." +msgstr "" + +#: ajax/vcategories/removeFromFavorites.php:35 +#, php-format +msgid "Error removing %s from favorites." +msgstr "" + +#: js/js.js:243 templates/layout.user.php:59 templates/layout.user.php:60 msgid "Settings" +msgstr "Ustawienia" + +#: js/js.js:688 +msgid "seconds ago" msgstr "" -#: js/js.js:670 -msgid "January" +#: js/js.js:689 +msgid "1 minute ago" msgstr "" -#: js/js.js:670 -msgid "February" +#: js/js.js:690 +msgid "{minutes} minutes ago" msgstr "" -#: js/js.js:670 -msgid "March" +#: js/js.js:691 +msgid "1 hour ago" msgstr "" -#: js/js.js:670 -msgid "April" +#: js/js.js:692 +msgid "{hours} hours ago" msgstr "" -#: js/js.js:670 -msgid "May" +#: js/js.js:693 +msgid "today" msgstr "" -#: js/js.js:670 -msgid "June" +#: js/js.js:694 +msgid "yesterday" msgstr "" -#: js/js.js:671 -msgid "July" +#: js/js.js:695 +msgid "{days} days ago" msgstr "" -#: js/js.js:671 -msgid "August" +#: js/js.js:696 +msgid "last month" msgstr "" -#: js/js.js:671 -msgid "September" +#: js/js.js:697 +msgid "{months} months ago" msgstr "" -#: js/js.js:671 -msgid "October" +#: js/js.js:698 +msgid "months ago" msgstr "" -#: js/js.js:671 -msgid "November" +#: js/js.js:699 +msgid "last year" msgstr "" -#: js/js.js:671 -msgid "December" +#: js/js.js:700 +msgid "years ago" msgstr "" -#: js/oc-dialogs.js:123 +#: js/oc-dialogs.js:126 msgid "Choose" msgstr "" -#: js/oc-dialogs.js:143 js/oc-dialogs.js:163 +#: js/oc-dialogs.js:146 js/oc-dialogs.js:166 msgid "Cancel" msgstr "" -#: js/oc-dialogs.js:159 +#: js/oc-dialogs.js:162 msgid "No" msgstr "" -#: js/oc-dialogs.js:160 +#: js/oc-dialogs.js:163 msgid "Yes" msgstr "" -#: js/oc-dialogs.js:177 +#: js/oc-dialogs.js:180 msgid "Ok" msgstr "" -#: js/oc-vcategories.js:68 -msgid "No categories selected for deletion." +#: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102 +#: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162 +msgid "The object type is not specified." msgstr "" -#: js/oc-vcategories.js:68 js/share.js:114 js/share.js:121 js/share.js:497 -#: js/share.js:509 +#: js/oc-vcategories.js:95 js/oc-vcategories.js:125 js/oc-vcategories.js:136 +#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:525 +#: js/share.js:537 msgid "Error" msgstr "" -#: js/share.js:103 +#: js/oc-vcategories.js:179 +msgid "The app name is not specified." +msgstr "" + +#: js/oc-vcategories.js:194 +msgid "The required file {file} is not installed!" +msgstr "" + +#: js/share.js:124 msgid "Error while sharing" msgstr "" -#: js/share.js:114 +#: js/share.js:135 msgid "Error while unsharing" msgstr "" -#: js/share.js:121 +#: js/share.js:142 msgid "Error while changing permissions" msgstr "" -#: js/share.js:130 -msgid "Shared with you and the group" -msgstr "" - -#: js/share.js:130 -msgid "by" +#: js/share.js:151 +msgid "Shared with you and the group {group} by {owner}" msgstr "" -#: js/share.js:132 -msgid "Shared with you by" +#: js/share.js:153 +msgid "Shared with you by {owner}" msgstr "" -#: js/share.js:137 +#: js/share.js:158 msgid "Share with" msgstr "" -#: js/share.js:142 +#: js/share.js:163 msgid "Share with link" msgstr "" -#: js/share.js:143 +#: js/share.js:164 msgid "Password protect" msgstr "" -#: js/share.js:147 templates/installation.php:42 templates/login.php:24 +#: js/share.js:168 templates/installation.php:42 templates/login.php:24 #: templates/verify.php:13 msgid "Password" msgstr "" -#: js/share.js:152 +#: js/share.js:173 msgid "Set expiration date" msgstr "" -#: js/share.js:153 +#: js/share.js:174 msgid "Expiration date" msgstr "" -#: js/share.js:185 +#: js/share.js:206 msgid "Share via email:" msgstr "" -#: js/share.js:187 +#: js/share.js:208 msgid "No people found" msgstr "" -#: js/share.js:214 +#: js/share.js:235 msgid "Resharing is not allowed" msgstr "" -#: js/share.js:250 -msgid "Shared in" -msgstr "" - -#: js/share.js:250 -msgid "with" +#: js/share.js:271 +msgid "Shared in {item} with {user}" msgstr "" -#: js/share.js:271 +#: js/share.js:292 msgid "Unshare" msgstr "" -#: js/share.js:283 +#: js/share.js:304 msgid "can edit" msgstr "" -#: js/share.js:285 +#: js/share.js:306 msgid "access control" msgstr "" -#: js/share.js:288 +#: js/share.js:309 msgid "create" msgstr "" -#: js/share.js:291 +#: js/share.js:312 msgid "update" msgstr "" -#: js/share.js:294 +#: js/share.js:315 msgid "delete" msgstr "" -#: js/share.js:297 +#: js/share.js:318 msgid "share" msgstr "" -#: js/share.js:322 js/share.js:484 +#: js/share.js:343 js/share.js:512 js/share.js:514 msgid "Password protected" msgstr "" -#: js/share.js:497 +#: js/share.js:525 msgid "Error unsetting expiration date" msgstr "" -#: js/share.js:509 +#: js/share.js:537 msgid "Error setting expiration date" msgstr "" -#: lostpassword/index.php:26 +#: lostpassword/controller.php:47 msgid "ownCloud password reset" msgstr "" @@ -232,17 +264,17 @@ msgid "You will receive a link to reset your password via Email." msgstr "" #: lostpassword/templates/lostpassword.php:5 -msgid "Requested" +msgid "Reset email send." msgstr "" #: lostpassword/templates/lostpassword.php:8 -msgid "Login failed!" +msgid "Request failed!" msgstr "" #: lostpassword/templates/lostpassword.php:11 templates/installation.php:38 #: templates/login.php:20 msgid "Username" -msgstr "" +msgstr "Nazwa użytkownika" #: lostpassword/templates/lostpassword.php:14 msgid "Request reset" @@ -296,7 +328,7 @@ msgstr "" msgid "Edit categories" msgstr "" -#: templates/edit_categories_dialog.php:14 +#: templates/edit_categories_dialog.php:16 msgid "Add" msgstr "" @@ -370,11 +402,87 @@ msgstr "" msgid "Finish setup" msgstr "" -#: templates/layout.guest.php:38 +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Sunday" +msgstr "" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Monday" +msgstr "" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Tuesday" +msgstr "" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Wednesday" +msgstr "" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Thursday" +msgstr "" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Friday" +msgstr "" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Saturday" +msgstr "" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "January" +msgstr "" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "February" +msgstr "" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "March" +msgstr "" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "April" +msgstr "" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "May" +msgstr "" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "June" +msgstr "" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "July" +msgstr "" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "August" +msgstr "" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "September" +msgstr "" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "October" +msgstr "" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "November" +msgstr "" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "December" +msgstr "" + +#: templates/layout.guest.php:41 msgid "web services under your control" msgstr "" -#: templates/layout.user.php:34 +#: templates/layout.user.php:44 msgid "Log out" msgstr "" diff --git a/l10n/pl_PL/files.po b/l10n/pl_PL/files.po index cbd95ad6ef775a7024d4f06a43c5e6541a314c00..2e1909d5c9f7e01668e0cf5e41a1114c6828bbce 100644 --- a/l10n/pl_PL/files.po +++ b/l10n/pl_PL/files.po @@ -7,9 +7,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-09-26 13:19+0200\n" -"PO-Revision-Date: 2012-09-26 11:20+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-12-01 00:01+0100\n" +"PO-Revision-Date: 2012-11-30 23:02+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Polish (Poland) (http://www.transifex.com/projects/p/owncloud/language/pl_PL/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -22,194 +22,165 @@ msgid "There is no error, the file uploaded with success" msgstr "" #: ajax/upload.php:21 -msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" +msgid "" +"The uploaded file exceeds the upload_max_filesize directive in php.ini: " msgstr "" -#: ajax/upload.php:22 +#: ajax/upload.php:23 msgid "" "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " "the HTML form" msgstr "" -#: ajax/upload.php:23 +#: ajax/upload.php:25 msgid "The uploaded file was only partially uploaded" msgstr "" -#: ajax/upload.php:24 +#: ajax/upload.php:26 msgid "No file was uploaded" msgstr "" -#: ajax/upload.php:25 +#: ajax/upload.php:27 msgid "Missing a temporary folder" msgstr "" -#: ajax/upload.php:26 +#: ajax/upload.php:28 msgid "Failed to write to disk" msgstr "" -#: appinfo/app.php:6 +#: appinfo/app.php:10 msgid "Files" msgstr "" -#: js/fileactions.js:108 templates/index.php:62 +#: js/fileactions.js:117 templates/index.php:83 templates/index.php:84 msgid "Unshare" msgstr "" -#: js/fileactions.js:110 templates/index.php:64 +#: js/fileactions.js:119 templates/index.php:89 templates/index.php:90 msgid "Delete" msgstr "" -#: js/fileactions.js:182 +#: js/fileactions.js:181 msgid "Rename" msgstr "" -#: js/filelist.js:190 js/filelist.js:192 -msgid "already exists" +#: js/filelist.js:201 js/filelist.js:203 +msgid "{new_name} already exists" msgstr "" -#: js/filelist.js:190 js/filelist.js:192 +#: js/filelist.js:201 js/filelist.js:203 msgid "replace" msgstr "" -#: js/filelist.js:190 +#: js/filelist.js:201 msgid "suggest name" msgstr "" -#: js/filelist.js:190 js/filelist.js:192 +#: js/filelist.js:201 js/filelist.js:203 msgid "cancel" msgstr "" -#: js/filelist.js:239 js/filelist.js:241 -msgid "replaced" +#: js/filelist.js:250 +msgid "replaced {new_name}" msgstr "" -#: js/filelist.js:239 js/filelist.js:241 js/filelist.js:273 js/filelist.js:275 +#: js/filelist.js:250 js/filelist.js:252 js/filelist.js:284 js/filelist.js:286 msgid "undo" msgstr "" -#: js/filelist.js:241 -msgid "with" +#: js/filelist.js:252 +msgid "replaced {new_name} with {old_name}" +msgstr "" + +#: js/filelist.js:284 +msgid "unshared {files}" msgstr "" -#: js/filelist.js:273 -msgid "unshared" +#: js/filelist.js:286 +msgid "deleted {files}" msgstr "" -#: js/filelist.js:275 -msgid "deleted" +#: js/files.js:33 +msgid "" +"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not " +"allowed." msgstr "" -#: js/files.js:179 +#: js/files.js:183 msgid "generating ZIP-file, it may take some time." msgstr "" -#: js/files.js:208 +#: js/files.js:218 msgid "Unable to upload your file as it is a directory or has 0 bytes" msgstr "" -#: js/files.js:208 +#: js/files.js:218 msgid "Upload Error" msgstr "" -#: js/files.js:236 js/files.js:341 js/files.js:371 +#: js/files.js:235 +msgid "Close" +msgstr "" + +#: js/files.js:254 js/files.js:368 js/files.js:398 msgid "Pending" msgstr "" -#: js/files.js:256 +#: js/files.js:274 msgid "1 file uploading" msgstr "" -#: js/files.js:259 js/files.js:304 js/files.js:319 -msgid "files uploading" +#: js/files.js:277 js/files.js:331 js/files.js:346 +msgid "{count} files uploading" msgstr "" -#: js/files.js:322 js/files.js:355 +#: js/files.js:349 js/files.js:382 msgid "Upload cancelled." msgstr "" -#: js/files.js:424 +#: js/files.js:451 msgid "" "File upload is in progress. Leaving the page now will cancel the upload." msgstr "" -#: js/files.js:494 -msgid "Invalid name, '/' is not allowed." +#: js/files.js:523 +msgid "Invalid folder name. Usage of \"Shared\" is reserved by Owncloud" msgstr "" -#: js/files.js:667 -msgid "files scanned" +#: js/files.js:704 +msgid "{count} files scanned" msgstr "" -#: js/files.js:675 +#: js/files.js:712 msgid "error while scanning" msgstr "" -#: js/files.js:748 templates/index.php:48 +#: js/files.js:785 templates/index.php:65 msgid "Name" msgstr "" -#: js/files.js:749 templates/index.php:56 +#: js/files.js:786 templates/index.php:76 msgid "Size" msgstr "" -#: js/files.js:750 templates/index.php:58 +#: js/files.js:787 templates/index.php:78 msgid "Modified" msgstr "" -#: js/files.js:777 -msgid "folder" +#: js/files.js:814 +msgid "1 folder" msgstr "" -#: js/files.js:779 -msgid "folders" +#: js/files.js:816 +msgid "{count} folders" msgstr "" -#: js/files.js:787 -msgid "file" +#: js/files.js:824 +msgid "1 file" msgstr "" -#: js/files.js:789 -msgid "files" -msgstr "" - -#: js/files.js:833 -msgid "seconds ago" -msgstr "" - -#: js/files.js:834 -msgid "minute ago" -msgstr "" - -#: js/files.js:835 -msgid "minutes ago" -msgstr "" - -#: js/files.js:838 -msgid "today" -msgstr "" - -#: js/files.js:839 -msgid "yesterday" -msgstr "" - -#: js/files.js:840 -msgid "days ago" -msgstr "" - -#: js/files.js:841 -msgid "last month" -msgstr "" - -#: js/files.js:843 -msgid "months ago" -msgstr "" - -#: js/files.js:844 -msgid "last year" -msgstr "" - -#: js/files.js:845 -msgid "years ago" +#: js/files.js:826 +msgid "{count} files" msgstr "" #: templates/admin.php:5 @@ -220,80 +191,76 @@ msgstr "" msgid "Maximum upload size" msgstr "" -#: templates/admin.php:7 +#: templates/admin.php:9 msgid "max. possible: " msgstr "" -#: templates/admin.php:9 +#: templates/admin.php:12 msgid "Needed for multi-file and folder downloads." msgstr "" -#: templates/admin.php:9 +#: templates/admin.php:14 msgid "Enable ZIP-download" msgstr "" -#: templates/admin.php:11 +#: templates/admin.php:17 msgid "0 is unlimited" msgstr "" -#: templates/admin.php:12 +#: templates/admin.php:19 msgid "Maximum input size for ZIP files" msgstr "" -#: templates/admin.php:14 +#: templates/admin.php:23 msgid "Save" -msgstr "" +msgstr "Zapisz" #: templates/index.php:7 msgid "New" msgstr "" -#: templates/index.php:9 +#: templates/index.php:10 msgid "Text file" msgstr "" -#: templates/index.php:10 +#: templates/index.php:12 msgid "Folder" msgstr "" -#: templates/index.php:11 -msgid "From url" +#: templates/index.php:14 +msgid "From link" msgstr "" -#: templates/index.php:20 +#: templates/index.php:35 msgid "Upload" msgstr "" -#: templates/index.php:27 +#: templates/index.php:43 msgid "Cancel upload" msgstr "" -#: templates/index.php:40 +#: templates/index.php:57 msgid "Nothing in here. Upload something!" msgstr "" -#: templates/index.php:50 -msgid "Share" -msgstr "" - -#: templates/index.php:52 +#: templates/index.php:71 msgid "Download" msgstr "" -#: templates/index.php:75 +#: templates/index.php:103 msgid "Upload too large" msgstr "" -#: templates/index.php:77 +#: templates/index.php:105 msgid "" "The files you are trying to upload exceed the maximum size for file uploads " "on this server." msgstr "" -#: templates/index.php:82 +#: templates/index.php:110 msgid "Files are being scanned, please wait." msgstr "" -#: templates/index.php:85 +#: templates/index.php:113 msgid "Current scanning" msgstr "" diff --git a/l10n/pl_PL/files_external.po b/l10n/pl_PL/files_external.po index e6dff5b09a9579e890275148e9a598b64f89538e..49f56afb0b96ba0faee134cc718693beffae9322 100644 --- a/l10n/pl_PL/files_external.po +++ b/l10n/pl_PL/files_external.po @@ -7,9 +7,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-02 23:16+0200\n" -"PO-Revision-Date: 2012-10-02 21:17+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-12-12 00:12+0100\n" +"PO-Revision-Date: 2012-12-11 23:13+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Polish (Poland) (http://www.transifex.com/projects/p/owncloud/language/pl_PL/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -41,66 +41,80 @@ msgstr "" msgid "Error configuring Google Drive storage" msgstr "" +#: lib/config.php:434 +msgid "" +"Warning: \"smbclient\" is not installed. Mounting of CIFS/SMB shares " +"is not possible. Please ask your system administrator to install it." +msgstr "" + +#: lib/config.php:435 +msgid "" +"Warning: The FTP support in PHP is not enabled or installed. Mounting" +" of FTP shares is not possible. Please ask your system administrator to " +"install it." +msgstr "" + #: templates/settings.php:3 msgid "External Storage" msgstr "" -#: templates/settings.php:7 templates/settings.php:19 +#: templates/settings.php:8 templates/settings.php:22 msgid "Mount point" msgstr "" -#: templates/settings.php:8 +#: templates/settings.php:9 msgid "Backend" msgstr "" -#: templates/settings.php:9 +#: templates/settings.php:10 msgid "Configuration" msgstr "" -#: templates/settings.php:10 +#: templates/settings.php:11 msgid "Options" msgstr "" -#: templates/settings.php:11 +#: templates/settings.php:12 msgid "Applicable" msgstr "" -#: templates/settings.php:23 +#: templates/settings.php:27 msgid "Add mount point" msgstr "" -#: templates/settings.php:54 templates/settings.php:62 +#: templates/settings.php:85 msgid "None set" msgstr "" -#: templates/settings.php:63 +#: templates/settings.php:86 msgid "All Users" msgstr "" -#: templates/settings.php:64 +#: templates/settings.php:87 msgid "Groups" msgstr "" -#: templates/settings.php:69 +#: templates/settings.php:95 msgid "Users" msgstr "" -#: templates/settings.php:77 templates/settings.php:107 +#: templates/settings.php:108 templates/settings.php:109 +#: templates/settings.php:149 templates/settings.php:150 msgid "Delete" msgstr "" -#: templates/settings.php:87 +#: templates/settings.php:124 msgid "Enable User External Storage" msgstr "" -#: templates/settings.php:88 +#: templates/settings.php:125 msgid "Allow users to mount their own external storage" msgstr "" -#: templates/settings.php:99 +#: templates/settings.php:139 msgid "SSL root certificates" msgstr "" -#: templates/settings.php:113 +#: templates/settings.php:158 msgid "Import Root Certificate" msgstr "" diff --git a/l10n/pl_PL/lib.po b/l10n/pl_PL/lib.po index b39526b5c0697208a4e0096b46f705c497ded732..3ce2989bb9939ee7ef49b55e656bed260c2826ee 100644 --- a/l10n/pl_PL/lib.po +++ b/l10n/pl_PL/lib.po @@ -7,53 +7,53 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-09-01 02:01+0200\n" -"PO-Revision-Date: 2012-09-01 00:02+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-11-16 00:02+0100\n" +"PO-Revision-Date: 2012-11-14 23:13+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Polish (Poland) (http://www.transifex.com/projects/p/owncloud/language/pl_PL/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: pl_PL\n" -"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -#: app.php:288 +#: app.php:285 msgid "Help" msgstr "" -#: app.php:295 +#: app.php:292 msgid "Personal" msgstr "" -#: app.php:300 +#: app.php:297 msgid "Settings" -msgstr "" +msgstr "Ustawienia" -#: app.php:305 +#: app.php:302 msgid "Users" msgstr "" -#: app.php:312 +#: app.php:309 msgid "Apps" msgstr "" -#: app.php:314 +#: app.php:311 msgid "Admin" msgstr "" -#: files.php:280 +#: files.php:332 msgid "ZIP download is turned off." msgstr "" -#: files.php:281 +#: files.php:333 msgid "Files need to be downloaded one by one." msgstr "" -#: files.php:281 files.php:306 +#: files.php:333 files.php:358 msgid "Back to Files" msgstr "" -#: files.php:305 +#: files.php:357 msgid "Selected files too large to generate zip file." msgstr "" @@ -61,7 +61,7 @@ msgstr "" msgid "Application is not enabled" msgstr "" -#: json.php:39 json.php:63 json.php:75 +#: json.php:39 json.php:64 json.php:77 json.php:89 msgid "Authentication error" msgstr "" @@ -69,57 +69,84 @@ msgstr "" msgid "Token expired. Please reload page." msgstr "" -#: template.php:86 +#: search/provider/file.php:17 search/provider/file.php:35 +msgid "Files" +msgstr "" + +#: search/provider/file.php:26 search/provider/file.php:33 +msgid "Text" +msgstr "" + +#: search/provider/file.php:29 +msgid "Images" +msgstr "" + +#: template.php:103 msgid "seconds ago" msgstr "" -#: template.php:87 +#: template.php:104 msgid "1 minute ago" msgstr "" -#: template.php:88 +#: template.php:105 #, php-format msgid "%d minutes ago" msgstr "" -#: template.php:91 +#: template.php:106 +msgid "1 hour ago" +msgstr "" + +#: template.php:107 +#, php-format +msgid "%d hours ago" +msgstr "" + +#: template.php:108 msgid "today" msgstr "" -#: template.php:92 +#: template.php:109 msgid "yesterday" msgstr "" -#: template.php:93 +#: template.php:110 #, php-format msgid "%d days ago" msgstr "" -#: template.php:94 +#: template.php:111 msgid "last month" msgstr "" -#: template.php:95 -msgid "months ago" +#: template.php:112 +#, php-format +msgid "%d months ago" msgstr "" -#: template.php:96 +#: template.php:113 msgid "last year" msgstr "" -#: template.php:97 +#: template.php:114 msgid "years ago" msgstr "" -#: updater.php:66 +#: updater.php:75 #, php-format msgid "%s is available. Get more information" msgstr "" -#: updater.php:68 +#: updater.php:77 msgid "up to date" msgstr "" -#: updater.php:71 +#: updater.php:80 msgid "updates check is disabled" msgstr "" + +#: vcategories.php:188 vcategories.php:249 +#, php-format +msgid "Could not find category \"%s\"" +msgstr "" diff --git a/l10n/pl_PL/settings.po b/l10n/pl_PL/settings.po index 0bf63eb96a6cf39da3ec910198b6f08a8a2260a4..9b6023556089917c1d9da54b76f2db0c9747fec5 100644 --- a/l10n/pl_PL/settings.po +++ b/l10n/pl_PL/settings.po @@ -7,9 +7,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-09 02:03+0200\n" -"PO-Revision-Date: 2012-10-09 00:04+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-12-03 00:04+0100\n" +"PO-Revision-Date: 2012-12-02 03:18+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Polish (Poland) (http://www.transifex.com/projects/p/owncloud/language/pl_PL/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -17,70 +17,73 @@ msgstr "" "Language: pl_PL\n" "Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -#: ajax/apps/ocs.php:23 +#: ajax/apps/ocs.php:20 msgid "Unable to load list from App Store" msgstr "" -#: ajax/creategroup.php:9 ajax/removeuser.php:13 ajax/setquota.php:18 -#: ajax/togglegroups.php:15 -msgid "Authentication error" -msgstr "" - -#: ajax/creategroup.php:19 +#: ajax/creategroup.php:10 msgid "Group already exists" msgstr "" -#: ajax/creategroup.php:28 +#: ajax/creategroup.php:19 msgid "Unable to add group" msgstr "" -#: ajax/enableapp.php:14 +#: ajax/enableapp.php:12 msgid "Could not enable app. " msgstr "" -#: ajax/lostpassword.php:14 +#: ajax/lostpassword.php:12 msgid "Email saved" msgstr "" -#: ajax/lostpassword.php:16 +#: ajax/lostpassword.php:14 msgid "Invalid email" msgstr "" -#: ajax/openid.php:16 +#: ajax/openid.php:13 msgid "OpenID Changed" msgstr "" -#: ajax/openid.php:18 ajax/setlanguage.php:20 ajax/setlanguage.php:23 +#: ajax/openid.php:15 ajax/setlanguage.php:17 ajax/setlanguage.php:20 msgid "Invalid request" msgstr "" -#: ajax/removegroup.php:16 +#: ajax/removegroup.php:13 msgid "Unable to delete group" msgstr "" -#: ajax/removeuser.php:22 +#: ajax/removeuser.php:15 ajax/setquota.php:15 ajax/togglegroups.php:18 +msgid "Authentication error" +msgstr "" + +#: ajax/removeuser.php:24 msgid "Unable to delete user" msgstr "" -#: ajax/setlanguage.php:18 +#: ajax/setlanguage.php:15 msgid "Language changed" msgstr "" -#: ajax/togglegroups.php:25 +#: ajax/togglegroups.php:12 +msgid "Admins can't remove themself from the admin group" +msgstr "" + +#: ajax/togglegroups.php:28 #, php-format msgid "Unable to add user to group %s" msgstr "" -#: ajax/togglegroups.php:31 +#: ajax/togglegroups.php:34 #, php-format msgid "Unable to remove user from group %s" msgstr "" -#: js/apps.js:28 js/apps.js:65 +#: js/apps.js:28 js/apps.js:67 msgid "Disable" msgstr "" -#: js/apps.js:28 js/apps.js:54 +#: js/apps.js:28 js/apps.js:55 msgid "Enable" msgstr "" @@ -88,97 +91,10 @@ msgstr "" msgid "Saving..." msgstr "" -#: personal.php:47 personal.php:48 +#: personal.php:42 personal.php:43 msgid "__language_name__" msgstr "" -#: templates/admin.php:14 -msgid "Security Warning" -msgstr "" - -#: templates/admin.php:17 -msgid "" -"Your data directory and your files are probably accessible from the " -"internet. The .htaccess file that ownCloud provides is not working. We " -"strongly suggest that you configure your webserver in a way that the data " -"directory is no longer accessible or you move the data directory outside the" -" webserver document root." -msgstr "" - -#: templates/admin.php:31 -msgid "Cron" -msgstr "" - -#: templates/admin.php:37 -msgid "Execute one task with each page loaded" -msgstr "" - -#: templates/admin.php:43 -msgid "" -"cron.php is registered at a webcron service. Call the cron.php page in the " -"owncloud root once a minute over http." -msgstr "" - -#: templates/admin.php:49 -msgid "" -"Use systems cron service. Call the cron.php file in the owncloud folder via " -"a system cronjob once a minute." -msgstr "" - -#: templates/admin.php:56 -msgid "Sharing" -msgstr "" - -#: templates/admin.php:61 -msgid "Enable Share API" -msgstr "" - -#: templates/admin.php:62 -msgid "Allow apps to use the Share API" -msgstr "" - -#: templates/admin.php:67 -msgid "Allow links" -msgstr "" - -#: templates/admin.php:68 -msgid "Allow users to share items to the public with links" -msgstr "" - -#: templates/admin.php:73 -msgid "Allow resharing" -msgstr "" - -#: templates/admin.php:74 -msgid "Allow users to share items shared with them again" -msgstr "" - -#: templates/admin.php:79 -msgid "Allow users to share with anyone" -msgstr "" - -#: templates/admin.php:81 -msgid "Allow users to only share with users in their groups" -msgstr "" - -#: templates/admin.php:88 -msgid "Log" -msgstr "" - -#: templates/admin.php:116 -msgid "More" -msgstr "" - -#: templates/admin.php:124 -msgid "" -"Developed by the ownCloud community, the source code is " -"licensed under the AGPL." -msgstr "" - #: templates/apps.php:10 msgid "Add your App" msgstr "" @@ -211,21 +127,21 @@ msgstr "" msgid "Ask a question" msgstr "" -#: templates/help.php:23 +#: templates/help.php:22 msgid "Problems connecting to help database." msgstr "" -#: templates/help.php:24 +#: templates/help.php:23 msgid "Go there manually." msgstr "" -#: templates/help.php:32 +#: templates/help.php:31 msgid "Answer" msgstr "" #: templates/personal.php:8 #, php-format -msgid "You have used %s of the available %s" +msgid "You have used %s of the available %s" msgstr "" #: templates/personal.php:12 @@ -262,7 +178,7 @@ msgstr "" #: templates/personal.php:30 msgid "Email" -msgstr "" +msgstr "Email" #: templates/personal.php:31 msgid "Your email address" @@ -284,6 +200,16 @@ msgstr "" msgid "use this address to connect to your ownCloud in your file manager" msgstr "" +#: templates/personal.php:61 +msgid "" +"Developed by the ownCloud community, the source code is " +"licensed under the AGPL." +msgstr "" + #: templates/users.php:21 templates/users.php:76 msgid "Name" msgstr "" diff --git a/l10n/pl/impress.po b/l10n/pl_PL/user_webdavauth.po similarity index 62% rename from l10n/pl/impress.po rename to l10n/pl_PL/user_webdavauth.po index 1321f95ef5aa257d144ea3d3c19b0e6817ff4ed7..46365b77ad81b9aa15d068c0556adbbba290ea1f 100644 --- a/l10n/pl/impress.po +++ b/l10n/pl_PL/user_webdavauth.po @@ -7,16 +7,16 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 01:17+0200\n" -"PO-Revision-Date: 2012-08-25 23:18+0000\n" +"POT-Creation-Date: 2012-11-09 10:06+0100\n" +"PO-Revision-Date: 2012-11-09 09:06+0000\n" "Last-Translator: FULL NAME \n" -"Language-Team: Polish (http://www.transifex.com/projects/p/owncloud/language/pl/)\n" +"Language-Team: Polish (Poland) (http://www.transifex.com/projects/p/owncloud/language/pl_PL/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pl\n" -"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)\n" +"Language: pl_PL\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -#: templates/presentations.php:7 -msgid "Documentation" +#: templates/settings.php:4 +msgid "WebDAV URL: http://" msgstr "" diff --git a/l10n/pt_BR/admin_dependencies_chk.po b/l10n/pt_BR/admin_dependencies_chk.po deleted file mode 100644 index 571f626c30422a14f91f59429fe08b96c9639060..0000000000000000000000000000000000000000 --- a/l10n/pt_BR/admin_dependencies_chk.po +++ /dev/null @@ -1,73 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:33+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Portuguese (Brazil) (http://www.transifex.com/projects/p/owncloud/language/pt_BR/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" -"Plural-Forms: nplurals=2; plural=(n > 1)\n" - -#: settings.php:33 -msgid "" -"The php-json module is needed by the many applications for inter " -"communications" -msgstr "" - -#: settings.php:39 -msgid "" -"The php-curl modude is needed to fetch the page title when adding a " -"bookmarks" -msgstr "" - -#: settings.php:45 -msgid "The php-gd module is needed to create thumbnails of your images" -msgstr "" - -#: settings.php:51 -msgid "The php-ldap module is needed connect to your ldap server" -msgstr "" - -#: settings.php:57 -msgid "The php-zip module is needed download multiple files at once" -msgstr "" - -#: settings.php:63 -msgid "" -"The php-mb_multibyte module is needed to manage correctly the encoding." -msgstr "" - -#: settings.php:69 -msgid "The php-ctype module is needed validate data." -msgstr "" - -#: settings.php:75 -msgid "The php-xml module is needed to share files with webdav." -msgstr "" - -#: settings.php:81 -msgid "" -"The allow_url_fopen directive of your php.ini should be set to 1 to retrieve" -" knowledge base from OCS servers" -msgstr "" - -#: settings.php:87 -msgid "The php-pdo module is needed to store owncloud data into a database." -msgstr "" - -#: templates/settings.php:2 -msgid "Dependencies status" -msgstr "" - -#: templates/settings.php:7 -msgid "Used by :" -msgstr "" diff --git a/l10n/pt_BR/admin_migrate.po b/l10n/pt_BR/admin_migrate.po deleted file mode 100644 index 57e754066c54b498140c800e4ad0afd0c4d1a582..0000000000000000000000000000000000000000 --- a/l10n/pt_BR/admin_migrate.po +++ /dev/null @@ -1,32 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:32+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Portuguese (Brazil) (http://www.transifex.com/projects/p/owncloud/language/pt_BR/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" -"Plural-Forms: nplurals=2; plural=(n > 1)\n" - -#: templates/settings.php:3 -msgid "Export this ownCloud instance" -msgstr "" - -#: templates/settings.php:4 -msgid "" -"This will create a compressed file that contains the data of this owncloud instance.\n" -" Please choose the export type:" -msgstr "" - -#: templates/settings.php:12 -msgid "Export" -msgstr "" diff --git a/l10n/pt_BR/bookmarks.po b/l10n/pt_BR/bookmarks.po deleted file mode 100644 index e574ace5f822de765ea3cc8e1dd3a095ab200460..0000000000000000000000000000000000000000 --- a/l10n/pt_BR/bookmarks.po +++ /dev/null @@ -1,60 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-07-28 02:02+0200\n" -"PO-Revision-Date: 2012-07-27 22:17+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Portuguese (Brazil) (http://www.transifex.com/projects/p/owncloud/language/pt_BR/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" -"Plural-Forms: nplurals=2; plural=(n > 1)\n" - -#: appinfo/app.php:14 -msgid "Bookmarks" -msgstr "" - -#: bookmarksHelper.php:99 -msgid "unnamed" -msgstr "" - -#: templates/bookmarklet.php:5 -msgid "" -"Drag this to your browser bookmarks and click it, when you want to bookmark " -"a webpage quickly:" -msgstr "" - -#: templates/bookmarklet.php:7 -msgid "Read later" -msgstr "" - -#: templates/list.php:13 -msgid "Address" -msgstr "" - -#: templates/list.php:14 -msgid "Title" -msgstr "" - -#: templates/list.php:15 -msgid "Tags" -msgstr "" - -#: templates/list.php:16 -msgid "Save bookmark" -msgstr "" - -#: templates/list.php:22 -msgid "You have no bookmarks" -msgstr "" - -#: templates/settings.php:11 -msgid "Bookmarklet
" -msgstr "" diff --git a/l10n/pt_BR/calendar.po b/l10n/pt_BR/calendar.po deleted file mode 100644 index 5ffc4e305f958da025d647a5414e55654c437453..0000000000000000000000000000000000000000 --- a/l10n/pt_BR/calendar.po +++ /dev/null @@ -1,817 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Guilherme Maluf Balzana , 2012. -# Sandro Venezuela , 2012. -# Thiago Vicente , 2012. -# Van Der Fran , 2011, 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-11 02:02+0200\n" -"PO-Revision-Date: 2012-08-11 00:02+0000\n" -"Last-Translator: owncloud_robot \n" -"Language-Team: Portuguese (Brazil) (http://www.transifex.com/projects/p/owncloud/language/pt_BR/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" -"Plural-Forms: nplurals=2; plural=(n > 1)\n" - -#: ajax/cache/status.php:19 -msgid "Not all calendars are completely cached" -msgstr "" - -#: ajax/cache/status.php:21 -msgid "Everything seems to be completely cached" -msgstr "" - -#: ajax/categories/rescan.php:29 -msgid "No calendars found." -msgstr "Nenhum calendário encontrado." - -#: ajax/categories/rescan.php:37 -msgid "No events found." -msgstr "Nenhum evento encontrado." - -#: ajax/event/edit.form.php:20 -msgid "Wrong calendar" -msgstr "Calendário incorreto" - -#: ajax/import/dropimport.php:29 ajax/import/import.php:64 -msgid "" -"The file contained either no events or all events are already saved in your " -"calendar." -msgstr "" - -#: ajax/import/dropimport.php:31 ajax/import/import.php:67 -msgid "events has been saved in the new calendar" -msgstr "" - -#: ajax/import/import.php:56 -msgid "Import failed" -msgstr "" - -#: ajax/import/import.php:69 -msgid "events has been saved in your calendar" -msgstr "" - -#: ajax/settings/guesstimezone.php:25 -msgid "New Timezone:" -msgstr "Novo fuso horário" - -#: ajax/settings/settimezone.php:23 -msgid "Timezone changed" -msgstr "Fuso horário alterado" - -#: ajax/settings/settimezone.php:25 -msgid "Invalid request" -msgstr "Pedido inválido" - -#: appinfo/app.php:35 templates/calendar.php:15 -#: templates/part.eventform.php:33 templates/part.showevent.php:33 -msgid "Calendar" -msgstr "Calendário" - -#: js/calendar.js:832 -msgid "ddd" -msgstr "ddd" - -#: js/calendar.js:833 -msgid "ddd M/d" -msgstr "ddd M/d" - -#: js/calendar.js:834 -msgid "dddd M/d" -msgstr "dddd M/d" - -#: js/calendar.js:837 -msgid "MMMM yyyy" -msgstr "MMMM yyyy" - -#: js/calendar.js:839 -msgid "MMM d[ yyyy]{ '—'[ MMM] d yyyy}" -msgstr "MMM d[ yyyy]{ '—'[ MMM] d yyyy}" - -#: js/calendar.js:841 -msgid "dddd, MMM d, yyyy" -msgstr "dddd, MMM d, yyyy" - -#: lib/app.php:121 -msgid "Birthday" -msgstr "Aniversário" - -#: lib/app.php:122 -msgid "Business" -msgstr "Negócio" - -#: lib/app.php:123 -msgid "Call" -msgstr "Chamada" - -#: lib/app.php:124 -msgid "Clients" -msgstr "Clientes" - -#: lib/app.php:125 -msgid "Deliverer" -msgstr "Entrega" - -#: lib/app.php:126 -msgid "Holidays" -msgstr "Feriados" - -#: lib/app.php:127 -msgid "Ideas" -msgstr "Idéias" - -#: lib/app.php:128 -msgid "Journey" -msgstr "Jornada" - -#: lib/app.php:129 -msgid "Jubilee" -msgstr "Jubileu" - -#: lib/app.php:130 -msgid "Meeting" -msgstr "Reunião" - -#: lib/app.php:131 -msgid "Other" -msgstr "Outros" - -#: lib/app.php:132 -msgid "Personal" -msgstr "Pessoal" - -#: lib/app.php:133 -msgid "Projects" -msgstr "Projetos" - -#: lib/app.php:134 -msgid "Questions" -msgstr "Perguntas" - -#: lib/app.php:135 -msgid "Work" -msgstr "Trabalho" - -#: lib/app.php:351 lib/app.php:361 -msgid "by" -msgstr "" - -#: lib/app.php:359 lib/app.php:399 -msgid "unnamed" -msgstr "sem nome" - -#: lib/import.php:184 templates/calendar.php:12 -#: templates/part.choosecalendar.php:22 -msgid "New Calendar" -msgstr "Novo Calendário" - -#: lib/object.php:372 -msgid "Does not repeat" -msgstr "Não repetir" - -#: lib/object.php:373 -msgid "Daily" -msgstr "Diariamente" - -#: lib/object.php:374 -msgid "Weekly" -msgstr "Semanal" - -#: lib/object.php:375 -msgid "Every Weekday" -msgstr "Cada dia da semana" - -#: lib/object.php:376 -msgid "Bi-Weekly" -msgstr "De duas em duas semanas" - -#: lib/object.php:377 -msgid "Monthly" -msgstr "Mensal" - -#: lib/object.php:378 -msgid "Yearly" -msgstr "Anual" - -#: lib/object.php:388 -msgid "never" -msgstr "nunca" - -#: lib/object.php:389 -msgid "by occurrences" -msgstr "por ocorrências" - -#: lib/object.php:390 -msgid "by date" -msgstr "por data" - -#: lib/object.php:400 -msgid "by monthday" -msgstr "por dia do mês" - -#: lib/object.php:401 -msgid "by weekday" -msgstr "por dia da semana" - -#: lib/object.php:411 templates/calendar.php:5 templates/settings.php:69 -msgid "Monday" -msgstr "Segunda-feira" - -#: lib/object.php:412 templates/calendar.php:5 -msgid "Tuesday" -msgstr "Terça-feira" - -#: lib/object.php:413 templates/calendar.php:5 -msgid "Wednesday" -msgstr "Quarta-feira" - -#: lib/object.php:414 templates/calendar.php:5 -msgid "Thursday" -msgstr "Quinta-feira" - -#: lib/object.php:415 templates/calendar.php:5 -msgid "Friday" -msgstr "Sexta-feira" - -#: lib/object.php:416 templates/calendar.php:5 -msgid "Saturday" -msgstr "Sábado" - -#: lib/object.php:417 templates/calendar.php:5 templates/settings.php:70 -msgid "Sunday" -msgstr "Domingo" - -#: lib/object.php:427 -msgid "events week of month" -msgstr "semana do evento no mês" - -#: lib/object.php:428 -msgid "first" -msgstr "primeiro" - -#: lib/object.php:429 -msgid "second" -msgstr "segundo" - -#: lib/object.php:430 -msgid "third" -msgstr "terceiro" - -#: lib/object.php:431 -msgid "fourth" -msgstr "quarto" - -#: lib/object.php:432 -msgid "fifth" -msgstr "quinto" - -#: lib/object.php:433 -msgid "last" -msgstr "último" - -#: lib/object.php:467 templates/calendar.php:7 -msgid "January" -msgstr "Janeiro" - -#: lib/object.php:468 templates/calendar.php:7 -msgid "February" -msgstr "Fevereiro" - -#: lib/object.php:469 templates/calendar.php:7 -msgid "March" -msgstr "Março" - -#: lib/object.php:470 templates/calendar.php:7 -msgid "April" -msgstr "Abril" - -#: lib/object.php:471 templates/calendar.php:7 -msgid "May" -msgstr "Maio" - -#: lib/object.php:472 templates/calendar.php:7 -msgid "June" -msgstr "Junho" - -#: lib/object.php:473 templates/calendar.php:7 -msgid "July" -msgstr "Julho" - -#: lib/object.php:474 templates/calendar.php:7 -msgid "August" -msgstr "Agosto" - -#: lib/object.php:475 templates/calendar.php:7 -msgid "September" -msgstr "Setembro" - -#: lib/object.php:476 templates/calendar.php:7 -msgid "October" -msgstr "Outubro" - -#: lib/object.php:477 templates/calendar.php:7 -msgid "November" -msgstr "Novembro" - -#: lib/object.php:478 templates/calendar.php:7 -msgid "December" -msgstr "Dezembro" - -#: lib/object.php:488 -msgid "by events date" -msgstr "eventos por data" - -#: lib/object.php:489 -msgid "by yearday(s)" -msgstr "por dia(s) do ano" - -#: lib/object.php:490 -msgid "by weeknumber(s)" -msgstr "por número(s) da semana" - -#: lib/object.php:491 -msgid "by day and month" -msgstr "por dia e mês" - -#: lib/search.php:35 lib/search.php:37 lib/search.php:40 -msgid "Date" -msgstr "Data" - -#: lib/search.php:43 -msgid "Cal." -msgstr "Cal." - -#: templates/calendar.php:6 -msgid "Sun." -msgstr "" - -#: templates/calendar.php:6 -msgid "Mon." -msgstr "" - -#: templates/calendar.php:6 -msgid "Tue." -msgstr "" - -#: templates/calendar.php:6 -msgid "Wed." -msgstr "" - -#: templates/calendar.php:6 -msgid "Thu." -msgstr "" - -#: templates/calendar.php:6 -msgid "Fri." -msgstr "" - -#: templates/calendar.php:6 -msgid "Sat." -msgstr "" - -#: templates/calendar.php:8 -msgid "Jan." -msgstr "" - -#: templates/calendar.php:8 -msgid "Feb." -msgstr "" - -#: templates/calendar.php:8 -msgid "Mar." -msgstr "" - -#: templates/calendar.php:8 -msgid "Apr." -msgstr "" - -#: templates/calendar.php:8 -msgid "May." -msgstr "" - -#: templates/calendar.php:8 -msgid "Jun." -msgstr "" - -#: templates/calendar.php:8 -msgid "Jul." -msgstr "" - -#: templates/calendar.php:8 -msgid "Aug." -msgstr "" - -#: templates/calendar.php:8 -msgid "Sep." -msgstr "" - -#: templates/calendar.php:8 -msgid "Oct." -msgstr "" - -#: templates/calendar.php:8 -msgid "Nov." -msgstr "" - -#: templates/calendar.php:8 -msgid "Dec." -msgstr "" - -#: templates/calendar.php:11 -msgid "All day" -msgstr "Todo o dia" - -#: templates/calendar.php:13 -msgid "Missing fields" -msgstr "Campos incompletos" - -#: templates/calendar.php:14 templates/part.eventform.php:19 -#: templates/part.showevent.php:11 -msgid "Title" -msgstr "Título" - -#: templates/calendar.php:16 -msgid "From Date" -msgstr "Desde a Data" - -#: templates/calendar.php:17 -msgid "From Time" -msgstr "Desde a Hora" - -#: templates/calendar.php:18 -msgid "To Date" -msgstr "Até a Data" - -#: templates/calendar.php:19 -msgid "To Time" -msgstr "Até a Hora" - -#: templates/calendar.php:20 -msgid "The event ends before it starts" -msgstr "O evento termina antes de começar" - -#: templates/calendar.php:21 -msgid "There was a database fail" -msgstr "Houve uma falha de banco de dados" - -#: templates/calendar.php:39 -msgid "Week" -msgstr "Semana" - -#: templates/calendar.php:40 -msgid "Month" -msgstr "Mês" - -#: templates/calendar.php:41 -msgid "List" -msgstr "Lista" - -#: templates/calendar.php:45 -msgid "Today" -msgstr "Hoje" - -#: templates/calendar.php:46 templates/calendar.php:47 -msgid "Settings" -msgstr "" - -#: templates/part.choosecalendar.php:2 -msgid "Your calendars" -msgstr "Meus Calendários" - -#: templates/part.choosecalendar.php:27 -#: templates/part.choosecalendar.rowfields.php:11 -msgid "CalDav Link" -msgstr "Link para CalDav" - -#: templates/part.choosecalendar.php:31 -msgid "Shared calendars" -msgstr "Calendários Compartilhados" - -#: templates/part.choosecalendar.php:48 -msgid "No shared calendars" -msgstr "Nenhum Calendário Compartilhado" - -#: templates/part.choosecalendar.rowfields.php:8 -msgid "Share Calendar" -msgstr "Compartilhar Calendário" - -#: templates/part.choosecalendar.rowfields.php:14 -msgid "Download" -msgstr "Baixar" - -#: templates/part.choosecalendar.rowfields.php:17 -msgid "Edit" -msgstr "Editar" - -#: templates/part.choosecalendar.rowfields.php:20 -#: templates/part.editevent.php:9 -msgid "Delete" -msgstr "Excluir" - -#: templates/part.choosecalendar.rowfields.shared.php:4 -msgid "shared with you by" -msgstr "compartilhado com você por" - -#: templates/part.editcalendar.php:9 -msgid "New calendar" -msgstr "Novo calendário" - -#: templates/part.editcalendar.php:9 -msgid "Edit calendar" -msgstr "Editar calendário" - -#: templates/part.editcalendar.php:12 -msgid "Displayname" -msgstr "Mostrar Nome" - -#: templates/part.editcalendar.php:23 -msgid "Active" -msgstr "Ativo" - -#: templates/part.editcalendar.php:29 -msgid "Calendar color" -msgstr "Cor do Calendário" - -#: templates/part.editcalendar.php:42 -msgid "Save" -msgstr "Salvar" - -#: templates/part.editcalendar.php:42 templates/part.editevent.php:8 -#: templates/part.newevent.php:6 -msgid "Submit" -msgstr "Submeter" - -#: templates/part.editcalendar.php:43 -msgid "Cancel" -msgstr "Cancelar" - -#: templates/part.editevent.php:1 -msgid "Edit an event" -msgstr "Editar um evento" - -#: templates/part.editevent.php:10 -msgid "Export" -msgstr "Exportar" - -#: templates/part.eventform.php:8 templates/part.showevent.php:3 -msgid "Eventinfo" -msgstr "Info de Evento" - -#: templates/part.eventform.php:9 templates/part.showevent.php:4 -msgid "Repeating" -msgstr "Repetindo" - -#: templates/part.eventform.php:10 templates/part.showevent.php:5 -msgid "Alarm" -msgstr "Alarme" - -#: templates/part.eventform.php:11 templates/part.showevent.php:6 -msgid "Attendees" -msgstr "Participantes" - -#: templates/part.eventform.php:13 -msgid "Share" -msgstr "Compartilhar" - -#: templates/part.eventform.php:21 -msgid "Title of the Event" -msgstr "Título do evento" - -#: templates/part.eventform.php:27 templates/part.showevent.php:19 -msgid "Category" -msgstr "Categoria" - -#: templates/part.eventform.php:29 -msgid "Separate categories with commas" -msgstr "Separe as categorias por vírgulas" - -#: templates/part.eventform.php:30 -msgid "Edit categories" -msgstr "Editar categorias" - -#: templates/part.eventform.php:56 templates/part.showevent.php:52 -msgid "All Day Event" -msgstr "Evento de dia inteiro" - -#: templates/part.eventform.php:60 templates/part.showevent.php:56 -msgid "From" -msgstr "De" - -#: templates/part.eventform.php:68 templates/part.showevent.php:64 -msgid "To" -msgstr "Para" - -#: templates/part.eventform.php:76 templates/part.showevent.php:72 -msgid "Advanced options" -msgstr "Opções avançadas" - -#: templates/part.eventform.php:81 templates/part.showevent.php:77 -msgid "Location" -msgstr "Local" - -#: templates/part.eventform.php:83 -msgid "Location of the Event" -msgstr "Local do evento" - -#: templates/part.eventform.php:89 templates/part.showevent.php:85 -msgid "Description" -msgstr "Descrição" - -#: templates/part.eventform.php:91 -msgid "Description of the Event" -msgstr "Descrição do Evento" - -#: templates/part.eventform.php:100 templates/part.showevent.php:95 -msgid "Repeat" -msgstr "Repetir" - -#: templates/part.eventform.php:107 templates/part.showevent.php:102 -msgid "Advanced" -msgstr "Avançado" - -#: templates/part.eventform.php:151 templates/part.showevent.php:146 -msgid "Select weekdays" -msgstr "Selecionar dias da semana" - -#: templates/part.eventform.php:164 templates/part.eventform.php:177 -#: templates/part.showevent.php:159 templates/part.showevent.php:172 -msgid "Select days" -msgstr "Selecionar dias" - -#: templates/part.eventform.php:169 templates/part.showevent.php:164 -msgid "and the events day of year." -msgstr "e o dia do evento no ano." - -#: templates/part.eventform.php:182 templates/part.showevent.php:177 -msgid "and the events day of month." -msgstr "e o dia do evento no mês." - -#: templates/part.eventform.php:190 templates/part.showevent.php:185 -msgid "Select months" -msgstr "Selecionar meses" - -#: templates/part.eventform.php:203 templates/part.showevent.php:198 -msgid "Select weeks" -msgstr "Selecionar semanas" - -#: templates/part.eventform.php:208 templates/part.showevent.php:203 -msgid "and the events week of year." -msgstr "e a semana do evento no ano." - -#: templates/part.eventform.php:214 templates/part.showevent.php:209 -msgid "Interval" -msgstr "Intervalo" - -#: templates/part.eventform.php:220 templates/part.showevent.php:215 -msgid "End" -msgstr "Final" - -#: templates/part.eventform.php:233 templates/part.showevent.php:228 -msgid "occurrences" -msgstr "ocorrências" - -#: templates/part.import.php:14 -msgid "create a new calendar" -msgstr "criar um novo calendário" - -#: templates/part.import.php:17 -msgid "Import a calendar file" -msgstr "Importar um arquivo de calendário" - -#: templates/part.import.php:24 -msgid "Please choose a calendar" -msgstr "" - -#: templates/part.import.php:36 -msgid "Name of new calendar" -msgstr "Nome do novo calendário" - -#: templates/part.import.php:44 -msgid "Take an available name!" -msgstr "" - -#: templates/part.import.php:45 -msgid "" -"A Calendar with this name already exists. If you continue anyhow, these " -"calendars will be merged." -msgstr "" - -#: templates/part.import.php:47 -msgid "Import" -msgstr "Importar" - -#: templates/part.import.php:56 -msgid "Close Dialog" -msgstr "Fechar caixa de diálogo" - -#: templates/part.newevent.php:1 -msgid "Create a new event" -msgstr "Criar um novo evento" - -#: templates/part.showevent.php:1 -msgid "View an event" -msgstr "Visualizar evento" - -#: templates/part.showevent.php:23 -msgid "No categories selected" -msgstr "Nenhuma categoria selecionada" - -#: templates/part.showevent.php:37 -msgid "of" -msgstr "de" - -#: templates/part.showevent.php:59 templates/part.showevent.php:67 -msgid "at" -msgstr "para" - -#: templates/settings.php:10 -msgid "General" -msgstr "" - -#: templates/settings.php:15 -msgid "Timezone" -msgstr "Fuso horário" - -#: templates/settings.php:47 -msgid "Update timezone automatically" -msgstr "" - -#: templates/settings.php:52 -msgid "Time format" -msgstr "" - -#: templates/settings.php:57 -msgid "24h" -msgstr "24h" - -#: templates/settings.php:58 -msgid "12h" -msgstr "12h" - -#: templates/settings.php:64 -msgid "Start week on" -msgstr "" - -#: templates/settings.php:76 -msgid "Cache" -msgstr "" - -#: templates/settings.php:80 -msgid "Clear cache for repeating events" -msgstr "" - -#: templates/settings.php:85 -msgid "URLs" -msgstr "" - -#: templates/settings.php:87 -msgid "Calendar CalDAV syncing addresses" -msgstr "" - -#: templates/settings.php:87 -msgid "more info" -msgstr "" - -#: templates/settings.php:89 -msgid "Primary address (Kontact et al)" -msgstr "" - -#: templates/settings.php:91 -msgid "iOS/OS X" -msgstr "" - -#: templates/settings.php:93 -msgid "Read only iCalendar link(s)" -msgstr "" - -#: templates/share.dropdown.php:20 -msgid "Users" -msgstr "Usuários" - -#: templates/share.dropdown.php:21 -msgid "select users" -msgstr "Selecione usuários" - -#: templates/share.dropdown.php:36 templates/share.dropdown.php:62 -msgid "Editable" -msgstr "Editável" - -#: templates/share.dropdown.php:48 -msgid "Groups" -msgstr "Grupos" - -#: templates/share.dropdown.php:49 -msgid "select groups" -msgstr "Selecione grupos" - -#: templates/share.dropdown.php:75 -msgid "make public" -msgstr "Tornar público" diff --git a/l10n/pt_BR/contacts.po b/l10n/pt_BR/contacts.po deleted file mode 100644 index e4a7f97946bd2070e0b49fb7bc23cd49e6f646b3..0000000000000000000000000000000000000000 --- a/l10n/pt_BR/contacts.po +++ /dev/null @@ -1,955 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Guilherme Maluf Balzana , 2012. -# Thiago Vicente , 2012. -# Van Der Fran , 2011, 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-24 02:02+0200\n" -"PO-Revision-Date: 2012-08-24 00:02+0000\n" -"Last-Translator: I Robot \n" -"Language-Team: Portuguese (Brazil) (http://www.transifex.com/projects/p/owncloud/language/pt_BR/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" -"Plural-Forms: nplurals=2; plural=(n > 1)\n" - -#: ajax/addressbook/activate.php:24 ajax/addressbook/update.php:32 -msgid "Error (de)activating addressbook." -msgstr "Erro ao (des)ativar agenda." - -#: ajax/addressbook/delete.php:31 ajax/addressbook/update.php:20 -#: ajax/contact/addproperty.php:42 ajax/contact/delete.php:32 -#: ajax/contact/saveproperty.php:39 -msgid "id is not set." -msgstr "ID não definido." - -#: ajax/addressbook/update.php:24 -msgid "Cannot update addressbook with an empty name." -msgstr "Não é possível atualizar sua agenda com um nome em branco." - -#: ajax/addressbook/update.php:28 -msgid "Error updating addressbook." -msgstr "Erro ao atualizar agenda." - -#: ajax/categories/categoriesfor.php:17 -msgid "No ID provided" -msgstr "Nenhum ID fornecido" - -#: ajax/categories/categoriesfor.php:34 -msgid "Error setting checksum." -msgstr "Erro ajustando checksum." - -#: ajax/categories/delete.php:19 -msgid "No categories selected for deletion." -msgstr "Nenhum categoria selecionada para remoção." - -#: ajax/categories/delete.php:26 -msgid "No address books found." -msgstr "Nenhuma agenda de endereços encontrada." - -#: ajax/categories/delete.php:34 -msgid "No contacts found." -msgstr "Nenhum contato encontrado." - -#: ajax/contact/add.php:47 -msgid "There was an error adding the contact." -msgstr "Ocorreu um erro ao adicionar o contato." - -#: ajax/contact/addproperty.php:39 ajax/contact/saveproperty.php:36 -msgid "element name is not set." -msgstr "nome do elemento não definido." - -#: ajax/contact/addproperty.php:46 -msgid "Could not parse contact: " -msgstr "" - -#: ajax/contact/addproperty.php:56 -msgid "Cannot add empty property." -msgstr "Não é possível adicionar propriedade vazia." - -#: ajax/contact/addproperty.php:67 -msgid "At least one of the address fields has to be filled out." -msgstr "Pelo menos um dos campos de endereço tem que ser preenchido." - -#: ajax/contact/addproperty.php:76 -msgid "Trying to add duplicate property: " -msgstr "Tentando adiciona propriedade duplicada:" - -#: ajax/contact/addproperty.php:115 ajax/contact/saveproperty.php:93 -msgid "Missing IM parameter." -msgstr "" - -#: ajax/contact/addproperty.php:119 ajax/contact/saveproperty.php:97 -msgid "Unknown IM: " -msgstr "" - -#: ajax/contact/deleteproperty.php:37 -msgid "Information about vCard is incorrect. Please reload the page." -msgstr "Informações sobre vCard é incorreta. Por favor, recarregue a página." - -#: ajax/contact/details.php:31 -msgid "Missing ID" -msgstr "Faltando ID" - -#: ajax/contact/details.php:36 -msgid "Error parsing VCard for ID: \"" -msgstr "Erro de identificação VCard para ID:" - -#: ajax/contact/saveproperty.php:42 -msgid "checksum is not set." -msgstr "checksum não definido." - -#: ajax/contact/saveproperty.php:62 -msgid "Information about vCard is incorrect. Please reload the page: " -msgstr "Informação sobre vCard incorreto. Por favor, recarregue a página:" - -#: ajax/contact/saveproperty.php:69 -msgid "Something went FUBAR. " -msgstr "Something went FUBAR. " - -#: ajax/currentphoto.php:30 ajax/oc_photo.php:28 ajax/uploadphoto.php:36 -#: ajax/uploadphoto.php:68 -msgid "No contact ID was submitted." -msgstr "Nenhum ID do contato foi submetido." - -#: ajax/currentphoto.php:36 -msgid "Error reading contact photo." -msgstr "Erro de leitura na foto do contato." - -#: ajax/currentphoto.php:48 -msgid "Error saving temporary file." -msgstr "Erro ao salvar arquivo temporário." - -#: ajax/currentphoto.php:51 -msgid "The loading photo is not valid." -msgstr "Foto carregada não é válida." - -#: ajax/editname.php:31 -msgid "Contact ID is missing." -msgstr "ID do contato está faltando." - -#: ajax/oc_photo.php:32 -msgid "No photo path was submitted." -msgstr "Nenhum caminho para foto foi submetido." - -#: ajax/oc_photo.php:39 -msgid "File doesn't exist:" -msgstr "Arquivo não existe:" - -#: ajax/oc_photo.php:44 ajax/oc_photo.php:47 -msgid "Error loading image." -msgstr "Erro ao carregar imagem." - -#: ajax/savecrop.php:69 -msgid "Error getting contact object." -msgstr "Erro ao obter propriedade de contato." - -#: ajax/savecrop.php:79 -msgid "Error getting PHOTO property." -msgstr "Erro ao obter propriedade da FOTO." - -#: ajax/savecrop.php:98 -msgid "Error saving contact." -msgstr "Erro ao salvar contato." - -#: ajax/savecrop.php:109 -msgid "Error resizing image" -msgstr "Erro ao modificar tamanho da imagem" - -#: ajax/savecrop.php:112 -msgid "Error cropping image" -msgstr "Erro ao recortar imagem" - -#: ajax/savecrop.php:115 -msgid "Error creating temporary image" -msgstr "Erro ao criar imagem temporária" - -#: ajax/savecrop.php:118 -msgid "Error finding image: " -msgstr "Erro ao localizar imagem:" - -#: ajax/uploadimport.php:44 ajax/uploadimport.php:76 -msgid "Error uploading contacts to storage." -msgstr "Erro enviando contatos para armazenamento." - -#: ajax/uploadimport.php:61 ajax/uploadphoto.php:77 -msgid "There is no error, the file uploaded with success" -msgstr "Arquivo enviado com sucesso" - -#: ajax/uploadimport.php:62 ajax/uploadphoto.php:78 -msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" -msgstr "O arquivo enviado excede a diretiva upload_max_filesize em php.ini" - -#: ajax/uploadimport.php:63 ajax/uploadphoto.php:79 -msgid "" -"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " -"the HTML form" -msgstr "O arquivo carregado excede o argumento MAX_FILE_SIZE especificado no formulário HTML" - -#: ajax/uploadimport.php:64 ajax/uploadphoto.php:80 -msgid "The uploaded file was only partially uploaded" -msgstr "O arquivo foi parcialmente carregado" - -#: ajax/uploadimport.php:65 ajax/uploadphoto.php:81 -msgid "No file was uploaded" -msgstr "Nenhum arquivo carregado" - -#: ajax/uploadimport.php:66 ajax/uploadphoto.php:82 -msgid "Missing a temporary folder" -msgstr "Diretório temporário não encontrado" - -#: ajax/uploadphoto.php:59 ajax/uploadphoto.php:109 -msgid "Couldn't save temporary image: " -msgstr "Não foi possível salvar a imagem temporária:" - -#: ajax/uploadphoto.php:62 ajax/uploadphoto.php:112 -msgid "Couldn't load temporary image: " -msgstr "Não foi possível carregar a imagem temporária:" - -#: ajax/uploadphoto.php:71 -msgid "No file was uploaded. Unknown error" -msgstr "Nenhum arquivo foi transferido. Erro desconhecido" - -#: appinfo/app.php:21 -msgid "Contacts" -msgstr "Contatos" - -#: js/contacts.js:71 -msgid "Sorry, this functionality has not been implemented yet" -msgstr "Desculpe, esta funcionalidade não foi implementada ainda" - -#: js/contacts.js:71 -msgid "Not implemented" -msgstr "não implementado" - -#: js/contacts.js:76 -msgid "Couldn't get a valid address." -msgstr "Não foi possível obter um endereço válido." - -#: js/contacts.js:76 js/contacts.js:365 js/contacts.js:381 js/contacts.js:393 -#: js/contacts.js:723 js/contacts.js:763 js/contacts.js:789 js/contacts.js:921 -#: js/contacts.js:927 js/contacts.js:939 js/contacts.js:976 -#: js/contacts.js:1250 js/contacts.js:1258 js/contacts.js:1267 -#: js/contacts.js:1302 js/contacts.js:1338 js/contacts.js:1353 -#: js/contacts.js:1379 js/contacts.js:1609 js/contacts.js:1644 -#: js/contacts.js:1664 js/settings.js:26 js/settings.js:43 js/settings.js:68 -msgid "Error" -msgstr "Erro" - -#: js/contacts.js:424 -msgid "You do not have permission to add contacts to " -msgstr "" - -#: js/contacts.js:425 -msgid "Please select one of your own address books." -msgstr "" - -#: js/contacts.js:425 -msgid "Permission error" -msgstr "" - -#: js/contacts.js:763 -msgid "This property has to be non-empty." -msgstr "Esta propriedade não pode estar vazia." - -#: js/contacts.js:789 -msgid "Couldn't serialize elements." -msgstr "Não foi possível serializar elementos." - -#: js/contacts.js:921 js/contacts.js:939 -msgid "" -"'deleteProperty' called without type argument. Please report at " -"bugs.owncloud.org" -msgstr "\"deleteProperty\" chamado sem argumento de tipo. Por favor, informe a bugs.owncloud.org" - -#: js/contacts.js:958 -msgid "Edit name" -msgstr "Editar nome" - -#: js/contacts.js:1250 -msgid "No files selected for upload." -msgstr "Nenhum arquivo selecionado para carregar." - -#: js/contacts.js:1258 -msgid "" -"The file you are trying to upload exceed the maximum size for file uploads " -"on this server." -msgstr "O arquivo que você está tentando carregar excede o tamanho máximo para este servidor." - -#: js/contacts.js:1322 -msgid "Error loading profile picture." -msgstr "" - -#: js/contacts.js:1457 js/contacts.js:1498 js/contacts.js:1517 -#: js/contacts.js:1560 -msgid "Select type" -msgstr "Selecione o tipo" - -#: js/contacts.js:1578 -msgid "" -"Some contacts are marked for deletion, but not deleted yet. Please wait for " -"them to be deleted." -msgstr "" - -#: js/contacts.js:1649 -msgid "Do you want to merge these address books?" -msgstr "" - -#: js/loader.js:49 -msgid "Result: " -msgstr "Resultado:" - -#: js/loader.js:49 -msgid " imported, " -msgstr "importado," - -#: js/loader.js:49 -msgid " failed." -msgstr "falhou." - -#: js/settings.js:68 -msgid "Displayname cannot be empty." -msgstr "" - -#: lib/app.php:36 -msgid "Addressbook not found: " -msgstr "" - -#: lib/app.php:52 -msgid "This is not your addressbook." -msgstr "Esta não é a sua agenda de endereços." - -#: lib/app.php:71 -msgid "Contact could not be found." -msgstr "Contato não pôde ser encontrado." - -#: lib/app.php:116 -msgid "Jabber" -msgstr "" - -#: lib/app.php:121 -msgid "AIM" -msgstr "" - -#: lib/app.php:126 -msgid "MSN" -msgstr "" - -#: lib/app.php:131 -msgid "Twitter" -msgstr "" - -#: lib/app.php:136 -msgid "GoogleTalk" -msgstr "" - -#: lib/app.php:141 -msgid "Facebook" -msgstr "" - -#: lib/app.php:146 -msgid "XMPP" -msgstr "" - -#: lib/app.php:151 -msgid "ICQ" -msgstr "" - -#: lib/app.php:156 -msgid "Yahoo" -msgstr "" - -#: lib/app.php:161 -msgid "Skype" -msgstr "" - -#: lib/app.php:166 -msgid "QQ" -msgstr "" - -#: lib/app.php:171 -msgid "GaduGadu" -msgstr "" - -#: lib/app.php:194 lib/app.php:202 lib/app.php:213 lib/app.php:266 -msgid "Work" -msgstr "Trabalho" - -#: lib/app.php:195 lib/app.php:200 lib/app.php:214 -msgid "Home" -msgstr "Home" - -#: lib/app.php:196 lib/app.php:209 lib/app.php:262 lib/vcard.php:593 -msgid "Other" -msgstr "" - -#: lib/app.php:201 -msgid "Mobile" -msgstr "Móvel" - -#: lib/app.php:203 -msgid "Text" -msgstr "Texto" - -#: lib/app.php:204 -msgid "Voice" -msgstr "Voz" - -#: lib/app.php:205 -msgid "Message" -msgstr "Mensagem" - -#: lib/app.php:206 -msgid "Fax" -msgstr "Fax" - -#: lib/app.php:207 -msgid "Video" -msgstr "Vídeo" - -#: lib/app.php:208 -msgid "Pager" -msgstr "Pager" - -#: lib/app.php:215 -msgid "Internet" -msgstr "Internet" - -#: lib/app.php:252 templates/part.contact.php:45 -#: templates/part.contact.php:128 -msgid "Birthday" -msgstr "Aniversário" - -#: lib/app.php:253 -msgid "Business" -msgstr "" - -#: lib/app.php:254 -msgid "Call" -msgstr "" - -#: lib/app.php:255 -msgid "Clients" -msgstr "" - -#: lib/app.php:256 -msgid "Deliverer" -msgstr "" - -#: lib/app.php:257 -msgid "Holidays" -msgstr "" - -#: lib/app.php:258 -msgid "Ideas" -msgstr "" - -#: lib/app.php:259 -msgid "Journey" -msgstr "" - -#: lib/app.php:260 -msgid "Jubilee" -msgstr "" - -#: lib/app.php:261 -msgid "Meeting" -msgstr "" - -#: lib/app.php:263 -msgid "Personal" -msgstr "" - -#: lib/app.php:264 -msgid "Projects" -msgstr "" - -#: lib/app.php:265 -msgid "Questions" -msgstr "" - -#: lib/hooks.php:102 -msgid "{name}'s Birthday" -msgstr "Aniversário de {name}" - -#: lib/search.php:15 -msgid "Contact" -msgstr "Contato" - -#: lib/vcard.php:408 -msgid "You do not have the permissions to edit this contact." -msgstr "" - -#: lib/vcard.php:483 -msgid "You do not have the permissions to delete this contact." -msgstr "" - -#: templates/index.php:14 -msgid "Add Contact" -msgstr "Adicionar Contato" - -#: templates/index.php:15 templates/index.php:16 templates/part.import.php:17 -msgid "Import" -msgstr "Importar" - -#: templates/index.php:18 -msgid "Settings" -msgstr "" - -#: templates/index.php:18 templates/settings.php:9 -msgid "Addressbooks" -msgstr "Agendas de Endereço" - -#: templates/index.php:36 templates/part.import.php:24 -msgid "Close" -msgstr "Fechar." - -#: templates/index.php:37 -msgid "Keyboard shortcuts" -msgstr "" - -#: templates/index.php:39 -msgid "Navigation" -msgstr "" - -#: templates/index.php:42 -msgid "Next contact in list" -msgstr "" - -#: templates/index.php:44 -msgid "Previous contact in list" -msgstr "" - -#: templates/index.php:46 -msgid "Expand/collapse current addressbook" -msgstr "" - -#: templates/index.php:48 -msgid "Next addressbook" -msgstr "" - -#: templates/index.php:50 -msgid "Previous addressbook" -msgstr "" - -#: templates/index.php:54 -msgid "Actions" -msgstr "" - -#: templates/index.php:57 -msgid "Refresh contacts list" -msgstr "" - -#: templates/index.php:59 -msgid "Add new contact" -msgstr "" - -#: templates/index.php:61 -msgid "Add new addressbook" -msgstr "" - -#: templates/index.php:63 -msgid "Delete current contact" -msgstr "" - -#: templates/part.contact.php:17 -msgid "Drop photo to upload" -msgstr "Arraste a foto para ser carregada" - -#: templates/part.contact.php:19 -msgid "Delete current photo" -msgstr "Deletar imagem atual" - -#: templates/part.contact.php:20 -msgid "Edit current photo" -msgstr "Editar imagem atual" - -#: templates/part.contact.php:21 -msgid "Upload new photo" -msgstr "Carregar nova foto" - -#: templates/part.contact.php:22 -msgid "Select photo from ownCloud" -msgstr "Selecionar foto do OwnCloud" - -#: templates/part.contact.php:35 -msgid "Format custom, Short name, Full name, Reverse or Reverse with comma" -msgstr "Formato personalizado, Nome curto, Nome completo, Inverter ou Inverter com vírgula" - -#: templates/part.contact.php:36 -msgid "Edit name details" -msgstr "Editar detalhes do nome" - -#: templates/part.contact.php:39 templates/part.contact.php:40 -#: templates/part.contact.php:126 -msgid "Organization" -msgstr "Organização" - -#: templates/part.contact.php:40 templates/part.contact.php:42 -#: templates/part.contact.php:44 templates/part.contact.php:46 -#: templates/part.contact.php:50 templates/settings.php:36 -msgid "Delete" -msgstr "Excluir" - -#: templates/part.contact.php:41 templates/part.contact.php:127 -msgid "Nickname" -msgstr "Apelido" - -#: templates/part.contact.php:42 -msgid "Enter nickname" -msgstr "Digite o apelido" - -#: templates/part.contact.php:43 templates/part.contact.php:134 -msgid "Web site" -msgstr "" - -#: templates/part.contact.php:44 -msgid "http://www.somesite.com" -msgstr "" - -#: templates/part.contact.php:44 -msgid "Go to web site" -msgstr "" - -#: templates/part.contact.php:46 -msgid "dd-mm-yyyy" -msgstr "dd-mm-aaaa" - -#: templates/part.contact.php:47 templates/part.contact.php:135 -msgid "Groups" -msgstr "Grupos" - -#: templates/part.contact.php:49 -msgid "Separate groups with commas" -msgstr "Separe grupos por virgula" - -#: templates/part.contact.php:50 -msgid "Edit groups" -msgstr "Editar grupos" - -#: templates/part.contact.php:59 templates/part.contact.php:73 -#: templates/part.contact.php:98 -msgid "Preferred" -msgstr "Preferido" - -#: templates/part.contact.php:60 -msgid "Please specify a valid email address." -msgstr "Por favor, especifique um email válido." - -#: templates/part.contact.php:60 -msgid "Enter email address" -msgstr "Digite um endereço de email" - -#: templates/part.contact.php:64 -msgid "Mail to address" -msgstr "Correio para endereço" - -#: templates/part.contact.php:65 -msgid "Delete email address" -msgstr "Remover endereço de email" - -#: templates/part.contact.php:75 -msgid "Enter phone number" -msgstr "Digite um número de telefone" - -#: templates/part.contact.php:79 -msgid "Delete phone number" -msgstr "Remover número de telefone" - -#: templates/part.contact.php:100 -msgid "Instant Messenger" -msgstr "" - -#: templates/part.contact.php:101 -msgid "Delete IM" -msgstr "" - -#: templates/part.contact.php:110 -msgid "View on map" -msgstr "Visualizar no mapa" - -#: templates/part.contact.php:110 -msgid "Edit address details" -msgstr "Editar detalhes de endereço" - -#: templates/part.contact.php:116 -msgid "Add notes here." -msgstr "Adicionar notas" - -#: templates/part.contact.php:124 -msgid "Add field" -msgstr "Adicionar campo" - -#: templates/part.contact.php:129 -msgid "Phone" -msgstr "Telefone" - -#: templates/part.contact.php:130 -msgid "Email" -msgstr "E-mail" - -#: templates/part.contact.php:131 -msgid "Instant Messaging" -msgstr "" - -#: templates/part.contact.php:132 -msgid "Address" -msgstr "Endereço" - -#: templates/part.contact.php:133 -msgid "Note" -msgstr "Nota" - -#: templates/part.contact.php:138 -msgid "Download contact" -msgstr "Baixar contato" - -#: templates/part.contact.php:139 -msgid "Delete contact" -msgstr "Apagar contato" - -#: templates/part.cropphoto.php:65 -msgid "The temporary image has been removed from cache." -msgstr "A imagem temporária foi removida cache." - -#: templates/part.edit_address_dialog.php:6 -msgid "Edit address" -msgstr "Editar endereço" - -#: templates/part.edit_address_dialog.php:10 -msgid "Type" -msgstr "Digite" - -#: templates/part.edit_address_dialog.php:18 -#: templates/part.edit_address_dialog.php:21 -msgid "PO Box" -msgstr "Caixa Postal" - -#: templates/part.edit_address_dialog.php:24 -msgid "Street address" -msgstr "" - -#: templates/part.edit_address_dialog.php:27 -msgid "Street and number" -msgstr "" - -#: templates/part.edit_address_dialog.php:30 -msgid "Extended" -msgstr "Estendido" - -#: templates/part.edit_address_dialog.php:33 -msgid "Apartment number etc." -msgstr "" - -#: templates/part.edit_address_dialog.php:36 -#: templates/part.edit_address_dialog.php:39 -msgid "City" -msgstr "Cidade" - -#: templates/part.edit_address_dialog.php:42 -msgid "Region" -msgstr "Região" - -#: templates/part.edit_address_dialog.php:45 -msgid "E.g. state or province" -msgstr "" - -#: templates/part.edit_address_dialog.php:48 -msgid "Zipcode" -msgstr "CEP" - -#: templates/part.edit_address_dialog.php:51 -msgid "Postal code" -msgstr "" - -#: templates/part.edit_address_dialog.php:54 -#: templates/part.edit_address_dialog.php:57 -msgid "Country" -msgstr "País" - -#: templates/part.edit_name_dialog.php:16 -msgid "Addressbook" -msgstr "Agenda de Endereço" - -#: templates/part.edit_name_dialog.php:23 -msgid "Hon. prefixes" -msgstr "Exmo. Prefixos " - -#: templates/part.edit_name_dialog.php:27 -msgid "Miss" -msgstr "Senhorita" - -#: templates/part.edit_name_dialog.php:28 -msgid "Ms" -msgstr "Srta." - -#: templates/part.edit_name_dialog.php:29 -msgid "Mr" -msgstr "Sr." - -#: templates/part.edit_name_dialog.php:30 -msgid "Sir" -msgstr "Senhor" - -#: templates/part.edit_name_dialog.php:31 -msgid "Mrs" -msgstr "Sra." - -#: templates/part.edit_name_dialog.php:32 -msgid "Dr" -msgstr "Dr" - -#: templates/part.edit_name_dialog.php:35 -msgid "Given name" -msgstr "Primeiro Nome" - -#: templates/part.edit_name_dialog.php:37 -msgid "Additional names" -msgstr "Segundo Nome" - -#: templates/part.edit_name_dialog.php:39 -msgid "Family name" -msgstr "Sobrenome" - -#: templates/part.edit_name_dialog.php:41 -msgid "Hon. suffixes" -msgstr "Exmo. Sufixos" - -#: templates/part.edit_name_dialog.php:45 -msgid "J.D." -msgstr "J.D." - -#: templates/part.edit_name_dialog.php:46 -msgid "M.D." -msgstr "M.D." - -#: templates/part.edit_name_dialog.php:47 -msgid "D.O." -msgstr "D.O." - -#: templates/part.edit_name_dialog.php:48 -msgid "D.C." -msgstr "D.C." - -#: templates/part.edit_name_dialog.php:49 -msgid "Ph.D." -msgstr "Ph.D." - -#: templates/part.edit_name_dialog.php:50 -msgid "Esq." -msgstr "Esq." - -#: templates/part.edit_name_dialog.php:51 -msgid "Jr." -msgstr "Jr." - -#: templates/part.edit_name_dialog.php:52 -msgid "Sn." -msgstr "Sn." - -#: templates/part.import.php:1 -msgid "Import a contacts file" -msgstr "Importar arquivos de contato." - -#: templates/part.import.php:6 -msgid "Please choose the addressbook" -msgstr "Por favor, selecione uma agenda de endereços" - -#: templates/part.import.php:10 -msgid "create a new addressbook" -msgstr "Criar nova agenda de endereços" - -#: templates/part.import.php:15 -msgid "Name of new addressbook" -msgstr "Nome da nova agenda de endereços" - -#: templates/part.import.php:20 -msgid "Importing contacts" -msgstr "Importar contatos" - -#: templates/part.no_contacts.php:3 -msgid "You have no contacts in your addressbook." -msgstr "Voce não tem contatos em sua agenda de endereços." - -#: templates/part.no_contacts.php:5 -msgid "Add contact" -msgstr "Adicionar contatos" - -#: templates/part.selectaddressbook.php:1 -msgid "Select Address Books" -msgstr "" - -#: templates/part.selectaddressbook.php:27 -msgid "Enter name" -msgstr "" - -#: templates/part.selectaddressbook.php:29 -msgid "Enter description" -msgstr "" - -#: templates/settings.php:3 -msgid "CardDAV syncing addresses" -msgstr "Sincronizando endereços CardDAV" - -#: templates/settings.php:3 -msgid "more info" -msgstr "leia mais" - -#: templates/settings.php:5 -msgid "Primary address (Kontact et al)" -msgstr "Endereço primário(Kontact et al)" - -#: templates/settings.php:7 -msgid "iOS/OS X" -msgstr "iOS/OS X" - -#: templates/settings.php:20 -msgid "Show CardDav link" -msgstr "" - -#: templates/settings.php:23 -msgid "Show read-only VCF link" -msgstr "" - -#: templates/settings.php:26 -msgid "Share" -msgstr "" - -#: templates/settings.php:29 -msgid "Download" -msgstr "Baixar" - -#: templates/settings.php:33 -msgid "Edit" -msgstr "Editar" - -#: templates/settings.php:43 -msgid "New Address Book" -msgstr "Nova agenda" - -#: templates/settings.php:44 -msgid "Name" -msgstr "" - -#: templates/settings.php:45 -msgid "Description" -msgstr "" - -#: templates/settings.php:46 -msgid "Save" -msgstr "Salvar" - -#: templates/settings.php:47 -msgid "Cancel" -msgstr "Cancelar" - -#: templates/settings.php:52 -msgid "More..." -msgstr "" diff --git a/l10n/pt_BR/core.po b/l10n/pt_BR/core.po index 990a977673d31a924d63e864a3360d19e8277e53..58cb66c3215351d5e82fd40a11fc9359de752919 100644 --- a/l10n/pt_BR/core.po +++ b/l10n/pt_BR/core.po @@ -3,7 +3,10 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# , 2012. # , 2011. +# , 2012. +# , 2012. # Guilherme Maluf Balzana , 2012. # , 2012. # , 2012. @@ -14,9 +17,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-16 02:04+0200\n" -"PO-Revision-Date: 2012-10-16 00:05+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-12-03 00:04+0100\n" +"PO-Revision-Date: 2012-12-01 23:28+0000\n" +"Last-Translator: FredMaranhao \n" "Language-Team: Portuguese (Brazil) (http://www.transifex.com/projects/p/owncloud/language/pt_BR/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -24,209 +27,241 @@ msgstr "" "Language: pt_BR\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: ajax/vcategories/add.php:23 ajax/vcategories/delete.php:23 -msgid "Application name not provided." -msgstr "Nome da aplicação não foi fornecido." +#: ajax/vcategories/add.php:26 ajax/vcategories/edit.php:25 +msgid "Category type not provided." +msgstr "Tipo de categoria não fornecido." -#: ajax/vcategories/add.php:29 +#: ajax/vcategories/add.php:30 msgid "No category to add?" msgstr "Nenhuma categoria adicionada?" -#: ajax/vcategories/add.php:36 +#: ajax/vcategories/add.php:37 msgid "This category already exists: " msgstr "Essa categoria já existe" -#: js/js.js:238 templates/layout.user.php:49 templates/layout.user.php:50 +#: ajax/vcategories/addToFavorites.php:26 ajax/vcategories/delete.php:27 +#: ajax/vcategories/favorites.php:24 +#: ajax/vcategories/removeFromFavorites.php:26 +msgid "Object type not provided." +msgstr "tipo de objeto não fornecido." + +#: ajax/vcategories/addToFavorites.php:30 +#: ajax/vcategories/removeFromFavorites.php:30 +#, php-format +msgid "%s ID not provided." +msgstr "%s ID não fornecido(s)." + +#: ajax/vcategories/addToFavorites.php:35 +#, php-format +msgid "Error adding %s to favorites." +msgstr "Erro ao adicionar %s aos favoritos." + +#: ajax/vcategories/delete.php:35 js/oc-vcategories.js:136 +msgid "No categories selected for deletion." +msgstr "Nenhuma categoria selecionada para deletar." + +#: ajax/vcategories/removeFromFavorites.php:35 +#, php-format +msgid "Error removing %s from favorites." +msgstr "Erro ao remover %s dos favoritos." + +#: js/js.js:259 templates/layout.user.php:60 templates/layout.user.php:61 msgid "Settings" msgstr "Configurações" -#: js/js.js:670 -msgid "January" -msgstr "Janeiro" +#: js/js.js:704 +msgid "seconds ago" +msgstr "segundos atrás" -#: js/js.js:670 -msgid "February" -msgstr "Fevereiro" +#: js/js.js:705 +msgid "1 minute ago" +msgstr "1 minuto atrás" -#: js/js.js:670 -msgid "March" -msgstr "Março" +#: js/js.js:706 +msgid "{minutes} minutes ago" +msgstr "{minutes} minutos atrás" -#: js/js.js:670 -msgid "April" -msgstr "Abril" +#: js/js.js:707 +msgid "1 hour ago" +msgstr "1 hora atrás" -#: js/js.js:670 -msgid "May" -msgstr "Maio" +#: js/js.js:708 +msgid "{hours} hours ago" +msgstr "{hours} horas atrás" -#: js/js.js:670 -msgid "June" -msgstr "Junho" +#: js/js.js:709 +msgid "today" +msgstr "hoje" -#: js/js.js:671 -msgid "July" -msgstr "Julho" +#: js/js.js:710 +msgid "yesterday" +msgstr "ontem" -#: js/js.js:671 -msgid "August" -msgstr "Agosto" +#: js/js.js:711 +msgid "{days} days ago" +msgstr "{days} dias atrás" -#: js/js.js:671 -msgid "September" -msgstr "Setembro" +#: js/js.js:712 +msgid "last month" +msgstr "último mês" -#: js/js.js:671 -msgid "October" -msgstr "Outubro" +#: js/js.js:713 +msgid "{months} months ago" +msgstr "{months} meses atrás" -#: js/js.js:671 -msgid "November" -msgstr "Novembro" +#: js/js.js:714 +msgid "months ago" +msgstr "meses atrás" -#: js/js.js:671 -msgid "December" -msgstr "Dezembro" +#: js/js.js:715 +msgid "last year" +msgstr "último ano" + +#: js/js.js:716 +msgid "years ago" +msgstr "anos atrás" -#: js/oc-dialogs.js:123 +#: js/oc-dialogs.js:126 msgid "Choose" msgstr "Escolha" -#: js/oc-dialogs.js:143 js/oc-dialogs.js:163 +#: js/oc-dialogs.js:146 js/oc-dialogs.js:166 msgid "Cancel" msgstr "Cancelar" -#: js/oc-dialogs.js:159 +#: js/oc-dialogs.js:162 msgid "No" msgstr "Não" -#: js/oc-dialogs.js:160 +#: js/oc-dialogs.js:163 msgid "Yes" msgstr "Sim" -#: js/oc-dialogs.js:177 +#: js/oc-dialogs.js:180 msgid "Ok" msgstr "Ok" -#: js/oc-vcategories.js:68 -msgid "No categories selected for deletion." -msgstr "Nenhuma categoria selecionada para deletar." +#: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102 +#: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162 +msgid "The object type is not specified." +msgstr "O tipo de objeto não foi especificado." -#: js/oc-vcategories.js:68 js/share.js:114 js/share.js:121 js/share.js:497 -#: js/share.js:509 +#: js/oc-vcategories.js:95 js/oc-vcategories.js:125 js/oc-vcategories.js:136 +#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:533 +#: js/share.js:545 msgid "Error" msgstr "Erro" -#: js/share.js:103 +#: js/oc-vcategories.js:179 +msgid "The app name is not specified." +msgstr "O nome do app não foi especificado." + +#: js/oc-vcategories.js:194 +msgid "The required file {file} is not installed!" +msgstr "O arquivo {file} necessário não está instalado!" + +#: js/share.js:124 msgid "Error while sharing" msgstr "Erro ao compartilhar" -#: js/share.js:114 +#: js/share.js:135 msgid "Error while unsharing" msgstr "Erro ao descompartilhar" -#: js/share.js:121 +#: js/share.js:142 msgid "Error while changing permissions" msgstr "Erro ao mudar permissões" -#: js/share.js:130 -msgid "Shared with you and the group" -msgstr "Compartilhado com você e o grupo" - -#: js/share.js:130 -msgid "by" -msgstr "por" +#: js/share.js:151 +msgid "Shared with you and the group {group} by {owner}" +msgstr "Compartilhado com você e com o grupo {group} por {owner}" -#: js/share.js:132 -msgid "Shared with you by" -msgstr "Compartilhado com você por" +#: js/share.js:153 +msgid "Shared with you by {owner}" +msgstr "Compartilhado com você por {owner}" -#: js/share.js:137 +#: js/share.js:158 msgid "Share with" msgstr "Compartilhar com" -#: js/share.js:142 +#: js/share.js:163 msgid "Share with link" msgstr "Compartilhar com link" -#: js/share.js:143 +#: js/share.js:164 msgid "Password protect" msgstr "Proteger com senha" -#: js/share.js:147 templates/installation.php:42 templates/login.php:24 +#: js/share.js:168 templates/installation.php:42 templates/login.php:24 #: templates/verify.php:13 msgid "Password" msgstr "Senha" -#: js/share.js:152 +#: js/share.js:173 msgid "Set expiration date" msgstr "Definir data de expiração" -#: js/share.js:153 +#: js/share.js:174 msgid "Expiration date" msgstr "Data de expiração" -#: js/share.js:185 +#: js/share.js:206 msgid "Share via email:" msgstr "Compartilhar via e-mail:" -#: js/share.js:187 +#: js/share.js:208 msgid "No people found" msgstr "Nenhuma pessoa encontrada" -#: js/share.js:214 +#: js/share.js:235 msgid "Resharing is not allowed" msgstr "Não é permitido re-compartilhar" -#: js/share.js:250 -msgid "Shared in" -msgstr "Compartilhado em" - -#: js/share.js:250 -msgid "with" -msgstr "com" - #: js/share.js:271 +msgid "Shared in {item} with {user}" +msgstr "Compartilhado em {item} com {user}" + +#: js/share.js:292 msgid "Unshare" msgstr "Descompartilhar" -#: js/share.js:283 +#: js/share.js:304 msgid "can edit" msgstr "pode editar" -#: js/share.js:285 +#: js/share.js:306 msgid "access control" msgstr "controle de acesso" -#: js/share.js:288 +#: js/share.js:309 msgid "create" msgstr "criar" -#: js/share.js:291 +#: js/share.js:312 msgid "update" msgstr "atualizar" -#: js/share.js:294 +#: js/share.js:315 msgid "delete" msgstr "remover" -#: js/share.js:297 +#: js/share.js:318 msgid "share" msgstr "compartilhar" -#: js/share.js:322 js/share.js:484 +#: js/share.js:349 js/share.js:520 js/share.js:522 msgid "Password protected" msgstr "Protegido com senha" -#: js/share.js:497 +#: js/share.js:533 msgid "Error unsetting expiration date" msgstr "Erro ao remover data de expiração" -#: js/share.js:509 +#: js/share.js:545 msgid "Error setting expiration date" msgstr "Erro ao definir data de expiração" -#: lostpassword/index.php:26 +#: lostpassword/controller.php:47 msgid "ownCloud password reset" msgstr "Redefinir senha ownCloud" @@ -239,12 +274,12 @@ msgid "You will receive a link to reset your password via Email." msgstr "Você receberá um link para redefinir sua senha via e-mail." #: lostpassword/templates/lostpassword.php:5 -msgid "Requested" -msgstr "Solicitado" +msgid "Reset email send." +msgstr "Email de redefinição de senha enviado." #: lostpassword/templates/lostpassword.php:8 -msgid "Login failed!" -msgstr "Falha ao fazer o login!" +msgid "Request failed!" +msgstr "A requisição falhou!" #: lostpassword/templates/lostpassword.php:11 templates/installation.php:38 #: templates/login.php:20 @@ -303,7 +338,7 @@ msgstr "Cloud não encontrado" msgid "Edit categories" msgstr "Editar categorias" -#: templates/edit_categories_dialog.php:14 +#: templates/edit_categories_dialog.php:16 msgid "Add" msgstr "Adicionar" @@ -330,7 +365,7 @@ msgid "" "strongly suggest that you configure your webserver in a way that the data " "directory is no longer accessible or you move the data directory outside the" " webserver document root." -msgstr "" +msgstr "Seu diretório de dados e seus arquivos estão, provavelmente, acessíveis a partir da internet. O .htaccess que o ownCloud fornece não está funcionando. Nós sugerimos que você configure o seu servidor web de uma forma que o diretório de dados esteja mais acessível ou que você mova o diretório de dados para fora da raiz do servidor web." #: templates/installation.php:36 msgid "Create an admin account" @@ -377,27 +412,103 @@ msgstr "Banco de dados do host" msgid "Finish setup" msgstr "Concluir configuração" -#: templates/layout.guest.php:38 +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Sunday" +msgstr "Domingo" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Monday" +msgstr "Segunda-feira" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Tuesday" +msgstr "Terça-feira" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Wednesday" +msgstr "Quarta-feira" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Thursday" +msgstr "Quinta-feira" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Friday" +msgstr "Sexta-feira" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Saturday" +msgstr "Sábado" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "January" +msgstr "Janeiro" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "February" +msgstr "Fevereiro" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "March" +msgstr "Março" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "April" +msgstr "Abril" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "May" +msgstr "Maio" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "June" +msgstr "Junho" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "July" +msgstr "Julho" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "August" +msgstr "Agosto" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "September" +msgstr "Setembro" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "October" +msgstr "Outubro" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "November" +msgstr "Novembro" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "December" +msgstr "Dezembro" + +#: templates/layout.guest.php:42 msgid "web services under your control" msgstr "web services sob seu controle" -#: templates/layout.user.php:34 +#: templates/layout.user.php:45 msgid "Log out" msgstr "Sair" #: templates/login.php:8 msgid "Automatic logon rejected!" -msgstr "" +msgstr "Entrada Automática no Sistema Rejeitada!" #: templates/login.php:9 msgid "" "If you did not change your password recently, your account may be " "compromised!" -msgstr "" +msgstr "Se você não mudou a sua senha recentemente, a sua conta pode estar comprometida!" #: templates/login.php:10 msgid "Please change your password to secure your account again." -msgstr "" +msgstr "Por favor troque sua senha para tornar sua conta segura novamente." #: templates/login.php:15 msgid "Lost your password?" @@ -425,14 +536,14 @@ msgstr "próximo" #: templates/verify.php:5 msgid "Security Warning!" -msgstr "" +msgstr "Aviso de Segurança!" #: templates/verify.php:6 msgid "" "Please verify your password.
For security reasons you may be " "occasionally asked to enter your password again." -msgstr "" +msgstr "Por favor, verifique a sua senha.
Por motivos de segurança, você deverá ser solicitado a muda-la ocasionalmente." #: templates/verify.php:16 msgid "Verify" -msgstr "" +msgstr "Verificar" diff --git a/l10n/pt_BR/files.po b/l10n/pt_BR/files.po index a262359b9cf4cc41b59ca673ae7f998b13699084..91ecfae55f06fc155bd447560fcf103630fd5b1c 100644 --- a/l10n/pt_BR/files.po +++ b/l10n/pt_BR/files.po @@ -3,6 +3,8 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# , 2012. +# , 2012. # Guilherme Maluf Balzana , 2012. # , 2012. # , 2012. @@ -13,9 +15,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-09-27 02:01+0200\n" -"PO-Revision-Date: 2012-09-26 12:31+0000\n" -"Last-Translator: sedir \n" +"POT-Creation-Date: 2012-12-03 00:04+0100\n" +"PO-Revision-Date: 2012-12-01 23:23+0000\n" +"Last-Translator: FredMaranhao \n" "Language-Team: Portuguese (Brazil) (http://www.transifex.com/projects/p/owncloud/language/pt_BR/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -28,195 +30,166 @@ msgid "There is no error, the file uploaded with success" msgstr "Não houve nenhum erro, o arquivo foi transferido com sucesso" #: ajax/upload.php:21 -msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" -msgstr "O tamanho do arquivo excede o limed especifiicado em upload_max_filesize no php.ini" +msgid "" +"The uploaded file exceeds the upload_max_filesize directive in php.ini: " +msgstr "O arquivo enviado excede a diretiva upload_max_filesize no php.ini: " -#: ajax/upload.php:22 +#: ajax/upload.php:23 msgid "" "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " "the HTML form" msgstr "O arquivo carregado excede o MAX_FILE_SIZE que foi especificado no formulário HTML" -#: ajax/upload.php:23 +#: ajax/upload.php:25 msgid "The uploaded file was only partially uploaded" msgstr "O arquivo foi transferido parcialmente" -#: ajax/upload.php:24 +#: ajax/upload.php:26 msgid "No file was uploaded" msgstr "Nenhum arquivo foi transferido" -#: ajax/upload.php:25 +#: ajax/upload.php:27 msgid "Missing a temporary folder" msgstr "Pasta temporária não encontrada" -#: ajax/upload.php:26 +#: ajax/upload.php:28 msgid "Failed to write to disk" msgstr "Falha ao escrever no disco" -#: appinfo/app.php:6 +#: appinfo/app.php:10 msgid "Files" msgstr "Arquivos" -#: js/fileactions.js:108 templates/index.php:62 +#: js/fileactions.js:117 templates/index.php:83 templates/index.php:84 msgid "Unshare" msgstr "Descompartilhar" -#: js/fileactions.js:110 templates/index.php:64 +#: js/fileactions.js:119 templates/index.php:89 templates/index.php:90 msgid "Delete" msgstr "Excluir" -#: js/fileactions.js:182 +#: js/fileactions.js:181 msgid "Rename" msgstr "Renomear" -#: js/filelist.js:190 js/filelist.js:192 -msgid "already exists" -msgstr "já existe" +#: js/filelist.js:201 js/filelist.js:203 +msgid "{new_name} already exists" +msgstr "{new_name} já existe" -#: js/filelist.js:190 js/filelist.js:192 +#: js/filelist.js:201 js/filelist.js:203 msgid "replace" msgstr "substituir" -#: js/filelist.js:190 +#: js/filelist.js:201 msgid "suggest name" msgstr "sugerir nome" -#: js/filelist.js:190 js/filelist.js:192 +#: js/filelist.js:201 js/filelist.js:203 msgid "cancel" msgstr "cancelar" -#: js/filelist.js:239 js/filelist.js:241 -msgid "replaced" -msgstr "substituido " +#: js/filelist.js:250 +msgid "replaced {new_name}" +msgstr "substituído {new_name}" -#: js/filelist.js:239 js/filelist.js:241 js/filelist.js:273 js/filelist.js:275 +#: js/filelist.js:250 js/filelist.js:252 js/filelist.js:284 js/filelist.js:286 msgid "undo" msgstr "desfazer" -#: js/filelist.js:241 -msgid "with" -msgstr "com" +#: js/filelist.js:252 +msgid "replaced {new_name} with {old_name}" +msgstr "Substituído {old_name} por {new_name} " + +#: js/filelist.js:284 +msgid "unshared {files}" +msgstr "{files} não compartilhados" -#: js/filelist.js:273 -msgid "unshared" -msgstr "descompartilhado" +#: js/filelist.js:286 +msgid "deleted {files}" +msgstr "{files} apagados" -#: js/filelist.js:275 -msgid "deleted" -msgstr "deletado" +#: js/files.js:33 +msgid "" +"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not " +"allowed." +msgstr "Nome inválido, '\\', '/', '<', '>', ':', '\"', '|', '?' e '*' não são permitidos." -#: js/files.js:179 +#: js/files.js:183 msgid "generating ZIP-file, it may take some time." msgstr "gerando arquivo ZIP, isso pode levar um tempo." -#: js/files.js:208 +#: js/files.js:218 msgid "Unable to upload your file as it is a directory or has 0 bytes" msgstr "Impossível enviar seus arquivo como diretório ou ele tem 0 bytes." -#: js/files.js:208 +#: js/files.js:218 msgid "Upload Error" msgstr "Erro de envio" -#: js/files.js:236 js/files.js:341 js/files.js:371 +#: js/files.js:235 +msgid "Close" +msgstr "Fechar" + +#: js/files.js:254 js/files.js:368 js/files.js:398 msgid "Pending" msgstr "Pendente" -#: js/files.js:256 +#: js/files.js:274 msgid "1 file uploading" msgstr "enviando 1 arquivo" -#: js/files.js:259 js/files.js:304 js/files.js:319 -msgid "files uploading" -msgstr "enviando arquivos" +#: js/files.js:277 js/files.js:331 js/files.js:346 +msgid "{count} files uploading" +msgstr "Enviando {count} arquivos" -#: js/files.js:322 js/files.js:355 +#: js/files.js:349 js/files.js:382 msgid "Upload cancelled." msgstr "Envio cancelado." -#: js/files.js:424 +#: js/files.js:451 msgid "" "File upload is in progress. Leaving the page now will cancel the upload." msgstr "Upload em andamento. Sair da página agora resultará no cancelamento do envio." -#: js/files.js:494 -msgid "Invalid name, '/' is not allowed." -msgstr "Nome inválido, '/' não é permitido." +#: js/files.js:523 +msgid "Invalid folder name. Usage of \"Shared\" is reserved by Owncloud" +msgstr "Nome de pasta inválido. O nome \"Shared\" é reservado pelo Owncloud" -#: js/files.js:668 -msgid "files scanned" -msgstr "arquivos verificados" +#: js/files.js:704 +msgid "{count} files scanned" +msgstr "{count} arquivos scaneados" -#: js/files.js:676 +#: js/files.js:712 msgid "error while scanning" msgstr "erro durante verificação" -#: js/files.js:749 templates/index.php:48 +#: js/files.js:785 templates/index.php:65 msgid "Name" msgstr "Nome" -#: js/files.js:750 templates/index.php:56 +#: js/files.js:786 templates/index.php:76 msgid "Size" msgstr "Tamanho" -#: js/files.js:751 templates/index.php:58 +#: js/files.js:787 templates/index.php:78 msgid "Modified" msgstr "Modificado" -#: js/files.js:778 -msgid "folder" -msgstr "pasta" - -#: js/files.js:780 -msgid "folders" -msgstr "pastas" - -#: js/files.js:788 -msgid "file" -msgstr "arquivo" - -#: js/files.js:790 -msgid "files" -msgstr "arquivos" - -#: js/files.js:834 -msgid "seconds ago" -msgstr "segundos atrás" - -#: js/files.js:835 -msgid "minute ago" -msgstr "minuto atrás" - -#: js/files.js:836 -msgid "minutes ago" -msgstr "minutos atrás" +#: js/files.js:814 +msgid "1 folder" +msgstr "1 pasta" -#: js/files.js:839 -msgid "today" -msgstr "hoje" +#: js/files.js:816 +msgid "{count} folders" +msgstr "{count} pastas" -#: js/files.js:840 -msgid "yesterday" -msgstr "ontem" +#: js/files.js:824 +msgid "1 file" +msgstr "1 arquivo" -#: js/files.js:841 -msgid "days ago" -msgstr "dias atrás" - -#: js/files.js:842 -msgid "last month" -msgstr "último mês" - -#: js/files.js:844 -msgid "months ago" -msgstr "meses atrás" - -#: js/files.js:845 -msgid "last year" -msgstr "último ano" - -#: js/files.js:846 -msgid "years ago" -msgstr "anos atrás" +#: js/files.js:826 +msgid "{count} files" +msgstr "{count} arquivos" #: templates/admin.php:5 msgid "File handling" @@ -226,27 +199,27 @@ msgstr "Tratamento de Arquivo" msgid "Maximum upload size" msgstr "Tamanho máximo para carregar" -#: templates/admin.php:7 +#: templates/admin.php:9 msgid "max. possible: " msgstr "max. possível:" -#: templates/admin.php:9 +#: templates/admin.php:12 msgid "Needed for multi-file and folder downloads." msgstr "Necessário para multiplos arquivos e diretório de downloads." -#: templates/admin.php:9 +#: templates/admin.php:14 msgid "Enable ZIP-download" msgstr "Habilitar ZIP-download" -#: templates/admin.php:11 +#: templates/admin.php:17 msgid "0 is unlimited" msgstr "0 para ilimitado" -#: templates/admin.php:12 +#: templates/admin.php:19 msgid "Maximum input size for ZIP files" msgstr "Tamanho máximo para arquivo ZIP" -#: templates/admin.php:14 +#: templates/admin.php:23 msgid "Save" msgstr "Salvar" @@ -254,52 +227,48 @@ msgstr "Salvar" msgid "New" msgstr "Novo" -#: templates/index.php:9 +#: templates/index.php:10 msgid "Text file" msgstr "Arquivo texto" -#: templates/index.php:10 +#: templates/index.php:12 msgid "Folder" msgstr "Pasta" -#: templates/index.php:11 -msgid "From url" -msgstr "URL de origem" +#: templates/index.php:14 +msgid "From link" +msgstr "Do link" -#: templates/index.php:20 +#: templates/index.php:35 msgid "Upload" msgstr "Carregar" -#: templates/index.php:27 +#: templates/index.php:43 msgid "Cancel upload" msgstr "Cancelar upload" -#: templates/index.php:40 +#: templates/index.php:57 msgid "Nothing in here. Upload something!" msgstr "Nada aqui.Carrege alguma coisa!" -#: templates/index.php:50 -msgid "Share" -msgstr "Compartilhar" - -#: templates/index.php:52 +#: templates/index.php:71 msgid "Download" msgstr "Baixar" -#: templates/index.php:75 +#: templates/index.php:103 msgid "Upload too large" msgstr "Arquivo muito grande" -#: templates/index.php:77 +#: templates/index.php:105 msgid "" "The files you are trying to upload exceed the maximum size for file uploads " "on this server." msgstr "Os arquivos que você está tentando carregar excedeu o tamanho máximo para arquivos no servidor." -#: templates/index.php:82 +#: templates/index.php:110 msgid "Files are being scanned, please wait." msgstr "Arquivos sendo escaneados, por favor aguarde." -#: templates/index.php:85 +#: templates/index.php:113 msgid "Current scanning" msgstr "Scanning atual" diff --git a/l10n/pt_BR/files_external.po b/l10n/pt_BR/files_external.po index bea354c7ac0a299743c6305c4181f272f284141c..573fe0165e4f10cbb11fe3a4f527ebeb506fc941 100644 --- a/l10n/pt_BR/files_external.po +++ b/l10n/pt_BR/files_external.po @@ -8,9 +8,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-07 02:03+0200\n" -"PO-Revision-Date: 2012-10-06 13:48+0000\n" -"Last-Translator: sedir \n" +"POT-Creation-Date: 2012-12-12 00:12+0100\n" +"PO-Revision-Date: 2012-12-11 23:13+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Portuguese (Brazil) (http://www.transifex.com/projects/p/owncloud/language/pt_BR/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -42,66 +42,80 @@ msgstr "Por favor forneça um app key e secret válido do Dropbox" msgid "Error configuring Google Drive storage" msgstr "Erro ao configurar armazenamento do Google Drive" +#: lib/config.php:434 +msgid "" +"Warning: \"smbclient\" is not installed. Mounting of CIFS/SMB shares " +"is not possible. Please ask your system administrator to install it." +msgstr "" + +#: lib/config.php:435 +msgid "" +"Warning: The FTP support in PHP is not enabled or installed. Mounting" +" of FTP shares is not possible. Please ask your system administrator to " +"install it." +msgstr "" + #: templates/settings.php:3 msgid "External Storage" msgstr "Armazenamento Externo" -#: templates/settings.php:7 templates/settings.php:19 +#: templates/settings.php:8 templates/settings.php:22 msgid "Mount point" msgstr "Ponto de montagem" -#: templates/settings.php:8 +#: templates/settings.php:9 msgid "Backend" msgstr "Backend" -#: templates/settings.php:9 +#: templates/settings.php:10 msgid "Configuration" msgstr "Configuração" -#: templates/settings.php:10 +#: templates/settings.php:11 msgid "Options" msgstr "Opções" -#: templates/settings.php:11 +#: templates/settings.php:12 msgid "Applicable" msgstr "Aplicável" -#: templates/settings.php:23 +#: templates/settings.php:27 msgid "Add mount point" msgstr "Adicionar ponto de montagem" -#: templates/settings.php:54 templates/settings.php:62 +#: templates/settings.php:85 msgid "None set" msgstr "Nenhum definido" -#: templates/settings.php:63 +#: templates/settings.php:86 msgid "All Users" msgstr "Todos os Usuários" -#: templates/settings.php:64 +#: templates/settings.php:87 msgid "Groups" msgstr "Grupos" -#: templates/settings.php:69 +#: templates/settings.php:95 msgid "Users" msgstr "Usuários" -#: templates/settings.php:77 templates/settings.php:107 +#: templates/settings.php:108 templates/settings.php:109 +#: templates/settings.php:149 templates/settings.php:150 msgid "Delete" msgstr "Remover" -#: templates/settings.php:87 +#: templates/settings.php:124 msgid "Enable User External Storage" msgstr "Habilitar Armazenamento Externo do Usuário" -#: templates/settings.php:88 +#: templates/settings.php:125 msgid "Allow users to mount their own external storage" msgstr "Permitir usuários a montar seus próprios armazenamentos externos" -#: templates/settings.php:99 +#: templates/settings.php:139 msgid "SSL root certificates" msgstr "Certificados SSL raíz" -#: templates/settings.php:113 +#: templates/settings.php:158 msgid "Import Root Certificate" msgstr "Importar Certificado Raíz" diff --git a/l10n/pt_BR/files_pdfviewer.po b/l10n/pt_BR/files_pdfviewer.po deleted file mode 100644 index 5d57e4d21e90d9dfd17abfa3cf0cbb46dec38feb..0000000000000000000000000000000000000000 --- a/l10n/pt_BR/files_pdfviewer.po +++ /dev/null @@ -1,42 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 02:18+0200\n" -"PO-Revision-Date: 2012-08-26 00:19+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Portuguese (Brazil) (http://www.transifex.com/projects/p/owncloud/language/pt_BR/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" -"Plural-Forms: nplurals=2; plural=(n > 1)\n" - -#: js/viewer.js:22 -msgid "Previous" -msgstr "" - -#: js/viewer.js:23 -msgid "Next" -msgstr "" - -#: js/viewer.js:29 -msgid "Page Width" -msgstr "" - -#: js/viewer.js:29 -msgid "Page Fit" -msgstr "" - -#: js/viewer.js:30 -msgid "Print" -msgstr "" - -#: js/viewer.js:32 -msgid "Download" -msgstr "" diff --git a/l10n/pt_BR/files_texteditor.po b/l10n/pt_BR/files_texteditor.po deleted file mode 100644 index f14b622e58e5bbdbc5bc53729ee39baec1591680..0000000000000000000000000000000000000000 --- a/l10n/pt_BR/files_texteditor.po +++ /dev/null @@ -1,44 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 01:17+0200\n" -"PO-Revision-Date: 2012-08-25 23:18+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Portuguese (Brazil) (http://www.transifex.com/projects/p/owncloud/language/pt_BR/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" -"Plural-Forms: nplurals=2; plural=(n > 1)\n" - -#: js/aceeditor/mode-coldfusion-uncompressed.js:1568 -#: js/aceeditor/mode-liquid-uncompressed.js:902 -#: js/aceeditor/mode-svg-uncompressed.js:1575 -msgid "regex" -msgstr "" - -#: js/editor.js:72 js/editor.js:156 js/editor.js:163 -msgid "Save" -msgstr "" - -#: js/editor.js:74 -msgid "Close" -msgstr "" - -#: js/editor.js:149 -msgid "Saving..." -msgstr "" - -#: js/editor.js:239 -msgid "An error occurred!" -msgstr "" - -#: js/editor.js:266 -msgid "There were unsaved changes, click here to go back" -msgstr "" diff --git a/l10n/pt_BR/gallery.po b/l10n/pt_BR/gallery.po deleted file mode 100644 index 1c68432fb07912da3075db60f10a60fd40d4ad3b..0000000000000000000000000000000000000000 --- a/l10n/pt_BR/gallery.po +++ /dev/null @@ -1,96 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Thiago Vicente , 2012. -# Van Der Fran , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-06-06 00:12+0200\n" -"PO-Revision-Date: 2012-06-05 22:15+0000\n" -"Last-Translator: icewind \n" -"Language-Team: Portuguese (Brazil) (http://www.transifex.net/projects/p/owncloud/language/pt_BR/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" -"Plural-Forms: nplurals=2; plural=(n > 1)\n" - -#: appinfo/app.php:37 -msgid "Pictures" -msgstr "Fotos" - -#: js/album_cover.js:44 -msgid "Share gallery" -msgstr "" - -#: js/album_cover.js:64 js/album_cover.js:100 js/album_cover.js:133 -msgid "Error: " -msgstr "" - -#: js/album_cover.js:64 js/album_cover.js:100 -msgid "Internal error" -msgstr "" - -#: js/album_cover.js:114 -msgid "Scanning root" -msgstr "" - -#: js/album_cover.js:115 -msgid "Default order" -msgstr "" - -#: js/album_cover.js:116 -msgid "Ascending" -msgstr "" - -#: js/album_cover.js:116 -msgid "Descending" -msgstr "" - -#: js/album_cover.js:117 templates/index.php:19 -msgid "Settings" -msgstr "Configuração" - -#: js/album_cover.js:122 -msgid "Scanning root cannot be empty" -msgstr "" - -#: js/album_cover.js:122 js/album_cover.js:133 -msgid "Error" -msgstr "" - -#: templates/index.php:16 -msgid "Rescan" -msgstr "Atualizar" - -#: templates/index.php:17 -msgid "Stop" -msgstr "Parar" - -#: templates/index.php:18 -msgid "Share" -msgstr "Compartilhar" - -#: templates/view_album.php:19 -msgid "Back" -msgstr "Voltar" - -#: templates/view_album.php:36 -msgid "Remove confirmation" -msgstr "Confirmar apagar" - -#: templates/view_album.php:37 -msgid "Do you want to remove album" -msgstr "Voçe dezeja remover o album" - -#: templates/view_album.php:40 -msgid "Change album name" -msgstr "Mudar nome do album" - -#: templates/view_album.php:43 -msgid "New album name" -msgstr "Nome do novo album" diff --git a/l10n/pt_BR/impress.po b/l10n/pt_BR/impress.po deleted file mode 100644 index d411662bd5ee0b3705ff2e2a591d91e04afd8ed4..0000000000000000000000000000000000000000 --- a/l10n/pt_BR/impress.po +++ /dev/null @@ -1,22 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 01:17+0200\n" -"PO-Revision-Date: 2012-08-25 23:18+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Portuguese (Brazil) (http://www.transifex.com/projects/p/owncloud/language/pt_BR/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" -"Plural-Forms: nplurals=2; plural=(n > 1)\n" - -#: templates/presentations.php:7 -msgid "Documentation" -msgstr "" diff --git a/l10n/pt_BR/lib.po b/l10n/pt_BR/lib.po index 6e42d00239ab5bfadee387ea29c9e5778860da40..a42adb315bc22e8d3d1f8affe426e69575de0942 100644 --- a/l10n/pt_BR/lib.po +++ b/l10n/pt_BR/lib.po @@ -3,14 +3,16 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# , 2012. +# , 2012. # , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-09-24 02:02+0200\n" -"PO-Revision-Date: 2012-09-23 17:07+0000\n" -"Last-Translator: sedir \n" +"POT-Creation-Date: 2012-12-02 00:02+0100\n" +"PO-Revision-Date: 2012-12-01 18:47+0000\n" +"Last-Translator: Schopfer \n" "Language-Team: Portuguese (Brazil) (http://www.transifex.com/projects/p/owncloud/language/pt_BR/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -42,19 +44,19 @@ msgstr "Aplicações" msgid "Admin" msgstr "Admin" -#: files.php:309 +#: files.php:361 msgid "ZIP download is turned off." msgstr "Download ZIP está desligado." -#: files.php:310 +#: files.php:362 msgid "Files need to be downloaded one by one." msgstr "Arquivos precisam ser baixados um de cada vez." -#: files.php:310 files.php:335 +#: files.php:362 files.php:387 msgid "Back to Files" msgstr "Voltar para Arquivos" -#: files.php:334 +#: files.php:386 msgid "Selected files too large to generate zip file." msgstr "Arquivos selecionados são muito grandes para gerar arquivo zip." @@ -62,7 +64,7 @@ msgstr "Arquivos selecionados são muito grandes para gerar arquivo zip." msgid "Application is not enabled" msgstr "Aplicação não está habilitada" -#: json.php:39 json.php:63 json.php:75 +#: json.php:39 json.php:64 json.php:77 json.php:89 msgid "Authentication error" msgstr "Erro de autenticação" @@ -70,57 +72,84 @@ msgstr "Erro de autenticação" msgid "Token expired. Please reload page." msgstr "Token expirou. Por favor recarregue a página." -#: template.php:87 +#: search/provider/file.php:17 search/provider/file.php:35 +msgid "Files" +msgstr "Arquivos" + +#: search/provider/file.php:26 search/provider/file.php:33 +msgid "Text" +msgstr "Texto" + +#: search/provider/file.php:29 +msgid "Images" +msgstr "Imagens" + +#: template.php:103 msgid "seconds ago" msgstr "segundos atrás" -#: template.php:88 +#: template.php:104 msgid "1 minute ago" msgstr "1 minuto atrás" -#: template.php:89 +#: template.php:105 #, php-format msgid "%d minutes ago" msgstr "%d minutos atrás" -#: template.php:92 +#: template.php:106 +msgid "1 hour ago" +msgstr "1 hora atrás" + +#: template.php:107 +#, php-format +msgid "%d hours ago" +msgstr "%d horas atrás" + +#: template.php:108 msgid "today" msgstr "hoje" -#: template.php:93 +#: template.php:109 msgid "yesterday" msgstr "ontem" -#: template.php:94 +#: template.php:110 #, php-format msgid "%d days ago" msgstr "%d dias atrás" -#: template.php:95 +#: template.php:111 msgid "last month" msgstr "último mês" -#: template.php:96 -msgid "months ago" -msgstr "meses atrás" +#: template.php:112 +#, php-format +msgid "%d months ago" +msgstr "%d meses atrás" -#: template.php:97 +#: template.php:113 msgid "last year" msgstr "último ano" -#: template.php:98 +#: template.php:114 msgid "years ago" msgstr "anos atrás" -#: updater.php:66 +#: updater.php:75 #, php-format msgid "%s is available. Get more information" msgstr "%s está disponível. Obtenha mais informações" -#: updater.php:68 +#: updater.php:77 msgid "up to date" msgstr "atualizado" -#: updater.php:71 +#: updater.php:80 msgid "updates check is disabled" msgstr "checagens de atualização estão desativadas" + +#: vcategories.php:188 vcategories.php:249 +#, php-format +msgid "Could not find category \"%s\"" +msgstr "Impossível localizar categoria \"%s\"" diff --git a/l10n/pt_BR/media.po b/l10n/pt_BR/media.po deleted file mode 100644 index 779137491765a6f9d38683d3f601fda9465e0b33..0000000000000000000000000000000000000000 --- a/l10n/pt_BR/media.po +++ /dev/null @@ -1,68 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# , 2011. -# Van Der Fran , 2011. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-06-06 00:12+0200\n" -"PO-Revision-Date: 2012-06-05 22:15+0000\n" -"Last-Translator: icewind \n" -"Language-Team: Portuguese (Brazil) (http://www.transifex.net/projects/p/owncloud/language/pt_BR/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" -"Plural-Forms: nplurals=2; plural=(n > 1)\n" - -#: appinfo/app.php:32 templates/player.php:8 -msgid "Music" -msgstr "Música" - -#: js/music.js:18 -msgid "Add album to playlist" -msgstr "" - -#: templates/music.php:3 templates/player.php:12 -msgid "Play" -msgstr "Tocar" - -#: templates/music.php:4 templates/music.php:26 templates/player.php:13 -msgid "Pause" -msgstr "Pausa" - -#: templates/music.php:5 -msgid "Previous" -msgstr "Anterior" - -#: templates/music.php:6 templates/player.php:14 -msgid "Next" -msgstr "Próximo" - -#: templates/music.php:7 -msgid "Mute" -msgstr "Mudo" - -#: templates/music.php:8 -msgid "Unmute" -msgstr "Não Mudo" - -#: templates/music.php:25 -msgid "Rescan Collection" -msgstr "Atualizar a Coleção" - -#: templates/music.php:37 -msgid "Artist" -msgstr "Artista" - -#: templates/music.php:38 -msgid "Album" -msgstr "Álbum" - -#: templates/music.php:39 -msgid "Title" -msgstr "Título" diff --git a/l10n/pt_BR/settings.po b/l10n/pt_BR/settings.po index 4116e5e1a6734f7786884ae7bc96ed8ad694400c..a8b2a98a55077c4646f1ec1d53723a218a88b4df 100644 --- a/l10n/pt_BR/settings.po +++ b/l10n/pt_BR/settings.po @@ -4,19 +4,21 @@ # # Translators: # , 2011. +# , 2012. # Guilherme Maluf Balzana , 2012. # , 2012. # Sandro Venezuela , 2012. # , 2012. # Thiago Vicente , 2012. +# , 2012. # Van Der Fran , 2011. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-11 02:04+0200\n" -"PO-Revision-Date: 2012-10-10 03:46+0000\n" -"Last-Translator: sedir \n" +"POT-Creation-Date: 2012-12-03 00:04+0100\n" +"PO-Revision-Date: 2012-12-02 03:18+0000\n" +"Last-Translator: FredMaranhao \n" "Language-Team: Portuguese (Brazil) (http://www.transifex.com/projects/p/owncloud/language/pt_BR/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -24,70 +26,73 @@ msgstr "" "Language: pt_BR\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: ajax/apps/ocs.php:23 +#: ajax/apps/ocs.php:20 msgid "Unable to load list from App Store" msgstr "Não foi possivel carregar lista da App Store" -#: ajax/creategroup.php:9 ajax/removeuser.php:18 ajax/setquota.php:18 -#: ajax/togglegroups.php:15 -msgid "Authentication error" -msgstr "erro de autenticação" - -#: ajax/creategroup.php:19 +#: ajax/creategroup.php:10 msgid "Group already exists" msgstr "Grupo já existe" -#: ajax/creategroup.php:28 +#: ajax/creategroup.php:19 msgid "Unable to add group" msgstr "Não foi possivel adicionar grupo" -#: ajax/enableapp.php:14 +#: ajax/enableapp.php:12 msgid "Could not enable app. " msgstr "Não pôde habilitar aplicação" -#: ajax/lostpassword.php:14 +#: ajax/lostpassword.php:12 msgid "Email saved" msgstr "Email gravado" -#: ajax/lostpassword.php:16 +#: ajax/lostpassword.php:14 msgid "Invalid email" msgstr "Email inválido" -#: ajax/openid.php:16 +#: ajax/openid.php:13 msgid "OpenID Changed" msgstr "Mudou OpenID" -#: ajax/openid.php:18 ajax/setlanguage.php:20 ajax/setlanguage.php:23 +#: ajax/openid.php:15 ajax/setlanguage.php:17 ajax/setlanguage.php:20 msgid "Invalid request" msgstr "Pedido inválido" -#: ajax/removegroup.php:16 +#: ajax/removegroup.php:13 msgid "Unable to delete group" msgstr "Não foi possivel remover grupo" -#: ajax/removeuser.php:27 +#: ajax/removeuser.php:15 ajax/setquota.php:15 ajax/togglegroups.php:18 +msgid "Authentication error" +msgstr "erro de autenticação" + +#: ajax/removeuser.php:24 msgid "Unable to delete user" msgstr "Não foi possivel remover usuário" -#: ajax/setlanguage.php:18 +#: ajax/setlanguage.php:15 msgid "Language changed" msgstr "Mudou Idioma" -#: ajax/togglegroups.php:25 +#: ajax/togglegroups.php:12 +msgid "Admins can't remove themself from the admin group" +msgstr "Admins não podem se remover do grupo admin" + +#: ajax/togglegroups.php:28 #, php-format msgid "Unable to add user to group %s" msgstr "Não foi possivel adicionar usuário ao grupo %s" -#: ajax/togglegroups.php:31 +#: ajax/togglegroups.php:34 #, php-format msgid "Unable to remove user from group %s" msgstr "Não foi possivel remover usuário ao grupo %s" -#: js/apps.js:28 js/apps.js:65 +#: js/apps.js:28 js/apps.js:67 msgid "Disable" msgstr "Desabilitado" -#: js/apps.js:28 js/apps.js:54 +#: js/apps.js:28 js/apps.js:55 msgid "Enable" msgstr "Habilitado" @@ -95,97 +100,10 @@ msgstr "Habilitado" msgid "Saving..." msgstr "Gravando..." -#: personal.php:47 personal.php:48 +#: personal.php:42 personal.php:43 msgid "__language_name__" msgstr "Português" -#: templates/admin.php:14 -msgid "Security Warning" -msgstr "Aviso de Segurança" - -#: templates/admin.php:17 -msgid "" -"Your data directory and your files are probably accessible from the " -"internet. The .htaccess file that ownCloud provides is not working. We " -"strongly suggest that you configure your webserver in a way that the data " -"directory is no longer accessible or you move the data directory outside the" -" webserver document root." -msgstr "Seu diretório de dados e seus arquivos estão, provavelmente, acessíveis a partir da internet. O .htaccess que o ownCloud fornece não está funcionando. Nós sugerimos que você configure o seu servidor web de uma forma que o diretório de dados esteja mais acessível ou que você mova o diretório de dados para fora da raiz do servidor web." - -#: templates/admin.php:31 -msgid "Cron" -msgstr "Cron" - -#: templates/admin.php:37 -msgid "Execute one task with each page loaded" -msgstr "Executa uma tarefa com cada página carregada" - -#: templates/admin.php:43 -msgid "" -"cron.php is registered at a webcron service. Call the cron.php page in the " -"owncloud root once a minute over http." -msgstr "cron.php está registrado no serviço webcron. Chama a página cron.php na raíz do owncloud uma vez por minuto via http." - -#: templates/admin.php:49 -msgid "" -"Use systems cron service. Call the cron.php file in the owncloud folder via " -"a system cronjob once a minute." -msgstr "Usa o serviço cron do sistema. Chama o arquivo cron.php na pasta do owncloud através do cronjob do sistema uma vez a cada minuto." - -#: templates/admin.php:56 -msgid "Sharing" -msgstr "Compartilhamento" - -#: templates/admin.php:61 -msgid "Enable Share API" -msgstr "Habilitar API de Compartilhamento" - -#: templates/admin.php:62 -msgid "Allow apps to use the Share API" -msgstr "Permitir aplicações a usar a API de Compartilhamento" - -#: templates/admin.php:67 -msgid "Allow links" -msgstr "Permitir links" - -#: templates/admin.php:68 -msgid "Allow users to share items to the public with links" -msgstr "Permitir usuários a compartilhar itens para o público com links" - -#: templates/admin.php:73 -msgid "Allow resharing" -msgstr "Permitir re-compartilhamento" - -#: templates/admin.php:74 -msgid "Allow users to share items shared with them again" -msgstr "Permitir usuário a compartilhar itens compartilhados com eles novamente" - -#: templates/admin.php:79 -msgid "Allow users to share with anyone" -msgstr "Permitir usuários a compartilhar com qualquer um" - -#: templates/admin.php:81 -msgid "Allow users to only share with users in their groups" -msgstr "Permitir usuários a somente compartilhar com usuários em seus respectivos grupos" - -#: templates/admin.php:88 -msgid "Log" -msgstr "Log" - -#: templates/admin.php:116 -msgid "More" -msgstr "Mais" - -#: templates/admin.php:124 -msgid "" -"Developed by the ownCloud community, the source code is " -"licensed under the AGPL." -msgstr "Desenvolvido pela comunidade ownCloud, o código fonte está licenciado sob AGPL." - #: templates/apps.php:10 msgid "Add your App" msgstr "Adicione seu Aplicativo" @@ -218,22 +136,22 @@ msgstr "Gerênciando Arquivos Grandes" msgid "Ask a question" msgstr "Faça uma pergunta" -#: templates/help.php:23 +#: templates/help.php:22 msgid "Problems connecting to help database." msgstr "Problemas ao conectar na base de dados." -#: templates/help.php:24 +#: templates/help.php:23 msgid "Go there manually." msgstr "Ir manualmente." -#: templates/help.php:32 +#: templates/help.php:31 msgid "Answer" msgstr "Resposta" #: templates/personal.php:8 #, php-format -msgid "You have used %s of the available %s" -msgstr "Você usou %s do espaço disponível de %s " +msgid "You have used %s of the available %s" +msgstr "Você usou %s do seu espaço de %s" #: templates/personal.php:12 msgid "Desktop and Mobile Syncing Clients" @@ -291,6 +209,16 @@ msgstr "Ajude a traduzir" msgid "use this address to connect to your ownCloud in your file manager" msgstr "use este endereço para se conectar ao seu ownCloud no seu gerenciador de arquvos" +#: templates/personal.php:61 +msgid "" +"Developed by the ownCloud community, the source code is " +"licensed under the AGPL." +msgstr "Desenvolvido pela comunidade ownCloud, o código fonte está licenciado sob AGPL." + #: templates/users.php:21 templates/users.php:76 msgid "Name" msgstr "Nome" diff --git a/l10n/pt_BR/tasks.po b/l10n/pt_BR/tasks.po deleted file mode 100644 index 5e8358f8c6bda516089e9198c0ad9b46a96f9833..0000000000000000000000000000000000000000 --- a/l10n/pt_BR/tasks.po +++ /dev/null @@ -1,106 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:44+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Portuguese (Brazil) (http://www.transifex.com/projects/p/owncloud/language/pt_BR/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" -"Plural-Forms: nplurals=2; plural=(n > 1)\n" - -#: ajax/update_property.php:51 lib/app.php:89 lib/app.php:101 -msgid "Invalid date/time" -msgstr "" - -#: appinfo/app.php:11 -msgid "Tasks" -msgstr "" - -#: js/tasks.js:415 -msgid "No category" -msgstr "" - -#: lib/app.php:33 -msgid "Unspecified" -msgstr "" - -#: lib/app.php:34 -msgid "1=highest" -msgstr "" - -#: lib/app.php:38 -msgid "5=medium" -msgstr "" - -#: lib/app.php:42 -msgid "9=lowest" -msgstr "" - -#: lib/app.php:81 -msgid "Empty Summary" -msgstr "" - -#: lib/app.php:93 -msgid "Invalid percent complete" -msgstr "" - -#: lib/app.php:107 -msgid "Invalid priority" -msgstr "" - -#: templates/tasks.php:3 -msgid "Add Task" -msgstr "" - -#: templates/tasks.php:4 -msgid "Order Due" -msgstr "" - -#: templates/tasks.php:5 -msgid "Order List" -msgstr "" - -#: templates/tasks.php:6 -msgid "Order Complete" -msgstr "" - -#: templates/tasks.php:7 -msgid "Order Location" -msgstr "" - -#: templates/tasks.php:8 -msgid "Order Priority" -msgstr "" - -#: templates/tasks.php:9 -msgid "Order Label" -msgstr "" - -#: templates/tasks.php:16 -msgid "Loading tasks..." -msgstr "" - -#: templates/tasks.php:20 -msgid "Important" -msgstr "" - -#: templates/tasks.php:23 -msgid "More" -msgstr "" - -#: templates/tasks.php:26 -msgid "Less" -msgstr "" - -#: templates/tasks.php:29 -msgid "Delete" -msgstr "" diff --git a/l10n/pt_BR/user_migrate.po b/l10n/pt_BR/user_migrate.po deleted file mode 100644 index bb939a947ab7855edd7faa11c7274bdfc9df6b78..0000000000000000000000000000000000000000 --- a/l10n/pt_BR/user_migrate.po +++ /dev/null @@ -1,51 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:45+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Portuguese (Brazil) (http://www.transifex.com/projects/p/owncloud/language/pt_BR/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" -"Plural-Forms: nplurals=2; plural=(n > 1)\n" - -#: js/export.js:14 js/export.js:20 -msgid "Export" -msgstr "" - -#: js/export.js:19 -msgid "Something went wrong while the export file was being generated" -msgstr "" - -#: js/export.js:19 -msgid "An error has occurred" -msgstr "" - -#: templates/settings.php:2 -msgid "Export your user account" -msgstr "" - -#: templates/settings.php:3 -msgid "" -"This will create a compressed file that contains your ownCloud account." -msgstr "" - -#: templates/settings.php:13 -msgid "Import user account" -msgstr "" - -#: templates/settings.php:15 -msgid "ownCloud User Zip" -msgstr "" - -#: templates/settings.php:17 -msgid "Import" -msgstr "" diff --git a/l10n/pt_BR/user_openid.po b/l10n/pt_BR/user_openid.po deleted file mode 100644 index 5abf549de331715a7e6da38408eeec69b5a6f100..0000000000000000000000000000000000000000 --- a/l10n/pt_BR/user_openid.po +++ /dev/null @@ -1,54 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:45+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Portuguese (Brazil) (http://www.transifex.com/projects/p/owncloud/language/pt_BR/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" -"Plural-Forms: nplurals=2; plural=(n > 1)\n" - -#: templates/nomode.php:12 -msgid "This is an OpenID server endpoint. For more information, see " -msgstr "" - -#: templates/nomode.php:14 -msgid "Identity: " -msgstr "" - -#: templates/nomode.php:15 -msgid "Realm: " -msgstr "" - -#: templates/nomode.php:16 -msgid "User: " -msgstr "" - -#: templates/nomode.php:17 -msgid "Login" -msgstr "" - -#: templates/nomode.php:22 -msgid "Error: No user Selected" -msgstr "" - -#: templates/settings.php:4 -msgid "you can authenticate to other sites with this address" -msgstr "" - -#: templates/settings.php:5 -msgid "Authorized OpenID provider" -msgstr "" - -#: templates/settings.php:6 -msgid "Your address at Wordpress, Identi.ca, …" -msgstr "" diff --git a/l10n/pt_BR/files_odfviewer.po b/l10n/pt_BR/user_webdavauth.po similarity index 61% rename from l10n/pt_BR/files_odfviewer.po rename to l10n/pt_BR/user_webdavauth.po index 0fdf643ce92442c9f96602219b5b29b55c2c53a4..5e55946786ac8995b113127e7c42b4cc7b41681c 100644 --- a/l10n/pt_BR/files_odfviewer.po +++ b/l10n/pt_BR/user_webdavauth.po @@ -3,20 +3,21 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 02:18+0200\n" -"PO-Revision-Date: 2012-08-26 00:19+0000\n" -"Last-Translator: FULL NAME \n" +"POT-Creation-Date: 2012-11-12 00:01+0100\n" +"PO-Revision-Date: 2012-11-11 13:40+0000\n" +"Last-Translator: thoriumbr \n" "Language-Team: Portuguese (Brazil) (http://www.transifex.com/projects/p/owncloud/language/pt_BR/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: pt_BR\n" -"Plural-Forms: nplurals=2; plural=(n > 1)\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: js/viewer.js:9 -msgid "Close" -msgstr "" +#: templates/settings.php:4 +msgid "WebDAV URL: http://" +msgstr "URL do WebDAV: http://" diff --git a/l10n/pt_PT/admin_dependencies_chk.po b/l10n/pt_PT/admin_dependencies_chk.po deleted file mode 100644 index 33d13a5a5637adb6d91b652f714d5ffb2f054848..0000000000000000000000000000000000000000 --- a/l10n/pt_PT/admin_dependencies_chk.po +++ /dev/null @@ -1,73 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:33+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Portuguese (Portugal) (http://www.transifex.com/projects/p/owncloud/language/pt_PT/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: pt_PT\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: settings.php:33 -msgid "" -"The php-json module is needed by the many applications for inter " -"communications" -msgstr "" - -#: settings.php:39 -msgid "" -"The php-curl modude is needed to fetch the page title when adding a " -"bookmarks" -msgstr "" - -#: settings.php:45 -msgid "The php-gd module is needed to create thumbnails of your images" -msgstr "" - -#: settings.php:51 -msgid "The php-ldap module is needed connect to your ldap server" -msgstr "" - -#: settings.php:57 -msgid "The php-zip module is needed download multiple files at once" -msgstr "" - -#: settings.php:63 -msgid "" -"The php-mb_multibyte module is needed to manage correctly the encoding." -msgstr "" - -#: settings.php:69 -msgid "The php-ctype module is needed validate data." -msgstr "" - -#: settings.php:75 -msgid "The php-xml module is needed to share files with webdav." -msgstr "" - -#: settings.php:81 -msgid "" -"The allow_url_fopen directive of your php.ini should be set to 1 to retrieve" -" knowledge base from OCS servers" -msgstr "" - -#: settings.php:87 -msgid "The php-pdo module is needed to store owncloud data into a database." -msgstr "" - -#: templates/settings.php:2 -msgid "Dependencies status" -msgstr "" - -#: templates/settings.php:7 -msgid "Used by :" -msgstr "" diff --git a/l10n/pt_PT/admin_migrate.po b/l10n/pt_PT/admin_migrate.po deleted file mode 100644 index 0daf518350a456681ede412e6466d9e12dd9d49a..0000000000000000000000000000000000000000 --- a/l10n/pt_PT/admin_migrate.po +++ /dev/null @@ -1,32 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:32+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Portuguese (Portugal) (http://www.transifex.com/projects/p/owncloud/language/pt_PT/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: pt_PT\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: templates/settings.php:3 -msgid "Export this ownCloud instance" -msgstr "" - -#: templates/settings.php:4 -msgid "" -"This will create a compressed file that contains the data of this owncloud instance.\n" -" Please choose the export type:" -msgstr "" - -#: templates/settings.php:12 -msgid "Export" -msgstr "" diff --git a/l10n/pt_PT/bookmarks.po b/l10n/pt_PT/bookmarks.po deleted file mode 100644 index b4ba2758a3e2fb09940e8a8c5a2c795b561086d7..0000000000000000000000000000000000000000 --- a/l10n/pt_PT/bookmarks.po +++ /dev/null @@ -1,60 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-07-28 02:02+0200\n" -"PO-Revision-Date: 2012-07-27 22:17+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Portuguese (Portugal) (http://www.transifex.com/projects/p/owncloud/language/pt_PT/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: pt_PT\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: appinfo/app.php:14 -msgid "Bookmarks" -msgstr "" - -#: bookmarksHelper.php:99 -msgid "unnamed" -msgstr "" - -#: templates/bookmarklet.php:5 -msgid "" -"Drag this to your browser bookmarks and click it, when you want to bookmark " -"a webpage quickly:" -msgstr "" - -#: templates/bookmarklet.php:7 -msgid "Read later" -msgstr "" - -#: templates/list.php:13 -msgid "Address" -msgstr "" - -#: templates/list.php:14 -msgid "Title" -msgstr "" - -#: templates/list.php:15 -msgid "Tags" -msgstr "" - -#: templates/list.php:16 -msgid "Save bookmark" -msgstr "" - -#: templates/list.php:22 -msgid "You have no bookmarks" -msgstr "" - -#: templates/settings.php:11 -msgid "Bookmarklet
" -msgstr "" diff --git a/l10n/pt_PT/calendar.po b/l10n/pt_PT/calendar.po deleted file mode 100644 index b82792c41e040ca9bcd25712bccf72e290178fde..0000000000000000000000000000000000000000 --- a/l10n/pt_PT/calendar.po +++ /dev/null @@ -1,817 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# , 2012. -# , 2011. -# Helder Meneses , 2012. -# , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-24 02:02+0200\n" -"PO-Revision-Date: 2012-08-23 20:06+0000\n" -"Last-Translator: rlameiro \n" -"Language-Team: Portuguese (Portugal) (http://www.transifex.com/projects/p/owncloud/language/pt_PT/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: pt_PT\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: ajax/cache/status.php:19 -msgid "Not all calendars are completely cached" -msgstr "Nem todos os calendários estão completamente pré-carregados" - -#: ajax/cache/status.php:21 -msgid "Everything seems to be completely cached" -msgstr "Parece que tudo está completamente pré-carregado" - -#: ajax/categories/rescan.php:29 -msgid "No calendars found." -msgstr "Nenhum calendário encontrado." - -#: ajax/categories/rescan.php:37 -msgid "No events found." -msgstr "Nenhum evento encontrado." - -#: ajax/event/edit.form.php:20 -msgid "Wrong calendar" -msgstr "Calendário errado" - -#: ajax/import/dropimport.php:29 ajax/import/import.php:64 -msgid "" -"The file contained either no events or all events are already saved in your " -"calendar." -msgstr "O ficheiro não continha nenhuns eventos ou então todos os eventos já estavam carregados no seu calendário" - -#: ajax/import/dropimport.php:31 ajax/import/import.php:67 -msgid "events has been saved in the new calendar" -msgstr "Os eventos foram guardados no novo calendário" - -#: ajax/import/import.php:56 -msgid "Import failed" -msgstr "Falha na importação" - -#: ajax/import/import.php:69 -msgid "events has been saved in your calendar" -msgstr "Os eventos foram guardados no seu calendário" - -#: ajax/settings/guesstimezone.php:25 -msgid "New Timezone:" -msgstr "Nova zona horária" - -#: ajax/settings/settimezone.php:23 -msgid "Timezone changed" -msgstr "Zona horária alterada" - -#: ajax/settings/settimezone.php:25 -msgid "Invalid request" -msgstr "Pedido inválido" - -#: appinfo/app.php:37 templates/calendar.php:15 -#: templates/part.eventform.php:33 templates/part.showevent.php:33 -msgid "Calendar" -msgstr "Calendário" - -#: js/calendar.js:832 -msgid "ddd" -msgstr "ddd" - -#: js/calendar.js:833 -msgid "ddd M/d" -msgstr "ddd M/d" - -#: js/calendar.js:834 -msgid "dddd M/d" -msgstr "dddd M/d" - -#: js/calendar.js:837 -msgid "MMMM yyyy" -msgstr "MMMM aaaa" - -#: js/calendar.js:839 -msgid "MMM d[ yyyy]{ '—'[ MMM] d yyyy}" -msgstr "MMM d[ yyyy]{ '—'[ MMM] d yyyy}" - -#: js/calendar.js:841 -msgid "dddd, MMM d, yyyy" -msgstr "dddd, MMM d, aaaa" - -#: lib/app.php:121 -msgid "Birthday" -msgstr "Dia de anos" - -#: lib/app.php:122 -msgid "Business" -msgstr "Negócio" - -#: lib/app.php:123 -msgid "Call" -msgstr "Telefonar" - -#: lib/app.php:124 -msgid "Clients" -msgstr "Clientes" - -#: lib/app.php:125 -msgid "Deliverer" -msgstr "Entregar" - -#: lib/app.php:126 -msgid "Holidays" -msgstr "Férias" - -#: lib/app.php:127 -msgid "Ideas" -msgstr "Ideias" - -#: lib/app.php:128 -msgid "Journey" -msgstr "Jornada" - -#: lib/app.php:129 -msgid "Jubilee" -msgstr "Jublieu" - -#: lib/app.php:130 -msgid "Meeting" -msgstr "Encontro" - -#: lib/app.php:131 -msgid "Other" -msgstr "Outro" - -#: lib/app.php:132 -msgid "Personal" -msgstr "Pessoal" - -#: lib/app.php:133 -msgid "Projects" -msgstr "Projetos" - -#: lib/app.php:134 -msgid "Questions" -msgstr "Perguntas" - -#: lib/app.php:135 -msgid "Work" -msgstr "Trabalho" - -#: lib/app.php:351 lib/app.php:361 -msgid "by" -msgstr "por" - -#: lib/app.php:359 lib/app.php:399 -msgid "unnamed" -msgstr "não definido" - -#: lib/import.php:184 templates/calendar.php:12 -#: templates/part.choosecalendar.php:22 -msgid "New Calendar" -msgstr "Novo calendário" - -#: lib/object.php:372 -msgid "Does not repeat" -msgstr "Não repete" - -#: lib/object.php:373 -msgid "Daily" -msgstr "Diário" - -#: lib/object.php:374 -msgid "Weekly" -msgstr "Semanal" - -#: lib/object.php:375 -msgid "Every Weekday" -msgstr "Todos os dias da semana" - -#: lib/object.php:376 -msgid "Bi-Weekly" -msgstr "Bi-semanal" - -#: lib/object.php:377 -msgid "Monthly" -msgstr "Mensal" - -#: lib/object.php:378 -msgid "Yearly" -msgstr "Anual" - -#: lib/object.php:388 -msgid "never" -msgstr "nunca" - -#: lib/object.php:389 -msgid "by occurrences" -msgstr "por ocorrências" - -#: lib/object.php:390 -msgid "by date" -msgstr "por data" - -#: lib/object.php:400 -msgid "by monthday" -msgstr "por dia do mês" - -#: lib/object.php:401 -msgid "by weekday" -msgstr "por dia da semana" - -#: lib/object.php:411 templates/calendar.php:5 templates/settings.php:69 -msgid "Monday" -msgstr "Segunda" - -#: lib/object.php:412 templates/calendar.php:5 -msgid "Tuesday" -msgstr "Terça" - -#: lib/object.php:413 templates/calendar.php:5 -msgid "Wednesday" -msgstr "Quarta" - -#: lib/object.php:414 templates/calendar.php:5 -msgid "Thursday" -msgstr "Quinta" - -#: lib/object.php:415 templates/calendar.php:5 -msgid "Friday" -msgstr "Sexta" - -#: lib/object.php:416 templates/calendar.php:5 -msgid "Saturday" -msgstr "Sábado" - -#: lib/object.php:417 templates/calendar.php:5 templates/settings.php:70 -msgid "Sunday" -msgstr "Domingo" - -#: lib/object.php:427 -msgid "events week of month" -msgstr "Eventos da semana do mês" - -#: lib/object.php:428 -msgid "first" -msgstr "primeiro" - -#: lib/object.php:429 -msgid "second" -msgstr "segundo" - -#: lib/object.php:430 -msgid "third" -msgstr "terçeiro" - -#: lib/object.php:431 -msgid "fourth" -msgstr "quarto" - -#: lib/object.php:432 -msgid "fifth" -msgstr "quinto" - -#: lib/object.php:433 -msgid "last" -msgstr "último" - -#: lib/object.php:467 templates/calendar.php:7 -msgid "January" -msgstr "Janeiro" - -#: lib/object.php:468 templates/calendar.php:7 -msgid "February" -msgstr "Fevereiro" - -#: lib/object.php:469 templates/calendar.php:7 -msgid "March" -msgstr "Março" - -#: lib/object.php:470 templates/calendar.php:7 -msgid "April" -msgstr "Abril" - -#: lib/object.php:471 templates/calendar.php:7 -msgid "May" -msgstr "Maio" - -#: lib/object.php:472 templates/calendar.php:7 -msgid "June" -msgstr "Junho" - -#: lib/object.php:473 templates/calendar.php:7 -msgid "July" -msgstr "Julho" - -#: lib/object.php:474 templates/calendar.php:7 -msgid "August" -msgstr "Agosto" - -#: lib/object.php:475 templates/calendar.php:7 -msgid "September" -msgstr "Setembro" - -#: lib/object.php:476 templates/calendar.php:7 -msgid "October" -msgstr "Outubro" - -#: lib/object.php:477 templates/calendar.php:7 -msgid "November" -msgstr "Novembro" - -#: lib/object.php:478 templates/calendar.php:7 -msgid "December" -msgstr "Dezembro" - -#: lib/object.php:488 -msgid "by events date" -msgstr "por data de evento" - -#: lib/object.php:489 -msgid "by yearday(s)" -msgstr "por dia(s) do ano" - -#: lib/object.php:490 -msgid "by weeknumber(s)" -msgstr "por número(s) da semana" - -#: lib/object.php:491 -msgid "by day and month" -msgstr "por dia e mês" - -#: lib/search.php:35 lib/search.php:37 lib/search.php:40 -msgid "Date" -msgstr "Data" - -#: lib/search.php:43 -msgid "Cal." -msgstr "Cal." - -#: templates/calendar.php:6 -msgid "Sun." -msgstr "Dom." - -#: templates/calendar.php:6 -msgid "Mon." -msgstr "Seg." - -#: templates/calendar.php:6 -msgid "Tue." -msgstr "ter." - -#: templates/calendar.php:6 -msgid "Wed." -msgstr "Qua." - -#: templates/calendar.php:6 -msgid "Thu." -msgstr "Qui." - -#: templates/calendar.php:6 -msgid "Fri." -msgstr "Sex." - -#: templates/calendar.php:6 -msgid "Sat." -msgstr "Sáb." - -#: templates/calendar.php:8 -msgid "Jan." -msgstr "Jan." - -#: templates/calendar.php:8 -msgid "Feb." -msgstr "Fev," - -#: templates/calendar.php:8 -msgid "Mar." -msgstr "Mar." - -#: templates/calendar.php:8 -msgid "Apr." -msgstr "Abr." - -#: templates/calendar.php:8 -msgid "May." -msgstr "Mai." - -#: templates/calendar.php:8 -msgid "Jun." -msgstr "Jun." - -#: templates/calendar.php:8 -msgid "Jul." -msgstr "Jul." - -#: templates/calendar.php:8 -msgid "Aug." -msgstr "Ago." - -#: templates/calendar.php:8 -msgid "Sep." -msgstr "Set." - -#: templates/calendar.php:8 -msgid "Oct." -msgstr "Out." - -#: templates/calendar.php:8 -msgid "Nov." -msgstr "Nov." - -#: templates/calendar.php:8 -msgid "Dec." -msgstr "Dez." - -#: templates/calendar.php:11 -msgid "All day" -msgstr "Todo o dia" - -#: templates/calendar.php:13 -msgid "Missing fields" -msgstr "Falta campos" - -#: templates/calendar.php:14 templates/part.eventform.php:19 -#: templates/part.showevent.php:11 -msgid "Title" -msgstr "Título" - -#: templates/calendar.php:16 -msgid "From Date" -msgstr "Da data" - -#: templates/calendar.php:17 -msgid "From Time" -msgstr "Da hora" - -#: templates/calendar.php:18 -msgid "To Date" -msgstr "Para data" - -#: templates/calendar.php:19 -msgid "To Time" -msgstr "Para hora" - -#: templates/calendar.php:20 -msgid "The event ends before it starts" -msgstr "O evento acaba antes de começar" - -#: templates/calendar.php:21 -msgid "There was a database fail" -msgstr "Houve uma falha de base de dados" - -#: templates/calendar.php:39 -msgid "Week" -msgstr "Semana" - -#: templates/calendar.php:40 -msgid "Month" -msgstr "Mês" - -#: templates/calendar.php:41 -msgid "List" -msgstr "Lista" - -#: templates/calendar.php:45 -msgid "Today" -msgstr "Hoje" - -#: templates/calendar.php:46 templates/calendar.php:47 -msgid "Settings" -msgstr "Configurações" - -#: templates/part.choosecalendar.php:2 -msgid "Your calendars" -msgstr "Os seus calendários" - -#: templates/part.choosecalendar.php:27 -#: templates/part.choosecalendar.rowfields.php:11 -msgid "CalDav Link" -msgstr "Endereço CalDav" - -#: templates/part.choosecalendar.php:31 -msgid "Shared calendars" -msgstr "Calendários partilhados" - -#: templates/part.choosecalendar.php:48 -msgid "No shared calendars" -msgstr "Nenhum calendário partilhado" - -#: templates/part.choosecalendar.rowfields.php:8 -msgid "Share Calendar" -msgstr "Partilhar calendário" - -#: templates/part.choosecalendar.rowfields.php:14 -msgid "Download" -msgstr "Transferir" - -#: templates/part.choosecalendar.rowfields.php:17 -msgid "Edit" -msgstr "Editar" - -#: templates/part.choosecalendar.rowfields.php:20 -#: templates/part.editevent.php:9 -msgid "Delete" -msgstr "Apagar" - -#: templates/part.choosecalendar.rowfields.shared.php:4 -msgid "shared with you by" -msgstr "Partilhado consigo por" - -#: templates/part.editcalendar.php:9 -msgid "New calendar" -msgstr "Novo calendário" - -#: templates/part.editcalendar.php:9 -msgid "Edit calendar" -msgstr "Editar calendário" - -#: templates/part.editcalendar.php:12 -msgid "Displayname" -msgstr "Nome de exibição" - -#: templates/part.editcalendar.php:23 -msgid "Active" -msgstr "Ativo" - -#: templates/part.editcalendar.php:29 -msgid "Calendar color" -msgstr "Cor do calendário" - -#: templates/part.editcalendar.php:42 -msgid "Save" -msgstr "Guardar" - -#: templates/part.editcalendar.php:42 templates/part.editevent.php:8 -#: templates/part.newevent.php:6 -msgid "Submit" -msgstr "Submeter" - -#: templates/part.editcalendar.php:43 -msgid "Cancel" -msgstr "Cancelar" - -#: templates/part.editevent.php:1 -msgid "Edit an event" -msgstr "Editar um evento" - -#: templates/part.editevent.php:10 -msgid "Export" -msgstr "Exportar" - -#: templates/part.eventform.php:8 templates/part.showevent.php:3 -msgid "Eventinfo" -msgstr "Informação do evento" - -#: templates/part.eventform.php:9 templates/part.showevent.php:4 -msgid "Repeating" -msgstr "Repetição" - -#: templates/part.eventform.php:10 templates/part.showevent.php:5 -msgid "Alarm" -msgstr "Alarme" - -#: templates/part.eventform.php:11 templates/part.showevent.php:6 -msgid "Attendees" -msgstr "Participantes" - -#: templates/part.eventform.php:13 -msgid "Share" -msgstr "Partilhar" - -#: templates/part.eventform.php:21 -msgid "Title of the Event" -msgstr "Título do evento" - -#: templates/part.eventform.php:27 templates/part.showevent.php:19 -msgid "Category" -msgstr "Categoria" - -#: templates/part.eventform.php:29 -msgid "Separate categories with commas" -msgstr "Separe categorias por virgulas" - -#: templates/part.eventform.php:30 -msgid "Edit categories" -msgstr "Editar categorias" - -#: templates/part.eventform.php:56 templates/part.showevent.php:52 -msgid "All Day Event" -msgstr "Evento de dia inteiro" - -#: templates/part.eventform.php:60 templates/part.showevent.php:56 -msgid "From" -msgstr "De" - -#: templates/part.eventform.php:68 templates/part.showevent.php:64 -msgid "To" -msgstr "Para" - -#: templates/part.eventform.php:76 templates/part.showevent.php:72 -msgid "Advanced options" -msgstr "Opções avançadas" - -#: templates/part.eventform.php:81 templates/part.showevent.php:77 -msgid "Location" -msgstr "Localização" - -#: templates/part.eventform.php:83 -msgid "Location of the Event" -msgstr "Localização do evento" - -#: templates/part.eventform.php:89 templates/part.showevent.php:85 -msgid "Description" -msgstr "Descrição" - -#: templates/part.eventform.php:91 -msgid "Description of the Event" -msgstr "Descrição do evento" - -#: templates/part.eventform.php:100 templates/part.showevent.php:95 -msgid "Repeat" -msgstr "Repetir" - -#: templates/part.eventform.php:107 templates/part.showevent.php:102 -msgid "Advanced" -msgstr "Avançado" - -#: templates/part.eventform.php:151 templates/part.showevent.php:146 -msgid "Select weekdays" -msgstr "Seleciona os dias da semana" - -#: templates/part.eventform.php:164 templates/part.eventform.php:177 -#: templates/part.showevent.php:159 templates/part.showevent.php:172 -msgid "Select days" -msgstr "Seleciona os dias" - -#: templates/part.eventform.php:169 templates/part.showevent.php:164 -msgid "and the events day of year." -msgstr "e o dia de eventos do ano." - -#: templates/part.eventform.php:182 templates/part.showevent.php:177 -msgid "and the events day of month." -msgstr "e o dia de eventos do mês." - -#: templates/part.eventform.php:190 templates/part.showevent.php:185 -msgid "Select months" -msgstr "Seleciona os meses" - -#: templates/part.eventform.php:203 templates/part.showevent.php:198 -msgid "Select weeks" -msgstr "Seleciona as semanas" - -#: templates/part.eventform.php:208 templates/part.showevent.php:203 -msgid "and the events week of year." -msgstr "e a semana de eventos do ano." - -#: templates/part.eventform.php:214 templates/part.showevent.php:209 -msgid "Interval" -msgstr "Intervalo" - -#: templates/part.eventform.php:220 templates/part.showevent.php:215 -msgid "End" -msgstr "Fim" - -#: templates/part.eventform.php:233 templates/part.showevent.php:228 -msgid "occurrences" -msgstr "ocorrências" - -#: templates/part.import.php:14 -msgid "create a new calendar" -msgstr "criar novo calendário" - -#: templates/part.import.php:17 -msgid "Import a calendar file" -msgstr "Importar um ficheiro de calendário" - -#: templates/part.import.php:24 -msgid "Please choose a calendar" -msgstr "Escolha um calendário por favor" - -#: templates/part.import.php:36 -msgid "Name of new calendar" -msgstr "Nome do novo calendário" - -#: templates/part.import.php:44 -msgid "Take an available name!" -msgstr "Escolha um nome disponível!" - -#: templates/part.import.php:45 -msgid "" -"A Calendar with this name already exists. If you continue anyhow, these " -"calendars will be merged." -msgstr "Já existe um Calendário com esse nome. Se mesmo assim continuar, esses calendários serão fundidos." - -#: templates/part.import.php:47 -msgid "Import" -msgstr "Importar" - -#: templates/part.import.php:56 -msgid "Close Dialog" -msgstr "Fechar diálogo" - -#: templates/part.newevent.php:1 -msgid "Create a new event" -msgstr "Criar novo evento" - -#: templates/part.showevent.php:1 -msgid "View an event" -msgstr "Ver um evento" - -#: templates/part.showevent.php:23 -msgid "No categories selected" -msgstr "Nenhuma categoria seleccionada" - -#: templates/part.showevent.php:37 -msgid "of" -msgstr "de" - -#: templates/part.showevent.php:59 templates/part.showevent.php:67 -msgid "at" -msgstr "em" - -#: templates/settings.php:10 -msgid "General" -msgstr "Geral" - -#: templates/settings.php:15 -msgid "Timezone" -msgstr "Zona horária" - -#: templates/settings.php:47 -msgid "Update timezone automatically" -msgstr "Actualizar automaticamente o fuso horário" - -#: templates/settings.php:52 -msgid "Time format" -msgstr "Formato da hora" - -#: templates/settings.php:57 -msgid "24h" -msgstr "24h" - -#: templates/settings.php:58 -msgid "12h" -msgstr "12h" - -#: templates/settings.php:64 -msgid "Start week on" -msgstr "Começar semana em" - -#: templates/settings.php:76 -msgid "Cache" -msgstr "Memória de pré-carregamento" - -#: templates/settings.php:80 -msgid "Clear cache for repeating events" -msgstr "Limpar a memória de pré carregamento para eventos recorrentes" - -#: templates/settings.php:85 -msgid "URLs" -msgstr "Endereço(s) web" - -#: templates/settings.php:87 -msgid "Calendar CalDAV syncing addresses" -msgstr "Endereços de sincronização de calendários CalDAV" - -#: templates/settings.php:87 -msgid "more info" -msgstr "mais informação" - -#: templates/settings.php:89 -msgid "Primary address (Kontact et al)" -msgstr "Endereço principal (contactos et al.)" - -#: templates/settings.php:91 -msgid "iOS/OS X" -msgstr "iOS/OS X" - -#: templates/settings.php:93 -msgid "Read only iCalendar link(s)" -msgstr "Ligaç(ão/ões) só de leitura do iCalendar" - -#: templates/share.dropdown.php:20 -msgid "Users" -msgstr "Utilizadores" - -#: templates/share.dropdown.php:21 -msgid "select users" -msgstr "Selecione utilizadores" - -#: templates/share.dropdown.php:36 templates/share.dropdown.php:62 -msgid "Editable" -msgstr "Editavel" - -#: templates/share.dropdown.php:48 -msgid "Groups" -msgstr "Grupos" - -#: templates/share.dropdown.php:49 -msgid "select groups" -msgstr "Selecione grupos" - -#: templates/share.dropdown.php:75 -msgid "make public" -msgstr "Tornar público" diff --git a/l10n/pt_PT/contacts.po b/l10n/pt_PT/contacts.po deleted file mode 100644 index ee8c370515ad40589224bfb56cef7aa74e82c43a..0000000000000000000000000000000000000000 --- a/l10n/pt_PT/contacts.po +++ /dev/null @@ -1,956 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# , 2012. -# , 2011. -# Helder Meneses , 2012. -# , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-24 02:02+0200\n" -"PO-Revision-Date: 2012-08-24 00:03+0000\n" -"Last-Translator: I Robot \n" -"Language-Team: Portuguese (Portugal) (http://www.transifex.com/projects/p/owncloud/language/pt_PT/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: pt_PT\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: ajax/addressbook/activate.php:24 ajax/addressbook/update.php:32 -msgid "Error (de)activating addressbook." -msgstr "Erro a (des)ativar o livro de endereços" - -#: ajax/addressbook/delete.php:31 ajax/addressbook/update.php:20 -#: ajax/contact/addproperty.php:42 ajax/contact/delete.php:32 -#: ajax/contact/saveproperty.php:39 -msgid "id is not set." -msgstr "id não está definido" - -#: ajax/addressbook/update.php:24 -msgid "Cannot update addressbook with an empty name." -msgstr "Não é possivel actualizar o livro de endereços com o nome vazio." - -#: ajax/addressbook/update.php:28 -msgid "Error updating addressbook." -msgstr "Erro a atualizar o livro de endereços" - -#: ajax/categories/categoriesfor.php:17 -msgid "No ID provided" -msgstr "Nenhum ID inserido" - -#: ajax/categories/categoriesfor.php:34 -msgid "Error setting checksum." -msgstr "Erro a definir checksum." - -#: ajax/categories/delete.php:19 -msgid "No categories selected for deletion." -msgstr "Nenhuma categoria selecionada para eliminar." - -#: ajax/categories/delete.php:26 -msgid "No address books found." -msgstr "Nenhum livro de endereços encontrado." - -#: ajax/categories/delete.php:34 -msgid "No contacts found." -msgstr "Nenhum contacto encontrado." - -#: ajax/contact/add.php:47 -msgid "There was an error adding the contact." -msgstr "Erro ao adicionar contato" - -#: ajax/contact/addproperty.php:39 ajax/contact/saveproperty.php:36 -msgid "element name is not set." -msgstr "o nome do elemento não está definido." - -#: ajax/contact/addproperty.php:46 -msgid "Could not parse contact: " -msgstr "Incapaz de processar contacto" - -#: ajax/contact/addproperty.php:56 -msgid "Cannot add empty property." -msgstr "Não é possivel adicionar uma propriedade vazia" - -#: ajax/contact/addproperty.php:67 -msgid "At least one of the address fields has to be filled out." -msgstr "Pelo menos um dos campos de endereço precisa de estar preenchido" - -#: ajax/contact/addproperty.php:76 -msgid "Trying to add duplicate property: " -msgstr "A tentar adicionar propriedade duplicada: " - -#: ajax/contact/addproperty.php:115 ajax/contact/saveproperty.php:93 -msgid "Missing IM parameter." -msgstr "Falta o parâmetro de mensagens instantâneas (IM)" - -#: ajax/contact/addproperty.php:119 ajax/contact/saveproperty.php:97 -msgid "Unknown IM: " -msgstr "Mensagens instantâneas desconhecida (IM)" - -#: ajax/contact/deleteproperty.php:37 -msgid "Information about vCard is incorrect. Please reload the page." -msgstr "A informação sobre o vCard está incorreta. Por favor refresque a página" - -#: ajax/contact/details.php:31 -msgid "Missing ID" -msgstr "Falta ID" - -#: ajax/contact/details.php:36 -msgid "Error parsing VCard for ID: \"" -msgstr "Erro a analisar VCard para o ID: \"" - -#: ajax/contact/saveproperty.php:42 -msgid "checksum is not set." -msgstr "Checksum não está definido." - -#: ajax/contact/saveproperty.php:62 -msgid "Information about vCard is incorrect. Please reload the page: " -msgstr "A informação sobre o VCard está incorrecta. Por favor refresque a página: " - -#: ajax/contact/saveproperty.php:69 -msgid "Something went FUBAR. " -msgstr "Algo provocou um FUBAR. " - -#: ajax/currentphoto.php:30 ajax/oc_photo.php:28 ajax/uploadphoto.php:36 -#: ajax/uploadphoto.php:68 -msgid "No contact ID was submitted." -msgstr "Nenhum ID de contacto definido." - -#: ajax/currentphoto.php:36 -msgid "Error reading contact photo." -msgstr "Erro a ler a foto do contacto." - -#: ajax/currentphoto.php:48 -msgid "Error saving temporary file." -msgstr "Erro a guardar ficheiro temporário." - -#: ajax/currentphoto.php:51 -msgid "The loading photo is not valid." -msgstr "A foto carregada não é valida." - -#: ajax/editname.php:31 -msgid "Contact ID is missing." -msgstr "Falta o ID do contacto." - -#: ajax/oc_photo.php:32 -msgid "No photo path was submitted." -msgstr "Nenhum caminho da foto definido." - -#: ajax/oc_photo.php:39 -msgid "File doesn't exist:" -msgstr "O ficheiro não existe:" - -#: ajax/oc_photo.php:44 ajax/oc_photo.php:47 -msgid "Error loading image." -msgstr "Erro a carregar a imagem." - -#: ajax/savecrop.php:69 -msgid "Error getting contact object." -msgstr "Erro a obter o objecto dos contactos" - -#: ajax/savecrop.php:79 -msgid "Error getting PHOTO property." -msgstr "Erro a obter a propriedade Foto" - -#: ajax/savecrop.php:98 -msgid "Error saving contact." -msgstr "Erro a guardar o contacto." - -#: ajax/savecrop.php:109 -msgid "Error resizing image" -msgstr "Erro a redimensionar a imagem" - -#: ajax/savecrop.php:112 -msgid "Error cropping image" -msgstr "Erro a recorar a imagem" - -#: ajax/savecrop.php:115 -msgid "Error creating temporary image" -msgstr "Erro a criar a imagem temporária" - -#: ajax/savecrop.php:118 -msgid "Error finding image: " -msgstr "Erro enquanto pesquisava pela imagem: " - -#: ajax/uploadimport.php:44 ajax/uploadimport.php:76 -msgid "Error uploading contacts to storage." -msgstr "Erro a carregar os contactos para o armazenamento." - -#: ajax/uploadimport.php:61 ajax/uploadphoto.php:77 -msgid "There is no error, the file uploaded with success" -msgstr "Não ocorreu erros, o ficheiro foi submetido com sucesso" - -#: ajax/uploadimport.php:62 ajax/uploadphoto.php:78 -msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" -msgstr "O tamanho do ficheiro carregado excede o parametro upload_max_filesize em php.ini" - -#: ajax/uploadimport.php:63 ajax/uploadphoto.php:79 -msgid "" -"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " -"the HTML form" -msgstr "O tamanho do ficheiro carregado ultrapassa o valor MAX_FILE_SIZE definido no formulário HTML" - -#: ajax/uploadimport.php:64 ajax/uploadphoto.php:80 -msgid "The uploaded file was only partially uploaded" -msgstr "O ficheiro seleccionado foi apenas carregado parcialmente" - -#: ajax/uploadimport.php:65 ajax/uploadphoto.php:81 -msgid "No file was uploaded" -msgstr "Nenhum ficheiro foi submetido" - -#: ajax/uploadimport.php:66 ajax/uploadphoto.php:82 -msgid "Missing a temporary folder" -msgstr "Está a faltar a pasta temporária" - -#: ajax/uploadphoto.php:59 ajax/uploadphoto.php:109 -msgid "Couldn't save temporary image: " -msgstr "Não foi possível guardar a imagem temporária: " - -#: ajax/uploadphoto.php:62 ajax/uploadphoto.php:112 -msgid "Couldn't load temporary image: " -msgstr "Não é possível carregar a imagem temporária: " - -#: ajax/uploadphoto.php:71 -msgid "No file was uploaded. Unknown error" -msgstr "Nenhum ficheiro foi carregado. Erro desconhecido" - -#: appinfo/app.php:21 -msgid "Contacts" -msgstr "Contactos" - -#: js/contacts.js:71 -msgid "Sorry, this functionality has not been implemented yet" -msgstr "Desculpe, esta funcionalidade ainda não está implementada" - -#: js/contacts.js:71 -msgid "Not implemented" -msgstr "Não implementado" - -#: js/contacts.js:76 -msgid "Couldn't get a valid address." -msgstr "Não foi possível obter um endereço válido." - -#: js/contacts.js:76 js/contacts.js:365 js/contacts.js:381 js/contacts.js:393 -#: js/contacts.js:723 js/contacts.js:763 js/contacts.js:789 js/contacts.js:921 -#: js/contacts.js:927 js/contacts.js:939 js/contacts.js:976 -#: js/contacts.js:1250 js/contacts.js:1258 js/contacts.js:1267 -#: js/contacts.js:1302 js/contacts.js:1338 js/contacts.js:1353 -#: js/contacts.js:1379 js/contacts.js:1609 js/contacts.js:1644 -#: js/contacts.js:1664 js/settings.js:26 js/settings.js:43 js/settings.js:68 -msgid "Error" -msgstr "Erro" - -#: js/contacts.js:424 -msgid "You do not have permission to add contacts to " -msgstr "" - -#: js/contacts.js:425 -msgid "Please select one of your own address books." -msgstr "" - -#: js/contacts.js:425 -msgid "Permission error" -msgstr "" - -#: js/contacts.js:763 -msgid "This property has to be non-empty." -msgstr "Esta propriedade não pode estar vazia." - -#: js/contacts.js:789 -msgid "Couldn't serialize elements." -msgstr "Não foi possivel serializar os elementos" - -#: js/contacts.js:921 js/contacts.js:939 -msgid "" -"'deleteProperty' called without type argument. Please report at " -"bugs.owncloud.org" -msgstr "'deleteProperty' chamada sem argumento definido. Por favor report o problema em bugs.owncloud.org" - -#: js/contacts.js:958 -msgid "Edit name" -msgstr "Editar nome" - -#: js/contacts.js:1250 -msgid "No files selected for upload." -msgstr "Nenhum ficheiro seleccionado para enviar." - -#: js/contacts.js:1258 -msgid "" -"The file you are trying to upload exceed the maximum size for file uploads " -"on this server." -msgstr "O tamanho do ficheiro que está a tentar carregar ultrapassa o limite máximo definido para ficheiros no servidor." - -#: js/contacts.js:1322 -msgid "Error loading profile picture." -msgstr "Erro ao carregar imagem de perfil." - -#: js/contacts.js:1457 js/contacts.js:1498 js/contacts.js:1517 -#: js/contacts.js:1560 -msgid "Select type" -msgstr "Seleccionar tipo" - -#: js/contacts.js:1578 -msgid "" -"Some contacts are marked for deletion, but not deleted yet. Please wait for " -"them to be deleted." -msgstr "Alguns contactos forma marcados para apagar, mas ainda não foram apagados. Por favor espere que ele sejam apagados." - -#: js/contacts.js:1649 -msgid "Do you want to merge these address books?" -msgstr "Quer fundir estes Livros de endereços?" - -#: js/loader.js:49 -msgid "Result: " -msgstr "Resultado: " - -#: js/loader.js:49 -msgid " imported, " -msgstr " importado, " - -#: js/loader.js:49 -msgid " failed." -msgstr " falhou." - -#: js/settings.js:68 -msgid "Displayname cannot be empty." -msgstr "Displayname não pode ser vazio" - -#: lib/app.php:36 -msgid "Addressbook not found: " -msgstr "Livro de endereços não encontrado." - -#: lib/app.php:52 -msgid "This is not your addressbook." -msgstr "Esta não é a sua lista de contactos" - -#: lib/app.php:71 -msgid "Contact could not be found." -msgstr "O contacto não foi encontrado" - -#: lib/app.php:116 -msgid "Jabber" -msgstr "Jabber" - -#: lib/app.php:121 -msgid "AIM" -msgstr "AIM" - -#: lib/app.php:126 -msgid "MSN" -msgstr "MSN" - -#: lib/app.php:131 -msgid "Twitter" -msgstr "Twitter" - -#: lib/app.php:136 -msgid "GoogleTalk" -msgstr "GoogleTalk" - -#: lib/app.php:141 -msgid "Facebook" -msgstr "Facebook" - -#: lib/app.php:146 -msgid "XMPP" -msgstr "XMPP" - -#: lib/app.php:151 -msgid "ICQ" -msgstr "ICQ" - -#: lib/app.php:156 -msgid "Yahoo" -msgstr "Yahoo" - -#: lib/app.php:161 -msgid "Skype" -msgstr "Skype" - -#: lib/app.php:166 -msgid "QQ" -msgstr "QQ" - -#: lib/app.php:171 -msgid "GaduGadu" -msgstr "GaduGadu" - -#: lib/app.php:194 lib/app.php:202 lib/app.php:213 lib/app.php:266 -msgid "Work" -msgstr "Emprego" - -#: lib/app.php:195 lib/app.php:200 lib/app.php:214 -msgid "Home" -msgstr "Casa" - -#: lib/app.php:196 lib/app.php:209 lib/app.php:262 lib/vcard.php:593 -msgid "Other" -msgstr "Outro" - -#: lib/app.php:201 -msgid "Mobile" -msgstr "Telemovel" - -#: lib/app.php:203 -msgid "Text" -msgstr "Texto" - -#: lib/app.php:204 -msgid "Voice" -msgstr "Voz" - -#: lib/app.php:205 -msgid "Message" -msgstr "Mensagem" - -#: lib/app.php:206 -msgid "Fax" -msgstr "Fax" - -#: lib/app.php:207 -msgid "Video" -msgstr "Vídeo" - -#: lib/app.php:208 -msgid "Pager" -msgstr "Pager" - -#: lib/app.php:215 -msgid "Internet" -msgstr "Internet" - -#: lib/app.php:252 templates/part.contact.php:45 -#: templates/part.contact.php:128 -msgid "Birthday" -msgstr "Aniversário" - -#: lib/app.php:253 -msgid "Business" -msgstr "Empresa" - -#: lib/app.php:254 -msgid "Call" -msgstr "Telefonar" - -#: lib/app.php:255 -msgid "Clients" -msgstr "Clientes" - -#: lib/app.php:256 -msgid "Deliverer" -msgstr "Fornecedor" - -#: lib/app.php:257 -msgid "Holidays" -msgstr "Férias" - -#: lib/app.php:258 -msgid "Ideas" -msgstr "Ideias" - -#: lib/app.php:259 -msgid "Journey" -msgstr "Viagem" - -#: lib/app.php:260 -msgid "Jubilee" -msgstr "Jubileu" - -#: lib/app.php:261 -msgid "Meeting" -msgstr "Encontro" - -#: lib/app.php:263 -msgid "Personal" -msgstr "Pessoal" - -#: lib/app.php:264 -msgid "Projects" -msgstr "Projectos" - -#: lib/app.php:265 -msgid "Questions" -msgstr "Questões" - -#: lib/hooks.php:102 -msgid "{name}'s Birthday" -msgstr "Aniversário de {name}" - -#: lib/search.php:15 -msgid "Contact" -msgstr "Contacto" - -#: lib/vcard.php:408 -msgid "You do not have the permissions to edit this contact." -msgstr "" - -#: lib/vcard.php:483 -msgid "You do not have the permissions to delete this contact." -msgstr "" - -#: templates/index.php:14 -msgid "Add Contact" -msgstr "Adicionar Contacto" - -#: templates/index.php:15 templates/index.php:16 templates/part.import.php:17 -msgid "Import" -msgstr "Importar" - -#: templates/index.php:18 -msgid "Settings" -msgstr "Configurações" - -#: templates/index.php:18 templates/settings.php:9 -msgid "Addressbooks" -msgstr "Livros de endereços" - -#: templates/index.php:36 templates/part.import.php:24 -msgid "Close" -msgstr "Fechar" - -#: templates/index.php:37 -msgid "Keyboard shortcuts" -msgstr "Atalhos de teclado" - -#: templates/index.php:39 -msgid "Navigation" -msgstr "Navegação" - -#: templates/index.php:42 -msgid "Next contact in list" -msgstr "Próximo contacto na lista" - -#: templates/index.php:44 -msgid "Previous contact in list" -msgstr "Contacto anterior na lista" - -#: templates/index.php:46 -msgid "Expand/collapse current addressbook" -msgstr "Expandir/encolher o livro de endereços atual" - -#: templates/index.php:48 -msgid "Next addressbook" -msgstr "Próximo livro de endereços" - -#: templates/index.php:50 -msgid "Previous addressbook" -msgstr "Livro de endereços anterior" - -#: templates/index.php:54 -msgid "Actions" -msgstr "Ações" - -#: templates/index.php:57 -msgid "Refresh contacts list" -msgstr "Recarregar lista de contactos" - -#: templates/index.php:59 -msgid "Add new contact" -msgstr "Adicionar novo contacto" - -#: templates/index.php:61 -msgid "Add new addressbook" -msgstr "Adicionar novo Livro de endereços" - -#: templates/index.php:63 -msgid "Delete current contact" -msgstr "Apagar o contacto atual" - -#: templates/part.contact.php:17 -msgid "Drop photo to upload" -msgstr "Arraste e solte fotos para carregar" - -#: templates/part.contact.php:19 -msgid "Delete current photo" -msgstr "Eliminar a foto actual" - -#: templates/part.contact.php:20 -msgid "Edit current photo" -msgstr "Editar a foto actual" - -#: templates/part.contact.php:21 -msgid "Upload new photo" -msgstr "Carregar nova foto" - -#: templates/part.contact.php:22 -msgid "Select photo from ownCloud" -msgstr "Selecionar uma foto da ownCloud" - -#: templates/part.contact.php:35 -msgid "Format custom, Short name, Full name, Reverse or Reverse with comma" -msgstr "Formate personalizado, Nome curto, Nome completo, Reverso ou Reverso com virgula" - -#: templates/part.contact.php:36 -msgid "Edit name details" -msgstr "Editar detalhes do nome" - -#: templates/part.contact.php:39 templates/part.contact.php:40 -#: templates/part.contact.php:126 -msgid "Organization" -msgstr "Organização" - -#: templates/part.contact.php:40 templates/part.contact.php:42 -#: templates/part.contact.php:44 templates/part.contact.php:46 -#: templates/part.contact.php:50 templates/settings.php:36 -msgid "Delete" -msgstr "Apagar" - -#: templates/part.contact.php:41 templates/part.contact.php:127 -msgid "Nickname" -msgstr "Alcunha" - -#: templates/part.contact.php:42 -msgid "Enter nickname" -msgstr "Introduza alcunha" - -#: templates/part.contact.php:43 templates/part.contact.php:134 -msgid "Web site" -msgstr "Página web" - -#: templates/part.contact.php:44 -msgid "http://www.somesite.com" -msgstr "http://www.somesite.com" - -#: templates/part.contact.php:44 -msgid "Go to web site" -msgstr "Ir para página web" - -#: templates/part.contact.php:46 -msgid "dd-mm-yyyy" -msgstr "dd-mm-aaaa" - -#: templates/part.contact.php:47 templates/part.contact.php:135 -msgid "Groups" -msgstr "Grupos" - -#: templates/part.contact.php:49 -msgid "Separate groups with commas" -msgstr "Separe os grupos usando virgulas" - -#: templates/part.contact.php:50 -msgid "Edit groups" -msgstr "Editar grupos" - -#: templates/part.contact.php:59 templates/part.contact.php:73 -#: templates/part.contact.php:98 -msgid "Preferred" -msgstr "Preferido" - -#: templates/part.contact.php:60 -msgid "Please specify a valid email address." -msgstr "Por favor indique um endereço de correio válido" - -#: templates/part.contact.php:60 -msgid "Enter email address" -msgstr "Introduza endereço de email" - -#: templates/part.contact.php:64 -msgid "Mail to address" -msgstr "Enviar correio para o endereço" - -#: templates/part.contact.php:65 -msgid "Delete email address" -msgstr "Eliminar o endereço de correio" - -#: templates/part.contact.php:75 -msgid "Enter phone number" -msgstr "Insira o número de telefone" - -#: templates/part.contact.php:79 -msgid "Delete phone number" -msgstr "Eliminar o número de telefone" - -#: templates/part.contact.php:100 -msgid "Instant Messenger" -msgstr "Mensageiro instantâneo" - -#: templates/part.contact.php:101 -msgid "Delete IM" -msgstr "Apagar mensageiro instantâneo (IM)" - -#: templates/part.contact.php:110 -msgid "View on map" -msgstr "Ver no mapa" - -#: templates/part.contact.php:110 -msgid "Edit address details" -msgstr "Editar os detalhes do endereço" - -#: templates/part.contact.php:116 -msgid "Add notes here." -msgstr "Insira notas aqui." - -#: templates/part.contact.php:124 -msgid "Add field" -msgstr "Adicionar campo" - -#: templates/part.contact.php:129 -msgid "Phone" -msgstr "Telefone" - -#: templates/part.contact.php:130 -msgid "Email" -msgstr "Email" - -#: templates/part.contact.php:131 -msgid "Instant Messaging" -msgstr "Mensagens Instantâneas" - -#: templates/part.contact.php:132 -msgid "Address" -msgstr "Morada" - -#: templates/part.contact.php:133 -msgid "Note" -msgstr "Nota" - -#: templates/part.contact.php:138 -msgid "Download contact" -msgstr "Transferir contacto" - -#: templates/part.contact.php:139 -msgid "Delete contact" -msgstr "Apagar contato" - -#: templates/part.cropphoto.php:65 -msgid "The temporary image has been removed from cache." -msgstr "A imagem temporária foi retirada do cache." - -#: templates/part.edit_address_dialog.php:6 -msgid "Edit address" -msgstr "Editar endereço" - -#: templates/part.edit_address_dialog.php:10 -msgid "Type" -msgstr "Tipo" - -#: templates/part.edit_address_dialog.php:18 -#: templates/part.edit_address_dialog.php:21 -msgid "PO Box" -msgstr "Apartado" - -#: templates/part.edit_address_dialog.php:24 -msgid "Street address" -msgstr "Endereço da Rua" - -#: templates/part.edit_address_dialog.php:27 -msgid "Street and number" -msgstr "Rua e número" - -#: templates/part.edit_address_dialog.php:30 -msgid "Extended" -msgstr "Extendido" - -#: templates/part.edit_address_dialog.php:33 -msgid "Apartment number etc." -msgstr "Número de Apartamento, etc." - -#: templates/part.edit_address_dialog.php:36 -#: templates/part.edit_address_dialog.php:39 -msgid "City" -msgstr "Cidade" - -#: templates/part.edit_address_dialog.php:42 -msgid "Region" -msgstr "Região" - -#: templates/part.edit_address_dialog.php:45 -msgid "E.g. state or province" -msgstr "Por Ex. Estado ou província" - -#: templates/part.edit_address_dialog.php:48 -msgid "Zipcode" -msgstr "Código Postal" - -#: templates/part.edit_address_dialog.php:51 -msgid "Postal code" -msgstr "Código Postal" - -#: templates/part.edit_address_dialog.php:54 -#: templates/part.edit_address_dialog.php:57 -msgid "Country" -msgstr "País" - -#: templates/part.edit_name_dialog.php:16 -msgid "Addressbook" -msgstr "Livro de endereços" - -#: templates/part.edit_name_dialog.php:23 -msgid "Hon. prefixes" -msgstr "Prefixos honoráveis" - -#: templates/part.edit_name_dialog.php:27 -msgid "Miss" -msgstr "Menina" - -#: templates/part.edit_name_dialog.php:28 -msgid "Ms" -msgstr "Sra" - -#: templates/part.edit_name_dialog.php:29 -msgid "Mr" -msgstr "Sr" - -#: templates/part.edit_name_dialog.php:30 -msgid "Sir" -msgstr "Sr" - -#: templates/part.edit_name_dialog.php:31 -msgid "Mrs" -msgstr "Senhora" - -#: templates/part.edit_name_dialog.php:32 -msgid "Dr" -msgstr "Dr" - -#: templates/part.edit_name_dialog.php:35 -msgid "Given name" -msgstr "Nome introduzido" - -#: templates/part.edit_name_dialog.php:37 -msgid "Additional names" -msgstr "Nomes adicionais" - -#: templates/part.edit_name_dialog.php:39 -msgid "Family name" -msgstr "Nome de familia" - -#: templates/part.edit_name_dialog.php:41 -msgid "Hon. suffixes" -msgstr "Sufixos Honoráveis" - -#: templates/part.edit_name_dialog.php:45 -msgid "J.D." -msgstr "D.J." - -#: templates/part.edit_name_dialog.php:46 -msgid "M.D." -msgstr "D.M." - -#: templates/part.edit_name_dialog.php:47 -msgid "D.O." -msgstr "Dr." - -#: templates/part.edit_name_dialog.php:48 -msgid "D.C." -msgstr "Dr." - -#: templates/part.edit_name_dialog.php:49 -msgid "Ph.D." -msgstr "Dr." - -#: templates/part.edit_name_dialog.php:50 -msgid "Esq." -msgstr "Esq." - -#: templates/part.edit_name_dialog.php:51 -msgid "Jr." -msgstr "Jr." - -#: templates/part.edit_name_dialog.php:52 -msgid "Sn." -msgstr "r." - -#: templates/part.import.php:1 -msgid "Import a contacts file" -msgstr "Importar um ficheiro de contactos" - -#: templates/part.import.php:6 -msgid "Please choose the addressbook" -msgstr "Por favor seleccione o livro de endereços" - -#: templates/part.import.php:10 -msgid "create a new addressbook" -msgstr "Criar um novo livro de endereços" - -#: templates/part.import.php:15 -msgid "Name of new addressbook" -msgstr "Nome do novo livro de endereços" - -#: templates/part.import.php:20 -msgid "Importing contacts" -msgstr "A importar os contactos" - -#: templates/part.no_contacts.php:3 -msgid "You have no contacts in your addressbook." -msgstr "Não tem contactos no seu livro de endereços." - -#: templates/part.no_contacts.php:5 -msgid "Add contact" -msgstr "Adicionar contacto" - -#: templates/part.selectaddressbook.php:1 -msgid "Select Address Books" -msgstr "Selecionar Livros de contactos" - -#: templates/part.selectaddressbook.php:27 -msgid "Enter name" -msgstr "Introduzir nome" - -#: templates/part.selectaddressbook.php:29 -msgid "Enter description" -msgstr "Introduzir descrição" - -#: templates/settings.php:3 -msgid "CardDAV syncing addresses" -msgstr "CardDAV a sincronizar endereços" - -#: templates/settings.php:3 -msgid "more info" -msgstr "mais informação" - -#: templates/settings.php:5 -msgid "Primary address (Kontact et al)" -msgstr "Endereço primario (Kontact et al)" - -#: templates/settings.php:7 -msgid "iOS/OS X" -msgstr "iOS/OS X" - -#: templates/settings.php:20 -msgid "Show CardDav link" -msgstr "Mostrar ligação CardDAV" - -#: templates/settings.php:23 -msgid "Show read-only VCF link" -msgstr "Mostrar ligações VCF só de leitura" - -#: templates/settings.php:26 -msgid "Share" -msgstr "Partilhar" - -#: templates/settings.php:29 -msgid "Download" -msgstr "Transferir" - -#: templates/settings.php:33 -msgid "Edit" -msgstr "Editar" - -#: templates/settings.php:43 -msgid "New Address Book" -msgstr "Novo livro de endereços" - -#: templates/settings.php:44 -msgid "Name" -msgstr "Nome" - -#: templates/settings.php:45 -msgid "Description" -msgstr "Descrição" - -#: templates/settings.php:46 -msgid "Save" -msgstr "Guardar" - -#: templates/settings.php:47 -msgid "Cancel" -msgstr "Cancelar" - -#: templates/settings.php:52 -msgid "More..." -msgstr "Mais..." diff --git a/l10n/pt_PT/core.po b/l10n/pt_PT/core.po index 000d5c3ff384f4f47e38a3f79c79ed426a5a9c39..7798c921dbef36688f88caa448e0be0aba0be093 100644 --- a/l10n/pt_PT/core.po +++ b/l10n/pt_PT/core.po @@ -3,17 +3,19 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# , 2012. # Duarte Velez Grilo , 2012. # , 2011, 2012. # Helder Meneses , 2012. +# Nelson Rosado , 2012. # , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-16 02:04+0200\n" -"PO-Revision-Date: 2012-10-16 00:05+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-11-17 00:01+0100\n" +"PO-Revision-Date: 2012-11-16 00:32+0000\n" +"Last-Translator: Mouxy \n" "Language-Team: Portuguese (Portugal) (http://www.transifex.com/projects/p/owncloud/language/pt_PT/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -21,209 +23,241 @@ msgstr "" "Language: pt_PT\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: ajax/vcategories/add.php:23 ajax/vcategories/delete.php:23 -msgid "Application name not provided." -msgstr "Nome da aplicação não definida." +#: ajax/vcategories/add.php:26 ajax/vcategories/edit.php:25 +msgid "Category type not provided." +msgstr "Tipo de categoria não fornecido" -#: ajax/vcategories/add.php:29 +#: ajax/vcategories/add.php:30 msgid "No category to add?" msgstr "Nenhuma categoria para adicionar?" -#: ajax/vcategories/add.php:36 +#: ajax/vcategories/add.php:37 msgid "This category already exists: " msgstr "Esta categoria já existe:" -#: js/js.js:238 templates/layout.user.php:49 templates/layout.user.php:50 +#: ajax/vcategories/addToFavorites.php:26 ajax/vcategories/delete.php:27 +#: ajax/vcategories/favorites.php:24 +#: ajax/vcategories/removeFromFavorites.php:26 +msgid "Object type not provided." +msgstr "Tipo de objecto não fornecido" + +#: ajax/vcategories/addToFavorites.php:30 +#: ajax/vcategories/removeFromFavorites.php:30 +#, php-format +msgid "%s ID not provided." +msgstr "ID %s não fornecido" + +#: ajax/vcategories/addToFavorites.php:35 +#, php-format +msgid "Error adding %s to favorites." +msgstr "Erro a adicionar %s aos favoritos" + +#: ajax/vcategories/delete.php:35 js/oc-vcategories.js:136 +msgid "No categories selected for deletion." +msgstr "Nenhuma categoria seleccionar para eliminar" + +#: ajax/vcategories/removeFromFavorites.php:35 +#, php-format +msgid "Error removing %s from favorites." +msgstr "Erro a remover %s dos favoritos." + +#: js/js.js:259 templates/layout.user.php:60 templates/layout.user.php:61 msgid "Settings" msgstr "Definições" -#: js/js.js:670 -msgid "January" -msgstr "Janeiro" +#: js/js.js:704 +msgid "seconds ago" +msgstr "Minutos atrás" -#: js/js.js:670 -msgid "February" -msgstr "Fevereiro" +#: js/js.js:705 +msgid "1 minute ago" +msgstr "Falta 1 minuto" -#: js/js.js:670 -msgid "March" -msgstr "Março" +#: js/js.js:706 +msgid "{minutes} minutes ago" +msgstr "{minutes} minutos atrás" -#: js/js.js:670 -msgid "April" -msgstr "Abril" +#: js/js.js:707 +msgid "1 hour ago" +msgstr "Há 1 hora" -#: js/js.js:670 -msgid "May" -msgstr "Maio" +#: js/js.js:708 +msgid "{hours} hours ago" +msgstr "Há {hours} horas atrás" -#: js/js.js:670 -msgid "June" -msgstr "Junho" +#: js/js.js:709 +msgid "today" +msgstr "hoje" -#: js/js.js:671 -msgid "July" -msgstr "Julho" +#: js/js.js:710 +msgid "yesterday" +msgstr "ontem" -#: js/js.js:671 -msgid "August" -msgstr "Agosto" +#: js/js.js:711 +msgid "{days} days ago" +msgstr "{days} dias atrás" -#: js/js.js:671 -msgid "September" -msgstr "Setembro" +#: js/js.js:712 +msgid "last month" +msgstr "ultímo mês" -#: js/js.js:671 -msgid "October" -msgstr "Outubro" +#: js/js.js:713 +msgid "{months} months ago" +msgstr "Há {months} meses atrás" -#: js/js.js:671 -msgid "November" -msgstr "Novembro" +#: js/js.js:714 +msgid "months ago" +msgstr "meses atrás" -#: js/js.js:671 -msgid "December" -msgstr "Dezembro" +#: js/js.js:715 +msgid "last year" +msgstr "ano passado" -#: js/oc-dialogs.js:123 +#: js/js.js:716 +msgid "years ago" +msgstr "anos atrás" + +#: js/oc-dialogs.js:126 msgid "Choose" msgstr "Escolha" -#: js/oc-dialogs.js:143 js/oc-dialogs.js:163 +#: js/oc-dialogs.js:146 js/oc-dialogs.js:166 msgid "Cancel" msgstr "Cancelar" -#: js/oc-dialogs.js:159 +#: js/oc-dialogs.js:162 msgid "No" msgstr "Não" -#: js/oc-dialogs.js:160 +#: js/oc-dialogs.js:163 msgid "Yes" msgstr "Sim" -#: js/oc-dialogs.js:177 +#: js/oc-dialogs.js:180 msgid "Ok" msgstr "Ok" -#: js/oc-vcategories.js:68 -msgid "No categories selected for deletion." -msgstr "Nenhuma categoria seleccionar para eliminar" +#: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102 +#: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162 +msgid "The object type is not specified." +msgstr "O tipo de objecto não foi especificado" -#: js/oc-vcategories.js:68 js/share.js:114 js/share.js:121 js/share.js:497 -#: js/share.js:509 +#: js/oc-vcategories.js:95 js/oc-vcategories.js:125 js/oc-vcategories.js:136 +#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:525 +#: js/share.js:537 msgid "Error" msgstr "Erro" -#: js/share.js:103 +#: js/oc-vcategories.js:179 +msgid "The app name is not specified." +msgstr "O nome da aplicação não foi especificado" + +#: js/oc-vcategories.js:194 +msgid "The required file {file} is not installed!" +msgstr "O ficheiro necessário {file} não está instalado!" + +#: js/share.js:124 msgid "Error while sharing" msgstr "Erro ao partilhar" -#: js/share.js:114 +#: js/share.js:135 msgid "Error while unsharing" msgstr "Erro ao deixar de partilhar" -#: js/share.js:121 +#: js/share.js:142 msgid "Error while changing permissions" msgstr "Erro ao mudar permissões" -#: js/share.js:130 -msgid "Shared with you and the group" -msgstr "Partilhado consigo e o grupo" +#: js/share.js:151 +msgid "Shared with you and the group {group} by {owner}" +msgstr "Partilhado consigo e com o grupo {group} por {owner}" -#: js/share.js:130 -msgid "by" -msgstr "por" - -#: js/share.js:132 -msgid "Shared with you by" -msgstr "Partilhado consigo por" +#: js/share.js:153 +msgid "Shared with you by {owner}" +msgstr "Partilhado consigo por {owner}" -#: js/share.js:137 +#: js/share.js:158 msgid "Share with" msgstr "Partilhar com" -#: js/share.js:142 +#: js/share.js:163 msgid "Share with link" msgstr "Partilhar com link" -#: js/share.js:143 +#: js/share.js:164 msgid "Password protect" msgstr "Proteger com palavra-passe" -#: js/share.js:147 templates/installation.php:42 templates/login.php:24 +#: js/share.js:168 templates/installation.php:42 templates/login.php:24 #: templates/verify.php:13 msgid "Password" msgstr "Palavra chave" -#: js/share.js:152 +#: js/share.js:173 msgid "Set expiration date" msgstr "Especificar data de expiração" -#: js/share.js:153 +#: js/share.js:174 msgid "Expiration date" msgstr "Data de expiração" -#: js/share.js:185 +#: js/share.js:206 msgid "Share via email:" msgstr "Partilhar via email:" -#: js/share.js:187 +#: js/share.js:208 msgid "No people found" msgstr "Não foi encontrado ninguém" -#: js/share.js:214 +#: js/share.js:235 msgid "Resharing is not allowed" msgstr "Não é permitido partilhar de novo" -#: js/share.js:250 -msgid "Shared in" -msgstr "Partilhado em" - -#: js/share.js:250 -msgid "with" -msgstr "com" - #: js/share.js:271 +msgid "Shared in {item} with {user}" +msgstr "Partilhado em {item} com {user}" + +#: js/share.js:292 msgid "Unshare" msgstr "Deixar de partilhar" -#: js/share.js:283 +#: js/share.js:304 msgid "can edit" msgstr "pode editar" -#: js/share.js:285 +#: js/share.js:306 msgid "access control" msgstr "Controlo de acesso" -#: js/share.js:288 +#: js/share.js:309 msgid "create" msgstr "criar" -#: js/share.js:291 +#: js/share.js:312 msgid "update" msgstr "actualizar" -#: js/share.js:294 +#: js/share.js:315 msgid "delete" msgstr "apagar" -#: js/share.js:297 +#: js/share.js:318 msgid "share" msgstr "partilhar" -#: js/share.js:322 js/share.js:484 +#: js/share.js:343 js/share.js:512 js/share.js:514 msgid "Password protected" msgstr "Protegido com palavra-passe" -#: js/share.js:497 +#: js/share.js:525 msgid "Error unsetting expiration date" msgstr "Erro ao retirar a data de expiração" -#: js/share.js:509 +#: js/share.js:537 msgid "Error setting expiration date" msgstr "Erro ao aplicar a data de expiração" -#: lostpassword/index.php:26 +#: lostpassword/controller.php:47 msgid "ownCloud password reset" msgstr "Reposição da password ownCloud" @@ -236,12 +270,12 @@ msgid "You will receive a link to reset your password via Email." msgstr "Vai receber um endereço para repor a sua password" #: lostpassword/templates/lostpassword.php:5 -msgid "Requested" -msgstr "Pedido" +msgid "Reset email send." +msgstr "E-mail de reinicialização enviado." #: lostpassword/templates/lostpassword.php:8 -msgid "Login failed!" -msgstr "Conexão falhado!" +msgid "Request failed!" +msgstr "O pedido falhou!" #: lostpassword/templates/lostpassword.php:11 templates/installation.php:38 #: templates/login.php:20 @@ -300,25 +334,25 @@ msgstr "Cloud nao encontrada" msgid "Edit categories" msgstr "Editar categorias" -#: templates/edit_categories_dialog.php:14 +#: templates/edit_categories_dialog.php:16 msgid "Add" msgstr "Adicionar" #: templates/installation.php:23 templates/installation.php:31 msgid "Security Warning" -msgstr "" +msgstr "Aviso de Segurança" #: templates/installation.php:24 msgid "" "No secure random number generator is available, please enable the PHP " "OpenSSL extension." -msgstr "" +msgstr "Não existe nenhum gerador seguro de números aleatórios, por favor, active a extensão OpenSSL no PHP." #: templates/installation.php:26 msgid "" "Without a secure random number generator an attacker may be able to predict " "password reset tokens and take over your account." -msgstr "" +msgstr "Sem nenhum gerador seguro de números aleatórios, uma pessoa mal intencionada pode prever a sua password, reiniciar as seguranças adicionais e tomar conta da sua conta. " #: templates/installation.php:32 msgid "" @@ -327,7 +361,7 @@ msgid "" "strongly suggest that you configure your webserver in a way that the data " "directory is no longer accessible or you move the data directory outside the" " webserver document root." -msgstr "" +msgstr "A sua pasta com os dados e os seus ficheiros estão provavelmente acessíveis a partir das internet. Sugerimos veementemente que configure o seu servidor web de maneira a que a pasta com os dados deixe de ficar acessível, ou mova a pasta com os dados para fora da raiz de documentos do servidor web." #: templates/installation.php:36 msgid "Create an admin account" @@ -374,27 +408,103 @@ msgstr "Host da base de dados" msgid "Finish setup" msgstr "Acabar instalação" -#: templates/layout.guest.php:38 +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Sunday" +msgstr "Domingo" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Monday" +msgstr "Segunda" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Tuesday" +msgstr "Terça" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Wednesday" +msgstr "Quarta" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Thursday" +msgstr "Quinta" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Friday" +msgstr "Sexta" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Saturday" +msgstr "Sábado" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "January" +msgstr "Janeiro" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "February" +msgstr "Fevereiro" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "March" +msgstr "Março" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "April" +msgstr "Abril" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "May" +msgstr "Maio" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "June" +msgstr "Junho" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "July" +msgstr "Julho" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "August" +msgstr "Agosto" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "September" +msgstr "Setembro" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "October" +msgstr "Outubro" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "November" +msgstr "Novembro" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "December" +msgstr "Dezembro" + +#: templates/layout.guest.php:42 msgid "web services under your control" msgstr "serviços web sob o seu controlo" -#: templates/layout.user.php:34 +#: templates/layout.user.php:45 msgid "Log out" msgstr "Sair" #: templates/login.php:8 msgid "Automatic logon rejected!" -msgstr "" +msgstr "Login automático rejeitado!" #: templates/login.php:9 msgid "" "If you did not change your password recently, your account may be " "compromised!" -msgstr "" +msgstr "Se não mudou a sua palavra-passe recentemente, a sua conta pode ter sido comprometida!" #: templates/login.php:10 msgid "Please change your password to secure your account again." -msgstr "" +msgstr "Por favor mude a sua palavra-passe para assegurar a sua conta de novo." #: templates/login.php:15 msgid "Lost your password?" @@ -422,14 +532,14 @@ msgstr "seguinte" #: templates/verify.php:5 msgid "Security Warning!" -msgstr "" +msgstr "Aviso de Segurança!" #: templates/verify.php:6 msgid "" "Please verify your password.
For security reasons you may be " "occasionally asked to enter your password again." -msgstr "" +msgstr "Por favor verifique a sua palavra-passe.
Por razões de segurança, pode ser-lhe perguntada, ocasionalmente, a sua palavra-passe de novo." #: templates/verify.php:16 msgid "Verify" -msgstr "" +msgstr "Verificar" diff --git a/l10n/pt_PT/files.po b/l10n/pt_PT/files.po index a6c43b21b31bb732a2959183727dfa64b8d7d55a..8628e63a4ded78b45910ccbe22537866e2f57378 100644 --- a/l10n/pt_PT/files.po +++ b/l10n/pt_PT/files.po @@ -3,6 +3,7 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# , 2012. # Duarte Velez Grilo , 2012. # , 2012. # Helder Meneses , 2012. @@ -11,9 +12,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-10 02:04+0200\n" -"PO-Revision-Date: 2012-10-09 15:25+0000\n" -"Last-Translator: Duarte Velez Grilo \n" +"POT-Creation-Date: 2012-12-02 00:02+0100\n" +"PO-Revision-Date: 2012-12-01 00:41+0000\n" +"Last-Translator: Mouxy \n" "Language-Team: Portuguese (Portugal) (http://www.transifex.com/projects/p/owncloud/language/pt_PT/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -26,195 +27,166 @@ msgid "There is no error, the file uploaded with success" msgstr "Sem erro, ficheiro enviado com sucesso" #: ajax/upload.php:21 -msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" -msgstr "O ficheiro enviado excede a directiva upload_max_filesize no php.ini" +msgid "" +"The uploaded file exceeds the upload_max_filesize directive in php.ini: " +msgstr "O ficheiro enviado excede o limite permitido na directiva do php.ini upload_max_filesize" -#: ajax/upload.php:22 +#: ajax/upload.php:23 msgid "" "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " "the HTML form" msgstr "O ficheiro enviado excede o diretivo MAX_FILE_SIZE especificado no formulário HTML" -#: ajax/upload.php:23 +#: ajax/upload.php:25 msgid "The uploaded file was only partially uploaded" msgstr "O ficheiro enviado só foi enviado parcialmente" -#: ajax/upload.php:24 +#: ajax/upload.php:26 msgid "No file was uploaded" msgstr "Não foi enviado nenhum ficheiro" -#: ajax/upload.php:25 +#: ajax/upload.php:27 msgid "Missing a temporary folder" msgstr "Falta uma pasta temporária" -#: ajax/upload.php:26 +#: ajax/upload.php:28 msgid "Failed to write to disk" msgstr "Falhou a escrita no disco" -#: appinfo/app.php:6 +#: appinfo/app.php:10 msgid "Files" msgstr "Ficheiros" -#: js/fileactions.js:108 templates/index.php:62 +#: js/fileactions.js:117 templates/index.php:83 templates/index.php:84 msgid "Unshare" msgstr "Deixar de partilhar" -#: js/fileactions.js:110 templates/index.php:64 +#: js/fileactions.js:119 templates/index.php:89 templates/index.php:90 msgid "Delete" msgstr "Apagar" -#: js/fileactions.js:182 +#: js/fileactions.js:181 msgid "Rename" msgstr "Renomear" -#: js/filelist.js:192 js/filelist.js:194 -msgid "already exists" -msgstr "já existe" +#: js/filelist.js:201 js/filelist.js:203 +msgid "{new_name} already exists" +msgstr "O nome {new_name} já existe" -#: js/filelist.js:192 js/filelist.js:194 +#: js/filelist.js:201 js/filelist.js:203 msgid "replace" msgstr "substituir" -#: js/filelist.js:192 +#: js/filelist.js:201 msgid "suggest name" msgstr "Sugira um nome" -#: js/filelist.js:192 js/filelist.js:194 +#: js/filelist.js:201 js/filelist.js:203 msgid "cancel" msgstr "cancelar" -#: js/filelist.js:241 js/filelist.js:243 -msgid "replaced" -msgstr "substituído" +#: js/filelist.js:250 +msgid "replaced {new_name}" +msgstr "{new_name} substituido" -#: js/filelist.js:241 js/filelist.js:243 js/filelist.js:275 js/filelist.js:277 +#: js/filelist.js:250 js/filelist.js:252 js/filelist.js:284 js/filelist.js:286 msgid "undo" msgstr "desfazer" -#: js/filelist.js:243 -msgid "with" -msgstr "com" +#: js/filelist.js:252 +msgid "replaced {new_name} with {old_name}" +msgstr "substituido {new_name} por {old_name}" + +#: js/filelist.js:284 +msgid "unshared {files}" +msgstr "{files} não partilhado(s)" -#: js/filelist.js:275 -msgid "unshared" -msgstr "não partilhado" +#: js/filelist.js:286 +msgid "deleted {files}" +msgstr "{files} eliminado(s)" -#: js/filelist.js:277 -msgid "deleted" -msgstr "apagado" +#: js/files.js:33 +msgid "" +"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not " +"allowed." +msgstr "Nome Inválido, os caracteres '\\', '/', '<', '>', ':', '\"', '|', '?' e '*' não são permitidos." -#: js/files.js:179 +#: js/files.js:183 msgid "generating ZIP-file, it may take some time." msgstr "a gerar o ficheiro ZIP, poderá demorar algum tempo." -#: js/files.js:214 +#: js/files.js:218 msgid "Unable to upload your file as it is a directory or has 0 bytes" msgstr "Não é possível fazer o envio do ficheiro devido a ser uma pasta ou ter 0 bytes" -#: js/files.js:214 +#: js/files.js:218 msgid "Upload Error" msgstr "Erro no envio" -#: js/files.js:242 js/files.js:347 js/files.js:377 +#: js/files.js:235 +msgid "Close" +msgstr "Fechar" + +#: js/files.js:254 js/files.js:368 js/files.js:398 msgid "Pending" msgstr "Pendente" -#: js/files.js:262 +#: js/files.js:274 msgid "1 file uploading" msgstr "A enviar 1 ficheiro" -#: js/files.js:265 js/files.js:310 js/files.js:325 -msgid "files uploading" -msgstr "ficheiros a serem enviados" +#: js/files.js:277 js/files.js:331 js/files.js:346 +msgid "{count} files uploading" +msgstr "A carregar {count} ficheiros" -#: js/files.js:328 js/files.js:361 +#: js/files.js:349 js/files.js:382 msgid "Upload cancelled." msgstr "O envio foi cancelado." -#: js/files.js:430 +#: js/files.js:451 msgid "" "File upload is in progress. Leaving the page now will cancel the upload." msgstr "Envio de ficheiro em progresso. Irá cancelar o envio se sair da página agora." -#: js/files.js:500 -msgid "Invalid name, '/' is not allowed." -msgstr "Nome inválido, '/' não permitido." +#: js/files.js:523 +msgid "Invalid folder name. Usage of \"Shared\" is reserved by Owncloud" +msgstr "Nome de pasta inválido! O uso de \"Shared\" (Partilhado) está reservado pelo OwnCloud" -#: js/files.js:681 -msgid "files scanned" -msgstr "ficheiros analisados" +#: js/files.js:704 +msgid "{count} files scanned" +msgstr "{count} ficheiros analisados" -#: js/files.js:689 +#: js/files.js:712 msgid "error while scanning" msgstr "erro ao analisar" -#: js/files.js:762 templates/index.php:48 +#: js/files.js:785 templates/index.php:65 msgid "Name" msgstr "Nome" -#: js/files.js:763 templates/index.php:56 +#: js/files.js:786 templates/index.php:76 msgid "Size" msgstr "Tamanho" -#: js/files.js:764 templates/index.php:58 +#: js/files.js:787 templates/index.php:78 msgid "Modified" msgstr "Modificado" -#: js/files.js:791 -msgid "folder" -msgstr "pasta" - -#: js/files.js:793 -msgid "folders" -msgstr "pastas" - -#: js/files.js:801 -msgid "file" -msgstr "ficheiro" - -#: js/files.js:803 -msgid "files" -msgstr "ficheiros" - -#: js/files.js:847 -msgid "seconds ago" -msgstr "há segundos" - -#: js/files.js:848 -msgid "minute ago" -msgstr "há um minuto" - -#: js/files.js:849 -msgid "minutes ago" -msgstr "há minutos" +#: js/files.js:814 +msgid "1 folder" +msgstr "1 pasta" -#: js/files.js:852 -msgid "today" -msgstr "hoje" +#: js/files.js:816 +msgid "{count} folders" +msgstr "{count} pastas" -#: js/files.js:853 -msgid "yesterday" -msgstr "ontem" +#: js/files.js:824 +msgid "1 file" +msgstr "1 ficheiro" -#: js/files.js:854 -msgid "days ago" -msgstr "há dias" - -#: js/files.js:855 -msgid "last month" -msgstr "mês passado" - -#: js/files.js:857 -msgid "months ago" -msgstr "há meses" - -#: js/files.js:858 -msgid "last year" -msgstr "ano passado" - -#: js/files.js:859 -msgid "years ago" -msgstr "há anos" +#: js/files.js:826 +msgid "{count} files" +msgstr "{count} ficheiros" #: templates/admin.php:5 msgid "File handling" @@ -224,27 +196,27 @@ msgstr "Manuseamento de ficheiros" msgid "Maximum upload size" msgstr "Tamanho máximo de envio" -#: templates/admin.php:7 +#: templates/admin.php:9 msgid "max. possible: " msgstr "max. possivel: " -#: templates/admin.php:9 +#: templates/admin.php:12 msgid "Needed for multi-file and folder downloads." msgstr "Necessário para descarregamento múltiplo de ficheiros e pastas" -#: templates/admin.php:9 +#: templates/admin.php:14 msgid "Enable ZIP-download" msgstr "Permitir descarregar em ficheiro ZIP" -#: templates/admin.php:11 +#: templates/admin.php:17 msgid "0 is unlimited" msgstr "0 é ilimitado" -#: templates/admin.php:12 +#: templates/admin.php:19 msgid "Maximum input size for ZIP files" msgstr "Tamanho máximo para ficheiros ZIP" -#: templates/admin.php:14 +#: templates/admin.php:23 msgid "Save" msgstr "Guardar" @@ -252,52 +224,48 @@ msgstr "Guardar" msgid "New" msgstr "Novo" -#: templates/index.php:9 +#: templates/index.php:10 msgid "Text file" msgstr "Ficheiro de texto" -#: templates/index.php:10 +#: templates/index.php:12 msgid "Folder" msgstr "Pasta" -#: templates/index.php:11 -msgid "From url" -msgstr "Do endereço" +#: templates/index.php:14 +msgid "From link" +msgstr "Da ligação" -#: templates/index.php:20 +#: templates/index.php:35 msgid "Upload" msgstr "Enviar" -#: templates/index.php:27 +#: templates/index.php:43 msgid "Cancel upload" msgstr "Cancelar envio" -#: templates/index.php:40 +#: templates/index.php:57 msgid "Nothing in here. Upload something!" msgstr "Vazio. Envie alguma coisa!" -#: templates/index.php:50 -msgid "Share" -msgstr "Partilhar" - -#: templates/index.php:52 +#: templates/index.php:71 msgid "Download" msgstr "Transferir" -#: templates/index.php:75 +#: templates/index.php:103 msgid "Upload too large" msgstr "Envio muito grande" -#: templates/index.php:77 +#: templates/index.php:105 msgid "" "The files you are trying to upload exceed the maximum size for file uploads " "on this server." msgstr "Os ficheiros que está a tentar enviar excedem o tamanho máximo de envio permitido neste servidor." -#: templates/index.php:82 +#: templates/index.php:110 msgid "Files are being scanned, please wait." msgstr "Os ficheiros estão a ser analisados, por favor aguarde." -#: templates/index.php:85 +#: templates/index.php:113 msgid "Current scanning" msgstr "Análise actual" diff --git a/l10n/pt_PT/files_external.po b/l10n/pt_PT/files_external.po index 775748e5e55957738bef536d94f33a7708577f58..bf65e8ef77e51fc481574ffe132dc03305f2ee36 100644 --- a/l10n/pt_PT/files_external.po +++ b/l10n/pt_PT/files_external.po @@ -8,9 +8,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-04 02:04+0200\n" -"PO-Revision-Date: 2012-10-03 12:53+0000\n" -"Last-Translator: Duarte Velez Grilo \n" +"POT-Creation-Date: 2012-12-12 00:12+0100\n" +"PO-Revision-Date: 2012-12-11 23:13+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Portuguese (Portugal) (http://www.transifex.com/projects/p/owncloud/language/pt_PT/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -42,66 +42,80 @@ msgstr "Por favor forneça uma \"app key\" e \"secret\" do Dropbox válidas." msgid "Error configuring Google Drive storage" msgstr "Erro ao configurar o armazenamento do Google Drive" +#: lib/config.php:434 +msgid "" +"Warning: \"smbclient\" is not installed. Mounting of CIFS/SMB shares " +"is not possible. Please ask your system administrator to install it." +msgstr "" + +#: lib/config.php:435 +msgid "" +"Warning: The FTP support in PHP is not enabled or installed. Mounting" +" of FTP shares is not possible. Please ask your system administrator to " +"install it." +msgstr "" + #: templates/settings.php:3 msgid "External Storage" msgstr "Armazenamento Externo" -#: templates/settings.php:7 templates/settings.php:19 +#: templates/settings.php:8 templates/settings.php:22 msgid "Mount point" msgstr "Ponto de montagem" -#: templates/settings.php:8 +#: templates/settings.php:9 msgid "Backend" msgstr "Backend" -#: templates/settings.php:9 +#: templates/settings.php:10 msgid "Configuration" msgstr "Configuração" -#: templates/settings.php:10 +#: templates/settings.php:11 msgid "Options" msgstr "Opções" -#: templates/settings.php:11 +#: templates/settings.php:12 msgid "Applicable" msgstr "Aplicável" -#: templates/settings.php:23 +#: templates/settings.php:27 msgid "Add mount point" msgstr "Adicionar ponto de montagem" -#: templates/settings.php:54 templates/settings.php:62 +#: templates/settings.php:85 msgid "None set" msgstr "Nenhum configurado" -#: templates/settings.php:63 +#: templates/settings.php:86 msgid "All Users" msgstr "Todos os utilizadores" -#: templates/settings.php:64 +#: templates/settings.php:87 msgid "Groups" msgstr "Grupos" -#: templates/settings.php:69 +#: templates/settings.php:95 msgid "Users" msgstr "Utilizadores" -#: templates/settings.php:77 templates/settings.php:107 +#: templates/settings.php:108 templates/settings.php:109 +#: templates/settings.php:149 templates/settings.php:150 msgid "Delete" msgstr "Apagar" -#: templates/settings.php:87 +#: templates/settings.php:124 msgid "Enable User External Storage" msgstr "Activar Armazenamento Externo para o Utilizador" -#: templates/settings.php:88 +#: templates/settings.php:125 msgid "Allow users to mount their own external storage" msgstr "Permitir que os utilizadores montem o seu próprio armazenamento externo" -#: templates/settings.php:99 +#: templates/settings.php:139 msgid "SSL root certificates" msgstr "Certificados SSL de raiz" -#: templates/settings.php:113 +#: templates/settings.php:158 msgid "Import Root Certificate" msgstr "Importar Certificado Root" diff --git a/l10n/pt_PT/files_pdfviewer.po b/l10n/pt_PT/files_pdfviewer.po deleted file mode 100644 index 67aaa183aba7b023114027677c16558551fb9e9e..0000000000000000000000000000000000000000 --- a/l10n/pt_PT/files_pdfviewer.po +++ /dev/null @@ -1,42 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 02:18+0200\n" -"PO-Revision-Date: 2012-08-26 00:19+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Portuguese (Portugal) (http://www.transifex.com/projects/p/owncloud/language/pt_PT/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: pt_PT\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: js/viewer.js:22 -msgid "Previous" -msgstr "" - -#: js/viewer.js:23 -msgid "Next" -msgstr "" - -#: js/viewer.js:29 -msgid "Page Width" -msgstr "" - -#: js/viewer.js:29 -msgid "Page Fit" -msgstr "" - -#: js/viewer.js:30 -msgid "Print" -msgstr "" - -#: js/viewer.js:32 -msgid "Download" -msgstr "" diff --git a/l10n/pt_PT/files_texteditor.po b/l10n/pt_PT/files_texteditor.po deleted file mode 100644 index 1c3a291131cdb31e13a067017cc45eab0da6c361..0000000000000000000000000000000000000000 --- a/l10n/pt_PT/files_texteditor.po +++ /dev/null @@ -1,44 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 01:17+0200\n" -"PO-Revision-Date: 2012-08-25 23:18+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Portuguese (Portugal) (http://www.transifex.com/projects/p/owncloud/language/pt_PT/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: pt_PT\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: js/aceeditor/mode-coldfusion-uncompressed.js:1568 -#: js/aceeditor/mode-liquid-uncompressed.js:902 -#: js/aceeditor/mode-svg-uncompressed.js:1575 -msgid "regex" -msgstr "" - -#: js/editor.js:72 js/editor.js:156 js/editor.js:163 -msgid "Save" -msgstr "" - -#: js/editor.js:74 -msgid "Close" -msgstr "" - -#: js/editor.js:149 -msgid "Saving..." -msgstr "" - -#: js/editor.js:239 -msgid "An error occurred!" -msgstr "" - -#: js/editor.js:266 -msgid "There were unsaved changes, click here to go back" -msgstr "" diff --git a/l10n/pt_PT/gallery.po b/l10n/pt_PT/gallery.po deleted file mode 100644 index 91c5cb18537c61a96349763838da233c5ac10321..0000000000000000000000000000000000000000 --- a/l10n/pt_PT/gallery.po +++ /dev/null @@ -1,42 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# , 2012. -# , 2012. -# Helder Meneses , 2012. -# , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-24 02:02+0200\n" -"PO-Revision-Date: 2012-08-23 19:50+0000\n" -"Last-Translator: rlameiro \n" -"Language-Team: Portuguese (Portugal) (http://www.transifex.com/projects/p/owncloud/language/pt_PT/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: pt_PT\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: appinfo/app.php:42 -msgid "Pictures" -msgstr "Imagens" - -#: js/pictures.js:12 -msgid "Share gallery" -msgstr "Partilhar a galeria" - -#: js/pictures.js:32 -msgid "Error: " -msgstr "Erro: " - -#: js/pictures.js:32 -msgid "Internal error" -msgstr "Erro interno" - -#: templates/index.php:27 -msgid "Slideshow" -msgstr "Slideshow" diff --git a/l10n/pt_PT/impress.po b/l10n/pt_PT/impress.po deleted file mode 100644 index a3d95463c925029e8d9a3f27438b6c511a2ad368..0000000000000000000000000000000000000000 --- a/l10n/pt_PT/impress.po +++ /dev/null @@ -1,22 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 01:17+0200\n" -"PO-Revision-Date: 2012-08-25 23:18+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Portuguese (Portugal) (http://www.transifex.com/projects/p/owncloud/language/pt_PT/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: pt_PT\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: templates/presentations.php:7 -msgid "Documentation" -msgstr "" diff --git a/l10n/pt_PT/lib.po b/l10n/pt_PT/lib.po index 2b38acfb08a69da25ce7d018ffd4ff1e395a9976..fe66807cc3a3408ac523a423b75ad689005badb9 100644 --- a/l10n/pt_PT/lib.po +++ b/l10n/pt_PT/lib.po @@ -3,14 +3,15 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# , 2012. # Duarte Velez Grilo , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-04 02:04+0200\n" -"PO-Revision-Date: 2012-10-03 13:28+0000\n" -"Last-Translator: Duarte Velez Grilo \n" +"POT-Creation-Date: 2012-11-17 00:01+0100\n" +"PO-Revision-Date: 2012-11-16 00:33+0000\n" +"Last-Translator: Mouxy \n" "Language-Team: Portuguese (Portugal) (http://www.transifex.com/projects/p/owncloud/language/pt_PT/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -42,19 +43,19 @@ msgstr "Aplicações" msgid "Admin" msgstr "Admin" -#: files.php:327 +#: files.php:332 msgid "ZIP download is turned off." msgstr "Descarregamento em ZIP está desligado." -#: files.php:328 +#: files.php:333 msgid "Files need to be downloaded one by one." msgstr "Os ficheiros precisam de ser descarregados um por um." -#: files.php:328 files.php:353 +#: files.php:333 files.php:358 msgid "Back to Files" msgstr "Voltar a Ficheiros" -#: files.php:352 +#: files.php:357 msgid "Selected files too large to generate zip file." msgstr "Os ficheiros seleccionados são grandes demais para gerar um ficheiro zip." @@ -62,7 +63,7 @@ msgstr "Os ficheiros seleccionados são grandes demais para gerar um ficheiro zi msgid "Application is not enabled" msgstr "A aplicação não está activada" -#: json.php:39 json.php:63 json.php:75 +#: json.php:39 json.php:64 json.php:77 json.php:89 msgid "Authentication error" msgstr "Erro na autenticação" @@ -70,57 +71,84 @@ msgstr "Erro na autenticação" msgid "Token expired. Please reload page." msgstr "O token expirou. Por favor recarregue a página." -#: template.php:87 +#: search/provider/file.php:17 search/provider/file.php:35 +msgid "Files" +msgstr "Ficheiros" + +#: search/provider/file.php:26 search/provider/file.php:33 +msgid "Text" +msgstr "Texto" + +#: search/provider/file.php:29 +msgid "Images" +msgstr "Imagens" + +#: template.php:103 msgid "seconds ago" msgstr "há alguns segundos" -#: template.php:88 +#: template.php:104 msgid "1 minute ago" msgstr "há 1 minuto" -#: template.php:89 +#: template.php:105 #, php-format msgid "%d minutes ago" msgstr "há %d minutos" -#: template.php:92 +#: template.php:106 +msgid "1 hour ago" +msgstr "Há 1 horas" + +#: template.php:107 +#, php-format +msgid "%d hours ago" +msgstr "Há %d horas" + +#: template.php:108 msgid "today" msgstr "hoje" -#: template.php:93 +#: template.php:109 msgid "yesterday" msgstr "ontem" -#: template.php:94 +#: template.php:110 #, php-format msgid "%d days ago" msgstr "há %d dias" -#: template.php:95 +#: template.php:111 msgid "last month" msgstr "mês passado" -#: template.php:96 -msgid "months ago" -msgstr "há meses" +#: template.php:112 +#, php-format +msgid "%d months ago" +msgstr "Há %d meses atrás" -#: template.php:97 +#: template.php:113 msgid "last year" msgstr "ano passado" -#: template.php:98 +#: template.php:114 msgid "years ago" msgstr "há anos" -#: updater.php:66 +#: updater.php:75 #, php-format msgid "%s is available. Get more information" msgstr "%s está disponível. Obtenha mais informação" -#: updater.php:68 +#: updater.php:77 msgid "up to date" msgstr "actualizado" -#: updater.php:71 +#: updater.php:80 msgid "updates check is disabled" msgstr "a verificação de actualizações está desligada" + +#: vcategories.php:188 vcategories.php:249 +#, php-format +msgid "Could not find category \"%s\"" +msgstr "Não foi encontrado a categoria \"%s\"" diff --git a/l10n/pt_PT/media.po b/l10n/pt_PT/media.po deleted file mode 100644 index ca255767029fdfa6c8324f3c830f05a6a3ed3e0a..0000000000000000000000000000000000000000 --- a/l10n/pt_PT/media.po +++ /dev/null @@ -1,67 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-06-06 00:12+0200\n" -"PO-Revision-Date: 2012-06-05 22:15+0000\n" -"Last-Translator: icewind \n" -"Language-Team: Portuguese (Portugal) (http://www.transifex.net/projects/p/owncloud/language/pt_PT/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: pt_PT\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: appinfo/app.php:32 templates/player.php:8 -msgid "Music" -msgstr "Musica" - -#: js/music.js:18 -msgid "Add album to playlist" -msgstr "" - -#: templates/music.php:3 templates/player.php:12 -msgid "Play" -msgstr "Reproduzir" - -#: templates/music.php:4 templates/music.php:26 templates/player.php:13 -msgid "Pause" -msgstr "Pausa" - -#: templates/music.php:5 -msgid "Previous" -msgstr "Anterior" - -#: templates/music.php:6 templates/player.php:14 -msgid "Next" -msgstr "Próximo" - -#: templates/music.php:7 -msgid "Mute" -msgstr "Mudo" - -#: templates/music.php:8 -msgid "Unmute" -msgstr "Som" - -#: templates/music.php:25 -msgid "Rescan Collection" -msgstr "Reverificar coleção" - -#: templates/music.php:37 -msgid "Artist" -msgstr "Artista" - -#: templates/music.php:38 -msgid "Album" -msgstr "Álbum" - -#: templates/music.php:39 -msgid "Title" -msgstr "Título" diff --git a/l10n/pt_PT/settings.po b/l10n/pt_PT/settings.po index ed70cb0d395117e5e8bca5c0f212b5d145b2976e..38b4491aa64a979ab7129912f91f4377f59a2524 100644 --- a/l10n/pt_PT/settings.po +++ b/l10n/pt_PT/settings.po @@ -3,6 +3,7 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# , 2012. # Duarte Velez Grilo , 2012. # , 2012. # Helder Meneses , 2012. @@ -11,9 +12,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-10 02:05+0200\n" -"PO-Revision-Date: 2012-10-09 15:29+0000\n" -"Last-Translator: Duarte Velez Grilo \n" +"POT-Creation-Date: 2012-12-03 00:04+0100\n" +"PO-Revision-Date: 2012-12-02 03:18+0000\n" +"Last-Translator: Mouxy \n" "Language-Team: Portuguese (Portugal) (http://www.transifex.com/projects/p/owncloud/language/pt_PT/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -21,70 +22,73 @@ msgstr "" "Language: pt_PT\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: ajax/apps/ocs.php:23 +#: ajax/apps/ocs.php:20 msgid "Unable to load list from App Store" msgstr "Incapaz de carregar a lista da App Store" -#: ajax/creategroup.php:9 ajax/removeuser.php:13 ajax/setquota.php:18 -#: ajax/togglegroups.php:15 -msgid "Authentication error" -msgstr "Erro de autenticação" - -#: ajax/creategroup.php:19 +#: ajax/creategroup.php:10 msgid "Group already exists" msgstr "O grupo já existe" -#: ajax/creategroup.php:28 +#: ajax/creategroup.php:19 msgid "Unable to add group" msgstr "Impossível acrescentar o grupo" -#: ajax/enableapp.php:14 +#: ajax/enableapp.php:12 msgid "Could not enable app. " msgstr "Não foi possível activar a app." -#: ajax/lostpassword.php:14 +#: ajax/lostpassword.php:12 msgid "Email saved" msgstr "Email guardado" -#: ajax/lostpassword.php:16 +#: ajax/lostpassword.php:14 msgid "Invalid email" msgstr "Email inválido" -#: ajax/openid.php:16 +#: ajax/openid.php:13 msgid "OpenID Changed" msgstr "OpenID alterado" -#: ajax/openid.php:18 ajax/setlanguage.php:20 ajax/setlanguage.php:23 +#: ajax/openid.php:15 ajax/setlanguage.php:17 ajax/setlanguage.php:20 msgid "Invalid request" msgstr "Pedido inválido" -#: ajax/removegroup.php:16 +#: ajax/removegroup.php:13 msgid "Unable to delete group" msgstr "Impossível apagar grupo" -#: ajax/removeuser.php:22 +#: ajax/removeuser.php:15 ajax/setquota.php:15 ajax/togglegroups.php:18 +msgid "Authentication error" +msgstr "Erro de autenticação" + +#: ajax/removeuser.php:24 msgid "Unable to delete user" msgstr "Impossível apagar utilizador" -#: ajax/setlanguage.php:18 +#: ajax/setlanguage.php:15 msgid "Language changed" msgstr "Idioma alterado" -#: ajax/togglegroups.php:25 +#: ajax/togglegroups.php:12 +msgid "Admins can't remove themself from the admin group" +msgstr "Os administradores não se podem remover a eles mesmos do grupo admin." + +#: ajax/togglegroups.php:28 #, php-format msgid "Unable to add user to group %s" msgstr "Impossível acrescentar utilizador ao grupo %s" -#: ajax/togglegroups.php:31 +#: ajax/togglegroups.php:34 #, php-format msgid "Unable to remove user from group %s" msgstr "Impossível apagar utilizador do grupo %s" -#: js/apps.js:28 js/apps.js:65 +#: js/apps.js:28 js/apps.js:67 msgid "Disable" msgstr "Desactivar" -#: js/apps.js:28 js/apps.js:54 +#: js/apps.js:28 js/apps.js:55 msgid "Enable" msgstr "Activar" @@ -92,97 +96,10 @@ msgstr "Activar" msgid "Saving..." msgstr "A guardar..." -#: personal.php:47 personal.php:48 +#: personal.php:42 personal.php:43 msgid "__language_name__" msgstr "__language_name__" -#: templates/admin.php:14 -msgid "Security Warning" -msgstr "Aviso de Segurança" - -#: templates/admin.php:17 -msgid "" -"Your data directory and your files are probably accessible from the " -"internet. The .htaccess file that ownCloud provides is not working. We " -"strongly suggest that you configure your webserver in a way that the data " -"directory is no longer accessible or you move the data directory outside the" -" webserver document root." -msgstr "A sua pasta com os dados e os seus ficheiros estão provavelmente acessíveis a partir das internet. Sugerimos veementemente que configure o seu servidor web de maneira a que a pasta com os dados deixe de ficar acessível, ou mova a pasta com os dados para fora da raiz de documentos do servidor web." - -#: templates/admin.php:31 -msgid "Cron" -msgstr "Cron" - -#: templates/admin.php:37 -msgid "Execute one task with each page loaded" -msgstr "Executar uma tarefa ao carregar cada página" - -#: templates/admin.php:43 -msgid "" -"cron.php is registered at a webcron service. Call the cron.php page in the " -"owncloud root once a minute over http." -msgstr "cron.php está registado num serviço webcron. Chame a página cron.php na raiz owncloud por http uma vez por minuto." - -#: templates/admin.php:49 -msgid "" -"Use systems cron service. Call the cron.php file in the owncloud folder via " -"a system cronjob once a minute." -msgstr "Usar o serviço cron do sistema. Chame a página cron.php na pasta owncloud via um cronjob do sistema uma vez por minuto." - -#: templates/admin.php:56 -msgid "Sharing" -msgstr "Partilhando" - -#: templates/admin.php:61 -msgid "Enable Share API" -msgstr "Activar API de partilha" - -#: templates/admin.php:62 -msgid "Allow apps to use the Share API" -msgstr "Permitir que as aplicações usem a API de partilha" - -#: templates/admin.php:67 -msgid "Allow links" -msgstr "Permitir ligações" - -#: templates/admin.php:68 -msgid "Allow users to share items to the public with links" -msgstr "Permitir que os utilizadores partilhem itens com o público com ligações" - -#: templates/admin.php:73 -msgid "Allow resharing" -msgstr "Permitir voltar a partilhar" - -#: templates/admin.php:74 -msgid "Allow users to share items shared with them again" -msgstr "Permitir que os utilizadores partilhem itens que foram partilhados com eles" - -#: templates/admin.php:79 -msgid "Allow users to share with anyone" -msgstr "Permitir que os utilizadores partilhem com toda a gente" - -#: templates/admin.php:81 -msgid "Allow users to only share with users in their groups" -msgstr "Permitir que os utilizadores apenas partilhem com utilizadores do seu grupo" - -#: templates/admin.php:88 -msgid "Log" -msgstr "Log" - -#: templates/admin.php:116 -msgid "More" -msgstr "Mais" - -#: templates/admin.php:124 -msgid "" -"Developed by the ownCloud community, the source code is " -"licensed under the AGPL." -msgstr "Desenvolvido pela comunidade ownCloud, ocódigo fonte está licenciado sob a AGPL." - #: templates/apps.php:10 msgid "Add your App" msgstr "Adicione a sua aplicação" @@ -215,22 +132,22 @@ msgstr "Gestão de ficheiros grandes" msgid "Ask a question" msgstr "Coloque uma questão" -#: templates/help.php:23 +#: templates/help.php:22 msgid "Problems connecting to help database." msgstr "Problemas ao ligar à base de dados de ajuda" -#: templates/help.php:24 +#: templates/help.php:23 msgid "Go there manually." msgstr "Vá lá manualmente" -#: templates/help.php:32 +#: templates/help.php:31 msgid "Answer" msgstr "Resposta" #: templates/personal.php:8 #, php-format -msgid "You have used %s of the available %s" -msgstr "Usou %s dos %s disponíveis." +msgid "You have used %s of the available %s" +msgstr "Usou %s do disponivel %s" #: templates/personal.php:12 msgid "Desktop and Mobile Syncing Clients" @@ -288,6 +205,16 @@ msgstr "Ajude a traduzir" msgid "use this address to connect to your ownCloud in your file manager" msgstr "utilize este endereço para ligar ao seu ownCloud através do seu gestor de ficheiros" +#: templates/personal.php:61 +msgid "" +"Developed by the ownCloud community, the source code is " +"licensed under the AGPL." +msgstr "Desenvolvido pela comunidade ownCloud, ocódigo fonte está licenciado sob a AGPL." + #: templates/users.php:21 templates/users.php:76 msgid "Name" msgstr "Nome" diff --git a/l10n/pt_PT/tasks.po b/l10n/pt_PT/tasks.po deleted file mode 100644 index 405b6d903ff372a11cdea9d66fe168b2cfedafc3..0000000000000000000000000000000000000000 --- a/l10n/pt_PT/tasks.po +++ /dev/null @@ -1,106 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:44+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Portuguese (Portugal) (http://www.transifex.com/projects/p/owncloud/language/pt_PT/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: pt_PT\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: ajax/update_property.php:51 lib/app.php:89 lib/app.php:101 -msgid "Invalid date/time" -msgstr "" - -#: appinfo/app.php:11 -msgid "Tasks" -msgstr "" - -#: js/tasks.js:415 -msgid "No category" -msgstr "" - -#: lib/app.php:33 -msgid "Unspecified" -msgstr "" - -#: lib/app.php:34 -msgid "1=highest" -msgstr "" - -#: lib/app.php:38 -msgid "5=medium" -msgstr "" - -#: lib/app.php:42 -msgid "9=lowest" -msgstr "" - -#: lib/app.php:81 -msgid "Empty Summary" -msgstr "" - -#: lib/app.php:93 -msgid "Invalid percent complete" -msgstr "" - -#: lib/app.php:107 -msgid "Invalid priority" -msgstr "" - -#: templates/tasks.php:3 -msgid "Add Task" -msgstr "" - -#: templates/tasks.php:4 -msgid "Order Due" -msgstr "" - -#: templates/tasks.php:5 -msgid "Order List" -msgstr "" - -#: templates/tasks.php:6 -msgid "Order Complete" -msgstr "" - -#: templates/tasks.php:7 -msgid "Order Location" -msgstr "" - -#: templates/tasks.php:8 -msgid "Order Priority" -msgstr "" - -#: templates/tasks.php:9 -msgid "Order Label" -msgstr "" - -#: templates/tasks.php:16 -msgid "Loading tasks..." -msgstr "" - -#: templates/tasks.php:20 -msgid "Important" -msgstr "" - -#: templates/tasks.php:23 -msgid "More" -msgstr "" - -#: templates/tasks.php:26 -msgid "Less" -msgstr "" - -#: templates/tasks.php:29 -msgid "Delete" -msgstr "" diff --git a/l10n/pt_PT/user_ldap.po b/l10n/pt_PT/user_ldap.po index 86440d7324f51a43922b3fea5171e7e3fa9f0971..07c6f1ca24913e062a705fdb0bf849a88ca9d830 100644 --- a/l10n/pt_PT/user_ldap.po +++ b/l10n/pt_PT/user_ldap.po @@ -3,15 +3,17 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# , 2012. # Duarte Velez Grilo , 2012. # Helder Meneses , 2012. +# Nelson Rosado , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-15 02:04+0200\n" -"PO-Revision-Date: 2012-10-14 01:19+0000\n" -"Last-Translator: Duarte Velez Grilo \n" +"POT-Creation-Date: 2012-11-08 00:01+0100\n" +"PO-Revision-Date: 2012-11-07 15:39+0000\n" +"Last-Translator: Mouxy \n" "Language-Team: Portuguese (Portugal) (http://www.transifex.com/projects/p/owncloud/language/pt_PT/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -45,7 +47,7 @@ msgid "" "The DN of the client user with which the bind shall be done, e.g. " "uid=agent,dc=example,dc=com. For anonymous access, leave DN and Password " "empty." -msgstr "" +msgstr "O DN to cliente " #: templates/settings.php:11 msgid "Password" @@ -57,31 +59,31 @@ msgstr "Para acesso anónimo, deixe DN e a Palavra-passe vazios." #: templates/settings.php:12 msgid "User Login Filter" -msgstr "" +msgstr "Filtro de login de utilizador" #: templates/settings.php:12 #, php-format msgid "" "Defines the filter to apply, when login is attempted. %%uid replaces the " "username in the login action." -msgstr "" +msgstr "Define o filtro a aplicar, para aquando de uma tentativa de login. %%uid substitui o nome de utilizador utilizado." #: templates/settings.php:12 #, php-format msgid "use %%uid placeholder, e.g. \"uid=%%uid\"" -msgstr "" +msgstr "Use a variável %%uid , exemplo: \"uid=%%uid\"" #: templates/settings.php:13 msgid "User List Filter" -msgstr "" +msgstr "Utilizar filtro" #: templates/settings.php:13 msgid "Defines the filter to apply, when retrieving users." -msgstr "" +msgstr "Defina o filtro a aplicar, ao recuperar utilizadores." #: templates/settings.php:13 msgid "without any placeholder, e.g. \"objectClass=person\"." -msgstr "" +msgstr "Sem variável. Exemplo: \"objectClass=pessoa\"." #: templates/settings.php:14 msgid "Group Filter" @@ -89,11 +91,11 @@ msgstr "Filtrar por grupo" #: templates/settings.php:14 msgid "Defines the filter to apply, when retrieving groups." -msgstr "" +msgstr "Defina o filtro a aplicar, ao recuperar grupos." #: templates/settings.php:14 msgid "without any placeholder, e.g. \"objectClass=posixGroup\"." -msgstr "" +msgstr "Sem nenhuma variável. Exemplo: \"objectClass=posixGroup\"." #: templates/settings.php:17 msgid "Port" @@ -101,15 +103,15 @@ msgstr "Porto" #: templates/settings.php:18 msgid "Base User Tree" -msgstr "" +msgstr "Base da árvore de utilizadores." #: templates/settings.php:19 msgid "Base Group Tree" -msgstr "" +msgstr "Base da árvore de grupos." #: templates/settings.php:20 msgid "Group-Member association" -msgstr "" +msgstr "Associar utilizador ao grupo." #: templates/settings.php:21 msgid "Use TLS" @@ -121,7 +123,7 @@ msgstr "Não use para ligações SSL, irá falhar." #: templates/settings.php:22 msgid "Case insensitve LDAP server (Windows)" -msgstr "" +msgstr "Servidor LDAP (Windows) não sensível a maiúsculas." #: templates/settings.php:23 msgid "Turn off SSL certificate validation." @@ -131,27 +133,27 @@ msgstr "Desligar a validação de certificado SSL." msgid "" "If connection only works with this option, import the LDAP server's SSL " "certificate in your ownCloud server." -msgstr "" +msgstr "Se a ligação apenas funcionar com está opção, importe o certificado SSL do servidor LDAP para o seu servidor do ownCloud." #: templates/settings.php:23 msgid "Not recommended, use for testing only." -msgstr "" +msgstr "Não recomendado, utilizado apenas para testes!" #: templates/settings.php:24 msgid "User Display Name Field" -msgstr "" +msgstr "Mostrador do nome de utilizador." #: templates/settings.php:24 msgid "The LDAP attribute to use to generate the user`s ownCloud name." -msgstr "" +msgstr "Atributo LDAP para gerar o nome de utilizador do ownCloud." #: templates/settings.php:25 msgid "Group Display Name Field" -msgstr "" +msgstr "Mostrador do nome do grupo." #: templates/settings.php:25 msgid "The LDAP attribute to use to generate the groups`s ownCloud name." -msgstr "" +msgstr "Atributo LDAP para gerar o nome do grupo do ownCloud." #: templates/settings.php:27 msgid "in bytes" diff --git a/l10n/pt_PT/user_migrate.po b/l10n/pt_PT/user_migrate.po deleted file mode 100644 index dc1013582b8fe34a8a98e97ba76fdebe11e6042b..0000000000000000000000000000000000000000 --- a/l10n/pt_PT/user_migrate.po +++ /dev/null @@ -1,51 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:45+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Portuguese (Portugal) (http://www.transifex.com/projects/p/owncloud/language/pt_PT/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: pt_PT\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: js/export.js:14 js/export.js:20 -msgid "Export" -msgstr "" - -#: js/export.js:19 -msgid "Something went wrong while the export file was being generated" -msgstr "" - -#: js/export.js:19 -msgid "An error has occurred" -msgstr "" - -#: templates/settings.php:2 -msgid "Export your user account" -msgstr "" - -#: templates/settings.php:3 -msgid "" -"This will create a compressed file that contains your ownCloud account." -msgstr "" - -#: templates/settings.php:13 -msgid "Import user account" -msgstr "" - -#: templates/settings.php:15 -msgid "ownCloud User Zip" -msgstr "" - -#: templates/settings.php:17 -msgid "Import" -msgstr "" diff --git a/l10n/pt_PT/user_openid.po b/l10n/pt_PT/user_openid.po deleted file mode 100644 index 617e967bddc058a33cb366daef68cd3b86f9d81a..0000000000000000000000000000000000000000 --- a/l10n/pt_PT/user_openid.po +++ /dev/null @@ -1,54 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:45+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Portuguese (Portugal) (http://www.transifex.com/projects/p/owncloud/language/pt_PT/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: pt_PT\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: templates/nomode.php:12 -msgid "This is an OpenID server endpoint. For more information, see " -msgstr "" - -#: templates/nomode.php:14 -msgid "Identity: " -msgstr "" - -#: templates/nomode.php:15 -msgid "Realm: " -msgstr "" - -#: templates/nomode.php:16 -msgid "User: " -msgstr "" - -#: templates/nomode.php:17 -msgid "Login" -msgstr "" - -#: templates/nomode.php:22 -msgid "Error: No user Selected" -msgstr "" - -#: templates/settings.php:4 -msgid "you can authenticate to other sites with this address" -msgstr "" - -#: templates/settings.php:5 -msgid "Authorized OpenID provider" -msgstr "" - -#: templates/settings.php:6 -msgid "Your address at Wordpress, Identi.ca, …" -msgstr "" diff --git a/l10n/pt_PT/files_odfviewer.po b/l10n/pt_PT/user_webdavauth.po similarity index 59% rename from l10n/pt_PT/files_odfviewer.po rename to l10n/pt_PT/user_webdavauth.po index 01ea436b982b57b4197d2da0641b8a3847b1868a..efb197aacbd76737794ae7acfa278ec74b10894a 100644 --- a/l10n/pt_PT/files_odfviewer.po +++ b/l10n/pt_PT/user_webdavauth.po @@ -3,20 +3,21 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# Helder Meneses , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 02:18+0200\n" -"PO-Revision-Date: 2012-08-26 00:19+0000\n" -"Last-Translator: FULL NAME \n" +"POT-Creation-Date: 2012-11-14 00:02+0100\n" +"PO-Revision-Date: 2012-11-13 12:27+0000\n" +"Last-Translator: Helder Meneses \n" "Language-Team: Portuguese (Portugal) (http://www.transifex.com/projects/p/owncloud/language/pt_PT/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: pt_PT\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: js/viewer.js:9 -msgid "Close" -msgstr "" +#: templates/settings.php:4 +msgid "WebDAV URL: http://" +msgstr "Endereço WebDAV: http://" diff --git a/l10n/ro/admin_dependencies_chk.po b/l10n/ro/admin_dependencies_chk.po deleted file mode 100644 index 76d2d0539d300f5ae3b6943c6da5fb83f98e66b2..0000000000000000000000000000000000000000 --- a/l10n/ro/admin_dependencies_chk.po +++ /dev/null @@ -1,73 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:33+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Romanian (http://www.transifex.com/projects/p/owncloud/language/ro/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ro\n" -"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1))\n" - -#: settings.php:33 -msgid "" -"The php-json module is needed by the many applications for inter " -"communications" -msgstr "" - -#: settings.php:39 -msgid "" -"The php-curl modude is needed to fetch the page title when adding a " -"bookmarks" -msgstr "" - -#: settings.php:45 -msgid "The php-gd module is needed to create thumbnails of your images" -msgstr "" - -#: settings.php:51 -msgid "The php-ldap module is needed connect to your ldap server" -msgstr "" - -#: settings.php:57 -msgid "The php-zip module is needed download multiple files at once" -msgstr "" - -#: settings.php:63 -msgid "" -"The php-mb_multibyte module is needed to manage correctly the encoding." -msgstr "" - -#: settings.php:69 -msgid "The php-ctype module is needed validate data." -msgstr "" - -#: settings.php:75 -msgid "The php-xml module is needed to share files with webdav." -msgstr "" - -#: settings.php:81 -msgid "" -"The allow_url_fopen directive of your php.ini should be set to 1 to retrieve" -" knowledge base from OCS servers" -msgstr "" - -#: settings.php:87 -msgid "The php-pdo module is needed to store owncloud data into a database." -msgstr "" - -#: templates/settings.php:2 -msgid "Dependencies status" -msgstr "" - -#: templates/settings.php:7 -msgid "Used by :" -msgstr "" diff --git a/l10n/ro/admin_migrate.po b/l10n/ro/admin_migrate.po deleted file mode 100644 index 44132a5cdd3f4f7b1bb3c0bf46dd8a719e24bb1e..0000000000000000000000000000000000000000 --- a/l10n/ro/admin_migrate.po +++ /dev/null @@ -1,32 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:32+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Romanian (http://www.transifex.com/projects/p/owncloud/language/ro/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ro\n" -"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1))\n" - -#: templates/settings.php:3 -msgid "Export this ownCloud instance" -msgstr "" - -#: templates/settings.php:4 -msgid "" -"This will create a compressed file that contains the data of this owncloud instance.\n" -" Please choose the export type:" -msgstr "" - -#: templates/settings.php:12 -msgid "Export" -msgstr "" diff --git a/l10n/ro/bookmarks.po b/l10n/ro/bookmarks.po deleted file mode 100644 index e02fd456c982a0d76f59887e0d573f83f025f7bc..0000000000000000000000000000000000000000 --- a/l10n/ro/bookmarks.po +++ /dev/null @@ -1,60 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-07-28 02:02+0200\n" -"PO-Revision-Date: 2012-07-27 22:17+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Romanian (http://www.transifex.com/projects/p/owncloud/language/ro/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ro\n" -"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1))\n" - -#: appinfo/app.php:14 -msgid "Bookmarks" -msgstr "" - -#: bookmarksHelper.php:99 -msgid "unnamed" -msgstr "" - -#: templates/bookmarklet.php:5 -msgid "" -"Drag this to your browser bookmarks and click it, when you want to bookmark " -"a webpage quickly:" -msgstr "" - -#: templates/bookmarklet.php:7 -msgid "Read later" -msgstr "" - -#: templates/list.php:13 -msgid "Address" -msgstr "" - -#: templates/list.php:14 -msgid "Title" -msgstr "" - -#: templates/list.php:15 -msgid "Tags" -msgstr "" - -#: templates/list.php:16 -msgid "Save bookmark" -msgstr "" - -#: templates/list.php:22 -msgid "You have no bookmarks" -msgstr "" - -#: templates/settings.php:11 -msgid "Bookmarklet
" -msgstr "" diff --git a/l10n/ro/calendar.po b/l10n/ro/calendar.po deleted file mode 100644 index bb0d41a50a75c63e51d292645c03af595e0481f9..0000000000000000000000000000000000000000 --- a/l10n/ro/calendar.po +++ /dev/null @@ -1,817 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Claudiu , 2011, 2012. -# Dimon Pockemon <>, 2012. -# Eugen Mihalache , 2012. -# Ovidiu Tache , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-11 02:02+0200\n" -"PO-Revision-Date: 2012-08-11 00:02+0000\n" -"Last-Translator: owncloud_robot \n" -"Language-Team: Romanian (http://www.transifex.com/projects/p/owncloud/language/ro/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ro\n" -"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1))\n" - -#: ajax/cache/status.php:19 -msgid "Not all calendars are completely cached" -msgstr "" - -#: ajax/cache/status.php:21 -msgid "Everything seems to be completely cached" -msgstr "" - -#: ajax/categories/rescan.php:29 -msgid "No calendars found." -msgstr "Nici un calendar găsit." - -#: ajax/categories/rescan.php:37 -msgid "No events found." -msgstr "Nici un eveniment găsit." - -#: ajax/event/edit.form.php:20 -msgid "Wrong calendar" -msgstr "Calendar greșit" - -#: ajax/import/dropimport.php:29 ajax/import/import.php:64 -msgid "" -"The file contained either no events or all events are already saved in your " -"calendar." -msgstr "" - -#: ajax/import/dropimport.php:31 ajax/import/import.php:67 -msgid "events has been saved in the new calendar" -msgstr "" - -#: ajax/import/import.php:56 -msgid "Import failed" -msgstr "" - -#: ajax/import/import.php:69 -msgid "events has been saved in your calendar" -msgstr "" - -#: ajax/settings/guesstimezone.php:25 -msgid "New Timezone:" -msgstr "Fus orar nou:" - -#: ajax/settings/settimezone.php:23 -msgid "Timezone changed" -msgstr "Fus orar schimbat" - -#: ajax/settings/settimezone.php:25 -msgid "Invalid request" -msgstr "Cerere eronată" - -#: appinfo/app.php:35 templates/calendar.php:15 -#: templates/part.eventform.php:33 templates/part.showevent.php:33 -msgid "Calendar" -msgstr "Calendar" - -#: js/calendar.js:832 -msgid "ddd" -msgstr "" - -#: js/calendar.js:833 -msgid "ddd M/d" -msgstr "" - -#: js/calendar.js:834 -msgid "dddd M/d" -msgstr "" - -#: js/calendar.js:837 -msgid "MMMM yyyy" -msgstr "" - -#: js/calendar.js:839 -msgid "MMM d[ yyyy]{ '—'[ MMM] d yyyy}" -msgstr "LLL z[aaaa]{'—'[LLL] z aaaa}" - -#: js/calendar.js:841 -msgid "dddd, MMM d, yyyy" -msgstr "" - -#: lib/app.php:121 -msgid "Birthday" -msgstr "Zi de naștere" - -#: lib/app.php:122 -msgid "Business" -msgstr "Afaceri" - -#: lib/app.php:123 -msgid "Call" -msgstr "Sună" - -#: lib/app.php:124 -msgid "Clients" -msgstr "Clienți" - -#: lib/app.php:125 -msgid "Deliverer" -msgstr "Curier" - -#: lib/app.php:126 -msgid "Holidays" -msgstr "Sărbători" - -#: lib/app.php:127 -msgid "Ideas" -msgstr "Idei" - -#: lib/app.php:128 -msgid "Journey" -msgstr "Călătorie" - -#: lib/app.php:129 -msgid "Jubilee" -msgstr "Aniversare" - -#: lib/app.php:130 -msgid "Meeting" -msgstr "Întâlnire" - -#: lib/app.php:131 -msgid "Other" -msgstr "Altele" - -#: lib/app.php:132 -msgid "Personal" -msgstr "Personal" - -#: lib/app.php:133 -msgid "Projects" -msgstr "Proiecte" - -#: lib/app.php:134 -msgid "Questions" -msgstr "Întrebări" - -#: lib/app.php:135 -msgid "Work" -msgstr "Servici" - -#: lib/app.php:351 lib/app.php:361 -msgid "by" -msgstr "" - -#: lib/app.php:359 lib/app.php:399 -msgid "unnamed" -msgstr "fără nume" - -#: lib/import.php:184 templates/calendar.php:12 -#: templates/part.choosecalendar.php:22 -msgid "New Calendar" -msgstr "Calendar nou" - -#: lib/object.php:372 -msgid "Does not repeat" -msgstr "Nerepetabil" - -#: lib/object.php:373 -msgid "Daily" -msgstr "Zilnic" - -#: lib/object.php:374 -msgid "Weekly" -msgstr "Săptămânal" - -#: lib/object.php:375 -msgid "Every Weekday" -msgstr "În fiecare zii a săptămânii" - -#: lib/object.php:376 -msgid "Bi-Weekly" -msgstr "La fiecare două săptămâni" - -#: lib/object.php:377 -msgid "Monthly" -msgstr "Lunar" - -#: lib/object.php:378 -msgid "Yearly" -msgstr "Anual" - -#: lib/object.php:388 -msgid "never" -msgstr "niciodată" - -#: lib/object.php:389 -msgid "by occurrences" -msgstr "după repetiție" - -#: lib/object.php:390 -msgid "by date" -msgstr "după dată" - -#: lib/object.php:400 -msgid "by monthday" -msgstr "după ziua lunii" - -#: lib/object.php:401 -msgid "by weekday" -msgstr "după ziua săptămânii" - -#: lib/object.php:411 templates/calendar.php:5 templates/settings.php:69 -msgid "Monday" -msgstr "Luni" - -#: lib/object.php:412 templates/calendar.php:5 -msgid "Tuesday" -msgstr "Marți" - -#: lib/object.php:413 templates/calendar.php:5 -msgid "Wednesday" -msgstr "Miercuri" - -#: lib/object.php:414 templates/calendar.php:5 -msgid "Thursday" -msgstr "Joi" - -#: lib/object.php:415 templates/calendar.php:5 -msgid "Friday" -msgstr "Vineri" - -#: lib/object.php:416 templates/calendar.php:5 -msgid "Saturday" -msgstr "Sâmbătă" - -#: lib/object.php:417 templates/calendar.php:5 templates/settings.php:70 -msgid "Sunday" -msgstr "Duminică" - -#: lib/object.php:427 -msgid "events week of month" -msgstr "evenimentele săptămânii din luna" - -#: lib/object.php:428 -msgid "first" -msgstr "primul" - -#: lib/object.php:429 -msgid "second" -msgstr "al doilea" - -#: lib/object.php:430 -msgid "third" -msgstr "al treilea" - -#: lib/object.php:431 -msgid "fourth" -msgstr "al patrulea" - -#: lib/object.php:432 -msgid "fifth" -msgstr "al cincilea" - -#: lib/object.php:433 -msgid "last" -msgstr "ultimul" - -#: lib/object.php:467 templates/calendar.php:7 -msgid "January" -msgstr "Ianuarie" - -#: lib/object.php:468 templates/calendar.php:7 -msgid "February" -msgstr "Februarie" - -#: lib/object.php:469 templates/calendar.php:7 -msgid "March" -msgstr "Martie" - -#: lib/object.php:470 templates/calendar.php:7 -msgid "April" -msgstr "Aprilie" - -#: lib/object.php:471 templates/calendar.php:7 -msgid "May" -msgstr "Mai" - -#: lib/object.php:472 templates/calendar.php:7 -msgid "June" -msgstr "Iunie" - -#: lib/object.php:473 templates/calendar.php:7 -msgid "July" -msgstr "Iulie" - -#: lib/object.php:474 templates/calendar.php:7 -msgid "August" -msgstr "August" - -#: lib/object.php:475 templates/calendar.php:7 -msgid "September" -msgstr "Septembrie" - -#: lib/object.php:476 templates/calendar.php:7 -msgid "October" -msgstr "Octombrie" - -#: lib/object.php:477 templates/calendar.php:7 -msgid "November" -msgstr "Noiembrie" - -#: lib/object.php:478 templates/calendar.php:7 -msgid "December" -msgstr "Decembrie" - -#: lib/object.php:488 -msgid "by events date" -msgstr "după data evenimentului" - -#: lib/object.php:489 -msgid "by yearday(s)" -msgstr "după ziua(zilele) anului" - -#: lib/object.php:490 -msgid "by weeknumber(s)" -msgstr "după numărul săptămânii" - -#: lib/object.php:491 -msgid "by day and month" -msgstr "după zi și lună" - -#: lib/search.php:35 lib/search.php:37 lib/search.php:40 -msgid "Date" -msgstr "Data" - -#: lib/search.php:43 -msgid "Cal." -msgstr "Cal." - -#: templates/calendar.php:6 -msgid "Sun." -msgstr "" - -#: templates/calendar.php:6 -msgid "Mon." -msgstr "" - -#: templates/calendar.php:6 -msgid "Tue." -msgstr "" - -#: templates/calendar.php:6 -msgid "Wed." -msgstr "" - -#: templates/calendar.php:6 -msgid "Thu." -msgstr "" - -#: templates/calendar.php:6 -msgid "Fri." -msgstr "" - -#: templates/calendar.php:6 -msgid "Sat." -msgstr "" - -#: templates/calendar.php:8 -msgid "Jan." -msgstr "" - -#: templates/calendar.php:8 -msgid "Feb." -msgstr "" - -#: templates/calendar.php:8 -msgid "Mar." -msgstr "" - -#: templates/calendar.php:8 -msgid "Apr." -msgstr "" - -#: templates/calendar.php:8 -msgid "May." -msgstr "" - -#: templates/calendar.php:8 -msgid "Jun." -msgstr "" - -#: templates/calendar.php:8 -msgid "Jul." -msgstr "" - -#: templates/calendar.php:8 -msgid "Aug." -msgstr "" - -#: templates/calendar.php:8 -msgid "Sep." -msgstr "" - -#: templates/calendar.php:8 -msgid "Oct." -msgstr "" - -#: templates/calendar.php:8 -msgid "Nov." -msgstr "" - -#: templates/calendar.php:8 -msgid "Dec." -msgstr "" - -#: templates/calendar.php:11 -msgid "All day" -msgstr "Toată ziua" - -#: templates/calendar.php:13 -msgid "Missing fields" -msgstr "Câmpuri lipsă" - -#: templates/calendar.php:14 templates/part.eventform.php:19 -#: templates/part.showevent.php:11 -msgid "Title" -msgstr "Titlu" - -#: templates/calendar.php:16 -msgid "From Date" -msgstr "Începând cu" - -#: templates/calendar.php:17 -msgid "From Time" -msgstr "De la" - -#: templates/calendar.php:18 -msgid "To Date" -msgstr "Până pe" - -#: templates/calendar.php:19 -msgid "To Time" -msgstr "La" - -#: templates/calendar.php:20 -msgid "The event ends before it starts" -msgstr "Evenimentul se termină înainte să înceapă" - -#: templates/calendar.php:21 -msgid "There was a database fail" -msgstr "A avut loc o eroare a bazei de date" - -#: templates/calendar.php:39 -msgid "Week" -msgstr "Săptămâna" - -#: templates/calendar.php:40 -msgid "Month" -msgstr "Luna" - -#: templates/calendar.php:41 -msgid "List" -msgstr "Listă" - -#: templates/calendar.php:45 -msgid "Today" -msgstr "Astăzi" - -#: templates/calendar.php:46 templates/calendar.php:47 -msgid "Settings" -msgstr "" - -#: templates/part.choosecalendar.php:2 -msgid "Your calendars" -msgstr "Calendarele tale" - -#: templates/part.choosecalendar.php:27 -#: templates/part.choosecalendar.rowfields.php:11 -msgid "CalDav Link" -msgstr "Legătură CalDav" - -#: templates/part.choosecalendar.php:31 -msgid "Shared calendars" -msgstr "Calendare partajate" - -#: templates/part.choosecalendar.php:48 -msgid "No shared calendars" -msgstr "Nici un calendar partajat" - -#: templates/part.choosecalendar.rowfields.php:8 -msgid "Share Calendar" -msgstr "Partajați calendarul" - -#: templates/part.choosecalendar.rowfields.php:14 -msgid "Download" -msgstr "Descarcă" - -#: templates/part.choosecalendar.rowfields.php:17 -msgid "Edit" -msgstr "Modifică" - -#: templates/part.choosecalendar.rowfields.php:20 -#: templates/part.editevent.php:9 -msgid "Delete" -msgstr "Șterge" - -#: templates/part.choosecalendar.rowfields.shared.php:4 -msgid "shared with you by" -msgstr "Partajat cu tine de" - -#: templates/part.editcalendar.php:9 -msgid "New calendar" -msgstr "Calendar nou" - -#: templates/part.editcalendar.php:9 -msgid "Edit calendar" -msgstr "Modifică calendarul" - -#: templates/part.editcalendar.php:12 -msgid "Displayname" -msgstr "Nume afișat" - -#: templates/part.editcalendar.php:23 -msgid "Active" -msgstr "Activ" - -#: templates/part.editcalendar.php:29 -msgid "Calendar color" -msgstr "Culoarea calendarului" - -#: templates/part.editcalendar.php:42 -msgid "Save" -msgstr "Salveză" - -#: templates/part.editcalendar.php:42 templates/part.editevent.php:8 -#: templates/part.newevent.php:6 -msgid "Submit" -msgstr "Trimite" - -#: templates/part.editcalendar.php:43 -msgid "Cancel" -msgstr "Anulează" - -#: templates/part.editevent.php:1 -msgid "Edit an event" -msgstr "Modifică un eveniment" - -#: templates/part.editevent.php:10 -msgid "Export" -msgstr "Exportă" - -#: templates/part.eventform.php:8 templates/part.showevent.php:3 -msgid "Eventinfo" -msgstr "Informații despre eveniment" - -#: templates/part.eventform.php:9 templates/part.showevent.php:4 -msgid "Repeating" -msgstr "Ciclic" - -#: templates/part.eventform.php:10 templates/part.showevent.php:5 -msgid "Alarm" -msgstr "Alarmă" - -#: templates/part.eventform.php:11 templates/part.showevent.php:6 -msgid "Attendees" -msgstr "Participanți" - -#: templates/part.eventform.php:13 -msgid "Share" -msgstr "Partajează" - -#: templates/part.eventform.php:21 -msgid "Title of the Event" -msgstr "Numele evenimentului" - -#: templates/part.eventform.php:27 templates/part.showevent.php:19 -msgid "Category" -msgstr "Categorie" - -#: templates/part.eventform.php:29 -msgid "Separate categories with commas" -msgstr "Separă categoriile prin virgule" - -#: templates/part.eventform.php:30 -msgid "Edit categories" -msgstr "Editează categorii" - -#: templates/part.eventform.php:56 templates/part.showevent.php:52 -msgid "All Day Event" -msgstr "Toată ziua" - -#: templates/part.eventform.php:60 templates/part.showevent.php:56 -msgid "From" -msgstr "De la" - -#: templates/part.eventform.php:68 templates/part.showevent.php:64 -msgid "To" -msgstr "Către" - -#: templates/part.eventform.php:76 templates/part.showevent.php:72 -msgid "Advanced options" -msgstr "Opțiuni avansate" - -#: templates/part.eventform.php:81 templates/part.showevent.php:77 -msgid "Location" -msgstr "Locație" - -#: templates/part.eventform.php:83 -msgid "Location of the Event" -msgstr "Locația evenimentului" - -#: templates/part.eventform.php:89 templates/part.showevent.php:85 -msgid "Description" -msgstr "Descriere" - -#: templates/part.eventform.php:91 -msgid "Description of the Event" -msgstr "Descrierea evenimentului" - -#: templates/part.eventform.php:100 templates/part.showevent.php:95 -msgid "Repeat" -msgstr "Repetă" - -#: templates/part.eventform.php:107 templates/part.showevent.php:102 -msgid "Advanced" -msgstr "Avansat" - -#: templates/part.eventform.php:151 templates/part.showevent.php:146 -msgid "Select weekdays" -msgstr "Selectează zilele săptămânii" - -#: templates/part.eventform.php:164 templates/part.eventform.php:177 -#: templates/part.showevent.php:159 templates/part.showevent.php:172 -msgid "Select days" -msgstr "Selectează zilele" - -#: templates/part.eventform.php:169 templates/part.showevent.php:164 -msgid "and the events day of year." -msgstr "și evenimentele de zi cu zi ale anului." - -#: templates/part.eventform.php:182 templates/part.showevent.php:177 -msgid "and the events day of month." -msgstr "și evenimentele de zi cu zi ale lunii." - -#: templates/part.eventform.php:190 templates/part.showevent.php:185 -msgid "Select months" -msgstr "Selectează lunile" - -#: templates/part.eventform.php:203 templates/part.showevent.php:198 -msgid "Select weeks" -msgstr "Selectează săptămânile" - -#: templates/part.eventform.php:208 templates/part.showevent.php:203 -msgid "and the events week of year." -msgstr "și evenimentele săptămânale ale anului." - -#: templates/part.eventform.php:214 templates/part.showevent.php:209 -msgid "Interval" -msgstr "Interval" - -#: templates/part.eventform.php:220 templates/part.showevent.php:215 -msgid "End" -msgstr "Sfârșit" - -#: templates/part.eventform.php:233 templates/part.showevent.php:228 -msgid "occurrences" -msgstr "repetiții" - -#: templates/part.import.php:14 -msgid "create a new calendar" -msgstr "crează un calendar nou" - -#: templates/part.import.php:17 -msgid "Import a calendar file" -msgstr "Importă un calendar" - -#: templates/part.import.php:24 -msgid "Please choose a calendar" -msgstr "" - -#: templates/part.import.php:36 -msgid "Name of new calendar" -msgstr "Numele noului calendar" - -#: templates/part.import.php:44 -msgid "Take an available name!" -msgstr "" - -#: templates/part.import.php:45 -msgid "" -"A Calendar with this name already exists. If you continue anyhow, these " -"calendars will be merged." -msgstr "" - -#: templates/part.import.php:47 -msgid "Import" -msgstr "Importă" - -#: templates/part.import.php:56 -msgid "Close Dialog" -msgstr "Închide" - -#: templates/part.newevent.php:1 -msgid "Create a new event" -msgstr "Crează un eveniment nou" - -#: templates/part.showevent.php:1 -msgid "View an event" -msgstr "Vizualizează un eveniment" - -#: templates/part.showevent.php:23 -msgid "No categories selected" -msgstr "Nici o categorie selectată" - -#: templates/part.showevent.php:37 -msgid "of" -msgstr "din" - -#: templates/part.showevent.php:59 templates/part.showevent.php:67 -msgid "at" -msgstr "la" - -#: templates/settings.php:10 -msgid "General" -msgstr "" - -#: templates/settings.php:15 -msgid "Timezone" -msgstr "Fus orar" - -#: templates/settings.php:47 -msgid "Update timezone automatically" -msgstr "" - -#: templates/settings.php:52 -msgid "Time format" -msgstr "" - -#: templates/settings.php:57 -msgid "24h" -msgstr "24h" - -#: templates/settings.php:58 -msgid "12h" -msgstr "12h" - -#: templates/settings.php:64 -msgid "Start week on" -msgstr "" - -#: templates/settings.php:76 -msgid "Cache" -msgstr "" - -#: templates/settings.php:80 -msgid "Clear cache for repeating events" -msgstr "" - -#: templates/settings.php:85 -msgid "URLs" -msgstr "" - -#: templates/settings.php:87 -msgid "Calendar CalDAV syncing addresses" -msgstr "" - -#: templates/settings.php:87 -msgid "more info" -msgstr "" - -#: templates/settings.php:89 -msgid "Primary address (Kontact et al)" -msgstr "" - -#: templates/settings.php:91 -msgid "iOS/OS X" -msgstr "" - -#: templates/settings.php:93 -msgid "Read only iCalendar link(s)" -msgstr "" - -#: templates/share.dropdown.php:20 -msgid "Users" -msgstr "Utilizatori" - -#: templates/share.dropdown.php:21 -msgid "select users" -msgstr "utilizatori selectați" - -#: templates/share.dropdown.php:36 templates/share.dropdown.php:62 -msgid "Editable" -msgstr "Editabil" - -#: templates/share.dropdown.php:48 -msgid "Groups" -msgstr "Grupuri" - -#: templates/share.dropdown.php:49 -msgid "select groups" -msgstr "grupuri selectate" - -#: templates/share.dropdown.php:75 -msgid "make public" -msgstr "fă public" diff --git a/l10n/ro/contacts.po b/l10n/ro/contacts.po deleted file mode 100644 index ab7e082bbeb2b13b291330bbf091b9a9028f2963..0000000000000000000000000000000000000000 --- a/l10n/ro/contacts.po +++ /dev/null @@ -1,955 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Claudiu , 2011, 2012. -# Dimon Pockemon <>, 2012. -# Eugen Mihalache , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-24 02:02+0200\n" -"PO-Revision-Date: 2012-08-24 00:02+0000\n" -"Last-Translator: I Robot \n" -"Language-Team: Romanian (http://www.transifex.com/projects/p/owncloud/language/ro/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ro\n" -"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1))\n" - -#: ajax/addressbook/activate.php:24 ajax/addressbook/update.php:32 -msgid "Error (de)activating addressbook." -msgstr "(Dez)activarea agendei a întâmpinat o eroare." - -#: ajax/addressbook/delete.php:31 ajax/addressbook/update.php:20 -#: ajax/contact/addproperty.php:42 ajax/contact/delete.php:32 -#: ajax/contact/saveproperty.php:39 -msgid "id is not set." -msgstr "ID-ul nu este stabilit" - -#: ajax/addressbook/update.php:24 -msgid "Cannot update addressbook with an empty name." -msgstr "" - -#: ajax/addressbook/update.php:28 -msgid "Error updating addressbook." -msgstr "Eroare la actualizarea agendei." - -#: ajax/categories/categoriesfor.php:17 -msgid "No ID provided" -msgstr "Nici un ID nu a fost furnizat" - -#: ajax/categories/categoriesfor.php:34 -msgid "Error setting checksum." -msgstr "Eroare la stabilirea sumei de control" - -#: ajax/categories/delete.php:19 -msgid "No categories selected for deletion." -msgstr "Nici o categorie selectată pentru ștergere" - -#: ajax/categories/delete.php:26 -msgid "No address books found." -msgstr "Nici o carte de adrese găsită" - -#: ajax/categories/delete.php:34 -msgid "No contacts found." -msgstr "Nici un contact găsit" - -#: ajax/contact/add.php:47 -msgid "There was an error adding the contact." -msgstr "O eroare a împiedicat adăugarea contactului." - -#: ajax/contact/addproperty.php:39 ajax/contact/saveproperty.php:36 -msgid "element name is not set." -msgstr "numele elementului nu este stabilit." - -#: ajax/contact/addproperty.php:46 -msgid "Could not parse contact: " -msgstr "" - -#: ajax/contact/addproperty.php:56 -msgid "Cannot add empty property." -msgstr "Nu se poate adăuga un câmp gol." - -#: ajax/contact/addproperty.php:67 -msgid "At least one of the address fields has to be filled out." -msgstr "Cel puțin unul din câmpurile adresei trebuie completat." - -#: ajax/contact/addproperty.php:76 -msgid "Trying to add duplicate property: " -msgstr "" - -#: ajax/contact/addproperty.php:115 ajax/contact/saveproperty.php:93 -msgid "Missing IM parameter." -msgstr "" - -#: ajax/contact/addproperty.php:119 ajax/contact/saveproperty.php:97 -msgid "Unknown IM: " -msgstr "" - -#: ajax/contact/deleteproperty.php:37 -msgid "Information about vCard is incorrect. Please reload the page." -msgstr "Informațiile cărții de vizită sunt incorecte. Te rog reîncarcă pagina." - -#: ajax/contact/details.php:31 -msgid "Missing ID" -msgstr "ID lipsă" - -#: ajax/contact/details.php:36 -msgid "Error parsing VCard for ID: \"" -msgstr "Eroare la prelucrarea VCard-ului pentru ID:\"" - -#: ajax/contact/saveproperty.php:42 -msgid "checksum is not set." -msgstr "suma de control nu este stabilită." - -#: ajax/contact/saveproperty.php:62 -msgid "Information about vCard is incorrect. Please reload the page: " -msgstr "" - -#: ajax/contact/saveproperty.php:69 -msgid "Something went FUBAR. " -msgstr "" - -#: ajax/currentphoto.php:30 ajax/oc_photo.php:28 ajax/uploadphoto.php:36 -#: ajax/uploadphoto.php:68 -msgid "No contact ID was submitted." -msgstr "Nici un ID de contact nu a fost transmis" - -#: ajax/currentphoto.php:36 -msgid "Error reading contact photo." -msgstr "Eroare la citerea fotografiei de contact" - -#: ajax/currentphoto.php:48 -msgid "Error saving temporary file." -msgstr "Eroare la salvarea fișierului temporar." - -#: ajax/currentphoto.php:51 -msgid "The loading photo is not valid." -msgstr "Fotografia care se încarcă nu este validă." - -#: ajax/editname.php:31 -msgid "Contact ID is missing." -msgstr "ID-ul de contact lipsește." - -#: ajax/oc_photo.php:32 -msgid "No photo path was submitted." -msgstr "Nici o adresă către fotografie nu a fost transmisă" - -#: ajax/oc_photo.php:39 -msgid "File doesn't exist:" -msgstr "Fișierul nu există:" - -#: ajax/oc_photo.php:44 ajax/oc_photo.php:47 -msgid "Error loading image." -msgstr "Eroare la încărcarea imaginii." - -#: ajax/savecrop.php:69 -msgid "Error getting contact object." -msgstr "" - -#: ajax/savecrop.php:79 -msgid "Error getting PHOTO property." -msgstr "" - -#: ajax/savecrop.php:98 -msgid "Error saving contact." -msgstr "" - -#: ajax/savecrop.php:109 -msgid "Error resizing image" -msgstr "" - -#: ajax/savecrop.php:112 -msgid "Error cropping image" -msgstr "" - -#: ajax/savecrop.php:115 -msgid "Error creating temporary image" -msgstr "" - -#: ajax/savecrop.php:118 -msgid "Error finding image: " -msgstr "" - -#: ajax/uploadimport.php:44 ajax/uploadimport.php:76 -msgid "Error uploading contacts to storage." -msgstr "" - -#: ajax/uploadimport.php:61 ajax/uploadphoto.php:77 -msgid "There is no error, the file uploaded with success" -msgstr "" - -#: ajax/uploadimport.php:62 ajax/uploadphoto.php:78 -msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" -msgstr "" - -#: ajax/uploadimport.php:63 ajax/uploadphoto.php:79 -msgid "" -"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " -"the HTML form" -msgstr "" - -#: ajax/uploadimport.php:64 ajax/uploadphoto.php:80 -msgid "The uploaded file was only partially uploaded" -msgstr "" - -#: ajax/uploadimport.php:65 ajax/uploadphoto.php:81 -msgid "No file was uploaded" -msgstr "" - -#: ajax/uploadimport.php:66 ajax/uploadphoto.php:82 -msgid "Missing a temporary folder" -msgstr "" - -#: ajax/uploadphoto.php:59 ajax/uploadphoto.php:109 -msgid "Couldn't save temporary image: " -msgstr "" - -#: ajax/uploadphoto.php:62 ajax/uploadphoto.php:112 -msgid "Couldn't load temporary image: " -msgstr "" - -#: ajax/uploadphoto.php:71 -msgid "No file was uploaded. Unknown error" -msgstr "" - -#: appinfo/app.php:21 -msgid "Contacts" -msgstr "Contacte" - -#: js/contacts.js:71 -msgid "Sorry, this functionality has not been implemented yet" -msgstr "" - -#: js/contacts.js:71 -msgid "Not implemented" -msgstr "" - -#: js/contacts.js:76 -msgid "Couldn't get a valid address." -msgstr "" - -#: js/contacts.js:76 js/contacts.js:365 js/contacts.js:381 js/contacts.js:393 -#: js/contacts.js:723 js/contacts.js:763 js/contacts.js:789 js/contacts.js:921 -#: js/contacts.js:927 js/contacts.js:939 js/contacts.js:976 -#: js/contacts.js:1250 js/contacts.js:1258 js/contacts.js:1267 -#: js/contacts.js:1302 js/contacts.js:1338 js/contacts.js:1353 -#: js/contacts.js:1379 js/contacts.js:1609 js/contacts.js:1644 -#: js/contacts.js:1664 js/settings.js:26 js/settings.js:43 js/settings.js:68 -msgid "Error" -msgstr "" - -#: js/contacts.js:424 -msgid "You do not have permission to add contacts to " -msgstr "" - -#: js/contacts.js:425 -msgid "Please select one of your own address books." -msgstr "" - -#: js/contacts.js:425 -msgid "Permission error" -msgstr "" - -#: js/contacts.js:763 -msgid "This property has to be non-empty." -msgstr "" - -#: js/contacts.js:789 -msgid "Couldn't serialize elements." -msgstr "" - -#: js/contacts.js:921 js/contacts.js:939 -msgid "" -"'deleteProperty' called without type argument. Please report at " -"bugs.owncloud.org" -msgstr "" - -#: js/contacts.js:958 -msgid "Edit name" -msgstr "" - -#: js/contacts.js:1250 -msgid "No files selected for upload." -msgstr "" - -#: js/contacts.js:1258 -msgid "" -"The file you are trying to upload exceed the maximum size for file uploads " -"on this server." -msgstr "" - -#: js/contacts.js:1322 -msgid "Error loading profile picture." -msgstr "" - -#: js/contacts.js:1457 js/contacts.js:1498 js/contacts.js:1517 -#: js/contacts.js:1560 -msgid "Select type" -msgstr "" - -#: js/contacts.js:1578 -msgid "" -"Some contacts are marked for deletion, but not deleted yet. Please wait for " -"them to be deleted." -msgstr "" - -#: js/contacts.js:1649 -msgid "Do you want to merge these address books?" -msgstr "" - -#: js/loader.js:49 -msgid "Result: " -msgstr "" - -#: js/loader.js:49 -msgid " imported, " -msgstr "" - -#: js/loader.js:49 -msgid " failed." -msgstr "" - -#: js/settings.js:68 -msgid "Displayname cannot be empty." -msgstr "" - -#: lib/app.php:36 -msgid "Addressbook not found: " -msgstr "" - -#: lib/app.php:52 -msgid "This is not your addressbook." -msgstr "Nu se găsește în agendă." - -#: lib/app.php:71 -msgid "Contact could not be found." -msgstr "Contactul nu a putut fi găsit." - -#: lib/app.php:116 -msgid "Jabber" -msgstr "" - -#: lib/app.php:121 -msgid "AIM" -msgstr "" - -#: lib/app.php:126 -msgid "MSN" -msgstr "" - -#: lib/app.php:131 -msgid "Twitter" -msgstr "" - -#: lib/app.php:136 -msgid "GoogleTalk" -msgstr "" - -#: lib/app.php:141 -msgid "Facebook" -msgstr "" - -#: lib/app.php:146 -msgid "XMPP" -msgstr "" - -#: lib/app.php:151 -msgid "ICQ" -msgstr "" - -#: lib/app.php:156 -msgid "Yahoo" -msgstr "" - -#: lib/app.php:161 -msgid "Skype" -msgstr "" - -#: lib/app.php:166 -msgid "QQ" -msgstr "" - -#: lib/app.php:171 -msgid "GaduGadu" -msgstr "" - -#: lib/app.php:194 lib/app.php:202 lib/app.php:213 lib/app.php:266 -msgid "Work" -msgstr "Servicu" - -#: lib/app.php:195 lib/app.php:200 lib/app.php:214 -msgid "Home" -msgstr "Acasă" - -#: lib/app.php:196 lib/app.php:209 lib/app.php:262 lib/vcard.php:593 -msgid "Other" -msgstr "" - -#: lib/app.php:201 -msgid "Mobile" -msgstr "Mobil" - -#: lib/app.php:203 -msgid "Text" -msgstr "Text" - -#: lib/app.php:204 -msgid "Voice" -msgstr "Voce" - -#: lib/app.php:205 -msgid "Message" -msgstr "Mesaj" - -#: lib/app.php:206 -msgid "Fax" -msgstr "Fax" - -#: lib/app.php:207 -msgid "Video" -msgstr "Video" - -#: lib/app.php:208 -msgid "Pager" -msgstr "Pager" - -#: lib/app.php:215 -msgid "Internet" -msgstr "Internet" - -#: lib/app.php:252 templates/part.contact.php:45 -#: templates/part.contact.php:128 -msgid "Birthday" -msgstr "Zi de naștere" - -#: lib/app.php:253 -msgid "Business" -msgstr "" - -#: lib/app.php:254 -msgid "Call" -msgstr "" - -#: lib/app.php:255 -msgid "Clients" -msgstr "" - -#: lib/app.php:256 -msgid "Deliverer" -msgstr "" - -#: lib/app.php:257 -msgid "Holidays" -msgstr "" - -#: lib/app.php:258 -msgid "Ideas" -msgstr "" - -#: lib/app.php:259 -msgid "Journey" -msgstr "" - -#: lib/app.php:260 -msgid "Jubilee" -msgstr "" - -#: lib/app.php:261 -msgid "Meeting" -msgstr "" - -#: lib/app.php:263 -msgid "Personal" -msgstr "" - -#: lib/app.php:264 -msgid "Projects" -msgstr "" - -#: lib/app.php:265 -msgid "Questions" -msgstr "" - -#: lib/hooks.php:102 -msgid "{name}'s Birthday" -msgstr "Ziua de naștere a {name}" - -#: lib/search.php:15 -msgid "Contact" -msgstr "Contact" - -#: lib/vcard.php:408 -msgid "You do not have the permissions to edit this contact." -msgstr "" - -#: lib/vcard.php:483 -msgid "You do not have the permissions to delete this contact." -msgstr "" - -#: templates/index.php:14 -msgid "Add Contact" -msgstr "Adaugă contact" - -#: templates/index.php:15 templates/index.php:16 templates/part.import.php:17 -msgid "Import" -msgstr "" - -#: templates/index.php:18 -msgid "Settings" -msgstr "" - -#: templates/index.php:18 templates/settings.php:9 -msgid "Addressbooks" -msgstr "Agende" - -#: templates/index.php:36 templates/part.import.php:24 -msgid "Close" -msgstr "" - -#: templates/index.php:37 -msgid "Keyboard shortcuts" -msgstr "" - -#: templates/index.php:39 -msgid "Navigation" -msgstr "" - -#: templates/index.php:42 -msgid "Next contact in list" -msgstr "" - -#: templates/index.php:44 -msgid "Previous contact in list" -msgstr "" - -#: templates/index.php:46 -msgid "Expand/collapse current addressbook" -msgstr "" - -#: templates/index.php:48 -msgid "Next addressbook" -msgstr "" - -#: templates/index.php:50 -msgid "Previous addressbook" -msgstr "" - -#: templates/index.php:54 -msgid "Actions" -msgstr "" - -#: templates/index.php:57 -msgid "Refresh contacts list" -msgstr "" - -#: templates/index.php:59 -msgid "Add new contact" -msgstr "" - -#: templates/index.php:61 -msgid "Add new addressbook" -msgstr "" - -#: templates/index.php:63 -msgid "Delete current contact" -msgstr "" - -#: templates/part.contact.php:17 -msgid "Drop photo to upload" -msgstr "" - -#: templates/part.contact.php:19 -msgid "Delete current photo" -msgstr "" - -#: templates/part.contact.php:20 -msgid "Edit current photo" -msgstr "" - -#: templates/part.contact.php:21 -msgid "Upload new photo" -msgstr "" - -#: templates/part.contact.php:22 -msgid "Select photo from ownCloud" -msgstr "" - -#: templates/part.contact.php:35 -msgid "Format custom, Short name, Full name, Reverse or Reverse with comma" -msgstr "" - -#: templates/part.contact.php:36 -msgid "Edit name details" -msgstr "Introdu detalii despre nume" - -#: templates/part.contact.php:39 templates/part.contact.php:40 -#: templates/part.contact.php:126 -msgid "Organization" -msgstr "Organizație" - -#: templates/part.contact.php:40 templates/part.contact.php:42 -#: templates/part.contact.php:44 templates/part.contact.php:46 -#: templates/part.contact.php:50 templates/settings.php:36 -msgid "Delete" -msgstr "Șterge" - -#: templates/part.contact.php:41 templates/part.contact.php:127 -msgid "Nickname" -msgstr "Pseudonim" - -#: templates/part.contact.php:42 -msgid "Enter nickname" -msgstr "Introdu pseudonim" - -#: templates/part.contact.php:43 templates/part.contact.php:134 -msgid "Web site" -msgstr "" - -#: templates/part.contact.php:44 -msgid "http://www.somesite.com" -msgstr "" - -#: templates/part.contact.php:44 -msgid "Go to web site" -msgstr "" - -#: templates/part.contact.php:46 -msgid "dd-mm-yyyy" -msgstr "zz-ll-aaaa" - -#: templates/part.contact.php:47 templates/part.contact.php:135 -msgid "Groups" -msgstr "Grupuri" - -#: templates/part.contact.php:49 -msgid "Separate groups with commas" -msgstr "Separă grupurile cu virgule" - -#: templates/part.contact.php:50 -msgid "Edit groups" -msgstr "Editează grupuri" - -#: templates/part.contact.php:59 templates/part.contact.php:73 -#: templates/part.contact.php:98 -msgid "Preferred" -msgstr "Preferat" - -#: templates/part.contact.php:60 -msgid "Please specify a valid email address." -msgstr "Te rog să specifici un e-mail corect" - -#: templates/part.contact.php:60 -msgid "Enter email address" -msgstr "Introdu adresa de e-mail" - -#: templates/part.contact.php:64 -msgid "Mail to address" -msgstr "Trimite mesaj la e-mail" - -#: templates/part.contact.php:65 -msgid "Delete email address" -msgstr "Șterge e-mail" - -#: templates/part.contact.php:75 -msgid "Enter phone number" -msgstr "" - -#: templates/part.contact.php:79 -msgid "Delete phone number" -msgstr "" - -#: templates/part.contact.php:100 -msgid "Instant Messenger" -msgstr "" - -#: templates/part.contact.php:101 -msgid "Delete IM" -msgstr "" - -#: templates/part.contact.php:110 -msgid "View on map" -msgstr "" - -#: templates/part.contact.php:110 -msgid "Edit address details" -msgstr "" - -#: templates/part.contact.php:116 -msgid "Add notes here." -msgstr "" - -#: templates/part.contact.php:124 -msgid "Add field" -msgstr "" - -#: templates/part.contact.php:129 -msgid "Phone" -msgstr "Telefon" - -#: templates/part.contact.php:130 -msgid "Email" -msgstr "Email" - -#: templates/part.contact.php:131 -msgid "Instant Messaging" -msgstr "" - -#: templates/part.contact.php:132 -msgid "Address" -msgstr "Adresă" - -#: templates/part.contact.php:133 -msgid "Note" -msgstr "" - -#: templates/part.contact.php:138 -msgid "Download contact" -msgstr "Descarcă acest contact" - -#: templates/part.contact.php:139 -msgid "Delete contact" -msgstr "Șterge contact" - -#: templates/part.cropphoto.php:65 -msgid "The temporary image has been removed from cache." -msgstr "" - -#: templates/part.edit_address_dialog.php:6 -msgid "Edit address" -msgstr "" - -#: templates/part.edit_address_dialog.php:10 -msgid "Type" -msgstr "Tip" - -#: templates/part.edit_address_dialog.php:18 -#: templates/part.edit_address_dialog.php:21 -msgid "PO Box" -msgstr "CP" - -#: templates/part.edit_address_dialog.php:24 -msgid "Street address" -msgstr "" - -#: templates/part.edit_address_dialog.php:27 -msgid "Street and number" -msgstr "" - -#: templates/part.edit_address_dialog.php:30 -msgid "Extended" -msgstr "Extins" - -#: templates/part.edit_address_dialog.php:33 -msgid "Apartment number etc." -msgstr "" - -#: templates/part.edit_address_dialog.php:36 -#: templates/part.edit_address_dialog.php:39 -msgid "City" -msgstr "Oraș" - -#: templates/part.edit_address_dialog.php:42 -msgid "Region" -msgstr "Regiune" - -#: templates/part.edit_address_dialog.php:45 -msgid "E.g. state or province" -msgstr "" - -#: templates/part.edit_address_dialog.php:48 -msgid "Zipcode" -msgstr "Cod poștal" - -#: templates/part.edit_address_dialog.php:51 -msgid "Postal code" -msgstr "" - -#: templates/part.edit_address_dialog.php:54 -#: templates/part.edit_address_dialog.php:57 -msgid "Country" -msgstr "Țară" - -#: templates/part.edit_name_dialog.php:16 -msgid "Addressbook" -msgstr "Agendă" - -#: templates/part.edit_name_dialog.php:23 -msgid "Hon. prefixes" -msgstr "" - -#: templates/part.edit_name_dialog.php:27 -msgid "Miss" -msgstr "" - -#: templates/part.edit_name_dialog.php:28 -msgid "Ms" -msgstr "" - -#: templates/part.edit_name_dialog.php:29 -msgid "Mr" -msgstr "" - -#: templates/part.edit_name_dialog.php:30 -msgid "Sir" -msgstr "" - -#: templates/part.edit_name_dialog.php:31 -msgid "Mrs" -msgstr "" - -#: templates/part.edit_name_dialog.php:32 -msgid "Dr" -msgstr "" - -#: templates/part.edit_name_dialog.php:35 -msgid "Given name" -msgstr "" - -#: templates/part.edit_name_dialog.php:37 -msgid "Additional names" -msgstr "" - -#: templates/part.edit_name_dialog.php:39 -msgid "Family name" -msgstr "" - -#: templates/part.edit_name_dialog.php:41 -msgid "Hon. suffixes" -msgstr "" - -#: templates/part.edit_name_dialog.php:45 -msgid "J.D." -msgstr "" - -#: templates/part.edit_name_dialog.php:46 -msgid "M.D." -msgstr "" - -#: templates/part.edit_name_dialog.php:47 -msgid "D.O." -msgstr "" - -#: templates/part.edit_name_dialog.php:48 -msgid "D.C." -msgstr "" - -#: templates/part.edit_name_dialog.php:49 -msgid "Ph.D." -msgstr "" - -#: templates/part.edit_name_dialog.php:50 -msgid "Esq." -msgstr "" - -#: templates/part.edit_name_dialog.php:51 -msgid "Jr." -msgstr "" - -#: templates/part.edit_name_dialog.php:52 -msgid "Sn." -msgstr "" - -#: templates/part.import.php:1 -msgid "Import a contacts file" -msgstr "" - -#: templates/part.import.php:6 -msgid "Please choose the addressbook" -msgstr "" - -#: templates/part.import.php:10 -msgid "create a new addressbook" -msgstr "" - -#: templates/part.import.php:15 -msgid "Name of new addressbook" -msgstr "" - -#: templates/part.import.php:20 -msgid "Importing contacts" -msgstr "" - -#: templates/part.no_contacts.php:3 -msgid "You have no contacts in your addressbook." -msgstr "" - -#: templates/part.no_contacts.php:5 -msgid "Add contact" -msgstr "" - -#: templates/part.selectaddressbook.php:1 -msgid "Select Address Books" -msgstr "" - -#: templates/part.selectaddressbook.php:27 -msgid "Enter name" -msgstr "" - -#: templates/part.selectaddressbook.php:29 -msgid "Enter description" -msgstr "" - -#: templates/settings.php:3 -msgid "CardDAV syncing addresses" -msgstr "" - -#: templates/settings.php:3 -msgid "more info" -msgstr "" - -#: templates/settings.php:5 -msgid "Primary address (Kontact et al)" -msgstr "" - -#: templates/settings.php:7 -msgid "iOS/OS X" -msgstr "" - -#: templates/settings.php:20 -msgid "Show CardDav link" -msgstr "" - -#: templates/settings.php:23 -msgid "Show read-only VCF link" -msgstr "" - -#: templates/settings.php:26 -msgid "Share" -msgstr "" - -#: templates/settings.php:29 -msgid "Download" -msgstr "Descarcă" - -#: templates/settings.php:33 -msgid "Edit" -msgstr "Editează" - -#: templates/settings.php:43 -msgid "New Address Book" -msgstr "Agendă nouă" - -#: templates/settings.php:44 -msgid "Name" -msgstr "" - -#: templates/settings.php:45 -msgid "Description" -msgstr "" - -#: templates/settings.php:46 -msgid "Save" -msgstr "Salvează" - -#: templates/settings.php:47 -msgid "Cancel" -msgstr "Anulează" - -#: templates/settings.php:52 -msgid "More..." -msgstr "" diff --git a/l10n/ro/core.po b/l10n/ro/core.po index 27279e061fd19fce0015ceefdb437638289416c1..499ac25ab5f5f752a0a0551b4ec7328dd09489cd 100644 --- a/l10n/ro/core.po +++ b/l10n/ro/core.po @@ -11,9 +11,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-16 02:04+0200\n" -"PO-Revision-Date: 2012-10-16 00:05+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-11-16 00:02+0100\n" +"PO-Revision-Date: 2012-11-14 23:13+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Romanian (http://www.transifex.com/projects/p/owncloud/language/ro/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -21,209 +21,241 @@ msgstr "" "Language: ro\n" "Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n" -#: ajax/vcategories/add.php:23 ajax/vcategories/delete.php:23 -msgid "Application name not provided." -msgstr "Numele aplicație nu este furnizat." +#: ajax/vcategories/add.php:26 ajax/vcategories/edit.php:25 +msgid "Category type not provided." +msgstr "" -#: ajax/vcategories/add.php:29 +#: ajax/vcategories/add.php:30 msgid "No category to add?" msgstr "Nici o categorie de adăugat?" -#: ajax/vcategories/add.php:36 +#: ajax/vcategories/add.php:37 msgid "This category already exists: " msgstr "Această categorie deja există:" -#: js/js.js:238 templates/layout.user.php:49 templates/layout.user.php:50 +#: ajax/vcategories/addToFavorites.php:26 ajax/vcategories/delete.php:27 +#: ajax/vcategories/favorites.php:24 +#: ajax/vcategories/removeFromFavorites.php:26 +msgid "Object type not provided." +msgstr "" + +#: ajax/vcategories/addToFavorites.php:30 +#: ajax/vcategories/removeFromFavorites.php:30 +#, php-format +msgid "%s ID not provided." +msgstr "" + +#: ajax/vcategories/addToFavorites.php:35 +#, php-format +msgid "Error adding %s to favorites." +msgstr "" + +#: ajax/vcategories/delete.php:35 js/oc-vcategories.js:136 +msgid "No categories selected for deletion." +msgstr "Nici o categorie selectată pentru ștergere." + +#: ajax/vcategories/removeFromFavorites.php:35 +#, php-format +msgid "Error removing %s from favorites." +msgstr "" + +#: js/js.js:243 templates/layout.user.php:59 templates/layout.user.php:60 msgid "Settings" msgstr "Configurări" -#: js/js.js:670 -msgid "January" -msgstr "Ianuarie" +#: js/js.js:688 +msgid "seconds ago" +msgstr "secunde în urmă" -#: js/js.js:670 -msgid "February" -msgstr "Februarie" +#: js/js.js:689 +msgid "1 minute ago" +msgstr "1 minut în urmă" -#: js/js.js:670 -msgid "March" -msgstr "Martie" +#: js/js.js:690 +msgid "{minutes} minutes ago" +msgstr "" -#: js/js.js:670 -msgid "April" -msgstr "Aprilie" +#: js/js.js:691 +msgid "1 hour ago" +msgstr "" -#: js/js.js:670 -msgid "May" -msgstr "Mai" +#: js/js.js:692 +msgid "{hours} hours ago" +msgstr "" -#: js/js.js:670 -msgid "June" -msgstr "Iunie" +#: js/js.js:693 +msgid "today" +msgstr "astăzi" -#: js/js.js:671 -msgid "July" -msgstr "Iulie" +#: js/js.js:694 +msgid "yesterday" +msgstr "ieri" -#: js/js.js:671 -msgid "August" -msgstr "August" +#: js/js.js:695 +msgid "{days} days ago" +msgstr "" -#: js/js.js:671 -msgid "September" -msgstr "Septembrie" +#: js/js.js:696 +msgid "last month" +msgstr "ultima lună" -#: js/js.js:671 -msgid "October" -msgstr "Octombrie" +#: js/js.js:697 +msgid "{months} months ago" +msgstr "" -#: js/js.js:671 -msgid "November" -msgstr "Noiembrie" +#: js/js.js:698 +msgid "months ago" +msgstr "luni în urmă" -#: js/js.js:671 -msgid "December" -msgstr "Decembrie" +#: js/js.js:699 +msgid "last year" +msgstr "ultimul an" + +#: js/js.js:700 +msgid "years ago" +msgstr "ani în urmă" -#: js/oc-dialogs.js:123 +#: js/oc-dialogs.js:126 msgid "Choose" msgstr "Alege" -#: js/oc-dialogs.js:143 js/oc-dialogs.js:163 +#: js/oc-dialogs.js:146 js/oc-dialogs.js:166 msgid "Cancel" msgstr "Anulare" -#: js/oc-dialogs.js:159 +#: js/oc-dialogs.js:162 msgid "No" msgstr "Nu" -#: js/oc-dialogs.js:160 +#: js/oc-dialogs.js:163 msgid "Yes" msgstr "Da" -#: js/oc-dialogs.js:177 +#: js/oc-dialogs.js:180 msgid "Ok" msgstr "Ok" -#: js/oc-vcategories.js:68 -msgid "No categories selected for deletion." -msgstr "Nici o categorie selectată pentru ștergere." +#: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102 +#: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162 +msgid "The object type is not specified." +msgstr "" -#: js/oc-vcategories.js:68 js/share.js:114 js/share.js:121 js/share.js:497 -#: js/share.js:509 +#: js/oc-vcategories.js:95 js/oc-vcategories.js:125 js/oc-vcategories.js:136 +#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:525 +#: js/share.js:537 msgid "Error" msgstr "Eroare" -#: js/share.js:103 +#: js/oc-vcategories.js:179 +msgid "The app name is not specified." +msgstr "" + +#: js/oc-vcategories.js:194 +msgid "The required file {file} is not installed!" +msgstr "" + +#: js/share.js:124 msgid "Error while sharing" msgstr "Eroare la partajare" -#: js/share.js:114 +#: js/share.js:135 msgid "Error while unsharing" msgstr "Eroare la anularea partajării" -#: js/share.js:121 +#: js/share.js:142 msgid "Error while changing permissions" msgstr "Eroare la modificarea permisiunilor" -#: js/share.js:130 -msgid "Shared with you and the group" +#: js/share.js:151 +msgid "Shared with you and the group {group} by {owner}" msgstr "" -#: js/share.js:130 -msgid "by" -msgstr "" - -#: js/share.js:132 -msgid "Shared with you by" +#: js/share.js:153 +msgid "Shared with you by {owner}" msgstr "" -#: js/share.js:137 +#: js/share.js:158 msgid "Share with" msgstr "Partajat cu" -#: js/share.js:142 +#: js/share.js:163 msgid "Share with link" msgstr "Partajare cu legătură" -#: js/share.js:143 +#: js/share.js:164 msgid "Password protect" msgstr "Protejare cu parolă" -#: js/share.js:147 templates/installation.php:42 templates/login.php:24 +#: js/share.js:168 templates/installation.php:42 templates/login.php:24 #: templates/verify.php:13 msgid "Password" msgstr "Parola" -#: js/share.js:152 +#: js/share.js:173 msgid "Set expiration date" msgstr "Specifică data expirării" -#: js/share.js:153 +#: js/share.js:174 msgid "Expiration date" msgstr "Data expirării" -#: js/share.js:185 +#: js/share.js:206 msgid "Share via email:" msgstr "" -#: js/share.js:187 +#: js/share.js:208 msgid "No people found" msgstr "Nici o persoană găsită" -#: js/share.js:214 +#: js/share.js:235 msgid "Resharing is not allowed" msgstr "Repartajarea nu este permisă" -#: js/share.js:250 -msgid "Shared in" -msgstr "" - -#: js/share.js:250 -msgid "with" +#: js/share.js:271 +msgid "Shared in {item} with {user}" msgstr "" -#: js/share.js:271 +#: js/share.js:292 msgid "Unshare" msgstr "Anulare partajare" -#: js/share.js:283 +#: js/share.js:304 msgid "can edit" msgstr "poate edita" -#: js/share.js:285 +#: js/share.js:306 msgid "access control" msgstr "control acces" -#: js/share.js:288 +#: js/share.js:309 msgid "create" msgstr "creare" -#: js/share.js:291 +#: js/share.js:312 msgid "update" msgstr "actualizare" -#: js/share.js:294 +#: js/share.js:315 msgid "delete" msgstr "ștergere" -#: js/share.js:297 +#: js/share.js:318 msgid "share" msgstr "partajare" -#: js/share.js:322 js/share.js:484 +#: js/share.js:343 js/share.js:512 js/share.js:514 msgid "Password protected" msgstr "Protejare cu parolă" -#: js/share.js:497 +#: js/share.js:525 msgid "Error unsetting expiration date" msgstr "Eroare la anularea datei de expirare" -#: js/share.js:509 +#: js/share.js:537 msgid "Error setting expiration date" msgstr "Eroare la specificarea datei de expirare" -#: lostpassword/index.php:26 +#: lostpassword/controller.php:47 msgid "ownCloud password reset" msgstr "Resetarea parolei ownCloud " @@ -236,12 +268,12 @@ msgid "You will receive a link to reset your password via Email." msgstr "Vei primi un mesaj prin care vei putea reseta parola via email" #: lostpassword/templates/lostpassword.php:5 -msgid "Requested" -msgstr "Solicitat" +msgid "Reset email send." +msgstr "" #: lostpassword/templates/lostpassword.php:8 -msgid "Login failed!" -msgstr "Autentificare eșuată" +msgid "Request failed!" +msgstr "" #: lostpassword/templates/lostpassword.php:11 templates/installation.php:38 #: templates/login.php:20 @@ -300,13 +332,13 @@ msgstr "Nu s-a găsit" msgid "Edit categories" msgstr "Editează categoriile" -#: templates/edit_categories_dialog.php:14 +#: templates/edit_categories_dialog.php:16 msgid "Add" msgstr "Adaugă" #: templates/installation.php:23 templates/installation.php:31 msgid "Security Warning" -msgstr "" +msgstr "Avertisment de securitate" #: templates/installation.php:24 msgid "" @@ -327,7 +359,7 @@ msgid "" "strongly suggest that you configure your webserver in a way that the data " "directory is no longer accessible or you move the data directory outside the" " webserver document root." -msgstr "" +msgstr "Directorul tău de date și fișierele tale probabil sunt accesibile prin internet. Fișierul .htaccess oferit de ownCloud nu funcționează. Îți recomandăm să configurezi server-ul tău web într-un mod în care directorul de date să nu mai fie accesibil sau mută directorul de date în afara directorului root al server-ului web." #: templates/installation.php:36 msgid "Create an admin account" @@ -374,11 +406,87 @@ msgstr "Bază date" msgid "Finish setup" msgstr "Finalizează instalarea" -#: templates/layout.guest.php:38 +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Sunday" +msgstr "Duminică" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Monday" +msgstr "Luni" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Tuesday" +msgstr "Marți" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Wednesday" +msgstr "Miercuri" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Thursday" +msgstr "Joi" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Friday" +msgstr "Vineri" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Saturday" +msgstr "Sâmbătă" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "January" +msgstr "Ianuarie" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "February" +msgstr "Februarie" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "March" +msgstr "Martie" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "April" +msgstr "Aprilie" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "May" +msgstr "Mai" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "June" +msgstr "Iunie" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "July" +msgstr "Iulie" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "August" +msgstr "August" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "September" +msgstr "Septembrie" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "October" +msgstr "Octombrie" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "November" +msgstr "Noiembrie" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "December" +msgstr "Decembrie" + +#: templates/layout.guest.php:41 msgid "web services under your control" msgstr "servicii web controlate de tine" -#: templates/layout.user.php:34 +#: templates/layout.user.php:44 msgid "Log out" msgstr "Ieșire" diff --git a/l10n/ro/files.po b/l10n/ro/files.po index ebc77fb07be6a24f533647352576613209d63ccc..a1bd981cb9b52398cf7c278d6bea519b54159ff2 100644 --- a/l10n/ro/files.po +++ b/l10n/ro/files.po @@ -11,9 +11,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-09-27 02:01+0200\n" -"PO-Revision-Date: 2012-09-26 13:07+0000\n" -"Last-Translator: g.ciprian \n" +"POT-Creation-Date: 2012-12-01 00:01+0100\n" +"PO-Revision-Date: 2012-11-30 23:02+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Romanian (http://www.transifex.com/projects/p/owncloud/language/ro/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -26,195 +26,166 @@ msgid "There is no error, the file uploaded with success" msgstr "Nicio eroare, fișierul a fost încărcat cu succes" #: ajax/upload.php:21 -msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" -msgstr "Fișierul are o dimensiune mai mare decât cea specificată în variabila upload_max_filesize din php.ini" +msgid "" +"The uploaded file exceeds the upload_max_filesize directive in php.ini: " +msgstr "" -#: ajax/upload.php:22 +#: ajax/upload.php:23 msgid "" "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " "the HTML form" msgstr "Fișierul are o dimensiune mai mare decât variabile MAX_FILE_SIZE specificată în formularul HTML" -#: ajax/upload.php:23 +#: ajax/upload.php:25 msgid "The uploaded file was only partially uploaded" msgstr "Fișierul a fost încărcat doar parțial" -#: ajax/upload.php:24 +#: ajax/upload.php:26 msgid "No file was uploaded" msgstr "Niciun fișier încărcat" -#: ajax/upload.php:25 +#: ajax/upload.php:27 msgid "Missing a temporary folder" msgstr "Lipsește un dosar temporar" -#: ajax/upload.php:26 +#: ajax/upload.php:28 msgid "Failed to write to disk" msgstr "Eroare la scriere pe disc" -#: appinfo/app.php:6 +#: appinfo/app.php:10 msgid "Files" msgstr "Fișiere" -#: js/fileactions.js:108 templates/index.php:62 +#: js/fileactions.js:117 templates/index.php:83 templates/index.php:84 msgid "Unshare" msgstr "Anulează partajarea" -#: js/fileactions.js:110 templates/index.php:64 +#: js/fileactions.js:119 templates/index.php:89 templates/index.php:90 msgid "Delete" msgstr "Șterge" -#: js/fileactions.js:182 +#: js/fileactions.js:181 msgid "Rename" msgstr "Redenumire" -#: js/filelist.js:190 js/filelist.js:192 -msgid "already exists" -msgstr "deja există" +#: js/filelist.js:201 js/filelist.js:203 +msgid "{new_name} already exists" +msgstr "" -#: js/filelist.js:190 js/filelist.js:192 +#: js/filelist.js:201 js/filelist.js:203 msgid "replace" msgstr "înlocuire" -#: js/filelist.js:190 +#: js/filelist.js:201 msgid "suggest name" msgstr "sugerează nume" -#: js/filelist.js:190 js/filelist.js:192 +#: js/filelist.js:201 js/filelist.js:203 msgid "cancel" msgstr "anulare" -#: js/filelist.js:239 js/filelist.js:241 -msgid "replaced" -msgstr "înlocuit" +#: js/filelist.js:250 +msgid "replaced {new_name}" +msgstr "" -#: js/filelist.js:239 js/filelist.js:241 js/filelist.js:273 js/filelist.js:275 +#: js/filelist.js:250 js/filelist.js:252 js/filelist.js:284 js/filelist.js:286 msgid "undo" msgstr "Anulează ultima acțiune" -#: js/filelist.js:241 -msgid "with" -msgstr "cu" +#: js/filelist.js:252 +msgid "replaced {new_name} with {old_name}" +msgstr "" -#: js/filelist.js:273 -msgid "unshared" -msgstr "nepartajat" +#: js/filelist.js:284 +msgid "unshared {files}" +msgstr "" -#: js/filelist.js:275 -msgid "deleted" -msgstr "șters" +#: js/filelist.js:286 +msgid "deleted {files}" +msgstr "" + +#: js/files.js:33 +msgid "" +"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not " +"allowed." +msgstr "" -#: js/files.js:179 +#: js/files.js:183 msgid "generating ZIP-file, it may take some time." msgstr "se generază fișierul ZIP, va dura ceva timp." -#: js/files.js:208 +#: js/files.js:218 msgid "Unable to upload your file as it is a directory or has 0 bytes" msgstr "Nu s-a putut încărca fișierul tău deoarece pare să fie un director sau are 0 bytes." -#: js/files.js:208 +#: js/files.js:218 msgid "Upload Error" msgstr "Eroare la încărcare" -#: js/files.js:236 js/files.js:341 js/files.js:371 +#: js/files.js:235 +msgid "Close" +msgstr "Închide" + +#: js/files.js:254 js/files.js:368 js/files.js:398 msgid "Pending" msgstr "În așteptare" -#: js/files.js:256 +#: js/files.js:274 msgid "1 file uploading" msgstr "un fișier se încarcă" -#: js/files.js:259 js/files.js:304 js/files.js:319 -msgid "files uploading" -msgstr "fișiere se încarcă" +#: js/files.js:277 js/files.js:331 js/files.js:346 +msgid "{count} files uploading" +msgstr "" -#: js/files.js:322 js/files.js:355 +#: js/files.js:349 js/files.js:382 msgid "Upload cancelled." msgstr "Încărcare anulată." -#: js/files.js:424 +#: js/files.js:451 msgid "" "File upload is in progress. Leaving the page now will cancel the upload." msgstr "Fișierul este în curs de încărcare. Părăsirea paginii va întrerupe încărcarea." -#: js/files.js:494 -msgid "Invalid name, '/' is not allowed." -msgstr "Nume invalid, '/' nu este permis." +#: js/files.js:523 +msgid "Invalid folder name. Usage of \"Shared\" is reserved by Owncloud" +msgstr "" -#: js/files.js:668 -msgid "files scanned" -msgstr "fișiere scanate" +#: js/files.js:704 +msgid "{count} files scanned" +msgstr "" -#: js/files.js:676 +#: js/files.js:712 msgid "error while scanning" msgstr "eroare la scanarea" -#: js/files.js:749 templates/index.php:48 +#: js/files.js:785 templates/index.php:65 msgid "Name" msgstr "Nume" -#: js/files.js:750 templates/index.php:56 +#: js/files.js:786 templates/index.php:76 msgid "Size" msgstr "Dimensiune" -#: js/files.js:751 templates/index.php:58 +#: js/files.js:787 templates/index.php:78 msgid "Modified" msgstr "Modificat" -#: js/files.js:778 -msgid "folder" -msgstr "director" - -#: js/files.js:780 -msgid "folders" -msgstr "directoare" - -#: js/files.js:788 -msgid "file" -msgstr "fișier" - -#: js/files.js:790 -msgid "files" -msgstr "fișiere" - -#: js/files.js:834 -msgid "seconds ago" -msgstr "secunde în urmă" - -#: js/files.js:835 -msgid "minute ago" -msgstr "minut în urmă" - -#: js/files.js:836 -msgid "minutes ago" -msgstr "minute în urmă" - -#: js/files.js:839 -msgid "today" -msgstr "astăzi" - -#: js/files.js:840 -msgid "yesterday" -msgstr "ieri" - -#: js/files.js:841 -msgid "days ago" -msgstr "zile în urmă" - -#: js/files.js:842 -msgid "last month" -msgstr "ultima lună" +#: js/files.js:814 +msgid "1 folder" +msgstr "" -#: js/files.js:844 -msgid "months ago" -msgstr "luni în urmă" +#: js/files.js:816 +msgid "{count} folders" +msgstr "" -#: js/files.js:845 -msgid "last year" -msgstr "ultimul an" +#: js/files.js:824 +msgid "1 file" +msgstr "" -#: js/files.js:846 -msgid "years ago" -msgstr "ani în urmă" +#: js/files.js:826 +msgid "{count} files" +msgstr "" #: templates/admin.php:5 msgid "File handling" @@ -224,27 +195,27 @@ msgstr "Manipulare fișiere" msgid "Maximum upload size" msgstr "Dimensiune maximă admisă la încărcare" -#: templates/admin.php:7 +#: templates/admin.php:9 msgid "max. possible: " msgstr "max. posibil:" -#: templates/admin.php:9 +#: templates/admin.php:12 msgid "Needed for multi-file and folder downloads." msgstr "Necesar pentru descărcarea mai multor fișiere și a dosarelor" -#: templates/admin.php:9 +#: templates/admin.php:14 msgid "Enable ZIP-download" msgstr "Activează descărcare fișiere compresate" -#: templates/admin.php:11 +#: templates/admin.php:17 msgid "0 is unlimited" msgstr "0 e nelimitat" -#: templates/admin.php:12 +#: templates/admin.php:19 msgid "Maximum input size for ZIP files" msgstr "Dimensiunea maximă de intrare pentru fișiere compresate" -#: templates/admin.php:14 +#: templates/admin.php:23 msgid "Save" msgstr "Salvare" @@ -252,52 +223,48 @@ msgstr "Salvare" msgid "New" msgstr "Nou" -#: templates/index.php:9 +#: templates/index.php:10 msgid "Text file" msgstr "Fișier text" -#: templates/index.php:10 +#: templates/index.php:12 msgid "Folder" msgstr "Dosar" -#: templates/index.php:11 -msgid "From url" -msgstr "De la URL" +#: templates/index.php:14 +msgid "From link" +msgstr "" -#: templates/index.php:20 +#: templates/index.php:35 msgid "Upload" msgstr "Încarcă" -#: templates/index.php:27 +#: templates/index.php:43 msgid "Cancel upload" msgstr "Anulează încărcarea" -#: templates/index.php:40 +#: templates/index.php:57 msgid "Nothing in here. Upload something!" msgstr "Nimic aici. Încarcă ceva!" -#: templates/index.php:50 -msgid "Share" -msgstr "Partajează" - -#: templates/index.php:52 +#: templates/index.php:71 msgid "Download" msgstr "Descarcă" -#: templates/index.php:75 +#: templates/index.php:103 msgid "Upload too large" msgstr "Fișierul încărcat este prea mare" -#: templates/index.php:77 +#: templates/index.php:105 msgid "" "The files you are trying to upload exceed the maximum size for file uploads " "on this server." msgstr "Fișierul care l-ai încărcat a depășită limita maximă admisă la încărcare pe acest server." -#: templates/index.php:82 +#: templates/index.php:110 msgid "Files are being scanned, please wait." msgstr "Fișierele sunt scanate, te rog așteptă." -#: templates/index.php:85 +#: templates/index.php:113 msgid "Current scanning" msgstr "În curs de scanare" diff --git a/l10n/ro/files_external.po b/l10n/ro/files_external.po index a248d72af3408ddc0b182cef70460b193dbb3ff0..ac9c9b58779d81fe7e1b861afce5c1bf3a817012 100644 --- a/l10n/ro/files_external.po +++ b/l10n/ro/files_external.po @@ -8,9 +8,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-02 23:16+0200\n" -"PO-Revision-Date: 2012-10-02 21:17+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-12-12 00:12+0100\n" +"PO-Revision-Date: 2012-12-11 23:13+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Romanian (http://www.transifex.com/projects/p/owncloud/language/ro/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -42,66 +42,80 @@ msgstr "" msgid "Error configuring Google Drive storage" msgstr "" +#: lib/config.php:434 +msgid "" +"Warning: \"smbclient\" is not installed. Mounting of CIFS/SMB shares " +"is not possible. Please ask your system administrator to install it." +msgstr "" + +#: lib/config.php:435 +msgid "" +"Warning: The FTP support in PHP is not enabled or installed. Mounting" +" of FTP shares is not possible. Please ask your system administrator to " +"install it." +msgstr "" + #: templates/settings.php:3 msgid "External Storage" msgstr "Stocare externă" -#: templates/settings.php:7 templates/settings.php:19 +#: templates/settings.php:8 templates/settings.php:22 msgid "Mount point" msgstr "Punctul de montare" -#: templates/settings.php:8 +#: templates/settings.php:9 msgid "Backend" msgstr "Backend" -#: templates/settings.php:9 +#: templates/settings.php:10 msgid "Configuration" msgstr "Configurație" -#: templates/settings.php:10 +#: templates/settings.php:11 msgid "Options" msgstr "Opțiuni" -#: templates/settings.php:11 +#: templates/settings.php:12 msgid "Applicable" msgstr "Aplicabil" -#: templates/settings.php:23 +#: templates/settings.php:27 msgid "Add mount point" msgstr "Adaugă punct de montare" -#: templates/settings.php:54 templates/settings.php:62 +#: templates/settings.php:85 msgid "None set" msgstr "Niciunul" -#: templates/settings.php:63 +#: templates/settings.php:86 msgid "All Users" msgstr "Toți utilizatorii" -#: templates/settings.php:64 +#: templates/settings.php:87 msgid "Groups" msgstr "Grupuri" -#: templates/settings.php:69 +#: templates/settings.php:95 msgid "Users" msgstr "Utilizatori" -#: templates/settings.php:77 templates/settings.php:107 +#: templates/settings.php:108 templates/settings.php:109 +#: templates/settings.php:149 templates/settings.php:150 msgid "Delete" msgstr "Șterge" -#: templates/settings.php:87 +#: templates/settings.php:124 msgid "Enable User External Storage" msgstr "Permite stocare externă pentru utilizatori" -#: templates/settings.php:88 +#: templates/settings.php:125 msgid "Allow users to mount their own external storage" msgstr "Permite utilizatorilor să monteze stocare externă proprie" -#: templates/settings.php:99 +#: templates/settings.php:139 msgid "SSL root certificates" msgstr "Certificate SSL root" -#: templates/settings.php:113 +#: templates/settings.php:158 msgid "Import Root Certificate" msgstr "Importă certificat root" diff --git a/l10n/ro/files_pdfviewer.po b/l10n/ro/files_pdfviewer.po deleted file mode 100644 index 5425afad6366103e235cdc532a6833ab2ff8b632..0000000000000000000000000000000000000000 --- a/l10n/ro/files_pdfviewer.po +++ /dev/null @@ -1,42 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 02:18+0200\n" -"PO-Revision-Date: 2012-08-26 00:19+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Romanian (http://www.transifex.com/projects/p/owncloud/language/ro/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ro\n" -"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1))\n" - -#: js/viewer.js:22 -msgid "Previous" -msgstr "" - -#: js/viewer.js:23 -msgid "Next" -msgstr "" - -#: js/viewer.js:29 -msgid "Page Width" -msgstr "" - -#: js/viewer.js:29 -msgid "Page Fit" -msgstr "" - -#: js/viewer.js:30 -msgid "Print" -msgstr "" - -#: js/viewer.js:32 -msgid "Download" -msgstr "" diff --git a/l10n/ro/files_texteditor.po b/l10n/ro/files_texteditor.po deleted file mode 100644 index c74fb485a95a78163c4ea938977a1f5d9dd9da0d..0000000000000000000000000000000000000000 --- a/l10n/ro/files_texteditor.po +++ /dev/null @@ -1,44 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 01:17+0200\n" -"PO-Revision-Date: 2012-08-25 23:18+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Romanian (http://www.transifex.com/projects/p/owncloud/language/ro/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ro\n" -"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1))\n" - -#: js/aceeditor/mode-coldfusion-uncompressed.js:1568 -#: js/aceeditor/mode-liquid-uncompressed.js:902 -#: js/aceeditor/mode-svg-uncompressed.js:1575 -msgid "regex" -msgstr "" - -#: js/editor.js:72 js/editor.js:156 js/editor.js:163 -msgid "Save" -msgstr "" - -#: js/editor.js:74 -msgid "Close" -msgstr "" - -#: js/editor.js:149 -msgid "Saving..." -msgstr "" - -#: js/editor.js:239 -msgid "An error occurred!" -msgstr "" - -#: js/editor.js:266 -msgid "There were unsaved changes, click here to go back" -msgstr "" diff --git a/l10n/ro/gallery.po b/l10n/ro/gallery.po deleted file mode 100644 index 4bf7a3d27195d675855116c69f074f5493362ce5..0000000000000000000000000000000000000000 --- a/l10n/ro/gallery.po +++ /dev/null @@ -1,97 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Claudiu , 2012. -# Dimon Pockemon <>, 2012. -# Eugen Mihalache , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-06-06 00:12+0200\n" -"PO-Revision-Date: 2012-06-05 22:15+0000\n" -"Last-Translator: icewind \n" -"Language-Team: Romanian (http://www.transifex.net/projects/p/owncloud/language/ro/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ro\n" -"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1))\n" - -#: appinfo/app.php:37 -msgid "Pictures" -msgstr "Imagini" - -#: js/album_cover.js:44 -msgid "Share gallery" -msgstr "" - -#: js/album_cover.js:64 js/album_cover.js:100 js/album_cover.js:133 -msgid "Error: " -msgstr "" - -#: js/album_cover.js:64 js/album_cover.js:100 -msgid "Internal error" -msgstr "" - -#: js/album_cover.js:114 -msgid "Scanning root" -msgstr "" - -#: js/album_cover.js:115 -msgid "Default order" -msgstr "" - -#: js/album_cover.js:116 -msgid "Ascending" -msgstr "" - -#: js/album_cover.js:116 -msgid "Descending" -msgstr "" - -#: js/album_cover.js:117 templates/index.php:19 -msgid "Settings" -msgstr "Setări" - -#: js/album_cover.js:122 -msgid "Scanning root cannot be empty" -msgstr "" - -#: js/album_cover.js:122 js/album_cover.js:133 -msgid "Error" -msgstr "" - -#: templates/index.php:16 -msgid "Rescan" -msgstr "Re-scanează" - -#: templates/index.php:17 -msgid "Stop" -msgstr "Stop" - -#: templates/index.php:18 -msgid "Share" -msgstr "Partajează" - -#: templates/view_album.php:19 -msgid "Back" -msgstr "Înapoi" - -#: templates/view_album.php:36 -msgid "Remove confirmation" -msgstr "Șterge confirmarea" - -#: templates/view_album.php:37 -msgid "Do you want to remove album" -msgstr "Vrei să ștergi albumul" - -#: templates/view_album.php:40 -msgid "Change album name" -msgstr "Schimbă numele albumului" - -#: templates/view_album.php:43 -msgid "New album name" -msgstr "Nume nou album" diff --git a/l10n/ro/impress.po b/l10n/ro/impress.po deleted file mode 100644 index 11bb267b33b196e85c8338d65746d9e27b7335a9..0000000000000000000000000000000000000000 --- a/l10n/ro/impress.po +++ /dev/null @@ -1,22 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 01:17+0200\n" -"PO-Revision-Date: 2012-08-25 23:18+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Romanian (http://www.transifex.com/projects/p/owncloud/language/ro/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ro\n" -"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1))\n" - -#: templates/presentations.php:7 -msgid "Documentation" -msgstr "" diff --git a/l10n/ro/lib.po b/l10n/ro/lib.po index d9b2796cc91a20f289daf5a0f67f12d6d99cf2dc..827d2b17ea970bac7c9b280f0d8f183d8ab4e59a 100644 --- a/l10n/ro/lib.po +++ b/l10n/ro/lib.po @@ -8,9 +8,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-09-19 02:02+0200\n" -"PO-Revision-Date: 2012-09-18 12:54+0000\n" -"Last-Translator: g.ciprian \n" +"POT-Creation-Date: 2012-11-16 00:02+0100\n" +"PO-Revision-Date: 2012-11-14 23:13+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Romanian (http://www.transifex.com/projects/p/owncloud/language/ro/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -42,19 +42,19 @@ msgstr "Aplicații" msgid "Admin" msgstr "Admin" -#: files.php:280 +#: files.php:332 msgid "ZIP download is turned off." msgstr "Descărcarea ZIP este dezactivată." -#: files.php:281 +#: files.php:333 msgid "Files need to be downloaded one by one." msgstr "Fișierele trebuie descărcate unul câte unul." -#: files.php:281 files.php:306 +#: files.php:333 files.php:358 msgid "Back to Files" msgstr "Înapoi la fișiere" -#: files.php:305 +#: files.php:357 msgid "Selected files too large to generate zip file." msgstr "Fișierele selectate sunt prea mari pentru a genera un fișier zip." @@ -62,7 +62,7 @@ msgstr "Fișierele selectate sunt prea mari pentru a genera un fișier zip." msgid "Application is not enabled" msgstr "Aplicația nu este activată" -#: json.php:39 json.php:63 json.php:75 +#: json.php:39 json.php:64 json.php:77 json.php:89 msgid "Authentication error" msgstr "Eroare la autentificare" @@ -70,57 +70,84 @@ msgstr "Eroare la autentificare" msgid "Token expired. Please reload page." msgstr "Token expirat. Te rugăm să reîncarci pagina." -#: template.php:87 +#: search/provider/file.php:17 search/provider/file.php:35 +msgid "Files" +msgstr "Fișiere" + +#: search/provider/file.php:26 search/provider/file.php:33 +msgid "Text" +msgstr "Text" + +#: search/provider/file.php:29 +msgid "Images" +msgstr "" + +#: template.php:103 msgid "seconds ago" msgstr "secunde în urmă" -#: template.php:88 +#: template.php:104 msgid "1 minute ago" msgstr "1 minut în urmă" -#: template.php:89 +#: template.php:105 #, php-format msgid "%d minutes ago" msgstr "%d minute în urmă" -#: template.php:92 +#: template.php:106 +msgid "1 hour ago" +msgstr "" + +#: template.php:107 +#, php-format +msgid "%d hours ago" +msgstr "" + +#: template.php:108 msgid "today" msgstr "astăzi" -#: template.php:93 +#: template.php:109 msgid "yesterday" msgstr "ieri" -#: template.php:94 +#: template.php:110 #, php-format msgid "%d days ago" msgstr "%d zile în urmă" -#: template.php:95 +#: template.php:111 msgid "last month" msgstr "ultima lună" -#: template.php:96 -msgid "months ago" -msgstr "luni în urmă" +#: template.php:112 +#, php-format +msgid "%d months ago" +msgstr "" -#: template.php:97 +#: template.php:113 msgid "last year" msgstr "ultimul an" -#: template.php:98 +#: template.php:114 msgid "years ago" msgstr "ani în urmă" -#: updater.php:66 +#: updater.php:75 #, php-format msgid "%s is available. Get more information" msgstr "%s este disponibil. Vezi mai multe informații" -#: updater.php:68 +#: updater.php:77 msgid "up to date" msgstr "la zi" -#: updater.php:71 +#: updater.php:80 msgid "updates check is disabled" msgstr "verificarea după actualizări este dezactivată" + +#: vcategories.php:188 vcategories.php:249 +#, php-format +msgid "Could not find category \"%s\"" +msgstr "" diff --git a/l10n/ro/media.po b/l10n/ro/media.po deleted file mode 100644 index 8ad58147fa208e60c0c60817ac062405353e762e..0000000000000000000000000000000000000000 --- a/l10n/ro/media.po +++ /dev/null @@ -1,68 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Claudiu , 2011. -# Eugen Mihalache , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-06-06 00:12+0200\n" -"PO-Revision-Date: 2012-06-05 22:15+0000\n" -"Last-Translator: icewind \n" -"Language-Team: Romanian (http://www.transifex.net/projects/p/owncloud/language/ro/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ro\n" -"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1))\n" - -#: appinfo/app.php:32 templates/player.php:8 -msgid "Music" -msgstr "Muzică" - -#: js/music.js:18 -msgid "Add album to playlist" -msgstr "" - -#: templates/music.php:3 templates/player.php:12 -msgid "Play" -msgstr "Redă" - -#: templates/music.php:4 templates/music.php:26 templates/player.php:13 -msgid "Pause" -msgstr "Pauză" - -#: templates/music.php:5 -msgid "Previous" -msgstr "Precedent" - -#: templates/music.php:6 templates/player.php:14 -msgid "Next" -msgstr "Următor" - -#: templates/music.php:7 -msgid "Mute" -msgstr "Fără sonor" - -#: templates/music.php:8 -msgid "Unmute" -msgstr "Cu sonor" - -#: templates/music.php:25 -msgid "Rescan Collection" -msgstr "Rescanează colecția" - -#: templates/music.php:37 -msgid "Artist" -msgstr "Artist" - -#: templates/music.php:38 -msgid "Album" -msgstr "Album" - -#: templates/music.php:39 -msgid "Title" -msgstr "Titlu" diff --git a/l10n/ro/settings.po b/l10n/ro/settings.po index 37d05af3c866ea62bf5b5804a9716537add4e9da..f963f93caf920529938476cf0bf250b1cbe0f870 100644 --- a/l10n/ro/settings.po +++ b/l10n/ro/settings.po @@ -13,9 +13,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-09 02:03+0200\n" -"PO-Revision-Date: 2012-10-09 00:04+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-12-03 00:04+0100\n" +"PO-Revision-Date: 2012-12-02 03:18+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Romanian (http://www.transifex.com/projects/p/owncloud/language/ro/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -23,70 +23,73 @@ msgstr "" "Language: ro\n" "Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n" -#: ajax/apps/ocs.php:23 +#: ajax/apps/ocs.php:20 msgid "Unable to load list from App Store" msgstr "Imposibil de încărcat lista din App Store" -#: ajax/creategroup.php:9 ajax/removeuser.php:13 ajax/setquota.php:18 -#: ajax/togglegroups.php:15 -msgid "Authentication error" -msgstr "Eroare de autentificare" - -#: ajax/creategroup.php:19 +#: ajax/creategroup.php:10 msgid "Group already exists" msgstr "Grupul există deja" -#: ajax/creategroup.php:28 +#: ajax/creategroup.php:19 msgid "Unable to add group" msgstr "Nu s-a putut adăuga grupul" -#: ajax/enableapp.php:14 +#: ajax/enableapp.php:12 msgid "Could not enable app. " msgstr "Nu s-a putut activa aplicația." -#: ajax/lostpassword.php:14 +#: ajax/lostpassword.php:12 msgid "Email saved" msgstr "E-mail salvat" -#: ajax/lostpassword.php:16 +#: ajax/lostpassword.php:14 msgid "Invalid email" msgstr "E-mail nevalid" -#: ajax/openid.php:16 +#: ajax/openid.php:13 msgid "OpenID Changed" msgstr "OpenID schimbat" -#: ajax/openid.php:18 ajax/setlanguage.php:20 ajax/setlanguage.php:23 +#: ajax/openid.php:15 ajax/setlanguage.php:17 ajax/setlanguage.php:20 msgid "Invalid request" msgstr "Cerere eronată" -#: ajax/removegroup.php:16 +#: ajax/removegroup.php:13 msgid "Unable to delete group" msgstr "Nu s-a putut șterge grupul" -#: ajax/removeuser.php:22 +#: ajax/removeuser.php:15 ajax/setquota.php:15 ajax/togglegroups.php:18 +msgid "Authentication error" +msgstr "Eroare de autentificare" + +#: ajax/removeuser.php:24 msgid "Unable to delete user" msgstr "Nu s-a putut șterge utilizatorul" -#: ajax/setlanguage.php:18 +#: ajax/setlanguage.php:15 msgid "Language changed" msgstr "Limba a fost schimbată" -#: ajax/togglegroups.php:25 +#: ajax/togglegroups.php:12 +msgid "Admins can't remove themself from the admin group" +msgstr "" + +#: ajax/togglegroups.php:28 #, php-format msgid "Unable to add user to group %s" msgstr "Nu s-a putut adăuga utilizatorul la grupul %s" -#: ajax/togglegroups.php:31 +#: ajax/togglegroups.php:34 #, php-format msgid "Unable to remove user from group %s" msgstr "Nu s-a putut elimina utilizatorul din grupul %s" -#: js/apps.js:28 js/apps.js:65 +#: js/apps.js:28 js/apps.js:67 msgid "Disable" msgstr "Dezactivați" -#: js/apps.js:28 js/apps.js:54 +#: js/apps.js:28 js/apps.js:55 msgid "Enable" msgstr "Activați" @@ -94,97 +97,10 @@ msgstr "Activați" msgid "Saving..." msgstr "Salvez..." -#: personal.php:47 personal.php:48 +#: personal.php:42 personal.php:43 msgid "__language_name__" msgstr "_language_name_" -#: templates/admin.php:14 -msgid "Security Warning" -msgstr "Avertisment de securitate" - -#: templates/admin.php:17 -msgid "" -"Your data directory and your files are probably accessible from the " -"internet. The .htaccess file that ownCloud provides is not working. We " -"strongly suggest that you configure your webserver in a way that the data " -"directory is no longer accessible or you move the data directory outside the" -" webserver document root." -msgstr "Directorul tău de date și fișierele tale probabil sunt accesibile prin internet. Fișierul .htaccess oferit de ownCloud nu funcționează. Îți recomandăm să configurezi server-ul tău web într-un mod în care directorul de date să nu mai fie accesibil sau mută directorul de date în afara directorului root al server-ului web." - -#: templates/admin.php:31 -msgid "Cron" -msgstr "Cron" - -#: templates/admin.php:37 -msgid "Execute one task with each page loaded" -msgstr "Execută o sarcină la fiecare pagină încărcată" - -#: templates/admin.php:43 -msgid "" -"cron.php is registered at a webcron service. Call the cron.php page in the " -"owncloud root once a minute over http." -msgstr "cron.php este înregistrat în serviciul webcron. Accesează pagina cron.php din root-ul owncloud odată pe minut prin http." - -#: templates/admin.php:49 -msgid "" -"Use systems cron service. Call the cron.php file in the owncloud folder via " -"a system cronjob once a minute." -msgstr "Folosește serviciul cron al sistemului. Accesează fișierul cron.php din directorul owncloud printr-un cronjob de sistem odată la fiecare minut." - -#: templates/admin.php:56 -msgid "Sharing" -msgstr "Partajare" - -#: templates/admin.php:61 -msgid "Enable Share API" -msgstr "Activare API partajare" - -#: templates/admin.php:62 -msgid "Allow apps to use the Share API" -msgstr "Permite aplicațiilor să folosească API-ul de partajare" - -#: templates/admin.php:67 -msgid "Allow links" -msgstr "Pemite legături" - -#: templates/admin.php:68 -msgid "Allow users to share items to the public with links" -msgstr "Permite utilizatorilor să partajeze fișiere în mod public prin legături" - -#: templates/admin.php:73 -msgid "Allow resharing" -msgstr "Permite repartajarea" - -#: templates/admin.php:74 -msgid "Allow users to share items shared with them again" -msgstr "Permite utilizatorilor să repartajeze fișiere partajate cu ei" - -#: templates/admin.php:79 -msgid "Allow users to share with anyone" -msgstr "Permite utilizatorilor să partajeze cu oricine" - -#: templates/admin.php:81 -msgid "Allow users to only share with users in their groups" -msgstr "Permite utilizatorilor să partajeze doar cu utilizatori din același grup" - -#: templates/admin.php:88 -msgid "Log" -msgstr "Jurnal de activitate" - -#: templates/admin.php:116 -msgid "More" -msgstr "Mai mult" - -#: templates/admin.php:124 -msgid "" -"Developed by the ownCloud community, the source code is " -"licensed under the AGPL." -msgstr "Dezvoltat de the comunitatea ownCloud, codul sursă este licențiat sub AGPL." - #: templates/apps.php:10 msgid "Add your App" msgstr "Adaugă aplicația ta" @@ -217,22 +133,22 @@ msgstr "Gestionînd fișiere mari" msgid "Ask a question" msgstr "Întreabă" -#: templates/help.php:23 +#: templates/help.php:22 msgid "Problems connecting to help database." msgstr "Probleme de conectare la baza de date." -#: templates/help.php:24 +#: templates/help.php:23 msgid "Go there manually." msgstr "Pe cale manuală." -#: templates/help.php:32 +#: templates/help.php:31 msgid "Answer" msgstr "Răspuns" #: templates/personal.php:8 #, php-format -msgid "You have used %s of the available %s" -msgstr "Ai utilizat %s din %s spațiu disponibil" +msgid "You have used %s of the available %s" +msgstr "" #: templates/personal.php:12 msgid "Desktop and Mobile Syncing Clients" @@ -290,6 +206,16 @@ msgstr "Ajută la traducere" msgid "use this address to connect to your ownCloud in your file manager" msgstr "folosește această adresă pentru a te conecta la managerul tău de fișiere din ownCloud" +#: templates/personal.php:61 +msgid "" +"Developed by the ownCloud community, the source code is " +"licensed under the AGPL." +msgstr "Dezvoltat de the comunitatea ownCloud, codul sursă este licențiat sub AGPL." + #: templates/users.php:21 templates/users.php:76 msgid "Name" msgstr "Nume" diff --git a/l10n/ro/tasks.po b/l10n/ro/tasks.po deleted file mode 100644 index c7869fb6c68d97ce84c1b80afe235a729e7dc55c..0000000000000000000000000000000000000000 --- a/l10n/ro/tasks.po +++ /dev/null @@ -1,107 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Dumitru Ursu <>, 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-15 02:03+0200\n" -"PO-Revision-Date: 2012-08-14 20:30+0000\n" -"Last-Translator: Dumitru Ursu <>\n" -"Language-Team: Romanian (http://www.transifex.com/projects/p/owncloud/language/ro/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ro\n" -"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1))\n" - -#: ajax/update_property.php:51 lib/app.php:89 lib/app.php:101 -msgid "Invalid date/time" -msgstr "Data/timpul invalid" - -#: appinfo/app.php:11 -msgid "Tasks" -msgstr "Sarcini" - -#: js/tasks.js:415 -msgid "No category" -msgstr "Fără categorie" - -#: lib/app.php:33 -msgid "Unspecified" -msgstr "Nespecificat" - -#: lib/app.php:34 -msgid "1=highest" -msgstr "1=cel mai înalt" - -#: lib/app.php:38 -msgid "5=medium" -msgstr "5=mediu" - -#: lib/app.php:42 -msgid "9=lowest" -msgstr "9=cel mai jos" - -#: lib/app.php:81 -msgid "Empty Summary" -msgstr "Rezumat gol" - -#: lib/app.php:93 -msgid "Invalid percent complete" -msgstr "Completare procentuală greșită" - -#: lib/app.php:107 -msgid "Invalid priority" -msgstr "Prioritare greșită" - -#: templates/tasks.php:3 -msgid "Add Task" -msgstr "Adaugă sarcină" - -#: templates/tasks.php:4 -msgid "Order Due" -msgstr "Comandă până la" - -#: templates/tasks.php:5 -msgid "Order List" -msgstr "Lista de comenzi" - -#: templates/tasks.php:6 -msgid "Order Complete" -msgstr "Comandă executată" - -#: templates/tasks.php:7 -msgid "Order Location" -msgstr "Locația comenzii" - -#: templates/tasks.php:8 -msgid "Order Priority" -msgstr "Prioritarea comenzii" - -#: templates/tasks.php:9 -msgid "Order Label" -msgstr "Eticheta comenzii" - -#: templates/tasks.php:16 -msgid "Loading tasks..." -msgstr "Încărcare sarcini" - -#: templates/tasks.php:20 -msgid "Important" -msgstr "Important" - -#: templates/tasks.php:23 -msgid "More" -msgstr "Mai mult" - -#: templates/tasks.php:26 -msgid "Less" -msgstr "Mai puțin" - -#: templates/tasks.php:29 -msgid "Delete" -msgstr "Șterge" diff --git a/l10n/ro/user_migrate.po b/l10n/ro/user_migrate.po deleted file mode 100644 index de0b6551e99887982d74a79734ccbd89387cdfea..0000000000000000000000000000000000000000 --- a/l10n/ro/user_migrate.po +++ /dev/null @@ -1,51 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:45+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Romanian (http://www.transifex.com/projects/p/owncloud/language/ro/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ro\n" -"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1))\n" - -#: js/export.js:14 js/export.js:20 -msgid "Export" -msgstr "" - -#: js/export.js:19 -msgid "Something went wrong while the export file was being generated" -msgstr "" - -#: js/export.js:19 -msgid "An error has occurred" -msgstr "" - -#: templates/settings.php:2 -msgid "Export your user account" -msgstr "" - -#: templates/settings.php:3 -msgid "" -"This will create a compressed file that contains your ownCloud account." -msgstr "" - -#: templates/settings.php:13 -msgid "Import user account" -msgstr "" - -#: templates/settings.php:15 -msgid "ownCloud User Zip" -msgstr "" - -#: templates/settings.php:17 -msgid "Import" -msgstr "" diff --git a/l10n/ro/user_openid.po b/l10n/ro/user_openid.po deleted file mode 100644 index e5598de2c942eebda14dc04c83cc76377d662803..0000000000000000000000000000000000000000 --- a/l10n/ro/user_openid.po +++ /dev/null @@ -1,54 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:45+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Romanian (http://www.transifex.com/projects/p/owncloud/language/ro/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ro\n" -"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1))\n" - -#: templates/nomode.php:12 -msgid "This is an OpenID server endpoint. For more information, see " -msgstr "" - -#: templates/nomode.php:14 -msgid "Identity: " -msgstr "" - -#: templates/nomode.php:15 -msgid "Realm: " -msgstr "" - -#: templates/nomode.php:16 -msgid "User: " -msgstr "" - -#: templates/nomode.php:17 -msgid "Login" -msgstr "" - -#: templates/nomode.php:22 -msgid "Error: No user Selected" -msgstr "" - -#: templates/settings.php:4 -msgid "you can authenticate to other sites with this address" -msgstr "" - -#: templates/settings.php:5 -msgid "Authorized OpenID provider" -msgstr "" - -#: templates/settings.php:6 -msgid "Your address at Wordpress, Identi.ca, …" -msgstr "" diff --git a/l10n/ro/files_odfviewer.po b/l10n/ro/user_webdavauth.po similarity index 78% rename from l10n/ro/files_odfviewer.po rename to l10n/ro/user_webdavauth.po index 3fa223c661249e111718b309375c6bf3b8ee3d7e..63c426cad9b34057eeeb1b86f3c6a0d71eeef3cc 100644 --- a/l10n/ro/files_odfviewer.po +++ b/l10n/ro/user_webdavauth.po @@ -7,16 +7,16 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 02:18+0200\n" -"PO-Revision-Date: 2012-08-26 00:19+0000\n" +"POT-Creation-Date: 2012-11-09 10:06+0100\n" +"PO-Revision-Date: 2012-11-09 09:06+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: Romanian (http://www.transifex.com/projects/p/owncloud/language/ro/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: ro\n" -"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1))\n" +"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n" -#: js/viewer.js:9 -msgid "Close" +#: templates/settings.php:4 +msgid "WebDAV URL: http://" msgstr "" diff --git a/l10n/ru/admin_dependencies_chk.po b/l10n/ru/admin_dependencies_chk.po deleted file mode 100644 index fefbc127559d61cec9fdeff39ca0d68304b3e87d..0000000000000000000000000000000000000000 --- a/l10n/ru/admin_dependencies_chk.po +++ /dev/null @@ -1,74 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Denis , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-25 02:04+0200\n" -"PO-Revision-Date: 2012-08-24 09:02+0000\n" -"Last-Translator: Denis \n" -"Language-Team: Russian (http://www.transifex.com/projects/p/owncloud/language/ru/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ru\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" - -#: settings.php:33 -msgid "" -"The php-json module is needed by the many applications for inter " -"communications" -msgstr "Модуль php-json необходим многим приложениям для внутренних связей" - -#: settings.php:39 -msgid "" -"The php-curl modude is needed to fetch the page title when adding a " -"bookmarks" -msgstr "Модуль php-curl необходим для получения заголовка страницы при добавлении закладок" - -#: settings.php:45 -msgid "The php-gd module is needed to create thumbnails of your images" -msgstr "Модуль php-gd необходим для создания уменьшенной копии для предпросмотра ваших картинок." - -#: settings.php:51 -msgid "The php-ldap module is needed connect to your ldap server" -msgstr "Модуль php-ldap необходим для соединения с вашим ldap сервером" - -#: settings.php:57 -msgid "The php-zip module is needed download multiple files at once" -msgstr "Модуль php-zip необходим для загрузки нескольких файлов за раз" - -#: settings.php:63 -msgid "" -"The php-mb_multibyte module is needed to manage correctly the encoding." -msgstr "Модуль php-mb_multibyte необходим для корректного управления кодировками." - -#: settings.php:69 -msgid "The php-ctype module is needed validate data." -msgstr "Модуль php-ctype необходим для проверки данных." - -#: settings.php:75 -msgid "The php-xml module is needed to share files with webdav." -msgstr "Модуль php-xml необходим для открытия файлов через webdav." - -#: settings.php:81 -msgid "" -"The allow_url_fopen directive of your php.ini should be set to 1 to retrieve" -" knowledge base from OCS servers" -msgstr "Директива allow_url_fopen в файле php.ini должна быть установлена в 1 для получения базы знаний с серверов OCS" - -#: settings.php:87 -msgid "The php-pdo module is needed to store owncloud data into a database." -msgstr "Модуль php-pdo необходим для хранения данных ownСloud в базе данных." - -#: templates/settings.php:2 -msgid "Dependencies status" -msgstr "Статус зависимостей" - -#: templates/settings.php:7 -msgid "Used by :" -msgstr "Используется:" diff --git a/l10n/ru/admin_migrate.po b/l10n/ru/admin_migrate.po deleted file mode 100644 index c022979b52a075c2e4e989a25212ffeda8fc86df..0000000000000000000000000000000000000000 --- a/l10n/ru/admin_migrate.po +++ /dev/null @@ -1,33 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Denis , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-25 02:04+0200\n" -"PO-Revision-Date: 2012-08-24 07:51+0000\n" -"Last-Translator: Denis \n" -"Language-Team: Russian (http://www.transifex.com/projects/p/owncloud/language/ru/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ru\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" - -#: templates/settings.php:3 -msgid "Export this ownCloud instance" -msgstr "Экспортировать этот экземпляр ownCloud" - -#: templates/settings.php:4 -msgid "" -"This will create a compressed file that contains the data of this owncloud instance.\n" -" Please choose the export type:" -msgstr "Будет создан сжатый файл, содержащий данные этого экземпляра owncloud.\n Выберите тип экспорта:" - -#: templates/settings.php:12 -msgid "Export" -msgstr "Экспорт" diff --git a/l10n/ru/bookmarks.po b/l10n/ru/bookmarks.po deleted file mode 100644 index 96ffd483f144c5fe5ccccfde86dbaaf4adff890f..0000000000000000000000000000000000000000 --- a/l10n/ru/bookmarks.po +++ /dev/null @@ -1,61 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Denis , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-25 02:04+0200\n" -"PO-Revision-Date: 2012-08-24 13:15+0000\n" -"Last-Translator: Denis \n" -"Language-Team: Russian (http://www.transifex.com/projects/p/owncloud/language/ru/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ru\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" - -#: appinfo/app.php:14 -msgid "Bookmarks" -msgstr "Закладки" - -#: bookmarksHelper.php:99 -msgid "unnamed" -msgstr "без имени" - -#: templates/bookmarklet.php:5 -msgid "" -"Drag this to your browser bookmarks and click it, when you want to bookmark " -"a webpage quickly:" -msgstr "" - -#: templates/bookmarklet.php:7 -msgid "Read later" -msgstr "Прочитать позже" - -#: templates/list.php:13 -msgid "Address" -msgstr "Адрес" - -#: templates/list.php:14 -msgid "Title" -msgstr "Заголовок" - -#: templates/list.php:15 -msgid "Tags" -msgstr "Метки" - -#: templates/list.php:16 -msgid "Save bookmark" -msgstr "Сохранить закладки" - -#: templates/list.php:22 -msgid "You have no bookmarks" -msgstr "У вас нет закладок" - -#: templates/settings.php:11 -msgid "Bookmarklet
" -msgstr "Букмарклет
" diff --git a/l10n/ru/calendar.po b/l10n/ru/calendar.po deleted file mode 100644 index 64d53960947cf8bb4d6a007c833bfeab44212b17..0000000000000000000000000000000000000000 --- a/l10n/ru/calendar.po +++ /dev/null @@ -1,819 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Denis , 2012. -# , 2011, 2012. -# Nick Remeslennikov , 2012. -# , 2012. -# , 2011. -# Victor Bravo <>, 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-25 02:04+0200\n" -"PO-Revision-Date: 2012-08-24 14:41+0000\n" -"Last-Translator: Denis \n" -"Language-Team: Russian (http://www.transifex.com/projects/p/owncloud/language/ru/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ru\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" - -#: ajax/cache/status.php:19 -msgid "Not all calendars are completely cached" -msgstr "Не все календари полностью кешированы" - -#: ajax/cache/status.php:21 -msgid "Everything seems to be completely cached" -msgstr "Все, вроде бы, закешировано" - -#: ajax/categories/rescan.php:29 -msgid "No calendars found." -msgstr "Календари не найдены." - -#: ajax/categories/rescan.php:37 -msgid "No events found." -msgstr "События не найдены." - -#: ajax/event/edit.form.php:20 -msgid "Wrong calendar" -msgstr "Неверный календарь" - -#: ajax/import/dropimport.php:29 ajax/import/import.php:64 -msgid "" -"The file contained either no events or all events are already saved in your " -"calendar." -msgstr "Файл либо не собержит событий, либо все события уже есть в календаре" - -#: ajax/import/dropimport.php:31 ajax/import/import.php:67 -msgid "events has been saved in the new calendar" -msgstr "события были сохранены в новый календарь" - -#: ajax/import/import.php:56 -msgid "Import failed" -msgstr "Ошибка импорта" - -#: ajax/import/import.php:69 -msgid "events has been saved in your calendar" -msgstr "события были сохранены в вашем календаре" - -#: ajax/settings/guesstimezone.php:25 -msgid "New Timezone:" -msgstr "Новый часовой пояс:" - -#: ajax/settings/settimezone.php:23 -msgid "Timezone changed" -msgstr "Часовой пояс изменён" - -#: ajax/settings/settimezone.php:25 -msgid "Invalid request" -msgstr "Неверный запрос" - -#: appinfo/app.php:41 templates/calendar.php:15 -#: templates/part.eventform.php:33 templates/part.showevent.php:33 -msgid "Calendar" -msgstr "Календарь" - -#: js/calendar.js:832 -msgid "ddd" -msgstr "ддд" - -#: js/calendar.js:833 -msgid "ddd M/d" -msgstr "ддд М/д" - -#: js/calendar.js:834 -msgid "dddd M/d" -msgstr "дддд М/д" - -#: js/calendar.js:837 -msgid "MMMM yyyy" -msgstr "ММММ гггг" - -#: js/calendar.js:839 -msgid "MMM d[ yyyy]{ '—'[ MMM] d yyyy}" -msgstr "MMM d[ yyyy]{ '—'[ MMM] d yyyy}" - -#: js/calendar.js:841 -msgid "dddd, MMM d, yyyy" -msgstr "дддд, МММ д, гггг" - -#: lib/app.php:121 -msgid "Birthday" -msgstr "День рождения" - -#: lib/app.php:122 -msgid "Business" -msgstr "Бизнес" - -#: lib/app.php:123 -msgid "Call" -msgstr "Звонить" - -#: lib/app.php:124 -msgid "Clients" -msgstr "Клиенты" - -#: lib/app.php:125 -msgid "Deliverer" -msgstr "Посыльный" - -#: lib/app.php:126 -msgid "Holidays" -msgstr "Праздники" - -#: lib/app.php:127 -msgid "Ideas" -msgstr "Идеи" - -#: lib/app.php:128 -msgid "Journey" -msgstr "Поездка" - -#: lib/app.php:129 -msgid "Jubilee" -msgstr "Юбилей" - -#: lib/app.php:130 -msgid "Meeting" -msgstr "Встреча" - -#: lib/app.php:131 -msgid "Other" -msgstr "Другое" - -#: lib/app.php:132 -msgid "Personal" -msgstr "Личное" - -#: lib/app.php:133 -msgid "Projects" -msgstr "Проекты" - -#: lib/app.php:134 -msgid "Questions" -msgstr "Вопросы" - -#: lib/app.php:135 -msgid "Work" -msgstr "Работа" - -#: lib/app.php:351 lib/app.php:361 -msgid "by" -msgstr "до свидания" - -#: lib/app.php:359 lib/app.php:399 -msgid "unnamed" -msgstr "без имени" - -#: lib/import.php:184 templates/calendar.php:12 -#: templates/part.choosecalendar.php:22 -msgid "New Calendar" -msgstr "Новый Календарь" - -#: lib/object.php:372 -msgid "Does not repeat" -msgstr "Не повторяется" - -#: lib/object.php:373 -msgid "Daily" -msgstr "Ежедневно" - -#: lib/object.php:374 -msgid "Weekly" -msgstr "Еженедельно" - -#: lib/object.php:375 -msgid "Every Weekday" -msgstr "По будням" - -#: lib/object.php:376 -msgid "Bi-Weekly" -msgstr "Каждые две недели" - -#: lib/object.php:377 -msgid "Monthly" -msgstr "Каждый месяц" - -#: lib/object.php:378 -msgid "Yearly" -msgstr "Каждый год" - -#: lib/object.php:388 -msgid "never" -msgstr "никогда" - -#: lib/object.php:389 -msgid "by occurrences" -msgstr "по числу повторений" - -#: lib/object.php:390 -msgid "by date" -msgstr "по дате" - -#: lib/object.php:400 -msgid "by monthday" -msgstr "по дню месяца" - -#: lib/object.php:401 -msgid "by weekday" -msgstr "по дню недели" - -#: lib/object.php:411 templates/calendar.php:5 templates/settings.php:69 -msgid "Monday" -msgstr "Понедельник" - -#: lib/object.php:412 templates/calendar.php:5 -msgid "Tuesday" -msgstr "Вторник" - -#: lib/object.php:413 templates/calendar.php:5 -msgid "Wednesday" -msgstr "Среда" - -#: lib/object.php:414 templates/calendar.php:5 -msgid "Thursday" -msgstr "Четверг" - -#: lib/object.php:415 templates/calendar.php:5 -msgid "Friday" -msgstr "Пятница" - -#: lib/object.php:416 templates/calendar.php:5 -msgid "Saturday" -msgstr "Суббота" - -#: lib/object.php:417 templates/calendar.php:5 templates/settings.php:70 -msgid "Sunday" -msgstr "Воскресенье" - -#: lib/object.php:427 -msgid "events week of month" -msgstr "неделя месяца" - -#: lib/object.php:428 -msgid "first" -msgstr "первая" - -#: lib/object.php:429 -msgid "second" -msgstr "вторая" - -#: lib/object.php:430 -msgid "third" -msgstr "третья" - -#: lib/object.php:431 -msgid "fourth" -msgstr "червётрая" - -#: lib/object.php:432 -msgid "fifth" -msgstr "пятая" - -#: lib/object.php:433 -msgid "last" -msgstr "последняя" - -#: lib/object.php:467 templates/calendar.php:7 -msgid "January" -msgstr "Январь" - -#: lib/object.php:468 templates/calendar.php:7 -msgid "February" -msgstr "Февраль" - -#: lib/object.php:469 templates/calendar.php:7 -msgid "March" -msgstr "Март" - -#: lib/object.php:470 templates/calendar.php:7 -msgid "April" -msgstr "Апрель" - -#: lib/object.php:471 templates/calendar.php:7 -msgid "May" -msgstr "Май" - -#: lib/object.php:472 templates/calendar.php:7 -msgid "June" -msgstr "Июнь" - -#: lib/object.php:473 templates/calendar.php:7 -msgid "July" -msgstr "Июль" - -#: lib/object.php:474 templates/calendar.php:7 -msgid "August" -msgstr "Август" - -#: lib/object.php:475 templates/calendar.php:7 -msgid "September" -msgstr "Сентябрь" - -#: lib/object.php:476 templates/calendar.php:7 -msgid "October" -msgstr "Октябрь" - -#: lib/object.php:477 templates/calendar.php:7 -msgid "November" -msgstr "Ноябрь" - -#: lib/object.php:478 templates/calendar.php:7 -msgid "December" -msgstr "Декабрь" - -#: lib/object.php:488 -msgid "by events date" -msgstr "по дате событий" - -#: lib/object.php:489 -msgid "by yearday(s)" -msgstr "по дням недели" - -#: lib/object.php:490 -msgid "by weeknumber(s)" -msgstr "по номерам недели" - -#: lib/object.php:491 -msgid "by day and month" -msgstr "по дню и месяцу" - -#: lib/search.php:35 lib/search.php:37 lib/search.php:40 -msgid "Date" -msgstr "Дата" - -#: lib/search.php:43 -msgid "Cal." -msgstr "Кал." - -#: templates/calendar.php:6 -msgid "Sun." -msgstr "Вс." - -#: templates/calendar.php:6 -msgid "Mon." -msgstr "Пн." - -#: templates/calendar.php:6 -msgid "Tue." -msgstr "Вт." - -#: templates/calendar.php:6 -msgid "Wed." -msgstr "Ср." - -#: templates/calendar.php:6 -msgid "Thu." -msgstr "Чт." - -#: templates/calendar.php:6 -msgid "Fri." -msgstr "Пт." - -#: templates/calendar.php:6 -msgid "Sat." -msgstr "Сб." - -#: templates/calendar.php:8 -msgid "Jan." -msgstr "Янв." - -#: templates/calendar.php:8 -msgid "Feb." -msgstr "Фев." - -#: templates/calendar.php:8 -msgid "Mar." -msgstr "Мар." - -#: templates/calendar.php:8 -msgid "Apr." -msgstr "Апр." - -#: templates/calendar.php:8 -msgid "May." -msgstr "Май." - -#: templates/calendar.php:8 -msgid "Jun." -msgstr "Июн." - -#: templates/calendar.php:8 -msgid "Jul." -msgstr "Июл." - -#: templates/calendar.php:8 -msgid "Aug." -msgstr "Авг." - -#: templates/calendar.php:8 -msgid "Sep." -msgstr "Сен." - -#: templates/calendar.php:8 -msgid "Oct." -msgstr "Окт." - -#: templates/calendar.php:8 -msgid "Nov." -msgstr "Ноя." - -#: templates/calendar.php:8 -msgid "Dec." -msgstr "Дек." - -#: templates/calendar.php:11 -msgid "All day" -msgstr "Весь день" - -#: templates/calendar.php:13 -msgid "Missing fields" -msgstr "Незаполненные поля" - -#: templates/calendar.php:14 templates/part.eventform.php:19 -#: templates/part.showevent.php:11 -msgid "Title" -msgstr "Название" - -#: templates/calendar.php:16 -msgid "From Date" -msgstr "Дата начала" - -#: templates/calendar.php:17 -msgid "From Time" -msgstr "Время начала" - -#: templates/calendar.php:18 -msgid "To Date" -msgstr "Дата окончания" - -#: templates/calendar.php:19 -msgid "To Time" -msgstr "Время окончания" - -#: templates/calendar.php:20 -msgid "The event ends before it starts" -msgstr "Окончание события раньше, чем его начало" - -#: templates/calendar.php:21 -msgid "There was a database fail" -msgstr "Ошибка базы данных" - -#: templates/calendar.php:39 -msgid "Week" -msgstr "Неделя" - -#: templates/calendar.php:40 -msgid "Month" -msgstr "Месяц" - -#: templates/calendar.php:41 -msgid "List" -msgstr "Список" - -#: templates/calendar.php:45 -msgid "Today" -msgstr "Сегодня" - -#: templates/calendar.php:46 templates/calendar.php:47 -msgid "Settings" -msgstr "Параметры" - -#: templates/part.choosecalendar.php:2 -msgid "Your calendars" -msgstr "Ваши календари" - -#: templates/part.choosecalendar.php:27 -#: templates/part.choosecalendar.rowfields.php:11 -msgid "CalDav Link" -msgstr "Ссылка для CalDav" - -#: templates/part.choosecalendar.php:31 -msgid "Shared calendars" -msgstr "Опубликованные" - -#: templates/part.choosecalendar.php:48 -msgid "No shared calendars" -msgstr "Нет опубликованных календарей" - -#: templates/part.choosecalendar.rowfields.php:8 -msgid "Share Calendar" -msgstr "Опубликовать" - -#: templates/part.choosecalendar.rowfields.php:14 -msgid "Download" -msgstr "Скачать" - -#: templates/part.choosecalendar.rowfields.php:17 -msgid "Edit" -msgstr "Редактировать" - -#: templates/part.choosecalendar.rowfields.php:20 -#: templates/part.editevent.php:9 -msgid "Delete" -msgstr "Удалить" - -#: templates/part.choosecalendar.rowfields.shared.php:4 -msgid "shared with you by" -msgstr "опубликовал для вас" - -#: templates/part.editcalendar.php:9 -msgid "New calendar" -msgstr "Новый календарь" - -#: templates/part.editcalendar.php:9 -msgid "Edit calendar" -msgstr "Редактировать календарь" - -#: templates/part.editcalendar.php:12 -msgid "Displayname" -msgstr "Отображаемое имя" - -#: templates/part.editcalendar.php:23 -msgid "Active" -msgstr "Активен" - -#: templates/part.editcalendar.php:29 -msgid "Calendar color" -msgstr "Цвет календаря" - -#: templates/part.editcalendar.php:42 -msgid "Save" -msgstr "Сохранить" - -#: templates/part.editcalendar.php:42 templates/part.editevent.php:8 -#: templates/part.newevent.php:6 -msgid "Submit" -msgstr "Отправить" - -#: templates/part.editcalendar.php:43 -msgid "Cancel" -msgstr "Отмена" - -#: templates/part.editevent.php:1 -msgid "Edit an event" -msgstr "Редактировать событие" - -#: templates/part.editevent.php:10 -msgid "Export" -msgstr "Экспортировать" - -#: templates/part.eventform.php:8 templates/part.showevent.php:3 -msgid "Eventinfo" -msgstr "Информация о событии" - -#: templates/part.eventform.php:9 templates/part.showevent.php:4 -msgid "Repeating" -msgstr "Повторение" - -#: templates/part.eventform.php:10 templates/part.showevent.php:5 -msgid "Alarm" -msgstr "Сигнал" - -#: templates/part.eventform.php:11 templates/part.showevent.php:6 -msgid "Attendees" -msgstr "Участники" - -#: templates/part.eventform.php:13 -msgid "Share" -msgstr "Опубликовать" - -#: templates/part.eventform.php:21 -msgid "Title of the Event" -msgstr "Название событие" - -#: templates/part.eventform.php:27 templates/part.showevent.php:19 -msgid "Category" -msgstr "Категория" - -#: templates/part.eventform.php:29 -msgid "Separate categories with commas" -msgstr "Разделяйте категории запятыми" - -#: templates/part.eventform.php:30 -msgid "Edit categories" -msgstr "Редактировать категории" - -#: templates/part.eventform.php:56 templates/part.showevent.php:52 -msgid "All Day Event" -msgstr "Событие на весь день" - -#: templates/part.eventform.php:60 templates/part.showevent.php:56 -msgid "From" -msgstr "От" - -#: templates/part.eventform.php:68 templates/part.showevent.php:64 -msgid "To" -msgstr "До" - -#: templates/part.eventform.php:76 templates/part.showevent.php:72 -msgid "Advanced options" -msgstr "Дополнительные параметры" - -#: templates/part.eventform.php:81 templates/part.showevent.php:77 -msgid "Location" -msgstr "Место" - -#: templates/part.eventform.php:83 -msgid "Location of the Event" -msgstr "Место события" - -#: templates/part.eventform.php:89 templates/part.showevent.php:85 -msgid "Description" -msgstr "Описание" - -#: templates/part.eventform.php:91 -msgid "Description of the Event" -msgstr "Описание события" - -#: templates/part.eventform.php:100 templates/part.showevent.php:95 -msgid "Repeat" -msgstr "Повтор" - -#: templates/part.eventform.php:107 templates/part.showevent.php:102 -msgid "Advanced" -msgstr "Дополнительно" - -#: templates/part.eventform.php:151 templates/part.showevent.php:146 -msgid "Select weekdays" -msgstr "Выбрать дни недели" - -#: templates/part.eventform.php:164 templates/part.eventform.php:177 -#: templates/part.showevent.php:159 templates/part.showevent.php:172 -msgid "Select days" -msgstr "Выбрать дни" - -#: templates/part.eventform.php:169 templates/part.showevent.php:164 -msgid "and the events day of year." -msgstr "и день года события" - -#: templates/part.eventform.php:182 templates/part.showevent.php:177 -msgid "and the events day of month." -msgstr "и день месяца события" - -#: templates/part.eventform.php:190 templates/part.showevent.php:185 -msgid "Select months" -msgstr "Выбрать месяцы" - -#: templates/part.eventform.php:203 templates/part.showevent.php:198 -msgid "Select weeks" -msgstr "Выбрать недели" - -#: templates/part.eventform.php:208 templates/part.showevent.php:203 -msgid "and the events week of year." -msgstr "и номер недели события" - -#: templates/part.eventform.php:214 templates/part.showevent.php:209 -msgid "Interval" -msgstr "Интервал" - -#: templates/part.eventform.php:220 templates/part.showevent.php:215 -msgid "End" -msgstr "Окончание" - -#: templates/part.eventform.php:233 templates/part.showevent.php:228 -msgid "occurrences" -msgstr "повторений" - -#: templates/part.import.php:14 -msgid "create a new calendar" -msgstr "Создать новый календарь" - -#: templates/part.import.php:17 -msgid "Import a calendar file" -msgstr "Импортировать календарь из файла" - -#: templates/part.import.php:24 -msgid "Please choose a calendar" -msgstr "Пожалуйста, выберите календарь" - -#: templates/part.import.php:36 -msgid "Name of new calendar" -msgstr "Название нового календаря" - -#: templates/part.import.php:44 -msgid "Take an available name!" -msgstr "Возьмите разрешенное имя!" - -#: templates/part.import.php:45 -msgid "" -"A Calendar with this name already exists. If you continue anyhow, these " -"calendars will be merged." -msgstr "Календарь с таким именем уже существует. Если вы продолжите, одноименный календарь будет удален." - -#: templates/part.import.php:47 -msgid "Import" -msgstr "Импортировать" - -#: templates/part.import.php:56 -msgid "Close Dialog" -msgstr "Закрыть Сообщение" - -#: templates/part.newevent.php:1 -msgid "Create a new event" -msgstr "Создать новое событие" - -#: templates/part.showevent.php:1 -msgid "View an event" -msgstr "Показать событие" - -#: templates/part.showevent.php:23 -msgid "No categories selected" -msgstr "Категории не выбраны" - -#: templates/part.showevent.php:37 -msgid "of" -msgstr "из" - -#: templates/part.showevent.php:59 templates/part.showevent.php:67 -msgid "at" -msgstr "на" - -#: templates/settings.php:10 -msgid "General" -msgstr "Основные" - -#: templates/settings.php:15 -msgid "Timezone" -msgstr "Часовой пояс" - -#: templates/settings.php:47 -msgid "Update timezone automatically" -msgstr "Автоматическое обновление временной зоны" - -#: templates/settings.php:52 -msgid "Time format" -msgstr "Формат времени" - -#: templates/settings.php:57 -msgid "24h" -msgstr "24ч" - -#: templates/settings.php:58 -msgid "12h" -msgstr "12ч" - -#: templates/settings.php:64 -msgid "Start week on" -msgstr "Начало недели" - -#: templates/settings.php:76 -msgid "Cache" -msgstr "Кэш" - -#: templates/settings.php:80 -msgid "Clear cache for repeating events" -msgstr "Очистить кэш повторяющихся событий" - -#: templates/settings.php:85 -msgid "URLs" -msgstr "URLs" - -#: templates/settings.php:87 -msgid "Calendar CalDAV syncing addresses" -msgstr "Адрес синхронизации CalDAV" - -#: templates/settings.php:87 -msgid "more info" -msgstr "подробнее" - -#: templates/settings.php:89 -msgid "Primary address (Kontact et al)" -msgstr "Основной адрес (Контакта)" - -#: templates/settings.php:91 -msgid "iOS/OS X" -msgstr "iOS/OS X" - -#: templates/settings.php:93 -msgid "Read only iCalendar link(s)" -msgstr "Читать только ссылки iCalendar" - -#: templates/share.dropdown.php:20 -msgid "Users" -msgstr "Пользователи" - -#: templates/share.dropdown.php:21 -msgid "select users" -msgstr "выбрать пользователей" - -#: templates/share.dropdown.php:36 templates/share.dropdown.php:62 -msgid "Editable" -msgstr "Редактируемо" - -#: templates/share.dropdown.php:48 -msgid "Groups" -msgstr "Группы" - -#: templates/share.dropdown.php:49 -msgid "select groups" -msgstr "выбрать группы" - -#: templates/share.dropdown.php:75 -msgid "make public" -msgstr "селать публичным" diff --git a/l10n/ru/contacts.po b/l10n/ru/contacts.po deleted file mode 100644 index 4476c9a4e11f4fe64ae224c840315f1f680a885d..0000000000000000000000000000000000000000 --- a/l10n/ru/contacts.po +++ /dev/null @@ -1,959 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Denis , 2012. -# , 2012. -# , 2012. -# , 2012. -# Nick Remeslennikov , 2012. -# , 2011. -# Victor Bravo <>, 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-25 02:04+0200\n" -"PO-Revision-Date: 2012-08-24 13:10+0000\n" -"Last-Translator: Denis \n" -"Language-Team: Russian (http://www.transifex.com/projects/p/owncloud/language/ru/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ru\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" - -#: ajax/addressbook/activate.php:24 ajax/addressbook/update.php:32 -msgid "Error (de)activating addressbook." -msgstr "Ошибка (де)активации адресной книги." - -#: ajax/addressbook/delete.php:31 ajax/addressbook/update.php:20 -#: ajax/contact/addproperty.php:42 ajax/contact/delete.php:32 -#: ajax/contact/saveproperty.php:39 -msgid "id is not set." -msgstr "id не установлен." - -#: ajax/addressbook/update.php:24 -msgid "Cannot update addressbook with an empty name." -msgstr "Нельзя обновить адресную книгу с пустым именем." - -#: ajax/addressbook/update.php:28 -msgid "Error updating addressbook." -msgstr "Ошибка обновления адресной книги." - -#: ajax/categories/categoriesfor.php:17 -msgid "No ID provided" -msgstr "ID не предоставлен" - -#: ajax/categories/categoriesfor.php:34 -msgid "Error setting checksum." -msgstr "Ошибка установки контрольной суммы." - -#: ajax/categories/delete.php:19 -msgid "No categories selected for deletion." -msgstr "Категории для удаления не установлены." - -#: ajax/categories/delete.php:26 -msgid "No address books found." -msgstr "Адресные книги не найдены." - -#: ajax/categories/delete.php:34 -msgid "No contacts found." -msgstr "Контакты не найдены." - -#: ajax/contact/add.php:47 -msgid "There was an error adding the contact." -msgstr "Произошла ошибка при добавлении контакта." - -#: ajax/contact/addproperty.php:39 ajax/contact/saveproperty.php:36 -msgid "element name is not set." -msgstr "имя элемента не установлено." - -#: ajax/contact/addproperty.php:46 -msgid "Could not parse contact: " -msgstr "Невозможно распознать контакт:" - -#: ajax/contact/addproperty.php:56 -msgid "Cannot add empty property." -msgstr "Невозможно добавить пустой параметр." - -#: ajax/contact/addproperty.php:67 -msgid "At least one of the address fields has to be filled out." -msgstr "Как минимум одно поле адреса должно быть заполнено." - -#: ajax/contact/addproperty.php:76 -msgid "Trying to add duplicate property: " -msgstr "При попытке добавить дубликат:" - -#: ajax/contact/addproperty.php:115 ajax/contact/saveproperty.php:93 -msgid "Missing IM parameter." -msgstr "Отсутствует параметр IM." - -#: ajax/contact/addproperty.php:119 ajax/contact/saveproperty.php:97 -msgid "Unknown IM: " -msgstr "Неизвестный IM:" - -#: ajax/contact/deleteproperty.php:37 -msgid "Information about vCard is incorrect. Please reload the page." -msgstr "Информация о vCard некорректна. Пожалуйста, обновите страницу." - -#: ajax/contact/details.php:31 -msgid "Missing ID" -msgstr "Отсутствует ID" - -#: ajax/contact/details.php:36 -msgid "Error parsing VCard for ID: \"" -msgstr "Ошибка обработки VCard для ID: \"" - -#: ajax/contact/saveproperty.php:42 -msgid "checksum is not set." -msgstr "контрольная сумма не установлена." - -#: ajax/contact/saveproperty.php:62 -msgid "Information about vCard is incorrect. Please reload the page: " -msgstr "Информация о vCard не корректна. Перезагрузите страницу: " - -#: ajax/contact/saveproperty.php:69 -msgid "Something went FUBAR. " -msgstr "Что-то пошло FUBAR." - -#: ajax/currentphoto.php:30 ajax/oc_photo.php:28 ajax/uploadphoto.php:36 -#: ajax/uploadphoto.php:68 -msgid "No contact ID was submitted." -msgstr "Нет контакта ID" - -#: ajax/currentphoto.php:36 -msgid "Error reading contact photo." -msgstr "Ошибка чтения фотографии контакта." - -#: ajax/currentphoto.php:48 -msgid "Error saving temporary file." -msgstr "Ошибка сохранения временного файла." - -#: ajax/currentphoto.php:51 -msgid "The loading photo is not valid." -msgstr "Загружаемая фотография испорчена." - -#: ajax/editname.php:31 -msgid "Contact ID is missing." -msgstr "ID контакта отсутствует." - -#: ajax/oc_photo.php:32 -msgid "No photo path was submitted." -msgstr "Нет фото по адресу." - -#: ajax/oc_photo.php:39 -msgid "File doesn't exist:" -msgstr "Файл не существует:" - -#: ajax/oc_photo.php:44 ajax/oc_photo.php:47 -msgid "Error loading image." -msgstr "Ошибка загрузки картинки." - -#: ajax/savecrop.php:69 -msgid "Error getting contact object." -msgstr "Ошибка при получении контактов" - -#: ajax/savecrop.php:79 -msgid "Error getting PHOTO property." -msgstr "Ошибка при получении ФОТО." - -#: ajax/savecrop.php:98 -msgid "Error saving contact." -msgstr "Ошибка при сохранении контактов." - -#: ajax/savecrop.php:109 -msgid "Error resizing image" -msgstr "Ошибка изменения размера изображений" - -#: ajax/savecrop.php:112 -msgid "Error cropping image" -msgstr "Ошибка обрезки изображений" - -#: ajax/savecrop.php:115 -msgid "Error creating temporary image" -msgstr "Ошибка создания временных изображений" - -#: ajax/savecrop.php:118 -msgid "Error finding image: " -msgstr "Ошибка поиска изображений:" - -#: ajax/uploadimport.php:44 ajax/uploadimport.php:76 -msgid "Error uploading contacts to storage." -msgstr "Ошибка загрузки контактов в хранилище." - -#: ajax/uploadimport.php:61 ajax/uploadphoto.php:77 -msgid "There is no error, the file uploaded with success" -msgstr "Файл загружен успешно." - -#: ajax/uploadimport.php:62 ajax/uploadphoto.php:78 -msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" -msgstr "Загружаемый файл первосходит значение переменной upload_max_filesize, установленно в php.ini" - -#: ajax/uploadimport.php:63 ajax/uploadphoto.php:79 -msgid "" -"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " -"the HTML form" -msgstr "Загружаемый файл превосходит значение переменной MAX_FILE_SIZE, указанной в форме HTML" - -#: ajax/uploadimport.php:64 ajax/uploadphoto.php:80 -msgid "The uploaded file was only partially uploaded" -msgstr "Файл загружен частично" - -#: ajax/uploadimport.php:65 ajax/uploadphoto.php:81 -msgid "No file was uploaded" -msgstr "Файл не был загружен" - -#: ajax/uploadimport.php:66 ajax/uploadphoto.php:82 -msgid "Missing a temporary folder" -msgstr "Отсутствует временная папка" - -#: ajax/uploadphoto.php:59 ajax/uploadphoto.php:109 -msgid "Couldn't save temporary image: " -msgstr "Не удалось сохранить временное изображение:" - -#: ajax/uploadphoto.php:62 ajax/uploadphoto.php:112 -msgid "Couldn't load temporary image: " -msgstr "Не удалось загрузить временное изображение:" - -#: ajax/uploadphoto.php:71 -msgid "No file was uploaded. Unknown error" -msgstr "Файл не был загружен. Неизвестная ошибка" - -#: appinfo/app.php:25 -msgid "Contacts" -msgstr "Контакты" - -#: js/contacts.js:71 -msgid "Sorry, this functionality has not been implemented yet" -msgstr "К сожалению, эта функция не была реализована" - -#: js/contacts.js:71 -msgid "Not implemented" -msgstr "Не реализовано" - -#: js/contacts.js:76 -msgid "Couldn't get a valid address." -msgstr "Не удалось получить адрес." - -#: js/contacts.js:76 js/contacts.js:365 js/contacts.js:381 js/contacts.js:393 -#: js/contacts.js:723 js/contacts.js:763 js/contacts.js:789 js/contacts.js:921 -#: js/contacts.js:927 js/contacts.js:939 js/contacts.js:976 -#: js/contacts.js:1250 js/contacts.js:1258 js/contacts.js:1267 -#: js/contacts.js:1302 js/contacts.js:1338 js/contacts.js:1353 -#: js/contacts.js:1379 js/contacts.js:1609 js/contacts.js:1644 -#: js/contacts.js:1664 js/settings.js:26 js/settings.js:43 js/settings.js:68 -msgid "Error" -msgstr "Ошибка" - -#: js/contacts.js:424 -msgid "You do not have permission to add contacts to " -msgstr "У вас нет разрешений добавлять контакты в" - -#: js/contacts.js:425 -msgid "Please select one of your own address books." -msgstr "Выберите одну из ваших собственных адресных книг." - -#: js/contacts.js:425 -msgid "Permission error" -msgstr "Ошибка доступа" - -#: js/contacts.js:763 -msgid "This property has to be non-empty." -msgstr "Это свойство должно быть не пустым." - -#: js/contacts.js:789 -msgid "Couldn't serialize elements." -msgstr "Не удалось сериализовать элементы." - -#: js/contacts.js:921 js/contacts.js:939 -msgid "" -"'deleteProperty' called without type argument. Please report at " -"bugs.owncloud.org" -msgstr "'deleteProperty' called without type argument. Please report at bugs.owncloud.org" - -#: js/contacts.js:958 -msgid "Edit name" -msgstr "Изменить имя" - -#: js/contacts.js:1250 -msgid "No files selected for upload." -msgstr "Нет выбранных файлов для загрузки." - -#: js/contacts.js:1258 -msgid "" -"The file you are trying to upload exceed the maximum size for file uploads " -"on this server." -msgstr "Файл, который вы пытаетесь загрузить превышать максимальный размер загружаемых файлов на этом сервере." - -#: js/contacts.js:1322 -msgid "Error loading profile picture." -msgstr "Ошибка загрузки изображения профиля." - -#: js/contacts.js:1457 js/contacts.js:1498 js/contacts.js:1517 -#: js/contacts.js:1560 -msgid "Select type" -msgstr "Выберите тип" - -#: js/contacts.js:1578 -msgid "" -"Some contacts are marked for deletion, but not deleted yet. Please wait for " -"them to be deleted." -msgstr "Некоторые контакты помечены на удаление, но ещё не удалены. Подождите, пока они удаляются." - -#: js/contacts.js:1649 -msgid "Do you want to merge these address books?" -msgstr "Вы хотите соединить эти адресные книги?" - -#: js/loader.js:49 -msgid "Result: " -msgstr "Результат:" - -#: js/loader.js:49 -msgid " imported, " -msgstr "импортировано, " - -#: js/loader.js:49 -msgid " failed." -msgstr "не удалось." - -#: js/settings.js:68 -msgid "Displayname cannot be empty." -msgstr "Отображаемое имя не может быть пустым." - -#: lib/app.php:36 -msgid "Addressbook not found: " -msgstr "Адресная книга не найдена:" - -#: lib/app.php:52 -msgid "This is not your addressbook." -msgstr "Это не ваша адресная книга." - -#: lib/app.php:71 -msgid "Contact could not be found." -msgstr "Контакт не найден." - -#: lib/app.php:116 -msgid "Jabber" -msgstr "Jabber" - -#: lib/app.php:121 -msgid "AIM" -msgstr "AIM" - -#: lib/app.php:126 -msgid "MSN" -msgstr "MSN" - -#: lib/app.php:131 -msgid "Twitter" -msgstr "Twitter" - -#: lib/app.php:136 -msgid "GoogleTalk" -msgstr "GoogleTalk" - -#: lib/app.php:141 -msgid "Facebook" -msgstr "Facebook" - -#: lib/app.php:146 -msgid "XMPP" -msgstr "XMPP" - -#: lib/app.php:151 -msgid "ICQ" -msgstr "ICQ" - -#: lib/app.php:156 -msgid "Yahoo" -msgstr "Yahoo" - -#: lib/app.php:161 -msgid "Skype" -msgstr "Skype" - -#: lib/app.php:166 -msgid "QQ" -msgstr "QQ" - -#: lib/app.php:171 -msgid "GaduGadu" -msgstr "GaduGadu" - -#: lib/app.php:194 lib/app.php:202 lib/app.php:213 lib/app.php:266 -msgid "Work" -msgstr "Рабочий" - -#: lib/app.php:195 lib/app.php:200 lib/app.php:214 -msgid "Home" -msgstr "Домашний" - -#: lib/app.php:196 lib/app.php:209 lib/app.php:262 lib/vcard.php:593 -msgid "Other" -msgstr "Другое" - -#: lib/app.php:201 -msgid "Mobile" -msgstr "Мобильный" - -#: lib/app.php:203 -msgid "Text" -msgstr "Текст" - -#: lib/app.php:204 -msgid "Voice" -msgstr "Голос" - -#: lib/app.php:205 -msgid "Message" -msgstr "Сообщение" - -#: lib/app.php:206 -msgid "Fax" -msgstr "Факс" - -#: lib/app.php:207 -msgid "Video" -msgstr "Видео" - -#: lib/app.php:208 -msgid "Pager" -msgstr "Пейджер" - -#: lib/app.php:215 -msgid "Internet" -msgstr "Интернет" - -#: lib/app.php:252 templates/part.contact.php:45 -#: templates/part.contact.php:128 -msgid "Birthday" -msgstr "День рождения" - -#: lib/app.php:253 -msgid "Business" -msgstr "Бизнес" - -#: lib/app.php:254 -msgid "Call" -msgstr "Вызов" - -#: lib/app.php:255 -msgid "Clients" -msgstr "Клиенты" - -#: lib/app.php:256 -msgid "Deliverer" -msgstr "Посыльный" - -#: lib/app.php:257 -msgid "Holidays" -msgstr "Праздники" - -#: lib/app.php:258 -msgid "Ideas" -msgstr "Идеи" - -#: lib/app.php:259 -msgid "Journey" -msgstr "Поездка" - -#: lib/app.php:260 -msgid "Jubilee" -msgstr "Юбилей" - -#: lib/app.php:261 -msgid "Meeting" -msgstr "Встреча" - -#: lib/app.php:263 -msgid "Personal" -msgstr "Личный" - -#: lib/app.php:264 -msgid "Projects" -msgstr "Проекты" - -#: lib/app.php:265 -msgid "Questions" -msgstr "Вопросы" - -#: lib/hooks.php:102 -msgid "{name}'s Birthday" -msgstr "День рождения {name}" - -#: lib/search.php:15 -msgid "Contact" -msgstr "Контакт" - -#: lib/vcard.php:408 -msgid "You do not have the permissions to edit this contact." -msgstr "У вас нет разрешений редактировать этот контакт." - -#: lib/vcard.php:483 -msgid "You do not have the permissions to delete this contact." -msgstr "У вас нет разрешений удалять этот контакт." - -#: templates/index.php:14 -msgid "Add Contact" -msgstr "Добавить Контакт" - -#: templates/index.php:15 templates/index.php:16 templates/part.import.php:17 -msgid "Import" -msgstr "Импорт" - -#: templates/index.php:18 -msgid "Settings" -msgstr "Настройки" - -#: templates/index.php:18 templates/settings.php:9 -msgid "Addressbooks" -msgstr "Адресные книги" - -#: templates/index.php:36 templates/part.import.php:24 -msgid "Close" -msgstr "Закрыть" - -#: templates/index.php:37 -msgid "Keyboard shortcuts" -msgstr "Горячие клавиши" - -#: templates/index.php:39 -msgid "Navigation" -msgstr "Навигация" - -#: templates/index.php:42 -msgid "Next contact in list" -msgstr "Следующий контакт в списке" - -#: templates/index.php:44 -msgid "Previous contact in list" -msgstr "Предыдущий контакт в списке" - -#: templates/index.php:46 -msgid "Expand/collapse current addressbook" -msgstr "Развернуть/свернуть текущую адресную книгу" - -#: templates/index.php:48 -msgid "Next addressbook" -msgstr "Следующая адресная книга" - -#: templates/index.php:50 -msgid "Previous addressbook" -msgstr "Предыдущая адресная книга" - -#: templates/index.php:54 -msgid "Actions" -msgstr "Действия" - -#: templates/index.php:57 -msgid "Refresh contacts list" -msgstr "Обновить список контактов" - -#: templates/index.php:59 -msgid "Add new contact" -msgstr "Добавить новый контакт" - -#: templates/index.php:61 -msgid "Add new addressbook" -msgstr "Добавить новую адресную книгу" - -#: templates/index.php:63 -msgid "Delete current contact" -msgstr "Удалить текущий контакт" - -#: templates/part.contact.php:17 -msgid "Drop photo to upload" -msgstr "Перетяните фотографии для загрузки" - -#: templates/part.contact.php:19 -msgid "Delete current photo" -msgstr "Удалить текущую фотографию" - -#: templates/part.contact.php:20 -msgid "Edit current photo" -msgstr "Редактировать текущую фотографию" - -#: templates/part.contact.php:21 -msgid "Upload new photo" -msgstr "Загрузить новую фотографию" - -#: templates/part.contact.php:22 -msgid "Select photo from ownCloud" -msgstr "Выбрать фотографию из ownCloud" - -#: templates/part.contact.php:35 -msgid "Format custom, Short name, Full name, Reverse or Reverse with comma" -msgstr "Формат Краткое имя, Полное имя" - -#: templates/part.contact.php:36 -msgid "Edit name details" -msgstr "Изменить детали имени" - -#: templates/part.contact.php:39 templates/part.contact.php:40 -#: templates/part.contact.php:126 -msgid "Organization" -msgstr "Организация" - -#: templates/part.contact.php:40 templates/part.contact.php:42 -#: templates/part.contact.php:44 templates/part.contact.php:46 -#: templates/part.contact.php:50 templates/settings.php:36 -msgid "Delete" -msgstr "Удалить" - -#: templates/part.contact.php:41 templates/part.contact.php:127 -msgid "Nickname" -msgstr "Псевдоним" - -#: templates/part.contact.php:42 -msgid "Enter nickname" -msgstr "Введите псевдоним" - -#: templates/part.contact.php:43 templates/part.contact.php:134 -msgid "Web site" -msgstr "Веб-сайт" - -#: templates/part.contact.php:44 -msgid "http://www.somesite.com" -msgstr "http://www.somesite.com" - -#: templates/part.contact.php:44 -msgid "Go to web site" -msgstr "Перейти на веб-сайт" - -#: templates/part.contact.php:46 -msgid "dd-mm-yyyy" -msgstr "dd-mm-yyyy" - -#: templates/part.contact.php:47 templates/part.contact.php:135 -msgid "Groups" -msgstr "Группы" - -#: templates/part.contact.php:49 -msgid "Separate groups with commas" -msgstr "Разделить группы запятыми" - -#: templates/part.contact.php:50 -msgid "Edit groups" -msgstr "Редактировать группы" - -#: templates/part.contact.php:59 templates/part.contact.php:73 -#: templates/part.contact.php:98 -msgid "Preferred" -msgstr "Предпочитаемый" - -#: templates/part.contact.php:60 -msgid "Please specify a valid email address." -msgstr "Укажите действительный адрес электронной почты." - -#: templates/part.contact.php:60 -msgid "Enter email address" -msgstr "Укажите адрес электронной почты" - -#: templates/part.contact.php:64 -msgid "Mail to address" -msgstr "Написать по адресу" - -#: templates/part.contact.php:65 -msgid "Delete email address" -msgstr "Удалить адрес электронной почты" - -#: templates/part.contact.php:75 -msgid "Enter phone number" -msgstr "Ввести номер телефона" - -#: templates/part.contact.php:79 -msgid "Delete phone number" -msgstr "Удалить номер телефона" - -#: templates/part.contact.php:100 -msgid "Instant Messenger" -msgstr "Instant Messenger" - -#: templates/part.contact.php:101 -msgid "Delete IM" -msgstr "Удалить IM" - -#: templates/part.contact.php:110 -msgid "View on map" -msgstr "Показать на карте" - -#: templates/part.contact.php:110 -msgid "Edit address details" -msgstr "Ввести детали адреса" - -#: templates/part.contact.php:116 -msgid "Add notes here." -msgstr "Добавьте заметки здесь." - -#: templates/part.contact.php:124 -msgid "Add field" -msgstr "Добавить поле" - -#: templates/part.contact.php:129 -msgid "Phone" -msgstr "Телефон" - -#: templates/part.contact.php:130 -msgid "Email" -msgstr "Ящик эл. почты" - -#: templates/part.contact.php:131 -msgid "Instant Messaging" -msgstr "Быстрые сообщения" - -#: templates/part.contact.php:132 -msgid "Address" -msgstr "Адрес" - -#: templates/part.contact.php:133 -msgid "Note" -msgstr "Заметка" - -#: templates/part.contact.php:138 -msgid "Download contact" -msgstr "Скачать контакт" - -#: templates/part.contact.php:139 -msgid "Delete contact" -msgstr "Удалить контакт" - -#: templates/part.cropphoto.php:65 -msgid "The temporary image has been removed from cache." -msgstr "Временный образ был удален из кэша." - -#: templates/part.edit_address_dialog.php:6 -msgid "Edit address" -msgstr "Редактировать адрес" - -#: templates/part.edit_address_dialog.php:10 -msgid "Type" -msgstr "Тип" - -#: templates/part.edit_address_dialog.php:18 -#: templates/part.edit_address_dialog.php:21 -msgid "PO Box" -msgstr "АО" - -#: templates/part.edit_address_dialog.php:24 -msgid "Street address" -msgstr "Улица" - -#: templates/part.edit_address_dialog.php:27 -msgid "Street and number" -msgstr "Улица и дом" - -#: templates/part.edit_address_dialog.php:30 -msgid "Extended" -msgstr "Расширенный" - -#: templates/part.edit_address_dialog.php:33 -msgid "Apartment number etc." -msgstr "Номер квартиры и т.д." - -#: templates/part.edit_address_dialog.php:36 -#: templates/part.edit_address_dialog.php:39 -msgid "City" -msgstr "Город" - -#: templates/part.edit_address_dialog.php:42 -msgid "Region" -msgstr "Область" - -#: templates/part.edit_address_dialog.php:45 -msgid "E.g. state or province" -msgstr "Например, область или район" - -#: templates/part.edit_address_dialog.php:48 -msgid "Zipcode" -msgstr "Почтовый индекс" - -#: templates/part.edit_address_dialog.php:51 -msgid "Postal code" -msgstr "Почтовый индекс" - -#: templates/part.edit_address_dialog.php:54 -#: templates/part.edit_address_dialog.php:57 -msgid "Country" -msgstr "Страна" - -#: templates/part.edit_name_dialog.php:16 -msgid "Addressbook" -msgstr "Адресная книга" - -#: templates/part.edit_name_dialog.php:23 -msgid "Hon. prefixes" -msgstr "Уважительные префиксы" - -#: templates/part.edit_name_dialog.php:27 -msgid "Miss" -msgstr "Мисс" - -#: templates/part.edit_name_dialog.php:28 -msgid "Ms" -msgstr "Г-жа" - -#: templates/part.edit_name_dialog.php:29 -msgid "Mr" -msgstr "Г-н" - -#: templates/part.edit_name_dialog.php:30 -msgid "Sir" -msgstr "Сэр" - -#: templates/part.edit_name_dialog.php:31 -msgid "Mrs" -msgstr "Г-жа" - -#: templates/part.edit_name_dialog.php:32 -msgid "Dr" -msgstr "Доктор" - -#: templates/part.edit_name_dialog.php:35 -msgid "Given name" -msgstr "Имя" - -#: templates/part.edit_name_dialog.php:37 -msgid "Additional names" -msgstr "Дополнительные имена (отчество)" - -#: templates/part.edit_name_dialog.php:39 -msgid "Family name" -msgstr "Фамилия" - -#: templates/part.edit_name_dialog.php:41 -msgid "Hon. suffixes" -msgstr "Hon. suffixes" - -#: templates/part.edit_name_dialog.php:45 -msgid "J.D." -msgstr "Уважительные суффиксы" - -#: templates/part.edit_name_dialog.php:46 -msgid "M.D." -msgstr "M.D." - -#: templates/part.edit_name_dialog.php:47 -msgid "D.O." -msgstr "D.O." - -#: templates/part.edit_name_dialog.php:48 -msgid "D.C." -msgstr "D.C." - -#: templates/part.edit_name_dialog.php:49 -msgid "Ph.D." -msgstr "Ph.D." - -#: templates/part.edit_name_dialog.php:50 -msgid "Esq." -msgstr "Esq." - -#: templates/part.edit_name_dialog.php:51 -msgid "Jr." -msgstr "Jr." - -#: templates/part.edit_name_dialog.php:52 -msgid "Sn." -msgstr "Sn." - -#: templates/part.import.php:1 -msgid "Import a contacts file" -msgstr "Загрузить файл контактов" - -#: templates/part.import.php:6 -msgid "Please choose the addressbook" -msgstr "Выберите адресную книгу" - -#: templates/part.import.php:10 -msgid "create a new addressbook" -msgstr "создать новую адресную книгу" - -#: templates/part.import.php:15 -msgid "Name of new addressbook" -msgstr "Имя новой адресной книги" - -#: templates/part.import.php:20 -msgid "Importing contacts" -msgstr "Импорт контактов" - -#: templates/part.no_contacts.php:3 -msgid "You have no contacts in your addressbook." -msgstr "В адресной книге нет контактов." - -#: templates/part.no_contacts.php:5 -msgid "Add contact" -msgstr "Добавить контакт" - -#: templates/part.selectaddressbook.php:1 -msgid "Select Address Books" -msgstr "Выбрать адресную книгу" - -#: templates/part.selectaddressbook.php:27 -msgid "Enter name" -msgstr "Введите имя" - -#: templates/part.selectaddressbook.php:29 -msgid "Enter description" -msgstr "Ввдите описание" - -#: templates/settings.php:3 -msgid "CardDAV syncing addresses" -msgstr "CardDAV синхронизации адресов" - -#: templates/settings.php:3 -msgid "more info" -msgstr "дополнительная информация" - -#: templates/settings.php:5 -msgid "Primary address (Kontact et al)" -msgstr "Первичный адрес (Kontact и др.)" - -#: templates/settings.php:7 -msgid "iOS/OS X" -msgstr "iOS/OS X" - -#: templates/settings.php:20 -msgid "Show CardDav link" -msgstr "Показать ссылку CardDav" - -#: templates/settings.php:23 -msgid "Show read-only VCF link" -msgstr "Показать нередактируемую ссылку VCF" - -#: templates/settings.php:26 -msgid "Share" -msgstr "Опубликовать" - -#: templates/settings.php:29 -msgid "Download" -msgstr "Скачать" - -#: templates/settings.php:33 -msgid "Edit" -msgstr "Редактировать" - -#: templates/settings.php:43 -msgid "New Address Book" -msgstr "Новая адресная книга" - -#: templates/settings.php:44 -msgid "Name" -msgstr "Имя" - -#: templates/settings.php:45 -msgid "Description" -msgstr "Описание" - -#: templates/settings.php:46 -msgid "Save" -msgstr "Сохранить" - -#: templates/settings.php:47 -msgid "Cancel" -msgstr "Отменить" - -#: templates/settings.php:52 -msgid "More..." -msgstr "Ещё..." diff --git a/l10n/ru/core.po b/l10n/ru/core.po index fe949c2e2b4c4891fcc0182b2d4981c997a26666..50037067343887aa57f74f762834ca8eb08ff035 100644 --- a/l10n/ru/core.po +++ b/l10n/ru/core.po @@ -5,6 +5,9 @@ # Translators: # Denis , 2012. # , 2011, 2012. +# , 2012. +# Mihail Vasiliev , 2012. +# , 2012. # , 2011. # Victor Bravo <>, 2012. # , 2012. @@ -12,9 +15,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-16 02:04+0200\n" -"PO-Revision-Date: 2012-10-16 00:05+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-11-22 00:01+0100\n" +"PO-Revision-Date: 2012-11-21 12:18+0000\n" +"Last-Translator: Mihail Vasiliev \n" "Language-Team: Russian (http://www.transifex.com/projects/p/owncloud/language/ru/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -22,209 +25,241 @@ msgstr "" "Language: ru\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" -#: ajax/vcategories/add.php:23 ajax/vcategories/delete.php:23 -msgid "Application name not provided." -msgstr "Имя приложения не установлено." +#: ajax/vcategories/add.php:26 ajax/vcategories/edit.php:25 +msgid "Category type not provided." +msgstr "Тип категории не предоставлен" -#: ajax/vcategories/add.php:29 +#: ajax/vcategories/add.php:30 msgid "No category to add?" msgstr "Нет категорий для добавления?" -#: ajax/vcategories/add.php:36 +#: ajax/vcategories/add.php:37 msgid "This category already exists: " msgstr "Эта категория уже существует: " -#: js/js.js:238 templates/layout.user.php:49 templates/layout.user.php:50 +#: ajax/vcategories/addToFavorites.php:26 ajax/vcategories/delete.php:27 +#: ajax/vcategories/favorites.php:24 +#: ajax/vcategories/removeFromFavorites.php:26 +msgid "Object type not provided." +msgstr "Тип объекта не предоставлен" + +#: ajax/vcategories/addToFavorites.php:30 +#: ajax/vcategories/removeFromFavorites.php:30 +#, php-format +msgid "%s ID not provided." +msgstr "ID %s не предоставлен" + +#: ajax/vcategories/addToFavorites.php:35 +#, php-format +msgid "Error adding %s to favorites." +msgstr "Ошибка добавления %s в избранное" + +#: ajax/vcategories/delete.php:35 js/oc-vcategories.js:136 +msgid "No categories selected for deletion." +msgstr "Нет категорий для удаления." + +#: ajax/vcategories/removeFromFavorites.php:35 +#, php-format +msgid "Error removing %s from favorites." +msgstr "Ошибка удаления %s из избранного" + +#: js/js.js:259 templates/layout.user.php:60 templates/layout.user.php:61 msgid "Settings" msgstr "Настройки" -#: js/js.js:670 -msgid "January" -msgstr "Январь" +#: js/js.js:704 +msgid "seconds ago" +msgstr "несколько секунд назад" -#: js/js.js:670 -msgid "February" -msgstr "Февраль" +#: js/js.js:705 +msgid "1 minute ago" +msgstr "1 минуту назад" -#: js/js.js:670 -msgid "March" -msgstr "Март" +#: js/js.js:706 +msgid "{minutes} minutes ago" +msgstr "{minutes} минут назад" -#: js/js.js:670 -msgid "April" -msgstr "Апрель" +#: js/js.js:707 +msgid "1 hour ago" +msgstr "час назад" -#: js/js.js:670 -msgid "May" -msgstr "Май" +#: js/js.js:708 +msgid "{hours} hours ago" +msgstr "{hours} часов назад" -#: js/js.js:670 -msgid "June" -msgstr "Июнь" +#: js/js.js:709 +msgid "today" +msgstr "сегодня" -#: js/js.js:671 -msgid "July" -msgstr "Июль" +#: js/js.js:710 +msgid "yesterday" +msgstr "вчера" -#: js/js.js:671 -msgid "August" -msgstr "Август" +#: js/js.js:711 +msgid "{days} days ago" +msgstr "{days} дней назад" -#: js/js.js:671 -msgid "September" -msgstr "Сентябрь" +#: js/js.js:712 +msgid "last month" +msgstr "в прошлом месяце" -#: js/js.js:671 -msgid "October" -msgstr "Октябрь" +#: js/js.js:713 +msgid "{months} months ago" +msgstr "{months} месяцев назад" -#: js/js.js:671 -msgid "November" -msgstr "Ноябрь" +#: js/js.js:714 +msgid "months ago" +msgstr "несколько месяцев назад" -#: js/js.js:671 -msgid "December" -msgstr "Декабрь" +#: js/js.js:715 +msgid "last year" +msgstr "в прошлом году" -#: js/oc-dialogs.js:123 +#: js/js.js:716 +msgid "years ago" +msgstr "несколько лет назад" + +#: js/oc-dialogs.js:126 msgid "Choose" -msgstr "" +msgstr "Выбрать" -#: js/oc-dialogs.js:143 js/oc-dialogs.js:163 +#: js/oc-dialogs.js:146 js/oc-dialogs.js:166 msgid "Cancel" msgstr "Отмена" -#: js/oc-dialogs.js:159 +#: js/oc-dialogs.js:162 msgid "No" msgstr "Нет" -#: js/oc-dialogs.js:160 +#: js/oc-dialogs.js:163 msgid "Yes" msgstr "Да" -#: js/oc-dialogs.js:177 +#: js/oc-dialogs.js:180 msgid "Ok" msgstr "Ок" -#: js/oc-vcategories.js:68 -msgid "No categories selected for deletion." -msgstr "Нет категорий для удаления." +#: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102 +#: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162 +msgid "The object type is not specified." +msgstr "Тип объекта не указан" -#: js/oc-vcategories.js:68 js/share.js:114 js/share.js:121 js/share.js:497 -#: js/share.js:509 +#: js/oc-vcategories.js:95 js/oc-vcategories.js:125 js/oc-vcategories.js:136 +#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:527 +#: js/share.js:539 msgid "Error" msgstr "Ошибка" -#: js/share.js:103 +#: js/oc-vcategories.js:179 +msgid "The app name is not specified." +msgstr "Имя приложения не указано" + +#: js/oc-vcategories.js:194 +msgid "The required file {file} is not installed!" +msgstr "Необходимый файл {file} не установлен!" + +#: js/share.js:124 msgid "Error while sharing" -msgstr "" +msgstr "Ошибка при открытии доступа" -#: js/share.js:114 +#: js/share.js:135 msgid "Error while unsharing" -msgstr "" +msgstr "Ошибка при закрытии доступа" -#: js/share.js:121 +#: js/share.js:142 msgid "Error while changing permissions" -msgstr "" - -#: js/share.js:130 -msgid "Shared with you and the group" -msgstr "" +msgstr "Ошибка при смене разрешений" -#: js/share.js:130 -msgid "by" -msgstr "" +#: js/share.js:151 +msgid "Shared with you and the group {group} by {owner}" +msgstr "{owner} открыл доступ для Вас и группы {group} " -#: js/share.js:132 -msgid "Shared with you by" -msgstr "" +#: js/share.js:153 +msgid "Shared with you by {owner}" +msgstr "{owner} открыл доступ для Вас" -#: js/share.js:137 +#: js/share.js:158 msgid "Share with" -msgstr "" +msgstr "Поделиться с" -#: js/share.js:142 +#: js/share.js:163 msgid "Share with link" -msgstr "" +msgstr "Поделиться с ссылкой" -#: js/share.js:143 +#: js/share.js:164 msgid "Password protect" -msgstr "" +msgstr "Защитить паролем" -#: js/share.js:147 templates/installation.php:42 templates/login.php:24 +#: js/share.js:168 templates/installation.php:42 templates/login.php:24 #: templates/verify.php:13 msgid "Password" msgstr "Пароль" -#: js/share.js:152 +#: js/share.js:173 msgid "Set expiration date" -msgstr "" +msgstr "Установить срок доступа" -#: js/share.js:153 +#: js/share.js:174 msgid "Expiration date" -msgstr "" +msgstr "Дата окончания" -#: js/share.js:185 +#: js/share.js:206 msgid "Share via email:" -msgstr "" +msgstr "Поделится через электронную почту:" -#: js/share.js:187 +#: js/share.js:208 msgid "No people found" -msgstr "" +msgstr "Ни один человек не найден" -#: js/share.js:214 +#: js/share.js:235 msgid "Resharing is not allowed" -msgstr "" - -#: js/share.js:250 -msgid "Shared in" -msgstr "" - -#: js/share.js:250 -msgid "with" -msgstr "" +msgstr "Общий доступ не разрешен" #: js/share.js:271 +msgid "Shared in {item} with {user}" +msgstr "Общий доступ к {item} с {user}" + +#: js/share.js:292 msgid "Unshare" -msgstr "" +msgstr "Закрыть общий доступ" -#: js/share.js:283 +#: js/share.js:304 msgid "can edit" -msgstr "" +msgstr "может редактировать" -#: js/share.js:285 +#: js/share.js:306 msgid "access control" -msgstr "" +msgstr "контроль доступа" -#: js/share.js:288 +#: js/share.js:309 msgid "create" -msgstr "" +msgstr "создать" -#: js/share.js:291 +#: js/share.js:312 msgid "update" -msgstr "" +msgstr "обновить" -#: js/share.js:294 +#: js/share.js:315 msgid "delete" -msgstr "" +msgstr "удалить" -#: js/share.js:297 +#: js/share.js:318 msgid "share" -msgstr "" +msgstr "открыть доступ" -#: js/share.js:322 js/share.js:484 +#: js/share.js:343 js/share.js:514 js/share.js:516 msgid "Password protected" -msgstr "" +msgstr "Защищено паролем" -#: js/share.js:497 +#: js/share.js:527 msgid "Error unsetting expiration date" -msgstr "" +msgstr "Ошибка при отмене срока доступа" -#: js/share.js:509 +#: js/share.js:539 msgid "Error setting expiration date" -msgstr "" +msgstr "Ошибка при установке срока доступа" -#: lostpassword/index.php:26 +#: lostpassword/controller.php:47 msgid "ownCloud password reset" msgstr "Сброс пароля " @@ -237,12 +272,12 @@ msgid "You will receive a link to reset your password via Email." msgstr "На ваш адрес Email выслана ссылка для сброса пароля." #: lostpassword/templates/lostpassword.php:5 -msgid "Requested" -msgstr "Запрошено" +msgid "Reset email send." +msgstr "Отправка письма с информацией для сброса." #: lostpassword/templates/lostpassword.php:8 -msgid "Login failed!" -msgstr "Не удалось войти!" +msgid "Request failed!" +msgstr "Запрос не удался!" #: lostpassword/templates/lostpassword.php:11 templates/installation.php:38 #: templates/login.php:20 @@ -301,25 +336,25 @@ msgstr "Облако не найдено" msgid "Edit categories" msgstr "Редактировать категории" -#: templates/edit_categories_dialog.php:14 +#: templates/edit_categories_dialog.php:16 msgid "Add" msgstr "Добавить" #: templates/installation.php:23 templates/installation.php:31 msgid "Security Warning" -msgstr "" +msgstr "Предупреждение безопасности" #: templates/installation.php:24 msgid "" "No secure random number generator is available, please enable the PHP " "OpenSSL extension." -msgstr "" +msgstr "Нет доступного защищенного генератора случайных чисел, пожалуйста, включите расширение PHP OpenSSL." #: templates/installation.php:26 msgid "" "Without a secure random number generator an attacker may be able to predict " "password reset tokens and take over your account." -msgstr "" +msgstr "Без защищенного генератора случайных чисел злоумышленник может предугадать токены сброса пароля и завладеть Вашей учетной записью." #: templates/installation.php:32 msgid "" @@ -328,7 +363,7 @@ msgid "" "strongly suggest that you configure your webserver in a way that the data " "directory is no longer accessible or you move the data directory outside the" " webserver document root." -msgstr "" +msgstr "Ваши каталоги данных и файлы, вероятно, доступны из Интернета. Файл .htaccess, предоставляемый ownCloud, не работает. Мы настоятельно рекомендуем Вам настроить вебсервер таким образом, чтобы каталоги данных больше не были доступны, или переместить их за пределы корневого каталога документов веб-сервера." #: templates/installation.php:36 msgid "Create an admin account" @@ -375,27 +410,103 @@ msgstr "Хост базы данных" msgid "Finish setup" msgstr "Завершить установку" -#: templates/layout.guest.php:38 +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Sunday" +msgstr "Воскресенье" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Monday" +msgstr "Понедельник" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Tuesday" +msgstr "Вторник" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Wednesday" +msgstr "Среда" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Thursday" +msgstr "Четверг" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Friday" +msgstr "Пятница" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Saturday" +msgstr "Суббота" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "January" +msgstr "Январь" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "February" +msgstr "Февраль" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "March" +msgstr "Март" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "April" +msgstr "Апрель" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "May" +msgstr "Май" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "June" +msgstr "Июнь" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "July" +msgstr "Июль" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "August" +msgstr "Август" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "September" +msgstr "Сентябрь" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "October" +msgstr "Октябрь" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "November" +msgstr "Ноябрь" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "December" +msgstr "Декабрь" + +#: templates/layout.guest.php:42 msgid "web services under your control" msgstr "Сетевые службы под твоим контролем" -#: templates/layout.user.php:34 +#: templates/layout.user.php:45 msgid "Log out" msgstr "Выйти" #: templates/login.php:8 msgid "Automatic logon rejected!" -msgstr "" +msgstr "Автоматический вход в систему отключен!" #: templates/login.php:9 msgid "" "If you did not change your password recently, your account may be " "compromised!" -msgstr "" +msgstr "Если Вы недавно не меняли свой пароль, то Ваша учетная запись может быть скомпрометирована!" #: templates/login.php:10 msgid "Please change your password to secure your account again." -msgstr "" +msgstr "Пожалуйста, смените пароль, чтобы обезопасить свою учетную запись." #: templates/login.php:15 msgid "Lost your password?" @@ -423,14 +534,14 @@ msgstr "след" #: templates/verify.php:5 msgid "Security Warning!" -msgstr "" +msgstr "Предупреждение безопасности!" #: templates/verify.php:6 msgid "" "Please verify your password.
For security reasons you may be " "occasionally asked to enter your password again." -msgstr "" +msgstr "Пожалуйста, проверьте свой ​​пароль.
По соображениям безопасности, Вам иногда придется вводить свой пароль снова." #: templates/verify.php:16 msgid "Verify" -msgstr "" +msgstr "Подтвердить" diff --git a/l10n/ru/files.po b/l10n/ru/files.po index e1aaa13211221dba3985c9f262101421eb76af6a..e15399b83d4087e37131a46be8be956f523a2121 100644 --- a/l10n/ru/files.po +++ b/l10n/ru/files.po @@ -6,7 +6,9 @@ # Denis , 2012. # , 2012. # , 2012. +# , 2012. # Nick Remeslennikov , 2012. +# , 2012. # , 2011. # Victor Bravo <>, 2012. # , 2012. @@ -14,9 +16,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-09-26 13:19+0200\n" -"PO-Revision-Date: 2012-09-26 11:20+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-12-01 00:01+0100\n" +"PO-Revision-Date: 2012-11-30 23:02+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Russian (http://www.transifex.com/projects/p/owncloud/language/ru/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -29,195 +31,166 @@ msgid "There is no error, the file uploaded with success" msgstr "Файл успешно загружен" #: ajax/upload.php:21 -msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" -msgstr "Файл превышает допустимые размеры (описаны как upload_max_filesize в php.ini)" +msgid "" +"The uploaded file exceeds the upload_max_filesize directive in php.ini: " +msgstr "" -#: ajax/upload.php:22 +#: ajax/upload.php:23 msgid "" "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " "the HTML form" msgstr "Файл превышает размер MAX_FILE_SIZE, указаный в HTML-форме" -#: ajax/upload.php:23 +#: ajax/upload.php:25 msgid "The uploaded file was only partially uploaded" msgstr "Файл был загружен не полностью" -#: ajax/upload.php:24 +#: ajax/upload.php:26 msgid "No file was uploaded" msgstr "Файл не был загружен" -#: ajax/upload.php:25 +#: ajax/upload.php:27 msgid "Missing a temporary folder" msgstr "Невозможно найти временную папку" -#: ajax/upload.php:26 +#: ajax/upload.php:28 msgid "Failed to write to disk" msgstr "Ошибка записи на диск" -#: appinfo/app.php:6 +#: appinfo/app.php:10 msgid "Files" msgstr "Файлы" -#: js/fileactions.js:108 templates/index.php:62 +#: js/fileactions.js:117 templates/index.php:83 templates/index.php:84 msgid "Unshare" msgstr "Отменить публикацию" -#: js/fileactions.js:110 templates/index.php:64 +#: js/fileactions.js:119 templates/index.php:89 templates/index.php:90 msgid "Delete" msgstr "Удалить" -#: js/fileactions.js:182 +#: js/fileactions.js:181 msgid "Rename" -msgstr "" +msgstr "Переименовать" -#: js/filelist.js:190 js/filelist.js:192 -msgid "already exists" -msgstr "уже существует" +#: js/filelist.js:201 js/filelist.js:203 +msgid "{new_name} already exists" +msgstr "{new_name} уже существует" -#: js/filelist.js:190 js/filelist.js:192 +#: js/filelist.js:201 js/filelist.js:203 msgid "replace" msgstr "заменить" -#: js/filelist.js:190 +#: js/filelist.js:201 msgid "suggest name" msgstr "предложить название" -#: js/filelist.js:190 js/filelist.js:192 +#: js/filelist.js:201 js/filelist.js:203 msgid "cancel" msgstr "отмена" -#: js/filelist.js:239 js/filelist.js:241 -msgid "replaced" -msgstr "заменён" +#: js/filelist.js:250 +msgid "replaced {new_name}" +msgstr "заменено {new_name}" -#: js/filelist.js:239 js/filelist.js:241 js/filelist.js:273 js/filelist.js:275 +#: js/filelist.js:250 js/filelist.js:252 js/filelist.js:284 js/filelist.js:286 msgid "undo" msgstr "отмена" -#: js/filelist.js:241 -msgid "with" -msgstr "с" +#: js/filelist.js:252 +msgid "replaced {new_name} with {old_name}" +msgstr "заменено {new_name} на {old_name}" -#: js/filelist.js:273 -msgid "unshared" -msgstr "публикация отменена" +#: js/filelist.js:284 +msgid "unshared {files}" +msgstr "не опубликованные {files}" -#: js/filelist.js:275 -msgid "deleted" -msgstr "удален" +#: js/filelist.js:286 +msgid "deleted {files}" +msgstr "удаленные {files}" -#: js/files.js:179 +#: js/files.js:33 +msgid "" +"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not " +"allowed." +msgstr "Неправильное имя, '\\', '/', '<', '>', ':', '\"', '|', '?' и '*' недопустимы." + +#: js/files.js:183 msgid "generating ZIP-file, it may take some time." msgstr "создание ZIP-файла, это может занять некоторое время." -#: js/files.js:208 +#: js/files.js:218 msgid "Unable to upload your file as it is a directory or has 0 bytes" msgstr "Не удается загрузить файл размером 0 байт в каталог" -#: js/files.js:208 +#: js/files.js:218 msgid "Upload Error" msgstr "Ошибка загрузки" -#: js/files.js:236 js/files.js:341 js/files.js:371 +#: js/files.js:235 +msgid "Close" +msgstr "Закрыть" + +#: js/files.js:254 js/files.js:368 js/files.js:398 msgid "Pending" msgstr "Ожидание" -#: js/files.js:256 +#: js/files.js:274 msgid "1 file uploading" -msgstr "" +msgstr "загружается 1 файл" -#: js/files.js:259 js/files.js:304 js/files.js:319 -msgid "files uploading" -msgstr "" +#: js/files.js:277 js/files.js:331 js/files.js:346 +msgid "{count} files uploading" +msgstr "{count} файлов загружается" -#: js/files.js:322 js/files.js:355 +#: js/files.js:349 js/files.js:382 msgid "Upload cancelled." msgstr "Загрузка отменена." -#: js/files.js:424 +#: js/files.js:451 msgid "" "File upload is in progress. Leaving the page now will cancel the upload." msgstr "Файл в процессе загрузки. Покинув страницу вы прервёте загрузку." -#: js/files.js:494 -msgid "Invalid name, '/' is not allowed." -msgstr "Неверное имя, '/' не допускается." +#: js/files.js:523 +msgid "Invalid folder name. Usage of \"Shared\" is reserved by Owncloud" +msgstr "Не правильное имя папки. Имя \"Shared\" резервировано в Owncloud" -#: js/files.js:667 -msgid "files scanned" -msgstr "" +#: js/files.js:704 +msgid "{count} files scanned" +msgstr "{count} файлов просканировано" -#: js/files.js:675 +#: js/files.js:712 msgid "error while scanning" -msgstr "" +msgstr "ошибка во время санирования" -#: js/files.js:748 templates/index.php:48 +#: js/files.js:785 templates/index.php:65 msgid "Name" msgstr "Название" -#: js/files.js:749 templates/index.php:56 +#: js/files.js:786 templates/index.php:76 msgid "Size" msgstr "Размер" -#: js/files.js:750 templates/index.php:58 +#: js/files.js:787 templates/index.php:78 msgid "Modified" msgstr "Изменён" -#: js/files.js:777 -msgid "folder" -msgstr "папка" - -#: js/files.js:779 -msgid "folders" -msgstr "папки" - -#: js/files.js:787 -msgid "file" -msgstr "файл" +#: js/files.js:814 +msgid "1 folder" +msgstr "1 папка" -#: js/files.js:789 -msgid "files" -msgstr "файлы" +#: js/files.js:816 +msgid "{count} folders" +msgstr "{count} папок" -#: js/files.js:833 -msgid "seconds ago" -msgstr "" - -#: js/files.js:834 -msgid "minute ago" -msgstr "" +#: js/files.js:824 +msgid "1 file" +msgstr "1 файл" -#: js/files.js:835 -msgid "minutes ago" -msgstr "" - -#: js/files.js:838 -msgid "today" -msgstr "" - -#: js/files.js:839 -msgid "yesterday" -msgstr "" - -#: js/files.js:840 -msgid "days ago" -msgstr "" - -#: js/files.js:841 -msgid "last month" -msgstr "" - -#: js/files.js:843 -msgid "months ago" -msgstr "" - -#: js/files.js:844 -msgid "last year" -msgstr "" - -#: js/files.js:845 -msgid "years ago" -msgstr "" +#: js/files.js:826 +msgid "{count} files" +msgstr "{count} файлов" #: templates/admin.php:5 msgid "File handling" @@ -227,27 +200,27 @@ msgstr "Управление файлами" msgid "Maximum upload size" msgstr "Максимальный размер загружаемого файла" -#: templates/admin.php:7 +#: templates/admin.php:9 msgid "max. possible: " msgstr "макс. возможно: " -#: templates/admin.php:9 +#: templates/admin.php:12 msgid "Needed for multi-file and folder downloads." msgstr "Требуется для скачивания нескольких файлов и папок" -#: templates/admin.php:9 +#: templates/admin.php:14 msgid "Enable ZIP-download" msgstr "Включить ZIP-скачивание" -#: templates/admin.php:11 +#: templates/admin.php:17 msgid "0 is unlimited" msgstr "0 - без ограничений" -#: templates/admin.php:12 +#: templates/admin.php:19 msgid "Maximum input size for ZIP files" msgstr "Максимальный исходный размер для ZIP файлов" -#: templates/admin.php:14 +#: templates/admin.php:23 msgid "Save" msgstr "Сохранить" @@ -255,52 +228,48 @@ msgstr "Сохранить" msgid "New" msgstr "Новый" -#: templates/index.php:9 +#: templates/index.php:10 msgid "Text file" msgstr "Текстовый файл" -#: templates/index.php:10 +#: templates/index.php:12 msgid "Folder" msgstr "Папка" -#: templates/index.php:11 -msgid "From url" -msgstr "С url" +#: templates/index.php:14 +msgid "From link" +msgstr "Из ссылки" -#: templates/index.php:20 +#: templates/index.php:35 msgid "Upload" msgstr "Загрузить" -#: templates/index.php:27 +#: templates/index.php:43 msgid "Cancel upload" msgstr "Отмена загрузки" -#: templates/index.php:40 +#: templates/index.php:57 msgid "Nothing in here. Upload something!" msgstr "Здесь ничего нет. Загрузите что-нибудь!" -#: templates/index.php:50 -msgid "Share" -msgstr "Опубликовать" - -#: templates/index.php:52 +#: templates/index.php:71 msgid "Download" msgstr "Скачать" -#: templates/index.php:75 +#: templates/index.php:103 msgid "Upload too large" msgstr "Файл слишком большой" -#: templates/index.php:77 +#: templates/index.php:105 msgid "" "The files you are trying to upload exceed the maximum size for file uploads " "on this server." msgstr "Файлы, которые Вы пытаетесь загрузить, превышают лимит для файлов на этом сервере." -#: templates/index.php:82 +#: templates/index.php:110 msgid "Files are being scanned, please wait." msgstr "Подождите, файлы сканируются." -#: templates/index.php:85 +#: templates/index.php:113 msgid "Current scanning" msgstr "Текущее сканирование" diff --git a/l10n/ru/files_external.po b/l10n/ru/files_external.po index 44fcf5c24460fde3d32d1204e9ae0d5712d515f4..664f6a3b49c00be0999be529b6cc9e37590739da 100644 --- a/l10n/ru/files_external.po +++ b/l10n/ru/files_external.po @@ -4,13 +4,14 @@ # # Translators: # Denis , 2012. +# , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-02 23:16+0200\n" -"PO-Revision-Date: 2012-10-02 21:17+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-12-12 00:12+0100\n" +"PO-Revision-Date: 2012-12-11 23:13+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Russian (http://www.transifex.com/projects/p/owncloud/language/ru/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -20,88 +21,102 @@ msgstr "" #: js/dropbox.js:7 js/dropbox.js:25 js/google.js:7 js/google.js:23 msgid "Access granted" -msgstr "" +msgstr "Доступ предоставлен" #: js/dropbox.js:28 js/dropbox.js:74 js/dropbox.js:79 js/dropbox.js:86 msgid "Error configuring Dropbox storage" -msgstr "" +msgstr "Ошибка при настройке хранилища Dropbox" #: js/dropbox.js:34 js/dropbox.js:45 js/google.js:31 js/google.js:40 msgid "Grant access" -msgstr "" +msgstr "Предоставление доступа" #: js/dropbox.js:73 js/google.js:72 msgid "Fill out all required fields" -msgstr "" +msgstr "Заполните все обязательные поля" #: js/dropbox.js:85 msgid "Please provide a valid Dropbox app key and secret." -msgstr "" +msgstr "Пожалуйста, предоставьте действующий ключ Dropbox и пароль." #: js/google.js:26 js/google.js:73 js/google.js:78 msgid "Error configuring Google Drive storage" +msgstr "Ошибка при настройке хранилища Google Drive" + +#: lib/config.php:434 +msgid "" +"Warning: \"smbclient\" is not installed. Mounting of CIFS/SMB shares " +"is not possible. Please ask your system administrator to install it." +msgstr "" + +#: lib/config.php:435 +msgid "" +"Warning: The FTP support in PHP is not enabled or installed. Mounting" +" of FTP shares is not possible. Please ask your system administrator to " +"install it." msgstr "" #: templates/settings.php:3 msgid "External Storage" msgstr "Внешний носитель" -#: templates/settings.php:7 templates/settings.php:19 +#: templates/settings.php:8 templates/settings.php:22 msgid "Mount point" msgstr "Точка монтирования" -#: templates/settings.php:8 +#: templates/settings.php:9 msgid "Backend" msgstr "Подсистема" -#: templates/settings.php:9 +#: templates/settings.php:10 msgid "Configuration" msgstr "Конфигурация" -#: templates/settings.php:10 +#: templates/settings.php:11 msgid "Options" msgstr "Опции" -#: templates/settings.php:11 +#: templates/settings.php:12 msgid "Applicable" msgstr "Применимый" -#: templates/settings.php:23 +#: templates/settings.php:27 msgid "Add mount point" msgstr "Добавить точку монтирования" -#: templates/settings.php:54 templates/settings.php:62 +#: templates/settings.php:85 msgid "None set" msgstr "Не установлено" -#: templates/settings.php:63 +#: templates/settings.php:86 msgid "All Users" msgstr "Все пользователи" -#: templates/settings.php:64 +#: templates/settings.php:87 msgid "Groups" msgstr "Группы" -#: templates/settings.php:69 +#: templates/settings.php:95 msgid "Users" msgstr "Пользователи" -#: templates/settings.php:77 templates/settings.php:107 +#: templates/settings.php:108 templates/settings.php:109 +#: templates/settings.php:149 templates/settings.php:150 msgid "Delete" msgstr "Удалить" -#: templates/settings.php:87 +#: templates/settings.php:124 msgid "Enable User External Storage" msgstr "Включить пользовательские внешние носители" -#: templates/settings.php:88 +#: templates/settings.php:125 msgid "Allow users to mount their own external storage" msgstr "Разрешить пользователям монтировать их собственные внешние носители" -#: templates/settings.php:99 +#: templates/settings.php:139 msgid "SSL root certificates" msgstr "Корневые сертификаты SSL" -#: templates/settings.php:113 +#: templates/settings.php:158 msgid "Import Root Certificate" msgstr "Импортировать корневые сертификаты" diff --git a/l10n/ru/files_odfviewer.po b/l10n/ru/files_odfviewer.po deleted file mode 100644 index 566e2951123e59311c0bf1725a16be7a603418e3..0000000000000000000000000000000000000000 --- a/l10n/ru/files_odfviewer.po +++ /dev/null @@ -1,22 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 02:18+0200\n" -"PO-Revision-Date: 2012-08-26 00:19+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Russian (http://www.transifex.com/projects/p/owncloud/language/ru/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ru\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" - -#: js/viewer.js:9 -msgid "Close" -msgstr "" diff --git a/l10n/ru/files_pdfviewer.po b/l10n/ru/files_pdfviewer.po deleted file mode 100644 index 48f6bdb06a6025df5f998ffe03531fc913958b1b..0000000000000000000000000000000000000000 --- a/l10n/ru/files_pdfviewer.po +++ /dev/null @@ -1,42 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 02:18+0200\n" -"PO-Revision-Date: 2012-08-26 00:19+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Russian (http://www.transifex.com/projects/p/owncloud/language/ru/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ru\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" - -#: js/viewer.js:22 -msgid "Previous" -msgstr "" - -#: js/viewer.js:23 -msgid "Next" -msgstr "" - -#: js/viewer.js:29 -msgid "Page Width" -msgstr "" - -#: js/viewer.js:29 -msgid "Page Fit" -msgstr "" - -#: js/viewer.js:30 -msgid "Print" -msgstr "" - -#: js/viewer.js:32 -msgid "Download" -msgstr "" diff --git a/l10n/ru/files_sharing.po b/l10n/ru/files_sharing.po index 803a4863c4c1696252fa4ec47418407b23e79278..425b0ed259102204fd6dfc30fce3d633de62c059 100644 --- a/l10n/ru/files_sharing.po +++ b/l10n/ru/files_sharing.po @@ -5,14 +5,15 @@ # Translators: # Denis , 2012. # , 2012. +# , 2012. # , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-09-22 01:14+0200\n" -"PO-Revision-Date: 2012-09-21 23:15+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-10-20 02:02+0200\n" +"PO-Revision-Date: 2012-10-19 13:24+0000\n" +"Last-Translator: skoptev \n" "Language-Team: Russian (http://www.transifex.com/projects/p/owncloud/language/ru/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -31,12 +32,12 @@ msgstr "Отправить" #: templates/public.php:9 #, php-format msgid "%s shared the folder %s with you" -msgstr "" +msgstr "%s открыл доступ к папке %s для Вас" #: templates/public.php:11 #, php-format msgid "%s shared the file %s with you" -msgstr "" +msgstr "%s открыл доступ к файлу %s для Вас" #: templates/public.php:14 templates/public.php:30 msgid "Download" @@ -46,6 +47,6 @@ msgstr "Скачать" msgid "No preview available for" msgstr "Предпросмотр недоступен для" -#: templates/public.php:37 +#: templates/public.php:35 msgid "web services under your control" msgstr "веб-сервисы под вашим управлением" diff --git a/l10n/ru/files_texteditor.po b/l10n/ru/files_texteditor.po deleted file mode 100644 index 46b235b4699a3a098d0e93f4400eb0481d5cede4..0000000000000000000000000000000000000000 --- a/l10n/ru/files_texteditor.po +++ /dev/null @@ -1,44 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 01:17+0200\n" -"PO-Revision-Date: 2012-08-25 23:18+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Russian (http://www.transifex.com/projects/p/owncloud/language/ru/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ru\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" - -#: js/aceeditor/mode-coldfusion-uncompressed.js:1568 -#: js/aceeditor/mode-liquid-uncompressed.js:902 -#: js/aceeditor/mode-svg-uncompressed.js:1575 -msgid "regex" -msgstr "" - -#: js/editor.js:72 js/editor.js:156 js/editor.js:163 -msgid "Save" -msgstr "" - -#: js/editor.js:74 -msgid "Close" -msgstr "" - -#: js/editor.js:149 -msgid "Saving..." -msgstr "" - -#: js/editor.js:239 -msgid "An error occurred!" -msgstr "" - -#: js/editor.js:266 -msgid "There were unsaved changes, click here to go back" -msgstr "" diff --git a/l10n/ru/files_versions.po b/l10n/ru/files_versions.po index 4ea65271fb3ad7bab24aefe0e20fa491b68f013c..bb622c0e095fa318dd7696201b9d108886332235 100644 --- a/l10n/ru/files_versions.po +++ b/l10n/ru/files_versions.po @@ -4,14 +4,15 @@ # # Translators: # Denis , 2012. +# , 2012. # , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-09-22 01:14+0200\n" -"PO-Revision-Date: 2012-09-21 23:15+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-10-20 02:02+0200\n" +"PO-Revision-Date: 2012-10-19 13:09+0000\n" +"Last-Translator: skoptev \n" "Language-Team: Russian (http://www.transifex.com/projects/p/owncloud/language/ru/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -25,7 +26,7 @@ msgstr "Просрочить все версии" #: js/versions.js:16 msgid "History" -msgstr "" +msgstr "История" #: templates/settings-personal.php:4 msgid "Versions" @@ -37,8 +38,8 @@ msgstr "Очистить список версий ваших файлов" #: templates/settings.php:3 msgid "Files Versioning" -msgstr "" +msgstr "Версии файлов" #: templates/settings.php:4 msgid "Enable" -msgstr "" +msgstr "Включить" diff --git a/l10n/ru/gallery.po b/l10n/ru/gallery.po deleted file mode 100644 index c80be67674ff0f331720ee1a98e930dbe7194596..0000000000000000000000000000000000000000 --- a/l10n/ru/gallery.po +++ /dev/null @@ -1,43 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Denis , 2012. -# , 2012. -# , 2012. -# Soul Kim , 2012. -# Victor Bravo <>, 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-24 02:02+0200\n" -"PO-Revision-Date: 2012-08-23 17:08+0000\n" -"Last-Translator: Denis \n" -"Language-Team: Russian (http://www.transifex.com/projects/p/owncloud/language/ru/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ru\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" - -#: appinfo/app.php:42 -msgid "Pictures" -msgstr "Рисунки" - -#: js/pictures.js:12 -msgid "Share gallery" -msgstr "Опубликовать" - -#: js/pictures.js:32 -msgid "Error: " -msgstr "Ошибка" - -#: js/pictures.js:32 -msgid "Internal error" -msgstr "Внутренняя ошибка" - -#: templates/index.php:27 -msgid "Slideshow" -msgstr "Слайдшоу" diff --git a/l10n/ru/lib.po b/l10n/ru/lib.po index da6e47850058db51316f9b8f78fb367e2cbe886d..a031a62f802e0bd7e30085ed60b927cb71a1cfb5 100644 --- a/l10n/ru/lib.po +++ b/l10n/ru/lib.po @@ -4,15 +4,17 @@ # # Translators: # Denis , 2012. +# , 2012. +# Mihail Vasiliev , 2012. # , 2012. # , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-09-08 02:02+0200\n" -"PO-Revision-Date: 2012-09-07 11:22+0000\n" -"Last-Translator: VicDeo \n" +"POT-Creation-Date: 2012-11-22 00:01+0100\n" +"PO-Revision-Date: 2012-11-21 12:19+0000\n" +"Last-Translator: Mihail Vasiliev \n" "Language-Team: Russian (http://www.transifex.com/projects/p/owncloud/language/ru/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -44,19 +46,19 @@ msgstr "Приложения" msgid "Admin" msgstr "Admin" -#: files.php:280 +#: files.php:361 msgid "ZIP download is turned off." msgstr "ZIP-скачивание отключено." -#: files.php:281 +#: files.php:362 msgid "Files need to be downloaded one by one." msgstr "Файлы должны быть загружены по одному." -#: files.php:281 files.php:306 +#: files.php:362 files.php:387 msgid "Back to Files" msgstr "Назад к файлам" -#: files.php:305 +#: files.php:386 msgid "Selected files too large to generate zip file." msgstr "Выбранные файлы слишком велики, чтобы создать zip файл." @@ -64,7 +66,7 @@ msgstr "Выбранные файлы слишком велики, чтобы с msgid "Application is not enabled" msgstr "Приложение не разрешено" -#: json.php:39 json.php:63 json.php:75 +#: json.php:39 json.php:64 json.php:77 json.php:89 msgid "Authentication error" msgstr "Ошибка аутентификации" @@ -72,57 +74,84 @@ msgstr "Ошибка аутентификации" msgid "Token expired. Please reload page." msgstr "Токен просрочен. Перезагрузите страницу." -#: template.php:87 +#: search/provider/file.php:17 search/provider/file.php:35 +msgid "Files" +msgstr "Файлы" + +#: search/provider/file.php:26 search/provider/file.php:33 +msgid "Text" +msgstr "Текст" + +#: search/provider/file.php:29 +msgid "Images" +msgstr "Изображения" + +#: template.php:103 msgid "seconds ago" msgstr "менее минуты" -#: template.php:88 +#: template.php:104 msgid "1 minute ago" msgstr "1 минуту назад" -#: template.php:89 +#: template.php:105 #, php-format msgid "%d minutes ago" msgstr "%d минут назад" -#: template.php:92 +#: template.php:106 +msgid "1 hour ago" +msgstr "час назад" + +#: template.php:107 +#, php-format +msgid "%d hours ago" +msgstr "%d часов назад" + +#: template.php:108 msgid "today" msgstr "сегодня" -#: template.php:93 +#: template.php:109 msgid "yesterday" msgstr "вчера" -#: template.php:94 +#: template.php:110 #, php-format msgid "%d days ago" msgstr "%d дней назад" -#: template.php:95 +#: template.php:111 msgid "last month" msgstr "в прошлом месяце" -#: template.php:96 -msgid "months ago" -msgstr "месяцы назад" +#: template.php:112 +#, php-format +msgid "%d months ago" +msgstr "%d месяцев назад" -#: template.php:97 +#: template.php:113 msgid "last year" msgstr "в прошлом году" -#: template.php:98 +#: template.php:114 msgid "years ago" msgstr "годы назад" -#: updater.php:66 +#: updater.php:75 #, php-format msgid "%s is available. Get more information" msgstr "Возможно обновление до %s. Подробнее" -#: updater.php:68 +#: updater.php:77 msgid "up to date" msgstr "актуальная версия" -#: updater.php:71 +#: updater.php:80 msgid "updates check is disabled" msgstr "проверка обновлений отключена" + +#: vcategories.php:188 vcategories.php:249 +#, php-format +msgid "Could not find category \"%s\"" +msgstr "Категория \"%s\" не найдена" diff --git a/l10n/ru/media.po b/l10n/ru/media.po deleted file mode 100644 index ed564055236228f3f75b02f759ddd161b1bd4097..0000000000000000000000000000000000000000 --- a/l10n/ru/media.po +++ /dev/null @@ -1,67 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# , 2011. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-06-06 00:12+0200\n" -"PO-Revision-Date: 2012-06-05 22:15+0000\n" -"Last-Translator: icewind \n" -"Language-Team: Russian (http://www.transifex.net/projects/p/owncloud/language/ru/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ru\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" - -#: appinfo/app.php:32 templates/player.php:8 -msgid "Music" -msgstr "Музыка" - -#: js/music.js:18 -msgid "Add album to playlist" -msgstr "" - -#: templates/music.php:3 templates/player.php:12 -msgid "Play" -msgstr "Проиграть" - -#: templates/music.php:4 templates/music.php:26 templates/player.php:13 -msgid "Pause" -msgstr "Пауза" - -#: templates/music.php:5 -msgid "Previous" -msgstr "Предыдущий" - -#: templates/music.php:6 templates/player.php:14 -msgid "Next" -msgstr "Следующий" - -#: templates/music.php:7 -msgid "Mute" -msgstr "Отключить звук" - -#: templates/music.php:8 -msgid "Unmute" -msgstr "Включить звук" - -#: templates/music.php:25 -msgid "Rescan Collection" -msgstr "Пересканировать коллекцию" - -#: templates/music.php:37 -msgid "Artist" -msgstr "Исполнитель" - -#: templates/music.php:38 -msgid "Album" -msgstr "Альбом" - -#: templates/music.php:39 -msgid "Title" -msgstr "Название" diff --git a/l10n/ru/settings.po b/l10n/ru/settings.po index 1d8dd64bb6ad9bc61483c93e5949912a1b0833e2..8c3270fb08773913af7be54eaf34702c8e837ea1 100644 --- a/l10n/ru/settings.po +++ b/l10n/ru/settings.po @@ -9,6 +9,7 @@ # , 2012. # Nick Remeslennikov , 2012. # , 2012. +# , 2012. # , 2011. # Victor Bravo <>, 2012. # , 2012. @@ -16,9 +17,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-09 02:03+0200\n" -"PO-Revision-Date: 2012-10-09 00:04+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-12-03 00:04+0100\n" +"PO-Revision-Date: 2012-12-02 03:18+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Russian (http://www.transifex.com/projects/p/owncloud/language/ru/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -26,70 +27,73 @@ msgstr "" "Language: ru\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" -#: ajax/apps/ocs.php:23 +#: ajax/apps/ocs.php:20 msgid "Unable to load list from App Store" msgstr "Загрузка из App Store запрещена" -#: ajax/creategroup.php:9 ajax/removeuser.php:13 ajax/setquota.php:18 -#: ajax/togglegroups.php:15 -msgid "Authentication error" -msgstr "Ошибка авторизации" - -#: ajax/creategroup.php:19 +#: ajax/creategroup.php:10 msgid "Group already exists" msgstr "Группа уже существует" -#: ajax/creategroup.php:28 +#: ajax/creategroup.php:19 msgid "Unable to add group" msgstr "Невозможно добавить группу" -#: ajax/enableapp.php:14 +#: ajax/enableapp.php:12 msgid "Could not enable app. " -msgstr "" +msgstr "Не удалось включить приложение." -#: ajax/lostpassword.php:14 +#: ajax/lostpassword.php:12 msgid "Email saved" msgstr "Email сохранен" -#: ajax/lostpassword.php:16 +#: ajax/lostpassword.php:14 msgid "Invalid email" msgstr "Неправильный Email" -#: ajax/openid.php:16 +#: ajax/openid.php:13 msgid "OpenID Changed" msgstr "OpenID изменён" -#: ajax/openid.php:18 ajax/setlanguage.php:20 ajax/setlanguage.php:23 +#: ajax/openid.php:15 ajax/setlanguage.php:17 ajax/setlanguage.php:20 msgid "Invalid request" msgstr "Неверный запрос" -#: ajax/removegroup.php:16 +#: ajax/removegroup.php:13 msgid "Unable to delete group" msgstr "Невозможно удалить группу" -#: ajax/removeuser.php:22 +#: ajax/removeuser.php:15 ajax/setquota.php:15 ajax/togglegroups.php:18 +msgid "Authentication error" +msgstr "Ошибка авторизации" + +#: ajax/removeuser.php:24 msgid "Unable to delete user" msgstr "Невозможно удалить пользователя" -#: ajax/setlanguage.php:18 +#: ajax/setlanguage.php:15 msgid "Language changed" msgstr "Язык изменён" -#: ajax/togglegroups.php:25 +#: ajax/togglegroups.php:12 +msgid "Admins can't remove themself from the admin group" +msgstr "" + +#: ajax/togglegroups.php:28 #, php-format msgid "Unable to add user to group %s" msgstr "Невозможно добавить пользователя в группу %s" -#: ajax/togglegroups.php:31 +#: ajax/togglegroups.php:34 #, php-format msgid "Unable to remove user from group %s" msgstr "Невозможно удалить пользователя из группы %s" -#: js/apps.js:28 js/apps.js:65 +#: js/apps.js:28 js/apps.js:67 msgid "Disable" msgstr "Выключить" -#: js/apps.js:28 js/apps.js:54 +#: js/apps.js:28 js/apps.js:55 msgid "Enable" msgstr "Включить" @@ -97,104 +101,17 @@ msgstr "Включить" msgid "Saving..." msgstr "Сохранение..." -#: personal.php:47 personal.php:48 +#: personal.php:42 personal.php:43 msgid "__language_name__" msgstr "Русский " -#: templates/admin.php:14 -msgid "Security Warning" -msgstr "Предупреждение безопасности" - -#: templates/admin.php:17 -msgid "" -"Your data directory and your files are probably accessible from the " -"internet. The .htaccess file that ownCloud provides is not working. We " -"strongly suggest that you configure your webserver in a way that the data " -"directory is no longer accessible or you move the data directory outside the" -" webserver document root." -msgstr "Похоже, что каталог data и ваши файлы в нем доступны из интернета. Предоставляемый ownCloud файл htaccess не работает. Настоятельно рекомендуем настроить сервер таким образом, чтобы закрыть доступ к каталогу data или вынести каталог data за пределы корневого каталога веб-сервера." - -#: templates/admin.php:31 -msgid "Cron" -msgstr "Задание" - -#: templates/admin.php:37 -msgid "Execute one task with each page loaded" -msgstr "" - -#: templates/admin.php:43 -msgid "" -"cron.php is registered at a webcron service. Call the cron.php page in the " -"owncloud root once a minute over http." -msgstr "" - -#: templates/admin.php:49 -msgid "" -"Use systems cron service. Call the cron.php file in the owncloud folder via " -"a system cronjob once a minute." -msgstr "" - -#: templates/admin.php:56 -msgid "Sharing" -msgstr "" - -#: templates/admin.php:61 -msgid "Enable Share API" -msgstr "Включить API публикации" - -#: templates/admin.php:62 -msgid "Allow apps to use the Share API" -msgstr "Разрешить API публикации для приложений" - -#: templates/admin.php:67 -msgid "Allow links" -msgstr "Разрешить ссылки" - -#: templates/admin.php:68 -msgid "Allow users to share items to the public with links" -msgstr "Разрешить пользователям публикацию при помощи ссылок" - -#: templates/admin.php:73 -msgid "Allow resharing" -msgstr "Включить повторную публикацию" - -#: templates/admin.php:74 -msgid "Allow users to share items shared with them again" -msgstr "Разрешить пользователям публиковать доступные им элементы других пользователей" - -#: templates/admin.php:79 -msgid "Allow users to share with anyone" -msgstr "Разрешить публиковать для любых пользователей" - -#: templates/admin.php:81 -msgid "Allow users to only share with users in their groups" -msgstr "Ограничить публикацию группами пользователя" - -#: templates/admin.php:88 -msgid "Log" -msgstr "Журнал" - -#: templates/admin.php:116 -msgid "More" -msgstr "Ещё" - -#: templates/admin.php:124 -msgid "" -"Developed by the ownCloud community, the source code is " -"licensed under the AGPL." -msgstr "Разрабатывается сообществом ownCloud, исходный код доступен под лицензией AGPL." - #: templates/apps.php:10 msgid "Add your App" msgstr "Добавить приложение" #: templates/apps.php:11 msgid "More Apps" -msgstr "" +msgstr "Больше приложений" #: templates/apps.php:27 msgid "Select an App" @@ -220,22 +137,22 @@ msgstr "Управление большими файлами" msgid "Ask a question" msgstr "Задать вопрос" -#: templates/help.php:23 +#: templates/help.php:22 msgid "Problems connecting to help database." msgstr "Проблема соединения с базой данных помощи." -#: templates/help.php:24 +#: templates/help.php:23 msgid "Go there manually." msgstr "Войти самостоятельно." -#: templates/help.php:32 +#: templates/help.php:31 msgid "Answer" msgstr "Ответ" #: templates/personal.php:8 #, php-format -msgid "You have used %s of the available %s" -msgstr "" +msgid "You have used %s of the available %s" +msgstr "Вы использовали %s из доступных %s" #: templates/personal.php:12 msgid "Desktop and Mobile Syncing Clients" @@ -247,7 +164,7 @@ msgstr "Загрузка" #: templates/personal.php:19 msgid "Your password was changed" -msgstr "" +msgstr "Ваш пароль изменён" #: templates/personal.php:20 msgid "Unable to change your password" @@ -293,6 +210,16 @@ msgstr "Помочь с переводом" msgid "use this address to connect to your ownCloud in your file manager" msgstr "используйте данный адрес для подключения к ownCloud в вашем файловом менеджере" +#: templates/personal.php:61 +msgid "" +"Developed by the ownCloud community, the source code is " +"licensed under the AGPL." +msgstr "Разрабатывается сообществом ownCloud, исходный код доступен под лицензией AGPL." + #: templates/users.php:21 templates/users.php:76 msgid "Name" msgstr "Имя" diff --git a/l10n/ru/tasks.po b/l10n/ru/tasks.po deleted file mode 100644 index d7a46fb6a81c1c80c285604b992401aed51d12ee..0000000000000000000000000000000000000000 --- a/l10n/ru/tasks.po +++ /dev/null @@ -1,107 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Denis , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-25 02:04+0200\n" -"PO-Revision-Date: 2012-08-24 07:18+0000\n" -"Last-Translator: Denis \n" -"Language-Team: Russian (http://www.transifex.com/projects/p/owncloud/language/ru/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ru\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" - -#: ajax/update_property.php:51 lib/app.php:89 lib/app.php:101 -msgid "Invalid date/time" -msgstr "Неверные дата/время" - -#: appinfo/app.php:11 -msgid "Tasks" -msgstr "Задачи" - -#: js/tasks.js:415 -msgid "No category" -msgstr "Нет категории" - -#: lib/app.php:33 -msgid "Unspecified" -msgstr "Не указан" - -#: lib/app.php:34 -msgid "1=highest" -msgstr "1=наибольший" - -#: lib/app.php:38 -msgid "5=medium" -msgstr "5=средний" - -#: lib/app.php:42 -msgid "9=lowest" -msgstr "9=наименьший" - -#: lib/app.php:81 -msgid "Empty Summary" -msgstr "Пустая сводка" - -#: lib/app.php:93 -msgid "Invalid percent complete" -msgstr "Неверный процент завершения" - -#: lib/app.php:107 -msgid "Invalid priority" -msgstr "Неверный приоритет" - -#: templates/tasks.php:3 -msgid "Add Task" -msgstr "Добавить задачу" - -#: templates/tasks.php:4 -msgid "Order Due" -msgstr "Срок заказа" - -#: templates/tasks.php:5 -msgid "Order List" -msgstr "Order List" - -#: templates/tasks.php:6 -msgid "Order Complete" -msgstr "Заказ выполнен" - -#: templates/tasks.php:7 -msgid "Order Location" -msgstr "Местонахождение заказа" - -#: templates/tasks.php:8 -msgid "Order Priority" -msgstr "Приоритет заказа" - -#: templates/tasks.php:9 -msgid "Order Label" -msgstr "Метка заказа" - -#: templates/tasks.php:16 -msgid "Loading tasks..." -msgstr "Загрузка задач..." - -#: templates/tasks.php:20 -msgid "Important" -msgstr "Важный" - -#: templates/tasks.php:23 -msgid "More" -msgstr "Больше" - -#: templates/tasks.php:26 -msgid "Less" -msgstr "Меньше" - -#: templates/tasks.php:29 -msgid "Delete" -msgstr "Удалить" diff --git a/l10n/ru/user_migrate.po b/l10n/ru/user_migrate.po deleted file mode 100644 index 79fd4f0cfa1539ed4fb51e8c3a5b73f2628f5260..0000000000000000000000000000000000000000 --- a/l10n/ru/user_migrate.po +++ /dev/null @@ -1,52 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Denis , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-25 02:04+0200\n" -"PO-Revision-Date: 2012-08-24 07:55+0000\n" -"Last-Translator: Denis \n" -"Language-Team: Russian (http://www.transifex.com/projects/p/owncloud/language/ru/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ru\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" - -#: js/export.js:14 js/export.js:20 -msgid "Export" -msgstr "Экспорт" - -#: js/export.js:19 -msgid "Something went wrong while the export file was being generated" -msgstr "В процессе создания файла экспорта что-то пошло не так" - -#: js/export.js:19 -msgid "An error has occurred" -msgstr "Произошла ошибка" - -#: templates/settings.php:2 -msgid "Export your user account" -msgstr "Экспортировать ваш аккаунт пользователя" - -#: templates/settings.php:3 -msgid "" -"This will create a compressed file that contains your ownCloud account." -msgstr "Будет создан сжатый файл, содержащий ваш аккаунт ownCloud" - -#: templates/settings.php:13 -msgid "Import user account" -msgstr "Импортировать аккаунт пользователя" - -#: templates/settings.php:15 -msgid "ownCloud User Zip" -msgstr "Архив пользователя ownCloud" - -#: templates/settings.php:17 -msgid "Import" -msgstr "Импорт" diff --git a/l10n/ru/user_openid.po b/l10n/ru/user_openid.po deleted file mode 100644 index 22feb4f2913146f58e4d2ef5581b46a36bdb84d1..0000000000000000000000000000000000000000 --- a/l10n/ru/user_openid.po +++ /dev/null @@ -1,55 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Denis , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-25 02:04+0200\n" -"PO-Revision-Date: 2012-08-24 07:00+0000\n" -"Last-Translator: Denis \n" -"Language-Team: Russian (http://www.transifex.com/projects/p/owncloud/language/ru/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: ru\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" - -#: templates/nomode.php:12 -msgid "This is an OpenID server endpoint. For more information, see " -msgstr "Это точка подключения сервера OpenID. Для информации смотрите" - -#: templates/nomode.php:14 -msgid "Identity: " -msgstr "Личность: " - -#: templates/nomode.php:15 -msgid "Realm: " -msgstr "Realm: " - -#: templates/nomode.php:16 -msgid "User: " -msgstr "Пользователь: " - -#: templates/nomode.php:17 -msgid "Login" -msgstr "Логин" - -#: templates/nomode.php:22 -msgid "Error: No user Selected" -msgstr "Ошибка: Пользователь не выбран" - -#: templates/settings.php:4 -msgid "you can authenticate to other sites with this address" -msgstr "вы можете аутентифицироваться на других сайтах с этим адресом" - -#: templates/settings.php:5 -msgid "Authorized OpenID provider" -msgstr "Авторизованный провайдер OpenID" - -#: templates/settings.php:6 -msgid "Your address at Wordpress, Identi.ca, …" -msgstr "Ваш адрес в Wordpress, Identi.ca, …" diff --git a/l10n/ru/impress.po b/l10n/ru/user_webdavauth.po similarity index 63% rename from l10n/ru/impress.po rename to l10n/ru/user_webdavauth.po index 4154c7b9485e943657c2c7387c90cf3a3daa05c6..19babe4e2ba2276f7335c4ef3dd63bdf35367836 100644 --- a/l10n/ru/impress.po +++ b/l10n/ru/user_webdavauth.po @@ -3,20 +3,21 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 01:17+0200\n" -"PO-Revision-Date: 2012-08-25 23:18+0000\n" -"Last-Translator: FULL NAME \n" +"POT-Creation-Date: 2012-11-10 00:01+0100\n" +"PO-Revision-Date: 2012-11-09 12:27+0000\n" +"Last-Translator: skoptev \n" "Language-Team: Russian (http://www.transifex.com/projects/p/owncloud/language/ru/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: ru\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" +"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" -#: templates/presentations.php:7 -msgid "Documentation" -msgstr "" +#: templates/settings.php:4 +msgid "WebDAV URL: http://" +msgstr "WebDAV URL: http://" diff --git a/l10n/ru_RU/core.po b/l10n/ru_RU/core.po index 67a197166912a53988cb8706319c1f2cdde3cd37..329ea8e6df9bc1325df6b3f037232477f03c3828 100644 --- a/l10n/ru_RU/core.po +++ b/l10n/ru_RU/core.po @@ -8,9 +8,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-16 02:04+0200\n" -"PO-Revision-Date: 2012-10-16 00:05+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-11-16 00:02+0100\n" +"PO-Revision-Date: 2012-11-15 11:29+0000\n" +"Last-Translator: AnnaSch \n" "Language-Team: Russian (Russia) (http://www.transifex.com/projects/p/owncloud/language/ru_RU/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -18,209 +18,241 @@ msgstr "" "Language: ru_RU\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" -#: ajax/vcategories/add.php:23 ajax/vcategories/delete.php:23 -msgid "Application name not provided." -msgstr "Имя приложения не предоставлено." +#: ajax/vcategories/add.php:26 ajax/vcategories/edit.php:25 +msgid "Category type not provided." +msgstr "Тип категории не предоставлен." -#: ajax/vcategories/add.php:29 +#: ajax/vcategories/add.php:30 msgid "No category to add?" msgstr "Нет категории для добавления?" -#: ajax/vcategories/add.php:36 +#: ajax/vcategories/add.php:37 msgid "This category already exists: " msgstr "Эта категория уже существует:" -#: js/js.js:238 templates/layout.user.php:49 templates/layout.user.php:50 +#: ajax/vcategories/addToFavorites.php:26 ajax/vcategories/delete.php:27 +#: ajax/vcategories/favorites.php:24 +#: ajax/vcategories/removeFromFavorites.php:26 +msgid "Object type not provided." +msgstr "Тип объекта не предоставлен." + +#: ajax/vcategories/addToFavorites.php:30 +#: ajax/vcategories/removeFromFavorites.php:30 +#, php-format +msgid "%s ID not provided." +msgstr "%s ID не предоставлен." + +#: ajax/vcategories/addToFavorites.php:35 +#, php-format +msgid "Error adding %s to favorites." +msgstr "Ошибка добавления %s в избранное." + +#: ajax/vcategories/delete.php:35 js/oc-vcategories.js:136 +msgid "No categories selected for deletion." +msgstr "Нет категорий, выбранных для удаления." + +#: ajax/vcategories/removeFromFavorites.php:35 +#, php-format +msgid "Error removing %s from favorites." +msgstr "Ошибка удаления %s из избранного." + +#: js/js.js:243 templates/layout.user.php:59 templates/layout.user.php:60 msgid "Settings" msgstr "Настройки" -#: js/js.js:670 -msgid "January" -msgstr "Январь" +#: js/js.js:688 +msgid "seconds ago" +msgstr "секунд назад" -#: js/js.js:670 -msgid "February" -msgstr "Февраль" +#: js/js.js:689 +msgid "1 minute ago" +msgstr " 1 минуту назад" -#: js/js.js:670 -msgid "March" -msgstr "Март" +#: js/js.js:690 +msgid "{minutes} minutes ago" +msgstr "{минуты} минут назад" -#: js/js.js:670 -msgid "April" -msgstr "Апрель" +#: js/js.js:691 +msgid "1 hour ago" +msgstr "1 час назад" -#: js/js.js:670 -msgid "May" -msgstr "Май" +#: js/js.js:692 +msgid "{hours} hours ago" +msgstr "{часы} часов назад" -#: js/js.js:670 -msgid "June" -msgstr "Июнь" +#: js/js.js:693 +msgid "today" +msgstr "сегодня" -#: js/js.js:671 -msgid "July" -msgstr "Июль" +#: js/js.js:694 +msgid "yesterday" +msgstr "вчера" -#: js/js.js:671 -msgid "August" -msgstr "Август" +#: js/js.js:695 +msgid "{days} days ago" +msgstr "{дни} дней назад" -#: js/js.js:671 -msgid "September" -msgstr "Сентябрь" +#: js/js.js:696 +msgid "last month" +msgstr "в прошлом месяце" -#: js/js.js:671 -msgid "October" -msgstr "Октябрь" +#: js/js.js:697 +msgid "{months} months ago" +msgstr "{месяцы} месяцев назад" -#: js/js.js:671 -msgid "November" -msgstr "Ноябрь" +#: js/js.js:698 +msgid "months ago" +msgstr "месяц назад" -#: js/js.js:671 -msgid "December" -msgstr "Декабрь" +#: js/js.js:699 +msgid "last year" +msgstr "в прошлом году" -#: js/oc-dialogs.js:123 +#: js/js.js:700 +msgid "years ago" +msgstr "лет назад" + +#: js/oc-dialogs.js:126 msgid "Choose" msgstr "Выбрать" -#: js/oc-dialogs.js:143 js/oc-dialogs.js:163 +#: js/oc-dialogs.js:146 js/oc-dialogs.js:166 msgid "Cancel" msgstr "Отмена" -#: js/oc-dialogs.js:159 +#: js/oc-dialogs.js:162 msgid "No" msgstr "Нет" -#: js/oc-dialogs.js:160 +#: js/oc-dialogs.js:163 msgid "Yes" msgstr "Да" -#: js/oc-dialogs.js:177 +#: js/oc-dialogs.js:180 msgid "Ok" msgstr "Да" -#: js/oc-vcategories.js:68 -msgid "No categories selected for deletion." -msgstr "Нет категорий, выбранных для удаления." +#: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102 +#: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162 +msgid "The object type is not specified." +msgstr "Тип объекта не указан." -#: js/oc-vcategories.js:68 js/share.js:114 js/share.js:121 js/share.js:497 -#: js/share.js:509 +#: js/oc-vcategories.js:95 js/oc-vcategories.js:125 js/oc-vcategories.js:136 +#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:525 +#: js/share.js:537 msgid "Error" msgstr "Ошибка" -#: js/share.js:103 +#: js/oc-vcategories.js:179 +msgid "The app name is not specified." +msgstr "Имя приложения не указано." + +#: js/oc-vcategories.js:194 +msgid "The required file {file} is not installed!" +msgstr "Требуемый файл {файл} не установлен!" + +#: js/share.js:124 msgid "Error while sharing" msgstr "Ошибка создания общего доступа" -#: js/share.js:114 +#: js/share.js:135 msgid "Error while unsharing" msgstr "Ошибка отключения общего доступа" -#: js/share.js:121 +#: js/share.js:142 msgid "Error while changing permissions" msgstr "Ошибка при изменении прав доступа" -#: js/share.js:130 -msgid "Shared with you and the group" -msgstr "" - -#: js/share.js:130 -msgid "by" -msgstr "" +#: js/share.js:151 +msgid "Shared with you and the group {group} by {owner}" +msgstr "Опубликовано для Вас и группы {группа} {собственник}" -#: js/share.js:132 -msgid "Shared with you by" -msgstr "" +#: js/share.js:153 +msgid "Shared with you by {owner}" +msgstr "Опубликовано для Вас {собственник}" -#: js/share.js:137 +#: js/share.js:158 msgid "Share with" msgstr "Сделать общим с" -#: js/share.js:142 +#: js/share.js:163 msgid "Share with link" -msgstr "" +msgstr "Опубликовать с ссылкой" -#: js/share.js:143 +#: js/share.js:164 msgid "Password protect" msgstr "Защитить паролем" -#: js/share.js:147 templates/installation.php:42 templates/login.php:24 +#: js/share.js:168 templates/installation.php:42 templates/login.php:24 #: templates/verify.php:13 msgid "Password" msgstr "Пароль" -#: js/share.js:152 +#: js/share.js:173 msgid "Set expiration date" msgstr "Установить срок действия" -#: js/share.js:153 +#: js/share.js:174 msgid "Expiration date" msgstr "Дата истечения срока действия" -#: js/share.js:185 +#: js/share.js:206 msgid "Share via email:" -msgstr "" +msgstr "Сделать общедоступным посредством email:" -#: js/share.js:187 +#: js/share.js:208 msgid "No people found" msgstr "Не найдено людей" -#: js/share.js:214 +#: js/share.js:235 msgid "Resharing is not allowed" msgstr "Рекурсивный общий доступ не разрешен" -#: js/share.js:250 -msgid "Shared in" -msgstr "" - -#: js/share.js:250 -msgid "with" -msgstr "с" - #: js/share.js:271 +msgid "Shared in {item} with {user}" +msgstr "Совместное использование в {объект} с {пользователь}" + +#: js/share.js:292 msgid "Unshare" msgstr "Отключить общий доступ" -#: js/share.js:283 +#: js/share.js:304 msgid "can edit" msgstr "возможно редактирование" -#: js/share.js:285 +#: js/share.js:306 msgid "access control" msgstr "контроль доступа" -#: js/share.js:288 +#: js/share.js:309 msgid "create" msgstr "создать" -#: js/share.js:291 +#: js/share.js:312 msgid "update" msgstr "обновить" -#: js/share.js:294 +#: js/share.js:315 msgid "delete" msgstr "удалить" -#: js/share.js:297 +#: js/share.js:318 msgid "share" msgstr "сделать общим" -#: js/share.js:322 js/share.js:484 +#: js/share.js:343 js/share.js:512 js/share.js:514 msgid "Password protected" msgstr "Пароль защищен" -#: js/share.js:497 +#: js/share.js:525 msgid "Error unsetting expiration date" -msgstr "" +msgstr "Ошибка при отключении даты истечения срока действия" -#: js/share.js:509 +#: js/share.js:537 msgid "Error setting expiration date" -msgstr "" +msgstr "Ошибка при установке даты истечения срока действия" -#: lostpassword/index.php:26 +#: lostpassword/controller.php:47 msgid "ownCloud password reset" msgstr "Переназначение пароля" @@ -233,12 +265,12 @@ msgid "You will receive a link to reset your password via Email." msgstr "Вы получите ссылку для восстановления пароля по электронной почте." #: lostpassword/templates/lostpassword.php:5 -msgid "Requested" -msgstr "Запрашиваемое" +msgid "Reset email send." +msgstr "Сброс отправки email." #: lostpassword/templates/lostpassword.php:8 -msgid "Login failed!" -msgstr "Войти не удалось!" +msgid "Request failed!" +msgstr "Не удалось выполнить запрос!" #: lostpassword/templates/lostpassword.php:11 templates/installation.php:38 #: templates/login.php:20 @@ -297,25 +329,25 @@ msgstr "Облако не найдено" msgid "Edit categories" msgstr "Редактирование категорий" -#: templates/edit_categories_dialog.php:14 +#: templates/edit_categories_dialog.php:16 msgid "Add" msgstr "Добавить" #: templates/installation.php:23 templates/installation.php:31 msgid "Security Warning" -msgstr "" +msgstr "Предупреждение системы безопасности" #: templates/installation.php:24 msgid "" "No secure random number generator is available, please enable the PHP " "OpenSSL extension." -msgstr "" +msgstr "Нет доступного защищенного генератора случайных чисел, пожалуйста, включите расширение PHP OpenSSL." #: templates/installation.php:26 msgid "" "Without a secure random number generator an attacker may be able to predict " "password reset tokens and take over your account." -msgstr "" +msgstr "Без защищенного генератора случайных чисел злоумышленник может спрогнозировать пароль, сбросить учетные данные и завладеть Вашим аккаунтом." #: templates/installation.php:32 msgid "" @@ -324,7 +356,7 @@ msgid "" "strongly suggest that you configure your webserver in a way that the data " "directory is no longer accessible or you move the data directory outside the" " webserver document root." -msgstr "" +msgstr "Ваши каталоги данных и файлы, вероятно, доступны из Интернета. Файл .htaccess, предоставляемый ownCloud, не работает. Мы настоятельно рекомендуем Вам настроить вебсервер таким образом, чтобы каталоги данных больше не были доступны, или переместить их за пределы корневого каталога документов веб-сервера." #: templates/installation.php:36 msgid "Create an admin account" @@ -371,27 +403,103 @@ msgstr "Сервер базы данных" msgid "Finish setup" msgstr "Завершение настройки" -#: templates/layout.guest.php:38 +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Sunday" +msgstr "Воскресенье" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Monday" +msgstr "Понедельник" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Tuesday" +msgstr "Вторник" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Wednesday" +msgstr "Среда" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Thursday" +msgstr "Четверг" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Friday" +msgstr "Пятница" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Saturday" +msgstr "Суббота" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "January" +msgstr "Январь" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "February" +msgstr "Февраль" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "March" +msgstr "Март" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "April" +msgstr "Апрель" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "May" +msgstr "Май" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "June" +msgstr "Июнь" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "July" +msgstr "Июль" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "August" +msgstr "Август" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "September" +msgstr "Сентябрь" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "October" +msgstr "Октябрь" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "November" +msgstr "Ноябрь" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "December" +msgstr "Декабрь" + +#: templates/layout.guest.php:41 msgid "web services under your control" msgstr "веб-сервисы под Вашим контролем" -#: templates/layout.user.php:34 +#: templates/layout.user.php:44 msgid "Log out" msgstr "Выйти" #: templates/login.php:8 msgid "Automatic logon rejected!" -msgstr "" +msgstr "Автоматический вход в систему отклонен!" #: templates/login.php:9 msgid "" "If you did not change your password recently, your account may be " "compromised!" -msgstr "" +msgstr "Если Вы недавно не меняли пароль, Ваш аккаунт может быть подвергнут опасности!" #: templates/login.php:10 msgid "Please change your password to secure your account again." -msgstr "" +msgstr "Пожалуйста, измените пароль, чтобы защитить ваш аккаунт еще раз." #: templates/login.php:15 msgid "Lost your password?" @@ -419,14 +527,14 @@ msgstr "следующий" #: templates/verify.php:5 msgid "Security Warning!" -msgstr "" +msgstr "Предупреждение системы безопасности!" #: templates/verify.php:6 msgid "" "Please verify your password.
For security reasons you may be " "occasionally asked to enter your password again." -msgstr "" +msgstr "Пожалуйста, проверьте свой ​​пароль.
По соображениям безопасности Вам может быть иногда предложено ввести пароль еще раз." #: templates/verify.php:16 msgid "Verify" -msgstr "" +msgstr "Проверить" diff --git a/l10n/ru_RU/files.po b/l10n/ru_RU/files.po index 4951fe271a7eb431a1ec9cbb9a04a918c31b001f..b330223c8c28aa8cc1b5f61505965eebbb140bda 100644 --- a/l10n/ru_RU/files.po +++ b/l10n/ru_RU/files.po @@ -4,13 +4,14 @@ # # Translators: # , 2012. +# , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-11 02:04+0200\n" -"PO-Revision-Date: 2012-10-10 13:26+0000\n" -"Last-Translator: AnnaSch \n" +"POT-Creation-Date: 2012-12-01 00:01+0100\n" +"PO-Revision-Date: 2012-11-30 23:02+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Russian (Russia) (http://www.transifex.com/projects/p/owncloud/language/ru_RU/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -23,195 +24,166 @@ msgid "There is no error, the file uploaded with success" msgstr "Ошибка отсутствует, файл загружен успешно." #: ajax/upload.php:21 -msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" -msgstr "Размер загруженного файла превышает заданный в директиве upload_max_filesize в php.ini" +msgid "" +"The uploaded file exceeds the upload_max_filesize directive in php.ini: " +msgstr "" -#: ajax/upload.php:22 +#: ajax/upload.php:23 msgid "" "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " "the HTML form" msgstr "Размер загруженного" -#: ajax/upload.php:23 +#: ajax/upload.php:25 msgid "The uploaded file was only partially uploaded" msgstr "Загружаемый файл был загружен частично" -#: ajax/upload.php:24 +#: ajax/upload.php:26 msgid "No file was uploaded" msgstr "Файл не был загружен" -#: ajax/upload.php:25 +#: ajax/upload.php:27 msgid "Missing a temporary folder" msgstr "Отсутствует временная папка" -#: ajax/upload.php:26 +#: ajax/upload.php:28 msgid "Failed to write to disk" msgstr "Не удалось записать на диск" -#: appinfo/app.php:6 +#: appinfo/app.php:10 msgid "Files" msgstr "Файлы" -#: js/fileactions.js:108 templates/index.php:62 +#: js/fileactions.js:117 templates/index.php:83 templates/index.php:84 msgid "Unshare" msgstr "Скрыть" -#: js/fileactions.js:110 templates/index.php:64 +#: js/fileactions.js:119 templates/index.php:89 templates/index.php:90 msgid "Delete" msgstr "Удалить" -#: js/fileactions.js:182 +#: js/fileactions.js:181 msgid "Rename" msgstr "Переименовать" -#: js/filelist.js:192 js/filelist.js:194 -msgid "already exists" -msgstr "уже существует" +#: js/filelist.js:201 js/filelist.js:203 +msgid "{new_name} already exists" +msgstr "{новое_имя} уже существует" -#: js/filelist.js:192 js/filelist.js:194 +#: js/filelist.js:201 js/filelist.js:203 msgid "replace" msgstr "отмена" -#: js/filelist.js:192 +#: js/filelist.js:201 msgid "suggest name" msgstr "подобрать название" -#: js/filelist.js:192 js/filelist.js:194 +#: js/filelist.js:201 js/filelist.js:203 msgid "cancel" msgstr "отменить" -#: js/filelist.js:241 js/filelist.js:243 -msgid "replaced" -msgstr "заменено" +#: js/filelist.js:250 +msgid "replaced {new_name}" +msgstr "заменено {новое_имя}" -#: js/filelist.js:241 js/filelist.js:243 js/filelist.js:275 js/filelist.js:277 +#: js/filelist.js:250 js/filelist.js:252 js/filelist.js:284 js/filelist.js:286 msgid "undo" msgstr "отменить действие" -#: js/filelist.js:243 -msgid "with" -msgstr "с" +#: js/filelist.js:252 +msgid "replaced {new_name} with {old_name}" +msgstr "заменено {новое_имя} с {старое_имя}" -#: js/filelist.js:275 -msgid "unshared" -msgstr "скрытый" +#: js/filelist.js:284 +msgid "unshared {files}" +msgstr "Cовместное использование прекращено {файлы}" -#: js/filelist.js:277 -msgid "deleted" -msgstr "удалено" +#: js/filelist.js:286 +msgid "deleted {files}" +msgstr "удалено {файлы}" -#: js/files.js:179 +#: js/files.js:33 +msgid "" +"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not " +"allowed." +msgstr "Некорректное имя, '\\', '/', '<', '>', ':', '\"', '|', '?' и '*' не допустимы." + +#: js/files.js:183 msgid "generating ZIP-file, it may take some time." msgstr "Создание ZIP-файла, это может занять некоторое время." -#: js/files.js:214 +#: js/files.js:218 msgid "Unable to upload your file as it is a directory or has 0 bytes" msgstr "Невозможно загрузить файл,\n так как он имеет нулевой размер или является директорией" -#: js/files.js:214 +#: js/files.js:218 msgid "Upload Error" msgstr "Ошибка загрузки" -#: js/files.js:242 js/files.js:347 js/files.js:377 +#: js/files.js:235 +msgid "Close" +msgstr "Закрыть" + +#: js/files.js:254 js/files.js:368 js/files.js:398 msgid "Pending" msgstr "Ожидающий решения" -#: js/files.js:262 +#: js/files.js:274 msgid "1 file uploading" msgstr "загрузка 1 файла" -#: js/files.js:265 js/files.js:310 js/files.js:325 -msgid "files uploading" -msgstr "загрузка файлов" +#: js/files.js:277 js/files.js:331 js/files.js:346 +msgid "{count} files uploading" +msgstr "{количество} загружено файлов" -#: js/files.js:328 js/files.js:361 +#: js/files.js:349 js/files.js:382 msgid "Upload cancelled." msgstr "Загрузка отменена" -#: js/files.js:430 +#: js/files.js:451 msgid "" "File upload is in progress. Leaving the page now will cancel the upload." msgstr "Процесс загрузки файла. Если покинуть страницу сейчас, загрузка будет отменена." -#: js/files.js:500 -msgid "Invalid name, '/' is not allowed." -msgstr "Неправильное имя, '/' не допускается." +#: js/files.js:523 +msgid "Invalid folder name. Usage of \"Shared\" is reserved by Owncloud" +msgstr "Некорректное имя папки. Нименование \"Опубликовано\" зарезервировано ownCloud" -#: js/files.js:681 -msgid "files scanned" -msgstr "файлы отсканированы" +#: js/files.js:704 +msgid "{count} files scanned" +msgstr "{количество} файлов отсканировано" -#: js/files.js:689 +#: js/files.js:712 msgid "error while scanning" msgstr "ошибка при сканировании" -#: js/files.js:762 templates/index.php:48 +#: js/files.js:785 templates/index.php:65 msgid "Name" msgstr "Имя" -#: js/files.js:763 templates/index.php:56 +#: js/files.js:786 templates/index.php:76 msgid "Size" msgstr "Размер" -#: js/files.js:764 templates/index.php:58 +#: js/files.js:787 templates/index.php:78 msgid "Modified" msgstr "Изменен" -#: js/files.js:791 -msgid "folder" -msgstr "папка" - -#: js/files.js:793 -msgid "folders" -msgstr "папки" - -#: js/files.js:801 -msgid "file" -msgstr "файл" - -#: js/files.js:803 -msgid "files" -msgstr "файлы" - -#: js/files.js:847 -msgid "seconds ago" -msgstr "секунд назад" - -#: js/files.js:848 -msgid "minute ago" -msgstr "минуту назад" +#: js/files.js:814 +msgid "1 folder" +msgstr "1 папка" -#: js/files.js:849 -msgid "minutes ago" -msgstr "минут назад" +#: js/files.js:816 +msgid "{count} folders" +msgstr "{количество} папок" -#: js/files.js:852 -msgid "today" -msgstr "сегодня" +#: js/files.js:824 +msgid "1 file" +msgstr "1 файл" -#: js/files.js:853 -msgid "yesterday" -msgstr "вчера" - -#: js/files.js:854 -msgid "days ago" -msgstr "дней назад" - -#: js/files.js:855 -msgid "last month" -msgstr "в прошлом месяце" - -#: js/files.js:857 -msgid "months ago" -msgstr "месяцев назад" - -#: js/files.js:858 -msgid "last year" -msgstr "в прошлом году" - -#: js/files.js:859 -msgid "years ago" -msgstr "лет назад" +#: js/files.js:826 +msgid "{count} files" +msgstr "{количество} файлов" #: templates/admin.php:5 msgid "File handling" @@ -221,27 +193,27 @@ msgstr "Работа с файлами" msgid "Maximum upload size" msgstr "Максимальный размер загружаемого файла" -#: templates/admin.php:7 +#: templates/admin.php:9 msgid "max. possible: " msgstr "Максимально возможный" -#: templates/admin.php:9 +#: templates/admin.php:12 msgid "Needed for multi-file and folder downloads." msgstr "Необходимо для множественной загрузки." -#: templates/admin.php:9 +#: templates/admin.php:14 msgid "Enable ZIP-download" msgstr "Включение ZIP-загрузки" -#: templates/admin.php:11 +#: templates/admin.php:17 msgid "0 is unlimited" msgstr "0 без ограничений" -#: templates/admin.php:12 +#: templates/admin.php:19 msgid "Maximum input size for ZIP files" msgstr "Максимальный размер входящих ZIP-файлов " -#: templates/admin.php:14 +#: templates/admin.php:23 msgid "Save" msgstr "Сохранить" @@ -249,52 +221,48 @@ msgstr "Сохранить" msgid "New" msgstr "Новый" -#: templates/index.php:9 +#: templates/index.php:10 msgid "Text file" msgstr "Текстовый файл" -#: templates/index.php:10 +#: templates/index.php:12 msgid "Folder" msgstr "Папка" -#: templates/index.php:11 -msgid "From url" -msgstr "Из url" +#: templates/index.php:14 +msgid "From link" +msgstr "По ссылке" -#: templates/index.php:20 +#: templates/index.php:35 msgid "Upload" msgstr "Загрузить " -#: templates/index.php:27 +#: templates/index.php:43 msgid "Cancel upload" msgstr "Отмена загрузки" -#: templates/index.php:40 +#: templates/index.php:57 msgid "Nothing in here. Upload something!" msgstr "Здесь ничего нет. Загрузите что-нибудь!" -#: templates/index.php:50 -msgid "Share" -msgstr "Сделать общим" - -#: templates/index.php:52 +#: templates/index.php:71 msgid "Download" msgstr "Загрузить" -#: templates/index.php:75 +#: templates/index.php:103 msgid "Upload too large" msgstr "Загрузка слишком велика" -#: templates/index.php:77 +#: templates/index.php:105 msgid "" "The files you are trying to upload exceed the maximum size for file uploads " "on this server." msgstr "Размер файлов, которые Вы пытаетесь загрузить, превышает максимально допустимый размер для загрузки на данный сервер." -#: templates/index.php:82 +#: templates/index.php:110 msgid "Files are being scanned, please wait." msgstr "Файлы сканируются, пожалуйста, подождите." -#: templates/index.php:85 +#: templates/index.php:113 msgid "Current scanning" msgstr "Текущее сканирование" diff --git a/l10n/ru_RU/files_external.po b/l10n/ru_RU/files_external.po index e0902a23493d71903333f6e26bf86358808fcfe4..df9df7ab0cd9d31f2358d84308757eafb0b8f534 100644 --- a/l10n/ru_RU/files_external.po +++ b/l10n/ru_RU/files_external.po @@ -8,9 +8,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-12 02:03+0200\n" -"PO-Revision-Date: 2012-10-11 08:45+0000\n" -"Last-Translator: AnnaSch \n" +"POT-Creation-Date: 2012-12-12 00:12+0100\n" +"PO-Revision-Date: 2012-12-11 23:13+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Russian (Russia) (http://www.transifex.com/projects/p/owncloud/language/ru_RU/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -42,66 +42,80 @@ msgstr "Пожалуйста представьте допустимый клю msgid "Error configuring Google Drive storage" msgstr "Ошибка настройки хранилища Google Drive" +#: lib/config.php:434 +msgid "" +"Warning: \"smbclient\" is not installed. Mounting of CIFS/SMB shares " +"is not possible. Please ask your system administrator to install it." +msgstr "" + +#: lib/config.php:435 +msgid "" +"Warning: The FTP support in PHP is not enabled or installed. Mounting" +" of FTP shares is not possible. Please ask your system administrator to " +"install it." +msgstr "" + #: templates/settings.php:3 msgid "External Storage" msgstr "Внешние системы хранения данных" -#: templates/settings.php:7 templates/settings.php:19 +#: templates/settings.php:8 templates/settings.php:22 msgid "Mount point" msgstr "Точка монтирования" -#: templates/settings.php:8 +#: templates/settings.php:9 msgid "Backend" msgstr "Бэкэнд" -#: templates/settings.php:9 +#: templates/settings.php:10 msgid "Configuration" msgstr "Конфигурация" -#: templates/settings.php:10 +#: templates/settings.php:11 msgid "Options" msgstr "Опции" -#: templates/settings.php:11 +#: templates/settings.php:12 msgid "Applicable" msgstr "Применимый" -#: templates/settings.php:23 +#: templates/settings.php:27 msgid "Add mount point" msgstr "Добавить точку монтирования" -#: templates/settings.php:54 templates/settings.php:62 +#: templates/settings.php:85 msgid "None set" msgstr "Не задан" -#: templates/settings.php:63 +#: templates/settings.php:86 msgid "All Users" msgstr "Все пользователи" -#: templates/settings.php:64 +#: templates/settings.php:87 msgid "Groups" msgstr "Группы" -#: templates/settings.php:69 +#: templates/settings.php:95 msgid "Users" msgstr "Пользователи" -#: templates/settings.php:77 templates/settings.php:107 +#: templates/settings.php:108 templates/settings.php:109 +#: templates/settings.php:149 templates/settings.php:150 msgid "Delete" msgstr "Удалить" -#: templates/settings.php:87 +#: templates/settings.php:124 msgid "Enable User External Storage" msgstr "Включить пользовательскую внешнюю систему хранения данных" -#: templates/settings.php:88 +#: templates/settings.php:125 msgid "Allow users to mount their own external storage" msgstr "Разрешить пользователям монтировать их собственную внешнюю систему хранения данных" -#: templates/settings.php:99 +#: templates/settings.php:139 msgid "SSL root certificates" msgstr "Корневые сертификаты SSL" -#: templates/settings.php:113 +#: templates/settings.php:158 msgid "Import Root Certificate" msgstr "Импортировать корневые сертификаты" diff --git a/l10n/ru_RU/files_versions.po b/l10n/ru_RU/files_versions.po index cb0853d718cd2f68b720c25c9496653d0862567b..241dfcc0e912ce1a744c3c93879ec050a18f74e7 100644 --- a/l10n/ru_RU/files_versions.po +++ b/l10n/ru_RU/files_versions.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-11 02:04+0200\n" -"PO-Revision-Date: 2012-10-10 13:22+0000\n" +"POT-Creation-Date: 2012-11-17 00:01+0100\n" +"PO-Revision-Date: 2012-11-16 07:25+0000\n" "Last-Translator: AnnaSch \n" "Language-Team: Russian (Russia) (http://www.transifex.com/projects/p/owncloud/language/ru_RU/)\n" "MIME-Version: 1.0\n" @@ -32,7 +32,7 @@ msgstr "Версии" #: templates/settings-personal.php:7 msgid "This will delete all existing backup versions of your files" -msgstr "Это приведет к удалению всех существующих версий резервной копии ваших файлов" +msgstr "Это приведет к удалению всех существующих версий резервной копии Ваших файлов" #: templates/settings.php:3 msgid "Files Versioning" diff --git a/l10n/ru_RU/lib.po b/l10n/ru_RU/lib.po index 50b1f6524e2be1af3872d865d15f4e94ff3a677e..5ca45d27ad239861ca080a5218bcd773c2fa13b7 100644 --- a/l10n/ru_RU/lib.po +++ b/l10n/ru_RU/lib.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-12 02:04+0200\n" -"PO-Revision-Date: 2012-10-11 08:16+0000\n" +"POT-Creation-Date: 2012-11-16 00:02+0100\n" +"PO-Revision-Date: 2012-11-15 09:27+0000\n" "Last-Translator: AnnaSch \n" "Language-Team: Russian (Russia) (http://www.transifex.com/projects/p/owncloud/language/ru_RU/)\n" "MIME-Version: 1.0\n" @@ -42,19 +42,19 @@ msgstr "Приложения" msgid "Admin" msgstr "Админ" -#: files.php:328 +#: files.php:332 msgid "ZIP download is turned off." msgstr "Загрузка ZIP выключена." -#: files.php:329 +#: files.php:333 msgid "Files need to be downloaded one by one." msgstr "Файлы должны быть загружены один за другим." -#: files.php:329 files.php:354 +#: files.php:333 files.php:358 msgid "Back to Files" msgstr "Обратно к файлам" -#: files.php:353 +#: files.php:357 msgid "Selected files too large to generate zip file." msgstr "Выбранные файлы слишком велики для генерации zip-архива." @@ -62,7 +62,7 @@ msgstr "Выбранные файлы слишком велики для ген msgid "Application is not enabled" msgstr "Приложение не запущено" -#: json.php:39 json.php:63 json.php:75 +#: json.php:39 json.php:64 json.php:77 json.php:89 msgid "Authentication error" msgstr "Ошибка аутентификации" @@ -70,45 +70,67 @@ msgstr "Ошибка аутентификации" msgid "Token expired. Please reload page." msgstr "Маркер истек. Пожалуйста, перезагрузите страницу." -#: template.php:87 +#: search/provider/file.php:17 search/provider/file.php:35 +msgid "Files" +msgstr "Файлы" + +#: search/provider/file.php:26 search/provider/file.php:33 +msgid "Text" +msgstr "Текст" + +#: search/provider/file.php:29 +msgid "Images" +msgstr "Изображения" + +#: template.php:103 msgid "seconds ago" msgstr "секунд назад" -#: template.php:88 +#: template.php:104 msgid "1 minute ago" msgstr "1 минуту назад" -#: template.php:89 +#: template.php:105 #, php-format msgid "%d minutes ago" msgstr "%d минут назад" -#: template.php:92 +#: template.php:106 +msgid "1 hour ago" +msgstr "1 час назад" + +#: template.php:107 +#, php-format +msgid "%d hours ago" +msgstr "%d часов назад" + +#: template.php:108 msgid "today" msgstr "сегодня" -#: template.php:93 +#: template.php:109 msgid "yesterday" msgstr "вчера" -#: template.php:94 +#: template.php:110 #, php-format msgid "%d days ago" msgstr "%d дней назад" -#: template.php:95 +#: template.php:111 msgid "last month" msgstr "в прошлом месяце" -#: template.php:96 -msgid "months ago" -msgstr "месяц назад" +#: template.php:112 +#, php-format +msgid "%d months ago" +msgstr "%d месяцев назад" -#: template.php:97 +#: template.php:113 msgid "last year" msgstr "в прошлом году" -#: template.php:98 +#: template.php:114 msgid "years ago" msgstr "год назад" @@ -124,3 +146,8 @@ msgstr "до настоящего времени" #: updater.php:80 msgid "updates check is disabled" msgstr "Проверка обновлений отключена" + +#: vcategories.php:188 vcategories.php:249 +#, php-format +msgid "Could not find category \"%s\"" +msgstr "Не удалось найти категорию \"%s\"" diff --git a/l10n/ru_RU/settings.po b/l10n/ru_RU/settings.po index 8da29bcbfeff0b266c5311268f1b827c395cd2fb..fabcb827160f0c76b67ba7e8f4dde61cdde97989 100644 --- a/l10n/ru_RU/settings.po +++ b/l10n/ru_RU/settings.po @@ -8,9 +8,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-12 02:04+0200\n" -"PO-Revision-Date: 2012-10-11 08:13+0000\n" -"Last-Translator: AnnaSch \n" +"POT-Creation-Date: 2012-12-03 00:04+0100\n" +"PO-Revision-Date: 2012-12-02 03:18+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Russian (Russia) (http://www.transifex.com/projects/p/owncloud/language/ru_RU/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -18,70 +18,73 @@ msgstr "" "Language: ru_RU\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" -#: ajax/apps/ocs.php:23 +#: ajax/apps/ocs.php:20 msgid "Unable to load list from App Store" msgstr "Невозможно загрузить список из App Store" -#: ajax/creategroup.php:9 ajax/removeuser.php:18 ajax/setquota.php:18 -#: ajax/togglegroups.php:15 -msgid "Authentication error" -msgstr "Ошибка авторизации" - -#: ajax/creategroup.php:19 +#: ajax/creategroup.php:10 msgid "Group already exists" msgstr "Группа уже существует" -#: ajax/creategroup.php:28 +#: ajax/creategroup.php:19 msgid "Unable to add group" msgstr "Невозможно добавить группу" -#: ajax/enableapp.php:14 +#: ajax/enableapp.php:12 msgid "Could not enable app. " msgstr "Не удалось запустить приложение" -#: ajax/lostpassword.php:14 +#: ajax/lostpassword.php:12 msgid "Email saved" msgstr "Email сохранен" -#: ajax/lostpassword.php:16 +#: ajax/lostpassword.php:14 msgid "Invalid email" msgstr "Неверный email" -#: ajax/openid.php:16 +#: ajax/openid.php:13 msgid "OpenID Changed" msgstr "OpenID изменен" -#: ajax/openid.php:18 ajax/setlanguage.php:20 ajax/setlanguage.php:23 +#: ajax/openid.php:15 ajax/setlanguage.php:17 ajax/setlanguage.php:20 msgid "Invalid request" msgstr "Неверный запрос" -#: ajax/removegroup.php:16 +#: ajax/removegroup.php:13 msgid "Unable to delete group" msgstr "Невозможно удалить группу" -#: ajax/removeuser.php:27 +#: ajax/removeuser.php:15 ajax/setquota.php:15 ajax/togglegroups.php:18 +msgid "Authentication error" +msgstr "Ошибка авторизации" + +#: ajax/removeuser.php:24 msgid "Unable to delete user" msgstr "Невозможно удалить пользователя" -#: ajax/setlanguage.php:18 +#: ajax/setlanguage.php:15 msgid "Language changed" msgstr "Язык изменен" -#: ajax/togglegroups.php:25 +#: ajax/togglegroups.php:12 +msgid "Admins can't remove themself from the admin group" +msgstr "" + +#: ajax/togglegroups.php:28 #, php-format msgid "Unable to add user to group %s" msgstr "Невозможно добавить пользователя в группу %s" -#: ajax/togglegroups.php:31 +#: ajax/togglegroups.php:34 #, php-format msgid "Unable to remove user from group %s" msgstr "Невозможно удалить пользователя из группы %s" -#: js/apps.js:28 js/apps.js:65 +#: js/apps.js:28 js/apps.js:67 msgid "Disable" msgstr "Отключить" -#: js/apps.js:28 js/apps.js:54 +#: js/apps.js:28 js/apps.js:55 msgid "Enable" msgstr "Включить" @@ -89,97 +92,10 @@ msgstr "Включить" msgid "Saving..." msgstr "Сохранение" -#: personal.php:47 personal.php:48 +#: personal.php:42 personal.php:43 msgid "__language_name__" msgstr "__язык_имя__" -#: templates/admin.php:14 -msgid "Security Warning" -msgstr "Предупреждение системы безопасности" - -#: templates/admin.php:17 -msgid "" -"Your data directory and your files are probably accessible from the " -"internet. The .htaccess file that ownCloud provides is not working. We " -"strongly suggest that you configure your webserver in a way that the data " -"directory is no longer accessible or you move the data directory outside the" -" webserver document root." -msgstr "Ваш каталог данных и файлы возможно доступны из Интернета. Файл .htaccess, предоставляемый ownCloud, не работает. Мы настоятельно рекомендуем Вам настроить сервер таким образом, чтобы каталог данных был бы больше не доступен, или переместить каталог данных за пределы корневой папки веб-сервера." - -#: templates/admin.php:31 -msgid "Cron" -msgstr "Cron" - -#: templates/admin.php:37 -msgid "Execute one task with each page loaded" -msgstr "Выполняйте одну задачу на каждой загружаемой странице" - -#: templates/admin.php:43 -msgid "" -"cron.php is registered at a webcron service. Call the cron.php page in the " -"owncloud root once a minute over http." -msgstr "cron.php зарегистрирован в службе webcron. Обращайтесь к странице cron.php в корне owncloud раз в минуту по http." - -#: templates/admin.php:49 -msgid "" -"Use systems cron service. Call the cron.php file in the owncloud folder via " -"a system cronjob once a minute." -msgstr "Используйте системный сервис cron. Исполняйте файл cron.php в папке owncloud с помощью системы cronjob раз в минуту." - -#: templates/admin.php:56 -msgid "Sharing" -msgstr "Совместное использование" - -#: templates/admin.php:61 -msgid "Enable Share API" -msgstr "Включить разделяемые API" - -#: templates/admin.php:62 -msgid "Allow apps to use the Share API" -msgstr "Разрешить приложениям использовать Share API" - -#: templates/admin.php:67 -msgid "Allow links" -msgstr "Предоставить ссылки" - -#: templates/admin.php:68 -msgid "Allow users to share items to the public with links" -msgstr "Позволяет пользователям добавлять объекты в общий доступ по ссылке" - -#: templates/admin.php:73 -msgid "Allow resharing" -msgstr "Разрешить повторное совместное использование" - -#: templates/admin.php:74 -msgid "Allow users to share items shared with them again" -msgstr "" - -#: templates/admin.php:79 -msgid "Allow users to share with anyone" -msgstr "Разрешить пользователям разделение с кем-либо" - -#: templates/admin.php:81 -msgid "Allow users to only share with users in their groups" -msgstr "Разрешить пользователям разделение только с пользователями в их группах" - -#: templates/admin.php:88 -msgid "Log" -msgstr "Вход" - -#: templates/admin.php:116 -msgid "More" -msgstr "Подробнее" - -#: templates/admin.php:124 -msgid "" -"Developed by the ownCloud community, the source code is " -"licensed under the AGPL." -msgstr "Разработанный ownCloud community, the source code is licensed under the AGPL." - #: templates/apps.php:10 msgid "Add your App" msgstr "Добавить Ваше приложение" @@ -212,22 +128,22 @@ msgstr "Управление большими файлами" msgid "Ask a question" msgstr "Задать вопрос" -#: templates/help.php:23 +#: templates/help.php:22 msgid "Problems connecting to help database." msgstr "Проблемы, связанные с разделом Помощь базы данных" -#: templates/help.php:24 +#: templates/help.php:23 msgid "Go there manually." msgstr "Сделать вручную." -#: templates/help.php:32 +#: templates/help.php:31 msgid "Answer" msgstr "Ответ" #: templates/personal.php:8 #, php-format -msgid "You have used %s of the available %s" -msgstr "Вы использовали %s из доступных%s" +msgid "You have used %s of the available %s" +msgstr "Вы использовали %s из возможных %s" #: templates/personal.php:12 msgid "Desktop and Mobile Syncing Clients" @@ -285,6 +201,16 @@ msgstr "Помогите перевести" msgid "use this address to connect to your ownCloud in your file manager" msgstr "Используйте этот адрес для соединения с Вашим ownCloud в файловом менеджере" +#: templates/personal.php:61 +msgid "" +"Developed by the ownCloud community, the source code is " +"licensed under the AGPL." +msgstr "Разработанный ownCloud community, the source code is licensed under the AGPL." + #: templates/users.php:21 templates/users.php:76 msgid "Name" msgstr "Имя" diff --git a/l10n/lt_LT/impress.po b/l10n/ru_RU/user_webdavauth.po similarity index 50% rename from l10n/lt_LT/impress.po rename to l10n/ru_RU/user_webdavauth.po index 8aaf1712b0d92ab8dc26b7016eef52fc784d4e60..9a511532b8e93234f625e3c486a98db854b4cfa4 100644 --- a/l10n/lt_LT/impress.po +++ b/l10n/ru_RU/user_webdavauth.po @@ -3,20 +3,21 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 01:17+0200\n" -"PO-Revision-Date: 2012-08-25 23:18+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Lithuanian (Lithuania) (http://www.transifex.com/projects/p/owncloud/language/lt_LT/)\n" +"POT-Creation-Date: 2012-11-10 00:01+0100\n" +"PO-Revision-Date: 2012-11-09 12:40+0000\n" +"Last-Translator: skoptev \n" +"Language-Team: Russian (Russia) (http://www.transifex.com/projects/p/owncloud/language/ru_RU/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: lt_LT\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2)\n" +"Language: ru_RU\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" -#: templates/presentations.php:7 -msgid "Documentation" -msgstr "" +#: templates/settings.php:4 +msgid "WebDAV URL: http://" +msgstr "WebDAV URL: http://" diff --git a/l10n/si_LK/core.po b/l10n/si_LK/core.po index ff4b345ed830186d0ea36b25c9d7221f689a7f23..d6d9ac72efbb0a851fde2bda91d3e2a96d586b1c 100644 --- a/l10n/si_LK/core.po +++ b/l10n/si_LK/core.po @@ -3,14 +3,16 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# Anushke Guneratne , 2012. # Chamara Disanayake , 2012. +# , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-16 02:04+0200\n" -"PO-Revision-Date: 2012-10-16 00:05+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-11-16 00:02+0100\n" +"PO-Revision-Date: 2012-11-14 23:13+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Sinhala (Sri Lanka) (http://www.transifex.com/projects/p/owncloud/language/si_LK/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -18,211 +20,243 @@ msgstr "" "Language: si_LK\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: ajax/vcategories/add.php:23 ajax/vcategories/delete.php:23 -msgid "Application name not provided." -msgstr "යෙදුම් නාමය සපයා නැත." +#: ajax/vcategories/add.php:26 ajax/vcategories/edit.php:25 +msgid "Category type not provided." +msgstr "" -#: ajax/vcategories/add.php:29 +#: ajax/vcategories/add.php:30 msgid "No category to add?" msgstr "" -#: ajax/vcategories/add.php:36 +#: ajax/vcategories/add.php:37 msgid "This category already exists: " msgstr "" -#: js/js.js:238 templates/layout.user.php:49 templates/layout.user.php:50 +#: ajax/vcategories/addToFavorites.php:26 ajax/vcategories/delete.php:27 +#: ajax/vcategories/favorites.php:24 +#: ajax/vcategories/removeFromFavorites.php:26 +msgid "Object type not provided." +msgstr "" + +#: ajax/vcategories/addToFavorites.php:30 +#: ajax/vcategories/removeFromFavorites.php:30 +#, php-format +msgid "%s ID not provided." +msgstr "" + +#: ajax/vcategories/addToFavorites.php:35 +#, php-format +msgid "Error adding %s to favorites." +msgstr "" + +#: ajax/vcategories/delete.php:35 js/oc-vcategories.js:136 +msgid "No categories selected for deletion." +msgstr "මකා දැමීම සඳහා ප්‍රවර්ගයන් තෝරා නොමැත." + +#: ajax/vcategories/removeFromFavorites.php:35 +#, php-format +msgid "Error removing %s from favorites." +msgstr "" + +#: js/js.js:243 templates/layout.user.php:59 templates/layout.user.php:60 msgid "Settings" msgstr "සැකසුම්" -#: js/js.js:670 -msgid "January" -msgstr "ජනවාරි" +#: js/js.js:688 +msgid "seconds ago" +msgstr "තත්පරයන්ට පෙර" -#: js/js.js:670 -msgid "February" -msgstr "පෙබරවාරි" +#: js/js.js:689 +msgid "1 minute ago" +msgstr "1 මිනිත්තුවකට පෙර" -#: js/js.js:670 -msgid "March" -msgstr "මාර්තු" +#: js/js.js:690 +msgid "{minutes} minutes ago" +msgstr "" -#: js/js.js:670 -msgid "April" -msgstr "අප්‍රේල්" +#: js/js.js:691 +msgid "1 hour ago" +msgstr "" -#: js/js.js:670 -msgid "May" -msgstr "මැයි" +#: js/js.js:692 +msgid "{hours} hours ago" +msgstr "" -#: js/js.js:670 -msgid "June" -msgstr "ජූනි" +#: js/js.js:693 +msgid "today" +msgstr "අද" -#: js/js.js:671 -msgid "July" -msgstr "ජූලි" +#: js/js.js:694 +msgid "yesterday" +msgstr "ඊයේ" -#: js/js.js:671 -msgid "August" -msgstr "අගෝස්තු" +#: js/js.js:695 +msgid "{days} days ago" +msgstr "" -#: js/js.js:671 -msgid "September" -msgstr "සැප්තැම්බර්" +#: js/js.js:696 +msgid "last month" +msgstr "පෙර මාසයේ" -#: js/js.js:671 -msgid "October" -msgstr "ඔක්තෝබර්" +#: js/js.js:697 +msgid "{months} months ago" +msgstr "" -#: js/js.js:671 -msgid "November" -msgstr "නොවැම්බර්" +#: js/js.js:698 +msgid "months ago" +msgstr "මාස කීපයකට පෙර" -#: js/js.js:671 -msgid "December" -msgstr "දෙසැම්බර්" +#: js/js.js:699 +msgid "last year" +msgstr "පෙර අවුරුද්දේ" + +#: js/js.js:700 +msgid "years ago" +msgstr "අවුරුදු කීපයකට පෙර" -#: js/oc-dialogs.js:123 +#: js/oc-dialogs.js:126 msgid "Choose" msgstr "තෝරන්න" -#: js/oc-dialogs.js:143 js/oc-dialogs.js:163 +#: js/oc-dialogs.js:146 js/oc-dialogs.js:166 msgid "Cancel" msgstr "එපා" -#: js/oc-dialogs.js:159 +#: js/oc-dialogs.js:162 msgid "No" msgstr "නැහැ" -#: js/oc-dialogs.js:160 +#: js/oc-dialogs.js:163 msgid "Yes" msgstr "ඔව්" -#: js/oc-dialogs.js:177 +#: js/oc-dialogs.js:180 msgid "Ok" msgstr "හරි" -#: js/oc-vcategories.js:68 -msgid "No categories selected for deletion." +#: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102 +#: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162 +msgid "The object type is not specified." msgstr "" -#: js/oc-vcategories.js:68 js/share.js:114 js/share.js:121 js/share.js:497 -#: js/share.js:509 +#: js/oc-vcategories.js:95 js/oc-vcategories.js:125 js/oc-vcategories.js:136 +#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:525 +#: js/share.js:537 msgid "Error" +msgstr "දෝෂයක්" + +#: js/oc-vcategories.js:179 +msgid "The app name is not specified." +msgstr "" + +#: js/oc-vcategories.js:194 +msgid "The required file {file} is not installed!" msgstr "" -#: js/share.js:103 +#: js/share.js:124 msgid "Error while sharing" msgstr "" -#: js/share.js:114 +#: js/share.js:135 msgid "Error while unsharing" msgstr "" -#: js/share.js:121 +#: js/share.js:142 msgid "Error while changing permissions" msgstr "" -#: js/share.js:130 -msgid "Shared with you and the group" -msgstr "" - -#: js/share.js:130 -msgid "by" +#: js/share.js:151 +msgid "Shared with you and the group {group} by {owner}" msgstr "" -#: js/share.js:132 -msgid "Shared with you by" +#: js/share.js:153 +msgid "Shared with you by {owner}" msgstr "" -#: js/share.js:137 +#: js/share.js:158 msgid "Share with" -msgstr "" +msgstr "බෙදාගන්න" -#: js/share.js:142 +#: js/share.js:163 msgid "Share with link" -msgstr "" +msgstr "යොමුවක් මඟින් බෙදාගන්න" -#: js/share.js:143 +#: js/share.js:164 msgid "Password protect" -msgstr "" +msgstr "මුර පදයකින් ආරක්ශාකරන්න" -#: js/share.js:147 templates/installation.php:42 templates/login.php:24 +#: js/share.js:168 templates/installation.php:42 templates/login.php:24 #: templates/verify.php:13 msgid "Password" msgstr "මුර පදය " -#: js/share.js:152 +#: js/share.js:173 msgid "Set expiration date" -msgstr "" +msgstr "කල් ඉකුත් විමේ දිනය දමන්න" -#: js/share.js:153 +#: js/share.js:174 msgid "Expiration date" -msgstr "" +msgstr "කල් ඉකුත් විමේ දිනය" -#: js/share.js:185 +#: js/share.js:206 msgid "Share via email:" -msgstr "" +msgstr "විද්‍යුත් තැපෑල මඟින් බෙදාගන්න: " -#: js/share.js:187 +#: js/share.js:208 msgid "No people found" msgstr "" -#: js/share.js:214 +#: js/share.js:235 msgid "Resharing is not allowed" msgstr "" -#: js/share.js:250 -msgid "Shared in" -msgstr "" - -#: js/share.js:250 -msgid "with" +#: js/share.js:271 +msgid "Shared in {item} with {user}" msgstr "" -#: js/share.js:271 +#: js/share.js:292 msgid "Unshare" -msgstr "" +msgstr "නොබෙදු" -#: js/share.js:283 +#: js/share.js:304 msgid "can edit" -msgstr "" +msgstr "සංස්කරණය කළ හැක" -#: js/share.js:285 +#: js/share.js:306 msgid "access control" -msgstr "" +msgstr "ප්‍රවේශ පාලනය" -#: js/share.js:288 +#: js/share.js:309 msgid "create" -msgstr "" +msgstr "සදන්න" -#: js/share.js:291 +#: js/share.js:312 msgid "update" -msgstr "" +msgstr "යාවත්කාලීන කරන්න" -#: js/share.js:294 +#: js/share.js:315 msgid "delete" -msgstr "" +msgstr "මකන්න" -#: js/share.js:297 +#: js/share.js:318 msgid "share" -msgstr "" +msgstr "බෙදාහදාගන්න" -#: js/share.js:322 js/share.js:484 +#: js/share.js:343 js/share.js:512 js/share.js:514 msgid "Password protected" -msgstr "" +msgstr "මුර පදයකින් ආරක්ශාකර ඇත" -#: js/share.js:497 +#: js/share.js:525 msgid "Error unsetting expiration date" -msgstr "" +msgstr "කල් ඉකුත් දිනය ඉවත් කිරීමේ දෝෂයක්" -#: js/share.js:509 +#: js/share.js:537 msgid "Error setting expiration date" -msgstr "" +msgstr "කල් ඉකුත් දිනය ස්ථාපනය කිරීමේ දෝෂයක්" -#: lostpassword/index.php:26 +#: lostpassword/controller.php:47 msgid "ownCloud password reset" -msgstr "" +msgstr "ownCloud මුරපදය ප්‍රත්‍යාරම්භ කරන්න" #: lostpassword/templates/email.php:2 msgid "Use the following link to reset your password: {link}" @@ -230,20 +264,20 @@ msgstr "" #: lostpassword/templates/lostpassword.php:3 msgid "You will receive a link to reset your password via Email." -msgstr "" +msgstr "ඔබගේ මුරපදය ප්‍රත්‍යාරම්භ කිරීම සඳහා යොමුව විද්‍යුත් තැපෑලෙන් ලැබෙනු ඇත" #: lostpassword/templates/lostpassword.php:5 -msgid "Requested" +msgid "Reset email send." msgstr "" #: lostpassword/templates/lostpassword.php:8 -msgid "Login failed!" -msgstr "" +msgid "Request failed!" +msgstr "ඉල්ලීම අසාර්ථකයි!" #: lostpassword/templates/lostpassword.php:11 templates/installation.php:38 #: templates/login.php:20 msgid "Username" -msgstr "" +msgstr "පරිශීලක නම" #: lostpassword/templates/lostpassword.php:14 msgid "Request reset" @@ -251,7 +285,7 @@ msgstr "" #: lostpassword/templates/resetpassword.php:4 msgid "Your password was reset" -msgstr "" +msgstr "ඔබේ මුරපදය ප්‍රත්‍යාරම්භ කරන ලදී" #: lostpassword/templates/resetpassword.php:5 msgid "To login page" @@ -263,15 +297,15 @@ msgstr "නව මුර පදයක්" #: lostpassword/templates/resetpassword.php:11 msgid "Reset password" -msgstr "" +msgstr "මුරපදය ප්‍රත්‍යාරම්භ කරන්න" #: strings.php:5 msgid "Personal" -msgstr "" +msgstr "පෞද්ගලික" #: strings.php:6 msgid "Users" -msgstr "" +msgstr "පරිශීලකයන්" #: strings.php:7 msgid "Apps" @@ -279,7 +313,7 @@ msgstr "යෙදුම්" #: strings.php:8 msgid "Admin" -msgstr "" +msgstr "පරිපාලක" #: strings.php:9 msgid "Help" @@ -287,23 +321,23 @@ msgstr "උදව්" #: templates/403.php:12 msgid "Access forbidden" -msgstr "" +msgstr "ඇතුල් වීම තහනම්" #: templates/404.php:12 msgid "Cloud not found" -msgstr "" +msgstr "සොයා ගත නොහැක" #: templates/edit_categories_dialog.php:4 msgid "Edit categories" -msgstr "" +msgstr "ප්‍රභේදයන් සංස්කරණය" -#: templates/edit_categories_dialog.php:14 +#: templates/edit_categories_dialog.php:16 msgid "Add" msgstr "එක් කරන්න" #: templates/installation.php:23 templates/installation.php:31 msgid "Security Warning" -msgstr "" +msgstr "ආරක්ෂක නිවේදනයක්" #: templates/installation.php:24 msgid "" @@ -315,7 +349,7 @@ msgstr "" msgid "" "Without a secure random number generator an attacker may be able to predict " "password reset tokens and take over your account." -msgstr "" +msgstr "ආරක්ෂිත අහඹු සංඛ්‍යා උත්පාදකයක් නොමැති නම් ඔබගේ ගිණුමට පහරදෙන අයකුට එහි මුරපද යළි පිහිටුවීමට අවශ්‍ය ටෝකන පහසුවෙන් සොයාගෙන ඔබගේ ගිණුම පැහැරගත හැක." #: templates/installation.php:32 msgid "" @@ -324,7 +358,7 @@ msgid "" "strongly suggest that you configure your webserver in a way that the data " "directory is no longer accessible or you move the data directory outside the" " webserver document root." -msgstr "" +msgstr "ඔබගේ දත්ත ඩිරෙක්ටරිය හා ගොනුවලට අන්තර්ජාලයෙන් පිවිසිය හැක. ownCloud සපයා ඇති .htaccess ගොනුව ක්‍රියාකරන්නේ නැත. අපි තරයේ කියා සිටිනුයේ නම්, මෙම දත්ත හා ගොනු එසේ පිවිසීමට නොහැකි වන ලෙස ඔබේ වෙබ් සේවාදායකයා වින්‍යාස කරන ලෙස හෝ එම ඩිරෙක්ටරිය වෙබ් මූලයෙන් පිටතට ගෙනයන ලෙසය." #: templates/installation.php:36 msgid "Create an admin account" @@ -332,7 +366,7 @@ msgstr "" #: templates/installation.php:48 msgid "Advanced" -msgstr "" +msgstr "දියුණු/උසස්" #: templates/installation.php:50 msgid "Data folder" @@ -340,24 +374,24 @@ msgstr "දත්ත ෆෝල්ඩරය" #: templates/installation.php:57 msgid "Configure the database" -msgstr "" +msgstr "දත්ත සමුදාය හැඩගැසීම" #: templates/installation.php:62 templates/installation.php:73 #: templates/installation.php:83 templates/installation.php:93 msgid "will be used" -msgstr "" +msgstr "භාවිතා වනු ඇත" #: templates/installation.php:105 msgid "Database user" -msgstr "" +msgstr "දත්තගබඩා භාවිතාකරු" #: templates/installation.php:109 msgid "Database password" -msgstr "" +msgstr "දත්තගබඩාවේ මුරපදය" #: templates/installation.php:113 msgid "Database name" -msgstr "" +msgstr "දත්තගබඩාවේ නම" #: templates/installation.php:121 msgid "Database tablespace" @@ -365,19 +399,95 @@ msgstr "" #: templates/installation.php:127 msgid "Database host" -msgstr "" +msgstr "දත්තගබඩා සේවාදායකයා" #: templates/installation.php:132 msgid "Finish setup" -msgstr "" +msgstr "ස්ථාපනය කිරීම අවසන් කරන්න" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Sunday" +msgstr "ඉරිදා" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Monday" +msgstr "සඳුදා" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Tuesday" +msgstr "අඟහරුවාදා" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Wednesday" +msgstr "බදාදා" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Thursday" +msgstr "බ්‍රහස්පතින්දා" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Friday" +msgstr "සිකුරාදා" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Saturday" +msgstr "සෙනසුරාදා" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "January" +msgstr "ජනවාරි" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "February" +msgstr "පෙබරවාරි" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "March" +msgstr "මාර්තු" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "April" +msgstr "අප්‍රේල්" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "May" +msgstr "මැයි" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "June" +msgstr "ජූනි" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "July" +msgstr "ජූලි" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "August" +msgstr "අගෝස්තු" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "September" +msgstr "සැප්තැම්බර්" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "October" +msgstr "ඔක්තෝබර්" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "November" +msgstr "නොවැම්බර්" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "December" +msgstr "දෙසැම්බර්" -#: templates/layout.guest.php:38 +#: templates/layout.guest.php:41 msgid "web services under your control" -msgstr "" +msgstr "ඔබට පාලනය කළ හැකි වෙබ් සේවාවන්" -#: templates/layout.user.php:34 +#: templates/layout.user.php:44 msgid "Log out" -msgstr "" +msgstr "නික්මීම" #: templates/login.php:8 msgid "Automatic logon rejected!" @@ -395,23 +505,23 @@ msgstr "" #: templates/login.php:15 msgid "Lost your password?" -msgstr "" +msgstr "මුරපදය අමතකද?" #: templates/login.php:27 msgid "remember" -msgstr "" +msgstr "මතක තබාගන්න" #: templates/login.php:28 msgid "Log in" -msgstr "" +msgstr "ප්‍රවේශවන්න" #: templates/logout.php:1 msgid "You are logged out." -msgstr "" +msgstr "ඔබ නික්මී ඇත." #: templates/part.pagenavi.php:3 msgid "prev" -msgstr "" +msgstr "පෙර" #: templates/part.pagenavi.php:20 msgid "next" diff --git a/l10n/si_LK/files.po b/l10n/si_LK/files.po index 0b5e050f8c035962a1996c5d65b34e5ffe495e56..0f0bb6776b0300a83af7efcb555d2b2095426f47 100644 --- a/l10n/si_LK/files.po +++ b/l10n/si_LK/files.po @@ -3,14 +3,15 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# Anushke Guneratne , 2012. # Chamara Disanayake , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-16 02:03+0200\n" -"PO-Revision-Date: 2012-10-15 10:48+0000\n" -"Last-Translator: Chamara Disanayake \n" +"POT-Creation-Date: 2012-12-01 00:01+0100\n" +"PO-Revision-Date: 2012-11-30 23:02+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Sinhala (Sri Lanka) (http://www.transifex.com/projects/p/owncloud/language/si_LK/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -23,278 +24,245 @@ msgid "There is no error, the file uploaded with success" msgstr "නිවැරදි ව ගොනුව උඩුගත කෙරිනි" #: ajax/upload.php:21 -msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" +msgid "" +"The uploaded file exceeds the upload_max_filesize directive in php.ini: " msgstr "" -#: ajax/upload.php:22 +#: ajax/upload.php:23 msgid "" "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " "the HTML form" -msgstr "" +msgstr "උඩුගත කළ ගොනුවේ විශාලත්වය HTML පෝරමයේ නියම කළ ඇති MAX_FILE_SIZE විශාලත්වයට වඩා වැඩිය" -#: ajax/upload.php:23 +#: ajax/upload.php:25 msgid "The uploaded file was only partially uploaded" msgstr "උඩුගත කළ ගොනුවේ කොටසක් පමණක් උඩුගත විය" -#: ajax/upload.php:24 +#: ajax/upload.php:26 msgid "No file was uploaded" msgstr "කිසිදු ගොනවක් උඩුගත නොවිනි" -#: ajax/upload.php:25 +#: ajax/upload.php:27 msgid "Missing a temporary folder" -msgstr "" +msgstr "තාවකාලික ෆොල්ඩරයක් සොයාගත නොහැක" -#: ajax/upload.php:26 +#: ajax/upload.php:28 msgid "Failed to write to disk" -msgstr "" +msgstr "තැටිගත කිරීම අසාර්ථකයි" -#: appinfo/app.php:6 +#: appinfo/app.php:10 msgid "Files" msgstr "ගොනු" -#: js/fileactions.js:108 templates/index.php:62 +#: js/fileactions.js:117 templates/index.php:83 templates/index.php:84 msgid "Unshare" -msgstr "" +msgstr "නොබෙදු" -#: js/fileactions.js:110 templates/index.php:64 +#: js/fileactions.js:119 templates/index.php:89 templates/index.php:90 msgid "Delete" -msgstr "" +msgstr "මකන්න" -#: js/fileactions.js:182 +#: js/fileactions.js:181 msgid "Rename" -msgstr "" +msgstr "නැවත නම් කරන්න" -#: js/filelist.js:192 js/filelist.js:194 -msgid "already exists" +#: js/filelist.js:201 js/filelist.js:203 +msgid "{new_name} already exists" msgstr "" -#: js/filelist.js:192 js/filelist.js:194 +#: js/filelist.js:201 js/filelist.js:203 msgid "replace" -msgstr "" +msgstr "ප්‍රතිස්ථාපනය කරන්න" -#: js/filelist.js:192 +#: js/filelist.js:201 msgid "suggest name" -msgstr "" +msgstr "නමක් යෝජනා කරන්න" -#: js/filelist.js:192 js/filelist.js:194 +#: js/filelist.js:201 js/filelist.js:203 msgid "cancel" -msgstr "" +msgstr "අත් හරින්න" -#: js/filelist.js:241 js/filelist.js:243 -msgid "replaced" +#: js/filelist.js:250 +msgid "replaced {new_name}" msgstr "" -#: js/filelist.js:241 js/filelist.js:243 js/filelist.js:275 js/filelist.js:277 +#: js/filelist.js:250 js/filelist.js:252 js/filelist.js:284 js/filelist.js:286 msgid "undo" +msgstr "නිෂ්ප්‍රභ කරන්න" + +#: js/filelist.js:252 +msgid "replaced {new_name} with {old_name}" msgstr "" -#: js/filelist.js:243 -msgid "with" +#: js/filelist.js:284 +msgid "unshared {files}" msgstr "" -#: js/filelist.js:275 -msgid "unshared" +#: js/filelist.js:286 +msgid "deleted {files}" msgstr "" -#: js/filelist.js:277 -msgid "deleted" +#: js/files.js:33 +msgid "" +"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not " +"allowed." msgstr "" -#: js/files.js:179 +#: js/files.js:183 msgid "generating ZIP-file, it may take some time." -msgstr "" +msgstr "ගොනුවක් සෑදෙමින් පවතී. කෙටි වේලාවක් ගත විය හැක" -#: js/files.js:214 +#: js/files.js:218 msgid "Unable to upload your file as it is a directory or has 0 bytes" msgstr "" -#: js/files.js:214 +#: js/files.js:218 msgid "Upload Error" -msgstr "" +msgstr "උඩුගත කිරීමේ දෝශයක්" + +#: js/files.js:235 +msgid "Close" +msgstr "වසන්න" -#: js/files.js:242 js/files.js:347 js/files.js:377 +#: js/files.js:254 js/files.js:368 js/files.js:398 msgid "Pending" msgstr "" -#: js/files.js:262 +#: js/files.js:274 msgid "1 file uploading" -msgstr "" +msgstr "1 ගොනුවක් උඩගත කෙරේ" -#: js/files.js:265 js/files.js:310 js/files.js:325 -msgid "files uploading" +#: js/files.js:277 js/files.js:331 js/files.js:346 +msgid "{count} files uploading" msgstr "" -#: js/files.js:328 js/files.js:361 +#: js/files.js:349 js/files.js:382 msgid "Upload cancelled." -msgstr "" +msgstr "උඩුගත කිරීම අත් හරින්න ලදී" -#: js/files.js:430 +#: js/files.js:451 msgid "" "File upload is in progress. Leaving the page now will cancel the upload." -msgstr "" +msgstr "උඩුගතකිරීමක් සිදුවේ. පිටුව හැර යාමෙන් එය නැවතෙනු ඇත" -#: js/files.js:500 -msgid "Invalid name, '/' is not allowed." +#: js/files.js:523 +msgid "Invalid folder name. Usage of \"Shared\" is reserved by Owncloud" msgstr "" -#: js/files.js:681 -msgid "files scanned" +#: js/files.js:704 +msgid "{count} files scanned" msgstr "" -#: js/files.js:689 +#: js/files.js:712 msgid "error while scanning" -msgstr "" +msgstr "පරීක්ෂා කිරීමේදී දෝෂයක්" -#: js/files.js:762 templates/index.php:48 +#: js/files.js:785 templates/index.php:65 msgid "Name" msgstr "නම" -#: js/files.js:763 templates/index.php:56 +#: js/files.js:786 templates/index.php:76 msgid "Size" msgstr "ප්‍රමාණය" -#: js/files.js:764 templates/index.php:58 +#: js/files.js:787 templates/index.php:78 msgid "Modified" -msgstr "" - -#: js/files.js:791 -msgid "folder" -msgstr "ෆෝල්ඩරය" - -#: js/files.js:793 -msgid "folders" -msgstr "ෆෝල්ඩර" - -#: js/files.js:801 -msgid "file" -msgstr "ගොනුව" - -#: js/files.js:803 -msgid "files" -msgstr "ගොනු" - -#: js/files.js:847 -msgid "seconds ago" -msgstr "" - -#: js/files.js:848 -msgid "minute ago" -msgstr "" +msgstr "වෙනස් කළ" -#: js/files.js:849 -msgid "minutes ago" -msgstr "" - -#: js/files.js:852 -msgid "today" -msgstr "" - -#: js/files.js:853 -msgid "yesterday" -msgstr "" - -#: js/files.js:854 -msgid "days ago" -msgstr "" - -#: js/files.js:855 -msgid "last month" -msgstr "" +#: js/files.js:814 +msgid "1 folder" +msgstr "1 ෆොල්ඩරයක්" -#: js/files.js:857 -msgid "months ago" +#: js/files.js:816 +msgid "{count} folders" msgstr "" -#: js/files.js:858 -msgid "last year" -msgstr "" +#: js/files.js:824 +msgid "1 file" +msgstr "1 ගොනුවක්" -#: js/files.js:859 -msgid "years ago" +#: js/files.js:826 +msgid "{count} files" msgstr "" #: templates/admin.php:5 msgid "File handling" -msgstr "" +msgstr "ගොනු පරිහරණය" #: templates/admin.php:7 msgid "Maximum upload size" msgstr "උඩුගත කිරීමක උපරිම ප්‍රමාණය" -#: templates/admin.php:7 +#: templates/admin.php:9 msgid "max. possible: " -msgstr "" +msgstr "හැකි උපරිමය:" -#: templates/admin.php:9 +#: templates/admin.php:12 msgid "Needed for multi-file and folder downloads." -msgstr "" +msgstr "බහු-ගොනු හා ෆොල්ඩර බාගත කිරීමට අවශ්‍යයි" -#: templates/admin.php:9 +#: templates/admin.php:14 msgid "Enable ZIP-download" -msgstr "" +msgstr "ZIP-බාගත කිරීම් සක්‍රිය කරන්න" -#: templates/admin.php:11 +#: templates/admin.php:17 msgid "0 is unlimited" -msgstr "" +msgstr "0 යනු සීමාවක් නැති බවය" -#: templates/admin.php:12 +#: templates/admin.php:19 msgid "Maximum input size for ZIP files" -msgstr "" +msgstr "ZIP ගොනු සඳහා දැමිය හැකි උපරිම විශාලතවය" -#: templates/admin.php:14 +#: templates/admin.php:23 msgid "Save" -msgstr "" +msgstr "සුරකින්න" #: templates/index.php:7 msgid "New" msgstr "නව" -#: templates/index.php:9 +#: templates/index.php:10 msgid "Text file" -msgstr "" +msgstr "පෙළ ගොනුව" -#: templates/index.php:10 +#: templates/index.php:12 msgid "Folder" msgstr "ෆෝල්ඩරය" -#: templates/index.php:11 -msgid "From url" -msgstr "" +#: templates/index.php:14 +msgid "From link" +msgstr "යොමුවෙන්" -#: templates/index.php:20 +#: templates/index.php:35 msgid "Upload" msgstr "උඩුගත කිරීම" -#: templates/index.php:27 +#: templates/index.php:43 msgid "Cancel upload" -msgstr "" +msgstr "උඩුගත කිරීම අත් හරින්න" -#: templates/index.php:40 +#: templates/index.php:57 msgid "Nothing in here. Upload something!" msgstr "මෙහි කිසිවක් නොමැත. යමක් උඩුගත කරන්න" -#: templates/index.php:50 -msgid "Share" -msgstr "" - -#: templates/index.php:52 +#: templates/index.php:71 msgid "Download" msgstr "බාගත කිරීම" -#: templates/index.php:75 +#: templates/index.php:103 msgid "Upload too large" -msgstr "" +msgstr "උඩුගත කිරීම විශාල වැඩිය" -#: templates/index.php:77 +#: templates/index.php:105 msgid "" "The files you are trying to upload exceed the maximum size for file uploads " "on this server." -msgstr "" +msgstr "ඔබ උඩුගත කිරීමට තැත් කරන ගොනු මෙම සේවාදායකයා උඩුගත කිරීමට ඉඩදී ඇති උපරිම ගොනු විශාලත්වයට වඩා වැඩිය" -#: templates/index.php:82 +#: templates/index.php:110 msgid "Files are being scanned, please wait." -msgstr "" +msgstr "ගොනු පරික්ෂා කෙරේ. මඳක් රැඳී සිටින්න" -#: templates/index.php:85 +#: templates/index.php:113 msgid "Current scanning" -msgstr "" +msgstr "වර්තමාන පරික්ෂාව" diff --git a/l10n/si_LK/files_encryption.po b/l10n/si_LK/files_encryption.po index b321106d981064180b6370dcf46fdac059ae2b51..7e40f2c3ea731e0a99b5251b4c96e4e7074f6071 100644 --- a/l10n/si_LK/files_encryption.po +++ b/l10n/si_LK/files_encryption.po @@ -3,13 +3,14 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# Anushke Guneratne , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-16 02:03+0200\n" -"PO-Revision-Date: 2012-08-12 22:33+0000\n" -"Last-Translator: FULL NAME \n" +"POT-Creation-Date: 2012-10-20 02:02+0200\n" +"PO-Revision-Date: 2012-10-19 11:00+0000\n" +"Last-Translator: Anushke Guneratne \n" "Language-Team: Sinhala (Sri Lanka) (http://www.transifex.com/projects/p/owncloud/language/si_LK/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -19,16 +20,16 @@ msgstr "" #: templates/settings.php:3 msgid "Encryption" -msgstr "" +msgstr "ගුප්ත කේතනය" #: templates/settings.php:4 msgid "Exclude the following file types from encryption" -msgstr "" +msgstr "මෙම ගොනු වර්ග ගුප්ත කේතනය කිරීමෙන් බැහැරව තබන්න" #: templates/settings.php:5 msgid "None" -msgstr "" +msgstr "කිසිවක් නැත" #: templates/settings.php:10 msgid "Enable Encryption" -msgstr "" +msgstr "ගුප්ත කේතනය සක්‍රිය කරන්න" diff --git a/l10n/si_LK/files_external.po b/l10n/si_LK/files_external.po index 3f565dbbd43e72b102ed9000c4ed22a2ab306f1f..ae4a7f377f57d92959d2ef56bc8128fbd20de801 100644 --- a/l10n/si_LK/files_external.po +++ b/l10n/si_LK/files_external.po @@ -3,13 +3,14 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# Anushke Guneratne , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-16 02:03+0200\n" -"PO-Revision-Date: 2012-08-12 22:34+0000\n" -"Last-Translator: FULL NAME \n" +"POT-Creation-Date: 2012-12-12 00:12+0100\n" +"PO-Revision-Date: 2012-12-11 23:13+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Sinhala (Sri Lanka) (http://www.transifex.com/projects/p/owncloud/language/si_LK/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -19,88 +20,102 @@ msgstr "" #: js/dropbox.js:7 js/dropbox.js:25 js/google.js:7 js/google.js:23 msgid "Access granted" -msgstr "" +msgstr "පිවිසීමට හැක" #: js/dropbox.js:28 js/dropbox.js:74 js/dropbox.js:79 js/dropbox.js:86 msgid "Error configuring Dropbox storage" -msgstr "" +msgstr "Dropbox ගබඩාව වින්‍යාස කිරීමේ දෝශයක් ඇත" #: js/dropbox.js:34 js/dropbox.js:45 js/google.js:31 js/google.js:40 msgid "Grant access" -msgstr "" +msgstr "පිවිසුම ලබාදෙන්න" #: js/dropbox.js:73 js/google.js:72 msgid "Fill out all required fields" -msgstr "" +msgstr "අත්‍යාවශ්‍ය තොරතුරු සියල්ල සම්පුර්ණ කරන්න" #: js/dropbox.js:85 msgid "Please provide a valid Dropbox app key and secret." -msgstr "" +msgstr "කරුණාකර වලංගු Dropbox යෙදුම් යතුරක් හා රහසක් ලබාදෙන්න." #: js/google.js:26 js/google.js:73 js/google.js:78 msgid "Error configuring Google Drive storage" +msgstr "Google Drive ගබඩාව වින්‍යාස කිරීමේ දෝශයක් ඇත" + +#: lib/config.php:434 +msgid "" +"Warning: \"smbclient\" is not installed. Mounting of CIFS/SMB shares " +"is not possible. Please ask your system administrator to install it." +msgstr "" + +#: lib/config.php:435 +msgid "" +"Warning: The FTP support in PHP is not enabled or installed. Mounting" +" of FTP shares is not possible. Please ask your system administrator to " +"install it." msgstr "" #: templates/settings.php:3 msgid "External Storage" -msgstr "" +msgstr "භාහිර ගබඩාව" -#: templates/settings.php:7 templates/settings.php:19 +#: templates/settings.php:8 templates/settings.php:22 msgid "Mount point" -msgstr "" +msgstr "මවුන්ට් කළ ස්ථානය" -#: templates/settings.php:8 +#: templates/settings.php:9 msgid "Backend" -msgstr "" +msgstr "පසු පද්ධතිය" -#: templates/settings.php:9 +#: templates/settings.php:10 msgid "Configuration" -msgstr "" +msgstr "වින්‍යාසය" -#: templates/settings.php:10 +#: templates/settings.php:11 msgid "Options" -msgstr "" +msgstr "විකල්පයන්" -#: templates/settings.php:11 +#: templates/settings.php:12 msgid "Applicable" -msgstr "" +msgstr "අදාළ" -#: templates/settings.php:23 +#: templates/settings.php:27 msgid "Add mount point" -msgstr "" +msgstr "මවුන්ට් කරන ස්ථානයක් එකතු කරන්න" -#: templates/settings.php:54 templates/settings.php:62 +#: templates/settings.php:85 msgid "None set" -msgstr "" +msgstr "කිසිවක් නැත" -#: templates/settings.php:63 +#: templates/settings.php:86 msgid "All Users" -msgstr "" +msgstr "සියළු පරිශීලකයන්" -#: templates/settings.php:64 +#: templates/settings.php:87 msgid "Groups" -msgstr "" +msgstr "කණ්ඩායම්" -#: templates/settings.php:69 +#: templates/settings.php:95 msgid "Users" -msgstr "" +msgstr "පරිශීලකයන්" -#: templates/settings.php:77 templates/settings.php:107 +#: templates/settings.php:108 templates/settings.php:109 +#: templates/settings.php:149 templates/settings.php:150 msgid "Delete" -msgstr "" +msgstr "මකා දමන්න" -#: templates/settings.php:87 +#: templates/settings.php:124 msgid "Enable User External Storage" -msgstr "" +msgstr "පරිශීලක භාහිර ගබඩාවන් සක්‍රිය කරන්න" -#: templates/settings.php:88 +#: templates/settings.php:125 msgid "Allow users to mount their own external storage" -msgstr "" +msgstr "පරිශීලකයන්ට තමාගේම භාහිර ගබඩාවන් මවුන්ට් කිරීමේ අයිතිය දෙන්න" -#: templates/settings.php:99 +#: templates/settings.php:139 msgid "SSL root certificates" -msgstr "" +msgstr "SSL මූල සහතිකයන්" -#: templates/settings.php:113 +#: templates/settings.php:158 msgid "Import Root Certificate" -msgstr "" +msgstr "මූල සහතිකය ආයාත කරන්න" diff --git a/l10n/si_LK/files_sharing.po b/l10n/si_LK/files_sharing.po index fa03702776a61615b9e451a8a1fba624c463088c..6308f9a772fc3f12d7c8f20cb604b88ccf047f1c 100644 --- a/l10n/si_LK/files_sharing.po +++ b/l10n/si_LK/files_sharing.po @@ -3,13 +3,14 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# Anushke Guneratne , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-16 02:03+0200\n" -"PO-Revision-Date: 2012-08-12 22:35+0000\n" -"Last-Translator: FULL NAME \n" +"POT-Creation-Date: 2012-10-23 02:02+0200\n" +"PO-Revision-Date: 2012-10-22 05:59+0000\n" +"Last-Translator: Anushke Guneratne \n" "Language-Team: Sinhala (Sri Lanka) (http://www.transifex.com/projects/p/owncloud/language/si_LK/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -19,30 +20,30 @@ msgstr "" #: templates/authenticate.php:4 msgid "Password" -msgstr "" +msgstr "මුරපදය" #: templates/authenticate.php:6 msgid "Submit" -msgstr "" +msgstr "යොමු කරන්න" #: templates/public.php:9 #, php-format msgid "%s shared the folder %s with you" -msgstr "" +msgstr "%s ඔබව %s ෆෝල්ඩරයට හවුල් කරගත්තේය" #: templates/public.php:11 #, php-format msgid "%s shared the file %s with you" -msgstr "" +msgstr "%s ඔබ සමඟ %s ගොනුව බෙදාහදාගත්තේය" #: templates/public.php:14 templates/public.php:30 msgid "Download" -msgstr "" +msgstr "භාගත කරන්න" #: templates/public.php:29 msgid "No preview available for" -msgstr "" +msgstr "පූර්වදර්ශනයක් නොමැත" #: templates/public.php:35 msgid "web services under your control" -msgstr "" +msgstr "ඔබට පාලනය කළ හැකි වෙබ් සේවාවන්" diff --git a/l10n/si_LK/files_versions.po b/l10n/si_LK/files_versions.po index 41165d9434824846eb65b783a2f97d4c09f3ac28..1d5285a2554d5682bf388f64af74856e6ef9dec6 100644 --- a/l10n/si_LK/files_versions.po +++ b/l10n/si_LK/files_versions.po @@ -3,13 +3,14 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# Anushke Guneratne , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-16 02:03+0200\n" -"PO-Revision-Date: 2012-08-12 22:37+0000\n" -"Last-Translator: FULL NAME \n" +"POT-Creation-Date: 2012-10-20 02:02+0200\n" +"PO-Revision-Date: 2012-10-19 10:27+0000\n" +"Last-Translator: Anushke Guneratne \n" "Language-Team: Sinhala (Sri Lanka) (http://www.transifex.com/projects/p/owncloud/language/si_LK/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -19,24 +20,24 @@ msgstr "" #: js/settings-personal.js:31 templates/settings-personal.php:10 msgid "Expire all versions" -msgstr "" +msgstr "සියලු අනුවාද අවලංගු කරන්න" #: js/versions.js:16 msgid "History" -msgstr "" +msgstr "ඉතිහාසය" #: templates/settings-personal.php:4 msgid "Versions" -msgstr "" +msgstr "අනුවාද" #: templates/settings-personal.php:7 msgid "This will delete all existing backup versions of your files" -msgstr "" +msgstr "මෙයින් ඔබගේ ගොනුවේ රක්ශිත කරනු ලැබු අනුවාද සියල්ල මකා දමනු ලැබේ" #: templates/settings.php:3 msgid "Files Versioning" -msgstr "" +msgstr "ගොනු අනුවාදයන්" #: templates/settings.php:4 msgid "Enable" -msgstr "" +msgstr "සක්‍රිය කරන්න" diff --git a/l10n/si_LK/lib.po b/l10n/si_LK/lib.po index bc62f158cf4bb8060a018fbfae117a5a2a27480c..f798fa5f24e701bc905c8c0e09449dcf5f0f7a84 100644 --- a/l10n/si_LK/lib.po +++ b/l10n/si_LK/lib.po @@ -3,13 +3,15 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# Anushke Guneratne , 2012. +# , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-16 02:04+0200\n" -"PO-Revision-Date: 2012-07-27 22:23+0000\n" -"Last-Translator: FULL NAME \n" +"POT-Creation-Date: 2012-11-16 00:02+0100\n" +"PO-Revision-Date: 2012-11-14 23:13+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Sinhala (Sri Lanka) (http://www.transifex.com/projects/p/owncloud/language/si_LK/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -19,107 +21,134 @@ msgstr "" #: app.php:285 msgid "Help" -msgstr "" +msgstr "උදව්" #: app.php:292 msgid "Personal" -msgstr "" +msgstr "පෞද්ගලික" #: app.php:297 msgid "Settings" -msgstr "" +msgstr "සිටුවම්" #: app.php:302 msgid "Users" -msgstr "" +msgstr "පරිශීලකයන්" #: app.php:309 msgid "Apps" -msgstr "" +msgstr "යෙදුම්" #: app.php:311 msgid "Admin" -msgstr "" +msgstr "පරිපාලක" -#: files.php:328 +#: files.php:332 msgid "ZIP download is turned off." -msgstr "" +msgstr "ZIP භාගත කිරීම් අක්‍රියයි" -#: files.php:329 +#: files.php:333 msgid "Files need to be downloaded one by one." -msgstr "" +msgstr "ගොනු එකින් එක භාගත යුතුයි" -#: files.php:329 files.php:354 +#: files.php:333 files.php:358 msgid "Back to Files" -msgstr "" +msgstr "ගොනු වෙතට නැවත යන්න" -#: files.php:353 +#: files.php:357 msgid "Selected files too large to generate zip file." -msgstr "" +msgstr "තෝරාගත් ගොනු ZIP ගොනුවක් තැනීමට විශාල වැඩිය." #: json.php:28 msgid "Application is not enabled" -msgstr "" +msgstr "යෙදුම සක්‍රිය කර නොමැත" #: json.php:39 json.php:64 json.php:77 json.php:89 msgid "Authentication error" -msgstr "" +msgstr "සත්‍යාපනය කිරීමේ දෝශයක්" #: json.php:51 msgid "Token expired. Please reload page." -msgstr "" +msgstr "ටෝකනය කල් ඉකුත් වී ඇත. පිටුව නැවුම් කරන්න" -#: template.php:87 +#: search/provider/file.php:17 search/provider/file.php:35 +msgid "Files" +msgstr "ගොනු" + +#: search/provider/file.php:26 search/provider/file.php:33 +msgid "Text" +msgstr "පෙළ" + +#: search/provider/file.php:29 +msgid "Images" +msgstr "අනු රූ" + +#: template.php:103 msgid "seconds ago" -msgstr "" +msgstr "තත්පරයන්ට පෙර" -#: template.php:88 +#: template.php:104 msgid "1 minute ago" -msgstr "" +msgstr "1 මිනිත්තුවකට පෙර" -#: template.php:89 +#: template.php:105 #, php-format msgid "%d minutes ago" +msgstr "%d මිනිත්තුවන්ට පෙර" + +#: template.php:106 +msgid "1 hour ago" msgstr "" -#: template.php:92 -msgid "today" +#: template.php:107 +#, php-format +msgid "%d hours ago" msgstr "" -#: template.php:93 +#: template.php:108 +msgid "today" +msgstr "අද" + +#: template.php:109 msgid "yesterday" -msgstr "" +msgstr "ඊයේ" -#: template.php:94 +#: template.php:110 #, php-format msgid "%d days ago" -msgstr "" +msgstr "%d දිනකට පෙර" -#: template.php:95 +#: template.php:111 msgid "last month" -msgstr "" +msgstr "පෙර මාසයේ" -#: template.php:96 -msgid "months ago" +#: template.php:112 +#, php-format +msgid "%d months ago" msgstr "" -#: template.php:97 +#: template.php:113 msgid "last year" -msgstr "" +msgstr "පෙර අවුරුද්දේ" -#: template.php:98 +#: template.php:114 msgid "years ago" -msgstr "" +msgstr "අවුරුදු කීපයකට පෙර" #: updater.php:75 #, php-format msgid "%s is available. Get more information" -msgstr "" +msgstr "%s යොදාගත හැක. තව විස්තර ලබාගන්න" #: updater.php:77 msgid "up to date" -msgstr "" +msgstr "යාවත්කාලීනයි" #: updater.php:80 msgid "updates check is disabled" +msgstr "යාවත්කාලීන බව පරීක්ෂණය අක්‍රියයි" + +#: vcategories.php:188 vcategories.php:249 +#, php-format +msgid "Could not find category \"%s\"" msgstr "" diff --git a/l10n/si_LK/settings.po b/l10n/si_LK/settings.po index fa1e595106e96521487756ef38465477c9b9be89..1bc5f94e9ade91ffff33c3979ab2af433ca20b18 100644 --- a/l10n/si_LK/settings.po +++ b/l10n/si_LK/settings.po @@ -3,14 +3,16 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# Anushke Guneratne , 2012. +# Chamara Disanayake , 2012. # , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-16 02:04+0200\n" -"PO-Revision-Date: 2012-10-15 10:27+0000\n" -"Last-Translator: Thanoja \n" +"POT-Creation-Date: 2012-12-03 00:04+0100\n" +"PO-Revision-Date: 2012-12-02 03:18+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Sinhala (Sri Lanka) (http://www.transifex.com/projects/p/owncloud/language/si_LK/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -18,178 +20,95 @@ msgstr "" "Language: si_LK\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: ajax/apps/ocs.php:23 +#: ajax/apps/ocs.php:20 msgid "Unable to load list from App Store" msgstr "" -#: ajax/creategroup.php:12 +#: ajax/creategroup.php:10 msgid "Group already exists" -msgstr "" +msgstr "කණ්ඩායම දැනටමත් තිබේ" -#: ajax/creategroup.php:21 +#: ajax/creategroup.php:19 msgid "Unable to add group" -msgstr "" +msgstr "කාණඩයක් එක් කළ නොහැකි විය" -#: ajax/enableapp.php:14 +#: ajax/enableapp.php:12 msgid "Could not enable app. " -msgstr "" +msgstr "යෙදුම සක්‍රීය කළ නොහැකි විය." -#: ajax/lostpassword.php:14 +#: ajax/lostpassword.php:12 msgid "Email saved" -msgstr "" +msgstr "වි-තැපෑල සුරකින ලදී" -#: ajax/lostpassword.php:16 +#: ajax/lostpassword.php:14 msgid "Invalid email" -msgstr "" +msgstr "අවලංගු වි-තැපෑල" -#: ajax/openid.php:16 +#: ajax/openid.php:13 msgid "OpenID Changed" -msgstr "" +msgstr "විවෘත හැඳුනුම නැතහොත් OpenID වෙනස්විය." -#: ajax/openid.php:18 ajax/setlanguage.php:20 ajax/setlanguage.php:23 +#: ajax/openid.php:15 ajax/setlanguage.php:17 ajax/setlanguage.php:20 msgid "Invalid request" msgstr "අවලංගු අයදුම" -#: ajax/removegroup.php:16 +#: ajax/removegroup.php:13 msgid "Unable to delete group" -msgstr "" +msgstr "කණ්ඩායම මැකීමට නොහැක" -#: ajax/removeuser.php:18 ajax/setquota.php:18 ajax/togglegroups.php:15 +#: ajax/removeuser.php:15 ajax/setquota.php:15 ajax/togglegroups.php:18 msgid "Authentication error" -msgstr "" +msgstr "සත්‍යාපන දෝෂයක්" -#: ajax/removeuser.php:27 +#: ajax/removeuser.php:24 msgid "Unable to delete user" -msgstr "" +msgstr "පරිශීලකයා මැකීමට නොහැක" -#: ajax/setlanguage.php:18 +#: ajax/setlanguage.php:15 msgid "Language changed" msgstr "භාෂාව ාවනස් කිරීම" -#: ajax/togglegroups.php:25 +#: ajax/togglegroups.php:12 +msgid "Admins can't remove themself from the admin group" +msgstr "" + +#: ajax/togglegroups.php:28 #, php-format msgid "Unable to add user to group %s" -msgstr "" +msgstr "පරිශීලකයා %s කණ්ඩායමට එකතු කළ නොහැක" -#: ajax/togglegroups.php:31 +#: ajax/togglegroups.php:34 #, php-format msgid "Unable to remove user from group %s" -msgstr "" +msgstr "පරිශීලකයා %s කණ්ඩායමින් ඉවත් කළ නොහැක" -#: js/apps.js:28 js/apps.js:65 +#: js/apps.js:28 js/apps.js:67 msgid "Disable" -msgstr "" +msgstr "අක්‍රිය කරන්න" -#: js/apps.js:28 js/apps.js:54 +#: js/apps.js:28 js/apps.js:55 msgid "Enable" -msgstr "" +msgstr "ක්‍රියත්මක කරන්න" #: js/personal.js:69 msgid "Saving..." -msgstr "" +msgstr "සුරැකෙමින් පවතී..." #: personal.php:42 personal.php:43 msgid "__language_name__" msgstr "" -#: templates/admin.php:14 -msgid "Security Warning" -msgstr "" - -#: templates/admin.php:17 -msgid "" -"Your data directory and your files are probably accessible from the " -"internet. The .htaccess file that ownCloud provides is not working. We " -"strongly suggest that you configure your webserver in a way that the data " -"directory is no longer accessible or you move the data directory outside the" -" webserver document root." -msgstr "" - -#: templates/admin.php:31 -msgid "Cron" -msgstr "" - -#: templates/admin.php:37 -msgid "Execute one task with each page loaded" -msgstr "" - -#: templates/admin.php:43 -msgid "" -"cron.php is registered at a webcron service. Call the cron.php page in the " -"owncloud root once a minute over http." -msgstr "" - -#: templates/admin.php:49 -msgid "" -"Use systems cron service. Call the cron.php file in the owncloud folder via " -"a system cronjob once a minute." -msgstr "" - -#: templates/admin.php:56 -msgid "Sharing" -msgstr "" - -#: templates/admin.php:61 -msgid "Enable Share API" -msgstr "" - -#: templates/admin.php:62 -msgid "Allow apps to use the Share API" -msgstr "" - -#: templates/admin.php:67 -msgid "Allow links" -msgstr "" - -#: templates/admin.php:68 -msgid "Allow users to share items to the public with links" -msgstr "" - -#: templates/admin.php:73 -msgid "Allow resharing" -msgstr "" - -#: templates/admin.php:74 -msgid "Allow users to share items shared with them again" -msgstr "" - -#: templates/admin.php:79 -msgid "Allow users to share with anyone" -msgstr "" - -#: templates/admin.php:81 -msgid "Allow users to only share with users in their groups" -msgstr "" - -#: templates/admin.php:88 -msgid "Log" -msgstr "" - -#: templates/admin.php:116 -msgid "More" -msgstr "" - -#: templates/admin.php:124 -msgid "" -"Developed by the ownCloud community, the source code is " -"licensed under the AGPL." -msgstr "" - #: templates/apps.php:10 msgid "Add your App" -msgstr "" +msgstr "යෙදුමක් එක් කිරීම" #: templates/apps.php:11 msgid "More Apps" -msgstr "" +msgstr "තවත් යෙදුම්" #: templates/apps.php:27 msgid "Select an App" -msgstr "" +msgstr "යෙදුමක් තොරන්න" #: templates/apps.php:31 msgid "See application page at apps.owncloud.com" @@ -201,31 +120,31 @@ msgstr "" #: templates/help.php:9 msgid "Documentation" -msgstr "" +msgstr "ලේඛන" #: templates/help.php:10 msgid "Managing Big Files" -msgstr "" +msgstr "විශාල ගොනු කළමණාකරනය" #: templates/help.php:11 msgid "Ask a question" -msgstr "" +msgstr "ප්‍රශ්ණයක් අසන්න" -#: templates/help.php:23 +#: templates/help.php:22 msgid "Problems connecting to help database." -msgstr "" +msgstr "උදව් දත්ත ගබඩාව හා සම්බන්ධවීමේදී ගැටළු ඇතිවිය." -#: templates/help.php:24 +#: templates/help.php:23 msgid "Go there manually." -msgstr "" +msgstr "ස්වශක්තියෙන් එතැනට යන්න" -#: templates/help.php:32 +#: templates/help.php:31 msgid "Answer" msgstr "පිළිතුර" #: templates/personal.php:8 #, php-format -msgid "You have used %s of the available %s" +msgid "You have used %s of the available %s" msgstr "" #: templates/personal.php:12 @@ -234,19 +153,19 @@ msgstr "" #: templates/personal.php:13 msgid "Download" -msgstr "" +msgstr "භාගත කරන්න" #: templates/personal.php:19 msgid "Your password was changed" -msgstr "" +msgstr "ඔබගේ මුර පදය වෙනස් කෙරුණි" #: templates/personal.php:20 msgid "Unable to change your password" -msgstr "" +msgstr "මුර පදය වෙනස් කළ නොහැකි විය" #: templates/personal.php:21 msgid "Current password" -msgstr "නූතන මුරපදය" +msgstr "වත්මන් මුරපදය" #: templates/personal.php:22 msgid "New password" @@ -262,15 +181,15 @@ msgstr "මුරපදය වෙනස් කිරීම" #: templates/personal.php:30 msgid "Email" -msgstr "" +msgstr "විද්‍යුත් තැපෑල" #: templates/personal.php:31 msgid "Your email address" -msgstr "" +msgstr "ඔබගේ විද්‍යුත් තැපෑල" #: templates/personal.php:32 msgid "Fill in an email address to enable password recovery" -msgstr "" +msgstr "මුරපද ප්‍රතිස්ථාපනය සඳහා විද්‍යුත් තැපැල් විස්තර ලබා දෙන්න" #: templates/personal.php:38 templates/personal.php:39 msgid "Language" @@ -278,11 +197,21 @@ msgstr "භාෂාව" #: templates/personal.php:44 msgid "Help translate" -msgstr "" +msgstr "පරිවර්ථන සහය" #: templates/personal.php:51 msgid "use this address to connect to your ownCloud in your file manager" -msgstr "" +msgstr "ඔබගේ ගොනු කළමනාකරු ownCloudයට සම්බන්ධ කිරීමට මෙම ලිපිනය භාවිතා කරන්න" + +#: templates/personal.php:61 +msgid "" +"Developed by the ownCloud community, the source code is " +"licensed under the AGPL." +msgstr "නිපදන ලද්දේ ownCloud සමාජයෙන්, the මුල් කේතය ලයිසන්ස් කර ඇත්තේ AGPL යටතේ." #: templates/users.php:21 templates/users.php:76 msgid "Name" @@ -298,23 +227,23 @@ msgstr "සමූහය" #: templates/users.php:32 msgid "Create" -msgstr "තනනවා" +msgstr "තනන්න" #: templates/users.php:35 msgid "Default Quota" -msgstr "" +msgstr "සාමාන්‍ය සලාකය" #: templates/users.php:55 templates/users.php:138 msgid "Other" -msgstr "" +msgstr "වෙනත්" #: templates/users.php:80 templates/users.php:112 msgid "Group Admin" -msgstr "" +msgstr "කාණ්ඩ පරිපාලක" #: templates/users.php:82 msgid "Quota" -msgstr "" +msgstr "සලාකය" #: templates/users.php:146 msgid "Delete" diff --git a/l10n/si_LK/user_ldap.po b/l10n/si_LK/user_ldap.po index 8279ec5bca5bcee9e81a440a202869fb986df2a9..065c1358f959c08ec0ff26904a362181a9e3836e 100644 --- a/l10n/si_LK/user_ldap.po +++ b/l10n/si_LK/user_ldap.po @@ -3,13 +3,14 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# Anushke Guneratne , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-16 02:03+0200\n" -"PO-Revision-Date: 2012-08-12 22:45+0000\n" -"Last-Translator: FULL NAME \n" +"POT-Creation-Date: 2012-10-27 00:01+0200\n" +"PO-Revision-Date: 2012-10-26 06:00+0000\n" +"Last-Translator: Anushke Guneratne \n" "Language-Team: Sinhala (Sri Lanka) (http://www.transifex.com/projects/p/owncloud/language/si_LK/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -19,12 +20,12 @@ msgstr "" #: templates/settings.php:8 msgid "Host" -msgstr "" +msgstr "සත්කාරකය" #: templates/settings.php:8 msgid "" "You can omit the protocol, except you require SSL. Then start with ldaps://" -msgstr "" +msgstr "SSL අවශ්‍යය වන විට පමණක් හැර, අන් අවස්ථාවන්හිදී ප්‍රොටොකෝලය අත් හැරිය හැක. භාවිතා කරන විට ldaps:// ලෙස ආරම්භ කරන්න" #: templates/settings.php:9 msgid "Base DN" @@ -47,7 +48,7 @@ msgstr "" #: templates/settings.php:11 msgid "Password" -msgstr "" +msgstr "මුර පදය" #: templates/settings.php:11 msgid "For anonymous access, leave DN and Password empty." @@ -55,7 +56,7 @@ msgstr "" #: templates/settings.php:12 msgid "User Login Filter" -msgstr "" +msgstr "පරිශීලක පිවිසුම් පෙරහන" #: templates/settings.php:12 #, php-format @@ -71,7 +72,7 @@ msgstr "" #: templates/settings.php:13 msgid "User List Filter" -msgstr "" +msgstr "පරිශීලක ලැයිස්තු පෙරහන" #: templates/settings.php:13 msgid "Defines the filter to apply, when retrieving users." @@ -83,11 +84,11 @@ msgstr "" #: templates/settings.php:14 msgid "Group Filter" -msgstr "" +msgstr "කණ්ඩායම් පෙරහන" #: templates/settings.php:14 msgid "Defines the filter to apply, when retrieving groups." -msgstr "" +msgstr "කණ්ඩායම් සොයා ලබාගන්නා විට, යොදන පෙරහන නියම කරයි" #: templates/settings.php:14 msgid "without any placeholder, e.g. \"objectClass=posixGroup\"." @@ -95,7 +96,7 @@ msgstr "" #: templates/settings.php:17 msgid "Port" -msgstr "" +msgstr "තොට" #: templates/settings.php:18 msgid "Base User Tree" @@ -111,7 +112,7 @@ msgstr "" #: templates/settings.php:21 msgid "Use TLS" -msgstr "" +msgstr "TLS භාවිතා කරන්න" #: templates/settings.php:21 msgid "Do not use it for SSL connections, it will fail." @@ -133,7 +134,7 @@ msgstr "" #: templates/settings.php:23 msgid "Not recommended, use for testing only." -msgstr "" +msgstr "නිර්දේශ කළ නොහැක. පරීක්ෂණ සඳහා පමණක් භාවිත කරන්න" #: templates/settings.php:24 msgid "User Display Name Field" @@ -167,4 +168,4 @@ msgstr "" #: templates/settings.php:32 msgid "Help" -msgstr "" +msgstr "උදව්" diff --git a/l10n/si_LK/user_webdavauth.po b/l10n/si_LK/user_webdavauth.po new file mode 100644 index 0000000000000000000000000000000000000000..957f987997a8d2a4952a198b7f0fb07888b1899d --- /dev/null +++ b/l10n/si_LK/user_webdavauth.po @@ -0,0 +1,23 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# Anushke Guneratne , 2012. +msgid "" +msgstr "" +"Project-Id-Version: ownCloud\n" +"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" +"POT-Creation-Date: 2012-11-13 00:05+0100\n" +"PO-Revision-Date: 2012-11-12 04:50+0000\n" +"Last-Translator: Anushke Guneratne \n" +"Language-Team: Sinhala (Sri Lanka) (http://www.transifex.com/projects/p/owncloud/language/si_LK/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: si_LK\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: templates/settings.php:4 +msgid "WebDAV URL: http://" +msgstr "WebDAV යොමුව: http://" diff --git a/l10n/sk_SK/admin_dependencies_chk.po b/l10n/sk_SK/admin_dependencies_chk.po deleted file mode 100644 index 1381cc2a7f5a90adcb2c03ff0623ab84f4796b5a..0000000000000000000000000000000000000000 --- a/l10n/sk_SK/admin_dependencies_chk.po +++ /dev/null @@ -1,73 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:33+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Slovak (Slovakia) (http://www.transifex.com/projects/p/owncloud/language/sk_SK/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: sk_SK\n" -"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2\n" - -#: settings.php:33 -msgid "" -"The php-json module is needed by the many applications for inter " -"communications" -msgstr "" - -#: settings.php:39 -msgid "" -"The php-curl modude is needed to fetch the page title when adding a " -"bookmarks" -msgstr "" - -#: settings.php:45 -msgid "The php-gd module is needed to create thumbnails of your images" -msgstr "" - -#: settings.php:51 -msgid "The php-ldap module is needed connect to your ldap server" -msgstr "" - -#: settings.php:57 -msgid "The php-zip module is needed download multiple files at once" -msgstr "" - -#: settings.php:63 -msgid "" -"The php-mb_multibyte module is needed to manage correctly the encoding." -msgstr "" - -#: settings.php:69 -msgid "The php-ctype module is needed validate data." -msgstr "" - -#: settings.php:75 -msgid "The php-xml module is needed to share files with webdav." -msgstr "" - -#: settings.php:81 -msgid "" -"The allow_url_fopen directive of your php.ini should be set to 1 to retrieve" -" knowledge base from OCS servers" -msgstr "" - -#: settings.php:87 -msgid "The php-pdo module is needed to store owncloud data into a database." -msgstr "" - -#: templates/settings.php:2 -msgid "Dependencies status" -msgstr "" - -#: templates/settings.php:7 -msgid "Used by :" -msgstr "" diff --git a/l10n/sk_SK/admin_migrate.po b/l10n/sk_SK/admin_migrate.po deleted file mode 100644 index 00e8e196c080d9dcf2e365565c0472645ec3305b..0000000000000000000000000000000000000000 --- a/l10n/sk_SK/admin_migrate.po +++ /dev/null @@ -1,32 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:32+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Slovak (Slovakia) (http://www.transifex.com/projects/p/owncloud/language/sk_SK/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: sk_SK\n" -"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2\n" - -#: templates/settings.php:3 -msgid "Export this ownCloud instance" -msgstr "" - -#: templates/settings.php:4 -msgid "" -"This will create a compressed file that contains the data of this owncloud instance.\n" -" Please choose the export type:" -msgstr "" - -#: templates/settings.php:12 -msgid "Export" -msgstr "" diff --git a/l10n/sk_SK/bookmarks.po b/l10n/sk_SK/bookmarks.po deleted file mode 100644 index 1f1343ccd6ae06d45c77fe98424b349d4eefed2b..0000000000000000000000000000000000000000 --- a/l10n/sk_SK/bookmarks.po +++ /dev/null @@ -1,60 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-07-28 02:02+0200\n" -"PO-Revision-Date: 2012-07-27 22:17+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Slovak (Slovakia) (http://www.transifex.com/projects/p/owncloud/language/sk_SK/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: sk_SK\n" -"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2\n" - -#: appinfo/app.php:14 -msgid "Bookmarks" -msgstr "" - -#: bookmarksHelper.php:99 -msgid "unnamed" -msgstr "" - -#: templates/bookmarklet.php:5 -msgid "" -"Drag this to your browser bookmarks and click it, when you want to bookmark " -"a webpage quickly:" -msgstr "" - -#: templates/bookmarklet.php:7 -msgid "Read later" -msgstr "" - -#: templates/list.php:13 -msgid "Address" -msgstr "" - -#: templates/list.php:14 -msgid "Title" -msgstr "" - -#: templates/list.php:15 -msgid "Tags" -msgstr "" - -#: templates/list.php:16 -msgid "Save bookmark" -msgstr "" - -#: templates/list.php:22 -msgid "You have no bookmarks" -msgstr "" - -#: templates/settings.php:11 -msgid "Bookmarklet
" -msgstr "" diff --git a/l10n/sk_SK/calendar.po b/l10n/sk_SK/calendar.po deleted file mode 100644 index 9b560742022a5108084498e3612e6acaa2771264..0000000000000000000000000000000000000000 --- a/l10n/sk_SK/calendar.po +++ /dev/null @@ -1,815 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# , 2011, 2012. -# Roman Priesol , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-11 02:02+0200\n" -"PO-Revision-Date: 2012-08-11 00:02+0000\n" -"Last-Translator: owncloud_robot \n" -"Language-Team: Slovak (Slovakia) (http://www.transifex.com/projects/p/owncloud/language/sk_SK/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: sk_SK\n" -"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2\n" - -#: ajax/cache/status.php:19 -msgid "Not all calendars are completely cached" -msgstr "" - -#: ajax/cache/status.php:21 -msgid "Everything seems to be completely cached" -msgstr "" - -#: ajax/categories/rescan.php:29 -msgid "No calendars found." -msgstr "Nenašiel sa žiadny kalendár." - -#: ajax/categories/rescan.php:37 -msgid "No events found." -msgstr "Nenašla sa žiadna udalosť." - -#: ajax/event/edit.form.php:20 -msgid "Wrong calendar" -msgstr "Zlý kalendár" - -#: ajax/import/dropimport.php:29 ajax/import/import.php:64 -msgid "" -"The file contained either no events or all events are already saved in your " -"calendar." -msgstr "" - -#: ajax/import/dropimport.php:31 ajax/import/import.php:67 -msgid "events has been saved in the new calendar" -msgstr "" - -#: ajax/import/import.php:56 -msgid "Import failed" -msgstr "" - -#: ajax/import/import.php:69 -msgid "events has been saved in your calendar" -msgstr "" - -#: ajax/settings/guesstimezone.php:25 -msgid "New Timezone:" -msgstr "Nová časová zóna:" - -#: ajax/settings/settimezone.php:23 -msgid "Timezone changed" -msgstr "Časové pásmo zmenené" - -#: ajax/settings/settimezone.php:25 -msgid "Invalid request" -msgstr "Neplatná požiadavka" - -#: appinfo/app.php:35 templates/calendar.php:15 -#: templates/part.eventform.php:33 templates/part.showevent.php:33 -msgid "Calendar" -msgstr "Kalendár" - -#: js/calendar.js:832 -msgid "ddd" -msgstr "ddd" - -#: js/calendar.js:833 -msgid "ddd M/d" -msgstr "ddd M/d" - -#: js/calendar.js:834 -msgid "dddd M/d" -msgstr "dddd M/d" - -#: js/calendar.js:837 -msgid "MMMM yyyy" -msgstr "MMMM rrrr" - -#: js/calendar.js:839 -msgid "MMM d[ yyyy]{ '—'[ MMM] d yyyy}" -msgstr "d. MMM[ yyyy]{ '—' d.[ MMM] yyyy}" - -#: js/calendar.js:841 -msgid "dddd, MMM d, yyyy" -msgstr "dddd, MMM d, rrrr" - -#: lib/app.php:121 -msgid "Birthday" -msgstr "Narodeniny" - -#: lib/app.php:122 -msgid "Business" -msgstr "Podnikanie" - -#: lib/app.php:123 -msgid "Call" -msgstr "Hovor" - -#: lib/app.php:124 -msgid "Clients" -msgstr "Klienti" - -#: lib/app.php:125 -msgid "Deliverer" -msgstr "Doručovateľ" - -#: lib/app.php:126 -msgid "Holidays" -msgstr "Prázdniny" - -#: lib/app.php:127 -msgid "Ideas" -msgstr "Nápady" - -#: lib/app.php:128 -msgid "Journey" -msgstr "Cesta" - -#: lib/app.php:129 -msgid "Jubilee" -msgstr "Jubileá" - -#: lib/app.php:130 -msgid "Meeting" -msgstr "Stretnutia" - -#: lib/app.php:131 -msgid "Other" -msgstr "Ostatné" - -#: lib/app.php:132 -msgid "Personal" -msgstr "Osobné" - -#: lib/app.php:133 -msgid "Projects" -msgstr "Projekty" - -#: lib/app.php:134 -msgid "Questions" -msgstr "Otázky" - -#: lib/app.php:135 -msgid "Work" -msgstr "Práca" - -#: lib/app.php:351 lib/app.php:361 -msgid "by" -msgstr "" - -#: lib/app.php:359 lib/app.php:399 -msgid "unnamed" -msgstr "nepomenovaný" - -#: lib/import.php:184 templates/calendar.php:12 -#: templates/part.choosecalendar.php:22 -msgid "New Calendar" -msgstr "Nový kalendár" - -#: lib/object.php:372 -msgid "Does not repeat" -msgstr "Neopakovať" - -#: lib/object.php:373 -msgid "Daily" -msgstr "Denne" - -#: lib/object.php:374 -msgid "Weekly" -msgstr "Týždenne" - -#: lib/object.php:375 -msgid "Every Weekday" -msgstr "Každý deň v týždni" - -#: lib/object.php:376 -msgid "Bi-Weekly" -msgstr "Každý druhý týždeň" - -#: lib/object.php:377 -msgid "Monthly" -msgstr "Mesačne" - -#: lib/object.php:378 -msgid "Yearly" -msgstr "Ročne" - -#: lib/object.php:388 -msgid "never" -msgstr "nikdy" - -#: lib/object.php:389 -msgid "by occurrences" -msgstr "podľa výskytu" - -#: lib/object.php:390 -msgid "by date" -msgstr "podľa dátumu" - -#: lib/object.php:400 -msgid "by monthday" -msgstr "podľa dňa v mesiaci" - -#: lib/object.php:401 -msgid "by weekday" -msgstr "podľa dňa v týždni" - -#: lib/object.php:411 templates/calendar.php:5 templates/settings.php:69 -msgid "Monday" -msgstr "Pondelok" - -#: lib/object.php:412 templates/calendar.php:5 -msgid "Tuesday" -msgstr "Utorok" - -#: lib/object.php:413 templates/calendar.php:5 -msgid "Wednesday" -msgstr "Streda" - -#: lib/object.php:414 templates/calendar.php:5 -msgid "Thursday" -msgstr "Štvrtok" - -#: lib/object.php:415 templates/calendar.php:5 -msgid "Friday" -msgstr "Piatok" - -#: lib/object.php:416 templates/calendar.php:5 -msgid "Saturday" -msgstr "Sobota" - -#: lib/object.php:417 templates/calendar.php:5 templates/settings.php:70 -msgid "Sunday" -msgstr "Nedeľa" - -#: lib/object.php:427 -msgid "events week of month" -msgstr "týždenné udalosti v mesiaci" - -#: lib/object.php:428 -msgid "first" -msgstr "prvý" - -#: lib/object.php:429 -msgid "second" -msgstr "druhý" - -#: lib/object.php:430 -msgid "third" -msgstr "tretí" - -#: lib/object.php:431 -msgid "fourth" -msgstr "štvrtý" - -#: lib/object.php:432 -msgid "fifth" -msgstr "piaty" - -#: lib/object.php:433 -msgid "last" -msgstr "posledný" - -#: lib/object.php:467 templates/calendar.php:7 -msgid "January" -msgstr "Január" - -#: lib/object.php:468 templates/calendar.php:7 -msgid "February" -msgstr "Február" - -#: lib/object.php:469 templates/calendar.php:7 -msgid "March" -msgstr "Marec" - -#: lib/object.php:470 templates/calendar.php:7 -msgid "April" -msgstr "Apríl" - -#: lib/object.php:471 templates/calendar.php:7 -msgid "May" -msgstr "Máj" - -#: lib/object.php:472 templates/calendar.php:7 -msgid "June" -msgstr "Jún" - -#: lib/object.php:473 templates/calendar.php:7 -msgid "July" -msgstr "Júl" - -#: lib/object.php:474 templates/calendar.php:7 -msgid "August" -msgstr "August" - -#: lib/object.php:475 templates/calendar.php:7 -msgid "September" -msgstr "September" - -#: lib/object.php:476 templates/calendar.php:7 -msgid "October" -msgstr "Október" - -#: lib/object.php:477 templates/calendar.php:7 -msgid "November" -msgstr "November" - -#: lib/object.php:478 templates/calendar.php:7 -msgid "December" -msgstr "December" - -#: lib/object.php:488 -msgid "by events date" -msgstr "podľa dátumu udalosti" - -#: lib/object.php:489 -msgid "by yearday(s)" -msgstr "po dňoch" - -#: lib/object.php:490 -msgid "by weeknumber(s)" -msgstr "podľa čísel týždňov" - -#: lib/object.php:491 -msgid "by day and month" -msgstr "podľa dňa a mesiaca" - -#: lib/search.php:35 lib/search.php:37 lib/search.php:40 -msgid "Date" -msgstr "Dátum" - -#: lib/search.php:43 -msgid "Cal." -msgstr "Kal." - -#: templates/calendar.php:6 -msgid "Sun." -msgstr "" - -#: templates/calendar.php:6 -msgid "Mon." -msgstr "" - -#: templates/calendar.php:6 -msgid "Tue." -msgstr "" - -#: templates/calendar.php:6 -msgid "Wed." -msgstr "" - -#: templates/calendar.php:6 -msgid "Thu." -msgstr "" - -#: templates/calendar.php:6 -msgid "Fri." -msgstr "" - -#: templates/calendar.php:6 -msgid "Sat." -msgstr "" - -#: templates/calendar.php:8 -msgid "Jan." -msgstr "" - -#: templates/calendar.php:8 -msgid "Feb." -msgstr "" - -#: templates/calendar.php:8 -msgid "Mar." -msgstr "" - -#: templates/calendar.php:8 -msgid "Apr." -msgstr "" - -#: templates/calendar.php:8 -msgid "May." -msgstr "" - -#: templates/calendar.php:8 -msgid "Jun." -msgstr "" - -#: templates/calendar.php:8 -msgid "Jul." -msgstr "" - -#: templates/calendar.php:8 -msgid "Aug." -msgstr "" - -#: templates/calendar.php:8 -msgid "Sep." -msgstr "" - -#: templates/calendar.php:8 -msgid "Oct." -msgstr "" - -#: templates/calendar.php:8 -msgid "Nov." -msgstr "" - -#: templates/calendar.php:8 -msgid "Dec." -msgstr "" - -#: templates/calendar.php:11 -msgid "All day" -msgstr "Celý deň" - -#: templates/calendar.php:13 -msgid "Missing fields" -msgstr "Nevyplnené položky" - -#: templates/calendar.php:14 templates/part.eventform.php:19 -#: templates/part.showevent.php:11 -msgid "Title" -msgstr "Nadpis" - -#: templates/calendar.php:16 -msgid "From Date" -msgstr "Od dátumu" - -#: templates/calendar.php:17 -msgid "From Time" -msgstr "Od času" - -#: templates/calendar.php:18 -msgid "To Date" -msgstr "Do dátumu" - -#: templates/calendar.php:19 -msgid "To Time" -msgstr "Do času" - -#: templates/calendar.php:20 -msgid "The event ends before it starts" -msgstr "Udalosť končí ešte pred tým než začne" - -#: templates/calendar.php:21 -msgid "There was a database fail" -msgstr "Nastala chyba databázy" - -#: templates/calendar.php:39 -msgid "Week" -msgstr "Týždeň" - -#: templates/calendar.php:40 -msgid "Month" -msgstr "Mesiac" - -#: templates/calendar.php:41 -msgid "List" -msgstr "Zoznam" - -#: templates/calendar.php:45 -msgid "Today" -msgstr "Dnes" - -#: templates/calendar.php:46 templates/calendar.php:47 -msgid "Settings" -msgstr "" - -#: templates/part.choosecalendar.php:2 -msgid "Your calendars" -msgstr "Vaše kalendáre" - -#: templates/part.choosecalendar.php:27 -#: templates/part.choosecalendar.rowfields.php:11 -msgid "CalDav Link" -msgstr "CalDav odkaz" - -#: templates/part.choosecalendar.php:31 -msgid "Shared calendars" -msgstr "Zdielané kalendáre" - -#: templates/part.choosecalendar.php:48 -msgid "No shared calendars" -msgstr "Žiadne zdielané kalendáre" - -#: templates/part.choosecalendar.rowfields.php:8 -msgid "Share Calendar" -msgstr "Zdielať kalendár" - -#: templates/part.choosecalendar.rowfields.php:14 -msgid "Download" -msgstr "Stiahnuť" - -#: templates/part.choosecalendar.rowfields.php:17 -msgid "Edit" -msgstr "Upraviť" - -#: templates/part.choosecalendar.rowfields.php:20 -#: templates/part.editevent.php:9 -msgid "Delete" -msgstr "Odstrániť" - -#: templates/part.choosecalendar.rowfields.shared.php:4 -msgid "shared with you by" -msgstr "zdielané s vami používateľom" - -#: templates/part.editcalendar.php:9 -msgid "New calendar" -msgstr "Nový kalendár" - -#: templates/part.editcalendar.php:9 -msgid "Edit calendar" -msgstr "Upraviť kalendár" - -#: templates/part.editcalendar.php:12 -msgid "Displayname" -msgstr "Zobrazené meno" - -#: templates/part.editcalendar.php:23 -msgid "Active" -msgstr "Aktívne" - -#: templates/part.editcalendar.php:29 -msgid "Calendar color" -msgstr "Farba kalendáru" - -#: templates/part.editcalendar.php:42 -msgid "Save" -msgstr "Uložiť" - -#: templates/part.editcalendar.php:42 templates/part.editevent.php:8 -#: templates/part.newevent.php:6 -msgid "Submit" -msgstr "Odoslať" - -#: templates/part.editcalendar.php:43 -msgid "Cancel" -msgstr "Zrušiť" - -#: templates/part.editevent.php:1 -msgid "Edit an event" -msgstr "Upraviť udalosť" - -#: templates/part.editevent.php:10 -msgid "Export" -msgstr "Exportovať" - -#: templates/part.eventform.php:8 templates/part.showevent.php:3 -msgid "Eventinfo" -msgstr "Informácie o udalosti" - -#: templates/part.eventform.php:9 templates/part.showevent.php:4 -msgid "Repeating" -msgstr "Opakovanie" - -#: templates/part.eventform.php:10 templates/part.showevent.php:5 -msgid "Alarm" -msgstr "Alarm" - -#: templates/part.eventform.php:11 templates/part.showevent.php:6 -msgid "Attendees" -msgstr "Účastníci" - -#: templates/part.eventform.php:13 -msgid "Share" -msgstr "Zdielať" - -#: templates/part.eventform.php:21 -msgid "Title of the Event" -msgstr "Nadpis udalosti" - -#: templates/part.eventform.php:27 templates/part.showevent.php:19 -msgid "Category" -msgstr "Kategória" - -#: templates/part.eventform.php:29 -msgid "Separate categories with commas" -msgstr "Kategórie oddelené čiarkami" - -#: templates/part.eventform.php:30 -msgid "Edit categories" -msgstr "Úprava kategórií" - -#: templates/part.eventform.php:56 templates/part.showevent.php:52 -msgid "All Day Event" -msgstr "Celodenná udalosť" - -#: templates/part.eventform.php:60 templates/part.showevent.php:56 -msgid "From" -msgstr "Od" - -#: templates/part.eventform.php:68 templates/part.showevent.php:64 -msgid "To" -msgstr "Do" - -#: templates/part.eventform.php:76 templates/part.showevent.php:72 -msgid "Advanced options" -msgstr "Pokročilé možnosti" - -#: templates/part.eventform.php:81 templates/part.showevent.php:77 -msgid "Location" -msgstr "Poloha" - -#: templates/part.eventform.php:83 -msgid "Location of the Event" -msgstr "Poloha udalosti" - -#: templates/part.eventform.php:89 templates/part.showevent.php:85 -msgid "Description" -msgstr "Popis" - -#: templates/part.eventform.php:91 -msgid "Description of the Event" -msgstr "Popis udalosti" - -#: templates/part.eventform.php:100 templates/part.showevent.php:95 -msgid "Repeat" -msgstr "Opakovať" - -#: templates/part.eventform.php:107 templates/part.showevent.php:102 -msgid "Advanced" -msgstr "Pokročilé" - -#: templates/part.eventform.php:151 templates/part.showevent.php:146 -msgid "Select weekdays" -msgstr "Do času" - -#: templates/part.eventform.php:164 templates/part.eventform.php:177 -#: templates/part.showevent.php:159 templates/part.showevent.php:172 -msgid "Select days" -msgstr "Vybrať dni" - -#: templates/part.eventform.php:169 templates/part.showevent.php:164 -msgid "and the events day of year." -msgstr "a denné udalosti v roku." - -#: templates/part.eventform.php:182 templates/part.showevent.php:177 -msgid "and the events day of month." -msgstr "a denné udalosti v mesiaci." - -#: templates/part.eventform.php:190 templates/part.showevent.php:185 -msgid "Select months" -msgstr "Vybrať mesiace" - -#: templates/part.eventform.php:203 templates/part.showevent.php:198 -msgid "Select weeks" -msgstr "Vybrať týždne" - -#: templates/part.eventform.php:208 templates/part.showevent.php:203 -msgid "and the events week of year." -msgstr "a týždenné udalosti v roku." - -#: templates/part.eventform.php:214 templates/part.showevent.php:209 -msgid "Interval" -msgstr "Interval" - -#: templates/part.eventform.php:220 templates/part.showevent.php:215 -msgid "End" -msgstr "Koniec" - -#: templates/part.eventform.php:233 templates/part.showevent.php:228 -msgid "occurrences" -msgstr "výskyty" - -#: templates/part.import.php:14 -msgid "create a new calendar" -msgstr "vytvoriť nový kalendár" - -#: templates/part.import.php:17 -msgid "Import a calendar file" -msgstr "Importovať súbor kalendára" - -#: templates/part.import.php:24 -msgid "Please choose a calendar" -msgstr "" - -#: templates/part.import.php:36 -msgid "Name of new calendar" -msgstr "Meno nového kalendára" - -#: templates/part.import.php:44 -msgid "Take an available name!" -msgstr "" - -#: templates/part.import.php:45 -msgid "" -"A Calendar with this name already exists. If you continue anyhow, these " -"calendars will be merged." -msgstr "" - -#: templates/part.import.php:47 -msgid "Import" -msgstr "Importovať" - -#: templates/part.import.php:56 -msgid "Close Dialog" -msgstr "Zatvoriť dialóg" - -#: templates/part.newevent.php:1 -msgid "Create a new event" -msgstr "Vytvoriť udalosť" - -#: templates/part.showevent.php:1 -msgid "View an event" -msgstr "Zobraziť udalosť" - -#: templates/part.showevent.php:23 -msgid "No categories selected" -msgstr "Žiadne vybraté kategórie" - -#: templates/part.showevent.php:37 -msgid "of" -msgstr "z" - -#: templates/part.showevent.php:59 templates/part.showevent.php:67 -msgid "at" -msgstr "v" - -#: templates/settings.php:10 -msgid "General" -msgstr "" - -#: templates/settings.php:15 -msgid "Timezone" -msgstr "Časová zóna" - -#: templates/settings.php:47 -msgid "Update timezone automatically" -msgstr "" - -#: templates/settings.php:52 -msgid "Time format" -msgstr "" - -#: templates/settings.php:57 -msgid "24h" -msgstr "24h" - -#: templates/settings.php:58 -msgid "12h" -msgstr "12h" - -#: templates/settings.php:64 -msgid "Start week on" -msgstr "" - -#: templates/settings.php:76 -msgid "Cache" -msgstr "" - -#: templates/settings.php:80 -msgid "Clear cache for repeating events" -msgstr "" - -#: templates/settings.php:85 -msgid "URLs" -msgstr "" - -#: templates/settings.php:87 -msgid "Calendar CalDAV syncing addresses" -msgstr "" - -#: templates/settings.php:87 -msgid "more info" -msgstr "" - -#: templates/settings.php:89 -msgid "Primary address (Kontact et al)" -msgstr "" - -#: templates/settings.php:91 -msgid "iOS/OS X" -msgstr "" - -#: templates/settings.php:93 -msgid "Read only iCalendar link(s)" -msgstr "" - -#: templates/share.dropdown.php:20 -msgid "Users" -msgstr "Používatelia" - -#: templates/share.dropdown.php:21 -msgid "select users" -msgstr "vybrať používateľov" - -#: templates/share.dropdown.php:36 templates/share.dropdown.php:62 -msgid "Editable" -msgstr "Upravovateľné" - -#: templates/share.dropdown.php:48 -msgid "Groups" -msgstr "Skupiny" - -#: templates/share.dropdown.php:49 -msgid "select groups" -msgstr "vybrať skupiny" - -#: templates/share.dropdown.php:75 -msgid "make public" -msgstr "zverejniť" diff --git a/l10n/sk_SK/contacts.po b/l10n/sk_SK/contacts.po deleted file mode 100644 index d66125ae02cd287506ff17f49060dcffbdbd3aa9..0000000000000000000000000000000000000000 --- a/l10n/sk_SK/contacts.po +++ /dev/null @@ -1,955 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# , 2012. -# Roman Priesol , 2012. -# , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-24 02:02+0200\n" -"PO-Revision-Date: 2012-08-24 00:03+0000\n" -"Last-Translator: I Robot \n" -"Language-Team: Slovak (Slovakia) (http://www.transifex.com/projects/p/owncloud/language/sk_SK/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: sk_SK\n" -"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2\n" - -#: ajax/addressbook/activate.php:24 ajax/addressbook/update.php:32 -msgid "Error (de)activating addressbook." -msgstr "Chyba (de)aktivácie adresára." - -#: ajax/addressbook/delete.php:31 ajax/addressbook/update.php:20 -#: ajax/contact/addproperty.php:42 ajax/contact/delete.php:32 -#: ajax/contact/saveproperty.php:39 -msgid "id is not set." -msgstr "ID nie je nastavené." - -#: ajax/addressbook/update.php:24 -msgid "Cannot update addressbook with an empty name." -msgstr "Nedá sa upraviť adresár s prázdnym menom." - -#: ajax/addressbook/update.php:28 -msgid "Error updating addressbook." -msgstr "Chyba aktualizácie adresára." - -#: ajax/categories/categoriesfor.php:17 -msgid "No ID provided" -msgstr "ID nezadané" - -#: ajax/categories/categoriesfor.php:34 -msgid "Error setting checksum." -msgstr "Chyba pri nastavovaní kontrolného súčtu." - -#: ajax/categories/delete.php:19 -msgid "No categories selected for deletion." -msgstr "Žiadne kategórie neboli vybraté na odstránenie." - -#: ajax/categories/delete.php:26 -msgid "No address books found." -msgstr "Žiadny adresár nenájdený." - -#: ajax/categories/delete.php:34 -msgid "No contacts found." -msgstr "Žiadne kontakty nenájdené." - -#: ajax/contact/add.php:47 -msgid "There was an error adding the contact." -msgstr "Vyskytla sa chyba pri pridávaní kontaktu." - -#: ajax/contact/addproperty.php:39 ajax/contact/saveproperty.php:36 -msgid "element name is not set." -msgstr "meno elementu nie je nastavené." - -#: ajax/contact/addproperty.php:46 -msgid "Could not parse contact: " -msgstr "" - -#: ajax/contact/addproperty.php:56 -msgid "Cannot add empty property." -msgstr "Nemôžem pridať prázdny údaj." - -#: ajax/contact/addproperty.php:67 -msgid "At least one of the address fields has to be filled out." -msgstr "Musí byť uvedený aspoň jeden adresný údaj." - -#: ajax/contact/addproperty.php:76 -msgid "Trying to add duplicate property: " -msgstr "Pokúšate sa pridať rovnaký atribút:" - -#: ajax/contact/addproperty.php:115 ajax/contact/saveproperty.php:93 -msgid "Missing IM parameter." -msgstr "" - -#: ajax/contact/addproperty.php:119 ajax/contact/saveproperty.php:97 -msgid "Unknown IM: " -msgstr "" - -#: ajax/contact/deleteproperty.php:37 -msgid "Information about vCard is incorrect. Please reload the page." -msgstr "Informácie o vCard sú neplatné. Prosím obnovte stránku." - -#: ajax/contact/details.php:31 -msgid "Missing ID" -msgstr "Chýba ID" - -#: ajax/contact/details.php:36 -msgid "Error parsing VCard for ID: \"" -msgstr "Chyba pri vyňatí ID z VCard:" - -#: ajax/contact/saveproperty.php:42 -msgid "checksum is not set." -msgstr "kontrolný súčet nie je nastavený." - -#: ajax/contact/saveproperty.php:62 -msgid "Information about vCard is incorrect. Please reload the page: " -msgstr "Informácia o vCard je nesprávna. Obnovte stránku, prosím." - -#: ajax/contact/saveproperty.php:69 -msgid "Something went FUBAR. " -msgstr "Niečo sa pokazilo." - -#: ajax/currentphoto.php:30 ajax/oc_photo.php:28 ajax/uploadphoto.php:36 -#: ajax/uploadphoto.php:68 -msgid "No contact ID was submitted." -msgstr "Nebolo nastavené ID kontaktu." - -#: ajax/currentphoto.php:36 -msgid "Error reading contact photo." -msgstr "Chyba pri čítaní fotky kontaktu." - -#: ajax/currentphoto.php:48 -msgid "Error saving temporary file." -msgstr "Chyba pri ukladaní dočasného súboru." - -#: ajax/currentphoto.php:51 -msgid "The loading photo is not valid." -msgstr "Načítaná fotka je vadná." - -#: ajax/editname.php:31 -msgid "Contact ID is missing." -msgstr "Chýba ID kontaktu." - -#: ajax/oc_photo.php:32 -msgid "No photo path was submitted." -msgstr "Žiadna fotka nebola poslaná." - -#: ajax/oc_photo.php:39 -msgid "File doesn't exist:" -msgstr "Súbor neexistuje:" - -#: ajax/oc_photo.php:44 ajax/oc_photo.php:47 -msgid "Error loading image." -msgstr "Chyba pri nahrávaní obrázka." - -#: ajax/savecrop.php:69 -msgid "Error getting contact object." -msgstr "Chyba počas prevzatia objektu kontakt." - -#: ajax/savecrop.php:79 -msgid "Error getting PHOTO property." -msgstr "Chyba počas získavania fotky." - -#: ajax/savecrop.php:98 -msgid "Error saving contact." -msgstr "Chyba počas ukladania kontaktu." - -#: ajax/savecrop.php:109 -msgid "Error resizing image" -msgstr "Chyba počas zmeny obrázku." - -#: ajax/savecrop.php:112 -msgid "Error cropping image" -msgstr "Chyba počas orezania obrázku." - -#: ajax/savecrop.php:115 -msgid "Error creating temporary image" -msgstr "Chyba počas vytvárania dočasného obrázku." - -#: ajax/savecrop.php:118 -msgid "Error finding image: " -msgstr "Chyba vyhľadania obrázku: " - -#: ajax/uploadimport.php:44 ajax/uploadimport.php:76 -msgid "Error uploading contacts to storage." -msgstr "Chyba pri ukladaní kontaktov na úložisko." - -#: ajax/uploadimport.php:61 ajax/uploadphoto.php:77 -msgid "There is no error, the file uploaded with success" -msgstr "Nevyskytla sa žiadna chyba, súbor úspešne uložené." - -#: ajax/uploadimport.php:62 ajax/uploadphoto.php:78 -msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" -msgstr "Ukladaný súbor prekračuje nastavenie upload_max_filesize v php.ini" - -#: ajax/uploadimport.php:63 ajax/uploadphoto.php:79 -msgid "" -"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " -"the HTML form" -msgstr "Ukladaný súbor prekračuje nastavenie MAX_FILE_SIZE z volieb HTML formulára." - -#: ajax/uploadimport.php:64 ajax/uploadphoto.php:80 -msgid "The uploaded file was only partially uploaded" -msgstr "Ukladaný súbor sa nahral len čiastočne" - -#: ajax/uploadimport.php:65 ajax/uploadphoto.php:81 -msgid "No file was uploaded" -msgstr "Žiadny súbor nebol uložený" - -#: ajax/uploadimport.php:66 ajax/uploadphoto.php:82 -msgid "Missing a temporary folder" -msgstr "Chýba dočasný priečinok" - -#: ajax/uploadphoto.php:59 ajax/uploadphoto.php:109 -msgid "Couldn't save temporary image: " -msgstr "Nemôžem uložiť dočasný obrázok: " - -#: ajax/uploadphoto.php:62 ajax/uploadphoto.php:112 -msgid "Couldn't load temporary image: " -msgstr "Nemôžem načítať dočasný obrázok: " - -#: ajax/uploadphoto.php:71 -msgid "No file was uploaded. Unknown error" -msgstr "Žiaden súbor nebol odoslaný. Neznáma chyba" - -#: appinfo/app.php:21 -msgid "Contacts" -msgstr "Kontakty" - -#: js/contacts.js:71 -msgid "Sorry, this functionality has not been implemented yet" -msgstr "Bohužiaľ, táto funkcia ešte nebola implementovaná" - -#: js/contacts.js:71 -msgid "Not implemented" -msgstr "Neimplementované" - -#: js/contacts.js:76 -msgid "Couldn't get a valid address." -msgstr "Nemôžem získať platnú adresu." - -#: js/contacts.js:76 js/contacts.js:365 js/contacts.js:381 js/contacts.js:393 -#: js/contacts.js:723 js/contacts.js:763 js/contacts.js:789 js/contacts.js:921 -#: js/contacts.js:927 js/contacts.js:939 js/contacts.js:976 -#: js/contacts.js:1250 js/contacts.js:1258 js/contacts.js:1267 -#: js/contacts.js:1302 js/contacts.js:1338 js/contacts.js:1353 -#: js/contacts.js:1379 js/contacts.js:1609 js/contacts.js:1644 -#: js/contacts.js:1664 js/settings.js:26 js/settings.js:43 js/settings.js:68 -msgid "Error" -msgstr "Chyba" - -#: js/contacts.js:424 -msgid "You do not have permission to add contacts to " -msgstr "" - -#: js/contacts.js:425 -msgid "Please select one of your own address books." -msgstr "" - -#: js/contacts.js:425 -msgid "Permission error" -msgstr "" - -#: js/contacts.js:763 -msgid "This property has to be non-empty." -msgstr "Tento parameter nemôže byť prázdny." - -#: js/contacts.js:789 -msgid "Couldn't serialize elements." -msgstr "Nemôžem previesť prvky." - -#: js/contacts.js:921 js/contacts.js:939 -msgid "" -"'deleteProperty' called without type argument. Please report at " -"bugs.owncloud.org" -msgstr "'deleteProperty' zavolané bez argument. Prosím oznámte chybu na bugs.owncloud.org" - -#: js/contacts.js:958 -msgid "Edit name" -msgstr "Upraviť meno" - -#: js/contacts.js:1250 -msgid "No files selected for upload." -msgstr "Žiadne súbory neboli vybrané k nahratiu" - -#: js/contacts.js:1258 -msgid "" -"The file you are trying to upload exceed the maximum size for file uploads " -"on this server." -msgstr "Súbor, ktorý sa pokúšate nahrať, presahuje maximálnu povolenú veľkosť." - -#: js/contacts.js:1322 -msgid "Error loading profile picture." -msgstr "" - -#: js/contacts.js:1457 js/contacts.js:1498 js/contacts.js:1517 -#: js/contacts.js:1560 -msgid "Select type" -msgstr "Vybrať typ" - -#: js/contacts.js:1578 -msgid "" -"Some contacts are marked for deletion, but not deleted yet. Please wait for " -"them to be deleted." -msgstr "" - -#: js/contacts.js:1649 -msgid "Do you want to merge these address books?" -msgstr "" - -#: js/loader.js:49 -msgid "Result: " -msgstr "Výsledok: " - -#: js/loader.js:49 -msgid " imported, " -msgstr " importovaných, " - -#: js/loader.js:49 -msgid " failed." -msgstr " zlyhaných." - -#: js/settings.js:68 -msgid "Displayname cannot be empty." -msgstr "" - -#: lib/app.php:36 -msgid "Addressbook not found: " -msgstr "" - -#: lib/app.php:52 -msgid "This is not your addressbook." -msgstr "Toto nie je váš adresár." - -#: lib/app.php:71 -msgid "Contact could not be found." -msgstr "Kontakt nebol nájdený." - -#: lib/app.php:116 -msgid "Jabber" -msgstr "" - -#: lib/app.php:121 -msgid "AIM" -msgstr "" - -#: lib/app.php:126 -msgid "MSN" -msgstr "" - -#: lib/app.php:131 -msgid "Twitter" -msgstr "" - -#: lib/app.php:136 -msgid "GoogleTalk" -msgstr "" - -#: lib/app.php:141 -msgid "Facebook" -msgstr "" - -#: lib/app.php:146 -msgid "XMPP" -msgstr "" - -#: lib/app.php:151 -msgid "ICQ" -msgstr "" - -#: lib/app.php:156 -msgid "Yahoo" -msgstr "" - -#: lib/app.php:161 -msgid "Skype" -msgstr "" - -#: lib/app.php:166 -msgid "QQ" -msgstr "" - -#: lib/app.php:171 -msgid "GaduGadu" -msgstr "" - -#: lib/app.php:194 lib/app.php:202 lib/app.php:213 lib/app.php:266 -msgid "Work" -msgstr "Práca" - -#: lib/app.php:195 lib/app.php:200 lib/app.php:214 -msgid "Home" -msgstr "Domov" - -#: lib/app.php:196 lib/app.php:209 lib/app.php:262 lib/vcard.php:593 -msgid "Other" -msgstr "Iné" - -#: lib/app.php:201 -msgid "Mobile" -msgstr "Mobil" - -#: lib/app.php:203 -msgid "Text" -msgstr "SMS" - -#: lib/app.php:204 -msgid "Voice" -msgstr "Odkazová schránka" - -#: lib/app.php:205 -msgid "Message" -msgstr "Správa" - -#: lib/app.php:206 -msgid "Fax" -msgstr "Fax" - -#: lib/app.php:207 -msgid "Video" -msgstr "Video" - -#: lib/app.php:208 -msgid "Pager" -msgstr "Pager" - -#: lib/app.php:215 -msgid "Internet" -msgstr "Internet" - -#: lib/app.php:252 templates/part.contact.php:45 -#: templates/part.contact.php:128 -msgid "Birthday" -msgstr "Narodeniny" - -#: lib/app.php:253 -msgid "Business" -msgstr "Biznis" - -#: lib/app.php:254 -msgid "Call" -msgstr "" - -#: lib/app.php:255 -msgid "Clients" -msgstr "Klienti" - -#: lib/app.php:256 -msgid "Deliverer" -msgstr "" - -#: lib/app.php:257 -msgid "Holidays" -msgstr "Prázdniny" - -#: lib/app.php:258 -msgid "Ideas" -msgstr "" - -#: lib/app.php:259 -msgid "Journey" -msgstr "" - -#: lib/app.php:260 -msgid "Jubilee" -msgstr "" - -#: lib/app.php:261 -msgid "Meeting" -msgstr "Stretnutie" - -#: lib/app.php:263 -msgid "Personal" -msgstr "" - -#: lib/app.php:264 -msgid "Projects" -msgstr "Projekty" - -#: lib/app.php:265 -msgid "Questions" -msgstr "Otázky" - -#: lib/hooks.php:102 -msgid "{name}'s Birthday" -msgstr "Narodeniny {name}" - -#: lib/search.php:15 -msgid "Contact" -msgstr "Kontakt" - -#: lib/vcard.php:408 -msgid "You do not have the permissions to edit this contact." -msgstr "" - -#: lib/vcard.php:483 -msgid "You do not have the permissions to delete this contact." -msgstr "" - -#: templates/index.php:14 -msgid "Add Contact" -msgstr "Pridať Kontakt." - -#: templates/index.php:15 templates/index.php:16 templates/part.import.php:17 -msgid "Import" -msgstr "Importovať" - -#: templates/index.php:18 -msgid "Settings" -msgstr "" - -#: templates/index.php:18 templates/settings.php:9 -msgid "Addressbooks" -msgstr "Adresáre" - -#: templates/index.php:36 templates/part.import.php:24 -msgid "Close" -msgstr "Zatvoriť" - -#: templates/index.php:37 -msgid "Keyboard shortcuts" -msgstr "Klávesové skratky" - -#: templates/index.php:39 -msgid "Navigation" -msgstr "Navigácia" - -#: templates/index.php:42 -msgid "Next contact in list" -msgstr "Ďalší kontakt v zozname" - -#: templates/index.php:44 -msgid "Previous contact in list" -msgstr "Predchádzajúci kontakt v zozname" - -#: templates/index.php:46 -msgid "Expand/collapse current addressbook" -msgstr "" - -#: templates/index.php:48 -msgid "Next addressbook" -msgstr "" - -#: templates/index.php:50 -msgid "Previous addressbook" -msgstr "" - -#: templates/index.php:54 -msgid "Actions" -msgstr "Akcie" - -#: templates/index.php:57 -msgid "Refresh contacts list" -msgstr "Obnov zoznam kontaktov" - -#: templates/index.php:59 -msgid "Add new contact" -msgstr "Pridaj nový kontakt" - -#: templates/index.php:61 -msgid "Add new addressbook" -msgstr "Pridaj nový adresár" - -#: templates/index.php:63 -msgid "Delete current contact" -msgstr "Vymaž súčasný kontakt" - -#: templates/part.contact.php:17 -msgid "Drop photo to upload" -msgstr "Pretiahnite sem fotku pre nahratie" - -#: templates/part.contact.php:19 -msgid "Delete current photo" -msgstr "Odstrániť súčasnú fotku" - -#: templates/part.contact.php:20 -msgid "Edit current photo" -msgstr "Upraviť súčasnú fotku" - -#: templates/part.contact.php:21 -msgid "Upload new photo" -msgstr "Nahrať novú fotku" - -#: templates/part.contact.php:22 -msgid "Select photo from ownCloud" -msgstr "Vybrať fotku z ownCloud" - -#: templates/part.contact.php:35 -msgid "Format custom, Short name, Full name, Reverse or Reverse with comma" -msgstr "Formát vlastný, krátke meno, celé meno, obrátené alebo obrátené s čiarkami" - -#: templates/part.contact.php:36 -msgid "Edit name details" -msgstr "Upraviť podrobnosti mena" - -#: templates/part.contact.php:39 templates/part.contact.php:40 -#: templates/part.contact.php:126 -msgid "Organization" -msgstr "Organizácia" - -#: templates/part.contact.php:40 templates/part.contact.php:42 -#: templates/part.contact.php:44 templates/part.contact.php:46 -#: templates/part.contact.php:50 templates/settings.php:36 -msgid "Delete" -msgstr "Odstrániť" - -#: templates/part.contact.php:41 templates/part.contact.php:127 -msgid "Nickname" -msgstr "Prezývka" - -#: templates/part.contact.php:42 -msgid "Enter nickname" -msgstr "Zadajte prezývku" - -#: templates/part.contact.php:43 templates/part.contact.php:134 -msgid "Web site" -msgstr "" - -#: templates/part.contact.php:44 -msgid "http://www.somesite.com" -msgstr "" - -#: templates/part.contact.php:44 -msgid "Go to web site" -msgstr "" - -#: templates/part.contact.php:46 -msgid "dd-mm-yyyy" -msgstr "dd. mm. yyyy" - -#: templates/part.contact.php:47 templates/part.contact.php:135 -msgid "Groups" -msgstr "Skupiny" - -#: templates/part.contact.php:49 -msgid "Separate groups with commas" -msgstr "Oddelte skupiny čiarkami" - -#: templates/part.contact.php:50 -msgid "Edit groups" -msgstr "Úprava skupín" - -#: templates/part.contact.php:59 templates/part.contact.php:73 -#: templates/part.contact.php:98 -msgid "Preferred" -msgstr "Uprednostňované" - -#: templates/part.contact.php:60 -msgid "Please specify a valid email address." -msgstr "Prosím zadajte platnú e-mailovú adresu." - -#: templates/part.contact.php:60 -msgid "Enter email address" -msgstr "Zadajte e-mailové adresy" - -#: templates/part.contact.php:64 -msgid "Mail to address" -msgstr "Odoslať na adresu" - -#: templates/part.contact.php:65 -msgid "Delete email address" -msgstr "Odstrániť e-mailové adresy" - -#: templates/part.contact.php:75 -msgid "Enter phone number" -msgstr "Zadajte telefónne číslo" - -#: templates/part.contact.php:79 -msgid "Delete phone number" -msgstr "Odstrániť telefónne číslo" - -#: templates/part.contact.php:100 -msgid "Instant Messenger" -msgstr "" - -#: templates/part.contact.php:101 -msgid "Delete IM" -msgstr "" - -#: templates/part.contact.php:110 -msgid "View on map" -msgstr "Zobraziť na mape" - -#: templates/part.contact.php:110 -msgid "Edit address details" -msgstr "Upraviť podrobnosti adresy" - -#: templates/part.contact.php:116 -msgid "Add notes here." -msgstr "Tu môžete pridať poznámky." - -#: templates/part.contact.php:124 -msgid "Add field" -msgstr "Pridať pole" - -#: templates/part.contact.php:129 -msgid "Phone" -msgstr "Telefón" - -#: templates/part.contact.php:130 -msgid "Email" -msgstr "E-mail" - -#: templates/part.contact.php:131 -msgid "Instant Messaging" -msgstr "" - -#: templates/part.contact.php:132 -msgid "Address" -msgstr "Adresa" - -#: templates/part.contact.php:133 -msgid "Note" -msgstr "Poznámka" - -#: templates/part.contact.php:138 -msgid "Download contact" -msgstr "Stiahnuť kontakt" - -#: templates/part.contact.php:139 -msgid "Delete contact" -msgstr "Odstrániť kontakt" - -#: templates/part.cropphoto.php:65 -msgid "The temporary image has been removed from cache." -msgstr "Dočasný obrázok bol odstránený z cache." - -#: templates/part.edit_address_dialog.php:6 -msgid "Edit address" -msgstr "Upraviť adresu" - -#: templates/part.edit_address_dialog.php:10 -msgid "Type" -msgstr "Typ" - -#: templates/part.edit_address_dialog.php:18 -#: templates/part.edit_address_dialog.php:21 -msgid "PO Box" -msgstr "PO Box" - -#: templates/part.edit_address_dialog.php:24 -msgid "Street address" -msgstr "Ulica" - -#: templates/part.edit_address_dialog.php:27 -msgid "Street and number" -msgstr "Ulica a číslo" - -#: templates/part.edit_address_dialog.php:30 -msgid "Extended" -msgstr "Rozšírené" - -#: templates/part.edit_address_dialog.php:33 -msgid "Apartment number etc." -msgstr "" - -#: templates/part.edit_address_dialog.php:36 -#: templates/part.edit_address_dialog.php:39 -msgid "City" -msgstr "Mesto" - -#: templates/part.edit_address_dialog.php:42 -msgid "Region" -msgstr "Región" - -#: templates/part.edit_address_dialog.php:45 -msgid "E.g. state or province" -msgstr "" - -#: templates/part.edit_address_dialog.php:48 -msgid "Zipcode" -msgstr "PSČ" - -#: templates/part.edit_address_dialog.php:51 -msgid "Postal code" -msgstr "PSČ" - -#: templates/part.edit_address_dialog.php:54 -#: templates/part.edit_address_dialog.php:57 -msgid "Country" -msgstr "Krajina" - -#: templates/part.edit_name_dialog.php:16 -msgid "Addressbook" -msgstr "Adresár" - -#: templates/part.edit_name_dialog.php:23 -msgid "Hon. prefixes" -msgstr "Tituly pred" - -#: templates/part.edit_name_dialog.php:27 -msgid "Miss" -msgstr "Slečna" - -#: templates/part.edit_name_dialog.php:28 -msgid "Ms" -msgstr "Pani" - -#: templates/part.edit_name_dialog.php:29 -msgid "Mr" -msgstr "Pán" - -#: templates/part.edit_name_dialog.php:30 -msgid "Sir" -msgstr "Sir" - -#: templates/part.edit_name_dialog.php:31 -msgid "Mrs" -msgstr "Pani" - -#: templates/part.edit_name_dialog.php:32 -msgid "Dr" -msgstr "Dr." - -#: templates/part.edit_name_dialog.php:35 -msgid "Given name" -msgstr "Krstné meno" - -#: templates/part.edit_name_dialog.php:37 -msgid "Additional names" -msgstr "Ďalšie mená" - -#: templates/part.edit_name_dialog.php:39 -msgid "Family name" -msgstr "Priezvisko" - -#: templates/part.edit_name_dialog.php:41 -msgid "Hon. suffixes" -msgstr "Tituly za" - -#: templates/part.edit_name_dialog.php:45 -msgid "J.D." -msgstr "JUDr." - -#: templates/part.edit_name_dialog.php:46 -msgid "M.D." -msgstr "MUDr." - -#: templates/part.edit_name_dialog.php:47 -msgid "D.O." -msgstr "D.O." - -#: templates/part.edit_name_dialog.php:48 -msgid "D.C." -msgstr "D.C." - -#: templates/part.edit_name_dialog.php:49 -msgid "Ph.D." -msgstr "Ph.D." - -#: templates/part.edit_name_dialog.php:50 -msgid "Esq." -msgstr "Esq." - -#: templates/part.edit_name_dialog.php:51 -msgid "Jr." -msgstr "ml." - -#: templates/part.edit_name_dialog.php:52 -msgid "Sn." -msgstr "st." - -#: templates/part.import.php:1 -msgid "Import a contacts file" -msgstr "Importovať súbor kontaktu" - -#: templates/part.import.php:6 -msgid "Please choose the addressbook" -msgstr "Prosím zvolte adresár" - -#: templates/part.import.php:10 -msgid "create a new addressbook" -msgstr "vytvoriť nový adresár" - -#: templates/part.import.php:15 -msgid "Name of new addressbook" -msgstr "Meno nového adresára" - -#: templates/part.import.php:20 -msgid "Importing contacts" -msgstr "Importovanie kontaktov" - -#: templates/part.no_contacts.php:3 -msgid "You have no contacts in your addressbook." -msgstr "Nemáte žiadne kontakty v adresári." - -#: templates/part.no_contacts.php:5 -msgid "Add contact" -msgstr "Pridať kontakt" - -#: templates/part.selectaddressbook.php:1 -msgid "Select Address Books" -msgstr "" - -#: templates/part.selectaddressbook.php:27 -msgid "Enter name" -msgstr "Zadaj meno" - -#: templates/part.selectaddressbook.php:29 -msgid "Enter description" -msgstr "" - -#: templates/settings.php:3 -msgid "CardDAV syncing addresses" -msgstr "Adresy pre synchronizáciu s CardDAV" - -#: templates/settings.php:3 -msgid "more info" -msgstr "viac informácií" - -#: templates/settings.php:5 -msgid "Primary address (Kontact et al)" -msgstr "Predvolená adresa (Kontakt etc)" - -#: templates/settings.php:7 -msgid "iOS/OS X" -msgstr "iOS/OS X" - -#: templates/settings.php:20 -msgid "Show CardDav link" -msgstr "" - -#: templates/settings.php:23 -msgid "Show read-only VCF link" -msgstr "" - -#: templates/settings.php:26 -msgid "Share" -msgstr "" - -#: templates/settings.php:29 -msgid "Download" -msgstr "Stiahnuť" - -#: templates/settings.php:33 -msgid "Edit" -msgstr "Upraviť" - -#: templates/settings.php:43 -msgid "New Address Book" -msgstr "Nový adresár" - -#: templates/settings.php:44 -msgid "Name" -msgstr "" - -#: templates/settings.php:45 -msgid "Description" -msgstr "" - -#: templates/settings.php:46 -msgid "Save" -msgstr "Uložiť" - -#: templates/settings.php:47 -msgid "Cancel" -msgstr "Zrušiť" - -#: templates/settings.php:52 -msgid "More..." -msgstr "" diff --git a/l10n/sk_SK/core.po b/l10n/sk_SK/core.po index b362f1c0f4bff18e4bf435c46eacfbf3f2c727b5..711f7133799b3b2679075806601b75250c52690f 100644 --- a/l10n/sk_SK/core.po +++ b/l10n/sk_SK/core.po @@ -6,13 +6,14 @@ # , 2011, 2012. # , 2012. # Roman Priesol , 2012. +# , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-16 02:04+0200\n" -"PO-Revision-Date: 2012-10-16 00:05+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-12-02 00:02+0100\n" +"PO-Revision-Date: 2012-12-01 16:24+0000\n" +"Last-Translator: martin \n" "Language-Team: Slovak (Slovakia) (http://www.transifex.com/projects/p/owncloud/language/sk_SK/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -20,209 +21,241 @@ msgstr "" "Language: sk_SK\n" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" -#: ajax/vcategories/add.php:23 ajax/vcategories/delete.php:23 -msgid "Application name not provided." -msgstr "Meno aplikácie nezadané." +#: ajax/vcategories/add.php:26 ajax/vcategories/edit.php:25 +msgid "Category type not provided." +msgstr "Neposkytnutý kategorický typ." -#: ajax/vcategories/add.php:29 +#: ajax/vcategories/add.php:30 msgid "No category to add?" msgstr "Žiadna kategória pre pridanie?" -#: ajax/vcategories/add.php:36 +#: ajax/vcategories/add.php:37 msgid "This category already exists: " msgstr "Táto kategória už existuje:" -#: js/js.js:238 templates/layout.user.php:49 templates/layout.user.php:50 +#: ajax/vcategories/addToFavorites.php:26 ajax/vcategories/delete.php:27 +#: ajax/vcategories/favorites.php:24 +#: ajax/vcategories/removeFromFavorites.php:26 +msgid "Object type not provided." +msgstr "Neposkytnutý typ objektu." + +#: ajax/vcategories/addToFavorites.php:30 +#: ajax/vcategories/removeFromFavorites.php:30 +#, php-format +msgid "%s ID not provided." +msgstr "%s ID neposkytnuté." + +#: ajax/vcategories/addToFavorites.php:35 +#, php-format +msgid "Error adding %s to favorites." +msgstr "Chyba pri pridávaní %s do obľúbených položiek." + +#: ajax/vcategories/delete.php:35 js/oc-vcategories.js:136 +msgid "No categories selected for deletion." +msgstr "Neboli vybrané žiadne kategórie pre odstránenie." + +#: ajax/vcategories/removeFromFavorites.php:35 +#, php-format +msgid "Error removing %s from favorites." +msgstr "Chyba pri odstraňovaní %s z obľúbených položiek." + +#: js/js.js:259 templates/layout.user.php:60 templates/layout.user.php:61 msgid "Settings" msgstr "Nastavenia" -#: js/js.js:670 -msgid "January" -msgstr "Január" +#: js/js.js:704 +msgid "seconds ago" +msgstr "pred sekundami" -#: js/js.js:670 -msgid "February" -msgstr "Február" +#: js/js.js:705 +msgid "1 minute ago" +msgstr "pred minútou" -#: js/js.js:670 -msgid "March" -msgstr "Marec" +#: js/js.js:706 +msgid "{minutes} minutes ago" +msgstr "pred {minutes} minútami" -#: js/js.js:670 -msgid "April" -msgstr "Apríl" +#: js/js.js:707 +msgid "1 hour ago" +msgstr "Pred 1 hodinou." -#: js/js.js:670 -msgid "May" -msgstr "Máj" +#: js/js.js:708 +msgid "{hours} hours ago" +msgstr "Pred {hours} hodinami." -#: js/js.js:670 -msgid "June" -msgstr "Jún" +#: js/js.js:709 +msgid "today" +msgstr "dnes" -#: js/js.js:671 -msgid "July" -msgstr "Júl" +#: js/js.js:710 +msgid "yesterday" +msgstr "včera" -#: js/js.js:671 -msgid "August" -msgstr "August" +#: js/js.js:711 +msgid "{days} days ago" +msgstr "pred {days} dňami" -#: js/js.js:671 -msgid "September" -msgstr "September" +#: js/js.js:712 +msgid "last month" +msgstr "minulý mesiac" -#: js/js.js:671 -msgid "October" -msgstr "Október" +#: js/js.js:713 +msgid "{months} months ago" +msgstr "Pred {months} mesiacmi." -#: js/js.js:671 -msgid "November" -msgstr "November" +#: js/js.js:714 +msgid "months ago" +msgstr "pred mesiacmi" -#: js/js.js:671 -msgid "December" -msgstr "December" +#: js/js.js:715 +msgid "last year" +msgstr "minulý rok" + +#: js/js.js:716 +msgid "years ago" +msgstr "pred rokmi" -#: js/oc-dialogs.js:123 +#: js/oc-dialogs.js:126 msgid "Choose" msgstr "Výber" -#: js/oc-dialogs.js:143 js/oc-dialogs.js:163 +#: js/oc-dialogs.js:146 js/oc-dialogs.js:166 msgid "Cancel" msgstr "Zrušiť" -#: js/oc-dialogs.js:159 +#: js/oc-dialogs.js:162 msgid "No" msgstr "Nie" -#: js/oc-dialogs.js:160 +#: js/oc-dialogs.js:163 msgid "Yes" msgstr "Áno" -#: js/oc-dialogs.js:177 +#: js/oc-dialogs.js:180 msgid "Ok" msgstr "Ok" -#: js/oc-vcategories.js:68 -msgid "No categories selected for deletion." -msgstr "Neboli vybrané žiadne kategórie pre odstránenie." +#: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102 +#: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162 +msgid "The object type is not specified." +msgstr "Nešpecifikovaný typ objektu." -#: js/oc-vcategories.js:68 js/share.js:114 js/share.js:121 js/share.js:497 -#: js/share.js:509 +#: js/oc-vcategories.js:95 js/oc-vcategories.js:125 js/oc-vcategories.js:136 +#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:533 +#: js/share.js:545 msgid "Error" msgstr "Chyba" -#: js/share.js:103 +#: js/oc-vcategories.js:179 +msgid "The app name is not specified." +msgstr "Nešpecifikované meno aplikácie." + +#: js/oc-vcategories.js:194 +msgid "The required file {file} is not installed!" +msgstr "Požadovaný súbor {file} nie je inštalovaný!" + +#: js/share.js:124 msgid "Error while sharing" msgstr "Chyba počas zdieľania" -#: js/share.js:114 +#: js/share.js:135 msgid "Error while unsharing" msgstr "Chyba počas ukončenia zdieľania" -#: js/share.js:121 +#: js/share.js:142 msgid "Error while changing permissions" msgstr "Chyba počas zmeny oprávnení" -#: js/share.js:130 -msgid "Shared with you and the group" -msgstr "Zdieľané s vami a so skupinou" - -#: js/share.js:130 -msgid "by" -msgstr "od" +#: js/share.js:151 +msgid "Shared with you and the group {group} by {owner}" +msgstr "Zdieľané s vami a so skupinou {group} používateľom {owner}" -#: js/share.js:132 -msgid "Shared with you by" -msgstr "Zdieľané s vami od" +#: js/share.js:153 +msgid "Shared with you by {owner}" +msgstr "Zdieľané s vami používateľom {owner}" -#: js/share.js:137 +#: js/share.js:158 msgid "Share with" msgstr "Zdieľať s" -#: js/share.js:142 +#: js/share.js:163 msgid "Share with link" msgstr "Zdieľať cez odkaz" -#: js/share.js:143 +#: js/share.js:164 msgid "Password protect" msgstr "Chrániť heslom" -#: js/share.js:147 templates/installation.php:42 templates/login.php:24 +#: js/share.js:168 templates/installation.php:42 templates/login.php:24 #: templates/verify.php:13 msgid "Password" msgstr "Heslo" -#: js/share.js:152 +#: js/share.js:173 msgid "Set expiration date" msgstr "Nastaviť dátum expirácie" -#: js/share.js:153 +#: js/share.js:174 msgid "Expiration date" msgstr "Dátum expirácie" -#: js/share.js:185 +#: js/share.js:206 msgid "Share via email:" msgstr "Zdieľať cez e-mail:" -#: js/share.js:187 +#: js/share.js:208 msgid "No people found" msgstr "Užívateľ nenájdený" -#: js/share.js:214 +#: js/share.js:235 msgid "Resharing is not allowed" -msgstr "" - -#: js/share.js:250 -msgid "Shared in" -msgstr "" - -#: js/share.js:250 -msgid "with" -msgstr "s" +msgstr "Zdieľanie už zdieľanej položky nie je povolené" #: js/share.js:271 +msgid "Shared in {item} with {user}" +msgstr "Zdieľané v {item} s {user}" + +#: js/share.js:292 msgid "Unshare" msgstr "Zrušiť zdieľanie" -#: js/share.js:283 +#: js/share.js:304 msgid "can edit" -msgstr "" +msgstr "môže upraviť" -#: js/share.js:285 +#: js/share.js:306 msgid "access control" msgstr "riadenie prístupu" -#: js/share.js:288 +#: js/share.js:309 msgid "create" msgstr "vytvoriť" -#: js/share.js:291 +#: js/share.js:312 msgid "update" -msgstr "" +msgstr "aktualizácia" -#: js/share.js:294 +#: js/share.js:315 msgid "delete" msgstr "zmazať" -#: js/share.js:297 +#: js/share.js:318 msgid "share" msgstr "zdieľať" -#: js/share.js:322 js/share.js:484 +#: js/share.js:349 js/share.js:520 js/share.js:522 msgid "Password protected" msgstr "Chránené heslom" -#: js/share.js:497 +#: js/share.js:533 msgid "Error unsetting expiration date" -msgstr "" +msgstr "Chyba pri odstraňovaní dátumu vypršania platnosti" -#: js/share.js:509 +#: js/share.js:545 msgid "Error setting expiration date" -msgstr "" +msgstr "Chyba pri nastavení dátumu vypršania platnosti" -#: lostpassword/index.php:26 +#: lostpassword/controller.php:47 msgid "ownCloud password reset" msgstr "Obnovenie hesla pre ownCloud" @@ -232,15 +265,15 @@ msgstr "Použite nasledujúci odkaz pre obnovenie vášho hesla: {link}" #: lostpassword/templates/lostpassword.php:3 msgid "You will receive a link to reset your password via Email." -msgstr "Odkaz pre obnovenie hesla obdržíte E-mailom." +msgstr "Odkaz pre obnovenie hesla obdržíte e-mailom." #: lostpassword/templates/lostpassword.php:5 -msgid "Requested" -msgstr "Požiadané" +msgid "Reset email send." +msgstr "Obnovovací email bol odoslaný." #: lostpassword/templates/lostpassword.php:8 -msgid "Login failed!" -msgstr "Prihlásenie zlyhalo!" +msgid "Request failed!" +msgstr "Požiadavka zlyhala!" #: lostpassword/templates/lostpassword.php:11 templates/installation.php:38 #: templates/login.php:20 @@ -299,25 +332,25 @@ msgstr "Nenájdené" msgid "Edit categories" msgstr "Úprava kategórií" -#: templates/edit_categories_dialog.php:14 +#: templates/edit_categories_dialog.php:16 msgid "Add" msgstr "Pridať" #: templates/installation.php:23 templates/installation.php:31 msgid "Security Warning" -msgstr "" +msgstr "Bezpečnostné varovanie" #: templates/installation.php:24 msgid "" "No secure random number generator is available, please enable the PHP " "OpenSSL extension." -msgstr "" +msgstr "Nie je dostupný žiadny bezpečný generátor náhodných čísel, prosím, povoľte rozšírenie OpenSSL v PHP." #: templates/installation.php:26 msgid "" "Without a secure random number generator an attacker may be able to predict " "password reset tokens and take over your account." -msgstr "" +msgstr "Bez bezpečného generátora náhodných čísel môže útočník predpovedať token pre obnovu hesla a prevziať kontrolu nad vaším kontom." #: templates/installation.php:32 msgid "" @@ -326,7 +359,7 @@ msgid "" "strongly suggest that you configure your webserver in a way that the data " "directory is no longer accessible or you move the data directory outside the" " webserver document root." -msgstr "" +msgstr "Váš priečinok s dátami a Vaše súbory sú pravdepodobne dostupné z internetu. .htaccess súbor dodávaný s inštaláciou ownCloud nespĺňa úlohu. Dôrazne Vám doporučujeme nakonfigurovať webserver takým spôsobom, aby dáta v priečinku neboli verejné, alebo presuňte dáta mimo štruktúry priečinkov webservera." #: templates/installation.php:36 msgid "Create an admin account" @@ -363,7 +396,7 @@ msgstr "Meno databázy" #: templates/installation.php:121 msgid "Database tablespace" -msgstr "" +msgstr "Tabuľkový priestor databázy" #: templates/installation.php:127 msgid "Database host" @@ -373,27 +406,103 @@ msgstr "Server databázy" msgid "Finish setup" msgstr "Dokončiť inštaláciu" -#: templates/layout.guest.php:38 +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Sunday" +msgstr "Nedeľa" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Monday" +msgstr "Pondelok" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Tuesday" +msgstr "Utorok" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Wednesday" +msgstr "Streda" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Thursday" +msgstr "Štvrtok" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Friday" +msgstr "Piatok" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Saturday" +msgstr "Sobota" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "January" +msgstr "Január" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "February" +msgstr "Február" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "March" +msgstr "Marec" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "April" +msgstr "Apríl" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "May" +msgstr "Máj" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "June" +msgstr "Jún" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "July" +msgstr "Júl" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "August" +msgstr "August" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "September" +msgstr "September" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "October" +msgstr "Október" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "November" +msgstr "November" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "December" +msgstr "December" + +#: templates/layout.guest.php:42 msgid "web services under your control" msgstr "webové služby pod vašou kontrolou" -#: templates/layout.user.php:34 +#: templates/layout.user.php:45 msgid "Log out" msgstr "Odhlásiť" #: templates/login.php:8 msgid "Automatic logon rejected!" -msgstr "" +msgstr "Automatické prihlásenie bolo zamietnuté!" #: templates/login.php:9 msgid "" "If you did not change your password recently, your account may be " "compromised!" -msgstr "" +msgstr "V nedávnej dobe ste nezmenili svoje heslo, Váš účet môže byť kompromitovaný." #: templates/login.php:10 msgid "Please change your password to secure your account again." -msgstr "" +msgstr "Prosím, zmeňte svoje heslo pre opätovné zabezpečenie Vášho účtu" #: templates/login.php:15 msgid "Lost your password?" @@ -421,14 +530,14 @@ msgstr "ďalej" #: templates/verify.php:5 msgid "Security Warning!" -msgstr "" +msgstr "Bezpečnostné varovanie!" #: templates/verify.php:6 msgid "" "Please verify your password.
For security reasons you may be " "occasionally asked to enter your password again." -msgstr "" +msgstr "Prosím, overte svoje heslo.
Z bezpečnostných dôvodov môžete byť občas požiadaný o jeho opätovné zadanie." #: templates/verify.php:16 msgid "Verify" -msgstr "" +msgstr "Overenie" diff --git a/l10n/sk_SK/files.po b/l10n/sk_SK/files.po index 471364ef5e6f37dd16ced65a7c0a75ec9806e463..d55899f3b3ed43513afd3455e29d3473cbf7c639 100644 --- a/l10n/sk_SK/files.po +++ b/l10n/sk_SK/files.po @@ -6,13 +6,14 @@ # , 2012. # , 2012. # Roman Priesol , 2012. +# , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-02 02:02+0200\n" -"PO-Revision-Date: 2012-10-01 08:38+0000\n" -"Last-Translator: martinb \n" +"POT-Creation-Date: 2012-12-02 00:02+0100\n" +"PO-Revision-Date: 2012-12-01 16:18+0000\n" +"Last-Translator: martin \n" "Language-Team: Slovak (Slovakia) (http://www.transifex.com/projects/p/owncloud/language/sk_SK/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -25,195 +26,166 @@ msgid "There is no error, the file uploaded with success" msgstr "Nenastala žiadna chyba, súbor bol úspešne nahraný" #: ajax/upload.php:21 -msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" -msgstr "Nahraný súbor presiahol direktívu upload_max_filesize v php.ini" +msgid "" +"The uploaded file exceeds the upload_max_filesize directive in php.ini: " +msgstr "Nahraný súbor predčil konfiguračnú direktívu upload_max_filesize v súbore php.ini:" -#: ajax/upload.php:22 +#: ajax/upload.php:23 msgid "" "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " "the HTML form" msgstr "Nahrávaný súbor presiahol MAX_FILE_SIZE direktívu, ktorá bola špecifikovaná v HTML formulári" -#: ajax/upload.php:23 +#: ajax/upload.php:25 msgid "The uploaded file was only partially uploaded" msgstr "Nahrávaný súbor bol iba čiastočne nahraný" -#: ajax/upload.php:24 +#: ajax/upload.php:26 msgid "No file was uploaded" msgstr "Žiaden súbor nebol nahraný" -#: ajax/upload.php:25 +#: ajax/upload.php:27 msgid "Missing a temporary folder" msgstr "Chýbajúci dočasný priečinok" -#: ajax/upload.php:26 +#: ajax/upload.php:28 msgid "Failed to write to disk" msgstr "Zápis na disk sa nepodaril" -#: appinfo/app.php:6 +#: appinfo/app.php:10 msgid "Files" msgstr "Súbory" -#: js/fileactions.js:108 templates/index.php:62 +#: js/fileactions.js:117 templates/index.php:83 templates/index.php:84 msgid "Unshare" msgstr "Nezdielať" -#: js/fileactions.js:110 templates/index.php:64 +#: js/fileactions.js:119 templates/index.php:89 templates/index.php:90 msgid "Delete" msgstr "Odstrániť" -#: js/fileactions.js:182 +#: js/fileactions.js:181 msgid "Rename" msgstr "Premenovať" -#: js/filelist.js:190 js/filelist.js:192 -msgid "already exists" -msgstr "už existuje" +#: js/filelist.js:201 js/filelist.js:203 +msgid "{new_name} already exists" +msgstr "{new_name} už existuje" -#: js/filelist.js:190 js/filelist.js:192 +#: js/filelist.js:201 js/filelist.js:203 msgid "replace" msgstr "nahradiť" -#: js/filelist.js:190 +#: js/filelist.js:201 msgid "suggest name" msgstr "pomôcť s menom" -#: js/filelist.js:190 js/filelist.js:192 +#: js/filelist.js:201 js/filelist.js:203 msgid "cancel" msgstr "zrušiť" -#: js/filelist.js:239 js/filelist.js:241 -msgid "replaced" -msgstr "zmenené" +#: js/filelist.js:250 +msgid "replaced {new_name}" +msgstr "prepísaný {new_name}" -#: js/filelist.js:239 js/filelist.js:241 js/filelist.js:273 js/filelist.js:275 +#: js/filelist.js:250 js/filelist.js:252 js/filelist.js:284 js/filelist.js:286 msgid "undo" msgstr "vrátiť" -#: js/filelist.js:241 -msgid "with" -msgstr "s" +#: js/filelist.js:252 +msgid "replaced {new_name} with {old_name}" +msgstr "prepísaný {new_name} súborom {old_name}" + +#: js/filelist.js:284 +msgid "unshared {files}" +msgstr "zdieľanie zrušené pre {files}" -#: js/filelist.js:273 -msgid "unshared" -msgstr "zdielané" +#: js/filelist.js:286 +msgid "deleted {files}" +msgstr "zmazané {files}" -#: js/filelist.js:275 -msgid "deleted" -msgstr "zmazané" +#: js/files.js:33 +msgid "" +"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not " +"allowed." +msgstr "Nesprávne meno, '\\', '/', '<', '>', ':', '\"', '|', '?' a '*' nie sú povolené hodnoty." -#: js/files.js:179 +#: js/files.js:183 msgid "generating ZIP-file, it may take some time." msgstr "generujem ZIP-súbor, môže to chvíľu trvať." -#: js/files.js:208 +#: js/files.js:218 msgid "Unable to upload your file as it is a directory or has 0 bytes" msgstr "Nemôžem nahrať súbor lebo je to priečinok alebo má 0 bajtov." -#: js/files.js:208 +#: js/files.js:218 msgid "Upload Error" -msgstr "Chyba nahrávania" +msgstr "Chyba odosielania" + +#: js/files.js:235 +msgid "Close" +msgstr "Zavrieť" -#: js/files.js:236 js/files.js:341 js/files.js:371 +#: js/files.js:254 js/files.js:368 js/files.js:398 msgid "Pending" msgstr "Čaká sa" -#: js/files.js:256 +#: js/files.js:274 msgid "1 file uploading" msgstr "1 súbor sa posiela " -#: js/files.js:259 js/files.js:304 js/files.js:319 -msgid "files uploading" -msgstr "súbory sa posielajú" +#: js/files.js:277 js/files.js:331 js/files.js:346 +msgid "{count} files uploading" +msgstr "{count} súborov odosielaných" -#: js/files.js:322 js/files.js:355 +#: js/files.js:349 js/files.js:382 msgid "Upload cancelled." -msgstr "Nahrávanie zrušené" +msgstr "Odosielanie zrušené" -#: js/files.js:424 +#: js/files.js:451 msgid "" "File upload is in progress. Leaving the page now will cancel the upload." msgstr "Opustenie stránky zruší práve prebiehajúce odosielanie súboru." -#: js/files.js:494 -msgid "Invalid name, '/' is not allowed." -msgstr "Chybný názov, \"/\" nie je povolené" +#: js/files.js:523 +msgid "Invalid folder name. Usage of \"Shared\" is reserved by Owncloud" +msgstr "Nesprávne meno adresára. Použitie slova \"Shared\" (Zdieľané) je vyhradené službou ownCloud." -#: js/files.js:668 -msgid "files scanned" -msgstr "skontrolovaných súborov" +#: js/files.js:704 +msgid "{count} files scanned" +msgstr "{count} súborov prehľadaných" -#: js/files.js:676 +#: js/files.js:712 msgid "error while scanning" msgstr "chyba počas kontroly" -#: js/files.js:749 templates/index.php:48 +#: js/files.js:785 templates/index.php:65 msgid "Name" msgstr "Meno" -#: js/files.js:750 templates/index.php:56 +#: js/files.js:786 templates/index.php:76 msgid "Size" msgstr "Veľkosť" -#: js/files.js:751 templates/index.php:58 +#: js/files.js:787 templates/index.php:78 msgid "Modified" msgstr "Upravené" -#: js/files.js:778 -msgid "folder" -msgstr "priečinok" - -#: js/files.js:780 -msgid "folders" -msgstr "priečinky" - -#: js/files.js:788 -msgid "file" -msgstr "súbor" - -#: js/files.js:790 -msgid "files" -msgstr "súbory" - -#: js/files.js:834 -msgid "seconds ago" -msgstr "pred sekundami" - -#: js/files.js:835 -msgid "minute ago" -msgstr "pred minútou" - -#: js/files.js:836 -msgid "minutes ago" -msgstr "pred minútami" +#: js/files.js:814 +msgid "1 folder" +msgstr "1 priečinok" -#: js/files.js:839 -msgid "today" -msgstr "dnes" +#: js/files.js:816 +msgid "{count} folders" +msgstr "{count} priečinkov" -#: js/files.js:840 -msgid "yesterday" -msgstr "včera" +#: js/files.js:824 +msgid "1 file" +msgstr "1 súbor" -#: js/files.js:841 -msgid "days ago" -msgstr "pred pár dňami" - -#: js/files.js:842 -msgid "last month" -msgstr "minulý mesiac" - -#: js/files.js:844 -msgid "months ago" -msgstr "pred mesiacmi" - -#: js/files.js:845 -msgid "last year" -msgstr "minulý rok" - -#: js/files.js:846 -msgid "years ago" -msgstr "pred rokmi" +#: js/files.js:826 +msgid "{count} files" +msgstr "{count} súborov" #: templates/admin.php:5 msgid "File handling" @@ -223,27 +195,27 @@ msgstr "Nastavenie správanie k súborom" msgid "Maximum upload size" msgstr "Maximálna veľkosť odosielaného súboru" -#: templates/admin.php:7 +#: templates/admin.php:9 msgid "max. possible: " msgstr "najväčšie možné:" -#: templates/admin.php:9 +#: templates/admin.php:12 msgid "Needed for multi-file and folder downloads." msgstr "Vyžadované pre sťahovanie viacerých súborov a adresárov." -#: templates/admin.php:9 +#: templates/admin.php:14 msgid "Enable ZIP-download" msgstr "Povoliť sťahovanie ZIP súborov" -#: templates/admin.php:11 +#: templates/admin.php:17 msgid "0 is unlimited" msgstr "0 znamená neobmedzené" -#: templates/admin.php:12 +#: templates/admin.php:19 msgid "Maximum input size for ZIP files" msgstr "Najväčšia veľkosť ZIP súborov" -#: templates/admin.php:14 +#: templates/admin.php:23 msgid "Save" msgstr "Uložiť" @@ -251,52 +223,48 @@ msgstr "Uložiť" msgid "New" msgstr "Nový" -#: templates/index.php:9 +#: templates/index.php:10 msgid "Text file" msgstr "Textový súbor" -#: templates/index.php:10 +#: templates/index.php:12 msgid "Folder" msgstr "Priečinok" -#: templates/index.php:11 -msgid "From url" -msgstr "Z url" +#: templates/index.php:14 +msgid "From link" +msgstr "Z odkazu" -#: templates/index.php:20 +#: templates/index.php:35 msgid "Upload" -msgstr "Nahrať" +msgstr "Odoslať" -#: templates/index.php:27 +#: templates/index.php:43 msgid "Cancel upload" msgstr "Zrušiť odosielanie" -#: templates/index.php:40 +#: templates/index.php:57 msgid "Nothing in here. Upload something!" msgstr "Žiadny súbor. Nahrajte niečo!" -#: templates/index.php:50 -msgid "Share" -msgstr "Zdielať" - -#: templates/index.php:52 +#: templates/index.php:71 msgid "Download" msgstr "Stiahnuť" -#: templates/index.php:75 +#: templates/index.php:103 msgid "Upload too large" msgstr "Odosielaný súbor je príliš veľký" -#: templates/index.php:77 +#: templates/index.php:105 msgid "" "The files you are trying to upload exceed the maximum size for file uploads " "on this server." -msgstr "Súbory ktoré sa snažíte nahrať presahujú maximálnu veľkosť pre nahratie súborov na tento server." +msgstr "Súbory, ktoré sa snažíte nahrať, presahujú maximálnu veľkosť pre nahratie súborov na tento server." -#: templates/index.php:82 +#: templates/index.php:110 msgid "Files are being scanned, please wait." -msgstr "Súbory sa práve prehľadávajú, prosím čakajte." +msgstr "Čakajte, súbory sú prehľadávané." -#: templates/index.php:85 +#: templates/index.php:113 msgid "Current scanning" msgstr "Práve prehliadané" diff --git a/l10n/sk_SK/files_external.po b/l10n/sk_SK/files_external.po index 627d7e866fc3ad713fc5abc7f60c93b85b6b3555..258af33f03ea79eabc5222ad0467e5aae248fc1a 100644 --- a/l10n/sk_SK/files_external.po +++ b/l10n/sk_SK/files_external.po @@ -9,9 +9,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-10 02:04+0200\n" -"PO-Revision-Date: 2012-10-09 18:56+0000\n" -"Last-Translator: martinb \n" +"POT-Creation-Date: 2012-12-12 00:12+0100\n" +"PO-Revision-Date: 2012-12-11 23:13+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Slovak (Slovakia) (http://www.transifex.com/projects/p/owncloud/language/sk_SK/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -25,7 +25,7 @@ msgstr "Prístup povolený" #: js/dropbox.js:28 js/dropbox.js:74 js/dropbox.js:79 js/dropbox.js:86 msgid "Error configuring Dropbox storage" -msgstr "" +msgstr "Chyba pri konfigurácii úložiska Dropbox" #: js/dropbox.js:34 js/dropbox.js:45 js/google.js:31 js/google.js:40 msgid "Grant access" @@ -43,66 +43,80 @@ msgstr "Zadajte platný kľúč aplikácie a heslo Dropbox" msgid "Error configuring Google Drive storage" msgstr "Chyba pri konfigurácii úložiska Google drive" +#: lib/config.php:434 +msgid "" +"Warning: \"smbclient\" is not installed. Mounting of CIFS/SMB shares " +"is not possible. Please ask your system administrator to install it." +msgstr "" + +#: lib/config.php:435 +msgid "" +"Warning: The FTP support in PHP is not enabled or installed. Mounting" +" of FTP shares is not possible. Please ask your system administrator to " +"install it." +msgstr "" + #: templates/settings.php:3 msgid "External Storage" msgstr "Externé úložisko" -#: templates/settings.php:7 templates/settings.php:19 +#: templates/settings.php:8 templates/settings.php:22 msgid "Mount point" msgstr "Prípojný bod" -#: templates/settings.php:8 +#: templates/settings.php:9 msgid "Backend" msgstr "Backend" -#: templates/settings.php:9 +#: templates/settings.php:10 msgid "Configuration" msgstr "Nastavenia" -#: templates/settings.php:10 +#: templates/settings.php:11 msgid "Options" msgstr "Možnosti" -#: templates/settings.php:11 +#: templates/settings.php:12 msgid "Applicable" msgstr "Aplikovateľné" -#: templates/settings.php:23 +#: templates/settings.php:27 msgid "Add mount point" msgstr "Pridať prípojný bod" -#: templates/settings.php:54 templates/settings.php:62 +#: templates/settings.php:85 msgid "None set" msgstr "Žiadne nastavené" -#: templates/settings.php:63 +#: templates/settings.php:86 msgid "All Users" msgstr "Všetci užívatelia" -#: templates/settings.php:64 +#: templates/settings.php:87 msgid "Groups" msgstr "Skupiny" -#: templates/settings.php:69 +#: templates/settings.php:95 msgid "Users" msgstr "Užívatelia" -#: templates/settings.php:77 templates/settings.php:107 +#: templates/settings.php:108 templates/settings.php:109 +#: templates/settings.php:149 templates/settings.php:150 msgid "Delete" msgstr "Odstrániť" -#: templates/settings.php:87 +#: templates/settings.php:124 msgid "Enable User External Storage" msgstr "Povoliť externé úložisko" -#: templates/settings.php:88 +#: templates/settings.php:125 msgid "Allow users to mount their own external storage" msgstr "Povoliť užívateľom pripojiť ich vlastné externé úložisko" -#: templates/settings.php:99 +#: templates/settings.php:139 msgid "SSL root certificates" msgstr "Koreňové SSL certifikáty" -#: templates/settings.php:113 +#: templates/settings.php:158 msgid "Import Root Certificate" msgstr "Importovať koreňový certifikát" diff --git a/l10n/sk_SK/files_odfviewer.po b/l10n/sk_SK/files_odfviewer.po deleted file mode 100644 index b5e846e37f63cae7e879fc0a6632799abe12d879..0000000000000000000000000000000000000000 --- a/l10n/sk_SK/files_odfviewer.po +++ /dev/null @@ -1,22 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 02:18+0200\n" -"PO-Revision-Date: 2012-08-26 00:19+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Slovak (Slovakia) (http://www.transifex.com/projects/p/owncloud/language/sk_SK/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: sk_SK\n" -"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2\n" - -#: js/viewer.js:9 -msgid "Close" -msgstr "" diff --git a/l10n/sk_SK/files_pdfviewer.po b/l10n/sk_SK/files_pdfviewer.po deleted file mode 100644 index aee04e4ec7e3ac65cad8c53843e20573fbbceecd..0000000000000000000000000000000000000000 --- a/l10n/sk_SK/files_pdfviewer.po +++ /dev/null @@ -1,42 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 02:18+0200\n" -"PO-Revision-Date: 2012-08-26 00:19+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Slovak (Slovakia) (http://www.transifex.com/projects/p/owncloud/language/sk_SK/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: sk_SK\n" -"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2\n" - -#: js/viewer.js:22 -msgid "Previous" -msgstr "" - -#: js/viewer.js:23 -msgid "Next" -msgstr "" - -#: js/viewer.js:29 -msgid "Page Width" -msgstr "" - -#: js/viewer.js:29 -msgid "Page Fit" -msgstr "" - -#: js/viewer.js:30 -msgid "Print" -msgstr "" - -#: js/viewer.js:32 -msgid "Download" -msgstr "" diff --git a/l10n/sk_SK/files_texteditor.po b/l10n/sk_SK/files_texteditor.po deleted file mode 100644 index af94e6a125dd1ffeec84e4e40a23dac6347d2143..0000000000000000000000000000000000000000 --- a/l10n/sk_SK/files_texteditor.po +++ /dev/null @@ -1,44 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 01:17+0200\n" -"PO-Revision-Date: 2012-08-25 23:18+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Slovak (Slovakia) (http://www.transifex.com/projects/p/owncloud/language/sk_SK/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: sk_SK\n" -"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2\n" - -#: js/aceeditor/mode-coldfusion-uncompressed.js:1568 -#: js/aceeditor/mode-liquid-uncompressed.js:902 -#: js/aceeditor/mode-svg-uncompressed.js:1575 -msgid "regex" -msgstr "" - -#: js/editor.js:72 js/editor.js:156 js/editor.js:163 -msgid "Save" -msgstr "" - -#: js/editor.js:74 -msgid "Close" -msgstr "" - -#: js/editor.js:149 -msgid "Saving..." -msgstr "" - -#: js/editor.js:239 -msgid "An error occurred!" -msgstr "" - -#: js/editor.js:266 -msgid "There were unsaved changes, click here to go back" -msgstr "" diff --git a/l10n/sk_SK/gallery.po b/l10n/sk_SK/gallery.po deleted file mode 100644 index 2f6336c77c636307581e7cad1413da0dc95c0229..0000000000000000000000000000000000000000 --- a/l10n/sk_SK/gallery.po +++ /dev/null @@ -1,96 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# , 2012. -# Roman Priesol , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-06-06 00:12+0200\n" -"PO-Revision-Date: 2012-06-05 22:15+0000\n" -"Last-Translator: icewind \n" -"Language-Team: Slovak (Slovakia) (http://www.transifex.net/projects/p/owncloud/language/sk_SK/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: sk_SK\n" -"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2\n" - -#: appinfo/app.php:37 -msgid "Pictures" -msgstr "Obrázky" - -#: js/album_cover.js:44 -msgid "Share gallery" -msgstr "" - -#: js/album_cover.js:64 js/album_cover.js:100 js/album_cover.js:133 -msgid "Error: " -msgstr "" - -#: js/album_cover.js:64 js/album_cover.js:100 -msgid "Internal error" -msgstr "" - -#: js/album_cover.js:114 -msgid "Scanning root" -msgstr "" - -#: js/album_cover.js:115 -msgid "Default order" -msgstr "" - -#: js/album_cover.js:116 -msgid "Ascending" -msgstr "" - -#: js/album_cover.js:116 -msgid "Descending" -msgstr "" - -#: js/album_cover.js:117 templates/index.php:19 -msgid "Settings" -msgstr "nastavenia" - -#: js/album_cover.js:122 -msgid "Scanning root cannot be empty" -msgstr "" - -#: js/album_cover.js:122 js/album_cover.js:133 -msgid "Error" -msgstr "" - -#: templates/index.php:16 -msgid "Rescan" -msgstr "Znovu oskenovať" - -#: templates/index.php:17 -msgid "Stop" -msgstr "Zastaviť" - -#: templates/index.php:18 -msgid "Share" -msgstr "Zdielať" - -#: templates/view_album.php:19 -msgid "Back" -msgstr "Späť" - -#: templates/view_album.php:36 -msgid "Remove confirmation" -msgstr "Potvrdenie odstránenia" - -#: templates/view_album.php:37 -msgid "Do you want to remove album" -msgstr "Chcete odstrániť album?" - -#: templates/view_album.php:40 -msgid "Change album name" -msgstr "Zmeniť meno albumu" - -#: templates/view_album.php:43 -msgid "New album name" -msgstr "Nové meno albumu" diff --git a/l10n/sk_SK/lib.po b/l10n/sk_SK/lib.po index 1a98bd0de2add69f3a575940a30c50f71f39fa4a..ba1e859d9c919aaad3d7fea9ac0faca3065f10b3 100644 --- a/l10n/sk_SK/lib.po +++ b/l10n/sk_SK/lib.po @@ -4,13 +4,15 @@ # # Translators: # , 2012. +# Roman Priesol , 2012. +# , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-09-22 01:14+0200\n" -"PO-Revision-Date: 2012-09-21 11:28+0000\n" -"Last-Translator: martinb \n" +"POT-Creation-Date: 2012-12-02 00:02+0100\n" +"PO-Revision-Date: 2012-12-01 16:27+0000\n" +"Last-Translator: martin \n" "Language-Team: Slovak (Slovakia) (http://www.transifex.com/projects/p/owncloud/language/sk_SK/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -42,19 +44,19 @@ msgstr "Aplikácie" msgid "Admin" msgstr "Správca" -#: files.php:309 +#: files.php:361 msgid "ZIP download is turned off." msgstr "Sťahovanie súborov ZIP je vypnuté." -#: files.php:310 +#: files.php:362 msgid "Files need to be downloaded one by one." msgstr "Súbory musia byť nahrávané jeden za druhým." -#: files.php:310 files.php:335 +#: files.php:362 files.php:387 msgid "Back to Files" msgstr "Späť na súbory" -#: files.php:334 +#: files.php:386 msgid "Selected files too large to generate zip file." msgstr "Zvolené súbory sú príliž veľké na vygenerovanie zip súboru." @@ -62,65 +64,92 @@ msgstr "Zvolené súbory sú príliž veľké na vygenerovanie zip súboru." msgid "Application is not enabled" msgstr "Aplikácia nie je zapnutá" -#: json.php:39 json.php:63 json.php:75 +#: json.php:39 json.php:64 json.php:77 json.php:89 msgid "Authentication error" msgstr "Chyba autentifikácie" #: json.php:51 msgid "Token expired. Please reload page." -msgstr "" +msgstr "Token vypršal. Obnovte, prosím, stránku." + +#: search/provider/file.php:17 search/provider/file.php:35 +msgid "Files" +msgstr "Súbory" + +#: search/provider/file.php:26 search/provider/file.php:33 +msgid "Text" +msgstr "Text" -#: template.php:87 +#: search/provider/file.php:29 +msgid "Images" +msgstr "Obrázky" + +#: template.php:103 msgid "seconds ago" -msgstr "" +msgstr "pred sekundami" -#: template.php:88 +#: template.php:104 msgid "1 minute ago" msgstr "pred 1 minútou" -#: template.php:89 +#: template.php:105 #, php-format msgid "%d minutes ago" msgstr "pred %d minútami" -#: template.php:92 +#: template.php:106 +msgid "1 hour ago" +msgstr "Pred 1 hodinou" + +#: template.php:107 +#, php-format +msgid "%d hours ago" +msgstr "Pred %d hodinami." + +#: template.php:108 msgid "today" msgstr "dnes" -#: template.php:93 +#: template.php:109 msgid "yesterday" msgstr "včera" -#: template.php:94 +#: template.php:110 #, php-format msgid "%d days ago" msgstr "pred %d dňami" -#: template.php:95 +#: template.php:111 msgid "last month" msgstr "minulý mesiac" -#: template.php:96 -msgid "months ago" -msgstr "pred mesiacmi" +#: template.php:112 +#, php-format +msgid "%d months ago" +msgstr "Pred %d mesiacmi." -#: template.php:97 +#: template.php:113 msgid "last year" msgstr "minulý rok" -#: template.php:98 +#: template.php:114 msgid "years ago" msgstr "pred rokmi" -#: updater.php:66 +#: updater.php:75 #, php-format msgid "%s is available. Get more information" -msgstr "" +msgstr "%s je dostupné. Získať viac informácií" -#: updater.php:68 +#: updater.php:77 msgid "up to date" msgstr "aktuálny" -#: updater.php:71 +#: updater.php:80 msgid "updates check is disabled" msgstr "sledovanie aktualizácií je vypnuté" + +#: vcategories.php:188 vcategories.php:249 +#, php-format +msgid "Could not find category \"%s\"" +msgstr "Nemožno nájsť danú kategóriu \"%s\"" diff --git a/l10n/sk_SK/media.po b/l10n/sk_SK/media.po deleted file mode 100644 index 1c692c89de739337a76a83c970e333d4ffaf4bb0..0000000000000000000000000000000000000000 --- a/l10n/sk_SK/media.po +++ /dev/null @@ -1,67 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Roman Priesol , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-06-06 00:12+0200\n" -"PO-Revision-Date: 2012-06-05 22:15+0000\n" -"Last-Translator: icewind \n" -"Language-Team: Slovak (Slovakia) (http://www.transifex.net/projects/p/owncloud/language/sk_SK/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: sk_SK\n" -"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2\n" - -#: appinfo/app.php:32 templates/player.php:8 -msgid "Music" -msgstr "Hudba" - -#: js/music.js:18 -msgid "Add album to playlist" -msgstr "" - -#: templates/music.php:3 templates/player.php:12 -msgid "Play" -msgstr "Prehrať" - -#: templates/music.php:4 templates/music.php:26 templates/player.php:13 -msgid "Pause" -msgstr "Pauza" - -#: templates/music.php:5 -msgid "Previous" -msgstr "Predchádzajúce" - -#: templates/music.php:6 templates/player.php:14 -msgid "Next" -msgstr "Ďalšie" - -#: templates/music.php:7 -msgid "Mute" -msgstr "Stlmiť" - -#: templates/music.php:8 -msgid "Unmute" -msgstr "Nahlas" - -#: templates/music.php:25 -msgid "Rescan Collection" -msgstr "Znovu skenovať zbierku" - -#: templates/music.php:37 -msgid "Artist" -msgstr "Umelec" - -#: templates/music.php:38 -msgid "Album" -msgstr "Album" - -#: templates/music.php:39 -msgid "Title" -msgstr "Názov" diff --git a/l10n/sk_SK/settings.po b/l10n/sk_SK/settings.po index 44fb0c7a548d4a3d3a0833d938bdfa3ba5514967..111c6ee3ec7ff8b17fbc757935f1bb9f18b58198 100644 --- a/l10n/sk_SK/settings.po +++ b/l10n/sk_SK/settings.po @@ -7,13 +7,14 @@ # , 2012. # Roman Priesol , 2012. # , 2012. +# , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-10 02:05+0200\n" -"PO-Revision-Date: 2012-10-09 18:37+0000\n" -"Last-Translator: martinb \n" +"POT-Creation-Date: 2012-12-03 00:04+0100\n" +"PO-Revision-Date: 2012-12-02 03:18+0000\n" +"Last-Translator: martin \n" "Language-Team: Slovak (Slovakia) (http://www.transifex.com/projects/p/owncloud/language/sk_SK/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -21,70 +22,73 @@ msgstr "" "Language: sk_SK\n" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" -#: ajax/apps/ocs.php:23 +#: ajax/apps/ocs.php:20 msgid "Unable to load list from App Store" msgstr "Nie je možné nahrať zoznam z App Store" -#: ajax/creategroup.php:9 ajax/removeuser.php:13 ajax/setquota.php:18 -#: ajax/togglegroups.php:15 -msgid "Authentication error" -msgstr "Chyba pri autentifikácii" - -#: ajax/creategroup.php:19 +#: ajax/creategroup.php:10 msgid "Group already exists" msgstr "Skupina už existuje" -#: ajax/creategroup.php:28 +#: ajax/creategroup.php:19 msgid "Unable to add group" msgstr "Nie je možné pridať skupinu" -#: ajax/enableapp.php:14 +#: ajax/enableapp.php:12 msgid "Could not enable app. " msgstr "Nie je možné zapnúť aplikáciu." -#: ajax/lostpassword.php:14 +#: ajax/lostpassword.php:12 msgid "Email saved" msgstr "Email uložený" -#: ajax/lostpassword.php:16 +#: ajax/lostpassword.php:14 msgid "Invalid email" msgstr "Neplatný email" -#: ajax/openid.php:16 +#: ajax/openid.php:13 msgid "OpenID Changed" msgstr "OpenID zmenené" -#: ajax/openid.php:18 ajax/setlanguage.php:20 ajax/setlanguage.php:23 +#: ajax/openid.php:15 ajax/setlanguage.php:17 ajax/setlanguage.php:20 msgid "Invalid request" msgstr "Neplatná požiadavka" -#: ajax/removegroup.php:16 +#: ajax/removegroup.php:13 msgid "Unable to delete group" -msgstr "Nie je možné zmazať skupinu" +msgstr "Nie je možné odstrániť skupinu" -#: ajax/removeuser.php:22 +#: ajax/removeuser.php:15 ajax/setquota.php:15 ajax/togglegroups.php:18 +msgid "Authentication error" +msgstr "Chyba pri autentifikácii" + +#: ajax/removeuser.php:24 msgid "Unable to delete user" -msgstr "Nie je možné zmazať užívateľa" +msgstr "Nie je možné odstrániť používateľa" -#: ajax/setlanguage.php:18 +#: ajax/setlanguage.php:15 msgid "Language changed" msgstr "Jazyk zmenený" -#: ajax/togglegroups.php:25 +#: ajax/togglegroups.php:12 +msgid "Admins can't remove themself from the admin group" +msgstr "Administrátori nesmú odstrániť sami seba zo skupiny admin" + +#: ajax/togglegroups.php:28 #, php-format msgid "Unable to add user to group %s" msgstr "Nie je možné pridať užívateľa do skupiny %s" -#: ajax/togglegroups.php:31 +#: ajax/togglegroups.php:34 #, php-format msgid "Unable to remove user from group %s" -msgstr "Nie je možné zmazať užívateľa zo skupiny %s" +msgstr "Nie je možné odstrániť používateľa zo skupiny %s" -#: js/apps.js:28 js/apps.js:65 +#: js/apps.js:28 js/apps.js:67 msgid "Disable" msgstr "Zakázať" -#: js/apps.js:28 js/apps.js:54 +#: js/apps.js:28 js/apps.js:55 msgid "Enable" msgstr "Povoliť" @@ -92,97 +96,10 @@ msgstr "Povoliť" msgid "Saving..." msgstr "Ukladám..." -#: personal.php:47 personal.php:48 +#: personal.php:42 personal.php:43 msgid "__language_name__" msgstr "Slovensky" -#: templates/admin.php:14 -msgid "Security Warning" -msgstr "Bezpečnostné varovanie" - -#: templates/admin.php:17 -msgid "" -"Your data directory and your files are probably accessible from the " -"internet. The .htaccess file that ownCloud provides is not working. We " -"strongly suggest that you configure your webserver in a way that the data " -"directory is no longer accessible or you move the data directory outside the" -" webserver document root." -msgstr "" - -#: templates/admin.php:31 -msgid "Cron" -msgstr "" - -#: templates/admin.php:37 -msgid "Execute one task with each page loaded" -msgstr "Vykonať jednu úlohu každým nahraním stránky" - -#: templates/admin.php:43 -msgid "" -"cron.php is registered at a webcron service. Call the cron.php page in the " -"owncloud root once a minute over http." -msgstr "" - -#: templates/admin.php:49 -msgid "" -"Use systems cron service. Call the cron.php file in the owncloud folder via " -"a system cronjob once a minute." -msgstr "Používať systémovú službu cron. Každú minútu bude spustený súbor cron.php v priečinku owncloud pomocou systémového programu cronjob." - -#: templates/admin.php:56 -msgid "Sharing" -msgstr "Zdieľanie" - -#: templates/admin.php:61 -msgid "Enable Share API" -msgstr "Zapnúť API zdieľania" - -#: templates/admin.php:62 -msgid "Allow apps to use the Share API" -msgstr "Povoliť aplikáciam používať API pre zdieľanie" - -#: templates/admin.php:67 -msgid "Allow links" -msgstr "Povoliť odkazy" - -#: templates/admin.php:68 -msgid "Allow users to share items to the public with links" -msgstr "Povoliť užívateľom zdieľať obsah pomocou verejných odkazov" - -#: templates/admin.php:73 -msgid "Allow resharing" -msgstr "Povoliť opakované zdieľanie" - -#: templates/admin.php:74 -msgid "Allow users to share items shared with them again" -msgstr "Povoliť zdieľanie zdielaného obsahu iného užívateľa" - -#: templates/admin.php:79 -msgid "Allow users to share with anyone" -msgstr "Povoliť užívateľom zdieľať s každým" - -#: templates/admin.php:81 -msgid "Allow users to only share with users in their groups" -msgstr "Povoliť užívateľom zdieľanie iba s užívateľmi ich vlastnej skupiny" - -#: templates/admin.php:88 -msgid "Log" -msgstr "Záznam" - -#: templates/admin.php:116 -msgid "More" -msgstr "Viac" - -#: templates/admin.php:124 -msgid "" -"Developed by the ownCloud community, the source code is " -"licensed under the AGPL." -msgstr "" - #: templates/apps.php:10 msgid "Add your App" msgstr "Pridať vašu aplikáciu" @@ -197,7 +114,7 @@ msgstr "Vyberte aplikáciu" #: templates/apps.php:31 msgid "See application page at apps.owncloud.com" -msgstr "Pozrite si stránku aplikácie na apps.owncloud.com" +msgstr "Pozrite si stránku aplikácií na apps.owncloud.com" #: templates/apps.php:32 msgid "-licensed by " @@ -209,28 +126,28 @@ msgstr "Dokumentácia" #: templates/help.php:10 msgid "Managing Big Files" -msgstr "Spravovanie veľké súbory" +msgstr "Správa veľkých súborov" #: templates/help.php:11 msgid "Ask a question" -msgstr "Opýtajte sa otázku" +msgstr "Opýtať sa otázku" -#: templates/help.php:23 +#: templates/help.php:22 msgid "Problems connecting to help database." -msgstr "Problémy spojené s pomocnou databázou." +msgstr "Problémy s pripojením na databázu pomocníka." -#: templates/help.php:24 +#: templates/help.php:23 msgid "Go there manually." msgstr "Prejsť tam ručne." -#: templates/help.php:32 +#: templates/help.php:31 msgid "Answer" msgstr "Odpoveď" #: templates/personal.php:8 #, php-format -msgid "You have used %s of the available %s" -msgstr "Použili ste %s dostupného %s" +msgid "You have used %s of the available %s" +msgstr "Použili ste %s z %s dostupných " #: templates/personal.php:12 msgid "Desktop and Mobile Syncing Clients" @@ -246,7 +163,7 @@ msgstr "Heslo bolo zmenené" #: templates/personal.php:20 msgid "Unable to change your password" -msgstr "Nedokážem zmeniť vaše heslo" +msgstr "Nie je možné zmeniť vaše heslo" #: templates/personal.php:21 msgid "Current password" @@ -288,6 +205,16 @@ msgstr "Pomôcť s prekladom" msgid "use this address to connect to your ownCloud in your file manager" msgstr "použite túto adresu pre spojenie s vaším ownCloud v správcovi súborov" +#: templates/personal.php:61 +msgid "" +"Developed by the ownCloud community, the source code is " +"licensed under the AGPL." +msgstr "Vyvinuté komunitou ownCloud,zdrojový kód je licencovaný pod AGPL." + #: templates/users.php:21 templates/users.php:76 msgid "Name" msgstr "Meno" diff --git a/l10n/sk_SK/tasks.po b/l10n/sk_SK/tasks.po deleted file mode 100644 index 2ea079cbf6967e9ba8b4e9c6857fb6e96bad5400..0000000000000000000000000000000000000000 --- a/l10n/sk_SK/tasks.po +++ /dev/null @@ -1,106 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:44+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Slovak (Slovakia) (http://www.transifex.com/projects/p/owncloud/language/sk_SK/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: sk_SK\n" -"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2\n" - -#: ajax/update_property.php:51 lib/app.php:89 lib/app.php:101 -msgid "Invalid date/time" -msgstr "" - -#: appinfo/app.php:11 -msgid "Tasks" -msgstr "" - -#: js/tasks.js:415 -msgid "No category" -msgstr "" - -#: lib/app.php:33 -msgid "Unspecified" -msgstr "" - -#: lib/app.php:34 -msgid "1=highest" -msgstr "" - -#: lib/app.php:38 -msgid "5=medium" -msgstr "" - -#: lib/app.php:42 -msgid "9=lowest" -msgstr "" - -#: lib/app.php:81 -msgid "Empty Summary" -msgstr "" - -#: lib/app.php:93 -msgid "Invalid percent complete" -msgstr "" - -#: lib/app.php:107 -msgid "Invalid priority" -msgstr "" - -#: templates/tasks.php:3 -msgid "Add Task" -msgstr "" - -#: templates/tasks.php:4 -msgid "Order Due" -msgstr "" - -#: templates/tasks.php:5 -msgid "Order List" -msgstr "" - -#: templates/tasks.php:6 -msgid "Order Complete" -msgstr "" - -#: templates/tasks.php:7 -msgid "Order Location" -msgstr "" - -#: templates/tasks.php:8 -msgid "Order Priority" -msgstr "" - -#: templates/tasks.php:9 -msgid "Order Label" -msgstr "" - -#: templates/tasks.php:16 -msgid "Loading tasks..." -msgstr "" - -#: templates/tasks.php:20 -msgid "Important" -msgstr "" - -#: templates/tasks.php:23 -msgid "More" -msgstr "" - -#: templates/tasks.php:26 -msgid "Less" -msgstr "" - -#: templates/tasks.php:29 -msgid "Delete" -msgstr "" diff --git a/l10n/sk_SK/user_ldap.po b/l10n/sk_SK/user_ldap.po index b0cc8b5a602aea98298a619a32ff1d87713d15a1..b11bc381cc683d6e26aec31a579e8635c94e021a 100644 --- a/l10n/sk_SK/user_ldap.po +++ b/l10n/sk_SK/user_ldap.po @@ -3,168 +3,169 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# Roman Priesol , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-29 02:01+0200\n" -"PO-Revision-Date: 2012-08-29 00:03+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-10-26 02:02+0200\n" +"PO-Revision-Date: 2012-10-25 19:25+0000\n" +"Last-Translator: Roman Priesol \n" "Language-Team: Slovak (Slovakia) (http://www.transifex.com/projects/p/owncloud/language/sk_SK/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: sk_SK\n" -"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2\n" +"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" #: templates/settings.php:8 msgid "Host" -msgstr "" +msgstr "Hostiteľ" #: templates/settings.php:8 msgid "" "You can omit the protocol, except you require SSL. Then start with ldaps://" -msgstr "" +msgstr "Môžete vynechať protokol, s výnimkou požadovania SSL. Vtedy začnite s ldaps://" #: templates/settings.php:9 msgid "Base DN" -msgstr "" +msgstr "Základné DN" #: templates/settings.php:9 msgid "You can specify Base DN for users and groups in the Advanced tab" -msgstr "" +msgstr "V rozšírenom nastavení môžete zadať základné DN pre používateľov a skupiny" #: templates/settings.php:10 msgid "User DN" -msgstr "" +msgstr "Používateľské DN" #: templates/settings.php:10 msgid "" "The DN of the client user with which the bind shall be done, e.g. " "uid=agent,dc=example,dc=com. For anonymous access, leave DN and Password " "empty." -msgstr "" +msgstr "DN klientského používateľa, ku ktorému tvoríte väzbu, napr. uid=agent,dc=example,dc=com. Pre anonymný prístup ponechajte údaje DN a Heslo prázdne." #: templates/settings.php:11 msgid "Password" -msgstr "" +msgstr "Heslo" #: templates/settings.php:11 msgid "For anonymous access, leave DN and Password empty." -msgstr "" +msgstr "Pre anonymný prístup ponechajte údaje DN a Heslo prázdne." #: templates/settings.php:12 msgid "User Login Filter" -msgstr "" +msgstr "Filter prihlásenia používateľov" #: templates/settings.php:12 #, php-format msgid "" "Defines the filter to apply, when login is attempted. %%uid replaces the " "username in the login action." -msgstr "" +msgstr "Určuje použitý filter, pri pokuse o prihlásenie. %%uid nahradzuje používateľské meno v činnosti prihlásenia." #: templates/settings.php:12 #, php-format msgid "use %%uid placeholder, e.g. \"uid=%%uid\"" -msgstr "" +msgstr "použite zástupný vzor %%uid, napr. \\\"uid=%%uid\\\"" #: templates/settings.php:13 msgid "User List Filter" -msgstr "" +msgstr "Filter zoznamov používateľov" #: templates/settings.php:13 msgid "Defines the filter to apply, when retrieving users." -msgstr "" +msgstr "Definuje použitý filter, pre získanie používateľov." #: templates/settings.php:13 msgid "without any placeholder, e.g. \"objectClass=person\"." -msgstr "" +msgstr "bez zástupných znakov, napr. \"objectClass=person\"" #: templates/settings.php:14 msgid "Group Filter" -msgstr "" +msgstr "Filter skupiny" #: templates/settings.php:14 msgid "Defines the filter to apply, when retrieving groups." -msgstr "" +msgstr "Definuje použitý filter, pre získanie skupín." #: templates/settings.php:14 msgid "without any placeholder, e.g. \"objectClass=posixGroup\"." -msgstr "" +msgstr "bez zástupných znakov, napr. \"objectClass=posixGroup\"" #: templates/settings.php:17 msgid "Port" -msgstr "" +msgstr "Port" #: templates/settings.php:18 msgid "Base User Tree" -msgstr "" +msgstr "Základný používateľský strom" #: templates/settings.php:19 msgid "Base Group Tree" -msgstr "" +msgstr "Základný skupinový strom" #: templates/settings.php:20 msgid "Group-Member association" -msgstr "" +msgstr "Asociácia člena skupiny" #: templates/settings.php:21 msgid "Use TLS" -msgstr "" +msgstr "Použi TLS" #: templates/settings.php:21 msgid "Do not use it for SSL connections, it will fail." -msgstr "" +msgstr "Nepoužívajte pre pripojenie SSL, pripojenie zlyhá." #: templates/settings.php:22 msgid "Case insensitve LDAP server (Windows)" -msgstr "" +msgstr "LDAP server nerozlišuje veľkosť znakov (Windows)" #: templates/settings.php:23 msgid "Turn off SSL certificate validation." -msgstr "" +msgstr "Vypnúť overovanie SSL certifikátu." #: templates/settings.php:23 msgid "" "If connection only works with this option, import the LDAP server's SSL " "certificate in your ownCloud server." -msgstr "" +msgstr "Ak pripojenie pracuje len s touto možnosťou, tak importujte SSL certifikát LDAP serveru do vášho servera ownCloud." #: templates/settings.php:23 msgid "Not recommended, use for testing only." -msgstr "" +msgstr "Nie je doporučované, len pre testovacie účely." #: templates/settings.php:24 msgid "User Display Name Field" -msgstr "" +msgstr "Pole pre zobrazenia mena používateľa" #: templates/settings.php:24 msgid "The LDAP attribute to use to generate the user`s ownCloud name." -msgstr "" +msgstr "Atribút LDAP použitý na vygenerovanie mena používateľa ownCloud " #: templates/settings.php:25 msgid "Group Display Name Field" -msgstr "" +msgstr "Pole pre zobrazenie mena skupiny" #: templates/settings.php:25 msgid "The LDAP attribute to use to generate the groups`s ownCloud name." -msgstr "" +msgstr "Atribút LDAP použitý na vygenerovanie mena skupiny ownCloud " #: templates/settings.php:27 msgid "in bytes" -msgstr "" +msgstr "v bajtoch" #: templates/settings.php:29 msgid "in seconds. A change empties the cache." -msgstr "" +msgstr "v sekundách. Zmena vyprázdni vyrovnávaciu pamäť." #: templates/settings.php:30 msgid "" "Leave empty for user name (default). Otherwise, specify an LDAP/AD " "attribute." -msgstr "" +msgstr "Nechajte prázdne pre používateľské meno (predvolené). Inak uveďte atribút LDAP/AD." #: templates/settings.php:32 msgid "Help" -msgstr "" +msgstr "Pomoc" diff --git a/l10n/sk_SK/user_migrate.po b/l10n/sk_SK/user_migrate.po deleted file mode 100644 index 49ca2414b0df446ca0e18f78de6a2ffc524e8688..0000000000000000000000000000000000000000 --- a/l10n/sk_SK/user_migrate.po +++ /dev/null @@ -1,51 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:45+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Slovak (Slovakia) (http://www.transifex.com/projects/p/owncloud/language/sk_SK/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: sk_SK\n" -"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2\n" - -#: js/export.js:14 js/export.js:20 -msgid "Export" -msgstr "" - -#: js/export.js:19 -msgid "Something went wrong while the export file was being generated" -msgstr "" - -#: js/export.js:19 -msgid "An error has occurred" -msgstr "" - -#: templates/settings.php:2 -msgid "Export your user account" -msgstr "" - -#: templates/settings.php:3 -msgid "" -"This will create a compressed file that contains your ownCloud account." -msgstr "" - -#: templates/settings.php:13 -msgid "Import user account" -msgstr "" - -#: templates/settings.php:15 -msgid "ownCloud User Zip" -msgstr "" - -#: templates/settings.php:17 -msgid "Import" -msgstr "" diff --git a/l10n/sk_SK/user_openid.po b/l10n/sk_SK/user_openid.po deleted file mode 100644 index 56440f66cc3e14d8e031346c2a293a7313f5b68e..0000000000000000000000000000000000000000 --- a/l10n/sk_SK/user_openid.po +++ /dev/null @@ -1,54 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:45+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Slovak (Slovakia) (http://www.transifex.com/projects/p/owncloud/language/sk_SK/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: sk_SK\n" -"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2\n" - -#: templates/nomode.php:12 -msgid "This is an OpenID server endpoint. For more information, see " -msgstr "" - -#: templates/nomode.php:14 -msgid "Identity: " -msgstr "" - -#: templates/nomode.php:15 -msgid "Realm: " -msgstr "" - -#: templates/nomode.php:16 -msgid "User: " -msgstr "" - -#: templates/nomode.php:17 -msgid "Login" -msgstr "" - -#: templates/nomode.php:22 -msgid "Error: No user Selected" -msgstr "" - -#: templates/settings.php:4 -msgid "you can authenticate to other sites with this address" -msgstr "" - -#: templates/settings.php:5 -msgid "Authorized OpenID provider" -msgstr "" - -#: templates/settings.php:6 -msgid "Your address at Wordpress, Identi.ca, …" -msgstr "" diff --git a/l10n/sk_SK/impress.po b/l10n/sk_SK/user_webdavauth.po similarity index 66% rename from l10n/sk_SK/impress.po rename to l10n/sk_SK/user_webdavauth.po index 940f3f6325b23d7d51c2de307edabc0f90c4021e..d38bbf56f036dc4740a2217b932528671c500fd1 100644 --- a/l10n/sk_SK/impress.po +++ b/l10n/sk_SK/user_webdavauth.po @@ -3,20 +3,21 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 01:17+0200\n" -"PO-Revision-Date: 2012-08-25 23:18+0000\n" -"Last-Translator: FULL NAME \n" +"POT-Creation-Date: 2012-12-02 00:02+0100\n" +"PO-Revision-Date: 2012-12-01 16:41+0000\n" +"Last-Translator: martin \n" "Language-Team: Slovak (Slovakia) (http://www.transifex.com/projects/p/owncloud/language/sk_SK/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: sk_SK\n" -"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2\n" +"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" -#: templates/presentations.php:7 -msgid "Documentation" -msgstr "" +#: templates/settings.php:4 +msgid "WebDAV URL: http://" +msgstr "WebDAV URL: http://" diff --git a/l10n/sl/admin_dependencies_chk.po b/l10n/sl/admin_dependencies_chk.po deleted file mode 100644 index f60a8e1d14f891a8dc6cf75956719c0588ed3e6f..0000000000000000000000000000000000000000 --- a/l10n/sl/admin_dependencies_chk.po +++ /dev/null @@ -1,74 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Peter Peroša , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-17 00:44+0200\n" -"PO-Revision-Date: 2012-08-16 20:55+0000\n" -"Last-Translator: Peter Peroša \n" -"Language-Team: Slovenian (http://www.transifex.com/projects/p/owncloud/language/sl/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: sl\n" -"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3)\n" - -#: settings.php:33 -msgid "" -"The php-json module is needed by the many applications for inter " -"communications" -msgstr "Modul php-json je potreben za medsebojno komunikacijo veliko aplikacij." - -#: settings.php:39 -msgid "" -"The php-curl modude is needed to fetch the page title when adding a " -"bookmarks" -msgstr "Modul php-curl je potreben za pridobivanje naslova strani pri dodajanju zaznamkov." - -#: settings.php:45 -msgid "The php-gd module is needed to create thumbnails of your images" -msgstr "Modul php-gd je potreben za ustvarjanje sličic za predogled." - -#: settings.php:51 -msgid "The php-ldap module is needed connect to your ldap server" -msgstr "Modul php-ldap je potreben za povezavo z vašim ldap strežnikom." - -#: settings.php:57 -msgid "The php-zip module is needed download multiple files at once" -msgstr "Modul php-zip je potreben za prenašanje večih datotek hkrati." - -#: settings.php:63 -msgid "" -"The php-mb_multibyte module is needed to manage correctly the encoding." -msgstr "Modul php-mb_multibyte je potreben za pravilno upravljanje kodiranja." - -#: settings.php:69 -msgid "The php-ctype module is needed validate data." -msgstr "Modul php-ctype je potreben za preverjanje veljavnosti podatkov." - -#: settings.php:75 -msgid "The php-xml module is needed to share files with webdav." -msgstr "Modul php-xml je potreben za izmenjavo datotek preko protokola WebDAV." - -#: settings.php:81 -msgid "" -"The allow_url_fopen directive of your php.ini should be set to 1 to retrieve" -" knowledge base from OCS servers" -msgstr "Direktiva allow_url_fopen v vaši php.ini datoteki mora biti nastavljena na 1, če želite omogočiti dostop do zbirke znanja na strežnikih OCS." - -#: settings.php:87 -msgid "The php-pdo module is needed to store owncloud data into a database." -msgstr "Modul php-pdo je potreben za shranjevanje ownCloud podatkov v podatkovno zbirko." - -#: templates/settings.php:2 -msgid "Dependencies status" -msgstr "Stanje odvisnosti" - -#: templates/settings.php:7 -msgid "Used by :" -msgstr "Uporablja:" diff --git a/l10n/sl/admin_migrate.po b/l10n/sl/admin_migrate.po deleted file mode 100644 index 5a600890b7152f97657c1e8006e41210e58effaa..0000000000000000000000000000000000000000 --- a/l10n/sl/admin_migrate.po +++ /dev/null @@ -1,33 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Peter Peroša , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-16 02:04+0200\n" -"PO-Revision-Date: 2012-08-15 00:17+0000\n" -"Last-Translator: Peter Peroša \n" -"Language-Team: Slovenian (http://www.transifex.com/projects/p/owncloud/language/sl/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: sl\n" -"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3)\n" - -#: templates/settings.php:3 -msgid "Export this ownCloud instance" -msgstr "Izvozi to ownCloud namestitev" - -#: templates/settings.php:4 -msgid "" -"This will create a compressed file that contains the data of this owncloud instance.\n" -" Please choose the export type:" -msgstr "Ustvarjena bo stisnjena datoteka s podatki te ownCloud namestitve.\n Prosimo, če izberete vrsto izvoza:" - -#: templates/settings.php:12 -msgid "Export" -msgstr "Izvozi" diff --git a/l10n/sl/bookmarks.po b/l10n/sl/bookmarks.po deleted file mode 100644 index 7a522308d46266c6b1dd9d38968a4b037cf1b23e..0000000000000000000000000000000000000000 --- a/l10n/sl/bookmarks.po +++ /dev/null @@ -1,61 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Peter Peroša , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-07-29 02:03+0200\n" -"PO-Revision-Date: 2012-07-28 02:18+0000\n" -"Last-Translator: Peter Peroša \n" -"Language-Team: Slovenian (http://www.transifex.com/projects/p/owncloud/language/sl/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: sl\n" -"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3)\n" - -#: appinfo/app.php:14 -msgid "Bookmarks" -msgstr "Zaznamki" - -#: bookmarksHelper.php:99 -msgid "unnamed" -msgstr "neimenovano" - -#: templates/bookmarklet.php:5 -msgid "" -"Drag this to your browser bookmarks and click it, when you want to bookmark " -"a webpage quickly:" -msgstr "Povlecite to povezavo med zaznamke v vašem brskalniku in jo, ko želite ustvariti zaznamek trenutne strani, preprosto kliknite:" - -#: templates/bookmarklet.php:7 -msgid "Read later" -msgstr "Preberi kasneje" - -#: templates/list.php:13 -msgid "Address" -msgstr "Naslov" - -#: templates/list.php:14 -msgid "Title" -msgstr "Ime" - -#: templates/list.php:15 -msgid "Tags" -msgstr "Oznake" - -#: templates/list.php:16 -msgid "Save bookmark" -msgstr "Shrani zaznamek" - -#: templates/list.php:22 -msgid "You have no bookmarks" -msgstr "Nimate zaznamkov" - -#: templates/settings.php:11 -msgid "Bookmarklet
" -msgstr "Bookmarklet
" diff --git a/l10n/sl/calendar.po b/l10n/sl/calendar.po deleted file mode 100644 index 8d2ba48009e4c886b4a70584dd8f50161b7e43b9..0000000000000000000000000000000000000000 --- a/l10n/sl/calendar.po +++ /dev/null @@ -1,817 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# , 2012. -# , 2012. -# Peter Peroša , 2012. -# , 2011, 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-16 02:04+0200\n" -"PO-Revision-Date: 2012-08-15 13:25+0000\n" -"Last-Translator: Peter Peroša \n" -"Language-Team: Slovenian (http://www.transifex.com/projects/p/owncloud/language/sl/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: sl\n" -"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3)\n" - -#: ajax/cache/status.php:19 -msgid "Not all calendars are completely cached" -msgstr "Vsi koledarji niso povsem predpomnjeni" - -#: ajax/cache/status.php:21 -msgid "Everything seems to be completely cached" -msgstr "Izgleda, da je vse v predpomnilniku" - -#: ajax/categories/rescan.php:29 -msgid "No calendars found." -msgstr "Ni bilo najdenih koledarjev." - -#: ajax/categories/rescan.php:37 -msgid "No events found." -msgstr "Ni bilo najdenih dogodkov." - -#: ajax/event/edit.form.php:20 -msgid "Wrong calendar" -msgstr "Napačen koledar" - -#: ajax/import/dropimport.php:29 ajax/import/import.php:64 -msgid "" -"The file contained either no events or all events are already saved in your " -"calendar." -msgstr "Datoteka ni vsebovala dogodkov ali pa so vsi dogodki že shranjeni v koledarju." - -#: ajax/import/dropimport.php:31 ajax/import/import.php:67 -msgid "events has been saved in the new calendar" -msgstr "dogodki so bili shranjeni v nov koledar" - -#: ajax/import/import.php:56 -msgid "Import failed" -msgstr "Uvoz je spodletel" - -#: ajax/import/import.php:69 -msgid "events has been saved in your calendar" -msgstr "dogodki so bili shranjeni v vaš koledar" - -#: ajax/settings/guesstimezone.php:25 -msgid "New Timezone:" -msgstr "Nov časovni pas:" - -#: ajax/settings/settimezone.php:23 -msgid "Timezone changed" -msgstr "Časovni pas je bil spremenjen" - -#: ajax/settings/settimezone.php:25 -msgid "Invalid request" -msgstr "Neveljaven zahtevek" - -#: appinfo/app.php:35 templates/calendar.php:15 -#: templates/part.eventform.php:33 templates/part.showevent.php:33 -msgid "Calendar" -msgstr "Koledar" - -#: js/calendar.js:832 -msgid "ddd" -msgstr "ddd" - -#: js/calendar.js:833 -msgid "ddd M/d" -msgstr "ddd M/d" - -#: js/calendar.js:834 -msgid "dddd M/d" -msgstr "dddd M/d" - -#: js/calendar.js:837 -msgid "MMMM yyyy" -msgstr "MMMM yyyy" - -#: js/calendar.js:839 -msgid "MMM d[ yyyy]{ '—'[ MMM] d yyyy}" -msgstr "MMM d[ yyyy]{ '—'[ MMM] d yyyy}" - -#: js/calendar.js:841 -msgid "dddd, MMM d, yyyy" -msgstr "dddd, MMM d, yyyy" - -#: lib/app.php:121 -msgid "Birthday" -msgstr "Rojstni dan" - -#: lib/app.php:122 -msgid "Business" -msgstr "Poslovno" - -#: lib/app.php:123 -msgid "Call" -msgstr "Pokliči" - -#: lib/app.php:124 -msgid "Clients" -msgstr "Stranke" - -#: lib/app.php:125 -msgid "Deliverer" -msgstr "Dobavitelj" - -#: lib/app.php:126 -msgid "Holidays" -msgstr "Dopust" - -#: lib/app.php:127 -msgid "Ideas" -msgstr "Ideje" - -#: lib/app.php:128 -msgid "Journey" -msgstr "Potovanje" - -#: lib/app.php:129 -msgid "Jubilee" -msgstr "Obletnica" - -#: lib/app.php:130 -msgid "Meeting" -msgstr "Sestanek" - -#: lib/app.php:131 -msgid "Other" -msgstr "Ostalo" - -#: lib/app.php:132 -msgid "Personal" -msgstr "Osebno" - -#: lib/app.php:133 -msgid "Projects" -msgstr "Projekt" - -#: lib/app.php:134 -msgid "Questions" -msgstr "Vprašanja" - -#: lib/app.php:135 -msgid "Work" -msgstr "Delo" - -#: lib/app.php:351 lib/app.php:361 -msgid "by" -msgstr "od" - -#: lib/app.php:359 lib/app.php:399 -msgid "unnamed" -msgstr "neimenovan" - -#: lib/import.php:184 templates/calendar.php:12 -#: templates/part.choosecalendar.php:22 -msgid "New Calendar" -msgstr "Nov koledar" - -#: lib/object.php:372 -msgid "Does not repeat" -msgstr "Se ne ponavlja" - -#: lib/object.php:373 -msgid "Daily" -msgstr "Dnevno" - -#: lib/object.php:374 -msgid "Weekly" -msgstr "Tedensko" - -#: lib/object.php:375 -msgid "Every Weekday" -msgstr "Vsak dan v tednu" - -#: lib/object.php:376 -msgid "Bi-Weekly" -msgstr "Dvakrat tedensko" - -#: lib/object.php:377 -msgid "Monthly" -msgstr "Mesečno" - -#: lib/object.php:378 -msgid "Yearly" -msgstr "Letno" - -#: lib/object.php:388 -msgid "never" -msgstr "nikoli" - -#: lib/object.php:389 -msgid "by occurrences" -msgstr "po številu dogodkov" - -#: lib/object.php:390 -msgid "by date" -msgstr "po datumu" - -#: lib/object.php:400 -msgid "by monthday" -msgstr "po dnevu v mesecu" - -#: lib/object.php:401 -msgid "by weekday" -msgstr "po dnevu v tednu" - -#: lib/object.php:411 templates/calendar.php:5 templates/settings.php:69 -msgid "Monday" -msgstr "ponedeljek" - -#: lib/object.php:412 templates/calendar.php:5 -msgid "Tuesday" -msgstr "torek" - -#: lib/object.php:413 templates/calendar.php:5 -msgid "Wednesday" -msgstr "sreda" - -#: lib/object.php:414 templates/calendar.php:5 -msgid "Thursday" -msgstr "četrtek" - -#: lib/object.php:415 templates/calendar.php:5 -msgid "Friday" -msgstr "petek" - -#: lib/object.php:416 templates/calendar.php:5 -msgid "Saturday" -msgstr "sobota" - -#: lib/object.php:417 templates/calendar.php:5 templates/settings.php:70 -msgid "Sunday" -msgstr "nedelja" - -#: lib/object.php:427 -msgid "events week of month" -msgstr "dogodki tedna v mesecu" - -#: lib/object.php:428 -msgid "first" -msgstr "prvi" - -#: lib/object.php:429 -msgid "second" -msgstr "drugi" - -#: lib/object.php:430 -msgid "third" -msgstr "tretji" - -#: lib/object.php:431 -msgid "fourth" -msgstr "četrti" - -#: lib/object.php:432 -msgid "fifth" -msgstr "peti" - -#: lib/object.php:433 -msgid "last" -msgstr "zadnji" - -#: lib/object.php:467 templates/calendar.php:7 -msgid "January" -msgstr "januar" - -#: lib/object.php:468 templates/calendar.php:7 -msgid "February" -msgstr "februar" - -#: lib/object.php:469 templates/calendar.php:7 -msgid "March" -msgstr "marec" - -#: lib/object.php:470 templates/calendar.php:7 -msgid "April" -msgstr "april" - -#: lib/object.php:471 templates/calendar.php:7 -msgid "May" -msgstr "maj" - -#: lib/object.php:472 templates/calendar.php:7 -msgid "June" -msgstr "junij" - -#: lib/object.php:473 templates/calendar.php:7 -msgid "July" -msgstr "julij" - -#: lib/object.php:474 templates/calendar.php:7 -msgid "August" -msgstr "avgust" - -#: lib/object.php:475 templates/calendar.php:7 -msgid "September" -msgstr "september" - -#: lib/object.php:476 templates/calendar.php:7 -msgid "October" -msgstr "oktober" - -#: lib/object.php:477 templates/calendar.php:7 -msgid "November" -msgstr "november" - -#: lib/object.php:478 templates/calendar.php:7 -msgid "December" -msgstr "december" - -#: lib/object.php:488 -msgid "by events date" -msgstr "po datumu dogodka" - -#: lib/object.php:489 -msgid "by yearday(s)" -msgstr "po številu let" - -#: lib/object.php:490 -msgid "by weeknumber(s)" -msgstr "po tednu v letu" - -#: lib/object.php:491 -msgid "by day and month" -msgstr "po dnevu in mesecu" - -#: lib/search.php:35 lib/search.php:37 lib/search.php:40 -msgid "Date" -msgstr "Datum" - -#: lib/search.php:43 -msgid "Cal." -msgstr "Kol." - -#: templates/calendar.php:6 -msgid "Sun." -msgstr "ned." - -#: templates/calendar.php:6 -msgid "Mon." -msgstr "pon." - -#: templates/calendar.php:6 -msgid "Tue." -msgstr "tor." - -#: templates/calendar.php:6 -msgid "Wed." -msgstr "sre." - -#: templates/calendar.php:6 -msgid "Thu." -msgstr "čet." - -#: templates/calendar.php:6 -msgid "Fri." -msgstr "pet." - -#: templates/calendar.php:6 -msgid "Sat." -msgstr "sob." - -#: templates/calendar.php:8 -msgid "Jan." -msgstr "jan." - -#: templates/calendar.php:8 -msgid "Feb." -msgstr "feb." - -#: templates/calendar.php:8 -msgid "Mar." -msgstr "mar." - -#: templates/calendar.php:8 -msgid "Apr." -msgstr "apr." - -#: templates/calendar.php:8 -msgid "May." -msgstr "maj" - -#: templates/calendar.php:8 -msgid "Jun." -msgstr "jun." - -#: templates/calendar.php:8 -msgid "Jul." -msgstr "jul." - -#: templates/calendar.php:8 -msgid "Aug." -msgstr "avg." - -#: templates/calendar.php:8 -msgid "Sep." -msgstr "sep." - -#: templates/calendar.php:8 -msgid "Oct." -msgstr "okt." - -#: templates/calendar.php:8 -msgid "Nov." -msgstr "nov." - -#: templates/calendar.php:8 -msgid "Dec." -msgstr "dec." - -#: templates/calendar.php:11 -msgid "All day" -msgstr "Cel dan" - -#: templates/calendar.php:13 -msgid "Missing fields" -msgstr "Mankajoča polja" - -#: templates/calendar.php:14 templates/part.eventform.php:19 -#: templates/part.showevent.php:11 -msgid "Title" -msgstr "Naslov" - -#: templates/calendar.php:16 -msgid "From Date" -msgstr "od Datum" - -#: templates/calendar.php:17 -msgid "From Time" -msgstr "od Čas" - -#: templates/calendar.php:18 -msgid "To Date" -msgstr "do Datum" - -#: templates/calendar.php:19 -msgid "To Time" -msgstr "do Čas" - -#: templates/calendar.php:20 -msgid "The event ends before it starts" -msgstr "Dogodek se konča preden se začne" - -#: templates/calendar.php:21 -msgid "There was a database fail" -msgstr "Napaka v podatkovni zbirki" - -#: templates/calendar.php:39 -msgid "Week" -msgstr "Teden" - -#: templates/calendar.php:40 -msgid "Month" -msgstr "Mesec" - -#: templates/calendar.php:41 -msgid "List" -msgstr "Seznam" - -#: templates/calendar.php:45 -msgid "Today" -msgstr "Danes" - -#: templates/calendar.php:46 templates/calendar.php:47 -msgid "Settings" -msgstr "Nastavitve" - -#: templates/part.choosecalendar.php:2 -msgid "Your calendars" -msgstr "Vaši koledarji" - -#: templates/part.choosecalendar.php:27 -#: templates/part.choosecalendar.rowfields.php:11 -msgid "CalDav Link" -msgstr "CalDav povezava" - -#: templates/part.choosecalendar.php:31 -msgid "Shared calendars" -msgstr "Koledarji v souporabi" - -#: templates/part.choosecalendar.php:48 -msgid "No shared calendars" -msgstr "Ni koledarjev v souporabi" - -#: templates/part.choosecalendar.rowfields.php:8 -msgid "Share Calendar" -msgstr "Daj koledar v souporabo" - -#: templates/part.choosecalendar.rowfields.php:14 -msgid "Download" -msgstr "Prenesi" - -#: templates/part.choosecalendar.rowfields.php:17 -msgid "Edit" -msgstr "Uredi" - -#: templates/part.choosecalendar.rowfields.php:20 -#: templates/part.editevent.php:9 -msgid "Delete" -msgstr "Izbriši" - -#: templates/part.choosecalendar.rowfields.shared.php:4 -msgid "shared with you by" -msgstr "z vami souporablja" - -#: templates/part.editcalendar.php:9 -msgid "New calendar" -msgstr "Nov koledar" - -#: templates/part.editcalendar.php:9 -msgid "Edit calendar" -msgstr "Uredi koledar" - -#: templates/part.editcalendar.php:12 -msgid "Displayname" -msgstr "Ime za prikaz" - -#: templates/part.editcalendar.php:23 -msgid "Active" -msgstr "Aktivno" - -#: templates/part.editcalendar.php:29 -msgid "Calendar color" -msgstr "Barva koledarja" - -#: templates/part.editcalendar.php:42 -msgid "Save" -msgstr "Shrani" - -#: templates/part.editcalendar.php:42 templates/part.editevent.php:8 -#: templates/part.newevent.php:6 -msgid "Submit" -msgstr "Potrdi" - -#: templates/part.editcalendar.php:43 -msgid "Cancel" -msgstr "Prekliči" - -#: templates/part.editevent.php:1 -msgid "Edit an event" -msgstr "Uredi dogodek" - -#: templates/part.editevent.php:10 -msgid "Export" -msgstr "Izvozi" - -#: templates/part.eventform.php:8 templates/part.showevent.php:3 -msgid "Eventinfo" -msgstr "Informacije od dogodku" - -#: templates/part.eventform.php:9 templates/part.showevent.php:4 -msgid "Repeating" -msgstr "Ponavljanja" - -#: templates/part.eventform.php:10 templates/part.showevent.php:5 -msgid "Alarm" -msgstr "Alarm" - -#: templates/part.eventform.php:11 templates/part.showevent.php:6 -msgid "Attendees" -msgstr "Udeleženci" - -#: templates/part.eventform.php:13 -msgid "Share" -msgstr "Souporaba" - -#: templates/part.eventform.php:21 -msgid "Title of the Event" -msgstr "Naslov dogodka" - -#: templates/part.eventform.php:27 templates/part.showevent.php:19 -msgid "Category" -msgstr "Kategorija" - -#: templates/part.eventform.php:29 -msgid "Separate categories with commas" -msgstr "Kategorije ločite z vejico" - -#: templates/part.eventform.php:30 -msgid "Edit categories" -msgstr "Uredi kategorije" - -#: templates/part.eventform.php:56 templates/part.showevent.php:52 -msgid "All Day Event" -msgstr "Celodnevni dogodek" - -#: templates/part.eventform.php:60 templates/part.showevent.php:56 -msgid "From" -msgstr "Od" - -#: templates/part.eventform.php:68 templates/part.showevent.php:64 -msgid "To" -msgstr "Do" - -#: templates/part.eventform.php:76 templates/part.showevent.php:72 -msgid "Advanced options" -msgstr "Napredne možnosti" - -#: templates/part.eventform.php:81 templates/part.showevent.php:77 -msgid "Location" -msgstr "Kraj" - -#: templates/part.eventform.php:83 -msgid "Location of the Event" -msgstr "Kraj dogodka" - -#: templates/part.eventform.php:89 templates/part.showevent.php:85 -msgid "Description" -msgstr "Opis" - -#: templates/part.eventform.php:91 -msgid "Description of the Event" -msgstr "Opis dogodka" - -#: templates/part.eventform.php:100 templates/part.showevent.php:95 -msgid "Repeat" -msgstr "Ponovi" - -#: templates/part.eventform.php:107 templates/part.showevent.php:102 -msgid "Advanced" -msgstr "Napredno" - -#: templates/part.eventform.php:151 templates/part.showevent.php:146 -msgid "Select weekdays" -msgstr "Izberite dneve v tednu" - -#: templates/part.eventform.php:164 templates/part.eventform.php:177 -#: templates/part.showevent.php:159 templates/part.showevent.php:172 -msgid "Select days" -msgstr "Izberite dneve" - -#: templates/part.eventform.php:169 templates/part.showevent.php:164 -msgid "and the events day of year." -msgstr "in dnevu dogodka v letu." - -#: templates/part.eventform.php:182 templates/part.showevent.php:177 -msgid "and the events day of month." -msgstr "in dnevu dogodka v mesecu." - -#: templates/part.eventform.php:190 templates/part.showevent.php:185 -msgid "Select months" -msgstr "Izberite mesece" - -#: templates/part.eventform.php:203 templates/part.showevent.php:198 -msgid "Select weeks" -msgstr "Izberite tedne" - -#: templates/part.eventform.php:208 templates/part.showevent.php:203 -msgid "and the events week of year." -msgstr "in tednu dogodka v letu." - -#: templates/part.eventform.php:214 templates/part.showevent.php:209 -msgid "Interval" -msgstr "Časovni razmik" - -#: templates/part.eventform.php:220 templates/part.showevent.php:215 -msgid "End" -msgstr "Konec" - -#: templates/part.eventform.php:233 templates/part.showevent.php:228 -msgid "occurrences" -msgstr "ponovitev" - -#: templates/part.import.php:14 -msgid "create a new calendar" -msgstr "Ustvari nov koledar" - -#: templates/part.import.php:17 -msgid "Import a calendar file" -msgstr "Uvozi datoteko koledarja" - -#: templates/part.import.php:24 -msgid "Please choose a calendar" -msgstr "Prosimo, če izberete koledar" - -#: templates/part.import.php:36 -msgid "Name of new calendar" -msgstr "Ime novega koledarja" - -#: templates/part.import.php:44 -msgid "Take an available name!" -msgstr "Izberite prosto ime!" - -#: templates/part.import.php:45 -msgid "" -"A Calendar with this name already exists. If you continue anyhow, these " -"calendars will be merged." -msgstr "Koledar s tem imenom že obstaja. Če nadaljujete, bosta koledarja združena." - -#: templates/part.import.php:47 -msgid "Import" -msgstr "Uvozi" - -#: templates/part.import.php:56 -msgid "Close Dialog" -msgstr "Zapri dialog" - -#: templates/part.newevent.php:1 -msgid "Create a new event" -msgstr "Ustvari nov dogodek" - -#: templates/part.showevent.php:1 -msgid "View an event" -msgstr "Poglej dogodek" - -#: templates/part.showevent.php:23 -msgid "No categories selected" -msgstr "Nobena kategorija ni izbrana" - -#: templates/part.showevent.php:37 -msgid "of" -msgstr "od" - -#: templates/part.showevent.php:59 templates/part.showevent.php:67 -msgid "at" -msgstr "pri" - -#: templates/settings.php:10 -msgid "General" -msgstr "Splošno" - -#: templates/settings.php:15 -msgid "Timezone" -msgstr "Časovni pas" - -#: templates/settings.php:47 -msgid "Update timezone automatically" -msgstr "Samodejno posodobi časovni pas" - -#: templates/settings.php:52 -msgid "Time format" -msgstr "Oblika zapisa časa" - -#: templates/settings.php:57 -msgid "24h" -msgstr "24ur" - -#: templates/settings.php:58 -msgid "12h" -msgstr "12ur" - -#: templates/settings.php:64 -msgid "Start week on" -msgstr "Začni teden z" - -#: templates/settings.php:76 -msgid "Cache" -msgstr "Predpomnilnik" - -#: templates/settings.php:80 -msgid "Clear cache for repeating events" -msgstr "Počisti predpomnilnik za ponavljajoče dogodke" - -#: templates/settings.php:85 -msgid "URLs" -msgstr "URLji" - -#: templates/settings.php:87 -msgid "Calendar CalDAV syncing addresses" -msgstr "CalDAV naslov za usklajevanje koledarjev" - -#: templates/settings.php:87 -msgid "more info" -msgstr "dodatne informacije" - -#: templates/settings.php:89 -msgid "Primary address (Kontact et al)" -msgstr "Glavni naslov (Kontakt et al)" - -#: templates/settings.php:91 -msgid "iOS/OS X" -msgstr "iOS/OS X" - -#: templates/settings.php:93 -msgid "Read only iCalendar link(s)" -msgstr "iCalendar povezava/e samo za branje" - -#: templates/share.dropdown.php:20 -msgid "Users" -msgstr "Uporabniki" - -#: templates/share.dropdown.php:21 -msgid "select users" -msgstr "izberite uporabnike" - -#: templates/share.dropdown.php:36 templates/share.dropdown.php:62 -msgid "Editable" -msgstr "Možno urejanje" - -#: templates/share.dropdown.php:48 -msgid "Groups" -msgstr "Skupine" - -#: templates/share.dropdown.php:49 -msgid "select groups" -msgstr "izberite skupine" - -#: templates/share.dropdown.php:75 -msgid "make public" -msgstr "objavi" diff --git a/l10n/sl/contacts.po b/l10n/sl/contacts.po deleted file mode 100644 index a31210ca6e1f190f0cbc0fac4cca52f5378f272a..0000000000000000000000000000000000000000 --- a/l10n/sl/contacts.po +++ /dev/null @@ -1,955 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# , 2012. -# Peter Peroša , 2012. -# , 2011. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-25 02:04+0200\n" -"PO-Revision-Date: 2012-08-24 09:09+0000\n" -"Last-Translator: Peter Peroša \n" -"Language-Team: Slovenian (http://www.transifex.com/projects/p/owncloud/language/sl/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: sl\n" -"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3)\n" - -#: ajax/addressbook/activate.php:24 ajax/addressbook/update.php:32 -msgid "Error (de)activating addressbook." -msgstr "Napaka med (de)aktivacijo imenika." - -#: ajax/addressbook/delete.php:31 ajax/addressbook/update.php:20 -#: ajax/contact/addproperty.php:42 ajax/contact/delete.php:32 -#: ajax/contact/saveproperty.php:39 -msgid "id is not set." -msgstr "id ni nastavljen." - -#: ajax/addressbook/update.php:24 -msgid "Cannot update addressbook with an empty name." -msgstr "Ne morem posodobiti imenika s praznim imenom." - -#: ajax/addressbook/update.php:28 -msgid "Error updating addressbook." -msgstr "Napaka pri posodabljanju imenika." - -#: ajax/categories/categoriesfor.php:17 -msgid "No ID provided" -msgstr "ID ni bil podan" - -#: ajax/categories/categoriesfor.php:34 -msgid "Error setting checksum." -msgstr "Napaka pri nastavljanju nadzorne vsote." - -#: ajax/categories/delete.php:19 -msgid "No categories selected for deletion." -msgstr "Nobena kategorija ni bila izbrana za izbris." - -#: ajax/categories/delete.php:26 -msgid "No address books found." -msgstr "Ni bilo najdenih imenikov." - -#: ajax/categories/delete.php:34 -msgid "No contacts found." -msgstr "Ni bilo najdenih stikov." - -#: ajax/contact/add.php:47 -msgid "There was an error adding the contact." -msgstr "Med dodajanjem stika je prišlo do napake" - -#: ajax/contact/addproperty.php:39 ajax/contact/saveproperty.php:36 -msgid "element name is not set." -msgstr "ime elementa ni nastavljeno." - -#: ajax/contact/addproperty.php:46 -msgid "Could not parse contact: " -msgstr "Ne morem razčleniti stika:" - -#: ajax/contact/addproperty.php:56 -msgid "Cannot add empty property." -msgstr "Ne morem dodati prazne lastnosti." - -#: ajax/contact/addproperty.php:67 -msgid "At least one of the address fields has to be filled out." -msgstr "Vsaj eno izmed polj je še potrebno izpolniti." - -#: ajax/contact/addproperty.php:76 -msgid "Trying to add duplicate property: " -msgstr "Poskušam dodati podvojeno lastnost:" - -#: ajax/contact/addproperty.php:115 ajax/contact/saveproperty.php:93 -msgid "Missing IM parameter." -msgstr "Manjkajoč IM parameter." - -#: ajax/contact/addproperty.php:119 ajax/contact/saveproperty.php:97 -msgid "Unknown IM: " -msgstr "Neznan IM:" - -#: ajax/contact/deleteproperty.php:37 -msgid "Information about vCard is incorrect. Please reload the page." -msgstr "Informacije o vCard niso pravilne. Prosimo, če ponovno naložite stran." - -#: ajax/contact/details.php:31 -msgid "Missing ID" -msgstr "Manjkajoč ID" - -#: ajax/contact/details.php:36 -msgid "Error parsing VCard for ID: \"" -msgstr "Napaka pri razčlenjevanju VCard za ID: \"" - -#: ajax/contact/saveproperty.php:42 -msgid "checksum is not set." -msgstr "nadzorna vsota ni nastavljena." - -#: ajax/contact/saveproperty.php:62 -msgid "Information about vCard is incorrect. Please reload the page: " -msgstr "Informacija o vCard je napačna. Prosimo, če ponovno naložite stran: " - -#: ajax/contact/saveproperty.php:69 -msgid "Something went FUBAR. " -msgstr "Nekaj je šlo v franže. " - -#: ajax/currentphoto.php:30 ajax/oc_photo.php:28 ajax/uploadphoto.php:36 -#: ajax/uploadphoto.php:68 -msgid "No contact ID was submitted." -msgstr "ID stika ni bil poslan." - -#: ajax/currentphoto.php:36 -msgid "Error reading contact photo." -msgstr "Napaka pri branju slike stika." - -#: ajax/currentphoto.php:48 -msgid "Error saving temporary file." -msgstr "Napaka pri shranjevanju začasne datoteke." - -#: ajax/currentphoto.php:51 -msgid "The loading photo is not valid." -msgstr "Slika, ki se nalaga ni veljavna." - -#: ajax/editname.php:31 -msgid "Contact ID is missing." -msgstr "Manjka ID stika." - -#: ajax/oc_photo.php:32 -msgid "No photo path was submitted." -msgstr "Pot slike ni bila poslana." - -#: ajax/oc_photo.php:39 -msgid "File doesn't exist:" -msgstr "Datoteka ne obstaja:" - -#: ajax/oc_photo.php:44 ajax/oc_photo.php:47 -msgid "Error loading image." -msgstr "Napaka pri nalaganju slike." - -#: ajax/savecrop.php:69 -msgid "Error getting contact object." -msgstr "Napaka pri pridobivanju kontakta predmeta." - -#: ajax/savecrop.php:79 -msgid "Error getting PHOTO property." -msgstr "Napaka pri pridobivanju lastnosti fotografije." - -#: ajax/savecrop.php:98 -msgid "Error saving contact." -msgstr "Napaka pri shranjevanju stika." - -#: ajax/savecrop.php:109 -msgid "Error resizing image" -msgstr "Napaka pri spreminjanju velikosti slike" - -#: ajax/savecrop.php:112 -msgid "Error cropping image" -msgstr "Napaka pri obrezovanju slike" - -#: ajax/savecrop.php:115 -msgid "Error creating temporary image" -msgstr "Napaka pri ustvarjanju začasne slike" - -#: ajax/savecrop.php:118 -msgid "Error finding image: " -msgstr "Napaka pri iskanju datoteke: " - -#: ajax/uploadimport.php:44 ajax/uploadimport.php:76 -msgid "Error uploading contacts to storage." -msgstr "Napaka pri nalaganju stikov v hrambo." - -#: ajax/uploadimport.php:61 ajax/uploadphoto.php:77 -msgid "There is no error, the file uploaded with success" -msgstr "Datoteka je bila uspešno naložena." - -#: ajax/uploadimport.php:62 ajax/uploadphoto.php:78 -msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" -msgstr "Naložena datoteka presega velikost, ki jo določa parameter upload_max_filesize v datoteki php.ini" - -#: ajax/uploadimport.php:63 ajax/uploadphoto.php:79 -msgid "" -"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " -"the HTML form" -msgstr "Naložena datoteka presega velikost, ki jo določa parameter MAX_FILE_SIZE v HTML obrazcu" - -#: ajax/uploadimport.php:64 ajax/uploadphoto.php:80 -msgid "The uploaded file was only partially uploaded" -msgstr "Datoteka je bila le delno naložena" - -#: ajax/uploadimport.php:65 ajax/uploadphoto.php:81 -msgid "No file was uploaded" -msgstr "Nobena datoteka ni bila naložena" - -#: ajax/uploadimport.php:66 ajax/uploadphoto.php:82 -msgid "Missing a temporary folder" -msgstr "Manjka začasna mapa" - -#: ajax/uploadphoto.php:59 ajax/uploadphoto.php:109 -msgid "Couldn't save temporary image: " -msgstr "Začasne slike ni bilo mogoče shraniti: " - -#: ajax/uploadphoto.php:62 ajax/uploadphoto.php:112 -msgid "Couldn't load temporary image: " -msgstr "Začasne slike ni bilo mogoče naložiti: " - -#: ajax/uploadphoto.php:71 -msgid "No file was uploaded. Unknown error" -msgstr "Nobena datoteka ni bila naložena. Neznana napaka" - -#: appinfo/app.php:25 -msgid "Contacts" -msgstr "Stiki" - -#: js/contacts.js:71 -msgid "Sorry, this functionality has not been implemented yet" -msgstr "Žal ta funkcionalnost še ni podprta" - -#: js/contacts.js:71 -msgid "Not implemented" -msgstr "Ni podprto" - -#: js/contacts.js:76 -msgid "Couldn't get a valid address." -msgstr "Ne morem dobiti veljavnega naslova." - -#: js/contacts.js:76 js/contacts.js:365 js/contacts.js:381 js/contacts.js:393 -#: js/contacts.js:723 js/contacts.js:763 js/contacts.js:789 js/contacts.js:921 -#: js/contacts.js:927 js/contacts.js:939 js/contacts.js:976 -#: js/contacts.js:1250 js/contacts.js:1258 js/contacts.js:1267 -#: js/contacts.js:1302 js/contacts.js:1338 js/contacts.js:1353 -#: js/contacts.js:1379 js/contacts.js:1609 js/contacts.js:1644 -#: js/contacts.js:1664 js/settings.js:26 js/settings.js:43 js/settings.js:68 -msgid "Error" -msgstr "Napaka" - -#: js/contacts.js:424 -msgid "You do not have permission to add contacts to " -msgstr "Nimate dovoljenja za dodajanje stikov v" - -#: js/contacts.js:425 -msgid "Please select one of your own address books." -msgstr "Prosimo, če izberete enega izmed vaših adresarjev." - -#: js/contacts.js:425 -msgid "Permission error" -msgstr "Napaka dovoljenj" - -#: js/contacts.js:763 -msgid "This property has to be non-empty." -msgstr "Ta lastnost ne sme biti prazna" - -#: js/contacts.js:789 -msgid "Couldn't serialize elements." -msgstr "Predmetov ni bilo mogoče dati v zaporedje." - -#: js/contacts.js:921 js/contacts.js:939 -msgid "" -"'deleteProperty' called without type argument. Please report at " -"bugs.owncloud.org" -msgstr "\"deleteProperty\" je bila klicana brez vrste argumenta. Prosimo, če oddate poročilo o napaki na bugs.owncloud.org" - -#: js/contacts.js:958 -msgid "Edit name" -msgstr "Uredi ime" - -#: js/contacts.js:1250 -msgid "No files selected for upload." -msgstr "Nobena datoteka ni bila izbrana za nalaganje." - -#: js/contacts.js:1258 -msgid "" -"The file you are trying to upload exceed the maximum size for file uploads " -"on this server." -msgstr "Datoteka, ki jo poskušate naložiti, presega največjo dovoljeno velikost za nalaganje na tem strežniku." - -#: js/contacts.js:1322 -msgid "Error loading profile picture." -msgstr "Napaka pri nalaganju slike profila." - -#: js/contacts.js:1457 js/contacts.js:1498 js/contacts.js:1517 -#: js/contacts.js:1560 -msgid "Select type" -msgstr "Izberite vrsto" - -#: js/contacts.js:1578 -msgid "" -"Some contacts are marked for deletion, but not deleted yet. Please wait for " -"them to be deleted." -msgstr "Nekateri stiki so označeni za izbris, vendar še niso izbrisani. Prosimo, če počakate na njihov izbris." - -#: js/contacts.js:1649 -msgid "Do you want to merge these address books?" -msgstr "Ali želite združiti adresarje?" - -#: js/loader.js:49 -msgid "Result: " -msgstr "Rezultati: " - -#: js/loader.js:49 -msgid " imported, " -msgstr " uvoženih, " - -#: js/loader.js:49 -msgid " failed." -msgstr " je spodletelo." - -#: js/settings.js:68 -msgid "Displayname cannot be empty." -msgstr "Ime za prikaz ne more biti prazno." - -#: lib/app.php:36 -msgid "Addressbook not found: " -msgstr "Adresar ni bil najden:" - -#: lib/app.php:52 -msgid "This is not your addressbook." -msgstr "To ni vaš imenik." - -#: lib/app.php:71 -msgid "Contact could not be found." -msgstr "Stika ni bilo mogoče najti." - -#: lib/app.php:116 -msgid "Jabber" -msgstr "Jabber" - -#: lib/app.php:121 -msgid "AIM" -msgstr "AIM" - -#: lib/app.php:126 -msgid "MSN" -msgstr "MSN" - -#: lib/app.php:131 -msgid "Twitter" -msgstr "Twitter" - -#: lib/app.php:136 -msgid "GoogleTalk" -msgstr "GoogleTalk" - -#: lib/app.php:141 -msgid "Facebook" -msgstr "Facebook" - -#: lib/app.php:146 -msgid "XMPP" -msgstr "XMPP" - -#: lib/app.php:151 -msgid "ICQ" -msgstr "ICQ" - -#: lib/app.php:156 -msgid "Yahoo" -msgstr "Yahoo" - -#: lib/app.php:161 -msgid "Skype" -msgstr "Skype" - -#: lib/app.php:166 -msgid "QQ" -msgstr "QQ" - -#: lib/app.php:171 -msgid "GaduGadu" -msgstr "GaduGadu" - -#: lib/app.php:194 lib/app.php:202 lib/app.php:213 lib/app.php:266 -msgid "Work" -msgstr "Delo" - -#: lib/app.php:195 lib/app.php:200 lib/app.php:214 -msgid "Home" -msgstr "Doma" - -#: lib/app.php:196 lib/app.php:209 lib/app.php:262 lib/vcard.php:593 -msgid "Other" -msgstr "Drugo" - -#: lib/app.php:201 -msgid "Mobile" -msgstr "Mobilni telefon" - -#: lib/app.php:203 -msgid "Text" -msgstr "Besedilo" - -#: lib/app.php:204 -msgid "Voice" -msgstr "Glas" - -#: lib/app.php:205 -msgid "Message" -msgstr "Sporočilo" - -#: lib/app.php:206 -msgid "Fax" -msgstr "Faks" - -#: lib/app.php:207 -msgid "Video" -msgstr "Video" - -#: lib/app.php:208 -msgid "Pager" -msgstr "Pozivnik" - -#: lib/app.php:215 -msgid "Internet" -msgstr "Internet" - -#: lib/app.php:252 templates/part.contact.php:45 -#: templates/part.contact.php:128 -msgid "Birthday" -msgstr "Rojstni dan" - -#: lib/app.php:253 -msgid "Business" -msgstr "Poslovno" - -#: lib/app.php:254 -msgid "Call" -msgstr "Klic" - -#: lib/app.php:255 -msgid "Clients" -msgstr "Stranka" - -#: lib/app.php:256 -msgid "Deliverer" -msgstr "Dostavljalec" - -#: lib/app.php:257 -msgid "Holidays" -msgstr "Prazniki" - -#: lib/app.php:258 -msgid "Ideas" -msgstr "Ideje" - -#: lib/app.php:259 -msgid "Journey" -msgstr "Potovanje" - -#: lib/app.php:260 -msgid "Jubilee" -msgstr "Jubilej" - -#: lib/app.php:261 -msgid "Meeting" -msgstr "Sestanek" - -#: lib/app.php:263 -msgid "Personal" -msgstr "Osebno" - -#: lib/app.php:264 -msgid "Projects" -msgstr "Projekti" - -#: lib/app.php:265 -msgid "Questions" -msgstr "Vprašanja" - -#: lib/hooks.php:102 -msgid "{name}'s Birthday" -msgstr "{name} - rojstni dan" - -#: lib/search.php:15 -msgid "Contact" -msgstr "Stik" - -#: lib/vcard.php:408 -msgid "You do not have the permissions to edit this contact." -msgstr "Nimate dovoljenj za urejanje tega stika." - -#: lib/vcard.php:483 -msgid "You do not have the permissions to delete this contact." -msgstr "Nimate dovoljenj za izbris tega stika." - -#: templates/index.php:14 -msgid "Add Contact" -msgstr "Dodaj stik" - -#: templates/index.php:15 templates/index.php:16 templates/part.import.php:17 -msgid "Import" -msgstr "Uvozi" - -#: templates/index.php:18 -msgid "Settings" -msgstr "Nastavitve" - -#: templates/index.php:18 templates/settings.php:9 -msgid "Addressbooks" -msgstr "Imeniki" - -#: templates/index.php:36 templates/part.import.php:24 -msgid "Close" -msgstr "Zapri" - -#: templates/index.php:37 -msgid "Keyboard shortcuts" -msgstr "Bližnjice na tipkovnici" - -#: templates/index.php:39 -msgid "Navigation" -msgstr "Krmarjenje" - -#: templates/index.php:42 -msgid "Next contact in list" -msgstr "Naslednji stik na seznamu" - -#: templates/index.php:44 -msgid "Previous contact in list" -msgstr "Predhodni stik na seznamu" - -#: templates/index.php:46 -msgid "Expand/collapse current addressbook" -msgstr "Razširi/skrči trenutni adresar" - -#: templates/index.php:48 -msgid "Next addressbook" -msgstr "Naslednji adresar" - -#: templates/index.php:50 -msgid "Previous addressbook" -msgstr "Predhodni adresar" - -#: templates/index.php:54 -msgid "Actions" -msgstr "Dejanja" - -#: templates/index.php:57 -msgid "Refresh contacts list" -msgstr "Osveži seznam stikov" - -#: templates/index.php:59 -msgid "Add new contact" -msgstr "Dodaj nov stik" - -#: templates/index.php:61 -msgid "Add new addressbook" -msgstr "Dodaj nov adresar" - -#: templates/index.php:63 -msgid "Delete current contact" -msgstr "Izbriši trenutni stik" - -#: templates/part.contact.php:17 -msgid "Drop photo to upload" -msgstr "Spustite sliko tukaj, da bi jo naložili" - -#: templates/part.contact.php:19 -msgid "Delete current photo" -msgstr "Izbriši trenutno sliko" - -#: templates/part.contact.php:20 -msgid "Edit current photo" -msgstr "Uredi trenutno sliko" - -#: templates/part.contact.php:21 -msgid "Upload new photo" -msgstr "Naloži novo sliko" - -#: templates/part.contact.php:22 -msgid "Select photo from ownCloud" -msgstr "Izberi sliko iz ownCloud" - -#: templates/part.contact.php:35 -msgid "Format custom, Short name, Full name, Reverse or Reverse with comma" -msgstr "Format po meri, Kratko ime, Polno ime, Obratno ali Obratno z vejico" - -#: templates/part.contact.php:36 -msgid "Edit name details" -msgstr "Uredite podrobnosti imena" - -#: templates/part.contact.php:39 templates/part.contact.php:40 -#: templates/part.contact.php:126 -msgid "Organization" -msgstr "Organizacija" - -#: templates/part.contact.php:40 templates/part.contact.php:42 -#: templates/part.contact.php:44 templates/part.contact.php:46 -#: templates/part.contact.php:50 templates/settings.php:36 -msgid "Delete" -msgstr "Izbriši" - -#: templates/part.contact.php:41 templates/part.contact.php:127 -msgid "Nickname" -msgstr "Vzdevek" - -#: templates/part.contact.php:42 -msgid "Enter nickname" -msgstr "Vnesite vzdevek" - -#: templates/part.contact.php:43 templates/part.contact.php:134 -msgid "Web site" -msgstr "Spletna stran" - -#: templates/part.contact.php:44 -msgid "http://www.somesite.com" -msgstr "http://www.nekastran.si" - -#: templates/part.contact.php:44 -msgid "Go to web site" -msgstr "Pojdi na spletno stran" - -#: templates/part.contact.php:46 -msgid "dd-mm-yyyy" -msgstr "dd. mm. yyyy" - -#: templates/part.contact.php:47 templates/part.contact.php:135 -msgid "Groups" -msgstr "Skupine" - -#: templates/part.contact.php:49 -msgid "Separate groups with commas" -msgstr "Skupine ločite z vejicami" - -#: templates/part.contact.php:50 -msgid "Edit groups" -msgstr "Uredi skupine" - -#: templates/part.contact.php:59 templates/part.contact.php:73 -#: templates/part.contact.php:98 -msgid "Preferred" -msgstr "Prednosten" - -#: templates/part.contact.php:60 -msgid "Please specify a valid email address." -msgstr "Prosimo, če navedete veljaven e-poštni naslov." - -#: templates/part.contact.php:60 -msgid "Enter email address" -msgstr "Vnesite e-poštni naslov" - -#: templates/part.contact.php:64 -msgid "Mail to address" -msgstr "E-pošta naslovnika" - -#: templates/part.contact.php:65 -msgid "Delete email address" -msgstr "Izbriši e-poštni naslov" - -#: templates/part.contact.php:75 -msgid "Enter phone number" -msgstr "Vpiši telefonsko številko" - -#: templates/part.contact.php:79 -msgid "Delete phone number" -msgstr "Izbriši telefonsko številko" - -#: templates/part.contact.php:100 -msgid "Instant Messenger" -msgstr "Takojšni sporočilnik" - -#: templates/part.contact.php:101 -msgid "Delete IM" -msgstr "Izbriši IM" - -#: templates/part.contact.php:110 -msgid "View on map" -msgstr "Prikaz na zemljevidu" - -#: templates/part.contact.php:110 -msgid "Edit address details" -msgstr "Uredi podrobnosti" - -#: templates/part.contact.php:116 -msgid "Add notes here." -msgstr "Opombe dodajte tukaj." - -#: templates/part.contact.php:124 -msgid "Add field" -msgstr "Dodaj polje" - -#: templates/part.contact.php:129 -msgid "Phone" -msgstr "Telefon" - -#: templates/part.contact.php:130 -msgid "Email" -msgstr "E-pošta" - -#: templates/part.contact.php:131 -msgid "Instant Messaging" -msgstr "Neposredno sporočanje" - -#: templates/part.contact.php:132 -msgid "Address" -msgstr "Naslov" - -#: templates/part.contact.php:133 -msgid "Note" -msgstr "Opomba" - -#: templates/part.contact.php:138 -msgid "Download contact" -msgstr "Prenesi stik" - -#: templates/part.contact.php:139 -msgid "Delete contact" -msgstr "Izbriši stik" - -#: templates/part.cropphoto.php:65 -msgid "The temporary image has been removed from cache." -msgstr "Začasna slika je bila odstranjena iz predpomnilnika." - -#: templates/part.edit_address_dialog.php:6 -msgid "Edit address" -msgstr "Uredi naslov" - -#: templates/part.edit_address_dialog.php:10 -msgid "Type" -msgstr "Vrsta" - -#: templates/part.edit_address_dialog.php:18 -#: templates/part.edit_address_dialog.php:21 -msgid "PO Box" -msgstr "Poštni predal" - -#: templates/part.edit_address_dialog.php:24 -msgid "Street address" -msgstr "Ulični naslov" - -#: templates/part.edit_address_dialog.php:27 -msgid "Street and number" -msgstr "Ulica in štelika" - -#: templates/part.edit_address_dialog.php:30 -msgid "Extended" -msgstr "Razširjeno" - -#: templates/part.edit_address_dialog.php:33 -msgid "Apartment number etc." -msgstr "Številka stanovanja itd." - -#: templates/part.edit_address_dialog.php:36 -#: templates/part.edit_address_dialog.php:39 -msgid "City" -msgstr "Mesto" - -#: templates/part.edit_address_dialog.php:42 -msgid "Region" -msgstr "Regija" - -#: templates/part.edit_address_dialog.php:45 -msgid "E.g. state or province" -msgstr "Npr. dežela ali pokrajina" - -#: templates/part.edit_address_dialog.php:48 -msgid "Zipcode" -msgstr "Poštna št." - -#: templates/part.edit_address_dialog.php:51 -msgid "Postal code" -msgstr "Poštna številka" - -#: templates/part.edit_address_dialog.php:54 -#: templates/part.edit_address_dialog.php:57 -msgid "Country" -msgstr "Dežela" - -#: templates/part.edit_name_dialog.php:16 -msgid "Addressbook" -msgstr "Imenik" - -#: templates/part.edit_name_dialog.php:23 -msgid "Hon. prefixes" -msgstr "Predpone" - -#: templates/part.edit_name_dialog.php:27 -msgid "Miss" -msgstr "gdč." - -#: templates/part.edit_name_dialog.php:28 -msgid "Ms" -msgstr "ga." - -#: templates/part.edit_name_dialog.php:29 -msgid "Mr" -msgstr "g." - -#: templates/part.edit_name_dialog.php:30 -msgid "Sir" -msgstr "g." - -#: templates/part.edit_name_dialog.php:31 -msgid "Mrs" -msgstr "ga." - -#: templates/part.edit_name_dialog.php:32 -msgid "Dr" -msgstr "dr." - -#: templates/part.edit_name_dialog.php:35 -msgid "Given name" -msgstr "Ime" - -#: templates/part.edit_name_dialog.php:37 -msgid "Additional names" -msgstr "Dodatna imena" - -#: templates/part.edit_name_dialog.php:39 -msgid "Family name" -msgstr "Priimek" - -#: templates/part.edit_name_dialog.php:41 -msgid "Hon. suffixes" -msgstr "Pripone" - -#: templates/part.edit_name_dialog.php:45 -msgid "J.D." -msgstr "univ. dipl. prav." - -#: templates/part.edit_name_dialog.php:46 -msgid "M.D." -msgstr "dr. med." - -#: templates/part.edit_name_dialog.php:47 -msgid "D.O." -msgstr "dr. med., spec. spl. med." - -#: templates/part.edit_name_dialog.php:48 -msgid "D.C." -msgstr "dr. med., spec. kiropraktike" - -#: templates/part.edit_name_dialog.php:49 -msgid "Ph.D." -msgstr "dr." - -#: templates/part.edit_name_dialog.php:50 -msgid "Esq." -msgstr "Esq." - -#: templates/part.edit_name_dialog.php:51 -msgid "Jr." -msgstr "mlajši" - -#: templates/part.edit_name_dialog.php:52 -msgid "Sn." -msgstr "starejši" - -#: templates/part.import.php:1 -msgid "Import a contacts file" -msgstr "Uvozi datoteko s stiki" - -#: templates/part.import.php:6 -msgid "Please choose the addressbook" -msgstr "Prosimo, če izberete imenik" - -#: templates/part.import.php:10 -msgid "create a new addressbook" -msgstr "Ustvari nov imenik" - -#: templates/part.import.php:15 -msgid "Name of new addressbook" -msgstr "Ime novega imenika" - -#: templates/part.import.php:20 -msgid "Importing contacts" -msgstr "Uvažam stike" - -#: templates/part.no_contacts.php:3 -msgid "You have no contacts in your addressbook." -msgstr "V vašem imeniku ni stikov." - -#: templates/part.no_contacts.php:5 -msgid "Add contact" -msgstr "Dodaj stik" - -#: templates/part.selectaddressbook.php:1 -msgid "Select Address Books" -msgstr "Izberite adresarje" - -#: templates/part.selectaddressbook.php:27 -msgid "Enter name" -msgstr "Vnesite ime" - -#: templates/part.selectaddressbook.php:29 -msgid "Enter description" -msgstr "Vnesite opis" - -#: templates/settings.php:3 -msgid "CardDAV syncing addresses" -msgstr "CardDAV naslovi za sinhronizacijo" - -#: templates/settings.php:3 -msgid "more info" -msgstr "več informacij" - -#: templates/settings.php:5 -msgid "Primary address (Kontact et al)" -msgstr "Primarni naslov (za kontakt et al)" - -#: templates/settings.php:7 -msgid "iOS/OS X" -msgstr "iOS/OS X" - -#: templates/settings.php:20 -msgid "Show CardDav link" -msgstr "Pokaži CardDav povezavo" - -#: templates/settings.php:23 -msgid "Show read-only VCF link" -msgstr "Pokaži VCF povezavo samo za branje" - -#: templates/settings.php:26 -msgid "Share" -msgstr "Souporaba" - -#: templates/settings.php:29 -msgid "Download" -msgstr "Prenesi" - -#: templates/settings.php:33 -msgid "Edit" -msgstr "Uredi" - -#: templates/settings.php:43 -msgid "New Address Book" -msgstr "Nov imenik" - -#: templates/settings.php:44 -msgid "Name" -msgstr "Ime" - -#: templates/settings.php:45 -msgid "Description" -msgstr "Opis" - -#: templates/settings.php:46 -msgid "Save" -msgstr "Shrani" - -#: templates/settings.php:47 -msgid "Cancel" -msgstr "Prekliči" - -#: templates/settings.php:52 -msgid "More..." -msgstr "Več..." diff --git a/l10n/sl/core.po b/l10n/sl/core.po index 1a771160cf272f2f2446191f34c600d21c20f20e..105221ef81989a6f33808877df2155a6e0aa37da 100644 --- a/l10n/sl/core.po +++ b/l10n/sl/core.po @@ -3,6 +3,7 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# <>, 2012. # , 2012. # Peter Peroša , 2012. # , 2012. @@ -10,9 +11,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-16 02:04+0200\n" -"PO-Revision-Date: 2012-10-16 00:05+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-11-20 00:01+0100\n" +"PO-Revision-Date: 2012-11-19 19:48+0000\n" +"Last-Translator: Peter Peroša \n" "Language-Team: Slovenian (http://www.transifex.com/projects/p/owncloud/language/sl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -20,227 +21,259 @@ msgstr "" "Language: sl\n" "Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n" -#: ajax/vcategories/add.php:23 ajax/vcategories/delete.php:23 -msgid "Application name not provided." -msgstr "Ime aplikacije ni bilo določeno." +#: ajax/vcategories/add.php:26 ajax/vcategories/edit.php:25 +msgid "Category type not provided." +msgstr "Vrsta kategorije ni podana." -#: ajax/vcategories/add.php:29 +#: ajax/vcategories/add.php:30 msgid "No category to add?" msgstr "Ni kategorije za dodajanje?" -#: ajax/vcategories/add.php:36 +#: ajax/vcategories/add.php:37 msgid "This category already exists: " msgstr "Ta kategorija že obstaja:" -#: js/js.js:238 templates/layout.user.php:49 templates/layout.user.php:50 +#: ajax/vcategories/addToFavorites.php:26 ajax/vcategories/delete.php:27 +#: ajax/vcategories/favorites.php:24 +#: ajax/vcategories/removeFromFavorites.php:26 +msgid "Object type not provided." +msgstr "Vrsta predmeta ni podana." + +#: ajax/vcategories/addToFavorites.php:30 +#: ajax/vcategories/removeFromFavorites.php:30 +#, php-format +msgid "%s ID not provided." +msgstr "%s ID ni podan." + +#: ajax/vcategories/addToFavorites.php:35 +#, php-format +msgid "Error adding %s to favorites." +msgstr "Napaka pri dodajanju %s med priljubljene." + +#: ajax/vcategories/delete.php:35 js/oc-vcategories.js:136 +msgid "No categories selected for deletion." +msgstr "Za izbris ni izbrana nobena kategorija." + +#: ajax/vcategories/removeFromFavorites.php:35 +#, php-format +msgid "Error removing %s from favorites." +msgstr "Napaka pri odstranjevanju %s iz priljubljenih." + +#: js/js.js:259 templates/layout.user.php:60 templates/layout.user.php:61 msgid "Settings" msgstr "Nastavitve" -#: js/js.js:670 -msgid "January" -msgstr "januar" +#: js/js.js:704 +msgid "seconds ago" +msgstr "pred nekaj sekundami" -#: js/js.js:670 -msgid "February" -msgstr "februar" +#: js/js.js:705 +msgid "1 minute ago" +msgstr "pred minuto" -#: js/js.js:670 -msgid "March" -msgstr "marec" +#: js/js.js:706 +msgid "{minutes} minutes ago" +msgstr "pred {minutes} minutami" -#: js/js.js:670 -msgid "April" -msgstr "april" +#: js/js.js:707 +msgid "1 hour ago" +msgstr "pred 1 uro" -#: js/js.js:670 -msgid "May" -msgstr "maj" +#: js/js.js:708 +msgid "{hours} hours ago" +msgstr "pred {hours} urami" -#: js/js.js:670 -msgid "June" -msgstr "junij" +#: js/js.js:709 +msgid "today" +msgstr "danes" -#: js/js.js:671 -msgid "July" -msgstr "julij" +#: js/js.js:710 +msgid "yesterday" +msgstr "včeraj" -#: js/js.js:671 -msgid "August" -msgstr "avgust" +#: js/js.js:711 +msgid "{days} days ago" +msgstr "pred {days} dnevi" -#: js/js.js:671 -msgid "September" -msgstr "september" +#: js/js.js:712 +msgid "last month" +msgstr "zadnji mesec" -#: js/js.js:671 -msgid "October" -msgstr "oktober" +#: js/js.js:713 +msgid "{months} months ago" +msgstr "pred {months} meseci" -#: js/js.js:671 -msgid "November" -msgstr "november" +#: js/js.js:714 +msgid "months ago" +msgstr "mesecev nazaj" -#: js/js.js:671 -msgid "December" -msgstr "december" +#: js/js.js:715 +msgid "last year" +msgstr "lansko leto" + +#: js/js.js:716 +msgid "years ago" +msgstr "let nazaj" -#: js/oc-dialogs.js:123 +#: js/oc-dialogs.js:126 msgid "Choose" -msgstr "" +msgstr "Izbor" -#: js/oc-dialogs.js:143 js/oc-dialogs.js:163 +#: js/oc-dialogs.js:146 js/oc-dialogs.js:166 msgid "Cancel" msgstr "Prekliči" -#: js/oc-dialogs.js:159 +#: js/oc-dialogs.js:162 msgid "No" msgstr "Ne" -#: js/oc-dialogs.js:160 +#: js/oc-dialogs.js:163 msgid "Yes" msgstr "Da" -#: js/oc-dialogs.js:177 +#: js/oc-dialogs.js:180 msgid "Ok" msgstr "V redu" -#: js/oc-vcategories.js:68 -msgid "No categories selected for deletion." -msgstr "Za izbris ni bila izbrana nobena kategorija." +#: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102 +#: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162 +msgid "The object type is not specified." +msgstr "Vrsta predmeta ni podana." -#: js/oc-vcategories.js:68 js/share.js:114 js/share.js:121 js/share.js:497 -#: js/share.js:509 +#: js/oc-vcategories.js:95 js/oc-vcategories.js:125 js/oc-vcategories.js:136 +#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:527 +#: js/share.js:539 msgid "Error" msgstr "Napaka" -#: js/share.js:103 +#: js/oc-vcategories.js:179 +msgid "The app name is not specified." +msgstr "Ime aplikacije ni podano." + +#: js/oc-vcategories.js:194 +msgid "The required file {file} is not installed!" +msgstr "Zahtevana datoteka {file} ni nameščena!" + +#: js/share.js:124 msgid "Error while sharing" -msgstr "" +msgstr "Napaka med souporabo" -#: js/share.js:114 +#: js/share.js:135 msgid "Error while unsharing" -msgstr "" +msgstr "Napaka med odstranjevanjem souporabe" -#: js/share.js:121 +#: js/share.js:142 msgid "Error while changing permissions" -msgstr "" +msgstr "Napaka med spreminjanjem dovoljenj" -#: js/share.js:130 -msgid "Shared with you and the group" -msgstr "" - -#: js/share.js:130 -msgid "by" -msgstr "" +#: js/share.js:151 +msgid "Shared with you and the group {group} by {owner}" +msgstr "V souporabi z vami in skupino {group}. Lastnik je {owner}." -#: js/share.js:132 -msgid "Shared with you by" -msgstr "" +#: js/share.js:153 +msgid "Shared with you by {owner}" +msgstr "V souporabi z vami. Lastnik je {owner}." -#: js/share.js:137 +#: js/share.js:158 msgid "Share with" -msgstr "" +msgstr "Omogoči souporabo z" -#: js/share.js:142 +#: js/share.js:163 msgid "Share with link" -msgstr "" +msgstr "Omogoči souporabo s povezavo" -#: js/share.js:143 +#: js/share.js:164 msgid "Password protect" -msgstr "" +msgstr "Zaščiti z geslom" -#: js/share.js:147 templates/installation.php:42 templates/login.php:24 +#: js/share.js:168 templates/installation.php:42 templates/login.php:24 #: templates/verify.php:13 msgid "Password" msgstr "Geslo" -#: js/share.js:152 +#: js/share.js:173 msgid "Set expiration date" -msgstr "" +msgstr "Nastavi datum preteka" -#: js/share.js:153 +#: js/share.js:174 msgid "Expiration date" -msgstr "" +msgstr "Datum preteka" -#: js/share.js:185 +#: js/share.js:206 msgid "Share via email:" -msgstr "" +msgstr "Souporaba preko elektronske pošte:" -#: js/share.js:187 +#: js/share.js:208 msgid "No people found" -msgstr "" +msgstr "Ni najdenih uporabnikov" -#: js/share.js:214 +#: js/share.js:235 msgid "Resharing is not allowed" -msgstr "" - -#: js/share.js:250 -msgid "Shared in" -msgstr "" - -#: js/share.js:250 -msgid "with" -msgstr "" +msgstr "Ponovna souporaba ni omogočena" #: js/share.js:271 +msgid "Shared in {item} with {user}" +msgstr "V souporabi v {item} z {user}" + +#: js/share.js:292 msgid "Unshare" -msgstr "" +msgstr "Odstrani souporabo" -#: js/share.js:283 +#: js/share.js:304 msgid "can edit" -msgstr "" +msgstr "lahko ureja" -#: js/share.js:285 +#: js/share.js:306 msgid "access control" -msgstr "" +msgstr "nadzor dostopa" -#: js/share.js:288 +#: js/share.js:309 msgid "create" -msgstr "" +msgstr "ustvari" -#: js/share.js:291 +#: js/share.js:312 msgid "update" -msgstr "" +msgstr "posodobi" -#: js/share.js:294 +#: js/share.js:315 msgid "delete" -msgstr "" +msgstr "izbriše" -#: js/share.js:297 +#: js/share.js:318 msgid "share" -msgstr "" +msgstr "določi souporabo" -#: js/share.js:322 js/share.js:484 +#: js/share.js:343 js/share.js:514 js/share.js:516 msgid "Password protected" msgstr "Zaščiteno z geslom" -#: js/share.js:497 +#: js/share.js:527 msgid "Error unsetting expiration date" -msgstr "" +msgstr "Napaka brisanja datuma preteka" -#: js/share.js:509 +#: js/share.js:539 msgid "Error setting expiration date" -msgstr "" +msgstr "Napaka med nastavljanjem datuma preteka" -#: lostpassword/index.php:26 +#: lostpassword/controller.php:47 msgid "ownCloud password reset" msgstr "Ponastavitev gesla ownCloud" #: lostpassword/templates/email.php:2 msgid "Use the following link to reset your password: {link}" -msgstr "Uporabite sledečo povezavo za ponastavitev gesla: {link}" +msgstr "Uporabite naslednjo povezavo za ponastavitev gesla: {link}" #: lostpassword/templates/lostpassword.php:3 msgid "You will receive a link to reset your password via Email." -msgstr "Na e-pošto boste prejeli povezavo s katero lahko ponastavite vaše geslo." +msgstr "Na elektronski naslov boste prejeli povezavo za ponovno nastavitev gesla." #: lostpassword/templates/lostpassword.php:5 -msgid "Requested" -msgstr "Zahtevano" +msgid "Reset email send." +msgstr "E-pošta za ponastavitev je bila poslana." #: lostpassword/templates/lostpassword.php:8 -msgid "Login failed!" -msgstr "Prijava je spodletela!" +msgid "Request failed!" +msgstr "Zahtevek je spodletel!" #: lostpassword/templates/lostpassword.php:11 templates/installation.php:38 #: templates/login.php:20 @@ -253,7 +286,7 @@ msgstr "Zahtevaj ponastavitev" #: lostpassword/templates/resetpassword.php:4 msgid "Your password was reset" -msgstr "Vaše geslo je bilo ponastavljeno" +msgstr "Geslo je ponastavljeno" #: lostpassword/templates/resetpassword.php:5 msgid "To login page" @@ -277,11 +310,11 @@ msgstr "Uporabniki" #: strings.php:7 msgid "Apps" -msgstr "Aplikacije" +msgstr "Programi" #: strings.php:8 msgid "Admin" -msgstr "Admin" +msgstr "Skrbništvo" #: strings.php:9 msgid "Help" @@ -293,31 +326,31 @@ msgstr "Dostop je prepovedan" #: templates/404.php:12 msgid "Cloud not found" -msgstr "Oblak ni bil najden" +msgstr "Oblaka ni mogoče najti" #: templates/edit_categories_dialog.php:4 msgid "Edit categories" msgstr "Uredi kategorije" -#: templates/edit_categories_dialog.php:14 +#: templates/edit_categories_dialog.php:16 msgid "Add" msgstr "Dodaj" #: templates/installation.php:23 templates/installation.php:31 msgid "Security Warning" -msgstr "" +msgstr "Varnostno opozorilo" #: templates/installation.php:24 msgid "" "No secure random number generator is available, please enable the PHP " "OpenSSL extension." -msgstr "" +msgstr "Na voljo ni varnega generatorja naključnih števil. Prosimo, če omogočite PHP OpenSSL razširitev." #: templates/installation.php:26 msgid "" "Without a secure random number generator an attacker may be able to predict " "password reset tokens and take over your account." -msgstr "" +msgstr "Brez varnega generatorja naključnih števil lahko napadalec napove žetone za ponastavitev gesla, kar mu omogoča, da prevzame vaš ​​račun." #: templates/installation.php:32 msgid "" @@ -326,7 +359,7 @@ msgid "" "strongly suggest that you configure your webserver in a way that the data " "directory is no longer accessible or you move the data directory outside the" " webserver document root." -msgstr "" +msgstr "Trenutno je dostop do podatkovne mape in datotek najverjetneje omogočen vsem uporabnikom na omrežju. Datoteka .htaccess, vključena v ownCloud namreč ni omogočena. Močno priporočamo nastavitev spletnega strežnika tako, da mapa podatkov ne bo javno dostopna ali pa, da jo prestavite ven iz korenske mape spletnega strežnika." #: templates/installation.php:36 msgid "Create an admin account" @@ -373,31 +406,107 @@ msgstr "Gostitelj podatkovne zbirke" msgid "Finish setup" msgstr "Dokončaj namestitev" -#: templates/layout.guest.php:38 +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Sunday" +msgstr "nedelja" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Monday" +msgstr "ponedeljek" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Tuesday" +msgstr "torek" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Wednesday" +msgstr "sreda" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Thursday" +msgstr "četrtek" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Friday" +msgstr "petek" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Saturday" +msgstr "sobota" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "January" +msgstr "januar" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "February" +msgstr "februar" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "March" +msgstr "marec" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "April" +msgstr "april" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "May" +msgstr "maj" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "June" +msgstr "junij" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "July" +msgstr "julij" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "August" +msgstr "avgust" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "September" +msgstr "september" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "October" +msgstr "oktober" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "November" +msgstr "november" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "December" +msgstr "december" + +#: templates/layout.guest.php:42 msgid "web services under your control" msgstr "spletne storitve pod vašim nadzorom" -#: templates/layout.user.php:34 +#: templates/layout.user.php:45 msgid "Log out" msgstr "Odjava" #: templates/login.php:8 msgid "Automatic logon rejected!" -msgstr "" +msgstr "Samodejno prijavljanje je zavrnjeno!" #: templates/login.php:9 msgid "" "If you did not change your password recently, your account may be " "compromised!" -msgstr "" +msgstr "Če vašega gesla niste nedavno spremenili, je vaš račun lahko ogrožen!" #: templates/login.php:10 msgid "Please change your password to secure your account again." -msgstr "" +msgstr "Spremenite geslo za izboljšanje zaščite računa." #: templates/login.php:15 msgid "Lost your password?" -msgstr "Ste pozabili vaše geslo?" +msgstr "Ali ste pozabili geslo?" #: templates/login.php:27 msgid "remember" @@ -409,7 +518,7 @@ msgstr "Prijava" #: templates/logout.php:1 msgid "You are logged out." -msgstr "Odjavljeni ste" +msgstr "Sta odjavljeni." #: templates/part.pagenavi.php:3 msgid "prev" @@ -421,14 +530,14 @@ msgstr "naprej" #: templates/verify.php:5 msgid "Security Warning!" -msgstr "" +msgstr "Varnostno opozorilo!" #: templates/verify.php:6 msgid "" "Please verify your password.
For security reasons you may be " "occasionally asked to enter your password again." -msgstr "" +msgstr "Prosimo, če preverite vaše geslo. Iz varnostnih razlogov vas lahko občasno prosimo, da ga ponovno vnesete." #: templates/verify.php:16 msgid "Verify" -msgstr "" +msgstr "Preveri" diff --git a/l10n/sl/files.po b/l10n/sl/files.po index 5332d836f24f2644420016d58946dc303c359949..db703c7acc43fb4aa7bca7bde04a0c4c6f38f780 100644 --- a/l10n/sl/files.po +++ b/l10n/sl/files.po @@ -3,6 +3,7 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# <>, 2012. # , 2012. # Peter Peroša , 2012. # , 2012. @@ -10,9 +11,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-09-26 13:19+0200\n" -"PO-Revision-Date: 2012-09-26 11:20+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-12-09 00:11+0100\n" +"PO-Revision-Date: 2012-12-07 23:34+0000\n" +"Last-Translator: Peter Peroša \n" "Language-Team: Slovenian (http://www.transifex.com/projects/p/owncloud/language/sl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -22,228 +23,199 @@ msgstr "" #: ajax/upload.php:20 msgid "There is no error, the file uploaded with success" -msgstr "Datoteka je bila uspešno naložena." +msgstr "Datoteka je uspešno naložena brez napak." #: ajax/upload.php:21 -msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" -msgstr "Naložena datoteka presega velikost, ki jo določa parameter upload_max_filesize v datoteki php.ini" +msgid "" +"The uploaded file exceeds the upload_max_filesize directive in php.ini: " +msgstr "Naložena datoteka presega dovoljeno velikost. Le-ta je določena z vrstico upload_max_filesize v datoteki php.ini:" -#: ajax/upload.php:22 +#: ajax/upload.php:23 msgid "" "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " "the HTML form" msgstr "Naložena datoteka presega velikost, ki jo določa parameter MAX_FILE_SIZE v HTML obrazcu" -#: ajax/upload.php:23 +#: ajax/upload.php:25 msgid "The uploaded file was only partially uploaded" -msgstr "Datoteka je bila le delno naložena" +msgstr "Datoteka je le delno naložena" -#: ajax/upload.php:24 +#: ajax/upload.php:26 msgid "No file was uploaded" msgstr "Nobena datoteka ni bila naložena" -#: ajax/upload.php:25 +#: ajax/upload.php:27 msgid "Missing a temporary folder" msgstr "Manjka začasna mapa" -#: ajax/upload.php:26 +#: ajax/upload.php:28 msgid "Failed to write to disk" msgstr "Pisanje na disk je spodletelo" -#: appinfo/app.php:6 +#: appinfo/app.php:10 msgid "Files" msgstr "Datoteke" -#: js/fileactions.js:108 templates/index.php:62 +#: js/fileactions.js:117 templates/index.php:83 templates/index.php:84 msgid "Unshare" msgstr "Odstrani iz souporabe" -#: js/fileactions.js:110 templates/index.php:64 +#: js/fileactions.js:119 templates/index.php:89 templates/index.php:90 msgid "Delete" msgstr "Izbriši" -#: js/fileactions.js:182 +#: js/fileactions.js:181 msgid "Rename" msgstr "Preimenuj" -#: js/filelist.js:190 js/filelist.js:192 -msgid "already exists" -msgstr "že obstaja" +#: js/filelist.js:201 js/filelist.js:203 +msgid "{new_name} already exists" +msgstr "{new_name} že obstaja" -#: js/filelist.js:190 js/filelist.js:192 +#: js/filelist.js:201 js/filelist.js:203 msgid "replace" -msgstr "nadomesti" +msgstr "zamenjaj" -#: js/filelist.js:190 +#: js/filelist.js:201 msgid "suggest name" msgstr "predlagaj ime" -#: js/filelist.js:190 js/filelist.js:192 +#: js/filelist.js:201 js/filelist.js:203 msgid "cancel" -msgstr "ekliči" +msgstr "prekliči" -#: js/filelist.js:239 js/filelist.js:241 -msgid "replaced" -msgstr "nadomeščen" +#: js/filelist.js:250 +msgid "replaced {new_name}" +msgstr "zamenjano je ime {new_name}" -#: js/filelist.js:239 js/filelist.js:241 js/filelist.js:273 js/filelist.js:275 +#: js/filelist.js:250 js/filelist.js:252 js/filelist.js:284 js/filelist.js:286 msgid "undo" msgstr "razveljavi" -#: js/filelist.js:241 -msgid "with" -msgstr "z" +#: js/filelist.js:252 +msgid "replaced {new_name} with {old_name}" +msgstr "zamenjano ime {new_name} z imenom {old_name}" + +#: js/filelist.js:284 +msgid "unshared {files}" +msgstr "odstranjeno iz souporabe {files}" -#: js/filelist.js:273 -msgid "unshared" -msgstr "odstranjeno iz souporabe" +#: js/filelist.js:286 +msgid "deleted {files}" +msgstr "izbrisano {files}" -#: js/filelist.js:275 -msgid "deleted" -msgstr "izbrisano" +#: js/files.js:33 +msgid "" +"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not " +"allowed." +msgstr "Neveljavno ime, znaki '\\', '/', '<', '>', ':', '\"', '|', '?' in '*' niso dovoljeni." -#: js/files.js:179 +#: js/files.js:184 msgid "generating ZIP-file, it may take some time." -msgstr "Ustvarjam ZIP datoteko. To lahko traja nekaj časa." +msgstr "Ustvarjanje datoteke ZIP. To lahko traja nekaj časa." -#: js/files.js:208 +#: js/files.js:219 msgid "Unable to upload your file as it is a directory or has 0 bytes" -msgstr "Nalaganje ni mogoče, saj gre za mapo, ali pa ima datoteka velikost 0 bajtov." +msgstr "Pošiljanje ni mogoče, saj gre za mapo, ali pa je datoteka velikosti 0 bajtov." -#: js/files.js:208 +#: js/files.js:219 msgid "Upload Error" -msgstr "Napaka pri nalaganju" +msgstr "Napaka med nalaganjem" -#: js/files.js:236 js/files.js:341 js/files.js:371 +#: js/files.js:236 +msgid "Close" +msgstr "Zapri" + +#: js/files.js:255 js/files.js:369 js/files.js:399 msgid "Pending" -msgstr "Na čakanju" +msgstr "V čakanju ..." -#: js/files.js:256 +#: js/files.js:275 msgid "1 file uploading" -msgstr "" +msgstr "Pošiljanje 1 datoteke" -#: js/files.js:259 js/files.js:304 js/files.js:319 -msgid "files uploading" -msgstr "" +#: js/files.js:278 js/files.js:332 js/files.js:347 +msgid "{count} files uploading" +msgstr "nalagam {count} datotek" -#: js/files.js:322 js/files.js:355 +#: js/files.js:350 js/files.js:383 msgid "Upload cancelled." -msgstr "Nalaganje je bilo preklicano." +msgstr "Pošiljanje je preklicano." -#: js/files.js:424 +#: js/files.js:452 msgid "" "File upload is in progress. Leaving the page now will cancel the upload." -msgstr "Nalaganje datoteke je v teku. Če zapustite to stran zdaj, boste nalaganje preklicali." +msgstr "V teku je pošiljanje datoteke. Če zapustite to stran zdaj, bo pošiljanje preklicano." -#: js/files.js:494 -msgid "Invalid name, '/' is not allowed." -msgstr "Neveljavno ime. Znak '/' ni dovoljen." +#: js/files.js:524 +msgid "Invalid folder name. Usage of \"Shared\" is reserved by Owncloud" +msgstr "Neveljavno ime datoteke. Uporaba mape \"Share\" je rezervirana za ownCloud." -#: js/files.js:667 -msgid "files scanned" -msgstr "pregledanih datotek" +#: js/files.js:705 +msgid "{count} files scanned" +msgstr "{count} files scanned" -#: js/files.js:675 +#: js/files.js:713 msgid "error while scanning" msgstr "napaka med pregledovanjem datotek" -#: js/files.js:748 templates/index.php:48 +#: js/files.js:786 templates/index.php:65 msgid "Name" msgstr "Ime" -#: js/files.js:749 templates/index.php:56 +#: js/files.js:787 templates/index.php:76 msgid "Size" msgstr "Velikost" -#: js/files.js:750 templates/index.php:58 +#: js/files.js:788 templates/index.php:78 msgid "Modified" msgstr "Spremenjeno" -#: js/files.js:777 -msgid "folder" -msgstr "mapa" - -#: js/files.js:779 -msgid "folders" -msgstr "mape" - -#: js/files.js:787 -msgid "file" -msgstr "datoteka" +#: js/files.js:815 +msgid "1 folder" +msgstr "1 mapa" -#: js/files.js:789 -msgid "files" -msgstr "datoteke" +#: js/files.js:817 +msgid "{count} folders" +msgstr "{count} map" -#: js/files.js:833 -msgid "seconds ago" -msgstr "" - -#: js/files.js:834 -msgid "minute ago" -msgstr "" +#: js/files.js:825 +msgid "1 file" +msgstr "1 datoteka" -#: js/files.js:835 -msgid "minutes ago" -msgstr "" - -#: js/files.js:838 -msgid "today" -msgstr "" - -#: js/files.js:839 -msgid "yesterday" -msgstr "" - -#: js/files.js:840 -msgid "days ago" -msgstr "" - -#: js/files.js:841 -msgid "last month" -msgstr "" - -#: js/files.js:843 -msgid "months ago" -msgstr "" - -#: js/files.js:844 -msgid "last year" -msgstr "" - -#: js/files.js:845 -msgid "years ago" -msgstr "" +#: js/files.js:827 +msgid "{count} files" +msgstr "{count} datotek" #: templates/admin.php:5 msgid "File handling" -msgstr "Rokovanje z datotekami" +msgstr "Upravljanje z datotekami" #: templates/admin.php:7 msgid "Maximum upload size" -msgstr "Največja velikost za nalaganje" +msgstr "Največja velikost za pošiljanja" -#: templates/admin.php:7 +#: templates/admin.php:9 msgid "max. possible: " msgstr "največ mogoče:" -#: templates/admin.php:9 +#: templates/admin.php:12 msgid "Needed for multi-file and folder downloads." -msgstr "Potrebno za prenose večih datotek in map." +msgstr "Uporabljeno za prenos več datotek in map." -#: templates/admin.php:9 +#: templates/admin.php:14 msgid "Enable ZIP-download" -msgstr "Omogoči ZIP-prejemanje" +msgstr "Omogoči prejemanje arhivov ZIP" -#: templates/admin.php:11 +#: templates/admin.php:17 msgid "0 is unlimited" msgstr "0 je neskončno" -#: templates/admin.php:12 +#: templates/admin.php:19 msgid "Maximum input size for ZIP files" -msgstr "Največja vhodna velikost za ZIP datoteke" +msgstr "Največja vhodna velikost za datoteke ZIP" -#: templates/admin.php:14 +#: templates/admin.php:23 msgid "Save" msgstr "Shrani" @@ -251,52 +223,48 @@ msgstr "Shrani" msgid "New" msgstr "Nova" -#: templates/index.php:9 +#: templates/index.php:10 msgid "Text file" msgstr "Besedilna datoteka" -#: templates/index.php:10 +#: templates/index.php:12 msgid "Folder" msgstr "Mapa" -#: templates/index.php:11 -msgid "From url" -msgstr "Iz url naslova" +#: templates/index.php:14 +msgid "From link" +msgstr "Iz povezave" -#: templates/index.php:20 +#: templates/index.php:35 msgid "Upload" -msgstr "Naloži" +msgstr "Pošlji" -#: templates/index.php:27 +#: templates/index.php:43 msgid "Cancel upload" -msgstr "Prekliči nalaganje" +msgstr "Prekliči pošiljanje" -#: templates/index.php:40 +#: templates/index.php:57 msgid "Nothing in here. Upload something!" msgstr "Tukaj ni ničesar. Naložite kaj!" -#: templates/index.php:50 -msgid "Share" -msgstr "Souporaba" - -#: templates/index.php:52 +#: templates/index.php:71 msgid "Download" -msgstr "Prenesi" +msgstr "Prejmi" -#: templates/index.php:75 +#: templates/index.php:103 msgid "Upload too large" msgstr "Nalaganje ni mogoče, ker je preveliko" -#: templates/index.php:77 +#: templates/index.php:105 msgid "" "The files you are trying to upload exceed the maximum size for file uploads " "on this server." msgstr "Datoteke, ki jih želite naložiti, presegajo največjo dovoljeno velikost na tem strežniku." -#: templates/index.php:82 +#: templates/index.php:110 msgid "Files are being scanned, please wait." -msgstr "Preiskujem datoteke, prosimo počakajte." +msgstr "Poteka preučevanje datotek, počakajte ..." -#: templates/index.php:85 +#: templates/index.php:113 msgid "Current scanning" -msgstr "Trenutno preiskujem" +msgstr "Trenutno poteka preučevanje" diff --git a/l10n/sl/files_encryption.po b/l10n/sl/files_encryption.po index 294eea91d1354cce49fb8ba4ed8876d8d89f9377..ee5f5c6ec056722642681bd8eca863beecd46ac7 100644 --- a/l10n/sl/files_encryption.po +++ b/l10n/sl/files_encryption.po @@ -3,20 +3,21 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# <>, 2012. # Peter Peroša , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-16 02:04+0200\n" -"PO-Revision-Date: 2012-08-15 00:19+0000\n" -"Last-Translator: Peter Peroša \n" +"POT-Creation-Date: 2012-10-23 02:02+0200\n" +"PO-Revision-Date: 2012-10-22 16:57+0000\n" +"Last-Translator: mateju <>\n" "Language-Team: Slovenian (http://www.transifex.com/projects/p/owncloud/language/sl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: sl\n" -"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3)\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n" #: templates/settings.php:3 msgid "Encryption" @@ -24,7 +25,7 @@ msgstr "Šifriranje" #: templates/settings.php:4 msgid "Exclude the following file types from encryption" -msgstr "Naslednje vrste datotek naj se ne šifrirajo" +msgstr "Navedene vrste datotek naj ne bodo šifrirane" #: templates/settings.php:5 msgid "None" diff --git a/l10n/sl/files_external.po b/l10n/sl/files_external.po index 59cb0964490ce3433df07daf9f7238cd185057a6..14900f7f88107e7ad35dccc59d63bec8121b1221 100644 --- a/l10n/sl/files_external.po +++ b/l10n/sl/files_external.po @@ -3,14 +3,15 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# <>, 2012. # Peter Peroša , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-02 23:16+0200\n" -"PO-Revision-Date: 2012-10-02 21:17+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-12-12 00:12+0100\n" +"PO-Revision-Date: 2012-12-11 23:13+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Slovenian (http://www.transifex.com/projects/p/owncloud/language/sl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -20,88 +21,102 @@ msgstr "" #: js/dropbox.js:7 js/dropbox.js:25 js/google.js:7 js/google.js:23 msgid "Access granted" -msgstr "" +msgstr "Dostop je odobren" #: js/dropbox.js:28 js/dropbox.js:74 js/dropbox.js:79 js/dropbox.js:86 msgid "Error configuring Dropbox storage" -msgstr "" +msgstr "Napaka nastavljanja shrambe Dropbox" #: js/dropbox.js:34 js/dropbox.js:45 js/google.js:31 js/google.js:40 msgid "Grant access" -msgstr "" +msgstr "Odobri dostop" #: js/dropbox.js:73 js/google.js:72 msgid "Fill out all required fields" -msgstr "" +msgstr "Zapolni vsa zahtevana polja" #: js/dropbox.js:85 msgid "Please provide a valid Dropbox app key and secret." -msgstr "" +msgstr "Vpišite veljaven ključ programa in kodo za Dropbox" #: js/google.js:26 js/google.js:73 js/google.js:78 msgid "Error configuring Google Drive storage" +msgstr "Napaka nastavljanja shrambe Google Drive" + +#: lib/config.php:434 +msgid "" +"Warning: \"smbclient\" is not installed. Mounting of CIFS/SMB shares " +"is not possible. Please ask your system administrator to install it." +msgstr "" + +#: lib/config.php:435 +msgid "" +"Warning: The FTP support in PHP is not enabled or installed. Mounting" +" of FTP shares is not possible. Please ask your system administrator to " +"install it." msgstr "" #: templates/settings.php:3 msgid "External Storage" msgstr "Zunanja podatkovna shramba" -#: templates/settings.php:7 templates/settings.php:19 +#: templates/settings.php:8 templates/settings.php:22 msgid "Mount point" msgstr "Priklopna točka" -#: templates/settings.php:8 +#: templates/settings.php:9 msgid "Backend" msgstr "Zaledje" -#: templates/settings.php:9 +#: templates/settings.php:10 msgid "Configuration" msgstr "Nastavitve" -#: templates/settings.php:10 +#: templates/settings.php:11 msgid "Options" msgstr "Možnosti" -#: templates/settings.php:11 +#: templates/settings.php:12 msgid "Applicable" msgstr "Se uporablja" -#: templates/settings.php:23 +#: templates/settings.php:27 msgid "Add mount point" msgstr "Dodaj priklopno točko" -#: templates/settings.php:54 templates/settings.php:62 +#: templates/settings.php:85 msgid "None set" msgstr "Ni nastavljeno" -#: templates/settings.php:63 +#: templates/settings.php:86 msgid "All Users" msgstr "Vsi uporabniki" -#: templates/settings.php:64 +#: templates/settings.php:87 msgid "Groups" msgstr "Skupine" -#: templates/settings.php:69 +#: templates/settings.php:95 msgid "Users" msgstr "Uporabniki" -#: templates/settings.php:77 templates/settings.php:107 +#: templates/settings.php:108 templates/settings.php:109 +#: templates/settings.php:149 templates/settings.php:150 msgid "Delete" msgstr "Izbriši" -#: templates/settings.php:87 +#: templates/settings.php:124 msgid "Enable User External Storage" msgstr "Omogoči uporabo zunanje podatkovne shrambe za uporabnike" -#: templates/settings.php:88 +#: templates/settings.php:125 msgid "Allow users to mount their own external storage" msgstr "Dovoli uporabnikom priklop lastne zunanje podatkovne shrambe" -#: templates/settings.php:99 +#: templates/settings.php:139 msgid "SSL root certificates" -msgstr "SSL korenski certifikati" +msgstr "Korenska potrdila SSL" -#: templates/settings.php:113 +#: templates/settings.php:158 msgid "Import Root Certificate" -msgstr "Uvozi korenski certifikat" +msgstr "Uvozi korensko potrdilo" diff --git a/l10n/sl/files_pdfviewer.po b/l10n/sl/files_pdfviewer.po deleted file mode 100644 index 3a16e21f409f9cc800ece553eba0fb59e263739b..0000000000000000000000000000000000000000 --- a/l10n/sl/files_pdfviewer.po +++ /dev/null @@ -1,42 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 02:18+0200\n" -"PO-Revision-Date: 2012-08-26 00:19+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Slovenian (http://www.transifex.com/projects/p/owncloud/language/sl/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: sl\n" -"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3)\n" - -#: js/viewer.js:22 -msgid "Previous" -msgstr "" - -#: js/viewer.js:23 -msgid "Next" -msgstr "" - -#: js/viewer.js:29 -msgid "Page Width" -msgstr "" - -#: js/viewer.js:29 -msgid "Page Fit" -msgstr "" - -#: js/viewer.js:30 -msgid "Print" -msgstr "" - -#: js/viewer.js:32 -msgid "Download" -msgstr "" diff --git a/l10n/sl/files_sharing.po b/l10n/sl/files_sharing.po index 4fdbda00e63d8fa6d1ed0de95f5bcbafce4bedca..00395c37a29e1369972e7bb8a61a82efaeb8b445 100644 --- a/l10n/sl/files_sharing.po +++ b/l10n/sl/files_sharing.po @@ -3,14 +3,15 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# <>, 2012. # Peter Peroša , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-09-26 02:02+0200\n" -"PO-Revision-Date: 2012-09-25 19:08+0000\n" -"Last-Translator: Peter Peroša \n" +"POT-Creation-Date: 2012-10-23 02:02+0200\n" +"PO-Revision-Date: 2012-10-22 16:59+0000\n" +"Last-Translator: mateju <>\n" "Language-Team: Slovenian (http://www.transifex.com/projects/p/owncloud/language/sl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -29,21 +30,21 @@ msgstr "Pošlji" #: templates/public.php:9 #, php-format msgid "%s shared the folder %s with you" -msgstr "%s je dal v souporabo z vami mapo %s" +msgstr "Oseba %s je določila mapo %s za souporabo" #: templates/public.php:11 #, php-format msgid "%s shared the file %s with you" -msgstr "%s je dal v souporabo z vami datoteko %s" +msgstr "Oseba %s je določila datoteko %s za souporabo" #: templates/public.php:14 templates/public.php:30 msgid "Download" -msgstr "Prenesi" +msgstr "Prejmi" #: templates/public.php:29 msgid "No preview available for" msgstr "Predogled ni na voljo za" -#: templates/public.php:37 +#: templates/public.php:35 msgid "web services under your control" msgstr "spletne storitve pod vašim nadzorom" diff --git a/l10n/sl/files_texteditor.po b/l10n/sl/files_texteditor.po deleted file mode 100644 index 4358bfa979dbd2ad927858a36bc7eb2712a85bb0..0000000000000000000000000000000000000000 --- a/l10n/sl/files_texteditor.po +++ /dev/null @@ -1,44 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 01:17+0200\n" -"PO-Revision-Date: 2012-08-25 23:18+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Slovenian (http://www.transifex.com/projects/p/owncloud/language/sl/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: sl\n" -"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3)\n" - -#: js/aceeditor/mode-coldfusion-uncompressed.js:1568 -#: js/aceeditor/mode-liquid-uncompressed.js:902 -#: js/aceeditor/mode-svg-uncompressed.js:1575 -msgid "regex" -msgstr "" - -#: js/editor.js:72 js/editor.js:156 js/editor.js:163 -msgid "Save" -msgstr "" - -#: js/editor.js:74 -msgid "Close" -msgstr "" - -#: js/editor.js:149 -msgid "Saving..." -msgstr "" - -#: js/editor.js:239 -msgid "An error occurred!" -msgstr "" - -#: js/editor.js:266 -msgid "There were unsaved changes, click here to go back" -msgstr "" diff --git a/l10n/sl/files_versions.po b/l10n/sl/files_versions.po index 974c8de546525f9384adeac238459d7f69ec6210..2bde547fb1f86768bf910054166bfdd3df8030b6 100644 --- a/l10n/sl/files_versions.po +++ b/l10n/sl/files_versions.po @@ -3,14 +3,15 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# <>, 2012. # Peter Peroša , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-09-26 02:02+0200\n" -"PO-Revision-Date: 2012-09-25 19:09+0000\n" -"Last-Translator: Peter Peroša \n" +"POT-Creation-Date: 2012-10-23 02:02+0200\n" +"PO-Revision-Date: 2012-10-22 17:00+0000\n" +"Last-Translator: mateju <>\n" "Language-Team: Slovenian (http://www.transifex.com/projects/p/owncloud/language/sl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -32,7 +33,7 @@ msgstr "Različice" #: templates/settings-personal.php:7 msgid "This will delete all existing backup versions of your files" -msgstr "To bo izbrisalo vse obstoječe različice varnostnih kopij vaših datotek" +msgstr "S tem bodo izbrisane vse obstoječe različice varnostnih kopij vaših datotek" #: templates/settings.php:3 msgid "Files Versioning" diff --git a/l10n/sl/gallery.po b/l10n/sl/gallery.po deleted file mode 100644 index f9c47144b658d14003c6ddb2bf6c4b8481c77fc6..0000000000000000000000000000000000000000 --- a/l10n/sl/gallery.po +++ /dev/null @@ -1,61 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# , 2012. -# , 2012. -# Peter Peroša , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-07-29 02:03+0200\n" -"PO-Revision-Date: 2012-07-28 02:03+0000\n" -"Last-Translator: Peter Peroša \n" -"Language-Team: Slovenian (http://www.transifex.com/projects/p/owncloud/language/sl/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: sl\n" -"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3)\n" - -#: appinfo/app.php:39 -msgid "Pictures" -msgstr "Slike" - -#: js/pictures.js:12 -msgid "Share gallery" -msgstr "Daj galerijo v souporabo" - -#: js/pictures.js:32 -msgid "Error: " -msgstr "Napaka: " - -#: js/pictures.js:32 -msgid "Internal error" -msgstr "Notranja napaka" - -#: templates/index.php:27 -msgid "Slideshow" -msgstr "predstavitev" - -#: templates/view_album.php:19 -msgid "Back" -msgstr "Nazaj" - -#: templates/view_album.php:36 -msgid "Remove confirmation" -msgstr "Odstrani potrditev" - -#: templates/view_album.php:37 -msgid "Do you want to remove album" -msgstr "Ali želite odstraniti album" - -#: templates/view_album.php:40 -msgid "Change album name" -msgstr "Spremeni ime albuma" - -#: templates/view_album.php:43 -msgid "New album name" -msgstr "Novo ime albuma" diff --git a/l10n/sl/impress.po b/l10n/sl/impress.po deleted file mode 100644 index 5d45e6c4fbe1703f359e818a0160b3a6bc7b94be..0000000000000000000000000000000000000000 --- a/l10n/sl/impress.po +++ /dev/null @@ -1,22 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 01:17+0200\n" -"PO-Revision-Date: 2012-08-25 23:18+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Slovenian (http://www.transifex.com/projects/p/owncloud/language/sl/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: sl\n" -"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3)\n" - -#: templates/presentations.php:7 -msgid "Documentation" -msgstr "" diff --git a/l10n/sl/lib.po b/l10n/sl/lib.po index cc9b69f3a920a8634d086ecced1b66bd2c9d0b15..606aa03de9d0098b8b53d002f0036c32772b09b6 100644 --- a/l10n/sl/lib.po +++ b/l10n/sl/lib.po @@ -3,13 +3,14 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# <>, 2012. # Peter Peroša , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-09-15 02:02+0200\n" -"PO-Revision-Date: 2012-09-14 08:53+0000\n" +"POT-Creation-Date: 2012-11-20 00:01+0100\n" +"PO-Revision-Date: 2012-11-19 19:49+0000\n" "Last-Translator: Peter Peroša \n" "Language-Team: Slovenian (http://www.transifex.com/projects/p/owncloud/language/sl/)\n" "MIME-Version: 1.0\n" @@ -36,91 +37,118 @@ msgstr "Uporabniki" #: app.php:309 msgid "Apps" -msgstr "Aplikacije" +msgstr "Programi" #: app.php:311 msgid "Admin" -msgstr "Skrbnik" +msgstr "Skrbništvo" -#: files.php:280 +#: files.php:361 msgid "ZIP download is turned off." -msgstr "ZIP prenos je onemogočen." +msgstr "Prejem datotek ZIP je onemogočen." -#: files.php:281 +#: files.php:362 msgid "Files need to be downloaded one by one." -msgstr "Datoteke morajo biti prenešene posamezno." +msgstr "Datoteke je mogoče prejeti le posamič." -#: files.php:281 files.php:306 +#: files.php:362 files.php:387 msgid "Back to Files" msgstr "Nazaj na datoteke" -#: files.php:305 +#: files.php:386 msgid "Selected files too large to generate zip file." -msgstr "Izbrane datoteke so prevelike, da bi lahko ustvarili zip datoteko." +msgstr "Izbrane datoteke so prevelike za ustvarjanje datoteke arhiva zip." #: json.php:28 msgid "Application is not enabled" -msgstr "Aplikacija ni omogočena" +msgstr "Program ni omogočen" -#: json.php:39 json.php:63 json.php:75 +#: json.php:39 json.php:64 json.php:77 json.php:89 msgid "Authentication error" msgstr "Napaka overitve" #: json.php:51 msgid "Token expired. Please reload page." -msgstr "Žeton je potekel. Prosimo, če spletno stran znova naložite." +msgstr "Žeton je potekel. Spletišče je traba znova naložiti." -#: template.php:87 +#: search/provider/file.php:17 search/provider/file.php:35 +msgid "Files" +msgstr "Datoteke" + +#: search/provider/file.php:26 search/provider/file.php:33 +msgid "Text" +msgstr "Besedilo" + +#: search/provider/file.php:29 +msgid "Images" +msgstr "Slike" + +#: template.php:103 msgid "seconds ago" msgstr "pred nekaj sekundami" -#: template.php:88 +#: template.php:104 msgid "1 minute ago" msgstr "pred minuto" -#: template.php:89 +#: template.php:105 #, php-format msgid "%d minutes ago" msgstr "pred %d minutami" -#: template.php:92 +#: template.php:106 +msgid "1 hour ago" +msgstr "Pred 1 uro" + +#: template.php:107 +#, php-format +msgid "%d hours ago" +msgstr "Pred %d urami" + +#: template.php:108 msgid "today" msgstr "danes" -#: template.php:93 +#: template.php:109 msgid "yesterday" msgstr "včeraj" -#: template.php:94 +#: template.php:110 #, php-format msgid "%d days ago" msgstr "pred %d dnevi" -#: template.php:95 +#: template.php:111 msgid "last month" msgstr "prejšnji mesec" -#: template.php:96 -msgid "months ago" -msgstr "pred nekaj meseci" +#: template.php:112 +#, php-format +msgid "%d months ago" +msgstr "Pred %d meseci" -#: template.php:97 +#: template.php:113 msgid "last year" msgstr "lani" -#: template.php:98 +#: template.php:114 msgid "years ago" msgstr "pred nekaj leti" -#: updater.php:66 +#: updater.php:75 #, php-format msgid "%s is available. Get more information" -msgstr "%s je na voljo. Več informacij." +msgstr "%s je na voljo. Več podrobnosti." -#: updater.php:68 +#: updater.php:77 msgid "up to date" -msgstr "ažuren" +msgstr "posodobljeno" -#: updater.php:71 +#: updater.php:80 msgid "updates check is disabled" msgstr "preverjanje za posodobitve je onemogočeno" + +#: vcategories.php:188 vcategories.php:249 +#, php-format +msgid "Could not find category \"%s\"" +msgstr "Kategorije \"%s\" ni bilo mogoče najti." diff --git a/l10n/sl/media.po b/l10n/sl/media.po deleted file mode 100644 index f33402c979ac667936a12c7510006a88454c4468..0000000000000000000000000000000000000000 --- a/l10n/sl/media.po +++ /dev/null @@ -1,68 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# , 2012. -# , 2011. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-06-06 00:12+0200\n" -"PO-Revision-Date: 2012-06-05 22:15+0000\n" -"Last-Translator: icewind \n" -"Language-Team: Slovenian (http://www.transifex.net/projects/p/owncloud/language/sl/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: sl\n" -"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3)\n" - -#: appinfo/app.php:32 templates/player.php:8 -msgid "Music" -msgstr "Glasba" - -#: js/music.js:18 -msgid "Add album to playlist" -msgstr "" - -#: templates/music.php:3 templates/player.php:12 -msgid "Play" -msgstr "Predvajaj" - -#: templates/music.php:4 templates/music.php:26 templates/player.php:13 -msgid "Pause" -msgstr "Premor" - -#: templates/music.php:5 -msgid "Previous" -msgstr "Prejšnja" - -#: templates/music.php:6 templates/player.php:14 -msgid "Next" -msgstr "Naslednja" - -#: templates/music.php:7 -msgid "Mute" -msgstr "Utišaj" - -#: templates/music.php:8 -msgid "Unmute" -msgstr "Povrni glasnost" - -#: templates/music.php:25 -msgid "Rescan Collection" -msgstr "Ponovno preišči zbirko" - -#: templates/music.php:37 -msgid "Artist" -msgstr "Izvajalec" - -#: templates/music.php:38 -msgid "Album" -msgstr "Album" - -#: templates/music.php:39 -msgid "Title" -msgstr "Naslov" diff --git a/l10n/sl/settings.po b/l10n/sl/settings.po index 6cee9361572c301215fc67e1f48edfb6d81f666e..bc1c29f4808d3efc6bdf1cfbd9bc3000e8c152db 100644 --- a/l10n/sl/settings.po +++ b/l10n/sl/settings.po @@ -3,6 +3,7 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# <>, 2012. # , 2012. # Peter Peroša , 2012. # , 2011, 2012. @@ -10,9 +11,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-09 02:03+0200\n" -"PO-Revision-Date: 2012-10-09 00:04+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-12-09 00:11+0100\n" +"PO-Revision-Date: 2012-12-07 23:52+0000\n" +"Last-Translator: Peter Peroša \n" "Language-Team: Slovenian (http://www.transifex.com/projects/p/owncloud/language/sl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -20,187 +21,103 @@ msgstr "" "Language: sl\n" "Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n" -#: ajax/apps/ocs.php:23 +#: ajax/apps/ocs.php:20 msgid "Unable to load list from App Store" -msgstr "Ne morem naložiti seznama iz App Store" +msgstr "Ni mogoče naložiti seznama iz App Store" -#: ajax/creategroup.php:9 ajax/removeuser.php:13 ajax/setquota.php:18 -#: ajax/togglegroups.php:15 -msgid "Authentication error" -msgstr "Napaka overitve" - -#: ajax/creategroup.php:19 +#: ajax/creategroup.php:10 msgid "Group already exists" msgstr "Skupina že obstaja" -#: ajax/creategroup.php:28 +#: ajax/creategroup.php:19 msgid "Unable to add group" msgstr "Ni mogoče dodati skupine" -#: ajax/enableapp.php:14 +#: ajax/enableapp.php:12 msgid "Could not enable app. " -msgstr "Aplikacije ni bilo mogoče omogočiti." +msgstr "Programa ni mogoče omogočiti." -#: ajax/lostpassword.php:14 +#: ajax/lostpassword.php:12 msgid "Email saved" -msgstr "E-poštni naslov je bil shranjen" +msgstr "Elektronski naslov je shranjen" -#: ajax/lostpassword.php:16 +#: ajax/lostpassword.php:14 msgid "Invalid email" -msgstr "Neveljaven e-poštni naslov" +msgstr "Neveljaven elektronski naslov" -#: ajax/openid.php:16 +#: ajax/openid.php:13 msgid "OpenID Changed" msgstr "OpenID je bil spremenjen" -#: ajax/openid.php:18 ajax/setlanguage.php:20 ajax/setlanguage.php:23 +#: ajax/openid.php:15 ajax/setlanguage.php:17 ajax/setlanguage.php:20 msgid "Invalid request" -msgstr "Neveljaven zahtevek" +msgstr "Neveljavna zahteva" -#: ajax/removegroup.php:16 +#: ajax/removegroup.php:13 msgid "Unable to delete group" msgstr "Ni mogoče izbrisati skupine" -#: ajax/removeuser.php:22 +#: ajax/removeuser.php:15 ajax/setquota.php:15 ajax/togglegroups.php:18 +msgid "Authentication error" +msgstr "Napaka overitve" + +#: ajax/removeuser.php:24 msgid "Unable to delete user" msgstr "Ni mogoče izbrisati uporabnika" -#: ajax/setlanguage.php:18 +#: ajax/setlanguage.php:15 msgid "Language changed" msgstr "Jezik je bil spremenjen" -#: ajax/togglegroups.php:25 +#: ajax/togglegroups.php:12 +msgid "Admins can't remove themself from the admin group" +msgstr "Administratorji sebe ne morejo odstraniti iz skupine admin" + +#: ajax/togglegroups.php:28 #, php-format msgid "Unable to add user to group %s" msgstr "Uporabnika ni mogoče dodati k skupini %s" -#: ajax/togglegroups.php:31 +#: ajax/togglegroups.php:34 #, php-format msgid "Unable to remove user from group %s" msgstr "Uporabnika ni mogoče odstraniti iz skupine %s" -#: js/apps.js:28 js/apps.js:65 +#: js/apps.js:28 js/apps.js:67 msgid "Disable" msgstr "Onemogoči" -#: js/apps.js:28 js/apps.js:54 +#: js/apps.js:28 js/apps.js:55 msgid "Enable" msgstr "Omogoči" #: js/personal.js:69 msgid "Saving..." -msgstr "Shranjevanje..." +msgstr "Poteka shranjevanje ..." -#: personal.php:47 personal.php:48 +#: personal.php:42 personal.php:43 msgid "__language_name__" msgstr "__ime_jezika__" -#: templates/admin.php:14 -msgid "Security Warning" -msgstr "Varnostno opozorilo" - -#: templates/admin.php:17 -msgid "" -"Your data directory and your files are probably accessible from the " -"internet. The .htaccess file that ownCloud provides is not working. We " -"strongly suggest that you configure your webserver in a way that the data " -"directory is no longer accessible or you move the data directory outside the" -" webserver document root." -msgstr "Vaša mapa data in vaše datoteke so verjetno vsem dostopne preko interneta. Datoteka .htaccess vključena v ownCloud ni omogočena. Močno vam priporočamo, da nastavite vaš spletni strežnik tako, da mapa data ne bo več na voljo vsem, ali pa jo preselite izven korenske mape spletnega strežnika." - -#: templates/admin.php:31 -msgid "Cron" -msgstr "Periodično opravilo" - -#: templates/admin.php:37 -msgid "Execute one task with each page loaded" -msgstr "Izvede eno opravilo z vsako naloženo stranjo." - -#: templates/admin.php:43 -msgid "" -"cron.php is registered at a webcron service. Call the cron.php page in the " -"owncloud root once a minute over http." -msgstr "Datoteka cron.php je prijavljena pri enem od spletnih servisov za periodična opravila. Preko protokola http pokličite datoteko cron.php, ki se nahaja v ownCloud korenski mapi, enkrat na minuto." - -#: templates/admin.php:49 -msgid "" -"Use systems cron service. Call the cron.php file in the owncloud folder via " -"a system cronjob once a minute." -msgstr "Uporabi sistemski servis za periodična opravila. Preko sistemskega servisa pokličite datoteko cron.php, ki se nahaja v ownCloud korenski mapi, enkrat na minuto." - -#: templates/admin.php:56 -msgid "Sharing" -msgstr "Souporaba" - -#: templates/admin.php:61 -msgid "Enable Share API" -msgstr "Omogoči API souporabe" - -#: templates/admin.php:62 -msgid "Allow apps to use the Share API" -msgstr "Aplikacijam dovoli uporabo API-ja souporabe" - -#: templates/admin.php:67 -msgid "Allow links" -msgstr "Dovoli povezave" - -#: templates/admin.php:68 -msgid "Allow users to share items to the public with links" -msgstr "Uporabnikom dovoli souporabo z javnimi povezavami" - -#: templates/admin.php:73 -msgid "Allow resharing" -msgstr "Dovoli nadaljnjo souporabo" - -#: templates/admin.php:74 -msgid "Allow users to share items shared with them again" -msgstr "Uporabnikom dovoli nadaljnjo souporabo" - -#: templates/admin.php:79 -msgid "Allow users to share with anyone" -msgstr "Uporabnikom dovoli souporabo s komerkoli" - -#: templates/admin.php:81 -msgid "Allow users to only share with users in their groups" -msgstr "Uporabnikom dovoli souporabo le znotraj njihove skupine" - -#: templates/admin.php:88 -msgid "Log" -msgstr "Dnevnik" - -#: templates/admin.php:116 -msgid "More" -msgstr "Več" - -#: templates/admin.php:124 -msgid "" -"Developed by the ownCloud community, the source code is " -"licensed under the AGPL." -msgstr "Razvija ga ownCloud skupnost. Izvorna koda je izdana pod licenco AGPL." - #: templates/apps.php:10 msgid "Add your App" -msgstr "Dodajte vašo aplikacijo" +msgstr "Dodaj program" #: templates/apps.php:11 msgid "More Apps" -msgstr "" +msgstr "Več programov" #: templates/apps.php:27 msgid "Select an App" -msgstr "Izberite aplikacijo" +msgstr "Izberite program" #: templates/apps.php:31 msgid "See application page at apps.owncloud.com" -msgstr "Obiščite spletno stran aplikacije na apps.owncloud.com" +msgstr "Obiščite spletno stran programa na apps.owncloud.com" #: templates/apps.php:32 msgid "-licensed by " -msgstr "-licencirana s strani " +msgstr "-z dovoljenjem s strani " #: templates/help.php:9 msgid "Documentation" @@ -212,40 +129,40 @@ msgstr "Upravljanje velikih datotek" #: templates/help.php:11 msgid "Ask a question" -msgstr "Postavi vprašanje" +msgstr "Zastavi vprašanje" -#: templates/help.php:23 +#: templates/help.php:22 msgid "Problems connecting to help database." -msgstr "Težave pri povezovanju s podatkovno zbirko pomoči." +msgstr "Težave med povezovanjem s podatkovno zbirko pomoči." -#: templates/help.php:24 +#: templates/help.php:23 msgid "Go there manually." -msgstr "Pojdi tja ročno." +msgstr "Ustvari povezavo ročno." -#: templates/help.php:32 +#: templates/help.php:31 msgid "Answer" msgstr "Odgovor" #: templates/personal.php:8 #, php-format -msgid "You have used %s of the available %s" -msgstr "Uporabili ste %s od razpoložljivih %s" +msgid "You have used %s of the available %s" +msgstr "Uporabljate %s od razpoložljivih %s" #: templates/personal.php:12 msgid "Desktop and Mobile Syncing Clients" -msgstr "Namizni in mobilni odjemalci za sinhronizacijo" +msgstr "Namizni in mobilni odjemalci za usklajevanje" #: templates/personal.php:13 msgid "Download" -msgstr "Prenesi" +msgstr "Prejmi" #: templates/personal.php:19 msgid "Your password was changed" -msgstr "Vaše geslo je bilo spremenjeno" +msgstr "Vaše geslo je spremenjeno" #: templates/personal.php:20 msgid "Unable to change your password" -msgstr "Vašega gesla ni bilo mogoče spremeniti." +msgstr "Gesla ni mogoče spremeniti." #: templates/personal.php:21 msgid "Current password" @@ -257,7 +174,7 @@ msgstr "Novo geslo" #: templates/personal.php:23 msgid "show" -msgstr "prikaži" +msgstr "pokaži" #: templates/personal.php:24 msgid "Change password" @@ -265,15 +182,15 @@ msgstr "Spremeni geslo" #: templates/personal.php:30 msgid "Email" -msgstr "E-pošta" +msgstr "Elektronska pošta" #: templates/personal.php:31 msgid "Your email address" -msgstr "Vaš e-poštni naslov" +msgstr "Vaš elektronski poštni naslov" #: templates/personal.php:32 msgid "Fill in an email address to enable password recovery" -msgstr "Vpišite vaš e-poštni naslov in s tem omogočite obnovitev gesla" +msgstr "Vpišite vaš elektronski naslov in s tem omogočite obnovitev gesla" #: templates/personal.php:38 templates/personal.php:39 msgid "Language" @@ -285,7 +202,17 @@ msgstr "Pomagajte pri prevajanju" #: templates/personal.php:51 msgid "use this address to connect to your ownCloud in your file manager" -msgstr "Uporabite ta naslov za povezavo do ownCloud v vašem upravljalniku datotek." +msgstr "Uporabite ta naslov za povezavo do ownCloud v upravljalniku datotek." + +#: templates/personal.php:61 +msgid "" +"Developed by the ownCloud community, the source code is " +"licensed under the AGPL." +msgstr "Programski paket razvija skupnost ownCloud. Izvorna koda je objavljena pod pogoji dovoljenja AGPL." #: templates/users.php:21 templates/users.php:76 msgid "Name" @@ -313,7 +240,7 @@ msgstr "Drugo" #: templates/users.php:80 templates/users.php:112 msgid "Group Admin" -msgstr "Administrator skupine" +msgstr "Skrbnik skupine" #: templates/users.php:82 msgid "Quota" diff --git a/l10n/sl/tasks.po b/l10n/sl/tasks.po deleted file mode 100644 index ac56c8067ff6a0f7075751c987a3091aded4c028..0000000000000000000000000000000000000000 --- a/l10n/sl/tasks.po +++ /dev/null @@ -1,107 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Peter Peroša , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-22 02:04+0200\n" -"PO-Revision-Date: 2012-08-21 11:22+0000\n" -"Last-Translator: Peter Peroša \n" -"Language-Team: Slovenian (http://www.transifex.com/projects/p/owncloud/language/sl/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: sl\n" -"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3)\n" - -#: ajax/update_property.php:51 lib/app.php:89 lib/app.php:101 -msgid "Invalid date/time" -msgstr "Neveljaven datum/čas" - -#: appinfo/app.php:11 -msgid "Tasks" -msgstr "Opravila" - -#: js/tasks.js:415 -msgid "No category" -msgstr "Ni kategorije" - -#: lib/app.php:33 -msgid "Unspecified" -msgstr "Nedoločen" - -#: lib/app.php:34 -msgid "1=highest" -msgstr "1=najvišje" - -#: lib/app.php:38 -msgid "5=medium" -msgstr "5=srednje" - -#: lib/app.php:42 -msgid "9=lowest" -msgstr "9=najnižje" - -#: lib/app.php:81 -msgid "Empty Summary" -msgstr "Prazen povzetek" - -#: lib/app.php:93 -msgid "Invalid percent complete" -msgstr "Neveljaven odstotek dokončanja" - -#: lib/app.php:107 -msgid "Invalid priority" -msgstr "Neveljavna prednost" - -#: templates/tasks.php:3 -msgid "Add Task" -msgstr "Dodaj opravilo" - -#: templates/tasks.php:4 -msgid "Order Due" -msgstr "Razvrsti po roku" - -#: templates/tasks.php:5 -msgid "Order List" -msgstr "Razvrsti v seznam" - -#: templates/tasks.php:6 -msgid "Order Complete" -msgstr "Razvrsti po zaključenosti" - -#: templates/tasks.php:7 -msgid "Order Location" -msgstr "Razvrsti po lokacijah" - -#: templates/tasks.php:8 -msgid "Order Priority" -msgstr "Razvrsti po prednosti" - -#: templates/tasks.php:9 -msgid "Order Label" -msgstr "Razvrsti po oznakah" - -#: templates/tasks.php:16 -msgid "Loading tasks..." -msgstr "Nalagam opravila..." - -#: templates/tasks.php:20 -msgid "Important" -msgstr "Pomembno" - -#: templates/tasks.php:23 -msgid "More" -msgstr "Več" - -#: templates/tasks.php:26 -msgid "Less" -msgstr "Manj" - -#: templates/tasks.php:29 -msgid "Delete" -msgstr "Izbriši" diff --git a/l10n/sl/user_ldap.po b/l10n/sl/user_ldap.po index f8ab6ff3ac001305c43db89dc774a9f0be862685..115d6bd0b7211b6e1677fb8c8051894864bba364 100644 --- a/l10n/sl/user_ldap.po +++ b/l10n/sl/user_ldap.po @@ -3,20 +3,21 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# <>, 2012. # Peter Peroša , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-30 02:02+0200\n" -"PO-Revision-Date: 2012-08-29 06:02+0000\n" -"Last-Translator: Peter Peroša \n" +"POT-Creation-Date: 2012-10-23 02:02+0200\n" +"PO-Revision-Date: 2012-10-22 17:41+0000\n" +"Last-Translator: mateju <>\n" "Language-Team: Slovenian (http://www.transifex.com/projects/p/owncloud/language/sl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: sl\n" -"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3)\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n" #: templates/settings.php:8 msgid "Host" @@ -25,7 +26,7 @@ msgstr "Gostitelj" #: templates/settings.php:8 msgid "" "You can omit the protocol, except you require SSL. Then start with ldaps://" -msgstr "Protokol lahko izpustite, razen če zahtevate SSL. V tem primeru začnite z ldaps://" +msgstr "Protokol je lahko izpuščen, če ni posebej zahtevan SSL. V tem primeru se mora naslov začeti z ldaps://" #: templates/settings.php:9 msgid "Base DN" @@ -44,7 +45,7 @@ msgid "" "The DN of the client user with which the bind shall be done, e.g. " "uid=agent,dc=example,dc=com. For anonymous access, leave DN and Password " "empty." -msgstr "DN uporabnikovega odjemalca, s katerim naj se opravi vezava, npr. uid=agent,dc=example,dc=com. Za anonimni dostop pustite polji DN in geslo prazni." +msgstr "DN uporabnikovega odjemalca, s katerim naj se opravi vezava, npr. uid=agent,dc=example,dc=com. Za anonimni dostop sta polji DN in geslo prazni." #: templates/settings.php:11 msgid "Password" @@ -52,7 +53,7 @@ msgstr "Geslo" #: templates/settings.php:11 msgid "For anonymous access, leave DN and Password empty." -msgstr "Za anonimni dostop pustite polji DN in geslo prazni." +msgstr "Za anonimni dostop sta polji DN in geslo prazni." #: templates/settings.php:12 msgid "User Login Filter" @@ -63,12 +64,12 @@ msgstr "Filter prijav uporabnikov" msgid "" "Defines the filter to apply, when login is attempted. %%uid replaces the " "username in the login action." -msgstr "Določi filter uporabljen pri prijavi. %%uid nadomesti uporaniško ime pri prijavi." +msgstr "Določi filter, uporabljen pri prijavi. %%uid nadomesti uporabniško ime za prijavo." #: templates/settings.php:12 #, php-format msgid "use %%uid placeholder, e.g. \"uid=%%uid\"" -msgstr "Uporabite ogrado %%uid, npr. \"uid=%%uid\"." +msgstr "Uporabite vsebnik %%uid, npr. \"uid=%%uid\"." #: templates/settings.php:13 msgid "User List Filter" @@ -80,7 +81,7 @@ msgstr "Določi filter za uporabo med pridobivanjem uporabnikov." #: templates/settings.php:13 msgid "without any placeholder, e.g. \"objectClass=person\"." -msgstr "Brez katerekoli ograde, npr. \"objectClass=person\"." +msgstr "Brez kateregakoli vsebnika, npr. \"objectClass=person\"." #: templates/settings.php:14 msgid "Group Filter" @@ -92,7 +93,7 @@ msgstr "Določi filter za uporabo med pridobivanjem skupin." #: templates/settings.php:14 msgid "without any placeholder, e.g. \"objectClass=posixGroup\"." -msgstr "Brez katerekoli ograde, npr. \"objectClass=posixGroup\"." +msgstr "Brez katerekoli vsebnika, npr. \"objectClass=posixGroup\"." #: templates/settings.php:17 msgid "Port" @@ -116,25 +117,25 @@ msgstr "Uporabi TLS" #: templates/settings.php:21 msgid "Do not use it for SSL connections, it will fail." -msgstr "Ne uporabljajte ga za SSL povezave, saj ne bo delovalo." +msgstr "Uporaba SSL za povezave bo spodletela." #: templates/settings.php:22 msgid "Case insensitve LDAP server (Windows)" -msgstr "LDAP strežnik je neobčutljiv na velikost črk (Windows)" +msgstr "Strežnik LDAP ne upošteva velikosti črk (Windows)" #: templates/settings.php:23 msgid "Turn off SSL certificate validation." -msgstr "Onemogoči potrditev veljavnosti SSL certifikata." +msgstr "Onemogoči potrditev veljavnosti potrdila SSL." #: templates/settings.php:23 msgid "" "If connection only works with this option, import the LDAP server's SSL " "certificate in your ownCloud server." -msgstr "Če povezava deluje samo s to možnostjo, uvozite SSL potrdilo iz LDAP strežnika v vaš ownCloud strežnik." +msgstr "V primeru, da povezava deluje le s to možnostjo, uvozite potrdilo SSL iz strežnika LDAP na vaš strežnik ownCloud." #: templates/settings.php:23 msgid "Not recommended, use for testing only." -msgstr "Odsvetovano, uporabite le v namene preizkušanja." +msgstr "Dejanje ni priporočeno; uporabljeno naj bo le za preizkušanje delovanja." #: templates/settings.php:24 msgid "User Display Name Field" @@ -142,7 +143,7 @@ msgstr "Polje za uporabnikovo prikazano ime" #: templates/settings.php:24 msgid "The LDAP attribute to use to generate the user`s ownCloud name." -msgstr "LDAP atribut uporabljen pri ustvarjanju ownCloud uporabniških imen." +msgstr "Atribut LDAP, uporabljen pri ustvarjanju uporabniških imen ownCloud." #: templates/settings.php:25 msgid "Group Display Name Field" @@ -150,7 +151,7 @@ msgstr "Polje za prikazano ime skupine" #: templates/settings.php:25 msgid "The LDAP attribute to use to generate the groups`s ownCloud name." -msgstr "LDAP atribut uporabljen pri ustvarjanju ownCloud imen skupin." +msgstr "Atribut LDAP, uporabljen pri ustvarjanju imen skupin ownCloud." #: templates/settings.php:27 msgid "in bytes" @@ -164,7 +165,7 @@ msgstr "v sekundah. Sprememba izprazni predpomnilnik." msgid "" "Leave empty for user name (default). Otherwise, specify an LDAP/AD " "attribute." -msgstr "Pustite prazno za uporabniško ime (privzeto). V nasprotnem primeru navedite LDAP/AD atribut." +msgstr "Pustite prazno za uporabniško ime (privzeto). V nasprotnem primeru navedite atribut LDAP/AD." #: templates/settings.php:32 msgid "Help" diff --git a/l10n/sl/user_migrate.po b/l10n/sl/user_migrate.po deleted file mode 100644 index ec8deacf770a99e7b669e4c191547ca04cb9a5a5..0000000000000000000000000000000000000000 --- a/l10n/sl/user_migrate.po +++ /dev/null @@ -1,52 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Peter Peroša , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-15 02:03+0200\n" -"PO-Revision-Date: 2012-08-14 13:17+0000\n" -"Last-Translator: Peter Peroša \n" -"Language-Team: Slovenian (http://www.transifex.com/projects/p/owncloud/language/sl/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: sl\n" -"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3)\n" - -#: js/export.js:14 js/export.js:20 -msgid "Export" -msgstr "Izvozi" - -#: js/export.js:19 -msgid "Something went wrong while the export file was being generated" -msgstr "Med ustvarjanjem datoteke za izvoz je prišlo do napake" - -#: js/export.js:19 -msgid "An error has occurred" -msgstr "Prišlo je do napake" - -#: templates/settings.php:2 -msgid "Export your user account" -msgstr "Izvozi vaš uporabniški račun" - -#: templates/settings.php:3 -msgid "" -"This will create a compressed file that contains your ownCloud account." -msgstr "Ustvarjena bo stisnjena datoteka z vašim ownCloud računom." - -#: templates/settings.php:13 -msgid "Import user account" -msgstr "Uvozi uporabniški račun" - -#: templates/settings.php:15 -msgid "ownCloud User Zip" -msgstr "Zip datoteka ownCloud uporabnika" - -#: templates/settings.php:17 -msgid "Import" -msgstr "Uvozi" diff --git a/l10n/sl/user_openid.po b/l10n/sl/user_openid.po deleted file mode 100644 index 38b10648491f1c71f2a381c1f130a18270838b91..0000000000000000000000000000000000000000 --- a/l10n/sl/user_openid.po +++ /dev/null @@ -1,55 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Peter Peroša , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-16 02:04+0200\n" -"PO-Revision-Date: 2012-08-15 00:29+0000\n" -"Last-Translator: Peter Peroša \n" -"Language-Team: Slovenian (http://www.transifex.com/projects/p/owncloud/language/sl/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: sl\n" -"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3)\n" - -#: templates/nomode.php:12 -msgid "This is an OpenID server endpoint. For more information, see " -msgstr "To je OpenID strežniška končna točka. Za več informacij si oglejte" - -#: templates/nomode.php:14 -msgid "Identity: " -msgstr "Identiteta: " - -#: templates/nomode.php:15 -msgid "Realm: " -msgstr "Področje: " - -#: templates/nomode.php:16 -msgid "User: " -msgstr "Uporabnik:" - -#: templates/nomode.php:17 -msgid "Login" -msgstr "Prijava" - -#: templates/nomode.php:22 -msgid "Error: No user Selected" -msgstr "Napaka: Uporabnik ni bil izbran" - -#: templates/settings.php:4 -msgid "you can authenticate to other sites with this address" -msgstr "s tem naslovom se lahko overite tudi na drugih straneh" - -#: templates/settings.php:5 -msgid "Authorized OpenID provider" -msgstr "Odobren ponudnik OpenID" - -#: templates/settings.php:6 -msgid "Your address at Wordpress, Identi.ca, …" -msgstr "Vaš naslov pri Wordpress, Identi.ca, …" diff --git a/l10n/sl/files_odfviewer.po b/l10n/sl/user_webdavauth.po similarity index 63% rename from l10n/sl/files_odfviewer.po rename to l10n/sl/user_webdavauth.po index 700c0daba96449e234cde16381f22a6e8ba9d8b7..f7f351238d5c9e09c752eb14f4672b0de7bc1f42 100644 --- a/l10n/sl/files_odfviewer.po +++ b/l10n/sl/user_webdavauth.po @@ -3,20 +3,21 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# Peter Peroša , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 02:18+0200\n" -"PO-Revision-Date: 2012-08-26 00:19+0000\n" -"Last-Translator: FULL NAME \n" +"POT-Creation-Date: 2012-11-20 00:01+0100\n" +"PO-Revision-Date: 2012-11-19 19:03+0000\n" +"Last-Translator: Peter Peroša \n" "Language-Team: Slovenian (http://www.transifex.com/projects/p/owncloud/language/sl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: sl\n" -"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3)\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n" -#: js/viewer.js:9 -msgid "Close" -msgstr "" +#: templates/settings.php:4 +msgid "WebDAV URL: http://" +msgstr "WebDAV URL: http://" diff --git a/l10n/so/admin_dependencies_chk.po b/l10n/so/admin_dependencies_chk.po deleted file mode 100644 index 2d1d442a09bbfebe85f57405181681a2432430b9..0000000000000000000000000000000000000000 --- a/l10n/so/admin_dependencies_chk.po +++ /dev/null @@ -1,73 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:33+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Somali (http://www.transifex.com/projects/p/owncloud/language/so/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: so\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: settings.php:33 -msgid "" -"The php-json module is needed by the many applications for inter " -"communications" -msgstr "" - -#: settings.php:39 -msgid "" -"The php-curl modude is needed to fetch the page title when adding a " -"bookmarks" -msgstr "" - -#: settings.php:45 -msgid "The php-gd module is needed to create thumbnails of your images" -msgstr "" - -#: settings.php:51 -msgid "The php-ldap module is needed connect to your ldap server" -msgstr "" - -#: settings.php:57 -msgid "The php-zip module is needed download multiple files at once" -msgstr "" - -#: settings.php:63 -msgid "" -"The php-mb_multibyte module is needed to manage correctly the encoding." -msgstr "" - -#: settings.php:69 -msgid "The php-ctype module is needed validate data." -msgstr "" - -#: settings.php:75 -msgid "The php-xml module is needed to share files with webdav." -msgstr "" - -#: settings.php:81 -msgid "" -"The allow_url_fopen directive of your php.ini should be set to 1 to retrieve" -" knowledge base from OCS servers" -msgstr "" - -#: settings.php:87 -msgid "The php-pdo module is needed to store owncloud data into a database." -msgstr "" - -#: templates/settings.php:2 -msgid "Dependencies status" -msgstr "" - -#: templates/settings.php:7 -msgid "Used by :" -msgstr "" diff --git a/l10n/so/admin_migrate.po b/l10n/so/admin_migrate.po deleted file mode 100644 index 2f3aebc46ea8cb24c51f517661f5f0d644447552..0000000000000000000000000000000000000000 --- a/l10n/so/admin_migrate.po +++ /dev/null @@ -1,32 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:32+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Somali (http://www.transifex.com/projects/p/owncloud/language/so/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: so\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: templates/settings.php:3 -msgid "Export this ownCloud instance" -msgstr "" - -#: templates/settings.php:4 -msgid "" -"This will create a compressed file that contains the data of this owncloud instance.\n" -" Please choose the export type:" -msgstr "" - -#: templates/settings.php:12 -msgid "Export" -msgstr "" diff --git a/l10n/so/bookmarks.po b/l10n/so/bookmarks.po deleted file mode 100644 index 63be2e28018e6cfa32c20567268df2c76f510da5..0000000000000000000000000000000000000000 --- a/l10n/so/bookmarks.po +++ /dev/null @@ -1,60 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-07-28 02:02+0200\n" -"PO-Revision-Date: 2012-07-27 22:17+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Somali (http://www.transifex.com/projects/p/owncloud/language/so/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: so\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: appinfo/app.php:14 -msgid "Bookmarks" -msgstr "" - -#: bookmarksHelper.php:99 -msgid "unnamed" -msgstr "" - -#: templates/bookmarklet.php:5 -msgid "" -"Drag this to your browser bookmarks and click it, when you want to bookmark " -"a webpage quickly:" -msgstr "" - -#: templates/bookmarklet.php:7 -msgid "Read later" -msgstr "" - -#: templates/list.php:13 -msgid "Address" -msgstr "" - -#: templates/list.php:14 -msgid "Title" -msgstr "" - -#: templates/list.php:15 -msgid "Tags" -msgstr "" - -#: templates/list.php:16 -msgid "Save bookmark" -msgstr "" - -#: templates/list.php:22 -msgid "You have no bookmarks" -msgstr "" - -#: templates/settings.php:11 -msgid "Bookmarklet
" -msgstr "" diff --git a/l10n/so/calendar.po b/l10n/so/calendar.po deleted file mode 100644 index eb308550f953db9dec42bc03c43f267585d684d1..0000000000000000000000000000000000000000 --- a/l10n/so/calendar.po +++ /dev/null @@ -1,813 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-11 02:02+0200\n" -"PO-Revision-Date: 2012-08-11 00:02+0000\n" -"Last-Translator: owncloud_robot \n" -"Language-Team: Somali (http://www.transifex.com/projects/p/owncloud/language/so/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: so\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: ajax/cache/status.php:19 -msgid "Not all calendars are completely cached" -msgstr "" - -#: ajax/cache/status.php:21 -msgid "Everything seems to be completely cached" -msgstr "" - -#: ajax/categories/rescan.php:29 -msgid "No calendars found." -msgstr "" - -#: ajax/categories/rescan.php:37 -msgid "No events found." -msgstr "" - -#: ajax/event/edit.form.php:20 -msgid "Wrong calendar" -msgstr "" - -#: ajax/import/dropimport.php:29 ajax/import/import.php:64 -msgid "" -"The file contained either no events or all events are already saved in your " -"calendar." -msgstr "" - -#: ajax/import/dropimport.php:31 ajax/import/import.php:67 -msgid "events has been saved in the new calendar" -msgstr "" - -#: ajax/import/import.php:56 -msgid "Import failed" -msgstr "" - -#: ajax/import/import.php:69 -msgid "events has been saved in your calendar" -msgstr "" - -#: ajax/settings/guesstimezone.php:25 -msgid "New Timezone:" -msgstr "" - -#: ajax/settings/settimezone.php:23 -msgid "Timezone changed" -msgstr "" - -#: ajax/settings/settimezone.php:25 -msgid "Invalid request" -msgstr "" - -#: appinfo/app.php:35 templates/calendar.php:15 -#: templates/part.eventform.php:33 templates/part.showevent.php:33 -msgid "Calendar" -msgstr "" - -#: js/calendar.js:832 -msgid "ddd" -msgstr "" - -#: js/calendar.js:833 -msgid "ddd M/d" -msgstr "" - -#: js/calendar.js:834 -msgid "dddd M/d" -msgstr "" - -#: js/calendar.js:837 -msgid "MMMM yyyy" -msgstr "" - -#: js/calendar.js:839 -msgid "MMM d[ yyyy]{ '—'[ MMM] d yyyy}" -msgstr "" - -#: js/calendar.js:841 -msgid "dddd, MMM d, yyyy" -msgstr "" - -#: lib/app.php:121 -msgid "Birthday" -msgstr "" - -#: lib/app.php:122 -msgid "Business" -msgstr "" - -#: lib/app.php:123 -msgid "Call" -msgstr "" - -#: lib/app.php:124 -msgid "Clients" -msgstr "" - -#: lib/app.php:125 -msgid "Deliverer" -msgstr "" - -#: lib/app.php:126 -msgid "Holidays" -msgstr "" - -#: lib/app.php:127 -msgid "Ideas" -msgstr "" - -#: lib/app.php:128 -msgid "Journey" -msgstr "" - -#: lib/app.php:129 -msgid "Jubilee" -msgstr "" - -#: lib/app.php:130 -msgid "Meeting" -msgstr "" - -#: lib/app.php:131 -msgid "Other" -msgstr "" - -#: lib/app.php:132 -msgid "Personal" -msgstr "" - -#: lib/app.php:133 -msgid "Projects" -msgstr "" - -#: lib/app.php:134 -msgid "Questions" -msgstr "" - -#: lib/app.php:135 -msgid "Work" -msgstr "" - -#: lib/app.php:351 lib/app.php:361 -msgid "by" -msgstr "" - -#: lib/app.php:359 lib/app.php:399 -msgid "unnamed" -msgstr "" - -#: lib/import.php:184 templates/calendar.php:12 -#: templates/part.choosecalendar.php:22 -msgid "New Calendar" -msgstr "" - -#: lib/object.php:372 -msgid "Does not repeat" -msgstr "" - -#: lib/object.php:373 -msgid "Daily" -msgstr "" - -#: lib/object.php:374 -msgid "Weekly" -msgstr "" - -#: lib/object.php:375 -msgid "Every Weekday" -msgstr "" - -#: lib/object.php:376 -msgid "Bi-Weekly" -msgstr "" - -#: lib/object.php:377 -msgid "Monthly" -msgstr "" - -#: lib/object.php:378 -msgid "Yearly" -msgstr "" - -#: lib/object.php:388 -msgid "never" -msgstr "" - -#: lib/object.php:389 -msgid "by occurrences" -msgstr "" - -#: lib/object.php:390 -msgid "by date" -msgstr "" - -#: lib/object.php:400 -msgid "by monthday" -msgstr "" - -#: lib/object.php:401 -msgid "by weekday" -msgstr "" - -#: lib/object.php:411 templates/calendar.php:5 templates/settings.php:69 -msgid "Monday" -msgstr "" - -#: lib/object.php:412 templates/calendar.php:5 -msgid "Tuesday" -msgstr "" - -#: lib/object.php:413 templates/calendar.php:5 -msgid "Wednesday" -msgstr "" - -#: lib/object.php:414 templates/calendar.php:5 -msgid "Thursday" -msgstr "" - -#: lib/object.php:415 templates/calendar.php:5 -msgid "Friday" -msgstr "" - -#: lib/object.php:416 templates/calendar.php:5 -msgid "Saturday" -msgstr "" - -#: lib/object.php:417 templates/calendar.php:5 templates/settings.php:70 -msgid "Sunday" -msgstr "" - -#: lib/object.php:427 -msgid "events week of month" -msgstr "" - -#: lib/object.php:428 -msgid "first" -msgstr "" - -#: lib/object.php:429 -msgid "second" -msgstr "" - -#: lib/object.php:430 -msgid "third" -msgstr "" - -#: lib/object.php:431 -msgid "fourth" -msgstr "" - -#: lib/object.php:432 -msgid "fifth" -msgstr "" - -#: lib/object.php:433 -msgid "last" -msgstr "" - -#: lib/object.php:467 templates/calendar.php:7 -msgid "January" -msgstr "" - -#: lib/object.php:468 templates/calendar.php:7 -msgid "February" -msgstr "" - -#: lib/object.php:469 templates/calendar.php:7 -msgid "March" -msgstr "" - -#: lib/object.php:470 templates/calendar.php:7 -msgid "April" -msgstr "" - -#: lib/object.php:471 templates/calendar.php:7 -msgid "May" -msgstr "" - -#: lib/object.php:472 templates/calendar.php:7 -msgid "June" -msgstr "" - -#: lib/object.php:473 templates/calendar.php:7 -msgid "July" -msgstr "" - -#: lib/object.php:474 templates/calendar.php:7 -msgid "August" -msgstr "" - -#: lib/object.php:475 templates/calendar.php:7 -msgid "September" -msgstr "" - -#: lib/object.php:476 templates/calendar.php:7 -msgid "October" -msgstr "" - -#: lib/object.php:477 templates/calendar.php:7 -msgid "November" -msgstr "" - -#: lib/object.php:478 templates/calendar.php:7 -msgid "December" -msgstr "" - -#: lib/object.php:488 -msgid "by events date" -msgstr "" - -#: lib/object.php:489 -msgid "by yearday(s)" -msgstr "" - -#: lib/object.php:490 -msgid "by weeknumber(s)" -msgstr "" - -#: lib/object.php:491 -msgid "by day and month" -msgstr "" - -#: lib/search.php:35 lib/search.php:37 lib/search.php:40 -msgid "Date" -msgstr "" - -#: lib/search.php:43 -msgid "Cal." -msgstr "" - -#: templates/calendar.php:6 -msgid "Sun." -msgstr "" - -#: templates/calendar.php:6 -msgid "Mon." -msgstr "" - -#: templates/calendar.php:6 -msgid "Tue." -msgstr "" - -#: templates/calendar.php:6 -msgid "Wed." -msgstr "" - -#: templates/calendar.php:6 -msgid "Thu." -msgstr "" - -#: templates/calendar.php:6 -msgid "Fri." -msgstr "" - -#: templates/calendar.php:6 -msgid "Sat." -msgstr "" - -#: templates/calendar.php:8 -msgid "Jan." -msgstr "" - -#: templates/calendar.php:8 -msgid "Feb." -msgstr "" - -#: templates/calendar.php:8 -msgid "Mar." -msgstr "" - -#: templates/calendar.php:8 -msgid "Apr." -msgstr "" - -#: templates/calendar.php:8 -msgid "May." -msgstr "" - -#: templates/calendar.php:8 -msgid "Jun." -msgstr "" - -#: templates/calendar.php:8 -msgid "Jul." -msgstr "" - -#: templates/calendar.php:8 -msgid "Aug." -msgstr "" - -#: templates/calendar.php:8 -msgid "Sep." -msgstr "" - -#: templates/calendar.php:8 -msgid "Oct." -msgstr "" - -#: templates/calendar.php:8 -msgid "Nov." -msgstr "" - -#: templates/calendar.php:8 -msgid "Dec." -msgstr "" - -#: templates/calendar.php:11 -msgid "All day" -msgstr "" - -#: templates/calendar.php:13 -msgid "Missing fields" -msgstr "" - -#: templates/calendar.php:14 templates/part.eventform.php:19 -#: templates/part.showevent.php:11 -msgid "Title" -msgstr "" - -#: templates/calendar.php:16 -msgid "From Date" -msgstr "" - -#: templates/calendar.php:17 -msgid "From Time" -msgstr "" - -#: templates/calendar.php:18 -msgid "To Date" -msgstr "" - -#: templates/calendar.php:19 -msgid "To Time" -msgstr "" - -#: templates/calendar.php:20 -msgid "The event ends before it starts" -msgstr "" - -#: templates/calendar.php:21 -msgid "There was a database fail" -msgstr "" - -#: templates/calendar.php:39 -msgid "Week" -msgstr "" - -#: templates/calendar.php:40 -msgid "Month" -msgstr "" - -#: templates/calendar.php:41 -msgid "List" -msgstr "" - -#: templates/calendar.php:45 -msgid "Today" -msgstr "" - -#: templates/calendar.php:46 templates/calendar.php:47 -msgid "Settings" -msgstr "" - -#: templates/part.choosecalendar.php:2 -msgid "Your calendars" -msgstr "" - -#: templates/part.choosecalendar.php:27 -#: templates/part.choosecalendar.rowfields.php:11 -msgid "CalDav Link" -msgstr "" - -#: templates/part.choosecalendar.php:31 -msgid "Shared calendars" -msgstr "" - -#: templates/part.choosecalendar.php:48 -msgid "No shared calendars" -msgstr "" - -#: templates/part.choosecalendar.rowfields.php:8 -msgid "Share Calendar" -msgstr "" - -#: templates/part.choosecalendar.rowfields.php:14 -msgid "Download" -msgstr "" - -#: templates/part.choosecalendar.rowfields.php:17 -msgid "Edit" -msgstr "" - -#: templates/part.choosecalendar.rowfields.php:20 -#: templates/part.editevent.php:9 -msgid "Delete" -msgstr "" - -#: templates/part.choosecalendar.rowfields.shared.php:4 -msgid "shared with you by" -msgstr "" - -#: templates/part.editcalendar.php:9 -msgid "New calendar" -msgstr "" - -#: templates/part.editcalendar.php:9 -msgid "Edit calendar" -msgstr "" - -#: templates/part.editcalendar.php:12 -msgid "Displayname" -msgstr "" - -#: templates/part.editcalendar.php:23 -msgid "Active" -msgstr "" - -#: templates/part.editcalendar.php:29 -msgid "Calendar color" -msgstr "" - -#: templates/part.editcalendar.php:42 -msgid "Save" -msgstr "" - -#: templates/part.editcalendar.php:42 templates/part.editevent.php:8 -#: templates/part.newevent.php:6 -msgid "Submit" -msgstr "" - -#: templates/part.editcalendar.php:43 -msgid "Cancel" -msgstr "" - -#: templates/part.editevent.php:1 -msgid "Edit an event" -msgstr "" - -#: templates/part.editevent.php:10 -msgid "Export" -msgstr "" - -#: templates/part.eventform.php:8 templates/part.showevent.php:3 -msgid "Eventinfo" -msgstr "" - -#: templates/part.eventform.php:9 templates/part.showevent.php:4 -msgid "Repeating" -msgstr "" - -#: templates/part.eventform.php:10 templates/part.showevent.php:5 -msgid "Alarm" -msgstr "" - -#: templates/part.eventform.php:11 templates/part.showevent.php:6 -msgid "Attendees" -msgstr "" - -#: templates/part.eventform.php:13 -msgid "Share" -msgstr "" - -#: templates/part.eventform.php:21 -msgid "Title of the Event" -msgstr "" - -#: templates/part.eventform.php:27 templates/part.showevent.php:19 -msgid "Category" -msgstr "" - -#: templates/part.eventform.php:29 -msgid "Separate categories with commas" -msgstr "" - -#: templates/part.eventform.php:30 -msgid "Edit categories" -msgstr "" - -#: templates/part.eventform.php:56 templates/part.showevent.php:52 -msgid "All Day Event" -msgstr "" - -#: templates/part.eventform.php:60 templates/part.showevent.php:56 -msgid "From" -msgstr "" - -#: templates/part.eventform.php:68 templates/part.showevent.php:64 -msgid "To" -msgstr "" - -#: templates/part.eventform.php:76 templates/part.showevent.php:72 -msgid "Advanced options" -msgstr "" - -#: templates/part.eventform.php:81 templates/part.showevent.php:77 -msgid "Location" -msgstr "" - -#: templates/part.eventform.php:83 -msgid "Location of the Event" -msgstr "" - -#: templates/part.eventform.php:89 templates/part.showevent.php:85 -msgid "Description" -msgstr "" - -#: templates/part.eventform.php:91 -msgid "Description of the Event" -msgstr "" - -#: templates/part.eventform.php:100 templates/part.showevent.php:95 -msgid "Repeat" -msgstr "" - -#: templates/part.eventform.php:107 templates/part.showevent.php:102 -msgid "Advanced" -msgstr "" - -#: templates/part.eventform.php:151 templates/part.showevent.php:146 -msgid "Select weekdays" -msgstr "" - -#: templates/part.eventform.php:164 templates/part.eventform.php:177 -#: templates/part.showevent.php:159 templates/part.showevent.php:172 -msgid "Select days" -msgstr "" - -#: templates/part.eventform.php:169 templates/part.showevent.php:164 -msgid "and the events day of year." -msgstr "" - -#: templates/part.eventform.php:182 templates/part.showevent.php:177 -msgid "and the events day of month." -msgstr "" - -#: templates/part.eventform.php:190 templates/part.showevent.php:185 -msgid "Select months" -msgstr "" - -#: templates/part.eventform.php:203 templates/part.showevent.php:198 -msgid "Select weeks" -msgstr "" - -#: templates/part.eventform.php:208 templates/part.showevent.php:203 -msgid "and the events week of year." -msgstr "" - -#: templates/part.eventform.php:214 templates/part.showevent.php:209 -msgid "Interval" -msgstr "" - -#: templates/part.eventform.php:220 templates/part.showevent.php:215 -msgid "End" -msgstr "" - -#: templates/part.eventform.php:233 templates/part.showevent.php:228 -msgid "occurrences" -msgstr "" - -#: templates/part.import.php:14 -msgid "create a new calendar" -msgstr "" - -#: templates/part.import.php:17 -msgid "Import a calendar file" -msgstr "" - -#: templates/part.import.php:24 -msgid "Please choose a calendar" -msgstr "" - -#: templates/part.import.php:36 -msgid "Name of new calendar" -msgstr "" - -#: templates/part.import.php:44 -msgid "Take an available name!" -msgstr "" - -#: templates/part.import.php:45 -msgid "" -"A Calendar with this name already exists. If you continue anyhow, these " -"calendars will be merged." -msgstr "" - -#: templates/part.import.php:47 -msgid "Import" -msgstr "" - -#: templates/part.import.php:56 -msgid "Close Dialog" -msgstr "" - -#: templates/part.newevent.php:1 -msgid "Create a new event" -msgstr "" - -#: templates/part.showevent.php:1 -msgid "View an event" -msgstr "" - -#: templates/part.showevent.php:23 -msgid "No categories selected" -msgstr "" - -#: templates/part.showevent.php:37 -msgid "of" -msgstr "" - -#: templates/part.showevent.php:59 templates/part.showevent.php:67 -msgid "at" -msgstr "" - -#: templates/settings.php:10 -msgid "General" -msgstr "" - -#: templates/settings.php:15 -msgid "Timezone" -msgstr "" - -#: templates/settings.php:47 -msgid "Update timezone automatically" -msgstr "" - -#: templates/settings.php:52 -msgid "Time format" -msgstr "" - -#: templates/settings.php:57 -msgid "24h" -msgstr "" - -#: templates/settings.php:58 -msgid "12h" -msgstr "" - -#: templates/settings.php:64 -msgid "Start week on" -msgstr "" - -#: templates/settings.php:76 -msgid "Cache" -msgstr "" - -#: templates/settings.php:80 -msgid "Clear cache for repeating events" -msgstr "" - -#: templates/settings.php:85 -msgid "URLs" -msgstr "" - -#: templates/settings.php:87 -msgid "Calendar CalDAV syncing addresses" -msgstr "" - -#: templates/settings.php:87 -msgid "more info" -msgstr "" - -#: templates/settings.php:89 -msgid "Primary address (Kontact et al)" -msgstr "" - -#: templates/settings.php:91 -msgid "iOS/OS X" -msgstr "" - -#: templates/settings.php:93 -msgid "Read only iCalendar link(s)" -msgstr "" - -#: templates/share.dropdown.php:20 -msgid "Users" -msgstr "" - -#: templates/share.dropdown.php:21 -msgid "select users" -msgstr "" - -#: templates/share.dropdown.php:36 templates/share.dropdown.php:62 -msgid "Editable" -msgstr "" - -#: templates/share.dropdown.php:48 -msgid "Groups" -msgstr "" - -#: templates/share.dropdown.php:49 -msgid "select groups" -msgstr "" - -#: templates/share.dropdown.php:75 -msgid "make public" -msgstr "" diff --git a/l10n/so/contacts.po b/l10n/so/contacts.po deleted file mode 100644 index 2e9f2b1c0ddb220ff5e373959242d683f8973ad7..0000000000000000000000000000000000000000 --- a/l10n/so/contacts.po +++ /dev/null @@ -1,952 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-24 02:02+0200\n" -"PO-Revision-Date: 2012-08-24 00:03+0000\n" -"Last-Translator: I Robot \n" -"Language-Team: Somali (http://www.transifex.com/projects/p/owncloud/language/so/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: so\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: ajax/addressbook/activate.php:24 ajax/addressbook/update.php:32 -msgid "Error (de)activating addressbook." -msgstr "" - -#: ajax/addressbook/delete.php:31 ajax/addressbook/update.php:20 -#: ajax/contact/addproperty.php:42 ajax/contact/delete.php:32 -#: ajax/contact/saveproperty.php:39 -msgid "id is not set." -msgstr "" - -#: ajax/addressbook/update.php:24 -msgid "Cannot update addressbook with an empty name." -msgstr "" - -#: ajax/addressbook/update.php:28 -msgid "Error updating addressbook." -msgstr "" - -#: ajax/categories/categoriesfor.php:17 -msgid "No ID provided" -msgstr "" - -#: ajax/categories/categoriesfor.php:34 -msgid "Error setting checksum." -msgstr "" - -#: ajax/categories/delete.php:19 -msgid "No categories selected for deletion." -msgstr "" - -#: ajax/categories/delete.php:26 -msgid "No address books found." -msgstr "" - -#: ajax/categories/delete.php:34 -msgid "No contacts found." -msgstr "" - -#: ajax/contact/add.php:47 -msgid "There was an error adding the contact." -msgstr "" - -#: ajax/contact/addproperty.php:39 ajax/contact/saveproperty.php:36 -msgid "element name is not set." -msgstr "" - -#: ajax/contact/addproperty.php:46 -msgid "Could not parse contact: " -msgstr "" - -#: ajax/contact/addproperty.php:56 -msgid "Cannot add empty property." -msgstr "" - -#: ajax/contact/addproperty.php:67 -msgid "At least one of the address fields has to be filled out." -msgstr "" - -#: ajax/contact/addproperty.php:76 -msgid "Trying to add duplicate property: " -msgstr "" - -#: ajax/contact/addproperty.php:115 ajax/contact/saveproperty.php:93 -msgid "Missing IM parameter." -msgstr "" - -#: ajax/contact/addproperty.php:119 ajax/contact/saveproperty.php:97 -msgid "Unknown IM: " -msgstr "" - -#: ajax/contact/deleteproperty.php:37 -msgid "Information about vCard is incorrect. Please reload the page." -msgstr "" - -#: ajax/contact/details.php:31 -msgid "Missing ID" -msgstr "" - -#: ajax/contact/details.php:36 -msgid "Error parsing VCard for ID: \"" -msgstr "" - -#: ajax/contact/saveproperty.php:42 -msgid "checksum is not set." -msgstr "" - -#: ajax/contact/saveproperty.php:62 -msgid "Information about vCard is incorrect. Please reload the page: " -msgstr "" - -#: ajax/contact/saveproperty.php:69 -msgid "Something went FUBAR. " -msgstr "" - -#: ajax/currentphoto.php:30 ajax/oc_photo.php:28 ajax/uploadphoto.php:36 -#: ajax/uploadphoto.php:68 -msgid "No contact ID was submitted." -msgstr "" - -#: ajax/currentphoto.php:36 -msgid "Error reading contact photo." -msgstr "" - -#: ajax/currentphoto.php:48 -msgid "Error saving temporary file." -msgstr "" - -#: ajax/currentphoto.php:51 -msgid "The loading photo is not valid." -msgstr "" - -#: ajax/editname.php:31 -msgid "Contact ID is missing." -msgstr "" - -#: ajax/oc_photo.php:32 -msgid "No photo path was submitted." -msgstr "" - -#: ajax/oc_photo.php:39 -msgid "File doesn't exist:" -msgstr "" - -#: ajax/oc_photo.php:44 ajax/oc_photo.php:47 -msgid "Error loading image." -msgstr "" - -#: ajax/savecrop.php:69 -msgid "Error getting contact object." -msgstr "" - -#: ajax/savecrop.php:79 -msgid "Error getting PHOTO property." -msgstr "" - -#: ajax/savecrop.php:98 -msgid "Error saving contact." -msgstr "" - -#: ajax/savecrop.php:109 -msgid "Error resizing image" -msgstr "" - -#: ajax/savecrop.php:112 -msgid "Error cropping image" -msgstr "" - -#: ajax/savecrop.php:115 -msgid "Error creating temporary image" -msgstr "" - -#: ajax/savecrop.php:118 -msgid "Error finding image: " -msgstr "" - -#: ajax/uploadimport.php:44 ajax/uploadimport.php:76 -msgid "Error uploading contacts to storage." -msgstr "" - -#: ajax/uploadimport.php:61 ajax/uploadphoto.php:77 -msgid "There is no error, the file uploaded with success" -msgstr "" - -#: ajax/uploadimport.php:62 ajax/uploadphoto.php:78 -msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" -msgstr "" - -#: ajax/uploadimport.php:63 ajax/uploadphoto.php:79 -msgid "" -"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " -"the HTML form" -msgstr "" - -#: ajax/uploadimport.php:64 ajax/uploadphoto.php:80 -msgid "The uploaded file was only partially uploaded" -msgstr "" - -#: ajax/uploadimport.php:65 ajax/uploadphoto.php:81 -msgid "No file was uploaded" -msgstr "" - -#: ajax/uploadimport.php:66 ajax/uploadphoto.php:82 -msgid "Missing a temporary folder" -msgstr "" - -#: ajax/uploadphoto.php:59 ajax/uploadphoto.php:109 -msgid "Couldn't save temporary image: " -msgstr "" - -#: ajax/uploadphoto.php:62 ajax/uploadphoto.php:112 -msgid "Couldn't load temporary image: " -msgstr "" - -#: ajax/uploadphoto.php:71 -msgid "No file was uploaded. Unknown error" -msgstr "" - -#: appinfo/app.php:21 -msgid "Contacts" -msgstr "" - -#: js/contacts.js:71 -msgid "Sorry, this functionality has not been implemented yet" -msgstr "" - -#: js/contacts.js:71 -msgid "Not implemented" -msgstr "" - -#: js/contacts.js:76 -msgid "Couldn't get a valid address." -msgstr "" - -#: js/contacts.js:76 js/contacts.js:365 js/contacts.js:381 js/contacts.js:393 -#: js/contacts.js:723 js/contacts.js:763 js/contacts.js:789 js/contacts.js:921 -#: js/contacts.js:927 js/contacts.js:939 js/contacts.js:976 -#: js/contacts.js:1250 js/contacts.js:1258 js/contacts.js:1267 -#: js/contacts.js:1302 js/contacts.js:1338 js/contacts.js:1353 -#: js/contacts.js:1379 js/contacts.js:1609 js/contacts.js:1644 -#: js/contacts.js:1664 js/settings.js:26 js/settings.js:43 js/settings.js:68 -msgid "Error" -msgstr "" - -#: js/contacts.js:424 -msgid "You do not have permission to add contacts to " -msgstr "" - -#: js/contacts.js:425 -msgid "Please select one of your own address books." -msgstr "" - -#: js/contacts.js:425 -msgid "Permission error" -msgstr "" - -#: js/contacts.js:763 -msgid "This property has to be non-empty." -msgstr "" - -#: js/contacts.js:789 -msgid "Couldn't serialize elements." -msgstr "" - -#: js/contacts.js:921 js/contacts.js:939 -msgid "" -"'deleteProperty' called without type argument. Please report at " -"bugs.owncloud.org" -msgstr "" - -#: js/contacts.js:958 -msgid "Edit name" -msgstr "" - -#: js/contacts.js:1250 -msgid "No files selected for upload." -msgstr "" - -#: js/contacts.js:1258 -msgid "" -"The file you are trying to upload exceed the maximum size for file uploads " -"on this server." -msgstr "" - -#: js/contacts.js:1322 -msgid "Error loading profile picture." -msgstr "" - -#: js/contacts.js:1457 js/contacts.js:1498 js/contacts.js:1517 -#: js/contacts.js:1560 -msgid "Select type" -msgstr "" - -#: js/contacts.js:1578 -msgid "" -"Some contacts are marked for deletion, but not deleted yet. Please wait for " -"them to be deleted." -msgstr "" - -#: js/contacts.js:1649 -msgid "Do you want to merge these address books?" -msgstr "" - -#: js/loader.js:49 -msgid "Result: " -msgstr "" - -#: js/loader.js:49 -msgid " imported, " -msgstr "" - -#: js/loader.js:49 -msgid " failed." -msgstr "" - -#: js/settings.js:68 -msgid "Displayname cannot be empty." -msgstr "" - -#: lib/app.php:36 -msgid "Addressbook not found: " -msgstr "" - -#: lib/app.php:52 -msgid "This is not your addressbook." -msgstr "" - -#: lib/app.php:71 -msgid "Contact could not be found." -msgstr "" - -#: lib/app.php:116 -msgid "Jabber" -msgstr "" - -#: lib/app.php:121 -msgid "AIM" -msgstr "" - -#: lib/app.php:126 -msgid "MSN" -msgstr "" - -#: lib/app.php:131 -msgid "Twitter" -msgstr "" - -#: lib/app.php:136 -msgid "GoogleTalk" -msgstr "" - -#: lib/app.php:141 -msgid "Facebook" -msgstr "" - -#: lib/app.php:146 -msgid "XMPP" -msgstr "" - -#: lib/app.php:151 -msgid "ICQ" -msgstr "" - -#: lib/app.php:156 -msgid "Yahoo" -msgstr "" - -#: lib/app.php:161 -msgid "Skype" -msgstr "" - -#: lib/app.php:166 -msgid "QQ" -msgstr "" - -#: lib/app.php:171 -msgid "GaduGadu" -msgstr "" - -#: lib/app.php:194 lib/app.php:202 lib/app.php:213 lib/app.php:266 -msgid "Work" -msgstr "" - -#: lib/app.php:195 lib/app.php:200 lib/app.php:214 -msgid "Home" -msgstr "" - -#: lib/app.php:196 lib/app.php:209 lib/app.php:262 lib/vcard.php:593 -msgid "Other" -msgstr "" - -#: lib/app.php:201 -msgid "Mobile" -msgstr "" - -#: lib/app.php:203 -msgid "Text" -msgstr "" - -#: lib/app.php:204 -msgid "Voice" -msgstr "" - -#: lib/app.php:205 -msgid "Message" -msgstr "" - -#: lib/app.php:206 -msgid "Fax" -msgstr "" - -#: lib/app.php:207 -msgid "Video" -msgstr "" - -#: lib/app.php:208 -msgid "Pager" -msgstr "" - -#: lib/app.php:215 -msgid "Internet" -msgstr "" - -#: lib/app.php:252 templates/part.contact.php:45 -#: templates/part.contact.php:128 -msgid "Birthday" -msgstr "" - -#: lib/app.php:253 -msgid "Business" -msgstr "" - -#: lib/app.php:254 -msgid "Call" -msgstr "" - -#: lib/app.php:255 -msgid "Clients" -msgstr "" - -#: lib/app.php:256 -msgid "Deliverer" -msgstr "" - -#: lib/app.php:257 -msgid "Holidays" -msgstr "" - -#: lib/app.php:258 -msgid "Ideas" -msgstr "" - -#: lib/app.php:259 -msgid "Journey" -msgstr "" - -#: lib/app.php:260 -msgid "Jubilee" -msgstr "" - -#: lib/app.php:261 -msgid "Meeting" -msgstr "" - -#: lib/app.php:263 -msgid "Personal" -msgstr "" - -#: lib/app.php:264 -msgid "Projects" -msgstr "" - -#: lib/app.php:265 -msgid "Questions" -msgstr "" - -#: lib/hooks.php:102 -msgid "{name}'s Birthday" -msgstr "" - -#: lib/search.php:15 -msgid "Contact" -msgstr "" - -#: lib/vcard.php:408 -msgid "You do not have the permissions to edit this contact." -msgstr "" - -#: lib/vcard.php:483 -msgid "You do not have the permissions to delete this contact." -msgstr "" - -#: templates/index.php:14 -msgid "Add Contact" -msgstr "" - -#: templates/index.php:15 templates/index.php:16 templates/part.import.php:17 -msgid "Import" -msgstr "" - -#: templates/index.php:18 -msgid "Settings" -msgstr "" - -#: templates/index.php:18 templates/settings.php:9 -msgid "Addressbooks" -msgstr "" - -#: templates/index.php:36 templates/part.import.php:24 -msgid "Close" -msgstr "" - -#: templates/index.php:37 -msgid "Keyboard shortcuts" -msgstr "" - -#: templates/index.php:39 -msgid "Navigation" -msgstr "" - -#: templates/index.php:42 -msgid "Next contact in list" -msgstr "" - -#: templates/index.php:44 -msgid "Previous contact in list" -msgstr "" - -#: templates/index.php:46 -msgid "Expand/collapse current addressbook" -msgstr "" - -#: templates/index.php:48 -msgid "Next addressbook" -msgstr "" - -#: templates/index.php:50 -msgid "Previous addressbook" -msgstr "" - -#: templates/index.php:54 -msgid "Actions" -msgstr "" - -#: templates/index.php:57 -msgid "Refresh contacts list" -msgstr "" - -#: templates/index.php:59 -msgid "Add new contact" -msgstr "" - -#: templates/index.php:61 -msgid "Add new addressbook" -msgstr "" - -#: templates/index.php:63 -msgid "Delete current contact" -msgstr "" - -#: templates/part.contact.php:17 -msgid "Drop photo to upload" -msgstr "" - -#: templates/part.contact.php:19 -msgid "Delete current photo" -msgstr "" - -#: templates/part.contact.php:20 -msgid "Edit current photo" -msgstr "" - -#: templates/part.contact.php:21 -msgid "Upload new photo" -msgstr "" - -#: templates/part.contact.php:22 -msgid "Select photo from ownCloud" -msgstr "" - -#: templates/part.contact.php:35 -msgid "Format custom, Short name, Full name, Reverse or Reverse with comma" -msgstr "" - -#: templates/part.contact.php:36 -msgid "Edit name details" -msgstr "" - -#: templates/part.contact.php:39 templates/part.contact.php:40 -#: templates/part.contact.php:126 -msgid "Organization" -msgstr "" - -#: templates/part.contact.php:40 templates/part.contact.php:42 -#: templates/part.contact.php:44 templates/part.contact.php:46 -#: templates/part.contact.php:50 templates/settings.php:36 -msgid "Delete" -msgstr "" - -#: templates/part.contact.php:41 templates/part.contact.php:127 -msgid "Nickname" -msgstr "" - -#: templates/part.contact.php:42 -msgid "Enter nickname" -msgstr "" - -#: templates/part.contact.php:43 templates/part.contact.php:134 -msgid "Web site" -msgstr "" - -#: templates/part.contact.php:44 -msgid "http://www.somesite.com" -msgstr "" - -#: templates/part.contact.php:44 -msgid "Go to web site" -msgstr "" - -#: templates/part.contact.php:46 -msgid "dd-mm-yyyy" -msgstr "" - -#: templates/part.contact.php:47 templates/part.contact.php:135 -msgid "Groups" -msgstr "" - -#: templates/part.contact.php:49 -msgid "Separate groups with commas" -msgstr "" - -#: templates/part.contact.php:50 -msgid "Edit groups" -msgstr "" - -#: templates/part.contact.php:59 templates/part.contact.php:73 -#: templates/part.contact.php:98 -msgid "Preferred" -msgstr "" - -#: templates/part.contact.php:60 -msgid "Please specify a valid email address." -msgstr "" - -#: templates/part.contact.php:60 -msgid "Enter email address" -msgstr "" - -#: templates/part.contact.php:64 -msgid "Mail to address" -msgstr "" - -#: templates/part.contact.php:65 -msgid "Delete email address" -msgstr "" - -#: templates/part.contact.php:75 -msgid "Enter phone number" -msgstr "" - -#: templates/part.contact.php:79 -msgid "Delete phone number" -msgstr "" - -#: templates/part.contact.php:100 -msgid "Instant Messenger" -msgstr "" - -#: templates/part.contact.php:101 -msgid "Delete IM" -msgstr "" - -#: templates/part.contact.php:110 -msgid "View on map" -msgstr "" - -#: templates/part.contact.php:110 -msgid "Edit address details" -msgstr "" - -#: templates/part.contact.php:116 -msgid "Add notes here." -msgstr "" - -#: templates/part.contact.php:124 -msgid "Add field" -msgstr "" - -#: templates/part.contact.php:129 -msgid "Phone" -msgstr "" - -#: templates/part.contact.php:130 -msgid "Email" -msgstr "" - -#: templates/part.contact.php:131 -msgid "Instant Messaging" -msgstr "" - -#: templates/part.contact.php:132 -msgid "Address" -msgstr "" - -#: templates/part.contact.php:133 -msgid "Note" -msgstr "" - -#: templates/part.contact.php:138 -msgid "Download contact" -msgstr "" - -#: templates/part.contact.php:139 -msgid "Delete contact" -msgstr "" - -#: templates/part.cropphoto.php:65 -msgid "The temporary image has been removed from cache." -msgstr "" - -#: templates/part.edit_address_dialog.php:6 -msgid "Edit address" -msgstr "" - -#: templates/part.edit_address_dialog.php:10 -msgid "Type" -msgstr "" - -#: templates/part.edit_address_dialog.php:18 -#: templates/part.edit_address_dialog.php:21 -msgid "PO Box" -msgstr "" - -#: templates/part.edit_address_dialog.php:24 -msgid "Street address" -msgstr "" - -#: templates/part.edit_address_dialog.php:27 -msgid "Street and number" -msgstr "" - -#: templates/part.edit_address_dialog.php:30 -msgid "Extended" -msgstr "" - -#: templates/part.edit_address_dialog.php:33 -msgid "Apartment number etc." -msgstr "" - -#: templates/part.edit_address_dialog.php:36 -#: templates/part.edit_address_dialog.php:39 -msgid "City" -msgstr "" - -#: templates/part.edit_address_dialog.php:42 -msgid "Region" -msgstr "" - -#: templates/part.edit_address_dialog.php:45 -msgid "E.g. state or province" -msgstr "" - -#: templates/part.edit_address_dialog.php:48 -msgid "Zipcode" -msgstr "" - -#: templates/part.edit_address_dialog.php:51 -msgid "Postal code" -msgstr "" - -#: templates/part.edit_address_dialog.php:54 -#: templates/part.edit_address_dialog.php:57 -msgid "Country" -msgstr "" - -#: templates/part.edit_name_dialog.php:16 -msgid "Addressbook" -msgstr "" - -#: templates/part.edit_name_dialog.php:23 -msgid "Hon. prefixes" -msgstr "" - -#: templates/part.edit_name_dialog.php:27 -msgid "Miss" -msgstr "" - -#: templates/part.edit_name_dialog.php:28 -msgid "Ms" -msgstr "" - -#: templates/part.edit_name_dialog.php:29 -msgid "Mr" -msgstr "" - -#: templates/part.edit_name_dialog.php:30 -msgid "Sir" -msgstr "" - -#: templates/part.edit_name_dialog.php:31 -msgid "Mrs" -msgstr "" - -#: templates/part.edit_name_dialog.php:32 -msgid "Dr" -msgstr "" - -#: templates/part.edit_name_dialog.php:35 -msgid "Given name" -msgstr "" - -#: templates/part.edit_name_dialog.php:37 -msgid "Additional names" -msgstr "" - -#: templates/part.edit_name_dialog.php:39 -msgid "Family name" -msgstr "" - -#: templates/part.edit_name_dialog.php:41 -msgid "Hon. suffixes" -msgstr "" - -#: templates/part.edit_name_dialog.php:45 -msgid "J.D." -msgstr "" - -#: templates/part.edit_name_dialog.php:46 -msgid "M.D." -msgstr "" - -#: templates/part.edit_name_dialog.php:47 -msgid "D.O." -msgstr "" - -#: templates/part.edit_name_dialog.php:48 -msgid "D.C." -msgstr "" - -#: templates/part.edit_name_dialog.php:49 -msgid "Ph.D." -msgstr "" - -#: templates/part.edit_name_dialog.php:50 -msgid "Esq." -msgstr "" - -#: templates/part.edit_name_dialog.php:51 -msgid "Jr." -msgstr "" - -#: templates/part.edit_name_dialog.php:52 -msgid "Sn." -msgstr "" - -#: templates/part.import.php:1 -msgid "Import a contacts file" -msgstr "" - -#: templates/part.import.php:6 -msgid "Please choose the addressbook" -msgstr "" - -#: templates/part.import.php:10 -msgid "create a new addressbook" -msgstr "" - -#: templates/part.import.php:15 -msgid "Name of new addressbook" -msgstr "" - -#: templates/part.import.php:20 -msgid "Importing contacts" -msgstr "" - -#: templates/part.no_contacts.php:3 -msgid "You have no contacts in your addressbook." -msgstr "" - -#: templates/part.no_contacts.php:5 -msgid "Add contact" -msgstr "" - -#: templates/part.selectaddressbook.php:1 -msgid "Select Address Books" -msgstr "" - -#: templates/part.selectaddressbook.php:27 -msgid "Enter name" -msgstr "" - -#: templates/part.selectaddressbook.php:29 -msgid "Enter description" -msgstr "" - -#: templates/settings.php:3 -msgid "CardDAV syncing addresses" -msgstr "" - -#: templates/settings.php:3 -msgid "more info" -msgstr "" - -#: templates/settings.php:5 -msgid "Primary address (Kontact et al)" -msgstr "" - -#: templates/settings.php:7 -msgid "iOS/OS X" -msgstr "" - -#: templates/settings.php:20 -msgid "Show CardDav link" -msgstr "" - -#: templates/settings.php:23 -msgid "Show read-only VCF link" -msgstr "" - -#: templates/settings.php:26 -msgid "Share" -msgstr "" - -#: templates/settings.php:29 -msgid "Download" -msgstr "" - -#: templates/settings.php:33 -msgid "Edit" -msgstr "" - -#: templates/settings.php:43 -msgid "New Address Book" -msgstr "" - -#: templates/settings.php:44 -msgid "Name" -msgstr "" - -#: templates/settings.php:45 -msgid "Description" -msgstr "" - -#: templates/settings.php:46 -msgid "Save" -msgstr "" - -#: templates/settings.php:47 -msgid "Cancel" -msgstr "" - -#: templates/settings.php:52 -msgid "More..." -msgstr "" diff --git a/l10n/so/core.po b/l10n/so/core.po index b7723cd0820fcd458f97a8b5c7474601bbe0ff3a..9522acda2869e9f4c635cf020a0e4def064bff09 100644 --- a/l10n/so/core.po +++ b/l10n/so/core.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-16 02:04+0200\n" -"PO-Revision-Date: 2012-10-16 00:05+0000\n" +"POT-Creation-Date: 2012-10-18 02:03+0200\n" +"PO-Revision-Date: 2012-10-18 00:04+0000\n" "Last-Translator: I Robot \n" "Language-Team: Somali (http://www.transifex.com/projects/p/owncloud/language/so/)\n" "MIME-Version: 1.0\n" @@ -123,15 +123,11 @@ msgid "Error while changing permissions" msgstr "" #: js/share.js:130 -msgid "Shared with you and the group" -msgstr "" - -#: js/share.js:130 -msgid "by" +msgid "Shared with you and the group {group} by {owner}" msgstr "" #: js/share.js:132 -msgid "Shared with you by" +msgid "Shared with you by {owner}" msgstr "" #: js/share.js:137 @@ -172,11 +168,7 @@ msgid "Resharing is not allowed" msgstr "" #: js/share.js:250 -msgid "Shared in" -msgstr "" - -#: js/share.js:250 -msgid "with" +msgid "Shared in {item} with {user}" msgstr "" #: js/share.js:271 diff --git a/l10n/so/files.po b/l10n/so/files.po index 31ef83859aae3a6bfa342c0aaff27e7f7048f30a..193751e90dc4474a2db2fdbc4ec8ee9deeae5596 100644 --- a/l10n/so/files.po +++ b/l10n/so/files.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-09-26 13:19+0200\n" -"PO-Revision-Date: 2012-09-26 11:20+0000\n" +"POT-Creation-Date: 2012-10-19 02:03+0200\n" +"PO-Revision-Date: 2012-10-19 00:04+0000\n" "Last-Translator: I Robot \n" "Language-Team: Somali (http://www.transifex.com/projects/p/owncloud/language/so/)\n" "MIME-Version: 1.0\n" @@ -63,152 +63,152 @@ msgstr "" msgid "Rename" msgstr "" -#: js/filelist.js:190 js/filelist.js:192 -msgid "already exists" +#: js/filelist.js:194 js/filelist.js:196 +msgid "{new_name} already exists" msgstr "" -#: js/filelist.js:190 js/filelist.js:192 +#: js/filelist.js:194 js/filelist.js:196 msgid "replace" msgstr "" -#: js/filelist.js:190 +#: js/filelist.js:194 msgid "suggest name" msgstr "" -#: js/filelist.js:190 js/filelist.js:192 +#: js/filelist.js:194 js/filelist.js:196 msgid "cancel" msgstr "" -#: js/filelist.js:239 js/filelist.js:241 -msgid "replaced" +#: js/filelist.js:243 +msgid "replaced {new_name}" msgstr "" -#: js/filelist.js:239 js/filelist.js:241 js/filelist.js:273 js/filelist.js:275 +#: js/filelist.js:243 js/filelist.js:245 js/filelist.js:277 js/filelist.js:279 msgid "undo" msgstr "" -#: js/filelist.js:241 -msgid "with" +#: js/filelist.js:245 +msgid "replaced {new_name} with {old_name}" msgstr "" -#: js/filelist.js:273 -msgid "unshared" +#: js/filelist.js:277 +msgid "unshared {files}" msgstr "" -#: js/filelist.js:275 -msgid "deleted" +#: js/filelist.js:279 +msgid "deleted {files}" msgstr "" #: js/files.js:179 msgid "generating ZIP-file, it may take some time." msgstr "" -#: js/files.js:208 +#: js/files.js:214 msgid "Unable to upload your file as it is a directory or has 0 bytes" msgstr "" -#: js/files.js:208 +#: js/files.js:214 msgid "Upload Error" msgstr "" -#: js/files.js:236 js/files.js:341 js/files.js:371 +#: js/files.js:242 js/files.js:347 js/files.js:377 msgid "Pending" msgstr "" -#: js/files.js:256 +#: js/files.js:262 msgid "1 file uploading" msgstr "" -#: js/files.js:259 js/files.js:304 js/files.js:319 -msgid "files uploading" +#: js/files.js:265 js/files.js:310 js/files.js:325 +msgid "{count} files uploading" msgstr "" -#: js/files.js:322 js/files.js:355 +#: js/files.js:328 js/files.js:361 msgid "Upload cancelled." msgstr "" -#: js/files.js:424 +#: js/files.js:430 msgid "" "File upload is in progress. Leaving the page now will cancel the upload." msgstr "" -#: js/files.js:494 +#: js/files.js:500 msgid "Invalid name, '/' is not allowed." msgstr "" -#: js/files.js:667 -msgid "files scanned" +#: js/files.js:681 +msgid "{count} files scanned" msgstr "" -#: js/files.js:675 +#: js/files.js:689 msgid "error while scanning" msgstr "" -#: js/files.js:748 templates/index.php:48 +#: js/files.js:762 templates/index.php:48 msgid "Name" msgstr "" -#: js/files.js:749 templates/index.php:56 +#: js/files.js:763 templates/index.php:56 msgid "Size" msgstr "" -#: js/files.js:750 templates/index.php:58 +#: js/files.js:764 templates/index.php:58 msgid "Modified" msgstr "" -#: js/files.js:777 -msgid "folder" +#: js/files.js:791 +msgid "1 folder" msgstr "" -#: js/files.js:779 -msgid "folders" +#: js/files.js:793 +msgid "{count} folders" msgstr "" -#: js/files.js:787 -msgid "file" +#: js/files.js:801 +msgid "1 file" msgstr "" -#: js/files.js:789 -msgid "files" +#: js/files.js:803 +msgid "{count} files" msgstr "" -#: js/files.js:833 +#: js/files.js:846 msgid "seconds ago" msgstr "" -#: js/files.js:834 -msgid "minute ago" +#: js/files.js:847 +msgid "1 minute ago" msgstr "" -#: js/files.js:835 -msgid "minutes ago" +#: js/files.js:848 +msgid "{minutes} minutes ago" msgstr "" -#: js/files.js:838 +#: js/files.js:851 msgid "today" msgstr "" -#: js/files.js:839 +#: js/files.js:852 msgid "yesterday" msgstr "" -#: js/files.js:840 -msgid "days ago" +#: js/files.js:853 +msgid "{days} days ago" msgstr "" -#: js/files.js:841 +#: js/files.js:854 msgid "last month" msgstr "" -#: js/files.js:843 +#: js/files.js:856 msgid "months ago" msgstr "" -#: js/files.js:844 +#: js/files.js:857 msgid "last year" msgstr "" -#: js/files.js:845 +#: js/files.js:858 msgid "years ago" msgstr "" diff --git a/l10n/so/files_odfviewer.po b/l10n/so/files_odfviewer.po deleted file mode 100644 index 614758a322f689a2711d95b795fe2ce6e3fbd873..0000000000000000000000000000000000000000 --- a/l10n/so/files_odfviewer.po +++ /dev/null @@ -1,22 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 02:18+0200\n" -"PO-Revision-Date: 2012-08-26 00:19+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Somali (http://www.transifex.com/projects/p/owncloud/language/so/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: so\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: js/viewer.js:9 -msgid "Close" -msgstr "" diff --git a/l10n/so/files_pdfviewer.po b/l10n/so/files_pdfviewer.po deleted file mode 100644 index 05e648c741f4eb88812422b10764874a6404583a..0000000000000000000000000000000000000000 --- a/l10n/so/files_pdfviewer.po +++ /dev/null @@ -1,42 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 02:18+0200\n" -"PO-Revision-Date: 2012-08-26 00:19+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Somali (http://www.transifex.com/projects/p/owncloud/language/so/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: so\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: js/viewer.js:22 -msgid "Previous" -msgstr "" - -#: js/viewer.js:23 -msgid "Next" -msgstr "" - -#: js/viewer.js:29 -msgid "Page Width" -msgstr "" - -#: js/viewer.js:29 -msgid "Page Fit" -msgstr "" - -#: js/viewer.js:30 -msgid "Print" -msgstr "" - -#: js/viewer.js:32 -msgid "Download" -msgstr "" diff --git a/l10n/so/files_texteditor.po b/l10n/so/files_texteditor.po deleted file mode 100644 index aa6aad47d716d9eda3875fb0cfc5c605dd65a2f0..0000000000000000000000000000000000000000 --- a/l10n/so/files_texteditor.po +++ /dev/null @@ -1,44 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 01:17+0200\n" -"PO-Revision-Date: 2012-08-25 23:18+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Somali (http://www.transifex.com/projects/p/owncloud/language/so/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: so\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: js/aceeditor/mode-coldfusion-uncompressed.js:1568 -#: js/aceeditor/mode-liquid-uncompressed.js:902 -#: js/aceeditor/mode-svg-uncompressed.js:1575 -msgid "regex" -msgstr "" - -#: js/editor.js:72 js/editor.js:156 js/editor.js:163 -msgid "Save" -msgstr "" - -#: js/editor.js:74 -msgid "Close" -msgstr "" - -#: js/editor.js:149 -msgid "Saving..." -msgstr "" - -#: js/editor.js:239 -msgid "An error occurred!" -msgstr "" - -#: js/editor.js:266 -msgid "There were unsaved changes, click here to go back" -msgstr "" diff --git a/l10n/so/gallery.po b/l10n/so/gallery.po deleted file mode 100644 index e520c32b94841c39dc609ff075ee87cd6be2c914..0000000000000000000000000000000000000000 --- a/l10n/so/gallery.po +++ /dev/null @@ -1,58 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-07-26 08:03+0200\n" -"PO-Revision-Date: 2012-07-25 19:30+0000\n" -"Last-Translator: owncloud_robot \n" -"Language-Team: Somali (http://www.transifex.com/projects/p/owncloud/language/so/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: so\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: appinfo/app.php:39 -msgid "Pictures" -msgstr "" - -#: js/pictures.js:12 -msgid "Share gallery" -msgstr "" - -#: js/pictures.js:32 -msgid "Error: " -msgstr "" - -#: js/pictures.js:32 -msgid "Internal error" -msgstr "" - -#: templates/index.php:27 -msgid "Slideshow" -msgstr "" - -#: templates/view_album.php:19 -msgid "Back" -msgstr "" - -#: templates/view_album.php:36 -msgid "Remove confirmation" -msgstr "" - -#: templates/view_album.php:37 -msgid "Do you want to remove album" -msgstr "" - -#: templates/view_album.php:40 -msgid "Change album name" -msgstr "" - -#: templates/view_album.php:43 -msgid "New album name" -msgstr "" diff --git a/l10n/so/impress.po b/l10n/so/impress.po deleted file mode 100644 index 47c6506daecdbdcadec9422781e140b30c5f6197..0000000000000000000000000000000000000000 --- a/l10n/so/impress.po +++ /dev/null @@ -1,22 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 01:17+0200\n" -"PO-Revision-Date: 2012-08-25 23:18+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Somali (http://www.transifex.com/projects/p/owncloud/language/so/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: so\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: templates/presentations.php:7 -msgid "Documentation" -msgstr "" diff --git a/l10n/so/media.po b/l10n/so/media.po deleted file mode 100644 index ed91c8d409b13b975c1ff312f6b3cdb79b447fee..0000000000000000000000000000000000000000 --- a/l10n/so/media.po +++ /dev/null @@ -1,66 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-07-26 08:03+0200\n" -"PO-Revision-Date: 2011-08-13 02:19+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Somali (http://www.transifex.com/projects/p/owncloud/language/so/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: so\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: appinfo/app.php:45 templates/player.php:8 -msgid "Music" -msgstr "" - -#: js/music.js:18 -msgid "Add album to playlist" -msgstr "" - -#: templates/music.php:3 templates/player.php:12 -msgid "Play" -msgstr "" - -#: templates/music.php:4 templates/music.php:26 templates/player.php:13 -msgid "Pause" -msgstr "" - -#: templates/music.php:5 -msgid "Previous" -msgstr "" - -#: templates/music.php:6 templates/player.php:14 -msgid "Next" -msgstr "" - -#: templates/music.php:7 -msgid "Mute" -msgstr "" - -#: templates/music.php:8 -msgid "Unmute" -msgstr "" - -#: templates/music.php:25 -msgid "Rescan Collection" -msgstr "" - -#: templates/music.php:37 -msgid "Artist" -msgstr "" - -#: templates/music.php:38 -msgid "Album" -msgstr "" - -#: templates/music.php:39 -msgid "Title" -msgstr "" diff --git a/l10n/so/tasks.po b/l10n/so/tasks.po deleted file mode 100644 index 3b036ed9b2ba5ec79f895bc2fdc21f7bbf61e2f6..0000000000000000000000000000000000000000 --- a/l10n/so/tasks.po +++ /dev/null @@ -1,106 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:44+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Somali (http://www.transifex.com/projects/p/owncloud/language/so/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: so\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: ajax/update_property.php:51 lib/app.php:89 lib/app.php:101 -msgid "Invalid date/time" -msgstr "" - -#: appinfo/app.php:11 -msgid "Tasks" -msgstr "" - -#: js/tasks.js:415 -msgid "No category" -msgstr "" - -#: lib/app.php:33 -msgid "Unspecified" -msgstr "" - -#: lib/app.php:34 -msgid "1=highest" -msgstr "" - -#: lib/app.php:38 -msgid "5=medium" -msgstr "" - -#: lib/app.php:42 -msgid "9=lowest" -msgstr "" - -#: lib/app.php:81 -msgid "Empty Summary" -msgstr "" - -#: lib/app.php:93 -msgid "Invalid percent complete" -msgstr "" - -#: lib/app.php:107 -msgid "Invalid priority" -msgstr "" - -#: templates/tasks.php:3 -msgid "Add Task" -msgstr "" - -#: templates/tasks.php:4 -msgid "Order Due" -msgstr "" - -#: templates/tasks.php:5 -msgid "Order List" -msgstr "" - -#: templates/tasks.php:6 -msgid "Order Complete" -msgstr "" - -#: templates/tasks.php:7 -msgid "Order Location" -msgstr "" - -#: templates/tasks.php:8 -msgid "Order Priority" -msgstr "" - -#: templates/tasks.php:9 -msgid "Order Label" -msgstr "" - -#: templates/tasks.php:16 -msgid "Loading tasks..." -msgstr "" - -#: templates/tasks.php:20 -msgid "Important" -msgstr "" - -#: templates/tasks.php:23 -msgid "More" -msgstr "" - -#: templates/tasks.php:26 -msgid "Less" -msgstr "" - -#: templates/tasks.php:29 -msgid "Delete" -msgstr "" diff --git a/l10n/so/user_migrate.po b/l10n/so/user_migrate.po deleted file mode 100644 index 40d3c1c0733f1718e246c6a15183c00d3538e0dd..0000000000000000000000000000000000000000 --- a/l10n/so/user_migrate.po +++ /dev/null @@ -1,51 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:45+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Somali (http://www.transifex.com/projects/p/owncloud/language/so/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: so\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: js/export.js:14 js/export.js:20 -msgid "Export" -msgstr "" - -#: js/export.js:19 -msgid "Something went wrong while the export file was being generated" -msgstr "" - -#: js/export.js:19 -msgid "An error has occurred" -msgstr "" - -#: templates/settings.php:2 -msgid "Export your user account" -msgstr "" - -#: templates/settings.php:3 -msgid "" -"This will create a compressed file that contains your ownCloud account." -msgstr "" - -#: templates/settings.php:13 -msgid "Import user account" -msgstr "" - -#: templates/settings.php:15 -msgid "ownCloud User Zip" -msgstr "" - -#: templates/settings.php:17 -msgid "Import" -msgstr "" diff --git a/l10n/so/user_openid.po b/l10n/so/user_openid.po deleted file mode 100644 index 2001365d2d263617c4b869b285da46093a20a6b8..0000000000000000000000000000000000000000 --- a/l10n/so/user_openid.po +++ /dev/null @@ -1,54 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:45+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Somali (http://www.transifex.com/projects/p/owncloud/language/so/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: so\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: templates/nomode.php:12 -msgid "This is an OpenID server endpoint. For more information, see " -msgstr "" - -#: templates/nomode.php:14 -msgid "Identity: " -msgstr "" - -#: templates/nomode.php:15 -msgid "Realm: " -msgstr "" - -#: templates/nomode.php:16 -msgid "User: " -msgstr "" - -#: templates/nomode.php:17 -msgid "Login" -msgstr "" - -#: templates/nomode.php:22 -msgid "Error: No user Selected" -msgstr "" - -#: templates/settings.php:4 -msgid "you can authenticate to other sites with this address" -msgstr "" - -#: templates/settings.php:5 -msgid "Authorized OpenID provider" -msgstr "" - -#: templates/settings.php:6 -msgid "Your address at Wordpress, Identi.ca, …" -msgstr "" diff --git a/l10n/sq/core.po b/l10n/sq/core.po new file mode 100644 index 0000000000000000000000000000000000000000..57c778722b2d0ef9822ed6e98466888499b197d3 --- /dev/null +++ b/l10n/sq/core.po @@ -0,0 +1,539 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: ownCloud\n" +"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" +"POT-Creation-Date: 2012-11-27 00:10+0100\n" +"PO-Revision-Date: 2011-07-25 16:05+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Albanian (http://www.transifex.com/projects/p/owncloud/language/sq/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: sq\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ajax/vcategories/add.php:26 ajax/vcategories/edit.php:25 +msgid "Category type not provided." +msgstr "" + +#: ajax/vcategories/add.php:30 +msgid "No category to add?" +msgstr "" + +#: ajax/vcategories/add.php:37 +msgid "This category already exists: " +msgstr "" + +#: ajax/vcategories/addToFavorites.php:26 ajax/vcategories/delete.php:27 +#: ajax/vcategories/favorites.php:24 +#: ajax/vcategories/removeFromFavorites.php:26 +msgid "Object type not provided." +msgstr "" + +#: ajax/vcategories/addToFavorites.php:30 +#: ajax/vcategories/removeFromFavorites.php:30 +#, php-format +msgid "%s ID not provided." +msgstr "" + +#: ajax/vcategories/addToFavorites.php:35 +#, php-format +msgid "Error adding %s to favorites." +msgstr "" + +#: ajax/vcategories/delete.php:35 js/oc-vcategories.js:136 +msgid "No categories selected for deletion." +msgstr "" + +#: ajax/vcategories/removeFromFavorites.php:35 +#, php-format +msgid "Error removing %s from favorites." +msgstr "" + +#: js/js.js:259 templates/layout.user.php:60 templates/layout.user.php:61 +msgid "Settings" +msgstr "" + +#: js/js.js:704 +msgid "seconds ago" +msgstr "" + +#: js/js.js:705 +msgid "1 minute ago" +msgstr "" + +#: js/js.js:706 +msgid "{minutes} minutes ago" +msgstr "" + +#: js/js.js:707 +msgid "1 hour ago" +msgstr "" + +#: js/js.js:708 +msgid "{hours} hours ago" +msgstr "" + +#: js/js.js:709 +msgid "today" +msgstr "" + +#: js/js.js:710 +msgid "yesterday" +msgstr "" + +#: js/js.js:711 +msgid "{days} days ago" +msgstr "" + +#: js/js.js:712 +msgid "last month" +msgstr "" + +#: js/js.js:713 +msgid "{months} months ago" +msgstr "" + +#: js/js.js:714 +msgid "months ago" +msgstr "" + +#: js/js.js:715 +msgid "last year" +msgstr "" + +#: js/js.js:716 +msgid "years ago" +msgstr "" + +#: js/oc-dialogs.js:126 +msgid "Choose" +msgstr "" + +#: js/oc-dialogs.js:146 js/oc-dialogs.js:166 +msgid "Cancel" +msgstr "" + +#: js/oc-dialogs.js:162 +msgid "No" +msgstr "" + +#: js/oc-dialogs.js:163 +msgid "Yes" +msgstr "" + +#: js/oc-dialogs.js:180 +msgid "Ok" +msgstr "" + +#: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102 +#: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162 +msgid "The object type is not specified." +msgstr "" + +#: js/oc-vcategories.js:95 js/oc-vcategories.js:125 js/oc-vcategories.js:136 +#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:533 +#: js/share.js:545 +msgid "Error" +msgstr "" + +#: js/oc-vcategories.js:179 +msgid "The app name is not specified." +msgstr "" + +#: js/oc-vcategories.js:194 +msgid "The required file {file} is not installed!" +msgstr "" + +#: js/share.js:124 +msgid "Error while sharing" +msgstr "" + +#: js/share.js:135 +msgid "Error while unsharing" +msgstr "" + +#: js/share.js:142 +msgid "Error while changing permissions" +msgstr "" + +#: js/share.js:151 +msgid "Shared with you and the group {group} by {owner}" +msgstr "" + +#: js/share.js:153 +msgid "Shared with you by {owner}" +msgstr "" + +#: js/share.js:158 +msgid "Share with" +msgstr "" + +#: js/share.js:163 +msgid "Share with link" +msgstr "" + +#: js/share.js:164 +msgid "Password protect" +msgstr "" + +#: js/share.js:168 templates/installation.php:42 templates/login.php:24 +#: templates/verify.php:13 +msgid "Password" +msgstr "" + +#: js/share.js:173 +msgid "Set expiration date" +msgstr "" + +#: js/share.js:174 +msgid "Expiration date" +msgstr "" + +#: js/share.js:206 +msgid "Share via email:" +msgstr "" + +#: js/share.js:208 +msgid "No people found" +msgstr "" + +#: js/share.js:235 +msgid "Resharing is not allowed" +msgstr "" + +#: js/share.js:271 +msgid "Shared in {item} with {user}" +msgstr "" + +#: js/share.js:292 +msgid "Unshare" +msgstr "" + +#: js/share.js:304 +msgid "can edit" +msgstr "" + +#: js/share.js:306 +msgid "access control" +msgstr "" + +#: js/share.js:309 +msgid "create" +msgstr "" + +#: js/share.js:312 +msgid "update" +msgstr "" + +#: js/share.js:315 +msgid "delete" +msgstr "" + +#: js/share.js:318 +msgid "share" +msgstr "" + +#: js/share.js:349 js/share.js:520 js/share.js:522 +msgid "Password protected" +msgstr "" + +#: js/share.js:533 +msgid "Error unsetting expiration date" +msgstr "" + +#: js/share.js:545 +msgid "Error setting expiration date" +msgstr "" + +#: lostpassword/controller.php:47 +msgid "ownCloud password reset" +msgstr "" + +#: lostpassword/templates/email.php:2 +msgid "Use the following link to reset your password: {link}" +msgstr "" + +#: lostpassword/templates/lostpassword.php:3 +msgid "You will receive a link to reset your password via Email." +msgstr "" + +#: lostpassword/templates/lostpassword.php:5 +msgid "Reset email send." +msgstr "" + +#: lostpassword/templates/lostpassword.php:8 +msgid "Request failed!" +msgstr "" + +#: lostpassword/templates/lostpassword.php:11 templates/installation.php:38 +#: templates/login.php:20 +msgid "Username" +msgstr "" + +#: lostpassword/templates/lostpassword.php:14 +msgid "Request reset" +msgstr "" + +#: lostpassword/templates/resetpassword.php:4 +msgid "Your password was reset" +msgstr "" + +#: lostpassword/templates/resetpassword.php:5 +msgid "To login page" +msgstr "" + +#: lostpassword/templates/resetpassword.php:8 +msgid "New password" +msgstr "" + +#: lostpassword/templates/resetpassword.php:11 +msgid "Reset password" +msgstr "" + +#: strings.php:5 +msgid "Personal" +msgstr "" + +#: strings.php:6 +msgid "Users" +msgstr "" + +#: strings.php:7 +msgid "Apps" +msgstr "" + +#: strings.php:8 +msgid "Admin" +msgstr "" + +#: strings.php:9 +msgid "Help" +msgstr "" + +#: templates/403.php:12 +msgid "Access forbidden" +msgstr "" + +#: templates/404.php:12 +msgid "Cloud not found" +msgstr "" + +#: templates/edit_categories_dialog.php:4 +msgid "Edit categories" +msgstr "" + +#: templates/edit_categories_dialog.php:16 +msgid "Add" +msgstr "" + +#: templates/installation.php:23 templates/installation.php:31 +msgid "Security Warning" +msgstr "" + +#: templates/installation.php:24 +msgid "" +"No secure random number generator is available, please enable the PHP " +"OpenSSL extension." +msgstr "" + +#: templates/installation.php:26 +msgid "" +"Without a secure random number generator an attacker may be able to predict " +"password reset tokens and take over your account." +msgstr "" + +#: templates/installation.php:32 +msgid "" +"Your data directory and your files are probably accessible from the " +"internet. The .htaccess file that ownCloud provides is not working. We " +"strongly suggest that you configure your webserver in a way that the data " +"directory is no longer accessible or you move the data directory outside the" +" webserver document root." +msgstr "" + +#: templates/installation.php:36 +msgid "Create an admin account" +msgstr "" + +#: templates/installation.php:48 +msgid "Advanced" +msgstr "" + +#: templates/installation.php:50 +msgid "Data folder" +msgstr "" + +#: templates/installation.php:57 +msgid "Configure the database" +msgstr "" + +#: templates/installation.php:62 templates/installation.php:73 +#: templates/installation.php:83 templates/installation.php:93 +msgid "will be used" +msgstr "" + +#: templates/installation.php:105 +msgid "Database user" +msgstr "" + +#: templates/installation.php:109 +msgid "Database password" +msgstr "" + +#: templates/installation.php:113 +msgid "Database name" +msgstr "" + +#: templates/installation.php:121 +msgid "Database tablespace" +msgstr "" + +#: templates/installation.php:127 +msgid "Database host" +msgstr "" + +#: templates/installation.php:132 +msgid "Finish setup" +msgstr "" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Sunday" +msgstr "" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Monday" +msgstr "" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Tuesday" +msgstr "" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Wednesday" +msgstr "" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Thursday" +msgstr "" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Friday" +msgstr "" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Saturday" +msgstr "" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "January" +msgstr "" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "February" +msgstr "" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "March" +msgstr "" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "April" +msgstr "" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "May" +msgstr "" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "June" +msgstr "" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "July" +msgstr "" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "August" +msgstr "" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "September" +msgstr "" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "October" +msgstr "" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "November" +msgstr "" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "December" +msgstr "" + +#: templates/layout.guest.php:42 +msgid "web services under your control" +msgstr "" + +#: templates/layout.user.php:45 +msgid "Log out" +msgstr "" + +#: templates/login.php:8 +msgid "Automatic logon rejected!" +msgstr "" + +#: templates/login.php:9 +msgid "" +"If you did not change your password recently, your account may be " +"compromised!" +msgstr "" + +#: templates/login.php:10 +msgid "Please change your password to secure your account again." +msgstr "" + +#: templates/login.php:15 +msgid "Lost your password?" +msgstr "" + +#: templates/login.php:27 +msgid "remember" +msgstr "" + +#: templates/login.php:28 +msgid "Log in" +msgstr "" + +#: templates/logout.php:1 +msgid "You are logged out." +msgstr "" + +#: templates/part.pagenavi.php:3 +msgid "prev" +msgstr "" + +#: templates/part.pagenavi.php:20 +msgid "next" +msgstr "" + +#: templates/verify.php:5 +msgid "Security Warning!" +msgstr "" + +#: templates/verify.php:6 +msgid "" +"Please verify your password.
For security reasons you may be " +"occasionally asked to enter your password again." +msgstr "" + +#: templates/verify.php:16 +msgid "Verify" +msgstr "" diff --git a/l10n/sq/files.po b/l10n/sq/files.po new file mode 100644 index 0000000000000000000000000000000000000000..c3bd0a632597b43feed8a96ba0b702826ba63b19 --- /dev/null +++ b/l10n/sq/files.po @@ -0,0 +1,266 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: ownCloud\n" +"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" +"POT-Creation-Date: 2012-12-01 00:01+0100\n" +"PO-Revision-Date: 2012-11-30 23:02+0000\n" +"Last-Translator: I Robot \n" +"Language-Team: Albanian (http://www.transifex.com/projects/p/owncloud/language/sq/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: sq\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ajax/upload.php:20 +msgid "There is no error, the file uploaded with success" +msgstr "" + +#: ajax/upload.php:21 +msgid "" +"The uploaded file exceeds the upload_max_filesize directive in php.ini: " +msgstr "" + +#: ajax/upload.php:23 +msgid "" +"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " +"the HTML form" +msgstr "" + +#: ajax/upload.php:25 +msgid "The uploaded file was only partially uploaded" +msgstr "" + +#: ajax/upload.php:26 +msgid "No file was uploaded" +msgstr "" + +#: ajax/upload.php:27 +msgid "Missing a temporary folder" +msgstr "" + +#: ajax/upload.php:28 +msgid "Failed to write to disk" +msgstr "" + +#: appinfo/app.php:10 +msgid "Files" +msgstr "" + +#: js/fileactions.js:117 templates/index.php:83 templates/index.php:84 +msgid "Unshare" +msgstr "" + +#: js/fileactions.js:119 templates/index.php:89 templates/index.php:90 +msgid "Delete" +msgstr "" + +#: js/fileactions.js:181 +msgid "Rename" +msgstr "" + +#: js/filelist.js:201 js/filelist.js:203 +msgid "{new_name} already exists" +msgstr "" + +#: js/filelist.js:201 js/filelist.js:203 +msgid "replace" +msgstr "" + +#: js/filelist.js:201 +msgid "suggest name" +msgstr "" + +#: js/filelist.js:201 js/filelist.js:203 +msgid "cancel" +msgstr "" + +#: js/filelist.js:250 +msgid "replaced {new_name}" +msgstr "" + +#: js/filelist.js:250 js/filelist.js:252 js/filelist.js:284 js/filelist.js:286 +msgid "undo" +msgstr "" + +#: js/filelist.js:252 +msgid "replaced {new_name} with {old_name}" +msgstr "" + +#: js/filelist.js:284 +msgid "unshared {files}" +msgstr "" + +#: js/filelist.js:286 +msgid "deleted {files}" +msgstr "" + +#: js/files.js:33 +msgid "" +"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not " +"allowed." +msgstr "" + +#: js/files.js:183 +msgid "generating ZIP-file, it may take some time." +msgstr "" + +#: js/files.js:218 +msgid "Unable to upload your file as it is a directory or has 0 bytes" +msgstr "" + +#: js/files.js:218 +msgid "Upload Error" +msgstr "" + +#: js/files.js:235 +msgid "Close" +msgstr "" + +#: js/files.js:254 js/files.js:368 js/files.js:398 +msgid "Pending" +msgstr "" + +#: js/files.js:274 +msgid "1 file uploading" +msgstr "" + +#: js/files.js:277 js/files.js:331 js/files.js:346 +msgid "{count} files uploading" +msgstr "" + +#: js/files.js:349 js/files.js:382 +msgid "Upload cancelled." +msgstr "" + +#: js/files.js:451 +msgid "" +"File upload is in progress. Leaving the page now will cancel the upload." +msgstr "" + +#: js/files.js:523 +msgid "Invalid folder name. Usage of \"Shared\" is reserved by Owncloud" +msgstr "" + +#: js/files.js:704 +msgid "{count} files scanned" +msgstr "" + +#: js/files.js:712 +msgid "error while scanning" +msgstr "" + +#: js/files.js:785 templates/index.php:65 +msgid "Name" +msgstr "" + +#: js/files.js:786 templates/index.php:76 +msgid "Size" +msgstr "" + +#: js/files.js:787 templates/index.php:78 +msgid "Modified" +msgstr "" + +#: js/files.js:814 +msgid "1 folder" +msgstr "" + +#: js/files.js:816 +msgid "{count} folders" +msgstr "" + +#: js/files.js:824 +msgid "1 file" +msgstr "" + +#: js/files.js:826 +msgid "{count} files" +msgstr "" + +#: templates/admin.php:5 +msgid "File handling" +msgstr "" + +#: templates/admin.php:7 +msgid "Maximum upload size" +msgstr "" + +#: templates/admin.php:9 +msgid "max. possible: " +msgstr "" + +#: templates/admin.php:12 +msgid "Needed for multi-file and folder downloads." +msgstr "" + +#: templates/admin.php:14 +msgid "Enable ZIP-download" +msgstr "" + +#: templates/admin.php:17 +msgid "0 is unlimited" +msgstr "" + +#: templates/admin.php:19 +msgid "Maximum input size for ZIP files" +msgstr "" + +#: templates/admin.php:23 +msgid "Save" +msgstr "" + +#: templates/index.php:7 +msgid "New" +msgstr "" + +#: templates/index.php:10 +msgid "Text file" +msgstr "" + +#: templates/index.php:12 +msgid "Folder" +msgstr "" + +#: templates/index.php:14 +msgid "From link" +msgstr "" + +#: templates/index.php:35 +msgid "Upload" +msgstr "" + +#: templates/index.php:43 +msgid "Cancel upload" +msgstr "" + +#: templates/index.php:57 +msgid "Nothing in here. Upload something!" +msgstr "" + +#: templates/index.php:71 +msgid "Download" +msgstr "" + +#: templates/index.php:103 +msgid "Upload too large" +msgstr "" + +#: templates/index.php:105 +msgid "" +"The files you are trying to upload exceed the maximum size for file uploads " +"on this server." +msgstr "" + +#: templates/index.php:110 +msgid "Files are being scanned, please wait." +msgstr "" + +#: templates/index.php:113 +msgid "Current scanning" +msgstr "" diff --git a/l10n/fa/admin_migrate.po b/l10n/sq/files_encryption.po similarity index 52% rename from l10n/fa/admin_migrate.po rename to l10n/sq/files_encryption.po index 6b80ec8ecafaef00a3ffcd7074122dcd0630258c..e62739f8f212a605b8e6bf6ebab042c1295f8bdb 100644 --- a/l10n/fa/admin_migrate.po +++ b/l10n/sq/files_encryption.po @@ -7,26 +7,28 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:32+0000\n" +"POT-Creation-Date: 2012-11-27 00:09+0100\n" +"PO-Revision-Date: 2012-08-12 22:33+0000\n" "Last-Translator: FULL NAME \n" -"Language-Team: Persian (http://www.transifex.com/projects/p/owncloud/language/fa/)\n" +"Language-Team: Albanian (http://www.transifex.com/projects/p/owncloud/language/sq/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: fa\n" -"Plural-Forms: nplurals=1; plural=0\n" +"Language: sq\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" #: templates/settings.php:3 -msgid "Export this ownCloud instance" +msgid "Encryption" msgstr "" #: templates/settings.php:4 -msgid "" -"This will create a compressed file that contains the data of this owncloud instance.\n" -" Please choose the export type:" +msgid "Exclude the following file types from encryption" +msgstr "" + +#: templates/settings.php:5 +msgid "None" msgstr "" -#: templates/settings.php:12 -msgid "Export" +#: templates/settings.php:10 +msgid "Enable Encryption" msgstr "" diff --git a/l10n/sq/files_external.po b/l10n/sq/files_external.po new file mode 100644 index 0000000000000000000000000000000000000000..970b1cf680f9d9054d266d7f9376be0c3044cada --- /dev/null +++ b/l10n/sq/files_external.po @@ -0,0 +1,120 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: ownCloud\n" +"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" +"POT-Creation-Date: 2012-12-12 00:12+0100\n" +"PO-Revision-Date: 2012-12-11 23:13+0000\n" +"Last-Translator: I Robot \n" +"Language-Team: Albanian (http://www.transifex.com/projects/p/owncloud/language/sq/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: sq\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: js/dropbox.js:7 js/dropbox.js:25 js/google.js:7 js/google.js:23 +msgid "Access granted" +msgstr "" + +#: js/dropbox.js:28 js/dropbox.js:74 js/dropbox.js:79 js/dropbox.js:86 +msgid "Error configuring Dropbox storage" +msgstr "" + +#: js/dropbox.js:34 js/dropbox.js:45 js/google.js:31 js/google.js:40 +msgid "Grant access" +msgstr "" + +#: js/dropbox.js:73 js/google.js:72 +msgid "Fill out all required fields" +msgstr "" + +#: js/dropbox.js:85 +msgid "Please provide a valid Dropbox app key and secret." +msgstr "" + +#: js/google.js:26 js/google.js:73 js/google.js:78 +msgid "Error configuring Google Drive storage" +msgstr "" + +#: lib/config.php:434 +msgid "" +"Warning: \"smbclient\" is not installed. Mounting of CIFS/SMB shares " +"is not possible. Please ask your system administrator to install it." +msgstr "" + +#: lib/config.php:435 +msgid "" +"Warning: The FTP support in PHP is not enabled or installed. Mounting" +" of FTP shares is not possible. Please ask your system administrator to " +"install it." +msgstr "" + +#: templates/settings.php:3 +msgid "External Storage" +msgstr "" + +#: templates/settings.php:8 templates/settings.php:22 +msgid "Mount point" +msgstr "" + +#: templates/settings.php:9 +msgid "Backend" +msgstr "" + +#: templates/settings.php:10 +msgid "Configuration" +msgstr "" + +#: templates/settings.php:11 +msgid "Options" +msgstr "" + +#: templates/settings.php:12 +msgid "Applicable" +msgstr "" + +#: templates/settings.php:27 +msgid "Add mount point" +msgstr "" + +#: templates/settings.php:85 +msgid "None set" +msgstr "" + +#: templates/settings.php:86 +msgid "All Users" +msgstr "" + +#: templates/settings.php:87 +msgid "Groups" +msgstr "" + +#: templates/settings.php:95 +msgid "Users" +msgstr "" + +#: templates/settings.php:108 templates/settings.php:109 +#: templates/settings.php:149 templates/settings.php:150 +msgid "Delete" +msgstr "" + +#: templates/settings.php:124 +msgid "Enable User External Storage" +msgstr "" + +#: templates/settings.php:125 +msgid "Allow users to mount their own external storage" +msgstr "" + +#: templates/settings.php:139 +msgid "SSL root certificates" +msgstr "" + +#: templates/settings.php:158 +msgid "Import Root Certificate" +msgstr "" diff --git a/l10n/sq/files_sharing.po b/l10n/sq/files_sharing.po new file mode 100644 index 0000000000000000000000000000000000000000..110e4b2ac2b02defe4713356883cad5c39452f29 --- /dev/null +++ b/l10n/sq/files_sharing.po @@ -0,0 +1,48 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: ownCloud\n" +"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" +"POT-Creation-Date: 2012-11-27 00:10+0100\n" +"PO-Revision-Date: 2012-08-12 22:35+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Albanian (http://www.transifex.com/projects/p/owncloud/language/sq/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: sq\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: templates/authenticate.php:4 +msgid "Password" +msgstr "" + +#: templates/authenticate.php:6 +msgid "Submit" +msgstr "" + +#: templates/public.php:17 +#, php-format +msgid "%s shared the folder %s with you" +msgstr "" + +#: templates/public.php:19 +#, php-format +msgid "%s shared the file %s with you" +msgstr "" + +#: templates/public.php:22 templates/public.php:38 +msgid "Download" +msgstr "" + +#: templates/public.php:37 +msgid "No preview available for" +msgstr "" + +#: templates/public.php:43 +msgid "web services under your control" +msgstr "" diff --git a/l10n/sq/files_versions.po b/l10n/sq/files_versions.po new file mode 100644 index 0000000000000000000000000000000000000000..97616a406363044c6ee44ff13ec96088ab57edbf --- /dev/null +++ b/l10n/sq/files_versions.po @@ -0,0 +1,42 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: ownCloud\n" +"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" +"POT-Creation-Date: 2012-11-27 00:10+0100\n" +"PO-Revision-Date: 2012-08-12 22:37+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Albanian (http://www.transifex.com/projects/p/owncloud/language/sq/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: sq\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: js/settings-personal.js:31 templates/settings-personal.php:10 +msgid "Expire all versions" +msgstr "" + +#: js/versions.js:16 +msgid "History" +msgstr "" + +#: templates/settings-personal.php:4 +msgid "Versions" +msgstr "" + +#: templates/settings-personal.php:7 +msgid "This will delete all existing backup versions of your files" +msgstr "" + +#: templates/settings.php:3 +msgid "Files Versioning" +msgstr "" + +#: templates/settings.php:4 +msgid "Enable" +msgstr "" diff --git a/l10n/sq/lib.po b/l10n/sq/lib.po new file mode 100644 index 0000000000000000000000000000000000000000..431a0e3c621f649327ba5c9904537bd8639647c1 --- /dev/null +++ b/l10n/sq/lib.po @@ -0,0 +1,152 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: ownCloud\n" +"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" +"POT-Creation-Date: 2012-11-27 00:10+0100\n" +"PO-Revision-Date: 2012-07-27 22:23+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Albanian (http://www.transifex.com/projects/p/owncloud/language/sq/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: sq\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: app.php:285 +msgid "Help" +msgstr "" + +#: app.php:292 +msgid "Personal" +msgstr "" + +#: app.php:297 +msgid "Settings" +msgstr "" + +#: app.php:302 +msgid "Users" +msgstr "" + +#: app.php:309 +msgid "Apps" +msgstr "" + +#: app.php:311 +msgid "Admin" +msgstr "" + +#: files.php:361 +msgid "ZIP download is turned off." +msgstr "" + +#: files.php:362 +msgid "Files need to be downloaded one by one." +msgstr "" + +#: files.php:362 files.php:387 +msgid "Back to Files" +msgstr "" + +#: files.php:386 +msgid "Selected files too large to generate zip file." +msgstr "" + +#: json.php:28 +msgid "Application is not enabled" +msgstr "" + +#: json.php:39 json.php:64 json.php:77 json.php:89 +msgid "Authentication error" +msgstr "" + +#: json.php:51 +msgid "Token expired. Please reload page." +msgstr "" + +#: search/provider/file.php:17 search/provider/file.php:35 +msgid "Files" +msgstr "" + +#: search/provider/file.php:26 search/provider/file.php:33 +msgid "Text" +msgstr "" + +#: search/provider/file.php:29 +msgid "Images" +msgstr "" + +#: template.php:103 +msgid "seconds ago" +msgstr "" + +#: template.php:104 +msgid "1 minute ago" +msgstr "" + +#: template.php:105 +#, php-format +msgid "%d minutes ago" +msgstr "" + +#: template.php:106 +msgid "1 hour ago" +msgstr "" + +#: template.php:107 +#, php-format +msgid "%d hours ago" +msgstr "" + +#: template.php:108 +msgid "today" +msgstr "" + +#: template.php:109 +msgid "yesterday" +msgstr "" + +#: template.php:110 +#, php-format +msgid "%d days ago" +msgstr "" + +#: template.php:111 +msgid "last month" +msgstr "" + +#: template.php:112 +#, php-format +msgid "%d months ago" +msgstr "" + +#: template.php:113 +msgid "last year" +msgstr "" + +#: template.php:114 +msgid "years ago" +msgstr "" + +#: updater.php:75 +#, php-format +msgid "%s is available. Get more information" +msgstr "" + +#: updater.php:77 +msgid "up to date" +msgstr "" + +#: updater.php:80 +msgid "updates check is disabled" +msgstr "" + +#: vcategories.php:188 vcategories.php:249 +#, php-format +msgid "Could not find category \"%s\"" +msgstr "" diff --git a/l10n/sq/settings.po b/l10n/sq/settings.po new file mode 100644 index 0000000000000000000000000000000000000000..8857016c2689a0e9b282cdd1336396403b04c6dd --- /dev/null +++ b/l10n/sq/settings.po @@ -0,0 +1,247 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: ownCloud\n" +"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" +"POT-Creation-Date: 2012-12-03 00:04+0100\n" +"PO-Revision-Date: 2012-12-02 03:18+0000\n" +"Last-Translator: I Robot \n" +"Language-Team: Albanian (http://www.transifex.com/projects/p/owncloud/language/sq/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: sq\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ajax/apps/ocs.php:20 +msgid "Unable to load list from App Store" +msgstr "" + +#: ajax/creategroup.php:10 +msgid "Group already exists" +msgstr "" + +#: ajax/creategroup.php:19 +msgid "Unable to add group" +msgstr "" + +#: ajax/enableapp.php:12 +msgid "Could not enable app. " +msgstr "" + +#: ajax/lostpassword.php:12 +msgid "Email saved" +msgstr "" + +#: ajax/lostpassword.php:14 +msgid "Invalid email" +msgstr "" + +#: ajax/openid.php:13 +msgid "OpenID Changed" +msgstr "" + +#: ajax/openid.php:15 ajax/setlanguage.php:17 ajax/setlanguage.php:20 +msgid "Invalid request" +msgstr "" + +#: ajax/removegroup.php:13 +msgid "Unable to delete group" +msgstr "" + +#: ajax/removeuser.php:15 ajax/setquota.php:15 ajax/togglegroups.php:18 +msgid "Authentication error" +msgstr "" + +#: ajax/removeuser.php:24 +msgid "Unable to delete user" +msgstr "" + +#: ajax/setlanguage.php:15 +msgid "Language changed" +msgstr "" + +#: ajax/togglegroups.php:12 +msgid "Admins can't remove themself from the admin group" +msgstr "" + +#: ajax/togglegroups.php:28 +#, php-format +msgid "Unable to add user to group %s" +msgstr "" + +#: ajax/togglegroups.php:34 +#, php-format +msgid "Unable to remove user from group %s" +msgstr "" + +#: js/apps.js:28 js/apps.js:67 +msgid "Disable" +msgstr "" + +#: js/apps.js:28 js/apps.js:55 +msgid "Enable" +msgstr "" + +#: js/personal.js:69 +msgid "Saving..." +msgstr "" + +#: personal.php:42 personal.php:43 +msgid "__language_name__" +msgstr "" + +#: templates/apps.php:10 +msgid "Add your App" +msgstr "" + +#: templates/apps.php:11 +msgid "More Apps" +msgstr "" + +#: templates/apps.php:27 +msgid "Select an App" +msgstr "" + +#: templates/apps.php:31 +msgid "See application page at apps.owncloud.com" +msgstr "" + +#: templates/apps.php:32 +msgid "-licensed by " +msgstr "" + +#: templates/help.php:9 +msgid "Documentation" +msgstr "" + +#: templates/help.php:10 +msgid "Managing Big Files" +msgstr "" + +#: templates/help.php:11 +msgid "Ask a question" +msgstr "" + +#: templates/help.php:22 +msgid "Problems connecting to help database." +msgstr "" + +#: templates/help.php:23 +msgid "Go there manually." +msgstr "" + +#: templates/help.php:31 +msgid "Answer" +msgstr "" + +#: templates/personal.php:8 +#, php-format +msgid "You have used %s of the available %s" +msgstr "" + +#: templates/personal.php:12 +msgid "Desktop and Mobile Syncing Clients" +msgstr "" + +#: templates/personal.php:13 +msgid "Download" +msgstr "" + +#: templates/personal.php:19 +msgid "Your password was changed" +msgstr "" + +#: templates/personal.php:20 +msgid "Unable to change your password" +msgstr "" + +#: templates/personal.php:21 +msgid "Current password" +msgstr "" + +#: templates/personal.php:22 +msgid "New password" +msgstr "" + +#: templates/personal.php:23 +msgid "show" +msgstr "" + +#: templates/personal.php:24 +msgid "Change password" +msgstr "" + +#: templates/personal.php:30 +msgid "Email" +msgstr "" + +#: templates/personal.php:31 +msgid "Your email address" +msgstr "" + +#: templates/personal.php:32 +msgid "Fill in an email address to enable password recovery" +msgstr "" + +#: templates/personal.php:38 templates/personal.php:39 +msgid "Language" +msgstr "" + +#: templates/personal.php:44 +msgid "Help translate" +msgstr "" + +#: templates/personal.php:51 +msgid "use this address to connect to your ownCloud in your file manager" +msgstr "" + +#: templates/personal.php:61 +msgid "" +"Developed by the ownCloud community, the source code is " +"licensed under the AGPL." +msgstr "" + +#: templates/users.php:21 templates/users.php:76 +msgid "Name" +msgstr "" + +#: templates/users.php:23 templates/users.php:77 +msgid "Password" +msgstr "" + +#: templates/users.php:26 templates/users.php:78 templates/users.php:98 +msgid "Groups" +msgstr "" + +#: templates/users.php:32 +msgid "Create" +msgstr "" + +#: templates/users.php:35 +msgid "Default Quota" +msgstr "" + +#: templates/users.php:55 templates/users.php:138 +msgid "Other" +msgstr "" + +#: templates/users.php:80 templates/users.php:112 +msgid "Group Admin" +msgstr "" + +#: templates/users.php:82 +msgid "Quota" +msgstr "" + +#: templates/users.php:146 +msgid "Delete" +msgstr "" diff --git a/l10n/sq/user_ldap.po b/l10n/sq/user_ldap.po new file mode 100644 index 0000000000000000000000000000000000000000..16fd4ec4207bcf8a6aa1f3f2d0a0df1cc0e527f1 --- /dev/null +++ b/l10n/sq/user_ldap.po @@ -0,0 +1,170 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: ownCloud\n" +"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" +"POT-Creation-Date: 2012-11-27 00:10+0100\n" +"PO-Revision-Date: 2012-08-12 22:45+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Albanian (http://www.transifex.com/projects/p/owncloud/language/sq/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: sq\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: templates/settings.php:8 +msgid "Host" +msgstr "" + +#: templates/settings.php:8 +msgid "" +"You can omit the protocol, except you require SSL. Then start with ldaps://" +msgstr "" + +#: templates/settings.php:9 +msgid "Base DN" +msgstr "" + +#: templates/settings.php:9 +msgid "You can specify Base DN for users and groups in the Advanced tab" +msgstr "" + +#: templates/settings.php:10 +msgid "User DN" +msgstr "" + +#: templates/settings.php:10 +msgid "" +"The DN of the client user with which the bind shall be done, e.g. " +"uid=agent,dc=example,dc=com. For anonymous access, leave DN and Password " +"empty." +msgstr "" + +#: templates/settings.php:11 +msgid "Password" +msgstr "" + +#: templates/settings.php:11 +msgid "For anonymous access, leave DN and Password empty." +msgstr "" + +#: templates/settings.php:12 +msgid "User Login Filter" +msgstr "" + +#: templates/settings.php:12 +#, php-format +msgid "" +"Defines the filter to apply, when login is attempted. %%uid replaces the " +"username in the login action." +msgstr "" + +#: templates/settings.php:12 +#, php-format +msgid "use %%uid placeholder, e.g. \"uid=%%uid\"" +msgstr "" + +#: templates/settings.php:13 +msgid "User List Filter" +msgstr "" + +#: templates/settings.php:13 +msgid "Defines the filter to apply, when retrieving users." +msgstr "" + +#: templates/settings.php:13 +msgid "without any placeholder, e.g. \"objectClass=person\"." +msgstr "" + +#: templates/settings.php:14 +msgid "Group Filter" +msgstr "" + +#: templates/settings.php:14 +msgid "Defines the filter to apply, when retrieving groups." +msgstr "" + +#: templates/settings.php:14 +msgid "without any placeholder, e.g. \"objectClass=posixGroup\"." +msgstr "" + +#: templates/settings.php:17 +msgid "Port" +msgstr "" + +#: templates/settings.php:18 +msgid "Base User Tree" +msgstr "" + +#: templates/settings.php:19 +msgid "Base Group Tree" +msgstr "" + +#: templates/settings.php:20 +msgid "Group-Member association" +msgstr "" + +#: templates/settings.php:21 +msgid "Use TLS" +msgstr "" + +#: templates/settings.php:21 +msgid "Do not use it for SSL connections, it will fail." +msgstr "" + +#: templates/settings.php:22 +msgid "Case insensitve LDAP server (Windows)" +msgstr "" + +#: templates/settings.php:23 +msgid "Turn off SSL certificate validation." +msgstr "" + +#: templates/settings.php:23 +msgid "" +"If connection only works with this option, import the LDAP server's SSL " +"certificate in your ownCloud server." +msgstr "" + +#: templates/settings.php:23 +msgid "Not recommended, use for testing only." +msgstr "" + +#: templates/settings.php:24 +msgid "User Display Name Field" +msgstr "" + +#: templates/settings.php:24 +msgid "The LDAP attribute to use to generate the user`s ownCloud name." +msgstr "" + +#: templates/settings.php:25 +msgid "Group Display Name Field" +msgstr "" + +#: templates/settings.php:25 +msgid "The LDAP attribute to use to generate the groups`s ownCloud name." +msgstr "" + +#: templates/settings.php:27 +msgid "in bytes" +msgstr "" + +#: templates/settings.php:29 +msgid "in seconds. A change empties the cache." +msgstr "" + +#: templates/settings.php:30 +msgid "" +"Leave empty for user name (default). Otherwise, specify an LDAP/AD " +"attribute." +msgstr "" + +#: templates/settings.php:32 +msgid "Help" +msgstr "" diff --git a/l10n/af/impress.po b/l10n/sq/user_webdavauth.po similarity index 59% rename from l10n/af/impress.po rename to l10n/sq/user_webdavauth.po index ad04eff39f12fab8a892afda7d225d3e3543a478..d3865a501b5bb3c94a8fd56f2f5c63b9e2ab9bcf 100644 --- a/l10n/af/impress.po +++ b/l10n/sq/user_webdavauth.po @@ -7,16 +7,16 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 01:17+0200\n" -"PO-Revision-Date: 2012-08-25 23:18+0000\n" +"POT-Creation-Date: 2012-11-27 00:10+0100\n" +"PO-Revision-Date: 2012-11-09 09:06+0000\n" "Last-Translator: FULL NAME \n" -"Language-Team: Afrikaans (http://www.transifex.com/projects/p/owncloud/language/af/)\n" +"Language-Team: Albanian (http://www.transifex.com/projects/p/owncloud/language/sq/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: af\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"Language: sq\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: templates/presentations.php:7 -msgid "Documentation" +#: templates/settings.php:4 +msgid "WebDAV URL: http://" msgstr "" diff --git a/l10n/sr/admin_dependencies_chk.po b/l10n/sr/admin_dependencies_chk.po deleted file mode 100644 index bc9e8912ee74cd309d00939bbf366f89a1522cd7..0000000000000000000000000000000000000000 --- a/l10n/sr/admin_dependencies_chk.po +++ /dev/null @@ -1,73 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:33+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Serbian (http://www.transifex.com/projects/p/owncloud/language/sr/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: sr\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" - -#: settings.php:33 -msgid "" -"The php-json module is needed by the many applications for inter " -"communications" -msgstr "" - -#: settings.php:39 -msgid "" -"The php-curl modude is needed to fetch the page title when adding a " -"bookmarks" -msgstr "" - -#: settings.php:45 -msgid "The php-gd module is needed to create thumbnails of your images" -msgstr "" - -#: settings.php:51 -msgid "The php-ldap module is needed connect to your ldap server" -msgstr "" - -#: settings.php:57 -msgid "The php-zip module is needed download multiple files at once" -msgstr "" - -#: settings.php:63 -msgid "" -"The php-mb_multibyte module is needed to manage correctly the encoding." -msgstr "" - -#: settings.php:69 -msgid "The php-ctype module is needed validate data." -msgstr "" - -#: settings.php:75 -msgid "The php-xml module is needed to share files with webdav." -msgstr "" - -#: settings.php:81 -msgid "" -"The allow_url_fopen directive of your php.ini should be set to 1 to retrieve" -" knowledge base from OCS servers" -msgstr "" - -#: settings.php:87 -msgid "The php-pdo module is needed to store owncloud data into a database." -msgstr "" - -#: templates/settings.php:2 -msgid "Dependencies status" -msgstr "" - -#: templates/settings.php:7 -msgid "Used by :" -msgstr "" diff --git a/l10n/sr/admin_migrate.po b/l10n/sr/admin_migrate.po deleted file mode 100644 index 13be5b1a58b6a9c04107107fa8ffd740c0c240f3..0000000000000000000000000000000000000000 --- a/l10n/sr/admin_migrate.po +++ /dev/null @@ -1,32 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:32+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Serbian (http://www.transifex.com/projects/p/owncloud/language/sr/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: sr\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" - -#: templates/settings.php:3 -msgid "Export this ownCloud instance" -msgstr "" - -#: templates/settings.php:4 -msgid "" -"This will create a compressed file that contains the data of this owncloud instance.\n" -" Please choose the export type:" -msgstr "" - -#: templates/settings.php:12 -msgid "Export" -msgstr "" diff --git a/l10n/sr/bookmarks.po b/l10n/sr/bookmarks.po deleted file mode 100644 index c0abe8d98b9c6053ce4dac236c6988fe6b8f89e3..0000000000000000000000000000000000000000 --- a/l10n/sr/bookmarks.po +++ /dev/null @@ -1,60 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-07-28 02:02+0200\n" -"PO-Revision-Date: 2012-07-27 22:17+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Serbian (http://www.transifex.com/projects/p/owncloud/language/sr/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: sr\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" - -#: appinfo/app.php:14 -msgid "Bookmarks" -msgstr "" - -#: bookmarksHelper.php:99 -msgid "unnamed" -msgstr "" - -#: templates/bookmarklet.php:5 -msgid "" -"Drag this to your browser bookmarks and click it, when you want to bookmark " -"a webpage quickly:" -msgstr "" - -#: templates/bookmarklet.php:7 -msgid "Read later" -msgstr "" - -#: templates/list.php:13 -msgid "Address" -msgstr "" - -#: templates/list.php:14 -msgid "Title" -msgstr "" - -#: templates/list.php:15 -msgid "Tags" -msgstr "" - -#: templates/list.php:16 -msgid "Save bookmark" -msgstr "" - -#: templates/list.php:22 -msgid "You have no bookmarks" -msgstr "" - -#: templates/settings.php:11 -msgid "Bookmarklet
" -msgstr "" diff --git a/l10n/sr/calendar.po b/l10n/sr/calendar.po deleted file mode 100644 index 4e95b27e79332d5ea16203bfa1351137b490a013..0000000000000000000000000000000000000000 --- a/l10n/sr/calendar.po +++ /dev/null @@ -1,814 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Slobodan Terzić , 2011. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-11 02:02+0200\n" -"PO-Revision-Date: 2012-08-11 00:02+0000\n" -"Last-Translator: owncloud_robot \n" -"Language-Team: Serbian (http://www.transifex.com/projects/p/owncloud/language/sr/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: sr\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" - -#: ajax/cache/status.php:19 -msgid "Not all calendars are completely cached" -msgstr "" - -#: ajax/cache/status.php:21 -msgid "Everything seems to be completely cached" -msgstr "" - -#: ajax/categories/rescan.php:29 -msgid "No calendars found." -msgstr "" - -#: ajax/categories/rescan.php:37 -msgid "No events found." -msgstr "" - -#: ajax/event/edit.form.php:20 -msgid "Wrong calendar" -msgstr "Погрешан календар" - -#: ajax/import/dropimport.php:29 ajax/import/import.php:64 -msgid "" -"The file contained either no events or all events are already saved in your " -"calendar." -msgstr "" - -#: ajax/import/dropimport.php:31 ajax/import/import.php:67 -msgid "events has been saved in the new calendar" -msgstr "" - -#: ajax/import/import.php:56 -msgid "Import failed" -msgstr "" - -#: ajax/import/import.php:69 -msgid "events has been saved in your calendar" -msgstr "" - -#: ajax/settings/guesstimezone.php:25 -msgid "New Timezone:" -msgstr "" - -#: ajax/settings/settimezone.php:23 -msgid "Timezone changed" -msgstr "Временска зона је промењена" - -#: ajax/settings/settimezone.php:25 -msgid "Invalid request" -msgstr "Неисправан захтев" - -#: appinfo/app.php:35 templates/calendar.php:15 -#: templates/part.eventform.php:33 templates/part.showevent.php:33 -msgid "Calendar" -msgstr "Календар" - -#: js/calendar.js:832 -msgid "ddd" -msgstr "" - -#: js/calendar.js:833 -msgid "ddd M/d" -msgstr "" - -#: js/calendar.js:834 -msgid "dddd M/d" -msgstr "" - -#: js/calendar.js:837 -msgid "MMMM yyyy" -msgstr "" - -#: js/calendar.js:839 -msgid "MMM d[ yyyy]{ '—'[ MMM] d yyyy}" -msgstr "" - -#: js/calendar.js:841 -msgid "dddd, MMM d, yyyy" -msgstr "" - -#: lib/app.php:121 -msgid "Birthday" -msgstr "Рођендан" - -#: lib/app.php:122 -msgid "Business" -msgstr "Посао" - -#: lib/app.php:123 -msgid "Call" -msgstr "Позив" - -#: lib/app.php:124 -msgid "Clients" -msgstr "Клијенти" - -#: lib/app.php:125 -msgid "Deliverer" -msgstr "Достављач" - -#: lib/app.php:126 -msgid "Holidays" -msgstr "Празници" - -#: lib/app.php:127 -msgid "Ideas" -msgstr "Идеје" - -#: lib/app.php:128 -msgid "Journey" -msgstr "путовање" - -#: lib/app.php:129 -msgid "Jubilee" -msgstr "јубилеј" - -#: lib/app.php:130 -msgid "Meeting" -msgstr "Састанак" - -#: lib/app.php:131 -msgid "Other" -msgstr "Друго" - -#: lib/app.php:132 -msgid "Personal" -msgstr "Лично" - -#: lib/app.php:133 -msgid "Projects" -msgstr "Пројекти" - -#: lib/app.php:134 -msgid "Questions" -msgstr "Питања" - -#: lib/app.php:135 -msgid "Work" -msgstr "Посао" - -#: lib/app.php:351 lib/app.php:361 -msgid "by" -msgstr "" - -#: lib/app.php:359 lib/app.php:399 -msgid "unnamed" -msgstr "" - -#: lib/import.php:184 templates/calendar.php:12 -#: templates/part.choosecalendar.php:22 -msgid "New Calendar" -msgstr "Нови календар" - -#: lib/object.php:372 -msgid "Does not repeat" -msgstr "Не понавља се" - -#: lib/object.php:373 -msgid "Daily" -msgstr "дневно" - -#: lib/object.php:374 -msgid "Weekly" -msgstr "недељно" - -#: lib/object.php:375 -msgid "Every Weekday" -msgstr "сваког дана у недељи" - -#: lib/object.php:376 -msgid "Bi-Weekly" -msgstr "двонедељно" - -#: lib/object.php:377 -msgid "Monthly" -msgstr "месечно" - -#: lib/object.php:378 -msgid "Yearly" -msgstr "годишње" - -#: lib/object.php:388 -msgid "never" -msgstr "" - -#: lib/object.php:389 -msgid "by occurrences" -msgstr "" - -#: lib/object.php:390 -msgid "by date" -msgstr "" - -#: lib/object.php:400 -msgid "by monthday" -msgstr "" - -#: lib/object.php:401 -msgid "by weekday" -msgstr "" - -#: lib/object.php:411 templates/calendar.php:5 templates/settings.php:69 -msgid "Monday" -msgstr "" - -#: lib/object.php:412 templates/calendar.php:5 -msgid "Tuesday" -msgstr "" - -#: lib/object.php:413 templates/calendar.php:5 -msgid "Wednesday" -msgstr "" - -#: lib/object.php:414 templates/calendar.php:5 -msgid "Thursday" -msgstr "" - -#: lib/object.php:415 templates/calendar.php:5 -msgid "Friday" -msgstr "" - -#: lib/object.php:416 templates/calendar.php:5 -msgid "Saturday" -msgstr "" - -#: lib/object.php:417 templates/calendar.php:5 templates/settings.php:70 -msgid "Sunday" -msgstr "" - -#: lib/object.php:427 -msgid "events week of month" -msgstr "" - -#: lib/object.php:428 -msgid "first" -msgstr "" - -#: lib/object.php:429 -msgid "second" -msgstr "" - -#: lib/object.php:430 -msgid "third" -msgstr "" - -#: lib/object.php:431 -msgid "fourth" -msgstr "" - -#: lib/object.php:432 -msgid "fifth" -msgstr "" - -#: lib/object.php:433 -msgid "last" -msgstr "" - -#: lib/object.php:467 templates/calendar.php:7 -msgid "January" -msgstr "" - -#: lib/object.php:468 templates/calendar.php:7 -msgid "February" -msgstr "" - -#: lib/object.php:469 templates/calendar.php:7 -msgid "March" -msgstr "" - -#: lib/object.php:470 templates/calendar.php:7 -msgid "April" -msgstr "" - -#: lib/object.php:471 templates/calendar.php:7 -msgid "May" -msgstr "" - -#: lib/object.php:472 templates/calendar.php:7 -msgid "June" -msgstr "" - -#: lib/object.php:473 templates/calendar.php:7 -msgid "July" -msgstr "" - -#: lib/object.php:474 templates/calendar.php:7 -msgid "August" -msgstr "" - -#: lib/object.php:475 templates/calendar.php:7 -msgid "September" -msgstr "" - -#: lib/object.php:476 templates/calendar.php:7 -msgid "October" -msgstr "" - -#: lib/object.php:477 templates/calendar.php:7 -msgid "November" -msgstr "" - -#: lib/object.php:478 templates/calendar.php:7 -msgid "December" -msgstr "" - -#: lib/object.php:488 -msgid "by events date" -msgstr "" - -#: lib/object.php:489 -msgid "by yearday(s)" -msgstr "" - -#: lib/object.php:490 -msgid "by weeknumber(s)" -msgstr "" - -#: lib/object.php:491 -msgid "by day and month" -msgstr "" - -#: lib/search.php:35 lib/search.php:37 lib/search.php:40 -msgid "Date" -msgstr "" - -#: lib/search.php:43 -msgid "Cal." -msgstr "" - -#: templates/calendar.php:6 -msgid "Sun." -msgstr "" - -#: templates/calendar.php:6 -msgid "Mon." -msgstr "" - -#: templates/calendar.php:6 -msgid "Tue." -msgstr "" - -#: templates/calendar.php:6 -msgid "Wed." -msgstr "" - -#: templates/calendar.php:6 -msgid "Thu." -msgstr "" - -#: templates/calendar.php:6 -msgid "Fri." -msgstr "" - -#: templates/calendar.php:6 -msgid "Sat." -msgstr "" - -#: templates/calendar.php:8 -msgid "Jan." -msgstr "" - -#: templates/calendar.php:8 -msgid "Feb." -msgstr "" - -#: templates/calendar.php:8 -msgid "Mar." -msgstr "" - -#: templates/calendar.php:8 -msgid "Apr." -msgstr "" - -#: templates/calendar.php:8 -msgid "May." -msgstr "" - -#: templates/calendar.php:8 -msgid "Jun." -msgstr "" - -#: templates/calendar.php:8 -msgid "Jul." -msgstr "" - -#: templates/calendar.php:8 -msgid "Aug." -msgstr "" - -#: templates/calendar.php:8 -msgid "Sep." -msgstr "" - -#: templates/calendar.php:8 -msgid "Oct." -msgstr "" - -#: templates/calendar.php:8 -msgid "Nov." -msgstr "" - -#: templates/calendar.php:8 -msgid "Dec." -msgstr "" - -#: templates/calendar.php:11 -msgid "All day" -msgstr "Цео дан" - -#: templates/calendar.php:13 -msgid "Missing fields" -msgstr "" - -#: templates/calendar.php:14 templates/part.eventform.php:19 -#: templates/part.showevent.php:11 -msgid "Title" -msgstr "Наслов" - -#: templates/calendar.php:16 -msgid "From Date" -msgstr "" - -#: templates/calendar.php:17 -msgid "From Time" -msgstr "" - -#: templates/calendar.php:18 -msgid "To Date" -msgstr "" - -#: templates/calendar.php:19 -msgid "To Time" -msgstr "" - -#: templates/calendar.php:20 -msgid "The event ends before it starts" -msgstr "" - -#: templates/calendar.php:21 -msgid "There was a database fail" -msgstr "" - -#: templates/calendar.php:39 -msgid "Week" -msgstr "Недеља" - -#: templates/calendar.php:40 -msgid "Month" -msgstr "Месец" - -#: templates/calendar.php:41 -msgid "List" -msgstr "Списак" - -#: templates/calendar.php:45 -msgid "Today" -msgstr "Данас" - -#: templates/calendar.php:46 templates/calendar.php:47 -msgid "Settings" -msgstr "" - -#: templates/part.choosecalendar.php:2 -msgid "Your calendars" -msgstr "" - -#: templates/part.choosecalendar.php:27 -#: templates/part.choosecalendar.rowfields.php:11 -msgid "CalDav Link" -msgstr "КалДав веза" - -#: templates/part.choosecalendar.php:31 -msgid "Shared calendars" -msgstr "" - -#: templates/part.choosecalendar.php:48 -msgid "No shared calendars" -msgstr "" - -#: templates/part.choosecalendar.rowfields.php:8 -msgid "Share Calendar" -msgstr "" - -#: templates/part.choosecalendar.rowfields.php:14 -msgid "Download" -msgstr "Преузми" - -#: templates/part.choosecalendar.rowfields.php:17 -msgid "Edit" -msgstr "Уреди" - -#: templates/part.choosecalendar.rowfields.php:20 -#: templates/part.editevent.php:9 -msgid "Delete" -msgstr "Обриши" - -#: templates/part.choosecalendar.rowfields.shared.php:4 -msgid "shared with you by" -msgstr "" - -#: templates/part.editcalendar.php:9 -msgid "New calendar" -msgstr "Нови календар" - -#: templates/part.editcalendar.php:9 -msgid "Edit calendar" -msgstr "Уреди календар" - -#: templates/part.editcalendar.php:12 -msgid "Displayname" -msgstr "Приказаноиме" - -#: templates/part.editcalendar.php:23 -msgid "Active" -msgstr "Активан" - -#: templates/part.editcalendar.php:29 -msgid "Calendar color" -msgstr "Боја календара" - -#: templates/part.editcalendar.php:42 -msgid "Save" -msgstr "Сними" - -#: templates/part.editcalendar.php:42 templates/part.editevent.php:8 -#: templates/part.newevent.php:6 -msgid "Submit" -msgstr "Пошаљи" - -#: templates/part.editcalendar.php:43 -msgid "Cancel" -msgstr "Откажи" - -#: templates/part.editevent.php:1 -msgid "Edit an event" -msgstr "Уреди догађај" - -#: templates/part.editevent.php:10 -msgid "Export" -msgstr "" - -#: templates/part.eventform.php:8 templates/part.showevent.php:3 -msgid "Eventinfo" -msgstr "" - -#: templates/part.eventform.php:9 templates/part.showevent.php:4 -msgid "Repeating" -msgstr "" - -#: templates/part.eventform.php:10 templates/part.showevent.php:5 -msgid "Alarm" -msgstr "" - -#: templates/part.eventform.php:11 templates/part.showevent.php:6 -msgid "Attendees" -msgstr "" - -#: templates/part.eventform.php:13 -msgid "Share" -msgstr "" - -#: templates/part.eventform.php:21 -msgid "Title of the Event" -msgstr "Наслов догађаја" - -#: templates/part.eventform.php:27 templates/part.showevent.php:19 -msgid "Category" -msgstr "Категорија" - -#: templates/part.eventform.php:29 -msgid "Separate categories with commas" -msgstr "" - -#: templates/part.eventform.php:30 -msgid "Edit categories" -msgstr "" - -#: templates/part.eventform.php:56 templates/part.showevent.php:52 -msgid "All Day Event" -msgstr "Целодневни догађај" - -#: templates/part.eventform.php:60 templates/part.showevent.php:56 -msgid "From" -msgstr "Од" - -#: templates/part.eventform.php:68 templates/part.showevent.php:64 -msgid "To" -msgstr "До" - -#: templates/part.eventform.php:76 templates/part.showevent.php:72 -msgid "Advanced options" -msgstr "" - -#: templates/part.eventform.php:81 templates/part.showevent.php:77 -msgid "Location" -msgstr "Локација" - -#: templates/part.eventform.php:83 -msgid "Location of the Event" -msgstr "Локација догађаја" - -#: templates/part.eventform.php:89 templates/part.showevent.php:85 -msgid "Description" -msgstr "Опис" - -#: templates/part.eventform.php:91 -msgid "Description of the Event" -msgstr "Опис догађаја" - -#: templates/part.eventform.php:100 templates/part.showevent.php:95 -msgid "Repeat" -msgstr "Понављај" - -#: templates/part.eventform.php:107 templates/part.showevent.php:102 -msgid "Advanced" -msgstr "" - -#: templates/part.eventform.php:151 templates/part.showevent.php:146 -msgid "Select weekdays" -msgstr "" - -#: templates/part.eventform.php:164 templates/part.eventform.php:177 -#: templates/part.showevent.php:159 templates/part.showevent.php:172 -msgid "Select days" -msgstr "" - -#: templates/part.eventform.php:169 templates/part.showevent.php:164 -msgid "and the events day of year." -msgstr "" - -#: templates/part.eventform.php:182 templates/part.showevent.php:177 -msgid "and the events day of month." -msgstr "" - -#: templates/part.eventform.php:190 templates/part.showevent.php:185 -msgid "Select months" -msgstr "" - -#: templates/part.eventform.php:203 templates/part.showevent.php:198 -msgid "Select weeks" -msgstr "" - -#: templates/part.eventform.php:208 templates/part.showevent.php:203 -msgid "and the events week of year." -msgstr "" - -#: templates/part.eventform.php:214 templates/part.showevent.php:209 -msgid "Interval" -msgstr "" - -#: templates/part.eventform.php:220 templates/part.showevent.php:215 -msgid "End" -msgstr "" - -#: templates/part.eventform.php:233 templates/part.showevent.php:228 -msgid "occurrences" -msgstr "" - -#: templates/part.import.php:14 -msgid "create a new calendar" -msgstr "" - -#: templates/part.import.php:17 -msgid "Import a calendar file" -msgstr "" - -#: templates/part.import.php:24 -msgid "Please choose a calendar" -msgstr "" - -#: templates/part.import.php:36 -msgid "Name of new calendar" -msgstr "" - -#: templates/part.import.php:44 -msgid "Take an available name!" -msgstr "" - -#: templates/part.import.php:45 -msgid "" -"A Calendar with this name already exists. If you continue anyhow, these " -"calendars will be merged." -msgstr "" - -#: templates/part.import.php:47 -msgid "Import" -msgstr "" - -#: templates/part.import.php:56 -msgid "Close Dialog" -msgstr "" - -#: templates/part.newevent.php:1 -msgid "Create a new event" -msgstr "Направи нови догађај" - -#: templates/part.showevent.php:1 -msgid "View an event" -msgstr "" - -#: templates/part.showevent.php:23 -msgid "No categories selected" -msgstr "" - -#: templates/part.showevent.php:37 -msgid "of" -msgstr "" - -#: templates/part.showevent.php:59 templates/part.showevent.php:67 -msgid "at" -msgstr "" - -#: templates/settings.php:10 -msgid "General" -msgstr "" - -#: templates/settings.php:15 -msgid "Timezone" -msgstr "Временска зона" - -#: templates/settings.php:47 -msgid "Update timezone automatically" -msgstr "" - -#: templates/settings.php:52 -msgid "Time format" -msgstr "" - -#: templates/settings.php:57 -msgid "24h" -msgstr "" - -#: templates/settings.php:58 -msgid "12h" -msgstr "" - -#: templates/settings.php:64 -msgid "Start week on" -msgstr "" - -#: templates/settings.php:76 -msgid "Cache" -msgstr "" - -#: templates/settings.php:80 -msgid "Clear cache for repeating events" -msgstr "" - -#: templates/settings.php:85 -msgid "URLs" -msgstr "" - -#: templates/settings.php:87 -msgid "Calendar CalDAV syncing addresses" -msgstr "" - -#: templates/settings.php:87 -msgid "more info" -msgstr "" - -#: templates/settings.php:89 -msgid "Primary address (Kontact et al)" -msgstr "" - -#: templates/settings.php:91 -msgid "iOS/OS X" -msgstr "" - -#: templates/settings.php:93 -msgid "Read only iCalendar link(s)" -msgstr "" - -#: templates/share.dropdown.php:20 -msgid "Users" -msgstr "" - -#: templates/share.dropdown.php:21 -msgid "select users" -msgstr "" - -#: templates/share.dropdown.php:36 templates/share.dropdown.php:62 -msgid "Editable" -msgstr "" - -#: templates/share.dropdown.php:48 -msgid "Groups" -msgstr "" - -#: templates/share.dropdown.php:49 -msgid "select groups" -msgstr "" - -#: templates/share.dropdown.php:75 -msgid "make public" -msgstr "" diff --git a/l10n/sr/contacts.po b/l10n/sr/contacts.po deleted file mode 100644 index 9b88aad65bc70174abb8d610bb51a55f1a4652e8..0000000000000000000000000000000000000000 --- a/l10n/sr/contacts.po +++ /dev/null @@ -1,953 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Slobodan Terzić , 2011, 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-24 02:02+0200\n" -"PO-Revision-Date: 2012-08-24 00:02+0000\n" -"Last-Translator: I Robot \n" -"Language-Team: Serbian (http://www.transifex.com/projects/p/owncloud/language/sr/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: sr\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" - -#: ajax/addressbook/activate.php:24 ajax/addressbook/update.php:32 -msgid "Error (de)activating addressbook." -msgstr "" - -#: ajax/addressbook/delete.php:31 ajax/addressbook/update.php:20 -#: ajax/contact/addproperty.php:42 ajax/contact/delete.php:32 -#: ajax/contact/saveproperty.php:39 -msgid "id is not set." -msgstr "" - -#: ajax/addressbook/update.php:24 -msgid "Cannot update addressbook with an empty name." -msgstr "" - -#: ajax/addressbook/update.php:28 -msgid "Error updating addressbook." -msgstr "" - -#: ajax/categories/categoriesfor.php:17 -msgid "No ID provided" -msgstr "" - -#: ajax/categories/categoriesfor.php:34 -msgid "Error setting checksum." -msgstr "" - -#: ajax/categories/delete.php:19 -msgid "No categories selected for deletion." -msgstr "" - -#: ajax/categories/delete.php:26 -msgid "No address books found." -msgstr "" - -#: ajax/categories/delete.php:34 -msgid "No contacts found." -msgstr "" - -#: ajax/contact/add.php:47 -msgid "There was an error adding the contact." -msgstr "" - -#: ajax/contact/addproperty.php:39 ajax/contact/saveproperty.php:36 -msgid "element name is not set." -msgstr "" - -#: ajax/contact/addproperty.php:46 -msgid "Could not parse contact: " -msgstr "" - -#: ajax/contact/addproperty.php:56 -msgid "Cannot add empty property." -msgstr "" - -#: ajax/contact/addproperty.php:67 -msgid "At least one of the address fields has to be filled out." -msgstr "" - -#: ajax/contact/addproperty.php:76 -msgid "Trying to add duplicate property: " -msgstr "" - -#: ajax/contact/addproperty.php:115 ajax/contact/saveproperty.php:93 -msgid "Missing IM parameter." -msgstr "" - -#: ajax/contact/addproperty.php:119 ajax/contact/saveproperty.php:97 -msgid "Unknown IM: " -msgstr "" - -#: ajax/contact/deleteproperty.php:37 -msgid "Information about vCard is incorrect. Please reload the page." -msgstr "Подаци о вКарти су неисправни. Поново учитајте страницу." - -#: ajax/contact/details.php:31 -msgid "Missing ID" -msgstr "" - -#: ajax/contact/details.php:36 -msgid "Error parsing VCard for ID: \"" -msgstr "" - -#: ajax/contact/saveproperty.php:42 -msgid "checksum is not set." -msgstr "" - -#: ajax/contact/saveproperty.php:62 -msgid "Information about vCard is incorrect. Please reload the page: " -msgstr "" - -#: ajax/contact/saveproperty.php:69 -msgid "Something went FUBAR. " -msgstr "" - -#: ajax/currentphoto.php:30 ajax/oc_photo.php:28 ajax/uploadphoto.php:36 -#: ajax/uploadphoto.php:68 -msgid "No contact ID was submitted." -msgstr "" - -#: ajax/currentphoto.php:36 -msgid "Error reading contact photo." -msgstr "" - -#: ajax/currentphoto.php:48 -msgid "Error saving temporary file." -msgstr "" - -#: ajax/currentphoto.php:51 -msgid "The loading photo is not valid." -msgstr "" - -#: ajax/editname.php:31 -msgid "Contact ID is missing." -msgstr "" - -#: ajax/oc_photo.php:32 -msgid "No photo path was submitted." -msgstr "" - -#: ajax/oc_photo.php:39 -msgid "File doesn't exist:" -msgstr "" - -#: ajax/oc_photo.php:44 ajax/oc_photo.php:47 -msgid "Error loading image." -msgstr "" - -#: ajax/savecrop.php:69 -msgid "Error getting contact object." -msgstr "" - -#: ajax/savecrop.php:79 -msgid "Error getting PHOTO property." -msgstr "" - -#: ajax/savecrop.php:98 -msgid "Error saving contact." -msgstr "" - -#: ajax/savecrop.php:109 -msgid "Error resizing image" -msgstr "" - -#: ajax/savecrop.php:112 -msgid "Error cropping image" -msgstr "" - -#: ajax/savecrop.php:115 -msgid "Error creating temporary image" -msgstr "" - -#: ajax/savecrop.php:118 -msgid "Error finding image: " -msgstr "" - -#: ajax/uploadimport.php:44 ajax/uploadimport.php:76 -msgid "Error uploading contacts to storage." -msgstr "" - -#: ajax/uploadimport.php:61 ajax/uploadphoto.php:77 -msgid "There is no error, the file uploaded with success" -msgstr "" - -#: ajax/uploadimport.php:62 ajax/uploadphoto.php:78 -msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" -msgstr "" - -#: ajax/uploadimport.php:63 ajax/uploadphoto.php:79 -msgid "" -"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " -"the HTML form" -msgstr "" - -#: ajax/uploadimport.php:64 ajax/uploadphoto.php:80 -msgid "The uploaded file was only partially uploaded" -msgstr "" - -#: ajax/uploadimport.php:65 ajax/uploadphoto.php:81 -msgid "No file was uploaded" -msgstr "" - -#: ajax/uploadimport.php:66 ajax/uploadphoto.php:82 -msgid "Missing a temporary folder" -msgstr "" - -#: ajax/uploadphoto.php:59 ajax/uploadphoto.php:109 -msgid "Couldn't save temporary image: " -msgstr "" - -#: ajax/uploadphoto.php:62 ajax/uploadphoto.php:112 -msgid "Couldn't load temporary image: " -msgstr "" - -#: ajax/uploadphoto.php:71 -msgid "No file was uploaded. Unknown error" -msgstr "" - -#: appinfo/app.php:21 -msgid "Contacts" -msgstr "Контакти" - -#: js/contacts.js:71 -msgid "Sorry, this functionality has not been implemented yet" -msgstr "" - -#: js/contacts.js:71 -msgid "Not implemented" -msgstr "" - -#: js/contacts.js:76 -msgid "Couldn't get a valid address." -msgstr "" - -#: js/contacts.js:76 js/contacts.js:365 js/contacts.js:381 js/contacts.js:393 -#: js/contacts.js:723 js/contacts.js:763 js/contacts.js:789 js/contacts.js:921 -#: js/contacts.js:927 js/contacts.js:939 js/contacts.js:976 -#: js/contacts.js:1250 js/contacts.js:1258 js/contacts.js:1267 -#: js/contacts.js:1302 js/contacts.js:1338 js/contacts.js:1353 -#: js/contacts.js:1379 js/contacts.js:1609 js/contacts.js:1644 -#: js/contacts.js:1664 js/settings.js:26 js/settings.js:43 js/settings.js:68 -msgid "Error" -msgstr "" - -#: js/contacts.js:424 -msgid "You do not have permission to add contacts to " -msgstr "" - -#: js/contacts.js:425 -msgid "Please select one of your own address books." -msgstr "" - -#: js/contacts.js:425 -msgid "Permission error" -msgstr "" - -#: js/contacts.js:763 -msgid "This property has to be non-empty." -msgstr "" - -#: js/contacts.js:789 -msgid "Couldn't serialize elements." -msgstr "" - -#: js/contacts.js:921 js/contacts.js:939 -msgid "" -"'deleteProperty' called without type argument. Please report at " -"bugs.owncloud.org" -msgstr "" - -#: js/contacts.js:958 -msgid "Edit name" -msgstr "" - -#: js/contacts.js:1250 -msgid "No files selected for upload." -msgstr "" - -#: js/contacts.js:1258 -msgid "" -"The file you are trying to upload exceed the maximum size for file uploads " -"on this server." -msgstr "" - -#: js/contacts.js:1322 -msgid "Error loading profile picture." -msgstr "" - -#: js/contacts.js:1457 js/contacts.js:1498 js/contacts.js:1517 -#: js/contacts.js:1560 -msgid "Select type" -msgstr "" - -#: js/contacts.js:1578 -msgid "" -"Some contacts are marked for deletion, but not deleted yet. Please wait for " -"them to be deleted." -msgstr "" - -#: js/contacts.js:1649 -msgid "Do you want to merge these address books?" -msgstr "" - -#: js/loader.js:49 -msgid "Result: " -msgstr "" - -#: js/loader.js:49 -msgid " imported, " -msgstr "" - -#: js/loader.js:49 -msgid " failed." -msgstr "" - -#: js/settings.js:68 -msgid "Displayname cannot be empty." -msgstr "" - -#: lib/app.php:36 -msgid "Addressbook not found: " -msgstr "" - -#: lib/app.php:52 -msgid "This is not your addressbook." -msgstr "Ово није ваш адресар." - -#: lib/app.php:71 -msgid "Contact could not be found." -msgstr "Контакт се не може наћи." - -#: lib/app.php:116 -msgid "Jabber" -msgstr "" - -#: lib/app.php:121 -msgid "AIM" -msgstr "" - -#: lib/app.php:126 -msgid "MSN" -msgstr "" - -#: lib/app.php:131 -msgid "Twitter" -msgstr "" - -#: lib/app.php:136 -msgid "GoogleTalk" -msgstr "" - -#: lib/app.php:141 -msgid "Facebook" -msgstr "" - -#: lib/app.php:146 -msgid "XMPP" -msgstr "" - -#: lib/app.php:151 -msgid "ICQ" -msgstr "" - -#: lib/app.php:156 -msgid "Yahoo" -msgstr "" - -#: lib/app.php:161 -msgid "Skype" -msgstr "" - -#: lib/app.php:166 -msgid "QQ" -msgstr "" - -#: lib/app.php:171 -msgid "GaduGadu" -msgstr "" - -#: lib/app.php:194 lib/app.php:202 lib/app.php:213 lib/app.php:266 -msgid "Work" -msgstr "Посао" - -#: lib/app.php:195 lib/app.php:200 lib/app.php:214 -msgid "Home" -msgstr "Кућа" - -#: lib/app.php:196 lib/app.php:209 lib/app.php:262 lib/vcard.php:593 -msgid "Other" -msgstr "" - -#: lib/app.php:201 -msgid "Mobile" -msgstr "Мобилни" - -#: lib/app.php:203 -msgid "Text" -msgstr "Текст" - -#: lib/app.php:204 -msgid "Voice" -msgstr "Глас" - -#: lib/app.php:205 -msgid "Message" -msgstr "" - -#: lib/app.php:206 -msgid "Fax" -msgstr "Факс" - -#: lib/app.php:207 -msgid "Video" -msgstr "Видео" - -#: lib/app.php:208 -msgid "Pager" -msgstr "Пејџер" - -#: lib/app.php:215 -msgid "Internet" -msgstr "" - -#: lib/app.php:252 templates/part.contact.php:45 -#: templates/part.contact.php:128 -msgid "Birthday" -msgstr "Рођендан" - -#: lib/app.php:253 -msgid "Business" -msgstr "" - -#: lib/app.php:254 -msgid "Call" -msgstr "" - -#: lib/app.php:255 -msgid "Clients" -msgstr "" - -#: lib/app.php:256 -msgid "Deliverer" -msgstr "" - -#: lib/app.php:257 -msgid "Holidays" -msgstr "" - -#: lib/app.php:258 -msgid "Ideas" -msgstr "" - -#: lib/app.php:259 -msgid "Journey" -msgstr "" - -#: lib/app.php:260 -msgid "Jubilee" -msgstr "" - -#: lib/app.php:261 -msgid "Meeting" -msgstr "" - -#: lib/app.php:263 -msgid "Personal" -msgstr "" - -#: lib/app.php:264 -msgid "Projects" -msgstr "" - -#: lib/app.php:265 -msgid "Questions" -msgstr "" - -#: lib/hooks.php:102 -msgid "{name}'s Birthday" -msgstr "" - -#: lib/search.php:15 -msgid "Contact" -msgstr "Контакт" - -#: lib/vcard.php:408 -msgid "You do not have the permissions to edit this contact." -msgstr "" - -#: lib/vcard.php:483 -msgid "You do not have the permissions to delete this contact." -msgstr "" - -#: templates/index.php:14 -msgid "Add Contact" -msgstr "Додај контакт" - -#: templates/index.php:15 templates/index.php:16 templates/part.import.php:17 -msgid "Import" -msgstr "" - -#: templates/index.php:18 -msgid "Settings" -msgstr "" - -#: templates/index.php:18 templates/settings.php:9 -msgid "Addressbooks" -msgstr "Адресар" - -#: templates/index.php:36 templates/part.import.php:24 -msgid "Close" -msgstr "" - -#: templates/index.php:37 -msgid "Keyboard shortcuts" -msgstr "" - -#: templates/index.php:39 -msgid "Navigation" -msgstr "" - -#: templates/index.php:42 -msgid "Next contact in list" -msgstr "" - -#: templates/index.php:44 -msgid "Previous contact in list" -msgstr "" - -#: templates/index.php:46 -msgid "Expand/collapse current addressbook" -msgstr "" - -#: templates/index.php:48 -msgid "Next addressbook" -msgstr "" - -#: templates/index.php:50 -msgid "Previous addressbook" -msgstr "" - -#: templates/index.php:54 -msgid "Actions" -msgstr "" - -#: templates/index.php:57 -msgid "Refresh contacts list" -msgstr "" - -#: templates/index.php:59 -msgid "Add new contact" -msgstr "" - -#: templates/index.php:61 -msgid "Add new addressbook" -msgstr "" - -#: templates/index.php:63 -msgid "Delete current contact" -msgstr "" - -#: templates/part.contact.php:17 -msgid "Drop photo to upload" -msgstr "" - -#: templates/part.contact.php:19 -msgid "Delete current photo" -msgstr "" - -#: templates/part.contact.php:20 -msgid "Edit current photo" -msgstr "" - -#: templates/part.contact.php:21 -msgid "Upload new photo" -msgstr "" - -#: templates/part.contact.php:22 -msgid "Select photo from ownCloud" -msgstr "" - -#: templates/part.contact.php:35 -msgid "Format custom, Short name, Full name, Reverse or Reverse with comma" -msgstr "" - -#: templates/part.contact.php:36 -msgid "Edit name details" -msgstr "" - -#: templates/part.contact.php:39 templates/part.contact.php:40 -#: templates/part.contact.php:126 -msgid "Organization" -msgstr "Организација" - -#: templates/part.contact.php:40 templates/part.contact.php:42 -#: templates/part.contact.php:44 templates/part.contact.php:46 -#: templates/part.contact.php:50 templates/settings.php:36 -msgid "Delete" -msgstr "Обриши" - -#: templates/part.contact.php:41 templates/part.contact.php:127 -msgid "Nickname" -msgstr "" - -#: templates/part.contact.php:42 -msgid "Enter nickname" -msgstr "" - -#: templates/part.contact.php:43 templates/part.contact.php:134 -msgid "Web site" -msgstr "" - -#: templates/part.contact.php:44 -msgid "http://www.somesite.com" -msgstr "" - -#: templates/part.contact.php:44 -msgid "Go to web site" -msgstr "" - -#: templates/part.contact.php:46 -msgid "dd-mm-yyyy" -msgstr "" - -#: templates/part.contact.php:47 templates/part.contact.php:135 -msgid "Groups" -msgstr "" - -#: templates/part.contact.php:49 -msgid "Separate groups with commas" -msgstr "" - -#: templates/part.contact.php:50 -msgid "Edit groups" -msgstr "" - -#: templates/part.contact.php:59 templates/part.contact.php:73 -#: templates/part.contact.php:98 -msgid "Preferred" -msgstr "Пожељан" - -#: templates/part.contact.php:60 -msgid "Please specify a valid email address." -msgstr "" - -#: templates/part.contact.php:60 -msgid "Enter email address" -msgstr "" - -#: templates/part.contact.php:64 -msgid "Mail to address" -msgstr "" - -#: templates/part.contact.php:65 -msgid "Delete email address" -msgstr "" - -#: templates/part.contact.php:75 -msgid "Enter phone number" -msgstr "" - -#: templates/part.contact.php:79 -msgid "Delete phone number" -msgstr "" - -#: templates/part.contact.php:100 -msgid "Instant Messenger" -msgstr "" - -#: templates/part.contact.php:101 -msgid "Delete IM" -msgstr "" - -#: templates/part.contact.php:110 -msgid "View on map" -msgstr "" - -#: templates/part.contact.php:110 -msgid "Edit address details" -msgstr "" - -#: templates/part.contact.php:116 -msgid "Add notes here." -msgstr "" - -#: templates/part.contact.php:124 -msgid "Add field" -msgstr "" - -#: templates/part.contact.php:129 -msgid "Phone" -msgstr "Телефон" - -#: templates/part.contact.php:130 -msgid "Email" -msgstr "Е-маил" - -#: templates/part.contact.php:131 -msgid "Instant Messaging" -msgstr "" - -#: templates/part.contact.php:132 -msgid "Address" -msgstr "Адреса" - -#: templates/part.contact.php:133 -msgid "Note" -msgstr "" - -#: templates/part.contact.php:138 -msgid "Download contact" -msgstr "Преузми контакт" - -#: templates/part.contact.php:139 -msgid "Delete contact" -msgstr "Обриши контакт" - -#: templates/part.cropphoto.php:65 -msgid "The temporary image has been removed from cache." -msgstr "" - -#: templates/part.edit_address_dialog.php:6 -msgid "Edit address" -msgstr "" - -#: templates/part.edit_address_dialog.php:10 -msgid "Type" -msgstr "Тип" - -#: templates/part.edit_address_dialog.php:18 -#: templates/part.edit_address_dialog.php:21 -msgid "PO Box" -msgstr "Поштански број" - -#: templates/part.edit_address_dialog.php:24 -msgid "Street address" -msgstr "" - -#: templates/part.edit_address_dialog.php:27 -msgid "Street and number" -msgstr "" - -#: templates/part.edit_address_dialog.php:30 -msgid "Extended" -msgstr "Прошири" - -#: templates/part.edit_address_dialog.php:33 -msgid "Apartment number etc." -msgstr "" - -#: templates/part.edit_address_dialog.php:36 -#: templates/part.edit_address_dialog.php:39 -msgid "City" -msgstr "Град" - -#: templates/part.edit_address_dialog.php:42 -msgid "Region" -msgstr "Регија" - -#: templates/part.edit_address_dialog.php:45 -msgid "E.g. state or province" -msgstr "" - -#: templates/part.edit_address_dialog.php:48 -msgid "Zipcode" -msgstr "Зип код" - -#: templates/part.edit_address_dialog.php:51 -msgid "Postal code" -msgstr "" - -#: templates/part.edit_address_dialog.php:54 -#: templates/part.edit_address_dialog.php:57 -msgid "Country" -msgstr "Земља" - -#: templates/part.edit_name_dialog.php:16 -msgid "Addressbook" -msgstr "Адресар" - -#: templates/part.edit_name_dialog.php:23 -msgid "Hon. prefixes" -msgstr "" - -#: templates/part.edit_name_dialog.php:27 -msgid "Miss" -msgstr "" - -#: templates/part.edit_name_dialog.php:28 -msgid "Ms" -msgstr "" - -#: templates/part.edit_name_dialog.php:29 -msgid "Mr" -msgstr "" - -#: templates/part.edit_name_dialog.php:30 -msgid "Sir" -msgstr "" - -#: templates/part.edit_name_dialog.php:31 -msgid "Mrs" -msgstr "" - -#: templates/part.edit_name_dialog.php:32 -msgid "Dr" -msgstr "" - -#: templates/part.edit_name_dialog.php:35 -msgid "Given name" -msgstr "" - -#: templates/part.edit_name_dialog.php:37 -msgid "Additional names" -msgstr "" - -#: templates/part.edit_name_dialog.php:39 -msgid "Family name" -msgstr "" - -#: templates/part.edit_name_dialog.php:41 -msgid "Hon. suffixes" -msgstr "" - -#: templates/part.edit_name_dialog.php:45 -msgid "J.D." -msgstr "" - -#: templates/part.edit_name_dialog.php:46 -msgid "M.D." -msgstr "" - -#: templates/part.edit_name_dialog.php:47 -msgid "D.O." -msgstr "" - -#: templates/part.edit_name_dialog.php:48 -msgid "D.C." -msgstr "" - -#: templates/part.edit_name_dialog.php:49 -msgid "Ph.D." -msgstr "" - -#: templates/part.edit_name_dialog.php:50 -msgid "Esq." -msgstr "" - -#: templates/part.edit_name_dialog.php:51 -msgid "Jr." -msgstr "" - -#: templates/part.edit_name_dialog.php:52 -msgid "Sn." -msgstr "" - -#: templates/part.import.php:1 -msgid "Import a contacts file" -msgstr "" - -#: templates/part.import.php:6 -msgid "Please choose the addressbook" -msgstr "" - -#: templates/part.import.php:10 -msgid "create a new addressbook" -msgstr "" - -#: templates/part.import.php:15 -msgid "Name of new addressbook" -msgstr "" - -#: templates/part.import.php:20 -msgid "Importing contacts" -msgstr "" - -#: templates/part.no_contacts.php:3 -msgid "You have no contacts in your addressbook." -msgstr "" - -#: templates/part.no_contacts.php:5 -msgid "Add contact" -msgstr "" - -#: templates/part.selectaddressbook.php:1 -msgid "Select Address Books" -msgstr "" - -#: templates/part.selectaddressbook.php:27 -msgid "Enter name" -msgstr "" - -#: templates/part.selectaddressbook.php:29 -msgid "Enter description" -msgstr "" - -#: templates/settings.php:3 -msgid "CardDAV syncing addresses" -msgstr "" - -#: templates/settings.php:3 -msgid "more info" -msgstr "" - -#: templates/settings.php:5 -msgid "Primary address (Kontact et al)" -msgstr "" - -#: templates/settings.php:7 -msgid "iOS/OS X" -msgstr "" - -#: templates/settings.php:20 -msgid "Show CardDav link" -msgstr "" - -#: templates/settings.php:23 -msgid "Show read-only VCF link" -msgstr "" - -#: templates/settings.php:26 -msgid "Share" -msgstr "" - -#: templates/settings.php:29 -msgid "Download" -msgstr "Преузимање" - -#: templates/settings.php:33 -msgid "Edit" -msgstr "Уреди" - -#: templates/settings.php:43 -msgid "New Address Book" -msgstr "Нови адресар" - -#: templates/settings.php:44 -msgid "Name" -msgstr "" - -#: templates/settings.php:45 -msgid "Description" -msgstr "" - -#: templates/settings.php:46 -msgid "Save" -msgstr "Сними" - -#: templates/settings.php:47 -msgid "Cancel" -msgstr "Откажи" - -#: templates/settings.php:52 -msgid "More..." -msgstr "" diff --git a/l10n/sr/core.po b/l10n/sr/core.po index 79b292785c852e4d248188d8b588e33040d9f74c..2aa7514268b094dfc13690b9cba8acd43131db98 100644 --- a/l10n/sr/core.po +++ b/l10n/sr/core.po @@ -3,14 +3,16 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# Ivan Petrović , 2012. +# , 2012. # Slobodan Terzić , 2011, 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-16 02:04+0200\n" -"PO-Revision-Date: 2012-10-16 00:05+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-12-05 00:04+0100\n" +"PO-Revision-Date: 2012-12-04 15:04+0000\n" +"Last-Translator: Kostic \n" "Language-Team: Serbian (http://www.transifex.com/projects/p/owncloud/language/sr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -18,211 +20,243 @@ msgstr "" "Language: sr\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" -#: ajax/vcategories/add.php:23 ajax/vcategories/delete.php:23 -msgid "Application name not provided." -msgstr "" +#: ajax/vcategories/add.php:26 ajax/vcategories/edit.php:25 +msgid "Category type not provided." +msgstr "Врста категорије није унет." -#: ajax/vcategories/add.php:29 +#: ajax/vcategories/add.php:30 msgid "No category to add?" -msgstr "" +msgstr "Додати још неку категорију?" -#: ajax/vcategories/add.php:36 +#: ajax/vcategories/add.php:37 msgid "This category already exists: " -msgstr "" +msgstr "Категорија већ постоји:" + +#: ajax/vcategories/addToFavorites.php:26 ajax/vcategories/delete.php:27 +#: ajax/vcategories/favorites.php:24 +#: ajax/vcategories/removeFromFavorites.php:26 +msgid "Object type not provided." +msgstr "Врста објекта није унета." + +#: ajax/vcategories/addToFavorites.php:30 +#: ajax/vcategories/removeFromFavorites.php:30 +#, php-format +msgid "%s ID not provided." +msgstr "%s ИД нису унети." + +#: ajax/vcategories/addToFavorites.php:35 +#, php-format +msgid "Error adding %s to favorites." +msgstr "Грешка приликом додавања %s у омиљене." + +#: ajax/vcategories/delete.php:35 js/oc-vcategories.js:136 +msgid "No categories selected for deletion." +msgstr "Ни једна категорија није означена за брисање." -#: js/js.js:238 templates/layout.user.php:49 templates/layout.user.php:50 +#: ajax/vcategories/removeFromFavorites.php:35 +#, php-format +msgid "Error removing %s from favorites." +msgstr "Грешка приликом уклањања %s из омиљених" + +#: js/js.js:259 templates/layout.user.php:60 templates/layout.user.php:61 msgid "Settings" msgstr "Подешавања" -#: js/js.js:670 -msgid "January" -msgstr "" +#: js/js.js:704 +msgid "seconds ago" +msgstr "пре неколико секунди" -#: js/js.js:670 -msgid "February" -msgstr "" +#: js/js.js:705 +msgid "1 minute ago" +msgstr "пре 1 минут" -#: js/js.js:670 -msgid "March" -msgstr "" +#: js/js.js:706 +msgid "{minutes} minutes ago" +msgstr "пре {minutes} минута" -#: js/js.js:670 -msgid "April" -msgstr "" +#: js/js.js:707 +msgid "1 hour ago" +msgstr "Пре једног сата" -#: js/js.js:670 -msgid "May" -msgstr "" +#: js/js.js:708 +msgid "{hours} hours ago" +msgstr "Пре {hours} сата (сати)" -#: js/js.js:670 -msgid "June" -msgstr "" +#: js/js.js:709 +msgid "today" +msgstr "данас" -#: js/js.js:671 -msgid "July" -msgstr "" +#: js/js.js:710 +msgid "yesterday" +msgstr "јуче" -#: js/js.js:671 -msgid "August" -msgstr "" +#: js/js.js:711 +msgid "{days} days ago" +msgstr "пре {days} дана" -#: js/js.js:671 -msgid "September" -msgstr "" +#: js/js.js:712 +msgid "last month" +msgstr "прошлог месеца" -#: js/js.js:671 -msgid "October" -msgstr "" +#: js/js.js:713 +msgid "{months} months ago" +msgstr "Пре {months} месеца (месеци)" -#: js/js.js:671 -msgid "November" -msgstr "" +#: js/js.js:714 +msgid "months ago" +msgstr "месеци раније" -#: js/js.js:671 -msgid "December" -msgstr "" +#: js/js.js:715 +msgid "last year" +msgstr "прошле године" + +#: js/js.js:716 +msgid "years ago" +msgstr "година раније" -#: js/oc-dialogs.js:123 +#: js/oc-dialogs.js:126 msgid "Choose" -msgstr "" +msgstr "Одабери" -#: js/oc-dialogs.js:143 js/oc-dialogs.js:163 +#: js/oc-dialogs.js:146 js/oc-dialogs.js:166 msgid "Cancel" -msgstr "" +msgstr "Откажи" -#: js/oc-dialogs.js:159 +#: js/oc-dialogs.js:162 msgid "No" -msgstr "" +msgstr "Не" -#: js/oc-dialogs.js:160 +#: js/oc-dialogs.js:163 msgid "Yes" -msgstr "" +msgstr "Да" -#: js/oc-dialogs.js:177 +#: js/oc-dialogs.js:180 msgid "Ok" -msgstr "" +msgstr "У реду" -#: js/oc-vcategories.js:68 -msgid "No categories selected for deletion." -msgstr "" +#: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102 +#: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162 +msgid "The object type is not specified." +msgstr "Врста објекта није подешена." -#: js/oc-vcategories.js:68 js/share.js:114 js/share.js:121 js/share.js:497 -#: js/share.js:509 +#: js/oc-vcategories.js:95 js/oc-vcategories.js:125 js/oc-vcategories.js:136 +#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:533 +#: js/share.js:545 msgid "Error" -msgstr "" +msgstr "Грешка" -#: js/share.js:103 +#: js/oc-vcategories.js:179 +msgid "The app name is not specified." +msgstr "Име програма није унето." + +#: js/oc-vcategories.js:194 +msgid "The required file {file} is not installed!" +msgstr "Потребна датотека {file} није инсталирана." + +#: js/share.js:124 msgid "Error while sharing" -msgstr "" +msgstr "Грешка у дељењу" -#: js/share.js:114 +#: js/share.js:135 msgid "Error while unsharing" -msgstr "" +msgstr "Грешка код искључења дељења" -#: js/share.js:121 +#: js/share.js:142 msgid "Error while changing permissions" -msgstr "" - -#: js/share.js:130 -msgid "Shared with you and the group" -msgstr "" +msgstr "Грешка код промене дозвола" -#: js/share.js:130 -msgid "by" -msgstr "" +#: js/share.js:151 +msgid "Shared with you and the group {group} by {owner}" +msgstr "Дељено са вама и са групом {group}. Поделио {owner}." -#: js/share.js:132 -msgid "Shared with you by" -msgstr "" +#: js/share.js:153 +msgid "Shared with you by {owner}" +msgstr "Поделио са вама {owner}" -#: js/share.js:137 +#: js/share.js:158 msgid "Share with" -msgstr "" +msgstr "Подели са" -#: js/share.js:142 +#: js/share.js:163 msgid "Share with link" -msgstr "" +msgstr "Подели линк" -#: js/share.js:143 +#: js/share.js:164 msgid "Password protect" -msgstr "" +msgstr "Заштићено лозинком" -#: js/share.js:147 templates/installation.php:42 templates/login.php:24 +#: js/share.js:168 templates/installation.php:42 templates/login.php:24 #: templates/verify.php:13 msgid "Password" msgstr "Лозинка" -#: js/share.js:152 +#: js/share.js:173 msgid "Set expiration date" -msgstr "" +msgstr "Постави датум истека" -#: js/share.js:153 +#: js/share.js:174 msgid "Expiration date" -msgstr "" +msgstr "Датум истека" -#: js/share.js:185 +#: js/share.js:206 msgid "Share via email:" -msgstr "" +msgstr "Подели поштом:" -#: js/share.js:187 +#: js/share.js:208 msgid "No people found" -msgstr "" +msgstr "Особе нису пронађене." -#: js/share.js:214 +#: js/share.js:235 msgid "Resharing is not allowed" -msgstr "" - -#: js/share.js:250 -msgid "Shared in" -msgstr "" - -#: js/share.js:250 -msgid "with" -msgstr "" +msgstr "Поновно дељење није дозвољено" #: js/share.js:271 +msgid "Shared in {item} with {user}" +msgstr "Подељено унутар {item} са {user}" + +#: js/share.js:292 msgid "Unshare" -msgstr "" +msgstr "Не дели" -#: js/share.js:283 +#: js/share.js:304 msgid "can edit" -msgstr "" +msgstr "може да мења" -#: js/share.js:285 +#: js/share.js:306 msgid "access control" -msgstr "" +msgstr "права приступа" -#: js/share.js:288 +#: js/share.js:309 msgid "create" -msgstr "" +msgstr "направи" -#: js/share.js:291 +#: js/share.js:312 msgid "update" -msgstr "" +msgstr "ажурирај" -#: js/share.js:294 +#: js/share.js:315 msgid "delete" -msgstr "" +msgstr "обриши" -#: js/share.js:297 +#: js/share.js:318 msgid "share" -msgstr "" +msgstr "подели" -#: js/share.js:322 js/share.js:484 +#: js/share.js:349 js/share.js:520 js/share.js:522 msgid "Password protected" -msgstr "" +msgstr "Заштићено лозинком" -#: js/share.js:497 +#: js/share.js:533 msgid "Error unsetting expiration date" -msgstr "" +msgstr "Грешка код поништавања датума истека" -#: js/share.js:509 +#: js/share.js:545 msgid "Error setting expiration date" -msgstr "" +msgstr "Грешка код постављања датума истека" -#: lostpassword/index.php:26 +#: lostpassword/controller.php:47 msgid "ownCloud password reset" -msgstr "" +msgstr "Поништавање лозинке за ownCloud" #: lostpassword/templates/email.php:2 msgid "Use the following link to reset your password: {link}" @@ -233,12 +267,12 @@ msgid "You will receive a link to reset your password via Email." msgstr "Добићете везу за ресетовање лозинке путем е-поште." #: lostpassword/templates/lostpassword.php:5 -msgid "Requested" -msgstr "Захтевано" +msgid "Reset email send." +msgstr "Захтев је послат поштом." #: lostpassword/templates/lostpassword.php:8 -msgid "Login failed!" -msgstr "Несупела пријава!" +msgid "Request failed!" +msgstr "Захтев одбијен!" #: lostpassword/templates/lostpassword.php:11 templates/installation.php:38 #: templates/login.php:20 @@ -287,7 +321,7 @@ msgstr "Помоћ" #: templates/403.php:12 msgid "Access forbidden" -msgstr "" +msgstr "Забрањен приступ" #: templates/404.php:12 msgid "Cloud not found" @@ -295,27 +329,27 @@ msgstr "Облак није нађен" #: templates/edit_categories_dialog.php:4 msgid "Edit categories" -msgstr "" +msgstr "Измени категорије" -#: templates/edit_categories_dialog.php:14 +#: templates/edit_categories_dialog.php:16 msgid "Add" -msgstr "" +msgstr "Додај" #: templates/installation.php:23 templates/installation.php:31 msgid "Security Warning" -msgstr "" +msgstr "Сигурносно упозорење" #: templates/installation.php:24 msgid "" "No secure random number generator is available, please enable the PHP " "OpenSSL extension." -msgstr "" +msgstr "Поуздан генератор случајних бројева није доступан, предлажемо да укључите PHP проширење OpenSSL." #: templates/installation.php:26 msgid "" "Without a secure random number generator an attacker may be able to predict " "password reset tokens and take over your account." -msgstr "" +msgstr "Без поузданог генератора случајнох бројева нападач лако може предвидети лозинку за поништавање кључа шифровања и отети вам налог." #: templates/installation.php:32 msgid "" @@ -324,7 +358,7 @@ msgid "" "strongly suggest that you configure your webserver in a way that the data " "directory is no longer accessible or you move the data directory outside the" " webserver document root." -msgstr "" +msgstr "Тренутно су ваши подаци и датотеке доступне са интернета. Датотека .htaccess коју је обезбедио пакет ownCloud не функционише. Саветујемо вам да подесите веб сервер тако да директоријум са подацима не буде изложен или да га преместите изван коренског директоријума веб сервера." #: templates/installation.php:36 msgid "Create an admin account" @@ -361,7 +395,7 @@ msgstr "Име базе" #: templates/installation.php:121 msgid "Database tablespace" -msgstr "" +msgstr "Радни простор базе података" #: templates/installation.php:127 msgid "Database host" @@ -371,27 +405,103 @@ msgstr "Домаћин базе" msgid "Finish setup" msgstr "Заврши подешавање" -#: templates/layout.guest.php:38 +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Sunday" +msgstr "Недеља" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Monday" +msgstr "Понедељак" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Tuesday" +msgstr "Уторак" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Wednesday" +msgstr "Среда" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Thursday" +msgstr "Четвртак" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Friday" +msgstr "Петак" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Saturday" +msgstr "Субота" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "January" +msgstr "Јануар" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "February" +msgstr "Фебруар" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "March" +msgstr "Март" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "April" +msgstr "Април" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "May" +msgstr "Мај" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "June" +msgstr "Јун" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "July" +msgstr "Јул" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "August" +msgstr "Август" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "September" +msgstr "Септембар" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "October" +msgstr "Октобар" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "November" +msgstr "Новембар" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "December" +msgstr "Децембар" + +#: templates/layout.guest.php:42 msgid "web services under your control" msgstr "веб сервиси под контролом" -#: templates/layout.user.php:34 +#: templates/layout.user.php:45 msgid "Log out" msgstr "Одјава" #: templates/login.php:8 msgid "Automatic logon rejected!" -msgstr "" +msgstr "Аутоматска пријава је одбијена!" #: templates/login.php:9 msgid "" "If you did not change your password recently, your account may be " "compromised!" -msgstr "" +msgstr "Ако ускоро не промените лозинку ваш налог може бити компромитован!" #: templates/login.php:10 msgid "Please change your password to secure your account again." -msgstr "" +msgstr "Промените лозинку да бисте обезбедили налог." #: templates/login.php:15 msgid "Lost your password?" @@ -419,14 +529,14 @@ msgstr "следеће" #: templates/verify.php:5 msgid "Security Warning!" -msgstr "" +msgstr "Сигурносно упозорење!" #: templates/verify.php:6 msgid "" "Please verify your password.
For security reasons you may be " "occasionally asked to enter your password again." -msgstr "" +msgstr "Потврдите лозинку.
Из сигурносних разлога затрежићемо вам да два пута унесете лозинку." #: templates/verify.php:16 msgid "Verify" -msgstr "" +msgstr "Потврди" diff --git a/l10n/sr/files.po b/l10n/sr/files.po index 5d5d14a210996c4d00aef67c4ab1d36fb2d49179..2eac1068a25a356c6383aabeac9f782f227f72df 100644 --- a/l10n/sr/files.po +++ b/l10n/sr/files.po @@ -3,14 +3,16 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# Ivan Petrović , 2012. # Slobodan Terzić , 2011, 2012. +# , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-09-26 13:19+0200\n" -"PO-Revision-Date: 2012-09-26 11:20+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-12-02 00:02+0100\n" +"PO-Revision-Date: 2012-12-01 18:27+0000\n" +"Last-Translator: Rancher \n" "Language-Team: Serbian (http://www.transifex.com/projects/p/owncloud/language/sr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -20,281 +22,248 @@ msgstr "" #: ajax/upload.php:20 msgid "There is no error, the file uploaded with success" -msgstr "Нема грешке, фајл је успешно послат" +msgstr "Није дошло до грешке. Датотека је успешно отпремљена." #: ajax/upload.php:21 -msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" -msgstr "Послати фајл превазилази директиву upload_max_filesize из " +msgid "" +"The uploaded file exceeds the upload_max_filesize directive in php.ini: " +msgstr "Отпремљена датотека прелази смерницу upload_max_filesize у датотеци php.ini:" -#: ajax/upload.php:22 +#: ajax/upload.php:23 msgid "" "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " "the HTML form" -msgstr "Послати фајл превазилази директиву MAX_FILE_SIZE која је наведена у ХТМЛ форми" +msgstr "Отпремљена датотека прелази смерницу MAX_FILE_SIZE која је наведена у HTML обрасцу" -#: ajax/upload.php:23 +#: ajax/upload.php:25 msgid "The uploaded file was only partially uploaded" -msgstr "Послати фајл је само делимично отпремљен!" +msgstr "Датотека је делимично отпремљена" -#: ajax/upload.php:24 +#: ajax/upload.php:26 msgid "No file was uploaded" -msgstr "Ниједан фајл није послат" +msgstr "Датотека није отпремљена" -#: ajax/upload.php:25 +#: ajax/upload.php:27 msgid "Missing a temporary folder" msgstr "Недостаје привремена фасцикла" -#: ajax/upload.php:26 +#: ajax/upload.php:28 msgid "Failed to write to disk" -msgstr "" +msgstr "Не могу да пишем на диск" -#: appinfo/app.php:6 +#: appinfo/app.php:10 msgid "Files" -msgstr "Фајлови" +msgstr "Датотеке" -#: js/fileactions.js:108 templates/index.php:62 +#: js/fileactions.js:117 templates/index.php:83 templates/index.php:84 msgid "Unshare" -msgstr "" +msgstr "Укини дељење" -#: js/fileactions.js:110 templates/index.php:64 +#: js/fileactions.js:119 templates/index.php:89 templates/index.php:90 msgid "Delete" msgstr "Обриши" -#: js/fileactions.js:182 +#: js/fileactions.js:181 msgid "Rename" -msgstr "" +msgstr "Преименуј" -#: js/filelist.js:190 js/filelist.js:192 -msgid "already exists" -msgstr "" +#: js/filelist.js:201 js/filelist.js:203 +msgid "{new_name} already exists" +msgstr "{new_name} већ постоји" -#: js/filelist.js:190 js/filelist.js:192 +#: js/filelist.js:201 js/filelist.js:203 msgid "replace" -msgstr "" +msgstr "замени" -#: js/filelist.js:190 +#: js/filelist.js:201 msgid "suggest name" -msgstr "" +msgstr "предложи назив" -#: js/filelist.js:190 js/filelist.js:192 +#: js/filelist.js:201 js/filelist.js:203 msgid "cancel" -msgstr "" +msgstr "откажи" -#: js/filelist.js:239 js/filelist.js:241 -msgid "replaced" -msgstr "" +#: js/filelist.js:250 +msgid "replaced {new_name}" +msgstr "замењено {new_name}" -#: js/filelist.js:239 js/filelist.js:241 js/filelist.js:273 js/filelist.js:275 +#: js/filelist.js:250 js/filelist.js:252 js/filelist.js:284 js/filelist.js:286 msgid "undo" -msgstr "" +msgstr "опозови" -#: js/filelist.js:241 -msgid "with" -msgstr "" +#: js/filelist.js:252 +msgid "replaced {new_name} with {old_name}" +msgstr "замењено {new_name} са {old_name}" -#: js/filelist.js:273 -msgid "unshared" -msgstr "" +#: js/filelist.js:284 +msgid "unshared {files}" +msgstr "укинуто дељење {files}" -#: js/filelist.js:275 -msgid "deleted" -msgstr "" +#: js/filelist.js:286 +msgid "deleted {files}" +msgstr "обрисано {files}" + +#: js/files.js:33 +msgid "" +"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not " +"allowed." +msgstr "Неисправан назив. Следећи знакови нису дозвољени: \\, /, <, >, :, \", |, ? и *." -#: js/files.js:179 +#: js/files.js:183 msgid "generating ZIP-file, it may take some time." -msgstr "" +msgstr "правим ZIP датотеку…" -#: js/files.js:208 +#: js/files.js:218 msgid "Unable to upload your file as it is a directory or has 0 bytes" -msgstr "" +msgstr "Не могу да отпремим датотеку као фасциклу или она има 0 бајтова" -#: js/files.js:208 +#: js/files.js:218 msgid "Upload Error" -msgstr "" +msgstr "Грешка при отпремању" + +#: js/files.js:235 +msgid "Close" +msgstr "Затвори" -#: js/files.js:236 js/files.js:341 js/files.js:371 +#: js/files.js:254 js/files.js:368 js/files.js:398 msgid "Pending" -msgstr "" +msgstr "На чекању" -#: js/files.js:256 +#: js/files.js:274 msgid "1 file uploading" -msgstr "" +msgstr "Отпремам 1 датотеку" -#: js/files.js:259 js/files.js:304 js/files.js:319 -msgid "files uploading" -msgstr "" +#: js/files.js:277 js/files.js:331 js/files.js:346 +msgid "{count} files uploading" +msgstr "Отпремам {count} датотеке/а" -#: js/files.js:322 js/files.js:355 +#: js/files.js:349 js/files.js:382 msgid "Upload cancelled." -msgstr "" +msgstr "Отпремање је прекинуто." -#: js/files.js:424 +#: js/files.js:451 msgid "" "File upload is in progress. Leaving the page now will cancel the upload." -msgstr "" +msgstr "Отпремање датотеке је у току. Ако сада напустите страницу, прекинућете отпремање." -#: js/files.js:494 -msgid "Invalid name, '/' is not allowed." -msgstr "" +#: js/files.js:523 +msgid "Invalid folder name. Usage of \"Shared\" is reserved by Owncloud" +msgstr "Неисправан назив фасцикле. „Дељено“ користи Оунклауд." -#: js/files.js:667 -msgid "files scanned" -msgstr "" +#: js/files.js:704 +msgid "{count} files scanned" +msgstr "Скенирано датотека: {count}" -#: js/files.js:675 +#: js/files.js:712 msgid "error while scanning" -msgstr "" +msgstr "грешка при скенирању" -#: js/files.js:748 templates/index.php:48 +#: js/files.js:785 templates/index.php:65 msgid "Name" -msgstr "Име" +msgstr "Назив" -#: js/files.js:749 templates/index.php:56 +#: js/files.js:786 templates/index.php:76 msgid "Size" msgstr "Величина" -#: js/files.js:750 templates/index.php:58 +#: js/files.js:787 templates/index.php:78 msgid "Modified" -msgstr "Задња измена" - -#: js/files.js:777 -msgid "folder" -msgstr "" - -#: js/files.js:779 -msgid "folders" -msgstr "" - -#: js/files.js:787 -msgid "file" -msgstr "" - -#: js/files.js:789 -msgid "files" -msgstr "" - -#: js/files.js:833 -msgid "seconds ago" -msgstr "" - -#: js/files.js:834 -msgid "minute ago" -msgstr "" - -#: js/files.js:835 -msgid "minutes ago" -msgstr "" - -#: js/files.js:838 -msgid "today" -msgstr "" - -#: js/files.js:839 -msgid "yesterday" -msgstr "" +msgstr "Измењено" -#: js/files.js:840 -msgid "days ago" -msgstr "" +#: js/files.js:814 +msgid "1 folder" +msgstr "1 фасцикла" -#: js/files.js:841 -msgid "last month" -msgstr "" - -#: js/files.js:843 -msgid "months ago" -msgstr "" +#: js/files.js:816 +msgid "{count} folders" +msgstr "{count} фасцикле/и" -#: js/files.js:844 -msgid "last year" -msgstr "" +#: js/files.js:824 +msgid "1 file" +msgstr "1 датотека" -#: js/files.js:845 -msgid "years ago" -msgstr "" +#: js/files.js:826 +msgid "{count} files" +msgstr "{count} датотеке/а" #: templates/admin.php:5 msgid "File handling" -msgstr "" +msgstr "Управљање датотекама" #: templates/admin.php:7 msgid "Maximum upload size" -msgstr "Максимална величина пошиљке" +msgstr "Највећа величина датотеке" -#: templates/admin.php:7 +#: templates/admin.php:9 msgid "max. possible: " -msgstr "" +msgstr "највећа величина:" -#: templates/admin.php:9 +#: templates/admin.php:12 msgid "Needed for multi-file and folder downloads." -msgstr "" +msgstr "Неопходно за преузимање вишеделних датотека и фасцикли." -#: templates/admin.php:9 +#: templates/admin.php:14 msgid "Enable ZIP-download" -msgstr "" +msgstr "Омогући преузимање у ZIP-у" -#: templates/admin.php:11 +#: templates/admin.php:17 msgid "0 is unlimited" -msgstr "" +msgstr "0 је неограничено" -#: templates/admin.php:12 +#: templates/admin.php:19 msgid "Maximum input size for ZIP files" -msgstr "" +msgstr "Највећа величина ZIP датотека" -#: templates/admin.php:14 +#: templates/admin.php:23 msgid "Save" -msgstr "" +msgstr "Сачувај" #: templates/index.php:7 msgid "New" -msgstr "Нови" +msgstr "Нова" -#: templates/index.php:9 +#: templates/index.php:10 msgid "Text file" -msgstr "текстуални фајл" +msgstr "текстуална датотека" -#: templates/index.php:10 +#: templates/index.php:12 msgid "Folder" msgstr "фасцикла" -#: templates/index.php:11 -msgid "From url" -msgstr "" +#: templates/index.php:14 +msgid "From link" +msgstr "Са везе" -#: templates/index.php:20 +#: templates/index.php:35 msgid "Upload" -msgstr "Пошаљи" +msgstr "Отпреми" -#: templates/index.php:27 +#: templates/index.php:43 msgid "Cancel upload" -msgstr "" +msgstr "Прекини отпремање" -#: templates/index.php:40 +#: templates/index.php:57 msgid "Nothing in here. Upload something!" -msgstr "Овде нема ничег. Пошаљите нешто!" - -#: templates/index.php:50 -msgid "Share" -msgstr "" +msgstr "Овде нема ничег. Отпремите нешто!" -#: templates/index.php:52 +#: templates/index.php:71 msgid "Download" msgstr "Преузми" -#: templates/index.php:75 +#: templates/index.php:103 msgid "Upload too large" -msgstr "Пошиљка је превелика" +msgstr "Датотека је превелика" -#: templates/index.php:77 +#: templates/index.php:105 msgid "" "The files you are trying to upload exceed the maximum size for file uploads " "on this server." -msgstr "Фајлови које желите да пошаљете превазилазе ограничење максималне величине пошиљке на овом серверу." +msgstr "Датотеке које желите да отпремите прелазе ограничење у величини." -#: templates/index.php:82 +#: templates/index.php:110 msgid "Files are being scanned, please wait." -msgstr "" +msgstr "Скенирам датотеке…" -#: templates/index.php:85 +#: templates/index.php:113 msgid "Current scanning" -msgstr "" +msgstr "Тренутно скенирање" diff --git a/l10n/sr/files_encryption.po b/l10n/sr/files_encryption.po index b1c6edcc0c17626ca571c32ffd9bd6b7ca88de97..a0a21dd2c8412e0316440aedb7304c3583936eab 100644 --- a/l10n/sr/files_encryption.po +++ b/l10n/sr/files_encryption.po @@ -3,32 +3,34 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# , 2012. +# , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:33+0000\n" -"Last-Translator: FULL NAME \n" +"POT-Creation-Date: 2012-12-05 00:04+0100\n" +"PO-Revision-Date: 2012-12-04 15:06+0000\n" +"Last-Translator: Kostic \n" "Language-Team: Serbian (http://www.transifex.com/projects/p/owncloud/language/sr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: sr\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" +"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" #: templates/settings.php:3 msgid "Encryption" -msgstr "" +msgstr "Шифровање" #: templates/settings.php:4 msgid "Exclude the following file types from encryption" -msgstr "" +msgstr "Не шифруј следеће типове датотека" #: templates/settings.php:5 msgid "None" -msgstr "" +msgstr "Ништа" -#: templates/settings.php:10 +#: templates/settings.php:12 msgid "Enable Encryption" -msgstr "" +msgstr "Омогући шифровање" diff --git a/l10n/sr/files_external.po b/l10n/sr/files_external.po index e6b612a1bd1993cf910aaa2b27df534fecabf23e..e11eca2dc5027f07d66b314b137c406b64695610 100644 --- a/l10n/sr/files_external.po +++ b/l10n/sr/files_external.po @@ -7,9 +7,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-02 23:16+0200\n" -"PO-Revision-Date: 2012-10-02 21:17+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-12-12 00:12+0100\n" +"PO-Revision-Date: 2012-12-11 23:13+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Serbian (http://www.transifex.com/projects/p/owncloud/language/sr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -41,66 +41,80 @@ msgstr "" msgid "Error configuring Google Drive storage" msgstr "" +#: lib/config.php:434 +msgid "" +"Warning: \"smbclient\" is not installed. Mounting of CIFS/SMB shares " +"is not possible. Please ask your system administrator to install it." +msgstr "" + +#: lib/config.php:435 +msgid "" +"Warning: The FTP support in PHP is not enabled or installed. Mounting" +" of FTP shares is not possible. Please ask your system administrator to " +"install it." +msgstr "" + #: templates/settings.php:3 msgid "External Storage" msgstr "" -#: templates/settings.php:7 templates/settings.php:19 +#: templates/settings.php:8 templates/settings.php:22 msgid "Mount point" msgstr "" -#: templates/settings.php:8 +#: templates/settings.php:9 msgid "Backend" msgstr "" -#: templates/settings.php:9 +#: templates/settings.php:10 msgid "Configuration" msgstr "" -#: templates/settings.php:10 +#: templates/settings.php:11 msgid "Options" msgstr "" -#: templates/settings.php:11 +#: templates/settings.php:12 msgid "Applicable" msgstr "" -#: templates/settings.php:23 +#: templates/settings.php:27 msgid "Add mount point" msgstr "" -#: templates/settings.php:54 templates/settings.php:62 +#: templates/settings.php:85 msgid "None set" msgstr "" -#: templates/settings.php:63 +#: templates/settings.php:86 msgid "All Users" msgstr "" -#: templates/settings.php:64 +#: templates/settings.php:87 msgid "Groups" msgstr "" -#: templates/settings.php:69 +#: templates/settings.php:95 msgid "Users" msgstr "" -#: templates/settings.php:77 templates/settings.php:107 +#: templates/settings.php:108 templates/settings.php:109 +#: templates/settings.php:149 templates/settings.php:150 msgid "Delete" msgstr "" -#: templates/settings.php:87 +#: templates/settings.php:124 msgid "Enable User External Storage" msgstr "" -#: templates/settings.php:88 +#: templates/settings.php:125 msgid "Allow users to mount their own external storage" msgstr "" -#: templates/settings.php:99 +#: templates/settings.php:139 msgid "SSL root certificates" msgstr "" -#: templates/settings.php:113 +#: templates/settings.php:158 msgid "Import Root Certificate" msgstr "" diff --git a/l10n/sr/files_odfviewer.po b/l10n/sr/files_odfviewer.po deleted file mode 100644 index 9b251f5769fb3cd8d9c48c303fc8a360a3a99a7d..0000000000000000000000000000000000000000 --- a/l10n/sr/files_odfviewer.po +++ /dev/null @@ -1,22 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 02:18+0200\n" -"PO-Revision-Date: 2012-08-26 00:19+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Serbian (http://www.transifex.com/projects/p/owncloud/language/sr/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: sr\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" - -#: js/viewer.js:9 -msgid "Close" -msgstr "" diff --git a/l10n/sr/files_pdfviewer.po b/l10n/sr/files_pdfviewer.po deleted file mode 100644 index 2cd94b83aa0b5ea13d05ddc71dd206992e22906f..0000000000000000000000000000000000000000 --- a/l10n/sr/files_pdfviewer.po +++ /dev/null @@ -1,42 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 02:18+0200\n" -"PO-Revision-Date: 2012-08-26 00:19+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Serbian (http://www.transifex.com/projects/p/owncloud/language/sr/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: sr\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" - -#: js/viewer.js:22 -msgid "Previous" -msgstr "" - -#: js/viewer.js:23 -msgid "Next" -msgstr "" - -#: js/viewer.js:29 -msgid "Page Width" -msgstr "" - -#: js/viewer.js:29 -msgid "Page Fit" -msgstr "" - -#: js/viewer.js:30 -msgid "Print" -msgstr "" - -#: js/viewer.js:32 -msgid "Download" -msgstr "" diff --git a/l10n/sr/files_texteditor.po b/l10n/sr/files_texteditor.po deleted file mode 100644 index d7e1815f9a3d8761974166870464b80d92e5c9ef..0000000000000000000000000000000000000000 --- a/l10n/sr/files_texteditor.po +++ /dev/null @@ -1,44 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 01:17+0200\n" -"PO-Revision-Date: 2012-08-25 23:18+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Serbian (http://www.transifex.com/projects/p/owncloud/language/sr/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: sr\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" - -#: js/aceeditor/mode-coldfusion-uncompressed.js:1568 -#: js/aceeditor/mode-liquid-uncompressed.js:902 -#: js/aceeditor/mode-svg-uncompressed.js:1575 -msgid "regex" -msgstr "" - -#: js/editor.js:72 js/editor.js:156 js/editor.js:163 -msgid "Save" -msgstr "" - -#: js/editor.js:74 -msgid "Close" -msgstr "" - -#: js/editor.js:149 -msgid "Saving..." -msgstr "" - -#: js/editor.js:239 -msgid "An error occurred!" -msgstr "" - -#: js/editor.js:266 -msgid "There were unsaved changes, click here to go back" -msgstr "" diff --git a/l10n/sr/gallery.po b/l10n/sr/gallery.po deleted file mode 100644 index befc9958cc5e7028c06d1fdc7a0d0ff082fe3657..0000000000000000000000000000000000000000 --- a/l10n/sr/gallery.po +++ /dev/null @@ -1,95 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Slobodan Terzić , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-06-06 00:12+0200\n" -"PO-Revision-Date: 2012-06-05 22:15+0000\n" -"Last-Translator: icewind \n" -"Language-Team: Serbian (http://www.transifex.net/projects/p/owncloud/language/sr/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: sr\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" - -#: appinfo/app.php:37 -msgid "Pictures" -msgstr "" - -#: js/album_cover.js:44 -msgid "Share gallery" -msgstr "" - -#: js/album_cover.js:64 js/album_cover.js:100 js/album_cover.js:133 -msgid "Error: " -msgstr "" - -#: js/album_cover.js:64 js/album_cover.js:100 -msgid "Internal error" -msgstr "" - -#: js/album_cover.js:114 -msgid "Scanning root" -msgstr "" - -#: js/album_cover.js:115 -msgid "Default order" -msgstr "" - -#: js/album_cover.js:116 -msgid "Ascending" -msgstr "" - -#: js/album_cover.js:116 -msgid "Descending" -msgstr "" - -#: js/album_cover.js:117 templates/index.php:19 -msgid "Settings" -msgstr "" - -#: js/album_cover.js:122 -msgid "Scanning root cannot be empty" -msgstr "" - -#: js/album_cover.js:122 js/album_cover.js:133 -msgid "Error" -msgstr "" - -#: templates/index.php:16 -msgid "Rescan" -msgstr "Претражи поново" - -#: templates/index.php:17 -msgid "Stop" -msgstr "" - -#: templates/index.php:18 -msgid "Share" -msgstr "" - -#: templates/view_album.php:19 -msgid "Back" -msgstr "Назад" - -#: templates/view_album.php:36 -msgid "Remove confirmation" -msgstr "" - -#: templates/view_album.php:37 -msgid "Do you want to remove album" -msgstr "" - -#: templates/view_album.php:40 -msgid "Change album name" -msgstr "" - -#: templates/view_album.php:43 -msgid "New album name" -msgstr "" diff --git a/l10n/sr/lib.po b/l10n/sr/lib.po index f8fa96c4864bcbcfca9745ff5bb964ce2a2ed39b..0ffcb3e09d3cd7f91b6ccb54065f3f911c5d2160 100644 --- a/l10n/sr/lib.po +++ b/l10n/sr/lib.po @@ -3,123 +3,152 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# Ivan Petrović , 2012. +# , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-09-01 02:01+0200\n" -"PO-Revision-Date: 2012-09-01 00:02+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-12-02 00:02+0100\n" +"PO-Revision-Date: 2012-12-01 19:18+0000\n" +"Last-Translator: Rancher \n" "Language-Team: Serbian (http://www.transifex.com/projects/p/owncloud/language/sr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: sr\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" +"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" -#: app.php:288 +#: app.php:285 msgid "Help" -msgstr "" +msgstr "Помоћ" -#: app.php:295 +#: app.php:292 msgid "Personal" -msgstr "" +msgstr "Лично" -#: app.php:300 +#: app.php:297 msgid "Settings" -msgstr "" +msgstr "Подешавања" -#: app.php:305 +#: app.php:302 msgid "Users" -msgstr "" +msgstr "Корисници" -#: app.php:312 +#: app.php:309 msgid "Apps" -msgstr "" +msgstr "Апликације" -#: app.php:314 +#: app.php:311 msgid "Admin" -msgstr "" +msgstr "Администрација" -#: files.php:280 +#: files.php:361 msgid "ZIP download is turned off." -msgstr "" +msgstr "Преузимање ZIP-а је искључено." -#: files.php:281 +#: files.php:362 msgid "Files need to be downloaded one by one." -msgstr "" +msgstr "Датотеке морате преузимати једну по једну." -#: files.php:281 files.php:306 +#: files.php:362 files.php:387 msgid "Back to Files" -msgstr "" +msgstr "Назад на датотеке" -#: files.php:305 +#: files.php:386 msgid "Selected files too large to generate zip file." -msgstr "" +msgstr "Изабране датотеке су превелике да бисте направили ZIP датотеку." #: json.php:28 msgid "Application is not enabled" -msgstr "" +msgstr "Апликација није омогућена" -#: json.php:39 json.php:63 json.php:75 +#: json.php:39 json.php:64 json.php:77 json.php:89 msgid "Authentication error" -msgstr "" +msgstr "Грешка при провери идентитета" #: json.php:51 msgid "Token expired. Please reload page." -msgstr "" +msgstr "Жетон је истекао. Поново учитајте страницу." + +#: search/provider/file.php:17 search/provider/file.php:35 +msgid "Files" +msgstr "Датотеке" -#: template.php:86 +#: search/provider/file.php:26 search/provider/file.php:33 +msgid "Text" +msgstr "Текст" + +#: search/provider/file.php:29 +msgid "Images" +msgstr "Слике" + +#: template.php:103 msgid "seconds ago" -msgstr "" +msgstr "пре неколико секунди" -#: template.php:87 +#: template.php:104 msgid "1 minute ago" -msgstr "" +msgstr "пре 1 минут" -#: template.php:88 +#: template.php:105 #, php-format msgid "%d minutes ago" -msgstr "" +msgstr "пре %d минута" + +#: template.php:106 +msgid "1 hour ago" +msgstr "пре 1 сат" -#: template.php:91 +#: template.php:107 +#, php-format +msgid "%d hours ago" +msgstr "пре %d сата/и" + +#: template.php:108 msgid "today" -msgstr "" +msgstr "данас" -#: template.php:92 +#: template.php:109 msgid "yesterday" -msgstr "" +msgstr "јуче" -#: template.php:93 +#: template.php:110 #, php-format msgid "%d days ago" -msgstr "" +msgstr "пре %d дана" -#: template.php:94 +#: template.php:111 msgid "last month" -msgstr "" +msgstr "прошлог месеца" -#: template.php:95 -msgid "months ago" -msgstr "" +#: template.php:112 +#, php-format +msgid "%d months ago" +msgstr "пре %d месеца/и" -#: template.php:96 +#: template.php:113 msgid "last year" -msgstr "" +msgstr "прошле године" -#: template.php:97 +#: template.php:114 msgid "years ago" -msgstr "" +msgstr "година раније" -#: updater.php:66 +#: updater.php:75 #, php-format msgid "%s is available. Get more information" -msgstr "" +msgstr "%s је доступна. Погледајте више информација." -#: updater.php:68 +#: updater.php:77 msgid "up to date" -msgstr "" +msgstr "је ажурна." -#: updater.php:71 +#: updater.php:80 msgid "updates check is disabled" -msgstr "" +msgstr "провера ажурирања је онемогућена." + +#: vcategories.php:188 vcategories.php:249 +#, php-format +msgid "Could not find category \"%s\"" +msgstr "Не могу да пронађем категорију „%s“." diff --git a/l10n/sr/media.po b/l10n/sr/media.po deleted file mode 100644 index 49f28998de20b8902bc06b394182b554b0219b65..0000000000000000000000000000000000000000 --- a/l10n/sr/media.po +++ /dev/null @@ -1,67 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Slobodan Terzić , 2011. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-06-06 00:12+0200\n" -"PO-Revision-Date: 2012-06-05 22:15+0000\n" -"Last-Translator: icewind \n" -"Language-Team: Serbian (http://www.transifex.net/projects/p/owncloud/language/sr/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: sr\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" - -#: appinfo/app.php:32 templates/player.php:8 -msgid "Music" -msgstr "Музика" - -#: js/music.js:18 -msgid "Add album to playlist" -msgstr "" - -#: templates/music.php:3 templates/player.php:12 -msgid "Play" -msgstr "Пусти" - -#: templates/music.php:4 templates/music.php:26 templates/player.php:13 -msgid "Pause" -msgstr "Паузирај" - -#: templates/music.php:5 -msgid "Previous" -msgstr "Претходна" - -#: templates/music.php:6 templates/player.php:14 -msgid "Next" -msgstr "Следећа" - -#: templates/music.php:7 -msgid "Mute" -msgstr "Искључи звук" - -#: templates/music.php:8 -msgid "Unmute" -msgstr "Укључи звук" - -#: templates/music.php:25 -msgid "Rescan Collection" -msgstr "Поново претражи збирку" - -#: templates/music.php:37 -msgid "Artist" -msgstr "Извођач" - -#: templates/music.php:38 -msgid "Album" -msgstr "Албум" - -#: templates/music.php:39 -msgid "Title" -msgstr "Наслов" diff --git a/l10n/sr/settings.po b/l10n/sr/settings.po index 76f4027a7f30b5448cd251e3f16e2e9fe66b3509..3d725b35b0890ceed2c0b334ef411cf2d9852b0c 100644 --- a/l10n/sr/settings.po +++ b/l10n/sr/settings.po @@ -3,14 +3,15 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# , 2012. # Slobodan Terzić , 2011, 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-09 02:03+0200\n" -"PO-Revision-Date: 2012-10-09 00:04+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-12-05 00:04+0100\n" +"PO-Revision-Date: 2012-12-04 15:29+0000\n" +"Last-Translator: Kostic \n" "Language-Team: Serbian (http://www.transifex.com/projects/p/owncloud/language/sr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -18,175 +19,91 @@ msgstr "" "Language: sr\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" -#: ajax/apps/ocs.php:23 +#: ajax/apps/ocs.php:20 msgid "Unable to load list from App Store" -msgstr "" - -#: ajax/creategroup.php:9 ajax/removeuser.php:13 ajax/setquota.php:18 -#: ajax/togglegroups.php:15 -msgid "Authentication error" -msgstr "" +msgstr "Грешка приликом учитавања списка из Складишта Програма" -#: ajax/creategroup.php:19 +#: ajax/creategroup.php:10 msgid "Group already exists" -msgstr "" +msgstr "Група већ постоји" -#: ajax/creategroup.php:28 +#: ajax/creategroup.php:19 msgid "Unable to add group" -msgstr "" +msgstr "Не могу да додам групу" -#: ajax/enableapp.php:14 +#: ajax/enableapp.php:12 msgid "Could not enable app. " -msgstr "" +msgstr "Не могу да укључим програм" -#: ajax/lostpassword.php:14 +#: ajax/lostpassword.php:12 msgid "Email saved" -msgstr "" +msgstr "Е-порука сачувана" -#: ajax/lostpassword.php:16 +#: ajax/lostpassword.php:14 msgid "Invalid email" -msgstr "" +msgstr "Неисправна е-адреса" -#: ajax/openid.php:16 +#: ajax/openid.php:13 msgid "OpenID Changed" msgstr "OpenID је измењен" -#: ajax/openid.php:18 ajax/setlanguage.php:20 ajax/setlanguage.php:23 +#: ajax/openid.php:15 ajax/setlanguage.php:17 ajax/setlanguage.php:20 msgid "Invalid request" msgstr "Неисправан захтев" -#: ajax/removegroup.php:16 +#: ajax/removegroup.php:13 msgid "Unable to delete group" -msgstr "" +msgstr "Не могу да уклоним групу" + +#: ajax/removeuser.php:15 ajax/setquota.php:15 ajax/togglegroups.php:18 +msgid "Authentication error" +msgstr "Грешка при аутентификацији" -#: ajax/removeuser.php:22 +#: ajax/removeuser.php:24 msgid "Unable to delete user" -msgstr "" +msgstr "Не могу да уклоним корисника" -#: ajax/setlanguage.php:18 +#: ajax/setlanguage.php:15 msgid "Language changed" -msgstr "Језик је измењен" +msgstr "Језик је промењен" + +#: ajax/togglegroups.php:12 +msgid "Admins can't remove themself from the admin group" +msgstr "Управници не могу себе уклонити из админ групе" -#: ajax/togglegroups.php:25 +#: ajax/togglegroups.php:28 #, php-format msgid "Unable to add user to group %s" -msgstr "" +msgstr "Не могу да додам корисника у групу %s" -#: ajax/togglegroups.php:31 +#: ajax/togglegroups.php:34 #, php-format msgid "Unable to remove user from group %s" -msgstr "" +msgstr "Не могу да уклоним корисника из групе %s" -#: js/apps.js:28 js/apps.js:65 +#: js/apps.js:28 js/apps.js:67 msgid "Disable" -msgstr "" +msgstr "Искључи" -#: js/apps.js:28 js/apps.js:54 +#: js/apps.js:28 js/apps.js:55 msgid "Enable" -msgstr "" +msgstr "Укључи" #: js/personal.js:69 msgid "Saving..." -msgstr "" +msgstr "Чување у току..." -#: personal.php:47 personal.php:48 +#: personal.php:42 personal.php:43 msgid "__language_name__" -msgstr "" - -#: templates/admin.php:14 -msgid "Security Warning" -msgstr "" - -#: templates/admin.php:17 -msgid "" -"Your data directory and your files are probably accessible from the " -"internet. The .htaccess file that ownCloud provides is not working. We " -"strongly suggest that you configure your webserver in a way that the data " -"directory is no longer accessible or you move the data directory outside the" -" webserver document root." -msgstr "" - -#: templates/admin.php:31 -msgid "Cron" -msgstr "" - -#: templates/admin.php:37 -msgid "Execute one task with each page loaded" -msgstr "" - -#: templates/admin.php:43 -msgid "" -"cron.php is registered at a webcron service. Call the cron.php page in the " -"owncloud root once a minute over http." -msgstr "" - -#: templates/admin.php:49 -msgid "" -"Use systems cron service. Call the cron.php file in the owncloud folder via " -"a system cronjob once a minute." -msgstr "" - -#: templates/admin.php:56 -msgid "Sharing" -msgstr "" - -#: templates/admin.php:61 -msgid "Enable Share API" -msgstr "" - -#: templates/admin.php:62 -msgid "Allow apps to use the Share API" -msgstr "" - -#: templates/admin.php:67 -msgid "Allow links" -msgstr "" - -#: templates/admin.php:68 -msgid "Allow users to share items to the public with links" -msgstr "" - -#: templates/admin.php:73 -msgid "Allow resharing" -msgstr "" - -#: templates/admin.php:74 -msgid "Allow users to share items shared with them again" -msgstr "" - -#: templates/admin.php:79 -msgid "Allow users to share with anyone" -msgstr "" - -#: templates/admin.php:81 -msgid "Allow users to only share with users in their groups" -msgstr "" - -#: templates/admin.php:88 -msgid "Log" -msgstr "" - -#: templates/admin.php:116 -msgid "More" -msgstr "" - -#: templates/admin.php:124 -msgid "" -"Developed by the ownCloud community, the source code is " -"licensed under the AGPL." -msgstr "" +msgstr "__language_name__" #: templates/apps.php:10 msgid "Add your App" -msgstr "" +msgstr "Додајте ваш програм" #: templates/apps.php:11 msgid "More Apps" -msgstr "" +msgstr "Више програма" #: templates/apps.php:27 msgid "Select an App" @@ -194,52 +111,52 @@ msgstr "Изаберите програм" #: templates/apps.php:31 msgid "See application page at apps.owncloud.com" -msgstr "" +msgstr "Погледајте страницу са програмима на apps.owncloud.com" #: templates/apps.php:32 msgid "-licensed by " -msgstr "" +msgstr "-лиценцирао " #: templates/help.php:9 msgid "Documentation" -msgstr "" +msgstr "Документација" #: templates/help.php:10 msgid "Managing Big Files" -msgstr "" +msgstr "Управљање великим датотекама" #: templates/help.php:11 msgid "Ask a question" msgstr "Поставите питање" -#: templates/help.php:23 +#: templates/help.php:22 msgid "Problems connecting to help database." msgstr "Проблем у повезивању са базом помоћи" -#: templates/help.php:24 +#: templates/help.php:23 msgid "Go there manually." msgstr "Отиђите тамо ручно." -#: templates/help.php:32 +#: templates/help.php:31 msgid "Answer" msgstr "Одговор" #: templates/personal.php:8 #, php-format -msgid "You have used %s of the available %s" -msgstr "" +msgid "You have used %s of the available %s" +msgstr "Искористили сте %s од дозвољених %s" #: templates/personal.php:12 msgid "Desktop and Mobile Syncing Clients" -msgstr "" +msgstr "Стони и мобилни клијенти за усклађивање" #: templates/personal.php:13 msgid "Download" -msgstr "" +msgstr "Преузимање" #: templates/personal.php:19 msgid "Your password was changed" -msgstr "" +msgstr "Лозинка је промењена" #: templates/personal.php:20 msgid "Unable to change your password" @@ -271,7 +188,7 @@ msgstr "Ваша адреса е-поште" #: templates/personal.php:32 msgid "Fill in an email address to enable password recovery" -msgstr "" +msgstr "Ун" #: templates/personal.php:38 templates/personal.php:39 msgid "Language" @@ -285,6 +202,16 @@ msgstr " Помозите у превођењу" msgid "use this address to connect to your ownCloud in your file manager" msgstr "користите ову адресу да би се повезали на ownCloud путем менаџњера фајлова" +#: templates/personal.php:61 +msgid "" +"Developed by the ownCloud community, the source code is " +"licensed under the AGPL." +msgstr "Развијају Оунклауд (ownCloud) заједница, изворни код је издат под АГПЛ лиценцом." + #: templates/users.php:21 templates/users.php:76 msgid "Name" msgstr "Име" @@ -303,19 +230,19 @@ msgstr "Направи" #: templates/users.php:35 msgid "Default Quota" -msgstr "" +msgstr "Подразумевано ограничење" #: templates/users.php:55 templates/users.php:138 msgid "Other" -msgstr "" +msgstr "Друго" #: templates/users.php:80 templates/users.php:112 msgid "Group Admin" -msgstr "" +msgstr "Управник групе" #: templates/users.php:82 msgid "Quota" -msgstr "" +msgstr "Ограничење" #: templates/users.php:146 msgid "Delete" diff --git a/l10n/sr/tasks.po b/l10n/sr/tasks.po deleted file mode 100644 index d20e414436bca6e1283e636d2f0179e9aecd7075..0000000000000000000000000000000000000000 --- a/l10n/sr/tasks.po +++ /dev/null @@ -1,106 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:44+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Serbian (http://www.transifex.com/projects/p/owncloud/language/sr/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: sr\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" - -#: ajax/update_property.php:51 lib/app.php:89 lib/app.php:101 -msgid "Invalid date/time" -msgstr "" - -#: appinfo/app.php:11 -msgid "Tasks" -msgstr "" - -#: js/tasks.js:415 -msgid "No category" -msgstr "" - -#: lib/app.php:33 -msgid "Unspecified" -msgstr "" - -#: lib/app.php:34 -msgid "1=highest" -msgstr "" - -#: lib/app.php:38 -msgid "5=medium" -msgstr "" - -#: lib/app.php:42 -msgid "9=lowest" -msgstr "" - -#: lib/app.php:81 -msgid "Empty Summary" -msgstr "" - -#: lib/app.php:93 -msgid "Invalid percent complete" -msgstr "" - -#: lib/app.php:107 -msgid "Invalid priority" -msgstr "" - -#: templates/tasks.php:3 -msgid "Add Task" -msgstr "" - -#: templates/tasks.php:4 -msgid "Order Due" -msgstr "" - -#: templates/tasks.php:5 -msgid "Order List" -msgstr "" - -#: templates/tasks.php:6 -msgid "Order Complete" -msgstr "" - -#: templates/tasks.php:7 -msgid "Order Location" -msgstr "" - -#: templates/tasks.php:8 -msgid "Order Priority" -msgstr "" - -#: templates/tasks.php:9 -msgid "Order Label" -msgstr "" - -#: templates/tasks.php:16 -msgid "Loading tasks..." -msgstr "" - -#: templates/tasks.php:20 -msgid "Important" -msgstr "" - -#: templates/tasks.php:23 -msgid "More" -msgstr "" - -#: templates/tasks.php:26 -msgid "Less" -msgstr "" - -#: templates/tasks.php:29 -msgid "Delete" -msgstr "" diff --git a/l10n/sr/user_migrate.po b/l10n/sr/user_migrate.po deleted file mode 100644 index 9c6020b5fc4a8f263c42728d2c82e45929ce09bc..0000000000000000000000000000000000000000 --- a/l10n/sr/user_migrate.po +++ /dev/null @@ -1,51 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:45+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Serbian (http://www.transifex.com/projects/p/owncloud/language/sr/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: sr\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" - -#: js/export.js:14 js/export.js:20 -msgid "Export" -msgstr "" - -#: js/export.js:19 -msgid "Something went wrong while the export file was being generated" -msgstr "" - -#: js/export.js:19 -msgid "An error has occurred" -msgstr "" - -#: templates/settings.php:2 -msgid "Export your user account" -msgstr "" - -#: templates/settings.php:3 -msgid "" -"This will create a compressed file that contains your ownCloud account." -msgstr "" - -#: templates/settings.php:13 -msgid "Import user account" -msgstr "" - -#: templates/settings.php:15 -msgid "ownCloud User Zip" -msgstr "" - -#: templates/settings.php:17 -msgid "Import" -msgstr "" diff --git a/l10n/sr/user_openid.po b/l10n/sr/user_openid.po deleted file mode 100644 index a5de6c42c8d85a541547f099ca3064083fa0e1b8..0000000000000000000000000000000000000000 --- a/l10n/sr/user_openid.po +++ /dev/null @@ -1,54 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:45+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Serbian (http://www.transifex.com/projects/p/owncloud/language/sr/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: sr\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" - -#: templates/nomode.php:12 -msgid "This is an OpenID server endpoint. For more information, see " -msgstr "" - -#: templates/nomode.php:14 -msgid "Identity: " -msgstr "" - -#: templates/nomode.php:15 -msgid "Realm: " -msgstr "" - -#: templates/nomode.php:16 -msgid "User: " -msgstr "" - -#: templates/nomode.php:17 -msgid "Login" -msgstr "" - -#: templates/nomode.php:22 -msgid "Error: No user Selected" -msgstr "" - -#: templates/settings.php:4 -msgid "you can authenticate to other sites with this address" -msgstr "" - -#: templates/settings.php:5 -msgid "Authorized OpenID provider" -msgstr "" - -#: templates/settings.php:6 -msgid "Your address at Wordpress, Identi.ca, …" -msgstr "" diff --git a/l10n/sr/impress.po b/l10n/sr/user_webdavauth.po similarity index 74% rename from l10n/sr/impress.po rename to l10n/sr/user_webdavauth.po index 230778dd99df70d89e7d195851d37ae658cff875..41b10f06711ad478e2d97a0e617bc80f5239bf95 100644 --- a/l10n/sr/impress.po +++ b/l10n/sr/user_webdavauth.po @@ -7,16 +7,16 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 01:17+0200\n" -"PO-Revision-Date: 2012-08-25 23:18+0000\n" +"POT-Creation-Date: 2012-11-09 10:06+0100\n" +"PO-Revision-Date: 2012-11-09 09:06+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: Serbian (http://www.transifex.com/projects/p/owncloud/language/sr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: sr\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" +"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" -#: templates/presentations.php:7 -msgid "Documentation" +#: templates/settings.php:4 +msgid "WebDAV URL: http://" msgstr "" diff --git a/l10n/sr@latin/admin_dependencies_chk.po b/l10n/sr@latin/admin_dependencies_chk.po deleted file mode 100644 index 826e736f5e3f3f78684a4e3cf1df44cbd966a6e2..0000000000000000000000000000000000000000 --- a/l10n/sr@latin/admin_dependencies_chk.po +++ /dev/null @@ -1,73 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:33+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Serbian (Latin) (http://www.transifex.com/projects/p/owncloud/language/sr@latin/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: sr@latin\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" - -#: settings.php:33 -msgid "" -"The php-json module is needed by the many applications for inter " -"communications" -msgstr "" - -#: settings.php:39 -msgid "" -"The php-curl modude is needed to fetch the page title when adding a " -"bookmarks" -msgstr "" - -#: settings.php:45 -msgid "The php-gd module is needed to create thumbnails of your images" -msgstr "" - -#: settings.php:51 -msgid "The php-ldap module is needed connect to your ldap server" -msgstr "" - -#: settings.php:57 -msgid "The php-zip module is needed download multiple files at once" -msgstr "" - -#: settings.php:63 -msgid "" -"The php-mb_multibyte module is needed to manage correctly the encoding." -msgstr "" - -#: settings.php:69 -msgid "The php-ctype module is needed validate data." -msgstr "" - -#: settings.php:75 -msgid "The php-xml module is needed to share files with webdav." -msgstr "" - -#: settings.php:81 -msgid "" -"The allow_url_fopen directive of your php.ini should be set to 1 to retrieve" -" knowledge base from OCS servers" -msgstr "" - -#: settings.php:87 -msgid "The php-pdo module is needed to store owncloud data into a database." -msgstr "" - -#: templates/settings.php:2 -msgid "Dependencies status" -msgstr "" - -#: templates/settings.php:7 -msgid "Used by :" -msgstr "" diff --git a/l10n/sr@latin/admin_migrate.po b/l10n/sr@latin/admin_migrate.po deleted file mode 100644 index b76fec786a60ddd671cd3371efa50820ea219704..0000000000000000000000000000000000000000 --- a/l10n/sr@latin/admin_migrate.po +++ /dev/null @@ -1,32 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:32+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Serbian (Latin) (http://www.transifex.com/projects/p/owncloud/language/sr@latin/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: sr@latin\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" - -#: templates/settings.php:3 -msgid "Export this ownCloud instance" -msgstr "" - -#: templates/settings.php:4 -msgid "" -"This will create a compressed file that contains the data of this owncloud instance.\n" -" Please choose the export type:" -msgstr "" - -#: templates/settings.php:12 -msgid "Export" -msgstr "" diff --git a/l10n/sr@latin/bookmarks.po b/l10n/sr@latin/bookmarks.po deleted file mode 100644 index e78fc1875ccdae07c1865c079fbf2d57231af368..0000000000000000000000000000000000000000 --- a/l10n/sr@latin/bookmarks.po +++ /dev/null @@ -1,60 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-07-28 02:02+0200\n" -"PO-Revision-Date: 2012-07-27 22:17+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Serbian (Latin) (http://www.transifex.com/projects/p/owncloud/language/sr@latin/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: sr@latin\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" - -#: appinfo/app.php:14 -msgid "Bookmarks" -msgstr "" - -#: bookmarksHelper.php:99 -msgid "unnamed" -msgstr "" - -#: templates/bookmarklet.php:5 -msgid "" -"Drag this to your browser bookmarks and click it, when you want to bookmark " -"a webpage quickly:" -msgstr "" - -#: templates/bookmarklet.php:7 -msgid "Read later" -msgstr "" - -#: templates/list.php:13 -msgid "Address" -msgstr "" - -#: templates/list.php:14 -msgid "Title" -msgstr "" - -#: templates/list.php:15 -msgid "Tags" -msgstr "" - -#: templates/list.php:16 -msgid "Save bookmark" -msgstr "" - -#: templates/list.php:22 -msgid "You have no bookmarks" -msgstr "" - -#: templates/settings.php:11 -msgid "Bookmarklet
" -msgstr "" diff --git a/l10n/sr@latin/calendar.po b/l10n/sr@latin/calendar.po deleted file mode 100644 index fd13b07471facf4ad2e08f4a3893474242150842..0000000000000000000000000000000000000000 --- a/l10n/sr@latin/calendar.po +++ /dev/null @@ -1,814 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Slobodan Terzić , 2011. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-11 02:02+0200\n" -"PO-Revision-Date: 2012-08-11 00:02+0000\n" -"Last-Translator: owncloud_robot \n" -"Language-Team: Serbian (Latin) (http://www.transifex.com/projects/p/owncloud/language/sr@latin/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: sr@latin\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" - -#: ajax/cache/status.php:19 -msgid "Not all calendars are completely cached" -msgstr "" - -#: ajax/cache/status.php:21 -msgid "Everything seems to be completely cached" -msgstr "" - -#: ajax/categories/rescan.php:29 -msgid "No calendars found." -msgstr "" - -#: ajax/categories/rescan.php:37 -msgid "No events found." -msgstr "" - -#: ajax/event/edit.form.php:20 -msgid "Wrong calendar" -msgstr "Pogrešan kalendar" - -#: ajax/import/dropimport.php:29 ajax/import/import.php:64 -msgid "" -"The file contained either no events or all events are already saved in your " -"calendar." -msgstr "" - -#: ajax/import/dropimport.php:31 ajax/import/import.php:67 -msgid "events has been saved in the new calendar" -msgstr "" - -#: ajax/import/import.php:56 -msgid "Import failed" -msgstr "" - -#: ajax/import/import.php:69 -msgid "events has been saved in your calendar" -msgstr "" - -#: ajax/settings/guesstimezone.php:25 -msgid "New Timezone:" -msgstr "" - -#: ajax/settings/settimezone.php:23 -msgid "Timezone changed" -msgstr "Vremenska zona je promenjena" - -#: ajax/settings/settimezone.php:25 -msgid "Invalid request" -msgstr "Neispravan zahtev" - -#: appinfo/app.php:35 templates/calendar.php:15 -#: templates/part.eventform.php:33 templates/part.showevent.php:33 -msgid "Calendar" -msgstr "Kalendar" - -#: js/calendar.js:832 -msgid "ddd" -msgstr "" - -#: js/calendar.js:833 -msgid "ddd M/d" -msgstr "" - -#: js/calendar.js:834 -msgid "dddd M/d" -msgstr "" - -#: js/calendar.js:837 -msgid "MMMM yyyy" -msgstr "" - -#: js/calendar.js:839 -msgid "MMM d[ yyyy]{ '—'[ MMM] d yyyy}" -msgstr "" - -#: js/calendar.js:841 -msgid "dddd, MMM d, yyyy" -msgstr "" - -#: lib/app.php:121 -msgid "Birthday" -msgstr "Rođendan" - -#: lib/app.php:122 -msgid "Business" -msgstr "Posao" - -#: lib/app.php:123 -msgid "Call" -msgstr "Poziv" - -#: lib/app.php:124 -msgid "Clients" -msgstr "Klijenti" - -#: lib/app.php:125 -msgid "Deliverer" -msgstr "Dostavljač" - -#: lib/app.php:126 -msgid "Holidays" -msgstr "Praznici" - -#: lib/app.php:127 -msgid "Ideas" -msgstr "Ideje" - -#: lib/app.php:128 -msgid "Journey" -msgstr "putovanje" - -#: lib/app.php:129 -msgid "Jubilee" -msgstr "jubilej" - -#: lib/app.php:130 -msgid "Meeting" -msgstr "Sastanak" - -#: lib/app.php:131 -msgid "Other" -msgstr "Drugo" - -#: lib/app.php:132 -msgid "Personal" -msgstr "Lično" - -#: lib/app.php:133 -msgid "Projects" -msgstr "Projekti" - -#: lib/app.php:134 -msgid "Questions" -msgstr "Pitanja" - -#: lib/app.php:135 -msgid "Work" -msgstr "Posao" - -#: lib/app.php:351 lib/app.php:361 -msgid "by" -msgstr "" - -#: lib/app.php:359 lib/app.php:399 -msgid "unnamed" -msgstr "" - -#: lib/import.php:184 templates/calendar.php:12 -#: templates/part.choosecalendar.php:22 -msgid "New Calendar" -msgstr "Novi kalendar" - -#: lib/object.php:372 -msgid "Does not repeat" -msgstr "Ne ponavlja se" - -#: lib/object.php:373 -msgid "Daily" -msgstr "dnevno" - -#: lib/object.php:374 -msgid "Weekly" -msgstr "nedeljno" - -#: lib/object.php:375 -msgid "Every Weekday" -msgstr "svakog dana u nedelji" - -#: lib/object.php:376 -msgid "Bi-Weekly" -msgstr "dvonedeljno" - -#: lib/object.php:377 -msgid "Monthly" -msgstr "mesečno" - -#: lib/object.php:378 -msgid "Yearly" -msgstr "godišnje" - -#: lib/object.php:388 -msgid "never" -msgstr "" - -#: lib/object.php:389 -msgid "by occurrences" -msgstr "" - -#: lib/object.php:390 -msgid "by date" -msgstr "" - -#: lib/object.php:400 -msgid "by monthday" -msgstr "" - -#: lib/object.php:401 -msgid "by weekday" -msgstr "" - -#: lib/object.php:411 templates/calendar.php:5 templates/settings.php:69 -msgid "Monday" -msgstr "" - -#: lib/object.php:412 templates/calendar.php:5 -msgid "Tuesday" -msgstr "" - -#: lib/object.php:413 templates/calendar.php:5 -msgid "Wednesday" -msgstr "" - -#: lib/object.php:414 templates/calendar.php:5 -msgid "Thursday" -msgstr "" - -#: lib/object.php:415 templates/calendar.php:5 -msgid "Friday" -msgstr "" - -#: lib/object.php:416 templates/calendar.php:5 -msgid "Saturday" -msgstr "" - -#: lib/object.php:417 templates/calendar.php:5 templates/settings.php:70 -msgid "Sunday" -msgstr "" - -#: lib/object.php:427 -msgid "events week of month" -msgstr "" - -#: lib/object.php:428 -msgid "first" -msgstr "" - -#: lib/object.php:429 -msgid "second" -msgstr "" - -#: lib/object.php:430 -msgid "third" -msgstr "" - -#: lib/object.php:431 -msgid "fourth" -msgstr "" - -#: lib/object.php:432 -msgid "fifth" -msgstr "" - -#: lib/object.php:433 -msgid "last" -msgstr "" - -#: lib/object.php:467 templates/calendar.php:7 -msgid "January" -msgstr "" - -#: lib/object.php:468 templates/calendar.php:7 -msgid "February" -msgstr "" - -#: lib/object.php:469 templates/calendar.php:7 -msgid "March" -msgstr "" - -#: lib/object.php:470 templates/calendar.php:7 -msgid "April" -msgstr "" - -#: lib/object.php:471 templates/calendar.php:7 -msgid "May" -msgstr "" - -#: lib/object.php:472 templates/calendar.php:7 -msgid "June" -msgstr "" - -#: lib/object.php:473 templates/calendar.php:7 -msgid "July" -msgstr "" - -#: lib/object.php:474 templates/calendar.php:7 -msgid "August" -msgstr "" - -#: lib/object.php:475 templates/calendar.php:7 -msgid "September" -msgstr "" - -#: lib/object.php:476 templates/calendar.php:7 -msgid "October" -msgstr "" - -#: lib/object.php:477 templates/calendar.php:7 -msgid "November" -msgstr "" - -#: lib/object.php:478 templates/calendar.php:7 -msgid "December" -msgstr "" - -#: lib/object.php:488 -msgid "by events date" -msgstr "" - -#: lib/object.php:489 -msgid "by yearday(s)" -msgstr "" - -#: lib/object.php:490 -msgid "by weeknumber(s)" -msgstr "" - -#: lib/object.php:491 -msgid "by day and month" -msgstr "" - -#: lib/search.php:35 lib/search.php:37 lib/search.php:40 -msgid "Date" -msgstr "" - -#: lib/search.php:43 -msgid "Cal." -msgstr "" - -#: templates/calendar.php:6 -msgid "Sun." -msgstr "" - -#: templates/calendar.php:6 -msgid "Mon." -msgstr "" - -#: templates/calendar.php:6 -msgid "Tue." -msgstr "" - -#: templates/calendar.php:6 -msgid "Wed." -msgstr "" - -#: templates/calendar.php:6 -msgid "Thu." -msgstr "" - -#: templates/calendar.php:6 -msgid "Fri." -msgstr "" - -#: templates/calendar.php:6 -msgid "Sat." -msgstr "" - -#: templates/calendar.php:8 -msgid "Jan." -msgstr "" - -#: templates/calendar.php:8 -msgid "Feb." -msgstr "" - -#: templates/calendar.php:8 -msgid "Mar." -msgstr "" - -#: templates/calendar.php:8 -msgid "Apr." -msgstr "" - -#: templates/calendar.php:8 -msgid "May." -msgstr "" - -#: templates/calendar.php:8 -msgid "Jun." -msgstr "" - -#: templates/calendar.php:8 -msgid "Jul." -msgstr "" - -#: templates/calendar.php:8 -msgid "Aug." -msgstr "" - -#: templates/calendar.php:8 -msgid "Sep." -msgstr "" - -#: templates/calendar.php:8 -msgid "Oct." -msgstr "" - -#: templates/calendar.php:8 -msgid "Nov." -msgstr "" - -#: templates/calendar.php:8 -msgid "Dec." -msgstr "" - -#: templates/calendar.php:11 -msgid "All day" -msgstr "Ceo dan" - -#: templates/calendar.php:13 -msgid "Missing fields" -msgstr "" - -#: templates/calendar.php:14 templates/part.eventform.php:19 -#: templates/part.showevent.php:11 -msgid "Title" -msgstr "Naslov" - -#: templates/calendar.php:16 -msgid "From Date" -msgstr "" - -#: templates/calendar.php:17 -msgid "From Time" -msgstr "" - -#: templates/calendar.php:18 -msgid "To Date" -msgstr "" - -#: templates/calendar.php:19 -msgid "To Time" -msgstr "" - -#: templates/calendar.php:20 -msgid "The event ends before it starts" -msgstr "" - -#: templates/calendar.php:21 -msgid "There was a database fail" -msgstr "" - -#: templates/calendar.php:39 -msgid "Week" -msgstr "Nedelja" - -#: templates/calendar.php:40 -msgid "Month" -msgstr "Mesec" - -#: templates/calendar.php:41 -msgid "List" -msgstr "Spisak" - -#: templates/calendar.php:45 -msgid "Today" -msgstr "Danas" - -#: templates/calendar.php:46 templates/calendar.php:47 -msgid "Settings" -msgstr "" - -#: templates/part.choosecalendar.php:2 -msgid "Your calendars" -msgstr "" - -#: templates/part.choosecalendar.php:27 -#: templates/part.choosecalendar.rowfields.php:11 -msgid "CalDav Link" -msgstr "KalDav veza" - -#: templates/part.choosecalendar.php:31 -msgid "Shared calendars" -msgstr "" - -#: templates/part.choosecalendar.php:48 -msgid "No shared calendars" -msgstr "" - -#: templates/part.choosecalendar.rowfields.php:8 -msgid "Share Calendar" -msgstr "" - -#: templates/part.choosecalendar.rowfields.php:14 -msgid "Download" -msgstr "Preuzmi" - -#: templates/part.choosecalendar.rowfields.php:17 -msgid "Edit" -msgstr "Uredi" - -#: templates/part.choosecalendar.rowfields.php:20 -#: templates/part.editevent.php:9 -msgid "Delete" -msgstr "Obriši" - -#: templates/part.choosecalendar.rowfields.shared.php:4 -msgid "shared with you by" -msgstr "" - -#: templates/part.editcalendar.php:9 -msgid "New calendar" -msgstr "Novi kalendar" - -#: templates/part.editcalendar.php:9 -msgid "Edit calendar" -msgstr "Uredi kalendar" - -#: templates/part.editcalendar.php:12 -msgid "Displayname" -msgstr "Prikazanoime" - -#: templates/part.editcalendar.php:23 -msgid "Active" -msgstr "Aktivan" - -#: templates/part.editcalendar.php:29 -msgid "Calendar color" -msgstr "Boja kalendara" - -#: templates/part.editcalendar.php:42 -msgid "Save" -msgstr "Snimi" - -#: templates/part.editcalendar.php:42 templates/part.editevent.php:8 -#: templates/part.newevent.php:6 -msgid "Submit" -msgstr "Pošalji" - -#: templates/part.editcalendar.php:43 -msgid "Cancel" -msgstr "Otkaži" - -#: templates/part.editevent.php:1 -msgid "Edit an event" -msgstr "Uredi događaj" - -#: templates/part.editevent.php:10 -msgid "Export" -msgstr "" - -#: templates/part.eventform.php:8 templates/part.showevent.php:3 -msgid "Eventinfo" -msgstr "" - -#: templates/part.eventform.php:9 templates/part.showevent.php:4 -msgid "Repeating" -msgstr "" - -#: templates/part.eventform.php:10 templates/part.showevent.php:5 -msgid "Alarm" -msgstr "" - -#: templates/part.eventform.php:11 templates/part.showevent.php:6 -msgid "Attendees" -msgstr "" - -#: templates/part.eventform.php:13 -msgid "Share" -msgstr "" - -#: templates/part.eventform.php:21 -msgid "Title of the Event" -msgstr "Naslov događaja" - -#: templates/part.eventform.php:27 templates/part.showevent.php:19 -msgid "Category" -msgstr "Kategorija" - -#: templates/part.eventform.php:29 -msgid "Separate categories with commas" -msgstr "" - -#: templates/part.eventform.php:30 -msgid "Edit categories" -msgstr "" - -#: templates/part.eventform.php:56 templates/part.showevent.php:52 -msgid "All Day Event" -msgstr "Celodnevni događaj" - -#: templates/part.eventform.php:60 templates/part.showevent.php:56 -msgid "From" -msgstr "Od" - -#: templates/part.eventform.php:68 templates/part.showevent.php:64 -msgid "To" -msgstr "Do" - -#: templates/part.eventform.php:76 templates/part.showevent.php:72 -msgid "Advanced options" -msgstr "" - -#: templates/part.eventform.php:81 templates/part.showevent.php:77 -msgid "Location" -msgstr "Lokacija" - -#: templates/part.eventform.php:83 -msgid "Location of the Event" -msgstr "Lokacija događaja" - -#: templates/part.eventform.php:89 templates/part.showevent.php:85 -msgid "Description" -msgstr "Opis" - -#: templates/part.eventform.php:91 -msgid "Description of the Event" -msgstr "Opis događaja" - -#: templates/part.eventform.php:100 templates/part.showevent.php:95 -msgid "Repeat" -msgstr "Ponavljaj" - -#: templates/part.eventform.php:107 templates/part.showevent.php:102 -msgid "Advanced" -msgstr "" - -#: templates/part.eventform.php:151 templates/part.showevent.php:146 -msgid "Select weekdays" -msgstr "" - -#: templates/part.eventform.php:164 templates/part.eventform.php:177 -#: templates/part.showevent.php:159 templates/part.showevent.php:172 -msgid "Select days" -msgstr "" - -#: templates/part.eventform.php:169 templates/part.showevent.php:164 -msgid "and the events day of year." -msgstr "" - -#: templates/part.eventform.php:182 templates/part.showevent.php:177 -msgid "and the events day of month." -msgstr "" - -#: templates/part.eventform.php:190 templates/part.showevent.php:185 -msgid "Select months" -msgstr "" - -#: templates/part.eventform.php:203 templates/part.showevent.php:198 -msgid "Select weeks" -msgstr "" - -#: templates/part.eventform.php:208 templates/part.showevent.php:203 -msgid "and the events week of year." -msgstr "" - -#: templates/part.eventform.php:214 templates/part.showevent.php:209 -msgid "Interval" -msgstr "" - -#: templates/part.eventform.php:220 templates/part.showevent.php:215 -msgid "End" -msgstr "" - -#: templates/part.eventform.php:233 templates/part.showevent.php:228 -msgid "occurrences" -msgstr "" - -#: templates/part.import.php:14 -msgid "create a new calendar" -msgstr "" - -#: templates/part.import.php:17 -msgid "Import a calendar file" -msgstr "" - -#: templates/part.import.php:24 -msgid "Please choose a calendar" -msgstr "" - -#: templates/part.import.php:36 -msgid "Name of new calendar" -msgstr "" - -#: templates/part.import.php:44 -msgid "Take an available name!" -msgstr "" - -#: templates/part.import.php:45 -msgid "" -"A Calendar with this name already exists. If you continue anyhow, these " -"calendars will be merged." -msgstr "" - -#: templates/part.import.php:47 -msgid "Import" -msgstr "" - -#: templates/part.import.php:56 -msgid "Close Dialog" -msgstr "" - -#: templates/part.newevent.php:1 -msgid "Create a new event" -msgstr "Napravi novi događaj" - -#: templates/part.showevent.php:1 -msgid "View an event" -msgstr "" - -#: templates/part.showevent.php:23 -msgid "No categories selected" -msgstr "" - -#: templates/part.showevent.php:37 -msgid "of" -msgstr "" - -#: templates/part.showevent.php:59 templates/part.showevent.php:67 -msgid "at" -msgstr "" - -#: templates/settings.php:10 -msgid "General" -msgstr "" - -#: templates/settings.php:15 -msgid "Timezone" -msgstr "Vremenska zona" - -#: templates/settings.php:47 -msgid "Update timezone automatically" -msgstr "" - -#: templates/settings.php:52 -msgid "Time format" -msgstr "" - -#: templates/settings.php:57 -msgid "24h" -msgstr "" - -#: templates/settings.php:58 -msgid "12h" -msgstr "" - -#: templates/settings.php:64 -msgid "Start week on" -msgstr "" - -#: templates/settings.php:76 -msgid "Cache" -msgstr "" - -#: templates/settings.php:80 -msgid "Clear cache for repeating events" -msgstr "" - -#: templates/settings.php:85 -msgid "URLs" -msgstr "" - -#: templates/settings.php:87 -msgid "Calendar CalDAV syncing addresses" -msgstr "" - -#: templates/settings.php:87 -msgid "more info" -msgstr "" - -#: templates/settings.php:89 -msgid "Primary address (Kontact et al)" -msgstr "" - -#: templates/settings.php:91 -msgid "iOS/OS X" -msgstr "" - -#: templates/settings.php:93 -msgid "Read only iCalendar link(s)" -msgstr "" - -#: templates/share.dropdown.php:20 -msgid "Users" -msgstr "" - -#: templates/share.dropdown.php:21 -msgid "select users" -msgstr "" - -#: templates/share.dropdown.php:36 templates/share.dropdown.php:62 -msgid "Editable" -msgstr "" - -#: templates/share.dropdown.php:48 -msgid "Groups" -msgstr "" - -#: templates/share.dropdown.php:49 -msgid "select groups" -msgstr "" - -#: templates/share.dropdown.php:75 -msgid "make public" -msgstr "" diff --git a/l10n/sr@latin/contacts.po b/l10n/sr@latin/contacts.po deleted file mode 100644 index 826a00d5e68e5fa9d40df80f2899d8c10362cd07..0000000000000000000000000000000000000000 --- a/l10n/sr@latin/contacts.po +++ /dev/null @@ -1,953 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Slobodan Terzić , 2011. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-24 02:02+0200\n" -"PO-Revision-Date: 2012-08-24 00:02+0000\n" -"Last-Translator: I Robot \n" -"Language-Team: Serbian (Latin) (http://www.transifex.com/projects/p/owncloud/language/sr@latin/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: sr@latin\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" - -#: ajax/addressbook/activate.php:24 ajax/addressbook/update.php:32 -msgid "Error (de)activating addressbook." -msgstr "" - -#: ajax/addressbook/delete.php:31 ajax/addressbook/update.php:20 -#: ajax/contact/addproperty.php:42 ajax/contact/delete.php:32 -#: ajax/contact/saveproperty.php:39 -msgid "id is not set." -msgstr "" - -#: ajax/addressbook/update.php:24 -msgid "Cannot update addressbook with an empty name." -msgstr "" - -#: ajax/addressbook/update.php:28 -msgid "Error updating addressbook." -msgstr "" - -#: ajax/categories/categoriesfor.php:17 -msgid "No ID provided" -msgstr "" - -#: ajax/categories/categoriesfor.php:34 -msgid "Error setting checksum." -msgstr "" - -#: ajax/categories/delete.php:19 -msgid "No categories selected for deletion." -msgstr "" - -#: ajax/categories/delete.php:26 -msgid "No address books found." -msgstr "" - -#: ajax/categories/delete.php:34 -msgid "No contacts found." -msgstr "" - -#: ajax/contact/add.php:47 -msgid "There was an error adding the contact." -msgstr "" - -#: ajax/contact/addproperty.php:39 ajax/contact/saveproperty.php:36 -msgid "element name is not set." -msgstr "" - -#: ajax/contact/addproperty.php:46 -msgid "Could not parse contact: " -msgstr "" - -#: ajax/contact/addproperty.php:56 -msgid "Cannot add empty property." -msgstr "" - -#: ajax/contact/addproperty.php:67 -msgid "At least one of the address fields has to be filled out." -msgstr "" - -#: ajax/contact/addproperty.php:76 -msgid "Trying to add duplicate property: " -msgstr "" - -#: ajax/contact/addproperty.php:115 ajax/contact/saveproperty.php:93 -msgid "Missing IM parameter." -msgstr "" - -#: ajax/contact/addproperty.php:119 ajax/contact/saveproperty.php:97 -msgid "Unknown IM: " -msgstr "" - -#: ajax/contact/deleteproperty.php:37 -msgid "Information about vCard is incorrect. Please reload the page." -msgstr "Podaci o vKarti su neispravni. Ponovo učitajte stranicu." - -#: ajax/contact/details.php:31 -msgid "Missing ID" -msgstr "" - -#: ajax/contact/details.php:36 -msgid "Error parsing VCard for ID: \"" -msgstr "" - -#: ajax/contact/saveproperty.php:42 -msgid "checksum is not set." -msgstr "" - -#: ajax/contact/saveproperty.php:62 -msgid "Information about vCard is incorrect. Please reload the page: " -msgstr "" - -#: ajax/contact/saveproperty.php:69 -msgid "Something went FUBAR. " -msgstr "" - -#: ajax/currentphoto.php:30 ajax/oc_photo.php:28 ajax/uploadphoto.php:36 -#: ajax/uploadphoto.php:68 -msgid "No contact ID was submitted." -msgstr "" - -#: ajax/currentphoto.php:36 -msgid "Error reading contact photo." -msgstr "" - -#: ajax/currentphoto.php:48 -msgid "Error saving temporary file." -msgstr "" - -#: ajax/currentphoto.php:51 -msgid "The loading photo is not valid." -msgstr "" - -#: ajax/editname.php:31 -msgid "Contact ID is missing." -msgstr "" - -#: ajax/oc_photo.php:32 -msgid "No photo path was submitted." -msgstr "" - -#: ajax/oc_photo.php:39 -msgid "File doesn't exist:" -msgstr "" - -#: ajax/oc_photo.php:44 ajax/oc_photo.php:47 -msgid "Error loading image." -msgstr "" - -#: ajax/savecrop.php:69 -msgid "Error getting contact object." -msgstr "" - -#: ajax/savecrop.php:79 -msgid "Error getting PHOTO property." -msgstr "" - -#: ajax/savecrop.php:98 -msgid "Error saving contact." -msgstr "" - -#: ajax/savecrop.php:109 -msgid "Error resizing image" -msgstr "" - -#: ajax/savecrop.php:112 -msgid "Error cropping image" -msgstr "" - -#: ajax/savecrop.php:115 -msgid "Error creating temporary image" -msgstr "" - -#: ajax/savecrop.php:118 -msgid "Error finding image: " -msgstr "" - -#: ajax/uploadimport.php:44 ajax/uploadimport.php:76 -msgid "Error uploading contacts to storage." -msgstr "" - -#: ajax/uploadimport.php:61 ajax/uploadphoto.php:77 -msgid "There is no error, the file uploaded with success" -msgstr "" - -#: ajax/uploadimport.php:62 ajax/uploadphoto.php:78 -msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" -msgstr "" - -#: ajax/uploadimport.php:63 ajax/uploadphoto.php:79 -msgid "" -"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " -"the HTML form" -msgstr "" - -#: ajax/uploadimport.php:64 ajax/uploadphoto.php:80 -msgid "The uploaded file was only partially uploaded" -msgstr "" - -#: ajax/uploadimport.php:65 ajax/uploadphoto.php:81 -msgid "No file was uploaded" -msgstr "" - -#: ajax/uploadimport.php:66 ajax/uploadphoto.php:82 -msgid "Missing a temporary folder" -msgstr "" - -#: ajax/uploadphoto.php:59 ajax/uploadphoto.php:109 -msgid "Couldn't save temporary image: " -msgstr "" - -#: ajax/uploadphoto.php:62 ajax/uploadphoto.php:112 -msgid "Couldn't load temporary image: " -msgstr "" - -#: ajax/uploadphoto.php:71 -msgid "No file was uploaded. Unknown error" -msgstr "" - -#: appinfo/app.php:21 -msgid "Contacts" -msgstr "" - -#: js/contacts.js:71 -msgid "Sorry, this functionality has not been implemented yet" -msgstr "" - -#: js/contacts.js:71 -msgid "Not implemented" -msgstr "" - -#: js/contacts.js:76 -msgid "Couldn't get a valid address." -msgstr "" - -#: js/contacts.js:76 js/contacts.js:365 js/contacts.js:381 js/contacts.js:393 -#: js/contacts.js:723 js/contacts.js:763 js/contacts.js:789 js/contacts.js:921 -#: js/contacts.js:927 js/contacts.js:939 js/contacts.js:976 -#: js/contacts.js:1250 js/contacts.js:1258 js/contacts.js:1267 -#: js/contacts.js:1302 js/contacts.js:1338 js/contacts.js:1353 -#: js/contacts.js:1379 js/contacts.js:1609 js/contacts.js:1644 -#: js/contacts.js:1664 js/settings.js:26 js/settings.js:43 js/settings.js:68 -msgid "Error" -msgstr "" - -#: js/contacts.js:424 -msgid "You do not have permission to add contacts to " -msgstr "" - -#: js/contacts.js:425 -msgid "Please select one of your own address books." -msgstr "" - -#: js/contacts.js:425 -msgid "Permission error" -msgstr "" - -#: js/contacts.js:763 -msgid "This property has to be non-empty." -msgstr "" - -#: js/contacts.js:789 -msgid "Couldn't serialize elements." -msgstr "" - -#: js/contacts.js:921 js/contacts.js:939 -msgid "" -"'deleteProperty' called without type argument. Please report at " -"bugs.owncloud.org" -msgstr "" - -#: js/contacts.js:958 -msgid "Edit name" -msgstr "" - -#: js/contacts.js:1250 -msgid "No files selected for upload." -msgstr "" - -#: js/contacts.js:1258 -msgid "" -"The file you are trying to upload exceed the maximum size for file uploads " -"on this server." -msgstr "" - -#: js/contacts.js:1322 -msgid "Error loading profile picture." -msgstr "" - -#: js/contacts.js:1457 js/contacts.js:1498 js/contacts.js:1517 -#: js/contacts.js:1560 -msgid "Select type" -msgstr "" - -#: js/contacts.js:1578 -msgid "" -"Some contacts are marked for deletion, but not deleted yet. Please wait for " -"them to be deleted." -msgstr "" - -#: js/contacts.js:1649 -msgid "Do you want to merge these address books?" -msgstr "" - -#: js/loader.js:49 -msgid "Result: " -msgstr "" - -#: js/loader.js:49 -msgid " imported, " -msgstr "" - -#: js/loader.js:49 -msgid " failed." -msgstr "" - -#: js/settings.js:68 -msgid "Displayname cannot be empty." -msgstr "" - -#: lib/app.php:36 -msgid "Addressbook not found: " -msgstr "" - -#: lib/app.php:52 -msgid "This is not your addressbook." -msgstr "Ovo nije vaš adresar." - -#: lib/app.php:71 -msgid "Contact could not be found." -msgstr "Kontakt se ne može naći." - -#: lib/app.php:116 -msgid "Jabber" -msgstr "" - -#: lib/app.php:121 -msgid "AIM" -msgstr "" - -#: lib/app.php:126 -msgid "MSN" -msgstr "" - -#: lib/app.php:131 -msgid "Twitter" -msgstr "" - -#: lib/app.php:136 -msgid "GoogleTalk" -msgstr "" - -#: lib/app.php:141 -msgid "Facebook" -msgstr "" - -#: lib/app.php:146 -msgid "XMPP" -msgstr "" - -#: lib/app.php:151 -msgid "ICQ" -msgstr "" - -#: lib/app.php:156 -msgid "Yahoo" -msgstr "" - -#: lib/app.php:161 -msgid "Skype" -msgstr "" - -#: lib/app.php:166 -msgid "QQ" -msgstr "" - -#: lib/app.php:171 -msgid "GaduGadu" -msgstr "" - -#: lib/app.php:194 lib/app.php:202 lib/app.php:213 lib/app.php:266 -msgid "Work" -msgstr "Posao" - -#: lib/app.php:195 lib/app.php:200 lib/app.php:214 -msgid "Home" -msgstr "Kuća" - -#: lib/app.php:196 lib/app.php:209 lib/app.php:262 lib/vcard.php:593 -msgid "Other" -msgstr "" - -#: lib/app.php:201 -msgid "Mobile" -msgstr "Mobilni" - -#: lib/app.php:203 -msgid "Text" -msgstr "Tekst" - -#: lib/app.php:204 -msgid "Voice" -msgstr "Glas" - -#: lib/app.php:205 -msgid "Message" -msgstr "" - -#: lib/app.php:206 -msgid "Fax" -msgstr "Faks" - -#: lib/app.php:207 -msgid "Video" -msgstr "Video" - -#: lib/app.php:208 -msgid "Pager" -msgstr "Pejdžer" - -#: lib/app.php:215 -msgid "Internet" -msgstr "" - -#: lib/app.php:252 templates/part.contact.php:45 -#: templates/part.contact.php:128 -msgid "Birthday" -msgstr "Rođendan" - -#: lib/app.php:253 -msgid "Business" -msgstr "" - -#: lib/app.php:254 -msgid "Call" -msgstr "" - -#: lib/app.php:255 -msgid "Clients" -msgstr "" - -#: lib/app.php:256 -msgid "Deliverer" -msgstr "" - -#: lib/app.php:257 -msgid "Holidays" -msgstr "" - -#: lib/app.php:258 -msgid "Ideas" -msgstr "" - -#: lib/app.php:259 -msgid "Journey" -msgstr "" - -#: lib/app.php:260 -msgid "Jubilee" -msgstr "" - -#: lib/app.php:261 -msgid "Meeting" -msgstr "" - -#: lib/app.php:263 -msgid "Personal" -msgstr "" - -#: lib/app.php:264 -msgid "Projects" -msgstr "" - -#: lib/app.php:265 -msgid "Questions" -msgstr "" - -#: lib/hooks.php:102 -msgid "{name}'s Birthday" -msgstr "" - -#: lib/search.php:15 -msgid "Contact" -msgstr "" - -#: lib/vcard.php:408 -msgid "You do not have the permissions to edit this contact." -msgstr "" - -#: lib/vcard.php:483 -msgid "You do not have the permissions to delete this contact." -msgstr "" - -#: templates/index.php:14 -msgid "Add Contact" -msgstr "Dodaj kontakt" - -#: templates/index.php:15 templates/index.php:16 templates/part.import.php:17 -msgid "Import" -msgstr "" - -#: templates/index.php:18 -msgid "Settings" -msgstr "" - -#: templates/index.php:18 templates/settings.php:9 -msgid "Addressbooks" -msgstr "" - -#: templates/index.php:36 templates/part.import.php:24 -msgid "Close" -msgstr "" - -#: templates/index.php:37 -msgid "Keyboard shortcuts" -msgstr "" - -#: templates/index.php:39 -msgid "Navigation" -msgstr "" - -#: templates/index.php:42 -msgid "Next contact in list" -msgstr "" - -#: templates/index.php:44 -msgid "Previous contact in list" -msgstr "" - -#: templates/index.php:46 -msgid "Expand/collapse current addressbook" -msgstr "" - -#: templates/index.php:48 -msgid "Next addressbook" -msgstr "" - -#: templates/index.php:50 -msgid "Previous addressbook" -msgstr "" - -#: templates/index.php:54 -msgid "Actions" -msgstr "" - -#: templates/index.php:57 -msgid "Refresh contacts list" -msgstr "" - -#: templates/index.php:59 -msgid "Add new contact" -msgstr "" - -#: templates/index.php:61 -msgid "Add new addressbook" -msgstr "" - -#: templates/index.php:63 -msgid "Delete current contact" -msgstr "" - -#: templates/part.contact.php:17 -msgid "Drop photo to upload" -msgstr "" - -#: templates/part.contact.php:19 -msgid "Delete current photo" -msgstr "" - -#: templates/part.contact.php:20 -msgid "Edit current photo" -msgstr "" - -#: templates/part.contact.php:21 -msgid "Upload new photo" -msgstr "" - -#: templates/part.contact.php:22 -msgid "Select photo from ownCloud" -msgstr "" - -#: templates/part.contact.php:35 -msgid "Format custom, Short name, Full name, Reverse or Reverse with comma" -msgstr "" - -#: templates/part.contact.php:36 -msgid "Edit name details" -msgstr "" - -#: templates/part.contact.php:39 templates/part.contact.php:40 -#: templates/part.contact.php:126 -msgid "Organization" -msgstr "Organizacija" - -#: templates/part.contact.php:40 templates/part.contact.php:42 -#: templates/part.contact.php:44 templates/part.contact.php:46 -#: templates/part.contact.php:50 templates/settings.php:36 -msgid "Delete" -msgstr "Obriši" - -#: templates/part.contact.php:41 templates/part.contact.php:127 -msgid "Nickname" -msgstr "" - -#: templates/part.contact.php:42 -msgid "Enter nickname" -msgstr "" - -#: templates/part.contact.php:43 templates/part.contact.php:134 -msgid "Web site" -msgstr "" - -#: templates/part.contact.php:44 -msgid "http://www.somesite.com" -msgstr "" - -#: templates/part.contact.php:44 -msgid "Go to web site" -msgstr "" - -#: templates/part.contact.php:46 -msgid "dd-mm-yyyy" -msgstr "" - -#: templates/part.contact.php:47 templates/part.contact.php:135 -msgid "Groups" -msgstr "" - -#: templates/part.contact.php:49 -msgid "Separate groups with commas" -msgstr "" - -#: templates/part.contact.php:50 -msgid "Edit groups" -msgstr "" - -#: templates/part.contact.php:59 templates/part.contact.php:73 -#: templates/part.contact.php:98 -msgid "Preferred" -msgstr "" - -#: templates/part.contact.php:60 -msgid "Please specify a valid email address." -msgstr "" - -#: templates/part.contact.php:60 -msgid "Enter email address" -msgstr "" - -#: templates/part.contact.php:64 -msgid "Mail to address" -msgstr "" - -#: templates/part.contact.php:65 -msgid "Delete email address" -msgstr "" - -#: templates/part.contact.php:75 -msgid "Enter phone number" -msgstr "" - -#: templates/part.contact.php:79 -msgid "Delete phone number" -msgstr "" - -#: templates/part.contact.php:100 -msgid "Instant Messenger" -msgstr "" - -#: templates/part.contact.php:101 -msgid "Delete IM" -msgstr "" - -#: templates/part.contact.php:110 -msgid "View on map" -msgstr "" - -#: templates/part.contact.php:110 -msgid "Edit address details" -msgstr "" - -#: templates/part.contact.php:116 -msgid "Add notes here." -msgstr "" - -#: templates/part.contact.php:124 -msgid "Add field" -msgstr "" - -#: templates/part.contact.php:129 -msgid "Phone" -msgstr "Telefon" - -#: templates/part.contact.php:130 -msgid "Email" -msgstr "E-mail" - -#: templates/part.contact.php:131 -msgid "Instant Messaging" -msgstr "" - -#: templates/part.contact.php:132 -msgid "Address" -msgstr "Adresa" - -#: templates/part.contact.php:133 -msgid "Note" -msgstr "" - -#: templates/part.contact.php:138 -msgid "Download contact" -msgstr "" - -#: templates/part.contact.php:139 -msgid "Delete contact" -msgstr "" - -#: templates/part.cropphoto.php:65 -msgid "The temporary image has been removed from cache." -msgstr "" - -#: templates/part.edit_address_dialog.php:6 -msgid "Edit address" -msgstr "" - -#: templates/part.edit_address_dialog.php:10 -msgid "Type" -msgstr "" - -#: templates/part.edit_address_dialog.php:18 -#: templates/part.edit_address_dialog.php:21 -msgid "PO Box" -msgstr "Poštanski broj" - -#: templates/part.edit_address_dialog.php:24 -msgid "Street address" -msgstr "" - -#: templates/part.edit_address_dialog.php:27 -msgid "Street and number" -msgstr "" - -#: templates/part.edit_address_dialog.php:30 -msgid "Extended" -msgstr "Proširi" - -#: templates/part.edit_address_dialog.php:33 -msgid "Apartment number etc." -msgstr "" - -#: templates/part.edit_address_dialog.php:36 -#: templates/part.edit_address_dialog.php:39 -msgid "City" -msgstr "Grad" - -#: templates/part.edit_address_dialog.php:42 -msgid "Region" -msgstr "Regija" - -#: templates/part.edit_address_dialog.php:45 -msgid "E.g. state or province" -msgstr "" - -#: templates/part.edit_address_dialog.php:48 -msgid "Zipcode" -msgstr "Zip kod" - -#: templates/part.edit_address_dialog.php:51 -msgid "Postal code" -msgstr "" - -#: templates/part.edit_address_dialog.php:54 -#: templates/part.edit_address_dialog.php:57 -msgid "Country" -msgstr "Zemlja" - -#: templates/part.edit_name_dialog.php:16 -msgid "Addressbook" -msgstr "" - -#: templates/part.edit_name_dialog.php:23 -msgid "Hon. prefixes" -msgstr "" - -#: templates/part.edit_name_dialog.php:27 -msgid "Miss" -msgstr "" - -#: templates/part.edit_name_dialog.php:28 -msgid "Ms" -msgstr "" - -#: templates/part.edit_name_dialog.php:29 -msgid "Mr" -msgstr "" - -#: templates/part.edit_name_dialog.php:30 -msgid "Sir" -msgstr "" - -#: templates/part.edit_name_dialog.php:31 -msgid "Mrs" -msgstr "" - -#: templates/part.edit_name_dialog.php:32 -msgid "Dr" -msgstr "" - -#: templates/part.edit_name_dialog.php:35 -msgid "Given name" -msgstr "" - -#: templates/part.edit_name_dialog.php:37 -msgid "Additional names" -msgstr "" - -#: templates/part.edit_name_dialog.php:39 -msgid "Family name" -msgstr "" - -#: templates/part.edit_name_dialog.php:41 -msgid "Hon. suffixes" -msgstr "" - -#: templates/part.edit_name_dialog.php:45 -msgid "J.D." -msgstr "" - -#: templates/part.edit_name_dialog.php:46 -msgid "M.D." -msgstr "" - -#: templates/part.edit_name_dialog.php:47 -msgid "D.O." -msgstr "" - -#: templates/part.edit_name_dialog.php:48 -msgid "D.C." -msgstr "" - -#: templates/part.edit_name_dialog.php:49 -msgid "Ph.D." -msgstr "" - -#: templates/part.edit_name_dialog.php:50 -msgid "Esq." -msgstr "" - -#: templates/part.edit_name_dialog.php:51 -msgid "Jr." -msgstr "" - -#: templates/part.edit_name_dialog.php:52 -msgid "Sn." -msgstr "" - -#: templates/part.import.php:1 -msgid "Import a contacts file" -msgstr "" - -#: templates/part.import.php:6 -msgid "Please choose the addressbook" -msgstr "" - -#: templates/part.import.php:10 -msgid "create a new addressbook" -msgstr "" - -#: templates/part.import.php:15 -msgid "Name of new addressbook" -msgstr "" - -#: templates/part.import.php:20 -msgid "Importing contacts" -msgstr "" - -#: templates/part.no_contacts.php:3 -msgid "You have no contacts in your addressbook." -msgstr "" - -#: templates/part.no_contacts.php:5 -msgid "Add contact" -msgstr "" - -#: templates/part.selectaddressbook.php:1 -msgid "Select Address Books" -msgstr "" - -#: templates/part.selectaddressbook.php:27 -msgid "Enter name" -msgstr "" - -#: templates/part.selectaddressbook.php:29 -msgid "Enter description" -msgstr "" - -#: templates/settings.php:3 -msgid "CardDAV syncing addresses" -msgstr "" - -#: templates/settings.php:3 -msgid "more info" -msgstr "" - -#: templates/settings.php:5 -msgid "Primary address (Kontact et al)" -msgstr "" - -#: templates/settings.php:7 -msgid "iOS/OS X" -msgstr "" - -#: templates/settings.php:20 -msgid "Show CardDav link" -msgstr "" - -#: templates/settings.php:23 -msgid "Show read-only VCF link" -msgstr "" - -#: templates/settings.php:26 -msgid "Share" -msgstr "" - -#: templates/settings.php:29 -msgid "Download" -msgstr "" - -#: templates/settings.php:33 -msgid "Edit" -msgstr "Uredi" - -#: templates/settings.php:43 -msgid "New Address Book" -msgstr "" - -#: templates/settings.php:44 -msgid "Name" -msgstr "" - -#: templates/settings.php:45 -msgid "Description" -msgstr "" - -#: templates/settings.php:46 -msgid "Save" -msgstr "" - -#: templates/settings.php:47 -msgid "Cancel" -msgstr "" - -#: templates/settings.php:52 -msgid "More..." -msgstr "" diff --git a/l10n/sr@latin/core.po b/l10n/sr@latin/core.po index 760ce1d3314fe668fed3cffb175674693806400a..c90c97d167dd3164265b7402538e5a468e45307d 100644 --- a/l10n/sr@latin/core.po +++ b/l10n/sr@latin/core.po @@ -8,9 +8,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-16 02:04+0200\n" -"PO-Revision-Date: 2012-10-16 00:05+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-11-16 00:02+0100\n" +"PO-Revision-Date: 2012-11-14 23:13+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Serbian (Latin) (http://www.transifex.com/projects/p/owncloud/language/sr@latin/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -18,209 +18,241 @@ msgstr "" "Language: sr@latin\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" -#: ajax/vcategories/add.php:23 ajax/vcategories/delete.php:23 -msgid "Application name not provided." +#: ajax/vcategories/add.php:26 ajax/vcategories/edit.php:25 +msgid "Category type not provided." msgstr "" -#: ajax/vcategories/add.php:29 +#: ajax/vcategories/add.php:30 msgid "No category to add?" msgstr "" -#: ajax/vcategories/add.php:36 +#: ajax/vcategories/add.php:37 msgid "This category already exists: " msgstr "" -#: js/js.js:238 templates/layout.user.php:49 templates/layout.user.php:50 +#: ajax/vcategories/addToFavorites.php:26 ajax/vcategories/delete.php:27 +#: ajax/vcategories/favorites.php:24 +#: ajax/vcategories/removeFromFavorites.php:26 +msgid "Object type not provided." +msgstr "" + +#: ajax/vcategories/addToFavorites.php:30 +#: ajax/vcategories/removeFromFavorites.php:30 +#, php-format +msgid "%s ID not provided." +msgstr "" + +#: ajax/vcategories/addToFavorites.php:35 +#, php-format +msgid "Error adding %s to favorites." +msgstr "" + +#: ajax/vcategories/delete.php:35 js/oc-vcategories.js:136 +msgid "No categories selected for deletion." +msgstr "" + +#: ajax/vcategories/removeFromFavorites.php:35 +#, php-format +msgid "Error removing %s from favorites." +msgstr "" + +#: js/js.js:243 templates/layout.user.php:59 templates/layout.user.php:60 msgid "Settings" msgstr "Podešavanja" -#: js/js.js:670 -msgid "January" +#: js/js.js:688 +msgid "seconds ago" msgstr "" -#: js/js.js:670 -msgid "February" +#: js/js.js:689 +msgid "1 minute ago" msgstr "" -#: js/js.js:670 -msgid "March" +#: js/js.js:690 +msgid "{minutes} minutes ago" msgstr "" -#: js/js.js:670 -msgid "April" +#: js/js.js:691 +msgid "1 hour ago" msgstr "" -#: js/js.js:670 -msgid "May" +#: js/js.js:692 +msgid "{hours} hours ago" msgstr "" -#: js/js.js:670 -msgid "June" +#: js/js.js:693 +msgid "today" msgstr "" -#: js/js.js:671 -msgid "July" +#: js/js.js:694 +msgid "yesterday" msgstr "" -#: js/js.js:671 -msgid "August" +#: js/js.js:695 +msgid "{days} days ago" msgstr "" -#: js/js.js:671 -msgid "September" +#: js/js.js:696 +msgid "last month" msgstr "" -#: js/js.js:671 -msgid "October" +#: js/js.js:697 +msgid "{months} months ago" msgstr "" -#: js/js.js:671 -msgid "November" +#: js/js.js:698 +msgid "months ago" msgstr "" -#: js/js.js:671 -msgid "December" +#: js/js.js:699 +msgid "last year" msgstr "" -#: js/oc-dialogs.js:123 +#: js/js.js:700 +msgid "years ago" +msgstr "" + +#: js/oc-dialogs.js:126 msgid "Choose" msgstr "" -#: js/oc-dialogs.js:143 js/oc-dialogs.js:163 +#: js/oc-dialogs.js:146 js/oc-dialogs.js:166 msgid "Cancel" -msgstr "" +msgstr "Otkaži" -#: js/oc-dialogs.js:159 +#: js/oc-dialogs.js:162 msgid "No" msgstr "" -#: js/oc-dialogs.js:160 +#: js/oc-dialogs.js:163 msgid "Yes" msgstr "" -#: js/oc-dialogs.js:177 +#: js/oc-dialogs.js:180 msgid "Ok" msgstr "" -#: js/oc-vcategories.js:68 -msgid "No categories selected for deletion." +#: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102 +#: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162 +msgid "The object type is not specified." msgstr "" -#: js/oc-vcategories.js:68 js/share.js:114 js/share.js:121 js/share.js:497 -#: js/share.js:509 +#: js/oc-vcategories.js:95 js/oc-vcategories.js:125 js/oc-vcategories.js:136 +#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:525 +#: js/share.js:537 msgid "Error" msgstr "" -#: js/share.js:103 +#: js/oc-vcategories.js:179 +msgid "The app name is not specified." +msgstr "" + +#: js/oc-vcategories.js:194 +msgid "The required file {file} is not installed!" +msgstr "" + +#: js/share.js:124 msgid "Error while sharing" msgstr "" -#: js/share.js:114 +#: js/share.js:135 msgid "Error while unsharing" msgstr "" -#: js/share.js:121 +#: js/share.js:142 msgid "Error while changing permissions" msgstr "" -#: js/share.js:130 -msgid "Shared with you and the group" +#: js/share.js:151 +msgid "Shared with you and the group {group} by {owner}" msgstr "" -#: js/share.js:130 -msgid "by" -msgstr "" - -#: js/share.js:132 -msgid "Shared with you by" +#: js/share.js:153 +msgid "Shared with you by {owner}" msgstr "" -#: js/share.js:137 +#: js/share.js:158 msgid "Share with" msgstr "" -#: js/share.js:142 +#: js/share.js:163 msgid "Share with link" msgstr "" -#: js/share.js:143 +#: js/share.js:164 msgid "Password protect" msgstr "" -#: js/share.js:147 templates/installation.php:42 templates/login.php:24 +#: js/share.js:168 templates/installation.php:42 templates/login.php:24 #: templates/verify.php:13 msgid "Password" msgstr "Lozinka" -#: js/share.js:152 +#: js/share.js:173 msgid "Set expiration date" msgstr "" -#: js/share.js:153 +#: js/share.js:174 msgid "Expiration date" msgstr "" -#: js/share.js:185 +#: js/share.js:206 msgid "Share via email:" msgstr "" -#: js/share.js:187 +#: js/share.js:208 msgid "No people found" msgstr "" -#: js/share.js:214 +#: js/share.js:235 msgid "Resharing is not allowed" msgstr "" -#: js/share.js:250 -msgid "Shared in" -msgstr "" - -#: js/share.js:250 -msgid "with" +#: js/share.js:271 +msgid "Shared in {item} with {user}" msgstr "" -#: js/share.js:271 +#: js/share.js:292 msgid "Unshare" msgstr "" -#: js/share.js:283 +#: js/share.js:304 msgid "can edit" msgstr "" -#: js/share.js:285 +#: js/share.js:306 msgid "access control" msgstr "" -#: js/share.js:288 +#: js/share.js:309 msgid "create" msgstr "" -#: js/share.js:291 +#: js/share.js:312 msgid "update" msgstr "" -#: js/share.js:294 +#: js/share.js:315 msgid "delete" msgstr "" -#: js/share.js:297 +#: js/share.js:318 msgid "share" msgstr "" -#: js/share.js:322 js/share.js:484 +#: js/share.js:343 js/share.js:512 js/share.js:514 msgid "Password protected" msgstr "" -#: js/share.js:497 +#: js/share.js:525 msgid "Error unsetting expiration date" msgstr "" -#: js/share.js:509 +#: js/share.js:537 msgid "Error setting expiration date" msgstr "" -#: lostpassword/index.php:26 +#: lostpassword/controller.php:47 msgid "ownCloud password reset" msgstr "" @@ -233,12 +265,12 @@ msgid "You will receive a link to reset your password via Email." msgstr "Dobićete vezu za resetovanje lozinke putem e-pošte." #: lostpassword/templates/lostpassword.php:5 -msgid "Requested" -msgstr "Zahtevano" +msgid "Reset email send." +msgstr "" #: lostpassword/templates/lostpassword.php:8 -msgid "Login failed!" -msgstr "Nesupela prijava!" +msgid "Request failed!" +msgstr "" #: lostpassword/templates/lostpassword.php:11 templates/installation.php:38 #: templates/login.php:20 @@ -297,7 +329,7 @@ msgstr "Oblak nije nađen" msgid "Edit categories" msgstr "" -#: templates/edit_categories_dialog.php:14 +#: templates/edit_categories_dialog.php:16 msgid "Add" msgstr "" @@ -371,11 +403,87 @@ msgstr "Domaćin baze" msgid "Finish setup" msgstr "Završi podešavanje" -#: templates/layout.guest.php:38 +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Sunday" +msgstr "Nedelja" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Monday" +msgstr "Ponedeljak" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Tuesday" +msgstr "Utorak" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Wednesday" +msgstr "Sreda" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Thursday" +msgstr "Četvrtak" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Friday" +msgstr "Petak" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Saturday" +msgstr "Subota" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "January" +msgstr "Januar" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "February" +msgstr "Februar" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "March" +msgstr "Mart" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "April" +msgstr "April" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "May" +msgstr "Maj" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "June" +msgstr "Jun" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "July" +msgstr "Jul" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "August" +msgstr "Avgust" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "September" +msgstr "Septembar" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "October" +msgstr "Oktobar" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "November" +msgstr "Novembar" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "December" +msgstr "Decembar" + +#: templates/layout.guest.php:41 msgid "web services under your control" msgstr "" -#: templates/layout.user.php:34 +#: templates/layout.user.php:44 msgid "Log out" msgstr "Odjava" diff --git a/l10n/sr@latin/files.po b/l10n/sr@latin/files.po index fdca9ade631aea81f5cf1aab743577648196402a..fbaee12094b00a6cb4d231ad9155dae483cc4ca9 100644 --- a/l10n/sr@latin/files.po +++ b/l10n/sr@latin/files.po @@ -8,9 +8,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-09-26 13:19+0200\n" -"PO-Revision-Date: 2012-09-26 11:20+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-12-01 00:01+0100\n" +"PO-Revision-Date: 2012-11-30 23:02+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Serbian (Latin) (http://www.transifex.com/projects/p/owncloud/language/sr@latin/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -23,194 +23,165 @@ msgid "There is no error, the file uploaded with success" msgstr "Nema greške, fajl je uspešno poslat" #: ajax/upload.php:21 -msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" -msgstr "Poslati fajl prevazilazi direktivu upload_max_filesize iz " +msgid "" +"The uploaded file exceeds the upload_max_filesize directive in php.ini: " +msgstr "" -#: ajax/upload.php:22 +#: ajax/upload.php:23 msgid "" "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " "the HTML form" msgstr "Poslati fajl prevazilazi direktivu MAX_FILE_SIZE koja je navedena u HTML formi" -#: ajax/upload.php:23 +#: ajax/upload.php:25 msgid "The uploaded file was only partially uploaded" msgstr "Poslati fajl je samo delimično otpremljen!" -#: ajax/upload.php:24 +#: ajax/upload.php:26 msgid "No file was uploaded" msgstr "Nijedan fajl nije poslat" -#: ajax/upload.php:25 +#: ajax/upload.php:27 msgid "Missing a temporary folder" msgstr "Nedostaje privremena fascikla" -#: ajax/upload.php:26 +#: ajax/upload.php:28 msgid "Failed to write to disk" msgstr "" -#: appinfo/app.php:6 +#: appinfo/app.php:10 msgid "Files" msgstr "Fajlovi" -#: js/fileactions.js:108 templates/index.php:62 +#: js/fileactions.js:117 templates/index.php:83 templates/index.php:84 msgid "Unshare" msgstr "" -#: js/fileactions.js:110 templates/index.php:64 +#: js/fileactions.js:119 templates/index.php:89 templates/index.php:90 msgid "Delete" msgstr "Obriši" -#: js/fileactions.js:182 +#: js/fileactions.js:181 msgid "Rename" msgstr "" -#: js/filelist.js:190 js/filelist.js:192 -msgid "already exists" +#: js/filelist.js:201 js/filelist.js:203 +msgid "{new_name} already exists" msgstr "" -#: js/filelist.js:190 js/filelist.js:192 +#: js/filelist.js:201 js/filelist.js:203 msgid "replace" msgstr "" -#: js/filelist.js:190 +#: js/filelist.js:201 msgid "suggest name" msgstr "" -#: js/filelist.js:190 js/filelist.js:192 +#: js/filelist.js:201 js/filelist.js:203 msgid "cancel" msgstr "" -#: js/filelist.js:239 js/filelist.js:241 -msgid "replaced" +#: js/filelist.js:250 +msgid "replaced {new_name}" msgstr "" -#: js/filelist.js:239 js/filelist.js:241 js/filelist.js:273 js/filelist.js:275 +#: js/filelist.js:250 js/filelist.js:252 js/filelist.js:284 js/filelist.js:286 msgid "undo" msgstr "" -#: js/filelist.js:241 -msgid "with" +#: js/filelist.js:252 +msgid "replaced {new_name} with {old_name}" +msgstr "" + +#: js/filelist.js:284 +msgid "unshared {files}" msgstr "" -#: js/filelist.js:273 -msgid "unshared" +#: js/filelist.js:286 +msgid "deleted {files}" msgstr "" -#: js/filelist.js:275 -msgid "deleted" +#: js/files.js:33 +msgid "" +"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not " +"allowed." msgstr "" -#: js/files.js:179 +#: js/files.js:183 msgid "generating ZIP-file, it may take some time." msgstr "" -#: js/files.js:208 +#: js/files.js:218 msgid "Unable to upload your file as it is a directory or has 0 bytes" msgstr "" -#: js/files.js:208 +#: js/files.js:218 msgid "Upload Error" msgstr "" -#: js/files.js:236 js/files.js:341 js/files.js:371 +#: js/files.js:235 +msgid "Close" +msgstr "Zatvori" + +#: js/files.js:254 js/files.js:368 js/files.js:398 msgid "Pending" msgstr "" -#: js/files.js:256 +#: js/files.js:274 msgid "1 file uploading" msgstr "" -#: js/files.js:259 js/files.js:304 js/files.js:319 -msgid "files uploading" +#: js/files.js:277 js/files.js:331 js/files.js:346 +msgid "{count} files uploading" msgstr "" -#: js/files.js:322 js/files.js:355 +#: js/files.js:349 js/files.js:382 msgid "Upload cancelled." msgstr "" -#: js/files.js:424 +#: js/files.js:451 msgid "" "File upload is in progress. Leaving the page now will cancel the upload." msgstr "" -#: js/files.js:494 -msgid "Invalid name, '/' is not allowed." +#: js/files.js:523 +msgid "Invalid folder name. Usage of \"Shared\" is reserved by Owncloud" msgstr "" -#: js/files.js:667 -msgid "files scanned" +#: js/files.js:704 +msgid "{count} files scanned" msgstr "" -#: js/files.js:675 +#: js/files.js:712 msgid "error while scanning" msgstr "" -#: js/files.js:748 templates/index.php:48 +#: js/files.js:785 templates/index.php:65 msgid "Name" msgstr "Ime" -#: js/files.js:749 templates/index.php:56 +#: js/files.js:786 templates/index.php:76 msgid "Size" msgstr "Veličina" -#: js/files.js:750 templates/index.php:58 +#: js/files.js:787 templates/index.php:78 msgid "Modified" msgstr "Zadnja izmena" -#: js/files.js:777 -msgid "folder" +#: js/files.js:814 +msgid "1 folder" msgstr "" -#: js/files.js:779 -msgid "folders" +#: js/files.js:816 +msgid "{count} folders" msgstr "" -#: js/files.js:787 -msgid "file" +#: js/files.js:824 +msgid "1 file" msgstr "" -#: js/files.js:789 -msgid "files" -msgstr "" - -#: js/files.js:833 -msgid "seconds ago" -msgstr "" - -#: js/files.js:834 -msgid "minute ago" -msgstr "" - -#: js/files.js:835 -msgid "minutes ago" -msgstr "" - -#: js/files.js:838 -msgid "today" -msgstr "" - -#: js/files.js:839 -msgid "yesterday" -msgstr "" - -#: js/files.js:840 -msgid "days ago" -msgstr "" - -#: js/files.js:841 -msgid "last month" -msgstr "" - -#: js/files.js:843 -msgid "months ago" -msgstr "" - -#: js/files.js:844 -msgid "last year" -msgstr "" - -#: js/files.js:845 -msgid "years ago" +#: js/files.js:826 +msgid "{count} files" msgstr "" #: templates/admin.php:5 @@ -221,80 +192,76 @@ msgstr "" msgid "Maximum upload size" msgstr "Maksimalna veličina pošiljke" -#: templates/admin.php:7 +#: templates/admin.php:9 msgid "max. possible: " msgstr "" -#: templates/admin.php:9 +#: templates/admin.php:12 msgid "Needed for multi-file and folder downloads." msgstr "" -#: templates/admin.php:9 +#: templates/admin.php:14 msgid "Enable ZIP-download" msgstr "" -#: templates/admin.php:11 +#: templates/admin.php:17 msgid "0 is unlimited" msgstr "" -#: templates/admin.php:12 +#: templates/admin.php:19 msgid "Maximum input size for ZIP files" msgstr "" -#: templates/admin.php:14 +#: templates/admin.php:23 msgid "Save" -msgstr "" +msgstr "Snimi" #: templates/index.php:7 msgid "New" msgstr "" -#: templates/index.php:9 +#: templates/index.php:10 msgid "Text file" msgstr "" -#: templates/index.php:10 +#: templates/index.php:12 msgid "Folder" msgstr "" -#: templates/index.php:11 -msgid "From url" +#: templates/index.php:14 +msgid "From link" msgstr "" -#: templates/index.php:20 +#: templates/index.php:35 msgid "Upload" msgstr "Pošalji" -#: templates/index.php:27 +#: templates/index.php:43 msgid "Cancel upload" msgstr "" -#: templates/index.php:40 +#: templates/index.php:57 msgid "Nothing in here. Upload something!" msgstr "Ovde nema ničeg. Pošaljite nešto!" -#: templates/index.php:50 -msgid "Share" -msgstr "" - -#: templates/index.php:52 +#: templates/index.php:71 msgid "Download" msgstr "Preuzmi" -#: templates/index.php:75 +#: templates/index.php:103 msgid "Upload too large" msgstr "Pošiljka je prevelika" -#: templates/index.php:77 +#: templates/index.php:105 msgid "" "The files you are trying to upload exceed the maximum size for file uploads " "on this server." msgstr "Fajlovi koje želite da pošaljete prevazilaze ograničenje maksimalne veličine pošiljke na ovom serveru." -#: templates/index.php:82 +#: templates/index.php:110 msgid "Files are being scanned, please wait." msgstr "" -#: templates/index.php:85 +#: templates/index.php:113 msgid "Current scanning" msgstr "" diff --git a/l10n/sr@latin/files_external.po b/l10n/sr@latin/files_external.po index f21d86b6b0755823768d2ac6d94628f7488110b3..d23a68fce7af32bf4d7e105678cbf108661c908e 100644 --- a/l10n/sr@latin/files_external.po +++ b/l10n/sr@latin/files_external.po @@ -7,9 +7,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-02 23:16+0200\n" -"PO-Revision-Date: 2012-10-02 21:17+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-12-12 00:12+0100\n" +"PO-Revision-Date: 2012-12-11 23:13+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Serbian (Latin) (http://www.transifex.com/projects/p/owncloud/language/sr@latin/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -41,66 +41,80 @@ msgstr "" msgid "Error configuring Google Drive storage" msgstr "" +#: lib/config.php:434 +msgid "" +"Warning: \"smbclient\" is not installed. Mounting of CIFS/SMB shares " +"is not possible. Please ask your system administrator to install it." +msgstr "" + +#: lib/config.php:435 +msgid "" +"Warning: The FTP support in PHP is not enabled or installed. Mounting" +" of FTP shares is not possible. Please ask your system administrator to " +"install it." +msgstr "" + #: templates/settings.php:3 msgid "External Storage" msgstr "" -#: templates/settings.php:7 templates/settings.php:19 +#: templates/settings.php:8 templates/settings.php:22 msgid "Mount point" msgstr "" -#: templates/settings.php:8 +#: templates/settings.php:9 msgid "Backend" msgstr "" -#: templates/settings.php:9 +#: templates/settings.php:10 msgid "Configuration" msgstr "" -#: templates/settings.php:10 +#: templates/settings.php:11 msgid "Options" msgstr "" -#: templates/settings.php:11 +#: templates/settings.php:12 msgid "Applicable" msgstr "" -#: templates/settings.php:23 +#: templates/settings.php:27 msgid "Add mount point" msgstr "" -#: templates/settings.php:54 templates/settings.php:62 +#: templates/settings.php:85 msgid "None set" msgstr "" -#: templates/settings.php:63 +#: templates/settings.php:86 msgid "All Users" msgstr "" -#: templates/settings.php:64 +#: templates/settings.php:87 msgid "Groups" msgstr "" -#: templates/settings.php:69 +#: templates/settings.php:95 msgid "Users" msgstr "" -#: templates/settings.php:77 templates/settings.php:107 +#: templates/settings.php:108 templates/settings.php:109 +#: templates/settings.php:149 templates/settings.php:150 msgid "Delete" msgstr "" -#: templates/settings.php:87 +#: templates/settings.php:124 msgid "Enable User External Storage" msgstr "" -#: templates/settings.php:88 +#: templates/settings.php:125 msgid "Allow users to mount their own external storage" msgstr "" -#: templates/settings.php:99 +#: templates/settings.php:139 msgid "SSL root certificates" msgstr "" -#: templates/settings.php:113 +#: templates/settings.php:158 msgid "Import Root Certificate" msgstr "" diff --git a/l10n/sr@latin/files_pdfviewer.po b/l10n/sr@latin/files_pdfviewer.po deleted file mode 100644 index c63e430bcb118409f8c9d0b2c7d3a06f7a51beff..0000000000000000000000000000000000000000 --- a/l10n/sr@latin/files_pdfviewer.po +++ /dev/null @@ -1,42 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 02:18+0200\n" -"PO-Revision-Date: 2012-08-26 00:19+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Serbian (Latin) (http://www.transifex.com/projects/p/owncloud/language/sr@latin/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: sr@latin\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" - -#: js/viewer.js:22 -msgid "Previous" -msgstr "" - -#: js/viewer.js:23 -msgid "Next" -msgstr "" - -#: js/viewer.js:29 -msgid "Page Width" -msgstr "" - -#: js/viewer.js:29 -msgid "Page Fit" -msgstr "" - -#: js/viewer.js:30 -msgid "Print" -msgstr "" - -#: js/viewer.js:32 -msgid "Download" -msgstr "" diff --git a/l10n/sr@latin/files_texteditor.po b/l10n/sr@latin/files_texteditor.po deleted file mode 100644 index a3902531ee561667ebd9fd70d8c66d0cc0d00828..0000000000000000000000000000000000000000 --- a/l10n/sr@latin/files_texteditor.po +++ /dev/null @@ -1,44 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 01:17+0200\n" -"PO-Revision-Date: 2012-08-25 23:18+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Serbian (Latin) (http://www.transifex.com/projects/p/owncloud/language/sr@latin/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: sr@latin\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" - -#: js/aceeditor/mode-coldfusion-uncompressed.js:1568 -#: js/aceeditor/mode-liquid-uncompressed.js:902 -#: js/aceeditor/mode-svg-uncompressed.js:1575 -msgid "regex" -msgstr "" - -#: js/editor.js:72 js/editor.js:156 js/editor.js:163 -msgid "Save" -msgstr "" - -#: js/editor.js:74 -msgid "Close" -msgstr "" - -#: js/editor.js:149 -msgid "Saving..." -msgstr "" - -#: js/editor.js:239 -msgid "An error occurred!" -msgstr "" - -#: js/editor.js:266 -msgid "There were unsaved changes, click here to go back" -msgstr "" diff --git a/l10n/sr@latin/gallery.po b/l10n/sr@latin/gallery.po deleted file mode 100644 index 7ff467f6837c2e6168ae75dc93a0b70a159a9cd1..0000000000000000000000000000000000000000 --- a/l10n/sr@latin/gallery.po +++ /dev/null @@ -1,94 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-06-06 00:12+0200\n" -"PO-Revision-Date: 2012-06-05 22:15+0000\n" -"Last-Translator: icewind \n" -"Language-Team: Serbian (Latin) (http://www.transifex.net/projects/p/owncloud/language/sr@latin/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: sr@latin\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" - -#: appinfo/app.php:37 -msgid "Pictures" -msgstr "" - -#: js/album_cover.js:44 -msgid "Share gallery" -msgstr "" - -#: js/album_cover.js:64 js/album_cover.js:100 js/album_cover.js:133 -msgid "Error: " -msgstr "" - -#: js/album_cover.js:64 js/album_cover.js:100 -msgid "Internal error" -msgstr "" - -#: js/album_cover.js:114 -msgid "Scanning root" -msgstr "" - -#: js/album_cover.js:115 -msgid "Default order" -msgstr "" - -#: js/album_cover.js:116 -msgid "Ascending" -msgstr "" - -#: js/album_cover.js:116 -msgid "Descending" -msgstr "" - -#: js/album_cover.js:117 templates/index.php:19 -msgid "Settings" -msgstr "" - -#: js/album_cover.js:122 -msgid "Scanning root cannot be empty" -msgstr "" - -#: js/album_cover.js:122 js/album_cover.js:133 -msgid "Error" -msgstr "" - -#: templates/index.php:16 -msgid "Rescan" -msgstr "" - -#: templates/index.php:17 -msgid "Stop" -msgstr "" - -#: templates/index.php:18 -msgid "Share" -msgstr "" - -#: templates/view_album.php:19 -msgid "Back" -msgstr "" - -#: templates/view_album.php:36 -msgid "Remove confirmation" -msgstr "" - -#: templates/view_album.php:37 -msgid "Do you want to remove album" -msgstr "" - -#: templates/view_album.php:40 -msgid "Change album name" -msgstr "" - -#: templates/view_album.php:43 -msgid "New album name" -msgstr "" diff --git a/l10n/sr@latin/impress.po b/l10n/sr@latin/impress.po deleted file mode 100644 index 7d751ecd400125554802ccceca12d71a601318ef..0000000000000000000000000000000000000000 --- a/l10n/sr@latin/impress.po +++ /dev/null @@ -1,22 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 01:17+0200\n" -"PO-Revision-Date: 2012-08-25 23:18+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Serbian (Latin) (http://www.transifex.com/projects/p/owncloud/language/sr@latin/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: sr@latin\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" - -#: templates/presentations.php:7 -msgid "Documentation" -msgstr "" diff --git a/l10n/sr@latin/lib.po b/l10n/sr@latin/lib.po index 8c7d9b18bd87ee7ecd2530c4ecda7dd744af5e06..edcbb0203e215883ab6bfe383695512d480de9c2 100644 --- a/l10n/sr@latin/lib.po +++ b/l10n/sr@latin/lib.po @@ -7,53 +7,53 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-09-01 02:01+0200\n" -"PO-Revision-Date: 2012-09-01 00:02+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-11-16 00:02+0100\n" +"PO-Revision-Date: 2012-11-14 23:13+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Serbian (Latin) (http://www.transifex.com/projects/p/owncloud/language/sr@latin/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: sr@latin\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" +"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" -#: app.php:288 +#: app.php:285 msgid "Help" -msgstr "" +msgstr "Pomoć" -#: app.php:295 +#: app.php:292 msgid "Personal" -msgstr "" +msgstr "Lično" -#: app.php:300 +#: app.php:297 msgid "Settings" -msgstr "" +msgstr "Podešavanja" -#: app.php:305 +#: app.php:302 msgid "Users" -msgstr "" +msgstr "Korisnici" -#: app.php:312 +#: app.php:309 msgid "Apps" msgstr "" -#: app.php:314 +#: app.php:311 msgid "Admin" msgstr "" -#: files.php:280 +#: files.php:332 msgid "ZIP download is turned off." msgstr "" -#: files.php:281 +#: files.php:333 msgid "Files need to be downloaded one by one." msgstr "" -#: files.php:281 files.php:306 +#: files.php:333 files.php:358 msgid "Back to Files" msgstr "" -#: files.php:305 +#: files.php:357 msgid "Selected files too large to generate zip file." msgstr "" @@ -61,65 +61,92 @@ msgstr "" msgid "Application is not enabled" msgstr "" -#: json.php:39 json.php:63 json.php:75 +#: json.php:39 json.php:64 json.php:77 json.php:89 msgid "Authentication error" -msgstr "" +msgstr "Greška pri autentifikaciji" #: json.php:51 msgid "Token expired. Please reload page." msgstr "" -#: template.php:86 +#: search/provider/file.php:17 search/provider/file.php:35 +msgid "Files" +msgstr "Fajlovi" + +#: search/provider/file.php:26 search/provider/file.php:33 +msgid "Text" +msgstr "Tekst" + +#: search/provider/file.php:29 +msgid "Images" +msgstr "" + +#: template.php:103 msgid "seconds ago" msgstr "" -#: template.php:87 +#: template.php:104 msgid "1 minute ago" msgstr "" -#: template.php:88 +#: template.php:105 #, php-format msgid "%d minutes ago" msgstr "" -#: template.php:91 +#: template.php:106 +msgid "1 hour ago" +msgstr "" + +#: template.php:107 +#, php-format +msgid "%d hours ago" +msgstr "" + +#: template.php:108 msgid "today" msgstr "" -#: template.php:92 +#: template.php:109 msgid "yesterday" msgstr "" -#: template.php:93 +#: template.php:110 #, php-format msgid "%d days ago" msgstr "" -#: template.php:94 +#: template.php:111 msgid "last month" msgstr "" -#: template.php:95 -msgid "months ago" +#: template.php:112 +#, php-format +msgid "%d months ago" msgstr "" -#: template.php:96 +#: template.php:113 msgid "last year" msgstr "" -#: template.php:97 +#: template.php:114 msgid "years ago" msgstr "" -#: updater.php:66 +#: updater.php:75 #, php-format msgid "%s is available. Get more information" msgstr "" -#: updater.php:68 +#: updater.php:77 msgid "up to date" msgstr "" -#: updater.php:71 +#: updater.php:80 msgid "updates check is disabled" msgstr "" + +#: vcategories.php:188 vcategories.php:249 +#, php-format +msgid "Could not find category \"%s\"" +msgstr "" diff --git a/l10n/sr@latin/media.po b/l10n/sr@latin/media.po deleted file mode 100644 index 4bbe1bb1bce688950afdfd91e91a63652738ea20..0000000000000000000000000000000000000000 --- a/l10n/sr@latin/media.po +++ /dev/null @@ -1,67 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Slobodan Terzić , 2011. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-06-06 00:12+0200\n" -"PO-Revision-Date: 2012-06-05 22:15+0000\n" -"Last-Translator: icewind \n" -"Language-Team: Serbian (Latin) (http://www.transifex.net/projects/p/owncloud/language/sr@latin/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: sr@latin\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" - -#: appinfo/app.php:32 templates/player.php:8 -msgid "Music" -msgstr "Muzika" - -#: js/music.js:18 -msgid "Add album to playlist" -msgstr "" - -#: templates/music.php:3 templates/player.php:12 -msgid "Play" -msgstr "Pusti" - -#: templates/music.php:4 templates/music.php:26 templates/player.php:13 -msgid "Pause" -msgstr "Pauziraj" - -#: templates/music.php:5 -msgid "Previous" -msgstr "Prethodna" - -#: templates/music.php:6 templates/player.php:14 -msgid "Next" -msgstr "Sledeća" - -#: templates/music.php:7 -msgid "Mute" -msgstr "Isključi zvuk" - -#: templates/music.php:8 -msgid "Unmute" -msgstr "Uključi zvuk" - -#: templates/music.php:25 -msgid "Rescan Collection" -msgstr "Ponovo pretraži zbirku" - -#: templates/music.php:37 -msgid "Artist" -msgstr "Izvođač" - -#: templates/music.php:38 -msgid "Album" -msgstr "Album" - -#: templates/music.php:39 -msgid "Title" -msgstr "Naslov" diff --git a/l10n/sr@latin/settings.po b/l10n/sr@latin/settings.po index 375060e8ae307671f3293a214b5ed4751c14c8cc..d871fb7eb2bdf19c54fb21a44671d836e3b262a1 100644 --- a/l10n/sr@latin/settings.po +++ b/l10n/sr@latin/settings.po @@ -8,9 +8,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-09 02:03+0200\n" -"PO-Revision-Date: 2012-10-09 00:04+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-12-03 00:04+0100\n" +"PO-Revision-Date: 2012-12-02 03:18+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Serbian (Latin) (http://www.transifex.com/projects/p/owncloud/language/sr@latin/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -18,70 +18,73 @@ msgstr "" "Language: sr@latin\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" -#: ajax/apps/ocs.php:23 +#: ajax/apps/ocs.php:20 msgid "Unable to load list from App Store" msgstr "" -#: ajax/creategroup.php:9 ajax/removeuser.php:13 ajax/setquota.php:18 -#: ajax/togglegroups.php:15 -msgid "Authentication error" -msgstr "" - -#: ajax/creategroup.php:19 +#: ajax/creategroup.php:10 msgid "Group already exists" msgstr "" -#: ajax/creategroup.php:28 +#: ajax/creategroup.php:19 msgid "Unable to add group" msgstr "" -#: ajax/enableapp.php:14 +#: ajax/enableapp.php:12 msgid "Could not enable app. " msgstr "" -#: ajax/lostpassword.php:14 +#: ajax/lostpassword.php:12 msgid "Email saved" msgstr "" -#: ajax/lostpassword.php:16 +#: ajax/lostpassword.php:14 msgid "Invalid email" msgstr "" -#: ajax/openid.php:16 +#: ajax/openid.php:13 msgid "OpenID Changed" msgstr "OpenID je izmenjen" -#: ajax/openid.php:18 ajax/setlanguage.php:20 ajax/setlanguage.php:23 +#: ajax/openid.php:15 ajax/setlanguage.php:17 ajax/setlanguage.php:20 msgid "Invalid request" msgstr "Neispravan zahtev" -#: ajax/removegroup.php:16 +#: ajax/removegroup.php:13 msgid "Unable to delete group" msgstr "" -#: ajax/removeuser.php:22 +#: ajax/removeuser.php:15 ajax/setquota.php:15 ajax/togglegroups.php:18 +msgid "Authentication error" +msgstr "Greška pri autentifikaciji" + +#: ajax/removeuser.php:24 msgid "Unable to delete user" msgstr "" -#: ajax/setlanguage.php:18 +#: ajax/setlanguage.php:15 msgid "Language changed" msgstr "Jezik je izmenjen" -#: ajax/togglegroups.php:25 +#: ajax/togglegroups.php:12 +msgid "Admins can't remove themself from the admin group" +msgstr "" + +#: ajax/togglegroups.php:28 #, php-format msgid "Unable to add user to group %s" msgstr "" -#: ajax/togglegroups.php:31 +#: ajax/togglegroups.php:34 #, php-format msgid "Unable to remove user from group %s" msgstr "" -#: js/apps.js:28 js/apps.js:65 +#: js/apps.js:28 js/apps.js:67 msgid "Disable" msgstr "" -#: js/apps.js:28 js/apps.js:54 +#: js/apps.js:28 js/apps.js:55 msgid "Enable" msgstr "" @@ -89,97 +92,10 @@ msgstr "" msgid "Saving..." msgstr "" -#: personal.php:47 personal.php:48 +#: personal.php:42 personal.php:43 msgid "__language_name__" msgstr "" -#: templates/admin.php:14 -msgid "Security Warning" -msgstr "" - -#: templates/admin.php:17 -msgid "" -"Your data directory and your files are probably accessible from the " -"internet. The .htaccess file that ownCloud provides is not working. We " -"strongly suggest that you configure your webserver in a way that the data " -"directory is no longer accessible or you move the data directory outside the" -" webserver document root." -msgstr "" - -#: templates/admin.php:31 -msgid "Cron" -msgstr "" - -#: templates/admin.php:37 -msgid "Execute one task with each page loaded" -msgstr "" - -#: templates/admin.php:43 -msgid "" -"cron.php is registered at a webcron service. Call the cron.php page in the " -"owncloud root once a minute over http." -msgstr "" - -#: templates/admin.php:49 -msgid "" -"Use systems cron service. Call the cron.php file in the owncloud folder via " -"a system cronjob once a minute." -msgstr "" - -#: templates/admin.php:56 -msgid "Sharing" -msgstr "" - -#: templates/admin.php:61 -msgid "Enable Share API" -msgstr "" - -#: templates/admin.php:62 -msgid "Allow apps to use the Share API" -msgstr "" - -#: templates/admin.php:67 -msgid "Allow links" -msgstr "" - -#: templates/admin.php:68 -msgid "Allow users to share items to the public with links" -msgstr "" - -#: templates/admin.php:73 -msgid "Allow resharing" -msgstr "" - -#: templates/admin.php:74 -msgid "Allow users to share items shared with them again" -msgstr "" - -#: templates/admin.php:79 -msgid "Allow users to share with anyone" -msgstr "" - -#: templates/admin.php:81 -msgid "Allow users to only share with users in their groups" -msgstr "" - -#: templates/admin.php:88 -msgid "Log" -msgstr "" - -#: templates/admin.php:116 -msgid "More" -msgstr "" - -#: templates/admin.php:124 -msgid "" -"Developed by the ownCloud community, the source code is " -"licensed under the AGPL." -msgstr "" - #: templates/apps.php:10 msgid "Add your App" msgstr "" @@ -212,21 +128,21 @@ msgstr "" msgid "Ask a question" msgstr "Postavite pitanje" -#: templates/help.php:23 +#: templates/help.php:22 msgid "Problems connecting to help database." msgstr "Problem u povezivanju sa bazom pomoći" -#: templates/help.php:24 +#: templates/help.php:23 msgid "Go there manually." msgstr "Otiđite tamo ručno." -#: templates/help.php:32 +#: templates/help.php:31 msgid "Answer" msgstr "Odgovor" #: templates/personal.php:8 #, php-format -msgid "You have used %s of the available %s" +msgid "You have used %s of the available %s" msgstr "" #: templates/personal.php:12 @@ -235,7 +151,7 @@ msgstr "" #: templates/personal.php:13 msgid "Download" -msgstr "" +msgstr "Preuzmi" #: templates/personal.php:19 msgid "Your password was changed" @@ -263,7 +179,7 @@ msgstr "Izmeni lozinku" #: templates/personal.php:30 msgid "Email" -msgstr "" +msgstr "E-mail" #: templates/personal.php:31 msgid "Your email address" @@ -285,6 +201,16 @@ msgstr "" msgid "use this address to connect to your ownCloud in your file manager" msgstr "koristite ovu adresu da bi se povezali na ownCloud putem menadžnjera fajlova" +#: templates/personal.php:61 +msgid "" +"Developed by the ownCloud community, the source code is " +"licensed under the AGPL." +msgstr "" + #: templates/users.php:21 templates/users.php:76 msgid "Name" msgstr "Ime" @@ -307,7 +233,7 @@ msgstr "" #: templates/users.php:55 templates/users.php:138 msgid "Other" -msgstr "" +msgstr "Drugo" #: templates/users.php:80 templates/users.php:112 msgid "Group Admin" diff --git a/l10n/sr@latin/tasks.po b/l10n/sr@latin/tasks.po deleted file mode 100644 index c4dff86e0a6bb5c4274964f174134436a9339d7c..0000000000000000000000000000000000000000 --- a/l10n/sr@latin/tasks.po +++ /dev/null @@ -1,106 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:44+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Serbian (Latin) (http://www.transifex.com/projects/p/owncloud/language/sr@latin/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: sr@latin\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" - -#: ajax/update_property.php:51 lib/app.php:89 lib/app.php:101 -msgid "Invalid date/time" -msgstr "" - -#: appinfo/app.php:11 -msgid "Tasks" -msgstr "" - -#: js/tasks.js:415 -msgid "No category" -msgstr "" - -#: lib/app.php:33 -msgid "Unspecified" -msgstr "" - -#: lib/app.php:34 -msgid "1=highest" -msgstr "" - -#: lib/app.php:38 -msgid "5=medium" -msgstr "" - -#: lib/app.php:42 -msgid "9=lowest" -msgstr "" - -#: lib/app.php:81 -msgid "Empty Summary" -msgstr "" - -#: lib/app.php:93 -msgid "Invalid percent complete" -msgstr "" - -#: lib/app.php:107 -msgid "Invalid priority" -msgstr "" - -#: templates/tasks.php:3 -msgid "Add Task" -msgstr "" - -#: templates/tasks.php:4 -msgid "Order Due" -msgstr "" - -#: templates/tasks.php:5 -msgid "Order List" -msgstr "" - -#: templates/tasks.php:6 -msgid "Order Complete" -msgstr "" - -#: templates/tasks.php:7 -msgid "Order Location" -msgstr "" - -#: templates/tasks.php:8 -msgid "Order Priority" -msgstr "" - -#: templates/tasks.php:9 -msgid "Order Label" -msgstr "" - -#: templates/tasks.php:16 -msgid "Loading tasks..." -msgstr "" - -#: templates/tasks.php:20 -msgid "Important" -msgstr "" - -#: templates/tasks.php:23 -msgid "More" -msgstr "" - -#: templates/tasks.php:26 -msgid "Less" -msgstr "" - -#: templates/tasks.php:29 -msgid "Delete" -msgstr "" diff --git a/l10n/sr@latin/user_migrate.po b/l10n/sr@latin/user_migrate.po deleted file mode 100644 index 198d0844fdda0be0617f57561ab6fb4a60d4dd4a..0000000000000000000000000000000000000000 --- a/l10n/sr@latin/user_migrate.po +++ /dev/null @@ -1,51 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:45+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Serbian (Latin) (http://www.transifex.com/projects/p/owncloud/language/sr@latin/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: sr@latin\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" - -#: js/export.js:14 js/export.js:20 -msgid "Export" -msgstr "" - -#: js/export.js:19 -msgid "Something went wrong while the export file was being generated" -msgstr "" - -#: js/export.js:19 -msgid "An error has occurred" -msgstr "" - -#: templates/settings.php:2 -msgid "Export your user account" -msgstr "" - -#: templates/settings.php:3 -msgid "" -"This will create a compressed file that contains your ownCloud account." -msgstr "" - -#: templates/settings.php:13 -msgid "Import user account" -msgstr "" - -#: templates/settings.php:15 -msgid "ownCloud User Zip" -msgstr "" - -#: templates/settings.php:17 -msgid "Import" -msgstr "" diff --git a/l10n/sr@latin/user_openid.po b/l10n/sr@latin/user_openid.po deleted file mode 100644 index 0c9792f1bb04a2f51328cbea4413046031495c56..0000000000000000000000000000000000000000 --- a/l10n/sr@latin/user_openid.po +++ /dev/null @@ -1,54 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:45+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Serbian (Latin) (http://www.transifex.com/projects/p/owncloud/language/sr@latin/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: sr@latin\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" - -#: templates/nomode.php:12 -msgid "This is an OpenID server endpoint. For more information, see " -msgstr "" - -#: templates/nomode.php:14 -msgid "Identity: " -msgstr "" - -#: templates/nomode.php:15 -msgid "Realm: " -msgstr "" - -#: templates/nomode.php:16 -msgid "User: " -msgstr "" - -#: templates/nomode.php:17 -msgid "Login" -msgstr "" - -#: templates/nomode.php:22 -msgid "Error: No user Selected" -msgstr "" - -#: templates/settings.php:4 -msgid "you can authenticate to other sites with this address" -msgstr "" - -#: templates/settings.php:5 -msgid "Authorized OpenID provider" -msgstr "" - -#: templates/settings.php:6 -msgid "Your address at Wordpress, Identi.ca, …" -msgstr "" diff --git a/l10n/sr@latin/files_odfviewer.po b/l10n/sr@latin/user_webdavauth.po similarity index 75% rename from l10n/sr@latin/files_odfviewer.po rename to l10n/sr@latin/user_webdavauth.po index 3bd414595db270ffcdb32a499c39f7c9982fff94..d478b05a6f8419aa32001946f6400a06e149a12d 100644 --- a/l10n/sr@latin/files_odfviewer.po +++ b/l10n/sr@latin/user_webdavauth.po @@ -7,16 +7,16 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 02:18+0200\n" -"PO-Revision-Date: 2012-08-26 00:19+0000\n" +"POT-Creation-Date: 2012-11-09 10:06+0100\n" +"PO-Revision-Date: 2012-11-09 09:06+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: Serbian (Latin) (http://www.transifex.com/projects/p/owncloud/language/sr@latin/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: sr@latin\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" +"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" -#: js/viewer.js:9 -msgid "Close" +#: templates/settings.php:4 +msgid "WebDAV URL: http://" msgstr "" diff --git a/l10n/sv/admin_dependencies_chk.po b/l10n/sv/admin_dependencies_chk.po deleted file mode 100644 index daf145daa7d575401d1a3ad07da2278acd6e9237..0000000000000000000000000000000000000000 --- a/l10n/sv/admin_dependencies_chk.po +++ /dev/null @@ -1,74 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Magnus Höglund , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-13 10:16+0000\n" -"Last-Translator: Magnus Höglund \n" -"Language-Team: Swedish (http://www.transifex.com/projects/p/owncloud/language/sv/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: sv\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: settings.php:33 -msgid "" -"The php-json module is needed by the many applications for inter " -"communications" -msgstr "Modulen php-json behövs av många applikationer som interagerar." - -#: settings.php:39 -msgid "" -"The php-curl modude is needed to fetch the page title when adding a " -"bookmarks" -msgstr "Modulen php-curl behövs för att hämta sidans titel när du lägger till bokmärken." - -#: settings.php:45 -msgid "The php-gd module is needed to create thumbnails of your images" -msgstr "Modulen php-gd behövs för att skapa miniatyrer av dina bilder." - -#: settings.php:51 -msgid "The php-ldap module is needed connect to your ldap server" -msgstr "Modulen php-ldap behövs för att ansluta mot din ldapserver." - -#: settings.php:57 -msgid "The php-zip module is needed download multiple files at once" -msgstr "Modulen php-zip behövs för att kunna ladda ner flera filer på en gång." - -#: settings.php:63 -msgid "" -"The php-mb_multibyte module is needed to manage correctly the encoding." -msgstr "Modulen php-mb_multibyte behövs för att hantera korrekt teckenkodning." - -#: settings.php:69 -msgid "The php-ctype module is needed validate data." -msgstr "Modulen php-ctype behövs för att validera data." - -#: settings.php:75 -msgid "The php-xml module is needed to share files with webdav." -msgstr "Modulen php-xml behövs för att kunna dela filer med webdav." - -#: settings.php:81 -msgid "" -"The allow_url_fopen directive of your php.ini should be set to 1 to retrieve" -" knowledge base from OCS servers" -msgstr "Direktivet allow_url_fopen i php.ini bör sättas till 1 för att kunna hämta kunskapsbasen från OCS-servrar." - -#: settings.php:87 -msgid "The php-pdo module is needed to store owncloud data into a database." -msgstr "Modulen php-pdo behövs för att kunna lagra ownCloud data i en databas." - -#: templates/settings.php:2 -msgid "Dependencies status" -msgstr "Beroenden status" - -#: templates/settings.php:7 -msgid "Used by :" -msgstr "Används av:" diff --git a/l10n/sv/admin_migrate.po b/l10n/sv/admin_migrate.po deleted file mode 100644 index 68573f422149278245265004bcb57f0de3167bf5..0000000000000000000000000000000000000000 --- a/l10n/sv/admin_migrate.po +++ /dev/null @@ -1,33 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Magnus Höglund , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-13 09:53+0000\n" -"Last-Translator: Magnus Höglund \n" -"Language-Team: Swedish (http://www.transifex.com/projects/p/owncloud/language/sv/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: sv\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: templates/settings.php:3 -msgid "Export this ownCloud instance" -msgstr "Exportera denna instans av ownCloud" - -#: templates/settings.php:4 -msgid "" -"This will create a compressed file that contains the data of this owncloud instance.\n" -" Please choose the export type:" -msgstr "Detta kommer att skapa en komprimerad fil som innehåller all data från denna instans av ownCloud.\n Välj exporttyp:" - -#: templates/settings.php:12 -msgid "Export" -msgstr "Exportera" diff --git a/l10n/sv/bookmarks.po b/l10n/sv/bookmarks.po deleted file mode 100644 index cd3fb598dab51037dffa7f0e99b1268b36c9cfbd..0000000000000000000000000000000000000000 --- a/l10n/sv/bookmarks.po +++ /dev/null @@ -1,61 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-07-30 02:02+0200\n" -"PO-Revision-Date: 2012-07-29 20:39+0000\n" -"Last-Translator: maghog \n" -"Language-Team: Swedish (http://www.transifex.com/projects/p/owncloud/language/sv/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: sv\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: appinfo/app.php:14 -msgid "Bookmarks" -msgstr "Bokmärken" - -#: bookmarksHelper.php:99 -msgid "unnamed" -msgstr "namnlös" - -#: templates/bookmarklet.php:5 -msgid "" -"Drag this to your browser bookmarks and click it, when you want to bookmark " -"a webpage quickly:" -msgstr "Dra till din webbläsares bokmärken och klicka på det när du vill bokmärka en webbsida snabbt:" - -#: templates/bookmarklet.php:7 -msgid "Read later" -msgstr "Läs senare" - -#: templates/list.php:13 -msgid "Address" -msgstr "Adress" - -#: templates/list.php:14 -msgid "Title" -msgstr "Titel" - -#: templates/list.php:15 -msgid "Tags" -msgstr "Taggar" - -#: templates/list.php:16 -msgid "Save bookmark" -msgstr "Spara bokmärke" - -#: templates/list.php:22 -msgid "You have no bookmarks" -msgstr "Du har inga bokmärken" - -#: templates/settings.php:11 -msgid "Bookmarklet
" -msgstr "Skriptbokmärke
" diff --git a/l10n/sv/calendar.po b/l10n/sv/calendar.po deleted file mode 100644 index 1d0bf4409095db02537427f6b3e47e98306361a7..0000000000000000000000000000000000000000 --- a/l10n/sv/calendar.po +++ /dev/null @@ -1,817 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Christer Eriksson , 2012. -# Daniel Sandman , 2012. -# , 2012. -# , 2011, 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-11 02:02+0200\n" -"PO-Revision-Date: 2012-08-11 00:02+0000\n" -"Last-Translator: owncloud_robot \n" -"Language-Team: Swedish (http://www.transifex.com/projects/p/owncloud/language/sv/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: sv\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: ajax/cache/status.php:19 -msgid "Not all calendars are completely cached" -msgstr "Alla kalendrar är inte fullständigt sparade i cache" - -#: ajax/cache/status.php:21 -msgid "Everything seems to be completely cached" -msgstr "Allt verkar vara fullständigt sparat i cache" - -#: ajax/categories/rescan.php:29 -msgid "No calendars found." -msgstr "Inga kalendrar funna" - -#: ajax/categories/rescan.php:37 -msgid "No events found." -msgstr "Inga händelser funna." - -#: ajax/event/edit.form.php:20 -msgid "Wrong calendar" -msgstr "Fel kalender" - -#: ajax/import/dropimport.php:29 ajax/import/import.php:64 -msgid "" -"The file contained either no events or all events are already saved in your " -"calendar." -msgstr "Filen innehöll inga händelser eller så är alla händelser redan sparade i kalendern." - -#: ajax/import/dropimport.php:31 ajax/import/import.php:67 -msgid "events has been saved in the new calendar" -msgstr "händelser har sparats i den nya kalendern" - -#: ajax/import/import.php:56 -msgid "Import failed" -msgstr "Misslyckad import" - -#: ajax/import/import.php:69 -msgid "events has been saved in your calendar" -msgstr "händelse har sparats i din kalender" - -#: ajax/settings/guesstimezone.php:25 -msgid "New Timezone:" -msgstr "Ny tidszon:" - -#: ajax/settings/settimezone.php:23 -msgid "Timezone changed" -msgstr "Tidszon ändrad" - -#: ajax/settings/settimezone.php:25 -msgid "Invalid request" -msgstr "Ogiltig begäran" - -#: appinfo/app.php:35 templates/calendar.php:15 -#: templates/part.eventform.php:33 templates/part.showevent.php:33 -msgid "Calendar" -msgstr "Kalender" - -#: js/calendar.js:832 -msgid "ddd" -msgstr "ddd" - -#: js/calendar.js:833 -msgid "ddd M/d" -msgstr "ddd M/d" - -#: js/calendar.js:834 -msgid "dddd M/d" -msgstr "dddd M/d" - -#: js/calendar.js:837 -msgid "MMMM yyyy" -msgstr "MMMM åååå" - -#: js/calendar.js:839 -msgid "MMM d[ yyyy]{ '—'[ MMM] d yyyy}" -msgstr "MMM d[ yyyy]{ '—'[ MMM] d yyyy}" - -#: js/calendar.js:841 -msgid "dddd, MMM d, yyyy" -msgstr "ddd, MMM d, åååå" - -#: lib/app.php:121 -msgid "Birthday" -msgstr "Födelsedag" - -#: lib/app.php:122 -msgid "Business" -msgstr "Företag" - -#: lib/app.php:123 -msgid "Call" -msgstr "Ringa" - -#: lib/app.php:124 -msgid "Clients" -msgstr "Klienter" - -#: lib/app.php:125 -msgid "Deliverer" -msgstr "Leverantör" - -#: lib/app.php:126 -msgid "Holidays" -msgstr "Semester" - -#: lib/app.php:127 -msgid "Ideas" -msgstr "Idéer" - -#: lib/app.php:128 -msgid "Journey" -msgstr "Resa" - -#: lib/app.php:129 -msgid "Jubilee" -msgstr "Jubileum" - -#: lib/app.php:130 -msgid "Meeting" -msgstr "Möte" - -#: lib/app.php:131 -msgid "Other" -msgstr "Annat" - -#: lib/app.php:132 -msgid "Personal" -msgstr "Personlig" - -#: lib/app.php:133 -msgid "Projects" -msgstr "Projekt" - -#: lib/app.php:134 -msgid "Questions" -msgstr "Frågor" - -#: lib/app.php:135 -msgid "Work" -msgstr "Arbetet" - -#: lib/app.php:351 lib/app.php:361 -msgid "by" -msgstr "av" - -#: lib/app.php:359 lib/app.php:399 -msgid "unnamed" -msgstr "Namn saknas" - -#: lib/import.php:184 templates/calendar.php:12 -#: templates/part.choosecalendar.php:22 -msgid "New Calendar" -msgstr "Ny kalender" - -#: lib/object.php:372 -msgid "Does not repeat" -msgstr "Upprepas inte" - -#: lib/object.php:373 -msgid "Daily" -msgstr "Dagligen" - -#: lib/object.php:374 -msgid "Weekly" -msgstr "Varje vecka" - -#: lib/object.php:375 -msgid "Every Weekday" -msgstr "Varje vardag" - -#: lib/object.php:376 -msgid "Bi-Weekly" -msgstr "Varannan vecka" - -#: lib/object.php:377 -msgid "Monthly" -msgstr "Varje månad" - -#: lib/object.php:378 -msgid "Yearly" -msgstr "Årligen" - -#: lib/object.php:388 -msgid "never" -msgstr "aldrig" - -#: lib/object.php:389 -msgid "by occurrences" -msgstr "efter händelser" - -#: lib/object.php:390 -msgid "by date" -msgstr "efter datum" - -#: lib/object.php:400 -msgid "by monthday" -msgstr "efter dag i månaden" - -#: lib/object.php:401 -msgid "by weekday" -msgstr "efter veckodag" - -#: lib/object.php:411 templates/calendar.php:5 templates/settings.php:69 -msgid "Monday" -msgstr "Måndag" - -#: lib/object.php:412 templates/calendar.php:5 -msgid "Tuesday" -msgstr "Tisdag" - -#: lib/object.php:413 templates/calendar.php:5 -msgid "Wednesday" -msgstr "Onsdag" - -#: lib/object.php:414 templates/calendar.php:5 -msgid "Thursday" -msgstr "Torsdag" - -#: lib/object.php:415 templates/calendar.php:5 -msgid "Friday" -msgstr "Fredag" - -#: lib/object.php:416 templates/calendar.php:5 -msgid "Saturday" -msgstr "Lördag" - -#: lib/object.php:417 templates/calendar.php:5 templates/settings.php:70 -msgid "Sunday" -msgstr "Söndag" - -#: lib/object.php:427 -msgid "events week of month" -msgstr "händelse vecka av månad" - -#: lib/object.php:428 -msgid "first" -msgstr "första" - -#: lib/object.php:429 -msgid "second" -msgstr "andra" - -#: lib/object.php:430 -msgid "third" -msgstr "tredje" - -#: lib/object.php:431 -msgid "fourth" -msgstr "fjärde" - -#: lib/object.php:432 -msgid "fifth" -msgstr "femte" - -#: lib/object.php:433 -msgid "last" -msgstr "sist" - -#: lib/object.php:467 templates/calendar.php:7 -msgid "January" -msgstr "Januari" - -#: lib/object.php:468 templates/calendar.php:7 -msgid "February" -msgstr "Februari" - -#: lib/object.php:469 templates/calendar.php:7 -msgid "March" -msgstr "Mars" - -#: lib/object.php:470 templates/calendar.php:7 -msgid "April" -msgstr "April" - -#: lib/object.php:471 templates/calendar.php:7 -msgid "May" -msgstr "Maj" - -#: lib/object.php:472 templates/calendar.php:7 -msgid "June" -msgstr "Juni" - -#: lib/object.php:473 templates/calendar.php:7 -msgid "July" -msgstr "Juli" - -#: lib/object.php:474 templates/calendar.php:7 -msgid "August" -msgstr "Augusti" - -#: lib/object.php:475 templates/calendar.php:7 -msgid "September" -msgstr "September" - -#: lib/object.php:476 templates/calendar.php:7 -msgid "October" -msgstr "Oktober" - -#: lib/object.php:477 templates/calendar.php:7 -msgid "November" -msgstr "November" - -#: lib/object.php:478 templates/calendar.php:7 -msgid "December" -msgstr "December" - -#: lib/object.php:488 -msgid "by events date" -msgstr "efter händelsedatum" - -#: lib/object.php:489 -msgid "by yearday(s)" -msgstr "efter årsdag(ar)" - -#: lib/object.php:490 -msgid "by weeknumber(s)" -msgstr "efter veckonummer" - -#: lib/object.php:491 -msgid "by day and month" -msgstr "efter dag och månad" - -#: lib/search.php:35 lib/search.php:37 lib/search.php:40 -msgid "Date" -msgstr "Datum" - -#: lib/search.php:43 -msgid "Cal." -msgstr "Kal." - -#: templates/calendar.php:6 -msgid "Sun." -msgstr "Sön." - -#: templates/calendar.php:6 -msgid "Mon." -msgstr "Mån." - -#: templates/calendar.php:6 -msgid "Tue." -msgstr "Tis." - -#: templates/calendar.php:6 -msgid "Wed." -msgstr "Ons." - -#: templates/calendar.php:6 -msgid "Thu." -msgstr "Tor." - -#: templates/calendar.php:6 -msgid "Fri." -msgstr "Fre." - -#: templates/calendar.php:6 -msgid "Sat." -msgstr "Lör." - -#: templates/calendar.php:8 -msgid "Jan." -msgstr "Jan." - -#: templates/calendar.php:8 -msgid "Feb." -msgstr "Feb." - -#: templates/calendar.php:8 -msgid "Mar." -msgstr "Mar." - -#: templates/calendar.php:8 -msgid "Apr." -msgstr "Apr." - -#: templates/calendar.php:8 -msgid "May." -msgstr "Maj." - -#: templates/calendar.php:8 -msgid "Jun." -msgstr "Jun." - -#: templates/calendar.php:8 -msgid "Jul." -msgstr "Jul." - -#: templates/calendar.php:8 -msgid "Aug." -msgstr "Aug." - -#: templates/calendar.php:8 -msgid "Sep." -msgstr "Sep." - -#: templates/calendar.php:8 -msgid "Oct." -msgstr "Okt." - -#: templates/calendar.php:8 -msgid "Nov." -msgstr "Nov." - -#: templates/calendar.php:8 -msgid "Dec." -msgstr "Dec." - -#: templates/calendar.php:11 -msgid "All day" -msgstr "Hela dagen" - -#: templates/calendar.php:13 -msgid "Missing fields" -msgstr "Saknade fält" - -#: templates/calendar.php:14 templates/part.eventform.php:19 -#: templates/part.showevent.php:11 -msgid "Title" -msgstr "Rubrik" - -#: templates/calendar.php:16 -msgid "From Date" -msgstr "Från datum" - -#: templates/calendar.php:17 -msgid "From Time" -msgstr "Från tid" - -#: templates/calendar.php:18 -msgid "To Date" -msgstr "Till datum" - -#: templates/calendar.php:19 -msgid "To Time" -msgstr "Till tid" - -#: templates/calendar.php:20 -msgid "The event ends before it starts" -msgstr "Händelsen slutar innan den börjar" - -#: templates/calendar.php:21 -msgid "There was a database fail" -msgstr "Det blev ett databasfel" - -#: templates/calendar.php:39 -msgid "Week" -msgstr "Vecka" - -#: templates/calendar.php:40 -msgid "Month" -msgstr "Månad" - -#: templates/calendar.php:41 -msgid "List" -msgstr "Lista" - -#: templates/calendar.php:45 -msgid "Today" -msgstr "Idag" - -#: templates/calendar.php:46 templates/calendar.php:47 -msgid "Settings" -msgstr "" - -#: templates/part.choosecalendar.php:2 -msgid "Your calendars" -msgstr "Dina kalendrar" - -#: templates/part.choosecalendar.php:27 -#: templates/part.choosecalendar.rowfields.php:11 -msgid "CalDav Link" -msgstr "CalDAV-länk" - -#: templates/part.choosecalendar.php:31 -msgid "Shared calendars" -msgstr "Delade kalendrar" - -#: templates/part.choosecalendar.php:48 -msgid "No shared calendars" -msgstr "Inga delade kalendrar" - -#: templates/part.choosecalendar.rowfields.php:8 -msgid "Share Calendar" -msgstr "Dela kalender" - -#: templates/part.choosecalendar.rowfields.php:14 -msgid "Download" -msgstr "Ladda ner" - -#: templates/part.choosecalendar.rowfields.php:17 -msgid "Edit" -msgstr "Redigera" - -#: templates/part.choosecalendar.rowfields.php:20 -#: templates/part.editevent.php:9 -msgid "Delete" -msgstr "Radera" - -#: templates/part.choosecalendar.rowfields.shared.php:4 -msgid "shared with you by" -msgstr "delad med dig av" - -#: templates/part.editcalendar.php:9 -msgid "New calendar" -msgstr "Nya kalender" - -#: templates/part.editcalendar.php:9 -msgid "Edit calendar" -msgstr "Redigera kalender" - -#: templates/part.editcalendar.php:12 -msgid "Displayname" -msgstr "Visningsnamn" - -#: templates/part.editcalendar.php:23 -msgid "Active" -msgstr "Aktiv" - -#: templates/part.editcalendar.php:29 -msgid "Calendar color" -msgstr "Kalender-färg" - -#: templates/part.editcalendar.php:42 -msgid "Save" -msgstr "Spara" - -#: templates/part.editcalendar.php:42 templates/part.editevent.php:8 -#: templates/part.newevent.php:6 -msgid "Submit" -msgstr "Lägg till" - -#: templates/part.editcalendar.php:43 -msgid "Cancel" -msgstr "Avbryt" - -#: templates/part.editevent.php:1 -msgid "Edit an event" -msgstr "Redigera en händelse" - -#: templates/part.editevent.php:10 -msgid "Export" -msgstr "Exportera" - -#: templates/part.eventform.php:8 templates/part.showevent.php:3 -msgid "Eventinfo" -msgstr "Händelseinfo" - -#: templates/part.eventform.php:9 templates/part.showevent.php:4 -msgid "Repeating" -msgstr "Repetera" - -#: templates/part.eventform.php:10 templates/part.showevent.php:5 -msgid "Alarm" -msgstr "Alarm" - -#: templates/part.eventform.php:11 templates/part.showevent.php:6 -msgid "Attendees" -msgstr "Deltagare" - -#: templates/part.eventform.php:13 -msgid "Share" -msgstr "Dela" - -#: templates/part.eventform.php:21 -msgid "Title of the Event" -msgstr "Rubrik för händelsen" - -#: templates/part.eventform.php:27 templates/part.showevent.php:19 -msgid "Category" -msgstr "Kategori" - -#: templates/part.eventform.php:29 -msgid "Separate categories with commas" -msgstr "Separera kategorier med komman" - -#: templates/part.eventform.php:30 -msgid "Edit categories" -msgstr "Redigera kategorier" - -#: templates/part.eventform.php:56 templates/part.showevent.php:52 -msgid "All Day Event" -msgstr "Hela dagen" - -#: templates/part.eventform.php:60 templates/part.showevent.php:56 -msgid "From" -msgstr "Från" - -#: templates/part.eventform.php:68 templates/part.showevent.php:64 -msgid "To" -msgstr "Till" - -#: templates/part.eventform.php:76 templates/part.showevent.php:72 -msgid "Advanced options" -msgstr "Avancerade alternativ" - -#: templates/part.eventform.php:81 templates/part.showevent.php:77 -msgid "Location" -msgstr "Plats" - -#: templates/part.eventform.php:83 -msgid "Location of the Event" -msgstr "Platsen för händelsen" - -#: templates/part.eventform.php:89 templates/part.showevent.php:85 -msgid "Description" -msgstr "Beskrivning" - -#: templates/part.eventform.php:91 -msgid "Description of the Event" -msgstr "Beskrivning av händelse" - -#: templates/part.eventform.php:100 templates/part.showevent.php:95 -msgid "Repeat" -msgstr "Upprepa" - -#: templates/part.eventform.php:107 templates/part.showevent.php:102 -msgid "Advanced" -msgstr "Avancerad" - -#: templates/part.eventform.php:151 templates/part.showevent.php:146 -msgid "Select weekdays" -msgstr "Välj veckodagar" - -#: templates/part.eventform.php:164 templates/part.eventform.php:177 -#: templates/part.showevent.php:159 templates/part.showevent.php:172 -msgid "Select days" -msgstr "Välj dagar" - -#: templates/part.eventform.php:169 templates/part.showevent.php:164 -msgid "and the events day of year." -msgstr "och händelsedagen för året." - -#: templates/part.eventform.php:182 templates/part.showevent.php:177 -msgid "and the events day of month." -msgstr "och händelsedagen för månaden." - -#: templates/part.eventform.php:190 templates/part.showevent.php:185 -msgid "Select months" -msgstr "Välj månader" - -#: templates/part.eventform.php:203 templates/part.showevent.php:198 -msgid "Select weeks" -msgstr "Välj veckor" - -#: templates/part.eventform.php:208 templates/part.showevent.php:203 -msgid "and the events week of year." -msgstr "och händelsevecka för året." - -#: templates/part.eventform.php:214 templates/part.showevent.php:209 -msgid "Interval" -msgstr "Hur ofta" - -#: templates/part.eventform.php:220 templates/part.showevent.php:215 -msgid "End" -msgstr "Slut" - -#: templates/part.eventform.php:233 templates/part.showevent.php:228 -msgid "occurrences" -msgstr "Händelser" - -#: templates/part.import.php:14 -msgid "create a new calendar" -msgstr "skapa en ny kalender" - -#: templates/part.import.php:17 -msgid "Import a calendar file" -msgstr "Importera en kalenderfil" - -#: templates/part.import.php:24 -msgid "Please choose a calendar" -msgstr "Välj en kalender" - -#: templates/part.import.php:36 -msgid "Name of new calendar" -msgstr "Namn på ny kalender" - -#: templates/part.import.php:44 -msgid "Take an available name!" -msgstr "Ta ett ledigt namn!" - -#: templates/part.import.php:45 -msgid "" -"A Calendar with this name already exists. If you continue anyhow, these " -"calendars will be merged." -msgstr "En kalender med detta namn finns redan. Om du fortsätter ändå så kommer dessa kalendrar att slås samman." - -#: templates/part.import.php:47 -msgid "Import" -msgstr "Importera" - -#: templates/part.import.php:56 -msgid "Close Dialog" -msgstr "Stäng " - -#: templates/part.newevent.php:1 -msgid "Create a new event" -msgstr "Skapa en ny händelse" - -#: templates/part.showevent.php:1 -msgid "View an event" -msgstr "Visa en händelse" - -#: templates/part.showevent.php:23 -msgid "No categories selected" -msgstr "Inga kategorier valda" - -#: templates/part.showevent.php:37 -msgid "of" -msgstr "av" - -#: templates/part.showevent.php:59 templates/part.showevent.php:67 -msgid "at" -msgstr "på" - -#: templates/settings.php:10 -msgid "General" -msgstr "" - -#: templates/settings.php:15 -msgid "Timezone" -msgstr "Tidszon" - -#: templates/settings.php:47 -msgid "Update timezone automatically" -msgstr "" - -#: templates/settings.php:52 -msgid "Time format" -msgstr "" - -#: templates/settings.php:57 -msgid "24h" -msgstr "24h" - -#: templates/settings.php:58 -msgid "12h" -msgstr "12h" - -#: templates/settings.php:64 -msgid "Start week on" -msgstr "" - -#: templates/settings.php:76 -msgid "Cache" -msgstr "Cache" - -#: templates/settings.php:80 -msgid "Clear cache for repeating events" -msgstr "Töm cache för upprepade händelser" - -#: templates/settings.php:85 -msgid "URLs" -msgstr "" - -#: templates/settings.php:87 -msgid "Calendar CalDAV syncing addresses" -msgstr "Kalender CalDAV synkroniserar adresser" - -#: templates/settings.php:87 -msgid "more info" -msgstr "mer info" - -#: templates/settings.php:89 -msgid "Primary address (Kontact et al)" -msgstr "Primary address (Kontact et al)" - -#: templates/settings.php:91 -msgid "iOS/OS X" -msgstr "iOS/OS X" - -#: templates/settings.php:93 -msgid "Read only iCalendar link(s)" -msgstr "Read only iCalendar link(s)" - -#: templates/share.dropdown.php:20 -msgid "Users" -msgstr "Användare" - -#: templates/share.dropdown.php:21 -msgid "select users" -msgstr "välj användare" - -#: templates/share.dropdown.php:36 templates/share.dropdown.php:62 -msgid "Editable" -msgstr "Redigerbar" - -#: templates/share.dropdown.php:48 -msgid "Groups" -msgstr "Grupper" - -#: templates/share.dropdown.php:49 -msgid "select groups" -msgstr "Välj grupper" - -#: templates/share.dropdown.php:75 -msgid "make public" -msgstr "Gör offentlig" diff --git a/l10n/sv/contacts.po b/l10n/sv/contacts.po deleted file mode 100644 index 635ea51f8eb3240cd7f7f3370db7dcd182783050..0000000000000000000000000000000000000000 --- a/l10n/sv/contacts.po +++ /dev/null @@ -1,958 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Christer Eriksson , 2012. -# Daniel Sandman , 2012. -# Magnus Höglund , 2012. -# , 2012. -# , 2011, 2012. -# , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-25 02:04+0200\n" -"PO-Revision-Date: 2012-08-24 07:00+0000\n" -"Last-Translator: Magnus Höglund \n" -"Language-Team: Swedish (http://www.transifex.com/projects/p/owncloud/language/sv/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: sv\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: ajax/addressbook/activate.php:24 ajax/addressbook/update.php:32 -msgid "Error (de)activating addressbook." -msgstr "Fel (av)aktivera adressbok." - -#: ajax/addressbook/delete.php:31 ajax/addressbook/update.php:20 -#: ajax/contact/addproperty.php:42 ajax/contact/delete.php:32 -#: ajax/contact/saveproperty.php:39 -msgid "id is not set." -msgstr "ID är inte satt." - -#: ajax/addressbook/update.php:24 -msgid "Cannot update addressbook with an empty name." -msgstr "Kan inte uppdatera adressboken med ett tomt namn." - -#: ajax/addressbook/update.php:28 -msgid "Error updating addressbook." -msgstr "Fel uppstod när adressbok skulle uppdateras." - -#: ajax/categories/categoriesfor.php:17 -msgid "No ID provided" -msgstr "Inget ID angett" - -#: ajax/categories/categoriesfor.php:34 -msgid "Error setting checksum." -msgstr "Fel uppstod när kontrollsumma skulle sättas." - -#: ajax/categories/delete.php:19 -msgid "No categories selected for deletion." -msgstr "Inga kategorier valda för borttaging" - -#: ajax/categories/delete.php:26 -msgid "No address books found." -msgstr "Ingen adressbok funnen." - -#: ajax/categories/delete.php:34 -msgid "No contacts found." -msgstr "Inga kontakter funna." - -#: ajax/contact/add.php:47 -msgid "There was an error adding the contact." -msgstr "Det uppstod ett fel när kontakten skulle läggas till." - -#: ajax/contact/addproperty.php:39 ajax/contact/saveproperty.php:36 -msgid "element name is not set." -msgstr "elementnamn ej angett." - -#: ajax/contact/addproperty.php:46 -msgid "Could not parse contact: " -msgstr "Kunde inte läsa kontakt:" - -#: ajax/contact/addproperty.php:56 -msgid "Cannot add empty property." -msgstr "Kan inte lägga till en tom egenskap." - -#: ajax/contact/addproperty.php:67 -msgid "At least one of the address fields has to be filled out." -msgstr "Minst ett fält måste fyllas i." - -#: ajax/contact/addproperty.php:76 -msgid "Trying to add duplicate property: " -msgstr "Försöker lägga till dubblett:" - -#: ajax/contact/addproperty.php:115 ajax/contact/saveproperty.php:93 -msgid "Missing IM parameter." -msgstr "IM parameter saknas." - -#: ajax/contact/addproperty.php:119 ajax/contact/saveproperty.php:97 -msgid "Unknown IM: " -msgstr "Okänt IM:" - -#: ajax/contact/deleteproperty.php:37 -msgid "Information about vCard is incorrect. Please reload the page." -msgstr "Information om vCard är felaktigt. Vänligen ladda om sidan." - -#: ajax/contact/details.php:31 -msgid "Missing ID" -msgstr "ID saknas" - -#: ajax/contact/details.php:36 -msgid "Error parsing VCard for ID: \"" -msgstr "Fel vid läsning av VCard för ID: \"" - -#: ajax/contact/saveproperty.php:42 -msgid "checksum is not set." -msgstr "kontrollsumma är inte satt." - -#: ajax/contact/saveproperty.php:62 -msgid "Information about vCard is incorrect. Please reload the page: " -msgstr "Informationen om vCard är fel. Ladda om sidan:" - -#: ajax/contact/saveproperty.php:69 -msgid "Something went FUBAR. " -msgstr "Något gick fel." - -#: ajax/currentphoto.php:30 ajax/oc_photo.php:28 ajax/uploadphoto.php:36 -#: ajax/uploadphoto.php:68 -msgid "No contact ID was submitted." -msgstr "Inget kontakt-ID angavs." - -#: ajax/currentphoto.php:36 -msgid "Error reading contact photo." -msgstr "Fel uppstod vid läsning av kontaktfoto." - -#: ajax/currentphoto.php:48 -msgid "Error saving temporary file." -msgstr "Fel uppstod när temporär fil skulle sparas." - -#: ajax/currentphoto.php:51 -msgid "The loading photo is not valid." -msgstr "Det laddade fotot är inte giltigt." - -#: ajax/editname.php:31 -msgid "Contact ID is missing." -msgstr "Kontakt-ID saknas." - -#: ajax/oc_photo.php:32 -msgid "No photo path was submitted." -msgstr "Ingen sökväg till foto angavs." - -#: ajax/oc_photo.php:39 -msgid "File doesn't exist:" -msgstr "Filen existerar inte." - -#: ajax/oc_photo.php:44 ajax/oc_photo.php:47 -msgid "Error loading image." -msgstr "Fel uppstod när bild laddades." - -#: ajax/savecrop.php:69 -msgid "Error getting contact object." -msgstr "Fel vid hämtning av kontakt." - -#: ajax/savecrop.php:79 -msgid "Error getting PHOTO property." -msgstr "Fel vid hämtning av egenskaper för FOTO." - -#: ajax/savecrop.php:98 -msgid "Error saving contact." -msgstr "Fel vid sparande av kontakt." - -#: ajax/savecrop.php:109 -msgid "Error resizing image" -msgstr "Fel vid storleksförändring av bilden" - -#: ajax/savecrop.php:112 -msgid "Error cropping image" -msgstr "Fel vid beskärning av bilden" - -#: ajax/savecrop.php:115 -msgid "Error creating temporary image" -msgstr "Fel vid skapande av tillfällig bild" - -#: ajax/savecrop.php:118 -msgid "Error finding image: " -msgstr "Kunde inte hitta bild:" - -#: ajax/uploadimport.php:44 ajax/uploadimport.php:76 -msgid "Error uploading contacts to storage." -msgstr "Fel uppstod när kontakt skulle lagras." - -#: ajax/uploadimport.php:61 ajax/uploadphoto.php:77 -msgid "There is no error, the file uploaded with success" -msgstr "Inga fel uppstod. Filen laddades upp utan problem." - -#: ajax/uploadimport.php:62 ajax/uploadphoto.php:78 -msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" -msgstr "Den uppladdade filen överskrider upload_max_filesize direktivet i php.ini" - -#: ajax/uploadimport.php:63 ajax/uploadphoto.php:79 -msgid "" -"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " -"the HTML form" -msgstr "Den uppladdade filen överskrider MAX_FILE_SIZE direktivet som har angetts i HTML formuläret" - -#: ajax/uploadimport.php:64 ajax/uploadphoto.php:80 -msgid "The uploaded file was only partially uploaded" -msgstr "Den uppladdade filen var bara delvist uppladdad" - -#: ajax/uploadimport.php:65 ajax/uploadphoto.php:81 -msgid "No file was uploaded" -msgstr "Ingen fil laddades upp" - -#: ajax/uploadimport.php:66 ajax/uploadphoto.php:82 -msgid "Missing a temporary folder" -msgstr "En temporär mapp saknas" - -#: ajax/uploadphoto.php:59 ajax/uploadphoto.php:109 -msgid "Couldn't save temporary image: " -msgstr "Kunde inte spara tillfällig bild:" - -#: ajax/uploadphoto.php:62 ajax/uploadphoto.php:112 -msgid "Couldn't load temporary image: " -msgstr "Kunde inte ladda tillfällig bild:" - -#: ajax/uploadphoto.php:71 -msgid "No file was uploaded. Unknown error" -msgstr "Ingen fil uppladdad. Okänt fel" - -#: appinfo/app.php:25 -msgid "Contacts" -msgstr "Kontakter" - -#: js/contacts.js:71 -msgid "Sorry, this functionality has not been implemented yet" -msgstr "Tyvärr är denna funktion inte införd än" - -#: js/contacts.js:71 -msgid "Not implemented" -msgstr "Inte införd" - -#: js/contacts.js:76 -msgid "Couldn't get a valid address." -msgstr "Kunde inte hitta en giltig adress." - -#: js/contacts.js:76 js/contacts.js:365 js/contacts.js:381 js/contacts.js:393 -#: js/contacts.js:723 js/contacts.js:763 js/contacts.js:789 js/contacts.js:921 -#: js/contacts.js:927 js/contacts.js:939 js/contacts.js:976 -#: js/contacts.js:1250 js/contacts.js:1258 js/contacts.js:1267 -#: js/contacts.js:1302 js/contacts.js:1338 js/contacts.js:1353 -#: js/contacts.js:1379 js/contacts.js:1609 js/contacts.js:1644 -#: js/contacts.js:1664 js/settings.js:26 js/settings.js:43 js/settings.js:68 -msgid "Error" -msgstr "Fel" - -#: js/contacts.js:424 -msgid "You do not have permission to add contacts to " -msgstr "Du saknar behörighet att skapa kontakter i" - -#: js/contacts.js:425 -msgid "Please select one of your own address books." -msgstr "Välj en av dina egna adressböcker." - -#: js/contacts.js:425 -msgid "Permission error" -msgstr "Behörighetsfel" - -#: js/contacts.js:763 -msgid "This property has to be non-empty." -msgstr "Denna egenskap får inte vara tom." - -#: js/contacts.js:789 -msgid "Couldn't serialize elements." -msgstr "Kunde inte serialisera element." - -#: js/contacts.js:921 js/contacts.js:939 -msgid "" -"'deleteProperty' called without type argument. Please report at " -"bugs.owncloud.org" -msgstr "\"deleteProperty\" anropades utan typargument. Vänligen rapportera till bugs.owncloud.org" - -#: js/contacts.js:958 -msgid "Edit name" -msgstr "Ändra namn" - -#: js/contacts.js:1250 -msgid "No files selected for upload." -msgstr "Inga filer valda för uppladdning" - -#: js/contacts.js:1258 -msgid "" -"The file you are trying to upload exceed the maximum size for file uploads " -"on this server." -msgstr "Filen du försöker ladda upp är större än den maximala storleken för filuppladdning på denna server." - -#: js/contacts.js:1322 -msgid "Error loading profile picture." -msgstr "Fel vid hämtning av profilbild." - -#: js/contacts.js:1457 js/contacts.js:1498 js/contacts.js:1517 -#: js/contacts.js:1560 -msgid "Select type" -msgstr "Välj typ" - -#: js/contacts.js:1578 -msgid "" -"Some contacts are marked for deletion, but not deleted yet. Please wait for " -"them to be deleted." -msgstr "Vissa kontakter är markerade för radering, men är inte raderade än. Vänta tills dom är raderade." - -#: js/contacts.js:1649 -msgid "Do you want to merge these address books?" -msgstr "Vill du slå samman dessa adressböcker?" - -#: js/loader.js:49 -msgid "Result: " -msgstr "Resultat:" - -#: js/loader.js:49 -msgid " imported, " -msgstr "importerad," - -#: js/loader.js:49 -msgid " failed." -msgstr "misslyckades." - -#: js/settings.js:68 -msgid "Displayname cannot be empty." -msgstr "Visningsnamn får inte vara tomt." - -#: lib/app.php:36 -msgid "Addressbook not found: " -msgstr "Adressboken hittades inte:" - -#: lib/app.php:52 -msgid "This is not your addressbook." -msgstr "Det här är inte din adressbok." - -#: lib/app.php:71 -msgid "Contact could not be found." -msgstr "Kontakt kunde inte hittas." - -#: lib/app.php:116 -msgid "Jabber" -msgstr "Jabber" - -#: lib/app.php:121 -msgid "AIM" -msgstr "AIM" - -#: lib/app.php:126 -msgid "MSN" -msgstr "MSN" - -#: lib/app.php:131 -msgid "Twitter" -msgstr "Twitter" - -#: lib/app.php:136 -msgid "GoogleTalk" -msgstr "GoogleTalk" - -#: lib/app.php:141 -msgid "Facebook" -msgstr "Facebook" - -#: lib/app.php:146 -msgid "XMPP" -msgstr "XMPP" - -#: lib/app.php:151 -msgid "ICQ" -msgstr "ICQ" - -#: lib/app.php:156 -msgid "Yahoo" -msgstr "Yahoo" - -#: lib/app.php:161 -msgid "Skype" -msgstr "Skype" - -#: lib/app.php:166 -msgid "QQ" -msgstr "QQ" - -#: lib/app.php:171 -msgid "GaduGadu" -msgstr "GaduGadu" - -#: lib/app.php:194 lib/app.php:202 lib/app.php:213 lib/app.php:266 -msgid "Work" -msgstr "Arbete" - -#: lib/app.php:195 lib/app.php:200 lib/app.php:214 -msgid "Home" -msgstr "Hem" - -#: lib/app.php:196 lib/app.php:209 lib/app.php:262 lib/vcard.php:593 -msgid "Other" -msgstr "Annat" - -#: lib/app.php:201 -msgid "Mobile" -msgstr "Mobil" - -#: lib/app.php:203 -msgid "Text" -msgstr "Text" - -#: lib/app.php:204 -msgid "Voice" -msgstr "Röst" - -#: lib/app.php:205 -msgid "Message" -msgstr "Meddelande" - -#: lib/app.php:206 -msgid "Fax" -msgstr "Fax" - -#: lib/app.php:207 -msgid "Video" -msgstr "Video" - -#: lib/app.php:208 -msgid "Pager" -msgstr "Personsökare" - -#: lib/app.php:215 -msgid "Internet" -msgstr "Internet" - -#: lib/app.php:252 templates/part.contact.php:45 -#: templates/part.contact.php:128 -msgid "Birthday" -msgstr "Födelsedag" - -#: lib/app.php:253 -msgid "Business" -msgstr "Företag" - -#: lib/app.php:254 -msgid "Call" -msgstr "Ring" - -#: lib/app.php:255 -msgid "Clients" -msgstr "Kunder" - -#: lib/app.php:256 -msgid "Deliverer" -msgstr "Leverera" - -#: lib/app.php:257 -msgid "Holidays" -msgstr "Helgdagar" - -#: lib/app.php:258 -msgid "Ideas" -msgstr "Idéer" - -#: lib/app.php:259 -msgid "Journey" -msgstr "Resa" - -#: lib/app.php:260 -msgid "Jubilee" -msgstr "Jubileum" - -#: lib/app.php:261 -msgid "Meeting" -msgstr "Möte" - -#: lib/app.php:263 -msgid "Personal" -msgstr "Privat" - -#: lib/app.php:264 -msgid "Projects" -msgstr "Projekt" - -#: lib/app.php:265 -msgid "Questions" -msgstr "Frågor" - -#: lib/hooks.php:102 -msgid "{name}'s Birthday" -msgstr "{name}'s födelsedag" - -#: lib/search.php:15 -msgid "Contact" -msgstr "Kontakt" - -#: lib/vcard.php:408 -msgid "You do not have the permissions to edit this contact." -msgstr "Du saknar behörighet för att ändra denna kontakt." - -#: lib/vcard.php:483 -msgid "You do not have the permissions to delete this contact." -msgstr "Du saknar behörighet för att radera denna kontakt." - -#: templates/index.php:14 -msgid "Add Contact" -msgstr "Lägg till kontakt" - -#: templates/index.php:15 templates/index.php:16 templates/part.import.php:17 -msgid "Import" -msgstr "Importera" - -#: templates/index.php:18 -msgid "Settings" -msgstr "Inställningar" - -#: templates/index.php:18 templates/settings.php:9 -msgid "Addressbooks" -msgstr "Adressböcker" - -#: templates/index.php:36 templates/part.import.php:24 -msgid "Close" -msgstr "Stäng" - -#: templates/index.php:37 -msgid "Keyboard shortcuts" -msgstr "Kortkommandon" - -#: templates/index.php:39 -msgid "Navigation" -msgstr "Navigering" - -#: templates/index.php:42 -msgid "Next contact in list" -msgstr "Nästa kontakt i listan" - -#: templates/index.php:44 -msgid "Previous contact in list" -msgstr "Föregående kontakt i listan" - -#: templates/index.php:46 -msgid "Expand/collapse current addressbook" -msgstr "Visa/dölj aktuell adressbok" - -#: templates/index.php:48 -msgid "Next addressbook" -msgstr "Nästa adressbok" - -#: templates/index.php:50 -msgid "Previous addressbook" -msgstr "Föregående adressbok" - -#: templates/index.php:54 -msgid "Actions" -msgstr "Åtgärder" - -#: templates/index.php:57 -msgid "Refresh contacts list" -msgstr "Uppdatera kontaktlistan" - -#: templates/index.php:59 -msgid "Add new contact" -msgstr "Lägg till ny kontakt" - -#: templates/index.php:61 -msgid "Add new addressbook" -msgstr "Lägg till ny adressbok" - -#: templates/index.php:63 -msgid "Delete current contact" -msgstr "Radera denna kontakt" - -#: templates/part.contact.php:17 -msgid "Drop photo to upload" -msgstr "Släpp foto för att ladda upp" - -#: templates/part.contact.php:19 -msgid "Delete current photo" -msgstr "Ta bort aktuellt foto" - -#: templates/part.contact.php:20 -msgid "Edit current photo" -msgstr "Redigera aktuellt foto" - -#: templates/part.contact.php:21 -msgid "Upload new photo" -msgstr "Ladda upp ett nytt foto" - -#: templates/part.contact.php:22 -msgid "Select photo from ownCloud" -msgstr "Välj foto från ownCloud" - -#: templates/part.contact.php:35 -msgid "Format custom, Short name, Full name, Reverse or Reverse with comma" -msgstr " anpassad, korta namn, hela namn, bakåt eller bakåt med komma" - -#: templates/part.contact.php:36 -msgid "Edit name details" -msgstr "Redigera detaljer för namn" - -#: templates/part.contact.php:39 templates/part.contact.php:40 -#: templates/part.contact.php:126 -msgid "Organization" -msgstr "Organisation" - -#: templates/part.contact.php:40 templates/part.contact.php:42 -#: templates/part.contact.php:44 templates/part.contact.php:46 -#: templates/part.contact.php:50 templates/settings.php:36 -msgid "Delete" -msgstr "Radera" - -#: templates/part.contact.php:41 templates/part.contact.php:127 -msgid "Nickname" -msgstr "Smeknamn" - -#: templates/part.contact.php:42 -msgid "Enter nickname" -msgstr "Ange smeknamn" - -#: templates/part.contact.php:43 templates/part.contact.php:134 -msgid "Web site" -msgstr "Webbplats" - -#: templates/part.contact.php:44 -msgid "http://www.somesite.com" -msgstr "http://www.somesite.com" - -#: templates/part.contact.php:44 -msgid "Go to web site" -msgstr "Gå till webbplats" - -#: templates/part.contact.php:46 -msgid "dd-mm-yyyy" -msgstr "dd-mm-åååå" - -#: templates/part.contact.php:47 templates/part.contact.php:135 -msgid "Groups" -msgstr "Grupper" - -#: templates/part.contact.php:49 -msgid "Separate groups with commas" -msgstr "Separera grupperna med kommatecken" - -#: templates/part.contact.php:50 -msgid "Edit groups" -msgstr "Editera grupper" - -#: templates/part.contact.php:59 templates/part.contact.php:73 -#: templates/part.contact.php:98 -msgid "Preferred" -msgstr "Föredragen" - -#: templates/part.contact.php:60 -msgid "Please specify a valid email address." -msgstr "Vänligen ange en giltig e-postadress." - -#: templates/part.contact.php:60 -msgid "Enter email address" -msgstr "Ange e-postadress" - -#: templates/part.contact.php:64 -msgid "Mail to address" -msgstr "Posta till adress." - -#: templates/part.contact.php:65 -msgid "Delete email address" -msgstr "Ta bort e-postadress" - -#: templates/part.contact.php:75 -msgid "Enter phone number" -msgstr "Ange telefonnummer" - -#: templates/part.contact.php:79 -msgid "Delete phone number" -msgstr "Ta bort telefonnummer" - -#: templates/part.contact.php:100 -msgid "Instant Messenger" -msgstr "Instant Messenger" - -#: templates/part.contact.php:101 -msgid "Delete IM" -msgstr "Radera IM" - -#: templates/part.contact.php:110 -msgid "View on map" -msgstr "Visa på karta" - -#: templates/part.contact.php:110 -msgid "Edit address details" -msgstr "Redigera detaljer för adress" - -#: templates/part.contact.php:116 -msgid "Add notes here." -msgstr "Lägg till noteringar här." - -#: templates/part.contact.php:124 -msgid "Add field" -msgstr "Lägg till fält" - -#: templates/part.contact.php:129 -msgid "Phone" -msgstr "Telefon" - -#: templates/part.contact.php:130 -msgid "Email" -msgstr "E-post" - -#: templates/part.contact.php:131 -msgid "Instant Messaging" -msgstr "Instant Messaging" - -#: templates/part.contact.php:132 -msgid "Address" -msgstr "Adress" - -#: templates/part.contact.php:133 -msgid "Note" -msgstr "Notering" - -#: templates/part.contact.php:138 -msgid "Download contact" -msgstr "Ladda ner kontakt" - -#: templates/part.contact.php:139 -msgid "Delete contact" -msgstr "Radera kontakt" - -#: templates/part.cropphoto.php:65 -msgid "The temporary image has been removed from cache." -msgstr "Den tillfälliga bilden har raderats från cache." - -#: templates/part.edit_address_dialog.php:6 -msgid "Edit address" -msgstr "Editera adress" - -#: templates/part.edit_address_dialog.php:10 -msgid "Type" -msgstr "Typ" - -#: templates/part.edit_address_dialog.php:18 -#: templates/part.edit_address_dialog.php:21 -msgid "PO Box" -msgstr "Postbox" - -#: templates/part.edit_address_dialog.php:24 -msgid "Street address" -msgstr "Gatuadress" - -#: templates/part.edit_address_dialog.php:27 -msgid "Street and number" -msgstr "Gata och nummer" - -#: templates/part.edit_address_dialog.php:30 -msgid "Extended" -msgstr "Utökad" - -#: templates/part.edit_address_dialog.php:33 -msgid "Apartment number etc." -msgstr "Lägenhetsnummer" - -#: templates/part.edit_address_dialog.php:36 -#: templates/part.edit_address_dialog.php:39 -msgid "City" -msgstr "Stad" - -#: templates/part.edit_address_dialog.php:42 -msgid "Region" -msgstr "Län" - -#: templates/part.edit_address_dialog.php:45 -msgid "E.g. state or province" -msgstr "T.ex. stat eller provins" - -#: templates/part.edit_address_dialog.php:48 -msgid "Zipcode" -msgstr "Postnummer" - -#: templates/part.edit_address_dialog.php:51 -msgid "Postal code" -msgstr "Postnummer" - -#: templates/part.edit_address_dialog.php:54 -#: templates/part.edit_address_dialog.php:57 -msgid "Country" -msgstr "Land" - -#: templates/part.edit_name_dialog.php:16 -msgid "Addressbook" -msgstr "Adressbok" - -#: templates/part.edit_name_dialog.php:23 -msgid "Hon. prefixes" -msgstr "Ledande titlar" - -#: templates/part.edit_name_dialog.php:27 -msgid "Miss" -msgstr "Fröken" - -#: templates/part.edit_name_dialog.php:28 -msgid "Ms" -msgstr "Fru" - -#: templates/part.edit_name_dialog.php:29 -msgid "Mr" -msgstr "Herr" - -#: templates/part.edit_name_dialog.php:30 -msgid "Sir" -msgstr "Herr" - -#: templates/part.edit_name_dialog.php:31 -msgid "Mrs" -msgstr "Fru" - -#: templates/part.edit_name_dialog.php:32 -msgid "Dr" -msgstr "Dr." - -#: templates/part.edit_name_dialog.php:35 -msgid "Given name" -msgstr "Förnamn" - -#: templates/part.edit_name_dialog.php:37 -msgid "Additional names" -msgstr "Mellannamn" - -#: templates/part.edit_name_dialog.php:39 -msgid "Family name" -msgstr "Efternamn" - -#: templates/part.edit_name_dialog.php:41 -msgid "Hon. suffixes" -msgstr "Efterställda titlar" - -#: templates/part.edit_name_dialog.php:45 -msgid "J.D." -msgstr "Kand. Jur." - -#: templates/part.edit_name_dialog.php:46 -msgid "M.D." -msgstr "M.D." - -#: templates/part.edit_name_dialog.php:47 -msgid "D.O." -msgstr "D.O." - -#: templates/part.edit_name_dialog.php:48 -msgid "D.C." -msgstr "D.C." - -#: templates/part.edit_name_dialog.php:49 -msgid "Ph.D." -msgstr "Fil.dr." - -#: templates/part.edit_name_dialog.php:50 -msgid "Esq." -msgstr "Esq." - -#: templates/part.edit_name_dialog.php:51 -msgid "Jr." -msgstr "Jr." - -#: templates/part.edit_name_dialog.php:52 -msgid "Sn." -msgstr "Sn." - -#: templates/part.import.php:1 -msgid "Import a contacts file" -msgstr "Importera en kontaktfil" - -#: templates/part.import.php:6 -msgid "Please choose the addressbook" -msgstr "Vänligen välj adressboken" - -#: templates/part.import.php:10 -msgid "create a new addressbook" -msgstr "skapa en ny adressbok" - -#: templates/part.import.php:15 -msgid "Name of new addressbook" -msgstr "Namn för ny adressbok" - -#: templates/part.import.php:20 -msgid "Importing contacts" -msgstr "Importerar kontakter" - -#: templates/part.no_contacts.php:3 -msgid "You have no contacts in your addressbook." -msgstr "Du har inga kontakter i din adressbok." - -#: templates/part.no_contacts.php:5 -msgid "Add contact" -msgstr "Lägg till en kontakt" - -#: templates/part.selectaddressbook.php:1 -msgid "Select Address Books" -msgstr "Välj adressböcker" - -#: templates/part.selectaddressbook.php:27 -msgid "Enter name" -msgstr "Ange namn" - -#: templates/part.selectaddressbook.php:29 -msgid "Enter description" -msgstr "Ange beskrivning" - -#: templates/settings.php:3 -msgid "CardDAV syncing addresses" -msgstr "CardDAV synkningsadresser" - -#: templates/settings.php:3 -msgid "more info" -msgstr "mer information" - -#: templates/settings.php:5 -msgid "Primary address (Kontact et al)" -msgstr "Primär adress (Kontakt o.a.)" - -#: templates/settings.php:7 -msgid "iOS/OS X" -msgstr "iOS/OS X" - -#: templates/settings.php:20 -msgid "Show CardDav link" -msgstr "Visa CardDav-länk" - -#: templates/settings.php:23 -msgid "Show read-only VCF link" -msgstr "Visa skrivskyddad VCF-länk" - -#: templates/settings.php:26 -msgid "Share" -msgstr "Dela" - -#: templates/settings.php:29 -msgid "Download" -msgstr "Nedladdning" - -#: templates/settings.php:33 -msgid "Edit" -msgstr "Redigera" - -#: templates/settings.php:43 -msgid "New Address Book" -msgstr "Ny adressbok" - -#: templates/settings.php:44 -msgid "Name" -msgstr "Namn" - -#: templates/settings.php:45 -msgid "Description" -msgstr "Beskrivning" - -#: templates/settings.php:46 -msgid "Save" -msgstr "Spara" - -#: templates/settings.php:47 -msgid "Cancel" -msgstr "Avbryt" - -#: templates/settings.php:52 -msgid "More..." -msgstr "Mer..." diff --git a/l10n/sv/core.po b/l10n/sv/core.po index 6c2844d64539f2a56efc0e37278ff9df06ec38b8..e1789e690c66eda720b4b9798914b179e34c3014 100644 --- a/l10n/sv/core.po +++ b/l10n/sv/core.po @@ -13,9 +13,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-16 02:04+0200\n" -"PO-Revision-Date: 2012-10-16 00:05+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-11-16 00:02+0100\n" +"PO-Revision-Date: 2012-11-15 07:19+0000\n" +"Last-Translator: Magnus Höglund \n" "Language-Team: Swedish (http://www.transifex.com/projects/p/owncloud/language/sv/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -23,209 +23,241 @@ msgstr "" "Language: sv\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: ajax/vcategories/add.php:23 ajax/vcategories/delete.php:23 -msgid "Application name not provided." -msgstr "Programnamn har inte angetts." +#: ajax/vcategories/add.php:26 ajax/vcategories/edit.php:25 +msgid "Category type not provided." +msgstr "Kategorityp inte angiven." -#: ajax/vcategories/add.php:29 +#: ajax/vcategories/add.php:30 msgid "No category to add?" msgstr "Ingen kategori att lägga till?" -#: ajax/vcategories/add.php:36 +#: ajax/vcategories/add.php:37 msgid "This category already exists: " msgstr "Denna kategori finns redan:" -#: js/js.js:238 templates/layout.user.php:49 templates/layout.user.php:50 +#: ajax/vcategories/addToFavorites.php:26 ajax/vcategories/delete.php:27 +#: ajax/vcategories/favorites.php:24 +#: ajax/vcategories/removeFromFavorites.php:26 +msgid "Object type not provided." +msgstr "Objekttyp inte angiven." + +#: ajax/vcategories/addToFavorites.php:30 +#: ajax/vcategories/removeFromFavorites.php:30 +#, php-format +msgid "%s ID not provided." +msgstr "%s ID inte angiven." + +#: ajax/vcategories/addToFavorites.php:35 +#, php-format +msgid "Error adding %s to favorites." +msgstr "Fel vid tillägg av %s till favoriter." + +#: ajax/vcategories/delete.php:35 js/oc-vcategories.js:136 +msgid "No categories selected for deletion." +msgstr "Inga kategorier valda för radering." + +#: ajax/vcategories/removeFromFavorites.php:35 +#, php-format +msgid "Error removing %s from favorites." +msgstr "Fel vid borttagning av %s från favoriter." + +#: js/js.js:243 templates/layout.user.php:59 templates/layout.user.php:60 msgid "Settings" msgstr "Inställningar" -#: js/js.js:670 -msgid "January" -msgstr "Januari" +#: js/js.js:688 +msgid "seconds ago" +msgstr "sekunder sedan" -#: js/js.js:670 -msgid "February" -msgstr "Februari" +#: js/js.js:689 +msgid "1 minute ago" +msgstr "1 minut sedan" -#: js/js.js:670 -msgid "March" -msgstr "Mars" +#: js/js.js:690 +msgid "{minutes} minutes ago" +msgstr "{minutes} minuter sedan" -#: js/js.js:670 -msgid "April" -msgstr "April" +#: js/js.js:691 +msgid "1 hour ago" +msgstr "1 timme sedan" -#: js/js.js:670 -msgid "May" -msgstr "Maj" +#: js/js.js:692 +msgid "{hours} hours ago" +msgstr "{hours} timmar sedan" -#: js/js.js:670 -msgid "June" -msgstr "Juni" +#: js/js.js:693 +msgid "today" +msgstr "i dag" -#: js/js.js:671 -msgid "July" -msgstr "Juli" +#: js/js.js:694 +msgid "yesterday" +msgstr "i går" -#: js/js.js:671 -msgid "August" -msgstr "Augusti" +#: js/js.js:695 +msgid "{days} days ago" +msgstr "{days} dagar sedan" -#: js/js.js:671 -msgid "September" -msgstr "September" +#: js/js.js:696 +msgid "last month" +msgstr "förra månaden" -#: js/js.js:671 -msgid "October" -msgstr "Oktober" +#: js/js.js:697 +msgid "{months} months ago" +msgstr "{months} månader sedan" -#: js/js.js:671 -msgid "November" -msgstr "November" +#: js/js.js:698 +msgid "months ago" +msgstr "månader sedan" -#: js/js.js:671 -msgid "December" -msgstr "December" +#: js/js.js:699 +msgid "last year" +msgstr "förra året" + +#: js/js.js:700 +msgid "years ago" +msgstr "år sedan" -#: js/oc-dialogs.js:123 +#: js/oc-dialogs.js:126 msgid "Choose" msgstr "Välj" -#: js/oc-dialogs.js:143 js/oc-dialogs.js:163 +#: js/oc-dialogs.js:146 js/oc-dialogs.js:166 msgid "Cancel" msgstr "Avbryt" -#: js/oc-dialogs.js:159 +#: js/oc-dialogs.js:162 msgid "No" msgstr "Nej" -#: js/oc-dialogs.js:160 +#: js/oc-dialogs.js:163 msgid "Yes" msgstr "Ja" -#: js/oc-dialogs.js:177 +#: js/oc-dialogs.js:180 msgid "Ok" msgstr "Ok" -#: js/oc-vcategories.js:68 -msgid "No categories selected for deletion." -msgstr "Inga kategorier valda för radering." +#: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102 +#: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162 +msgid "The object type is not specified." +msgstr "Objekttypen är inte specificerad." -#: js/oc-vcategories.js:68 js/share.js:114 js/share.js:121 js/share.js:497 -#: js/share.js:509 +#: js/oc-vcategories.js:95 js/oc-vcategories.js:125 js/oc-vcategories.js:136 +#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:525 +#: js/share.js:537 msgid "Error" msgstr "Fel" -#: js/share.js:103 +#: js/oc-vcategories.js:179 +msgid "The app name is not specified." +msgstr " Namnet på appen är inte specificerad." + +#: js/oc-vcategories.js:194 +msgid "The required file {file} is not installed!" +msgstr "Den nödvändiga filen {file} är inte installerad!" + +#: js/share.js:124 msgid "Error while sharing" msgstr "Fel vid delning" -#: js/share.js:114 +#: js/share.js:135 msgid "Error while unsharing" msgstr "Fel när delning skulle avslutas" -#: js/share.js:121 +#: js/share.js:142 msgid "Error while changing permissions" msgstr "Fel vid ändring av rättigheter" -#: js/share.js:130 -msgid "Shared with you and the group" -msgstr "Delas med dig och gruppen" - -#: js/share.js:130 -msgid "by" -msgstr "av" +#: js/share.js:151 +msgid "Shared with you and the group {group} by {owner}" +msgstr "Delad med dig och gruppen {group} av {owner}" -#: js/share.js:132 -msgid "Shared with you by" -msgstr "Delas med dig av" +#: js/share.js:153 +msgid "Shared with you by {owner}" +msgstr "Delad med dig av {owner}" -#: js/share.js:137 +#: js/share.js:158 msgid "Share with" msgstr "Delad med" -#: js/share.js:142 +#: js/share.js:163 msgid "Share with link" msgstr "Delad med länk" -#: js/share.js:143 +#: js/share.js:164 msgid "Password protect" msgstr "Lösenordsskydda" -#: js/share.js:147 templates/installation.php:42 templates/login.php:24 +#: js/share.js:168 templates/installation.php:42 templates/login.php:24 #: templates/verify.php:13 msgid "Password" msgstr "Lösenord" -#: js/share.js:152 +#: js/share.js:173 msgid "Set expiration date" msgstr "Sätt utgångsdatum" -#: js/share.js:153 +#: js/share.js:174 msgid "Expiration date" msgstr "Utgångsdatum" -#: js/share.js:185 +#: js/share.js:206 msgid "Share via email:" msgstr "Dela via e-post:" -#: js/share.js:187 +#: js/share.js:208 msgid "No people found" msgstr "Hittar inga användare" -#: js/share.js:214 +#: js/share.js:235 msgid "Resharing is not allowed" msgstr "Dela vidare är inte tillåtet" -#: js/share.js:250 -msgid "Shared in" -msgstr "Delas i" - -#: js/share.js:250 -msgid "with" -msgstr "med" - #: js/share.js:271 +msgid "Shared in {item} with {user}" +msgstr "Delad i {item} med {user}" + +#: js/share.js:292 msgid "Unshare" msgstr "Sluta dela" -#: js/share.js:283 +#: js/share.js:304 msgid "can edit" msgstr "kan redigera" -#: js/share.js:285 +#: js/share.js:306 msgid "access control" msgstr "åtkomstkontroll" -#: js/share.js:288 +#: js/share.js:309 msgid "create" msgstr "skapa" -#: js/share.js:291 +#: js/share.js:312 msgid "update" msgstr "uppdatera" -#: js/share.js:294 +#: js/share.js:315 msgid "delete" msgstr "radera" -#: js/share.js:297 +#: js/share.js:318 msgid "share" msgstr "dela" -#: js/share.js:322 js/share.js:484 +#: js/share.js:343 js/share.js:512 js/share.js:514 msgid "Password protected" msgstr "Lösenordsskyddad" -#: js/share.js:497 +#: js/share.js:525 msgid "Error unsetting expiration date" msgstr "Fel vid borttagning av utgångsdatum" -#: js/share.js:509 +#: js/share.js:537 msgid "Error setting expiration date" msgstr "Fel vid sättning av utgångsdatum" -#: lostpassword/index.php:26 +#: lostpassword/controller.php:47 msgid "ownCloud password reset" msgstr "ownCloud lösenordsåterställning" @@ -238,12 +270,12 @@ msgid "You will receive a link to reset your password via Email." msgstr "Du får en länk att återställa ditt lösenord via e-post." #: lostpassword/templates/lostpassword.php:5 -msgid "Requested" -msgstr "Begärd" +msgid "Reset email send." +msgstr "Återställ skickad e-post." #: lostpassword/templates/lostpassword.php:8 -msgid "Login failed!" -msgstr "Misslyckad inloggning!" +msgid "Request failed!" +msgstr "Begäran misslyckades!" #: lostpassword/templates/lostpassword.php:11 templates/installation.php:38 #: templates/login.php:20 @@ -302,7 +334,7 @@ msgstr "Hittade inget moln" msgid "Edit categories" msgstr "Redigera kategorier" -#: templates/edit_categories_dialog.php:14 +#: templates/edit_categories_dialog.php:16 msgid "Add" msgstr "Lägg till" @@ -329,7 +361,7 @@ msgid "" "strongly suggest that you configure your webserver in a way that the data " "directory is no longer accessible or you move the data directory outside the" " webserver document root." -msgstr "" +msgstr "Din datakatalog och dina filer är förmodligen tillgängliga från Internet. Den .htaccess-fil som ownCloud tillhandahåller fungerar inte. Vi rekommenderar starkt att du konfigurerar webbservern så att datakatalogen inte längre är tillgänglig eller att du flyttar datakatalogen utanför webbserverns dokument-root." #: templates/installation.php:36 msgid "Create an admin account" @@ -376,27 +408,103 @@ msgstr "Databasserver" msgid "Finish setup" msgstr "Avsluta installation" -#: templates/layout.guest.php:38 +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Sunday" +msgstr "Söndag" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Monday" +msgstr "Måndag" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Tuesday" +msgstr "Tisdag" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Wednesday" +msgstr "Onsdag" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Thursday" +msgstr "Torsdag" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Friday" +msgstr "Fredag" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Saturday" +msgstr "Lördag" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "January" +msgstr "Januari" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "February" +msgstr "Februari" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "March" +msgstr "Mars" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "April" +msgstr "April" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "May" +msgstr "Maj" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "June" +msgstr "Juni" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "July" +msgstr "Juli" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "August" +msgstr "Augusti" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "September" +msgstr "September" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "October" +msgstr "Oktober" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "November" +msgstr "November" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "December" +msgstr "December" + +#: templates/layout.guest.php:41 msgid "web services under your control" msgstr "webbtjänster under din kontroll" -#: templates/layout.user.php:34 +#: templates/layout.user.php:44 msgid "Log out" msgstr "Logga ut" #: templates/login.php:8 msgid "Automatic logon rejected!" -msgstr "" +msgstr "Automatisk inloggning inte tillåten!" #: templates/login.php:9 msgid "" "If you did not change your password recently, your account may be " "compromised!" -msgstr "" +msgstr "Om du inte har ändrat ditt lösenord nyligen så kan ditt konto vara manipulerat!" #: templates/login.php:10 msgid "Please change your password to secure your account again." -msgstr "" +msgstr "Ändra genast lösenord för att säkra ditt konto." #: templates/login.php:15 msgid "Lost your password?" @@ -424,14 +532,14 @@ msgstr "nästa" #: templates/verify.php:5 msgid "Security Warning!" -msgstr "" +msgstr "Säkerhetsvarning!" #: templates/verify.php:6 msgid "" "Please verify your password.
For security reasons you may be " "occasionally asked to enter your password again." -msgstr "" +msgstr "Bekräfta ditt lösenord.
Av säkerhetsskäl kan du ibland bli ombedd att ange ditt lösenord igen." #: templates/verify.php:16 msgid "Verify" -msgstr "" +msgstr "Verifiera" diff --git a/l10n/sv/files.po b/l10n/sv/files.po index 4154c1118ee3af12e385e54e022ad04a690b0e73..7c197ea605624da1797443e846f56a0b0c8b4dd5 100644 --- a/l10n/sv/files.po +++ b/l10n/sv/files.po @@ -13,8 +13,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-09-27 02:01+0200\n" -"PO-Revision-Date: 2012-09-26 14:51+0000\n" +"POT-Creation-Date: 2012-12-04 00:06+0100\n" +"PO-Revision-Date: 2012-12-03 19:45+0000\n" "Last-Translator: Magnus Höglund \n" "Language-Team: Swedish (http://www.transifex.com/projects/p/owncloud/language/sv/)\n" "MIME-Version: 1.0\n" @@ -28,195 +28,166 @@ msgid "There is no error, the file uploaded with success" msgstr "Inga fel uppstod. Filen laddades upp utan problem" #: ajax/upload.php:21 -msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" -msgstr "Den uppladdade filen överskrider upload_max_filesize direktivet i php.ini" +msgid "" +"The uploaded file exceeds the upload_max_filesize directive in php.ini: " +msgstr "Den uppladdade filen överskrider upload_max_filesize direktivet php.ini:" -#: ajax/upload.php:22 +#: ajax/upload.php:23 msgid "" "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " "the HTML form" msgstr "Den uppladdade filen överstiger MAX_FILE_SIZE direktivet som anges i HTML-formulär" -#: ajax/upload.php:23 +#: ajax/upload.php:25 msgid "The uploaded file was only partially uploaded" msgstr "Den uppladdade filen var endast delvis uppladdad" -#: ajax/upload.php:24 +#: ajax/upload.php:26 msgid "No file was uploaded" msgstr "Ingen fil blev uppladdad" -#: ajax/upload.php:25 +#: ajax/upload.php:27 msgid "Missing a temporary folder" msgstr "Saknar en tillfällig mapp" -#: ajax/upload.php:26 +#: ajax/upload.php:28 msgid "Failed to write to disk" msgstr "Misslyckades spara till disk" -#: appinfo/app.php:6 +#: appinfo/app.php:10 msgid "Files" msgstr "Filer" -#: js/fileactions.js:108 templates/index.php:62 +#: js/fileactions.js:117 templates/index.php:83 templates/index.php:84 msgid "Unshare" msgstr "Sluta dela" -#: js/fileactions.js:110 templates/index.php:64 +#: js/fileactions.js:119 templates/index.php:89 templates/index.php:90 msgid "Delete" msgstr "Radera" -#: js/fileactions.js:182 +#: js/fileactions.js:181 msgid "Rename" msgstr "Byt namn" -#: js/filelist.js:190 js/filelist.js:192 -msgid "already exists" -msgstr "finns redan" +#: js/filelist.js:201 js/filelist.js:203 +msgid "{new_name} already exists" +msgstr "{new_name} finns redan" -#: js/filelist.js:190 js/filelist.js:192 +#: js/filelist.js:201 js/filelist.js:203 msgid "replace" msgstr "ersätt" -#: js/filelist.js:190 +#: js/filelist.js:201 msgid "suggest name" msgstr "föreslå namn" -#: js/filelist.js:190 js/filelist.js:192 +#: js/filelist.js:201 js/filelist.js:203 msgid "cancel" msgstr "avbryt" -#: js/filelist.js:239 js/filelist.js:241 -msgid "replaced" -msgstr "ersatt" +#: js/filelist.js:250 +msgid "replaced {new_name}" +msgstr "ersatt {new_name}" -#: js/filelist.js:239 js/filelist.js:241 js/filelist.js:273 js/filelist.js:275 +#: js/filelist.js:250 js/filelist.js:252 js/filelist.js:284 js/filelist.js:286 msgid "undo" msgstr "ångra" -#: js/filelist.js:241 -msgid "with" -msgstr "med" +#: js/filelist.js:252 +msgid "replaced {new_name} with {old_name}" +msgstr "ersatt {new_name} med {old_name}" + +#: js/filelist.js:284 +msgid "unshared {files}" +msgstr "stoppad delning {files}" -#: js/filelist.js:273 -msgid "unshared" -msgstr "Ej delad" +#: js/filelist.js:286 +msgid "deleted {files}" +msgstr "raderade {files}" -#: js/filelist.js:275 -msgid "deleted" -msgstr "raderad" +#: js/files.js:33 +msgid "" +"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not " +"allowed." +msgstr "Ogiltigt namn, '\\', '/', '<', '>', ':', '\"', '|', '?' och '*' är inte tillåtet." -#: js/files.js:179 +#: js/files.js:183 msgid "generating ZIP-file, it may take some time." msgstr "genererar ZIP-fil, det kan ta lite tid." -#: js/files.js:208 +#: js/files.js:218 msgid "Unable to upload your file as it is a directory or has 0 bytes" msgstr "Kunde inte ladda upp dina filer eftersom det antingen är en mapp eller har 0 bytes." -#: js/files.js:208 +#: js/files.js:218 msgid "Upload Error" msgstr "Uppladdningsfel" -#: js/files.js:236 js/files.js:341 js/files.js:371 +#: js/files.js:235 +msgid "Close" +msgstr "Stäng" + +#: js/files.js:254 js/files.js:368 js/files.js:398 msgid "Pending" msgstr "Väntar" -#: js/files.js:256 +#: js/files.js:274 msgid "1 file uploading" msgstr "1 filuppladdning" -#: js/files.js:259 js/files.js:304 js/files.js:319 -msgid "files uploading" -msgstr "filer laddas upp" +#: js/files.js:277 js/files.js:331 js/files.js:346 +msgid "{count} files uploading" +msgstr "{count} filer laddas upp" -#: js/files.js:322 js/files.js:355 +#: js/files.js:349 js/files.js:382 msgid "Upload cancelled." msgstr "Uppladdning avbruten." -#: js/files.js:424 +#: js/files.js:451 msgid "" "File upload is in progress. Leaving the page now will cancel the upload." msgstr "Filuppladdning pågår. Lämnar du sidan så avbryts uppladdningen." -#: js/files.js:494 -msgid "Invalid name, '/' is not allowed." -msgstr "Ogiltigt namn, '/' är inte tillåten." +#: js/files.js:523 +msgid "Invalid folder name. Usage of \"Shared\" is reserved by Owncloud" +msgstr "Ogiltigt mappnamn. Ordet \"Delad\" är reserverat av ownCloud." -#: js/files.js:668 -msgid "files scanned" -msgstr "filer skannade" +#: js/files.js:704 +msgid "{count} files scanned" +msgstr "{count} filer skannade" -#: js/files.js:676 +#: js/files.js:712 msgid "error while scanning" msgstr "fel vid skanning" -#: js/files.js:749 templates/index.php:48 +#: js/files.js:785 templates/index.php:65 msgid "Name" msgstr "Namn" -#: js/files.js:750 templates/index.php:56 +#: js/files.js:786 templates/index.php:76 msgid "Size" msgstr "Storlek" -#: js/files.js:751 templates/index.php:58 +#: js/files.js:787 templates/index.php:78 msgid "Modified" msgstr "Ändrad" -#: js/files.js:778 -msgid "folder" -msgstr "mapp" - -#: js/files.js:780 -msgid "folders" -msgstr "mappar" - -#: js/files.js:788 -msgid "file" -msgstr "fil" - -#: js/files.js:790 -msgid "files" -msgstr "filer" - -#: js/files.js:834 -msgid "seconds ago" -msgstr "sekunder sedan" - -#: js/files.js:835 -msgid "minute ago" -msgstr "minut sedan" - -#: js/files.js:836 -msgid "minutes ago" -msgstr "minuter sedan" +#: js/files.js:814 +msgid "1 folder" +msgstr "1 mapp" -#: js/files.js:839 -msgid "today" -msgstr "i dag" +#: js/files.js:816 +msgid "{count} folders" +msgstr "{count} mappar" -#: js/files.js:840 -msgid "yesterday" -msgstr "i går" +#: js/files.js:824 +msgid "1 file" +msgstr "1 fil" -#: js/files.js:841 -msgid "days ago" -msgstr "dagar sedan" - -#: js/files.js:842 -msgid "last month" -msgstr "förra månaden" - -#: js/files.js:844 -msgid "months ago" -msgstr "månader sedan" - -#: js/files.js:845 -msgid "last year" -msgstr "förra året" - -#: js/files.js:846 -msgid "years ago" -msgstr "år sedan" +#: js/files.js:826 +msgid "{count} files" +msgstr "{count} filer" #: templates/admin.php:5 msgid "File handling" @@ -226,27 +197,27 @@ msgstr "Filhantering" msgid "Maximum upload size" msgstr "Maximal storlek att ladda upp" -#: templates/admin.php:7 +#: templates/admin.php:9 msgid "max. possible: " msgstr "max. möjligt:" -#: templates/admin.php:9 +#: templates/admin.php:12 msgid "Needed for multi-file and folder downloads." msgstr "Krävs för nerladdning av flera mappar och filer." -#: templates/admin.php:9 +#: templates/admin.php:14 msgid "Enable ZIP-download" msgstr "Aktivera ZIP-nerladdning" -#: templates/admin.php:11 +#: templates/admin.php:17 msgid "0 is unlimited" msgstr "0 är oändligt" -#: templates/admin.php:12 +#: templates/admin.php:19 msgid "Maximum input size for ZIP files" msgstr "Största tillåtna storlek för ZIP-filer" -#: templates/admin.php:14 +#: templates/admin.php:23 msgid "Save" msgstr "Spara" @@ -254,52 +225,48 @@ msgstr "Spara" msgid "New" msgstr "Ny" -#: templates/index.php:9 +#: templates/index.php:10 msgid "Text file" msgstr "Textfil" -#: templates/index.php:10 +#: templates/index.php:12 msgid "Folder" msgstr "Mapp" -#: templates/index.php:11 -msgid "From url" -msgstr "Från webbadress" +#: templates/index.php:14 +msgid "From link" +msgstr "Från länk" -#: templates/index.php:20 +#: templates/index.php:35 msgid "Upload" msgstr "Ladda upp" -#: templates/index.php:27 +#: templates/index.php:43 msgid "Cancel upload" msgstr "Avbryt uppladdning" -#: templates/index.php:40 +#: templates/index.php:57 msgid "Nothing in here. Upload something!" msgstr "Ingenting här. Ladda upp något!" -#: templates/index.php:50 -msgid "Share" -msgstr "Dela" - -#: templates/index.php:52 +#: templates/index.php:71 msgid "Download" msgstr "Ladda ner" -#: templates/index.php:75 +#: templates/index.php:103 msgid "Upload too large" msgstr "För stor uppladdning" -#: templates/index.php:77 +#: templates/index.php:105 msgid "" "The files you are trying to upload exceed the maximum size for file uploads " "on this server." msgstr "Filerna du försöker ladda upp överstiger den maximala storleken för filöverföringar på servern." -#: templates/index.php:82 +#: templates/index.php:110 msgid "Files are being scanned, please wait." msgstr "Filer skannas, var god vänta" -#: templates/index.php:85 +#: templates/index.php:113 msgid "Current scanning" msgstr "Aktuell skanning" diff --git a/l10n/sv/files_external.po b/l10n/sv/files_external.po index 74d585ed4b590e474ba709a4477e107d2b700d36..1b6b3f2879c038d4f47b2eeea64aa4e91a6fcf92 100644 --- a/l10n/sv/files_external.po +++ b/l10n/sv/files_external.po @@ -8,9 +8,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-05 02:02+0200\n" -"PO-Revision-Date: 2012-10-04 09:48+0000\n" -"Last-Translator: Magnus Höglund \n" +"POT-Creation-Date: 2012-12-12 00:12+0100\n" +"PO-Revision-Date: 2012-12-11 23:13+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Swedish (http://www.transifex.com/projects/p/owncloud/language/sv/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -42,66 +42,80 @@ msgstr "Ange en giltig Dropbox nyckel och hemlighet." msgid "Error configuring Google Drive storage" msgstr "Fel vid konfigurering av Google Drive" +#: lib/config.php:434 +msgid "" +"Warning: \"smbclient\" is not installed. Mounting of CIFS/SMB shares " +"is not possible. Please ask your system administrator to install it." +msgstr "" + +#: lib/config.php:435 +msgid "" +"Warning: The FTP support in PHP is not enabled or installed. Mounting" +" of FTP shares is not possible. Please ask your system administrator to " +"install it." +msgstr "" + #: templates/settings.php:3 msgid "External Storage" msgstr "Extern lagring" -#: templates/settings.php:7 templates/settings.php:19 +#: templates/settings.php:8 templates/settings.php:22 msgid "Mount point" msgstr "Monteringspunkt" -#: templates/settings.php:8 +#: templates/settings.php:9 msgid "Backend" msgstr "Källa" -#: templates/settings.php:9 +#: templates/settings.php:10 msgid "Configuration" msgstr "Konfiguration" -#: templates/settings.php:10 +#: templates/settings.php:11 msgid "Options" msgstr "Alternativ" -#: templates/settings.php:11 +#: templates/settings.php:12 msgid "Applicable" msgstr "Tillämplig" -#: templates/settings.php:23 +#: templates/settings.php:27 msgid "Add mount point" msgstr "Lägg till monteringspunkt" -#: templates/settings.php:54 templates/settings.php:62 +#: templates/settings.php:85 msgid "None set" msgstr "Ingen angiven" -#: templates/settings.php:63 +#: templates/settings.php:86 msgid "All Users" msgstr "Alla användare" -#: templates/settings.php:64 +#: templates/settings.php:87 msgid "Groups" msgstr "Grupper" -#: templates/settings.php:69 +#: templates/settings.php:95 msgid "Users" msgstr "Användare" -#: templates/settings.php:77 templates/settings.php:107 +#: templates/settings.php:108 templates/settings.php:109 +#: templates/settings.php:149 templates/settings.php:150 msgid "Delete" msgstr "Radera" -#: templates/settings.php:87 +#: templates/settings.php:124 msgid "Enable User External Storage" msgstr "Aktivera extern lagring för användare" -#: templates/settings.php:88 +#: templates/settings.php:125 msgid "Allow users to mount their own external storage" msgstr "Tillåt användare att montera egen extern lagring" -#: templates/settings.php:99 +#: templates/settings.php:139 msgid "SSL root certificates" msgstr "SSL rotcertifikat" -#: templates/settings.php:113 +#: templates/settings.php:158 msgid "Import Root Certificate" msgstr "Importera rotcertifikat" diff --git a/l10n/sv/files_pdfviewer.po b/l10n/sv/files_pdfviewer.po deleted file mode 100644 index 674a9273cadd4b862b5d8423f6057ecd03ad7094..0000000000000000000000000000000000000000 --- a/l10n/sv/files_pdfviewer.po +++ /dev/null @@ -1,42 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 02:18+0200\n" -"PO-Revision-Date: 2012-08-26 00:19+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Swedish (http://www.transifex.com/projects/p/owncloud/language/sv/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: sv\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: js/viewer.js:22 -msgid "Previous" -msgstr "" - -#: js/viewer.js:23 -msgid "Next" -msgstr "" - -#: js/viewer.js:29 -msgid "Page Width" -msgstr "" - -#: js/viewer.js:29 -msgid "Page Fit" -msgstr "" - -#: js/viewer.js:30 -msgid "Print" -msgstr "" - -#: js/viewer.js:32 -msgid "Download" -msgstr "" diff --git a/l10n/sv/files_texteditor.po b/l10n/sv/files_texteditor.po deleted file mode 100644 index e29a0d220c4dbf79ee8529593f45585c2c05a68d..0000000000000000000000000000000000000000 --- a/l10n/sv/files_texteditor.po +++ /dev/null @@ -1,44 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 01:17+0200\n" -"PO-Revision-Date: 2012-08-25 23:18+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Swedish (http://www.transifex.com/projects/p/owncloud/language/sv/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: sv\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: js/aceeditor/mode-coldfusion-uncompressed.js:1568 -#: js/aceeditor/mode-liquid-uncompressed.js:902 -#: js/aceeditor/mode-svg-uncompressed.js:1575 -msgid "regex" -msgstr "" - -#: js/editor.js:72 js/editor.js:156 js/editor.js:163 -msgid "Save" -msgstr "" - -#: js/editor.js:74 -msgid "Close" -msgstr "" - -#: js/editor.js:149 -msgid "Saving..." -msgstr "" - -#: js/editor.js:239 -msgid "An error occurred!" -msgstr "" - -#: js/editor.js:266 -msgid "There were unsaved changes, click here to go back" -msgstr "" diff --git a/l10n/sv/gallery.po b/l10n/sv/gallery.po deleted file mode 100644 index 3bb99841a7b9c30fbc63d09dbb6d10e6ec059dc5..0000000000000000000000000000000000000000 --- a/l10n/sv/gallery.po +++ /dev/null @@ -1,62 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Christer Eriksson , 2012. -# , 2012. -# , 2012. -# , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-07-30 02:02+0200\n" -"PO-Revision-Date: 2012-07-29 07:37+0000\n" -"Last-Translator: maghog \n" -"Language-Team: Swedish (http://www.transifex.com/projects/p/owncloud/language/sv/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: sv\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: appinfo/app.php:39 -msgid "Pictures" -msgstr "Bilder" - -#: js/pictures.js:12 -msgid "Share gallery" -msgstr "Dela galleri" - -#: js/pictures.js:32 -msgid "Error: " -msgstr "Fel:" - -#: js/pictures.js:32 -msgid "Internal error" -msgstr "Internt fel" - -#: templates/index.php:27 -msgid "Slideshow" -msgstr "Bildspel" - -#: templates/view_album.php:19 -msgid "Back" -msgstr "Tillbaka" - -#: templates/view_album.php:36 -msgid "Remove confirmation" -msgstr "Vill du säkert ta bort" - -#: templates/view_album.php:37 -msgid "Do you want to remove album" -msgstr "Vill du ta bort albumet" - -#: templates/view_album.php:40 -msgid "Change album name" -msgstr "Ändra albumnamnet" - -#: templates/view_album.php:43 -msgid "New album name" -msgstr "Albumnamn" diff --git a/l10n/sv/impress.po b/l10n/sv/impress.po deleted file mode 100644 index 93637c418a3b1208429f85c16811e4d38d3f20f5..0000000000000000000000000000000000000000 --- a/l10n/sv/impress.po +++ /dev/null @@ -1,22 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 01:17+0200\n" -"PO-Revision-Date: 2012-08-25 23:18+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Swedish (http://www.transifex.com/projects/p/owncloud/language/sv/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: sv\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: templates/presentations.php:7 -msgid "Documentation" -msgstr "" diff --git a/l10n/sv/lib.po b/l10n/sv/lib.po index 088f184b99957cb296c5bb5a3d753a62aad61e41..548f7a84d4c469bd68ec3ee40b73b649a1cda8ea 100644 --- a/l10n/sv/lib.po +++ b/l10n/sv/lib.po @@ -9,53 +9,53 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-09-01 13:35+0200\n" -"PO-Revision-Date: 2012-09-01 10:13+0000\n" +"POT-Creation-Date: 2012-11-16 00:02+0100\n" +"PO-Revision-Date: 2012-11-15 07:21+0000\n" "Last-Translator: Magnus Höglund \n" "Language-Team: Swedish (http://www.transifex.com/projects/p/owncloud/language/sv/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: sv\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: app.php:288 +#: app.php:285 msgid "Help" msgstr "Hjälp" -#: app.php:295 +#: app.php:292 msgid "Personal" msgstr "Personligt" -#: app.php:300 +#: app.php:297 msgid "Settings" msgstr "Inställningar" -#: app.php:305 +#: app.php:302 msgid "Users" msgstr "Användare" -#: app.php:312 +#: app.php:309 msgid "Apps" msgstr "Program" -#: app.php:314 +#: app.php:311 msgid "Admin" msgstr "Admin" -#: files.php:280 +#: files.php:332 msgid "ZIP download is turned off." msgstr "Nerladdning av ZIP är avstängd." -#: files.php:281 +#: files.php:333 msgid "Files need to be downloaded one by one." msgstr "Filer laddas ner en åt gången." -#: files.php:281 files.php:306 +#: files.php:333 files.php:358 msgid "Back to Files" msgstr "Tillbaka till Filer" -#: files.php:305 +#: files.php:357 msgid "Selected files too large to generate zip file." msgstr "Valda filer är för stora för att skapa zip-fil." @@ -63,7 +63,7 @@ msgstr "Valda filer är för stora för att skapa zip-fil." msgid "Application is not enabled" msgstr "Applikationen är inte aktiverad" -#: json.php:39 json.php:63 json.php:75 +#: json.php:39 json.php:64 json.php:77 json.php:89 msgid "Authentication error" msgstr "Fel vid autentisering" @@ -71,57 +71,84 @@ msgstr "Fel vid autentisering" msgid "Token expired. Please reload page." msgstr "Ogiltig token. Ladda om sidan." -#: template.php:86 +#: search/provider/file.php:17 search/provider/file.php:35 +msgid "Files" +msgstr "Filer" + +#: search/provider/file.php:26 search/provider/file.php:33 +msgid "Text" +msgstr "Text" + +#: search/provider/file.php:29 +msgid "Images" +msgstr "Bilder" + +#: template.php:103 msgid "seconds ago" msgstr "sekunder sedan" -#: template.php:87 +#: template.php:104 msgid "1 minute ago" msgstr "1 minut sedan" -#: template.php:88 +#: template.php:105 #, php-format msgid "%d minutes ago" msgstr "%d minuter sedan" -#: template.php:91 +#: template.php:106 +msgid "1 hour ago" +msgstr "1 timme sedan" + +#: template.php:107 +#, php-format +msgid "%d hours ago" +msgstr "%d timmar sedan" + +#: template.php:108 msgid "today" msgstr "idag" -#: template.php:92 +#: template.php:109 msgid "yesterday" msgstr "igår" -#: template.php:93 +#: template.php:110 #, php-format msgid "%d days ago" msgstr "%d dagar sedan" -#: template.php:94 +#: template.php:111 msgid "last month" msgstr "förra månaden" -#: template.php:95 -msgid "months ago" -msgstr "månader sedan" +#: template.php:112 +#, php-format +msgid "%d months ago" +msgstr "%d månader sedan" -#: template.php:96 +#: template.php:113 msgid "last year" msgstr "förra året" -#: template.php:97 +#: template.php:114 msgid "years ago" msgstr "år sedan" -#: updater.php:66 +#: updater.php:75 #, php-format msgid "%s is available. Get more information" msgstr "%s finns. Få mer information" -#: updater.php:68 +#: updater.php:77 msgid "up to date" msgstr "uppdaterad" -#: updater.php:71 +#: updater.php:80 msgid "updates check is disabled" msgstr "uppdateringskontroll är inaktiverad" + +#: vcategories.php:188 vcategories.php:249 +#, php-format +msgid "Could not find category \"%s\"" +msgstr "Kunde inte hitta kategorin \"%s\"" diff --git a/l10n/sv/media.po b/l10n/sv/media.po deleted file mode 100644 index f6f24a1626571f32ae5276bfe55431ae778489c4..0000000000000000000000000000000000000000 --- a/l10n/sv/media.po +++ /dev/null @@ -1,69 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Daniel Sandman , 2012. -# Magnus Höglund , 2012. -# , 2011. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-22 02:04+0200\n" -"PO-Revision-Date: 2012-08-21 08:29+0000\n" -"Last-Translator: Magnus Höglund \n" -"Language-Team: Swedish (http://www.transifex.com/projects/p/owncloud/language/sv/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: sv\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: appinfo/app.php:45 templates/player.php:8 -msgid "Music" -msgstr "Musik" - -#: js/music.js:18 -msgid "Add album to playlist" -msgstr "Lägg till album till spellistan" - -#: templates/music.php:3 templates/player.php:12 -msgid "Play" -msgstr "Spela" - -#: templates/music.php:4 templates/music.php:26 templates/player.php:13 -msgid "Pause" -msgstr "Paus" - -#: templates/music.php:5 -msgid "Previous" -msgstr "Föregående" - -#: templates/music.php:6 templates/player.php:14 -msgid "Next" -msgstr "Nästa" - -#: templates/music.php:7 -msgid "Mute" -msgstr "Ljudlös" - -#: templates/music.php:8 -msgid "Unmute" -msgstr "Ljud på" - -#: templates/music.php:25 -msgid "Rescan Collection" -msgstr "Sök igenom samlingen" - -#: templates/music.php:37 -msgid "Artist" -msgstr "Artist" - -#: templates/music.php:38 -msgid "Album" -msgstr "Album" - -#: templates/music.php:39 -msgid "Title" -msgstr "Titel" diff --git a/l10n/sv/settings.po b/l10n/sv/settings.po index a5cb8d2b2401b208a5a80df086b3288aab035c3c..1f1645f74ebf9c10c03083d218d7378360a4383a 100644 --- a/l10n/sv/settings.po +++ b/l10n/sv/settings.po @@ -14,8 +14,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-10 02:05+0200\n" -"PO-Revision-Date: 2012-10-09 12:28+0000\n" +"POT-Creation-Date: 2012-12-04 00:06+0100\n" +"PO-Revision-Date: 2012-12-03 19:44+0000\n" "Last-Translator: Magnus Höglund \n" "Language-Team: Swedish (http://www.transifex.com/projects/p/owncloud/language/sv/)\n" "MIME-Version: 1.0\n" @@ -24,70 +24,73 @@ msgstr "" "Language: sv\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: ajax/apps/ocs.php:23 +#: ajax/apps/ocs.php:20 msgid "Unable to load list from App Store" msgstr "Kan inte ladda listan från App Store" -#: ajax/creategroup.php:9 ajax/removeuser.php:13 ajax/setquota.php:18 -#: ajax/togglegroups.php:15 -msgid "Authentication error" -msgstr "Autentiseringsfel" - -#: ajax/creategroup.php:19 +#: ajax/creategroup.php:10 msgid "Group already exists" msgstr "Gruppen finns redan" -#: ajax/creategroup.php:28 +#: ajax/creategroup.php:19 msgid "Unable to add group" msgstr "Kan inte lägga till grupp" -#: ajax/enableapp.php:14 +#: ajax/enableapp.php:12 msgid "Could not enable app. " msgstr "Kunde inte aktivera appen." -#: ajax/lostpassword.php:14 +#: ajax/lostpassword.php:12 msgid "Email saved" msgstr "E-post sparad" -#: ajax/lostpassword.php:16 +#: ajax/lostpassword.php:14 msgid "Invalid email" msgstr "Ogiltig e-post" -#: ajax/openid.php:16 +#: ajax/openid.php:13 msgid "OpenID Changed" msgstr "OpenID ändrat" -#: ajax/openid.php:18 ajax/setlanguage.php:20 ajax/setlanguage.php:23 +#: ajax/openid.php:15 ajax/setlanguage.php:17 ajax/setlanguage.php:20 msgid "Invalid request" msgstr "Ogiltig begäran" -#: ajax/removegroup.php:16 +#: ajax/removegroup.php:13 msgid "Unable to delete group" msgstr "Kan inte radera grupp" -#: ajax/removeuser.php:22 +#: ajax/removeuser.php:15 ajax/setquota.php:15 ajax/togglegroups.php:18 +msgid "Authentication error" +msgstr "Autentiseringsfel" + +#: ajax/removeuser.php:24 msgid "Unable to delete user" msgstr "Kan inte radera användare" -#: ajax/setlanguage.php:18 +#: ajax/setlanguage.php:15 msgid "Language changed" msgstr "Språk ändrades" -#: ajax/togglegroups.php:25 +#: ajax/togglegroups.php:12 +msgid "Admins can't remove themself from the admin group" +msgstr "Administratörer kan inte ta bort sig själva från admingruppen" + +#: ajax/togglegroups.php:28 #, php-format msgid "Unable to add user to group %s" msgstr "Kan inte lägga till användare i gruppen %s" -#: ajax/togglegroups.php:31 +#: ajax/togglegroups.php:34 #, php-format msgid "Unable to remove user from group %s" msgstr "Kan inte radera användare från gruppen %s" -#: js/apps.js:28 js/apps.js:65 +#: js/apps.js:28 js/apps.js:67 msgid "Disable" msgstr "Deaktivera" -#: js/apps.js:28 js/apps.js:54 +#: js/apps.js:28 js/apps.js:55 msgid "Enable" msgstr "Aktivera" @@ -95,97 +98,10 @@ msgstr "Aktivera" msgid "Saving..." msgstr "Sparar..." -#: personal.php:47 personal.php:48 +#: personal.php:42 personal.php:43 msgid "__language_name__" msgstr "__language_name__" -#: templates/admin.php:14 -msgid "Security Warning" -msgstr "Säkerhetsvarning" - -#: templates/admin.php:17 -msgid "" -"Your data directory and your files are probably accessible from the " -"internet. The .htaccess file that ownCloud provides is not working. We " -"strongly suggest that you configure your webserver in a way that the data " -"directory is no longer accessible or you move the data directory outside the" -" webserver document root." -msgstr "Din datamapp och dina filer kan möjligen vara nåbara från internet. Filen .htaccess som ownCloud tillhandahåller fungerar inte. Vi rekommenderar starkt att du ställer in din webbserver på ett sätt så att datamappen inte är nåbar. Alternativt att ni flyttar datamappen utanför webbservern." - -#: templates/admin.php:31 -msgid "Cron" -msgstr "Cron" - -#: templates/admin.php:37 -msgid "Execute one task with each page loaded" -msgstr "Exekvera en uppgift vid varje sidladdning" - -#: templates/admin.php:43 -msgid "" -"cron.php is registered at a webcron service. Call the cron.php page in the " -"owncloud root once a minute over http." -msgstr "cron.php är registrerad som en webcron-tjänst. Anropa cron.php sidan i ownCloud en gång i minuten över HTTP." - -#: templates/admin.php:49 -msgid "" -"Use systems cron service. Call the cron.php file in the owncloud folder via " -"a system cronjob once a minute." -msgstr "Använd system-tjänsten cron. Anropa filen cron.php i ownCloud-mappen via ett cronjobb varje minut." - -#: templates/admin.php:56 -msgid "Sharing" -msgstr "Dela" - -#: templates/admin.php:61 -msgid "Enable Share API" -msgstr "Aktivera delat API" - -#: templates/admin.php:62 -msgid "Allow apps to use the Share API" -msgstr "Tillåt applikationer att använda delat API" - -#: templates/admin.php:67 -msgid "Allow links" -msgstr "Tillåt länkar" - -#: templates/admin.php:68 -msgid "Allow users to share items to the public with links" -msgstr "Tillåt delning till allmänheten via publika länkar" - -#: templates/admin.php:73 -msgid "Allow resharing" -msgstr "Tillåt dela vidare" - -#: templates/admin.php:74 -msgid "Allow users to share items shared with them again" -msgstr "Tillåt användare att dela vidare filer som delats med dom" - -#: templates/admin.php:79 -msgid "Allow users to share with anyone" -msgstr "Tillåt delning med alla" - -#: templates/admin.php:81 -msgid "Allow users to only share with users in their groups" -msgstr "Tillåt bara delning med användare i egna grupper" - -#: templates/admin.php:88 -msgid "Log" -msgstr "Logg" - -#: templates/admin.php:116 -msgid "More" -msgstr "Mera" - -#: templates/admin.php:124 -msgid "" -"Developed by the ownCloud community, the source code is " -"licensed under the AGPL." -msgstr "Utvecklad av ownCloud kommunity, källkoden är licenserad under AGPL." - #: templates/apps.php:10 msgid "Add your App" msgstr "Lägg till din applikation" @@ -218,22 +134,22 @@ msgstr "Hantering av stora filer" msgid "Ask a question" msgstr "Ställ en fråga" -#: templates/help.php:23 +#: templates/help.php:22 msgid "Problems connecting to help database." msgstr "Problem med att ansluta till hjälpdatabasen." -#: templates/help.php:24 +#: templates/help.php:23 msgid "Go there manually." msgstr "Gå dit manuellt." -#: templates/help.php:32 +#: templates/help.php:31 msgid "Answer" msgstr "Svar" #: templates/personal.php:8 #, php-format -msgid "You have used %s of the available %s" -msgstr "Du har använt %s av tillgängliga %s" +msgid "You have used %s of the available %s" +msgstr "Du har använt %s av tillgängliga %s" #: templates/personal.php:12 msgid "Desktop and Mobile Syncing Clients" @@ -291,6 +207,16 @@ msgstr "Hjälp att översätta" msgid "use this address to connect to your ownCloud in your file manager" msgstr "använd denna adress för att ansluta ownCloud till din filhanterare" +#: templates/personal.php:61 +msgid "" +"Developed by the ownCloud community, the source code is " +"licensed under the AGPL." +msgstr "Utvecklad av ownCloud kommunity, källkoden är licenserad under AGPL." + #: templates/users.php:21 templates/users.php:76 msgid "Name" msgstr "Namn" diff --git a/l10n/sv/tasks.po b/l10n/sv/tasks.po deleted file mode 100644 index b397a7d18daa95249edf31d0e06e9d05f8b1540f..0000000000000000000000000000000000000000 --- a/l10n/sv/tasks.po +++ /dev/null @@ -1,107 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Magnus Höglund , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-13 13:36+0000\n" -"Last-Translator: Magnus Höglund \n" -"Language-Team: Swedish (http://www.transifex.com/projects/p/owncloud/language/sv/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: sv\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: ajax/update_property.php:51 lib/app.php:89 lib/app.php:101 -msgid "Invalid date/time" -msgstr "Felaktigt datum/tid" - -#: appinfo/app.php:11 -msgid "Tasks" -msgstr "Uppgifter" - -#: js/tasks.js:415 -msgid "No category" -msgstr "Ingen kategori" - -#: lib/app.php:33 -msgid "Unspecified" -msgstr "Ospecificerad " - -#: lib/app.php:34 -msgid "1=highest" -msgstr "1=högsta" - -#: lib/app.php:38 -msgid "5=medium" -msgstr "5=mellan" - -#: lib/app.php:42 -msgid "9=lowest" -msgstr "9=lägsta" - -#: lib/app.php:81 -msgid "Empty Summary" -msgstr "Tom sammanfattning" - -#: lib/app.php:93 -msgid "Invalid percent complete" -msgstr "Ogiltig andel procent klar" - -#: lib/app.php:107 -msgid "Invalid priority" -msgstr "Felaktig prioritet" - -#: templates/tasks.php:3 -msgid "Add Task" -msgstr "Lägg till uppgift" - -#: templates/tasks.php:4 -msgid "Order Due" -msgstr "Förfaller" - -#: templates/tasks.php:5 -msgid "Order List" -msgstr "Kategori" - -#: templates/tasks.php:6 -msgid "Order Complete" -msgstr "Slutförd" - -#: templates/tasks.php:7 -msgid "Order Location" -msgstr "Plats" - -#: templates/tasks.php:8 -msgid "Order Priority" -msgstr "Prioritet" - -#: templates/tasks.php:9 -msgid "Order Label" -msgstr "Etikett" - -#: templates/tasks.php:16 -msgid "Loading tasks..." -msgstr "Laddar uppgifter..." - -#: templates/tasks.php:20 -msgid "Important" -msgstr "Viktigt" - -#: templates/tasks.php:23 -msgid "More" -msgstr "Mer" - -#: templates/tasks.php:26 -msgid "Less" -msgstr "Mindre" - -#: templates/tasks.php:29 -msgid "Delete" -msgstr "Radera" diff --git a/l10n/sv/user_migrate.po b/l10n/sv/user_migrate.po deleted file mode 100644 index 3c9b00b3f6f5dc097724dd17b024a1efc74c42f3..0000000000000000000000000000000000000000 --- a/l10n/sv/user_migrate.po +++ /dev/null @@ -1,52 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Magnus Höglund , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-13 12:39+0000\n" -"Last-Translator: Magnus Höglund \n" -"Language-Team: Swedish (http://www.transifex.com/projects/p/owncloud/language/sv/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: sv\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: js/export.js:14 js/export.js:20 -msgid "Export" -msgstr "Exportera" - -#: js/export.js:19 -msgid "Something went wrong while the export file was being generated" -msgstr "Något gick fel när exportfilen skulle genereras" - -#: js/export.js:19 -msgid "An error has occurred" -msgstr "Ett fel har uppstått" - -#: templates/settings.php:2 -msgid "Export your user account" -msgstr "Exportera ditt användarkonto" - -#: templates/settings.php:3 -msgid "" -"This will create a compressed file that contains your ownCloud account." -msgstr "Detta vill skapa en komprimerad fil som innehåller ditt ownCloud-konto." - -#: templates/settings.php:13 -msgid "Import user account" -msgstr "Importera ett användarkonto" - -#: templates/settings.php:15 -msgid "ownCloud User Zip" -msgstr "ownCloud Zip-fil" - -#: templates/settings.php:17 -msgid "Import" -msgstr "Importera" diff --git a/l10n/sv/user_openid.po b/l10n/sv/user_openid.po deleted file mode 100644 index f05dbf48fd24e38d024493758ee95e1eae212512..0000000000000000000000000000000000000000 --- a/l10n/sv/user_openid.po +++ /dev/null @@ -1,55 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Magnus Höglund , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-13 13:42+0000\n" -"Last-Translator: Magnus Höglund \n" -"Language-Team: Swedish (http://www.transifex.com/projects/p/owncloud/language/sv/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: sv\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" - -#: templates/nomode.php:12 -msgid "This is an OpenID server endpoint. For more information, see " -msgstr "Detta är en OpenID-server slutpunkt. För mer information, se" - -#: templates/nomode.php:14 -msgid "Identity: " -msgstr "Identitet: " - -#: templates/nomode.php:15 -msgid "Realm: " -msgstr "Realm: " - -#: templates/nomode.php:16 -msgid "User: " -msgstr "Användare: " - -#: templates/nomode.php:17 -msgid "Login" -msgstr "Logga in" - -#: templates/nomode.php:22 -msgid "Error: No user Selected" -msgstr "Fel: Ingen användare vald" - -#: templates/settings.php:4 -msgid "you can authenticate to other sites with this address" -msgstr "du kan autentisera till andra webbplatser med denna adress" - -#: templates/settings.php:5 -msgid "Authorized OpenID provider" -msgstr "Godkänd openID leverantör" - -#: templates/settings.php:6 -msgid "Your address at Wordpress, Identi.ca, …" -msgstr "Din adress på Wordpress, Identi.ca, …" diff --git a/l10n/sv/files_odfviewer.po b/l10n/sv/user_webdavauth.po similarity index 59% rename from l10n/sv/files_odfviewer.po rename to l10n/sv/user_webdavauth.po index 35b60c1eb8d19af08d29ea9501c9f0846bb7157a..ca0db7efe4710b4d408da95fd9bc0c6067422fa8 100644 --- a/l10n/sv/files_odfviewer.po +++ b/l10n/sv/user_webdavauth.po @@ -3,20 +3,21 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# Magnus Höglund , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 02:18+0200\n" -"PO-Revision-Date: 2012-08-26 00:19+0000\n" -"Last-Translator: FULL NAME \n" +"POT-Creation-Date: 2012-11-13 00:05+0100\n" +"PO-Revision-Date: 2012-11-12 07:44+0000\n" +"Last-Translator: Magnus Höglund \n" "Language-Team: Swedish (http://www.transifex.com/projects/p/owncloud/language/sv/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: sv\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: js/viewer.js:9 -msgid "Close" -msgstr "" +#: templates/settings.php:4 +msgid "WebDAV URL: http://" +msgstr "WebDAV URL: http://" diff --git a/l10n/ta_LK/core.po b/l10n/ta_LK/core.po index 1686955bd99fa2a6c76f3e267a89e06ad10769ec..a64466dbd5aa88cc4c5ce4732db496104ea3693c 100644 --- a/l10n/ta_LK/core.po +++ b/l10n/ta_LK/core.po @@ -3,13 +3,14 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-16 02:04+0200\n" -"PO-Revision-Date: 2012-10-16 00:05+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-11-16 00:02+0100\n" +"PO-Revision-Date: 2012-11-15 10:19+0000\n" +"Last-Translator: suganthi \n" "Language-Team: Tamil (Sri-Lanka) (http://www.transifex.com/projects/p/owncloud/language/ta_LK/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -17,304 +18,336 @@ msgstr "" "Language: ta_LK\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: ajax/vcategories/add.php:23 ajax/vcategories/delete.php:23 -msgid "Application name not provided." -msgstr "" +#: ajax/vcategories/add.php:26 ajax/vcategories/edit.php:25 +msgid "Category type not provided." +msgstr "பிரிவு வகைகள் வழங்கப்படவில்லை" -#: ajax/vcategories/add.php:29 +#: ajax/vcategories/add.php:30 msgid "No category to add?" -msgstr "" +msgstr "சேர்ப்பதற்கான வகைகள் இல்லையா?" -#: ajax/vcategories/add.php:36 +#: ajax/vcategories/add.php:37 msgid "This category already exists: " -msgstr "" +msgstr "இந்த வகை ஏற்கனவே உள்ளது:" + +#: ajax/vcategories/addToFavorites.php:26 ajax/vcategories/delete.php:27 +#: ajax/vcategories/favorites.php:24 +#: ajax/vcategories/removeFromFavorites.php:26 +msgid "Object type not provided." +msgstr "பொருள் வகை வழங்கப்படவில்லை" + +#: ajax/vcategories/addToFavorites.php:30 +#: ajax/vcategories/removeFromFavorites.php:30 +#, php-format +msgid "%s ID not provided." +msgstr "%s ID வழங்கப்படவில்லை" + +#: ajax/vcategories/addToFavorites.php:35 +#, php-format +msgid "Error adding %s to favorites." +msgstr "விருப்பங்களுக்கு %s ஐ சேர்ப்பதில் வழு" + +#: ajax/vcategories/delete.php:35 js/oc-vcategories.js:136 +msgid "No categories selected for deletion." +msgstr "நீக்குவதற்கு எந்தப் பிரிவும் தெரிவுசெய்யப்படவில்லை." + +#: ajax/vcategories/removeFromFavorites.php:35 +#, php-format +msgid "Error removing %s from favorites." +msgstr "விருப்பத்திலிருந்து %s ஐ அகற்றுவதில் வழு.உஇஇ" -#: js/js.js:238 templates/layout.user.php:49 templates/layout.user.php:50 +#: js/js.js:243 templates/layout.user.php:59 templates/layout.user.php:60 msgid "Settings" -msgstr "" +msgstr "அமைப்புகள்" -#: js/js.js:670 -msgid "January" -msgstr "" +#: js/js.js:688 +msgid "seconds ago" +msgstr "செக்கன்களுக்கு முன்" -#: js/js.js:670 -msgid "February" -msgstr "" +#: js/js.js:689 +msgid "1 minute ago" +msgstr "1 நிமிடத்திற்கு முன் " -#: js/js.js:670 -msgid "March" -msgstr "" +#: js/js.js:690 +msgid "{minutes} minutes ago" +msgstr "{நிமிடங்கள்} நிமிடங்களுக்கு முன் " -#: js/js.js:670 -msgid "April" -msgstr "" +#: js/js.js:691 +msgid "1 hour ago" +msgstr "1 மணித்தியாலத்திற்கு முன்" -#: js/js.js:670 -msgid "May" -msgstr "" +#: js/js.js:692 +msgid "{hours} hours ago" +msgstr "{மணித்தியாலங்கள்} மணித்தியாலங்களிற்கு முன்" -#: js/js.js:670 -msgid "June" -msgstr "" +#: js/js.js:693 +msgid "today" +msgstr "இன்று" -#: js/js.js:671 -msgid "July" -msgstr "" +#: js/js.js:694 +msgid "yesterday" +msgstr "நேற்று" -#: js/js.js:671 -msgid "August" -msgstr "" +#: js/js.js:695 +msgid "{days} days ago" +msgstr "{நாட்கள்} நாட்களுக்கு முன்" -#: js/js.js:671 -msgid "September" -msgstr "" +#: js/js.js:696 +msgid "last month" +msgstr "கடந்த மாதம்" -#: js/js.js:671 -msgid "October" -msgstr "" +#: js/js.js:697 +msgid "{months} months ago" +msgstr "{மாதங்கள்} மாதங்களிற்கு முன்" -#: js/js.js:671 -msgid "November" -msgstr "" +#: js/js.js:698 +msgid "months ago" +msgstr "மாதங்களுக்கு முன்" -#: js/js.js:671 -msgid "December" -msgstr "" +#: js/js.js:699 +msgid "last year" +msgstr "கடந்த வருடம்" -#: js/oc-dialogs.js:123 +#: js/js.js:700 +msgid "years ago" +msgstr "வருடங்களுக்கு முன்" + +#: js/oc-dialogs.js:126 msgid "Choose" -msgstr "" +msgstr "தெரிவுசெய்க " -#: js/oc-dialogs.js:143 js/oc-dialogs.js:163 +#: js/oc-dialogs.js:146 js/oc-dialogs.js:166 msgid "Cancel" -msgstr "" +msgstr "இரத்து செய்க" -#: js/oc-dialogs.js:159 +#: js/oc-dialogs.js:162 msgid "No" -msgstr "" +msgstr "இல்லை" -#: js/oc-dialogs.js:160 +#: js/oc-dialogs.js:163 msgid "Yes" -msgstr "" +msgstr "ஆம்" -#: js/oc-dialogs.js:177 +#: js/oc-dialogs.js:180 msgid "Ok" -msgstr "" +msgstr "சரி" -#: js/oc-vcategories.js:68 -msgid "No categories selected for deletion." -msgstr "" +#: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102 +#: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162 +msgid "The object type is not specified." +msgstr "பொருள் வகை குறிப்பிடப்படவில்லை." -#: js/oc-vcategories.js:68 js/share.js:114 js/share.js:121 js/share.js:497 -#: js/share.js:509 +#: js/oc-vcategories.js:95 js/oc-vcategories.js:125 js/oc-vcategories.js:136 +#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:525 +#: js/share.js:537 msgid "Error" -msgstr "" +msgstr "வழு" -#: js/share.js:103 +#: js/oc-vcategories.js:179 +msgid "The app name is not specified." +msgstr "செயலி பெயர் குறிப்பிடப்படவில்லை." + +#: js/oc-vcategories.js:194 +msgid "The required file {file} is not installed!" +msgstr "தேவைப்பட்ட கோப்பு {கோப்பு} நிறுவப்படவில்லை!" + +#: js/share.js:124 msgid "Error while sharing" -msgstr "" +msgstr "பகிரும் போதான வழு" -#: js/share.js:114 +#: js/share.js:135 msgid "Error while unsharing" -msgstr "" +msgstr "பகிராமல் உள்ளப்போதான வழு" -#: js/share.js:121 +#: js/share.js:142 msgid "Error while changing permissions" -msgstr "" +msgstr "அனுமதிகள் மாறும்போதான வழு" -#: js/share.js:130 -msgid "Shared with you and the group" -msgstr "" +#: js/share.js:151 +msgid "Shared with you and the group {group} by {owner}" +msgstr "உங்களுடனும் குழுவுக்கிடையிலும் {குழு} பகிரப்பட்டுள்ளது {உரிமையாளர்}" -#: js/share.js:130 -msgid "by" -msgstr "" - -#: js/share.js:132 -msgid "Shared with you by" -msgstr "" +#: js/share.js:153 +msgid "Shared with you by {owner}" +msgstr "உங்களுடன் பகிரப்பட்டுள்ளது {உரிமையாளர்}" -#: js/share.js:137 +#: js/share.js:158 msgid "Share with" -msgstr "" +msgstr "பகிர்தல்" -#: js/share.js:142 +#: js/share.js:163 msgid "Share with link" -msgstr "" +msgstr "இணைப்புடன் பகிர்தல்" -#: js/share.js:143 +#: js/share.js:164 msgid "Password protect" -msgstr "" +msgstr "கடவுச்சொல்லை பாதுகாத்தல்" -#: js/share.js:147 templates/installation.php:42 templates/login.php:24 +#: js/share.js:168 templates/installation.php:42 templates/login.php:24 #: templates/verify.php:13 msgid "Password" -msgstr "" +msgstr "கடவுச்சொல்" -#: js/share.js:152 +#: js/share.js:173 msgid "Set expiration date" -msgstr "" +msgstr "காலாவதி தேதியை குறிப்பிடுக" -#: js/share.js:153 +#: js/share.js:174 msgid "Expiration date" -msgstr "" +msgstr "காலவதியாகும் திகதி" -#: js/share.js:185 +#: js/share.js:206 msgid "Share via email:" -msgstr "" +msgstr "மின்னஞ்சலினூடான பகிர்வு: " -#: js/share.js:187 +#: js/share.js:208 msgid "No people found" -msgstr "" +msgstr "நபர்கள் யாரும் இல்லை" -#: js/share.js:214 +#: js/share.js:235 msgid "Resharing is not allowed" -msgstr "" - -#: js/share.js:250 -msgid "Shared in" -msgstr "" - -#: js/share.js:250 -msgid "with" -msgstr "" +msgstr "மீள்பகிர்வதற்கு அனுமதி இல்லை " #: js/share.js:271 +msgid "Shared in {item} with {user}" +msgstr "{பயனாளர்} உடன் {உருப்படி} பகிரப்பட்டுள்ளது" + +#: js/share.js:292 msgid "Unshare" -msgstr "" +msgstr "பகிரமுடியாது" -#: js/share.js:283 +#: js/share.js:304 msgid "can edit" -msgstr "" +msgstr "தொகுக்க முடியும்" -#: js/share.js:285 +#: js/share.js:306 msgid "access control" -msgstr "" +msgstr "கட்டுப்பாடான அணுகல்" -#: js/share.js:288 +#: js/share.js:309 msgid "create" -msgstr "" +msgstr "படைத்தல்" -#: js/share.js:291 +#: js/share.js:312 msgid "update" -msgstr "" +msgstr "இற்றைப்படுத்தல்" -#: js/share.js:294 +#: js/share.js:315 msgid "delete" -msgstr "" +msgstr "நீக்குக" -#: js/share.js:297 +#: js/share.js:318 msgid "share" -msgstr "" +msgstr "பகிர்தல்" -#: js/share.js:322 js/share.js:484 +#: js/share.js:343 js/share.js:512 js/share.js:514 msgid "Password protected" -msgstr "" +msgstr "கடவுச்சொல் பாதுகாக்கப்பட்டது" -#: js/share.js:497 +#: js/share.js:525 msgid "Error unsetting expiration date" -msgstr "" +msgstr "காலாவதியாகும் திகதியை குறிப்பிடாமைக்கான வழு" -#: js/share.js:509 +#: js/share.js:537 msgid "Error setting expiration date" -msgstr "" +msgstr "காலாவதியாகும் திகதியை குறிப்பிடுவதில் வழு" -#: lostpassword/index.php:26 +#: lostpassword/controller.php:47 msgid "ownCloud password reset" -msgstr "" +msgstr "ownCloud இன் கடவுச்சொல் மீளமைப்பு" #: lostpassword/templates/email.php:2 msgid "Use the following link to reset your password: {link}" -msgstr "" +msgstr "உங்கள் கடவுச்சொல்லை மீளமைக்க பின்வரும் இணைப்பை பயன்படுத்தவும் : {இணைப்பு}" #: lostpassword/templates/lostpassword.php:3 msgid "You will receive a link to reset your password via Email." -msgstr "" +msgstr "நீங்கள் மின்னஞ்சல் மூலம் உங்களுடைய கடவுச்சொல்லை மீளமைப்பதற்கான இணைப்பை பெறுவீர்கள். " #: lostpassword/templates/lostpassword.php:5 -msgid "Requested" -msgstr "" +msgid "Reset email send." +msgstr "மின்னுஞ்சல் அனுப்புதலை மீளமைக்குக" #: lostpassword/templates/lostpassword.php:8 -msgid "Login failed!" -msgstr "" +msgid "Request failed!" +msgstr "வேண்டுகோள் தோல்வியுற்றது!" #: lostpassword/templates/lostpassword.php:11 templates/installation.php:38 #: templates/login.php:20 msgid "Username" -msgstr "" +msgstr "பயனாளர் பெயர்" #: lostpassword/templates/lostpassword.php:14 msgid "Request reset" -msgstr "" +msgstr "கோரிக்கை மீளமைப்பு" #: lostpassword/templates/resetpassword.php:4 msgid "Your password was reset" -msgstr "" +msgstr "உங்களுடைய கடவுச்சொல் மீளமைக்கப்பட்டது" #: lostpassword/templates/resetpassword.php:5 msgid "To login page" -msgstr "" +msgstr "புகுபதிகைக்கான பக்கம்" #: lostpassword/templates/resetpassword.php:8 msgid "New password" -msgstr "" +msgstr "புதிய கடவுச்சொல்" #: lostpassword/templates/resetpassword.php:11 msgid "Reset password" -msgstr "" +msgstr "மீளமைத்த கடவுச்சொல்" #: strings.php:5 msgid "Personal" -msgstr "" +msgstr "தனிப்பட்ட" #: strings.php:6 msgid "Users" -msgstr "" +msgstr "பயனாளர்கள்" #: strings.php:7 msgid "Apps" -msgstr "" +msgstr "பயன்பாடுகள்" #: strings.php:8 msgid "Admin" -msgstr "" +msgstr "நிர்வாகி" #: strings.php:9 msgid "Help" -msgstr "" +msgstr "உதவி" #: templates/403.php:12 msgid "Access forbidden" -msgstr "" +msgstr "அணுக தடை" #: templates/404.php:12 msgid "Cloud not found" -msgstr "" +msgstr "Cloud கண்டுப்பிடிப்படவில்லை" #: templates/edit_categories_dialog.php:4 msgid "Edit categories" -msgstr "" +msgstr "வகைகளை தொகுக்க" -#: templates/edit_categories_dialog.php:14 +#: templates/edit_categories_dialog.php:16 msgid "Add" -msgstr "" +msgstr "சேர்க்க" #: templates/installation.php:23 templates/installation.php:31 msgid "Security Warning" -msgstr "" +msgstr "பாதுகாப்பு எச்சரிக்கை" #: templates/installation.php:24 msgid "" "No secure random number generator is available, please enable the PHP " "OpenSSL extension." -msgstr "" +msgstr "குறிப்பிட்ட எண்ணிக்கை பாதுகாப்பான புறப்பாக்கி / உண்டாக்கிகள் இல்லை, தயவுசெய்து PHP OpenSSL நீட்சியை இயலுமைப்படுத்துக. " #: templates/installation.php:26 msgid "" "Without a secure random number generator an attacker may be able to predict " "password reset tokens and take over your account." -msgstr "" +msgstr "பாதுகாப்பான சீரற்ற எண்ணிக்கையான புறப்பாக்கி இல்லையெனின், தாக்குனரால் கடவுச்சொல் மீளமைப்பு அடையாளவில்லைகள் முன்மொழியப்பட்டு உங்களுடைய கணக்கை கைப்பற்றலாம்." #: templates/installation.php:32 msgid "" @@ -323,109 +356,185 @@ msgid "" "strongly suggest that you configure your webserver in a way that the data " "directory is no longer accessible or you move the data directory outside the" " webserver document root." -msgstr "" +msgstr "உங்களுடைய தரவு அடைவு மற்றும் உங்களுடைய கோப்புக்களை பெரும்பாலும் இணையத்தினூடாக அணுகலாம். ownCloud இனால் வழங்கப்படுகின்ற .htaccess கோப்பு வேலை செய்யவில்லை. தரவு அடைவை நீண்ட நேரத்திற்கு அணுகக்கூடியதாக உங்களுடைய வலைய சேவையகத்தை தகவமைக்குமாறு நாங்கள் உறுதியாக கூறுகிறோம் அல்லது தரவு அடைவை வலைய சேவையக மூல ஆவணத்திலிருந்து வெளியே அகற்றுக. " #: templates/installation.php:36 msgid "Create an admin account" -msgstr "" +msgstr " நிர்வாக கணக்கொன்றை உருவாக்குக" #: templates/installation.php:48 msgid "Advanced" -msgstr "" +msgstr "மேம்பட்ட" #: templates/installation.php:50 msgid "Data folder" -msgstr "" +msgstr "தரவு கோப்புறை" #: templates/installation.php:57 msgid "Configure the database" -msgstr "" +msgstr "தரவுத்தளத்தை தகவமைக்க" #: templates/installation.php:62 templates/installation.php:73 #: templates/installation.php:83 templates/installation.php:93 msgid "will be used" -msgstr "" +msgstr "பயன்படுத்தப்படும்" #: templates/installation.php:105 msgid "Database user" -msgstr "" +msgstr "தரவுத்தள பயனாளர்" #: templates/installation.php:109 msgid "Database password" -msgstr "" +msgstr "தரவுத்தள கடவுச்சொல்" #: templates/installation.php:113 msgid "Database name" -msgstr "" +msgstr "தரவுத்தள பெயர்" #: templates/installation.php:121 msgid "Database tablespace" -msgstr "" +msgstr "தரவுத்தள அட்டவணை" #: templates/installation.php:127 msgid "Database host" -msgstr "" +msgstr "தரவுத்தள ஓம்புனர்" #: templates/installation.php:132 msgid "Finish setup" -msgstr "" +msgstr "அமைப்பை முடிக்க" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Sunday" +msgstr "ஞாயிற்றுக்கிழமை" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Monday" +msgstr "திங்கட்கிழமை" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Tuesday" +msgstr "செவ்வாய்க்கிழமை" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Wednesday" +msgstr "புதன்கிழமை" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Thursday" +msgstr "வியாழக்கிழமை" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Friday" +msgstr "வெள்ளிக்கிழமை" -#: templates/layout.guest.php:38 +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Saturday" +msgstr "சனிக்கிழமை" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "January" +msgstr "தை" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "February" +msgstr "மாசி" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "March" +msgstr "பங்குனி" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "April" +msgstr "சித்திரை" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "May" +msgstr "வைகாசி" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "June" +msgstr "ஆனி" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "July" +msgstr "ஆடி" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "August" +msgstr "ஆவணி" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "September" +msgstr "புரட்டாசி" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "October" +msgstr "ஐப்பசி" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "November" +msgstr "கார்த்திகை" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "December" +msgstr "மார்கழி" + +#: templates/layout.guest.php:41 msgid "web services under your control" -msgstr "" +msgstr "உங்கள் கட்டுப்பாட்டின் கீழ் இணைய சேவைகள்" -#: templates/layout.user.php:34 +#: templates/layout.user.php:44 msgid "Log out" -msgstr "" +msgstr "விடுபதிகை செய்க" #: templates/login.php:8 msgid "Automatic logon rejected!" -msgstr "" +msgstr "தன்னிச்சையான புகுபதிகை நிராகரிப்பட்டது!" #: templates/login.php:9 msgid "" "If you did not change your password recently, your account may be " "compromised!" -msgstr "" +msgstr "உங்களுடைய கடவுச்சொல்லை அண்மையில் மாற்றவில்லையின், உங்களுடைய கணக்கு சமரசமாகிவிடும்!" #: templates/login.php:10 msgid "Please change your password to secure your account again." -msgstr "" +msgstr "உங்களுடைய கணக்கை மீண்டும் பாதுகாக்க தயவுசெய்து உங்களுடைய கடவுச்சொல்லை மாற்றவும்." #: templates/login.php:15 msgid "Lost your password?" -msgstr "" +msgstr "உங்கள் கடவுச்சொல்லை தொலைத்துவிட்டீர்களா?" #: templates/login.php:27 msgid "remember" -msgstr "" +msgstr "ஞாபகப்படுத்துக" #: templates/login.php:28 msgid "Log in" -msgstr "" +msgstr "புகுபதிகை" #: templates/logout.php:1 msgid "You are logged out." -msgstr "" +msgstr "நீங்கள் விடுபதிகை செய்துவிட்டீர்கள்." #: templates/part.pagenavi.php:3 msgid "prev" -msgstr "" +msgstr "முந்தைய" #: templates/part.pagenavi.php:20 msgid "next" -msgstr "" +msgstr "அடுத்து" #: templates/verify.php:5 msgid "Security Warning!" -msgstr "" +msgstr "பாதுகாப்பு எச்சரிக்கை!" #: templates/verify.php:6 msgid "" "Please verify your password.
For security reasons you may be " "occasionally asked to enter your password again." -msgstr "" +msgstr "உங்களுடைய கடவுச்சொல்லை உறுதிப்படுத்துக.
பாதுகாப்பு காரணங்களுக்காக நீங்கள் எப்போதாவது உங்களுடைய கடவுச்சொல்லை மீண்டும் நுழைக்க கேட்கப்படுவீர்கள்." #: templates/verify.php:16 msgid "Verify" -msgstr "" +msgstr "உறுதிப்படுத்தல்" diff --git a/l10n/ta_LK/files.po b/l10n/ta_LK/files.po index 942737c0f6048a67386330f9beab465fee27a4fe..b6abb44c8476b1642676f5d7c761a00b5018a3fc 100644 --- a/l10n/ta_LK/files.po +++ b/l10n/ta_LK/files.po @@ -3,13 +3,14 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-16 02:03+0200\n" -"PO-Revision-Date: 2011-08-13 02:19+0000\n" -"Last-Translator: FULL NAME \n" +"POT-Creation-Date: 2012-12-01 00:01+0100\n" +"PO-Revision-Date: 2012-11-30 23:02+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Tamil (Sri-Lanka) (http://www.transifex.com/projects/p/owncloud/language/ta_LK/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -19,281 +20,248 @@ msgstr "" #: ajax/upload.php:20 msgid "There is no error, the file uploaded with success" -msgstr "" +msgstr "இங்கு வழு இல்லை, கோப்பு வெற்றிகரமாக பதிவேற்றப்பட்டது" #: ajax/upload.php:21 -msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" +msgid "" +"The uploaded file exceeds the upload_max_filesize directive in php.ini: " msgstr "" -#: ajax/upload.php:22 +#: ajax/upload.php:23 msgid "" "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " "the HTML form" -msgstr "" +msgstr "பதிவேற்றப்பட்ட கோப்பானது HTML படிவத்தில் குறிப்பிடப்பட்டுள்ள MAX_FILE_SIZE directive ஐ விட கூடியது" -#: ajax/upload.php:23 +#: ajax/upload.php:25 msgid "The uploaded file was only partially uploaded" -msgstr "" +msgstr "பதிவேற்றப்பட்ட கோப்பானது பகுதியாக மட்டுமே பதிவேற்றப்பட்டுள்ளது" -#: ajax/upload.php:24 +#: ajax/upload.php:26 msgid "No file was uploaded" -msgstr "" +msgstr "எந்த கோப்பும் பதிவேற்றப்படவில்லை" -#: ajax/upload.php:25 +#: ajax/upload.php:27 msgid "Missing a temporary folder" -msgstr "" +msgstr "ஒரு தற்காலிகமான கோப்புறையை காணவில்லை" -#: ajax/upload.php:26 +#: ajax/upload.php:28 msgid "Failed to write to disk" -msgstr "" +msgstr "வட்டில் எழுத முடியவில்லை" -#: appinfo/app.php:6 +#: appinfo/app.php:10 msgid "Files" -msgstr "" +msgstr "கோப்புகள்" -#: js/fileactions.js:108 templates/index.php:62 +#: js/fileactions.js:117 templates/index.php:83 templates/index.php:84 msgid "Unshare" -msgstr "" +msgstr "பகிரப்படாதது" -#: js/fileactions.js:110 templates/index.php:64 +#: js/fileactions.js:119 templates/index.php:89 templates/index.php:90 msgid "Delete" -msgstr "" +msgstr "அழிக்க" -#: js/fileactions.js:182 +#: js/fileactions.js:181 msgid "Rename" -msgstr "" +msgstr "பெயர்மாற்றம்" -#: js/filelist.js:192 js/filelist.js:194 -msgid "already exists" -msgstr "" +#: js/filelist.js:201 js/filelist.js:203 +msgid "{new_name} already exists" +msgstr "{new_name} ஏற்கனவே உள்ளது" -#: js/filelist.js:192 js/filelist.js:194 +#: js/filelist.js:201 js/filelist.js:203 msgid "replace" -msgstr "" +msgstr "மாற்றிடுக" -#: js/filelist.js:192 +#: js/filelist.js:201 msgid "suggest name" -msgstr "" +msgstr "பெயரை பரிந்துரைக்க" -#: js/filelist.js:192 js/filelist.js:194 +#: js/filelist.js:201 js/filelist.js:203 msgid "cancel" -msgstr "" +msgstr "இரத்து செய்க" -#: js/filelist.js:241 js/filelist.js:243 -msgid "replaced" -msgstr "" +#: js/filelist.js:250 +msgid "replaced {new_name}" +msgstr "மாற்றப்பட்டது {new_name}" -#: js/filelist.js:241 js/filelist.js:243 js/filelist.js:275 js/filelist.js:277 +#: js/filelist.js:250 js/filelist.js:252 js/filelist.js:284 js/filelist.js:286 msgid "undo" -msgstr "" +msgstr "முன் செயல் நீக்கம் " -#: js/filelist.js:243 -msgid "with" -msgstr "" +#: js/filelist.js:252 +msgid "replaced {new_name} with {old_name}" +msgstr "{new_name} ஆனது {old_name} இனால் மாற்றப்பட்டது" -#: js/filelist.js:275 -msgid "unshared" -msgstr "" +#: js/filelist.js:284 +msgid "unshared {files}" +msgstr "பகிரப்படாதது {கோப்புகள்}" -#: js/filelist.js:277 -msgid "deleted" -msgstr "" +#: js/filelist.js:286 +msgid "deleted {files}" +msgstr "நீக்கப்பட்டது {கோப்புகள்}" + +#: js/files.js:33 +msgid "" +"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not " +"allowed." +msgstr "செல்லுபடியற்ற பெயர்,'\\', '/', '<', '>', ':', '\"', '|', '?' மற்றும் '*' ஆகியன அனுமதிக்கப்படமாட்டாது." -#: js/files.js:179 +#: js/files.js:183 msgid "generating ZIP-file, it may take some time." -msgstr "" +msgstr " ZIP கோப்பு உருவாக்கப்படுகின்றது, இது சில நேரம் ஆகலாம்." -#: js/files.js:214 +#: js/files.js:218 msgid "Unable to upload your file as it is a directory or has 0 bytes" -msgstr "" +msgstr "அடைவு அல்லது 0 bytes ஐ கொண்டுள்ளதால் உங்களுடைய கோப்பை பதிவேற்ற முடியவில்லை" -#: js/files.js:214 +#: js/files.js:218 msgid "Upload Error" -msgstr "" +msgstr "பதிவேற்றல் வழு" + +#: js/files.js:235 +msgid "Close" +msgstr "மூடுக" -#: js/files.js:242 js/files.js:347 js/files.js:377 +#: js/files.js:254 js/files.js:368 js/files.js:398 msgid "Pending" -msgstr "" +msgstr "நிலுவையிலுள்ள" -#: js/files.js:262 +#: js/files.js:274 msgid "1 file uploading" -msgstr "" +msgstr "1 கோப்பு பதிவேற்றப்படுகிறது" -#: js/files.js:265 js/files.js:310 js/files.js:325 -msgid "files uploading" -msgstr "" +#: js/files.js:277 js/files.js:331 js/files.js:346 +msgid "{count} files uploading" +msgstr "{எண்ணிக்கை} கோப்புகள் பதிவேற்றப்படுகின்றது" -#: js/files.js:328 js/files.js:361 +#: js/files.js:349 js/files.js:382 msgid "Upload cancelled." -msgstr "" +msgstr "பதிவேற்றல் இரத்து செய்யப்பட்டுள்ளது" -#: js/files.js:430 +#: js/files.js:451 msgid "" "File upload is in progress. Leaving the page now will cancel the upload." -msgstr "" +msgstr "கோப்பு பதிவேற்றம் செயல்பாட்டில் உள்ளது. இந்தப் பக்கத்திலிருந்து வெறியேறுவதானது பதிவேற்றலை இரத்து செய்யும்." -#: js/files.js:500 -msgid "Invalid name, '/' is not allowed." -msgstr "" +#: js/files.js:523 +msgid "Invalid folder name. Usage of \"Shared\" is reserved by Owncloud" +msgstr "செல்லுபடியற்ற கோப்புறை பெயர். \"பகிர்வின்\" பாவனை Owncloud இனால் ஒதுக்கப்பட்டுள்ளது" -#: js/files.js:681 -msgid "files scanned" -msgstr "" +#: js/files.js:704 +msgid "{count} files scanned" +msgstr "{எண்ணிக்கை} கோப்புகள் வருடப்பட்டது" -#: js/files.js:689 +#: js/files.js:712 msgid "error while scanning" -msgstr "" +msgstr "வருடும் போதான வழு" -#: js/files.js:762 templates/index.php:48 +#: js/files.js:785 templates/index.php:65 msgid "Name" -msgstr "" +msgstr "பெயர்" -#: js/files.js:763 templates/index.php:56 +#: js/files.js:786 templates/index.php:76 msgid "Size" -msgstr "" +msgstr "அளவு" -#: js/files.js:764 templates/index.php:58 +#: js/files.js:787 templates/index.php:78 msgid "Modified" -msgstr "" - -#: js/files.js:791 -msgid "folder" -msgstr "" +msgstr "மாற்றப்பட்டது" -#: js/files.js:793 -msgid "folders" -msgstr "" +#: js/files.js:814 +msgid "1 folder" +msgstr "1 கோப்புறை" -#: js/files.js:801 -msgid "file" -msgstr "" +#: js/files.js:816 +msgid "{count} folders" +msgstr "{எண்ணிக்கை} கோப்புறைகள்" -#: js/files.js:803 -msgid "files" -msgstr "" +#: js/files.js:824 +msgid "1 file" +msgstr "1 கோப்பு" -#: js/files.js:847 -msgid "seconds ago" -msgstr "" - -#: js/files.js:848 -msgid "minute ago" -msgstr "" - -#: js/files.js:849 -msgid "minutes ago" -msgstr "" - -#: js/files.js:852 -msgid "today" -msgstr "" - -#: js/files.js:853 -msgid "yesterday" -msgstr "" - -#: js/files.js:854 -msgid "days ago" -msgstr "" - -#: js/files.js:855 -msgid "last month" -msgstr "" - -#: js/files.js:857 -msgid "months ago" -msgstr "" - -#: js/files.js:858 -msgid "last year" -msgstr "" - -#: js/files.js:859 -msgid "years ago" -msgstr "" +#: js/files.js:826 +msgid "{count} files" +msgstr "{எண்ணிக்கை} கோப்புகள்" #: templates/admin.php:5 msgid "File handling" -msgstr "" +msgstr "கோப்பு கையாளுதல்" #: templates/admin.php:7 msgid "Maximum upload size" -msgstr "" +msgstr "பதிவேற்றக்கூடிய ஆகக்கூடிய அளவு " -#: templates/admin.php:7 +#: templates/admin.php:9 msgid "max. possible: " -msgstr "" +msgstr "ஆகக் கூடியது:" -#: templates/admin.php:9 +#: templates/admin.php:12 msgid "Needed for multi-file and folder downloads." -msgstr "" +msgstr "பல்வேறுப்பட்ட கோப்பு மற்றும் கோப்புறைகளை பதிவிறக்க தேவையானது." -#: templates/admin.php:9 +#: templates/admin.php:14 msgid "Enable ZIP-download" -msgstr "" +msgstr "ZIP பதிவிறக்கலை இயலுமைப்படுத்துக" -#: templates/admin.php:11 +#: templates/admin.php:17 msgid "0 is unlimited" -msgstr "" +msgstr "0 ஆனது எல்லையற்றது" -#: templates/admin.php:12 +#: templates/admin.php:19 msgid "Maximum input size for ZIP files" -msgstr "" +msgstr "ZIP கோப்புகளுக்கான ஆகக்கூடிய உள்ளீட்டு அளவு" -#: templates/admin.php:14 +#: templates/admin.php:23 msgid "Save" -msgstr "" +msgstr "சேமிக்க" #: templates/index.php:7 msgid "New" -msgstr "" +msgstr "புதிய" -#: templates/index.php:9 +#: templates/index.php:10 msgid "Text file" -msgstr "" +msgstr "கோப்பு உரை" -#: templates/index.php:10 +#: templates/index.php:12 msgid "Folder" -msgstr "" +msgstr "கோப்புறை" -#: templates/index.php:11 -msgid "From url" -msgstr "" +#: templates/index.php:14 +msgid "From link" +msgstr "இணைப்பிலிருந்து" -#: templates/index.php:20 +#: templates/index.php:35 msgid "Upload" -msgstr "" +msgstr "பதிவேற்றுக" -#: templates/index.php:27 +#: templates/index.php:43 msgid "Cancel upload" -msgstr "" +msgstr "பதிவேற்றலை இரத்து செய்க" -#: templates/index.php:40 +#: templates/index.php:57 msgid "Nothing in here. Upload something!" -msgstr "" - -#: templates/index.php:50 -msgid "Share" -msgstr "" +msgstr "இங்கு ஒன்றும் இல்லை. ஏதாவது பதிவேற்றுக!" -#: templates/index.php:52 +#: templates/index.php:71 msgid "Download" -msgstr "" +msgstr "பதிவிறக்குக" -#: templates/index.php:75 +#: templates/index.php:103 msgid "Upload too large" -msgstr "" +msgstr "பதிவேற்றல் மிகப்பெரியது" -#: templates/index.php:77 +#: templates/index.php:105 msgid "" "The files you are trying to upload exceed the maximum size for file uploads " "on this server." -msgstr "" +msgstr "நீங்கள் பதிவேற்ற முயற்சிக்கும் கோப்புகளானது இந்த சேவையகத்தில் கோப்பு பதிவேற்றக்கூடிய ஆகக்கூடிய அளவிலும் கூடியது." -#: templates/index.php:82 +#: templates/index.php:110 msgid "Files are being scanned, please wait." -msgstr "" +msgstr "கோப்புகள் வருடப்படுகின்றன, தயவுசெய்து காத்திருங்கள்." -#: templates/index.php:85 +#: templates/index.php:113 msgid "Current scanning" -msgstr "" +msgstr "தற்போது வருடப்படுபவை" diff --git a/l10n/ta_LK/files_encryption.po b/l10n/ta_LK/files_encryption.po index 59c15d46d9bd1fd9a0a8ff2284f80c5ce265dcc9..2eee3be9df2803c7c0071ba71bf7b09a6fc24dfb 100644 --- a/l10n/ta_LK/files_encryption.po +++ b/l10n/ta_LK/files_encryption.po @@ -3,13 +3,14 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-16 02:03+0200\n" -"PO-Revision-Date: 2012-08-12 22:33+0000\n" -"Last-Translator: FULL NAME \n" +"POT-Creation-Date: 2012-11-18 00:01+0100\n" +"PO-Revision-Date: 2012-11-17 05:33+0000\n" +"Last-Translator: suganthi \n" "Language-Team: Tamil (Sri-Lanka) (http://www.transifex.com/projects/p/owncloud/language/ta_LK/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -19,16 +20,16 @@ msgstr "" #: templates/settings.php:3 msgid "Encryption" -msgstr "" +msgstr "மறைக்குறியீடு" #: templates/settings.php:4 msgid "Exclude the following file types from encryption" -msgstr "" +msgstr "மறைக்குறியாக்கலில் பின்வரும் கோப்பு வகைகளை நீக்கவும்" #: templates/settings.php:5 msgid "None" -msgstr "" +msgstr "ஒன்றுமில்லை" #: templates/settings.php:10 msgid "Enable Encryption" -msgstr "" +msgstr "மறைக்குறியாக்கலை இயலுமைப்படுத்துக" diff --git a/l10n/ta_LK/files_external.po b/l10n/ta_LK/files_external.po index 469c1e516eb1b69a2af65144cd504db16a5f729d..9ecab2c36088df7430dd2b0f2785b24aaa75f952 100644 --- a/l10n/ta_LK/files_external.po +++ b/l10n/ta_LK/files_external.po @@ -3,13 +3,14 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-16 02:03+0200\n" -"PO-Revision-Date: 2012-08-12 22:34+0000\n" -"Last-Translator: FULL NAME \n" +"POT-Creation-Date: 2012-12-12 00:12+0100\n" +"PO-Revision-Date: 2012-12-11 23:13+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Tamil (Sri-Lanka) (http://www.transifex.com/projects/p/owncloud/language/ta_LK/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -19,88 +20,102 @@ msgstr "" #: js/dropbox.js:7 js/dropbox.js:25 js/google.js:7 js/google.js:23 msgid "Access granted" -msgstr "" +msgstr "அனுமதி வழங்கப்பட்டது" #: js/dropbox.js:28 js/dropbox.js:74 js/dropbox.js:79 js/dropbox.js:86 msgid "Error configuring Dropbox storage" -msgstr "" +msgstr "Dropbox சேமிப்பை தகவமைப்பதில் வழு" #: js/dropbox.js:34 js/dropbox.js:45 js/google.js:31 js/google.js:40 msgid "Grant access" -msgstr "" +msgstr "அனுமதியை வழங்கல்" #: js/dropbox.js:73 js/google.js:72 msgid "Fill out all required fields" -msgstr "" +msgstr "தேவையான எல்லா புலங்களையும் நிரப்புக" #: js/dropbox.js:85 msgid "Please provide a valid Dropbox app key and secret." -msgstr "" +msgstr "தயவுசெய்து ஒரு செல்லுபடியான Dropbox செயலி சாவி மற்றும் இரகசியத்தை வழங்குக. " #: js/google.js:26 js/google.js:73 js/google.js:78 msgid "Error configuring Google Drive storage" +msgstr "Google இயக்க சேமிப்பகத்தை தகமைப்பதில் வழு" + +#: lib/config.php:434 +msgid "" +"Warning: \"smbclient\" is not installed. Mounting of CIFS/SMB shares " +"is not possible. Please ask your system administrator to install it." +msgstr "" + +#: lib/config.php:435 +msgid "" +"Warning: The FTP support in PHP is not enabled or installed. Mounting" +" of FTP shares is not possible. Please ask your system administrator to " +"install it." msgstr "" #: templates/settings.php:3 msgid "External Storage" -msgstr "" +msgstr "வெளி சேமிப்பு" -#: templates/settings.php:7 templates/settings.php:19 +#: templates/settings.php:8 templates/settings.php:22 msgid "Mount point" -msgstr "" +msgstr "ஏற்றப்புள்ளி" -#: templates/settings.php:8 +#: templates/settings.php:9 msgid "Backend" -msgstr "" +msgstr "பின்நிலை" -#: templates/settings.php:9 +#: templates/settings.php:10 msgid "Configuration" -msgstr "" +msgstr "தகவமைப்பு" -#: templates/settings.php:10 +#: templates/settings.php:11 msgid "Options" -msgstr "" +msgstr "தெரிவுகள்" -#: templates/settings.php:11 +#: templates/settings.php:12 msgid "Applicable" -msgstr "" +msgstr "பயன்படத்தக்க" -#: templates/settings.php:23 +#: templates/settings.php:27 msgid "Add mount point" -msgstr "" +msgstr "ஏற்றப்புள்ளியை சேர்க்க" -#: templates/settings.php:54 templates/settings.php:62 +#: templates/settings.php:85 msgid "None set" -msgstr "" +msgstr "தொகுப்பில்லா" -#: templates/settings.php:63 +#: templates/settings.php:86 msgid "All Users" -msgstr "" +msgstr "பயனாளர்கள் எல்லாம்" -#: templates/settings.php:64 +#: templates/settings.php:87 msgid "Groups" -msgstr "" +msgstr "குழுக்கள்" -#: templates/settings.php:69 +#: templates/settings.php:95 msgid "Users" -msgstr "" +msgstr "பயனாளர்" -#: templates/settings.php:77 templates/settings.php:107 +#: templates/settings.php:108 templates/settings.php:109 +#: templates/settings.php:149 templates/settings.php:150 msgid "Delete" -msgstr "" +msgstr "நீக்குக" -#: templates/settings.php:87 +#: templates/settings.php:124 msgid "Enable User External Storage" -msgstr "" +msgstr "பயனாளர் வெளி சேமிப்பை இயலுமைப்படுத்துக" -#: templates/settings.php:88 +#: templates/settings.php:125 msgid "Allow users to mount their own external storage" -msgstr "" +msgstr "பயனாளர் அவர்களுடைய சொந்த வெளியக சேமிப்பை ஏற்ற அனுமதிக்க" -#: templates/settings.php:99 +#: templates/settings.php:139 msgid "SSL root certificates" -msgstr "" +msgstr "SSL வேர் சான்றிதழ்கள்" -#: templates/settings.php:113 +#: templates/settings.php:158 msgid "Import Root Certificate" -msgstr "" +msgstr "வேர் சான்றிதழை இறக்குமதி செய்க" diff --git a/l10n/ta_LK/files_sharing.po b/l10n/ta_LK/files_sharing.po index b2ec47ff8679ed7aec5f1c0dbf081ab4a0778e56..cdb761631d352eedcdc7a1fbde831a995e69693e 100644 --- a/l10n/ta_LK/files_sharing.po +++ b/l10n/ta_LK/files_sharing.po @@ -3,13 +3,14 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-16 02:03+0200\n" -"PO-Revision-Date: 2012-08-12 22:35+0000\n" -"Last-Translator: FULL NAME \n" +"POT-Creation-Date: 2012-11-20 00:01+0100\n" +"PO-Revision-Date: 2012-11-19 09:00+0000\n" +"Last-Translator: suganthi \n" "Language-Team: Tamil (Sri-Lanka) (http://www.transifex.com/projects/p/owncloud/language/ta_LK/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -19,30 +20,30 @@ msgstr "" #: templates/authenticate.php:4 msgid "Password" -msgstr "" +msgstr "கடவுச்சொல்" #: templates/authenticate.php:6 msgid "Submit" -msgstr "" +msgstr "சமர்ப்பிக்குக" #: templates/public.php:9 #, php-format msgid "%s shared the folder %s with you" -msgstr "" +msgstr "%s கோப்புறையானது %s உடன் பகிரப்பட்டது" #: templates/public.php:11 #, php-format msgid "%s shared the file %s with you" -msgstr "" +msgstr "%s கோப்பானது %s உடன் பகிரப்பட்டது" #: templates/public.php:14 templates/public.php:30 msgid "Download" -msgstr "" +msgstr "பதிவிறக்குக" #: templates/public.php:29 msgid "No preview available for" -msgstr "" +msgstr "அதற்கு முன்னோக்கு ஒன்றும் இல்லை" #: templates/public.php:35 msgid "web services under your control" -msgstr "" +msgstr "வலைய சேவைகள் உங்களுடைய கட்டுப்பாட்டின் கீழ் உள்ளது" diff --git a/l10n/ta_LK/files_versions.po b/l10n/ta_LK/files_versions.po index 7fc3ff7a54fe7db475551ccc07a6de679038a985..d1c44e0d9d0d72d07005b58f26eb19ded3652368 100644 --- a/l10n/ta_LK/files_versions.po +++ b/l10n/ta_LK/files_versions.po @@ -3,13 +3,14 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-16 02:03+0200\n" -"PO-Revision-Date: 2012-08-12 22:37+0000\n" -"Last-Translator: FULL NAME \n" +"POT-Creation-Date: 2012-11-20 00:01+0100\n" +"PO-Revision-Date: 2012-11-19 08:42+0000\n" +"Last-Translator: suganthi \n" "Language-Team: Tamil (Sri-Lanka) (http://www.transifex.com/projects/p/owncloud/language/ta_LK/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -19,24 +20,24 @@ msgstr "" #: js/settings-personal.js:31 templates/settings-personal.php:10 msgid "Expire all versions" -msgstr "" +msgstr "எல்லா பதிப்புகளும் காலாவதியாகிவிட்டது" #: js/versions.js:16 msgid "History" -msgstr "" +msgstr "வரலாறு" #: templates/settings-personal.php:4 msgid "Versions" -msgstr "" +msgstr "பதிப்புகள்" #: templates/settings-personal.php:7 msgid "This will delete all existing backup versions of your files" -msgstr "" +msgstr "உங்களுடைய கோப்புக்களில் ஏற்கனவே உள்ள ஆதாரநகல்களின் பதிப்புக்களை இவை அழித்துவிடும்" #: templates/settings.php:3 msgid "Files Versioning" -msgstr "" +msgstr "கோப்பு பதிப்புகள்" #: templates/settings.php:4 msgid "Enable" -msgstr "" +msgstr "இயலுமைப்படுத்துக" diff --git a/l10n/ta_LK/lib.po b/l10n/ta_LK/lib.po index f55cc2748728d515735e94a207095d1c4720be7d..804cdf565e5b16138c132e5a5174eab5c84f2f52 100644 --- a/l10n/ta_LK/lib.po +++ b/l10n/ta_LK/lib.po @@ -3,13 +3,14 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-16 02:04+0200\n" -"PO-Revision-Date: 2012-07-27 22:23+0000\n" -"Last-Translator: FULL NAME \n" +"POT-Creation-Date: 2012-11-16 00:02+0100\n" +"PO-Revision-Date: 2012-11-15 14:16+0000\n" +"Last-Translator: suganthi \n" "Language-Team: Tamil (Sri-Lanka) (http://www.transifex.com/projects/p/owncloud/language/ta_LK/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -19,107 +20,134 @@ msgstr "" #: app.php:285 msgid "Help" -msgstr "" +msgstr "உதவி" #: app.php:292 msgid "Personal" -msgstr "" +msgstr "தனிப்பட்ட" #: app.php:297 msgid "Settings" -msgstr "" +msgstr "அமைப்புகள்" #: app.php:302 msgid "Users" -msgstr "" +msgstr "பயனாளர்கள்" #: app.php:309 msgid "Apps" -msgstr "" +msgstr "செயலிகள்" #: app.php:311 msgid "Admin" -msgstr "" +msgstr "நிர்வாகம்" -#: files.php:328 +#: files.php:332 msgid "ZIP download is turned off." -msgstr "" +msgstr "வீசொலிப் பூட்டு பதிவிறக்கம் நிறுத்தப்பட்டுள்ளது." -#: files.php:329 +#: files.php:333 msgid "Files need to be downloaded one by one." -msgstr "" +msgstr "கோப்புகள்ஒன்றன் பின் ஒன்றாக பதிவிறக்கப்படவேண்டும்." -#: files.php:329 files.php:354 +#: files.php:333 files.php:358 msgid "Back to Files" -msgstr "" +msgstr "கோப்புகளுக்கு செல்க" -#: files.php:353 +#: files.php:357 msgid "Selected files too large to generate zip file." -msgstr "" +msgstr "வீ சொலிக் கோப்புகளை உருவாக்குவதற்கு தெரிவுசெய்யப்பட்ட கோப்புகள் மிகப்பெரியவை" #: json.php:28 msgid "Application is not enabled" -msgstr "" +msgstr "செயலி இயலுமைப்படுத்தப்படவில்லை" #: json.php:39 json.php:64 json.php:77 json.php:89 msgid "Authentication error" -msgstr "" +msgstr "அத்தாட்சிப்படுத்தலில் வழு" #: json.php:51 msgid "Token expired. Please reload page." -msgstr "" +msgstr "அடையாளவில்லை காலாவதியாகிவிட்டது. தயவுசெய்து பக்கத்தை மீள் ஏற்றுக." + +#: search/provider/file.php:17 search/provider/file.php:35 +msgid "Files" +msgstr "கோப்புகள்" -#: template.php:87 +#: search/provider/file.php:26 search/provider/file.php:33 +msgid "Text" +msgstr "உரை" + +#: search/provider/file.php:29 +msgid "Images" +msgstr "படங்கள்" + +#: template.php:103 msgid "seconds ago" -msgstr "" +msgstr "செக்கன்களுக்கு முன்" -#: template.php:88 +#: template.php:104 msgid "1 minute ago" -msgstr "" +msgstr "1 நிமிடத்திற்கு முன் " -#: template.php:89 +#: template.php:105 #, php-format msgid "%d minutes ago" -msgstr "" +msgstr "%d நிமிடங்களுக்கு முன்" + +#: template.php:106 +msgid "1 hour ago" +msgstr "1 மணித்தியாலத்திற்கு முன்" -#: template.php:92 +#: template.php:107 +#, php-format +msgid "%d hours ago" +msgstr "%d மணித்தியாலத்திற்கு முன்" + +#: template.php:108 msgid "today" -msgstr "" +msgstr "இன்று" -#: template.php:93 +#: template.php:109 msgid "yesterday" -msgstr "" +msgstr "நேற்று" -#: template.php:94 +#: template.php:110 #, php-format msgid "%d days ago" -msgstr "" +msgstr "%d நாட்களுக்கு முன்" -#: template.php:95 +#: template.php:111 msgid "last month" -msgstr "" +msgstr "கடந்த மாதம்" -#: template.php:96 -msgid "months ago" -msgstr "" +#: template.php:112 +#, php-format +msgid "%d months ago" +msgstr "%d மாதத்திற்கு முன்" -#: template.php:97 +#: template.php:113 msgid "last year" -msgstr "" +msgstr "கடந்த வருடம்" -#: template.php:98 +#: template.php:114 msgid "years ago" -msgstr "" +msgstr "வருடங்களுக்கு முன்" #: updater.php:75 #, php-format msgid "%s is available. Get more information" -msgstr "" +msgstr "%s இன்னும் இருக்கின்றன. மேலதிக தகவல்களுக்கு எடுக்க" #: updater.php:77 msgid "up to date" -msgstr "" +msgstr "நவீன" #: updater.php:80 msgid "updates check is disabled" -msgstr "" +msgstr "இற்றைப்படுத்தலை சரிபார்ப்பதை செயலற்றதாக்குக" + +#: vcategories.php:188 vcategories.php:249 +#, php-format +msgid "Could not find category \"%s\"" +msgstr "பிரிவு \"%s\" ஐ கண்டுப்பிடிக்க முடியவில்லை" diff --git a/l10n/ta_LK/settings.po b/l10n/ta_LK/settings.po index 934df12e9d23e1b5acaa48f23ce8e3b31a9ecb17..4732ffd51c05dab1369c21154f69bbc9e4e586e4 100644 --- a/l10n/ta_LK/settings.po +++ b/l10n/ta_LK/settings.po @@ -3,13 +3,14 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-16 02:04+0200\n" -"PO-Revision-Date: 2011-07-25 16:05+0000\n" -"Last-Translator: FULL NAME \n" +"POT-Creation-Date: 2012-12-03 00:04+0100\n" +"PO-Revision-Date: 2012-12-02 03:18+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Tamil (Sri-Lanka) (http://www.transifex.com/projects/p/owncloud/language/ta_LK/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -17,304 +18,231 @@ msgstr "" "Language: ta_LK\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: ajax/apps/ocs.php:23 +#: ajax/apps/ocs.php:20 msgid "Unable to load list from App Store" -msgstr "" +msgstr "செயலி சேமிப்பிலிருந்து பட்டியலை ஏற்றமுடியாதுள்ளது" -#: ajax/creategroup.php:12 +#: ajax/creategroup.php:10 msgid "Group already exists" -msgstr "" +msgstr "குழு ஏற்கனவே உள்ளது" -#: ajax/creategroup.php:21 +#: ajax/creategroup.php:19 msgid "Unable to add group" -msgstr "" +msgstr "குழுவை சேர்க்க முடியாது" -#: ajax/enableapp.php:14 +#: ajax/enableapp.php:12 msgid "Could not enable app. " -msgstr "" +msgstr "செயலியை இயலுமைப்படுத்த முடியாது" -#: ajax/lostpassword.php:14 +#: ajax/lostpassword.php:12 msgid "Email saved" -msgstr "" +msgstr "மின்னஞ்சல் சேமிக்கப்பட்டது" -#: ajax/lostpassword.php:16 +#: ajax/lostpassword.php:14 msgid "Invalid email" -msgstr "" +msgstr "செல்லுபடியற்ற மின்னஞ்சல்" -#: ajax/openid.php:16 +#: ajax/openid.php:13 msgid "OpenID Changed" -msgstr "" +msgstr "OpenID மாற்றப்பட்டது" -#: ajax/openid.php:18 ajax/setlanguage.php:20 ajax/setlanguage.php:23 +#: ajax/openid.php:15 ajax/setlanguage.php:17 ajax/setlanguage.php:20 msgid "Invalid request" -msgstr "" +msgstr "செல்லுபடியற்ற வேண்டுகோள்" -#: ajax/removegroup.php:16 +#: ajax/removegroup.php:13 msgid "Unable to delete group" -msgstr "" +msgstr "குழுவை நீக்க முடியாது" -#: ajax/removeuser.php:18 ajax/setquota.php:18 ajax/togglegroups.php:15 +#: ajax/removeuser.php:15 ajax/setquota.php:15 ajax/togglegroups.php:18 msgid "Authentication error" -msgstr "" +msgstr "அத்தாட்சிப்படுத்தலில் வழு" -#: ajax/removeuser.php:27 +#: ajax/removeuser.php:24 msgid "Unable to delete user" -msgstr "" +msgstr "பயனாளரை நீக்க முடியாது" -#: ajax/setlanguage.php:18 +#: ajax/setlanguage.php:15 msgid "Language changed" +msgstr "மொழி மாற்றப்பட்டது" + +#: ajax/togglegroups.php:12 +msgid "Admins can't remove themself from the admin group" msgstr "" -#: ajax/togglegroups.php:25 +#: ajax/togglegroups.php:28 #, php-format msgid "Unable to add user to group %s" -msgstr "" +msgstr "குழு %s இல் பயனாளரை சேர்க்க முடியாது" -#: ajax/togglegroups.php:31 +#: ajax/togglegroups.php:34 #, php-format msgid "Unable to remove user from group %s" -msgstr "" +msgstr "குழு %s இலிருந்து பயனாளரை நீக்கமுடியாது" -#: js/apps.js:28 js/apps.js:65 +#: js/apps.js:28 js/apps.js:67 msgid "Disable" -msgstr "" +msgstr "இயலுமைப்ப" -#: js/apps.js:28 js/apps.js:54 +#: js/apps.js:28 js/apps.js:55 msgid "Enable" -msgstr "" +msgstr "செயலற்றதாக்குக" #: js/personal.js:69 msgid "Saving..." -msgstr "" +msgstr "இயலுமைப்படுத்துக" #: personal.php:42 personal.php:43 msgid "__language_name__" -msgstr "" - -#: templates/admin.php:14 -msgid "Security Warning" -msgstr "" - -#: templates/admin.php:17 -msgid "" -"Your data directory and your files are probably accessible from the " -"internet. The .htaccess file that ownCloud provides is not working. We " -"strongly suggest that you configure your webserver in a way that the data " -"directory is no longer accessible or you move the data directory outside the" -" webserver document root." -msgstr "" - -#: templates/admin.php:31 -msgid "Cron" -msgstr "" - -#: templates/admin.php:37 -msgid "Execute one task with each page loaded" -msgstr "" - -#: templates/admin.php:43 -msgid "" -"cron.php is registered at a webcron service. Call the cron.php page in the " -"owncloud root once a minute over http." -msgstr "" - -#: templates/admin.php:49 -msgid "" -"Use systems cron service. Call the cron.php file in the owncloud folder via " -"a system cronjob once a minute." -msgstr "" - -#: templates/admin.php:56 -msgid "Sharing" -msgstr "" - -#: templates/admin.php:61 -msgid "Enable Share API" -msgstr "" - -#: templates/admin.php:62 -msgid "Allow apps to use the Share API" -msgstr "" - -#: templates/admin.php:67 -msgid "Allow links" -msgstr "" - -#: templates/admin.php:68 -msgid "Allow users to share items to the public with links" -msgstr "" - -#: templates/admin.php:73 -msgid "Allow resharing" -msgstr "" - -#: templates/admin.php:74 -msgid "Allow users to share items shared with them again" -msgstr "" - -#: templates/admin.php:79 -msgid "Allow users to share with anyone" -msgstr "" - -#: templates/admin.php:81 -msgid "Allow users to only share with users in their groups" -msgstr "" - -#: templates/admin.php:88 -msgid "Log" -msgstr "" - -#: templates/admin.php:116 -msgid "More" -msgstr "" - -#: templates/admin.php:124 -msgid "" -"Developed by the ownCloud community, the source code is " -"licensed under the AGPL." -msgstr "" +msgstr "_மொழி_பெயர்_" #: templates/apps.php:10 msgid "Add your App" -msgstr "" +msgstr "உங்களுடைய செயலியை சேர்க்க" #: templates/apps.php:11 msgid "More Apps" -msgstr "" +msgstr "மேலதிக செயலிகள்" #: templates/apps.php:27 msgid "Select an App" -msgstr "" +msgstr "செயலி ஒன்றை தெரிவுசெய்க" #: templates/apps.php:31 msgid "See application page at apps.owncloud.com" -msgstr "" +msgstr "apps.owncloud.com இல் செயலி பக்கத்தை பார்க்க" #: templates/apps.php:32 msgid "-licensed by " -msgstr "" +msgstr "-அனுமதி பெற்ற " #: templates/help.php:9 msgid "Documentation" -msgstr "" +msgstr "ஆவணமாக்கல்" #: templates/help.php:10 msgid "Managing Big Files" -msgstr "" +msgstr "பெரிய கோப்புகளை முகாமைப்படுத்தல்" #: templates/help.php:11 msgid "Ask a question" -msgstr "" +msgstr "வினா ஒன்றை கேட்க" -#: templates/help.php:23 +#: templates/help.php:22 msgid "Problems connecting to help database." -msgstr "" +msgstr "தரவுதளத்தை இணைக்கும் உதவியில் பிரச்சினைகள்" -#: templates/help.php:24 +#: templates/help.php:23 msgid "Go there manually." -msgstr "" +msgstr "கைமுறையாக அங்கு செல்க" -#: templates/help.php:32 +#: templates/help.php:31 msgid "Answer" -msgstr "" +msgstr "விடை" #: templates/personal.php:8 #, php-format -msgid "You have used %s of the available %s" -msgstr "" +msgid "You have used %s of the available %s" +msgstr "நீங்கள் %s இலுள்ள %sபயன்படுத்தியுள்ளீர்கள்" #: templates/personal.php:12 msgid "Desktop and Mobile Syncing Clients" -msgstr "" +msgstr "desktop மற்றும் Mobile ஒத்திசைவு சேவைப் பயனாளர்" #: templates/personal.php:13 msgid "Download" -msgstr "" +msgstr "பதிவிறக்குக" #: templates/personal.php:19 msgid "Your password was changed" -msgstr "" +msgstr "உங்களுடைய கடவுச்சொல் மாற்றப்பட்டுள்ளது" #: templates/personal.php:20 msgid "Unable to change your password" -msgstr "" +msgstr "உங்களுடைய கடவுச்சொல்லை மாற்றமுடியாது" #: templates/personal.php:21 msgid "Current password" -msgstr "" +msgstr "தற்போதைய கடவுச்சொல்" #: templates/personal.php:22 msgid "New password" -msgstr "" +msgstr "புதிய கடவுச்சொல்" #: templates/personal.php:23 msgid "show" -msgstr "" +msgstr "காட்டு" #: templates/personal.php:24 msgid "Change password" -msgstr "" +msgstr "கடவுச்சொல்லை மாற்றுக" #: templates/personal.php:30 msgid "Email" -msgstr "" +msgstr "மின்னஞ்சல்" #: templates/personal.php:31 msgid "Your email address" -msgstr "" +msgstr "உங்களுடைய மின்னஞ்சல் முகவரி" #: templates/personal.php:32 msgid "Fill in an email address to enable password recovery" -msgstr "" +msgstr "கடவுச்சொல் மீள் பெறுவதை இயலுமைப்படுத்துவதற்கு மின்னஞ்சல் முகவரியை இயலுமைப்படுத்துக" #: templates/personal.php:38 templates/personal.php:39 msgid "Language" -msgstr "" +msgstr "மொழி" #: templates/personal.php:44 msgid "Help translate" -msgstr "" +msgstr "மொழிபெயர்க்க உதவி" #: templates/personal.php:51 msgid "use this address to connect to your ownCloud in your file manager" -msgstr "" +msgstr "உங்களுடைய கோப்பு முகாமையில் உள்ள உங்களுடைய ownCloud உடன் இணைக்க இந்த முகவரியை பயன்படுத்தவும்" + +#: templates/personal.php:61 +msgid "" +"Developed by the ownCloud community, the source code is " +"licensed under the AGPL." +msgstr "Developed by the ownCloud community, the source code is licensed under the AGPL." #: templates/users.php:21 templates/users.php:76 msgid "Name" -msgstr "" +msgstr "பெயர்" #: templates/users.php:23 templates/users.php:77 msgid "Password" -msgstr "" +msgstr "கடவுச்சொல்" #: templates/users.php:26 templates/users.php:78 templates/users.php:98 msgid "Groups" -msgstr "" +msgstr "குழுக்கள்" #: templates/users.php:32 msgid "Create" -msgstr "" +msgstr "உருவாக்குக" #: templates/users.php:35 msgid "Default Quota" -msgstr "" +msgstr "பொது இருப்பு பங்கு" #: templates/users.php:55 templates/users.php:138 msgid "Other" -msgstr "" +msgstr "மற்றவை" #: templates/users.php:80 templates/users.php:112 msgid "Group Admin" -msgstr "" +msgstr "குழு நிர்வாகி" #: templates/users.php:82 msgid "Quota" -msgstr "" +msgstr "பங்கு" #: templates/users.php:146 msgid "Delete" -msgstr "" +msgstr "அழிக்க" diff --git a/l10n/ta_LK/user_ldap.po b/l10n/ta_LK/user_ldap.po index 878df1455d044e783e0335131a3ed574afb8a6ff..2cd27957467cb9c0ab7ea3976d9c661ab12a3ce9 100644 --- a/l10n/ta_LK/user_ldap.po +++ b/l10n/ta_LK/user_ldap.po @@ -3,13 +3,14 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-16 02:03+0200\n" -"PO-Revision-Date: 2012-08-12 22:45+0000\n" -"Last-Translator: FULL NAME \n" +"POT-Creation-Date: 2012-11-21 00:01+0100\n" +"PO-Revision-Date: 2012-11-20 09:09+0000\n" +"Last-Translator: suganthi \n" "Language-Team: Tamil (Sri-Lanka) (http://www.transifex.com/projects/p/owncloud/language/ta_LK/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -19,24 +20,24 @@ msgstr "" #: templates/settings.php:8 msgid "Host" -msgstr "" +msgstr "ஓம்புனர்" #: templates/settings.php:8 msgid "" "You can omit the protocol, except you require SSL. Then start with ldaps://" -msgstr "" +msgstr "நீங்கள் SSL சேவையை தவிர உடன்படு வரைமுறையை தவிர்க்க முடியும். பிறகு ldaps:.// உடன் ஆரம்பிக்கவும்" #: templates/settings.php:9 msgid "Base DN" -msgstr "" +msgstr "தள DN" #: templates/settings.php:9 msgid "You can specify Base DN for users and groups in the Advanced tab" -msgstr "" +msgstr "நீங்கள் பயனாளர்களுக்கும் மேன்மை தத்தலில் உள்ள குழுவிற்கும் தள DN ஐ குறிப்பிடலாம் " #: templates/settings.php:10 msgid "User DN" -msgstr "" +msgstr "பயனாளர் DN" #: templates/settings.php:10 msgid "" @@ -47,7 +48,7 @@ msgstr "" #: templates/settings.php:11 msgid "Password" -msgstr "" +msgstr "கடவுச்சொல்" #: templates/settings.php:11 msgid "For anonymous access, leave DN and Password empty." @@ -91,80 +92,80 @@ msgstr "" #: templates/settings.php:14 msgid "without any placeholder, e.g. \"objectClass=posixGroup\"." -msgstr "" +msgstr "எந்த ஒதுக்கீடும் இல்லாமல், உதாரணம். \"objectClass=posixGroup\"." #: templates/settings.php:17 msgid "Port" -msgstr "" +msgstr "துறை " #: templates/settings.php:18 msgid "Base User Tree" -msgstr "" +msgstr "தள பயனாளர் மரம்" #: templates/settings.php:19 msgid "Base Group Tree" -msgstr "" +msgstr "தள குழு மரம்" #: templates/settings.php:20 msgid "Group-Member association" -msgstr "" +msgstr "குழு உறுப்பினர் சங்கம்" #: templates/settings.php:21 msgid "Use TLS" -msgstr "" +msgstr "TLS ஐ பயன்படுத்தவும்" #: templates/settings.php:21 msgid "Do not use it for SSL connections, it will fail." -msgstr "" +msgstr "SSL இணைப்பிற்கு பயன்படுத்தவேண்டாம், அது தோல்வியடையும்." #: templates/settings.php:22 msgid "Case insensitve LDAP server (Windows)" -msgstr "" +msgstr "உணர்ச்சியான LDAP சேவையகம் (சாளரங்கள்)" #: templates/settings.php:23 msgid "Turn off SSL certificate validation." -msgstr "" +msgstr "SSL சான்றிதழின் செல்லுபடியை நிறுத்திவிடவும்" #: templates/settings.php:23 msgid "" "If connection only works with this option, import the LDAP server's SSL " "certificate in your ownCloud server." -msgstr "" +msgstr "இந்த தெரிவுகளில் மட்டும் இணைப்பு வேலைசெய்தால், உங்களுடைய owncloud சேவையகத்திலிருந்து LDAP சேவையகத்தின் SSL சான்றிதழை இறக்குமதி செய்யவும்" #: templates/settings.php:23 msgid "Not recommended, use for testing only." -msgstr "" +msgstr "பரிந்துரைக்கப்படவில்லை, சோதனைக்காக மட்டும் பயன்படுத்தவும்." #: templates/settings.php:24 msgid "User Display Name Field" -msgstr "" +msgstr "பயனாளர் காட்சிப்பெயர் புலம்" #: templates/settings.php:24 msgid "The LDAP attribute to use to generate the user`s ownCloud name." -msgstr "" +msgstr "பயனாளரின் ownCloud பெயரை உருவாக்க LDAP பண்புக்கூறை பயன்படுத்தவும்." #: templates/settings.php:25 msgid "Group Display Name Field" -msgstr "" +msgstr "குழுவின் காட்சி பெயர் புலம் " #: templates/settings.php:25 msgid "The LDAP attribute to use to generate the groups`s ownCloud name." -msgstr "" +msgstr "ownCloud குழுக்களின் பெயர்களை உருவாக்க LDAP பண்புக்கூறை பயன்படுத்தவும்." #: templates/settings.php:27 msgid "in bytes" -msgstr "" +msgstr "bytes களில் " #: templates/settings.php:29 msgid "in seconds. A change empties the cache." -msgstr "" +msgstr "செக்கன்களில். ஒரு மாற்றம் இடைமாற்றுநினைவகத்தை வெற்றிடமாக்கும்." #: templates/settings.php:30 msgid "" "Leave empty for user name (default). Otherwise, specify an LDAP/AD " "attribute." -msgstr "" +msgstr "பயனாளர் பெயரிற்கு வெற்றிடமாக விடவும் (பொது இருப்பு). இல்லாவிடின் LDAP/AD பண்புக்கூறை குறிப்பிடவும்." #: templates/settings.php:32 msgid "Help" -msgstr "" +msgstr "உதவி" diff --git a/l10n/ta_LK/user_webdavauth.po b/l10n/ta_LK/user_webdavauth.po new file mode 100644 index 0000000000000000000000000000000000000000..17c43a7f96354b8650a3cbf318c364abcc7ae2bd --- /dev/null +++ b/l10n/ta_LK/user_webdavauth.po @@ -0,0 +1,23 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# , 2012. +msgid "" +msgstr "" +"Project-Id-Version: ownCloud\n" +"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" +"POT-Creation-Date: 2012-11-18 00:01+0100\n" +"PO-Revision-Date: 2012-11-17 05:29+0000\n" +"Last-Translator: suganthi \n" +"Language-Team: Tamil (Sri-Lanka) (http://www.transifex.com/projects/p/owncloud/language/ta_LK/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ta_LK\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: templates/settings.php:4 +msgid "WebDAV URL: http://" +msgstr "WebDAV URL: http://" diff --git a/l10n/templates/core.pot b/l10n/templates/core.pot index 691c7cc63c5e3904cac72ca16f22f21b2ea4cad1..4a57f87cd1368d5e6239957e28489e9fb491545e 100644 --- a/l10n/templates/core.pot +++ b/l10n/templates/core.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-10-16 02:04+0200\n" +"POT-Creation-Date: 2012-12-12 00:13+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,209 +17,241 @@ msgstr "" "Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: 8bit\n" -#: ajax/vcategories/add.php:23 ajax/vcategories/delete.php:23 -msgid "Application name not provided." +#: ajax/vcategories/add.php:26 ajax/vcategories/edit.php:25 +msgid "Category type not provided." msgstr "" -#: ajax/vcategories/add.php:29 +#: ajax/vcategories/add.php:30 msgid "No category to add?" msgstr "" -#: ajax/vcategories/add.php:36 +#: ajax/vcategories/add.php:37 msgid "This category already exists: " msgstr "" -#: js/js.js:238 templates/layout.user.php:49 templates/layout.user.php:50 +#: ajax/vcategories/addToFavorites.php:26 ajax/vcategories/delete.php:27 +#: ajax/vcategories/favorites.php:24 +#: ajax/vcategories/removeFromFavorites.php:26 +msgid "Object type not provided." +msgstr "" + +#: ajax/vcategories/addToFavorites.php:30 +#: ajax/vcategories/removeFromFavorites.php:30 +#, php-format +msgid "%s ID not provided." +msgstr "" + +#: ajax/vcategories/addToFavorites.php:35 +#, php-format +msgid "Error adding %s to favorites." +msgstr "" + +#: ajax/vcategories/delete.php:35 js/oc-vcategories.js:136 +msgid "No categories selected for deletion." +msgstr "" + +#: ajax/vcategories/removeFromFavorites.php:35 +#, php-format +msgid "Error removing %s from favorites." +msgstr "" + +#: js/js.js:259 templates/layout.user.php:60 templates/layout.user.php:61 msgid "Settings" msgstr "" -#: js/js.js:670 -msgid "January" +#: js/js.js:704 +msgid "seconds ago" msgstr "" -#: js/js.js:670 -msgid "February" +#: js/js.js:705 +msgid "1 minute ago" msgstr "" -#: js/js.js:670 -msgid "March" +#: js/js.js:706 +msgid "{minutes} minutes ago" msgstr "" -#: js/js.js:670 -msgid "April" +#: js/js.js:707 +msgid "1 hour ago" msgstr "" -#: js/js.js:670 -msgid "May" +#: js/js.js:708 +msgid "{hours} hours ago" msgstr "" -#: js/js.js:670 -msgid "June" +#: js/js.js:709 +msgid "today" msgstr "" -#: js/js.js:671 -msgid "July" +#: js/js.js:710 +msgid "yesterday" msgstr "" -#: js/js.js:671 -msgid "August" +#: js/js.js:711 +msgid "{days} days ago" msgstr "" -#: js/js.js:671 -msgid "September" +#: js/js.js:712 +msgid "last month" msgstr "" -#: js/js.js:671 -msgid "October" +#: js/js.js:713 +msgid "{months} months ago" msgstr "" -#: js/js.js:671 -msgid "November" +#: js/js.js:714 +msgid "months ago" msgstr "" -#: js/js.js:671 -msgid "December" +#: js/js.js:715 +msgid "last year" msgstr "" -#: js/oc-dialogs.js:123 +#: js/js.js:716 +msgid "years ago" +msgstr "" + +#: js/oc-dialogs.js:126 msgid "Choose" msgstr "" -#: js/oc-dialogs.js:143 js/oc-dialogs.js:163 +#: js/oc-dialogs.js:146 js/oc-dialogs.js:166 msgid "Cancel" msgstr "" -#: js/oc-dialogs.js:159 +#: js/oc-dialogs.js:162 msgid "No" msgstr "" -#: js/oc-dialogs.js:160 +#: js/oc-dialogs.js:163 msgid "Yes" msgstr "" -#: js/oc-dialogs.js:177 +#: js/oc-dialogs.js:180 msgid "Ok" msgstr "" -#: js/oc-vcategories.js:68 -msgid "No categories selected for deletion." +#: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102 +#: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162 +msgid "The object type is not specified." msgstr "" -#: js/oc-vcategories.js:68 js/share.js:114 js/share.js:121 js/share.js:497 -#: js/share.js:509 +#: js/oc-vcategories.js:95 js/oc-vcategories.js:125 js/oc-vcategories.js:136 +#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:533 +#: js/share.js:545 msgid "Error" msgstr "" -#: js/share.js:103 +#: js/oc-vcategories.js:179 +msgid "The app name is not specified." +msgstr "" + +#: js/oc-vcategories.js:194 +msgid "The required file {file} is not installed!" +msgstr "" + +#: js/share.js:124 msgid "Error while sharing" msgstr "" -#: js/share.js:114 +#: js/share.js:135 msgid "Error while unsharing" msgstr "" -#: js/share.js:121 +#: js/share.js:142 msgid "Error while changing permissions" msgstr "" -#: js/share.js:130 -msgid "Shared with you and the group" +#: js/share.js:151 +msgid "Shared with you and the group {group} by {owner}" msgstr "" -#: js/share.js:130 -msgid "by" -msgstr "" - -#: js/share.js:132 -msgid "Shared with you by" +#: js/share.js:153 +msgid "Shared with you by {owner}" msgstr "" -#: js/share.js:137 +#: js/share.js:158 msgid "Share with" msgstr "" -#: js/share.js:142 +#: js/share.js:163 msgid "Share with link" msgstr "" -#: js/share.js:143 +#: js/share.js:164 msgid "Password protect" msgstr "" -#: js/share.js:147 templates/installation.php:42 templates/login.php:24 +#: js/share.js:168 templates/installation.php:42 templates/login.php:24 #: templates/verify.php:13 msgid "Password" msgstr "" -#: js/share.js:152 +#: js/share.js:173 msgid "Set expiration date" msgstr "" -#: js/share.js:153 +#: js/share.js:174 msgid "Expiration date" msgstr "" -#: js/share.js:185 +#: js/share.js:206 msgid "Share via email:" msgstr "" -#: js/share.js:187 +#: js/share.js:208 msgid "No people found" msgstr "" -#: js/share.js:214 +#: js/share.js:235 msgid "Resharing is not allowed" msgstr "" -#: js/share.js:250 -msgid "Shared in" -msgstr "" - -#: js/share.js:250 -msgid "with" +#: js/share.js:271 +msgid "Shared in {item} with {user}" msgstr "" -#: js/share.js:271 +#: js/share.js:292 msgid "Unshare" msgstr "" -#: js/share.js:283 +#: js/share.js:304 msgid "can edit" msgstr "" -#: js/share.js:285 +#: js/share.js:306 msgid "access control" msgstr "" -#: js/share.js:288 +#: js/share.js:309 msgid "create" msgstr "" -#: js/share.js:291 +#: js/share.js:312 msgid "update" msgstr "" -#: js/share.js:294 +#: js/share.js:315 msgid "delete" msgstr "" -#: js/share.js:297 +#: js/share.js:318 msgid "share" msgstr "" -#: js/share.js:322 js/share.js:484 +#: js/share.js:349 js/share.js:520 js/share.js:522 msgid "Password protected" msgstr "" -#: js/share.js:497 +#: js/share.js:533 msgid "Error unsetting expiration date" msgstr "" -#: js/share.js:509 +#: js/share.js:545 msgid "Error setting expiration date" msgstr "" -#: lostpassword/index.php:26 +#: lostpassword/controller.php:47 msgid "ownCloud password reset" msgstr "" @@ -232,11 +264,11 @@ msgid "You will receive a link to reset your password via Email." msgstr "" #: lostpassword/templates/lostpassword.php:5 -msgid "Requested" +msgid "Reset email send." msgstr "" #: lostpassword/templates/lostpassword.php:8 -msgid "Login failed!" +msgid "Request failed!" msgstr "" #: lostpassword/templates/lostpassword.php:11 templates/installation.php:38 @@ -296,7 +328,7 @@ msgstr "" msgid "Edit categories" msgstr "" -#: templates/edit_categories_dialog.php:14 +#: templates/edit_categories_dialog.php:16 msgid "Add" msgstr "" @@ -370,11 +402,87 @@ msgstr "" msgid "Finish setup" msgstr "" -#: templates/layout.guest.php:38 +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Sunday" +msgstr "" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Monday" +msgstr "" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Tuesday" +msgstr "" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Wednesday" +msgstr "" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Thursday" +msgstr "" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Friday" +msgstr "" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Saturday" +msgstr "" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "January" +msgstr "" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "February" +msgstr "" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "March" +msgstr "" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "April" +msgstr "" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "May" +msgstr "" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "June" +msgstr "" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "July" +msgstr "" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "August" +msgstr "" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "September" +msgstr "" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "October" +msgstr "" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "November" +msgstr "" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "December" +msgstr "" + +#: templates/layout.guest.php:42 msgid "web services under your control" msgstr "" -#: templates/layout.user.php:34 +#: templates/layout.user.php:45 msgid "Log out" msgstr "" diff --git a/l10n/templates/files.pot b/l10n/templates/files.pot index 2be16caf0a243eca6ea590236113677b59996bd4..776c8dc1caa4e7cd2e9d92a9d49d1f017c181651 100644 --- a/l10n/templates/files.pot +++ b/l10n/templates/files.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-10-16 02:03+0200\n" +"POT-Creation-Date: 2012-12-12 00:12+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -22,194 +22,165 @@ msgid "There is no error, the file uploaded with success" msgstr "" #: ajax/upload.php:21 -msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" +msgid "" +"The uploaded file exceeds the upload_max_filesize directive in php.ini: " msgstr "" -#: ajax/upload.php:22 +#: ajax/upload.php:23 msgid "" "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " "the HTML form" msgstr "" -#: ajax/upload.php:23 +#: ajax/upload.php:25 msgid "The uploaded file was only partially uploaded" msgstr "" -#: ajax/upload.php:24 +#: ajax/upload.php:26 msgid "No file was uploaded" msgstr "" -#: ajax/upload.php:25 +#: ajax/upload.php:27 msgid "Missing a temporary folder" msgstr "" -#: ajax/upload.php:26 +#: ajax/upload.php:28 msgid "Failed to write to disk" msgstr "" -#: appinfo/app.php:6 +#: appinfo/app.php:10 msgid "Files" msgstr "" -#: js/fileactions.js:108 templates/index.php:62 +#: js/fileactions.js:117 templates/index.php:84 templates/index.php:85 msgid "Unshare" msgstr "" -#: js/fileactions.js:110 templates/index.php:64 +#: js/fileactions.js:119 templates/index.php:90 templates/index.php:91 msgid "Delete" msgstr "" -#: js/fileactions.js:182 +#: js/fileactions.js:181 msgid "Rename" msgstr "" -#: js/filelist.js:192 js/filelist.js:194 -msgid "already exists" +#: js/filelist.js:199 js/filelist.js:201 +msgid "{new_name} already exists" msgstr "" -#: js/filelist.js:192 js/filelist.js:194 +#: js/filelist.js:199 js/filelist.js:201 msgid "replace" msgstr "" -#: js/filelist.js:192 +#: js/filelist.js:199 msgid "suggest name" msgstr "" -#: js/filelist.js:192 js/filelist.js:194 +#: js/filelist.js:199 js/filelist.js:201 msgid "cancel" msgstr "" -#: js/filelist.js:241 js/filelist.js:243 -msgid "replaced" +#: js/filelist.js:248 +msgid "replaced {new_name}" msgstr "" -#: js/filelist.js:241 js/filelist.js:243 js/filelist.js:275 js/filelist.js:277 +#: js/filelist.js:248 js/filelist.js:250 js/filelist.js:282 js/filelist.js:284 msgid "undo" msgstr "" -#: js/filelist.js:243 -msgid "with" +#: js/filelist.js:250 +msgid "replaced {new_name} with {old_name}" msgstr "" -#: js/filelist.js:275 -msgid "unshared" +#: js/filelist.js:282 +msgid "unshared {files}" msgstr "" -#: js/filelist.js:277 -msgid "deleted" +#: js/filelist.js:284 +msgid "deleted {files}" msgstr "" -#: js/files.js:179 +#: js/files.js:33 +msgid "" +"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not " +"allowed." +msgstr "" + +#: js/files.js:174 msgid "generating ZIP-file, it may take some time." msgstr "" -#: js/files.js:214 +#: js/files.js:209 msgid "Unable to upload your file as it is a directory or has 0 bytes" msgstr "" -#: js/files.js:214 +#: js/files.js:209 msgid "Upload Error" msgstr "" -#: js/files.js:242 js/files.js:347 js/files.js:377 +#: js/files.js:226 +msgid "Close" +msgstr "" + +#: js/files.js:245 js/files.js:359 js/files.js:389 msgid "Pending" msgstr "" -#: js/files.js:262 +#: js/files.js:265 msgid "1 file uploading" msgstr "" -#: js/files.js:265 js/files.js:310 js/files.js:325 -msgid "files uploading" +#: js/files.js:268 js/files.js:322 js/files.js:337 +msgid "{count} files uploading" msgstr "" -#: js/files.js:328 js/files.js:361 +#: js/files.js:340 js/files.js:373 msgid "Upload cancelled." msgstr "" -#: js/files.js:430 +#: js/files.js:442 msgid "" "File upload is in progress. Leaving the page now will cancel the upload." msgstr "" -#: js/files.js:500 -msgid "Invalid name, '/' is not allowed." +#: js/files.js:512 +msgid "Invalid folder name. Usage of \"Shared\" is reserved by Owncloud" msgstr "" -#: js/files.js:681 -msgid "files scanned" +#: js/files.js:693 +msgid "{count} files scanned" msgstr "" -#: js/files.js:689 +#: js/files.js:701 msgid "error while scanning" msgstr "" -#: js/files.js:762 templates/index.php:48 +#: js/files.js:774 templates/index.php:66 msgid "Name" msgstr "" -#: js/files.js:763 templates/index.php:56 +#: js/files.js:775 templates/index.php:77 msgid "Size" msgstr "" -#: js/files.js:764 templates/index.php:58 +#: js/files.js:776 templates/index.php:79 msgid "Modified" msgstr "" -#: js/files.js:791 -msgid "folder" -msgstr "" - -#: js/files.js:793 -msgid "folders" -msgstr "" - -#: js/files.js:801 -msgid "file" -msgstr "" - #: js/files.js:803 -msgid "files" -msgstr "" - -#: js/files.js:847 -msgid "seconds ago" -msgstr "" - -#: js/files.js:848 -msgid "minute ago" +msgid "1 folder" msgstr "" -#: js/files.js:849 -msgid "minutes ago" +#: js/files.js:805 +msgid "{count} folders" msgstr "" -#: js/files.js:852 -msgid "today" +#: js/files.js:813 +msgid "1 file" msgstr "" -#: js/files.js:853 -msgid "yesterday" -msgstr "" - -#: js/files.js:854 -msgid "days ago" -msgstr "" - -#: js/files.js:855 -msgid "last month" -msgstr "" - -#: js/files.js:857 -msgid "months ago" -msgstr "" - -#: js/files.js:858 -msgid "last year" -msgstr "" - -#: js/files.js:859 -msgid "years ago" +#: js/files.js:815 +msgid "{count} files" msgstr "" #: templates/admin.php:5 @@ -220,27 +191,27 @@ msgstr "" msgid "Maximum upload size" msgstr "" -#: templates/admin.php:7 +#: templates/admin.php:9 msgid "max. possible: " msgstr "" -#: templates/admin.php:9 +#: templates/admin.php:12 msgid "Needed for multi-file and folder downloads." msgstr "" -#: templates/admin.php:9 +#: templates/admin.php:14 msgid "Enable ZIP-download" msgstr "" -#: templates/admin.php:11 +#: templates/admin.php:17 msgid "0 is unlimited" msgstr "" -#: templates/admin.php:12 +#: templates/admin.php:19 msgid "Maximum input size for ZIP files" msgstr "" -#: templates/admin.php:14 +#: templates/admin.php:23 msgid "Save" msgstr "" @@ -248,52 +219,48 @@ msgstr "" msgid "New" msgstr "" -#: templates/index.php:9 +#: templates/index.php:10 msgid "Text file" msgstr "" -#: templates/index.php:10 +#: templates/index.php:12 msgid "Folder" msgstr "" -#: templates/index.php:11 -msgid "From url" +#: templates/index.php:14 +msgid "From link" msgstr "" -#: templates/index.php:20 +#: templates/index.php:35 msgid "Upload" msgstr "" -#: templates/index.php:27 +#: templates/index.php:43 msgid "Cancel upload" msgstr "" -#: templates/index.php:40 +#: templates/index.php:58 msgid "Nothing in here. Upload something!" msgstr "" -#: templates/index.php:50 -msgid "Share" -msgstr "" - -#: templates/index.php:52 +#: templates/index.php:72 msgid "Download" msgstr "" -#: templates/index.php:75 +#: templates/index.php:104 msgid "Upload too large" msgstr "" -#: templates/index.php:77 +#: templates/index.php:106 msgid "" "The files you are trying to upload exceed the maximum size for file uploads " "on this server." msgstr "" -#: templates/index.php:82 +#: templates/index.php:111 msgid "Files are being scanned, please wait." msgstr "" -#: templates/index.php:85 +#: templates/index.php:114 msgid "Current scanning" msgstr "" diff --git a/l10n/templates/files_encryption.pot b/l10n/templates/files_encryption.pot index ef857a831d182e040d1a6e40667f5445c00c4a97..a7bf1b34f830380c0e64141c8d4a615ffe1eb8ce 100644 --- a/l10n/templates/files_encryption.pot +++ b/l10n/templates/files_encryption.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-10-16 02:03+0200\n" +"POT-Creation-Date: 2012-12-12 00:12+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -29,6 +29,6 @@ msgstr "" msgid "None" msgstr "" -#: templates/settings.php:10 +#: templates/settings.php:12 msgid "Enable Encryption" msgstr "" diff --git a/l10n/templates/files_external.pot b/l10n/templates/files_external.pot index 570055034cfd0a7a60be6665e0b8a1747bf36480..0f291829da8ed257a60b969577e1231eebf5430d 100644 --- a/l10n/templates/files_external.pot +++ b/l10n/templates/files_external.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-10-16 02:03+0200\n" +"POT-Creation-Date: 2012-12-12 00:12+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -41,66 +41,80 @@ msgstr "" msgid "Error configuring Google Drive storage" msgstr "" +#: lib/config.php:434 +msgid "" +"Warning: \"smbclient\" is not installed. Mounting of CIFS/SMB shares " +"is not possible. Please ask your system administrator to install it." +msgstr "" + +#: lib/config.php:435 +msgid "" +"Warning: The FTP support in PHP is not enabled or installed. Mounting " +"of FTP shares is not possible. Please ask your system administrator to " +"install it." +msgstr "" + #: templates/settings.php:3 msgid "External Storage" msgstr "" -#: templates/settings.php:7 templates/settings.php:19 +#: templates/settings.php:8 templates/settings.php:22 msgid "Mount point" msgstr "" -#: templates/settings.php:8 +#: templates/settings.php:9 msgid "Backend" msgstr "" -#: templates/settings.php:9 +#: templates/settings.php:10 msgid "Configuration" msgstr "" -#: templates/settings.php:10 +#: templates/settings.php:11 msgid "Options" msgstr "" -#: templates/settings.php:11 +#: templates/settings.php:12 msgid "Applicable" msgstr "" -#: templates/settings.php:23 +#: templates/settings.php:27 msgid "Add mount point" msgstr "" -#: templates/settings.php:54 templates/settings.php:62 +#: templates/settings.php:85 msgid "None set" msgstr "" -#: templates/settings.php:63 +#: templates/settings.php:86 msgid "All Users" msgstr "" -#: templates/settings.php:64 +#: templates/settings.php:87 msgid "Groups" msgstr "" -#: templates/settings.php:69 +#: templates/settings.php:95 msgid "Users" msgstr "" -#: templates/settings.php:77 templates/settings.php:107 +#: templates/settings.php:108 templates/settings.php:109 +#: templates/settings.php:149 templates/settings.php:150 msgid "Delete" msgstr "" -#: templates/settings.php:87 +#: templates/settings.php:124 msgid "Enable User External Storage" msgstr "" -#: templates/settings.php:88 +#: templates/settings.php:125 msgid "Allow users to mount their own external storage" msgstr "" -#: templates/settings.php:99 +#: templates/settings.php:139 msgid "SSL root certificates" msgstr "" -#: templates/settings.php:113 +#: templates/settings.php:158 msgid "Import Root Certificate" msgstr "" diff --git a/l10n/templates/files_sharing.pot b/l10n/templates/files_sharing.pot index e01ebef68a68f1928074a6ab0380496bab4a4ed3..696968dc5fa17f79eaf65bd635a63f66ad39e181 100644 --- a/l10n/templates/files_sharing.pot +++ b/l10n/templates/files_sharing.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-10-16 02:03+0200\n" +"POT-Creation-Date: 2012-12-12 00:12+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -25,24 +25,24 @@ msgstr "" msgid "Submit" msgstr "" -#: templates/public.php:9 +#: templates/public.php:17 #, php-format msgid "%s shared the folder %s with you" msgstr "" -#: templates/public.php:11 +#: templates/public.php:19 #, php-format msgid "%s shared the file %s with you" msgstr "" -#: templates/public.php:14 templates/public.php:30 +#: templates/public.php:22 templates/public.php:38 msgid "Download" msgstr "" -#: templates/public.php:29 +#: templates/public.php:37 msgid "No preview available for" msgstr "" -#: templates/public.php:35 +#: templates/public.php:43 msgid "web services under your control" msgstr "" diff --git a/l10n/templates/files_versions.pot b/l10n/templates/files_versions.pot index 7e12c35e75e158e72d066d3e299e889df5ddb600..b8d633fcd82878e5cd0f6894692a8383db8d71c3 100644 --- a/l10n/templates/files_versions.pot +++ b/l10n/templates/files_versions.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-10-16 02:03+0200\n" +"POT-Creation-Date: 2012-12-12 00:12+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/l10n/templates/lib.pot b/l10n/templates/lib.pot index 6a33055b64bc7cede91900cd2c434282cd7e15d3..64d7e1aea9b4656f25c063e9eef9b0ad0d7a52c7 100644 --- a/l10n/templates/lib.pot +++ b/l10n/templates/lib.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-10-16 02:04+0200\n" +"POT-Creation-Date: 2012-12-12 00:13+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,43 +17,43 @@ msgstr "" "Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: 8bit\n" -#: app.php:285 +#: app.php:287 msgid "Help" msgstr "" -#: app.php:292 +#: app.php:294 msgid "Personal" msgstr "" -#: app.php:297 +#: app.php:299 msgid "Settings" msgstr "" -#: app.php:302 +#: app.php:304 msgid "Users" msgstr "" -#: app.php:309 +#: app.php:311 msgid "Apps" msgstr "" -#: app.php:311 +#: app.php:313 msgid "Admin" msgstr "" -#: files.php:328 +#: files.php:361 msgid "ZIP download is turned off." msgstr "" -#: files.php:329 +#: files.php:362 msgid "Files need to be downloaded one by one." msgstr "" -#: files.php:329 files.php:354 +#: files.php:362 files.php:387 msgid "Back to Files" msgstr "" -#: files.php:353 +#: files.php:386 msgid "Selected files too large to generate zip file." msgstr "" @@ -69,45 +69,67 @@ msgstr "" msgid "Token expired. Please reload page." msgstr "" -#: template.php:87 +#: search/provider/file.php:17 search/provider/file.php:35 +msgid "Files" +msgstr "" + +#: search/provider/file.php:26 search/provider/file.php:33 +msgid "Text" +msgstr "" + +#: search/provider/file.php:29 +msgid "Images" +msgstr "" + +#: template.php:103 msgid "seconds ago" msgstr "" -#: template.php:88 +#: template.php:104 msgid "1 minute ago" msgstr "" -#: template.php:89 +#: template.php:105 #, php-format msgid "%d minutes ago" msgstr "" -#: template.php:92 +#: template.php:106 +msgid "1 hour ago" +msgstr "" + +#: template.php:107 +#, php-format +msgid "%d hours ago" +msgstr "" + +#: template.php:108 msgid "today" msgstr "" -#: template.php:93 +#: template.php:109 msgid "yesterday" msgstr "" -#: template.php:94 +#: template.php:110 #, php-format msgid "%d days ago" msgstr "" -#: template.php:95 +#: template.php:111 msgid "last month" msgstr "" -#: template.php:96 -msgid "months ago" +#: template.php:112 +#, php-format +msgid "%d months ago" msgstr "" -#: template.php:97 +#: template.php:113 msgid "last year" msgstr "" -#: template.php:98 +#: template.php:114 msgid "years ago" msgstr "" @@ -123,3 +145,8 @@ msgstr "" #: updater.php:80 msgid "updates check is disabled" msgstr "" + +#: vcategories.php:188 vcategories.php:249 +#, php-format +msgid "Could not find category \"%s\"" +msgstr "" diff --git a/l10n/templates/settings.pot b/l10n/templates/settings.pot index 24b905ed9a94be7ba4121a75981aaa7862e978bb..7a3336fedb8753c33357f755617ebe4a96fdf0c6 100644 --- a/l10n/templates/settings.pot +++ b/l10n/templates/settings.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-10-16 02:04+0200\n" +"POT-Creation-Date: 2012-12-12 00:13+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,69 +17,73 @@ msgstr "" "Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: 8bit\n" -#: ajax/apps/ocs.php:23 +#: ajax/apps/ocs.php:20 msgid "Unable to load list from App Store" msgstr "" -#: ajax/creategroup.php:12 +#: ajax/creategroup.php:10 msgid "Group already exists" msgstr "" -#: ajax/creategroup.php:21 +#: ajax/creategroup.php:19 msgid "Unable to add group" msgstr "" -#: ajax/enableapp.php:14 +#: ajax/enableapp.php:12 msgid "Could not enable app. " msgstr "" -#: ajax/lostpassword.php:14 +#: ajax/lostpassword.php:12 msgid "Email saved" msgstr "" -#: ajax/lostpassword.php:16 +#: ajax/lostpassword.php:14 msgid "Invalid email" msgstr "" -#: ajax/openid.php:16 +#: ajax/openid.php:13 msgid "OpenID Changed" msgstr "" -#: ajax/openid.php:18 ajax/setlanguage.php:20 ajax/setlanguage.php:23 +#: ajax/openid.php:15 ajax/setlanguage.php:17 ajax/setlanguage.php:20 msgid "Invalid request" msgstr "" -#: ajax/removegroup.php:16 +#: ajax/removegroup.php:13 msgid "Unable to delete group" msgstr "" -#: ajax/removeuser.php:18 ajax/setquota.php:18 ajax/togglegroups.php:15 +#: ajax/removeuser.php:15 ajax/setquota.php:15 ajax/togglegroups.php:18 msgid "Authentication error" msgstr "" -#: ajax/removeuser.php:27 +#: ajax/removeuser.php:24 msgid "Unable to delete user" msgstr "" -#: ajax/setlanguage.php:18 +#: ajax/setlanguage.php:15 msgid "Language changed" msgstr "" -#: ajax/togglegroups.php:25 +#: ajax/togglegroups.php:12 +msgid "Admins can't remove themself from the admin group" +msgstr "" + +#: ajax/togglegroups.php:28 #, php-format msgid "Unable to add user to group %s" msgstr "" -#: ajax/togglegroups.php:31 +#: ajax/togglegroups.php:34 #, php-format msgid "Unable to remove user from group %s" msgstr "" -#: js/apps.js:28 js/apps.js:65 +#: js/apps.js:28 js/apps.js:67 msgid "Disable" msgstr "" -#: js/apps.js:28 js/apps.js:54 +#: js/apps.js:28 js/apps.js:55 msgid "Enable" msgstr "" @@ -91,92 +95,6 @@ msgstr "" msgid "__language_name__" msgstr "" -#: templates/admin.php:14 -msgid "Security Warning" -msgstr "" - -#: templates/admin.php:17 -msgid "" -"Your data directory and your files are probably accessible from the " -"internet. The .htaccess file that ownCloud provides is not working. We " -"strongly suggest that you configure your webserver in a way that the data " -"directory is no longer accessible or you move the data directory outside the " -"webserver document root." -msgstr "" - -#: templates/admin.php:31 -msgid "Cron" -msgstr "" - -#: templates/admin.php:37 -msgid "Execute one task with each page loaded" -msgstr "" - -#: templates/admin.php:43 -msgid "" -"cron.php is registered at a webcron service. Call the cron.php page in the " -"owncloud root once a minute over http." -msgstr "" - -#: templates/admin.php:49 -msgid "" -"Use systems cron service. Call the cron.php file in the owncloud folder via " -"a system cronjob once a minute." -msgstr "" - -#: templates/admin.php:56 -msgid "Sharing" -msgstr "" - -#: templates/admin.php:61 -msgid "Enable Share API" -msgstr "" - -#: templates/admin.php:62 -msgid "Allow apps to use the Share API" -msgstr "" - -#: templates/admin.php:67 -msgid "Allow links" -msgstr "" - -#: templates/admin.php:68 -msgid "Allow users to share items to the public with links" -msgstr "" - -#: templates/admin.php:73 -msgid "Allow resharing" -msgstr "" - -#: templates/admin.php:74 -msgid "Allow users to share items shared with them again" -msgstr "" - -#: templates/admin.php:79 -msgid "Allow users to share with anyone" -msgstr "" - -#: templates/admin.php:81 -msgid "Allow users to only share with users in their groups" -msgstr "" - -#: templates/admin.php:88 -msgid "Log" -msgstr "" - -#: templates/admin.php:116 -msgid "More" -msgstr "" - -#: templates/admin.php:124 -msgid "" -"Developed by the ownCloud community, the source code is licensed under the AGPL." -msgstr "" - #: templates/apps.php:10 msgid "Add your App" msgstr "" @@ -210,21 +128,21 @@ msgstr "" msgid "Ask a question" msgstr "" -#: templates/help.php:23 +#: templates/help.php:22 msgid "Problems connecting to help database." msgstr "" -#: templates/help.php:24 +#: templates/help.php:23 msgid "Go there manually." msgstr "" -#: templates/help.php:32 +#: templates/help.php:31 msgid "Answer" msgstr "" #: templates/personal.php:8 #, php-format -msgid "You have used %s of the available %s" +msgid "You have used %s of the available %s" msgstr "" #: templates/personal.php:12 @@ -283,6 +201,15 @@ msgstr "" msgid "use this address to connect to your ownCloud in your file manager" msgstr "" +#: templates/personal.php:61 +msgid "" +"Developed by the ownCloud community, the source code is licensed under the AGPL." +msgstr "" + #: templates/users.php:21 templates/users.php:76 msgid "Name" msgstr "" diff --git a/l10n/templates/user_ldap.pot b/l10n/templates/user_ldap.pot index ca917b564195f7f24b62b505b409f880a7e7e6bd..ff71625a0581ef54550b3d28e2aee24084862ce3 100644 --- a/l10n/templates/user_ldap.pot +++ b/l10n/templates/user_ldap.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-10-16 02:03+0200\n" +"POT-Creation-Date: 2012-12-12 00:12+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/l10n/templates/user_webdavauth.pot b/l10n/templates/user_webdavauth.pot new file mode 100644 index 0000000000000000000000000000000000000000..cc6bf5674dcab3f556b979d628e21e0f6b8b1a35 --- /dev/null +++ b/l10n/templates/user_webdavauth.pot @@ -0,0 +1,22 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2012-12-12 00:12+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=CHARSET\n" +"Content-Transfer-Encoding: 8bit\n" + +#: templates/settings.php:4 +msgid "WebDAV URL: http://" +msgstr "" diff --git a/l10n/th_TH/admin_dependencies_chk.po b/l10n/th_TH/admin_dependencies_chk.po deleted file mode 100644 index 95abe0c652612ed21fb274cc380434433b1a5756..0000000000000000000000000000000000000000 --- a/l10n/th_TH/admin_dependencies_chk.po +++ /dev/null @@ -1,74 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# AriesAnywhere Anywhere , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-20 02:01+0200\n" -"PO-Revision-Date: 2012-08-19 14:18+0000\n" -"Last-Translator: AriesAnywhere Anywhere \n" -"Language-Team: Thai (Thailand) (http://www.transifex.com/projects/p/owncloud/language/th_TH/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: th_TH\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: settings.php:33 -msgid "" -"The php-json module is needed by the many applications for inter " -"communications" -msgstr "โมดูล php-json จำเป็นต้องใช้สำหรับแอพพลิเคชั่นหลายๆตัวเพื่อการเชื่อมต่อสากล" - -#: settings.php:39 -msgid "" -"The php-curl modude is needed to fetch the page title when adding a " -"bookmarks" -msgstr "โมดูล php-curl จำเป็นต้องใช้สำหรับดึงข้อมูลชื่อหัวเว็บเมื่อเพิ่มเข้าไปยังรายการโปรด" - -#: settings.php:45 -msgid "The php-gd module is needed to create thumbnails of your images" -msgstr "โมดูล php-gd จำเป็นต้องใช้สำหรับสร้างรูปภาพขนาดย่อของรูปภาพของคุณ" - -#: settings.php:51 -msgid "The php-ldap module is needed connect to your ldap server" -msgstr "โมดูล php-ldap จำเป็นต้องใช้สำหรับการเชื่อมต่อกับเซิร์ฟเวอร์ ldap ของคุณ" - -#: settings.php:57 -msgid "The php-zip module is needed download multiple files at once" -msgstr "โมดูล php-zip จำเป็นต้องใช้สำหรับดาวน์โหลดไฟล์พร้อมกันหลายๆไฟล์ในครั้งเดียว" - -#: settings.php:63 -msgid "" -"The php-mb_multibyte module is needed to manage correctly the encoding." -msgstr "โมดูล php-mb_multibyte จำเป็นต้องใช้สำหรับการจัดการการแปลงรหัสไฟล์อย่างถูกต้อง" - -#: settings.php:69 -msgid "The php-ctype module is needed validate data." -msgstr "โมดูล php-ctype จำเป็นต้องใช้สำหรับตรวจสอบความถูกต้องของข้อมูล" - -#: settings.php:75 -msgid "The php-xml module is needed to share files with webdav." -msgstr "โมดูล php-xml จำเป็นต้องใช้สำหรับแชร์ไฟล์ด้วย webdav" - -#: settings.php:81 -msgid "" -"The allow_url_fopen directive of your php.ini should be set to 1 to retrieve" -" knowledge base from OCS servers" -msgstr "คำสั่ง allow_url_fopen ที่อยู่ในไฟล์ php.ini ของคุณ ควรกำหนดเป็น 1 เพื่อดึงข้อมูลของฐานความรู้ต่างๆจากเซิร์ฟเวอร์ของ OCS" - -#: settings.php:87 -msgid "The php-pdo module is needed to store owncloud data into a database." -msgstr "โมดูล php-pdo จำเป็นต้องใช้สำหรับจัดเก็บข้อมูลใน owncloud เข้าไปไว้ยังฐานข้อมูล" - -#: templates/settings.php:2 -msgid "Dependencies status" -msgstr "สถานะการอ้างอิง" - -#: templates/settings.php:7 -msgid "Used by :" -msgstr "ใช้งานโดย:" diff --git a/l10n/th_TH/admin_migrate.po b/l10n/th_TH/admin_migrate.po deleted file mode 100644 index c3f57864015faadf738610ccfd68356b81ef7172..0000000000000000000000000000000000000000 --- a/l10n/th_TH/admin_migrate.po +++ /dev/null @@ -1,33 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# AriesAnywhere Anywhere , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-15 02:02+0200\n" -"PO-Revision-Date: 2012-08-14 13:09+0000\n" -"Last-Translator: AriesAnywhere Anywhere \n" -"Language-Team: Thai (Thailand) (http://www.transifex.com/projects/p/owncloud/language/th_TH/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: th_TH\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: templates/settings.php:3 -msgid "Export this ownCloud instance" -msgstr "ส่งออกข้อมูลค่าสมมุติของ ownCloud นี้" - -#: templates/settings.php:4 -msgid "" -"This will create a compressed file that contains the data of this owncloud instance.\n" -" Please choose the export type:" -msgstr "ส่วนนี้จะเป็นการสร้างไฟล์บีบอัดที่บรรจุข้อมูลค่าสมมุติของ ownCloud.\n กรุณาเลือกชนิดของการส่งออกข้อมูล:" - -#: templates/settings.php:12 -msgid "Export" -msgstr "ส่งออก" diff --git a/l10n/th_TH/bookmarks.po b/l10n/th_TH/bookmarks.po deleted file mode 100644 index 0c6e7c61e3d1f88eb23aa43925ef7d7de415738e..0000000000000000000000000000000000000000 --- a/l10n/th_TH/bookmarks.po +++ /dev/null @@ -1,61 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# AriesAnywhere Anywhere , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-15 02:02+0200\n" -"PO-Revision-Date: 2012-08-14 13:16+0000\n" -"Last-Translator: AriesAnywhere Anywhere \n" -"Language-Team: Thai (Thailand) (http://www.transifex.com/projects/p/owncloud/language/th_TH/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: th_TH\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: appinfo/app.php:14 -msgid "Bookmarks" -msgstr "รายการโปรด" - -#: bookmarksHelper.php:99 -msgid "unnamed" -msgstr "ยังไม่มีชื่อ" - -#: templates/bookmarklet.php:5 -msgid "" -"Drag this to your browser bookmarks and click it, when you want to bookmark " -"a webpage quickly:" -msgstr "ลากสิ่งนี้ไปไว้ที่รายการโปรดในโปรแกรมบราวเซอร์ของคุณ แล้วคลิกที่นั่น, เมื่อคุณต้องการเก็บหน้าเว็บเพจเข้าไปไว้ในรายการโปรดอย่างรวดเร็ว" - -#: templates/bookmarklet.php:7 -msgid "Read later" -msgstr "อ่านภายหลัง" - -#: templates/list.php:13 -msgid "Address" -msgstr "ที่อยู่" - -#: templates/list.php:14 -msgid "Title" -msgstr "ชื่อ" - -#: templates/list.php:15 -msgid "Tags" -msgstr "ป้ายกำกับ" - -#: templates/list.php:16 -msgid "Save bookmark" -msgstr "บันทึกรายการโปรด" - -#: templates/list.php:22 -msgid "You have no bookmarks" -msgstr "คุณยังไม่มีรายการโปรด" - -#: templates/settings.php:11 -msgid "Bookmarklet
" -msgstr "Bookmarklet
" diff --git a/l10n/th_TH/calendar.po b/l10n/th_TH/calendar.po deleted file mode 100644 index db695db5dca440faa3bc5e2795b882fd0f67c0a5..0000000000000000000000000000000000000000 --- a/l10n/th_TH/calendar.po +++ /dev/null @@ -1,815 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# AriesAnywhere Anywhere , 2012. -# AriesAnywhere Anywhere , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-15 02:02+0200\n" -"PO-Revision-Date: 2012-08-14 13:30+0000\n" -"Last-Translator: AriesAnywhere Anywhere \n" -"Language-Team: Thai (Thailand) (http://www.transifex.com/projects/p/owncloud/language/th_TH/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: th_TH\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: ajax/cache/status.php:19 -msgid "Not all calendars are completely cached" -msgstr "ไม่ใช่ปฏิทินทั้งหมดที่จะถูกจัดเก็บข้อมูลไว้ในหน่วยความจำแคชอย่างสมบูรณ์" - -#: ajax/cache/status.php:21 -msgid "Everything seems to be completely cached" -msgstr "ทุกสิ่งทุกอย่างได้ถูกเก็บเข้าไปไว้ในหน่วยความจำแคชอย่างสมบูรณ์แล้ว" - -#: ajax/categories/rescan.php:29 -msgid "No calendars found." -msgstr "ไม่พบปฏิทินที่ต้องการ" - -#: ajax/categories/rescan.php:37 -msgid "No events found." -msgstr "ไม่พบกิจกรรมที่ต้องการ" - -#: ajax/event/edit.form.php:20 -msgid "Wrong calendar" -msgstr "ปฏิทินไม่ถูกต้อง" - -#: ajax/import/dropimport.php:29 ajax/import/import.php:64 -msgid "" -"The file contained either no events or all events are already saved in your " -"calendar." -msgstr "ไฟล์ดังกล่าวบรรจุข้อมูลกิจกรรมที่มีอยู่แล้วในปฏิทินของคุณ" - -#: ajax/import/dropimport.php:31 ajax/import/import.php:67 -msgid "events has been saved in the new calendar" -msgstr "กิจกรรมได้ถูกบันทึกไปไว้ในปฏิทินที่สร้างขึ้นใหม่แล้ว" - -#: ajax/import/import.php:56 -msgid "Import failed" -msgstr "การนำเข้าข้อมูลล้มเหลว" - -#: ajax/import/import.php:69 -msgid "events has been saved in your calendar" -msgstr "กิจกรรมได้ถูกบันทึกเข้าไปไว้ในปฏิทินของคุณแล้ว" - -#: ajax/settings/guesstimezone.php:25 -msgid "New Timezone:" -msgstr "สร้างโซนเวลาใหม่:" - -#: ajax/settings/settimezone.php:23 -msgid "Timezone changed" -msgstr "โซนเวลาถูกเปลี่ยนแล้ว" - -#: ajax/settings/settimezone.php:25 -msgid "Invalid request" -msgstr "คำร้องขอไม่ถูกต้อง" - -#: appinfo/app.php:35 templates/calendar.php:15 -#: templates/part.eventform.php:33 templates/part.showevent.php:33 -msgid "Calendar" -msgstr "ปฏิทิน" - -#: js/calendar.js:832 -msgid "ddd" -msgstr "ddd" - -#: js/calendar.js:833 -msgid "ddd M/d" -msgstr "ddd M/d" - -#: js/calendar.js:834 -msgid "dddd M/d" -msgstr "dddd M/d" - -#: js/calendar.js:837 -msgid "MMMM yyyy" -msgstr "MMMM yyyy" - -#: js/calendar.js:839 -msgid "MMM d[ yyyy]{ '—'[ MMM] d yyyy}" -msgstr "MMM d[ yyyy]{ '—'[ MMM] d yyyy}" - -#: js/calendar.js:841 -msgid "dddd, MMM d, yyyy" -msgstr "dddd, MMM d, yyyy" - -#: lib/app.php:121 -msgid "Birthday" -msgstr "วันเกิด" - -#: lib/app.php:122 -msgid "Business" -msgstr "ธุรกิจ" - -#: lib/app.php:123 -msgid "Call" -msgstr "โทรติดต่อ" - -#: lib/app.php:124 -msgid "Clients" -msgstr "ลูกค้า" - -#: lib/app.php:125 -msgid "Deliverer" -msgstr "จัดส่ง" - -#: lib/app.php:126 -msgid "Holidays" -msgstr "วันหยุด" - -#: lib/app.php:127 -msgid "Ideas" -msgstr "ไอเดีย" - -#: lib/app.php:128 -msgid "Journey" -msgstr "การเดินทาง" - -#: lib/app.php:129 -msgid "Jubilee" -msgstr "งานเลี้ยง" - -#: lib/app.php:130 -msgid "Meeting" -msgstr "นัดประชุม" - -#: lib/app.php:131 -msgid "Other" -msgstr "อื่นๆ" - -#: lib/app.php:132 -msgid "Personal" -msgstr "ส่วนตัว" - -#: lib/app.php:133 -msgid "Projects" -msgstr "โครงการ" - -#: lib/app.php:134 -msgid "Questions" -msgstr "คำถาม" - -#: lib/app.php:135 -msgid "Work" -msgstr "งาน" - -#: lib/app.php:351 lib/app.php:361 -msgid "by" -msgstr "โดย" - -#: lib/app.php:359 lib/app.php:399 -msgid "unnamed" -msgstr "ไม่มีชื่อ" - -#: lib/import.php:184 templates/calendar.php:12 -#: templates/part.choosecalendar.php:22 -msgid "New Calendar" -msgstr "สร้างปฏิทินใหม่" - -#: lib/object.php:372 -msgid "Does not repeat" -msgstr "ไม่ต้องทำซ้ำ" - -#: lib/object.php:373 -msgid "Daily" -msgstr "รายวัน" - -#: lib/object.php:374 -msgid "Weekly" -msgstr "รายสัปดาห์" - -#: lib/object.php:375 -msgid "Every Weekday" -msgstr "ทุกวันหยุด" - -#: lib/object.php:376 -msgid "Bi-Weekly" -msgstr "รายปักษ์" - -#: lib/object.php:377 -msgid "Monthly" -msgstr "รายเดือน" - -#: lib/object.php:378 -msgid "Yearly" -msgstr "รายปี" - -#: lib/object.php:388 -msgid "never" -msgstr "ไม่ต้องเลย" - -#: lib/object.php:389 -msgid "by occurrences" -msgstr "ตามจำนวนที่ปรากฏ" - -#: lib/object.php:390 -msgid "by date" -msgstr "ตามวันที่" - -#: lib/object.php:400 -msgid "by monthday" -msgstr "จากเดือน" - -#: lib/object.php:401 -msgid "by weekday" -msgstr "จากสัปดาห์" - -#: lib/object.php:411 templates/calendar.php:5 templates/settings.php:69 -msgid "Monday" -msgstr "วันจันทร์" - -#: lib/object.php:412 templates/calendar.php:5 -msgid "Tuesday" -msgstr "วันอังคาร" - -#: lib/object.php:413 templates/calendar.php:5 -msgid "Wednesday" -msgstr "วันพุธ" - -#: lib/object.php:414 templates/calendar.php:5 -msgid "Thursday" -msgstr "วันพฤหัสบดี" - -#: lib/object.php:415 templates/calendar.php:5 -msgid "Friday" -msgstr "วันศุกร์" - -#: lib/object.php:416 templates/calendar.php:5 -msgid "Saturday" -msgstr "วันเสาร์" - -#: lib/object.php:417 templates/calendar.php:5 templates/settings.php:70 -msgid "Sunday" -msgstr "วันอาทิตย์" - -#: lib/object.php:427 -msgid "events week of month" -msgstr "สัปดาห์ที่มีกิจกรรมของเดือน" - -#: lib/object.php:428 -msgid "first" -msgstr "ลำดับแรก" - -#: lib/object.php:429 -msgid "second" -msgstr "ลำดับที่สอง" - -#: lib/object.php:430 -msgid "third" -msgstr "ลำดับที่สาม" - -#: lib/object.php:431 -msgid "fourth" -msgstr "ลำดับที่สี่" - -#: lib/object.php:432 -msgid "fifth" -msgstr "ลำดับที่ห้า" - -#: lib/object.php:433 -msgid "last" -msgstr "ลำดับสุดท้าย" - -#: lib/object.php:467 templates/calendar.php:7 -msgid "January" -msgstr "มกราคม" - -#: lib/object.php:468 templates/calendar.php:7 -msgid "February" -msgstr "กุมภาพันธ์" - -#: lib/object.php:469 templates/calendar.php:7 -msgid "March" -msgstr "มีนาคม" - -#: lib/object.php:470 templates/calendar.php:7 -msgid "April" -msgstr "เมษายน" - -#: lib/object.php:471 templates/calendar.php:7 -msgid "May" -msgstr "พฤษภาคม" - -#: lib/object.php:472 templates/calendar.php:7 -msgid "June" -msgstr "มิถุนายน" - -#: lib/object.php:473 templates/calendar.php:7 -msgid "July" -msgstr "กรกฏาคม" - -#: lib/object.php:474 templates/calendar.php:7 -msgid "August" -msgstr "สิงหาคม" - -#: lib/object.php:475 templates/calendar.php:7 -msgid "September" -msgstr "กันยายน" - -#: lib/object.php:476 templates/calendar.php:7 -msgid "October" -msgstr "ตุลาคม" - -#: lib/object.php:477 templates/calendar.php:7 -msgid "November" -msgstr "พฤศจิกายน" - -#: lib/object.php:478 templates/calendar.php:7 -msgid "December" -msgstr "ธันวาคม" - -#: lib/object.php:488 -msgid "by events date" -msgstr "ตามวันที่จัดกิจกรรม" - -#: lib/object.php:489 -msgid "by yearday(s)" -msgstr "ของเมื่อวานนี้" - -#: lib/object.php:490 -msgid "by weeknumber(s)" -msgstr "จากหมายเลขของสัปดาห์" - -#: lib/object.php:491 -msgid "by day and month" -msgstr "ตามวันและเดือน" - -#: lib/search.php:35 lib/search.php:37 lib/search.php:40 -msgid "Date" -msgstr "วันที่" - -#: lib/search.php:43 -msgid "Cal." -msgstr "คำนวณ" - -#: templates/calendar.php:6 -msgid "Sun." -msgstr "อา." - -#: templates/calendar.php:6 -msgid "Mon." -msgstr "จ." - -#: templates/calendar.php:6 -msgid "Tue." -msgstr "อ." - -#: templates/calendar.php:6 -msgid "Wed." -msgstr "พ." - -#: templates/calendar.php:6 -msgid "Thu." -msgstr "พฤ." - -#: templates/calendar.php:6 -msgid "Fri." -msgstr "ศ." - -#: templates/calendar.php:6 -msgid "Sat." -msgstr "ส." - -#: templates/calendar.php:8 -msgid "Jan." -msgstr "ม.ค." - -#: templates/calendar.php:8 -msgid "Feb." -msgstr "ก.พ." - -#: templates/calendar.php:8 -msgid "Mar." -msgstr "มี.ค." - -#: templates/calendar.php:8 -msgid "Apr." -msgstr "เม.ย." - -#: templates/calendar.php:8 -msgid "May." -msgstr "พ.ค." - -#: templates/calendar.php:8 -msgid "Jun." -msgstr "มิ.ย." - -#: templates/calendar.php:8 -msgid "Jul." -msgstr "ก.ค." - -#: templates/calendar.php:8 -msgid "Aug." -msgstr "ส.ค." - -#: templates/calendar.php:8 -msgid "Sep." -msgstr "ก.ย." - -#: templates/calendar.php:8 -msgid "Oct." -msgstr "ต.ค." - -#: templates/calendar.php:8 -msgid "Nov." -msgstr "พ.ย." - -#: templates/calendar.php:8 -msgid "Dec." -msgstr "ธ.ค." - -#: templates/calendar.php:11 -msgid "All day" -msgstr "ทั้งวัน" - -#: templates/calendar.php:13 -msgid "Missing fields" -msgstr "ช่องฟิลด์เกิดการสูญหาย" - -#: templates/calendar.php:14 templates/part.eventform.php:19 -#: templates/part.showevent.php:11 -msgid "Title" -msgstr "ชื่อกิจกรรม" - -#: templates/calendar.php:16 -msgid "From Date" -msgstr "จากวันที่" - -#: templates/calendar.php:17 -msgid "From Time" -msgstr "ตั้งแต่เวลา" - -#: templates/calendar.php:18 -msgid "To Date" -msgstr "ถึงวันที่" - -#: templates/calendar.php:19 -msgid "To Time" -msgstr "ถึงเวลา" - -#: templates/calendar.php:20 -msgid "The event ends before it starts" -msgstr "วันที่สิ้นสุดกิจกรรมดังกล่าวอยู่ก่อนวันเริ่มต้น" - -#: templates/calendar.php:21 -msgid "There was a database fail" -msgstr "เกิดความล้มเหลวกับฐานข้อมูล" - -#: templates/calendar.php:39 -msgid "Week" -msgstr "สัปดาห์" - -#: templates/calendar.php:40 -msgid "Month" -msgstr "เดือน" - -#: templates/calendar.php:41 -msgid "List" -msgstr "รายการ" - -#: templates/calendar.php:45 -msgid "Today" -msgstr "วันนี้" - -#: templates/calendar.php:46 templates/calendar.php:47 -msgid "Settings" -msgstr "ตั้งค่า" - -#: templates/part.choosecalendar.php:2 -msgid "Your calendars" -msgstr "ปฏิทินของคุณ" - -#: templates/part.choosecalendar.php:27 -#: templates/part.choosecalendar.rowfields.php:11 -msgid "CalDav Link" -msgstr "ลิงค์ CalDav" - -#: templates/part.choosecalendar.php:31 -msgid "Shared calendars" -msgstr "ปฏิทินที่เปิดแชร์" - -#: templates/part.choosecalendar.php:48 -msgid "No shared calendars" -msgstr "ไม่มีปฏิทินที่เปิดแชร์ไว้" - -#: templates/part.choosecalendar.rowfields.php:8 -msgid "Share Calendar" -msgstr "เปิดแชร์ปฏิทิน" - -#: templates/part.choosecalendar.rowfields.php:14 -msgid "Download" -msgstr "ดาวน์โหลด" - -#: templates/part.choosecalendar.rowfields.php:17 -msgid "Edit" -msgstr "แก้ไข" - -#: templates/part.choosecalendar.rowfields.php:20 -#: templates/part.editevent.php:9 -msgid "Delete" -msgstr "ลบ" - -#: templates/part.choosecalendar.rowfields.shared.php:4 -msgid "shared with you by" -msgstr "แชร์ให้คุณโดย" - -#: templates/part.editcalendar.php:9 -msgid "New calendar" -msgstr "สร้างปฏิทินใหม่" - -#: templates/part.editcalendar.php:9 -msgid "Edit calendar" -msgstr "แก้ไขปฏิทิน" - -#: templates/part.editcalendar.php:12 -msgid "Displayname" -msgstr "ชื่อที่ต้องการให้แสดง" - -#: templates/part.editcalendar.php:23 -msgid "Active" -msgstr "ใช้งาน" - -#: templates/part.editcalendar.php:29 -msgid "Calendar color" -msgstr "สีของปฏิทิน" - -#: templates/part.editcalendar.php:42 -msgid "Save" -msgstr "บันทึก" - -#: templates/part.editcalendar.php:42 templates/part.editevent.php:8 -#: templates/part.newevent.php:6 -msgid "Submit" -msgstr "ส่งข้อมูล" - -#: templates/part.editcalendar.php:43 -msgid "Cancel" -msgstr "ยกเลิก" - -#: templates/part.editevent.php:1 -msgid "Edit an event" -msgstr "แก้ไขกิจกรรม" - -#: templates/part.editevent.php:10 -msgid "Export" -msgstr "ส่งออกข้อมูล" - -#: templates/part.eventform.php:8 templates/part.showevent.php:3 -msgid "Eventinfo" -msgstr "ข้อมูลเกี่ยวกับกิจกรรม" - -#: templates/part.eventform.php:9 templates/part.showevent.php:4 -msgid "Repeating" -msgstr "ทำซ้ำ" - -#: templates/part.eventform.php:10 templates/part.showevent.php:5 -msgid "Alarm" -msgstr "แจ้งเตือน" - -#: templates/part.eventform.php:11 templates/part.showevent.php:6 -msgid "Attendees" -msgstr "ผู้เข้าร่วมกิจกรรม" - -#: templates/part.eventform.php:13 -msgid "Share" -msgstr "แชร์" - -#: templates/part.eventform.php:21 -msgid "Title of the Event" -msgstr "ชื่อของกิจกรรม" - -#: templates/part.eventform.php:27 templates/part.showevent.php:19 -msgid "Category" -msgstr "หมวดหมู่" - -#: templates/part.eventform.php:29 -msgid "Separate categories with commas" -msgstr "คั่นระหว่างรายการหมวดหมู่ด้วยเครื่องหมายจุลภาคหรือคอมม่า" - -#: templates/part.eventform.php:30 -msgid "Edit categories" -msgstr "แก้ไขหมวดหมู่" - -#: templates/part.eventform.php:56 templates/part.showevent.php:52 -msgid "All Day Event" -msgstr "เป็นกิจกรรมตลอดทั้งวัน" - -#: templates/part.eventform.php:60 templates/part.showevent.php:56 -msgid "From" -msgstr "จาก" - -#: templates/part.eventform.php:68 templates/part.showevent.php:64 -msgid "To" -msgstr "ถึง" - -#: templates/part.eventform.php:76 templates/part.showevent.php:72 -msgid "Advanced options" -msgstr "ตัวเลือกขั้นสูง" - -#: templates/part.eventform.php:81 templates/part.showevent.php:77 -msgid "Location" -msgstr "สถานที่" - -#: templates/part.eventform.php:83 -msgid "Location of the Event" -msgstr "สถานที่จัดกิจกรรม" - -#: templates/part.eventform.php:89 templates/part.showevent.php:85 -msgid "Description" -msgstr "คำอธิบาย" - -#: templates/part.eventform.php:91 -msgid "Description of the Event" -msgstr "คำอธิบายเกี่ยวกับกิจกรรม" - -#: templates/part.eventform.php:100 templates/part.showevent.php:95 -msgid "Repeat" -msgstr "ทำซ้ำ" - -#: templates/part.eventform.php:107 templates/part.showevent.php:102 -msgid "Advanced" -msgstr "ขั้นสูง" - -#: templates/part.eventform.php:151 templates/part.showevent.php:146 -msgid "Select weekdays" -msgstr "เลือกสัปดาห์" - -#: templates/part.eventform.php:164 templates/part.eventform.php:177 -#: templates/part.showevent.php:159 templates/part.showevent.php:172 -msgid "Select days" -msgstr "เลือกวัน" - -#: templates/part.eventform.php:169 templates/part.showevent.php:164 -msgid "and the events day of year." -msgstr "และวันที่มีเหตุการณ์เกิดขึ้นในปี" - -#: templates/part.eventform.php:182 templates/part.showevent.php:177 -msgid "and the events day of month." -msgstr "และวันที่มีเหตุการณ์เกิดขึ้นในเดือน" - -#: templates/part.eventform.php:190 templates/part.showevent.php:185 -msgid "Select months" -msgstr "เลือกเดือน" - -#: templates/part.eventform.php:203 templates/part.showevent.php:198 -msgid "Select weeks" -msgstr "เลือกสัปดาห์" - -#: templates/part.eventform.php:208 templates/part.showevent.php:203 -msgid "and the events week of year." -msgstr "และสัปดาห์ที่มีเหตุการณ์เกิดขึ้นในปี" - -#: templates/part.eventform.php:214 templates/part.showevent.php:209 -msgid "Interval" -msgstr "ช่วงเวลา" - -#: templates/part.eventform.php:220 templates/part.showevent.php:215 -msgid "End" -msgstr "สิ้นสุด" - -#: templates/part.eventform.php:233 templates/part.showevent.php:228 -msgid "occurrences" -msgstr "จำนวนที่ปรากฏ" - -#: templates/part.import.php:14 -msgid "create a new calendar" -msgstr "สร้างปฏิทินใหม่" - -#: templates/part.import.php:17 -msgid "Import a calendar file" -msgstr "นำเข้าไฟล์ปฏิทิน" - -#: templates/part.import.php:24 -msgid "Please choose a calendar" -msgstr "กรุณาเลือกปฏิทิน" - -#: templates/part.import.php:36 -msgid "Name of new calendar" -msgstr "ชื่อของปฏิทิน" - -#: templates/part.import.php:44 -msgid "Take an available name!" -msgstr "เลือกชื่อที่ต้องการ" - -#: templates/part.import.php:45 -msgid "" -"A Calendar with this name already exists. If you continue anyhow, these " -"calendars will be merged." -msgstr "ปฏิทินชื่อดังกล่าวถูกใช้งานไปแล้ว หากคุณยังดำเนินการต่อไป ปฏิทินดังกล่าวนี้จะถูกผสานข้อมูลเข้าด้วยกัน" - -#: templates/part.import.php:47 -msgid "Import" -msgstr "นำเข้าข้อมูล" - -#: templates/part.import.php:56 -msgid "Close Dialog" -msgstr "ปิดกล่องข้อความโต้ตอบ" - -#: templates/part.newevent.php:1 -msgid "Create a new event" -msgstr "สร้างกิจกรรมใหม่" - -#: templates/part.showevent.php:1 -msgid "View an event" -msgstr "ดูกิจกรรม" - -#: templates/part.showevent.php:23 -msgid "No categories selected" -msgstr "ยังไม่ได้เลือกหมวดหมู่" - -#: templates/part.showevent.php:37 -msgid "of" -msgstr "ของ" - -#: templates/part.showevent.php:59 templates/part.showevent.php:67 -msgid "at" -msgstr "ที่" - -#: templates/settings.php:10 -msgid "General" -msgstr "ทั่วไป" - -#: templates/settings.php:15 -msgid "Timezone" -msgstr "โซนเวลา" - -#: templates/settings.php:47 -msgid "Update timezone automatically" -msgstr "อัพเดทโซนเวลาอัตโนมัติ" - -#: templates/settings.php:52 -msgid "Time format" -msgstr "รูปแบบเวลา" - -#: templates/settings.php:57 -msgid "24h" -msgstr "24 ช.ม." - -#: templates/settings.php:58 -msgid "12h" -msgstr "12 ช.ม." - -#: templates/settings.php:64 -msgid "Start week on" -msgstr "เริ่มต้นสัปดาห์ด้วย" - -#: templates/settings.php:76 -msgid "Cache" -msgstr "หน่วยความจำแคช" - -#: templates/settings.php:80 -msgid "Clear cache for repeating events" -msgstr "ล้างข้อมูลในหน่วยความจำแคชสำหรับกิจกรรมที่ซ้ำซ้อน" - -#: templates/settings.php:85 -msgid "URLs" -msgstr "URLs" - -#: templates/settings.php:87 -msgid "Calendar CalDAV syncing addresses" -msgstr "ที่อยู่ที่ใช้สำหรับเชื่อมข้อมูลปฏิทิน CalDAV" - -#: templates/settings.php:87 -msgid "more info" -msgstr "ข้อมูลเพิ่มเติม" - -#: templates/settings.php:89 -msgid "Primary address (Kontact et al)" -msgstr "ที่อยู่หลัก (Kontact et al)" - -#: templates/settings.php:91 -msgid "iOS/OS X" -msgstr "iOS/OS X" - -#: templates/settings.php:93 -msgid "Read only iCalendar link(s)" -msgstr "อ่านเฉพาะลิงก์ iCalendar เท่านั้น" - -#: templates/share.dropdown.php:20 -msgid "Users" -msgstr "ผู้ใช้งาน" - -#: templates/share.dropdown.php:21 -msgid "select users" -msgstr "เลือกผู้ใช้งาน" - -#: templates/share.dropdown.php:36 templates/share.dropdown.php:62 -msgid "Editable" -msgstr "สามารถแก้ไขได้" - -#: templates/share.dropdown.php:48 -msgid "Groups" -msgstr "กลุ่ม" - -#: templates/share.dropdown.php:49 -msgid "select groups" -msgstr "เลือกกลุ่ม" - -#: templates/share.dropdown.php:75 -msgid "make public" -msgstr "กำหนดเป็นสาธารณะ" diff --git a/l10n/th_TH/contacts.po b/l10n/th_TH/contacts.po deleted file mode 100644 index 978e20b06690b67d644256e58cd99937fddda6b3..0000000000000000000000000000000000000000 --- a/l10n/th_TH/contacts.po +++ /dev/null @@ -1,954 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# AriesAnywhere Anywhere , 2012. -# AriesAnywhere Anywhere , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-24 02:02+0200\n" -"PO-Revision-Date: 2012-08-24 00:03+0000\n" -"Last-Translator: I Robot \n" -"Language-Team: Thai (Thailand) (http://www.transifex.com/projects/p/owncloud/language/th_TH/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: th_TH\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: ajax/addressbook/activate.php:24 ajax/addressbook/update.php:32 -msgid "Error (de)activating addressbook." -msgstr "เกิดข้อผิดพลาดใน (ยกเลิก)การเปิดใช้งานสมุดบันทึกที่อยู่" - -#: ajax/addressbook/delete.php:31 ajax/addressbook/update.php:20 -#: ajax/contact/addproperty.php:42 ajax/contact/delete.php:32 -#: ajax/contact/saveproperty.php:39 -msgid "id is not set." -msgstr "ยังไม่ได้กำหนดรหัส" - -#: ajax/addressbook/update.php:24 -msgid "Cannot update addressbook with an empty name." -msgstr "ไม่สามารถอัพเดทสมุดบันทึกที่อยู่โดยไม่มีชื่อได้" - -#: ajax/addressbook/update.php:28 -msgid "Error updating addressbook." -msgstr "เกิดข้อผิดพลาดในการอัพเดทสมุดบันทึกที่อยู่" - -#: ajax/categories/categoriesfor.php:17 -msgid "No ID provided" -msgstr "ยังไม่ได้ใส่รหัส" - -#: ajax/categories/categoriesfor.php:34 -msgid "Error setting checksum." -msgstr "เกิดข้อผิดพลาดในการตั้งค่า checksum" - -#: ajax/categories/delete.php:19 -msgid "No categories selected for deletion." -msgstr "ยังไม่ได้เลือกหมวดหมู่ที่ต้องการลบ" - -#: ajax/categories/delete.php:26 -msgid "No address books found." -msgstr "ไม่พบสมุดบันทึกที่อยู่ที่ต้องการ" - -#: ajax/categories/delete.php:34 -msgid "No contacts found." -msgstr "ไม่พบข้อมูลการติดต่อที่ต้องการ" - -#: ajax/contact/add.php:47 -msgid "There was an error adding the contact." -msgstr "เกิดข้อผิดพลาดในการเพิ่มรายชื่อผู้ติดต่อใหม่" - -#: ajax/contact/addproperty.php:39 ajax/contact/saveproperty.php:36 -msgid "element name is not set." -msgstr "ยังไม่ได้กำหนดชื่อ" - -#: ajax/contact/addproperty.php:46 -msgid "Could not parse contact: " -msgstr "ไม่สามารถแจกแจงรายชื่อผู้ติดต่อได้" - -#: ajax/contact/addproperty.php:56 -msgid "Cannot add empty property." -msgstr "ไม่สามารถเพิ่มรายละเอียดที่ไม่มีข้อมูลได้" - -#: ajax/contact/addproperty.php:67 -msgid "At least one of the address fields has to be filled out." -msgstr "อย่างน้อยที่สุดช่องข้อมูลที่อยู่จะต้องถูกกรอกลงไป" - -#: ajax/contact/addproperty.php:76 -msgid "Trying to add duplicate property: " -msgstr "พยายามที่จะเพิ่มทรัพยากรที่ซ้ำซ้อนกัน: " - -#: ajax/contact/addproperty.php:115 ajax/contact/saveproperty.php:93 -msgid "Missing IM parameter." -msgstr "" - -#: ajax/contact/addproperty.php:119 ajax/contact/saveproperty.php:97 -msgid "Unknown IM: " -msgstr "" - -#: ajax/contact/deleteproperty.php:37 -msgid "Information about vCard is incorrect. Please reload the page." -msgstr "ข้อมูลเกี่ยวกับ vCard ไม่ถูกต้อง กรุณาโหลดหน้าเวปใหม่อีกครั้ง" - -#: ajax/contact/details.php:31 -msgid "Missing ID" -msgstr "รหัสสูญหาย" - -#: ajax/contact/details.php:36 -msgid "Error parsing VCard for ID: \"" -msgstr "พบข้อผิดพลาดในการแยกรหัส VCard:\"" - -#: ajax/contact/saveproperty.php:42 -msgid "checksum is not set." -msgstr "ยังไม่ได้กำหนดค่า checksum" - -#: ajax/contact/saveproperty.php:62 -msgid "Information about vCard is incorrect. Please reload the page: " -msgstr "ข้อมูล vCard ไม่ถูกต้อง กรุณาโหลดหน้าเว็บใหม่อีกครั้ง: " - -#: ajax/contact/saveproperty.php:69 -msgid "Something went FUBAR. " -msgstr "มีบางอย่างเกิดการ FUBAR. " - -#: ajax/currentphoto.php:30 ajax/oc_photo.php:28 ajax/uploadphoto.php:36 -#: ajax/uploadphoto.php:68 -msgid "No contact ID was submitted." -msgstr "ไม่มีรหัสข้อมูลการติดต่อถูกส่งมา" - -#: ajax/currentphoto.php:36 -msgid "Error reading contact photo." -msgstr "เกิดข้อผิดพลาดในการอ่านรูปภาพของข้อมูลการติดต่อ" - -#: ajax/currentphoto.php:48 -msgid "Error saving temporary file." -msgstr "เกิดข้อผิดพลาดในการบันทึกไฟล์ชั่วคราว" - -#: ajax/currentphoto.php:51 -msgid "The loading photo is not valid." -msgstr "โหลดรูปภาพไม่ถูกต้อง" - -#: ajax/editname.php:31 -msgid "Contact ID is missing." -msgstr "รหัสข้อมูลการติดต่อเกิดการสูญหาย" - -#: ajax/oc_photo.php:32 -msgid "No photo path was submitted." -msgstr "ไม่พบตำแหน่งพาธของรูปภาพ" - -#: ajax/oc_photo.php:39 -msgid "File doesn't exist:" -msgstr "ไม่มีไฟล์ดังกล่าว" - -#: ajax/oc_photo.php:44 ajax/oc_photo.php:47 -msgid "Error loading image." -msgstr "เกิดข้อผิดพลาดในการโหลดรูปภาพ" - -#: ajax/savecrop.php:69 -msgid "Error getting contact object." -msgstr "เกิดข้อผิดพลาดในการดึงข้อมูลติดต่อ" - -#: ajax/savecrop.php:79 -msgid "Error getting PHOTO property." -msgstr "เกิดข้อผิดพลาดในการดึงคุณสมบัติของรูปภาพ" - -#: ajax/savecrop.php:98 -msgid "Error saving contact." -msgstr "เกิดข้อผิดพลาดในการบันทึกข้อมูลผู้ติดต่อ" - -#: ajax/savecrop.php:109 -msgid "Error resizing image" -msgstr "เกิดข้อผิดพลาดในการปรับขนาดรูปภาพ" - -#: ajax/savecrop.php:112 -msgid "Error cropping image" -msgstr "เกิดข้อผิดพลาดในการครอบตัดภาพ" - -#: ajax/savecrop.php:115 -msgid "Error creating temporary image" -msgstr "เกิดข้อผิดพลาดในการสร้างรูปภาพชั่วคราว" - -#: ajax/savecrop.php:118 -msgid "Error finding image: " -msgstr "เกิดข้อผิดพลาดในการค้นหารูปภาพ: " - -#: ajax/uploadimport.php:44 ajax/uploadimport.php:76 -msgid "Error uploading contacts to storage." -msgstr "เกิดข้อผิดพลาดในการอัพโหลดข้อมูลการติดต่อไปยังพื้นที่จัดเก็บข้อมูล" - -#: ajax/uploadimport.php:61 ajax/uploadphoto.php:77 -msgid "There is no error, the file uploaded with success" -msgstr "ไม่พบข้อผิดพลาดใดๆ, ไฟล์ถูกอัพโหลดเรียบร้อยแล้ว" - -#: ajax/uploadimport.php:62 ajax/uploadphoto.php:78 -msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" -msgstr "ไฟล์ที่อัพโหลดมีขนาดไฟล์ใหญ่เกินจำนวนที่กำหนดไว้ในคำสั่ง upload_max_filesize ที่อยู่ในไฟล์ php.ini" - -#: ajax/uploadimport.php:63 ajax/uploadphoto.php:79 -msgid "" -"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " -"the HTML form" -msgstr "ไฟล์ที่อัพโหลดมีขนาดไฟล์ใหญ่เกินจำนวนที่กำหนดไว้ในคำสั่ง MAX_FILE_SIZE ที่ถูกระบุไว้ในรูปแบบของ HTML" - -#: ajax/uploadimport.php:64 ajax/uploadphoto.php:80 -msgid "The uploaded file was only partially uploaded" -msgstr "ไฟล์ถูกอัพโหลดได้เพียงบางส่วนเท่านั้น" - -#: ajax/uploadimport.php:65 ajax/uploadphoto.php:81 -msgid "No file was uploaded" -msgstr "ไม่มีไฟล์ที่ถูกอัพโหลด" - -#: ajax/uploadimport.php:66 ajax/uploadphoto.php:82 -msgid "Missing a temporary folder" -msgstr "โฟลเดอร์ชั่วคราวเกิดการสูญหาย" - -#: ajax/uploadphoto.php:59 ajax/uploadphoto.php:109 -msgid "Couldn't save temporary image: " -msgstr "ไม่สามารถบันทึกรูปภาพชั่วคราวได้: " - -#: ajax/uploadphoto.php:62 ajax/uploadphoto.php:112 -msgid "Couldn't load temporary image: " -msgstr "ไม่สามารถโหลดรูปภาพชั่วคราวได้: " - -#: ajax/uploadphoto.php:71 -msgid "No file was uploaded. Unknown error" -msgstr "ยังไม่มีไฟล์ใดที่ถูกอัพโหลด เกิดข้อผิดพลาดที่ไม่ทราบสาเหตุ" - -#: appinfo/app.php:21 -msgid "Contacts" -msgstr "ข้อมูลการติดต่อ" - -#: js/contacts.js:71 -msgid "Sorry, this functionality has not been implemented yet" -msgstr "ขออภัย, ฟังก์ชั่นการทำงานนี้ยังไม่ได้ถูกดำเนินการ" - -#: js/contacts.js:71 -msgid "Not implemented" -msgstr "ยังไม่ได้ถูกดำเนินการ" - -#: js/contacts.js:76 -msgid "Couldn't get a valid address." -msgstr "ไม่สามารถดึงที่อยู่ที่ถูกต้องได้" - -#: js/contacts.js:76 js/contacts.js:365 js/contacts.js:381 js/contacts.js:393 -#: js/contacts.js:723 js/contacts.js:763 js/contacts.js:789 js/contacts.js:921 -#: js/contacts.js:927 js/contacts.js:939 js/contacts.js:976 -#: js/contacts.js:1250 js/contacts.js:1258 js/contacts.js:1267 -#: js/contacts.js:1302 js/contacts.js:1338 js/contacts.js:1353 -#: js/contacts.js:1379 js/contacts.js:1609 js/contacts.js:1644 -#: js/contacts.js:1664 js/settings.js:26 js/settings.js:43 js/settings.js:68 -msgid "Error" -msgstr "พบข้อผิดพลาด" - -#: js/contacts.js:424 -msgid "You do not have permission to add contacts to " -msgstr "" - -#: js/contacts.js:425 -msgid "Please select one of your own address books." -msgstr "" - -#: js/contacts.js:425 -msgid "Permission error" -msgstr "" - -#: js/contacts.js:763 -msgid "This property has to be non-empty." -msgstr "คุณสมบัตินี้ต้องไม่มีข้อมูลว่างอยู่" - -#: js/contacts.js:789 -msgid "Couldn't serialize elements." -msgstr "ไม่สามารถทำสัญลักษณ์องค์ประกอบต่างๆให้เป็นตัวเลขตามลำดับได้" - -#: js/contacts.js:921 js/contacts.js:939 -msgid "" -"'deleteProperty' called without type argument. Please report at " -"bugs.owncloud.org" -msgstr "'deleteProperty' ถูกเรียกใช้โดยไม่มีอาร์กิวเมนต์ กรุณาแจ้งได้ที่ bugs.owncloud.org" - -#: js/contacts.js:958 -msgid "Edit name" -msgstr "แก้ไขชื่อ" - -#: js/contacts.js:1250 -msgid "No files selected for upload." -msgstr "ยังไม่ได้เลือกไฟล์ำสำหรับอัพโหลด" - -#: js/contacts.js:1258 -msgid "" -"The file you are trying to upload exceed the maximum size for file uploads " -"on this server." -msgstr "ไฟล์ที่คุณกำลังพยายามที่จะอัพโหลดมีขนาดเกินจำนวนสูงสุดที่สามารถอัพโหลดได้สำหรับเซิร์ฟเวอร์นี้" - -#: js/contacts.js:1322 -msgid "Error loading profile picture." -msgstr "เกิดข้อผิดพลาดในการโหลดรูปภาพประจำตัว" - -#: js/contacts.js:1457 js/contacts.js:1498 js/contacts.js:1517 -#: js/contacts.js:1560 -msgid "Select type" -msgstr "เลือกชนิด" - -#: js/contacts.js:1578 -msgid "" -"Some contacts are marked for deletion, but not deleted yet. Please wait for " -"them to be deleted." -msgstr "ข้อมูลผู้ติดต่อบางรายการได้ถูกทำเครื่องหมายสำหรับลบทิ้งเอาไว้, แต่ยังไม่ได้ถูกลบทิ้ง, กรุณารอให้รายการดังกล่าวถูกลบทิ้งเสียก่อน" - -#: js/contacts.js:1649 -msgid "Do you want to merge these address books?" -msgstr "คุณต้องการผสานข้อมูลสมุดบันทึกที่อยู่เหล่านี้หรือไม่?" - -#: js/loader.js:49 -msgid "Result: " -msgstr "ผลลัพธ์: " - -#: js/loader.js:49 -msgid " imported, " -msgstr " นำเข้าข้อมูลแล้ว, " - -#: js/loader.js:49 -msgid " failed." -msgstr " ล้มเหลว." - -#: js/settings.js:68 -msgid "Displayname cannot be empty." -msgstr "ชื่อที่ใช้แสดงไม่สามารถเว้นว่างได้" - -#: lib/app.php:36 -msgid "Addressbook not found: " -msgstr "ไม่พบสมุดบันทึกที่อยู่ที่ต้องการ" - -#: lib/app.php:52 -msgid "This is not your addressbook." -msgstr "นี่ไม่ใช่สมุดบันทึกที่อยู่ของคุณ" - -#: lib/app.php:71 -msgid "Contact could not be found." -msgstr "ไม่พบข้อมูลการติดต่อ" - -#: lib/app.php:116 -msgid "Jabber" -msgstr "" - -#: lib/app.php:121 -msgid "AIM" -msgstr "" - -#: lib/app.php:126 -msgid "MSN" -msgstr "" - -#: lib/app.php:131 -msgid "Twitter" -msgstr "" - -#: lib/app.php:136 -msgid "GoogleTalk" -msgstr "" - -#: lib/app.php:141 -msgid "Facebook" -msgstr "" - -#: lib/app.php:146 -msgid "XMPP" -msgstr "" - -#: lib/app.php:151 -msgid "ICQ" -msgstr "" - -#: lib/app.php:156 -msgid "Yahoo" -msgstr "" - -#: lib/app.php:161 -msgid "Skype" -msgstr "" - -#: lib/app.php:166 -msgid "QQ" -msgstr "" - -#: lib/app.php:171 -msgid "GaduGadu" -msgstr "" - -#: lib/app.php:194 lib/app.php:202 lib/app.php:213 lib/app.php:266 -msgid "Work" -msgstr "ที่ทำงาน" - -#: lib/app.php:195 lib/app.php:200 lib/app.php:214 -msgid "Home" -msgstr "บ้าน" - -#: lib/app.php:196 lib/app.php:209 lib/app.php:262 lib/vcard.php:593 -msgid "Other" -msgstr "อื่นๆ" - -#: lib/app.php:201 -msgid "Mobile" -msgstr "มือถือ" - -#: lib/app.php:203 -msgid "Text" -msgstr "ข้อความ" - -#: lib/app.php:204 -msgid "Voice" -msgstr "เสียงพูด" - -#: lib/app.php:205 -msgid "Message" -msgstr "ข้อความ" - -#: lib/app.php:206 -msgid "Fax" -msgstr "โทรสาร" - -#: lib/app.php:207 -msgid "Video" -msgstr "วีดีโอ" - -#: lib/app.php:208 -msgid "Pager" -msgstr "เพจเจอร์" - -#: lib/app.php:215 -msgid "Internet" -msgstr "อินเทอร์เน็ต" - -#: lib/app.php:252 templates/part.contact.php:45 -#: templates/part.contact.php:128 -msgid "Birthday" -msgstr "วันเกิด" - -#: lib/app.php:253 -msgid "Business" -msgstr "ธุรกิจ" - -#: lib/app.php:254 -msgid "Call" -msgstr "โทร" - -#: lib/app.php:255 -msgid "Clients" -msgstr "ลูกค้า" - -#: lib/app.php:256 -msgid "Deliverer" -msgstr "ผู้จัดส่ง" - -#: lib/app.php:257 -msgid "Holidays" -msgstr "วันหยุด" - -#: lib/app.php:258 -msgid "Ideas" -msgstr "ไอเดีย" - -#: lib/app.php:259 -msgid "Journey" -msgstr "การเดินทาง" - -#: lib/app.php:260 -msgid "Jubilee" -msgstr "งานเฉลิมฉลอง" - -#: lib/app.php:261 -msgid "Meeting" -msgstr "ประชุม" - -#: lib/app.php:263 -msgid "Personal" -msgstr "ส่วนตัว" - -#: lib/app.php:264 -msgid "Projects" -msgstr "โปรเจค" - -#: lib/app.php:265 -msgid "Questions" -msgstr "คำถาม" - -#: lib/hooks.php:102 -msgid "{name}'s Birthday" -msgstr "วันเกิดของ {name}" - -#: lib/search.php:15 -msgid "Contact" -msgstr "ข้อมูลการติดต่อ" - -#: lib/vcard.php:408 -msgid "You do not have the permissions to edit this contact." -msgstr "" - -#: lib/vcard.php:483 -msgid "You do not have the permissions to delete this contact." -msgstr "" - -#: templates/index.php:14 -msgid "Add Contact" -msgstr "เพิ่มรายชื่อผู้ติดต่อใหม่" - -#: templates/index.php:15 templates/index.php:16 templates/part.import.php:17 -msgid "Import" -msgstr "นำเข้า" - -#: templates/index.php:18 -msgid "Settings" -msgstr "ตั้งค่า" - -#: templates/index.php:18 templates/settings.php:9 -msgid "Addressbooks" -msgstr "สมุดบันทึกที่อยู่" - -#: templates/index.php:36 templates/part.import.php:24 -msgid "Close" -msgstr "ปิด" - -#: templates/index.php:37 -msgid "Keyboard shortcuts" -msgstr "ปุ่มลัด" - -#: templates/index.php:39 -msgid "Navigation" -msgstr "ระบบเมนู" - -#: templates/index.php:42 -msgid "Next contact in list" -msgstr "ข้อมูลผู้ติดต่อถัดไปในรายการ" - -#: templates/index.php:44 -msgid "Previous contact in list" -msgstr "ข้อมูลผู้ติดต่อก่อนหน้าในรายการ" - -#: templates/index.php:46 -msgid "Expand/collapse current addressbook" -msgstr "ขยาย/ย่อ สมุดบันทึกที่อยู่ปัจจุบัน" - -#: templates/index.php:48 -msgid "Next addressbook" -msgstr "สมุดบันทึกที่อยู่ถัดไป" - -#: templates/index.php:50 -msgid "Previous addressbook" -msgstr "สมุดบันทึกที่อยู่ก่อนหน้า" - -#: templates/index.php:54 -msgid "Actions" -msgstr "การกระทำ" - -#: templates/index.php:57 -msgid "Refresh contacts list" -msgstr "รีเฟรชรายชื่อผู้ติดต่อใหม่" - -#: templates/index.php:59 -msgid "Add new contact" -msgstr "เพิ่มข้อมูลผู้ติดต่อใหม่" - -#: templates/index.php:61 -msgid "Add new addressbook" -msgstr "เพิ่มสมุดบันทึกที่อยู่ใหม่" - -#: templates/index.php:63 -msgid "Delete current contact" -msgstr "ลบข้อมูลผู้ติดต่อปัจจุบัน" - -#: templates/part.contact.php:17 -msgid "Drop photo to upload" -msgstr "วางรูปภาพที่ต้องการอัพโหลด" - -#: templates/part.contact.php:19 -msgid "Delete current photo" -msgstr "ลบรูปภาพปัจจุบัน" - -#: templates/part.contact.php:20 -msgid "Edit current photo" -msgstr "แก้ไขรูปภาพปัจจุบัน" - -#: templates/part.contact.php:21 -msgid "Upload new photo" -msgstr "อัพโหลดรูปภาพใหม่" - -#: templates/part.contact.php:22 -msgid "Select photo from ownCloud" -msgstr "เลือกรูปภาพจาก ownCloud" - -#: templates/part.contact.php:35 -msgid "Format custom, Short name, Full name, Reverse or Reverse with comma" -msgstr "กำหนดรูปแบบของชื่อย่อ, ชื่อจริง, ย้อนค่ากลัีบด้วยคอมม่าเอง" - -#: templates/part.contact.php:36 -msgid "Edit name details" -msgstr "แก้ไขรายละเอียดของชื่อ" - -#: templates/part.contact.php:39 templates/part.contact.php:40 -#: templates/part.contact.php:126 -msgid "Organization" -msgstr "หน่วยงาน" - -#: templates/part.contact.php:40 templates/part.contact.php:42 -#: templates/part.contact.php:44 templates/part.contact.php:46 -#: templates/part.contact.php:50 templates/settings.php:36 -msgid "Delete" -msgstr "ลบ" - -#: templates/part.contact.php:41 templates/part.contact.php:127 -msgid "Nickname" -msgstr "ชื่อเล่น" - -#: templates/part.contact.php:42 -msgid "Enter nickname" -msgstr "กรอกชื่อเล่น" - -#: templates/part.contact.php:43 templates/part.contact.php:134 -msgid "Web site" -msgstr "เว็บไซต์" - -#: templates/part.contact.php:44 -msgid "http://www.somesite.com" -msgstr "http://www.somesite.com" - -#: templates/part.contact.php:44 -msgid "Go to web site" -msgstr "ไปที่เว็บไซต์" - -#: templates/part.contact.php:46 -msgid "dd-mm-yyyy" -msgstr "dd-mm-yyyy" - -#: templates/part.contact.php:47 templates/part.contact.php:135 -msgid "Groups" -msgstr "กลุ่ม" - -#: templates/part.contact.php:49 -msgid "Separate groups with commas" -msgstr "คั่นระหว่างรายชื่อกลุ่มด้วยเครื่องหมายจุลภาีคหรือคอมม่า" - -#: templates/part.contact.php:50 -msgid "Edit groups" -msgstr "แก้ไขกลุ่ม" - -#: templates/part.contact.php:59 templates/part.contact.php:73 -#: templates/part.contact.php:98 -msgid "Preferred" -msgstr "พิเศษ" - -#: templates/part.contact.php:60 -msgid "Please specify a valid email address." -msgstr "กรุณาระบุที่อยู่อีเมลที่ถูกต้อง" - -#: templates/part.contact.php:60 -msgid "Enter email address" -msgstr "กรอกที่อยู่อีเมล" - -#: templates/part.contact.php:64 -msgid "Mail to address" -msgstr "ส่งอีเมลไปที่" - -#: templates/part.contact.php:65 -msgid "Delete email address" -msgstr "ลบที่อยู่อีเมล" - -#: templates/part.contact.php:75 -msgid "Enter phone number" -msgstr "กรอกหมายเลขโทรศัพท์" - -#: templates/part.contact.php:79 -msgid "Delete phone number" -msgstr "ลบหมายเลขโทรศัพท์" - -#: templates/part.contact.php:100 -msgid "Instant Messenger" -msgstr "" - -#: templates/part.contact.php:101 -msgid "Delete IM" -msgstr "" - -#: templates/part.contact.php:110 -msgid "View on map" -msgstr "ดูบนแผนที่" - -#: templates/part.contact.php:110 -msgid "Edit address details" -msgstr "แก้ไขรายละเอียดที่อยู่" - -#: templates/part.contact.php:116 -msgid "Add notes here." -msgstr "เพิ่มหมายเหตุกำกับไว้ที่นี่" - -#: templates/part.contact.php:124 -msgid "Add field" -msgstr "เพิ่มช่องรับข้อมูล" - -#: templates/part.contact.php:129 -msgid "Phone" -msgstr "โทรศัพท์" - -#: templates/part.contact.php:130 -msgid "Email" -msgstr "อีเมล์" - -#: templates/part.contact.php:131 -msgid "Instant Messaging" -msgstr "" - -#: templates/part.contact.php:132 -msgid "Address" -msgstr "ที่อยู่" - -#: templates/part.contact.php:133 -msgid "Note" -msgstr "หมายเหตุ" - -#: templates/part.contact.php:138 -msgid "Download contact" -msgstr "ดาวน์โหลดข้อมูลการติดต่อ" - -#: templates/part.contact.php:139 -msgid "Delete contact" -msgstr "ลบข้อมูลการติดต่อ" - -#: templates/part.cropphoto.php:65 -msgid "The temporary image has been removed from cache." -msgstr "รูปภาพชั่วคราวดังกล่าวได้ถูกลบออกจากหน่วยความจำแคชแล้ว" - -#: templates/part.edit_address_dialog.php:6 -msgid "Edit address" -msgstr "แก้ไขที่อยู่" - -#: templates/part.edit_address_dialog.php:10 -msgid "Type" -msgstr "ประเภท" - -#: templates/part.edit_address_dialog.php:18 -#: templates/part.edit_address_dialog.php:21 -msgid "PO Box" -msgstr "ตู้ ปณ." - -#: templates/part.edit_address_dialog.php:24 -msgid "Street address" -msgstr "ที่อยู่" - -#: templates/part.edit_address_dialog.php:27 -msgid "Street and number" -msgstr "ถนนและหมายเลข" - -#: templates/part.edit_address_dialog.php:30 -msgid "Extended" -msgstr "เพิ่ม" - -#: templates/part.edit_address_dialog.php:33 -msgid "Apartment number etc." -msgstr "หมายเลขอพาร์ทเมนต์ ฯลฯ" - -#: templates/part.edit_address_dialog.php:36 -#: templates/part.edit_address_dialog.php:39 -msgid "City" -msgstr "เมือง" - -#: templates/part.edit_address_dialog.php:42 -msgid "Region" -msgstr "ภูมิภาค" - -#: templates/part.edit_address_dialog.php:45 -msgid "E.g. state or province" -msgstr "เช่น รัฐ หรือ จังหวัด" - -#: templates/part.edit_address_dialog.php:48 -msgid "Zipcode" -msgstr "รหัสไปรษณีย์" - -#: templates/part.edit_address_dialog.php:51 -msgid "Postal code" -msgstr "รหัสไปรษณีย์" - -#: templates/part.edit_address_dialog.php:54 -#: templates/part.edit_address_dialog.php:57 -msgid "Country" -msgstr "ประเทศ" - -#: templates/part.edit_name_dialog.php:16 -msgid "Addressbook" -msgstr "สมุดบันทึกที่อยู่" - -#: templates/part.edit_name_dialog.php:23 -msgid "Hon. prefixes" -msgstr "คำนำหน้าชื่อคนรัก" - -#: templates/part.edit_name_dialog.php:27 -msgid "Miss" -msgstr "นางสาว" - -#: templates/part.edit_name_dialog.php:28 -msgid "Ms" -msgstr "น.ส." - -#: templates/part.edit_name_dialog.php:29 -msgid "Mr" -msgstr "นาย" - -#: templates/part.edit_name_dialog.php:30 -msgid "Sir" -msgstr "คุณ" - -#: templates/part.edit_name_dialog.php:31 -msgid "Mrs" -msgstr "นาง" - -#: templates/part.edit_name_dialog.php:32 -msgid "Dr" -msgstr "ดร." - -#: templates/part.edit_name_dialog.php:35 -msgid "Given name" -msgstr "ชื่อที่ใช้" - -#: templates/part.edit_name_dialog.php:37 -msgid "Additional names" -msgstr "ชื่ออื่นๆ" - -#: templates/part.edit_name_dialog.php:39 -msgid "Family name" -msgstr "ชื่อครอบครัว" - -#: templates/part.edit_name_dialog.php:41 -msgid "Hon. suffixes" -msgstr "คำแนบท้ายชื่อคนรัก" - -#: templates/part.edit_name_dialog.php:45 -msgid "J.D." -msgstr "J.D." - -#: templates/part.edit_name_dialog.php:46 -msgid "M.D." -msgstr "M.D." - -#: templates/part.edit_name_dialog.php:47 -msgid "D.O." -msgstr "D.O." - -#: templates/part.edit_name_dialog.php:48 -msgid "D.C." -msgstr "D.C." - -#: templates/part.edit_name_dialog.php:49 -msgid "Ph.D." -msgstr "ปริญญาเอก" - -#: templates/part.edit_name_dialog.php:50 -msgid "Esq." -msgstr "Esq." - -#: templates/part.edit_name_dialog.php:51 -msgid "Jr." -msgstr "จูเนียร์" - -#: templates/part.edit_name_dialog.php:52 -msgid "Sn." -msgstr "ซีเนียร์" - -#: templates/part.import.php:1 -msgid "Import a contacts file" -msgstr "นำเข้าไฟล์ข้อมูลการติดต่อ" - -#: templates/part.import.php:6 -msgid "Please choose the addressbook" -msgstr "กรุณาเลือกสมุดบันทึกที่อยู่" - -#: templates/part.import.php:10 -msgid "create a new addressbook" -msgstr "สร้างสมุดบันทึกที่อยู่ใหม่" - -#: templates/part.import.php:15 -msgid "Name of new addressbook" -msgstr "กำหนดชื่อของสมุดที่อยู่ที่สร้างใหม่" - -#: templates/part.import.php:20 -msgid "Importing contacts" -msgstr "นำเข้าข้อมูลการติดต่อ" - -#: templates/part.no_contacts.php:3 -msgid "You have no contacts in your addressbook." -msgstr "คุณยังไม่มีข้อมูลการติดต่อใดๆในสมุดบันทึกที่อยู่ของคุณ" - -#: templates/part.no_contacts.php:5 -msgid "Add contact" -msgstr "เพิ่มชื่อผู้ติดต่อ" - -#: templates/part.selectaddressbook.php:1 -msgid "Select Address Books" -msgstr "เลือกสมุดบันทึกที่อยู่" - -#: templates/part.selectaddressbook.php:27 -msgid "Enter name" -msgstr "กรอกชื่อ" - -#: templates/part.selectaddressbook.php:29 -msgid "Enter description" -msgstr "กรอกคำอธิบาย" - -#: templates/settings.php:3 -msgid "CardDAV syncing addresses" -msgstr "ที่อยู่ที่ใช้เชื่อมข้อมูลกับ CardDAV" - -#: templates/settings.php:3 -msgid "more info" -msgstr "ข้อมูลเพิ่มเติม" - -#: templates/settings.php:5 -msgid "Primary address (Kontact et al)" -msgstr "ที่อยู่หลัก (สำหรับติดต่อ)" - -#: templates/settings.php:7 -msgid "iOS/OS X" -msgstr "iOS/OS X" - -#: templates/settings.php:20 -msgid "Show CardDav link" -msgstr "แสดงลิงก์ CardDav" - -#: templates/settings.php:23 -msgid "Show read-only VCF link" -msgstr "แสดงลิงก์ VCF สำหรับอ่านเท่านั้น" - -#: templates/settings.php:26 -msgid "Share" -msgstr "แชร์" - -#: templates/settings.php:29 -msgid "Download" -msgstr "ดาวน์โหลด" - -#: templates/settings.php:33 -msgid "Edit" -msgstr "แก้ไข" - -#: templates/settings.php:43 -msgid "New Address Book" -msgstr "สร้างสมุดบันทึกข้อมูลการติดต่อใหม่" - -#: templates/settings.php:44 -msgid "Name" -msgstr "ชื่อ" - -#: templates/settings.php:45 -msgid "Description" -msgstr "คำอธิบาย" - -#: templates/settings.php:46 -msgid "Save" -msgstr "บันทึก" - -#: templates/settings.php:47 -msgid "Cancel" -msgstr "ยกเลิก" - -#: templates/settings.php:52 -msgid "More..." -msgstr "เพิ่มเติม..." diff --git a/l10n/th_TH/core.po b/l10n/th_TH/core.po index 7c760142837d517a4960149b09365b81757463a8..2476f610e9b4edaea538b84625ffcb70b090e731 100644 --- a/l10n/th_TH/core.po +++ b/l10n/th_TH/core.po @@ -9,9 +9,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-16 02:04+0200\n" -"PO-Revision-Date: 2012-10-16 00:05+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-11-23 00:01+0100\n" +"PO-Revision-Date: 2012-11-22 10:55+0000\n" +"Last-Translator: AriesAnywhere Anywhere \n" "Language-Team: Thai (Thailand) (http://www.transifex.com/projects/p/owncloud/language/th_TH/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -19,209 +19,241 @@ msgstr "" "Language: th_TH\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: ajax/vcategories/add.php:23 ajax/vcategories/delete.php:23 -msgid "Application name not provided." -msgstr "ยังไม่ได้ตั้งชื่อแอพพลิเคชั่น" +#: ajax/vcategories/add.php:26 ajax/vcategories/edit.php:25 +msgid "Category type not provided." +msgstr "ยังไม่ได้ระบุชนิดของหมวดหมู่" -#: ajax/vcategories/add.php:29 +#: ajax/vcategories/add.php:30 msgid "No category to add?" msgstr "ไม่มีหมวดหมู่ที่ต้องการเพิ่ม?" -#: ajax/vcategories/add.php:36 +#: ajax/vcategories/add.php:37 msgid "This category already exists: " msgstr "หมวดหมู่นี้มีอยู่แล้ว: " -#: js/js.js:238 templates/layout.user.php:49 templates/layout.user.php:50 +#: ajax/vcategories/addToFavorites.php:26 ajax/vcategories/delete.php:27 +#: ajax/vcategories/favorites.php:24 +#: ajax/vcategories/removeFromFavorites.php:26 +msgid "Object type not provided." +msgstr "ชนิดของวัตถุยังไม่ได้ถูกระบุ" + +#: ajax/vcategories/addToFavorites.php:30 +#: ajax/vcategories/removeFromFavorites.php:30 +#, php-format +msgid "%s ID not provided." +msgstr "ยังไม่ได้ระบุรหัส %s" + +#: ajax/vcategories/addToFavorites.php:35 +#, php-format +msgid "Error adding %s to favorites." +msgstr "เกิดข้อผิดพลาดในการเพิ่ม %s เข้าไปยังรายการโปรด" + +#: ajax/vcategories/delete.php:35 js/oc-vcategories.js:136 +msgid "No categories selected for deletion." +msgstr "ยังไม่ได้เลือกหมวดหมู่ที่ต้องการลบ" + +#: ajax/vcategories/removeFromFavorites.php:35 +#, php-format +msgid "Error removing %s from favorites." +msgstr "เกิดข้อผิดพลาดในการลบ %s ออกจากรายการโปรด" + +#: js/js.js:259 templates/layout.user.php:60 templates/layout.user.php:61 msgid "Settings" msgstr "ตั้งค่า" -#: js/js.js:670 -msgid "January" -msgstr "มกราคม" +#: js/js.js:704 +msgid "seconds ago" +msgstr "วินาที ก่อนหน้านี้" -#: js/js.js:670 -msgid "February" -msgstr "กุมภาพันธ์" +#: js/js.js:705 +msgid "1 minute ago" +msgstr "1 นาทีก่อนหน้านี้" -#: js/js.js:670 -msgid "March" -msgstr "มีนาคม" +#: js/js.js:706 +msgid "{minutes} minutes ago" +msgstr "{minutes} นาทีก่อนหน้านี้" -#: js/js.js:670 -msgid "April" -msgstr "เมษายน" +#: js/js.js:707 +msgid "1 hour ago" +msgstr "1 ชั่วโมงก่อนหน้านี้" -#: js/js.js:670 -msgid "May" -msgstr "พฤษภาคม" +#: js/js.js:708 +msgid "{hours} hours ago" +msgstr "{hours} ชั่วโมงก่อนหน้านี้" -#: js/js.js:670 -msgid "June" -msgstr "มิถุนายน" +#: js/js.js:709 +msgid "today" +msgstr "วันนี้" -#: js/js.js:671 -msgid "July" -msgstr "กรกฏาคม" +#: js/js.js:710 +msgid "yesterday" +msgstr "เมื่อวานนี้" -#: js/js.js:671 -msgid "August" -msgstr "สิงหาคม" +#: js/js.js:711 +msgid "{days} days ago" +msgstr "{day} วันก่อนหน้านี้" -#: js/js.js:671 -msgid "September" -msgstr "กันยายน" +#: js/js.js:712 +msgid "last month" +msgstr "เดือนที่แล้ว" -#: js/js.js:671 -msgid "October" -msgstr "ตุลาคม" +#: js/js.js:713 +msgid "{months} months ago" +msgstr "{months} เดือนก่อนหน้านี้" -#: js/js.js:671 -msgid "November" -msgstr "พฤศจิกายน" +#: js/js.js:714 +msgid "months ago" +msgstr "เดือน ที่ผ่านมา" -#: js/js.js:671 -msgid "December" -msgstr "ธันวาคม" +#: js/js.js:715 +msgid "last year" +msgstr "ปีที่แล้ว" -#: js/oc-dialogs.js:123 +#: js/js.js:716 +msgid "years ago" +msgstr "ปี ที่ผ่านมา" + +#: js/oc-dialogs.js:126 msgid "Choose" msgstr "เลือก" -#: js/oc-dialogs.js:143 js/oc-dialogs.js:163 +#: js/oc-dialogs.js:146 js/oc-dialogs.js:166 msgid "Cancel" msgstr "ยกเลิก" -#: js/oc-dialogs.js:159 +#: js/oc-dialogs.js:162 msgid "No" msgstr "ไม่ตกลง" -#: js/oc-dialogs.js:160 +#: js/oc-dialogs.js:163 msgid "Yes" msgstr "ตกลง" -#: js/oc-dialogs.js:177 +#: js/oc-dialogs.js:180 msgid "Ok" msgstr "ตกลง" -#: js/oc-vcategories.js:68 -msgid "No categories selected for deletion." -msgstr "ยังไม่ได้เลือกหมวดหมู่ที่ต้องการลบ" +#: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102 +#: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162 +msgid "The object type is not specified." +msgstr "ชนิดของวัตถุยังไม่ได้รับการระบุ" -#: js/oc-vcategories.js:68 js/share.js:114 js/share.js:121 js/share.js:497 -#: js/share.js:509 +#: js/oc-vcategories.js:95 js/oc-vcategories.js:125 js/oc-vcategories.js:136 +#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:527 +#: js/share.js:539 msgid "Error" msgstr "พบข้อผิดพลาด" -#: js/share.js:103 +#: js/oc-vcategories.js:179 +msgid "The app name is not specified." +msgstr "ชื่อของแอปยังไม่ได้รับการระบุชื่อ" + +#: js/oc-vcategories.js:194 +msgid "The required file {file} is not installed!" +msgstr "ไฟล์ {file} ซึ่งเป็นไฟล์ที่จำเป็นต้องได้รับการติดตั้งไว้ก่อน ยังไม่ได้ถูกติดตั้ง" + +#: js/share.js:124 msgid "Error while sharing" msgstr "เกิดข้อผิดพลาดในระหว่างการแชร์ข้อมูล" -#: js/share.js:114 +#: js/share.js:135 msgid "Error while unsharing" msgstr "เกิดข้อผิดพลาดในการยกเลิกการแชร์ข้อมูล" -#: js/share.js:121 +#: js/share.js:142 msgid "Error while changing permissions" msgstr "เกิดข้อผิดพลาดในการเปลี่ยนสิทธิ์การเข้าใช้งาน" -#: js/share.js:130 -msgid "Shared with you and the group" -msgstr "แชร์ให้คุณและกลุ่ม" +#: js/share.js:151 +msgid "Shared with you and the group {group} by {owner}" +msgstr "ได้แชร์ให้กับคุณ และกลุ่ม {group} โดย {owner}" -#: js/share.js:130 -msgid "by" -msgstr "โดย" - -#: js/share.js:132 -msgid "Shared with you by" -msgstr "แชร์ให้คุณโดย" +#: js/share.js:153 +msgid "Shared with you by {owner}" +msgstr "ถูกแชร์ให้กับคุณโดย {owner}" -#: js/share.js:137 +#: js/share.js:158 msgid "Share with" msgstr "แชร์ให้กับ" -#: js/share.js:142 +#: js/share.js:163 msgid "Share with link" msgstr "แชร์ด้วยลิงก์" -#: js/share.js:143 +#: js/share.js:164 msgid "Password protect" msgstr "ใส่รหัสผ่านไว้" -#: js/share.js:147 templates/installation.php:42 templates/login.php:24 +#: js/share.js:168 templates/installation.php:42 templates/login.php:24 #: templates/verify.php:13 msgid "Password" msgstr "รหัสผ่าน" -#: js/share.js:152 +#: js/share.js:173 msgid "Set expiration date" msgstr "กำหนดวันที่หมดอายุ" -#: js/share.js:153 +#: js/share.js:174 msgid "Expiration date" msgstr "วันที่หมดอายุ" -#: js/share.js:185 +#: js/share.js:206 msgid "Share via email:" msgstr "แชร์ผ่านทางอีเมล" -#: js/share.js:187 +#: js/share.js:208 msgid "No people found" msgstr "ไม่พบบุคคลที่ต้องการ" -#: js/share.js:214 +#: js/share.js:235 msgid "Resharing is not allowed" msgstr "ไม่อนุญาตให้แชร์ข้อมูลซ้ำได้" -#: js/share.js:250 -msgid "Shared in" -msgstr "แชร์ไว้ใน" - -#: js/share.js:250 -msgid "with" -msgstr "ด้วย" - #: js/share.js:271 +msgid "Shared in {item} with {user}" +msgstr "ได้แชร์ {item} ให้กับ {user}" + +#: js/share.js:292 msgid "Unshare" msgstr "ยกเลิกการแชร์" -#: js/share.js:283 +#: js/share.js:304 msgid "can edit" msgstr "สามารถแก้ไข" -#: js/share.js:285 +#: js/share.js:306 msgid "access control" msgstr "ระดับควบคุมการเข้าใช้งาน" -#: js/share.js:288 +#: js/share.js:309 msgid "create" msgstr "สร้าง" -#: js/share.js:291 +#: js/share.js:312 msgid "update" msgstr "อัพเดท" -#: js/share.js:294 +#: js/share.js:315 msgid "delete" msgstr "ลบ" -#: js/share.js:297 +#: js/share.js:318 msgid "share" msgstr "แชร์" -#: js/share.js:322 js/share.js:484 +#: js/share.js:343 js/share.js:514 js/share.js:516 msgid "Password protected" msgstr "ใส่รหัสผ่านไว้" -#: js/share.js:497 +#: js/share.js:527 msgid "Error unsetting expiration date" msgstr "เกิดข้อผิดพลาดในการยกเลิกการตั้งค่าวันที่หมดอายุ" -#: js/share.js:509 +#: js/share.js:539 msgid "Error setting expiration date" msgstr "เกิดข้อผิดพลาดในการตั้งค่าวันที่หมดอายุ" -#: lostpassword/index.php:26 +#: lostpassword/controller.php:47 msgid "ownCloud password reset" msgstr "รีเซ็ตรหัสผ่าน ownCloud" @@ -234,12 +266,12 @@ msgid "You will receive a link to reset your password via Email." msgstr "คุณจะได้รับลิงค์เพื่อกำหนดรหัสผ่านใหม่ทางอีเมล์" #: lostpassword/templates/lostpassword.php:5 -msgid "Requested" -msgstr "ส่งคำร้องเรียบร้อยแล้ว" +msgid "Reset email send." +msgstr "รีเซ็ตค่าการส่งอีเมล" #: lostpassword/templates/lostpassword.php:8 -msgid "Login failed!" -msgstr "ไม่สามารถเข้าสู่ระบบได้!" +msgid "Request failed!" +msgstr "คำร้องขอล้มเหลว!" #: lostpassword/templates/lostpassword.php:11 templates/installation.php:38 #: templates/login.php:20 @@ -298,25 +330,25 @@ msgstr "ไม่พบ Cloud" msgid "Edit categories" msgstr "แก้ไขหมวดหมู่" -#: templates/edit_categories_dialog.php:14 +#: templates/edit_categories_dialog.php:16 msgid "Add" msgstr "เพิ่ม" #: templates/installation.php:23 templates/installation.php:31 msgid "Security Warning" -msgstr "" +msgstr "คำเตือนเกี่ยวกับความปลอดภัย" #: templates/installation.php:24 msgid "" "No secure random number generator is available, please enable the PHP " "OpenSSL extension." -msgstr "" +msgstr "ยังไม่มีตัวสร้างหมายเลขแบบสุ่มให้ใช้งาน, กรุณาเปิดใช้งานส่วนเสริม PHP OpenSSL" #: templates/installation.php:26 msgid "" "Without a secure random number generator an attacker may be able to predict " "password reset tokens and take over your account." -msgstr "" +msgstr "หากปราศจากตัวสร้างหมายเลขแบบสุ่มที่ช่วยป้องกันความปลอดภัย ผู้บุกรุกอาจสามารถที่จะคาดคะเนรหัสยืนยันการเข้าถึงเพื่อรีเซ็ตรหัสผ่าน และเอาบัญชีของคุณไปเป็นของตนเองได้" #: templates/installation.php:32 msgid "" @@ -325,7 +357,7 @@ msgid "" "strongly suggest that you configure your webserver in a way that the data " "directory is no longer accessible or you move the data directory outside the" " webserver document root." -msgstr "" +msgstr "ไดเร็กทอรี่ข้อมูลและไฟล์ของคุณสามารถเข้าถึงได้จากอินเทอร์เน็ต ไฟล์ .htaccess ที่ ownCloud มีให้ไม่สามารถทำงานได้อย่างเหมาะสม เราขอแนะนำให้คุณกำหนดค่าเว็บเซิร์ฟเวอร์ใหม่ในรูปแบบที่ไดเร็กทอรี่เก็บข้อมูลไม่สามารถเข้าถึงได้อีกต่อไป หรือคุณได้ย้ายไดเร็กทอรี่ที่ใช้เก็บข้อมูลไปอยู่ภายนอกตำแหน่ง root ของเว็บเซิร์ฟเวอร์แล้ว" #: templates/installation.php:36 msgid "Create an admin account" @@ -372,27 +404,103 @@ msgstr "Database host" msgid "Finish setup" msgstr "ติดตั้งเรียบร้อยแล้ว" -#: templates/layout.guest.php:38 +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Sunday" +msgstr "วันอาทิตย์" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Monday" +msgstr "วันจันทร์" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Tuesday" +msgstr "วันอังคาร" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Wednesday" +msgstr "วันพุธ" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Thursday" +msgstr "วันพฤหัสบดี" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Friday" +msgstr "วันศุกร์" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Saturday" +msgstr "วันเสาร์" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "January" +msgstr "มกราคม" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "February" +msgstr "กุมภาพันธ์" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "March" +msgstr "มีนาคม" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "April" +msgstr "เมษายน" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "May" +msgstr "พฤษภาคม" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "June" +msgstr "มิถุนายน" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "July" +msgstr "กรกฏาคม" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "August" +msgstr "สิงหาคม" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "September" +msgstr "กันยายน" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "October" +msgstr "ตุลาคม" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "November" +msgstr "พฤศจิกายน" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "December" +msgstr "ธันวาคม" + +#: templates/layout.guest.php:42 msgid "web services under your control" msgstr "web services under your control" -#: templates/layout.user.php:34 +#: templates/layout.user.php:45 msgid "Log out" msgstr "ออกจากระบบ" #: templates/login.php:8 msgid "Automatic logon rejected!" -msgstr "" +msgstr "การเข้าสู่ระบบอัตโนมัติถูกปฏิเสธแล้ว" #: templates/login.php:9 msgid "" "If you did not change your password recently, your account may be " "compromised!" -msgstr "" +msgstr "หากคุณยังไม่ได้เปลี่ยนรหัสผ่านของคุณเมื่อเร็วๆนี้, บัญชีของคุณอาจถูกบุกรุกโดยผู้อื่น" #: templates/login.php:10 msgid "Please change your password to secure your account again." -msgstr "" +msgstr "กรุณาเปลี่ยนรหัสผ่านของคุณอีกครั้ง เพื่อป้องกันบัญชีของคุณให้ปลอดภัย" #: templates/login.php:15 msgid "Lost your password?" @@ -420,14 +528,14 @@ msgstr "ถัดไป" #: templates/verify.php:5 msgid "Security Warning!" -msgstr "" +msgstr "คำเตือนเพื่อความปลอดภัย!" #: templates/verify.php:6 msgid "" "Please verify your password.
For security reasons you may be " "occasionally asked to enter your password again." -msgstr "" +msgstr "กรุณายืนยันรหัสผ่านของคุณ
เพื่อความปลอดภัย คุณจะถูกขอให้กรอกรหัสผ่านอีกครั้ง" #: templates/verify.php:16 msgid "Verify" -msgstr "" +msgstr "ยืนยัน" diff --git a/l10n/th_TH/files.po b/l10n/th_TH/files.po index 51624d8fc18262fe022ca4220d5b7c866b382ff7..63252d606771c3964c746b3ad2549d886412a441 100644 --- a/l10n/th_TH/files.po +++ b/l10n/th_TH/files.po @@ -9,9 +9,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-09-27 02:01+0200\n" -"PO-Revision-Date: 2012-09-26 11:27+0000\n" -"Last-Translator: AriesAnywhere Anywhere \n" +"POT-Creation-Date: 2012-12-01 00:01+0100\n" +"PO-Revision-Date: 2012-11-30 23:02+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Thai (Thailand) (http://www.transifex.com/projects/p/owncloud/language/th_TH/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -24,195 +24,166 @@ msgid "There is no error, the file uploaded with success" msgstr "ไม่มีข้อผิดพลาดใดๆ ไฟล์ถูกอัพโหลดเรียบร้อยแล้ว" #: ajax/upload.php:21 -msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" -msgstr "ไฟล์ที่อัพโหลดมีขนาดเกินคำสั่ง upload_max_filesize ที่ระบุเอาไว้ในไฟล์ php.ini" +msgid "" +"The uploaded file exceeds the upload_max_filesize directive in php.ini: " +msgstr "" -#: ajax/upload.php:22 +#: ajax/upload.php:23 msgid "" "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " "the HTML form" msgstr "ไฟล์ที่อัพโหลดมีขนาดเกินคำสั่ง MAX_FILE_SIZE ที่ระบุเอาไว้ในรูปแบบคำสั่งในภาษา HTML" -#: ajax/upload.php:23 +#: ajax/upload.php:25 msgid "The uploaded file was only partially uploaded" msgstr "ไฟล์ที่อัพโหลดยังไม่ได้ถูกอัพโหลดอย่างสมบูรณ์" -#: ajax/upload.php:24 +#: ajax/upload.php:26 msgid "No file was uploaded" msgstr "ยังไม่มีไฟล์ที่ถูกอัพโหลด" -#: ajax/upload.php:25 +#: ajax/upload.php:27 msgid "Missing a temporary folder" msgstr "แฟ้มเอกสารชั่วคราวเกิดการสูญหาย" -#: ajax/upload.php:26 +#: ajax/upload.php:28 msgid "Failed to write to disk" msgstr "เขียนข้อมูลลงแผ่นดิสก์ล้มเหลว" -#: appinfo/app.php:6 +#: appinfo/app.php:10 msgid "Files" msgstr "ไฟล์" -#: js/fileactions.js:108 templates/index.php:62 +#: js/fileactions.js:117 templates/index.php:83 templates/index.php:84 msgid "Unshare" msgstr "ยกเลิกการแชร์ข้อมูล" -#: js/fileactions.js:110 templates/index.php:64 +#: js/fileactions.js:119 templates/index.php:89 templates/index.php:90 msgid "Delete" msgstr "ลบ" -#: js/fileactions.js:182 +#: js/fileactions.js:181 msgid "Rename" msgstr "เปลี่ยนชื่อ" -#: js/filelist.js:190 js/filelist.js:192 -msgid "already exists" -msgstr "มีอยู่แล้ว" +#: js/filelist.js:201 js/filelist.js:203 +msgid "{new_name} already exists" +msgstr "{new_name} มีอยู่แล้วในระบบ" -#: js/filelist.js:190 js/filelist.js:192 +#: js/filelist.js:201 js/filelist.js:203 msgid "replace" msgstr "แทนที่" -#: js/filelist.js:190 +#: js/filelist.js:201 msgid "suggest name" msgstr "แนะนำชื่อ" -#: js/filelist.js:190 js/filelist.js:192 +#: js/filelist.js:201 js/filelist.js:203 msgid "cancel" msgstr "ยกเลิก" -#: js/filelist.js:239 js/filelist.js:241 -msgid "replaced" -msgstr "แทนที่แล้ว" +#: js/filelist.js:250 +msgid "replaced {new_name}" +msgstr "แทนที่ {new_name} แล้ว" -#: js/filelist.js:239 js/filelist.js:241 js/filelist.js:273 js/filelist.js:275 +#: js/filelist.js:250 js/filelist.js:252 js/filelist.js:284 js/filelist.js:286 msgid "undo" msgstr "เลิกทำ" -#: js/filelist.js:241 -msgid "with" -msgstr "กับ" +#: js/filelist.js:252 +msgid "replaced {new_name} with {old_name}" +msgstr "แทนที่ {new_name} ด้วย {old_name} แล้ว" -#: js/filelist.js:273 -msgid "unshared" -msgstr "ยกเลิกการแชร์ข้อมูลแล้ว" +#: js/filelist.js:284 +msgid "unshared {files}" +msgstr "ยกเลิกการแชร์แล้ว {files} ไฟล์" -#: js/filelist.js:275 -msgid "deleted" -msgstr "ลบแล้ว" +#: js/filelist.js:286 +msgid "deleted {files}" +msgstr "ลบไฟล์แล้ว {files} ไฟล์" -#: js/files.js:179 +#: js/files.js:33 +msgid "" +"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not " +"allowed." +msgstr "ชื่อที่ใช้ไม่ถูกต้อง, '\\', '/', '<', '>', ':', '\"', '|', '?' และ '*' ไม่ได้รับอนุญาตให้ใช้งานได้" + +#: js/files.js:183 msgid "generating ZIP-file, it may take some time." msgstr "กำลังสร้างไฟล์บีบอัด ZIP อาจใช้เวลาสักครู่" -#: js/files.js:208 +#: js/files.js:218 msgid "Unable to upload your file as it is a directory or has 0 bytes" msgstr "ไม่สามารถอัพโหลดไฟล์ของคุณได้ เนื่องจากไฟล์ดังกล่าวเป็นไดเร็กทอรี่หรือมีขนาด 0 ไบต์" -#: js/files.js:208 +#: js/files.js:218 msgid "Upload Error" msgstr "เกิดข้อผิดพลาดในการอัพโหลด" -#: js/files.js:236 js/files.js:341 js/files.js:371 +#: js/files.js:235 +msgid "Close" +msgstr "ปิด" + +#: js/files.js:254 js/files.js:368 js/files.js:398 msgid "Pending" msgstr "อยู่ระหว่างดำเนินการ" -#: js/files.js:256 +#: js/files.js:274 msgid "1 file uploading" msgstr "กำลังอัพโหลดไฟล์ 1 ไฟล์" -#: js/files.js:259 js/files.js:304 js/files.js:319 -msgid "files uploading" -msgstr "การอัพโหลดไฟล์" +#: js/files.js:277 js/files.js:331 js/files.js:346 +msgid "{count} files uploading" +msgstr "กำลังอัพโหลด {count} ไฟล์" -#: js/files.js:322 js/files.js:355 +#: js/files.js:349 js/files.js:382 msgid "Upload cancelled." msgstr "การอัพโหลดถูกยกเลิก" -#: js/files.js:424 +#: js/files.js:451 msgid "" "File upload is in progress. Leaving the page now will cancel the upload." msgstr "การอัพโหลดไฟล์กำลังอยู่ในระหว่างดำเนินการ การออกจากหน้าเว็บนี้จะทำให้การอัพโหลดถูกยกเลิก" -#: js/files.js:494 -msgid "Invalid name, '/' is not allowed." -msgstr "ชื่อที่ใช้ไม่ถูกต้อง '/' ไม่อนุญาตให้ใช้งาน" +#: js/files.js:523 +msgid "Invalid folder name. Usage of \"Shared\" is reserved by Owncloud" +msgstr "ชื่อโฟลเดอร์ที่ใช้ไม่ถูกต้อง การใช้งาน \"ถูกแชร์\" ถูกสงวนไว้เฉพาะ Owncloud เท่านั้น" -#: js/files.js:668 -msgid "files scanned" -msgstr "ไฟล์ต่างๆได้รับการสแกนแล้ว" +#: js/files.js:704 +msgid "{count} files scanned" +msgstr "สแกนไฟล์แล้ว {count} ไฟล์" -#: js/files.js:676 +#: js/files.js:712 msgid "error while scanning" msgstr "พบข้อผิดพลาดในระหว่างการสแกนไฟล์" -#: js/files.js:749 templates/index.php:48 +#: js/files.js:785 templates/index.php:65 msgid "Name" msgstr "ชื่อ" -#: js/files.js:750 templates/index.php:56 +#: js/files.js:786 templates/index.php:76 msgid "Size" msgstr "ขนาด" -#: js/files.js:751 templates/index.php:58 +#: js/files.js:787 templates/index.php:78 msgid "Modified" msgstr "ปรับปรุงล่าสุด" -#: js/files.js:778 -msgid "folder" -msgstr "โฟลเดอร์" - -#: js/files.js:780 -msgid "folders" -msgstr "โฟลเดอร์" - -#: js/files.js:788 -msgid "file" -msgstr "ไฟล์" - -#: js/files.js:790 -msgid "files" -msgstr "ไฟล์" - -#: js/files.js:834 -msgid "seconds ago" -msgstr "วินาที ก่อนหน้านี้" +#: js/files.js:814 +msgid "1 folder" +msgstr "1 โฟลเดอร์" -#: js/files.js:835 -msgid "minute ago" -msgstr "นาที ที่ผ่านมา" +#: js/files.js:816 +msgid "{count} folders" +msgstr "{count} โฟลเดอร์" -#: js/files.js:836 -msgid "minutes ago" -msgstr "นาที ที่ผ่านมา" +#: js/files.js:824 +msgid "1 file" +msgstr "1 ไฟล์" -#: js/files.js:839 -msgid "today" -msgstr "วันนี้" - -#: js/files.js:840 -msgid "yesterday" -msgstr "เมื่อวานนี้" - -#: js/files.js:841 -msgid "days ago" -msgstr "วัน ที่ผ่านมา" - -#: js/files.js:842 -msgid "last month" -msgstr "เดือนที่แล้ว" - -#: js/files.js:844 -msgid "months ago" -msgstr "เดือน ที่ผ่านมา" - -#: js/files.js:845 -msgid "last year" -msgstr "ปีที่แล้ว" - -#: js/files.js:846 -msgid "years ago" -msgstr "ปี ที่ผ่านมา" +#: js/files.js:826 +msgid "{count} files" +msgstr "{count} ไฟล์" #: templates/admin.php:5 msgid "File handling" @@ -222,27 +193,27 @@ msgstr "การจัดกาไฟล์" msgid "Maximum upload size" msgstr "ขนาดไฟล์สูงสุดที่อัพโหลดได้" -#: templates/admin.php:7 +#: templates/admin.php:9 msgid "max. possible: " msgstr "จำนวนสูงสุดที่สามารถทำได้: " -#: templates/admin.php:9 +#: templates/admin.php:12 msgid "Needed for multi-file and folder downloads." msgstr "จำเป็นต้องใช้สำหรับการดาวน์โหลดไฟล์พร้อมกันหลายๆไฟล์หรือดาวน์โหลดทั้งโฟลเดอร์" -#: templates/admin.php:9 +#: templates/admin.php:14 msgid "Enable ZIP-download" msgstr "อนุญาตให้ดาวน์โหลดเป็นไฟล์ ZIP ได้" -#: templates/admin.php:11 +#: templates/admin.php:17 msgid "0 is unlimited" msgstr "0 หมายถึงไม่จำกัด" -#: templates/admin.php:12 +#: templates/admin.php:19 msgid "Maximum input size for ZIP files" msgstr "ขนาดไฟล์ ZIP สูงสุด" -#: templates/admin.php:14 +#: templates/admin.php:23 msgid "Save" msgstr "บันทึก" @@ -250,52 +221,48 @@ msgstr "บันทึก" msgid "New" msgstr "อัพโหลดไฟล์ใหม่" -#: templates/index.php:9 +#: templates/index.php:10 msgid "Text file" msgstr "ไฟล์ข้อความ" -#: templates/index.php:10 +#: templates/index.php:12 msgid "Folder" msgstr "แฟ้มเอกสาร" -#: templates/index.php:11 -msgid "From url" -msgstr "จาก url" +#: templates/index.php:14 +msgid "From link" +msgstr "จากลิงก์" -#: templates/index.php:20 +#: templates/index.php:35 msgid "Upload" msgstr "อัพโหลด" -#: templates/index.php:27 +#: templates/index.php:43 msgid "Cancel upload" msgstr "ยกเลิกการอัพโหลด" -#: templates/index.php:40 +#: templates/index.php:57 msgid "Nothing in here. Upload something!" msgstr "ยังไม่มีไฟล์ใดๆอยู่ที่นี่ กรุณาอัพโหลดไฟล์!" -#: templates/index.php:50 -msgid "Share" -msgstr "แชร์" - -#: templates/index.php:52 +#: templates/index.php:71 msgid "Download" msgstr "ดาวน์โหลด" -#: templates/index.php:75 +#: templates/index.php:103 msgid "Upload too large" msgstr "ไฟล์ที่อัพโหลดมีขนาดใหญ่เกินไป" -#: templates/index.php:77 +#: templates/index.php:105 msgid "" "The files you are trying to upload exceed the maximum size for file uploads " "on this server." msgstr "ไฟล์ที่คุณพยายามที่จะอัพโหลดมีขนาดเกินกว่าขนาดสูงสุดที่กำหนดไว้ให้อัพโหลดได้สำหรับเซิร์ฟเวอร์นี้" -#: templates/index.php:82 +#: templates/index.php:110 msgid "Files are being scanned, please wait." msgstr "ไฟล์กำลังอยู่ระหว่างการสแกน, กรุณารอสักครู่." -#: templates/index.php:85 +#: templates/index.php:113 msgid "Current scanning" msgstr "ไฟล์ที่กำลังสแกนอยู่ขณะนี้" diff --git a/l10n/th_TH/files_external.po b/l10n/th_TH/files_external.po index 352e137fc48c80ce996f03c37d229d69ffc18562..21a5b596fdc5d11e8fde690190a02fbb73b1b698 100644 --- a/l10n/th_TH/files_external.po +++ b/l10n/th_TH/files_external.po @@ -8,9 +8,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-04 02:04+0200\n" -"PO-Revision-Date: 2012-10-03 22:20+0000\n" -"Last-Translator: AriesAnywhere Anywhere \n" +"POT-Creation-Date: 2012-12-12 00:12+0100\n" +"PO-Revision-Date: 2012-12-11 23:13+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Thai (Thailand) (http://www.transifex.com/projects/p/owncloud/language/th_TH/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -42,66 +42,80 @@ msgstr "กรุณากรอกรหัส app key ของ Dropbox แล msgid "Error configuring Google Drive storage" msgstr "เกิดข้อผิดพลาดในการกำหนดค่าการจัดเก็บข้อมูลในพื้นที่ของ Google Drive" +#: lib/config.php:434 +msgid "" +"Warning: \"smbclient\" is not installed. Mounting of CIFS/SMB shares " +"is not possible. Please ask your system administrator to install it." +msgstr "" + +#: lib/config.php:435 +msgid "" +"Warning: The FTP support in PHP is not enabled or installed. Mounting" +" of FTP shares is not possible. Please ask your system administrator to " +"install it." +msgstr "" + #: templates/settings.php:3 msgid "External Storage" msgstr "พื้นทีจัดเก็บข้อมูลจากภายนอก" -#: templates/settings.php:7 templates/settings.php:19 +#: templates/settings.php:8 templates/settings.php:22 msgid "Mount point" msgstr "จุดชี้ตำแหน่ง" -#: templates/settings.php:8 +#: templates/settings.php:9 msgid "Backend" msgstr "ด้านหลังระบบ" -#: templates/settings.php:9 +#: templates/settings.php:10 msgid "Configuration" msgstr "การกำหนดค่า" -#: templates/settings.php:10 +#: templates/settings.php:11 msgid "Options" msgstr "ตัวเลือก" -#: templates/settings.php:11 +#: templates/settings.php:12 msgid "Applicable" msgstr "สามารถใช้งานได้" -#: templates/settings.php:23 +#: templates/settings.php:27 msgid "Add mount point" msgstr "เพิ่มจุดชี้ตำแหน่ง" -#: templates/settings.php:54 templates/settings.php:62 +#: templates/settings.php:85 msgid "None set" msgstr "ยังไม่มีการกำหนด" -#: templates/settings.php:63 +#: templates/settings.php:86 msgid "All Users" msgstr "ผู้ใช้งานทั้งหมด" -#: templates/settings.php:64 +#: templates/settings.php:87 msgid "Groups" msgstr "กลุ่ม" -#: templates/settings.php:69 +#: templates/settings.php:95 msgid "Users" msgstr "ผู้ใช้งาน" -#: templates/settings.php:77 templates/settings.php:107 +#: templates/settings.php:108 templates/settings.php:109 +#: templates/settings.php:149 templates/settings.php:150 msgid "Delete" msgstr "ลบ" -#: templates/settings.php:87 +#: templates/settings.php:124 msgid "Enable User External Storage" msgstr "เปิดให้มีการใช้พื้นที่จัดเก็บข้อมูลของผู้ใช้งานจากภายนอกได้" -#: templates/settings.php:88 +#: templates/settings.php:125 msgid "Allow users to mount their own external storage" msgstr "อนุญาตให้ผู้ใช้งานสามารถชี้ตำแหน่งไปที่พื้นที่จัดเก็บข้อมูลภายนอกของตนเองได้" -#: templates/settings.php:99 +#: templates/settings.php:139 msgid "SSL root certificates" msgstr "ใบรับรองความปลอดภัยด้วยระบบ SSL จาก Root" -#: templates/settings.php:113 +#: templates/settings.php:158 msgid "Import Root Certificate" msgstr "นำเข้าข้อมูลใบรับรองความปลอดภัยจาก Root" diff --git a/l10n/th_TH/files_pdfviewer.po b/l10n/th_TH/files_pdfviewer.po deleted file mode 100644 index 354985befa1ce26ef553a8582d6d07dc8b7f3121..0000000000000000000000000000000000000000 --- a/l10n/th_TH/files_pdfviewer.po +++ /dev/null @@ -1,42 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 02:18+0200\n" -"PO-Revision-Date: 2012-08-26 00:19+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Thai (Thailand) (http://www.transifex.com/projects/p/owncloud/language/th_TH/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: th_TH\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: js/viewer.js:22 -msgid "Previous" -msgstr "" - -#: js/viewer.js:23 -msgid "Next" -msgstr "" - -#: js/viewer.js:29 -msgid "Page Width" -msgstr "" - -#: js/viewer.js:29 -msgid "Page Fit" -msgstr "" - -#: js/viewer.js:30 -msgid "Print" -msgstr "" - -#: js/viewer.js:32 -msgid "Download" -msgstr "" diff --git a/l10n/th_TH/files_texteditor.po b/l10n/th_TH/files_texteditor.po deleted file mode 100644 index 00accf8089f7f91b815f61828dc75e5a483e1080..0000000000000000000000000000000000000000 --- a/l10n/th_TH/files_texteditor.po +++ /dev/null @@ -1,44 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 01:17+0200\n" -"PO-Revision-Date: 2012-08-25 23:18+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Thai (Thailand) (http://www.transifex.com/projects/p/owncloud/language/th_TH/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: th_TH\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: js/aceeditor/mode-coldfusion-uncompressed.js:1568 -#: js/aceeditor/mode-liquid-uncompressed.js:902 -#: js/aceeditor/mode-svg-uncompressed.js:1575 -msgid "regex" -msgstr "" - -#: js/editor.js:72 js/editor.js:156 js/editor.js:163 -msgid "Save" -msgstr "" - -#: js/editor.js:74 -msgid "Close" -msgstr "" - -#: js/editor.js:149 -msgid "Saving..." -msgstr "" - -#: js/editor.js:239 -msgid "An error occurred!" -msgstr "" - -#: js/editor.js:266 -msgid "There were unsaved changes, click here to go back" -msgstr "" diff --git a/l10n/th_TH/gallery.po b/l10n/th_TH/gallery.po deleted file mode 100644 index d442789187de9884f35e439e25523f853b5618b1..0000000000000000000000000000000000000000 --- a/l10n/th_TH/gallery.po +++ /dev/null @@ -1,40 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# AriesAnywhere Anywhere , 2012. -# AriesAnywhere Anywhere , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-15 02:03+0200\n" -"PO-Revision-Date: 2012-08-14 12:50+0000\n" -"Last-Translator: AriesAnywhere Anywhere \n" -"Language-Team: Thai (Thailand) (http://www.transifex.com/projects/p/owncloud/language/th_TH/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: th_TH\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: appinfo/app.php:39 -msgid "Pictures" -msgstr "รูปภาพ" - -#: js/pictures.js:12 -msgid "Share gallery" -msgstr "แชร์ข้อมูลแกลอรี่" - -#: js/pictures.js:32 -msgid "Error: " -msgstr "พบข้อผิดพลาด: " - -#: js/pictures.js:32 -msgid "Internal error" -msgstr "เกิดข้อผิดพลาดภายในระบบ" - -#: templates/index.php:27 -msgid "Slideshow" -msgstr "ภาพสไลด์โชว์" diff --git a/l10n/th_TH/impress.po b/l10n/th_TH/impress.po deleted file mode 100644 index e360e941e406a3bfef210c37d1a779fa934a06e5..0000000000000000000000000000000000000000 --- a/l10n/th_TH/impress.po +++ /dev/null @@ -1,22 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 01:17+0200\n" -"PO-Revision-Date: 2012-08-25 23:18+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Thai (Thailand) (http://www.transifex.com/projects/p/owncloud/language/th_TH/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: th_TH\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: templates/presentations.php:7 -msgid "Documentation" -msgstr "" diff --git a/l10n/th_TH/lib.po b/l10n/th_TH/lib.po index ea4639ff8f31360a354f024609fa0d6da7339170..93bec7510e542537c4785d4d8ebad9d7a05d472e 100644 --- a/l10n/th_TH/lib.po +++ b/l10n/th_TH/lib.po @@ -8,53 +8,53 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-09-03 02:04+0200\n" -"PO-Revision-Date: 2012-09-02 22:43+0000\n" +"POT-Creation-Date: 2012-11-23 00:01+0100\n" +"PO-Revision-Date: 2012-11-22 10:45+0000\n" "Last-Translator: AriesAnywhere Anywhere \n" "Language-Team: Thai (Thailand) (http://www.transifex.com/projects/p/owncloud/language/th_TH/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: th_TH\n" -"Plural-Forms: nplurals=1; plural=0\n" +"Plural-Forms: nplurals=1; plural=0;\n" -#: app.php:288 +#: app.php:285 msgid "Help" msgstr "ช่วยเหลือ" -#: app.php:295 +#: app.php:292 msgid "Personal" msgstr "ส่วนตัว" -#: app.php:300 +#: app.php:297 msgid "Settings" msgstr "ตั้งค่า" -#: app.php:305 +#: app.php:302 msgid "Users" msgstr "ผู้ใช้งาน" -#: app.php:312 +#: app.php:309 msgid "Apps" msgstr "แอปฯ" -#: app.php:314 +#: app.php:311 msgid "Admin" msgstr "ผู้ดูแล" -#: files.php:280 +#: files.php:361 msgid "ZIP download is turned off." msgstr "คุณสมบัติการดาวน์โหลด zip ถูกปิดการใช้งานไว้" -#: files.php:281 +#: files.php:362 msgid "Files need to be downloaded one by one." msgstr "ไฟล์สามารถดาวน์โหลดได้ทีละครั้งเท่านั้น" -#: files.php:281 files.php:306 +#: files.php:362 files.php:387 msgid "Back to Files" msgstr "กลับไปที่ไฟล์" -#: files.php:305 +#: files.php:386 msgid "Selected files too large to generate zip file." msgstr "ไฟล์ที่เลือกมีขนาดใหญ่เกินกว่าที่จะสร้างเป็นไฟล์ zip" @@ -62,7 +62,7 @@ msgstr "ไฟล์ที่เลือกมีขนาดใหญ่เก msgid "Application is not enabled" msgstr "แอพพลิเคชั่นดังกล่าวยังไม่ได้เปิดใช้งาน" -#: json.php:39 json.php:63 json.php:75 +#: json.php:39 json.php:64 json.php:77 json.php:89 msgid "Authentication error" msgstr "เกิดข้อผิดพลาดในสิทธิ์การเข้าใช้งาน" @@ -70,57 +70,84 @@ msgstr "เกิดข้อผิดพลาดในสิทธิ์กา msgid "Token expired. Please reload page." msgstr "รหัสยืนยันความถูกต้องหมดอายุแล้ว กรุณาโหลดหน้าเว็บใหม่อีกครั้ง" -#: template.php:86 +#: search/provider/file.php:17 search/provider/file.php:35 +msgid "Files" +msgstr "ไฟล์" + +#: search/provider/file.php:26 search/provider/file.php:33 +msgid "Text" +msgstr "ข้อความ" + +#: search/provider/file.php:29 +msgid "Images" +msgstr "รูปภาพ" + +#: template.php:103 msgid "seconds ago" msgstr "วินาทีที่ผ่านมา" -#: template.php:87 +#: template.php:104 msgid "1 minute ago" msgstr "1 นาทีมาแล้ว" -#: template.php:88 +#: template.php:105 #, php-format msgid "%d minutes ago" msgstr "%d นาทีที่ผ่านมา" -#: template.php:91 +#: template.php:106 +msgid "1 hour ago" +msgstr "1 ชั่วโมงก่อนหน้านี้" + +#: template.php:107 +#, php-format +msgid "%d hours ago" +msgstr "%d ชั่วโมงก่อนหน้านี้" + +#: template.php:108 msgid "today" msgstr "วันนี้" -#: template.php:92 +#: template.php:109 msgid "yesterday" msgstr "เมื่อวานนี้" -#: template.php:93 +#: template.php:110 #, php-format msgid "%d days ago" msgstr "%d วันที่ผ่านมา" -#: template.php:94 +#: template.php:111 msgid "last month" msgstr "เดือนที่แล้ว" -#: template.php:95 -msgid "months ago" -msgstr "เดือนมาแล้ว" +#: template.php:112 +#, php-format +msgid "%d months ago" +msgstr "%d เดือนมาแล้ว" -#: template.php:96 +#: template.php:113 msgid "last year" msgstr "ปีที่แล้ว" -#: template.php:97 +#: template.php:114 msgid "years ago" msgstr "ปีที่ผ่านมา" -#: updater.php:66 +#: updater.php:75 #, php-format msgid "%s is available. Get more information" msgstr "%s พร้อมให้ใช้งานได้แล้ว. ดูรายละเอียดเพิ่มเติม" -#: updater.php:68 +#: updater.php:77 msgid "up to date" msgstr "ทันสมัย" -#: updater.php:71 +#: updater.php:80 msgid "updates check is disabled" msgstr "การตรวจสอบชุดอัพเดทถูกปิดใช้งานไว้" + +#: vcategories.php:188 vcategories.php:249 +#, php-format +msgid "Could not find category \"%s\"" +msgstr "ไม่พบหมวดหมู่ \"%s\"" diff --git a/l10n/th_TH/media.po b/l10n/th_TH/media.po deleted file mode 100644 index d59e3cc7c0762318abb6917e52d44ac65639039e..0000000000000000000000000000000000000000 --- a/l10n/th_TH/media.po +++ /dev/null @@ -1,67 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# AriesAnywhere Anywhere , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-06-06 00:12+0200\n" -"PO-Revision-Date: 2012-06-05 22:15+0000\n" -"Last-Translator: icewind \n" -"Language-Team: Thai (Thailand) (http://www.transifex.net/projects/p/owncloud/language/th_TH/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: th_TH\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: appinfo/app.php:32 templates/player.php:8 -msgid "Music" -msgstr "เพลง" - -#: js/music.js:18 -msgid "Add album to playlist" -msgstr "" - -#: templates/music.php:3 templates/player.php:12 -msgid "Play" -msgstr "เล่น" - -#: templates/music.php:4 templates/music.php:26 templates/player.php:13 -msgid "Pause" -msgstr "หยุดชั่วคราว" - -#: templates/music.php:5 -msgid "Previous" -msgstr "ก่อนหน้า" - -#: templates/music.php:6 templates/player.php:14 -msgid "Next" -msgstr "ถัดไป" - -#: templates/music.php:7 -msgid "Mute" -msgstr "ปิดเสียง" - -#: templates/music.php:8 -msgid "Unmute" -msgstr "เปิดเสียง" - -#: templates/music.php:25 -msgid "Rescan Collection" -msgstr "ตรวจสอบไฟล์ที่เก็บไว้อีกครั้ง" - -#: templates/music.php:37 -msgid "Artist" -msgstr "ศิลปิน" - -#: templates/music.php:38 -msgid "Album" -msgstr "อัลบั้ม" - -#: templates/music.php:39 -msgid "Title" -msgstr "ชื่อ" diff --git a/l10n/th_TH/settings.po b/l10n/th_TH/settings.po index 180395a9629b4d551c7af43704b25cbe889f85dd..d15a654e58857928b7fe2ad6f6b6a1635eb2608d 100644 --- a/l10n/th_TH/settings.po +++ b/l10n/th_TH/settings.po @@ -10,9 +10,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-12 02:04+0200\n" -"PO-Revision-Date: 2012-10-11 13:06+0000\n" -"Last-Translator: AriesAnywhere Anywhere \n" +"POT-Creation-Date: 2012-12-03 00:04+0100\n" +"PO-Revision-Date: 2012-12-02 03:18+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Thai (Thailand) (http://www.transifex.com/projects/p/owncloud/language/th_TH/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -20,70 +20,73 @@ msgstr "" "Language: th_TH\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: ajax/apps/ocs.php:23 +#: ajax/apps/ocs.php:20 msgid "Unable to load list from App Store" msgstr "ไม่สามารถโหลดรายการจาก App Store ได้" -#: ajax/creategroup.php:9 ajax/removeuser.php:18 ajax/setquota.php:18 -#: ajax/togglegroups.php:15 -msgid "Authentication error" -msgstr "เกิดข้อผิดพลาดเกี่ยวกับสิทธิ์การเข้าใช้งาน" - -#: ajax/creategroup.php:19 +#: ajax/creategroup.php:10 msgid "Group already exists" msgstr "มีกลุ่มดังกล่าวอยู่ในระบบอยู่แล้ว" -#: ajax/creategroup.php:28 +#: ajax/creategroup.php:19 msgid "Unable to add group" msgstr "ไม่สามารถเพิ่มกลุ่มได้" -#: ajax/enableapp.php:14 +#: ajax/enableapp.php:12 msgid "Could not enable app. " msgstr "ไม่สามารถเปิดใช้งานแอปได้" -#: ajax/lostpassword.php:14 +#: ajax/lostpassword.php:12 msgid "Email saved" msgstr "อีเมลถูกบันทึกแล้ว" -#: ajax/lostpassword.php:16 +#: ajax/lostpassword.php:14 msgid "Invalid email" msgstr "อีเมลไม่ถูกต้อง" -#: ajax/openid.php:16 +#: ajax/openid.php:13 msgid "OpenID Changed" msgstr "เปลี่ยนชื่อบัญชี OpenID แล้ว" -#: ajax/openid.php:18 ajax/setlanguage.php:20 ajax/setlanguage.php:23 +#: ajax/openid.php:15 ajax/setlanguage.php:17 ajax/setlanguage.php:20 msgid "Invalid request" msgstr "คำร้องขอไม่ถูกต้อง" -#: ajax/removegroup.php:16 +#: ajax/removegroup.php:13 msgid "Unable to delete group" msgstr "ไม่สามารถลบกลุ่มได้" -#: ajax/removeuser.php:27 +#: ajax/removeuser.php:15 ajax/setquota.php:15 ajax/togglegroups.php:18 +msgid "Authentication error" +msgstr "เกิดข้อผิดพลาดเกี่ยวกับสิทธิ์การเข้าใช้งาน" + +#: ajax/removeuser.php:24 msgid "Unable to delete user" msgstr "ไม่สามารถลบผู้ใช้งานได้" -#: ajax/setlanguage.php:18 +#: ajax/setlanguage.php:15 msgid "Language changed" msgstr "เปลี่ยนภาษาเรียบร้อยแล้ว" -#: ajax/togglegroups.php:25 +#: ajax/togglegroups.php:12 +msgid "Admins can't remove themself from the admin group" +msgstr "" + +#: ajax/togglegroups.php:28 #, php-format msgid "Unable to add user to group %s" msgstr "ไม่สามารถเพิ่มผู้ใช้งานเข้าไปที่กลุ่ม %s ได้" -#: ajax/togglegroups.php:31 +#: ajax/togglegroups.php:34 #, php-format msgid "Unable to remove user from group %s" msgstr "ไม่สามารถลบผู้ใช้งานออกจากกลุ่ม %s ได้" -#: js/apps.js:28 js/apps.js:65 +#: js/apps.js:28 js/apps.js:67 msgid "Disable" msgstr "ปิดใช้งาน" -#: js/apps.js:28 js/apps.js:54 +#: js/apps.js:28 js/apps.js:55 msgid "Enable" msgstr "เปิดใช้งาน" @@ -91,97 +94,10 @@ msgstr "เปิดใช้งาน" msgid "Saving..." msgstr "กำลังบันทึุกข้อมูล..." -#: personal.php:47 personal.php:48 +#: personal.php:42 personal.php:43 msgid "__language_name__" msgstr "ภาษาไทย" -#: templates/admin.php:14 -msgid "Security Warning" -msgstr "คำเตือนเกี่ยวกับความปลอดภัย" - -#: templates/admin.php:17 -msgid "" -"Your data directory and your files are probably accessible from the " -"internet. The .htaccess file that ownCloud provides is not working. We " -"strongly suggest that you configure your webserver in a way that the data " -"directory is no longer accessible or you move the data directory outside the" -" webserver document root." -msgstr "ไดเร็กทอรี่ข้อมูลและไฟล์ของคุณสามารถเข้าถึงได้จากอินเทอร์เน็ต ไฟล์ .htaccess ที่ ownCloud มีให้ไม่สามารถทำงานได้อย่างเหมาะสม เราขอแนะนำให้คุณกำหนดค่าเว็บเซิร์ฟเวอร์ใหม่ในรูปแบบที่ไดเร็กทอรี่เก็บข้อมูลไม่สามารถเข้าถึงได้อีกต่อไป หรือคุณได้ย้ายไดเร็กทอรี่ที่ใช้เก็บข้อมูลไปอยู่ภายนอกตำแหน่ง root ของเว็บเซิร์ฟเวอร์แล้ว" - -#: templates/admin.php:31 -msgid "Cron" -msgstr "Cron" - -#: templates/admin.php:37 -msgid "Execute one task with each page loaded" -msgstr "ประมวลคำสั่งหนึ่งงานในแต่ละครั้งที่มีการโหลดหน้าเว็บ" - -#: templates/admin.php:43 -msgid "" -"cron.php is registered at a webcron service. Call the cron.php page in the " -"owncloud root once a minute over http." -msgstr "cron.php ได้รับการลงทะเบียนแล้วกับเว็บผู้ให้บริการ webcron เรียกหน้าเว็บ cron.php ที่ตำแหน่ง root ของ owncloud หลังจากนี้สักครู่ผ่านทาง http" - -#: templates/admin.php:49 -msgid "" -"Use systems cron service. Call the cron.php file in the owncloud folder via " -"a system cronjob once a minute." -msgstr "ใช้บริการ cron จากระบบ เรียกไฟล์ cron.php ในโฟลเดอร์ owncloud ผ่านทาง cronjob ของระบบหลังจากนี้สักครู่" - -#: templates/admin.php:56 -msgid "Sharing" -msgstr "การแชร์ข้อมูล" - -#: templates/admin.php:61 -msgid "Enable Share API" -msgstr "เปิดใช้งาน API สำหรับคุณสมบัติแชร์ข้อมูล" - -#: templates/admin.php:62 -msgid "Allow apps to use the Share API" -msgstr "อนุญาตให้แอปฯสามารถใช้ API สำหรับแชร์ข้อมูลได้" - -#: templates/admin.php:67 -msgid "Allow links" -msgstr "อนุญาตให้ใช้งานลิงก์ได้" - -#: templates/admin.php:68 -msgid "Allow users to share items to the public with links" -msgstr "อนุญาตให้ผู้ใช้งานสามารถแชร์ข้อมูลรายการต่างๆไปให้สาธารณะชนเป็นลิงก์ได้" - -#: templates/admin.php:73 -msgid "Allow resharing" -msgstr "อนุญาตให้แชร์ข้อมูลซ้ำใหม่ได้" - -#: templates/admin.php:74 -msgid "Allow users to share items shared with them again" -msgstr "อนุญาตให้ผู้ใช้งานแชร์ข้อมูลรายการต่างๆที่ถูกแชร์มาให้ตัวผู้ใช้งานได้เท่านั้น" - -#: templates/admin.php:79 -msgid "Allow users to share with anyone" -msgstr "อนุญาตให้ผู้ใช้งานแชร์ข้อมูลถึงใครก็ได้" - -#: templates/admin.php:81 -msgid "Allow users to only share with users in their groups" -msgstr "อนุญาตให้ผู้ใช้งานแชร์ข้อมูลได้เฉพาะกับผู้ใช้งานที่อยู่ในกลุ่มเดียวกันเท่านั้น" - -#: templates/admin.php:88 -msgid "Log" -msgstr "บันทึกการเปลี่ยนแปลง" - -#: templates/admin.php:116 -msgid "More" -msgstr "เพิ่มเติม" - -#: templates/admin.php:124 -msgid "" -"Developed by the ownCloud community, the source code is " -"licensed under the AGPL." -msgstr "พัฒนาโดย the ชุมชนผู้ใช้งาน ownCloud, the ซอร์สโค้ดอยู่ภายใต้สัญญาอนุญาตของ AGPL." - #: templates/apps.php:10 msgid "Add your App" msgstr "เพิ่มแอปของคุณ" @@ -214,22 +130,22 @@ msgstr "การจัดการไฟล์ขนาดใหญ่" msgid "Ask a question" msgstr "สอบถามข้อมูล" -#: templates/help.php:23 +#: templates/help.php:22 msgid "Problems connecting to help database." msgstr "เกิดปัญหาในการเชื่อมต่อกับฐานข้อมูลช่วยเหลือ" -#: templates/help.php:24 +#: templates/help.php:23 msgid "Go there manually." msgstr "ไปที่นั่นด้วยตนเอง" -#: templates/help.php:32 +#: templates/help.php:31 msgid "Answer" msgstr "คำตอบ" #: templates/personal.php:8 #, php-format -msgid "You have used %s of the available %s" -msgstr "คุณได้ใช้ %s จากที่สามารถใช้ได้ %s" +msgid "You have used %s of the available %s" +msgstr "คุณได้ใช้งานไปแล้ว %s จากจำนวนที่สามารถใช้ได้ %s" #: templates/personal.php:12 msgid "Desktop and Mobile Syncing Clients" @@ -287,6 +203,16 @@ msgstr "ช่วยกันแปล" msgid "use this address to connect to your ownCloud in your file manager" msgstr "ใช้ที่อยู่นี้ในการเชื่อมต่อกับบัญชี ownCloud ของคุณในเครื่องมือจัดการไฟล์ของคุณ" +#: templates/personal.php:61 +msgid "" +"Developed by the ownCloud community, the source code is " +"licensed under the AGPL." +msgstr "พัฒนาโดย the ชุมชนผู้ใช้งาน ownCloud, the ซอร์สโค้ดอยู่ภายใต้สัญญาอนุญาตของ AGPL." + #: templates/users.php:21 templates/users.php:76 msgid "Name" msgstr "ชื่อ" diff --git a/l10n/th_TH/tasks.po b/l10n/th_TH/tasks.po deleted file mode 100644 index 7d45023764580701777739b4d0bc155bc83ecb66..0000000000000000000000000000000000000000 --- a/l10n/th_TH/tasks.po +++ /dev/null @@ -1,107 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# AriesAnywhere Anywhere , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-15 02:03+0200\n" -"PO-Revision-Date: 2012-08-14 15:26+0000\n" -"Last-Translator: AriesAnywhere Anywhere \n" -"Language-Team: Thai (Thailand) (http://www.transifex.com/projects/p/owncloud/language/th_TH/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: th_TH\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: ajax/update_property.php:51 lib/app.php:89 lib/app.php:101 -msgid "Invalid date/time" -msgstr "วันที่ / เวลา ไม่ถูกต้อง" - -#: appinfo/app.php:11 -msgid "Tasks" -msgstr "งาน" - -#: js/tasks.js:415 -msgid "No category" -msgstr "ไม่มีหมวดหมู่" - -#: lib/app.php:33 -msgid "Unspecified" -msgstr "ยังไม่ได้ระบุ" - -#: lib/app.php:34 -msgid "1=highest" -msgstr "1=สูงสุด" - -#: lib/app.php:38 -msgid "5=medium" -msgstr "5=ปานกลาง" - -#: lib/app.php:42 -msgid "9=lowest" -msgstr "9=ต่ำสุด" - -#: lib/app.php:81 -msgid "Empty Summary" -msgstr "ข้อมูลสรุปยังว่างอยู่" - -#: lib/app.php:93 -msgid "Invalid percent complete" -msgstr "สัดส่วนเปอร์เซ็นต์ความสมบูรณ์ไม่ถูกต้อง" - -#: lib/app.php:107 -msgid "Invalid priority" -msgstr "ความสำคัญไม่ถูกต้อง" - -#: templates/tasks.php:3 -msgid "Add Task" -msgstr "เพิ่มงานใหม่" - -#: templates/tasks.php:4 -msgid "Order Due" -msgstr "จัดเรียงตามกำหนดเวลา" - -#: templates/tasks.php:5 -msgid "Order List" -msgstr "จัดเรียงตามรายชื่อ" - -#: templates/tasks.php:6 -msgid "Order Complete" -msgstr "จัดเรียงตามความสมบูรณ์" - -#: templates/tasks.php:7 -msgid "Order Location" -msgstr "จัดเรียงตามตำแหน่งที่อยู่" - -#: templates/tasks.php:8 -msgid "Order Priority" -msgstr "จัดเรียงตามระดับความสำคัญ" - -#: templates/tasks.php:9 -msgid "Order Label" -msgstr "จัดเรียงตามป้ายชื่อ" - -#: templates/tasks.php:16 -msgid "Loading tasks..." -msgstr "กำลังโหลดข้อมูลงาน..." - -#: templates/tasks.php:20 -msgid "Important" -msgstr "สำคัญ" - -#: templates/tasks.php:23 -msgid "More" -msgstr "มาก" - -#: templates/tasks.php:26 -msgid "Less" -msgstr "น้อย" - -#: templates/tasks.php:29 -msgid "Delete" -msgstr "ลบ" diff --git a/l10n/th_TH/user_migrate.po b/l10n/th_TH/user_migrate.po deleted file mode 100644 index 74a5aec4843f78e50e9bb895c038aee34b7b6320..0000000000000000000000000000000000000000 --- a/l10n/th_TH/user_migrate.po +++ /dev/null @@ -1,52 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# AriesAnywhere Anywhere , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-15 02:03+0200\n" -"PO-Revision-Date: 2012-08-14 13:37+0000\n" -"Last-Translator: AriesAnywhere Anywhere \n" -"Language-Team: Thai (Thailand) (http://www.transifex.com/projects/p/owncloud/language/th_TH/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: th_TH\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: js/export.js:14 js/export.js:20 -msgid "Export" -msgstr "ส่งออก" - -#: js/export.js:19 -msgid "Something went wrong while the export file was being generated" -msgstr "เกิดข้อผิดพลาดบางประการในระหว่างการส่งออกไฟล์" - -#: js/export.js:19 -msgid "An error has occurred" -msgstr "เกิดข้อผิดพลาดบางประการ" - -#: templates/settings.php:2 -msgid "Export your user account" -msgstr "ส่งออกบัญชีผู้ใช้งานของคุณ" - -#: templates/settings.php:3 -msgid "" -"This will create a compressed file that contains your ownCloud account." -msgstr "ส่วนนี้จะเป็นการสร้างไฟล์บีบอัดที่บรรจุข้อมูลบัญชีผู้ใช้งาน ownCloud ของคุณ" - -#: templates/settings.php:13 -msgid "Import user account" -msgstr "นำเข้าบัญชีผู้ใช้งาน" - -#: templates/settings.php:15 -msgid "ownCloud User Zip" -msgstr "ไฟล์ Zip ผู้ใช้งาน ownCloud" - -#: templates/settings.php:17 -msgid "Import" -msgstr "นำเข้า" diff --git a/l10n/th_TH/user_openid.po b/l10n/th_TH/user_openid.po deleted file mode 100644 index 7ed74e306baf45dd4e448bc1e52e3bc5c110b9bc..0000000000000000000000000000000000000000 --- a/l10n/th_TH/user_openid.po +++ /dev/null @@ -1,55 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# AriesAnywhere Anywhere , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-15 02:03+0200\n" -"PO-Revision-Date: 2012-08-14 13:32+0000\n" -"Last-Translator: AriesAnywhere Anywhere \n" -"Language-Team: Thai (Thailand) (http://www.transifex.com/projects/p/owncloud/language/th_TH/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: th_TH\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: templates/nomode.php:12 -msgid "This is an OpenID server endpoint. For more information, see " -msgstr "นี่คือปลายทางของเซิร์ฟเวอร์ OpenID สำหรับรายละเอียดเพิ่มเติม, กรุณาดูที่" - -#: templates/nomode.php:14 -msgid "Identity: " -msgstr "ข้อมูลประจำตัว " - -#: templates/nomode.php:15 -msgid "Realm: " -msgstr "ขอบเขตพื้นที่ " - -#: templates/nomode.php:16 -msgid "User: " -msgstr "ผู้ใช้งาน: " - -#: templates/nomode.php:17 -msgid "Login" -msgstr "เข้าสู่ระบบ" - -#: templates/nomode.php:22 -msgid "Error: No user Selected" -msgstr "พบข้อผิดพลาด ยังไม่ได้เลือกชื่อผู้ใช้งาน" - -#: templates/settings.php:4 -msgid "you can authenticate to other sites with this address" -msgstr "คุณสามารถได้รับสิทธิ์เพื่อเข้าใช้งานเว็บไซต์อื่นๆโดยใช้ที่อยู่นี้" - -#: templates/settings.php:5 -msgid "Authorized OpenID provider" -msgstr "ผู้ให้บริการ OpenID ที่ได้รับอนุญาต" - -#: templates/settings.php:6 -msgid "Your address at Wordpress, Identi.ca, …" -msgstr "ที่อยู่ของคุณที่ Wordpress, Identi.ca, …" diff --git a/l10n/th_TH/files_odfviewer.po b/l10n/th_TH/user_webdavauth.po similarity index 59% rename from l10n/th_TH/files_odfviewer.po rename to l10n/th_TH/user_webdavauth.po index 652cc1125ec157433005fe2c8d632bc5c01dcc90..7a8ea7afe6b654237225dca6ae288cf0cd9aacb8 100644 --- a/l10n/th_TH/files_odfviewer.po +++ b/l10n/th_TH/user_webdavauth.po @@ -3,20 +3,21 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# AriesAnywhere Anywhere , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 02:18+0200\n" -"PO-Revision-Date: 2012-08-26 00:19+0000\n" -"Last-Translator: FULL NAME \n" +"POT-Creation-Date: 2012-11-23 00:01+0100\n" +"PO-Revision-Date: 2012-11-22 11:02+0000\n" +"Last-Translator: AriesAnywhere Anywhere \n" "Language-Team: Thai (Thailand) (http://www.transifex.com/projects/p/owncloud/language/th_TH/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: th_TH\n" -"Plural-Forms: nplurals=1; plural=0\n" +"Plural-Forms: nplurals=1; plural=0;\n" -#: js/viewer.js:9 -msgid "Close" -msgstr "" +#: templates/settings.php:4 +msgid "WebDAV URL: http://" +msgstr "WebDAV URL: http://" diff --git a/l10n/tr/admin_dependencies_chk.po b/l10n/tr/admin_dependencies_chk.po deleted file mode 100644 index 7a089c19af607473e54db898e625832bafa0c264..0000000000000000000000000000000000000000 --- a/l10n/tr/admin_dependencies_chk.po +++ /dev/null @@ -1,73 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:33+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Turkish (http://www.transifex.com/projects/p/owncloud/language/tr/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: tr\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: settings.php:33 -msgid "" -"The php-json module is needed by the many applications for inter " -"communications" -msgstr "" - -#: settings.php:39 -msgid "" -"The php-curl modude is needed to fetch the page title when adding a " -"bookmarks" -msgstr "" - -#: settings.php:45 -msgid "The php-gd module is needed to create thumbnails of your images" -msgstr "" - -#: settings.php:51 -msgid "The php-ldap module is needed connect to your ldap server" -msgstr "" - -#: settings.php:57 -msgid "The php-zip module is needed download multiple files at once" -msgstr "" - -#: settings.php:63 -msgid "" -"The php-mb_multibyte module is needed to manage correctly the encoding." -msgstr "" - -#: settings.php:69 -msgid "The php-ctype module is needed validate data." -msgstr "" - -#: settings.php:75 -msgid "The php-xml module is needed to share files with webdav." -msgstr "" - -#: settings.php:81 -msgid "" -"The allow_url_fopen directive of your php.ini should be set to 1 to retrieve" -" knowledge base from OCS servers" -msgstr "" - -#: settings.php:87 -msgid "The php-pdo module is needed to store owncloud data into a database." -msgstr "" - -#: templates/settings.php:2 -msgid "Dependencies status" -msgstr "" - -#: templates/settings.php:7 -msgid "Used by :" -msgstr "" diff --git a/l10n/tr/bookmarks.po b/l10n/tr/bookmarks.po deleted file mode 100644 index 34e76f301d83540c1e1131b9828acef4588a1fb2..0000000000000000000000000000000000000000 --- a/l10n/tr/bookmarks.po +++ /dev/null @@ -1,60 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-07-28 02:02+0200\n" -"PO-Revision-Date: 2012-07-27 22:17+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Turkish (http://www.transifex.com/projects/p/owncloud/language/tr/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: tr\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: appinfo/app.php:14 -msgid "Bookmarks" -msgstr "" - -#: bookmarksHelper.php:99 -msgid "unnamed" -msgstr "" - -#: templates/bookmarklet.php:5 -msgid "" -"Drag this to your browser bookmarks and click it, when you want to bookmark " -"a webpage quickly:" -msgstr "" - -#: templates/bookmarklet.php:7 -msgid "Read later" -msgstr "" - -#: templates/list.php:13 -msgid "Address" -msgstr "" - -#: templates/list.php:14 -msgid "Title" -msgstr "" - -#: templates/list.php:15 -msgid "Tags" -msgstr "" - -#: templates/list.php:16 -msgid "Save bookmark" -msgstr "" - -#: templates/list.php:22 -msgid "You have no bookmarks" -msgstr "" - -#: templates/settings.php:11 -msgid "Bookmarklet
" -msgstr "" diff --git a/l10n/tr/calendar.po b/l10n/tr/calendar.po deleted file mode 100644 index 0e49a20184115d53281a7144b81f8c0431d0a10a..0000000000000000000000000000000000000000 --- a/l10n/tr/calendar.po +++ /dev/null @@ -1,818 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# , 2012. -# Aranel Surion , 2011, 2012. -# Emre , 2012. -# , 2012. -# Necdet Yücel , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-11 02:02+0200\n" -"PO-Revision-Date: 2012-08-11 00:02+0000\n" -"Last-Translator: owncloud_robot \n" -"Language-Team: Turkish (http://www.transifex.com/projects/p/owncloud/language/tr/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: tr\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: ajax/cache/status.php:19 -msgid "Not all calendars are completely cached" -msgstr "Bütün takvimler tamamen ön belleğe alınmadı" - -#: ajax/cache/status.php:21 -msgid "Everything seems to be completely cached" -msgstr "Bütün herşey tamamen ön belleğe alınmış görünüyor" - -#: ajax/categories/rescan.php:29 -msgid "No calendars found." -msgstr "Takvim yok." - -#: ajax/categories/rescan.php:37 -msgid "No events found." -msgstr "Etkinlik yok." - -#: ajax/event/edit.form.php:20 -msgid "Wrong calendar" -msgstr "Yanlış takvim" - -#: ajax/import/dropimport.php:29 ajax/import/import.php:64 -msgid "" -"The file contained either no events or all events are already saved in your " -"calendar." -msgstr "Dosya ya hiçbir etkinlik içermiyor veya bütün etkinlikler takviminizde zaten saklı." - -#: ajax/import/dropimport.php:31 ajax/import/import.php:67 -msgid "events has been saved in the new calendar" -msgstr "Etkinlikler yeni takvimde saklandı" - -#: ajax/import/import.php:56 -msgid "Import failed" -msgstr "İçeri aktarma başarısız oldu." - -#: ajax/import/import.php:69 -msgid "events has been saved in your calendar" -msgstr "Etkinlikler takviminizde saklandı" - -#: ajax/settings/guesstimezone.php:25 -msgid "New Timezone:" -msgstr "Yeni Zamandilimi:" - -#: ajax/settings/settimezone.php:23 -msgid "Timezone changed" -msgstr "Zaman dilimi değiştirildi" - -#: ajax/settings/settimezone.php:25 -msgid "Invalid request" -msgstr "Geçersiz istek" - -#: appinfo/app.php:35 templates/calendar.php:15 -#: templates/part.eventform.php:33 templates/part.showevent.php:33 -msgid "Calendar" -msgstr "Takvim" - -#: js/calendar.js:832 -msgid "ddd" -msgstr "ddd" - -#: js/calendar.js:833 -msgid "ddd M/d" -msgstr "ddd M/d" - -#: js/calendar.js:834 -msgid "dddd M/d" -msgstr "dddd M/d" - -#: js/calendar.js:837 -msgid "MMMM yyyy" -msgstr "MMMM yyyy" - -#: js/calendar.js:839 -msgid "MMM d[ yyyy]{ '—'[ MMM] d yyyy}" -msgstr "AAA g[ yyyy]{ '—'[ AAA] g yyyy}" - -#: js/calendar.js:841 -msgid "dddd, MMM d, yyyy" -msgstr "dddd, MMM d, yyyy" - -#: lib/app.php:121 -msgid "Birthday" -msgstr "Doğum günü" - -#: lib/app.php:122 -msgid "Business" -msgstr "İş" - -#: lib/app.php:123 -msgid "Call" -msgstr "Arama" - -#: lib/app.php:124 -msgid "Clients" -msgstr "Müşteriler" - -#: lib/app.php:125 -msgid "Deliverer" -msgstr "Teslimatçı" - -#: lib/app.php:126 -msgid "Holidays" -msgstr "Tatil günleri" - -#: lib/app.php:127 -msgid "Ideas" -msgstr "Fikirler" - -#: lib/app.php:128 -msgid "Journey" -msgstr "Seyahat" - -#: lib/app.php:129 -msgid "Jubilee" -msgstr "Yıl dönümü" - -#: lib/app.php:130 -msgid "Meeting" -msgstr "Toplantı" - -#: lib/app.php:131 -msgid "Other" -msgstr "Diğer" - -#: lib/app.php:132 -msgid "Personal" -msgstr "Kişisel" - -#: lib/app.php:133 -msgid "Projects" -msgstr "Projeler" - -#: lib/app.php:134 -msgid "Questions" -msgstr "Sorular" - -#: lib/app.php:135 -msgid "Work" -msgstr "İş" - -#: lib/app.php:351 lib/app.php:361 -msgid "by" -msgstr "hazırlayan" - -#: lib/app.php:359 lib/app.php:399 -msgid "unnamed" -msgstr "isimsiz" - -#: lib/import.php:184 templates/calendar.php:12 -#: templates/part.choosecalendar.php:22 -msgid "New Calendar" -msgstr "Yeni Takvim" - -#: lib/object.php:372 -msgid "Does not repeat" -msgstr "Tekrar etmiyor" - -#: lib/object.php:373 -msgid "Daily" -msgstr "Günlük" - -#: lib/object.php:374 -msgid "Weekly" -msgstr "Haftalı" - -#: lib/object.php:375 -msgid "Every Weekday" -msgstr "Haftaiçi Her gün" - -#: lib/object.php:376 -msgid "Bi-Weekly" -msgstr "İki haftada bir" - -#: lib/object.php:377 -msgid "Monthly" -msgstr "Aylık" - -#: lib/object.php:378 -msgid "Yearly" -msgstr "Yıllı" - -#: lib/object.php:388 -msgid "never" -msgstr "asla" - -#: lib/object.php:389 -msgid "by occurrences" -msgstr "sıklığa göre" - -#: lib/object.php:390 -msgid "by date" -msgstr "tarihe göre" - -#: lib/object.php:400 -msgid "by monthday" -msgstr "ay günlerine göre" - -#: lib/object.php:401 -msgid "by weekday" -msgstr "hafta günlerine göre" - -#: lib/object.php:411 templates/calendar.php:5 templates/settings.php:69 -msgid "Monday" -msgstr "Pazartesi" - -#: lib/object.php:412 templates/calendar.php:5 -msgid "Tuesday" -msgstr "Salı" - -#: lib/object.php:413 templates/calendar.php:5 -msgid "Wednesday" -msgstr "Çarşamba" - -#: lib/object.php:414 templates/calendar.php:5 -msgid "Thursday" -msgstr "Perşembe" - -#: lib/object.php:415 templates/calendar.php:5 -msgid "Friday" -msgstr "Cuma" - -#: lib/object.php:416 templates/calendar.php:5 -msgid "Saturday" -msgstr "Cumartesi" - -#: lib/object.php:417 templates/calendar.php:5 templates/settings.php:70 -msgid "Sunday" -msgstr "Pazar" - -#: lib/object.php:427 -msgid "events week of month" -msgstr "ayın etkinlikler haftası" - -#: lib/object.php:428 -msgid "first" -msgstr "birinci" - -#: lib/object.php:429 -msgid "second" -msgstr "ikinci" - -#: lib/object.php:430 -msgid "third" -msgstr "üçüncü" - -#: lib/object.php:431 -msgid "fourth" -msgstr "dördüncü" - -#: lib/object.php:432 -msgid "fifth" -msgstr "beşinci" - -#: lib/object.php:433 -msgid "last" -msgstr "sonuncu" - -#: lib/object.php:467 templates/calendar.php:7 -msgid "January" -msgstr "Ocak" - -#: lib/object.php:468 templates/calendar.php:7 -msgid "February" -msgstr "Şubat" - -#: lib/object.php:469 templates/calendar.php:7 -msgid "March" -msgstr "Mart" - -#: lib/object.php:470 templates/calendar.php:7 -msgid "April" -msgstr "Nisan" - -#: lib/object.php:471 templates/calendar.php:7 -msgid "May" -msgstr "Mayıs" - -#: lib/object.php:472 templates/calendar.php:7 -msgid "June" -msgstr "Haziran" - -#: lib/object.php:473 templates/calendar.php:7 -msgid "July" -msgstr "Temmuz" - -#: lib/object.php:474 templates/calendar.php:7 -msgid "August" -msgstr "Ağustos" - -#: lib/object.php:475 templates/calendar.php:7 -msgid "September" -msgstr "Eylül" - -#: lib/object.php:476 templates/calendar.php:7 -msgid "October" -msgstr "Ekim" - -#: lib/object.php:477 templates/calendar.php:7 -msgid "November" -msgstr "Kasım" - -#: lib/object.php:478 templates/calendar.php:7 -msgid "December" -msgstr "Aralık" - -#: lib/object.php:488 -msgid "by events date" -msgstr "olay tarihine göre" - -#: lib/object.php:489 -msgid "by yearday(s)" -msgstr "yıl gün(ler)ine göre" - -#: lib/object.php:490 -msgid "by weeknumber(s)" -msgstr "hafta sayı(lar)ına göre" - -#: lib/object.php:491 -msgid "by day and month" -msgstr "gün ve aya göre" - -#: lib/search.php:35 lib/search.php:37 lib/search.php:40 -msgid "Date" -msgstr "Tarih" - -#: lib/search.php:43 -msgid "Cal." -msgstr "Takv." - -#: templates/calendar.php:6 -msgid "Sun." -msgstr "Paz." - -#: templates/calendar.php:6 -msgid "Mon." -msgstr "Pzt." - -#: templates/calendar.php:6 -msgid "Tue." -msgstr "Sal." - -#: templates/calendar.php:6 -msgid "Wed." -msgstr "Çar." - -#: templates/calendar.php:6 -msgid "Thu." -msgstr "Per." - -#: templates/calendar.php:6 -msgid "Fri." -msgstr "Cum." - -#: templates/calendar.php:6 -msgid "Sat." -msgstr "Cmt." - -#: templates/calendar.php:8 -msgid "Jan." -msgstr "Oca." - -#: templates/calendar.php:8 -msgid "Feb." -msgstr "Şbt." - -#: templates/calendar.php:8 -msgid "Mar." -msgstr "Mar." - -#: templates/calendar.php:8 -msgid "Apr." -msgstr "Nis" - -#: templates/calendar.php:8 -msgid "May." -msgstr "May." - -#: templates/calendar.php:8 -msgid "Jun." -msgstr "Haz." - -#: templates/calendar.php:8 -msgid "Jul." -msgstr "Tem." - -#: templates/calendar.php:8 -msgid "Aug." -msgstr "Agu." - -#: templates/calendar.php:8 -msgid "Sep." -msgstr "Eyl." - -#: templates/calendar.php:8 -msgid "Oct." -msgstr "Eki." - -#: templates/calendar.php:8 -msgid "Nov." -msgstr "Kas." - -#: templates/calendar.php:8 -msgid "Dec." -msgstr "Ara." - -#: templates/calendar.php:11 -msgid "All day" -msgstr "Tüm gün" - -#: templates/calendar.php:13 -msgid "Missing fields" -msgstr "Eksik alanlar" - -#: templates/calendar.php:14 templates/part.eventform.php:19 -#: templates/part.showevent.php:11 -msgid "Title" -msgstr "Başlık" - -#: templates/calendar.php:16 -msgid "From Date" -msgstr "Bu Tarihten" - -#: templates/calendar.php:17 -msgid "From Time" -msgstr "Bu Saatten" - -#: templates/calendar.php:18 -msgid "To Date" -msgstr "Bu Tarihe" - -#: templates/calendar.php:19 -msgid "To Time" -msgstr "Bu Saate" - -#: templates/calendar.php:20 -msgid "The event ends before it starts" -msgstr "Olay başlamadan önce bitiyor" - -#: templates/calendar.php:21 -msgid "There was a database fail" -msgstr "Bir veritabanı başarısızlığı oluştu" - -#: templates/calendar.php:39 -msgid "Week" -msgstr "Hafta" - -#: templates/calendar.php:40 -msgid "Month" -msgstr "Ay" - -#: templates/calendar.php:41 -msgid "List" -msgstr "Liste" - -#: templates/calendar.php:45 -msgid "Today" -msgstr "Bugün" - -#: templates/calendar.php:46 templates/calendar.php:47 -msgid "Settings" -msgstr "" - -#: templates/part.choosecalendar.php:2 -msgid "Your calendars" -msgstr "Takvimleriniz" - -#: templates/part.choosecalendar.php:27 -#: templates/part.choosecalendar.rowfields.php:11 -msgid "CalDav Link" -msgstr "CalDav Bağlantısı" - -#: templates/part.choosecalendar.php:31 -msgid "Shared calendars" -msgstr "Paylaşılan" - -#: templates/part.choosecalendar.php:48 -msgid "No shared calendars" -msgstr "Paylaşılan takvim yok" - -#: templates/part.choosecalendar.rowfields.php:8 -msgid "Share Calendar" -msgstr "Takvimi paylaş" - -#: templates/part.choosecalendar.rowfields.php:14 -msgid "Download" -msgstr "İndir" - -#: templates/part.choosecalendar.rowfields.php:17 -msgid "Edit" -msgstr "Düzenle" - -#: templates/part.choosecalendar.rowfields.php:20 -#: templates/part.editevent.php:9 -msgid "Delete" -msgstr "Sil" - -#: templates/part.choosecalendar.rowfields.shared.php:4 -msgid "shared with you by" -msgstr "sizinle paylaşılmış" - -#: templates/part.editcalendar.php:9 -msgid "New calendar" -msgstr "Yeni takvim" - -#: templates/part.editcalendar.php:9 -msgid "Edit calendar" -msgstr "Takvimi düzenle" - -#: templates/part.editcalendar.php:12 -msgid "Displayname" -msgstr "Görünüm adı" - -#: templates/part.editcalendar.php:23 -msgid "Active" -msgstr "Aktif" - -#: templates/part.editcalendar.php:29 -msgid "Calendar color" -msgstr "Takvim rengi" - -#: templates/part.editcalendar.php:42 -msgid "Save" -msgstr "Kaydet" - -#: templates/part.editcalendar.php:42 templates/part.editevent.php:8 -#: templates/part.newevent.php:6 -msgid "Submit" -msgstr "Gönder" - -#: templates/part.editcalendar.php:43 -msgid "Cancel" -msgstr "İptal" - -#: templates/part.editevent.php:1 -msgid "Edit an event" -msgstr "Bir olay düzenle" - -#: templates/part.editevent.php:10 -msgid "Export" -msgstr "Dışa aktar" - -#: templates/part.eventform.php:8 templates/part.showevent.php:3 -msgid "Eventinfo" -msgstr "Etkinlik bilgisi" - -#: templates/part.eventform.php:9 templates/part.showevent.php:4 -msgid "Repeating" -msgstr "Tekrarlama" - -#: templates/part.eventform.php:10 templates/part.showevent.php:5 -msgid "Alarm" -msgstr "Alarm" - -#: templates/part.eventform.php:11 templates/part.showevent.php:6 -msgid "Attendees" -msgstr "Katılanlar" - -#: templates/part.eventform.php:13 -msgid "Share" -msgstr "Paylaş" - -#: templates/part.eventform.php:21 -msgid "Title of the Event" -msgstr "Olayın Başlığı" - -#: templates/part.eventform.php:27 templates/part.showevent.php:19 -msgid "Category" -msgstr "Kategori" - -#: templates/part.eventform.php:29 -msgid "Separate categories with commas" -msgstr "Kategorileri virgülle ayırın" - -#: templates/part.eventform.php:30 -msgid "Edit categories" -msgstr "Kategorileri düzenle" - -#: templates/part.eventform.php:56 templates/part.showevent.php:52 -msgid "All Day Event" -msgstr "Tüm Gün Olay" - -#: templates/part.eventform.php:60 templates/part.showevent.php:56 -msgid "From" -msgstr "Kimden" - -#: templates/part.eventform.php:68 templates/part.showevent.php:64 -msgid "To" -msgstr "Kime" - -#: templates/part.eventform.php:76 templates/part.showevent.php:72 -msgid "Advanced options" -msgstr "Gelişmiş opsiyonlar" - -#: templates/part.eventform.php:81 templates/part.showevent.php:77 -msgid "Location" -msgstr "Konum" - -#: templates/part.eventform.php:83 -msgid "Location of the Event" -msgstr "Olayın Konumu" - -#: templates/part.eventform.php:89 templates/part.showevent.php:85 -msgid "Description" -msgstr "Açıklama" - -#: templates/part.eventform.php:91 -msgid "Description of the Event" -msgstr "Olayın Açıklaması" - -#: templates/part.eventform.php:100 templates/part.showevent.php:95 -msgid "Repeat" -msgstr "Tekrar" - -#: templates/part.eventform.php:107 templates/part.showevent.php:102 -msgid "Advanced" -msgstr "Gelişmiş" - -#: templates/part.eventform.php:151 templates/part.showevent.php:146 -msgid "Select weekdays" -msgstr "Hafta günlerini seçin" - -#: templates/part.eventform.php:164 templates/part.eventform.php:177 -#: templates/part.showevent.php:159 templates/part.showevent.php:172 -msgid "Select days" -msgstr "Günleri seçin" - -#: templates/part.eventform.php:169 templates/part.showevent.php:164 -msgid "and the events day of year." -msgstr "ve yılın etkinlikler günü." - -#: templates/part.eventform.php:182 templates/part.showevent.php:177 -msgid "and the events day of month." -msgstr "ve ayın etkinlikler günü." - -#: templates/part.eventform.php:190 templates/part.showevent.php:185 -msgid "Select months" -msgstr "Ayları seç" - -#: templates/part.eventform.php:203 templates/part.showevent.php:198 -msgid "Select weeks" -msgstr "Haftaları seç" - -#: templates/part.eventform.php:208 templates/part.showevent.php:203 -msgid "and the events week of year." -msgstr "ve yılın etkinkinlikler haftası." - -#: templates/part.eventform.php:214 templates/part.showevent.php:209 -msgid "Interval" -msgstr "Aralık" - -#: templates/part.eventform.php:220 templates/part.showevent.php:215 -msgid "End" -msgstr "Son" - -#: templates/part.eventform.php:233 templates/part.showevent.php:228 -msgid "occurrences" -msgstr "olaylar" - -#: templates/part.import.php:14 -msgid "create a new calendar" -msgstr "Yeni bir takvim oluştur" - -#: templates/part.import.php:17 -msgid "Import a calendar file" -msgstr "Takvim dosyasını içeri aktar" - -#: templates/part.import.php:24 -msgid "Please choose a calendar" -msgstr "Lütfen takvim seçiniz" - -#: templates/part.import.php:36 -msgid "Name of new calendar" -msgstr "Yeni takvimin adı" - -#: templates/part.import.php:44 -msgid "Take an available name!" -msgstr "Müsait ismi al !" - -#: templates/part.import.php:45 -msgid "" -"A Calendar with this name already exists. If you continue anyhow, these " -"calendars will be merged." -msgstr "Bu isimde bir takvim zaten mevcut. Yine de devam ederseniz bu takvimler birleştirilecektir." - -#: templates/part.import.php:47 -msgid "Import" -msgstr "İçe Al" - -#: templates/part.import.php:56 -msgid "Close Dialog" -msgstr "Diyalogu kapat" - -#: templates/part.newevent.php:1 -msgid "Create a new event" -msgstr "Yeni olay oluştur" - -#: templates/part.showevent.php:1 -msgid "View an event" -msgstr "Bir olay görüntüle" - -#: templates/part.showevent.php:23 -msgid "No categories selected" -msgstr "Kategori seçilmedi" - -#: templates/part.showevent.php:37 -msgid "of" -msgstr "nın" - -#: templates/part.showevent.php:59 templates/part.showevent.php:67 -msgid "at" -msgstr "üzerinde" - -#: templates/settings.php:10 -msgid "General" -msgstr "" - -#: templates/settings.php:15 -msgid "Timezone" -msgstr "Zaman dilimi" - -#: templates/settings.php:47 -msgid "Update timezone automatically" -msgstr "" - -#: templates/settings.php:52 -msgid "Time format" -msgstr "" - -#: templates/settings.php:57 -msgid "24h" -msgstr "24s" - -#: templates/settings.php:58 -msgid "12h" -msgstr "12s" - -#: templates/settings.php:64 -msgid "Start week on" -msgstr "" - -#: templates/settings.php:76 -msgid "Cache" -msgstr "Önbellek" - -#: templates/settings.php:80 -msgid "Clear cache for repeating events" -msgstr "Tekrar eden etkinlikler için ön belleği temizle." - -#: templates/settings.php:85 -msgid "URLs" -msgstr "" - -#: templates/settings.php:87 -msgid "Calendar CalDAV syncing addresses" -msgstr "CalDAV takvimi adresleri senkronize ediyor." - -#: templates/settings.php:87 -msgid "more info" -msgstr "daha fazla bilgi" - -#: templates/settings.php:89 -msgid "Primary address (Kontact et al)" -msgstr "Öncelikli adres" - -#: templates/settings.php:91 -msgid "iOS/OS X" -msgstr "iOS/OS X" - -#: templates/settings.php:93 -msgid "Read only iCalendar link(s)" -msgstr "Sadece okunabilir iCalendar link(ler)i" - -#: templates/share.dropdown.php:20 -msgid "Users" -msgstr "Kullanıcılar" - -#: templates/share.dropdown.php:21 -msgid "select users" -msgstr "kullanıcıları seç" - -#: templates/share.dropdown.php:36 templates/share.dropdown.php:62 -msgid "Editable" -msgstr "Düzenlenebilir" - -#: templates/share.dropdown.php:48 -msgid "Groups" -msgstr "Gruplar" - -#: templates/share.dropdown.php:49 -msgid "select groups" -msgstr "grupları seç" - -#: templates/share.dropdown.php:75 -msgid "make public" -msgstr "kamuyla paylaş" diff --git a/l10n/tr/contacts.po b/l10n/tr/contacts.po deleted file mode 100644 index 8feffd070680b82f7f85d07e1c575f7b747f56ff..0000000000000000000000000000000000000000 --- a/l10n/tr/contacts.po +++ /dev/null @@ -1,955 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Aranel Surion , 2011, 2012. -# , 2012. -# Necdet Yücel , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-24 02:02+0200\n" -"PO-Revision-Date: 2012-08-24 00:03+0000\n" -"Last-Translator: I Robot \n" -"Language-Team: Turkish (http://www.transifex.com/projects/p/owncloud/language/tr/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: tr\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: ajax/addressbook/activate.php:24 ajax/addressbook/update.php:32 -msgid "Error (de)activating addressbook." -msgstr "Adres defteri etkisizleştirilirken hata oluştu." - -#: ajax/addressbook/delete.php:31 ajax/addressbook/update.php:20 -#: ajax/contact/addproperty.php:42 ajax/contact/delete.php:32 -#: ajax/contact/saveproperty.php:39 -msgid "id is not set." -msgstr "id atanmamış." - -#: ajax/addressbook/update.php:24 -msgid "Cannot update addressbook with an empty name." -msgstr "Adres defterini boş bir isimle güncelleyemezsiniz." - -#: ajax/addressbook/update.php:28 -msgid "Error updating addressbook." -msgstr "Adres defteri güncellenirken hata oluştu." - -#: ajax/categories/categoriesfor.php:17 -msgid "No ID provided" -msgstr "ID verilmedi" - -#: ajax/categories/categoriesfor.php:34 -msgid "Error setting checksum." -msgstr "İmza oluşturulurken hata." - -#: ajax/categories/delete.php:19 -msgid "No categories selected for deletion." -msgstr "Silmek için bir kategori seçilmedi." - -#: ajax/categories/delete.php:26 -msgid "No address books found." -msgstr "Adres defteri bulunamadı." - -#: ajax/categories/delete.php:34 -msgid "No contacts found." -msgstr "Bağlantı bulunamadı." - -#: ajax/contact/add.php:47 -msgid "There was an error adding the contact." -msgstr "Kişi eklenirken hata oluştu." - -#: ajax/contact/addproperty.php:39 ajax/contact/saveproperty.php:36 -msgid "element name is not set." -msgstr "eleman ismi atanmamış." - -#: ajax/contact/addproperty.php:46 -msgid "Could not parse contact: " -msgstr "Kişi bilgisi ayrıştırılamadı." - -#: ajax/contact/addproperty.php:56 -msgid "Cannot add empty property." -msgstr "Boş özellik eklenemiyor." - -#: ajax/contact/addproperty.php:67 -msgid "At least one of the address fields has to be filled out." -msgstr "En az bir adres alanı doldurulmalı." - -#: ajax/contact/addproperty.php:76 -msgid "Trying to add duplicate property: " -msgstr "Yinelenen özellik eklenmeye çalışılıyor: " - -#: ajax/contact/addproperty.php:115 ajax/contact/saveproperty.php:93 -msgid "Missing IM parameter." -msgstr "" - -#: ajax/contact/addproperty.php:119 ajax/contact/saveproperty.php:97 -msgid "Unknown IM: " -msgstr "" - -#: ajax/contact/deleteproperty.php:37 -msgid "Information about vCard is incorrect. Please reload the page." -msgstr "vCard bilgileri doğru değil. Lütfen sayfayı yenileyin." - -#: ajax/contact/details.php:31 -msgid "Missing ID" -msgstr "Eksik ID" - -#: ajax/contact/details.php:36 -msgid "Error parsing VCard for ID: \"" -msgstr "ID için VCard ayrıştırılamadı:\"" - -#: ajax/contact/saveproperty.php:42 -msgid "checksum is not set." -msgstr "checksum atanmamış." - -#: ajax/contact/saveproperty.php:62 -msgid "Information about vCard is incorrect. Please reload the page: " -msgstr "vCard hakkındaki bilgi hatalı. Lütfen sayfayı yeniden yükleyin: " - -#: ajax/contact/saveproperty.php:69 -msgid "Something went FUBAR. " -msgstr "Bir şey FUBAR gitti." - -#: ajax/currentphoto.php:30 ajax/oc_photo.php:28 ajax/uploadphoto.php:36 -#: ajax/uploadphoto.php:68 -msgid "No contact ID was submitted." -msgstr "Bağlantı ID'si girilmedi." - -#: ajax/currentphoto.php:36 -msgid "Error reading contact photo." -msgstr "Bağlantı fotoğrafı okunamadı." - -#: ajax/currentphoto.php:48 -msgid "Error saving temporary file." -msgstr "Geçici dosya kaydetme hatası." - -#: ajax/currentphoto.php:51 -msgid "The loading photo is not valid." -msgstr "Yüklenecek fotograf geçerli değil." - -#: ajax/editname.php:31 -msgid "Contact ID is missing." -msgstr "Bağlantı ID'si eksik." - -#: ajax/oc_photo.php:32 -msgid "No photo path was submitted." -msgstr "Fotoğraf girilmedi." - -#: ajax/oc_photo.php:39 -msgid "File doesn't exist:" -msgstr "Dosya mevcut değil:" - -#: ajax/oc_photo.php:44 ajax/oc_photo.php:47 -msgid "Error loading image." -msgstr "İmaj yükleme hatası." - -#: ajax/savecrop.php:69 -msgid "Error getting contact object." -msgstr "Bağlantı nesnesini kaydederken hata." - -#: ajax/savecrop.php:79 -msgid "Error getting PHOTO property." -msgstr "Resim özelleğini alırken hata oluştu." - -#: ajax/savecrop.php:98 -msgid "Error saving contact." -msgstr "Bağlantıyı kaydederken hata" - -#: ajax/savecrop.php:109 -msgid "Error resizing image" -msgstr "Görüntü yeniden boyutlandırılamadı." - -#: ajax/savecrop.php:112 -msgid "Error cropping image" -msgstr "Görüntü kırpılamadı." - -#: ajax/savecrop.php:115 -msgid "Error creating temporary image" -msgstr "Geçici resim oluştururken hata oluştu" - -#: ajax/savecrop.php:118 -msgid "Error finding image: " -msgstr "Resim ararken hata oluştu:" - -#: ajax/uploadimport.php:44 ajax/uploadimport.php:76 -msgid "Error uploading contacts to storage." -msgstr "Bağlantıları depoya yükleme hatası" - -#: ajax/uploadimport.php:61 ajax/uploadphoto.php:77 -msgid "There is no error, the file uploaded with success" -msgstr "Dosya başarıyla yüklendi, hata oluşmadı" - -#: ajax/uploadimport.php:62 ajax/uploadphoto.php:78 -msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" -msgstr "Dosyanın boyutu php.ini dosyasındaki upload_max_filesize limitini aşıyor" - -#: ajax/uploadimport.php:63 ajax/uploadphoto.php:79 -msgid "" -"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " -"the HTML form" -msgstr "Yüklenecek dosyanın boyutu HTML formunda belirtilen MAX_FILE_SIZE limitini aşıyor" - -#: ajax/uploadimport.php:64 ajax/uploadphoto.php:80 -msgid "The uploaded file was only partially uploaded" -msgstr "Dosya kısmen karşıya yüklenebildi" - -#: ajax/uploadimport.php:65 ajax/uploadphoto.php:81 -msgid "No file was uploaded" -msgstr "Hiç dosya gönderilmedi" - -#: ajax/uploadimport.php:66 ajax/uploadphoto.php:82 -msgid "Missing a temporary folder" -msgstr "Geçici dizin eksik" - -#: ajax/uploadphoto.php:59 ajax/uploadphoto.php:109 -msgid "Couldn't save temporary image: " -msgstr "Geçici resmi saklayamadı : " - -#: ajax/uploadphoto.php:62 ajax/uploadphoto.php:112 -msgid "Couldn't load temporary image: " -msgstr "Geçici resmi yükleyemedi :" - -#: ajax/uploadphoto.php:71 -msgid "No file was uploaded. Unknown error" -msgstr "Dosya yüklenmedi. Bilinmeyen hata" - -#: appinfo/app.php:21 -msgid "Contacts" -msgstr "Kişiler" - -#: js/contacts.js:71 -msgid "Sorry, this functionality has not been implemented yet" -msgstr "Üzgünüz, bu özellik henüz tamamlanmadı." - -#: js/contacts.js:71 -msgid "Not implemented" -msgstr "Tamamlanmadı." - -#: js/contacts.js:76 -msgid "Couldn't get a valid address." -msgstr "Geçerli bir adres alınamadı." - -#: js/contacts.js:76 js/contacts.js:365 js/contacts.js:381 js/contacts.js:393 -#: js/contacts.js:723 js/contacts.js:763 js/contacts.js:789 js/contacts.js:921 -#: js/contacts.js:927 js/contacts.js:939 js/contacts.js:976 -#: js/contacts.js:1250 js/contacts.js:1258 js/contacts.js:1267 -#: js/contacts.js:1302 js/contacts.js:1338 js/contacts.js:1353 -#: js/contacts.js:1379 js/contacts.js:1609 js/contacts.js:1644 -#: js/contacts.js:1664 js/settings.js:26 js/settings.js:43 js/settings.js:68 -msgid "Error" -msgstr "Hata" - -#: js/contacts.js:424 -msgid "You do not have permission to add contacts to " -msgstr "" - -#: js/contacts.js:425 -msgid "Please select one of your own address books." -msgstr "" - -#: js/contacts.js:425 -msgid "Permission error" -msgstr "" - -#: js/contacts.js:763 -msgid "This property has to be non-empty." -msgstr "Bu özellik boş bırakılmamalı." - -#: js/contacts.js:789 -msgid "Couldn't serialize elements." -msgstr "Öğeler seri hale getiremedi" - -#: js/contacts.js:921 js/contacts.js:939 -msgid "" -"'deleteProperty' called without type argument. Please report at " -"bugs.owncloud.org" -msgstr "'deleteProperty' tip argümanı olmadan çağrıldı. Lütfen bugs.owncloud.org a rapor ediniz." - -#: js/contacts.js:958 -msgid "Edit name" -msgstr "İsmi düzenle" - -#: js/contacts.js:1250 -msgid "No files selected for upload." -msgstr "Yükleme için dosya seçilmedi." - -#: js/contacts.js:1258 -msgid "" -"The file you are trying to upload exceed the maximum size for file uploads " -"on this server." -msgstr "Yüklemeye çalıştığınız dosya sunucudaki dosya yükleme maksimum boyutunu aşmaktadır. " - -#: js/contacts.js:1322 -msgid "Error loading profile picture." -msgstr "" - -#: js/contacts.js:1457 js/contacts.js:1498 js/contacts.js:1517 -#: js/contacts.js:1560 -msgid "Select type" -msgstr "Tür seç" - -#: js/contacts.js:1578 -msgid "" -"Some contacts are marked for deletion, but not deleted yet. Please wait for " -"them to be deleted." -msgstr "" - -#: js/contacts.js:1649 -msgid "Do you want to merge these address books?" -msgstr "" - -#: js/loader.js:49 -msgid "Result: " -msgstr "Sonuç: " - -#: js/loader.js:49 -msgid " imported, " -msgstr " içe aktarıldı, " - -#: js/loader.js:49 -msgid " failed." -msgstr " hatalı." - -#: js/settings.js:68 -msgid "Displayname cannot be empty." -msgstr "" - -#: lib/app.php:36 -msgid "Addressbook not found: " -msgstr "" - -#: lib/app.php:52 -msgid "This is not your addressbook." -msgstr "Bu sizin adres defteriniz değil." - -#: lib/app.php:71 -msgid "Contact could not be found." -msgstr "Kişi bulunamadı." - -#: lib/app.php:116 -msgid "Jabber" -msgstr "" - -#: lib/app.php:121 -msgid "AIM" -msgstr "" - -#: lib/app.php:126 -msgid "MSN" -msgstr "" - -#: lib/app.php:131 -msgid "Twitter" -msgstr "" - -#: lib/app.php:136 -msgid "GoogleTalk" -msgstr "" - -#: lib/app.php:141 -msgid "Facebook" -msgstr "" - -#: lib/app.php:146 -msgid "XMPP" -msgstr "" - -#: lib/app.php:151 -msgid "ICQ" -msgstr "" - -#: lib/app.php:156 -msgid "Yahoo" -msgstr "" - -#: lib/app.php:161 -msgid "Skype" -msgstr "" - -#: lib/app.php:166 -msgid "QQ" -msgstr "" - -#: lib/app.php:171 -msgid "GaduGadu" -msgstr "" - -#: lib/app.php:194 lib/app.php:202 lib/app.php:213 lib/app.php:266 -msgid "Work" -msgstr "İş" - -#: lib/app.php:195 lib/app.php:200 lib/app.php:214 -msgid "Home" -msgstr "Ev" - -#: lib/app.php:196 lib/app.php:209 lib/app.php:262 lib/vcard.php:593 -msgid "Other" -msgstr "Diğer" - -#: lib/app.php:201 -msgid "Mobile" -msgstr "Mobil" - -#: lib/app.php:203 -msgid "Text" -msgstr "Metin" - -#: lib/app.php:204 -msgid "Voice" -msgstr "Ses" - -#: lib/app.php:205 -msgid "Message" -msgstr "mesaj" - -#: lib/app.php:206 -msgid "Fax" -msgstr "Faks" - -#: lib/app.php:207 -msgid "Video" -msgstr "Video" - -#: lib/app.php:208 -msgid "Pager" -msgstr "Sayfalayıcı" - -#: lib/app.php:215 -msgid "Internet" -msgstr "İnternet" - -#: lib/app.php:252 templates/part.contact.php:45 -#: templates/part.contact.php:128 -msgid "Birthday" -msgstr "Doğum günü" - -#: lib/app.php:253 -msgid "Business" -msgstr "İş" - -#: lib/app.php:254 -msgid "Call" -msgstr "Çağrı" - -#: lib/app.php:255 -msgid "Clients" -msgstr "Müşteriler" - -#: lib/app.php:256 -msgid "Deliverer" -msgstr "Dağıtıcı" - -#: lib/app.php:257 -msgid "Holidays" -msgstr "Tatiller" - -#: lib/app.php:258 -msgid "Ideas" -msgstr "Fikirler" - -#: lib/app.php:259 -msgid "Journey" -msgstr "Seyahat" - -#: lib/app.php:260 -msgid "Jubilee" -msgstr "Yıl Dönümü" - -#: lib/app.php:261 -msgid "Meeting" -msgstr "Toplantı" - -#: lib/app.php:263 -msgid "Personal" -msgstr "Kişisel" - -#: lib/app.php:264 -msgid "Projects" -msgstr "Projeler" - -#: lib/app.php:265 -msgid "Questions" -msgstr "Sorular" - -#: lib/hooks.php:102 -msgid "{name}'s Birthday" -msgstr "{name}'nin Doğumgünü" - -#: lib/search.php:15 -msgid "Contact" -msgstr "Kişi" - -#: lib/vcard.php:408 -msgid "You do not have the permissions to edit this contact." -msgstr "" - -#: lib/vcard.php:483 -msgid "You do not have the permissions to delete this contact." -msgstr "" - -#: templates/index.php:14 -msgid "Add Contact" -msgstr "Kişi Ekle" - -#: templates/index.php:15 templates/index.php:16 templates/part.import.php:17 -msgid "Import" -msgstr "İçe aktar" - -#: templates/index.php:18 -msgid "Settings" -msgstr "" - -#: templates/index.php:18 templates/settings.php:9 -msgid "Addressbooks" -msgstr "Adres defterleri" - -#: templates/index.php:36 templates/part.import.php:24 -msgid "Close" -msgstr "Kapat" - -#: templates/index.php:37 -msgid "Keyboard shortcuts" -msgstr "Klavye kısayolları" - -#: templates/index.php:39 -msgid "Navigation" -msgstr "Dolaşım" - -#: templates/index.php:42 -msgid "Next contact in list" -msgstr "Listedeki sonraki kişi" - -#: templates/index.php:44 -msgid "Previous contact in list" -msgstr "Listedeki önceki kişi" - -#: templates/index.php:46 -msgid "Expand/collapse current addressbook" -msgstr "Şuanki adres defterini genişlet/daralt" - -#: templates/index.php:48 -msgid "Next addressbook" -msgstr "" - -#: templates/index.php:50 -msgid "Previous addressbook" -msgstr "" - -#: templates/index.php:54 -msgid "Actions" -msgstr "Eylemler" - -#: templates/index.php:57 -msgid "Refresh contacts list" -msgstr "Kişi listesini tazele" - -#: templates/index.php:59 -msgid "Add new contact" -msgstr "Yeni kişi ekle" - -#: templates/index.php:61 -msgid "Add new addressbook" -msgstr "Yeni adres defteri ekle" - -#: templates/index.php:63 -msgid "Delete current contact" -msgstr "Şuanki kişiyi sil" - -#: templates/part.contact.php:17 -msgid "Drop photo to upload" -msgstr "Fotoğrafı yüklenmesi için bırakın" - -#: templates/part.contact.php:19 -msgid "Delete current photo" -msgstr "Mevcut fotoğrafı sil" - -#: templates/part.contact.php:20 -msgid "Edit current photo" -msgstr "Mevcut fotoğrafı düzenle" - -#: templates/part.contact.php:21 -msgid "Upload new photo" -msgstr "Yeni fotoğraf yükle" - -#: templates/part.contact.php:22 -msgid "Select photo from ownCloud" -msgstr "ownCloud'dan bir fotoğraf seç" - -#: templates/part.contact.php:35 -msgid "Format custom, Short name, Full name, Reverse or Reverse with comma" -msgstr "Biçin özel, Kısa isim, Tam isim, Ters veya noktalı ters" - -#: templates/part.contact.php:36 -msgid "Edit name details" -msgstr "İsim detaylarını düzenle" - -#: templates/part.contact.php:39 templates/part.contact.php:40 -#: templates/part.contact.php:126 -msgid "Organization" -msgstr "Organizasyon" - -#: templates/part.contact.php:40 templates/part.contact.php:42 -#: templates/part.contact.php:44 templates/part.contact.php:46 -#: templates/part.contact.php:50 templates/settings.php:36 -msgid "Delete" -msgstr "Sil" - -#: templates/part.contact.php:41 templates/part.contact.php:127 -msgid "Nickname" -msgstr "Takma ad" - -#: templates/part.contact.php:42 -msgid "Enter nickname" -msgstr "Takma adı girin" - -#: templates/part.contact.php:43 templates/part.contact.php:134 -msgid "Web site" -msgstr "Web sitesi" - -#: templates/part.contact.php:44 -msgid "http://www.somesite.com" -msgstr "http://www.somesite.com" - -#: templates/part.contact.php:44 -msgid "Go to web site" -msgstr "Web sitesine git" - -#: templates/part.contact.php:46 -msgid "dd-mm-yyyy" -msgstr "gg-aa-yyyy" - -#: templates/part.contact.php:47 templates/part.contact.php:135 -msgid "Groups" -msgstr "Gruplar" - -#: templates/part.contact.php:49 -msgid "Separate groups with commas" -msgstr "Grupları birbirinden virgülle ayırın" - -#: templates/part.contact.php:50 -msgid "Edit groups" -msgstr "Grupları düzenle" - -#: templates/part.contact.php:59 templates/part.contact.php:73 -#: templates/part.contact.php:98 -msgid "Preferred" -msgstr "Tercih edilen" - -#: templates/part.contact.php:60 -msgid "Please specify a valid email address." -msgstr "Lütfen geçerli bir eposta adresi belirtin." - -#: templates/part.contact.php:60 -msgid "Enter email address" -msgstr "Eposta adresini girin" - -#: templates/part.contact.php:64 -msgid "Mail to address" -msgstr "Eposta adresi" - -#: templates/part.contact.php:65 -msgid "Delete email address" -msgstr "Eposta adresini sil" - -#: templates/part.contact.php:75 -msgid "Enter phone number" -msgstr "Telefon numarasını gir" - -#: templates/part.contact.php:79 -msgid "Delete phone number" -msgstr "Telefon numarasını sil" - -#: templates/part.contact.php:100 -msgid "Instant Messenger" -msgstr "" - -#: templates/part.contact.php:101 -msgid "Delete IM" -msgstr "" - -#: templates/part.contact.php:110 -msgid "View on map" -msgstr "Haritada gör" - -#: templates/part.contact.php:110 -msgid "Edit address details" -msgstr "Adres detaylarını düzenle" - -#: templates/part.contact.php:116 -msgid "Add notes here." -msgstr "Notları buraya ekleyin." - -#: templates/part.contact.php:124 -msgid "Add field" -msgstr "Alan ekle" - -#: templates/part.contact.php:129 -msgid "Phone" -msgstr "Telefon" - -#: templates/part.contact.php:130 -msgid "Email" -msgstr "Eposta" - -#: templates/part.contact.php:131 -msgid "Instant Messaging" -msgstr "" - -#: templates/part.contact.php:132 -msgid "Address" -msgstr "Adres" - -#: templates/part.contact.php:133 -msgid "Note" -msgstr "Not" - -#: templates/part.contact.php:138 -msgid "Download contact" -msgstr "Kişiyi indir" - -#: templates/part.contact.php:139 -msgid "Delete contact" -msgstr "Kişiyi sil" - -#: templates/part.cropphoto.php:65 -msgid "The temporary image has been removed from cache." -msgstr "Geçici resim ön bellekten silinmiştir." - -#: templates/part.edit_address_dialog.php:6 -msgid "Edit address" -msgstr "Adresi düzenle" - -#: templates/part.edit_address_dialog.php:10 -msgid "Type" -msgstr "Tür" - -#: templates/part.edit_address_dialog.php:18 -#: templates/part.edit_address_dialog.php:21 -msgid "PO Box" -msgstr "Posta Kutusu" - -#: templates/part.edit_address_dialog.php:24 -msgid "Street address" -msgstr "Sokak adresi" - -#: templates/part.edit_address_dialog.php:27 -msgid "Street and number" -msgstr "Sokak ve Numara" - -#: templates/part.edit_address_dialog.php:30 -msgid "Extended" -msgstr "Uzatılmış" - -#: templates/part.edit_address_dialog.php:33 -msgid "Apartment number etc." -msgstr "Apartman numarası vb." - -#: templates/part.edit_address_dialog.php:36 -#: templates/part.edit_address_dialog.php:39 -msgid "City" -msgstr "Şehir" - -#: templates/part.edit_address_dialog.php:42 -msgid "Region" -msgstr "Bölge" - -#: templates/part.edit_address_dialog.php:45 -msgid "E.g. state or province" -msgstr "Örn. eyalet veya il" - -#: templates/part.edit_address_dialog.php:48 -msgid "Zipcode" -msgstr "Posta kodu" - -#: templates/part.edit_address_dialog.php:51 -msgid "Postal code" -msgstr "Posta kodu" - -#: templates/part.edit_address_dialog.php:54 -#: templates/part.edit_address_dialog.php:57 -msgid "Country" -msgstr "Ülke" - -#: templates/part.edit_name_dialog.php:16 -msgid "Addressbook" -msgstr "Adres defteri" - -#: templates/part.edit_name_dialog.php:23 -msgid "Hon. prefixes" -msgstr "Kısaltmalar" - -#: templates/part.edit_name_dialog.php:27 -msgid "Miss" -msgstr "Bayan" - -#: templates/part.edit_name_dialog.php:28 -msgid "Ms" -msgstr "Bayan" - -#: templates/part.edit_name_dialog.php:29 -msgid "Mr" -msgstr "Bay" - -#: templates/part.edit_name_dialog.php:30 -msgid "Sir" -msgstr "Bay" - -#: templates/part.edit_name_dialog.php:31 -msgid "Mrs" -msgstr "Bayan" - -#: templates/part.edit_name_dialog.php:32 -msgid "Dr" -msgstr "Dr" - -#: templates/part.edit_name_dialog.php:35 -msgid "Given name" -msgstr "Verilen isim" - -#: templates/part.edit_name_dialog.php:37 -msgid "Additional names" -msgstr "İlave isimler" - -#: templates/part.edit_name_dialog.php:39 -msgid "Family name" -msgstr "Soyad" - -#: templates/part.edit_name_dialog.php:41 -msgid "Hon. suffixes" -msgstr "Kısaltmalar" - -#: templates/part.edit_name_dialog.php:45 -msgid "J.D." -msgstr "J.D." - -#: templates/part.edit_name_dialog.php:46 -msgid "M.D." -msgstr "Dr." - -#: templates/part.edit_name_dialog.php:47 -msgid "D.O." -msgstr "D.O." - -#: templates/part.edit_name_dialog.php:48 -msgid "D.C." -msgstr "D.C." - -#: templates/part.edit_name_dialog.php:49 -msgid "Ph.D." -msgstr "Dr." - -#: templates/part.edit_name_dialog.php:50 -msgid "Esq." -msgstr "Esq." - -#: templates/part.edit_name_dialog.php:51 -msgid "Jr." -msgstr "Jr." - -#: templates/part.edit_name_dialog.php:52 -msgid "Sn." -msgstr "Sn." - -#: templates/part.import.php:1 -msgid "Import a contacts file" -msgstr "Bağlantı dosyasını içeri aktar" - -#: templates/part.import.php:6 -msgid "Please choose the addressbook" -msgstr "Yeni adres defterini seç" - -#: templates/part.import.php:10 -msgid "create a new addressbook" -msgstr "Yeni adres defteri oluştur" - -#: templates/part.import.php:15 -msgid "Name of new addressbook" -msgstr "Yeni adres defteri için isim" - -#: templates/part.import.php:20 -msgid "Importing contacts" -msgstr "Bağlantıları içe aktar" - -#: templates/part.no_contacts.php:3 -msgid "You have no contacts in your addressbook." -msgstr "Adres defterinizde hiç bağlantı yok." - -#: templates/part.no_contacts.php:5 -msgid "Add contact" -msgstr "Bağlatı ekle" - -#: templates/part.selectaddressbook.php:1 -msgid "Select Address Books" -msgstr "Adres deftelerini seçiniz" - -#: templates/part.selectaddressbook.php:27 -msgid "Enter name" -msgstr "İsim giriniz" - -#: templates/part.selectaddressbook.php:29 -msgid "Enter description" -msgstr "Tanım giriniz" - -#: templates/settings.php:3 -msgid "CardDAV syncing addresses" -msgstr "CardDAV adresleri eşzamanlıyor" - -#: templates/settings.php:3 -msgid "more info" -msgstr "daha fazla bilgi" - -#: templates/settings.php:5 -msgid "Primary address (Kontact et al)" -msgstr "Birincil adres (Bağlantı ve arkadaşları)" - -#: templates/settings.php:7 -msgid "iOS/OS X" -msgstr "iOS/OS X" - -#: templates/settings.php:20 -msgid "Show CardDav link" -msgstr "" - -#: templates/settings.php:23 -msgid "Show read-only VCF link" -msgstr "" - -#: templates/settings.php:26 -msgid "Share" -msgstr "" - -#: templates/settings.php:29 -msgid "Download" -msgstr "İndir" - -#: templates/settings.php:33 -msgid "Edit" -msgstr "Düzenle" - -#: templates/settings.php:43 -msgid "New Address Book" -msgstr "Yeni Adres Defteri" - -#: templates/settings.php:44 -msgid "Name" -msgstr "" - -#: templates/settings.php:45 -msgid "Description" -msgstr "" - -#: templates/settings.php:46 -msgid "Save" -msgstr "Kaydet" - -#: templates/settings.php:47 -msgid "Cancel" -msgstr "İptal" - -#: templates/settings.php:52 -msgid "More..." -msgstr "" diff --git a/l10n/tr/core.po b/l10n/tr/core.po index 17d229d03552bfbea0b20d339653c281208a0b89..83b9a8bcbfd74f8e53b175f76737ba9f7fd24590 100644 --- a/l10n/tr/core.po +++ b/l10n/tr/core.po @@ -5,14 +5,15 @@ # Translators: # Aranel Surion , 2011, 2012. # Caner Başaran , 2012. +# , 2012. # Necdet Yücel , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-16 02:04+0200\n" -"PO-Revision-Date: 2012-10-16 00:05+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-12-05 00:04+0100\n" +"PO-Revision-Date: 2012-12-04 12:02+0000\n" +"Last-Translator: alpere \n" "Language-Team: Turkish (http://www.transifex.com/projects/p/owncloud/language/tr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -20,209 +21,241 @@ msgstr "" "Language: tr\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: ajax/vcategories/add.php:23 ajax/vcategories/delete.php:23 -msgid "Application name not provided." -msgstr "Uygulama adı verilmedi." +#: ajax/vcategories/add.php:26 ajax/vcategories/edit.php:25 +msgid "Category type not provided." +msgstr "" -#: ajax/vcategories/add.php:29 +#: ajax/vcategories/add.php:30 msgid "No category to add?" msgstr "Eklenecek kategori yok?" -#: ajax/vcategories/add.php:36 +#: ajax/vcategories/add.php:37 msgid "This category already exists: " msgstr "Bu kategori zaten mevcut: " -#: js/js.js:238 templates/layout.user.php:49 templates/layout.user.php:50 +#: ajax/vcategories/addToFavorites.php:26 ajax/vcategories/delete.php:27 +#: ajax/vcategories/favorites.php:24 +#: ajax/vcategories/removeFromFavorites.php:26 +msgid "Object type not provided." +msgstr "" + +#: ajax/vcategories/addToFavorites.php:30 +#: ajax/vcategories/removeFromFavorites.php:30 +#, php-format +msgid "%s ID not provided." +msgstr "" + +#: ajax/vcategories/addToFavorites.php:35 +#, php-format +msgid "Error adding %s to favorites." +msgstr "" + +#: ajax/vcategories/delete.php:35 js/oc-vcategories.js:136 +msgid "No categories selected for deletion." +msgstr "Silmek için bir kategori seçilmedi" + +#: ajax/vcategories/removeFromFavorites.php:35 +#, php-format +msgid "Error removing %s from favorites." +msgstr "" + +#: js/js.js:259 templates/layout.user.php:60 templates/layout.user.php:61 msgid "Settings" msgstr "Ayarlar" -#: js/js.js:670 -msgid "January" -msgstr "Ocak" +#: js/js.js:704 +msgid "seconds ago" +msgstr "" -#: js/js.js:670 -msgid "February" -msgstr "Şubat" +#: js/js.js:705 +msgid "1 minute ago" +msgstr "" -#: js/js.js:670 -msgid "March" -msgstr "Mart" +#: js/js.js:706 +msgid "{minutes} minutes ago" +msgstr "" -#: js/js.js:670 -msgid "April" -msgstr "Nisan" +#: js/js.js:707 +msgid "1 hour ago" +msgstr "" -#: js/js.js:670 -msgid "May" -msgstr "Mayıs" +#: js/js.js:708 +msgid "{hours} hours ago" +msgstr "" -#: js/js.js:670 -msgid "June" -msgstr "Haziran" +#: js/js.js:709 +msgid "today" +msgstr "" -#: js/js.js:671 -msgid "July" -msgstr "Temmuz" +#: js/js.js:710 +msgid "yesterday" +msgstr "" -#: js/js.js:671 -msgid "August" -msgstr "Ağustos" +#: js/js.js:711 +msgid "{days} days ago" +msgstr "" -#: js/js.js:671 -msgid "September" -msgstr "Eylül" +#: js/js.js:712 +msgid "last month" +msgstr "" -#: js/js.js:671 -msgid "October" -msgstr "Ekim" +#: js/js.js:713 +msgid "{months} months ago" +msgstr "" -#: js/js.js:671 -msgid "November" -msgstr "Kasım" +#: js/js.js:714 +msgid "months ago" +msgstr "" -#: js/js.js:671 -msgid "December" -msgstr "Aralık" +#: js/js.js:715 +msgid "last year" +msgstr "" -#: js/oc-dialogs.js:123 -msgid "Choose" +#: js/js.js:716 +msgid "years ago" msgstr "" -#: js/oc-dialogs.js:143 js/oc-dialogs.js:163 +#: js/oc-dialogs.js:126 +msgid "Choose" +msgstr "seç" + +#: js/oc-dialogs.js:146 js/oc-dialogs.js:166 msgid "Cancel" msgstr "İptal" -#: js/oc-dialogs.js:159 +#: js/oc-dialogs.js:162 msgid "No" msgstr "Hayır" -#: js/oc-dialogs.js:160 +#: js/oc-dialogs.js:163 msgid "Yes" msgstr "Evet" -#: js/oc-dialogs.js:177 +#: js/oc-dialogs.js:180 msgid "Ok" msgstr "Tamam" -#: js/oc-vcategories.js:68 -msgid "No categories selected for deletion." -msgstr "Silmek için bir kategori seçilmedi" +#: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102 +#: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162 +msgid "The object type is not specified." +msgstr "" -#: js/oc-vcategories.js:68 js/share.js:114 js/share.js:121 js/share.js:497 -#: js/share.js:509 +#: js/oc-vcategories.js:95 js/oc-vcategories.js:125 js/oc-vcategories.js:136 +#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:533 +#: js/share.js:545 msgid "Error" msgstr "Hata" -#: js/share.js:103 -msgid "Error while sharing" +#: js/oc-vcategories.js:179 +msgid "The app name is not specified." msgstr "" -#: js/share.js:114 -msgid "Error while unsharing" +#: js/oc-vcategories.js:194 +msgid "The required file {file} is not installed!" msgstr "" -#: js/share.js:121 -msgid "Error while changing permissions" +#: js/share.js:124 +msgid "Error while sharing" +msgstr "Paylaşım sırasında hata " + +#: js/share.js:135 +msgid "Error while unsharing" msgstr "" -#: js/share.js:130 -msgid "Shared with you and the group" +#: js/share.js:142 +msgid "Error while changing permissions" msgstr "" -#: js/share.js:130 -msgid "by" +#: js/share.js:151 +msgid "Shared with you and the group {group} by {owner}" msgstr "" -#: js/share.js:132 -msgid "Shared with you by" +#: js/share.js:153 +msgid "Shared with you by {owner}" msgstr "" -#: js/share.js:137 +#: js/share.js:158 msgid "Share with" -msgstr "" +msgstr "ile Paylaş" -#: js/share.js:142 +#: js/share.js:163 msgid "Share with link" -msgstr "" +msgstr "Bağlantı ile paylaş" -#: js/share.js:143 +#: js/share.js:164 msgid "Password protect" -msgstr "" +msgstr "Şifre korunması" -#: js/share.js:147 templates/installation.php:42 templates/login.php:24 +#: js/share.js:168 templates/installation.php:42 templates/login.php:24 #: templates/verify.php:13 msgid "Password" msgstr "Parola" -#: js/share.js:152 +#: js/share.js:173 msgid "Set expiration date" -msgstr "" +msgstr "Son kullanma tarihini ayarla" -#: js/share.js:153 +#: js/share.js:174 msgid "Expiration date" msgstr "" -#: js/share.js:185 +#: js/share.js:206 msgid "Share via email:" msgstr "" -#: js/share.js:187 +#: js/share.js:208 msgid "No people found" msgstr "" -#: js/share.js:214 +#: js/share.js:235 msgid "Resharing is not allowed" msgstr "" -#: js/share.js:250 -msgid "Shared in" -msgstr "" - -#: js/share.js:250 -msgid "with" +#: js/share.js:271 +msgid "Shared in {item} with {user}" msgstr "" -#: js/share.js:271 +#: js/share.js:292 msgid "Unshare" -msgstr "" +msgstr "Paylaşılmayan" -#: js/share.js:283 +#: js/share.js:304 msgid "can edit" msgstr "" -#: js/share.js:285 +#: js/share.js:306 msgid "access control" msgstr "" -#: js/share.js:288 +#: js/share.js:309 msgid "create" -msgstr "" +msgstr "oluştur" -#: js/share.js:291 +#: js/share.js:312 msgid "update" msgstr "" -#: js/share.js:294 +#: js/share.js:315 msgid "delete" msgstr "" -#: js/share.js:297 +#: js/share.js:318 msgid "share" msgstr "" -#: js/share.js:322 js/share.js:484 +#: js/share.js:349 js/share.js:520 js/share.js:522 msgid "Password protected" msgstr "" -#: js/share.js:497 +#: js/share.js:533 msgid "Error unsetting expiration date" msgstr "" -#: js/share.js:509 +#: js/share.js:545 msgid "Error setting expiration date" msgstr "" -#: lostpassword/index.php:26 +#: lostpassword/controller.php:47 msgid "ownCloud password reset" msgstr "ownCloud parola sıfırlama" @@ -235,12 +268,12 @@ msgid "You will receive a link to reset your password via Email." msgstr "Parolanızı sıfırlamak için bir bağlantı Eposta olarak gönderilecek." #: lostpassword/templates/lostpassword.php:5 -msgid "Requested" -msgstr "İstendi" +msgid "Reset email send." +msgstr "" #: lostpassword/templates/lostpassword.php:8 -msgid "Login failed!" -msgstr "Giriş başarısız!" +msgid "Request failed!" +msgstr "" #: lostpassword/templates/lostpassword.php:11 templates/installation.php:38 #: templates/login.php:20 @@ -299,13 +332,13 @@ msgstr "Bulut bulunamadı" msgid "Edit categories" msgstr "Kategorileri düzenle" -#: templates/edit_categories_dialog.php:14 +#: templates/edit_categories_dialog.php:16 msgid "Add" msgstr "Ekle" #: templates/installation.php:23 templates/installation.php:31 msgid "Security Warning" -msgstr "" +msgstr "Güvenlik Uyarisi" #: templates/installation.php:24 msgid "" @@ -373,11 +406,87 @@ msgstr "Veritabanı sunucusu" msgid "Finish setup" msgstr "Kurulumu tamamla" -#: templates/layout.guest.php:38 +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Sunday" +msgstr "Pazar" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Monday" +msgstr "Pazartesi" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Tuesday" +msgstr "Salı" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Wednesday" +msgstr "Çarşamba" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Thursday" +msgstr "Perşembe" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Friday" +msgstr "Cuma" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Saturday" +msgstr "Cumartesi" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "January" +msgstr "Ocak" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "February" +msgstr "Şubat" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "March" +msgstr "Mart" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "April" +msgstr "Nisan" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "May" +msgstr "Mayıs" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "June" +msgstr "Haziran" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "July" +msgstr "Temmuz" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "August" +msgstr "Ağustos" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "September" +msgstr "Eylül" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "October" +msgstr "Ekim" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "November" +msgstr "Kasım" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "December" +msgstr "Aralık" + +#: templates/layout.guest.php:42 msgid "web services under your control" msgstr "kontrolünüzdeki web servisleri" -#: templates/layout.user.php:34 +#: templates/layout.user.php:45 msgid "Log out" msgstr "Çıkış yap" diff --git a/l10n/tr/files.po b/l10n/tr/files.po index 89562bcb1f3e435aa7fb7e0daf9c7c74845d71e7..fbd322633df131347c9cd22dfd964fb5eaa29d1b 100644 --- a/l10n/tr/files.po +++ b/l10n/tr/files.po @@ -6,14 +6,15 @@ # Aranel Surion , 2011, 2012. # Caner Başaran , 2012. # Emre , 2012. +# , 2012. # Necdet Yücel , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-09-26 13:19+0200\n" -"PO-Revision-Date: 2012-09-26 11:20+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-12-05 00:04+0100\n" +"PO-Revision-Date: 2012-12-04 11:50+0000\n" +"Last-Translator: alpere \n" "Language-Team: Turkish (http://www.transifex.com/projects/p/owncloud/language/tr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -26,194 +27,165 @@ msgid "There is no error, the file uploaded with success" msgstr "Bir hata yok, dosya başarıyla yüklendi" #: ajax/upload.php:21 -msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" -msgstr "Yüklenen dosya php.ini de belirtilen upload_max_filesize sınırını aşıyor" +msgid "" +"The uploaded file exceeds the upload_max_filesize directive in php.ini: " +msgstr "" -#: ajax/upload.php:22 +#: ajax/upload.php:23 msgid "" "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " "the HTML form" msgstr "Yüklenen dosya HTML formundaki MAX_FILE_SIZE sınırını aşıyor" -#: ajax/upload.php:23 +#: ajax/upload.php:25 msgid "The uploaded file was only partially uploaded" msgstr "Yüklenen dosyanın sadece bir kısmı yüklendi" -#: ajax/upload.php:24 +#: ajax/upload.php:26 msgid "No file was uploaded" msgstr "Hiç dosya yüklenmedi" -#: ajax/upload.php:25 +#: ajax/upload.php:27 msgid "Missing a temporary folder" msgstr "Geçici bir klasör eksik" -#: ajax/upload.php:26 +#: ajax/upload.php:28 msgid "Failed to write to disk" msgstr "Diske yazılamadı" -#: appinfo/app.php:6 +#: appinfo/app.php:10 msgid "Files" msgstr "Dosyalar" -#: js/fileactions.js:108 templates/index.php:62 +#: js/fileactions.js:117 templates/index.php:83 templates/index.php:84 msgid "Unshare" -msgstr "" +msgstr "Paylaşılmayan" -#: js/fileactions.js:110 templates/index.php:64 +#: js/fileactions.js:119 templates/index.php:89 templates/index.php:90 msgid "Delete" msgstr "Sil" -#: js/fileactions.js:182 +#: js/fileactions.js:181 msgid "Rename" -msgstr "" +msgstr "İsim değiştir." -#: js/filelist.js:190 js/filelist.js:192 -msgid "already exists" -msgstr "zaten mevcut" +#: js/filelist.js:201 js/filelist.js:203 +msgid "{new_name} already exists" +msgstr "{new_name} zaten mevcut" -#: js/filelist.js:190 js/filelist.js:192 +#: js/filelist.js:201 js/filelist.js:203 msgid "replace" msgstr "değiştir" -#: js/filelist.js:190 +#: js/filelist.js:201 msgid "suggest name" -msgstr "" +msgstr "Öneri ad" -#: js/filelist.js:190 js/filelist.js:192 +#: js/filelist.js:201 js/filelist.js:203 msgid "cancel" msgstr "iptal" -#: js/filelist.js:239 js/filelist.js:241 -msgid "replaced" -msgstr "değiştirildi" +#: js/filelist.js:250 +msgid "replaced {new_name}" +msgstr "değiştirilen {new_name}" -#: js/filelist.js:239 js/filelist.js:241 js/filelist.js:273 js/filelist.js:275 +#: js/filelist.js:250 js/filelist.js:252 js/filelist.js:284 js/filelist.js:286 msgid "undo" msgstr "geri al" -#: js/filelist.js:241 -msgid "with" -msgstr "ile" - -#: js/filelist.js:273 -msgid "unshared" +#: js/filelist.js:252 +msgid "replaced {new_name} with {old_name}" msgstr "" -#: js/filelist.js:275 -msgid "deleted" -msgstr "silindi" +#: js/filelist.js:284 +msgid "unshared {files}" +msgstr "paylaşılmamış {files}" + +#: js/filelist.js:286 +msgid "deleted {files}" +msgstr "silinen {files}" -#: js/files.js:179 +#: js/files.js:33 +msgid "" +"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not " +"allowed." +msgstr "" + +#: js/files.js:183 msgid "generating ZIP-file, it may take some time." msgstr "ZIP dosyası oluşturuluyor, biraz sürebilir." -#: js/files.js:208 +#: js/files.js:218 msgid "Unable to upload your file as it is a directory or has 0 bytes" msgstr "Dosyanızın boyutu 0 byte olduğundan veya bir dizin olduğundan yüklenemedi" -#: js/files.js:208 +#: js/files.js:218 msgid "Upload Error" msgstr "Yükleme hatası" -#: js/files.js:236 js/files.js:341 js/files.js:371 +#: js/files.js:235 +msgid "Close" +msgstr "Kapat" + +#: js/files.js:254 js/files.js:368 js/files.js:398 msgid "Pending" msgstr "Bekliyor" -#: js/files.js:256 +#: js/files.js:274 msgid "1 file uploading" -msgstr "" +msgstr "1 dosya yüklendi" -#: js/files.js:259 js/files.js:304 js/files.js:319 -msgid "files uploading" +#: js/files.js:277 js/files.js:331 js/files.js:346 +msgid "{count} files uploading" msgstr "" -#: js/files.js:322 js/files.js:355 +#: js/files.js:349 js/files.js:382 msgid "Upload cancelled." msgstr "Yükleme iptal edildi." -#: js/files.js:424 +#: js/files.js:451 msgid "" "File upload is in progress. Leaving the page now will cancel the upload." msgstr "Dosya yükleme işlemi sürüyor. Şimdi sayfadan ayrılırsanız işleminiz iptal olur." -#: js/files.js:494 -msgid "Invalid name, '/' is not allowed." -msgstr "Geçersiz isim, '/' işaretine izin verilmiyor." +#: js/files.js:523 +msgid "Invalid folder name. Usage of \"Shared\" is reserved by Owncloud" +msgstr "" -#: js/files.js:667 -msgid "files scanned" +#: js/files.js:704 +msgid "{count} files scanned" msgstr "" -#: js/files.js:675 +#: js/files.js:712 msgid "error while scanning" -msgstr "" +msgstr "tararamada hata oluşdu" -#: js/files.js:748 templates/index.php:48 +#: js/files.js:785 templates/index.php:65 msgid "Name" msgstr "Ad" -#: js/files.js:749 templates/index.php:56 +#: js/files.js:786 templates/index.php:76 msgid "Size" msgstr "Boyut" -#: js/files.js:750 templates/index.php:58 +#: js/files.js:787 templates/index.php:78 msgid "Modified" msgstr "Değiştirilme" -#: js/files.js:777 -msgid "folder" -msgstr "dizin" - -#: js/files.js:779 -msgid "folders" -msgstr "dizinler" - -#: js/files.js:787 -msgid "file" -msgstr "dosya" - -#: js/files.js:789 -msgid "files" -msgstr "dosyalar" - -#: js/files.js:833 -msgid "seconds ago" +#: js/files.js:814 +msgid "1 folder" msgstr "" -#: js/files.js:834 -msgid "minute ago" +#: js/files.js:816 +msgid "{count} folders" msgstr "" -#: js/files.js:835 -msgid "minutes ago" +#: js/files.js:824 +msgid "1 file" msgstr "" -#: js/files.js:838 -msgid "today" -msgstr "" - -#: js/files.js:839 -msgid "yesterday" -msgstr "" - -#: js/files.js:840 -msgid "days ago" -msgstr "" - -#: js/files.js:841 -msgid "last month" -msgstr "" - -#: js/files.js:843 -msgid "months ago" -msgstr "" - -#: js/files.js:844 -msgid "last year" -msgstr "" - -#: js/files.js:845 -msgid "years ago" +#: js/files.js:826 +msgid "{count} files" msgstr "" #: templates/admin.php:5 @@ -224,80 +196,76 @@ msgstr "Dosya taşıma" msgid "Maximum upload size" msgstr "Maksimum yükleme boyutu" -#: templates/admin.php:7 +#: templates/admin.php:9 msgid "max. possible: " msgstr "mümkün olan en fazla: " -#: templates/admin.php:9 +#: templates/admin.php:12 msgid "Needed for multi-file and folder downloads." msgstr "Çoklu dosya ve dizin indirmesi için gerekli." -#: templates/admin.php:9 +#: templates/admin.php:14 msgid "Enable ZIP-download" msgstr "ZIP indirmeyi aktif et" -#: templates/admin.php:11 +#: templates/admin.php:17 msgid "0 is unlimited" msgstr "0 limitsiz demektir" -#: templates/admin.php:12 +#: templates/admin.php:19 msgid "Maximum input size for ZIP files" msgstr "ZIP dosyaları için en fazla girdi sayısı" -#: templates/admin.php:14 +#: templates/admin.php:23 msgid "Save" -msgstr "" +msgstr "Kaydet" #: templates/index.php:7 msgid "New" msgstr "Yeni" -#: templates/index.php:9 +#: templates/index.php:10 msgid "Text file" msgstr "Metin dosyası" -#: templates/index.php:10 +#: templates/index.php:12 msgid "Folder" msgstr "Klasör" -#: templates/index.php:11 -msgid "From url" -msgstr "Url'den" +#: templates/index.php:14 +msgid "From link" +msgstr "" -#: templates/index.php:20 +#: templates/index.php:35 msgid "Upload" msgstr "Yükle" -#: templates/index.php:27 +#: templates/index.php:43 msgid "Cancel upload" msgstr "Yüklemeyi iptal et" -#: templates/index.php:40 +#: templates/index.php:57 msgid "Nothing in here. Upload something!" msgstr "Burada hiçbir şey yok. Birşeyler yükleyin!" -#: templates/index.php:50 -msgid "Share" -msgstr "Paylaş" - -#: templates/index.php:52 +#: templates/index.php:71 msgid "Download" msgstr "İndir" -#: templates/index.php:75 +#: templates/index.php:103 msgid "Upload too large" msgstr "Yüklemeniz çok büyük" -#: templates/index.php:77 +#: templates/index.php:105 msgid "" "The files you are trying to upload exceed the maximum size for file uploads " "on this server." msgstr "Yüklemeye çalıştığınız dosyalar bu sunucudaki maksimum yükleme boyutunu aşıyor." -#: templates/index.php:82 +#: templates/index.php:110 msgid "Files are being scanned, please wait." msgstr "Dosyalar taranıyor, lütfen bekleyin." -#: templates/index.php:85 +#: templates/index.php:113 msgid "Current scanning" msgstr "Güncel tarama" diff --git a/l10n/tr/files_external.po b/l10n/tr/files_external.po index e8236b8b4b7a81b36d45636efb91607ca071328a..b545004333d8ca5fa3841a21b9dea21c721f70fa 100644 --- a/l10n/tr/files_external.po +++ b/l10n/tr/files_external.po @@ -7,9 +7,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-02 23:16+0200\n" -"PO-Revision-Date: 2012-10-02 21:17+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-12-12 00:12+0100\n" +"PO-Revision-Date: 2012-12-11 23:13+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Turkish (http://www.transifex.com/projects/p/owncloud/language/tr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -41,66 +41,80 @@ msgstr "" msgid "Error configuring Google Drive storage" msgstr "" +#: lib/config.php:434 +msgid "" +"Warning: \"smbclient\" is not installed. Mounting of CIFS/SMB shares " +"is not possible. Please ask your system administrator to install it." +msgstr "" + +#: lib/config.php:435 +msgid "" +"Warning: The FTP support in PHP is not enabled or installed. Mounting" +" of FTP shares is not possible. Please ask your system administrator to " +"install it." +msgstr "" + #: templates/settings.php:3 msgid "External Storage" msgstr "" -#: templates/settings.php:7 templates/settings.php:19 +#: templates/settings.php:8 templates/settings.php:22 msgid "Mount point" msgstr "" -#: templates/settings.php:8 +#: templates/settings.php:9 msgid "Backend" msgstr "" -#: templates/settings.php:9 +#: templates/settings.php:10 msgid "Configuration" msgstr "" -#: templates/settings.php:10 +#: templates/settings.php:11 msgid "Options" msgstr "" -#: templates/settings.php:11 +#: templates/settings.php:12 msgid "Applicable" msgstr "" -#: templates/settings.php:23 +#: templates/settings.php:27 msgid "Add mount point" msgstr "" -#: templates/settings.php:54 templates/settings.php:62 +#: templates/settings.php:85 msgid "None set" msgstr "" -#: templates/settings.php:63 +#: templates/settings.php:86 msgid "All Users" msgstr "" -#: templates/settings.php:64 +#: templates/settings.php:87 msgid "Groups" msgstr "" -#: templates/settings.php:69 +#: templates/settings.php:95 msgid "Users" msgstr "" -#: templates/settings.php:77 templates/settings.php:107 +#: templates/settings.php:108 templates/settings.php:109 +#: templates/settings.php:149 templates/settings.php:150 msgid "Delete" msgstr "" -#: templates/settings.php:87 +#: templates/settings.php:124 msgid "Enable User External Storage" msgstr "" -#: templates/settings.php:88 +#: templates/settings.php:125 msgid "Allow users to mount their own external storage" msgstr "" -#: templates/settings.php:99 +#: templates/settings.php:139 msgid "SSL root certificates" msgstr "" -#: templates/settings.php:113 +#: templates/settings.php:158 msgid "Import Root Certificate" msgstr "" diff --git a/l10n/tr/files_pdfviewer.po b/l10n/tr/files_pdfviewer.po deleted file mode 100644 index 8f66b76939404eb0e0e7c2b8885e9db970f40f1b..0000000000000000000000000000000000000000 --- a/l10n/tr/files_pdfviewer.po +++ /dev/null @@ -1,42 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 02:18+0200\n" -"PO-Revision-Date: 2012-08-26 00:19+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Turkish (http://www.transifex.com/projects/p/owncloud/language/tr/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: tr\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: js/viewer.js:22 -msgid "Previous" -msgstr "" - -#: js/viewer.js:23 -msgid "Next" -msgstr "" - -#: js/viewer.js:29 -msgid "Page Width" -msgstr "" - -#: js/viewer.js:29 -msgid "Page Fit" -msgstr "" - -#: js/viewer.js:30 -msgid "Print" -msgstr "" - -#: js/viewer.js:32 -msgid "Download" -msgstr "" diff --git a/l10n/tr/files_sharing.po b/l10n/tr/files_sharing.po index fbf76ec640fbdb6f60bfe961b80e597e5abe1d3a..5cef16c9263ce487a529447680b4dafc2c6e54cc 100644 --- a/l10n/tr/files_sharing.po +++ b/l10n/tr/files_sharing.po @@ -3,13 +3,14 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-09-22 01:14+0200\n" -"PO-Revision-Date: 2012-09-21 23:15+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-12-05 00:04+0100\n" +"PO-Revision-Date: 2012-12-04 11:33+0000\n" +"Last-Translator: alpere \n" "Language-Team: Turkish (http://www.transifex.com/projects/p/owncloud/language/tr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -19,30 +20,30 @@ msgstr "" #: templates/authenticate.php:4 msgid "Password" -msgstr "" +msgstr "Şifre" #: templates/authenticate.php:6 msgid "Submit" -msgstr "" +msgstr "Gönder" -#: templates/public.php:9 +#: templates/public.php:17 #, php-format msgid "%s shared the folder %s with you" -msgstr "" +msgstr "%s sizinle paylaşılan %s klasör" -#: templates/public.php:11 +#: templates/public.php:19 #, php-format msgid "%s shared the file %s with you" -msgstr "" +msgstr "%s sizinle paylaşılan %s klasör" -#: templates/public.php:14 templates/public.php:30 +#: templates/public.php:22 templates/public.php:38 msgid "Download" -msgstr "" +msgstr "İndir" -#: templates/public.php:29 +#: templates/public.php:37 msgid "No preview available for" -msgstr "" +msgstr "Kullanılabilir önizleme yok" -#: templates/public.php:37 +#: templates/public.php:43 msgid "web services under your control" -msgstr "" +msgstr "Bilgileriniz güvenli ve şifreli" diff --git a/l10n/tr/files_texteditor.po b/l10n/tr/files_texteditor.po deleted file mode 100644 index d1aa8ee65ad4a8b3c0b738ddc83e0a0e33988ac9..0000000000000000000000000000000000000000 --- a/l10n/tr/files_texteditor.po +++ /dev/null @@ -1,44 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 01:17+0200\n" -"PO-Revision-Date: 2012-08-25 23:18+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Turkish (http://www.transifex.com/projects/p/owncloud/language/tr/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: tr\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: js/aceeditor/mode-coldfusion-uncompressed.js:1568 -#: js/aceeditor/mode-liquid-uncompressed.js:902 -#: js/aceeditor/mode-svg-uncompressed.js:1575 -msgid "regex" -msgstr "" - -#: js/editor.js:72 js/editor.js:156 js/editor.js:163 -msgid "Save" -msgstr "" - -#: js/editor.js:74 -msgid "Close" -msgstr "" - -#: js/editor.js:149 -msgid "Saving..." -msgstr "" - -#: js/editor.js:239 -msgid "An error occurred!" -msgstr "" - -#: js/editor.js:266 -msgid "There were unsaved changes, click here to go back" -msgstr "" diff --git a/l10n/tr/gallery.po b/l10n/tr/gallery.po deleted file mode 100644 index b150c44bf8a7251d504a1c9ff9b6607aad4ecbe8..0000000000000000000000000000000000000000 --- a/l10n/tr/gallery.po +++ /dev/null @@ -1,62 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# , 2012. -# Aranel Surion , 2012. -# Emre , 2012. -# Necdet Yücel , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-07-31 22:53+0200\n" -"PO-Revision-Date: 2012-07-30 09:13+0000\n" -"Last-Translator: Emre Saraçoğlu \n" -"Language-Team: Turkish (http://www.transifex.com/projects/p/owncloud/language/tr/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: tr\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: appinfo/app.php:39 -msgid "Pictures" -msgstr "Resimler" - -#: js/pictures.js:12 -msgid "Share gallery" -msgstr "Galeriyi paylaş" - -#: js/pictures.js:32 -msgid "Error: " -msgstr "Hata: " - -#: js/pictures.js:32 -msgid "Internal error" -msgstr "İç hata" - -#: templates/index.php:27 -msgid "Slideshow" -msgstr "Slide Gösterim" - -#: templates/view_album.php:19 -msgid "Back" -msgstr "Geri" - -#: templates/view_album.php:36 -msgid "Remove confirmation" -msgstr "Doğrulamayı kaldır" - -#: templates/view_album.php:37 -msgid "Do you want to remove album" -msgstr "Albümü silmek istiyor musunuz" - -#: templates/view_album.php:40 -msgid "Change album name" -msgstr "Albüm adını değiştir" - -#: templates/view_album.php:43 -msgid "New album name" -msgstr "Yeni albüm adı" diff --git a/l10n/tr/impress.po b/l10n/tr/impress.po deleted file mode 100644 index ffbe59988655cf64398dd7621bc7e8d0a30d4b05..0000000000000000000000000000000000000000 --- a/l10n/tr/impress.po +++ /dev/null @@ -1,22 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 01:17+0200\n" -"PO-Revision-Date: 2012-08-25 23:18+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Turkish (http://www.transifex.com/projects/p/owncloud/language/tr/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: tr\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: templates/presentations.php:7 -msgid "Documentation" -msgstr "" diff --git a/l10n/tr/lib.po b/l10n/tr/lib.po index 61fec9e31f70f769df1097ec7acc3a763bf63a61..6489d33ae284d247e6473c9e5509b0e6cc303f37 100644 --- a/l10n/tr/lib.po +++ b/l10n/tr/lib.po @@ -7,53 +7,53 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-09-01 02:01+0200\n" -"PO-Revision-Date: 2012-09-01 00:02+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-11-16 00:02+0100\n" +"PO-Revision-Date: 2012-11-14 23:13+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Turkish (http://www.transifex.com/projects/p/owncloud/language/tr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: tr\n" -"Plural-Forms: nplurals=1; plural=0\n" +"Plural-Forms: nplurals=1; plural=0;\n" -#: app.php:288 +#: app.php:285 msgid "Help" -msgstr "" +msgstr "Yardı" -#: app.php:295 +#: app.php:292 msgid "Personal" -msgstr "" +msgstr "Kişisel" -#: app.php:300 +#: app.php:297 msgid "Settings" -msgstr "" +msgstr "Ayarlar" -#: app.php:305 +#: app.php:302 msgid "Users" -msgstr "" +msgstr "Kullanıcılar" -#: app.php:312 +#: app.php:309 msgid "Apps" msgstr "" -#: app.php:314 +#: app.php:311 msgid "Admin" msgstr "" -#: files.php:280 +#: files.php:332 msgid "ZIP download is turned off." msgstr "" -#: files.php:281 +#: files.php:333 msgid "Files need to be downloaded one by one." msgstr "" -#: files.php:281 files.php:306 +#: files.php:333 files.php:358 msgid "Back to Files" msgstr "" -#: files.php:305 +#: files.php:357 msgid "Selected files too large to generate zip file." msgstr "" @@ -61,65 +61,92 @@ msgstr "" msgid "Application is not enabled" msgstr "" -#: json.php:39 json.php:63 json.php:75 +#: json.php:39 json.php:64 json.php:77 json.php:89 msgid "Authentication error" -msgstr "" +msgstr "Kimlik doğrulama hatası" #: json.php:51 msgid "Token expired. Please reload page." msgstr "" -#: template.php:86 +#: search/provider/file.php:17 search/provider/file.php:35 +msgid "Files" +msgstr "Dosyalar" + +#: search/provider/file.php:26 search/provider/file.php:33 +msgid "Text" +msgstr "Metin" + +#: search/provider/file.php:29 +msgid "Images" +msgstr "" + +#: template.php:103 msgid "seconds ago" msgstr "" -#: template.php:87 +#: template.php:104 msgid "1 minute ago" msgstr "" -#: template.php:88 +#: template.php:105 #, php-format msgid "%d minutes ago" msgstr "" -#: template.php:91 +#: template.php:106 +msgid "1 hour ago" +msgstr "" + +#: template.php:107 +#, php-format +msgid "%d hours ago" +msgstr "" + +#: template.php:108 msgid "today" msgstr "" -#: template.php:92 +#: template.php:109 msgid "yesterday" msgstr "" -#: template.php:93 +#: template.php:110 #, php-format msgid "%d days ago" msgstr "" -#: template.php:94 +#: template.php:111 msgid "last month" msgstr "" -#: template.php:95 -msgid "months ago" +#: template.php:112 +#, php-format +msgid "%d months ago" msgstr "" -#: template.php:96 +#: template.php:113 msgid "last year" msgstr "" -#: template.php:97 +#: template.php:114 msgid "years ago" msgstr "" -#: updater.php:66 +#: updater.php:75 #, php-format msgid "%s is available. Get more information" msgstr "" -#: updater.php:68 +#: updater.php:77 msgid "up to date" msgstr "" -#: updater.php:71 +#: updater.php:80 msgid "updates check is disabled" msgstr "" + +#: vcategories.php:188 vcategories.php:249 +#, php-format +msgid "Could not find category \"%s\"" +msgstr "" diff --git a/l10n/tr/media.po b/l10n/tr/media.po deleted file mode 100644 index 0d9a91d218b4c0acec5c19a069685c06efe50ccb..0000000000000000000000000000000000000000 --- a/l10n/tr/media.po +++ /dev/null @@ -1,67 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Aranel Surion , 2011. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-06-06 00:12+0200\n" -"PO-Revision-Date: 2012-06-05 22:15+0000\n" -"Last-Translator: icewind \n" -"Language-Team: Turkish (http://www.transifex.net/projects/p/owncloud/language/tr/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: tr\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: appinfo/app.php:32 templates/player.php:8 -msgid "Music" -msgstr "Müzik" - -#: js/music.js:18 -msgid "Add album to playlist" -msgstr "" - -#: templates/music.php:3 templates/player.php:12 -msgid "Play" -msgstr "Oynat" - -#: templates/music.php:4 templates/music.php:26 templates/player.php:13 -msgid "Pause" -msgstr "Beklet" - -#: templates/music.php:5 -msgid "Previous" -msgstr "Önceki" - -#: templates/music.php:6 templates/player.php:14 -msgid "Next" -msgstr "Sonraki" - -#: templates/music.php:7 -msgid "Mute" -msgstr "Sesi kapat" - -#: templates/music.php:8 -msgid "Unmute" -msgstr "Sesi aç" - -#: templates/music.php:25 -msgid "Rescan Collection" -msgstr "Koleksiyonu Tara" - -#: templates/music.php:37 -msgid "Artist" -msgstr "Sanatç" - -#: templates/music.php:38 -msgid "Album" -msgstr "Albüm" - -#: templates/music.php:39 -msgid "Title" -msgstr "Başlık" diff --git a/l10n/tr/settings.po b/l10n/tr/settings.po index 589685208cc0272e218155c3d2f357d4eb35a367..2842d1b2d17852b2e9f71d700abf9a91c66f0789 100644 --- a/l10n/tr/settings.po +++ b/l10n/tr/settings.po @@ -5,14 +5,15 @@ # Translators: # Aranel Surion , 2011, 2012. # Emre , 2012. +# , 2012. # Necdet Yücel , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-09 02:03+0200\n" -"PO-Revision-Date: 2012-10-09 00:04+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-12-05 00:04+0100\n" +"PO-Revision-Date: 2012-12-04 11:41+0000\n" +"Last-Translator: alpere \n" "Language-Team: Turkish (http://www.transifex.com/projects/p/owncloud/language/tr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -20,70 +21,73 @@ msgstr "" "Language: tr\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: ajax/apps/ocs.php:23 +#: ajax/apps/ocs.php:20 msgid "Unable to load list from App Store" -msgstr "" +msgstr "App Store'dan liste yüklenemiyor" -#: ajax/creategroup.php:9 ajax/removeuser.php:13 ajax/setquota.php:18 -#: ajax/togglegroups.php:15 -msgid "Authentication error" -msgstr "Eşleşme hata" - -#: ajax/creategroup.php:19 +#: ajax/creategroup.php:10 msgid "Group already exists" -msgstr "" +msgstr "Grup zaten mevcut" -#: ajax/creategroup.php:28 +#: ajax/creategroup.php:19 msgid "Unable to add group" -msgstr "" +msgstr "Gruba eklenemiyor" -#: ajax/enableapp.php:14 +#: ajax/enableapp.php:12 msgid "Could not enable app. " -msgstr "" +msgstr "Uygulama devreye alınamadı" -#: ajax/lostpassword.php:14 +#: ajax/lostpassword.php:12 msgid "Email saved" msgstr "Eposta kaydedildi" -#: ajax/lostpassword.php:16 +#: ajax/lostpassword.php:14 msgid "Invalid email" msgstr "Geçersiz eposta" -#: ajax/openid.php:16 +#: ajax/openid.php:13 msgid "OpenID Changed" msgstr "OpenID Değiştirildi" -#: ajax/openid.php:18 ajax/setlanguage.php:20 ajax/setlanguage.php:23 +#: ajax/openid.php:15 ajax/setlanguage.php:17 ajax/setlanguage.php:20 msgid "Invalid request" msgstr "Geçersiz istek" -#: ajax/removegroup.php:16 +#: ajax/removegroup.php:13 msgid "Unable to delete group" -msgstr "" +msgstr "Grup silinemiyor" + +#: ajax/removeuser.php:15 ajax/setquota.php:15 ajax/togglegroups.php:18 +msgid "Authentication error" +msgstr "Eşleşme hata" -#: ajax/removeuser.php:22 +#: ajax/removeuser.php:24 msgid "Unable to delete user" -msgstr "" +msgstr "Kullanıcı silinemiyor" -#: ajax/setlanguage.php:18 +#: ajax/setlanguage.php:15 msgid "Language changed" msgstr "Dil değiştirildi" -#: ajax/togglegroups.php:25 +#: ajax/togglegroups.php:12 +msgid "Admins can't remove themself from the admin group" +msgstr "" + +#: ajax/togglegroups.php:28 #, php-format msgid "Unable to add user to group %s" -msgstr "" +msgstr "Kullanıcı %s grubuna eklenemiyor" -#: ajax/togglegroups.php:31 +#: ajax/togglegroups.php:34 #, php-format msgid "Unable to remove user from group %s" msgstr "" -#: js/apps.js:28 js/apps.js:65 +#: js/apps.js:28 js/apps.js:67 msgid "Disable" msgstr "Etkin değil" -#: js/apps.js:28 js/apps.js:54 +#: js/apps.js:28 js/apps.js:55 msgid "Enable" msgstr "Etkin" @@ -91,104 +95,17 @@ msgstr "Etkin" msgid "Saving..." msgstr "Kaydediliyor..." -#: personal.php:47 personal.php:48 +#: personal.php:42 personal.php:43 msgid "__language_name__" msgstr "__dil_adı__" -#: templates/admin.php:14 -msgid "Security Warning" -msgstr "Güvenlik Uyarisi" - -#: templates/admin.php:17 -msgid "" -"Your data directory and your files are probably accessible from the " -"internet. The .htaccess file that ownCloud provides is not working. We " -"strongly suggest that you configure your webserver in a way that the data " -"directory is no longer accessible or you move the data directory outside the" -" webserver document root." -msgstr "" - -#: templates/admin.php:31 -msgid "Cron" -msgstr "" - -#: templates/admin.php:37 -msgid "Execute one task with each page loaded" -msgstr "" - -#: templates/admin.php:43 -msgid "" -"cron.php is registered at a webcron service. Call the cron.php page in the " -"owncloud root once a minute over http." -msgstr "" - -#: templates/admin.php:49 -msgid "" -"Use systems cron service. Call the cron.php file in the owncloud folder via " -"a system cronjob once a minute." -msgstr "" - -#: templates/admin.php:56 -msgid "Sharing" -msgstr "" - -#: templates/admin.php:61 -msgid "Enable Share API" -msgstr "" - -#: templates/admin.php:62 -msgid "Allow apps to use the Share API" -msgstr "" - -#: templates/admin.php:67 -msgid "Allow links" -msgstr "" - -#: templates/admin.php:68 -msgid "Allow users to share items to the public with links" -msgstr "" - -#: templates/admin.php:73 -msgid "Allow resharing" -msgstr "" - -#: templates/admin.php:74 -msgid "Allow users to share items shared with them again" -msgstr "" - -#: templates/admin.php:79 -msgid "Allow users to share with anyone" -msgstr "" - -#: templates/admin.php:81 -msgid "Allow users to only share with users in their groups" -msgstr "" - -#: templates/admin.php:88 -msgid "Log" -msgstr "Günlük" - -#: templates/admin.php:116 -msgid "More" -msgstr "Devamı" - -#: templates/admin.php:124 -msgid "" -"Developed by the ownCloud community, the source code is " -"licensed under the AGPL." -msgstr "" - #: templates/apps.php:10 msgid "Add your App" msgstr "Uygulamanı Ekle" #: templates/apps.php:11 msgid "More Apps" -msgstr "" +msgstr "Daha fazla App" #: templates/apps.php:27 msgid "Select an App" @@ -214,21 +131,21 @@ msgstr "Büyük Dosyaların Yönetimi" msgid "Ask a question" msgstr "Bir soru sorun" -#: templates/help.php:23 +#: templates/help.php:22 msgid "Problems connecting to help database." msgstr "Yardım veritabanına bağlanmada sorunlar var." -#: templates/help.php:24 +#: templates/help.php:23 msgid "Go there manually." msgstr "Oraya elle gidin." -#: templates/help.php:32 +#: templates/help.php:31 msgid "Answer" msgstr "Cevap" #: templates/personal.php:8 #, php-format -msgid "You have used %s of the available %s" +msgid "You have used %s of the available %s" msgstr "" #: templates/personal.php:12 @@ -241,7 +158,7 @@ msgstr "İndir" #: templates/personal.php:19 msgid "Your password was changed" -msgstr "" +msgstr "Şifreniz değiştirildi" #: templates/personal.php:20 msgid "Unable to change your password" @@ -287,6 +204,16 @@ msgstr "Çevirilere yardım edin" msgid "use this address to connect to your ownCloud in your file manager" msgstr "bu adresi kullanarak ownCloud unuza dosya yöneticinizle bağlanın" +#: templates/personal.php:61 +msgid "" +"Developed by the ownCloud community, the source code is " +"licensed under the AGPL." +msgstr "Geliştirilen TarafownCloud community, the source code is altında lisanslanmıştır AGPL." + #: templates/users.php:21 templates/users.php:76 msgid "Name" msgstr "Ad" @@ -313,7 +240,7 @@ msgstr "Diğer" #: templates/users.php:80 templates/users.php:112 msgid "Group Admin" -msgstr "" +msgstr "Yönetici Grubu " #: templates/users.php:82 msgid "Quota" diff --git a/l10n/tr/tasks.po b/l10n/tr/tasks.po deleted file mode 100644 index 68549f8375bb4e0d1584d1177f0e94de68a39651..0000000000000000000000000000000000000000 --- a/l10n/tr/tasks.po +++ /dev/null @@ -1,106 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:44+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Turkish (http://www.transifex.com/projects/p/owncloud/language/tr/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: tr\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: ajax/update_property.php:51 lib/app.php:89 lib/app.php:101 -msgid "Invalid date/time" -msgstr "" - -#: appinfo/app.php:11 -msgid "Tasks" -msgstr "" - -#: js/tasks.js:415 -msgid "No category" -msgstr "" - -#: lib/app.php:33 -msgid "Unspecified" -msgstr "" - -#: lib/app.php:34 -msgid "1=highest" -msgstr "" - -#: lib/app.php:38 -msgid "5=medium" -msgstr "" - -#: lib/app.php:42 -msgid "9=lowest" -msgstr "" - -#: lib/app.php:81 -msgid "Empty Summary" -msgstr "" - -#: lib/app.php:93 -msgid "Invalid percent complete" -msgstr "" - -#: lib/app.php:107 -msgid "Invalid priority" -msgstr "" - -#: templates/tasks.php:3 -msgid "Add Task" -msgstr "" - -#: templates/tasks.php:4 -msgid "Order Due" -msgstr "" - -#: templates/tasks.php:5 -msgid "Order List" -msgstr "" - -#: templates/tasks.php:6 -msgid "Order Complete" -msgstr "" - -#: templates/tasks.php:7 -msgid "Order Location" -msgstr "" - -#: templates/tasks.php:8 -msgid "Order Priority" -msgstr "" - -#: templates/tasks.php:9 -msgid "Order Label" -msgstr "" - -#: templates/tasks.php:16 -msgid "Loading tasks..." -msgstr "" - -#: templates/tasks.php:20 -msgid "Important" -msgstr "" - -#: templates/tasks.php:23 -msgid "More" -msgstr "" - -#: templates/tasks.php:26 -msgid "Less" -msgstr "" - -#: templates/tasks.php:29 -msgid "Delete" -msgstr "" diff --git a/l10n/tr/user_migrate.po b/l10n/tr/user_migrate.po deleted file mode 100644 index 5b31904b2f3c9dabb5b677d5d560b58a20ac858f..0000000000000000000000000000000000000000 --- a/l10n/tr/user_migrate.po +++ /dev/null @@ -1,51 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:45+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Turkish (http://www.transifex.com/projects/p/owncloud/language/tr/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: tr\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: js/export.js:14 js/export.js:20 -msgid "Export" -msgstr "" - -#: js/export.js:19 -msgid "Something went wrong while the export file was being generated" -msgstr "" - -#: js/export.js:19 -msgid "An error has occurred" -msgstr "" - -#: templates/settings.php:2 -msgid "Export your user account" -msgstr "" - -#: templates/settings.php:3 -msgid "" -"This will create a compressed file that contains your ownCloud account." -msgstr "" - -#: templates/settings.php:13 -msgid "Import user account" -msgstr "" - -#: templates/settings.php:15 -msgid "ownCloud User Zip" -msgstr "" - -#: templates/settings.php:17 -msgid "Import" -msgstr "" diff --git a/l10n/tr/user_openid.po b/l10n/tr/user_openid.po deleted file mode 100644 index 6c6f6b5ed5f5e79a66313cbb83e4eab3b8c11a30..0000000000000000000000000000000000000000 --- a/l10n/tr/user_openid.po +++ /dev/null @@ -1,54 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:45+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Turkish (http://www.transifex.com/projects/p/owncloud/language/tr/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: tr\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: templates/nomode.php:12 -msgid "This is an OpenID server endpoint. For more information, see " -msgstr "" - -#: templates/nomode.php:14 -msgid "Identity: " -msgstr "" - -#: templates/nomode.php:15 -msgid "Realm: " -msgstr "" - -#: templates/nomode.php:16 -msgid "User: " -msgstr "" - -#: templates/nomode.php:17 -msgid "Login" -msgstr "" - -#: templates/nomode.php:22 -msgid "Error: No user Selected" -msgstr "" - -#: templates/settings.php:4 -msgid "you can authenticate to other sites with this address" -msgstr "" - -#: templates/settings.php:5 -msgid "Authorized OpenID provider" -msgstr "" - -#: templates/settings.php:6 -msgid "Your address at Wordpress, Identi.ca, …" -msgstr "" diff --git a/l10n/tr/files_odfviewer.po b/l10n/tr/user_webdavauth.po similarity index 62% rename from l10n/tr/files_odfviewer.po rename to l10n/tr/user_webdavauth.po index 81c300af47a4f89c6171ee35726632acd84f86a5..55bcf674de00d2695de2a2776fd3e545ffead303 100644 --- a/l10n/tr/files_odfviewer.po +++ b/l10n/tr/user_webdavauth.po @@ -3,20 +3,21 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 02:18+0200\n" -"PO-Revision-Date: 2012-08-26 00:19+0000\n" -"Last-Translator: FULL NAME \n" +"POT-Creation-Date: 2012-12-05 00:04+0100\n" +"PO-Revision-Date: 2012-12-04 11:44+0000\n" +"Last-Translator: alpere \n" "Language-Team: Turkish (http://www.transifex.com/projects/p/owncloud/language/tr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: tr\n" -"Plural-Forms: nplurals=1; plural=0\n" +"Plural-Forms: nplurals=1; plural=0;\n" -#: js/viewer.js:9 -msgid "Close" -msgstr "" +#: templates/settings.php:4 +msgid "WebDAV URL: http://" +msgstr "WebDAV URL: http://" diff --git a/l10n/uk/admin_dependencies_chk.po b/l10n/uk/admin_dependencies_chk.po deleted file mode 100644 index 5fae31131d780c0505d314da40882f037fe2ab36..0000000000000000000000000000000000000000 --- a/l10n/uk/admin_dependencies_chk.po +++ /dev/null @@ -1,73 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:33+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Ukrainian (http://www.transifex.com/projects/p/owncloud/language/uk/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: uk\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" - -#: settings.php:33 -msgid "" -"The php-json module is needed by the many applications for inter " -"communications" -msgstr "" - -#: settings.php:39 -msgid "" -"The php-curl modude is needed to fetch the page title when adding a " -"bookmarks" -msgstr "" - -#: settings.php:45 -msgid "The php-gd module is needed to create thumbnails of your images" -msgstr "" - -#: settings.php:51 -msgid "The php-ldap module is needed connect to your ldap server" -msgstr "" - -#: settings.php:57 -msgid "The php-zip module is needed download multiple files at once" -msgstr "" - -#: settings.php:63 -msgid "" -"The php-mb_multibyte module is needed to manage correctly the encoding." -msgstr "" - -#: settings.php:69 -msgid "The php-ctype module is needed validate data." -msgstr "" - -#: settings.php:75 -msgid "The php-xml module is needed to share files with webdav." -msgstr "" - -#: settings.php:81 -msgid "" -"The allow_url_fopen directive of your php.ini should be set to 1 to retrieve" -" knowledge base from OCS servers" -msgstr "" - -#: settings.php:87 -msgid "The php-pdo module is needed to store owncloud data into a database." -msgstr "" - -#: templates/settings.php:2 -msgid "Dependencies status" -msgstr "" - -#: templates/settings.php:7 -msgid "Used by :" -msgstr "" diff --git a/l10n/uk/admin_migrate.po b/l10n/uk/admin_migrate.po deleted file mode 100644 index b0ba19c7eb9393ce685f0415854711f929ca1dcc..0000000000000000000000000000000000000000 --- a/l10n/uk/admin_migrate.po +++ /dev/null @@ -1,32 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:32+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Ukrainian (http://www.transifex.com/projects/p/owncloud/language/uk/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: uk\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" - -#: templates/settings.php:3 -msgid "Export this ownCloud instance" -msgstr "" - -#: templates/settings.php:4 -msgid "" -"This will create a compressed file that contains the data of this owncloud instance.\n" -" Please choose the export type:" -msgstr "" - -#: templates/settings.php:12 -msgid "Export" -msgstr "" diff --git a/l10n/uk/bookmarks.po b/l10n/uk/bookmarks.po deleted file mode 100644 index 2183661f9f0ca12118a6fac84398d510ec8a6c2b..0000000000000000000000000000000000000000 --- a/l10n/uk/bookmarks.po +++ /dev/null @@ -1,60 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-07-28 02:02+0200\n" -"PO-Revision-Date: 2012-07-27 22:17+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Ukrainian (http://www.transifex.com/projects/p/owncloud/language/uk/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: uk\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" - -#: appinfo/app.php:14 -msgid "Bookmarks" -msgstr "" - -#: bookmarksHelper.php:99 -msgid "unnamed" -msgstr "" - -#: templates/bookmarklet.php:5 -msgid "" -"Drag this to your browser bookmarks and click it, when you want to bookmark " -"a webpage quickly:" -msgstr "" - -#: templates/bookmarklet.php:7 -msgid "Read later" -msgstr "" - -#: templates/list.php:13 -msgid "Address" -msgstr "" - -#: templates/list.php:14 -msgid "Title" -msgstr "" - -#: templates/list.php:15 -msgid "Tags" -msgstr "" - -#: templates/list.php:16 -msgid "Save bookmark" -msgstr "" - -#: templates/list.php:22 -msgid "You have no bookmarks" -msgstr "" - -#: templates/settings.php:11 -msgid "Bookmarklet
" -msgstr "" diff --git a/l10n/uk/calendar.po b/l10n/uk/calendar.po deleted file mode 100644 index a80f3c9db3ebecebb057be37cdd65ea414cbeeae..0000000000000000000000000000000000000000 --- a/l10n/uk/calendar.po +++ /dev/null @@ -1,814 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Soul Kim , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-11 02:02+0200\n" -"PO-Revision-Date: 2012-08-11 00:02+0000\n" -"Last-Translator: owncloud_robot \n" -"Language-Team: Ukrainian (http://www.transifex.com/projects/p/owncloud/language/uk/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: uk\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" - -#: ajax/cache/status.php:19 -msgid "Not all calendars are completely cached" -msgstr "" - -#: ajax/cache/status.php:21 -msgid "Everything seems to be completely cached" -msgstr "" - -#: ajax/categories/rescan.php:29 -msgid "No calendars found." -msgstr "" - -#: ajax/categories/rescan.php:37 -msgid "No events found." -msgstr "" - -#: ajax/event/edit.form.php:20 -msgid "Wrong calendar" -msgstr "" - -#: ajax/import/dropimport.php:29 ajax/import/import.php:64 -msgid "" -"The file contained either no events or all events are already saved in your " -"calendar." -msgstr "" - -#: ajax/import/dropimport.php:31 ajax/import/import.php:67 -msgid "events has been saved in the new calendar" -msgstr "" - -#: ajax/import/import.php:56 -msgid "Import failed" -msgstr "" - -#: ajax/import/import.php:69 -msgid "events has been saved in your calendar" -msgstr "" - -#: ajax/settings/guesstimezone.php:25 -msgid "New Timezone:" -msgstr "Новий часовий пояс" - -#: ajax/settings/settimezone.php:23 -msgid "Timezone changed" -msgstr "Часовий пояс змінено" - -#: ajax/settings/settimezone.php:25 -msgid "Invalid request" -msgstr "" - -#: appinfo/app.php:35 templates/calendar.php:15 -#: templates/part.eventform.php:33 templates/part.showevent.php:33 -msgid "Calendar" -msgstr "Календар" - -#: js/calendar.js:832 -msgid "ddd" -msgstr "" - -#: js/calendar.js:833 -msgid "ddd M/d" -msgstr "" - -#: js/calendar.js:834 -msgid "dddd M/d" -msgstr "" - -#: js/calendar.js:837 -msgid "MMMM yyyy" -msgstr "" - -#: js/calendar.js:839 -msgid "MMM d[ yyyy]{ '—'[ MMM] d yyyy}" -msgstr "" - -#: js/calendar.js:841 -msgid "dddd, MMM d, yyyy" -msgstr "" - -#: lib/app.php:121 -msgid "Birthday" -msgstr "День народження" - -#: lib/app.php:122 -msgid "Business" -msgstr "Справи" - -#: lib/app.php:123 -msgid "Call" -msgstr "Подзвонити" - -#: lib/app.php:124 -msgid "Clients" -msgstr "Клієнти" - -#: lib/app.php:125 -msgid "Deliverer" -msgstr "" - -#: lib/app.php:126 -msgid "Holidays" -msgstr "Свята" - -#: lib/app.php:127 -msgid "Ideas" -msgstr "Ідеї" - -#: lib/app.php:128 -msgid "Journey" -msgstr "Поїздка" - -#: lib/app.php:129 -msgid "Jubilee" -msgstr "Ювілей" - -#: lib/app.php:130 -msgid "Meeting" -msgstr "Зустріч" - -#: lib/app.php:131 -msgid "Other" -msgstr "Інше" - -#: lib/app.php:132 -msgid "Personal" -msgstr "Особисте" - -#: lib/app.php:133 -msgid "Projects" -msgstr "Проекти" - -#: lib/app.php:134 -msgid "Questions" -msgstr "Запитання" - -#: lib/app.php:135 -msgid "Work" -msgstr "Робота" - -#: lib/app.php:351 lib/app.php:361 -msgid "by" -msgstr "" - -#: lib/app.php:359 lib/app.php:399 -msgid "unnamed" -msgstr "" - -#: lib/import.php:184 templates/calendar.php:12 -#: templates/part.choosecalendar.php:22 -msgid "New Calendar" -msgstr "новий Календар" - -#: lib/object.php:372 -msgid "Does not repeat" -msgstr "Не повторювати" - -#: lib/object.php:373 -msgid "Daily" -msgstr "Щоденно" - -#: lib/object.php:374 -msgid "Weekly" -msgstr "Щотижня" - -#: lib/object.php:375 -msgid "Every Weekday" -msgstr "По будням" - -#: lib/object.php:376 -msgid "Bi-Weekly" -msgstr "Кожні дві неділі" - -#: lib/object.php:377 -msgid "Monthly" -msgstr "Щомісяця" - -#: lib/object.php:378 -msgid "Yearly" -msgstr "Щорічно" - -#: lib/object.php:388 -msgid "never" -msgstr "ніколи" - -#: lib/object.php:389 -msgid "by occurrences" -msgstr "" - -#: lib/object.php:390 -msgid "by date" -msgstr "" - -#: lib/object.php:400 -msgid "by monthday" -msgstr "" - -#: lib/object.php:401 -msgid "by weekday" -msgstr "" - -#: lib/object.php:411 templates/calendar.php:5 templates/settings.php:69 -msgid "Monday" -msgstr "Понеділок" - -#: lib/object.php:412 templates/calendar.php:5 -msgid "Tuesday" -msgstr "Вівторок" - -#: lib/object.php:413 templates/calendar.php:5 -msgid "Wednesday" -msgstr "Середа" - -#: lib/object.php:414 templates/calendar.php:5 -msgid "Thursday" -msgstr "Четвер" - -#: lib/object.php:415 templates/calendar.php:5 -msgid "Friday" -msgstr "П'ятниця" - -#: lib/object.php:416 templates/calendar.php:5 -msgid "Saturday" -msgstr "Субота" - -#: lib/object.php:417 templates/calendar.php:5 templates/settings.php:70 -msgid "Sunday" -msgstr "Неділя" - -#: lib/object.php:427 -msgid "events week of month" -msgstr "" - -#: lib/object.php:428 -msgid "first" -msgstr "перший" - -#: lib/object.php:429 -msgid "second" -msgstr "другий" - -#: lib/object.php:430 -msgid "third" -msgstr "третій" - -#: lib/object.php:431 -msgid "fourth" -msgstr "четвертий" - -#: lib/object.php:432 -msgid "fifth" -msgstr "п'ятий" - -#: lib/object.php:433 -msgid "last" -msgstr "останній" - -#: lib/object.php:467 templates/calendar.php:7 -msgid "January" -msgstr "Січень" - -#: lib/object.php:468 templates/calendar.php:7 -msgid "February" -msgstr "Лютий" - -#: lib/object.php:469 templates/calendar.php:7 -msgid "March" -msgstr "Березень" - -#: lib/object.php:470 templates/calendar.php:7 -msgid "April" -msgstr "Квітень" - -#: lib/object.php:471 templates/calendar.php:7 -msgid "May" -msgstr "Травень" - -#: lib/object.php:472 templates/calendar.php:7 -msgid "June" -msgstr "Червень" - -#: lib/object.php:473 templates/calendar.php:7 -msgid "July" -msgstr "Липень" - -#: lib/object.php:474 templates/calendar.php:7 -msgid "August" -msgstr "Серпень" - -#: lib/object.php:475 templates/calendar.php:7 -msgid "September" -msgstr "Вересень" - -#: lib/object.php:476 templates/calendar.php:7 -msgid "October" -msgstr "Жовтень" - -#: lib/object.php:477 templates/calendar.php:7 -msgid "November" -msgstr "Листопад" - -#: lib/object.php:478 templates/calendar.php:7 -msgid "December" -msgstr "Грудень" - -#: lib/object.php:488 -msgid "by events date" -msgstr "" - -#: lib/object.php:489 -msgid "by yearday(s)" -msgstr "" - -#: lib/object.php:490 -msgid "by weeknumber(s)" -msgstr "" - -#: lib/object.php:491 -msgid "by day and month" -msgstr "" - -#: lib/search.php:35 lib/search.php:37 lib/search.php:40 -msgid "Date" -msgstr "Дата" - -#: lib/search.php:43 -msgid "Cal." -msgstr "Кал." - -#: templates/calendar.php:6 -msgid "Sun." -msgstr "" - -#: templates/calendar.php:6 -msgid "Mon." -msgstr "" - -#: templates/calendar.php:6 -msgid "Tue." -msgstr "" - -#: templates/calendar.php:6 -msgid "Wed." -msgstr "" - -#: templates/calendar.php:6 -msgid "Thu." -msgstr "" - -#: templates/calendar.php:6 -msgid "Fri." -msgstr "" - -#: templates/calendar.php:6 -msgid "Sat." -msgstr "" - -#: templates/calendar.php:8 -msgid "Jan." -msgstr "" - -#: templates/calendar.php:8 -msgid "Feb." -msgstr "" - -#: templates/calendar.php:8 -msgid "Mar." -msgstr "" - -#: templates/calendar.php:8 -msgid "Apr." -msgstr "" - -#: templates/calendar.php:8 -msgid "May." -msgstr "" - -#: templates/calendar.php:8 -msgid "Jun." -msgstr "" - -#: templates/calendar.php:8 -msgid "Jul." -msgstr "" - -#: templates/calendar.php:8 -msgid "Aug." -msgstr "" - -#: templates/calendar.php:8 -msgid "Sep." -msgstr "" - -#: templates/calendar.php:8 -msgid "Oct." -msgstr "" - -#: templates/calendar.php:8 -msgid "Nov." -msgstr "" - -#: templates/calendar.php:8 -msgid "Dec." -msgstr "" - -#: templates/calendar.php:11 -msgid "All day" -msgstr "Увесь день" - -#: templates/calendar.php:13 -msgid "Missing fields" -msgstr "Пропущені поля" - -#: templates/calendar.php:14 templates/part.eventform.php:19 -#: templates/part.showevent.php:11 -msgid "Title" -msgstr "Назва" - -#: templates/calendar.php:16 -msgid "From Date" -msgstr "Від Дати" - -#: templates/calendar.php:17 -msgid "From Time" -msgstr "З Часу" - -#: templates/calendar.php:18 -msgid "To Date" -msgstr "До Часу" - -#: templates/calendar.php:19 -msgid "To Time" -msgstr "По Дату" - -#: templates/calendar.php:20 -msgid "The event ends before it starts" -msgstr "Подія завершається до її початку" - -#: templates/calendar.php:21 -msgid "There was a database fail" -msgstr "Сталася помилка бази даних" - -#: templates/calendar.php:39 -msgid "Week" -msgstr "Тиждень" - -#: templates/calendar.php:40 -msgid "Month" -msgstr "Місяць" - -#: templates/calendar.php:41 -msgid "List" -msgstr "Список" - -#: templates/calendar.php:45 -msgid "Today" -msgstr "Сьогодні" - -#: templates/calendar.php:46 templates/calendar.php:47 -msgid "Settings" -msgstr "" - -#: templates/part.choosecalendar.php:2 -msgid "Your calendars" -msgstr "Ваші календарі" - -#: templates/part.choosecalendar.php:27 -#: templates/part.choosecalendar.rowfields.php:11 -msgid "CalDav Link" -msgstr "" - -#: templates/part.choosecalendar.php:31 -msgid "Shared calendars" -msgstr "" - -#: templates/part.choosecalendar.php:48 -msgid "No shared calendars" -msgstr "" - -#: templates/part.choosecalendar.rowfields.php:8 -msgid "Share Calendar" -msgstr "" - -#: templates/part.choosecalendar.rowfields.php:14 -msgid "Download" -msgstr "Завантажити" - -#: templates/part.choosecalendar.rowfields.php:17 -msgid "Edit" -msgstr "Редагувати" - -#: templates/part.choosecalendar.rowfields.php:20 -#: templates/part.editevent.php:9 -msgid "Delete" -msgstr "Видалити" - -#: templates/part.choosecalendar.rowfields.shared.php:4 -msgid "shared with you by" -msgstr "" - -#: templates/part.editcalendar.php:9 -msgid "New calendar" -msgstr "Новий календар" - -#: templates/part.editcalendar.php:9 -msgid "Edit calendar" -msgstr "Редагувати календар" - -#: templates/part.editcalendar.php:12 -msgid "Displayname" -msgstr "" - -#: templates/part.editcalendar.php:23 -msgid "Active" -msgstr "Активний" - -#: templates/part.editcalendar.php:29 -msgid "Calendar color" -msgstr "Колір календаря" - -#: templates/part.editcalendar.php:42 -msgid "Save" -msgstr "Зберегти" - -#: templates/part.editcalendar.php:42 templates/part.editevent.php:8 -#: templates/part.newevent.php:6 -msgid "Submit" -msgstr "" - -#: templates/part.editcalendar.php:43 -msgid "Cancel" -msgstr "Відмінити" - -#: templates/part.editevent.php:1 -msgid "Edit an event" -msgstr "" - -#: templates/part.editevent.php:10 -msgid "Export" -msgstr "Експорт" - -#: templates/part.eventform.php:8 templates/part.showevent.php:3 -msgid "Eventinfo" -msgstr "" - -#: templates/part.eventform.php:9 templates/part.showevent.php:4 -msgid "Repeating" -msgstr "" - -#: templates/part.eventform.php:10 templates/part.showevent.php:5 -msgid "Alarm" -msgstr "" - -#: templates/part.eventform.php:11 templates/part.showevent.php:6 -msgid "Attendees" -msgstr "" - -#: templates/part.eventform.php:13 -msgid "Share" -msgstr "" - -#: templates/part.eventform.php:21 -msgid "Title of the Event" -msgstr "Назва події" - -#: templates/part.eventform.php:27 templates/part.showevent.php:19 -msgid "Category" -msgstr "Категорія" - -#: templates/part.eventform.php:29 -msgid "Separate categories with commas" -msgstr "" - -#: templates/part.eventform.php:30 -msgid "Edit categories" -msgstr "" - -#: templates/part.eventform.php:56 templates/part.showevent.php:52 -msgid "All Day Event" -msgstr "" - -#: templates/part.eventform.php:60 templates/part.showevent.php:56 -msgid "From" -msgstr "З" - -#: templates/part.eventform.php:68 templates/part.showevent.php:64 -msgid "To" -msgstr "По" - -#: templates/part.eventform.php:76 templates/part.showevent.php:72 -msgid "Advanced options" -msgstr "" - -#: templates/part.eventform.php:81 templates/part.showevent.php:77 -msgid "Location" -msgstr "Місце" - -#: templates/part.eventform.php:83 -msgid "Location of the Event" -msgstr "Місце події" - -#: templates/part.eventform.php:89 templates/part.showevent.php:85 -msgid "Description" -msgstr "Опис" - -#: templates/part.eventform.php:91 -msgid "Description of the Event" -msgstr "Опис події" - -#: templates/part.eventform.php:100 templates/part.showevent.php:95 -msgid "Repeat" -msgstr "Повторювати" - -#: templates/part.eventform.php:107 templates/part.showevent.php:102 -msgid "Advanced" -msgstr "" - -#: templates/part.eventform.php:151 templates/part.showevent.php:146 -msgid "Select weekdays" -msgstr "" - -#: templates/part.eventform.php:164 templates/part.eventform.php:177 -#: templates/part.showevent.php:159 templates/part.showevent.php:172 -msgid "Select days" -msgstr "" - -#: templates/part.eventform.php:169 templates/part.showevent.php:164 -msgid "and the events day of year." -msgstr "" - -#: templates/part.eventform.php:182 templates/part.showevent.php:177 -msgid "and the events day of month." -msgstr "" - -#: templates/part.eventform.php:190 templates/part.showevent.php:185 -msgid "Select months" -msgstr "" - -#: templates/part.eventform.php:203 templates/part.showevent.php:198 -msgid "Select weeks" -msgstr "" - -#: templates/part.eventform.php:208 templates/part.showevent.php:203 -msgid "and the events week of year." -msgstr "" - -#: templates/part.eventform.php:214 templates/part.showevent.php:209 -msgid "Interval" -msgstr "" - -#: templates/part.eventform.php:220 templates/part.showevent.php:215 -msgid "End" -msgstr "" - -#: templates/part.eventform.php:233 templates/part.showevent.php:228 -msgid "occurrences" -msgstr "" - -#: templates/part.import.php:14 -msgid "create a new calendar" -msgstr "створити новий календар" - -#: templates/part.import.php:17 -msgid "Import a calendar file" -msgstr "Імпортувати файл календаря" - -#: templates/part.import.php:24 -msgid "Please choose a calendar" -msgstr "" - -#: templates/part.import.php:36 -msgid "Name of new calendar" -msgstr "Назва нового календаря" - -#: templates/part.import.php:44 -msgid "Take an available name!" -msgstr "" - -#: templates/part.import.php:45 -msgid "" -"A Calendar with this name already exists. If you continue anyhow, these " -"calendars will be merged." -msgstr "" - -#: templates/part.import.php:47 -msgid "Import" -msgstr "Імпорт" - -#: templates/part.import.php:56 -msgid "Close Dialog" -msgstr "" - -#: templates/part.newevent.php:1 -msgid "Create a new event" -msgstr "Створити нову подію" - -#: templates/part.showevent.php:1 -msgid "View an event" -msgstr "" - -#: templates/part.showevent.php:23 -msgid "No categories selected" -msgstr "" - -#: templates/part.showevent.php:37 -msgid "of" -msgstr "" - -#: templates/part.showevent.php:59 templates/part.showevent.php:67 -msgid "at" -msgstr "" - -#: templates/settings.php:10 -msgid "General" -msgstr "" - -#: templates/settings.php:15 -msgid "Timezone" -msgstr "Часовий пояс" - -#: templates/settings.php:47 -msgid "Update timezone automatically" -msgstr "" - -#: templates/settings.php:52 -msgid "Time format" -msgstr "" - -#: templates/settings.php:57 -msgid "24h" -msgstr "24г" - -#: templates/settings.php:58 -msgid "12h" -msgstr "12г" - -#: templates/settings.php:64 -msgid "Start week on" -msgstr "" - -#: templates/settings.php:76 -msgid "Cache" -msgstr "" - -#: templates/settings.php:80 -msgid "Clear cache for repeating events" -msgstr "" - -#: templates/settings.php:85 -msgid "URLs" -msgstr "" - -#: templates/settings.php:87 -msgid "Calendar CalDAV syncing addresses" -msgstr "" - -#: templates/settings.php:87 -msgid "more info" -msgstr "" - -#: templates/settings.php:89 -msgid "Primary address (Kontact et al)" -msgstr "" - -#: templates/settings.php:91 -msgid "iOS/OS X" -msgstr "" - -#: templates/settings.php:93 -msgid "Read only iCalendar link(s)" -msgstr "" - -#: templates/share.dropdown.php:20 -msgid "Users" -msgstr "Користувачі" - -#: templates/share.dropdown.php:21 -msgid "select users" -msgstr "" - -#: templates/share.dropdown.php:36 templates/share.dropdown.php:62 -msgid "Editable" -msgstr "" - -#: templates/share.dropdown.php:48 -msgid "Groups" -msgstr "Групи" - -#: templates/share.dropdown.php:49 -msgid "select groups" -msgstr "" - -#: templates/share.dropdown.php:75 -msgid "make public" -msgstr "" diff --git a/l10n/uk/contacts.po b/l10n/uk/contacts.po deleted file mode 100644 index f415e863ccfa6a99343da592b4fe647efa1889c7..0000000000000000000000000000000000000000 --- a/l10n/uk/contacts.po +++ /dev/null @@ -1,953 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Soul Kim , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-24 02:02+0200\n" -"PO-Revision-Date: 2012-08-24 00:03+0000\n" -"Last-Translator: I Robot \n" -"Language-Team: Ukrainian (http://www.transifex.com/projects/p/owncloud/language/uk/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: uk\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" - -#: ajax/addressbook/activate.php:24 ajax/addressbook/update.php:32 -msgid "Error (de)activating addressbook." -msgstr "" - -#: ajax/addressbook/delete.php:31 ajax/addressbook/update.php:20 -#: ajax/contact/addproperty.php:42 ajax/contact/delete.php:32 -#: ajax/contact/saveproperty.php:39 -msgid "id is not set." -msgstr "" - -#: ajax/addressbook/update.php:24 -msgid "Cannot update addressbook with an empty name." -msgstr "" - -#: ajax/addressbook/update.php:28 -msgid "Error updating addressbook." -msgstr "" - -#: ajax/categories/categoriesfor.php:17 -msgid "No ID provided" -msgstr "" - -#: ajax/categories/categoriesfor.php:34 -msgid "Error setting checksum." -msgstr "" - -#: ajax/categories/delete.php:19 -msgid "No categories selected for deletion." -msgstr "" - -#: ajax/categories/delete.php:26 -msgid "No address books found." -msgstr "" - -#: ajax/categories/delete.php:34 -msgid "No contacts found." -msgstr "" - -#: ajax/contact/add.php:47 -msgid "There was an error adding the contact." -msgstr "" - -#: ajax/contact/addproperty.php:39 ajax/contact/saveproperty.php:36 -msgid "element name is not set." -msgstr "" - -#: ajax/contact/addproperty.php:46 -msgid "Could not parse contact: " -msgstr "" - -#: ajax/contact/addproperty.php:56 -msgid "Cannot add empty property." -msgstr "" - -#: ajax/contact/addproperty.php:67 -msgid "At least one of the address fields has to be filled out." -msgstr "Має бути заповнено щонайменше одне поле." - -#: ajax/contact/addproperty.php:76 -msgid "Trying to add duplicate property: " -msgstr "" - -#: ajax/contact/addproperty.php:115 ajax/contact/saveproperty.php:93 -msgid "Missing IM parameter." -msgstr "" - -#: ajax/contact/addproperty.php:119 ajax/contact/saveproperty.php:97 -msgid "Unknown IM: " -msgstr "" - -#: ajax/contact/deleteproperty.php:37 -msgid "Information about vCard is incorrect. Please reload the page." -msgstr "" - -#: ajax/contact/details.php:31 -msgid "Missing ID" -msgstr "" - -#: ajax/contact/details.php:36 -msgid "Error parsing VCard for ID: \"" -msgstr "" - -#: ajax/contact/saveproperty.php:42 -msgid "checksum is not set." -msgstr "" - -#: ajax/contact/saveproperty.php:62 -msgid "Information about vCard is incorrect. Please reload the page: " -msgstr "" - -#: ajax/contact/saveproperty.php:69 -msgid "Something went FUBAR. " -msgstr "" - -#: ajax/currentphoto.php:30 ajax/oc_photo.php:28 ajax/uploadphoto.php:36 -#: ajax/uploadphoto.php:68 -msgid "No contact ID was submitted." -msgstr "" - -#: ajax/currentphoto.php:36 -msgid "Error reading contact photo." -msgstr "" - -#: ajax/currentphoto.php:48 -msgid "Error saving temporary file." -msgstr "" - -#: ajax/currentphoto.php:51 -msgid "The loading photo is not valid." -msgstr "" - -#: ajax/editname.php:31 -msgid "Contact ID is missing." -msgstr "" - -#: ajax/oc_photo.php:32 -msgid "No photo path was submitted." -msgstr "" - -#: ajax/oc_photo.php:39 -msgid "File doesn't exist:" -msgstr "" - -#: ajax/oc_photo.php:44 ajax/oc_photo.php:47 -msgid "Error loading image." -msgstr "" - -#: ajax/savecrop.php:69 -msgid "Error getting contact object." -msgstr "" - -#: ajax/savecrop.php:79 -msgid "Error getting PHOTO property." -msgstr "" - -#: ajax/savecrop.php:98 -msgid "Error saving contact." -msgstr "" - -#: ajax/savecrop.php:109 -msgid "Error resizing image" -msgstr "" - -#: ajax/savecrop.php:112 -msgid "Error cropping image" -msgstr "" - -#: ajax/savecrop.php:115 -msgid "Error creating temporary image" -msgstr "" - -#: ajax/savecrop.php:118 -msgid "Error finding image: " -msgstr "" - -#: ajax/uploadimport.php:44 ajax/uploadimport.php:76 -msgid "Error uploading contacts to storage." -msgstr "" - -#: ajax/uploadimport.php:61 ajax/uploadphoto.php:77 -msgid "There is no error, the file uploaded with success" -msgstr "" - -#: ajax/uploadimport.php:62 ajax/uploadphoto.php:78 -msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" -msgstr "" - -#: ajax/uploadimport.php:63 ajax/uploadphoto.php:79 -msgid "" -"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " -"the HTML form" -msgstr "" - -#: ajax/uploadimport.php:64 ajax/uploadphoto.php:80 -msgid "The uploaded file was only partially uploaded" -msgstr "" - -#: ajax/uploadimport.php:65 ajax/uploadphoto.php:81 -msgid "No file was uploaded" -msgstr "" - -#: ajax/uploadimport.php:66 ajax/uploadphoto.php:82 -msgid "Missing a temporary folder" -msgstr "" - -#: ajax/uploadphoto.php:59 ajax/uploadphoto.php:109 -msgid "Couldn't save temporary image: " -msgstr "" - -#: ajax/uploadphoto.php:62 ajax/uploadphoto.php:112 -msgid "Couldn't load temporary image: " -msgstr "" - -#: ajax/uploadphoto.php:71 -msgid "No file was uploaded. Unknown error" -msgstr "" - -#: appinfo/app.php:21 -msgid "Contacts" -msgstr "" - -#: js/contacts.js:71 -msgid "Sorry, this functionality has not been implemented yet" -msgstr "" - -#: js/contacts.js:71 -msgid "Not implemented" -msgstr "" - -#: js/contacts.js:76 -msgid "Couldn't get a valid address." -msgstr "" - -#: js/contacts.js:76 js/contacts.js:365 js/contacts.js:381 js/contacts.js:393 -#: js/contacts.js:723 js/contacts.js:763 js/contacts.js:789 js/contacts.js:921 -#: js/contacts.js:927 js/contacts.js:939 js/contacts.js:976 -#: js/contacts.js:1250 js/contacts.js:1258 js/contacts.js:1267 -#: js/contacts.js:1302 js/contacts.js:1338 js/contacts.js:1353 -#: js/contacts.js:1379 js/contacts.js:1609 js/contacts.js:1644 -#: js/contacts.js:1664 js/settings.js:26 js/settings.js:43 js/settings.js:68 -msgid "Error" -msgstr "" - -#: js/contacts.js:424 -msgid "You do not have permission to add contacts to " -msgstr "" - -#: js/contacts.js:425 -msgid "Please select one of your own address books." -msgstr "" - -#: js/contacts.js:425 -msgid "Permission error" -msgstr "" - -#: js/contacts.js:763 -msgid "This property has to be non-empty." -msgstr "" - -#: js/contacts.js:789 -msgid "Couldn't serialize elements." -msgstr "" - -#: js/contacts.js:921 js/contacts.js:939 -msgid "" -"'deleteProperty' called without type argument. Please report at " -"bugs.owncloud.org" -msgstr "" - -#: js/contacts.js:958 -msgid "Edit name" -msgstr "" - -#: js/contacts.js:1250 -msgid "No files selected for upload." -msgstr "" - -#: js/contacts.js:1258 -msgid "" -"The file you are trying to upload exceed the maximum size for file uploads " -"on this server." -msgstr "" - -#: js/contacts.js:1322 -msgid "Error loading profile picture." -msgstr "" - -#: js/contacts.js:1457 js/contacts.js:1498 js/contacts.js:1517 -#: js/contacts.js:1560 -msgid "Select type" -msgstr "" - -#: js/contacts.js:1578 -msgid "" -"Some contacts are marked for deletion, but not deleted yet. Please wait for " -"them to be deleted." -msgstr "" - -#: js/contacts.js:1649 -msgid "Do you want to merge these address books?" -msgstr "" - -#: js/loader.js:49 -msgid "Result: " -msgstr "" - -#: js/loader.js:49 -msgid " imported, " -msgstr "" - -#: js/loader.js:49 -msgid " failed." -msgstr "" - -#: js/settings.js:68 -msgid "Displayname cannot be empty." -msgstr "" - -#: lib/app.php:36 -msgid "Addressbook not found: " -msgstr "" - -#: lib/app.php:52 -msgid "This is not your addressbook." -msgstr "Це не ваша адресна книга." - -#: lib/app.php:71 -msgid "Contact could not be found." -msgstr "" - -#: lib/app.php:116 -msgid "Jabber" -msgstr "" - -#: lib/app.php:121 -msgid "AIM" -msgstr "" - -#: lib/app.php:126 -msgid "MSN" -msgstr "" - -#: lib/app.php:131 -msgid "Twitter" -msgstr "" - -#: lib/app.php:136 -msgid "GoogleTalk" -msgstr "" - -#: lib/app.php:141 -msgid "Facebook" -msgstr "" - -#: lib/app.php:146 -msgid "XMPP" -msgstr "" - -#: lib/app.php:151 -msgid "ICQ" -msgstr "" - -#: lib/app.php:156 -msgid "Yahoo" -msgstr "" - -#: lib/app.php:161 -msgid "Skype" -msgstr "" - -#: lib/app.php:166 -msgid "QQ" -msgstr "" - -#: lib/app.php:171 -msgid "GaduGadu" -msgstr "" - -#: lib/app.php:194 lib/app.php:202 lib/app.php:213 lib/app.php:266 -msgid "Work" -msgstr "" - -#: lib/app.php:195 lib/app.php:200 lib/app.php:214 -msgid "Home" -msgstr "" - -#: lib/app.php:196 lib/app.php:209 lib/app.php:262 lib/vcard.php:593 -msgid "Other" -msgstr "" - -#: lib/app.php:201 -msgid "Mobile" -msgstr "Мобільний" - -#: lib/app.php:203 -msgid "Text" -msgstr "Текст" - -#: lib/app.php:204 -msgid "Voice" -msgstr "Голос" - -#: lib/app.php:205 -msgid "Message" -msgstr "" - -#: lib/app.php:206 -msgid "Fax" -msgstr "Факс" - -#: lib/app.php:207 -msgid "Video" -msgstr "Відео" - -#: lib/app.php:208 -msgid "Pager" -msgstr "Пейджер" - -#: lib/app.php:215 -msgid "Internet" -msgstr "" - -#: lib/app.php:252 templates/part.contact.php:45 -#: templates/part.contact.php:128 -msgid "Birthday" -msgstr "День народження" - -#: lib/app.php:253 -msgid "Business" -msgstr "" - -#: lib/app.php:254 -msgid "Call" -msgstr "" - -#: lib/app.php:255 -msgid "Clients" -msgstr "" - -#: lib/app.php:256 -msgid "Deliverer" -msgstr "" - -#: lib/app.php:257 -msgid "Holidays" -msgstr "" - -#: lib/app.php:258 -msgid "Ideas" -msgstr "" - -#: lib/app.php:259 -msgid "Journey" -msgstr "" - -#: lib/app.php:260 -msgid "Jubilee" -msgstr "" - -#: lib/app.php:261 -msgid "Meeting" -msgstr "" - -#: lib/app.php:263 -msgid "Personal" -msgstr "" - -#: lib/app.php:264 -msgid "Projects" -msgstr "" - -#: lib/app.php:265 -msgid "Questions" -msgstr "" - -#: lib/hooks.php:102 -msgid "{name}'s Birthday" -msgstr "" - -#: lib/search.php:15 -msgid "Contact" -msgstr "" - -#: lib/vcard.php:408 -msgid "You do not have the permissions to edit this contact." -msgstr "" - -#: lib/vcard.php:483 -msgid "You do not have the permissions to delete this contact." -msgstr "" - -#: templates/index.php:14 -msgid "Add Contact" -msgstr "Додати контакт" - -#: templates/index.php:15 templates/index.php:16 templates/part.import.php:17 -msgid "Import" -msgstr "" - -#: templates/index.php:18 -msgid "Settings" -msgstr "" - -#: templates/index.php:18 templates/settings.php:9 -msgid "Addressbooks" -msgstr "" - -#: templates/index.php:36 templates/part.import.php:24 -msgid "Close" -msgstr "" - -#: templates/index.php:37 -msgid "Keyboard shortcuts" -msgstr "" - -#: templates/index.php:39 -msgid "Navigation" -msgstr "" - -#: templates/index.php:42 -msgid "Next contact in list" -msgstr "" - -#: templates/index.php:44 -msgid "Previous contact in list" -msgstr "" - -#: templates/index.php:46 -msgid "Expand/collapse current addressbook" -msgstr "" - -#: templates/index.php:48 -msgid "Next addressbook" -msgstr "" - -#: templates/index.php:50 -msgid "Previous addressbook" -msgstr "" - -#: templates/index.php:54 -msgid "Actions" -msgstr "" - -#: templates/index.php:57 -msgid "Refresh contacts list" -msgstr "" - -#: templates/index.php:59 -msgid "Add new contact" -msgstr "" - -#: templates/index.php:61 -msgid "Add new addressbook" -msgstr "" - -#: templates/index.php:63 -msgid "Delete current contact" -msgstr "" - -#: templates/part.contact.php:17 -msgid "Drop photo to upload" -msgstr "" - -#: templates/part.contact.php:19 -msgid "Delete current photo" -msgstr "" - -#: templates/part.contact.php:20 -msgid "Edit current photo" -msgstr "" - -#: templates/part.contact.php:21 -msgid "Upload new photo" -msgstr "" - -#: templates/part.contact.php:22 -msgid "Select photo from ownCloud" -msgstr "" - -#: templates/part.contact.php:35 -msgid "Format custom, Short name, Full name, Reverse or Reverse with comma" -msgstr "" - -#: templates/part.contact.php:36 -msgid "Edit name details" -msgstr "" - -#: templates/part.contact.php:39 templates/part.contact.php:40 -#: templates/part.contact.php:126 -msgid "Organization" -msgstr "Організація" - -#: templates/part.contact.php:40 templates/part.contact.php:42 -#: templates/part.contact.php:44 templates/part.contact.php:46 -#: templates/part.contact.php:50 templates/settings.php:36 -msgid "Delete" -msgstr "Видалити" - -#: templates/part.contact.php:41 templates/part.contact.php:127 -msgid "Nickname" -msgstr "" - -#: templates/part.contact.php:42 -msgid "Enter nickname" -msgstr "" - -#: templates/part.contact.php:43 templates/part.contact.php:134 -msgid "Web site" -msgstr "" - -#: templates/part.contact.php:44 -msgid "http://www.somesite.com" -msgstr "" - -#: templates/part.contact.php:44 -msgid "Go to web site" -msgstr "" - -#: templates/part.contact.php:46 -msgid "dd-mm-yyyy" -msgstr "" - -#: templates/part.contact.php:47 templates/part.contact.php:135 -msgid "Groups" -msgstr "" - -#: templates/part.contact.php:49 -msgid "Separate groups with commas" -msgstr "" - -#: templates/part.contact.php:50 -msgid "Edit groups" -msgstr "" - -#: templates/part.contact.php:59 templates/part.contact.php:73 -#: templates/part.contact.php:98 -msgid "Preferred" -msgstr "" - -#: templates/part.contact.php:60 -msgid "Please specify a valid email address." -msgstr "" - -#: templates/part.contact.php:60 -msgid "Enter email address" -msgstr "" - -#: templates/part.contact.php:64 -msgid "Mail to address" -msgstr "" - -#: templates/part.contact.php:65 -msgid "Delete email address" -msgstr "" - -#: templates/part.contact.php:75 -msgid "Enter phone number" -msgstr "" - -#: templates/part.contact.php:79 -msgid "Delete phone number" -msgstr "" - -#: templates/part.contact.php:100 -msgid "Instant Messenger" -msgstr "" - -#: templates/part.contact.php:101 -msgid "Delete IM" -msgstr "" - -#: templates/part.contact.php:110 -msgid "View on map" -msgstr "" - -#: templates/part.contact.php:110 -msgid "Edit address details" -msgstr "" - -#: templates/part.contact.php:116 -msgid "Add notes here." -msgstr "" - -#: templates/part.contact.php:124 -msgid "Add field" -msgstr "" - -#: templates/part.contact.php:129 -msgid "Phone" -msgstr "Телефон" - -#: templates/part.contact.php:130 -msgid "Email" -msgstr "Ел.пошта" - -#: templates/part.contact.php:131 -msgid "Instant Messaging" -msgstr "" - -#: templates/part.contact.php:132 -msgid "Address" -msgstr "Адреса" - -#: templates/part.contact.php:133 -msgid "Note" -msgstr "" - -#: templates/part.contact.php:138 -msgid "Download contact" -msgstr "" - -#: templates/part.contact.php:139 -msgid "Delete contact" -msgstr "Видалити контакт" - -#: templates/part.cropphoto.php:65 -msgid "The temporary image has been removed from cache." -msgstr "" - -#: templates/part.edit_address_dialog.php:6 -msgid "Edit address" -msgstr "" - -#: templates/part.edit_address_dialog.php:10 -msgid "Type" -msgstr "" - -#: templates/part.edit_address_dialog.php:18 -#: templates/part.edit_address_dialog.php:21 -msgid "PO Box" -msgstr "" - -#: templates/part.edit_address_dialog.php:24 -msgid "Street address" -msgstr "" - -#: templates/part.edit_address_dialog.php:27 -msgid "Street and number" -msgstr "" - -#: templates/part.edit_address_dialog.php:30 -msgid "Extended" -msgstr "Розширено" - -#: templates/part.edit_address_dialog.php:33 -msgid "Apartment number etc." -msgstr "" - -#: templates/part.edit_address_dialog.php:36 -#: templates/part.edit_address_dialog.php:39 -msgid "City" -msgstr "Місто" - -#: templates/part.edit_address_dialog.php:42 -msgid "Region" -msgstr "" - -#: templates/part.edit_address_dialog.php:45 -msgid "E.g. state or province" -msgstr "" - -#: templates/part.edit_address_dialog.php:48 -msgid "Zipcode" -msgstr "Поштовий індекс" - -#: templates/part.edit_address_dialog.php:51 -msgid "Postal code" -msgstr "" - -#: templates/part.edit_address_dialog.php:54 -#: templates/part.edit_address_dialog.php:57 -msgid "Country" -msgstr "Країна" - -#: templates/part.edit_name_dialog.php:16 -msgid "Addressbook" -msgstr "" - -#: templates/part.edit_name_dialog.php:23 -msgid "Hon. prefixes" -msgstr "" - -#: templates/part.edit_name_dialog.php:27 -msgid "Miss" -msgstr "" - -#: templates/part.edit_name_dialog.php:28 -msgid "Ms" -msgstr "" - -#: templates/part.edit_name_dialog.php:29 -msgid "Mr" -msgstr "" - -#: templates/part.edit_name_dialog.php:30 -msgid "Sir" -msgstr "" - -#: templates/part.edit_name_dialog.php:31 -msgid "Mrs" -msgstr "" - -#: templates/part.edit_name_dialog.php:32 -msgid "Dr" -msgstr "" - -#: templates/part.edit_name_dialog.php:35 -msgid "Given name" -msgstr "" - -#: templates/part.edit_name_dialog.php:37 -msgid "Additional names" -msgstr "" - -#: templates/part.edit_name_dialog.php:39 -msgid "Family name" -msgstr "" - -#: templates/part.edit_name_dialog.php:41 -msgid "Hon. suffixes" -msgstr "" - -#: templates/part.edit_name_dialog.php:45 -msgid "J.D." -msgstr "" - -#: templates/part.edit_name_dialog.php:46 -msgid "M.D." -msgstr "" - -#: templates/part.edit_name_dialog.php:47 -msgid "D.O." -msgstr "" - -#: templates/part.edit_name_dialog.php:48 -msgid "D.C." -msgstr "" - -#: templates/part.edit_name_dialog.php:49 -msgid "Ph.D." -msgstr "" - -#: templates/part.edit_name_dialog.php:50 -msgid "Esq." -msgstr "" - -#: templates/part.edit_name_dialog.php:51 -msgid "Jr." -msgstr "" - -#: templates/part.edit_name_dialog.php:52 -msgid "Sn." -msgstr "" - -#: templates/part.import.php:1 -msgid "Import a contacts file" -msgstr "" - -#: templates/part.import.php:6 -msgid "Please choose the addressbook" -msgstr "" - -#: templates/part.import.php:10 -msgid "create a new addressbook" -msgstr "" - -#: templates/part.import.php:15 -msgid "Name of new addressbook" -msgstr "" - -#: templates/part.import.php:20 -msgid "Importing contacts" -msgstr "" - -#: templates/part.no_contacts.php:3 -msgid "You have no contacts in your addressbook." -msgstr "" - -#: templates/part.no_contacts.php:5 -msgid "Add contact" -msgstr "" - -#: templates/part.selectaddressbook.php:1 -msgid "Select Address Books" -msgstr "" - -#: templates/part.selectaddressbook.php:27 -msgid "Enter name" -msgstr "" - -#: templates/part.selectaddressbook.php:29 -msgid "Enter description" -msgstr "" - -#: templates/settings.php:3 -msgid "CardDAV syncing addresses" -msgstr "" - -#: templates/settings.php:3 -msgid "more info" -msgstr "" - -#: templates/settings.php:5 -msgid "Primary address (Kontact et al)" -msgstr "" - -#: templates/settings.php:7 -msgid "iOS/OS X" -msgstr "" - -#: templates/settings.php:20 -msgid "Show CardDav link" -msgstr "" - -#: templates/settings.php:23 -msgid "Show read-only VCF link" -msgstr "" - -#: templates/settings.php:26 -msgid "Share" -msgstr "" - -#: templates/settings.php:29 -msgid "Download" -msgstr "Завантажити" - -#: templates/settings.php:33 -msgid "Edit" -msgstr "" - -#: templates/settings.php:43 -msgid "New Address Book" -msgstr "Нова адресна книга" - -#: templates/settings.php:44 -msgid "Name" -msgstr "" - -#: templates/settings.php:45 -msgid "Description" -msgstr "" - -#: templates/settings.php:46 -msgid "Save" -msgstr "" - -#: templates/settings.php:47 -msgid "Cancel" -msgstr "" - -#: templates/settings.php:52 -msgid "More..." -msgstr "" diff --git a/l10n/uk/core.po b/l10n/uk/core.po index 8657d0895cd8183ec2767663f298a407b6d14fd2..c10c7fcfbaa04252bfd211c26968241f9a471906 100644 --- a/l10n/uk/core.po +++ b/l10n/uk/core.po @@ -4,15 +4,16 @@ # # Translators: # , 2012. +# , 2012. # Soul Kim , 2012. # , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-16 02:04+0200\n" -"PO-Revision-Date: 2012-10-16 00:05+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-11-27 00:10+0100\n" +"PO-Revision-Date: 2012-11-26 15:28+0000\n" +"Last-Translator: skoptev \n" "Language-Team: Ukrainian (http://www.transifex.com/projects/p/owncloud/language/uk/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -20,227 +21,259 @@ msgstr "" "Language: uk\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" -#: ajax/vcategories/add.php:23 ajax/vcategories/delete.php:23 -msgid "Application name not provided." -msgstr "" +#: ajax/vcategories/add.php:26 ajax/vcategories/edit.php:25 +msgid "Category type not provided." +msgstr "Не вказано тип категорії." -#: ajax/vcategories/add.php:29 +#: ajax/vcategories/add.php:30 msgid "No category to add?" -msgstr "" +msgstr "Відсутні категорії для додавання?" -#: ajax/vcategories/add.php:36 +#: ajax/vcategories/add.php:37 msgid "This category already exists: " -msgstr "" +msgstr "Ця категорія вже існує: " + +#: ajax/vcategories/addToFavorites.php:26 ajax/vcategories/delete.php:27 +#: ajax/vcategories/favorites.php:24 +#: ajax/vcategories/removeFromFavorites.php:26 +msgid "Object type not provided." +msgstr "Не вказано тип об'єкту." + +#: ajax/vcategories/addToFavorites.php:30 +#: ajax/vcategories/removeFromFavorites.php:30 +#, php-format +msgid "%s ID not provided." +msgstr "%s ID не вказано." + +#: ajax/vcategories/addToFavorites.php:35 +#, php-format +msgid "Error adding %s to favorites." +msgstr "Помилка при додаванні %s до обраного." + +#: ajax/vcategories/delete.php:35 js/oc-vcategories.js:136 +msgid "No categories selected for deletion." +msgstr "Жодної категорії не обрано для видалення." + +#: ajax/vcategories/removeFromFavorites.php:35 +#, php-format +msgid "Error removing %s from favorites." +msgstr "Помилка при видалені %s із обраного." -#: js/js.js:238 templates/layout.user.php:49 templates/layout.user.php:50 +#: js/js.js:259 templates/layout.user.php:60 templates/layout.user.php:61 msgid "Settings" msgstr "Налаштування" -#: js/js.js:670 -msgid "January" -msgstr "Січень" +#: js/js.js:704 +msgid "seconds ago" +msgstr "секунди тому" -#: js/js.js:670 -msgid "February" -msgstr "Лютий" +#: js/js.js:705 +msgid "1 minute ago" +msgstr "1 хвилину тому" -#: js/js.js:670 -msgid "March" -msgstr "Березень" +#: js/js.js:706 +msgid "{minutes} minutes ago" +msgstr "{minutes} хвилин тому" -#: js/js.js:670 -msgid "April" -msgstr "Квітень" +#: js/js.js:707 +msgid "1 hour ago" +msgstr "1 годину тому" -#: js/js.js:670 -msgid "May" -msgstr "Травень" +#: js/js.js:708 +msgid "{hours} hours ago" +msgstr "{hours} години тому" -#: js/js.js:670 -msgid "June" -msgstr "Червень" +#: js/js.js:709 +msgid "today" +msgstr "сьогодні" -#: js/js.js:671 -msgid "July" -msgstr "Липень" +#: js/js.js:710 +msgid "yesterday" +msgstr "вчора" -#: js/js.js:671 -msgid "August" -msgstr "Серпень" +#: js/js.js:711 +msgid "{days} days ago" +msgstr "{days} днів тому" -#: js/js.js:671 -msgid "September" -msgstr "Вересень" +#: js/js.js:712 +msgid "last month" +msgstr "минулого місяця" -#: js/js.js:671 -msgid "October" -msgstr "Жовтень" +#: js/js.js:713 +msgid "{months} months ago" +msgstr "{months} місяців тому" -#: js/js.js:671 -msgid "November" -msgstr "Листопад" +#: js/js.js:714 +msgid "months ago" +msgstr "місяці тому" -#: js/js.js:671 -msgid "December" -msgstr "Грудень" +#: js/js.js:715 +msgid "last year" +msgstr "минулого року" -#: js/oc-dialogs.js:123 +#: js/js.js:716 +msgid "years ago" +msgstr "роки тому" + +#: js/oc-dialogs.js:126 msgid "Choose" -msgstr "" +msgstr "Обрати" -#: js/oc-dialogs.js:143 js/oc-dialogs.js:163 +#: js/oc-dialogs.js:146 js/oc-dialogs.js:166 msgid "Cancel" msgstr "Відмінити" -#: js/oc-dialogs.js:159 +#: js/oc-dialogs.js:162 msgid "No" msgstr "Ні" -#: js/oc-dialogs.js:160 +#: js/oc-dialogs.js:163 msgid "Yes" msgstr "Так" -#: js/oc-dialogs.js:177 +#: js/oc-dialogs.js:180 msgid "Ok" -msgstr "" +msgstr "Ok" -#: js/oc-vcategories.js:68 -msgid "No categories selected for deletion." -msgstr "" +#: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102 +#: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162 +msgid "The object type is not specified." +msgstr "Не визначено тип об'єкту." -#: js/oc-vcategories.js:68 js/share.js:114 js/share.js:121 js/share.js:497 -#: js/share.js:509 +#: js/oc-vcategories.js:95 js/oc-vcategories.js:125 js/oc-vcategories.js:136 +#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:533 +#: js/share.js:545 msgid "Error" msgstr "Помилка" -#: js/share.js:103 +#: js/oc-vcategories.js:179 +msgid "The app name is not specified." +msgstr "Не визначено ім'я програми." + +#: js/oc-vcategories.js:194 +msgid "The required file {file} is not installed!" +msgstr "Необхідний файл {file} не встановлено!" + +#: js/share.js:124 msgid "Error while sharing" -msgstr "" +msgstr "Помилка під час публікації" -#: js/share.js:114 +#: js/share.js:135 msgid "Error while unsharing" -msgstr "" +msgstr "Помилка під час відміни публікації" -#: js/share.js:121 +#: js/share.js:142 msgid "Error while changing permissions" -msgstr "" +msgstr "Помилка при зміні повноважень" -#: js/share.js:130 -msgid "Shared with you and the group" -msgstr "" - -#: js/share.js:130 -msgid "by" -msgstr "" +#: js/share.js:151 +msgid "Shared with you and the group {group} by {owner}" +msgstr " {owner} опублікував для Вас та для групи {group}" -#: js/share.js:132 -msgid "Shared with you by" -msgstr "" +#: js/share.js:153 +msgid "Shared with you by {owner}" +msgstr "{owner} опублікував для Вас" -#: js/share.js:137 +#: js/share.js:158 msgid "Share with" -msgstr "" +msgstr "Опублікувати для" -#: js/share.js:142 +#: js/share.js:163 msgid "Share with link" -msgstr "" +msgstr "Опублікувати через посилання" -#: js/share.js:143 +#: js/share.js:164 msgid "Password protect" -msgstr "" +msgstr "Захистити паролем" -#: js/share.js:147 templates/installation.php:42 templates/login.php:24 +#: js/share.js:168 templates/installation.php:42 templates/login.php:24 #: templates/verify.php:13 msgid "Password" msgstr "Пароль" -#: js/share.js:152 +#: js/share.js:173 msgid "Set expiration date" -msgstr "" +msgstr "Встановити термін дії" -#: js/share.js:153 +#: js/share.js:174 msgid "Expiration date" -msgstr "" +msgstr "Термін дії" -#: js/share.js:185 +#: js/share.js:206 msgid "Share via email:" -msgstr "" +msgstr "Опублікувати через електронну пошту:" -#: js/share.js:187 +#: js/share.js:208 msgid "No people found" -msgstr "" +msgstr "Жодної людини не знайдено" -#: js/share.js:214 +#: js/share.js:235 msgid "Resharing is not allowed" -msgstr "" - -#: js/share.js:250 -msgid "Shared in" -msgstr "" - -#: js/share.js:250 -msgid "with" -msgstr "" +msgstr "Пере-публікація не дозволяється" #: js/share.js:271 +msgid "Shared in {item} with {user}" +msgstr "Опубліковано {item} для {user}" + +#: js/share.js:292 msgid "Unshare" -msgstr "" +msgstr "Заборонити доступ" -#: js/share.js:283 +#: js/share.js:304 msgid "can edit" -msgstr "" +msgstr "може редагувати" -#: js/share.js:285 +#: js/share.js:306 msgid "access control" -msgstr "" +msgstr "контроль доступу" -#: js/share.js:288 +#: js/share.js:309 msgid "create" -msgstr "" +msgstr "створити" -#: js/share.js:291 +#: js/share.js:312 msgid "update" -msgstr "" +msgstr "оновити" -#: js/share.js:294 +#: js/share.js:315 msgid "delete" -msgstr "" +msgstr "видалити" -#: js/share.js:297 +#: js/share.js:318 msgid "share" -msgstr "" +msgstr "опублікувати" -#: js/share.js:322 js/share.js:484 +#: js/share.js:349 js/share.js:520 js/share.js:522 msgid "Password protected" -msgstr "" +msgstr "Захищено паролем" -#: js/share.js:497 +#: js/share.js:533 msgid "Error unsetting expiration date" -msgstr "" +msgstr "Помилка при відміні терміна дії" -#: js/share.js:509 +#: js/share.js:545 msgid "Error setting expiration date" -msgstr "" +msgstr "Помилка при встановленні терміна дії" -#: lostpassword/index.php:26 +#: lostpassword/controller.php:47 msgid "ownCloud password reset" -msgstr "" +msgstr "скидання пароля ownCloud" #: lostpassword/templates/email.php:2 msgid "Use the following link to reset your password: {link}" -msgstr "" +msgstr "Використовуйте наступне посилання для скидання пароля: {link}" #: lostpassword/templates/lostpassword.php:3 msgid "You will receive a link to reset your password via Email." msgstr "Ви отримаєте посилання для скидання вашого паролю на e-mail." #: lostpassword/templates/lostpassword.php:5 -msgid "Requested" -msgstr "" +msgid "Reset email send." +msgstr "Лист скидання відправлено." #: lostpassword/templates/lostpassword.php:8 -msgid "Login failed!" -msgstr "" +msgid "Request failed!" +msgstr "Невдалий запит!" #: lostpassword/templates/lostpassword.php:11 templates/installation.php:38 #: templates/login.php:20 @@ -249,7 +282,7 @@ msgstr "Ім'я користувача" #: lostpassword/templates/lostpassword.php:14 msgid "Request reset" -msgstr "" +msgstr "Запит скидання" #: lostpassword/templates/resetpassword.php:4 msgid "Your password was reset" @@ -277,7 +310,7 @@ msgstr "Користувачі" #: strings.php:7 msgid "Apps" -msgstr "" +msgstr "Додатки" #: strings.php:8 msgid "Admin" @@ -289,35 +322,35 @@ msgstr "Допомога" #: templates/403.php:12 msgid "Access forbidden" -msgstr "" +msgstr "Доступ заборонено" #: templates/404.php:12 msgid "Cloud not found" -msgstr "" +msgstr "Cloud не знайдено" #: templates/edit_categories_dialog.php:4 msgid "Edit categories" -msgstr "" +msgstr "Редагувати категорії" -#: templates/edit_categories_dialog.php:14 +#: templates/edit_categories_dialog.php:16 msgid "Add" msgstr "Додати" #: templates/installation.php:23 templates/installation.php:31 msgid "Security Warning" -msgstr "" +msgstr "Попередження про небезпеку" #: templates/installation.php:24 msgid "" "No secure random number generator is available, please enable the PHP " "OpenSSL extension." -msgstr "" +msgstr "Не доступний безпечний генератор випадкових чисел, будь ласка, активуйте PHP OpenSSL додаток." #: templates/installation.php:26 msgid "" "Without a secure random number generator an attacker may be able to predict " "password reset tokens and take over your account." -msgstr "" +msgstr "Без безпечного генератора випадкових чисел зловмисник може визначити токени скидання пароля і заволодіти Вашим обліковим записом." #: templates/installation.php:32 msgid "" @@ -326,19 +359,19 @@ msgid "" "strongly suggest that you configure your webserver in a way that the data " "directory is no longer accessible or you move the data directory outside the" " webserver document root." -msgstr "" +msgstr "Ваш каталог з даними та Ваші файли можливо доступні з Інтернету. Файл .htaccess, наданий з ownCloud, не працює. Ми наполегливо рекомендуємо Вам налаштувати свій веб-сервер таким чином, щоб каталог data більше не був доступний, або перемістити каталог data за межі кореневого каталогу документів веб-сервера." #: templates/installation.php:36 msgid "Create an admin account" -msgstr "" +msgstr "Створити обліковий запис адміністратора" #: templates/installation.php:48 msgid "Advanced" -msgstr "" +msgstr "Додатково" #: templates/installation.php:50 msgid "Data folder" -msgstr "" +msgstr "Каталог даних" #: templates/installation.php:57 msgid "Configure the database" @@ -363,37 +396,113 @@ msgstr "Назва бази даних" #: templates/installation.php:121 msgid "Database tablespace" -msgstr "" +msgstr "Таблиця бази даних" #: templates/installation.php:127 msgid "Database host" -msgstr "" +msgstr "Хост бази даних" #: templates/installation.php:132 msgid "Finish setup" msgstr "Завершити налаштування" -#: templates/layout.guest.php:38 +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Sunday" +msgstr "Неділя" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Monday" +msgstr "Понеділок" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Tuesday" +msgstr "Вівторок" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Wednesday" +msgstr "Середа" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Thursday" +msgstr "Четвер" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Friday" +msgstr "П'ятниця" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Saturday" +msgstr "Субота" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "January" +msgstr "Січень" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "February" +msgstr "Лютий" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "March" +msgstr "Березень" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "April" +msgstr "Квітень" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "May" +msgstr "Травень" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "June" +msgstr "Червень" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "July" +msgstr "Липень" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "August" +msgstr "Серпень" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "September" +msgstr "Вересень" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "October" +msgstr "Жовтень" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "November" +msgstr "Листопад" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "December" +msgstr "Грудень" + +#: templates/layout.guest.php:42 msgid "web services under your control" msgstr "веб-сервіс під вашим контролем" -#: templates/layout.user.php:34 +#: templates/layout.user.php:45 msgid "Log out" msgstr "Вихід" #: templates/login.php:8 msgid "Automatic logon rejected!" -msgstr "" +msgstr "Автоматичний вхід в систему відхилений!" #: templates/login.php:9 msgid "" "If you did not change your password recently, your account may be " "compromised!" -msgstr "" +msgstr "Якщо Ви не міняли пароль останнім часом, Ваш обліковий запис може бути скомпрометованим!" #: templates/login.php:10 msgid "Please change your password to secure your account again." -msgstr "" +msgstr "Будь ласка, змініть свій пароль, щоб знову захистити Ваш обліковий запис." #: templates/login.php:15 msgid "Lost your password?" @@ -409,26 +518,26 @@ msgstr "Вхід" #: templates/logout.php:1 msgid "You are logged out." -msgstr "" +msgstr "Ви вийшли з системи." #: templates/part.pagenavi.php:3 msgid "prev" -msgstr "" +msgstr "попередній" #: templates/part.pagenavi.php:20 msgid "next" -msgstr "" +msgstr "наступний" #: templates/verify.php:5 msgid "Security Warning!" -msgstr "" +msgstr "Попередження про небезпеку!" #: templates/verify.php:6 msgid "" "Please verify your password.
For security reasons you may be " "occasionally asked to enter your password again." -msgstr "" +msgstr "Будь ласка, повторно введіть свій пароль.
З питань безпеки, Вам інколи доведеться повторно вводити свій пароль." #: templates/verify.php:16 msgid "Verify" -msgstr "" +msgstr "Підтвердити" diff --git a/l10n/uk/files.po b/l10n/uk/files.po index 500381e7cb310ef034a1534089a9e453b7f1996e..c37f23560d703fcaead37a5b3efec00cc66d5d3e 100644 --- a/l10n/uk/files.po +++ b/l10n/uk/files.po @@ -4,14 +4,15 @@ # # Translators: # , 2012. +# , 2012. # Soul Kim , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-09-26 13:19+0200\n" -"PO-Revision-Date: 2012-09-26 11:20+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-12-04 00:06+0100\n" +"PO-Revision-Date: 2012-12-03 10:32+0000\n" +"Last-Translator: volodya327 \n" "Language-Team: Ukrainian (http://www.transifex.com/projects/p/owncloud/language/uk/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -21,281 +22,248 @@ msgstr "" #: ajax/upload.php:20 msgid "There is no error, the file uploaded with success" -msgstr "Файл успішно відвантажено без помилок." +msgstr "Файл успішно вивантажено без помилок." #: ajax/upload.php:21 -msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" -msgstr "Розмір відвантаженого файлу перевищує директиву upload_max_filesize в php.ini" +msgid "" +"The uploaded file exceeds the upload_max_filesize directive in php.ini: " +msgstr "Розмір звантаження перевищує upload_max_filesize параметра в php.ini: " -#: ajax/upload.php:22 +#: ajax/upload.php:23 msgid "" "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " "the HTML form" msgstr "Розмір відвантаженого файлу перевищує директиву MAX_FILE_SIZE вказану в HTML формі" -#: ajax/upload.php:23 +#: ajax/upload.php:25 msgid "The uploaded file was only partially uploaded" msgstr "Файл відвантажено лише частково" -#: ajax/upload.php:24 +#: ajax/upload.php:26 msgid "No file was uploaded" msgstr "Не відвантажено жодного файлу" -#: ajax/upload.php:25 +#: ajax/upload.php:27 msgid "Missing a temporary folder" msgstr "Відсутній тимчасовий каталог" -#: ajax/upload.php:26 +#: ajax/upload.php:28 msgid "Failed to write to disk" -msgstr "" +msgstr "Невдалося записати на диск" -#: appinfo/app.php:6 +#: appinfo/app.php:10 msgid "Files" msgstr "Файли" -#: js/fileactions.js:108 templates/index.php:62 +#: js/fileactions.js:117 templates/index.php:83 templates/index.php:84 msgid "Unshare" -msgstr "" +msgstr "Заборонити доступ" -#: js/fileactions.js:110 templates/index.php:64 +#: js/fileactions.js:119 templates/index.php:89 templates/index.php:90 msgid "Delete" msgstr "Видалити" -#: js/fileactions.js:182 +#: js/fileactions.js:181 msgid "Rename" -msgstr "" +msgstr "Перейменувати" -#: js/filelist.js:190 js/filelist.js:192 -msgid "already exists" -msgstr "" +#: js/filelist.js:201 js/filelist.js:203 +msgid "{new_name} already exists" +msgstr "{new_name} вже існує" -#: js/filelist.js:190 js/filelist.js:192 +#: js/filelist.js:201 js/filelist.js:203 msgid "replace" -msgstr "" +msgstr "заміна" -#: js/filelist.js:190 +#: js/filelist.js:201 msgid "suggest name" -msgstr "" +msgstr "запропонуйте назву" -#: js/filelist.js:190 js/filelist.js:192 +#: js/filelist.js:201 js/filelist.js:203 msgid "cancel" -msgstr "" +msgstr "відміна" -#: js/filelist.js:239 js/filelist.js:241 -msgid "replaced" -msgstr "" +#: js/filelist.js:250 +msgid "replaced {new_name}" +msgstr "замінено {new_name}" -#: js/filelist.js:239 js/filelist.js:241 js/filelist.js:273 js/filelist.js:275 +#: js/filelist.js:250 js/filelist.js:252 js/filelist.js:284 js/filelist.js:286 msgid "undo" msgstr "відмінити" -#: js/filelist.js:241 -msgid "with" -msgstr "" +#: js/filelist.js:252 +msgid "replaced {new_name} with {old_name}" +msgstr "замінено {new_name} на {old_name}" -#: js/filelist.js:273 -msgid "unshared" -msgstr "" +#: js/filelist.js:284 +msgid "unshared {files}" +msgstr "неопубліковано {files}" + +#: js/filelist.js:286 +msgid "deleted {files}" +msgstr "видалено {files}" -#: js/filelist.js:275 -msgid "deleted" -msgstr "видалені" +#: js/files.js:33 +msgid "" +"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not " +"allowed." +msgstr "Невірне ім'я, '\\', '/', '<', '>', ':', '\"', '|', '?' та '*' не дозволені." -#: js/files.js:179 +#: js/files.js:183 msgid "generating ZIP-file, it may take some time." msgstr "Створення ZIP-файлу, це може зайняти певний час." -#: js/files.js:208 +#: js/files.js:218 msgid "Unable to upload your file as it is a directory or has 0 bytes" msgstr "Неможливо завантажити ваш файл тому, що він тека або файл розміром 0 байт" -#: js/files.js:208 +#: js/files.js:218 msgid "Upload Error" msgstr "Помилка завантаження" -#: js/files.js:236 js/files.js:341 js/files.js:371 +#: js/files.js:235 +msgid "Close" +msgstr "Закрити" + +#: js/files.js:254 js/files.js:368 js/files.js:398 msgid "Pending" msgstr "Очікування" -#: js/files.js:256 +#: js/files.js:274 msgid "1 file uploading" -msgstr "" +msgstr "1 файл завантажується" -#: js/files.js:259 js/files.js:304 js/files.js:319 -msgid "files uploading" -msgstr "" +#: js/files.js:277 js/files.js:331 js/files.js:346 +msgid "{count} files uploading" +msgstr "{count} файлів завантажується" -#: js/files.js:322 js/files.js:355 +#: js/files.js:349 js/files.js:382 msgid "Upload cancelled." msgstr "Завантаження перервано." -#: js/files.js:424 +#: js/files.js:451 msgid "" "File upload is in progress. Leaving the page now will cancel the upload." -msgstr "" +msgstr "Виконується завантаження файлу. Закриття цієї сторінки приведе до відміни завантаження." -#: js/files.js:494 -msgid "Invalid name, '/' is not allowed." -msgstr "Некоректне ім'я, '/' не дозволено." +#: js/files.js:523 +msgid "Invalid folder name. Usage of \"Shared\" is reserved by Owncloud" +msgstr "Невірне ім'я каталогу. Використання \"Shared\" зарезервовано Owncloud" -#: js/files.js:667 -msgid "files scanned" -msgstr "" +#: js/files.js:704 +msgid "{count} files scanned" +msgstr "{count} файлів проскановано" -#: js/files.js:675 +#: js/files.js:712 msgid "error while scanning" -msgstr "" +msgstr "помилка при скануванні" -#: js/files.js:748 templates/index.php:48 +#: js/files.js:785 templates/index.php:65 msgid "Name" msgstr "Ім'я" -#: js/files.js:749 templates/index.php:56 +#: js/files.js:786 templates/index.php:76 msgid "Size" msgstr "Розмір" -#: js/files.js:750 templates/index.php:58 +#: js/files.js:787 templates/index.php:78 msgid "Modified" msgstr "Змінено" -#: js/files.js:777 -msgid "folder" -msgstr "тека" - -#: js/files.js:779 -msgid "folders" -msgstr "теки" +#: js/files.js:814 +msgid "1 folder" +msgstr "1 папка" -#: js/files.js:787 -msgid "file" -msgstr "файл" +#: js/files.js:816 +msgid "{count} folders" +msgstr "{count} папок" -#: js/files.js:789 -msgid "files" -msgstr "файли" - -#: js/files.js:833 -msgid "seconds ago" -msgstr "" +#: js/files.js:824 +msgid "1 file" +msgstr "1 файл" -#: js/files.js:834 -msgid "minute ago" -msgstr "" - -#: js/files.js:835 -msgid "minutes ago" -msgstr "" - -#: js/files.js:838 -msgid "today" -msgstr "" - -#: js/files.js:839 -msgid "yesterday" -msgstr "" - -#: js/files.js:840 -msgid "days ago" -msgstr "" - -#: js/files.js:841 -msgid "last month" -msgstr "" - -#: js/files.js:843 -msgid "months ago" -msgstr "" - -#: js/files.js:844 -msgid "last year" -msgstr "" - -#: js/files.js:845 -msgid "years ago" -msgstr "" +#: js/files.js:826 +msgid "{count} files" +msgstr "{count} файлів" #: templates/admin.php:5 msgid "File handling" -msgstr "" +msgstr "Робота з файлами" #: templates/admin.php:7 msgid "Maximum upload size" msgstr "Максимальний розмір відвантажень" -#: templates/admin.php:7 +#: templates/admin.php:9 msgid "max. possible: " msgstr "макс.можливе:" -#: templates/admin.php:9 +#: templates/admin.php:12 msgid "Needed for multi-file and folder downloads." -msgstr "" +msgstr "Необхідно для мульти-файлового та каталогового завантаження." -#: templates/admin.php:9 +#: templates/admin.php:14 msgid "Enable ZIP-download" -msgstr "" +msgstr "Активувати ZIP-завантаження" -#: templates/admin.php:11 +#: templates/admin.php:17 msgid "0 is unlimited" msgstr "0 є безліміт" -#: templates/admin.php:12 +#: templates/admin.php:19 msgid "Maximum input size for ZIP files" -msgstr "" +msgstr "Максимальний розмір завантажуємого ZIP файлу" -#: templates/admin.php:14 +#: templates/admin.php:23 msgid "Save" -msgstr "" +msgstr "Зберегти" #: templates/index.php:7 msgid "New" msgstr "Створити" -#: templates/index.php:9 +#: templates/index.php:10 msgid "Text file" msgstr "Текстовий файл" -#: templates/index.php:10 +#: templates/index.php:12 msgid "Folder" msgstr "Папка" -#: templates/index.php:11 -msgid "From url" -msgstr "З URL" +#: templates/index.php:14 +msgid "From link" +msgstr "З посилання" -#: templates/index.php:20 +#: templates/index.php:35 msgid "Upload" msgstr "Відвантажити" -#: templates/index.php:27 +#: templates/index.php:43 msgid "Cancel upload" msgstr "Перервати завантаження" -#: templates/index.php:40 +#: templates/index.php:57 msgid "Nothing in here. Upload something!" msgstr "Тут нічого немає. Відвантажте що-небудь!" -#: templates/index.php:50 -msgid "Share" -msgstr "Поділитися" - -#: templates/index.php:52 +#: templates/index.php:71 msgid "Download" msgstr "Завантажити" -#: templates/index.php:75 +#: templates/index.php:103 msgid "Upload too large" msgstr "Файл занадто великий" -#: templates/index.php:77 +#: templates/index.php:105 msgid "" "The files you are trying to upload exceed the maximum size for file uploads " "on this server." msgstr "Файли,що ви намагаєтесь відвантажити перевищують максимальний дозволений розмір файлів на цьому сервері." -#: templates/index.php:82 +#: templates/index.php:110 msgid "Files are being scanned, please wait." msgstr "Файли скануються, зачекайте, будь-ласка." -#: templates/index.php:85 +#: templates/index.php:113 msgid "Current scanning" msgstr "Поточне сканування" diff --git a/l10n/uk/files_encryption.po b/l10n/uk/files_encryption.po index be6f1edb74836ce57cbf3fe20cd81883824c94f7..9b00d3b7a30e224d5c4744861c74df0aca8eae75 100644 --- a/l10n/uk/files_encryption.po +++ b/l10n/uk/files_encryption.po @@ -3,32 +3,33 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:33+0000\n" -"Last-Translator: FULL NAME \n" +"POT-Creation-Date: 2012-10-23 02:02+0200\n" +"PO-Revision-Date: 2012-10-22 12:05+0000\n" +"Last-Translator: skoptev \n" "Language-Team: Ukrainian (http://www.transifex.com/projects/p/owncloud/language/uk/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: uk\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" +"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" #: templates/settings.php:3 msgid "Encryption" -msgstr "" +msgstr "Шифрування" #: templates/settings.php:4 msgid "Exclude the following file types from encryption" -msgstr "" +msgstr "Не шифрувати файли наступних типів" #: templates/settings.php:5 msgid "None" -msgstr "" +msgstr "Жоден" #: templates/settings.php:10 msgid "Enable Encryption" -msgstr "" +msgstr "Включити шифрування" diff --git a/l10n/uk/files_external.po b/l10n/uk/files_external.po index dfbecbecbac439f4200ce1da3cd4921b32f55f73..be02b93b4e2624444546dea5b8390a26f2b661da 100644 --- a/l10n/uk/files_external.po +++ b/l10n/uk/files_external.po @@ -3,14 +3,15 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# , 2012. # , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-02 23:16+0200\n" -"PO-Revision-Date: 2012-10-02 21:17+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-12-12 00:12+0100\n" +"PO-Revision-Date: 2012-12-11 23:13+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Ukrainian (http://www.transifex.com/projects/p/owncloud/language/uk/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -20,88 +21,102 @@ msgstr "" #: js/dropbox.js:7 js/dropbox.js:25 js/google.js:7 js/google.js:23 msgid "Access granted" -msgstr "" +msgstr "Доступ дозволено" #: js/dropbox.js:28 js/dropbox.js:74 js/dropbox.js:79 js/dropbox.js:86 msgid "Error configuring Dropbox storage" -msgstr "" +msgstr "Помилка при налаштуванні сховища Dropbox" #: js/dropbox.js:34 js/dropbox.js:45 js/google.js:31 js/google.js:40 msgid "Grant access" -msgstr "" +msgstr "Дозволити доступ" #: js/dropbox.js:73 js/google.js:72 msgid "Fill out all required fields" -msgstr "" +msgstr "Заповніть всі обов'язкові поля" #: js/dropbox.js:85 msgid "Please provide a valid Dropbox app key and secret." -msgstr "" +msgstr "Будь ласка, надайте дійсний ключ та пароль Dropbox." #: js/google.js:26 js/google.js:73 js/google.js:78 msgid "Error configuring Google Drive storage" +msgstr "Помилка при налаштуванні сховища Google Drive" + +#: lib/config.php:434 +msgid "" +"Warning: \"smbclient\" is not installed. Mounting of CIFS/SMB shares " +"is not possible. Please ask your system administrator to install it." +msgstr "" + +#: lib/config.php:435 +msgid "" +"Warning: The FTP support in PHP is not enabled or installed. Mounting" +" of FTP shares is not possible. Please ask your system administrator to " +"install it." msgstr "" #: templates/settings.php:3 msgid "External Storage" -msgstr "" +msgstr "Зовнішні сховища" -#: templates/settings.php:7 templates/settings.php:19 +#: templates/settings.php:8 templates/settings.php:22 msgid "Mount point" -msgstr "" +msgstr "Точка монтування" -#: templates/settings.php:8 +#: templates/settings.php:9 msgid "Backend" -msgstr "" +msgstr "Backend" -#: templates/settings.php:9 +#: templates/settings.php:10 msgid "Configuration" -msgstr "" +msgstr "Налаштування" -#: templates/settings.php:10 +#: templates/settings.php:11 msgid "Options" -msgstr "" +msgstr "Опції" -#: templates/settings.php:11 +#: templates/settings.php:12 msgid "Applicable" -msgstr "" +msgstr "Придатний" -#: templates/settings.php:23 +#: templates/settings.php:27 msgid "Add mount point" -msgstr "" +msgstr "Додати точку монтування" -#: templates/settings.php:54 templates/settings.php:62 +#: templates/settings.php:85 msgid "None set" -msgstr "" +msgstr "Не встановлено" -#: templates/settings.php:63 +#: templates/settings.php:86 msgid "All Users" -msgstr "" +msgstr "Усі користувачі" -#: templates/settings.php:64 +#: templates/settings.php:87 msgid "Groups" msgstr "Групи" -#: templates/settings.php:69 +#: templates/settings.php:95 msgid "Users" msgstr "Користувачі" -#: templates/settings.php:77 templates/settings.php:107 +#: templates/settings.php:108 templates/settings.php:109 +#: templates/settings.php:149 templates/settings.php:150 msgid "Delete" msgstr "Видалити" -#: templates/settings.php:87 +#: templates/settings.php:124 msgid "Enable User External Storage" -msgstr "" +msgstr "Активувати користувацькі зовнішні сховища" -#: templates/settings.php:88 +#: templates/settings.php:125 msgid "Allow users to mount their own external storage" -msgstr "" +msgstr "Дозволити користувачам монтувати власні зовнішні сховища" -#: templates/settings.php:99 +#: templates/settings.php:139 msgid "SSL root certificates" -msgstr "" +msgstr "SSL корневі сертифікати" -#: templates/settings.php:113 +#: templates/settings.php:158 msgid "Import Root Certificate" -msgstr "" +msgstr "Імпортувати корневі сертифікати" diff --git a/l10n/uk/files_pdfviewer.po b/l10n/uk/files_pdfviewer.po deleted file mode 100644 index 5fb83eac039b22aa395d07e3396bfaea841bca2c..0000000000000000000000000000000000000000 --- a/l10n/uk/files_pdfviewer.po +++ /dev/null @@ -1,42 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 02:18+0200\n" -"PO-Revision-Date: 2012-08-26 00:19+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Ukrainian (http://www.transifex.com/projects/p/owncloud/language/uk/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: uk\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" - -#: js/viewer.js:22 -msgid "Previous" -msgstr "" - -#: js/viewer.js:23 -msgid "Next" -msgstr "" - -#: js/viewer.js:29 -msgid "Page Width" -msgstr "" - -#: js/viewer.js:29 -msgid "Page Fit" -msgstr "" - -#: js/viewer.js:30 -msgid "Print" -msgstr "" - -#: js/viewer.js:32 -msgid "Download" -msgstr "" diff --git a/l10n/uk/files_sharing.po b/l10n/uk/files_sharing.po index bb4445339e0a3a5e447038ed6a5cecaf40e06863..a087b632037262eb6ea1c6b7ceb1b3fb4f17d24e 100644 --- a/l10n/uk/files_sharing.po +++ b/l10n/uk/files_sharing.po @@ -3,14 +3,15 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# , 2012. # , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-09-22 01:14+0200\n" -"PO-Revision-Date: 2012-09-21 23:15+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-11-22 00:01+0100\n" +"PO-Revision-Date: 2012-11-21 13:21+0000\n" +"Last-Translator: skoptev \n" "Language-Team: Ukrainian (http://www.transifex.com/projects/p/owncloud/language/uk/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -24,17 +25,17 @@ msgstr "Пароль" #: templates/authenticate.php:6 msgid "Submit" -msgstr "" +msgstr "Submit" #: templates/public.php:9 #, php-format msgid "%s shared the folder %s with you" -msgstr "" +msgstr "%s опублікував каталог %s для Вас" #: templates/public.php:11 #, php-format msgid "%s shared the file %s with you" -msgstr "" +msgstr "%s опублікував файл %s для Вас" #: templates/public.php:14 templates/public.php:30 msgid "Download" @@ -42,8 +43,8 @@ msgstr "Завантажити" #: templates/public.php:29 msgid "No preview available for" -msgstr "" +msgstr "Попередній перегляд недоступний для" -#: templates/public.php:37 +#: templates/public.php:35 msgid "web services under your control" -msgstr "" +msgstr "підконтрольні Вам веб-сервіси" diff --git a/l10n/uk/files_texteditor.po b/l10n/uk/files_texteditor.po deleted file mode 100644 index 2c4cf49ae46e4e23658c171dd76e05f87654c943..0000000000000000000000000000000000000000 --- a/l10n/uk/files_texteditor.po +++ /dev/null @@ -1,44 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 01:17+0200\n" -"PO-Revision-Date: 2012-08-25 23:18+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Ukrainian (http://www.transifex.com/projects/p/owncloud/language/uk/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: uk\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" - -#: js/aceeditor/mode-coldfusion-uncompressed.js:1568 -#: js/aceeditor/mode-liquid-uncompressed.js:902 -#: js/aceeditor/mode-svg-uncompressed.js:1575 -msgid "regex" -msgstr "" - -#: js/editor.js:72 js/editor.js:156 js/editor.js:163 -msgid "Save" -msgstr "" - -#: js/editor.js:74 -msgid "Close" -msgstr "" - -#: js/editor.js:149 -msgid "Saving..." -msgstr "" - -#: js/editor.js:239 -msgid "An error occurred!" -msgstr "" - -#: js/editor.js:266 -msgid "There were unsaved changes, click here to go back" -msgstr "" diff --git a/l10n/uk/files_versions.po b/l10n/uk/files_versions.po index 45b78595d4d48f134ff2672a0a16480d4c640a7b..91a6d8643b120e48bdb72bc4efe8f1eda7fa9bdd 100644 --- a/l10n/uk/files_versions.po +++ b/l10n/uk/files_versions.po @@ -3,13 +3,14 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-09-22 01:14+0200\n" -"PO-Revision-Date: 2012-09-21 23:15+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-10-23 02:02+0200\n" +"PO-Revision-Date: 2012-10-22 12:22+0000\n" +"Last-Translator: skoptev \n" "Language-Team: Ukrainian (http://www.transifex.com/projects/p/owncloud/language/uk/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -19,24 +20,24 @@ msgstr "" #: js/settings-personal.js:31 templates/settings-personal.php:10 msgid "Expire all versions" -msgstr "" +msgstr "Термін дії всіх версій" #: js/versions.js:16 msgid "History" -msgstr "" +msgstr "Історія" #: templates/settings-personal.php:4 msgid "Versions" -msgstr "" +msgstr "Версії" #: templates/settings-personal.php:7 msgid "This will delete all existing backup versions of your files" -msgstr "" +msgstr "Це призведе до знищення всіх існуючих збережених версій Ваших файлів" #: templates/settings.php:3 msgid "Files Versioning" -msgstr "" +msgstr "Версії файлів" #: templates/settings.php:4 msgid "Enable" -msgstr "" +msgstr "Включити" diff --git a/l10n/uk/gallery.po b/l10n/uk/gallery.po deleted file mode 100644 index a29e3a1312de95b36f4de99e028c500587e34a6b..0000000000000000000000000000000000000000 --- a/l10n/uk/gallery.po +++ /dev/null @@ -1,95 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Soul Kim , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-06-06 00:12+0200\n" -"PO-Revision-Date: 2012-06-05 22:15+0000\n" -"Last-Translator: icewind \n" -"Language-Team: Ukrainian (http://www.transifex.net/projects/p/owncloud/language/uk/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: uk\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" - -#: appinfo/app.php:37 -msgid "Pictures" -msgstr "" - -#: js/album_cover.js:44 -msgid "Share gallery" -msgstr "" - -#: js/album_cover.js:64 js/album_cover.js:100 js/album_cover.js:133 -msgid "Error: " -msgstr "" - -#: js/album_cover.js:64 js/album_cover.js:100 -msgid "Internal error" -msgstr "" - -#: js/album_cover.js:114 -msgid "Scanning root" -msgstr "" - -#: js/album_cover.js:115 -msgid "Default order" -msgstr "" - -#: js/album_cover.js:116 -msgid "Ascending" -msgstr "" - -#: js/album_cover.js:116 -msgid "Descending" -msgstr "" - -#: js/album_cover.js:117 templates/index.php:19 -msgid "Settings" -msgstr "" - -#: js/album_cover.js:122 -msgid "Scanning root cannot be empty" -msgstr "" - -#: js/album_cover.js:122 js/album_cover.js:133 -msgid "Error" -msgstr "" - -#: templates/index.php:16 -msgid "Rescan" -msgstr "Оновити" - -#: templates/index.php:17 -msgid "Stop" -msgstr "" - -#: templates/index.php:18 -msgid "Share" -msgstr "" - -#: templates/view_album.php:19 -msgid "Back" -msgstr "Назад" - -#: templates/view_album.php:36 -msgid "Remove confirmation" -msgstr "" - -#: templates/view_album.php:37 -msgid "Do you want to remove album" -msgstr "" - -#: templates/view_album.php:40 -msgid "Change album name" -msgstr "" - -#: templates/view_album.php:43 -msgid "New album name" -msgstr "" diff --git a/l10n/uk/impress.po b/l10n/uk/impress.po deleted file mode 100644 index 1307d932c3d4ebc7b3c8c026e25596b899550451..0000000000000000000000000000000000000000 --- a/l10n/uk/impress.po +++ /dev/null @@ -1,22 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 01:17+0200\n" -"PO-Revision-Date: 2012-08-25 23:18+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Ukrainian (http://www.transifex.com/projects/p/owncloud/language/uk/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: uk\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" - -#: templates/presentations.php:7 -msgid "Documentation" -msgstr "" diff --git a/l10n/uk/lib.po b/l10n/uk/lib.po index 4458c03b3f21269169881b937a3d10ad25ae331a..f2a86e71708095c93c7265fdc1ded0888e026de1 100644 --- a/l10n/uk/lib.po +++ b/l10n/uk/lib.po @@ -4,14 +4,15 @@ # # Translators: # , 2012. +# , 2012. # , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-09-11 02:02+0200\n" -"PO-Revision-Date: 2012-09-10 11:28+0000\n" -"Last-Translator: VicDeo \n" +"POT-Creation-Date: 2012-11-27 00:10+0100\n" +"PO-Revision-Date: 2012-11-26 15:40+0000\n" +"Last-Translator: skoptev \n" "Language-Team: Ukrainian (http://www.transifex.com/projects/p/owncloud/language/uk/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -43,19 +44,19 @@ msgstr "Додатки" msgid "Admin" msgstr "Адмін" -#: files.php:280 +#: files.php:361 msgid "ZIP download is turned off." msgstr "ZIP завантаження вимкнено." -#: files.php:281 +#: files.php:362 msgid "Files need to be downloaded one by one." msgstr "Файли повинні бути завантаженні послідовно." -#: files.php:281 files.php:306 +#: files.php:362 files.php:387 msgid "Back to Files" msgstr "Повернутися до файлів" -#: files.php:305 +#: files.php:386 msgid "Selected files too large to generate zip file." msgstr "Вибрані фали завеликі для генерування zip файлу." @@ -63,65 +64,92 @@ msgstr "Вибрані фали завеликі для генерування z msgid "Application is not enabled" msgstr "Додаток не увімкнений" -#: json.php:39 json.php:63 json.php:75 +#: json.php:39 json.php:64 json.php:77 json.php:89 msgid "Authentication error" msgstr "Помилка автентифікації" #: json.php:51 msgid "Token expired. Please reload page." -msgstr "" +msgstr "Строк дії токена скінчився. Будь ласка, перезавантажте сторінку." + +#: search/provider/file.php:17 search/provider/file.php:35 +msgid "Files" +msgstr "Файли" + +#: search/provider/file.php:26 search/provider/file.php:33 +msgid "Text" +msgstr "Текст" -#: template.php:87 +#: search/provider/file.php:29 +msgid "Images" +msgstr "Зображення" + +#: template.php:103 msgid "seconds ago" msgstr "секунди тому" -#: template.php:88 +#: template.php:104 msgid "1 minute ago" msgstr "1 хвилину тому" -#: template.php:89 +#: template.php:105 #, php-format msgid "%d minutes ago" msgstr "%d хвилин тому" -#: template.php:92 +#: template.php:106 +msgid "1 hour ago" +msgstr "1 годину тому" + +#: template.php:107 +#, php-format +msgid "%d hours ago" +msgstr "%d годин тому" + +#: template.php:108 msgid "today" msgstr "сьогодні" -#: template.php:93 +#: template.php:109 msgid "yesterday" msgstr "вчора" -#: template.php:94 +#: template.php:110 #, php-format msgid "%d days ago" msgstr "%d днів тому" -#: template.php:95 +#: template.php:111 msgid "last month" msgstr "минулого місяця" -#: template.php:96 -msgid "months ago" -msgstr "місяці тому" +#: template.php:112 +#, php-format +msgid "%d months ago" +msgstr "%d місяців тому" -#: template.php:97 +#: template.php:113 msgid "last year" msgstr "минулого року" -#: template.php:98 +#: template.php:114 msgid "years ago" msgstr "роки тому" -#: updater.php:66 +#: updater.php:75 #, php-format msgid "%s is available. Get more information" -msgstr "" +msgstr "%s доступно. Отримати детальну інформацію" -#: updater.php:68 +#: updater.php:77 msgid "up to date" -msgstr "" +msgstr "оновлено" -#: updater.php:71 +#: updater.php:80 msgid "updates check is disabled" msgstr "перевірка оновлень відключена" + +#: vcategories.php:188 vcategories.php:249 +#, php-format +msgid "Could not find category \"%s\"" +msgstr "Не вдалося знайти категорію \"%s\"" diff --git a/l10n/uk/media.po b/l10n/uk/media.po deleted file mode 100644 index aef0c0eada9080ab8ab51d005b96bd0961d664e3..0000000000000000000000000000000000000000 --- a/l10n/uk/media.po +++ /dev/null @@ -1,67 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-07-31 22:53+0200\n" -"PO-Revision-Date: 2012-07-30 21:07+0000\n" -"Last-Translator: dzubchikd \n" -"Language-Team: Ukrainian (http://www.transifex.com/projects/p/owncloud/language/uk/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: uk\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" - -#: appinfo/app.php:45 templates/player.php:8 -msgid "Music" -msgstr "Музика" - -#: js/music.js:18 -msgid "Add album to playlist" -msgstr "Додати альбом до плейлиста" - -#: templates/music.php:3 templates/player.php:12 -msgid "Play" -msgstr "Грати" - -#: templates/music.php:4 templates/music.php:26 templates/player.php:13 -msgid "Pause" -msgstr "Пауза" - -#: templates/music.php:5 -msgid "Previous" -msgstr "Попередній" - -#: templates/music.php:6 templates/player.php:14 -msgid "Next" -msgstr "Наступний" - -#: templates/music.php:7 -msgid "Mute" -msgstr "Звук вкл." - -#: templates/music.php:8 -msgid "Unmute" -msgstr "Звук викл." - -#: templates/music.php:25 -msgid "Rescan Collection" -msgstr "Повторне сканування колекції" - -#: templates/music.php:37 -msgid "Artist" -msgstr "Виконавець" - -#: templates/music.php:38 -msgid "Album" -msgstr "Альбом" - -#: templates/music.php:39 -msgid "Title" -msgstr "Заголовок" diff --git a/l10n/uk/settings.po b/l10n/uk/settings.po index dd7b84e73974934f41b1230b0012051042ced064..a169a56596c0f4cea397815559c70e5ec04da8a8 100644 --- a/l10n/uk/settings.po +++ b/l10n/uk/settings.po @@ -4,13 +4,14 @@ # # Translators: # , 2012. +# , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-09 02:03+0200\n" -"PO-Revision-Date: 2012-10-09 00:04+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-12-03 00:04+0100\n" +"PO-Revision-Date: 2012-12-02 03:18+0000\n" +"Last-Translator: volodya327 \n" "Language-Team: Ukrainian (http://www.transifex.com/projects/p/owncloud/language/uk/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -18,175 +19,91 @@ msgstr "" "Language: uk\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" -#: ajax/apps/ocs.php:23 +#: ajax/apps/ocs.php:20 msgid "Unable to load list from App Store" -msgstr "" - -#: ajax/creategroup.php:9 ajax/removeuser.php:13 ajax/setquota.php:18 -#: ajax/togglegroups.php:15 -msgid "Authentication error" -msgstr "" +msgstr "Не вдалося завантажити список з App Store" -#: ajax/creategroup.php:19 +#: ajax/creategroup.php:10 msgid "Group already exists" -msgstr "" +msgstr "Група вже існує" -#: ajax/creategroup.php:28 +#: ajax/creategroup.php:19 msgid "Unable to add group" -msgstr "" +msgstr "Не вдалося додати групу" -#: ajax/enableapp.php:14 +#: ajax/enableapp.php:12 msgid "Could not enable app. " -msgstr "" +msgstr "Не вдалося активувати програму. " -#: ajax/lostpassword.php:14 +#: ajax/lostpassword.php:12 msgid "Email saved" -msgstr "" +msgstr "Адресу збережено" -#: ajax/lostpassword.php:16 +#: ajax/lostpassword.php:14 msgid "Invalid email" -msgstr "" +msgstr "Невірна адреса" -#: ajax/openid.php:16 +#: ajax/openid.php:13 msgid "OpenID Changed" msgstr "OpenID змінено" -#: ajax/openid.php:18 ajax/setlanguage.php:20 ajax/setlanguage.php:23 +#: ajax/openid.php:15 ajax/setlanguage.php:17 ajax/setlanguage.php:20 msgid "Invalid request" msgstr "Помилковий запит" -#: ajax/removegroup.php:16 +#: ajax/removegroup.php:13 msgid "Unable to delete group" -msgstr "" +msgstr "Не вдалося видалити групу" + +#: ajax/removeuser.php:15 ajax/setquota.php:15 ajax/togglegroups.php:18 +msgid "Authentication error" +msgstr "Помилка автентифікації" -#: ajax/removeuser.php:22 +#: ajax/removeuser.php:24 msgid "Unable to delete user" -msgstr "" +msgstr "Не вдалося видалити користувача" -#: ajax/setlanguage.php:18 +#: ajax/setlanguage.php:15 msgid "Language changed" msgstr "Мова змінена" -#: ajax/togglegroups.php:25 +#: ajax/togglegroups.php:12 +msgid "Admins can't remove themself from the admin group" +msgstr "Адміністратор не може видалити себе з групи адмінів" + +#: ajax/togglegroups.php:28 #, php-format msgid "Unable to add user to group %s" -msgstr "" +msgstr "Не вдалося додати користувача у групу %s" -#: ajax/togglegroups.php:31 +#: ajax/togglegroups.php:34 #, php-format msgid "Unable to remove user from group %s" -msgstr "" +msgstr "Не вдалося видалити користувача із групи %s" -#: js/apps.js:28 js/apps.js:65 +#: js/apps.js:28 js/apps.js:67 msgid "Disable" -msgstr "" +msgstr "Вимкнути" -#: js/apps.js:28 js/apps.js:54 +#: js/apps.js:28 js/apps.js:55 msgid "Enable" -msgstr "" +msgstr "Включити" #: js/personal.js:69 msgid "Saving..." -msgstr "" +msgstr "Зберігаю..." -#: personal.php:47 personal.php:48 +#: personal.php:42 personal.php:43 msgid "__language_name__" -msgstr "" - -#: templates/admin.php:14 -msgid "Security Warning" -msgstr "" - -#: templates/admin.php:17 -msgid "" -"Your data directory and your files are probably accessible from the " -"internet. The .htaccess file that ownCloud provides is not working. We " -"strongly suggest that you configure your webserver in a way that the data " -"directory is no longer accessible or you move the data directory outside the" -" webserver document root." -msgstr "" - -#: templates/admin.php:31 -msgid "Cron" -msgstr "" - -#: templates/admin.php:37 -msgid "Execute one task with each page loaded" -msgstr "" - -#: templates/admin.php:43 -msgid "" -"cron.php is registered at a webcron service. Call the cron.php page in the " -"owncloud root once a minute over http." -msgstr "" - -#: templates/admin.php:49 -msgid "" -"Use systems cron service. Call the cron.php file in the owncloud folder via " -"a system cronjob once a minute." -msgstr "" - -#: templates/admin.php:56 -msgid "Sharing" -msgstr "" - -#: templates/admin.php:61 -msgid "Enable Share API" -msgstr "" - -#: templates/admin.php:62 -msgid "Allow apps to use the Share API" -msgstr "" - -#: templates/admin.php:67 -msgid "Allow links" -msgstr "" - -#: templates/admin.php:68 -msgid "Allow users to share items to the public with links" -msgstr "" - -#: templates/admin.php:73 -msgid "Allow resharing" -msgstr "" - -#: templates/admin.php:74 -msgid "Allow users to share items shared with them again" -msgstr "" - -#: templates/admin.php:79 -msgid "Allow users to share with anyone" -msgstr "" - -#: templates/admin.php:81 -msgid "Allow users to only share with users in their groups" -msgstr "" - -#: templates/admin.php:88 -msgid "Log" -msgstr "" - -#: templates/admin.php:116 -msgid "More" -msgstr "" - -#: templates/admin.php:124 -msgid "" -"Developed by the ownCloud community, the source code is " -"licensed under the AGPL." -msgstr "" +msgstr "__language_name__" #: templates/apps.php:10 msgid "Add your App" -msgstr "" +msgstr "Додати свою програму" #: templates/apps.php:11 msgid "More Apps" -msgstr "" +msgstr "Більше програм" #: templates/apps.php:27 msgid "Select an App" @@ -194,56 +111,56 @@ msgstr "Вибрати додаток" #: templates/apps.php:31 msgid "See application page at apps.owncloud.com" -msgstr "" +msgstr "Перегляньте сторінку програм на apps.owncloud.com" #: templates/apps.php:32 msgid "-licensed by " -msgstr "" +msgstr "-licensed by " #: templates/help.php:9 msgid "Documentation" -msgstr "" +msgstr "Документація" #: templates/help.php:10 msgid "Managing Big Files" -msgstr "" +msgstr "Управління великими файлами" #: templates/help.php:11 msgid "Ask a question" msgstr "Запитати" -#: templates/help.php:23 +#: templates/help.php:22 msgid "Problems connecting to help database." msgstr "Проблема при з'єднані з базою допомоги" -#: templates/help.php:24 +#: templates/help.php:23 msgid "Go there manually." -msgstr "" +msgstr "Перейти вручну." -#: templates/help.php:32 +#: templates/help.php:31 msgid "Answer" -msgstr "" +msgstr "Відповідь" #: templates/personal.php:8 #, php-format -msgid "You have used %s of the available %s" -msgstr "" +msgid "You have used %s of the available %s" +msgstr "Ви використали %s із доступних %s" #: templates/personal.php:12 msgid "Desktop and Mobile Syncing Clients" -msgstr "" +msgstr "Настільні та мобільні клієнти синхронізації" #: templates/personal.php:13 msgid "Download" -msgstr "" +msgstr "Завантажити" #: templates/personal.php:19 msgid "Your password was changed" -msgstr "" +msgstr "Ваш пароль змінено" #: templates/personal.php:20 msgid "Unable to change your password" -msgstr "" +msgstr "Не вдалося змінити Ваш пароль" #: templates/personal.php:21 msgid "Current password" @@ -263,15 +180,15 @@ msgstr "Змінити пароль" #: templates/personal.php:30 msgid "Email" -msgstr "" +msgstr "Ел.пошта" #: templates/personal.php:31 msgid "Your email address" -msgstr "" +msgstr "Ваша адреса електронної пошти" #: templates/personal.php:32 msgid "Fill in an email address to enable password recovery" -msgstr "" +msgstr "Введіть адресу електронної пошти для відновлення паролю" #: templates/personal.php:38 templates/personal.php:39 msgid "Language" @@ -279,11 +196,21 @@ msgstr "Мова" #: templates/personal.php:44 msgid "Help translate" -msgstr "" +msgstr "Допомогти з перекладом" #: templates/personal.php:51 msgid "use this address to connect to your ownCloud in your file manager" -msgstr "" +msgstr "використовувати цю адресу для з'єднання з ownCloud у Вашому файловому менеджері" + +#: templates/personal.php:61 +msgid "" +"Developed by the ownCloud community, the source code is " +"licensed under the AGPL." +msgstr "Розроблено ownCloud громадою, вихідний код має ліцензію AGPL." #: templates/users.php:21 templates/users.php:76 msgid "Name" @@ -303,19 +230,19 @@ msgstr "Створити" #: templates/users.php:35 msgid "Default Quota" -msgstr "" +msgstr "Квота за замовчуванням" #: templates/users.php:55 templates/users.php:138 msgid "Other" -msgstr "" +msgstr "Інше" #: templates/users.php:80 templates/users.php:112 msgid "Group Admin" -msgstr "" +msgstr "Адміністратор групи" #: templates/users.php:82 msgid "Quota" -msgstr "" +msgstr "Квота" #: templates/users.php:146 msgid "Delete" diff --git a/l10n/uk/tasks.po b/l10n/uk/tasks.po deleted file mode 100644 index 37254722c735a048ea806698174f1a1338f79c93..0000000000000000000000000000000000000000 --- a/l10n/uk/tasks.po +++ /dev/null @@ -1,106 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:44+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Ukrainian (http://www.transifex.com/projects/p/owncloud/language/uk/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: uk\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" - -#: ajax/update_property.php:51 lib/app.php:89 lib/app.php:101 -msgid "Invalid date/time" -msgstr "" - -#: appinfo/app.php:11 -msgid "Tasks" -msgstr "" - -#: js/tasks.js:415 -msgid "No category" -msgstr "" - -#: lib/app.php:33 -msgid "Unspecified" -msgstr "" - -#: lib/app.php:34 -msgid "1=highest" -msgstr "" - -#: lib/app.php:38 -msgid "5=medium" -msgstr "" - -#: lib/app.php:42 -msgid "9=lowest" -msgstr "" - -#: lib/app.php:81 -msgid "Empty Summary" -msgstr "" - -#: lib/app.php:93 -msgid "Invalid percent complete" -msgstr "" - -#: lib/app.php:107 -msgid "Invalid priority" -msgstr "" - -#: templates/tasks.php:3 -msgid "Add Task" -msgstr "" - -#: templates/tasks.php:4 -msgid "Order Due" -msgstr "" - -#: templates/tasks.php:5 -msgid "Order List" -msgstr "" - -#: templates/tasks.php:6 -msgid "Order Complete" -msgstr "" - -#: templates/tasks.php:7 -msgid "Order Location" -msgstr "" - -#: templates/tasks.php:8 -msgid "Order Priority" -msgstr "" - -#: templates/tasks.php:9 -msgid "Order Label" -msgstr "" - -#: templates/tasks.php:16 -msgid "Loading tasks..." -msgstr "" - -#: templates/tasks.php:20 -msgid "Important" -msgstr "" - -#: templates/tasks.php:23 -msgid "More" -msgstr "" - -#: templates/tasks.php:26 -msgid "Less" -msgstr "" - -#: templates/tasks.php:29 -msgid "Delete" -msgstr "" diff --git a/l10n/uk/user_ldap.po b/l10n/uk/user_ldap.po index d82593c3dfe2a98a37f4e682e455a041cd5f3e86..dd12c4f2b25de68b91233a4906648f59f97da0f5 100644 --- a/l10n/uk/user_ldap.po +++ b/l10n/uk/user_ldap.po @@ -8,9 +8,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-09-11 02:02+0200\n" -"PO-Revision-Date: 2012-09-10 11:08+0000\n" -"Last-Translator: VicDeo \n" +"POT-Creation-Date: 2012-11-28 00:10+0100\n" +"PO-Revision-Date: 2012-11-27 12:54+0000\n" +"Last-Translator: volodya327 \n" "Language-Team: Ukrainian (http://www.transifex.com/projects/p/owncloud/language/uk/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -20,31 +20,31 @@ msgstr "" #: templates/settings.php:8 msgid "Host" -msgstr "" +msgstr "Хост" #: templates/settings.php:8 msgid "" "You can omit the protocol, except you require SSL. Then start with ldaps://" -msgstr "" +msgstr "Можна не вказувати протокол, якщо вам не потрібен SSL. Тоді почніть з ldaps://" #: templates/settings.php:9 msgid "Base DN" -msgstr "" +msgstr "Базовий DN" #: templates/settings.php:9 msgid "You can specify Base DN for users and groups in the Advanced tab" -msgstr "" +msgstr "Ви можете задати Базовий DN для користувачів і груп на вкладинці Додатково" #: templates/settings.php:10 msgid "User DN" -msgstr "" +msgstr "DN Користувача" #: templates/settings.php:10 msgid "" "The DN of the client user with which the bind shall be done, e.g. " "uid=agent,dc=example,dc=com. For anonymous access, leave DN and Password " "empty." -msgstr "" +msgstr "DN клієнтського користувача для прив'язки, наприклад: uid=agent,dc=example,dc=com. Для анонімного доступу, залиште DN і Пароль порожніми." #: templates/settings.php:11 msgid "Password" @@ -52,119 +52,119 @@ msgstr "Пароль" #: templates/settings.php:11 msgid "For anonymous access, leave DN and Password empty." -msgstr "" +msgstr "Для анонімного доступу, залиште DN і Пароль порожніми." #: templates/settings.php:12 msgid "User Login Filter" -msgstr "" +msgstr "Фільтр Користувачів, що під'єднуються" #: templates/settings.php:12 #, php-format msgid "" "Defines the filter to apply, when login is attempted. %%uid replaces the " "username in the login action." -msgstr "" +msgstr "Визначає фільтр, який застосовується при спробі входу. %%uid замінює ім'я користувача при вході." #: templates/settings.php:12 #, php-format msgid "use %%uid placeholder, e.g. \"uid=%%uid\"" -msgstr "" +msgstr "використовуйте %%uid заповнювач, наприклад: \"uid=%%uid\"" #: templates/settings.php:13 msgid "User List Filter" -msgstr "" +msgstr "Фільтр Списку Користувачів" #: templates/settings.php:13 msgid "Defines the filter to apply, when retrieving users." -msgstr "" +msgstr "Визначає фільтр, який застосовується при отриманні користувачів" #: templates/settings.php:13 msgid "without any placeholder, e.g. \"objectClass=person\"." -msgstr "" +msgstr "без будь-якого заповнювача, наприклад: \"objectClass=person\"." #: templates/settings.php:14 msgid "Group Filter" -msgstr "" +msgstr "Фільтр Груп" #: templates/settings.php:14 msgid "Defines the filter to apply, when retrieving groups." -msgstr "" +msgstr "Визначає фільтр, який застосовується при отриманні груп." #: templates/settings.php:14 msgid "without any placeholder, e.g. \"objectClass=posixGroup\"." -msgstr "" +msgstr "без будь-якого заповнювача, наприклад: \"objectClass=posixGroup\"." #: templates/settings.php:17 msgid "Port" -msgstr "" +msgstr "Порт" #: templates/settings.php:18 msgid "Base User Tree" -msgstr "" +msgstr "Основне Дерево Користувачів" #: templates/settings.php:19 msgid "Base Group Tree" -msgstr "" +msgstr "Основне Дерево Груп" #: templates/settings.php:20 msgid "Group-Member association" -msgstr "" +msgstr "Асоціація Група-Член" #: templates/settings.php:21 msgid "Use TLS" -msgstr "" +msgstr "Використовуйте TLS" #: templates/settings.php:21 msgid "Do not use it for SSL connections, it will fail." -msgstr "" +msgstr "Не використовуйте його для SSL з'єднань, це не буде виконано." #: templates/settings.php:22 msgid "Case insensitve LDAP server (Windows)" -msgstr "" +msgstr "Нечутливий до регістру LDAP сервер (Windows)" #: templates/settings.php:23 msgid "Turn off SSL certificate validation." -msgstr "" +msgstr "Вимкнути перевірку SSL сертифіката." #: templates/settings.php:23 msgid "" "If connection only works with this option, import the LDAP server's SSL " "certificate in your ownCloud server." -msgstr "" +msgstr "Якщо з'єднання працює лише з цією опцією, імпортуйте SSL сертифікат LDAP сервера у ваший ownCloud сервер." #: templates/settings.php:23 msgid "Not recommended, use for testing only." -msgstr "" +msgstr "Не рекомендується, використовуйте лише для тестів." #: templates/settings.php:24 msgid "User Display Name Field" -msgstr "" +msgstr "Поле, яке відображає Ім'я Користувача" #: templates/settings.php:24 msgid "The LDAP attribute to use to generate the user`s ownCloud name." -msgstr "" +msgstr "Атрибут LDAP, який використовується для генерації імен користувачів ownCloud." #: templates/settings.php:25 msgid "Group Display Name Field" -msgstr "" +msgstr "Поле, яке відображає Ім'я Групи" #: templates/settings.php:25 msgid "The LDAP attribute to use to generate the groups`s ownCloud name." -msgstr "" +msgstr "Атрибут LDAP, який використовується для генерації імен груп ownCloud." #: templates/settings.php:27 msgid "in bytes" -msgstr "" +msgstr "в байтах" #: templates/settings.php:29 msgid "in seconds. A change empties the cache." -msgstr "" +msgstr "в секундах. Зміна очищує кеш." #: templates/settings.php:30 msgid "" "Leave empty for user name (default). Otherwise, specify an LDAP/AD " "attribute." -msgstr "" +msgstr "Залиште порожнім для імені користувача (за замовчанням). Інакше, вкажіть атрибут LDAP/AD." #: templates/settings.php:32 msgid "Help" diff --git a/l10n/uk/user_migrate.po b/l10n/uk/user_migrate.po deleted file mode 100644 index 816951cef340e5a3d319358bd884269b3dfd4184..0000000000000000000000000000000000000000 --- a/l10n/uk/user_migrate.po +++ /dev/null @@ -1,51 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:45+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Ukrainian (http://www.transifex.com/projects/p/owncloud/language/uk/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: uk\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" - -#: js/export.js:14 js/export.js:20 -msgid "Export" -msgstr "" - -#: js/export.js:19 -msgid "Something went wrong while the export file was being generated" -msgstr "" - -#: js/export.js:19 -msgid "An error has occurred" -msgstr "" - -#: templates/settings.php:2 -msgid "Export your user account" -msgstr "" - -#: templates/settings.php:3 -msgid "" -"This will create a compressed file that contains your ownCloud account." -msgstr "" - -#: templates/settings.php:13 -msgid "Import user account" -msgstr "" - -#: templates/settings.php:15 -msgid "ownCloud User Zip" -msgstr "" - -#: templates/settings.php:17 -msgid "Import" -msgstr "" diff --git a/l10n/uk/user_openid.po b/l10n/uk/user_openid.po deleted file mode 100644 index 699f470569be3a1fe6166c134fc39d739453d49c..0000000000000000000000000000000000000000 --- a/l10n/uk/user_openid.po +++ /dev/null @@ -1,54 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:45+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Ukrainian (http://www.transifex.com/projects/p/owncloud/language/uk/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: uk\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" - -#: templates/nomode.php:12 -msgid "This is an OpenID server endpoint. For more information, see " -msgstr "" - -#: templates/nomode.php:14 -msgid "Identity: " -msgstr "" - -#: templates/nomode.php:15 -msgid "Realm: " -msgstr "" - -#: templates/nomode.php:16 -msgid "User: " -msgstr "" - -#: templates/nomode.php:17 -msgid "Login" -msgstr "" - -#: templates/nomode.php:22 -msgid "Error: No user Selected" -msgstr "" - -#: templates/settings.php:4 -msgid "you can authenticate to other sites with this address" -msgstr "" - -#: templates/settings.php:5 -msgid "Authorized OpenID provider" -msgstr "" - -#: templates/settings.php:6 -msgid "Your address at Wordpress, Identi.ca, …" -msgstr "" diff --git a/l10n/uk/files_odfviewer.po b/l10n/uk/user_webdavauth.po similarity index 64% rename from l10n/uk/files_odfviewer.po rename to l10n/uk/user_webdavauth.po index f7dfc7c8debf2258f7aa564e2b35c016eb4bc3c7..e9b0d979026ae9f48e86029bf73b9508faa72d03 100644 --- a/l10n/uk/files_odfviewer.po +++ b/l10n/uk/user_webdavauth.po @@ -3,20 +3,21 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 02:18+0200\n" -"PO-Revision-Date: 2012-08-26 00:19+0000\n" -"Last-Translator: FULL NAME \n" +"POT-Creation-Date: 2012-11-20 00:01+0100\n" +"PO-Revision-Date: 2012-11-19 14:48+0000\n" +"Last-Translator: skoptev \n" "Language-Team: Ukrainian (http://www.transifex.com/projects/p/owncloud/language/uk/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: uk\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" +"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" -#: js/viewer.js:9 -msgid "Close" -msgstr "" +#: templates/settings.php:4 +msgid "WebDAV URL: http://" +msgstr "WebDAV URL: http://" diff --git a/l10n/vi/admin_dependencies_chk.po b/l10n/vi/admin_dependencies_chk.po deleted file mode 100644 index 9f7f77f611afa85fa1567acea732442496803346..0000000000000000000000000000000000000000 --- a/l10n/vi/admin_dependencies_chk.po +++ /dev/null @@ -1,73 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:33+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Vietnamese (http://www.transifex.com/projects/p/owncloud/language/vi/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: vi\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: settings.php:33 -msgid "" -"The php-json module is needed by the many applications for inter " -"communications" -msgstr "" - -#: settings.php:39 -msgid "" -"The php-curl modude is needed to fetch the page title when adding a " -"bookmarks" -msgstr "" - -#: settings.php:45 -msgid "The php-gd module is needed to create thumbnails of your images" -msgstr "" - -#: settings.php:51 -msgid "The php-ldap module is needed connect to your ldap server" -msgstr "" - -#: settings.php:57 -msgid "The php-zip module is needed download multiple files at once" -msgstr "" - -#: settings.php:63 -msgid "" -"The php-mb_multibyte module is needed to manage correctly the encoding." -msgstr "" - -#: settings.php:69 -msgid "The php-ctype module is needed validate data." -msgstr "" - -#: settings.php:75 -msgid "The php-xml module is needed to share files with webdav." -msgstr "" - -#: settings.php:81 -msgid "" -"The allow_url_fopen directive of your php.ini should be set to 1 to retrieve" -" knowledge base from OCS servers" -msgstr "" - -#: settings.php:87 -msgid "The php-pdo module is needed to store owncloud data into a database." -msgstr "" - -#: templates/settings.php:2 -msgid "Dependencies status" -msgstr "" - -#: templates/settings.php:7 -msgid "Used by :" -msgstr "" diff --git a/l10n/vi/admin_migrate.po b/l10n/vi/admin_migrate.po deleted file mode 100644 index 58d15a553c4c6366f1fd9d2ce18f7cc617a302a7..0000000000000000000000000000000000000000 --- a/l10n/vi/admin_migrate.po +++ /dev/null @@ -1,32 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:32+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Vietnamese (http://www.transifex.com/projects/p/owncloud/language/vi/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: vi\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: templates/settings.php:3 -msgid "Export this ownCloud instance" -msgstr "" - -#: templates/settings.php:4 -msgid "" -"This will create a compressed file that contains the data of this owncloud instance.\n" -" Please choose the export type:" -msgstr "" - -#: templates/settings.php:12 -msgid "Export" -msgstr "" diff --git a/l10n/vi/bookmarks.po b/l10n/vi/bookmarks.po deleted file mode 100644 index 38181e5d1faac971ca9661ae594f6ce911c472da..0000000000000000000000000000000000000000 --- a/l10n/vi/bookmarks.po +++ /dev/null @@ -1,60 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-07-28 02:02+0200\n" -"PO-Revision-Date: 2012-07-27 22:17+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Vietnamese (http://www.transifex.com/projects/p/owncloud/language/vi/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: vi\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: appinfo/app.php:14 -msgid "Bookmarks" -msgstr "" - -#: bookmarksHelper.php:99 -msgid "unnamed" -msgstr "" - -#: templates/bookmarklet.php:5 -msgid "" -"Drag this to your browser bookmarks and click it, when you want to bookmark " -"a webpage quickly:" -msgstr "" - -#: templates/bookmarklet.php:7 -msgid "Read later" -msgstr "" - -#: templates/list.php:13 -msgid "Address" -msgstr "" - -#: templates/list.php:14 -msgid "Title" -msgstr "" - -#: templates/list.php:15 -msgid "Tags" -msgstr "" - -#: templates/list.php:16 -msgid "Save bookmark" -msgstr "" - -#: templates/list.php:22 -msgid "You have no bookmarks" -msgstr "" - -#: templates/settings.php:11 -msgid "Bookmarklet
" -msgstr "" diff --git a/l10n/vi/calendar.po b/l10n/vi/calendar.po deleted file mode 100644 index b08b6e2ae866263d83691858c4c3ee2dda3150c6..0000000000000000000000000000000000000000 --- a/l10n/vi/calendar.po +++ /dev/null @@ -1,815 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# , 2012. -# Sơn Nguyễn , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-11 02:02+0200\n" -"PO-Revision-Date: 2012-08-11 00:02+0000\n" -"Last-Translator: owncloud_robot \n" -"Language-Team: Vietnamese (http://www.transifex.com/projects/p/owncloud/language/vi/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: vi\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: ajax/cache/status.php:19 -msgid "Not all calendars are completely cached" -msgstr "" - -#: ajax/cache/status.php:21 -msgid "Everything seems to be completely cached" -msgstr "" - -#: ajax/categories/rescan.php:29 -msgid "No calendars found." -msgstr "Không tìm thấy lịch." - -#: ajax/categories/rescan.php:37 -msgid "No events found." -msgstr "Không tìm thấy sự kiện nào" - -#: ajax/event/edit.form.php:20 -msgid "Wrong calendar" -msgstr "Sai lịch" - -#: ajax/import/dropimport.php:29 ajax/import/import.php:64 -msgid "" -"The file contained either no events or all events are already saved in your " -"calendar." -msgstr "" - -#: ajax/import/dropimport.php:31 ajax/import/import.php:67 -msgid "events has been saved in the new calendar" -msgstr "" - -#: ajax/import/import.php:56 -msgid "Import failed" -msgstr "" - -#: ajax/import/import.php:69 -msgid "events has been saved in your calendar" -msgstr "" - -#: ajax/settings/guesstimezone.php:25 -msgid "New Timezone:" -msgstr "Múi giờ mới :" - -#: ajax/settings/settimezone.php:23 -msgid "Timezone changed" -msgstr "Thay đổi múi giờ" - -#: ajax/settings/settimezone.php:25 -msgid "Invalid request" -msgstr "Yêu cầu không hợp lệ" - -#: appinfo/app.php:35 templates/calendar.php:15 -#: templates/part.eventform.php:33 templates/part.showevent.php:33 -msgid "Calendar" -msgstr "Lịch" - -#: js/calendar.js:832 -msgid "ddd" -msgstr "ddd" - -#: js/calendar.js:833 -msgid "ddd M/d" -msgstr "ddd M/d" - -#: js/calendar.js:834 -msgid "dddd M/d" -msgstr "dddd M/d" - -#: js/calendar.js:837 -msgid "MMMM yyyy" -msgstr "MMMM yyyy" - -#: js/calendar.js:839 -msgid "MMM d[ yyyy]{ '—'[ MMM] d yyyy}" -msgstr "MMM d[ yyyy]{ '—'[ MMM] d yyyy}" - -#: js/calendar.js:841 -msgid "dddd, MMM d, yyyy" -msgstr "dddd, MMM d, yyyy" - -#: lib/app.php:121 -msgid "Birthday" -msgstr "Ngày sinh nhật" - -#: lib/app.php:122 -msgid "Business" -msgstr "Công việc" - -#: lib/app.php:123 -msgid "Call" -msgstr "Số điện thoại" - -#: lib/app.php:124 -msgid "Clients" -msgstr "Máy trạm" - -#: lib/app.php:125 -msgid "Deliverer" -msgstr "" - -#: lib/app.php:126 -msgid "Holidays" -msgstr "Ngày lễ" - -#: lib/app.php:127 -msgid "Ideas" -msgstr "Ý tưởng" - -#: lib/app.php:128 -msgid "Journey" -msgstr "" - -#: lib/app.php:129 -msgid "Jubilee" -msgstr "Lễ kỷ niệm" - -#: lib/app.php:130 -msgid "Meeting" -msgstr "Hội nghị" - -#: lib/app.php:131 -msgid "Other" -msgstr "Khác" - -#: lib/app.php:132 -msgid "Personal" -msgstr "Cá nhân" - -#: lib/app.php:133 -msgid "Projects" -msgstr "Dự án" - -#: lib/app.php:134 -msgid "Questions" -msgstr "Câu hỏi" - -#: lib/app.php:135 -msgid "Work" -msgstr "Công việc" - -#: lib/app.php:351 lib/app.php:361 -msgid "by" -msgstr "" - -#: lib/app.php:359 lib/app.php:399 -msgid "unnamed" -msgstr "" - -#: lib/import.php:184 templates/calendar.php:12 -#: templates/part.choosecalendar.php:22 -msgid "New Calendar" -msgstr "Lịch mới" - -#: lib/object.php:372 -msgid "Does not repeat" -msgstr "Không lặp lại" - -#: lib/object.php:373 -msgid "Daily" -msgstr "Hàng ngày" - -#: lib/object.php:374 -msgid "Weekly" -msgstr "Hàng tuần" - -#: lib/object.php:375 -msgid "Every Weekday" -msgstr "Mỗi ngày trong tuần" - -#: lib/object.php:376 -msgid "Bi-Weekly" -msgstr "Hai tuần một lần" - -#: lib/object.php:377 -msgid "Monthly" -msgstr "Hàng tháng" - -#: lib/object.php:378 -msgid "Yearly" -msgstr "Hàng năm" - -#: lib/object.php:388 -msgid "never" -msgstr "không thay đổi" - -#: lib/object.php:389 -msgid "by occurrences" -msgstr "bởi xuất hiện" - -#: lib/object.php:390 -msgid "by date" -msgstr "bởi ngày" - -#: lib/object.php:400 -msgid "by monthday" -msgstr "bởi ngày trong tháng" - -#: lib/object.php:401 -msgid "by weekday" -msgstr "bởi ngày trong tuần" - -#: lib/object.php:411 templates/calendar.php:5 templates/settings.php:69 -msgid "Monday" -msgstr "Thứ 2" - -#: lib/object.php:412 templates/calendar.php:5 -msgid "Tuesday" -msgstr "Thứ 3" - -#: lib/object.php:413 templates/calendar.php:5 -msgid "Wednesday" -msgstr "Thứ 4" - -#: lib/object.php:414 templates/calendar.php:5 -msgid "Thursday" -msgstr "Thứ 5" - -#: lib/object.php:415 templates/calendar.php:5 -msgid "Friday" -msgstr "Thứ " - -#: lib/object.php:416 templates/calendar.php:5 -msgid "Saturday" -msgstr "Thứ 7" - -#: lib/object.php:417 templates/calendar.php:5 templates/settings.php:70 -msgid "Sunday" -msgstr "Chủ nhật" - -#: lib/object.php:427 -msgid "events week of month" -msgstr "sự kiện trong tuần của tháng" - -#: lib/object.php:428 -msgid "first" -msgstr "đầu tiên" - -#: lib/object.php:429 -msgid "second" -msgstr "Thứ hai" - -#: lib/object.php:430 -msgid "third" -msgstr "Thứ ba" - -#: lib/object.php:431 -msgid "fourth" -msgstr "Thứ tư" - -#: lib/object.php:432 -msgid "fifth" -msgstr "Thứ năm" - -#: lib/object.php:433 -msgid "last" -msgstr "" - -#: lib/object.php:467 templates/calendar.php:7 -msgid "January" -msgstr "Tháng 1" - -#: lib/object.php:468 templates/calendar.php:7 -msgid "February" -msgstr "Tháng 2" - -#: lib/object.php:469 templates/calendar.php:7 -msgid "March" -msgstr "Tháng 3" - -#: lib/object.php:470 templates/calendar.php:7 -msgid "April" -msgstr "Tháng 4" - -#: lib/object.php:471 templates/calendar.php:7 -msgid "May" -msgstr "Tháng 5" - -#: lib/object.php:472 templates/calendar.php:7 -msgid "June" -msgstr "Tháng 6" - -#: lib/object.php:473 templates/calendar.php:7 -msgid "July" -msgstr "Tháng 7" - -#: lib/object.php:474 templates/calendar.php:7 -msgid "August" -msgstr "Tháng 8" - -#: lib/object.php:475 templates/calendar.php:7 -msgid "September" -msgstr "Tháng 9" - -#: lib/object.php:476 templates/calendar.php:7 -msgid "October" -msgstr "Tháng 10" - -#: lib/object.php:477 templates/calendar.php:7 -msgid "November" -msgstr "Tháng 11" - -#: lib/object.php:478 templates/calendar.php:7 -msgid "December" -msgstr "Tháng 12" - -#: lib/object.php:488 -msgid "by events date" -msgstr "Theo ngày tháng sự kiện" - -#: lib/object.php:489 -msgid "by yearday(s)" -msgstr "" - -#: lib/object.php:490 -msgid "by weeknumber(s)" -msgstr "số tuần" - -#: lib/object.php:491 -msgid "by day and month" -msgstr "ngày, tháng" - -#: lib/search.php:35 lib/search.php:37 lib/search.php:40 -msgid "Date" -msgstr "Ngày" - -#: lib/search.php:43 -msgid "Cal." -msgstr "Cal." - -#: templates/calendar.php:6 -msgid "Sun." -msgstr "" - -#: templates/calendar.php:6 -msgid "Mon." -msgstr "" - -#: templates/calendar.php:6 -msgid "Tue." -msgstr "" - -#: templates/calendar.php:6 -msgid "Wed." -msgstr "" - -#: templates/calendar.php:6 -msgid "Thu." -msgstr "" - -#: templates/calendar.php:6 -msgid "Fri." -msgstr "" - -#: templates/calendar.php:6 -msgid "Sat." -msgstr "" - -#: templates/calendar.php:8 -msgid "Jan." -msgstr "" - -#: templates/calendar.php:8 -msgid "Feb." -msgstr "" - -#: templates/calendar.php:8 -msgid "Mar." -msgstr "" - -#: templates/calendar.php:8 -msgid "Apr." -msgstr "" - -#: templates/calendar.php:8 -msgid "May." -msgstr "" - -#: templates/calendar.php:8 -msgid "Jun." -msgstr "" - -#: templates/calendar.php:8 -msgid "Jul." -msgstr "" - -#: templates/calendar.php:8 -msgid "Aug." -msgstr "" - -#: templates/calendar.php:8 -msgid "Sep." -msgstr "" - -#: templates/calendar.php:8 -msgid "Oct." -msgstr "" - -#: templates/calendar.php:8 -msgid "Nov." -msgstr "" - -#: templates/calendar.php:8 -msgid "Dec." -msgstr "" - -#: templates/calendar.php:11 -msgid "All day" -msgstr "Tất cả các ngày" - -#: templates/calendar.php:13 -msgid "Missing fields" -msgstr "" - -#: templates/calendar.php:14 templates/part.eventform.php:19 -#: templates/part.showevent.php:11 -msgid "Title" -msgstr "Tiêu đề" - -#: templates/calendar.php:16 -msgid "From Date" -msgstr "Từ ngày" - -#: templates/calendar.php:17 -msgid "From Time" -msgstr "Từ thời gian" - -#: templates/calendar.php:18 -msgid "To Date" -msgstr "Tới ngày" - -#: templates/calendar.php:19 -msgid "To Time" -msgstr "Tới thời gian" - -#: templates/calendar.php:20 -msgid "The event ends before it starts" -msgstr "Sự kiện này kết thúc trước khi nó bắt đầu" - -#: templates/calendar.php:21 -msgid "There was a database fail" -msgstr "" - -#: templates/calendar.php:39 -msgid "Week" -msgstr "Tuần" - -#: templates/calendar.php:40 -msgid "Month" -msgstr "Tháng" - -#: templates/calendar.php:41 -msgid "List" -msgstr "Danh sách" - -#: templates/calendar.php:45 -msgid "Today" -msgstr "Hôm nay" - -#: templates/calendar.php:46 templates/calendar.php:47 -msgid "Settings" -msgstr "" - -#: templates/part.choosecalendar.php:2 -msgid "Your calendars" -msgstr "Lịch của bạn" - -#: templates/part.choosecalendar.php:27 -#: templates/part.choosecalendar.rowfields.php:11 -msgid "CalDav Link" -msgstr "Liên kết CalDav " - -#: templates/part.choosecalendar.php:31 -msgid "Shared calendars" -msgstr "Chia sẻ lịch" - -#: templates/part.choosecalendar.php:48 -msgid "No shared calendars" -msgstr "Không chia sẻ lcihj" - -#: templates/part.choosecalendar.rowfields.php:8 -msgid "Share Calendar" -msgstr "Chia sẻ lịch" - -#: templates/part.choosecalendar.rowfields.php:14 -msgid "Download" -msgstr "Tải về" - -#: templates/part.choosecalendar.rowfields.php:17 -msgid "Edit" -msgstr "Chỉnh sửa" - -#: templates/part.choosecalendar.rowfields.php:20 -#: templates/part.editevent.php:9 -msgid "Delete" -msgstr "Xóa" - -#: templates/part.choosecalendar.rowfields.shared.php:4 -msgid "shared with you by" -msgstr "Chia sẻ bởi" - -#: templates/part.editcalendar.php:9 -msgid "New calendar" -msgstr "Lịch mới" - -#: templates/part.editcalendar.php:9 -msgid "Edit calendar" -msgstr "sửa Lịch" - -#: templates/part.editcalendar.php:12 -msgid "Displayname" -msgstr "Hiển thị tên" - -#: templates/part.editcalendar.php:23 -msgid "Active" -msgstr "Kích hoạt" - -#: templates/part.editcalendar.php:29 -msgid "Calendar color" -msgstr "Màu lịch" - -#: templates/part.editcalendar.php:42 -msgid "Save" -msgstr "Lưu" - -#: templates/part.editcalendar.php:42 templates/part.editevent.php:8 -#: templates/part.newevent.php:6 -msgid "Submit" -msgstr "Submit" - -#: templates/part.editcalendar.php:43 -msgid "Cancel" -msgstr "Hủy" - -#: templates/part.editevent.php:1 -msgid "Edit an event" -msgstr "Sửa sự kiện" - -#: templates/part.editevent.php:10 -msgid "Export" -msgstr "" - -#: templates/part.eventform.php:8 templates/part.showevent.php:3 -msgid "Eventinfo" -msgstr "" - -#: templates/part.eventform.php:9 templates/part.showevent.php:4 -msgid "Repeating" -msgstr "" - -#: templates/part.eventform.php:10 templates/part.showevent.php:5 -msgid "Alarm" -msgstr "" - -#: templates/part.eventform.php:11 templates/part.showevent.php:6 -msgid "Attendees" -msgstr "" - -#: templates/part.eventform.php:13 -msgid "Share" -msgstr "Chia sẻ" - -#: templates/part.eventform.php:21 -msgid "Title of the Event" -msgstr "Tên sự kiện" - -#: templates/part.eventform.php:27 templates/part.showevent.php:19 -msgid "Category" -msgstr "Danh mục" - -#: templates/part.eventform.php:29 -msgid "Separate categories with commas" -msgstr "" - -#: templates/part.eventform.php:30 -msgid "Edit categories" -msgstr "" - -#: templates/part.eventform.php:56 templates/part.showevent.php:52 -msgid "All Day Event" -msgstr "Sự kiện trong ngày" - -#: templates/part.eventform.php:60 templates/part.showevent.php:56 -msgid "From" -msgstr "Từ" - -#: templates/part.eventform.php:68 templates/part.showevent.php:64 -msgid "To" -msgstr "Tới" - -#: templates/part.eventform.php:76 templates/part.showevent.php:72 -msgid "Advanced options" -msgstr "Tùy chọn nâng cao" - -#: templates/part.eventform.php:81 templates/part.showevent.php:77 -msgid "Location" -msgstr "Nơi" - -#: templates/part.eventform.php:83 -msgid "Location of the Event" -msgstr "Nơi tổ chức sự kiện" - -#: templates/part.eventform.php:89 templates/part.showevent.php:85 -msgid "Description" -msgstr "Mô tả" - -#: templates/part.eventform.php:91 -msgid "Description of the Event" -msgstr "Mô tả sự kiện" - -#: templates/part.eventform.php:100 templates/part.showevent.php:95 -msgid "Repeat" -msgstr "Lặp lại" - -#: templates/part.eventform.php:107 templates/part.showevent.php:102 -msgid "Advanced" -msgstr "Nâng cao" - -#: templates/part.eventform.php:151 templates/part.showevent.php:146 -msgid "Select weekdays" -msgstr "Chọn ngày trong tuần" - -#: templates/part.eventform.php:164 templates/part.eventform.php:177 -#: templates/part.showevent.php:159 templates/part.showevent.php:172 -msgid "Select days" -msgstr "Chọn ngày" - -#: templates/part.eventform.php:169 templates/part.showevent.php:164 -msgid "and the events day of year." -msgstr "và sự kiện của ngày trong năm" - -#: templates/part.eventform.php:182 templates/part.showevent.php:177 -msgid "and the events day of month." -msgstr "và sự kiện của một ngày trong năm" - -#: templates/part.eventform.php:190 templates/part.showevent.php:185 -msgid "Select months" -msgstr "Chọn tháng" - -#: templates/part.eventform.php:203 templates/part.showevent.php:198 -msgid "Select weeks" -msgstr "Chọn tuần" - -#: templates/part.eventform.php:208 templates/part.showevent.php:203 -msgid "and the events week of year." -msgstr "và sự kiện của tuần trong năm." - -#: templates/part.eventform.php:214 templates/part.showevent.php:209 -msgid "Interval" -msgstr "" - -#: templates/part.eventform.php:220 templates/part.showevent.php:215 -msgid "End" -msgstr "" - -#: templates/part.eventform.php:233 templates/part.showevent.php:228 -msgid "occurrences" -msgstr "" - -#: templates/part.import.php:14 -msgid "create a new calendar" -msgstr "Tạo lịch mới" - -#: templates/part.import.php:17 -msgid "Import a calendar file" -msgstr "" - -#: templates/part.import.php:24 -msgid "Please choose a calendar" -msgstr "" - -#: templates/part.import.php:36 -msgid "Name of new calendar" -msgstr "Tên lịch mới" - -#: templates/part.import.php:44 -msgid "Take an available name!" -msgstr "" - -#: templates/part.import.php:45 -msgid "" -"A Calendar with this name already exists. If you continue anyhow, these " -"calendars will be merged." -msgstr "" - -#: templates/part.import.php:47 -msgid "Import" -msgstr "" - -#: templates/part.import.php:56 -msgid "Close Dialog" -msgstr "Đóng hộp thoại" - -#: templates/part.newevent.php:1 -msgid "Create a new event" -msgstr "Tạo một sự kiện mới" - -#: templates/part.showevent.php:1 -msgid "View an event" -msgstr "Xem một sự kiện" - -#: templates/part.showevent.php:23 -msgid "No categories selected" -msgstr "Không danh sách nào được chọn" - -#: templates/part.showevent.php:37 -msgid "of" -msgstr "của" - -#: templates/part.showevent.php:59 templates/part.showevent.php:67 -msgid "at" -msgstr "tại" - -#: templates/settings.php:10 -msgid "General" -msgstr "" - -#: templates/settings.php:15 -msgid "Timezone" -msgstr "Múi giờ" - -#: templates/settings.php:47 -msgid "Update timezone automatically" -msgstr "" - -#: templates/settings.php:52 -msgid "Time format" -msgstr "" - -#: templates/settings.php:57 -msgid "24h" -msgstr "24h" - -#: templates/settings.php:58 -msgid "12h" -msgstr "12h" - -#: templates/settings.php:64 -msgid "Start week on" -msgstr "" - -#: templates/settings.php:76 -msgid "Cache" -msgstr "" - -#: templates/settings.php:80 -msgid "Clear cache for repeating events" -msgstr "" - -#: templates/settings.php:85 -msgid "URLs" -msgstr "" - -#: templates/settings.php:87 -msgid "Calendar CalDAV syncing addresses" -msgstr "" - -#: templates/settings.php:87 -msgid "more info" -msgstr "" - -#: templates/settings.php:89 -msgid "Primary address (Kontact et al)" -msgstr "" - -#: templates/settings.php:91 -msgid "iOS/OS X" -msgstr "" - -#: templates/settings.php:93 -msgid "Read only iCalendar link(s)" -msgstr "" - -#: templates/share.dropdown.php:20 -msgid "Users" -msgstr "" - -#: templates/share.dropdown.php:21 -msgid "select users" -msgstr "" - -#: templates/share.dropdown.php:36 templates/share.dropdown.php:62 -msgid "Editable" -msgstr "" - -#: templates/share.dropdown.php:48 -msgid "Groups" -msgstr "" - -#: templates/share.dropdown.php:49 -msgid "select groups" -msgstr "" - -#: templates/share.dropdown.php:75 -msgid "make public" -msgstr "" diff --git a/l10n/vi/contacts.po b/l10n/vi/contacts.po deleted file mode 100644 index 924eb994b83cee028889d960dfee18e1e3a4d033..0000000000000000000000000000000000000000 --- a/l10n/vi/contacts.po +++ /dev/null @@ -1,953 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Sơn Nguyễn , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-24 02:02+0200\n" -"PO-Revision-Date: 2012-08-24 00:03+0000\n" -"Last-Translator: I Robot \n" -"Language-Team: Vietnamese (http://www.transifex.com/projects/p/owncloud/language/vi/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: vi\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: ajax/addressbook/activate.php:24 ajax/addressbook/update.php:32 -msgid "Error (de)activating addressbook." -msgstr "" - -#: ajax/addressbook/delete.php:31 ajax/addressbook/update.php:20 -#: ajax/contact/addproperty.php:42 ajax/contact/delete.php:32 -#: ajax/contact/saveproperty.php:39 -msgid "id is not set." -msgstr "id không được thiết lập." - -#: ajax/addressbook/update.php:24 -msgid "Cannot update addressbook with an empty name." -msgstr "" - -#: ajax/addressbook/update.php:28 -msgid "Error updating addressbook." -msgstr "" - -#: ajax/categories/categoriesfor.php:17 -msgid "No ID provided" -msgstr "Không có ID được cung cấp" - -#: ajax/categories/categoriesfor.php:34 -msgid "Error setting checksum." -msgstr "" - -#: ajax/categories/delete.php:19 -msgid "No categories selected for deletion." -msgstr "" - -#: ajax/categories/delete.php:26 -msgid "No address books found." -msgstr "Không tìm thấy sổ địa chỉ." - -#: ajax/categories/delete.php:34 -msgid "No contacts found." -msgstr "Không tìm thấy danh sách" - -#: ajax/contact/add.php:47 -msgid "There was an error adding the contact." -msgstr "" - -#: ajax/contact/addproperty.php:39 ajax/contact/saveproperty.php:36 -msgid "element name is not set." -msgstr "tên phần tử không được thiết lập." - -#: ajax/contact/addproperty.php:46 -msgid "Could not parse contact: " -msgstr "" - -#: ajax/contact/addproperty.php:56 -msgid "Cannot add empty property." -msgstr "" - -#: ajax/contact/addproperty.php:67 -msgid "At least one of the address fields has to be filled out." -msgstr "" - -#: ajax/contact/addproperty.php:76 -msgid "Trying to add duplicate property: " -msgstr "" - -#: ajax/contact/addproperty.php:115 ajax/contact/saveproperty.php:93 -msgid "Missing IM parameter." -msgstr "" - -#: ajax/contact/addproperty.php:119 ajax/contact/saveproperty.php:97 -msgid "Unknown IM: " -msgstr "" - -#: ajax/contact/deleteproperty.php:37 -msgid "Information about vCard is incorrect. Please reload the page." -msgstr "" - -#: ajax/contact/details.php:31 -msgid "Missing ID" -msgstr "Missing ID" - -#: ajax/contact/details.php:36 -msgid "Error parsing VCard for ID: \"" -msgstr "" - -#: ajax/contact/saveproperty.php:42 -msgid "checksum is not set." -msgstr "" - -#: ajax/contact/saveproperty.php:62 -msgid "Information about vCard is incorrect. Please reload the page: " -msgstr "" - -#: ajax/contact/saveproperty.php:69 -msgid "Something went FUBAR. " -msgstr "" - -#: ajax/currentphoto.php:30 ajax/oc_photo.php:28 ajax/uploadphoto.php:36 -#: ajax/uploadphoto.php:68 -msgid "No contact ID was submitted." -msgstr "" - -#: ajax/currentphoto.php:36 -msgid "Error reading contact photo." -msgstr "Lỗi đọc liên lạc hình ảnh." - -#: ajax/currentphoto.php:48 -msgid "Error saving temporary file." -msgstr "" - -#: ajax/currentphoto.php:51 -msgid "The loading photo is not valid." -msgstr "Các hình ảnh tải không hợp lệ." - -#: ajax/editname.php:31 -msgid "Contact ID is missing." -msgstr "" - -#: ajax/oc_photo.php:32 -msgid "No photo path was submitted." -msgstr "" - -#: ajax/oc_photo.php:39 -msgid "File doesn't exist:" -msgstr "Tập tin không tồn tại" - -#: ajax/oc_photo.php:44 ajax/oc_photo.php:47 -msgid "Error loading image." -msgstr "Lỗi khi tải hình ảnh." - -#: ajax/savecrop.php:69 -msgid "Error getting contact object." -msgstr "" - -#: ajax/savecrop.php:79 -msgid "Error getting PHOTO property." -msgstr "" - -#: ajax/savecrop.php:98 -msgid "Error saving contact." -msgstr "" - -#: ajax/savecrop.php:109 -msgid "Error resizing image" -msgstr "" - -#: ajax/savecrop.php:112 -msgid "Error cropping image" -msgstr "" - -#: ajax/savecrop.php:115 -msgid "Error creating temporary image" -msgstr "" - -#: ajax/savecrop.php:118 -msgid "Error finding image: " -msgstr "" - -#: ajax/uploadimport.php:44 ajax/uploadimport.php:76 -msgid "Error uploading contacts to storage." -msgstr "Lỗi tải lên danh sách địa chỉ để lưu trữ." - -#: ajax/uploadimport.php:61 ajax/uploadphoto.php:77 -msgid "There is no error, the file uploaded with success" -msgstr "Không có lỗi, các tập tin tải lên thành công" - -#: ajax/uploadimport.php:62 ajax/uploadphoto.php:78 -msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" -msgstr "" - -#: ajax/uploadimport.php:63 ajax/uploadphoto.php:79 -msgid "" -"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " -"the HTML form" -msgstr "" - -#: ajax/uploadimport.php:64 ajax/uploadphoto.php:80 -msgid "The uploaded file was only partially uploaded" -msgstr "" - -#: ajax/uploadimport.php:65 ajax/uploadphoto.php:81 -msgid "No file was uploaded" -msgstr "" - -#: ajax/uploadimport.php:66 ajax/uploadphoto.php:82 -msgid "Missing a temporary folder" -msgstr "" - -#: ajax/uploadphoto.php:59 ajax/uploadphoto.php:109 -msgid "Couldn't save temporary image: " -msgstr "" - -#: ajax/uploadphoto.php:62 ajax/uploadphoto.php:112 -msgid "Couldn't load temporary image: " -msgstr "" - -#: ajax/uploadphoto.php:71 -msgid "No file was uploaded. Unknown error" -msgstr "" - -#: appinfo/app.php:21 -msgid "Contacts" -msgstr "Liên lạc" - -#: js/contacts.js:71 -msgid "Sorry, this functionality has not been implemented yet" -msgstr "" - -#: js/contacts.js:71 -msgid "Not implemented" -msgstr "" - -#: js/contacts.js:76 -msgid "Couldn't get a valid address." -msgstr "" - -#: js/contacts.js:76 js/contacts.js:365 js/contacts.js:381 js/contacts.js:393 -#: js/contacts.js:723 js/contacts.js:763 js/contacts.js:789 js/contacts.js:921 -#: js/contacts.js:927 js/contacts.js:939 js/contacts.js:976 -#: js/contacts.js:1250 js/contacts.js:1258 js/contacts.js:1267 -#: js/contacts.js:1302 js/contacts.js:1338 js/contacts.js:1353 -#: js/contacts.js:1379 js/contacts.js:1609 js/contacts.js:1644 -#: js/contacts.js:1664 js/settings.js:26 js/settings.js:43 js/settings.js:68 -msgid "Error" -msgstr "" - -#: js/contacts.js:424 -msgid "You do not have permission to add contacts to " -msgstr "" - -#: js/contacts.js:425 -msgid "Please select one of your own address books." -msgstr "" - -#: js/contacts.js:425 -msgid "Permission error" -msgstr "" - -#: js/contacts.js:763 -msgid "This property has to be non-empty." -msgstr "" - -#: js/contacts.js:789 -msgid "Couldn't serialize elements." -msgstr "" - -#: js/contacts.js:921 js/contacts.js:939 -msgid "" -"'deleteProperty' called without type argument. Please report at " -"bugs.owncloud.org" -msgstr "" - -#: js/contacts.js:958 -msgid "Edit name" -msgstr "" - -#: js/contacts.js:1250 -msgid "No files selected for upload." -msgstr "" - -#: js/contacts.js:1258 -msgid "" -"The file you are trying to upload exceed the maximum size for file uploads " -"on this server." -msgstr "" - -#: js/contacts.js:1322 -msgid "Error loading profile picture." -msgstr "" - -#: js/contacts.js:1457 js/contacts.js:1498 js/contacts.js:1517 -#: js/contacts.js:1560 -msgid "Select type" -msgstr "" - -#: js/contacts.js:1578 -msgid "" -"Some contacts are marked for deletion, but not deleted yet. Please wait for " -"them to be deleted." -msgstr "" - -#: js/contacts.js:1649 -msgid "Do you want to merge these address books?" -msgstr "" - -#: js/loader.js:49 -msgid "Result: " -msgstr "" - -#: js/loader.js:49 -msgid " imported, " -msgstr "" - -#: js/loader.js:49 -msgid " failed." -msgstr "" - -#: js/settings.js:68 -msgid "Displayname cannot be empty." -msgstr "" - -#: lib/app.php:36 -msgid "Addressbook not found: " -msgstr "" - -#: lib/app.php:52 -msgid "This is not your addressbook." -msgstr "" - -#: lib/app.php:71 -msgid "Contact could not be found." -msgstr "" - -#: lib/app.php:116 -msgid "Jabber" -msgstr "" - -#: lib/app.php:121 -msgid "AIM" -msgstr "" - -#: lib/app.php:126 -msgid "MSN" -msgstr "" - -#: lib/app.php:131 -msgid "Twitter" -msgstr "" - -#: lib/app.php:136 -msgid "GoogleTalk" -msgstr "" - -#: lib/app.php:141 -msgid "Facebook" -msgstr "" - -#: lib/app.php:146 -msgid "XMPP" -msgstr "" - -#: lib/app.php:151 -msgid "ICQ" -msgstr "" - -#: lib/app.php:156 -msgid "Yahoo" -msgstr "" - -#: lib/app.php:161 -msgid "Skype" -msgstr "" - -#: lib/app.php:166 -msgid "QQ" -msgstr "" - -#: lib/app.php:171 -msgid "GaduGadu" -msgstr "" - -#: lib/app.php:194 lib/app.php:202 lib/app.php:213 lib/app.php:266 -msgid "Work" -msgstr "Công việc" - -#: lib/app.php:195 lib/app.php:200 lib/app.php:214 -msgid "Home" -msgstr "Nhà" - -#: lib/app.php:196 lib/app.php:209 lib/app.php:262 lib/vcard.php:593 -msgid "Other" -msgstr "" - -#: lib/app.php:201 -msgid "Mobile" -msgstr "Di động" - -#: lib/app.php:203 -msgid "Text" -msgstr "" - -#: lib/app.php:204 -msgid "Voice" -msgstr "" - -#: lib/app.php:205 -msgid "Message" -msgstr "" - -#: lib/app.php:206 -msgid "Fax" -msgstr "Fax" - -#: lib/app.php:207 -msgid "Video" -msgstr "Video" - -#: lib/app.php:208 -msgid "Pager" -msgstr "số trang" - -#: lib/app.php:215 -msgid "Internet" -msgstr "" - -#: lib/app.php:252 templates/part.contact.php:45 -#: templates/part.contact.php:128 -msgid "Birthday" -msgstr "Ngày sinh nhật" - -#: lib/app.php:253 -msgid "Business" -msgstr "" - -#: lib/app.php:254 -msgid "Call" -msgstr "" - -#: lib/app.php:255 -msgid "Clients" -msgstr "" - -#: lib/app.php:256 -msgid "Deliverer" -msgstr "" - -#: lib/app.php:257 -msgid "Holidays" -msgstr "" - -#: lib/app.php:258 -msgid "Ideas" -msgstr "" - -#: lib/app.php:259 -msgid "Journey" -msgstr "" - -#: lib/app.php:260 -msgid "Jubilee" -msgstr "" - -#: lib/app.php:261 -msgid "Meeting" -msgstr "" - -#: lib/app.php:263 -msgid "Personal" -msgstr "" - -#: lib/app.php:264 -msgid "Projects" -msgstr "" - -#: lib/app.php:265 -msgid "Questions" -msgstr "" - -#: lib/hooks.php:102 -msgid "{name}'s Birthday" -msgstr "" - -#: lib/search.php:15 -msgid "Contact" -msgstr "Danh sách" - -#: lib/vcard.php:408 -msgid "You do not have the permissions to edit this contact." -msgstr "" - -#: lib/vcard.php:483 -msgid "You do not have the permissions to delete this contact." -msgstr "" - -#: templates/index.php:14 -msgid "Add Contact" -msgstr "Thêm liên lạc" - -#: templates/index.php:15 templates/index.php:16 templates/part.import.php:17 -msgid "Import" -msgstr "" - -#: templates/index.php:18 -msgid "Settings" -msgstr "" - -#: templates/index.php:18 templates/settings.php:9 -msgid "Addressbooks" -msgstr "Sổ địa chỉ" - -#: templates/index.php:36 templates/part.import.php:24 -msgid "Close" -msgstr "" - -#: templates/index.php:37 -msgid "Keyboard shortcuts" -msgstr "" - -#: templates/index.php:39 -msgid "Navigation" -msgstr "" - -#: templates/index.php:42 -msgid "Next contact in list" -msgstr "" - -#: templates/index.php:44 -msgid "Previous contact in list" -msgstr "" - -#: templates/index.php:46 -msgid "Expand/collapse current addressbook" -msgstr "" - -#: templates/index.php:48 -msgid "Next addressbook" -msgstr "" - -#: templates/index.php:50 -msgid "Previous addressbook" -msgstr "" - -#: templates/index.php:54 -msgid "Actions" -msgstr "" - -#: templates/index.php:57 -msgid "Refresh contacts list" -msgstr "" - -#: templates/index.php:59 -msgid "Add new contact" -msgstr "" - -#: templates/index.php:61 -msgid "Add new addressbook" -msgstr "" - -#: templates/index.php:63 -msgid "Delete current contact" -msgstr "" - -#: templates/part.contact.php:17 -msgid "Drop photo to upload" -msgstr "" - -#: templates/part.contact.php:19 -msgid "Delete current photo" -msgstr "" - -#: templates/part.contact.php:20 -msgid "Edit current photo" -msgstr "" - -#: templates/part.contact.php:21 -msgid "Upload new photo" -msgstr "" - -#: templates/part.contact.php:22 -msgid "Select photo from ownCloud" -msgstr "" - -#: templates/part.contact.php:35 -msgid "Format custom, Short name, Full name, Reverse or Reverse with comma" -msgstr "" - -#: templates/part.contact.php:36 -msgid "Edit name details" -msgstr "" - -#: templates/part.contact.php:39 templates/part.contact.php:40 -#: templates/part.contact.php:126 -msgid "Organization" -msgstr "Tổ chức" - -#: templates/part.contact.php:40 templates/part.contact.php:42 -#: templates/part.contact.php:44 templates/part.contact.php:46 -#: templates/part.contact.php:50 templates/settings.php:36 -msgid "Delete" -msgstr "Xóa" - -#: templates/part.contact.php:41 templates/part.contact.php:127 -msgid "Nickname" -msgstr "" - -#: templates/part.contact.php:42 -msgid "Enter nickname" -msgstr "" - -#: templates/part.contact.php:43 templates/part.contact.php:134 -msgid "Web site" -msgstr "" - -#: templates/part.contact.php:44 -msgid "http://www.somesite.com" -msgstr "" - -#: templates/part.contact.php:44 -msgid "Go to web site" -msgstr "" - -#: templates/part.contact.php:46 -msgid "dd-mm-yyyy" -msgstr "" - -#: templates/part.contact.php:47 templates/part.contact.php:135 -msgid "Groups" -msgstr "" - -#: templates/part.contact.php:49 -msgid "Separate groups with commas" -msgstr "" - -#: templates/part.contact.php:50 -msgid "Edit groups" -msgstr "" - -#: templates/part.contact.php:59 templates/part.contact.php:73 -#: templates/part.contact.php:98 -msgid "Preferred" -msgstr "" - -#: templates/part.contact.php:60 -msgid "Please specify a valid email address." -msgstr "" - -#: templates/part.contact.php:60 -msgid "Enter email address" -msgstr "" - -#: templates/part.contact.php:64 -msgid "Mail to address" -msgstr "" - -#: templates/part.contact.php:65 -msgid "Delete email address" -msgstr "" - -#: templates/part.contact.php:75 -msgid "Enter phone number" -msgstr "" - -#: templates/part.contact.php:79 -msgid "Delete phone number" -msgstr "" - -#: templates/part.contact.php:100 -msgid "Instant Messenger" -msgstr "" - -#: templates/part.contact.php:101 -msgid "Delete IM" -msgstr "" - -#: templates/part.contact.php:110 -msgid "View on map" -msgstr "" - -#: templates/part.contact.php:110 -msgid "Edit address details" -msgstr "" - -#: templates/part.contact.php:116 -msgid "Add notes here." -msgstr "" - -#: templates/part.contact.php:124 -msgid "Add field" -msgstr "" - -#: templates/part.contact.php:129 -msgid "Phone" -msgstr "Điện thoại" - -#: templates/part.contact.php:130 -msgid "Email" -msgstr "Email" - -#: templates/part.contact.php:131 -msgid "Instant Messaging" -msgstr "" - -#: templates/part.contact.php:132 -msgid "Address" -msgstr "Địa chỉ" - -#: templates/part.contact.php:133 -msgid "Note" -msgstr "" - -#: templates/part.contact.php:138 -msgid "Download contact" -msgstr "" - -#: templates/part.contact.php:139 -msgid "Delete contact" -msgstr "Xóa liên lạc" - -#: templates/part.cropphoto.php:65 -msgid "The temporary image has been removed from cache." -msgstr "" - -#: templates/part.edit_address_dialog.php:6 -msgid "Edit address" -msgstr "" - -#: templates/part.edit_address_dialog.php:10 -msgid "Type" -msgstr "" - -#: templates/part.edit_address_dialog.php:18 -#: templates/part.edit_address_dialog.php:21 -msgid "PO Box" -msgstr "Hòm thư bưu điện" - -#: templates/part.edit_address_dialog.php:24 -msgid "Street address" -msgstr "" - -#: templates/part.edit_address_dialog.php:27 -msgid "Street and number" -msgstr "" - -#: templates/part.edit_address_dialog.php:30 -msgid "Extended" -msgstr "" - -#: templates/part.edit_address_dialog.php:33 -msgid "Apartment number etc." -msgstr "" - -#: templates/part.edit_address_dialog.php:36 -#: templates/part.edit_address_dialog.php:39 -msgid "City" -msgstr "Thành phố" - -#: templates/part.edit_address_dialog.php:42 -msgid "Region" -msgstr "Vùng/miền" - -#: templates/part.edit_address_dialog.php:45 -msgid "E.g. state or province" -msgstr "" - -#: templates/part.edit_address_dialog.php:48 -msgid "Zipcode" -msgstr "Mã bưu điện" - -#: templates/part.edit_address_dialog.php:51 -msgid "Postal code" -msgstr "" - -#: templates/part.edit_address_dialog.php:54 -#: templates/part.edit_address_dialog.php:57 -msgid "Country" -msgstr "Quốc gia" - -#: templates/part.edit_name_dialog.php:16 -msgid "Addressbook" -msgstr "Sổ địa chỉ" - -#: templates/part.edit_name_dialog.php:23 -msgid "Hon. prefixes" -msgstr "" - -#: templates/part.edit_name_dialog.php:27 -msgid "Miss" -msgstr "" - -#: templates/part.edit_name_dialog.php:28 -msgid "Ms" -msgstr "" - -#: templates/part.edit_name_dialog.php:29 -msgid "Mr" -msgstr "" - -#: templates/part.edit_name_dialog.php:30 -msgid "Sir" -msgstr "" - -#: templates/part.edit_name_dialog.php:31 -msgid "Mrs" -msgstr "" - -#: templates/part.edit_name_dialog.php:32 -msgid "Dr" -msgstr "" - -#: templates/part.edit_name_dialog.php:35 -msgid "Given name" -msgstr "" - -#: templates/part.edit_name_dialog.php:37 -msgid "Additional names" -msgstr "" - -#: templates/part.edit_name_dialog.php:39 -msgid "Family name" -msgstr "" - -#: templates/part.edit_name_dialog.php:41 -msgid "Hon. suffixes" -msgstr "" - -#: templates/part.edit_name_dialog.php:45 -msgid "J.D." -msgstr "" - -#: templates/part.edit_name_dialog.php:46 -msgid "M.D." -msgstr "" - -#: templates/part.edit_name_dialog.php:47 -msgid "D.O." -msgstr "" - -#: templates/part.edit_name_dialog.php:48 -msgid "D.C." -msgstr "" - -#: templates/part.edit_name_dialog.php:49 -msgid "Ph.D." -msgstr "" - -#: templates/part.edit_name_dialog.php:50 -msgid "Esq." -msgstr "" - -#: templates/part.edit_name_dialog.php:51 -msgid "Jr." -msgstr "" - -#: templates/part.edit_name_dialog.php:52 -msgid "Sn." -msgstr "" - -#: templates/part.import.php:1 -msgid "Import a contacts file" -msgstr "" - -#: templates/part.import.php:6 -msgid "Please choose the addressbook" -msgstr "" - -#: templates/part.import.php:10 -msgid "create a new addressbook" -msgstr "" - -#: templates/part.import.php:15 -msgid "Name of new addressbook" -msgstr "" - -#: templates/part.import.php:20 -msgid "Importing contacts" -msgstr "" - -#: templates/part.no_contacts.php:3 -msgid "You have no contacts in your addressbook." -msgstr "" - -#: templates/part.no_contacts.php:5 -msgid "Add contact" -msgstr "" - -#: templates/part.selectaddressbook.php:1 -msgid "Select Address Books" -msgstr "" - -#: templates/part.selectaddressbook.php:27 -msgid "Enter name" -msgstr "" - -#: templates/part.selectaddressbook.php:29 -msgid "Enter description" -msgstr "" - -#: templates/settings.php:3 -msgid "CardDAV syncing addresses" -msgstr "" - -#: templates/settings.php:3 -msgid "more info" -msgstr "" - -#: templates/settings.php:5 -msgid "Primary address (Kontact et al)" -msgstr "" - -#: templates/settings.php:7 -msgid "iOS/OS X" -msgstr "" - -#: templates/settings.php:20 -msgid "Show CardDav link" -msgstr "" - -#: templates/settings.php:23 -msgid "Show read-only VCF link" -msgstr "" - -#: templates/settings.php:26 -msgid "Share" -msgstr "" - -#: templates/settings.php:29 -msgid "Download" -msgstr "Tải về" - -#: templates/settings.php:33 -msgid "Edit" -msgstr "Sửa" - -#: templates/settings.php:43 -msgid "New Address Book" -msgstr "" - -#: templates/settings.php:44 -msgid "Name" -msgstr "" - -#: templates/settings.php:45 -msgid "Description" -msgstr "" - -#: templates/settings.php:46 -msgid "Save" -msgstr "Lưu" - -#: templates/settings.php:47 -msgid "Cancel" -msgstr "Hủy" - -#: templates/settings.php:52 -msgid "More..." -msgstr "" diff --git a/l10n/vi/core.po b/l10n/vi/core.po index 83429ba958ab6336b6fc2b4943cc32ae52540e66..6c220328a1863fb6c89317c0ee4e50abf69694d6 100644 --- a/l10n/vi/core.po +++ b/l10n/vi/core.po @@ -3,14 +3,18 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# , 2012. +# , 2012. +# , 2012. # Son Nguyen , 2012. +# Sơn Nguyễn , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-16 02:04+0200\n" -"PO-Revision-Date: 2012-10-16 00:05+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-11-21 00:01+0100\n" +"PO-Revision-Date: 2012-11-20 05:31+0000\n" +"Last-Translator: mattheu_9x \n" "Language-Team: Vietnamese (http://www.transifex.com/projects/p/owncloud/language/vi/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -18,209 +22,241 @@ msgstr "" "Language: vi\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: ajax/vcategories/add.php:23 ajax/vcategories/delete.php:23 -msgid "Application name not provided." -msgstr "Tên ứng dụng không tồn tại" +#: ajax/vcategories/add.php:26 ajax/vcategories/edit.php:25 +msgid "Category type not provided." +msgstr "Kiểu hạng mục không được cung cấp." -#: ajax/vcategories/add.php:29 +#: ajax/vcategories/add.php:30 msgid "No category to add?" msgstr "Không có danh mục được thêm?" -#: ajax/vcategories/add.php:36 +#: ajax/vcategories/add.php:37 msgid "This category already exists: " msgstr "Danh mục này đã được tạo :" -#: js/js.js:238 templates/layout.user.php:49 templates/layout.user.php:50 +#: ajax/vcategories/addToFavorites.php:26 ajax/vcategories/delete.php:27 +#: ajax/vcategories/favorites.php:24 +#: ajax/vcategories/removeFromFavorites.php:26 +msgid "Object type not provided." +msgstr "Loại đối tượng không được cung cấp." + +#: ajax/vcategories/addToFavorites.php:30 +#: ajax/vcategories/removeFromFavorites.php:30 +#, php-format +msgid "%s ID not provided." +msgstr "%s ID không được cung cấp." + +#: ajax/vcategories/addToFavorites.php:35 +#, php-format +msgid "Error adding %s to favorites." +msgstr "Lỗi thêm %s vào mục yêu thích." + +#: ajax/vcategories/delete.php:35 js/oc-vcategories.js:136 +msgid "No categories selected for deletion." +msgstr "Không có thể loại nào được chọn để xóa." + +#: ajax/vcategories/removeFromFavorites.php:35 +#, php-format +msgid "Error removing %s from favorites." +msgstr "Lỗi xóa %s từ mục yêu thích." + +#: js/js.js:259 templates/layout.user.php:60 templates/layout.user.php:61 msgid "Settings" msgstr "Cài đặt" -#: js/js.js:670 -msgid "January" -msgstr "Tháng 1" +#: js/js.js:704 +msgid "seconds ago" +msgstr "vài giây trước" -#: js/js.js:670 -msgid "February" -msgstr "Tháng 2" +#: js/js.js:705 +msgid "1 minute ago" +msgstr "1 phút trước" -#: js/js.js:670 -msgid "March" -msgstr "Tháng 3" +#: js/js.js:706 +msgid "{minutes} minutes ago" +msgstr "{minutes} phút trước" -#: js/js.js:670 -msgid "April" -msgstr "Tháng 4" +#: js/js.js:707 +msgid "1 hour ago" +msgstr "1 giờ trước" -#: js/js.js:670 -msgid "May" -msgstr "Tháng 5" +#: js/js.js:708 +msgid "{hours} hours ago" +msgstr "{hours} giờ trước" -#: js/js.js:670 -msgid "June" -msgstr "Tháng 6" +#: js/js.js:709 +msgid "today" +msgstr "hôm nay" -#: js/js.js:671 -msgid "July" -msgstr "Tháng 7" +#: js/js.js:710 +msgid "yesterday" +msgstr "hôm qua" -#: js/js.js:671 -msgid "August" -msgstr "Tháng 8" +#: js/js.js:711 +msgid "{days} days ago" +msgstr "{days} ngày trước" -#: js/js.js:671 -msgid "September" -msgstr "Tháng 9" +#: js/js.js:712 +msgid "last month" +msgstr "tháng trước" -#: js/js.js:671 -msgid "October" -msgstr "Tháng 10" +#: js/js.js:713 +msgid "{months} months ago" +msgstr "{months} tháng trước" -#: js/js.js:671 -msgid "November" -msgstr "Tháng 11" +#: js/js.js:714 +msgid "months ago" +msgstr "tháng trước" -#: js/js.js:671 -msgid "December" -msgstr "Tháng 12" +#: js/js.js:715 +msgid "last year" +msgstr "năm trước" + +#: js/js.js:716 +msgid "years ago" +msgstr "năm trước" -#: js/oc-dialogs.js:123 +#: js/oc-dialogs.js:126 msgid "Choose" -msgstr "" +msgstr "Chọn" -#: js/oc-dialogs.js:143 js/oc-dialogs.js:163 +#: js/oc-dialogs.js:146 js/oc-dialogs.js:166 msgid "Cancel" msgstr "Hủy" -#: js/oc-dialogs.js:159 +#: js/oc-dialogs.js:162 msgid "No" -msgstr "No" +msgstr "Không" -#: js/oc-dialogs.js:160 +#: js/oc-dialogs.js:163 msgid "Yes" -msgstr "Yes" +msgstr "Có" -#: js/oc-dialogs.js:177 +#: js/oc-dialogs.js:180 msgid "Ok" -msgstr "Ok" +msgstr "Đồng ý" -#: js/oc-vcategories.js:68 -msgid "No categories selected for deletion." -msgstr "Không có thể loại nào được chọn để xóa." +#: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102 +#: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162 +msgid "The object type is not specified." +msgstr "Loại đối tượng không được chỉ định." -#: js/oc-vcategories.js:68 js/share.js:114 js/share.js:121 js/share.js:497 -#: js/share.js:509 +#: js/oc-vcategories.js:95 js/oc-vcategories.js:125 js/oc-vcategories.js:136 +#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:527 +#: js/share.js:539 msgid "Error" msgstr "Lỗi" -#: js/share.js:103 +#: js/oc-vcategories.js:179 +msgid "The app name is not specified." +msgstr "Tên ứng dụng không được chỉ định." + +#: js/oc-vcategories.js:194 +msgid "The required file {file} is not installed!" +msgstr "Tập tin cần thiết {file} không được cài đặt!" + +#: js/share.js:124 msgid "Error while sharing" -msgstr "" +msgstr "Lỗi trong quá trình chia sẻ" -#: js/share.js:114 +#: js/share.js:135 msgid "Error while unsharing" -msgstr "" +msgstr "Lỗi trong quá trình gỡ chia sẻ" -#: js/share.js:121 +#: js/share.js:142 msgid "Error while changing permissions" -msgstr "" - -#: js/share.js:130 -msgid "Shared with you and the group" -msgstr "" +msgstr "Lỗi trong quá trình phân quyền" -#: js/share.js:130 -msgid "by" -msgstr "" +#: js/share.js:151 +msgid "Shared with you and the group {group} by {owner}" +msgstr "Đã được chia sẽ với bạn và nhóm {group} bởi {owner}" -#: js/share.js:132 -msgid "Shared with you by" -msgstr "" +#: js/share.js:153 +msgid "Shared with you by {owner}" +msgstr "Đã được chia sẽ bởi {owner}" -#: js/share.js:137 +#: js/share.js:158 msgid "Share with" -msgstr "" +msgstr "Chia sẻ với" -#: js/share.js:142 +#: js/share.js:163 msgid "Share with link" -msgstr "" +msgstr "Chia sẻ với liên kết" -#: js/share.js:143 +#: js/share.js:164 msgid "Password protect" -msgstr "" +msgstr "Mật khẩu bảo vệ" -#: js/share.js:147 templates/installation.php:42 templates/login.php:24 +#: js/share.js:168 templates/installation.php:42 templates/login.php:24 #: templates/verify.php:13 msgid "Password" msgstr "Mật khẩu" -#: js/share.js:152 +#: js/share.js:173 msgid "Set expiration date" -msgstr "" +msgstr "Đặt ngày kết thúc" -#: js/share.js:153 +#: js/share.js:174 msgid "Expiration date" -msgstr "" +msgstr "Ngày kết thúc" -#: js/share.js:185 +#: js/share.js:206 msgid "Share via email:" -msgstr "" +msgstr "Chia sẻ thông qua email" -#: js/share.js:187 +#: js/share.js:208 msgid "No people found" -msgstr "" +msgstr "Không tìm thấy người nào" -#: js/share.js:214 +#: js/share.js:235 msgid "Resharing is not allowed" -msgstr "" - -#: js/share.js:250 -msgid "Shared in" -msgstr "" - -#: js/share.js:250 -msgid "with" -msgstr "" +msgstr "Chia sẻ lại không được cho phép" #: js/share.js:271 +msgid "Shared in {item} with {user}" +msgstr "Đã được chia sẽ trong {item} với {user}" + +#: js/share.js:292 msgid "Unshare" -msgstr "" +msgstr "Gỡ bỏ chia sẻ" -#: js/share.js:283 +#: js/share.js:304 msgid "can edit" -msgstr "" +msgstr "có thể chỉnh sửa" -#: js/share.js:285 +#: js/share.js:306 msgid "access control" -msgstr "" +msgstr "quản lý truy cập" -#: js/share.js:288 +#: js/share.js:309 msgid "create" -msgstr "" +msgstr "tạo" -#: js/share.js:291 +#: js/share.js:312 msgid "update" -msgstr "" +msgstr "cập nhật" -#: js/share.js:294 +#: js/share.js:315 msgid "delete" -msgstr "" +msgstr "xóa" -#: js/share.js:297 +#: js/share.js:318 msgid "share" -msgstr "" +msgstr "chia sẻ" -#: js/share.js:322 js/share.js:484 +#: js/share.js:343 js/share.js:514 js/share.js:516 msgid "Password protected" -msgstr "" +msgstr "Mật khẩu bảo vệ" -#: js/share.js:497 +#: js/share.js:527 msgid "Error unsetting expiration date" -msgstr "" +msgstr "Lỗi không thiết lập ngày kết thúc" -#: js/share.js:509 +#: js/share.js:539 msgid "Error setting expiration date" -msgstr "" +msgstr "Lỗi cấu hình ngày kết thúc" -#: lostpassword/index.php:26 +#: lostpassword/controller.php:47 msgid "ownCloud password reset" msgstr "Khôi phục mật khẩu Owncloud " @@ -233,12 +269,12 @@ msgid "You will receive a link to reset your password via Email." msgstr "Vui lòng kiểm tra Email để khôi phục lại mật khẩu." #: lostpassword/templates/lostpassword.php:5 -msgid "Requested" -msgstr "Yêu cầu" +msgid "Reset email send." +msgstr "Thiết lập lại email gởi." #: lostpassword/templates/lostpassword.php:8 -msgid "Login failed!" -msgstr "Bạn đã nhập sai mật khẩu hay tên người dùng !" +msgid "Request failed!" +msgstr "Yêu cầu của bạn không thành công !" #: lostpassword/templates/lostpassword.php:11 templates/installation.php:38 #: templates/login.php:20 @@ -287,7 +323,7 @@ msgstr "Giúp đỡ" #: templates/403.php:12 msgid "Access forbidden" -msgstr "Truy cập bị cấm " +msgstr "Truy cập bị cấm" #: templates/404.php:12 msgid "Cloud not found" @@ -297,25 +333,25 @@ msgstr "Không tìm thấy Clound" msgid "Edit categories" msgstr "Sửa thể loại" -#: templates/edit_categories_dialog.php:14 +#: templates/edit_categories_dialog.php:16 msgid "Add" msgstr "Thêm" #: templates/installation.php:23 templates/installation.php:31 msgid "Security Warning" -msgstr "" +msgstr "Cảnh bảo bảo mật" #: templates/installation.php:24 msgid "" "No secure random number generator is available, please enable the PHP " "OpenSSL extension." -msgstr "" +msgstr "Không an toàn ! chức năng random number generator đã có sẵn ,vui lòng bật PHP OpenSSL extension." #: templates/installation.php:26 msgid "" "Without a secure random number generator an attacker may be able to predict " "password reset tokens and take over your account." -msgstr "" +msgstr "Nếu không có random number generator , Hacker có thể thiết lập lại mật khẩu và chiếm tài khoản của bạn." #: templates/installation.php:32 msgid "" @@ -324,7 +360,7 @@ msgid "" "strongly suggest that you configure your webserver in a way that the data " "directory is no longer accessible or you move the data directory outside the" " webserver document root." -msgstr "" +msgstr "Thư mục dữ liệu và những tập tin của bạn có thể dễ dàng bị truy cập từ mạng. Tập tin .htaccess do ownCloud cung cấp không hoạt động. Chúng tôi đề nghị bạn nên cấu hình lại máy chủ web để thư mục dữ liệu không còn bị truy cập hoặc bạn nên di chuyển thư mục dữ liệu ra bên ngoài thư mục gốc của máy chủ." #: templates/installation.php:36 msgid "Create an admin account" @@ -340,7 +376,7 @@ msgstr "Thư mục dữ liệu" #: templates/installation.php:57 msgid "Configure the database" -msgstr "Cấu hình Cơ Sở Dữ Liệu" +msgstr "Cấu hình cơ sở dữ liệu" #: templates/installation.php:62 templates/installation.php:73 #: templates/installation.php:83 templates/installation.php:93 @@ -361,7 +397,7 @@ msgstr "Tên cơ sở dữ liệu" #: templates/installation.php:121 msgid "Database tablespace" -msgstr "" +msgstr "Cơ sở dữ liệu tablespace" #: templates/installation.php:127 msgid "Database host" @@ -371,27 +407,103 @@ msgstr "Database host" msgid "Finish setup" msgstr "Cài đặt hoàn tất" -#: templates/layout.guest.php:38 +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Sunday" +msgstr "Chủ nhật" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Monday" +msgstr "Thứ 2" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Tuesday" +msgstr "Thứ 3" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Wednesday" +msgstr "Thứ 4" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Thursday" +msgstr "Thứ 5" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Friday" +msgstr "Thứ " + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Saturday" +msgstr "Thứ 7" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "January" +msgstr "Tháng 1" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "February" +msgstr "Tháng 2" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "March" +msgstr "Tháng 3" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "April" +msgstr "Tháng 4" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "May" +msgstr "Tháng 5" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "June" +msgstr "Tháng 6" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "July" +msgstr "Tháng 7" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "August" +msgstr "Tháng 8" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "September" +msgstr "Tháng 9" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "October" +msgstr "Tháng 10" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "November" +msgstr "Tháng 11" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "December" +msgstr "Tháng 12" + +#: templates/layout.guest.php:42 msgid "web services under your control" msgstr "các dịch vụ web dưới sự kiểm soát của bạn" -#: templates/layout.user.php:34 +#: templates/layout.user.php:45 msgid "Log out" msgstr "Đăng xuất" #: templates/login.php:8 msgid "Automatic logon rejected!" -msgstr "" +msgstr "Tự động đăng nhập đã bị từ chối !" #: templates/login.php:9 msgid "" "If you did not change your password recently, your account may be " "compromised!" -msgstr "" +msgstr "Nếu bạn không thay đổi mật khẩu gần đây của bạn, tài khoản của bạn có thể gặp nguy hiểm!" #: templates/login.php:10 msgid "Please change your password to secure your account again." -msgstr "" +msgstr "Vui lòng thay đổi mật khẩu của bạn để đảm bảo tài khoản của bạn một lần nữa." #: templates/login.php:15 msgid "Lost your password?" @@ -399,7 +511,7 @@ msgstr "Bạn quên mật khẩu ?" #: templates/login.php:27 msgid "remember" -msgstr "Nhớ" +msgstr "ghi nhớ" #: templates/login.php:28 msgid "Log in" @@ -419,14 +531,14 @@ msgstr "Kế tiếp" #: templates/verify.php:5 msgid "Security Warning!" -msgstr "" +msgstr "Cảnh báo bảo mật !" #: templates/verify.php:6 msgid "" "Please verify your password.
For security reasons you may be " "occasionally asked to enter your password again." -msgstr "" +msgstr "Vui lòng xác nhận mật khẩu của bạn.
Vì lý do bảo mật thỉnh thoảng bạn có thể được yêu cầu nhập lại mật khẩu." #: templates/verify.php:16 msgid "Verify" -msgstr "" +msgstr "Kiểm tra" diff --git a/l10n/vi/files.po b/l10n/vi/files.po index 70e04f13f74bbf713a898279a058b3b5bc0a3fb6..2427e237dee778fc17f2e3c1178321ebf38ff929 100644 --- a/l10n/vi/files.po +++ b/l10n/vi/files.po @@ -3,15 +3,17 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# , 2012. +# , 2012. # , 2012. # Sơn Nguyễn , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-09-26 13:19+0200\n" -"PO-Revision-Date: 2012-09-26 11:20+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-12-01 00:01+0100\n" +"PO-Revision-Date: 2012-11-30 23:02+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Vietnamese (http://www.transifex.com/projects/p/owncloud/language/vi/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -24,195 +26,166 @@ msgid "There is no error, the file uploaded with success" msgstr "Không có lỗi, các tập tin đã được tải lên thành công" #: ajax/upload.php:21 -msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" -msgstr "Những tập tin được tải lên vượt quá upload_max_filesize được chỉ định trong php.ini" +msgid "" +"The uploaded file exceeds the upload_max_filesize directive in php.ini: " +msgstr "" -#: ajax/upload.php:22 +#: ajax/upload.php:23 msgid "" "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " "the HTML form" msgstr "Kích thước những tập tin tải lên vượt quá MAX_FILE_SIZE đã được quy định" -#: ajax/upload.php:23 +#: ajax/upload.php:25 msgid "The uploaded file was only partially uploaded" msgstr "Tập tin tải lên mới chỉ tải lên được một phần" -#: ajax/upload.php:24 +#: ajax/upload.php:26 msgid "No file was uploaded" msgstr "Không có tập tin nào được tải lên" -#: ajax/upload.php:25 +#: ajax/upload.php:27 msgid "Missing a temporary folder" msgstr "Không tìm thấy thư mục tạm" -#: ajax/upload.php:26 +#: ajax/upload.php:28 msgid "Failed to write to disk" -msgstr "Không thể ghi vào đĩa cứng" +msgstr "Không thể ghi " -#: appinfo/app.php:6 +#: appinfo/app.php:10 msgid "Files" msgstr "Tập tin" -#: js/fileactions.js:108 templates/index.php:62 +#: js/fileactions.js:117 templates/index.php:83 templates/index.php:84 msgid "Unshare" msgstr "Không chia sẽ" -#: js/fileactions.js:110 templates/index.php:64 +#: js/fileactions.js:119 templates/index.php:89 templates/index.php:90 msgid "Delete" msgstr "Xóa" -#: js/fileactions.js:182 +#: js/fileactions.js:181 msgid "Rename" -msgstr "" +msgstr "Sửa tên" -#: js/filelist.js:190 js/filelist.js:192 -msgid "already exists" -msgstr "đã tồn tại" +#: js/filelist.js:201 js/filelist.js:203 +msgid "{new_name} already exists" +msgstr "{new_name} đã tồn tại" -#: js/filelist.js:190 js/filelist.js:192 +#: js/filelist.js:201 js/filelist.js:203 msgid "replace" msgstr "thay thế" -#: js/filelist.js:190 +#: js/filelist.js:201 msgid "suggest name" msgstr "tên gợi ý" -#: js/filelist.js:190 js/filelist.js:192 +#: js/filelist.js:201 js/filelist.js:203 msgid "cancel" msgstr "hủy" -#: js/filelist.js:239 js/filelist.js:241 -msgid "replaced" -msgstr "đã được thay thế" +#: js/filelist.js:250 +msgid "replaced {new_name}" +msgstr "đã thay thế {new_name}" -#: js/filelist.js:239 js/filelist.js:241 js/filelist.js:273 js/filelist.js:275 +#: js/filelist.js:250 js/filelist.js:252 js/filelist.js:284 js/filelist.js:286 msgid "undo" msgstr "lùi lại" -#: js/filelist.js:241 -msgid "with" -msgstr "với" +#: js/filelist.js:252 +msgid "replaced {new_name} with {old_name}" +msgstr "đã thay thế {new_name} bằng {old_name}" -#: js/filelist.js:273 -msgid "unshared" -msgstr "" +#: js/filelist.js:284 +msgid "unshared {files}" +msgstr "hủy chia sẽ {files}" -#: js/filelist.js:275 -msgid "deleted" -msgstr "đã xóa" +#: js/filelist.js:286 +msgid "deleted {files}" +msgstr "đã xóa {files}" -#: js/files.js:179 +#: js/files.js:33 +msgid "" +"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not " +"allowed." +msgstr "Tên không hợp lệ, '\\', '/', '<', '>', ':', '\"', '|', '?' và '*' thì không được phép dùng." + +#: js/files.js:183 msgid "generating ZIP-file, it may take some time." -msgstr "Tạo tập tinh ZIP, điều này có thể mất một ít thời gian" +msgstr "Tạo tập tin ZIP, điều này có thể làm mất một chút thời gian" -#: js/files.js:208 +#: js/files.js:218 msgid "Unable to upload your file as it is a directory or has 0 bytes" msgstr "Không thể tải lên tập tin này do nó là một thư mục hoặc kích thước tập tin bằng 0 byte" -#: js/files.js:208 +#: js/files.js:218 msgid "Upload Error" msgstr "Tải lên lỗi" -#: js/files.js:236 js/files.js:341 js/files.js:371 +#: js/files.js:235 +msgid "Close" +msgstr "Đóng" + +#: js/files.js:254 js/files.js:368 js/files.js:398 msgid "Pending" msgstr "Chờ" -#: js/files.js:256 +#: js/files.js:274 msgid "1 file uploading" -msgstr "" +msgstr "1 tệp tin đang được tải lên" -#: js/files.js:259 js/files.js:304 js/files.js:319 -msgid "files uploading" -msgstr "" +#: js/files.js:277 js/files.js:331 js/files.js:346 +msgid "{count} files uploading" +msgstr "{count} tập tin đang tải lên" -#: js/files.js:322 js/files.js:355 +#: js/files.js:349 js/files.js:382 msgid "Upload cancelled." msgstr "Hủy tải lên" -#: js/files.js:424 +#: js/files.js:451 msgid "" "File upload is in progress. Leaving the page now will cancel the upload." msgstr "Tập tin tải lên đang được xử lý. Nếu bạn rời khỏi trang bây giờ sẽ hủy quá trình này." -#: js/files.js:494 -msgid "Invalid name, '/' is not allowed." -msgstr "Tên không hợp lệ ,không được phép dùng '/'" +#: js/files.js:523 +msgid "Invalid folder name. Usage of \"Shared\" is reserved by Owncloud" +msgstr "Tên thư mục không hợp lệ. Sử dụng \"Chia sẻ\" được dành riêng bởi Owncloud" -#: js/files.js:667 -msgid "files scanned" -msgstr "" +#: js/files.js:704 +msgid "{count} files scanned" +msgstr "{count} tập tin đã được quét" -#: js/files.js:675 +#: js/files.js:712 msgid "error while scanning" -msgstr "" +msgstr "lỗi trong khi quét" -#: js/files.js:748 templates/index.php:48 +#: js/files.js:785 templates/index.php:65 msgid "Name" msgstr "Tên" -#: js/files.js:749 templates/index.php:56 +#: js/files.js:786 templates/index.php:76 msgid "Size" msgstr "Kích cỡ" -#: js/files.js:750 templates/index.php:58 +#: js/files.js:787 templates/index.php:78 msgid "Modified" msgstr "Thay đổi" -#: js/files.js:777 -msgid "folder" -msgstr "folder" - -#: js/files.js:779 -msgid "folders" -msgstr "folders" - -#: js/files.js:787 -msgid "file" -msgstr "file" +#: js/files.js:814 +msgid "1 folder" +msgstr "1 thư mục" -#: js/files.js:789 -msgid "files" -msgstr "files" +#: js/files.js:816 +msgid "{count} folders" +msgstr "{count} thư mục" -#: js/files.js:833 -msgid "seconds ago" -msgstr "" - -#: js/files.js:834 -msgid "minute ago" -msgstr "" +#: js/files.js:824 +msgid "1 file" +msgstr "1 tập tin" -#: js/files.js:835 -msgid "minutes ago" -msgstr "" - -#: js/files.js:838 -msgid "today" -msgstr "" - -#: js/files.js:839 -msgid "yesterday" -msgstr "" - -#: js/files.js:840 -msgid "days ago" -msgstr "" - -#: js/files.js:841 -msgid "last month" -msgstr "" - -#: js/files.js:843 -msgid "months ago" -msgstr "" - -#: js/files.js:844 -msgid "last year" -msgstr "" - -#: js/files.js:845 -msgid "years ago" -msgstr "" +#: js/files.js:826 +msgid "{count} files" +msgstr "{count} tập tin" #: templates/admin.php:5 msgid "File handling" @@ -222,27 +195,27 @@ msgstr "Xử lý tập tin" msgid "Maximum upload size" msgstr "Kích thước tối đa " -#: templates/admin.php:7 +#: templates/admin.php:9 msgid "max. possible: " -msgstr "" +msgstr "tối đa cho phép:" -#: templates/admin.php:9 +#: templates/admin.php:12 msgid "Needed for multi-file and folder downloads." msgstr "Cần thiết cho tải nhiều tập tin và thư mục." -#: templates/admin.php:9 +#: templates/admin.php:14 msgid "Enable ZIP-download" msgstr "Cho phép ZIP-download" -#: templates/admin.php:11 +#: templates/admin.php:17 msgid "0 is unlimited" msgstr "0 là không giới hạn" -#: templates/admin.php:12 +#: templates/admin.php:19 msgid "Maximum input size for ZIP files" msgstr "Kích thước tối đa cho các tập tin ZIP" -#: templates/admin.php:14 +#: templates/admin.php:23 msgid "Save" msgstr "Lưu" @@ -250,52 +223,48 @@ msgstr "Lưu" msgid "New" msgstr "Mới" -#: templates/index.php:9 +#: templates/index.php:10 msgid "Text file" msgstr "Tập tin văn bản" -#: templates/index.php:10 +#: templates/index.php:12 msgid "Folder" -msgstr "Folder" +msgstr "Thư mục" -#: templates/index.php:11 -msgid "From url" -msgstr "Từ url" +#: templates/index.php:14 +msgid "From link" +msgstr "Từ liên kết" -#: templates/index.php:20 +#: templates/index.php:35 msgid "Upload" msgstr "Tải lên" -#: templates/index.php:27 +#: templates/index.php:43 msgid "Cancel upload" msgstr "Hủy upload" -#: templates/index.php:40 +#: templates/index.php:57 msgid "Nothing in here. Upload something!" msgstr "Không có gì ở đây .Hãy tải lên một cái gì đó !" -#: templates/index.php:50 -msgid "Share" -msgstr "Chia sẻ" - -#: templates/index.php:52 +#: templates/index.php:71 msgid "Download" msgstr "Tải xuống" -#: templates/index.php:75 +#: templates/index.php:103 msgid "Upload too large" -msgstr "File tải lên quá lớn" +msgstr "Tập tin tải lên quá lớn" -#: templates/index.php:77 +#: templates/index.php:105 msgid "" "The files you are trying to upload exceed the maximum size for file uploads " "on this server." -msgstr "Các tập tin bạn đang cố gắng tải lên vượt quá kích thước tối đa cho phép trên máy chủ này." +msgstr "Các tập tin bạn đang tải lên vượt quá kích thước tối đa cho phép trên máy chủ ." -#: templates/index.php:82 +#: templates/index.php:110 msgid "Files are being scanned, please wait." msgstr "Tập tin đang được quét ,vui lòng chờ." -#: templates/index.php:85 +#: templates/index.php:113 msgid "Current scanning" msgstr "Hiện tại đang quét" diff --git a/l10n/vi/files_encryption.po b/l10n/vi/files_encryption.po index 9c55fc8c75f0b1a095f7e37b842db7e3f94e8325..0ac3a53087c5dcf55afeaf9eceeb5456b0cd5e15 100644 --- a/l10n/vi/files_encryption.po +++ b/l10n/vi/files_encryption.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-09-08 02:01+0200\n" -"PO-Revision-Date: 2012-09-07 14:56+0000\n" +"POT-Creation-Date: 2012-11-21 00:01+0100\n" +"PO-Revision-Date: 2012-11-20 05:48+0000\n" "Last-Translator: Sơn Nguyễn \n" "Language-Team: Vietnamese (http://www.transifex.com/projects/p/owncloud/language/vi/)\n" "MIME-Version: 1.0\n" @@ -28,7 +28,7 @@ msgstr "Loại trừ các loại tập tin sau đây từ mã hóa" #: templates/settings.php:5 msgid "None" -msgstr "none" +msgstr "Không có gì hết" #: templates/settings.php:10 msgid "Enable Encryption" diff --git a/l10n/vi/files_external.po b/l10n/vi/files_external.po index fc128d8cd3f60624e1afd5182cd0e07de499f781..618214425bdb370aa09258022d0514b376ba67ac 100644 --- a/l10n/vi/files_external.po +++ b/l10n/vi/files_external.po @@ -3,14 +3,15 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# , 2012. # Sơn Nguyễn , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-02 23:16+0200\n" -"PO-Revision-Date: 2012-10-02 21:17+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-12-12 00:12+0100\n" +"PO-Revision-Date: 2012-12-11 23:13+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Vietnamese (http://www.transifex.com/projects/p/owncloud/language/vi/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -20,88 +21,102 @@ msgstr "" #: js/dropbox.js:7 js/dropbox.js:25 js/google.js:7 js/google.js:23 msgid "Access granted" -msgstr "" +msgstr "Đã cấp quyền truy cập" #: js/dropbox.js:28 js/dropbox.js:74 js/dropbox.js:79 js/dropbox.js:86 msgid "Error configuring Dropbox storage" -msgstr "" +msgstr "Lỗi cấu hình lưu trữ Dropbox " #: js/dropbox.js:34 js/dropbox.js:45 js/google.js:31 js/google.js:40 msgid "Grant access" -msgstr "" +msgstr "Cấp quyền truy cập" #: js/dropbox.js:73 js/google.js:72 msgid "Fill out all required fields" -msgstr "" +msgstr "Điền vào tất cả các trường bắt buộc" #: js/dropbox.js:85 msgid "Please provide a valid Dropbox app key and secret." -msgstr "" +msgstr "Xin vui lòng cung cấp một ứng dụng Dropbox hợp lệ và mã bí mật." #: js/google.js:26 js/google.js:73 js/google.js:78 msgid "Error configuring Google Drive storage" +msgstr "Lỗi cấu hình lưu trữ Google Drive" + +#: lib/config.php:434 +msgid "" +"Warning: \"smbclient\" is not installed. Mounting of CIFS/SMB shares " +"is not possible. Please ask your system administrator to install it." +msgstr "" + +#: lib/config.php:435 +msgid "" +"Warning: The FTP support in PHP is not enabled or installed. Mounting" +" of FTP shares is not possible. Please ask your system administrator to " +"install it." msgstr "" #: templates/settings.php:3 msgid "External Storage" msgstr "Lưu trữ ngoài" -#: templates/settings.php:7 templates/settings.php:19 +#: templates/settings.php:8 templates/settings.php:22 msgid "Mount point" msgstr "Điểm gắn" -#: templates/settings.php:8 +#: templates/settings.php:9 msgid "Backend" msgstr "phụ trợ" -#: templates/settings.php:9 +#: templates/settings.php:10 msgid "Configuration" msgstr "Cấu hình" -#: templates/settings.php:10 +#: templates/settings.php:11 msgid "Options" msgstr "Tùy chọn" -#: templates/settings.php:11 +#: templates/settings.php:12 msgid "Applicable" msgstr "Áp dụng" -#: templates/settings.php:23 +#: templates/settings.php:27 msgid "Add mount point" msgstr "Thêm điểm lắp" -#: templates/settings.php:54 templates/settings.php:62 +#: templates/settings.php:85 msgid "None set" msgstr "không" -#: templates/settings.php:63 +#: templates/settings.php:86 msgid "All Users" msgstr "Tất cả người dùng" -#: templates/settings.php:64 +#: templates/settings.php:87 msgid "Groups" msgstr "Nhóm" -#: templates/settings.php:69 +#: templates/settings.php:95 msgid "Users" msgstr "Người dùng" -#: templates/settings.php:77 templates/settings.php:107 +#: templates/settings.php:108 templates/settings.php:109 +#: templates/settings.php:149 templates/settings.php:150 msgid "Delete" msgstr "Xóa" -#: templates/settings.php:87 +#: templates/settings.php:124 msgid "Enable User External Storage" msgstr "Kích hoạt tính năng lưu trữ ngoài" -#: templates/settings.php:88 +#: templates/settings.php:125 msgid "Allow users to mount their own external storage" msgstr "Cho phép người dùng kết nối với lưu trữ riêng bên ngoài của họ" -#: templates/settings.php:99 +#: templates/settings.php:139 msgid "SSL root certificates" msgstr "Chứng chỉ SSL root" -#: templates/settings.php:113 +#: templates/settings.php:158 msgid "Import Root Certificate" msgstr "Nhập Root Certificate" diff --git a/l10n/vi/files_pdfviewer.po b/l10n/vi/files_pdfviewer.po deleted file mode 100644 index f8265b4455022090eab54cfae07156a3ddf9cc79..0000000000000000000000000000000000000000 --- a/l10n/vi/files_pdfviewer.po +++ /dev/null @@ -1,42 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 02:18+0200\n" -"PO-Revision-Date: 2012-08-26 00:19+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Vietnamese (http://www.transifex.com/projects/p/owncloud/language/vi/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: vi\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: js/viewer.js:22 -msgid "Previous" -msgstr "" - -#: js/viewer.js:23 -msgid "Next" -msgstr "" - -#: js/viewer.js:29 -msgid "Page Width" -msgstr "" - -#: js/viewer.js:29 -msgid "Page Fit" -msgstr "" - -#: js/viewer.js:30 -msgid "Print" -msgstr "" - -#: js/viewer.js:32 -msgid "Download" -msgstr "" diff --git a/l10n/vi/files_sharing.po b/l10n/vi/files_sharing.po index c30ea0ef9b0f69ba2e0001318cd61b841a4b19f9..792d5fe671bf98c556ffa6daec0a230de5975eb7 100644 --- a/l10n/vi/files_sharing.po +++ b/l10n/vi/files_sharing.po @@ -3,14 +3,15 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# , 2012. # Sơn Nguyễn , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-09-22 01:14+0200\n" -"PO-Revision-Date: 2012-09-21 23:15+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-11-21 00:01+0100\n" +"PO-Revision-Date: 2012-11-20 04:39+0000\n" +"Last-Translator: Sơn Nguyễn \n" "Language-Team: Vietnamese (http://www.transifex.com/projects/p/owncloud/language/vi/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -29,12 +30,12 @@ msgstr "Xác nhận" #: templates/public.php:9 #, php-format msgid "%s shared the folder %s with you" -msgstr "" +msgstr "%s đã chia sẻ thư mục %s với bạn" #: templates/public.php:11 #, php-format msgid "%s shared the file %s with you" -msgstr "" +msgstr "%s đã chia sẻ tập tin %s với bạn" #: templates/public.php:14 templates/public.php:30 msgid "Download" @@ -44,6 +45,6 @@ msgstr "Tải về" msgid "No preview available for" msgstr "Không có xem trước cho" -#: templates/public.php:37 +#: templates/public.php:35 msgid "web services under your control" msgstr "dịch vụ web dưới sự kiểm soát của bạn" diff --git a/l10n/vi/files_texteditor.po b/l10n/vi/files_texteditor.po deleted file mode 100644 index 40a7005281ceee6b7b6293be992d954c2ccddcd9..0000000000000000000000000000000000000000 --- a/l10n/vi/files_texteditor.po +++ /dev/null @@ -1,44 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 01:17+0200\n" -"PO-Revision-Date: 2012-08-25 23:18+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Vietnamese (http://www.transifex.com/projects/p/owncloud/language/vi/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: vi\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: js/aceeditor/mode-coldfusion-uncompressed.js:1568 -#: js/aceeditor/mode-liquid-uncompressed.js:902 -#: js/aceeditor/mode-svg-uncompressed.js:1575 -msgid "regex" -msgstr "" - -#: js/editor.js:72 js/editor.js:156 js/editor.js:163 -msgid "Save" -msgstr "" - -#: js/editor.js:74 -msgid "Close" -msgstr "" - -#: js/editor.js:149 -msgid "Saving..." -msgstr "" - -#: js/editor.js:239 -msgid "An error occurred!" -msgstr "" - -#: js/editor.js:266 -msgid "There were unsaved changes, click here to go back" -msgstr "" diff --git a/l10n/vi/files_versions.po b/l10n/vi/files_versions.po index d6a9e9ee7aaa607d08b89d1062a15f5157cb2972..c06b31deb15a61c35ccb43808dd15a7b1d24d4f1 100644 --- a/l10n/vi/files_versions.po +++ b/l10n/vi/files_versions.po @@ -3,14 +3,15 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# , 2012. # Sơn Nguyễn , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-09-22 01:14+0200\n" -"PO-Revision-Date: 2012-09-21 23:15+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-11-21 00:01+0100\n" +"PO-Revision-Date: 2012-11-20 04:32+0000\n" +"Last-Translator: Sơn Nguyễn \n" "Language-Team: Vietnamese (http://www.transifex.com/projects/p/owncloud/language/vi/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -24,7 +25,7 @@ msgstr "Hết hạn tất cả các phiên bản" #: js/versions.js:16 msgid "History" -msgstr "" +msgstr "Lịch sử" #: templates/settings-personal.php:4 msgid "Versions" @@ -32,12 +33,12 @@ msgstr "Phiên bản" #: templates/settings-personal.php:7 msgid "This will delete all existing backup versions of your files" -msgstr "Điều này sẽ xóa tất cả các phiên bản sao lưu hiện có " +msgstr "Khi bạn thực hiện thao tác này sẽ xóa tất cả các phiên bản sao lưu hiện có " #: templates/settings.php:3 msgid "Files Versioning" -msgstr "" +msgstr "Phiên bản tập tin" #: templates/settings.php:4 msgid "Enable" -msgstr "" +msgstr "Bật " diff --git a/l10n/vi/gallery.po b/l10n/vi/gallery.po deleted file mode 100644 index 741f026c53d191ee144af6084bf40e0bffb40448..0000000000000000000000000000000000000000 --- a/l10n/vi/gallery.po +++ /dev/null @@ -1,60 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Son Nguyen , 2012. -# Sơn Nguyễn , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-07-26 08:03+0200\n" -"PO-Revision-Date: 2012-07-25 19:30+0000\n" -"Last-Translator: owncloud_robot \n" -"Language-Team: Vietnamese (http://www.transifex.com/projects/p/owncloud/language/vi/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: vi\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: appinfo/app.php:39 -msgid "Pictures" -msgstr "Hình ảnh" - -#: js/pictures.js:12 -msgid "Share gallery" -msgstr "Chia sẻ gallery" - -#: js/pictures.js:32 -msgid "Error: " -msgstr "Lỗi :" - -#: js/pictures.js:32 -msgid "Internal error" -msgstr "Lỗi nội bộ" - -#: templates/index.php:27 -msgid "Slideshow" -msgstr "" - -#: templates/view_album.php:19 -msgid "Back" -msgstr "Trở lại" - -#: templates/view_album.php:36 -msgid "Remove confirmation" -msgstr "Xóa xác nhận" - -#: templates/view_album.php:37 -msgid "Do you want to remove album" -msgstr "Bạn muốn xóa album này " - -#: templates/view_album.php:40 -msgid "Change album name" -msgstr "Đổi tên album" - -#: templates/view_album.php:43 -msgid "New album name" -msgstr "Tên album mới" diff --git a/l10n/vi/impress.po b/l10n/vi/impress.po deleted file mode 100644 index af17dc75c44eba32c6b50e5a4586e04bb67bb75a..0000000000000000000000000000000000000000 --- a/l10n/vi/impress.po +++ /dev/null @@ -1,22 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 01:17+0200\n" -"PO-Revision-Date: 2012-08-25 23:18+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Vietnamese (http://www.transifex.com/projects/p/owncloud/language/vi/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: vi\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: templates/presentations.php:7 -msgid "Documentation" -msgstr "" diff --git a/l10n/vi/lib.po b/l10n/vi/lib.po index 23d24277711dd319d427d432fffa9ebf5002e827..915964d52ff2e3c390c62b6cfaf5bb6519d356c9 100644 --- a/l10n/vi/lib.po +++ b/l10n/vi/lib.po @@ -3,14 +3,16 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# , 2012. +# , 2012. # Sơn Nguyễn , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-09-08 02:02+0200\n" -"PO-Revision-Date: 2012-09-07 14:09+0000\n" -"Last-Translator: Sơn Nguyễn \n" +"POT-Creation-Date: 2012-11-21 00:01+0100\n" +"PO-Revision-Date: 2012-11-20 01:33+0000\n" +"Last-Translator: mattheu_9x \n" "Language-Team: Vietnamese (http://www.transifex.com/projects/p/owncloud/language/vi/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -42,19 +44,19 @@ msgstr "Ứng dụng" msgid "Admin" msgstr "Quản trị" -#: files.php:280 +#: files.php:361 msgid "ZIP download is turned off." msgstr "Tải về ZIP đã bị tắt." -#: files.php:281 +#: files.php:362 msgid "Files need to be downloaded one by one." msgstr "Tập tin cần phải được tải về từng người một." -#: files.php:281 files.php:306 +#: files.php:362 files.php:387 msgid "Back to Files" msgstr "Trở lại tập tin" -#: files.php:305 +#: files.php:386 msgid "Selected files too large to generate zip file." msgstr "Tập tin được chọn quá lớn để tạo tập tin ZIP." @@ -62,7 +64,7 @@ msgstr "Tập tin được chọn quá lớn để tạo tập tin ZIP." msgid "Application is not enabled" msgstr "Ứng dụng không được BẬT" -#: json.php:39 json.php:63 json.php:75 +#: json.php:39 json.php:64 json.php:77 json.php:89 msgid "Authentication error" msgstr "Lỗi xác thực" @@ -70,57 +72,84 @@ msgstr "Lỗi xác thực" msgid "Token expired. Please reload page." msgstr "Mã Token đã hết hạn. Hãy tải lại trang." -#: template.php:87 +#: search/provider/file.php:17 search/provider/file.php:35 +msgid "Files" +msgstr "Các tập tin" + +#: search/provider/file.php:26 search/provider/file.php:33 +msgid "Text" +msgstr "Văn bản" + +#: search/provider/file.php:29 +msgid "Images" +msgstr "Hình ảnh" + +#: template.php:103 msgid "seconds ago" msgstr "1 giây trước" -#: template.php:88 +#: template.php:104 msgid "1 minute ago" msgstr "1 phút trước" -#: template.php:89 +#: template.php:105 #, php-format msgid "%d minutes ago" msgstr "%d phút trước" -#: template.php:92 +#: template.php:106 +msgid "1 hour ago" +msgstr "1 giờ trước" + +#: template.php:107 +#, php-format +msgid "%d hours ago" +msgstr "%d giờ trước" + +#: template.php:108 msgid "today" msgstr "hôm nay" -#: template.php:93 +#: template.php:109 msgid "yesterday" msgstr "hôm qua" -#: template.php:94 +#: template.php:110 #, php-format msgid "%d days ago" msgstr "%d ngày trước" -#: template.php:95 +#: template.php:111 msgid "last month" msgstr "tháng trước" -#: template.php:96 -msgid "months ago" -msgstr "tháng trước" +#: template.php:112 +#, php-format +msgid "%d months ago" +msgstr "%d tháng trước" -#: template.php:97 +#: template.php:113 msgid "last year" msgstr "năm trước" -#: template.php:98 +#: template.php:114 msgid "years ago" msgstr "năm trước" -#: updater.php:66 +#: updater.php:75 #, php-format msgid "%s is available. Get more information" msgstr "%s có sẵn. xem thêm ở đây" -#: updater.php:68 +#: updater.php:77 msgid "up to date" msgstr "đến ngày" -#: updater.php:71 +#: updater.php:80 msgid "updates check is disabled" msgstr "đã TĂT chức năng cập nhật " + +#: vcategories.php:188 vcategories.php:249 +#, php-format +msgid "Could not find category \"%s\"" +msgstr "không thể tìm thấy mục \"%s\"" diff --git a/l10n/vi/media.po b/l10n/vi/media.po deleted file mode 100644 index 9c4613fa2bc7d0dfae9f8a0c8cb05d6b1d1a8a5a..0000000000000000000000000000000000000000 --- a/l10n/vi/media.po +++ /dev/null @@ -1,67 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Sơn Nguyễn , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-07-26 08:03+0200\n" -"PO-Revision-Date: 2012-07-23 06:41+0000\n" -"Last-Translator: Sơn Nguyễn \n" -"Language-Team: Vietnamese (http://www.transifex.com/projects/p/owncloud/language/vi/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: vi\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: appinfo/app.php:45 templates/player.php:8 -msgid "Music" -msgstr "Âm nhạc" - -#: js/music.js:18 -msgid "Add album to playlist" -msgstr "Thêm album vào playlist" - -#: templates/music.php:3 templates/player.php:12 -msgid "Play" -msgstr "Play" - -#: templates/music.php:4 templates/music.php:26 templates/player.php:13 -msgid "Pause" -msgstr "Tạm dừng" - -#: templates/music.php:5 -msgid "Previous" -msgstr "Trang trước" - -#: templates/music.php:6 templates/player.php:14 -msgid "Next" -msgstr "Tiếp theo" - -#: templates/music.php:7 -msgid "Mute" -msgstr "Tắt" - -#: templates/music.php:8 -msgid "Unmute" -msgstr "Bật" - -#: templates/music.php:25 -msgid "Rescan Collection" -msgstr "Quét lại bộ sưu tập" - -#: templates/music.php:37 -msgid "Artist" -msgstr "Nghệ sỹ" - -#: templates/music.php:38 -msgid "Album" -msgstr "Album" - -#: templates/music.php:39 -msgid "Title" -msgstr "Tiêu đề" diff --git a/l10n/vi/settings.po b/l10n/vi/settings.po index 5cac96c5e92493bad136b1ce26bb441df17dc719..63bd843d709536f0eb90e17adc2e371a9d7214d8 100644 --- a/l10n/vi/settings.po +++ b/l10n/vi/settings.po @@ -3,6 +3,8 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# , 2012. +# , 2012. # , 2012. # Son Nguyen , 2012. # Sơn Nguyễn , 2012. @@ -11,9 +13,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-09 02:03+0200\n" -"PO-Revision-Date: 2012-10-09 00:04+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-12-03 00:04+0100\n" +"PO-Revision-Date: 2012-12-02 03:18+0000\n" +"Last-Translator: mattheu_9x \n" "Language-Team: Vietnamese (http://www.transifex.com/projects/p/owncloud/language/vi/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -21,175 +23,91 @@ msgstr "" "Language: vi\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: ajax/apps/ocs.php:23 +#: ajax/apps/ocs.php:20 msgid "Unable to load list from App Store" msgstr "Không thể tải danh sách ứng dụng từ App Store" -#: ajax/creategroup.php:9 ajax/removeuser.php:13 ajax/setquota.php:18 -#: ajax/togglegroups.php:15 -msgid "Authentication error" -msgstr "Lỗi xác thực" - -#: ajax/creategroup.php:19 +#: ajax/creategroup.php:10 msgid "Group already exists" msgstr "Nhóm đã tồn tại" -#: ajax/creategroup.php:28 +#: ajax/creategroup.php:19 msgid "Unable to add group" msgstr "Không thể thêm nhóm" -#: ajax/enableapp.php:14 +#: ajax/enableapp.php:12 msgid "Could not enable app. " -msgstr "" +msgstr "không thể kích hoạt ứng dụng." -#: ajax/lostpassword.php:14 +#: ajax/lostpassword.php:12 msgid "Email saved" msgstr "Lưu email" -#: ajax/lostpassword.php:16 +#: ajax/lostpassword.php:14 msgid "Invalid email" msgstr "Email không hợp lệ" -#: ajax/openid.php:16 +#: ajax/openid.php:13 msgid "OpenID Changed" msgstr "Đổi OpenID" -#: ajax/openid.php:18 ajax/setlanguage.php:20 ajax/setlanguage.php:23 +#: ajax/openid.php:15 ajax/setlanguage.php:17 ajax/setlanguage.php:20 msgid "Invalid request" msgstr "Yêu cầu không hợp lệ" -#: ajax/removegroup.php:16 +#: ajax/removegroup.php:13 msgid "Unable to delete group" msgstr "Không thể xóa nhóm" -#: ajax/removeuser.php:22 +#: ajax/removeuser.php:15 ajax/setquota.php:15 ajax/togglegroups.php:18 +msgid "Authentication error" +msgstr "Lỗi xác thực" + +#: ajax/removeuser.php:24 msgid "Unable to delete user" msgstr "Không thể xóa người dùng" -#: ajax/setlanguage.php:18 +#: ajax/setlanguage.php:15 msgid "Language changed" msgstr "Ngôn ngữ đã được thay đổi" -#: ajax/togglegroups.php:25 +#: ajax/togglegroups.php:12 +msgid "Admins can't remove themself from the admin group" +msgstr "Quản trị viên không thể loại bỏ chính họ khỏi nhóm quản lý" + +#: ajax/togglegroups.php:28 #, php-format msgid "Unable to add user to group %s" msgstr "Không thể thêm người dùng vào nhóm %s" -#: ajax/togglegroups.php:31 +#: ajax/togglegroups.php:34 #, php-format msgid "Unable to remove user from group %s" msgstr "Không thể xóa người dùng từ nhóm %s" -#: js/apps.js:28 js/apps.js:65 +#: js/apps.js:28 js/apps.js:67 msgid "Disable" -msgstr "Vô hiệu" +msgstr "Tắt" -#: js/apps.js:28 js/apps.js:54 +#: js/apps.js:28 js/apps.js:55 msgid "Enable" -msgstr "Cho phép" +msgstr "Bật" #: js/personal.js:69 msgid "Saving..." msgstr "Đang tiến hành lưu ..." -#: personal.php:47 personal.php:48 +#: personal.php:42 personal.php:43 msgid "__language_name__" msgstr "__Ngôn ngữ___" -#: templates/admin.php:14 -msgid "Security Warning" -msgstr "Cảnh bảo bảo mật" - -#: templates/admin.php:17 -msgid "" -"Your data directory and your files are probably accessible from the " -"internet. The .htaccess file that ownCloud provides is not working. We " -"strongly suggest that you configure your webserver in a way that the data " -"directory is no longer accessible or you move the data directory outside the" -" webserver document root." -msgstr "Thư mục dữ liệu và những tập tin của bạn có thể dễ dàng bị truy cập từ internet. Tập tin .htaccess của ownCloud cung cấp không hoạt động. Chúng tôi đề nghị bạn nên cấu hình lại máy chủ webserver của bạn để thư mục dữ liệu không còn bị truy cập hoặc bạn di chuyển thư mục dữ liệu ra bên ngoài thư mục gốc của máy chủ." - -#: templates/admin.php:31 -msgid "Cron" -msgstr "Cron" - -#: templates/admin.php:37 -msgid "Execute one task with each page loaded" -msgstr "" - -#: templates/admin.php:43 -msgid "" -"cron.php is registered at a webcron service. Call the cron.php page in the " -"owncloud root once a minute over http." -msgstr "" - -#: templates/admin.php:49 -msgid "" -"Use systems cron service. Call the cron.php file in the owncloud folder via " -"a system cronjob once a minute." -msgstr "" - -#: templates/admin.php:56 -msgid "Sharing" -msgstr "" - -#: templates/admin.php:61 -msgid "Enable Share API" -msgstr "Bật chia sẻ API" - -#: templates/admin.php:62 -msgid "Allow apps to use the Share API" -msgstr "Cho phép các ứng dụng sử dụng chia sẻ API" - -#: templates/admin.php:67 -msgid "Allow links" -msgstr "Cho phép liên kết" - -#: templates/admin.php:68 -msgid "Allow users to share items to the public with links" -msgstr "Cho phép người dùng chia sẻ công khai các mục bằng các liên kết" - -#: templates/admin.php:73 -msgid "Allow resharing" -msgstr "Cho phép chia sẻ lại" - -#: templates/admin.php:74 -msgid "Allow users to share items shared with them again" -msgstr "Cho phép người dùng chia sẻ lại những mục đã được chia sẻ" - -#: templates/admin.php:79 -msgid "Allow users to share with anyone" -msgstr "Cho phép người dùng chia sẻ với bất cứ ai" - -#: templates/admin.php:81 -msgid "Allow users to only share with users in their groups" -msgstr "Chỉ cho phép người dùng chia sẻ với những người dùng trong nhóm của họ" - -#: templates/admin.php:88 -msgid "Log" -msgstr "Log" - -#: templates/admin.php:116 -msgid "More" -msgstr "nhiều hơn" - -#: templates/admin.php:124 -msgid "" -"Developed by the ownCloud community, the source code is " -"licensed under the AGPL." -msgstr "Được phát triển bởi cộng đồng ownCloud, mã nguồn đã được cấp phép theo chuẩn AGPL." - #: templates/apps.php:10 msgid "Add your App" msgstr "Thêm ứng dụng của bạn" #: templates/apps.php:11 msgid "More Apps" -msgstr "" +msgstr "Nhiều ứng dụng hơn" #: templates/apps.php:27 msgid "Select an App" @@ -197,7 +115,7 @@ msgstr "Chọn một ứng dụng" #: templates/apps.php:31 msgid "See application page at apps.owncloud.com" -msgstr "Xem ứng dụng tại apps.owncloud.com" +msgstr "Xem nhiều ứng dụng hơn tại apps.owncloud.com" #: templates/apps.php:32 msgid "-licensed by " @@ -215,22 +133,22 @@ msgstr "Quản lý tập tin lớn" msgid "Ask a question" msgstr "Đặt câu hỏi" -#: templates/help.php:23 +#: templates/help.php:22 msgid "Problems connecting to help database." msgstr "Vấn đề kết nối đến cơ sở dữ liệu." -#: templates/help.php:24 +#: templates/help.php:23 msgid "Go there manually." -msgstr "Đến bằng thủ công" +msgstr "Đến bằng thủ công." -#: templates/help.php:32 +#: templates/help.php:31 msgid "Answer" msgstr "trả lời" #: templates/personal.php:8 #, php-format -msgid "You have used %s of the available %s" -msgstr "" +msgid "You have used %s of the available %s" +msgstr "Bạn đã sử dụng %s có sẵn %s " #: templates/personal.php:12 msgid "Desktop and Mobile Syncing Clients" @@ -242,7 +160,7 @@ msgstr "Tải về" #: templates/personal.php:19 msgid "Your password was changed" -msgstr "" +msgstr "Mật khẩu của bạn đã được thay đổi." #: templates/personal.php:20 msgid "Unable to change your password" @@ -282,12 +200,22 @@ msgstr "Ngôn ngữ" #: templates/personal.php:44 msgid "Help translate" -msgstr "Dịch " +msgstr "Hỗ trợ dịch thuật" #: templates/personal.php:51 msgid "use this address to connect to your ownCloud in your file manager" msgstr "sử dụng địa chỉ này để kết nối với ownCloud của bạn trong quản lý tập tin " +#: templates/personal.php:61 +msgid "" +"Developed by the ownCloud community, the source code is " +"licensed under the AGPL." +msgstr "Được phát triển bởi cộng đồng ownCloud, mã nguồn đã được cấp phép theo chuẩn AGPL." + #: templates/users.php:21 templates/users.php:76 msgid "Name" msgstr "Tên" diff --git a/l10n/vi/tasks.po b/l10n/vi/tasks.po deleted file mode 100644 index d22fa25d8cac6c576bb8d874737f3ab21985b550..0000000000000000000000000000000000000000 --- a/l10n/vi/tasks.po +++ /dev/null @@ -1,106 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:44+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Vietnamese (http://www.transifex.com/projects/p/owncloud/language/vi/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: vi\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: ajax/update_property.php:51 lib/app.php:89 lib/app.php:101 -msgid "Invalid date/time" -msgstr "" - -#: appinfo/app.php:11 -msgid "Tasks" -msgstr "" - -#: js/tasks.js:415 -msgid "No category" -msgstr "" - -#: lib/app.php:33 -msgid "Unspecified" -msgstr "" - -#: lib/app.php:34 -msgid "1=highest" -msgstr "" - -#: lib/app.php:38 -msgid "5=medium" -msgstr "" - -#: lib/app.php:42 -msgid "9=lowest" -msgstr "" - -#: lib/app.php:81 -msgid "Empty Summary" -msgstr "" - -#: lib/app.php:93 -msgid "Invalid percent complete" -msgstr "" - -#: lib/app.php:107 -msgid "Invalid priority" -msgstr "" - -#: templates/tasks.php:3 -msgid "Add Task" -msgstr "" - -#: templates/tasks.php:4 -msgid "Order Due" -msgstr "" - -#: templates/tasks.php:5 -msgid "Order List" -msgstr "" - -#: templates/tasks.php:6 -msgid "Order Complete" -msgstr "" - -#: templates/tasks.php:7 -msgid "Order Location" -msgstr "" - -#: templates/tasks.php:8 -msgid "Order Priority" -msgstr "" - -#: templates/tasks.php:9 -msgid "Order Label" -msgstr "" - -#: templates/tasks.php:16 -msgid "Loading tasks..." -msgstr "" - -#: templates/tasks.php:20 -msgid "Important" -msgstr "" - -#: templates/tasks.php:23 -msgid "More" -msgstr "" - -#: templates/tasks.php:26 -msgid "Less" -msgstr "" - -#: templates/tasks.php:29 -msgid "Delete" -msgstr "" diff --git a/l10n/vi/user_ldap.po b/l10n/vi/user_ldap.po index 111219c7206312728bb7b3ec273515c6f84f7d85..7f60127a8f9fac46ab8bec69d4bd2657da12f0c5 100644 --- a/l10n/vi/user_ldap.po +++ b/l10n/vi/user_ldap.po @@ -4,13 +4,14 @@ # # Translators: # , 2012. +# Sơn Nguyễn , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-09-11 02:02+0200\n" -"PO-Revision-Date: 2012-09-10 08:50+0000\n" -"Last-Translator: mattheu_9x \n" +"POT-Creation-Date: 2012-11-10 00:01+0100\n" +"PO-Revision-Date: 2012-11-09 14:01+0000\n" +"Last-Translator: Sơn Nguyễn \n" "Language-Team: Vietnamese (http://www.transifex.com/projects/p/owncloud/language/vi/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -25,26 +26,26 @@ msgstr "Máy chủ" #: templates/settings.php:8 msgid "" "You can omit the protocol, except you require SSL. Then start with ldaps://" -msgstr "" +msgstr "Bạn có thể bỏ qua các giao thức, ngoại trừ SSL. Sau đó bắt đầu với ldaps://" #: templates/settings.php:9 msgid "Base DN" -msgstr "" +msgstr "DN cơ bản" #: templates/settings.php:9 msgid "You can specify Base DN for users and groups in the Advanced tab" -msgstr "" +msgstr "Bạn có thể chỉ định DN cơ bản cho người dùng và các nhóm trong tab Advanced" #: templates/settings.php:10 msgid "User DN" -msgstr "" +msgstr "Người dùng DN" #: templates/settings.php:10 msgid "" "The DN of the client user with which the bind shall be done, e.g. " "uid=agent,dc=example,dc=com. For anonymous access, leave DN and Password " "empty." -msgstr "" +msgstr "Các DN của người sử dụng đã được thực hiện, ví dụ như uid =agent , dc = example, dc = com. Để truy cập nặc danh ,DN và mật khẩu trống." #: templates/settings.php:11 msgid "Password" @@ -52,47 +53,47 @@ msgstr "Mật khẩu" #: templates/settings.php:11 msgid "For anonymous access, leave DN and Password empty." -msgstr "" +msgstr "Cho phép truy cập nặc danh , DN và mật khẩu trống." #: templates/settings.php:12 msgid "User Login Filter" -msgstr "" +msgstr "Lọc người dùng đăng nhập" #: templates/settings.php:12 #, php-format msgid "" "Defines the filter to apply, when login is attempted. %%uid replaces the " "username in the login action." -msgstr "" +msgstr "Xác định các bộ lọc để áp dụng, khi đăng nhập . uid%% thay thế tên người dùng trong các lần đăng nhập." #: templates/settings.php:12 #, php-format msgid "use %%uid placeholder, e.g. \"uid=%%uid\"" -msgstr "" +msgstr "use %%uid placeholder, e.g. \"uid=%%uid\"" #: templates/settings.php:13 msgid "User List Filter" -msgstr "" +msgstr "Lọc danh sách thành viên" #: templates/settings.php:13 msgid "Defines the filter to apply, when retrieving users." -msgstr "" +msgstr "Xác định các bộ lọc để áp dụng, khi người dụng sử dụng." #: templates/settings.php:13 msgid "without any placeholder, e.g. \"objectClass=person\"." -msgstr "" +msgstr "mà không giữ chỗ nào, ví dụ như \"objectClass = person\"." #: templates/settings.php:14 msgid "Group Filter" -msgstr "" +msgstr "Bộ lọc nhóm" #: templates/settings.php:14 msgid "Defines the filter to apply, when retrieving groups." -msgstr "" +msgstr "Xác định các bộ lọc để áp dụng, khi nhóm sử dụng." #: templates/settings.php:14 msgid "without any placeholder, e.g. \"objectClass=posixGroup\"." -msgstr "" +msgstr "mà không giữ chỗ nào, ví dụ như \"objectClass = osixGroup\"." #: templates/settings.php:17 msgid "Port" @@ -100,15 +101,15 @@ msgstr "Cổng" #: templates/settings.php:18 msgid "Base User Tree" -msgstr "" +msgstr "Cây người dùng cơ bản" #: templates/settings.php:19 msgid "Base Group Tree" -msgstr "" +msgstr "Cây nhóm cơ bản" #: templates/settings.php:20 msgid "Group-Member association" -msgstr "" +msgstr "Nhóm thành viên Cộng đồng" #: templates/settings.php:21 msgid "Use TLS" @@ -116,11 +117,11 @@ msgstr "Sử dụng TLS" #: templates/settings.php:21 msgid "Do not use it for SSL connections, it will fail." -msgstr "" +msgstr "Kết nối SSL bị lỗi. " #: templates/settings.php:22 msgid "Case insensitve LDAP server (Windows)" -msgstr "" +msgstr "Trường hợp insensitve LDAP máy chủ (Windows)" #: templates/settings.php:23 msgid "Turn off SSL certificate validation." @@ -130,7 +131,7 @@ msgstr "Tắt xác thực chứng nhận SSL" msgid "" "If connection only works with this option, import the LDAP server's SSL " "certificate in your ownCloud server." -msgstr "" +msgstr "Nếu kết nối chỉ hoạt động với tùy chọn này, vui lòng import LDAP certificate SSL trong máy chủ ownCloud của bạn." #: templates/settings.php:23 msgid "Not recommended, use for testing only." @@ -142,7 +143,7 @@ msgstr "Hiển thị tên người sử dụng" #: templates/settings.php:24 msgid "The LDAP attribute to use to generate the user`s ownCloud name." -msgstr "" +msgstr "Các thuộc tính LDAP sử dụng để tạo tên người dùng ownCloud." #: templates/settings.php:25 msgid "Group Display Name Field" @@ -150,7 +151,7 @@ msgstr "Hiển thị tên nhóm" #: templates/settings.php:25 msgid "The LDAP attribute to use to generate the groups`s ownCloud name." -msgstr "" +msgstr "Các thuộc tính LDAP sử dụng để tạo các nhóm ownCloud." #: templates/settings.php:27 msgid "in bytes" @@ -158,7 +159,7 @@ msgstr "Theo Byte" #: templates/settings.php:29 msgid "in seconds. A change empties the cache." -msgstr "" +msgstr "trong vài giây. Một sự thay đổi bộ nhớ cache." #: templates/settings.php:30 msgid "" diff --git a/l10n/vi/user_migrate.po b/l10n/vi/user_migrate.po deleted file mode 100644 index 1e5615249f75161fde04f58811eb5b38e5212906..0000000000000000000000000000000000000000 --- a/l10n/vi/user_migrate.po +++ /dev/null @@ -1,51 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:45+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Vietnamese (http://www.transifex.com/projects/p/owncloud/language/vi/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: vi\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: js/export.js:14 js/export.js:20 -msgid "Export" -msgstr "" - -#: js/export.js:19 -msgid "Something went wrong while the export file was being generated" -msgstr "" - -#: js/export.js:19 -msgid "An error has occurred" -msgstr "" - -#: templates/settings.php:2 -msgid "Export your user account" -msgstr "" - -#: templates/settings.php:3 -msgid "" -"This will create a compressed file that contains your ownCloud account." -msgstr "" - -#: templates/settings.php:13 -msgid "Import user account" -msgstr "" - -#: templates/settings.php:15 -msgid "ownCloud User Zip" -msgstr "" - -#: templates/settings.php:17 -msgid "Import" -msgstr "" diff --git a/l10n/vi/user_openid.po b/l10n/vi/user_openid.po deleted file mode 100644 index 848cdb3cf4b31fa941367d4e6310d4a9bf1a3a4a..0000000000000000000000000000000000000000 --- a/l10n/vi/user_openid.po +++ /dev/null @@ -1,54 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:45+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Vietnamese (http://www.transifex.com/projects/p/owncloud/language/vi/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: vi\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: templates/nomode.php:12 -msgid "This is an OpenID server endpoint. For more information, see " -msgstr "" - -#: templates/nomode.php:14 -msgid "Identity: " -msgstr "" - -#: templates/nomode.php:15 -msgid "Realm: " -msgstr "" - -#: templates/nomode.php:16 -msgid "User: " -msgstr "" - -#: templates/nomode.php:17 -msgid "Login" -msgstr "" - -#: templates/nomode.php:22 -msgid "Error: No user Selected" -msgstr "" - -#: templates/settings.php:4 -msgid "you can authenticate to other sites with this address" -msgstr "" - -#: templates/settings.php:5 -msgid "Authorized OpenID provider" -msgstr "" - -#: templates/settings.php:6 -msgid "Your address at Wordpress, Identi.ca, …" -msgstr "" diff --git a/l10n/vi/files_odfviewer.po b/l10n/vi/user_webdavauth.po similarity index 60% rename from l10n/vi/files_odfviewer.po rename to l10n/vi/user_webdavauth.po index 21d7de16b00690ae0bf157c6763da6e2b1b0b030..b747056a5caab6318d00fb663ee6a0ce0f63a1fd 100644 --- a/l10n/vi/files_odfviewer.po +++ b/l10n/vi/user_webdavauth.po @@ -3,20 +3,21 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# Sơn Nguyễn , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 02:18+0200\n" -"PO-Revision-Date: 2012-08-26 00:19+0000\n" -"Last-Translator: FULL NAME \n" +"POT-Creation-Date: 2012-11-10 00:01+0100\n" +"PO-Revision-Date: 2012-11-09 12:35+0000\n" +"Last-Translator: Sơn Nguyễn \n" "Language-Team: Vietnamese (http://www.transifex.com/projects/p/owncloud/language/vi/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: vi\n" -"Plural-Forms: nplurals=1; plural=0\n" +"Plural-Forms: nplurals=1; plural=0;\n" -#: js/viewer.js:9 -msgid "Close" -msgstr "" +#: templates/settings.php:4 +msgid "WebDAV URL: http://" +msgstr "WebDAV URL: http://" diff --git a/l10n/zh_CN.GB2312/admin_dependencies_chk.po b/l10n/zh_CN.GB2312/admin_dependencies_chk.po deleted file mode 100644 index b226f02b4cacbb1c61f3e2445161dff327cb075e..0000000000000000000000000000000000000000 --- a/l10n/zh_CN.GB2312/admin_dependencies_chk.po +++ /dev/null @@ -1,73 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:33+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Chinese (China) (GB2312) (http://www.transifex.com/projects/p/owncloud/language/zh_CN.GB2312/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: zh_CN.GB2312\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: settings.php:33 -msgid "" -"The php-json module is needed by the many applications for inter " -"communications" -msgstr "" - -#: settings.php:39 -msgid "" -"The php-curl modude is needed to fetch the page title when adding a " -"bookmarks" -msgstr "" - -#: settings.php:45 -msgid "The php-gd module is needed to create thumbnails of your images" -msgstr "" - -#: settings.php:51 -msgid "The php-ldap module is needed connect to your ldap server" -msgstr "" - -#: settings.php:57 -msgid "The php-zip module is needed download multiple files at once" -msgstr "" - -#: settings.php:63 -msgid "" -"The php-mb_multibyte module is needed to manage correctly the encoding." -msgstr "" - -#: settings.php:69 -msgid "The php-ctype module is needed validate data." -msgstr "" - -#: settings.php:75 -msgid "The php-xml module is needed to share files with webdav." -msgstr "" - -#: settings.php:81 -msgid "" -"The allow_url_fopen directive of your php.ini should be set to 1 to retrieve" -" knowledge base from OCS servers" -msgstr "" - -#: settings.php:87 -msgid "The php-pdo module is needed to store owncloud data into a database." -msgstr "" - -#: templates/settings.php:2 -msgid "Dependencies status" -msgstr "" - -#: templates/settings.php:7 -msgid "Used by :" -msgstr "" diff --git a/l10n/zh_CN.GB2312/admin_migrate.po b/l10n/zh_CN.GB2312/admin_migrate.po deleted file mode 100644 index f33396b69ec3e97a0e56c372df72b1f4d8dbc5dd..0000000000000000000000000000000000000000 --- a/l10n/zh_CN.GB2312/admin_migrate.po +++ /dev/null @@ -1,32 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:32+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Chinese (China) (GB2312) (http://www.transifex.com/projects/p/owncloud/language/zh_CN.GB2312/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: zh_CN.GB2312\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: templates/settings.php:3 -msgid "Export this ownCloud instance" -msgstr "" - -#: templates/settings.php:4 -msgid "" -"This will create a compressed file that contains the data of this owncloud instance.\n" -" Please choose the export type:" -msgstr "" - -#: templates/settings.php:12 -msgid "Export" -msgstr "" diff --git a/l10n/zh_CN.GB2312/bookmarks.po b/l10n/zh_CN.GB2312/bookmarks.po deleted file mode 100644 index 7bf81fd460862c23b596fea51d06835770e8f2ea..0000000000000000000000000000000000000000 --- a/l10n/zh_CN.GB2312/bookmarks.po +++ /dev/null @@ -1,60 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-11 02:02+0200\n" -"PO-Revision-Date: 2012-07-27 22:17+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Chinese (China) (GB2312) (http://www.transifex.com/projects/p/owncloud/language/zh_CN.GB2312/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: zh_CN.GB2312\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: appinfo/app.php:14 -msgid "Bookmarks" -msgstr "" - -#: bookmarksHelper.php:99 -msgid "unnamed" -msgstr "" - -#: templates/bookmarklet.php:5 -msgid "" -"Drag this to your browser bookmarks and click it, when you want to bookmark " -"a webpage quickly:" -msgstr "" - -#: templates/bookmarklet.php:7 -msgid "Read later" -msgstr "" - -#: templates/list.php:13 -msgid "Address" -msgstr "" - -#: templates/list.php:14 -msgid "Title" -msgstr "" - -#: templates/list.php:15 -msgid "Tags" -msgstr "" - -#: templates/list.php:16 -msgid "Save bookmark" -msgstr "" - -#: templates/list.php:22 -msgid "You have no bookmarks" -msgstr "" - -#: templates/settings.php:11 -msgid "Bookmarklet
" -msgstr "" diff --git a/l10n/zh_CN.GB2312/calendar.po b/l10n/zh_CN.GB2312/calendar.po deleted file mode 100644 index 5e807e319ff581de43e70db4b8a2b6b4bfd433ac..0000000000000000000000000000000000000000 --- a/l10n/zh_CN.GB2312/calendar.po +++ /dev/null @@ -1,814 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-12 02:02+0200\n" -"PO-Revision-Date: 2012-08-11 14:53+0000\n" -"Last-Translator: bluehattree \n" -"Language-Team: Chinese (China) (GB2312) (http://www.transifex.com/projects/p/owncloud/language/zh_CN.GB2312/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: zh_CN.GB2312\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: ajax/cache/status.php:19 -msgid "Not all calendars are completely cached" -msgstr "" - -#: ajax/cache/status.php:21 -msgid "Everything seems to be completely cached" -msgstr "" - -#: ajax/categories/rescan.php:29 -msgid "No calendars found." -msgstr "" - -#: ajax/categories/rescan.php:37 -msgid "No events found." -msgstr "" - -#: ajax/event/edit.form.php:20 -msgid "Wrong calendar" -msgstr "错误的日历" - -#: ajax/import/dropimport.php:29 ajax/import/import.php:64 -msgid "" -"The file contained either no events or all events are already saved in your " -"calendar." -msgstr "" - -#: ajax/import/dropimport.php:31 ajax/import/import.php:67 -msgid "events has been saved in the new calendar" -msgstr "" - -#: ajax/import/import.php:56 -msgid "Import failed" -msgstr "" - -#: ajax/import/import.php:69 -msgid "events has been saved in your calendar" -msgstr "" - -#: ajax/settings/guesstimezone.php:25 -msgid "New Timezone:" -msgstr "新时区" - -#: ajax/settings/settimezone.php:23 -msgid "Timezone changed" -msgstr "时区改变了" - -#: ajax/settings/settimezone.php:25 -msgid "Invalid request" -msgstr "非法请求" - -#: appinfo/app.php:35 templates/calendar.php:15 -#: templates/part.eventform.php:33 templates/part.showevent.php:33 -msgid "Calendar" -msgstr "日历" - -#: js/calendar.js:832 -msgid "ddd" -msgstr "" - -#: js/calendar.js:833 -msgid "ddd M/d" -msgstr "" - -#: js/calendar.js:834 -msgid "dddd M/d" -msgstr "" - -#: js/calendar.js:837 -msgid "MMMM yyyy" -msgstr "" - -#: js/calendar.js:839 -msgid "MMM d[ yyyy]{ '—'[ MMM] d yyyy}" -msgstr "" - -#: js/calendar.js:841 -msgid "dddd, MMM d, yyyy" -msgstr "" - -#: lib/app.php:121 -msgid "Birthday" -msgstr "生日" - -#: lib/app.php:122 -msgid "Business" -msgstr "商务" - -#: lib/app.php:123 -msgid "Call" -msgstr "呼叫" - -#: lib/app.php:124 -msgid "Clients" -msgstr "客户端" - -#: lib/app.php:125 -msgid "Deliverer" -msgstr "交付者" - -#: lib/app.php:126 -msgid "Holidays" -msgstr "假期" - -#: lib/app.php:127 -msgid "Ideas" -msgstr "灵感" - -#: lib/app.php:128 -msgid "Journey" -msgstr "旅行" - -#: lib/app.php:129 -msgid "Jubilee" -msgstr "五十年纪念" - -#: lib/app.php:130 -msgid "Meeting" -msgstr "会面" - -#: lib/app.php:131 -msgid "Other" -msgstr "其它" - -#: lib/app.php:132 -msgid "Personal" -msgstr "个人的" - -#: lib/app.php:133 -msgid "Projects" -msgstr "项目" - -#: lib/app.php:134 -msgid "Questions" -msgstr "问题" - -#: lib/app.php:135 -msgid "Work" -msgstr "工作" - -#: lib/app.php:351 lib/app.php:361 -msgid "by" -msgstr "" - -#: lib/app.php:359 lib/app.php:399 -msgid "unnamed" -msgstr "" - -#: lib/import.php:184 templates/calendar.php:12 -#: templates/part.choosecalendar.php:22 -msgid "New Calendar" -msgstr "新的日历" - -#: lib/object.php:372 -msgid "Does not repeat" -msgstr "不要重复" - -#: lib/object.php:373 -msgid "Daily" -msgstr "每天" - -#: lib/object.php:374 -msgid "Weekly" -msgstr "每星期" - -#: lib/object.php:375 -msgid "Every Weekday" -msgstr "每个周末" - -#: lib/object.php:376 -msgid "Bi-Weekly" -msgstr "每两周" - -#: lib/object.php:377 -msgid "Monthly" -msgstr "每个月" - -#: lib/object.php:378 -msgid "Yearly" -msgstr "每年" - -#: lib/object.php:388 -msgid "never" -msgstr "从不" - -#: lib/object.php:389 -msgid "by occurrences" -msgstr "根据发生时" - -#: lib/object.php:390 -msgid "by date" -msgstr "根据日期" - -#: lib/object.php:400 -msgid "by monthday" -msgstr "根据月天" - -#: lib/object.php:401 -msgid "by weekday" -msgstr "根据星期" - -#: lib/object.php:411 templates/calendar.php:5 templates/settings.php:69 -msgid "Monday" -msgstr "星期一" - -#: lib/object.php:412 templates/calendar.php:5 -msgid "Tuesday" -msgstr "星期二" - -#: lib/object.php:413 templates/calendar.php:5 -msgid "Wednesday" -msgstr "星期三" - -#: lib/object.php:414 templates/calendar.php:5 -msgid "Thursday" -msgstr "星期四" - -#: lib/object.php:415 templates/calendar.php:5 -msgid "Friday" -msgstr "星期五" - -#: lib/object.php:416 templates/calendar.php:5 -msgid "Saturday" -msgstr "星期六" - -#: lib/object.php:417 templates/calendar.php:5 templates/settings.php:70 -msgid "Sunday" -msgstr "星期天" - -#: lib/object.php:427 -msgid "events week of month" -msgstr "时间每月发生的周数" - -#: lib/object.php:428 -msgid "first" -msgstr "首先" - -#: lib/object.php:429 -msgid "second" -msgstr "其次" - -#: lib/object.php:430 -msgid "third" -msgstr "第三" - -#: lib/object.php:431 -msgid "fourth" -msgstr "第四" - -#: lib/object.php:432 -msgid "fifth" -msgstr "第五" - -#: lib/object.php:433 -msgid "last" -msgstr "最后" - -#: lib/object.php:467 templates/calendar.php:7 -msgid "January" -msgstr "一月" - -#: lib/object.php:468 templates/calendar.php:7 -msgid "February" -msgstr "二月" - -#: lib/object.php:469 templates/calendar.php:7 -msgid "March" -msgstr "三月" - -#: lib/object.php:470 templates/calendar.php:7 -msgid "April" -msgstr "四月" - -#: lib/object.php:471 templates/calendar.php:7 -msgid "May" -msgstr "五月" - -#: lib/object.php:472 templates/calendar.php:7 -msgid "June" -msgstr "六月" - -#: lib/object.php:473 templates/calendar.php:7 -msgid "July" -msgstr "七月" - -#: lib/object.php:474 templates/calendar.php:7 -msgid "August" -msgstr "八月" - -#: lib/object.php:475 templates/calendar.php:7 -msgid "September" -msgstr "九月" - -#: lib/object.php:476 templates/calendar.php:7 -msgid "October" -msgstr "十月" - -#: lib/object.php:477 templates/calendar.php:7 -msgid "November" -msgstr "十一月" - -#: lib/object.php:478 templates/calendar.php:7 -msgid "December" -msgstr "十二月" - -#: lib/object.php:488 -msgid "by events date" -msgstr "根据时间日期" - -#: lib/object.php:489 -msgid "by yearday(s)" -msgstr "根据年数" - -#: lib/object.php:490 -msgid "by weeknumber(s)" -msgstr "根据周数" - -#: lib/object.php:491 -msgid "by day and month" -msgstr "根据天和月" - -#: lib/search.php:35 lib/search.php:37 lib/search.php:40 -msgid "Date" -msgstr "日期" - -#: lib/search.php:43 -msgid "Cal." -msgstr "Cal." - -#: templates/calendar.php:6 -msgid "Sun." -msgstr "" - -#: templates/calendar.php:6 -msgid "Mon." -msgstr "" - -#: templates/calendar.php:6 -msgid "Tue." -msgstr "" - -#: templates/calendar.php:6 -msgid "Wed." -msgstr "" - -#: templates/calendar.php:6 -msgid "Thu." -msgstr "" - -#: templates/calendar.php:6 -msgid "Fri." -msgstr "" - -#: templates/calendar.php:6 -msgid "Sat." -msgstr "" - -#: templates/calendar.php:8 -msgid "Jan." -msgstr "" - -#: templates/calendar.php:8 -msgid "Feb." -msgstr "" - -#: templates/calendar.php:8 -msgid "Mar." -msgstr "" - -#: templates/calendar.php:8 -msgid "Apr." -msgstr "" - -#: templates/calendar.php:8 -msgid "May." -msgstr "" - -#: templates/calendar.php:8 -msgid "Jun." -msgstr "" - -#: templates/calendar.php:8 -msgid "Jul." -msgstr "" - -#: templates/calendar.php:8 -msgid "Aug." -msgstr "" - -#: templates/calendar.php:8 -msgid "Sep." -msgstr "" - -#: templates/calendar.php:8 -msgid "Oct." -msgstr "" - -#: templates/calendar.php:8 -msgid "Nov." -msgstr "" - -#: templates/calendar.php:8 -msgid "Dec." -msgstr "" - -#: templates/calendar.php:11 -msgid "All day" -msgstr "整天" - -#: templates/calendar.php:13 -msgid "Missing fields" -msgstr "丢失的输入框" - -#: templates/calendar.php:14 templates/part.eventform.php:19 -#: templates/part.showevent.php:11 -msgid "Title" -msgstr "标题" - -#: templates/calendar.php:16 -msgid "From Date" -msgstr "从日期" - -#: templates/calendar.php:17 -msgid "From Time" -msgstr "从时间" - -#: templates/calendar.php:18 -msgid "To Date" -msgstr "到日期" - -#: templates/calendar.php:19 -msgid "To Time" -msgstr "到时间" - -#: templates/calendar.php:20 -msgid "The event ends before it starts" -msgstr "在它开始前需要结束的事件" - -#: templates/calendar.php:21 -msgid "There was a database fail" -msgstr "发生了一个数据库失败" - -#: templates/calendar.php:39 -msgid "Week" -msgstr "星期" - -#: templates/calendar.php:40 -msgid "Month" -msgstr "月" - -#: templates/calendar.php:41 -msgid "List" -msgstr "列表" - -#: templates/calendar.php:45 -msgid "Today" -msgstr "今天" - -#: templates/calendar.php:46 templates/calendar.php:47 -msgid "Settings" -msgstr "" - -#: templates/part.choosecalendar.php:2 -msgid "Your calendars" -msgstr "" - -#: templates/part.choosecalendar.php:27 -#: templates/part.choosecalendar.rowfields.php:11 -msgid "CalDav Link" -msgstr "CalDav 链接" - -#: templates/part.choosecalendar.php:31 -msgid "Shared calendars" -msgstr "" - -#: templates/part.choosecalendar.php:48 -msgid "No shared calendars" -msgstr "" - -#: templates/part.choosecalendar.rowfields.php:8 -msgid "Share Calendar" -msgstr "" - -#: templates/part.choosecalendar.rowfields.php:14 -msgid "Download" -msgstr "下载" - -#: templates/part.choosecalendar.rowfields.php:17 -msgid "Edit" -msgstr "编辑" - -#: templates/part.choosecalendar.rowfields.php:20 -#: templates/part.editevent.php:9 -msgid "Delete" -msgstr "删除" - -#: templates/part.choosecalendar.rowfields.shared.php:4 -msgid "shared with you by" -msgstr "" - -#: templates/part.editcalendar.php:9 -msgid "New calendar" -msgstr "新的日历" - -#: templates/part.editcalendar.php:9 -msgid "Edit calendar" -msgstr "编辑日历" - -#: templates/part.editcalendar.php:12 -msgid "Displayname" -msgstr "显示名称" - -#: templates/part.editcalendar.php:23 -msgid "Active" -msgstr "活动" - -#: templates/part.editcalendar.php:29 -msgid "Calendar color" -msgstr "日历颜色" - -#: templates/part.editcalendar.php:42 -msgid "Save" -msgstr "保存" - -#: templates/part.editcalendar.php:42 templates/part.editevent.php:8 -#: templates/part.newevent.php:6 -msgid "Submit" -msgstr "提交" - -#: templates/part.editcalendar.php:43 -msgid "Cancel" -msgstr " 取消" - -#: templates/part.editevent.php:1 -msgid "Edit an event" -msgstr "编辑一个事件" - -#: templates/part.editevent.php:10 -msgid "Export" -msgstr "导出" - -#: templates/part.eventform.php:8 templates/part.showevent.php:3 -msgid "Eventinfo" -msgstr "" - -#: templates/part.eventform.php:9 templates/part.showevent.php:4 -msgid "Repeating" -msgstr "" - -#: templates/part.eventform.php:10 templates/part.showevent.php:5 -msgid "Alarm" -msgstr "" - -#: templates/part.eventform.php:11 templates/part.showevent.php:6 -msgid "Attendees" -msgstr "" - -#: templates/part.eventform.php:13 -msgid "Share" -msgstr "" - -#: templates/part.eventform.php:21 -msgid "Title of the Event" -msgstr "事件的标题" - -#: templates/part.eventform.php:27 templates/part.showevent.php:19 -msgid "Category" -msgstr "分类" - -#: templates/part.eventform.php:29 -msgid "Separate categories with commas" -msgstr "" - -#: templates/part.eventform.php:30 -msgid "Edit categories" -msgstr "" - -#: templates/part.eventform.php:56 templates/part.showevent.php:52 -msgid "All Day Event" -msgstr "每天的事件" - -#: templates/part.eventform.php:60 templates/part.showevent.php:56 -msgid "From" -msgstr "从" - -#: templates/part.eventform.php:68 templates/part.showevent.php:64 -msgid "To" -msgstr "到" - -#: templates/part.eventform.php:76 templates/part.showevent.php:72 -msgid "Advanced options" -msgstr "进阶选项" - -#: templates/part.eventform.php:81 templates/part.showevent.php:77 -msgid "Location" -msgstr "地点" - -#: templates/part.eventform.php:83 -msgid "Location of the Event" -msgstr "事件的地点" - -#: templates/part.eventform.php:89 templates/part.showevent.php:85 -msgid "Description" -msgstr "解释" - -#: templates/part.eventform.php:91 -msgid "Description of the Event" -msgstr "事件描述" - -#: templates/part.eventform.php:100 templates/part.showevent.php:95 -msgid "Repeat" -msgstr "重复" - -#: templates/part.eventform.php:107 templates/part.showevent.php:102 -msgid "Advanced" -msgstr "进阶" - -#: templates/part.eventform.php:151 templates/part.showevent.php:146 -msgid "Select weekdays" -msgstr "选择星期" - -#: templates/part.eventform.php:164 templates/part.eventform.php:177 -#: templates/part.showevent.php:159 templates/part.showevent.php:172 -msgid "Select days" -msgstr "选择日" - -#: templates/part.eventform.php:169 templates/part.showevent.php:164 -msgid "and the events day of year." -msgstr "选择每年时间发生天数" - -#: templates/part.eventform.php:182 templates/part.showevent.php:177 -msgid "and the events day of month." -msgstr "选择每个月事件发生的天" - -#: templates/part.eventform.php:190 templates/part.showevent.php:185 -msgid "Select months" -msgstr "选择月份" - -#: templates/part.eventform.php:203 templates/part.showevent.php:198 -msgid "Select weeks" -msgstr "选择星期" - -#: templates/part.eventform.php:208 templates/part.showevent.php:203 -msgid "and the events week of year." -msgstr "每年时间发生的星期" - -#: templates/part.eventform.php:214 templates/part.showevent.php:209 -msgid "Interval" -msgstr "间隔" - -#: templates/part.eventform.php:220 templates/part.showevent.php:215 -msgid "End" -msgstr "结束" - -#: templates/part.eventform.php:233 templates/part.showevent.php:228 -msgid "occurrences" -msgstr "发生" - -#: templates/part.import.php:14 -msgid "create a new calendar" -msgstr "" - -#: templates/part.import.php:17 -msgid "Import a calendar file" -msgstr "" - -#: templates/part.import.php:24 -msgid "Please choose a calendar" -msgstr "" - -#: templates/part.import.php:36 -msgid "Name of new calendar" -msgstr "" - -#: templates/part.import.php:44 -msgid "Take an available name!" -msgstr "" - -#: templates/part.import.php:45 -msgid "" -"A Calendar with this name already exists. If you continue anyhow, these " -"calendars will be merged." -msgstr "" - -#: templates/part.import.php:47 -msgid "Import" -msgstr "导入" - -#: templates/part.import.php:56 -msgid "Close Dialog" -msgstr "" - -#: templates/part.newevent.php:1 -msgid "Create a new event" -msgstr "新建一个时间" - -#: templates/part.showevent.php:1 -msgid "View an event" -msgstr "" - -#: templates/part.showevent.php:23 -msgid "No categories selected" -msgstr "" - -#: templates/part.showevent.php:37 -msgid "of" -msgstr "" - -#: templates/part.showevent.php:59 templates/part.showevent.php:67 -msgid "at" -msgstr "" - -#: templates/settings.php:10 -msgid "General" -msgstr "" - -#: templates/settings.php:15 -msgid "Timezone" -msgstr "时区" - -#: templates/settings.php:47 -msgid "Update timezone automatically" -msgstr "" - -#: templates/settings.php:52 -msgid "Time format" -msgstr "" - -#: templates/settings.php:57 -msgid "24h" -msgstr "24小时" - -#: templates/settings.php:58 -msgid "12h" -msgstr "12小时" - -#: templates/settings.php:64 -msgid "Start week on" -msgstr "" - -#: templates/settings.php:76 -msgid "Cache" -msgstr "" - -#: templates/settings.php:80 -msgid "Clear cache for repeating events" -msgstr "" - -#: templates/settings.php:85 -msgid "URLs" -msgstr "" - -#: templates/settings.php:87 -msgid "Calendar CalDAV syncing addresses" -msgstr "" - -#: templates/settings.php:87 -msgid "more info" -msgstr "" - -#: templates/settings.php:89 -msgid "Primary address (Kontact et al)" -msgstr "" - -#: templates/settings.php:91 -msgid "iOS/OS X" -msgstr "" - -#: templates/settings.php:93 -msgid "Read only iCalendar link(s)" -msgstr "" - -#: templates/share.dropdown.php:20 -msgid "Users" -msgstr "" - -#: templates/share.dropdown.php:21 -msgid "select users" -msgstr "" - -#: templates/share.dropdown.php:36 templates/share.dropdown.php:62 -msgid "Editable" -msgstr "" - -#: templates/share.dropdown.php:48 -msgid "Groups" -msgstr "" - -#: templates/share.dropdown.php:49 -msgid "select groups" -msgstr "" - -#: templates/share.dropdown.php:75 -msgid "make public" -msgstr "" diff --git a/l10n/zh_CN.GB2312/contacts.po b/l10n/zh_CN.GB2312/contacts.po deleted file mode 100644 index d4431695aeee87ae0b8a826b3919c4973af4c121..0000000000000000000000000000000000000000 --- a/l10n/zh_CN.GB2312/contacts.po +++ /dev/null @@ -1,952 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-24 02:02+0200\n" -"PO-Revision-Date: 2012-08-24 00:03+0000\n" -"Last-Translator: I Robot \n" -"Language-Team: Chinese (China) (GB2312) (http://www.transifex.com/projects/p/owncloud/language/zh_CN.GB2312/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: zh_CN.GB2312\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: ajax/addressbook/activate.php:24 ajax/addressbook/update.php:32 -msgid "Error (de)activating addressbook." -msgstr "" - -#: ajax/addressbook/delete.php:31 ajax/addressbook/update.php:20 -#: ajax/contact/addproperty.php:42 ajax/contact/delete.php:32 -#: ajax/contact/saveproperty.php:39 -msgid "id is not set." -msgstr "" - -#: ajax/addressbook/update.php:24 -msgid "Cannot update addressbook with an empty name." -msgstr "" - -#: ajax/addressbook/update.php:28 -msgid "Error updating addressbook." -msgstr "" - -#: ajax/categories/categoriesfor.php:17 -msgid "No ID provided" -msgstr "" - -#: ajax/categories/categoriesfor.php:34 -msgid "Error setting checksum." -msgstr "" - -#: ajax/categories/delete.php:19 -msgid "No categories selected for deletion." -msgstr "" - -#: ajax/categories/delete.php:26 -msgid "No address books found." -msgstr "" - -#: ajax/categories/delete.php:34 -msgid "No contacts found." -msgstr "" - -#: ajax/contact/add.php:47 -msgid "There was an error adding the contact." -msgstr "" - -#: ajax/contact/addproperty.php:39 ajax/contact/saveproperty.php:36 -msgid "element name is not set." -msgstr "" - -#: ajax/contact/addproperty.php:46 -msgid "Could not parse contact: " -msgstr "" - -#: ajax/contact/addproperty.php:56 -msgid "Cannot add empty property." -msgstr "" - -#: ajax/contact/addproperty.php:67 -msgid "At least one of the address fields has to be filled out." -msgstr "" - -#: ajax/contact/addproperty.php:76 -msgid "Trying to add duplicate property: " -msgstr "" - -#: ajax/contact/addproperty.php:115 ajax/contact/saveproperty.php:93 -msgid "Missing IM parameter." -msgstr "" - -#: ajax/contact/addproperty.php:119 ajax/contact/saveproperty.php:97 -msgid "Unknown IM: " -msgstr "" - -#: ajax/contact/deleteproperty.php:37 -msgid "Information about vCard is incorrect. Please reload the page." -msgstr "" - -#: ajax/contact/details.php:31 -msgid "Missing ID" -msgstr "" - -#: ajax/contact/details.php:36 -msgid "Error parsing VCard for ID: \"" -msgstr "" - -#: ajax/contact/saveproperty.php:42 -msgid "checksum is not set." -msgstr "" - -#: ajax/contact/saveproperty.php:62 -msgid "Information about vCard is incorrect. Please reload the page: " -msgstr "" - -#: ajax/contact/saveproperty.php:69 -msgid "Something went FUBAR. " -msgstr "" - -#: ajax/currentphoto.php:30 ajax/oc_photo.php:28 ajax/uploadphoto.php:36 -#: ajax/uploadphoto.php:68 -msgid "No contact ID was submitted." -msgstr "" - -#: ajax/currentphoto.php:36 -msgid "Error reading contact photo." -msgstr "" - -#: ajax/currentphoto.php:48 -msgid "Error saving temporary file." -msgstr "" - -#: ajax/currentphoto.php:51 -msgid "The loading photo is not valid." -msgstr "" - -#: ajax/editname.php:31 -msgid "Contact ID is missing." -msgstr "" - -#: ajax/oc_photo.php:32 -msgid "No photo path was submitted." -msgstr "" - -#: ajax/oc_photo.php:39 -msgid "File doesn't exist:" -msgstr "" - -#: ajax/oc_photo.php:44 ajax/oc_photo.php:47 -msgid "Error loading image." -msgstr "" - -#: ajax/savecrop.php:69 -msgid "Error getting contact object." -msgstr "" - -#: ajax/savecrop.php:79 -msgid "Error getting PHOTO property." -msgstr "" - -#: ajax/savecrop.php:98 -msgid "Error saving contact." -msgstr "" - -#: ajax/savecrop.php:109 -msgid "Error resizing image" -msgstr "" - -#: ajax/savecrop.php:112 -msgid "Error cropping image" -msgstr "" - -#: ajax/savecrop.php:115 -msgid "Error creating temporary image" -msgstr "" - -#: ajax/savecrop.php:118 -msgid "Error finding image: " -msgstr "" - -#: ajax/uploadimport.php:44 ajax/uploadimport.php:76 -msgid "Error uploading contacts to storage." -msgstr "" - -#: ajax/uploadimport.php:61 ajax/uploadphoto.php:77 -msgid "There is no error, the file uploaded with success" -msgstr "" - -#: ajax/uploadimport.php:62 ajax/uploadphoto.php:78 -msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" -msgstr "" - -#: ajax/uploadimport.php:63 ajax/uploadphoto.php:79 -msgid "" -"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " -"the HTML form" -msgstr "" - -#: ajax/uploadimport.php:64 ajax/uploadphoto.php:80 -msgid "The uploaded file was only partially uploaded" -msgstr "" - -#: ajax/uploadimport.php:65 ajax/uploadphoto.php:81 -msgid "No file was uploaded" -msgstr "" - -#: ajax/uploadimport.php:66 ajax/uploadphoto.php:82 -msgid "Missing a temporary folder" -msgstr "" - -#: ajax/uploadphoto.php:59 ajax/uploadphoto.php:109 -msgid "Couldn't save temporary image: " -msgstr "" - -#: ajax/uploadphoto.php:62 ajax/uploadphoto.php:112 -msgid "Couldn't load temporary image: " -msgstr "" - -#: ajax/uploadphoto.php:71 -msgid "No file was uploaded. Unknown error" -msgstr "" - -#: appinfo/app.php:21 -msgid "Contacts" -msgstr "" - -#: js/contacts.js:71 -msgid "Sorry, this functionality has not been implemented yet" -msgstr "" - -#: js/contacts.js:71 -msgid "Not implemented" -msgstr "" - -#: js/contacts.js:76 -msgid "Couldn't get a valid address." -msgstr "" - -#: js/contacts.js:76 js/contacts.js:365 js/contacts.js:381 js/contacts.js:393 -#: js/contacts.js:723 js/contacts.js:763 js/contacts.js:789 js/contacts.js:921 -#: js/contacts.js:927 js/contacts.js:939 js/contacts.js:976 -#: js/contacts.js:1250 js/contacts.js:1258 js/contacts.js:1267 -#: js/contacts.js:1302 js/contacts.js:1338 js/contacts.js:1353 -#: js/contacts.js:1379 js/contacts.js:1609 js/contacts.js:1644 -#: js/contacts.js:1664 js/settings.js:26 js/settings.js:43 js/settings.js:68 -msgid "Error" -msgstr "" - -#: js/contacts.js:424 -msgid "You do not have permission to add contacts to " -msgstr "" - -#: js/contacts.js:425 -msgid "Please select one of your own address books." -msgstr "" - -#: js/contacts.js:425 -msgid "Permission error" -msgstr "" - -#: js/contacts.js:763 -msgid "This property has to be non-empty." -msgstr "" - -#: js/contacts.js:789 -msgid "Couldn't serialize elements." -msgstr "" - -#: js/contacts.js:921 js/contacts.js:939 -msgid "" -"'deleteProperty' called without type argument. Please report at " -"bugs.owncloud.org" -msgstr "" - -#: js/contacts.js:958 -msgid "Edit name" -msgstr "" - -#: js/contacts.js:1250 -msgid "No files selected for upload." -msgstr "" - -#: js/contacts.js:1258 -msgid "" -"The file you are trying to upload exceed the maximum size for file uploads " -"on this server." -msgstr "" - -#: js/contacts.js:1322 -msgid "Error loading profile picture." -msgstr "" - -#: js/contacts.js:1457 js/contacts.js:1498 js/contacts.js:1517 -#: js/contacts.js:1560 -msgid "Select type" -msgstr "" - -#: js/contacts.js:1578 -msgid "" -"Some contacts are marked for deletion, but not deleted yet. Please wait for " -"them to be deleted." -msgstr "" - -#: js/contacts.js:1649 -msgid "Do you want to merge these address books?" -msgstr "" - -#: js/loader.js:49 -msgid "Result: " -msgstr "" - -#: js/loader.js:49 -msgid " imported, " -msgstr "" - -#: js/loader.js:49 -msgid " failed." -msgstr "" - -#: js/settings.js:68 -msgid "Displayname cannot be empty." -msgstr "" - -#: lib/app.php:36 -msgid "Addressbook not found: " -msgstr "" - -#: lib/app.php:52 -msgid "This is not your addressbook." -msgstr "" - -#: lib/app.php:71 -msgid "Contact could not be found." -msgstr "" - -#: lib/app.php:116 -msgid "Jabber" -msgstr "" - -#: lib/app.php:121 -msgid "AIM" -msgstr "" - -#: lib/app.php:126 -msgid "MSN" -msgstr "" - -#: lib/app.php:131 -msgid "Twitter" -msgstr "" - -#: lib/app.php:136 -msgid "GoogleTalk" -msgstr "" - -#: lib/app.php:141 -msgid "Facebook" -msgstr "" - -#: lib/app.php:146 -msgid "XMPP" -msgstr "" - -#: lib/app.php:151 -msgid "ICQ" -msgstr "" - -#: lib/app.php:156 -msgid "Yahoo" -msgstr "" - -#: lib/app.php:161 -msgid "Skype" -msgstr "" - -#: lib/app.php:166 -msgid "QQ" -msgstr "" - -#: lib/app.php:171 -msgid "GaduGadu" -msgstr "" - -#: lib/app.php:194 lib/app.php:202 lib/app.php:213 lib/app.php:266 -msgid "Work" -msgstr "" - -#: lib/app.php:195 lib/app.php:200 lib/app.php:214 -msgid "Home" -msgstr "" - -#: lib/app.php:196 lib/app.php:209 lib/app.php:262 lib/vcard.php:593 -msgid "Other" -msgstr "" - -#: lib/app.php:201 -msgid "Mobile" -msgstr "" - -#: lib/app.php:203 -msgid "Text" -msgstr "" - -#: lib/app.php:204 -msgid "Voice" -msgstr "" - -#: lib/app.php:205 -msgid "Message" -msgstr "" - -#: lib/app.php:206 -msgid "Fax" -msgstr "" - -#: lib/app.php:207 -msgid "Video" -msgstr "" - -#: lib/app.php:208 -msgid "Pager" -msgstr "" - -#: lib/app.php:215 -msgid "Internet" -msgstr "" - -#: lib/app.php:252 templates/part.contact.php:45 -#: templates/part.contact.php:128 -msgid "Birthday" -msgstr "" - -#: lib/app.php:253 -msgid "Business" -msgstr "" - -#: lib/app.php:254 -msgid "Call" -msgstr "" - -#: lib/app.php:255 -msgid "Clients" -msgstr "" - -#: lib/app.php:256 -msgid "Deliverer" -msgstr "" - -#: lib/app.php:257 -msgid "Holidays" -msgstr "" - -#: lib/app.php:258 -msgid "Ideas" -msgstr "" - -#: lib/app.php:259 -msgid "Journey" -msgstr "" - -#: lib/app.php:260 -msgid "Jubilee" -msgstr "" - -#: lib/app.php:261 -msgid "Meeting" -msgstr "" - -#: lib/app.php:263 -msgid "Personal" -msgstr "" - -#: lib/app.php:264 -msgid "Projects" -msgstr "" - -#: lib/app.php:265 -msgid "Questions" -msgstr "" - -#: lib/hooks.php:102 -msgid "{name}'s Birthday" -msgstr "" - -#: lib/search.php:15 -msgid "Contact" -msgstr "" - -#: lib/vcard.php:408 -msgid "You do not have the permissions to edit this contact." -msgstr "" - -#: lib/vcard.php:483 -msgid "You do not have the permissions to delete this contact." -msgstr "" - -#: templates/index.php:14 -msgid "Add Contact" -msgstr "" - -#: templates/index.php:15 templates/index.php:16 templates/part.import.php:17 -msgid "Import" -msgstr "" - -#: templates/index.php:18 -msgid "Settings" -msgstr "" - -#: templates/index.php:18 templates/settings.php:9 -msgid "Addressbooks" -msgstr "" - -#: templates/index.php:36 templates/part.import.php:24 -msgid "Close" -msgstr "" - -#: templates/index.php:37 -msgid "Keyboard shortcuts" -msgstr "" - -#: templates/index.php:39 -msgid "Navigation" -msgstr "" - -#: templates/index.php:42 -msgid "Next contact in list" -msgstr "" - -#: templates/index.php:44 -msgid "Previous contact in list" -msgstr "" - -#: templates/index.php:46 -msgid "Expand/collapse current addressbook" -msgstr "" - -#: templates/index.php:48 -msgid "Next addressbook" -msgstr "" - -#: templates/index.php:50 -msgid "Previous addressbook" -msgstr "" - -#: templates/index.php:54 -msgid "Actions" -msgstr "" - -#: templates/index.php:57 -msgid "Refresh contacts list" -msgstr "" - -#: templates/index.php:59 -msgid "Add new contact" -msgstr "" - -#: templates/index.php:61 -msgid "Add new addressbook" -msgstr "" - -#: templates/index.php:63 -msgid "Delete current contact" -msgstr "" - -#: templates/part.contact.php:17 -msgid "Drop photo to upload" -msgstr "" - -#: templates/part.contact.php:19 -msgid "Delete current photo" -msgstr "" - -#: templates/part.contact.php:20 -msgid "Edit current photo" -msgstr "" - -#: templates/part.contact.php:21 -msgid "Upload new photo" -msgstr "" - -#: templates/part.contact.php:22 -msgid "Select photo from ownCloud" -msgstr "" - -#: templates/part.contact.php:35 -msgid "Format custom, Short name, Full name, Reverse or Reverse with comma" -msgstr "" - -#: templates/part.contact.php:36 -msgid "Edit name details" -msgstr "" - -#: templates/part.contact.php:39 templates/part.contact.php:40 -#: templates/part.contact.php:126 -msgid "Organization" -msgstr "" - -#: templates/part.contact.php:40 templates/part.contact.php:42 -#: templates/part.contact.php:44 templates/part.contact.php:46 -#: templates/part.contact.php:50 templates/settings.php:36 -msgid "Delete" -msgstr "" - -#: templates/part.contact.php:41 templates/part.contact.php:127 -msgid "Nickname" -msgstr "" - -#: templates/part.contact.php:42 -msgid "Enter nickname" -msgstr "" - -#: templates/part.contact.php:43 templates/part.contact.php:134 -msgid "Web site" -msgstr "" - -#: templates/part.contact.php:44 -msgid "http://www.somesite.com" -msgstr "" - -#: templates/part.contact.php:44 -msgid "Go to web site" -msgstr "" - -#: templates/part.contact.php:46 -msgid "dd-mm-yyyy" -msgstr "" - -#: templates/part.contact.php:47 templates/part.contact.php:135 -msgid "Groups" -msgstr "" - -#: templates/part.contact.php:49 -msgid "Separate groups with commas" -msgstr "" - -#: templates/part.contact.php:50 -msgid "Edit groups" -msgstr "" - -#: templates/part.contact.php:59 templates/part.contact.php:73 -#: templates/part.contact.php:98 -msgid "Preferred" -msgstr "" - -#: templates/part.contact.php:60 -msgid "Please specify a valid email address." -msgstr "" - -#: templates/part.contact.php:60 -msgid "Enter email address" -msgstr "" - -#: templates/part.contact.php:64 -msgid "Mail to address" -msgstr "" - -#: templates/part.contact.php:65 -msgid "Delete email address" -msgstr "" - -#: templates/part.contact.php:75 -msgid "Enter phone number" -msgstr "" - -#: templates/part.contact.php:79 -msgid "Delete phone number" -msgstr "" - -#: templates/part.contact.php:100 -msgid "Instant Messenger" -msgstr "" - -#: templates/part.contact.php:101 -msgid "Delete IM" -msgstr "" - -#: templates/part.contact.php:110 -msgid "View on map" -msgstr "" - -#: templates/part.contact.php:110 -msgid "Edit address details" -msgstr "" - -#: templates/part.contact.php:116 -msgid "Add notes here." -msgstr "" - -#: templates/part.contact.php:124 -msgid "Add field" -msgstr "" - -#: templates/part.contact.php:129 -msgid "Phone" -msgstr "" - -#: templates/part.contact.php:130 -msgid "Email" -msgstr "" - -#: templates/part.contact.php:131 -msgid "Instant Messaging" -msgstr "" - -#: templates/part.contact.php:132 -msgid "Address" -msgstr "" - -#: templates/part.contact.php:133 -msgid "Note" -msgstr "" - -#: templates/part.contact.php:138 -msgid "Download contact" -msgstr "" - -#: templates/part.contact.php:139 -msgid "Delete contact" -msgstr "" - -#: templates/part.cropphoto.php:65 -msgid "The temporary image has been removed from cache." -msgstr "" - -#: templates/part.edit_address_dialog.php:6 -msgid "Edit address" -msgstr "" - -#: templates/part.edit_address_dialog.php:10 -msgid "Type" -msgstr "" - -#: templates/part.edit_address_dialog.php:18 -#: templates/part.edit_address_dialog.php:21 -msgid "PO Box" -msgstr "" - -#: templates/part.edit_address_dialog.php:24 -msgid "Street address" -msgstr "" - -#: templates/part.edit_address_dialog.php:27 -msgid "Street and number" -msgstr "" - -#: templates/part.edit_address_dialog.php:30 -msgid "Extended" -msgstr "" - -#: templates/part.edit_address_dialog.php:33 -msgid "Apartment number etc." -msgstr "" - -#: templates/part.edit_address_dialog.php:36 -#: templates/part.edit_address_dialog.php:39 -msgid "City" -msgstr "" - -#: templates/part.edit_address_dialog.php:42 -msgid "Region" -msgstr "" - -#: templates/part.edit_address_dialog.php:45 -msgid "E.g. state or province" -msgstr "" - -#: templates/part.edit_address_dialog.php:48 -msgid "Zipcode" -msgstr "" - -#: templates/part.edit_address_dialog.php:51 -msgid "Postal code" -msgstr "" - -#: templates/part.edit_address_dialog.php:54 -#: templates/part.edit_address_dialog.php:57 -msgid "Country" -msgstr "" - -#: templates/part.edit_name_dialog.php:16 -msgid "Addressbook" -msgstr "" - -#: templates/part.edit_name_dialog.php:23 -msgid "Hon. prefixes" -msgstr "" - -#: templates/part.edit_name_dialog.php:27 -msgid "Miss" -msgstr "" - -#: templates/part.edit_name_dialog.php:28 -msgid "Ms" -msgstr "" - -#: templates/part.edit_name_dialog.php:29 -msgid "Mr" -msgstr "" - -#: templates/part.edit_name_dialog.php:30 -msgid "Sir" -msgstr "" - -#: templates/part.edit_name_dialog.php:31 -msgid "Mrs" -msgstr "" - -#: templates/part.edit_name_dialog.php:32 -msgid "Dr" -msgstr "" - -#: templates/part.edit_name_dialog.php:35 -msgid "Given name" -msgstr "" - -#: templates/part.edit_name_dialog.php:37 -msgid "Additional names" -msgstr "" - -#: templates/part.edit_name_dialog.php:39 -msgid "Family name" -msgstr "" - -#: templates/part.edit_name_dialog.php:41 -msgid "Hon. suffixes" -msgstr "" - -#: templates/part.edit_name_dialog.php:45 -msgid "J.D." -msgstr "" - -#: templates/part.edit_name_dialog.php:46 -msgid "M.D." -msgstr "" - -#: templates/part.edit_name_dialog.php:47 -msgid "D.O." -msgstr "" - -#: templates/part.edit_name_dialog.php:48 -msgid "D.C." -msgstr "" - -#: templates/part.edit_name_dialog.php:49 -msgid "Ph.D." -msgstr "" - -#: templates/part.edit_name_dialog.php:50 -msgid "Esq." -msgstr "" - -#: templates/part.edit_name_dialog.php:51 -msgid "Jr." -msgstr "" - -#: templates/part.edit_name_dialog.php:52 -msgid "Sn." -msgstr "" - -#: templates/part.import.php:1 -msgid "Import a contacts file" -msgstr "" - -#: templates/part.import.php:6 -msgid "Please choose the addressbook" -msgstr "" - -#: templates/part.import.php:10 -msgid "create a new addressbook" -msgstr "" - -#: templates/part.import.php:15 -msgid "Name of new addressbook" -msgstr "" - -#: templates/part.import.php:20 -msgid "Importing contacts" -msgstr "" - -#: templates/part.no_contacts.php:3 -msgid "You have no contacts in your addressbook." -msgstr "" - -#: templates/part.no_contacts.php:5 -msgid "Add contact" -msgstr "" - -#: templates/part.selectaddressbook.php:1 -msgid "Select Address Books" -msgstr "" - -#: templates/part.selectaddressbook.php:27 -msgid "Enter name" -msgstr "" - -#: templates/part.selectaddressbook.php:29 -msgid "Enter description" -msgstr "" - -#: templates/settings.php:3 -msgid "CardDAV syncing addresses" -msgstr "" - -#: templates/settings.php:3 -msgid "more info" -msgstr "" - -#: templates/settings.php:5 -msgid "Primary address (Kontact et al)" -msgstr "" - -#: templates/settings.php:7 -msgid "iOS/OS X" -msgstr "" - -#: templates/settings.php:20 -msgid "Show CardDav link" -msgstr "" - -#: templates/settings.php:23 -msgid "Show read-only VCF link" -msgstr "" - -#: templates/settings.php:26 -msgid "Share" -msgstr "" - -#: templates/settings.php:29 -msgid "Download" -msgstr "" - -#: templates/settings.php:33 -msgid "Edit" -msgstr "" - -#: templates/settings.php:43 -msgid "New Address Book" -msgstr "" - -#: templates/settings.php:44 -msgid "Name" -msgstr "" - -#: templates/settings.php:45 -msgid "Description" -msgstr "" - -#: templates/settings.php:46 -msgid "Save" -msgstr "" - -#: templates/settings.php:47 -msgid "Cancel" -msgstr "" - -#: templates/settings.php:52 -msgid "More..." -msgstr "" diff --git a/l10n/zh_CN.GB2312/core.po b/l10n/zh_CN.GB2312/core.po index ce748b4f8c4f7147f02df8cd8ffd53e543965b38..333806c038d85f1303283b976771bc09e60540be 100644 --- a/l10n/zh_CN.GB2312/core.po +++ b/l10n/zh_CN.GB2312/core.po @@ -9,9 +9,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-16 02:04+0200\n" -"PO-Revision-Date: 2012-10-16 00:05+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-11-16 00:02+0100\n" +"PO-Revision-Date: 2012-11-14 23:13+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Chinese (China) (GB2312) (http://www.transifex.com/projects/p/owncloud/language/zh_CN.GB2312/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -19,209 +19,241 @@ msgstr "" "Language: zh_CN.GB2312\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: ajax/vcategories/add.php:23 ajax/vcategories/delete.php:23 -msgid "Application name not provided." -msgstr "应用程序并没有被提供." +#: ajax/vcategories/add.php:26 ajax/vcategories/edit.php:25 +msgid "Category type not provided." +msgstr "" -#: ajax/vcategories/add.php:29 +#: ajax/vcategories/add.php:30 msgid "No category to add?" msgstr "没有分类添加了?" -#: ajax/vcategories/add.php:36 +#: ajax/vcategories/add.php:37 msgid "This category already exists: " msgstr "这个分类已经存在了:" -#: js/js.js:238 templates/layout.user.php:49 templates/layout.user.php:50 +#: ajax/vcategories/addToFavorites.php:26 ajax/vcategories/delete.php:27 +#: ajax/vcategories/favorites.php:24 +#: ajax/vcategories/removeFromFavorites.php:26 +msgid "Object type not provided." +msgstr "" + +#: ajax/vcategories/addToFavorites.php:30 +#: ajax/vcategories/removeFromFavorites.php:30 +#, php-format +msgid "%s ID not provided." +msgstr "" + +#: ajax/vcategories/addToFavorites.php:35 +#, php-format +msgid "Error adding %s to favorites." +msgstr "" + +#: ajax/vcategories/delete.php:35 js/oc-vcategories.js:136 +msgid "No categories selected for deletion." +msgstr "没有选者要删除的分类." + +#: ajax/vcategories/removeFromFavorites.php:35 +#, php-format +msgid "Error removing %s from favorites." +msgstr "" + +#: js/js.js:243 templates/layout.user.php:59 templates/layout.user.php:60 msgid "Settings" msgstr "设置" -#: js/js.js:670 -msgid "January" -msgstr "一月" +#: js/js.js:688 +msgid "seconds ago" +msgstr "秒前" -#: js/js.js:670 -msgid "February" -msgstr "二月" +#: js/js.js:689 +msgid "1 minute ago" +msgstr "1 分钟前" -#: js/js.js:670 -msgid "March" -msgstr "三月" +#: js/js.js:690 +msgid "{minutes} minutes ago" +msgstr "{minutes} 分钟前" -#: js/js.js:670 -msgid "April" -msgstr "四月" +#: js/js.js:691 +msgid "1 hour ago" +msgstr "" -#: js/js.js:670 -msgid "May" -msgstr "五月" +#: js/js.js:692 +msgid "{hours} hours ago" +msgstr "" -#: js/js.js:670 -msgid "June" -msgstr "六月" +#: js/js.js:693 +msgid "today" +msgstr "今天" -#: js/js.js:671 -msgid "July" -msgstr "七月" +#: js/js.js:694 +msgid "yesterday" +msgstr "昨天" -#: js/js.js:671 -msgid "August" -msgstr "八月" +#: js/js.js:695 +msgid "{days} days ago" +msgstr "{days} 天前" -#: js/js.js:671 -msgid "September" -msgstr "九月" +#: js/js.js:696 +msgid "last month" +msgstr "上个月" -#: js/js.js:671 -msgid "October" -msgstr "十月" +#: js/js.js:697 +msgid "{months} months ago" +msgstr "" -#: js/js.js:671 -msgid "November" -msgstr "十一月" +#: js/js.js:698 +msgid "months ago" +msgstr "月前" -#: js/js.js:671 -msgid "December" -msgstr "十二月" +#: js/js.js:699 +msgid "last year" +msgstr "去年" + +#: js/js.js:700 +msgid "years ago" +msgstr "年前" -#: js/oc-dialogs.js:123 +#: js/oc-dialogs.js:126 msgid "Choose" msgstr "选择" -#: js/oc-dialogs.js:143 js/oc-dialogs.js:163 +#: js/oc-dialogs.js:146 js/oc-dialogs.js:166 msgid "Cancel" msgstr "取消" -#: js/oc-dialogs.js:159 +#: js/oc-dialogs.js:162 msgid "No" msgstr "否" -#: js/oc-dialogs.js:160 +#: js/oc-dialogs.js:163 msgid "Yes" msgstr "是" -#: js/oc-dialogs.js:177 +#: js/oc-dialogs.js:180 msgid "Ok" msgstr "好的" -#: js/oc-vcategories.js:68 -msgid "No categories selected for deletion." -msgstr "没有选者要删除的分类." +#: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102 +#: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162 +msgid "The object type is not specified." +msgstr "" -#: js/oc-vcategories.js:68 js/share.js:114 js/share.js:121 js/share.js:497 -#: js/share.js:509 +#: js/oc-vcategories.js:95 js/oc-vcategories.js:125 js/oc-vcategories.js:136 +#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:525 +#: js/share.js:537 msgid "Error" msgstr "错误" -#: js/share.js:103 +#: js/oc-vcategories.js:179 +msgid "The app name is not specified." +msgstr "" + +#: js/oc-vcategories.js:194 +msgid "The required file {file} is not installed!" +msgstr "" + +#: js/share.js:124 msgid "Error while sharing" msgstr "分享出错" -#: js/share.js:114 +#: js/share.js:135 msgid "Error while unsharing" msgstr "取消分享出错" -#: js/share.js:121 +#: js/share.js:142 msgid "Error while changing permissions" msgstr "变更权限出错" -#: js/share.js:130 -msgid "Shared with you and the group" -msgstr "与您和小组成员分享" +#: js/share.js:151 +msgid "Shared with you and the group {group} by {owner}" +msgstr "由 {owner} 与您和 {group} 群组分享" -#: js/share.js:130 -msgid "by" -msgstr "由" - -#: js/share.js:132 -msgid "Shared with you by" -msgstr "与您的分享,由" +#: js/share.js:153 +msgid "Shared with you by {owner}" +msgstr "由 {owner} 与您分享" -#: js/share.js:137 +#: js/share.js:158 msgid "Share with" msgstr "分享" -#: js/share.js:142 +#: js/share.js:163 msgid "Share with link" msgstr "分享链接" -#: js/share.js:143 +#: js/share.js:164 msgid "Password protect" msgstr "密码保护" -#: js/share.js:147 templates/installation.php:42 templates/login.php:24 +#: js/share.js:168 templates/installation.php:42 templates/login.php:24 #: templates/verify.php:13 msgid "Password" msgstr "密码" -#: js/share.js:152 +#: js/share.js:173 msgid "Set expiration date" msgstr "设置失效日期" -#: js/share.js:153 +#: js/share.js:174 msgid "Expiration date" msgstr "失效日期" -#: js/share.js:185 +#: js/share.js:206 msgid "Share via email:" msgstr "通过电子邮件分享:" -#: js/share.js:187 +#: js/share.js:208 msgid "No people found" msgstr "查无此人" -#: js/share.js:214 +#: js/share.js:235 msgid "Resharing is not allowed" msgstr "不允许重复分享" -#: js/share.js:250 -msgid "Shared in" -msgstr "分享在" - -#: js/share.js:250 -msgid "with" -msgstr "与" - #: js/share.js:271 +msgid "Shared in {item} with {user}" +msgstr "已经与 {user} 在 {item} 中分享" + +#: js/share.js:292 msgid "Unshare" msgstr "取消分享" -#: js/share.js:283 +#: js/share.js:304 msgid "can edit" msgstr "可编辑" -#: js/share.js:285 +#: js/share.js:306 msgid "access control" msgstr "访问控制" -#: js/share.js:288 +#: js/share.js:309 msgid "create" msgstr "创建" -#: js/share.js:291 +#: js/share.js:312 msgid "update" msgstr "更新" -#: js/share.js:294 +#: js/share.js:315 msgid "delete" msgstr "删除" -#: js/share.js:297 +#: js/share.js:318 msgid "share" msgstr "分享" -#: js/share.js:322 js/share.js:484 +#: js/share.js:343 js/share.js:512 js/share.js:514 msgid "Password protected" msgstr "密码保护" -#: js/share.js:497 +#: js/share.js:525 msgid "Error unsetting expiration date" msgstr "取消设置失效日期出错" -#: js/share.js:509 +#: js/share.js:537 msgid "Error setting expiration date" msgstr "设置失效日期出错" -#: lostpassword/index.php:26 +#: lostpassword/controller.php:47 msgid "ownCloud password reset" msgstr "私有云密码重置" @@ -234,12 +266,12 @@ msgid "You will receive a link to reset your password via Email." msgstr "你将会收到一个重置密码的链接" #: lostpassword/templates/lostpassword.php:5 -msgid "Requested" -msgstr "请求" +msgid "Reset email send." +msgstr "重置邮件已发送。" #: lostpassword/templates/lostpassword.php:8 -msgid "Login failed!" -msgstr "登陆失败!" +msgid "Request failed!" +msgstr "请求失败!" #: lostpassword/templates/lostpassword.php:11 templates/installation.php:38 #: templates/login.php:20 @@ -298,25 +330,25 @@ msgstr "云 没有被找到" msgid "Edit categories" msgstr "编辑分类" -#: templates/edit_categories_dialog.php:14 +#: templates/edit_categories_dialog.php:16 msgid "Add" msgstr "添加" #: templates/installation.php:23 templates/installation.php:31 msgid "Security Warning" -msgstr "" +msgstr "安全警告" #: templates/installation.php:24 msgid "" "No secure random number generator is available, please enable the PHP " "OpenSSL extension." -msgstr "" +msgstr "没有安全随机码生成器,请启用 PHP OpenSSL 扩展。" #: templates/installation.php:26 msgid "" "Without a secure random number generator an attacker may be able to predict " "password reset tokens and take over your account." -msgstr "" +msgstr "没有安全随机码生成器,黑客可以预测密码重置令牌并接管你的账户。" #: templates/installation.php:32 msgid "" @@ -325,7 +357,7 @@ msgid "" "strongly suggest that you configure your webserver in a way that the data " "directory is no longer accessible or you move the data directory outside the" " webserver document root." -msgstr "" +msgstr "您的数据文件夹和您的文件或许能够从互联网访问。ownCloud 提供的 .htaccesss 文件未其作用。我们强烈建议您配置网络服务器以使数据文件夹不能从互联网访问,或将移动数据文件夹移出网络服务器文档根目录。" #: templates/installation.php:36 msgid "Create an admin account" @@ -372,27 +404,103 @@ msgstr "数据库主机" msgid "Finish setup" msgstr "完成安装" -#: templates/layout.guest.php:38 +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Sunday" +msgstr "星期天" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Monday" +msgstr "星期一" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Tuesday" +msgstr "星期二" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Wednesday" +msgstr "星期三" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Thursday" +msgstr "星期四" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Friday" +msgstr "星期五" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Saturday" +msgstr "星期六" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "January" +msgstr "一月" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "February" +msgstr "二月" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "March" +msgstr "三月" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "April" +msgstr "四月" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "May" +msgstr "五月" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "June" +msgstr "六月" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "July" +msgstr "七月" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "August" +msgstr "八月" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "September" +msgstr "九月" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "October" +msgstr "十月" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "November" +msgstr "十一月" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "December" +msgstr "十二月" + +#: templates/layout.guest.php:41 msgid "web services under your control" msgstr "你控制下的网络服务" -#: templates/layout.user.php:34 +#: templates/layout.user.php:44 msgid "Log out" msgstr "注销" #: templates/login.php:8 msgid "Automatic logon rejected!" -msgstr "" +msgstr "自动登录被拒绝!" #: templates/login.php:9 msgid "" "If you did not change your password recently, your account may be " "compromised!" -msgstr "" +msgstr "如果您最近没有修改您的密码,那您的帐号可能被攻击了!" #: templates/login.php:10 msgid "Please change your password to secure your account again." -msgstr "" +msgstr "请修改您的密码以保护账户。" #: templates/login.php:15 msgid "Lost your password?" @@ -420,14 +528,14 @@ msgstr "前进" #: templates/verify.php:5 msgid "Security Warning!" -msgstr "" +msgstr "安全警告!" #: templates/verify.php:6 msgid "" "Please verify your password.
For security reasons you may be " "occasionally asked to enter your password again." -msgstr "" +msgstr "请确认您的密码。
处于安全原因你偶尔也会被要求再次输入您的密码。" #: templates/verify.php:16 msgid "Verify" -msgstr "" +msgstr "确认" diff --git a/l10n/zh_CN.GB2312/files.po b/l10n/zh_CN.GB2312/files.po index 25c2fb24003f9fba95ec74af513eb92a4a4bfec5..7c74914a97f00668a18fc84f84541f237fe84f58 100644 --- a/l10n/zh_CN.GB2312/files.po +++ b/l10n/zh_CN.GB2312/files.po @@ -9,9 +9,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-12 02:03+0200\n" -"PO-Revision-Date: 2012-10-11 23:48+0000\n" -"Last-Translator: marguerite su \n" +"POT-Creation-Date: 2012-12-01 00:01+0100\n" +"PO-Revision-Date: 2012-11-30 23:02+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Chinese (China) (GB2312) (http://www.transifex.com/projects/p/owncloud/language/zh_CN.GB2312/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -24,195 +24,166 @@ msgid "There is no error, the file uploaded with success" msgstr "没有任何错误,文件上传成功了" #: ajax/upload.php:21 -msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" -msgstr "上传的文件超过了php.ini指定的upload_max_filesize" +msgid "" +"The uploaded file exceeds the upload_max_filesize directive in php.ini: " +msgstr "" -#: ajax/upload.php:22 +#: ajax/upload.php:23 msgid "" "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " "the HTML form" msgstr "上传的文件超过了HTML表单指定的MAX_FILE_SIZE" -#: ajax/upload.php:23 +#: ajax/upload.php:25 msgid "The uploaded file was only partially uploaded" msgstr "文件只有部分被上传" -#: ajax/upload.php:24 +#: ajax/upload.php:26 msgid "No file was uploaded" msgstr "没有上传完成的文件" -#: ajax/upload.php:25 +#: ajax/upload.php:27 msgid "Missing a temporary folder" msgstr "丢失了一个临时文件夹" -#: ajax/upload.php:26 +#: ajax/upload.php:28 msgid "Failed to write to disk" msgstr "写磁盘失败" -#: appinfo/app.php:6 +#: appinfo/app.php:10 msgid "Files" msgstr "文件" -#: js/fileactions.js:108 templates/index.php:62 +#: js/fileactions.js:117 templates/index.php:83 templates/index.php:84 msgid "Unshare" msgstr "取消共享" -#: js/fileactions.js:110 templates/index.php:64 +#: js/fileactions.js:119 templates/index.php:89 templates/index.php:90 msgid "Delete" msgstr "删除" -#: js/fileactions.js:182 +#: js/fileactions.js:181 msgid "Rename" msgstr "重命名" -#: js/filelist.js:192 js/filelist.js:194 -msgid "already exists" -msgstr "已经存在了" +#: js/filelist.js:201 js/filelist.js:203 +msgid "{new_name} already exists" +msgstr "{new_name} 已存在" -#: js/filelist.js:192 js/filelist.js:194 +#: js/filelist.js:201 js/filelist.js:203 msgid "replace" msgstr "替换" -#: js/filelist.js:192 +#: js/filelist.js:201 msgid "suggest name" msgstr "推荐名称" -#: js/filelist.js:192 js/filelist.js:194 +#: js/filelist.js:201 js/filelist.js:203 msgid "cancel" msgstr "取消" -#: js/filelist.js:241 js/filelist.js:243 -msgid "replaced" -msgstr "替换过了" +#: js/filelist.js:250 +msgid "replaced {new_name}" +msgstr "已替换 {new_name}" -#: js/filelist.js:241 js/filelist.js:243 js/filelist.js:275 js/filelist.js:277 +#: js/filelist.js:250 js/filelist.js:252 js/filelist.js:284 js/filelist.js:286 msgid "undo" msgstr "撤销" -#: js/filelist.js:243 -msgid "with" -msgstr "随着" +#: js/filelist.js:252 +msgid "replaced {new_name} with {old_name}" +msgstr "已用 {old_name} 替换 {new_name}" -#: js/filelist.js:275 -msgid "unshared" -msgstr "已取消共享" +#: js/filelist.js:284 +msgid "unshared {files}" +msgstr "未分享的 {files}" -#: js/filelist.js:277 -msgid "deleted" -msgstr "删除" +#: js/filelist.js:286 +msgid "deleted {files}" +msgstr "已删除的 {files}" + +#: js/files.js:33 +msgid "" +"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not " +"allowed." +msgstr "" -#: js/files.js:179 +#: js/files.js:183 msgid "generating ZIP-file, it may take some time." msgstr "正在生成ZIP文件,这可能需要点时间" -#: js/files.js:214 +#: js/files.js:218 msgid "Unable to upload your file as it is a directory or has 0 bytes" msgstr "不能上传你指定的文件,可能因为它是个文件夹或者大小为0" -#: js/files.js:214 +#: js/files.js:218 msgid "Upload Error" msgstr "上传错误" -#: js/files.js:242 js/files.js:347 js/files.js:377 +#: js/files.js:235 +msgid "Close" +msgstr "关闭" + +#: js/files.js:254 js/files.js:368 js/files.js:398 msgid "Pending" msgstr "Pending" -#: js/files.js:262 +#: js/files.js:274 msgid "1 file uploading" msgstr "1 个文件正在上传" -#: js/files.js:265 js/files.js:310 js/files.js:325 -msgid "files uploading" -msgstr "个文件正在上传" +#: js/files.js:277 js/files.js:331 js/files.js:346 +msgid "{count} files uploading" +msgstr "{count} 个文件正在上传" -#: js/files.js:328 js/files.js:361 +#: js/files.js:349 js/files.js:382 msgid "Upload cancelled." msgstr "上传取消了" -#: js/files.js:430 +#: js/files.js:451 msgid "" "File upload is in progress. Leaving the page now will cancel the upload." msgstr "文件正在上传。关闭页面会取消上传。" -#: js/files.js:500 -msgid "Invalid name, '/' is not allowed." -msgstr "非法文件名,\"/\"是不被许可的" +#: js/files.js:523 +msgid "Invalid folder name. Usage of \"Shared\" is reserved by Owncloud" +msgstr "" -#: js/files.js:681 -msgid "files scanned" -msgstr "文件已扫描" +#: js/files.js:704 +msgid "{count} files scanned" +msgstr "{count} 个文件已扫描" -#: js/files.js:689 +#: js/files.js:712 msgid "error while scanning" msgstr "扫描出错" -#: js/files.js:762 templates/index.php:48 +#: js/files.js:785 templates/index.php:65 msgid "Name" msgstr "名字" -#: js/files.js:763 templates/index.php:56 +#: js/files.js:786 templates/index.php:76 msgid "Size" msgstr "大小" -#: js/files.js:764 templates/index.php:58 +#: js/files.js:787 templates/index.php:78 msgid "Modified" msgstr "修改日期" -#: js/files.js:791 -msgid "folder" -msgstr "文件夹" - -#: js/files.js:793 -msgid "folders" -msgstr "文件夹" +#: js/files.js:814 +msgid "1 folder" +msgstr "1 个文件夹" -#: js/files.js:801 -msgid "file" -msgstr "文件" - -#: js/files.js:803 -msgid "files" -msgstr "文件" +#: js/files.js:816 +msgid "{count} folders" +msgstr "{count} 个文件夹" -#: js/files.js:847 -msgid "seconds ago" -msgstr "秒前" +#: js/files.js:824 +msgid "1 file" +msgstr "1 个文件" -#: js/files.js:848 -msgid "minute ago" -msgstr "分钟前" - -#: js/files.js:849 -msgid "minutes ago" -msgstr "分钟前" - -#: js/files.js:852 -msgid "today" -msgstr "今天" - -#: js/files.js:853 -msgid "yesterday" -msgstr "昨天" - -#: js/files.js:854 -msgid "days ago" -msgstr "天前" - -#: js/files.js:855 -msgid "last month" -msgstr "上个月" - -#: js/files.js:857 -msgid "months ago" -msgstr "月前" - -#: js/files.js:858 -msgid "last year" -msgstr "去年" - -#: js/files.js:859 -msgid "years ago" -msgstr "年前" +#: js/files.js:826 +msgid "{count} files" +msgstr "{count} 个文件" #: templates/admin.php:5 msgid "File handling" @@ -222,27 +193,27 @@ msgstr "文件处理中" msgid "Maximum upload size" msgstr "最大上传大小" -#: templates/admin.php:7 +#: templates/admin.php:9 msgid "max. possible: " msgstr "最大可能" -#: templates/admin.php:9 +#: templates/admin.php:12 msgid "Needed for multi-file and folder downloads." msgstr "需要多文件和文件夹下载." -#: templates/admin.php:9 +#: templates/admin.php:14 msgid "Enable ZIP-download" msgstr "支持ZIP下载" -#: templates/admin.php:11 +#: templates/admin.php:17 msgid "0 is unlimited" msgstr "0是无限的" -#: templates/admin.php:12 +#: templates/admin.php:19 msgid "Maximum input size for ZIP files" msgstr "最大的ZIP文件输入大小" -#: templates/admin.php:14 +#: templates/admin.php:23 msgid "Save" msgstr "保存" @@ -250,52 +221,48 @@ msgstr "保存" msgid "New" msgstr "新建" -#: templates/index.php:9 +#: templates/index.php:10 msgid "Text file" msgstr "文本文档" -#: templates/index.php:10 +#: templates/index.php:12 msgid "Folder" msgstr "文件夹" -#: templates/index.php:11 -msgid "From url" -msgstr "从URL:" +#: templates/index.php:14 +msgid "From link" +msgstr "来自链接" -#: templates/index.php:20 +#: templates/index.php:35 msgid "Upload" msgstr "上传" -#: templates/index.php:27 +#: templates/index.php:43 msgid "Cancel upload" msgstr "取消上传" -#: templates/index.php:40 +#: templates/index.php:57 msgid "Nothing in here. Upload something!" msgstr "这里没有东西.上传点什么!" -#: templates/index.php:50 -msgid "Share" -msgstr "分享" - -#: templates/index.php:52 +#: templates/index.php:71 msgid "Download" msgstr "下载" -#: templates/index.php:75 +#: templates/index.php:103 msgid "Upload too large" msgstr "上传的文件太大了" -#: templates/index.php:77 +#: templates/index.php:105 msgid "" "The files you are trying to upload exceed the maximum size for file uploads " "on this server." msgstr "你正在试图上传的文件超过了此服务器支持的最大的文件大小." -#: templates/index.php:82 +#: templates/index.php:110 msgid "Files are being scanned, please wait." msgstr "正在扫描文件,请稍候." -#: templates/index.php:85 +#: templates/index.php:113 msgid "Current scanning" msgstr "正在扫描" diff --git a/l10n/zh_CN.GB2312/files_external.po b/l10n/zh_CN.GB2312/files_external.po index 426e58b01a3a178422621d8e462f57955913f522..5405371e71d16288c9b9c2dd34f11800b184e3ca 100644 --- a/l10n/zh_CN.GB2312/files_external.po +++ b/l10n/zh_CN.GB2312/files_external.po @@ -8,9 +8,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-12 02:03+0200\n" -"PO-Revision-Date: 2012-10-11 23:47+0000\n" -"Last-Translator: marguerite su \n" +"POT-Creation-Date: 2012-12-12 00:12+0100\n" +"PO-Revision-Date: 2012-12-11 23:13+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Chinese (China) (GB2312) (http://www.transifex.com/projects/p/owncloud/language/zh_CN.GB2312/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -42,66 +42,80 @@ msgstr "请提供一个有效的 Dropbox app key 和 secret。" msgid "Error configuring Google Drive storage" msgstr "配置 Google Drive 存储失败" +#: lib/config.php:434 +msgid "" +"Warning: \"smbclient\" is not installed. Mounting of CIFS/SMB shares " +"is not possible. Please ask your system administrator to install it." +msgstr "" + +#: lib/config.php:435 +msgid "" +"Warning: The FTP support in PHP is not enabled or installed. Mounting" +" of FTP shares is not possible. Please ask your system administrator to " +"install it." +msgstr "" + #: templates/settings.php:3 msgid "External Storage" msgstr "外部存储" -#: templates/settings.php:7 templates/settings.php:19 +#: templates/settings.php:8 templates/settings.php:22 msgid "Mount point" msgstr "挂载点" -#: templates/settings.php:8 +#: templates/settings.php:9 msgid "Backend" msgstr "后端" -#: templates/settings.php:9 +#: templates/settings.php:10 msgid "Configuration" msgstr "配置" -#: templates/settings.php:10 +#: templates/settings.php:11 msgid "Options" msgstr "选项" -#: templates/settings.php:11 +#: templates/settings.php:12 msgid "Applicable" msgstr "可应用" -#: templates/settings.php:23 +#: templates/settings.php:27 msgid "Add mount point" msgstr "添加挂载点" -#: templates/settings.php:54 templates/settings.php:62 +#: templates/settings.php:85 msgid "None set" msgstr "未设置" -#: templates/settings.php:63 +#: templates/settings.php:86 msgid "All Users" msgstr "所有用户" -#: templates/settings.php:64 +#: templates/settings.php:87 msgid "Groups" msgstr "群组" -#: templates/settings.php:69 +#: templates/settings.php:95 msgid "Users" msgstr "用户" -#: templates/settings.php:77 templates/settings.php:107 +#: templates/settings.php:108 templates/settings.php:109 +#: templates/settings.php:149 templates/settings.php:150 msgid "Delete" msgstr "删除" -#: templates/settings.php:87 +#: templates/settings.php:124 msgid "Enable User External Storage" msgstr "启用用户外部存储" -#: templates/settings.php:88 +#: templates/settings.php:125 msgid "Allow users to mount their own external storage" msgstr "允许用户挂载他们的外部存储" -#: templates/settings.php:99 +#: templates/settings.php:139 msgid "SSL root certificates" msgstr "SSL 根证书" -#: templates/settings.php:113 +#: templates/settings.php:158 msgid "Import Root Certificate" msgstr "导入根证书" diff --git a/l10n/zh_CN.GB2312/files_pdfviewer.po b/l10n/zh_CN.GB2312/files_pdfviewer.po deleted file mode 100644 index a8c53c751dd16992636580d15b2aa8b3bf69505d..0000000000000000000000000000000000000000 --- a/l10n/zh_CN.GB2312/files_pdfviewer.po +++ /dev/null @@ -1,42 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 02:18+0200\n" -"PO-Revision-Date: 2012-08-26 00:19+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Chinese (China) (GB2312) (http://www.transifex.com/projects/p/owncloud/language/zh_CN.GB2312/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: zh_CN.GB2312\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: js/viewer.js:22 -msgid "Previous" -msgstr "" - -#: js/viewer.js:23 -msgid "Next" -msgstr "" - -#: js/viewer.js:29 -msgid "Page Width" -msgstr "" - -#: js/viewer.js:29 -msgid "Page Fit" -msgstr "" - -#: js/viewer.js:30 -msgid "Print" -msgstr "" - -#: js/viewer.js:32 -msgid "Download" -msgstr "" diff --git a/l10n/zh_CN.GB2312/files_texteditor.po b/l10n/zh_CN.GB2312/files_texteditor.po deleted file mode 100644 index 2e1dfee3c86b29ab36e446ddca614d00828e790d..0000000000000000000000000000000000000000 --- a/l10n/zh_CN.GB2312/files_texteditor.po +++ /dev/null @@ -1,44 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 01:17+0200\n" -"PO-Revision-Date: 2012-08-25 23:18+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Chinese (China) (GB2312) (http://www.transifex.com/projects/p/owncloud/language/zh_CN.GB2312/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: zh_CN.GB2312\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: js/aceeditor/mode-coldfusion-uncompressed.js:1568 -#: js/aceeditor/mode-liquid-uncompressed.js:902 -#: js/aceeditor/mode-svg-uncompressed.js:1575 -msgid "regex" -msgstr "" - -#: js/editor.js:72 js/editor.js:156 js/editor.js:163 -msgid "Save" -msgstr "" - -#: js/editor.js:74 -msgid "Close" -msgstr "" - -#: js/editor.js:149 -msgid "Saving..." -msgstr "" - -#: js/editor.js:239 -msgid "An error occurred!" -msgstr "" - -#: js/editor.js:266 -msgid "There were unsaved changes, click here to go back" -msgstr "" diff --git a/l10n/zh_CN.GB2312/gallery.po b/l10n/zh_CN.GB2312/gallery.po deleted file mode 100644 index 32b2ed7179fb96631670538887ae06a85ba28455..0000000000000000000000000000000000000000 --- a/l10n/zh_CN.GB2312/gallery.po +++ /dev/null @@ -1,58 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-11 02:02+0200\n" -"PO-Revision-Date: 2012-01-15 13:48+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Chinese (China) (GB2312) (http://www.transifex.com/projects/p/owncloud/language/zh_CN.GB2312/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: zh_CN.GB2312\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: appinfo/app.php:39 -msgid "Pictures" -msgstr "" - -#: js/pictures.js:12 -msgid "Share gallery" -msgstr "" - -#: js/pictures.js:32 -msgid "Error: " -msgstr "" - -#: js/pictures.js:32 -msgid "Internal error" -msgstr "" - -#: templates/index.php:27 -msgid "Slideshow" -msgstr "" - -#: templates/view_album.php:19 -msgid "Back" -msgstr "" - -#: templates/view_album.php:36 -msgid "Remove confirmation" -msgstr "" - -#: templates/view_album.php:37 -msgid "Do you want to remove album" -msgstr "" - -#: templates/view_album.php:40 -msgid "Change album name" -msgstr "" - -#: templates/view_album.php:43 -msgid "New album name" -msgstr "" diff --git a/l10n/zh_CN.GB2312/impress.po b/l10n/zh_CN.GB2312/impress.po deleted file mode 100644 index 64aa634938d4763bb9c918659de0d3af305f5e8c..0000000000000000000000000000000000000000 --- a/l10n/zh_CN.GB2312/impress.po +++ /dev/null @@ -1,22 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 01:17+0200\n" -"PO-Revision-Date: 2012-08-25 23:18+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Chinese (China) (GB2312) (http://www.transifex.com/projects/p/owncloud/language/zh_CN.GB2312/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: zh_CN.GB2312\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: templates/presentations.php:7 -msgid "Documentation" -msgstr "" diff --git a/l10n/zh_CN.GB2312/lib.po b/l10n/zh_CN.GB2312/lib.po index 4eac71c656e79dabb79d4dcbab03432080daf87c..c32ef2de62caf50029587e8485f2302b95d00fd1 100644 --- a/l10n/zh_CN.GB2312/lib.po +++ b/l10n/zh_CN.GB2312/lib.po @@ -8,9 +8,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-09-18 02:01+0200\n" -"PO-Revision-Date: 2012-09-17 12:19+0000\n" -"Last-Translator: marguerite su \n" +"POT-Creation-Date: 2012-11-16 00:02+0100\n" +"PO-Revision-Date: 2012-11-14 23:13+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Chinese (China) (GB2312) (http://www.transifex.com/projects/p/owncloud/language/zh_CN.GB2312/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -42,19 +42,19 @@ msgstr "程序" msgid "Admin" msgstr "管理员" -#: files.php:280 +#: files.php:332 msgid "ZIP download is turned off." msgstr "ZIP 下载已关闭" -#: files.php:281 +#: files.php:333 msgid "Files need to be downloaded one by one." msgstr "需要逐个下载文件。" -#: files.php:281 files.php:306 +#: files.php:333 files.php:358 msgid "Back to Files" msgstr "返回到文件" -#: files.php:305 +#: files.php:357 msgid "Selected files too large to generate zip file." msgstr "选择的文件太大而不能生成 zip 文件。" @@ -62,7 +62,7 @@ msgstr "选择的文件太大而不能生成 zip 文件。" msgid "Application is not enabled" msgstr "应用未启用" -#: json.php:39 json.php:63 json.php:75 +#: json.php:39 json.php:64 json.php:77 json.php:89 msgid "Authentication error" msgstr "验证错误" @@ -70,57 +70,84 @@ msgstr "验证错误" msgid "Token expired. Please reload page." msgstr "会话过期。请刷新页面。" -#: template.php:87 +#: search/provider/file.php:17 search/provider/file.php:35 +msgid "Files" +msgstr "文件" + +#: search/provider/file.php:26 search/provider/file.php:33 +msgid "Text" +msgstr "文本" + +#: search/provider/file.php:29 +msgid "Images" +msgstr "图片" + +#: template.php:103 msgid "seconds ago" msgstr "秒前" -#: template.php:88 +#: template.php:104 msgid "1 minute ago" msgstr "1 分钟前" -#: template.php:89 +#: template.php:105 #, php-format msgid "%d minutes ago" msgstr "%d 分钟前" -#: template.php:92 +#: template.php:106 +msgid "1 hour ago" +msgstr "" + +#: template.php:107 +#, php-format +msgid "%d hours ago" +msgstr "" + +#: template.php:108 msgid "today" msgstr "今天" -#: template.php:93 +#: template.php:109 msgid "yesterday" msgstr "昨天" -#: template.php:94 +#: template.php:110 #, php-format msgid "%d days ago" msgstr "%d 天前" -#: template.php:95 +#: template.php:111 msgid "last month" msgstr "上个月" -#: template.php:96 -msgid "months ago" -msgstr "月前" +#: template.php:112 +#, php-format +msgid "%d months ago" +msgstr "" -#: template.php:97 +#: template.php:113 msgid "last year" msgstr "去年" -#: template.php:98 +#: template.php:114 msgid "years ago" msgstr "年前" -#: updater.php:66 +#: updater.php:75 #, php-format msgid "%s is available. Get more information" msgstr "%s 不可用。获知 详情" -#: updater.php:68 +#: updater.php:77 msgid "up to date" msgstr "最新" -#: updater.php:71 +#: updater.php:80 msgid "updates check is disabled" msgstr "更新检测已禁用" + +#: vcategories.php:188 vcategories.php:249 +#, php-format +msgid "Could not find category \"%s\"" +msgstr "" diff --git a/l10n/zh_CN.GB2312/media.po b/l10n/zh_CN.GB2312/media.po deleted file mode 100644 index 844e38b16f2f4402ed974b79b5300972be068920..0000000000000000000000000000000000000000 --- a/l10n/zh_CN.GB2312/media.po +++ /dev/null @@ -1,67 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-12 02:02+0200\n" -"PO-Revision-Date: 2012-08-11 14:06+0000\n" -"Last-Translator: bluehattree \n" -"Language-Team: Chinese (China) (GB2312) (http://www.transifex.com/projects/p/owncloud/language/zh_CN.GB2312/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: zh_CN.GB2312\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: appinfo/app.php:45 templates/player.php:8 -msgid "Music" -msgstr "音乐" - -#: js/music.js:18 -msgid "Add album to playlist" -msgstr "添加专辑到播放列表" - -#: templates/music.php:3 templates/player.php:12 -msgid "Play" -msgstr "播放" - -#: templates/music.php:4 templates/music.php:26 templates/player.php:13 -msgid "Pause" -msgstr "暂停" - -#: templates/music.php:5 -msgid "Previous" -msgstr "前面的" - -#: templates/music.php:6 templates/player.php:14 -msgid "Next" -msgstr "下一个" - -#: templates/music.php:7 -msgid "Mute" -msgstr "静音" - -#: templates/music.php:8 -msgid "Unmute" -msgstr "取消静音" - -#: templates/music.php:25 -msgid "Rescan Collection" -msgstr "重新扫描收藏" - -#: templates/music.php:37 -msgid "Artist" -msgstr "艺术家" - -#: templates/music.php:38 -msgid "Album" -msgstr "专辑" - -#: templates/music.php:39 -msgid "Title" -msgstr "标题" diff --git a/l10n/zh_CN.GB2312/settings.po b/l10n/zh_CN.GB2312/settings.po index 292d5760fcdab5735849bc7a72f04e3cde836f78..8dee70c1dde731c8e7df4e2447a764cdda21cddf 100644 --- a/l10n/zh_CN.GB2312/settings.po +++ b/l10n/zh_CN.GB2312/settings.po @@ -9,9 +9,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-09 02:03+0200\n" -"PO-Revision-Date: 2012-10-09 00:04+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-12-03 00:04+0100\n" +"PO-Revision-Date: 2012-12-02 03:18+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Chinese (China) (GB2312) (http://www.transifex.com/projects/p/owncloud/language/zh_CN.GB2312/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -19,70 +19,73 @@ msgstr "" "Language: zh_CN.GB2312\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: ajax/apps/ocs.php:23 +#: ajax/apps/ocs.php:20 msgid "Unable to load list from App Store" msgstr "不能从App Store 中加载列表" -#: ajax/creategroup.php:9 ajax/removeuser.php:13 ajax/setquota.php:18 -#: ajax/togglegroups.php:15 -msgid "Authentication error" -msgstr "认证错误" - -#: ajax/creategroup.php:19 +#: ajax/creategroup.php:10 msgid "Group already exists" msgstr "群组已存在" -#: ajax/creategroup.php:28 +#: ajax/creategroup.php:19 msgid "Unable to add group" msgstr "未能添加群组" -#: ajax/enableapp.php:14 +#: ajax/enableapp.php:12 msgid "Could not enable app. " msgstr "未能启用应用" -#: ajax/lostpassword.php:14 +#: ajax/lostpassword.php:12 msgid "Email saved" msgstr "Email 保存了" -#: ajax/lostpassword.php:16 +#: ajax/lostpassword.php:14 msgid "Invalid email" msgstr "非法Email" -#: ajax/openid.php:16 +#: ajax/openid.php:13 msgid "OpenID Changed" msgstr "OpenID 改变了" -#: ajax/openid.php:18 ajax/setlanguage.php:20 ajax/setlanguage.php:23 +#: ajax/openid.php:15 ajax/setlanguage.php:17 ajax/setlanguage.php:20 msgid "Invalid request" msgstr "非法请求" -#: ajax/removegroup.php:16 +#: ajax/removegroup.php:13 msgid "Unable to delete group" msgstr "未能删除群组" -#: ajax/removeuser.php:22 +#: ajax/removeuser.php:15 ajax/setquota.php:15 ajax/togglegroups.php:18 +msgid "Authentication error" +msgstr "认证错误" + +#: ajax/removeuser.php:24 msgid "Unable to delete user" msgstr "未能删除用户" -#: ajax/setlanguage.php:18 +#: ajax/setlanguage.php:15 msgid "Language changed" msgstr "语言改变了" -#: ajax/togglegroups.php:25 +#: ajax/togglegroups.php:12 +msgid "Admins can't remove themself from the admin group" +msgstr "" + +#: ajax/togglegroups.php:28 #, php-format msgid "Unable to add user to group %s" msgstr "未能添加用户到群组 %s" -#: ajax/togglegroups.php:31 +#: ajax/togglegroups.php:34 #, php-format msgid "Unable to remove user from group %s" msgstr "未能将用户从群组 %s 移除" -#: js/apps.js:28 js/apps.js:65 +#: js/apps.js:28 js/apps.js:67 msgid "Disable" msgstr "禁用" -#: js/apps.js:28 js/apps.js:54 +#: js/apps.js:28 js/apps.js:55 msgid "Enable" msgstr "启用" @@ -90,104 +93,17 @@ msgstr "启用" msgid "Saving..." msgstr "保存中..." -#: personal.php:47 personal.php:48 +#: personal.php:42 personal.php:43 msgid "__language_name__" msgstr "Chinese" -#: templates/admin.php:14 -msgid "Security Warning" -msgstr "安全警告" - -#: templates/admin.php:17 -msgid "" -"Your data directory and your files are probably accessible from the " -"internet. The .htaccess file that ownCloud provides is not working. We " -"strongly suggest that you configure your webserver in a way that the data " -"directory is no longer accessible or you move the data directory outside the" -" webserver document root." -msgstr "您的数据文件夹和您的文件可能可以从互联网访问。ownCloud 提供的 .htaccess 文件未工作。我们强烈建议您配置您的网络服务器,让数据文件夹不能访问,或将数据文件夹移出网络服务器文档根目录。" - -#: templates/admin.php:31 -msgid "Cron" -msgstr "定时" - -#: templates/admin.php:37 -msgid "Execute one task with each page loaded" -msgstr "在每个页面载入时执行一项任务" - -#: templates/admin.php:43 -msgid "" -"cron.php is registered at a webcron service. Call the cron.php page in the " -"owncloud root once a minute over http." -msgstr "cron.php 已作为 webcron 服务注册。owncloud 根用户将通过 http 协议每分钟调用一次 cron.php。" - -#: templates/admin.php:49 -msgid "" -"Use systems cron service. Call the cron.php file in the owncloud folder via " -"a system cronjob once a minute." -msgstr "使用系统 cron 服务。通过系统 cronjob 每分钟调用一次 owncloud 文件夹下的 cron.php" - -#: templates/admin.php:56 -msgid "Sharing" -msgstr "分享" - -#: templates/admin.php:61 -msgid "Enable Share API" -msgstr "启用分享 API" - -#: templates/admin.php:62 -msgid "Allow apps to use the Share API" -msgstr "允许应用使用分享 API" - -#: templates/admin.php:67 -msgid "Allow links" -msgstr "允许链接" - -#: templates/admin.php:68 -msgid "Allow users to share items to the public with links" -msgstr "允许用户使用链接与公众分享条目" - -#: templates/admin.php:73 -msgid "Allow resharing" -msgstr "允许重复分享" - -#: templates/admin.php:74 -msgid "Allow users to share items shared with them again" -msgstr "允许用户再次分享已经分享过的条目" - -#: templates/admin.php:79 -msgid "Allow users to share with anyone" -msgstr "允许用户与任何人分享" - -#: templates/admin.php:81 -msgid "Allow users to only share with users in their groups" -msgstr "只允许用户与群组内用户分享" - -#: templates/admin.php:88 -msgid "Log" -msgstr "日志" - -#: templates/admin.php:116 -msgid "More" -msgstr "更多" - -#: templates/admin.php:124 -msgid "" -"Developed by the ownCloud community, the source code is " -"licensed under the AGPL." -msgstr "由 ownCloud 社区开发,s源代码AGPL 许可协议发布。" - #: templates/apps.php:10 msgid "Add your App" msgstr "添加你的应用程序" #: templates/apps.php:11 msgid "More Apps" -msgstr "" +msgstr "更多应用" #: templates/apps.php:27 msgid "Select an App" @@ -213,22 +129,22 @@ msgstr "管理大文件" msgid "Ask a question" msgstr "提一个问题" -#: templates/help.php:23 +#: templates/help.php:22 msgid "Problems connecting to help database." msgstr "连接到帮助数据库时的问题" -#: templates/help.php:24 +#: templates/help.php:23 msgid "Go there manually." msgstr "收到转到." -#: templates/help.php:32 +#: templates/help.php:31 msgid "Answer" msgstr "回答" #: templates/personal.php:8 #, php-format -msgid "You have used %s of the available %s" -msgstr "您已使用了 %s,总可用 %s" +msgid "You have used %s of the available %s" +msgstr "" #: templates/personal.php:12 msgid "Desktop and Mobile Syncing Clients" @@ -286,6 +202,16 @@ msgstr "帮助翻译" msgid "use this address to connect to your ownCloud in your file manager" msgstr "使用这个地址和你的文件管理器连接到你的ownCloud" +#: templates/personal.php:61 +msgid "" +"Developed by the ownCloud community, the source code is " +"licensed under the AGPL." +msgstr "由 ownCloud 社区开发,s源代码AGPL 许可协议发布。" + #: templates/users.php:21 templates/users.php:76 msgid "Name" msgstr "名字" diff --git a/l10n/zh_CN.GB2312/tasks.po b/l10n/zh_CN.GB2312/tasks.po deleted file mode 100644 index 5d43b9b7ec3345ee499332096a78f642b7f0e760..0000000000000000000000000000000000000000 --- a/l10n/zh_CN.GB2312/tasks.po +++ /dev/null @@ -1,106 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:44+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Chinese (China) (GB2312) (http://www.transifex.com/projects/p/owncloud/language/zh_CN.GB2312/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: zh_CN.GB2312\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: ajax/update_property.php:51 lib/app.php:89 lib/app.php:101 -msgid "Invalid date/time" -msgstr "" - -#: appinfo/app.php:11 -msgid "Tasks" -msgstr "" - -#: js/tasks.js:415 -msgid "No category" -msgstr "" - -#: lib/app.php:33 -msgid "Unspecified" -msgstr "" - -#: lib/app.php:34 -msgid "1=highest" -msgstr "" - -#: lib/app.php:38 -msgid "5=medium" -msgstr "" - -#: lib/app.php:42 -msgid "9=lowest" -msgstr "" - -#: lib/app.php:81 -msgid "Empty Summary" -msgstr "" - -#: lib/app.php:93 -msgid "Invalid percent complete" -msgstr "" - -#: lib/app.php:107 -msgid "Invalid priority" -msgstr "" - -#: templates/tasks.php:3 -msgid "Add Task" -msgstr "" - -#: templates/tasks.php:4 -msgid "Order Due" -msgstr "" - -#: templates/tasks.php:5 -msgid "Order List" -msgstr "" - -#: templates/tasks.php:6 -msgid "Order Complete" -msgstr "" - -#: templates/tasks.php:7 -msgid "Order Location" -msgstr "" - -#: templates/tasks.php:8 -msgid "Order Priority" -msgstr "" - -#: templates/tasks.php:9 -msgid "Order Label" -msgstr "" - -#: templates/tasks.php:16 -msgid "Loading tasks..." -msgstr "" - -#: templates/tasks.php:20 -msgid "Important" -msgstr "" - -#: templates/tasks.php:23 -msgid "More" -msgstr "" - -#: templates/tasks.php:26 -msgid "Less" -msgstr "" - -#: templates/tasks.php:29 -msgid "Delete" -msgstr "" diff --git a/l10n/zh_CN.GB2312/user_migrate.po b/l10n/zh_CN.GB2312/user_migrate.po deleted file mode 100644 index 06769367e75f4ced0d58784cec25400636b60e82..0000000000000000000000000000000000000000 --- a/l10n/zh_CN.GB2312/user_migrate.po +++ /dev/null @@ -1,51 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:45+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Chinese (China) (GB2312) (http://www.transifex.com/projects/p/owncloud/language/zh_CN.GB2312/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: zh_CN.GB2312\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: js/export.js:14 js/export.js:20 -msgid "Export" -msgstr "" - -#: js/export.js:19 -msgid "Something went wrong while the export file was being generated" -msgstr "" - -#: js/export.js:19 -msgid "An error has occurred" -msgstr "" - -#: templates/settings.php:2 -msgid "Export your user account" -msgstr "" - -#: templates/settings.php:3 -msgid "" -"This will create a compressed file that contains your ownCloud account." -msgstr "" - -#: templates/settings.php:13 -msgid "Import user account" -msgstr "" - -#: templates/settings.php:15 -msgid "ownCloud User Zip" -msgstr "" - -#: templates/settings.php:17 -msgid "Import" -msgstr "" diff --git a/l10n/zh_CN.GB2312/user_openid.po b/l10n/zh_CN.GB2312/user_openid.po deleted file mode 100644 index 1937fffe2a77c6396da978d6c86b4e0b3b2ac890..0000000000000000000000000000000000000000 --- a/l10n/zh_CN.GB2312/user_openid.po +++ /dev/null @@ -1,54 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:45+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Chinese (China) (GB2312) (http://www.transifex.com/projects/p/owncloud/language/zh_CN.GB2312/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: zh_CN.GB2312\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: templates/nomode.php:12 -msgid "This is an OpenID server endpoint. For more information, see " -msgstr "" - -#: templates/nomode.php:14 -msgid "Identity: " -msgstr "" - -#: templates/nomode.php:15 -msgid "Realm: " -msgstr "" - -#: templates/nomode.php:16 -msgid "User: " -msgstr "" - -#: templates/nomode.php:17 -msgid "Login" -msgstr "" - -#: templates/nomode.php:22 -msgid "Error: No user Selected" -msgstr "" - -#: templates/settings.php:4 -msgid "you can authenticate to other sites with this address" -msgstr "" - -#: templates/settings.php:5 -msgid "Authorized OpenID provider" -msgstr "" - -#: templates/settings.php:6 -msgid "Your address at Wordpress, Identi.ca, …" -msgstr "" diff --git a/l10n/zh_CN.GB2312/files_odfviewer.po b/l10n/zh_CN.GB2312/user_webdavauth.po similarity index 75% rename from l10n/zh_CN.GB2312/files_odfviewer.po rename to l10n/zh_CN.GB2312/user_webdavauth.po index c46ade9153f17edc27bcde0d90e0125bb80fc1d6..43a080af885bc2574007a9a74d11dfbdcb21058f 100644 --- a/l10n/zh_CN.GB2312/files_odfviewer.po +++ b/l10n/zh_CN.GB2312/user_webdavauth.po @@ -7,16 +7,16 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 02:18+0200\n" -"PO-Revision-Date: 2012-08-26 00:19+0000\n" +"POT-Creation-Date: 2012-11-09 10:06+0100\n" +"PO-Revision-Date: 2012-11-09 09:06+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: Chinese (China) (GB2312) (http://www.transifex.com/projects/p/owncloud/language/zh_CN.GB2312/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: zh_CN.GB2312\n" -"Plural-Forms: nplurals=1; plural=0\n" +"Plural-Forms: nplurals=1; plural=0;\n" -#: js/viewer.js:9 -msgid "Close" +#: templates/settings.php:4 +msgid "WebDAV URL: http://" msgstr "" diff --git a/l10n/zh_CN/admin_dependencies_chk.po b/l10n/zh_CN/admin_dependencies_chk.po deleted file mode 100644 index 6200d7451b8795c12cf2e73cf37191445a6ebbe7..0000000000000000000000000000000000000000 --- a/l10n/zh_CN/admin_dependencies_chk.po +++ /dev/null @@ -1,73 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:33+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Chinese (China) (http://www.transifex.com/projects/p/owncloud/language/zh_CN/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: zh_CN\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: settings.php:33 -msgid "" -"The php-json module is needed by the many applications for inter " -"communications" -msgstr "" - -#: settings.php:39 -msgid "" -"The php-curl modude is needed to fetch the page title when adding a " -"bookmarks" -msgstr "" - -#: settings.php:45 -msgid "The php-gd module is needed to create thumbnails of your images" -msgstr "" - -#: settings.php:51 -msgid "The php-ldap module is needed connect to your ldap server" -msgstr "" - -#: settings.php:57 -msgid "The php-zip module is needed download multiple files at once" -msgstr "" - -#: settings.php:63 -msgid "" -"The php-mb_multibyte module is needed to manage correctly the encoding." -msgstr "" - -#: settings.php:69 -msgid "The php-ctype module is needed validate data." -msgstr "" - -#: settings.php:75 -msgid "The php-xml module is needed to share files with webdav." -msgstr "" - -#: settings.php:81 -msgid "" -"The allow_url_fopen directive of your php.ini should be set to 1 to retrieve" -" knowledge base from OCS servers" -msgstr "" - -#: settings.php:87 -msgid "The php-pdo module is needed to store owncloud data into a database." -msgstr "" - -#: templates/settings.php:2 -msgid "Dependencies status" -msgstr "" - -#: templates/settings.php:7 -msgid "Used by :" -msgstr "" diff --git a/l10n/zh_CN/admin_migrate.po b/l10n/zh_CN/admin_migrate.po deleted file mode 100644 index a25182363fb14e9527f7904548066cdd5b242926..0000000000000000000000000000000000000000 --- a/l10n/zh_CN/admin_migrate.po +++ /dev/null @@ -1,32 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:32+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Chinese (China) (http://www.transifex.com/projects/p/owncloud/language/zh_CN/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: zh_CN\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: templates/settings.php:3 -msgid "Export this ownCloud instance" -msgstr "" - -#: templates/settings.php:4 -msgid "" -"This will create a compressed file that contains the data of this owncloud instance.\n" -" Please choose the export type:" -msgstr "" - -#: templates/settings.php:12 -msgid "Export" -msgstr "" diff --git a/l10n/zh_CN/bookmarks.po b/l10n/zh_CN/bookmarks.po deleted file mode 100644 index 65c4c5efc1dabbe274c82aee8e1b7a7f80128fb2..0000000000000000000000000000000000000000 --- a/l10n/zh_CN/bookmarks.po +++ /dev/null @@ -1,61 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-25 02:04+0200\n" -"PO-Revision-Date: 2012-08-24 01:10+0000\n" -"Last-Translator: hanfeng \n" -"Language-Team: Chinese (China) (http://www.transifex.com/projects/p/owncloud/language/zh_CN/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: zh_CN\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: appinfo/app.php:14 -msgid "Bookmarks" -msgstr "书签" - -#: bookmarksHelper.php:99 -msgid "unnamed" -msgstr "未命名" - -#: templates/bookmarklet.php:5 -msgid "" -"Drag this to your browser bookmarks and click it, when you want to bookmark " -"a webpage quickly:" -msgstr "拖曳此处到您的浏览器书签处,点击可以将网页快速添加到书签中。" - -#: templates/bookmarklet.php:7 -msgid "Read later" -msgstr "稍后阅读" - -#: templates/list.php:13 -msgid "Address" -msgstr "地址" - -#: templates/list.php:14 -msgid "Title" -msgstr "标题" - -#: templates/list.php:15 -msgid "Tags" -msgstr "标签" - -#: templates/list.php:16 -msgid "Save bookmark" -msgstr "保存书签" - -#: templates/list.php:22 -msgid "You have no bookmarks" -msgstr "您暂无书签" - -#: templates/settings.php:11 -msgid "Bookmarklet
" -msgstr "书签应用" diff --git a/l10n/zh_CN/calendar.po b/l10n/zh_CN/calendar.po deleted file mode 100644 index b66ae0afc1157aea8adb9482a82c5d11d88899e8..0000000000000000000000000000000000000000 --- a/l10n/zh_CN/calendar.po +++ /dev/null @@ -1,817 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Phoenix Nemo <>, 2012. -# , 2012. -# , 2011, 2012. -# 冰 蓝 , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-11 02:02+0200\n" -"PO-Revision-Date: 2012-08-11 00:02+0000\n" -"Last-Translator: owncloud_robot \n" -"Language-Team: Chinese (China) (http://www.transifex.com/projects/p/owncloud/language/zh_CN/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: zh_CN\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: ajax/cache/status.php:19 -msgid "Not all calendars are completely cached" -msgstr "" - -#: ajax/cache/status.php:21 -msgid "Everything seems to be completely cached" -msgstr "" - -#: ajax/categories/rescan.php:29 -msgid "No calendars found." -msgstr "无法找到日历。" - -#: ajax/categories/rescan.php:37 -msgid "No events found." -msgstr "无法找到事件。" - -#: ajax/event/edit.form.php:20 -msgid "Wrong calendar" -msgstr "错误的日历" - -#: ajax/import/dropimport.php:29 ajax/import/import.php:64 -msgid "" -"The file contained either no events or all events are already saved in your " -"calendar." -msgstr "" - -#: ajax/import/dropimport.php:31 ajax/import/import.php:67 -msgid "events has been saved in the new calendar" -msgstr "" - -#: ajax/import/import.php:56 -msgid "Import failed" -msgstr "" - -#: ajax/import/import.php:69 -msgid "events has been saved in your calendar" -msgstr "" - -#: ajax/settings/guesstimezone.php:25 -msgid "New Timezone:" -msgstr "新时区:" - -#: ajax/settings/settimezone.php:23 -msgid "Timezone changed" -msgstr "时区已修改" - -#: ajax/settings/settimezone.php:25 -msgid "Invalid request" -msgstr "非法请求" - -#: appinfo/app.php:35 templates/calendar.php:15 -#: templates/part.eventform.php:33 templates/part.showevent.php:33 -msgid "Calendar" -msgstr "日历" - -#: js/calendar.js:832 -msgid "ddd" -msgstr "ddd" - -#: js/calendar.js:833 -msgid "ddd M/d" -msgstr "" - -#: js/calendar.js:834 -msgid "dddd M/d" -msgstr "" - -#: js/calendar.js:837 -msgid "MMMM yyyy" -msgstr "" - -#: js/calendar.js:839 -msgid "MMM d[ yyyy]{ '—'[ MMM] d yyyy}" -msgstr "MMM d[ yyyy]{ '—'[ MMM] d yyyy}" - -#: js/calendar.js:841 -msgid "dddd, MMM d, yyyy" -msgstr "" - -#: lib/app.php:121 -msgid "Birthday" -msgstr "生日" - -#: lib/app.php:122 -msgid "Business" -msgstr "商务" - -#: lib/app.php:123 -msgid "Call" -msgstr "呼叫" - -#: lib/app.php:124 -msgid "Clients" -msgstr "客户" - -#: lib/app.php:125 -msgid "Deliverer" -msgstr "派送" - -#: lib/app.php:126 -msgid "Holidays" -msgstr "节日" - -#: lib/app.php:127 -msgid "Ideas" -msgstr "想法" - -#: lib/app.php:128 -msgid "Journey" -msgstr "旅行" - -#: lib/app.php:129 -msgid "Jubilee" -msgstr "周年纪念" - -#: lib/app.php:130 -msgid "Meeting" -msgstr "会议" - -#: lib/app.php:131 -msgid "Other" -msgstr "其他" - -#: lib/app.php:132 -msgid "Personal" -msgstr "个人" - -#: lib/app.php:133 -msgid "Projects" -msgstr "项目" - -#: lib/app.php:134 -msgid "Questions" -msgstr "问题" - -#: lib/app.php:135 -msgid "Work" -msgstr "工作" - -#: lib/app.php:351 lib/app.php:361 -msgid "by" -msgstr "" - -#: lib/app.php:359 lib/app.php:399 -msgid "unnamed" -msgstr "未命名" - -#: lib/import.php:184 templates/calendar.php:12 -#: templates/part.choosecalendar.php:22 -msgid "New Calendar" -msgstr "新日历" - -#: lib/object.php:372 -msgid "Does not repeat" -msgstr "不重复" - -#: lib/object.php:373 -msgid "Daily" -msgstr "每天" - -#: lib/object.php:374 -msgid "Weekly" -msgstr "每周" - -#: lib/object.php:375 -msgid "Every Weekday" -msgstr "每个工作日" - -#: lib/object.php:376 -msgid "Bi-Weekly" -msgstr "每两周" - -#: lib/object.php:377 -msgid "Monthly" -msgstr "每月" - -#: lib/object.php:378 -msgid "Yearly" -msgstr "每年" - -#: lib/object.php:388 -msgid "never" -msgstr "从不" - -#: lib/object.php:389 -msgid "by occurrences" -msgstr "按发生次数" - -#: lib/object.php:390 -msgid "by date" -msgstr "按日期" - -#: lib/object.php:400 -msgid "by monthday" -msgstr "按月的某天" - -#: lib/object.php:401 -msgid "by weekday" -msgstr "按星期的某天" - -#: lib/object.php:411 templates/calendar.php:5 templates/settings.php:69 -msgid "Monday" -msgstr "星期一" - -#: lib/object.php:412 templates/calendar.php:5 -msgid "Tuesday" -msgstr "星期二" - -#: lib/object.php:413 templates/calendar.php:5 -msgid "Wednesday" -msgstr "星期三" - -#: lib/object.php:414 templates/calendar.php:5 -msgid "Thursday" -msgstr "星期四" - -#: lib/object.php:415 templates/calendar.php:5 -msgid "Friday" -msgstr "星期五" - -#: lib/object.php:416 templates/calendar.php:5 -msgid "Saturday" -msgstr "星期六" - -#: lib/object.php:417 templates/calendar.php:5 templates/settings.php:70 -msgid "Sunday" -msgstr "星期日" - -#: lib/object.php:427 -msgid "events week of month" -msgstr "事件在每月的第几个星期" - -#: lib/object.php:428 -msgid "first" -msgstr "第一" - -#: lib/object.php:429 -msgid "second" -msgstr "第二" - -#: lib/object.php:430 -msgid "third" -msgstr "第三" - -#: lib/object.php:431 -msgid "fourth" -msgstr "第四" - -#: lib/object.php:432 -msgid "fifth" -msgstr "第五" - -#: lib/object.php:433 -msgid "last" -msgstr "最后" - -#: lib/object.php:467 templates/calendar.php:7 -msgid "January" -msgstr "一月" - -#: lib/object.php:468 templates/calendar.php:7 -msgid "February" -msgstr "二月" - -#: lib/object.php:469 templates/calendar.php:7 -msgid "March" -msgstr "三月" - -#: lib/object.php:470 templates/calendar.php:7 -msgid "April" -msgstr "四月" - -#: lib/object.php:471 templates/calendar.php:7 -msgid "May" -msgstr "五月" - -#: lib/object.php:472 templates/calendar.php:7 -msgid "June" -msgstr "六月" - -#: lib/object.php:473 templates/calendar.php:7 -msgid "July" -msgstr "七月" - -#: lib/object.php:474 templates/calendar.php:7 -msgid "August" -msgstr "八月" - -#: lib/object.php:475 templates/calendar.php:7 -msgid "September" -msgstr "九月" - -#: lib/object.php:476 templates/calendar.php:7 -msgid "October" -msgstr "十月" - -#: lib/object.php:477 templates/calendar.php:7 -msgid "November" -msgstr "十一月" - -#: lib/object.php:478 templates/calendar.php:7 -msgid "December" -msgstr "十二月" - -#: lib/object.php:488 -msgid "by events date" -msgstr "按事件日期" - -#: lib/object.php:489 -msgid "by yearday(s)" -msgstr "按每年的某天" - -#: lib/object.php:490 -msgid "by weeknumber(s)" -msgstr "按星期数" - -#: lib/object.php:491 -msgid "by day and month" -msgstr "按天和月份" - -#: lib/search.php:35 lib/search.php:37 lib/search.php:40 -msgid "Date" -msgstr "日期" - -#: lib/search.php:43 -msgid "Cal." -msgstr "日历" - -#: templates/calendar.php:6 -msgid "Sun." -msgstr "" - -#: templates/calendar.php:6 -msgid "Mon." -msgstr "" - -#: templates/calendar.php:6 -msgid "Tue." -msgstr "" - -#: templates/calendar.php:6 -msgid "Wed." -msgstr "" - -#: templates/calendar.php:6 -msgid "Thu." -msgstr "" - -#: templates/calendar.php:6 -msgid "Fri." -msgstr "" - -#: templates/calendar.php:6 -msgid "Sat." -msgstr "" - -#: templates/calendar.php:8 -msgid "Jan." -msgstr "" - -#: templates/calendar.php:8 -msgid "Feb." -msgstr "" - -#: templates/calendar.php:8 -msgid "Mar." -msgstr "" - -#: templates/calendar.php:8 -msgid "Apr." -msgstr "" - -#: templates/calendar.php:8 -msgid "May." -msgstr "" - -#: templates/calendar.php:8 -msgid "Jun." -msgstr "" - -#: templates/calendar.php:8 -msgid "Jul." -msgstr "" - -#: templates/calendar.php:8 -msgid "Aug." -msgstr "" - -#: templates/calendar.php:8 -msgid "Sep." -msgstr "" - -#: templates/calendar.php:8 -msgid "Oct." -msgstr "" - -#: templates/calendar.php:8 -msgid "Nov." -msgstr "" - -#: templates/calendar.php:8 -msgid "Dec." -msgstr "" - -#: templates/calendar.php:11 -msgid "All day" -msgstr "全天" - -#: templates/calendar.php:13 -msgid "Missing fields" -msgstr "缺少字段" - -#: templates/calendar.php:14 templates/part.eventform.php:19 -#: templates/part.showevent.php:11 -msgid "Title" -msgstr "标题" - -#: templates/calendar.php:16 -msgid "From Date" -msgstr "从" - -#: templates/calendar.php:17 -msgid "From Time" -msgstr "从" - -#: templates/calendar.php:18 -msgid "To Date" -msgstr "至" - -#: templates/calendar.php:19 -msgid "To Time" -msgstr "至" - -#: templates/calendar.php:20 -msgid "The event ends before it starts" -msgstr "事件在开始前已结束" - -#: templates/calendar.php:21 -msgid "There was a database fail" -msgstr "数据库访问失败" - -#: templates/calendar.php:39 -msgid "Week" -msgstr "星期" - -#: templates/calendar.php:40 -msgid "Month" -msgstr "月" - -#: templates/calendar.php:41 -msgid "List" -msgstr "列表" - -#: templates/calendar.php:45 -msgid "Today" -msgstr "今天" - -#: templates/calendar.php:46 templates/calendar.php:47 -msgid "Settings" -msgstr "" - -#: templates/part.choosecalendar.php:2 -msgid "Your calendars" -msgstr "您的日历" - -#: templates/part.choosecalendar.php:27 -#: templates/part.choosecalendar.rowfields.php:11 -msgid "CalDav Link" -msgstr "CalDav 链接" - -#: templates/part.choosecalendar.php:31 -msgid "Shared calendars" -msgstr "共享的日历" - -#: templates/part.choosecalendar.php:48 -msgid "No shared calendars" -msgstr "无共享的日历" - -#: templates/part.choosecalendar.rowfields.php:8 -msgid "Share Calendar" -msgstr "共享日历" - -#: templates/part.choosecalendar.rowfields.php:14 -msgid "Download" -msgstr "下载" - -#: templates/part.choosecalendar.rowfields.php:17 -msgid "Edit" -msgstr "编辑" - -#: templates/part.choosecalendar.rowfields.php:20 -#: templates/part.editevent.php:9 -msgid "Delete" -msgstr "删除" - -#: templates/part.choosecalendar.rowfields.shared.php:4 -msgid "shared with you by" -msgstr " " - -#: templates/part.editcalendar.php:9 -msgid "New calendar" -msgstr "新日历" - -#: templates/part.editcalendar.php:9 -msgid "Edit calendar" -msgstr "编辑日历" - -#: templates/part.editcalendar.php:12 -msgid "Displayname" -msgstr "显示名称" - -#: templates/part.editcalendar.php:23 -msgid "Active" -msgstr "激活" - -#: templates/part.editcalendar.php:29 -msgid "Calendar color" -msgstr "日历颜色" - -#: templates/part.editcalendar.php:42 -msgid "Save" -msgstr "保存" - -#: templates/part.editcalendar.php:42 templates/part.editevent.php:8 -#: templates/part.newevent.php:6 -msgid "Submit" -msgstr "提交" - -#: templates/part.editcalendar.php:43 -msgid "Cancel" -msgstr "取消" - -#: templates/part.editevent.php:1 -msgid "Edit an event" -msgstr "编辑事件" - -#: templates/part.editevent.php:10 -msgid "Export" -msgstr "导出" - -#: templates/part.eventform.php:8 templates/part.showevent.php:3 -msgid "Eventinfo" -msgstr "事件信息" - -#: templates/part.eventform.php:9 templates/part.showevent.php:4 -msgid "Repeating" -msgstr "重复" - -#: templates/part.eventform.php:10 templates/part.showevent.php:5 -msgid "Alarm" -msgstr "提醒" - -#: templates/part.eventform.php:11 templates/part.showevent.php:6 -msgid "Attendees" -msgstr "参加者" - -#: templates/part.eventform.php:13 -msgid "Share" -msgstr "共享" - -#: templates/part.eventform.php:21 -msgid "Title of the Event" -msgstr "事件标题" - -#: templates/part.eventform.php:27 templates/part.showevent.php:19 -msgid "Category" -msgstr "分类" - -#: templates/part.eventform.php:29 -msgid "Separate categories with commas" -msgstr "用逗号分隔分类" - -#: templates/part.eventform.php:30 -msgid "Edit categories" -msgstr "编辑分类" - -#: templates/part.eventform.php:56 templates/part.showevent.php:52 -msgid "All Day Event" -msgstr "全天事件" - -#: templates/part.eventform.php:60 templates/part.showevent.php:56 -msgid "From" -msgstr "自" - -#: templates/part.eventform.php:68 templates/part.showevent.php:64 -msgid "To" -msgstr "至" - -#: templates/part.eventform.php:76 templates/part.showevent.php:72 -msgid "Advanced options" -msgstr "高级选项" - -#: templates/part.eventform.php:81 templates/part.showevent.php:77 -msgid "Location" -msgstr "地点" - -#: templates/part.eventform.php:83 -msgid "Location of the Event" -msgstr "事件地点" - -#: templates/part.eventform.php:89 templates/part.showevent.php:85 -msgid "Description" -msgstr "描述" - -#: templates/part.eventform.php:91 -msgid "Description of the Event" -msgstr "事件描述" - -#: templates/part.eventform.php:100 templates/part.showevent.php:95 -msgid "Repeat" -msgstr "重复" - -#: templates/part.eventform.php:107 templates/part.showevent.php:102 -msgid "Advanced" -msgstr "高级" - -#: templates/part.eventform.php:151 templates/part.showevent.php:146 -msgid "Select weekdays" -msgstr "选择星期中的某天" - -#: templates/part.eventform.php:164 templates/part.eventform.php:177 -#: templates/part.showevent.php:159 templates/part.showevent.php:172 -msgid "Select days" -msgstr "选择某天" - -#: templates/part.eventform.php:169 templates/part.showevent.php:164 -msgid "and the events day of year." -msgstr "选择每年事件发生的日子" - -#: templates/part.eventform.php:182 templates/part.showevent.php:177 -msgid "and the events day of month." -msgstr "选择每月事件发生的日子" - -#: templates/part.eventform.php:190 templates/part.showevent.php:185 -msgid "Select months" -msgstr "选择月份" - -#: templates/part.eventform.php:203 templates/part.showevent.php:198 -msgid "Select weeks" -msgstr "选择星期" - -#: templates/part.eventform.php:208 templates/part.showevent.php:203 -msgid "and the events week of year." -msgstr "选择每年的事件发生的星期" - -#: templates/part.eventform.php:214 templates/part.showevent.php:209 -msgid "Interval" -msgstr "间隔" - -#: templates/part.eventform.php:220 templates/part.showevent.php:215 -msgid "End" -msgstr "结束" - -#: templates/part.eventform.php:233 templates/part.showevent.php:228 -msgid "occurrences" -msgstr "次" - -#: templates/part.import.php:14 -msgid "create a new calendar" -msgstr "创建新日历" - -#: templates/part.import.php:17 -msgid "Import a calendar file" -msgstr "导入日历文件" - -#: templates/part.import.php:24 -msgid "Please choose a calendar" -msgstr "" - -#: templates/part.import.php:36 -msgid "Name of new calendar" -msgstr "新日历名称" - -#: templates/part.import.php:44 -msgid "Take an available name!" -msgstr "" - -#: templates/part.import.php:45 -msgid "" -"A Calendar with this name already exists. If you continue anyhow, these " -"calendars will be merged." -msgstr "" - -#: templates/part.import.php:47 -msgid "Import" -msgstr "导入" - -#: templates/part.import.php:56 -msgid "Close Dialog" -msgstr "关闭对话框" - -#: templates/part.newevent.php:1 -msgid "Create a new event" -msgstr "创建新事件" - -#: templates/part.showevent.php:1 -msgid "View an event" -msgstr "查看事件" - -#: templates/part.showevent.php:23 -msgid "No categories selected" -msgstr "无选中分类" - -#: templates/part.showevent.php:37 -msgid "of" -msgstr "在" - -#: templates/part.showevent.php:59 templates/part.showevent.php:67 -msgid "at" -msgstr "在" - -#: templates/settings.php:10 -msgid "General" -msgstr "" - -#: templates/settings.php:15 -msgid "Timezone" -msgstr "时区" - -#: templates/settings.php:47 -msgid "Update timezone automatically" -msgstr "" - -#: templates/settings.php:52 -msgid "Time format" -msgstr "" - -#: templates/settings.php:57 -msgid "24h" -msgstr "24小时" - -#: templates/settings.php:58 -msgid "12h" -msgstr "12小时" - -#: templates/settings.php:64 -msgid "Start week on" -msgstr "" - -#: templates/settings.php:76 -msgid "Cache" -msgstr "" - -#: templates/settings.php:80 -msgid "Clear cache for repeating events" -msgstr "" - -#: templates/settings.php:85 -msgid "URLs" -msgstr "" - -#: templates/settings.php:87 -msgid "Calendar CalDAV syncing addresses" -msgstr "" - -#: templates/settings.php:87 -msgid "more info" -msgstr "" - -#: templates/settings.php:89 -msgid "Primary address (Kontact et al)" -msgstr "" - -#: templates/settings.php:91 -msgid "iOS/OS X" -msgstr "" - -#: templates/settings.php:93 -msgid "Read only iCalendar link(s)" -msgstr "" - -#: templates/share.dropdown.php:20 -msgid "Users" -msgstr "用户" - -#: templates/share.dropdown.php:21 -msgid "select users" -msgstr "选中用户" - -#: templates/share.dropdown.php:36 templates/share.dropdown.php:62 -msgid "Editable" -msgstr "可编辑" - -#: templates/share.dropdown.php:48 -msgid "Groups" -msgstr "分组" - -#: templates/share.dropdown.php:49 -msgid "select groups" -msgstr "选中分组" - -#: templates/share.dropdown.php:75 -msgid "make public" -msgstr "公开" diff --git a/l10n/zh_CN/contacts.po b/l10n/zh_CN/contacts.po deleted file mode 100644 index 78d0fb242ff35d065b7b16b8f24d71856096adfe..0000000000000000000000000000000000000000 --- a/l10n/zh_CN/contacts.po +++ /dev/null @@ -1,955 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Phoenix Nemo <>, 2012. -# , 2012. -# , 2011, 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-24 02:02+0200\n" -"PO-Revision-Date: 2012-08-24 00:02+0000\n" -"Last-Translator: I Robot \n" -"Language-Team: Chinese (China) (http://www.transifex.com/projects/p/owncloud/language/zh_CN/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: zh_CN\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: ajax/addressbook/activate.php:24 ajax/addressbook/update.php:32 -msgid "Error (de)activating addressbook." -msgstr "(取消)激活地址簿错误。" - -#: ajax/addressbook/delete.php:31 ajax/addressbook/update.php:20 -#: ajax/contact/addproperty.php:42 ajax/contact/delete.php:32 -#: ajax/contact/saveproperty.php:39 -msgid "id is not set." -msgstr "没有设置 id。" - -#: ajax/addressbook/update.php:24 -msgid "Cannot update addressbook with an empty name." -msgstr "无法使用一个空名称更新地址簿" - -#: ajax/addressbook/update.php:28 -msgid "Error updating addressbook." -msgstr "更新地址簿错误" - -#: ajax/categories/categoriesfor.php:17 -msgid "No ID provided" -msgstr "未提供 ID" - -#: ajax/categories/categoriesfor.php:34 -msgid "Error setting checksum." -msgstr "设置校验值错误。" - -#: ajax/categories/delete.php:19 -msgid "No categories selected for deletion." -msgstr "未选中要删除的分类。" - -#: ajax/categories/delete.php:26 -msgid "No address books found." -msgstr "找不到地址簿。" - -#: ajax/categories/delete.php:34 -msgid "No contacts found." -msgstr "找不到联系人。" - -#: ajax/contact/add.php:47 -msgid "There was an error adding the contact." -msgstr "添加联系人时出错。" - -#: ajax/contact/addproperty.php:39 ajax/contact/saveproperty.php:36 -msgid "element name is not set." -msgstr "元素名称未设置" - -#: ajax/contact/addproperty.php:46 -msgid "Could not parse contact: " -msgstr "" - -#: ajax/contact/addproperty.php:56 -msgid "Cannot add empty property." -msgstr "无法添加空属性。" - -#: ajax/contact/addproperty.php:67 -msgid "At least one of the address fields has to be filled out." -msgstr "至少需要填写一项地址。" - -#: ajax/contact/addproperty.php:76 -msgid "Trying to add duplicate property: " -msgstr "试图添加重复属性: " - -#: ajax/contact/addproperty.php:115 ajax/contact/saveproperty.php:93 -msgid "Missing IM parameter." -msgstr "" - -#: ajax/contact/addproperty.php:119 ajax/contact/saveproperty.php:97 -msgid "Unknown IM: " -msgstr "" - -#: ajax/contact/deleteproperty.php:37 -msgid "Information about vCard is incorrect. Please reload the page." -msgstr "vCard 的信息不正确。请重新加载页面。" - -#: ajax/contact/details.php:31 -msgid "Missing ID" -msgstr "缺少 ID" - -#: ajax/contact/details.php:36 -msgid "Error parsing VCard for ID: \"" -msgstr "无法解析如下ID的 VCard:“" - -#: ajax/contact/saveproperty.php:42 -msgid "checksum is not set." -msgstr "未设置校验值。" - -#: ajax/contact/saveproperty.php:62 -msgid "Information about vCard is incorrect. Please reload the page: " -msgstr "vCard 信息不正确。请刷新页面: " - -#: ajax/contact/saveproperty.php:69 -msgid "Something went FUBAR. " -msgstr "有一些信息无法被处理。" - -#: ajax/currentphoto.php:30 ajax/oc_photo.php:28 ajax/uploadphoto.php:36 -#: ajax/uploadphoto.php:68 -msgid "No contact ID was submitted." -msgstr "未提交联系人 ID。" - -#: ajax/currentphoto.php:36 -msgid "Error reading contact photo." -msgstr "读取联系人照片错误。" - -#: ajax/currentphoto.php:48 -msgid "Error saving temporary file." -msgstr "保存临时文件错误。" - -#: ajax/currentphoto.php:51 -msgid "The loading photo is not valid." -msgstr "装入的照片不正确。" - -#: ajax/editname.php:31 -msgid "Contact ID is missing." -msgstr "缺少联系人 ID。" - -#: ajax/oc_photo.php:32 -msgid "No photo path was submitted." -msgstr "未提供照片路径。" - -#: ajax/oc_photo.php:39 -msgid "File doesn't exist:" -msgstr "文件不存在:" - -#: ajax/oc_photo.php:44 ajax/oc_photo.php:47 -msgid "Error loading image." -msgstr "加载图片错误。" - -#: ajax/savecrop.php:69 -msgid "Error getting contact object." -msgstr "获取联系人目标时出错。" - -#: ajax/savecrop.php:79 -msgid "Error getting PHOTO property." -msgstr "获取照片属性时出错。" - -#: ajax/savecrop.php:98 -msgid "Error saving contact." -msgstr "保存联系人时出错。" - -#: ajax/savecrop.php:109 -msgid "Error resizing image" -msgstr "缩放图像时出错" - -#: ajax/savecrop.php:112 -msgid "Error cropping image" -msgstr "裁切图像时出错" - -#: ajax/savecrop.php:115 -msgid "Error creating temporary image" -msgstr "创建临时图像时出错" - -#: ajax/savecrop.php:118 -msgid "Error finding image: " -msgstr "查找图像时出错: " - -#: ajax/uploadimport.php:44 ajax/uploadimport.php:76 -msgid "Error uploading contacts to storage." -msgstr "上传联系人到存储空间时出错" - -#: ajax/uploadimport.php:61 ajax/uploadphoto.php:77 -msgid "There is no error, the file uploaded with success" -msgstr "文件上传成功,没有错误发生" - -#: ajax/uploadimport.php:62 ajax/uploadphoto.php:78 -msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" -msgstr "上传的文件长度超出了 php.ini 中 upload_max_filesize 的限制" - -#: ajax/uploadimport.php:63 ajax/uploadphoto.php:79 -msgid "" -"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " -"the HTML form" -msgstr "上传的文件长度超出了 HTML 表单中 MAX_FILE_SIZE 的限制" - -#: ajax/uploadimport.php:64 ajax/uploadphoto.php:80 -msgid "The uploaded file was only partially uploaded" -msgstr "已上传文件只上传了部分" - -#: ajax/uploadimport.php:65 ajax/uploadphoto.php:81 -msgid "No file was uploaded" -msgstr "没有文件被上传" - -#: ajax/uploadimport.php:66 ajax/uploadphoto.php:82 -msgid "Missing a temporary folder" -msgstr "缺少临时目录" - -#: ajax/uploadphoto.php:59 ajax/uploadphoto.php:109 -msgid "Couldn't save temporary image: " -msgstr "无法保存临时图像: " - -#: ajax/uploadphoto.php:62 ajax/uploadphoto.php:112 -msgid "Couldn't load temporary image: " -msgstr "无法加载临时图像: " - -#: ajax/uploadphoto.php:71 -msgid "No file was uploaded. Unknown error" -msgstr "没有文件被上传。未知错误" - -#: appinfo/app.php:21 -msgid "Contacts" -msgstr "联系人" - -#: js/contacts.js:71 -msgid "Sorry, this functionality has not been implemented yet" -msgstr "抱歉,这个功能暂时还没有被实现" - -#: js/contacts.js:71 -msgid "Not implemented" -msgstr "未实现" - -#: js/contacts.js:76 -msgid "Couldn't get a valid address." -msgstr "无法获取一个合法的地址。" - -#: js/contacts.js:76 js/contacts.js:365 js/contacts.js:381 js/contacts.js:393 -#: js/contacts.js:723 js/contacts.js:763 js/contacts.js:789 js/contacts.js:921 -#: js/contacts.js:927 js/contacts.js:939 js/contacts.js:976 -#: js/contacts.js:1250 js/contacts.js:1258 js/contacts.js:1267 -#: js/contacts.js:1302 js/contacts.js:1338 js/contacts.js:1353 -#: js/contacts.js:1379 js/contacts.js:1609 js/contacts.js:1644 -#: js/contacts.js:1664 js/settings.js:26 js/settings.js:43 js/settings.js:68 -msgid "Error" -msgstr "错误" - -#: js/contacts.js:424 -msgid "You do not have permission to add contacts to " -msgstr "" - -#: js/contacts.js:425 -msgid "Please select one of your own address books." -msgstr "" - -#: js/contacts.js:425 -msgid "Permission error" -msgstr "" - -#: js/contacts.js:763 -msgid "This property has to be non-empty." -msgstr "这个属性必须是非空的" - -#: js/contacts.js:789 -msgid "Couldn't serialize elements." -msgstr "无法序列化元素" - -#: js/contacts.js:921 js/contacts.js:939 -msgid "" -"'deleteProperty' called without type argument. Please report at " -"bugs.owncloud.org" -msgstr "'deleteProperty' 调用时没有类型声明。请到 bugs.owncloud.org 汇报错误" - -#: js/contacts.js:958 -msgid "Edit name" -msgstr "编辑名称" - -#: js/contacts.js:1250 -msgid "No files selected for upload." -msgstr "没有选择文件以上传" - -#: js/contacts.js:1258 -msgid "" -"The file you are trying to upload exceed the maximum size for file uploads " -"on this server." -msgstr "您试图上传的文件超出了该服务器的最大文件限制" - -#: js/contacts.js:1322 -msgid "Error loading profile picture." -msgstr "" - -#: js/contacts.js:1457 js/contacts.js:1498 js/contacts.js:1517 -#: js/contacts.js:1560 -msgid "Select type" -msgstr "选择类型" - -#: js/contacts.js:1578 -msgid "" -"Some contacts are marked for deletion, but not deleted yet. Please wait for " -"them to be deleted." -msgstr "" - -#: js/contacts.js:1649 -msgid "Do you want to merge these address books?" -msgstr "" - -#: js/loader.js:49 -msgid "Result: " -msgstr "结果: " - -#: js/loader.js:49 -msgid " imported, " -msgstr " 已导入, " - -#: js/loader.js:49 -msgid " failed." -msgstr " 失败。" - -#: js/settings.js:68 -msgid "Displayname cannot be empty." -msgstr "" - -#: lib/app.php:36 -msgid "Addressbook not found: " -msgstr "" - -#: lib/app.php:52 -msgid "This is not your addressbook." -msgstr "这不是您的地址簿。" - -#: lib/app.php:71 -msgid "Contact could not be found." -msgstr "无法找到联系人。" - -#: lib/app.php:116 -msgid "Jabber" -msgstr "" - -#: lib/app.php:121 -msgid "AIM" -msgstr "" - -#: lib/app.php:126 -msgid "MSN" -msgstr "" - -#: lib/app.php:131 -msgid "Twitter" -msgstr "" - -#: lib/app.php:136 -msgid "GoogleTalk" -msgstr "" - -#: lib/app.php:141 -msgid "Facebook" -msgstr "" - -#: lib/app.php:146 -msgid "XMPP" -msgstr "" - -#: lib/app.php:151 -msgid "ICQ" -msgstr "" - -#: lib/app.php:156 -msgid "Yahoo" -msgstr "" - -#: lib/app.php:161 -msgid "Skype" -msgstr "" - -#: lib/app.php:166 -msgid "QQ" -msgstr "" - -#: lib/app.php:171 -msgid "GaduGadu" -msgstr "" - -#: lib/app.php:194 lib/app.php:202 lib/app.php:213 lib/app.php:266 -msgid "Work" -msgstr "工作" - -#: lib/app.php:195 lib/app.php:200 lib/app.php:214 -msgid "Home" -msgstr "家庭" - -#: lib/app.php:196 lib/app.php:209 lib/app.php:262 lib/vcard.php:593 -msgid "Other" -msgstr "" - -#: lib/app.php:201 -msgid "Mobile" -msgstr "移动电话" - -#: lib/app.php:203 -msgid "Text" -msgstr "文本" - -#: lib/app.php:204 -msgid "Voice" -msgstr "语音" - -#: lib/app.php:205 -msgid "Message" -msgstr "消息" - -#: lib/app.php:206 -msgid "Fax" -msgstr "传真" - -#: lib/app.php:207 -msgid "Video" -msgstr "视频" - -#: lib/app.php:208 -msgid "Pager" -msgstr "传呼机" - -#: lib/app.php:215 -msgid "Internet" -msgstr "互联网" - -#: lib/app.php:252 templates/part.contact.php:45 -#: templates/part.contact.php:128 -msgid "Birthday" -msgstr "生日" - -#: lib/app.php:253 -msgid "Business" -msgstr "" - -#: lib/app.php:254 -msgid "Call" -msgstr "" - -#: lib/app.php:255 -msgid "Clients" -msgstr "" - -#: lib/app.php:256 -msgid "Deliverer" -msgstr "" - -#: lib/app.php:257 -msgid "Holidays" -msgstr "" - -#: lib/app.php:258 -msgid "Ideas" -msgstr "" - -#: lib/app.php:259 -msgid "Journey" -msgstr "" - -#: lib/app.php:260 -msgid "Jubilee" -msgstr "" - -#: lib/app.php:261 -msgid "Meeting" -msgstr "" - -#: lib/app.php:263 -msgid "Personal" -msgstr "" - -#: lib/app.php:264 -msgid "Projects" -msgstr "" - -#: lib/app.php:265 -msgid "Questions" -msgstr "" - -#: lib/hooks.php:102 -msgid "{name}'s Birthday" -msgstr "{name} 的生日" - -#: lib/search.php:15 -msgid "Contact" -msgstr "联系人" - -#: lib/vcard.php:408 -msgid "You do not have the permissions to edit this contact." -msgstr "" - -#: lib/vcard.php:483 -msgid "You do not have the permissions to delete this contact." -msgstr "" - -#: templates/index.php:14 -msgid "Add Contact" -msgstr "添加联系人" - -#: templates/index.php:15 templates/index.php:16 templates/part.import.php:17 -msgid "Import" -msgstr "导入" - -#: templates/index.php:18 -msgid "Settings" -msgstr "" - -#: templates/index.php:18 templates/settings.php:9 -msgid "Addressbooks" -msgstr "地址簿" - -#: templates/index.php:36 templates/part.import.php:24 -msgid "Close" -msgstr "关闭" - -#: templates/index.php:37 -msgid "Keyboard shortcuts" -msgstr "" - -#: templates/index.php:39 -msgid "Navigation" -msgstr "" - -#: templates/index.php:42 -msgid "Next contact in list" -msgstr "" - -#: templates/index.php:44 -msgid "Previous contact in list" -msgstr "" - -#: templates/index.php:46 -msgid "Expand/collapse current addressbook" -msgstr "" - -#: templates/index.php:48 -msgid "Next addressbook" -msgstr "" - -#: templates/index.php:50 -msgid "Previous addressbook" -msgstr "" - -#: templates/index.php:54 -msgid "Actions" -msgstr "" - -#: templates/index.php:57 -msgid "Refresh contacts list" -msgstr "" - -#: templates/index.php:59 -msgid "Add new contact" -msgstr "" - -#: templates/index.php:61 -msgid "Add new addressbook" -msgstr "" - -#: templates/index.php:63 -msgid "Delete current contact" -msgstr "" - -#: templates/part.contact.php:17 -msgid "Drop photo to upload" -msgstr "拖拽图片进行上传" - -#: templates/part.contact.php:19 -msgid "Delete current photo" -msgstr "删除当前照片" - -#: templates/part.contact.php:20 -msgid "Edit current photo" -msgstr "编辑当前照片" - -#: templates/part.contact.php:21 -msgid "Upload new photo" -msgstr "上传新照片" - -#: templates/part.contact.php:22 -msgid "Select photo from ownCloud" -msgstr "从 ownCloud 选择照片" - -#: templates/part.contact.php:35 -msgid "Format custom, Short name, Full name, Reverse or Reverse with comma" -msgstr "自定义格式,简称,全名,姓在前,姓在前并用逗号分割" - -#: templates/part.contact.php:36 -msgid "Edit name details" -msgstr "编辑名称详情" - -#: templates/part.contact.php:39 templates/part.contact.php:40 -#: templates/part.contact.php:126 -msgid "Organization" -msgstr "组织" - -#: templates/part.contact.php:40 templates/part.contact.php:42 -#: templates/part.contact.php:44 templates/part.contact.php:46 -#: templates/part.contact.php:50 templates/settings.php:36 -msgid "Delete" -msgstr "删除" - -#: templates/part.contact.php:41 templates/part.contact.php:127 -msgid "Nickname" -msgstr "昵称" - -#: templates/part.contact.php:42 -msgid "Enter nickname" -msgstr "输入昵称" - -#: templates/part.contact.php:43 templates/part.contact.php:134 -msgid "Web site" -msgstr "" - -#: templates/part.contact.php:44 -msgid "http://www.somesite.com" -msgstr "" - -#: templates/part.contact.php:44 -msgid "Go to web site" -msgstr "" - -#: templates/part.contact.php:46 -msgid "dd-mm-yyyy" -msgstr "yyyy-mm-dd" - -#: templates/part.contact.php:47 templates/part.contact.php:135 -msgid "Groups" -msgstr "分组" - -#: templates/part.contact.php:49 -msgid "Separate groups with commas" -msgstr "用逗号隔开分组" - -#: templates/part.contact.php:50 -msgid "Edit groups" -msgstr "编辑分组" - -#: templates/part.contact.php:59 templates/part.contact.php:73 -#: templates/part.contact.php:98 -msgid "Preferred" -msgstr "偏好" - -#: templates/part.contact.php:60 -msgid "Please specify a valid email address." -msgstr "请指定合法的电子邮件地址" - -#: templates/part.contact.php:60 -msgid "Enter email address" -msgstr "输入电子邮件地址" - -#: templates/part.contact.php:64 -msgid "Mail to address" -msgstr "发送邮件到地址" - -#: templates/part.contact.php:65 -msgid "Delete email address" -msgstr "删除电子邮件地址" - -#: templates/part.contact.php:75 -msgid "Enter phone number" -msgstr "输入电话号码" - -#: templates/part.contact.php:79 -msgid "Delete phone number" -msgstr "删除电话号码" - -#: templates/part.contact.php:100 -msgid "Instant Messenger" -msgstr "" - -#: templates/part.contact.php:101 -msgid "Delete IM" -msgstr "" - -#: templates/part.contact.php:110 -msgid "View on map" -msgstr "在地图上显示" - -#: templates/part.contact.php:110 -msgid "Edit address details" -msgstr "编辑地址细节。" - -#: templates/part.contact.php:116 -msgid "Add notes here." -msgstr "添加注释。" - -#: templates/part.contact.php:124 -msgid "Add field" -msgstr "添加字段" - -#: templates/part.contact.php:129 -msgid "Phone" -msgstr "电话" - -#: templates/part.contact.php:130 -msgid "Email" -msgstr "电子邮件" - -#: templates/part.contact.php:131 -msgid "Instant Messaging" -msgstr "" - -#: templates/part.contact.php:132 -msgid "Address" -msgstr "地址" - -#: templates/part.contact.php:133 -msgid "Note" -msgstr "注释" - -#: templates/part.contact.php:138 -msgid "Download contact" -msgstr "下载联系人" - -#: templates/part.contact.php:139 -msgid "Delete contact" -msgstr "删除联系人" - -#: templates/part.cropphoto.php:65 -msgid "The temporary image has been removed from cache." -msgstr "临时图像文件已从缓存中删除" - -#: templates/part.edit_address_dialog.php:6 -msgid "Edit address" -msgstr "编辑地址" - -#: templates/part.edit_address_dialog.php:10 -msgid "Type" -msgstr "类型" - -#: templates/part.edit_address_dialog.php:18 -#: templates/part.edit_address_dialog.php:21 -msgid "PO Box" -msgstr "邮箱" - -#: templates/part.edit_address_dialog.php:24 -msgid "Street address" -msgstr "" - -#: templates/part.edit_address_dialog.php:27 -msgid "Street and number" -msgstr "" - -#: templates/part.edit_address_dialog.php:30 -msgid "Extended" -msgstr "扩展" - -#: templates/part.edit_address_dialog.php:33 -msgid "Apartment number etc." -msgstr "" - -#: templates/part.edit_address_dialog.php:36 -#: templates/part.edit_address_dialog.php:39 -msgid "City" -msgstr "城市" - -#: templates/part.edit_address_dialog.php:42 -msgid "Region" -msgstr "地区" - -#: templates/part.edit_address_dialog.php:45 -msgid "E.g. state or province" -msgstr "" - -#: templates/part.edit_address_dialog.php:48 -msgid "Zipcode" -msgstr "邮编" - -#: templates/part.edit_address_dialog.php:51 -msgid "Postal code" -msgstr "" - -#: templates/part.edit_address_dialog.php:54 -#: templates/part.edit_address_dialog.php:57 -msgid "Country" -msgstr "国家" - -#: templates/part.edit_name_dialog.php:16 -msgid "Addressbook" -msgstr "地址簿" - -#: templates/part.edit_name_dialog.php:23 -msgid "Hon. prefixes" -msgstr "名誉字首" - -#: templates/part.edit_name_dialog.php:27 -msgid "Miss" -msgstr "小姐" - -#: templates/part.edit_name_dialog.php:28 -msgid "Ms" -msgstr "女士" - -#: templates/part.edit_name_dialog.php:29 -msgid "Mr" -msgstr "先生" - -#: templates/part.edit_name_dialog.php:30 -msgid "Sir" -msgstr "先生" - -#: templates/part.edit_name_dialog.php:31 -msgid "Mrs" -msgstr "夫人" - -#: templates/part.edit_name_dialog.php:32 -msgid "Dr" -msgstr "博士" - -#: templates/part.edit_name_dialog.php:35 -msgid "Given name" -msgstr "名" - -#: templates/part.edit_name_dialog.php:37 -msgid "Additional names" -msgstr "其他名称" - -#: templates/part.edit_name_dialog.php:39 -msgid "Family name" -msgstr "姓" - -#: templates/part.edit_name_dialog.php:41 -msgid "Hon. suffixes" -msgstr "名誉后缀" - -#: templates/part.edit_name_dialog.php:45 -msgid "J.D." -msgstr "法律博士" - -#: templates/part.edit_name_dialog.php:46 -msgid "M.D." -msgstr "医学博士" - -#: templates/part.edit_name_dialog.php:47 -msgid "D.O." -msgstr "骨科医学博士" - -#: templates/part.edit_name_dialog.php:48 -msgid "D.C." -msgstr "教育学博士" - -#: templates/part.edit_name_dialog.php:49 -msgid "Ph.D." -msgstr "哲学博士" - -#: templates/part.edit_name_dialog.php:50 -msgid "Esq." -msgstr "先生" - -#: templates/part.edit_name_dialog.php:51 -msgid "Jr." -msgstr "小" - -#: templates/part.edit_name_dialog.php:52 -msgid "Sn." -msgstr "老" - -#: templates/part.import.php:1 -msgid "Import a contacts file" -msgstr "导入联系人文件" - -#: templates/part.import.php:6 -msgid "Please choose the addressbook" -msgstr "请选择地址簿" - -#: templates/part.import.php:10 -msgid "create a new addressbook" -msgstr "创建新地址簿" - -#: templates/part.import.php:15 -msgid "Name of new addressbook" -msgstr "新地址簿名称" - -#: templates/part.import.php:20 -msgid "Importing contacts" -msgstr "导入联系人" - -#: templates/part.no_contacts.php:3 -msgid "You have no contacts in your addressbook." -msgstr "您的地址簿中没有联系人。" - -#: templates/part.no_contacts.php:5 -msgid "Add contact" -msgstr "添加联系人" - -#: templates/part.selectaddressbook.php:1 -msgid "Select Address Books" -msgstr "" - -#: templates/part.selectaddressbook.php:27 -msgid "Enter name" -msgstr "" - -#: templates/part.selectaddressbook.php:29 -msgid "Enter description" -msgstr "" - -#: templates/settings.php:3 -msgid "CardDAV syncing addresses" -msgstr "CardDAV 同步地址" - -#: templates/settings.php:3 -msgid "more info" -msgstr "更多信息" - -#: templates/settings.php:5 -msgid "Primary address (Kontact et al)" -msgstr "首选地址 (Kontact 等)" - -#: templates/settings.php:7 -msgid "iOS/OS X" -msgstr "iOS/OS X" - -#: templates/settings.php:20 -msgid "Show CardDav link" -msgstr "" - -#: templates/settings.php:23 -msgid "Show read-only VCF link" -msgstr "" - -#: templates/settings.php:26 -msgid "Share" -msgstr "" - -#: templates/settings.php:29 -msgid "Download" -msgstr "下载" - -#: templates/settings.php:33 -msgid "Edit" -msgstr "编辑" - -#: templates/settings.php:43 -msgid "New Address Book" -msgstr "新建地址簿" - -#: templates/settings.php:44 -msgid "Name" -msgstr "" - -#: templates/settings.php:45 -msgid "Description" -msgstr "" - -#: templates/settings.php:46 -msgid "Save" -msgstr "保存" - -#: templates/settings.php:47 -msgid "Cancel" -msgstr "取消" - -#: templates/settings.php:52 -msgid "More..." -msgstr "" diff --git a/l10n/zh_CN/core.po b/l10n/zh_CN/core.po index bab36633e1afbb6be82718733c2c7a92154a63ec..3c6eebe26f85c8f96a583f679e9273ec2d817754 100644 --- a/l10n/zh_CN/core.po +++ b/l10n/zh_CN/core.po @@ -11,9 +11,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-16 02:04+0200\n" -"PO-Revision-Date: 2012-10-16 00:05+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-11-19 00:01+0100\n" +"PO-Revision-Date: 2012-11-18 16:16+0000\n" +"Last-Translator: hanfeng \n" "Language-Team: Chinese (China) (http://www.transifex.com/projects/p/owncloud/language/zh_CN/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -21,209 +21,241 @@ msgstr "" "Language: zh_CN\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: ajax/vcategories/add.php:23 ajax/vcategories/delete.php:23 -msgid "Application name not provided." -msgstr "没有提供应用程序名称。" +#: ajax/vcategories/add.php:26 ajax/vcategories/edit.php:25 +msgid "Category type not provided." +msgstr "未提供分类类型。" -#: ajax/vcategories/add.php:29 +#: ajax/vcategories/add.php:30 msgid "No category to add?" msgstr "没有可添加分类?" -#: ajax/vcategories/add.php:36 +#: ajax/vcategories/add.php:37 msgid "This category already exists: " msgstr "此分类已存在: " -#: js/js.js:238 templates/layout.user.php:49 templates/layout.user.php:50 +#: ajax/vcategories/addToFavorites.php:26 ajax/vcategories/delete.php:27 +#: ajax/vcategories/favorites.php:24 +#: ajax/vcategories/removeFromFavorites.php:26 +msgid "Object type not provided." +msgstr "未提供对象类型。" + +#: ajax/vcategories/addToFavorites.php:30 +#: ajax/vcategories/removeFromFavorites.php:30 +#, php-format +msgid "%s ID not provided." +msgstr "%s ID未提供。" + +#: ajax/vcategories/addToFavorites.php:35 +#, php-format +msgid "Error adding %s to favorites." +msgstr "向收藏夹中新增%s时出错。" + +#: ajax/vcategories/delete.php:35 js/oc-vcategories.js:136 +msgid "No categories selected for deletion." +msgstr "没有选择要删除的类别" + +#: ajax/vcategories/removeFromFavorites.php:35 +#, php-format +msgid "Error removing %s from favorites." +msgstr "从收藏夹中移除%s时出错。" + +#: js/js.js:259 templates/layout.user.php:60 templates/layout.user.php:61 msgid "Settings" msgstr "设置" -#: js/js.js:670 -msgid "January" -msgstr "一月" +#: js/js.js:704 +msgid "seconds ago" +msgstr "秒前" -#: js/js.js:670 -msgid "February" -msgstr "二月" +#: js/js.js:705 +msgid "1 minute ago" +msgstr "一分钟前" -#: js/js.js:670 -msgid "March" -msgstr "三月" +#: js/js.js:706 +msgid "{minutes} minutes ago" +msgstr "{minutes} 分钟前" -#: js/js.js:670 -msgid "April" -msgstr "四月" +#: js/js.js:707 +msgid "1 hour ago" +msgstr "1小时前" -#: js/js.js:670 -msgid "May" -msgstr "五月" +#: js/js.js:708 +msgid "{hours} hours ago" +msgstr "{hours} 小时前" -#: js/js.js:670 -msgid "June" -msgstr "六月" +#: js/js.js:709 +msgid "today" +msgstr "今天" -#: js/js.js:671 -msgid "July" -msgstr "七月" +#: js/js.js:710 +msgid "yesterday" +msgstr "昨天" -#: js/js.js:671 -msgid "August" -msgstr "八月" +#: js/js.js:711 +msgid "{days} days ago" +msgstr "{days} 天前" -#: js/js.js:671 -msgid "September" -msgstr "九月" +#: js/js.js:712 +msgid "last month" +msgstr "上月" -#: js/js.js:671 -msgid "October" -msgstr "十月" +#: js/js.js:713 +msgid "{months} months ago" +msgstr "{months} 月前" -#: js/js.js:671 -msgid "November" -msgstr "十一月" +#: js/js.js:714 +msgid "months ago" +msgstr "月前" -#: js/js.js:671 -msgid "December" -msgstr "十二月" +#: js/js.js:715 +msgid "last year" +msgstr "去年" + +#: js/js.js:716 +msgid "years ago" +msgstr "年前" -#: js/oc-dialogs.js:123 +#: js/oc-dialogs.js:126 msgid "Choose" msgstr "选择(&C)..." -#: js/oc-dialogs.js:143 js/oc-dialogs.js:163 +#: js/oc-dialogs.js:146 js/oc-dialogs.js:166 msgid "Cancel" msgstr "取消" -#: js/oc-dialogs.js:159 +#: js/oc-dialogs.js:162 msgid "No" msgstr "否" -#: js/oc-dialogs.js:160 +#: js/oc-dialogs.js:163 msgid "Yes" msgstr "是" -#: js/oc-dialogs.js:177 +#: js/oc-dialogs.js:180 msgid "Ok" msgstr "好" -#: js/oc-vcategories.js:68 -msgid "No categories selected for deletion." -msgstr "没有选择要删除的类别" +#: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102 +#: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162 +msgid "The object type is not specified." +msgstr "未指定对象类型。" -#: js/oc-vcategories.js:68 js/share.js:114 js/share.js:121 js/share.js:497 -#: js/share.js:509 +#: js/oc-vcategories.js:95 js/oc-vcategories.js:125 js/oc-vcategories.js:136 +#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:527 +#: js/share.js:539 msgid "Error" msgstr "错误" -#: js/share.js:103 +#: js/oc-vcategories.js:179 +msgid "The app name is not specified." +msgstr "未指定App名称。" + +#: js/oc-vcategories.js:194 +msgid "The required file {file} is not installed!" +msgstr "所需文件{file}未安装!" + +#: js/share.js:124 msgid "Error while sharing" msgstr "共享时出错" -#: js/share.js:114 +#: js/share.js:135 msgid "Error while unsharing" msgstr "取消共享时出错" -#: js/share.js:121 +#: js/share.js:142 msgid "Error while changing permissions" msgstr "修改权限时出错" -#: js/share.js:130 -msgid "Shared with you and the group" -msgstr "" - -#: js/share.js:130 -msgid "by" -msgstr "" +#: js/share.js:151 +msgid "Shared with you and the group {group} by {owner}" +msgstr "{owner}共享给您及{group}组" -#: js/share.js:132 -msgid "Shared with you by" -msgstr "" +#: js/share.js:153 +msgid "Shared with you by {owner}" +msgstr " {owner}与您共享" -#: js/share.js:137 +#: js/share.js:158 msgid "Share with" msgstr "共享" -#: js/share.js:142 +#: js/share.js:163 msgid "Share with link" msgstr "共享链接" -#: js/share.js:143 +#: js/share.js:164 msgid "Password protect" msgstr "密码保护" -#: js/share.js:147 templates/installation.php:42 templates/login.php:24 +#: js/share.js:168 templates/installation.php:42 templates/login.php:24 #: templates/verify.php:13 msgid "Password" msgstr "密码" -#: js/share.js:152 +#: js/share.js:173 msgid "Set expiration date" msgstr "设置过期日期" -#: js/share.js:153 +#: js/share.js:174 msgid "Expiration date" msgstr "过期日期" -#: js/share.js:185 +#: js/share.js:206 msgid "Share via email:" -msgstr "" +msgstr "通过Email共享" -#: js/share.js:187 +#: js/share.js:208 msgid "No people found" msgstr "未找到此人" -#: js/share.js:214 +#: js/share.js:235 msgid "Resharing is not allowed" msgstr "不允许二次共享" -#: js/share.js:250 -msgid "Shared in" -msgstr "" - -#: js/share.js:250 -msgid "with" -msgstr "" - #: js/share.js:271 +msgid "Shared in {item} with {user}" +msgstr "在{item} 与 {user}共享。" + +#: js/share.js:292 msgid "Unshare" msgstr "取消共享" -#: js/share.js:283 +#: js/share.js:304 msgid "can edit" msgstr "可以修改" -#: js/share.js:285 +#: js/share.js:306 msgid "access control" msgstr "访问控制" -#: js/share.js:288 +#: js/share.js:309 msgid "create" msgstr "创建" -#: js/share.js:291 +#: js/share.js:312 msgid "update" msgstr "更新" -#: js/share.js:294 +#: js/share.js:315 msgid "delete" msgstr "删除" -#: js/share.js:297 +#: js/share.js:318 msgid "share" msgstr "共享" -#: js/share.js:322 js/share.js:484 +#: js/share.js:343 js/share.js:514 js/share.js:516 msgid "Password protected" msgstr "密码已受保护" -#: js/share.js:497 +#: js/share.js:527 msgid "Error unsetting expiration date" msgstr "取消设置过期日期时出错" -#: js/share.js:509 +#: js/share.js:539 msgid "Error setting expiration date" msgstr "设置过期日期时出错" -#: lostpassword/index.php:26 +#: lostpassword/controller.php:47 msgid "ownCloud password reset" msgstr "重置 ownCloud 密码" @@ -236,12 +268,12 @@ msgid "You will receive a link to reset your password via Email." msgstr "您将会收到包含可以重置密码链接的邮件。" #: lostpassword/templates/lostpassword.php:5 -msgid "Requested" -msgstr "已请求" +msgid "Reset email send." +msgstr "重置邮件已发送。" #: lostpassword/templates/lostpassword.php:8 -msgid "Login failed!" -msgstr "登录失败!" +msgid "Request failed!" +msgstr "请求失败!" #: lostpassword/templates/lostpassword.php:11 templates/installation.php:38 #: templates/login.php:20 @@ -300,25 +332,25 @@ msgstr "未找到云" msgid "Edit categories" msgstr "编辑分类" -#: templates/edit_categories_dialog.php:14 +#: templates/edit_categories_dialog.php:16 msgid "Add" msgstr "添加" #: templates/installation.php:23 templates/installation.php:31 msgid "Security Warning" -msgstr "" +msgstr "安全警告" #: templates/installation.php:24 msgid "" "No secure random number generator is available, please enable the PHP " "OpenSSL extension." -msgstr "" +msgstr "随机数生成器无效,请启用PHP的OpenSSL扩展" #: templates/installation.php:26 msgid "" "Without a secure random number generator an attacker may be able to predict " "password reset tokens and take over your account." -msgstr "" +msgstr "没有安全随机码生成器,攻击者可能会猜测密码重置信息从而窃取您的账户" #: templates/installation.php:32 msgid "" @@ -327,7 +359,7 @@ msgid "" "strongly suggest that you configure your webserver in a way that the data " "directory is no longer accessible or you move the data directory outside the" " webserver document root." -msgstr "" +msgstr "您的数据文件夹和文件可由互联网访问。OwnCloud提供的.htaccess文件未生效。我们强烈建议您配置服务器,以使数据文件夹不可被访问,或者将数据文件夹移到web服务器根目录以外。" #: templates/installation.php:36 msgid "Create an admin account" @@ -374,27 +406,103 @@ msgstr "数据库主机" msgid "Finish setup" msgstr "安装完成" -#: templates/layout.guest.php:38 +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Sunday" +msgstr "星期日" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Monday" +msgstr "星期一" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Tuesday" +msgstr "星期二" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Wednesday" +msgstr "星期三" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Thursday" +msgstr "星期四" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Friday" +msgstr "星期五" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Saturday" +msgstr "星期六" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "January" +msgstr "一月" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "February" +msgstr "二月" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "March" +msgstr "三月" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "April" +msgstr "四月" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "May" +msgstr "五月" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "June" +msgstr "六月" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "July" +msgstr "七月" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "August" +msgstr "八月" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "September" +msgstr "九月" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "October" +msgstr "十月" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "November" +msgstr "十一月" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "December" +msgstr "十二月" + +#: templates/layout.guest.php:42 msgid "web services under your control" msgstr "由您掌控的网络服务" -#: templates/layout.user.php:34 +#: templates/layout.user.php:45 msgid "Log out" msgstr "注销" #: templates/login.php:8 msgid "Automatic logon rejected!" -msgstr "" +msgstr "自动登录被拒绝!" #: templates/login.php:9 msgid "" "If you did not change your password recently, your account may be " "compromised!" -msgstr "" +msgstr "如果您没有最近修改您的密码,您的帐户可能会受到影响!" #: templates/login.php:10 msgid "Please change your password to secure your account again." -msgstr "" +msgstr "请修改您的密码,以保护您的账户安全。" #: templates/login.php:15 msgid "Lost your password?" @@ -422,14 +530,14 @@ msgstr "下一页" #: templates/verify.php:5 msgid "Security Warning!" -msgstr "" +msgstr "安全警告!" #: templates/verify.php:6 msgid "" "Please verify your password.
For security reasons you may be " "occasionally asked to enter your password again." -msgstr "" +msgstr "请验证您的密码。
出于安全考虑,你可能偶尔会被要求再次输入密码。" #: templates/verify.php:16 msgid "Verify" -msgstr "" +msgstr "验证" diff --git a/l10n/zh_CN/files.po b/l10n/zh_CN/files.po index f6d9aa43f8efa01e8730f1e5a2e4d9ccde570ee6..0493f0631c195a95cfdb615042bae40113a6b6f0 100644 --- a/l10n/zh_CN/files.po +++ b/l10n/zh_CN/files.po @@ -4,6 +4,7 @@ # # Translators: # , 2012. +# Dianjin Wang <1132321739qq@gmail.com>, 2012. # , 2012. # , 2012. # , 2011, 2012. @@ -11,9 +12,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-09-28 02:02+0200\n" -"PO-Revision-Date: 2012-09-27 14:26+0000\n" -"Last-Translator: waterone \n" +"POT-Creation-Date: 2012-12-04 00:06+0100\n" +"PO-Revision-Date: 2012-12-03 00:57+0000\n" +"Last-Translator: hanfeng \n" "Language-Team: Chinese (China) (http://www.transifex.com/projects/p/owncloud/language/zh_CN/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -26,195 +27,166 @@ msgid "There is no error, the file uploaded with success" msgstr "没有发生错误,文件上传成功。" #: ajax/upload.php:21 -msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" -msgstr "上传的文件大小超过了php.ini 中指定的upload_max_filesize" +msgid "" +"The uploaded file exceeds the upload_max_filesize directive in php.ini: " +msgstr "上传文件大小已超过php.ini中upload_max_filesize所规定的值" -#: ajax/upload.php:22 +#: ajax/upload.php:23 msgid "" "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " "the HTML form" msgstr "上传的文件超过了在HTML 表单中指定的MAX_FILE_SIZE" -#: ajax/upload.php:23 +#: ajax/upload.php:25 msgid "The uploaded file was only partially uploaded" msgstr "只上传了文件的一部分" -#: ajax/upload.php:24 +#: ajax/upload.php:26 msgid "No file was uploaded" msgstr "文件没有上传" -#: ajax/upload.php:25 +#: ajax/upload.php:27 msgid "Missing a temporary folder" msgstr "缺少临时目录" -#: ajax/upload.php:26 +#: ajax/upload.php:28 msgid "Failed to write to disk" msgstr "写入磁盘失败" -#: appinfo/app.php:6 +#: appinfo/app.php:10 msgid "Files" msgstr "文件" -#: js/fileactions.js:108 templates/index.php:62 +#: js/fileactions.js:117 templates/index.php:83 templates/index.php:84 msgid "Unshare" msgstr "取消分享" -#: js/fileactions.js:110 templates/index.php:64 +#: js/fileactions.js:119 templates/index.php:89 templates/index.php:90 msgid "Delete" msgstr "删除" -#: js/fileactions.js:182 +#: js/fileactions.js:181 msgid "Rename" msgstr "重命名" -#: js/filelist.js:190 js/filelist.js:192 -msgid "already exists" -msgstr "已经存在" +#: js/filelist.js:201 js/filelist.js:203 +msgid "{new_name} already exists" +msgstr "{new_name} 已存在" -#: js/filelist.js:190 js/filelist.js:192 +#: js/filelist.js:201 js/filelist.js:203 msgid "replace" msgstr "替换" -#: js/filelist.js:190 +#: js/filelist.js:201 msgid "suggest name" msgstr "建议名称" -#: js/filelist.js:190 js/filelist.js:192 +#: js/filelist.js:201 js/filelist.js:203 msgid "cancel" msgstr "取消" -#: js/filelist.js:239 js/filelist.js:241 -msgid "replaced" -msgstr "已经替换" +#: js/filelist.js:250 +msgid "replaced {new_name}" +msgstr "替换 {new_name}" -#: js/filelist.js:239 js/filelist.js:241 js/filelist.js:273 js/filelist.js:275 +#: js/filelist.js:250 js/filelist.js:252 js/filelist.js:284 js/filelist.js:286 msgid "undo" msgstr "撤销" -#: js/filelist.js:241 -msgid "with" -msgstr "随着" +#: js/filelist.js:252 +msgid "replaced {new_name} with {old_name}" +msgstr "已将 {old_name}替换成 {new_name}" -#: js/filelist.js:273 -msgid "unshared" -msgstr "已取消分享" +#: js/filelist.js:284 +msgid "unshared {files}" +msgstr "取消了共享 {files}" -#: js/filelist.js:275 -msgid "deleted" -msgstr "已经删除" +#: js/filelist.js:286 +msgid "deleted {files}" +msgstr "删除了 {files}" + +#: js/files.js:33 +msgid "" +"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not " +"allowed." +msgstr "无效名称,'\\', '/', '<', '>', ':', '\"', '|', '?' 和 '*' 不被允许使用。" -#: js/files.js:179 +#: js/files.js:183 msgid "generating ZIP-file, it may take some time." msgstr "正在生成 ZIP 文件,可能需要一些时间" -#: js/files.js:208 +#: js/files.js:218 msgid "Unable to upload your file as it is a directory or has 0 bytes" msgstr "无法上传文件,因为它是一个目录或者大小为 0 字节" -#: js/files.js:208 +#: js/files.js:218 msgid "Upload Error" msgstr "上传错误" -#: js/files.js:236 js/files.js:341 js/files.js:371 +#: js/files.js:235 +msgid "Close" +msgstr "关闭" + +#: js/files.js:254 js/files.js:368 js/files.js:398 msgid "Pending" msgstr "操作等待中" -#: js/files.js:256 +#: js/files.js:274 msgid "1 file uploading" msgstr "1个文件上传中" -#: js/files.js:259 js/files.js:304 js/files.js:319 -msgid "files uploading" -msgstr "文件上传中" +#: js/files.js:277 js/files.js:331 js/files.js:346 +msgid "{count} files uploading" +msgstr "{count} 个文件上传中" -#: js/files.js:322 js/files.js:355 +#: js/files.js:349 js/files.js:382 msgid "Upload cancelled." msgstr "上传已取消" -#: js/files.js:424 +#: js/files.js:451 msgid "" "File upload is in progress. Leaving the page now will cancel the upload." msgstr "文件正在上传中。现在离开此页会导致上传动作被取消。" -#: js/files.js:494 -msgid "Invalid name, '/' is not allowed." -msgstr "非法的名称,不允许使用‘/’。" +#: js/files.js:523 +msgid "Invalid folder name. Usage of \"Shared\" is reserved by Owncloud" +msgstr "无效的文件夹名称。”Shared“ 是 Owncloud 保留字符。" -#: js/files.js:668 -msgid "files scanned" -msgstr "已扫描文件" +#: js/files.js:704 +msgid "{count} files scanned" +msgstr "{count} 个文件已扫描。" -#: js/files.js:676 +#: js/files.js:712 msgid "error while scanning" msgstr "扫描时出错" -#: js/files.js:749 templates/index.php:48 +#: js/files.js:785 templates/index.php:65 msgid "Name" msgstr "名称" -#: js/files.js:750 templates/index.php:56 +#: js/files.js:786 templates/index.php:76 msgid "Size" msgstr "大小" -#: js/files.js:751 templates/index.php:58 +#: js/files.js:787 templates/index.php:78 msgid "Modified" msgstr "修改日期" -#: js/files.js:778 -msgid "folder" -msgstr "文件夹" - -#: js/files.js:780 -msgid "folders" -msgstr "文件夹" - -#: js/files.js:788 -msgid "file" -msgstr "文件" - -#: js/files.js:790 -msgid "files" -msgstr "文件" - -#: js/files.js:834 -msgid "seconds ago" -msgstr "几秒前" +#: js/files.js:814 +msgid "1 folder" +msgstr "1个文件夹" -#: js/files.js:835 -msgid "minute ago" -msgstr "1分钟前" +#: js/files.js:816 +msgid "{count} folders" +msgstr "{count} 个文件夹" -#: js/files.js:836 -msgid "minutes ago" -msgstr "分钟前" +#: js/files.js:824 +msgid "1 file" +msgstr "1 个文件" -#: js/files.js:839 -msgid "today" -msgstr "今天" - -#: js/files.js:840 -msgid "yesterday" -msgstr "昨天" - -#: js/files.js:841 -msgid "days ago" -msgstr "%d 天前" - -#: js/files.js:842 -msgid "last month" -msgstr "上月" - -#: js/files.js:844 -msgid "months ago" -msgstr "月前" - -#: js/files.js:845 -msgid "last year" -msgstr "上年" - -#: js/files.js:846 -msgid "years ago" -msgstr "几年前" +#: js/files.js:826 +msgid "{count} files" +msgstr "{count} 个文件" #: templates/admin.php:5 msgid "File handling" @@ -224,27 +196,27 @@ msgstr "文件处理" msgid "Maximum upload size" msgstr "最大上传大小" -#: templates/admin.php:7 +#: templates/admin.php:9 msgid "max. possible: " -msgstr "最大可能: " +msgstr "最大允许: " -#: templates/admin.php:9 +#: templates/admin.php:12 msgid "Needed for multi-file and folder downloads." msgstr "多文件和文件夹下载需要此项。" -#: templates/admin.php:9 +#: templates/admin.php:14 msgid "Enable ZIP-download" msgstr "启用 ZIP 下载" -#: templates/admin.php:11 +#: templates/admin.php:17 msgid "0 is unlimited" msgstr "0 为无限制" -#: templates/admin.php:12 +#: templates/admin.php:19 msgid "Maximum input size for ZIP files" msgstr "ZIP 文件的最大输入大小" -#: templates/admin.php:14 +#: templates/admin.php:23 msgid "Save" msgstr "保存" @@ -252,52 +224,48 @@ msgstr "保存" msgid "New" msgstr "新建" -#: templates/index.php:9 +#: templates/index.php:10 msgid "Text file" msgstr "文本文件" -#: templates/index.php:10 +#: templates/index.php:12 msgid "Folder" msgstr "文件夹" -#: templates/index.php:11 -msgid "From url" -msgstr "来自地址" +#: templates/index.php:14 +msgid "From link" +msgstr "来自链接" -#: templates/index.php:20 +#: templates/index.php:35 msgid "Upload" msgstr "上传" -#: templates/index.php:27 +#: templates/index.php:43 msgid "Cancel upload" msgstr "取消上传" -#: templates/index.php:40 +#: templates/index.php:57 msgid "Nothing in here. Upload something!" msgstr "这里还什么都没有。上传些东西吧!" -#: templates/index.php:50 -msgid "Share" -msgstr "共享" - -#: templates/index.php:52 +#: templates/index.php:71 msgid "Download" msgstr "下载" -#: templates/index.php:75 +#: templates/index.php:103 msgid "Upload too large" msgstr "上传文件过大" -#: templates/index.php:77 +#: templates/index.php:105 msgid "" "The files you are trying to upload exceed the maximum size for file uploads " "on this server." -msgstr "您正尝试上传的文件超过了此服务器可以上传的最大大小" +msgstr "您正尝试上传的文件超过了此服务器可以上传的最大容量限制" -#: templates/index.php:82 +#: templates/index.php:110 msgid "Files are being scanned, please wait." msgstr "文件正在被扫描,请稍候。" -#: templates/index.php:85 +#: templates/index.php:113 msgid "Current scanning" msgstr "当前扫描" diff --git a/l10n/zh_CN/files_external.po b/l10n/zh_CN/files_external.po index 949d1adc2f3742022510dceeab0f284a3ead024b..bea3d106354eaaa6be8616762aaa41dbe99ebafd 100644 --- a/l10n/zh_CN/files_external.po +++ b/l10n/zh_CN/files_external.po @@ -3,13 +3,14 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-02 23:16+0200\n" -"PO-Revision-Date: 2012-10-02 21:17+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-12-12 00:12+0100\n" +"PO-Revision-Date: 2012-12-11 23:13+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Chinese (China) (http://www.transifex.com/projects/p/owncloud/language/zh_CN/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -19,88 +20,102 @@ msgstr "" #: js/dropbox.js:7 js/dropbox.js:25 js/google.js:7 js/google.js:23 msgid "Access granted" -msgstr "" +msgstr "权限已授予。" #: js/dropbox.js:28 js/dropbox.js:74 js/dropbox.js:79 js/dropbox.js:86 msgid "Error configuring Dropbox storage" -msgstr "" +msgstr "配置Dropbox存储时出错" #: js/dropbox.js:34 js/dropbox.js:45 js/google.js:31 js/google.js:40 msgid "Grant access" -msgstr "" +msgstr "授权" #: js/dropbox.js:73 js/google.js:72 msgid "Fill out all required fields" -msgstr "" +msgstr "完成所有必填项" #: js/dropbox.js:85 msgid "Please provide a valid Dropbox app key and secret." -msgstr "" +msgstr "请提供有效的Dropbox应用key和secret" #: js/google.js:26 js/google.js:73 js/google.js:78 msgid "Error configuring Google Drive storage" +msgstr "配置Google Drive存储时出错" + +#: lib/config.php:434 +msgid "" +"Warning: \"smbclient\" is not installed. Mounting of CIFS/SMB shares " +"is not possible. Please ask your system administrator to install it." +msgstr "" + +#: lib/config.php:435 +msgid "" +"Warning: The FTP support in PHP is not enabled or installed. Mounting" +" of FTP shares is not possible. Please ask your system administrator to " +"install it." msgstr "" #: templates/settings.php:3 msgid "External Storage" -msgstr "" +msgstr "外部存储" -#: templates/settings.php:7 templates/settings.php:19 +#: templates/settings.php:8 templates/settings.php:22 msgid "Mount point" -msgstr "" +msgstr "挂载点" -#: templates/settings.php:8 +#: templates/settings.php:9 msgid "Backend" -msgstr "" +msgstr "后端" -#: templates/settings.php:9 +#: templates/settings.php:10 msgid "Configuration" -msgstr "" +msgstr "配置" -#: templates/settings.php:10 +#: templates/settings.php:11 msgid "Options" -msgstr "" +msgstr "选项" -#: templates/settings.php:11 +#: templates/settings.php:12 msgid "Applicable" -msgstr "" +msgstr "适用的" -#: templates/settings.php:23 +#: templates/settings.php:27 msgid "Add mount point" -msgstr "" +msgstr "增加挂载点" -#: templates/settings.php:54 templates/settings.php:62 +#: templates/settings.php:85 msgid "None set" -msgstr "" +msgstr "未设置" -#: templates/settings.php:63 +#: templates/settings.php:86 msgid "All Users" -msgstr "" +msgstr "所有用户" -#: templates/settings.php:64 +#: templates/settings.php:87 msgid "Groups" -msgstr "" +msgstr "组" -#: templates/settings.php:69 +#: templates/settings.php:95 msgid "Users" -msgstr "" +msgstr "用户" -#: templates/settings.php:77 templates/settings.php:107 +#: templates/settings.php:108 templates/settings.php:109 +#: templates/settings.php:149 templates/settings.php:150 msgid "Delete" -msgstr "" +msgstr "删除" -#: templates/settings.php:87 +#: templates/settings.php:124 msgid "Enable User External Storage" -msgstr "" +msgstr "启用用户外部存储" -#: templates/settings.php:88 +#: templates/settings.php:125 msgid "Allow users to mount their own external storage" -msgstr "" +msgstr "允许用户挂载自有外部存储" -#: templates/settings.php:99 +#: templates/settings.php:139 msgid "SSL root certificates" -msgstr "" +msgstr "SSL根证书" -#: templates/settings.php:113 +#: templates/settings.php:158 msgid "Import Root Certificate" -msgstr "" +msgstr "导入根证书" diff --git a/l10n/zh_CN/files_pdfviewer.po b/l10n/zh_CN/files_pdfviewer.po deleted file mode 100644 index 86e0af951914b3f2271c4b53a6f6df5959300aec..0000000000000000000000000000000000000000 --- a/l10n/zh_CN/files_pdfviewer.po +++ /dev/null @@ -1,42 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 02:18+0200\n" -"PO-Revision-Date: 2012-08-26 00:19+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Chinese (China) (http://www.transifex.com/projects/p/owncloud/language/zh_CN/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: zh_CN\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: js/viewer.js:22 -msgid "Previous" -msgstr "" - -#: js/viewer.js:23 -msgid "Next" -msgstr "" - -#: js/viewer.js:29 -msgid "Page Width" -msgstr "" - -#: js/viewer.js:29 -msgid "Page Fit" -msgstr "" - -#: js/viewer.js:30 -msgid "Print" -msgstr "" - -#: js/viewer.js:32 -msgid "Download" -msgstr "" diff --git a/l10n/zh_CN/files_texteditor.po b/l10n/zh_CN/files_texteditor.po deleted file mode 100644 index dc16629c116c68a17ffd79a61b9c11dcb9075ec9..0000000000000000000000000000000000000000 --- a/l10n/zh_CN/files_texteditor.po +++ /dev/null @@ -1,44 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 01:17+0200\n" -"PO-Revision-Date: 2012-08-25 23:18+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Chinese (China) (http://www.transifex.com/projects/p/owncloud/language/zh_CN/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: zh_CN\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: js/aceeditor/mode-coldfusion-uncompressed.js:1568 -#: js/aceeditor/mode-liquid-uncompressed.js:902 -#: js/aceeditor/mode-svg-uncompressed.js:1575 -msgid "regex" -msgstr "" - -#: js/editor.js:72 js/editor.js:156 js/editor.js:163 -msgid "Save" -msgstr "" - -#: js/editor.js:74 -msgid "Close" -msgstr "" - -#: js/editor.js:149 -msgid "Saving..." -msgstr "" - -#: js/editor.js:239 -msgid "An error occurred!" -msgstr "" - -#: js/editor.js:266 -msgid "There were unsaved changes, click here to go back" -msgstr "" diff --git a/l10n/zh_CN/gallery.po b/l10n/zh_CN/gallery.po deleted file mode 100644 index e268331a6e8aed6f7437004f70770509274a5f27..0000000000000000000000000000000000000000 --- a/l10n/zh_CN/gallery.po +++ /dev/null @@ -1,41 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Bartek , 2012. -# , 2012. -# , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-19 02:02+0200\n" -"PO-Revision-Date: 2012-08-18 05:50+0000\n" -"Last-Translator: leonfeng \n" -"Language-Team: Chinese (China) (http://www.transifex.com/projects/p/owncloud/language/zh_CN/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: zh_CN\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: appinfo/app.php:39 -msgid "Pictures" -msgstr "图片" - -#: js/pictures.js:12 -msgid "Share gallery" -msgstr "分享图库" - -#: js/pictures.js:32 -msgid "Error: " -msgstr "错误:" - -#: js/pictures.js:32 -msgid "Internal error" -msgstr "内部错误" - -#: templates/index.php:27 -msgid "Slideshow" -msgstr "幻灯片" diff --git a/l10n/zh_CN/impress.po b/l10n/zh_CN/impress.po deleted file mode 100644 index 47fab23c2536eb34f6dbd21d111730dc04f97ab9..0000000000000000000000000000000000000000 --- a/l10n/zh_CN/impress.po +++ /dev/null @@ -1,22 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 01:17+0200\n" -"PO-Revision-Date: 2012-08-25 23:18+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Chinese (China) (http://www.transifex.com/projects/p/owncloud/language/zh_CN/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: zh_CN\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: templates/presentations.php:7 -msgid "Documentation" -msgstr "" diff --git a/l10n/zh_CN/lib.po b/l10n/zh_CN/lib.po index ff9847c8289530a64d1ba617f20c2c2ee688b38e..aebc5a42f35034da0757e2a76b6320609f0b4198 100644 --- a/l10n/zh_CN/lib.po +++ b/l10n/zh_CN/lib.po @@ -9,8 +9,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-09-07 02:04+0200\n" -"PO-Revision-Date: 2012-09-06 07:33+0000\n" +"POT-Creation-Date: 2012-11-19 00:01+0100\n" +"PO-Revision-Date: 2012-11-18 16:17+0000\n" "Last-Translator: hanfeng \n" "Language-Team: Chinese (China) (http://www.transifex.com/projects/p/owncloud/language/zh_CN/)\n" "MIME-Version: 1.0\n" @@ -19,43 +19,43 @@ msgstr "" "Language: zh_CN\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: app.php:288 +#: app.php:285 msgid "Help" msgstr "帮助" -#: app.php:295 +#: app.php:292 msgid "Personal" msgstr "个人" -#: app.php:300 +#: app.php:297 msgid "Settings" msgstr "设置" -#: app.php:305 +#: app.php:302 msgid "Users" msgstr "用户" -#: app.php:312 +#: app.php:309 msgid "Apps" msgstr "应用" -#: app.php:314 +#: app.php:311 msgid "Admin" msgstr "管理" -#: files.php:280 +#: files.php:361 msgid "ZIP download is turned off." msgstr "ZIP 下载已经关闭" -#: files.php:281 +#: files.php:362 msgid "Files need to be downloaded one by one." msgstr "需要逐一下载文件" -#: files.php:281 files.php:306 +#: files.php:362 files.php:387 msgid "Back to Files" msgstr "回到文件" -#: files.php:305 +#: files.php:386 msgid "Selected files too large to generate zip file." msgstr "选择的文件太大,无法生成 zip 文件。" @@ -63,7 +63,7 @@ msgstr "选择的文件太大,无法生成 zip 文件。" msgid "Application is not enabled" msgstr "不需要程序" -#: json.php:39 json.php:63 json.php:75 +#: json.php:39 json.php:64 json.php:77 json.php:89 msgid "Authentication error" msgstr "认证错误" @@ -71,57 +71,84 @@ msgstr "认证错误" msgid "Token expired. Please reload page." msgstr "Token 过期,请刷新页面。" -#: template.php:87 +#: search/provider/file.php:17 search/provider/file.php:35 +msgid "Files" +msgstr "文件" + +#: search/provider/file.php:26 search/provider/file.php:33 +msgid "Text" +msgstr "文本" + +#: search/provider/file.php:29 +msgid "Images" +msgstr "图像" + +#: template.php:103 msgid "seconds ago" msgstr "几秒前" -#: template.php:88 +#: template.php:104 msgid "1 minute ago" msgstr "1分钟前" -#: template.php:89 +#: template.php:105 #, php-format msgid "%d minutes ago" msgstr "%d 分钟前" -#: template.php:92 +#: template.php:106 +msgid "1 hour ago" +msgstr "1小时前" + +#: template.php:107 +#, php-format +msgid "%d hours ago" +msgstr "%d小时前" + +#: template.php:108 msgid "today" msgstr "今天" -#: template.php:93 +#: template.php:109 msgid "yesterday" msgstr "昨天" -#: template.php:94 +#: template.php:110 #, php-format msgid "%d days ago" msgstr "%d 天前" -#: template.php:95 +#: template.php:111 msgid "last month" msgstr "上月" -#: template.php:96 -msgid "months ago" -msgstr "几月前" +#: template.php:112 +#, php-format +msgid "%d months ago" +msgstr "%d 月前" -#: template.php:97 +#: template.php:113 msgid "last year" msgstr "上年" -#: template.php:98 +#: template.php:114 msgid "years ago" msgstr "几年前" -#: updater.php:66 +#: updater.php:75 #, php-format msgid "%s is available. Get more information" msgstr "%s 已存在. 点此 获取更多信息" -#: updater.php:68 +#: updater.php:77 msgid "up to date" msgstr "已更新。" -#: updater.php:71 +#: updater.php:80 msgid "updates check is disabled" msgstr "检查更新功能被关闭。" + +#: vcategories.php:188 vcategories.php:249 +#, php-format +msgid "Could not find category \"%s\"" +msgstr "无法找到分类 \"%s\"" diff --git a/l10n/zh_CN/media.po b/l10n/zh_CN/media.po deleted file mode 100644 index 1990c3e2be055a1723cb8a5a60d89ec24f59aecb..0000000000000000000000000000000000000000 --- a/l10n/zh_CN/media.po +++ /dev/null @@ -1,67 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# , 2011. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-06-06 00:12+0200\n" -"PO-Revision-Date: 2012-06-05 22:15+0000\n" -"Last-Translator: icewind \n" -"Language-Team: Chinese (China) (http://www.transifex.net/projects/p/owncloud/language/zh_CN/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: zh_CN\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: appinfo/app.php:32 templates/player.php:8 -msgid "Music" -msgstr "音乐" - -#: js/music.js:18 -msgid "Add album to playlist" -msgstr "" - -#: templates/music.php:3 templates/player.php:12 -msgid "Play" -msgstr "播放" - -#: templates/music.php:4 templates/music.php:26 templates/player.php:13 -msgid "Pause" -msgstr "暂停" - -#: templates/music.php:5 -msgid "Previous" -msgstr "前一首" - -#: templates/music.php:6 templates/player.php:14 -msgid "Next" -msgstr "后一首" - -#: templates/music.php:7 -msgid "Mute" -msgstr "静音" - -#: templates/music.php:8 -msgid "Unmute" -msgstr "取消静音" - -#: templates/music.php:25 -msgid "Rescan Collection" -msgstr "重新扫描收藏" - -#: templates/music.php:37 -msgid "Artist" -msgstr "艺术家" - -#: templates/music.php:38 -msgid "Album" -msgstr "专辑" - -#: templates/music.php:39 -msgid "Title" -msgstr "标题" diff --git a/l10n/zh_CN/settings.po b/l10n/zh_CN/settings.po index 417b3cca4da4ae3218b1c4127c1d3fb852c41e5b..bd122830a294cf5b90a505a3b1176673a875b6e1 100644 --- a/l10n/zh_CN/settings.po +++ b/l10n/zh_CN/settings.po @@ -12,9 +12,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-09 02:03+0200\n" -"PO-Revision-Date: 2012-10-09 00:04+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-12-04 00:06+0100\n" +"PO-Revision-Date: 2012-12-03 00:58+0000\n" +"Last-Translator: hanfeng \n" "Language-Team: Chinese (China) (http://www.transifex.com/projects/p/owncloud/language/zh_CN/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -22,70 +22,73 @@ msgstr "" "Language: zh_CN\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: ajax/apps/ocs.php:23 +#: ajax/apps/ocs.php:20 msgid "Unable to load list from App Store" msgstr "无法从应用商店载入列表" -#: ajax/creategroup.php:9 ajax/removeuser.php:13 ajax/setquota.php:18 -#: ajax/togglegroups.php:15 -msgid "Authentication error" -msgstr "认证错误" - -#: ajax/creategroup.php:19 +#: ajax/creategroup.php:10 msgid "Group already exists" msgstr "已存在该组" -#: ajax/creategroup.php:28 +#: ajax/creategroup.php:19 msgid "Unable to add group" msgstr "无法添加组" -#: ajax/enableapp.php:14 +#: ajax/enableapp.php:12 msgid "Could not enable app. " msgstr "无法开启App" -#: ajax/lostpassword.php:14 +#: ajax/lostpassword.php:12 msgid "Email saved" msgstr "电子邮件已保存" -#: ajax/lostpassword.php:16 +#: ajax/lostpassword.php:14 msgid "Invalid email" msgstr "无效的电子邮件" -#: ajax/openid.php:16 +#: ajax/openid.php:13 msgid "OpenID Changed" msgstr "OpenID 已修改" -#: ajax/openid.php:18 ajax/setlanguage.php:20 ajax/setlanguage.php:23 +#: ajax/openid.php:15 ajax/setlanguage.php:17 ajax/setlanguage.php:20 msgid "Invalid request" msgstr "非法请求" -#: ajax/removegroup.php:16 +#: ajax/removegroup.php:13 msgid "Unable to delete group" msgstr "无法删除组" -#: ajax/removeuser.php:22 +#: ajax/removeuser.php:15 ajax/setquota.php:15 ajax/togglegroups.php:18 +msgid "Authentication error" +msgstr "认证错误" + +#: ajax/removeuser.php:24 msgid "Unable to delete user" msgstr "无法删除用户" -#: ajax/setlanguage.php:18 +#: ajax/setlanguage.php:15 msgid "Language changed" msgstr "语言已修改" -#: ajax/togglegroups.php:25 +#: ajax/togglegroups.php:12 +msgid "Admins can't remove themself from the admin group" +msgstr "管理员不能将自己移出管理组。" + +#: ajax/togglegroups.php:28 #, php-format msgid "Unable to add user to group %s" msgstr "无法把用户添加到组 %s" -#: ajax/togglegroups.php:31 +#: ajax/togglegroups.php:34 #, php-format msgid "Unable to remove user from group %s" msgstr "无法从组%s中移除用户" -#: js/apps.js:28 js/apps.js:65 +#: js/apps.js:28 js/apps.js:67 msgid "Disable" msgstr "禁用" -#: js/apps.js:28 js/apps.js:54 +#: js/apps.js:28 js/apps.js:55 msgid "Enable" msgstr "启用" @@ -93,104 +96,17 @@ msgstr "启用" msgid "Saving..." msgstr "正在保存" -#: personal.php:47 personal.php:48 +#: personal.php:42 personal.php:43 msgid "__language_name__" msgstr "简体中文" -#: templates/admin.php:14 -msgid "Security Warning" -msgstr "安全警告" - -#: templates/admin.php:17 -msgid "" -"Your data directory and your files are probably accessible from the " -"internet. The .htaccess file that ownCloud provides is not working. We " -"strongly suggest that you configure your webserver in a way that the data " -"directory is no longer accessible or you move the data directory outside the" -" webserver document root." -msgstr "您的数据文件夹和文件可由互联网访问。OwnCloud提供的.htaccess文件未生效。我们强烈建议您配置服务器,以使数据文件夹不可被访问,或者将数据文件夹移到web服务器根目录以外。" - -#: templates/admin.php:31 -msgid "Cron" -msgstr "计划任务" - -#: templates/admin.php:37 -msgid "Execute one task with each page loaded" -msgstr "每次页面加载完成后执行任务" - -#: templates/admin.php:43 -msgid "" -"cron.php is registered at a webcron service. Call the cron.php page in the " -"owncloud root once a minute over http." -msgstr "cron.php已被注册到网络定时任务服务。通过http每分钟调用owncloud根目录的cron.php网页。" - -#: templates/admin.php:49 -msgid "" -"Use systems cron service. Call the cron.php file in the owncloud folder via " -"a system cronjob once a minute." -msgstr "使用系统定时任务服务。每分钟通过系统定时任务调用owncloud文件夹中的cron.php文件" - -#: templates/admin.php:56 -msgid "Sharing" -msgstr "分享" - -#: templates/admin.php:61 -msgid "Enable Share API" -msgstr "开启共享API" - -#: templates/admin.php:62 -msgid "Allow apps to use the Share API" -msgstr "允许 应用 使用共享API" - -#: templates/admin.php:67 -msgid "Allow links" -msgstr "允许连接" - -#: templates/admin.php:68 -msgid "Allow users to share items to the public with links" -msgstr "允许用户使用连接向公众共享" - -#: templates/admin.php:73 -msgid "Allow resharing" -msgstr "允许再次共享" - -#: templates/admin.php:74 -msgid "Allow users to share items shared with them again" -msgstr "允许用户将共享给他们的项目再次共享" - -#: templates/admin.php:79 -msgid "Allow users to share with anyone" -msgstr "允许用户向任何人共享" - -#: templates/admin.php:81 -msgid "Allow users to only share with users in their groups" -msgstr "允许用户只向同组用户共享" - -#: templates/admin.php:88 -msgid "Log" -msgstr "日志" - -#: templates/admin.php:116 -msgid "More" -msgstr "更多" - -#: templates/admin.php:124 -msgid "" -"Developed by the ownCloud community, the source code is " -"licensed under the AGPL." -msgstr "由ownCloud社区开发, 源代码AGPL许可证下发布。" - #: templates/apps.php:10 msgid "Add your App" msgstr "添加应用" #: templates/apps.php:11 msgid "More Apps" -msgstr "" +msgstr "更多应用" #: templates/apps.php:27 msgid "Select an App" @@ -216,26 +132,26 @@ msgstr "管理大文件" msgid "Ask a question" msgstr "提问" -#: templates/help.php:23 +#: templates/help.php:22 msgid "Problems connecting to help database." msgstr "连接帮助数据库错误 " -#: templates/help.php:24 +#: templates/help.php:23 msgid "Go there manually." msgstr "手动访问" -#: templates/help.php:32 +#: templates/help.php:31 msgid "Answer" msgstr "回答" #: templates/personal.php:8 #, php-format -msgid "You have used %s of the available %s" -msgstr "您已使用空间: %s,总空间: %s" +msgid "You have used %s of the available %s" +msgstr "你已使用 %s,有效空间 %s" #: templates/personal.php:12 msgid "Desktop and Mobile Syncing Clients" -msgstr "桌面和移动设备同步程序" +msgstr "桌面和移动设备同步客户端" #: templates/personal.php:13 msgid "Download" @@ -275,7 +191,7 @@ msgstr "您的电子邮件" #: templates/personal.php:32 msgid "Fill in an email address to enable password recovery" -msgstr "填写电子邮件地址以启用密码恢复" +msgstr "填写电子邮件地址以启用密码恢复功能" #: templates/personal.php:38 templates/personal.php:39 msgid "Language" @@ -289,6 +205,16 @@ msgstr "帮助翻译" msgid "use this address to connect to your ownCloud in your file manager" msgstr "您可在文件管理器中使用该地址连接到ownCloud" +#: templates/personal.php:61 +msgid "" +"Developed by the ownCloud community, the source code is " +"licensed under the AGPL." +msgstr "由ownCloud社区开发, 源代码AGPL许可证下发布。" + #: templates/users.php:21 templates/users.php:76 msgid "Name" msgstr "名称" @@ -315,7 +241,7 @@ msgstr "其它" #: templates/users.php:80 templates/users.php:112 msgid "Group Admin" -msgstr "组管理" +msgstr "组管理员" #: templates/users.php:82 msgid "Quota" diff --git a/l10n/zh_CN/tasks.po b/l10n/zh_CN/tasks.po deleted file mode 100644 index 7f27dae57f2c758fd8e555efecbc79e9c485763d..0000000000000000000000000000000000000000 --- a/l10n/zh_CN/tasks.po +++ /dev/null @@ -1,106 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:44+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Chinese (China) (http://www.transifex.com/projects/p/owncloud/language/zh_CN/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: zh_CN\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: ajax/update_property.php:51 lib/app.php:89 lib/app.php:101 -msgid "Invalid date/time" -msgstr "" - -#: appinfo/app.php:11 -msgid "Tasks" -msgstr "" - -#: js/tasks.js:415 -msgid "No category" -msgstr "" - -#: lib/app.php:33 -msgid "Unspecified" -msgstr "" - -#: lib/app.php:34 -msgid "1=highest" -msgstr "" - -#: lib/app.php:38 -msgid "5=medium" -msgstr "" - -#: lib/app.php:42 -msgid "9=lowest" -msgstr "" - -#: lib/app.php:81 -msgid "Empty Summary" -msgstr "" - -#: lib/app.php:93 -msgid "Invalid percent complete" -msgstr "" - -#: lib/app.php:107 -msgid "Invalid priority" -msgstr "" - -#: templates/tasks.php:3 -msgid "Add Task" -msgstr "" - -#: templates/tasks.php:4 -msgid "Order Due" -msgstr "" - -#: templates/tasks.php:5 -msgid "Order List" -msgstr "" - -#: templates/tasks.php:6 -msgid "Order Complete" -msgstr "" - -#: templates/tasks.php:7 -msgid "Order Location" -msgstr "" - -#: templates/tasks.php:8 -msgid "Order Priority" -msgstr "" - -#: templates/tasks.php:9 -msgid "Order Label" -msgstr "" - -#: templates/tasks.php:16 -msgid "Loading tasks..." -msgstr "" - -#: templates/tasks.php:20 -msgid "Important" -msgstr "" - -#: templates/tasks.php:23 -msgid "More" -msgstr "" - -#: templates/tasks.php:26 -msgid "Less" -msgstr "" - -#: templates/tasks.php:29 -msgid "Delete" -msgstr "" diff --git a/l10n/zh_CN/user_ldap.po b/l10n/zh_CN/user_ldap.po index e59cc26498e400e032490cc9a8923b6643f1ed6a..00e887720fdf4ec17d3288fc8e0cbf10ffbc36d1 100644 --- a/l10n/zh_CN/user_ldap.po +++ b/l10n/zh_CN/user_ldap.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-09-20 02:05+0200\n" -"PO-Revision-Date: 2012-09-19 12:44+0000\n" +"POT-Creation-Date: 2012-10-24 02:02+0200\n" +"PO-Revision-Date: 2012-10-23 05:22+0000\n" "Last-Translator: hanfeng \n" "Language-Team: Chinese (China) (http://www.transifex.com/projects/p/owncloud/language/zh_CN/)\n" "MIME-Version: 1.0\n" @@ -25,7 +25,7 @@ msgstr "主机" #: templates/settings.php:8 msgid "" "You can omit the protocol, except you require SSL. Then start with ldaps://" -msgstr "" +msgstr "可以忽略协议,但如要使用SSL,则需以ldaps://开头" #: templates/settings.php:9 msgid "Base DN" @@ -44,7 +44,7 @@ msgid "" "The DN of the client user with which the bind shall be done, e.g. " "uid=agent,dc=example,dc=com. For anonymous access, leave DN and Password " "empty." -msgstr "" +msgstr "客户端使用的DN必须与绑定的相同,比如uid=agent,dc=example,dc=com\n如需匿名访问,将DN和密码保留为空" #: templates/settings.php:11 msgid "Password" @@ -52,47 +52,47 @@ msgstr "密码" #: templates/settings.php:11 msgid "For anonymous access, leave DN and Password empty." -msgstr "" +msgstr "启用匿名访问,将DN和密码保留为空" #: templates/settings.php:12 msgid "User Login Filter" -msgstr "" +msgstr "用户登录过滤" #: templates/settings.php:12 #, php-format msgid "" "Defines the filter to apply, when login is attempted. %%uid replaces the " "username in the login action." -msgstr "" +msgstr "定义当尝试登录时的过滤器。 在登录过程中,%%uid将会被用户名替换" #: templates/settings.php:12 #, php-format msgid "use %%uid placeholder, e.g. \"uid=%%uid\"" -msgstr "" +msgstr "使用 %%uid作为占位符,例如“uid=%%uid”" #: templates/settings.php:13 msgid "User List Filter" -msgstr "" +msgstr "用户列表过滤" #: templates/settings.php:13 msgid "Defines the filter to apply, when retrieving users." -msgstr "" +msgstr "定义拉取用户时的过滤器" #: templates/settings.php:13 msgid "without any placeholder, e.g. \"objectClass=person\"." -msgstr "" +msgstr "没有任何占位符,如 \"objectClass=person\"." #: templates/settings.php:14 msgid "Group Filter" -msgstr "" +msgstr "组过滤" #: templates/settings.php:14 msgid "Defines the filter to apply, when retrieving groups." -msgstr "" +msgstr "定义拉取组信息时的过滤器" #: templates/settings.php:14 msgid "without any placeholder, e.g. \"objectClass=posixGroup\"." -msgstr "" +msgstr "无需占位符,例如\"objectClass=posixGroup\"" #: templates/settings.php:17 msgid "Port" @@ -100,61 +100,61 @@ msgstr "端口" #: templates/settings.php:18 msgid "Base User Tree" -msgstr "" +msgstr "基础用户树" #: templates/settings.php:19 msgid "Base Group Tree" -msgstr "" +msgstr "基础组树" #: templates/settings.php:20 msgid "Group-Member association" -msgstr "" +msgstr "组成员关联" #: templates/settings.php:21 msgid "Use TLS" -msgstr "" +msgstr "使用TLS" #: templates/settings.php:21 msgid "Do not use it for SSL connections, it will fail." -msgstr "" +msgstr "不要在SSL链接中使用此选项,会导致失败。" #: templates/settings.php:22 msgid "Case insensitve LDAP server (Windows)" -msgstr "" +msgstr "大小写敏感LDAP服务器(Windows)" #: templates/settings.php:23 msgid "Turn off SSL certificate validation." -msgstr "" +msgstr "关闭SSL证书验证" #: templates/settings.php:23 msgid "" "If connection only works with this option, import the LDAP server's SSL " "certificate in your ownCloud server." -msgstr "" +msgstr "如果链接仅在此选项时可用,在您的ownCloud服务器中导入LDAP服务器的SSL证书。" #: templates/settings.php:23 msgid "Not recommended, use for testing only." -msgstr "" +msgstr "暂不推荐,仅供测试" #: templates/settings.php:24 msgid "User Display Name Field" -msgstr "" +msgstr "用户显示名称字段" #: templates/settings.php:24 msgid "The LDAP attribute to use to generate the user`s ownCloud name." -msgstr "" +msgstr "用来生成用户的ownCloud名称的 LDAP属性" #: templates/settings.php:25 msgid "Group Display Name Field" -msgstr "" +msgstr "组显示名称字段" #: templates/settings.php:25 msgid "The LDAP attribute to use to generate the groups`s ownCloud name." -msgstr "" +msgstr "用来生成组的ownCloud名称的LDAP属性" #: templates/settings.php:27 msgid "in bytes" -msgstr "" +msgstr "字节数" #: templates/settings.php:29 msgid "in seconds. A change empties the cache." @@ -164,7 +164,7 @@ msgstr "" msgid "" "Leave empty for user name (default). Otherwise, specify an LDAP/AD " "attribute." -msgstr "" +msgstr "将用户名称留空(默认)。否则指定一个LDAP/AD属性" #: templates/settings.php:32 msgid "Help" diff --git a/l10n/zh_CN/user_migrate.po b/l10n/zh_CN/user_migrate.po deleted file mode 100644 index f422c21ddf4b653034a9998d5c4bffa682ec5165..0000000000000000000000000000000000000000 --- a/l10n/zh_CN/user_migrate.po +++ /dev/null @@ -1,51 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:45+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Chinese (China) (http://www.transifex.com/projects/p/owncloud/language/zh_CN/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: zh_CN\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: js/export.js:14 js/export.js:20 -msgid "Export" -msgstr "" - -#: js/export.js:19 -msgid "Something went wrong while the export file was being generated" -msgstr "" - -#: js/export.js:19 -msgid "An error has occurred" -msgstr "" - -#: templates/settings.php:2 -msgid "Export your user account" -msgstr "" - -#: templates/settings.php:3 -msgid "" -"This will create a compressed file that contains your ownCloud account." -msgstr "" - -#: templates/settings.php:13 -msgid "Import user account" -msgstr "" - -#: templates/settings.php:15 -msgid "ownCloud User Zip" -msgstr "" - -#: templates/settings.php:17 -msgid "Import" -msgstr "" diff --git a/l10n/zh_CN/user_openid.po b/l10n/zh_CN/user_openid.po deleted file mode 100644 index a7e4f24cc2172610ff74bca28f0230dcb7a2e5be..0000000000000000000000000000000000000000 --- a/l10n/zh_CN/user_openid.po +++ /dev/null @@ -1,54 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:45+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Chinese (China) (http://www.transifex.com/projects/p/owncloud/language/zh_CN/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: zh_CN\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: templates/nomode.php:12 -msgid "This is an OpenID server endpoint. For more information, see " -msgstr "" - -#: templates/nomode.php:14 -msgid "Identity: " -msgstr "" - -#: templates/nomode.php:15 -msgid "Realm: " -msgstr "" - -#: templates/nomode.php:16 -msgid "User: " -msgstr "" - -#: templates/nomode.php:17 -msgid "Login" -msgstr "" - -#: templates/nomode.php:22 -msgid "Error: No user Selected" -msgstr "" - -#: templates/settings.php:4 -msgid "you can authenticate to other sites with this address" -msgstr "" - -#: templates/settings.php:5 -msgid "Authorized OpenID provider" -msgstr "" - -#: templates/settings.php:6 -msgid "Your address at Wordpress, Identi.ca, …" -msgstr "" diff --git a/l10n/zh_CN/files_odfviewer.po b/l10n/zh_CN/user_webdavauth.po similarity index 62% rename from l10n/zh_CN/files_odfviewer.po rename to l10n/zh_CN/user_webdavauth.po index fc8d8333ac08c9c9652c62d2550fe83c440c2319..cdb6da1b8e1a10a873be18ad308d3cc42970659c 100644 --- a/l10n/zh_CN/files_odfviewer.po +++ b/l10n/zh_CN/user_webdavauth.po @@ -3,20 +3,21 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 02:18+0200\n" -"PO-Revision-Date: 2012-08-26 00:19+0000\n" -"Last-Translator: FULL NAME \n" +"POT-Creation-Date: 2012-11-18 00:01+0100\n" +"PO-Revision-Date: 2012-11-17 11:47+0000\n" +"Last-Translator: hanfeng \n" "Language-Team: Chinese (China) (http://www.transifex.com/projects/p/owncloud/language/zh_CN/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: zh_CN\n" -"Plural-Forms: nplurals=1; plural=0\n" +"Plural-Forms: nplurals=1; plural=0;\n" -#: js/viewer.js:9 -msgid "Close" -msgstr "" +#: templates/settings.php:4 +msgid "WebDAV URL: http://" +msgstr "WebDAV地址: http://" diff --git a/l10n/zh_HK/core.po b/l10n/zh_HK/core.po new file mode 100644 index 0000000000000000000000000000000000000000..5c659dbbe42b293f6fff1fbb4ab30fe691e8f1c3 --- /dev/null +++ b/l10n/zh_HK/core.po @@ -0,0 +1,540 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# , 2012. +msgid "" +msgstr "" +"Project-Id-Version: ownCloud\n" +"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" +"POT-Creation-Date: 2012-12-12 00:13+0100\n" +"PO-Revision-Date: 2012-12-11 07:28+0000\n" +"Last-Translator: amanda.shuuemura \n" +"Language-Team: Chinese (Hong Kong) (http://www.transifex.com/projects/p/owncloud/language/zh_HK/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: zh_HK\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: ajax/vcategories/add.php:26 ajax/vcategories/edit.php:25 +msgid "Category type not provided." +msgstr "" + +#: ajax/vcategories/add.php:30 +msgid "No category to add?" +msgstr "" + +#: ajax/vcategories/add.php:37 +msgid "This category already exists: " +msgstr "" + +#: ajax/vcategories/addToFavorites.php:26 ajax/vcategories/delete.php:27 +#: ajax/vcategories/favorites.php:24 +#: ajax/vcategories/removeFromFavorites.php:26 +msgid "Object type not provided." +msgstr "" + +#: ajax/vcategories/addToFavorites.php:30 +#: ajax/vcategories/removeFromFavorites.php:30 +#, php-format +msgid "%s ID not provided." +msgstr "" + +#: ajax/vcategories/addToFavorites.php:35 +#, php-format +msgid "Error adding %s to favorites." +msgstr "" + +#: ajax/vcategories/delete.php:35 js/oc-vcategories.js:136 +msgid "No categories selected for deletion." +msgstr "" + +#: ajax/vcategories/removeFromFavorites.php:35 +#, php-format +msgid "Error removing %s from favorites." +msgstr "" + +#: js/js.js:259 templates/layout.user.php:60 templates/layout.user.php:61 +msgid "Settings" +msgstr "" + +#: js/js.js:704 +msgid "seconds ago" +msgstr "" + +#: js/js.js:705 +msgid "1 minute ago" +msgstr "" + +#: js/js.js:706 +msgid "{minutes} minutes ago" +msgstr "" + +#: js/js.js:707 +msgid "1 hour ago" +msgstr "" + +#: js/js.js:708 +msgid "{hours} hours ago" +msgstr "" + +#: js/js.js:709 +msgid "today" +msgstr "" + +#: js/js.js:710 +msgid "yesterday" +msgstr "" + +#: js/js.js:711 +msgid "{days} days ago" +msgstr "" + +#: js/js.js:712 +msgid "last month" +msgstr "" + +#: js/js.js:713 +msgid "{months} months ago" +msgstr "" + +#: js/js.js:714 +msgid "months ago" +msgstr "" + +#: js/js.js:715 +msgid "last year" +msgstr "" + +#: js/js.js:716 +msgid "years ago" +msgstr "" + +#: js/oc-dialogs.js:126 +msgid "Choose" +msgstr "" + +#: js/oc-dialogs.js:146 js/oc-dialogs.js:166 +msgid "Cancel" +msgstr "" + +#: js/oc-dialogs.js:162 +msgid "No" +msgstr "" + +#: js/oc-dialogs.js:163 +msgid "Yes" +msgstr "" + +#: js/oc-dialogs.js:180 +msgid "Ok" +msgstr "" + +#: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102 +#: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162 +msgid "The object type is not specified." +msgstr "" + +#: js/oc-vcategories.js:95 js/oc-vcategories.js:125 js/oc-vcategories.js:136 +#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:533 +#: js/share.js:545 +msgid "Error" +msgstr "" + +#: js/oc-vcategories.js:179 +msgid "The app name is not specified." +msgstr "" + +#: js/oc-vcategories.js:194 +msgid "The required file {file} is not installed!" +msgstr "" + +#: js/share.js:124 +msgid "Error while sharing" +msgstr "" + +#: js/share.js:135 +msgid "Error while unsharing" +msgstr "" + +#: js/share.js:142 +msgid "Error while changing permissions" +msgstr "" + +#: js/share.js:151 +msgid "Shared with you and the group {group} by {owner}" +msgstr "" + +#: js/share.js:153 +msgid "Shared with you by {owner}" +msgstr "" + +#: js/share.js:158 +msgid "Share with" +msgstr "" + +#: js/share.js:163 +msgid "Share with link" +msgstr "" + +#: js/share.js:164 +msgid "Password protect" +msgstr "" + +#: js/share.js:168 templates/installation.php:42 templates/login.php:24 +#: templates/verify.php:13 +msgid "Password" +msgstr "" + +#: js/share.js:173 +msgid "Set expiration date" +msgstr "" + +#: js/share.js:174 +msgid "Expiration date" +msgstr "" + +#: js/share.js:206 +msgid "Share via email:" +msgstr "" + +#: js/share.js:208 +msgid "No people found" +msgstr "" + +#: js/share.js:235 +msgid "Resharing is not allowed" +msgstr "" + +#: js/share.js:271 +msgid "Shared in {item} with {user}" +msgstr "" + +#: js/share.js:292 +msgid "Unshare" +msgstr "" + +#: js/share.js:304 +msgid "can edit" +msgstr "" + +#: js/share.js:306 +msgid "access control" +msgstr "" + +#: js/share.js:309 +msgid "create" +msgstr "" + +#: js/share.js:312 +msgid "update" +msgstr "" + +#: js/share.js:315 +msgid "delete" +msgstr "" + +#: js/share.js:318 +msgid "share" +msgstr "" + +#: js/share.js:349 js/share.js:520 js/share.js:522 +msgid "Password protected" +msgstr "" + +#: js/share.js:533 +msgid "Error unsetting expiration date" +msgstr "" + +#: js/share.js:545 +msgid "Error setting expiration date" +msgstr "" + +#: lostpassword/controller.php:47 +msgid "ownCloud password reset" +msgstr "" + +#: lostpassword/templates/email.php:2 +msgid "Use the following link to reset your password: {link}" +msgstr "" + +#: lostpassword/templates/lostpassword.php:3 +msgid "You will receive a link to reset your password via Email." +msgstr "" + +#: lostpassword/templates/lostpassword.php:5 +msgid "Reset email send." +msgstr "" + +#: lostpassword/templates/lostpassword.php:8 +msgid "Request failed!" +msgstr "" + +#: lostpassword/templates/lostpassword.php:11 templates/installation.php:38 +#: templates/login.php:20 +msgid "Username" +msgstr "" + +#: lostpassword/templates/lostpassword.php:14 +msgid "Request reset" +msgstr "" + +#: lostpassword/templates/resetpassword.php:4 +msgid "Your password was reset" +msgstr "" + +#: lostpassword/templates/resetpassword.php:5 +msgid "To login page" +msgstr "" + +#: lostpassword/templates/resetpassword.php:8 +msgid "New password" +msgstr "" + +#: lostpassword/templates/resetpassword.php:11 +msgid "Reset password" +msgstr "" + +#: strings.php:5 +msgid "Personal" +msgstr "" + +#: strings.php:6 +msgid "Users" +msgstr "" + +#: strings.php:7 +msgid "Apps" +msgstr "" + +#: strings.php:8 +msgid "Admin" +msgstr "" + +#: strings.php:9 +msgid "Help" +msgstr "" + +#: templates/403.php:12 +msgid "Access forbidden" +msgstr "" + +#: templates/404.php:12 +msgid "Cloud not found" +msgstr "" + +#: templates/edit_categories_dialog.php:4 +msgid "Edit categories" +msgstr "" + +#: templates/edit_categories_dialog.php:16 +msgid "Add" +msgstr "" + +#: templates/installation.php:23 templates/installation.php:31 +msgid "Security Warning" +msgstr "" + +#: templates/installation.php:24 +msgid "" +"No secure random number generator is available, please enable the PHP " +"OpenSSL extension." +msgstr "" + +#: templates/installation.php:26 +msgid "" +"Without a secure random number generator an attacker may be able to predict " +"password reset tokens and take over your account." +msgstr "" + +#: templates/installation.php:32 +msgid "" +"Your data directory and your files are probably accessible from the " +"internet. The .htaccess file that ownCloud provides is not working. We " +"strongly suggest that you configure your webserver in a way that the data " +"directory is no longer accessible or you move the data directory outside the" +" webserver document root." +msgstr "" + +#: templates/installation.php:36 +msgid "Create an admin account" +msgstr "" + +#: templates/installation.php:48 +msgid "Advanced" +msgstr "" + +#: templates/installation.php:50 +msgid "Data folder" +msgstr "" + +#: templates/installation.php:57 +msgid "Configure the database" +msgstr "" + +#: templates/installation.php:62 templates/installation.php:73 +#: templates/installation.php:83 templates/installation.php:93 +msgid "will be used" +msgstr "" + +#: templates/installation.php:105 +msgid "Database user" +msgstr "" + +#: templates/installation.php:109 +msgid "Database password" +msgstr "" + +#: templates/installation.php:113 +msgid "Database name" +msgstr "" + +#: templates/installation.php:121 +msgid "Database tablespace" +msgstr "" + +#: templates/installation.php:127 +msgid "Database host" +msgstr "" + +#: templates/installation.php:132 +msgid "Finish setup" +msgstr "" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Sunday" +msgstr "" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Monday" +msgstr "" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Tuesday" +msgstr "" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Wednesday" +msgstr "" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Thursday" +msgstr "" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Friday" +msgstr "" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Saturday" +msgstr "" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "January" +msgstr "" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "February" +msgstr "" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "March" +msgstr "" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "April" +msgstr "" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "May" +msgstr "" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "June" +msgstr "" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "July" +msgstr "" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "August" +msgstr "" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "September" +msgstr "" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "October" +msgstr "" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "November" +msgstr "" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "December" +msgstr "" + +#: templates/layout.guest.php:42 +msgid "web services under your control" +msgstr "" + +#: templates/layout.user.php:45 +msgid "Log out" +msgstr "" + +#: templates/login.php:8 +msgid "Automatic logon rejected!" +msgstr "" + +#: templates/login.php:9 +msgid "" +"If you did not change your password recently, your account may be " +"compromised!" +msgstr "" + +#: templates/login.php:10 +msgid "Please change your password to secure your account again." +msgstr "" + +#: templates/login.php:15 +msgid "Lost your password?" +msgstr "" + +#: templates/login.php:27 +msgid "remember" +msgstr "" + +#: templates/login.php:28 +msgid "Log in" +msgstr "" + +#: templates/logout.php:1 +msgid "You are logged out." +msgstr "你已登出。" + +#: templates/part.pagenavi.php:3 +msgid "prev" +msgstr "" + +#: templates/part.pagenavi.php:20 +msgid "next" +msgstr "" + +#: templates/verify.php:5 +msgid "Security Warning!" +msgstr "" + +#: templates/verify.php:6 +msgid "" +"Please verify your password.
For security reasons you may be " +"occasionally asked to enter your password again." +msgstr "" + +#: templates/verify.php:16 +msgid "Verify" +msgstr "" diff --git a/l10n/zh_HK/files.po b/l10n/zh_HK/files.po new file mode 100644 index 0000000000000000000000000000000000000000..c45ea5afdd4508416a40a7584aa6711561c97388 --- /dev/null +++ b/l10n/zh_HK/files.po @@ -0,0 +1,266 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: ownCloud\n" +"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" +"POT-Creation-Date: 2012-12-01 00:01+0100\n" +"PO-Revision-Date: 2012-11-30 23:02+0000\n" +"Last-Translator: I Robot \n" +"Language-Team: Chinese (Hong Kong) (http://www.transifex.com/projects/p/owncloud/language/zh_HK/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: zh_HK\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: ajax/upload.php:20 +msgid "There is no error, the file uploaded with success" +msgstr "" + +#: ajax/upload.php:21 +msgid "" +"The uploaded file exceeds the upload_max_filesize directive in php.ini: " +msgstr "" + +#: ajax/upload.php:23 +msgid "" +"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " +"the HTML form" +msgstr "" + +#: ajax/upload.php:25 +msgid "The uploaded file was only partially uploaded" +msgstr "" + +#: ajax/upload.php:26 +msgid "No file was uploaded" +msgstr "" + +#: ajax/upload.php:27 +msgid "Missing a temporary folder" +msgstr "" + +#: ajax/upload.php:28 +msgid "Failed to write to disk" +msgstr "" + +#: appinfo/app.php:10 +msgid "Files" +msgstr "" + +#: js/fileactions.js:117 templates/index.php:83 templates/index.php:84 +msgid "Unshare" +msgstr "" + +#: js/fileactions.js:119 templates/index.php:89 templates/index.php:90 +msgid "Delete" +msgstr "" + +#: js/fileactions.js:181 +msgid "Rename" +msgstr "" + +#: js/filelist.js:201 js/filelist.js:203 +msgid "{new_name} already exists" +msgstr "" + +#: js/filelist.js:201 js/filelist.js:203 +msgid "replace" +msgstr "" + +#: js/filelist.js:201 +msgid "suggest name" +msgstr "" + +#: js/filelist.js:201 js/filelist.js:203 +msgid "cancel" +msgstr "" + +#: js/filelist.js:250 +msgid "replaced {new_name}" +msgstr "" + +#: js/filelist.js:250 js/filelist.js:252 js/filelist.js:284 js/filelist.js:286 +msgid "undo" +msgstr "" + +#: js/filelist.js:252 +msgid "replaced {new_name} with {old_name}" +msgstr "" + +#: js/filelist.js:284 +msgid "unshared {files}" +msgstr "" + +#: js/filelist.js:286 +msgid "deleted {files}" +msgstr "" + +#: js/files.js:33 +msgid "" +"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not " +"allowed." +msgstr "" + +#: js/files.js:183 +msgid "generating ZIP-file, it may take some time." +msgstr "" + +#: js/files.js:218 +msgid "Unable to upload your file as it is a directory or has 0 bytes" +msgstr "" + +#: js/files.js:218 +msgid "Upload Error" +msgstr "" + +#: js/files.js:235 +msgid "Close" +msgstr "" + +#: js/files.js:254 js/files.js:368 js/files.js:398 +msgid "Pending" +msgstr "" + +#: js/files.js:274 +msgid "1 file uploading" +msgstr "" + +#: js/files.js:277 js/files.js:331 js/files.js:346 +msgid "{count} files uploading" +msgstr "" + +#: js/files.js:349 js/files.js:382 +msgid "Upload cancelled." +msgstr "" + +#: js/files.js:451 +msgid "" +"File upload is in progress. Leaving the page now will cancel the upload." +msgstr "" + +#: js/files.js:523 +msgid "Invalid folder name. Usage of \"Shared\" is reserved by Owncloud" +msgstr "" + +#: js/files.js:704 +msgid "{count} files scanned" +msgstr "" + +#: js/files.js:712 +msgid "error while scanning" +msgstr "" + +#: js/files.js:785 templates/index.php:65 +msgid "Name" +msgstr "" + +#: js/files.js:786 templates/index.php:76 +msgid "Size" +msgstr "" + +#: js/files.js:787 templates/index.php:78 +msgid "Modified" +msgstr "" + +#: js/files.js:814 +msgid "1 folder" +msgstr "" + +#: js/files.js:816 +msgid "{count} folders" +msgstr "" + +#: js/files.js:824 +msgid "1 file" +msgstr "" + +#: js/files.js:826 +msgid "{count} files" +msgstr "" + +#: templates/admin.php:5 +msgid "File handling" +msgstr "" + +#: templates/admin.php:7 +msgid "Maximum upload size" +msgstr "" + +#: templates/admin.php:9 +msgid "max. possible: " +msgstr "" + +#: templates/admin.php:12 +msgid "Needed for multi-file and folder downloads." +msgstr "" + +#: templates/admin.php:14 +msgid "Enable ZIP-download" +msgstr "" + +#: templates/admin.php:17 +msgid "0 is unlimited" +msgstr "" + +#: templates/admin.php:19 +msgid "Maximum input size for ZIP files" +msgstr "" + +#: templates/admin.php:23 +msgid "Save" +msgstr "" + +#: templates/index.php:7 +msgid "New" +msgstr "" + +#: templates/index.php:10 +msgid "Text file" +msgstr "" + +#: templates/index.php:12 +msgid "Folder" +msgstr "" + +#: templates/index.php:14 +msgid "From link" +msgstr "" + +#: templates/index.php:35 +msgid "Upload" +msgstr "" + +#: templates/index.php:43 +msgid "Cancel upload" +msgstr "" + +#: templates/index.php:57 +msgid "Nothing in here. Upload something!" +msgstr "" + +#: templates/index.php:71 +msgid "Download" +msgstr "" + +#: templates/index.php:103 +msgid "Upload too large" +msgstr "" + +#: templates/index.php:105 +msgid "" +"The files you are trying to upload exceed the maximum size for file uploads " +"on this server." +msgstr "" + +#: templates/index.php:110 +msgid "Files are being scanned, please wait." +msgstr "" + +#: templates/index.php:113 +msgid "Current scanning" +msgstr "" diff --git a/l10n/id/admin_migrate.po b/l10n/zh_HK/files_encryption.po similarity index 52% rename from l10n/id/admin_migrate.po rename to l10n/zh_HK/files_encryption.po index 52a6b1908b9d886233a2cfc467b564b9dbe9d4f9..52a31f20bac4745fce9a995556c8604aa3557508 100644 --- a/l10n/id/admin_migrate.po +++ b/l10n/zh_HK/files_encryption.po @@ -7,26 +7,28 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:32+0000\n" +"POT-Creation-Date: 2012-11-19 00:01+0100\n" +"PO-Revision-Date: 2012-08-12 22:33+0000\n" "Last-Translator: FULL NAME \n" -"Language-Team: Indonesian (http://www.transifex.com/projects/p/owncloud/language/id/)\n" +"Language-Team: Chinese (Hong Kong) (http://www.transifex.com/projects/p/owncloud/language/zh_HK/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: id\n" -"Plural-Forms: nplurals=1; plural=0\n" +"Language: zh_HK\n" +"Plural-Forms: nplurals=1; plural=0;\n" #: templates/settings.php:3 -msgid "Export this ownCloud instance" +msgid "Encryption" msgstr "" #: templates/settings.php:4 -msgid "" -"This will create a compressed file that contains the data of this owncloud instance.\n" -" Please choose the export type:" +msgid "Exclude the following file types from encryption" +msgstr "" + +#: templates/settings.php:5 +msgid "None" msgstr "" -#: templates/settings.php:12 -msgid "Export" +#: templates/settings.php:10 +msgid "Enable Encryption" msgstr "" diff --git a/l10n/zh_HK/files_external.po b/l10n/zh_HK/files_external.po new file mode 100644 index 0000000000000000000000000000000000000000..c794bc276f4fa2141a88c24760362458995506a3 --- /dev/null +++ b/l10n/zh_HK/files_external.po @@ -0,0 +1,120 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: ownCloud\n" +"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" +"POT-Creation-Date: 2012-12-12 00:12+0100\n" +"PO-Revision-Date: 2012-12-11 23:13+0000\n" +"Last-Translator: I Robot \n" +"Language-Team: Chinese (Hong Kong) (http://www.transifex.com/projects/p/owncloud/language/zh_HK/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: zh_HK\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: js/dropbox.js:7 js/dropbox.js:25 js/google.js:7 js/google.js:23 +msgid "Access granted" +msgstr "" + +#: js/dropbox.js:28 js/dropbox.js:74 js/dropbox.js:79 js/dropbox.js:86 +msgid "Error configuring Dropbox storage" +msgstr "" + +#: js/dropbox.js:34 js/dropbox.js:45 js/google.js:31 js/google.js:40 +msgid "Grant access" +msgstr "" + +#: js/dropbox.js:73 js/google.js:72 +msgid "Fill out all required fields" +msgstr "" + +#: js/dropbox.js:85 +msgid "Please provide a valid Dropbox app key and secret." +msgstr "" + +#: js/google.js:26 js/google.js:73 js/google.js:78 +msgid "Error configuring Google Drive storage" +msgstr "" + +#: lib/config.php:434 +msgid "" +"Warning: \"smbclient\" is not installed. Mounting of CIFS/SMB shares " +"is not possible. Please ask your system administrator to install it." +msgstr "" + +#: lib/config.php:435 +msgid "" +"Warning: The FTP support in PHP is not enabled or installed. Mounting" +" of FTP shares is not possible. Please ask your system administrator to " +"install it." +msgstr "" + +#: templates/settings.php:3 +msgid "External Storage" +msgstr "" + +#: templates/settings.php:8 templates/settings.php:22 +msgid "Mount point" +msgstr "" + +#: templates/settings.php:9 +msgid "Backend" +msgstr "" + +#: templates/settings.php:10 +msgid "Configuration" +msgstr "" + +#: templates/settings.php:11 +msgid "Options" +msgstr "" + +#: templates/settings.php:12 +msgid "Applicable" +msgstr "" + +#: templates/settings.php:27 +msgid "Add mount point" +msgstr "" + +#: templates/settings.php:85 +msgid "None set" +msgstr "" + +#: templates/settings.php:86 +msgid "All Users" +msgstr "" + +#: templates/settings.php:87 +msgid "Groups" +msgstr "" + +#: templates/settings.php:95 +msgid "Users" +msgstr "" + +#: templates/settings.php:108 templates/settings.php:109 +#: templates/settings.php:149 templates/settings.php:150 +msgid "Delete" +msgstr "" + +#: templates/settings.php:124 +msgid "Enable User External Storage" +msgstr "" + +#: templates/settings.php:125 +msgid "Allow users to mount their own external storage" +msgstr "" + +#: templates/settings.php:139 +msgid "SSL root certificates" +msgstr "" + +#: templates/settings.php:158 +msgid "Import Root Certificate" +msgstr "" diff --git a/l10n/zh_HK/files_sharing.po b/l10n/zh_HK/files_sharing.po new file mode 100644 index 0000000000000000000000000000000000000000..4721ae096c27f0187cf2d16937191a1da57eb978 --- /dev/null +++ b/l10n/zh_HK/files_sharing.po @@ -0,0 +1,48 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: ownCloud\n" +"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" +"POT-Creation-Date: 2012-11-19 00:01+0100\n" +"PO-Revision-Date: 2012-08-12 22:35+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Chinese (Hong Kong) (http://www.transifex.com/projects/p/owncloud/language/zh_HK/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: zh_HK\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: templates/authenticate.php:4 +msgid "Password" +msgstr "" + +#: templates/authenticate.php:6 +msgid "Submit" +msgstr "" + +#: templates/public.php:9 +#, php-format +msgid "%s shared the folder %s with you" +msgstr "" + +#: templates/public.php:11 +#, php-format +msgid "%s shared the file %s with you" +msgstr "" + +#: templates/public.php:14 templates/public.php:30 +msgid "Download" +msgstr "" + +#: templates/public.php:29 +msgid "No preview available for" +msgstr "" + +#: templates/public.php:35 +msgid "web services under your control" +msgstr "" diff --git a/l10n/zh_HK/files_versions.po b/l10n/zh_HK/files_versions.po new file mode 100644 index 0000000000000000000000000000000000000000..392cfcc993528de998ddc216163a1fe587d32e48 --- /dev/null +++ b/l10n/zh_HK/files_versions.po @@ -0,0 +1,42 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: ownCloud\n" +"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" +"POT-Creation-Date: 2012-11-19 00:01+0100\n" +"PO-Revision-Date: 2012-08-12 22:37+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Chinese (Hong Kong) (http://www.transifex.com/projects/p/owncloud/language/zh_HK/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: zh_HK\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: js/settings-personal.js:31 templates/settings-personal.php:10 +msgid "Expire all versions" +msgstr "" + +#: js/versions.js:16 +msgid "History" +msgstr "" + +#: templates/settings-personal.php:4 +msgid "Versions" +msgstr "" + +#: templates/settings-personal.php:7 +msgid "This will delete all existing backup versions of your files" +msgstr "" + +#: templates/settings.php:3 +msgid "Files Versioning" +msgstr "" + +#: templates/settings.php:4 +msgid "Enable" +msgstr "" diff --git a/l10n/zh_HK/lib.po b/l10n/zh_HK/lib.po new file mode 100644 index 0000000000000000000000000000000000000000..e4752fd9c271b660e07609b7f659fc9e9c04c138 --- /dev/null +++ b/l10n/zh_HK/lib.po @@ -0,0 +1,152 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: ownCloud\n" +"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" +"POT-Creation-Date: 2012-11-19 00:01+0100\n" +"PO-Revision-Date: 2012-07-27 22:23+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Chinese (Hong Kong) (http://www.transifex.com/projects/p/owncloud/language/zh_HK/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: zh_HK\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: app.php:285 +msgid "Help" +msgstr "" + +#: app.php:292 +msgid "Personal" +msgstr "" + +#: app.php:297 +msgid "Settings" +msgstr "" + +#: app.php:302 +msgid "Users" +msgstr "" + +#: app.php:309 +msgid "Apps" +msgstr "" + +#: app.php:311 +msgid "Admin" +msgstr "" + +#: files.php:361 +msgid "ZIP download is turned off." +msgstr "" + +#: files.php:362 +msgid "Files need to be downloaded one by one." +msgstr "" + +#: files.php:362 files.php:387 +msgid "Back to Files" +msgstr "" + +#: files.php:386 +msgid "Selected files too large to generate zip file." +msgstr "" + +#: json.php:28 +msgid "Application is not enabled" +msgstr "" + +#: json.php:39 json.php:64 json.php:77 json.php:89 +msgid "Authentication error" +msgstr "" + +#: json.php:51 +msgid "Token expired. Please reload page." +msgstr "" + +#: search/provider/file.php:17 search/provider/file.php:35 +msgid "Files" +msgstr "" + +#: search/provider/file.php:26 search/provider/file.php:33 +msgid "Text" +msgstr "" + +#: search/provider/file.php:29 +msgid "Images" +msgstr "" + +#: template.php:103 +msgid "seconds ago" +msgstr "" + +#: template.php:104 +msgid "1 minute ago" +msgstr "" + +#: template.php:105 +#, php-format +msgid "%d minutes ago" +msgstr "" + +#: template.php:106 +msgid "1 hour ago" +msgstr "" + +#: template.php:107 +#, php-format +msgid "%d hours ago" +msgstr "" + +#: template.php:108 +msgid "today" +msgstr "" + +#: template.php:109 +msgid "yesterday" +msgstr "" + +#: template.php:110 +#, php-format +msgid "%d days ago" +msgstr "" + +#: template.php:111 +msgid "last month" +msgstr "" + +#: template.php:112 +#, php-format +msgid "%d months ago" +msgstr "" + +#: template.php:113 +msgid "last year" +msgstr "" + +#: template.php:114 +msgid "years ago" +msgstr "" + +#: updater.php:75 +#, php-format +msgid "%s is available. Get more information" +msgstr "" + +#: updater.php:77 +msgid "up to date" +msgstr "" + +#: updater.php:80 +msgid "updates check is disabled" +msgstr "" + +#: vcategories.php:188 vcategories.php:249 +#, php-format +msgid "Could not find category \"%s\"" +msgstr "" diff --git a/l10n/zh_HK/settings.po b/l10n/zh_HK/settings.po new file mode 100644 index 0000000000000000000000000000000000000000..df89b1aac2e48a1a73d8bed2c1e32f60baa489b3 --- /dev/null +++ b/l10n/zh_HK/settings.po @@ -0,0 +1,247 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: ownCloud\n" +"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" +"POT-Creation-Date: 2012-12-03 00:04+0100\n" +"PO-Revision-Date: 2012-12-02 03:18+0000\n" +"Last-Translator: I Robot \n" +"Language-Team: Chinese (Hong Kong) (http://www.transifex.com/projects/p/owncloud/language/zh_HK/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: zh_HK\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: ajax/apps/ocs.php:20 +msgid "Unable to load list from App Store" +msgstr "" + +#: ajax/creategroup.php:10 +msgid "Group already exists" +msgstr "" + +#: ajax/creategroup.php:19 +msgid "Unable to add group" +msgstr "" + +#: ajax/enableapp.php:12 +msgid "Could not enable app. " +msgstr "" + +#: ajax/lostpassword.php:12 +msgid "Email saved" +msgstr "" + +#: ajax/lostpassword.php:14 +msgid "Invalid email" +msgstr "" + +#: ajax/openid.php:13 +msgid "OpenID Changed" +msgstr "" + +#: ajax/openid.php:15 ajax/setlanguage.php:17 ajax/setlanguage.php:20 +msgid "Invalid request" +msgstr "" + +#: ajax/removegroup.php:13 +msgid "Unable to delete group" +msgstr "" + +#: ajax/removeuser.php:15 ajax/setquota.php:15 ajax/togglegroups.php:18 +msgid "Authentication error" +msgstr "" + +#: ajax/removeuser.php:24 +msgid "Unable to delete user" +msgstr "" + +#: ajax/setlanguage.php:15 +msgid "Language changed" +msgstr "" + +#: ajax/togglegroups.php:12 +msgid "Admins can't remove themself from the admin group" +msgstr "" + +#: ajax/togglegroups.php:28 +#, php-format +msgid "Unable to add user to group %s" +msgstr "" + +#: ajax/togglegroups.php:34 +#, php-format +msgid "Unable to remove user from group %s" +msgstr "" + +#: js/apps.js:28 js/apps.js:67 +msgid "Disable" +msgstr "" + +#: js/apps.js:28 js/apps.js:55 +msgid "Enable" +msgstr "" + +#: js/personal.js:69 +msgid "Saving..." +msgstr "" + +#: personal.php:42 personal.php:43 +msgid "__language_name__" +msgstr "" + +#: templates/apps.php:10 +msgid "Add your App" +msgstr "" + +#: templates/apps.php:11 +msgid "More Apps" +msgstr "" + +#: templates/apps.php:27 +msgid "Select an App" +msgstr "" + +#: templates/apps.php:31 +msgid "See application page at apps.owncloud.com" +msgstr "" + +#: templates/apps.php:32 +msgid "-licensed by " +msgstr "" + +#: templates/help.php:9 +msgid "Documentation" +msgstr "" + +#: templates/help.php:10 +msgid "Managing Big Files" +msgstr "" + +#: templates/help.php:11 +msgid "Ask a question" +msgstr "" + +#: templates/help.php:22 +msgid "Problems connecting to help database." +msgstr "" + +#: templates/help.php:23 +msgid "Go there manually." +msgstr "" + +#: templates/help.php:31 +msgid "Answer" +msgstr "" + +#: templates/personal.php:8 +#, php-format +msgid "You have used %s of the available %s" +msgstr "" + +#: templates/personal.php:12 +msgid "Desktop and Mobile Syncing Clients" +msgstr "" + +#: templates/personal.php:13 +msgid "Download" +msgstr "" + +#: templates/personal.php:19 +msgid "Your password was changed" +msgstr "" + +#: templates/personal.php:20 +msgid "Unable to change your password" +msgstr "" + +#: templates/personal.php:21 +msgid "Current password" +msgstr "" + +#: templates/personal.php:22 +msgid "New password" +msgstr "" + +#: templates/personal.php:23 +msgid "show" +msgstr "" + +#: templates/personal.php:24 +msgid "Change password" +msgstr "" + +#: templates/personal.php:30 +msgid "Email" +msgstr "" + +#: templates/personal.php:31 +msgid "Your email address" +msgstr "" + +#: templates/personal.php:32 +msgid "Fill in an email address to enable password recovery" +msgstr "" + +#: templates/personal.php:38 templates/personal.php:39 +msgid "Language" +msgstr "" + +#: templates/personal.php:44 +msgid "Help translate" +msgstr "" + +#: templates/personal.php:51 +msgid "use this address to connect to your ownCloud in your file manager" +msgstr "" + +#: templates/personal.php:61 +msgid "" +"Developed by the ownCloud community, the source code is " +"licensed under the AGPL." +msgstr "" + +#: templates/users.php:21 templates/users.php:76 +msgid "Name" +msgstr "" + +#: templates/users.php:23 templates/users.php:77 +msgid "Password" +msgstr "" + +#: templates/users.php:26 templates/users.php:78 templates/users.php:98 +msgid "Groups" +msgstr "" + +#: templates/users.php:32 +msgid "Create" +msgstr "" + +#: templates/users.php:35 +msgid "Default Quota" +msgstr "" + +#: templates/users.php:55 templates/users.php:138 +msgid "Other" +msgstr "" + +#: templates/users.php:80 templates/users.php:112 +msgid "Group Admin" +msgstr "" + +#: templates/users.php:82 +msgid "Quota" +msgstr "" + +#: templates/users.php:146 +msgid "Delete" +msgstr "" diff --git a/l10n/zh_HK/user_ldap.po b/l10n/zh_HK/user_ldap.po new file mode 100644 index 0000000000000000000000000000000000000000..b59ebba90067f78ba19feaa488758a57da714a94 --- /dev/null +++ b/l10n/zh_HK/user_ldap.po @@ -0,0 +1,170 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: ownCloud\n" +"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" +"POT-Creation-Date: 2012-11-19 00:01+0100\n" +"PO-Revision-Date: 2012-08-12 22:45+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Chinese (Hong Kong) (http://www.transifex.com/projects/p/owncloud/language/zh_HK/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: zh_HK\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: templates/settings.php:8 +msgid "Host" +msgstr "" + +#: templates/settings.php:8 +msgid "" +"You can omit the protocol, except you require SSL. Then start with ldaps://" +msgstr "" + +#: templates/settings.php:9 +msgid "Base DN" +msgstr "" + +#: templates/settings.php:9 +msgid "You can specify Base DN for users and groups in the Advanced tab" +msgstr "" + +#: templates/settings.php:10 +msgid "User DN" +msgstr "" + +#: templates/settings.php:10 +msgid "" +"The DN of the client user with which the bind shall be done, e.g. " +"uid=agent,dc=example,dc=com. For anonymous access, leave DN and Password " +"empty." +msgstr "" + +#: templates/settings.php:11 +msgid "Password" +msgstr "" + +#: templates/settings.php:11 +msgid "For anonymous access, leave DN and Password empty." +msgstr "" + +#: templates/settings.php:12 +msgid "User Login Filter" +msgstr "" + +#: templates/settings.php:12 +#, php-format +msgid "" +"Defines the filter to apply, when login is attempted. %%uid replaces the " +"username in the login action." +msgstr "" + +#: templates/settings.php:12 +#, php-format +msgid "use %%uid placeholder, e.g. \"uid=%%uid\"" +msgstr "" + +#: templates/settings.php:13 +msgid "User List Filter" +msgstr "" + +#: templates/settings.php:13 +msgid "Defines the filter to apply, when retrieving users." +msgstr "" + +#: templates/settings.php:13 +msgid "without any placeholder, e.g. \"objectClass=person\"." +msgstr "" + +#: templates/settings.php:14 +msgid "Group Filter" +msgstr "" + +#: templates/settings.php:14 +msgid "Defines the filter to apply, when retrieving groups." +msgstr "" + +#: templates/settings.php:14 +msgid "without any placeholder, e.g. \"objectClass=posixGroup\"." +msgstr "" + +#: templates/settings.php:17 +msgid "Port" +msgstr "" + +#: templates/settings.php:18 +msgid "Base User Tree" +msgstr "" + +#: templates/settings.php:19 +msgid "Base Group Tree" +msgstr "" + +#: templates/settings.php:20 +msgid "Group-Member association" +msgstr "" + +#: templates/settings.php:21 +msgid "Use TLS" +msgstr "" + +#: templates/settings.php:21 +msgid "Do not use it for SSL connections, it will fail." +msgstr "" + +#: templates/settings.php:22 +msgid "Case insensitve LDAP server (Windows)" +msgstr "" + +#: templates/settings.php:23 +msgid "Turn off SSL certificate validation." +msgstr "" + +#: templates/settings.php:23 +msgid "" +"If connection only works with this option, import the LDAP server's SSL " +"certificate in your ownCloud server." +msgstr "" + +#: templates/settings.php:23 +msgid "Not recommended, use for testing only." +msgstr "" + +#: templates/settings.php:24 +msgid "User Display Name Field" +msgstr "" + +#: templates/settings.php:24 +msgid "The LDAP attribute to use to generate the user`s ownCloud name." +msgstr "" + +#: templates/settings.php:25 +msgid "Group Display Name Field" +msgstr "" + +#: templates/settings.php:25 +msgid "The LDAP attribute to use to generate the groups`s ownCloud name." +msgstr "" + +#: templates/settings.php:27 +msgid "in bytes" +msgstr "" + +#: templates/settings.php:29 +msgid "in seconds. A change empties the cache." +msgstr "" + +#: templates/settings.php:30 +msgid "" +"Leave empty for user name (default). Otherwise, specify an LDAP/AD " +"attribute." +msgstr "" + +#: templates/settings.php:32 +msgid "Help" +msgstr "" diff --git a/l10n/zh_HK/user_webdavauth.po b/l10n/zh_HK/user_webdavauth.po new file mode 100644 index 0000000000000000000000000000000000000000..ef8741a0c1eaa090505f2fadc49db2c902041f9e --- /dev/null +++ b/l10n/zh_HK/user_webdavauth.po @@ -0,0 +1,22 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: ownCloud\n" +"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" +"POT-Creation-Date: 2012-11-19 00:01+0100\n" +"PO-Revision-Date: 2012-11-09 09:06+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Chinese (Hong Kong) (http://www.transifex.com/projects/p/owncloud/language/zh_HK/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: zh_HK\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: templates/settings.php:4 +msgid "WebDAV URL: http://" +msgstr "" diff --git a/l10n/zh_TW/admin_dependencies_chk.po b/l10n/zh_TW/admin_dependencies_chk.po deleted file mode 100644 index 9519ecc8d967a713cc390a838e7c76464b8bb020..0000000000000000000000000000000000000000 --- a/l10n/zh_TW/admin_dependencies_chk.po +++ /dev/null @@ -1,73 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:33+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Chinese (Taiwan) (http://www.transifex.com/projects/p/owncloud/language/zh_TW/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: zh_TW\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: settings.php:33 -msgid "" -"The php-json module is needed by the many applications for inter " -"communications" -msgstr "" - -#: settings.php:39 -msgid "" -"The php-curl modude is needed to fetch the page title when adding a " -"bookmarks" -msgstr "" - -#: settings.php:45 -msgid "The php-gd module is needed to create thumbnails of your images" -msgstr "" - -#: settings.php:51 -msgid "The php-ldap module is needed connect to your ldap server" -msgstr "" - -#: settings.php:57 -msgid "The php-zip module is needed download multiple files at once" -msgstr "" - -#: settings.php:63 -msgid "" -"The php-mb_multibyte module is needed to manage correctly the encoding." -msgstr "" - -#: settings.php:69 -msgid "The php-ctype module is needed validate data." -msgstr "" - -#: settings.php:75 -msgid "The php-xml module is needed to share files with webdav." -msgstr "" - -#: settings.php:81 -msgid "" -"The allow_url_fopen directive of your php.ini should be set to 1 to retrieve" -" knowledge base from OCS servers" -msgstr "" - -#: settings.php:87 -msgid "The php-pdo module is needed to store owncloud data into a database." -msgstr "" - -#: templates/settings.php:2 -msgid "Dependencies status" -msgstr "" - -#: templates/settings.php:7 -msgid "Used by :" -msgstr "" diff --git a/l10n/zh_TW/admin_migrate.po b/l10n/zh_TW/admin_migrate.po deleted file mode 100644 index ad633109b339b872d864a5c5eeb0f122ce5d3715..0000000000000000000000000000000000000000 --- a/l10n/zh_TW/admin_migrate.po +++ /dev/null @@ -1,32 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:32+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Chinese (Taiwan) (http://www.transifex.com/projects/p/owncloud/language/zh_TW/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: zh_TW\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: templates/settings.php:3 -msgid "Export this ownCloud instance" -msgstr "" - -#: templates/settings.php:4 -msgid "" -"This will create a compressed file that contains the data of this owncloud instance.\n" -" Please choose the export type:" -msgstr "" - -#: templates/settings.php:12 -msgid "Export" -msgstr "" diff --git a/l10n/zh_TW/bookmarks.po b/l10n/zh_TW/bookmarks.po deleted file mode 100644 index 5735653faa5a89253b2d0932a033f8bae8b4ceb1..0000000000000000000000000000000000000000 --- a/l10n/zh_TW/bookmarks.po +++ /dev/null @@ -1,60 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-07-28 02:02+0200\n" -"PO-Revision-Date: 2012-07-27 22:17+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Chinese (Taiwan) (http://www.transifex.com/projects/p/owncloud/language/zh_TW/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: zh_TW\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: appinfo/app.php:14 -msgid "Bookmarks" -msgstr "" - -#: bookmarksHelper.php:99 -msgid "unnamed" -msgstr "" - -#: templates/bookmarklet.php:5 -msgid "" -"Drag this to your browser bookmarks and click it, when you want to bookmark " -"a webpage quickly:" -msgstr "" - -#: templates/bookmarklet.php:7 -msgid "Read later" -msgstr "" - -#: templates/list.php:13 -msgid "Address" -msgstr "" - -#: templates/list.php:14 -msgid "Title" -msgstr "" - -#: templates/list.php:15 -msgid "Tags" -msgstr "" - -#: templates/list.php:16 -msgid "Save bookmark" -msgstr "" - -#: templates/list.php:22 -msgid "You have no bookmarks" -msgstr "" - -#: templates/settings.php:11 -msgid "Bookmarklet
" -msgstr "" diff --git a/l10n/zh_TW/calendar.po b/l10n/zh_TW/calendar.po deleted file mode 100644 index 4af2f9358807b06baaa1b8da82249e790aac7ec0..0000000000000000000000000000000000000000 --- a/l10n/zh_TW/calendar.po +++ /dev/null @@ -1,815 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Donahue Chuang , 2012. -# Eddy Chang , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-11 02:02+0200\n" -"PO-Revision-Date: 2012-08-11 00:02+0000\n" -"Last-Translator: owncloud_robot \n" -"Language-Team: Chinese (Taiwan) (http://www.transifex.com/projects/p/owncloud/language/zh_TW/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: zh_TW\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: ajax/cache/status.php:19 -msgid "Not all calendars are completely cached" -msgstr "" - -#: ajax/cache/status.php:21 -msgid "Everything seems to be completely cached" -msgstr "" - -#: ajax/categories/rescan.php:29 -msgid "No calendars found." -msgstr "沒有找到行事曆" - -#: ajax/categories/rescan.php:37 -msgid "No events found." -msgstr "沒有找到活動" - -#: ajax/event/edit.form.php:20 -msgid "Wrong calendar" -msgstr "錯誤日曆" - -#: ajax/import/dropimport.php:29 ajax/import/import.php:64 -msgid "" -"The file contained either no events or all events are already saved in your " -"calendar." -msgstr "" - -#: ajax/import/dropimport.php:31 ajax/import/import.php:67 -msgid "events has been saved in the new calendar" -msgstr "" - -#: ajax/import/import.php:56 -msgid "Import failed" -msgstr "" - -#: ajax/import/import.php:69 -msgid "events has been saved in your calendar" -msgstr "" - -#: ajax/settings/guesstimezone.php:25 -msgid "New Timezone:" -msgstr "新時區:" - -#: ajax/settings/settimezone.php:23 -msgid "Timezone changed" -msgstr "時區已變更" - -#: ajax/settings/settimezone.php:25 -msgid "Invalid request" -msgstr "無效請求" - -#: appinfo/app.php:35 templates/calendar.php:15 -#: templates/part.eventform.php:33 templates/part.showevent.php:33 -msgid "Calendar" -msgstr "日曆" - -#: js/calendar.js:832 -msgid "ddd" -msgstr "" - -#: js/calendar.js:833 -msgid "ddd M/d" -msgstr "" - -#: js/calendar.js:834 -msgid "dddd M/d" -msgstr "" - -#: js/calendar.js:837 -msgid "MMMM yyyy" -msgstr "" - -#: js/calendar.js:839 -msgid "MMM d[ yyyy]{ '—'[ MMM] d yyyy}" -msgstr "MMM d[ yyyy]{ '—'[ MMM] d yyyy}" - -#: js/calendar.js:841 -msgid "dddd, MMM d, yyyy" -msgstr "" - -#: lib/app.php:121 -msgid "Birthday" -msgstr "生日" - -#: lib/app.php:122 -msgid "Business" -msgstr "商業" - -#: lib/app.php:123 -msgid "Call" -msgstr "呼叫" - -#: lib/app.php:124 -msgid "Clients" -msgstr "客戶" - -#: lib/app.php:125 -msgid "Deliverer" -msgstr "遞送者" - -#: lib/app.php:126 -msgid "Holidays" -msgstr "節日" - -#: lib/app.php:127 -msgid "Ideas" -msgstr "主意" - -#: lib/app.php:128 -msgid "Journey" -msgstr "旅行" - -#: lib/app.php:129 -msgid "Jubilee" -msgstr "周年慶" - -#: lib/app.php:130 -msgid "Meeting" -msgstr "會議" - -#: lib/app.php:131 -msgid "Other" -msgstr "其他" - -#: lib/app.php:132 -msgid "Personal" -msgstr "個人" - -#: lib/app.php:133 -msgid "Projects" -msgstr "計畫" - -#: lib/app.php:134 -msgid "Questions" -msgstr "問題" - -#: lib/app.php:135 -msgid "Work" -msgstr "工作" - -#: lib/app.php:351 lib/app.php:361 -msgid "by" -msgstr "" - -#: lib/app.php:359 lib/app.php:399 -msgid "unnamed" -msgstr "無名稱的" - -#: lib/import.php:184 templates/calendar.php:12 -#: templates/part.choosecalendar.php:22 -msgid "New Calendar" -msgstr "新日曆" - -#: lib/object.php:372 -msgid "Does not repeat" -msgstr "不重覆" - -#: lib/object.php:373 -msgid "Daily" -msgstr "每日" - -#: lib/object.php:374 -msgid "Weekly" -msgstr "每週" - -#: lib/object.php:375 -msgid "Every Weekday" -msgstr "每週末" - -#: lib/object.php:376 -msgid "Bi-Weekly" -msgstr "每雙週" - -#: lib/object.php:377 -msgid "Monthly" -msgstr "每月" - -#: lib/object.php:378 -msgid "Yearly" -msgstr "每年" - -#: lib/object.php:388 -msgid "never" -msgstr "絕不" - -#: lib/object.php:389 -msgid "by occurrences" -msgstr "由事件" - -#: lib/object.php:390 -msgid "by date" -msgstr "由日期" - -#: lib/object.php:400 -msgid "by monthday" -msgstr "依月份日期" - -#: lib/object.php:401 -msgid "by weekday" -msgstr "由平日" - -#: lib/object.php:411 templates/calendar.php:5 templates/settings.php:69 -msgid "Monday" -msgstr "週一" - -#: lib/object.php:412 templates/calendar.php:5 -msgid "Tuesday" -msgstr "週二" - -#: lib/object.php:413 templates/calendar.php:5 -msgid "Wednesday" -msgstr "週三" - -#: lib/object.php:414 templates/calendar.php:5 -msgid "Thursday" -msgstr "週四" - -#: lib/object.php:415 templates/calendar.php:5 -msgid "Friday" -msgstr "週五" - -#: lib/object.php:416 templates/calendar.php:5 -msgid "Saturday" -msgstr "週六" - -#: lib/object.php:417 templates/calendar.php:5 templates/settings.php:70 -msgid "Sunday" -msgstr "週日" - -#: lib/object.php:427 -msgid "events week of month" -msgstr "月份中活動週" - -#: lib/object.php:428 -msgid "first" -msgstr "第一" - -#: lib/object.php:429 -msgid "second" -msgstr "第二" - -#: lib/object.php:430 -msgid "third" -msgstr "第三" - -#: lib/object.php:431 -msgid "fourth" -msgstr "第四" - -#: lib/object.php:432 -msgid "fifth" -msgstr "第五" - -#: lib/object.php:433 -msgid "last" -msgstr "最後" - -#: lib/object.php:467 templates/calendar.php:7 -msgid "January" -msgstr "一月" - -#: lib/object.php:468 templates/calendar.php:7 -msgid "February" -msgstr "二月" - -#: lib/object.php:469 templates/calendar.php:7 -msgid "March" -msgstr "三月" - -#: lib/object.php:470 templates/calendar.php:7 -msgid "April" -msgstr "四月" - -#: lib/object.php:471 templates/calendar.php:7 -msgid "May" -msgstr "五月" - -#: lib/object.php:472 templates/calendar.php:7 -msgid "June" -msgstr "六月" - -#: lib/object.php:473 templates/calendar.php:7 -msgid "July" -msgstr "七月" - -#: lib/object.php:474 templates/calendar.php:7 -msgid "August" -msgstr "八月" - -#: lib/object.php:475 templates/calendar.php:7 -msgid "September" -msgstr "九月" - -#: lib/object.php:476 templates/calendar.php:7 -msgid "October" -msgstr "十月" - -#: lib/object.php:477 templates/calendar.php:7 -msgid "November" -msgstr "十一月" - -#: lib/object.php:478 templates/calendar.php:7 -msgid "December" -msgstr "十二月" - -#: lib/object.php:488 -msgid "by events date" -msgstr "由事件日期" - -#: lib/object.php:489 -msgid "by yearday(s)" -msgstr "依年份日期" - -#: lib/object.php:490 -msgid "by weeknumber(s)" -msgstr "由週數" - -#: lib/object.php:491 -msgid "by day and month" -msgstr "由日與月" - -#: lib/search.php:35 lib/search.php:37 lib/search.php:40 -msgid "Date" -msgstr "日期" - -#: lib/search.php:43 -msgid "Cal." -msgstr "行事曆" - -#: templates/calendar.php:6 -msgid "Sun." -msgstr "" - -#: templates/calendar.php:6 -msgid "Mon." -msgstr "" - -#: templates/calendar.php:6 -msgid "Tue." -msgstr "" - -#: templates/calendar.php:6 -msgid "Wed." -msgstr "" - -#: templates/calendar.php:6 -msgid "Thu." -msgstr "" - -#: templates/calendar.php:6 -msgid "Fri." -msgstr "" - -#: templates/calendar.php:6 -msgid "Sat." -msgstr "" - -#: templates/calendar.php:8 -msgid "Jan." -msgstr "" - -#: templates/calendar.php:8 -msgid "Feb." -msgstr "" - -#: templates/calendar.php:8 -msgid "Mar." -msgstr "" - -#: templates/calendar.php:8 -msgid "Apr." -msgstr "" - -#: templates/calendar.php:8 -msgid "May." -msgstr "" - -#: templates/calendar.php:8 -msgid "Jun." -msgstr "" - -#: templates/calendar.php:8 -msgid "Jul." -msgstr "" - -#: templates/calendar.php:8 -msgid "Aug." -msgstr "" - -#: templates/calendar.php:8 -msgid "Sep." -msgstr "" - -#: templates/calendar.php:8 -msgid "Oct." -msgstr "" - -#: templates/calendar.php:8 -msgid "Nov." -msgstr "" - -#: templates/calendar.php:8 -msgid "Dec." -msgstr "" - -#: templates/calendar.php:11 -msgid "All day" -msgstr "整天" - -#: templates/calendar.php:13 -msgid "Missing fields" -msgstr "遺失欄位" - -#: templates/calendar.php:14 templates/part.eventform.php:19 -#: templates/part.showevent.php:11 -msgid "Title" -msgstr "標題" - -#: templates/calendar.php:16 -msgid "From Date" -msgstr "自日期" - -#: templates/calendar.php:17 -msgid "From Time" -msgstr "至時間" - -#: templates/calendar.php:18 -msgid "To Date" -msgstr "至日期" - -#: templates/calendar.php:19 -msgid "To Time" -msgstr "至時間" - -#: templates/calendar.php:20 -msgid "The event ends before it starts" -msgstr "事件的結束在開始之前" - -#: templates/calendar.php:21 -msgid "There was a database fail" -msgstr "資料庫錯誤" - -#: templates/calendar.php:39 -msgid "Week" -msgstr "週" - -#: templates/calendar.php:40 -msgid "Month" -msgstr "月" - -#: templates/calendar.php:41 -msgid "List" -msgstr "清單" - -#: templates/calendar.php:45 -msgid "Today" -msgstr "今日" - -#: templates/calendar.php:46 templates/calendar.php:47 -msgid "Settings" -msgstr "" - -#: templates/part.choosecalendar.php:2 -msgid "Your calendars" -msgstr "你的行事曆" - -#: templates/part.choosecalendar.php:27 -#: templates/part.choosecalendar.rowfields.php:11 -msgid "CalDav Link" -msgstr "CalDav 聯結" - -#: templates/part.choosecalendar.php:31 -msgid "Shared calendars" -msgstr "分享的行事曆" - -#: templates/part.choosecalendar.php:48 -msgid "No shared calendars" -msgstr "不分享的行事曆" - -#: templates/part.choosecalendar.rowfields.php:8 -msgid "Share Calendar" -msgstr "分享行事曆" - -#: templates/part.choosecalendar.rowfields.php:14 -msgid "Download" -msgstr "下載" - -#: templates/part.choosecalendar.rowfields.php:17 -msgid "Edit" -msgstr "編輯" - -#: templates/part.choosecalendar.rowfields.php:20 -#: templates/part.editevent.php:9 -msgid "Delete" -msgstr "刪除" - -#: templates/part.choosecalendar.rowfields.shared.php:4 -msgid "shared with you by" -msgstr "分享給你由" - -#: templates/part.editcalendar.php:9 -msgid "New calendar" -msgstr "新日曆" - -#: templates/part.editcalendar.php:9 -msgid "Edit calendar" -msgstr "編輯日曆" - -#: templates/part.editcalendar.php:12 -msgid "Displayname" -msgstr "顯示名稱" - -#: templates/part.editcalendar.php:23 -msgid "Active" -msgstr "作用中" - -#: templates/part.editcalendar.php:29 -msgid "Calendar color" -msgstr "日曆顏色" - -#: templates/part.editcalendar.php:42 -msgid "Save" -msgstr "儲存" - -#: templates/part.editcalendar.php:42 templates/part.editevent.php:8 -#: templates/part.newevent.php:6 -msgid "Submit" -msgstr "提出" - -#: templates/part.editcalendar.php:43 -msgid "Cancel" -msgstr "取消" - -#: templates/part.editevent.php:1 -msgid "Edit an event" -msgstr "編輯事件" - -#: templates/part.editevent.php:10 -msgid "Export" -msgstr "匯出" - -#: templates/part.eventform.php:8 templates/part.showevent.php:3 -msgid "Eventinfo" -msgstr "活動資訊" - -#: templates/part.eventform.php:9 templates/part.showevent.php:4 -msgid "Repeating" -msgstr "重覆中" - -#: templates/part.eventform.php:10 templates/part.showevent.php:5 -msgid "Alarm" -msgstr "鬧鐘" - -#: templates/part.eventform.php:11 templates/part.showevent.php:6 -msgid "Attendees" -msgstr "出席者" - -#: templates/part.eventform.php:13 -msgid "Share" -msgstr "分享" - -#: templates/part.eventform.php:21 -msgid "Title of the Event" -msgstr "事件標題" - -#: templates/part.eventform.php:27 templates/part.showevent.php:19 -msgid "Category" -msgstr "分類" - -#: templates/part.eventform.php:29 -msgid "Separate categories with commas" -msgstr "用逗點分隔分類" - -#: templates/part.eventform.php:30 -msgid "Edit categories" -msgstr "編輯分類" - -#: templates/part.eventform.php:56 templates/part.showevent.php:52 -msgid "All Day Event" -msgstr "全天事件" - -#: templates/part.eventform.php:60 templates/part.showevent.php:56 -msgid "From" -msgstr "自" - -#: templates/part.eventform.php:68 templates/part.showevent.php:64 -msgid "To" -msgstr "至" - -#: templates/part.eventform.php:76 templates/part.showevent.php:72 -msgid "Advanced options" -msgstr "進階選項" - -#: templates/part.eventform.php:81 templates/part.showevent.php:77 -msgid "Location" -msgstr "位置" - -#: templates/part.eventform.php:83 -msgid "Location of the Event" -msgstr "事件位置" - -#: templates/part.eventform.php:89 templates/part.showevent.php:85 -msgid "Description" -msgstr "描述" - -#: templates/part.eventform.php:91 -msgid "Description of the Event" -msgstr "事件描述" - -#: templates/part.eventform.php:100 templates/part.showevent.php:95 -msgid "Repeat" -msgstr "重覆" - -#: templates/part.eventform.php:107 templates/part.showevent.php:102 -msgid "Advanced" -msgstr "進階" - -#: templates/part.eventform.php:151 templates/part.showevent.php:146 -msgid "Select weekdays" -msgstr "選擇平日" - -#: templates/part.eventform.php:164 templates/part.eventform.php:177 -#: templates/part.showevent.php:159 templates/part.showevent.php:172 -msgid "Select days" -msgstr "選擇日" - -#: templates/part.eventform.php:169 templates/part.showevent.php:164 -msgid "and the events day of year." -msgstr "以及年中的活動日" - -#: templates/part.eventform.php:182 templates/part.showevent.php:177 -msgid "and the events day of month." -msgstr "以及月中的活動日" - -#: templates/part.eventform.php:190 templates/part.showevent.php:185 -msgid "Select months" -msgstr "選擇月" - -#: templates/part.eventform.php:203 templates/part.showevent.php:198 -msgid "Select weeks" -msgstr "選擇週" - -#: templates/part.eventform.php:208 templates/part.showevent.php:203 -msgid "and the events week of year." -msgstr "以及年中的活動週" - -#: templates/part.eventform.php:214 templates/part.showevent.php:209 -msgid "Interval" -msgstr "間隔" - -#: templates/part.eventform.php:220 templates/part.showevent.php:215 -msgid "End" -msgstr "結束" - -#: templates/part.eventform.php:233 templates/part.showevent.php:228 -msgid "occurrences" -msgstr "事件" - -#: templates/part.import.php:14 -msgid "create a new calendar" -msgstr "建立新日曆" - -#: templates/part.import.php:17 -msgid "Import a calendar file" -msgstr "匯入日曆檔案" - -#: templates/part.import.php:24 -msgid "Please choose a calendar" -msgstr "" - -#: templates/part.import.php:36 -msgid "Name of new calendar" -msgstr "新日曆名稱" - -#: templates/part.import.php:44 -msgid "Take an available name!" -msgstr "" - -#: templates/part.import.php:45 -msgid "" -"A Calendar with this name already exists. If you continue anyhow, these " -"calendars will be merged." -msgstr "" - -#: templates/part.import.php:47 -msgid "Import" -msgstr "匯入" - -#: templates/part.import.php:56 -msgid "Close Dialog" -msgstr "關閉對話" - -#: templates/part.newevent.php:1 -msgid "Create a new event" -msgstr "建立一個新事件" - -#: templates/part.showevent.php:1 -msgid "View an event" -msgstr "觀看一個活動" - -#: templates/part.showevent.php:23 -msgid "No categories selected" -msgstr "沒有選擇分類" - -#: templates/part.showevent.php:37 -msgid "of" -msgstr "於" - -#: templates/part.showevent.php:59 templates/part.showevent.php:67 -msgid "at" -msgstr "於" - -#: templates/settings.php:10 -msgid "General" -msgstr "" - -#: templates/settings.php:15 -msgid "Timezone" -msgstr "時區" - -#: templates/settings.php:47 -msgid "Update timezone automatically" -msgstr "" - -#: templates/settings.php:52 -msgid "Time format" -msgstr "" - -#: templates/settings.php:57 -msgid "24h" -msgstr "24小時制" - -#: templates/settings.php:58 -msgid "12h" -msgstr "12小時制" - -#: templates/settings.php:64 -msgid "Start week on" -msgstr "" - -#: templates/settings.php:76 -msgid "Cache" -msgstr "" - -#: templates/settings.php:80 -msgid "Clear cache for repeating events" -msgstr "" - -#: templates/settings.php:85 -msgid "URLs" -msgstr "" - -#: templates/settings.php:87 -msgid "Calendar CalDAV syncing addresses" -msgstr "" - -#: templates/settings.php:87 -msgid "more info" -msgstr "" - -#: templates/settings.php:89 -msgid "Primary address (Kontact et al)" -msgstr "" - -#: templates/settings.php:91 -msgid "iOS/OS X" -msgstr "" - -#: templates/settings.php:93 -msgid "Read only iCalendar link(s)" -msgstr "" - -#: templates/share.dropdown.php:20 -msgid "Users" -msgstr "使用者" - -#: templates/share.dropdown.php:21 -msgid "select users" -msgstr "選擇使用者" - -#: templates/share.dropdown.php:36 templates/share.dropdown.php:62 -msgid "Editable" -msgstr "可編輯" - -#: templates/share.dropdown.php:48 -msgid "Groups" -msgstr "群組" - -#: templates/share.dropdown.php:49 -msgid "select groups" -msgstr "選擇群組" - -#: templates/share.dropdown.php:75 -msgid "make public" -msgstr "公開" diff --git a/l10n/zh_TW/contacts.po b/l10n/zh_TW/contacts.po deleted file mode 100644 index 254da03e8b5ebe31fe8bc620b619e39c08ac38a8..0000000000000000000000000000000000000000 --- a/l10n/zh_TW/contacts.po +++ /dev/null @@ -1,954 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Donahue Chuang , 2012. -# Eddy Chang , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-24 02:02+0200\n" -"PO-Revision-Date: 2012-08-24 00:03+0000\n" -"Last-Translator: I Robot \n" -"Language-Team: Chinese (Taiwan) (http://www.transifex.com/projects/p/owncloud/language/zh_TW/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: zh_TW\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: ajax/addressbook/activate.php:24 ajax/addressbook/update.php:32 -msgid "Error (de)activating addressbook." -msgstr "在啟用或關閉電話簿時發生錯誤" - -#: ajax/addressbook/delete.php:31 ajax/addressbook/update.php:20 -#: ajax/contact/addproperty.php:42 ajax/contact/delete.php:32 -#: ajax/contact/saveproperty.php:39 -msgid "id is not set." -msgstr "" - -#: ajax/addressbook/update.php:24 -msgid "Cannot update addressbook with an empty name." -msgstr "" - -#: ajax/addressbook/update.php:28 -msgid "Error updating addressbook." -msgstr "電話簿更新中發生錯誤" - -#: ajax/categories/categoriesfor.php:17 -msgid "No ID provided" -msgstr "未提供 ID" - -#: ajax/categories/categoriesfor.php:34 -msgid "Error setting checksum." -msgstr "" - -#: ajax/categories/delete.php:19 -msgid "No categories selected for deletion." -msgstr "" - -#: ajax/categories/delete.php:26 -msgid "No address books found." -msgstr "" - -#: ajax/categories/delete.php:34 -msgid "No contacts found." -msgstr "沒有找到聯絡人" - -#: ajax/contact/add.php:47 -msgid "There was an error adding the contact." -msgstr "添加通訊錄發生錯誤" - -#: ajax/contact/addproperty.php:39 ajax/contact/saveproperty.php:36 -msgid "element name is not set." -msgstr "" - -#: ajax/contact/addproperty.php:46 -msgid "Could not parse contact: " -msgstr "" - -#: ajax/contact/addproperty.php:56 -msgid "Cannot add empty property." -msgstr "不可添加空白內容" - -#: ajax/contact/addproperty.php:67 -msgid "At least one of the address fields has to be filled out." -msgstr "至少必須填寫一欄地址" - -#: ajax/contact/addproperty.php:76 -msgid "Trying to add duplicate property: " -msgstr "" - -#: ajax/contact/addproperty.php:115 ajax/contact/saveproperty.php:93 -msgid "Missing IM parameter." -msgstr "" - -#: ajax/contact/addproperty.php:119 ajax/contact/saveproperty.php:97 -msgid "Unknown IM: " -msgstr "" - -#: ajax/contact/deleteproperty.php:37 -msgid "Information about vCard is incorrect. Please reload the page." -msgstr "有關 vCard 的資訊不正確,請重新載入此頁。" - -#: ajax/contact/details.php:31 -msgid "Missing ID" -msgstr "遺失ID" - -#: ajax/contact/details.php:36 -msgid "Error parsing VCard for ID: \"" -msgstr "" - -#: ajax/contact/saveproperty.php:42 -msgid "checksum is not set." -msgstr "" - -#: ajax/contact/saveproperty.php:62 -msgid "Information about vCard is incorrect. Please reload the page: " -msgstr "" - -#: ajax/contact/saveproperty.php:69 -msgid "Something went FUBAR. " -msgstr "" - -#: ajax/currentphoto.php:30 ajax/oc_photo.php:28 ajax/uploadphoto.php:36 -#: ajax/uploadphoto.php:68 -msgid "No contact ID was submitted." -msgstr "" - -#: ajax/currentphoto.php:36 -msgid "Error reading contact photo." -msgstr "" - -#: ajax/currentphoto.php:48 -msgid "Error saving temporary file." -msgstr "" - -#: ajax/currentphoto.php:51 -msgid "The loading photo is not valid." -msgstr "" - -#: ajax/editname.php:31 -msgid "Contact ID is missing." -msgstr "" - -#: ajax/oc_photo.php:32 -msgid "No photo path was submitted." -msgstr "" - -#: ajax/oc_photo.php:39 -msgid "File doesn't exist:" -msgstr "" - -#: ajax/oc_photo.php:44 ajax/oc_photo.php:47 -msgid "Error loading image." -msgstr "" - -#: ajax/savecrop.php:69 -msgid "Error getting contact object." -msgstr "" - -#: ajax/savecrop.php:79 -msgid "Error getting PHOTO property." -msgstr "" - -#: ajax/savecrop.php:98 -msgid "Error saving contact." -msgstr "" - -#: ajax/savecrop.php:109 -msgid "Error resizing image" -msgstr "" - -#: ajax/savecrop.php:112 -msgid "Error cropping image" -msgstr "" - -#: ajax/savecrop.php:115 -msgid "Error creating temporary image" -msgstr "" - -#: ajax/savecrop.php:118 -msgid "Error finding image: " -msgstr "" - -#: ajax/uploadimport.php:44 ajax/uploadimport.php:76 -msgid "Error uploading contacts to storage." -msgstr "" - -#: ajax/uploadimport.php:61 ajax/uploadphoto.php:77 -msgid "There is no error, the file uploaded with success" -msgstr "" - -#: ajax/uploadimport.php:62 ajax/uploadphoto.php:78 -msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" -msgstr "" - -#: ajax/uploadimport.php:63 ajax/uploadphoto.php:79 -msgid "" -"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " -"the HTML form" -msgstr "" - -#: ajax/uploadimport.php:64 ajax/uploadphoto.php:80 -msgid "The uploaded file was only partially uploaded" -msgstr "" - -#: ajax/uploadimport.php:65 ajax/uploadphoto.php:81 -msgid "No file was uploaded" -msgstr "沒有已上傳的檔案" - -#: ajax/uploadimport.php:66 ajax/uploadphoto.php:82 -msgid "Missing a temporary folder" -msgstr "" - -#: ajax/uploadphoto.php:59 ajax/uploadphoto.php:109 -msgid "Couldn't save temporary image: " -msgstr "" - -#: ajax/uploadphoto.php:62 ajax/uploadphoto.php:112 -msgid "Couldn't load temporary image: " -msgstr "" - -#: ajax/uploadphoto.php:71 -msgid "No file was uploaded. Unknown error" -msgstr "" - -#: appinfo/app.php:21 -msgid "Contacts" -msgstr "通訊錄" - -#: js/contacts.js:71 -msgid "Sorry, this functionality has not been implemented yet" -msgstr "" - -#: js/contacts.js:71 -msgid "Not implemented" -msgstr "" - -#: js/contacts.js:76 -msgid "Couldn't get a valid address." -msgstr "" - -#: js/contacts.js:76 js/contacts.js:365 js/contacts.js:381 js/contacts.js:393 -#: js/contacts.js:723 js/contacts.js:763 js/contacts.js:789 js/contacts.js:921 -#: js/contacts.js:927 js/contacts.js:939 js/contacts.js:976 -#: js/contacts.js:1250 js/contacts.js:1258 js/contacts.js:1267 -#: js/contacts.js:1302 js/contacts.js:1338 js/contacts.js:1353 -#: js/contacts.js:1379 js/contacts.js:1609 js/contacts.js:1644 -#: js/contacts.js:1664 js/settings.js:26 js/settings.js:43 js/settings.js:68 -msgid "Error" -msgstr "" - -#: js/contacts.js:424 -msgid "You do not have permission to add contacts to " -msgstr "" - -#: js/contacts.js:425 -msgid "Please select one of your own address books." -msgstr "" - -#: js/contacts.js:425 -msgid "Permission error" -msgstr "" - -#: js/contacts.js:763 -msgid "This property has to be non-empty." -msgstr "" - -#: js/contacts.js:789 -msgid "Couldn't serialize elements." -msgstr "" - -#: js/contacts.js:921 js/contacts.js:939 -msgid "" -"'deleteProperty' called without type argument. Please report at " -"bugs.owncloud.org" -msgstr "" - -#: js/contacts.js:958 -msgid "Edit name" -msgstr "" - -#: js/contacts.js:1250 -msgid "No files selected for upload." -msgstr "" - -#: js/contacts.js:1258 -msgid "" -"The file you are trying to upload exceed the maximum size for file uploads " -"on this server." -msgstr "" - -#: js/contacts.js:1322 -msgid "Error loading profile picture." -msgstr "" - -#: js/contacts.js:1457 js/contacts.js:1498 js/contacts.js:1517 -#: js/contacts.js:1560 -msgid "Select type" -msgstr "" - -#: js/contacts.js:1578 -msgid "" -"Some contacts are marked for deletion, but not deleted yet. Please wait for " -"them to be deleted." -msgstr "" - -#: js/contacts.js:1649 -msgid "Do you want to merge these address books?" -msgstr "" - -#: js/loader.js:49 -msgid "Result: " -msgstr "" - -#: js/loader.js:49 -msgid " imported, " -msgstr "" - -#: js/loader.js:49 -msgid " failed." -msgstr "" - -#: js/settings.js:68 -msgid "Displayname cannot be empty." -msgstr "" - -#: lib/app.php:36 -msgid "Addressbook not found: " -msgstr "" - -#: lib/app.php:52 -msgid "This is not your addressbook." -msgstr "這不是你的電話簿" - -#: lib/app.php:71 -msgid "Contact could not be found." -msgstr "通訊錄未發現" - -#: lib/app.php:116 -msgid "Jabber" -msgstr "" - -#: lib/app.php:121 -msgid "AIM" -msgstr "" - -#: lib/app.php:126 -msgid "MSN" -msgstr "" - -#: lib/app.php:131 -msgid "Twitter" -msgstr "" - -#: lib/app.php:136 -msgid "GoogleTalk" -msgstr "" - -#: lib/app.php:141 -msgid "Facebook" -msgstr "" - -#: lib/app.php:146 -msgid "XMPP" -msgstr "" - -#: lib/app.php:151 -msgid "ICQ" -msgstr "" - -#: lib/app.php:156 -msgid "Yahoo" -msgstr "" - -#: lib/app.php:161 -msgid "Skype" -msgstr "" - -#: lib/app.php:166 -msgid "QQ" -msgstr "" - -#: lib/app.php:171 -msgid "GaduGadu" -msgstr "" - -#: lib/app.php:194 lib/app.php:202 lib/app.php:213 lib/app.php:266 -msgid "Work" -msgstr "公司" - -#: lib/app.php:195 lib/app.php:200 lib/app.php:214 -msgid "Home" -msgstr "住宅" - -#: lib/app.php:196 lib/app.php:209 lib/app.php:262 lib/vcard.php:593 -msgid "Other" -msgstr "" - -#: lib/app.php:201 -msgid "Mobile" -msgstr "行動電話" - -#: lib/app.php:203 -msgid "Text" -msgstr "文字" - -#: lib/app.php:204 -msgid "Voice" -msgstr "語音" - -#: lib/app.php:205 -msgid "Message" -msgstr "訊息" - -#: lib/app.php:206 -msgid "Fax" -msgstr "傳真" - -#: lib/app.php:207 -msgid "Video" -msgstr "影片" - -#: lib/app.php:208 -msgid "Pager" -msgstr "呼叫器" - -#: lib/app.php:215 -msgid "Internet" -msgstr "網際網路" - -#: lib/app.php:252 templates/part.contact.php:45 -#: templates/part.contact.php:128 -msgid "Birthday" -msgstr "生日" - -#: lib/app.php:253 -msgid "Business" -msgstr "" - -#: lib/app.php:254 -msgid "Call" -msgstr "" - -#: lib/app.php:255 -msgid "Clients" -msgstr "" - -#: lib/app.php:256 -msgid "Deliverer" -msgstr "" - -#: lib/app.php:257 -msgid "Holidays" -msgstr "" - -#: lib/app.php:258 -msgid "Ideas" -msgstr "" - -#: lib/app.php:259 -msgid "Journey" -msgstr "" - -#: lib/app.php:260 -msgid "Jubilee" -msgstr "" - -#: lib/app.php:261 -msgid "Meeting" -msgstr "" - -#: lib/app.php:263 -msgid "Personal" -msgstr "" - -#: lib/app.php:264 -msgid "Projects" -msgstr "" - -#: lib/app.php:265 -msgid "Questions" -msgstr "" - -#: lib/hooks.php:102 -msgid "{name}'s Birthday" -msgstr "{name}的生日" - -#: lib/search.php:15 -msgid "Contact" -msgstr "通訊錄" - -#: lib/vcard.php:408 -msgid "You do not have the permissions to edit this contact." -msgstr "" - -#: lib/vcard.php:483 -msgid "You do not have the permissions to delete this contact." -msgstr "" - -#: templates/index.php:14 -msgid "Add Contact" -msgstr "添加通訊錄" - -#: templates/index.php:15 templates/index.php:16 templates/part.import.php:17 -msgid "Import" -msgstr "" - -#: templates/index.php:18 -msgid "Settings" -msgstr "" - -#: templates/index.php:18 templates/settings.php:9 -msgid "Addressbooks" -msgstr "電話簿" - -#: templates/index.php:36 templates/part.import.php:24 -msgid "Close" -msgstr "" - -#: templates/index.php:37 -msgid "Keyboard shortcuts" -msgstr "" - -#: templates/index.php:39 -msgid "Navigation" -msgstr "" - -#: templates/index.php:42 -msgid "Next contact in list" -msgstr "" - -#: templates/index.php:44 -msgid "Previous contact in list" -msgstr "" - -#: templates/index.php:46 -msgid "Expand/collapse current addressbook" -msgstr "" - -#: templates/index.php:48 -msgid "Next addressbook" -msgstr "" - -#: templates/index.php:50 -msgid "Previous addressbook" -msgstr "" - -#: templates/index.php:54 -msgid "Actions" -msgstr "" - -#: templates/index.php:57 -msgid "Refresh contacts list" -msgstr "" - -#: templates/index.php:59 -msgid "Add new contact" -msgstr "" - -#: templates/index.php:61 -msgid "Add new addressbook" -msgstr "" - -#: templates/index.php:63 -msgid "Delete current contact" -msgstr "" - -#: templates/part.contact.php:17 -msgid "Drop photo to upload" -msgstr "" - -#: templates/part.contact.php:19 -msgid "Delete current photo" -msgstr "" - -#: templates/part.contact.php:20 -msgid "Edit current photo" -msgstr "" - -#: templates/part.contact.php:21 -msgid "Upload new photo" -msgstr "" - -#: templates/part.contact.php:22 -msgid "Select photo from ownCloud" -msgstr "" - -#: templates/part.contact.php:35 -msgid "Format custom, Short name, Full name, Reverse or Reverse with comma" -msgstr "" - -#: templates/part.contact.php:36 -msgid "Edit name details" -msgstr "編輯姓名詳細資訊" - -#: templates/part.contact.php:39 templates/part.contact.php:40 -#: templates/part.contact.php:126 -msgid "Organization" -msgstr "組織" - -#: templates/part.contact.php:40 templates/part.contact.php:42 -#: templates/part.contact.php:44 templates/part.contact.php:46 -#: templates/part.contact.php:50 templates/settings.php:36 -msgid "Delete" -msgstr "刪除" - -#: templates/part.contact.php:41 templates/part.contact.php:127 -msgid "Nickname" -msgstr "綽號" - -#: templates/part.contact.php:42 -msgid "Enter nickname" -msgstr "輸入綽號" - -#: templates/part.contact.php:43 templates/part.contact.php:134 -msgid "Web site" -msgstr "" - -#: templates/part.contact.php:44 -msgid "http://www.somesite.com" -msgstr "" - -#: templates/part.contact.php:44 -msgid "Go to web site" -msgstr "" - -#: templates/part.contact.php:46 -msgid "dd-mm-yyyy" -msgstr "dd-mm-yyyy" - -#: templates/part.contact.php:47 templates/part.contact.php:135 -msgid "Groups" -msgstr "群組" - -#: templates/part.contact.php:49 -msgid "Separate groups with commas" -msgstr "用逗號分隔群組" - -#: templates/part.contact.php:50 -msgid "Edit groups" -msgstr "編輯群組" - -#: templates/part.contact.php:59 templates/part.contact.php:73 -#: templates/part.contact.php:98 -msgid "Preferred" -msgstr "首選" - -#: templates/part.contact.php:60 -msgid "Please specify a valid email address." -msgstr "註填入合法的電子郵件住址" - -#: templates/part.contact.php:60 -msgid "Enter email address" -msgstr "輸入電子郵件地址" - -#: templates/part.contact.php:64 -msgid "Mail to address" -msgstr "寄送住址" - -#: templates/part.contact.php:65 -msgid "Delete email address" -msgstr "刪除電子郵件住址" - -#: templates/part.contact.php:75 -msgid "Enter phone number" -msgstr "輸入電話號碼" - -#: templates/part.contact.php:79 -msgid "Delete phone number" -msgstr "刪除電話號碼" - -#: templates/part.contact.php:100 -msgid "Instant Messenger" -msgstr "" - -#: templates/part.contact.php:101 -msgid "Delete IM" -msgstr "" - -#: templates/part.contact.php:110 -msgid "View on map" -msgstr "" - -#: templates/part.contact.php:110 -msgid "Edit address details" -msgstr "電子郵件住址詳細資訊" - -#: templates/part.contact.php:116 -msgid "Add notes here." -msgstr "在這裡新增註解" - -#: templates/part.contact.php:124 -msgid "Add field" -msgstr "新增欄位" - -#: templates/part.contact.php:129 -msgid "Phone" -msgstr "電話" - -#: templates/part.contact.php:130 -msgid "Email" -msgstr "電子郵件" - -#: templates/part.contact.php:131 -msgid "Instant Messaging" -msgstr "" - -#: templates/part.contact.php:132 -msgid "Address" -msgstr "地址" - -#: templates/part.contact.php:133 -msgid "Note" -msgstr "註解" - -#: templates/part.contact.php:138 -msgid "Download contact" -msgstr "下載通訊錄" - -#: templates/part.contact.php:139 -msgid "Delete contact" -msgstr "刪除通訊錄" - -#: templates/part.cropphoto.php:65 -msgid "The temporary image has been removed from cache." -msgstr "" - -#: templates/part.edit_address_dialog.php:6 -msgid "Edit address" -msgstr "" - -#: templates/part.edit_address_dialog.php:10 -msgid "Type" -msgstr "類型" - -#: templates/part.edit_address_dialog.php:18 -#: templates/part.edit_address_dialog.php:21 -msgid "PO Box" -msgstr "通訊地址" - -#: templates/part.edit_address_dialog.php:24 -msgid "Street address" -msgstr "" - -#: templates/part.edit_address_dialog.php:27 -msgid "Street and number" -msgstr "" - -#: templates/part.edit_address_dialog.php:30 -msgid "Extended" -msgstr "分機" - -#: templates/part.edit_address_dialog.php:33 -msgid "Apartment number etc." -msgstr "" - -#: templates/part.edit_address_dialog.php:36 -#: templates/part.edit_address_dialog.php:39 -msgid "City" -msgstr "城市" - -#: templates/part.edit_address_dialog.php:42 -msgid "Region" -msgstr "地區" - -#: templates/part.edit_address_dialog.php:45 -msgid "E.g. state or province" -msgstr "" - -#: templates/part.edit_address_dialog.php:48 -msgid "Zipcode" -msgstr "郵遞區號" - -#: templates/part.edit_address_dialog.php:51 -msgid "Postal code" -msgstr "" - -#: templates/part.edit_address_dialog.php:54 -#: templates/part.edit_address_dialog.php:57 -msgid "Country" -msgstr "國家" - -#: templates/part.edit_name_dialog.php:16 -msgid "Addressbook" -msgstr "電話簿" - -#: templates/part.edit_name_dialog.php:23 -msgid "Hon. prefixes" -msgstr "" - -#: templates/part.edit_name_dialog.php:27 -msgid "Miss" -msgstr "" - -#: templates/part.edit_name_dialog.php:28 -msgid "Ms" -msgstr "" - -#: templates/part.edit_name_dialog.php:29 -msgid "Mr" -msgstr "先生" - -#: templates/part.edit_name_dialog.php:30 -msgid "Sir" -msgstr "先生" - -#: templates/part.edit_name_dialog.php:31 -msgid "Mrs" -msgstr "小姐" - -#: templates/part.edit_name_dialog.php:32 -msgid "Dr" -msgstr "博士(醫生)" - -#: templates/part.edit_name_dialog.php:35 -msgid "Given name" -msgstr "給定名(名)" - -#: templates/part.edit_name_dialog.php:37 -msgid "Additional names" -msgstr "額外名" - -#: templates/part.edit_name_dialog.php:39 -msgid "Family name" -msgstr "家族名(姓)" - -#: templates/part.edit_name_dialog.php:41 -msgid "Hon. suffixes" -msgstr "" - -#: templates/part.edit_name_dialog.php:45 -msgid "J.D." -msgstr "" - -#: templates/part.edit_name_dialog.php:46 -msgid "M.D." -msgstr "" - -#: templates/part.edit_name_dialog.php:47 -msgid "D.O." -msgstr "" - -#: templates/part.edit_name_dialog.php:48 -msgid "D.C." -msgstr "" - -#: templates/part.edit_name_dialog.php:49 -msgid "Ph.D." -msgstr "" - -#: templates/part.edit_name_dialog.php:50 -msgid "Esq." -msgstr "" - -#: templates/part.edit_name_dialog.php:51 -msgid "Jr." -msgstr "" - -#: templates/part.edit_name_dialog.php:52 -msgid "Sn." -msgstr "" - -#: templates/part.import.php:1 -msgid "Import a contacts file" -msgstr "" - -#: templates/part.import.php:6 -msgid "Please choose the addressbook" -msgstr "" - -#: templates/part.import.php:10 -msgid "create a new addressbook" -msgstr "" - -#: templates/part.import.php:15 -msgid "Name of new addressbook" -msgstr "" - -#: templates/part.import.php:20 -msgid "Importing contacts" -msgstr "" - -#: templates/part.no_contacts.php:3 -msgid "You have no contacts in your addressbook." -msgstr "" - -#: templates/part.no_contacts.php:5 -msgid "Add contact" -msgstr "" - -#: templates/part.selectaddressbook.php:1 -msgid "Select Address Books" -msgstr "" - -#: templates/part.selectaddressbook.php:27 -msgid "Enter name" -msgstr "" - -#: templates/part.selectaddressbook.php:29 -msgid "Enter description" -msgstr "" - -#: templates/settings.php:3 -msgid "CardDAV syncing addresses" -msgstr "" - -#: templates/settings.php:3 -msgid "more info" -msgstr "" - -#: templates/settings.php:5 -msgid "Primary address (Kontact et al)" -msgstr "" - -#: templates/settings.php:7 -msgid "iOS/OS X" -msgstr "" - -#: templates/settings.php:20 -msgid "Show CardDav link" -msgstr "" - -#: templates/settings.php:23 -msgid "Show read-only VCF link" -msgstr "" - -#: templates/settings.php:26 -msgid "Share" -msgstr "" - -#: templates/settings.php:29 -msgid "Download" -msgstr "下載" - -#: templates/settings.php:33 -msgid "Edit" -msgstr "編輯" - -#: templates/settings.php:43 -msgid "New Address Book" -msgstr "新電話簿" - -#: templates/settings.php:44 -msgid "Name" -msgstr "" - -#: templates/settings.php:45 -msgid "Description" -msgstr "" - -#: templates/settings.php:46 -msgid "Save" -msgstr "儲存" - -#: templates/settings.php:47 -msgid "Cancel" -msgstr "取消" - -#: templates/settings.php:52 -msgid "More..." -msgstr "" diff --git a/l10n/zh_TW/core.po b/l10n/zh_TW/core.po index 9bb44a04f17c2d83d10dc97401a674eda3ceda24..104f616766db61010b8e158af66ea70c21933aa3 100644 --- a/l10n/zh_TW/core.po +++ b/l10n/zh_TW/core.po @@ -4,14 +4,15 @@ # # Translators: # Donahue Chuang , 2012. +# , 2012. # Ming Yi Wu , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-16 02:04+0200\n" -"PO-Revision-Date: 2012-10-16 00:05+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-12-08 00:09+0100\n" +"PO-Revision-Date: 2012-12-06 01:24+0000\n" +"Last-Translator: dw4dev \n" "Language-Team: Chinese (Taiwan) (http://www.transifex.com/projects/p/owncloud/language/zh_TW/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -19,209 +20,241 @@ msgstr "" "Language: zh_TW\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: ajax/vcategories/add.php:23 ajax/vcategories/delete.php:23 -msgid "Application name not provided." -msgstr "未提供應用程式名稱" +#: ajax/vcategories/add.php:26 ajax/vcategories/edit.php:25 +msgid "Category type not provided." +msgstr "" -#: ajax/vcategories/add.php:29 +#: ajax/vcategories/add.php:30 msgid "No category to add?" msgstr "無分類添加?" -#: ajax/vcategories/add.php:36 +#: ajax/vcategories/add.php:37 msgid "This category already exists: " msgstr "此分類已經存在:" -#: js/js.js:238 templates/layout.user.php:49 templates/layout.user.php:50 +#: ajax/vcategories/addToFavorites.php:26 ajax/vcategories/delete.php:27 +#: ajax/vcategories/favorites.php:24 +#: ajax/vcategories/removeFromFavorites.php:26 +msgid "Object type not provided." +msgstr "不支援的物件類型" + +#: ajax/vcategories/addToFavorites.php:30 +#: ajax/vcategories/removeFromFavorites.php:30 +#, php-format +msgid "%s ID not provided." +msgstr "" + +#: ajax/vcategories/addToFavorites.php:35 +#, php-format +msgid "Error adding %s to favorites." +msgstr "" + +#: ajax/vcategories/delete.php:35 js/oc-vcategories.js:136 +msgid "No categories selected for deletion." +msgstr "沒選擇要刪除的分類" + +#: ajax/vcategories/removeFromFavorites.php:35 +#, php-format +msgid "Error removing %s from favorites." +msgstr "" + +#: js/js.js:259 templates/layout.user.php:60 templates/layout.user.php:61 msgid "Settings" msgstr "設定" -#: js/js.js:670 -msgid "January" -msgstr "一月" +#: js/js.js:704 +msgid "seconds ago" +msgstr "幾秒前" -#: js/js.js:670 -msgid "February" -msgstr "二月" +#: js/js.js:705 +msgid "1 minute ago" +msgstr "1 分鐘前" -#: js/js.js:670 -msgid "March" -msgstr "三月" +#: js/js.js:706 +msgid "{minutes} minutes ago" +msgstr "{minutes} 分鐘前" -#: js/js.js:670 -msgid "April" -msgstr "四月" +#: js/js.js:707 +msgid "1 hour ago" +msgstr "1 個小時前" -#: js/js.js:670 -msgid "May" -msgstr "五月" +#: js/js.js:708 +msgid "{hours} hours ago" +msgstr "{hours} 個小時前" -#: js/js.js:670 -msgid "June" -msgstr "六月" +#: js/js.js:709 +msgid "today" +msgstr "今天" -#: js/js.js:671 -msgid "July" -msgstr "七月" +#: js/js.js:710 +msgid "yesterday" +msgstr "昨天" -#: js/js.js:671 -msgid "August" -msgstr "八月" +#: js/js.js:711 +msgid "{days} days ago" +msgstr "{days} 天前" -#: js/js.js:671 -msgid "September" -msgstr "九月" +#: js/js.js:712 +msgid "last month" +msgstr "上個月" -#: js/js.js:671 -msgid "October" -msgstr "十月" +#: js/js.js:713 +msgid "{months} months ago" +msgstr "{months} 個月前" -#: js/js.js:671 -msgid "November" -msgstr "十一月" +#: js/js.js:714 +msgid "months ago" +msgstr "幾個月前" -#: js/js.js:671 -msgid "December" -msgstr "十二月" +#: js/js.js:715 +msgid "last year" +msgstr "去年" + +#: js/js.js:716 +msgid "years ago" +msgstr "幾年前" -#: js/oc-dialogs.js:123 +#: js/oc-dialogs.js:126 msgid "Choose" -msgstr "" +msgstr "選擇" -#: js/oc-dialogs.js:143 js/oc-dialogs.js:163 +#: js/oc-dialogs.js:146 js/oc-dialogs.js:166 msgid "Cancel" msgstr "取消" -#: js/oc-dialogs.js:159 +#: js/oc-dialogs.js:162 msgid "No" msgstr "No" -#: js/oc-dialogs.js:160 +#: js/oc-dialogs.js:163 msgid "Yes" msgstr "Yes" -#: js/oc-dialogs.js:177 +#: js/oc-dialogs.js:180 msgid "Ok" msgstr "Ok" -#: js/oc-vcategories.js:68 -msgid "No categories selected for deletion." -msgstr "沒選擇要刪除的分類" +#: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102 +#: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162 +msgid "The object type is not specified." +msgstr "" -#: js/oc-vcategories.js:68 js/share.js:114 js/share.js:121 js/share.js:497 -#: js/share.js:509 +#: js/oc-vcategories.js:95 js/oc-vcategories.js:125 js/oc-vcategories.js:136 +#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:533 +#: js/share.js:545 msgid "Error" msgstr "錯誤" -#: js/share.js:103 -msgid "Error while sharing" +#: js/oc-vcategories.js:179 +msgid "The app name is not specified." +msgstr "沒有詳述APP名稱." + +#: js/oc-vcategories.js:194 +msgid "The required file {file} is not installed!" msgstr "" -#: js/share.js:114 +#: js/share.js:124 +msgid "Error while sharing" +msgstr "分享時發生錯誤" + +#: js/share.js:135 msgid "Error while unsharing" -msgstr "" +msgstr "取消分享時發生錯誤" -#: js/share.js:121 +#: js/share.js:142 msgid "Error while changing permissions" msgstr "" -#: js/share.js:130 -msgid "Shared with you and the group" -msgstr "" - -#: js/share.js:130 -msgid "by" +#: js/share.js:151 +msgid "Shared with you and the group {group} by {owner}" msgstr "" -#: js/share.js:132 -msgid "Shared with you by" -msgstr "" +#: js/share.js:153 +msgid "Shared with you by {owner}" +msgstr "{owner} 已經和您分享" -#: js/share.js:137 +#: js/share.js:158 msgid "Share with" -msgstr "" +msgstr "與分享" -#: js/share.js:142 +#: js/share.js:163 msgid "Share with link" -msgstr "" +msgstr "使用連結分享" -#: js/share.js:143 +#: js/share.js:164 msgid "Password protect" -msgstr "" +msgstr "密碼保護" -#: js/share.js:147 templates/installation.php:42 templates/login.php:24 +#: js/share.js:168 templates/installation.php:42 templates/login.php:24 #: templates/verify.php:13 msgid "Password" msgstr "密碼" -#: js/share.js:152 +#: js/share.js:173 msgid "Set expiration date" -msgstr "" +msgstr "設置到期日" -#: js/share.js:153 +#: js/share.js:174 msgid "Expiration date" -msgstr "" +msgstr "到期日" -#: js/share.js:185 +#: js/share.js:206 msgid "Share via email:" -msgstr "" +msgstr "透過email分享:" -#: js/share.js:187 +#: js/share.js:208 msgid "No people found" msgstr "" -#: js/share.js:214 +#: js/share.js:235 msgid "Resharing is not allowed" msgstr "" -#: js/share.js:250 -msgid "Shared in" -msgstr "" - -#: js/share.js:250 -msgid "with" -msgstr "" - #: js/share.js:271 +msgid "Shared in {item} with {user}" +msgstr "已和 {user} 分享 {item}" + +#: js/share.js:292 msgid "Unshare" -msgstr "" +msgstr "取消共享" -#: js/share.js:283 +#: js/share.js:304 msgid "can edit" -msgstr "" +msgstr "可編輯" -#: js/share.js:285 +#: js/share.js:306 msgid "access control" -msgstr "" +msgstr "存取控制" -#: js/share.js:288 +#: js/share.js:309 msgid "create" -msgstr "" +msgstr "建立" -#: js/share.js:291 +#: js/share.js:312 msgid "update" -msgstr "" +msgstr "更新" -#: js/share.js:294 +#: js/share.js:315 msgid "delete" -msgstr "" +msgstr "刪除" -#: js/share.js:297 +#: js/share.js:318 msgid "share" -msgstr "" +msgstr "分享" -#: js/share.js:322 js/share.js:484 +#: js/share.js:349 js/share.js:520 js/share.js:522 msgid "Password protected" -msgstr "" +msgstr "密碼保護" -#: js/share.js:497 +#: js/share.js:533 msgid "Error unsetting expiration date" msgstr "" -#: js/share.js:509 +#: js/share.js:545 msgid "Error setting expiration date" -msgstr "" +msgstr "錯誤的到期日設定" -#: lostpassword/index.php:26 +#: lostpassword/controller.php:47 msgid "ownCloud password reset" msgstr "ownCloud 密碼重設" @@ -234,12 +267,12 @@ msgid "You will receive a link to reset your password via Email." msgstr "重設密碼的連結將會寄到你的電子郵件信箱" #: lostpassword/templates/lostpassword.php:5 -msgid "Requested" -msgstr "已要求" +msgid "Reset email send." +msgstr "重設郵件已送出." #: lostpassword/templates/lostpassword.php:8 -msgid "Login failed!" -msgstr "登入失敗!" +msgid "Request failed!" +msgstr "請求失敗!" #: lostpassword/templates/lostpassword.php:11 templates/installation.php:38 #: templates/login.php:20 @@ -298,19 +331,19 @@ msgstr "未發現雲" msgid "Edit categories" msgstr "編輯分類" -#: templates/edit_categories_dialog.php:14 +#: templates/edit_categories_dialog.php:16 msgid "Add" msgstr "添加" #: templates/installation.php:23 templates/installation.php:31 msgid "Security Warning" -msgstr "" +msgstr "安全性警告" #: templates/installation.php:24 msgid "" "No secure random number generator is available, please enable the PHP " "OpenSSL extension." -msgstr "" +msgstr "沒有可用的隨機數字產生器, 請啟用 PHP 中 OpenSSL 擴充功能." #: templates/installation.php:26 msgid "" @@ -372,11 +405,87 @@ msgstr "資料庫主機" msgid "Finish setup" msgstr "完成設定" -#: templates/layout.guest.php:38 +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Sunday" +msgstr "週日" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Monday" +msgstr "週一" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Tuesday" +msgstr "週二" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Wednesday" +msgstr "週三" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Thursday" +msgstr "週四" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Friday" +msgstr "週五" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "Saturday" +msgstr "週六" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "January" +msgstr "一月" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "February" +msgstr "二月" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "March" +msgstr "三月" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "April" +msgstr "四月" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "May" +msgstr "五月" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "June" +msgstr "六月" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "July" +msgstr "七月" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "August" +msgstr "八月" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "September" +msgstr "九月" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "October" +msgstr "十月" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "November" +msgstr "十一月" + +#: templates/layout.guest.php:17 templates/layout.user.php:18 +msgid "December" +msgstr "十二月" + +#: templates/layout.guest.php:42 msgid "web services under your control" msgstr "網路服務已在你控制" -#: templates/layout.user.php:34 +#: templates/layout.user.php:45 msgid "Log out" msgstr "登出" @@ -420,7 +529,7 @@ msgstr "下一頁" #: templates/verify.php:5 msgid "Security Warning!" -msgstr "" +msgstr "安全性警告!" #: templates/verify.php:6 msgid "" @@ -430,4 +539,4 @@ msgstr "" #: templates/verify.php:16 msgid "Verify" -msgstr "" +msgstr "驗證" diff --git a/l10n/zh_TW/files.po b/l10n/zh_TW/files.po index edeaac3f47040b522e14906867a621bab8620216..4e18f079575c198affffc70b4f08279c4a890d42 100644 --- a/l10n/zh_TW/files.po +++ b/l10n/zh_TW/files.po @@ -4,15 +4,16 @@ # # Translators: # Donahue Chuang , 2012. +# , 2012. # Eddy Chang , 2012. # ywang , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-09-26 13:19+0200\n" -"PO-Revision-Date: 2012-09-26 11:20+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-12-01 00:01+0100\n" +"PO-Revision-Date: 2012-11-30 23:02+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Chinese (Taiwan) (http://www.transifex.com/projects/p/owncloud/language/zh_TW/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -25,195 +26,166 @@ msgid "There is no error, the file uploaded with success" msgstr "無錯誤,檔案上傳成功" #: ajax/upload.php:21 -msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini" -msgstr "上傳的檔案超過了 php.ini 中的 upload_max_filesize 設定" +msgid "" +"The uploaded file exceeds the upload_max_filesize directive in php.ini: " +msgstr "" -#: ajax/upload.php:22 +#: ajax/upload.php:23 msgid "" "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " "the HTML form" msgstr "上傳黨案的超過 HTML 表單中指定 MAX_FILE_SIZE 限制" -#: ajax/upload.php:23 +#: ajax/upload.php:25 msgid "The uploaded file was only partially uploaded" msgstr "只有部分檔案被上傳" -#: ajax/upload.php:24 +#: ajax/upload.php:26 msgid "No file was uploaded" msgstr "無已上傳檔案" -#: ajax/upload.php:25 +#: ajax/upload.php:27 msgid "Missing a temporary folder" msgstr "遺失暫存資料夾" -#: ajax/upload.php:26 +#: ajax/upload.php:28 msgid "Failed to write to disk" msgstr "寫入硬碟失敗" -#: appinfo/app.php:6 +#: appinfo/app.php:10 msgid "Files" msgstr "檔案" -#: js/fileactions.js:108 templates/index.php:62 +#: js/fileactions.js:117 templates/index.php:83 templates/index.php:84 msgid "Unshare" -msgstr "" +msgstr "取消共享" -#: js/fileactions.js:110 templates/index.php:64 +#: js/fileactions.js:119 templates/index.php:89 templates/index.php:90 msgid "Delete" msgstr "刪除" -#: js/fileactions.js:182 +#: js/fileactions.js:181 msgid "Rename" -msgstr "" +msgstr "重新命名" -#: js/filelist.js:190 js/filelist.js:192 -msgid "already exists" -msgstr "已經存在" +#: js/filelist.js:201 js/filelist.js:203 +msgid "{new_name} already exists" +msgstr "{new_name} 已經存在" -#: js/filelist.js:190 js/filelist.js:192 +#: js/filelist.js:201 js/filelist.js:203 msgid "replace" msgstr "取代" -#: js/filelist.js:190 +#: js/filelist.js:201 msgid "suggest name" msgstr "" -#: js/filelist.js:190 js/filelist.js:192 +#: js/filelist.js:201 js/filelist.js:203 msgid "cancel" msgstr "取消" -#: js/filelist.js:239 js/filelist.js:241 -msgid "replaced" -msgstr "" +#: js/filelist.js:250 +msgid "replaced {new_name}" +msgstr "已取代 {new_name}" -#: js/filelist.js:239 js/filelist.js:241 js/filelist.js:273 js/filelist.js:275 +#: js/filelist.js:250 js/filelist.js:252 js/filelist.js:284 js/filelist.js:286 msgid "undo" -msgstr "" +msgstr "復原" + +#: js/filelist.js:252 +msgid "replaced {new_name} with {old_name}" +msgstr "使用 {new_name} 取代 {old_name}" -#: js/filelist.js:241 -msgid "with" +#: js/filelist.js:284 +msgid "unshared {files}" msgstr "" -#: js/filelist.js:273 -msgid "unshared" +#: js/filelist.js:286 +msgid "deleted {files}" msgstr "" -#: js/filelist.js:275 -msgid "deleted" +#: js/files.js:33 +msgid "" +"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not " +"allowed." msgstr "" -#: js/files.js:179 +#: js/files.js:183 msgid "generating ZIP-file, it may take some time." msgstr "產生壓縮檔, 它可能需要一段時間." -#: js/files.js:208 +#: js/files.js:218 msgid "Unable to upload your file as it is a directory or has 0 bytes" msgstr "無法上傳您的檔案因為它可能是一個目錄或檔案大小為0" -#: js/files.js:208 +#: js/files.js:218 msgid "Upload Error" msgstr "上傳發生錯誤" -#: js/files.js:236 js/files.js:341 js/files.js:371 +#: js/files.js:235 +msgid "Close" +msgstr "關閉" + +#: js/files.js:254 js/files.js:368 js/files.js:398 msgid "Pending" msgstr "" -#: js/files.js:256 +#: js/files.js:274 msgid "1 file uploading" -msgstr "" +msgstr "1 個檔案正在上傳" -#: js/files.js:259 js/files.js:304 js/files.js:319 -msgid "files uploading" -msgstr "" +#: js/files.js:277 js/files.js:331 js/files.js:346 +msgid "{count} files uploading" +msgstr "{count} 個檔案正在上傳" -#: js/files.js:322 js/files.js:355 +#: js/files.js:349 js/files.js:382 msgid "Upload cancelled." msgstr "上傳取消" -#: js/files.js:424 +#: js/files.js:451 msgid "" "File upload is in progress. Leaving the page now will cancel the upload." msgstr "檔案上傳中. 離開此頁面將會取消上傳." -#: js/files.js:494 -msgid "Invalid name, '/' is not allowed." -msgstr "無效的名稱, '/'是不被允許的" +#: js/files.js:523 +msgid "Invalid folder name. Usage of \"Shared\" is reserved by Owncloud" +msgstr "無效的資料夾名稱. \"Shared\" 名稱已被 Owncloud 所保留使用" -#: js/files.js:667 -msgid "files scanned" +#: js/files.js:704 +msgid "{count} files scanned" msgstr "" -#: js/files.js:675 +#: js/files.js:712 msgid "error while scanning" -msgstr "" +msgstr "掃描時發生錯誤" -#: js/files.js:748 templates/index.php:48 +#: js/files.js:785 templates/index.php:65 msgid "Name" msgstr "名稱" -#: js/files.js:749 templates/index.php:56 +#: js/files.js:786 templates/index.php:76 msgid "Size" msgstr "大小" -#: js/files.js:750 templates/index.php:58 +#: js/files.js:787 templates/index.php:78 msgid "Modified" msgstr "修改" -#: js/files.js:777 -msgid "folder" -msgstr "" - -#: js/files.js:779 -msgid "folders" -msgstr "" - -#: js/files.js:787 -msgid "file" -msgstr "" +#: js/files.js:814 +msgid "1 folder" +msgstr "1 個資料夾" -#: js/files.js:789 -msgid "files" -msgstr "" +#: js/files.js:816 +msgid "{count} folders" +msgstr "{count} 個資料夾" -#: js/files.js:833 -msgid "seconds ago" -msgstr "" +#: js/files.js:824 +msgid "1 file" +msgstr "1 個檔案" -#: js/files.js:834 -msgid "minute ago" -msgstr "" - -#: js/files.js:835 -msgid "minutes ago" -msgstr "" - -#: js/files.js:838 -msgid "today" -msgstr "" - -#: js/files.js:839 -msgid "yesterday" -msgstr "" - -#: js/files.js:840 -msgid "days ago" -msgstr "" - -#: js/files.js:841 -msgid "last month" -msgstr "" - -#: js/files.js:843 -msgid "months ago" -msgstr "" - -#: js/files.js:844 -msgid "last year" -msgstr "" - -#: js/files.js:845 -msgid "years ago" -msgstr "" +#: js/files.js:826 +msgid "{count} files" +msgstr "{count} 個檔案" #: templates/admin.php:5 msgid "File handling" @@ -223,80 +195,76 @@ msgstr "檔案處理" msgid "Maximum upload size" msgstr "最大上傳容量" -#: templates/admin.php:7 +#: templates/admin.php:9 msgid "max. possible: " msgstr "最大允許: " -#: templates/admin.php:9 +#: templates/admin.php:12 msgid "Needed for multi-file and folder downloads." msgstr "針對多檔案和目錄下載是必填的" -#: templates/admin.php:9 +#: templates/admin.php:14 msgid "Enable ZIP-download" msgstr "啟用 Zip 下載" -#: templates/admin.php:11 +#: templates/admin.php:17 msgid "0 is unlimited" msgstr "0代表沒有限制" -#: templates/admin.php:12 +#: templates/admin.php:19 msgid "Maximum input size for ZIP files" msgstr "針對ZIP檔案最大輸入大小" -#: templates/admin.php:14 +#: templates/admin.php:23 msgid "Save" -msgstr "" +msgstr "儲存" #: templates/index.php:7 msgid "New" msgstr "新增" -#: templates/index.php:9 +#: templates/index.php:10 msgid "Text file" msgstr "文字檔" -#: templates/index.php:10 +#: templates/index.php:12 msgid "Folder" msgstr "資料夾" -#: templates/index.php:11 -msgid "From url" -msgstr "由 url " +#: templates/index.php:14 +msgid "From link" +msgstr "" -#: templates/index.php:20 +#: templates/index.php:35 msgid "Upload" msgstr "上傳" -#: templates/index.php:27 +#: templates/index.php:43 msgid "Cancel upload" msgstr "取消上傳" -#: templates/index.php:40 +#: templates/index.php:57 msgid "Nothing in here. Upload something!" msgstr "沒有任何東西。請上傳內容!" -#: templates/index.php:50 -msgid "Share" -msgstr "分享" - -#: templates/index.php:52 +#: templates/index.php:71 msgid "Download" msgstr "下載" -#: templates/index.php:75 +#: templates/index.php:103 msgid "Upload too large" msgstr "上傳過大" -#: templates/index.php:77 +#: templates/index.php:105 msgid "" "The files you are trying to upload exceed the maximum size for file uploads " "on this server." msgstr "你試圖上傳的檔案已超過伺服器的最大容量限制。 " -#: templates/index.php:82 +#: templates/index.php:110 msgid "Files are being scanned, please wait." msgstr "正在掃描檔案,請稍等。" -#: templates/index.php:85 +#: templates/index.php:113 msgid "Current scanning" msgstr "目前掃描" diff --git a/l10n/zh_TW/files_external.po b/l10n/zh_TW/files_external.po index ee66860464bb4bede757465dc38f44ed554beefe..02bac3c88da65e68a69a1fa7da868bfcbd14d4d0 100644 --- a/l10n/zh_TW/files_external.po +++ b/l10n/zh_TW/files_external.po @@ -3,13 +3,14 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-02 23:16+0200\n" -"PO-Revision-Date: 2012-10-02 21:17+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-12-12 00:12+0100\n" +"PO-Revision-Date: 2012-12-11 23:13+0000\n" +"Last-Translator: I Robot \n" "Language-Team: Chinese (Taiwan) (http://www.transifex.com/projects/p/owncloud/language/zh_TW/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -41,66 +42,80 @@ msgstr "" msgid "Error configuring Google Drive storage" msgstr "" +#: lib/config.php:434 +msgid "" +"Warning: \"smbclient\" is not installed. Mounting of CIFS/SMB shares " +"is not possible. Please ask your system administrator to install it." +msgstr "" + +#: lib/config.php:435 +msgid "" +"Warning: The FTP support in PHP is not enabled or installed. Mounting" +" of FTP shares is not possible. Please ask your system administrator to " +"install it." +msgstr "" + #: templates/settings.php:3 msgid "External Storage" -msgstr "" +msgstr "外部儲存裝置" -#: templates/settings.php:7 templates/settings.php:19 +#: templates/settings.php:8 templates/settings.php:22 msgid "Mount point" -msgstr "" +msgstr "掛載點" -#: templates/settings.php:8 +#: templates/settings.php:9 msgid "Backend" msgstr "" -#: templates/settings.php:9 +#: templates/settings.php:10 msgid "Configuration" msgstr "" -#: templates/settings.php:10 +#: templates/settings.php:11 msgid "Options" msgstr "" -#: templates/settings.php:11 +#: templates/settings.php:12 msgid "Applicable" msgstr "" -#: templates/settings.php:23 +#: templates/settings.php:27 msgid "Add mount point" msgstr "" -#: templates/settings.php:54 templates/settings.php:62 +#: templates/settings.php:85 msgid "None set" -msgstr "" +msgstr "尚未設定" -#: templates/settings.php:63 +#: templates/settings.php:86 msgid "All Users" -msgstr "" +msgstr "所有使用者" -#: templates/settings.php:64 +#: templates/settings.php:87 msgid "Groups" -msgstr "" +msgstr "群組" -#: templates/settings.php:69 +#: templates/settings.php:95 msgid "Users" -msgstr "" +msgstr "使用者" -#: templates/settings.php:77 templates/settings.php:107 +#: templates/settings.php:108 templates/settings.php:109 +#: templates/settings.php:149 templates/settings.php:150 msgid "Delete" -msgstr "" +msgstr "刪除" -#: templates/settings.php:87 +#: templates/settings.php:124 msgid "Enable User External Storage" msgstr "" -#: templates/settings.php:88 +#: templates/settings.php:125 msgid "Allow users to mount their own external storage" msgstr "" -#: templates/settings.php:99 +#: templates/settings.php:139 msgid "SSL root certificates" msgstr "" -#: templates/settings.php:113 +#: templates/settings.php:158 msgid "Import Root Certificate" -msgstr "" +msgstr "匯入根憑證" diff --git a/l10n/zh_TW/files_pdfviewer.po b/l10n/zh_TW/files_pdfviewer.po deleted file mode 100644 index 9bccfd7d921d975494ec9e4ff19eaf5c43332387..0000000000000000000000000000000000000000 --- a/l10n/zh_TW/files_pdfviewer.po +++ /dev/null @@ -1,42 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 02:18+0200\n" -"PO-Revision-Date: 2012-08-26 00:19+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Chinese (Taiwan) (http://www.transifex.com/projects/p/owncloud/language/zh_TW/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: zh_TW\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: js/viewer.js:22 -msgid "Previous" -msgstr "" - -#: js/viewer.js:23 -msgid "Next" -msgstr "" - -#: js/viewer.js:29 -msgid "Page Width" -msgstr "" - -#: js/viewer.js:29 -msgid "Page Fit" -msgstr "" - -#: js/viewer.js:30 -msgid "Print" -msgstr "" - -#: js/viewer.js:32 -msgid "Download" -msgstr "" diff --git a/l10n/zh_TW/files_sharing.po b/l10n/zh_TW/files_sharing.po index 8db01e4d10823ebf066636b31c7379664f4e2b8d..01ec04db5b4c09c7b9f7424c2b33663a88ec2c1f 100644 --- a/l10n/zh_TW/files_sharing.po +++ b/l10n/zh_TW/files_sharing.po @@ -3,14 +3,15 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# , 2012. # , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-09-22 01:14+0200\n" -"PO-Revision-Date: 2012-09-21 23:15+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-11-28 00:10+0100\n" +"PO-Revision-Date: 2012-11-27 14:28+0000\n" +"Last-Translator: dw4dev \n" "Language-Team: Chinese (Taiwan) (http://www.transifex.com/projects/p/owncloud/language/zh_TW/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -26,24 +27,24 @@ msgstr "密碼" msgid "Submit" msgstr "送出" -#: templates/public.php:9 +#: templates/public.php:17 #, php-format msgid "%s shared the folder %s with you" -msgstr "" +msgstr "%s 分享了資料夾 %s 給您" -#: templates/public.php:11 +#: templates/public.php:19 #, php-format msgid "%s shared the file %s with you" -msgstr "" +msgstr "%s 分享了檔案 %s 給您" -#: templates/public.php:14 templates/public.php:30 +#: templates/public.php:22 templates/public.php:38 msgid "Download" msgstr "下載" -#: templates/public.php:29 +#: templates/public.php:37 msgid "No preview available for" msgstr "無法預覽" -#: templates/public.php:37 +#: templates/public.php:43 msgid "web services under your control" msgstr "" diff --git a/l10n/zh_TW/files_texteditor.po b/l10n/zh_TW/files_texteditor.po deleted file mode 100644 index e57c25f2796d053cc4251fea29cccf3288f0daaa..0000000000000000000000000000000000000000 --- a/l10n/zh_TW/files_texteditor.po +++ /dev/null @@ -1,44 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 01:17+0200\n" -"PO-Revision-Date: 2012-08-25 23:18+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Chinese (Taiwan) (http://www.transifex.com/projects/p/owncloud/language/zh_TW/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: zh_TW\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: js/aceeditor/mode-coldfusion-uncompressed.js:1568 -#: js/aceeditor/mode-liquid-uncompressed.js:902 -#: js/aceeditor/mode-svg-uncompressed.js:1575 -msgid "regex" -msgstr "" - -#: js/editor.js:72 js/editor.js:156 js/editor.js:163 -msgid "Save" -msgstr "" - -#: js/editor.js:74 -msgid "Close" -msgstr "" - -#: js/editor.js:149 -msgid "Saving..." -msgstr "" - -#: js/editor.js:239 -msgid "An error occurred!" -msgstr "" - -#: js/editor.js:266 -msgid "There were unsaved changes, click here to go back" -msgstr "" diff --git a/l10n/zh_TW/files_versions.po b/l10n/zh_TW/files_versions.po index ed8a55656760411be88959f5097282346638a756..de8f14754433e261c559ee5b6647f53c826590e8 100644 --- a/l10n/zh_TW/files_versions.po +++ b/l10n/zh_TW/files_versions.po @@ -3,13 +3,14 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-09-22 01:14+0200\n" -"PO-Revision-Date: 2012-09-21 23:15+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-11-29 00:04+0100\n" +"PO-Revision-Date: 2012-11-28 01:33+0000\n" +"Last-Translator: dw4dev \n" "Language-Team: Chinese (Taiwan) (http://www.transifex.com/projects/p/owncloud/language/zh_TW/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -19,15 +20,15 @@ msgstr "" #: js/settings-personal.js:31 templates/settings-personal.php:10 msgid "Expire all versions" -msgstr "" +msgstr "所有逾期的版本" #: js/versions.js:16 msgid "History" -msgstr "" +msgstr "歷史" #: templates/settings-personal.php:4 msgid "Versions" -msgstr "" +msgstr "版本" #: templates/settings-personal.php:7 msgid "This will delete all existing backup versions of your files" @@ -35,8 +36,8 @@ msgstr "" #: templates/settings.php:3 msgid "Files Versioning" -msgstr "" +msgstr "檔案版本化中..." #: templates/settings.php:4 msgid "Enable" -msgstr "" +msgstr "啟用" diff --git a/l10n/zh_TW/gallery.po b/l10n/zh_TW/gallery.po deleted file mode 100644 index 6f7fa99d1ef398301eb077d7644190bea33ba0d7..0000000000000000000000000000000000000000 --- a/l10n/zh_TW/gallery.po +++ /dev/null @@ -1,95 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Donahue Chuang , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-06-06 00:12+0200\n" -"PO-Revision-Date: 2012-06-05 22:15+0000\n" -"Last-Translator: icewind \n" -"Language-Team: Chinese (Taiwan) (http://www.transifex.net/projects/p/owncloud/language/zh_TW/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: zh_TW\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: appinfo/app.php:37 -msgid "Pictures" -msgstr "圖片" - -#: js/album_cover.js:44 -msgid "Share gallery" -msgstr "" - -#: js/album_cover.js:64 js/album_cover.js:100 js/album_cover.js:133 -msgid "Error: " -msgstr "" - -#: js/album_cover.js:64 js/album_cover.js:100 -msgid "Internal error" -msgstr "" - -#: js/album_cover.js:114 -msgid "Scanning root" -msgstr "" - -#: js/album_cover.js:115 -msgid "Default order" -msgstr "" - -#: js/album_cover.js:116 -msgid "Ascending" -msgstr "" - -#: js/album_cover.js:116 -msgid "Descending" -msgstr "" - -#: js/album_cover.js:117 templates/index.php:19 -msgid "Settings" -msgstr "設定" - -#: js/album_cover.js:122 -msgid "Scanning root cannot be empty" -msgstr "" - -#: js/album_cover.js:122 js/album_cover.js:133 -msgid "Error" -msgstr "" - -#: templates/index.php:16 -msgid "Rescan" -msgstr "重新掃描" - -#: templates/index.php:17 -msgid "Stop" -msgstr "停止" - -#: templates/index.php:18 -msgid "Share" -msgstr "分享" - -#: templates/view_album.php:19 -msgid "Back" -msgstr "返回" - -#: templates/view_album.php:36 -msgid "Remove confirmation" -msgstr "移除確認" - -#: templates/view_album.php:37 -msgid "Do you want to remove album" -msgstr "你確定要移除相簿嗎" - -#: templates/view_album.php:40 -msgid "Change album name" -msgstr "變更相簿名稱" - -#: templates/view_album.php:43 -msgid "New album name" -msgstr "新相簿名稱" diff --git a/l10n/zh_TW/impress.po b/l10n/zh_TW/impress.po deleted file mode 100644 index c7925b09e306a878b9771571b29afa9658ad12f9..0000000000000000000000000000000000000000 --- a/l10n/zh_TW/impress.po +++ /dev/null @@ -1,22 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 01:17+0200\n" -"PO-Revision-Date: 2012-08-25 23:18+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Chinese (Taiwan) (http://www.transifex.com/projects/p/owncloud/language/zh_TW/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: zh_TW\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: templates/presentations.php:7 -msgid "Documentation" -msgstr "" diff --git a/l10n/zh_TW/lib.po b/l10n/zh_TW/lib.po index 7e0c4b47b6474a8574b63ecde38255a0fca2f784..2bc0c14b6c027aa6cde0a0c3ee3bf9685847cd79 100644 --- a/l10n/zh_TW/lib.po +++ b/l10n/zh_TW/lib.po @@ -3,59 +3,60 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# , 2012. # , 2012. # ywang , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-09-02 02:01+0200\n" -"PO-Revision-Date: 2012-09-01 13:47+0000\n" -"Last-Translator: ywang \n" +"POT-Creation-Date: 2012-11-27 00:10+0100\n" +"PO-Revision-Date: 2012-11-26 09:03+0000\n" +"Last-Translator: sofiasu \n" "Language-Team: Chinese (Taiwan) (http://www.transifex.com/projects/p/owncloud/language/zh_TW/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: zh_TW\n" -"Plural-Forms: nplurals=1; plural=0\n" +"Plural-Forms: nplurals=1; plural=0;\n" -#: app.php:288 +#: app.php:285 msgid "Help" msgstr "說明" -#: app.php:295 +#: app.php:292 msgid "Personal" msgstr "個人" -#: app.php:300 +#: app.php:297 msgid "Settings" msgstr "設定" -#: app.php:305 +#: app.php:302 msgid "Users" msgstr "使用者" -#: app.php:312 +#: app.php:309 msgid "Apps" msgstr "應用程式" -#: app.php:314 +#: app.php:311 msgid "Admin" msgstr "管理" -#: files.php:280 +#: files.php:361 msgid "ZIP download is turned off." msgstr "ZIP 下載已關閉" -#: files.php:281 +#: files.php:362 msgid "Files need to be downloaded one by one." msgstr "檔案需要逐一下載" -#: files.php:281 files.php:306 +#: files.php:362 files.php:387 msgid "Back to Files" msgstr "回到檔案列表" -#: files.php:305 +#: files.php:386 msgid "Selected files too large to generate zip file." msgstr "選擇的檔案太大以致於無法產生壓縮檔" @@ -63,7 +64,7 @@ msgstr "選擇的檔案太大以致於無法產生壓縮檔" msgid "Application is not enabled" msgstr "應用程式未啟用" -#: json.php:39 json.php:63 json.php:75 +#: json.php:39 json.php:64 json.php:77 json.php:89 msgid "Authentication error" msgstr "認證錯誤" @@ -71,57 +72,84 @@ msgstr "認證錯誤" msgid "Token expired. Please reload page." msgstr "Token 過期. 請重新整理頁面" -#: template.php:86 +#: search/provider/file.php:17 search/provider/file.php:35 +msgid "Files" +msgstr "檔案" + +#: search/provider/file.php:26 search/provider/file.php:33 +msgid "Text" +msgstr "文字" + +#: search/provider/file.php:29 +msgid "Images" +msgstr "圖片" + +#: template.php:103 msgid "seconds ago" msgstr "幾秒前" -#: template.php:87 +#: template.php:104 msgid "1 minute ago" msgstr "1 分鐘前" -#: template.php:88 +#: template.php:105 #, php-format msgid "%d minutes ago" msgstr "%d 分鐘前" -#: template.php:91 +#: template.php:106 +msgid "1 hour ago" +msgstr "1小時之前" + +#: template.php:107 +#, php-format +msgid "%d hours ago" +msgstr "%d小時之前" + +#: template.php:108 msgid "today" msgstr "今天" -#: template.php:92 +#: template.php:109 msgid "yesterday" msgstr "昨天" -#: template.php:93 +#: template.php:110 #, php-format msgid "%d days ago" msgstr "%d 天前" -#: template.php:94 +#: template.php:111 msgid "last month" msgstr "上個月" -#: template.php:95 -msgid "months ago" -msgstr "幾個月前" +#: template.php:112 +#, php-format +msgid "%d months ago" +msgstr "%d個月之前" -#: template.php:96 +#: template.php:113 msgid "last year" msgstr "去年" -#: template.php:97 +#: template.php:114 msgid "years ago" msgstr "幾年前" -#: updater.php:66 +#: updater.php:75 #, php-format msgid "%s is available. Get more information" msgstr "%s 已經可用. 取得 更多資訊" -#: updater.php:68 +#: updater.php:77 msgid "up to date" msgstr "最新的" -#: updater.php:71 +#: updater.php:80 msgid "updates check is disabled" msgstr "檢查更新已停用" + +#: vcategories.php:188 vcategories.php:249 +#, php-format +msgid "Could not find category \"%s\"" +msgstr "找不到分類-\"%s\"" diff --git a/l10n/zh_TW/media.po b/l10n/zh_TW/media.po deleted file mode 100644 index eb9a0eb1142e2c0f7d427e824b98bc7587d1e18b..0000000000000000000000000000000000000000 --- a/l10n/zh_TW/media.po +++ /dev/null @@ -1,67 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -# Donahue Chuang , 2012. -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-06-06 00:12+0200\n" -"PO-Revision-Date: 2012-06-05 22:15+0000\n" -"Last-Translator: icewind \n" -"Language-Team: Chinese (Taiwan) (http://www.transifex.net/projects/p/owncloud/language/zh_TW/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: zh_TW\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: appinfo/app.php:32 templates/player.php:8 -msgid "Music" -msgstr "音樂" - -#: js/music.js:18 -msgid "Add album to playlist" -msgstr "" - -#: templates/music.php:3 templates/player.php:12 -msgid "Play" -msgstr "播放" - -#: templates/music.php:4 templates/music.php:26 templates/player.php:13 -msgid "Pause" -msgstr "暫停" - -#: templates/music.php:5 -msgid "Previous" -msgstr "上一首" - -#: templates/music.php:6 templates/player.php:14 -msgid "Next" -msgstr "下一首" - -#: templates/music.php:7 -msgid "Mute" -msgstr "靜音" - -#: templates/music.php:8 -msgid "Unmute" -msgstr "取消靜音" - -#: templates/music.php:25 -msgid "Rescan Collection" -msgstr "重新掃描收藏" - -#: templates/music.php:37 -msgid "Artist" -msgstr "藝人" - -#: templates/music.php:38 -msgid "Album" -msgstr "專輯" - -#: templates/music.php:39 -msgid "Title" -msgstr "標題" diff --git a/l10n/zh_TW/settings.po b/l10n/zh_TW/settings.po index 721a0ee82c3d8f00a6f3779bfa61b115cf868c79..cc8fc8f62b29bb1ad4b3c1e1633207349e60a7fd 100644 --- a/l10n/zh_TW/settings.po +++ b/l10n/zh_TW/settings.po @@ -4,6 +4,8 @@ # # Translators: # Donahue Chuang , 2012. +# , 2012. +# , 2012. # , 2012. # , 2012. # ywang , 2012. @@ -11,9 +13,9 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-10-09 02:03+0200\n" -"PO-Revision-Date: 2012-10-09 00:04+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-12-03 00:04+0100\n" +"PO-Revision-Date: 2012-12-02 03:18+0000\n" +"Last-Translator: dw4dev \n" "Language-Team: Chinese (Taiwan) (http://www.transifex.com/projects/p/owncloud/language/zh_TW/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -21,70 +23,73 @@ msgstr "" "Language: zh_TW\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: ajax/apps/ocs.php:23 +#: ajax/apps/ocs.php:20 msgid "Unable to load list from App Store" msgstr "無法從 App Store 讀取清單" -#: ajax/creategroup.php:9 ajax/removeuser.php:13 ajax/setquota.php:18 -#: ajax/togglegroups.php:15 -msgid "Authentication error" -msgstr "認證錯誤" - -#: ajax/creategroup.php:19 +#: ajax/creategroup.php:10 msgid "Group already exists" msgstr "群組已存在" -#: ajax/creategroup.php:28 +#: ajax/creategroup.php:19 msgid "Unable to add group" msgstr "群組增加失敗" -#: ajax/enableapp.php:14 +#: ajax/enableapp.php:12 msgid "Could not enable app. " -msgstr "" +msgstr "未能啟動此app" -#: ajax/lostpassword.php:14 +#: ajax/lostpassword.php:12 msgid "Email saved" msgstr "Email已儲存" -#: ajax/lostpassword.php:16 +#: ajax/lostpassword.php:14 msgid "Invalid email" msgstr "無效的email" -#: ajax/openid.php:16 +#: ajax/openid.php:13 msgid "OpenID Changed" msgstr "OpenID 已變更" -#: ajax/openid.php:18 ajax/setlanguage.php:20 ajax/setlanguage.php:23 +#: ajax/openid.php:15 ajax/setlanguage.php:17 ajax/setlanguage.php:20 msgid "Invalid request" msgstr "無效請求" -#: ajax/removegroup.php:16 +#: ajax/removegroup.php:13 msgid "Unable to delete group" msgstr "群組刪除錯誤" -#: ajax/removeuser.php:22 +#: ajax/removeuser.php:15 ajax/setquota.php:15 ajax/togglegroups.php:18 +msgid "Authentication error" +msgstr "認證錯誤" + +#: ajax/removeuser.php:24 msgid "Unable to delete user" msgstr "使用者刪除錯誤" -#: ajax/setlanguage.php:18 +#: ajax/setlanguage.php:15 msgid "Language changed" msgstr "語言已變更" -#: ajax/togglegroups.php:25 +#: ajax/togglegroups.php:12 +msgid "Admins can't remove themself from the admin group" +msgstr "管理者帳號無法從管理者群組中移除" + +#: ajax/togglegroups.php:28 #, php-format msgid "Unable to add user to group %s" msgstr "使用者加入群組%s錯誤" -#: ajax/togglegroups.php:31 +#: ajax/togglegroups.php:34 #, php-format msgid "Unable to remove user from group %s" msgstr "使用者移出群組%s錯誤" -#: js/apps.js:28 js/apps.js:65 +#: js/apps.js:28 js/apps.js:67 msgid "Disable" msgstr "停用" -#: js/apps.js:28 js/apps.js:54 +#: js/apps.js:28 js/apps.js:55 msgid "Enable" msgstr "啟用" @@ -92,104 +97,17 @@ msgstr "啟用" msgid "Saving..." msgstr "儲存中..." -#: personal.php:47 personal.php:48 +#: personal.php:42 personal.php:43 msgid "__language_name__" msgstr "__語言_名稱__" -#: templates/admin.php:14 -msgid "Security Warning" -msgstr "安全性警告" - -#: templates/admin.php:17 -msgid "" -"Your data directory and your files are probably accessible from the " -"internet. The .htaccess file that ownCloud provides is not working. We " -"strongly suggest that you configure your webserver in a way that the data " -"directory is no longer accessible or you move the data directory outside the" -" webserver document root." -msgstr "" - -#: templates/admin.php:31 -msgid "Cron" -msgstr "定期執行" - -#: templates/admin.php:37 -msgid "Execute one task with each page loaded" -msgstr "" - -#: templates/admin.php:43 -msgid "" -"cron.php is registered at a webcron service. Call the cron.php page in the " -"owncloud root once a minute over http." -msgstr "" - -#: templates/admin.php:49 -msgid "" -"Use systems cron service. Call the cron.php file in the owncloud folder via " -"a system cronjob once a minute." -msgstr "" - -#: templates/admin.php:56 -msgid "Sharing" -msgstr "" - -#: templates/admin.php:61 -msgid "Enable Share API" -msgstr "" - -#: templates/admin.php:62 -msgid "Allow apps to use the Share API" -msgstr "" - -#: templates/admin.php:67 -msgid "Allow links" -msgstr "允許連結" - -#: templates/admin.php:68 -msgid "Allow users to share items to the public with links" -msgstr "允許使用者以結連公開分享檔案" - -#: templates/admin.php:73 -msgid "Allow resharing" -msgstr "允許轉貼分享" - -#: templates/admin.php:74 -msgid "Allow users to share items shared with them again" -msgstr "允許使用者轉貼共享檔案" - -#: templates/admin.php:79 -msgid "Allow users to share with anyone" -msgstr "允許使用者公開分享" - -#: templates/admin.php:81 -msgid "Allow users to only share with users in their groups" -msgstr "僅允許使用者在群組內分享" - -#: templates/admin.php:88 -msgid "Log" -msgstr "紀錄" - -#: templates/admin.php:116 -msgid "More" -msgstr "更多" - -#: templates/admin.php:124 -msgid "" -"Developed by the ownCloud community, the source code is " -"licensed under the AGPL." -msgstr "" - #: templates/apps.php:10 msgid "Add your App" msgstr "添加你的 App" #: templates/apps.php:11 msgid "More Apps" -msgstr "" +msgstr "更多Apps" #: templates/apps.php:27 msgid "Select an App" @@ -201,7 +119,7 @@ msgstr "查看應用程式頁面於 apps.owncloud.com" #: templates/apps.php:32 msgid "-licensed by " -msgstr "" +msgstr "-核准: " #: templates/help.php:9 msgid "Documentation" @@ -215,22 +133,22 @@ msgstr "管理大檔案" msgid "Ask a question" msgstr "提問" -#: templates/help.php:23 +#: templates/help.php:22 msgid "Problems connecting to help database." -msgstr "連接到求助資料庫發生問題" +msgstr "連接到求助資料庫時發生問題" -#: templates/help.php:24 +#: templates/help.php:23 msgid "Go there manually." msgstr "手動前往" -#: templates/help.php:32 +#: templates/help.php:31 msgid "Answer" msgstr "答案" #: templates/personal.php:8 #, php-format -msgid "You have used %s of the available %s" -msgstr "" +msgid "You have used %s of the available %s" +msgstr "您已經使用了 %s ,目前可用空間為 %s" #: templates/personal.php:12 msgid "Desktop and Mobile Syncing Clients" @@ -242,7 +160,7 @@ msgstr "下載" #: templates/personal.php:19 msgid "Your password was changed" -msgstr "" +msgstr "你的密碼已更改" #: templates/personal.php:20 msgid "Unable to change your password" @@ -288,6 +206,16 @@ msgstr "幫助翻譯" msgid "use this address to connect to your ownCloud in your file manager" msgstr "使用這個位址去連接到你的私有雲檔案管理員" +#: templates/personal.php:61 +msgid "" +"Developed by the ownCloud community, the source code is " +"licensed under the AGPL." +msgstr "由ownCloud 社區開發,源代碼AGPL許可證下發布。" + #: templates/users.php:21 templates/users.php:76 msgid "Name" msgstr "名稱" diff --git a/l10n/zh_TW/tasks.po b/l10n/zh_TW/tasks.po deleted file mode 100644 index 10432eca2dfb9595bf1b96f0d73eabb3996a6a0b..0000000000000000000000000000000000000000 --- a/l10n/zh_TW/tasks.po +++ /dev/null @@ -1,106 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:44+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Chinese (Taiwan) (http://www.transifex.com/projects/p/owncloud/language/zh_TW/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: zh_TW\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: ajax/update_property.php:51 lib/app.php:89 lib/app.php:101 -msgid "Invalid date/time" -msgstr "" - -#: appinfo/app.php:11 -msgid "Tasks" -msgstr "" - -#: js/tasks.js:415 -msgid "No category" -msgstr "" - -#: lib/app.php:33 -msgid "Unspecified" -msgstr "" - -#: lib/app.php:34 -msgid "1=highest" -msgstr "" - -#: lib/app.php:38 -msgid "5=medium" -msgstr "" - -#: lib/app.php:42 -msgid "9=lowest" -msgstr "" - -#: lib/app.php:81 -msgid "Empty Summary" -msgstr "" - -#: lib/app.php:93 -msgid "Invalid percent complete" -msgstr "" - -#: lib/app.php:107 -msgid "Invalid priority" -msgstr "" - -#: templates/tasks.php:3 -msgid "Add Task" -msgstr "" - -#: templates/tasks.php:4 -msgid "Order Due" -msgstr "" - -#: templates/tasks.php:5 -msgid "Order List" -msgstr "" - -#: templates/tasks.php:6 -msgid "Order Complete" -msgstr "" - -#: templates/tasks.php:7 -msgid "Order Location" -msgstr "" - -#: templates/tasks.php:8 -msgid "Order Priority" -msgstr "" - -#: templates/tasks.php:9 -msgid "Order Label" -msgstr "" - -#: templates/tasks.php:16 -msgid "Loading tasks..." -msgstr "" - -#: templates/tasks.php:20 -msgid "Important" -msgstr "" - -#: templates/tasks.php:23 -msgid "More" -msgstr "" - -#: templates/tasks.php:26 -msgid "Less" -msgstr "" - -#: templates/tasks.php:29 -msgid "Delete" -msgstr "" diff --git a/l10n/zh_TW/user_ldap.po b/l10n/zh_TW/user_ldap.po index f57f67dde9eaef806f6f0d7b7d6c792f8ea993ea..ca4a4be144c0f1b4fcfd9e1757f31444ecae54eb 100644 --- a/l10n/zh_TW/user_ldap.po +++ b/l10n/zh_TW/user_ldap.po @@ -3,19 +3,20 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-29 02:01+0200\n" -"PO-Revision-Date: 2012-08-29 00:03+0000\n" -"Last-Translator: I Robot \n" +"POT-Creation-Date: 2012-11-28 00:10+0100\n" +"PO-Revision-Date: 2012-11-27 14:32+0000\n" +"Last-Translator: dw4dev \n" "Language-Team: Chinese (Taiwan) (http://www.transifex.com/projects/p/owncloud/language/zh_TW/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: zh_TW\n" -"Plural-Forms: nplurals=1; plural=0\n" +"Plural-Forms: nplurals=1; plural=0;\n" #: templates/settings.php:8 msgid "Host" @@ -47,7 +48,7 @@ msgstr "" #: templates/settings.php:11 msgid "Password" -msgstr "" +msgstr "密碼" #: templates/settings.php:11 msgid "For anonymous access, leave DN and Password empty." @@ -111,7 +112,7 @@ msgstr "" #: templates/settings.php:21 msgid "Use TLS" -msgstr "" +msgstr "使用TLS" #: templates/settings.php:21 msgid "Do not use it for SSL connections, it will fail." @@ -123,7 +124,7 @@ msgstr "" #: templates/settings.php:23 msgid "Turn off SSL certificate validation." -msgstr "" +msgstr "關閉 SSL 憑證驗證" #: templates/settings.php:23 msgid "" @@ -167,4 +168,4 @@ msgstr "" #: templates/settings.php:32 msgid "Help" -msgstr "" +msgstr "說明" diff --git a/l10n/zh_TW/user_migrate.po b/l10n/zh_TW/user_migrate.po deleted file mode 100644 index 005fbe5e715f0af1e4e35272e18d582495da2e84..0000000000000000000000000000000000000000 --- a/l10n/zh_TW/user_migrate.po +++ /dev/null @@ -1,51 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:45+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Chinese (Taiwan) (http://www.transifex.com/projects/p/owncloud/language/zh_TW/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: zh_TW\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: js/export.js:14 js/export.js:20 -msgid "Export" -msgstr "" - -#: js/export.js:19 -msgid "Something went wrong while the export file was being generated" -msgstr "" - -#: js/export.js:19 -msgid "An error has occurred" -msgstr "" - -#: templates/settings.php:2 -msgid "Export your user account" -msgstr "" - -#: templates/settings.php:3 -msgid "" -"This will create a compressed file that contains your ownCloud account." -msgstr "" - -#: templates/settings.php:13 -msgid "Import user account" -msgstr "" - -#: templates/settings.php:15 -msgid "ownCloud User Zip" -msgstr "" - -#: templates/settings.php:17 -msgid "Import" -msgstr "" diff --git a/l10n/zh_TW/user_openid.po b/l10n/zh_TW/user_openid.po deleted file mode 100644 index ca26a19dbf317e2923d51fcaacad68e5cde2fa84..0000000000000000000000000000000000000000 --- a/l10n/zh_TW/user_openid.po +++ /dev/null @@ -1,54 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# -# Translators: -msgid "" -msgstr "" -"Project-Id-Version: ownCloud\n" -"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-13 23:12+0200\n" -"PO-Revision-Date: 2012-08-12 22:45+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Chinese (Taiwan) (http://www.transifex.com/projects/p/owncloud/language/zh_TW/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: zh_TW\n" -"Plural-Forms: nplurals=1; plural=0\n" - -#: templates/nomode.php:12 -msgid "This is an OpenID server endpoint. For more information, see " -msgstr "" - -#: templates/nomode.php:14 -msgid "Identity: " -msgstr "" - -#: templates/nomode.php:15 -msgid "Realm: " -msgstr "" - -#: templates/nomode.php:16 -msgid "User: " -msgstr "" - -#: templates/nomode.php:17 -msgid "Login" -msgstr "" - -#: templates/nomode.php:22 -msgid "Error: No user Selected" -msgstr "" - -#: templates/settings.php:4 -msgid "you can authenticate to other sites with this address" -msgstr "" - -#: templates/settings.php:5 -msgid "Authorized OpenID provider" -msgstr "" - -#: templates/settings.php:6 -msgid "Your address at Wordpress, Identi.ca, …" -msgstr "" diff --git a/l10n/zh_TW/files_odfviewer.po b/l10n/zh_TW/user_webdavauth.po similarity index 62% rename from l10n/zh_TW/files_odfviewer.po rename to l10n/zh_TW/user_webdavauth.po index 2327d1c14a076e0a2f6448f92a1d0059906b8ddb..5a191f76b2b1849982f20d4e581f0f64b32709b2 100644 --- a/l10n/zh_TW/files_odfviewer.po +++ b/l10n/zh_TW/user_webdavauth.po @@ -3,20 +3,21 @@ # This file is distributed under the same license as the PACKAGE package. # # Translators: +# , 2012. msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 02:18+0200\n" -"PO-Revision-Date: 2012-08-26 00:19+0000\n" -"Last-Translator: FULL NAME \n" +"POT-Creation-Date: 2012-11-27 00:10+0100\n" +"PO-Revision-Date: 2012-11-26 09:00+0000\n" +"Last-Translator: sofiasu \n" "Language-Team: Chinese (Taiwan) (http://www.transifex.com/projects/p/owncloud/language/zh_TW/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: zh_TW\n" -"Plural-Forms: nplurals=1; plural=0\n" +"Plural-Forms: nplurals=1; plural=0;\n" -#: js/viewer.js:9 -msgid "Close" -msgstr "" +#: templates/settings.php:4 +msgid "WebDAV URL: http://" +msgstr "WebDAV 網址 http://" diff --git a/l10n/zu_ZA/core.po b/l10n/zu_ZA/core.po new file mode 100644 index 0000000000000000000000000000000000000000..f754fe7ccdf5ca285c68de3f8f3e9bc990e2e4aa --- /dev/null +++ b/l10n/zu_ZA/core.po @@ -0,0 +1,539 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: ownCloud\n" +"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" +"POT-Creation-Date: 2012-11-16 00:02+0100\n" +"PO-Revision-Date: 2012-11-14 23:13+0000\n" +"Last-Translator: I Robot \n" +"Language-Team: Zulu (South Africa) (http://www.transifex.com/projects/p/owncloud/language/zu_ZA/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: zu_ZA\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ajax/vcategories/add.php:26 ajax/vcategories/edit.php:25 +msgid "Category type not provided." +msgstr "" + +#: ajax/vcategories/add.php:30 +msgid "No category to add?" +msgstr "" + +#: ajax/vcategories/add.php:37 +msgid "This category already exists: " +msgstr "" + +#: ajax/vcategories/addToFavorites.php:26 ajax/vcategories/delete.php:27 +#: ajax/vcategories/favorites.php:24 +#: ajax/vcategories/removeFromFavorites.php:26 +msgid "Object type not provided." +msgstr "" + +#: ajax/vcategories/addToFavorites.php:30 +#: ajax/vcategories/removeFromFavorites.php:30 +#, php-format +msgid "%s ID not provided." +msgstr "" + +#: ajax/vcategories/addToFavorites.php:35 +#, php-format +msgid "Error adding %s to favorites." +msgstr "" + +#: ajax/vcategories/delete.php:35 js/oc-vcategories.js:136 +msgid "No categories selected for deletion." +msgstr "" + +#: ajax/vcategories/removeFromFavorites.php:35 +#, php-format +msgid "Error removing %s from favorites." +msgstr "" + +#: js/js.js:243 templates/layout.user.php:59 templates/layout.user.php:60 +msgid "Settings" +msgstr "" + +#: js/js.js:688 +msgid "seconds ago" +msgstr "" + +#: js/js.js:689 +msgid "1 minute ago" +msgstr "" + +#: js/js.js:690 +msgid "{minutes} minutes ago" +msgstr "" + +#: js/js.js:691 +msgid "1 hour ago" +msgstr "" + +#: js/js.js:692 +msgid "{hours} hours ago" +msgstr "" + +#: js/js.js:693 +msgid "today" +msgstr "" + +#: js/js.js:694 +msgid "yesterday" +msgstr "" + +#: js/js.js:695 +msgid "{days} days ago" +msgstr "" + +#: js/js.js:696 +msgid "last month" +msgstr "" + +#: js/js.js:697 +msgid "{months} months ago" +msgstr "" + +#: js/js.js:698 +msgid "months ago" +msgstr "" + +#: js/js.js:699 +msgid "last year" +msgstr "" + +#: js/js.js:700 +msgid "years ago" +msgstr "" + +#: js/oc-dialogs.js:126 +msgid "Choose" +msgstr "" + +#: js/oc-dialogs.js:146 js/oc-dialogs.js:166 +msgid "Cancel" +msgstr "" + +#: js/oc-dialogs.js:162 +msgid "No" +msgstr "" + +#: js/oc-dialogs.js:163 +msgid "Yes" +msgstr "" + +#: js/oc-dialogs.js:180 +msgid "Ok" +msgstr "" + +#: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102 +#: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162 +msgid "The object type is not specified." +msgstr "" + +#: js/oc-vcategories.js:95 js/oc-vcategories.js:125 js/oc-vcategories.js:136 +#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:525 +#: js/share.js:537 +msgid "Error" +msgstr "" + +#: js/oc-vcategories.js:179 +msgid "The app name is not specified." +msgstr "" + +#: js/oc-vcategories.js:194 +msgid "The required file {file} is not installed!" +msgstr "" + +#: js/share.js:124 +msgid "Error while sharing" +msgstr "" + +#: js/share.js:135 +msgid "Error while unsharing" +msgstr "" + +#: js/share.js:142 +msgid "Error while changing permissions" +msgstr "" + +#: js/share.js:151 +msgid "Shared with you and the group {group} by {owner}" +msgstr "" + +#: js/share.js:153 +msgid "Shared with you by {owner}" +msgstr "" + +#: js/share.js:158 +msgid "Share with" +msgstr "" + +#: js/share.js:163 +msgid "Share with link" +msgstr "" + +#: js/share.js:164 +msgid "Password protect" +msgstr "" + +#: js/share.js:168 templates/installation.php:42 templates/login.php:24 +#: templates/verify.php:13 +msgid "Password" +msgstr "" + +#: js/share.js:173 +msgid "Set expiration date" +msgstr "" + +#: js/share.js:174 +msgid "Expiration date" +msgstr "" + +#: js/share.js:206 +msgid "Share via email:" +msgstr "" + +#: js/share.js:208 +msgid "No people found" +msgstr "" + +#: js/share.js:235 +msgid "Resharing is not allowed" +msgstr "" + +#: js/share.js:271 +msgid "Shared in {item} with {user}" +msgstr "" + +#: js/share.js:292 +msgid "Unshare" +msgstr "" + +#: js/share.js:304 +msgid "can edit" +msgstr "" + +#: js/share.js:306 +msgid "access control" +msgstr "" + +#: js/share.js:309 +msgid "create" +msgstr "" + +#: js/share.js:312 +msgid "update" +msgstr "" + +#: js/share.js:315 +msgid "delete" +msgstr "" + +#: js/share.js:318 +msgid "share" +msgstr "" + +#: js/share.js:343 js/share.js:512 js/share.js:514 +msgid "Password protected" +msgstr "" + +#: js/share.js:525 +msgid "Error unsetting expiration date" +msgstr "" + +#: js/share.js:537 +msgid "Error setting expiration date" +msgstr "" + +#: lostpassword/controller.php:47 +msgid "ownCloud password reset" +msgstr "" + +#: lostpassword/templates/email.php:2 +msgid "Use the following link to reset your password: {link}" +msgstr "" + +#: lostpassword/templates/lostpassword.php:3 +msgid "You will receive a link to reset your password via Email." +msgstr "" + +#: lostpassword/templates/lostpassword.php:5 +msgid "Reset email send." +msgstr "" + +#: lostpassword/templates/lostpassword.php:8 +msgid "Request failed!" +msgstr "" + +#: lostpassword/templates/lostpassword.php:11 templates/installation.php:38 +#: templates/login.php:20 +msgid "Username" +msgstr "" + +#: lostpassword/templates/lostpassword.php:14 +msgid "Request reset" +msgstr "" + +#: lostpassword/templates/resetpassword.php:4 +msgid "Your password was reset" +msgstr "" + +#: lostpassword/templates/resetpassword.php:5 +msgid "To login page" +msgstr "" + +#: lostpassword/templates/resetpassword.php:8 +msgid "New password" +msgstr "" + +#: lostpassword/templates/resetpassword.php:11 +msgid "Reset password" +msgstr "" + +#: strings.php:5 +msgid "Personal" +msgstr "" + +#: strings.php:6 +msgid "Users" +msgstr "" + +#: strings.php:7 +msgid "Apps" +msgstr "" + +#: strings.php:8 +msgid "Admin" +msgstr "" + +#: strings.php:9 +msgid "Help" +msgstr "" + +#: templates/403.php:12 +msgid "Access forbidden" +msgstr "" + +#: templates/404.php:12 +msgid "Cloud not found" +msgstr "" + +#: templates/edit_categories_dialog.php:4 +msgid "Edit categories" +msgstr "" + +#: templates/edit_categories_dialog.php:16 +msgid "Add" +msgstr "" + +#: templates/installation.php:23 templates/installation.php:31 +msgid "Security Warning" +msgstr "" + +#: templates/installation.php:24 +msgid "" +"No secure random number generator is available, please enable the PHP " +"OpenSSL extension." +msgstr "" + +#: templates/installation.php:26 +msgid "" +"Without a secure random number generator an attacker may be able to predict " +"password reset tokens and take over your account." +msgstr "" + +#: templates/installation.php:32 +msgid "" +"Your data directory and your files are probably accessible from the " +"internet. The .htaccess file that ownCloud provides is not working. We " +"strongly suggest that you configure your webserver in a way that the data " +"directory is no longer accessible or you move the data directory outside the" +" webserver document root." +msgstr "" + +#: templates/installation.php:36 +msgid "Create an admin account" +msgstr "" + +#: templates/installation.php:48 +msgid "Advanced" +msgstr "" + +#: templates/installation.php:50 +msgid "Data folder" +msgstr "" + +#: templates/installation.php:57 +msgid "Configure the database" +msgstr "" + +#: templates/installation.php:62 templates/installation.php:73 +#: templates/installation.php:83 templates/installation.php:93 +msgid "will be used" +msgstr "" + +#: templates/installation.php:105 +msgid "Database user" +msgstr "" + +#: templates/installation.php:109 +msgid "Database password" +msgstr "" + +#: templates/installation.php:113 +msgid "Database name" +msgstr "" + +#: templates/installation.php:121 +msgid "Database tablespace" +msgstr "" + +#: templates/installation.php:127 +msgid "Database host" +msgstr "" + +#: templates/installation.php:132 +msgid "Finish setup" +msgstr "" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Sunday" +msgstr "" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Monday" +msgstr "" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Tuesday" +msgstr "" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Wednesday" +msgstr "" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Thursday" +msgstr "" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Friday" +msgstr "" + +#: templates/layout.guest.php:15 templates/layout.user.php:16 +msgid "Saturday" +msgstr "" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "January" +msgstr "" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "February" +msgstr "" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "March" +msgstr "" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "April" +msgstr "" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "May" +msgstr "" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "June" +msgstr "" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "July" +msgstr "" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "August" +msgstr "" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "September" +msgstr "" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "October" +msgstr "" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "November" +msgstr "" + +#: templates/layout.guest.php:16 templates/layout.user.php:17 +msgid "December" +msgstr "" + +#: templates/layout.guest.php:41 +msgid "web services under your control" +msgstr "" + +#: templates/layout.user.php:44 +msgid "Log out" +msgstr "" + +#: templates/login.php:8 +msgid "Automatic logon rejected!" +msgstr "" + +#: templates/login.php:9 +msgid "" +"If you did not change your password recently, your account may be " +"compromised!" +msgstr "" + +#: templates/login.php:10 +msgid "Please change your password to secure your account again." +msgstr "" + +#: templates/login.php:15 +msgid "Lost your password?" +msgstr "" + +#: templates/login.php:27 +msgid "remember" +msgstr "" + +#: templates/login.php:28 +msgid "Log in" +msgstr "" + +#: templates/logout.php:1 +msgid "You are logged out." +msgstr "" + +#: templates/part.pagenavi.php:3 +msgid "prev" +msgstr "" + +#: templates/part.pagenavi.php:20 +msgid "next" +msgstr "" + +#: templates/verify.php:5 +msgid "Security Warning!" +msgstr "" + +#: templates/verify.php:6 +msgid "" +"Please verify your password.
For security reasons you may be " +"occasionally asked to enter your password again." +msgstr "" + +#: templates/verify.php:16 +msgid "Verify" +msgstr "" diff --git a/l10n/zu_ZA/files.po b/l10n/zu_ZA/files.po new file mode 100644 index 0000000000000000000000000000000000000000..078ee8781efd1daabd11613c5ee5bbb8980a592f --- /dev/null +++ b/l10n/zu_ZA/files.po @@ -0,0 +1,266 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: ownCloud\n" +"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" +"POT-Creation-Date: 2012-12-01 00:01+0100\n" +"PO-Revision-Date: 2012-11-30 23:02+0000\n" +"Last-Translator: I Robot \n" +"Language-Team: Zulu (South Africa) (http://www.transifex.com/projects/p/owncloud/language/zu_ZA/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: zu_ZA\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ajax/upload.php:20 +msgid "There is no error, the file uploaded with success" +msgstr "" + +#: ajax/upload.php:21 +msgid "" +"The uploaded file exceeds the upload_max_filesize directive in php.ini: " +msgstr "" + +#: ajax/upload.php:23 +msgid "" +"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " +"the HTML form" +msgstr "" + +#: ajax/upload.php:25 +msgid "The uploaded file was only partially uploaded" +msgstr "" + +#: ajax/upload.php:26 +msgid "No file was uploaded" +msgstr "" + +#: ajax/upload.php:27 +msgid "Missing a temporary folder" +msgstr "" + +#: ajax/upload.php:28 +msgid "Failed to write to disk" +msgstr "" + +#: appinfo/app.php:10 +msgid "Files" +msgstr "" + +#: js/fileactions.js:117 templates/index.php:83 templates/index.php:84 +msgid "Unshare" +msgstr "" + +#: js/fileactions.js:119 templates/index.php:89 templates/index.php:90 +msgid "Delete" +msgstr "" + +#: js/fileactions.js:181 +msgid "Rename" +msgstr "" + +#: js/filelist.js:201 js/filelist.js:203 +msgid "{new_name} already exists" +msgstr "" + +#: js/filelist.js:201 js/filelist.js:203 +msgid "replace" +msgstr "" + +#: js/filelist.js:201 +msgid "suggest name" +msgstr "" + +#: js/filelist.js:201 js/filelist.js:203 +msgid "cancel" +msgstr "" + +#: js/filelist.js:250 +msgid "replaced {new_name}" +msgstr "" + +#: js/filelist.js:250 js/filelist.js:252 js/filelist.js:284 js/filelist.js:286 +msgid "undo" +msgstr "" + +#: js/filelist.js:252 +msgid "replaced {new_name} with {old_name}" +msgstr "" + +#: js/filelist.js:284 +msgid "unshared {files}" +msgstr "" + +#: js/filelist.js:286 +msgid "deleted {files}" +msgstr "" + +#: js/files.js:33 +msgid "" +"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not " +"allowed." +msgstr "" + +#: js/files.js:183 +msgid "generating ZIP-file, it may take some time." +msgstr "" + +#: js/files.js:218 +msgid "Unable to upload your file as it is a directory or has 0 bytes" +msgstr "" + +#: js/files.js:218 +msgid "Upload Error" +msgstr "" + +#: js/files.js:235 +msgid "Close" +msgstr "" + +#: js/files.js:254 js/files.js:368 js/files.js:398 +msgid "Pending" +msgstr "" + +#: js/files.js:274 +msgid "1 file uploading" +msgstr "" + +#: js/files.js:277 js/files.js:331 js/files.js:346 +msgid "{count} files uploading" +msgstr "" + +#: js/files.js:349 js/files.js:382 +msgid "Upload cancelled." +msgstr "" + +#: js/files.js:451 +msgid "" +"File upload is in progress. Leaving the page now will cancel the upload." +msgstr "" + +#: js/files.js:523 +msgid "Invalid folder name. Usage of \"Shared\" is reserved by Owncloud" +msgstr "" + +#: js/files.js:704 +msgid "{count} files scanned" +msgstr "" + +#: js/files.js:712 +msgid "error while scanning" +msgstr "" + +#: js/files.js:785 templates/index.php:65 +msgid "Name" +msgstr "" + +#: js/files.js:786 templates/index.php:76 +msgid "Size" +msgstr "" + +#: js/files.js:787 templates/index.php:78 +msgid "Modified" +msgstr "" + +#: js/files.js:814 +msgid "1 folder" +msgstr "" + +#: js/files.js:816 +msgid "{count} folders" +msgstr "" + +#: js/files.js:824 +msgid "1 file" +msgstr "" + +#: js/files.js:826 +msgid "{count} files" +msgstr "" + +#: templates/admin.php:5 +msgid "File handling" +msgstr "" + +#: templates/admin.php:7 +msgid "Maximum upload size" +msgstr "" + +#: templates/admin.php:9 +msgid "max. possible: " +msgstr "" + +#: templates/admin.php:12 +msgid "Needed for multi-file and folder downloads." +msgstr "" + +#: templates/admin.php:14 +msgid "Enable ZIP-download" +msgstr "" + +#: templates/admin.php:17 +msgid "0 is unlimited" +msgstr "" + +#: templates/admin.php:19 +msgid "Maximum input size for ZIP files" +msgstr "" + +#: templates/admin.php:23 +msgid "Save" +msgstr "" + +#: templates/index.php:7 +msgid "New" +msgstr "" + +#: templates/index.php:10 +msgid "Text file" +msgstr "" + +#: templates/index.php:12 +msgid "Folder" +msgstr "" + +#: templates/index.php:14 +msgid "From link" +msgstr "" + +#: templates/index.php:35 +msgid "Upload" +msgstr "" + +#: templates/index.php:43 +msgid "Cancel upload" +msgstr "" + +#: templates/index.php:57 +msgid "Nothing in here. Upload something!" +msgstr "" + +#: templates/index.php:71 +msgid "Download" +msgstr "" + +#: templates/index.php:103 +msgid "Upload too large" +msgstr "" + +#: templates/index.php:105 +msgid "" +"The files you are trying to upload exceed the maximum size for file uploads " +"on this server." +msgstr "" + +#: templates/index.php:110 +msgid "Files are being scanned, please wait." +msgstr "" + +#: templates/index.php:113 +msgid "Current scanning" +msgstr "" diff --git a/l10n/zu_ZA/files_encryption.po b/l10n/zu_ZA/files_encryption.po new file mode 100644 index 0000000000000000000000000000000000000000..eb5d7a228c6dcffcb27850d525226bf53102031a --- /dev/null +++ b/l10n/zu_ZA/files_encryption.po @@ -0,0 +1,34 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: ownCloud\n" +"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" +"POT-Creation-Date: 2012-11-06 00:00+0100\n" +"PO-Revision-Date: 2012-08-12 22:33+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Zulu (South Africa) (http://www.transifex.com/projects/p/owncloud/language/zu_ZA/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: zu_ZA\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: templates/settings.php:3 +msgid "Encryption" +msgstr "" + +#: templates/settings.php:4 +msgid "Exclude the following file types from encryption" +msgstr "" + +#: templates/settings.php:5 +msgid "None" +msgstr "" + +#: templates/settings.php:10 +msgid "Enable Encryption" +msgstr "" diff --git a/l10n/zu_ZA/files_external.po b/l10n/zu_ZA/files_external.po new file mode 100644 index 0000000000000000000000000000000000000000..c65140aefb3661478352179ccd0a1c7b912b3f5e --- /dev/null +++ b/l10n/zu_ZA/files_external.po @@ -0,0 +1,120 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: ownCloud\n" +"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" +"POT-Creation-Date: 2012-12-12 00:12+0100\n" +"PO-Revision-Date: 2012-12-11 23:13+0000\n" +"Last-Translator: I Robot \n" +"Language-Team: Zulu (South Africa) (http://www.transifex.com/projects/p/owncloud/language/zu_ZA/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: zu_ZA\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: js/dropbox.js:7 js/dropbox.js:25 js/google.js:7 js/google.js:23 +msgid "Access granted" +msgstr "" + +#: js/dropbox.js:28 js/dropbox.js:74 js/dropbox.js:79 js/dropbox.js:86 +msgid "Error configuring Dropbox storage" +msgstr "" + +#: js/dropbox.js:34 js/dropbox.js:45 js/google.js:31 js/google.js:40 +msgid "Grant access" +msgstr "" + +#: js/dropbox.js:73 js/google.js:72 +msgid "Fill out all required fields" +msgstr "" + +#: js/dropbox.js:85 +msgid "Please provide a valid Dropbox app key and secret." +msgstr "" + +#: js/google.js:26 js/google.js:73 js/google.js:78 +msgid "Error configuring Google Drive storage" +msgstr "" + +#: lib/config.php:434 +msgid "" +"Warning: \"smbclient\" is not installed. Mounting of CIFS/SMB shares " +"is not possible. Please ask your system administrator to install it." +msgstr "" + +#: lib/config.php:435 +msgid "" +"Warning: The FTP support in PHP is not enabled or installed. Mounting" +" of FTP shares is not possible. Please ask your system administrator to " +"install it." +msgstr "" + +#: templates/settings.php:3 +msgid "External Storage" +msgstr "" + +#: templates/settings.php:8 templates/settings.php:22 +msgid "Mount point" +msgstr "" + +#: templates/settings.php:9 +msgid "Backend" +msgstr "" + +#: templates/settings.php:10 +msgid "Configuration" +msgstr "" + +#: templates/settings.php:11 +msgid "Options" +msgstr "" + +#: templates/settings.php:12 +msgid "Applicable" +msgstr "" + +#: templates/settings.php:27 +msgid "Add mount point" +msgstr "" + +#: templates/settings.php:85 +msgid "None set" +msgstr "" + +#: templates/settings.php:86 +msgid "All Users" +msgstr "" + +#: templates/settings.php:87 +msgid "Groups" +msgstr "" + +#: templates/settings.php:95 +msgid "Users" +msgstr "" + +#: templates/settings.php:108 templates/settings.php:109 +#: templates/settings.php:149 templates/settings.php:150 +msgid "Delete" +msgstr "" + +#: templates/settings.php:124 +msgid "Enable User External Storage" +msgstr "" + +#: templates/settings.php:125 +msgid "Allow users to mount their own external storage" +msgstr "" + +#: templates/settings.php:139 +msgid "SSL root certificates" +msgstr "" + +#: templates/settings.php:158 +msgid "Import Root Certificate" +msgstr "" diff --git a/l10n/zu_ZA/files_sharing.po b/l10n/zu_ZA/files_sharing.po new file mode 100644 index 0000000000000000000000000000000000000000..d6c87989f1548db2b385a26df00dbd524cbc1b90 --- /dev/null +++ b/l10n/zu_ZA/files_sharing.po @@ -0,0 +1,48 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: ownCloud\n" +"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" +"POT-Creation-Date: 2012-11-06 00:00+0100\n" +"PO-Revision-Date: 2012-08-12 22:35+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Zulu (South Africa) (http://www.transifex.com/projects/p/owncloud/language/zu_ZA/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: zu_ZA\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: templates/authenticate.php:4 +msgid "Password" +msgstr "" + +#: templates/authenticate.php:6 +msgid "Submit" +msgstr "" + +#: templates/public.php:9 +#, php-format +msgid "%s shared the folder %s with you" +msgstr "" + +#: templates/public.php:11 +#, php-format +msgid "%s shared the file %s with you" +msgstr "" + +#: templates/public.php:14 templates/public.php:30 +msgid "Download" +msgstr "" + +#: templates/public.php:29 +msgid "No preview available for" +msgstr "" + +#: templates/public.php:35 +msgid "web services under your control" +msgstr "" diff --git a/l10n/zu_ZA/files_versions.po b/l10n/zu_ZA/files_versions.po new file mode 100644 index 0000000000000000000000000000000000000000..7bc842be41992a7c62d5c5d7c21833477d7069b5 --- /dev/null +++ b/l10n/zu_ZA/files_versions.po @@ -0,0 +1,42 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: ownCloud\n" +"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" +"POT-Creation-Date: 2012-11-06 00:00+0100\n" +"PO-Revision-Date: 2012-08-12 22:37+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Zulu (South Africa) (http://www.transifex.com/projects/p/owncloud/language/zu_ZA/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: zu_ZA\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: js/settings-personal.js:31 templates/settings-personal.php:10 +msgid "Expire all versions" +msgstr "" + +#: js/versions.js:16 +msgid "History" +msgstr "" + +#: templates/settings-personal.php:4 +msgid "Versions" +msgstr "" + +#: templates/settings-personal.php:7 +msgid "This will delete all existing backup versions of your files" +msgstr "" + +#: templates/settings.php:3 +msgid "Files Versioning" +msgstr "" + +#: templates/settings.php:4 +msgid "Enable" +msgstr "" diff --git a/l10n/zu_ZA/lib.po b/l10n/zu_ZA/lib.po new file mode 100644 index 0000000000000000000000000000000000000000..248d04871dac0b11db371ce0834a77548d1e94b9 --- /dev/null +++ b/l10n/zu_ZA/lib.po @@ -0,0 +1,152 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: ownCloud\n" +"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" +"POT-Creation-Date: 2012-11-16 00:02+0100\n" +"PO-Revision-Date: 2012-11-14 23:13+0000\n" +"Last-Translator: I Robot \n" +"Language-Team: Zulu (South Africa) (http://www.transifex.com/projects/p/owncloud/language/zu_ZA/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: zu_ZA\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: app.php:285 +msgid "Help" +msgstr "" + +#: app.php:292 +msgid "Personal" +msgstr "" + +#: app.php:297 +msgid "Settings" +msgstr "" + +#: app.php:302 +msgid "Users" +msgstr "" + +#: app.php:309 +msgid "Apps" +msgstr "" + +#: app.php:311 +msgid "Admin" +msgstr "" + +#: files.php:332 +msgid "ZIP download is turned off." +msgstr "" + +#: files.php:333 +msgid "Files need to be downloaded one by one." +msgstr "" + +#: files.php:333 files.php:358 +msgid "Back to Files" +msgstr "" + +#: files.php:357 +msgid "Selected files too large to generate zip file." +msgstr "" + +#: json.php:28 +msgid "Application is not enabled" +msgstr "" + +#: json.php:39 json.php:64 json.php:77 json.php:89 +msgid "Authentication error" +msgstr "" + +#: json.php:51 +msgid "Token expired. Please reload page." +msgstr "" + +#: search/provider/file.php:17 search/provider/file.php:35 +msgid "Files" +msgstr "" + +#: search/provider/file.php:26 search/provider/file.php:33 +msgid "Text" +msgstr "" + +#: search/provider/file.php:29 +msgid "Images" +msgstr "" + +#: template.php:103 +msgid "seconds ago" +msgstr "" + +#: template.php:104 +msgid "1 minute ago" +msgstr "" + +#: template.php:105 +#, php-format +msgid "%d minutes ago" +msgstr "" + +#: template.php:106 +msgid "1 hour ago" +msgstr "" + +#: template.php:107 +#, php-format +msgid "%d hours ago" +msgstr "" + +#: template.php:108 +msgid "today" +msgstr "" + +#: template.php:109 +msgid "yesterday" +msgstr "" + +#: template.php:110 +#, php-format +msgid "%d days ago" +msgstr "" + +#: template.php:111 +msgid "last month" +msgstr "" + +#: template.php:112 +#, php-format +msgid "%d months ago" +msgstr "" + +#: template.php:113 +msgid "last year" +msgstr "" + +#: template.php:114 +msgid "years ago" +msgstr "" + +#: updater.php:75 +#, php-format +msgid "%s is available. Get more information" +msgstr "" + +#: updater.php:77 +msgid "up to date" +msgstr "" + +#: updater.php:80 +msgid "updates check is disabled" +msgstr "" + +#: vcategories.php:188 vcategories.php:249 +#, php-format +msgid "Could not find category \"%s\"" +msgstr "" diff --git a/l10n/zu_ZA/settings.po b/l10n/zu_ZA/settings.po new file mode 100644 index 0000000000000000000000000000000000000000..34b89c89036c29fc1d23fd2820dd51eed681fb8c --- /dev/null +++ b/l10n/zu_ZA/settings.po @@ -0,0 +1,247 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: ownCloud\n" +"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" +"POT-Creation-Date: 2012-12-03 00:04+0100\n" +"PO-Revision-Date: 2012-12-02 03:18+0000\n" +"Last-Translator: I Robot \n" +"Language-Team: Zulu (South Africa) (http://www.transifex.com/projects/p/owncloud/language/zu_ZA/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: zu_ZA\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ajax/apps/ocs.php:20 +msgid "Unable to load list from App Store" +msgstr "" + +#: ajax/creategroup.php:10 +msgid "Group already exists" +msgstr "" + +#: ajax/creategroup.php:19 +msgid "Unable to add group" +msgstr "" + +#: ajax/enableapp.php:12 +msgid "Could not enable app. " +msgstr "" + +#: ajax/lostpassword.php:12 +msgid "Email saved" +msgstr "" + +#: ajax/lostpassword.php:14 +msgid "Invalid email" +msgstr "" + +#: ajax/openid.php:13 +msgid "OpenID Changed" +msgstr "" + +#: ajax/openid.php:15 ajax/setlanguage.php:17 ajax/setlanguage.php:20 +msgid "Invalid request" +msgstr "" + +#: ajax/removegroup.php:13 +msgid "Unable to delete group" +msgstr "" + +#: ajax/removeuser.php:15 ajax/setquota.php:15 ajax/togglegroups.php:18 +msgid "Authentication error" +msgstr "" + +#: ajax/removeuser.php:24 +msgid "Unable to delete user" +msgstr "" + +#: ajax/setlanguage.php:15 +msgid "Language changed" +msgstr "" + +#: ajax/togglegroups.php:12 +msgid "Admins can't remove themself from the admin group" +msgstr "" + +#: ajax/togglegroups.php:28 +#, php-format +msgid "Unable to add user to group %s" +msgstr "" + +#: ajax/togglegroups.php:34 +#, php-format +msgid "Unable to remove user from group %s" +msgstr "" + +#: js/apps.js:28 js/apps.js:67 +msgid "Disable" +msgstr "" + +#: js/apps.js:28 js/apps.js:55 +msgid "Enable" +msgstr "" + +#: js/personal.js:69 +msgid "Saving..." +msgstr "" + +#: personal.php:42 personal.php:43 +msgid "__language_name__" +msgstr "" + +#: templates/apps.php:10 +msgid "Add your App" +msgstr "" + +#: templates/apps.php:11 +msgid "More Apps" +msgstr "" + +#: templates/apps.php:27 +msgid "Select an App" +msgstr "" + +#: templates/apps.php:31 +msgid "See application page at apps.owncloud.com" +msgstr "" + +#: templates/apps.php:32 +msgid "-licensed by " +msgstr "" + +#: templates/help.php:9 +msgid "Documentation" +msgstr "" + +#: templates/help.php:10 +msgid "Managing Big Files" +msgstr "" + +#: templates/help.php:11 +msgid "Ask a question" +msgstr "" + +#: templates/help.php:22 +msgid "Problems connecting to help database." +msgstr "" + +#: templates/help.php:23 +msgid "Go there manually." +msgstr "" + +#: templates/help.php:31 +msgid "Answer" +msgstr "" + +#: templates/personal.php:8 +#, php-format +msgid "You have used %s of the available %s" +msgstr "" + +#: templates/personal.php:12 +msgid "Desktop and Mobile Syncing Clients" +msgstr "" + +#: templates/personal.php:13 +msgid "Download" +msgstr "" + +#: templates/personal.php:19 +msgid "Your password was changed" +msgstr "" + +#: templates/personal.php:20 +msgid "Unable to change your password" +msgstr "" + +#: templates/personal.php:21 +msgid "Current password" +msgstr "" + +#: templates/personal.php:22 +msgid "New password" +msgstr "" + +#: templates/personal.php:23 +msgid "show" +msgstr "" + +#: templates/personal.php:24 +msgid "Change password" +msgstr "" + +#: templates/personal.php:30 +msgid "Email" +msgstr "" + +#: templates/personal.php:31 +msgid "Your email address" +msgstr "" + +#: templates/personal.php:32 +msgid "Fill in an email address to enable password recovery" +msgstr "" + +#: templates/personal.php:38 templates/personal.php:39 +msgid "Language" +msgstr "" + +#: templates/personal.php:44 +msgid "Help translate" +msgstr "" + +#: templates/personal.php:51 +msgid "use this address to connect to your ownCloud in your file manager" +msgstr "" + +#: templates/personal.php:61 +msgid "" +"Developed by the ownCloud community, the source code is " +"licensed under the AGPL." +msgstr "" + +#: templates/users.php:21 templates/users.php:76 +msgid "Name" +msgstr "" + +#: templates/users.php:23 templates/users.php:77 +msgid "Password" +msgstr "" + +#: templates/users.php:26 templates/users.php:78 templates/users.php:98 +msgid "Groups" +msgstr "" + +#: templates/users.php:32 +msgid "Create" +msgstr "" + +#: templates/users.php:35 +msgid "Default Quota" +msgstr "" + +#: templates/users.php:55 templates/users.php:138 +msgid "Other" +msgstr "" + +#: templates/users.php:80 templates/users.php:112 +msgid "Group Admin" +msgstr "" + +#: templates/users.php:82 +msgid "Quota" +msgstr "" + +#: templates/users.php:146 +msgid "Delete" +msgstr "" diff --git a/l10n/zu_ZA/user_ldap.po b/l10n/zu_ZA/user_ldap.po new file mode 100644 index 0000000000000000000000000000000000000000..a4f2985ab0ee373a8e1e0cefe7bd9b49c91360fe --- /dev/null +++ b/l10n/zu_ZA/user_ldap.po @@ -0,0 +1,170 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: ownCloud\n" +"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" +"POT-Creation-Date: 2012-11-06 00:00+0100\n" +"PO-Revision-Date: 2012-08-12 22:45+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Zulu (South Africa) (http://www.transifex.com/projects/p/owncloud/language/zu_ZA/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: zu_ZA\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: templates/settings.php:8 +msgid "Host" +msgstr "" + +#: templates/settings.php:8 +msgid "" +"You can omit the protocol, except you require SSL. Then start with ldaps://" +msgstr "" + +#: templates/settings.php:9 +msgid "Base DN" +msgstr "" + +#: templates/settings.php:9 +msgid "You can specify Base DN for users and groups in the Advanced tab" +msgstr "" + +#: templates/settings.php:10 +msgid "User DN" +msgstr "" + +#: templates/settings.php:10 +msgid "" +"The DN of the client user with which the bind shall be done, e.g. " +"uid=agent,dc=example,dc=com. For anonymous access, leave DN and Password " +"empty." +msgstr "" + +#: templates/settings.php:11 +msgid "Password" +msgstr "" + +#: templates/settings.php:11 +msgid "For anonymous access, leave DN and Password empty." +msgstr "" + +#: templates/settings.php:12 +msgid "User Login Filter" +msgstr "" + +#: templates/settings.php:12 +#, php-format +msgid "" +"Defines the filter to apply, when login is attempted. %%uid replaces the " +"username in the login action." +msgstr "" + +#: templates/settings.php:12 +#, php-format +msgid "use %%uid placeholder, e.g. \"uid=%%uid\"" +msgstr "" + +#: templates/settings.php:13 +msgid "User List Filter" +msgstr "" + +#: templates/settings.php:13 +msgid "Defines the filter to apply, when retrieving users." +msgstr "" + +#: templates/settings.php:13 +msgid "without any placeholder, e.g. \"objectClass=person\"." +msgstr "" + +#: templates/settings.php:14 +msgid "Group Filter" +msgstr "" + +#: templates/settings.php:14 +msgid "Defines the filter to apply, when retrieving groups." +msgstr "" + +#: templates/settings.php:14 +msgid "without any placeholder, e.g. \"objectClass=posixGroup\"." +msgstr "" + +#: templates/settings.php:17 +msgid "Port" +msgstr "" + +#: templates/settings.php:18 +msgid "Base User Tree" +msgstr "" + +#: templates/settings.php:19 +msgid "Base Group Tree" +msgstr "" + +#: templates/settings.php:20 +msgid "Group-Member association" +msgstr "" + +#: templates/settings.php:21 +msgid "Use TLS" +msgstr "" + +#: templates/settings.php:21 +msgid "Do not use it for SSL connections, it will fail." +msgstr "" + +#: templates/settings.php:22 +msgid "Case insensitve LDAP server (Windows)" +msgstr "" + +#: templates/settings.php:23 +msgid "Turn off SSL certificate validation." +msgstr "" + +#: templates/settings.php:23 +msgid "" +"If connection only works with this option, import the LDAP server's SSL " +"certificate in your ownCloud server." +msgstr "" + +#: templates/settings.php:23 +msgid "Not recommended, use for testing only." +msgstr "" + +#: templates/settings.php:24 +msgid "User Display Name Field" +msgstr "" + +#: templates/settings.php:24 +msgid "The LDAP attribute to use to generate the user`s ownCloud name." +msgstr "" + +#: templates/settings.php:25 +msgid "Group Display Name Field" +msgstr "" + +#: templates/settings.php:25 +msgid "The LDAP attribute to use to generate the groups`s ownCloud name." +msgstr "" + +#: templates/settings.php:27 +msgid "in bytes" +msgstr "" + +#: templates/settings.php:29 +msgid "in seconds. A change empties the cache." +msgstr "" + +#: templates/settings.php:30 +msgid "" +"Leave empty for user name (default). Otherwise, specify an LDAP/AD " +"attribute." +msgstr "" + +#: templates/settings.php:32 +msgid "Help" +msgstr "" diff --git a/l10n/ar_SA/impress.po b/l10n/zu_ZA/user_webdavauth.po similarity index 58% rename from l10n/ar_SA/impress.po rename to l10n/zu_ZA/user_webdavauth.po index 5c3c10d5df46c8dc0d93b3485c617bbf9a6ac519..d6cfcb1f9a6c3da360b0e4f98ba10b0c4dddfa02 100644 --- a/l10n/ar_SA/impress.po +++ b/l10n/zu_ZA/user_webdavauth.po @@ -7,16 +7,16 @@ msgid "" msgstr "" "Project-Id-Version: ownCloud\n" "Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n" -"POT-Creation-Date: 2012-08-26 01:17+0200\n" -"PO-Revision-Date: 2012-08-25 23:18+0000\n" +"POT-Creation-Date: 2012-11-09 10:06+0100\n" +"PO-Revision-Date: 2012-11-09 09:06+0000\n" "Last-Translator: FULL NAME \n" -"Language-Team: Arabic (Saudi Arabia) (http://www.transifex.com/projects/p/owncloud/language/ar_SA/)\n" +"Language-Team: Zulu (South Africa) (http://www.transifex.com/projects/p/owncloud/language/zu_ZA/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: ar_SA\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"Language: zu_ZA\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: templates/presentations.php:7 -msgid "Documentation" +#: templates/settings.php:4 +msgid "WebDAV URL: http://" msgstr "" diff --git a/lib/MDB2/Driver/Function/sqlite3.php b/lib/MDB2/Driver/Function/sqlite3.php index 235a106e183df49f3089afe9a30135a8a48c3ccf..4147a48199f54e1bdb1e1f2cc939c3f83790d75e 100644 --- a/lib/MDB2/Driver/Function/sqlite3.php +++ b/lib/MDB2/Driver/Function/sqlite3.php @@ -92,9 +92,9 @@ class MDB2_Driver_Function_sqlite3 extends MDB2_Driver_Function_Common function substring($value, $position = 1, $length = null) { if (!is_null($length)) { - return "substr($value,$position,$length)"; + return "substr($value, $position, $length)"; } - return "substr($value,$position,length($value))"; + return "substr($value, $position, length($value))"; } // }}} diff --git a/lib/MDB2/Driver/Reverse/sqlite3.php b/lib/MDB2/Driver/Reverse/sqlite3.php index 36626478ce81d9be4918c2a699457c871cf0bee8..9703780954904d49165abd82d389f847f986f4d0 100644 --- a/lib/MDB2/Driver/Reverse/sqlite3.php +++ b/lib/MDB2/Driver/Reverse/sqlite3.php @@ -476,7 +476,7 @@ class MDB2_Driver_Reverse_sqlite3 extends MDB2_Driver_Reverse_Common $definition['unique'] = true; $count = count($column_names); for ($i=0; $i<$count; ++$i) { - $column_name = strtok($column_names[$i]," "); + $column_name = strtok($column_names[$i], " "); $collation = strtok(" "); $definition['fields'][$column_name] = array( 'position' => $i+1 diff --git a/lib/MDB2/Driver/sqlite3.php b/lib/MDB2/Driver/sqlite3.php index 9757e4faf941f4dda1737f58bccf6efdc0b3ace2..fa4c91c126993d152b1f7b0d057dd21b12a3decc 100644 --- a/lib/MDB2/Driver/sqlite3.php +++ b/lib/MDB2/Driver/sqlite3.php @@ -153,7 +153,7 @@ class MDB2_Driver_sqlite3 extends MDB2_Driver_Common if($this->connection) { return $this->connection->escapeString($text); }else{ - return str_replace("'","''",$text);//TODO; more + return str_replace("'", "''", $text);//TODO; more } } @@ -276,7 +276,7 @@ class MDB2_Driver_sqlite3 extends MDB2_Driver_Common * @access public * @since 2.1.1 */ - function setTransactionIsolation($isolation,$options=array()) + function setTransactionIsolation($isolation, $options=array()) { $this->debug('Setting transaction isolation level', __FUNCTION__, array('is_manip' => true)); switch ($isolation) { @@ -351,7 +351,7 @@ class MDB2_Driver_sqlite3 extends MDB2_Driver_Common } if ($database_file !== ':memory:') { - if(!strpos($database_file,'.db')) { + if(!strpos($database_file, '.db')) { $database_file="$datadir/$database_file.db"; } if (!file_exists($database_file)) { @@ -387,7 +387,7 @@ class MDB2_Driver_sqlite3 extends MDB2_Driver_Common $php_errormsg = ''; $this->connection = new SQLite3($database_file); - if(is_callable(array($this->connection,'busyTimeout'))) {//busy timout is only available in php>=5.3 + if(is_callable(array($this->connection, 'busyTimeout'))) {//busy timout is only available in php>=5.3 $this->connection->busyTimeout(100); } $this->_lasterror = $this->connection->lastErrorMsg(); @@ -397,8 +397,7 @@ class MDB2_Driver_sqlite3 extends MDB2_Driver_Common } if ($this->fix_assoc_fields_names || - $this->options['portability'] & MDB2_PORTABILITY_FIX_ASSOC_FIELD_NAMES) - { + $this->options['portability'] & MDB2_PORTABILITY_FIX_ASSOC_FIELD_NAMES) { $this->connection->exec("PRAGMA short_column_names = 1"); $this->fix_assoc_fields_names = true; } @@ -1142,9 +1141,9 @@ class MDB2_Statement_sqlite3 extends MDB2_Statement_Common function bindValue($parameter, $value, $type = null) { if($type) { $type=$this->getParamType($type); - $this->statement->bindValue($parameter,$value,$type); + $this->statement->bindValue($parameter, $value, $type); }else{ - $this->statement->bindValue($parameter,$value); + $this->statement->bindValue($parameter, $value); } return MDB2_OK; } @@ -1165,9 +1164,9 @@ class MDB2_Statement_sqlite3 extends MDB2_Statement_Common function bindParam($parameter, &$value, $type = null) { if($type) { $type=$this->getParamType($type); - $this->statement->bindParam($parameter,$value,$type); + $this->statement->bindParam($parameter, $value, $type); }else{ - $this->statement->bindParam($parameter,$value); + $this->statement->bindParam($parameter, $value); } return MDB2_OK; } @@ -1318,7 +1317,7 @@ class MDB2_Statement_sqlite3 extends MDB2_Statement_Common }else{ $types=null; } - $err = $this->bindValueArray($values,$types); + $err = $this->bindValueArray($values, $types); if (PEAR::isError($err)) { return $this->db->raiseError(MDB2_ERROR, null, null, 'Binding Values failed with message: ' . $err->getMessage(), __FUNCTION__); diff --git a/lib/app.php b/lib/app.php index 594f057709126a8bd43a469e9a00157d6e74c6ab..5d4fbbd9c2322420004b0282cb18a95b65f9c8d0 100755 --- a/lib/app.php +++ b/lib/app.php @@ -92,7 +92,7 @@ class OC_App{ * @param string/array $types * @return bool */ - public static function isType($app,$types) { + public static function isType($app, $types) { if(is_string($types)) { $types=array($types); } @@ -185,7 +185,7 @@ class OC_App{ }else{ $download=OC_OCSClient::getApplicationDownload($app, 1); if(isset($download['downloadlink']) and $download['downloadlink']!='') { - $app=OC_Installer::installApp(array('source'=>'http','href'=>$download['downloadlink'])); + $app=OC_Installer::installApp(array('source'=>'http', 'href'=>$download['downloadlink'])); } } } @@ -253,6 +253,8 @@ class OC_App{ * highlighting the current position of the user. */ public static function setActiveNavigationEntry( $id ) { + // load all the apps, to make sure we have all the navigation entries + self::loadApps(); self::$activeapp = $id; return true; } @@ -282,33 +284,33 @@ class OC_App{ // by default, settings only contain the help menu if(OC_Config::getValue('knowledgebaseenabled', true)==true) { $settings = array( - array( "id" => "help", "order" => 1000, "href" => OC_Helper::linkTo( "settings", "help.php" ), "name" => $l->t("Help"), "icon" => OC_Helper::imagePath( "settings", "help.svg" )) + array( "id" => "help", "order" => 1000, "href" => OC_Helper::linkToRoute( "settings_help" ), "name" => $l->t("Help"), "icon" => OC_Helper::imagePath( "settings", "help.svg" )) ); } // if the user is logged-in if (OC_User::isLoggedIn()) { // personal menu - $settings[] = array( "id" => "personal", "order" => 1, "href" => OC_Helper::linkTo( "settings", "personal.php" ), "name" => $l->t("Personal"), "icon" => OC_Helper::imagePath( "settings", "personal.svg" )); + $settings[] = array( "id" => "personal", "order" => 1, "href" => OC_Helper::linkToRoute( "settings_personal" ), "name" => $l->t("Personal"), "icon" => OC_Helper::imagePath( "settings", "personal.svg" )); // if there are some settings forms if(!empty(self::$settingsForms)) // settings menu - $settings[]=array( "id" => "settings", "order" => 1000, "href" => OC_Helper::linkTo( "settings", "settings.php" ), "name" => $l->t("Settings"), "icon" => OC_Helper::imagePath( "settings", "settings.svg" )); + $settings[]=array( "id" => "settings", "order" => 1000, "href" => OC_Helper::linkToRoute( "settings_settings" ), "name" => $l->t("Settings"), "icon" => OC_Helper::imagePath( "settings", "settings.svg" )); //SubAdmins are also allowed to access user management if(OC_SubAdmin::isSubAdmin($_SESSION["user_id"]) || OC_Group::inGroup( $_SESSION["user_id"], "admin" )) { // admin users menu - $settings[] = array( "id" => "core_users", "order" => 2, "href" => OC_Helper::linkTo( "settings", "users.php" ), "name" => $l->t("Users"), "icon" => OC_Helper::imagePath( "settings", "users.svg" )); + $settings[] = array( "id" => "core_users", "order" => 2, "href" => OC_Helper::linkToRoute( "settings_users" ), "name" => $l->t("Users"), "icon" => OC_Helper::imagePath( "settings", "users.svg" )); } // if the user is an admin if(OC_Group::inGroup( $_SESSION["user_id"], "admin" )) { // admin apps menu - $settings[] = array( "id" => "core_apps", "order" => 3, "href" => OC_Helper::linkTo( "settings", "apps.php" ).'?installed', "name" => $l->t("Apps"), "icon" => OC_Helper::imagePath( "settings", "apps.svg" )); + $settings[] = array( "id" => "core_apps", "order" => 3, "href" => OC_Helper::linkToRoute( "settings_apps" ).'?installed', "name" => $l->t("Apps"), "icon" => OC_Helper::imagePath( "settings", "apps.svg" )); - $settings[]=array( "id" => "admin", "order" => 1000, "href" => OC_Helper::linkTo( "settings", "admin.php" ), "name" => $l->t("Admin"), "icon" => OC_Helper::imagePath( "settings", "admin.svg" )); + $settings[]=array( "id" => "admin", "order" => 1000, "href" => OC_Helper::linkToRoute( "settings_admin" ), "name" => $l->t("Admin"), "icon" => OC_Helper::imagePath( "settings", "admin.svg" )); } } @@ -319,7 +321,6 @@ class OC_App{ /// This is private as well. It simply works, so don't ask for more details private static function proceedNavigation( $list ) { foreach( $list as &$naventry ) { - $naventry['subnavigation'] = array(); if( $naventry['id'] == self::$activeapp ) { $naventry['active'] = true; } @@ -390,9 +391,8 @@ class OC_App{ */ public static function getAppVersion($appid) { $file= self::getAppPath($appid).'/appinfo/version'; - $version=@file_get_contents($file); - if($version) { - return trim($version); + if(is_file($file) && $version = trim(file_get_contents($file))) { + return $version; }else{ $appData=self::getAppInfo($appid); return isset($appData['version'])? $appData['version'] : ''; @@ -406,7 +406,7 @@ class OC_App{ * @return array * @note all data is read from info.xml, not just pre-defined fields */ - public static function getAppInfo($appid,$path=false) { + public static function getAppInfo($appid, $path=false) { if($path) { $file=$appid; }else{ @@ -470,8 +470,6 @@ class OC_App{ * entries are sorted by the key 'order' ascending. Additional to the keys * given for each app the following keys exist: * - active: boolean, signals if the user is on this navigation entry - * - children: array that is empty if the key 'active' is false or - * contains the subentries if the key 'active' is true */ public static function getNavigation() { $navigation = self::proceedNavigation( self::$navigation ); @@ -485,6 +483,12 @@ class OC_App{ public static function getCurrentApp() { $script=substr($_SERVER["SCRIPT_NAME"], strlen(OC::$WEBROOT)+1); $topFolder=substr($script, 0, strpos($script, '/')); + if (empty($topFolder)) { + $path_info = OC_Request::getPathInfo(); + if ($path_info) { + $topFolder=substr($path_info, 1, strpos($path_info, '/', 1)-1); + } + } if($topFolder=='apps') { $length=strlen($topFolder); return substr($script, $length+1, strpos($script, '/', $length+1)-$length-1); @@ -521,21 +525,21 @@ class OC_App{ /** * register a settings form to be shown */ - public static function registerSettings($app,$page) { + public static function registerSettings($app, $page) { self::$settingsForms[]= $app.'/'.$page.'.php'; } /** * register an admin form to be shown */ - public static function registerAdmin($app,$page) { + public static function registerAdmin($app, $page) { self::$adminForms[]= $app.'/'.$page.'.php'; } /** * register a personal form to be shown */ - public static function registerPersonal($app,$page) { + public static function registerPersonal($app, $page) { self::$personalForms[]= $app.'/'.$page.'.php'; } @@ -550,17 +554,14 @@ class OC_App{ foreach ( OC::$APPSROOTS as $apps_dir ) { if(! is_readable($apps_dir['path'])) { - OC_Log::write('core', 'unable to read app folder : ' .$apps_dir['path'] , OC_Log::WARN); + OC_Log::write('core', 'unable to read app folder : ' .$apps_dir['path'], OC_Log::WARN); continue; } $dh = opendir( $apps_dir['path'] ); while( $file = readdir( $dh ) ) { - if ( - $file[0] != '.' - and is_file($apps_dir['path'].'/'.$file.'/appinfo/app.php' ) - ) { + if ($file[0] != '.' and is_file($apps_dir['path'].'/'.$file.'/appinfo/app.php')) { $apps[] = $file; @@ -689,6 +690,10 @@ class OC_App{ * @param string $appid */ public static function updateApp($appid) { + if(file_exists(self::getAppPath($appid).'/appinfo/preupdate.php')) { + self::loadApp($appid); + include self::getAppPath($appid).'/appinfo/preupdate.php'; + } if(file_exists(self::getAppPath($appid).'/appinfo/database.xml')) { OC_DB::updateDbFromStructure(self::getAppPath($appid).'/appinfo/database.xml'); } diff --git a/lib/appconfig.php b/lib/appconfig.php index 6604e854d5562897901e6884e7eec822d94eb6ef..1f2d576af877c0c2cbea553d258077568a3f6d2e 100644 --- a/lib/appconfig.php +++ b/lib/appconfig.php @@ -107,7 +107,7 @@ class OC_Appconfig{ * @param string $key * @return bool */ - public static function hasKey($app,$key) { + public static function hasKey($app, $key) { $exists = self::getKeys( $app ); return in_array( $key, $exists ); } @@ -123,7 +123,7 @@ class OC_Appconfig{ */ public static function setValue( $app, $key, $value ) { // Does the key exist? yes: update. No: insert - if(! self::hasKey($app,$key)) { + if(! self::hasKey($app, $key)) { $query = OC_DB::prepare( 'INSERT INTO `*PREFIX*appconfig` ( `appid`, `configkey`, `configvalue` ) VALUES( ?, ?, ? )' ); $query->execute( array( $app, $key, $value )); } @@ -170,7 +170,7 @@ class OC_Appconfig{ * @param key * @return array */ - public static function getValues($app,$key) { + public static function getValues($app, $key) { if($app!==false and $key!==false) { return false; } diff --git a/lib/archive.php b/lib/archive.php index a9c245eaf433d0db1d9cc8e806d057b61f1b2d57..61239c82076bb3394b6466aa80363e5807e31ef1 100644 --- a/lib/archive.php +++ b/lib/archive.php @@ -42,14 +42,14 @@ abstract class OC_Archive{ * @param string source either a local file or string data * @return bool */ - abstract function addFile($path,$source=''); + abstract function addFile($path, $source=''); /** * rename a file or folder in the archive * @param string source * @param string dest * @return bool */ - abstract function rename($source,$dest); + abstract function rename($source, $dest); /** * get the uncompressed size of a file in the archive * @param string path @@ -85,7 +85,7 @@ abstract class OC_Archive{ * @param string dest * @return bool */ - abstract function extractFile($path,$dest); + abstract function extractFile($path, $dest); /** * extract the archive * @param string path @@ -111,14 +111,14 @@ abstract class OC_Archive{ * @param string mode * @return resource */ - abstract function getStream($path,$mode); + abstract function getStream($path, $mode); /** * add a folder and all it's content * @param string $path * @param string source * @return bool */ - function addRecursive($path,$source) { + function addRecursive($path, $source) { if($dh=opendir($source)) { $this->addFolder($path); while($file=readdir($dh)) { diff --git a/lib/archive/tar.php b/lib/archive/tar.php index 86d39b8896832a209f7a5dab8453dea108048da0..0fa633c60388af750bfa5489f8d7d6d108614553 100644 --- a/lib/archive/tar.php +++ b/lib/archive/tar.php @@ -6,7 +6,7 @@ * See the COPYING-README file. */ -require_once '3rdparty/Archive/Tar.php'; +require_once 'Archive/Tar.php'; class OC_Archive_TAR extends OC_Archive{ const PLAIN=0; @@ -23,7 +23,7 @@ class OC_Archive_TAR extends OC_Archive{ private $path; function __construct($source) { - $types=array(null,'gz','bz'); + $types=array(null, 'gz', 'bz'); $this->path=$source; $this->tar=new Archive_Tar($source, $types[self::getTarType($source)]); } @@ -84,7 +84,7 @@ class OC_Archive_TAR extends OC_Archive{ * @param string source either a local file or string data * @return bool */ - function addFile($path,$source='') { + function addFile($path, $source='') { if($this->fileExists($path)) { $this->remove($path); } @@ -107,7 +107,7 @@ class OC_Archive_TAR extends OC_Archive{ * @param string dest * @return bool */ - function rename($source,$dest) { + function rename($source, $dest) { //no proper way to delete, rename entire archive, rename file and remake archive $tmp=OCP\Files::tmpFolder(); $this->tar->extract($tmp); @@ -130,8 +130,7 @@ class OC_Archive_TAR extends OC_Archive{ if( $file == $header['filename'] or $file.'/' == $header['filename'] or '/'.$file.'/' == $header['filename'] - or '/'.$file == $header['filename']) - { + or '/'.$file == $header['filename']) { return $header; } } @@ -214,7 +213,7 @@ class OC_Archive_TAR extends OC_Archive{ * @param string dest * @return bool */ - function extractFile($path,$dest) { + function extractFile($path, $dest) { $tmp=OCP\Files::tmpFolder(); if(!$this->fileExists($path)) { return false; @@ -294,7 +293,7 @@ class OC_Archive_TAR extends OC_Archive{ * @param string mode * @return resource */ - function getStream($path,$mode) { + function getStream($path, $mode) { if(strrpos($path, '.')!==false) { $ext=substr($path, strrpos($path, '.')); }else{ @@ -309,7 +308,7 @@ class OC_Archive_TAR extends OC_Archive{ if($mode=='r' or $mode=='rb') { return fopen($tmpFile, $mode); }else{ - OC_CloseStreamWrapper::$callBacks[$tmpFile]=array($this,'writeBack'); + OC_CloseStreamWrapper::$callBacks[$tmpFile]=array($this, 'writeBack'); self::$tempFiles[$tmpFile]=$path; return fopen('close://'.$tmpFile, $mode); } @@ -334,7 +333,7 @@ class OC_Archive_TAR extends OC_Archive{ $this->tar->_close(); $this->tar=null; } - $types=array(null,'gz','bz'); + $types=array(null, 'gz', 'bz'); $this->tar=new Archive_Tar($this->path, $types[self::getTarType($this->path)]); } } diff --git a/lib/archive/zip.php b/lib/archive/zip.php index d016c692e357d6e9721f5c0ec62333a1860430a1..1c967baa08fc5e72f2f3fc77cf6c490cbcabc31a 100644 --- a/lib/archive/zip.php +++ b/lib/archive/zip.php @@ -35,7 +35,7 @@ class OC_Archive_ZIP extends OC_Archive{ * @param string source either a local file or string data * @return bool */ - function addFile($path,$source='') { + function addFile($path, $source='') { if($source and $source[0]=='/' and file_exists($source)) { $result=$this->zip->addFile($source, $path); }else{ @@ -53,7 +53,7 @@ class OC_Archive_ZIP extends OC_Archive{ * @param string dest * @return bool */ - function rename($source,$dest) { + function rename($source, $dest) { $source=$this->stripPath($source); $dest=$this->stripPath($dest); $this->zip->renameName($source, $dest); @@ -119,7 +119,7 @@ class OC_Archive_ZIP extends OC_Archive{ * @param string dest * @return bool */ - function extractFile($path,$dest) { + function extractFile($path, $dest) { $fp = $this->zip->getStream($path); file_put_contents($dest, $fp); } @@ -158,7 +158,7 @@ class OC_Archive_ZIP extends OC_Archive{ * @param string mode * @return resource */ - function getStream($path,$mode) { + function getStream($path, $mode) { if($mode=='r' or $mode=='rb') { return $this->zip->getStream($path); } else { @@ -171,7 +171,7 @@ class OC_Archive_ZIP extends OC_Archive{ $ext=''; } $tmpFile=OCP\Files::tmpFile($ext); - OC_CloseStreamWrapper::$callBacks[$tmpFile]=array($this,'writeBack'); + OC_CloseStreamWrapper::$callBacks[$tmpFile]=array($this, 'writeBack'); if($this->fileExists($path)) { $this->extractFile($path, $tmpFile); } diff --git a/lib/backgroundjob.php b/lib/backgroundjob.php new file mode 100644 index 0000000000000000000000000000000000000000..28b5ce3af20580bff455c93baf7fe85d11527de0 --- /dev/null +++ b/lib/backgroundjob.php @@ -0,0 +1,52 @@ +. +* +*/ + +/** + * This class does the dirty work. + */ +class OC_BackgroundJob{ + /** + * @brief get the execution type of background jobs + * @return string + * + * This method returns the type how background jobs are executed. If the user + * did not select something, the type is ajax. + */ + public static function getExecutionType() { + return OC_Appconfig::getValue( 'core', 'backgroundjobs_mode', 'ajax' ); + } + + /** + * @brief sets the background jobs execution type + * @param $type execution type + * @return boolean + * + * This method sets the execution type of the background jobs. Possible types + * are "none", "ajax", "webcron", "cron" + */ + public static function setExecutionType( $type ) { + if( !in_array( $type, array('none', 'ajax', 'webcron', 'cron'))) { + return false; + } + return OC_Appconfig::setValue( 'core', 'backgroundjobs_mode', $type ); + } +} diff --git a/lib/base.php b/lib/base.php index 3cec144947441d961bd53ada77c7cd1cc0566031..3805d4e8eae90532a5046c039465474a3e32415e 100644 --- a/lib/base.php +++ b/lib/base.php @@ -20,6 +20,8 @@ * */ +require_once 'public/constants.php'; + /** * Class that is a namespace for all global OC variables * No, we can not put this class in its own file because it is used by @@ -67,15 +69,14 @@ class OC{ * check if owncloud runs in cli mode */ public static $CLI = false; + /* + * OC router + */ + protected static $router = null; /** * SPL autoload */ public static function autoload($className) { - - //trigger_error('seth', E_ERROR); - - //debug_print_backtrace(); - if(array_key_exists($className, OC::$CLASSPATH)) { $path = OC::$CLASSPATH[$className]; /** @TODO: Remove this when necessary @@ -89,6 +90,9 @@ class OC{ elseif(strpos($className, 'OC_')===0) { $path = strtolower(str_replace('_', '/', substr($className, 3)) . '.php'); } + elseif(strpos($className, 'OC\\')===0) { + $path = strtolower(str_replace('\\', '/', substr($className, 3)) . '.php'); + } elseif(strpos($className, 'OCP\\')===0) { $path = 'public/'.strtolower(str_replace('\\', '/', substr($className, 3)) . '.php'); } @@ -98,6 +102,12 @@ class OC{ elseif(strpos($className, 'Sabre_')===0) { $path = str_replace('_', '/', $className) . '.php'; } + elseif(strpos($className, 'Symfony\\Component\\Routing\\')===0) { + $path = 'symfony/routing/'.str_replace('\\', '/', $className) . '.php'; + } + elseif(strpos($className, 'Sabre\\VObject')===0) { + $path = str_replace('\\', '/', $className) . '.php'; + } elseif(strpos($className, 'Test_')===0) { $path = 'tests/lib/'.strtolower(str_replace('_', '/', substr($className, 5)) . '.php'); }else{ @@ -111,7 +121,6 @@ class OC{ } public static function initPaths() { - // calculate the root directories OC::$SERVERROOT=str_replace("\\", '/', substr(__DIR__, 0, -4)); OC::$SUBURI= str_replace("\\", "/", substr(realpath($_SERVER["SCRIPT_FILENAME"]), strlen(OC::$SERVERROOT))); @@ -182,7 +191,7 @@ class OC{ OC::$SERVERROOT.'/lib'.PATH_SEPARATOR. OC::$SERVERROOT.'/config'.PATH_SEPARATOR. OC::$THIRDPARTYROOT.'/3rdparty'.PATH_SEPARATOR. - implode($paths,PATH_SEPARATOR).PATH_SEPARATOR. + implode($paths, PATH_SEPARATOR).PATH_SEPARATOR. get_include_path().PATH_SEPARATOR. OC::$SERVERROOT ); @@ -217,6 +226,14 @@ class OC{ $installedVersion=OC_Config::getValue('version', '0.0.0'); $currentVersion=implode('.', OC_Util::getVersion()); if (version_compare($currentVersion, $installedVersion, '>')) { + // Check if the .htaccess is existing - this is needed for upgrades from really old ownCloud versions + if (isset($_SERVER['SERVER_SOFTWARE']) && strstr($_SERVER['SERVER_SOFTWARE'], 'Apache')) { + if(!OC_Util::ishtaccessworking()) { + if(!file_exists(OC::$SERVERROOT.'/data/.htaccess')) { + OC_Setup::protectDataDirectory(); + } + } + } OC_Log::write('core', 'starting upgrade from '.$installedVersion.' to '.$currentVersion, OC_Log::DEBUG); $result=OC_DB::updateDbFromStructure(OC::$SERVERROOT.'/db_structure.xml'); if(!$result) { @@ -225,7 +242,7 @@ class OC{ } if(file_exists(OC::$SERVERROOT."/config/config.php") and !is_writable(OC::$SERVERROOT."/config/config.php")) { $tmpl = new OC_Template( '', 'error', 'guest' ); - $tmpl->assign('errors', array(1=>array('error'=>"Can't write into config directory 'config'",'hint'=>"You can usually fix this by giving the webserver user write access to the config directory in owncloud"))); + $tmpl->assign('errors', array(1=>array('error'=>"Can't write into config directory 'config'", 'hint'=>"You can usually fix this by giving the webserver user write access to the config directory in owncloud"))); $tmpl->printPage(); exit; } @@ -246,16 +263,15 @@ class OC{ OC_Util::addScript( "jquery-1.7.2.min" ); OC_Util::addScript( "jquery-ui-1.8.16.custom.min" ); OC_Util::addScript( "jquery-showpassword" ); - OC_Util::addScript( "jquery.infieldlabel.min" ); + OC_Util::addScript( "jquery.infieldlabel" ); OC_Util::addScript( "jquery-tipsy" ); OC_Util::addScript( "oc-dialogs" ); OC_Util::addScript( "js" ); - // request protection token MUST be defined after the jquery library but before any $('document').ready() - OC_Util::addScript( "requesttoken" ); OC_Util::addScript( "eventsource" ); OC_Util::addScript( "config" ); //OC_Util::addScript( "multiselect" ); OC_Util::addScript('search', 'result'); + OC_Util::addScript('router'); if( OC_Config::getValue( 'installed', false )) { if( OC_Appconfig::getValue( 'core', 'backgroundjobs_mode', 'ajax' ) == 'ajax' ) { @@ -273,9 +289,12 @@ class OC{ // prevents javascript from accessing php session cookies ini_set('session.cookie_httponly', '1;'); + // set the session name to the instance id - which is unique + session_name(OC_Util::getInstanceId()); + // (re)-initialize session session_start(); - + // regenerate session id periodically to avoid session fixation if (!isset($_SESSION['SID_CREATED'])) { $_SESSION['SID_CREATED'] = time(); @@ -296,9 +315,18 @@ class OC{ $_SESSION['LAST_ACTIVITY'] = time(); } + public static function getRouter() { + if (!isset(OC::$router)) { + OC::$router = new OC_Router(); + OC::$router->loadRoutes(); + } + + return OC::$router; + } + public static function init() { // register autoloader - spl_autoload_register(array('OC','autoload')); + spl_autoload_register(array('OC', 'autoload')); setlocale(LC_ALL, 'en_US.UTF-8'); // set some stuff @@ -313,7 +341,7 @@ class OC{ ini_set('arg_separator.output', '&'); // try to switch magic quotes off. - if(function_exists('set_magic_quotes_runtime')) { + if(get_magic_quotes_gpc()) { @set_magic_quotes_runtime(false); } @@ -334,6 +362,10 @@ class OC{ //try to set the session lifetime to 60min @ini_set('gc_maxlifetime', '3600'); + //copy http auth headers for apache+php-fcgid work around + if (isset($_SERVER['HTTP_XAUTHORIZATION']) && !isset($_SERVER['HTTP_AUTHORIZATION'])) { + $_SERVER['HTTP_AUTHORIZATION'] = $_SERVER['HTTP_XAUTHORIZATION']; + } //set http auth headers for apache+php-cgi work around if (isset($_SERVER['HTTP_AUTHORIZATION']) && preg_match('/Basic\s+(.*)$/i', $_SERVER['HTTP_AUTHORIZATION'], $matches)) { @@ -351,9 +383,9 @@ class OC{ self::initPaths(); - register_shutdown_function(array('OC_Log', 'onShutdown')); - set_error_handler(array('OC_Log', 'onError')); - set_exception_handler(array('OC_Log', 'onException')); +// register_shutdown_function(array('OC_Log', 'onShutdown')); +// set_error_handler(array('OC_Log', 'onError')); +// set_exception_handler(array('OC_Log', 'onException')); // set debug mode if an xdebug session is active if (!defined('DEBUG') || !DEBUG) { @@ -407,16 +439,12 @@ class OC{ //setup extra user backends OC_User::setupBackends(); - // register cache cleanup jobs - OC_BackgroundJob_RegularTask::register('OC_Cache_FileGlobal', 'gc'); - OC_Hook::connect('OC_User', 'post_login', 'OC_Cache_File', 'loginListener'); - - // Check for blacklisted files - OC_Hook::connect('OC_Filesystem', 'write', 'OC_Filesystem', 'isBlacklisted'); - OC_Hook::connect('OC_Filesystem', 'rename', 'OC_Filesystem', 'isBlacklisted'); + self::registerCacheHooks(); + self::registerFilesystemHooks(); + self::registerShareHooks(); //make sure temporary files are cleaned up - register_shutdown_function(array('OC_Helper','cleanTmp')); + register_shutdown_function(array('OC_Helper', 'cleanTmp')); //parse the given parameters self::$REQUESTEDAPP = (isset($_GET['app']) && trim($_GET['app']) != '' && !is_null($_GET['app'])?str_replace(array('\0', '/', '\\', '..'), '', strip_tags($_GET['app'])):OC_Config::getValue('defaultapp', 'files')); @@ -448,32 +476,68 @@ class OC{ } } + /** + * register hooks for the cache + */ + public static function registerCacheHooks() { + // register cache cleanup jobs + OC_BackgroundJob_RegularTask::register('OC_Cache_FileGlobal', 'gc'); + OC_Hook::connect('OC_User', 'post_login', 'OC_Cache_File', 'loginListener'); + } + + /** + * register hooks for the filesystem + */ + public static function registerFilesystemHooks() { + // Check for blacklisted files + OC_Hook::connect('OC_Filesystem', 'write', 'OC_Filesystem', 'isBlacklisted'); + OC_Hook::connect('OC_Filesystem', 'rename', 'OC_Filesystem', 'isBlacklisted'); + } + + /** + * register hooks for sharing + */ + public static function registerShareHooks() { + OC_Hook::connect('OC_User', 'post_deleteUser', 'OCP\Share', 'post_deleteUser'); + OC_Hook::connect('OC_User', 'post_addToGroup', 'OCP\Share', 'post_addToGroup'); + OC_Hook::connect('OC_User', 'post_removeFromGroup', 'OCP\Share', 'post_removeFromGroup'); + OC_Hook::connect('OC_User', 'post_deleteGroup', 'OCP\Share', 'post_deleteGroup'); + } + /** * @brief Handle the request */ public static function handleRequest() { if (!OC_Config::getValue('installed', false)) { - // Check for autosetup: - $autosetup_file = OC::$SERVERROOT."/config/autoconfig.php"; - if( file_exists( $autosetup_file )) { - OC_Log::write('core', 'Autoconfig file found, setting up owncloud...', OC_Log::INFO); - include $autosetup_file; - $_POST['install'] = 'true'; - $_POST = array_merge ($_POST, $AUTOCONFIG); - unlink($autosetup_file); - } - OC_Util::addScript('setup'); - require_once 'setup.php'; + require_once 'core/setup.php'; exit(); } + // Handle redirect URL for logged in users + if(isset($_REQUEST['redirect_url']) && OC_User::isLoggedIn()) { + $location = OC_Helper::makeURLAbsolute(urldecode($_REQUEST['redirect_url'])); + header( 'Location: '.$location ); + return; + } // Handle WebDAV if($_SERVER['REQUEST_METHOD']=='PROPFIND') { header('location: '.OC_Helper::linkToRemote('webdav')); return; } + try { + OC::getRouter()->match(OC_Request::getPathInfo()); + return; + } catch (Symfony\Component\Routing\Exception\ResourceNotFoundException $e) { + //header('HTTP/1.0 404 Not Found'); + } catch (Symfony\Component\Routing\Exception\MethodNotAllowedException $e) { + OC_Response::setStatus(405); + return; + } + $app = OC::$REQUESTEDAPP; + $file = OC::$REQUESTEDFILE; + $param = array('app' => $app, 'file' => $file); // Handle app css files - if(substr(OC::$REQUESTEDFILE, -3) == 'css') { - self::loadCSSFile(); + if(substr($file, -3) == 'css') { + self::loadCSSFile($param); return; } // Someone is logged in : @@ -485,13 +549,12 @@ class OC{ OC_User::logout(); header("Location: ".OC::$WEBROOT.'/'); }else{ - $app = OC::$REQUESTEDAPP; - $file = OC::$REQUESTEDFILE; if(is_null($file)) { - $file = 'index.php'; + $param['file'] = 'index.php'; } - $file_ext = substr($file, -3); - if ($file_ext != 'php'|| !self::loadAppScriptFile($app, $file)) { + $file_ext = substr($param['file'], -3); + if ($file_ext != 'php' + || !self::loadAppScriptFile($param)) { header('HTTP/1.0 404 Not Found'); } } @@ -501,7 +564,10 @@ class OC{ self::handleLogin(); } - protected static function loadAppScriptFile($app, $file) { + public static function loadAppScriptFile($param) { + OC_App::loadApps(); + $app = $param['app']; + $file = $param['file']; $app_path = OC_App::getAppPath($app); $file = $app_path . '/' . $file; unset($app, $app_path); @@ -512,9 +578,9 @@ class OC{ return false; } - protected static function loadCSSFile() { - $app = OC::$REQUESTEDAPP; - $file = OC::$REQUESTEDFILE; + public static function loadCSSFile($param) { + $app = $param['app']; + $file = $param['file']; $app_path = OC_App::getAppPath($app); if (file_exists($app_path . '/' . $file)) { $app_web_path = OC_App::getAppWebPath($app); @@ -558,8 +624,7 @@ class OC{ if(!isset($_COOKIE["oc_remember_login"]) || !isset($_COOKIE["oc_token"]) || !isset($_COOKIE["oc_username"]) - || !$_COOKIE["oc_remember_login"]) - { + || !$_COOKIE["oc_remember_login"]) { return false; } OC_App::loadApps(array('authentication')); @@ -584,9 +649,9 @@ class OC{ OC_Util::redirectToDefaultPage(); // doesn't return } - // if you reach this point you have changed your password + // if you reach this point you have changed your password // or you are an attacker - // we can not delete tokens here because users may reach + // we can not delete tokens here because users may reach // this point multiple times after a password change OC_Log::write('core', 'Authentication cookie rejected for user '.$_COOKIE['oc_username'], OC_Log::WARN); } @@ -617,7 +682,7 @@ class OC{ else { OC_User::unsetMagicInCookie(); } - header( 'Location: '.$_SERVER['REQUEST_URI'] ); + OC_Util::redirectToDefaultPage(); exit(); } return true; @@ -630,7 +695,7 @@ class OC{ } OC_App::loadApps(array('authentication')); if (OC_User::login($_SERVER["PHP_AUTH_USER"], $_SERVER["PHP_AUTH_PW"])) { - //OC_Log::write('core',"Logged in with HTTP Authentication",OC_Log::DEBUG); + //OC_Log::write('core',"Logged in with HTTP Authentication", OC_Log::DEBUG); OC_User::unsetMagicInCookie(); $_REQUEST['redirect_url'] = (isset($_SERVER['REQUEST_URI'])?$_SERVER['REQUEST_URI']:''); OC_Util::redirectToDefaultPage(); diff --git a/lib/cache.php b/lib/cache.php index 62003793d5f5c5bc5e76f229e5871c926c600071..bc74ed83f8bf150b7c596b306a4df6de38867aaf 100644 --- a/lib/cache.php +++ b/lib/cache.php @@ -144,4 +144,13 @@ class OC_Cache { return self::$isFast; } + static public function generateCacheKeyFromFiles($files) { + $key = ''; + sort($files); + foreach($files as $file) { + $stat = stat($file); + $key .= $file.$stat['mtime'].$stat['size']; + } + return md5($key); + } } diff --git a/lib/connector/sabre/auth.php b/lib/connector/sabre/auth.php index 0c34c7ea29fc20f66ccd76974dbfa5bcd4a3431f..db8f005745a4fccd36f64797f815afeb34fd2145 100644 --- a/lib/connector/sabre/auth.php +++ b/lib/connector/sabre/auth.php @@ -37,7 +37,7 @@ class OC_Connector_Sabre_Auth extends Sabre_DAV_Auth_Backend_AbstractBasic { } else { OC_Util::setUpFS();//login hooks may need early access to the filesystem if(OC_User::login($username, $password)) { - OC_Util::setUpFS($username); + OC_Util::setUpFS(OC_User::getUser()); return true; } else{ diff --git a/lib/connector/sabre/directory.php b/lib/connector/sabre/directory.php index b6e02569d2a34168bf4491716c45ebc0d2b6ee14..6076aed6fcd8d4f4b204c32ed531ebbe324413f7 100644 --- a/lib/connector/sabre/directory.php +++ b/lib/connector/sabre/directory.php @@ -116,7 +116,6 @@ class OC_Connector_Sabre_Directory extends OC_Connector_Sabre_Node implements Sa * @return Sabre_DAV_INode[] */ public function getChildren() { - $folder_content = OC_Files::getDirectoryContent($this->path); $paths = array(); foreach($folder_content as $info) { @@ -124,15 +123,22 @@ class OC_Connector_Sabre_Directory extends OC_Connector_Sabre_Node implements Sa } $properties = array_fill_keys($paths, array()); if(count($paths)>0) { - $placeholders = join(',', array_fill(0, count($paths), '?')); - $query = OC_DB::prepare( 'SELECT * FROM `*PREFIX*properties` WHERE `userid` = ?' . ' AND `propertypath` IN ('.$placeholders.')' ); - array_unshift($paths, OC_User::getUser()); // prepend userid - $result = $query->execute( $paths ); - while($row = $result->fetchRow()) { - $propertypath = $row['propertypath']; - $propertyname = $row['propertyname']; - $propertyvalue = $row['propertyvalue']; - $properties[$propertypath][$propertyname] = $propertyvalue; + // + // the number of arguments within IN conditions are limited in most databases + // we chunk $paths into arrays of 200 items each to meet this criteria + // + $chunks = array_chunk($paths, 200, false); + foreach ($chunks as $pack) { + $placeholders = join(',', array_fill(0, count($pack), '?')); + $query = OC_DB::prepare( 'SELECT * FROM `*PREFIX*properties` WHERE `userid` = ?' . ' AND `propertypath` IN ('.$placeholders.')' ); + array_unshift($pack, OC_User::getUser()); // prepend userid + $result = $query->execute( $pack ); + while($row = $result->fetchRow()) { + $propertypath = $row['propertypath']; + $propertyname = $row['propertyname']; + $propertyvalue = $row['propertyvalue']; + $properties[$propertypath][$propertyname] = $propertyvalue; + } } } diff --git a/lib/connector/sabre/file.php b/lib/connector/sabre/file.php index 5bd38240d4471ff9524e6e4d36485f793b5df814..8d963a1cf8d8f081c195710eca35d8df0c1ea5a7 100644 --- a/lib/connector/sabre/file.php +++ b/lib/connector/sabre/file.php @@ -45,7 +45,7 @@ class OC_Connector_Sabre_File extends OC_Connector_Sabre_Node implements Sabre_D */ public function put($data) { - OC_Filesystem::file_put_contents($this->path,$data); + OC_Filesystem::file_put_contents($this->path, $data); return OC_Connector_Sabre_Node::getETagPropertyForPath($this->path); } @@ -57,7 +57,7 @@ class OC_Connector_Sabre_File extends OC_Connector_Sabre_Node implements Sabre_D */ public function get() { - return OC_Filesystem::fopen($this->path,'rb'); + return OC_Filesystem::fopen($this->path, 'rb'); } diff --git a/lib/connector/sabre/locks.php b/lib/connector/sabre/locks.php index dbcc57558e0b1319051db005a0280a494f738879..a72d003bc72d08cdd255ebaf93ebe4c9dfe1ac71 100644 --- a/lib/connector/sabre/locks.php +++ b/lib/connector/sabre/locks.php @@ -45,10 +45,10 @@ class OC_Connector_Sabre_Locks extends Sabre_DAV_Locks_Backend_Abstract { // but otherwise reading locks from SQLite Databases will return // nothing $query = 'SELECT * FROM `*PREFIX*locks` WHERE `userid` = ? AND (`created` + `timeout`) > '.time().' AND (( `uri` = ?)'; - $params = array(OC_User::getUser(),$uri); + $params = array(OC_User::getUser(), $uri); // We need to check locks for every part in the uri. - $uriParts = explode('/',$uri); + $uriParts = explode('/', $uri); // We already covered the last part of the uri array_pop($uriParts); @@ -102,14 +102,14 @@ class OC_Connector_Sabre_Locks extends Sabre_DAV_Locks_Backend_Abstract { * @param Sabre_DAV_Locks_LockInfo $lockInfo * @return bool */ - public function lock($uri,Sabre_DAV_Locks_LockInfo $lockInfo) { + public function lock($uri, Sabre_DAV_Locks_LockInfo $lockInfo) { // We're making the lock timeout 5 minutes $lockInfo->timeout = 300; $lockInfo->created = time(); $lockInfo->uri = $uri; - $locks = $this->getLocks($uri,false); + $locks = $this->getLocks($uri, false); $exists = false; foreach($locks as $lock) { if ($lock->token == $lockInfo->token) $exists = true; @@ -134,10 +134,10 @@ class OC_Connector_Sabre_Locks extends Sabre_DAV_Locks_Backend_Abstract { * @param Sabre_DAV_Locks_LockInfo $lockInfo * @return bool */ - public function unlock($uri,Sabre_DAV_Locks_LockInfo $lockInfo) { + public function unlock($uri, Sabre_DAV_Locks_LockInfo $lockInfo) { $query = OC_DB::prepare( 'DELETE FROM `*PREFIX*locks` WHERE `userid` = ? AND `uri` = ? AND `token` = ?' ); - $result = $query->execute( array(OC_User::getUser(),$uri,$lockInfo->token)); + $result = $query->execute( array(OC_User::getUser(), $uri, $lockInfo->token)); return $result->numRows() === 1; diff --git a/lib/connector/sabre/node.php b/lib/connector/sabre/node.php index 1420591d25f6808fc7d84fb99093079b912dc33f..52350072fb2715550af863a91c8c579704a03629 100644 --- a/lib/connector/sabre/node.php +++ b/lib/connector/sabre/node.php @@ -25,6 +25,13 @@ abstract class OC_Connector_Sabre_Node implements Sabre_DAV_INode, Sabre_DAV_IPr const GETETAG_PROPERTYNAME = '{DAV:}getetag'; const LASTMODIFIED_PROPERTYNAME = '{DAV:}lastmodified'; + /** + * Allow configuring the method used to generate Etags + * + * @var array(class_name, function_name) + */ + public static $ETagFunction = null; + /** * The path to the current node * @@ -43,8 +50,7 @@ abstract class OC_Connector_Sabre_Node implements Sabre_DAV_INode, Sabre_DAV_IPr protected $property_cache = null; /** - * Sets up the node, expects a full path name - * + * @brief Sets up the node, expects a full path name * @param string $path * @return void */ @@ -55,8 +61,7 @@ abstract class OC_Connector_Sabre_Node implements Sabre_DAV_INode, Sabre_DAV_IPr /** - * Returns the name of the node - * + * @brief Returns the name of the node * @return string */ public function getName() { @@ -67,8 +72,7 @@ abstract class OC_Connector_Sabre_Node implements Sabre_DAV_INode, Sabre_DAV_IPr } /** - * Renames the node - * + * @brief Renames the node * @param string $name The new name * @return void */ @@ -80,12 +84,12 @@ abstract class OC_Connector_Sabre_Node implements Sabre_DAV_INode, Sabre_DAV_IPr $newPath = $parentPath . '/' . $newName; $oldPath = $this->path; - OC_Filesystem::rename($this->path,$newPath); + OC_Filesystem::rename($this->path, $newPath); $this->path = $newPath; $query = OC_DB::prepare( 'UPDATE `*PREFIX*properties` SET `propertypath` = ? WHERE `userid` = ? AND `propertypath` = ?' ); - $query->execute( array( $newPath,OC_User::getUser(), $oldPath )); + $query->execute( array( $newPath, OC_User::getUser(), $oldPath )); } @@ -95,7 +99,8 @@ abstract class OC_Connector_Sabre_Node implements Sabre_DAV_INode, Sabre_DAV_IPr } /** - * Make sure the fileinfo cache is filled. Uses OC_FileCache or a direct stat + * @brief Ensure that the fileinfo cache is filled + & @note Uses OC_FileCache or a direct stat */ protected function getFileinfoCache() { if (!isset($this->fileinfo_cache)) { @@ -114,8 +119,7 @@ abstract class OC_Connector_Sabre_Node implements Sabre_DAV_INode, Sabre_DAV_IPr } /** - * Returns the last modification time, as a unix timestamp - * + * @brief Returns the last modification time, as a unix timestamp * @return int */ public function getLastModified() { @@ -124,8 +128,8 @@ abstract class OC_Connector_Sabre_Node implements Sabre_DAV_INode, Sabre_DAV_IPr } - /** - * sets the last modification time of the file (mtime) to the value given + /** + * sets the last modification time of the file (mtime) to the value given * in the second parameter or to now if the second param is empty. * Even if the modification time is set to a custom value the access time is set to now. */ @@ -134,17 +138,14 @@ abstract class OC_Connector_Sabre_Node implements Sabre_DAV_INode, Sabre_DAV_IPr } /** - * Updates properties on this node, - * + * @brief Updates properties on this node, * @param array $mutations * @see Sabre_DAV_IProperties::updateProperties * @return bool|array */ public function updateProperties($properties) { $existing = $this->getProperties(array()); - OC_Hook::emit('OC_Webdav_Properties', 'update', array('properties' => $properties, 'path' => $this->path)); foreach($properties as $propertyName => $propertyValue) { - $propertyName = preg_replace("/^{.*}/", "", $propertyName); // remove leading namespace from property name // If it was null, we need to delete the property if (is_null($propertyValue)) { if(array_key_exists( $propertyName, $existing )) { @@ -158,10 +159,10 @@ abstract class OC_Connector_Sabre_Node implements Sabre_DAV_INode, Sabre_DAV_IPr } else { if(!array_key_exists( $propertyName, $existing )) { $query = OC_DB::prepare( 'INSERT INTO `*PREFIX*properties` (`userid`,`propertypath`,`propertyname`,`propertyvalue`) VALUES(?,?,?,?)' ); - $query->execute( array( OC_User::getUser(), $this->path, $propertyName,$propertyValue )); + $query->execute( array( OC_User::getUser(), $this->path, $propertyName, $propertyValue )); } else { $query = OC_DB::prepare( 'UPDATE `*PREFIX*properties` SET `propertyvalue` = ? WHERE `userid` = ? AND `propertypath` = ? AND `propertyname` = ?' ); - $query->execute( array( $propertyValue,OC_User::getUser(), $this->path, $propertyName )); + $query->execute( array( $propertyValue, OC_User::getUser(), $this->path, $propertyName )); } } } @@ -172,15 +173,13 @@ abstract class OC_Connector_Sabre_Node implements Sabre_DAV_INode, Sabre_DAV_IPr } /** - * Returns a list of properties for this nodes.; - * - * The properties list is a list of propertynames the client requested, - * encoded as xmlnamespace#tagName, for example: - * http://www.example.org/namespace#author - * If the array is empty, all properties should be returned - * + * @brief Returns a list of properties for this nodes.; * @param array $properties - * @return void + * @return array + * @note The properties list is a list of propertynames the client + * requested, encoded as xmlnamespace#tagName, for example: + * http://www.example.org/namespace#author If the array is empty, all + * properties should be returned */ public function getProperties($properties) { if (is_null($this->property_cache)) { @@ -206,16 +205,21 @@ abstract class OC_Connector_Sabre_Node implements Sabre_DAV_INode, Sabre_DAV_IPr } /** - * Creates a ETag for this path. + * @brief Creates a ETag for this path. * @param string $path Path of the file * @return string|null Returns null if the ETag can not effectively be determined */ static protected function createETag($path) { - return uniqid('', true); + if(self::$ETagFunction) { + $hash = call_user_func(self::$ETagFunction, $path); + return $hash; + }else{ + return uniqid('', true); + } } /** - * Returns the ETag surrounded by double-quotes for this path. + * @brief Returns the ETag surrounded by double-quotes for this path. * @param string $path Path of the file * @return string|null Returns null if the ETag can not effectively be determined */ @@ -231,7 +235,7 @@ abstract class OC_Connector_Sabre_Node implements Sabre_DAV_INode, Sabre_DAV_IPr } /** - * Remove the ETag from the cache. + * @brief Remove the ETag from the cache. * @param string $path Path of the file */ static public function removeETagPropertyForPath($path) { diff --git a/lib/connector/sabre/principal.php b/lib/connector/sabre/principal.php index 763503721f8225db4abe149ec1e04caec2a7a0a4..04be410ac85ea44875ea9ad87226d96853a95d4d 100644 --- a/lib/connector/sabre/principal.php +++ b/lib/connector/sabre/principal.php @@ -46,7 +46,7 @@ class OC_Connector_Sabre_Principal implements Sabre_DAVACL_IPrincipalBackend { * @return array */ public function getPrincipalByPath($path) { - list($prefix,$name) = explode('/', $path); + list($prefix, $name) = explode('/', $path); if ($prefix == 'principals' && OC_User::userExists($name)) { return array( @@ -83,7 +83,7 @@ class OC_Connector_Sabre_Principal implements Sabre_DAVACL_IPrincipalBackend { * @return array */ public function getGroupMembership($principal) { - list($prefix,$name) = Sabre_DAV_URLUtil::splitPath($principal); + list($prefix, $name) = Sabre_DAV_URLUtil::splitPath($principal); $group_membership = array(); if ($prefix == 'principals') { diff --git a/lib/connector/sabre/quotaplugin.php b/lib/connector/sabre/quotaplugin.php new file mode 100644 index 0000000000000000000000000000000000000000..a56a65ad863f504e9a66cd1aea4bbade16345cd7 --- /dev/null +++ b/lib/connector/sabre/quotaplugin.php @@ -0,0 +1,59 @@ +server = $server; + $this->server->subscribeEvent('beforeWriteContent', array($this, 'checkQuota'), 10); + $this->server->subscribeEvent('beforeCreateFile', array($this, 'checkQuota'), 10); + + } + + /** + * This method is called before any HTTP method and forces users to be authenticated + * + * @param string $method + * @throws Sabre_DAV_Exception + * @return bool + */ + public function checkQuota($uri, $data = null) { + $expected = $this->server->httpRequest->getHeader('X-Expected-Entity-Length'); + $length = $expected ? $expected : $this->server->httpRequest->getHeader('Content-Length'); + if ($length) { + if (substr($uri, 0, 1)!=='/') { + $uri='/'.$uri; + } + list($parentUri, $newName) = Sabre_DAV_URLUtil::splitPath($uri); + if ($length > OC_Filesystem::free_space($parentUri)) { + throw new Sabre_DAV_Exception('Quota exceeded. File is too big.'); + } + } + return true; + } +} diff --git a/lib/db.php b/lib/db.php index a43f2ad20b2fddef4b673f46794115b45ab212b0..6524db7581ad69fa25ad03fe882a8f76d78a0daa 100644 --- a/lib/db.php +++ b/lib/db.php @@ -20,6 +20,19 @@ * */ +class DatabaseException extends Exception{ + private $query; + + public function __construct($message, $query){ + parent::__construct($message); + $this->query = $query; + } + + public function getQuery(){ + return $this->query; + } +} + /** * This class manages the access to the database. It basically is a wrapper for * MDB2 with some adaptions. @@ -115,7 +128,7 @@ class OC_DB { $pass = OC_Config::getValue( "dbpassword", "" ); $type = OC_Config::getValue( "dbtype", "sqlite" ); if(strpos($host, ':')) { - list($host, $port)=explode(':', $host,2); + list($host, $port)=explode(':', $host, 2); }else{ $port=false; } @@ -168,8 +181,7 @@ class OC_DB { try{ self::$PDO=new PDO($dsn, $user, $pass, $opts); }catch(PDOException $e) { - echo( 'can not connect to database, using '.$type.'. ('.$e->getMessage().')'); - die(); + OC_Template::printErrorPage( 'can not connect to database, using '.$type.'. ('.$e->getMessage().')' ); } // We always, really always want associative arrays self::$PDO->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC); @@ -263,10 +275,9 @@ class OC_DB { // Die if we could not connect if( PEAR::isError( self::$MDB2 )) { - echo( 'can not connect to database, using '.$type.'. ('.self::$MDB2->getUserInfo().')'); OC_Log::write('core', self::$MDB2->getUserInfo(), OC_Log::FATAL); OC_Log::write('core', self::$MDB2->getMessage(), OC_Log::FATAL); - die(); + OC_Template::printErrorPage( 'can not connect to database, using '.$type.'. ('.self::$MDB2->getUserInfo().')' ); } // We always, really always want associative arrays @@ -322,21 +333,13 @@ class OC_DB { // Die if we have an error (error means: bad query, not 0 results!) if( PEAR::isError($result)) { - $entry = 'DB Error: "'.$result->getMessage().'"
'; - $entry .= 'Offending command was: '.htmlentities($query).'
'; - OC_Log::write('core', $entry,OC_Log::FATAL); - error_log('DB error: '.$entry); - die( $entry ); + throw new DatabaseException($result->getMessage(), $query); } }else{ try{ $result=self::$connection->prepare($query); }catch(PDOException $e) { - $entry = 'DB Error: "'.$e->getMessage().'"
'; - $entry .= 'Offending command was: '.htmlentities($query).'
'; - OC_Log::write('core', $entry,OC_Log::FATAL); - error_log('DB error: '.$entry); - die( $entry ); + throw new DatabaseException($e->getMessage(), $query); } $result=new PDOStatementWrapper($result); } @@ -355,12 +358,19 @@ class OC_DB { */ public static function insertid($table=null) { self::connect(); - if($table !== null) { - $prefix = OC_Config::getValue( "dbtableprefix", "oc_" ); - $suffix = OC_Config::getValue( "dbsequencesuffix", "_id_seq" ); - $table = str_replace( '*PREFIX*', $prefix, $table ).$suffix; + $type = OC_Config::getValue( "dbtype", "sqlite" ); + if( $type == 'pgsql' ) { + $query = self::prepare('SELECT lastval() AS id'); + $row = $query->execute()->fetchRow(); + return $row['id']; + }else{ + if($table !== null) { + $prefix = OC_Config::getValue( "dbtableprefix", "oc_" ); + $suffix = OC_Config::getValue( "dbsequencesuffix", "_id_seq" ); + $table = str_replace( '*PREFIX*', $prefix, $table ).$suffix; + } + return self::$connection->lastInsertId($table); } - return self::$connection->lastInsertId($table); } /** @@ -449,7 +459,7 @@ class OC_DB { // Die in case something went wrong if( $definition instanceof MDB2_Schema_Error ) { - die( $definition->getMessage().': '.$definition->getUserInfo()); + OC_Template::printErrorPage( $definition->getMessage().': '.$definition->getUserInfo() ); } if(OC_Config::getValue('dbtype', 'sqlite')==='oci') { unset($definition['charset']); //or MDB2 tries SHUTDOWN IMMEDIATE @@ -461,8 +471,7 @@ class OC_DB { // Die in case something went wrong if( $ret instanceof MDB2_Error ) { - echo (self::$MDB2->getDebugOutput()); - die ($ret->getMessage() . ': ' . $ret->getUserInfo()); + OC_Template::printErrorPage( self::$MDB2->getDebugOutput().' '.$ret->getMessage() . ': ' . $ret->getUserInfo() ); } return true; @@ -541,6 +550,78 @@ class OC_DB { return true; } + /** + * @brief Insert a row if a matching row doesn't exists. + * @param string $table. The table to insert into in the form '*PREFIX*tableName' + * @param array $input. An array of fieldname/value pairs + * @returns The return value from PDOStatementWrapper->execute() + */ + public static function insertIfNotExist($table, $input) { + self::connect(); + $prefix = OC_Config::getValue( "dbtableprefix", "oc_" ); + $table = str_replace( '*PREFIX*', $prefix, $table ); + + if(is_null(self::$type)) { + self::$type=OC_Config::getValue( "dbtype", "sqlite" ); + } + $type = self::$type; + + $query = ''; + // differences in escaping of table names ('`' for mysql) and getting the current timestamp + if( $type == 'sqlite' || $type == 'sqlite3' ) { + // NOTE: For SQLite we have to use this clumsy approach + // otherwise all fieldnames used must have a unique key. + $query = 'SELECT * FROM "' . $table . '" WHERE '; + foreach($input as $key => $value) { + $query .= $key . " = '" . $value . '\' AND '; + } + $query = substr($query, 0, strlen($query) - 5); + try { + $stmt = self::prepare($query); + $result = $stmt->execute(); + } catch(PDOException $e) { + $entry = 'DB Error: "'.$e->getMessage() . '"
'; + $entry .= 'Offending command was: ' . $query . '
'; + OC_Log::write('core', $entry, OC_Log::FATAL); + error_log('DB error: '.$entry); + OC_Template::printErrorPage( $entry ); + } + + if($result->numRows() == 0) { + $query = 'INSERT INTO "' . $table . '" ("' + . implode('","', array_keys($input)) . '") VALUES("' + . implode('","', array_values($input)) . '")'; + } else { + return true; + } + } elseif( $type == 'pgsql' || $type == 'oci' || $type == 'mysql') { + $query = 'INSERT INTO `' .$table . '` (' + . implode(',', array_keys($input)) . ') SELECT \'' + . implode('\',\'', array_values($input)) . '\' FROM ' . $table . ' WHERE '; + + foreach($input as $key => $value) { + $query .= $key . " = '" . $value . '\' AND '; + } + $query = substr($query, 0, strlen($query) - 5); + $query .= ' HAVING COUNT(*) = 0'; + } + + // TODO: oci should be use " (quote) instead of ` (backtick). + //OC_Log::write('core', __METHOD__ . ', type: ' . $type . ', query: ' . $query, OC_Log::DEBUG); + + try { + $result = self::prepare($query); + } catch(PDOException $e) { + $entry = 'DB Error: "'.$e->getMessage() . '"
'; + $entry .= 'Offending command was: ' . $query.'
'; + OC_Log::write('core', $entry, OC_Log::FATAL); + error_log('DB error: ' . $entry); + OC_Template::printErrorPage( $entry ); + } + + return $result->execute(); + } + /** * @brief does minor changes to query * @param string $query Query string @@ -767,8 +848,8 @@ class PDOStatementWrapper{ /** * pass all other function directly to the PDOStatement */ - public function __call($name,$arguments) { - return call_user_func_array(array($this->statement,$name), $arguments); + public function __call($name, $arguments) { + return call_user_func_array(array($this->statement, $name), $arguments); } /** diff --git a/lib/eventsource.php b/lib/eventsource.php index 900b5b101e673cd473d195262ebc2f2f8c6121c0..1b8033943a19d6d984a48fe43b82c1efb78d1d65 100644 --- a/lib/eventsource.php +++ b/lib/eventsource.php @@ -32,13 +32,13 @@ class OC_EventSource{ private $fallBackId=0; public function __construct() { - @ob_end_clean(); + OC_Util::obEnd(); header('Cache-Control: no-cache'); $this->fallback=isset($_GET['fallback']) and $_GET['fallback']=='true'; if($this->fallback) { $this->fallBackId=$_GET['fallback_id']; header("Content-Type: text/html"); - echo str_repeat(''.PHP_EOL,10); //dummy data to keep IE happy + echo str_repeat(''.PHP_EOL, 10); //dummy data to keep IE happy }else{ header("Content-Type: text/event-stream"); } @@ -56,7 +56,7 @@ class OC_EventSource{ * * if only one paramater is given, a typeless message will be send with that paramater as data */ - public function send($type,$data=null) { + public function send($type, $data=null) { if(is_null($data)) { $data=$type; $type=null; @@ -78,6 +78,6 @@ class OC_EventSource{ * close the connection of the even source */ public function close() { - $this->send('__internal__','close');//server side closing can be an issue, let the client do it + $this->send('__internal__', 'close');//server side closing can be an issue, let the client do it } -} \ No newline at end of file +} diff --git a/lib/filecache.php b/lib/filecache.php index d1ad969cbc06270dbba107d5e8809198edde0b33..816889d6645ce54dd4e74b104df7e81a7977da2e 100644 --- a/lib/filecache.php +++ b/lib/filecache.php @@ -18,7 +18,7 @@ * License along with this library. If not, see . * */ - + /** * provide caching for filesystem info in the database * @@ -32,8 +32,8 @@ * /admin/files/file.txt, if $root is false * */ - class OC_FileCache{ + /** * get the filesystem info from the cache * @param string path @@ -48,15 +48,15 @@ class OC_FileCache{ * - encrypted * - versioned */ - public static function get($path,$root=false) { - if(OC_FileCache_Update::hasUpdated($path,$root)) { + public static function get($path, $root=false) { + if(OC_FileCache_Update::hasUpdated($path, $root)) { if($root===false) {//filesystem hooks are only valid for the default root - OC_Hook::emit('OC_Filesystem','post_write',array('path'=>$path)); + OC_Hook::emit('OC_Filesystem', 'post_write', array('path'=>$path)); }else{ - OC_FileCache_Update::update($path,$root); + OC_FileCache_Update::update($path, $root); } } - return OC_FileCache_Cached::get($path,$root); + return OC_FileCache_Cached::get($path, $root); } /** @@ -64,22 +64,22 @@ class OC_FileCache{ * @param string $path * @param array data * @param string root (optional) - * - * $data is an assiciative array in the same format as returned by get + * @note $data is an associative array in the same format as returned + * by get */ - public static function put($path,$data,$root=false) { + public static function put($path, $data, $root=false) { if($root===false) { $root=OC_Filesystem::getRoot(); } - $fullpath=$root.$path; + $fullpath=OC_Filesystem::normalizePath($root.'/'.$path); $parent=self::getParentId($fullpath); - $id=self::getId($fullpath,''); + $id=self::getId($fullpath, ''); if(isset(OC_FileCache_Cached::$savedData[$fullpath])) { - $data=array_merge(OC_FileCache_Cached::$savedData[$fullpath],$data); + $data=array_merge(OC_FileCache_Cached::$savedData[$fullpath], $data); unset(OC_FileCache_Cached::$savedData[$fullpath]); } if($id!=-1) { - self::update($id,$data); + self::update($id, $data); return; } @@ -108,9 +108,9 @@ class OC_FileCache{ $data['versioned']=(int)$data['versioned']; $user=OC_User::getUser(); $query=OC_DB::prepare('INSERT INTO `*PREFIX*fscache`(`parent`, `name`, `path`, `path_hash`, `size`, `mtime`, `ctime`, `mimetype`, `mimepart`,`user`,`writable`,`encrypted`,`versioned`) VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?)'); - $result=$query->execute(array($parent,basename($fullpath),$fullpath,md5($fullpath),$data['size'],$data['mtime'],$data['ctime'],$data['mimetype'],$mimePart,$user,$data['writable'],$data['encrypted'],$data['versioned'])); + $result=$query->execute(array($parent, basename($fullpath), $fullpath, md5($fullpath), $data['size'], $data['mtime'], $data['ctime'], $data['mimetype'], $mimePart, $user, $data['writable'], $data['encrypted'], $data['versioned'])); if(OC_DB::isError($result)) { - OC_Log::write('files','error while writing file('.$fullpath.') to cache',OC_Log::ERROR); + OC_Log::write('files', 'error while writing file('.$fullpath.') to cache', OC_Log::ERROR); } if($cache=OC_Cache::getUserCache(true)) { @@ -123,10 +123,10 @@ class OC_FileCache{ * @param int $id * @param array $data */ - private static function update($id,$data) { + private static function update($id, $data) { $arguments=array(); $queryParts=array(); - foreach(array('size','mtime','ctime','mimetype','encrypted','versioned','writable') as $attribute) { + foreach(array('size','mtime','ctime','mimetype','encrypted','versioned', 'writable') as $attribute) { if(isset($data[$attribute])) { //Convert to int it args are false if($data[$attribute] === false) { @@ -143,11 +143,13 @@ class OC_FileCache{ } $arguments[]=$id; - $sql = 'UPDATE `*PREFIX*fscache` SET '.implode(' , ',$queryParts).' WHERE `id`=?'; - $query=OC_DB::prepare($sql); - $result=$query->execute($arguments); - if(OC_DB::isError($result)) { - OC_Log::write('files','error while updating file('.$id.') in cache',OC_Log::ERROR); + if(!empty($queryParts)) { + $sql = 'UPDATE `*PREFIX*fscache` SET '.implode(' , ', $queryParts).' WHERE `id`=?'; + $query=OC_DB::prepare($sql); + $result=$query->execute($arguments); + if(OC_DB::isError($result)) { + OC_Log::write('files', 'error while updating file('.$id.') in cache', OC_Log::ERROR); + } } } @@ -157,7 +159,7 @@ class OC_FileCache{ * @param string newPath * @param string root (optional) */ - public static function move($oldPath,$newPath,$root=false) { + public static function move($oldPath, $newPath, $root=false) { if($root===false) { $root=OC_Filesystem::getRoot(); } @@ -169,10 +171,10 @@ class OC_FileCache{ $newPath=$root.$newPath; $newParent=self::getParentId($newPath); $query=OC_DB::prepare('UPDATE `*PREFIX*fscache` SET `parent`=? ,`name`=?, `path`=?, `path_hash`=? WHERE `path_hash`=?'); - $query->execute(array($newParent,basename($newPath),$newPath,md5($newPath),md5($oldPath))); + $query->execute(array($newParent, basename($newPath), $newPath, md5($newPath), md5($oldPath))); if(($cache=OC_Cache::getUserCache(true)) && $cache->hasKey('fileid/'.$oldPath)) { - $cache->set('fileid/'.$newPath,$cache->get('fileid/'.$oldPath)); + $cache->set('fileid/'.$newPath, $cache->get('fileid/'.$oldPath)); $cache->remove('fileid/'.$oldPath); } @@ -181,11 +183,11 @@ class OC_FileCache{ $updateQuery=OC_DB::prepare('UPDATE `*PREFIX*fscache` SET `path`=?, `path_hash`=? WHERE `path_hash`=?'); while($row= $query->execute(array($oldPath.'/%'))->fetchRow()) { $old=$row['path']; - $new=$newPath.substr($old,$oldLength); - $updateQuery->execute(array($new,md5($new),md5($old))); + $new=$newPath.substr($old, $oldLength); + $updateQuery->execute(array($new, md5($new), md5($old))); if(($cache=OC_Cache::getUserCache(true)) && $cache->hasKey('fileid/'.$old)) { - $cache->set('fileid/'.$new,$cache->get('fileid/'.$old)); + $cache->set('fileid/'.$new, $cache->get('fileid/'.$old)); $cache->remove('fileid/'.$old); } } @@ -196,7 +198,7 @@ class OC_FileCache{ * @param string path * @param string root (optional) */ - public static function delete($path,$root=false) { + public static function delete($path, $root=false) { if($root===false) { $root=OC_Filesystem::getRoot(); } @@ -209,7 +211,7 @@ class OC_FileCache{ OC_Cache::remove('fileid/'.$root.$path); } - + /** * return array of filenames matching the querty * @param string $query @@ -217,23 +219,29 @@ class OC_FileCache{ * @param string root (optional) * @return array of filepaths */ - public static function search($search,$returnData=false,$root=false) { + public static function search($search, $returnData=false, $root=false) { if($root===false) { $root=OC_Filesystem::getRoot(); } $rootLen=strlen($root); if(!$returnData) { - $query=OC_DB::prepare('SELECT `path` FROM `*PREFIX*fscache` WHERE `name` LIKE ? AND `user`=?'); + $select = '`path`'; }else{ - $query=OC_DB::prepare('SELECT * FROM `*PREFIX*fscache` WHERE `name` LIKE ? AND `user`=?'); + $select = '*'; } - $result=$query->execute(array("%$search%",OC_User::getUser())); + if (OC_Config::getValue('dbtype') === 'oci8') { + $where = 'LOWER(`name`) LIKE LOWER(?) AND `user`=?'; + } else { + $where = '`name` LIKE ? AND `user`=?'; + } + $query=OC_DB::prepare('SELECT '.$select.' FROM `*PREFIX*fscache` WHERE '.$where); + $result=$query->execute(array("%$search%", OC_User::getUser())); $names=array(); while($row=$result->fetchRow()) { if(!$returnData) { - $names[]=substr($row['path'],$rootLen); + $names[]=substr($row['path'], $rootLen); }else{ - $row['path']=substr($row['path'],$rootLen); + $row['path']=substr($row['path'], $rootLen); $names[]=$row; } } @@ -255,11 +263,11 @@ class OC_FileCache{ * - encrypted * - versioned */ - public static function getFolderContent($path,$root=false,$mimetype_filter='') { - if(OC_FileCache_Update::hasUpdated($path,$root,true)) { - OC_FileCache_Update::updateFolder($path,$root); + public static function getFolderContent($path, $root=false, $mimetype_filter='') { + if(OC_FileCache_Update::hasUpdated($path, $root, true)) { + OC_FileCache_Update::updateFolder($path, $root); } - return OC_FileCache_Cached::getFolderContent($path,$root,$mimetype_filter); + return OC_FileCache_Cached::getFolderContent($path, $root, $mimetype_filter); } /** @@ -268,8 +276,8 @@ class OC_FileCache{ * @param string root (optional) * @return bool */ - public static function inCache($path,$root=false) { - return self::getId($path,$root)!=-1; + public static function inCache($path, $root=false) { + return self::getId($path, $root)!=-1; } /** @@ -278,7 +286,7 @@ class OC_FileCache{ * @param string root (optional) * @return int */ - public static function getId($path,$root=false) { + public static function getId($path, $root=false) { if($root===false) { $root=OC_Filesystem::getRoot(); } @@ -291,7 +299,7 @@ class OC_FileCache{ $query=OC_DB::prepare('SELECT `id` FROM `*PREFIX*fscache` WHERE `path_hash`=?'); $result=$query->execute(array(md5($fullPath))); if(OC_DB::isError($result)) { - OC_Log::write('files','error while getting file id of '.$path,OC_Log::ERROR); + OC_Log::write('files', 'error while getting file id of '.$path, OC_Log::ERROR); return -1; } @@ -302,7 +310,7 @@ class OC_FileCache{ $id=-1; } if($cache=OC_Cache::getUserCache(true)) { - $cache->set('fileid/'.$fullPath,$id); + $cache->set('fileid/'.$fullPath, $id); } return $id; @@ -314,19 +322,19 @@ class OC_FileCache{ * @param string user (optional) * @return string */ - public static function getPath($id,$user='') { + public static function getPath($id, $user='') { if(!$user) { $user=OC_User::getUser(); } $query=OC_DB::prepare('SELECT `path` FROM `*PREFIX*fscache` WHERE `id`=? AND `user`=?'); - $result=$query->execute(array($id,$user)); + $result=$query->execute(array($id, $user)); $row=$result->fetchRow(); $path=$row['path']; $root='/'.$user.'/files'; - if(substr($path,0,strlen($root))!=$root) { + if(substr($path, 0, strlen($root))!=$root) { return false; } - return substr($path,strlen($root)); + return substr($path, strlen($root)); } /** @@ -338,7 +346,7 @@ class OC_FileCache{ if($path=='/') { return -1; }else{ - return self::getId(dirname($path),''); + return self::getId(dirname($path), ''); } } @@ -348,27 +356,40 @@ class OC_FileCache{ * @param int $sizeDiff * @param string root (optinal) */ - public static function increaseSize($path,$sizeDiff, $root=false) { + public static function increaseSize($path, $sizeDiff, $root=false) { if($sizeDiff==0) return; - $id=self::getId($path,$root); + $item = OC_FileCache_Cached::get($path); + //stop walking up the filetree if we hit a non-folder or reached to root folder + if($path == '/' || $path=='' || $item['mimetype'] !== 'httpd/unix-directory'){ + return; + } + $id = $item['id']; while($id!=-1) {//walk up the filetree increasing the size of all parent folders $query=OC_DB::prepare('UPDATE `*PREFIX*fscache` SET `size`=`size`+? WHERE `id`=?'); - $query->execute(array($sizeDiff,$id)); - $id=self::getParentId($path); + $query->execute(array($sizeDiff, $id)); $path=dirname($path); + if($path == '' or $path =='/'){ + return; + } + $parent = OC_FileCache_Cached::get($path); + $id = $parent['id']; + //stop walking up the filetree if we hit a non-folder + if($parent['mimetype'] !== 'httpd/unix-directory'){ + return; + } } } /** * recursively scan the filesystem and fill the cache * @param string $path - * @param OC_EventSource $enventSource (optional) - * @param int count (optional) - * @param string root (optional) + * @param OC_EventSource $eventSource (optional) + * @param int $count (optional) + * @param string $root (optional) */ - public static function scan($path,$eventSource=false,&$count=0,$root=false) { + public static function scan($path, $eventSource=false,&$count=0, $root=false) { if($eventSource) { - $eventSource->send('scanning',array('file'=>$path,'count'=>$count)); + $eventSource->send('scanning', array('file'=>$path, 'count'=>$count)); } $lastSend=$count; // NOTE: Ugly hack to prevent shared files from going into the cache (the source already exists somewhere in the cache) @@ -380,7 +401,7 @@ class OC_FileCache{ }else{ $view=new OC_FilesystemView($root); } - self::scanFile($path,$root); + self::scanFile($path, $root); $dh=$view->opendir($path.'/'); $totalSize=0; if($dh) { @@ -388,21 +409,21 @@ class OC_FileCache{ if($filename != '.' and $filename != '..') { $file=$path.'/'.$filename; if($view->is_dir($file.'/')) { - self::scan($file,$eventSource,$count,$root); + self::scan($file, $eventSource, $count, $root); }else{ - $totalSize+=self::scanFile($file,$root); + $totalSize+=self::scanFile($file, $root); $count++; if($count>$lastSend+25 and $eventSource) { $lastSend=$count; - $eventSource->send('scanning',array('file'=>$path,'count'=>$count)); + $eventSource->send('scanning', array('file'=>$path, 'count'=>$count)); } } } } } - OC_FileCache_Update::cleanFolder($path,$root); - self::increaseSize($path,$totalSize,$root); + OC_FileCache_Update::cleanFolder($path, $root); + self::increaseSize($path, $totalSize, $root); } /** @@ -411,7 +432,7 @@ class OC_FileCache{ * @param string root (optional) * @return int size of the scanned file */ - public static function scanFile($path,$root=false) { + public static function scanFile($path, $root=false) { // NOTE: Ugly hack to prevent shared files from going into the cache (the source already exists somewhere in the cache) if (substr($path, 0, 7) == '/Shared') { return; @@ -436,7 +457,7 @@ class OC_FileCache{ if($path=='/') { $path=''; } - self::put($path,$stat,$root); + self::put($path, $stat, $root); return $stat['size']; } @@ -448,12 +469,12 @@ class OC_FileCache{ * @return array of file paths * * $part1 and $part2 together form the complete mimetype. - * e.g. searchByMime('text','plain') + * e.g. searchByMime('text', 'plain') * * seccond mimetype part can be ommited * e.g. searchByMime('audio') */ - public static function searchByMime($part1,$part2=null,$root=false) { + public static function searchByMime($part1, $part2=null, $root=false) { if($root===false) { $root=OC_Filesystem::getRoot(); } @@ -462,14 +483,14 @@ class OC_FileCache{ $user=OC_User::getUser(); if(!$part2) { $query=OC_DB::prepare('SELECT `path` FROM `*PREFIX*fscache` WHERE `mimepart`=? AND `user`=? AND `path` LIKE ?'); - $result=$query->execute(array($part1,$user, $root)); + $result=$query->execute(array($part1, $user, $root)); }else{ $query=OC_DB::prepare('SELECT `path` FROM `*PREFIX*fscache` WHERE `mimetype`=? AND `user`=? AND `path` LIKE ? '); - $result=$query->execute(array($part1.'/'.$part2,$user, $root)); + $result=$query->execute(array($part1.'/'.$part2, $user, $root)); } $names=array(); while($row=$result->fetchRow()) { - $names[]=substr($row['path'],$rootLen); + $names[]=substr($row['path'], $rootLen); } return $names; } @@ -500,18 +521,19 @@ class OC_FileCache{ * trigger an update for the cache by setting the mtimes to 0 * @param string $user (optional) */ - public static function triggerUpdate($user=''){ + public static function triggerUpdate($user='') { if($user) { - $query=OC_DB::prepare('UPDATE `*PREFIX*fscache` SET `mtime`=0 WHERE `user`=? AND `mimetype`="httpd/unix-directory"'); - $query->execute(array($user)); + $query=OC_DB::prepare('UPDATE `*PREFIX*fscache` SET `mtime`=0 WHERE `user`=? AND `mimetype`= ? '); + $query->execute(array($user,'httpd/unix-directory')); }else{ - $query=OC_DB::prepare('UPDATE `*PREFIX*fscache` SET `mtime`=0 AND `mimetype`="httpd/unix-directory"'); - $query->execute(); + $query=OC_DB::prepare('UPDATE `*PREFIX*fscache` SET `mtime`=0 AND `mimetype`= ? '); + $query->execute(array('httpd/unix-directory')); } } } //watch for changes and try to keep the cache up to date -OC_Hook::connect('OC_Filesystem','post_write','OC_FileCache_Update','fileSystemWatcherWrite'); -OC_Hook::connect('OC_Filesystem','post_delete','OC_FileCache_Update','fileSystemWatcherDelete'); -OC_Hook::connect('OC_Filesystem','post_rename','OC_FileCache_Update','fileSystemWatcherRename'); +OC_Hook::connect('OC_Filesystem', 'post_write', 'OC_FileCache_Update', 'fileSystemWatcherWrite'); +OC_Hook::connect('OC_Filesystem', 'post_delete', 'OC_FileCache_Update', 'fileSystemWatcherDelete'); +OC_Hook::connect('OC_Filesystem', 'post_rename', 'OC_FileCache_Update', 'fileSystemWatcherRename'); +OC_Hook::connect('OC_User', 'post_deleteUser', 'OC_FileCache_Update', 'deleteFromUser'); diff --git a/lib/filecache/cached.php b/lib/filecache/cached.php index 9b1eb4f7803b3467b6798f5badfcd8cde02cfea2..5e0a00746b98df761f9edab5a58f996858f5f0c7 100644 --- a/lib/filecache/cached.php +++ b/lib/filecache/cached.php @@ -13,12 +13,12 @@ class OC_FileCache_Cached{ public static $savedData=array(); - public static function get($path,$root=false) { + public static function get($path, $root=false) { if($root===false) { $root=OC_Filesystem::getRoot(); } $path=$root.$path; - $stmt=OC_DB::prepare('SELECT `path`,`ctime`,`mtime`,`mimetype`,`size`,`encrypted`,`versioned`,`writable` FROM `*PREFIX*fscache` WHERE `path_hash`=?'); + $stmt=OC_DB::prepare('SELECT `id`, `path`,`ctime`,`mtime`,`mimetype`,`size`,`encrypted`,`versioned`,`writable` FROM `*PREFIX*fscache` WHERE `path_hash`=?'); if ( ! OC_DB::isError($stmt) ) { $result=$stmt->execute(array(md5($path))); if ( ! OC_DB::isError($result) ) { @@ -61,7 +61,7 @@ class OC_FileCache_Cached{ * - encrypted * - versioned */ - public static function getFolderContent($path,$root=false,$mimetype_filter='') { + public static function getFolderContent($path, $root=false, $mimetype_filter='') { if($root===false) { $root=OC_Filesystem::getRoot(); } @@ -78,4 +78,4 @@ class OC_FileCache_Cached{ return false; } } -} \ No newline at end of file +} diff --git a/lib/filecache/update.php b/lib/filecache/update.php index 4a5ea873b1748a436b0fcea7736f0f295e4ef787..bc403113e7cf9c89d271a8514cb31dfd1b09a551 100644 --- a/lib/filecache/update.php +++ b/lib/filecache/update.php @@ -18,7 +18,7 @@ class OC_FileCache_Update{ * @param boolean folder * @return bool */ - public static function hasUpdated($path,$root=false,$folder=false) { + public static function hasUpdated($path, $root=false, $folder=false) { if($root===false) { $view=OC_Filesystem::getView(); }else{ @@ -46,14 +46,14 @@ class OC_FileCache_Update{ /** * delete non existing files from the cache */ - public static function cleanFolder($path,$root=false) { + public static function cleanFolder($path, $root=false) { if($root===false) { $view=OC_Filesystem::getView(); }else{ $view=new OC_FilesystemView($root); } - $cachedContent=OC_FileCache_Cached::getFolderContent($path,$root); + $cachedContent=OC_FileCache_Cached::getFolderContent($path, $root); foreach($cachedContent as $fileData) { $path=$fileData['path']; $file=$view->getRelativePath($path); @@ -72,7 +72,7 @@ class OC_FileCache_Update{ * @param string path * @param string root (optional) */ - public static function updateFolder($path,$root=false) { + public static function updateFolder($path, $root=false) { if($root===false) { $view=OC_Filesystem::getView(); }else{ @@ -85,7 +85,7 @@ class OC_FileCache_Update{ $file=$path.'/'.$filename; $isDir=$view->is_dir($file); if(self::hasUpdated($file, $root, $isDir)) { - if($isDir){ + if($isDir) { self::updateFolder($file, $root); }elseif($root===false) {//filesystem hooks are only valid for the default root OC_Hook::emit('OC_Filesystem', 'post_write', array('path'=>$file)); @@ -143,7 +143,7 @@ class OC_FileCache_Update{ * @param string path * @param string root (optional) */ - public static function update($path,$root=false) { + public static function update($path, $root=false) { if($root===false) { $view=OC_Filesystem::getView(); }else{ @@ -153,7 +153,7 @@ class OC_FileCache_Update{ $mimetype=$view->getMimeType($path); $size=0; - $cached=OC_FileCache_Cached::get($path,$root); + $cached=OC_FileCache_Cached::get($path, $root); $cachedSize=isset($cached['size'])?$cached['size']:0; if($view->is_dir($path.'/')) { @@ -165,7 +165,7 @@ class OC_FileCache_Update{ $mtime=$view->filemtime($path.'/'); $ctime=$view->filectime($path.'/'); $writable=$view->is_writable($path.'/'); - OC_FileCache::put($path, array('size'=>$size,'mtime'=>$mtime,'ctime'=>$ctime,'mimetype'=>$mimetype,'writable'=>$writable)); + OC_FileCache::put($path, array('size'=>$size,'mtime'=>$mtime,'ctime'=>$ctime,'mimetype'=>$mimetype, 'writable'=>$writable)); }else{ $count=0; OC_FileCache::scan($path, null, $count, $root); @@ -174,7 +174,7 @@ class OC_FileCache_Update{ }else{ $size=OC_FileCache::scanFile($path, $root); } - if($path !== '' and $path !== '/'){ + if($path !== '' and $path !== '/') { OC_FileCache::increaseSize(dirname($path), $size-$cachedSize, $root); } } @@ -184,7 +184,7 @@ class OC_FileCache_Update{ * @param string path * @param string root (optional) */ - public static function delete($path,$root=false) { + public static function delete($path, $root=false) { $cached=OC_FileCache_Cached::get($path, $root); if(!isset($cached['size'])) { return; @@ -200,7 +200,7 @@ class OC_FileCache_Update{ * @param string newPath * @param string root (optional) */ - public static function rename($oldPath,$newPath,$root=false) { + public static function rename($oldPath, $newPath, $root=false) { if(!OC_FileCache::inCache($oldPath, $root)) { return; } @@ -216,4 +216,12 @@ class OC_FileCache_Update{ OC_FileCache::increaseSize(dirname($newPath), $oldSize, $root); OC_FileCache::move($oldPath, $newPath); } + + /** + * delete files owned by user from the cache + * @param string $parameters$parameters["uid"]) + */ + public static function deleteFromUser($parameters) { + OC_FileCache::clear($parameters["uid"]); + } } diff --git a/lib/filechunking.php b/lib/filechunking.php index 5ab33c77ad7087d190d4c1490683749a072a745e..55a4d7304304dd5237cfe196533534efc6de4669 100644 --- a/lib/filechunking.php +++ b/lib/filechunking.php @@ -59,7 +59,7 @@ class OC_FileChunking { for($i=0; $i < $this->info['chunkcount']; $i++) { $chunk = $cache->get($prefix.$i); $cache->remove($prefix.$i); - $count += fwrite($f,$chunk); + $count += fwrite($f, $chunk); } return $count; } diff --git a/lib/fileproxy.php b/lib/fileproxy.php index 17380c656a3c5205bf5928579850276d7030c87e..2f81bde64a18e61dc8912f929643d5bd0b7adcd0 100644 --- a/lib/fileproxy.php +++ b/lib/fileproxy.php @@ -51,8 +51,8 @@ class OC_FileProxy{ * * this implements a dummy proxy for all operations */ - public function __call($function,$arguments) { - if(substr($function,0,3)=='pre') { + public function __call($function, $arguments) { + if(substr($function, 0, 3)=='pre') { return true; }else{ return $arguments[1]; @@ -70,7 +70,7 @@ class OC_FileProxy{ public static function getProxies($operation) { $proxies=array(); foreach(self::$proxies as $proxy) { - if(method_exists($proxy,$operation)) { + if(method_exists($proxy, $operation)) { $proxies[]=$proxy; } } @@ -85,7 +85,7 @@ class OC_FileProxy{ $proxies=self::getProxies($operation); foreach($proxies as $proxy) { if(!is_null($filepath2)) { - if($proxy->$operation($filepath,$filepath2)===false) { + if($proxy->$operation($filepath, $filepath2)===false) { return false; } }else{ @@ -97,14 +97,14 @@ class OC_FileProxy{ return true; } - public static function runPostProxies($operation,$path,$result) { + public static function runPostProxies($operation, $path, $result) { if(!self::$enabled) { return $result; } $operation='post'.$operation; $proxies=self::getProxies($operation); foreach($proxies as $proxy) { - $result=$proxy->$operation($path,$result); + $result=$proxy->$operation($path, $result); } return $result; } diff --git a/lib/fileproxy/fileoperations.php b/lib/fileproxy/fileoperations.php index 23fb63fcfb114383631da82cb3c1d8dbb78738cc..516629adaec1e8474623d87abec358a3fcdd9f38 100644 --- a/lib/fileproxy/fileoperations.php +++ b/lib/fileproxy/fileoperations.php @@ -28,7 +28,7 @@ class OC_FileProxy_FileOperations extends OC_FileProxy{ static $rootView; public function premkdir($path) { - if(!self::$rootView){ + if(!self::$rootView) { self::$rootView = new OC_FilesystemView(''); } return !self::$rootView->file_exists($path); diff --git a/lib/fileproxy/quota.php b/lib/fileproxy/quota.php index 5a0dbdb6fe2312f8e9edc6226bd1166900aef1d4..742e02d471b66b86951baf832148a1861dedd3fd 100644 --- a/lib/fileproxy/quota.php +++ b/lib/fileproxy/quota.php @@ -27,77 +27,83 @@ class OC_FileProxy_Quota extends OC_FileProxy{ static $rootView; - private $userQuota=-1; + private $userQuota=array(); /** - * get the quota for the current user + * get the quota for the user + * @param user * @return int */ - private function getQuota() { - if($this->userQuota!=-1) { - return $this->userQuota; + private function getQuota($user) { + if(in_array($user, $this->userQuota)) { + return $this->userQuota[$user]; } - $userQuota=OC_Preferences::getValue(OC_User::getUser(),'files','quota','default'); + $userQuota=OC_Preferences::getValue($user, 'files', 'quota', 'default'); if($userQuota=='default') { - $userQuota=OC_AppConfig::getValue('files','default_quota','none'); + $userQuota=OC_AppConfig::getValue('files', 'default_quota', 'none'); } if($userQuota=='none') { - $this->userQuota=0; + $this->userQuota[$user]=-1; }else{ - $this->userQuota=OC_Helper::computerFileSize($userQuota); + $this->userQuota[$user]=OC_Helper::computerFileSize($userQuota); } - return $this->userQuota; + return $this->userQuota[$user]; } /** - * get the free space in the users home folder + * get the free space in the path's owner home folder + * @param path * @return int */ - private function getFreeSpace() { - $rootInfo=OC_FileCache_Cached::get(''); + private function getFreeSpace($path) { + $storage=OC_Filesystem::getStorage($path); + $owner=$storage->getOwner($path); + + $totalSpace=$this->getQuota($owner); + if($totalSpace==-1) { + return -1; + } + + $rootInfo=OC_FileCache::get('', "/".$owner."/files"); // TODO Remove after merge of share_api - if (OC_FileCache::inCache('/Shared')) { - $sharedInfo=OC_FileCache_Cached::get('/Shared'); + if (OC_FileCache::inCache('/Shared', "/".$owner."/files")) { + $sharedInfo=OC_FileCache::get('/Shared', "/".$owner."/files"); } else { $sharedInfo = null; } $usedSpace=isset($rootInfo['size'])?$rootInfo['size']:0; $usedSpace=isset($sharedInfo['size'])?$usedSpace-$sharedInfo['size']:$usedSpace; - $totalSpace=$this->getQuota(); - if($totalSpace==0) { - return 0; - } return $totalSpace-$usedSpace; } - - public function postFree_space($path,$space) { - $free=$this->getFreeSpace(); - if($free==0) { + + public function postFree_space($path, $space) { + $free=$this->getFreeSpace($path); + if($free==-1) { return $space; } - return min($free,$space); + return min($free, $space); } - public function preFile_put_contents($path,$data) { + public function preFile_put_contents($path, $data) { if (is_resource($data)) { $data = '';//TODO: find a way to get the length of the stream without emptying it } - return (strlen($data)<$this->getFreeSpace() or $this->getFreeSpace()==0); + return (strlen($data)<$this->getFreeSpace($path) or $this->getFreeSpace($path)==-1); } - public function preCopy($path1,$path2) { - if(!self::$rootView){ + public function preCopy($path1, $path2) { + if(!self::$rootView) { self::$rootView = new OC_FilesystemView(''); } - return (self::$rootView->filesize($path1)<$this->getFreeSpace() or $this->getFreeSpace()==0); + return (self::$rootView->filesize($path1)<$this->getFreeSpace($path2) or $this->getFreeSpace($path2)==-1); } - public function preFromTmpFile($tmpfile,$path) { - return (filesize($tmpfile)<$this->getFreeSpace() or $this->getFreeSpace()==0); + public function preFromTmpFile($tmpfile, $path) { + return (filesize($tmpfile)<$this->getFreeSpace($path) or $this->getFreeSpace($path)==-1); } - public function preFromUploadedFile($tmpfile,$path) { - return (filesize($tmpfile)<$this->getFreeSpace() or $this->getFreeSpace()==0); + public function preFromUploadedFile($tmpfile, $path) { + return (filesize($tmpfile)<$this->getFreeSpace($path) or $this->getFreeSpace($path)==-1); } } diff --git a/lib/files.php b/lib/files.php index 2b2b8b42dc41360a4b5ef72e942ef92c7dc748e5..b4a4145a4939c03e7e6fa2e7346528f18d1d5431 100644 --- a/lib/files.php +++ b/lib/files.php @@ -42,16 +42,20 @@ class OC_Files { * - versioned */ public static function getFileInfo($path) { + $path = OC_Filesystem::normalizePath($path); if (($path == '/Shared' || substr($path, 0, 8) == '/Shared/') && OC_App::isEnabled('files_sharing')) { if ($path == '/Shared') { list($info) = OCP\Share::getItemsSharedWith('file', OC_Share_Backend_File::FORMAT_FILE_APP_ROOT); - }else{ - $info['size'] = OC_Filesystem::filesize($path); - $info['mtime'] = OC_Filesystem::filemtime($path); - $info['ctime'] = OC_Filesystem::filectime($path); - $info['mimetype'] = OC_Filesystem::getMimeType($path); - $info['encrypted'] = false; - $info['versioned'] = false; + } else { + $info = array(); + if (OC_Filesystem::file_exists($path)) { + $info['size'] = OC_Filesystem::filesize($path); + $info['mtime'] = OC_Filesystem::filemtime($path); + $info['ctime'] = OC_Filesystem::filectime($path); + $info['mimetype'] = OC_Filesystem::getMimeType($path); + $info['encrypted'] = false; + $info['versioned'] = false; + } } } else { $info = OC_FileCache::get($path); @@ -87,16 +91,16 @@ class OC_Files { foreach ($files as &$file) { $file['directory'] = $directory; $file['type'] = ($file['mimetype'] == 'httpd/unix-directory') ? 'dir' : 'file'; - $permissions = OCP\Share::PERMISSION_READ; + $permissions = OCP\PERMISSION_READ; // NOTE: Remove check when new encryption is merged if (!$file['encrypted']) { - $permissions |= OCP\Share::PERMISSION_SHARE; + $permissions |= OCP\PERMISSION_SHARE; } if ($file['type'] == 'dir' && $file['writable']) { - $permissions |= OCP\Share::PERMISSION_CREATE; + $permissions |= OCP\PERMISSION_CREATE; } if ($file['writable']) { - $permissions |= OCP\Share::PERMISSION_UPDATE | OCP\Share::PERMISSION_DELETE; + $permissions |= OCP\PERMISSION_UPDATE | OCP\PERMISSION_DELETE; } $file['permissions'] = $permissions; } @@ -135,18 +139,27 @@ class OC_Files { * @param file $file ; seperated list of files to download * @param boolean $only_header ; boolean to only send header of the request */ - public static function get($dir,$files, $only_header = false) { - if(strpos($files,';')) { - $files=explode(';',$files); + public static function get($dir, $files, $only_header = false) { + $xsendfile = false; + if (isset($_SERVER['MOD_X_SENDFILE_ENABLED']) || + isset($_SERVER['MOD_X_ACCEL_REDIRECT_ENABLED'])) { + $xsendfile = true; + } + if(strpos($files, ';')) { + $files=explode(';', $files); } if(is_array($files)) { - self::validateZipDownload($dir,$files); + self::validateZipDownload($dir, $files); $executionTime = intval(ini_get('max_execution_time')); set_time_limit(0); $zip = new ZipArchive(); - $filename = OC_Helper::tmpFile('.zip'); - if ($zip->open($filename, ZIPARCHIVE::CREATE | ZIPARCHIVE::OVERWRITE)!==TRUE) { + if ($xsendfile) { + $filename = OC_Helper::tmpFileNoClean('.zip'); + }else{ + $filename = OC_Helper::tmpFile('.zip'); + } + if ($zip->open($filename, ZIPARCHIVE::CREATE | ZIPARCHIVE::OVERWRITE)!==true) { exit("cannot open <$filename>\n"); } foreach($files as $file) { @@ -154,31 +167,35 @@ class OC_Files { if(OC_Filesystem::is_file($file)) { $tmpFile=OC_Filesystem::toTmpFile($file); self::$tmpFiles[]=$tmpFile; - $zip->addFile($tmpFile,basename($file)); + $zip->addFile($tmpFile, basename($file)); }elseif(OC_Filesystem::is_dir($file)) { - self::zipAddDir($file,$zip); + self::zipAddDir($file, $zip); } } $zip->close(); set_time_limit($executionTime); }elseif(OC_Filesystem::is_dir($dir.'/'.$files)) { - self::validateZipDownload($dir,$files); + self::validateZipDownload($dir, $files); $executionTime = intval(ini_get('max_execution_time')); set_time_limit(0); $zip = new ZipArchive(); - $filename = OC_Helper::tmpFile('.zip'); - if ($zip->open($filename, ZIPARCHIVE::CREATE | ZIPARCHIVE::OVERWRITE)!==TRUE) { + if ($xsendfile) { + $filename = OC_Helper::tmpFileNoClean('.zip'); + }else{ + $filename = OC_Helper::tmpFile('.zip'); + } + if ($zip->open($filename, ZIPARCHIVE::CREATE | ZIPARCHIVE::OVERWRITE)!==true) { exit("cannot open <$filename>\n"); } $file=$dir.'/'.$files; - self::zipAddDir($file,$zip); + self::zipAddDir($file, $zip); $zip->close(); set_time_limit($executionTime); }else{ $zip=false; $filename=$dir.'/'.$files; } - @ob_end_clean(); + OC_Util::obEnd(); if($zip or OC_Filesystem::is_readable($filename)) { header('Content-Disposition: attachment; filename="'.basename($filename).'"'); header('Content-Transfer-Encoding: binary'); @@ -187,13 +204,18 @@ class OC_Files { ini_set('zlib.output_compression', 'off'); header('Content-Type: application/zip'); header('Content-Length: ' . filesize($filename)); + self::addSendfileHeader($filename); }else{ header('Content-Type: '.OC_Filesystem::getMimeType($filename)); + $storage = OC_Filesystem::getStorage($filename); + if ($storage instanceof OC_Filestorage_Local) { + self::addSendfileHeader(OC_Filesystem::getLocalFile($filename)); + } } }elseif($zip or !OC_Filesystem::file_exists($filename)) { header("HTTP/1.0 404 Not Found"); $tmpl = new OC_Template( '', '404', 'guest' ); - $tmpl->assign('file',$filename); + $tmpl->assign('file', $filename); $tmpl->printPage(); }else{ header("HTTP/1.0 403 Forbidden"); @@ -205,7 +227,7 @@ class OC_Files { return ; } if($zip) { - $handle=fopen($filename,'r'); + $handle=fopen($filename, 'r'); if ($handle) { $chunkSize = 8*1024;// 1 MB chunks while (!feof($handle)) { @@ -213,7 +235,9 @@ class OC_Files { flush(); } } - unlink($filename); + if (!$xsendfile) { + unlink($filename); + } }else{ OC_Filesystem::readfile($filename); } @@ -224,20 +248,29 @@ class OC_Files { } } - public static function zipAddDir($dir,$zip,$internalDir='') { + private static function addSendfileHeader($filename) { + if (isset($_SERVER['MOD_X_SENDFILE_ENABLED'])) { + header("X-Sendfile: " . $filename); + } + if (isset($_SERVER['MOD_X_ACCEL_REDIRECT_ENABLED'])) { + header("X-Accel-Redirect: " . $filename); + } + } + + public static function zipAddDir($dir, $zip, $internalDir='') { $dirname=basename($dir); $zip->addEmptyDir($internalDir.$dirname); $internalDir.=$dirname.='/'; - $files=OC_Files::getdirectorycontent($dir); + $files=OC_Files::getDirectoryContent($dir); foreach($files as $file) { $filename=$file['name']; $file=$dir.'/'.$filename; if(OC_Filesystem::is_file($file)) { $tmpFile=OC_Filesystem::toTmpFile($file); OC_Files::$tmpFiles[]=$tmpFile; - $zip->addFile($tmpFile,$internalDir.$filename); + $zip->addFile($tmpFile, $internalDir.$filename); }elseif(OC_Filesystem::is_dir($file)) { - self::zipAddDir($file,$zip,$internalDir); + self::zipAddDir($file, $zip, $internalDir); } } } @@ -249,11 +282,11 @@ class OC_Files { * @param dir $targetDir * @param file $target */ - public static function move($sourceDir,$source,$targetDir,$target) { + public static function move($sourceDir, $source, $targetDir, $target) { if(OC_User::isLoggedIn() && ($sourceDir != '' || $source != 'Shared')) { $targetFile=self::normalizePath($targetDir.'/'.$target); $sourceFile=self::normalizePath($sourceDir.'/'.$source); - return OC_Filesystem::rename($sourceFile,$targetFile); + return OC_Filesystem::rename($sourceFile, $targetFile); } else { return false; } @@ -267,11 +300,11 @@ class OC_Files { * @param dir $targetDir * @param file $target */ - public static function copy($sourceDir,$source,$targetDir,$target) { + public static function copy($sourceDir, $source, $targetDir, $target) { if(OC_User::isLoggedIn()) { $targetFile=$targetDir.'/'.$target; $sourceFile=$sourceDir.'/'.$source; - return OC_Filesystem::copy($sourceFile,$targetFile); + return OC_Filesystem::copy($sourceFile, $targetFile); } } @@ -282,7 +315,7 @@ class OC_Files { * @param file $name * @param type $type */ - public static function newFile($dir,$name,$type) { + public static function newFile($dir, $name, $type) { if(OC_User::isLoggedIn()) { $file=$dir.'/'.$name; if($type=='dir') { @@ -305,7 +338,7 @@ class OC_Files { * @param dir $dir * @param file $name */ - public static function delete($dir,$file) { + public static function delete($dir, $file) { if(OC_User::isLoggedIn() && ($dir!= '' || $file != 'Shared')) { $file=$dir.'/'.$file; return OC_Filesystem::unlink($file); @@ -389,12 +422,12 @@ class OC_Files { * @param string file * @return string guessed mime type */ - static function pull($source,$token,$dir,$file) { - $tmpfile=tempnam(get_temp_dir(),'remoteCloudFile'); - $fp=fopen($tmpfile,'w+'); + static function pull($source, $token, $dir, $file) { + $tmpfile=tempnam(get_temp_dir(), 'remoteCloudFile'); + $fp=fopen($tmpfile, 'w+'); $url=$source.="/files/pull.php?token=$token"; $ch=curl_init(); - curl_setopt($ch,CURLOPT_URL,$url); + curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_FILE, $fp); curl_exec($ch); fclose($fp); @@ -402,7 +435,7 @@ class OC_Files { $httpCode=$info['http_code']; curl_close($ch); if($httpCode==200 or $httpCode==0) { - OC_Filesystem::fromTmpFile($tmpfile,$dir.'/'.$file); + OC_Filesystem::fromTmpFile($tmpfile, $dir.'/'.$file); return true; }else{ return false; @@ -423,8 +456,8 @@ class OC_Files { $size -=1; } else { $size=OC_Helper::humanFileSize($size); - $size=substr($size,0,-1);//strip the B - $size=str_replace(' ','',$size); //remove the space between the size and the postfix + $size=substr($size, 0, -1);//strip the B + $size=str_replace(' ', '', $size); //remove the space between the size and the postfix } //don't allow user to break his config -- broken or malicious size input @@ -447,7 +480,7 @@ class OC_Files { $setting = 'php_value '.$key.' '.$size; $hasReplaced = 0; $content = preg_replace($pattern, $setting, $htaccess, 1, $hasReplaced); - if($content !== NULL) { + if($content !== null) { $htaccess = $content; } if($hasReplaced == 0) { @@ -459,7 +492,7 @@ class OC_Files { if(is_writable(OC::$SERVERROOT.'/.htaccess')) { file_put_contents(OC::$SERVERROOT.'/.htaccess', $htaccess); return OC_Helper::computerFileSize($size); - } else { OC_Log::write('files','Can\'t write upload limit to '.OC::$SERVERROOT.'/.htaccess. Please check the file permissions',OC_Log::WARN); } + } else { OC_Log::write('files', 'Can\'t write upload limit to '.OC::$SERVERROOT.'/.htaccess. Please check the file permissions', OC_Log::WARN); } return false; } @@ -474,18 +507,18 @@ class OC_Files { $old=''; while($old!=$path) {//replace any multiplicity of slashes with a single one $old=$path; - $path=str_replace('//','/',$path); + $path=str_replace('//', '/', $path); } return $path; } } -function fileCmp($a,$b) { +function fileCmp($a, $b) { if($a['type']=='dir' and $b['type']!='dir') { return -1; }elseif($a['type']!='dir' and $b['type']=='dir') { return 1; }else{ - return strnatcasecmp($a['name'],$b['name']); + return strnatcasecmp($a['name'], $b['name']); } } diff --git a/lib/filestorage.php b/lib/filestorage.php index 5bfd09253d5fcd432969c05a38147e2345d41a72..dd65f4421b7f0c18e87a125aacecc6be2b73e627 100644 --- a/lib/filestorage.php +++ b/lib/filestorage.php @@ -42,13 +42,13 @@ abstract class OC_Filestorage{ abstract public function filectime($path); abstract public function filemtime($path); abstract public function file_get_contents($path); - abstract public function file_put_contents($path,$data); + abstract public function file_put_contents($path, $data); abstract public function unlink($path); - abstract public function rename($path1,$path2); - abstract public function copy($path1,$path2); - abstract public function fopen($path,$mode); + abstract public function rename($path1, $path2); + abstract public function copy($path1, $path2); + abstract public function fopen($path, $mode); abstract public function getMimeType($path); - abstract public function hash($type,$path,$raw = false); + abstract public function hash($type, $path, $raw = false); abstract public function free_space($path); abstract public function search($query); abstract public function touch($path, $mtime=null); @@ -62,5 +62,6 @@ abstract class OC_Filestorage{ * hasUpdated for folders should return at least true if a file inside the folder is add, removed or renamed. * returning true for other changes in the folder is optional */ - abstract public function hasUpdated($path,$time); + abstract public function hasUpdated($path, $time); + abstract public function getOwner($path); } diff --git a/lib/filestorage/common.php b/lib/filestorage/common.php index 351714437c58d36c482779898651877dd543adef..b97eb79d8d4f1d0feb937e4275ea7c790ff7341f 100644 --- a/lib/filestorage/common.php +++ b/lib/filestorage/common.php @@ -89,25 +89,25 @@ abstract class OC_Filestorage_Common extends OC_Filestorage { } return fread($handle, $size); } - public function file_put_contents($path,$data) { + public function file_put_contents($path, $data) { $handle = $this->fopen($path, "w"); return fwrite($handle, $data); } // abstract public function unlink($path); - public function rename($path1,$path2) { - if($this->copy($path1,$path2)) { + public function rename($path1, $path2) { + if($this->copy($path1, $path2)) { return $this->unlink($path1); }else{ return false; } } - public function copy($path1,$path2) { - $source=$this->fopen($path1,'r'); - $target=$this->fopen($path2,'w'); - $count=OC_Helper::streamCopy($source,$target); + public function copy($path1, $path2) { + $source=$this->fopen($path1, 'r'); + $target=$this->fopen($path2, 'w'); + $count=OC_Helper::streamCopy($source, $target); return $count>0; } -// abstract public function fopen($path,$mode); +// abstract public function fopen($path, $mode); /** * @brief Deletes all files and folders recursively within a directory @@ -188,25 +188,25 @@ abstract class OC_Filestorage_Common extends OC_Filestorage { if($this->is_dir($path)) { return 'httpd/unix-directory'; } - $source=$this->fopen($path,'r'); + $source=$this->fopen($path, 'r'); if(!$source) { return false; } - $head=fread($source,8192);//8kb should suffice to determine a mimetype - if($pos=strrpos($path,'.')) { - $extension=substr($path,$pos); + $head=fread($source, 8192);//8kb should suffice to determine a mimetype + if($pos=strrpos($path, '.')) { + $extension=substr($path, $pos); }else{ $extension=''; } $tmpFile=OC_Helper::tmpFile($extension); - file_put_contents($tmpFile,$head); + file_put_contents($tmpFile, $head); $mime=OC_Helper::getMimeType($tmpFile); unlink($tmpFile); return $mime; } - public function hash($type,$path,$raw = false) { + public function hash($type, $path, $raw = false) { $tmpFile=$this->getLocalFile(); - $hash=hash($type,$tmpFile,$raw); + $hash=hash($type, $tmpFile, $raw); unlink($tmpFile); return $hash; } @@ -218,35 +218,35 @@ abstract class OC_Filestorage_Common extends OC_Filestorage { return $this->toTmpFile($path); } private function toTmpFile($path) {//no longer in the storage api, still usefull here - $source=$this->fopen($path,'r'); + $source=$this->fopen($path, 'r'); if(!$source) { return false; } - if($pos=strrpos($path,'.')) { - $extension=substr($path,$pos); + if($pos=strrpos($path, '.')) { + $extension=substr($path, $pos); }else{ $extension=''; } $tmpFile=OC_Helper::tmpFile($extension); - $target=fopen($tmpFile,'w'); - OC_Helper::streamCopy($source,$target); + $target=fopen($tmpFile, 'w'); + OC_Helper::streamCopy($source, $target); return $tmpFile; } public function getLocalFolder($path) { $baseDir=OC_Helper::tmpFolder(); - $this->addLocalFolder($path,$baseDir); + $this->addLocalFolder($path, $baseDir); return $baseDir; } - private function addLocalFolder($path,$target) { + private function addLocalFolder($path, $target) { if($dh=$this->opendir($path)) { while($file=readdir($dh)) { if($file!=='.' and $file!=='..') { if($this->is_dir($path.'/'.$file)) { mkdir($target.'/'.$file); - $this->addLocalFolder($path.'/'.$file,$target.'/'.$file); + $this->addLocalFolder($path.'/'.$file, $target.'/'.$file); }else{ $tmp=$this->toTmpFile($path.'/'.$file); - rename($tmp,$target.'/'.$file); + rename($tmp, $target.'/'.$file); } } } @@ -254,17 +254,17 @@ abstract class OC_Filestorage_Common extends OC_Filestorage { } // abstract public function touch($path, $mtime=null); - protected function searchInDir($query,$dir='') { + protected function searchInDir($query, $dir='') { $files=array(); $dh=$this->opendir($dir); if($dh) { while($item=readdir($dh)) { if ($item == '.' || $item == '..') continue; - if(strstr(strtolower($item),strtolower($query))!==false) { + if(strstr(strtolower($item), strtolower($query))!==false) { $files[]=$dir.'/'.$item; } if($this->is_dir($dir.'/'.$item)) { - $files=array_merge($files,$this->searchInDir($query,$dir.'/'.$item)); + $files=array_merge($files, $this->searchInDir($query, $dir.'/'.$item)); } } } @@ -276,7 +276,16 @@ abstract class OC_Filestorage_Common extends OC_Filestorage { * @param int $time * @return bool */ - public function hasUpdated($path,$time) { + public function hasUpdated($path, $time) { return $this->filemtime($path)>$time; } + + /** + * get the owner of a path + * @param $path The path to get the owner + * @return string uid or false + */ + public function getOwner($path) { + return OC_User::getUser(); + } } diff --git a/lib/filestorage/commontest.php b/lib/filestorage/commontest.php index b88bb232c3647830fcc7e33f2593941c6b570932..3b038b3fda9e08206b467422c77051851c82e72d 100644 --- a/lib/filestorage/commontest.php +++ b/lib/filestorage/commontest.php @@ -63,13 +63,13 @@ class OC_Filestorage_CommonTest extends OC_Filestorage_Common{ public function unlink($path) { return $this->storage->unlink($path); } - public function fopen($path,$mode) { - return $this->storage->fopen($path,$mode); + public function fopen($path, $mode) { + return $this->storage->fopen($path, $mode); } public function free_space($path) { return $this->storage->free_space($path); } public function touch($path, $mtime=null) { - return $this->storage->touch($path,$mtime); + return $this->storage->touch($path, $mtime); } } \ No newline at end of file diff --git a/lib/filestorage/local.php b/lib/filestorage/local.php index 726ffeb33cd7dcab2a69dc3ed7b4c2dbd49903c2..de5b804df38ac3725be904abbc4290afe03e5c14 100644 --- a/lib/filestorage/local.php +++ b/lib/filestorage/local.php @@ -6,7 +6,7 @@ class OC_Filestorage_Local extends OC_Filestorage_Common{ protected $datadir; public function __construct($arguments) { $this->datadir=$arguments['datadir']; - if(substr($this->datadir,-1)!=='/') { + if(substr($this->datadir, -1)!=='/') { $this->datadir.='/'; } } @@ -20,8 +20,8 @@ class OC_Filestorage_Local extends OC_Filestorage_Common{ return opendir($this->datadir.$path); } public function is_dir($path) { - if(substr($path,-1)=='/') { - $path=substr($path,0,-1); + if(substr($path, -1)=='/') { + $path=substr($path, 0, -1); } return is_dir($this->datadir.$path); } @@ -78,38 +78,38 @@ class OC_Filestorage_Local extends OC_Filestorage_Common{ public function file_get_contents($path) { return file_get_contents($this->datadir.$path); } - public function file_put_contents($path,$data) { - return file_put_contents($this->datadir.$path,$data); + public function file_put_contents($path, $data) {//trigger_error("$path = ".var_export($path, 1)); + return file_put_contents($this->datadir.$path, $data); } public function unlink($path) { return $this->delTree($path); } - public function rename($path1,$path2) { + public function rename($path1, $path2) { if (!$this->isUpdatable($path1)) { - OC_Log::write('core','unable to rename, file is not writable : '.$path1,OC_Log::ERROR); + OC_Log::write('core', 'unable to rename, file is not writable : '.$path1, OC_Log::ERROR); return false; } if(! $this->file_exists($path1)) { - OC_Log::write('core','unable to rename, file does not exists : '.$path1,OC_Log::ERROR); + OC_Log::write('core', 'unable to rename, file does not exists : '.$path1, OC_Log::ERROR); return false; } - if($return=rename($this->datadir.$path1,$this->datadir.$path2)) { + if($return=rename($this->datadir.$path1, $this->datadir.$path2)) { } return $return; } - public function copy($path1,$path2) { + public function copy($path1, $path2) { if($this->is_dir($path2)) { if(!$this->file_exists($path2)) { $this->mkdir($path2); } - $source=substr($path1,strrpos($path1,'/')+1); + $source=substr($path1, strrpos($path1, '/')+1); $path2.=$source; } - return copy($this->datadir.$path1,$this->datadir.$path2); + return copy($this->datadir.$path1, $this->datadir.$path2); } - public function fopen($path,$mode) { - if($return=fopen($this->datadir.$path,$mode)) { + public function fopen($path, $mode) { + if($return=fopen($this->datadir.$path, $mode)) { switch($mode) { case 'r': break; @@ -156,8 +156,8 @@ class OC_Filestorage_Local extends OC_Filestorage_Common{ return $return; } - public function hash($path,$type,$raw=false) { - return hash_file($type,$this->datadir.$path,$raw); + public function hash($path, $type, $raw=false) { + return hash_file($type, $this->datadir.$path, $raw); } public function free_space($path) { @@ -174,35 +174,26 @@ class OC_Filestorage_Local extends OC_Filestorage_Common{ return $this->datadir.$path; } - protected function searchInDir($query,$dir='') { + protected function searchInDir($query, $dir='') { $files=array(); foreach (scandir($this->datadir.$dir) as $item) { if ($item == '.' || $item == '..') continue; - if(strstr(strtolower($item),strtolower($query))!==false) { + if(strstr(strtolower($item), strtolower($query))!==false) { $files[]=$dir.'/'.$item; } if(is_dir($this->datadir.$dir.'/'.$item)) { - $files=array_merge($files,$this->searchInDir($query,$dir.'/'.$item)); + $files=array_merge($files, $this->searchInDir($query, $dir.'/'.$item)); } } return $files; } - /** - * @brief get the size of folder and it's content - * @param string $path file path - * @return int size of folder and it's content - */ - public function getFolderSize($path){ - return 0;//depricated, use OC_FileCach instead - } - /** * check if a file or folder has been updated since $time * @param int $time * @return bool */ - public function hasUpdated($path,$time) { + public function hasUpdated($path, $time) { return $this->filemtime($path)>$time; } } diff --git a/lib/filesystem.php b/lib/filesystem.php index da524d7f181a82c6f93335abcd1a569f4e42fbb3..aa03593908da288152355f8814c62d0345969f4d 100644 --- a/lib/filesystem.php +++ b/lib/filesystem.php @@ -35,10 +35,10 @@ * post_create(path) * delete(path, &run) * post_delete(path) - * rename(oldpath,newpath, &run) - * post_rename(oldpath,newpath) - * copy(oldpath,newpath, &run) (if the newpath doesn't exists yes, copy, create and write will be emited in that order) - * post_rename(oldpath,newpath) + * rename(oldpath, newpath, &run) + * post_rename(oldpath, newpath) + * copy(oldpath, newpath, &run) (if the newpath doesn't exists yes, copy, create and write will be emited in that order) + * post_rename(oldpath, newpath) * * the &run parameter can be set to false to prevent the operation from occuring */ @@ -46,6 +46,7 @@ class OC_Filesystem{ static private $storages=array(); static private $mounts=array(); + static private $loadedUsers=array(); public static $loaded=false; /** * @var OC_Filestorage $defaultInstance @@ -147,21 +148,21 @@ class OC_Filesystem{ * @return string */ static public function getMountPoint($path) { - OC_Hook::emit(self::CLASSNAME,'get_mountpoint',array('path'=>$path)); + OC_Hook::emit(self::CLASSNAME, 'get_mountpoint', array('path'=>$path)); if(!$path) { $path='/'; } if($path[0]!=='/') { $path='/'.$path; } - $path=str_replace('//', '/',$path); + $path=str_replace('//', '/', $path); $foundMountPoint=''; $mountPoints=array_keys(OC_Filesystem::$mounts); foreach($mountPoints as $mountpoint) { if($mountpoint==$path) { return $mountpoint; } - if(strpos($path,$mountpoint)===0 and strlen($mountpoint)>strlen($foundMountPoint)) { + if(strpos($path, $mountpoint)===0 and strlen($mountpoint)>strlen($foundMountPoint)) { $foundMountPoint=$mountpoint; } } @@ -175,75 +176,95 @@ class OC_Filesystem{ */ static public function getInternalPath($path) { $mountPoint=self::getMountPoint($path); - $internalPath=substr($path,strlen($mountPoint)); + $internalPath=substr($path, strlen($mountPoint)); return $internalPath; } + + static private function mountPointsLoaded($user) { + return in_array($user, self::$loadedUsers); + } + /** * get the storage object for a path * @param string path * @return OC_Filestorage */ static public function getStorage($path) { + $user = ltrim(substr($path, 0, strpos($path, '/', 1)), '/'); + // check mount points if file was shared from a different user + if ($user != OC_User::getUser() && !self::mountPointsLoaded($user)) { + OC_Util::loadUserMountPoints($user); + self::loadSystemMountPoints($user); + self::$loadedUsers[] = $user; + } + $mountpoint=self::getMountPoint($path); if($mountpoint) { if(!isset(OC_Filesystem::$storages[$mountpoint])) { $mount=OC_Filesystem::$mounts[$mountpoint]; - OC_Filesystem::$storages[$mountpoint]=OC_Filesystem::createStorage($mount['class'],$mount['arguments']); + OC_Filesystem::$storages[$mountpoint]=OC_Filesystem::createStorage($mount['class'], $mount['arguments']); } return OC_Filesystem::$storages[$mountpoint]; } } - static public function init($root) { - if(self::$defaultInstance) { - return false; - } - self::$defaultInstance=new OC_FilesystemView($root); - - //load custom mount config + static private function loadSystemMountPoints($user) { if(is_file(OC::$SERVERROOT.'/config/mount.php')) { - $mountConfig=include(OC::$SERVERROOT.'/config/mount.php'); + $mountConfig=include OC::$SERVERROOT.'/config/mount.php'; if(isset($mountConfig['global'])) { foreach($mountConfig['global'] as $mountPoint=>$options) { - self::mount($options['class'],$options['options'],$mountPoint); + self::mount($options['class'], $options['options'], $mountPoint); } } - + if(isset($mountConfig['group'])) { foreach($mountConfig['group'] as $group=>$mounts) { - if(OC_Group::inGroup(OC_User::getUser(),$group)) { + if(OC_Group::inGroup($user, $group)) { foreach($mounts as $mountPoint=>$options) { - $mountPoint=self::setUserVars($mountPoint); + $mountPoint=self::setUserVars($mountPoint, $user); foreach($options as &$option) { - $option=self::setUserVars($option); + $option=self::setUserVars($option, $user); } - self::mount($options['class'],$options['options'],$mountPoint); + self::mount($options['class'], $options['options'], $mountPoint); } } } } - + if(isset($mountConfig['user'])) { - foreach($mountConfig['user'] as $user=>$mounts) { - if($user==='all' or strtolower($user)===strtolower(OC_User::getUser())) { + foreach($mountConfig['user'] as $mountUser=>$mounts) { + if($user==='all' or strtolower($mountUser)===strtolower($user)) { foreach($mounts as $mountPoint=>$options) { - $mountPoint=self::setUserVars($mountPoint); + $mountPoint=self::setUserVars($mountPoint, $user); foreach($options as &$option) { - $option=self::setUserVars($option); + $option=self::setUserVars($option, $user); } - self::mount($options['class'],$options['options'],$mountPoint); + self::mount($options['class'], $options['options'], $mountPoint); } } } } - + $mtime=filemtime(OC::$SERVERROOT.'/config/mount.php'); - $previousMTime=OC_Appconfig::getValue('files','mountconfigmtime',0); + $previousMTime=OC_Appconfig::getValue('files', 'mountconfigmtime', 0); if($mtime>$previousMTime) {//mount config has changed, filecache needs to be updated OC_FileCache::triggerUpdate(); - OC_Appconfig::setValue('files','mountconfigmtime',$mtime); + OC_Appconfig::setValue('files', 'mountconfigmtime', $mtime); } + } + } + + static public function init($root, $user = '') { + if(self::$defaultInstance) { + return false; } + self::$defaultInstance=new OC_FilesystemView($root); + + //load custom mount config + if (!isset($user)) { + $user = OC_User::getUser(); + } + self::loadSystemMountPoints($user); self::$loaded=true; } @@ -253,8 +274,12 @@ class OC_Filesystem{ * @param string intput * @return string */ - private static function setUserVars($input) { - return str_replace('$user',OC_User::getUser(),$input); + private static function setUserVars($input, $user) { + if (isset($user)) { + return str_replace('$user', $user, $input); + } else { + return str_replace('$user', OC_User::getUser(), $input); + } } /** @@ -278,7 +303,7 @@ class OC_Filesystem{ * @param array arguments * @return OC_Filestorage */ - static private function createStorage($class,$arguments) { + static private function createStorage($class, $arguments) { if(class_exists($class)) { try { return new $class($arguments); @@ -287,7 +312,7 @@ class OC_Filesystem{ return false; } }else{ - OC_Log::write('core','storage backend '.$class.' not found',OC_Log::ERROR); + OC_Log::write('core', 'storage backend '.$class.' not found', OC_Log::ERROR); return false; } } @@ -324,14 +349,14 @@ class OC_Filesystem{ * @param OC_Filestorage storage * @param string mountpoint */ - static public function mount($class,$arguments,$mountpoint) { + static public function mount($class, $arguments, $mountpoint) { if($mountpoint[0]!='/') { $mountpoint='/'.$mountpoint; } - if(substr($mountpoint,-1)!=='/') { + if(substr($mountpoint, -1)!=='/') { $mountpoint=$mountpoint.'/'; } - self::$mounts[$mountpoint]=array('class'=>$class,'arguments'=>$arguments); + self::$mounts[$mountpoint]=array('class'=>$class, 'arguments'=>$arguments); } /** @@ -371,10 +396,14 @@ class OC_Filesystem{ * @return bool */ static public function isValidPath($path) { + $path = self::normalizePath($path); if(!$path || $path[0]!=='/') { $path='/'.$path; } - if(strstr($path,'/../') || strrchr($path, '/') === '/..' ) { + if(strstr($path, '/../') || strrchr($path, '/') === '/..' ) { + return false; + } + if(self::isFileBlacklisted($path)) { return false; } return true; @@ -386,20 +415,22 @@ class OC_Filesystem{ * @param array $data from hook */ static public function isBlacklisted($data) { - $blacklist = array('.htaccess'); if (isset($data['path'])) { $path = $data['path']; } else if (isset($data['newpath'])) { $path = $data['newpath']; } if (isset($path)) { - $filename = strtolower(basename($path)); - if (in_array($filename, $blacklist)) { - $data['run'] = false; - } + $data['run'] = !self::isFileBlacklisted($path); } } + static public function isFileBlacklisted($path) { + $blacklist = array('.htaccess'); + $filename = strtolower(basename($path)); + return in_array($filename, $blacklist); + } + /** * following functions are equivilent to their php buildin equivilents for arguments/return values. */ @@ -475,33 +506,33 @@ class OC_Filesystem{ static public function file_get_contents($path) { return self::$defaultInstance->file_get_contents($path); } - static public function file_put_contents($path,$data) { - return self::$defaultInstance->file_put_contents($path,$data); + static public function file_put_contents($path, $data) { + return self::$defaultInstance->file_put_contents($path, $data); } static public function unlink($path) { return self::$defaultInstance->unlink($path); } - static public function rename($path1,$path2) { - return self::$defaultInstance->rename($path1,$path2); + static public function rename($path1, $path2) { + return self::$defaultInstance->rename($path1, $path2); } - static public function copy($path1,$path2) { - return self::$defaultInstance->copy($path1,$path2); + static public function copy($path1, $path2) { + return self::$defaultInstance->copy($path1, $path2); } - static public function fopen($path,$mode) { - return self::$defaultInstance->fopen($path,$mode); + static public function fopen($path, $mode) { + return self::$defaultInstance->fopen($path, $mode); } static public function toTmpFile($path) { return self::$defaultInstance->toTmpFile($path); } - static public function fromTmpFile($tmpFile,$path) { - return self::$defaultInstance->fromTmpFile($tmpFile,$path); + static public function fromTmpFile($tmpFile, $path) { + return self::$defaultInstance->fromTmpFile($tmpFile, $path); } static public function getMimeType($path) { return self::$defaultInstance->getMimeType($path); } - static public function hash($type,$path, $raw = false) { - return self::$defaultInstance->hash($type,$path, $raw); + static public function hash($type, $path, $raw = false) { + return self::$defaultInstance->hash($type, $path, $raw); } static public function free_space($path='/') { @@ -517,8 +548,8 @@ class OC_Filesystem{ * @param int $time * @return bool */ - static public function hasUpdated($path,$time) { - return self::$defaultInstance->hasUpdated($path,$time); + static public function hasUpdated($path, $time) { + return self::$defaultInstance->hasUpdated($path, $time); } static public function removeETagHook($params, $root = false) { @@ -544,23 +575,23 @@ class OC_Filesystem{ * @param bool $stripTrailingSlash * @return string */ - public static function normalizePath($path,$stripTrailingSlash=true) { + public static function normalizePath($path, $stripTrailingSlash=true) { if($path=='') { return '/'; } //no windows style slashes - $path=str_replace('\\','/',$path); + $path=str_replace('\\', '/', $path); //add leading slash if($path[0]!=='/') { $path='/'.$path; } //remove trainling slash - if($stripTrailingSlash and strlen($path)>1 and substr($path,-1,1)==='/') { - $path=substr($path,0,-1); + if($stripTrailingSlash and strlen($path)>1 and substr($path, -1, 1)==='/') { + $path=substr($path, 0, -1); } //remove duplicate slashes - while(strpos($path,'//')!==false) { - $path=str_replace('//','/',$path); + while(strpos($path, '//')!==false) { + $path=str_replace('//', '/', $path); } //normalize unicode if possible if(class_exists('Normalizer')) { @@ -569,9 +600,9 @@ class OC_Filesystem{ return $path; } } -OC_Hook::connect('OC_Filesystem','post_write', 'OC_Filesystem','removeETagHook'); -OC_Hook::connect('OC_Filesystem','post_delete','OC_Filesystem','removeETagHook'); -OC_Hook::connect('OC_Filesystem','post_rename','OC_Filesystem','removeETagHook'); +OC_Hook::connect('OC_Filesystem', 'post_write', 'OC_Filesystem', 'removeETagHook'); +OC_Hook::connect('OC_Filesystem', 'post_delete', 'OC_Filesystem', 'removeETagHook'); +OC_Hook::connect('OC_Filesystem', 'post_rename', 'OC_Filesystem', 'removeETagHook'); OC_Util::setupFS(); require_once 'filecache.php'; diff --git a/lib/filesystemview.php b/lib/filesystemview.php index d7e60a8926e652f5cc49467fd50e9191f77f8e48..98895e0ba1f33c80370bd87500c01caa3e4c8bb3 100644 --- a/lib/filesystemview.php +++ b/lib/filesystemview.php @@ -36,9 +36,7 @@ * * Filesystem functions are not called directly; they are passed to the correct * OC_Filestorage object - */ - - /** + * * @note default root (if $root is empty or '/') is /data/[user]/ * @note If you don't include a leading slash, you may encounter problems. * e.g. use $v = new \OC_FilesystemView( '/' . $params['uid'] ); not @@ -53,11 +51,8 @@ class OC_FilesystemView { $this->fakeRoot=$root; } - public function getAbsolutePath($path) { - if(!$path) { - $path='/'; - } - if($path[0]!=='/') { + public function getAbsolutePath($path = '/') { + if(!$path || $path[0]!=='/') { $path='/'.$path; } return $this->fakeRoot.$path; @@ -148,7 +143,7 @@ class OC_FilesystemView { * @return string */ public function getLocalFile($path) { - $parent=substr($path, 0, strrpos($path,'/')); + $parent=substr($path, 0, strrpos($path, '/')); if(OC_Filesystem::isValidPath($parent) and $storage=$this->getStorage($path)) { return $storage->getLocalFile($this->getInternalPath($path)); } @@ -158,7 +153,7 @@ class OC_FilesystemView { * @return string */ public function getLocalFolder($path) { - $parent=substr($path, 0, strrpos($path,'/')); + $parent=substr($path, 0, strrpos($path, '/')); if(OC_Filesystem::isValidPath($parent) and $storage=$this->getStorage($path)) { return $storage->getLocalFolder($this->getInternalPath($path)); } @@ -204,7 +199,7 @@ class OC_FilesystemView { return $this->basicOperation('filesize', $path); } public function readfile($path) { - @ob_end_clean(); + OC_Util::obEnd(); $handle=$this->fopen($path, 'rb'); if ($handle) { $chunkSize = 8192;// 8 MB chunks @@ -221,13 +216,13 @@ class OC_FilesystemView { * @deprecated Replaced by isReadable() as part of CRUDS */ public function is_readable($path) { - return $this->basicOperation('isReadable',$path); + return $this->basicOperation('isReadable', $path); } /** * @deprecated Replaced by isCreatable(), isUpdatable(), isDeletable() as part of CRUDS */ public function is_writable($path) { - return $this->basicOperation('isUpdatable',$path); + return $this->basicOperation('isUpdatable', $path); } public function isCreatable($path) { return $this->basicOperation('isCreatable', $path); @@ -257,6 +252,9 @@ class OC_FilesystemView { return $this->basicOperation('filemtime', $path); } public function touch($path, $mtime=null) { + if(!is_null($mtime) and !is_numeric($mtime)) { + $mtime = strtotime($mtime); + } return $this->basicOperation('touch', $path, array('write'), $mtime); } public function file_get_contents($path) { @@ -269,7 +267,7 @@ class OC_FilesystemView { $path = $this->getRelativePath($absolutePath); $exists = $this->file_exists($path); $run = true; - if( $this->fakeRoot==OC_Filesystem::getRoot() ){ + if( $this->fakeRoot==OC_Filesystem::getRoot() ) { if(!$exists) { OC_Hook::emit( OC_Filesystem::CLASSNAME, @@ -297,7 +295,7 @@ class OC_FilesystemView { $count=OC_Helper::streamCopy($data, $target); fclose($target); fclose($data); - if( $this->fakeRoot==OC_Filesystem::getRoot() ){ + if( $this->fakeRoot==OC_Filesystem::getRoot() ) { if(!$exists) { OC_Hook::emit( OC_Filesystem::CLASSNAME, @@ -328,8 +326,8 @@ class OC_FilesystemView { return $this->basicOperation( 'deleteAll', $directory, array('delete'), $empty ); } public function rename($path1, $path2) { - $postFix1=(substr($path1,-1,1)==='/')?'/':''; - $postFix2=(substr($path2,-1,1)==='/')?'/':''; + $postFix1=(substr($path1, -1, 1)==='/')?'/':''; + $postFix2=(substr($path2, -1, 1)==='/')?'/':''; $absolutePath1 = OC_Filesystem::normalizePath($this->getAbsolutePath($path1)); $absolutePath2 = OC_Filesystem::normalizePath($this->getAbsolutePath($path2)); if(OC_FileProxy::runPreProxies('rename', $absolutePath1, $absolutePath2) and OC_Filesystem::isValidPath($path2)) { @@ -340,7 +338,7 @@ class OC_FilesystemView { return false; } $run=true; - if( $this->fakeRoot==OC_Filesystem::getRoot() ){ + if( $this->fakeRoot==OC_Filesystem::getRoot() ) { OC_Hook::emit( OC_Filesystem::CLASSNAME, OC_Filesystem::signal_rename, array( @@ -365,7 +363,7 @@ class OC_FilesystemView { $storage1->unlink($this->getInternalPath($path1.$postFix1)); $result = $count>0; } - if( $this->fakeRoot==OC_Filesystem::getRoot() ){ + if( $this->fakeRoot==OC_Filesystem::getRoot() ) { OC_Hook::emit( OC_Filesystem::CLASSNAME, OC_Filesystem::signal_post_rename, @@ -380,8 +378,8 @@ class OC_FilesystemView { } } public function copy($path1, $path2) { - $postFix1=(substr($path1,-1,1)==='/')?'/':''; - $postFix2=(substr($path2,-1,1)==='/')?'/':''; + $postFix1=(substr($path1, -1, 1)==='/')?'/':''; + $postFix2=(substr($path2, -1, 1)==='/')?'/':''; $absolutePath1 = OC_Filesystem::normalizePath($this->getAbsolutePath($path1)); $absolutePath2 = OC_Filesystem::normalizePath($this->getAbsolutePath($path2)); if(OC_FileProxy::runPreProxies('copy', $absolutePath1, $absolutePath2) and OC_Filesystem::isValidPath($path2)) { @@ -392,7 +390,7 @@ class OC_FilesystemView { return false; } $run=true; - if( $this->fakeRoot==OC_Filesystem::getRoot() ){ + if( $this->fakeRoot==OC_Filesystem::getRoot() ) { OC_Hook::emit( OC_Filesystem::CLASSNAME, OC_Filesystem::signal_copy, @@ -436,7 +434,10 @@ class OC_FilesystemView { $target = $this->fopen($path2.$postFix2, 'w'); $result = OC_Helper::streamCopy($source, $target); } - if( $this->fakeRoot==OC_Filesystem::getRoot() ){ + if( $this->fakeRoot==OC_Filesystem::getRoot() ) { + // If the file to be copied originates within + // the user's data directory + OC_Hook::emit( OC_Filesystem::CLASSNAME, OC_Filesystem::signal_post_copy, @@ -457,11 +458,33 @@ class OC_FilesystemView { OC_Filesystem::signal_post_write, array( OC_Filesystem::signal_param_path => $path2) ); - } else { // no real copy, file comes from somewhere else, e.g. version rollback -> just update the file cache and the webdav properties without all the other post_write actions - OC_FileCache_Update::update($path2, $this->fakeRoot); + + } else { + // If this is not a normal file copy operation + // and the file originates somewhere else + // (e.g. a version rollback operation), do not + // perform all the other post_write actions + + // Update webdav properties OC_Filesystem::removeETagHook(array("path" => $path2), $this->fakeRoot); + + $splitPath2 = explode( '/', $path2 ); + + // Only cache information about files + // that are being copied from within + // the user files directory. Caching + // other files, like VCS backup files, + // serves no purpose + if ( $splitPath2[1] == 'files' ) { + + OC_FileCache_Update::update($path2, $this->fakeRoot); + + } + } + return $result; + } } } @@ -492,7 +515,7 @@ class OC_FilesystemView { $hooks[]='write'; break; default: - OC_Log::write('core','invalid mode ('.$mode.') for '.$path,OC_Log::ERROR); + OC_Log::write('core', 'invalid mode ('.$mode.') for '.$path, OC_Log::ERROR); } return $this->basicOperation('fopen', $path, $hooks, $mode); @@ -504,7 +527,7 @@ class OC_FilesystemView { $extension=''; $extOffset=strpos($path, '.'); if($extOffset !== false) { - $extension=substr($path, strrpos($path,'.')); + $extension=substr($path, strrpos($path, '.')); } $tmpFile = OC_Helper::tmpFile($extension); file_put_contents($tmpFile, $source); @@ -533,7 +556,7 @@ class OC_FilesystemView { return $this->basicOperation('getMimeType', $path); } public function hash($type, $path, $raw = false) { - $postFix=(substr($path,-1,1)==='/')?'/':''; + $postFix=(substr($path, -1, 1)==='/')?'/':''; $absolutePath = OC_Filesystem::normalizePath($this->getAbsolutePath($path)); if (OC_FileProxy::runPreProxies('hash', $absolutePath) && OC_Filesystem::isValidPath($path)) { $path = $this->getRelativePath($absolutePath); @@ -573,7 +596,7 @@ class OC_FilesystemView { * OC_Filestorage for delegation to a storage backend for execution */ private function basicOperation($operation, $path, $hooks=array(), $extraParam=null) { - $postFix=(substr($path,-1,1)==='/')?'/':''; + $postFix=(substr($path, -1, 1)==='/')?'/':''; $absolutePath = OC_Filesystem::normalizePath($this->getAbsolutePath($path)); if(OC_FileProxy::runPreProxies($operation, $absolutePath, $extraParam) and OC_Filesystem::isValidPath($path)) { $path = $this->getRelativePath($absolutePath); @@ -581,7 +604,7 @@ class OC_FilesystemView { return false; } $internalPath = $this->getInternalPath($path.$postFix); - $run=$this->runHooks($hooks,$path); + $run=$this->runHooks($hooks, $path); if($run and $storage = $this->getStorage($path.$postFix)) { if(!is_null($extraParam)) { $result = $storage->$operation($internalPath, $extraParam); @@ -591,7 +614,7 @@ class OC_FilesystemView { $result = OC_FileProxy::runPostProxies($operation, $this->getAbsolutePath($path), $result); if(OC_Filesystem::$loaded and $this->fakeRoot==OC_Filesystem::getRoot()) { if($operation!='fopen') {//no post hooks for fopen, the file stream is still open - $this->runHooks($hooks,$path,true); + $this->runHooks($hooks, $path, true); } } return $result; @@ -600,7 +623,7 @@ class OC_FilesystemView { return null; } - private function runHooks($hooks,$path,$post=false) { + private function runHooks($hooks, $path, $post=false) { $prefix=($post)?'post_':''; $run=true; if(OC_Filesystem::$loaded and $this->fakeRoot==OC_Filesystem::getRoot()) { diff --git a/lib/group.php b/lib/group.php index 66892a99b60ddeef67561158de979adf62b33add..ed9482418bd4ba1a3421ac3dc89a08a29c8551f3 100644 --- a/lib/group.php +++ b/lib/group.php @@ -65,15 +65,8 @@ class OC_Group { * * Tries to create a new group. If the group name already exists, false will * be returned. Basic checking of Group name - * - * Allowed characters in the username are: "a-z", "A-Z", "0-9" and "_.@-" */ public static function createGroup( $gid ) { - // Check the name for bad characters - // Allowed are: "a-z", "A-Z", "0-9" and "_.@-" - if( preg_match( '/[^a-zA-Z0-9 _\.@\-]/', $gid )) { - return false; - } // No empty group names! if( !$gid ) { return false; @@ -146,7 +139,7 @@ class OC_Group { */ public static function inGroup( $uid, $gid ) { foreach(self::$_usedBackends as $backend) { - if($backend->inGroup($uid,$gid)) { + if($backend->inGroup($uid, $gid)) { return true; } } @@ -230,7 +223,7 @@ class OC_Group { public static function getUserGroups( $uid ) { $groups=array(); foreach(self::$_usedBackends as $backend) { - $groups=array_merge($backend->getUserGroups($uid),$groups); + $groups=array_merge($backend->getUserGroups($uid), $groups); } asort($groups); return $groups; diff --git a/lib/group/dummy.php b/lib/group/dummy.php index 8116dcbd6752f0e6282d135d827b4f7625181559..9516fd52ff8b765eaedf732d65a689290ce54040 100644 --- a/lib/group/dummy.php +++ b/lib/group/dummy.php @@ -69,7 +69,7 @@ class OC_Group_Dummy extends OC_Group_Backend { */ public function inGroup($uid, $gid) { if(isset($this->groups[$gid])) { - return (array_search($uid,$this->groups[$gid])!==false); + return (array_search($uid, $this->groups[$gid])!==false); }else{ return false; } @@ -85,7 +85,7 @@ class OC_Group_Dummy extends OC_Group_Backend { */ public function addToGroup($uid, $gid) { if(isset($this->groups[$gid])) { - if(array_search($uid,$this->groups[$gid])===false) { + if(array_search($uid, $this->groups[$gid])===false) { $this->groups[$gid][]=$uid; return true; }else{ @@ -104,9 +104,9 @@ class OC_Group_Dummy extends OC_Group_Backend { * * removes the user from a group. */ - public function removeFromGroup($uid,$gid) { + public function removeFromGroup($uid, $gid) { if(isset($this->groups[$gid])) { - if(($index=array_search($uid,$this->groups[$gid]))!==false) { + if(($index=array_search($uid, $this->groups[$gid]))!==false) { unset($this->groups[$gid][$index]); }else{ return false; @@ -128,7 +128,7 @@ class OC_Group_Dummy extends OC_Group_Backend { $groups=array(); $allGroups=array_keys($this->groups); foreach($allGroups as $group) { - if($this->inGroup($uid,$group)) { + if($this->inGroup($uid, $group)) { $groups[]=$group; } } diff --git a/lib/group/example.php b/lib/group/example.php index 76d12629763a8b45011e49573fda5722982b4aa9..3519b9ed92f0d9681017e07edb032ee2f978ea17 100644 --- a/lib/group/example.php +++ b/lib/group/example.php @@ -73,7 +73,7 @@ abstract class OC_Group_Example { * * removes the user from a group. */ - abstract public static function removeFromGroup($uid,$gid); + abstract public static function removeFromGroup($uid, $gid); /** * @brief Get all groups a user belongs to diff --git a/lib/helper.php b/lib/helper.php index 2c221ddf195b253f71f84fa8ca342fa55202c411..5dec7fadfb489132f28a843072ddf82fef3b08da 100644 --- a/lib/helper.php +++ b/lib/helper.php @@ -28,6 +28,20 @@ class OC_Helper { private static $mimetypes=array(); private static $tmpFiles=array(); + /** + * @brief Creates an url using a defined route + * @param $route + * @param $parameters + * @param $args array with param=>value, will be appended to the returned url + * @returns the url + * + * Returns a url to the given app and file. + */ + public static function linkToRoute( $route, $parameters = array() ) { + $urlLinkTo = OC::getRouter()->generate($route, $parameters); + return $urlLinkTo; + } + /** * @brief Creates an url * @param string $app app @@ -44,8 +58,8 @@ class OC_Helper { // Check if the app is in the app folder if( $app_path && file_exists( $app_path.'/'.$file )) { if(substr($file, -3) == 'php' || substr($file, -3) == 'css') { - $urlLinkTo = OC::$WEBROOT . '/?app=' . $app; - $urlLinkTo .= ($file!='index.php')?'&getfile=' . urlencode($file):''; + $urlLinkTo = OC::$WEBROOT . '/index.php/apps/' . $app; + $urlLinkTo .= ($file!='index.php') ? '/' . $file : ''; }else{ $urlLinkTo = OC_App::getAppWebPath($app) . '/' . $file; } @@ -100,6 +114,17 @@ class OC_Helper { return OC_Request::serverProtocol(). '://' . OC_Request::serverHost() . $url; } + /** + * @brief Creates an url for remote use + * @param string $service id + * @return string the url + * + * Returns a url to the given service. + */ + public static function linkToRemoteBase( $service ) { + return self::linkTo( '', 'remote.php') . '/' . $service; + } + /** * @brief Creates an absolute url for remote use * @param string $service id @@ -108,7 +133,7 @@ class OC_Helper { * Returns a absolute url to the given service. */ public static function linkToRemote( $service, $add_slash = true ) { - return self::linkToAbsolute( '', 'remote.php') . '/' . $service . (($add_slash && $service[strlen($service)-1]!='/')?'/':''); + return self::makeURLAbsolute(self::linkToRemoteBase($service)) . (($add_slash && $service[strlen($service)-1]!='/')?'/':''); } /** @@ -178,7 +203,7 @@ class OC_Helper { return OC::$WEBROOT."/core/img/filetypes/$mimetype.png"; } //try only the first part of the filetype - $mimetype=substr($mimetype,0,strpos($mimetype,'-')); + $mimetype=substr($mimetype, 0, strpos($mimetype, '-')); if( file_exists( OC::$SERVERROOT."/core/img/filetypes/$mimetype.png" )) { return OC::$WEBROOT."/core/img/filetypes/$mimetype.png"; } @@ -263,18 +288,18 @@ class OC_Helper { if($file != '.' && $file != '..') { $fullpath = $path.'/'.$file; if(is_link($fullpath)) - return FALSE; + return false; elseif(!is_dir($fullpath) && !@chmod($fullpath, $filemode)) - return FALSE; + return false; elseif(!self::chmodr($fullpath, $filemode)) - return FALSE; + return false; } } closedir($dh); if(@chmod($path, $filemode)) - return TRUE; + return true; else - return FALSE; + return false; } /** @@ -294,7 +319,7 @@ class OC_Helper { self::copyr("$src/$file", "$dest/$file"); } } - }elseif(file_exists($src)) { + }elseif(file_exists($src) && !OC_Filesystem::isFileBlacklisted($src)) { copy($src, $dest); } } @@ -330,29 +355,29 @@ class OC_Helper { * does NOT work for ownClouds filesystem, use OC_FileSystem::getMimeType instead */ static function getMimeType($path) { - $isWrapped=(strpos($path,'://')!==false) and (substr($path,0,7)=='file://'); + $isWrapped=(strpos($path, '://')!==false) and (substr($path, 0, 7)=='file://'); if (@is_dir($path)) { // directories are easy return "httpd/unix-directory"; } - if(strpos($path,'.')) { + if(strpos($path, '.')) { //try to guess the type by the file extension - if(!self::$mimetypes || self::$mimetypes != include('mimetypes.list.php')) { - self::$mimetypes=include('mimetypes.list.php'); + if(!self::$mimetypes || self::$mimetypes != include 'mimetypes.list.php') { + self::$mimetypes=include 'mimetypes.list.php'; } $extension=strtolower(strrchr(basename($path), ".")); - $extension=substr($extension,1);//remove leading . + $extension=substr($extension, 1);//remove leading . $mimeType=(isset(self::$mimetypes[$extension]))?self::$mimetypes[$extension]:'application/octet-stream'; }else{ $mimeType='application/octet-stream'; } if($mimeType=='application/octet-stream' and function_exists('finfo_open') and function_exists('finfo_file') and $finfo=finfo_open(FILEINFO_MIME)) { - $info = @strtolower(finfo_file($finfo,$path)); + $info = @strtolower(finfo_file($finfo, $path)); if($info) { - $mimeType=substr($info,0,strpos($info,';')); + $mimeType=substr($info, 0, strpos($info, ';')); } finfo_close($finfo); } @@ -362,20 +387,15 @@ class OC_Helper { } if (!$isWrapped and $mimeType=='application/octet-stream' && OC_Helper::canExecute("file")) { // it looks like we have a 'file' command, - // lets see it it does have mime support + // lets see if it does have mime support $path=escapeshellarg($path); $fp = popen("file -i -b $path 2>/dev/null", "r"); $reply = fgets($fp); pclose($fp); - //trim the character set from the end of the response - $mimeType=substr($reply,0,strrpos($reply,' ')); - $mimeType=substr($mimeType,0,strrpos($mimeType,"\n")); - - //trim ; - if (strpos($mimeType, ';') !== false) { - $mimeType = strstr($mimeType, ';', true); - } + // we have smth like 'text/x-c++; charset=us-ascii\n' + // and need to eliminate everything starting with semicolon including trailing LF + $mimeType = preg_replace('/;.*/ms', '', trim($reply)); } return $mimeType; @@ -392,8 +412,8 @@ class OC_Helper { return finfo_buffer($finfo, $data); }else{ $tmpFile=OC_Helper::tmpFile(); - $fh=fopen($tmpFile,'wb'); - fwrite($fh,$data,8024); + $fh=fopen($tmpFile, 'wb'); + fwrite($fh, $data, 8024); fclose($fh); $mime=self::getMimeType($tmpFile); unset($tmpFile); @@ -455,16 +475,16 @@ class OC_Helper { $dirs = explode(PATH_SEPARATOR, $path); // WARNING : We have to check if open_basedir is enabled : $obd = ini_get('open_basedir'); - if($obd != "none"){ + if($obd != "none") { $obd_values = explode(PATH_SEPARATOR, $obd); - if(count($obd_values) > 0 and $obd_values[0]){ + if(count($obd_values) > 0 and $obd_values[0]) { // open_basedir is in effect ! // We need to check if the program is in one of these dirs : $dirs = $obd_values; } } - foreach($dirs as $dir){ - foreach($exts as $ext){ + foreach($dirs as $dir) { + foreach($exts as $ext) { if($check_fn("$dir/$name".$ext)) return true; } @@ -478,13 +498,13 @@ class OC_Helper { * @param resource $target * @return int the number of bytes copied */ - public static function streamCopy($source,$target) { + public static function streamCopy($source, $target) { if(!$source or !$target) { return false; } $count=0; while(!feof($source)) { - $count+=fwrite($target,fread($source,8192)); + $count+=fwrite($target, fread($source, 8192)); } return $count; } @@ -498,12 +518,33 @@ class OC_Helper { */ public static function tmpFile($postfix='') { $file=get_temp_dir().'/'.md5(time().rand()).$postfix; - $fh=fopen($file,'w'); + $fh=fopen($file, 'w'); fclose($fh); self::$tmpFiles[]=$file; return $file; } + /** + * create a temporary file with an unique filename. It will not be deleted + * automatically + * @param string $postfix + * @return string + * + */ + public static function tmpFileNoClean($postfix='') { + $tmpDirNoClean=get_temp_dir().'/oc-noclean/'; + if (!file_exists($tmpDirNoClean) || !is_dir($tmpDirNoClean)) { + if (file_exists($tmpDirNoClean)) { + unlink($tmpDirNoClean); + } + mkdir($tmpDirNoClean); + } + $file=$tmpDirNoClean.md5(time().rand()).$postfix; + $fh=fopen($file,'w'); + fclose($fh); + return $file; + } + /** * create a temporary folder with an unique filename * @return string @@ -539,6 +580,16 @@ class OC_Helper { } } + /** + * remove all files created by self::tmpFileNoClean + */ + public static function cleanTmpNoClean() { + $tmpDirNoCleanFile=get_temp_dir().'/oc-noclean/'; + if(file_exists($tmpDirNoCleanFile)) { + self::rmdirr($tmpDirNoCleanFile); + } + } + /** * Adds a suffix to the name in case the file exists * @@ -692,4 +743,19 @@ class OC_Helper { return false; } + + /** + * Shortens str to maxlen by replacing characters in the middle with '...', eg. + * ellipsis('a very long string with lots of useless info to make a better example', 14) becomes 'a very ...example' + * @param string $str the string + * @param string $maxlen the maximum length of the result + * @return string with at most maxlen characters + */ + public static function ellipsis($str, $maxlen) { + if (strlen($str) > $maxlen) { + $characters = floor($maxlen / 2); + return substr($str, 0, $characters) . '...' . substr($str, -1 * $characters); + } + return $str; + } } diff --git a/lib/image.php b/lib/image.php index 016d20599b252e45ac4499f33301ff054fe0e05f..2043a452541eae544929e69b1a0cae92e6b67754 100644 --- a/lib/image.php +++ b/lib/image.php @@ -20,32 +20,13 @@ * License along with this library. If not, see . * */ - -//From user comments at http://dk2.php.net/manual/en/function.exif-imagetype.php -if ( ! function_exists( 'exif_imagetype' ) ) { - function exif_imagetype ( $filename ) { - if ( ( $info = getimagesize( $filename ) ) !== false ) { - return $info[2]; - } - return false; - } -} - -function ellipsis($str, $maxlen) { - if (strlen($str) > $maxlen) { - $characters = floor($maxlen / 2); - return substr($str, 0, $characters) . '...' . substr($str, -1 * $characters); - } - return $str; -} - /** * Class for basic image manipulation - * */ class OC_Image { protected $resource = false; // tmp resource. protected $imagetype = IMAGETYPE_PNG; // Default to png if file type isn't evident. + protected $bit_depth = 24; protected $filepath = null; /** @@ -66,7 +47,7 @@ class OC_Image { public function __construct($imageref = null) { //OC_Log::write('core',__METHOD__.'(): start', OC_Log::DEBUG); if(!extension_loaded('gd') || !function_exists('gd_info')) { - OC_Log::write('core',__METHOD__.'(): GD module not installed', OC_Log::ERROR); + OC_Log::write('core', __METHOD__.'(): GD module not installed', OC_Log::ERROR); return false; } if(!is_null($imageref)) { @@ -112,7 +93,7 @@ class OC_Image { */ public function widthTopLeft() { $o = $this->getOrientation(); - OC_Log::write('core','OC_Image->widthTopLeft() Orientation: '.$o, OC_Log::DEBUG); + OC_Log::write('core', 'OC_Image->widthTopLeft() Orientation: '.$o, OC_Log::DEBUG); switch($o) { case -1: case 1: @@ -137,7 +118,7 @@ class OC_Image { */ public function heightTopLeft() { $o = $this->getOrientation(); - OC_Log::write('core','OC_Image->heightTopLeft() Orientation: '.$o, OC_Log::DEBUG); + OC_Log::write('core', 'OC_Image->heightTopLeft() Orientation: '.$o, OC_Log::DEBUG); switch($o) { case -1: case 1: @@ -172,7 +153,7 @@ class OC_Image { public function save($filepath=null) { if($filepath === null && $this->filepath === null) { - OC_Log::write('core',__METHOD__.'(): called with no path.', OC_Log::ERROR); + OC_Log::write('core', __METHOD__.'(): called with no path.', OC_Log::ERROR); return false; } elseif($filepath === null && $this->filepath !== null) { $filepath = $this->filepath; @@ -188,10 +169,10 @@ class OC_Image { if (!file_exists(dirname($filepath))) mkdir(dirname($filepath), 0777, true); if(!is_writable(dirname($filepath))) { - OC_Log::write('core',__METHOD__.'(): Directory \''.dirname($filepath).'\' is not writable.', OC_Log::ERROR); + OC_Log::write('core', __METHOD__.'(): Directory \''.dirname($filepath).'\' is not writable.', OC_Log::ERROR); return false; } elseif(is_writable(dirname($filepath)) && file_exists($filepath) && !is_writable($filepath)) { - OC_Log::write('core',__METHOD__.'(): File \''.$filepath.'\' is not writable.', OC_Log::ERROR); + OC_Log::write('core', __METHOD__.'(): File \''.$filepath.'\' is not writable.', OC_Log::ERROR); return false; } } @@ -214,9 +195,11 @@ class OC_Image { $retval = imagexbm($this->resource, $filepath); break; case IMAGETYPE_WBMP: - case IMAGETYPE_BMP: $retval = imagewbmp($this->resource, $filepath); break; + case IMAGETYPE_BMP: + $retval = imagebmp($this->resource, $filepath, $this->bit_depth); + break; default: $retval = imagepng($this->resource, $filepath); } @@ -244,7 +227,7 @@ class OC_Image { ob_start(); $res = imagepng($this->resource); if (!$res) { - OC_Log::write('core','OC_Image->data. Error getting image data.',OC_Log::ERROR); + OC_Log::write('core', 'OC_Image->data. Error getting image data.', OC_Log::ERROR); } return ob_get_clean(); } @@ -263,15 +246,15 @@ class OC_Image { */ public function getOrientation() { if(!is_callable('exif_read_data')) { - OC_Log::write('core','OC_Image->fixOrientation() Exif module not enabled.', OC_Log::DEBUG); + OC_Log::write('core', 'OC_Image->fixOrientation() Exif module not enabled.', OC_Log::DEBUG); return -1; } if(!$this->valid()) { - OC_Log::write('core','OC_Image->fixOrientation() No image loaded.', OC_Log::DEBUG); + OC_Log::write('core', 'OC_Image->fixOrientation() No image loaded.', OC_Log::DEBUG); return -1; } if(is_null($this->filepath) || !is_readable($this->filepath)) { - OC_Log::write('core','OC_Image->fixOrientation() No readable file path set.', OC_Log::DEBUG); + OC_Log::write('core', 'OC_Image->fixOrientation() No readable file path set.', OC_Log::DEBUG); return -1; } $exif = @exif_read_data($this->filepath, 'IFD0'); @@ -291,7 +274,7 @@ class OC_Image { */ public function fixOrientation() { $o = $this->getOrientation(); - OC_Log::write('core','OC_Image->fixOrientation() Orientation: '.$o, OC_Log::DEBUG); + OC_Log::write('core', 'OC_Image->fixOrientation() Orientation: '.$o, OC_Log::DEBUG); $rotate = 0; $flip = false; switch($o) { @@ -341,15 +324,15 @@ class OC_Image { $this->resource = $res; return true; } else { - OC_Log::write('core','OC_Image->fixOrientation() Error during alphasaving.', OC_Log::DEBUG); + OC_Log::write('core', 'OC_Image->fixOrientation() Error during alphasaving.', OC_Log::DEBUG); return false; } } else { - OC_Log::write('core','OC_Image->fixOrientation() Error during alphablending.', OC_Log::DEBUG); + OC_Log::write('core', 'OC_Image->fixOrientation() Error during alphablending.', OC_Log::DEBUG); return false; } } else { - OC_Log::write('core','OC_Image->fixOrientation() Error during oriention fixing.', OC_Log::DEBUG); + OC_Log::write('core', 'OC_Image->fixOrientation() Error during oriention fixing.', OC_Log::DEBUG); return false; } } @@ -365,7 +348,7 @@ class OC_Image { if(get_resource_type($imageref) == 'gd') { $this->resource = $imageref; return $this->resource; - } elseif(in_array(get_resource_type($imageref), array('file','stream'))) { + } elseif(in_array(get_resource_type($imageref), array('file', 'stream'))) { return $this->loadFromFileHandle($imageref); } } elseif($this->loadFromFile($imageref) !== false) { @@ -375,7 +358,7 @@ class OC_Image { } elseif($this->loadFromData($imageref) !== false) { return $this->resource; } else { - OC_Log::write('core',__METHOD__.'(): couldn\'t load anything. Giving up!', OC_Log::DEBUG); + OC_Log::write('core', __METHOD__.'(): couldn\'t load anything. Giving up!', OC_Log::DEBUG); return false; } } @@ -387,7 +370,7 @@ class OC_Image { * @returns An image resource or false on error */ public function loadFromFileHandle($handle) { - OC_Log::write('core',__METHOD__.'(): Trying', OC_Log::DEBUG); + OC_Log::write('core', __METHOD__.'(): Trying', OC_Log::DEBUG); $contents = stream_get_contents($handle); if($this->loadFromData($contents)) { return $this->resource; @@ -402,7 +385,7 @@ class OC_Image { public function loadFromFile($imagepath=false) { if(!is_file($imagepath) || !file_exists($imagepath) || !is_readable($imagepath)) { // Debug output disabled because this method is tried before loadFromBase64? - OC_Log::write('core','OC_Image->loadFromFile, couldn\'t load: '.ellipsis($imagepath, 50), OC_Log::DEBUG); + OC_Log::write('core', 'OC_Image->loadFromFile, couldn\'t load: '.$imagepath, OC_Log::DEBUG); return false; } $itype = exif_imagetype($imagepath); @@ -411,38 +394,40 @@ class OC_Image { if (imagetypes() & IMG_GIF) { $this->resource = imagecreatefromgif($imagepath); } else { - OC_Log::write('core','OC_Image->loadFromFile, GIF images not supported: '.$imagepath, OC_Log::DEBUG); + OC_Log::write('core', 'OC_Image->loadFromFile, GIF images not supported: '.$imagepath, OC_Log::DEBUG); } break; case IMAGETYPE_JPEG: if (imagetypes() & IMG_JPG) { $this->resource = imagecreatefromjpeg($imagepath); } else { - OC_Log::write('core','OC_Image->loadFromFile, JPG images not supported: '.$imagepath, OC_Log::DEBUG); + OC_Log::write('core', 'OC_Image->loadFromFile, JPG images not supported: '.$imagepath, OC_Log::DEBUG); } break; case IMAGETYPE_PNG: if (imagetypes() & IMG_PNG) { $this->resource = imagecreatefrompng($imagepath); } else { - OC_Log::write('core','OC_Image->loadFromFile, PNG images not supported: '.$imagepath, OC_Log::DEBUG); + OC_Log::write('core', 'OC_Image->loadFromFile, PNG images not supported: '.$imagepath, OC_Log::DEBUG); } break; case IMAGETYPE_XBM: if (imagetypes() & IMG_XPM) { $this->resource = imagecreatefromxbm($imagepath); } else { - OC_Log::write('core','OC_Image->loadFromFile, XBM/XPM images not supported: '.$imagepath, OC_Log::DEBUG); + OC_Log::write('core', 'OC_Image->loadFromFile, XBM/XPM images not supported: '.$imagepath, OC_Log::DEBUG); } break; case IMAGETYPE_WBMP: - case IMAGETYPE_BMP: if (imagetypes() & IMG_WBMP) { $this->resource = imagecreatefromwbmp($imagepath); } else { - OC_Log::write('core','OC_Image->loadFromFile, (W)BMP images not supported: '.$imagepath, OC_Log::DEBUG); + OC_Log::write('core', 'OC_Image->loadFromFile, WBMP images not supported: '.$imagepath, OC_Log::DEBUG); } break; + case IMAGETYPE_BMP: + $this->resource = $this->imagecreatefrombmp($imagepath); + break; /* case IMAGETYPE_TIFF_II: // (intel byte order) break; @@ -472,7 +457,7 @@ class OC_Image { // this is mostly file created from encrypted file $this->resource = imagecreatefromstring(\OC_Filesystem::file_get_contents(\OC_Filesystem::getLocalPath($imagepath))); $itype = IMAGETYPE_PNG; - OC_Log::write('core','OC_Image->loadFromFile, Default', OC_Log::DEBUG); + OC_Log::write('core', 'OC_Image->loadFromFile, Default', OC_Log::DEBUG); break; } if($this->valid()) { @@ -493,7 +478,7 @@ class OC_Image { } $this->resource = @imagecreatefromstring($str); if(!$this->resource) { - OC_Log::write('core','OC_Image->loadFromData, couldn\'t load', OC_Log::DEBUG); + OC_Log::write('core', 'OC_Image->loadFromData, couldn\'t load', OC_Log::DEBUG); return false; } return $this->resource; @@ -512,7 +497,7 @@ class OC_Image { if($data) { // try to load from string data $this->resource = @imagecreatefromstring($data); if(!$this->resource) { - OC_Log::write('core','OC_Image->loadFromBase64, couldn\'t load', OC_Log::DEBUG); + OC_Log::write('core', 'OC_Image->loadFromBase64, couldn\'t load', OC_Log::DEBUG); return false; } return $this->resource; @@ -521,6 +506,147 @@ class OC_Image { } } + /** + * Create a new image from file or URL + * @link http://www.programmierer-forum.de/function-imagecreatefrombmp-laeuft-mit-allen-bitraten-t143137.htm + * @version 1.00 + * @param string $filename

+ * Path to the BMP image. + *

+ * @return resource an image resource identifier on success, FALSE on errors. + */ + private function imagecreatefrombmp($filename) { + if (!($fh = fopen($filename, 'rb'))) { + trigger_error('imagecreatefrombmp: Can not open ' . $filename, E_USER_WARNING); + return false; + } + // read file header + $meta = unpack('vtype/Vfilesize/Vreserved/Voffset', fread($fh, 14)); + // check for bitmap + if ($meta['type'] != 19778) { + trigger_error('imagecreatefrombmp: ' . $filename . ' is not a bitmap!', E_USER_WARNING); + return false; + } + // read image header + $meta += unpack('Vheadersize/Vwidth/Vheight/vplanes/vbits/Vcompression/Vimagesize/Vxres/Vyres/Vcolors/Vimportant', fread($fh, 40)); + // read additional 16bit header + if ($meta['bits'] == 16) { + $meta += unpack('VrMask/VgMask/VbMask', fread($fh, 12)); + } + // set bytes and padding + $meta['bytes'] = $meta['bits'] / 8; + $this->bit_depth = $meta['bits']; //remember the bit depth for the imagebmp call + $meta['decal'] = 4 - (4 * (($meta['width'] * $meta['bytes'] / 4)- floor($meta['width'] * $meta['bytes'] / 4))); + if ($meta['decal'] == 4) { + $meta['decal'] = 0; + } + // obtain imagesize + if ($meta['imagesize'] < 1) { + $meta['imagesize'] = $meta['filesize'] - $meta['offset']; + // in rare cases filesize is equal to offset so we need to read physical size + if ($meta['imagesize'] < 1) { + $meta['imagesize'] = @filesize($filename) - $meta['offset']; + if ($meta['imagesize'] < 1) { + trigger_error('imagecreatefrombmp: Can not obtain filesize of ' . $filename . '!', E_USER_WARNING); + return false; + } + } + } + // calculate colors + $meta['colors'] = !$meta['colors'] ? pow(2, $meta['bits']) : $meta['colors']; + // read color palette + $palette = array(); + if ($meta['bits'] < 16) { + $palette = unpack('l' . $meta['colors'], fread($fh, $meta['colors'] * 4)); + // in rare cases the color value is signed + if ($palette[1] < 0) { + foreach ($palette as $i => $color) { + $palette[$i] = $color + 16777216; + } + } + } + // create gd image + $im = imagecreatetruecolor($meta['width'], $meta['height']); + $data = fread($fh, $meta['imagesize']); + $p = 0; + $vide = chr(0); + $y = $meta['height'] - 1; + $error = 'imagecreatefrombmp: ' . $filename . ' has not enough data!'; + // loop through the image data beginning with the lower left corner + while ($y >= 0) { + $x = 0; + while ($x < $meta['width']) { + switch ($meta['bits']) { + case 32: + case 24: + if (!($part = substr($data, $p, 3))) { + trigger_error($error, E_USER_WARNING); + return $im; + } + $color = unpack('V', $part . $vide); + break; + case 16: + if (!($part = substr($data, $p, 2))) { + trigger_error($error, E_USER_WARNING); + return $im; + } + $color = unpack('v', $part); + $color[1] = (($color[1] & 0xf800) >> 8) * 65536 + (($color[1] & 0x07e0) >> 3) * 256 + (($color[1] & 0x001f) << 3); + break; + case 8: + $color = unpack('n', $vide . substr($data, $p, 1)); + $color[1] = $palette[ $color[1] + 1 ]; + break; + case 4: + $color = unpack('n', $vide . substr($data, floor($p), 1)); + $color[1] = ($p * 2) % 2 == 0 ? $color[1] >> 4 : $color[1] & 0x0F; + $color[1] = $palette[ $color[1] + 1 ]; + break; + case 1: + $color = unpack('n', $vide . substr($data, floor($p), 1)); + switch (($p * 8) % 8) { + case 0: + $color[1] = $color[1] >> 7; + break; + case 1: + $color[1] = ($color[1] & 0x40) >> 6; + break; + case 2: + $color[1] = ($color[1] & 0x20) >> 5; + break; + case 3: + $color[1] = ($color[1] & 0x10) >> 4; + break; + case 4: + $color[1] = ($color[1] & 0x8) >> 3; + break; + case 5: + $color[1] = ($color[1] & 0x4) >> 2; + break; + case 6: + $color[1] = ($color[1] & 0x2) >> 1; + break; + case 7: + $color[1] = ($color[1] & 0x1); + break; + } + $color[1] = $palette[ $color[1] + 1 ]; + break; + default: + trigger_error('imagecreatefrombmp: ' . $filename . ' has ' . $meta['bits'] . ' bits and this is not supported!', E_USER_WARNING); + return false; + } + imagesetpixel($im, $x, $y, $color[1]); + $x++; + $p += $meta['bytes']; + } + $y--; + $p += $meta['decal']; + } + fclose($fh); + return $im; + } + /** * @brief Resizes the image preserving ratio. * @param $maxsize The maximum size of either the width or height. @@ -528,7 +654,7 @@ class OC_Image { */ public function resize($maxsize) { if(!$this->valid()) { - OC_Log::write('core',__METHOD__.'(): No image loaded', OC_Log::ERROR); + OC_Log::write('core', __METHOD__.'(): No image loaded', OC_Log::ERROR); return false; } $width_orig=imageSX($this->resource); @@ -549,7 +675,7 @@ class OC_Image { public function preciseResize($width, $height) { if (!$this->valid()) { - OC_Log::write('core',__METHOD__.'(): No image loaded', OC_Log::ERROR); + OC_Log::write('core', __METHOD__.'(): No image loaded', OC_Log::ERROR); return false; } $width_orig=imageSX($this->resource); @@ -557,14 +683,14 @@ class OC_Image { $process = imagecreatetruecolor($width, $height); if ($process == false) { - OC_Log::write('core',__METHOD__.'(): Error creating true color image',OC_Log::ERROR); + OC_Log::write('core', __METHOD__.'(): Error creating true color image', OC_Log::ERROR); imagedestroy($process); return false; } imagecopyresampled($process, $this->resource, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig); if ($process == false) { - OC_Log::write('core',__METHOD__.'(): Error resampling process image '.$width.'x'.$height,OC_Log::ERROR); + OC_Log::write('core', __METHOD__.'(): Error resampling process image '.$width.'x'.$height, OC_Log::ERROR); imagedestroy($process); return false; } @@ -580,7 +706,7 @@ class OC_Image { */ public function centerCrop($size=0) { if(!$this->valid()) { - OC_Log::write('core','OC_Image->centerCrop, No image loaded', OC_Log::ERROR); + OC_Log::write('core', 'OC_Image->centerCrop, No image loaded', OC_Log::ERROR); return false; } $width_orig=imageSX($this->resource); @@ -607,13 +733,13 @@ class OC_Image { } $process = imagecreatetruecolor($targetWidth, $targetHeight); if ($process == false) { - OC_Log::write('core','OC_Image->centerCrop. Error creating true color image',OC_Log::ERROR); + OC_Log::write('core', 'OC_Image->centerCrop. Error creating true color image', OC_Log::ERROR); imagedestroy($process); return false; } imagecopyresampled($process, $this->resource, 0, 0, $x, $y, $targetWidth, $targetHeight, $width, $height); if ($process == false) { - OC_Log::write('core','OC_Image->centerCrop. Error resampling process image '.$width.'x'.$height,OC_Log::ERROR); + OC_Log::write('core', 'OC_Image->centerCrop. Error resampling process image '.$width.'x'.$height, OC_Log::ERROR); imagedestroy($process); return false; } @@ -627,23 +753,23 @@ class OC_Image { * @param $x Horizontal position * @param $y Vertical position * @param $w Width - * @param $h Hight + * @param $h Height * @returns bool for success or failure */ public function crop($x, $y, $w, $h) { if(!$this->valid()) { - OC_Log::write('core',__METHOD__.'(): No image loaded', OC_Log::ERROR); + OC_Log::write('core', __METHOD__.'(): No image loaded', OC_Log::ERROR); return false; } $process = imagecreatetruecolor($w, $h); if ($process == false) { - OC_Log::write('core',__METHOD__.'(): Error creating true color image',OC_Log::ERROR); + OC_Log::write('core', __METHOD__.'(): Error creating true color image', OC_Log::ERROR); imagedestroy($process); return false; } imagecopyresampled($process, $this->resource, 0, 0, $x, $y, $w, $h, $w, $h); if ($process == false) { - OC_Log::write('core',__METHOD__.'(): Error resampling process image '.$w.'x'.$h,OC_Log::ERROR); + OC_Log::write('core', __METHOD__.'(): Error resampling process image '.$w.'x'.$h, OC_Log::ERROR); imagedestroy($process); return false; } @@ -660,7 +786,7 @@ class OC_Image { */ public function fitIn($maxWidth, $maxHeight) { if(!$this->valid()) { - OC_Log::write('core',__METHOD__.'(): No image loaded', OC_Log::ERROR); + OC_Log::write('core', __METHOD__.'(): No image loaded', OC_Log::ERROR); return false; } $width_orig=imageSX($this->resource); @@ -685,3 +811,138 @@ class OC_Image { $this->destroy(); } } +if ( ! function_exists( 'imagebmp') ) { + /** + * Output a BMP image to either the browser or a file + * @link http://www.ugia.cn/wp-data/imagebmp.php + * @author legend + * @link http://www.programmierer-forum.de/imagebmp-gute-funktion-gefunden-t143716.htm + * @author mgutt + * @version 1.00 + * @param resource $image + * @param string $filename [optional]

The path to save the file to.

+ * @param int $bit [optional]

Bit depth, (default is 24).

+ * @param int $compression [optional] + * @return bool TRUE on success or FALSE on failure. + */ + function imagebmp($im, $filename='', $bit=24, $compression=0) { + if (!in_array($bit, array(1, 4, 8, 16, 24, 32))) { + $bit = 24; + } + else if ($bit == 32) { + $bit = 24; + } + $bits = pow(2, $bit); + imagetruecolortopalette($im, true, $bits); + $width = imagesx($im); + $height = imagesy($im); + $colors_num = imagecolorstotal($im); + $rgb_quad = ''; + if ($bit <= 8) { + for ($i = 0; $i < $colors_num; $i++) { + $colors = imagecolorsforindex($im, $i); + $rgb_quad .= chr($colors['blue']) . chr($colors['green']) . chr($colors['red']) . "\0"; + } + $bmp_data = ''; + if ($compression == 0 || $bit < 8) { + $compression = 0; + $extra = ''; + $padding = 4 - ceil($width / (8 / $bit)) % 4; + if ($padding % 4 != 0) { + $extra = str_repeat("\0", $padding); + } + for ($j = $height - 1; $j >= 0; $j --) { + $i = 0; + while ($i < $width) { + $bin = 0; + $limit = $width - $i < 8 / $bit ? (8 / $bit - $width + $i) * $bit : 0; + for ($k = 8 - $bit; $k >= $limit; $k -= $bit) { + $index = imagecolorat($im, $i, $j); + $bin |= $index << $k; + $i++; + } + $bmp_data .= chr($bin); + } + $bmp_data .= $extra; + } + } + // RLE8 + else if ($compression == 1 && $bit == 8) { + for ($j = $height - 1; $j >= 0; $j--) { + $last_index = "\0"; + $same_num = 0; + for ($i = 0; $i <= $width; $i++) { + $index = imagecolorat($im, $i, $j); + if ($index !== $last_index || $same_num > 255) { + if ($same_num != 0) { + $bmp_data .= chr($same_num) . chr($last_index); + } + $last_index = $index; + $same_num = 1; + } + else { + $same_num++; + } + } + $bmp_data .= "\0\0"; + } + $bmp_data .= "\0\1"; + } + $size_quad = strlen($rgb_quad); + $size_data = strlen($bmp_data); + } + else { + $extra = ''; + $padding = 4 - ($width * ($bit / 8)) % 4; + if ($padding % 4 != 0) { + $extra = str_repeat("\0", $padding); + } + $bmp_data = ''; + for ($j = $height - 1; $j >= 0; $j--) { + for ($i = 0; $i < $width; $i++) { + $index = imagecolorat($im, $i, $j); + $colors = imagecolorsforindex($im, $index); + if ($bit == 16) { + $bin = 0 << $bit; + $bin |= ($colors['red'] >> 3) << 10; + $bin |= ($colors['green'] >> 3) << 5; + $bin |= $colors['blue'] >> 3; + $bmp_data .= pack("v", $bin); + } + else { + $bmp_data .= pack("c*", $colors['blue'], $colors['green'], $colors['red']); + } + } + $bmp_data .= $extra; + } + $size_quad = 0; + $size_data = strlen($bmp_data); + $colors_num = 0; + } + $file_header = 'BM' . pack('V3', 54 + $size_quad + $size_data, 0, 54 + $size_quad); + $info_header = pack('V3v2V*', 0x28, $width, $height, 1, $bit, $compression, $size_data, 0, 0, $colors_num, 0); + if ($filename != '') { + $fp = fopen($filename, 'wb'); + fwrite($fp, $file_header . $info_header . $rgb_quad . $bmp_data); + fclose($fp); + return true; + } + echo $file_header . $info_header. $rgb_quad . $bmp_data; + return true; + } +} + +if ( ! function_exists( 'exif_imagetype' ) ) { + /** + * Workaround if exif_imagetype does not exist + * @link http://www.php.net/manual/en/function.exif-imagetype.php#80383 + * @param string $filename + * @return string|boolean + */ + function exif_imagetype ( $filename ) { + if ( ( $info = getimagesize( $filename ) ) !== false ) { + return $info[2]; + } + return false; + } +} diff --git a/lib/installer.php b/lib/installer.php index 9135c60fc056c7e4ace2c1be648f3897f33243e7..7dc8b0cef8ddfbbe2db16814dc92c3f67ef9765e 100644 --- a/lib/installer.php +++ b/lib/installer.php @@ -57,7 +57,7 @@ class OC_Installer{ */ public static function installApp( $data = array()) { if(!isset($data['source'])) { - OC_Log::write('core','No source specified when installing app',OC_Log::ERROR); + OC_Log::write('core', 'No source specified when installing app', OC_Log::ERROR); return false; } @@ -65,13 +65,13 @@ class OC_Installer{ if($data['source']=='http') { $path=OC_Helper::tmpFile(); if(!isset($data['href'])) { - OC_Log::write('core','No href specified when installing app from http',OC_Log::ERROR); + OC_Log::write('core', 'No href specified when installing app from http', OC_Log::ERROR); return false; } - copy($data['href'],$path); + copy($data['href'], $path); }else{ if(!isset($data['path'])) { - OC_Log::write('core','No path specified when installing app from local file',OC_Log::ERROR); + OC_Log::write('core', 'No path specified when installing app from local file', OC_Log::ERROR); return false; } $path=$data['path']; @@ -80,13 +80,13 @@ class OC_Installer{ //detect the archive type $mime=OC_Helper::getMimeType($path); if($mime=='application/zip') { - rename($path,$path.'.zip'); + rename($path, $path.'.zip'); $path.='.zip'; }elseif($mime=='application/x-gzip') { - rename($path,$path.'.tgz'); + rename($path, $path.'.tgz'); $path.='.tgz'; }else{ - OC_Log::write('core','Archives of type '.$mime.' are not supported',OC_Log::ERROR); + OC_Log::write('core', 'Archives of type '.$mime.' are not supported', OC_Log::ERROR); return false; } @@ -97,7 +97,7 @@ class OC_Installer{ if($archive=OC_Archive::open($path)) { $archive->extract($extractDir); } else { - OC_Log::write('core','Failed to open archive when installing app',OC_Log::ERROR); + OC_Log::write('core', 'Failed to open archive when installing app', OC_Log::ERROR); OC_Helper::rmdirr($extractDir); if($data['source']=='http') { unlink($path); @@ -118,17 +118,17 @@ class OC_Installer{ } } if(!is_file($extractDir.'/appinfo/info.xml')) { - OC_Log::write('core','App does not provide an info.xml file',OC_Log::ERROR); + OC_Log::write('core', 'App does not provide an info.xml file', OC_Log::ERROR); OC_Helper::rmdirr($extractDir); if($data['source']=='http') { unlink($path); } return false; } - $info=OC_App::getAppInfo($extractDir.'/appinfo/info.xml',true); + $info=OC_App::getAppInfo($extractDir.'/appinfo/info.xml', true); // check the code for not allowed calls - if(!OC_Installer::checkCode($info['id'],$extractDir)) { - OC_Log::write('core','App can\'t be installed because of not allowed code in the App',OC_Log::ERROR); + if(!OC_Installer::checkCode($info['id'], $extractDir)) { + OC_Log::write('core', 'App can\'t be installed because of not allowed code in the App', OC_Log::ERROR); OC_Helper::rmdirr($extractDir); return false; } @@ -136,14 +136,14 @@ class OC_Installer{ // check if the app is compatible with this version of ownCloud $version=OC_Util::getVersion(); if(!isset($info['require']) or ($version[0]>$info['require'])) { - OC_Log::write('core','App can\'t be installed because it is not compatible with this version of ownCloud',OC_Log::ERROR); + OC_Log::write('core', 'App can\'t be installed because it is not compatible with this version of ownCloud', OC_Log::ERROR); OC_Helper::rmdirr($extractDir); return false; } //check if an app with the same id is already installed if(self::isInstalled( $info['id'] )) { - OC_Log::write('core','App already installed',OC_Log::WARN); + OC_Log::write('core', 'App already installed', OC_Log::WARN); OC_Helper::rmdirr($extractDir); if($data['source']=='http') { unlink($path); @@ -154,7 +154,7 @@ class OC_Installer{ $basedir=OC_App::getInstallPath().'/'.$info['id']; //check if the destination directory already exists if(is_dir($basedir)) { - OC_Log::write('core','App directory already exists',OC_Log::WARN); + OC_Log::write('core', 'App directory already exists', OC_Log::WARN); OC_Helper::rmdirr($extractDir); if($data['source']=='http') { unlink($path); @@ -168,14 +168,14 @@ class OC_Installer{ //copy the app to the correct place if(@!mkdir($basedir)) { - OC_Log::write('core','Can\'t create app folder. Please fix permissions. ('.$basedir.')',OC_Log::ERROR); + OC_Log::write('core', 'Can\'t create app folder. Please fix permissions. ('.$basedir.')', OC_Log::ERROR); OC_Helper::rmdirr($extractDir); if($data['source']=='http') { unlink($path); } return false; } - OC_Helper::copyr($extractDir,$basedir); + OC_Helper::copyr($extractDir, $basedir); //remove temporary files OC_Helper::rmdirr($extractDir); @@ -187,12 +187,12 @@ class OC_Installer{ //run appinfo/install.php if((!isset($data['noinstall']) or $data['noinstall']==false) and file_exists($basedir.'/appinfo/install.php')) { - include($basedir.'/appinfo/install.php'); + include $basedir.'/appinfo/install.php'; } //set the installed version - OC_Appconfig::setValue($info['id'],'installed_version',OC_App::getAppVersion($info['id'])); - OC_Appconfig::setValue($info['id'],'enabled','no'); + OC_Appconfig::setValue($info['id'], 'installed_version', OC_App::getAppVersion($info['id'])); + OC_Appconfig::setValue($info['id'], 'enabled', 'no'); //set remote/public handelers foreach($info['remote'] as $name=>$path) { @@ -248,7 +248,7 @@ class OC_Installer{ * -# including appinfo/upgrade.php * -# setting the installed version * - * upgrade.php can determine the current installed version of the app using "OC_Appconfig::getValue($appid,'installed_version')" + * upgrade.php can determine the current installed version of the app using "OC_Appconfig::getValue($appid, 'installed_version')" */ public static function upgradeApp( $data = array()) { // TODO: write function @@ -296,7 +296,7 @@ class OC_Installer{ $enabled = isset($info['default_enable']); if( $enabled ) { OC_Installer::installShippedApp($filename); - OC_Appconfig::setValue($filename,'enabled','yes'); + OC_Appconfig::setValue($filename, 'enabled', 'yes'); } } } @@ -320,10 +320,10 @@ class OC_Installer{ //run appinfo/install.php if(is_file(OC_App::getAppPath($app)."/appinfo/install.php")) { - include(OC_App::getAppPath($app)."/appinfo/install.php"); + include OC_App::getAppPath($app)."/appinfo/install.php"; } $info=OC_App::getAppInfo($app); - OC_Appconfig::setValue($app,'installed_version',OC_App::getAppVersion($app)); + OC_Appconfig::setValue($app, 'installed_version', OC_App::getAppVersion($app)); //set remote/public handelers foreach($info['remote'] as $name=>$path) { @@ -344,7 +344,7 @@ class OC_Installer{ * @param string $folder the folder of the app to check * @returns true for app is o.k. and false for app is not o.k. */ - public static function checkCode($appname,$folder) { + public static function checkCode($appname, $folder) { $blacklist=array( 'exec(', @@ -360,7 +360,7 @@ class OC_Installer{ // check if grep is installed $grep = exec('which grep'); if($grep=='') { - OC_Log::write('core','grep not installed. So checking the code of the app "'.$appname.'" was not possible',OC_Log::ERROR); + OC_Log::write('core', 'grep not installed. So checking the code of the app "'.$appname.'" was not possible', OC_Log::ERROR); return true; } @@ -370,7 +370,7 @@ class OC_Installer{ $result = exec($cmd); // bad pattern found if($result<>'') { - OC_Log::write('core','App "'.$appname.'" is using a not allowed call "'.$bl.'". Installation refused.',OC_Log::ERROR); + OC_Log::write('core', 'App "'.$appname.'" is using a not allowed call "'.$bl.'". Installation refused.', OC_Log::ERROR); return false; } } diff --git a/lib/json.php b/lib/json.php index cc504907261a59ca51fc855ac3f3d9cb93348c25..204430411c09b28a7925dafc209529cfcebe3eb1 100644 --- a/lib/json.php +++ b/lib/json.php @@ -72,7 +72,7 @@ class OC_JSON{ public static function checkSubAdminUser() { self::checkLoggedIn(); self::verifyUser(); - if(!OC_Group::inGroup(OC_User::getUser(),'admin') && !OC_SubAdmin::isSubAdmin(OC_User::getUser())) { + if(!OC_Group::inGroup(OC_User::getUser(), 'admin') && !OC_SubAdmin::isSubAdmin(OC_User::getUser())) { $l = OC_L10N::get('lib'); self::error(array( 'data' => array( 'message' => $l->t('Authentication error') ))); exit(); @@ -83,7 +83,7 @@ class OC_JSON{ * Check if the user verified the login with his password */ public static function verifyUser() { - if(OC_Config::getValue('enhancedauth', true) === true) { + if(OC_Config::getValue('enhancedauth', false) === true) { if(!isset($_SESSION['verifiedLogin']) OR $_SESSION['verifiedLogin'] < time()) { $l = OC_L10N::get('lib'); self::error(array( 'data' => array( 'message' => $l->t('Authentication error') ))); @@ -120,7 +120,7 @@ class OC_JSON{ /** * Encode and print $data in json format */ - public static function encodedPrint($data,$setContentType=true) { + public static function encodedPrint($data, $setContentType=true) { // Disable mimesniffing, don't move this to setContentTypeHeader! header( 'X-Content-Type-Options: nosniff' ); if($setContentType) { diff --git a/lib/l10n.php b/lib/l10n.php index 4eb4c323d88859f36a40a681c24a1a7540c4f391..b83d8ff86db265a59d46cc51a56e1c6f1f7e706b 100644 --- a/lib/l10n.php +++ b/lib/l10n.php @@ -58,22 +58,24 @@ class OC_L10N{ * Localization */ private $localizations = array( - 'date' => 'd.m.Y', - 'datetime' => 'd.m.Y H:i:s', - 'time' => 'H:i:s'); + 'jsdate' => 'dd.mm.yy', + 'date' => '%d.%m.%Y', + 'datetime' => '%d.%m.%Y %H:%M:%S', + 'time' => '%H:%M:%S', + 'firstday' => 0); /** * get an L10N instance * @return OC_L10N */ - public static function get($app,$lang=null) { + public static function get($app, $lang=null) { if(is_null($lang)) { if(!isset(self::$instances[$app])) { self::$instances[$app]=new OC_L10N($app); } return self::$instances[$app]; }else{ - return new OC_L10N($app,$lang); + return new OC_L10N($app, $lang); } } @@ -118,7 +120,7 @@ class OC_L10N{ OC_Helper::issubdirectory($i18ndir.$lang.'.php', OC::$SERVERROOT.'/lib/l10n/') || OC_Helper::issubdirectory($i18ndir.$lang.'.php', OC::$SERVERROOT.'/settings')) && file_exists($i18ndir.$lang.'.php')) { // Include the file, save the data from $CONFIG - include(strip_tags($i18ndir).strip_tags($lang).'.php'); + include strip_tags($i18ndir).strip_tags($lang).'.php'; if(isset($TRANSLATIONS) && is_array($TRANSLATIONS)) { $this->translations = $TRANSLATIONS; } @@ -126,7 +128,7 @@ class OC_L10N{ if(file_exists(OC::$SERVERROOT.'/core/l10n/l10n-'.$lang.'.php')) { // Include the file, save the data from $CONFIG - include(OC::$SERVERROOT.'/core/l10n/l10n-'.$lang.'.php'); + include OC::$SERVERROOT.'/core/l10n/l10n-'.$lang.'.php'; if(isset($LOCALIZATIONS) && is_array($LOCALIZATIONS)) { $this->localizations = array_merge($this->localizations, $LOCALIZATIONS); } @@ -165,7 +167,7 @@ class OC_L10N{ * */ public function tA($textArray) { - OC_Log::write('core', 'DEPRECATED: the method tA is deprecated and will be removed soon.',OC_Log::WARN); + OC_Log::write('core', 'DEPRECATED: the method tA is deprecated and will be removed soon.', OC_Log::WARN); $result = array(); foreach($textArray as $key => $text) { $result[$key] = (string)$this->t($text); @@ -216,8 +218,21 @@ class OC_L10N{ case 'time': if($data instanceof DateTime) return $data->format($this->localizations[$type]); elseif(is_string($data)) $data = strtotime($data); - return date($this->localizations[$type], $data); + $locales = array(self::findLanguage()); + if (strlen($locales[0]) == 2) { + $locales[] = $locales[0].'_'.strtoupper($locales[0]); + } + setlocale(LC_TIME, $locales); + $format = $this->localizations[$type]; + // Check for Windows to find and replace the %e modifier correctly + if (strtoupper(substr(PHP_OS, 0, 3)) == 'WIN') { + $format = preg_replace('#(?localizations[$type]; default: return false; } @@ -279,8 +294,14 @@ class OC_L10N{ } foreach($accepted_languages as $i) { $temp = explode(';', $i); - if(array_search($temp[0], $available) !== false) { - return $temp[0]; + $temp[0] = str_replace('-','_',$temp[0]); + if( ($key = array_search($temp[0], $available)) !== false) { + return $available[$key]; + } + foreach($available as $l) { + if ( $temp[0] == substr($l,0,2) ) { + return $l; + } } } } diff --git a/lib/l10n/ar.php b/lib/l10n/ar.php new file mode 100644 index 0000000000000000000000000000000000000000..3ae226f04fdd008f01b19f0739eea305feb97ae5 --- /dev/null +++ b/lib/l10n/ar.php @@ -0,0 +1,9 @@ + "المساعدة", +"Personal" => "شخصي", +"Settings" => "تعديلات", +"Users" => "المستخدمين", +"Authentication error" => "لم يتم التأكد من الشخصية بنجاح", +"Files" => "الملفات", +"Text" => "معلومات إضافية" +); diff --git a/lib/l10n/bg_BG.php b/lib/l10n/bg_BG.php new file mode 100644 index 0000000000000000000000000000000000000000..3eb0660d944a22dfeb9052cfc8e9883df840874e --- /dev/null +++ b/lib/l10n/bg_BG.php @@ -0,0 +1,4 @@ + "Лично", +"Authentication error" => "Проблем с идентификацията" +); diff --git a/lib/l10n/ca.php b/lib/l10n/ca.php index 031207227ec04f116a13ee416a4bd6d8018ebcfd..b3321ef82e14e539dff7c76ef33695b90b49064f 100644 --- a/lib/l10n/ca.php +++ b/lib/l10n/ca.php @@ -12,17 +12,23 @@ "Application is not enabled" => "L'aplicació no està habilitada", "Authentication error" => "Error d'autenticació", "Token expired. Please reload page." => "El testimoni ha expirat. Torneu a carregar la pàgina.", +"Files" => "Fitxers", +"Text" => "Text", +"Images" => "Imatges", "seconds ago" => "segons enrere", "1 minute ago" => "fa 1 minut", "%d minutes ago" => "fa %d minuts", +"1 hour ago" => "fa 1 hora", +"%d hours ago" => "fa %d hores", "today" => "avui", "yesterday" => "ahir", "%d days ago" => "fa %d dies", "last month" => "el mes passat", -"months ago" => "mesos enrere", +"%d months ago" => "fa %d mesos", "last year" => "l'any passat", "years ago" => "fa anys", "%s is available. Get more information" => "%s està disponible. Obtén més informació", "up to date" => "actualitzat", -"updates check is disabled" => "la comprovació d'actualitzacions està desactivada" +"updates check is disabled" => "la comprovació d'actualitzacions està desactivada", +"Could not find category \"%s\"" => "No s'ha trobat la categoria \"%s\"" ); diff --git a/lib/l10n/cs_CZ.php b/lib/l10n/cs_CZ.php index 00815f97533db2a3d1c4f70dd515444a9dac75f3..fa11e886774adb37761eb55e3d51b6db148cb00e 100644 --- a/lib/l10n/cs_CZ.php +++ b/lib/l10n/cs_CZ.php @@ -12,17 +12,23 @@ "Application is not enabled" => "Aplikace není povolena", "Authentication error" => "Chyba ověření", "Token expired. Please reload page." => "Token vypršel. Obnovte prosím stránku.", +"Files" => "Soubory", +"Text" => "Text", +"Images" => "Obrázky", "seconds ago" => "před vteřinami", "1 minute ago" => "před 1 minutou", "%d minutes ago" => "před %d minutami", +"1 hour ago" => "před hodinou", +"%d hours ago" => "před %d hodinami", "today" => "dnes", "yesterday" => "včera", "%d days ago" => "před %d dny", "last month" => "minulý měsíc", -"months ago" => "před měsíci", +"%d months ago" => "Před %d měsíci", "last year" => "loni", "years ago" => "před lety", "%s is available. Get more information" => "%s je dostupná. Získat více informací", "up to date" => "aktuální", -"updates check is disabled" => "kontrola aktualizací je vypnuta" +"updates check is disabled" => "kontrola aktualizací je vypnuta", +"Could not find category \"%s\"" => "Nelze nalézt kategorii \"%s\"" ); diff --git a/lib/l10n/da.php b/lib/l10n/da.php index 09124c1829054241b6d76980a76daa963c2b4d26..7458b329782fc760dfcc28c3f0e3928cb8fe67e3 100644 --- a/lib/l10n/da.php +++ b/lib/l10n/da.php @@ -12,6 +12,8 @@ "Application is not enabled" => "Programmet er ikke aktiveret", "Authentication error" => "Adgangsfejl", "Token expired. Please reload page." => "Adgang er udløbet. Genindlæs siden.", +"Files" => "Filer", +"Text" => "SMS", "seconds ago" => "sekunder siden", "1 minute ago" => "1 minut siden", "%d minutes ago" => "%d minutter siden", @@ -19,7 +21,6 @@ "yesterday" => "I går", "%d days ago" => "%d dage siden", "last month" => "Sidste måned", -"months ago" => "måneder siden", "last year" => "Sidste år", "years ago" => "år siden", "%s is available. Get more information" => "%s er tilgængelig. Få mere information", diff --git a/lib/l10n/de.php b/lib/l10n/de.php index 8c81be165821ab2b651e66067515b11c51865fe0..4b77bf7210d65d10817418c5391ebfeb26f859aa 100644 --- a/lib/l10n/de.php +++ b/lib/l10n/de.php @@ -12,17 +12,23 @@ "Application is not enabled" => "Die Anwendung ist nicht aktiviert", "Authentication error" => "Authentifizierungs-Fehler", "Token expired. Please reload page." => "Token abgelaufen. Bitte lade die Seite neu.", -"seconds ago" => "Vor wenigen Sekunden", +"Files" => "Dateien", +"Text" => "Text", +"Images" => "Bilder", +"seconds ago" => "Gerade eben", "1 minute ago" => "Vor einer Minute", "%d minutes ago" => "Vor %d Minuten", +"1 hour ago" => "Vor einer Stunde", +"%d hours ago" => "Vor %d Stunden", "today" => "Heute", "yesterday" => "Gestern", "%d days ago" => "Vor %d Tag(en)", "last month" => "Letzten Monat", -"months ago" => "Vor Monaten", +"%d months ago" => "Vor %d Monaten", "last year" => "Letztes Jahr", "years ago" => "Vor Jahren", "%s is available. Get more information" => "%s ist verfügbar. Weitere Informationen", "up to date" => "aktuell", -"updates check is disabled" => "Die Update-Überprüfung ist ausgeschaltet" +"updates check is disabled" => "Die Update-Überprüfung ist ausgeschaltet", +"Could not find category \"%s\"" => "Die Kategorie \"%s\" konnte nicht gefunden werden." ); diff --git a/lib/l10n/de_DE.php b/lib/l10n/de_DE.php new file mode 100644 index 0000000000000000000000000000000000000000..e9f0f34a0e1b3498dc4320bc26a1fc9a5ee8daf5 --- /dev/null +++ b/lib/l10n/de_DE.php @@ -0,0 +1,34 @@ + "Hilfe", +"Personal" => "Persönlich", +"Settings" => "Einstellungen", +"Users" => "Benutzer", +"Apps" => "Apps", +"Admin" => "Administrator", +"ZIP download is turned off." => "Der ZIP-Download ist deaktiviert.", +"Files need to be downloaded one by one." => "Die Dateien müssen einzeln heruntergeladen werden.", +"Back to Files" => "Zurück zu \"Dateien\"", +"Selected files too large to generate zip file." => "Die gewählten Dateien sind zu groß, um eine ZIP-Datei zu erstellen.", +"Application is not enabled" => "Die Anwendung ist nicht aktiviert", +"Authentication error" => "Authentifizierungs-Fehler", +"Token expired. Please reload page." => "Token abgelaufen. Bitte laden Sie die Seite neu.", +"Files" => "Dateien", +"Text" => "Text", +"Images" => "Bilder", +"seconds ago" => "Gerade eben", +"1 minute ago" => "Vor einer Minute", +"%d minutes ago" => "Vor %d Minuten", +"1 hour ago" => "Vor einer Stunde", +"%d hours ago" => "Vor %d Stunden", +"today" => "Heute", +"yesterday" => "Gestern", +"%d days ago" => "Vor %d Tag(en)", +"last month" => "Letzten Monat", +"%d months ago" => "Vor %d Monaten", +"last year" => "Letztes Jahr", +"years ago" => "Vor Jahren", +"%s is available. Get more information" => "%s ist verfügbar. Weitere Informationen", +"up to date" => "aktuell", +"updates check is disabled" => "Die Update-Überprüfung ist ausgeschaltet", +"Could not find category \"%s\"" => "Die Kategorie \"%s\" konnte nicht gefunden werden." +); diff --git a/lib/l10n/el.php b/lib/l10n/el.php index e4e1249071142d6475ee2010add40d523293cb52..315b995ecc9aad988227665fb8dcfb09b1a53b15 100644 --- a/lib/l10n/el.php +++ b/lib/l10n/el.php @@ -12,17 +12,23 @@ "Application is not enabled" => "Δεν ενεργοποιήθηκε η εφαρμογή", "Authentication error" => "Σφάλμα πιστοποίησης", "Token expired. Please reload page." => "Το αναγνωριστικό έληξε. Παρακαλώ φορτώστε ξανά την σελίδα.", +"Files" => "Αρχεία", +"Text" => "Κείμενο", +"Images" => "Εικόνες", "seconds ago" => "δευτερόλεπτα πριν", "1 minute ago" => "1 λεπτό πριν", "%d minutes ago" => "%d λεπτά πριν", +"1 hour ago" => "1 ώρα πριν", +"%d hours ago" => "%d ώρες πριν", "today" => "σήμερα", "yesterday" => "χθές", "%d days ago" => "%d ημέρες πριν", "last month" => "τον προηγούμενο μήνα", -"months ago" => "μήνες πριν", +"%d months ago" => "%d μήνες πριν", "last year" => "τον προηγούμενο χρόνο", "years ago" => "χρόνια πριν", "%s is available. Get more information" => "%s είναι διαθέσιμα. Δείτε περισσότερες πληροφορίες", "up to date" => "ενημερωμένο", -"updates check is disabled" => "ο έλεγχος ενημερώσεων είναι απενεργοποιημένος" +"updates check is disabled" => "ο έλεγχος ενημερώσεων είναι απενεργοποιημένος", +"Could not find category \"%s\"" => "Αδυναμία εύρεσης κατηγορίας \"%s\"" ); diff --git a/lib/l10n/eo.php b/lib/l10n/eo.php index b3c1c52ecee8e489040f05448d1f140ca62d498b..dac11ffe7e602711bf7e797da0afaa618a5a49bf 100644 --- a/lib/l10n/eo.php +++ b/lib/l10n/eo.php @@ -12,17 +12,23 @@ "Application is not enabled" => "La aplikaĵo ne estas kapabligita", "Authentication error" => "Aŭtentiga eraro", "Token expired. Please reload page." => "Ĵetono eksvalidiĝis. Bonvolu reŝargi la paĝon.", +"Files" => "Dosieroj", +"Text" => "Teksto", +"Images" => "Bildoj", "seconds ago" => "sekundojn antaŭe", "1 minute ago" => "antaŭ 1 minuto", "%d minutes ago" => "antaŭ %d minutoj", +"1 hour ago" => "antaŭ 1 horo", +"%d hours ago" => "antaŭ %d horoj", "today" => "hodiaŭ", "yesterday" => "hieraŭ", "%d days ago" => "antaŭ %d tagoj", "last month" => "lasta monato", -"months ago" => "monatojn antaŭe", +"%d months ago" => "antaŭ %d monatoj", "last year" => "lasta jaro", "years ago" => "jarojn antaŭe", "%s is available. Get more information" => "%s haveblas. Ekhavu pli da informo", "up to date" => "ĝisdata", -"updates check is disabled" => "ĝisdateckontrolo estas malkapabligita" +"updates check is disabled" => "ĝisdateckontrolo estas malkapabligita", +"Could not find category \"%s\"" => "Ne troviĝis kategorio “%s”" ); diff --git a/lib/l10n/es.php b/lib/l10n/es.php index 6d2a310ca3b0ea31a22d3d7a3cc66d7ca398debf..f843c42dfd38605828e3d70988275f501afd7835 100644 --- a/lib/l10n/es.php +++ b/lib/l10n/es.php @@ -12,17 +12,23 @@ "Application is not enabled" => "La aplicación no está habilitada", "Authentication error" => "Error de autenticación", "Token expired. Please reload page." => "Token expirado. Por favor, recarga la página.", +"Files" => "Archivos", +"Text" => "Texto", +"Images" => "Imágenes", "seconds ago" => "hace segundos", "1 minute ago" => "hace 1 minuto", "%d minutes ago" => "hace %d minutos", +"1 hour ago" => "Hace 1 hora", +"%d hours ago" => "Hace %d horas", "today" => "hoy", "yesterday" => "ayer", "%d days ago" => "hace %d días", "last month" => "este mes", -"months ago" => "hace meses", +"%d months ago" => "Hace %d meses", "last year" => "este año", "years ago" => "hace años", "%s is available. Get more information" => "%s está disponible. Obtén más información", "up to date" => "actualizado", -"updates check is disabled" => "comprobar actualizaciones está desactivado" +"updates check is disabled" => "comprobar actualizaciones está desactivado", +"Could not find category \"%s\"" => "No puede encontrar la categoria \"%s\"" ); diff --git a/lib/l10n/es_AR.php b/lib/l10n/es_AR.php index fd50027d8a146b3786a1fa57a8e4f2cf6c816a27..2bbffd39e9e367b9336a6eba3917a9d34acb9c79 100644 --- a/lib/l10n/es_AR.php +++ b/lib/l10n/es_AR.php @@ -12,17 +12,23 @@ "Application is not enabled" => "La aplicación no está habilitada", "Authentication error" => "Error de autenticación", "Token expired. Please reload page." => "Token expirado. Por favor, recargá la página.", +"Files" => "Archivos", +"Text" => "Texto", +"Images" => "Imágenes", "seconds ago" => "hace unos segundos", "1 minute ago" => "hace 1 minuto", "%d minutes ago" => "hace %d minutos", +"1 hour ago" => "1 hora atrás", +"%d hours ago" => "%d horas atrás", "today" => "hoy", "yesterday" => "ayer", "%d days ago" => "hace %d días", "last month" => "este mes", -"months ago" => "hace meses", +"%d months ago" => "%d meses atrás", "last year" => "este año", "years ago" => "hace años", "%s is available. Get more information" => "%s está disponible. Conseguí más información", "up to date" => "actualizado", -"updates check is disabled" => "comprobar actualizaciones está desactivado" +"updates check is disabled" => "comprobar actualizaciones está desactivado", +"Could not find category \"%s\"" => "No fue posible encontrar la categoría \"%s\"" ); diff --git a/lib/l10n/et_EE.php b/lib/l10n/et_EE.php index 87f222af8381b33bc3d85ed9d8bdfba291e07195..906abf9430a9fe6351834abf33b8c036fc5f6f77 100644 --- a/lib/l10n/et_EE.php +++ b/lib/l10n/et_EE.php @@ -12,6 +12,9 @@ "Application is not enabled" => "Rakendus pole sisse lülitatud", "Authentication error" => "Autentimise viga", "Token expired. Please reload page." => "Kontrollkood aegus. Paelun lae leht uuesti.", +"Files" => "Failid", +"Text" => "Tekst", +"Images" => "Pildid", "seconds ago" => "sekundit tagasi", "1 minute ago" => "1 minut tagasi", "%d minutes ago" => "%d minutit tagasi", @@ -19,7 +22,6 @@ "yesterday" => "eile", "%d days ago" => "%d päeva tagasi", "last month" => "eelmisel kuul", -"months ago" => "kuud tagasi", "last year" => "eelmisel aastal", "years ago" => "aastat tagasi", "%s is available. Get more information" => "%s on saadaval. Vaata lisainfot", diff --git a/lib/l10n/eu.php b/lib/l10n/eu.php index 461bf458778a1d9b44decc03c2532c71b7d4bf3b..5d47ecbda23b992b15904b3c2cfa7fae13c9edd6 100644 --- a/lib/l10n/eu.php +++ b/lib/l10n/eu.php @@ -12,17 +12,23 @@ "Application is not enabled" => "Aplikazioa ez dago gaituta", "Authentication error" => "Autentikazio errorea", "Token expired. Please reload page." => "Tokena iraungitu da. Mesedez birkargatu orria.", +"Files" => "Fitxategiak", +"Text" => "Testua", +"Images" => "Irudiak", "seconds ago" => "orain dela segundu batzuk", "1 minute ago" => "orain dela minutu 1", "%d minutes ago" => "orain dela %d minutu", +"1 hour ago" => "orain dela ordu bat", +"%d hours ago" => "orain dela %d ordu", "today" => "gaur", "yesterday" => "atzo", "%d days ago" => "orain dela %d egun", "last month" => "joan den hilabetea", -"months ago" => "orain dela hilabete batzuk", +"%d months ago" => "orain dela %d hilabete", "last year" => "joan den urtea", "years ago" => "orain dela urte batzuk", "%s is available. Get more information" => "%s eskuragarri dago. Lortu informazio gehiago", "up to date" => "eguneratuta", -"updates check is disabled" => "eguneraketen egiaztapena ez dago gaituta" +"updates check is disabled" => "eguneraketen egiaztapena ez dago gaituta", +"Could not find category \"%s\"" => "Ezin da \"%s\" kategoria aurkitu" ); diff --git a/lib/l10n/fa.php b/lib/l10n/fa.php index 3579329820f235c88d6ed737ee3e5ddeb85f7daa..ce7c7c6e970c17643d2de5eb7ecda66206f4f886 100644 --- a/lib/l10n/fa.php +++ b/lib/l10n/fa.php @@ -4,13 +4,15 @@ "Settings" => "تنظیمات", "Users" => "کاربران", "Admin" => "مدیر", +"Authentication error" => "خطا در اعتبار سنجی", +"Files" => "پرونده‌ها", +"Text" => "متن", "seconds ago" => "ثانیه‌ها پیش", "1 minute ago" => "1 دقیقه پیش", "%d minutes ago" => "%d دقیقه پیش", "today" => "امروز", "yesterday" => "دیروز", "last month" => "ماه قبل", -"months ago" => "ماه‌های قبل", "last year" => "سال قبل", "years ago" => "سال‌های قبل" ); diff --git a/lib/l10n/fi_FI.php b/lib/l10n/fi_FI.php index 6f0ebcd16e619169e81fc5fb59f57b31e7b2169b..6a5734e978d68f736c57a097fa59175b1af4d97a 100644 --- a/lib/l10n/fi_FI.php +++ b/lib/l10n/fi_FI.php @@ -12,17 +12,23 @@ "Application is not enabled" => "Sovellusta ei ole otettu käyttöön", "Authentication error" => "Todennusvirhe", "Token expired. Please reload page." => "Valtuutus vanheni. Lataa sivu uudelleen.", +"Files" => "Tiedostot", +"Text" => "Teksti", +"Images" => "Kuvat", "seconds ago" => "sekuntia sitten", "1 minute ago" => "1 minuutti sitten", "%d minutes ago" => "%d minuuttia sitten", +"1 hour ago" => "1 tunti sitten", +"%d hours ago" => "%d tuntia sitten", "today" => "tänään", "yesterday" => "eilen", "%d days ago" => "%d päivää sitten", "last month" => "viime kuussa", -"months ago" => "kuukautta sitten", +"%d months ago" => "%d kuukautta sitten", "last year" => "viime vuonna", "years ago" => "vuotta sitten", "%s is available. Get more information" => "%s on saatavilla. Lue lisätietoja", "up to date" => "ajan tasalla", -"updates check is disabled" => "päivitysten tarkistus on pois käytöstä" +"updates check is disabled" => "päivitysten tarkistus on pois käytöstä", +"Could not find category \"%s\"" => "Luokkaa \"%s\" ei löytynyt" ); diff --git a/lib/l10n/fr.php b/lib/l10n/fr.php index c10259e637616f6bd03bac4b80c546c16b5c869e..218c22c1d53aef3e5bad0dfbbebf90886b9761f6 100644 --- a/lib/l10n/fr.php +++ b/lib/l10n/fr.php @@ -12,17 +12,23 @@ "Application is not enabled" => "L'application n'est pas activée", "Authentication error" => "Erreur d'authentification", "Token expired. Please reload page." => "La session a expiré. Veuillez recharger la page.", +"Files" => "Fichiers", +"Text" => "Texte", +"Images" => "Images", "seconds ago" => "à l'instant", "1 minute ago" => "il y a 1 minute", "%d minutes ago" => "il y a %d minutes", +"1 hour ago" => "Il y a une heure", +"%d hours ago" => "Il y a %d heures", "today" => "aujourd'hui", "yesterday" => "hier", "%d days ago" => "il y a %d jours", "last month" => "le mois dernier", -"months ago" => "il y a plusieurs mois", +"%d months ago" => "Il y a %d mois", "last year" => "l'année dernière", "years ago" => "il y a plusieurs années", "%s is available. Get more information" => "%s est disponible. Obtenez plus d'informations", "up to date" => "À jour", -"updates check is disabled" => "la vérification des mises à jour est désactivée" +"updates check is disabled" => "la vérification des mises à jour est désactivée", +"Could not find category \"%s\"" => "Impossible de trouver la catégorie \"%s\"" ); diff --git a/lib/l10n/gl.php b/lib/l10n/gl.php index 7a9de627c2d922c18c2ba6f7ec6e6e05c708520c..1e897959e41b6f60a96b17037b857ca74cf7b7f0 100644 --- a/lib/l10n/gl.php +++ b/lib/l10n/gl.php @@ -1,28 +1,34 @@ "Axuda", -"Personal" => "Personal", -"Settings" => "Preferencias", +"Personal" => "Persoal", +"Settings" => "Configuracións", "Users" => "Usuarios", -"Apps" => "Apps", +"Apps" => "Aplicativos", "Admin" => "Administración", -"ZIP download is turned off." => "Descargas ZIP está deshabilitadas", -"Files need to be downloaded one by one." => "Os ficheiros necesitan ser descargados de un en un", -"Back to Files" => "Voltar a ficheiros", -"Selected files too large to generate zip file." => "Os ficheiros seleccionados son demasiado grandes para xerar un ficheiro ZIP", -"Application is not enabled" => "O aplicativo non está habilitado", -"Authentication error" => "Erro na autenticación", -"Token expired. Please reload page." => "Testemuño caducado. Por favor recargue a páxina.", +"ZIP download is turned off." => "As descargas ZIP están desactivadas", +"Files need to be downloaded one by one." => "Os ficheiros necesitan seren descargados de un en un.", +"Back to Files" => "Volver aos ficheiros", +"Selected files too large to generate zip file." => "Os ficheiros seleccionados son demasiado grandes como para xerar un ficheiro zip.", +"Application is not enabled" => "O aplicativo non está activado", +"Authentication error" => "Produciuse un erro na autenticación", +"Token expired. Please reload page." => "Testemuña caducada. Recargue a páxina.", +"Files" => "Ficheiros", +"Text" => "Texto", +"Images" => "Imaxes", "seconds ago" => "hai segundos", "1 minute ago" => "hai 1 minuto", "%d minutes ago" => "hai %d minutos", +"1 hour ago" => "Vai 1 hora", +"%d hours ago" => "Vai %d horas", "today" => "hoxe", "yesterday" => "onte", "%d days ago" => "hai %d días", "last month" => "último mes", -"months ago" => "meses atrás", +"%d months ago" => "Vai %d meses", "last year" => "último ano", "years ago" => "anos atrás", -"%s is available. Get more information" => "%s está dispoñible. Obteña máis información", +"%s is available. Get more information" => "%s está dispoñíbel. Obtéña máis información", "up to date" => "ao día", -"updates check is disabled" => "comprobación de actualizacións está deshabilitada" +"updates check is disabled" => "a comprobación de actualizacións está desactivada", +"Could not find category \"%s\"" => "Non foi posíbel atopar a categoría «%s»" ); diff --git a/lib/l10n/he.php b/lib/l10n/he.php index 149637d09d29422b78442b2fc9146a9d1ba4bdf0..078a731afc0defacdaafaf0c93b7890dad81c4ae 100644 --- a/lib/l10n/he.php +++ b/lib/l10n/he.php @@ -12,17 +12,23 @@ "Application is not enabled" => "יישומים אינם מופעלים", "Authentication error" => "שגיאת הזדהות", "Token expired. Please reload page." => "פג תוקף. נא לטעון שוב את הדף.", +"Files" => "קבצים", +"Text" => "טקסט", +"Images" => "תמונות", "seconds ago" => "שניות", "1 minute ago" => "לפני דקה אחת", "%d minutes ago" => "לפני %d דקות", +"1 hour ago" => "לפני שעה", +"%d hours ago" => "לפני %d שעות", "today" => "היום", "yesterday" => "אתמול", "%d days ago" => "לפני %d ימים", "last month" => "חודש שעבר", -"months ago" => "חודשים", +"%d months ago" => "לפני %d חודשים", "last year" => "שנה שעברה", "years ago" => "שנים", "%s is available. Get more information" => "%s זמין. קבלת מידע נוסף", "up to date" => "עדכני", -"updates check is disabled" => "בדיקת עדכונים מנוטרלת" +"updates check is disabled" => "בדיקת עדכונים מנוטרלת", +"Could not find category \"%s\"" => "לא ניתן למצוא את הקטגוריה „%s“" ); diff --git a/lib/l10n/hr.php b/lib/l10n/hr.php new file mode 100644 index 0000000000000000000000000000000000000000..62305c15711d1778221faafcb16bec3aa74648c6 --- /dev/null +++ b/lib/l10n/hr.php @@ -0,0 +1,15 @@ + "Pomoć", +"Personal" => "Osobno", +"Settings" => "Postavke", +"Users" => "Korisnici", +"Authentication error" => "Greška kod autorizacije", +"Files" => "Datoteke", +"Text" => "Tekst", +"seconds ago" => "sekundi prije", +"today" => "danas", +"yesterday" => "jučer", +"last month" => "prošli mjesec", +"last year" => "prošlu godinu", +"years ago" => "godina" +); diff --git a/lib/l10n/hu_HU.php b/lib/l10n/hu_HU.php index eb074b79c617ac72b4df0127984b758c6ad5a63f..63704a978c5b81efe0450b6562ca9788615802ff 100644 --- a/lib/l10n/hu_HU.php +++ b/lib/l10n/hu_HU.php @@ -12,6 +12,8 @@ "Application is not enabled" => "Az alkalmazás nincs engedélyezve", "Authentication error" => "Hitelesítési hiba", "Token expired. Please reload page." => "A token lejárt. Frissítsd az oldalt.", +"Files" => "Fájlok", +"Text" => "Szöveg", "seconds ago" => "másodperccel ezelőtt", "1 minute ago" => "1 perccel ezelőtt", "%d minutes ago" => "%d perccel ezelőtt", @@ -19,7 +21,6 @@ "yesterday" => "tegnap", "%d days ago" => "%d évvel ezelőtt", "last month" => "múlt hónapban", -"months ago" => "hónappal ezelőtt", "last year" => "tavaly", "years ago" => "évvel ezelőtt" ); diff --git a/lib/l10n/ia.php b/lib/l10n/ia.php new file mode 100644 index 0000000000000000000000000000000000000000..05b2c88e1ed82342cd2cb3f72c92fe9b4df1219b --- /dev/null +++ b/lib/l10n/ia.php @@ -0,0 +1,8 @@ + "Adjuta", +"Personal" => "Personal", +"Settings" => "Configurationes", +"Users" => "Usatores", +"Files" => "Files", +"Text" => "Texto" +); diff --git a/lib/l10n/id.php b/lib/l10n/id.php new file mode 100644 index 0000000000000000000000000000000000000000..e31b4caf4f503288f995698e1e530712c3e27485 --- /dev/null +++ b/lib/l10n/id.php @@ -0,0 +1,28 @@ + "bantu", +"Personal" => "perseorangan", +"Settings" => "pengaturan", +"Users" => "pengguna", +"Apps" => "aplikasi", +"Admin" => "admin", +"ZIP download is turned off." => "download ZIP sedang dimatikan", +"Files need to be downloaded one by one." => "file harus di unduh satu persatu", +"Back to Files" => "kembali ke daftar file", +"Selected files too large to generate zip file." => "file yang dipilih terlalu besar untuk membuat file zip", +"Application is not enabled" => "aplikasi tidak diaktifkan", +"Authentication error" => "autentikasi bermasalah", +"Token expired. Please reload page." => "token kadaluarsa.mohon perbaharui laman.", +"Text" => "teks", +"seconds ago" => "beberapa detik yang lalu", +"1 minute ago" => "1 menit lalu", +"%d minutes ago" => "%d menit lalu", +"today" => "hari ini", +"yesterday" => "kemarin", +"%d days ago" => "%d hari lalu", +"last month" => "bulan kemarin", +"last year" => "tahun kemarin", +"years ago" => "beberapa tahun lalu", +"%s is available. Get more information" => "%s tersedia. dapatkan info lebih lanjut", +"up to date" => "terbaru", +"updates check is disabled" => "pengecekan pembaharuan sedang non-aktifkan" +); diff --git a/lib/l10n/it.php b/lib/l10n/it.php index c4c7d90610bec35d3d3c0d75dea715c40c0a6c52..c0fb0babfb3051a63dca901413ba404901e5e022 100644 --- a/lib/l10n/it.php +++ b/lib/l10n/it.php @@ -12,17 +12,23 @@ "Application is not enabled" => "L'applicazione non è abilitata", "Authentication error" => "Errore di autenticazione", "Token expired. Please reload page." => "Token scaduto. Ricarica la pagina.", +"Files" => "File", +"Text" => "Testo", +"Images" => "Immagini", "seconds ago" => "secondi fa", "1 minute ago" => "1 minuto fa", "%d minutes ago" => "%d minuti fa", +"1 hour ago" => "1 ora fa", +"%d hours ago" => "%d ore fa", "today" => "oggi", "yesterday" => "ieri", "%d days ago" => "%d giorni fa", "last month" => "il mese scorso", -"months ago" => "mesi fa", +"%d months ago" => "%d mesi fa", "last year" => "l'anno scorso", "years ago" => "anni fa", "%s is available. Get more information" => "%s è disponibile. Ottieni ulteriori informazioni", "up to date" => "aggiornato", -"updates check is disabled" => "il controllo degli aggiornamenti è disabilitato" +"updates check is disabled" => "il controllo degli aggiornamenti è disabilitato", +"Could not find category \"%s\"" => "Impossibile trovare la categoria \"%s\"" ); diff --git a/lib/l10n/ja_JP.php b/lib/l10n/ja_JP.php index 10f7276703abc4b734891a90f36e58ef76ff2ee4..854734c976479535efd7035cd17d300a2eaab548 100644 --- a/lib/l10n/ja_JP.php +++ b/lib/l10n/ja_JP.php @@ -12,17 +12,23 @@ "Application is not enabled" => "アプリケーションは無効です", "Authentication error" => "認証エラー", "Token expired. Please reload page." => "トークンが無効になりました。ページを再読込してください。", +"Files" => "ファイル", +"Text" => "TTY TDD", +"Images" => "画像", "seconds ago" => "秒前", "1 minute ago" => "1分前", "%d minutes ago" => "%d 分前", +"1 hour ago" => "1 時間前", +"%d hours ago" => "%d 時間前", "today" => "今日", "yesterday" => "昨日", "%d days ago" => "%d 日前", "last month" => "先月", -"months ago" => "月前", +"%d months ago" => "%d 分前", "last year" => "昨年", "years ago" => "年前", "%s is available. Get more information" => "%s が利用可能です。詳細情報 を確認ください", "up to date" => "最新です", -"updates check is disabled" => "更新チェックは無効です" +"updates check is disabled" => "更新チェックは無効です", +"Could not find category \"%s\"" => "カテゴリ \"%s\" が見つかりませんでした" ); diff --git a/lib/l10n/ka_GE.php b/lib/l10n/ka_GE.php new file mode 100644 index 0000000000000000000000000000000000000000..ff623827216ecea2d328fe3917a0d1908ae23bf7 --- /dev/null +++ b/lib/l10n/ka_GE.php @@ -0,0 +1,20 @@ + "დახმარება", +"Personal" => "პირადი", +"Settings" => "პარამეტრები", +"Users" => "მომხმარებელი", +"Apps" => "აპლიკაციები", +"Admin" => "ადმინისტრატორი", +"Authentication error" => "ავთენტიფიკაციის შეცდომა", +"Files" => "ფაილები", +"Text" => "ტექსტი", +"seconds ago" => "წამის წინ", +"1 minute ago" => "1 წუთის წინ", +"today" => "დღეს", +"yesterday" => "გუშინ", +"last month" => "გასულ თვეში", +"last year" => "ბოლო წელს", +"years ago" => "წლის წინ", +"up to date" => "განახლებულია", +"updates check is disabled" => "განახლების ძებნა გათიშულია" +); diff --git a/lib/l10n/ko.php b/lib/l10n/ko.php new file mode 100644 index 0000000000000000000000000000000000000000..c4716f9f8bd3469a69f500258c75ed829a12fc61 --- /dev/null +++ b/lib/l10n/ko.php @@ -0,0 +1,34 @@ + "도움말", +"Personal" => "개인", +"Settings" => "설정", +"Users" => "사용자", +"Apps" => "앱", +"Admin" => "관리자", +"ZIP download is turned off." => "ZIP 다운로드가 비활성화되었습니다.", +"Files need to be downloaded one by one." => "파일을 개별적으로 다운로드해야 합니다.", +"Back to Files" => "파일로 돌아가기", +"Selected files too large to generate zip file." => "선택한 파일들은 ZIP 파일을 생성하기에 너무 큽니다.", +"Application is not enabled" => "앱이 활성화되지 않았습니다", +"Authentication error" => "인증 오류", +"Token expired. Please reload page." => "토큰이 만료되었습니다. 페이지를 새로 고치십시오.", +"Files" => "파일", +"Text" => "텍스트", +"Images" => "그림", +"seconds ago" => "초 전", +"1 minute ago" => "1분 전", +"%d minutes ago" => "%d분 전", +"1 hour ago" => "1시간 전", +"%d hours ago" => "%d시간 전", +"today" => "오늘", +"yesterday" => "어제", +"%d days ago" => "%d일 전", +"last month" => "지난 달", +"%d months ago" => "%d개월 전", +"last year" => "작년", +"years ago" => "년 전", +"%s is available. Get more information" => "%s을(를) 사용할 수 있습니다. 자세한 정보 보기", +"up to date" => "최신", +"updates check is disabled" => "업데이트 확인이 비활성화됨", +"Could not find category \"%s\"" => "분류 \"%s\"을(를) 찾을 수 없습니다." +); diff --git a/lib/l10n/ku_IQ.php b/lib/l10n/ku_IQ.php new file mode 100644 index 0000000000000000000000000000000000000000..f89871f23c922104fc68624696c81c00e620d9c2 --- /dev/null +++ b/lib/l10n/ku_IQ.php @@ -0,0 +1,5 @@ + "یارمەتی", +"Settings" => "ده‌ستكاری", +"Users" => "به‌كارهێنه‌ر" +); diff --git a/lib/l10n/lb.php b/lib/l10n/lb.php new file mode 100644 index 0000000000000000000000000000000000000000..baee630e89753e2e8c74d8a10ccaaac860ed3d6a --- /dev/null +++ b/lib/l10n/lb.php @@ -0,0 +1,6 @@ + "Perséinlech", +"Settings" => "Astellungen", +"Authentication error" => "Authentifikatioun's Fehler", +"Text" => "SMS" +); diff --git a/lib/l10n/lt_LT.php b/lib/l10n/lt_LT.php index c6702a622879013dd4690ffd69914f44a8eb286c..b84c155633b33d6ce1ae226714ea2524c64b4ac5 100644 --- a/lib/l10n/lt_LT.php +++ b/lib/l10n/lt_LT.php @@ -11,11 +11,19 @@ "Selected files too large to generate zip file." => "Pasirinkti failai per dideli archyvavimui į ZIP.", "Application is not enabled" => "Programa neįjungta", "Authentication error" => "Autentikacijos klaida", +"Token expired. Please reload page." => "Sesija baigėsi. Prašome perkrauti puslapį.", +"Files" => "Failai", +"Text" => "Žinučių", +"seconds ago" => "prieš kelias sekundes", "1 minute ago" => "prieš 1 minutę", "%d minutes ago" => "prieš %d minučių", "today" => "šiandien", "yesterday" => "vakar", "%d days ago" => "prieš %d dienų", "last month" => "praėjusį mėnesį", -"last year" => "pereitais metais" +"last year" => "pereitais metais", +"years ago" => "prieš metus", +"%s is available. Get more information" => "%s yra galimas. Platesnė informacija čia", +"up to date" => "pilnai atnaujinta", +"updates check is disabled" => "atnaujinimų tikrinimas išjungtas" ); diff --git a/lib/l10n/lv.php b/lib/l10n/lv.php new file mode 100644 index 0000000000000000000000000000000000000000..3330d0e6b70f7a8957418b686b7085813c00165b --- /dev/null +++ b/lib/l10n/lv.php @@ -0,0 +1,8 @@ + "Palīdzība", +"Personal" => "Personīgi", +"Settings" => "Iestatījumi", +"Users" => "Lietotāji", +"Authentication error" => "Ielogošanās kļūme", +"Files" => "Faili" +); diff --git a/lib/l10n/mk.php b/lib/l10n/mk.php new file mode 100644 index 0000000000000000000000000000000000000000..a06073e808a3cf23ee1f86d09b6234ea3cc0de61 --- /dev/null +++ b/lib/l10n/mk.php @@ -0,0 +1,8 @@ + "Помош", +"Personal" => "Лично", +"Settings" => "Параметри", +"Users" => "Корисници", +"Files" => "Датотеки", +"Text" => "Текст" +); diff --git a/lib/l10n/ms_MY.php b/lib/l10n/ms_MY.php new file mode 100644 index 0000000000000000000000000000000000000000..86c7e51b4869bf17a41b9ce31b75fdf8f70c7b54 --- /dev/null +++ b/lib/l10n/ms_MY.php @@ -0,0 +1,8 @@ + "Peribadi", +"Settings" => "Tetapan", +"Users" => "Pengguna", +"Authentication error" => "Ralat pengesahan", +"Files" => "Fail-fail", +"Text" => "Teks" +); diff --git a/lib/l10n/nb_NO.php b/lib/l10n/nb_NO.php index f751a41d5eb2beeb90c879eb7491f569c124d04b..b01e09798890725a6ca7a1eb2fa90ee0edac519a 100644 --- a/lib/l10n/nb_NO.php +++ b/lib/l10n/nb_NO.php @@ -12,6 +12,9 @@ "Application is not enabled" => "Applikasjon er ikke påslått", "Authentication error" => "Autentiseringsfeil", "Token expired. Please reload page." => "Symbol utløpt. Vennligst last inn siden på nytt.", +"Files" => "Filer", +"Text" => "Tekst", +"Images" => "Bilder", "seconds ago" => "sekunder siden", "1 minute ago" => "1 minuitt siden", "%d minutes ago" => "%d minutter siden", @@ -19,7 +22,9 @@ "yesterday" => "i går", "%d days ago" => "%d dager siden", "last month" => "forrige måned", -"months ago" => "måneder siden", "last year" => "i fjor", -"years ago" => "år siden" +"years ago" => "år siden", +"%s is available. Get more information" => "%s er tilgjengelig. Få mer informasjon", +"up to date" => "oppdatert", +"updates check is disabled" => "versjonssjekk er avslått" ); diff --git a/lib/l10n/nl.php b/lib/l10n/nl.php index 583956c66e687534f3e5b479318d30f79914da87..087cf23a6278492ab4c495efed01ab4091ed4212 100644 --- a/lib/l10n/nl.php +++ b/lib/l10n/nl.php @@ -12,17 +12,23 @@ "Application is not enabled" => "De applicatie is niet actief", "Authentication error" => "Authenticatie fout", "Token expired. Please reload page." => "Token verlopen. Herlaad de pagina.", +"Files" => "Bestanden", +"Text" => "Tekst", +"Images" => "Afbeeldingen", "seconds ago" => "seconden geleden", "1 minute ago" => "1 minuut geleden", "%d minutes ago" => "%d minuten geleden", +"1 hour ago" => "1 uur geleden", +"%d hours ago" => "%d uren geleden", "today" => "vandaag", "yesterday" => "gisteren", "%d days ago" => "%d dagen geleden", "last month" => "vorige maand", -"months ago" => "maanden geleden", +"%d months ago" => "%d maanden geleden", "last year" => "vorig jaar", "years ago" => "jaar geleden", "%s is available. Get more information" => "%s is beschikbaar. Verkrijg meer informatie", "up to date" => "bijgewerkt", -"updates check is disabled" => "Meest recente versie controle is uitgeschakeld" +"updates check is disabled" => "Meest recente versie controle is uitgeschakeld", +"Could not find category \"%s\"" => "Kon categorie \"%s\" niet vinden" ); diff --git a/lib/l10n/nn_NO.php b/lib/l10n/nn_NO.php new file mode 100644 index 0000000000000000000000000000000000000000..faf7440320a824a8baa11de80f21c02c180b06c5 --- /dev/null +++ b/lib/l10n/nn_NO.php @@ -0,0 +1,9 @@ + "Hjelp", +"Personal" => "Personleg", +"Settings" => "Innstillingar", +"Users" => "Brukarar", +"Authentication error" => "Feil i autentisering", +"Files" => "Filer", +"Text" => "Tekst" +); diff --git a/lib/l10n/oc.php b/lib/l10n/oc.php index ffc0588becc111108f2b0d661e8f436432b27737..89161393380afac47d484ff194e47619f07cea39 100644 --- a/lib/l10n/oc.php +++ b/lib/l10n/oc.php @@ -9,6 +9,7 @@ "Files need to be downloaded one by one." => "Los fichièrs devan èsser avalcargats un per un.", "Back to Files" => "Torna cap als fichièrs", "Authentication error" => "Error d'autentificacion", +"Files" => "Fichièrs", "seconds ago" => "segonda a", "1 minute ago" => "1 minuta a", "%d minutes ago" => "%d minutas a", @@ -16,7 +17,6 @@ "yesterday" => "ièr", "%d days ago" => "%d jorns a", "last month" => "mes passat", -"months ago" => "meses a", "last year" => "an passat", "years ago" => "ans a", "up to date" => "a jorn", diff --git a/lib/l10n/pl.php b/lib/l10n/pl.php index 087aaa227d30b1588049888b616d777eac10536d..6f84a328ed9580d784a10d5668a90babbd980cfd 100644 --- a/lib/l10n/pl.php +++ b/lib/l10n/pl.php @@ -12,17 +12,23 @@ "Application is not enabled" => "Aplikacja nie jest włączona", "Authentication error" => "Błąd uwierzytelniania", "Token expired. Please reload page." => "Token wygasł. Proszę ponownie załadować stronę.", +"Files" => "Pliki", +"Text" => "Połączenie tekstowe", +"Images" => "Obrazy", "seconds ago" => "sekund temu", "1 minute ago" => "1 minutę temu", "%d minutes ago" => "%d minut temu", +"1 hour ago" => "1 godzine temu", +"%d hours ago" => "%d godzin temu", "today" => "dzisiaj", "yesterday" => "wczoraj", "%d days ago" => "%d dni temu", "last month" => "ostatni miesiąc", -"months ago" => "miesięcy temu", +"%d months ago" => "%d miesiecy temu", "last year" => "ostatni rok", "years ago" => "lat temu", "%s is available. Get more information" => "%s jest dostępna. Uzyskaj więcej informacji", "up to date" => "Aktualne", -"updates check is disabled" => "wybór aktualizacji jest wyłączony" +"updates check is disabled" => "wybór aktualizacji jest wyłączony", +"Could not find category \"%s\"" => "Nie można odnaleźć kategorii \"%s\"" ); diff --git a/lib/l10n/pl_PL.php b/lib/l10n/pl_PL.php new file mode 100644 index 0000000000000000000000000000000000000000..67cf0a33259224384df3bdc17b8b5eb84385d08e --- /dev/null +++ b/lib/l10n/pl_PL.php @@ -0,0 +1,3 @@ + "Ustawienia" +); diff --git a/lib/l10n/pt_BR.php b/lib/l10n/pt_BR.php index 1455eabbc94c973e89da7c6c70fa0e5e2af44e07..fb7087d35d779e765c631b3fb98bb9be013b10a9 100644 --- a/lib/l10n/pt_BR.php +++ b/lib/l10n/pt_BR.php @@ -12,17 +12,23 @@ "Application is not enabled" => "Aplicação não está habilitada", "Authentication error" => "Erro de autenticação", "Token expired. Please reload page." => "Token expirou. Por favor recarregue a página.", +"Files" => "Arquivos", +"Text" => "Texto", +"Images" => "Imagens", "seconds ago" => "segundos atrás", "1 minute ago" => "1 minuto atrás", "%d minutes ago" => "%d minutos atrás", +"1 hour ago" => "1 hora atrás", +"%d hours ago" => "%d horas atrás", "today" => "hoje", "yesterday" => "ontem", "%d days ago" => "%d dias atrás", "last month" => "último mês", -"months ago" => "meses atrás", +"%d months ago" => "%d meses atrás", "last year" => "último ano", "years ago" => "anos atrás", "%s is available. Get more information" => "%s está disponível. Obtenha mais informações", "up to date" => "atualizado", -"updates check is disabled" => "checagens de atualização estão desativadas" +"updates check is disabled" => "checagens de atualização estão desativadas", +"Could not find category \"%s\"" => "Impossível localizar categoria \"%s\"" ); diff --git a/lib/l10n/pt_PT.php b/lib/l10n/pt_PT.php index c3cee207a16f64299ff6b790a778dd2a8e95ab2a..84867c4c37c49787e663d1bf225b42536529d84f 100644 --- a/lib/l10n/pt_PT.php +++ b/lib/l10n/pt_PT.php @@ -12,17 +12,23 @@ "Application is not enabled" => "A aplicação não está activada", "Authentication error" => "Erro na autenticação", "Token expired. Please reload page." => "O token expirou. Por favor recarregue a página.", +"Files" => "Ficheiros", +"Text" => "Texto", +"Images" => "Imagens", "seconds ago" => "há alguns segundos", "1 minute ago" => "há 1 minuto", "%d minutes ago" => "há %d minutos", +"1 hour ago" => "Há 1 horas", +"%d hours ago" => "Há %d horas", "today" => "hoje", "yesterday" => "ontem", "%d days ago" => "há %d dias", "last month" => "mês passado", -"months ago" => "há meses", +"%d months ago" => "Há %d meses atrás", "last year" => "ano passado", "years ago" => "há anos", "%s is available. Get more information" => "%s está disponível. Obtenha mais informação", "up to date" => "actualizado", -"updates check is disabled" => "a verificação de actualizações está desligada" +"updates check is disabled" => "a verificação de actualizações está desligada", +"Could not find category \"%s\"" => "Não foi encontrado a categoria \"%s\"" ); diff --git a/lib/l10n/ro.php b/lib/l10n/ro.php index 5fffeec2335923effeb57379406c59a23d5ed62d..27912550e17c07945873736c4ae8ae98a3d59392 100644 --- a/lib/l10n/ro.php +++ b/lib/l10n/ro.php @@ -12,6 +12,8 @@ "Application is not enabled" => "Aplicația nu este activată", "Authentication error" => "Eroare la autentificare", "Token expired. Please reload page." => "Token expirat. Te rugăm să reîncarci pagina.", +"Files" => "Fișiere", +"Text" => "Text", "seconds ago" => "secunde în urmă", "1 minute ago" => "1 minut în urmă", "%d minutes ago" => "%d minute în urmă", @@ -19,7 +21,6 @@ "yesterday" => "ieri", "%d days ago" => "%d zile în urmă", "last month" => "ultima lună", -"months ago" => "luni în urmă", "last year" => "ultimul an", "years ago" => "ani în urmă", "%s is available. Get more information" => "%s este disponibil. Vezi mai multe informații", diff --git a/lib/l10n/ru.php b/lib/l10n/ru.php index 74425f0e134c148ceb40d4fa217253913bad999e..3ed55f8e9dc5bf5690415eac2902e3b3d97977ac 100644 --- a/lib/l10n/ru.php +++ b/lib/l10n/ru.php @@ -12,17 +12,23 @@ "Application is not enabled" => "Приложение не разрешено", "Authentication error" => "Ошибка аутентификации", "Token expired. Please reload page." => "Токен просрочен. Перезагрузите страницу.", +"Files" => "Файлы", +"Text" => "Текст", +"Images" => "Изображения", "seconds ago" => "менее минуты", "1 minute ago" => "1 минуту назад", "%d minutes ago" => "%d минут назад", +"1 hour ago" => "час назад", +"%d hours ago" => "%d часов назад", "today" => "сегодня", "yesterday" => "вчера", "%d days ago" => "%d дней назад", "last month" => "в прошлом месяце", -"months ago" => "месяцы назад", +"%d months ago" => "%d месяцев назад", "last year" => "в прошлом году", "years ago" => "годы назад", "%s is available. Get more information" => "Возможно обновление до %s. Подробнее", "up to date" => "актуальная версия", -"updates check is disabled" => "проверка обновлений отключена" +"updates check is disabled" => "проверка обновлений отключена", +"Could not find category \"%s\"" => "Категория \"%s\" не найдена" ); diff --git a/lib/l10n/ru_RU.php b/lib/l10n/ru_RU.php index decf63efb97ca4b0b1ff45ba64c638cd9fe2cc56..ba7d39f9eb075e4cb549c54db52e6487485dc656 100644 --- a/lib/l10n/ru_RU.php +++ b/lib/l10n/ru_RU.php @@ -12,17 +12,23 @@ "Application is not enabled" => "Приложение не запущено", "Authentication error" => "Ошибка аутентификации", "Token expired. Please reload page." => "Маркер истек. Пожалуйста, перезагрузите страницу.", +"Files" => "Файлы", +"Text" => "Текст", +"Images" => "Изображения", "seconds ago" => "секунд назад", "1 minute ago" => "1 минуту назад", "%d minutes ago" => "%d минут назад", +"1 hour ago" => "1 час назад", +"%d hours ago" => "%d часов назад", "today" => "сегодня", "yesterday" => "вчера", "%d days ago" => "%d дней назад", "last month" => "в прошлом месяце", -"months ago" => "месяц назад", +"%d months ago" => "%d месяцев назад", "last year" => "в прошлом году", "years ago" => "год назад", "%s is available. Get more information" => "%s доступно. Получите more information", "up to date" => "до настоящего времени", -"updates check is disabled" => "Проверка обновлений отключена" +"updates check is disabled" => "Проверка обновлений отключена", +"Could not find category \"%s\"" => "Не удалось найти категорию \"%s\"" ); diff --git a/lib/l10n/si_LK.php b/lib/l10n/si_LK.php new file mode 100644 index 0000000000000000000000000000000000000000..25624acf705ca0e9b56488abfb3aa76fc5a106f0 --- /dev/null +++ b/lib/l10n/si_LK.php @@ -0,0 +1,30 @@ + "උදව්", +"Personal" => "පෞද්ගලික", +"Settings" => "සිටුවම්", +"Users" => "පරිශීලකයන්", +"Apps" => "යෙදුම්", +"Admin" => "පරිපාලක", +"ZIP download is turned off." => "ZIP භාගත කිරීම් අක්‍රියයි", +"Files need to be downloaded one by one." => "ගොනු එකින් එක භාගත යුතුයි", +"Back to Files" => "ගොනු වෙතට නැවත යන්න", +"Selected files too large to generate zip file." => "තෝරාගත් ගොනු ZIP ගොනුවක් තැනීමට විශාල වැඩිය.", +"Application is not enabled" => "යෙදුම සක්‍රිය කර නොමැත", +"Authentication error" => "සත්‍යාපනය කිරීමේ දෝශයක්", +"Token expired. Please reload page." => "ටෝකනය කල් ඉකුත් වී ඇත. පිටුව නැවුම් කරන්න", +"Files" => "ගොනු", +"Text" => "පෙළ", +"Images" => "අනු රූ", +"seconds ago" => "තත්පරයන්ට පෙර", +"1 minute ago" => "1 මිනිත්තුවකට පෙර", +"%d minutes ago" => "%d මිනිත්තුවන්ට පෙර", +"today" => "අද", +"yesterday" => "ඊයේ", +"%d days ago" => "%d දිනකට පෙර", +"last month" => "පෙර මාසයේ", +"last year" => "පෙර අවුරුද්දේ", +"years ago" => "අවුරුදු කීපයකට පෙර", +"%s is available. Get more information" => "%s යොදාගත හැක. තව විස්තර ලබාගන්න", +"up to date" => "යාවත්කාලීනයි", +"updates check is disabled" => "යාවත්කාලීන බව පරීක්ෂණය අක්‍රියයි" +); diff --git a/lib/l10n/sk_SK.php b/lib/l10n/sk_SK.php index 33b329c30bbf7e6ab63cf402131684969ec6e85e..98a5b5ca677d6935ebe822c8bc49ed2684390f2d 100644 --- a/lib/l10n/sk_SK.php +++ b/lib/l10n/sk_SK.php @@ -11,15 +11,24 @@ "Selected files too large to generate zip file." => "Zvolené súbory sú príliž veľké na vygenerovanie zip súboru.", "Application is not enabled" => "Aplikácia nie je zapnutá", "Authentication error" => "Chyba autentifikácie", +"Token expired. Please reload page." => "Token vypršal. Obnovte, prosím, stránku.", +"Files" => "Súbory", +"Text" => "Text", +"Images" => "Obrázky", +"seconds ago" => "pred sekundami", "1 minute ago" => "pred 1 minútou", "%d minutes ago" => "pred %d minútami", +"1 hour ago" => "Pred 1 hodinou", +"%d hours ago" => "Pred %d hodinami.", "today" => "dnes", "yesterday" => "včera", "%d days ago" => "pred %d dňami", "last month" => "minulý mesiac", -"months ago" => "pred mesiacmi", +"%d months ago" => "Pred %d mesiacmi.", "last year" => "minulý rok", "years ago" => "pred rokmi", +"%s is available. Get more information" => "%s je dostupné. Získať viac informácií", "up to date" => "aktuálny", -"updates check is disabled" => "sledovanie aktualizácií je vypnuté" +"updates check is disabled" => "sledovanie aktualizácií je vypnuté", +"Could not find category \"%s\"" => "Nemožno nájsť danú kategóriu \"%s\"" ); diff --git a/lib/l10n/sl.php b/lib/l10n/sl.php index eac839e78f32fc49e197c1f2394f02f970d8351b..391d932c4ee0c916866da3fc6afab4a1580eb036 100644 --- a/lib/l10n/sl.php +++ b/lib/l10n/sl.php @@ -3,26 +3,32 @@ "Personal" => "Osebno", "Settings" => "Nastavitve", "Users" => "Uporabniki", -"Apps" => "Aplikacije", -"Admin" => "Skrbnik", -"ZIP download is turned off." => "ZIP prenos je onemogočen.", -"Files need to be downloaded one by one." => "Datoteke morajo biti prenešene posamezno.", +"Apps" => "Programi", +"Admin" => "Skrbništvo", +"ZIP download is turned off." => "Prejem datotek ZIP je onemogočen.", +"Files need to be downloaded one by one." => "Datoteke je mogoče prejeti le posamič.", "Back to Files" => "Nazaj na datoteke", -"Selected files too large to generate zip file." => "Izbrane datoteke so prevelike, da bi lahko ustvarili zip datoteko.", -"Application is not enabled" => "Aplikacija ni omogočena", +"Selected files too large to generate zip file." => "Izbrane datoteke so prevelike za ustvarjanje datoteke arhiva zip.", +"Application is not enabled" => "Program ni omogočen", "Authentication error" => "Napaka overitve", -"Token expired. Please reload page." => "Žeton je potekel. Prosimo, če spletno stran znova naložite.", +"Token expired. Please reload page." => "Žeton je potekel. Spletišče je traba znova naložiti.", +"Files" => "Datoteke", +"Text" => "Besedilo", +"Images" => "Slike", "seconds ago" => "pred nekaj sekundami", "1 minute ago" => "pred minuto", "%d minutes ago" => "pred %d minutami", +"1 hour ago" => "Pred 1 uro", +"%d hours ago" => "Pred %d urami", "today" => "danes", "yesterday" => "včeraj", "%d days ago" => "pred %d dnevi", "last month" => "prejšnji mesec", -"months ago" => "pred nekaj meseci", +"%d months ago" => "Pred %d meseci", "last year" => "lani", "years ago" => "pred nekaj leti", -"%s is available. Get more information" => "%s je na voljo. Več informacij.", -"up to date" => "ažuren", -"updates check is disabled" => "preverjanje za posodobitve je onemogočeno" +"%s is available. Get more information" => "%s je na voljo. Več podrobnosti.", +"up to date" => "posodobljeno", +"updates check is disabled" => "preverjanje za posodobitve je onemogočeno", +"Could not find category \"%s\"" => "Kategorije \"%s\" ni bilo mogoče najti." ); diff --git a/lib/l10n/sr.php b/lib/l10n/sr.php new file mode 100644 index 0000000000000000000000000000000000000000..2ae7400ba79018731322bc9a939dccef8dcc9b76 --- /dev/null +++ b/lib/l10n/sr.php @@ -0,0 +1,34 @@ + "Помоћ", +"Personal" => "Лично", +"Settings" => "Подешавања", +"Users" => "Корисници", +"Apps" => "Апликације", +"Admin" => "Администрација", +"ZIP download is turned off." => "Преузимање ZIP-а је искључено.", +"Files need to be downloaded one by one." => "Датотеке морате преузимати једну по једну.", +"Back to Files" => "Назад на датотеке", +"Selected files too large to generate zip file." => "Изабране датотеке су превелике да бисте направили ZIP датотеку.", +"Application is not enabled" => "Апликација није омогућена", +"Authentication error" => "Грешка при провери идентитета", +"Token expired. Please reload page." => "Жетон је истекао. Поново учитајте страницу.", +"Files" => "Датотеке", +"Text" => "Текст", +"Images" => "Слике", +"seconds ago" => "пре неколико секунди", +"1 minute ago" => "пре 1 минут", +"%d minutes ago" => "пре %d минута", +"1 hour ago" => "пре 1 сат", +"%d hours ago" => "пре %d сата/и", +"today" => "данас", +"yesterday" => "јуче", +"%d days ago" => "пре %d дана", +"last month" => "прошлог месеца", +"%d months ago" => "пре %d месеца/и", +"last year" => "прошле године", +"years ago" => "година раније", +"%s is available. Get more information" => "%s је доступна. Погледајте више информација.", +"up to date" => "је ажурна.", +"updates check is disabled" => "провера ажурирања је онемогућена.", +"Could not find category \"%s\"" => "Не могу да пронађем категорију „%s“." +); diff --git a/lib/l10n/sr@latin.php b/lib/l10n/sr@latin.php new file mode 100644 index 0000000000000000000000000000000000000000..3fc1f61eafa07903031456ad2d6c2fd1a131a63d --- /dev/null +++ b/lib/l10n/sr@latin.php @@ -0,0 +1,9 @@ + "Pomoć", +"Personal" => "Lično", +"Settings" => "Podešavanja", +"Users" => "Korisnici", +"Authentication error" => "Greška pri autentifikaciji", +"Files" => "Fajlovi", +"Text" => "Tekst" +); diff --git a/lib/l10n/sv.php b/lib/l10n/sv.php index 3d377133f2242d4885e2e4ef0c6df063449328a8..5799e2dd1a8883d594c361b1646ab1358f4c8634 100644 --- a/lib/l10n/sv.php +++ b/lib/l10n/sv.php @@ -12,17 +12,23 @@ "Application is not enabled" => "Applikationen är inte aktiverad", "Authentication error" => "Fel vid autentisering", "Token expired. Please reload page." => "Ogiltig token. Ladda om sidan.", +"Files" => "Filer", +"Text" => "Text", +"Images" => "Bilder", "seconds ago" => "sekunder sedan", "1 minute ago" => "1 minut sedan", "%d minutes ago" => "%d minuter sedan", +"1 hour ago" => "1 timme sedan", +"%d hours ago" => "%d timmar sedan", "today" => "idag", "yesterday" => "igår", "%d days ago" => "%d dagar sedan", "last month" => "förra månaden", -"months ago" => "månader sedan", +"%d months ago" => "%d månader sedan", "last year" => "förra året", "years ago" => "år sedan", "%s is available. Get more information" => "%s finns. Få mer information", "up to date" => "uppdaterad", -"updates check is disabled" => "uppdateringskontroll är inaktiverad" +"updates check is disabled" => "uppdateringskontroll är inaktiverad", +"Could not find category \"%s\"" => "Kunde inte hitta kategorin \"%s\"" ); diff --git a/lib/l10n/ta_LK.php b/lib/l10n/ta_LK.php new file mode 100644 index 0000000000000000000000000000000000000000..c76394bcb4f9c815607d280cdab5fb4acf950229 --- /dev/null +++ b/lib/l10n/ta_LK.php @@ -0,0 +1,34 @@ + "உதவி", +"Personal" => "தனிப்பட்ட", +"Settings" => "அமைப்புகள்", +"Users" => "பயனாளர்கள்", +"Apps" => "செயலிகள்", +"Admin" => "நிர்வாகம்", +"ZIP download is turned off." => "வீசொலிப் பூட்டு பதிவிறக்கம் நிறுத்தப்பட்டுள்ளது.", +"Files need to be downloaded one by one." => "கோப்புகள்ஒன்றன் பின் ஒன்றாக பதிவிறக்கப்படவேண்டும்.", +"Back to Files" => "கோப்புகளுக்கு செல்க", +"Selected files too large to generate zip file." => "வீ சொலிக் கோப்புகளை உருவாக்குவதற்கு தெரிவுசெய்யப்பட்ட கோப்புகள் மிகப்பெரியவை", +"Application is not enabled" => "செயலி இயலுமைப்படுத்தப்படவில்லை", +"Authentication error" => "அத்தாட்சிப்படுத்தலில் வழு", +"Token expired. Please reload page." => "அடையாளவில்லை காலாவதியாகிவிட்டது. தயவுசெய்து பக்கத்தை மீள் ஏற்றுக.", +"Files" => "கோப்புகள்", +"Text" => "உரை", +"Images" => "படங்கள்", +"seconds ago" => "செக்கன்களுக்கு முன்", +"1 minute ago" => "1 நிமிடத்திற்கு முன் ", +"%d minutes ago" => "%d நிமிடங்களுக்கு முன்", +"1 hour ago" => "1 மணித்தியாலத்திற்கு முன்", +"%d hours ago" => "%d மணித்தியாலத்திற்கு முன்", +"today" => "இன்று", +"yesterday" => "நேற்று", +"%d days ago" => "%d நாட்களுக்கு முன்", +"last month" => "கடந்த மாதம்", +"%d months ago" => "%d மாதத்திற்கு முன்", +"last year" => "கடந்த வருடம்", +"years ago" => "வருடங்களுக்கு முன்", +"%s is available. Get more information" => "%s இன்னும் இருக்கின்றன. மேலதிக தகவல்களுக்கு எடுக்க", +"up to date" => "நவீன", +"updates check is disabled" => "இற்றைப்படுத்தலை சரிபார்ப்பதை செயலற்றதாக்குக", +"Could not find category \"%s\"" => "பிரிவு \"%s\" ஐ கண்டுப்பிடிக்க முடியவில்லை" +); diff --git a/lib/l10n/th_TH.php b/lib/l10n/th_TH.php index 2aa2ffaba8cec81bfa64da005cad4159e5d3dbe7..75fa02f84b09ead9ff09ca63fc657278723fc895 100644 --- a/lib/l10n/th_TH.php +++ b/lib/l10n/th_TH.php @@ -12,17 +12,23 @@ "Application is not enabled" => "แอพพลิเคชั่นดังกล่าวยังไม่ได้เปิดใช้งาน", "Authentication error" => "เกิดข้อผิดพลาดในสิทธิ์การเข้าใช้งาน", "Token expired. Please reload page." => "รหัสยืนยันความถูกต้องหมดอายุแล้ว กรุณาโหลดหน้าเว็บใหม่อีกครั้ง", +"Files" => "ไฟล์", +"Text" => "ข้อความ", +"Images" => "รูปภาพ", "seconds ago" => "วินาทีที่ผ่านมา", "1 minute ago" => "1 นาทีมาแล้ว", "%d minutes ago" => "%d นาทีที่ผ่านมา", +"1 hour ago" => "1 ชั่วโมงก่อนหน้านี้", +"%d hours ago" => "%d ชั่วโมงก่อนหน้านี้", "today" => "วันนี้", "yesterday" => "เมื่อวานนี้", "%d days ago" => "%d วันที่ผ่านมา", "last month" => "เดือนที่แล้ว", -"months ago" => "เดือนมาแล้ว", +"%d months ago" => "%d เดือนมาแล้ว", "last year" => "ปีที่แล้ว", "years ago" => "ปีที่ผ่านมา", "%s is available. Get more information" => "%s พร้อมให้ใช้งานได้แล้ว. ดูรายละเอียดเพิ่มเติม", "up to date" => "ทันสมัย", -"updates check is disabled" => "การตรวจสอบชุดอัพเดทถูกปิดใช้งานไว้" +"updates check is disabled" => "การตรวจสอบชุดอัพเดทถูกปิดใช้งานไว้", +"Could not find category \"%s\"" => "ไม่พบหมวดหมู่ \"%s\"" ); diff --git a/lib/l10n/tr.php b/lib/l10n/tr.php new file mode 100644 index 0000000000000000000000000000000000000000..69067d7ec57b05260099679bc765eb8504c0a1d2 --- /dev/null +++ b/lib/l10n/tr.php @@ -0,0 +1,9 @@ + "Yardı", +"Personal" => "Kişisel", +"Settings" => "Ayarlar", +"Users" => "Kullanıcılar", +"Authentication error" => "Kimlik doğrulama hatası", +"Files" => "Dosyalar", +"Text" => "Metin" +); diff --git a/lib/l10n/uk.php b/lib/l10n/uk.php index 423aa12b2d736f277015121226fb19fb2de6c961..f5d52f8682dd464c6b9fcf4348cabd041db09997 100644 --- a/lib/l10n/uk.php +++ b/lib/l10n/uk.php @@ -11,15 +11,24 @@ "Selected files too large to generate zip file." => "Вибрані фали завеликі для генерування zip файлу.", "Application is not enabled" => "Додаток не увімкнений", "Authentication error" => "Помилка автентифікації", +"Token expired. Please reload page." => "Строк дії токена скінчився. Будь ласка, перезавантажте сторінку.", +"Files" => "Файли", +"Text" => "Текст", +"Images" => "Зображення", "seconds ago" => "секунди тому", "1 minute ago" => "1 хвилину тому", "%d minutes ago" => "%d хвилин тому", +"1 hour ago" => "1 годину тому", +"%d hours ago" => "%d годин тому", "today" => "сьогодні", "yesterday" => "вчора", "%d days ago" => "%d днів тому", "last month" => "минулого місяця", -"months ago" => "місяці тому", +"%d months ago" => "%d місяців тому", "last year" => "минулого року", "years ago" => "роки тому", -"updates check is disabled" => "перевірка оновлень відключена" +"%s is available. Get more information" => "%s доступно. Отримати детальну інформацію", +"up to date" => "оновлено", +"updates check is disabled" => "перевірка оновлень відключена", +"Could not find category \"%s\"" => "Не вдалося знайти категорію \"%s\"" ); diff --git a/lib/l10n/vi.php b/lib/l10n/vi.php index fc41d69819ae89134e45100029cee8a5c5f1a50e..8b7242ae6111cda61f8394d8d3a4272b1fd256c7 100644 --- a/lib/l10n/vi.php +++ b/lib/l10n/vi.php @@ -12,17 +12,23 @@ "Application is not enabled" => "Ứng dụng không được BẬT", "Authentication error" => "Lỗi xác thực", "Token expired. Please reload page." => "Mã Token đã hết hạn. Hãy tải lại trang.", +"Files" => "Các tập tin", +"Text" => "Văn bản", +"Images" => "Hình ảnh", "seconds ago" => "1 giây trước", "1 minute ago" => "1 phút trước", "%d minutes ago" => "%d phút trước", +"1 hour ago" => "1 giờ trước", +"%d hours ago" => "%d giờ trước", "today" => "hôm nay", "yesterday" => "hôm qua", "%d days ago" => "%d ngày trước", "last month" => "tháng trước", -"months ago" => "tháng trước", +"%d months ago" => "%d tháng trước", "last year" => "năm trước", "years ago" => "năm trước", "%s is available. Get more information" => "%s có sẵn. xem thêm ở đây", "up to date" => "đến ngày", -"updates check is disabled" => "đã TĂT chức năng cập nhật " +"updates check is disabled" => "đã TĂT chức năng cập nhật ", +"Could not find category \"%s\"" => "không thể tìm thấy mục \"%s\"" ); diff --git a/lib/l10n/zh_CN.GB2312.php b/lib/l10n/zh_CN.GB2312.php index 4b0a5e9f4d2a59597a728f1ab3a4ae31e3f1303b..08975e44598b5e2a8884aa7e2dcd9fb3879b60a9 100644 --- a/lib/l10n/zh_CN.GB2312.php +++ b/lib/l10n/zh_CN.GB2312.php @@ -12,6 +12,9 @@ "Application is not enabled" => "应用未启用", "Authentication error" => "验证错误", "Token expired. Please reload page." => "会话过期。请刷新页面。", +"Files" => "文件", +"Text" => "文本", +"Images" => "图片", "seconds ago" => "秒前", "1 minute ago" => "1 分钟前", "%d minutes ago" => "%d 分钟前", @@ -19,7 +22,6 @@ "yesterday" => "昨天", "%d days ago" => "%d 天前", "last month" => "上个月", -"months ago" => "月前", "last year" => "去年", "years ago" => "年前", "%s is available. Get more information" => "%s 不可用。获知 详情", diff --git a/lib/l10n/zh_CN.php b/lib/l10n/zh_CN.php index 8229c77d2dd096e1bbbf9d1ab2c3f1ce72a59d55..c3af288b7270559c5fe4ff2b752b15a28be6f03f 100644 --- a/lib/l10n/zh_CN.php +++ b/lib/l10n/zh_CN.php @@ -12,17 +12,23 @@ "Application is not enabled" => "不需要程序", "Authentication error" => "认证错误", "Token expired. Please reload page." => "Token 过期,请刷新页面。", +"Files" => "文件", +"Text" => "文本", +"Images" => "图像", "seconds ago" => "几秒前", "1 minute ago" => "1分钟前", "%d minutes ago" => "%d 分钟前", +"1 hour ago" => "1小时前", +"%d hours ago" => "%d小时前", "today" => "今天", "yesterday" => "昨天", "%d days ago" => "%d 天前", "last month" => "上月", -"months ago" => "几月前", +"%d months ago" => "%d 月前", "last year" => "上年", "years ago" => "几年前", "%s is available. Get more information" => "%s 已存在. 点此 获取更多信息", "up to date" => "已更新。", -"updates check is disabled" => "检查更新功能被关闭。" +"updates check is disabled" => "检查更新功能被关闭。", +"Could not find category \"%s\"" => "无法找到分类 \"%s\"" ); diff --git a/lib/l10n/zh_TW.php b/lib/l10n/zh_TW.php index c9a26a53b2a71e30e559b4ee144e6ae07e3ad3a9..4dbf89c2e0e0a9fc0d9e44a4bf5c3d7eb9efcad9 100644 --- a/lib/l10n/zh_TW.php +++ b/lib/l10n/zh_TW.php @@ -12,17 +12,23 @@ "Application is not enabled" => "應用程式未啟用", "Authentication error" => "認證錯誤", "Token expired. Please reload page." => "Token 過期. 請重新整理頁面", +"Files" => "檔案", +"Text" => "文字", +"Images" => "圖片", "seconds ago" => "幾秒前", "1 minute ago" => "1 分鐘前", "%d minutes ago" => "%d 分鐘前", +"1 hour ago" => "1小時之前", +"%d hours ago" => "%d小時之前", "today" => "今天", "yesterday" => "昨天", "%d days ago" => "%d 天前", "last month" => "上個月", -"months ago" => "幾個月前", +"%d months ago" => "%d個月之前", "last year" => "去年", "years ago" => "幾年前", "%s is available. Get more information" => "%s 已經可用. 取得 更多資訊", "up to date" => "最新的", -"updates check is disabled" => "檢查更新已停用" +"updates check is disabled" => "檢查更新已停用", +"Could not find category \"%s\"" => "找不到分類-\"%s\"" ); diff --git a/lib/log.php b/lib/log.php index 4bba62cf4b2e08ff3fab88aff932496774f18784..e9cededa5c091587d45266d34689cb7c17d9e994 100644 --- a/lib/log.php +++ b/lib/log.php @@ -41,23 +41,26 @@ class OC_Log { } //Fatal errors handler - public static function onShutdown(){ + public static function onShutdown() { $error = error_get_last(); if($error) { //ob_end_clean(); self::write('PHP', $error['message'] . ' at ' . $error['file'] . '#' . $error['line'], self::FATAL); } else { - return true; + return true; } } // Uncaught exception handler - public static function onException($exception){ + public static function onException($exception) { self::write('PHP', $exception->getMessage() . ' at ' . $exception->getFile() . '#' . $exception->getLine(), self::FATAL); } //Recoverable errors handler - public static function onError($number, $message, $file, $line){ + public static function onError($number, $message, $file, $line) { + if (error_reporting() === 0) { + return; + } self::write('PHP', $message . ' at ' . $file . '#' . $line, self::WARN); } diff --git a/lib/log/owncloud.php b/lib/log/owncloud.php index d4644163ad56e70b64d6ac5b80b90eb677ed1bb2..ec43208d833459d9467c6f8ab3e16251c00d9089 100644 --- a/lib/log/owncloud.php +++ b/lib/log/owncloud.php @@ -44,9 +44,9 @@ class OC_Log_Owncloud { * @param int level */ public static function write($app, $message, $level) { - $minLevel=min(OC_Config::getValue( "loglevel", OC_Log::WARN ),OC_Log::ERROR); + $minLevel=min(OC_Config::getValue( "loglevel", OC_Log::WARN ), OC_Log::ERROR); if($level>=$minLevel) { - $entry=array('app'=>$app, 'message'=>$message, 'level'=>$level,'time'=>time()); + $entry=array('app'=>$app, 'message'=>$message, 'level'=>$level, 'time'=>time()); $fh=fopen(self::$logFile, 'a'); fwrite($fh, json_encode($entry)."\n"); fclose($fh); diff --git a/lib/mail.php b/lib/mail.php index 8d30fff9f28248e827fc357edc3a876b0e6eb35b..c78fcce88d4f604f43998278602540075ce04abb 100644 --- a/lib/mail.php +++ b/lib/mail.php @@ -27,7 +27,7 @@ class OC_Mail { * @param string $fromname * @param bool $html */ - public static function send($toaddress,$toname,$subject,$mailtext,$fromaddress,$fromname,$html=0,$altbody='',$ccaddress='',$ccname='',$bcc='') { + public static function send($toaddress,$toname,$subject,$mailtext,$fromaddress,$fromname,$html=0,$altbody='',$ccaddress='',$ccname='', $bcc='') { $SMTPMODE = OC_Config::getValue( 'mail_smtpmode', 'sendmail' ); $SMTPHOST = OC_Config::getValue( 'mail_smtphost', '127.0.0.1' ); @@ -56,13 +56,13 @@ class OC_Mail { $mailo->From =$fromaddress; $mailo->FromName = $fromname;; $mailo->Sender =$fromaddress; - $a=explode(' ',$toaddress); + $a=explode(' ', $toaddress); try { foreach($a as $ad) { - $mailo->AddAddress($ad,$toname); + $mailo->AddAddress($ad, $toname); } - if($ccaddress<>'') $mailo->AddCC($ccaddress,$ccname); + if($ccaddress<>'') $mailo->AddCC($ccaddress, $ccname); if($bcc<>'') $mailo->AddBCC($bcc); $mailo->AddReplyTo($fromaddress, $fromname); diff --git a/lib/migrate.php b/lib/migrate.php index 611a935ee5d9be9137ee02094db361034041b08b..2cc0a3067b8c472e1783624cc8dbb902787ae157 100644 --- a/lib/migrate.php +++ b/lib/migrate.php @@ -66,7 +66,7 @@ class OC_Migrate{ foreach($apps as $app) { $path = OC_App::getAppPath($app) . '/appinfo/migrate.php'; if( file_exists( $path ) ) { - include( $path ); + include $path; } } } @@ -91,7 +91,7 @@ class OC_Migrate{ if( self::$exporttype == 'user' ) { // Check user exists self::$uid = is_null($uid) ? OC_User::getUser() : $uid; - if(!OC_User::userExists(self::$uid)){ + if(!OC_User::userExists(self::$uid)) { return json_encode( array( 'success' => false) ); } } @@ -200,7 +200,7 @@ class OC_Migrate{ $scan = scandir( $extractpath ); // Check for export_info.json if( !in_array( 'export_info.json', $scan ) ) { - OC_Log::write( 'migration', 'Invalid import file, export_info.json note found', OC_Log::ERROR ); + OC_Log::write( 'migration', 'Invalid import file, export_info.json not found', OC_Log::ERROR ); return json_encode( array( 'success' => false ) ); } $json = json_decode( file_get_contents( $extractpath . 'export_info.json' ) ); @@ -235,12 +235,19 @@ class OC_Migrate{ return json_encode( array( 'success' => false ) ); } // Copy data - if( !self::copy_r( $extractpath . $json->exporteduser, $datadir . '/' . self::$uid ) ) { - return json_encode( array( 'success' => false ) ); + $userfolder = $extractpath . $json->exporteduser; + $newuserfolder = $datadir . '/' . self::$uid; + foreach(scandir($userfolder) as $file){ + if($file !== '.' && $file !== '..' && is_dir($file)) { + // Then copy the folder over + OC_Helper::copyr($userfolder.'/'.$file, $newuserfolder.'/'.$file); + } } // Import user app data - if( !$appsimported = self::importAppData( $extractpath . $json->exporteduser . '/migration.db', $json, self::$uid ) ) { - return json_encode( array( 'success' => false ) ); + if(file_exists($extractpath . $json->exporteduser . '/migration.db')) { + if( !$appsimported = self::importAppData( $extractpath . $json->exporteduser . '/migration.db', $json, self::$uid ) ) { + return json_encode( array( 'success' => false ) ); + } } // All done! if( !self::unlink_r( $extractpath ) ) { @@ -304,37 +311,6 @@ class OC_Migrate{ return true; } - /** - * @brief copies recursively - * @param $path string path to source folder - * @param $dest string path to destination - * @return bool - */ - private static function copy_r( $path, $dest ) { - if( is_dir($path) ) { - @mkdir( $dest ); - $objects = scandir( $path ); - if( sizeof( $objects ) > 0 ) { - foreach( $objects as $file ) { - if( $file == "." || $file == ".." || $file == ".htaccess") - continue; - // go on - if( is_dir( $path . '/' . $file ) ) { - self::copy_r( $path .'/' . $file, $dest . '/' . $file ); - } else { - copy( $path . '/' . $file, $dest . '/' . $file ); - } - } - } - return true; - } - elseif( is_file( $path ) ) { - return copy( $path, $dest ); - } else { - return false; - } - } - /** * @brief tries to extract the import zip * @param $path string path to the zip @@ -347,7 +323,7 @@ class OC_Migrate{ OC_Log::write( 'migration', 'Zip not found', OC_Log::ERROR ); return false; } - if ( self::$zip->open( $path ) != TRUE ) { + if ( self::$zip->open( $path ) != true ) { OC_Log::write( 'migration', "Failed to open zip file", OC_Log::ERROR ); return false; } @@ -576,7 +552,7 @@ class OC_Migrate{ OC_Log::write('migration', 'createZip() called but $zip and/or $zippath have not been set', OC_Log::ERROR); return false; } - if ( self::$zip->open( self::$zippath, ZIPARCHIVE::CREATE | ZIPARCHIVE::OVERWRITE ) !== TRUE ) { + if ( self::$zip->open( self::$zippath, ZIPARCHIVE::CREATE | ZIPARCHIVE::OVERWRITE ) !== true ) { OC_Log::write('migration', 'Failed to create the zip with error: '.self::$zip->getStatusString(), OC_Log::ERROR); return false; } else { @@ -611,11 +587,11 @@ class OC_Migrate{ if( file_exists( $db ) ) { // Connect to the db if(!self::connectDB( $db )) { - OC_Log::write('migration','Failed to connect to migration.db',OC_Log::ERROR); + OC_Log::write('migration', 'Failed to connect to migration.db', OC_Log::ERROR); return false; } } else { - OC_Log::write('migration','Migration.db not found at: '.$db, OC_Log::FATAL ); + OC_Log::write('migration', 'Migration.db not found at: '.$db, OC_Log::FATAL ); return false; } diff --git a/lib/migration/content.php b/lib/migration/content.php index 87f8da68c9d6c376dcdf2945821f9291e5d83bb9..00df62f0c7fafada2f669c10b64eaa8cdae2b000 100644 --- a/lib/migration/content.php +++ b/lib/migration/content.php @@ -53,7 +53,7 @@ class OC_Migration_Content{ if( !is_null( $this->db ) ) { // Get db path $db = $this->db->getDatabase(); - if(!in_array($db, $this->tmpfiles)){ + if(!in_array($db, $this->tmpfiles)) { $this->tmpfiles[] = $db; } } @@ -152,7 +152,7 @@ class OC_Migration_Content{ $sql = "INSERT INTO `" . $options['table'] . '` ( `'; $fieldssql = implode( '`, `', $fields ); $sql .= $fieldssql . "` ) VALUES( "; - $valuessql = substr( str_repeat( '?, ', count( $fields ) ),0,-2 ); + $valuessql = substr( str_repeat( '?, ', count( $fields ) ), 0, -2 ); $sql .= $valuessql . " )"; // Make the query $query = $this->prepare( $sql ); @@ -205,7 +205,7 @@ class OC_Migration_Content{ } closedir($dirhandle); } else { - OC_Log::write('admin_export',"Was not able to open directory: " . $dir,OC_Log::ERROR); + OC_Log::write('admin_export', "Was not able to open directory: " . $dir, OC_Log::ERROR); return false; } return true; diff --git a/lib/minimizer.php b/lib/minimizer.php index d50ab0d239727dd0bede72ce278f3b6f91c31130..db522de74dc162ebf01b86c682b4b552b746c618 100644 --- a/lib/minimizer.php +++ b/lib/minimizer.php @@ -2,14 +2,11 @@ abstract class OC_Minimizer { public function generateETag($files) { - $etag = ''; - sort($files); + $fullpath_files = array(); foreach($files as $file_info) { - $file = $file_info[0] . '/' . $file_info[2]; - $stat = stat($file); - $etag .= $file.$stat['mtime'].$stat['size']; + $fullpath_files[] = $file_info[0] . '/' . $file_info[2]; } - return md5($etag); + return OC_Cache::generateCacheKeyFromFiles($fullpath_files); } abstract public function minimizeFiles($files); @@ -33,6 +30,12 @@ abstract class OC_Minimizer { $cache->set($cache_key.'.gz', $gzout); OC_Response::setETagHeader($etag); } + // on some systems (e.g. SLES 11, but not Ubuntu) mod_deflate and zlib compression will compress the output twice. + // This results in broken core.css and core.js. To avoid it, we switch off zlib compression. + // Since mod_deflate is still active, Apache will compress what needs to be compressed, i.e. no disadvantage. + if(function_exists('apache_get_modules') && ini_get('zlib.output_compression') && in_array('mod_deflate', apache_get_modules())) { + ini_set('zlib.output_compression', 'Off'); + } if ($encoding = OC_Request::acceptGZip()) { header('Content-Encoding: '.$encoding); $out = $gzout; @@ -51,11 +54,11 @@ abstract class OC_Minimizer { } if (!function_exists('gzdecode')) { - function gzdecode($data,$maxlength=null,&$filename='',&$error='') + function gzdecode($data, $maxlength=null, &$filename='', &$error='') { - if (strcmp(substr($data,0,9),"\x1f\x8b\x8\0\0\0\0\0\0")) { + if (strcmp(substr($data, 0, 9),"\x1f\x8b\x8\0\0\0\0\0\0")) { return null; // Not the GZIP format we expect (See RFC 1952) } - return gzinflate(substr($data,10,-8)); + return gzinflate(substr($data, 10, -8)); } } diff --git a/lib/ocs.php b/lib/ocs.php index d04959c715dd17610aeae5e759fdf7ee1984d7d4..1a0abf0e367173576eee93afaa0bb935752608e1 100644 --- a/lib/ocs.php +++ b/lib/ocs.php @@ -23,7 +23,8 @@ * */ - +use Symfony\Component\Routing\Exception\ResourceNotFoundException; +use Symfony\Component\Routing\Exception\MethodNotAllowedException; /** * Class to handle open collaboration services API requests @@ -84,7 +85,7 @@ class OC_OCS { $method='get'; }elseif($_SERVER['REQUEST_METHOD'] == 'PUT') { $method='put'; - parse_str(file_get_contents("php://input"),$put_vars); + parse_str(file_get_contents("php://input"), $put_vars); }elseif($_SERVER['REQUEST_METHOD'] == 'POST') { $method='post'; }else{ @@ -92,121 +93,145 @@ class OC_OCS { exit(); } - // preprocess url - $url = $_SERVER['REQUEST_URI']; - if(substr($url,(strlen($url)-1))<>'/') $url.='/'; - $ex=explode('/',$url); - $paracount=count($ex); $format = self::readData($method, 'format', 'text', ''); - // eventhandler + $router = new OC_Router(); + $router->useCollection('root'); // CONFIG - // apiconfig - GET - CONFIG - if(($method=='get') and ($ex[$paracount-3] == 'v1.php') and ($ex[$paracount-2] == 'config')){ - OC_OCS::apiconfig($format); + $router->create('config', '/config.{format}') + ->defaults(array('format' => $format)) + ->action('OC_OCS', 'apiConfig') + ->requirements(array('format'=>'xml|json')); // PERSON - // personcheck - POST - PERSON/CHECK - }elseif(($method=='post') and ($ex[$paracount-4] == 'v1.php') and ($ex[$paracount-3]=='person') and ($ex[$paracount-2] == 'check')){ - $login = self::readData($method, 'login', 'text'); - $passwd = self::readData($method, 'password', 'text'); - OC_OCS::personcheck($format,$login,$passwd); + $router->create('person_check', '/person/check.{format}') + ->post() + ->defaults(array('format' => $format)) + ->action(function ($parameters) { + $format = $parameters['format']; + $login = OC_OCS::readData('post', 'login', 'text'); + $passwd = OC_OCS::readData('post', 'password', 'text'); + OC_OCS::personCheck($format, $login, $passwd); + }) + ->requirements(array('format'=>'xml|json')); // ACTIVITY // activityget - GET ACTIVITY page,pagesize als urlparameter - }elseif(($method=='get') and ($ex[$paracount-3] == 'v1.php') and ($ex[$paracount-2] == 'activity')){ - $page = self::readData($method, 'page', 'int', 0); - $pagesize = self::readData($method, 'pagesize','int', 10); - if($pagesize<1 or $pagesize>100) $pagesize=10; - OC_OCS::activityget($format,$page,$pagesize); - + $router->create('activity_get', '/activity.{format}') + ->defaults(array('format' => $format)) + ->action(function ($parameters) { + $format = $parameters['format']; + $page = OC_OCS::readData('get', 'page', 'int', 0); + $pagesize = OC_OCS::readData('get', 'pagesize', 'int', 10); + if($pagesize<1 or $pagesize>100) $pagesize=10; + OC_OCS::activityGet($format, $page, $pagesize); + }) + ->requirements(array('format'=>'xml|json')); // activityput - POST ACTIVITY - }elseif(($method=='post') and ($ex[$paracount-3] == 'v1.php') and ($ex[$paracount-2] == 'activity')){ - $message = self::readData($method, 'message', 'text'); - OC_OCS::activityput($format,$message); - + $router->create('activity_put', '/activity.{format}') + ->post() + ->defaults(array('format' => $format)) + ->action(function ($parameters) { + $format = $parameters['format']; + $message = OC_OCS::readData('post', 'message', 'text'); + OC_OCS::activityPut($format, $message); + }) + ->requirements(array('format'=>'xml|json')); // PRIVATEDATA // get - GET DATA - }elseif(($method=='get') and ($ex[$paracount-4] == 'v1.php') and ($ex[$paracount-2] == 'getattribute')){ - OC_OCS::privateDataGet($format); - - }elseif(($method=='get') and ($ex[$paracount-5] == 'v1.php') and ($ex[$paracount-3] == 'getattribute')){ - $app=$ex[$paracount-2]; - OC_OCS::privateDataGet($format, $app); - }elseif(($method=='get') and ($ex[$paracount-6] == 'v1.php') and ($ex[$paracount-4] == 'getattribute')){ - - $key=$ex[$paracount-2]; - $app=$ex[$paracount-3]; - OC_OCS::privateDataGet($format, $app,$key); - + $router->create('privatedata_get', + '/privatedata/getattribute/{app}/{key}.{format}') + ->defaults(array('app' => '', 'key' => '', 'format' => $format)) + ->action(function ($parameters) { + $format = $parameters['format']; + $app = addslashes(strip_tags($parameters['app'])); + $key = addslashes(strip_tags($parameters['key'])); + OC_OCS::privateDataGet($format, $app, $key); + }) + ->requirements(array('format'=>'xml|json')); // set - POST DATA - }elseif(($method=='post') and ($ex[$paracount-6] == 'v1.php') and ($ex[$paracount-4] == 'setattribute')){ - $key=$ex[$paracount-2]; - $app=$ex[$paracount-3]; - $value = self::readData($method, 'value', 'text'); - OC_OCS::privatedataset($format, $app, $key, $value); + $router->create('privatedata_set', + '/privatedata/setattribute/{app}/{key}.{format}') + ->post() + ->defaults(array('format' => $format)) + ->action(function ($parameters) { + $format = $parameters['format']; + $app = addslashes(strip_tags($parameters['app'])); + $key = addslashes(strip_tags($parameters['key'])); + $value=OC_OCS::readData('post', 'value', 'text'); + OC_OCS::privateDataSet($format, $app, $key, $value); + }) + ->requirements(array('format'=>'xml|json')); // delete - POST DATA - }elseif(($method=='post') and ($ex[$paracount-6] =='v1.php') and ($ex[$paracount-4] == 'deleteattribute')){ - $key=$ex[$paracount-2]; - $app=$ex[$paracount-3]; - OC_OCS::privatedatadelete($format, $app, $key); + $router->create('privatedata_delete', + '/privatedata/deleteattribute/{app}/{key}.{format}') + ->post() + ->defaults(array('format' => $format)) + ->action(function ($parameters) { + $format = $parameters['format']; + $app = addslashes(strip_tags($parameters['app'])); + $key = addslashes(strip_tags($parameters['key'])); + OC_OCS::privateDataDelete($format, $app, $key); + }) + ->requirements(array('format'=>'xml|json')); // CLOUD - // systemWebApps - }elseif(($method=='get') and ($ex[$paracount-5] == 'v1.php') and ($ex[$paracount-4]=='cloud') and ($ex[$paracount-3] == 'system') and ($ex[$paracount-2] == 'webapps')){ - OC_OCS::systemwebapps($format); - - // quotaget - }elseif(($method=='get') and ($ex[$paracount-6] == 'v1.php') and ($ex[$paracount-5]=='cloud') and ($ex[$paracount-4] == 'user') and ($ex[$paracount-2] == 'quota')){ - $user=$ex[$paracount-3]; - OC_OCS::quotaget($format,$user); - - // quotaset - }elseif(($method=='post') and ($ex[$paracount-6] == 'v1.php') and ($ex[$paracount-5]=='cloud') and ($ex[$paracount-4] == 'user') and ($ex[$paracount-2] == 'quota')){ - $user=$ex[$paracount-3]; - $quota = self::readData('post', 'quota', 'int'); - OC_OCS::quotaset($format,$user,$quota); - - // keygetpublic - }elseif(($method=='get') and ($ex[$paracount-6] == 'v1.php') and ($ex[$paracount-5]=='cloud') and ($ex[$paracount-4] == 'file') and ($ex[$paracount-2] == 'publickeys')){ - $file=urldecode($ex[$paracount-3]); - OC_OCS::publicKeyGet($format,$file); - - //keysetpublic - }elseif(($method=='post') and ($ex[$paracount-4] == 'v1.php') and ($ex[$paracount-3]=='cloud') and ($ex[$paracount-2] == 'publickey')){ - $key = self::readData('post', 'key', 'string'); - OC_OCS::publicKeySet($format, $key); - - // keygetprivate - }elseif(($method=='get') and ($ex[$paracount-4] == 'v1.php') and ($ex[$paracount-3]=='cloud') and ($ex[$paracount-2] == 'privatekey')){ - OC_OCS::privateKeyGet($format); - - //keysetprivate - }elseif(($method=='post') and ($ex[$paracount-4] == 'v1.php') and ($ex[$paracount-3]=='cloud') and ($ex[$paracount-2] == 'privatekey')){ - $key = self::readData('post', 'key', 'string'); - OC_OCS::privateKeySet($format, $key); - - // keygetuser - }elseif(($method=='get') and ($ex[$paracount-4] == 'v1.php') and ($ex[$paracount-3]=='cloud') and ($ex[$paracount-2] == 'userkeys')){ - OC_OCS::userKeysGet($format); - - //keysetuser - }elseif(($method=='post') and ($ex[$paracount-4] == 'v1.php') and ($ex[$paracount-3]=='cloud') and ($ex[$paracount-2] == 'userkeys')){ - $privatekey = urldecode(self::readData('post', 'privatekey', 'string')); - $publickey = urldecode(self::readData('post', 'publickey', 'string')); - OC_OCS::userKeysSet($format, $privatekey, $publickey); - - // keygetfiles - }elseif(($method=='get') and ($ex[$paracount-6] == 'v1.php') and ($ex[$paracount-5]=='cloud') and ($ex[$paracount-4] == 'file') and ($ex[$paracount-2] == 'filekey')){ - $file = urldecode($ex[$paracount-3]); - OC_OCS::fileKeyGet($format, $file); - - //keysetfiles - }elseif(($method=='post') and ($ex[$paracount-4] == 'v1.php') and ($ex[$paracount-3]=='cloud') and ($ex[$paracount-2] == 'filekey')){ - $key = self::readData('post', 'key', 'string'); - $file = self::readData('post', 'file', 'string'); - OC_OCS::fileKeySet($format, $file, $key); + // systemWebApps + $router->create('system_webapps', + '/cloud/system/webapps.{format}') + ->defaults(array('format' => $format)) + ->action(function ($parameters) { + $format = $parameters['format']; + OC_OCS::systemwebapps($format); + }) + ->requirements(array('format'=>'xml|json')); + + // quotaget + $router->create('quota_get', + '/cloud/user/{user}.{format}') + ->defaults(array('format' => $format)) + ->action(function ($parameters) { + $format = $parameters['format']; + $user = $parameters['user']; + OC_OCS::quotaGet($format, $user); + }) + ->requirements(array('format'=>'xml|json')); + // quotaset + $router->create('quota_set', + '/cloud/user/{user}.{format}') + ->post() + ->defaults(array('format' => $format)) + ->action(function ($parameters) { + $format = $parameters['format']; + $user = $parameters['user']; + $quota = self::readData('post', 'quota', 'int'); + OC_OCS::quotaSet($format, $user, $quota); + }) + ->requirements(array('format'=>'xml|json')); + + // keygetpublic + $router->create('keygetpublic', + '/cloud/user/{user}/publickey.{format}') + ->defaults(array('format' => $format)) + ->action(function ($parameters) { + $format = $parameters['format']; + $user = $parameters['user']; + OC_OCS::publicKeyGet($format, $user); + }) + ->requirements(array('format'=>'xml|json')); + + // keygetprivate + $router->create('keygetpublic', + '/cloud/user/{user}/privatekey.{format}') + ->defaults(array('format' => $format)) + ->action(function ($parameters) { + $format = $parameters['format']; + $user = $parameters['user']; + OC_OCS::privateKeyGet($format, $user); + }) + ->requirements(array('format'=>'xml|json')); + // add more calls here // please document all the call in the draft spec @@ -219,13 +244,17 @@ class OC_OCS { // sharing // versioning // news (rss) - - - - }else{ - $txt='Invalid query, please check the syntax. API specifications are here: http://www.freedesktop.org/wiki/Specifications/open-collaboration-services. DEBUG OUTPUT:'."\n"; + try { + $router->match($_SERVER['PATH_INFO']); + } catch (ResourceNotFoundException $e) { + $txt='Invalid query, please check the syntax. ' + .'API specifications are here: ' + .'http://www.freedesktop.org/wiki/Specifications/open-collaboration-services.' + .'DEBUG OUTPUT:'."\n"; $txt.=OC_OCS::getdebugoutput(); - echo(OC_OCS::generatexml($format,'failed',999,$txt)); + echo(OC_OCS::generatexml($format, 'failed', 999, $txt)); + } catch (MethodNotAllowedException $e) { + OC_Response::setStatus(405); } exit(); } @@ -258,7 +287,7 @@ class OC_OCS { if(isset($_SERVER['PHP_AUTH_PW'])) $authpw=$_SERVER['PHP_AUTH_PW']; else $authpw=''; if(empty($authuser)) { - if($forceuser){ + if($forceuser) { header('WWW-Authenticate: Basic realm="your valid user account or api key"'); header('HTTP/1.0 401 Unauthorized'); exit; @@ -266,8 +295,8 @@ class OC_OCS { $identifieduser=''; } }else{ - if(!OC_User::login($authuser,$authpw)){ - if($forceuser){ + if(!OC_User::login($authuser, $authpw)) { + if($forceuser) { header('WWW-Authenticate: Basic realm="your valid user account or api key"'); header('HTTP/1.0 401 Unauthorized'); exit; @@ -297,7 +326,7 @@ class OC_OCS { * @param int $itemsperpage * @return string xml/json */ - private static function generateXml($format,$status,$statuscode,$message,$data=array(),$tag='',$tagattribute='',$dimension=-1,$itemscount='',$itemsperpage='') { + private static function generateXml($format, $status, $statuscode, $message, $data=array(), $tag='', $tagattribute='', $dimension=-1, $itemscount='', $itemsperpage='') { if($format=='json') { $json=array(); $json['status']=$status; @@ -312,69 +341,69 @@ class OC_OCS { $writer = xmlwriter_open_memory(); xmlwriter_set_indent( $writer, 2 ); xmlwriter_start_document($writer ); - xmlwriter_start_element($writer,'ocs'); - xmlwriter_start_element($writer,'meta'); - xmlwriter_write_element($writer,'status',$status); - xmlwriter_write_element($writer,'statuscode',$statuscode); - xmlwriter_write_element($writer,'message',$message); - if($itemscount<>'') xmlwriter_write_element($writer,'totalitems',$itemscount); - if(!empty($itemsperpage)) xmlwriter_write_element($writer,'itemsperpage',$itemsperpage); + xmlwriter_start_element($writer, 'ocs'); + xmlwriter_start_element($writer, 'meta'); + xmlwriter_write_element($writer, 'status', $status); + xmlwriter_write_element($writer, 'statuscode', $statuscode); + xmlwriter_write_element($writer, 'message', $message); + if($itemscount<>'') xmlwriter_write_element($writer, 'totalitems', $itemscount); + if(!empty($itemsperpage)) xmlwriter_write_element($writer, 'itemsperpage', $itemsperpage); xmlwriter_end_element($writer); if($dimension=='0') { // 0 dimensions - xmlwriter_write_element($writer,'data',$data); + xmlwriter_write_element($writer, 'data', $data); }elseif($dimension=='1') { - xmlwriter_start_element($writer,'data'); + xmlwriter_start_element($writer, 'data'); foreach($data as $key=>$entry) { - xmlwriter_write_element($writer,$key,$entry); + xmlwriter_write_element($writer, $key, $entry); } xmlwriter_end_element($writer); }elseif($dimension=='2') { - xmlwriter_start_element($writer,'data'); + xmlwriter_start_element($writer, 'data'); foreach($data as $entry) { - xmlwriter_start_element($writer,$tag); - if(!empty($tagattribute)) { - xmlwriter_write_attribute($writer,'details',$tagattribute); - } - foreach($entry as $key=>$value) { - if(is_array($value)){ - foreach($value as $k=>$v) { - xmlwriter_write_element($writer,$k,$v); - } - } else { - xmlwriter_write_element($writer,$key,$value); - } - } - xmlwriter_end_element($writer); - } + xmlwriter_start_element($writer, $tag); + if(!empty($tagattribute)) { + xmlwriter_write_attribute($writer, 'details', $tagattribute); + } + foreach($entry as $key=>$value) { + if(is_array($value)) { + foreach($value as $k=>$v) { + xmlwriter_write_element($writer, $k, $v); + } + } else { + xmlwriter_write_element($writer, $key, $value); + } + } + xmlwriter_end_element($writer); + } xmlwriter_end_element($writer); }elseif($dimension=='3') { - xmlwriter_start_element($writer,'data'); + xmlwriter_start_element($writer, 'data'); foreach($data as $entrykey=>$entry) { - xmlwriter_start_element($writer,$tag); - if(!empty($tagattribute)) { - xmlwriter_write_attribute($writer,'details',$tagattribute); - } - foreach($entry as $key=>$value) { - if(is_array($value)){ - xmlwriter_start_element($writer,$entrykey); - foreach($value as $k=>$v) { - xmlwriter_write_element($writer,$k,$v); - } - xmlwriter_end_element($writer); - } else { - xmlwriter_write_element($writer,$key,$value); - } - } - xmlwriter_end_element($writer); + xmlwriter_start_element($writer, $tag); + if(!empty($tagattribute)) { + xmlwriter_write_attribute($writer, 'details', $tagattribute); + } + foreach($entry as $key=>$value) { + if(is_array($value)) { + xmlwriter_start_element($writer, $entrykey); + foreach($value as $k=>$v) { + xmlwriter_write_element($writer, $k, $v); + } + xmlwriter_end_element($writer); + } else { + xmlwriter_write_element($writer, $key, $value); + } + } + xmlwriter_end_element($writer); } xmlwriter_end_element($writer); }elseif($dimension=='dynamic') { - xmlwriter_start_element($writer,'data'); - OC_OCS::toxml($writer,$data,'comment'); + xmlwriter_start_element($writer, 'data'); + OC_OCS::toxml($writer, $data, 'comment'); xmlwriter_end_element($writer); } @@ -387,42 +416,39 @@ class OC_OCS { } } - public static function toXml($writer,$data,$node) { + public static function toXml($writer, $data, $node) { foreach($data as $key => $value) { if (is_numeric($key)) { $key = $node; } - if (is_array($value)){ - xmlwriter_start_element($writer,$key); - OC_OCS::toxml($writer,$value,$node); + if (is_array($value)) { + xmlwriter_start_element($writer, $key); + OC_OCS::toxml($writer, $value, $node); xmlwriter_end_element($writer); }else{ - xmlwriter_write_element($writer,$key,$value); + xmlwriter_write_element($writer, $key, $value); } } } - - - /** * return the config data of this server * @param string $format * @return string xml/json */ - private static function apiConfig($format) { + public static function apiConfig($parameters) { + $format = $parameters['format']; $user=OC_OCS::checkpassword(false); - $url=substr(OCP\Util::getServerHost().$_SERVER['SCRIPT_NAME'],0,-11).''; + $url=substr(OCP\Util::getServerHost().$_SERVER['SCRIPT_NAME'], 0, -11).''; $xml['version']='1.7'; $xml['website']='ownCloud'; $xml['host']=OCP\Util::getServerHost(); $xml['contact']=''; $xml['ssl']='false'; - echo(OC_OCS::generatexml($format,'ok',100,'',$xml,'config','',1)); + echo(OC_OCS::generatexml($format, 'ok', 100, '', $xml, 'config', '', 1)); } - /** * check if the provided login/apikey/password is valid * @param string $format @@ -430,21 +456,19 @@ class OC_OCS { * @param string $passwd * @return string xml/json */ - private static function personCheck($format,$login,$passwd) { - if($login<>''){ - if(OC_User::login($login,$passwd)){ + private static function personCheck($format, $login, $passwd) { + if($login<>'') { + if(OC_User::login($login, $passwd)) { $xml['person']['personid']=$login; - echo(OC_OCS::generatexml($format,'ok',100,'',$xml,'person','check',2)); + echo(OC_OCS::generatexml($format, 'ok', 100, '', $xml, 'person', 'check', 2)); }else{ - echo(OC_OCS::generatexml($format,'failed',102,'login not valid')); + echo(OC_OCS::generatexml($format, 'failed', 102, 'login not valid')); } }else{ - echo(OC_OCS::generatexml($format,'failed',101,'please specify all mandatory fields')); + echo(OC_OCS::generatexml($format, 'failed', 101, 'please specify all mandatory fields')); } } - - // ACTIVITY API ############################################# /** @@ -454,12 +478,12 @@ class OC_OCS { * @param string $pagesize * @return string xml/json */ - private static function activityGet($format,$page,$pagesize) { + private static function activityGet($format, $page, $pagesize) { $user=OC_OCS::checkpassword(); //TODO - $txt=OC_OCS::generatexml($format,'ok',100,'',$xml,'activity','full',2,$totalcount,$pagesize); + $txt=OC_OCS::generatexml($format, 'ok', 100, '', $xml, 'activity', 'full', 2, $totalcount, $pagesize); echo($txt); } @@ -469,10 +493,10 @@ class OC_OCS { * @param string $message * @return string xml/json */ - private static function activityPut($format,$message) { + private static function activityPut($format, $message) { // not implemented in ownCloud $user=OC_OCS::checkpassword(); - echo(OC_OCS::generatexml($format,'ok',100,'')); + echo(OC_OCS::generatexml($format, 'ok', 100, '')); } // PRIVATEDATA API ############################################# @@ -484,9 +508,9 @@ class OC_OCS { * @param string $key * @return string xml/json */ - private static function privateDataGet($format,$app="",$key="") { + private static function privateDataGet($format, $app="", $key="") { $user=OC_OCS::checkpassword(); - $result=OC_OCS::getData($user,$app,$key); + $result=OC_OCS::getData($user, $app, $key); $xml=array(); foreach($result as $i=>$log) { $xml[$i]['key']=$log['key']; @@ -509,8 +533,8 @@ class OC_OCS { */ private static function privateDataSet($format, $app, $key, $value) { $user=OC_OCS::checkpassword(); - if(OC_OCS::setData($user,$app,$key,$value)){ - echo(OC_OCS::generatexml($format,'ok',100,'')); + if(OC_OCS::setData($user, $app, $key, $value)) { + echo(OC_OCS::generatexml($format, 'ok', 100, '')); } } @@ -522,15 +546,15 @@ class OC_OCS { * @return string xml/json */ private static function privateDataDelete($format, $app, $key) { - if($key=="" or $app==""){ + if($key=="" or $app=="") { return; //key and app are NOT optional here } $user=OC_OCS::checkpassword(); - if(OC_OCS::deleteData($user,$app,$key)){ - echo(OC_OCS::generatexml($format,'ok',100,'')); + if(OC_OCS::deleteData($user, $app, $key)) { + echo(OC_OCS::generatexml($format, 'ok', 100, '')); } } - + /** * get private data * @param string $user @@ -539,24 +563,24 @@ class OC_OCS { * @param bool $like use LIKE instead of = when comparing keys * @return array */ - public static function getData($user,$app="",$key="") { - if($app){ + public static function getData($user, $app="", $key="") { + if($app) { $apps=array($app); }else{ $apps=OC_Preferences::getApps($user); } - if($key){ + if($key) { $keys=array($key); }else{ - foreach($apps as $app){ - $keys=OC_Preferences::getKeys($user,$app); + foreach($apps as $app) { + $keys=OC_Preferences::getKeys($user, $app); } } $result=array(); - foreach($apps as $app){ - foreach($keys as $key){ - $value=OC_Preferences::getValue($user,$app,$key); - $result[]=array('app'=>$app,'key'=>$key,'value'=>$value); + foreach($apps as $app) { + foreach($keys as $key) { + $value=OC_Preferences::getValue($user, $app, $key); + $result[]=array('app'=>$app, 'key'=>$key, 'value'=>$value); } } return $result; @@ -571,7 +595,7 @@ class OC_OCS { * @return bool */ public static function setData($user, $app, $key, $value) { - return OC_Preferences::setValue($user,$app,$key,$value); + return OC_Preferences::setValue($user, $app, $key, $value); } /** @@ -582,7 +606,7 @@ class OC_OCS { * @return string xml/json */ public static function deleteData($user, $app, $key) { - return OC_Preferences::deleteKey($user,$app,$key); + return OC_Preferences::deleteKey($user, $app, $key); } @@ -600,7 +624,7 @@ class OC_OCS { foreach($apps as $app) { $info=OC_App::getAppInfo($app); if(isset($info['standalone'])) { - $newvalue=array('name'=>$info['name'],'url'=>OC_Helper::linkToAbsolute($app,''),'icon'=>''); + $newvalue=array('name'=>$info['name'], 'url'=>OC_Helper::linkToAbsolute($app, ''), 'icon'=>''); $values[]=$newvalue; } @@ -617,11 +641,11 @@ class OC_OCS { * @param string $user * @return string xml/json */ - private static function quotaGet($format,$user) { + private static function quotaGet($format, $user) { $login=OC_OCS::checkpassword(); if(OC_Group::inGroup($login, 'admin') or ($login==$user)) { - if(OC_User::userExists($user)){ + if(OC_User::userExists($user)) { // calculate the disc space $user_dir = '/'.$user.'/files'; OC_Filesystem::init($user_dir); @@ -656,7 +680,7 @@ class OC_OCS { * @param string $quota * @return string xml/json */ - private static function quotaSet($format,$user,$quota) { + private static function quotaSet($format, $user, $quota) { $login=OC_OCS::checkpassword(); if(OC_Group::inGroup($login, 'admin')) { @@ -674,169 +698,44 @@ class OC_OCS { } /** - * get the public key from all users associated with a given file + * get the public key of a user * @param string $format - * @param string $file - * @return string xml/json list of public keys + * @param string $user + * @return string xml/json */ - private static function publicKeyGet($format, $file) { - $login=OC_OCS::checkpassword(); - if(OC_App::isEnabled('files_encryption') && OCA\Encryption\Crypt::mode() === 'client') { - if (($keys = OCA\Encryption\Keymanager::getPublicKeys($file))) { - $xml=$keys; - $txt=OC_OCS::generatexml($format, 'ok', 100, '', $xml, 'cloud', '', 1, 0, 0); - echo($txt); - } - else { - echo self::generateXml('', 'fail', 404, 'public key does not exist'); - } - } else { - echo self::generateXml('', 'fail', 300, 'Client side encryption not enabled'); - } - } + private static function publicKeyGet($format, $user) { + $login=OC_OCS::checkpassword(); + + if(OC_User::userExists($user)) { + // calculate the disc space + $txt='this is the public key of '.$user; + echo($txt); + }else{ + echo self::generateXml('', 'fail', 300, 'User does not exist'); + } + } - /** - * set the public key of a user - * @param string $format - * @param string $key - * @return string xml/json - */ - private static function publicKeySet($format, $key) { - $login=OC_OCS::checkpassword(); - if(OC_App::isEnabled('files_encryption') && OCA\Encryption\Crypt::mode() === 'client') { - if (OCA\Encryption\Keymanager::setPublicKey($key)) { - echo self::generateXml('', 'ok', 100, ''); - } else { - echo self::generateXml('', 'fail', 404, 'could not add your public key to the key storage'); - } - } else { - echo self::generateXml('', 'fail', 300, 'Client side encryption not enabled'); - } - } - /** * get the private key of a user * @param string $format + * @param string $user * @return string xml/json */ - private static function privateKeyGet($format) { - $login=OC_OCS::checkpassword(); - if(OC_App::isEnabled('files_encryption') && OCA\Encryption\Crypt::mode() === 'client') { - if (($key = OCA\Encryption\Keymanager::getPrivateKey())) { - $xml=array(); - $xml['key']=$key; - $txt=OC_OCS::generatexml($format, 'ok', 100, '', $xml, 'cloud', '', 1, 0, 0); - echo($txt); - } else { - echo self::generateXml('', 'fail', 404, 'private key does not exist'); - } - } else { - echo self::generateXml('', 'fail', 300, 'Client side encryption not enabled'); - } - } - - /** - * set the private key of a user - * @param string $format - * @param string $key - * @return string xml/json - */ - private static function privateKeySet($format, $key) { - $login=OC_OCS::checkpassword(); - if(OC_App::isEnabled('files_encryption') && OCA\Encryption\Crypt::mode() === 'client') { - if (($key = OCA\Encryption\Keymanager::setPrivateKey($key))) { - echo self::generateXml('', 'ok', 100, ''); - } else { - echo self::generateXml('', 'fail', 404, 'could not add your private key to the key storage'); - } - } else { - echo self::generateXml('', 'fail', 300, 'Client side encryption not enabled'); - } + private static function privateKeyGet($format, $user) { + $login=OC_OCS::checkpassword(); + if(OC_Group::inGroup($login, 'admin') or ($login==$user)) { + + if(OC_User::userExists($user)) { + // calculate the disc space + $txt='this is the private key of '.$user; + echo($txt); + }else{ + echo self::generateXml('', 'fail', 300, 'User does not exist'); + } + }else{ + echo self::generateXml('', 'fail', 300, 'You don´t have permission to access this ressource.'); + } } - /** - * get both user keys (private and public) - * @param string $format - * @return string xml/json - */ - private static function userKeysGet($format) { - $login=OC_OCS::checkpassword(); - if(OC_App::isEnabled('files_encryption') && OCA\Encryption\Crypt::mode() === 'client') { - $keys = OCA\Encryption\Keymanager::getUserKeys(); - if ($keys['privatekey'] && $keys['publickey']) { - $xml=array(); - $xml['privatekey']=$keys['privatekey']; - $xml['publickey']=$keys['publickey']; - $txt=OC_OCS::generatexml($format, 'ok', 100, '', $xml, 'cloud', '', 1, 0, 0); - echo($txt); - } else { - echo self::generateXml('', 'fail', 404, 'Keys not found on the server'); - } - } else { - echo self::generateXml('', 'fail', 300, 'Client side encryption not enabled'); - } - } - - /** - * set both user keys (private and public) - * @param string $format - * @param string $privatekey - * @param string @publickey - * @return string xml/json - */ - private static function userKeysSet($format, $privatekey, $publickey) { - $login=OC_OCS::checkpassword(); - if(OC_App::isEnabled('files_encryption') && OCA\Encryption\Crypt::mode() === 'client') { - if (($key = OCA\Encryption\Keymanager::setUserKeys($privatekey, $publickey))) { - echo self::generateXml('', 'ok', 100, ''); - } else { - echo self::generateXml('', 'fail', 404, 'could not add your keys to the key storage'); - } - } else { - echo self::generateXml('', 'fail', 300, 'Client side encryption not enabled'); - } - } - - /** - * get the encryption key of a file - * @param string $format - * @param string $file - * @return string xml/json - */ - private static function fileKeyGet($format, $file) { - $login=OC_OCS::checkpassword(); - if(OC_App::isEnabled('files_encryption') && OCA\Encryption\Crypt::mode() === 'client') { - if (($key = OCA\Encryption\Keymanager::getFileKey($file))) { - $xml=array(); - $xml['key']=$key; - $txt=OC_OCS::generatexml($format, 'ok', 100, '', $xml, 'cloud', '', 1, 0, 0); - echo($txt); - } else { - echo self::generateXml('', 'fail', 404, 'file key does not exist'); - } - } else { - echo self::generateXml('', 'fail', 300, 'Client side encryption not enabled'); - } - } - - /** - * set the encryption key of a file - * @param string $format - * @param string $file - * @param string $key - * @return string xml/json - */ - private static function fileKeySet($format, $file, $key) { - $login=OC_OCS::checkpassword(); - if(OC_App::isEnabled('files_encryption') && OCA\Encryption\Crypt::mode() === 'client') { - if (($key = OCA\Encryption\Keymanager::setFileKey($file, $key))) { - echo self::generateXml('', 'ok', 100, ''); - } else { - echo self::generateXml('', 'fail', 404, 'could not write key file'); - } - } else { - echo self::generateXml('', 'fail', 300, 'Client side encryption not enabled'); - } - } } diff --git a/lib/ocsclient.php b/lib/ocsclient.php index 3c80f319662bc223002945109f2bbee1904667e5..12e5026a877e56689d61c85039bc84b3b63bce17 100644 --- a/lib/ocsclient.php +++ b/lib/ocsclient.php @@ -55,20 +55,11 @@ class OC_OCSClient{ * This function calls an OCS server and returns the response. It also sets a sane timeout */ private static function getOCSresponse($url) { - // set a sensible timeout of 10 sec to stay responsive even if the server is down. - $ctx = stream_context_create( - array( - 'http' => array( - 'timeout' => 10 - ) - ) - ); - $data=@file_get_contents($url, 0, $ctx); + $data = \OC_Util::getUrlContent($url); return($data); } - - /** + /** * @brief Get all the categories from the OCS server * @returns array with category ids * @note returns NULL if config value appstoreenabled is set to false @@ -76,12 +67,12 @@ class OC_OCSClient{ */ public static function getCategories() { if(OC_Config::getValue('appstoreenabled', true)==false) { - return NULL; + return null; } $url=OC_OCSClient::getAppStoreURL().'/content/categories'; $xml=OC_OCSClient::getOCSresponse($url); - if($xml==FALSE) { - return NULL; + if($xml==false) { + return null; } $data=simplexml_load_string($xml); @@ -105,25 +96,25 @@ class OC_OCSClient{ * * This function returns a list of all the applications on the OCS server */ - public static function getApplications($categories,$page,$filter) { + public static function getApplications($categories, $page, $filter) { if(OC_Config::getValue('appstoreenabled', true)==false) { return(array()); } if(is_array($categories)) { - $categoriesstring=implode('x',$categories); + $categoriesstring=implode('x', $categories); }else{ $categoriesstring=$categories; } - $version='&version='.implode('x',\OC_Util::getVersion()); + $version='&version='.implode('x', \OC_Util::getVersion()); $filterurl='&filter='.urlencode($filter); $url=OC_OCSClient::getAppStoreURL().'/content/data?categories='.urlencode($categoriesstring).'&sortmode=new&page='.urlencode($page).'&pagesize=100'.$filterurl.$version; $apps=array(); $xml=OC_OCSClient::getOCSresponse($url); - if($xml==FALSE) { - return NULL; + if($xml==false) { + return null; } $data=simplexml_load_string($xml); @@ -156,14 +147,14 @@ class OC_OCSClient{ */ public static function getApplication($id) { if(OC_Config::getValue('appstoreenabled', true)==false) { - return NULL; + return null; } $url=OC_OCSClient::getAppStoreURL().'/content/data/'.urlencode($id); $xml=OC_OCSClient::getOCSresponse($url); - if($xml==FALSE) { - OC_Log::write('core','Unable to parse OCS content',OC_Log::FATAL); - return NULL; + if($xml==false) { + OC_Log::write('core', 'Unable to parse OCS content', OC_Log::FATAL); + return null; } $data=simplexml_load_string($xml); @@ -192,16 +183,16 @@ class OC_OCSClient{ * * This function returns an download url for an applications from the OCS server */ - public static function getApplicationDownload($id,$item) { + public static function getApplicationDownload($id, $item) { if(OC_Config::getValue('appstoreenabled', true)==false) { - return NULL; + return null; } $url=OC_OCSClient::getAppStoreURL().'/content/download/'.urlencode($id).'/'.urlencode($item); $xml=OC_OCSClient::getOCSresponse($url); - if($xml==FALSE) { - OC_Log::write('core','Unable to parse OCS content',OC_Log::FATAL); - return NULL; + if($xml==false) { + OC_Log::write('core', 'Unable to parse OCS content', OC_Log::FATAL); + return null; } $data=simplexml_load_string($xml); @@ -222,40 +213,35 @@ class OC_OCSClient{ * * This function returns a list of all the knowledgebase entries from the OCS server */ - public static function getKnownledgebaseEntries($page,$pagesize,$search='') { - if(OC_Config::getValue('knowledgebaseenabled', true)==false) { - $kbe=array(); - $kbe['totalitems']=0; - return $kbe; - } - - $p= (int) $page; - $s= (int) $pagesize; - if($search<>'') $searchcmd='&search='.urlencode($search); else $searchcmd=''; - $url=OC_OCSClient::getKBURL().'/knowledgebase/data?type=150&page='.$p.'&pagesize='.$s.$searchcmd; - - $kbe=array(); - $xml=OC_OCSClient::getOCSresponse($url); - - if($xml==FALSE) { - OC_Log::write('core','Unable to parse knowledgebase content',OC_Log::FATAL); - return NULL; - } - $data=simplexml_load_string($xml); - - $tmp=$data->data->content; - for($i = 0; $i < count($tmp); $i++) { - $kb=array(); - $kb['id']=$tmp[$i]->id; - $kb['name']=$tmp[$i]->name; - $kb['description']=$tmp[$i]->description; - $kb['answer']=$tmp[$i]->answer; - $kb['preview1']=$tmp[$i]->smallpreviewpic1; - $kb['detailpage']=$tmp[$i]->detailpage; - $kbe[]=$kb; + public static function getKnownledgebaseEntries($page, $pagesize, $search='') { + $kbe = array('totalitems' => 0); + if(OC_Config::getValue('knowledgebaseenabled', true)) { + $p = (int) $page; + $s = (int) $pagesize; + $searchcmd = ''; + if ($search) { + $searchcmd = '&search='.urlencode($search); + } + $url = OC_OCSClient::getKBURL().'/knowledgebase/data?type=150&page='. $p .'&pagesize='. $s . $searchcmd; + $xml = OC_OCSClient::getOCSresponse($url); + $data = @simplexml_load_string($xml); + if($data===false) { + OC_Log::write('core', 'Unable to parse knowledgebase content', OC_Log::FATAL); + return null; + } + $tmp = $data->data->content; + for($i = 0; $i < count($tmp); $i++) { + $kbe[] = array( + 'id' => $tmp[$i]->id, + 'name' => $tmp[$i]->name, + 'description' => $tmp[$i]->description, + 'answer' => $tmp[$i]->answer, + 'preview1' => $tmp[$i]->smallpreviewpic1, + 'detailpage' => $tmp[$i]->detailpage + ); + } + $kbe['totalitems'] = $data->meta->totalitems; } - $total=$data->meta->totalitems; - $kbe['totalitems']=$total; return $kbe; } diff --git a/lib/preferences.php b/lib/preferences.php index b198a18415cc17bd93447ed73517db250f4bedd9..6270457834dbebde0b2139b4aaa7c69217ed7f71 100644 --- a/lib/preferences.php +++ b/lib/preferences.php @@ -139,7 +139,7 @@ class OC_Preferences{ public static function setValue( $user, $app, $key, $value ) { // Check if the key does exist $query = OC_DB::prepare( 'SELECT `configvalue` FROM `*PREFIX*preferences` WHERE `userid` = ? AND `appid` = ? AND `configkey` = ?' ); - $values=$query->execute(array($user,$app,$key))->fetchAll(); + $values=$query->execute(array($user, $app, $key))->fetchAll(); $exists=(count($values)>0); if( !$exists ) { diff --git a/lib/public/backgroundjob.php b/lib/public/backgroundjob.php index aba7d2b7620504139617f47bb5bdb1d7dd419c9f..601046fe691dcf9146371699d060bb03f436b485 100644 --- a/lib/public/backgroundjob.php +++ b/lib/public/backgroundjob.php @@ -46,6 +46,29 @@ namespace OCP; * is done it will be deleted from the list. */ class BackgroundJob { + /** + * @brief get the execution type of background jobs + * @return string + * + * This method returns the type how background jobs are executed. If the user + * did not select something, the type is ajax. + */ + public static function getExecutionType() { + return \OC_BackgroundJob::getExecutionType(); + } + + /** + * @brief sets the background jobs execution type + * @param $type execution type + * @return boolean + * + * This method sets the execution type of the background jobs. Possible types + * are "none", "ajax", "webcron", "cron" + */ + public static function setExecutionType( $type ) { + return \OC_BackgroundJob::setExecutionType( $type ); + } + /** * @brief creates a regular task * @param $klass class name diff --git a/lib/public/constants.php b/lib/public/constants.php new file mode 100644 index 0000000000000000000000000000000000000000..bc979c9031fcc8ce94647a7911a393f0052cce1f --- /dev/null +++ b/lib/public/constants.php @@ -0,0 +1,38 @@ +. + * + */ + +/** + * This file defines common constants used in ownCloud + */ + +namespace OCP; + +/** + * CRUDS permissions. + */ +const PERMISSION_CREATE = 4; +const PERMISSION_READ = 1; +const PERMISSION_UPDATE = 2; +const PERMISSION_DELETE = 8; +const PERMISSION_SHARE = 16; +const PERMISSION_ALL = 31; + diff --git a/lib/public/db.php b/lib/public/db.php index 6ce62b27ca27d22ee87b0d5d9f86bc000d0acc99..92ff8f93a227877bed86d428b87fe1370780a5a8 100644 --- a/lib/public/db.php +++ b/lib/public/db.php @@ -42,9 +42,30 @@ class DB { * SQL query via MDB2 prepare(), needs to be execute()'d! */ static public function prepare( $query, $limit=null, $offset=null ) { - return(\OC_DB::prepare($query,$limit,$offset)); + return(\OC_DB::prepare($query, $limit, $offset)); } + /** + * @brief Insert a row if a matching row doesn't exists. + * @param $table string The table name (will replace *PREFIX*) to perform the replace on. + * @param $input array + * + * The input array if in the form: + * + * array ( 'id' => array ( 'value' => 6, + * 'key' => true + * ), + * 'name' => array ('value' => 'Stoyan'), + * 'family' => array ('value' => 'Stefanov'), + * 'birth_date' => array ('value' => '1975-06-20') + * ); + * @returns true/false + * + */ + public static function insertIfNotExist($table, $input) { + return(\OC_DB::insertIfNotExist($table, $input)); + } + /** * @brief gets last value of autoincrement * @param $table string The optional table name (will replace *PREFIX*) and add sequence suffix diff --git a/lib/public/share.php b/lib/public/share.php index faa44d7473556bf28e9b588f5c0727c7c6164030..d736871d2440004d99fac20eaa75c3a3f2be9d90 100644 --- a/lib/public/share.php +++ b/lib/public/share.php @@ -20,14 +20,12 @@ */ namespace OCP; -\OC_Hook::connect('OC_User', 'post_deleteUser', 'OCP\Share', 'post_deleteUser'); -\OC_Hook::connect('OC_User', 'post_addToGroup', 'OCP\Share', 'post_addToGroup'); -\OC_Hook::connect('OC_User', 'post_removeFromGroup', 'OCP\Share', 'post_removeFromGroup'); -\OC_Hook::connect('OC_User', 'post_deleteGroup', 'OCP\Share', 'post_deleteGroup'); - /** * This class provides the ability for apps to share their content between users. * Apps must create a backend class that implements OCP\Share_Backend and register it with this class. +* +* It provides the following hooks: +* - post_shared */ class Share { @@ -43,17 +41,15 @@ class Share { * Check if permission is granted with And (&) e.g. Check if delete is granted: if ($permissions & PERMISSION_DELETE) * Remove permissions with And (&) and Not (~) e.g. Remove the update permission: $permissions &= ~PERMISSION_UPDATE * Apps are required to handle permissions on their own, this class only stores and manages the permissions of shares + * @see lib/public/constants.php */ - const PERMISSION_CREATE = 4; - const PERMISSION_READ = 1; - const PERMISSION_UPDATE = 2; - const PERMISSION_DELETE = 8; - const PERMISSION_SHARE = 16; const FORMAT_NONE = -1; const FORMAT_STATUSES = -2; const FORMAT_SOURCES = -3; + const TOKEN_LENGTH = 32; // see db_structure.xml + private static $shareTypeUserAndGroups = -1; private static $shareTypeGroupUserUnique = 2; private static $backends = array(); @@ -140,6 +136,20 @@ class Share { return self::getItems($itemType, $itemSource, self::SHARE_TYPE_LINK, null, $uidOwner, self::FORMAT_NONE, null, 1); } + /** + * @brief Get the item shared by a token + * @param string token + * @return Item + */ + public static function getShareByToken($token) { + $query = \OC_DB::prepare('SELECT * FROM `*PREFIX*share` WHERE `token` = ?',1); + $result = $query->execute(array($token)); + if (\OC_DB::isError($result)) { + \OC_Log::write('OCP\Share', \OC_DB::getErrorMessage($result) . ', token=' . $token, \OC_Log::ERROR); + } + return $result->fetchRow(); + } + /** * @brief Get the shared items of item type owned by the current user * @param string Item type @@ -169,7 +179,7 @@ class Share { * @param int SHARE_TYPE_USER, SHARE_TYPE_GROUP, or SHARE_TYPE_LINK * @param string User or group the item is being shared with * @param int CRUDS permissions - * @return bool Returns true on success or false on failure + * @return bool|string Returns true on success or false on failure, Returns token on success for links */ public static function shareItem($itemType, $itemSource, $shareType, $shareWith, $permissions) { $uidOwner = \OC_User::getUser(); @@ -231,23 +241,33 @@ class Share { $shareWith['users'] = array_diff(\OC_Group::usersInGroup($group), array($uidOwner)); } else if ($shareType === self::SHARE_TYPE_LINK) { if (\OC_Appconfig::getValue('core', 'shareapi_allow_links', 'yes') == 'yes') { + // when updating a link share if ($checkExists = self::getItems($itemType, $itemSource, self::SHARE_TYPE_LINK, null, $uidOwner, self::FORMAT_NONE, null, 1)) { - // If password is set delete the old link - if (isset($shareWith)) { - self::delete($checkExists['id']); - } else { - $message = 'Sharing '.$itemSource.' failed, because this item is already shared with a link'; - \OC_Log::write('OCP\Share', $message, \OC_Log::ERROR); - throw new \Exception($message); - } + // remember old token + $oldToken = $checkExists['token']; + //delete the old share + self::delete($checkExists['id']); } + // Generate hash of password - same method as user passwords if (isset($shareWith)) { $forcePortable = (CRYPT_BLOWFISH != 1); $hasher = new \PasswordHash(8, $forcePortable); $shareWith = $hasher->HashPassword($shareWith.\OC_Config::getValue('passwordsalt', '')); } - return self::put($itemType, $itemSource, $shareType, $shareWith, $uidOwner, $permissions); + + // Generate token + if (isset($oldToken)) { + $token = $oldToken; + } else { + $token = \OC_Util::generate_random_bytes(self::TOKEN_LENGTH); + } + $result = self::put($itemType, $itemSource, $shareType, $shareWith, $uidOwner, $permissions, null, $token); + if ($result) { + return $token; + } else { + return false; + } } $message = 'Sharing '.$itemSource.' failed, because sharing with links is not allowed'; \OC_Log::write('OCP\Share', $message, \OC_Log::ERROR); @@ -326,6 +346,22 @@ class Share { return false; } + /** + * @brief Unshare an item from all users, groups, and remove all links + * @param string Item type + * @param string Item source + * @return Returns true on success or false on failure + */ + public static function unshareAll($itemType, $itemSource) { + if ($shares = self::getItemShared($itemType, $itemSource)) { + foreach ($shares as $share) { + self::delete($share['id']); + } + return true; + } + return false; + } + /** * @brief Unshare an item shared with the current user * @param string Item type @@ -383,7 +419,7 @@ class Share { // Check if permissions were removed if ($item['permissions'] & ~$permissions) { // If share permission is removed all reshares must be deleted - if (($item['permissions'] & self::PERMISSION_SHARE) && (~$permissions & self::PERMISSION_SHARE)) { + if (($item['permissions'] & PERMISSION_SHARE) && (~$permissions & PERMISSION_SHARE)) { self::delete($item['id'], true); } else { $ids = array(); @@ -533,7 +569,7 @@ class Share { $itemTypes = $collectionTypes; } $placeholders = join(',', array_fill(0, count($itemTypes), '?')); - $where .= ' WHERE item_type IN ('.$placeholders.'))'; + $where .= ' WHERE `item_type` IN ('.$placeholders.'))'; $queryArgs = $itemTypes; } else { $where = ' WHERE `item_type` = ?'; @@ -610,7 +646,7 @@ class Share { $queryArgs[] = $item; if ($includeCollections && $collectionTypes) { $placeholders = join(',', array_fill(0, count($collectionTypes), '?')); - $where .= ' OR item_type IN ('.$placeholders.'))'; + $where .= ' OR `item_type` IN ('.$placeholders.'))'; $queryArgs = array_merge($queryArgs, $collectionTypes); } } @@ -639,16 +675,16 @@ class Share { } else { if (isset($uidOwner)) { if ($itemType == 'file' || $itemType == 'folder') { - $select = '`*PREFIX*share`.`id`, `item_type`, `*PREFIX*share`.`parent`, `share_type`, `share_with`, `file_source`, `path`, `permissions`, `stime`, `expiration`'; + $select = '`*PREFIX*share`.`id`, `item_type`, `*PREFIX*share`.`parent`, `share_type`, `share_with`, `file_source`, `path`, `permissions`, `stime`, `expiration`, `token`'; } else { - $select = '`id`, `item_type`, `item_source`, `parent`, `share_type`, `share_with`, `permissions`, `stime`, `file_source`, `expiration`'; + $select = '`id`, `item_type`, `item_source`, `parent`, `share_type`, `share_with`, `permissions`, `stime`, `file_source`, `expiration`, `token`'; } } else { if ($fileDependent) { if (($itemType == 'file' || $itemType == 'folder') && $format == \OC_Share_Backend_File::FORMAT_FILE_APP || $format == \OC_Share_Backend_File::FORMAT_FILE_APP_ROOT) { $select = '`*PREFIX*share`.`id`, `item_type`, `*PREFIX*share`.`parent`, `uid_owner`, `share_type`, `share_with`, `file_source`, `path`, `file_target`, `permissions`, `expiration`, `name`, `ctime`, `mtime`, `mimetype`, `size`, `encrypted`, `versioned`, `writable`'; } else { - $select = '`*PREFIX*share`.`id`, `item_type`, `item_source`, `item_target`, `*PREFIX*share`.`parent`, `share_type`, `share_with`, `uid_owner`, `file_source`, `path`, `file_target`, `permissions`, `stime`, `expiration`'; + $select = '`*PREFIX*share`.`id`, `item_type`, `item_source`, `item_target`, `*PREFIX*share`.`parent`, `share_type`, `share_with`, `uid_owner`, `file_source`, `path`, `file_target`, `permissions`, `stime`, `expiration`, `token`'; } } else { $select = '*'; @@ -658,6 +694,9 @@ class Share { $root = strlen($root); $query = \OC_DB::prepare('SELECT '.$select.' FROM `*PREFIX*share` '.$where, $queryLimit); $result = $query->execute($queryArgs); + if (\OC_DB::isError($result)) { + \OC_Log::write('OCP\Share', \OC_DB::getErrorMessage($result) . ', select=' . $select . ' where=' . $where, \OC_Log::ERROR); + } $items = array(); $targets = array(); while ($row = $result->fetchRow()) { @@ -682,7 +721,7 @@ class Share { $items[$id]['share_with'] = $row['share_with']; } // Switch ids if sharing permission is granted on only one share to ensure correct parent is used if resharing - if (~(int)$items[$id]['permissions'] & self::PERMISSION_SHARE && (int)$row['permissions'] & self::PERMISSION_SHARE) { + if (~(int)$items[$id]['permissions'] & PERMISSION_SHARE && (int)$row['permissions'] & PERMISSION_SHARE) { $items[$row['id']] = $items[$id]; unset($items[$id]); $id = $row['id']; @@ -817,7 +856,7 @@ class Share { * @param bool|array Parent folder target (optional) * @return bool Returns true on success or false on failure */ - private static function put($itemType, $itemSource, $shareType, $shareWith, $uidOwner, $permissions, $parentFolder = null) { + private static function put($itemType, $itemSource, $shareType, $shareWith, $uidOwner, $permissions, $parentFolder = null, $token = null) { $backend = self::getBackend($itemType); // Check if this is a reshare if ($checkReshare = self::getItemSharedWithBySource($itemType, $itemSource, self::FORMAT_NONE, null, true)) { @@ -828,7 +867,7 @@ class Share { throw new \Exception($message); } // Check if share permissions is granted - if ((int)$checkReshare['permissions'] & self::PERMISSION_SHARE) { + if ((int)$checkReshare['permissions'] & PERMISSION_SHARE) { if (~(int)$checkReshare['permissions'] & $permissions) { $message = 'Sharing '.$itemSource.' failed, because the permissions exceed permissions granted to '.$uidOwner; \OC_Log::write('OCP\Share', $message, \OC_Log::ERROR); @@ -874,7 +913,7 @@ class Share { $fileSource = null; } } - $query = \OC_DB::prepare('INSERT INTO `*PREFIX*share` (`item_type`, `item_source`, `item_target`, `parent`, `share_type`, `share_with`, `uid_owner`, `permissions`, `stime`, `file_source`, `file_target`) VALUES (?,?,?,?,?,?,?,?,?,?,?)'); + $query = \OC_DB::prepare('INSERT INTO `*PREFIX*share` (`item_type`, `item_source`, `item_target`, `parent`, `share_type`, `share_with`, `uid_owner`, `permissions`, `stime`, `file_source`, `file_target`, `token`) VALUES (?,?,?,?,?,?,?,?,?,?,?,?)'); // Share with a group if ($shareType == self::SHARE_TYPE_GROUP) { $groupItemTarget = self::generateTarget($itemType, $itemSource, $shareType, $shareWith['group'], $uidOwner, $suggestedItemTarget); @@ -895,7 +934,7 @@ class Share { } else { $groupFileTarget = null; } - $query->execute(array($itemType, $itemSource, $groupItemTarget, $parent, $shareType, $shareWith['group'], $uidOwner, $permissions, time(), $fileSource, $groupFileTarget)); + $query->execute(array($itemType, $itemSource, $groupItemTarget, $parent, $shareType, $shareWith['group'], $uidOwner, $permissions, time(), $fileSource, $groupFileTarget, $token)); // Save this id, any extra rows for this group share will need to reference it $parent = \OC_DB::insertid('*PREFIX*share'); // Loop through all users of this group in case we need to add an extra row @@ -918,10 +957,24 @@ class Share { } else { $fileTarget = null; } + \OC_Hook::emit('OCP\Share', 'post_shared', array( + 'itemType' => $itemType, + 'itemSource' => $itemSource, + 'itemTarget' => $itemTarget, + 'parent' => $parent, + 'shareType' => self::$shareTypeGroupUserUnique, + 'shareWith' => $uid, + 'uidOwner' => $uidOwner, + 'permissions' => $permissions, + 'fileSource' => $fileSource, + 'fileTarget' => $fileTarget, + 'id' => $parent, + 'token' => $token + )); // Insert an extra row for the group share if the item or file target is unique for this user if ($itemTarget != $groupItemTarget || (isset($fileSource) && $fileTarget != $groupFileTarget)) { - $query->execute(array($itemType, $itemSource, $itemTarget, $parent, self::$shareTypeGroupUserUnique, $uid, $uidOwner, $permissions, time(), $fileSource, $fileTarget)); - \OC_DB::insertid('*PREFIX*share'); + $query->execute(array($itemType, $itemSource, $itemTarget, $parent, self::$shareTypeGroupUserUnique, $uid, $uidOwner, $permissions, time(), $fileSource, $fileTarget, $token)); + $id = \OC_DB::insertid('*PREFIX*share'); } } if ($parentFolder === true) { @@ -945,8 +998,22 @@ class Share { } else { $fileTarget = null; } - $query->execute(array($itemType, $itemSource, $itemTarget, $parent, $shareType, $shareWith, $uidOwner, $permissions, time(), $fileSource, $fileTarget)); + $query->execute(array($itemType, $itemSource, $itemTarget, $parent, $shareType, $shareWith, $uidOwner, $permissions, time(), $fileSource, $fileTarget, $token)); $id = \OC_DB::insertid('*PREFIX*share'); + \OC_Hook::emit('OCP\Share', 'post_shared', array( + 'itemType' => $itemType, + 'itemSource' => $itemSource, + 'itemTarget' => $itemTarget, + 'parent' => $parent, + 'shareType' => $shareType, + 'shareWith' => $shareWith, + 'uidOwner' => $uidOwner, + 'permissions' => $permissions, + 'fileSource' => $fileSource, + 'fileTarget' => $fileTarget, + 'id' => $id, + 'token' => $token + )); if ($parentFolder === true) { $parentFolders['id'] = $id; // Return parent folder to preserve file target paths for potential children @@ -1088,7 +1155,7 @@ class Share { $duplicateParent = $query->execute(array($item['item_type'], $item['item_target'], self::SHARE_TYPE_USER, self::SHARE_TYPE_GROUP, self::$shareTypeGroupUserUnique, $item['uid_owner'], $item['parent']))->fetchRow(); if ($duplicateParent) { // Change the parent to the other item id if share permission is granted - if ($duplicateParent['permissions'] & self::PERMISSION_SHARE) { + if ($duplicateParent['permissions'] & PERMISSION_SHARE) { $query = \OC_DB::prepare('UPDATE `*PREFIX*share` SET `parent` = ? WHERE `id` = ?'); $query->execute(array($duplicateParent['id'], $item['id'])); continue; diff --git a/lib/public/util.php b/lib/public/util.php index 38da7e821717ee968d875bdf9576ee57d2e720fb..7b5b1abbded296873353858179cb40b0abcadef3 100644 --- a/lib/public/util.php +++ b/lib/public/util.php @@ -61,7 +61,7 @@ class Util { */ public static function sendMail( $toaddress, $toname, $subject, $mailtext, $fromaddress, $fromname, $html=0, $altbody='', $ccaddress='', $ccname='', $bcc='') { // call the internal mail class - \OC_MAIL::send( $toaddress, $toname, $subject, $mailtext, $fromaddress, $fromname, $html=0, $altbody='', $ccaddress='', $ccname='', $bcc=''); + \OC_MAIL::send($toaddress, $toname, $subject, $mailtext, $fromaddress, $fromname, $html = 0, $altbody = '', $ccaddress = '', $ccname = '', $bcc = ''); } /** @@ -107,8 +107,8 @@ class Util { * @param int timestamp $timestamp * @param bool dateOnly option to ommit time from the result */ - public static function formatDate( $timestamp,$dateOnly=false) { - return(\OC_Util::formatDate( $timestamp,$dateOnly )); + public static function formatDate( $timestamp, $dateOnly=false) { + return(\OC_Util::formatDate( $timestamp, $dateOnly )); } /** diff --git a/lib/request.php b/lib/request.php old mode 100644 new mode 100755 index 87262d986255555467fea8485201f10f3cb274bf..c975c84a7117349a9af951ca9a6a5b2dbbb82de4 --- a/lib/request.php +++ b/lib/request.php @@ -18,6 +18,9 @@ class OC_Request { if(OC::$CLI) { return 'localhost'; } + if(OC_Config::getValue('overwritehost', '')<>''){ + return OC_Config::getValue('overwritehost'); + } if (isset($_SERVER['HTTP_X_FORWARDED_HOST'])) { if (strpos($_SERVER['HTTP_X_FORWARDED_HOST'], ",") !== false) { $host = trim(array_pop(explode(",", $_SERVER['HTTP_X_FORWARDED_HOST']))); @@ -40,6 +43,9 @@ class OC_Request { * Returns the server protocol. It respects reverse proxy servers and load balancers */ public static function serverProtocol() { + if(OC_Config::getValue('overwriteprotocol', '')<>''){ + return OC_Config::getValue('overwriteprotocol'); + } if (isset($_SERVER['HTTP_X_FORWARDED_PROTO'])) { $proto = strtolower($_SERVER['HTTP_X_FORWARDED_PROTO']); }else{ @@ -63,7 +69,7 @@ class OC_Request { $path_info = substr($_SERVER['REQUEST_URI'], strlen($_SERVER['SCRIPT_NAME'])); // following is taken from Sabre_DAV_URLUtil::decodePathSegment $path_info = rawurldecode($path_info); - $encoding = mb_detect_encoding($path_info, array('UTF-8','ISO-8859-1')); + $encoding = mb_detect_encoding($path_info, array('UTF-8', 'ISO-8859-1')); switch($encoding) { @@ -98,7 +104,7 @@ class OC_Request { $HTTP_ACCEPT_ENCODING = $_SERVER["HTTP_ACCEPT_ENCODING"]; if( strpos($HTTP_ACCEPT_ENCODING, 'x-gzip') !== false ) return 'x-gzip'; - else if( strpos($HTTP_ACCEPT_ENCODING,'gzip') !== false ) + else if( strpos($HTTP_ACCEPT_ENCODING, 'gzip') !== false ) return 'gzip'; return false; } diff --git a/lib/route.php b/lib/route.php new file mode 100644 index 0000000000000000000000000000000000000000..5901717c094430c54b81fd53b3090ad890895d11 --- /dev/null +++ b/lib/route.php @@ -0,0 +1,116 @@ + + * This file is licensed under the Affero General Public License version 3 or + * later. + * See the COPYING-README file. + */ + +use Symfony\Component\Routing\Route; + +class OC_Route extends Route { + /** + * Specify the method when this route is to be used + * + * @param string $method HTTP method (uppercase) + */ + public function method($method) { + $this->setRequirement('_method', strtoupper($method)); + return $this; + } + + /** + * Specify POST as the method to use with this route + */ + public function post() { + $this->method('POST'); + return $this; + } + + /** + * Specify GET as the method to use with this route + */ + public function get() { + $this->method('GET'); + return $this; + } + + /** + * Specify PUT as the method to use with this route + */ + public function put() { + $this->method('PUT'); + return $this; + } + + /** + * Specify DELETE as the method to use with this route + */ + public function delete() { + $this->method('DELETE'); + return $this; + } + + /** + * Defaults to use for this route + * + * @param array $defaults The defaults + */ + public function defaults($defaults) { + $action = $this->getDefault('action'); + $this->setDefaults($defaults); + if (isset($defaults['action'])) { + $action = $defaults['action']; + } + $this->action($action); + return $this; + } + + /** + * Requirements for this route + * + * @param array $requirements The requirements + */ + public function requirements($requirements) { + $method = $this->getRequirement('_method'); + $this->setRequirements($requirements); + if (isset($requirements['_method'])) { + $method = $requirements['_method']; + } + if ($method) { + $this->method($method); + } + return $this; + } + + /** + * The action to execute when this route matches + * @param string|callable $class the class or a callable + * @param string $function the function to use with the class + * + * This function is called with $class set to a callable or + * to the class with $function + */ + public function action($class, $function = null) { + $action = array($class, $function); + if (is_null($function)) { + $action = $class; + } + $this->setDefault('action', $action); + return $this; + } + + /** + * The action to execute when this route matches, includes a file like + * it is called directly + * @param $file + */ + public function actionInclude($file) { + $function = create_function('$param', + 'unset($param["_route"]);' + .'$_GET=array_merge($_GET, $param);' + .'unset($param);' + .'require_once "'.$file.'";'); + $this->action($function); + } +} diff --git a/lib/router.php b/lib/router.php new file mode 100644 index 0000000000000000000000000000000000000000..8cb8fd4f33b3e68664ba8f228f2ff5228c7388de --- /dev/null +++ b/lib/router.php @@ -0,0 +1,173 @@ + + * This file is licensed under the Affero General Public License version 3 or + * later. + * See the COPYING-README file. + */ + +use Symfony\Component\Routing\Matcher\UrlMatcher; +use Symfony\Component\Routing\Generator\UrlGenerator; +use Symfony\Component\Routing\RequestContext; +use Symfony\Component\Routing\RouteCollection; +//use Symfony\Component\Routing\Route; + +class OC_Router { + protected $collections = array(); + protected $collection = null; + protected $root = null; + + protected $generator = null; + protected $routing_files; + protected $cache_key; + + public function __construct() { + $baseUrl = OC_Helper::linkTo('', 'index.php'); + $method = $_SERVER['REQUEST_METHOD']; + $host = OC_Request::serverHost(); + $schema = OC_Request::serverProtocol(); + $this->context = new RequestContext($baseUrl, $method, $host, $schema); + // TODO cache + $this->root = $this->getCollection('root'); + } + + public function getRoutingFiles() { + if (!isset($this->routing_files)) { + $this->routing_files = array(); + foreach(OC_APP::getEnabledApps() as $app) { + $file = OC_App::getAppPath($app).'/appinfo/routes.php'; + if(file_exists($file)) { + $this->routing_files[$app] = $file; + } + } + } + return $this->routing_files; + } + + public function getCacheKey() { + if (!isset($this->cache_key)) { + $files = $this->getRoutingFiles(); + $files[] = 'settings/routes.php'; + $files[] = 'core/routes.php'; + $this->cache_key = OC_Cache::generateCacheKeyFromFiles($files); + } + return $this->cache_key; + } + + /** + * loads the api routes + */ + public function loadRoutes() { + foreach($this->getRoutingFiles() as $app => $file) { + $this->useCollection($app); + require_once $file; + $collection = $this->getCollection($app); + $this->root->addCollection($collection, '/apps/'.$app); + } + $this->useCollection('root'); + require_once 'settings/routes.php'; + require_once 'core/routes.php'; + } + + protected function getCollection($name) { + if (!isset($this->collections[$name])) { + $this->collections[$name] = new RouteCollection(); + } + return $this->collections[$name]; + } + + /** + * Sets the collection to use for adding routes + * + * @param string $name Name of the colletion to use. + */ + public function useCollection($name) { + $this->collection = $this->getCollection($name); + } + + /** + * Create a OC_Route. + * + * @param string $name Name of the route to create. + * @param string $pattern The pattern to match + * @param array $defaults An array of default parameter values + * @param array $requirements An array of requirements for parameters (regexes) + */ + public function create($name, $pattern, array $defaults = array(), array $requirements = array()) { + $route = new OC_Route($pattern, $defaults, $requirements); + $this->collection->add($name, $route); + return $route; + } + + /** + * Find the route matching $url. + * + * @param string $url The url to find + */ + public function match($url) { + $matcher = new UrlMatcher($this->root, $this->context); + $parameters = $matcher->match($url); + if (isset($parameters['action'])) { + $action = $parameters['action']; + if (!is_callable($action)) { + var_dump($action); + throw new Exception('not a callable action'); + } + unset($parameters['action']); + call_user_func($action, $parameters); + } elseif (isset($parameters['file'])) { + include $parameters['file']; + } else { + throw new Exception('no action available'); + } + } + + /** + * Get the url generator + * + */ + public function getGenerator() + { + if (null !== $this->generator) { + return $this->generator; + } + + return $this->generator = new UrlGenerator($this->root, $this->context); + } + + /** + * Generate url based on $name and $parameters + * + * @param string $name Name of the route to use. + * @param array $parameters Parameters for the route + */ + public function generate($name, $parameters = array(), $absolute = false) + { + return $this->getGenerator()->generate($name, $parameters, $absolute); + } + + /** + * Generate JSON response for routing in javascript + */ + public static function JSRoutes() + { + $router = OC::getRouter(); + + $etag = $router->getCacheKey(); + OC_Response::enableCaching(); + OC_Response::setETagHeader($etag); + + $root = $router->getCollection('root'); + $routes = array(); + foreach($root->all() as $name => $route) { + $compiled_route = $route->compile(); + $defaults = $route->getDefaults(); + unset($defaults['action']); + $routes[$name] = array( + 'tokens' => $compiled_route->getTokens(), + 'defaults' => $defaults, + ); + } + OCP\JSON::success ( array( 'data' => $routes ) ); + } +} diff --git a/lib/search.php b/lib/search.php index 0b6ad050024349649dc60184752a73edacfd5153..3c3378ad13cbb12c31f8db4e25e51f574a330e6b 100644 --- a/lib/search.php +++ b/lib/search.php @@ -40,8 +40,8 @@ class OC_Search{ * register a new search provider to be used * @param string $provider class name of a OC_Search_Provider */ - public static function registerProvider($class,$options=array()) { - self::$registeredProviders[]=array('class'=>$class,'options'=>$options); + public static function registerProvider($class, $options=array()) { + self::$registeredProviders[]=array('class'=>$class, 'options'=>$options); } /** diff --git a/lib/search/provider/file.php b/lib/search/provider/file.php index 24832296c593a618635825cc48b3574665986377..ea536ef77de2f692460db9bc2cab3f905c2a70a8 100644 --- a/lib/search/provider/file.php +++ b/lib/search/provider/file.php @@ -2,8 +2,9 @@ class OC_Search_Provider_File extends OC_Search_Provider{ function search($query) { - $files=OC_FileCache::search($query,true); + $files=OC_FileCache::search($query, true); $results=array(); + $l=OC_L10N::get('lib'); foreach($files as $fileData) { $path = $fileData['path']; $mime = $fileData['mimetype']; @@ -13,25 +14,25 @@ class OC_Search_Provider_File extends OC_Search_Provider{ $skip = false; if($mime=='httpd/unix-directory') { $link = OC_Helper::linkTo( 'files', 'index.php', array('dir' => $path)); - $type = 'Files'; + $type = (string)$l->t('Files'); }else{ - $link = OC_Helper::linkTo( 'files', 'download.php', array('file' => $path)); + $link = OC_Helper::linkToRoute( 'download', array('file' => $path)); $mimeBase = $fileData['mimepart']; switch($mimeBase) { case 'audio': $skip = true; break; case 'text': - $type = 'Text'; + $type = (string)$l->t('Text'); break; case 'image': - $type = 'Images'; + $type = (string)$l->t('Images'); break; default: if($mime=='application/xml') { - $type = 'Text'; + $type = (string)$l->t('Text'); }else{ - $type = 'Files'; + $type = (string)$l->t('Files'); } } } diff --git a/lib/search/result.php b/lib/search/result.php index 63b5cfabce6ef2bd428a237d48452102a9f73a2c..08beaea151ca77657521532e87db9c841df6c1d4 100644 --- a/lib/search/result.php +++ b/lib/search/result.php @@ -15,7 +15,7 @@ class OC_Search_Result{ * @param string $link link for the result * @param string $type the type of result as human readable string ('File', 'Music', etc) */ - public function __construct($name,$text,$link,$type) { + public function __construct($name, $text, $link, $type) { $this->name=$name; $this->text=$text; $this->link=$link; diff --git a/lib/setup.php b/lib/setup.php index 3c92e9c5599112a93a98f1facd514281b8ac9296..fdd10be6824b84e90682c11a5be949188a0fb80f 100644 --- a/lib/setup.php +++ b/lib/setup.php @@ -1,45 +1,5 @@ $hasSQLite, - 'hasMySQL' => $hasMySQL, - 'hasPostgreSQL' => $hasPostgreSQL, - 'hasOracle' => $hasOracle, - 'directory' => $datadir, - 'secureRNG' => OC_Util::secureRNG_available(), - 'htaccessWorking' => OC_Util::ishtaccessworking(), - 'errors' => array(), -); - -if(isset($_POST['install']) AND $_POST['install']=='true') { - // We have to launch the installation process : - $e = OC_Setup::install($_POST); - $errors = array('errors' => $e); - - if(count($e) > 0) { - //OC_Template::printGuestPage("", "error", array("errors" => $errors)); - $options = array_merge($_POST, $opts, $errors); - OC_Template::printGuestPage("", "installation", $options); - } - else { - header("Location: ".OC::$WEBROOT.'/'); - exit(); - } -} -else { - OC_Template::printGuestPage("", "installation", $opts); -} - class OC_Setup { public static function install($options) { $error = array(); @@ -70,6 +30,9 @@ class OC_Setup { if(empty($options['dbname'])) { $error[] = "$dbprettyname enter the database name."; } + if(substr_count($options['dbname'], '.') >= 1) { + $error[] = "$dbprettyname you may not use dots in the database name"; + } if($dbtype != 'oci' && empty($options['dbhost'])) { $error[] = "$dbprettyname set the database host."; } @@ -92,69 +55,27 @@ class OC_Setup { //write the config file OC_Config::setValue('datadirectory', $datadir); OC_Config::setValue('dbtype', $dbtype); - OC_Config::setValue('version',implode('.',OC_Util::getVersion())); + OC_Config::setValue('version', implode('.', OC_Util::getVersion())); if($dbtype == 'mysql') { $dbuser = $options['dbuser']; $dbpass = $options['dbpass']; $dbname = $options['dbname']; $dbhost = $options['dbhost']; $dbtableprefix = isset($options['dbtableprefix']) ? $options['dbtableprefix'] : 'oc_'; + OC_Config::setValue('dbname', $dbname); OC_Config::setValue('dbhost', $dbhost); OC_Config::setValue('dbtableprefix', $dbtableprefix); - //check if the database user has admin right - $connection = @mysql_connect($dbhost, $dbuser, $dbpass); - if(!$connection) { + try { + self::setupMySQLDatabase($dbhost, $dbuser, $dbpass, $dbname, $dbtableprefix, $username); + } catch (Exception $e) { $error[] = array( 'error' => 'MySQL username and/or password not valid', 'hint' => 'You need to enter either an existing account or the administrator.' ); return($error); } - else { - $oldUser=OC_Config::getValue('dbuser', false); - - $query="SELECT user FROM mysql.user WHERE user='$dbuser'"; //this should be enough to check for admin rights in mysql - if(mysql_query($query, $connection)) { - //use the admin login data for the new database user - - //add prefix to the mysql user name to prevent collisions - $dbusername=substr('oc_'.$username,0,16); - if($dbusername!=$oldUser) { - //hash the password so we don't need to store the admin config in the config file - $dbpassword=md5(time().$password); - - self::createDBUser($dbusername, $dbpassword, $connection); - - OC_Config::setValue('dbuser', $dbusername); - OC_Config::setValue('dbpassword', $dbpassword); - } - - //create the database - self::createDatabase($dbname, $dbusername, $connection); - } - else { - if($dbuser!=$oldUser) { - OC_Config::setValue('dbuser', $dbuser); - OC_Config::setValue('dbpassword', $dbpass); - } - - //create the database - self::createDatabase($dbname, $dbuser, $connection); - } - - //fill the database if needed - $query="select count(*) from information_schema.tables where table_schema='$dbname' AND table_name = '{$dbtableprefix}users';"; - $result = mysql_query($query,$connection); - if($result) { - $row=mysql_fetch_row($result); - } - if(!$result or $row[0]==0) { - OC_DB::createDbFromStructure('db_structure.xml'); - } - mysql_close($connection); - } } elseif($dbtype == 'pgsql') { $dbuser = $options['dbuser']; @@ -162,82 +83,20 @@ class OC_Setup { $dbname = $options['dbname']; $dbhost = $options['dbhost']; $dbtableprefix = isset($options['dbtableprefix']) ? $options['dbtableprefix'] : 'oc_'; - OC_CONFIG::setValue('dbname', $dbname); - OC_CONFIG::setValue('dbhost', $dbhost); - OC_CONFIG::setValue('dbtableprefix', $dbtableprefix); - - $e_host = addslashes($dbhost); - $e_user = addslashes($dbuser); - $e_password = addslashes($dbpass); - //check if the database user has admin right - $connection_string = "host='$e_host' dbname=postgres user='$e_user' password='$e_password'"; - $connection = @pg_connect($connection_string); - if(!$connection) { + + OC_Config::setValue('dbname', $dbname); + OC_Config::setValue('dbhost', $dbhost); + OC_Config::setValue('dbtableprefix', $dbtableprefix); + + try { + self::setupPostgreSQLDatabase($dbhost, $dbuser, $dbpass, $dbname, $dbtableprefix, $username); + } catch (Exception $e) { $error[] = array( 'error' => 'PostgreSQL username and/or password not valid', 'hint' => 'You need to enter either an existing account or the administrator.' ); return $error; } - else { - $e_user = pg_escape_string($dbuser); - //check for roles creation rights in postgresql - $query="SELECT 1 FROM pg_roles WHERE rolcreaterole=TRUE AND rolname='$e_user'"; - $result = pg_query($connection, $query); - if($result and pg_num_rows($result) > 0) { - //use the admin login data for the new database user - - //add prefix to the postgresql user name to prevent collisions - $dbusername='oc_'.$username; - //create a new password so we don't need to store the admin config in the config file - $dbpassword=md5(time()); - - self::pg_createDBUser($dbusername, $dbpassword, $connection); - - OC_CONFIG::setValue('dbuser', $dbusername); - OC_CONFIG::setValue('dbpassword', $dbpassword); - - //create the database - self::pg_createDatabase($dbname, $dbusername, $connection); - } - else { - OC_CONFIG::setValue('dbuser', $dbuser); - OC_CONFIG::setValue('dbpassword', $dbpass); - - //create the database - self::pg_createDatabase($dbname, $dbuser, $connection); - } - - // the connection to dbname=postgres is not needed anymore - pg_close($connection); - - // connect to the ownCloud database (dbname=$dbname) an check if it needs to be filled - $dbuser = OC_CONFIG::getValue('dbuser'); - $dbpass = OC_CONFIG::getValue('dbpassword'); - - $e_host = addslashes($dbhost); - $e_dbname = addslashes($dbname); - $e_user = addslashes($dbuser); - $e_password = addslashes($dbpass); - - $connection_string = "host='$e_host' dbname='$e_dbname' user='$e_user' password='$e_password'"; - $connection = @pg_connect($connection_string); - if(!$connection) { - $error[] = array( - 'error' => 'PostgreSQL username and/or password not valid', - 'hint' => 'You need to enter either an existing account or the administrator.' - ); - } else { - $query = "select count(*) FROM pg_class WHERE relname='{$dbtableprefix}users' limit 1"; - $result = pg_query($connection, $query); - if($result) { - $row = pg_fetch_row($result); - } - if(!$result or $row[0]==0) { - OC_DB::createDbFromStructure('db_structure.xml'); - } - } - } } elseif($dbtype == 'oci') { $dbuser = $options['dbuser']; @@ -246,116 +105,20 @@ class OC_Setup { $dbtablespace = $options['dbtablespace']; $dbhost = isset($options['dbhost'])?$options['dbhost']:''; $dbtableprefix = isset($options['dbtableprefix']) ? $options['dbtableprefix'] : 'oc_'; - OC_CONFIG::setValue('dbname', $dbname); - OC_CONFIG::setValue('dbtablespace', $dbtablespace); - OC_CONFIG::setValue('dbhost', $dbhost); - OC_CONFIG::setValue('dbtableprefix', $dbtableprefix); - - $e_host = addslashes($dbhost); - $e_dbname = addslashes($dbname); - //check if the database user has admin right - if ($e_host == '') { - $easy_connect_string = $e_dbname; // use dbname as easy connect name - } else { - $easy_connect_string = '//'.$e_host.'/'.$e_dbname; - } - $connection = @oci_connect($dbuser, $dbpass, $easy_connect_string); - if(!$connection) { - $e = oci_error(); + + OC_Config::setValue('dbname', $dbname); + OC_Config::setValue('dbtablespace', $dbtablespace); + OC_Config::setValue('dbhost', $dbhost); + OC_Config::setValue('dbtableprefix', $dbtableprefix); + + try { + self::setupOCIDatabase($dbhost, $dbuser, $dbpass, $dbname, $dbtableprefix, $dbtablespace, $username); + } catch (Exception $e) { $error[] = array( 'error' => 'Oracle username and/or password not valid', 'hint' => 'You need to enter either an existing account or the administrator.' ); return $error; - } else { - //check for roles creation rights in oracle - - $query="SELECT count(*) FROM user_role_privs, role_sys_privs WHERE user_role_privs.granted_role = role_sys_privs.role AND privilege = 'CREATE ROLE'"; - $stmt = oci_parse($connection, $query); - if (!$stmt) { - $entry='DB Error: "'.oci_last_error($connection).'"
'; - $entry.='Offending command was: '.$query.'
'; - echo($entry); - } - $result = oci_execute($stmt); - if($result) { - $row = oci_fetch_row($stmt); - } - if($result and $row[0] > 0) { - //use the admin login data for the new database user - - //add prefix to the oracle user name to prevent collisions - $dbusername='oc_'.$username; - //create a new password so we don't need to store the admin config in the config file - $dbpassword=md5(time().$dbpass); - - //oracle passwords are treated as identifiers: - // must start with aphanumeric char - // needs to be shortened to 30 bytes, as the two " needed to escape the identifier count towards the identifier length. - $dbpassword=substr($dbpassword, 0, 30); - - self::oci_createDBUser($dbusername, $dbpassword, $dbtablespace, $connection); - - OC_CONFIG::setValue('dbuser', $dbusername); - OC_CONFIG::setValue('dbname', $dbusername); - OC_CONFIG::setValue('dbpassword', $dbpassword); - - //create the database not neccessary, oracle implies user = schema - //self::oci_createDatabase($dbname, $dbusername, $connection); - } else { - - OC_CONFIG::setValue('dbuser', $dbuser); - OC_CONFIG::setValue('dbname', $dbname); - OC_CONFIG::setValue('dbpassword', $dbpass); - - //create the database not neccessary, oracle implies user = schema - //self::oci_createDatabase($dbname, $dbuser, $connection); - } - - //FIXME check tablespace exists: select * from user_tablespaces - - // the connection to dbname=oracle is not needed anymore - oci_close($connection); - - // connect to the oracle database (schema=$dbuser) an check if the schema needs to be filled - $dbuser = OC_CONFIG::getValue('dbuser'); - //$dbname = OC_CONFIG::getValue('dbname'); - $dbpass = OC_CONFIG::getValue('dbpassword'); - - $e_host = addslashes($dbhost); - $e_dbname = addslashes($dbname); - - if ($e_host == '') { - $easy_connect_string = $e_dbname; // use dbname as easy connect name - } else { - $easy_connect_string = '//'.$e_host.'/'.$e_dbname; - } - $connection = @oci_connect($dbuser, $dbpass, $easy_connect_string); - if(!$connection) { - $error[] = array( - 'error' => 'Oracle username and/or password not valid', - 'hint' => 'You need to enter either an existing account or the administrator.' - ); - return $error; - } else { - $query = "SELECT count(*) FROM user_tables WHERE table_name = :un"; - $stmt = oci_parse($connection, $query); - $un = $dbtableprefix.'users'; - oci_bind_by_name($stmt, ':un', $un); - if (!$stmt) { - $entry='DB Error: "'.oci_last_error($connection).'"
'; - $entry.='Offending command was: '.$query.'
'; - echo($entry); - } - $result = oci_execute($stmt); - - if($result) { - $row = oci_fetch_row($stmt); - } - if(!$result or $row[0]==0) { - OC_DB::createDbFromStructure('db_structure.xml'); - } - } } } else { @@ -376,8 +139,8 @@ class OC_Setup { } if(count($error) == 0) { - OC_Appconfig::setValue('core', 'installedat',microtime(true)); - OC_Appconfig::setValue('core', 'lastupdatedat',microtime(true)); + OC_Appconfig::setValue('core', 'installedat', microtime(true)); + OC_Appconfig::setValue('core', 'lastupdatedat', microtime(true)); OC_Group::createGroup('admin'); OC_Group::addToGroup($username, 'admin'); @@ -399,7 +162,56 @@ class OC_Setup { return $error; } - public static function createDatabase($name,$user,$connection) { + private static function setupMySQLDatabase($dbhost, $dbuser, $dbpass, $dbname, $dbtableprefix, $username) { + //check if the database user has admin right + $connection = @mysql_connect($dbhost, $dbuser, $dbpass); + if(!$connection) { + throw new Exception('MySQL username and/or password not valid'); + } + $oldUser=OC_Config::getValue('dbuser', false); + + $query="SELECT user FROM mysql.user WHERE user='$dbuser'"; //this should be enough to check for admin rights in mysql + if(mysql_query($query, $connection)) { + //use the admin login data for the new database user + + //add prefix to the mysql user name to prevent collisions + $dbusername=substr('oc_'.$username, 0, 16); + if($dbusername!=$oldUser) { + //hash the password so we don't need to store the admin config in the config file + $dbpassword=md5(time().$dbpass); + + self::createDBUser($dbusername, $dbpassword, $connection); + + OC_Config::setValue('dbuser', $dbusername); + OC_Config::setValue('dbpassword', $dbpassword); + } + + //create the database + self::createMySQLDatabase($dbname, $dbusername, $connection); + } + else { + if($dbuser!=$oldUser) { + OC_Config::setValue('dbuser', $dbuser); + OC_Config::setValue('dbpassword', $dbpass); + } + + //create the database + self::createMySQLDatabase($dbname, $dbuser, $connection); + } + + //fill the database if needed + $query="select count(*) from information_schema.tables where table_schema='$dbname' AND table_name = '{$dbtableprefix}users';"; + $result = mysql_query($query, $connection); + if($result) { + $row=mysql_fetch_row($result); + } + if(!$result or $row[0]==0) { + OC_DB::createDbFromStructure('db_structure.xml'); + } + mysql_close($connection); + } + + private static function createMySQLDatabase($name, $user, $connection) { //we cant use OC_BD functions here because we need to connect as the administrative user. $query = "CREATE DATABASE IF NOT EXISTS `$name`"; $result = mysql_query($query, $connection); @@ -412,7 +224,7 @@ class OC_Setup { $result = mysql_query($query, $connection); //this query will fail if there aren't the right permissons, ignore the error } - private static function createDBUser($name,$password,$connection) { + private static function createDBUser($name, $password, $connection) { // we need to create 2 accounts, one for global use and one for local user. if we don't specify the local one, // the anonymous user would take precedence when there is one. $query = "CREATE USER '$name'@'localhost' IDENTIFIED BY '$password'"; @@ -421,7 +233,73 @@ class OC_Setup { $result = mysql_query($query, $connection); } - public static function pg_createDatabase($name,$user,$connection) { + private static function setupPostgreSQLDatabase($dbhost, $dbuser, $dbpass, $dbname, $dbtableprefix, $username) { + $e_host = addslashes($dbhost); + $e_user = addslashes($dbuser); + $e_password = addslashes($dbpass); + + //check if the database user has admin rights + $connection_string = "host='$e_host' dbname=postgres user='$e_user' password='$e_password'"; + $connection = @pg_connect($connection_string); + if(!$connection) { + throw new Exception('PostgreSQL username and/or password not valid'); + } + $e_user = pg_escape_string($dbuser); + //check for roles creation rights in postgresql + $query="SELECT 1 FROM pg_roles WHERE rolcreaterole=TRUE AND rolname='$e_user'"; + $result = pg_query($connection, $query); + if($result and pg_num_rows($result) > 0) { + //use the admin login data for the new database user + + //add prefix to the postgresql user name to prevent collisions + $dbusername='oc_'.$username; + //create a new password so we don't need to store the admin config in the config file + $dbpassword=md5(time()); + + self::pg_createDBUser($dbusername, $dbpassword, $connection); + + OC_Config::setValue('dbuser', $dbusername); + OC_Config::setValue('dbpassword', $dbpassword); + + //create the database + self::pg_createDatabase($dbname, $dbusername, $connection); + } + else { + OC_Config::setValue('dbuser', $dbuser); + OC_Config::setValue('dbpassword', $dbpass); + + //create the database + self::pg_createDatabase($dbname, $dbuser, $connection); + } + + // the connection to dbname=postgres is not needed anymore + pg_close($connection); + + // connect to the ownCloud database (dbname=$dbname) and check if it needs to be filled + $dbuser = OC_Config::getValue('dbuser'); + $dbpass = OC_Config::getValue('dbpassword'); + + $e_host = addslashes($dbhost); + $e_dbname = addslashes($dbname); + $e_user = addslashes($dbuser); + $e_password = addslashes($dbpass); + + $connection_string = "host='$e_host' dbname='$e_dbname' user='$e_user' password='$e_password'"; + $connection = @pg_connect($connection_string); + if(!$connection) { + throw new Exception('PostgreSQL username and/or password not valid'); + } + $query = "select count(*) FROM pg_class WHERE relname='{$dbtableprefix}users' limit 1"; + $result = pg_query($connection, $query); + if($result) { + $row = pg_fetch_row($result); + } + if(!$result or $row[0]==0) { + OC_DB::createDbFromStructure('db_structure.xml'); + } + } + + private static function pg_createDatabase($name, $user, $connection) { //we cant use OC_BD functions here because we need to connect as the administrative user. $e_name = pg_escape_string($name); $e_user = pg_escape_string($user); @@ -441,12 +319,14 @@ class OC_Setup { $entry.='Offending command was: '.$query.'
'; echo($entry); } + else { + $query = "REVOKE ALL PRIVILEGES ON DATABASE \"$e_name\" FROM PUBLIC"; + $result = pg_query($connection, $query); + } } - $query = "REVOKE ALL PRIVILEGES ON DATABASE \"$e_name\" FROM PUBLIC"; - $result = pg_query($connection, $query); } - private static function pg_createDBUser($name,$password,$connection) { + private static function pg_createDBUser($name, $password, $connection) { $e_name = pg_escape_string($name); $e_password = pg_escape_string($password); $query = "select * from pg_roles where rolname='$e_name';"; @@ -477,6 +357,106 @@ class OC_Setup { } } } + + private static function setupOCIDatabase($dbhost, $dbuser, $dbpass, $dbname, $dbtableprefix, $dbtablespace, $username) { + $e_host = addslashes($dbhost); + $e_dbname = addslashes($dbname); + //check if the database user has admin right + if ($e_host == '') { + $easy_connect_string = $e_dbname; // use dbname as easy connect name + } else { + $easy_connect_string = '//'.$e_host.'/'.$e_dbname; + } + $connection = @oci_connect($dbuser, $dbpass, $easy_connect_string); + if(!$connection) { + $e = oci_error(); + throw new Exception('Oracle username and/or password not valid'); + } + //check for roles creation rights in oracle + + $query="SELECT count(*) FROM user_role_privs, role_sys_privs WHERE user_role_privs.granted_role = role_sys_privs.role AND privilege = 'CREATE ROLE'"; + $stmt = oci_parse($connection, $query); + if (!$stmt) { + $entry='DB Error: "'.oci_last_error($connection).'"
'; + $entry.='Offending command was: '.$query.'
'; + echo($entry); + } + $result = oci_execute($stmt); + if($result) { + $row = oci_fetch_row($stmt); + } + if($result and $row[0] > 0) { + //use the admin login data for the new database user + + //add prefix to the oracle user name to prevent collisions + $dbusername='oc_'.$username; + //create a new password so we don't need to store the admin config in the config file + $dbpassword=md5(time().$dbpass); + + //oracle passwords are treated as identifiers: + // must start with aphanumeric char + // needs to be shortened to 30 bytes, as the two " needed to escape the identifier count towards the identifier length. + $dbpassword=substr($dbpassword, 0, 30); + + self::oci_createDBUser($dbusername, $dbpassword, $dbtablespace, $connection); + + OC_Config::setValue('dbuser', $dbusername); + OC_Config::setValue('dbname', $dbusername); + OC_Config::setValue('dbpassword', $dbpassword); + + //create the database not neccessary, oracle implies user = schema + //self::oci_createDatabase($dbname, $dbusername, $connection); + } else { + + OC_Config::setValue('dbuser', $dbuser); + OC_Config::setValue('dbname', $dbname); + OC_Config::setValue('dbpassword', $dbpass); + + //create the database not neccessary, oracle implies user = schema + //self::oci_createDatabase($dbname, $dbuser, $connection); + } + + //FIXME check tablespace exists: select * from user_tablespaces + + // the connection to dbname=oracle is not needed anymore + oci_close($connection); + + // connect to the oracle database (schema=$dbuser) an check if the schema needs to be filled + $dbuser = OC_Config::getValue('dbuser'); + //$dbname = OC_Config::getValue('dbname'); + $dbpass = OC_Config::getValue('dbpassword'); + + $e_host = addslashes($dbhost); + $e_dbname = addslashes($dbname); + + if ($e_host == '') { + $easy_connect_string = $e_dbname; // use dbname as easy connect name + } else { + $easy_connect_string = '//'.$e_host.'/'.$e_dbname; + } + $connection = @oci_connect($dbuser, $dbpass, $easy_connect_string); + if(!$connection) { + throw new Exception('Oracle username and/or password not valid'); + } + $query = "SELECT count(*) FROM user_tables WHERE table_name = :un"; + $stmt = oci_parse($connection, $query); + $un = $dbtableprefix.'users'; + oci_bind_by_name($stmt, ':un', $un); + if (!$stmt) { + $entry='DB Error: "'.oci_last_error($connection).'"
'; + $entry.='Offending command was: '.$query.'
'; + echo($entry); + } + $result = oci_execute($stmt); + + if($result) { + $row = oci_fetch_row($stmt); + } + if(!$result or $row[0]==0) { + OC_DB::createDbFromStructure('db_structure.xml'); + } + } + /** * * @param String $name @@ -555,7 +535,15 @@ class OC_Setup { * create .htaccess files for apache hosts */ private static function createHtaccess() { - $content = "ErrorDocument 403 ".OC::$WEBROOT."/core/templates/403.php\n";//custom 403 error page + $content = "\n"; + $content.= "\n"; + $content.= "\n"; + $content.= "SetEnvIfNoCase ^Authorization$ \"(.+)\" XAUTHORIZATION=$1\n"; + $content.= "RequestHeader set XAuthorization %{XAUTHORIZATION}e env=XAUTHORIZATION\n"; + $content.= "\n"; + $content.= "\n"; + $content.= "\n"; + $content.= "ErrorDocument 403 ".OC::$WEBROOT."/core/templates/403.php\n";//custom 403 error page $content.= "ErrorDocument 404 ".OC::$WEBROOT."/core/templates/404.php\n";//custom 404 error page $content.= "\n"; $content.= "php_value upload_max_filesize 512M\n";//upload limit @@ -574,9 +562,17 @@ class OC_Setup { $content.= "RewriteRule ^apps/([^/]*)/(.*\.(css|php))$ index.php?app=$1&getfile=$2 [QSA,L]\n"; $content.= "RewriteRule ^remote/(.*) remote.php [QSA,L]\n"; $content.= "\n"; + $content.= "\n"; + $content.= "AddType image/svg+xml svg svgz\n"; + $content.= "AddEncoding gzip svgz\n"; + $content.= "\n"; $content.= "Options -Indexes\n"; @file_put_contents(OC::$SERVERROOT.'/.htaccess', $content); //supress errors in case we don't have permissions for it + self::protectDataDirectory(); + } + + public static function protectDataDirectory() { $content = "deny from all\n"; $content.= "IndexIgnore *"; file_put_contents(OC_Config::getValue('datadirectory', OC::$SERVERROOT.'/data').'/.htaccess', $content); diff --git a/lib/streamwrappers.php b/lib/streamwrappers.php index 1e5b19a11f0bcba8b146fc6fc6e5c1205d0cdd2b..981c280f0ddf92a1537a5b220b17b93d9e762ccb 100644 --- a/lib/streamwrappers.php +++ b/lib/streamwrappers.php @@ -5,8 +5,8 @@ class OC_FakeDirStream{ private $name; private $index; - public function dir_opendir($path,$options) { - $this->name=substr($path,strlen('fakedir://')); + public function dir_opendir($path, $options) { + $this->name=substr($path, strlen('fakedir://')); $this->index=0; if(!isset(self::$dirs[$this->name])) { self::$dirs[$this->name]=array(); @@ -223,9 +223,9 @@ class OC_CloseStreamWrapper{ private $source; private static $open=array(); public function stream_open($path, $mode, $options, &$opened_path) { - $path=substr($path,strlen('close://')); + $path=substr($path, strlen('close://')); $this->path=$path; - $this->source=fopen($path,$mode); + $this->source=fopen($path, $mode); if(is_resource($this->source)) { $this->meta=stream_get_meta_data($this->source); } @@ -234,7 +234,7 @@ class OC_CloseStreamWrapper{ } public function stream_seek($offset, $whence=SEEK_SET) { - fseek($this->source,$offset,$whence); + fseek($this->source, $offset, $whence); } public function stream_tell() { @@ -242,23 +242,23 @@ class OC_CloseStreamWrapper{ } public function stream_read($count) { - return fread($this->source,$count); + return fread($this->source, $count); } public function stream_write($data) { - return fwrite($this->source,$data); + return fwrite($this->source, $data); } - public function stream_set_option($option,$arg1,$arg2) { + public function stream_set_option($option, $arg1, $arg2) { switch($option) { case STREAM_OPTION_BLOCKING: - stream_set_blocking($this->source,$arg1); + stream_set_blocking($this->source, $arg1); break; case STREAM_OPTION_READ_TIMEOUT: - stream_set_timeout($this->source,$arg1,$arg2); + stream_set_timeout($this->source, $arg1, $arg2); break; case STREAM_OPTION_WRITE_BUFFER: - stream_set_write_buffer($this->source,$arg1,$arg2); + stream_set_write_buffer($this->source, $arg1, $arg2); } } @@ -267,7 +267,7 @@ class OC_CloseStreamWrapper{ } public function stream_lock($mode) { - flock($this->source,$mode); + flock($this->source, $mode); } public function stream_flush() { @@ -279,7 +279,7 @@ class OC_CloseStreamWrapper{ } public function url_stat($path) { - $path=substr($path,strlen('close://')); + $path=substr($path, strlen('close://')); if(file_exists($path)) { return stat($path); }else{ @@ -290,12 +290,12 @@ class OC_CloseStreamWrapper{ public function stream_close() { fclose($this->source); if(isset(self::$callBacks[$this->path])) { - call_user_func(self::$callBacks[$this->path],$this->path); + call_user_func(self::$callBacks[$this->path], $this->path); } } public function unlink($path) { - $path=substr($path,strlen('close://')); + $path=substr($path, strlen('close://')); return unlink($path); } } diff --git a/lib/template.php b/lib/template.php index 1c529932a3018904313e843644f172d50d5c57c7..04667d73a2c46f5de9a03944b430907005c4a972 100644 --- a/lib/template.php +++ b/lib/template.php @@ -21,6 +21,22 @@ * */ +/** + * Prints an XSS escaped string + * @param string $string the string which will be escaped and printed + */ +function p($string) { + print(OC_Util::sanitizeHTML($string)); +} + +/** + * Prints an unescaped string + * @param string $string the string which will be printed as it is + */ +function print_unescaped($string) { + print($string); +} + /** * @brief make OC_Helper::linkTo available as a simple function * @param string $app app @@ -69,7 +85,7 @@ function human_file_size( $bytes ) { } function simple_file_size($bytes) { - $mbytes = round($bytes/(1024*1024),1); + $mbytes = round($bytes/(1024*1024), 1); if($bytes == 0) { return '0'; } else if($mbytes < 0.1) { return '< 0.1'; } else if($mbytes > 1000) { return '> 1000'; } @@ -86,14 +102,14 @@ function relative_modified_date($timestamp) { if($timediff < 60) { return $l->t('seconds ago'); } else if($timediff < 120) { return $l->t('1 minute ago'); } - else if($timediff < 3600) { return $l->t('%d minutes ago',$diffminutes); } - //else if($timediff < 7200) { return '1 hour ago'; } - //else if($timediff < 86400) { return $diffhours.' hours ago'; } + else if($timediff < 3600) { return $l->t('%d minutes ago', $diffminutes); } + else if($timediff < 7200) { return $l->t('1 hour ago'); } + else if($timediff < 86400) { return $l->t('%d hours ago', $diffhours); } else if((date('G')-$diffhours) > 0) { return $l->t('today'); } else if((date('G')-$diffhours) > -24) { return $l->t('yesterday'); } - else if($timediff < 2678400) { return $l->t('%d days ago',$diffdays); } + else if($timediff < 2678400) { return $l->t('%d days ago', $diffdays); } else if($timediff < 5184000) { return $l->t('last month'); } - else if((date('n')-$diffmonths) > 0) { return $l->t('months ago'); } + else if((date('n')-$diffmonths) > 0) { return $l->t('%d months ago', $diffmonths); } else if($timediff < 63113852) { return $l->t('last year'); } else { return $l->t('years ago'); } } @@ -156,7 +172,6 @@ class OC_Template{ $this->application = $app; $this->vars = array(); $this->vars['requesttoken'] = OC_Util::callRegister(); - $this->vars['requestlifespan'] = OC_Util::$callLifespan; $parts = explode('/', $app); // fix translation when app is something like core/lostpassword $this->l10n = OC_L10N::get($parts[0]); @@ -180,11 +195,11 @@ class OC_Template{ public static function detectFormfactor() { // please add more useragent strings for other devices if(isset($_SERVER['HTTP_USER_AGENT'])) { - if(stripos($_SERVER['HTTP_USER_AGENT'],'ipad')>0) { + if(stripos($_SERVER['HTTP_USER_AGENT'], 'ipad')>0) { $mode='tablet'; - }elseif(stripos($_SERVER['HTTP_USER_AGENT'],'iphone')>0) { + }elseif(stripos($_SERVER['HTTP_USER_AGENT'], 'iphone')>0) { $mode='mobile'; - }elseif((stripos($_SERVER['HTTP_USER_AGENT'],'N9')>0) and (stripos($_SERVER['HTTP_USER_AGENT'],'nokia')>0)) { + }elseif((stripos($_SERVER['HTTP_USER_AGENT'], 'N9')>0) and (stripos($_SERVER['HTTP_USER_AGENT'], 'nokia')>0)) { $mode='mobile'; }else{ $mode='default'; @@ -341,7 +356,7 @@ class OC_Template{ * @param string $text the text content for the element */ public function addHeader( $tag, $attributes, $text='') { - $this->headers[]=array('tag'=>$tag,'attributes'=>$attributes,'text'=>$text); + $this->headers[]=array('tag'=>$tag,'attributes'=>$attributes, 'text'=>$text); } /** @@ -375,13 +390,12 @@ class OC_Template{ $page = new OC_TemplateLayout($this->renderas); if($this->renderas == 'user') { $page->assign('requesttoken', $this->vars['requesttoken']); - $page->assign('requestlifespan', $this->vars['requestlifespan']); } // Add custom headers - $page->assign('headers',$this->headers, false); + $page->assign('headers', $this->headers, false); foreach(OC_Util::$headers as $header) { - $page->append('headers',$header); + $page->append('headers', $header); } $page->assign( "content", $data, false ); @@ -405,7 +419,7 @@ class OC_Template{ // Execute the template ob_start(); - include( $this->template ); // <-- we have to use include because we pass $_! + include $this->template; // <-- we have to use include because we pass $_! $data = ob_get_contents(); @ob_end_clean(); @@ -430,7 +444,7 @@ class OC_Template{ // Include ob_start(); - include( $this->path.$file.'.php' ); + include $this->path.$file.'.php'; $data = ob_get_contents(); @ob_end_clean(); @@ -482,4 +496,15 @@ class OC_Template{ } return $content->printPage(); } + + /** + * @brief Print a fatal error page and terminates the script + * @param string $error The error message to show + * @param string $hint An option hint message + */ + public static function printErrorPage( $error_msg, $hint = '' ) { + $errors = array(array('error' => $error_msg, 'hint' => $hint)); + OC_Template::printGuestPage("", "error", array("errors" => $errors)); + die(); + } } diff --git a/lib/templatelayout.php b/lib/templatelayout.php index 4f26775b48e149286cd36af8443f829106100dd7..1a0570a270d617b4a3d2cb82a6b033aa25f5ced7 100644 --- a/lib/templatelayout.php +++ b/lib/templatelayout.php @@ -12,10 +12,10 @@ class OC_TemplateLayout extends OC_Template { if( $renderas == 'user' ) { parent::__construct( 'core', 'layout.user' ); - if(in_array(OC_APP::getCurrentApp(),array('settings','admin','help'))!==false) { - $this->assign('bodyid','body-settings', false); + if(in_array(OC_APP::getCurrentApp(), array('settings','admin', 'help'))!==false) { + $this->assign('bodyid', 'body-settings', false); }else{ - $this->assign('bodyid','body-user', false); + $this->assign('bodyid', 'body-user', false); } // Add navigation entry @@ -38,7 +38,7 @@ class OC_TemplateLayout extends OC_Template { foreach(OC_App::getEnabledApps() as $app) { $apps_paths[$app] = OC_App::getAppWebPath($app); } - $this->assign( 'apps_paths', str_replace('\\/', '/',json_encode($apps_paths)),false ); // Ugly unescape slashes waiting for better solution + $this->assign( 'apps_paths', str_replace('\\/', '/', json_encode($apps_paths)), false ); // Ugly unescape slashes waiting for better solution if (OC_Config::getValue('installed', false) && !OC_AppConfig::getValue('core', 'remote_core.css', false)) { OC_AppConfig::setValue('core', 'remote_core.css', '/core/minimizer.php'); @@ -49,7 +49,7 @@ class OC_TemplateLayout extends OC_Template { $jsfiles = self::findJavascriptFiles(OC_Util::$scripts); $this->assign('jsfiles', array(), false); if (!empty(OC_Util::$core_scripts)) { - $this->append( 'jsfiles', OC_Helper::linkToRemote('core.js', false)); + $this->append( 'jsfiles', OC_Helper::linkToRemoteBase('core.js', false)); } foreach($jsfiles as $info) { $root = $info[0]; @@ -62,7 +62,7 @@ class OC_TemplateLayout extends OC_Template { $cssfiles = self::findStylesheetFiles(OC_Util::$styles); $this->assign('cssfiles', array()); if (!empty(OC_Util::$core_styles)) { - $this->append( 'cssfiles', OC_Helper::linkToRemote('core.css', false)); + $this->append( 'cssfiles', OC_Helper::linkToRemoteBase('core.css', false)); } foreach($cssfiles as $info) { $root = $info[0]; diff --git a/lib/updater.php b/lib/updater.php index cb22da4f906de487ec33d959c023b958a39d0554..11081eded639935b27411b0edebee1d271763fa9 100644 --- a/lib/updater.php +++ b/lib/updater.php @@ -29,8 +29,8 @@ class OC_Updater{ * Check if a new version is available */ public static function check() { - OC_Appconfig::setValue('core', 'lastupdatedat',microtime(true)); - if(OC_Appconfig::getValue('core', 'installedat','')=='') OC_Appconfig::setValue('core', 'installedat',microtime(true)); + OC_Appconfig::setValue('core', 'lastupdatedat', microtime(true)); + if(OC_Appconfig::getValue('core', 'installedat', '')=='') OC_Appconfig::setValue('core', 'installedat', microtime(true)); $updaterurl='http://apps.owncloud.com/updater.php'; $version=OC_Util::getVersion(); @@ -38,7 +38,7 @@ class OC_Updater{ $version['updated']=OC_Appconfig::getValue('core', 'lastupdatedat'); $version['updatechannel']='stable'; $version['edition']=OC_Util::getEditionString(); - $versionstring=implode('x',$version); + $versionstring=implode('x', $version); //fetch xml data from updater $url=$updaterurl.'?version='.$versionstring; @@ -52,7 +52,7 @@ class OC_Updater{ ) ); $xml=@file_get_contents($url, 0, $ctx); - if($xml==FALSE) { + if($xml==false) { return array(); } $data=@simplexml_load_string($xml); @@ -72,7 +72,7 @@ class OC_Updater{ if(OC_Config::getValue('updatechecker', true)==true) { $data=OC_Updater::check(); if(isset($data['version']) and $data['version']<>'') { - $txt=''.$l->t('%s is available. Get more information',array($data['versionstring'], $data['web'])).''; + $txt=''.$l->t('%s is available. Get more information', array($data['versionstring'], $data['web'])).''; }else{ $txt=$l->t('up to date'); } diff --git a/lib/user.php b/lib/user.php index 538a9002bba5eba4600f58d618700f365b071e41..94ea899b8418041914e6df6f4f855b2a8a366738 100644 --- a/lib/user.php +++ b/lib/user.php @@ -86,8 +86,9 @@ class OC_User { */ public static function useBackend( $backend = 'database' ) { if($backend instanceof OC_User_Interface) { + OC_Log::write('core', 'Adding user backend instance of '.get_class($backend).'.', OC_Log::DEBUG); self::$_usedBackends[get_class($backend)]=$backend; - }else{ + } else { // You'll never know what happens if( null === $backend OR !is_string( $backend )) { $backend = 'database'; @@ -98,15 +99,17 @@ class OC_User { case 'database': case 'mysql': case 'sqlite': + OC_Log::write('core', 'Adding user backend '.$backend.'.', OC_Log::DEBUG); self::$_usedBackends[$backend] = new OC_User_Database(); break; default: + OC_Log::write('core', 'Adding default user backend '.$backend.'.', OC_Log::DEBUG); $className = 'OC_USER_' . strToUpper($backend); self::$_usedBackends[$backend] = new $className(); break; } } - true; + return true; } /** @@ -120,20 +123,24 @@ class OC_User { * setup the configured backends in config.php */ public static function setupBackends() { - $backends=OC_Config::getValue('user_backends',array()); + $backends=OC_Config::getValue('user_backends', array()); foreach($backends as $i=>$config) { $class=$config['class']; $arguments=$config['arguments']; - if(class_exists($class) and array_search($i,self::$_setupedBackends)===false) { - // make a reflection object - $reflectionObj = new ReflectionClass($class); - - // use Reflection to create a new instance, using the $args - $backend = $reflectionObj->newInstanceArgs($arguments); - self::useBackend($backend); - $_setupedBackends[]=$i; - }else{ - OC_Log::write('core','User backend '.$class.' not found.',OC_Log::ERROR); + if(class_exists($class)) { + if(array_search($i, self::$_setupedBackends)===false) { + // make a reflection object + $reflectionObj = new ReflectionClass($class); + + // use Reflection to create a new instance, using the $args + $backend = $reflectionObj->newInstanceArgs($arguments); + self::useBackend($backend); + $_setupedBackends[]=$i; + } else { + OC_Log::write('core', 'User backend '.$class.' already initialized.', OC_Log::DEBUG); + } + } else { + OC_Log::write('core', 'User backend '.$class.' not found.', OC_Log::ERROR); } } } @@ -179,10 +186,10 @@ class OC_User { if(!$backend->implementsActions(OC_USER_BACKEND_CREATE_USER)) continue; - $backend->createUser($uid,$password); + $backend->createUser($uid, $password); OC_Hook::emit( "OC_User", "post_createUser", array( "uid" => $uid, "password" => $password )); - return true; + return self::userExists($uid); } } return false; @@ -204,12 +211,19 @@ class OC_User { foreach(self::$_usedBackends as $backend) { $backend->deleteUser($uid); } + if (self::userExists($uid)) { + return false; + } // We have to delete the user from all groups foreach( OC_Group::getUserGroups( $uid ) as $i ) { OC_Group::removeFromGroup( $uid, $i ); } // Delete the user's keys in preferences OC_Preferences::deleteUser($uid); + + // Delete user files in /data/ + OC_Helper::rmdirr(OC_Config::getValue( "datadirectory", OC::$SERVERROOT."/data" ) . '/'.$uid.'/'); + // Emit and exit OC_Hook::emit( "OC_User", "post_deleteUser", array( "uid" => $uid )); return true; @@ -309,11 +323,12 @@ class OC_User { } /** - * @brief Change the password of a user - * @param string $uid The username - * @param string $password The new password - * @returns bool - * @note Emit hooks: pre_setPassword, post_setPassword + * @brief Set password + * @param $uid The username + * @param $password The new password + * @returns true/false + * + * Change the password of a user */ public static function setPassword( $uid, $password ) { $run = true; @@ -324,7 +339,7 @@ class OC_User { foreach(self::$_usedBackends as $backend) { if($backend->implementsActions(OC_USER_BACKEND_SET_PASSWORD)) { if($backend->userExists($uid)) { - $success |= $backend->setPassword($uid,$password); + $success |= $backend->setPassword($uid, $password); } } } @@ -332,7 +347,8 @@ class OC_User { OC_Preferences::deleteApp($uid, 'login_token'); OC_Hook::emit( "OC_User", "post_setPassword", array( "uid" => $uid, "password" => $password )); return $success; - } else { + } + else{ return false; } } @@ -363,8 +379,7 @@ class OC_User { * @param $password The password * @returns string * - * Check if the password is correct without logging in the user - * returns the user id or false + * returns the path to the users home directory */ public static function getHome($uid) { foreach(self::$_usedBackends as $backend) { @@ -485,8 +500,8 @@ class OC_User { unset($_COOKIE["oc_username"]); unset($_COOKIE["oc_token"]); unset($_COOKIE["oc_remember_login"]); - setcookie("oc_username", NULL, -1); - setcookie("oc_token", NULL, -1); - setcookie("oc_remember_login", NULL, -1); + setcookie("oc_username", null, -1); + setcookie("oc_token", null, -1); + setcookie("oc_remember_login", null, -1); } } diff --git a/lib/user/database.php b/lib/user/database.php index 25e24fcf7e4085fdf6c1bf2c546642b145657a9d..f33e338e2e4919a0cf8c84d514f6e84e800f82b3 100644 --- a/lib/user/database.php +++ b/lib/user/database.php @@ -48,7 +48,7 @@ class OC_User_Database extends OC_User_Backend { if(!self::$hasher) { //we don't want to use DES based crypt(), since it doesn't return a has with a recognisable prefix $forcePortable=(CRYPT_BLOWFISH!=1); - self::$hasher=new PasswordHash(8,$forcePortable); + self::$hasher=new PasswordHash(8, $forcePortable); } return self::$hasher; @@ -137,7 +137,7 @@ class OC_User_Database extends OC_User_Backend { }else{//old sha1 based hashing if(sha1($password)==$storedHash) { //upgrade to new hashing - $this->setPassword($row['uid'],$password); + $this->setPassword($row['uid'], $password); return $row['uid']; }else{ return false; @@ -155,7 +155,7 @@ class OC_User_Database extends OC_User_Backend { * Get a list of all users. */ public function getUsers($search = '', $limit = null, $offset = null) { - $query = OC_DB::prepare('SELECT `uid` FROM `*PREFIX*users` WHERE LOWER(`uid`) LIKE LOWER(?)',$limit,$offset); + $query = OC_DB::prepare('SELECT `uid` FROM `*PREFIX*users` WHERE LOWER(`uid`) LIKE LOWER(?)', $limit, $offset); $result = $query->execute(array($search.'%')); $users = array(); while ($row = $result->fetchRow()) { @@ -172,7 +172,10 @@ class OC_User_Database extends OC_User_Backend { public function userExists($uid) { $query = OC_DB::prepare( 'SELECT * FROM `*PREFIX*users` WHERE LOWER(`uid`) = LOWER(?)' ); $result = $query->execute( array( $uid )); - + if (OC_DB::isError($result)) { + OC_Log::write('core', OC_DB::getErrorMessage($result), OC_Log::ERROR); + return false; + } return $result->numRows() > 0; } diff --git a/lib/user/http.php b/lib/user/http.php index 2668341408daaea973fdf47d33fb97a9ceaccfa5..944ede73a0b3a2188c7fbc446e16f09317bb362d 100644 --- a/lib/user/http.php +++ b/lib/user/http.php @@ -40,7 +40,7 @@ class OC_User_HTTP extends OC_User_Backend { if(isset($parts['query'])) { $url.='?'.$parts['query']; } - return array($parts['user'],$url); + return array($parts['user'], $url); } @@ -50,7 +50,7 @@ class OC_User_HTTP extends OC_User_Backend { * @return boolean */ private function matchUrl($url) { - return ! is_null(parse_url($url,PHP_URL_USER)); + return ! is_null(parse_url($url, PHP_URL_USER)); } /** @@ -66,7 +66,7 @@ class OC_User_HTTP extends OC_User_Backend { if(!$this->matchUrl($uid)) { return false; } - list($user,$url)=$this->parseUrl($uid); + list($user, $url)=$this->parseUrl($uid); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); diff --git a/lib/util.php b/lib/util.php index 5771b89f2656543c55db5abb7dff0d70c3ad5aa4..34c4d4f9b116317159dea7c5efeb89bb000cf7ec 100755 --- a/lib/util.php +++ b/lib/util.php @@ -24,6 +24,11 @@ class OC_Util { $user = OC_User::getUser(); } + // load all filesystem apps before, so no setup-hook gets lost + if(!isset($RUNTIME_NOAPPS) || !$RUNTIME_NOAPPS) { + OC_App::loadApps(array('filesystem')); + } + // the filesystem will finish when $user is not empty, // mark fs setup here to avoid doing the setup from loading // OC_Filesystem @@ -34,7 +39,7 @@ class OC_Util { $CONFIG_DATADIRECTORY = OC_Config::getValue( "datadirectory", OC::$SERVERROOT."/data" ); //first set up the local "root" storage if(!self::$rootMounted) { - OC_Filesystem::mount('OC_Filestorage_Local',array('datadir'=>$CONFIG_DATADIRECTORY),'/'); + OC_Filesystem::mount('OC_Filestorage_Local', array('datadir'=>$CONFIG_DATADIRECTORY), '/'); self::$rootMounted=true; } @@ -47,27 +52,13 @@ class OC_Util { } //jail the user into his "home" directory OC_Filesystem::mount('OC_Filestorage_Local', array('datadir' => $user_root), $user); - OC_Filesystem::init($user_dir); + OC_Filesystem::init($user_dir, $user); $quotaProxy=new OC_FileProxy_Quota(); $fileOperationProxy = new OC_FileProxy_FileOperations(); OC_FileProxy::register($quotaProxy); OC_FileProxy::register($fileOperationProxy); // Load personal mount config - if (is_file($user_root.'/mount.php')) { - $mountConfig = include($user_root.'/mount.php'); - if (isset($mountConfig['user'][$user])) { - foreach ($mountConfig['user'][$user] as $mountPoint => $options) { - OC_Filesystem::mount($options['class'], $options['options'], $mountPoint); - } - } - - $mtime=filemtime($user_root.'/mount.php'); - $previousMTime=OC_Preferences::getValue($user,'files','mountconfigmtime',0); - if($mtime>$previousMTime) {//mount config has changed, filecache needs to be updated - OC_FileCache::triggerUpdate($user); - OC_Preferences::setValue($user,'files','mountconfigmtime',$mtime); - } - } + self::loadUserMountPoints($user); OC_Hook::emit('OC_Filesystem', 'setup', array('user' => $user, 'user_dir' => $user_dir)); } } @@ -77,13 +68,34 @@ class OC_Util { self::$fsSetup=false; } + public static function loadUserMountPoints($user) { + $user_dir = '/'.$user.'/files'; + $user_root = OC_User::getHome($user); + $userdirectory = $user_root . '/files'; + if (is_file($user_root.'/mount.php')) { + $mountConfig = include $user_root.'/mount.php'; + if (isset($mountConfig['user'][$user])) { + foreach ($mountConfig['user'][$user] as $mountPoint => $options) { + OC_Filesystem::mount($options['class'], $options['options'], $mountPoint); + } + } + + $mtime=filemtime($user_root.'/mount.php'); + $previousMTime=OC_Preferences::getValue($user, 'files', 'mountconfigmtime', 0); + if($mtime>$previousMTime) {//mount config has changed, filecache needs to be updated + OC_FileCache::triggerUpdate($user); + OC_Preferences::setValue($user, 'files', 'mountconfigmtime', $mtime); + } + } + } + /** * get the current installed version of ownCloud * @return array */ public static function getVersion() { // hint: We only can count up. So the internal version number of ownCloud 4.5 will be 4.90.0. This is not visible to the user - return array(4,91,00); + return array(4, 91, 02); } /** @@ -145,7 +157,7 @@ class OC_Util { * @param string $text the text content for the element */ public static function addHeader( $tag, $attributes, $text='') { - self::$headers[]=array('tag'=>$tag,'attributes'=>$attributes,'text'=>$text); + self::$headers[]=array('tag'=>$tag,'attributes'=>$attributes, 'text'=>$text); } /** @@ -154,16 +166,16 @@ class OC_Util { * @param int timestamp $timestamp * @param bool dateOnly option to ommit time from the result */ - public static function formatDate( $timestamp,$dateOnly=false) { + public static function formatDate( $timestamp, $dateOnly=false) { if(isset($_SESSION['timezone'])) {//adjust to clients timezone if we know it $systemTimeZone = intval(date('O')); - $systemTimeZone=(round($systemTimeZone/100,0)*60)+($systemTimeZone%100); + $systemTimeZone=(round($systemTimeZone/100, 0)*60)+($systemTimeZone%100); $clientTimeZone=$_SESSION['timezone']*60; $offset=$clientTimeZone-$systemTimeZone; $timestamp=$timestamp+$offset*60; } - $timeformat=$dateOnly?'F j, Y':'F j, Y, H:i'; - return date($timeformat,$timestamp); + $l=OC_L10N::get('lib'); + return $l->l($dateOnly ? 'date' : 'datetime', $timestamp); } /** @@ -174,7 +186,7 @@ class OC_Util { * @param string $url * @return OC_Template */ - public static function getPageNavi($pagecount,$page,$url) { + public static function getPageNavi($pagecount, $page, $url) { $pagelinkcount=8; if ($pagecount>1) { @@ -184,11 +196,11 @@ class OC_Util { if($pagestop>$pagecount) $pagestop=$pagecount; $tmpl = new OC_Template( '', 'part.pagenavi', '' ); - $tmpl->assign('page',$page); - $tmpl->assign('pagecount',$pagecount); - $tmpl->assign('pagestart',$pagestart); - $tmpl->assign('pagestop',$pagestop); - $tmpl->assign('url',$url); + $tmpl->assign('page', $page); + $tmpl->assign('pagecount', $pagecount); + $tmpl->assign('pagestart', $pagestart); + $tmpl->assign('pagestop', $pagestop); + $tmpl->assign('url', $url); return $tmpl; } } @@ -205,7 +217,7 @@ class OC_Util { $web_server_restart= false; //check for database drivers if(!(is_callable('sqlite_open') or class_exists('SQLite3')) and !is_callable('mysql_connect') and !is_callable('pg_connect')) { - $errors[]=array('error'=>'No database drivers (sqlite, mysql, or postgresql) installed.
','hint'=>'');//TODO: sane hint + $errors[]=array('error'=>'No database drivers (sqlite, mysql, or postgresql) installed.
', 'hint'=>'');//TODO: sane hint $web_server_restart= true; } @@ -214,13 +226,13 @@ class OC_Util { // Check if config folder is writable. if(!is_writable(OC::$SERVERROOT."/config/") or !is_readable(OC::$SERVERROOT."/config/")) { - $errors[]=array('error'=>"Can't write into config directory 'config'",'hint'=>"You can usually fix this by giving the webserver user write access to the config directory in owncloud"); + $errors[]=array('error'=>"Can't write into config directory 'config'", 'hint'=>"You can usually fix this by giving the webserver user write access to the config directory in owncloud"); } // Check if there is a writable install folder. if(OC_Config::getValue('appstoreenabled', true)) { if( OC_App::getInstallPath() === null || !is_writable(OC_App::getInstallPath()) || !is_readable(OC_App::getInstallPath()) ) { - $errors[]=array('error'=>"Can't write into apps directory",'hint'=>"You can usually fix this by giving the webserver user write access to the apps directory + $errors[]=array('error'=>"Can't write into apps directory", 'hint'=>"You can usually fix this by giving the webserver user write access to the apps directory in owncloud or disabling the appstore in the config file."); } } @@ -229,24 +241,24 @@ class OC_Util { //check for correct file permissions if(!stristr(PHP_OS, 'WIN')) { $permissionsModHint="Please change the permissions to 0770 so that the directory cannot be listed by other users."; - $prems=substr(decoct(@fileperms($CONFIG_DATADIRECTORY)),-3); - if(substr($prems,-1)!='0') { - OC_Helper::chmodr($CONFIG_DATADIRECTORY,0770); + $prems=substr(decoct(@fileperms($CONFIG_DATADIRECTORY)), -3); + if(substr($prems, -1)!='0') { + OC_Helper::chmodr($CONFIG_DATADIRECTORY, 0770); clearstatcache(); - $prems=substr(decoct(@fileperms($CONFIG_DATADIRECTORY)),-3); - if(substr($prems,2,1)!='0') { - $errors[]=array('error'=>'Data directory ('.$CONFIG_DATADIRECTORY.') is readable for other users
','hint'=>$permissionsModHint); + $prems=substr(decoct(@fileperms($CONFIG_DATADIRECTORY)), -3); + if(substr($prems, 2, 1)!='0') { + $errors[]=array('error'=>'Data directory ('.$CONFIG_DATADIRECTORY.') is readable for other users
', 'hint'=>$permissionsModHint); } } if( OC_Config::getValue( "enablebackup", false )) { $CONFIG_BACKUPDIRECTORY = OC_Config::getValue( "backupdirectory", OC::$SERVERROOT."/backup" ); - $prems=substr(decoct(@fileperms($CONFIG_BACKUPDIRECTORY)),-3); - if(substr($prems,-1)!='0') { - OC_Helper::chmodr($CONFIG_BACKUPDIRECTORY,0770); + $prems=substr(decoct(@fileperms($CONFIG_BACKUPDIRECTORY)), -3); + if(substr($prems, -1)!='0') { + OC_Helper::chmodr($CONFIG_BACKUPDIRECTORY, 0770); clearstatcache(); - $prems=substr(decoct(@fileperms($CONFIG_BACKUPDIRECTORY)),-3); - if(substr($prems,2,1)!='0') { - $errors[]=array('error'=>'Data directory ('.$CONFIG_BACKUPDIRECTORY.') is readable for other users
','hint'=>$permissionsModHint); + $prems=substr(decoct(@fileperms($CONFIG_BACKUPDIRECTORY)), -3); + if(substr($prems, 2, 1)!='0') { + $errors[]=array('error'=>'Data directory ('.$CONFIG_BACKUPDIRECTORY.') is readable for other users
', 'hint'=>$permissionsModHint); } } } @@ -257,54 +269,57 @@ class OC_Util { if(!is_dir($CONFIG_DATADIRECTORY)) { $success=@mkdir($CONFIG_DATADIRECTORY); if(!$success) { - $errors[]=array('error'=>"Can't create data directory (".$CONFIG_DATADIRECTORY.")",'hint'=>"You can usually fix this by giving the webserver write access to the ownCloud directory '".OC::$SERVERROOT."' (in a terminal, use the command 'chown -R www-data:www-data /path/to/your/owncloud/install/data' "); + $errors[]=array('error'=>"Can't create data directory (".$CONFIG_DATADIRECTORY.")", 'hint'=>"You can usually fix this by giving the webserver write access to the ownCloud directory '".OC::$SERVERROOT."' (in a terminal, use the command 'chown -R www-data:www-data /path/to/your/owncloud/install/data' "); } } else if(!is_writable($CONFIG_DATADIRECTORY) or !is_readable($CONFIG_DATADIRECTORY)) { - $errors[]=array('error'=>'Data directory ('.$CONFIG_DATADIRECTORY.') not writable by ownCloud
','hint'=>$permissionsHint); + $errors[]=array('error'=>'Data directory ('.$CONFIG_DATADIRECTORY.') not writable by ownCloud
', 'hint'=>$permissionsHint); } // check if all required php modules are present if(!class_exists('ZipArchive')) { - $errors[]=array('error'=>'PHP module zip not installed.
','hint'=>'Please ask your server administrator to install the module.'); + $errors[]=array('error'=>'PHP module zip not installed.
', 'hint'=>'Please ask your server administrator to install the module.'); $web_server_restart= false; } if(!function_exists('mb_detect_encoding')) { - $errors[]=array('error'=>'PHP module mb multibyte not installed.
','hint'=>'Please ask your server administrator to install the module.'); + $errors[]=array('error'=>'PHP module mb multibyte not installed.
', 'hint'=>'Please ask your server administrator to install the module.'); $web_server_restart= false; } if(!function_exists('ctype_digit')) { - $errors[]=array('error'=>'PHP module ctype is not installed.
','hint'=>'Please ask your server administrator to install the module.'); + $errors[]=array('error'=>'PHP module ctype is not installed.
', 'hint'=>'Please ask your server administrator to install the module.'); $web_server_restart= false; } if(!function_exists('json_encode')) { - $errors[]=array('error'=>'PHP module JSON is not installed.
','hint'=>'Please ask your server administrator to install the module.'); + $errors[]=array('error'=>'PHP module JSON is not installed.
', 'hint'=>'Please ask your server administrator to install the module.'); $web_server_restart= false; } if(!function_exists('imagepng')) { - $errors[]=array('error'=>'PHP module GD is not installed.
','hint'=>'Please ask your server administrator to install the module.'); + $errors[]=array('error'=>'PHP module GD is not installed.
', 'hint'=>'Please ask your server administrator to install the module.'); $web_server_restart= false; } if(!function_exists('gzencode')) { - $errors[]=array('error'=>'PHP module zlib is not installed.
','hint'=>'Please ask your server administrator to install the module.'); + $errors[]=array('error'=>'PHP module zlib is not installed.
', 'hint'=>'Please ask your server administrator to install the module.'); + $web_server_restart= false; + } + if(!function_exists('iconv')) { + $errors[]=array('error'=>'PHP module iconv is not installed.
', 'hint'=>'Please ask your server administrator to install the module.'); $web_server_restart= false; } - if(!function_exists('simplexml_load_string')) { - $errors[]=array('error'=>'PHP module SimpleXML is not installed.
','hint'=>'Please ask your server administrator to install the module.'); + $errors[]=array('error'=>'PHP module SimpleXML is not installed.
', 'hint'=>'Please ask your server administrator to install the module.'); $web_server_restart= false; } if(floatval(phpversion())<5.3) { - $errors[]=array('error'=>'PHP 5.3 is required.
','hint'=>'Please ask your server administrator to update PHP to version 5.3 or higher. PHP 5.2 is no longer supported by ownCloud and the PHP community.'); + $errors[]=array('error'=>'PHP 5.3 is required.
', 'hint'=>'Please ask your server administrator to update PHP to version 5.3 or higher. PHP 5.2 is no longer supported by ownCloud and the PHP community.'); $web_server_restart= false; } if(!defined('PDO::ATTR_DRIVER_NAME')) { - $errors[]=array('error'=>'PHP PDO module is not installed.
','hint'=>'Please ask your server administrator to install the module.'); + $errors[]=array('error'=>'PHP PDO module is not installed.
', 'hint'=>'Please ask your server administrator to install the module.'); $web_server_restart= false; } if($web_server_restart) { - $errors[]=array('error'=>'PHP modules have been installed, but they are still listed as missing?
','hint'=>'Please ask your server administrator to restart the web server.'); + $errors[]=array('error'=>'PHP modules have been installed, but they are still listed as missing?
', 'hint'=>'Please ask your server administrator to restart the web server.'); } return $errors; @@ -325,10 +340,8 @@ class OC_Util { } if (isset($_REQUEST['redirect_url'])) { $redirect_url = OC_Util::sanitizeHTML($_REQUEST['redirect_url']); - } else { - $redirect_url = $_SERVER['REQUEST_URI']; - } - $parameters['redirect_url'] = $redirect_url; + $parameters['redirect_url'] = urlencode($redirect_url); + } OC_Template::printGuestPage("", "login", $parameters); } @@ -376,7 +389,7 @@ class OC_Util { // Check if we are a user self::checkLoggedIn(); self::verifyUser(); - if(OC_Group::inGroup(OC_User::getUser(),'admin')) { + if(OC_Group::inGroup(OC_User::getUser(), 'admin')) { return true; } if(!OC_SubAdmin::isSubAdmin(OC_User::getUser())) { @@ -391,7 +404,7 @@ class OC_Util { * If not, the user will be shown a password verification page */ public static function verifyUser() { - if(OC_Config::getValue('enhancedauth', true) === true) { + if(OC_Config::getValue('enhancedauth', false) === true) { // Check password to set session if(isset($_POST['password'])) { if (OC_User::login(OC_User::getUser(), $_POST["password"] ) === true) { @@ -412,20 +425,20 @@ class OC_Util { * @return bool */ public static function isUserVerified() { - if(OC_Config::getValue('enhancedauth', true) === true) { + if(OC_Config::getValue('enhancedauth', false) === true) { if(!isset($_SESSION['verifiedLogin']) OR $_SESSION['verifiedLogin'] < time()) { return false; } - return true; } + return true; } - + /** * Redirect to the user default page */ public static function redirectToDefaultPage() { - if(isset($_REQUEST['redirect_url']) && (substr($_REQUEST['redirect_url'], 0, strlen(OC::$WEBROOT)) == OC::$WEBROOT || $_REQUEST['redirect_url'][0] == '/')) { - $location = $_REQUEST['redirect_url']; + if(isset($_REQUEST['redirect_url'])) { + $location = OC_Helper::makeURLAbsolute(urldecode($_REQUEST['redirect_url'])); } else if (isset(OC::$REQUESTEDAPP) && !empty(OC::$REQUESTEDAPP)) { $location = OC_Helper::linkToAbsolute( OC::$REQUESTEDAPP, 'index.php' ); @@ -449,25 +462,14 @@ class OC_Util { * @return string */ public static function getInstanceId() { - $id=OC_Config::getValue('instanceid',null); + $id=OC_Config::getValue('instanceid', null); if(is_null($id)) { $id=uniqid(); - OC_Config::setValue('instanceid',$id); + OC_Config::setValue('instanceid', $id); } return $id; } - /** - * @brief Static lifespan (in seconds) when a request token expires. - * @see OC_Util::callRegister() - * @see OC_Util::isCallRegistered() - * @description - * Also required for the client side to compute the piont in time when to - * request a fresh token. The client will do so when nearly 97% of the - * timespan coded here has expired. - */ - public static $callLifespan = 3600; // 3600 secs = 1 hour - /** * @brief Register an get/post call. Important to prevent CSRF attacks. * @todo Write howto: CSRF protection guide @@ -476,40 +478,25 @@ class OC_Util { * Creates a 'request token' (random) and stores it inside the session. * Ever subsequent (ajax) request must use such a valid token to succeed, * otherwise the request will be denied as a protection against CSRF. - * The tokens expire after a fixed lifespan. - * @see OC_Util::$callLifespan * @see OC_Util::isCallRegistered() */ public static function callRegister() { - // generate a random token. - $token = self::generate_random_bytes(20); - - // store the token together with a timestamp in the session. - $_SESSION['requesttoken-'.$token]=time(); - - // cleanup old tokens garbage collector - // only run every 20th time so we don't waste cpu cycles - if(rand(0,20)==0) { - foreach($_SESSION as $key=>$value) { - // search all tokens in the session - if(substr($key,0,12)=='requesttoken') { - // check if static lifespan has expired - if($value+self::$callLifespan array( + 'timeout' => 10 + ) + ) + ); + $data=@file_get_contents($url, 0, $ctx); + + } + + return $data; + } + } diff --git a/lib/vcategories.php b/lib/vcategories.php index 6b1d6a316f1660bcd0e218e793892041892abffe..406a4eb1074cd4b1ccf0c8a9eb5dac05748621ad 100644 --- a/lib/vcategories.php +++ b/lib/vcategories.php @@ -21,6 +21,7 @@ * */ +OC_Hook::connect('OC_User', 'post_deleteUser', 'OC_VCategories', 'post_deleteUser'); /** * Class for easy access to categories in VCARD, VEVENT, VTODO and VJOURNAL. @@ -28,50 +29,261 @@ * anything else that is either parsed from a vobject or that the user chooses * to add. * Category names are not case-sensitive, but will be saved with the case they - * are entered in. If a user already has a category 'family' for an app, and + * are entered in. If a user already has a category 'family' for a type, and * tries to add a category named 'Family' it will be silently ignored. - * NOTE: There is a limitation in that the the configvalue field in the - * preferences table is a varchar(255). */ class OC_VCategories { - const PREF_CATEGORIES_LABEL = 'extra_categories'; + /** * Categories */ private $categories = array(); - private $app = null; + /** + * Used for storing objectid/categoryname pairs while rescanning. + */ + private static $relations = array(); + + private $type = null; private $user = null; + const CATEGORY_TABLE = '*PREFIX*vcategory'; + const RELATION_TABLE = '*PREFIX*vcategory_to_object'; + + const CATEGORY_FAVORITE = '_$!!$_'; + + const FORMAT_LIST = 0; + const FORMAT_MAP = 1; + /** * @brief Constructor. - * @param $app The application identifier e.g. 'contacts' or 'calendar'. + * @param $type The type identifier e.g. 'contact' or 'event'. * @param $user The user whos data the object will operate on. This * parameter should normally be omitted but to make an app able to * update categories for all users it is made possible to provide it. * @param $defcategories An array of default categories to be used if none is stored. */ - public function __construct($app, $user=null, $defcategories=array()) { - $this->app = $app; + public function __construct($type, $user=null, $defcategories=array()) { + $this->type = $type; $this->user = is_null($user) ? OC_User::getUser() : $user; - $categories = trim(OC_Preferences::getValue($this->user, $app, self::PREF_CATEGORIES_LABEL, '')); - if ($categories) { - $categories = @unserialize($categories); + + $this->loadCategories(); + OCP\Util::writeLog('core', __METHOD__ . ', categories: ' + . print_r($this->categories, true), + OCP\Util::DEBUG + ); + + if($defcategories && count($this->categories) === 0) { + $this->addMulti($defcategories, true); + } + } + + /** + * @brief Load categories from db. + */ + private function loadCategories() { + $this->categories = array(); + $result = null; + $sql = 'SELECT `id`, `category` FROM `' . self::CATEGORY_TABLE . '` ' + . 'WHERE `uid` = ? AND `type` = ? ORDER BY `category`'; + try { + $stmt = OCP\DB::prepare($sql); + $result = $stmt->execute(array($this->user, $this->type)); + if (OC_DB::isError($result)) { + OC_Log::write('core', __METHOD__. 'DB error: ' . OC_DB::getErrorMessage($result), OC_Log::ERROR); + } + } catch(Exception $e) { + OCP\Util::writeLog('core', __METHOD__.', exception: '.$e->getMessage(), + OCP\Util::ERROR); + } + + if(!is_null($result)) { + while( $row = $result->fetchRow()) { + // The keys are prefixed because array_search wouldn't work otherwise :-/ + $this->categories[$row['id']] = $row['category']; + } + } + OCP\Util::writeLog('core', __METHOD__.', categories: ' . print_r($this->categories, true), + OCP\Util::DEBUG); + } + + + /** + * @brief Check if any categories are saved for this type and user. + * @returns boolean. + * @param $type The type identifier e.g. 'contact' or 'event'. + * @param $user The user whos categories will be checked. If not set current user will be used. + */ + public static function isEmpty($type, $user = null) { + $user = is_null($user) ? OC_User::getUser() : $user; + $sql = 'SELECT COUNT(*) FROM `' . self::CATEGORY_TABLE . '` ' + . 'WHERE `uid` = ? AND `type` = ?'; + try { + $stmt = OCP\DB::prepare($sql); + $result = $stmt->execute(array($user, $type)); + if (OC_DB::isError($result)) { + OC_Log::write('core', __METHOD__. 'DB error: ' . OC_DB::getErrorMessage($result), OC_Log::ERROR); + return false; + } + return ($result->numRows() == 0); + } catch(Exception $e) { + OCP\Util::writeLog('core', __METHOD__.', exception: '.$e->getMessage(), + OCP\Util::ERROR); + return false; } - $this->categories = is_array($categories) ? $categories : $defcategories; } /** * @brief Get the categories for a specific user. + * @param * @returns array containing the categories as strings. */ - public function categories() { - //OC_Log::write('core','OC_VCategories::categories: '.print_r($this->categories, true), OC_Log::DEBUG); + public function categories($format = null) { if(!$this->categories) { return array(); } - usort($this->categories, 'strnatcasecmp'); // usort to also renumber the keys - return $this->categories; + $categories = array_values($this->categories); + uasort($categories, 'strnatcasecmp'); + if($format == self::FORMAT_MAP) { + $catmap = array(); + foreach($categories as $category) { + if($category !== self::CATEGORY_FAVORITE) { + $catmap[] = array( + 'id' => $this->array_searchi($category, $this->categories), + 'name' => $category + ); + } + } + return $catmap; + } + + // Don't add favorites to normal categories. + $favpos = array_search(self::CATEGORY_FAVORITE, $categories); + if($favpos !== false) { + return array_splice($categories, $favpos); + } else { + return $categories; + } + } + + /** + * Get the a list if items belonging to $category. + * + * Throws an exception if the category could not be found. + * + * @param string|integer $category Category id or name. + * @returns array An array of object ids or false on error. + */ + public function idsForCategory($category) { + $result = null; + if(is_numeric($category)) { + $catid = $category; + } elseif(is_string($category)) { + $catid = $this->array_searchi($category, $this->categories); + } + OCP\Util::writeLog('core', __METHOD__.', category: '.$catid.' '.$category, OCP\Util::DEBUG); + if($catid === false) { + $l10n = OC_L10N::get('core'); + throw new Exception( + $l10n->t('Could not find category "%s"', $category) + ); + } + + $ids = array(); + $sql = 'SELECT `objid` FROM `' . self::RELATION_TABLE + . '` WHERE `categoryid` = ?'; + + try { + $stmt = OCP\DB::prepare($sql); + $result = $stmt->execute(array($catid)); + if (OC_DB::isError($result)) { + OC_Log::write('core', __METHOD__. 'DB error: ' . OC_DB::getErrorMessage($result), OC_Log::ERROR); + return false; + } + } catch(Exception $e) { + OCP\Util::writeLog('core', __METHOD__.', exception: '.$e->getMessage(), + OCP\Util::ERROR); + return false; + } + + if(!is_null($result)) { + while( $row = $result->fetchRow()) { + $ids[] = (int)$row['objid']; + } + } + + return $ids; + } + + /** + * Get the a list if items belonging to $category. + * + * Throws an exception if the category could not be found. + * + * @param string|integer $category Category id or name. + * @param array $tableinfo Array in the form {'tablename' => table, 'fields' => ['field1', 'field2']} + * @param int $limit + * @param int $offset + * + * This generic method queries a table assuming that the id + * field is called 'id' and the table name provided is in + * the form '*PREFIX*table_name'. + * + * If the category name cannot be resolved an exception is thrown. + * + * TODO: Maybe add the getting permissions for objects? + * + * @returns array containing the resulting items or false on error. + */ + public function itemsForCategory($category, $tableinfo, $limit = null, $offset = null) { + $result = null; + if(is_numeric($category)) { + $catid = $category; + } elseif(is_string($category)) { + $catid = $this->array_searchi($category, $this->categories); + } + OCP\Util::writeLog('core', __METHOD__.', category: '.$catid.' '.$category, OCP\Util::DEBUG); + if($catid === false) { + $l10n = OC_L10N::get('core'); + throw new Exception( + $l10n->t('Could not find category "%s"', $category) + ); + } + $fields = ''; + foreach($tableinfo['fields'] as $field) { + $fields .= '`' . $tableinfo['tablename'] . '`.`' . $field . '`,'; + } + $fields = substr($fields, 0, -1); + + $items = array(); + $sql = 'SELECT `' . self::RELATION_TABLE . '`.`categoryid`, ' . $fields + . ' FROM `' . $tableinfo['tablename'] . '` JOIN `' + . self::RELATION_TABLE . '` ON `' . $tableinfo['tablename'] + . '`.`id` = `' . self::RELATION_TABLE . '`.`objid` WHERE `' + . self::RELATION_TABLE . '`.`categoryid` = ?'; + + try { + $stmt = OCP\DB::prepare($sql, $limit, $offset); + $result = $stmt->execute(array($catid)); + if (OC_DB::isError($result)) { + OC_Log::write('core', __METHOD__. 'DB error: ' . OC_DB::getErrorMessage($result), OC_Log::ERROR); + return false; + } + } catch(Exception $e) { + OCP\Util::writeLog('core', __METHOD__.', exception: '.$e->getMessage(), + OCP\Util::ERROR); + return false; + } + + if(!is_null($result)) { + while( $row = $result->fetchRow()) { + $items[] = $row; + } + } + //OCP\Util::writeLog('core', __METHOD__.', count: ' . count($items), OCP\Util::DEBUG); + //OCP\Util::writeLog('core', __METHOD__.', sql: ' . $sql, OCP\Util::DEBUG); + + return $items; } /** @@ -84,22 +296,51 @@ class OC_VCategories { } /** - * @brief Add a new category name. + * @brief Add a new category. + * @param $name A string with a name of the category + * @returns int the id of the added category or false if it already exists. + */ + public function add($name) { + OCP\Util::writeLog('core', __METHOD__.', name: ' . $name, OCP\Util::DEBUG); + if($this->hasCategory($name)) { + OCP\Util::writeLog('core', __METHOD__.', name: ' . $name. ' exists already', OCP\Util::DEBUG); + return false; + } + OCP\DB::insertIfNotExist(self::CATEGORY_TABLE, + array( + 'uid' => $this->user, + 'type' => $this->type, + 'category' => $name, + )); + $id = OCP\DB::insertid(self::CATEGORY_TABLE); + OCP\Util::writeLog('core', __METHOD__.', id: ' . $id, OCP\Util::DEBUG); + $this->categories[$id] = $name; + return $id; + } + + /** + * @brief Add a new category. * @param $names A string with a name or an array of strings containing * the name(s) of the categor(y|ies) to add. * @param $sync bool When true, save the categories + * @param $id int Optional object id to add to this|these categor(y|ies) * @returns bool Returns false on error. */ - public function add($names, $sync=false) { + public function addMulti($names, $sync=false, $id = null) { if(!is_array($names)) { $names = array($names); } $names = array_map('trim', $names); $newones = array(); foreach($names as $name) { - if(($this->in_arrayi($name, $this->categories) == false) && $name != '') { + if(($this->in_arrayi( + $name, $this->categories) == false) && $name != '') { $newones[] = $name; } + if(!is_null($id) ) { + // Insert $objectid, $categoryid pairs if not exist. + self::$relations[] = array('objid' => $id, 'category' => $name); + } } if(count($newones) > 0) { $this->categories = array_merge($this->categories, $newones); @@ -114,8 +355,8 @@ class OC_VCategories { * @brief Extracts categories from a vobject and add the ones not already present. * @param $vobject The instance of OC_VObject to load the categories from. */ - public function loadFromVObject($vobject, $sync=false) { - $this->add($vobject->getAsArray('CATEGORIES'), $sync); + public function loadFromVObject($id, $vobject, $sync=false) { + $this->addMulti($vobject->getAsArray('CATEGORIES'), $sync, $id); } /** @@ -128,23 +369,62 @@ class OC_VCategories { * $result = $stmt->execute(); * $objects = array(); * if(!is_null($result)) { - * while( $row = $result->fetchRow()) { - * $objects[] = $row['carddata']; + * while( $row = $result->fetchRow()){ + * $objects[] = array($row['id'], $row['carddata']); * } * } * $categories->rescan($objects); */ public function rescan($objects, $sync=true, $reset=true) { + if($reset === true) { + $result = null; + // Find all objectid/categoryid pairs. + try { + $stmt = OCP\DB::prepare('SELECT `id` FROM `' . self::CATEGORY_TABLE . '` ' + . 'WHERE `uid` = ? AND `type` = ?'); + $result = $stmt->execute(array($this->user, $this->type)); + if (OC_DB::isError($result)) { + OC_Log::write('core', __METHOD__. 'DB error: ' . OC_DB::getErrorMessage($result), OC_Log::ERROR); + return false; + } + } catch(Exception $e) { + OCP\Util::writeLog('core', __METHOD__.', exception: '.$e->getMessage(), + OCP\Util::ERROR); + } + + // And delete them. + if(!is_null($result)) { + $stmt = OCP\DB::prepare('DELETE FROM `' . self::RELATION_TABLE . '` ' + . 'WHERE `categoryid` = ? AND `type`= ?'); + while( $row = $result->fetchRow()) { + $stmt->execute(array($row['id'], $this->type)); + } + } + try { + $stmt = OCP\DB::prepare('DELETE FROM `' . self::CATEGORY_TABLE . '` ' + . 'WHERE `uid` = ? AND `type` = ?'); + $result = $stmt->execute(array($this->user, $this->type)); + if (OC_DB::isError($result)) { + OC_Log::write('core', __METHOD__. 'DB error: ' . OC_DB::getErrorMessage($result), OC_Log::ERROR); + return; + } + } catch(Exception $e) { + OCP\Util::writeLog('core', __METHOD__ . ', exception: ' + . $e->getMessage(), OCP\Util::ERROR); + return; + } $this->categories = array(); } + // Parse all the VObjects foreach($objects as $object) { - //OC_Log::write('core','OC_VCategories::rescan: '.substr($object, 0, 100).'(...)', OC_Log::DEBUG); - $vobject = OC_VObject::parse($object); + $vobject = OC_VObject::parse($object[1]); if(!is_null($vobject)) { - $this->loadFromVObject($vobject, $sync); + // Load the categories + $this->loadFromVObject($object[0], $vobject, $sync); } else { - OC_Log::write('core','OC_VCategories::rescan, unable to parse. ID: '.', '.substr($object, 0, 100).'(...)', OC_Log::DEBUG); + OC_Log::write('core', __METHOD__ . ', unable to parse. ID: ' . ', ' + . substr($object, 0, 100) . '(...)', OC_Log::DEBUG); } } $this->save(); @@ -155,15 +435,223 @@ class OC_VCategories { */ private function save() { if(is_array($this->categories)) { - usort($this->categories, 'strnatcasecmp'); // usort to also renumber the keys - $escaped_categories = serialize($this->categories); - OC_Preferences::setValue($this->user, $this->app, self::PREF_CATEGORIES_LABEL, $escaped_categories); - OC_Log::write('core','OC_VCategories::save: '.print_r($this->categories, true), OC_Log::DEBUG); + foreach($this->categories as $category) { + OCP\DB::insertIfNotExist(self::CATEGORY_TABLE, + array( + 'uid' => $this->user, + 'type' => $this->type, + 'category' => $category, + )); + } + // reload categories to get the proper ids. + $this->loadCategories(); + // Loop through temporarily cached objectid/categoryname pairs + // and save relations. + $categories = $this->categories; + // For some reason this is needed or array_search(i) will return 0..? + ksort($categories); + foreach(self::$relations as $relation) { + $catid = $this->array_searchi($relation['category'], $categories); + OC_Log::write('core', __METHOD__ . 'catid, ' . $relation['category'] . ' ' . $catid, OC_Log::DEBUG); + if($catid) { + OCP\DB::insertIfNotExist(self::RELATION_TABLE, + array( + 'objid' => $relation['objid'], + 'categoryid' => $catid, + 'type' => $this->type, + )); + } + } + self::$relations = array(); // reset } else { - OC_Log::write('core','OC_VCategories::save: $this->categories is not an array! '.print_r($this->categories, true), OC_Log::ERROR); + OC_Log::write('core', __METHOD__.', $this->categories is not an array! ' + . print_r($this->categories, true), OC_Log::ERROR); } } + /** + * @brief Delete categories and category/object relations for a user. + * For hooking up on post_deleteUser + * @param string $uid The user id for which entries should be purged. + */ + public static function post_deleteUser($arguments) { + // Find all objectid/categoryid pairs. + $result = null; + try { + $stmt = OCP\DB::prepare('SELECT `id` FROM `' . self::CATEGORY_TABLE . '` ' + . 'WHERE `uid` = ?'); + $result = $stmt->execute(array($arguments['uid'])); + if (OC_DB::isError($result)) { + OC_Log::write('core', __METHOD__. 'DB error: ' . OC_DB::getErrorMessage($result), OC_Log::ERROR); + } + } catch(Exception $e) { + OCP\Util::writeLog('core', __METHOD__.', exception: '.$e->getMessage(), + OCP\Util::ERROR); + } + + if(!is_null($result)) { + try { + $stmt = OCP\DB::prepare('DELETE FROM `' . self::RELATION_TABLE . '` ' + . 'WHERE `categoryid` = ?'); + while( $row = $result->fetchRow()) { + try { + $stmt->execute(array($row['id'])); + } catch(Exception $e) { + OCP\Util::writeLog('core', __METHOD__.', exception: '.$e->getMessage(), + OCP\Util::ERROR); + } + } + } catch(Exception $e) { + OCP\Util::writeLog('core', __METHOD__.', exception: '.$e->getMessage(), + OCP\Util::ERROR); + } + } + try { + $stmt = OCP\DB::prepare('DELETE FROM `' . self::CATEGORY_TABLE . '` ' + . 'WHERE `uid` = ? AND'); + $result = $stmt->execute(array($arguments['uid'])); + if (OC_DB::isError($result)) { + OC_Log::write('core', __METHOD__. 'DB error: ' . OC_DB::getErrorMessage($result), OC_Log::ERROR); + } + } catch(Exception $e) { + OCP\Util::writeLog('core', __METHOD__ . ', exception: ' + . $e->getMessage(), OCP\Util::ERROR); + } + } + + /** + * @brief Delete category/object relations from the db + * @param int $id The id of the object + * @param string $type The type of object (event/contact/task/journal). + * Defaults to the type set in the instance + * @returns boolean Returns false on error. + */ + public function purgeObject($id, $type = null) { + $type = is_null($type) ? $this->type : $type; + try { + $stmt = OCP\DB::prepare('DELETE FROM `' . self::RELATION_TABLE . '` ' + . 'WHERE `objid` = ? AND `type`= ?'); + $result = $stmt->execute(array($id, $type)); + if (OC_DB::isError($result)) { + OC_Log::write('core', __METHOD__. 'DB error: ' . OC_DB::getErrorMessage($result), OC_Log::ERROR); + return false; + } + } catch(Exception $e) { + OCP\Util::writeLog('core', __METHOD__.', exception: '.$e->getMessage(), + OCP\Util::ERROR); + return false; + } + return true; + } + + /** + * Get favorites for an object type + * + * @param string $type The type of object (event/contact/task/journal). + * Defaults to the type set in the instance + * @returns array An array of object ids. + */ + public function getFavorites($type = null) { + $type = is_null($type) ? $this->type : $type; + + try { + return $this->idsForCategory(self::CATEGORY_FAVORITE); + } catch(Exception $e) { + // No favorites + return array(); + } + } + + /** + * Add an object to favorites + * + * @param int $objid The id of the object + * @param string $type The type of object (event/contact/task/journal). + * Defaults to the type set in the instance + * @returns boolean + */ + public function addToFavorites($objid, $type = null) { + $type = is_null($type) ? $this->type : $type; + if(!$this->hasCategory(self::CATEGORY_FAVORITE)) { + $this->add(self::CATEGORY_FAVORITE, true); + } + return $this->addToCategory($objid, self::CATEGORY_FAVORITE, $type); + } + + /** + * Remove an object from favorites + * + * @param int $objid The id of the object + * @param string $type The type of object (event/contact/task/journal). + * Defaults to the type set in the instance + * @returns boolean + */ + public function removeFromFavorites($objid, $type = null) { + $type = is_null($type) ? $this->type : $type; + return $this->removeFromCategory($objid, self::CATEGORY_FAVORITE, $type); + } + + /** + * @brief Creates a category/object relation. + * @param int $objid The id of the object + * @param int|string $category The id or name of the category + * @param string $type The type of object (event/contact/task/journal). + * Defaults to the type set in the instance + * @returns boolean Returns false on database error. + */ + public function addToCategory($objid, $category, $type = null) { + $type = is_null($type) ? $this->type : $type; + if(is_string($category) && !is_numeric($category)) { + if(!$this->hasCategory($category)) { + $this->add($category, true); + } + $categoryid = $this->array_searchi($category, $this->categories); + } else { + $categoryid = $category; + } + try { + OCP\DB::insertIfNotExist(self::RELATION_TABLE, + array( + 'objid' => $objid, + 'categoryid' => $categoryid, + 'type' => $type, + )); + } catch(Exception $e) { + OCP\Util::writeLog('core', __METHOD__.', exception: '.$e->getMessage(), + OCP\Util::ERROR); + return false; + } + return true; + } + + /** + * @brief Delete single category/object relation from the db + * @param int $objid The id of the object + * @param int|string $category The id or name of the category + * @param string $type The type of object (event/contact/task/journal). + * Defaults to the type set in the instance + * @returns boolean + */ + public function removeFromCategory($objid, $category, $type = null) { + $type = is_null($type) ? $this->type : $type; + $categoryid = (is_string($category) && !is_numeric($category)) + ? $this->array_searchi($category, $this->categories) + : $category; + try { + $sql = 'DELETE FROM `' . self::RELATION_TABLE . '` ' + . 'WHERE `objid` = ? AND `categoryid` = ? AND `type` = ?'; + OCP\Util::writeLog('core', __METHOD__.', sql: ' . $objid . ' ' . $categoryid . ' ' . $type, + OCP\Util::DEBUG); + $stmt = OCP\DB::prepare($sql); + $stmt->execute(array($objid, $categoryid, $type)); + } catch(Exception $e) { + OCP\Util::writeLog('core', __METHOD__.', exception: '.$e->getMessage(), + OCP\Util::ERROR); + return false; + } + return true; + } + /** * @brief Delete categories from the db and from all the vobject supplied * @param $names An array of categories to delete @@ -173,37 +661,87 @@ class OC_VCategories { if(!is_array($names)) { $names = array($names); } - OC_Log::write('core','OC_VCategories::delete, before: '.print_r($this->categories, true), OC_Log::DEBUG); + + OC_Log::write('core', __METHOD__ . ', before: ' + . print_r($this->categories, true), OC_Log::DEBUG); foreach($names as $name) { - OC_Log::write('core','OC_VCategories::delete: '.$name, OC_Log::DEBUG); + $id = null; + OC_Log::write('core', __METHOD__.', '.$name, OC_Log::DEBUG); if($this->hasCategory($name)) { - //OC_Log::write('core','OC_VCategories::delete: '.$name.' got it', OC_Log::DEBUG); - unset($this->categories[$this->array_searchi($name, $this->categories)]); + $id = $this->array_searchi($name, $this->categories); + unset($this->categories[$id]); + } + try { + $stmt = OCP\DB::prepare('DELETE FROM `' . self::CATEGORY_TABLE . '` WHERE ' + . '`uid` = ? AND `type` = ? AND `category` = ?'); + $result = $stmt->execute(array($this->user, $this->type, $name)); + if (OC_DB::isError($result)) { + OC_Log::write('core', __METHOD__. 'DB error: ' . OC_DB::getErrorMessage($result), OC_Log::ERROR); + } + } catch(Exception $e) { + OCP\Util::writeLog('core', __METHOD__ . ', exception: ' + . $e->getMessage(), OCP\Util::ERROR); + } + if(!is_null($id) && $id !== false) { + try { + $sql = 'DELETE FROM `' . self::RELATION_TABLE . '` ' + . 'WHERE `categoryid` = ?'; + $stmt = OCP\DB::prepare($sql); + $result = $stmt->execute(array($id)); + if (OC_DB::isError($result)) { + OC_Log::write('core', __METHOD__. 'DB error: ' . OC_DB::getErrorMessage($result), OC_Log::ERROR); + } + } catch(Exception $e) { + OCP\Util::writeLog('core', __METHOD__.', exception: '.$e->getMessage(), + OCP\Util::ERROR); + return false; + } } } - $this->save(); - OC_Log::write('core','OC_VCategories::delete, after: '.print_r($this->categories, true), OC_Log::DEBUG); + OC_Log::write('core', __METHOD__.', after: ' + . print_r($this->categories, true), OC_Log::DEBUG); if(!is_null($objects)) { foreach($objects as $key=>&$value) { $vobject = OC_VObject::parse($value[1]); if(!is_null($vobject)) { - $categories = $vobject->getAsArray('CATEGORIES'); - //OC_Log::write('core','OC_VCategories::delete, before: '.$key.': '.print_r($categories, true), OC_Log::DEBUG); + $object = null; + $componentname = ''; + if (isset($vobject->VEVENT)) { + $object = $vobject->VEVENT; + $componentname = 'VEVENT'; + } else + if (isset($vobject->VTODO)) { + $object = $vobject->VTODO; + $componentname = 'VTODO'; + } else + if (isset($vobject->VJOURNAL)) { + $object = $vobject->VJOURNAL; + $componentname = 'VJOURNAL'; + } else { + $object = $vobject; + } + $categories = $object->getAsArray('CATEGORIES'); foreach($names as $name) { $idx = $this->array_searchi($name, $categories); - //OC_Log::write('core','OC_VCategories::delete, loop: '.$name.', '.print_r($idx, true), OC_Log::DEBUG); if($idx !== false) { - OC_Log::write('core','OC_VCategories::delete, unsetting: '.$categories[$this->array_searchi($name, $categories)], OC_Log::DEBUG); + OC_Log::write('core', __METHOD__ + .', unsetting: ' + . $categories[$this->array_searchi($name, $categories)], + OC_Log::DEBUG); unset($categories[$this->array_searchi($name, $categories)]); - //unset($categories[$idx]); } } - //OC_Log::write('core','OC_VCategories::delete, after: '.$key.': '.print_r($categories, true), OC_Log::DEBUG); - $vobject->setString('CATEGORIES', implode(',', $categories)); + + $object->setString('CATEGORIES', implode(',', $categories)); + if($vobject !== $object) { + $vobject[$componentname] = $object; + } $value[1] = $vobject->serialize(); $objects[$key] = $value; } else { - OC_Log::write('core','OC_VCategories::delete, unable to parse. ID: '.$value[0].', '.substr($value[1], 0, 50).'(...)', OC_Log::DEBUG); + OC_Log::write('core', __METHOD__ + .', unable to parse. ID: ' . $value[0] . ', ' + . substr($value[1], 0, 50) . '(...)', OC_Log::DEBUG); } } } @@ -222,7 +760,7 @@ class OC_VCategories { if(!is_array($haystack)) { return false; } - return array_search(strtolower($needle),array_map('strtolower',$haystack)); + return array_search(strtolower($needle), array_map('strtolower', $haystack)); } - } + diff --git a/lib/vobject.php b/lib/vobject.php index b5a04b4bf65db60efc5c6f583499def98775412e..267176ebc070f8590254ad6b38b8e5f6d9e3363e 100644 --- a/lib/vobject.php +++ b/lib/vobject.php @@ -24,11 +24,11 @@ * This class provides a streamlined interface to the Sabre VObject classes */ class OC_VObject{ - /** @var Sabre_VObject_Component */ + /** @var Sabre\VObject\Component */ protected $vobject; /** - * @returns Sabre_VObject_Component + * @returns Sabre\VObject\Component */ public function getVObject() { return $this->vobject; @@ -41,9 +41,9 @@ class OC_VObject{ */ public static function parse($data) { try { - Sabre_VObject_Property::$classMap['LAST-MODIFIED'] = 'Sabre_VObject_Property_DateTime'; - $vobject = Sabre_VObject_Reader::read($data); - if ($vobject instanceof Sabre_VObject_Component) { + Sabre\VObject\Property::$classMap['LAST-MODIFIED'] = 'Sabre\VObject\Property\DateTime'; + $vobject = Sabre\VObject\Reader::read($data); + if ($vobject instanceof Sabre\VObject\Component) { $vobject = new OC_VObject($vobject); } return $vobject; @@ -62,7 +62,7 @@ class OC_VObject{ foreach($value as &$i ) { $i = implode("\\\\;", explode(';', $i)); } - return implode(';',$value); + return implode(';', $value); } /** @@ -71,15 +71,15 @@ class OC_VObject{ * @return array */ public static function unescapeSemicolons($value) { - $array = explode(';',$value); + $array = explode(';', $value); for($i=0;$ivobject = $vobject_or_name; } else { - $this->vobject = new Sabre_VObject_Component($vobject_or_name); + $this->vobject = new Sabre\VObject\Component($vobject_or_name); } } @@ -117,9 +117,9 @@ class OC_VObject{ if(is_array($value)) { $value = OC_VObject::escapeSemicolons($value); } - $property = new Sabre_VObject_Property( $name, $value ); + $property = new Sabre\VObject\Property( $name, $value ); foreach($parameters as $name => $value) { - $property->parameters[] = new Sabre_VObject_Parameter($name, $value); + $property->parameters[] = new Sabre\VObject\Parameter($name, $value); } $this->vobject->add($property); @@ -127,8 +127,8 @@ class OC_VObject{ } public function setUID() { - $uid = substr(md5(rand().time()),0,10); - $this->vobject->add('UID',$uid); + $uid = substr(md5(rand().time()), 0, 10); + $this->vobject->add('UID', $uid); } public function setString($name, $string) { @@ -150,12 +150,12 @@ class OC_VObject{ * @param int $dateType * @return void */ - public function setDateTime($name, $datetime, $dateType=Sabre_VObject_Property_DateTime::LOCALTZ) { + public function setDateTime($name, $datetime, $dateType=Sabre\VObject\Property\DateTime::LOCALTZ) { if ($datetime == 'now') { $datetime = new DateTime(); } if ($datetime instanceof DateTime) { - $datetime_element = new Sabre_VObject_Property_DateTime($name); + $datetime_element = new Sabre\VObject\Property\DateTime($name); $datetime_element->setDateTime($datetime, $dateType); $this->vobject->__set($name, $datetime_element); }else{ @@ -183,7 +183,7 @@ class OC_VObject{ return $this->vobject->children; } $return = $this->vobject->__get($name); - if ($return instanceof Sabre_VObject_Component) { + if ($return instanceof Sabre\VObject\Component) { $return = new OC_VObject($return); } return $return; @@ -201,7 +201,7 @@ class OC_VObject{ return $this->vobject->__isset($name); } - public function __call($function,$arguments) { + public function __call($function, $arguments) { return call_user_func_array(array($this->vobject, $function), $arguments); } } diff --git a/ocs/providers.php b/ocs/providers.php index 4c68ded914e3f1c58f922b96c7be0f103f18bf3f..43c9dc2aa42b4d1e7cd843e09cd6dd5d38d235d2 100644 --- a/ocs/providers.php +++ b/ocs/providers.php @@ -3,22 +3,22 @@ /** * ownCloud * -* @author Frank Karlitschek -* @copyright 2012 Frank Karlitschek frank@owncloud.org -* +* @author Frank Karlitschek +* @copyright 2012 Frank Karlitschek frank@owncloud.org +* * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE -* License as published by the Free Software Foundation; either +* License as published by the Free Software Foundation; either * version 3 of the License, or any later version. -* +* * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU AFFERO GENERAL PUBLIC LICENSE for more details. -* -* You should have received a copy of the GNU Affero General Public +* +* You should have received a copy of the GNU Affero General Public * License along with this library. If not, see . -* +* */ require_once '../lib/base.php'; diff --git a/ocs/v1.php b/ocs/v1.php index b12ea5ef18d0df1f9d257d8f879e456167b55ef7..1652b0bedbe223138f1a59ca57ca037626e5c196 100644 --- a/ocs/v1.php +++ b/ocs/v1.php @@ -3,22 +3,22 @@ /** * ownCloud * -* @author Frank Karlitschek -* @copyright 2012 Frank Karlitschek frank@owncloud.org -* +* @author Frank Karlitschek +* @copyright 2012 Frank Karlitschek frank@owncloud.org +* * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE -* License as published by the Free Software Foundation; either +* License as published by the Free Software Foundation; either * version 3 of the License, or any later version. -* +* * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU AFFERO GENERAL PUBLIC LICENSE for more details. -* -* You should have received a copy of the GNU Affero General Public +* +* You should have received a copy of the GNU Affero General Public * License along with this library. If not, see . -* +* */ require_once '../lib/base.php'; diff --git a/public.php b/public.php index db8419373ee252e108daf75142f6e7a6153d0dee..759e8e91619276bc1f45e2f9913cd23654ea3e84 100644 --- a/public.php +++ b/public.php @@ -1,5 +1,5 @@ 3)?true:false; -function compareEntries($a,$b) { +function compareEntries($a, $b) { return $b->time - $a->time; } usort($entries, 'compareEntries'); -$tmpl->assign('loglevel',OC_Config::getValue( "loglevel", 2 )); -$tmpl->assign('entries',$entries); +$tmpl->assign('loglevel', OC_Config::getValue( "loglevel", 2 )); +$tmpl->assign('entries', $entries); $tmpl->assign('entriesremain', $entriesremain); -$tmpl->assign('htaccessworking',$htaccessworking); +$tmpl->assign('htaccessworking', $htaccessworking); +$tmpl->assign('internetconnectionworking', OC_Util::isinternetconnectionworking()); $tmpl->assign('backgroundjobs_mode', OC_Appconfig::getValue('core', 'backgroundjobs_mode', 'ajax')); $tmpl->assign('shareAPIEnabled', OC_Appconfig::getValue('core', 'shareapi_enabled', 'yes')); $tmpl->assign('allowLinks', OC_Appconfig::getValue('core', 'shareapi_allow_links', 'yes')); $tmpl->assign('allowResharing', OC_Appconfig::getValue('core', 'shareapi_allow_resharing', 'yes')); $tmpl->assign('sharePolicy', OC_Appconfig::getValue('core', 'shareapi_share_policy', 'global')); -$tmpl->assign('forms',array()); +$tmpl->assign('forms', array()); foreach($forms as $form) { - $tmpl->append('forms',$form); + $tmpl->append('forms', $form); } $tmpl->printPage(); diff --git a/settings/ajax/apps/ocs.php b/settings/ajax/apps/ocs.php index fb78cc89248471008532c2be7fcc7a8aca3a65d8..1ffba26ad1d693d2404379b830761cbb5a779ecd 100644 --- a/settings/ajax/apps/ocs.php +++ b/settings/ajax/apps/ocs.php @@ -6,9 +6,6 @@ * See the COPYING-README file. */ -// Init owncloud -require_once '../../../lib/base.php'; - OC_JSON::checkAdminUser(); $l = OC_L10N::get('settings'); @@ -43,7 +40,7 @@ if(is_array($catagoryNames)) { if(!$local) { if($app['preview']=='') { - $pre='trans.png'; + $pre=OC_Helper::imagePath('settings', 'trans.png'); } else { $pre=$app['preview']; } diff --git a/settings/ajax/changepassword.php b/settings/ajax/changepassword.php index 12d3b67037ab92aa253e036cc568ee84f1c4ec0d..b2db2611518182df78ef760b1350561ff5e9530b 100644 --- a/settings/ajax/changepassword.php +++ b/settings/ajax/changepassword.php @@ -1,8 +1,5 @@ array( "message" => "User already exists" ))); exit(); } // Return Success story try { - OC_User::createUser($username, $password); + if (!OC_User::createUser($username, $password)) { + OC_JSON::error(array('data' => array( 'message' => 'User creation failed for '.$username ))); + exit(); + } foreach( $groups as $i ) { if(!OC_Group::groupExists($i)) { OC_Group::createGroup($i); } OC_Group::addToGroup( $username, $i ); } - OC_JSON::success(array("data" => - array( - "username" => $username, + OC_JSON::success(array("data" => + array( + "username" => $username, "groups" => implode( ", ", OC_Group::getUserGroups( $username ))))); } catch (Exception $exception) { OC_JSON::error(array("data" => array( "message" => $exception->getMessage()))); diff --git a/settings/ajax/disableapp.php b/settings/ajax/disableapp.php index 977a536af215d084e39584a50dd3d8c89f4ceea1..a39b06b9c7d6ffa27287cf6c005cf7f57e9c7b44 100644 --- a/settings/ajax/disableapp.php +++ b/settings/ajax/disableapp.php @@ -1,6 +1,4 @@ OC_Util::sanitizeHTML($entries), + "data" => OC_Util::sanitizeHTML($entries), "remain"=>(count(OC_Log_Owncloud::getEntries(1, $offset + $offset)) != 0) ? true : false)); diff --git a/settings/ajax/lostpassword.php b/settings/ajax/lostpassword.php index 2a40ba09a8ac3506af2050b0b5e191897b2db28b..b5f47bbceabe88a41464da3ed6283b14f3b85744 100644 --- a/settings/ajax/lostpassword.php +++ b/settings/ajax/lostpassword.php @@ -1,7 +1,5 @@ array_values($navIds), 'nav_entries' => $navigation)); diff --git a/settings/ajax/openid.php b/settings/ajax/openid.php index ecec085383c1124c599c3c7f6f1cb205ccdcfcd0..23c43c3c48eb209db10b5dfce13c86a0156776d4 100644 --- a/settings/ajax/openid.php +++ b/settings/ajax/openid.php @@ -1,8 +1,5 @@ array( "message" => $l->t("Unable to delete user") ))); -} \ No newline at end of file +} diff --git a/settings/ajax/setlanguage.php b/settings/ajax/setlanguage.php index 42eea7a96fdc03bb793fbd2e7bc17694d2832da0..aebb1b31b6f9f0bfad0cd77f169119a1f057ba99 100644 --- a/settings/ajax/setlanguage.php +++ b/settings/ajax/setlanguage.php @@ -1,8 +1,5 @@ array( "username" => $username ,'quota' => $quota))); +OC_JSON::success(array("data" => array( "username" => $username , 'quota' => $quota))); diff --git a/settings/ajax/togglegroups.php b/settings/ajax/togglegroups.php index 65747968c172bf62abf8665750757260e7af511c..f82ece4aee1464b47ba3c253fab507fef2daa9de 100644 --- a/settings/ajax/togglegroups.php +++ b/settings/ajax/togglegroups.php @@ -1,14 +1,17 @@ array( 'message' => $l->t('Admins can\'t remove themself from the admin group')))); + exit(); +} if(!OC_Group::inGroup(OC_User::getUser(), 'admin') && (!OC_SubAdmin::isUserAccessible(OC_User::getUser(), $username) || !OC_SubAdmin::isGroupAccessible(OC_User::getUser(), $group))) { $l = OC_L10N::get('core'); diff --git a/settings/ajax/togglesubadmins.php b/settings/ajax/togglesubadmins.php index 5f7126dca347dd94ce0c8dd853737a09afb35b8e..a99e805f69dff88ec3d1cd04636d409584975fbc 100644 --- a/settings/ajax/togglesubadmins.php +++ b/settings/ajax/togglesubadmins.php @@ -1,13 +1,10 @@ $user, - 'groups' => join(', ', OC_Group::getUserGroups($user)), - 'subadmin' => join(', ', OC_SubAdmin::getSubAdminsGroups($user)), + 'name' => $user, + 'groups' => join(', ', OC_Group::getUserGroups($user)), + 'subadmin' => join(', ', OC_SubAdmin::getSubAdminsGroups($user)), 'quota' => OC_Preferences::getValue($user, 'files', 'quota', 'default')); } } else { @@ -44,9 +42,9 @@ if (OC_Group::inGroup(OC_User::getUser(), 'admin')) { $batch = OC_Group::usersInGroups($groups, '', 10, $offset); foreach ($batch as $user) { $users[] = array( - 'name' => $user, - 'groups' => join(', ', OC_Group::getUserGroups($user)), + 'name' => $user, + 'groups' => join(', ', OC_Group::getUserGroups($user)), 'quota' => OC_Preferences::getValue($user, 'files', 'quota', 'default')); } } -OC_JSON::success(array('data' => $users)); \ No newline at end of file +OC_JSON::success(array('data' => $users)); diff --git a/settings/apps.php b/settings/apps.php index a1c1bf6aa5303710fb3d308a8111e5414ed23cb4..99a3094399d6a42d8d619a69a3200164f9f9a485 100644 --- a/settings/apps.php +++ b/settings/apps.php @@ -21,8 +21,8 @@ * */ -require_once '../lib/base.php'; OC_Util::checkAdminUser(); +OC_App::loadApps(); // Load the files we need OC_Util::addStyle( "settings", "settings" ); @@ -77,7 +77,7 @@ foreach ( $installedApps as $app ) { } - $info['preview'] = 'trans.png'; + $info['preview'] = OC_Helper::imagePath('settings', 'trans.png'); $info['version'] = OC_App::getAppVersion($app); @@ -95,11 +95,11 @@ if ( $remoteApps ) { foreach ( $remoteApps AS $key => $remote ) { - if ( + if ( $app['name'] == $remote['name'] - // To set duplicate detection to use OCS ID instead of string name, - // enable this code, remove the line of code above, - // and add [ID] to info.xml of each 3rd party app: + // To set duplicate detection to use OCS ID instead of string name, + // enable this code, remove the line of code above, + // and add [ID] to info.xml of each 3rd party app: // OR $app['ocs_id'] == $remote['ocs_id'] ) { diff --git a/settings/css/settings.css b/settings/css/settings.css index 60a42784661a9e5a33c3f4678eab9ae8d95f65ab..560862fa12f23c0c1ec86f20d09540699452105a 100644 --- a/settings/css/settings.css +++ b/settings/css/settings.css @@ -38,7 +38,7 @@ div.quota { float:right; display:block; position:absolute; right:25em; top:0; } div.quota-select-wrapper { position: relative; } select.quota { position:absolute; left:0; top:0; width:10em; } select.quota-user { position:relative; left:0; top:0; width:10em; } -input.quota-other { display:none; position:absolute; left:0.1em; top:0.1em; width:7em; border:none; -webkit-box-shadow: none; -moz-box-shadow:none ; box-shadow:none; } +input.quota-other { display:none; position:absolute; left:0.1em; top:0.1em; width:7em; border:none; box-shadow:none; } div.quota>span { position:absolute; right:0em; white-space:nowrap; top: 0.7em } select.quota.active { background: #fff; } @@ -65,5 +65,6 @@ span.version { margin-left:1em; margin-right:1em; color:#555; } /* ADMIN */ span.securitywarning {color:#C33; font-weight:bold; } +span.connectionwarning {color:#933; font-weight:bold; } input[type=radio] { width:1em; } table.shareAPI td { padding-bottom: 0.8em; } diff --git a/settings/help.php b/settings/help.php index 9157308dd57cf81e3023bb6a3ecf5a45b56d580f..69a5ec9c14691fd58861a2f5a223a70a500bf682 100644 --- a/settings/help.php +++ b/settings/help.php @@ -5,9 +5,8 @@ * See the COPYING-README file. */ -require_once '../lib/base.php'; OC_Util::checkLoggedIn(); - +OC_App::loadApps(); // Load the files we need OC_Util::addStyle( "settings", "settings" ); diff --git a/settings/img/trans.png b/settings/img/trans.png new file mode 100644 index 0000000000000000000000000000000000000000..ef57510d530920a91a9e0d9212faf7159c6d4d87 Binary files /dev/null and b/settings/img/trans.png differ diff --git a/settings/js/apps.js b/settings/js/apps.js index 8de95100c4c59e9f912c43f1b5814ac1c56a474e..c4c36b4bb12a84b85c3deb0e47b58847e68af9ce 100644 --- a/settings/js/apps.js +++ b/settings/js/apps.js @@ -51,6 +51,7 @@ OC.Settings.Apps = OC.Settings.Apps || { } else { element.data('active',false); + OC.Settings.Apps.removeNavigation(appid); element.val(t('settings','Enable')); } },'json'); @@ -61,6 +62,7 @@ OC.Settings.Apps = OC.Settings.Apps || { OC.dialogs.alert('Error while enabling app','Error'); } else { + OC.Settings.Apps.addNavigation(appid); element.data('active',true); element.val(t('settings','Disable')); } @@ -87,6 +89,38 @@ OC.Settings.Apps = OC.Settings.Apps || { applist.last().after(app); } return app; + }, + removeNavigation: function(appid){ + $.getJSON(OC.filePath('settings', 'ajax', 'navigationdetect.php'), {app: appid}).done(function(response){ + if(response.status === 'success'){ + var navIds=response.nav_ids; + for(var i=0; i< navIds.length; i++){ + $('#apps').children('li[data-id="'+navIds[i]+'"]').remove(); + } + } + }); + }, + addNavigation: function(appid){ + $.getJSON(OC.filePath('settings', 'ajax', 'navigationdetect.php'), {app: appid}).done(function(response){ + if(response.status === 'success'){ + var navEntries=response.nav_entries; + for(var i=0; i< navEntries.length; i++){ + var entry = navEntries[i]; + var container = $('#apps'); + + if(container.children('li[data-id="'+entry.id+'"]').length === 0){ + var li=$('
  • '); + li.attr('data-id', entry.id); + var a=$(''); + a.attr('style', 'background-image: url('+entry.icon+')'); + a.text(entry.name); + a.attr('href', entry.href); + li.append(a); + container.append(li); + } + } + } + }); } }; diff --git a/settings/js/users.js b/settings/js/users.js index 20bd94993bce5f309d1df454588dd22a2912efc4..f2ce69cf3118cdb0af9efa68e1d976003739c50b 100644 --- a/settings/js/users.js +++ b/settings/js/users.js @@ -16,7 +16,10 @@ var UserList={ * finishDelete() completes the process. This allows for 'undo'. */ do_delete:function( uid ) { - + if (typeof UserList.deleteUid !== 'undefined') { + //Already a user in the undo queue + UserList.finishDelete(null); + } UserList.deleteUid = uid; // Set undo flag @@ -26,7 +29,6 @@ var UserList={ $('#notification').html(t('users', 'deleted')+' '+uid+''+t('users', 'undo')+''); $('#notification').data('deleteuser',true); $('#notification').fadeIn(); - }, /** @@ -54,10 +56,11 @@ var UserList={ $('#notification').fadeOut(); $('tr').filterAttr('data-uid', UserList.deleteUid).remove(); UserList.deleteCanceled = true; - UserList.deleteFiles = null; if (ready) { ready(); } + } else { + oc.dialogs.alert(result.data.message, t('settings', 'Unable to remove user')); } } }); @@ -66,20 +69,15 @@ var UserList={ add:function(username, groups, subadmin, quota, sort) { var tr = $('tbody tr').first().clone(); - tr.data('uid', username); + tr.attr('data-uid', username); tr.find('td.name').text(username); - var groupsSelect = $('').attr('data-username', username).attr('data-user-groups', groups); tr.find('td.groups').empty(); if (tr.find('td.subadmins').length > 0) { - var subadminSelect = $('').attr('data-username', username).attr('data-user-groups', groups).attr('data-subadmin', subadmin); tr.find('td.subadmins').empty(); } - var allGroups = String($('#content table').data('groups')).split(', '); + var allGroups = String($('#content table').attr('data-groups')).split(', '); $.each(allGroups, function(i, group) { groupsSelect.append($('')); if (typeof subadminSelect !== 'undefined' && group != 'admin') { @@ -93,7 +91,14 @@ var UserList={ UserList.applyMultiplySelect(subadminSelect); } if (tr.find('td.remove img').length == 0 && OC.currentUser != username) { - tr.find('td.remove').append($('Delete')); + var rm_img = $('', { + class: 'svg action', + src: OC.imagePath('core','actions/delete'), + alt: t('settings','Delete'), + title: t('settings','Delete') + }); + var rm_link = $('', { class: 'action delete', href: '#'}).append(rm_img); + tr.find('td.remove').append(rm_link); } else if (OC.currentUser == username) { tr.find('td.remove a').remove(); } @@ -113,7 +118,7 @@ var UserList={ if (sort) { username = username.toLowerCase(); $('tbody tr').each(function() { - if (username < $(this).data('uid').toLowerCase()) { + if (username < $(this).attr('data-uid').toLowerCase()) { $(tr).insertBefore($(this)); added = true; return false; @@ -130,7 +135,7 @@ var UserList={ if (typeof UserList.offset === 'undefined') { UserList.offset = $('tbody tr').length; } - $.get(OC.filePath('settings', 'ajax', 'userlist.php'), { offset: UserList.offset }, function(result) { + $.get(OC.Router.generate('settings_ajax_userlist', { offset: UserList.offset }), function(result) { if (result.status === 'success') { $.each(result.data, function(index, user) { var tr = UserList.add(user.name, user.groups, user.subadmin, user.quota, false); @@ -148,7 +153,7 @@ var UserList={ applyMultiplySelect:function(element) { var checked=[]; - var user=element.data('username'); + var user=element.attr('data-username'); if($(element).attr('class') == 'groupsselect'){ if(element.data('userGroups')){ checked=String(element.data('userGroups')).split(', '); @@ -257,7 +262,7 @@ $(document).ready(function(){ $('td.remove>a').live('click',function(event){ var row = $(this).parent().parent(); - var uid = $(row).data('uid'); + var uid = $(row).attr('data-uid'); $(row).hide(); // Call function for handling delete/undo UserList.do_delete(uid); @@ -266,7 +271,7 @@ $(document).ready(function(){ $('td.password>img').live('click',function(event){ event.stopPropagation(); var img=$(this); - var uid=img.parent().parent().data('uid'); + var uid=img.parent().parent().attr('data-uid'); var input=$(''); img.css('display','none'); img.parent().children('span').replaceWith(input); @@ -296,7 +301,7 @@ $(document).ready(function(){ $('select.quota, select.quota-user').live('change',function(){ var select=$(this); - var uid=$(this).parent().parent().parent().data('uid'); + var uid=$(this).parent().parent().parent().attr('data-uid'); var quota=$(this).val(); var other=$(this).next(); if(quota!='other'){ @@ -314,7 +319,7 @@ $(document).ready(function(){ }) $('input.quota-other').live('change',function(){ - var uid=$(this).parent().parent().parent().data('uid'); + var uid=$(this).parent().parent().parent().attr('data-uid'); var quota=$(this).val(); var select=$(this).prev(); var other=$(this); @@ -391,13 +396,8 @@ $(document).ready(function(){ $('#notification').hide(); $('#notification .undo').live('click', function() { if($('#notification').data('deleteuser')) { - $('tbody tr').each(function(index, row) { - if ($(row).data('uid') == UserList.deleteUid) { - $(row).show(); - } - }); + $('tbody tr').filterAttr('data-uid', UserList.deleteUid).show(); UserList.deleteCanceled=true; - UserList.deleteFiles=null; } $('#notification').fadeOut(); }); diff --git a/settings/l10n/ar.php b/settings/l10n/ar.php index 36cad27d3a3a708523551a0325d022000331fcb5..662e69bbfc58b67c24bb8b938c890b866035ffd8 100644 --- a/settings/l10n/ar.php +++ b/settings/l10n/ar.php @@ -1,13 +1,17 @@ "تم تغيير ال OpenID", "Invalid request" => "طلبك غير مفهوم", +"Authentication error" => "لم يتم التأكد من الشخصية بنجاح", "Language changed" => "تم تغيير اللغة", +"Saving..." => "حفظ", "__language_name__" => "__language_name__", "Select an App" => "إختر تطبيقاً", +"Documentation" => "التوثيق", "Ask a question" => "إسأل سؤال", "Problems connecting to help database." => "الاتصال بقاعدة بيانات المساعدة لم يتم بنجاح", "Go there manually." => "إذهب هنالك بنفسك", "Answer" => "الجواب", +"Download" => "انزال", "Unable to change your password" => "لم يتم تعديل كلمة السر بنجاح", "Current password" => "كلمات السر الحالية", "New password" => "كلمات سر جديدة", @@ -23,6 +27,7 @@ "Password" => "كلمات السر", "Groups" => "مجموعات", "Create" => "انشئ", +"Other" => "شيء آخر", "Quota" => "حصه", "Delete" => "حذف" ); diff --git a/settings/l10n/bg_BG.php b/settings/l10n/bg_BG.php index 6a46348b300d5a2862961e3f76a448839fadc33a..5a2d882581f394eb904c0db38f74010a7ee9034d 100644 --- a/settings/l10n/bg_BG.php +++ b/settings/l10n/bg_BG.php @@ -3,6 +3,7 @@ "Invalid email" => "Неправилна е-поща", "OpenID Changed" => "OpenID е сменено", "Invalid request" => "Невалидна заявка", +"Authentication error" => "Проблем с идентификацията", "Language changed" => "Езика е сменен", "Disable" => "Изключване", "Enable" => "Включване", @@ -30,6 +31,7 @@ "Groups" => "Групи", "Create" => "Ново", "Default Quota" => "Квота по подразбиране", +"Other" => "Друго", "Quota" => "Квота", "Delete" => "Изтриване" ); diff --git a/settings/l10n/ca.php b/settings/l10n/ca.php index 16660fb07d36527fbbb7cb426cda11947aa703bf..eff84e12de7ba61b922d7f3acb7238027932203d 100644 --- a/settings/l10n/ca.php +++ b/settings/l10n/ca.php @@ -1,6 +1,5 @@ "No s'ha pogut carregar la llista des de l'App Store", -"Authentication error" => "Error d'autenticació", "Group already exists" => "El grup ja existeix", "Unable to add group" => "No es pot afegir el grup", "Could not enable app. " => "No s'ha pogut activar l'apliació", @@ -9,32 +8,16 @@ "OpenID Changed" => "OpenID ha canviat", "Invalid request" => "Sol.licitud no vàlida", "Unable to delete group" => "No es pot eliminar el grup", +"Authentication error" => "Error d'autenticació", "Unable to delete user" => "No es pot eliminar l'usuari", "Language changed" => "S'ha canviat l'idioma", +"Admins can't remove themself from the admin group" => "Els administradors no es poden eliminar del grup admin", "Unable to add user to group %s" => "No es pot afegir l'usuari al grup %s", "Unable to remove user from group %s" => "No es pot eliminar l'usuari del grup %s", "Disable" => "Desactiva", "Enable" => "Activa", "Saving..." => "S'està desant...", "__language_name__" => "Català", -"Security Warning" => "Avís de seguretat", -"Your data directory and your files are probably accessible from the internet. The .htaccess file that ownCloud provides is not working. We strongly suggest that you configure your webserver in a way that the data directory is no longer accessible or you move the data directory outside the webserver document root." => "La carpeta de dades i els vostres fitxersprobablement són accessibles des d'Internet. La fitxer .htaccess que ownCloud proporciona no funciona. Us recomanem que configureu el servidor web de tal manera que la carpeta de dades no sigui accessible o que moveu la carpeta de dades fora de l'arrel de documents del servidor web.", -"Cron" => "Cron", -"Execute one task with each page loaded" => "Executar una tasca de cada pàgina carregada", -"cron.php is registered at a webcron service. Call the cron.php page in the owncloud root once a minute over http." => "cron.php està registrat en un servei webcron. Feu una crida a la pàgina cron.php a l'arrel de ownCloud cada minut a través de http.", -"Use systems cron service. Call the cron.php file in the owncloud folder via a system cronjob once a minute." => "Utilitzeu el sistema de servei cron. Cridar el arxiu cron.php de la carpeta owncloud cada minut utilitzant el sistema de tasques cron.", -"Sharing" => "Compartir", -"Enable Share API" => "Activa l'API de compartir", -"Allow apps to use the Share API" => "Permet que les aplicacions usin l'API de compartir", -"Allow links" => "Permet enllaços", -"Allow users to share items to the public with links" => "Permet als usuaris compartir elements amb el públic amb enllaços", -"Allow resharing" => "Permet compartir de nou", -"Allow users to share items shared with them again" => "Permet als usuaris comparir elements ja compartits amb ells", -"Allow users to share with anyone" => "Permet als usuaris compartir amb qualsevol", -"Allow users to only share with users in their groups" => "Permet als usuaris compartir només amb usuaris del seu grup", -"Log" => "Registre", -"More" => "Més", -"Developed by the ownCloud community, the source code is licensed under the AGPL." => "Desenvolupat per la comunitat ownCloud, el codi font té llicència AGPL.", "Add your App" => "Afegiu la vostra aplicació", "More Apps" => "Més aplicacions", "Select an App" => "Seleccioneu una aplicació", @@ -46,7 +29,7 @@ "Problems connecting to help database." => "Problemes per connectar amb la base de dades d'ajuda.", "Go there manually." => "Vés-hi manualment.", "Answer" => "Resposta", -"You have used %s of the available %s" => "Ha utilitzat %s de la %s disponible", +"You have used %s of the available %s" => "Heu utilitzat %s d'un total disponible de %s", "Desktop and Mobile Syncing Clients" => "Clients de sincronització d'escriptori i de mòbil", "Download" => "Baixada", "Your password was changed" => "La seva contrasenya s'ha canviat", @@ -61,6 +44,7 @@ "Language" => "Idioma", "Help translate" => "Ajudeu-nos amb la traducció", "use this address to connect to your ownCloud in your file manager" => "useu aquesta adreça per connectar-vos a ownCloud des del gestor de fitxers", +"Developed by the ownCloud community, the source code is licensed under the AGPL." => "Desenvolupat per la comunitat ownCloud, el codi font té llicència AGPL.", "Name" => "Nom", "Password" => "Contrasenya", "Groups" => "Grups", diff --git a/settings/l10n/cs_CZ.php b/settings/l10n/cs_CZ.php index c0f7ebd868624ac57eaa5983f8315a9a22a8d614..ee30583b0462bf606746a689bd45c6894f30dd2a 100644 --- a/settings/l10n/cs_CZ.php +++ b/settings/l10n/cs_CZ.php @@ -1,6 +1,5 @@ "Nelze načíst seznam z App Store", -"Authentication error" => "Chyba ověření", "Group already exists" => "Skupina již existuje", "Unable to add group" => "Nelze přidat skupinu", "Could not enable app. " => "Nelze povolit aplikaci.", @@ -9,32 +8,16 @@ "OpenID Changed" => "OpenID změněno", "Invalid request" => "Neplatný požadavek", "Unable to delete group" => "Nelze smazat skupinu", +"Authentication error" => "Chyba ověření", "Unable to delete user" => "Nelze smazat uživatele", "Language changed" => "Jazyk byl změněn", +"Admins can't remove themself from the admin group" => "Správci se nemohou odebrat sami ze skupiny správců", "Unable to add user to group %s" => "Nelze přidat uživatele do skupiny %s", "Unable to remove user from group %s" => "Nelze odstranit uživatele ze skupiny %s", "Disable" => "Zakázat", "Enable" => "Povolit", "Saving..." => "Ukládám...", "__language_name__" => "Česky", -"Security Warning" => "Bezpečnostní varování", -"Your data directory and your files are probably accessible from the internet. The .htaccess file that ownCloud provides is not working. We strongly suggest that you configure your webserver in a way that the data directory is no longer accessible or you move the data directory outside the webserver document root." => "Váš adresář dat a soubory jsou pravděpodobně přístupné z internetu. Soubor .htacces, který ownCloud poskytuje nefunguje. Doporučujeme Vám abyste nastavili Váš webový server tak, aby nebylo možno přistupovat do adresáře s daty, nebo přesunuli adresář dat mimo kořenovou složku dokumentů webového serveru.", -"Cron" => "Cron", -"Execute one task with each page loaded" => "Spustit jednu úlohu s každou načtenou stránkou", -"cron.php is registered at a webcron service. Call the cron.php page in the owncloud root once a minute over http." => "cron.php je registrován u služby webcron. Zavolá stránku cron.php v kořenovém adresáři owncloud každou minutu skrze http.", -"Use systems cron service. Call the cron.php file in the owncloud folder via a system cronjob once a minute." => "Použít systémovou službu cron. Zavolat soubor cron.php ze složky owncloud pomocí systémové úlohy cron každou minutu.", -"Sharing" => "Sdílení", -"Enable Share API" => "Povolit API sdílení", -"Allow apps to use the Share API" => "Povolit aplikacím používat API sdílení", -"Allow links" => "Povolit odkazy", -"Allow users to share items to the public with links" => "Povolit uživatelům sdílet položky s veřejností pomocí odkazů", -"Allow resharing" => "Povolit znovu-sdílení", -"Allow users to share items shared with them again" => "Povolit uživatelům znovu sdílet položky, které jsou pro ně sdíleny", -"Allow users to share with anyone" => "Povolit uživatelům sdílet s kýmkoliv", -"Allow users to only share with users in their groups" => "Povolit uživatelům sdílet pouze s uživateli v jejich skupinách", -"Log" => "Záznam", -"More" => "Více", -"Developed by the ownCloud community, the source code is licensed under the AGPL." => "Vyvinuto komunitou ownCloud, zdrojový kód je licencován pod AGPL.", "Add your App" => "Přidat Vaší aplikaci", "More Apps" => "Více aplikací", "Select an App" => "Vyberte aplikaci", @@ -46,7 +29,7 @@ "Problems connecting to help database." => "Problémy s připojením k databázi s nápovědou.", "Go there manually." => "Přejít ručně.", "Answer" => "Odpověď", -"You have used %s of the available %s" => "Použili jste %s z dostupných %s", +"You have used %s of the available %s" => "Používáte %s z %s dostupných", "Desktop and Mobile Syncing Clients" => "Klienti pro synchronizaci", "Download" => "Stáhnout", "Your password was changed" => "Vaše heslo bylo změněno", @@ -61,6 +44,7 @@ "Language" => "Jazyk", "Help translate" => "Pomoci s překladem", "use this address to connect to your ownCloud in your file manager" => "tuto adresu použijte pro připojení k ownCloud ve Vašem správci souborů", +"Developed by the ownCloud community, the source code is licensed under the AGPL." => "Vyvinuto komunitou ownCloud, zdrojový kód je licencován pod AGPL.", "Name" => "Jméno", "Password" => "Heslo", "Groups" => "Skupiny", diff --git a/settings/l10n/da.php b/settings/l10n/da.php index f93d7b6cd11118ccfff71ba71ed8c800e33a33f8..3d82f6e4a0b9ad2756e55a7294ffd6c431ece255 100644 --- a/settings/l10n/da.php +++ b/settings/l10n/da.php @@ -1,6 +1,5 @@ "Kunne ikke indlæse listen fra App Store", -"Authentication error" => "Adgangsfejl", "Group already exists" => "Gruppen findes allerede", "Unable to add group" => "Gruppen kan ikke oprettes", "Could not enable app. " => "Applikationen kunne ikke aktiveres.", @@ -9,6 +8,7 @@ "OpenID Changed" => "OpenID ændret", "Invalid request" => "Ugyldig forespørgsel", "Unable to delete group" => "Gruppen kan ikke slettes", +"Authentication error" => "Adgangsfejl", "Unable to delete user" => "Bruger kan ikke slettes", "Language changed" => "Sprog ændret", "Unable to add user to group %s" => "Brugeren kan ikke tilføjes til gruppen %s", @@ -17,24 +17,6 @@ "Enable" => "Aktiver", "Saving..." => "Gemmer...", "__language_name__" => "Dansk", -"Security Warning" => "Sikkerhedsadvarsel", -"Your data directory and your files are probably accessible from the internet. The .htaccess file that ownCloud provides is not working. We strongly suggest that you configure your webserver in a way that the data directory is no longer accessible or you move the data directory outside the webserver document root." => "Din datamappe og dine filer er formentligt tilgængelige fra internettet.\n.htaccess-filen, som ownCloud leverer, fungerer ikke. Vi anbefaler stærkt, at du opsætter din server på en måde, så datamappen ikke længere er direkte tilgængelig, eller at du flytter datamappen udenfor serverens tilgængelige rodfilsystem.", -"Cron" => "Cron", -"Execute one task with each page loaded" => "Udfør en opgave med hver side indlæst", -"cron.php is registered at a webcron service. Call the cron.php page in the owncloud root once a minute over http." => "cron.php er registreret hos en webcron-tjeneste. Kald cron.php-siden i ownClouds rodmappe en gang i minuttet over http.", -"Use systems cron service. Call the cron.php file in the owncloud folder via a system cronjob once a minute." => "vend systemets cron-tjeneste. Kald cron.php-filen i ownCloud-mappen ved hjælp af systemets cronjob en gang i minuttet.", -"Sharing" => "Deling", -"Enable Share API" => "Aktiver dele API", -"Allow apps to use the Share API" => "Tillad apps a bruge dele APIen", -"Allow links" => "Tillad links", -"Allow users to share items to the public with links" => "Tillad brugere at dele elementer med offentligheden med links", -"Allow resharing" => "Tillad gendeling", -"Allow users to share items shared with them again" => "Tillad brugere at dele elementer, som er blevet delt med dem, videre til andre", -"Allow users to share with anyone" => "Tillad brugere at dele med hvem som helst", -"Allow users to only share with users in their groups" => "Tillad kun deling med brugere i brugerens egen gruppe", -"Log" => "Log", -"More" => "Mere", -"Developed by the ownCloud community, the source code is licensed under the AGPL." => "Udviklet af ownClouds community, og kildekoden er underlagt licensen AGPL.", "Add your App" => "Tilføj din App", "More Apps" => "Flere Apps", "Select an App" => "Vælg en App", @@ -46,7 +28,6 @@ "Problems connecting to help database." => "Problemer med at forbinde til hjælpe-databasen.", "Go there manually." => "Gå derhen manuelt.", "Answer" => "Svar", -"You have used %s of the available %s" => "Du har brugt %s af de tilgængelige %s", "Desktop and Mobile Syncing Clients" => "Synkroniserings programmer for desktop og mobil", "Download" => "Download", "Your password was changed" => "Din adgangskode blev ændret", @@ -61,6 +42,7 @@ "Language" => "Sprog", "Help translate" => "Hjælp med oversættelsen", "use this address to connect to your ownCloud in your file manager" => "benyt denne adresse til at forbinde til din ownCloud i din filbrowser", +"Developed by the ownCloud community, the source code is licensed under the AGPL." => "Udviklet af ownClouds community, og kildekoden er underlagt licensen AGPL.", "Name" => "Navn", "Password" => "Kodeord", "Groups" => "Grupper", diff --git a/settings/l10n/de.php b/settings/l10n/de.php index 391dcc95c1feb1feb9c14fc6c1b5801b886c1635..33de45a9225a2324413c163731adfe5d873a9719 100644 --- a/settings/l10n/de.php +++ b/settings/l10n/de.php @@ -1,6 +1,5 @@ "Die Liste der Anwendungen im Store konnte nicht geladen werden.", -"Authentication error" => "Fehler bei der Anmeldung", "Group already exists" => "Gruppe existiert bereits", "Unable to add group" => "Gruppe konnte nicht angelegt werden", "Could not enable app. " => "App konnte nicht aktiviert werden.", @@ -9,32 +8,16 @@ "OpenID Changed" => "OpenID geändert", "Invalid request" => "Ungültige Anfrage", "Unable to delete group" => "Gruppe konnte nicht gelöscht werden", +"Authentication error" => "Fehler bei der Anmeldung", "Unable to delete user" => "Benutzer konnte nicht gelöscht werden", "Language changed" => "Sprache geändert", +"Admins can't remove themself from the admin group" => "Administratoren können sich nicht selbst aus der Admin-Gruppe löschen.", "Unable to add user to group %s" => "Der Benutzer konnte nicht zur Gruppe %s hinzugefügt werden", "Unable to remove user from group %s" => "Der Benutzer konnte nicht aus der Gruppe %s entfernt werden", "Disable" => "Deaktivieren", "Enable" => "Aktivieren", "Saving..." => "Speichern...", -"__language_name__" => "Deutsch", -"Security Warning" => "Sicherheitshinweis", -"Your data directory and your files are probably accessible from the internet. The .htaccess file that ownCloud provides is not working. We strongly suggest that you configure your webserver in a way that the data directory is no longer accessible or you move the data directory outside the webserver document root." => "Ihr Datenverzeichnis ist möglicher Weise aus dem Internet erreichbar. Die .htaccess-Datei von ownCloud funktioniert nicht. Wir raten Ihnen dringend, dass Sie Ihren Webserver dahingehend konfigurieren, dass Ihr Datenverzeichnis nicht länger aus dem Internet erreichbar ist, oder Sie verschieben das Datenverzeichnis außerhalb des Wurzelverzeichnisses des Webservers.", -"Cron" => "Cron-Jobs", -"Execute one task with each page loaded" => "Führe eine Aufgabe bei jeder geladenen Seite aus.", -"cron.php is registered at a webcron service. Call the cron.php page in the owncloud root once a minute over http." => "cron.php ist bei einem Webcron-Dienst registriert. Ruf die Seite cron.php im ownCloud-Root minütlich per HTTP auf.", -"Use systems cron service. Call the cron.php file in the owncloud folder via a system cronjob once a minute." => "Benutze den System-Crondienst. Bitte ruf die cron.php im ownCloud-Ordner über einen System-Cronjob minütlich auf.", -"Sharing" => "Freigabe", -"Enable Share API" => "Freigabe-API aktivieren", -"Allow apps to use the Share API" => "Erlaubt Anwendungen, die Freigabe-API zu nutzen", -"Allow links" => "Links erlauben", -"Allow users to share items to the public with links" => "Erlaube Nutzern, Dateien mithilfe von Links öffentlich zu teilen", -"Allow resharing" => "Erneutes Teilen erlauben", -"Allow users to share items shared with them again" => "Erlaubt Nutzern, Dateien die mit ihnen geteilt wurden, erneut zu teilen", -"Allow users to share with anyone" => "Erlaubet Nutzern mit jedem zu Teilen", -"Allow users to only share with users in their groups" => "Erlaubet Nutzern nur das Teilen in ihrer Gruppe", -"Log" => "Log", -"More" => "Mehr", -"Developed by the ownCloud community, the source code is licensed under the AGPL." => "Entwickelt von der ownCloud-Community, der Quellcode ist unter der AGPL lizenziert.", +"__language_name__" => "Deutsch (Persönlich)", "Add your App" => "Füge Deine Anwendung hinzu", "More Apps" => "Weitere Anwendungen", "Select an App" => "Wähle eine Anwendung aus", @@ -46,7 +29,7 @@ "Problems connecting to help database." => "Probleme bei der Verbindung zur Hilfe-Datenbank.", "Go there manually." => "Datenbank direkt besuchen.", "Answer" => "Antwort", -"You have used %s of the available %s" => "Du verwendest %s der verfügbaren %s", +"You have used %s of the available %s" => "Du verwendest %s der verfügbaren %s", "Desktop and Mobile Syncing Clients" => "Desktop- und mobile Clients für die Synchronisation", "Download" => "Download", "Your password was changed" => "Dein Passwort wurde geändert.", @@ -60,7 +43,8 @@ "Fill in an email address to enable password recovery" => "Trage eine E-Mail-Adresse ein, um die Passwort-Wiederherstellung zu aktivieren.", "Language" => "Sprache", "Help translate" => "Hilf bei der Übersetzung", -"use this address to connect to your ownCloud in your file manager" => "Benutzen Sie diese Adresse, um Ihre ownCloud mit Ihrem Dateimanager zu verbinden.", +"use this address to connect to your ownCloud in your file manager" => "Verwende diese Adresse, um Deine ownCloud mit Deinem Dateimanager zu verbinden.", +"Developed by the ownCloud community, the source code is licensed under the AGPL." => "Entwickelt von der ownCloud-Community, der Quellcode ist unter der AGPL lizenziert.", "Name" => "Name", "Password" => "Passwort", "Groups" => "Gruppen", diff --git a/settings/l10n/de_DE.php b/settings/l10n/de_DE.php new file mode 100644 index 0000000000000000000000000000000000000000..9db7cb93c365f4ab75809658405e8f583ccf4606 --- /dev/null +++ b/settings/l10n/de_DE.php @@ -0,0 +1,57 @@ + "Die Liste der Anwendungen im Store konnte nicht geladen werden.", +"Group already exists" => "Die Gruppe existiert bereits", +"Unable to add group" => "Die Gruppe konnte nicht angelegt werden", +"Could not enable app. " => "Die Anwendung konnte nicht aktiviert werden.", +"Email saved" => "E-Mail-Adresse gespeichert", +"Invalid email" => "Ungültige E-Mail-Adresse", +"OpenID Changed" => "OpenID geändert", +"Invalid request" => "Ungültige Anfrage", +"Unable to delete group" => "Die Gruppe konnte nicht gelöscht werden", +"Authentication error" => "Fehler bei der Anmeldung", +"Unable to delete user" => "Der Benutzer konnte nicht gelöscht werden", +"Language changed" => "Sprache geändert", +"Admins can't remove themself from the admin group" => "Administratoren können sich nicht selbst aus der admin-Gruppe löschen", +"Unable to add user to group %s" => "Der Benutzer konnte nicht zur Gruppe %s hinzugefügt werden", +"Unable to remove user from group %s" => "Der Benutzer konnte nicht aus der Gruppe %s entfernt werden", +"Disable" => "Deaktivieren", +"Enable" => "Aktivieren", +"Saving..." => "Speichern...", +"__language_name__" => "Deutsch (Förmlich: Sie)", +"Add your App" => "Fügen Sie Ihre Anwendung hinzu", +"More Apps" => "Weitere Anwendungen", +"Select an App" => "Wählen Sie eine Anwendung aus", +"See application page at apps.owncloud.com" => "Weitere Anwendungen finden Sie auf apps.owncloud.com", +"-licensed by " => "-lizenziert von ", +"Documentation" => "Dokumentation", +"Managing Big Files" => "Große Dateien verwalten", +"Ask a question" => "Stellen Sie eine Frage", +"Problems connecting to help database." => "Probleme bei der Verbindung zur Hilfe-Datenbank.", +"Go there manually." => "Datenbank direkt besuchen.", +"Answer" => "Antwort", +"You have used %s of the available %s" => "Sie verwenden %s der verfügbaren %s", +"Desktop and Mobile Syncing Clients" => "Desktop- und mobile Clients für die Synchronisation", +"Download" => "Download", +"Your password was changed" => "Ihr Passwort wurde geändert.", +"Unable to change your password" => "Das Passwort konnte nicht geändert werden", +"Current password" => "Aktuelles Passwort", +"New password" => "Neues Passwort", +"show" => "zeigen", +"Change password" => "Passwort ändern", +"Email" => "E-Mail", +"Your email address" => "Ihre E-Mail-Adresse", +"Fill in an email address to enable password recovery" => "Bitte tragen Sie eine E-Mail-Adresse ein, um die Passwort-Wiederherstellung zu aktivieren.", +"Language" => "Sprache", +"Help translate" => "Helfen Sie bei der Übersetzung", +"use this address to connect to your ownCloud in your file manager" => "Benutzen Sie diese Adresse, um Ihre ownCloud mit Ihrem Dateimanager zu verbinden.", +"Developed by the ownCloud community, the source code is licensed under the AGPL." => "Entwickelt von der ownCloud-Community, der Quellcode ist unter der AGPL lizenziert.", +"Name" => "Name", +"Password" => "Passwort", +"Groups" => "Gruppen", +"Create" => "Anlegen", +"Default Quota" => "Standard-Quota", +"Other" => "Andere", +"Group Admin" => "Gruppenadministrator", +"Quota" => "Quota", +"Delete" => "Löschen" +); diff --git a/settings/l10n/el.php b/settings/l10n/el.php index bf74d0bde2121f3bbe79dac5e35d6db21f33ed16..ac62453886c77e6db174f06d728b5f0dea6e5dad 100644 --- a/settings/l10n/el.php +++ b/settings/l10n/el.php @@ -1,6 +1,5 @@ "Σφάλμα στην φόρτωση της λίστας από το App Store", -"Authentication error" => "Σφάλμα πιστοποίησης", "Group already exists" => "Η ομάδα υπάρχει ήδη", "Unable to add group" => "Αδυναμία προσθήκης ομάδας", "Could not enable app. " => "Αδυναμία ενεργοποίησης εφαρμογής ", @@ -9,32 +8,16 @@ "OpenID Changed" => "Το OpenID άλλαξε", "Invalid request" => "Μη έγκυρο αίτημα", "Unable to delete group" => "Αδυναμία διαγραφής ομάδας", +"Authentication error" => "Σφάλμα πιστοποίησης", "Unable to delete user" => "Αδυναμία διαγραφής χρήστη", "Language changed" => "Η γλώσσα άλλαξε", +"Admins can't remove themself from the admin group" => "Οι διαχειριστές δεν μπορούν να αφαιρέσουν τους εαυτούς τους από την ομάδα των διαχειριστών", "Unable to add user to group %s" => "Αδυναμία προσθήκη χρήστη στην ομάδα %s", "Unable to remove user from group %s" => "Αδυναμία αφαίρεσης χρήστη από την ομάδα %s", "Disable" => "Απενεργοποίηση", "Enable" => "Ενεργοποίηση", "Saving..." => "Αποθήκευση...", "__language_name__" => "__όνομα_γλώσσας__", -"Security Warning" => "Προειδοποίηση Ασφαλείας", -"Your data directory and your files are probably accessible from the internet. The .htaccess file that ownCloud provides is not working. We strongly suggest that you configure your webserver in a way that the data directory is no longer accessible or you move the data directory outside the webserver document root." => "Ο κατάλογος δεδομένων και τα αρχεία σας είναι πιθανότατα προσβάσιμα από το διαδίκτυο. Το αρχείο .htaccess που παρέχει το owncloud, δεν λειτουργεί. Σας συνιστούμε να ρυθμίσετε τον εξυπηρετητή σας έτσι ώστε ο κατάλογος δεδομένων να μην είναι πλεον προσβάσιμος ή μετακινήστε τον κατάλογο δεδομένων εκτός του καταλόγου document του εξυπηρετητή σας.", -"Cron" => "Cron", -"Execute one task with each page loaded" => "Εκτέλεση μιας εργασίας με κάθε σελίδα που φορτώνεται", -"cron.php is registered at a webcron service. Call the cron.php page in the owncloud root once a minute over http." => "Το cron.php είναι καταχωρημένο στην υπηρεσία webcron. Να καλείται μια φορά το λεπτό η σελίδα cron.php από τον root του owncloud μέσω http", -"Use systems cron service. Call the cron.php file in the owncloud folder via a system cronjob once a minute." => "Χρήση υπηρεσίας συστήματος cron. Να καλείται μια φορά το λεπτό, το αρχείο cron.php από τον φάκελο του owncloud μέσω του cronjob του συστήματος.", -"Sharing" => "Διαμοιρασμός", -"Enable Share API" => "Ενεργοποίηση API Διαμοιρασμού", -"Allow apps to use the Share API" => "Να επιτρέπεται στις εφαρμογές να χρησιμοποιούν το API Διαμοιρασμού", -"Allow links" => "Να επιτρέπονται σύνδεσμοι", -"Allow users to share items to the public with links" => "Να επιτρέπεται στους χρήστες να διαμοιράζονται δημόσια με συνδέσμους", -"Allow resharing" => "Να επιτρέπεται ο επαναδιαμοιρασμός", -"Allow users to share items shared with them again" => "Να επιτρέπεται στους χρήστες να διαμοιράζουν ότι τους έχει διαμοιραστεί", -"Allow users to share with anyone" => "Να επιτρέπεται ο διαμοιρασμός με οποιονδήποτε", -"Allow users to only share with users in their groups" => "Να επιτρέπεται ο διαμοιρασμός μόνο με χρήστες της ίδιας ομάδας", -"Log" => "Αρχείο καταγραφής", -"More" => "Περισσότερα", -"Developed by the ownCloud community, the source code is licensed under the AGPL." => "Αναπτύχθηκε από την κοινότητα ownCloud, ο πηγαίος κώδικας είναι υπό άδεια χρήσης AGPL.", "Add your App" => "Πρόσθεστε τη Δικιά σας Εφαρμογή", "More Apps" => "Περισσότερες Εφαρμογές", "Select an App" => "Επιλέξτε μια Εφαρμογή", @@ -46,7 +29,7 @@ "Problems connecting to help database." => "Προβλήματα κατά τη σύνδεση με τη βάση δεδομένων βοήθειας.", "Go there manually." => "Χειροκίνητη μετάβαση.", "Answer" => "Απάντηση", -"You have used %s of the available %s" => "Έχετε χρησιμοποιήσει %s από τα διαθέσιμα %s", +"You have used %s of the available %s" => "Χρησιμοποιήσατε %s από διαθέσιμα %s", "Desktop and Mobile Syncing Clients" => "Πελάτες συγχρονισμού για Desktop και Mobile", "Download" => "Λήψη", "Your password was changed" => "Το συνθηματικό σας έχει αλλάξει", @@ -61,6 +44,7 @@ "Language" => "Γλώσσα", "Help translate" => "Βοηθήστε στη μετάφραση", "use this address to connect to your ownCloud in your file manager" => "χρησιμοποιήστε αυτήν τη διεύθυνση για να συνδεθείτε στο ownCloud σας από το διαχειριστή αρχείων σας", +"Developed by the ownCloud community, the source code is licensed under the AGPL." => "Αναπτύχθηκε από την κοινότητα ownCloud, ο πηγαίος κώδικας είναι υπό άδεια χρήσης AGPL.", "Name" => "Όνομα", "Password" => "Συνθηματικό", "Groups" => "Ομάδες", diff --git a/settings/l10n/eo.php b/settings/l10n/eo.php index 2c8263d292ff3f1b746b0a405fa659fc57ad9c2d..e686868e67c6bb549ab51ef92ffc49a590028871 100644 --- a/settings/l10n/eo.php +++ b/settings/l10n/eo.php @@ -1,6 +1,5 @@ "Ne eblis ŝargi liston el aplikaĵovendejo", -"Authentication error" => "Aŭtentiga eraro", "Group already exists" => "La grupo jam ekzistas", "Unable to add group" => "Ne eblis aldoni la grupon", "Could not enable app. " => "Ne eblis kapabligi la aplikaĵon.", @@ -9,27 +8,16 @@ "OpenID Changed" => "La agordo de OpenID estas ŝanĝita", "Invalid request" => "Nevalida peto", "Unable to delete group" => "Ne eblis forigi la grupon", +"Authentication error" => "Aŭtentiga eraro", "Unable to delete user" => "Ne eblis forigi la uzanton", "Language changed" => "La lingvo estas ŝanĝita", +"Admins can't remove themself from the admin group" => "Administrantoj ne povas forigi sin mem el la administra grupo.", "Unable to add user to group %s" => "Ne eblis aldoni la uzanton al la grupo %s", "Unable to remove user from group %s" => "Ne eblis forigi la uzantan el la grupo %s", "Disable" => "Malkapabligi", "Enable" => "Kapabligi", "Saving..." => "Konservante...", "__language_name__" => "Esperanto", -"Security Warning" => "Sekureca averto", -"Cron" => "Cron", -"Sharing" => "Kunhavigo", -"Enable Share API" => "Kapabligi API-on por Kunhavigo", -"Allow apps to use the Share API" => "Kapabligi aplikaĵojn uzi la API-on pri Kunhavigo", -"Allow links" => "Kapabligi ligilojn", -"Allow users to share items to the public with links" => "Kapabligi uzantojn kunhavigi erojn kun la publiko perligile", -"Allow resharing" => "Kapabligi rekunhavigon", -"Allow users to share items shared with them again" => "Kapabligi uzantojn rekunhavigi erojn kunhavigitajn kun ili", -"Allow users to share with anyone" => "Kapabligi uzantojn kunhavigi kun ĉiu ajn", -"Allow users to only share with users in their groups" => "Kapabligi uzantojn nur kunhavigi kun uzantoj el siaj grupoj", -"Log" => "Protokolo", -"More" => "Pli", "Add your App" => "Aldonu vian aplikaĵon", "More Apps" => "Pli da aplikaĵoj", "Select an App" => "Elekti aplikaĵon", @@ -41,7 +29,7 @@ "Problems connecting to help database." => "Problemoj okazis dum konektado al la helpa datumbazo.", "Go there manually." => "Iri tien mane.", "Answer" => "Respondi", -"You have used %s of the available %s" => "Vi uzas %s el la haveblaj %s", +"You have used %s of the available %s" => "Vi uzas %s el la haveblaj %s", "Desktop and Mobile Syncing Clients" => "Labortablaj kaj porteblaj sinkronigoklientoj", "Download" => "Elŝuti", "Your password was changed" => "Via pasvorto ŝanĝiĝis", @@ -56,6 +44,7 @@ "Language" => "Lingvo", "Help translate" => "Helpu traduki", "use this address to connect to your ownCloud in your file manager" => "uzu ĉi tiun adreson por konektiĝi al via ownCloud per via dosieradministrilo", +"Developed by the ownCloud community, the source code is licensed under the AGPL." => "Ellaborita de la komunumo de ownCloud, la fontokodo publikas laŭ la permesilo AGPL.", "Name" => "Nomo", "Password" => "Pasvorto", "Groups" => "Grupoj", diff --git a/settings/l10n/es.php b/settings/l10n/es.php index 9a578fa6368c7fbd40fb7b4c55c1d5594b6489b6..39f88ac4ea2de79ec90e54b2a84a7f8be394fb2c 100644 --- a/settings/l10n/es.php +++ b/settings/l10n/es.php @@ -1,6 +1,5 @@ "Imposible cargar la lista desde el App Store", -"Authentication error" => "Error de autenticación", "Group already exists" => "El grupo ya existe", "Unable to add group" => "No se pudo añadir el grupo", "Could not enable app. " => "No puedo habilitar la app.", @@ -9,32 +8,16 @@ "OpenID Changed" => "OpenID cambiado", "Invalid request" => "Solicitud no válida", "Unable to delete group" => "No se pudo eliminar el grupo", +"Authentication error" => "Error de autenticación", "Unable to delete user" => "No se pudo eliminar el usuario", "Language changed" => "Idioma cambiado", +"Admins can't remove themself from the admin group" => "Los administradores no se pueden eliminar a ellos mismos del grupo de administrador", "Unable to add user to group %s" => "Imposible añadir el usuario al grupo %s", "Unable to remove user from group %s" => "Imposible eliminar al usuario del grupo %s", "Disable" => "Desactivar", "Enable" => "Activar", "Saving..." => "Guardando...", "__language_name__" => "Castellano", -"Security Warning" => "Advertencia de seguridad", -"Your data directory and your files are probably accessible from the internet. The .htaccess file that ownCloud provides is not working. We strongly suggest that you configure your webserver in a way that the data directory is no longer accessible or you move the data directory outside the webserver document root." => "El directorio de datos -data- y sus archivos probablemente son accesibles desde internet. El archivo .htaccess que provee ownCloud no está funcionando. Recomendamos fuertemente que configure su servidor web de forma que el directorio de datos ya no sea accesible o mueva el directorio de datos fuera de la raíz de documentos del servidor web.", -"Cron" => "Cron", -"Execute one task with each page loaded" => "Ejecutar una tarea con cada página cargada", -"cron.php is registered at a webcron service. Call the cron.php page in the owncloud root once a minute over http." => "cron.php está registrado como un servicio del webcron. Llama a la página de cron.php en la raíz de owncloud cada minuto sobre http.", -"Use systems cron service. Call the cron.php file in the owncloud folder via a system cronjob once a minute." => "Usar el servicio de cron del sitema. Llame al fichero cron.php en la carpeta de owncloud via servidor cronjob cada minuto.", -"Sharing" => "Compartir", -"Enable Share API" => "Activar API de compartición", -"Allow apps to use the Share API" => "Permitir a las aplicaciones usar la API de compartición", -"Allow links" => "Permitir enlaces", -"Allow users to share items to the public with links" => "Permitir a los usuarios compartir elementos públicamente con enlaces", -"Allow resharing" => "Permitir re-compartir", -"Allow users to share items shared with them again" => "Permitir a los usuarios compartir elementos compartidos con ellos de nuevo", -"Allow users to share with anyone" => "Permitir a los usuarios compartir con cualquiera", -"Allow users to only share with users in their groups" => "Permitir a los usuarios compartir con usuarios en sus grupos", -"Log" => "Registro", -"More" => "Más", -"Developed by the ownCloud community, the source code is licensed under the AGPL." => "Desarrollado por la comunidad ownCloud, el código fuente está bajo licencia AGPL.", "Add your App" => "Añade tu aplicación", "More Apps" => "Más aplicaciones", "Select an App" => "Seleccionar una aplicación", @@ -46,7 +29,7 @@ "Problems connecting to help database." => "Problemas al conectar con la base de datos de ayuda.", "Go there manually." => "Ir manualmente", "Answer" => "Respuesta", -"You have used %s of the available %s" => "Ha usado %s de %s disponible", +"You have used %s of the available %s" => "Ha usado %s de %s disponibles", "Desktop and Mobile Syncing Clients" => "Clientes de sincronización móviles y de escritorio", "Download" => "Descargar", "Your password was changed" => "Su contraseña ha sido cambiada", @@ -61,6 +44,7 @@ "Language" => "Idioma", "Help translate" => "Ayúdanos a traducir", "use this address to connect to your ownCloud in your file manager" => "utiliza esta dirección para conectar a tu ownCloud desde tu gestor de archivos", +"Developed by the ownCloud community, the source code is licensed under the AGPL." => "Desarrollado por la comunidad ownCloud, el código fuente está bajo licencia AGPL.", "Name" => "Nombre", "Password" => "Contraseña", "Groups" => "Grupos", diff --git a/settings/l10n/es_AR.php b/settings/l10n/es_AR.php index 0b103406fabb2b7c40c229ed3917667f48ac1b61..ebbce841a8e519edd7fbecc9b8dd21abc491dafc 100644 --- a/settings/l10n/es_AR.php +++ b/settings/l10n/es_AR.php @@ -1,6 +1,5 @@ "Imposible cargar la lista desde el App Store", -"Authentication error" => "Error al autenticar", "Group already exists" => "El grupo ya existe", "Unable to add group" => "No fue posible añadir el grupo", "Could not enable app. " => "No se puede habilitar la aplicación.", @@ -9,32 +8,16 @@ "OpenID Changed" => "OpenID cambiado", "Invalid request" => "Solicitud no válida", "Unable to delete group" => "No fue posible eliminar el grupo", +"Authentication error" => "Error al autenticar", "Unable to delete user" => "No fue posible eliminar el usuario", "Language changed" => "Idioma cambiado", +"Admins can't remove themself from the admin group" => "Los administradores no se pueden quitar a ellos mismos del grupo administrador. ", "Unable to add user to group %s" => "No fue posible añadir el usuario al grupo %s", "Unable to remove user from group %s" => "No es posible eliminar al usuario del grupo %s", "Disable" => "Desactivar", "Enable" => "Activar", "Saving..." => "Guardando...", "__language_name__" => "Castellano (Argentina)", -"Security Warning" => "Advertencia de seguridad", -"Your data directory and your files are probably accessible from the internet. The .htaccess file that ownCloud provides is not working. We strongly suggest that you configure your webserver in a way that the data directory is no longer accessible or you move the data directory outside the webserver document root." => "El directorio de datos -data- y los archivos que contiene, probablemente son accesibles desde internet. El archivo .htaccess que provee ownCloud no está funcionando. Recomendamos fuertemente que configures su servidor web de forma que el directorio de datos ya no sea accesible o que muevas el directorio de datos fuera de la raíz de documentos del servidor web.", -"Cron" => "Cron", -"Execute one task with each page loaded" => "Ejecutar una tarea con cada página cargada", -"cron.php is registered at a webcron service. Call the cron.php page in the owncloud root once a minute over http." => "cron.php está registrado como un servicio del webcron. Llamá a la página de cron.php en la raíz de ownCloud cada minuto sobre http.", -"Use systems cron service. Call the cron.php file in the owncloud folder via a system cronjob once a minute." => "Usar el servicio de cron del sistema. Llamá al archivo cron.php en la carpeta de ownCloud via servidor cronjob cada minuto.", -"Sharing" => "Compartir", -"Enable Share API" => "Activar API de compartición", -"Allow apps to use the Share API" => "Permitir a las aplicaciones usar la API de compartición", -"Allow links" => "Permitir enlaces", -"Allow users to share items to the public with links" => "Permitir a los usuarios compartir elementos públicamente con enlaces", -"Allow resharing" => "Permitir re-compartir", -"Allow users to share items shared with them again" => "Permitir a los usuarios compartir elementos ya compartidos", -"Allow users to share with anyone" => "Permitir a los usuarios compartir con cualquiera", -"Allow users to only share with users in their groups" => "Permitir a los usuarios compartir con usuarios en sus grupos", -"Log" => "Registro", -"More" => "Más", -"Developed by the ownCloud community, the source code is licensed under the AGPL." => "Desarrollado por la comunidad ownCloud, el código fuente está bajo licencia AGPL.", "Add your App" => "Añadí tu aplicación", "More Apps" => "Más aplicaciones", "Select an App" => "Seleccionar una aplicación", @@ -46,7 +29,7 @@ "Problems connecting to help database." => "Problemas al conectar con la base de datos de ayuda.", "Go there manually." => "Ir de forma manual", "Answer" => "Respuesta", -"You have used %s of the available %s" => "Usaste %s de %s disponible", +"You have used %s of the available %s" => "Usaste %s de los %s disponibles", "Desktop and Mobile Syncing Clients" => "Clientes de sincronización para celulares, tablets y de escritorio", "Download" => "Descargar", "Your password was changed" => "Tu contraseña fue cambiada", @@ -61,13 +44,14 @@ "Language" => "Idioma", "Help translate" => "Ayudanos a traducir", "use this address to connect to your ownCloud in your file manager" => "usá esta dirección para conectarte a tu ownCloud desde tu gestor de archivos", +"Developed by the ownCloud community, the source code is licensed under the AGPL." => "Desarrollado por la comunidad ownCloud, el código fuente está bajo licencia AGPL.", "Name" => "Nombre", "Password" => "Contraseña", "Groups" => "Grupos", "Create" => "Crear", "Default Quota" => "Cuota predeterminada", "Other" => "Otro", -"Group Admin" => "Grupo admin", +"Group Admin" => "Grupo Administrador", "Quota" => "Cuota", "Delete" => "Borrar" ); diff --git a/settings/l10n/et_EE.php b/settings/l10n/et_EE.php index 42cb42bce97937f7f7bad6094879f63abbe2a0dc..17fd60b9490ca76d20b8a0e3bc8c2468b58b05e4 100644 --- a/settings/l10n/et_EE.php +++ b/settings/l10n/et_EE.php @@ -1,13 +1,14 @@ "App Sotre'i nimekirja laadimine ebaõnnestus", -"Authentication error" => "Autentimise viga", "Group already exists" => "Grupp on juba olemas", "Unable to add group" => "Keela grupi lisamine", +"Could not enable app. " => "Rakenduse sisselülitamine ebaõnnestus.", "Email saved" => "Kiri on salvestatud", "Invalid email" => "Vigane e-post", "OpenID Changed" => "OpenID on muudetud", "Invalid request" => "Vigane päring", "Unable to delete group" => "Keela grupi kustutamine", +"Authentication error" => "Autentimise viga", "Unable to delete user" => "Keela kasutaja kustutamine", "Language changed" => "Keel on muudetud", "Unable to add user to group %s" => "Kasutajat ei saa lisada gruppi %s", @@ -16,19 +17,8 @@ "Enable" => "Lülita sisse", "Saving..." => "Salvestamine...", "__language_name__" => "Eesti", -"Security Warning" => "Turvahoiatus", -"Cron" => "Ajastatud töö", -"Enable Share API" => "Luba jagamise API", -"Allow apps to use the Share API" => "Luba rakendustel kasutada jagamise API-t", -"Allow links" => "Luba linke", -"Allow users to share items to the public with links" => "Luba kasutajatel jagada kirjeid avalike linkidega", -"Allow resharing" => "Luba edasijagamine", -"Allow users to share items shared with them again" => "Luba kasutajatel jagada edasi kirjeid, mida on neile jagatud", -"Allow users to share with anyone" => "Luba kasutajatel kõigiga jagada", -"Allow users to only share with users in their groups" => "Luba kasutajatel jagada kirjeid ainult nende grupi liikmetele, millesse nad ise kuuluvad", -"Log" => "Logi", -"More" => "Veel", "Add your App" => "Lisa oma rakendus", +"More Apps" => "Veel rakendusi", "Select an App" => "Vali programm", "See application page at apps.owncloud.com" => "Vaata rakenduste lehte aadressil apps.owncloud.com", "-licensed by " => "-litsenseeritud ", @@ -40,6 +30,7 @@ "Answer" => "Vasta", "Desktop and Mobile Syncing Clients" => "Töölaua ja mobiiliga sünkroniseerimise rakendused", "Download" => "Lae alla", +"Your password was changed" => "Sinu parooli on muudetud", "Unable to change your password" => "Sa ei saa oma parooli muuta", "Current password" => "Praegune parool", "New password" => "Uus parool", diff --git a/settings/l10n/eu.php b/settings/l10n/eu.php index 4320b8ae6937f16e3d1657f919cd9260b01cc9d3..d6c87e0928b1625e49f704f979da00b11153cadd 100644 --- a/settings/l10n/eu.php +++ b/settings/l10n/eu.php @@ -1,6 +1,5 @@ "Ezin izan da App Dendatik zerrenda kargatu", -"Authentication error" => "Autentifikazio errorea", "Group already exists" => "Taldea dagoeneko existitzenda", "Unable to add group" => "Ezin izan da taldea gehitu", "Could not enable app. " => "Ezin izan da aplikazioa gaitu.", @@ -9,6 +8,7 @@ "OpenID Changed" => "OpenID aldatuta", "Invalid request" => "Baliogabeko eskaria", "Unable to delete group" => "Ezin izan da taldea ezabatu", +"Authentication error" => "Autentifikazio errorea", "Unable to delete user" => "Ezin izan da erabiltzailea ezabatu", "Language changed" => "Hizkuntza aldatuta", "Unable to add user to group %s" => "Ezin izan da erabiltzailea %s taldera gehitu", @@ -17,25 +17,8 @@ "Enable" => "Gaitu", "Saving..." => "Gordetzen...", "__language_name__" => "Euskera", -"Security Warning" => "Segurtasun abisua", -"Your data directory and your files are probably accessible from the internet. The .htaccess file that ownCloud provides is not working. We strongly suggest that you configure your webserver in a way that the data directory is no longer accessible or you move the data directory outside the webserver document root." => "Zure data karpeta eta zure fitxategiak internetetik zuzenean eskuragarri egon daitezke. ownCloudek emandako .htaccess fitxategia ez du bere lana egiten. Aholkatzen dizugu zure web zerbitzaria ongi konfiguratzea data karpeta eskuragarri ez izateko edo data karpeta web zerbitzariaren dokumentu errotik mugitzea.", -"Cron" => "Cron", -"Execute one task with each page loaded" => "Exekutatu zeregin bat orri karga bakoitzean", -"cron.php is registered at a webcron service. Call the cron.php page in the owncloud root once a minute over http." => "cron.php webcron zerbitzu batean erregistratua dago. Deitu cron.php orria ownclouden erroan minuturo http bidez.", -"Use systems cron service. Call the cron.php file in the owncloud folder via a system cronjob once a minute." => "Erabili sistemaren cron zerbitzua. Deitu cron.php fitxategia owncloud karpetan minuturo sistemaren cron lan baten bidez.", -"Sharing" => "Partekatzea", -"Enable Share API" => "Gaitu Partekatze APIa", -"Allow apps to use the Share API" => "Baimendu aplikazioak Partekatze APIa erabiltzeko", -"Allow links" => "Baimendu loturak", -"Allow users to share items to the public with links" => "Baimendu erabiltzaileak loturen bidez fitxategiak publikoki partekatzen", -"Allow resharing" => "Baimendu birpartekatzea", -"Allow users to share items shared with them again" => "Baimendu erabiltzaileak haiekin partekatutako fitxategiak berriz ere partekatzen", -"Allow users to share with anyone" => "Baimendu erabiltzaileak edonorekin partekatzen", -"Allow users to only share with users in their groups" => "Baimendu erabiltzaileak bakarrik bere taldeko erabiltzaileekin partekatzen", -"Log" => "Egunkaria", -"More" => "Gehiago", -"Developed by the ownCloud community, the source code is licensed under the AGPL." => "ownCloud komunitateak garatuta, itubruru kodeaAGPL lizentziarekin banatzen da.", "Add your App" => "Gehitu zure aplikazioa", +"More Apps" => "App gehiago", "Select an App" => "Aukeratu programa bat", "See application page at apps.owncloud.com" => "Ikusi programen orria apps.owncloud.com en", "-licensed by " => "-lizentziatua ", @@ -45,7 +28,7 @@ "Problems connecting to help database." => "Arazoak daude laguntza datubasera konektatzeko.", "Go there manually." => "Joan hara eskuz.", "Answer" => "Erantzun", -"You have used %s of the available %s" => "Eskuragarri dituzun %setik %s erabili duzu", +"You have used %s of the available %s" => "Dagoeneko %s erabili duzu eskuragarri duzun %setatik", "Desktop and Mobile Syncing Clients" => "Mahaigain eta mugikorren sinkronizazio bezeroak", "Download" => "Deskargatu", "Your password was changed" => "Zere pasahitza aldatu da", @@ -60,6 +43,7 @@ "Language" => "Hizkuntza", "Help translate" => "Lagundu itzultzen", "use this address to connect to your ownCloud in your file manager" => "erabili helbide hau zure fitxategi kudeatzailean zure ownCloudera konektatzeko", +"Developed by the ownCloud community, the source code is licensed under the AGPL." => "ownCloud komunitateak garatuta, itubruru kodeaAGPL lizentziarekin banatzen da.", "Name" => "Izena", "Password" => "Pasahitza", "Groups" => "Taldeak", diff --git a/settings/l10n/fa.php b/settings/l10n/fa.php index d8a49cc440b857d792057fa9311d50538dbc8e80..3dcb770c7303edc4a4ae96afd19a1883b1d5a94e 100644 --- a/settings/l10n/fa.php +++ b/settings/l10n/fa.php @@ -1,16 +1,15 @@ "قادر به بارگذاری لیست از فروشگاه اپ نیستم", "Email saved" => "ایمیل ذخیره شد", "Invalid email" => "ایمیل غیر قابل قبول", "OpenID Changed" => "OpenID تغییر کرد", "Invalid request" => "درخواست غیر قابل قبول", +"Authentication error" => "خطا در اعتبار سنجی", "Language changed" => "زبان تغییر کرد", "Disable" => "غیرفعال", "Enable" => "فعال", "Saving..." => "درحال ذخیره ...", "__language_name__" => "__language_name__", -"Security Warning" => "اخطار امنیتی", -"Log" => "کارنامه", -"More" => "بیشتر", "Add your App" => "برنامه خود را بیافزایید", "Select an App" => "یک برنامه انتخاب کنید", "See application page at apps.owncloud.com" => "صفحه این اٌپ را در apps.owncloud.com ببینید", @@ -22,6 +21,7 @@ "Answer" => "پاسخ", "Desktop and Mobile Syncing Clients" => " ابزار مدیریت با دسکتاپ و موبایل", "Download" => "بارگیری", +"Your password was changed" => "رمز عبور شما تغییر یافت", "Unable to change your password" => "ناتوان در تغییر گذرواژه", "Current password" => "گذرواژه کنونی", "New password" => "گذرواژه جدید", diff --git a/settings/l10n/fi_FI.php b/settings/l10n/fi_FI.php index 0969b6e3654476703451c8c9fe5bc025220c186b..d68ed8ebaae6c9c000b21a726c84e66a621b34ea 100644 --- a/settings/l10n/fi_FI.php +++ b/settings/l10n/fi_FI.php @@ -1,6 +1,5 @@ "Ei pystytä lataamaan listaa sovellusvarastosta (App Store)", -"Authentication error" => "Todennusvirhe", "Group already exists" => "Ryhmä on jo olemassa", "Unable to add group" => "Ryhmän lisäys epäonnistui", "Could not enable app. " => "Sovelluksen käyttöönotto epäonnistui.", @@ -9,40 +8,28 @@ "OpenID Changed" => "OpenID on vaihdettu", "Invalid request" => "Virheellinen pyyntö", "Unable to delete group" => "Ryhmän poisto epäonnistui", +"Authentication error" => "Todennusvirhe", "Unable to delete user" => "Käyttäjän poisto epäonnistui", "Language changed" => "Kieli on vaihdettu", +"Admins can't remove themself from the admin group" => "Ylläpitäjät eivät poistaa omia tunnuksiaan ylläpitäjien ryhmästä", "Unable to add user to group %s" => "Käyttäjän tai ryhmän %s lisääminen ei onnistu", "Unable to remove user from group %s" => "Käyttäjän poistaminen ryhmästä %s ei onnistu", "Disable" => "Poista käytöstä", "Enable" => "Käytä", "Saving..." => "Tallennetaan...", "__language_name__" => "_kielen_nimi_", -"Security Warning" => "Turvallisuusvaroitus", -"Your data directory and your files are probably accessible from the internet. The .htaccess file that ownCloud provides is not working. We strongly suggest that you configure your webserver in a way that the data directory is no longer accessible or you move the data directory outside the webserver document root." => "Data-kansio ja tiedostot ovat ehkä saavutettavissa Internetistä. .htaccess-tiedosto, jolla kontrolloidaan pääsyä, ei toimi. Suosittelemme, että muutat web-palvelimesi asetukset niin ettei data-kansio ole enää pääsyä tai siirrät data-kansion pois web-palvelimen tiedostojen juuresta.", -"Cron" => "Cron", -"Sharing" => "Jakaminen", -"Enable Share API" => "Ota käyttöön jaon ohjelmoitirajapinta (Share API)", -"Allow apps to use the Share API" => "Salli sovellusten käyttää jaon ohjelmointirajapintaa (Share API)", -"Allow links" => "Salli linkit", -"Allow users to share items to the public with links" => "Salli käyttäjien jakaa kohteita julkisesti linkkejä käyttäen", -"Allow resharing" => "Salli uudelleenjako", -"Allow users to share items shared with them again" => "Salli käyttäjien jakaa heille itselleen jaettuja tietoja edelleen", -"Allow users to share with anyone" => "Salli käyttäjien jakaa kohteita kenen tahansa kanssa", -"Allow users to only share with users in their groups" => "Salli käyttäjien jakaa kohteita vain omien ryhmien jäsenten kesken", -"Log" => "Loki", -"More" => "Lisää", -"Developed by the ownCloud community, the source code is licensed under the AGPL." => "Kehityksestä on vastannut ownCloud-yhteisö, lähdekoodi on julkaistu lisenssin AGPL alaisena.", -"Add your App" => "Lisää ohjelmasi", -"Select an App" => "Valitse ohjelma", +"Add your App" => "Lisää sovelluksesi", +"More Apps" => "Lisää sovelluksia", +"Select an App" => "Valitse sovellus", "See application page at apps.owncloud.com" => "Katso sovellussivu osoitteessa apps.owncloud.com", "-licensed by " => "-lisensoija ", "Documentation" => "Dokumentaatio", "Managing Big Files" => "Suurten tiedostojen hallinta", "Ask a question" => "Kysy jotain", "Problems connecting to help database." => "Virhe yhdistettäessä tietokantaan.", -"Go there manually." => "Ohje löytyy sieltä.", +"Go there manually." => "Siirry sinne itse.", "Answer" => "Vastaus", -"You have used %s of the available %s" => "Käytössäsi on %s/%s", +"You have used %s of the available %s" => "Käytössäsi on %s/%s", "Desktop and Mobile Syncing Clients" => "Tietokoneen ja mobiililaitteiden synkronointisovellukset", "Download" => "Lataa", "Your password was changed" => "Salasanasi vaihdettiin", @@ -57,6 +44,7 @@ "Language" => "Kieli", "Help translate" => "Auta kääntämisessä", "use this address to connect to your ownCloud in your file manager" => "voit yhdistää tiedostonhallintasovelluksellasi ownCloudiin käyttämällä tätä osoitetta", +"Developed by the ownCloud community, the source code is licensed under the AGPL." => "Kehityksestä on vastannut ownCloud-yhteisö, lähdekoodi on julkaistu lisenssin AGPL alaisena.", "Name" => "Nimi", "Password" => "Salasana", "Groups" => "Ryhmät", diff --git a/settings/l10n/fr.php b/settings/l10n/fr.php index 3a7bf0749bfb23a77fc65b89b34eb26e307f7a4d..8e5169fe0f3be2e08eab612877ac9f4b4e573cec 100644 --- a/settings/l10n/fr.php +++ b/settings/l10n/fr.php @@ -11,30 +11,13 @@ "Authentication error" => "Erreur d'authentification", "Unable to delete user" => "Impossible de supprimer l'utilisateur", "Language changed" => "Langue changée", +"Admins can't remove themself from the admin group" => "Les administrateurs ne peuvent pas se retirer eux-mêmes du groupe admin", "Unable to add user to group %s" => "Impossible d'ajouter l'utilisateur au groupe %s", "Unable to remove user from group %s" => "Impossible de supprimer l'utilisateur du groupe %s", "Disable" => "Désactiver", "Enable" => "Activer", "Saving..." => "Sauvegarde...", "__language_name__" => "Français", -"Security Warning" => "Alertes de sécurité", -"Your data directory and your files are probably accessible from the internet. The .htaccess file that ownCloud provides is not working. We strongly suggest that you configure your webserver in a way that the data directory is no longer accessible or you move the data directory outside the webserver document root." => "Votre répertoire de données et vos fichiers sont probablement accessibles depuis internet. Le fichier .htaccess fourni avec ownCloud ne fonctionne pas. Nous vous recommandons vivement de configurer votre serveur web de façon à ce que ce répertoire ne soit plus accessible, ou bien de déplacer le répertoire de données à l'extérieur de la racine du serveur web.", -"Cron" => "Cron", -"Execute one task with each page loaded" => "Exécute une tâche à chaque chargement de page", -"cron.php is registered at a webcron service. Call the cron.php page in the owncloud root once a minute over http." => "cron.php est enregistré en tant que service webcron. Veuillez appeler la page cron.php située à la racine du serveur ownCoud via http toute les minutes.", -"Use systems cron service. Call the cron.php file in the owncloud folder via a system cronjob once a minute." => "Utilise le service cron du système. Appelle le fichier cron.php du répertoire owncloud toutes les minutes grâce à une tâche cron du système.", -"Sharing" => "Partage", -"Enable Share API" => "Activer l'API de partage", -"Allow apps to use the Share API" => "Autoriser les applications à utiliser l'API de partage", -"Allow links" => "Autoriser les liens", -"Allow users to share items to the public with links" => "Autoriser les utilisateurs à partager du contenu public avec des liens", -"Allow resharing" => "Autoriser le re-partage", -"Allow users to share items shared with them again" => "Autoriser les utilisateurs à partager des éléments déjà partagés entre eux", -"Allow users to share with anyone" => "Autoriser les utilisateurs à partager avec tout le monde", -"Allow users to only share with users in their groups" => "Autoriser les utilisateurs à ne partager qu'avec les utilisateurs dans leurs groupes", -"Log" => "Journaux", -"More" => "Plus", -"Developed by the ownCloud community, the source code is licensed under the AGPL." => "Développé par la communauté ownCloud, le code source est publié sous license AGPL.", "Add your App" => "Ajoutez votre application", "More Apps" => "Plus d'applications…", "Select an App" => "Sélectionner une Application", @@ -46,7 +29,7 @@ "Problems connecting to help database." => "Problème de connexion à la base de données d'aide.", "Go there manually." => "S'y rendre manuellement.", "Answer" => "Réponse", -"You have used %s of the available %s" => "Vous avez utilisé %s des %s disponibles", +"You have used %s of the available %s" => "Vous avez utilisé %s des %s disponibles", "Desktop and Mobile Syncing Clients" => "Clients de synchronisation Mobile et Ordinateur", "Download" => "Télécharger", "Your password was changed" => "Votre mot de passe a été changé", @@ -61,6 +44,7 @@ "Language" => "Langue", "Help translate" => "Aidez à traduire", "use this address to connect to your ownCloud in your file manager" => "utilisez cette adresse pour vous connecter à votre ownCloud depuis un explorateur de fichiers", +"Developed by the ownCloud community, the source code is licensed under the AGPL." => "Développé par la communauté ownCloud, le code source est publié sous license AGPL.", "Name" => "Nom", "Password" => "Mot de passe", "Groups" => "Groupes", diff --git a/settings/l10n/gl.php b/settings/l10n/gl.php index a0fe0989149bbe7099f6f82fed736ebb32e25904..1cde895d0d9dff9e25a48967d1c1f1c84e255740 100644 --- a/settings/l10n/gl.php +++ b/settings/l10n/gl.php @@ -1,30 +1,38 @@ "Non se puido cargar a lista desde a App Store", -"Authentication error" => "Erro na autenticación", +"Group already exists" => "O grupo xa existe", +"Unable to add group" => "Non se pode engadir o grupo", +"Could not enable app. " => "Con se puido activar o aplicativo.", "Email saved" => "Correo electrónico gardado", "Invalid email" => "correo electrónico non válido", "OpenID Changed" => "Mudou o OpenID", "Invalid request" => "Petición incorrecta", +"Unable to delete group" => "Non se pode eliminar o grupo.", +"Authentication error" => "Erro na autenticación", +"Unable to delete user" => "Non se pode eliminar o usuario", "Language changed" => "O idioma mudou", -"Disable" => "Deshabilitar", -"Enable" => "Habilitar", +"Admins can't remove themself from the admin group" => "Os administradores non se pode eliminar a si mesmos do grupo admin", +"Unable to add user to group %s" => "Non se puido engadir o usuario ao grupo %s", +"Unable to remove user from group %s" => "Non se puido eliminar o usuario do grupo %s", +"Disable" => "Desactivar", +"Enable" => "Activar", "Saving..." => "Gardando...", "__language_name__" => "Galego", -"Security Warning" => "Aviso de seguridade", -"Cron" => "Cron", -"Log" => "Conectar", -"More" => "Máis", "Add your App" => "Engade o teu aplicativo", +"More Apps" => "Máis aplicativos", "Select an App" => "Escolla un Aplicativo", "See application page at apps.owncloud.com" => "Vexa a páxina do aplicativo en apps.owncloud.com", +"-licensed by " => "-licenciado por", "Documentation" => "Documentación", "Managing Big Files" => "Xestionar Grandes Ficheiros", "Ask a question" => "Pregunte", "Problems connecting to help database." => "Problemas conectando coa base de datos de axuda", "Go there manually." => "Ir manualmente.", "Answer" => "Resposta", +"You have used %s of the available %s" => "Tes usados %s do total dispoñíbel de %s", "Desktop and Mobile Syncing Clients" => "Cliente de sincronización de escritorio e móbil", "Download" => "Descargar", +"Your password was changed" => "O seu contrasinal foi cambiado", "Unable to change your password" => "Incapaz de trocar o seu contrasinal", "Current password" => "Contrasinal actual", "New password" => "Novo contrasinal", @@ -36,12 +44,14 @@ "Language" => "Idioma", "Help translate" => "Axude na tradución", "use this address to connect to your ownCloud in your file manager" => "utilice este enderezo para conectar ao seu ownCloud no xestor de ficheiros", +"Developed by the ownCloud community, the source code is licensed under the AGPL." => "Desenvolvido pola comunidade ownCloud, o código fonte está baixo a licenza AGPL.", "Name" => "Nome", "Password" => "Contrasinal", "Groups" => "Grupos", "Create" => "Crear", -"Default Quota" => "Cuota por omisión", +"Default Quota" => "Cota por omisión", "Other" => "Outro", +"Group Admin" => "Grupo Admin", "Quota" => "Cota", "Delete" => "Borrar" ); diff --git a/settings/l10n/he.php b/settings/l10n/he.php index bb98a876b82bc8c168435a448497baed85ecbe31..f82cc83d9f77434c098ca7b0b8f35d1a7339f270 100644 --- a/settings/l10n/he.php +++ b/settings/l10n/he.php @@ -1,26 +1,38 @@ "לא ניתן לטעון רשימה מה־App Store", +"Group already exists" => "הקבוצה כבר קיימת", +"Unable to add group" => "לא ניתן להוסיף קבוצה", +"Could not enable app. " => "לא ניתן להפעיל את היישום", "Email saved" => "הדוא״ל נשמר", "Invalid email" => "דוא״ל לא חוקי", "OpenID Changed" => "OpenID השתנה", "Invalid request" => "בקשה לא חוקית", +"Unable to delete group" => "לא ניתן למחוק את הקבוצה", +"Authentication error" => "שגיאת הזדהות", +"Unable to delete user" => "לא ניתן למחוק את המשתמש", "Language changed" => "שפה השתנתה", +"Admins can't remove themself from the admin group" => "מנהלים לא יכולים להסיר את עצמם מקבוצת המנהלים", +"Unable to add user to group %s" => "לא ניתן להוסיף משתמש לקבוצה %s", +"Unable to remove user from group %s" => "לא ניתן להסיר משתמש מהקבוצה %s", "Disable" => "בטל", "Enable" => "הפעל", "Saving..." => "שומר..", "__language_name__" => "עברית", -"Log" => "יומן", -"More" => "עוד", "Add your App" => "הוספת היישום שלך", +"More Apps" => "יישומים נוספים", "Select an App" => "בחירת יישום", "See application page at apps.owncloud.com" => "צפה בעמוד הישום ב apps.owncloud.com", +"-licensed by " => "ברישיון לטובת ", "Documentation" => "תיעוד", "Managing Big Files" => "ניהול קבצים גדולים", "Ask a question" => "שאל שאלה", "Problems connecting to help database." => "בעיות בהתחברות לבסיס נתוני העזרה", "Go there manually." => "גש לשם באופן ידני", "Answer" => "מענה", +"You have used %s of the available %s" => "השתמשת ב־%s מתוך %s הזמינים לך", "Desktop and Mobile Syncing Clients" => "לקוחות סנכרון למחשב שולחני ולנייד", "Download" => "הורדה", +"Your password was changed" => "הססמה שלך הוחלפה", "Unable to change your password" => "לא ניתן לשנות את הססמה שלך", "Current password" => "ססמה נוכחית", "New password" => "ססמה חדשה", @@ -32,12 +44,14 @@ "Language" => "פה", "Help translate" => "עזרה בתרגום", "use this address to connect to your ownCloud in your file manager" => "השתמש בכתובת זו כדי להתחבר ל־ownCloude שלך ממנהל הקבצים", +"Developed by the ownCloud community, the source code is licensed under the AGPL." => "פותח על די קהילתownCloud, קוד המקור מוגן ברישיון AGPL.", "Name" => "שם", "Password" => "ססמה", "Groups" => "קבוצות", "Create" => "יצירה", "Default Quota" => "מכסת בררת המחדל", "Other" => "אחר", +"Group Admin" => "מנהל הקבוצה", "Quota" => "מכסה", "Delete" => "מחיקה" ); diff --git a/settings/l10n/hi.php b/settings/l10n/hi.php new file mode 100644 index 0000000000000000000000000000000000000000..645b991a9123b60051215ef26bae5d9d34279cca --- /dev/null +++ b/settings/l10n/hi.php @@ -0,0 +1,4 @@ + "नया पासवर्ड", +"Password" => "पासवर्ड" +); diff --git a/settings/l10n/hr.php b/settings/l10n/hr.php index 587974c8c76b0a133d90869fc386bb8ff37346c5..7f2fefb90d5b4d31a280a5e78557b4e847b3c6ab 100644 --- a/settings/l10n/hr.php +++ b/settings/l10n/hr.php @@ -1,18 +1,15 @@ "Nemogićnost učitavanja liste sa Apps Stora", -"Authentication error" => "Greška kod autorizacije", "Email saved" => "Email spremljen", "Invalid email" => "Neispravan email", "OpenID Changed" => "OpenID promijenjen", "Invalid request" => "Neispravan zahtjev", +"Authentication error" => "Greška kod autorizacije", "Language changed" => "Jezik promijenjen", "Disable" => "Isključi", "Enable" => "Uključi", "Saving..." => "Spremanje...", "__language_name__" => "__ime_jezika__", -"Cron" => "Cron", -"Log" => "dnevnik", -"More" => "više", "Add your App" => "Dodajte vašu aplikaciju", "Select an App" => "Odaberite Aplikaciju", "See application page at apps.owncloud.com" => "Pogledajte stranicu s aplikacijama na apps.owncloud.com", diff --git a/settings/l10n/hu_HU.php b/settings/l10n/hu_HU.php index e58a0b6c199bf788eda37c002d18593b443b4b29..e587f7107aec4ac93f30c63831523967653af284 100644 --- a/settings/l10n/hu_HU.php +++ b/settings/l10n/hu_HU.php @@ -1,18 +1,15 @@ "Nem tölthető le a lista az App Store-ból", -"Authentication error" => "Hitelesítési hiba", "Email saved" => "Email mentve", "Invalid email" => "Hibás email", "OpenID Changed" => "OpenID megváltozott", "Invalid request" => "Érvénytelen kérés", +"Authentication error" => "Hitelesítési hiba", "Language changed" => "A nyelv megváltozott", "Disable" => "Letiltás", "Enable" => "Engedélyezés", "Saving..." => "Mentés...", "__language_name__" => "__language_name__", -"Security Warning" => "Biztonsági figyelmeztetés", -"Log" => "Napló", -"More" => "Tovább", "Add your App" => "App hozzáadása", "Select an App" => "Egy App kiválasztása", "See application page at apps.owncloud.com" => "Lásd apps.owncloud.com, alkalmazások oldal", diff --git a/settings/l10n/ia.php b/settings/l10n/ia.php index 398a59da1354c0c2c44555fa6a54ea57dd91035d..c5f4e7eaf24f1b91280b97f57585f40fb8e350f2 100644 --- a/settings/l10n/ia.php +++ b/settings/l10n/ia.php @@ -3,8 +3,6 @@ "Invalid request" => "Requesta invalide", "Language changed" => "Linguage cambiate", "__language_name__" => "Interlingua", -"Log" => "Registro", -"More" => "Plus", "Add your App" => "Adder tu application", "Select an App" => "Selectionar un app", "Documentation" => "Documentation", diff --git a/settings/l10n/id.php b/settings/l10n/id.php index 7ab21d7feaf01cb467fc316df765882ae8d069dd..ad89a4659d03da14a1cc141c0a9961e2b3c3bae5 100644 --- a/settings/l10n/id.php +++ b/settings/l10n/id.php @@ -3,14 +3,12 @@ "Invalid email" => "Email tidak sah", "OpenID Changed" => "OpenID telah dirubah", "Invalid request" => "Permintaan tidak valid", +"Authentication error" => "autentikasi bermasalah", "Language changed" => "Bahasa telah diganti", "Disable" => "NonAktifkan", "Enable" => "Aktifkan", "Saving..." => "Menyimpan...", "__language_name__" => "__language_name__", -"Security Warning" => "Peringatan Keamanan", -"Log" => "Log", -"More" => "Lebih", "Add your App" => "Tambahkan App anda", "Select an App" => "Pilih satu aplikasi", "See application page at apps.owncloud.com" => "Lihat halaman aplikasi di apps.owncloud.com", @@ -24,7 +22,7 @@ "Download" => "Unduh", "Unable to change your password" => "Tidak dapat merubah password anda", "Current password" => "Password saat ini", -"New password" => "Password baru", +"New password" => "kata kunci baru", "show" => "perlihatkan", "Change password" => "Rubah password", "Email" => "Email", diff --git a/settings/l10n/it.php b/settings/l10n/it.php index 0fc32c0b9319e65ebbb7f6948163eed3b541cc73..fa24156b589d557acc0ebcf55e0f589e2d042ade 100644 --- a/settings/l10n/it.php +++ b/settings/l10n/it.php @@ -1,6 +1,5 @@ "Impossibile caricare l'elenco dall'App Store", -"Authentication error" => "Errore di autenticazione", "Group already exists" => "Il gruppo esiste già", "Unable to add group" => "Impossibile aggiungere il gruppo", "Could not enable app. " => "Impossibile abilitare l'applicazione.", @@ -9,32 +8,16 @@ "OpenID Changed" => "OpenID modificato", "Invalid request" => "Richiesta non valida", "Unable to delete group" => "Impossibile eliminare il gruppo", +"Authentication error" => "Errore di autenticazione", "Unable to delete user" => "Impossibile eliminare l'utente", "Language changed" => "Lingua modificata", +"Admins can't remove themself from the admin group" => "Gli amministratori non possono rimuovere se stessi dal gruppo di amministrazione", "Unable to add user to group %s" => "Impossibile aggiungere l'utente al gruppo %s", "Unable to remove user from group %s" => "Impossibile rimuovere l'utente dal gruppo %s", "Disable" => "Disabilita", "Enable" => "Abilita", "Saving..." => "Salvataggio in corso...", "__language_name__" => "Italiano", -"Security Warning" => "Avviso di sicurezza", -"Your data directory and your files are probably accessible from the internet. The .htaccess file that ownCloud provides is not working. We strongly suggest that you configure your webserver in a way that the data directory is no longer accessible or you move the data directory outside the webserver document root." => "La cartella dei dati e i tuoi file sono probabilmente accessibili da Internet.\nIl file .htaccess fornito da ownCloud non funziona. Ti consigliamo vivamente di configurare il server web in modo che la cartella dei dati non sia più accessibile e spostare la cartella fuori dalla radice del server web.", -"Cron" => "Cron", -"Execute one task with each page loaded" => "Esegui un'operazione per ogni pagina caricata", -"cron.php is registered at a webcron service. Call the cron.php page in the owncloud root once a minute over http." => "cron.php è registrato su un servizio webcron. Chiama la pagina cron.php nella radice di owncloud ogni minuto su http.", -"Use systems cron service. Call the cron.php file in the owncloud folder via a system cronjob once a minute." => "Usa il servizio cron di sistema. Chiama il file cron.php nella cartella di owncloud tramite una pianificazione del cron di sistema ogni minuto.", -"Sharing" => "Condivisione", -"Enable Share API" => "Abilita API di condivisione", -"Allow apps to use the Share API" => "Consenti alle applicazioni di utilizzare le API di condivisione", -"Allow links" => "Consenti collegamenti", -"Allow users to share items to the public with links" => "Consenti agli utenti di condividere elementi al pubblico con collegamenti", -"Allow resharing" => "Consenti la ri-condivisione", -"Allow users to share items shared with them again" => "Consenti agli utenti di condividere elementi già condivisi", -"Allow users to share with anyone" => "Consenti agli utenti di condividere con chiunque", -"Allow users to only share with users in their groups" => "Consenti agli utenti di condividere con gli utenti del proprio gruppo", -"Log" => "Registro", -"More" => "Altro", -"Developed by the ownCloud community, the source code is licensed under the AGPL." => "Sviluppato dalla comunità di ownCloud, il codice sorgente è licenziato nei termini della AGPL.", "Add your App" => "Aggiungi la tua applicazione", "More Apps" => "Altre applicazioni", "Select an App" => "Seleziona un'applicazione", @@ -46,7 +29,7 @@ "Problems connecting to help database." => "Problemi di connessione al database di supporto.", "Go there manually." => "Raggiungilo manualmente.", "Answer" => "Risposta", -"You have used %s of the available %s" => "Hai utilizzato %s dei %s disponibili", +"You have used %s of the available %s" => "Hai utilizzato %s dei %s disponibili", "Desktop and Mobile Syncing Clients" => "Client di sincronizzazione desktop e mobile", "Download" => "Scaricamento", "Your password was changed" => "La tua password è cambiata", @@ -61,6 +44,7 @@ "Language" => "Lingua", "Help translate" => "Migliora la traduzione", "use this address to connect to your ownCloud in your file manager" => "usa questo indirizzo per connetterti al tuo ownCloud dal gestore file", +"Developed by the ownCloud community, the source code is licensed under the AGPL." => "Sviluppato dalla comunità di ownCloud, il codice sorgente è licenziato nei termini della AGPL.", "Name" => "Nome", "Password" => "Password", "Groups" => "Gruppi", diff --git a/settings/l10n/ja_JP.php b/settings/l10n/ja_JP.php index 81b7861a3be767d0a90c1b83833a356f599f239a..098cce843d78a774fd0ec5b3579e974a121a96f9 100644 --- a/settings/l10n/ja_JP.php +++ b/settings/l10n/ja_JP.php @@ -11,30 +11,13 @@ "Authentication error" => "認証エラー", "Unable to delete user" => "ユーザを削除できません", "Language changed" => "言語が変更されました", +"Admins can't remove themself from the admin group" => "管理者は自身を管理者グループから削除できません。", "Unable to add user to group %s" => "ユーザをグループ %s に追加できません", "Unable to remove user from group %s" => "ユーザをグループ %s から削除できません", "Disable" => "無効", "Enable" => "有効", "Saving..." => "保存中...", "__language_name__" => "Japanese (日本語)", -"Security Warning" => "セキュリティ警告", -"Your data directory and your files are probably accessible from the internet. The .htaccess file that ownCloud provides is not working. We strongly suggest that you configure your webserver in a way that the data directory is no longer accessible or you move the data directory outside the webserver document root." => "データディレクトリとファイルが恐らくインターネットからアクセスできるようになっています。ownCloudが提供する .htaccessファイルが機能していません。データディレクトリを全くアクセスできないようにするか、データディレクトリをウェブサーバのドキュメントルートの外に置くようにウェブサーバを設定することを強くお勧めします。", -"Cron" => "cron(自動定期実行)", -"Execute one task with each page loaded" => "各ページの読み込み時にタスクを1つ実行する", -"cron.php is registered at a webcron service. Call the cron.php page in the owncloud root once a minute over http." => "cron.php は webcron サービスとして登録されています。HTTP経由で1分間に1回の頻度で owncloud のルートページ内の cron.php ページを呼び出します。", -"Use systems cron service. Call the cron.php file in the owncloud folder via a system cronjob once a minute." => "システムのcronサービスを利用する。1分に1回の頻度でシステムのcronジョブによりowncloudフォルダ内のcron.phpファイルを呼び出してください。", -"Sharing" => "共有中", -"Enable Share API" => "Share APIを有効", -"Allow apps to use the Share API" => "Share APIの使用をアプリケーションに許可", -"Allow links" => "リンクを許可", -"Allow users to share items to the public with links" => "ユーザーがリンクによる公開でアイテムを共有することが出来るようにする", -"Allow resharing" => "再共有を許可", -"Allow users to share items shared with them again" => "ユーザーが共有されているアイテムをさらに共有することが出来るようにする", -"Allow users to share with anyone" => "ユーザーが誰にでも共有出来るようにする", -"Allow users to only share with users in their groups" => "ユーザーがグループの人にしか共有出来ないようにする", -"Log" => "ログ", -"More" => "もっと", -"Developed by the ownCloud community, the source code is licensed under the AGPL." => "ownCloud communityにより開発されています、ソースコードライセンスは、AGPL ライセンスにより提供されています。", "Add your App" => "アプリを追加", "More Apps" => "さらにアプリを表示", "Select an App" => "アプリを選択してください", @@ -46,7 +29,7 @@ "Problems connecting to help database." => "ヘルプデータベースへの接続時に問題が発生しました", "Go there manually." => "手動で移動してください。", "Answer" => "解答", -"You have used %s of the available %s" => "現在、 %s / %s を利用しています", +"You have used %s of the available %s" => "現在、%s / %s を利用しています", "Desktop and Mobile Syncing Clients" => "デスクトップおよびモバイル用の同期クライアント", "Download" => "ダウンロード", "Your password was changed" => "パスワードを変更しました", @@ -61,6 +44,7 @@ "Language" => "言語", "Help translate" => "翻訳に協力する", "use this address to connect to your ownCloud in your file manager" => "ファイルマネージャーであなたのownCloudに接続する際は、このアドレスを使用してください", +"Developed by the ownCloud community, the source code is licensed under the AGPL." => "ownCloud communityにより開発されています、ソースコードライセンスは、AGPL ライセンスにより提供されています。", "Name" => "名前", "Password" => "パスワード", "Groups" => "グループ", diff --git a/settings/l10n/ka_GE.php b/settings/l10n/ka_GE.php new file mode 100644 index 0000000000000000000000000000000000000000..d3ad88fe95f613024a652c07b3a7d186cff70ff5 --- /dev/null +++ b/settings/l10n/ka_GE.php @@ -0,0 +1,54 @@ + "აპლიკაციების სია ვერ ჩამოიტვირთა App Store", +"Group already exists" => "ჯგუფი უკვე არსებობს", +"Unable to add group" => "ჯგუფის დამატება ვერ მოხერხდა", +"Could not enable app. " => "ვერ მოხერხდა აპლიკაციის ჩართვა.", +"Email saved" => "იმეილი შენახულია", +"Invalid email" => "არასწორი იმეილი", +"OpenID Changed" => "OpenID შეცვლილია", +"Invalid request" => "არასწორი მოთხოვნა", +"Unable to delete group" => "ჯგუფის წაშლა ვერ მოხერხდა", +"Authentication error" => "ავთენტიფიკაციის შეცდომა", +"Unable to delete user" => "მომხმარებლის წაშლა ვერ მოხერხდა", +"Language changed" => "ენა შეცვლილია", +"Unable to add user to group %s" => "მომხმარებლის დამატება ვერ მოხეხდა ჯგუფში %s", +"Unable to remove user from group %s" => "მომხმარებლის წაშლა ვერ მოხეხდა ჯგუფიდან %s", +"Disable" => "გამორთვა", +"Enable" => "ჩართვა", +"Saving..." => "შენახვა...", +"__language_name__" => "__language_name__", +"Add your App" => "დაამატე შენი აპლიკაცია", +"More Apps" => "უფრო მეტი აპლიკაციები", +"Select an App" => "აირჩიეთ აპლიკაცია", +"See application page at apps.owncloud.com" => "ნახეთ აპლიკაციის გვერდი apps.owncloud.com –ზე", +"-licensed by " => "-ლიცენსირებულია ", +"Documentation" => "დოკუმენტაცია", +"Managing Big Files" => "დიდი ფაილების მენეჯმენტი", +"Ask a question" => "დასვით შეკითხვა", +"Problems connecting to help database." => "დახმარების ბაზასთან წვდომის პრობლემა", +"Go there manually." => "წადი იქ შენით.", +"Answer" => "პასუხი", +"Desktop and Mobile Syncing Clients" => "დესკტოპ და მობილური კლიენტების სინქრონიზაცია", +"Download" => "ჩამოტვირთვა", +"Your password was changed" => "თქვენი პაროლი შეიცვალა", +"Unable to change your password" => "თქვენი პაროლი არ შეიცვალა", +"Current password" => "მიმდინარე პაროლი", +"New password" => "ახალი პაროლი", +"show" => "გამოაჩინე", +"Change password" => "პაროლის შეცვლა", +"Email" => "იმეილი", +"Your email address" => "თქვენი იმეილ მისამართი", +"Fill in an email address to enable password recovery" => "შეავსეთ იმეილ მისამართის ველი პაროლის აღსადგენად", +"Language" => "ენა", +"Help translate" => "თარგმნის დახმარება", +"use this address to connect to your ownCloud in your file manager" => "გამოიყენე შემდეგი მისამართი ownCloud–თან დასაკავშირებლად შენს ფაილმენეჯერში", +"Name" => "სახელი", +"Password" => "პაროლი", +"Groups" => "ჯგუფი", +"Create" => "შექმნა", +"Default Quota" => "საწყისი ქვოტა", +"Other" => "სხვა", +"Group Admin" => "ჯგუფის ადმინისტრატორი", +"Quota" => "ქვოტა", +"Delete" => "წაშლა" +); diff --git a/settings/l10n/ko.php b/settings/l10n/ko.php index b2c00808967019caf6e5f49610ede4a63a1c4584..7e9ba19a8fdfcbba28e056023ed8c18a8c03ad96 100644 --- a/settings/l10n/ko.php +++ b/settings/l10n/ko.php @@ -1,47 +1,56 @@ "앱 스토어에서 목록을 가져올 수 없습니다", -"Authentication error" => "인증 오류", -"Email saved" => "이메일 저장", -"Invalid email" => "잘못된 이메일", +"Group already exists" => "그룹이 이미 존재합니다.", +"Unable to add group" => "그룹을 추가할 수 없습니다.", +"Could not enable app. " => "앱을 활성화할 수 없습니다.", +"Email saved" => "이메일 저장됨", +"Invalid email" => "잘못된 이메일 주소", "OpenID Changed" => "OpenID 변경됨", "Invalid request" => "잘못된 요청", +"Unable to delete group" => "그룹을 삭제할 수 없습니다.", +"Authentication error" => "인증 오류", +"Unable to delete user" => "사용자를 삭제할 수 없습니다.", "Language changed" => "언어가 변경되었습니다", +"Admins can't remove themself from the admin group" => "관리자 자신을 관리자 그룹에서 삭제할 수 없습니다", +"Unable to add user to group %s" => "그룹 %s에 사용자를 추가할 수 없습니다.", +"Unable to remove user from group %s" => "그룹 %s에서 사용자를 삭제할 수 없습니다.", "Disable" => "비활성화", "Enable" => "활성화", -"Saving..." => "저장...", +"Saving..." => "저장 중...", "__language_name__" => "한국어", -"Security Warning" => "보안 경고", -"Cron" => "크론", -"Log" => "로그", -"More" => "더", "Add your App" => "앱 추가", -"Select an App" => "프로그램 선택", -"See application page at apps.owncloud.com" => "application page at apps.owncloud.com을 보시오.", +"More Apps" => "더 많은 앱", +"Select an App" => "앱 선택", +"See application page at apps.owncloud.com" => "apps.owncloud.com에 있는 앱 페이지를 참고하십시오", +"-licensed by " => "-라이선스 보유자 ", "Documentation" => "문서", "Managing Big Files" => "큰 파일 관리", "Ask a question" => "질문하기", "Problems connecting to help database." => "데이터베이스에 연결하는 데 문제가 발생하였습니다.", "Go there manually." => "직접 갈 수 있습니다.", "Answer" => "대답", -"Desktop and Mobile Syncing Clients" => "데스크탑 및 모바일 동기화 클라이언트", +"You have used %s of the available %s" => "현재 공간 %s/%s을(를) 사용 중입니다", +"Desktop and Mobile Syncing Clients" => "데스크톱 및 모바일 동기화 클라이언트", "Download" => "다운로드", +"Your password was changed" => "암호가 변경되었습니다", "Unable to change your password" => "암호를 변경할 수 없음", "Current password" => "현재 암호", "New password" => "새 암호", "show" => "보이기", "Change password" => "암호 변경", -"Email" => "전자 우편", -"Your email address" => "전자 우편 주소", -"Fill in an email address to enable password recovery" => "암호 찾기 기능을 사용하려면 전자 우편 주소를 입력하십시오.", +"Email" => "이메일", +"Your email address" => "이메일 주소", +"Fill in an email address to enable password recovery" => "암호 찾기 기능을 사용하려면 이메일 주소를 입력하십시오.", "Language" => "언어", "Help translate" => "번역 돕기", "use this address to connect to your ownCloud in your file manager" => "파일 관리자에서 내 ownCloud에 연결할 때 이 주소를 사용하십시오", +"Developed by the ownCloud community, the source code is licensed under the AGPL." => "ownCloud 커뮤니티에 의해서 개발되었습니다. 원본 코드AGPL에 따라 사용이 허가됩니다.", "Name" => "이름", "Password" => "암호", "Groups" => "그룹", "Create" => "만들기", "Default Quota" => "기본 할당량", -"Other" => "다른", +"Other" => "기타", "Group Admin" => "그룹 관리자", "Quota" => "할당량", "Delete" => "삭제" diff --git a/settings/l10n/ku_IQ.php b/settings/l10n/ku_IQ.php new file mode 100644 index 0000000000000000000000000000000000000000..b4bdf2a6cedac65908cd938fc80374526c64ab66 --- /dev/null +++ b/settings/l10n/ku_IQ.php @@ -0,0 +1,10 @@ + "چالاککردن", +"Saving..." => "پاشکه‌وتده‌کات...", +"Documentation" => "به‌ڵگه‌نامه", +"Download" => "داگرتن", +"New password" => "وشەی نهێنی نوێ", +"Email" => "ئیمه‌یل", +"Name" => "ناو", +"Password" => "وشەی تێپەربو" +); diff --git a/settings/l10n/lb.php b/settings/l10n/lb.php index abad102bb59331e391d73bde7299e8ec483f52d0..440b81d44c93883d563efe9d1437287a09ec98f0 100644 --- a/settings/l10n/lb.php +++ b/settings/l10n/lb.php @@ -1,25 +1,15 @@ "Konnt Lescht net vum App Store lueden", -"Authentication error" => "Authentifikatioun's Fehler", "Email saved" => "E-mail gespäichert", "Invalid email" => "Ongülteg e-mail", "OpenID Changed" => "OpenID huet geännert", "Invalid request" => "Ongülteg Requête", +"Authentication error" => "Authentifikatioun's Fehler", "Language changed" => "Sprooch huet geännert", "Disable" => "Ofschalten", "Enable" => "Aschalten", "Saving..." => "Speicheren...", "__language_name__" => "__language_name__", -"Security Warning" => "Sécherheets Warnung", -"Cron" => "Cron", -"Enable Share API" => "Share API aschalten", -"Allow apps to use the Share API" => "Erlab Apps d'Share API ze benotzen", -"Allow links" => "Links erlaben", -"Allow resharing" => "Resharing erlaben", -"Allow users to share with anyone" => "Useren erlaben mat egal wiem ze sharen", -"Allow users to only share with users in their groups" => "Useren nëmmen erlaben mat Useren aus hirer Grupp ze sharen", -"Log" => "Log", -"More" => "Méi", "Add your App" => "Setz deng App bei", "Select an App" => "Wiel eng Applikatioun aus", "See application page at apps.owncloud.com" => "Kuck dir d'Applicatioun's Säit op apps.owncloud.com un", diff --git a/settings/l10n/lt_LT.php b/settings/l10n/lt_LT.php index 09cb02d147df1ce0c2758ff2a3fb34be6ee713c8..6399b5b1b498fd444b82d45619a2ca0d7dfe2480 100644 --- a/settings/l10n/lt_LT.php +++ b/settings/l10n/lt_LT.php @@ -1,25 +1,26 @@ "Neįmanoma įkelti sąrašo iš Programų Katalogo", +"Could not enable app. " => "Nepavyksta įjungti aplikacijos.", "Email saved" => "El. paštas išsaugotas", "Invalid email" => "Netinkamas el. paštas", "OpenID Changed" => "OpenID pakeistas", "Invalid request" => "Klaidinga užklausa", +"Authentication error" => "Autentikacijos klaida", "Language changed" => "Kalba pakeista", "Disable" => "Išjungti", "Enable" => "Įjungti", "Saving..." => "Saugoma..", "__language_name__" => "Kalba", -"Security Warning" => "Saugumo įspėjimas", -"Cron" => "Cron", -"Log" => "Žurnalas", -"More" => "Daugiau", "Add your App" => "Pridėti programėlę", +"More Apps" => "Daugiau aplikacijų", "Select an App" => "Pasirinkite programą", +"-licensed by " => "- autorius", "Documentation" => "Dokumentacija", "Ask a question" => "Užduoti klausimą", "Problems connecting to help database." => "Problemos jungiantis prie duomenų bazės", "Answer" => "Atsakyti", "Download" => "Atsisiųsti", +"Your password was changed" => "Jūsų slaptažodis buvo pakeistas", "Unable to change your password" => "Neįmanoma pakeisti slaptažodžio", "Current password" => "Dabartinis slaptažodis", "New password" => "Naujas slaptažodis", diff --git a/settings/l10n/lv.php b/settings/l10n/lv.php index 829cda0f9179082e495ed89c76e0fdd5c785e62d..13f4483f1d24bc7a36369fd2247473076331b9c9 100644 --- a/settings/l10n/lv.php +++ b/settings/l10n/lv.php @@ -1,30 +1,37 @@ "Nebija iespējams lejuplādēt sarakstu no aplikāciju veikala", -"Authentication error" => "Ielogošanās kļūme", +"Group already exists" => "Grupa jau eksistē", +"Unable to add group" => "Nevar pievienot grupu", +"Could not enable app. " => "Nevar ieslēgt aplikāciju.", "Email saved" => "Epasts tika saglabāts", "Invalid email" => "Nepareizs epasts", "OpenID Changed" => "OpenID nomainīts", "Invalid request" => "Nepareizs vaicājums", +"Unable to delete group" => "Nevar izdzēst grupu", +"Authentication error" => "Ielogošanās kļūme", +"Unable to delete user" => "Nevar izdzēst lietotāju", "Language changed" => "Valoda tika nomainīta", +"Unable to add user to group %s" => "Nevar pievienot lietotāju grupai %s", +"Unable to remove user from group %s" => "Nevar noņemt lietotāju no grupas %s", "Disable" => "Atvienot", "Enable" => "Pievienot", "Saving..." => "Saglabā...", "__language_name__" => "__valodas_nosaukums__", -"Security Warning" => "Brīdinājums par drošību", -"Cron" => "Cron", -"Log" => "Log", -"More" => "Vairāk", "Add your App" => "Pievieno savu aplikāciju", +"More Apps" => "Vairāk aplikāciju", "Select an App" => "Izvēlies aplikāciju", "See application page at apps.owncloud.com" => "Apskatie aplikāciju lapu - apps.owncloud.com", +"-licensed by " => "-licencēts no ", "Documentation" => "Dokumentācija", "Managing Big Files" => "Rīkoties ar apjomīgiem failiem", "Ask a question" => "Uzdod jautajumu", "Problems connecting to help database." => "Problēmas ar datubāzes savienojumu", "Go there manually." => "Nokļūt tur pašrocīgi", "Answer" => "Atbildēt", +"You have used %s of the available %s" => "Jūs lietojat %s no pieejamajiem %s", "Desktop and Mobile Syncing Clients" => "Desktop un mobīlo ierīču sinhronizācijas rīks", "Download" => "Lejuplādēt", +"Your password was changed" => "Jūru parole tika nomainīta", "Unable to change your password" => "Nav iespējams nomainīt jūsu paroli", "Current password" => "Pašreizējā parole", "New password" => "Jauna parole", @@ -36,6 +43,7 @@ "Language" => "Valoda", "Help translate" => "Palīdzi tulkot", "use this address to connect to your ownCloud in your file manager" => "izmanto šo adresi lai ielogotos ownCloud no sava failu pārlūka", +"Developed by the ownCloud community, the source code is licensed under the AGPL." => "IzstrādājusiownCloud kopiena,pirmkodukurš ir licencēts zem AGPL.", "Name" => "Vārds", "Password" => "Parole", "Groups" => "Grupas", diff --git a/settings/l10n/mk.php b/settings/l10n/mk.php index 78d05660e71fc117b0c500a6efce954ae67aad7a..8594825fdd666a97809678f63efd715c1f48ddfa 100644 --- a/settings/l10n/mk.php +++ b/settings/l10n/mk.php @@ -8,8 +8,6 @@ "Enable" => "Овозможи", "Saving..." => "Снимам...", "__language_name__" => "__language_name__", -"Log" => "Записник", -"More" => "Повеќе", "Add your App" => "Додадете ја Вашата апликација", "Select an App" => "Избери аппликација", "See application page at apps.owncloud.com" => "Види ја страницата со апликации на apps.owncloud.com", diff --git a/settings/l10n/ms_MY.php b/settings/l10n/ms_MY.php index 187199894626b619b21cccd7d89ee1bb00287529..5de247110bb76662bd3fc093d24bc7319d4fb8db 100644 --- a/settings/l10n/ms_MY.php +++ b/settings/l10n/ms_MY.php @@ -1,17 +1,14 @@ "Ralat pengesahan", "Email saved" => "Emel disimpan", "Invalid email" => "Emel tidak sah", "OpenID Changed" => "OpenID diubah", "Invalid request" => "Permintaan tidak sah", +"Authentication error" => "Ralat pengesahan", "Language changed" => "Bahasa diubah", "Disable" => "Nyahaktif", "Enable" => "Aktif", "Saving..." => "Simpan...", "__language_name__" => "_nama_bahasa_", -"Security Warning" => "Amaran keselamatan", -"Log" => "Log", -"More" => "Lanjutan", "Add your App" => "Tambah apps anda", "Select an App" => "Pilih aplikasi", "See application page at apps.owncloud.com" => "Lihat halaman applikasi di apps.owncloud.com", diff --git a/settings/l10n/nb_NO.php b/settings/l10n/nb_NO.php index daeb1b78e7f5d769c9b03e92374ac520422790d4..23618fc30244d83e9a80d5c0bb4368b4613c90c9 100644 --- a/settings/l10n/nb_NO.php +++ b/settings/l10n/nb_NO.php @@ -1,20 +1,24 @@ "Lasting av liste fra App Store feilet.", -"Authentication error" => "Autentikasjonsfeil", +"Group already exists" => "Gruppen finnes allerede", +"Unable to add group" => "Kan ikke legge til gruppe", +"Could not enable app. " => "Kan ikke aktivere app.", "Email saved" => "Epost lagret", "Invalid email" => "Ugyldig epost", "OpenID Changed" => "OpenID endret", "Invalid request" => "Ugyldig forespørsel", +"Unable to delete group" => "Kan ikke slette gruppe", +"Authentication error" => "Autentikasjonsfeil", +"Unable to delete user" => "Kan ikke slette bruker", "Language changed" => "Språk endret", +"Unable to add user to group %s" => "Kan ikke legge bruker til gruppen %s", +"Unable to remove user from group %s" => "Kan ikke slette bruker fra gruppen %s", "Disable" => "Slå avBehandle ", "Enable" => "Slå på", "Saving..." => "Lagrer...", "__language_name__" => "__language_name__", -"Security Warning" => "Sikkerhetsadvarsel", -"Cron" => "Cron", -"Log" => "Logg", -"More" => "Mer", "Add your App" => "Legg til din App", +"More Apps" => "Flere Apps", "Select an App" => "Velg en app", "See application page at apps.owncloud.com" => "Se applikasjonens side på apps.owncloud.org", "Documentation" => "Dokumentasjon", @@ -25,6 +29,7 @@ "Answer" => "Svar", "Desktop and Mobile Syncing Clients" => "Klienter for datamaskiner og mobile enheter", "Download" => "Last ned", +"Your password was changed" => "Passord har blitt endret", "Unable to change your password" => "Kunne ikke endre passordet ditt", "Current password" => "Nåværende passord", "New password" => "Nytt passord", diff --git a/settings/l10n/nl.php b/settings/l10n/nl.php index d24c4f04ad1548c706ecbf12f82dae02e83d60c7..f419ecf74eddbd399f9f2a262d9a7a025cc08115 100644 --- a/settings/l10n/nl.php +++ b/settings/l10n/nl.php @@ -1,6 +1,5 @@ "Kan de lijst niet van de App store laden", -"Authentication error" => "Authenticatie fout", "Group already exists" => "Groep bestaat al", "Unable to add group" => "Niet in staat om groep toe te voegen", "Could not enable app. " => "Kan de app. niet activeren", @@ -9,45 +8,29 @@ "OpenID Changed" => "OpenID is aangepast", "Invalid request" => "Ongeldig verzoek", "Unable to delete group" => "Niet in staat om groep te verwijderen", +"Authentication error" => "Authenticatie fout", "Unable to delete user" => "Niet in staat om gebruiker te verwijderen", "Language changed" => "Taal aangepast", +"Admins can't remove themself from the admin group" => "Admins kunnen zichzelf niet uit de admin groep verwijderen", "Unable to add user to group %s" => "Niet in staat om gebruiker toe te voegen aan groep %s", "Unable to remove user from group %s" => "Niet in staat om gebruiker te verwijderen uit groep %s", "Disable" => "Uitschakelen", "Enable" => "Inschakelen", "Saving..." => "Aan het bewaren.....", "__language_name__" => "Nederlands", -"Security Warning" => "Veiligheidswaarschuwing", -"Your data directory and your files are probably accessible from the internet. The .htaccess file that ownCloud provides is not working. We strongly suggest that you configure your webserver in a way that the data directory is no longer accessible or you move the data directory outside the webserver document root." => "Uw data folder en uw bestanden zijn hoogst waarschijnlijk vanaf het internet bereikbaar. Het .htaccess bestand dat ownCloud meelevert werkt niet. Het is ten zeerste aangeraden om uw webserver zodanig te configureren, dat de data folder niet bereikbaar is vanaf het internet of verplaatst uw data folder naar een locatie buiten de webserver document root.", -"Cron" => "Cron", -"Execute one task with each page loaded" => "Voer één taak uit met elke pagina die wordt geladen", -"cron.php is registered at a webcron service. Call the cron.php page in the owncloud root once a minute over http." => "cron.php is bij een webcron dienst geregistreerd. Roep de cron.php pagina in de owncloud root via http één maal per minuut op.", -"Use systems cron service. Call the cron.php file in the owncloud folder via a system cronjob once a minute." => "Gebruik de systeem cron dienst. Gebruik, eens per minuut, het bestand cron.php in de owncloud map via de systeem cronjob.", -"Sharing" => "Delen", -"Enable Share API" => "Zet de Deel API aan", -"Allow apps to use the Share API" => "Sta apps toe om de Deel API te gebruiken", -"Allow links" => "Sta links toe", -"Allow users to share items to the public with links" => "Sta gebruikers toe om items via links publiekelijk te maken", -"Allow resharing" => "Sta verder delen toe", -"Allow users to share items shared with them again" => "Sta gebruikers toe om items nogmaals te delen", -"Allow users to share with anyone" => "Sta gebruikers toe om met iedereen te delen", -"Allow users to only share with users in their groups" => "Sta gebruikers toe om alleen met gebruikers in hun groepen te delen", -"Log" => "Log", -"More" => "Meer", -"Developed by the ownCloud community, the source code is licensed under the AGPL." => "Ontwikkeld door de ownCloud gemeenschap, de bron code is gelicenseerd onder de AGPL.", -"Add your App" => "Voeg je App toe", +"Add your App" => "App toevoegen", "More Apps" => "Meer apps", "Select an App" => "Selecteer een app", "See application page at apps.owncloud.com" => "Zie de applicatiepagina op apps.owncloud.com", "-licensed by " => "-Gelicenseerd door ", "Documentation" => "Documentatie", -"Managing Big Files" => "Onderhoud van grote bestanden", +"Managing Big Files" => "Instellingen voor grote bestanden", "Ask a question" => "Stel een vraag", "Problems connecting to help database." => "Problemen bij het verbinden met de helpdatabank.", "Go there manually." => "Ga er zelf heen.", "Answer" => "Beantwoord", -"You have used %s of the available %s" => "Je hebt %s gebruikt van de beschikbare %s", -"Desktop and Mobile Syncing Clients" => "Desktop en mobiele synchronisatie apparaten", +"You have used %s of the available %s" => "U heeft %s van de %s beschikbaren gebruikt", +"Desktop and Mobile Syncing Clients" => "Desktop en mobiele synchronisatie applicaties", "Download" => "Download", "Your password was changed" => "Je wachtwoord is veranderd", "Unable to change your password" => "Niet in staat om uw wachtwoord te wijzigen", @@ -55,12 +38,13 @@ "New password" => "Nieuw wachtwoord", "show" => "weergeven", "Change password" => "Wijzig wachtwoord", -"Email" => "mailadres", -"Your email address" => "Jouw mailadres", -"Fill in an email address to enable password recovery" => "Vul een mailadres in om je wachtwoord te kunnen herstellen", +"Email" => "E-mailadres", +"Your email address" => "Uw e-mailadres", +"Fill in an email address to enable password recovery" => "Vul een e-mailadres in om wachtwoord reset uit te kunnen voeren", "Language" => "Taal", "Help translate" => "Help met vertalen", -"use this address to connect to your ownCloud in your file manager" => "gebruik dit adres om verbinding te maken met ownCloud in uw bestandsbeheerprogramma", +"use this address to connect to your ownCloud in your file manager" => "Gebruik het bovenstaande adres om verbinding te maken met ownCloud in uw bestandbeheerprogramma", +"Developed by the ownCloud community, the source code is licensed under the AGPL." => "Ontwikkeld door de ownCloud gemeenschap, de bron code is gelicenseerd onder de AGPL.", "Name" => "Naam", "Password" => "Wachtwoord", "Groups" => "Groepen", diff --git a/settings/l10n/nn_NO.php b/settings/l10n/nn_NO.php index d712f749bbf143c3a57026f57b66d3064460c9ff..5f9d7605cc6efc02b985b7e9b7675fbca7166258 100644 --- a/settings/l10n/nn_NO.php +++ b/settings/l10n/nn_NO.php @@ -1,10 +1,10 @@ "Klarer ikkje å laste inn liste fra App Store", -"Authentication error" => "Feil i autentisering", "Email saved" => "E-postadresse lagra", "Invalid email" => "Ugyldig e-postadresse", "OpenID Changed" => "OpenID endra", "Invalid request" => "Ugyldig førespurnad", +"Authentication error" => "Feil i autentisering", "Language changed" => "Språk endra", "Disable" => "Slå av", "Enable" => "Slå på", @@ -14,6 +14,7 @@ "Problems connecting to help database." => "Problem ved tilkopling til hjelpedatabasen.", "Go there manually." => "Gå der på eigen hand.", "Answer" => "Svar", +"Download" => "Last ned", "Unable to change your password" => "Klarte ikkje å endra passordet", "Current password" => "Passord", "New password" => "Nytt passord", @@ -29,6 +30,7 @@ "Password" => "Passord", "Groups" => "Grupper", "Create" => "Lag", +"Other" => "Anna", "Quota" => "Kvote", "Delete" => "Slett" ); diff --git a/settings/l10n/oc.php b/settings/l10n/oc.php index 28835df95c13256e0f29dfdfcb6e1ecd4f9dba66..f16f5cc91ae8441b9dca72b7bac592152a16f34b 100644 --- a/settings/l10n/oc.php +++ b/settings/l10n/oc.php @@ -1,6 +1,5 @@ "Pas possible de cargar la tièra dempuèi App Store", -"Authentication error" => "Error d'autentificacion", "Group already exists" => "Lo grop existís ja", "Unable to add group" => "Pas capable d'apondre un grop", "Could not enable app. " => "Pòt pas activar app. ", @@ -9,6 +8,7 @@ "OpenID Changed" => "OpenID cambiat", "Invalid request" => "Demanda invalida", "Unable to delete group" => "Pas capable d'escafar un grop", +"Authentication error" => "Error d'autentificacion", "Unable to delete user" => "Pas capable d'escafar un usancièr", "Language changed" => "Lengas cambiadas", "Unable to add user to group %s" => "Pas capable d'apondre un usancièr al grop %s", @@ -17,14 +17,6 @@ "Enable" => "Activa", "Saving..." => "Enregistra...", "__language_name__" => "__language_name__", -"Security Warning" => "Avertiment de securitat", -"Cron" => "Cron", -"Execute one task with each page loaded" => "Executa un prètfach amb cada pagina cargada", -"Use systems cron service. Call the cron.php file in the owncloud folder via a system cronjob once a minute." => "Utiliza lo servici cron de ton sistèm operatiu. Executa lo fichièr cron.php dins lo dorsier owncloud tras cronjob del sistèm cada minuta.", -"Sharing" => "Al partejar", -"Enable Share API" => "Activa API partejada", -"Log" => "Jornal", -"More" => "Mai d'aquò", "Add your App" => "Ajusta ton App", "Select an App" => "Selecciona una applicacion", "See application page at apps.owncloud.com" => "Agacha la pagina d'applications en cò de apps.owncloud.com", @@ -35,7 +27,6 @@ "Problems connecting to help database." => "Problemas al connectar de la basa de donadas d'ajuda", "Go there manually." => "Vas çai manualament", "Answer" => "Responsa", -"You have used %s of the available %s" => "As utilizat %s dels %s disponibles", "Download" => "Avalcarga", "Your password was changed" => "Ton senhal a cambiat", "Unable to change your password" => "Pas possible de cambiar ton senhal", diff --git a/settings/l10n/pl.php b/settings/l10n/pl.php index 5ea1f022c6601d667ad57c75d0bfcf241f5ed0f5..e17e3c00e530afbe12fc0a460f3b6c278f60d84c 100644 --- a/settings/l10n/pl.php +++ b/settings/l10n/pl.php @@ -1,6 +1,5 @@ "Nie mogę załadować listy aplikacji", -"Authentication error" => "Błąd uwierzytelniania", "Group already exists" => "Grupa już istnieje", "Unable to add group" => "Nie można dodać grupy", "Could not enable app. " => "Nie można włączyć aplikacji.", @@ -9,32 +8,16 @@ "OpenID Changed" => "Zmieniono OpenID", "Invalid request" => "Nieprawidłowe żądanie", "Unable to delete group" => "Nie można usunąć grupy", +"Authentication error" => "Błąd uwierzytelniania", "Unable to delete user" => "Nie można usunąć użytkownika", "Language changed" => "Język zmieniony", +"Admins can't remove themself from the admin group" => "Administratorzy nie mogą usunąć się sami z grupy administratorów.", "Unable to add user to group %s" => "Nie można dodać użytkownika do grupy %s", "Unable to remove user from group %s" => "Nie można usunąć użytkownika z grupy %s", "Disable" => "Wyłącz", "Enable" => "Włącz", "Saving..." => "Zapisywanie...", "__language_name__" => "Polski", -"Security Warning" => "Ostrzeżenia bezpieczeństwa", -"Your data directory and your files are probably accessible from the internet. The .htaccess file that ownCloud provides is not working. We strongly suggest that you configure your webserver in a way that the data directory is no longer accessible or you move the data directory outside the webserver document root." => "Twój katalog danych i pliki są prawdopodobnie dostępne z Internetu. Plik .htaccess, który dostarcza ownCloud nie działa. Sugerujemy, aby skonfigurować serwer WWW w taki sposób, aby katalog danych nie był dostępny lub przenieść katalog danych poza główny katalog serwera WWW.", -"Cron" => "Cron", -"Execute one task with each page loaded" => "Wykonanie jednego zadania z każdej strony wczytywania", -"cron.php is registered at a webcron service. Call the cron.php page in the owncloud root once a minute over http." => "cron.php jest zarejestrowany w usłudze webcron. Przywołaj stronę cron.php w katalogu głównym owncloud raz na minute przez http.", -"Use systems cron service. Call the cron.php file in the owncloud folder via a system cronjob once a minute." => "Użyj usługi systemowej cron. Przywołaj plik cron.php z katalogu owncloud przez systemowe cronjob raz na minute.", -"Sharing" => "Udostępnianij", -"Enable Share API" => "Włącz udostępniane API", -"Allow apps to use the Share API" => "Zezwalaj aplikacjom na używanie API", -"Allow links" => "Zezwalaj na łącza", -"Allow users to share items to the public with links" => "Zezwalaj użytkownikom na puliczne współdzielenie elementów za pomocą linków", -"Allow resharing" => "Zezwól na ponowne udostępnianie", -"Allow users to share items shared with them again" => "Zezwalaj użytkownikom na ponowne współdzielenie elementów już z nimi współdzilonych", -"Allow users to share with anyone" => "Zezwalaj użytkownikom na współdzielenie z kimkolwiek", -"Allow users to only share with users in their groups" => "Zezwalaj użytkownikom współdzielić z użytkownikami ze swoich grup", -"Log" => "Log", -"More" => "Więcej", -"Developed by the ownCloud community, the source code is licensed under the AGPL." => "Stwirzone przez społeczność ownCloud, the kod źródłowy na licencji AGPL.", "Add your App" => "Dodaj aplikacje", "More Apps" => "Więcej aplikacji", "Select an App" => "Zaznacz aplikacje", @@ -46,7 +29,7 @@ "Problems connecting to help database." => "Problem z połączeniem z bazą danych.", "Go there manually." => "Przejdź na stronę ręcznie.", "Answer" => "Odpowiedź", -"You have used %s of the available %s" => "Używasz %s z dostępnych %s", +"You have used %s of the available %s" => "Korzystasz z %s z dostępnych %s", "Desktop and Mobile Syncing Clients" => "Klienci synchronizacji", "Download" => "Ściągnij", "Your password was changed" => "Twoje hasło zostało zmienione", @@ -61,6 +44,7 @@ "Language" => "Język", "Help translate" => "Pomóż w tłumaczeniu", "use this address to connect to your ownCloud in your file manager" => "Proszę użyć tego adresu, aby uzyskać dostęp do usługi ownCloud w menedżerze plików.", +"Developed by the ownCloud community, the source code is licensed under the AGPL." => "Stwirzone przez społeczność ownCloud, the kod źródłowy na licencji AGPL.", "Name" => "Nazwa", "Password" => "Hasło", "Groups" => "Grupy", diff --git a/settings/l10n/pl_PL.php b/settings/l10n/pl_PL.php new file mode 100644 index 0000000000000000000000000000000000000000..ab81cb23465c623f91549f3f722e0e7dc5360e45 --- /dev/null +++ b/settings/l10n/pl_PL.php @@ -0,0 +1,3 @@ + "Email" +); diff --git a/settings/l10n/pt_BR.php b/settings/l10n/pt_BR.php index 7ca5160d9a8e4e617fdf2ef7d2ea3930218c7e9b..d09e867f7f26563b60c7222dac40ea6c3c60e315 100644 --- a/settings/l10n/pt_BR.php +++ b/settings/l10n/pt_BR.php @@ -1,6 +1,5 @@ "Não foi possivel carregar lista da App Store", -"Authentication error" => "erro de autenticação", "Group already exists" => "Grupo já existe", "Unable to add group" => "Não foi possivel adicionar grupo", "Could not enable app. " => "Não pôde habilitar aplicação", @@ -9,32 +8,16 @@ "OpenID Changed" => "Mudou OpenID", "Invalid request" => "Pedido inválido", "Unable to delete group" => "Não foi possivel remover grupo", +"Authentication error" => "erro de autenticação", "Unable to delete user" => "Não foi possivel remover usuário", "Language changed" => "Mudou Idioma", +"Admins can't remove themself from the admin group" => "Admins não podem se remover do grupo admin", "Unable to add user to group %s" => "Não foi possivel adicionar usuário ao grupo %s", "Unable to remove user from group %s" => "Não foi possivel remover usuário ao grupo %s", "Disable" => "Desabilitado", "Enable" => "Habilitado", "Saving..." => "Gravando...", "__language_name__" => "Português", -"Security Warning" => "Aviso de Segurança", -"Your data directory and your files are probably accessible from the internet. The .htaccess file that ownCloud provides is not working. We strongly suggest that you configure your webserver in a way that the data directory is no longer accessible or you move the data directory outside the webserver document root." => "Seu diretório de dados e seus arquivos estão, provavelmente, acessíveis a partir da internet. O .htaccess que o ownCloud fornece não está funcionando. Nós sugerimos que você configure o seu servidor web de uma forma que o diretório de dados esteja mais acessível ou que você mova o diretório de dados para fora da raiz do servidor web.", -"Cron" => "Cron", -"Execute one task with each page loaded" => "Executa uma tarefa com cada página carregada", -"cron.php is registered at a webcron service. Call the cron.php page in the owncloud root once a minute over http." => "cron.php está registrado no serviço webcron. Chama a página cron.php na raíz do owncloud uma vez por minuto via http.", -"Use systems cron service. Call the cron.php file in the owncloud folder via a system cronjob once a minute." => "Usa o serviço cron do sistema. Chama o arquivo cron.php na pasta do owncloud através do cronjob do sistema uma vez a cada minuto.", -"Sharing" => "Compartilhamento", -"Enable Share API" => "Habilitar API de Compartilhamento", -"Allow apps to use the Share API" => "Permitir aplicações a usar a API de Compartilhamento", -"Allow links" => "Permitir links", -"Allow users to share items to the public with links" => "Permitir usuários a compartilhar itens para o público com links", -"Allow resharing" => "Permitir re-compartilhamento", -"Allow users to share items shared with them again" => "Permitir usuário a compartilhar itens compartilhados com eles novamente", -"Allow users to share with anyone" => "Permitir usuários a compartilhar com qualquer um", -"Allow users to only share with users in their groups" => "Permitir usuários a somente compartilhar com usuários em seus respectivos grupos", -"Log" => "Log", -"More" => "Mais", -"Developed by the ownCloud community, the source code is licensed under the AGPL." => "Desenvolvido pela comunidade ownCloud, o código fonte está licenciado sob AGPL.", "Add your App" => "Adicione seu Aplicativo", "More Apps" => "Mais Apps", "Select an App" => "Selecione uma Aplicação", @@ -46,7 +29,7 @@ "Problems connecting to help database." => "Problemas ao conectar na base de dados.", "Go there manually." => "Ir manualmente.", "Answer" => "Resposta", -"You have used %s of the available %s" => "Você usou %s do espaço disponível de %s ", +"You have used %s of the available %s" => "Você usou %s do seu espaço de %s", "Desktop and Mobile Syncing Clients" => "Sincronizando Desktop e Mobile", "Download" => "Download", "Your password was changed" => "Sua senha foi alterada", @@ -61,6 +44,7 @@ "Language" => "Idioma", "Help translate" => "Ajude a traduzir", "use this address to connect to your ownCloud in your file manager" => "use este endereço para se conectar ao seu ownCloud no seu gerenciador de arquvos", +"Developed by the ownCloud community, the source code is licensed under the AGPL." => "Desenvolvido pela comunidade ownCloud, o código fonte está licenciado sob AGPL.", "Name" => "Nome", "Password" => "Senha", "Groups" => "Grupos", diff --git a/settings/l10n/pt_PT.php b/settings/l10n/pt_PT.php index a5eb8c399bee4c6792ebbb8a8cf2da5b2b36b02b..96d9ac67ac4db05243d1bc613e931dde34806fd3 100644 --- a/settings/l10n/pt_PT.php +++ b/settings/l10n/pt_PT.php @@ -1,6 +1,5 @@ "Incapaz de carregar a lista da App Store", -"Authentication error" => "Erro de autenticação", "Group already exists" => "O grupo já existe", "Unable to add group" => "Impossível acrescentar o grupo", "Could not enable app. " => "Não foi possível activar a app.", @@ -9,32 +8,16 @@ "OpenID Changed" => "OpenID alterado", "Invalid request" => "Pedido inválido", "Unable to delete group" => "Impossível apagar grupo", +"Authentication error" => "Erro de autenticação", "Unable to delete user" => "Impossível apagar utilizador", "Language changed" => "Idioma alterado", +"Admins can't remove themself from the admin group" => "Os administradores não se podem remover a eles mesmos do grupo admin.", "Unable to add user to group %s" => "Impossível acrescentar utilizador ao grupo %s", "Unable to remove user from group %s" => "Impossível apagar utilizador do grupo %s", "Disable" => "Desactivar", "Enable" => "Activar", "Saving..." => "A guardar...", "__language_name__" => "__language_name__", -"Security Warning" => "Aviso de Segurança", -"Your data directory and your files are probably accessible from the internet. The .htaccess file that ownCloud provides is not working. We strongly suggest that you configure your webserver in a way that the data directory is no longer accessible or you move the data directory outside the webserver document root." => "A sua pasta com os dados e os seus ficheiros estão provavelmente acessíveis a partir das internet. Sugerimos veementemente que configure o seu servidor web de maneira a que a pasta com os dados deixe de ficar acessível, ou mova a pasta com os dados para fora da raiz de documentos do servidor web.", -"Cron" => "Cron", -"Execute one task with each page loaded" => "Executar uma tarefa ao carregar cada página", -"cron.php is registered at a webcron service. Call the cron.php page in the owncloud root once a minute over http." => "cron.php está registado num serviço webcron. Chame a página cron.php na raiz owncloud por http uma vez por minuto.", -"Use systems cron service. Call the cron.php file in the owncloud folder via a system cronjob once a minute." => "Usar o serviço cron do sistema. Chame a página cron.php na pasta owncloud via um cronjob do sistema uma vez por minuto.", -"Sharing" => "Partilhando", -"Enable Share API" => "Activar API de partilha", -"Allow apps to use the Share API" => "Permitir que as aplicações usem a API de partilha", -"Allow links" => "Permitir ligações", -"Allow users to share items to the public with links" => "Permitir que os utilizadores partilhem itens com o público com ligações", -"Allow resharing" => "Permitir voltar a partilhar", -"Allow users to share items shared with them again" => "Permitir que os utilizadores partilhem itens que foram partilhados com eles", -"Allow users to share with anyone" => "Permitir que os utilizadores partilhem com toda a gente", -"Allow users to only share with users in their groups" => "Permitir que os utilizadores apenas partilhem com utilizadores do seu grupo", -"Log" => "Log", -"More" => "Mais", -"Developed by the ownCloud community, the source code is licensed under the AGPL." => "Desenvolvido pela comunidade ownCloud, ocódigo fonte está licenciado sob a AGPL.", "Add your App" => "Adicione a sua aplicação", "More Apps" => "Mais Aplicações", "Select an App" => "Selecione uma aplicação", @@ -46,7 +29,7 @@ "Problems connecting to help database." => "Problemas ao ligar à base de dados de ajuda", "Go there manually." => "Vá lá manualmente", "Answer" => "Resposta", -"You have used %s of the available %s" => "Usou %s dos %s disponíveis.", +"You have used %s of the available %s" => "Usou %s do disponivel %s", "Desktop and Mobile Syncing Clients" => "Clientes de sincronização desktop e móvel", "Download" => "Transferir", "Your password was changed" => "A sua palavra-passe foi alterada", @@ -61,6 +44,7 @@ "Language" => "Idioma", "Help translate" => "Ajude a traduzir", "use this address to connect to your ownCloud in your file manager" => "utilize este endereço para ligar ao seu ownCloud através do seu gestor de ficheiros", +"Developed by the ownCloud community, the source code is licensed under the AGPL." => "Desenvolvido pela comunidade ownCloud, ocódigo fonte está licenciado sob a AGPL.", "Name" => "Nome", "Password" => "Palavra-chave", "Groups" => "Grupos", diff --git a/settings/l10n/ro.php b/settings/l10n/ro.php index ee0d804716b31a2f4bb4a8bb673c81bbcb1ad3ae..deabed6f803093851584b08ea902fcb016a96b2b 100644 --- a/settings/l10n/ro.php +++ b/settings/l10n/ro.php @@ -1,6 +1,5 @@ "Imposibil de încărcat lista din App Store", -"Authentication error" => "Eroare de autentificare", "Group already exists" => "Grupul există deja", "Unable to add group" => "Nu s-a putut adăuga grupul", "Could not enable app. " => "Nu s-a putut activa aplicația.", @@ -9,6 +8,7 @@ "OpenID Changed" => "OpenID schimbat", "Invalid request" => "Cerere eronată", "Unable to delete group" => "Nu s-a putut șterge grupul", +"Authentication error" => "Eroare de autentificare", "Unable to delete user" => "Nu s-a putut șterge utilizatorul", "Language changed" => "Limba a fost schimbată", "Unable to add user to group %s" => "Nu s-a putut adăuga utilizatorul la grupul %s", @@ -17,24 +17,6 @@ "Enable" => "Activați", "Saving..." => "Salvez...", "__language_name__" => "_language_name_", -"Security Warning" => "Avertisment de securitate", -"Your data directory and your files are probably accessible from the internet. The .htaccess file that ownCloud provides is not working. We strongly suggest that you configure your webserver in a way that the data directory is no longer accessible or you move the data directory outside the webserver document root." => "Directorul tău de date și fișierele tale probabil sunt accesibile prin internet. Fișierul .htaccess oferit de ownCloud nu funcționează. Îți recomandăm să configurezi server-ul tău web într-un mod în care directorul de date să nu mai fie accesibil sau mută directorul de date în afara directorului root al server-ului web.", -"Cron" => "Cron", -"Execute one task with each page loaded" => "Execută o sarcină la fiecare pagină încărcată", -"cron.php is registered at a webcron service. Call the cron.php page in the owncloud root once a minute over http." => "cron.php este înregistrat în serviciul webcron. Accesează pagina cron.php din root-ul owncloud odată pe minut prin http.", -"Use systems cron service. Call the cron.php file in the owncloud folder via a system cronjob once a minute." => "Folosește serviciul cron al sistemului. Accesează fișierul cron.php din directorul owncloud printr-un cronjob de sistem odată la fiecare minut.", -"Sharing" => "Partajare", -"Enable Share API" => "Activare API partajare", -"Allow apps to use the Share API" => "Permite aplicațiilor să folosească API-ul de partajare", -"Allow links" => "Pemite legături", -"Allow users to share items to the public with links" => "Permite utilizatorilor să partajeze fișiere în mod public prin legături", -"Allow resharing" => "Permite repartajarea", -"Allow users to share items shared with them again" => "Permite utilizatorilor să repartajeze fișiere partajate cu ei", -"Allow users to share with anyone" => "Permite utilizatorilor să partajeze cu oricine", -"Allow users to only share with users in their groups" => "Permite utilizatorilor să partajeze doar cu utilizatori din același grup", -"Log" => "Jurnal de activitate", -"More" => "Mai mult", -"Developed by the ownCloud community, the source code is licensed under the AGPL." => "Dezvoltat de the comunitatea ownCloud, codul sursă este licențiat sub AGPL.", "Add your App" => "Adaugă aplicația ta", "Select an App" => "Selectează o aplicație", "See application page at apps.owncloud.com" => "Vizualizează pagina applicației pe apps.owncloud.com", @@ -45,7 +27,6 @@ "Problems connecting to help database." => "Probleme de conectare la baza de date.", "Go there manually." => "Pe cale manuală.", "Answer" => "Răspuns", -"You have used %s of the available %s" => "Ai utilizat %s din %s spațiu disponibil", "Desktop and Mobile Syncing Clients" => "Clienți de sincronizare pentru telefon mobil și desktop", "Download" => "Descărcări", "Your password was changed" => "Parola a fost modificată", @@ -60,6 +41,7 @@ "Language" => "Limba", "Help translate" => "Ajută la traducere", "use this address to connect to your ownCloud in your file manager" => "folosește această adresă pentru a te conecta la managerul tău de fișiere din ownCloud", +"Developed by the ownCloud community, the source code is licensed under the AGPL." => "Dezvoltat de the comunitatea ownCloud, codul sursă este licențiat sub AGPL.", "Name" => "Nume", "Password" => "Parolă", "Groups" => "Grupuri", diff --git a/settings/l10n/ru.php b/settings/l10n/ru.php index b658a4bbafb771e786270c284ff158c0716e76a0..126cc3fcd08eb63303aa7b9e133118414caf5543 100644 --- a/settings/l10n/ru.php +++ b/settings/l10n/ru.php @@ -1,13 +1,14 @@ "Загрузка из App Store запрещена", -"Authentication error" => "Ошибка авторизации", "Group already exists" => "Группа уже существует", "Unable to add group" => "Невозможно добавить группу", +"Could not enable app. " => "Не удалось включить приложение.", "Email saved" => "Email сохранен", "Invalid email" => "Неправильный Email", "OpenID Changed" => "OpenID изменён", "Invalid request" => "Неверный запрос", "Unable to delete group" => "Невозможно удалить группу", +"Authentication error" => "Ошибка авторизации", "Unable to delete user" => "Невозможно удалить пользователя", "Language changed" => "Язык изменён", "Unable to add user to group %s" => "Невозможно добавить пользователя в группу %s", @@ -16,21 +17,8 @@ "Enable" => "Включить", "Saving..." => "Сохранение...", "__language_name__" => "Русский ", -"Security Warning" => "Предупреждение безопасности", -"Your data directory and your files are probably accessible from the internet. The .htaccess file that ownCloud provides is not working. We strongly suggest that you configure your webserver in a way that the data directory is no longer accessible or you move the data directory outside the webserver document root." => "Похоже, что каталог data и ваши файлы в нем доступны из интернета. Предоставляемый ownCloud файл htaccess не работает. Настоятельно рекомендуем настроить сервер таким образом, чтобы закрыть доступ к каталогу data или вынести каталог data за пределы корневого каталога веб-сервера.", -"Cron" => "Задание", -"Enable Share API" => "Включить API публикации", -"Allow apps to use the Share API" => "Разрешить API публикации для приложений", -"Allow links" => "Разрешить ссылки", -"Allow users to share items to the public with links" => "Разрешить пользователям публикацию при помощи ссылок", -"Allow resharing" => "Включить повторную публикацию", -"Allow users to share items shared with them again" => "Разрешить пользователям публиковать доступные им элементы других пользователей", -"Allow users to share with anyone" => "Разрешить публиковать для любых пользователей", -"Allow users to only share with users in their groups" => "Ограничить публикацию группами пользователя", -"Log" => "Журнал", -"More" => "Ещё", -"Developed by the ownCloud community, the source code is licensed under the AGPL." => "Разрабатывается сообществом ownCloud, исходный код доступен под лицензией AGPL.", "Add your App" => "Добавить приложение", +"More Apps" => "Больше приложений", "Select an App" => "Выберите приложение", "See application page at apps.owncloud.com" => "Смотрите дополнения на apps.owncloud.com", "-licensed by " => " лицензия. Автор ", @@ -40,8 +28,10 @@ "Problems connecting to help database." => "Проблема соединения с базой данных помощи.", "Go there manually." => "Войти самостоятельно.", "Answer" => "Ответ", +"You have used %s of the available %s" => "Вы использовали %s из доступных %s", "Desktop and Mobile Syncing Clients" => "Клиенты синхронизации для рабочих станций и мобильных устройств", "Download" => "Загрузка", +"Your password was changed" => "Ваш пароль изменён", "Unable to change your password" => "Невозможно сменить пароль", "Current password" => "Текущий пароль", "New password" => "Новый пароль", @@ -53,6 +43,7 @@ "Language" => "Язык", "Help translate" => "Помочь с переводом", "use this address to connect to your ownCloud in your file manager" => "используйте данный адрес для подключения к ownCloud в вашем файловом менеджере", +"Developed by the ownCloud community, the source code is licensed under the AGPL." => "Разрабатывается сообществом ownCloud, исходный код доступен под лицензией AGPL.", "Name" => "Имя", "Password" => "Пароль", "Groups" => "Группы", diff --git a/settings/l10n/ru_RU.php b/settings/l10n/ru_RU.php index e94c371fe4c7f704b66a4596ae3990928ce2681a..83eb603ba3d5a317242b4628358f058607bc8307 100644 --- a/settings/l10n/ru_RU.php +++ b/settings/l10n/ru_RU.php @@ -1,6 +1,5 @@ "Невозможно загрузить список из App Store", -"Authentication error" => "Ошибка авторизации", "Group already exists" => "Группа уже существует", "Unable to add group" => "Невозможно добавить группу", "Could not enable app. " => "Не удалось запустить приложение", @@ -9,6 +8,7 @@ "OpenID Changed" => "OpenID изменен", "Invalid request" => "Неверный запрос", "Unable to delete group" => "Невозможно удалить группу", +"Authentication error" => "Ошибка авторизации", "Unable to delete user" => "Невозможно удалить пользователя", "Language changed" => "Язык изменен", "Unable to add user to group %s" => "Невозможно добавить пользователя в группу %s", @@ -17,23 +17,6 @@ "Enable" => "Включить", "Saving..." => "Сохранение", "__language_name__" => "__язык_имя__", -"Security Warning" => "Предупреждение системы безопасности", -"Your data directory and your files are probably accessible from the internet. The .htaccess file that ownCloud provides is not working. We strongly suggest that you configure your webserver in a way that the data directory is no longer accessible or you move the data directory outside the webserver document root." => "Ваш каталог данных и файлы возможно доступны из Интернета. Файл .htaccess, предоставляемый ownCloud, не работает. Мы настоятельно рекомендуем Вам настроить сервер таким образом, чтобы каталог данных был бы больше не доступен, или переместить каталог данных за пределы корневой папки веб-сервера.", -"Cron" => "Cron", -"Execute one task with each page loaded" => "Выполняйте одну задачу на каждой загружаемой странице", -"cron.php is registered at a webcron service. Call the cron.php page in the owncloud root once a minute over http." => "cron.php зарегистрирован в службе webcron. Обращайтесь к странице cron.php в корне owncloud раз в минуту по http.", -"Use systems cron service. Call the cron.php file in the owncloud folder via a system cronjob once a minute." => "Используйте системный сервис cron. Исполняйте файл cron.php в папке owncloud с помощью системы cronjob раз в минуту.", -"Sharing" => "Совместное использование", -"Enable Share API" => "Включить разделяемые API", -"Allow apps to use the Share API" => "Разрешить приложениям использовать Share API", -"Allow links" => "Предоставить ссылки", -"Allow users to share items to the public with links" => "Позволяет пользователям добавлять объекты в общий доступ по ссылке", -"Allow resharing" => "Разрешить повторное совместное использование", -"Allow users to share with anyone" => "Разрешить пользователям разделение с кем-либо", -"Allow users to only share with users in their groups" => "Разрешить пользователям разделение только с пользователями в их группах", -"Log" => "Вход", -"More" => "Подробнее", -"Developed by the ownCloud community, the source code is licensed under the AGPL." => "Разработанный ownCloud community, the source code is licensed under the AGPL.", "Add your App" => "Добавить Ваше приложение", "More Apps" => "Больше приложений", "Select an App" => "Выбрать приложение", @@ -45,7 +28,7 @@ "Problems connecting to help database." => "Проблемы, связанные с разделом Помощь базы данных", "Go there manually." => "Сделать вручную.", "Answer" => "Ответ", -"You have used %s of the available %s" => "Вы использовали %s из доступных%s", +"You have used %s of the available %s" => "Вы использовали %s из возможных %s", "Desktop and Mobile Syncing Clients" => "Клиенты синхронизации настольной и мобильной систем", "Download" => "Загрузка", "Your password was changed" => "Ваш пароль был изменен", @@ -60,6 +43,7 @@ "Language" => "Язык", "Help translate" => "Помогите перевести", "use this address to connect to your ownCloud in your file manager" => "Используйте этот адрес для соединения с Вашим ownCloud в файловом менеджере", +"Developed by the ownCloud community, the source code is licensed under the AGPL." => "Разработанный ownCloud community, the source code is licensed under the AGPL.", "Name" => "Имя", "Password" => "Пароль", "Groups" => "Группы", diff --git a/settings/l10n/si_LK.php b/settings/l10n/si_LK.php index 451fb8a98580886882beb3d17ec75d12e3da88a7..13bd1762d423257377ea7be9844e68ff4eb23edd 100644 --- a/settings/l10n/si_LK.php +++ b/settings/l10n/si_LK.php @@ -1,15 +1,50 @@ "කණ්ඩායම දැනටමත් තිබේ", +"Unable to add group" => "කාණඩයක් එක් කළ නොහැකි විය", +"Could not enable app. " => "යෙදුම සක්‍රීය කළ නොහැකි විය.", +"Email saved" => "වි-තැපෑල සුරකින ලදී", +"Invalid email" => "අවලංගු වි-තැපෑල", +"OpenID Changed" => "විවෘත හැඳුනුම නැතහොත් OpenID වෙනස්විය.", "Invalid request" => "අවලංගු අයදුම", +"Unable to delete group" => "කණ්ඩායම මැකීමට නොහැක", +"Authentication error" => "සත්‍යාපන දෝෂයක්", +"Unable to delete user" => "පරිශීලකයා මැකීමට නොහැක", "Language changed" => "භාෂාව ාවනස් කිරීම", +"Unable to add user to group %s" => "පරිශීලකයා %s කණ්ඩායමට එකතු කළ නොහැක", +"Unable to remove user from group %s" => "පරිශීලකයා %s කණ්ඩායමින් ඉවත් කළ නොහැක", +"Disable" => "අක්‍රිය කරන්න", +"Enable" => "ක්‍රියත්මක කරන්න", +"Saving..." => "සුරැකෙමින් පවතී...", +"Add your App" => "යෙදුමක් එක් කිරීම", +"More Apps" => "තවත් යෙදුම්", +"Select an App" => "යෙදුමක් තොරන්න", +"Documentation" => "ලේඛන", +"Managing Big Files" => "විශාල ගොනු කළමණාකරනය", +"Ask a question" => "ප්‍රශ්ණයක් අසන්න", +"Problems connecting to help database." => "උදව් දත්ත ගබඩාව හා සම්බන්ධවීමේදී ගැටළු ඇතිවිය.", +"Go there manually." => "ස්වශක්තියෙන් එතැනට යන්න", "Answer" => "පිළිතුර", -"Current password" => "නූතන මුරපදය", +"Download" => "භාගත කරන්න", +"Your password was changed" => "ඔබගේ මුර පදය වෙනස් කෙරුණි", +"Unable to change your password" => "මුර පදය වෙනස් කළ නොහැකි විය", +"Current password" => "වත්මන් මුරපදය", "New password" => "නව මුරපදය", "show" => "ප්‍රදර්ශනය කිරීම", "Change password" => "මුරපදය වෙනස් කිරීම", +"Email" => "විද්‍යුත් තැපෑල", +"Your email address" => "ඔබගේ විද්‍යුත් තැපෑල", +"Fill in an email address to enable password recovery" => "මුරපද ප්‍රතිස්ථාපනය සඳහා විද්‍යුත් තැපැල් විස්තර ලබා දෙන්න", "Language" => "භාෂාව", +"Help translate" => "පරිවර්ථන සහය", +"use this address to connect to your ownCloud in your file manager" => "ඔබගේ ගොනු කළමනාකරු ownCloudයට සම්බන්ධ කිරීමට මෙම ලිපිනය භාවිතා කරන්න", +"Developed by the ownCloud community, the source code is licensed under the AGPL." => "නිපදන ලද්දේ ownCloud සමාජයෙන්, the මුල් කේතය ලයිසන්ස් කර ඇත්තේ AGPL යටතේ.", "Name" => "නාමය", "Password" => "මුරපදය", "Groups" => "සමූහය", -"Create" => "තනනවා", +"Create" => "තනන්න", +"Default Quota" => "සාමාන්‍ය සලාකය", +"Other" => "වෙනත්", +"Group Admin" => "කාණ්ඩ පරිපාලක", +"Quota" => "සලාකය", "Delete" => "මකා දමනවා" ); diff --git a/settings/l10n/sk_SK.php b/settings/l10n/sk_SK.php index 4dd824a8088d75d1fa9eeaf61d3174ddc1ef0fb5..179cbe250b5d4220668d245cd87d3c2bd421fa04 100644 --- a/settings/l10n/sk_SK.php +++ b/settings/l10n/sk_SK.php @@ -1,6 +1,5 @@ "Nie je možné nahrať zoznam z App Store", -"Authentication error" => "Chyba pri autentifikácii", "Group already exists" => "Skupina už existuje", "Unable to add group" => "Nie je možné pridať skupinu", "Could not enable app. " => "Nie je možné zapnúť aplikáciu.", @@ -8,45 +7,33 @@ "Invalid email" => "Neplatný email", "OpenID Changed" => "OpenID zmenené", "Invalid request" => "Neplatná požiadavka", -"Unable to delete group" => "Nie je možné zmazať skupinu", -"Unable to delete user" => "Nie je možné zmazať užívateľa", +"Unable to delete group" => "Nie je možné odstrániť skupinu", +"Authentication error" => "Chyba pri autentifikácii", +"Unable to delete user" => "Nie je možné odstrániť používateľa", "Language changed" => "Jazyk zmenený", +"Admins can't remove themself from the admin group" => "Administrátori nesmú odstrániť sami seba zo skupiny admin", "Unable to add user to group %s" => "Nie je možné pridať užívateľa do skupiny %s", -"Unable to remove user from group %s" => "Nie je možné zmazať užívateľa zo skupiny %s", +"Unable to remove user from group %s" => "Nie je možné odstrániť používateľa zo skupiny %s", "Disable" => "Zakázať", "Enable" => "Povoliť", "Saving..." => "Ukladám...", "__language_name__" => "Slovensky", -"Security Warning" => "Bezpečnostné varovanie", -"Execute one task with each page loaded" => "Vykonať jednu úlohu každým nahraním stránky", -"Use systems cron service. Call the cron.php file in the owncloud folder via a system cronjob once a minute." => "Používať systémovú službu cron. Každú minútu bude spustený súbor cron.php v priečinku owncloud pomocou systémového programu cronjob.", -"Sharing" => "Zdieľanie", -"Enable Share API" => "Zapnúť API zdieľania", -"Allow apps to use the Share API" => "Povoliť aplikáciam používať API pre zdieľanie", -"Allow links" => "Povoliť odkazy", -"Allow users to share items to the public with links" => "Povoliť užívateľom zdieľať obsah pomocou verejných odkazov", -"Allow resharing" => "Povoliť opakované zdieľanie", -"Allow users to share items shared with them again" => "Povoliť zdieľanie zdielaného obsahu iného užívateľa", -"Allow users to share with anyone" => "Povoliť užívateľom zdieľať s každým", -"Allow users to only share with users in their groups" => "Povoliť užívateľom zdieľanie iba s užívateľmi ich vlastnej skupiny", -"Log" => "Záznam", -"More" => "Viac", "Add your App" => "Pridať vašu aplikáciu", "More Apps" => "Viac aplikácií", "Select an App" => "Vyberte aplikáciu", -"See application page at apps.owncloud.com" => "Pozrite si stránku aplikácie na apps.owncloud.com", +"See application page at apps.owncloud.com" => "Pozrite si stránku aplikácií na apps.owncloud.com", "-licensed by " => "-licencované ", "Documentation" => "Dokumentácia", -"Managing Big Files" => "Spravovanie veľké súbory", -"Ask a question" => "Opýtajte sa otázku", -"Problems connecting to help database." => "Problémy spojené s pomocnou databázou.", +"Managing Big Files" => "Správa veľkých súborov", +"Ask a question" => "Opýtať sa otázku", +"Problems connecting to help database." => "Problémy s pripojením na databázu pomocníka.", "Go there manually." => "Prejsť tam ručne.", "Answer" => "Odpoveď", -"You have used %s of the available %s" => "Použili ste %s dostupného %s", +"You have used %s of the available %s" => "Použili ste %s z %s dostupných ", "Desktop and Mobile Syncing Clients" => "Klienti pre synchronizáciu", "Download" => "Stiahnúť", "Your password was changed" => "Heslo bolo zmenené", -"Unable to change your password" => "Nedokážem zmeniť vaše heslo", +"Unable to change your password" => "Nie je možné zmeniť vaše heslo", "Current password" => "Aktuálne heslo", "New password" => "Nové heslo", "show" => "zobraziť", @@ -57,6 +44,7 @@ "Language" => "Jazyk", "Help translate" => "Pomôcť s prekladom", "use this address to connect to your ownCloud in your file manager" => "použite túto adresu pre spojenie s vaším ownCloud v správcovi súborov", +"Developed by the ownCloud community, the source code is licensed under the AGPL." => "Vyvinuté komunitou ownCloud,zdrojový kód je licencovaný pod AGPL.", "Name" => "Meno", "Password" => "Heslo", "Groups" => "Skupiny", diff --git a/settings/l10n/sl.php b/settings/l10n/sl.php index 7f23d9dbc917d14ba64a4a8680fe4cdbdf41a5f8..b65a7ad641df16fbffdbd125216a139a37fa0580 100644 --- a/settings/l10n/sl.php +++ b/settings/l10n/sl.php @@ -1,72 +1,57 @@ "Ne morem naložiti seznama iz App Store", -"Authentication error" => "Napaka overitve", +"Unable to load list from App Store" => "Ni mogoče naložiti seznama iz App Store", "Group already exists" => "Skupina že obstaja", "Unable to add group" => "Ni mogoče dodati skupine", -"Could not enable app. " => "Aplikacije ni bilo mogoče omogočiti.", -"Email saved" => "E-poštni naslov je bil shranjen", -"Invalid email" => "Neveljaven e-poštni naslov", +"Could not enable app. " => "Programa ni mogoče omogočiti.", +"Email saved" => "Elektronski naslov je shranjen", +"Invalid email" => "Neveljaven elektronski naslov", "OpenID Changed" => "OpenID je bil spremenjen", -"Invalid request" => "Neveljaven zahtevek", +"Invalid request" => "Neveljavna zahteva", "Unable to delete group" => "Ni mogoče izbrisati skupine", +"Authentication error" => "Napaka overitve", "Unable to delete user" => "Ni mogoče izbrisati uporabnika", "Language changed" => "Jezik je bil spremenjen", +"Admins can't remove themself from the admin group" => "Administratorji sebe ne morejo odstraniti iz skupine admin", "Unable to add user to group %s" => "Uporabnika ni mogoče dodati k skupini %s", "Unable to remove user from group %s" => "Uporabnika ni mogoče odstraniti iz skupine %s", "Disable" => "Onemogoči", "Enable" => "Omogoči", -"Saving..." => "Shranjevanje...", +"Saving..." => "Poteka shranjevanje ...", "__language_name__" => "__ime_jezika__", -"Security Warning" => "Varnostno opozorilo", -"Your data directory and your files are probably accessible from the internet. The .htaccess file that ownCloud provides is not working. We strongly suggest that you configure your webserver in a way that the data directory is no longer accessible or you move the data directory outside the webserver document root." => "Vaša mapa data in vaše datoteke so verjetno vsem dostopne preko interneta. Datoteka .htaccess vključena v ownCloud ni omogočena. Močno vam priporočamo, da nastavite vaš spletni strežnik tako, da mapa data ne bo več na voljo vsem, ali pa jo preselite izven korenske mape spletnega strežnika.", -"Cron" => "Periodično opravilo", -"Execute one task with each page loaded" => "Izvede eno opravilo z vsako naloženo stranjo.", -"cron.php is registered at a webcron service. Call the cron.php page in the owncloud root once a minute over http." => "Datoteka cron.php je prijavljena pri enem od spletnih servisov za periodična opravila. Preko protokola http pokličite datoteko cron.php, ki se nahaja v ownCloud korenski mapi, enkrat na minuto.", -"Use systems cron service. Call the cron.php file in the owncloud folder via a system cronjob once a minute." => "Uporabi sistemski servis za periodična opravila. Preko sistemskega servisa pokličite datoteko cron.php, ki se nahaja v ownCloud korenski mapi, enkrat na minuto.", -"Sharing" => "Souporaba", -"Enable Share API" => "Omogoči API souporabe", -"Allow apps to use the Share API" => "Aplikacijam dovoli uporabo API-ja souporabe", -"Allow links" => "Dovoli povezave", -"Allow users to share items to the public with links" => "Uporabnikom dovoli souporabo z javnimi povezavami", -"Allow resharing" => "Dovoli nadaljnjo souporabo", -"Allow users to share items shared with them again" => "Uporabnikom dovoli nadaljnjo souporabo", -"Allow users to share with anyone" => "Uporabnikom dovoli souporabo s komerkoli", -"Allow users to only share with users in their groups" => "Uporabnikom dovoli souporabo le znotraj njihove skupine", -"Log" => "Dnevnik", -"More" => "Več", -"Developed by the ownCloud community, the source code is licensed under the AGPL." => "Razvija ga ownCloud skupnost. Izvorna koda je izdana pod licenco AGPL.", -"Add your App" => "Dodajte vašo aplikacijo", -"Select an App" => "Izberite aplikacijo", -"See application page at apps.owncloud.com" => "Obiščite spletno stran aplikacije na apps.owncloud.com", -"-licensed by " => "-licencirana s strani ", +"Add your App" => "Dodaj program", +"More Apps" => "Več programov", +"Select an App" => "Izberite program", +"See application page at apps.owncloud.com" => "Obiščite spletno stran programa na apps.owncloud.com", +"-licensed by " => "-z dovoljenjem s strani ", "Documentation" => "Dokumentacija", "Managing Big Files" => "Upravljanje velikih datotek", -"Ask a question" => "Postavi vprašanje", -"Problems connecting to help database." => "Težave pri povezovanju s podatkovno zbirko pomoči.", -"Go there manually." => "Pojdi tja ročno.", +"Ask a question" => "Zastavi vprašanje", +"Problems connecting to help database." => "Težave med povezovanjem s podatkovno zbirko pomoči.", +"Go there manually." => "Ustvari povezavo ročno.", "Answer" => "Odgovor", -"You have used %s of the available %s" => "Uporabili ste %s od razpoložljivih %s", -"Desktop and Mobile Syncing Clients" => "Namizni in mobilni odjemalci za sinhronizacijo", -"Download" => "Prenesi", -"Your password was changed" => "Vaše geslo je bilo spremenjeno", -"Unable to change your password" => "Vašega gesla ni bilo mogoče spremeniti.", +"You have used %s of the available %s" => "Uporabljate %s od razpoložljivih %s", +"Desktop and Mobile Syncing Clients" => "Namizni in mobilni odjemalci za usklajevanje", +"Download" => "Prejmi", +"Your password was changed" => "Vaše geslo je spremenjeno", +"Unable to change your password" => "Gesla ni mogoče spremeniti.", "Current password" => "Trenutno geslo", "New password" => "Novo geslo", -"show" => "prikaži", +"show" => "pokaži", "Change password" => "Spremeni geslo", -"Email" => "E-pošta", -"Your email address" => "Vaš e-poštni naslov", -"Fill in an email address to enable password recovery" => "Vpišite vaš e-poštni naslov in s tem omogočite obnovitev gesla", +"Email" => "Elektronska pošta", +"Your email address" => "Vaš elektronski poštni naslov", +"Fill in an email address to enable password recovery" => "Vpišite vaš elektronski naslov in s tem omogočite obnovitev gesla", "Language" => "Jezik", "Help translate" => "Pomagajte pri prevajanju", -"use this address to connect to your ownCloud in your file manager" => "Uporabite ta naslov za povezavo do ownCloud v vašem upravljalniku datotek.", +"use this address to connect to your ownCloud in your file manager" => "Uporabite ta naslov za povezavo do ownCloud v upravljalniku datotek.", +"Developed by the ownCloud community, the source code is licensed under the AGPL." => "Programski paket razvija skupnost ownCloud. Izvorna koda je objavljena pod pogoji dovoljenja AGPL.", "Name" => "Ime", "Password" => "Geslo", "Groups" => "Skupine", "Create" => "Ustvari", "Default Quota" => "Privzeta količinska omejitev", "Other" => "Drugo", -"Group Admin" => "Administrator skupine", +"Group Admin" => "Skrbnik skupine", "Quota" => "Količinska omejitev", "Delete" => "Izbriši" ); diff --git a/settings/l10n/sr.php b/settings/l10n/sr.php index 3fc1cd8c1ec427fe40182723554233688fb962d4..924d6a07b39be0afa32bd4c73e64eb856584d0ee 100644 --- a/settings/l10n/sr.php +++ b/settings/l10n/sr.php @@ -1,12 +1,38 @@ "Грешка приликом учитавања списка из Складишта Програма", +"Group already exists" => "Група већ постоји", +"Unable to add group" => "Не могу да додам групу", +"Could not enable app. " => "Не могу да укључим програм", +"Email saved" => "Е-порука сачувана", +"Invalid email" => "Неисправна е-адреса", "OpenID Changed" => "OpenID је измењен", "Invalid request" => "Неисправан захтев", -"Language changed" => "Језик је измењен", +"Unable to delete group" => "Не могу да уклоним групу", +"Authentication error" => "Грешка при аутентификацији", +"Unable to delete user" => "Не могу да уклоним корисника", +"Language changed" => "Језик је промењен", +"Admins can't remove themself from the admin group" => "Управници не могу себе уклонити из админ групе", +"Unable to add user to group %s" => "Не могу да додам корисника у групу %s", +"Unable to remove user from group %s" => "Не могу да уклоним корисника из групе %s", +"Disable" => "Искључи", +"Enable" => "Укључи", +"Saving..." => "Чување у току...", +"__language_name__" => "__language_name__", +"Add your App" => "Додајте ваш програм", +"More Apps" => "Више програма", "Select an App" => "Изаберите програм", +"See application page at apps.owncloud.com" => "Погледајте страницу са програмима на apps.owncloud.com", +"-licensed by " => "-лиценцирао ", +"Documentation" => "Документација", +"Managing Big Files" => "Управљање великим датотекама", "Ask a question" => "Поставите питање", "Problems connecting to help database." => "Проблем у повезивању са базом помоћи", "Go there manually." => "Отиђите тамо ручно.", "Answer" => "Одговор", +"You have used %s of the available %s" => "Искористили сте %s од дозвољених %s", +"Desktop and Mobile Syncing Clients" => "Стони и мобилни клијенти за усклађивање", +"Download" => "Преузимање", +"Your password was changed" => "Лозинка је промењена", "Unable to change your password" => "Не могу да изменим вашу лозинку", "Current password" => "Тренутна лозинка", "New password" => "Нова лозинка", @@ -14,12 +40,18 @@ "Change password" => "Измени лозинку", "Email" => "Е-пошта", "Your email address" => "Ваша адреса е-поште", +"Fill in an email address to enable password recovery" => "Ун", "Language" => "Језик", "Help translate" => " Помозите у превођењу", "use this address to connect to your ownCloud in your file manager" => "користите ову адресу да би се повезали на ownCloud путем менаџњера фајлова", +"Developed by the ownCloud community, the source code is licensed under the AGPL." => "Развијају Оунклауд (ownCloud) заједница, изворни код је издат под АГПЛ лиценцом.", "Name" => "Име", "Password" => "Лозинка", "Groups" => "Групе", "Create" => "Направи", +"Default Quota" => "Подразумевано ограничење", +"Other" => "Друго", +"Group Admin" => "Управник групе", +"Quota" => "Ограничење", "Delete" => "Обриши" ); diff --git a/settings/l10n/sr@latin.php b/settings/l10n/sr@latin.php index 5a85856979d1b607806ff2a8fe210b0b938175f3..13d3190df8b41596306d574f697d3d0f6839c9ec 100644 --- a/settings/l10n/sr@latin.php +++ b/settings/l10n/sr@latin.php @@ -1,22 +1,26 @@ "OpenID je izmenjen", "Invalid request" => "Neispravan zahtev", +"Authentication error" => "Greška pri autentifikaciji", "Language changed" => "Jezik je izmenjen", "Select an App" => "Izaberite program", "Ask a question" => "Postavite pitanje", "Problems connecting to help database." => "Problem u povezivanju sa bazom pomoći", "Go there manually." => "Otiđite tamo ručno.", "Answer" => "Odgovor", +"Download" => "Preuzmi", "Unable to change your password" => "Ne mogu da izmenim vašu lozinku", "Current password" => "Trenutna lozinka", "New password" => "Nova lozinka", "show" => "prikaži", "Change password" => "Izmeni lozinku", +"Email" => "E-mail", "Language" => "Jezik", "use this address to connect to your ownCloud in your file manager" => "koristite ovu adresu da bi se povezali na ownCloud putem menadžnjera fajlova", "Name" => "Ime", "Password" => "Lozinka", "Groups" => "Grupe", "Create" => "Napravi", +"Other" => "Drugo", "Delete" => "Obriši" ); diff --git a/settings/l10n/sv.php b/settings/l10n/sv.php index 17d33896423ea58bc1c2401a1871a5e2dc78b444..c829e0376b79d87b11e22e62cbfe129064c18141 100644 --- a/settings/l10n/sv.php +++ b/settings/l10n/sv.php @@ -1,6 +1,5 @@ "Kan inte ladda listan från App Store", -"Authentication error" => "Autentiseringsfel", "Group already exists" => "Gruppen finns redan", "Unable to add group" => "Kan inte lägga till grupp", "Could not enable app. " => "Kunde inte aktivera appen.", @@ -9,32 +8,16 @@ "OpenID Changed" => "OpenID ändrat", "Invalid request" => "Ogiltig begäran", "Unable to delete group" => "Kan inte radera grupp", +"Authentication error" => "Autentiseringsfel", "Unable to delete user" => "Kan inte radera användare", "Language changed" => "Språk ändrades", +"Admins can't remove themself from the admin group" => "Administratörer kan inte ta bort sig själva från admingruppen", "Unable to add user to group %s" => "Kan inte lägga till användare i gruppen %s", "Unable to remove user from group %s" => "Kan inte radera användare från gruppen %s", "Disable" => "Deaktivera", "Enable" => "Aktivera", "Saving..." => "Sparar...", "__language_name__" => "__language_name__", -"Security Warning" => "Säkerhetsvarning", -"Your data directory and your files are probably accessible from the internet. The .htaccess file that ownCloud provides is not working. We strongly suggest that you configure your webserver in a way that the data directory is no longer accessible or you move the data directory outside the webserver document root." => "Din datamapp och dina filer kan möjligen vara nåbara från internet. Filen .htaccess som ownCloud tillhandahåller fungerar inte. Vi rekommenderar starkt att du ställer in din webbserver på ett sätt så att datamappen inte är nåbar. Alternativt att ni flyttar datamappen utanför webbservern.", -"Cron" => "Cron", -"Execute one task with each page loaded" => "Exekvera en uppgift vid varje sidladdning", -"cron.php is registered at a webcron service. Call the cron.php page in the owncloud root once a minute over http." => "cron.php är registrerad som en webcron-tjänst. Anropa cron.php sidan i ownCloud en gång i minuten över HTTP.", -"Use systems cron service. Call the cron.php file in the owncloud folder via a system cronjob once a minute." => "Använd system-tjänsten cron. Anropa filen cron.php i ownCloud-mappen via ett cronjobb varje minut.", -"Sharing" => "Dela", -"Enable Share API" => "Aktivera delat API", -"Allow apps to use the Share API" => "Tillåt applikationer att använda delat API", -"Allow links" => "Tillåt länkar", -"Allow users to share items to the public with links" => "Tillåt delning till allmänheten via publika länkar", -"Allow resharing" => "Tillåt dela vidare", -"Allow users to share items shared with them again" => "Tillåt användare att dela vidare filer som delats med dom", -"Allow users to share with anyone" => "Tillåt delning med alla", -"Allow users to only share with users in their groups" => "Tillåt bara delning med användare i egna grupper", -"Log" => "Logg", -"More" => "Mera", -"Developed by the ownCloud community, the source code is licensed under the AGPL." => "Utvecklad av ownCloud kommunity, källkoden är licenserad under AGPL.", "Add your App" => "Lägg till din applikation", "More Apps" => "Fler Appar", "Select an App" => "Välj en App", @@ -46,7 +29,7 @@ "Problems connecting to help database." => "Problem med att ansluta till hjälpdatabasen.", "Go there manually." => "Gå dit manuellt.", "Answer" => "Svar", -"You have used %s of the available %s" => "Du har använt %s av tillgängliga %s", +"You have used %s of the available %s" => "Du har använt %s av tillgängliga %s", "Desktop and Mobile Syncing Clients" => "Synkroniseringsklienter för dator och mobil", "Download" => "Ladda ner", "Your password was changed" => "Ditt lösenord har ändrats", @@ -61,6 +44,7 @@ "Language" => "Språk", "Help translate" => "Hjälp att översätta", "use this address to connect to your ownCloud in your file manager" => "använd denna adress för att ansluta ownCloud till din filhanterare", +"Developed by the ownCloud community, the source code is licensed under the AGPL." => "Utvecklad av ownCloud kommunity, källkoden är licenserad under AGPL.", "Name" => "Namn", "Password" => "Lösenord", "Groups" => "Grupper", diff --git a/settings/l10n/ta_LK.php b/settings/l10n/ta_LK.php new file mode 100644 index 0000000000000000000000000000000000000000..c0189a5bdaf39a567196cfda29e8d0b05d54d8e0 --- /dev/null +++ b/settings/l10n/ta_LK.php @@ -0,0 +1,56 @@ + "செயலி சேமிப்பிலிருந்து பட்டியலை ஏற்றமுடியாதுள்ளது", +"Group already exists" => "குழு ஏற்கனவே உள்ளது", +"Unable to add group" => "குழுவை சேர்க்க முடியாது", +"Could not enable app. " => "செயலியை இயலுமைப்படுத்த முடியாது", +"Email saved" => "மின்னஞ்சல் சேமிக்கப்பட்டது", +"Invalid email" => "செல்லுபடியற்ற மின்னஞ்சல்", +"OpenID Changed" => "OpenID மாற்றப்பட்டது", +"Invalid request" => "செல்லுபடியற்ற வேண்டுகோள்", +"Unable to delete group" => "குழுவை நீக்க முடியாது", +"Authentication error" => "அத்தாட்சிப்படுத்தலில் வழு", +"Unable to delete user" => "பயனாளரை நீக்க முடியாது", +"Language changed" => "மொழி மாற்றப்பட்டது", +"Unable to add user to group %s" => "குழு %s இல் பயனாளரை சேர்க்க முடியாது", +"Unable to remove user from group %s" => "குழு %s இலிருந்து பயனாளரை நீக்கமுடியாது", +"Disable" => "இயலுமைப்ப", +"Enable" => "செயலற்றதாக்குக", +"Saving..." => "இயலுமைப்படுத்துக", +"__language_name__" => "_மொழி_பெயர்_", +"Add your App" => "உங்களுடைய செயலியை சேர்க்க", +"More Apps" => "மேலதிக செயலிகள்", +"Select an App" => "செயலி ஒன்றை தெரிவுசெய்க", +"See application page at apps.owncloud.com" => "apps.owncloud.com இல் செயலி பக்கத்தை பார்க்க", +"-licensed by " => "-அனுமதி பெற்ற ", +"Documentation" => "ஆவணமாக்கல்", +"Managing Big Files" => "பெரிய கோப்புகளை முகாமைப்படுத்தல்", +"Ask a question" => "வினா ஒன்றை கேட்க", +"Problems connecting to help database." => "தரவுதளத்தை இணைக்கும் உதவியில் பிரச்சினைகள்", +"Go there manually." => "கைமுறையாக அங்கு செல்க", +"Answer" => "விடை", +"You have used %s of the available %s" => "நீங்கள் %s இலுள்ள %sபயன்படுத்தியுள்ளீர்கள்", +"Desktop and Mobile Syncing Clients" => "desktop மற்றும் Mobile ஒத்திசைவு சேவைப் பயனாளர்", +"Download" => "பதிவிறக்குக", +"Your password was changed" => "உங்களுடைய கடவுச்சொல் மாற்றப்பட்டுள்ளது", +"Unable to change your password" => "உங்களுடைய கடவுச்சொல்லை மாற்றமுடியாது", +"Current password" => "தற்போதைய கடவுச்சொல்", +"New password" => "புதிய கடவுச்சொல்", +"show" => "காட்டு", +"Change password" => "கடவுச்சொல்லை மாற்றுக", +"Email" => "மின்னஞ்சல்", +"Your email address" => "உங்களுடைய மின்னஞ்சல் முகவரி", +"Fill in an email address to enable password recovery" => "கடவுச்சொல் மீள் பெறுவதை இயலுமைப்படுத்துவதற்கு மின்னஞ்சல் முகவரியை இயலுமைப்படுத்துக", +"Language" => "மொழி", +"Help translate" => "மொழிபெயர்க்க உதவி", +"use this address to connect to your ownCloud in your file manager" => "உங்களுடைய கோப்பு முகாமையில் உள்ள உங்களுடைய ownCloud உடன் இணைக்க இந்த முகவரியை பயன்படுத்தவும்", +"Developed by the ownCloud community, the source code is licensed under the AGPL." => "Developed by the ownCloud community, the source code is licensed under the AGPL.", +"Name" => "பெயர்", +"Password" => "கடவுச்சொல்", +"Groups" => "குழுக்கள்", +"Create" => "உருவாக்குக", +"Default Quota" => "பொது இருப்பு பங்கு", +"Other" => "மற்றவை", +"Group Admin" => "குழு நிர்வாகி", +"Quota" => "பங்கு", +"Delete" => "அழிக்க" +); diff --git a/settings/l10n/th_TH.php b/settings/l10n/th_TH.php index 0b2d1ecfb54f5d7f957928826eb0046e9d021319..3431fedac0ae6bbea156130a4b19edecb22f3256 100644 --- a/settings/l10n/th_TH.php +++ b/settings/l10n/th_TH.php @@ -1,6 +1,5 @@ "ไม่สามารถโหลดรายการจาก App Store ได้", -"Authentication error" => "เกิดข้อผิดพลาดเกี่ยวกับสิทธิ์การเข้าใช้งาน", "Group already exists" => "มีกลุ่มดังกล่าวอยู่ในระบบอยู่แล้ว", "Unable to add group" => "ไม่สามารถเพิ่มกลุ่มได้", "Could not enable app. " => "ไม่สามารถเปิดใช้งานแอปได้", @@ -9,6 +8,7 @@ "OpenID Changed" => "เปลี่ยนชื่อบัญชี OpenID แล้ว", "Invalid request" => "คำร้องขอไม่ถูกต้อง", "Unable to delete group" => "ไม่สามารถลบกลุ่มได้", +"Authentication error" => "เกิดข้อผิดพลาดเกี่ยวกับสิทธิ์การเข้าใช้งาน", "Unable to delete user" => "ไม่สามารถลบผู้ใช้งานได้", "Language changed" => "เปลี่ยนภาษาเรียบร้อยแล้ว", "Unable to add user to group %s" => "ไม่สามารถเพิ่มผู้ใช้งานเข้าไปที่กลุ่ม %s ได้", @@ -17,24 +17,6 @@ "Enable" => "เปิดใช้งาน", "Saving..." => "กำลังบันทึุกข้อมูล...", "__language_name__" => "ภาษาไทย", -"Security Warning" => "คำเตือนเกี่ยวกับความปลอดภัย", -"Your data directory and your files are probably accessible from the internet. The .htaccess file that ownCloud provides is not working. We strongly suggest that you configure your webserver in a way that the data directory is no longer accessible or you move the data directory outside the webserver document root." => "ไดเร็กทอรี่ข้อมูลและไฟล์ของคุณสามารถเข้าถึงได้จากอินเทอร์เน็ต ไฟล์ .htaccess ที่ ownCloud มีให้ไม่สามารถทำงานได้อย่างเหมาะสม เราขอแนะนำให้คุณกำหนดค่าเว็บเซิร์ฟเวอร์ใหม่ในรูปแบบที่ไดเร็กทอรี่เก็บข้อมูลไม่สามารถเข้าถึงได้อีกต่อไป หรือคุณได้ย้ายไดเร็กทอรี่ที่ใช้เก็บข้อมูลไปอยู่ภายนอกตำแหน่ง root ของเว็บเซิร์ฟเวอร์แล้ว", -"Cron" => "Cron", -"Execute one task with each page loaded" => "ประมวลคำสั่งหนึ่งงานในแต่ละครั้งที่มีการโหลดหน้าเว็บ", -"cron.php is registered at a webcron service. Call the cron.php page in the owncloud root once a minute over http." => "cron.php ได้รับการลงทะเบียนแล้วกับเว็บผู้ให้บริการ webcron เรียกหน้าเว็บ cron.php ที่ตำแหน่ง root ของ owncloud หลังจากนี้สักครู่ผ่านทาง http", -"Use systems cron service. Call the cron.php file in the owncloud folder via a system cronjob once a minute." => "ใช้บริการ cron จากระบบ เรียกไฟล์ cron.php ในโฟลเดอร์ owncloud ผ่านทาง cronjob ของระบบหลังจากนี้สักครู่", -"Sharing" => "การแชร์ข้อมูล", -"Enable Share API" => "เปิดใช้งาน API สำหรับคุณสมบัติแชร์ข้อมูล", -"Allow apps to use the Share API" => "อนุญาตให้แอปฯสามารถใช้ API สำหรับแชร์ข้อมูลได้", -"Allow links" => "อนุญาตให้ใช้งานลิงก์ได้", -"Allow users to share items to the public with links" => "อนุญาตให้ผู้ใช้งานสามารถแชร์ข้อมูลรายการต่างๆไปให้สาธารณะชนเป็นลิงก์ได้", -"Allow resharing" => "อนุญาตให้แชร์ข้อมูลซ้ำใหม่ได้", -"Allow users to share items shared with them again" => "อนุญาตให้ผู้ใช้งานแชร์ข้อมูลรายการต่างๆที่ถูกแชร์มาให้ตัวผู้ใช้งานได้เท่านั้น", -"Allow users to share with anyone" => "อนุญาตให้ผู้ใช้งานแชร์ข้อมูลถึงใครก็ได้", -"Allow users to only share with users in their groups" => "อนุญาตให้ผู้ใช้งานแชร์ข้อมูลได้เฉพาะกับผู้ใช้งานที่อยู่ในกลุ่มเดียวกันเท่านั้น", -"Log" => "บันทึกการเปลี่ยนแปลง", -"More" => "เพิ่มเติม", -"Developed by the ownCloud community, the source code is licensed under the AGPL." => "พัฒนาโดย the ชุมชนผู้ใช้งาน ownCloud, the ซอร์สโค้ดอยู่ภายใต้สัญญาอนุญาตของ AGPL.", "Add your App" => "เพิ่มแอปของคุณ", "More Apps" => "แอปฯอื่นเพิ่มเติม", "Select an App" => "เลือก App", @@ -46,7 +28,7 @@ "Problems connecting to help database." => "เกิดปัญหาในการเชื่อมต่อกับฐานข้อมูลช่วยเหลือ", "Go there manually." => "ไปที่นั่นด้วยตนเอง", "Answer" => "คำตอบ", -"You have used %s of the available %s" => "คุณได้ใช้ %s จากที่สามารถใช้ได้ %s", +"You have used %s of the available %s" => "คุณได้ใช้งานไปแล้ว %s จากจำนวนที่สามารถใช้ได้ %s", "Desktop and Mobile Syncing Clients" => "โปรแกรมเชื่อมข้อมูลไฟล์สำหรับเครื่องเดสก์ท็อปและมือถือ", "Download" => "ดาวน์โหลด", "Your password was changed" => "รหัสผ่านของคุณถูกเปลี่ยนแล้ว", @@ -61,6 +43,7 @@ "Language" => "ภาษา", "Help translate" => "ช่วยกันแปล", "use this address to connect to your ownCloud in your file manager" => "ใช้ที่อยู่นี้ในการเชื่อมต่อกับบัญชี ownCloud ของคุณในเครื่องมือจัดการไฟล์ของคุณ", +"Developed by the ownCloud community, the source code is licensed under the AGPL." => "พัฒนาโดย the ชุมชนผู้ใช้งาน ownCloud, the ซอร์สโค้ดอยู่ภายใต้สัญญาอนุญาตของ AGPL.", "Name" => "ชื่อ", "Password" => "รหัสผ่าน", "Groups" => "กลุ่ม", diff --git a/settings/l10n/tr.php b/settings/l10n/tr.php index 31486c7776a3229214dcfc9afedf147f45ab397a..1e301e8d32355ef79c5c97b3377a4c01f9b31d13 100644 --- a/settings/l10n/tr.php +++ b/settings/l10n/tr.php @@ -1,18 +1,23 @@ "Eşleşme hata", +"Unable to load list from App Store" => "App Store'dan liste yüklenemiyor", +"Group already exists" => "Grup zaten mevcut", +"Unable to add group" => "Gruba eklenemiyor", +"Could not enable app. " => "Uygulama devreye alınamadı", "Email saved" => "Eposta kaydedildi", "Invalid email" => "Geçersiz eposta", "OpenID Changed" => "OpenID Değiştirildi", "Invalid request" => "Geçersiz istek", +"Unable to delete group" => "Grup silinemiyor", +"Authentication error" => "Eşleşme hata", +"Unable to delete user" => "Kullanıcı silinemiyor", "Language changed" => "Dil değiştirildi", +"Unable to add user to group %s" => "Kullanıcı %s grubuna eklenemiyor", "Disable" => "Etkin değil", "Enable" => "Etkin", "Saving..." => "Kaydediliyor...", "__language_name__" => "__dil_adı__", -"Security Warning" => "Güvenlik Uyarisi", -"Log" => "Günlük", -"More" => "Devamı", "Add your App" => "Uygulamanı Ekle", +"More Apps" => "Daha fazla App", "Select an App" => "Bir uygulama seçin", "See application page at apps.owncloud.com" => "Uygulamanın sayfasına apps.owncloud.com adresinden bakın ", "Documentation" => "Dökümantasyon", @@ -23,6 +28,7 @@ "Answer" => "Cevap", "Desktop and Mobile Syncing Clients" => "Masaüstü ve Mobil Senkron İstemcileri", "Download" => "İndir", +"Your password was changed" => "Şifreniz değiştirildi", "Unable to change your password" => "Parolanız değiştirilemiyor", "Current password" => "Mevcut parola", "New password" => "Yeni parola", @@ -34,12 +40,14 @@ "Language" => "Dil", "Help translate" => "Çevirilere yardım edin", "use this address to connect to your ownCloud in your file manager" => "bu adresi kullanarak ownCloud unuza dosya yöneticinizle bağlanın", +"Developed by the ownCloud community, the source code is licensed under the AGPL." => "Geliştirilen TarafownCloud community, the source code is altında lisanslanmıştır AGPL.", "Name" => "Ad", "Password" => "Parola", "Groups" => "Gruplar", "Create" => "Oluştur", "Default Quota" => "Varsayılan Kota", "Other" => "Diğer", +"Group Admin" => "Yönetici Grubu ", "Quota" => "Kota", "Delete" => "Sil" ); diff --git a/settings/l10n/uk.php b/settings/l10n/uk.php index 82b6881dfc1d21be814cc834591b436bb5fa44da..d1a0d6d9091c4ee81a5a5ed6d84b0bf7559a909a 100644 --- a/settings/l10n/uk.php +++ b/settings/l10n/uk.php @@ -1,18 +1,57 @@ "Не вдалося завантажити список з App Store", +"Group already exists" => "Група вже існує", +"Unable to add group" => "Не вдалося додати групу", +"Could not enable app. " => "Не вдалося активувати програму. ", +"Email saved" => "Адресу збережено", +"Invalid email" => "Невірна адреса", "OpenID Changed" => "OpenID змінено", "Invalid request" => "Помилковий запит", +"Unable to delete group" => "Не вдалося видалити групу", +"Authentication error" => "Помилка автентифікації", +"Unable to delete user" => "Не вдалося видалити користувача", "Language changed" => "Мова змінена", +"Admins can't remove themself from the admin group" => "Адміністратор не може видалити себе з групи адмінів", +"Unable to add user to group %s" => "Не вдалося додати користувача у групу %s", +"Unable to remove user from group %s" => "Не вдалося видалити користувача із групи %s", +"Disable" => "Вимкнути", +"Enable" => "Включити", +"Saving..." => "Зберігаю...", +"__language_name__" => "__language_name__", +"Add your App" => "Додати свою програму", +"More Apps" => "Більше програм", "Select an App" => "Вибрати додаток", +"See application page at apps.owncloud.com" => "Перегляньте сторінку програм на apps.owncloud.com", +"-licensed by " => "-licensed by ", +"Documentation" => "Документація", +"Managing Big Files" => "Управління великими файлами", "Ask a question" => "Запитати", "Problems connecting to help database." => "Проблема при з'єднані з базою допомоги", +"Go there manually." => "Перейти вручну.", +"Answer" => "Відповідь", +"You have used %s of the available %s" => "Ви використали %s із доступних %s", +"Desktop and Mobile Syncing Clients" => "Настільні та мобільні клієнти синхронізації", +"Download" => "Завантажити", +"Your password was changed" => "Ваш пароль змінено", +"Unable to change your password" => "Не вдалося змінити Ваш пароль", "Current password" => "Поточний пароль", "New password" => "Новий пароль", "show" => "показати", "Change password" => "Змінити пароль", +"Email" => "Ел.пошта", +"Your email address" => "Ваша адреса електронної пошти", +"Fill in an email address to enable password recovery" => "Введіть адресу електронної пошти для відновлення паролю", "Language" => "Мова", +"Help translate" => "Допомогти з перекладом", +"use this address to connect to your ownCloud in your file manager" => "використовувати цю адресу для з'єднання з ownCloud у Вашому файловому менеджері", +"Developed by the ownCloud community, the source code is licensed under the AGPL." => "Розроблено ownCloud громадою, вихідний код має ліцензію AGPL.", "Name" => "Ім'я", "Password" => "Пароль", "Groups" => "Групи", "Create" => "Створити", +"Default Quota" => "Квота за замовчуванням", +"Other" => "Інше", +"Group Admin" => "Адміністратор групи", +"Quota" => "Квота", "Delete" => "Видалити" ); diff --git a/settings/l10n/vi.php b/settings/l10n/vi.php index 18de6a6068f425ab8cf4c46e5543315667e3e722..7857b0509e6c7568f93f2c5ede86479ea2cff0e8 100644 --- a/settings/l10n/vi.php +++ b/settings/l10n/vi.php @@ -1,47 +1,38 @@ "Không thể tải danh sách ứng dụng từ App Store", -"Authentication error" => "Lỗi xác thực", "Group already exists" => "Nhóm đã tồn tại", "Unable to add group" => "Không thể thêm nhóm", +"Could not enable app. " => "không thể kích hoạt ứng dụng.", "Email saved" => "Lưu email", "Invalid email" => "Email không hợp lệ", "OpenID Changed" => "Đổi OpenID", "Invalid request" => "Yêu cầu không hợp lệ", "Unable to delete group" => "Không thể xóa nhóm", +"Authentication error" => "Lỗi xác thực", "Unable to delete user" => "Không thể xóa người dùng", "Language changed" => "Ngôn ngữ đã được thay đổi", +"Admins can't remove themself from the admin group" => "Quản trị viên không thể loại bỏ chính họ khỏi nhóm quản lý", "Unable to add user to group %s" => "Không thể thêm người dùng vào nhóm %s", "Unable to remove user from group %s" => "Không thể xóa người dùng từ nhóm %s", -"Disable" => "Vô hiệu", -"Enable" => "Cho phép", +"Disable" => "Tắt", +"Enable" => "Bật", "Saving..." => "Đang tiến hành lưu ...", "__language_name__" => "__Ngôn ngữ___", -"Security Warning" => "Cảnh bảo bảo mật", -"Your data directory and your files are probably accessible from the internet. The .htaccess file that ownCloud provides is not working. We strongly suggest that you configure your webserver in a way that the data directory is no longer accessible or you move the data directory outside the webserver document root." => "Thư mục dữ liệu và những tập tin của bạn có thể dễ dàng bị truy cập từ internet. Tập tin .htaccess của ownCloud cung cấp không hoạt động. Chúng tôi đề nghị bạn nên cấu hình lại máy chủ webserver của bạn để thư mục dữ liệu không còn bị truy cập hoặc bạn di chuyển thư mục dữ liệu ra bên ngoài thư mục gốc của máy chủ.", -"Cron" => "Cron", -"Enable Share API" => "Bật chia sẻ API", -"Allow apps to use the Share API" => "Cho phép các ứng dụng sử dụng chia sẻ API", -"Allow links" => "Cho phép liên kết", -"Allow users to share items to the public with links" => "Cho phép người dùng chia sẻ công khai các mục bằng các liên kết", -"Allow resharing" => "Cho phép chia sẻ lại", -"Allow users to share items shared with them again" => "Cho phép người dùng chia sẻ lại những mục đã được chia sẻ", -"Allow users to share with anyone" => "Cho phép người dùng chia sẻ với bất cứ ai", -"Allow users to only share with users in their groups" => "Chỉ cho phép người dùng chia sẻ với những người dùng trong nhóm của họ", -"Log" => "Log", -"More" => "nhiều hơn", -"Developed by the ownCloud community, the source code is licensed under the AGPL." => "Được phát triển bởi cộng đồng ownCloud, mã nguồn đã được cấp phép theo chuẩn AGPL.", "Add your App" => "Thêm ứng dụng của bạn", +"More Apps" => "Nhiều ứng dụng hơn", "Select an App" => "Chọn một ứng dụng", -"See application page at apps.owncloud.com" => "Xem ứng dụng tại apps.owncloud.com", +"See application page at apps.owncloud.com" => "Xem nhiều ứng dụng hơn tại apps.owncloud.com", "-licensed by " => "-Giấy phép được cấp bởi ", "Documentation" => "Tài liệu", "Managing Big Files" => "Quản lý tập tin lớn", "Ask a question" => "Đặt câu hỏi", "Problems connecting to help database." => "Vấn đề kết nối đến cơ sở dữ liệu.", -"Go there manually." => "Đến bằng thủ công", +"Go there manually." => "Đến bằng thủ công.", "Answer" => "trả lời", +"You have used %s of the available %s" => "Bạn đã sử dụng %s có sẵn %s ", "Desktop and Mobile Syncing Clients" => "Đồng bộ dữ liệu", "Download" => "Tải về", +"Your password was changed" => "Mật khẩu của bạn đã được thay đổi.", "Unable to change your password" => "Không thể đổi mật khẩu", "Current password" => "Mật khẩu cũ", "New password" => "Mật khẩu mới ", @@ -51,8 +42,9 @@ "Your email address" => "Email của bạn", "Fill in an email address to enable password recovery" => "Nhập địa chỉ email của bạn để khôi phục lại mật khẩu", "Language" => "Ngôn ngữ", -"Help translate" => "Dịch ", +"Help translate" => "Hỗ trợ dịch thuật", "use this address to connect to your ownCloud in your file manager" => "sử dụng địa chỉ này để kết nối với ownCloud của bạn trong quản lý tập tin ", +"Developed by the ownCloud community, the source code is licensed under the AGPL." => "Được phát triển bởi cộng đồng ownCloud, mã nguồn đã được cấp phép theo chuẩn AGPL.", "Name" => "Tên", "Password" => "Mật khẩu", "Groups" => "Nhóm", diff --git a/settings/l10n/zh_CN.GB2312.php b/settings/l10n/zh_CN.GB2312.php index 26bfbbd7ae50e9fdd1929af60f778fed409d2794..4784ff7ff9df99dbd19239f1f8445107c5797e37 100644 --- a/settings/l10n/zh_CN.GB2312.php +++ b/settings/l10n/zh_CN.GB2312.php @@ -1,6 +1,5 @@ "不能从App Store 中加载列表", -"Authentication error" => "认证错误", "Group already exists" => "群组已存在", "Unable to add group" => "未能添加群组", "Could not enable app. " => "未能启用应用", @@ -9,6 +8,7 @@ "OpenID Changed" => "OpenID 改变了", "Invalid request" => "非法请求", "Unable to delete group" => "未能删除群组", +"Authentication error" => "认证错误", "Unable to delete user" => "未能删除用户", "Language changed" => "语言改变了", "Unable to add user to group %s" => "未能添加用户到群组 %s", @@ -17,25 +17,8 @@ "Enable" => "启用", "Saving..." => "保存中...", "__language_name__" => "Chinese", -"Security Warning" => "安全警告", -"Your data directory and your files are probably accessible from the internet. The .htaccess file that ownCloud provides is not working. We strongly suggest that you configure your webserver in a way that the data directory is no longer accessible or you move the data directory outside the webserver document root." => "您的数据文件夹和您的文件可能可以从互联网访问。ownCloud 提供的 .htaccess 文件未工作。我们强烈建议您配置您的网络服务器,让数据文件夹不能访问,或将数据文件夹移出网络服务器文档根目录。", -"Cron" => "定时", -"Execute one task with each page loaded" => "在每个页面载入时执行一项任务", -"cron.php is registered at a webcron service. Call the cron.php page in the owncloud root once a minute over http." => "cron.php 已作为 webcron 服务注册。owncloud 根用户将通过 http 协议每分钟调用一次 cron.php。", -"Use systems cron service. Call the cron.php file in the owncloud folder via a system cronjob once a minute." => "使用系统 cron 服务。通过系统 cronjob 每分钟调用一次 owncloud 文件夹下的 cron.php", -"Sharing" => "分享", -"Enable Share API" => "启用分享 API", -"Allow apps to use the Share API" => "允许应用使用分享 API", -"Allow links" => "允许链接", -"Allow users to share items to the public with links" => "允许用户使用链接与公众分享条目", -"Allow resharing" => "允许重复分享", -"Allow users to share items shared with them again" => "允许用户再次分享已经分享过的条目", -"Allow users to share with anyone" => "允许用户与任何人分享", -"Allow users to only share with users in their groups" => "只允许用户与群组内用户分享", -"Log" => "日志", -"More" => "更多", -"Developed by the ownCloud community, the source code is licensed under the AGPL." => "由 ownCloud 社区开发,s源代码AGPL 许可协议发布。", "Add your App" => "添加你的应用程序", +"More Apps" => "更多应用", "Select an App" => "选择一个程序", "See application page at apps.owncloud.com" => "在owncloud.com上查看应用程序", "-licensed by " => "授权协议 ", @@ -45,7 +28,6 @@ "Problems connecting to help database." => "连接到帮助数据库时的问题", "Go there manually." => "收到转到.", "Answer" => "回答", -"You have used %s of the available %s" => "您已使用了 %s,总可用 %s", "Desktop and Mobile Syncing Clients" => "桌面和移动同步客户端", "Download" => "下载", "Your password was changed" => "您的密码以变更", @@ -60,6 +42,7 @@ "Language" => "语言", "Help translate" => "帮助翻译", "use this address to connect to your ownCloud in your file manager" => "使用这个地址和你的文件管理器连接到你的ownCloud", +"Developed by the ownCloud community, the source code is licensed under the AGPL." => "由 ownCloud 社区开发,s源代码AGPL 许可协议发布。", "Name" => "名字", "Password" => "密码", "Groups" => "组", diff --git a/settings/l10n/zh_CN.php b/settings/l10n/zh_CN.php index 31063d3a01ba235ddae5ec3040d54d46cf7590ed..87c8172d6fa9f53cb27a028292f3a04722a74c64 100644 --- a/settings/l10n/zh_CN.php +++ b/settings/l10n/zh_CN.php @@ -1,6 +1,5 @@ "无法从应用商店载入列表", -"Authentication error" => "认证错误", "Group already exists" => "已存在该组", "Unable to add group" => "无法添加组", "Could not enable app. " => "无法开启App", @@ -9,33 +8,18 @@ "OpenID Changed" => "OpenID 已修改", "Invalid request" => "非法请求", "Unable to delete group" => "无法删除组", +"Authentication error" => "认证错误", "Unable to delete user" => "无法删除用户", "Language changed" => "语言已修改", +"Admins can't remove themself from the admin group" => "管理员不能将自己移出管理组。", "Unable to add user to group %s" => "无法把用户添加到组 %s", "Unable to remove user from group %s" => "无法从组%s中移除用户", "Disable" => "禁用", "Enable" => "启用", "Saving..." => "正在保存", "__language_name__" => "简体中文", -"Security Warning" => "安全警告", -"Your data directory and your files are probably accessible from the internet. The .htaccess file that ownCloud provides is not working. We strongly suggest that you configure your webserver in a way that the data directory is no longer accessible or you move the data directory outside the webserver document root." => "您的数据文件夹和文件可由互联网访问。OwnCloud提供的.htaccess文件未生效。我们强烈建议您配置服务器,以使数据文件夹不可被访问,或者将数据文件夹移到web服务器根目录以外。", -"Cron" => "计划任务", -"Execute one task with each page loaded" => "每次页面加载完成后执行任务", -"cron.php is registered at a webcron service. Call the cron.php page in the owncloud root once a minute over http." => "cron.php已被注册到网络定时任务服务。通过http每分钟调用owncloud根目录的cron.php网页。", -"Use systems cron service. Call the cron.php file in the owncloud folder via a system cronjob once a minute." => "使用系统定时任务服务。每分钟通过系统定时任务调用owncloud文件夹中的cron.php文件", -"Sharing" => "分享", -"Enable Share API" => "开启共享API", -"Allow apps to use the Share API" => "允许 应用 使用共享API", -"Allow links" => "允许连接", -"Allow users to share items to the public with links" => "允许用户使用连接向公众共享", -"Allow resharing" => "允许再次共享", -"Allow users to share items shared with them again" => "允许用户将共享给他们的项目再次共享", -"Allow users to share with anyone" => "允许用户向任何人共享", -"Allow users to only share with users in their groups" => "允许用户只向同组用户共享", -"Log" => "日志", -"More" => "更多", -"Developed by the ownCloud community, the source code is licensed under the AGPL." => "由ownCloud社区开发, 源代码AGPL许可证下发布。", "Add your App" => "添加应用", +"More Apps" => "更多应用", "Select an App" => "选择一个应用", "See application page at apps.owncloud.com" => "查看在 app.owncloud.com 的应用程序页面", "-licensed by " => "-核准: ", @@ -45,8 +29,8 @@ "Problems connecting to help database." => "连接帮助数据库错误 ", "Go there manually." => "手动访问", "Answer" => "回答", -"You have used %s of the available %s" => "您已使用空间: %s,总空间: %s", -"Desktop and Mobile Syncing Clients" => "桌面和移动设备同步程序", +"You have used %s of the available %s" => "你已使用 %s,有效空间 %s", +"Desktop and Mobile Syncing Clients" => "桌面和移动设备同步客户端", "Download" => "下载", "Your password was changed" => "密码已修改", "Unable to change your password" => "无法修改密码", @@ -56,17 +40,18 @@ "Change password" => "修改密码", "Email" => "电子邮件", "Your email address" => "您的电子邮件", -"Fill in an email address to enable password recovery" => "填写电子邮件地址以启用密码恢复", +"Fill in an email address to enable password recovery" => "填写电子邮件地址以启用密码恢复功能", "Language" => "语言", "Help translate" => "帮助翻译", "use this address to connect to your ownCloud in your file manager" => "您可在文件管理器中使用该地址连接到ownCloud", +"Developed by the ownCloud community, the source code is licensed under the AGPL." => "由ownCloud社区开发, 源代码AGPL许可证下发布。", "Name" => "名称", "Password" => "密码", "Groups" => "组", "Create" => "创建", "Default Quota" => "默认配额", "Other" => "其它", -"Group Admin" => "组管理", +"Group Admin" => "组管理员", "Quota" => "配额", "Delete" => "删除" ); diff --git a/settings/l10n/zh_TW.php b/settings/l10n/zh_TW.php index ccf67cef03590b789ea656d2d054d7e7210dd2ad..7de5ee5f54d375f0cc233ca5be8fdfdbd1ffb8fa 100644 --- a/settings/l10n/zh_TW.php +++ b/settings/l10n/zh_TW.php @@ -1,42 +1,38 @@ "無法從 App Store 讀取清單", -"Authentication error" => "認證錯誤", "Group already exists" => "群組已存在", "Unable to add group" => "群組增加失敗", +"Could not enable app. " => "未能啟動此app", "Email saved" => "Email已儲存", "Invalid email" => "無效的email", "OpenID Changed" => "OpenID 已變更", "Invalid request" => "無效請求", "Unable to delete group" => "群組刪除錯誤", +"Authentication error" => "認證錯誤", "Unable to delete user" => "使用者刪除錯誤", "Language changed" => "語言已變更", +"Admins can't remove themself from the admin group" => "管理者帳號無法從管理者群組中移除", "Unable to add user to group %s" => "使用者加入群組%s錯誤", "Unable to remove user from group %s" => "使用者移出群組%s錯誤", "Disable" => "停用", "Enable" => "啟用", "Saving..." => "儲存中...", "__language_name__" => "__語言_名稱__", -"Security Warning" => "安全性警告", -"Cron" => "定期執行", -"Allow links" => "允許連結", -"Allow users to share items to the public with links" => "允許使用者以結連公開分享檔案", -"Allow resharing" => "允許轉貼分享", -"Allow users to share items shared with them again" => "允許使用者轉貼共享檔案", -"Allow users to share with anyone" => "允許使用者公開分享", -"Allow users to only share with users in their groups" => "僅允許使用者在群組內分享", -"Log" => "紀錄", -"More" => "更多", "Add your App" => "添加你的 App", +"More Apps" => "更多Apps", "Select an App" => "選擇一個應用程式", "See application page at apps.owncloud.com" => "查看應用程式頁面於 apps.owncloud.com", +"-licensed by " => "-核准: ", "Documentation" => "文件", "Managing Big Files" => "管理大檔案", "Ask a question" => "提問", -"Problems connecting to help database." => "連接到求助資料庫發生問題", +"Problems connecting to help database." => "連接到求助資料庫時發生問題", "Go there manually." => "手動前往", "Answer" => "答案", +"You have used %s of the available %s" => "您已經使用了 %s ,目前可用空間為 %s", "Desktop and Mobile Syncing Clients" => "桌機與手機同步客戶端", "Download" => "下載", +"Your password was changed" => "你的密碼已更改", "Unable to change your password" => "無法變更你的密碼", "Current password" => "目前密碼", "New password" => "新密碼", @@ -48,6 +44,7 @@ "Language" => "語言", "Help translate" => "幫助翻譯", "use this address to connect to your ownCloud in your file manager" => "使用這個位址去連接到你的私有雲檔案管理員", +"Developed by the ownCloud community, the source code is licensed under the AGPL." => "由ownCloud 社區開發,源代碼AGPL許可證下發布。", "Name" => "名稱", "Password" => "密碼", "Groups" => "群組", diff --git a/settings/languageCodes.php b/settings/languageCodes.php index 6d3b6ebe634574c70948291d35232f7b18fe5e00..71655800856500b5bc833d8df6a8349fe857df89 100644 --- a/settings/languageCodes.php +++ b/settings/languageCodes.php @@ -3,13 +3,14 @@ * This file is licensed under the Affero General Public License version 3 or later. * See the COPYING-README file. */ - + return array( 'bg_BG'=>'български език', 'ca'=>'Català', 'cs_CZ'=>'Čeština', 'da'=>'Dansk', -'de'=>'Deutsch', +'de'=>'Deutsch (Persönlich)', +'de_DE'=>'Deutsch (Förmlich)', 'el'=>'Ελληνικά', 'en'=>'English', 'es'=>'Español', diff --git a/settings/personal.php b/settings/personal.php index 2031edd8df8839e0f492711b8502ff91dd6ec069..47dbcc53ebc5c4c71a6275e190f2dcf7b0ff3224 100644 --- a/settings/personal.php +++ b/settings/personal.php @@ -5,8 +5,8 @@ * See the COPYING-README file. */ -require_once '../lib/base.php'; OC_Util::checkLoggedIn(); +OC_App::loadApps(); // Highlight navigation entry OC_Util::addScript( 'settings', 'personal' ); @@ -40,11 +40,11 @@ $languages=array(); foreach($languageCodes as $lang) { $l=OC_L10N::get('settings', $lang); if(substr($l->t('__language_name__'), 0, 1)!='_') {//first check if the language name is in the translation file - $languages[]=array('code'=>$lang,'name'=>$l->t('__language_name__')); + $languages[]=array('code'=>$lang, 'name'=>$l->t('__language_name__')); }elseif(isset($languageNames[$lang])) { - $languages[]=array('code'=>$lang,'name'=>$languageNames[$lang]); + $languages[]=array('code'=>$lang, 'name'=>$languageNames[$lang]); }else{//fallback to language code - $languages[]=array('code'=>$lang,'name'=>$lang); + $languages[]=array('code'=>$lang, 'name'=>$lang); } } diff --git a/settings/routes.php b/settings/routes.php new file mode 100644 index 0000000000000000000000000000000000000000..8239fe005db425bf350d76dcb290db8ec4e6aa0e --- /dev/null +++ b/settings/routes.php @@ -0,0 +1,64 @@ + + * This file is licensed under the Affero General Public License version 3 or + * later. + * See the COPYING-README file. + */ + +// Settings pages +$this->create('settings_help', '/settings/help') + ->actionInclude('settings/help.php'); +$this->create('settings_personal', '/settings/personal') + ->actionInclude('settings/personal.php'); +$this->create('settings_settings', '/settings') + ->actionInclude('settings/settings.php'); +$this->create('settings_users', '/settings/users') + ->actionInclude('settings/users.php'); +$this->create('settings_apps', '/settings/apps') + ->actionInclude('settings/apps.php'); +$this->create('settings_admin', '/settings/admin') + ->actionInclude('settings/admin.php'); +// Settings ajax actions +// users +$this->create('settings_ajax_userlist', '/settings/ajax/userlist') + ->actionInclude('settings/ajax/userlist.php'); +$this->create('settings_ajax_createuser', '/settings/ajax/createuser.php') + ->actionInclude('settings/ajax/createuser.php'); +$this->create('settings_ajax_removeuser', '/settings/ajax/removeuser.php') + ->actionInclude('settings/ajax/removeuser.php'); +$this->create('settings_ajax_setquota', '/settings/ajax/setquota.php') + ->actionInclude('settings/ajax/setquota.php'); +$this->create('settings_ajax_creategroup', '/settings/ajax/creategroup.php') + ->actionInclude('settings/ajax/creategroup.php'); +$this->create('settings_ajax_togglegroups', '/settings/ajax/togglegroups.php') + ->actionInclude('settings/ajax/togglegroups.php'); +$this->create('settings_ajax_togglesubadmins', '/settings/ajax/togglesubadmins.php') + ->actionInclude('settings/ajax/togglesubadmins.php'); +$this->create('settings_ajax_removegroup', '/settings/ajax/removegroup.php') + ->actionInclude('settings/ajax/removegroup.php'); +$this->create('settings_ajax_changepassword', '/settings/ajax/changepassword.php') + ->actionInclude('settings/ajax/changepassword.php'); +// personel +$this->create('settings_ajax_lostpassword', '/settings/ajax/lostpassword.php') + ->actionInclude('settings/ajax/lostpassword.php'); +$this->create('settings_ajax_setlanguage', '/settings/ajax/setlanguage.php') + ->actionInclude('settings/ajax/setlanguage.php'); +// apps +$this->create('settings_ajax_apps_ocs', '/settings/ajax/apps/ocs.php') + ->actionInclude('settings/ajax/apps/ocs.php'); +$this->create('settings_ajax_enableapp', '/settings/ajax/enableapp.php') + ->actionInclude('settings/ajax/enableapp.php'); +$this->create('settings_ajax_disableapp', '/settings/ajax/disableapp.php') + ->actionInclude('settings/ajax/disableapp.php'); +$this->create('settings_ajax_navigationdetect', '/settings/ajax/navigationdetect.php') + ->actionInclude('settings/ajax/navigationdetect.php'); +// admin +$this->create('settings_ajax_getlog', '/settings/ajax/getlog.php') + ->actionInclude('settings/ajax/getlog.php'); +$this->create('settings_ajax_setloglevel', '/settings/ajax/setloglevel.php') + ->actionInclude('settings/ajax/setloglevel.php'); + +// apps/user_openid +$this->create('settings_ajax_openid', '/settings/ajax/openid.php') + ->actionInclude('settings/ajax/openid.php'); diff --git a/settings/settings.php b/settings/settings.php index 68c07ff60f0733a8a39f62b5bcef468e8ae8b195..add94b5b01135ff54018268c0a5dee077ddf1307 100644 --- a/settings/settings.php +++ b/settings/settings.php @@ -5,9 +5,9 @@ * See the COPYING-README file. */ -require_once '../lib/base.php'; OC_Util::checkLoggedIn(); OC_Util::verifyUser(); +OC_App::loadApps(); OC_Util::addStyle( 'settings', 'settings' ); OC_App::setActiveNavigationEntry( 'settings' ); diff --git a/settings/templates/admin.php b/settings/templates/admin.php index 35f34489fec170f90cc0358b01dcca5171aef2eb..9c4ee0bf6806895efcfc84dc3f895570b6678df4 100644 --- a/settings/templates/admin.php +++ b/settings/templates/admin.php @@ -3,7 +3,7 @@ * This file is licensed under the Affero General Public License version 3 or later. * See the COPYING-README file. */ -$levels=array('Debug','Info','Warning','Error','Fatal'); +$levels=array('Debug','Info','Warning','Error', 'Fatal'); ?> + +
    + t('Internet connection not working');?> + + + t('This ownCloud server has no working internet connection. This means that some of the features like mounting of external storage, notifications about updates or installation of 3rd party apps don´t work. Accessing files from remote and sending of notification emails might also not work. We suggest to enable internet connection for this server if you want to have all features of ownCloud.'); ?> + + +
    + " data-installed="1"> 3rd party' ?> diff --git a/settings/templates/help.php b/settings/templates/help.php index b2a78ff851203c254e6eafda799fdd9c45053ff9..75201a86a9f3d3fe37c0e90caea708ff41b111f6 100644 --- a/settings/templates/help.php +++ b/settings/templates/help.php @@ -1,4 +1,4 @@ -printPage(); } ?> - +

    t('Problems connecting to help database.');?>

    t('Go there manually.');?>

    diff --git a/settings/templates/personal.php b/settings/templates/personal.php index 55ff24b4223ca94bd4ba2000289fb8ba9ece9727..d02bcdd7ea5d9db6b5aec48f78caead95c35aef4 100644 --- a/settings/templates/personal.php +++ b/settings/templates/personal.php @@ -5,7 +5,7 @@ */?>
    -

    t('You have used %s of the available %s', array($_['usage'], $_['total_space']));?>

    +

    t('You have used %s of the available %s', array($_['usage'], $_['total_space']));?>

    @@ -56,4 +56,9 @@ };?> +

    + ownCloud
    + t('Developed by the ownCloud community, the source code is licensed under the AGPL.'); ?> +

    + diff --git a/settings/templates/users.php b/settings/templates/users.php index eef9b291357215c8a6887429d5d822af828002b0..de7e50da8f3d42ed7d4d242200cae700cc7ebab2 100644 --- a/settings/templates/users.php +++ b/settings/templates/users.php @@ -142,7 +142,7 @@ var isadmin = ;
    - + diff --git a/settings/users.php b/settings/users.php index e76505cc78d6e9d44206f9b7a6cfc0000a985610..93a259f1cd8844872346642dfd5fbe7037b860a6 100644 --- a/settings/users.php +++ b/settings/users.php @@ -5,8 +5,8 @@ * See the COPYING-README file. */ -require_once '../lib/base.php'; OC_Util::checkSubAdminUser(); +OC_App::loadApps(); // We have some javascript foo! OC_Util::addScript( 'settings', 'users' ); @@ -31,7 +31,7 @@ if($isadmin) { foreach($accessibleusers as $i) { $users[] = array( - "name" => $i, + "name" => $i, "groups" => join( ", ", /*array_intersect(*/OC_Group::getUserGroups($i)/*, OC_SubAdmin::getSubAdminsGroups(OC_User::getUser()))*/), 'quota'=>OC_Preferences::getValue($i, 'files', 'quota', 'default'), 'subadmin'=>implode(', ', OC_SubAdmin::getSubAdminsGroups($i))); @@ -42,7 +42,7 @@ foreach( $accessiblegroups as $i ) { $groups[] = array( "name" => $i ); } $quotaPreset=OC_Appconfig::getValue('files', 'quota_preset', 'default,none,1 GB, 5 GB, 10 GB'); -$quotaPreset=explode(',',$quotaPreset); +$quotaPreset=explode(',', $quotaPreset); foreach($quotaPreset as &$preset) { $preset=trim($preset); } @@ -57,4 +57,4 @@ $tmpl->assign( 'subadmins', $subadmins); $tmpl->assign( 'numofgroups', count($accessiblegroups)); $tmpl->assign( 'quota_preset', $quotaPreset); $tmpl->assign( 'default_quota', $defaultQuota); -$tmpl->printPage(); \ No newline at end of file +$tmpl->printPage(); diff --git a/status.php b/status.php index cadca60f292d0817ea8082296dc1e39eb4c16667..9d6ac87c671a3069f5acaa72abf003c04273c07d 100644 --- a/status.php +++ b/status.php @@ -21,7 +21,7 @@ * */ -$RUNTIME_NOAPPS = TRUE; //no apps, yet +$RUNTIME_NOAPPS = true; //no apps, yet require_once 'lib/base.php'; diff --git a/tests/bootstrap.php b/tests/bootstrap.php index 16ed6cdb3c71c368a52eab71c44f2882db81a1cc..115a15883a08461638b874aee22c570c61918762 100644 --- a/tests/bootstrap.php +++ b/tests/bootstrap.php @@ -4,25 +4,25 @@ global $RUNTIME_NOAPPS; $RUNTIME_NOAPPS = true; require_once __DIR__.'/../lib/base.php'; -if(!class_exists('PHPUnit_Framework_TestCase')){ +if(!class_exists('PHPUnit_Framework_TestCase')) { require_once('PHPUnit/Autoload.php'); } //SimpleTest compatibility abstract class UnitTestCase extends PHPUnit_Framework_TestCase{ - function assertEqual($expected, $actual, $string=''){ + function assertEqual($expected, $actual, $string='') { $this->assertEquals($expected, $actual, $string); } - function assertNotEqual($expected, $actual, $string=''){ + function assertNotEqual($expected, $actual, $string='') { $this->assertNotEquals($expected, $actual, $string); } - static function assertTrue($actual, $string=''){ + static function assertTrue($actual, $string='') { parent::assertTrue((bool)$actual, $string); } - static function assertFalse($actual, $string=''){ + static function assertFalse($actual, $string='') { parent::assertFalse((bool)$actual, $string); } } diff --git a/tests/data/db_structure.xml b/tests/data/db_structure.xml index 03d7502c44179c9fe21995a0479328088f73a292..af2e5ce3439131671ca96378d8cfb1e9e97d02a1 100644 --- a/tests/data/db_structure.xml +++ b/tests/data/db_structure.xml @@ -135,4 +135,47 @@ + + + *dbprefix*vcategory + + + + + id + integer + 0 + true + 1 + true + 4 + + + + uid + text + + true + 64 + + + + type + text + + true + 64 + + + + category + text + + true + 255 + + + +
    + diff --git a/tests/enable_all.php b/tests/enable_all.php new file mode 100644 index 0000000000000000000000000000000000000000..16838398f1751d5a8e63f18ea5eac9fabe9bc64b --- /dev/null +++ b/tests/enable_all.php @@ -0,0 +1,19 @@ + + * This file is licensed under the Affero General Public License version 3 or + * later. + * See the COPYING-README file. + */ + +require_once __DIR__.'/../lib/base.php'; + +OC_App::enable('calendar'); +OC_App::enable('contacts'); +OC_App::enable('apptemplate_advanced'); +#OC_App::enable('files_archive'); +#OC_App::enable('mozilla_sync'); +#OC_App::enable('news'); +#OC_App::enable('provisioning_api'); +#OC_App::enable('user_external'); + diff --git a/tests/lib/archive.php b/tests/lib/archive.php index 04ae722aea7bd5be00343cfc617ebbbd377e1979..cd2ca6630a5f6d99cb4ec464ce4b37ba34d06fea 100644 --- a/tests/lib/archive.php +++ b/tests/lib/archive.php @@ -26,24 +26,24 @@ abstract class Test_Archive extends UnitTestCase { public function testGetFiles() { $this->instance=$this->getExisting(); $allFiles=$this->instance->getFiles(); - $expected=array('lorem.txt','logo-wide.png','dir/','dir/lorem.txt'); - $this->assertEqual(4,count($allFiles),'only found '.count($allFiles).' out of 4 expected files'); + $expected=array('lorem.txt','logo-wide.png','dir/', 'dir/lorem.txt'); + $this->assertEqual(4, count($allFiles), 'only found '.count($allFiles).' out of 4 expected files'); foreach($expected as $file) { $this->assertContains($file, $allFiles, 'cant find '. $file . ' in archive'); - $this->assertTrue($this->instance->fileExists($file),'file '.$file.' does not exist in archive'); + $this->assertTrue($this->instance->fileExists($file), 'file '.$file.' does not exist in archive'); } $this->assertFalse($this->instance->fileExists('non/existing/file')); $rootContent=$this->instance->getFolder(''); - $expected=array('lorem.txt','logo-wide.png','dir/'); - $this->assertEqual(3,count($rootContent)); + $expected=array('lorem.txt','logo-wide.png', 'dir/'); + $this->assertEqual(3, count($rootContent)); foreach($expected as $file) { $this->assertContains($file, $rootContent, 'cant find '. $file . ' in archive'); } $dirContent=$this->instance->getFolder('dir/'); $expected=array('lorem.txt'); - $this->assertEqual(1,count($dirContent)); + $this->assertEqual(1, count($dirContent)); foreach($expected as $file) { $this->assertContains($file, $dirContent, 'cant find '. $file . ' in archive'); } @@ -53,47 +53,47 @@ abstract class Test_Archive extends UnitTestCase { $this->instance=$this->getExisting(); $dir=OC::$SERVERROOT.'/tests/data'; $textFile=$dir.'/lorem.txt'; - $this->assertEqual(file_get_contents($textFile),$this->instance->getFile('lorem.txt')); + $this->assertEqual(file_get_contents($textFile), $this->instance->getFile('lorem.txt')); $tmpFile=OCP\Files::tmpFile('.txt'); - $this->instance->extractFile('lorem.txt',$tmpFile); - $this->assertEqual(file_get_contents($textFile),file_get_contents($tmpFile)); + $this->instance->extractFile('lorem.txt', $tmpFile); + $this->assertEqual(file_get_contents($textFile), file_get_contents($tmpFile)); } public function testWrite() { $dir=OC::$SERVERROOT.'/tests/data'; $textFile=$dir.'/lorem.txt'; $this->instance=$this->getNew(); - $this->assertEqual(0,count($this->instance->getFiles())); - $this->instance->addFile('lorem.txt',$textFile); - $this->assertEqual(1,count($this->instance->getFiles())); + $this->assertEqual(0, count($this->instance->getFiles())); + $this->instance->addFile('lorem.txt', $textFile); + $this->assertEqual(1, count($this->instance->getFiles())); $this->assertTrue($this->instance->fileExists('lorem.txt')); $this->assertFalse($this->instance->fileExists('lorem.txt/')); - $this->assertEqual(file_get_contents($textFile),$this->instance->getFile('lorem.txt')); - $this->instance->addFile('lorem.txt','foobar'); - $this->assertEqual('foobar',$this->instance->getFile('lorem.txt')); + $this->assertEqual(file_get_contents($textFile), $this->instance->getFile('lorem.txt')); + $this->instance->addFile('lorem.txt', 'foobar'); + $this->assertEqual('foobar', $this->instance->getFile('lorem.txt')); } public function testReadStream() { $dir=OC::$SERVERROOT.'/tests/data'; $this->instance=$this->getExisting(); - $fh=$this->instance->getStream('lorem.txt','r'); + $fh=$this->instance->getStream('lorem.txt', 'r'); $this->assertTrue($fh); - $content=fread($fh,$this->instance->filesize('lorem.txt')); + $content=fread($fh, $this->instance->filesize('lorem.txt')); fclose($fh); - $this->assertEqual(file_get_contents($dir.'/lorem.txt'),$content); + $this->assertEqual(file_get_contents($dir.'/lorem.txt'), $content); } public function testWriteStream() { $dir=OC::$SERVERROOT.'/tests/data'; $this->instance=$this->getNew(); - $fh=$this->instance->getStream('lorem.txt','w'); - $source=fopen($dir.'/lorem.txt','r'); - OCP\Files::streamCopy($source,$fh); + $fh=$this->instance->getStream('lorem.txt', 'w'); + $source=fopen($dir.'/lorem.txt', 'r'); + OCP\Files::streamCopy($source, $fh); fclose($source); fclose($fh); $this->assertTrue($this->instance->fileExists('lorem.txt')); - $this->assertEqual(file_get_contents($dir.'/lorem.txt'),$this->instance->getFile('lorem.txt')); + $this->assertEqual(file_get_contents($dir.'/lorem.txt'), $this->instance->getFile('lorem.txt')); } public function testFolder() { $this->instance=$this->getNew(); @@ -111,29 +111,29 @@ abstract class Test_Archive extends UnitTestCase { $this->instance=$this->getExisting(); $tmpDir=OCP\Files::tmpFolder(); $this->instance->extract($tmpDir); - $this->assertEqual(true,file_exists($tmpDir.'lorem.txt')); - $this->assertEqual(true,file_exists($tmpDir.'dir/lorem.txt')); - $this->assertEqual(true,file_exists($tmpDir.'logo-wide.png')); - $this->assertEqual(file_get_contents($dir.'/lorem.txt'),file_get_contents($tmpDir.'lorem.txt')); + $this->assertEqual(true, file_exists($tmpDir.'lorem.txt')); + $this->assertEqual(true, file_exists($tmpDir.'dir/lorem.txt')); + $this->assertEqual(true, file_exists($tmpDir.'logo-wide.png')); + $this->assertEqual(file_get_contents($dir.'/lorem.txt'), file_get_contents($tmpDir.'lorem.txt')); OCP\Files::rmdirr($tmpDir); } public function testMoveRemove() { $dir=OC::$SERVERROOT.'/tests/data'; $textFile=$dir.'/lorem.txt'; $this->instance=$this->getNew(); - $this->instance->addFile('lorem.txt',$textFile); + $this->instance->addFile('lorem.txt', $textFile); $this->assertFalse($this->instance->fileExists('target.txt')); - $this->instance->rename('lorem.txt','target.txt'); + $this->instance->rename('lorem.txt', 'target.txt'); $this->assertTrue($this->instance->fileExists('target.txt')); $this->assertFalse($this->instance->fileExists('lorem.txt')); - $this->assertEqual(file_get_contents($textFile),$this->instance->getFile('target.txt')); + $this->assertEqual(file_get_contents($textFile), $this->instance->getFile('target.txt')); $this->instance->remove('target.txt'); $this->assertFalse($this->instance->fileExists('target.txt')); } public function testRecursive() { $dir=OC::$SERVERROOT.'/tests/data'; $this->instance=$this->getNew(); - $this->instance->addRecursive('/dir',$dir); + $this->instance->addRecursive('/dir', $dir); $this->assertTrue($this->instance->fileExists('/dir/lorem.txt')); $this->assertTrue($this->instance->fileExists('/dir/data.zip')); $this->assertTrue($this->instance->fileExists('/dir/data.tar.gz')); diff --git a/tests/lib/cache.php b/tests/lib/cache.php index 08653d4a3108d8499de26be32f323a87f9ccd740..1a1287ff1352af6eb2fdb846e2f25a837d047c12 100644 --- a/tests/lib/cache.php +++ b/tests/lib/cache.php @@ -13,7 +13,7 @@ abstract class Test_Cache extends UnitTestCase { protected $instance; public function tearDown() { - if($this->instance){ + if($this->instance) { $this->instance->clear(); } } @@ -23,25 +23,25 @@ abstract class Test_Cache extends UnitTestCase { $this->assertFalse($this->instance->hasKey('value1')); $value='foobar'; - $this->instance->set('value1',$value); + $this->instance->set('value1', $value); $this->assertTrue($this->instance->hasKey('value1')); $received=$this->instance->get('value1'); - $this->assertEqual($value,$received,'Value recieved from cache not equal to the original'); + $this->assertEqual($value, $received, 'Value recieved from cache not equal to the original'); $value='ipsum lorum'; - $this->instance->set('value1',$value); + $this->instance->set('value1', $value); $received=$this->instance->get('value1'); - $this->assertEqual($value,$received,'Value not overwritten by second set'); + $this->assertEqual($value, $received, 'Value not overwritten by second set'); $value2='foobar'; - $this->instance->set('value2',$value2); + $this->instance->set('value2', $value2); $received2=$this->instance->get('value2'); $this->assertTrue($this->instance->hasKey('value1')); $this->assertTrue($this->instance->hasKey('value2')); - $this->assertEqual($value,$received,'Value changed while setting other variable'); - $this->assertEqual($value2,$received2,'Second value not equal to original'); + $this->assertEqual($value, $received, 'Value changed while setting other variable'); + $this->assertEqual($value2, $received2, 'Second value not equal to original'); $this->assertFalse($this->instance->hasKey('not_set')); - $this->assertNull($this->instance->get('not_set'),'Unset value not equal to null'); + $this->assertNull($this->instance->get('not_set'), 'Unset value not equal to null'); $this->assertTrue($this->instance->remove('value1')); $this->assertFalse($this->instance->hasKey('value1')); @@ -49,10 +49,10 @@ abstract class Test_Cache extends UnitTestCase { function testClear() { $value='ipsum lorum'; - $this->instance->set('1_value1',$value); - $this->instance->set('1_value2',$value); - $this->instance->set('2_value1',$value); - $this->instance->set('3_value1',$value); + $this->instance->set('1_value1', $value); + $this->instance->set('1_value2', $value); + $this->instance->set('2_value1', $value); + $this->instance->set('3_value1', $value); $this->assertTrue($this->instance->clear('1_')); $this->assertFalse($this->instance->hasKey('1_value1')); diff --git a/tests/lib/cache/apc.php b/tests/lib/cache/apc.php index f68b97bcbd925f9b58b8c5ee0b5891926de5746d..bb5eb483dbf150bcb523c2907f64eed31cf09998 100644 --- a/tests/lib/cache/apc.php +++ b/tests/lib/cache/apc.php @@ -22,11 +22,11 @@ class Test_Cache_APC extends Test_Cache { public function setUp() { - if(!extension_loaded('apc')){ + if(!extension_loaded('apc')) { $this->markTestSkipped('The apc extension is not available.'); return; } - if(!ini_get('apc.enable_cli') && OC::$CLI){ + if(!ini_get('apc.enable_cli') && OC::$CLI) { $this->markTestSkipped('apc not available in CLI.'); return; } diff --git a/tests/lib/cache/file.php b/tests/lib/cache/file.php index 00be005d08d307de576237123ab2857390996782..d64627198e0e188d8508c3e01ddebff4f0068ef7 100644 --- a/tests/lib/cache/file.php +++ b/tests/lib/cache/file.php @@ -39,7 +39,7 @@ class Test_Cache_File extends Test_Cache { //set up temporary storage OC_Filesystem::clearMounts(); - OC_Filesystem::mount('OC_Filestorage_Temporary',array(),'/'); + OC_Filesystem::mount('OC_Filestorage_Temporary', array(), '/'); OC_User::clearBackends(); OC_User::useBackend(new OC_User_Dummy()); diff --git a/tests/lib/cache/xcache.php b/tests/lib/cache/xcache.php index c081036a31f5b42cfba2f2cd0a13b7783fd996ab..43bed2db037a5f30ab45c2d280b42edcc83ddfd7 100644 --- a/tests/lib/cache/xcache.php +++ b/tests/lib/cache/xcache.php @@ -22,7 +22,7 @@ class Test_Cache_XCache extends Test_Cache { public function setUp() { - if(!function_exists('xcache_get')){ + if(!function_exists('xcache_get')) { $this->markTestSkipped('The xcache extension is not available.'); return; } diff --git a/tests/lib/db.php b/tests/lib/db.php index 2344f7d8ec466ac129a35f101cbd406b697d0ebf..c2eb38dae8367ba1a174305539db0c4610917557 100644 --- a/tests/lib/db.php +++ b/tests/lib/db.php @@ -24,6 +24,7 @@ class Test_DB extends UnitTestCase { $this->test_prefix = $r; $this->table1 = $this->test_prefix.'contacts_addressbooks'; $this->table2 = $this->test_prefix.'contacts_cards'; + $this->table3 = $this->test_prefix.'vcategory'; } public function tearDown() { @@ -67,4 +68,66 @@ class Test_DB extends UnitTestCase { $result = $query->execute(array('uri_3')); $this->assertTrue($result); } + + public function testinsertIfNotExist() { + $categoryentries = array( + array('user' => 'test', 'type' => 'contact', 'category' => 'Family'), + array('user' => 'test', 'type' => 'contact', 'category' => 'Friends'), + array('user' => 'test', 'type' => 'contact', 'category' => 'Coworkers'), + array('user' => 'test', 'type' => 'contact', 'category' => 'Coworkers'), + array('user' => 'test', 'type' => 'contact', 'category' => 'School'), + ); + + foreach($categoryentries as $entry) { + $result = OC_DB::insertIfNotExist('*PREFIX*'.$this->table3, + array( + 'uid' => $entry['user'], + 'type' => $entry['type'], + 'category' => $entry['category'], + )); + $this->assertTrue($result); + } + + $query = OC_DB::prepare('SELECT * FROM *PREFIX*'.$this->table3); + $result = $query->execute(); + $this->assertTrue($result); + $this->assertEqual('4', $result->numRows()); + } + + public function testinsertIfNotExistDontOverwrite() { + $fullname = 'fullname test'; + $uri = 'uri_1'; + $carddata = 'This is a vCard'; + + // Normal test to have same known data inserted. + $query = OC_DB::prepare('INSERT INTO *PREFIX*'.$this->table2.' (`fullname`, `uri`, `carddata`) VALUES (?, ?, ?)'); + $result = $query->execute(array($fullname, $uri, $carddata)); + $this->assertTrue($result); + $query = OC_DB::prepare('SELECT `fullname`, `uri`, `carddata` FROM *PREFIX*'.$this->table2.' WHERE `uri` = ?'); + $result = $query->execute(array($uri)); + $this->assertTrue($result); + $row = $result->fetchRow(); + $this->assertArrayHasKey('carddata', $row); + $this->assertEqual($carddata, $row['carddata']); + $this->assertEqual('1', $result->numRows()); + + // Try to insert a new row + $result = OC_DB::insertIfNotExist('*PREFIX*'.$this->table2, + array( + 'fullname' => $fullname, + 'uri' => $uri, + )); + $this->assertTrue($result); + + $query = OC_DB::prepare('SELECT `fullname`, `uri`, `carddata` FROM *PREFIX*'.$this->table2.' WHERE `uri` = ?'); + $result = $query->execute(array($uri)); + $this->assertTrue($result); + $row = $result->fetchRow(); + $this->assertArrayHasKey('carddata', $row); + // Test that previously inserted data isn't overwritten + $this->assertEqual($carddata, $row['carddata']); + // And that a new row hasn't been inserted. + $this->assertEqual('1', $result->numRows()); + + } } diff --git a/tests/lib/filesystem.php b/tests/lib/filesystem.php index e22b3f1c0d80903f1d191061166f1d72255c7357..5cced4946d9b9aba4738eaf18cefd3f15ebce990 100644 --- a/tests/lib/filesystem.php +++ b/tests/lib/filesystem.php @@ -24,7 +24,7 @@ class Test_Filesystem extends UnitTestCase { /** * @var array tmpDirs */ - private $tmpDirs=array(); + private $tmpDirs = array(); /** * @return array @@ -72,21 +72,55 @@ class Test_Filesystem extends UnitTestCase { } } + public function testBlacklist() { + OC_Hook::clear('OC_Filesystem'); + OC::registerFilesystemHooks(); + + $run = true; + OC_Hook::emit( + OC_Filesystem::CLASSNAME, + OC_Filesystem::signal_write, + array( + OC_Filesystem::signal_param_path => '/test/.htaccess', + OC_Filesystem::signal_param_run => &$run + ) + ); + $this->assertFalse($run); + + if (OC_Filesystem::getView()) { + $user = OC_User::getUser(); + } else { + $user = uniqid(); + OC_Filesystem::init('/' . $user . '/files'); + } + + OC_Filesystem::mount('OC_Filestorage_Temporary', array(), '/'); + + $rootView = new OC_FilesystemView(''); + $rootView->mkdir('/' . $user); + $rootView->mkdir('/' . $user . '/files'); + + $this->assertFalse($rootView->file_put_contents('/.htaccess', 'foo')); + $this->assertFalse(OC_Filesystem::file_put_contents('/.htaccess', 'foo')); + $fh = fopen(__FILE__, 'r'); + $this->assertFalse(OC_Filesystem::file_put_contents('/.htaccess', $fh)); + } + public function testHooks() { - if(OC_Filesystem::getView()){ + if (OC_Filesystem::getView()) { $user = OC_User::getUser(); - }else{ - $user=uniqid(); - OC_Filesystem::init('/'.$user.'/files'); + } else { + $user = uniqid(); + OC_Filesystem::init('/' . $user . '/files'); } OC_Hook::clear('OC_Filesystem'); OC_Hook::connect('OC_Filesystem', 'post_write', $this, 'dummyHook'); OC_Filesystem::mount('OC_Filestorage_Temporary', array(), '/'); - $rootView=new OC_FilesystemView(''); - $rootView->mkdir('/'.$user); - $rootView->mkdir('/'.$user.'/files'); + $rootView = new OC_FilesystemView(''); + $rootView->mkdir('/' . $user); + $rootView->mkdir('/' . $user . '/files'); OC_Filesystem::file_put_contents('/foo', 'foo'); OC_Filesystem::mkdir('/bar'); diff --git a/tests/lib/geo.php b/tests/lib/geo.php index 2b3599ab9b9fbd5920ac83808d56164924ad88c7..d4951ee79e79bbe16862536019418cd1b1ec1d44 100644 --- a/tests/lib/geo.php +++ b/tests/lib/geo.php @@ -8,12 +8,12 @@ class Test_Geo extends UnitTestCase { function testTimezone() { - $result = OC_Geo::timezone(3,3); + $result = OC_Geo::timezone(3, 3); $expected = 'Africa/Porto-Novo'; - $this->assertEquals($result, $expected); + $this->assertEquals($expected, $result); $result = OC_Geo::timezone(-3,-3333); $expected = 'Pacific/Enderbury'; - $this->assertEquals($result, $expected); + $this->assertEquals($expected, $result); } } \ No newline at end of file diff --git a/tests/lib/group.php b/tests/lib/group.php index 0bea9a008868f2123d7932d2d712f863121d8a2b..28264b0f168c060e9d8269c415d1400fc667f5d6 100644 --- a/tests/lib/group.php +++ b/tests/lib/group.php @@ -3,7 +3,9 @@ * ownCloud * * @author Robin Appelman +* @author Bernhard Posselt * @copyright 2012 Robin Appelman icewind@owncloud.com +* @copyright 2012 Bernhard Posselt nukeawhale@gmail.com * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE @@ -36,32 +38,98 @@ class Test_Group extends UnitTestCase { $user1=uniqid(); $user2=uniqid(); - $this->assertFalse(OC_Group::inGroup($user1,$group1)); - $this->assertFalse(OC_Group::inGroup($user2,$group1)); - $this->assertFalse(OC_Group::inGroup($user1,$group2)); - $this->assertFalse(OC_Group::inGroup($user2,$group2)); + $this->assertFalse(OC_Group::inGroup($user1, $group1)); + $this->assertFalse(OC_Group::inGroup($user2, $group1)); + $this->assertFalse(OC_Group::inGroup($user1, $group2)); + $this->assertFalse(OC_Group::inGroup($user2, $group2)); - $this->assertTrue(OC_Group::addToGroup($user1,$group1)); + $this->assertTrue(OC_Group::addToGroup($user1, $group1)); - $this->assertTrue(OC_Group::inGroup($user1,$group1)); - $this->assertFalse(OC_Group::inGroup($user2,$group1)); - $this->assertFalse(OC_Group::inGroup($user1,$group2)); - $this->assertFalse(OC_Group::inGroup($user2,$group2)); + $this->assertTrue(OC_Group::inGroup($user1, $group1)); + $this->assertFalse(OC_Group::inGroup($user2, $group1)); + $this->assertFalse(OC_Group::inGroup($user1, $group2)); + $this->assertFalse(OC_Group::inGroup($user2, $group2)); - $this->assertFalse(OC_Group::addToGroup($user1,$group1)); + $this->assertFalse(OC_Group::addToGroup($user1, $group1)); - $this->assertEqual(array($user1),OC_Group::usersInGroup($group1)); - $this->assertEqual(array(),OC_Group::usersInGroup($group2)); + $this->assertEqual(array($user1), OC_Group::usersInGroup($group1)); + $this->assertEqual(array(), OC_Group::usersInGroup($group2)); - $this->assertEqual(array($group1),OC_Group::getUserGroups($user1)); - $this->assertEqual(array(),OC_Group::getUserGroups($user2)); + $this->assertEqual(array($group1), OC_Group::getUserGroups($user1)); + $this->assertEqual(array(), OC_Group::getUserGroups($user2)); OC_Group::deleteGroup($group1); - $this->assertEqual(array(),OC_Group::getUserGroups($user1)); - $this->assertEqual(array(),OC_Group::usersInGroup($group1)); - $this->assertFalse(OC_Group::inGroup($user1,$group1)); + $this->assertEqual(array(), OC_Group::getUserGroups($user1)); + $this->assertEqual(array(), OC_Group::usersInGroup($group1)); + $this->assertFalse(OC_Group::inGroup($user1, $group1)); } + + public function testNoEmptyGIDs(){ + OC_Group::useBackend(new OC_Group_Dummy()); + $emptyGroup = null; + + $this->assertEqual(false, OC_Group::createGroup($emptyGroup)); + } + + + public function testNoGroupsTwice(){ + OC_Group::useBackend(new OC_Group_Dummy()); + $group = uniqid(); + OC_Group::createGroup($group); + + $groupCopy = $group; + + $this->assertEqual(false, OC_Group::createGroup($groupCopy)); + $this->assertEqual(array($group), OC_Group::getGroups()); + } + + + public function testDontDeleteAdminGroup(){ + OC_Group::useBackend(new OC_Group_Dummy()); + $adminGroup = 'admin'; + OC_Group::createGroup($adminGroup); + + $this->assertEqual(false, OC_Group::deleteGroup($adminGroup)); + $this->assertEqual(array($adminGroup), OC_Group::getGroups()); + } + + + public function testDontAddUserToNonexistentGroup(){ + OC_Group::useBackend(new OC_Group_Dummy()); + $groupNonExistent = 'notExistent'; + $user = uniqid(); + + $this->assertEqual(false, OC_Group::addToGroup($user, $groupNonExistent)); + $this->assertEqual(array(), OC_Group::getGroups()); + } + + + public function testUsersInGroup(){ + OC_Group::useBackend(new OC_Group_Dummy()); + $group1 = uniqid(); + $group2 = uniqid(); + $group3 = uniqid(); + $user1 = uniqid(); + $user2 = uniqid(); + $user3 = uniqid(); + OC_Group::createGroup($group1); + OC_Group::createGroup($group2); + OC_Group::createGroup($group3); + + OC_Group::addToGroup($user1, $group1); + OC_Group::addToGroup($user2, $group1); + OC_Group::addToGroup($user3, $group1); + OC_Group::addToGroup($user3, $group2); + + $this->assertEqual(array($user1, $user2, $user3), + OC_Group::usersInGroups(array($group1, $group2, $group3))); + + // FIXME: needs more parameter variation + } + + + function testMultiBackend() { $backend1=new OC_Group_Dummy(); $backend2=new OC_Group_Dummy(); @@ -73,42 +141,42 @@ class Test_Group extends UnitTestCase { OC_Group::createGroup($group1); //groups should be added to the first registered backend - $this->assertEqual(array($group1),$backend1->getGroups()); - $this->assertEqual(array(),$backend2->getGroups()); + $this->assertEqual(array($group1), $backend1->getGroups()); + $this->assertEqual(array(), $backend2->getGroups()); - $this->assertEqual(array($group1),OC_Group::getGroups()); + $this->assertEqual(array($group1), OC_Group::getGroups()); $this->assertTrue(OC_Group::groupExists($group1)); $this->assertFalse(OC_Group::groupExists($group2)); $backend1->createGroup($group2); - $this->assertEqual(array($group1,$group2),OC_Group::getGroups()); + $this->assertEqual(array($group1, $group2), OC_Group::getGroups()); $this->assertTrue(OC_Group::groupExists($group1)); $this->assertTrue(OC_Group::groupExists($group2)); $user1=uniqid(); $user2=uniqid(); - $this->assertFalse(OC_Group::inGroup($user1,$group1)); - $this->assertFalse(OC_Group::inGroup($user2,$group1)); + $this->assertFalse(OC_Group::inGroup($user1, $group1)); + $this->assertFalse(OC_Group::inGroup($user2, $group1)); - $this->assertTrue(OC_Group::addToGroup($user1,$group1)); + $this->assertTrue(OC_Group::addToGroup($user1, $group1)); - $this->assertTrue(OC_Group::inGroup($user1,$group1)); - $this->assertFalse(OC_Group::inGroup($user2,$group1)); - $this->assertFalse($backend2->inGroup($user1,$group1)); + $this->assertTrue(OC_Group::inGroup($user1, $group1)); + $this->assertFalse(OC_Group::inGroup($user2, $group1)); + $this->assertFalse($backend2->inGroup($user1, $group1)); - $this->assertFalse(OC_Group::addToGroup($user1,$group1)); + $this->assertFalse(OC_Group::addToGroup($user1, $group1)); - $this->assertEqual(array($user1),OC_Group::usersInGroup($group1)); + $this->assertEqual(array($user1), OC_Group::usersInGroup($group1)); - $this->assertEqual(array($group1),OC_Group::getUserGroups($user1)); - $this->assertEqual(array(),OC_Group::getUserGroups($user2)); + $this->assertEqual(array($group1), OC_Group::getUserGroups($user1)); + $this->assertEqual(array(), OC_Group::getUserGroups($user2)); OC_Group::deleteGroup($group1); - $this->assertEqual(array(),OC_Group::getUserGroups($user1)); - $this->assertEqual(array(),OC_Group::usersInGroup($group1)); - $this->assertFalse(OC_Group::inGroup($user1,$group1)); + $this->assertEqual(array(), OC_Group::getUserGroups($user1)); + $this->assertEqual(array(), OC_Group::usersInGroup($group1)); + $this->assertFalse(OC_Group::inGroup($user1, $group1)); } } diff --git a/tests/lib/group/backend.php b/tests/lib/group/backend.php index 61e008b6ca5e2ebddc9f03d094ba335cbf94e8fa..f61abed5f297fa1ee111319be94338e5ac9f9c02 100644 --- a/tests/lib/group/backend.php +++ b/tests/lib/group/backend.php @@ -52,20 +52,20 @@ abstract class Test_Group_Backend extends UnitTestCase { $name2=$this->getGroupName(); $this->backend->createGroup($name1); $count=count($this->backend->getGroups())-$startCount; - $this->assertEqual(1,$count); - $this->assertTrue((array_search($name1,$this->backend->getGroups())!==false)); - $this->assertFalse((array_search($name2,$this->backend->getGroups())!==false)); + $this->assertEqual(1, $count); + $this->assertTrue((array_search($name1, $this->backend->getGroups())!==false)); + $this->assertFalse((array_search($name2, $this->backend->getGroups())!==false)); $this->backend->createGroup($name2); $count=count($this->backend->getGroups())-$startCount; - $this->assertEqual(2,$count); - $this->assertTrue((array_search($name1,$this->backend->getGroups())!==false)); - $this->assertTrue((array_search($name2,$this->backend->getGroups())!==false)); + $this->assertEqual(2, $count); + $this->assertTrue((array_search($name1, $this->backend->getGroups())!==false)); + $this->assertTrue((array_search($name2, $this->backend->getGroups())!==false)); $this->backend->deleteGroup($name2); $count=count($this->backend->getGroups())-$startCount; - $this->assertEqual(1,$count); - $this->assertTrue((array_search($name1,$this->backend->getGroups())!==false)); - $this->assertFalse((array_search($name2,$this->backend->getGroups())!==false)); + $this->assertEqual(1, $count); + $this->assertTrue((array_search($name1, $this->backend->getGroups())!==false)); + $this->assertFalse((array_search($name2, $this->backend->getGroups())!==false)); } public function testUser() { @@ -77,29 +77,29 @@ abstract class Test_Group_Backend extends UnitTestCase { $user1=$this->getUserName(); $user2=$this->getUserName(); - $this->assertFalse($this->backend->inGroup($user1,$group1)); - $this->assertFalse($this->backend->inGroup($user2,$group1)); - $this->assertFalse($this->backend->inGroup($user1,$group2)); - $this->assertFalse($this->backend->inGroup($user2,$group2)); + $this->assertFalse($this->backend->inGroup($user1, $group1)); + $this->assertFalse($this->backend->inGroup($user2, $group1)); + $this->assertFalse($this->backend->inGroup($user1, $group2)); + $this->assertFalse($this->backend->inGroup($user2, $group2)); - $this->assertTrue($this->backend->addToGroup($user1,$group1)); + $this->assertTrue($this->backend->addToGroup($user1, $group1)); - $this->assertTrue($this->backend->inGroup($user1,$group1)); - $this->assertFalse($this->backend->inGroup($user2,$group1)); - $this->assertFalse($this->backend->inGroup($user1,$group2)); - $this->assertFalse($this->backend->inGroup($user2,$group2)); + $this->assertTrue($this->backend->inGroup($user1, $group1)); + $this->assertFalse($this->backend->inGroup($user2, $group1)); + $this->assertFalse($this->backend->inGroup($user1, $group2)); + $this->assertFalse($this->backend->inGroup($user2, $group2)); - $this->assertFalse($this->backend->addToGroup($user1,$group1)); + $this->assertFalse($this->backend->addToGroup($user1, $group1)); - $this->assertEqual(array($user1),$this->backend->usersInGroup($group1)); - $this->assertEqual(array(),$this->backend->usersInGroup($group2)); + $this->assertEqual(array($user1), $this->backend->usersInGroup($group1)); + $this->assertEqual(array(), $this->backend->usersInGroup($group2)); - $this->assertEqual(array($group1),$this->backend->getUserGroups($user1)); - $this->assertEqual(array(),$this->backend->getUserGroups($user2)); + $this->assertEqual(array($group1), $this->backend->getUserGroups($user1)); + $this->assertEqual(array(), $this->backend->getUserGroups($user2)); $this->backend->deleteGroup($group1); - $this->assertEqual(array(),$this->backend->getUserGroups($user1)); - $this->assertEqual(array(),$this->backend->usersInGroup($group1)); - $this->assertFalse($this->backend->inGroup($user1,$group1)); + $this->assertEqual(array(), $this->backend->getUserGroups($user1)); + $this->assertEqual(array(), $this->backend->usersInGroup($group1)); + $this->assertFalse($this->backend->inGroup($user1, $group1)); } } diff --git a/tests/lib/public/contacts.php b/tests/lib/public/contacts.php new file mode 100644 index 0000000000000000000000000000000000000000..23994667a26a50622345a76747ae246acd626b1b --- /dev/null +++ b/tests/lib/public/contacts.php @@ -0,0 +1,125 @@ +. + */ + +OC::autoload('OCP\Contacts'); + +class Test_Contacts extends PHPUnit_Framework_TestCase +{ + + public function setUp() { + + OCP\Contacts::clear(); + } + + public function tearDown() { + } + + public function testDisabledIfEmpty() { + // pretty simple + $this->assertFalse(OCP\Contacts::isEnabled()); + } + + public function testEnabledAfterRegister() { + // create mock for the addressbook + $stub = $this->getMock("SimpleAddressBook", array('getKey')); + + // we expect getKey to be called twice: + // first time on register + // second time on un-register + $stub->expects($this->exactly(2)) + ->method('getKey'); + + // not enabled before register + $this->assertFalse(OCP\Contacts::isEnabled()); + + // register the address book + OCP\Contacts::registerAddressBook($stub); + + // contacts api shall be enabled + $this->assertTrue(OCP\Contacts::isEnabled()); + + // unregister the address book + OCP\Contacts::unregisterAddressBook($stub); + + // not enabled after register + $this->assertFalse(OCP\Contacts::isEnabled()); + } + + public function testAddressBookEnumeration() { + // create mock for the addressbook + $stub = $this->getMock("SimpleAddressBook", array('getKey', 'getDisplayName')); + + // setup return for method calls + $stub->expects($this->any()) + ->method('getKey') + ->will($this->returnValue('SIMPLE_ADDRESS_BOOK')); + $stub->expects($this->any()) + ->method('getDisplayName') + ->will($this->returnValue('A very simple Addressbook')); + + // register the address book + OCP\Contacts::registerAddressBook($stub); + $all_books = OCP\Contacts::getAddressBooks(); + + $this->assertEquals(1, count($all_books)); + $this->assertEquals('A very simple Addressbook', $all_books['SIMPLE_ADDRESS_BOOK']); + } + + public function testSearchInAddressBook() { + // create mock for the addressbook + $stub1 = $this->getMock("SimpleAddressBook1", array('getKey', 'getDisplayName', 'search')); + $stub2 = $this->getMock("SimpleAddressBook2", array('getKey', 'getDisplayName', 'search')); + + $searchResult1 = array( + array('id' => 0, 'FN' => 'Frank Karlitschek', 'EMAIL' => 'a@b.c', 'GEO' => '37.386013;-122.082932'), + array('id' => 5, 'FN' => 'Klaas Freitag', 'EMAIL' => array('d@e.f', 'g@h.i')), + ); + $searchResult2 = array( + array('id' => 0, 'FN' => 'Thomas Müller', 'EMAIL' => 'a@b.c'), + array('id' => 5, 'FN' => 'Thomas Tanghus', 'EMAIL' => array('d@e.f', 'g@h.i')), + ); + + // setup return for method calls for $stub1 + $stub1->expects($this->any())->method('getKey')->will($this->returnValue('SIMPLE_ADDRESS_BOOK1')); + $stub1->expects($this->any())->method('getDisplayName')->will($this->returnValue('Address book ownCloud Inc')); + $stub1->expects($this->any())->method('search')->will($this->returnValue($searchResult1)); + + // setup return for method calls for $stub2 + $stub2->expects($this->any())->method('getKey')->will($this->returnValue('SIMPLE_ADDRESS_BOOK2')); + $stub2->expects($this->any())->method('getDisplayName')->will($this->returnValue('Address book ownCloud Community')); + $stub2->expects($this->any())->method('search')->will($this->returnValue($searchResult2)); + + // register the address books + OCP\Contacts::registerAddressBook($stub1); + OCP\Contacts::registerAddressBook($stub2); + $all_books = OCP\Contacts::getAddressBooks(); + + // assert the count - doesn't hurt + $this->assertEquals(2, count($all_books)); + + // perform the search + $result = OCP\Contacts::search('x', array()); + + // we expect 4 hits + $this->assertEquals(4, count($result)); + + } +} diff --git a/tests/lib/share/share.php b/tests/lib/share/share.php index 3cad3a286807b82a52f6122c073a91fe27f6ca6e..92f5d065cf26fb7c1bb2703f74a2244d96721420 100644 --- a/tests/lib/share/share.php +++ b/tests/lib/share/share.php @@ -54,6 +54,8 @@ class Test_Share extends UnitTestCase { OC_Group::addToGroup($this->user2, $this->group2); OC_Group::addToGroup($this->user4, $this->group2); OCP\Share::registerBackend('test', 'Test_Share_Backend'); + OC_Hook::clear('OCP\\Share'); + OC::registerShareHooks(); } public function tearDown() { @@ -64,7 +66,7 @@ class Test_Share extends UnitTestCase { public function testShareInvalidShareType() { $message = 'Share type foobar is not valid for test.txt'; try { - OCP\Share::shareItem('test', 'test.txt', 'foobar', $this->user2, OCP\Share::PERMISSION_READ); + OCP\Share::shareItem('test', 'test.txt', 'foobar', $this->user2, OCP\PERMISSION_READ); } catch (Exception $exception) { $this->assertEquals($message, $exception->getMessage()); } @@ -73,7 +75,7 @@ class Test_Share extends UnitTestCase { public function testInvalidItemType() { $message = 'Sharing backend for foobar not found'; try { - OCP\Share::shareItem('foobar', 'test.txt', OCP\Share::SHARE_TYPE_USER, $this->user2, OCP\Share::PERMISSION_READ); + OCP\Share::shareItem('foobar', 'test.txt', OCP\Share::SHARE_TYPE_USER, $this->user2, OCP\PERMISSION_READ); $this->fail('Exception was expected: '.$message); } catch (Exception $exception) { $this->assertEquals($message, $exception->getMessage()); @@ -109,7 +111,7 @@ class Test_Share extends UnitTestCase { $this->assertEquals($message, $exception->getMessage()); } try { - OCP\Share::setPermissions('foobar', 'test.txt', OCP\Share::SHARE_TYPE_USER, $this->user2, OCP\Share::PERMISSION_UPDATE); + OCP\Share::setPermissions('foobar', 'test.txt', OCP\Share::SHARE_TYPE_USER, $this->user2, OCP\PERMISSION_UPDATE); $this->fail('Exception was expected: '.$message); } catch (Exception $exception) { $this->assertEquals($message, $exception->getMessage()); @@ -120,131 +122,131 @@ class Test_Share extends UnitTestCase { // Invalid shares $message = 'Sharing test.txt failed, because the user '.$this->user1.' is the item owner'; try { - OCP\Share::shareItem('test', 'test.txt', OCP\Share::SHARE_TYPE_USER, $this->user1, OCP\Share::PERMISSION_READ); + OCP\Share::shareItem('test', 'test.txt', OCP\Share::SHARE_TYPE_USER, $this->user1, OCP\PERMISSION_READ); $this->fail('Exception was expected: '.$message); } catch (Exception $exception) { $this->assertEquals($message, $exception->getMessage()); } $message = 'Sharing test.txt failed, because the user foobar does not exist'; try { - OCP\Share::shareItem('test', 'test.txt', OCP\Share::SHARE_TYPE_USER, 'foobar', OCP\Share::PERMISSION_READ); + OCP\Share::shareItem('test', 'test.txt', OCP\Share::SHARE_TYPE_USER, 'foobar', OCP\PERMISSION_READ); $this->fail('Exception was expected: '.$message); } catch (Exception $exception) { $this->assertEquals($message, $exception->getMessage()); } $message = 'Sharing foobar failed, because the sharing backend for test could not find its source'; try { - OCP\Share::shareItem('test', 'foobar', OCP\Share::SHARE_TYPE_USER, $this->user2, OCP\Share::PERMISSION_READ); + OCP\Share::shareItem('test', 'foobar', OCP\Share::SHARE_TYPE_USER, $this->user2, OCP\PERMISSION_READ); $this->fail('Exception was expected: '.$message); } catch (Exception $exception) { $this->assertEquals($message, $exception->getMessage()); } - + // Valid share - $this->assertTrue(OCP\Share::shareItem('test', 'test.txt', OCP\Share::SHARE_TYPE_USER, $this->user2, OCP\Share::PERMISSION_READ)); + $this->assertTrue(OCP\Share::shareItem('test', 'test.txt', OCP\Share::SHARE_TYPE_USER, $this->user2, OCP\PERMISSION_READ)); $this->assertEquals(array('test.txt'), OCP\Share::getItemShared('test', 'test.txt', Test_Share_Backend::FORMAT_SOURCE)); OC_User::setUserId($this->user2); $this->assertEquals(array('test.txt'), OCP\Share::getItemSharedWith('test', 'test.txt', Test_Share_Backend::FORMAT_SOURCE)); - + // Attempt to share again OC_User::setUserId($this->user1); $message = 'Sharing test.txt failed, because this item is already shared with '.$this->user2; try { - OCP\Share::shareItem('test', 'test.txt', OCP\Share::SHARE_TYPE_USER, $this->user2, OCP\Share::PERMISSION_READ); + OCP\Share::shareItem('test', 'test.txt', OCP\Share::SHARE_TYPE_USER, $this->user2, OCP\PERMISSION_READ); $this->fail('Exception was expected: '.$message); } catch (Exception $exception) { $this->assertEquals($message, $exception->getMessage()); } - + // Attempt to share back OC_User::setUserId($this->user2); $message = 'Sharing test.txt failed, because the user '.$this->user1.' is the original sharer'; try { - OCP\Share::shareItem('test', 'test.txt', OCP\Share::SHARE_TYPE_USER, $this->user1, OCP\Share::PERMISSION_READ); + OCP\Share::shareItem('test', 'test.txt', OCP\Share::SHARE_TYPE_USER, $this->user1, OCP\PERMISSION_READ); $this->fail('Exception was expected: '.$message); } catch (Exception $exception) { $this->assertEquals($message, $exception->getMessage()); } - + // Unshare OC_User::setUserId($this->user1); $this->assertTrue(OCP\Share::unshare('test', 'test.txt', OCP\Share::SHARE_TYPE_USER, $this->user2)); - + // Attempt reshare without share permission - $this->assertTrue(OCP\Share::shareItem('test', 'test.txt', OCP\Share::SHARE_TYPE_USER, $this->user2, OCP\Share::PERMISSION_READ)); + $this->assertTrue(OCP\Share::shareItem('test', 'test.txt', OCP\Share::SHARE_TYPE_USER, $this->user2, OCP\PERMISSION_READ)); OC_User::setUserId($this->user2); $message = 'Sharing test.txt failed, because resharing is not allowed'; try { - OCP\Share::shareItem('test', 'test.txt', OCP\Share::SHARE_TYPE_USER, $this->user3, OCP\Share::PERMISSION_READ); + OCP\Share::shareItem('test', 'test.txt', OCP\Share::SHARE_TYPE_USER, $this->user3, OCP\PERMISSION_READ); $this->fail('Exception was expected: '.$message); } catch (Exception $exception) { $this->assertEquals($message, $exception->getMessage()); } - - // Owner grants share and update permission + + // Owner grants share and update permission OC_User::setUserId($this->user1); - $this->assertTrue(OCP\Share::setPermissions('test', 'test.txt', OCP\Share::SHARE_TYPE_USER, $this->user2, OCP\Share::PERMISSION_READ | OCP\Share::PERMISSION_UPDATE | OCP\Share::PERMISSION_SHARE)); - + $this->assertTrue(OCP\Share::setPermissions('test', 'test.txt', OCP\Share::SHARE_TYPE_USER, $this->user2, OCP\PERMISSION_READ | OCP\PERMISSION_UPDATE | OCP\PERMISSION_SHARE)); + // Attempt reshare with escalated permissions OC_User::setUserId($this->user2); $message = 'Sharing test.txt failed, because the permissions exceed permissions granted to '.$this->user2; try { - OCP\Share::shareItem('test', 'test.txt', OCP\Share::SHARE_TYPE_USER, $this->user3, OCP\Share::PERMISSION_READ | OCP\Share::PERMISSION_DELETE); + OCP\Share::shareItem('test', 'test.txt', OCP\Share::SHARE_TYPE_USER, $this->user3, OCP\PERMISSION_READ | OCP\PERMISSION_DELETE); $this->fail('Exception was expected: '.$message); } catch (Exception $exception) { $this->assertEquals($message, $exception->getMessage()); } - + // Valid reshare - $this->assertTrue(OCP\Share::shareItem('test', 'test.txt', OCP\Share::SHARE_TYPE_USER, $this->user3, OCP\Share::PERMISSION_READ | OCP\Share::PERMISSION_UPDATE)); + $this->assertTrue(OCP\Share::shareItem('test', 'test.txt', OCP\Share::SHARE_TYPE_USER, $this->user3, OCP\PERMISSION_READ | OCP\PERMISSION_UPDATE)); $this->assertEquals(array('test.txt'), OCP\Share::getItemShared('test', 'test.txt', Test_Share_Backend::FORMAT_SOURCE)); OC_User::setUserId($this->user3); $this->assertEquals(array('test.txt'), OCP\Share::getItemSharedWith('test', 'test.txt', Test_Share_Backend::FORMAT_SOURCE)); - $this->assertEquals(array(OCP\Share::PERMISSION_READ | OCP\Share::PERMISSION_UPDATE), OCP\Share::getItemSharedWith('test', 'test.txt', Test_Share_Backend::FORMAT_PERMISSIONS)); - + $this->assertEquals(array(OCP\PERMISSION_READ | OCP\PERMISSION_UPDATE), OCP\Share::getItemSharedWith('test', 'test.txt', Test_Share_Backend::FORMAT_PERMISSIONS)); + // Attempt to escalate permissions OC_User::setUserId($this->user2); $message = 'Setting permissions for test.txt failed, because the permissions exceed permissions granted to '.$this->user2; try { - OCP\Share::setPermissions('test', 'test.txt', OCP\Share::SHARE_TYPE_USER, $this->user3, OCP\Share::PERMISSION_READ | OCP\Share::PERMISSION_DELETE); + OCP\Share::setPermissions('test', 'test.txt', OCP\Share::SHARE_TYPE_USER, $this->user3, OCP\PERMISSION_READ | OCP\PERMISSION_DELETE); $this->fail('Exception was expected: '.$message); } catch (Exception $exception) { $this->assertEquals($message, $exception->getMessage()); } - + // Remove update permission OC_User::setUserId($this->user1); - $this->assertTrue(OCP\Share::setPermissions('test', 'test.txt', OCP\Share::SHARE_TYPE_USER, $this->user2, OCP\Share::PERMISSION_READ | OCP\Share::PERMISSION_SHARE)); + $this->assertTrue(OCP\Share::setPermissions('test', 'test.txt', OCP\Share::SHARE_TYPE_USER, $this->user2, OCP\PERMISSION_READ | OCP\PERMISSION_SHARE)); OC_User::setUserId($this->user2); - $this->assertEquals(array(OCP\Share::PERMISSION_READ | OCP\Share::PERMISSION_SHARE), OCP\Share::getItemSharedWith('test', 'test.txt', Test_Share_Backend::FORMAT_PERMISSIONS)); + $this->assertEquals(array(OCP\PERMISSION_READ | OCP\PERMISSION_SHARE), OCP\Share::getItemSharedWith('test', 'test.txt', Test_Share_Backend::FORMAT_PERMISSIONS)); OC_User::setUserId($this->user3); - $this->assertEquals(array(OCP\Share::PERMISSION_READ), OCP\Share::getItemSharedWith('test', 'test.txt', Test_Share_Backend::FORMAT_PERMISSIONS)); - + $this->assertEquals(array(OCP\PERMISSION_READ), OCP\Share::getItemSharedWith('test', 'test.txt', Test_Share_Backend::FORMAT_PERMISSIONS)); + // Remove share permission OC_User::setUserId($this->user1); - $this->assertTrue(OCP\Share::setPermissions('test', 'test.txt', OCP\Share::SHARE_TYPE_USER, $this->user2, OCP\Share::PERMISSION_READ)); + $this->assertTrue(OCP\Share::setPermissions('test', 'test.txt', OCP\Share::SHARE_TYPE_USER, $this->user2, OCP\PERMISSION_READ)); OC_User::setUserId($this->user2); - $this->assertEquals(array(OCP\Share::PERMISSION_READ), OCP\Share::getItemSharedWith('test', 'test.txt', Test_Share_Backend::FORMAT_PERMISSIONS)); + $this->assertEquals(array(OCP\PERMISSION_READ), OCP\Share::getItemSharedWith('test', 'test.txt', Test_Share_Backend::FORMAT_PERMISSIONS)); OC_User::setUserId($this->user3); $this->assertFalse(OCP\Share::getItemSharedWith('test', 'test.txt')); - + // Reshare again, and then have owner unshare OC_User::setUserId($this->user1); - $this->assertTrue(OCP\Share::setPermissions('test', 'test.txt', OCP\Share::SHARE_TYPE_USER, $this->user2, OCP\Share::PERMISSION_READ | OCP\Share::PERMISSION_SHARE)); + $this->assertTrue(OCP\Share::setPermissions('test', 'test.txt', OCP\Share::SHARE_TYPE_USER, $this->user2, OCP\PERMISSION_READ | OCP\PERMISSION_SHARE)); OC_User::setUserId($this->user2); - $this->assertTrue(OCP\Share::shareItem('test', 'test.txt', OCP\Share::SHARE_TYPE_USER, $this->user3, OCP\Share::PERMISSION_READ)); + $this->assertTrue(OCP\Share::shareItem('test', 'test.txt', OCP\Share::SHARE_TYPE_USER, $this->user3, OCP\PERMISSION_READ)); OC_User::setUserId($this->user1); $this->assertTrue(OCP\Share::unshare('test', 'test.txt', OCP\Share::SHARE_TYPE_USER, $this->user2)); OC_User::setUserId($this->user2); $this->assertFalse(OCP\Share::getItemSharedWith('test', 'test.txt')); OC_User::setUserId($this->user3); $this->assertFalse(OCP\Share::getItemSharedWith('test', 'test.txt')); - + // Attempt target conflict OC_User::setUserId($this->user1); - $this->assertTrue(OCP\Share::shareItem('test', 'test.txt', OCP\Share::SHARE_TYPE_USER, $this->user2, OCP\Share::PERMISSION_READ)); + $this->assertTrue(OCP\Share::shareItem('test', 'test.txt', OCP\Share::SHARE_TYPE_USER, $this->user2, OCP\PERMISSION_READ)); OC_User::setUserId($this->user3); - $this->assertTrue(OCP\Share::shareItem('test', 'share.txt', OCP\Share::SHARE_TYPE_USER, $this->user2, OCP\Share::PERMISSION_READ)); + $this->assertTrue(OCP\Share::shareItem('test', 'share.txt', OCP\Share::SHARE_TYPE_USER, $this->user2, OCP\PERMISSION_READ)); OC_User::setUserId($this->user2); $to_test = OCP\Share::getItemsSharedWith('test', Test_Share_Backend::FORMAT_TARGET); @@ -263,7 +265,7 @@ class Test_Share extends UnitTestCase { // Invalid shares $message = 'Sharing test.txt failed, because the group foobar does not exist'; try { - OCP\Share::shareItem('test', 'test.txt', OCP\Share::SHARE_TYPE_GROUP, 'foobar', OCP\Share::PERMISSION_READ); + OCP\Share::shareItem('test', 'test.txt', OCP\Share::SHARE_TYPE_GROUP, 'foobar', OCP\PERMISSION_READ); $this->fail('Exception was expected: '.$message); } catch (Exception $exception) { $this->assertEquals($message, $exception->getMessage()); @@ -272,131 +274,131 @@ class Test_Share extends UnitTestCase { OC_Appconfig::setValue('core', 'shareapi_share_policy', 'groups_only'); $message = 'Sharing test.txt failed, because '.$this->user1.' is not a member of the group '.$this->group2; try { - OCP\Share::shareItem('test', 'test.txt', OCP\Share::SHARE_TYPE_GROUP, $this->group2, OCP\Share::PERMISSION_READ); + OCP\Share::shareItem('test', 'test.txt', OCP\Share::SHARE_TYPE_GROUP, $this->group2, OCP\PERMISSION_READ); $this->fail('Exception was expected: '.$message); } catch (Exception $exception) { $this->assertEquals($message, $exception->getMessage()); } OC_Appconfig::setValue('core', 'shareapi_share_policy', $policy); - + // Valid share - $this->assertTrue(OCP\Share::shareItem('test', 'test.txt', OCP\Share::SHARE_TYPE_GROUP, $this->group1, OCP\Share::PERMISSION_READ)); + $this->assertTrue(OCP\Share::shareItem('test', 'test.txt', OCP\Share::SHARE_TYPE_GROUP, $this->group1, OCP\PERMISSION_READ)); $this->assertEquals(array('test.txt'), OCP\Share::getItemShared('test', 'test.txt', Test_Share_Backend::FORMAT_SOURCE)); OC_User::setUserId($this->user2); $this->assertEquals(array('test.txt'), OCP\Share::getItemSharedWith('test', 'test.txt', Test_Share_Backend::FORMAT_SOURCE)); OC_User::setUserId($this->user3); $this->assertEquals(array('test.txt'), OCP\Share::getItemSharedWith('test', 'test.txt', Test_Share_Backend::FORMAT_SOURCE)); - + // Attempt to share again OC_User::setUserId($this->user1); $message = 'Sharing test.txt failed, because this item is already shared with '.$this->group1; try { - OCP\Share::shareItem('test', 'test.txt', OCP\Share::SHARE_TYPE_GROUP, $this->group1, OCP\Share::PERMISSION_READ); + OCP\Share::shareItem('test', 'test.txt', OCP\Share::SHARE_TYPE_GROUP, $this->group1, OCP\PERMISSION_READ); $this->fail('Exception was expected: '.$message); } catch (Exception $exception) { $this->assertEquals($message, $exception->getMessage()); } - + // Attempt to share back to owner of group share OC_User::setUserId($this->user2); $message = 'Sharing test.txt failed, because the user '.$this->user1.' is the original sharer'; try { - OCP\Share::shareItem('test', 'test.txt', OCP\Share::SHARE_TYPE_USER, $this->user1, OCP\Share::PERMISSION_READ); + OCP\Share::shareItem('test', 'test.txt', OCP\Share::SHARE_TYPE_USER, $this->user1, OCP\PERMISSION_READ); $this->fail('Exception was expected: '.$message); } catch (Exception $exception) { $this->assertEquals($message, $exception->getMessage()); } - + // Attempt to share back to group $message = 'Sharing test.txt failed, because this item is already shared with '.$this->group1; try { - OCP\Share::shareItem('test', 'test.txt', OCP\Share::SHARE_TYPE_GROUP, $this->group1, OCP\Share::PERMISSION_READ); + OCP\Share::shareItem('test', 'test.txt', OCP\Share::SHARE_TYPE_GROUP, $this->group1, OCP\PERMISSION_READ); $this->fail('Exception was expected: '.$message); } catch (Exception $exception) { $this->assertEquals($message, $exception->getMessage()); } - + // Attempt to share back to member of group $message ='Sharing test.txt failed, because this item is already shared with '.$this->user3; try { - OCP\Share::shareItem('test', 'test.txt', OCP\Share::SHARE_TYPE_USER, $this->user3, OCP\Share::PERMISSION_READ); + OCP\Share::shareItem('test', 'test.txt', OCP\Share::SHARE_TYPE_USER, $this->user3, OCP\PERMISSION_READ); $this->fail('Exception was expected: '.$message); } catch (Exception $exception) { $this->assertEquals($message, $exception->getMessage()); } - + // Unshare OC_User::setUserId($this->user1); $this->assertTrue(OCP\Share::unshare('test', 'test.txt', OCP\Share::SHARE_TYPE_GROUP, $this->group1)); - + // Valid share with same person - user then group - $this->assertTrue(OCP\Share::shareItem('test', 'test.txt', OCP\Share::SHARE_TYPE_USER, $this->user2, OCP\Share::PERMISSION_READ | OCP\Share::PERMISSION_DELETE | OCP\Share::PERMISSION_SHARE)); - $this->assertTrue(OCP\Share::shareItem('test', 'test.txt', OCP\Share::SHARE_TYPE_GROUP, $this->group1, OCP\Share::PERMISSION_READ | OCP\Share::PERMISSION_UPDATE)); + $this->assertTrue(OCP\Share::shareItem('test', 'test.txt', OCP\Share::SHARE_TYPE_USER, $this->user2, OCP\PERMISSION_READ | OCP\PERMISSION_DELETE | OCP\PERMISSION_SHARE)); + $this->assertTrue(OCP\Share::shareItem('test', 'test.txt', OCP\Share::SHARE_TYPE_GROUP, $this->group1, OCP\PERMISSION_READ | OCP\PERMISSION_UPDATE)); OC_User::setUserId($this->user2); $this->assertEquals(array('test.txt'), OCP\Share::getItemsSharedWith('test', Test_Share_Backend::FORMAT_TARGET)); - $this->assertEquals(array(OCP\Share::PERMISSION_READ | OCP\Share::PERMISSION_UPDATE | OCP\Share::PERMISSION_DELETE | OCP\Share::PERMISSION_SHARE), OCP\Share::getItemSharedWith('test', 'test.txt', Test_Share_Backend::FORMAT_PERMISSIONS)); + $this->assertEquals(array(OCP\PERMISSION_READ | OCP\PERMISSION_UPDATE | OCP\PERMISSION_DELETE | OCP\PERMISSION_SHARE), OCP\Share::getItemSharedWith('test', 'test.txt', Test_Share_Backend::FORMAT_PERMISSIONS)); OC_User::setUserId($this->user3); $this->assertEquals(array('test.txt'), OCP\Share::getItemsSharedWith('test', Test_Share_Backend::FORMAT_TARGET)); - $this->assertEquals(array(OCP\Share::PERMISSION_READ | OCP\Share::PERMISSION_UPDATE), OCP\Share::getItemSharedWith('test', 'test.txt', Test_Share_Backend::FORMAT_PERMISSIONS)); - + $this->assertEquals(array(OCP\PERMISSION_READ | OCP\PERMISSION_UPDATE), OCP\Share::getItemSharedWith('test', 'test.txt', Test_Share_Backend::FORMAT_PERMISSIONS)); + // Valid reshare OC_User::setUserId($this->user2); - $this->assertTrue(OCP\Share::shareItem('test', 'test.txt', OCP\Share::SHARE_TYPE_USER, $this->user4, OCP\Share::PERMISSION_READ)); + $this->assertTrue(OCP\Share::shareItem('test', 'test.txt', OCP\Share::SHARE_TYPE_USER, $this->user4, OCP\PERMISSION_READ)); OC_User::setUserId($this->user4); $this->assertEquals(array('test.txt'), OCP\Share::getItemsSharedWith('test', Test_Share_Backend::FORMAT_TARGET)); - + // Unshare from user only OC_User::setUserId($this->user1); $this->assertTrue(OCP\Share::unshare('test', 'test.txt', OCP\Share::SHARE_TYPE_USER, $this->user2)); OC_User::setUserId($this->user2); - $this->assertEquals(array(OCP\Share::PERMISSION_READ | OCP\Share::PERMISSION_UPDATE), OCP\Share::getItemSharedWith('test', 'test.txt', Test_Share_Backend::FORMAT_PERMISSIONS)); + $this->assertEquals(array(OCP\PERMISSION_READ | OCP\PERMISSION_UPDATE), OCP\Share::getItemSharedWith('test', 'test.txt', Test_Share_Backend::FORMAT_PERMISSIONS)); OC_User::setUserId($this->user4); $this->assertEquals(array(), OCP\Share::getItemsSharedWith('test', Test_Share_Backend::FORMAT_TARGET)); - + // Valid share with same person - group then user OC_User::setUserId($this->user1); - $this->assertTrue(OCP\Share::shareItem('test', 'test.txt', OCP\Share::SHARE_TYPE_USER, $this->user2, OCP\Share::PERMISSION_READ | OCP\Share::PERMISSION_DELETE)); + $this->assertTrue(OCP\Share::shareItem('test', 'test.txt', OCP\Share::SHARE_TYPE_USER, $this->user2, OCP\PERMISSION_READ | OCP\PERMISSION_DELETE)); OC_User::setUserId($this->user2); $this->assertEquals(array('test.txt'), OCP\Share::getItemsSharedWith('test', Test_Share_Backend::FORMAT_TARGET)); - $this->assertEquals(array(OCP\Share::PERMISSION_READ | OCP\Share::PERMISSION_UPDATE | OCP\Share::PERMISSION_DELETE), OCP\Share::getItemSharedWith('test', 'test.txt', Test_Share_Backend::FORMAT_PERMISSIONS)); - + $this->assertEquals(array(OCP\PERMISSION_READ | OCP\PERMISSION_UPDATE | OCP\PERMISSION_DELETE), OCP\Share::getItemSharedWith('test', 'test.txt', Test_Share_Backend::FORMAT_PERMISSIONS)); + // Unshare from group only OC_User::setUserId($this->user1); $this->assertTrue(OCP\Share::unshare('test', 'test.txt', OCP\Share::SHARE_TYPE_GROUP, $this->group1)); OC_User::setUserId($this->user2); - $this->assertEquals(array(OCP\Share::PERMISSION_READ | OCP\Share::PERMISSION_DELETE), OCP\Share::getItemSharedWith('test', 'test.txt', Test_Share_Backend::FORMAT_PERMISSIONS)); - + $this->assertEquals(array(OCP\PERMISSION_READ | OCP\PERMISSION_DELETE), OCP\Share::getItemSharedWith('test', 'test.txt', Test_Share_Backend::FORMAT_PERMISSIONS)); + // Attempt user specific target conflict OC_User::setUserId($this->user3); - $this->assertTrue(OCP\Share::shareItem('test', 'share.txt', OCP\Share::SHARE_TYPE_GROUP, $this->group1, OCP\Share::PERMISSION_READ | OCP\Share::PERMISSION_SHARE)); + $this->assertTrue(OCP\Share::shareItem('test', 'share.txt', OCP\Share::SHARE_TYPE_GROUP, $this->group1, OCP\PERMISSION_READ | OCP\PERMISSION_SHARE)); OC_User::setUserId($this->user2); $to_test = OCP\Share::getItemsSharedWith('test', Test_Share_Backend::FORMAT_TARGET); $this->assertEquals(2, count($to_test)); $this->assertTrue(in_array('test.txt', $to_test)); $this->assertTrue(in_array('test1.txt', $to_test)); - - // Valid reshare - $this->assertTrue(OCP\Share::shareItem('test', 'share.txt', OCP\Share::SHARE_TYPE_USER, $this->user4, OCP\Share::PERMISSION_READ | OCP\Share::PERMISSION_SHARE)); + + // Valid reshare + $this->assertTrue(OCP\Share::shareItem('test', 'share.txt', OCP\Share::SHARE_TYPE_USER, $this->user4, OCP\PERMISSION_READ | OCP\PERMISSION_SHARE)); OC_User::setUserId($this->user4); $this->assertEquals(array('test1.txt'), OCP\Share::getItemsSharedWith('test', Test_Share_Backend::FORMAT_TARGET)); - + // Remove user from group OC_Group::removeFromGroup($this->user2, $this->group1); OC_User::setUserId($this->user2); $this->assertEquals(array('test.txt'), OCP\Share::getItemsSharedWith('test', Test_Share_Backend::FORMAT_TARGET)); OC_User::setUserId($this->user4); $this->assertEquals(array(), OCP\Share::getItemsSharedWith('test', Test_Share_Backend::FORMAT_TARGET)); - + // Add user to group OC_Group::addToGroup($this->user4, $this->group1); $this->assertEquals(array('test.txt'), OCP\Share::getItemsSharedWith('test', Test_Share_Backend::FORMAT_TARGET)); - + // Unshare from self $this->assertTrue(OCP\Share::unshareFromSelf('test', 'test.txt')); $this->assertEquals(array(), OCP\Share::getItemsSharedWith('test', Test_Share_Backend::FORMAT_TARGET)); OC_User::setUserId($this->user2); $this->assertEquals(array('test.txt'), OCP\Share::getItemsSharedWith('test', Test_Share_Backend::FORMAT_TARGET)); - + // Remove group OC_Group::deleteGroup($this->group1); OC_User::setUserId($this->user4); diff --git a/tests/lib/streamwrappers.php b/tests/lib/streamwrappers.php index 46838ff9754656bea65ad0547c48468135e7a848..89b2785fca6e705bb776d72ea5597f0315dfdfbc 100644 --- a/tests/lib/streamwrappers.php +++ b/tests/lib/streamwrappers.php @@ -22,7 +22,7 @@ class Test_StreamWrappers extends UnitTestCase { public function testFakeDir() { - $items=array('foo','bar'); + $items=array('foo', 'bar'); OC_FakeDirStream::$dirs['test']=$items; $dh=opendir('fakedir://test'); $result=array(); @@ -30,16 +30,16 @@ class Test_StreamWrappers extends UnitTestCase { $result[]=$file; $this->assertContains($file, $items); } - $this->assertEqual(count($items),count($result)); + $this->assertEqual(count($items), count($result)); } public function testStaticStream() { $sourceFile=OC::$SERVERROOT.'/tests/data/lorem.txt'; $staticFile='static://test'; $this->assertFalse(file_exists($staticFile)); - file_put_contents($staticFile,file_get_contents($sourceFile)); + file_put_contents($staticFile, file_get_contents($sourceFile)); $this->assertTrue(file_exists($staticFile)); - $this->assertEqual(file_get_contents($sourceFile),file_get_contents($staticFile)); + $this->assertEqual(file_get_contents($sourceFile), file_get_contents($staticFile)); unlink($staticFile); clearstatcache(); $this->assertFalse(file_exists($staticFile)); @@ -51,8 +51,8 @@ class Test_StreamWrappers extends UnitTestCase { $tmpFile=OC_Helper::TmpFile('.txt'); $file='close://'.$tmpFile; $this->assertTrue(file_exists($file)); - file_put_contents($file,file_get_contents($sourceFile)); - $this->assertEqual(file_get_contents($sourceFile),file_get_contents($file)); + file_put_contents($file, file_get_contents($sourceFile)); + $this->assertEqual(file_get_contents($sourceFile), file_get_contents($file)); unlink($file); clearstatcache(); $this->assertFalse(file_exists($file)); @@ -60,15 +60,15 @@ class Test_StreamWrappers extends UnitTestCase { //test callback $tmpFile=OC_Helper::TmpFile('.txt'); $file='close://'.$tmpFile; - OC_CloseStreamWrapper::$callBacks[$tmpFile]=array('Test_StreamWrappers','closeCallBack'); - $fh=fopen($file,'w'); - fwrite($fh,'asd'); + OC_CloseStreamWrapper::$callBacks[$tmpFile]=array('Test_StreamWrappers', 'closeCallBack'); + $fh=fopen($file, 'w'); + fwrite($fh, 'asd'); try{ fclose($fh); $this->fail('Expected exception'); }catch(Exception $e) { $path=$e->getMessage(); - $this->assertEqual($path,$tmpFile); + $this->assertEqual($path, $tmpFile); } } diff --git a/tests/lib/template.php b/tests/lib/template.php new file mode 100644 index 0000000000000000000000000000000000000000..736bc95255c05824a1a810cf0d799f057475a201 --- /dev/null +++ b/tests/lib/template.php @@ -0,0 +1,71 @@ +. +* +*/ + +OC::autoload('OC_Template'); + +class Test_TemplateFunctions extends UnitTestCase { + + public function testP() { + // FIXME: do we need more testcases? + $htmlString = ""; + ob_start(); + p($htmlString); + $result = ob_get_clean(); + ob_end_clean(); + + $this->assertEqual("<script>alert('xss');</script>", $result); + } + + public function testPNormalString() { + $normalString = "This is a good string!"; + ob_start(); + p($normalString); + $result = ob_get_clean(); + ob_end_clean(); + + $this->assertEqual("This is a good string!", $result); + } + + + public function testPrintUnescaped() { + $htmlString = ""; + + ob_start(); + print_unescaped($htmlString); + $result = ob_get_clean(); + ob_end_clean(); + + $this->assertEqual($htmlString, $result); + } + + public function testPrintUnescapedNormalString() { + $normalString = "This is a good string!"; + ob_start(); + print_unescaped($normalString); + $result = ob_get_clean(); + ob_end_clean(); + + $this->assertEqual("This is a good string!", $result); + } + + +} diff --git a/tests/lib/user/backend.php b/tests/lib/user/backend.php index c69c1bad51264a66ea21d2c499a874d90978c047..0b744770ea28faea45f37e119b54af509179e2a1 100644 --- a/tests/lib/user/backend.php +++ b/tests/lib/user/backend.php @@ -23,10 +23,10 @@ /** * Abstract class to provide the basis of backend-specific unit test classes. * - * All subclasses MUST assign a backend property in setUp() which implements + * All subclasses MUST assign a backend property in setUp() which implements * user operations (add, remove, etc.). Test methods in this class will then be * run on each separate subclass and backend therein. - * + * * For an example see /tests/lib/user/dummy.php */ @@ -51,22 +51,22 @@ abstract class Test_User_Backend extends UnitTestCase { $name1=$this->getUser(); $name2=$this->getUser(); - $this->backend->createUser($name1,''); + $this->backend->createUser($name1, ''); $count=count($this->backend->getUsers())-$startCount; - $this->assertEqual(1,$count); - $this->assertTrue((array_search($name1,$this->backend->getUsers())!==false)); - $this->assertFalse((array_search($name2,$this->backend->getUsers())!==false)); - $this->backend->createUser($name2,''); + $this->assertEqual(1, $count); + $this->assertTrue((array_search($name1, $this->backend->getUsers())!==false)); + $this->assertFalse((array_search($name2, $this->backend->getUsers())!==false)); + $this->backend->createUser($name2, ''); $count=count($this->backend->getUsers())-$startCount; - $this->assertEqual(2,$count); - $this->assertTrue((array_search($name1,$this->backend->getUsers())!==false)); - $this->assertTrue((array_search($name2,$this->backend->getUsers())!==false)); + $this->assertEqual(2, $count); + $this->assertTrue((array_search($name1, $this->backend->getUsers())!==false)); + $this->assertTrue((array_search($name2, $this->backend->getUsers())!==false)); $this->backend->deleteUser($name2); $count=count($this->backend->getUsers())-$startCount; - $this->assertEqual(1,$count); - $this->assertTrue((array_search($name1,$this->backend->getUsers())!==false)); - $this->assertFalse((array_search($name2,$this->backend->getUsers())!==false)); + $this->assertEqual(1, $count); + $this->assertTrue((array_search($name1, $this->backend->getUsers())!==false)); + $this->assertFalse((array_search($name2, $this->backend->getUsers())!==false)); } public function testLogin() { @@ -76,24 +76,24 @@ abstract class Test_User_Backend extends UnitTestCase { $this->assertFalse($this->backend->userExists($name1)); $this->assertFalse($this->backend->userExists($name2)); - $this->backend->createUser($name1,'pass1'); - $this->backend->createUser($name2,'pass2'); + $this->backend->createUser($name1, 'pass1'); + $this->backend->createUser($name2, 'pass2'); $this->assertTrue($this->backend->userExists($name1)); $this->assertTrue($this->backend->userExists($name2)); - $this->assertTrue($this->backend->checkPassword($name1,'pass1')); - $this->assertTrue($this->backend->checkPassword($name2,'pass2')); + $this->assertTrue($this->backend->checkPassword($name1, 'pass1')); + $this->assertTrue($this->backend->checkPassword($name2, 'pass2')); - $this->assertFalse($this->backend->checkPassword($name1,'pass2')); - $this->assertFalse($this->backend->checkPassword($name2,'pass1')); + $this->assertFalse($this->backend->checkPassword($name1, 'pass2')); + $this->assertFalse($this->backend->checkPassword($name2, 'pass1')); - $this->assertFalse($this->backend->checkPassword($name1,'dummy')); - $this->assertFalse($this->backend->checkPassword($name2,'foobar')); + $this->assertFalse($this->backend->checkPassword($name1, 'dummy')); + $this->assertFalse($this->backend->checkPassword($name2, 'foobar')); - $this->backend->setPassword($name1,'newpass1'); - $this->assertFalse($this->backend->checkPassword($name1,'pass1')); - $this->assertTrue($this->backend->checkPassword($name1,'newpass1')); - $this->assertFalse($this->backend->checkPassword($name2,'newpass1')); + $this->backend->setPassword($name1, 'newpass1'); + $this->assertFalse($this->backend->checkPassword($name1, 'pass1')); + $this->assertTrue($this->backend->checkPassword($name1, 'newpass1')); + $this->assertFalse($this->backend->checkPassword($name2, 'newpass1')); } } diff --git a/tests/lib/util.php b/tests/lib/util.php index 23fe29036130ae7419f0bf99f0ccf2a724821daf..27635cb805558cf3b46130c7f1ace9a3e0cd9c47 100644 --- a/tests/lib/util.php +++ b/tests/lib/util.php @@ -10,36 +10,36 @@ class Test_Util extends UnitTestCase { // Constructor function Test_Util() { - date_default_timezone_set("UTC"); + date_default_timezone_set("UTC"); } function testFormatDate() { $result = OC_Util::formatDate(1350129205); - $expected = 'October 13, 2012, 11:53'; - $this->assertEquals($result, $expected); + $expected = 'October 13, 2012 11:53'; + $this->assertEquals($expected, $result); $result = OC_Util::formatDate(1102831200, true); $expected = 'December 12, 2004'; - $this->assertEquals($result, $expected); + $this->assertEquals($expected, $result); } function testCallRegister() { $result = strlen(OC_Util::callRegister()); - $this->assertEquals($result, 20); + $this->assertEquals(20, $result); } function testSanitizeHTML() { $badString = ""; $result = OC_Util::sanitizeHTML($badString); - $this->assertEquals($result, "<script>alert('Hacked!');</script>"); + $this->assertEquals("<script>alert('Hacked!');</script>", $result); $goodString = "This is an harmless string."; $result = OC_Util::sanitizeHTML($goodString); - $this->assertEquals($result, "This is an harmless string."); - } + $this->assertEquals("This is an harmless string.", $result); + } function testGenerate_random_bytes() { $result = strlen(OC_Util::generate_random_bytes(59)); - $this->assertEquals($result, 59); - } + $this->assertEquals(59, $result); + } } \ No newline at end of file diff --git a/tests/lib/vcategories.php b/tests/lib/vcategories.php new file mode 100644 index 0000000000000000000000000000000000000000..63516a063daa62f4cbe37f7054ef9626c0153546 --- /dev/null +++ b/tests/lib/vcategories.php @@ -0,0 +1,117 @@ +. +* +*/ + +//require_once("../lib/template.php"); + +class Test_VCategories extends UnitTestCase { + + protected $objectType; + protected $user; + protected $backupGlobals = FALSE; + + public function setUp() { + + OC_User::clearBackends(); + OC_User::useBackend('dummy'); + $this->user = uniqid('user_'); + $this->objectType = uniqid('type_'); + OC_User::createUser($this->user, 'pass'); + OC_User::setUserId($this->user); + + } + + public function tearDown() { + //$query = OC_DB::prepare('DELETE FROM `*PREFIX*vcategories` WHERE `item_type` = ?'); + //$query->execute(array('test')); + } + + public function testInstantiateWithDefaults() { + $defcategories = array('Friends', 'Family', 'Work', 'Other'); + + $catmgr = new OC_VCategories($this->objectType, $this->user, $defcategories); + + $this->assertEqual(4, count($catmgr->categories())); + } + + public function testAddCategories() { + $categories = array('Friends', 'Family', 'Work', 'Other'); + + $catmgr = new OC_VCategories($this->objectType, $this->user); + + foreach($categories as $category) { + $result = $catmgr->add($category); + $this->assertTrue($result); + } + + $this->assertFalse($catmgr->add('Family')); + $this->assertFalse($catmgr->add('fAMILY')); + + $this->assertEqual(4, count($catmgr->categories())); + } + + public function testdeleteCategories() { + $defcategories = array('Friends', 'Family', 'Work', 'Other'); + $catmgr = new OC_VCategories($this->objectType, $this->user, $defcategories); + $this->assertEqual(4, count($catmgr->categories())); + + $catmgr->delete('family'); + $this->assertEqual(3, count($catmgr->categories())); + + $catmgr->delete(array('Friends', 'Work', 'Other')); + $this->assertEqual(0, count($catmgr->categories())); + + } + + public function testAddToCategory() { + $objids = array(1, 2, 3, 4, 5, 6, 7, 8, 9); + + $catmgr = new OC_VCategories($this->objectType, $this->user); + + foreach($objids as $id) { + $catmgr->addToCategory($id, 'Family'); + } + + $this->assertEqual(1, count($catmgr->categories())); + $this->assertEqual(9, count($catmgr->idsForCategory('Family'))); + } + + /** + * @depends testAddToCategory + */ + public function testRemoveFromCategory() { + $objids = array(1, 2, 3, 4, 5, 6, 7, 8, 9); + + // Is this "legal"? + $this->testAddToCategory(); + $catmgr = new OC_VCategories($this->objectType, $this->user); + + foreach($objids as $id) { + $this->assertTrue(in_array($id, $catmgr->idsForCategory('Family'))); + $catmgr->removeFromCategory($id, 'Family'); + $this->assertFalse(in_array($id, $catmgr->idsForCategory('Family'))); + } + + $this->assertEqual(1, count($catmgr->categories())); + $this->assertEqual(0, count($catmgr->idsForCategory('Family'))); + } + +} diff --git a/tests/phpunit.xml b/tests/phpunit.xml index 4a2d68a3e479ab2d8327e8e021473a8a99eb083c..23cd123edc67cabcf26882e400aca784144fd37d 100644 --- a/tests/phpunit.xml +++ b/tests/phpunit.xml @@ -4,4 +4,11 @@ lib/ apps.php + + + .. + + ../3rdparty + + diff --git a/tests/preseed-config.php b/tests/preseed-config.php new file mode 100644 index 0000000000000000000000000000000000000000..9791e713dacbf88ebad247807c2245e1b18d97e8 --- /dev/null +++ b/tests/preseed-config.php @@ -0,0 +1,19 @@ + false, + 'apps_paths' => + array ( + 0 => + array ( + 'path' => OC::$SERVERROOT.'/apps', + 'url' => '/apps', + 'writable' => false, + ), + 1 => + array ( + 'path' => OC::$SERVERROOT.'/apps2', + 'url' => '/apps2', + 'writable' => false, + ) + ), +);